(57)【要約】【課題】自然言語推論を行う際に、含意関係認識を精度良く行うことができるようにする。【解決手段】テキスト文の構文解析を行う。そして、構文解析の結果に基づいて木構造のデータを得る。その木構造のデータを、予め決められた手順で代数形式のデータに変換し、その代数形式のデータを使って推論を行い、含意関係の認識を行う。【選択図】図１
2014229078.tif 000002
【特許請求の範囲】
【請求項１】
複数の単語よりなるテキスト文の構文解析を行う構文解析部と、
前記構文解析部での構文解析の結果に基づいて、前記テキスト文内の単語を辺で接続した木構造のデータとする木構造データ生成部と、
前記木構造データ生成部が生成した木構造のデータを、予め決められた手順で代数形式のデータに変換する代数形式変換部と、
前記代数形式変換部で代数形式に変換されたデータを、公理に基づいて推論する推論処理部と、
前記推論処理部で推論された結果で得られた重要部分の単語を、他のテキスト文から得られた重要部分の単語と比較して、類似度を判定する分類部と、
前記分類部で判定された類似度に基づいて、検索対象のテキスト文と前記他のテキスト文との含意関係の判定結果を出力する出力部とを備える
自然言語推論システム。
【請求項２】
前記木構造データ生成部が生成した木構造のデータは、前記構文解析部で抽出された述語と、その他の単語とを、それぞれの単語の意味に基づいて直接または間接に辺で接続すると共に、その辺で接続された単語の意味役割を示す記号を付加したデータである
請求項１記載の自然言語推論システム。
【請求項３】
複数の単語よりなるテキスト文の構文解析を行うステップと、
前記構文解析の結果に基づいて、前記テキスト文内の単語を辺で接続した木構造のデータとするステップと、
前記木構造のデータを、予め決められた手順で代数形式のデータに変換するステップと、
前記代数形式に変換されたデータを、公理に基づいて推論するステップと、
前記推論された結果で得られた重要部分の単語を、他のテキスト文から得られた重要部分の単語と比較して類似度を判定し、検索対象のテキスト文と他のテキスト文との含意関係の判定結果を出力するステップとを含む
自然言語推論方法。
【請求項４】
コンピュータにテキスト文の含意関係の判定を実行させるためのプログラムであり、
複数の単語よりなるテキスト文の構文解析を行う手順と、
前記構文解析の結果に基づいて、前記テキスト文内の単語を辺で接続した木構造のデータとする手順と、
前記木構造のデータを、予め決められた手順で代数形式のデータに変換する手順と、
前記代数形式に変換されたデータを、公理に基づいて推論する手順と、
前記推論された結果で得られた重要部分の単語を、他のテキスト文から得られた重要部分の単語と比較して類似度を判定し、検索対象のテキスト文と他のテキスト文との含意関係の判定結果を出力する手順とをコンピュータに実行させるための
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語文の含意関係を推論する自然言語推論システム、自然言語推論方法及びプログラムに関する。
【背景技術】
【０００２】
自然言語文をコンピュータなどの情報処理装置が解析する場合、入力された自然言語文の意味を正確に理解することが、その入力文による処理を行う上で重要である。入力された自然言語文の意味を正確に理解できれば、例えば、情報処理装置が言語情報を収集してデータベースを構築する際の精度や、自動翻訳する際の翻訳精度などを向上させることができる。また、試験問題のような回答を求める文章の正解を、情報処理装置が自動的に判断することも可能になる。
【０００３】
自然言語文の意味理解をする上での課題の１つとして、含意関係認識がある。含意関係認識とは、文章Ｈと文章Ｔがあるとき、文章Ｔから文章Ｈが推論できるか否かを判別するものであり、自然言語処理における難しい課題の１つである。
例えば、文章Ｔと文章Ｈが次のものであるとする。
・文章Ｔ：川端康成は「雪国」などの作品でノーベル文学賞を受賞した。
・文章Ｈ：川端康成は「雪国」の作者である。
このような２つの文章Ｈと文章Ｔがあるとき、情報処理装置が文章Ｔと文章Ｈについて含意関係ありと推論するための演算処理手法は、容易に実現できるものではなかった。
【０００４】
従来、このような文章Ｈと文章Ｔの含意関係認識を行う手法としては、文章の意味を述語論理式で記述して、２つの文章の間の含意関係を述語論理式から証明を試す方法や、文章の表層的な情報（例えば２つの文章で一致している単語の数など）を用いて判断する方法などがある。
【０００５】
特許文献１には、自然言語文に含まれる単語の組み合わせに対する特徴量を抽出し、その特徴量に基づいて単語の意味の上位概念を推定することで、自然言語文章の意味を判断する技術についての記載がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１８１４０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところが、従来の含意関係認識を行う手法は、いずれも認識精度が低いという問題があった。例えば、上述した文章Ｈと文章Ｔの例は、比較的簡単な文章の例であるので、２つの文章に含意関係があると推論できる可能性が高い。これに対して、より複雑な文章の場合には、２つの文章内の単語の関連の有無を判断するための何らかのデータベースを参照しない限り、従来は正確な判定ができない場合が多々あった。例えば、上述した文章Ｈと文章Ｔの例の場合、「川端康成」が人名と判断できた場合、情報処理装置は「川端康成」についての辞書などのデータベースを検索することで、「雪国」の作者であることが判る可能性が高い。
【０００８】
ところが、自然言語文にはデータベースを参照できない文章も多々あり、そのような大規模なデータベースに依存した含意関係認識は好ましくない。特許文献１に記載されるように、単語の組み合わせに対する特徴量を意味的に判断する使用することは、データベースに頼らない認識手法の１つであるが、特許文献１の手法であっても精度はそれほど向上しない。このように、２つの文章の含意関係を解析する場合に、データベース化された言語知識を使用しないで、より精度良く認識できるようにすることが課題になっている。
【０００９】
本発明は、含意関係認識を精度良く行うことができる自然言語推論システム、自然言語推論方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の自然言語推論システムは、構文解析部と、木構造データ生成部と、代数形式変換部と、推論処理部と、分類部と、出力部とを備える。
構文解析部は、複数の単語よりなるテキスト文の構文解析を行う。
木構造データ生成部は、構文解析部での構文解析の結果に基づいて、テキスト文内の単語を辺で接続した木構造のデータとする。
代数形式変換部は、木構造データ生成部が生成した木構造のデータを、予め決められた手順で代数形式のデータに変換する。
推論処理部は、代数形式変換部で代数形式に変換されたデータを、公理に基づいて推論する。
分類部は、推論処理部で推論された結果で得られた重要部分の単語を、他のテキスト文から得られた重要部分の単語と比較して、類似度を判定する。
出力部は、分類部で判定された類似度に基づいて、検索対象のテキスト文と他のテキスト文との含意関係の判定結果を出力する。
【００１１】
また本発明の自然言語推論方法は、以下の各ステップを実行するものである。
・複数の単語よりなるテキスト文の構文解析を行うステップ。
・構文解析の結果に基づいて、テキスト文内の単語を辺で接続した木構造のデータとするステップ。
・木構造のデータを、予め決められた手順で代数形式のデータに変換するステップ。
・代数形式に変換されたデータを、公理に基づいて推論するステップ。
・推論された結果で得られた重要部分の単語を、他のテキスト文から得られた重要部分の単語と比較して類似度を判定し、検索対象のテキスト文と他のテキスト文との含意関係の判定結果を出力するステップ。
自然言語推論方法。
【００１２】
また本発明のプログラムは、コンピュータにテキスト文の含意関係の判定を実行させるためのプログラムであり、以下の手順をコンピュータに実行させる。
・複数の単語よりなるテキスト文の構文解析を行うと共に、テキスト文に含まれる述語の判断を行う手順。
・構文解析の結果に基づいて、テキスト文内の単語を辺で接続した木構造のデータとする手順。
・木構造のデータを、予め決められた手順で代数形式のデータに変換する手順。
・代数形式に変換されたデータを、公理に基づいて推論する手順。
・推論された結果で得られた重要部分の単語を、他のテキスト文から得られた重要部分の単語と比較して類似度を判定し、検索対象のテキスト文と他のテキスト文との含意関係の判定結果を出力する手順。
【発明の効果】
【００１３】
本発明によると、木構造のデータを代数形式のデータに変換して推論処理を行うため、推論処理を高速に行うことができる。また本発明によると、論理的な意味空間と自然言語との間の直接的なマッピングを得ることができ、データベースから得られた知識が不足する場合でも的確な推論ができるようになる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施の形態によるシステム構成例を示すブロック図である。
【図２】本発明の一実施の形態による処理例を示すフローチャートである。
【図３】本発明の一実施の形態によるＤＣＳ木の例（文Ｔ１の例）を示す図である。
【図４】本発明の一実施の形態によるＤＣＳ木の例（文Ｈ１の例）を示す図である。
【図５】本発明の一実施の形態によるＤＣＳ木の例（文Ｔ２の例）を示す図である。
【図６】本発明の一実施の形態によるＤＣＳ木の例（文Ｈ２の例）を示す図である。
【図７】本発明の一実施の形態によるＤＣＳ木の例（文Ｔ３と文Ｈ３の例）を示す図である。
【図８】本発明のシステムをコンピュータに適用した場合の例を示す説明図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施の形態の例（以下、「本例」と称する）を、添付図面を参照して説明する。
［１．システム構成例］
図１は、本例の自然言語推論システムの、情報処理機能から見た構成例を示す図である。
本例の自然言語推論システムは、例えばコンピュータとその周辺機器で構成され、コンピュータが備える演算処理機能やデータ記憶機能を使って、図１に示す自然言語推論システムの各処理部を構成する。
【００１６】
図１に示すシステム構成について説明すると、入力部１１は、ユーザが入力した自然言語文であるテキスト文を受け付ける。ここでのテキスト文は、複数の単語から構成される。入力部１１でユーザが行うテキスト文の入力方法は、キーボードによる入力、音声による入力など、いずれの方法でもよい。
入力部１１に入力されたテキスト文は、構文解析部１２に供給され、構文解析処理が行われる。構文解析部１２では、構文解析処理により、複数の単語よりなるテキスト文の構文の解析が行われる。また、この構文解析により、テキスト文に含まれる述語を判断する処理が行われる。
【００１７】
構文解析部１２が構文解析した結果のデータは、ＤＣＳ木生成部１３に供給される。
ＤＣＳ木生成部１３は、供給されるテキスト文の構文解析データに基づいて、ＤＣＳ（Dependency-based Compositional Semantics）木と称される木構造のデータを生成する。ＤＣＳ木は、それぞれの単語をノードとし、それぞれのノードを辺で接続した木構造のデータである。
木構造のデータとする際には、述語となる単語を中心として、他の単語を直接または間接的に辺で接続して、自然言語文の一階述語論理的な意味を定義する。すなわち、自然言語文の論理的な構造を検出して、その論理的な構造を、述語の単語から接続した木構造で示したものである。木構造のそれぞれの辺には、意味役割を示す記号（マーク）がラベル付けされる。また、ノードには選択子が付けられる場合があり、エッジには全称量化子マークがつけられる場合がある。さらに、ノードには、変数値を付加してもよい。ＤＣＳ木の具体的な例については後述する。
【００１８】
ＤＣＳ木生成部１３が生成したＤＣＳ木のデータは、代数形式変換部１４に供給される。
代数形式変換部１４は、ＤＣＳ木のデータを代数形式のデータに変換する処理を行うものである。すなわち、代数形式変換部１４では、ＤＣＳ木が表現した意味の範囲を、代数形式で明確化する処理が行われる。具体的には、ＤＣＳ木のデータが、予め決められた公理を適用して論理演算子で関係づけた代数形式のデータに変換される。この代数形式のデータの具体的な例については後述する。但し、後述する具体例は、比較的単純な文の例を示し、ＤＣＳ木と代数形式の階層構造の間の類似性は、後述する具体例のように単純とは限らないが、本例の代数形式変換部１４では、それがすべて解析されてどんなＤＣＳ木に対してもその意味を表す代数形式が自動的に生成される。
【００１９】
代数形式変換部１４で生成された代数形式のデータは、推論エンジン部１５に供給される。推論エンジン部１５は、代数形式のデータについて、その代数形式で使用された公理に基づいて推論を行う推論処理部である。推論エンジン部１５が推論処理を行う際には、言語知識についてのデータベースである言語知識リソース部２０の記憶情報を参照する。
【００２０】
そして、推論エンジン部１５が推論した結果のデータは、表現アライメント部１６に供給される。表現アライメント部１６は、推論した結果のデータから、重要となる部分の単語を探し出す処理を行う。この重要となる部分の単語を探し出す処理を行う際には、必要により言語知識リソース部２０の記憶情報を参照する。
【００２１】
表現アライメント部１６が探し出した重要部分の単語のデータは、分類部１７に供給される。分類部１７では、表現アライメント部１６から供給された複数の単語の類似度を計算して、２つの異なる自然言語文の類似度を計算する。この類似度を計算する際には、必要により言語知識リソース部２０の記憶情報を参照する。
【００２２】
分類部１７が計算した類似度のデータは、結果生成部１８に供給される。結果生成部１８では、類似度のデータに基づいて、２つの自然言語文が類似するか否かの判定結果を生成し、その判定結果を出力部１９から出力する。出力部１９は、例えばユーザに判定結果を表示で通知する。このとき、判定結果として、類似するか否かの結果の他に、分類部１７が計算した類似度をユーザに通知するようにしてもよい。
【００２３】
［２．処理動作の例］
図２は、図１に示した自然言語推論システムで自然言語推論方法を実行する際の、データ処理の流れを示すフローチャートである。
図２にしたがって説明すると、まず自然言語文であるテキスト文が自然言語推論システムに入力されると、構文解析部１２で構文解析処理が実行される（ステップＳ１１）。この構文解析処理時には、テキスト文に含まれる述語の検索が行われる。
【００２４】
そして、構文解析処理した結果のデータに基づいて、ＤＣＳ木生成部１３がＤＣＳ木のデータを生成する（ステップＳ１２）。ＤＣＳ木生成部１３が生成したＤＣＳ木のデータは、代数形式変換部１４に供給され、代数形式のデータに変換される（ステップＳ１３）。
【００２５】
代数形式変換部１４が変換した代数形式のデータは、推論エンジン部１５に供給され、公理に基づいた推論処理が行われる（ステップＳ１４）。推論エンジン部１５での推論結果のデータは、表現アライメント部１６に供給され、推論結果から各自然言語文の中の重要部分の単語が抽出される（ステップＳ１５）。
そして、表現アライメント部１６で抽出された重要部分の単語のデータが、分類部１７に供給され、比較対象となる自然言語文の重要部分の単語どうしが比較され、類似度が計算される（ステップＳ１６）。分類部１７で計算された類似度に基づいて、結果生成部１８が判定結果を生成し、その生成された判定結果が出力部１９から出力される（ステップＳ１７）。
【００２６】
［３．公理の説明］
次に、代数形式変換部１４で生成した代数形式を推論エンジン部１５で推論処理を行う際に使用される公理の例を、以下に示す。それぞれの公理の後のカッコ内には、それぞれの公理の意味を示す。なお、すべて集合には次元があって、一次元の集合はＷの部分集合、二次元の集合はＷ×Ｗの部分集合…となる。
【００２７】
・公理１：Ｗ≠０
（集合Ｗが空集合でない）
・公理２：Ａ⊂Ｗ
（集合Ａがｎ次元ならｎ個のＷの直積に含まれる）
・公理３：Ａ⊂Ａ
（集合Ａは集合Ａに含まれる）
・公理４：（Ａ⊂Ｂ＆Ｂ⊂Ｃ）⇒Ａ⊂Ｃ
（集合Ａが集合Ｂに含まれ、かつ集合Ｂが集合Ｃに含まれるとき、集合Ａは集合Ｃに含まれる）
・公理５：（Ａ⊂Ｂ＆Ｂ⊂Ａ）⇒Ａ＝Ｂ
（集合Ａが集合Ｂに含まれ、かつ集合Ｂが集合Ａに含まれるとき、集合Ａと集合Ｂは等しい）
・公理６：（Ａ⊂Ｂ＆Ａ≠０）⇒Ｂ≠０
（集合Ａが集合Ｂに含まれ、かつ集合Ａが空集合でないとき、集合Ｂは空集合でない）
・公理７：Ａ||Ｂ⇒Ｂ||Ａ
（集合Ａと集合Ｂが排他的（交わりが空集合）のとき、集合Ｂと集合Ａも排他的）
・公理８：（Ａ||Ｂ＆Ｃ⊂Ａ）⇒Ｃ||Ｂ
（集合Ａと集合Ｂが排他的で、ＣがＡに含まれるのとき、集合Ｃと集合Ａも排他的）
・公理９：（Ａ||Ａ＆Ａ≠０）⇒⊥
（集合Ａが自分自身と排他的でかつＡが空集合でないとき、矛盾する）
・公理１０：（Ａ×Ｂ）×Ｃ＝Ａ×（Ｂ×Ｃ）
（集合Ａと集合Ｂとの積にさらに集合Ｃとの積を求めたとき、集合Ｂと集合Ｃとの積に集合Ａとの積を求めたものと一致する）
・公理１１：πＳ（πＲ（Ａ））＝πＳ（Ａ）
（πは射影を表す。この公理は、例えばＡが三次元の時、集合Ａの第１、２成分への射影をπＲ（Ａ）で表すと、πＲ（Ａ）の更に第１成分への射影πＳ（πＲ（Ａ））は、集合Ａの第１成分への射影πＳ（Ａ）と等しい、ということを意味する。）
・公理１２：（Ａ∩Ｂ）∩Ｃ＝Ａ∩（Ｂ∩Ｃ）
（集合Ａと集合Ｂの交わりと、さらに集合Ｃとの交わりは、集合Ｂと集合Ｃの交わりと、さらに集合Ａとの交わりと一致する）
・公理１３：π１（（Ａ×Ｗ）∩Ｂ）＝Ａ∩π１（Ｂ）
（ここで集合Ａが一次元、集合Ｂが二次元と考える。（Ａ×Ｗ）∩Ｂの第１成分への射影は、Ａ∩π１（Ｂ）と等しい。他の次元数や成分に対しても同様に成り立つ。）
・公理１４：Ａ×Ｂ∩Ｃ×Ｄ＝（Ａ∩Ｃ）×（Ｂ∩Ｄ）
（集合Ａと集合Ｂとの積と、集合Ｃと集合Ｄとの積との交わりは、集合Ａと集合Ｃとの交わりと、集合Ｂと集合Ｄとの交わりの積と一致する）
・公理１５：（Ａ⊂Ｃ＆Ｂ⊂Ｄ）⇒Ａ×Ｂ⊂Ｃ×Ｄ
（集合Ａが集合Ｂに含まれ、かつ集合Ｂが集合Ｄに含まれるとき、集合Ａと集合Ｂとの積と、集合Ｃと集合Ｄと積の交わりと一致する）
・公理１６：Ｂ≠０⇒π１（Ａ×Ｂ）＝Ａ
（集合Ｂが空集合でないとき、集合Ａと集合Ｂの射影は、集合Ａと等しい）
・公理１７：Ａ⊂Ｗ１×Ｗ２⇒Ａ⊂π１（Ａ）×π２（Ａ）
（集合Ａが二次元の時、集合Ａがπ１（Ａ）×π２（Ａ）の部分集合である。他の次元数に対しても同様）
・公理１８：Ａ⊂Ｂ⇒π（Ａ）⊂π（Ｂ）
（集合Ａが集合Ｂに含まれるとき、集合Ａの射影も集合Ｂの同じ成分への射影に含まれる）
・公理１９：Ａ∩Ｂ⊂Ａ
（集合Ａと集合Ｂの交わりが集合Ａの部分集合である）
・公理２０：（Ｃ⊂Ａ＆Ｃ⊂Ｂ）⇒Ｃ⊂Ａ∩Ｂ
（集合Ｃが集合Ａに含まれ、かつ集合Ｃが集合Ｂに含まれるとき、集合Ｃは、集合Ａと集合Ｂとの交わりに含まれる）
・公理２１：Ｂ×ｑ１ａｌｌ（Ａ，Ｂ）⊂Ａ
（演算子ｑ１ａｌｌ の定義は、例えば集合Ａが二次元で集合Ｂが一次元の時、集合ｑ１ａｌｌ（Ａ，Ｂ）とは性質Ｂ×Ｙ⊂Ａを満たす最大の集合Ｙのことである。公理２１と公理２２は、この定義に対応する公理である。この演算子ｑ１ａｌｌ を使えば、全称量化子が入る文に対してもその意味を表現できる。）
・公理２２：（Ｂ×Ｃ⊂Ａ）⇒Ｃ⊂ｑ１ａｌｌ（Ａ，Ｂ）
（集合Ａが二次元で集合Ｂが一次元として、Ｂ×ＣがＡに含まれるならば、Ｃがｑ１ａｌｌ（Ａ，Ｂ）に含まれる）
・公理２３：Ａ×Ｂ≠０⇔（Ａ≠０＆Ｂ≠０）
（集合Ａと集合Ｂとの直積が空集合でないとき、集合Ａが空集合でないと共に、集合Ｂが空集合でない）
・公理２４：π（Ａ）≠０⇔Ａ≠０
（Ａの射影が空集合でないこととＡが空でないことは同値である）
・公理２５：Ａ||Ｂ⇒Ａ×Ｃ||Ｂ×Ｄ
（ＡとＢが排他的であれば任意のＣ、Ｄに対してＡ×ＣとＢ×Ｄも排他的である）
【００２８】
これらの論理演算子で示される公理において、記号Ａ，Ｂ，Ｃ，Ｄはそれぞれ集合を示し、記号Ｗは全ての値全体を示す集合である。公理９で示される記号⊥は、矛盾を示す。公理１７で示されるＷ１やＷ２は、集合Ｗのコピーを示す。
なお、公理１〜公理２５は、適用される公理の一例であり、これ以外の公理を適用してもよい。
次に、２つの自然言語文を比較して、含意関係の有無を判定する具体的な３つの例について説明する。
【００２９】
［４．具体的な処理例（含意関係ありの例）］
最初に、含意関係ありと判定される２つの自然言語文Ｔ１，Ｈ１の例を、図３および図４を参照して説明する。
ここでの２つの自然言語文Ｔ１，Ｈ１は、以下の英文である。
自然言語文Ｔ１：
The watchdog International Atomic Energy Agency meets in Vienna on September 19.
自然言語文Ｈ１：
The International Atomic Energy Agency holds a meeting in Vienna.
【００３０】
図３は、自然言語文Ｔ１をＤＣＳ木で示したものである。この図３に示す例では、文Ｔ１の述語である「meet」のノードが元になり、この「meet」のノードが、辺を介した他の単語のノードと接続されたＤＣＳ木となっている。このＤＣＳ木は、構文解析の結果で得られた単語をノードとしたものであり、例えば「in」や「on」の前置詞などはノードにならない。なお、「International Atomic Energy Agency」と「watchdog」とは、「meet」のノードから直列に接続する。また、図３や次の図４のＤＣＳ木では、「International Atomic Energy Agency」を「ＩＡＥＡ」と示す。
【００３１】
それぞれの辺には、意味役割を示す記号が付加される。例えば、「meet」と主語である「ＩＡＥＡ」とを接続する辺には、主語を示す記号「ＳＢＪ」が付加される。また、「meets」と「Vienna」とを接続する辺には、「Vienna」が場所を示す単語であることを示す記号「ＬＯＣ」が付加される。さらに、「meet」と「September 19」とを接続する辺には、「September 19」が時間を示す単語であることを示す記号「ＴＩＭＥ」が付加される。また、それぞれの辺には、変数を示す記号「ＡＲＧ」が付加される。
【００３２】
図４は、自然言語文Ｈ１をＤＣＳ木で示したものである。この図４に示す例では、文Ｈ１の述語である「hold」のノードが元になり、この「hold」のノードが、辺を介した他の単語のノードと接続されたＤＣＳ木となっている。
【００３３】
図４の例の場合についても、それぞれの辺には、意味役割を示す記号が付加される。例えば、「hold」と主語である「ＩＡＥＡ」とを接続する辺には、主語を示す記号「ＳＢＪ」が付加される。また、「hold」と「meeting」とを接続する辺には、「meeting」が「hold」の対象であることを示す記号「ＯＢＪ」が付加される。さらに、「meeting」と「Vienna」とを接続する辺には、「Vienna」が場所を示す単語であることを示す記号「ＬＯＣ」が付加される。また、それぞれの辺には、変数を示す記号「ＡＲＧ」が付加される。
【００３４】
この２つの自然言語文Ｔ１，Ｈ１を代数形式で示したとき、以下のようになる。
自然言語文Ｔ１：
“meet”∩｛（“watchdog”∩“IAEA”）×“Vienna”×“September 19 ”｝≠０
自然言語文Ｈ１：
“hold”∩｛“IAEA”×πＡＲＧ（“meeting”∩（Ｗ×“Vienna”））｝≠０
【００３５】
この代数形式の論理式において、図３，図４のＤＣＳ木に付加された記号から、以下の条件が設定される。
・“watchdog”⊂ＷＡＲＧ
・“IAEA”⊂ＷＡＲＧ
・“Vienna”⊂ＷＡＲＧ
・“September 19 ”⊂ＷＡＲＧ
・“meet”⊂ＷＡＲＧ×ＷＬＯＣ×ＷＴＩＭＥ
・“meeting”⊂ＷＡＲＧ×ＷＬＯＣ
【００３６】
ここで、言語知識リソース部２０などから言語知識を得ることで、“meet”⇒“hold meeting”の関係を取得したとする。つまり、“meet”は、“hold meeting”と意味的に関係を持つことが、言語知識から判るとする。
これは、代数形式で以下のように表現される。
∀ｘ，πＬＯＣ（“meet”∩（ｘ×ＷＬＯＣ×ＷＴＩＭＥ））⊂
πＬＯＣ（“meeting”∩｛πＯＢＪ（“hold” ∩（ｘ“meeting”））×ＷＬＯＣ｝）
【００３７】
推論エンジン部１５では、このような代数形式の論理式を公理と言語知識を使うことで、含意関係の判断ができる。すなわち、代数形式の文Ｔ１と公理と言語知識を使うことで、代数形式の文Ｈ１から、次のような表現ができる。
・（“watchdog” ∩“IAEA”）⊂“IAEA”    ［公理１９に基づく］
・“Vienna”⊂Ｗ、“September 19 ”⊂Ｗ    ［公理２に基づく］
よって、次のようになる。
・“IAEA”×“Vienna” ×“September 19 ”⊂“IAEA” ×Ｗ×Ｗ［公理１５に基づく］
さらに、公理４，１９，２０に基づくことで、次のように示される。
・“meet”∩｛（“watchdog” ∩“IAEA”）×“Vienna”×“September 19 ”｝
⊂“meet” ∩（“IAEA”×Ｗ×Ｗ）
【００３８】
ここで、この式の左辺をＰ，右辺をＱとおくと、公理１８に基づいて、πＬＯＣ（Ｐ）⊂πＬＯＣ（Ｑ）となる。
これに言語知識と公理４を適用することで、
・πＬＯＣ（Ｑ）⊂
πＬＯＣ（“meeting”∩｛πＯＢＪ（“hold”∩（“IAEA”×“meeting”））×ＷＬＯＣ｝）
この式の右辺をＲとおく。
公理１３と公理１９とより、
・πＬＯＣ（Ｐ）⊂“Vienna”
公理２０より、
・πＬＯＣ（Ｐ）⊂“Vienna” ∩Ｒ
公理２４と式Ｔ１とより、
・πＬＯＣ（Ｐ）≠０
よって、公理６に基づき、
・Vienna” ∩Ｒ≠０
【００３９】
一方、公理１２と公理１３と公理１４とに基づいて、以下の式が得られる。
・“Vienna”∩Ｒ＝
πＬＯＣ（“meeting”∩｛πＯＢＪ（“hold”∩（“IAEA”×“meeting”））×“Vienna”｝）
この式において、右辺は公理６より空集合ではない。
よって、公理２４と公理１９と公理６より、下記のようになる。
・πＬＯＣ（ “hold”∩（“IAEA”×“meeting”））×“Vienna”≠０
さらに、公理１３と公理２４と公理１４とより、
・“hold”∩｛“IAEA”×πＡＲＧ（“meeting”∩（Ｗ×“Vienna”））｝≠０
【００４０】
以上の公理を適用した推論処理が行われることで、その推論結果から、分類部１７では、自然言語文Ｔ１と自然言語文Ｈ１とについて含意関係ありと判断される。
【００４１】
［５．具体的な処理例（含意関係なしの例）］
次に、含意関係なしと判定される２つの自然言語文Ｔ２，Ｈ２の例を、図５および図６を参照して説明する。
ここでの２つの自然言語文Ｔ２，Ｈ２
は、以下の英文である。
自然言語文Ｔ２：
Jack Straw, the Foreign Secretary, will meet his Brazilian counterpart,Celso Amorim, in London today.
自然言語文Ｈ２：
Jack Straw is a partner of Celso Amorim.
【００４２】
図５は、自然言語文Ｈ２をＤＣＳ木で示したものである。この図６に示す例では、文Ｈ２の述語である「meet」のノードが元になり、この「meet」のノードが、辺を介した他の単語のノードと接続されたＤＣＳ木となっている。
図６は、自然言語文Ｔ２をＤＣＳ木で示したものである。この図５に示す例では、文Ｔ２の述語である「partner」のノードが元になり、この「partner」のノードが、辺を介した他の単語のノードと接続されたＤＣＳ木となっている。
【００４３】
この２つの自然言語文Ｔ２，Ｈ２を代数形式で示したとき、以下のようになる。
自然言語文Ｔ２：
“meet”∩｛（“Jack Straw”∩“Foreign Secretary”）×πＡＲＧ（Ｓ）×today”｝≠０
自然言語文Ｈ２：
“partner”∩（“Jack Straw”×“Celso Amorim”）≠０
なお、文Ｔ２の代数形式のＳは、以下のように定義される。
Ｓ＝“counterpart”∩｛“Celso Amorim”×（“his”∩“Brazilian”）×“London”｝
である。
【００４４】
この代数形式の論理式において、文Ｔ２と文Ｈ２について、次のような知識を仮定したとき、文Ｔ２から文Ｈ２の含意関係の有無を認識できる。
∀ｘ，πＯＢＪ（“meet”∩（ｘ×ＷＯＢＪ））⊂πＰＯＳＳ（“partner”∩（ｘ×ＷＰＯＳＳ））
∀ｙ，πＳＢＪ（“meet”∩（ＷＳＢＪ×ｙ））⊂πＡＲＧ（“partner”∩（ＷＡＲＧ×ｙ））
この２つの式は、「ｘ−“meet”−ｙ⇒ｘ−“partner”−ｙ」に対応する知識を示している。ここでの∀ｘや∀ｙは、要素ｘや要素ｙが、それぞれの式で示される条件が成立することを仮定することを示す。
【００４５】
このように、本例のシステムでは、推論エンジン部１５での推論結果と表現アライメント部１６でのアライメント処理により、２つの文Ｔ２から文Ｈ２のそれぞれから、一番重要な部分を探し出す処理が行われる。一番重要な部分とは、つまり、言語知識を使った仮定により文Ｔ２から文Ｈ２を証明できるような部分である。
【００４６】
このようにして生成された知識である「ｘ−“meet”−ｙ⇒ｘ−“partner”−ｙ」は、表現アライメント部１６から分類部１７に送られる。そして、分類部１７で、この知識「ｘ−“meet”−ｙ⇒ｘ−“partner”−ｙ」の妥当性が判断される。ここで、分類部１７は、言語知識リソース部２０から取得した言語知識で、単語“meet”と単語“partner”とが類似していないと判断する。この類似なしとの判断を結果生成部１８が取得することで、結果生成部１８は、文Ｈ２が文Ｔ２から含意されないとの結果を生成し、含意されないとの結果が出力部１９から出力される。
【００４７】
［６．具体的な処理例（全称量化子マークがつけられる場合の例）］
次に、ＤＣＳ木に全称量化子マークがつけられる場合の例を、図７を参照して説明する。この例は、以下の２つの日本語の自然言語文Ｔ３，Ｈ３の例である。この例では、文Ｔ３が文Ｈ３を含意する場合の例である。
自然言語文Ｔ３：
すべての子供に愛されるチョコレートは苺味。
自然言語文Ｈ３：
子供の太郎は苺味のチョコレートを愛する。
【００４８】
この自然言語文Ｔ３と自然言語文Ｈ３のＤＣＳ木を、図７に示す。自然言語文Ｔ３のＤＣＳ木は、「苺味」のノードが一番上になり、「苺味」のノードに「チョコレート」が接続され、さらに、「チョコレート」のノードに「愛する」のノードが接続され、「愛する」のノードに「子供」のノードが接続される。そして、「愛する」のノードと「子供」のノードを接続する辺に、全称量化子マークｑａｌｌが付与されている。すなわち、自然言語文Ｔ３のＤＣＳ木は、「苺味」、「チョコレート」、「愛する」が直列に接続しているから対する代数表現は”苺味”、”チョコレート”、q(”愛する”,”子供")の三つの交わりになっている。
【００４９】
また、自然言語文Ｈ３のＤＣＳ木は、「愛する」のノードが一番上になり、「太郎」と「子供」のノードが「愛する」のノードに順に接続されると共に、「チョコレート」と「苺味」のノードが「愛する」のノードに順に接続される。すなわち、自然言語文Ｈ３のＤＣＳ木は、二つの枝 「子供ー太郎」と「苺味ーチョコレート」が並列になっているから、対応する代数形式では（“太郎”∩“子供”）と（“チョコレート”∩“苺味”）の直積になっている。
【００５０】
自然言語文Ｔ３，Ｈ３の意味を表現する代数形式は、以下のようになる。
自然言語文Ｔ３：
“苺味”∩“チョコレート”∩ｑ１ａｌｌ（“愛する”，“子供”）≠０
自然言語文Ｈ３：
“愛する”∩｛（“太郎”∩“子供”）×（“チョコレート”∩“苺味”）｝≠０
【００５１】
ここで、以下のような条件が設定される。
・“子供”⊂ ＷＡＲＧ
・“太郎”⊂ ＷＡＲＧ
・“苺味”⊂ ＷＡＲＧ
・“チョコレート”⊂ ＷＡＲＧ
・“愛する”⊂ ＷＳＢＪ×ＷＯＢＪ
【００５２】
このとき、公理及び「子供の太郎が存在する」に対応する条件“太郎”∩“子供” ≠０を使って、文Ｔ３から文Ｈ３が含意されることについて、次のように証明できる。
・“子供”× ｑ１ａｌｌ（“愛する”，“子供”）⊂（“愛する”）    ［公理２１より］
・｛（“太郎” ∩“子供”）×（“チョコレート”∩“苺味”）｝を、上式の両辺と交わりをとって、公理１９，公理１５，公理４を適用することで、
・（“子供”∩“太郎”）×｛“苺味”∩“チョコレート”∩ｑ１ａｌｌ（“愛する”，“子供”）｝⊂“愛する”∩｛（“太郎”∩“子供”）×（“チョコレート”∩“苺味”）｝
・文Ｔ３より“苺味”∩“チョコレート”∩ｑ１ａｌｌ（“愛する”，“子供”） ≠０
・条件より“太郎” ∩“子供” ≠０
・よって、公理２３および公理６より、
“愛する” ∩｛（“太郎” ∩“子供”）×（“チョコレート”∩“苺味”）｝≠０
したがって、文Ｔ３が文Ｈ３を含意することが証明される。
【００５３】
以上説明したように本例の自然言語推論システムで推論処理を行うことで、高速かつ良好に２つの自然言語文の含意関係を認識できるようになる。すなわち、自然言語文が持つ意味の空間を、ＤＣＳ木のデータが持つ一階述語論理系から代数形式で示された代数系に制限することで、推論エンジン部１５での推論処理が高速で行えるようになる。また、代数形式で示された代数系に制限することで、論理的な意味空間と自然言語との間の直接的なマッピングを得ることができ、言語知識が不足している場合でも精度を落とさずに含意関係の判断ができるようになる。すなわち、本例の自然言語推論システムによると、例えば言語知識リソース部２０が持つ知識が、比較的情報量が少ない場合でも、精度の高い含意関係の判定ができるようになる。
【００５４】
この直接的なマッピングを得ることができる点についてより詳しく説明すると、本例の自然言語推論システムでの代数形式変換部で代数形式のデータに変換する際には、上述した各例のような比較的単純な文だけでなく複雑な文であっても、すべて解析されてどんなＤＣＳ木に対してもその意味を表す代数形式が自動的に生成される。そして、「論理的な意味空間と自然言語との間の直接的なマッピング」とは、このような類似性であり、代数形式の推論処理は高速に行える一方、ＤＣＳ木は自然言語に近い形なので言語知識を使って生成できる、という利点を有し、複雑な自然言語文の含意関係の判定が簡単に精度良くできるようになるという効果を有する。
【００５５】
［７．変形例］
なお、ここまでの実施の形態の例で説明したＤＣＳ木の生成処理や、代数形式に変換する際に適用する公理などは、一例を示したものであり、それぞれの例で示したものに限定されるものではない。例えば、ＤＣＳ木以外の木構造データを生成する木構造データ生成部を用意して、本例の自然言語推論システムに適用してもよい。
また、図１に示した自然言語推論システムの構成についても、一例を示したものであり、その他の構成で同様の処理を行うようにしてもよい。例えば、言語知識リソース部２０は、言語知識を記憶したデータベース部としたが、自然言語推論システムを構成するコンピュータが、インターネットなどを経由して、外部のサーバとアクセスして、言語知識を取得するようにしてもよい。
【００５６】
すなわち、例えば図８に示すように、自然言語推論システムとして作動するプログラムが実装されたコンピュータ装置１を用意する。このコンピュータ装置１には、例えば表示部２やキーボード３を接続する。このように接続したキーボード３でユーザが自然言語文の入力を行うことで、表示部２が含意関係の判定結果を表示するようになる。
ここで、コンピュータ装置１が何らかのネットワーク４を経由して、サーバ５にアクセスして、サーバ５側に用意された言語知識のデータベースを参照することで、コンピュータ装置１が言語知識を取得するようにしてもよい。
あるいは、コンピュータ装置１は、含意関係の判定を行う２つの自然言語文の入力と判定結果の出力だけを行い、含意関係の判定に必要な演算処理の全てまたは一部を、サーバ５が行うようにしてもよい。
また、自然言語推論システムとして作動するコンピュータは、どのような形態の情報処理装置でもよい。例えば、スマートフォンと称されるアプリケーションプログラムの実装が可能な端末装置に、本例の自然言語推論処理を実行するプログラムを実装して、含意関係の推論処理を行うようにしてもよい。
【符号の説明】
【００５７】
１…コンピュータ装置、２…表示部、３…キーボード、４…ネットワーク、５…サーバ、１１…入力部、１２…構文解析部、１３…ＤＳＣ木生成部、１４…代数形式変換部、１５…推論エンジン部、１６…表現アライメント部、１７…分類部、１８…結果生成部、１９…出力部、２０…言語知識リソース部
【図１】
2014229078.tif 000003
【図２】
2014229078.tif 000004
【図３】
2014229078.tif 000005
【図４】
2014229078.tif 000006
【図５】
2014229078.tif 000007
【図６】
2014229078.tif 000008
【図７】
2014229078.tif 000009
【図８】
2014229078.tif 000010