【文献】
那須川哲哉 他1名,文脈一貫性を利用した極性付評価表現の語彙獲得,情報処理学会研究報告,日本,社団法人情報処理学会,2004年 7月15日,Vol.2004,No.73(2004-NL-162),109-116頁
(58)【調査した分野】(Int.Cl.,DB名)
さらに、前記活性値算出手段による述語テンプレートの出力が完了したことに応答して、述語テンプレートの活性値を算出する処理の終了条件が成立しているかを判定するための判定手段と、
前記判定手段により前記終了条件が成立していないと判定されたことに応答して、前記活性値算出手段により算出された述語テンプレートの内、活性値の絶対値がしきい値以上の述語テンプレートからなる新たなシードテンプレートを選択し、当該新たに選択されたシードテンプレートにより、前記シードテンプレート記憶部の記憶内容を更新するための更新手段と、
前記更新手段による更新が行われたことに応答して、前記述語テンプレートペア収集手段、前記名詞ペア収集手段、前記述語テンプレートペア収集手段、前記構築手段、及び前記活性値算出手段による処理を再実行させるための手段とを含む、請求項1〜請求項3のいずれかに記載の述語テンプレート収集装置。
さらに、前記フレーズ選択手段により選択されたフレーズペアの各々について、前記各フレーズペアを構成する述語テンプレートの活性値と、当該フレーズペアに含まれる名詞ペアの、前記コーパス内での共起関係との関数として、前記所定の関係の強さを表すスコアを算出するためのスコア算出手段と、
前記スコア算出手段により算出されたスコアの順番で前記フレーズ選択手段により選択されたフレーズペアを整列させるための手段とを含む、請求項7に記載の特定フレーズペア収集装置。
【発明を実施するための形態】
【0036】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。なお、以下の記載では、名詞と動詞(又は形容詞、形容動詞等の述語)とが助詞を介して結び付いたものを「フレーズ」と呼ぶ。さらに、フレーズ内の助詞と述語との組合せ(例:<を、食べる>)を「述語テンプレート」と呼ぶ。
【0037】
以下の説明では、最初に本実施の形態で使用される基本概念を示す。さらに、それらを用いてどのようにして矛盾表現又は因果関係表現を認識できるかを述べる。最後に、具体的な実施の形態について説明する。
【0038】
[基本概念]
《テンプレート》
既に述べたとおり、1つの名詞と、1つの動詞、形容詞又は形容動詞とを助詞を介して結び付けたものを「述語テンプレート」と呼ぶ。本実施の形態では、述語テンプレートは、活性、不活性、中立のいずれかに分類される。
【0039】
《分類ラベル》
以下では、述語テンプレートの分類ラベルについて説明する。次に、その分類が持つ言語学的性質を説明する。さらに、分類の自動獲得手法について述べる。最後に、分類された述語テンプレートのアプリケーションについて述べる。
【0040】
(1) 述語テンプレートの分類/極性
本実施の形態では、全体のシステムの入力となるテキストに現れる述語テンプレートを以下のテーブル1に示す3種に分類する。
【0041】
【表1】
本実施の形態では、以上の分類はテキストから自動的に計算される。その際、活性テンプレートには正の活性値を、不活性テンプレートには負の活性値を、それぞれ割当てる。活性値の具体的な計算法については後述する。中立動詞とは、計算の結果得られた活性値の絶対値があるしきい値以下のもののことをいう。本明細書では、上述の「活性」、「不活性」及び「中立」に関する分類と、各テンプレートに付された活性値との両者を総称して述語テンプレートの「極性」と呼ぶ。以下のテーブル2に例を挙げる。
【0042】
【表2】
否定の助動詞「ない」等が述語に続く場合には、述語と否定の助動詞を併せたものを1つの述語と考え、その活性値として、元の述語の活性値の正負を逆転させたものを用いる。以下のテーブル3に例を挙げる。
【0043】
【表3】
(2)述語テンプレートへの極性の割当
述語テンプレートへの極性の割当は自動的に計算される。まず、極性割当の手がかりとして以下のような言語学的性質、制約を考える。まず、名詞の対を考え、対を成す名詞の間の因果関係という概念を導入する。
【0044】
因果関係を持つ名詞の対には以下のテーブル4に示す2種類の関係がある
【0045】
【表4】
これら名詞の対と、述語テンプレートの活性値の積の極性(符号)との間には以下のような関係がある。すなわち、(1)順接の接続詞(〜ので、〜ため、〜て、等)で結ばれた2つの述語テンプレートの活性値の積の極性は、正の因果関係を持つ名詞句が2つの述語テンプレートと係り受けを持つ場合には、正になる。(2)逆に、順接の接続詞で結ばれた2つの述語テンプレートと、負の因果関係を持つ名詞句が係り受けを持っている場合には述語テンプレートの活性値の積の極性は負になる。(3)逆説の接続詞(〜が、〜にもかかわらず等)で2つの動詞が結ばれている場合には2つの述語テンプレートの活性値の積の極性は(1)(2)と逆になる。
【0046】
これらの関係について例を挙げると以下のテーブル5のとおり。なお、名詞の対<地震、津波>は正の因果関係、<抗がん剤、ガン>は負の因果関係を、それぞれ持つ。
【0047】
【表5】
なお、同義/含意の関係を持つ述語テンプレートの組は同じ極性を持つ。例えば「(ワクチン)を処方する」と「(ワクチン)を注射する」とは両方とも極性は正であり、「(地震)が発生する」と「(地震)が起きる」についても極性は両方とも正である。ただし、活性値が同一であるとは限らない。
【0048】
具体的な活性値の計算においては、以上に例示したようなテキスト、つまり、各々名詞と結び付き、かつ互いに順接又は逆説の接続詞で連結された2つの述語テンプレートからなる表現をインターネット上から大量に収集する。それら接続詞で繋がれた述語テンプレート間、及び同義/含意関係を持つ述語テンプレートの対の間でリンクをはることにより、述語テンプレートのネットワークを作る。リンクには上で述べたような、述語テンプレートの極性が同一かどうかの情報を属性として付与する。このネットワーク上の少数の述語テンプレートには、あらかじめ、人手で+1又は−1の活性値を付与する。そのネットワーク上で、後述するように量子力学での電子スピンのエネルギーに類似したエネルギーを定義する事が可能である。そのエネルギーを最適化(ここでは最小化)する計算を行ない、一種の制約解消をすることで、述語テンプレートの極性及び名詞対の因果関係の極性をブートストラップ的かつ大局的に決定及び計算できる。この活性値の算出手法については非特許文献8を参照されたい。
【0049】
なお、後述の活性値の割当てアルゴリズムはあくまで一例であり、上記言語学的制約を考慮したエネルギー関数に基づいて具体的な活性値を求める手法は他にも存在する可能性がある。
【0050】
(3) こうした分類極性を使う事で以下のようなアプリケーションが可能となる。
【0051】
(A)フレーズ間の因果関係の自動認識手法
活性値の積が正で、活性値の絶対値が大きい述語テンプレートの対が正の因果関係を持つ名詞と共起し、順接の接続詞で結ばれた場合には因果関係を表している可能性が高くなる。活性値の積が負で、活性値の絶対値が大きい述語テンプレートの対が負の因果関係を持つ名詞と共起し、順接の接続詞で結ばれた場合にも因果関係を表している可能性が高い。この性質を利用して、因果関係を表す、2つの述語テンプレート及び正負の因果関係を持つ名詞対を含む表現をテキスト中で自動的に認識し、取得できる。
【0052】
【表6】
接続詞「〜て」は、因果関係を表すとは限らない。「〜て」が因果関係以外を表す表現は無数に存在する。例えば、「風呂に入って、食事をする」の場合、風呂と食事との間には、因果関係は通常認められない。本実施の形態により、このような、因果関係ではないフレーズペアをうまく除外し、因果関係のみを精度高く取得できる。
【0053】
このような表現の集合の中から、上記制約を考慮することで、フレーズ間の因果関係を高精度に獲得することが可能となる。因果関係が得られると、例えば、「地震が起きた」という情報から、「津波に襲われる可能性がある」という予測ができる。こうして取得された因果関係は、フレーズ間の意味的関係の自動獲得という非常に重要な技術にとって大きなファクターとなる。
【0054】
(B)情報の矛盾の自動認識
極性が反対の述語テンプレートは、仮に両者が同種の名詞に付随して出現する場合、互いに矛盾している可能性が高い。この性質を利用して、矛盾するフレーズ対を自動的に取得できる。具体的には、共通の名詞と共に出現する確率が高く、極性が反対の述語テンプレートの対に、共通の名詞を埋め込んだフレーズ対を収集する。これらフレーズ対は、互いに矛盾するフレーズ対として自動的に取得できる。以下に、矛盾する表現の例を挙げる。
【0055】
【表7】
これらのフレーズ対から共通の名詞を取り除くと、述語テンプレートの対が残る。それらもやはり互いに矛盾する可能性が高い。そうした述語テンプレートをデータベース化すると、反義に関する有用な辞書として活用できる。上の例でいえば、「…を吸う」と「…を止める」のように互いに反する意味を持つ述語テンプレート対として収集できる。
【0056】
(C)フレーズ間の因果関係と矛盾とを組合せた仮説生成
上記(A)フレーズ間の因果関係の自動認識と(B)情報の矛盾の自動認識の技術を併せ用いる事で、元となるテキストに陽に記載されていない因果関係を自動取得する事が可能となる。その手法の概略は以下のとおりである。
【0057】
まず、基となるテキストから、パターンによる名詞間の意味的関係の獲得(これには既存技術を利用できる)によって、例えば材料関係を自動的に獲得できる。すなわち、製品Bと材料Aとの間の関係が「AでBを作る」というようなパターンによって自動獲得できる。この自動獲得の結果、製品「超硬工具」の材料が「タングステン」であるという情報が取得出来たとする。次いで、この材料関係という意味的関係を持つことが分かった名詞の対、すなわち「超硬工具」と「タングステン」とからなる名詞の対とそれぞれ頻繁に共起する述語テンプレートで、互いの活性値の積が正であり、かつその活性値の絶対値が大きいものを選ぶ。選ばれた述語テンプレートを、それぞれ対となる名詞と並べる。すると、例えば、「タングステンを輸入して(活性値正)、超硬工具を製造する(活性値正)」というような、述語(動詞)と名詞とからなる動詞句の間の(広い意味での)因果関係が獲得できる。ここでの因果関係とは、「タングステンを輸入する」のは「超硬工具を製造する」ためである、というものである。
【0058】
このようにして獲得された因果関係自体が、テキスト中に陽に書かれていない場合もある。そのような場合には、上記した方法で因果関係に関する仮説が生成されたことになる。なお、この際、「輸入する」「製造する」といった動詞単体がよく一文内で共に出現する等の制約を用いてもよい。
【0059】
次いで、上述のように取得されたものも含めた述語及び名詞からなるフレーズの間の因果関係に対して、述語テンプレートの各々を、その述語テンプレートと矛盾する、(B)の、情報の矛盾の自動認識で取得された述語テンプレートで置換える。例えば、「タングステンを輸入して、超硬工具を製造する」、という因果関係を考える。この因果関係を構成する述語テンプレートのうち、「を輸入する」と「が輸入禁止される」とが矛盾し、「を製造する」と「を販売中止する」とが矛盾していると、いずれも上記(B)技術で認識されたものとする。このように元の因果関係に含まれる述語テンプレートとそれぞれ矛盾するとされた述語テンプレートで、元の因果関係に含まれる述語テンプレートを置換える。この手続きによって、「タングステンが輸入禁止されたため、超硬工具を販売中止する」という、新たな因果関係の仮説を生成できる。
【0060】
以上のような方法で大量の因果関係及びその仮説を取得し、データベースにしておくことによって、実際に新たな情報が来た際に、その後の可能な状況を推論することが可能となる。例えば、「タングステンが輸入禁止されたため、超硬工具を販売中止される」という因果関係の仮説がデータベース化されていたとする。そこに、「タングステンが輸入禁止」というニュース記事が出現したとする。すると、上記したデータベースを検索することにより、「タングステンが輸入禁止された」ことの帰結として、「超硬工具が販売中止される」可能性があるという推論を行なえる。すなわち、その分野に関する詳しい知識を持たない人間にとっては未知の仮説が自動的に生成できる。
【0061】
以上のような仮説生成は、当初の「超硬工具をタングステンで作る」といった単純で頻出するパターンで記載された情報のみから始まるものである。一方で、超硬工具ともタングステンとも関係を持たないテキストから述語テンプレートの活性/不活性に関する情報抽出する。これらを組合せることにより、因果関係の仮説が生成される。すなわち、入力されるテキスト中に、超硬工具及びタングステンに関する言及が「超硬工具をタングステンで作る」という表現のみしかなかったとしても、上に述べたような仮説の生成が可能になる。その結果、非常に乏しい情報量から、「超硬工具が製造禁止になる可能性がある」という非常に高度な仮説を得ることができる。したがってこの技術は、広い適用範囲があるとともに、情報の高度な活用のためのコア技術となる。
【0062】
(D)同義、含意関係を持つ表現の自動獲得の精度向上
従来の同義、含意関係の自動獲得技術では、注目している表現の周辺に出現する語の出現確率の分布の類似により、同義、含意を認識している。しかし既に述べたように、往々にして、ある単語Aに対する反義の単語Bが、単語Aと同義又は含意という関係を持つと誤認識されるケースがあった。これは、反義語の出現するコンテキストが類似することが多いことに起因する。これに対して本実施の形態によれば、例えば、「を引き起こす」の活性値が正、「を防ぐ」の活性値が負であることを自動的に計算できる。これらの情報を用いると、従来技術を用いることで抽出された同義表現の候補の中で、述語テンプレートの極性が異なっているか否かにより同義か否かを見分けることができる。この結果、本実施の形態の技術を用いて、単語の同義及び含意の自動獲得の精度が向上する。
【0063】
(E)文をまたがった因果関係の自動獲得
上記した(A)及び(C)の技術によって多数の因果関係を取得できる。それら多数の因果関係をデータベース化すると、それら因果関係の表現中に頻出する述語テンプレートの対が獲得できる。例えば、「が起きた」と「に襲われた」という述語テンプレートの対が、データベース中の因果関係に多数出現するものとする。そうした述語テンプレートは、テキスト中で文をまたがって(別の文の中で)出現した場合でも、互いの間の文数、単語数又は文字数等、「距離」が近い場合には因果関係を表す可能性が高い。例えば、「昨日、地震が起きた。津波に襲われたとの報告が寄せられている。」といったように、「地震が起きた」という表現と「津波に襲われた」という表現とが2文に分かれて出現した場合を考える。この場合でも、「地震が起きた」と「津波に襲われた」との2つのフレーズで記述される出来事の間には因果関係がある。また、そこに出現している名詞の対、すなわち「地震」と「津波」の間にも因果関係がある。こうした性質を利用し、複数文にまたがって記載されている因果関係を、フレーズ間及び単語間の双方について、自動的に取得できる。
【0064】
以下、上記した考え方に基づく本実施の形態のシステムの構成及び動作について説明する。以下に説明する実施の形態の内、第1の実施の形態は、上記したフレーズ対の抽出技術を用いて、フレーズ間の論理的関係の1つである矛盾表現を自動的に収集するシステムに関する。第2の実施の形態は、上記したフレーズ対の抽出技術を、フレーズ間の論理的関係の他の例である因果関係の獲得に適用するシステムに関する。第3及び第4の実施の形態は、因果関係の仮説を生成するシステムに関する。
【0065】
<第1の実施の形態>
[構成]
図1を参照して、この発明の第1の実施の形態に係る矛盾表現収集システム30は、前述した述語テンプレートのうち、テンプレートネットワーク構築の際の核となるテンプレート(これを「シードテンプレート」と呼ぶ)を記憶するためのシードテンプレート記憶装置32と、述語テンプレートの間を連結する、順接及び逆説の接続詞を記憶する接続詞記憶部34と、シードテンプレート記憶装置32、接続詞記憶部34、及びインターネット40上のコーパスから、接続詞記憶部34に記憶された接続詞により結び付けられた2つのフレーズからなるフレーズ対を大量に収集し、それらの中から互いに矛盾した表現(相反する表現)を獲得するための矛盾表現収集装置36と、矛盾表現収集装置36により収集された矛盾表現を記憶するための矛盾表現記憶装置38とを含む。
【0066】
矛盾表現収集装置36は、シードテンプレート記憶装置32、接続詞記憶部34及びインターネット40に接続され、インターネット40上の仮想コーパスから大量のフレーズ対を収集し、それらの中から大量の述語テンプレートを取り出してテンプレートデータベース(DB)62を構築するためのテンプレートDB構築装置60と、テンプレートDB構築装置60により構築されたテンプレートDB62を用い、インターネット40上の仮想コーパスから矛盾表現を獲得するための矛盾表現獲得部64とを含む。なお、シードテンプレート記憶装置32に記憶されたテンプレートには、それらテンプレートの活性・不活性にしたがって予め正又は負の活性値が与えられている。以下に述べる処理の最初には、これらの値はそれぞれ+1及び−1である。
【0067】
図2を参照して、テンプレートDB構築装置60は、シードテンプレート記憶装置32と接続詞記憶部34とに接続され、シードテンプレート記憶装置32に記憶された全てのテンプレートと、接続詞記憶部34に記憶された全ての接続詞とを用い、2つのテンプレートが接続詞で結び付けられた組合せの全てを生成するテンプレートペア生成部90と、テンプレートペア生成部90により生成されたテンプレートペアを記憶するためのテンプレートペア記憶部92とを含む。テンプレートペア生成部90により生成されるテンプレートペアの形の例は以下のようなものである。
【0068】
【表8】
テンプレートDB構築装置60はさらに、テンプレートペア記憶部92に記憶されたテンプレートペアの各々について、そのテンプレートペアと共起する名詞ペアをインターネット40上から収集するための名詞ペア収集部94と、名詞ペア収集部94により収集された名詞ペアを記憶するための名詞ペア記憶部96と、名詞ペア記憶部96に接続され、名詞ペア記憶部96に記憶された名詞ペアの各々に含まれる名詞の間の関係を、それら名詞と共起している述語テンプレートの極性、及び接続詞記憶部34に記憶されている接続詞の種別に基づいて判定し、各名詞ペアにその関係を示すタグを付す処理を行なうための名詞ペア極性判定部98とを含む。
【0069】
ここでは、名詞ペア極性判定部98は、以下のテーブル9に示す方法にしたがって名詞ペアを構成する名詞の間の関係を判定する。
【0070】
【表9】
すなわち、2つの述語テンプレートと共起している名詞ペアの関係は、次のようにして判定できる。
【0071】
(1)2つの述語テンプレートの極性が同じで、これらが順接の接続詞で接続されていると、これらと共起している名詞ペアの関係は正
(2)2つの述語テンプレートの極性が同じで、これらが逆接の接続詞で接続されていると、これらと共起している名詞ペアの関係は負
(3)2つの述語テンプレートの極性が反対で、これらが順接の接続詞で接続されていると、これらと共起している名詞ペアの
関係は負
(4)2つの述語テンプレートの極性が反対で、これらが逆接の接続詞で接続されていると、これらと共起している名詞ペアの
関係は正
テンプレートDB構築装置60はさらに、名詞ペア記憶部96に接続され、名詞ペア極性判定部98により関係タグが付された名詞ペアの各々について、それらと共起するテンプレートペアをインターネット40から収集するためのテンプレートペア収集部100と、テンプレートペア収集部100が収集したテンプレートペアを、それらと共起した名詞ペアと関係付けて記憶するためのテンプレートペア記憶部102と、テンプレートペア記憶部102に記憶されたテンプレートペアの各々について、そのテンプレートペアを構成するテンプレートの活性/不活性が同じか否か(マッチするか否か)を、そのテンプレートペアと共起する名詞ペアの関係(正/負)と、テンプレートを連結している接続詞が順接か逆接かに基づいて判定し、各テンプレートペアにその結果をタグとして付与するためのテンプレート活性マッチ判定部104とを含む。
【0072】
テンプレートペアの活性/不活性が同じか否かは以下に例を示す方法により判定できる。なお、テーブル9に示すように、名詞ペア<地震、津波>の関係は正、名詞ペア<唾液分泌、口渇>の関係は負、名詞ペア<アセトアルデヒド、肝障害>の関係は正である。
【0073】
【表10】
すなわち、以下のような条件でテンプレートペアの活性/不活性が同じか反対かを判定できる。
【0074】
(1)関係が正である名詞ペアと共起し、順接の接続詞により接続されるテンプレートペアの活性は同じ
(2)関係が正である名詞ペアと共起し、逆接の接続詞により接続されるテンプレートペアの活性は反対
(3)関係が負である名詞ペアと共起し、順接の接続詞により接続されるテンプレートペアの活性は反対
(4)関係が負である名詞ペアと共起し、逆接の接続子により接続されるテンプレートペアの活性は同じ
テンプレートDB構築装置60はさらに、テンプレートペア記憶部102に記憶されたテンプレートペアとそのマッチ判定結果とに基づいて、テンプレート間にネットワークを構築するためのテンプレートネットワーク構築部106と、テンプレートネットワーク構築部106が、ネットワークの構築時にテンプレート間のリンクを追加するために使用する同義・含意関係辞書108とを含む。このネットワークを本明細書では「テンプレートネットワーク」と呼ぶ。
【0075】
図3を参照して、例えばテンプレートネットワーク140は、各々が1つのテンプレートに対応する複数個のノードと、それらノード間に定義されるリンクとを含む。リンクは、テーブル9により示されるマッチ判定が行なわれたテンプレートに対応するノード間に張られる。各リンクには、その両端のノードのテンプレート間に対するマッチ判定の結果(テーブル9)に応じ、同一極性又は反対極性という属性が割当てられる。
図3において、同一極性が割当てられたリンクは実線で示し、反対極性が割当てられたリンクは点線で示してある。後述するように、このリンクを用いて各テンプレートの活性値が算出される。活性値の算出のため、テンプレートネットワーク140のノードのうち、シードテンプレート記憶装置32に記憶されたシードテンプレート(例えば
図3の「を引き起こす」、「を発生させる」、「を抑制する」等のノード)については、予め+1又は−1の値が手作業により与えられている。これらの値と、ノード間のリンク及びそのリンクの属性とを用いて、各ノード(テンプレート)の活性値が計算される。計算方法の具体的内容については後述する。
【0076】
再び
図2を参照して、テンプレートDB構築装置60はさらに、テンプレートネットワーク構築部106に接続され、テンプレートネットワーク構築部106により構築されたテンプレートネットワーク140を記憶するためのテンプレートネットワーク記憶部110と、テンプレートネットワーク記憶部110に記憶されたテンプレートネットワーク140の各ノードについて、シードテンプレートに予め付されていた+1又は−1の活性値をもとにして、各ノード(テンプレート)の活性値を算出し、各ノード(テンプレート)にそれら活性値を付すためのテンプレート活性値算出部112と、テンプレートネットワーク記憶部110に記憶されたテンプレートネットワーク140の各ノード(テンプレート)のうち、テンプレート活性値算出部112により算出された活性値の絶対値が大きなもののみを抽出し、抽出したテンプレートによりテンプレートDB62を構築するための高活性度テンプレート抽出部114と、テンプレートDB構築のために予め決められた終了条件が成立したか否かを判定するための終了判定部116と、終了判定部116により終了条件が成立していないと判定されたことに応答して、テンプレートDB62に記憶されたテンプレートを新たなシードテンプレートとしてシードテンプレート記憶装置32を更新し、再度、テンプレートDB構築装置60によるテンプレートDB構築の処理を実行させるためのシードテンプレート更新部118とを含む。終了判定部116により終了条件が成立したと判定されたときには、テンプレートDB構築装置60の動作は終了し、矛盾表現獲得部64が起動する。
【0077】
後述するように、矛盾表現収集装置36の各部は、コンピュータハードウェアと、当該コンピュータハードウェアにより実行されるコンピュータプログラムとにより実現される。
【0078】
テンプレートペア生成部90は、単純にシードテンプレート記憶装置32に記憶されたシードテンプレートの全ての組合せと、接続詞記憶部34に記憶された全ての接続詞とを組合せることにより、テンプレートペアを生成するためのものである。テンプレートペアの典型例は、「(名詞1)を引き起こす」「ので」「(名詞2)を発生させる」のようなものである。
【0079】
名詞ペア収集部94は、以下のような処理を行なう。上記したテンプレートペア+接続詞の組合せと一文中で共起する名詞ペアを考えることができる。そのような名詞ペアは、以下に例示するように互いに正の関係にあるものと互いに負の関係にあるものとに分けられる。名詞ペアの正/負は、その名詞ペアと共起するテンプレートペアの活性/不活性と接続詞との組合せによって決まる。
【0080】
【表11】
テンプレートペア収集部100は以下のような処理を行なう。上記名詞ペア極性判定部98により正の関係としてのみインターネット40上に出現していると判定された名詞ペアを考える。テンプレートペア収集部100は、それらのうち、出現頻度が所定回数以上の名詞ペアだけを正の関係名詞ペアとして残す。同様に、負の関係としてのみインターネット40上に出現している名詞ペアについても、出現回数が所定回数以上の名詞ペアだけを負の関係名詞ペアとして残す。ここでのしきい値としての所定回数は、正の関係名詞ペアを選択するときと負の関係名詞ペアを選択するときとで異なっていても一致していてもよい。
【0081】
テンプレート活性マッチ判定部104は、残された正/負の関係の名詞ペア+接続詞と一文中で共起するテンプレートペアを、以下のテーブル12に基づく判定方法にしたがい、テンプレートの活性/不活性が同じもの(一致)と反対のもの(反対)とに分類する。このとき、あるテンプレートペアについて、インターネット40上でテンプレートの活性が一致して出現したり、反対の活性で出現していたりするものがある。これらについては、一致しているものと反対のものとの出現回数を比較し、多数決で決定する。
【0082】
【表12】
図4を参照して、
図2に示すテンプレートネットワーク構築部106を実現するためのプログラムは、テンプレートペア記憶部102にテンプレートペアが記憶され、テンプレート活性マッチ判定部104により各テンプレートペアについての活性マッチ判定が終了すると起動される。このプログラムは、メモリ上に所定の記憶領域を確保したり、それら記憶領域のうち、所定の変数のための領域に初期値を代入したり、初期の空のテンプレートネットワーク140を構築したりする初期化を行なうステップ150と、テンプレートペア記憶部102に記憶された全てのテンプレートペアに対し、処理154を実行するステップ152とを含む。処理154は、当該テンプレートペアを構成するテンプレートとその間のリンクとをテンプレートネットワーク140に追加する処理を行なうためのものである。なお、ステップ150では、テンプレートネットワーク140として空のネットワークが予め構築されているものとする。
【0083】
処理154は、処理対象のテンプレートペアに含まれるテンプレートの各々について、対応するノードがテンプレートネットワーク140にあるか否か、すなわちそのノードをテンプレートネットワーク140に追加すべきか否かを判定するステップ180と、ステップ180の判定が肯定的のときに実行され、テンプレートネットワーク140に追加すべきと判定されたノード(1個又は2個)をテンプレートネットワーク140に追加する処理を行なうステップ182と、ステップ180及び182の後に実行され、処理対象のテンプレートペアに対応するノード間に既にリンクがあるか否かを判定するステップ184と、ステップ184の判定が否定的であるときに、当該リンクをテンプレートネットワーク140に追加する処理を行なって処理154を終了するステップ186とを含む。ステップ184の判定が肯定的であるときには、このテンプレートペアに対する処理154の実行は終了する。
【0084】
テンプレートネットワーク構築部106を実現するプログラムはさらに、ステップ152による処理の完了後、構築されたテンプレートネットワーク140に、同義・含意関係辞書108を参照することによってリンクを追加するステップ164と、ステップ164の結果得られたテンプレートネットワーク140において、他のノードとの間のリンク数が所定のしきい値以下のノードを削除するステップ166と、各ノードがリンクしているノードの数に基づいて各リンクの重みを算出し(計算方法については後述する)、各リンクに付与して処理を終了するステップ168とを含む。
【0085】
図5を参照して、
図4のリンクの追加処理のステップ164で実行されるプログラム部分(ルーチン)は、テンプレートネットワーク140内のノードのうち、互いにリンクを持たないノードの対の全てに対して以下の処理202を実行するステップ200を含む。
【0086】
処理202は、処理対象のノード対の間に、特定の関係があるか否かを判定するステップ210と、ステップ210の判定が肯定的であるときに、処理対象のノード対の間に「同一」という属性を持つリンクを追加して処理202を終了するステップ212とを含む。ステップ210の判定が否定的である場合にも処理202を終了する。ここでいう特定の関係の有無の判定においては、以下に示すように、動詞の文法的情報、及び
図2に示す同義・含意関係辞書108に格納された単語の同義・含意関係が使用される。
【0087】
【表13】
ステップ168では、各リンクの重みが算出される。テンプレートiとテンプレートjとの間のリンクに付与される重みをw
ijとする。重みw
ijは以下の式(1)により算出される。
【0088】
【数2】
ただし、d(i)はテンプレートiとリンクされているテンプレートの数を示す。SAME(i,j)は、テンプレートiとテンプレートjとの間のリンクに「一致」属性が付されていることを示す。OPPOSITE(i,j)は、テンプレートiとテンプレートjとの間のリンクに「反対」属性が付されていることを示す。すなわち、テンプレートiとテンプレートjとに一致属性が付与されていれば、重みは正の値となり、反対属性が付与されていれば、重みの符号は逆転し、負となる。
【0089】
図2に示すテンプレート活性値算出部112は、テンプレートネットワーク記憶部110に記憶されたテンプレートネットワーク140の各ノードについて、以下に述べるような方法で各ノードの活性値を算出する。
図6を参照して、テンプレート活性値算出部112を実現するコンピュータプログラムは、テンプレートネットワーク記憶部110にテンプレートネットワーク140が記憶され、各リンクにそれぞれ重みが付されたことに応答して実行を開始する。このプログラムは、テンプレートネットワーク140内のノードのうち、シードテンプレートに対応するノードに、それらシードテンプレートに対して予め付与されていた活性値(活性シードテンプレートには+1、不活性シードテンプレートには−1)を設定し、他のノードには所定の初期値を設定するステップ240と、ステップ240の後、以下の式により定義される値E(x,W)の値を最適化(ここでは極小化)することにより各ノードの活性値を推定するステップ242とを含む。
【0090】
【数3】
ただしx
i及びx
jはそれぞれテンプレートi、jの符号付の活性値、xはそれら活性値からなるベクトル、Wはリンクの重みw
ijからなる行列を、それぞれ表す。この値Eは、ちょうど量子力学における電子のスピンのエネルギーの計算式に類似しており、量子力学におけるエネルギーの最小化の計算と同様に行なうことができる。この式のシグマの中の各項のうち、x
ix
jの値は、エネルギー最小化計算の後、x
i及びx
jの極性が同じときには正の値、異なるときには負の値となる傾向がある。重みw
ijの符号は、既に述べたように、x
i及びx
jの極性が同じときには正の値、異なるときには負の値となる。したがってシグマの中の各項の値は必ず正の値となる傾向があり、これを最大化することで一種の制約解消が行なわれる。なお、式(2)において、シグマの前に係数「−1/2」があることから、シグマの中を最大化することによりE(x,W)の値が極小化される。
【0091】
一方、
図1の矛盾表現獲得部64もコンピュータプログラムにより実現される。
図7を参照して、矛盾表現獲得部64を実現するためのコンピュータプログラムは、フレーズ群を生成するステップ280と、ステップ280で生成されたフレーズ群の中から、互いに矛盾する(相反する意味を持つ)表現と考えられる2つのフレーズからなる矛盾フレーズペアを選択するステップ282と、ステップ282で選択された矛盾フレーズペアについて、所定のスコアを用いてランキングして出力するステップ284とを含む。
【0092】
ここでいう矛盾ペアとは、以下の条件を充足するフレーズペアのことをいう。
【0093】
(1)両フレーズとも、1つの名詞と1つの活性又は不活性テンプレートからなる。例えば「(風邪)に罹る」と「(風邪)を予防する」のようなものである。
【0094】
(2)両フレーズに含まれる2つの名詞は、互いに同義(又は同一)である。例えば<風邪、感冒>又は<風邪、風邪>のような組合せである。
【0095】
(3)両フレーズに含まれる2つのテンプレートは、一方が活性で他方が不活性である。例えば「に罹る」(活性)と「を予防する」(不活性)というペアである。
【0096】
(4)2つのテンプレートは、インターネット上で共起する(係り受け関係を結ぶ)名詞を多く共有する。すなわち、これら2つのテンプレートは、分布類似度が高い。例えば、「に罹る」と共起する名詞として風邪、感冒、肺炎、…等が考えられるのに対し、「を予防する」と共起する名詞としては、風邪、感冒、肺炎、火事、災害等が考えられ、両者の間の分布類似度は高い。
【0097】
(5)各フレーズは、インターネット上で所定のしきい値以上の出現頻度を持つ。すなわち、各フレーズの名詞とテンプレートとは、このしきい値以上の頻度でもって係り受け関係を結ぶ。例えば、「(風邪)に罹る」の出現頻度≧しきい値、及び「(風邪)を予防する」の出現頻度≧しきい値がともに成立する必要がある。
【0098】
以上の処理を実行して矛盾ペアを抽出するための処理は、
図7のステップ280で実行される。
図8を参照して、このプログラム部分280は、インターネット40から名詞を取得するステップ320と、取得された名詞の全てに対し、以下の処理324を実行するステップ322とを含む。処理324は、処理対象となっている名詞について、以下の処理362をテンプレートDB62に記憶されている全てのテンプレートに対して実行するステップ360を含む。
【0099】
処理362は、処理対象の名詞に、処理対象のテンプレートを結び付けることで、あるフレーズを生成するステップ400と、そのフレーズのインターネット40上での出現頻度が上記したしきい値以上か否かを判定するステップ402と、ステップ402の判定が肯定的であるときに、そのフレーズをフレーズ群に追加して処理362を終了するステップ404とを含む。ステップ402の判定が否定的な場合には、そのフレーズはフレーズ群には追加しない。
【0100】
図8に示すプログラムを実行することにより、活性フレーズ及び不活性フレーズが多数生成される。例えば活性テンプレートとして「を引き起こす」及び「に罹る」があり、不活性テンプレートして「を防ぐ」及び「を予防する」があるものとする。インターネット40から得た名詞の例として「地震」、「津波」、「風邪」、「感冒」等があったとすると、出現頻度の高い活性フレーズ及び不活性フレーズとして以下のようなものが生成されるであろう。これらがフレーズ群に追加され、
図7のステップ282への入力となる。
【0101】
【表14】
図7のステップ282を実現するプログラム部分は、
図9に示すような制御構造を持つ。
図9を参照して、このプログラム部分は、予め矛盾フレーズペアを格納する領域として記憶装置内に確保していた領域をクリアするステップ440と、ステップ280で得られたフレーズ群のうち、全ての活性フレーズについて以下の処理444を行なうステップ442とを含む。
【0102】
処理444は、全ての不活性フレーズに対し、以下の処理472を実行するステップ470を含む。
【0103】
処理472は、処理対象の活性フレーズ及び不活性フレーズについて、両者に含まれる名詞が同一か否かを判定するステップ490と、ステップ490の判定が否定的であるときに、活性フレーズに含まれる名詞と同義である単語を例えば
図2に示す同義・含意関係辞書108と同種の辞書から検索するステップ498と、ステップ498で検索された単語のいずれかが不活性フレーズの名詞と一致しているか否かを判定するステップ500とを含む。ステップ500の判定が否定的であるときには、処理472の実行は終了する。
【0104】
ステップ490の判定が肯定的であるとき、及びステップ500の判定が肯定的であるときには、制御はステップ492に進む。ステップ492は、処理対象となっている活性フレーズと不活性フレーズとの分布類似度がしきい値より大きいか否かを判定する。ステップ492の判定が肯定的であれば制御はステップ494に進む。ステップ494では、各フレーズのインターネット40上での出現頻度が所定のしきい値以上か否かを判定する。判定が肯定的であれば処理対象の活性フレーズと不活性フレーズとのペアを矛盾フレーズペア群に追加し(ステップ496)、さもなければこのペアは捨てる。
【0105】
図7のステップ284で実行されるランキングを実現するプログラム部分は、本実施の形態では
図10に示すような制御構造を持つ。
図10を参照して、このプログラムは、
図7のステップ282により選択された全ての矛盾フレーズペアに対して、その矛盾フレーズペアの矛盾度合いを示すスコアを算出するステップ532を行なうステップ530と、ステップ530の処理が全ての矛盾フレーズペアに対して完了した後、全ての矛盾フレーズペアをスコアの降順でソートして出力し、処理を終了するステップ534とを含む。
【0106】
ステップ532で計算されるスコアは、本実施の形態では以下の式で算出されるスコアC
t(p
1,p
2)である。
【0107】
【数4】
ただし、p
1及びp
2はそれぞれ、矛盾ペアを構成するフレーズを表し、t
1及びt
2はそれぞれ、p
1及びp
2に含まれるテンプレート、s
1及びs
2はそれぞれ、テンプレートt
1及びt
2の活性値、記号|s
1|は活性値s
1の絶対値、sim(t
1,t
2)は、テンプレートt
1とt
2との分布類似度を、それぞれ示す。
【0108】
[動作]
この第1の実施の形態に係る矛盾表現収集システム30は、以下のように動作する。
図1を参照して、シードテンプレート記憶装置32には予め少数のシードテンプレートが格納される。各シードテンプレートが活性か否かについても予め判断されており、各テンプレートにそのタグが付されている。一方、接続詞記憶部34には、日本語の順接接続詞及び逆接接続詞が格納されている。これらについても、予め順接か逆接かを示す情報を付与しておく。
【0109】
テンプレートDB構築装置60は以下のように動作してテンプレートDB62を構築する。
図2を参照して、テンプレートペア生成部90は、シードテンプレート記憶装置32に記憶された全てのシードテンプレートの全ての組合せと、接続詞記憶部34に記憶された接続詞との可能な組合せを全て生成し、これらを全てテンプレートペアとしてテンプレートペア記憶部92に記憶させる。名詞ペア収集部94は、テンプレートペア記憶部92に記憶されたテンプレートペアの各々について、そのテンプレートペアと共起する名詞ペアをインターネット40から収集し、名詞ペア記憶部96に記憶させる。名詞ペア極性判定部98は、これら名詞ペアの各々について、その名詞ペアと共起するテンプレートペア内のテンプレートの活性/不活性と、テンプレートペアを結び付ける接続詞の種類とに応じて、その名詞ペアが正の関係か負の関係かを判定し、各名詞ペアにタグを付与する。
【0110】
続いて、テンプレートペア収集部100が、各名詞ペアについて、インターネット40からその名詞ペアと共起するテンプレートペアを収集し、テンプレートペア記憶部102に格納する。これらテンプレートペアの各々について、テンプレート活性マッチ判定部104が、共起する名詞ペアの正/負と、接続詞の種類(順接、逆接)とに応じ、テンプレートペアを構成するテンプレートの活性/不活性が互いに同じか、反対かを決定する。このとき、あるテンプレートペアについて、それらの活性が同じとなるものと反対となるものとが存在する場合には、同じものと反対のものとを出現回数を比較し、多数決により一致するか反対かを決定する。テンプレート活性マッチ判定部104は、テンプレートペア記憶部102に記憶されたテンプレートペアの各々について、それらの活性/不活性が同じか反対かを示すタグを付与する。
【0111】
テンプレートネットワーク構築部106は、テンプレートペア記憶部102に記憶されたテンプレートペアに基づいて、テンプレートネットワーク140を構築する。テンプレートネットワーク構築部106は、テンプレートペアを構成する2つのテンプレートに対応するノードがもしネットワークになければネットワークに追加し、そのリンクももしなければ追加する。この処理を全てのテンプレートペアについて実行することで、テンプレートネットワーク140の原型を構築する。テンプレートネットワーク構築部106はさらに、ネットワーク内で互いにリンクのないノードの対全てについて、同義・含意関係辞書108を参照して、それらノードに対応するテンプレートの間にテーブル13に示すような特定の関係があるか否かを判定し、あれば互いの間に「同一」というリンクを張る。さらにテンプレートネットワーク構築部106は、このようにして構築されたネットワークの各リンクに対し、式(1)によって算出される重みを付与する。このようにしてリンクが追加されたテンプレートネットワーク140はテンプレートネットワーク記憶部110に記憶される。
【0112】
テンプレート活性値算出部112は、
図6に示す処理を実行する。すなわち、最初にシードテンプレートに、その活性/不活性に応じて+1又は−1の活性値を付与する(ステップ240)。さらに、電子スピンのエネルギーに類似した量として定義された値E(x,W)を最小化する処理を実行することにより(ステップ242)、各テンプレートの活性値を推定し、各テンプレートにその活性値を付与する。これら活性値の値には、負のものもあるし正のものもある。高活性度テンプレート抽出部114は、このようにして活性値が推定されたテンプレートの内、活性値の絶対値が所定のしきい値よりも大きなものを選択し、それらテンプレートを用いてテンプレートDB62を構築する。なお、ここでは、しきい値により選択するのではなく、活性値の値の大きさにしたがって順位をつけるようにしてもよい。
【0113】
図2に示す終了判定部116は、テンプレートDB62が構築された時点で、所定の終了条件が充足されたか否かを判定する。終了条件としては、例えば繰返し数が所定数を超えた、又は、テンプレート数が所定数を超えた、というような条件を想定できる。もしも終了条件が成立していれば、テンプレートDB62が完成したものとされる。もしも終了条件が成立していなければ、シードテンプレート更新部118は、テンプレートDB62に含まれるテンプレートをシードテンプレートして、シードテンプレート記憶装置32を更新する。これらシードテンプレートには、以上の処理により計算された活性値が付与されているので、以後の処理ではこれらの活性値を使用してこれまで記載したのと同様の処理を実行する。
【0114】
以上の処理を繰返し、終了条件が充足されたところでテンプレートDB62が完成したことになる。以後、矛盾表現獲得部64がこのテンプレートDB62を使用して、インターネット40から矛盾表現を獲得する処理を実行する。
【0115】
具体的には矛盾表現獲得部64は、
図7に示すように、フレーズ群の生成を行なう。すなわち、
図8に示すように、インターネット40から名詞を取得し(ステップ320)、各名詞とテンプレートDB62内の各テンプレートとの組合せの全てに対し(ステップ322,処理324,ステップ360)、その名詞とそのテンプレートとからなるフレーズを生成する(ステップ400)。そのフレーズのインターネット40上における出現頻度が予め定められた値以上であれば、そのフレーズを以下の処理で使用するフレーズ群に追加し、さもなければそのフレーズを捨てる。以上の処理を全ての名詞と全てのテンプレートとの組合せに対して実行することで、インターネット40上である頻度で出現するフレーズを得ることができる。
【0116】
次に矛盾表現獲得部64は、このようにして生成されたフレーズ群の中から以下のようにして矛盾フレーズペアを選択する。すなわち、最初に矛盾フレーズペアの格納領域をクリアし(
図9のステップ440),フレーズ群に含まれる全ての活性フレーズと全ての不活性フレーズとの全ての組合せに対し(ステップ442,処理444,ステップ470),両者に含まれる名詞が同一又は同義か(ステップ490、498,500)を調べる。両者の名詞が同一又は同義の場合、さらにそのフレーズ対に含まれるテンプレートの対の分布類似度がしきい値より大きいか否かを調べる。判定が否定的であればそのフレーズペアは捨てる。判定が肯定的なら、次にステップ494でそのフレーズ対のインターネット40上での出現頻度が、いずれもしきい値以上か否かを調べる。判定が否定的ならそのフレーズペアは捨てる。判定が肯定的ならこのフレーズペアを矛盾フレーズペア群に追加する(ステップ496)。
【0117】
矛盾表現獲得部64は、以上の処理を全ての活性フレーズと不活性フレーズとの組合せからなるフレーズペアについて繰返し行なう。その結果、大量の矛盾フレーズペア群を自動的に得ることができる。
【0118】
さらに、このようにして得られた矛盾フレーズペアの全てについて、
図10のステップ532により示されるように矛盾度合いのスコアを算出する。このスコアを用い、矛盾フレーズペアをスコアの降順でソートして出力する。
【0119】
以上の処理により、大量の矛盾フレーズペアを自動的に得ることができる。人手は、最初のシードテンプレートを設定し、それらの活性を判断して活性値を設定する程度でよい。それ以外のリソースはいずれも既存のものを使用できる。さらに、最終的に矛盾フレーズペアをスコアの降順でソートすることにより、矛盾表現として信頼性が高いものから順番に矛盾表現を選択できる。
【0120】
<第2の実施の形態>
上記した第1の実施の形態の矛盾表現収集システム30のうち、テンプレートDB構築装置60によってテンプレートDB62を得ることができる。このテンプレートDB62は、第1の実施の形態のような矛盾表現の獲得だけではなく、様々な処理に使用できる。第2の実施の形態は、テンプレートDB62を因果関係の取得に使用する例である。この第2の実施の形態は、
図1の矛盾表現獲得部64に代えて、インターネット40から因果関係表現を獲得するための処理部を採用することで実現できる。そうした処理部は、コンピュータプログラムで実現できる。
【0121】
図11を参照して、因果関係の獲得処理は、以下のようにして行なえる。まず、ステップ570において、一文中で互いに順接接続詞で接続された形でインターネット40上の仮想コーパス内で共起しているフレーズペアと、そのフレーズペア中の名詞からなる名詞ペアとをインターネット40から収集する。
【0122】
続いて、このようにして得られた全てのフレーズペアに対して、以下の処理574を実行する(ステップ572)。すなわち、処理574では、処理対象のフレーズペア内の名詞ペアの関係が正の関係か否かを判定する。判定が肯定的な場合には、さらに、テンプレートペアの活性/不活性が同じか反対かを判定する(ステップ592)。ステップ592の判定が否定的ならこの名詞のペアは捨てる。ステップ592の判定が肯定的ならこのフレーズペアを因果関係ペア群に追加する(ステップ594)。
【0123】
一方、ステップ590の判定が否定的なら、ステップ596でテンプレートペアの活性/不活性が互いに反対か否かを判定する。判定が否定的ならこのフレーズペアは捨てる。判定が肯定的ならこのフレーズペアを因果関係ペア群に追加する。
【0124】
以上の処理が全てのフレーズペアに対して終了すると、結果として得られた因果関係ペア群内の全ての因果関係フレーズペアに対してステップ578の処理を実行する(ステップ576)。ステップ578で各因果関係フレーズペアに対して行なわれる処理は、因果関係強度のスコアC
s(p
1,p
2)を以下の式により算出する処理である。
【0125】
【数5】
ただしp
1,p
2はそれぞれ、因果関係ペアを構成するフレーズ、s
1及びs
2はそれぞれ、フレーズp
1,p
2を構成するテンプレートの活性値、記号|s
1|は活性値s
1の絶対値、n
1,n
2はそれぞれ、フレーズp
1,p
2に含まれる名詞、npfreq(n
1,n
2)は、n
1,n
2が正の関係なら、n
1,n
2が活性/不活性の同じテンプレートペアと一文中で共起する頻度、n
1,n
2が負の関係なら、n
1,n
2が活性/不活性の異なるテンプレートペアと一文中で共起する頻度を、それぞれ表す。
【0126】
このようにして全ての因果関係フレーズペアに対し因果関係強度のスコアを算出した後、ステップ580で因果関係フレーズペアをスコアの降順でソートし、出力する。
【0127】
このような処理を実行することにより、因果関係を表すフレーズのペアを大量に、かつ自動的にインターネット40から収集できる。
【0128】
なお、因果関係取得の方法はこれには限定されない。例えば、次の条件を全て満たすフレーズペアを因果関係ペアとして獲得するようにしてもよい。
【0129】
(1)両フレーズとも、1つの名詞と1つの活性/不活性フレーズとからなる。例えば、「(地震)を起こす」と「(津波)が発生する」のようなフレーズペアである。
【0130】
(2)両フレーズは、順接接続詞、例えば「〜て」で結ばれる形で、一文中に共起している。例えば、「断層が地震を起こして、津波が発生した。」のようなペア。
【0131】
具体的には、インターネット40から、順接接続詞とともに一文で共起しているテンプレートペアと、その一文で共起している名詞ペアとを取得する。これらが因果関係ペアの原型と考えられる。
【0132】
こうして得られた因果関係フレーズペアについて、例えば以下の式(5)により因果関係強度スコアを算出する。そして全ての因果関係フレーズペアを、因果関係強度スコアの降順にソートして出力する。
【0133】
【数6】
上記した第2の実施の形態におけるスコア算出に、式(4)ではなくこの式(5)を用いるようにしても良い。
【0134】
<第3の実施の形態>
第2の実施の形態では、インターネット40上に存在する記載について、因果関係を記載していると思われる因果関係を抽出している。しかし、世の中には、因果関係と見なせるものは無数に存在している。第2の実施の形態の方法では、それらの中で、実際にインターネット40上に文として記載されたもの、すなわち人間の表現活動により根拠が与えられているとみなすことのできるもののみが抽出されている。しかも、1つの因果関係であっても、多種多様な言語で表現できる。例えば、日本語に限定して、ある因果関係「米国産牛肉を入手する→牛丼を作る」の周辺に存在する因果関係は、以下に例を示すように多様な形で表現できる。
【0135】
【表15】
このように、インターネット40上に直接表現はされていないが、手持ちの表現から、実際に存在すると思われる因果関係の表現を生成できると便利である。例えば、多様な表現言語で表される無数の因果関係に対するカバー率を向上させることが期待でき、自然言語を用いた様々な言語処理及び推論等の精度を高めることができる。
【0136】
第1の実施の形態で述べたテンプレートDB62があれば、インターネット40上に実際に存在していることが確認はできないが、因果関係として妥当と思われるフレーズペアを因果関係の仮説として生成できる。以下、そのような機能を実現する実施の形態について説明する。
【0137】
図12(A)を参照して、因果関係を記述したデータベース(因果関係DB632)があり、推論システム630がこの因果関係DB632を使用して、入力から推論できる仮説を出力するように設定されているものとする。この因果関係DB632に、「米国産牛肉を入手する→牛丼を作る」という因果関係634があり、米国産牛肉に関してはこの因果関係のみが因果関係DB632に含まれているものとする。
【0138】
こうした状況で、仮に新聞に「米国産牛肉、輸入禁止に」という記事636があったという情報が得られ、その結果、どのような影響が生じるだろうか、という問が推論システム630に与えられたものとする。推論システム630が利用できる因果関係は因果関係634のみである。推論システム630には、米国産牛肉と輸入禁止とに関する因果関係についての記述はない。その結果、推論システム630の出力638は得られないであろう。
【0139】
一方、
図12(B)を参照して、米国牛肉に関する別の因果関係DB672を考える。因果関係DB672は、因果関係634だけでなく、上のテーブル15に示したその他の因果関係群674も含む。そして、推論システム670がこの因果関係DB672を用いて、問に対する回答を推論するものとする。すると、
図12(A)の場合と同様の問が与えられたときに、推論システム670は、因果関係DB672の中の因果関係「米国産牛肉の輸入が禁止される→牛丼が食べられない」に基づいて、「牛丼が食べられなくなりますよ」という出力676を得ることができる。こうしたシステムが、
図12(A)に示す推論システム630と比較してはるかに有用であることは明らかである。
【0140】
問題は、インターネット40からは因果関係634しか得られないときに、どうすれば因果関係群674等が得られるか、ということになる。ここで、第1の実施の形態で説明したテンプレートDB62を用いることが有用である。
【0141】
テンプレートDB62を用い、インターネット40上に見出せる因果関係から、インターネット40上に直接は存在していない因果関係の仮説を出力するためのシステムは、コンピュータハードウェアと、そのコンピュータハードウェアにより実行されるプログラムとにより実現可能である。このシステムは、
図1に示すテンプレートDB62とともに用いられる。
【0142】
図13を参照して、本実施の形態に係る、そのような機能を実現するためのプログラムは、因果関係にある名詞のペア(因果関係名詞ペア)、一方が他方の材料にあたる名詞のペア(材料関係名詞ペア)、一方が他方を抑制する関係にある名詞ペア(抑制関係名詞ペア)を取得するステップ710を含む。これらの名詞ペアはいずれも、既存の技術を用いて、所定のパターンにマッチする表現から取得できる。例えば、因果関係名詞ペアの場合には、「AがBを引き起こす」のようなパターンにマッチする表現を選び、その名詞A及びBを因果関係名詞ペアとして取得する。材料関係名詞ペアの場合には、「AでBを作る。」のようなパターンにマッチする表現から名詞A及びBを取得する。抑制関係パターンの場合には、「AがBを防ぐ」のようなパターンにマッチする表現から名詞A及びBを取得する。これらの例を以下のテーブル16に示す。なお、因果関係の仮説を生成するためにこのステップ710で取得する名詞ペアは、上記した3種の関係の名詞ペアには限定されず、この他にも様々な関係が考えられる。
【0143】
【表16】
このプログラムはさらに、ステップ710で取得した全ての名詞ペアに対し、以下のプログラム部分714を実行するステップ712を含む。
【0144】
プログラム部分714は、処理対象の名詞ペア内の名詞の各々について、その名詞と頻繁に係り受け関係を結ぶテンプレートを同定するステップ740と、名詞ペアが互いに正の関係にあるか否かを判定して制御の流れを分岐させるステップ742と、ステップ742の判定が肯定的であるときに実行され、ステップ740で同定されたテンプレートを組合せたペアのうち、順接接続詞とともに頻繁にインターネット40上に共起し、かつ互いの活性/不活性が同じものを選択するステップ744と、ステップ742の判定が否定的であるときに実行され、ステップ740で同定されたテンプレートを組合せたペアのうち、順接接続詞とともに頻繁に共起し、かつ、互いの活性/不活性が反対のものを選択するステップ746とを含む。ステップ744及びステップ746で「頻繁に」というときは、本実施の形態では、インターネット40上での出現頻度が予め定められた値よりも大きい場合のことをいう。
【0145】
プログラム部分714はさらに、ステップ744及び746に引き続いて実行され、ステップ744又はステップ746で選択された全てのテンプレートペアに対して、以下に説明するプログラム部分750を実行するステップ748を含む。
【0146】
プログラム部分750は、処理対象の名詞ペアに、処理対象のテンプレートペアを添えることによって因果関係仮説を生成するステップ770と、ステップ770で生成された因果関係仮説を因果関係仮説群に追加して処理を終了するステップ772とを含む。
【0147】
この
図13に示される制御構造を持つプログラムを、インターネット40に接続されたコンピュータで実行することにより、インターネット40上に存在しない表現であって、かつ何らかの因果関係を表す表現(名詞+テンプレートのペア)である因果関係仮説を大量に得ることができる。
【0148】
例えば以下のような状況があり得る。材料関係名詞ペア<牛肉、牛丼>(正の関係にあると見なせる)及び抑制関係名詞ペア<抗癌剤、癌>(負の関係と見なせる)と、次のテーブル17に示すような活性/不活性テンプレートとが前提として与えられたものとする。
【0149】
【表17】
ステップ740の処理により、次のようなテンプレートが同定される。
【0150】
【表18】
さらに、これらのテンプレートについて、ステップ742〜746の処理をしてテンプレートペアを選択し、各テンプレートペアについてプログラム部分750を実行することにより、次のような因果関係仮説が得られる。
【0151】
【表19】
以上のように、本実施の形態に係るシステムによれば、テンプレートDB62を用い、インターネット40から収集した名詞ペアに基づいて、インターネット40上には存在しない多数の因果関係仮説を生成できる。その結果、インターネット40上から得られる因果関係だけでなく、はるかに多くの因果関係仮説を得ることができる。したがって、推論システムのベースとなる因果関係として幅広い範囲をカバーすることができ、幅広い質問に対し、推論システムが回答を見出すことが可能になる。
【0152】
<第4の実施の形態>
因果関係仮説の生成手法としては、第3の実施の形態に係るもの以外にも種々考えられる。この第4の実施の形態に係る手法は、インターネット40から直接的に獲得した因果関係ペア(因果関係にあるフレーズのペア)、又は、第3の実施の形態に係る手法により獲得した因果関係仮説(因果関係ペアの一種)と、第1の実施の形態で求めた矛盾表現(互いに矛盾するフレーズからなるペア)とから、因果関係仮説を生成する、というものである。具体的には、以下のようにする。なお、以下の処理の前提として、フレーズ「牛肉を輸入する」に対してフレーズ「牛肉が輸入禁止になる」という矛盾表現が予め得られており、フレーズ「牛丼を食べる」に対して「牛丼が食べられない」という矛盾表現が予め得られているものとする。
【0153】
(1)因果関係を選ぶ。例えば「牛肉を輸入する→牛丼を食べる」を選ぶ。
【0154】
(2)因果関係を構成する2つのフレーズの各々について、そのフレーズを、そのフレーズと矛盾する(反対の意味の)フレーズで置換する。例えば「牛肉を輸入する」を「牛肉が輸入禁止になる」で置換し、「牛丼を食べる」を「牛丼が食べられない」で置換する。
【0155】
(3)新たな因果関係仮説「牛肉が輸入禁止になる→牛丼が食べられない」が得られる。
【0156】
この処理の結果、獲得済の因果関係又は因果関係仮説の各フレーズを、それぞれ矛盾するフレーズで置換することにより、新たな因果関係仮説が自動的に得られることになる。
図14を参照して、この実施の形態をコンピュータハードウェアにより実現するためのプログラムは、既に因果関係ペアが得られていることを前提として、各因果関係ペアに対して以下のプログラム部分812を実行するステップ810を含む。
【0157】
プログラム部分812は、処理対象の因果関係ペアのうち、左側フレーズ(原因を表すフレーズ)に対する矛盾フレーズの全てに対して、以下のプログラム部分842を実行するステップ840を含む。
【0158】
プログラム部分842は、処理中の因果関係ペアの左側フレーズを、そのフレーズと矛盾するフレーズ(ステップ840で処理対象に選択されている矛盾フレーズ)と置換するステップ870と、処理中の因果関係ペアの右側フレーズと矛盾するフレーズの全てに対して、以下のプログラム部分874を実行するステップ872とを含む。
【0159】
プログラム部分874は、処理中の因果関係ペアの右側フレーズを、そのフレーズと矛盾するフレーズで置換するステップ910と、ステップ910の処理の完了により新たに得られたフレーズペアを新たな因果関係仮説として因果関係仮説群に追加してプログラム部分874を終了するステップ912とを含む。
【0160】
以上の制御構造を持つプログラムによれば、処理対象となる全ての因果関係ペアについて、それらの左側フレーズをその左側フレーズと矛盾するフレーズで、右側フレーズをその右側フレーズと矛盾するフレーズで、それぞれ置換することで新たな因果関係仮説を得ることができる。左側フレーズ、右側フレーズがそれぞれ複数の矛盾ペアを持つ場合、生成される因果関係仮説の数は乗算的に増加する。しかもこの処理には、人手を必要としない。したがって、非常に広い範囲をカバーする因果関係仮説を、自動的に生成できる。
【0161】
<他の応用>
《同義・含意表現の精度の向上》
上記実施の形態は、いずれも最終的には何らかの形のフレーズペアを得る。しかし、本発明により得られるテンプレートペアは、そのような実施の形態で利用可能なだけではない。他にも種々の利用を考えることができる。
【0162】
その第1の例は、同義・含意表現の獲得時の精度の向上のためにテンプレートペアを用いる、というものである。一般的に、同義・含意表現は、両者の出現文脈の類似性(分布類似度)を手がかりに、テキスト中から獲得される。例えば、以下のような例が考えられる。
【0163】
【表20】
この例のうち、同義関係において、「を輸入する」の出現文脈が「名詞1」、「をインポートする」の出現文脈が「名詞2」であると考える。すると、名詞1と名詞2とが一致するか同義の単語であることが多い。これは、これら2つのフレーズの意味が類似している(同義)ためである。同様に、「が輸入禁止になる」の出現文脈が「名詞3」、「が入手困難になる」の出現文脈が「名詞4」であると考える。すると、名詞3の形成する集合が、名詞4が形成する集合の部分集合となる傾向が強い。したがって、同義関係の場合も、含意関係の場合も、両者のテンプレートの出現文脈は類似し、分布類似度は高くなる。同義・含意関係は、こうした関係を用いて獲得する。
【0164】
ところが、分布類似度は、2つのテンプレートの同義・含意関係がある場合だけではなく、互いに矛盾する(反対の)関係であることも多い。例えば、「(名詞1)を輸入する」と「(名詞2)が輸入禁止になる」とは、矛盾する関係にある。しかし、名詞1と名詞2には、同じ名詞が入ることが多く、結果として分布類似度は高くなってしまう。したがって、同義・含意表現において、本来は矛盾する意味であるテンプレート同士が同義又は含意表現として選択されてしまうという問題がある。
【0165】
テンプレートDB62を用いることにより、そうした問題を解決できる。すなわち、従来の方法で抽出された、同義・含意表現の候補となる言語表現ペアについて、両者のテンプレートの活性/不活性が一致するか否かを調べる。両者の活性/不活性が一致すれば、それらテンプレートは同義又は含意関係にあると考えられる一方、両者の活性/不活性が一致していなければ、これらテンプレート同士は矛盾関係にあると判定できる。
【0166】
ただし、この判定は、名詞のように活性/不活性という属性が該当しない言語表現には適用できない。
【0167】
《文境界をまたぐ因果関係名詞ペアの獲得》
従来の因果関係名詞ペアを獲得する手法の大部分は、あるパターンで一文内に共起している名詞のペアを抽出する、というものである。しかし、そうした手法では、一文中に記述されている因果関係ペアしか獲得できない。一方、現実には、一文中に共起している表現以外でも、因果関係の表現があり得る。特に、テキスト中で互いに近い位置に存在している表現のペアの中に、因果関係を表しているものも多い。例えば、「東北で地震が起きた。その後、大勢の人が津波に襲われた」というような表現である。
【0168】
このように文をまたいで出現する因果関係名詞ペアについて、テンプレートDB62を用いて以下のようにして獲得できる。
【0169】
まず、因果関係又は因果関係仮説(いずれもフレーズのペア+順接接続詞の形)を何らかの手法で準備する。実施の形態2又は3に記載の手法を用いても良い。これらの中で頻出するテンプレートペアを抽出する。例えば「が起きる→に襲われる」、「を引き起こす→が発症する」等のテンプレートペアを得ることができる。
【0170】
次に、上の手続きにより得られたテンプレートペアの各々について、インターネット40上で、近接する、異なる2文で共起しているものを検出する。検出されたテンプレートペアについて、それらテンプレートと共起している名詞ペアを抽出する。このようにして得られた名詞ペアは、もともと因果関係を構成していたテンプレートペアと共起しているので、やはり因果関係にある名詞ペアである可能性が高い。しかもこれら名詞ペアと、その名詞ペアと共起するテンプレートペアとが一文内で共起してはいない。したがって、既存の手法で得られる因果関係名詞ペアと比較して、より広い範囲の因果関係名詞ペアを獲得できる。
【0171】
<実施の形態の作用・効果>
以上のように本発明の実施の形態によれば、以下のような効果が得られる。
【0172】
テキストに書かれている、書かれていないを問わず、大量の因果関係を持つ、フレーズの対及び名詞の対が獲得できる。特に、その内の一部はテキストに書かれていない新規な仮説を含むことが論理的に可能である。つまり、インターネット40上の仮想的なコーパス等に存在する大量のテキストから、インターネット40上に記載がない新規な知識に関する仮説を生成できる。
【0173】
さらに、以上の実施の形態によれば、テキスト中のフレーズ間の意味的な矛盾を正確に認識できる。この結果、矛盾だけでなく、同義・含意関係の認識の精度も向上する。
【0174】
これらの効果により、テキストを検索するだけではなく、テキストの内容に基づいて推論を行なったり、互いに矛盾する情報又はそうした情報の間の因果関係をユーザに提供したりできる。その結果、情報の信頼性を検証するための手段、及び、将来生じ得る事態を事前に予測するための手段を提供できる。
【0175】
最も実用に近いと考えられるのは、任意の言語で書かれた質問に対して、賢く、端的に、的確な回答を与える質問応答システム等に対する本発明の適用である。本発明は、音声認識技術と組合せることにより、コンピュータに対して何か質問を発してその回答を得たりするシステム又はコールセンター等で過去の事例を蓄積したデータベースを維持しているシステムにおける利用に特に適合性が高い。
【0176】
例えば、上に述べたような実施の形態のシステムによって、非常に広い範囲をカバーする因果関係のデータベースを整備できる。そうしたデータベースがあれば、従来の質問応答技術が苦手としてきた、因果関係に関する質問、つまり「WHY型の質問」に対し、適切に回答できるようになる。例えば、「なぜ、超硬工具の価格が上昇しているのか?」といった質問に対して「中国がタングステンを輸出禁止にしているからである」といった回答を与える事は、従来技術では困難であった。しかし上に述べた実施の形態により得られる因果関係データベースを用いると、そうした回答を容易に取得できるようになる。
【0177】
さらには、上に述べた仮説生成技術によって、インターネット40上に存在していない情報も仮説として提示できるようになる。例えば、これまでの質問応答システムでは、未知の出来事の帰結又は原因を答える事は不可能であった。しかし、上に述べた実施の形態はそのような技術を可能とする。例えば、上に述べた実施の形態の技術を用いると、超硬工具の値段が実際に上昇する以前に、「仮に超硬工具の価格が上昇するならば原因は何がありえるか?」といった質問が与えられたときに、「中国がタングステンを輸出禁止にすれば、超硬工具の価格が上昇する可能性がある」といった仮説を回答として返す事ができるようになる。こうしたことが可能になれば、質問者がリスクをヘッジする方策を取ることも可能となる。「仮に中国がタングステンを輸出禁止にするとすれば、その原因はなにか?」「超硬工具の価格が上昇すれば、株価が下落する企業はどこか」といった、仮想的で既存テキストに記載されていない状況に関する質問に対しても、人手を介することなくシステムが適切な回答を自動生成できる。さらに、質問を受ける前に、そうした条件とその帰結とを先回りして発見し、提示することも可能になる。すなわち、仮想的な将来シナリオをシステムが列挙できることになる。その結果、ビジネスのみならず、政治、経済、科学技術等も含め、意思決定の際の強力なツールになるものと想定される。そのようなシステムが実現されれば、情報サービス技術としては他にない高度なものであり、ビジネス上の価値も高いと考えられる。
【0178】
他の例として、ある商品に関して過去の事例と矛盾するようなトラブルに関するクレームが顧客からコールセンターに寄せられるケースを考えることができる。通常、コールセンターでは、キーワードによりデータベースから情報を検索して適切な回答を得ている。しかし、過去の事例と矛盾するようなトラブルの場合、情報を検索しても適切なものは得られない。したがって、従来の手法はこうしたトラブルに対処する上では無力であった。しかし、上記実施の形態による矛盾の自動認識という技術を適用すれば、少なくとも新たなクレームが過去の事例と矛盾する事例であることをシステムが認識し、オペレータにその旨を提示できる。その結果から、例えばオペレータは何ら情報がない場合と比較してはるかに的確に対応できる。例えば、新たなクレームが過去の事例と矛盾していることから、顧客がトラブルを誤認識しているか、又は、このトラブルが未知のトラブルである可能性があること等を顧客に提示できる。その結果、従来と比較してよりスムースな問題解決を行なえる。
【0179】
なお、上記実施の形態によると、「ため」「ので」のような手がかりとなる表現を利用せずに因果関係の自動認識が行なえる。辞書に相当する情報も自動取得できる。したがってその適用範囲は劇的に広くなる。
【0180】
さらに、上記実施の形態では、動詞を活性/不活性/中立の3種に分類する。このような分類の仕方は従来考えられていなかった。このうち、不活性な述語に関しては対応する分類が提案されたことはない。矛盾又は因果関係の認識においては、述語(テンプレート)の活性/不活性の組合せが重要なファクターであり、両者がそろって有用となる。したがって、このような活性/不活性という分類、さらには活性/不活性/中立という分類を持たない従来技術は、因果関係の自動認識、矛盾の認識において上記実施の形態のような効果を与えることはできない。
【0181】
上記実施の形態では、さらに、従来技術が取り扱ってきた「コレステロール」「脳梗塞」の間の因果関係のように、単語間の因果関係が取得できるだけではない。例えば、「コレステロールを摂取する」ことが「脳梗塞に襲われる」ことの原因である、といったような、フレーズ単位の仮説も生成できる。単語間の意味的関係に関しても、上記実施の形態によれば、従来法では取得できないものを取得可能になる。その結果、上記実施の形態は、単語間の意味的関係に関する仮説生成の技術を従来と比較してより強力にするといえる。
【0182】
さらに、同義・含意関係の認識において、上記実施の形態では、「引き起こす」「防ぐ」等の動詞を異なるラベル(活性/不活性)に分類する事を前もって行なう。そして、異なるラベルに分類された動詞は同義と認識しない、という制約を課す。こうした制約を課すことにより、反義語でも分布類似度が高いために同義・含意として認識されることが防止できる。したがって、上記実施の形態は、同義・含意関係の認識の精度を高めることができる。
【0183】
[コンピュータによる実現]
上記実施の形態に係るシステムは、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。
図15はこのコンピュータシステム930の外観を示し、
図16はコンピュータシステム930の内部構成を示す。
【0184】
図15を参照して、このコンピュータシステム930は、メモリポート952及びDVD(Digital Versatile Disc)ドライブ950を有するコンピュータ940と、キーボード946と、マウス948と、モニタ942とを含む。
【0185】
図16を参照して、コンピュータ940は、メモリポート952及びDVDドライブ950に加えて、CPU(中央処理装置)956と、CPU956、メモリポート952及びDVDドライブ950に接続されたバス966と、ブートアッププログラム等を記憶する読出専用メモリ(ROM)958と、バス966に接続され、プログラム命令、システムプログラム、及び作業データ等を記憶するランダムアクセスメモリ(RAM)960とを含む。コンピュータシステム930はさらに、他端末との通信を可能とするネットワークへの接続を提供するネットワークインターフェイス(I/F)944を含む。
【0186】
コンピュータシステム930を上記した各実施の形態のシステムの各機能部として機能させるためのコンピュータプログラムは、DVDドライブ950又はメモリポート952に装着されるDVD962又はリムーバブルメモリ964に記憶され、さらにハードディスク954に転送される。又は、プログラムは図示しないネットワークを通じてコンピュータ940に送信されハードディスク954に記憶されてもよい。プログラムは実行の際にRAM960にロードされる。DVD962から、リムーバブルメモリ964から、又はネットワークを介して、直接にRAM960にプログラムをロードしてもよい。
【0187】
このプログラムは、コンピュータ940を、上記実施の形態に係るシステムの各機能部として機能させるための複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ940上で動作するオペレーティングシステム(OS)若しくはサードパーティのプログラム、又は、コンピュータ940にインストールされる各種プログラミングツールキットのモジュールにより提供される。したがって、このプログラムはこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット内の適切なプログラムツールを呼出すことにより、上記したシステムとしての機能を実現する命令のみを含んでいればよい。コンピュータシステム930の動作は周知である。したがってここでは繰返さない。
【0188】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。