(57)【要約】【課題】複雑な自然言語表現を頑健に理解する能力を有し、かつ、システム開発者の手間を軽減する。【解決手段】言語理解装置は、ドメイン内の概念のツリー構造と、概念を特定する概念名及び概念表現とを示すデータと、概念名に対応した意味フレーム及びそのスロットを示すデータと、スロットに対応した概念名を示すデータとを記憶する記憶部を備えており、記憶部を参照して、発話内容に含まれる概念表現を検出し、対応する概念名を読み出す。さらに、記憶部を参照して、読み出された概念名に対応する意味フレームのスロット及び当該スロットに対応した概念名とを読み出し、それぞれの意味フレーム毎に、発話内容に含まれる概念表現の中から、当該意味フレームの各スロットに対応する概念名と同じ概念名に対応し、かつ、未入札の概念表現を特定し、特定した概念表現に当該スロットを入札し、その入札した結果を示すスロット割当表データを生成する。【選択図】図１
2008146150.tif 000002
【特許請求の範囲】
【請求項１】
ドメイン内で用いられる概念のツリー構造と、当該概念を特定する概念表現との対応付けを示す概念体系データと、
概念に対応し、当該概念を他の概念により表現するための１以上の意味フレームと、当該意味フレームに用いられる１以上のスロットとの対応付けを示すフレーム定義データと、
スロットとして用いられる概念を示すスロット定義データと
を記憶する記憶部と、
入力発話データの入力を受け、前記記憶部を参照して、入力された前記入力発話データの示す発話内容に含まれる概念表現を検出し、検出した概念表現に対応した概念の情報を前記記憶部から読み出す語句解釈部と、
前記記憶部を参照して、前記語句解釈部により読み出された情報の示す概念に対応した意味フレームのスロットと、当該スロットに対応した概念との情報を読み出し、読み出したそれぞれの意味フレームについて、前記語句解釈部により検出された概念表現の中から、当該意味フレームの各スロットに対応する概念またはその概念の下位概念に対応し、かつ、他の意味フレームのスロットが入札されていない概念表現を特定し、この特定した概念表現に当該スロットを入札することを繰り返し、入札した結果を示すスロット割当表データを生成する入札部と、
を備えることを特徴とする言語理解装置。
【請求項２】
前記入力発話データの入力を受け、入力された入力発話データにより示される前記発話内容の構文解析を行って発話内容を構成する形態素列間の係り受けの関係を得、この得られた係り受けの関係に基づいて形態素列間のアクセス可能性を示すアクセス表データを生成するアクセス表生成部をさらに有し、
前記入札部は、それぞれの意味フレームについて入札を行うときに、前記語句解釈部により検出された概念表現の中から、当該意味フレームの各スロットに対応する概念またはその概念の下位概念に対応し、かつ、他の意味フレームのスロットが入札されていない概念表現を特定し、前記アクセス表生成部により生成されたアクセス表データにより、前記特定した概念表現に、当該意味フレームに対応する概念表現がアクセス可能であることが示される場合に、この特定した概念表現に当該スロットを入札する、
ことを特徴とする請求項１に記載の言語理解装置。
【請求項３】
前記アクセス表生成部は、構文解釈を行った形態素列１つの中に、前記語句解釈部が検出した解析した概念表現が１つ含まれるように、前記形態素列を分割あるいは結合し、その結果得られた形態素列を用いて前記アクセス表データを生成する、
ことを特徴とする請求項２に記載の言語理解装置。
【請求項４】
フレーム組み合わせ生成部は、前記記憶部を参照して、前記語句解釈部により読み出された概念に対応する意味フレームを特定し、一つの概念に対応して特定した意味フレームが複数あった場合に、取り得る意味フレームの組み合わせを生成し、
前記入札部は、前記フレーム組み合わせ生成部が生成した意味フレームの組み合わせ毎に前記スロット割当表データを生成し、
スコア付け部は、前記フレーム組み合わせ生成部が生成した意味フレームの組み合わせそれぞれに対応する前記スロット割当表データを参照して概念表現へのスロットの入札状態に基づいてスコアを付与し、付与したスコアによって発話内容に用いられているフレーム組み合わせを選択する、
ことを特徴とする請求項１から請求項３のいずれかの項に記載の言語理解装置。
【請求項５】
前記スロット定義データは、スロットを特定する概念表現の情報をさらに含み、
前記語句解釈部は、前記記憶部を参照して、入力された前記入力発話データの示す発話内容に含まれる概念表現を検出し、検出した概念表現に対応した概念またはスロットを読み出し、
前記入札部により１つの概念表現に対して同一フレームの複数のスロットが入札された場合、スロットを特定する他の概念表現が前記発話内容において当該概念表現に付随するかを検出し、検出された場合に、この付随する他の概念表現により特定されるスロットを、当該概念表現へ入札されるスロットとして選択し、選択した結果に基づいて前記スロット割当表データを書き換えるスロット衝突解決部とをさらに備える、
ことを特徴とする請求項１から請求項４のいずれかの項に記載の言語理解装置。
【請求項６】
前記スロット定義データは、スロットを特定する標示の情報をさらに含み、
前記入札部により１つの概念表現に対して同一フレームの複数のスロットが入札された場合、前記記憶部を参照して、前記発話内容において当該概念表現に標示が付随しているかを検出し、検出された場合に、当該標示により特定されるスロットを、当該概念表現へ入札されるスロットとして選択し、選択した結果に基づいて前記スロット割当表データを書き換えるスロット衝突解決部とをさらに備える、
ことを特徴とする請求項１から請求項４のいずれかの項に記載の言語理解装置。
【請求項７】
前記入札部により、同じ概念に対応する複数の概念表現それぞれに対して同一意味フレームの複数のスロットが入札された場合、前記発話内容における前記複数の概念表現の出現順と、前記記憶部内に記憶されているスロット出現順序の情報により示されるスロットの順序とが対応するように、前記複数の概念表現それぞれへ入札されるスロットを選択し、選択した結果に基づいて前記スロット割当表データを書き換えるスロット衝突解決部とをさらに備える、
ことを特徴とする請求項１から請求項４のいずれかの項に記載の言語理解装置。
【請求項８】
前記入札部によりどの概念表現にも入札されなかったスロットである空スロットがあった場合、当該空スロットと対応する概念が一致し、かつ、他のスロットが入札されていない概念表現に、当該空スロットを入札し、入札した結果に基づいて前記スロット割当表データを書き換えることを特徴とする構文誤り解析部とをさらに備える、
ことを特徴とする請求項１から請求項７のいずれかの項に記載の言語理解装置。
【請求項９】
意味フレームに対応し、かつ、前記入札部により当該意味フレームのスロットが入札されなかった概念表現について、前記発話内容において当該概念表現より先に出現し、かつ、当該概念表現と同じ概念に対応する他の概念表現を特定し、この特定した他の概念表現と当該概念表現とが並列構造をなすことを検出し、かつ、この特定した他の概念表現に対応した意味フレームが、当該概念表現に対応した前記意味フレームの入札されなかったスロットと同じスロットを持つことを検出し、かつ、この特定した他の概念表現に対応した意味フレームの持つ当該検出したスロットが、前記入札部によりさらに別の概念表現に入札されていることを検出した場合、当該概念表現に対応する当該意味フレームの入札されなかった当該スロットをこの検出した別の概念表現に入札し、入札した結果に基づいて前記スロット割当表データを書き換える文内省略解決部をさらに備える、
ことを特徴とする請求項１から請求項８のいずれかの項に記載の言語理解装置。
【請求項１０】
前記スロット割当表データを参照して、意味フレームを有する概念表現と、当該意味フレームのスロットが入札されている概念表現とから意味木を生成する意味木生成部とをさらに備える、
ことを特徴とする請求項１から請求項９のいずれかの項に記載の言語理解装置。
【請求項１１】
前記意味木生成部は、意味フレームに対応した概念表現の下位ノードに、当該意味フレームの各スロットの入札先の概念表現を列挙して配置し、さらに、配置した概念表現に意味フレームが対応している場合には、配置した概念表現の下位ノードに、当該配置した概念表現の意味フレームの各スロットの入札先の概念表現を配置することを繰り返して意味木を生成する、
ことを特徴とする請求項１０に記載の言語理解装置。
【請求項１２】
前記意味木生成部は、意味フレームに対応した概念表現の下位ノードに、入札先の概念表現が一つであるスロットの場合はその入札先の概念表現を、入札先が複数のスロットの場合は列挙を示す群ノードを列挙して配置し、前記列挙を示す群ノードの配下に当該群ノードに対応したスロットの入札先の複数の概念表現を列挙して配置し、さらに、配置した概念表現に意味フレームが対応している場合には、当該配置した概念表現の意味フレームについて同様の処理を繰り返して意味木を生成し、生成した結果の意味木内に群ノードがある場合に、生成した意味木をトップのノードのみを群ノードとする意味木に変換する、
ことを特徴とする請求項１１に記載の言語理解装置。
【請求項１３】
前記意味木生成部は、同一の意味フレームの中に、複数のスロットからなる繰り返しのパターンを検出した場合、当該繰り返しパターンをグループ化し、このグループ別に前記意味木を生成する、
ことを特徴とする請求項１１または請求項１２に記載の言語理解装置。
【請求項１４】
前記意味木生成部の作成した意味木から、タスクの実行指示を生成するタスク表現生成部とをさらに備える、
ことを特徴とする請求項１１から請求項１３のいずれかの項に記載の言語理解装置。
【請求項１５】
自然言語の発話内容をコンピュータ処理に用いられる意味表現に変換する言語理解装置に用いられる言語理解方法であって、
前記言語理解装置において、
ドメイン内で用いられる概念のツリー構造と、当該概念を特定する概念表現との対応付けを示す概念体系データと、
概念に対応し、当該概念を他の概念により表現するための１以上の意味フレームと、当該意味フレームに用いられる１以上のスロットとの対応付けを示すフレーム定義データと、
スロットとして用いられる概念を示すスロット定義データと
を記憶する記憶部を備え、
入力発話データの入力を受け、前記記憶部を参照して、入力された前記入力発話データの示す発話内容に含まれる概念表現を検出し、検出した概念表現に対応した概念の情報を前記記憶部から読み出す語句解ステップと、
前記記憶部を参照して、前記語句解釈ステップにより読み出された情報の示す概念に対応した意味フレームのスロットと、当該スロットに対応した概念との情報を読み出し、読み出したそれぞれの意味フレームについて、前記語句解釈部により検出された概念表現の中から、当該意味フレームの各スロットに対応する概念またはその概念の下位概念に対応し、かつ、他の意味フレームのスロットが入札されていない概念表現を特定し、この特定した概念表現に当該スロットを入札することを繰り返し、入札した結果を示すスロット割当表データを生成する入札ステップと、
を備えることを特徴とする言語理解方法。
【請求項１６】
言語理解装置として用いられるコンピュータを、
ドメイン内で用いられる概念のツリー構造と、当該概念を特定する概念表現との対応付けを示す概念体系データと、
概念に対応し、当該概念を他の概念により表現するための１以上の意味フレームと、当該意味フレームに用いられる１以上のスロットとの対応付けを示すフレーム定義データと、
スロットとして用いられる概念を示すスロット定義データと
を記憶する記憶部、
入力発話データの入力を受け、前記記憶部を参照して、入力された前記入力発話データの示す発話内容に含まれる概念表現を検出し、検出した概念表現に対応した概念の情報を前記記憶部から読み出す語句解釈部、
前記記憶部を参照して、前記語句解釈部により読み出された情報の示す概念に対応した意味フレームのスロットと、当該スロットに対応した概念との情報を読み出し、読み出したそれぞれの意味フレームについて、前記語句解釈部により検出された概念表現の中から、当該意味フレームの各スロットに対応する概念またはその概念の下位概念に対応し、かつ、他の意味フレームのスロットが入札されていない概念表現を特定し、この特定した概念表現に当該スロットを入札することを繰り返し、入札した結果を示すスロット割当表データを生成する入札部、
として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、言語理解装置、言語理解方法、及び、コンピュータプログラムに関する。
【背景技術】
【０００２】
近年、自然言語を理解するシステムの構築が試みられている。このようなシステムは、非常に限られた動作をするシステムであれば、音声対応のXML（Voice extensible markup language）であるVoiceXMLなどを用いることにより比較的容易に構築できるが、少し複雑な対話と言語理解を可能にしようとした場合には、様々な問題が立ちふさがる。
従来、この自然言語理解には、構文解析が利用されていた。しかし、構文解析を行う既存のソフトウェアは、対話システムなどで用いるにはまだまだ精度も低く、自分の扱いたいドメインに対して煩雑な調整なしで満足に動作させることは難しいものであった。加えて、構文解析結果から意味表現を生成する意味表現生成器の構築に手間がかかる上、その再利用性は低い。しかし、構文解析を使わないままでは、キーワードの羅列で行える程度の対話から抜け出すことはできなかった。
【０００３】
以下に、自然言語理解と、二つの理解方式について述べる。
図１は、自然言語理解についての非常に単純化した模式図を示す。現在の自然言語処理パラダイムにおける自然言語理解とは、大雑把に言うと、自然言語表現から計算機が理解できるタスク表現への変換機能である。すなわち自然言語理解とは、多種多様な曖昧性を含む自然言語表現を処理してユーザの要求を曖昧性のない意味表現で表象し（図１の過程α）、ユーザの要求を達成する処理を実行するに足るタスク表現を意味表現から生成する（図１の過程β）ことといえる。本明細書では、（α）の過程を意味表現生成とよび、（β）の過程をタスク表現生成とよぶ。
【０００４】
対話システムであれば、実際には言語表現からタスク表現への変換は一度に行われるのではなく、不足する情報を獲得するための補助的なタスク表現、例えば、確認や明確化要求を行うための発話生成が生成／遂行されながら徐々に意味表現が積み上げられ、十分な情報と確信が手に入ったところで主たるタスク表現が生成されることになる。意味表現とは言語処理のための内部表現で、タスク表現とはタスク処理のための内部表現といえる。例えば、ロボット対話であればタスク表現はタスクプランナの入力となる目標状態（ゴール）であり、データベース検索対話であればタスク表現はＳＱＬ文である。
【０００５】
自然言語理解の方式は、意味表現生成方式の違いによって大きく二つに分けることができる。一つは、キーワードやパラメタライズされた表現パターンと入力発話との表層的なマッチングによって意味抽出を行う方式であり、本明細書ではこれをテンプレート方式とよぶ。もう一つは、文法規則や統計データから学習した分類器などを用いて入力発話を構文解析し、得られた構文木から再帰的な手続きによって意味表現を得る方式であり、これを構文解析方式とよぶ。
テンプレート方式は構築・保守がともに容易で、構文解析方式に比べて頑健なシステムを実現しやすいため、音声対話システムでよく用いられる。そのかわり、キーワードの羅列で代替できる単純な表現しか扱えない。一方の構文解析方式は、構文の再帰性、意味の合成性を正面から扱うため、複雑で多様な言語表現を扱うことができる。反面、構築・保守共に容易ではなく、一般に頑健性も低い。また合成性を前提とするため、非合成的な表現の理解を苦手とする。
【０００６】
一方、はじめに制約緩和アプローチの構文解析を行ってその結果からボトムアップな再帰的処理による意味表現の生成を試み、それに失敗すると予め与えられたキーワードパターンという知識を用いてパターンマッチングによる意味主導アプローチでの意味表現生成を行う技術がある（例えば、非特許文献１参照）。制約緩和アプローチとは、適格文（文法的に正しい文）のみを解析する文法にしたがって解析を行い、失敗した場合にはエラー回復のため、制約を緩和する処理を行うものである。
【非特許文献１】山本  幹雄、伊藤  敏彦、肥田野  勝、中川  聖一，「人間の理解手法を用いたロバストな音声対話システム」，情報処理学会論文誌，Ｖｏｌ．３６，Ｎｏ．４，ｐｐ．４７１−４８２，１９９５年４月
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来の自然言語理解に用いられる構文解析方式及びテンプレート方式には、以下の問題点がある。
まず、構文解析方式の問題点について説明する。
図２は、一般的な構文解析方式の模式図を示す。図２は、図１中の（α）の過程に相当する。図２に示したように、構文解析方式を用いる場合、開発者は（１）自然言語表現から構文木を生成する構文解析器と、（２）元の自然言語表現の意味を表す内部表現すなわち意味表現を構文木から生成する意味表現生成器の二つのモジュールを最低限用意しなければならない。同図においては、意味表現として意味フレームを用いているが、述語論理や意味ネットワークなどの他の意味表現形式でも同様である。
【０００８】
構文解析方式に用いられる一つ目のモジュールである構文解析器については、既存の自然言語用構文解析器を用いるという選択と、構文解析器自体も自作するという選択の二つの選択肢がある。
構文解析器を一から自作するコストは大きいため、一般の構文解析器が持ち合わせていない特別な機能が必要である場合などを除けば、自作という選択肢はあまり現実的ではない。また、公開されている構文解析器を用いる場合にも問題がある。
構文解析を行うためには、構文解析を行うプログラムだけではなく、当然ながら対象言語とドメインに応じた文法が必要となる。いくつかの解析器には予め大規模な文法が付属してくるため、それをそのまま使用すればそれなりの解析結果を得ることはできる。しかしながら、これらの付属文法は新聞記事などの書き言葉コーパスを基に作成されており、話し言葉が使用される対話システム、特に音声対話システムでは解析精度が悪くなる。また、意味表現生成器構築の負担を軽減するために、複数の一般名詞の連なりからなるドメイン特有の固有名詞や複数の機能語や内容語からなるフレーズを一つの語として扱いたいという要求がしばしば発生する。固有名詞の追加は比較的簡単であるが、フレーズの扱いは容易ではない。
文法を自作することも可能であるが、規則間の干渉や意図しない挙動を排除しつつ文法規則を記述することは容易な作業ではない。このため近年では、人手での文法記述よりも文法の自動獲得や係り受け尤度の機械学習が主流となってきている。しかしながらこれらのアプローチは大量のコーパスと言語学的知見に裏付けられた正確で揺れの少ないアノテーションを必要とするため、ドメインの限定された対話システムの構築などを考えた場合にはやはり現実的な選択肢ではない。
【０００９】
構文解析方式に用いられる二つ目のモジュールである意味表現生成器は、ドメインと採用する意味表現形式に応じて構築する必要がある。一般に意味表現生成器は再帰的な手続きの集合として構成され、構文解析器の出力した構文木を入力とし、再帰的な処理の結果として意味表現を出力する。
意味表現生成器の構築が難しい最大の理由は、ドメイン概念の構造と構文構造の不一致である。この問題は既存の汎用構文解析器を用いるときに生じやすい。例えば天気予報ドメインにおいて、天気を表す概念weatherが場所と日時によって規定されると仮定する。そうすると「東京の明日の天気」という言語表現は、 weather(Tokyo, tomorrow)というような意味表現で表すことが考えられる。ここでTokyoとtomorrowは、それぞれ「東京」という場所と「明日」という日時を一意に指示するシンボルであるとする。
【００１０】
意味表現においてはTokyoとtomorrowはそれぞれ直接、概念weatherに支配されている。しかしながら、言語構造がその構造と同型であるとは限らない。「東京の明日の天気」の場合、係り受け解析の結果は「東京」が「明日」にかかる場合と「東京」が「天気」にかかる場合があり、どちらが出力されるのかを予め知ることは難しい。
これに対する一つの解決策は、期待する結果を出力するように、人手による文法の修正や、学習によって構文解析器を調整するというアプローチである。しかしながら、先にも述べたように人手での文法規則の調整は難しい。また構文解析器に学習させるためには大量のデータが必要となる。データの作成は収集だけでなくアノテーションなどの付加的作業も要求するので、非常に手間と時間がかかる。もう一つの解決策は、意味表現生成器がどちらの構造からもweather(Tokyo, tomorrow)という意味表現を生成できるようにすることである。一般にこのアプローチを取ると、意味表現生成器の構築のために困難で退屈なプログラミングが必要となる。また、構築された意味表現生成器は、例外的処理を多く含み他のドメインでの再利用性が低いものとなる。
【００１１】
「東京の明日の天気」はさらに「明日の東京の天気」と表現される可能性もある。また、「明日の東京地方の天気」「明日の東京近辺の天気」などのように余分な語句が挿入されても、それらによって意味表現生成が阻害されないようにしなければならない。また、「明日の東京と大阪の天気」という表現では、例え「明日」が「東京」にかかっている場合でも、「明日」は「大阪」に対しても同様に作用しているものとして解釈し、{weather(Tokyo, tomorrow)、weather(Osaka, tomorrow)}あるいはweather({Tokyo, Osaka}, tomorrow)のような意味表現を生成しなければならない。
上記の問題は正しい構文解析結果が得られたとしても対処しなければならないが、頻繁に発生する解析誤りに対しても頑健な生成器を作成しようとすればさらに労力を要する。
【００１２】
上述した非特許文献１の技術では、与えられた文法が被覆する範囲においては構文解析方式の方が複雑な表現に対して精度の高い意味解釈を行うことができると考えられる。しかし、この非特許文献１の技術では、上述する問題を解決することはできない。例えば、非特許文献１の技術によるアプローチでは、システム開発者はキーワードパターンに加えて構文解析用の文法、意味表現生成のための規則をも記述しなければならない。また、キーワードパターンは最後の苦肉の策として使用されるもので、並列構造や再帰構造を扱うことができない。すなわち非特許文献１の技術では、構文解析方式とテンプレート方式を二段階で用いることにより解析精度を保ちつつ、頑健性を増そうとしているものの、理解可能な複雑さの確保と頑健性の同時両立は得られていないという問題がある。言い換えれば、単純な表現は頑健に理解できるが、ある程度複雑な表現は助詞落ちや倒置を別にして頑健には理解できないということである。
【００１３】
本発明は、このような事情を考慮してなされたもので、その目的は、複雑な自然言語表現を頑健に理解する能力を有し、かつ、システム開発者の手間を軽減することができる言語理解装置、言語理解方法、及び、コンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００１４】
この発明は、上記の課題を解決すべくなされたもので、ドメイン内で用いられる概念のツリー構造と、当該概念を特定する概念表現との対応付けを示す概念体系データと、概念に対応し、当該概念を他の概念により表現するための１以上の意味フレームと、当該意味フレームに用いられる１以上のスロットとの対応付けを示すフレーム定義データと、スロットとして用いられる概念を示すスロット定義データとを記憶する記憶部（例えば、実施の形態における記憶部６）と、入力発話データの入力を受け、前記記憶部を参照して、入力された前記入力発話データの示す発話内容に含まれる概念表現を検出し、検出した概念表現に対応した概念の情報を前記記憶部から読み出す語句解釈部（例えば、実施の形態における語句解釈部１０）と、前記記憶部を参照して、前記語句解釈部により読み出された情報の示す概念に対応した意味フレームのスロットと、当該スロットに対応した概念との情報を読み出し、読み出したそれぞれの意味フレームについて、前記語句解釈部により検出された概念表現の中から、当該意味フレームの各スロットに対応する概念またはその概念の下位概念に対応し、かつ、他の意味フレームのスロットが入札されていない概念表現を特定し、この特定した概念表現に当該スロットを入札することを繰り返し、入札した結果を示すスロット割当表データを生成する入札部（例えば、実施の形態における入札部３２）と、を備えることを特徴とする言語理解装置（例えば、実施の形態における言語理解装置１）である。
このような構成では、特定のドメインにおける概念構造や各概念の具体的な表現である概念表現を規定した概念体系データにより、発話内容に含まれる概念表現とその概念を抽出し、さらに、１つの概念を他の概念によって表現する意味フレームを利用して、抽出した概念表現間の関係を特定することができる。これにより、テンプレート方式の意味解釈を行いながらも、表層的な表現のバリエーションを網羅するためのパターンデータを用意することなしに語句間の関係を解析することができる。また、入れ子状になった意味表現（後述する意味木）を生成することができる。
【００１５】
また、本発明は、上述する言語理解装置であって、前記入力発話データの入力を受け、入力された入力発話データにより示される前記発話内容の構文解析を行って発話内容を構成する形態素列間の係り受けの関係を得、この得られた係り受けの関係に基づいて形態素列間のアクセス可能性を示すアクセス表データを生成するアクセス表生成部（例えば、実施の形態におけるアクセス表生成部２０）をさらに有し、前記入札部は、それぞれの意味フレームについて入札を行うときに、前記語句解釈部により検出された概念表現の中から、当該意味フレームの各スロットに対応する概念またはその概念の下位概念に対応し、かつ、他の意味フレームのスロットが入札されていない概念表現を特定し、前記アクセス表生成部により生成されたアクセス表データにより、前記特定した概念表現に、当該意味フレームに対応する概念表現がアクセス可能であることが示される場合に、この特定した概念表現に当該スロットを入札する、ことを特徴とする。
このような構成によれば、構文解析器による構文解析結果を補助的に使用して発話内容に含まれる語句間の関係を解析することができるため、より正確に語句間の関係を解析することができる。なお、「形態素列間のアクセス可能性」とは、依存構造木上のノード間の到達可能性である。
【００１６】
また、本発明は、上述する言語理解装置であって、前記アクセス表生成部は、構文解釈を行った形態素列１つの中に、前記語句解釈部が検出した解析した概念表現が１つ含まれるように、前記形態素列を分割あるいは結合し、その結果得られた形態素列を用いて前記アクセス表データを生成する、ことを特徴とする。
このような構成によれば、ドメインによる語彙と、構文解析の結果の形態素列が一致しない場合であっても、形態素列をドメインによる語彙に摺り合わせてアクセス表を生成することができるため、既存の構文解析器を調整することなくそのまま使用することが可能であり、構文解析器の交換も容易となる。
【００１７】
また、本発明は、上述する言語理解装置であって、フレーム組み合わせ生成部（例えば、実施の形態におけるフレーム組み合わせ生成部３１）は、前記記憶部を参照して、前記語句解釈部により読み出された概念に対応する意味フレームを特定し、一つの概念に対応して特定した意味フレームが複数あった場合に、取り得る意味フレームの組み合わせを生成し、前記入札部は、前記フレーム組み合わせ生成部が生成した意味フレームの組み合わせ毎に前記スロット割当表データを生成し、スコア付け部（例えば、実施の形態におけるスコア付け部３６）は、前記フレーム組み合わせ生成部が生成した意味フレームの組み合わせそれぞれに対応する前記スロット割当表データを参照して概念表現へのスロットの入札状態に基づいてスコアを付与し、付与したスコアによって発話内容に用いられているフレーム組み合わせを選択する、ことを特徴とする。
このような構成によれば、１つの概念を複数の異なる表現（意味フレーム）を用いて表現可能な場合に、スロットの入札状態によって、とりうる表現それぞれに用いられる概念の語句が発話内容に現れているかを判断し、どの表現が使用されているかを正しく選択して構文を解析することが可能となる。
【００１８】
また、本発明は、上述する言語理解装置であって、前記スロット定義データは、スロットを特定する概念表現の情報をさらに含み、前記語句解釈部は、前記記憶部を参照して、入力された前記入力発話データの示す発話内容に含まれる概念表現を検出し、検出した概念表現に対応した概念またはスロットを読み出し、前記入札部により１つの概念表現に対して同一フレームの複数のスロットが入札された場合、スロットを特定する他の概念表現が前記発話内容において当該概念表現に付随するかを検出し、検出された場合に、この付随する他の概念表現により特定されるスロットを、当該概念表現へ入札されるスロットとして選択し、選択した結果に基づいて前記スロット割当表データを書き換えるスロット衝突解決部（例えば、実施の形態におけるスロット衝突解決部３３）とをさらに備える、ことを特徴とする。
このような構成によれば、意味フレームが同一の概念の異なるスロットを用いる場合、１つの概念表現にスロットが複数入札されうるが、発話内容においてその概念表現に付随する他の概念表現から正しいスロットを選択して入札することができる。
【００１９】
また、本発明は、上述する言語理解装置であって、前記スロット定義データは、スロットを特定する標示の情報をさらに含み、前記入札部により１つの概念表現に対して同一フレームの複数のスロットが入札された場合、前記記憶部を参照して、前記発話内容において当該概念表現に標示が付随しているかを検出し、検出された場合に、当該標示により特定されるスロットを、当該概念表現へ入札されるスロットとして選択し、選択した結果に基づいて前記スロット割当表データを書き換えるスロット衝突解決部（例えば、実施の形態におけるスロット衝突解決部３３）とをさらに備える、ことを特徴とする。
このような構成によれば、意味フレームが同一の概念の異なるスロットを用いる場合、１つの概念表現にスロットが複数入札されうるが、発話内容においてその概念表現に付随する標示から正しいスロットを選択して入札することができる。
【００２０】
また、本発明は、上述する言語理解装置であって、請求項１から請求項４のいずれかの項に記載の言語理解装置であって、前記入札部により、同じ概念に対応する複数の概念表現それぞれに対して同一意味フレームの複数のスロットが入札された場合、前記発話内容における前記複数の概念表現の出現順と、前記記憶部内に記憶されているスロット出現順序の情報により示されるスロットの順序とが対応するように、前記複数の概念表現それぞれへ入札されるスロットを選択し、選択した結果に基づいて前記スロット割当表データを書き換えるスロット衝突解決部（例えば、実施の形態におけるスロット衝突解決部３３）とをさらに備える、ことを特徴とする。
このような構成によれば、意味フレームが同一の概念の異なるスロットを用いる場合、複数の概念表現に同一の複数スロットが入札されうるが、発話内容においてその概念表現に付随する他の語句を解析することなく、一般的な発話における規則性に基づいて正しいスロットを選択し、入札することができる。
【００２１】
また、本発明は、上述する言語理解装置であって、前記入札部によりどの概念表現にも入札されなかったスロットである空スロットがあった場合、当該空スロットと対応する概念が一致し、かつ、他のスロットが入札されていない概念表現に、当該空スロットを入札し、入札した結果に基づいて前記スロット割当表データを書き換えることを特徴とする構文誤り解析部（例えば、実施の形態における解析部３４）とをさらに備える、ことを特徴とする。
このような構成によれば、構文解析器による構文解析に誤りがあった場合でも、概念表現に正しくスロットを入札することができる。
【００２２】
また、本発明は、上述する言語理解装置であって、意味フレームに対応し、かつ、前記入札部により当該意味フレームのスロットが入札されなかった概念表現について、前記発話内容において当該概念表現より先に出現し、かつ、当該概念表現と同じ概念に対応する他の概念表現を特定し、この特定した他の概念表現と当該概念表現とが並列構造をなすことを検出し、かつ、この特定した他の概念表現に対応した意味フレームが、当該概念表現に対応した前記意味フレームの入札されなかったスロットと同じスロットを持つことを検出し、かつ、この特定した他の概念表現に対応した意味フレームの持つ当該検出したスロットが、前記入札部によりさらに別の概念表現に入札されていることを検出した場合、当該概念表現に対応する当該意味フレームの入札されなかった当該スロットをこの検出した別の概念表現に入札し、入札した結果に基づいて前記スロット割当表データを書き換える文内省略解決部（例えば、実施の形態における文内省略解決部３５）をさらに備える、ことを特徴とする。
このような構成によれば、並列構造のために、先頭では言及された要素（概念表現）が、二番目以降の要素では省略されて発話された場合であっても、省略された概念表現にスロットを入札することができるため、省略された語句を補って意味解釈を行うことができる。
【００２３】
また、本発明は、上述する言語理解装置であって、前記スロット割当表データを参照して、意味フレームを有する概念表現と、当該意味フレームのスロットが入札されている概念表現とから意味木を生成する意味木生成部（例えば、実施の形態における意味木生成部４０）とをさらに備える、ことを特徴とする。
このような構成によれば、スロット割当表データから、タスク処理の命令に用いられるパラメータを容易に抽出可能な意味木の形で概念表現間の関係を木構造で表すことができる。
【００２４】
また、本発明は、上述する言語理解装置であって、前記意味木生成部は、意味フレームに対応した概念表現の下位ノードに、当該意味フレームの各スロットの入札先の概念表現を列挙して配置し、さらに、配置した概念表現に意味フレームが対応している場合には、配置した概念表現の下位ノードに、当該配置した概念表現の意味フレームの各スロットの入札先の概念表現を配置することを繰り返して意味木を生成する、ことを特徴とする。
このような構成によれば、スロット割当表データによって示される概念表現間の関係を正しく表した意味木を生成することが可能となる。
【００２５】
また、本発明は、上述する言語理解装置であって、前記意味木生成部は、意味フレームに対応した概念表現の下位ノードに、入札先の概念表現が一つであるスロットの場合はその入札先の概念表現を、入札先が複数のスロットの場合は列挙を示す群ノードを列挙して配置し、前記列挙を示す群ノードの配下に当該群ノードに対応したスロットの入札先の複数の概念表現を列挙して配置し、さらに、配置した概念表現に意味フレームが対応している場合には、当該配置した概念表現の意味フレームについて同様の処理を繰り返して意味木を生成し、生成した結果の意味木内に群ノードがある場合に、生成した意味木をトップのノードのみを群ノードとする意味木に変換する、ことを特徴とする。
このような構成によれば、同一のスロットに対して複数の概念表現が列挙される場合であっても、列挙型のパラメータ構造をとらないタスク処理の命令に容易に変換可能な意味木の形で概念表現を表すことができる。
【００２６】
また、本発明は、上述する言語理解装置であって、前記意味木生成部は、同一の意味フレームの中に、複数のスロットからなる繰り返しのパターンを検出した場合、当該繰り返しパターンをグループ化し、このグループ別に前記意味木を生成する、ことを特徴とする。
このような構成によれば、同じ意味フレームのスロットとして判断された概念表現であっても、その概念表現間の関係をグループ化して分離し、異なるグループごとの意味木を生成することができる。
【００２７】
また、本発明は、上述する言語理解装置であって、前記意味木生成部の作成した意味木から、タスクの実行指示を生成するタスク表現生成部（例えば、実施の形態におけるタスク表現生成部５０）とをさらに備える、ことを特徴とする。
このような構成によれば、タスクに引き渡すパラメータとすべき概念表現を生成された意味木から特定して、タスクの実行を指示することが可能となる。
【００２８】
また、本発明は、自然言語の発話内容をコンピュータ処理に用いられる意味表現に変換する言語理解装置に用いられる言語理解方法であって、前記言語理解装置において、ドメイン内で用いられる概念のツリー構造と、当該概念を特定する概念表現との対応付けを示す概念体系データと、概念に対応し、当該概念を他の概念により表現するための１以上の意味フレームと、当該意味フレームに用いられる１以上のスロットとの対応付けを示すフレーム定義データと、スロットとして用いられる概念を示すスロット定義データとを記憶する記憶部を備え、入力発話データの入力を受け、前記記憶部を参照して、入力された前記入力発話データの示す発話内容に含まれる概念表現を検出し、検出した概念表現に対応した概念の情報を前記記憶部から読み出す語句解ステップと、前記記憶部を参照して、前記語句解釈ステップにより読み出された情報の示す概念に対応した意味フレームのスロットと、当該スロットに対応した概念との情報を読み出し、読み出したそれぞれの意味フレームについて、前記語句解釈部により検出された概念表現の中から、当該意味フレームの各スロットに対応する概念またはその概念の下位概念に対応し、かつ、他の意味フレームのスロットが入札されていない概念表現を特定し、この特定した概念表現に当該スロットを入札することを繰り返し、入札した結果を示すスロット割当表データを生成する入札ステップと、を有することを特徴とする言語理解方法である。
【００２９】
また、本発明は、言語理解装置として用いられるコンピュータを、ドメイン内で用いられる概念のツリー構造と、当該概念を特定する概念表現との対応付けを示す概念体系データと、概念に対応し、当該概念を他の概念により表現するための１以上の意味フレームと、当該意味フレームに用いられる１以上のスロットとの対応付けを示すフレーム定義データと、スロットとして用いられる概念を示すスロット定義データとを記憶する記憶部、入力発話データの入力を受け、前記記憶部を参照して、入力された前記入力発話データの示す発話内容に含まれる概念表現を検出し、検出した概念表現に対応した概念の情報を前記記憶部から読み出す語句解釈部、前記記憶部を参照して、前記語句解釈部により読み出された情報の示す概念に対応した意味フレームのスロットと、当該スロットに対応した概念との情報を読み出し、読み出したそれぞれの意味フレームについて、前記語句解釈部により検出された概念表現の中から、当該意味フレームの各スロットに対応する概念またはその概念の下位概念に対応し、かつ、他の意味フレームのスロットが入札されていない概念表現を特定し、この特定した概念表現に当該スロットを入札することを繰り返し、入札した結果を示すスロット割当表データを生成する入札部、として機能させることを特徴とするコンピュータプログラムである。
【発明の効果】
【００３０】
本発明によれば、ドメインの知識を与えるだけで、構文解析器の調整や意味表現生成器の構築を行わずに、構文解析に基づく自然言語の理解機構を素早く簡単に構築することができる。また、構文解析を補助的にのみ用い、構文解析を用いない言語理解手法の利点も兼ね備える。
このように、本発明による言語理解装置は、構文解析方式とテンプレート方式とを融合し、理解可能な表現の複雑さの確保と頑健性の両立をはかり、さらには、システム開発者が記述しなければならない知識の量も大幅に削減することが可能である。
【発明を実施するための最良の形態】
【００３１】
以下、図面を参照して本発明の一実施の形態を説明する。
【００３２】
［１．概要］
本実施形態による言語理解装置では、対話システムを含むドメイン依存言語理解装置のための、構文解析に基づく意味表現生成（図１の過程α）を実現する。
既存技術による諸問題、特に意味表現生成器に関する問題は、構文解析結果を意味解釈の中心に置きすぎていたことに起因すると考えられるため、本実施の形態における言語理解装置は、構文解析結果よりもドメイン知識を意味解釈の中心的な要素とし、構文解析結果を補助的に利用する。ここでいうドメイン知識とは、オントロジー（概念体系と、各概念に付与され、概念を規定する意味フレーム、そして各概念を表す言語表現を含む）と、固有表現（ドメインに現れる事物の名前）である。
【００３３】
このように、構文解析を用いることにより、キーワードや表層パターンを用いる手法よりも、複雑な表現を理解することを可能にする。また、構文解析には既存の汎用解析器を利用するが、ドメインに応じた解析器の調整は必要ない。そして、ドメイン知識を重用し、構文解析結果をあくまで補助的に利用することにより、頑健な言語理解装置とその迅速な構築を実現する。
【００３４】
［２．ドメイン知識と意味表現］
最初に、本実施の形態による言語理解装置におけるドメイン知識と意味表現について説明する。
本実施の形態による言語理解装置は、ドメインの知識さえ与えれば構文解析器の調整や意味表現生成器の作成を行わずに構文解析方式を構築できるフレームワークを実現する。つまり、本実施の形態の言語理解装置による意味表現生成手法は、このフレームワークの中で動作するものであり、意味表現生成に使用できる知識は与えられるドメイン知識に依存する。そこで、以下にドメイン知識を定義する。また、このフレームワークでは意味表現をタスク表現に変換する処理（図１中の過程β）の記述も容易となる。
【００３５】
［２．１  オントロジー］
本実施の形態の言語理解装置に用いられるオントロジーでは、ドメインを規定する概念の集合を木構造により定義し、これら各概念に対応する言語表現と意味フレームを記述する。各概念は、概念を唯一に特定する固有名（概念名）を持つ。そして、その概念が実際に対話中で言語的に言及される概念ならば、その概念を指示するための表現、すなわち、概念表現を持つ。図３に、ホテル予約システム用の概念体系の例を示す。同図において、各ノードは概念名を示し、括弧の中は概念表現を示す。概念表現中の記号＃は任意の数字列を表す。同図において、最上位ノード「Ｔ」の配下に、概念「reserve」、「stay」、「type」、「quantity」、「smoke」、「date」、「ordinal」がある。概念「reserve」には、言語表現「予約」が対応付けられている。また、概念「stay」には、さらに配下に、概念「stay-days」、「stay-nights」があり、概念「stay-days」には、言語表現「#日間」及び「＃日」が、概念「stay-nights」には、言語表現「#泊」が対応付けられている。
【００３６】
さらに、各概念は概念を規定する意味フレームを一つ以上持つ。意味フレームとは、概念を変数（スロット）とその値の集合で表現する意味表現手段である。図４は、概念「reserve」（図３参照）の意味フレーム定義を示す。意味フレームを複数定義することにより、同じ内容を異なるパラメータ指定で受け付けることができる。例えば、曜日で日付を指定する表現のバリエーション（「来月の第三日曜」、「来週の日曜」など）も複数の意味フレーム（以下、単に「フレーム」とも記載）を定義することで解決できる。
同図において、概念「reserve」には、２つの意味フレーム「reserveF0」、「reserveF1」があり、「reserveF0」は、スロット名「start」、「stay」、「type」、「quant」、「smoke」のパラメータをとる。これにより、「２３日から３泊でシングルを一つ禁煙で予約」という表現を受け付けることができる。また、「reserveF1」は、スロット名「start」、「end」、「type」、「quant」、「smoke」のパラメータをとる。これにより、「２３日から２６日までシングルを一つ禁煙で予約」という表現を受け付けることができる。
【００３７】
図５に示すスロットの定義では、スロット名、対象概念、スロット指定、標示、明確化要求表現の五つを与える。対象概念は、スロットの値となりうる概念である。ここで、概念体系のある概念を指定すると、その概念とその下位概念とがスロットの値となれる。スロット指定は、ある概念表現が値となるスロットを指定する場合に用いられる言語表現であり、例えば「チェックインは２５日」というような場合の「チェックイン」がこれにあたる。標示（マーカー）も、ある言語表現がどのスロットの値であるのかを特徴づける。日本語の場合、標示はマークする言語表現に後続し、多くは機能語である。標示はスロット指定ほど明示的ではないが、ある言語表現がスロットの区別に有用である場合にドメイン知識の一部として与える。それ以外、例えば、助詞の「は」などは与える必要はない。明確化要求表現は、スロットの値が不定であった場合に、言語理解装置に備えられた対話システムがユーザに問い合わせるために用いるものであり、意味表現生成には影響しない。明確化要求表現が与えられない場合は、対話システムは問い合わせを行わずにデフォルトの値を用いる。デフォルト値は、任意の設定方法により言語理解装置内に定義することが可能である。
同図においては、概念「reserve」のスロット定義を示しており、スロット名「start」は、対象概念が「date」、スロット指定は「チェックイン」、標示は「から」、明確化要求表現は「いつからのご宿泊ですか？」であることが示されている。また、スロット名「stay」は、対象概念が「stay」、スロット指定は「宿泊日数」「滞在日数」、明確化要求表現は「何泊ご利用ですか？」であることが示されている。
【００３８】
本実施の形態の言語理解装置が実現する言語理解フレームワークを利用してアプリケーションを実行させるため、意味フレームを定義する際にその意味フレームの表現する内容をアプリケーションシステムのタスク処理モジュールが理解できる具体的な情報に変換するための具体化関数を定義し、汎用プログラミング言語でその実装を与える。そして意味フレームから具体化関数へのマッピングを指定する。この具体化関数は、任意のものを使用することが可能であるが、具体化関数こそが言葉の意味を機械が理解可能な形に変換する要であり、図１中の過程（β）（タスク表現生成）の始めに必要である。例えば、滞在日数が「３泊」と指定されたときは概念「stay-nights」の持つ唯一の意味フレームに対応する具体化関数により整数値の３に変換され、「４日間」と指定されたときは概念「stay-days」の持つ唯一の意味フレームに対応する具体化関数により整数値の３に変換される。
なお、本実施の形態における意味フレームと、意味フレームからタスク表現へと変換するための具体化関数へのマッピングとを組み合わせた知識は、従来技術の非特許文献１のキーワードパターンに相当する。また、本実施の形態における具体化関数自体に相当する知識は、従来技術の非特許文献１では、システムのなかの問題解決器に埋め込んでいる。
【００３９】
［２．２  固有表現］
次に、固有表現について説明する。
ドメインには上記のオントロジーで定義した概念（クラス）のインスタンスが存在し、いくつかのインスタンスは名前を持つ。概念ではなく個々のインスタンスを指示する表現（名前）を、固有表現とよぶ。
固有表現は、インスタンスを定義する際に個々のインスタンスと結びつけながら定義する。ただし固有表現は必ずしも唯一のインスタンスを指示しない。これは、同姓同名の人物が世の中に大勢いることを例に考えるとよい。個々のインスタンスを唯一に識別可能にするものは個々のインスタンスを定義する時に設定する固有の文字列であり、これをインスタンスシンボルとよぶ。インスタンスシンボルは意味表現そしてタスク表現を構成する要素となり、最終的にタスク処理モジュールが利用する。
【００４０】
［２．３  意味木］
続いて、意味木について説明する。
意味表現生成器が出力する意味表現形式として意味木を定義する。意味木は図２の右側に図示されているような意味フレームの入れ子構造を、図６のように木構造で表現したものである。
意味木には、内容ノード、群ノードの二種類のノードがある。どちらのノードもその子ノードとして二種類のノードのいずれをも取ることができる。
内容ノードは、入力表現の中でそのノードに対応する部分表現への参照とその部分表現が表す概念を保持する。また、そのノードがドメイン中のインスタンスを指し示す場合はインスタンスシンボルを、そうでない場合はその概念を規定するフレームを保持する。ある内容ノードの子ノードの最大数はノードが表すフレームの持つスロットの数である。子ノードはスロットの値を表現する。
他方、群ノードは並列構造を表現し、列挙型と代替型の二つの型に分かれる。群ノードが持つ子ノードの数に制限は無い。群ノードは、並列構造の各要素の表層上での出現順序を子ノードの順序として保存する。
【００４１】
同図に示す意味木は、以下の（例文１）から生成されたものである。
【００４２】
「明日の東京と明後日の京都と大阪の天気」（例文１）
【００４３】
同図における「vg_e」は列挙型の群ノードを表す。各内容ノードはその内容ノードに対応する言語表現（概念表現あるいは固有表現）で表している。同図において、最上位ノードには、二つの言語表現「天気」が列挙されており、一方の言語表現「天気」は、概念「date」の言語表現「明日」と、概念「place」の言語表現「東京」を受けている。また、もう一方の言語表現「天気」は、概念「date」の言語表現「明後日」と、概念「place」の言語表現「東京」及び「大阪」が列挙された群ノード「vg_e」を受けている。
【００４４】
［４．言語理解装置の構成］
次に本実施の形態による言語理解装置の構成について以下に示す。
図７は、言語理解装置１のハードウェア構成を示す図であり、本発明と関係するもののみ抽出して示している。同図において、言語理解装置１は、ＣＰＵ（central processing unit）８１、入力部８２、表示部８３、記憶部８４、集音部８５、及び、音声出力部８６から構成される。
ＣＰＵ８１は、演算や制御を行う中央演算装置である。入力部８２は、マウスや、キーボードなどである。表示部８３は、ＬＣＤ（Liquid Crystal Display）などのディスプレイである。記憶部８４は、システムプログラムなどが記憶されるＲＯＭ（Read Only Memory）や、ＣＰＵ８１が各種プログラムを実行する際のワークエリアなどを有するＲＡＭ（Random Access Memory）、各アプリケーション処理を実行するためのプログラムなどが記憶させるハードディスク等を有する。集音部８５は、音を集音するマイクなどである。音声出力部８６は、音を出力するスピーカなどである。
【００４５】
図８は、言語理解装置１の構成を示す機能ブロック図であり、本発明と関係する機能ブロックのみ抽出して示してある。言語理解装置１は、音声入力部２、テキスト変換部３、意味表現生成部４、タスク表現生成部５、及び、記憶部６を備える。テキスト変換部３、意味表現生成部４、及び、タスク表現生成部５は、ＣＰＵ８１が記憶部８４内に記憶しているプログラムを読み出して実行することにより実現される。
【００４６】
記憶部６は、オントロジーデータとして、概念体系データ、フレーム定義データ、及び、スロット定義データを記憶する。
概念体系データは、図３に示すような概念体系を表すデータであり、ドメインを規定する概念の集合からなる木構造、これら各概念に対応する言語表現の情報を示す。各概念は、当該概念を唯一に特定する固有名としての概念名により示され、概念が実際に対話中で言語的に言及される概念ならば、概念体系データには、その概念を指示するための表現である概念表現が含まれる。
フレーム定義データは、図４に示すようなフレーム定義を表すデータであり、概念名と、当該概念名に対応した１以上の意味フレームとからなり、意味フレームには、１以上のパラメータが用いられる。このパラメータは、１以上のスロット名からなる。
スロット定義データは、図５に示すようなスロット定義を表すデータであり、スロット名、対象概念、スロット指定、標示、明確化要求表現を示す。対象概念はスロットの値となりうる概念が概念名で示される。スロット指定は、ある概念表現が値となるスロットを指定する場合に用いられる言語表現を示す。標示は、ある言語表現がどのスロットの値であるかを特徴づける。明確化要求表現は、スロットの値が不定であった場合に、ユーザに問い合わせるために用いる。
【００４７】
音声入力部２は、集音部８５に対応し、発話内容の入力を受ける。テキスト変換部３は、例えば、汎用的な音声認識ソフトウェアなどにより実現され、音声入力部２により入力された発話内容をテキストに変換する。意味表現生成部４は、テキスト変換部３によりテキストに変換された入力発話内容を示す入力発話データの入力を受け、自然言語表現から意味表現への変換を行う（図１の過程αに相当）。なお、入力部８２により直接入力された発話内容を示す入力発話内容データの入力を受けても良い。タスク表現生成部５は、意味表現を、アプリケーションシステムのタスク処理モジュールが理解できる具体的な情報に変換するための具体化関数を用い、意味表現生成部４により生成された意味表現から、タスク処理アプリケーションへ処理の実行を指示するためのタスク表現を生成し、タスク処理アプリケーションの実行部（図示せず）へ出力する（図１の過程β）。なお、具体化関数は、汎用プログラミング言語により、実装することができる。例えば、タスク表現生成部５は、ロボット対話であればタスクプランナの入力となる目標状態（ゴール）を、データベース検索対話であればＳＱＬ文をタスク表現として生成する。ここでは、タスク表現生成部５が、意味表現からタスク表現へ変換する処理には、既存の技術を用いるものとする。
【００４８】
意味表現生成部４は、語句解釈部１０、アクセス表生成部２０、フレーム解釈部３０、意味木生成部４０を有する。
語句解釈部１０は、テキスト変換部３から入力された入力発話データの示す自然言語表現の入力発話内容から、概念や事物への言及を抽出する。
アクセス表生成部２０は、構文解析部２１及びアクセス表生成出力部２２とからなる。構文解析部２１は、既存の構文解析器を用いることができ、テキスト変換部３から入力された入力発話データの示す自然言語表現の入力発話内容から、構文解析を行う。アクセス表生成出力部２２は、構文解析部２１による解析結果と、語句解釈部１０における語句解釈の結果とから、アクセス表を生成する。このアクセス表とは、構文解析した結果の得られた語句間の距離を行列の形で表現した構文解析結果である。
【００４９】
フレーム解釈部３０は、アクセス表生成部２０の生成したアクセス表のデータを参考にして、フレームとスロット値の組み合せを決定し、その決定した組み合せによるスロット割当表データを意味木生成部４０へ出力する。フレーム解釈部３０は、フレーム組み合せ生成部３１、入札部３２、スロット衝突解決部３３、構文解析誤り回復部３４、文内省略解決部３５、及び、スコア付け部３６を備える。
【００５０】
フレーム組み合せ生成部３１は、語句解釈部１０から入力された語句解釈結果データ内に含まれる各概念表現に対応したフレームについての全ての組み合せを生成する。入札部３２は、アクセス表生成出力部２２が出力したアクセス表のデータを参照し、フレーム組み合せ生成部３１が生成した全てのフレームの組み合せについて、フレームへのスロット値の割り当てを行い、その割り当て結果を、概念表現間の関係を行列で表した表に書き込んだ（入札した）スロット割当表を生成する。スロット衝突解決部３３は、入札部３２が生成したスロット割当表において、複数のスロットの値として入札されている概念表現について、正しいスロットを選択して割り当てる。構文解析誤り回復部３４は、構文解析結果の誤りを回復し、割り当てられるべきスロットが割り当てられていない概念表現に、正しくスロットを割り当てる。文内省略解決部３５は、スロット割当表において、並列構造により省略された語句であるためにスロットが割り当てられていなかった概念表現に対して、スロットを割り当てる。スコア付け部３６は、フレーム組み合せ生成部３１が生成したすべてのフレーム組み合せのスロット割当表について、適切なスロットが用いられているかの評価をスコア付けによって行う。スコア付け部３６は、最も適切であるフレーム組み合せのスロット割当表のデータを意味木生成部４０へ出力する。
【００５１】
意味木生成部４０は、フレーム解釈部３０から入力されたスロット割当表データにより示されるフレーム解釈の結果から意味木を生成する。意味木生成部４０は、スロット値グルーピング部４１、変換部４２、及び、因子分解部４３を備える。
スロット値グルーピング部４１は、複数のスロット値からなる繰り返しのパターンを検出し、グループ化して分離する。変換部４２は、スロット割当表を意味木に変換する。因子分解部４３は、変換部４２が生成した意味木において、群ノードを子ノードに持つ内容ノードを展開して具体化関数にマッピングできる状態にし、タスク表現生成部へ出力する。
【００５２】
［５．言語理解装置の処理動作］
次に、言語理解装置１の動作について説明する。
図９は、言語理解装置１の処理フローを示す図である。
同図において、まず、言語理解装置１の音声入力部２に音声が入力される（ステップＳ１００）。テキスト変換部３は、音声入力部２に入力された音声の認識を行い、入力発話内容をテキストにより示した入力発話データを生成して、意味表現生成部４へ出力する（ステップＳ２００）。なお、キーボードなどにより直接入力された発話内容を示す入力発話内容データを意味表現生成部４へ出力しても良い。
【００５３】
言語理解装置１において、入力発話データの示す入力発話内容から意味木データを生成する意味表現生成処理（ステップＳ３００）は、次の４過程からなる。
（ステップＳ３１０）語句解釈：
入力表現から概念や事物への言及を抽出する。
（ステップＳ３２０）アクセス表生成：
構文解析を行い、解析結果を語句解釈の結果にすりあわせる。
（ステップＳ３３０）フレーム解釈：
アクセス表に基づき、フレームとスロット値の組み合せを決める。
（ステップＳ３４０）意味木生成：
フレーム解釈の結果から意味木を生成する。
【００５４】
このステップＳ３００における意味表現生成処理は、図１の過程αの処理に相当する。ただし、図２に示すような純粋なカスケード処理ではない。上記のステップＳ３１０〜Ｓ３４０の過程は、表面上はカスケード処理であるが、本質的にカスケードとなっているのはステップＳ３１０、Ｓ３３０及びＳ３４０の処理である。ステップＳ３２０のアクセス表生成処理は、出力の際にステップＳ３１０の処理結果を必要とするものの、構文解析自体はステップＳ３１０と並列の関係にある。
以下に、ステップＳ３１０〜Ｓ３４０の詳細な処理について説明する。
【００５５】
［５．１  語句解釈］
ステップＳ３１０において、言語理解装置１の語句解釈部１０は、入力発話データの示す入力発話内容に対して言語依存の正規化処理を行う。この処理は、日本語の場合、漢数字からアラビア数字への変換、日付表記の書式変換処理である。
次に、語句解釈部１０は、書式変換処理を行った入力発話内容に対して、正規表現によるパターンマッチングを行う。パターンマッチングは、ドメイン知識として記憶部６内に記憶されている概念体系データ及びスロット定義データにより示される概念表現、スロット指定、固有表現を対象とする。このとき、ある部分文字列に対して複数のパターンがマッチする可能性があるので、語句解釈は重なりなしで最大被覆をもたらすマッチング結果の集合を出力する。なお、テンプレート方式の一種であるキーワードマッチング方式は、この処理だけで言語理解を行おうとするものである。
【００５６】
図１０に、語句解釈部１０が、「8月23日チェックイン25日チェックアウトでシングルとダブルを一部屋ずつ予約」（例文２）という、書式変換後の入力発話内容の表現を語句解釈した結果を示す。
語句解釈部１０は、記憶部６に登録されている概念体系データ（図３）及びスロット定義データ（図５）を検索し、概念体系データに、例文２の最初の語句「8月」にマッチする、「#月」という概念表現があることを検出する。語句解釈部１０は、入力発話内容において最初にパターンにマッチした語句であることを示す「（１）」と、入力発話内容においてマッチした概念表現「8月」と、「概念」にマッチしたこと、及び、そのマッチした概念の概念名「month」とを対応付けたデータを生成する。
語句解釈部１０は、さらに検索を行い、概念体系データに、例文２における次の語句「23日」にマッチする「#日」という概念表現があることを検出する。語句解釈部１０は、入力発話内容において２番目にパターンにマッチした語句であることを示す「（２）」と、入力発話内容においてマッチした概念表現「23日」と、「概念」にマッチしたこと、及び、そのマッチした概念の概念名「day」とを対応付けたデータを生成する。
【００５７】
語句解釈部１０は、さらに検索を行い、スロット定義データに、例文２におけるその次の語句「チェックイン」にマッチするスロット指定があることを検出する。語句解釈部１０は、入力発話内容において３番目にパターンにマッチした語句であることを示す「（３）」と、入力発話内容においてマッチした概念表現「チェックイン」と、「スロット指定」にマッチしたこと、及び、そのマッチしたスロットのスロット名「start」とを対応付けたデータを生成する。
語句解釈部１０は、上記を繰り返し、入力発話内容に対してパターンマッチング処理により語句解釈を行い、図１０に示すような語句解釈結果を示すデータを生成して、アクセス表生成部２０及びフレーム解釈部３０へ出力する。
【００５８】
［５．２  アクセス表生成］
図９のステップＳ３２０において、言語理解装置１のアクセス表生成部２０は、以下のステップＳ３２１〜Ｓ３２２の処理を行う。
【００５９】
［５．２．１  構文解析］
アクセス表生成部２０の構文解析部２１は、入力された入力発話データの示す入力発話内容の構文解析を行う（ステップＳ３２１）。この構文解析部２１には、例えば既存の構文解析ソフトウェアなど、任意の構文解析器を用いることができる。図１１に、例文２の入力発話内容を構文解析した結果の構文解析木を示す。同図によれば、「８月２３日」は「チェックイン」に、「チェックイン」は「２５日」に、「シングルと」は「ダブルを」にかかっている。また、「２５日」、「チェックアウトで」、「ダブルを」、及び、「一部屋ずつ」は「予約」にかかっている。
【００６０】
［５．２．２  アクセス表生成］
次に、アクセス表生成部２０のアクセス表生成出力部２２は、構文解析部２１による構文解析に基づき、アクセス表を生成する（ステップＳ３２２）。アクセス表は、構文解析結果（複数候補があるときは１位のもの）を行列の形で表現したもので、構文解析木のノードである二つの語句の間にパスが存在するかどうかを表す。ここでは構文解析結果として依存構造を用いているが、句構造から依存構造への変換は容易なので、句構造文法を使用する構文解析器を用いてもかまわない。
【００６１】
ここで、構文解析部２１に汎用の構文解析器を用いているため、ドメインの語彙と構文解析結果（の前提とする形態素列）が一致しない場合がある。そこで、アクセス表生成出力部２２は、構文解析結果を語句解釈部１０における語句解釈の結果に摺り合わせてアクセス表を作成する。
例えば、構文解析部２１における１つのノード（構造解析単位）に、語句解釈部１０による語句解析結果により検出された概念表現（語句）が１つ含まれている場合は、これらは対応するものとみなす。一方、構文解析部２１における１つのノード（文節）に、語句解釈部１０による語句解析結果により検出された概念表現が複数含まれている場合は、語句解析結果により検出された概念表現に分割する。例えば、「8月23日」は構文解析部２１においては一つの文節にまとめられているが、図３に示す概念体系データによる定義では、「8月」と「23日」は別々の概念であり、語句解釈部１０から出力された語句解釈結果データにも異なる概念表現として解析されている。そこで、アクセス表生成出力部２２は、「8月23日」を「8月」と「23日」との２つに分解する。このように、複数の連続する概念が一つの依存構造解析単位としてまとめられてしまった場合は、解析単位の依存先をそのうちの最右概念（入力発話内容において先に出現する概念表現）の依存先とし、その他の概念は直右の概念に距離１で到達可能と見なす。逆に、一つの概念が複数の依存構造解析単位に分割されてしまった場合は、最も右にある解析単位（入力発話内容において後に出現する概念表現）の依存先をその概念の依存先とする。それ以外の解析単位が別の概念に依存していてもそれらは無視する。複数の依存構造解析単位に分割された概念は、そのうちの任意の解析単位に依存する概念全ての依存先となる。
【００６２】
図１２は、図１１の構文解析木と、図１０に示す語句解釈結果から生成したアクセス表を示す。同図に示すアクセス表の行と列を構成する概念表現は、語句解釈部１０から入力された語句解釈結果データにより示されるものが用いられている。構文解析結果とアクセス表を見比べてみると、表中のｘ行とｙ列の交差点に記された数字は、ｘ行に示された概念表現がｙ列に示された概念表現に到達するまでの距離（木構造上のパス長）を表している。なお、空欄箇所は０の意味であり、到達不可能であることを示している。例えば「ダブル」は「シングル」に距離１で到達できる。また、「予約」は、「２５日」、「チェックアウト」、「ダブル」、及び、「一部屋」には距離１で、「２５日」の１つ上位の「チェックイン」、及び、「ダブル」の１つ上位の「シングル」には距離２で、「チェックイン」の１つ上位の「２３日」には距離３で、「２３日」の１つ上位の「８月」には距離４で到達する。
アクセス表生成出力部２２は、生成したアクセス表のデータをフレーム解釈部３０へ出力する。
【００６３】
［５．３  フレーム解釈］
図９のステップＳ３３０において、言語理解装置１のフレーム解釈部３０は、アクセス表データを参考にして、語句解釈で抽出された各概念に該当するフレームとスロット割当を決定する。具体的には、以下のステップＳ３３１〜Ｓ３３８の処理を行う。
【００６４】
［５．３．１  フレーム組み合せ生成］
フレーム解釈部３０のフレーム組み合せ生成部３１は、語句解釈部１０から語句解釈結果データの入力を受けると、記憶部６を参照して、語句解釈結果データ内に含まれる全ての概念それぞれについて対応するフレーム定義データがあるかを検索し、あればそれを読み出す。そして、読み出したフレーム定義データを参照して、取り得る全てのフレームから組み合せを生成する（ステップＳ３３１）。
【００６５】
図４では概念「reserve」についてのフレームのみを示しているが、各概念には複数のフレームを定義することができる。入力発話中のある概念表現に対応するフレームが実際はどのフレームであるかは、フレームに対応するスロットがどれくらい埋まっているかを評価しなければ決定できないので、事前に知ることはできない。そこで、各概念表現がそれぞれ異なるフレームをとったときの全ての組み合せを生成する。例えば、語句解釈結果データ内に、概念名「x」及び「y」が含まれており、フレーム定義データとして概念名「x」に対応したフレームが「xF0」、「xF1」であり、概念「y」に対応したフレームが「yF0」,「yF1」であること示すフレーム定義データが記憶部６に登録されている場合、（xF0, yF0）、(xF0, yF1)、(xF1, yF0)、(xF1, yF1）のフレーム組み合せを生成する。
【００６６】
例文２の場合、複数のフレームを持つのは「予約」だけであるので、生成される組み合せは、「予約」の概念名「reserve」により特定されるフレーム「reserveF0」、「reserveF1」のいずれかをとる場合の２通りにすぎない。フレーム解釈部３０は、これ以降のフレーム解釈の処理はフレーム組み合せ毎に行う（ステップＳ３３２）。なお、一つのフレーム組み合せから生成される意味表現は一つだけである。従って、例文２の場合、フレーム解釈部３０は最終的に二つの解釈結果を生成する。
【００６７】
［５．３．２  入札］
図９のステップＳ３３３において、フレーム解釈部３０の入札部３２は、各スロットの値をフレーム毎に要求する入札処理を行う。入力発話中に現れた概念は、通常、同じ発話内に現れた他の概念が持つフレームの、ある１スロットの値となる。そこで、言語理解装置１の入札部３２は、入札処理を行うことにより、ある概念が、他のどの概念のスロット値になりうるかを抽出する。入札部３２は、アクセス表と同形のスロット割当表を用いて、各フレーム毎にスロット値への入札を行う。ただし、各フレームが入札できる箇所は、アクセス表の対応箇所に１以上の数値が記されている場所だけである。
【００６８】
図１３は、図１２に示すアクセス表に基づいて入札を行った結果のスロット割当表を示す。ただし、スロット指定（例文２中では「チェックイン」、「チェックアウト」）は、入札には関係しないので省略してある。表の各行がフレームとそのスロットの値を表現している。
記憶部６に、概念「day」に対応したフレーム「dayF0」は、概念「month」を値に取るスロット「month」をパラメータとする旨のフレーム定義データが記憶されているとする。同図の３行目は、概念「day」の概念表現「23日」へ入札した内容を示す。入札部３２は、３行目の概念表現「23日」の概念「day」に対応してフレーム「dayF0」が記憶部６に記憶され、フレーム「dayF0」は概念「month」のスロット「month」を持つことを検出すると、当該スロット「month」を、概念「month」の概念表現にマッチし、距離が０ではない「8月」に入札する。
また、８行目は概念「reserve」の第２フレーム「reserveF1」の入札内容を表す。記憶部６から読み出したフレーム定義データによれば（図４）、「reserveF1」は、スロット値として概念「date」を取るスロット「start」とスロット「end」を共に持つ。従って、入札部３２は、概念「date」の概念表現にマッチし、距離が０ではない「23日」と「25日」両者にスロット「start」を入札している。
【００６９】
同一の概念表現が複数のフレームの入札対象である場合、入札部３２は、依存構造上で最も近いもの（アクセス表において最小の値を持つもの）だけを入札する。よって、図１３に示すように、スロット割当表において、概念「day」の概念表現「25日」のフレームが「8月」に入札していないのはこのためである。実際には「25日」のフレームは「8月」をスロットの値として取るべきであるが、これは後述する文内省略解決処理により補償される。入札の段階ではこのような制限を設けておくことで誤った解釈（妥当でない入札）を防ぐ。
【００７０】
［５．３．３  スロット衝突解決］
次に、フレーム解釈部３０のスロット衝突解決部３３は、入札部３２の生成したスロット割当表において、複数のスロットの値として入札が行われている箇所（スロット衝突）を解消するためのスロット衝突解決処理を実行する（ステップＳ３３４）。
つまり、ここでは、１つの項が２つ以上の意味役割をもつことはないという、意味役割（フレームスロット）の唯一性を仮定しており、一つの概念表現（項）は、別の概念表現が表すフレームのただ一つスロットの値にしかなれない。従って、スロット衝突解決部３３は、スロット割当表の各行において複数のスロットの値として入札が行われている箇所（スロット衝突）を解消する。図１３の場合、最終行の第３列と第４列がこれにあたる。具体的には、最終行「予約」の第３列「23日」には、スロット「start」及び「end」が入札されており、第４列「25日」にも、スロット「start」及び「end」が入札されている。
【００７１】
スロット衝突解決部３３は、スロット衝突解決を以下の３つの基準に従って行う。
（１）スロット指定：
入力言語表現中で、ある概念表現が特定のスロットの値であることを明示することがある。このような明示（スロット指定）が存在した場合は、その明示されたスロットを採用する。図１０に示すように、例文２では、「チェックイン」が「23日」を値とするスロット「start」を、「チェックアウト」が「25日」を値とするスロット「end」をそれぞれ指定している。
あるスロット指定がどの概念表現を修飾するものなのかを特定することはそれほど容易ではないが、構文構造を無視した表層上の簡単なヒューリスティクス（経験上の規則）に基づき、本実施の形態では、スロット衝突解決部３３は、スロット指定の直左のものを指定しているものと判断している。
【００７２】
（２）標示：
スロット衝突解決部３３は、問題となっている概念表現をマークしている表現（通常は格助詞などの機能語）があるかどうか入力発話に対して正規表現マッチングで調べる。もし標示が見つかれば、標示に対応するスロットを採用する。例えば、概念表現「23日」にスロット「start」、「end」が入札されており、概念表現「23日」に「から」という機能語が後ろに付随している場合を想定する。このとき、図５に示すスロット定義データにおいて、標示「から」はスロット「start」に対応付けられているため、標示「から」の直前の概念表現「23日」のスロットは「start」であると判断される。
【００７３】
（３）スロット定義順序：
スロット指定もなく標示も見つからない場合、フレーム定義におけるスロット記述順にスロット値を分配する。日本語は一般に語順が自由であるといわれるが、ある程度一般的な傾向が認められることも知られている、この語順を、スロットを定義する際の順序としてコーディングしておく。例えば、ホテルの予約を行う場合、先に宿泊開始の日付を指定し、その後に宿泊の終了の日付を指定する傾向が認められる。従って、スロット名「start」がスロット名「end」より先に現れることが想定される。そこで、フレーム定義データでは、スロット名「start」を、スロット名「end」より先に出現するよう定義しておき、スロット「start」、「end」の両者が入札された概念表現が２つあった場合には、入力発話内容においてより先に出現する概念表現にスロット「start」を、後に出現する概念表現にスロット「end」を割り当てる。
【００７４】
［５．３．４  構文解析誤り回復］
図９のステップＳ３３５において、フレーム解釈部３０の構文解析誤り回復部３４は、構文解析誤りを回復し、その回復した結果のスロット割当表を生成する。ステップＳ３２１において構文解析部２１が行った構文解析結果は必ずしも正確ではない。特に対象ドメインに特化されていない汎用解析器を用いた場合、文法的には誤りでないが意味的には誤った結果が出力されることが多くなってしまう。そのような誤りのうちのいくらかをここで回復する。ここで回復できる誤りは、依存構造木の中で、ある語の依存先が本来の依存先よりもルートに近い語になってしまった場合である。このような状況になると、本来の依存先はその語にアクセスできなくなってしまう。
例えば、以下の例文３を考える。
【００７５】
「昨年の６月から８月までの間の東京の最高気温を教えて」（例文３）
【００７６】
例文３の表現を構文解析すると、「昨年の６月から」の部分が「間」でも「東京」でも「最高気温」でもなく、「教えて」に依存しているとする結果を得ることがある。この場合、概念表現「最高気温」のフレームは、スロット『起点』の概念表現「6月」を取りたいのであるが、このままでは「6月」にアクセスできないためスロット『起点』が空いたままになる。すると、「昨年の6月から」の部分は無視されてしまう。
そこで、この段階で未だ空値のスロットと一切の入札を受けていない概念表現（あるいは固有表現）が存在し、その概念表現（あるいは固有表現）が空値のスロットの値になりうるならば、その表現への入札を許す。つまり、フレーム定義データとして、概念表現「最高気温」のフレームが、対象概念が「日付」であるスロット『起点』をパラメータとして有することが記憶部６に記憶されており、スロット衝突解決部３３から入力されたスロット割当表に、概念表現「最高気温」のスロット『起点』が入札されておらず、かつ、対象概念「日付」の概念表現「6月」にまだ入札が行われていないと判断した場合、構文解析誤り回復部３４は、この概念表現「6月」に概念表現「最高気温」のスロット『起点』を入札したスロット割当表を生成する。
【００７７】
また、一つの概念表現に対して複数のスロットがこのような入札を要求することがある。この場合も、そもそも構文構造を使用できないので（間違っているため）、解決は容易なことではない。そこで、構文解析誤り回復部３４は、記憶部６内のフレーム定義データ内の標示を参照し、未入札のスロットの対象概念であるかを判断して入札先を決定する。このとき、対象概念と一致する未入札の概念表現が複数ある場合は、言語表現上で最も左に現れているフレームの一番初めに定義されているスロットを優先するヒューリスティクスで処理する。
【００７８】
［５．３．５  文内省略解決］
図９のステップＳ３３６において、フレーム解釈部３０の文内省略解決部３５は、構文解析誤り回復部３４が生成したスロット割当表に対して、並列構造のためにスロット割当表に入札されていなかったスロットの入札を行う文内省略解決処理を行う。
並列構造では頻繁に省略が起きる。並列構造の先頭の要素では言及された内容が、二番目以降の要素では省かれる現象である。以前の発話で指定されたためにおこる談話的な省略や、常識やドメイン知識に基づく省略と区別して、これを文内省略とよぶことにする。例えば例文３では、「昨年の6月から」と「8月までの」は並列構造をなすが、「昨年の」という指定が「8月までの」では省略されている。このような文内省略をここで解決する。文内省略解決部３５は、以下の二つの場合に、ある複数の表現が並列であるとみなす。
【００７９】
（１）ある概念表現のフレームの同一スロットの値である。
（２）それぞれが、ある概念表現のフレームの「起点・終点」の関係にあるスロットの値である。
【００８０】
（１）の場合の例が、例文２の「シングル」と「ダブル」である（図１３参照)。記憶部６内に記憶されているフレーム定義データによれば、概念「reserve」の第２フレーム「reserveF1」のパラメータとして、スロット「type」を一つのみとる。しかし、図１３（概念「reserve」が第２フレーム「reserveF1」のときのスロット割当表である）には、スロット「type」の入札先は、概念表現「シングル」と「ダブル」である。そのため、予約フレーム文内省略解決部３５は、「シングル」と「ダブル」が並列であると判断する。
【００８１】
（２）の場合の例が、例文２の「23日」と「25日」、例文３の「6月」と「8月」である。（１）の場合はいくつでも並列になれるが、（２）の場合は二つの概念表現に限られる。どのスロットが起点と終点の関係になりうるのかはドメイン知識として与えるのが妥当であるが、現在は「から」という標示を持つスロットと、そのスロットと同じ概念を値として取るスロットを並列と見なしている。
【００８２】
文内省略解決部３５は、ある概念表現ｅがそれより左の別の概念表現ｄと並列であると認められ、概念表現ｅに対応するフレームのスロットで値が空のものは、概念表現ｄに対応するフレームの同じスロットが入札している表現があれば、概念表現ｅにもそれに入札する。例えば、(i)概念表現ｅがそれより左の別の概念表現ｄと並列である、(ii)概念表現ｅに対応するフレームｆ１のスロットｓ１、ｓ２、ｓ３、ｓ４のうち、スロットｓ３のみスロット値を持つ（ある概念表現に対して入札されている）、(iii)概念表現ｄに対応するフレームｆ０のスロットｓ１、ｓ２、ｓ３、ｓ５ともスロット値を持つ、の(i)〜(iii)を満たす場合を考える。このとき、フレームｆ１の入札されていないスロットｓ１、ｓ２、ｓ４のうち、フレームｆ０は同じスロットｓ１，ｓ２を持っており、かつ、このフレームｆ０のスロットｓ１、ｓ２はスロット値を持つため、フレームｆ１のスロットｓ１は、フレームｆ０のスロットｓ１と同じ概念表現に、フレームｆ１のスロットｓ２は、フレームｆ０のスロットｓ２と同じ概念表現に入札する。
【００８３】
例文２の場合、文内省略解決部３５は、概念表現「25日」と同じ概念「day」であり、かつ、概念表現「25日」より前に出現している概念表現「23日」を検出する。さらに、概念表現「25日」はスロット指定「end」に付随し、概念表現「23日」はスロット指定「start」に付随する。これにより、文内省略解決部３５は、概念表現「25日」と「23日」は並列であると判断する。このとき、概念表現「25日」のスロット「month」は未入札であるが、概念表現「23日」の同じスロット「month」は概念表現「8月」に入札されていることを検出する。そこで、文内省略解決部３５は、概念表現「23日」と同じように概念表現「25日」のスロット「month」を「8月」に入札する。
図１４に、図１３に示すスロット割当表に、ステップＳ３３５のスロット衝突解決と、ステップＳ３３６の文内省略解決を行った後のスロット割当表を示す。
【００８４】
一方、例えば、文内省略解決部３５は、例文３中の概念表現「8月」と同じ概念であり、かつ、概念表現「8月」より前に出現している概念表現「6月」を検出し、さらに、予め記憶部６に、起点を示す標示として記憶されている「から」がこの概念表現「6月」の直後に付随していることを検出した場合に、概念表現「8月」と「6月」は並列であると判断する。このとき、概念表現「8月」のスロット「year」は未入札であるが、概念表現「6月」の同じスロット「year」は概念表現「昨年」に入札されていることを検出する。そこで、文内省略解決部３５は、概念表現「6月」と同じように、「8月」のスロット「year」を「昨年」に入札する。
【００８５】
［５．３．５  スコア付け］
図９のステップＳ３３７において、フレーム解釈部３０のスコア付け部３６は、文内省略解決部３５の生成したスロット割当表、すなわち、フレーム解釈処理が終了したスロット割当表に対してスロットの埋まり具合と文脈との適合度で、各フレーム組み合せにスコアを付ける。スコアは以下の規則に従って与える。
【００８６】
（１）スロットに関して、
（a）値の埋まっているスロットのうち、記憶部６に記憶されているフレーム定義データにおいて当該スロットに対応した標示が存在しており、かつ、入札された対象概念にその標示が付随しているものがあれば、１スロットにつき１ポイント付加し、
（b）値の理まっていないスロットの数をｎとして、−２ｎポイント付加する。
【００８７】
（２）文脈との適合度に関して、
（a）直前の発話に含まれているフレームと同じフレームが含まれていれば、１フレームにつき１ポイント付加する。
【００８８】
スコア付け部３６は、フレーム組み合せと、生成されたスロット割当表と、スコアのデータを関連付けて記憶部６に記憶する。そして、全てのフレーム組み合せについてステップＳ３３３〜ステップＳ３３７までの処理を実行したかを判断し（ステップＳ３３８）、まだ実行していないフレーム組み合せがあった場合には、実行していないフレーム組み合せを選択し、その選択したフレーム組み合せについて再びステップＳ３３３からの処理を実行する。全てのフレーム組み合せについてステップＳ３３３〜ステップＳ３３７までの処理が終了した場合、スコア付け部３６は、最もスコアのよいときのスロット割当表のデータを意味木生成部４０に出力する。
【００８９】
［５．４  意味木生成］
続いて、ステップＳ３４０において、意味木生成部４０は、フレーム解釈の結果から意味木を生成する。具体的には、この意味木生成処理では、以下のステップＳ３４１〜Ｓ３４３の処理を行う。
【００９０】
［５．４．１  スロット・グルーピング］
図９のステップＳ３４１において、意味木生成部４０のスロット値グルーピング部４１は、複数のスロットの値からなる繰り返しのパターンをグループ化して分離する。
（例文１）を考える。「明日」、「東京」、「明後日」、「大阪」、「京都」の五つの概念表現は全て概念表現「天気」が表す概念「weather」のフレームのスロット値を表現している。しかし、この中で「明日」は「東京」だけに関係し、同様に「明後日」は「大阪」と「京都」だけに関係する。
この表現に対して「明日」の「大阪」の天気を答えることは求められていない。単純に概念「weather」のフレームのスロット「date」が、「明日」と「明後日」の二値を取ると考え、別のスロット「place」の値との関連を無視した意味表現にしてしまうとこのような間違いを犯してしまう。そこで上記のような複数のスロットからなる繰り返しパターンを検出し、グループ化しておく。
具体的には、スロット値グルーピング部４１は、スロット割当表から、各フレームについて、当該フレーム内で同一のスロットが複数の対象概念に入札されており、そのスロットの出現パターンが繰り返されているものがあるかを検出する。検出された場合、スロット値グルーピング部４１は、その繰り返えされるスロットの出現パターン毎に対象概念をグループ化する。
【００９１】
［５．４．２  変換］
図９のステップＳ３４２において、意味木生成部４０の変換部４２は、スロット割当表を意味木に変換する変換処理を行う。基本的には各概念表現／固有表現に対して一つの内容ノードを作るが、スロット割当が複数のスロット値グループに分離された概念表現に対しては、そのグループの数だけの内容ノードを作り、群ノードにまとめる。図１５に例文２に対するこの段階での意味木を示す。なお、図６で示した例文１の意味木もこの段階のものである。
【００９２】
具体的には、変換部４２は、図１４に示すスロット割当表を参照し、最も後ろに出現する概念表現「予約」を意味木のルートとする。そして、その配下に、概念表現「予約」のフレーム（reserveF1）のスロット「start」、「end」、「type」、「quant」に対応したノードを作成するが、１つのスロットに１つの概念表現だけが対応する場合は、その概念表現を示す内容ノードを作成し、１つのスロットに複数の概念表現がある場合には、列挙型の群ノード「vg_e」を作成し、その配下に列挙される概念表現を示す内容ノードを作成する。従って、「予約」の配下には、スロット「start」、「end」、「quant」それぞれに対応して、概念表現「23日」、「25日」、「一部屋」を内容ノードとして記述する。そして、スロット「type」については、概念表現「シングル」及び「ダブル」が対応するため、群ノード「vg_e」が記述され、その配下に概念表現「シングル」及び「ダブル」の内容ノードを記述する。
さらに、内容ノードとして記述した概念表現にスロットが入札されていれば、その概念表現の配下にノードを作成する。図１４では、概念表現「23日」及び「25日」について、スロット「month」が概念表現「8月」に入札されているため、意味木の概念表現「23日」及び「25日」それぞれの下位の内容ノードとして、スロット「month」の概念表現「8月」を記述する。
【００９３】
［５．４．３  因子分解］
図９のステップＳ３４３において、意味木生成部４０の因子分解部４３は、変換部４２が作成した意味木から、具体化関数が使用できる形状の意味木を作成する因子分解処理を行う。
【００９４】
具体化関数は、通常、並列構造を考慮したパラメータをとらない。そのため、並列構造になっている概念表現に対応したパラメータだけが入れ替わり、その他のパラメータは共通となるような、具体化関数のパラメータパターンが生成可能な意味木へと変換する必要がある。つまり、図１５に示す意味木のように、群ノードを子に持つままでは内容ノードを具体化関数に対応づけることができないので、因子分解を行って、群ノードを子ノードに持つ内容ノードを展開して具体化関数にマップできる状態にする。因子分解された意味木はルートにただ一つの群ノードを持ち、それ以外のノードは全て内容ノードである状態になる。
【００９５】
特に指定のない場合、スロットの値は全て掛け合わせることによって組み合わせる。例えば「明日と明後日の東京と大阪の天気」という表現は、「明日の東京の天気」、「明日の大阪の天気」、「明後日の東京の天気」、「明後日の大阪の天気」の４つの表現に対応する意味木に因子分解される。図６の意味木を因子分解した意味木を図１６に、図１５の意味木を因子分解した意味木を図１７に示す。
【００９６】
例えば、因子分解部４３は、以下のように動作する。因子分解部４３は、現在の意味木から１つの群ノードを検出する。そして、検出した群ノード配下の内容ノードそれぞれについて、当該群ノードをその内容ノード及びその内容ノードの配下の木構造に入れ換え、かつ、その他のノードはそのままとする意味木を生成し、最上位ノードを群ノードとした下位ノードに、生成したこれらの意味木を列挙して配置する。そして、意味木内に他に群ノードがなくなるまで、このような処理を繰り返す。
【００９７】
なお、スロット値の組み合せは必ずしも掛け合わせるのが適切とは限らない。例えば「右手と左手を右膝と左膝に置いて」といわれた場合、「右手を右膝に置き、左手を左膝に置く」という分配的な解釈が妥当で、「右手を左膝に置く」ことと「左手を右膝に置く」ことは含意されないと考えられる。どのような場合に組み合せ解釈よりも分配解釈が適切なのかは事前には分からないので、これも予めドメイン知識として指定し、記憶部６内に保持しておくものとする。
また、上記に対し、「明日の東京と明後日の大阪の天気」の場合は因子分解ではなく、ステップＳ３４１におけるスロット値グルーピング処理によって「明日の東京の天気」と「明後日の大阪の天気」に分離されている。
【００９８】
［５．４  タスク表現生成］
図９のステップＳ４００において、タスク表現生成部５は、意味木生成部４０の因子分解部４３から出力された意味木から、具体化関数を用いてタスク表現を生成する。このとき、具体化関数に必須の引数（パラメータ）に対応した空きのスロット値があれば、記憶部６から当該スロットの明確化表現を読み出し、その読み出した明確化表現をユーザに対して出力して、空きのスロットに対する概念表現を入力させる。これは、ステップＳ４００に意味木が出力される前に行うことでもよい。あるいは、予め記憶部６に記憶されているデフォルト値を読み出して用いてもよい。
【００９９】
ホテル予約用対話システムとして、言語理解装置１が用いられる場合、生成されたタスク表現は、ホテル予約用タスク処理モジュールに引き渡される。そのタスクの実行により、予約処理が実行され、例えば、ホテル予約に関するデータ処理を行い、その処理結果を出力したり、次にユーザから収集すべき情報を得るための質問を出力したりする。
あるいは、ロボット行動制御として言語理解装置１が用いられる場合などは、３次元仮想空間内のキャラクター（アニメーションロボット）に対して物理行動を指示するタスク処理モジュールに引き渡される。これにより、音声で物体の移動などの指示をロボットに与えることが可能となる。
【０１００】
［６．対話実験］
以上説明した言語理解装置１を用いて、ホテル予約を行う対話システムを構築し、評価のための実験を行った結果を以下に示す。
［６．１  対話システム］
言語理解装置１には、スロットフィリング型タスクを扱うことができるドメイン非依存の対話管理モジュールを備える。構築したホテル予約対話システムのドメイン依存知識の記述量は、オントロジーを定義した９５行のＸＭＬファイルと、具体化関数及びタスク依存の対話処理（金額の確認など）としてJava（登録商標）言語で記述した１５０行のプログラムにすぎない。言語理解装置１は、図３に示した概念体系データを用いている。本実施の形態の言語理解装置１により実現される言語理解フレームワークを用いることにより、このような少ない量の記述だけで、従来のテンプレート方式の対話システムよりも高度な言語理解を行うシステムを素早く構築できる。
【０１０１】
なお、実験のために設定したホテル予約対話システムでは固有名を持つインスタンスは存在しないので、固有表現は定義していない。また実験ドメインでは照応表現は発生しないものと前提し、照応解決は扱っていない。
また、対話管理モジュールの詳細な説明は省略するが、意味木レベルでの単一化を基本とした談話理解を行う。ホテル予約対話システムがユーザに対して投げかける明確化要求は、スロット定義に記述された表現そのままで、対話状態に応じて変更するような特別な工夫はしていない。
システムが明確化を要求するのは一度に１スロットだけだが、図１８に示すように、ユーザは要求以上のスロット値をシステムに先んじて提供することもできる。また、図１９に示すように、一部の情報を参照することで別々の内容ノードが表すフレームのスロット値を指定することもできる。例のような対話を理解するシステムを通常の構文解析方式で構築しようとするとかなり手間がかかる。まず「シングルは喫煙」のようなうなぎ文をどのように意味表現するべきかがまずは困難であり、またその意味表現を生成できる意味表現生成器を構築する作業を必要とする。これら表現の処理は例外的な扱いとなりがちなので、プログラムの設計と保守も煩雑になる。
実装した対話管理モジュールは図１８ 、図１９のＵ３のような発話を理解する際に、単純に現在懸案となっているフレームの言語表現を入力発話に付け足すことで理解する。図１９の場合、「シングルは喫煙でダブルは禁煙予約」という表現を合成し、これについてステップＳ３００に示す意味表現生成処理を実行する。「シングルは喫煙でダブルは禁煙予約」という表現は非文法的な表現であるが、本実施の形態の言語理解装置がもつテンプレート方式的な側面のおかげで問題なく解釈できる。あとは生成された意味木と以前の対話内容を保持している意味木の単一化を行うだけで、適切な理解を得られる。
【０１０２】
［６．２  対話実験課題］
ホテルの部屋を予約する課題を五つ作成し、被験者９名に取り組ませた。課題毎に宿泊期間などの条件を指定し、それらの条件を満たす部屋を予約するように被験者に指示した。五つの課題は図２０に記す。なお、対話はWebブラウザ経由のキーボード対話である。      
【０１０３】
図２０に示す対話課題として、全課題にほぼ共通の課題指示と、各課題毎の条件指定を与えた。共通の課題指示は以下の通りである。
【０１０４】
「あなたはこれから○○○のために本田国際ホテルを予約しようとしています。下記の条件を満たす部屋を、自動予約システムと対話して予約してください。時間制限はありません。対話を開始する前に紙とペンを使って予約内容を整理してもかまいません。」
【０１０５】
「○○○」の部分だけを課題毎に適宜変更した。課題１では「個人旅行」、課題２では「友人との旅行」、課題３では「家族旅行」、課題４・５では「出張」とした。各課題毎の条件指定の詳細は図２０に示す。また、指定された条件以外は被験者の自由とした。被験者実験で得た対話の例を図２１及び２２に示す。
【０１０６】
［６．３  対話実験結果］
図２３は、課題毎及び全体の課題成功数と割合を示す。収集した対話の総数は４５対話であるが、このうちシステムの実装不具合によって対話が強制的に断ち切られてしまった５対話（課題２で１対話、課題４で１対話、課題５で３対話）は除いた。同図に示すように、成功は２４対話、成功率は６３．４％であった。実装の不具合による失敗も含めた場合の成功率は、５７．７％であった。
【０１０７】
実験で収集した全発話（３７２発話）から「はい」や「いいえ」、「一泊」、「シングルで」などの単文節のみの発話を除くと２１６発話が残る。ここからさらにドメイン対象外の質問・要求を行っている発話（「どの部屋が一番安いですか？」「高い！安くして！」など）、そして単文節ではないものの含まれる概念表現が一つだけの発話を除いた１５１発話に対して意味表現生成処理の性能を調べた。
【０１０８】
まず、入力発話中の各概念表現を係り受け構造に対応づけた上で２軸に沿って分類した。すなわち、（１）各概念表現を依存構造木に対応づけたときにその係り先が言語的に妥当かどうか、そして（２）係り先と自身の関係が意味フレームとそのスロット値の関係になっているかどうか、である。例えば、例文２の場合、「25日」、「ダブル」、「一部屋」はそれぞれ係り先も妥当であるし、係り先（「予約」）と自身が意味フレームとそのスロット値の関係になっている。
一方「23日」と「シングル」は、係り先は妥当であるが意味フレームとスロット値の関係にはなっていない。分類結果を図２４に示す。ＯＫとＮＧが、それぞれ係り先が妥当であることと妥当でないこと、ＹＥＳとＮＯが、フレーム・スロットの関係にあることとないことを表す。同図から、係り受け関係は妥当でも直接的には意味フレームとスロット値の関係になっていないものが多数あることが分かる。
【０１０９】
次に、それぞれの概念表現がフレームの値として適切に解釈されたかどうかを調べた。意味木として生成される段階での適切さを評価し、その後の単一化による談話理解までは考慮していない。結果を図２５に示す。ＯＫの列は正しいフレームの値となった概念表現の数で、ＮＧの列は正しいフレームの値となれなかった概念表現の数である。構文解析と意味構造が一致していなくても意味解釈を適切に行えることが確認された。
【０１１０】
最後に並列構造と文内省略について調べると、並列構造は、ある概念表現のフレームの同一スロットの値である（ステップＳ３３６に記載の（１））に該当するものが５６箇所、それぞれが、ある概念表現フレームの「起点・終点」の関係にあるスロットの値である（ステップＳ３３６に記載の（２））に該当するものが２１箇所、全体で７７箇所あった。この、並列構造の８８．３％が適切に処理できた。文内省略は１５箇所で、このうち失敗したのは２箇所であった。
【０１１１】
［７．効果］
上述した本実施の形態の言語理解装置によれば、以下の（１）〜（６）の効果がある。
【０１１２】
（１）既存の構文解析器を無調整で利用できる。
すなわち、文法の差し替えや調整を行わずに既存の構文解析器を利用するため、構文解析器の交換が容易で、最新の構文解析器を素早く導入することができる。また、新たな語や表現に対応しようとするときにシステム内で変更しなければならない箇所を減らすことができるので開発と保守が容易になる。もし、一つの変更のために複数箇所を書き換える必要があると単純な作業量の増加分以上の効率低下を招きバグを増やすことになる。しかし、本実施の形態においては、大規模文法を備えた既存の解析器を利用することにより、言語のドメイン非依存な側面を解析器に任せてしまえるため、文法を自分で用意するより遥かに開発効率が良くなる。
【０１１３】
（２）ドメイン知識を記述するだけで意味表現生成機構を実現できる。
すなわち、既存の構文解析器を利用する上、煩わしい意味表現生成器の構築も不要であるため、言語理解装置の開発が容易になる。言語処理に関わる大部分をブラックボックス化できるので、言語処理の知識がない開発者でも構文解析方式の言語理解装置を容易に開発できるようになる。また、言語理解アプリケーション開発用のＩＤＥ（統合開発環境）の提供も可能になる。
【０１１４】
（３）並列構造と文内省略の自動処理が可能。
本実施の形態の言語理解装置では、並列構造の処理を容易にする。最終的に出力される意味表現は、意味表現からタスク表現に変換する処理をアプリケーション開発者が記述するときに、並列構造とそれに伴う文内省略を意識する必要がない。
【０１１５】
（４）テンプレート方式の利点を備える。
本実施の形態の言語理解装置では、構文解析を利用しながらもテンプレート的な理解も可能にしている。スロット割当表において各行毎に行う処理は、個々の意味フレームをテンプレートとして用いたパターンマッチング処理に他ならない。ただそのときに、構文構造からくる制約を控えめに導入している。またあくまで意味のテンプレートであって表層表現のテンプレートではないので、表層のバリエーションを網羅するためにパターンを大量に用意する必要がない。本実施の形態の言語理解装置では、「明日シングル３室ダブル２室禁煙３泊」のようなキーワードの羅列でも正しく理解する。
【０１１６】
（５）非合成的な表現を理解可能。
ホテルを予約しているところ、ある期日からシングルルームとダブルルームを予約したい旨を伝えた所で、チェックアウト日を尋ねられたとする。このとき我々は「シングルは、25日でダブルは26日」のような答えを返すことができる。いわゆる「うなぎ文」である。シングルルームという存在が25日という日時と等価であるわけでもないし、シングルルームという概念に25日という値をとる属性が存在するわけでもない。あくまでシングルという言葉で間接的に参照された「予約」という概念の１インスタンスの属性値が25日なのである。このような表現を構文解析方式でまじめに扱おうとすると非常に厄介であるが、我々が提案する手法では容易に扱うことができる。表層パターンを用いる方式であれば個々のパターンに対応する処理自体を記述することは比較的容易かもしれないが、様々なバリエーションのパターンを大量に用意する必要がある。
【０１１７】
（６）ドメイン概念体系の明確化による恩恵を享受できる。
ドメインを規定する概念の体系すなわち、オントロジーを明確化することで、言語理解装置の言語処理以外の部分の開発効率も改善できる。言語処理はあくまでアプリケーションシステムの備えるヒューマンインターフェースにすぎず、システムの中心となるのはタスク処理モジュールである。タスク処理モジュールは、入力された自然言語表現からタスク表現を生成する言語処理モジュールだけでなく、多種多様なモジュールと情報のやりとりを行う必要がある。例えば、ロボット制御タスクを行うシステムであれば、タスク処理モジュールは、ロボットが認識した物体の色や形・種類、ロボットの現在地を含む状態などを管理する様々なモジュールと、シンボルを用いてやり取りする必要がある。オントロジーを整備することで、これらのモジュールをつなぐインターフェースやモジュール自体の開発を見通しよく行うことができる。明示的なオントロジーを整備しないと、これらの情報がシステムの中に分散して（さらには暗黙的に）存在することになり開発効率と保守性を下げる。
【０１１８】
このように、本実施の形態の言語理解装置は、構文解析を用いるので、キーワードマッチングや表層パターンを用いる手法よりも複雑な表現を理解することができる。また、構文解析には既存の汎用解析器を利用するが、ドメインに応じた解析器の調整は必要ない。
本実施の形態による言語理解装置では、ドメインの知識を与えるだけで意味表現生成器の作成を行わずに並列構造と文内省略を適切に処理する構文解析を実現することができ、対話システムも素早く構築することができる。
【０１１９】
［８．その他］
なお、上述の言語理解装置１は、内部にコンピュータシステムを有している。そして、言語理解装置１のテキスト変換部３、意味表現生成部４、及び、タスク表現生成部５の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、ＣＰＵ及び各種メモリやＯＳ、周辺機器等のハードウェアを含むものである。
【０１２０】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【図面の簡単な説明】
【０１２１】
【図１】単純化した自然言語理解の模式図である。
【図２】一般的な構文解析方式の模式図である。
【図３】本発明の一実施の形態による概念体系の例を示す図である。
【図４】同実施の形態によるフレーム定義の例を示す図である。
【図５】同実施の形態によるスロット定義の例を示す図である。
【図６】同実施の形態による意味フレームの木構造表現の例を示す図である。
【図７】同実施の形態による言語理解装置のハードウェア構成を示す図である。
【図８】同実施の形態による言語理解装置の機能ブロック図である。
【図９】同実施の形態による言語理解装置の処理フローを示す図である。
【図１０】同実施の形態による言語理解装置の語句解釈結果の例を示す図である。
【図１１】同実施の形態による言語理解装置が生成した構文解析木を示す図である。
【図１２】同実施の形態による言語理解装置が生成したアクセス表を示す図である。
【図１３】同実施の形態による言語理解装置がアクセス表から生成したスロット割当表である。
【図１４】同実施の形態による言語理解装置がスロット衝突解決及び文内省略解決を行った後のスロット割当表である。
【図１５】同実施の形態による言語理解装置がスロット割当表から生成した意味木の例である。
【図１６】同実施の形態による言語理解装置が因子分解した意味木の例である。
【図１７】同実施の形態による言語理解装置が因子分解した意味木の例である。
【図１８】同実施の形態による言語理解装置を用いた対話システムにおける対話の例を示す図である。
【図１９】同実施の形態による言語理解装置を用いた対話システムにおける対話の例を示す図である。
【図２０】同実施の形態による言語理解装置を用いた対話システムの対話課題を示す図である。
【図２１】同実施の形態による言語理解装置を用いた対話システムの対話実験において観察された対話の例を示す図である。
【図２２】同実施の形態による言語理解装置を用いた対話システムの対話実験において観察された対話の例を示す図である。
【図２３】同実施の形態による言語理解装置を用いた対話システムの対話実験における課題毎及び全体の課題成功数と割合を示す。
【図２４】同実施の形態による言語理解装置を用いた対話システムの対話実験における概念表現毎の係り受けの妥当性とフレーム・スロット値関係による分類の結果を示す図である。
【図２５】同実施の形態による言語理解装置を用いた対話システムの対話実験における概念表現の解釈の成否の結果を示す図である。
【符号の説明】
【０１２２】
１…言語理解装置
２…音声入力部
３…テキスト変換部
４…意味表現生成部
５…タスク表現生成部
１０…語句解釈部
２０…アクセス表生成部
２１…構文解析部
２２…アクセス表生成出力部
３０…フレーム解釈部
３１…フレーム組み合せ生成部
３２…入札部
３３…スロット衝突解決部
３４…構文解析誤り回復部
３５…文内省略解決部
３６…スコア付け部
４０…意味木生成部
４１…スロット値グルーピング部
４２…変換部
４３…因子分解部
【図１】
2008146150.tif 000003
【図２】
2008146150.tif 000004
【図３】
2008146150.tif 000005
【図４】
2008146150.tif 000006
【図５】
2008146150.tif 000007
【図６】
2008146150.tif 000008
【図７】
2008146150.tif 000009
【図８】
2008146150.tif 000010
【図９】
2008146150.tif 000011
【図１０】
2008146150.tif 000012
【図１１】
2008146150.tif 000013
【図１２】
2008146150.tif 000014
【図１３】
2008146150.tif 000015
【図１４】
2008146150.tif 000016
【図１５】
2008146150.tif 000017
【図１６】
2008146150.tif 000018
【図１７】
2008146150.tif 000019
【図１８】
2008146150.tif 000020
【図１９】
2008146150.tif 000021
【図２０】
2008146150.tif 000022
【図２１】
2008146150.tif 000023
【図２２】
2008146150.tif 000024
【図２３】
2008146150.tif 000025
【図２４】
2008146150.tif 000026
【図２５】
2008146150.tif 000027