【文献】
江原 暉将 外1名,確率モデルによる省略主語の補完,NHK技研R&D,日本,日本放送出版協会,1997年 2月15日,pp.12-28
【文献】
大野 雅之 外4名,分散表現に基づく選択選好モデルの文脈化,情報処理学会 研究報告 自然言語処理(NL) 2016−NL−225 [online],日本,情報処理学会,2016年 1月15日,pp.1-9
(58)【調査した分野】(Int.Cl.,DB名)
テキスト文の文脈中で、ある単語と一定の関係を持つ別の単語であって、前記テキスト文だけからは当該ある単語と前記関係を持つことが明確でない前記別の単語を特定する文脈解析装置であって、
前記テキスト文中で、前記ある単語を解析対象として検出するための解析対象検出手段と、
前記解析対象検出手段により検出された解析対象について、当該解析対象と前記一定の関係を持つ前記別の単語である可能性のある単語候補を前記テキスト文中で探索するための候補探索手段と、
前記解析対象検出手段により検出された解析対象について、前記候補探索手段により探索された単語候補のうちから一つの単語候補を前記別の単語として決定するための単語決定手段とを含み、
前記単語決定手段は、
前記単語候補の各々について、前記テキスト文と、前記解析対象と、当該単語候補とによって定まる、複数種類の単語ベクトル群を生成するための単語ベクトル群生成手段と、
前記単語候補の各々について、前記単語ベクトル群生成手段により生成された単語ベクトル群を入力として、当該単語候補が前記解析対象と関係する可能性を示すスコアを出力するよう予め機械学習により学習済のスコア算出手段と、
前記スコア算出手段により出力されたスコアが最も良い単語候補を前記解析対象と前記一定の関係を持つ単語として特定する単語特定手段とを含み、
前記複数種類の単語ベクトル群は、各々が、少なくとも、前記解析対象と前記単語候補以外の前記テキスト文全体の単語列を用いて生成される1又は複数個の単語ベクトルを含む、文脈解析装置。
【背景技術】
【0002】
自然言語の文中には、省略及び指示語が頻出する。例えば
図1に示す例文30を考える。例文30は第1文と第2文とからなる。第2文には、「それ」という指示語(代名詞)42が含まれる。指示語42がどの語を指すかは、文の単語列を見ただけでは判断できない。この場合、「それ」という指示語42は第1文の「モン歴の正月の日付」という表現40を指す。このように、文中に存在する指示語の指す語を特定する処理を「照応解析」と呼ぶ。
【0003】
これに対し、
図2の例文60を考える。この例文60は、第1文と第2文とからなる。第2文において、「自己診断機能を搭載」という述語の主語は省略されている。この主語の省略箇所76には、第1文の「新型交換機」という単語72が省略されている。同様に、「200システムを設置する予定だ。」という述語の主語も省略されている。この主語の省略箇所74には、第1文の「N社」という単語70が省略されている。このように、主語等の省略を検出し、それを補完する処理を「省略解析」と呼ぶ。以後、照応解析と省略解析とをまとめて「照応・省略解析」と呼ぶ。
【0004】
照応解析において指示語がどの語を指しているか、及び、省略解析において省略箇所に補完されるべき単語が何かは、人間には比較的容易に判断できる。この判断には、それら単語が置かれている文脈に関する情報が活用されていると思われる。現実に日本語では多数の指示語及び省略が使用されているが、人間が判断する上では大きな支障は生じない。
【0005】
一方、いわゆる人工知能において、人間とのコミュニケーションをとるために、自然言語処理は欠かせない技術である。自然言語処理の重要な問題として、自動翻訳及び質問応答等が存在する。照応・省略解析の技術は、このような自動翻訳及び質問応答において必須の要素技術である。
【0006】
しかし、照応・省略解析の現状の性能が実用レベルに至っているとは言いがたい。その主な理由は、従来型の照応・省略解析技術は、主に指し先の候補と指し元(代名詞及び省略等)から得られる手がかりを利用しているが、その特徴だけでは照応・省略関係を特定することが困難なためである。
【0007】
例えば、後掲の非特許文献1の照応・省略解析アルゴリズムでは、形態素解析・統語解析等の比較的表層的な手がかりに加えて、代名詞・省略を持つ述語と指し先・補完対象となる表現の意味的な整合性を手がかりとして利用している。例として、述語「食べる」の目的語が省略される場合には、「食べ物」に該当する表現を、整備済みの辞書と照合することで「食べる」の目的語を探索する。又は、大規模な文書データから「食べる」の目的語として頻出する表現を探索し、その表現を省略補完する表現として選択したり機械学習で利用する特徴量として使用したりしている。
【0008】
それ以外の文脈的特徴としては、照応・省略解析に関して、指し先の候補と指し元(代名詞や省略等)の間の係り受け構造におけるパス中に出現する機能語等を利用する(非特許文献1)こと、及び係り受け構造のパスから解析に有効な部分構造を抽出して利用する(非特許文献2)こと等が試みられている。
【0009】
図3に示す文90を例としてこれら従来技術について説明する。
図3に示す文90は、述語100、102、及び104を含む。これらのうち、述語102(「受けた」)の主語が省略106となっている。この省略106を補完すべき単語候補として、文90には単語110、112、114及び116が存在する。これらのうち、単語112(「政府」)が省略106を補完すべき単語である。この単語を自然言語処理においてどのように決定すべきかが問題となる。通常、この単語の推定には機械学習による判別器を用いる。
【0010】
図4を参照して、非特許文献1は、述語とその述語の主語の省略を補完すべき単語候補との間の係り受けパス中の機能語・記号を文脈的な特徴として利用している。そのために従来は、入力文に対する形態素解析及び構文解析を行う。例えば「政府」と省略箇所(「φ」で示す。)の係り受けパスを考えた場合、非特許文献1では、「が」、「、」、「た」、「を」、「て」、「いる」、「。」、という機能語を素性に利用した機械学習により判別する。
【0011】
一方、非特許文献2では、事前に抽出した文の部分構造から分類に寄与する部分木を獲得し、その係り受けパスを一部抽象化することによって素性の抽出に用いている。例えば
図5に示すように、「〈名詞〉が」→「〈動詞〉」という部分木が省略補完に有効という情報が事前に獲得される。
【0012】
文脈的特徴の別の利用方法として、2つの述語で主語が同じか否かを分類する主語共有認識という課題を見出し、それを解くことで得られる情報を使用する手法も存在する(非特許文献3)。この手法によれば、主語を共有する述語集合の中で主語を伝播させることで省略解析の処理を実現する。この手法では述語間の関係が文脈的特徴として利用されている。
【0013】
このように、指し先及び指し元の出現文脈を手がかりとして利用しなければ、照応・省略解析の性能向上は難しいと思われる。
【先行技術文献】
【非特許文献】
【0014】
【非特許文献1】Ryu Iida, Massimo Poesio. A Cross-Lingual ILP Solution to Zero Anaphora Resolution. The 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies (ACL-HLT2011), pp.804-813.2011.
【非特許文献2】Ryu Iida, Kentaro Inui, Yuji Matsumoto. Exploiting Syntactic Patterns as Clues in Zero-Anaphora Resolution. 21st International Conference on Computational Linguistics and 44th Annual Meeting of the Association for Computational Linguistics (COLING/ACL), pp.625-632. 2006.
【非特許文献3】Ryu Iida, Kentaro Torisawa, Chikara Hashimoto, Jong-Hoon Oh, Julien Kloetzer. Intra-sentential Zero Anaphora Resolution using Subject Sharing Recognition. In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pp.2179-2189, 2015.
【非特許文献4】Hiroki Ouchi, Hiroyuki Shindo, Kevin Duh, and Yuji Matsumoto. 2015. Joint case argument identification for Japanese predicate argument structure analysis. In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing, pages 961-970.
【非特許文献5】Ilya Sutskever, Oriol Vinyals, Quoc Le, Sequence to Sequence Learning with Neural Networks, NIPS 2014.
【発明を実施するための形態】
【0025】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【0026】
[第1の実施の形態]
<全体構成>
図6を参照して、最初に、本発明の一実施の形態に係る照応・省略解析システム160の全体構成について説明する。
【0027】
この照応・省略解析システム160は、入力文170を受けて形態素解析を行う形態素解析部200と、形態素解析部200の出力する形態素列に対して係り受け解析をし、係り受け関係を示す情報が付された解析後文204を出力する係り受け関係解析部202と、解析後文204の中で、文脈解析の対象となる指示語及び主語の省略された述語を検出し、それらの指し先候補及び省略された箇所に補完すべき単語の候補(補完候補)を探索して、それらの組み合わせの各々に対して指し先及び補完候補を1つに決定するための処理を行うために以下の各部の制御を行う解析制御部230と、指し先候補及び補完候補を決定するよう予め学習済のMCNN214と、解析制御部230により制御され、MCNN214を参照することによって、解析後文204に対する照応・省略解析を行って指示語にはその指示する語を示す情報を付し、省略箇所にはそこに補完すべき単語を特定する情報を付して出力文174として出力する照応・省略解析部216とを含む。
【0028】
照応・省略解析部216は、解析制御部230から指示語と指し先の組み合わせ、又は主語が省略された述語とその主語の補完候補の組み合わせをそれぞれ受け、後述するBaseベクトル列、SurfSeqベクトル列、DepTreeベクトル列、及びPredContextベクトル列を生成するための単語列を文から抽出するBase単語列抽出部206、SurfSeq単語列抽出部208、DepTree単語列抽出部210、及びPredContext単語列抽出部212と、Base単語列抽出部206、SurfSeq単語列抽出部208、DepTree単語列抽出部210及びPredContext単語列抽出部212からそれぞれBase単語列、SurfSeq単語列、DepTree単語列、及びPredContext単語列を受け、これらの単語列をそれぞれ単語ベクトル(単語埋め込みベクトル;Word Embedding Vector)列に変換する単語ベクトル変換部238と、MCNN214を用いて、単語ベクトル変換部238が出力する単語ベクトル列に基づいて、解析制御部230から与えられた組み合わせの指し先候補又は補完候補の各々のスコアを算出して出力するスコア算出部232と、スコア算出部232が出力するスコアを、各指示語及び省略箇所ごとに、指し先候補又は補完候補のリストとして記憶するリスト記憶部234と、リスト記憶部234に記憶されたリストに基づき、解析後文204内の指示語及び省略箇所の各々について、最もスコアが高い候補を選択して補完し、補完後の文を出力文174として出力するための補完処理部236とを含む。
【0029】
Base単語列抽出部206が抽出するBase単語列、SurfSeq単語列抽出部208が抽出するSurfSeq単語列、DepTree単語列抽出部210が抽出するDepTree単語列、及びPredContext単語列抽出部212が抽出するPredContext単語列はいずれも、文全体から抽出される。
【0030】
Base単語列抽出部206は、解析後文204に含まれる、省略補完の対象となる名詞と省略を持つ可能性のある述語の対から単語列を抽出しBase単語列として出力する。ベクトル変換部238が、この単語列から単語ベクトル列であるBaseベクトル列を生成する。本実施の形態では、単語の出現順序を保存し、かつ演算量を少なくするために以下の全ての単語ベクトルとして単語埋め込みベクトルを使用する。
【0031】
なお、以下の説明では、理解を容易にするために、主語が省略された述語の主語の候補について、その単語ベクトル列の集合を生成する方法を説明する。
【0032】
図7を参照して、
図6に示すSurfSeq単語列抽出部208が抽出する単語列は、文90中での単語列の出現順序に基づき、文頭から補完候補250までの単語列260、補完候補250と述語102の間の単語列262、及び述語102の後、文末までの単語列264を含む。したがって、SurfSeqベクトル列は3つの単語埋め込みベクトル列として得られる。
【0033】
図8を参照して、DepTree単語列抽出部210が抽出する単語列は、文90の係り受け木に基づき、補完候補250に係る部分木280、述語102の係り先の部分木282、補完候補と述語102の間の係り受けパス284、及びその他286からそれぞれ得られる単語列を含む。したがってこの例ではDepTreeベクトル列は4つの単語埋め込みベクトル列として得られる。
【0034】
図9を参照して、PredContext単語列抽出部212が抽出する単語列は、文90において、述語102の前の単語列300と、後の単語列302とを含む。したがってこの場合、PredContextベクトル列は2つの単語埋め込みベクトル列として得られる。
【0035】
図10を参照して、本実施の形態では、MCNN214は、第1〜第4の畳み込みニューラルネットワーク群360、362、364、366からなるニューラルネットワーク層340と、ニューラルネットワーク層340内の各ニューラルネットワークの出力を線形に連結する連結層342と、連結層342の出力するベクトルに対してSoftmax関数を適用して、補完候補が真の補完候補か否かを0〜1の間のスコアで評価し出力するSoftmax層344とを含む。
【0036】
ニューラルネットワーク層340は、前述のとおり第1の畳み込みニューラルネットワーク群360、第2の畳み込みニューラルネットワーク群362、第3の畳み込みニューラルネットワーク群364、及び第4の畳み込みニューラルネットワーク群366を含む。
【0037】
第1の畳み込みニューラルネットワーク群360は、Baseベクトルを受ける第1カラムのサブネットワークを含む。第2の畳み込みニューラルネットワーク群362は、3つのSurfSeqベクトル列をそれぞれ受ける第2、第3及び第4カラムのサブネットワークを含む。第3の畳み込みニューラルネットワーク群364は、4つのDepTreeベクトル列をそれぞれ受ける第5、第6、第7、及び第8カラムのサブネットワークを含む。第4の畳み込みニューラルネットワーク群366は、2つのPredContextベクトル列を受ける第9及び第10カラムのサブネットワークを含む。これらサブネットワークは、いずれも畳み込みニューラルネットワークである。
【0038】
ニューラルネットワーク層340の各畳み込みニューラルネットワークの出力は連結層342で単純に線形に連結され、Softmax層344への入力ベクトルとなる。
【0039】
MCNN214についてその機能をより詳細に説明する。
図11に、代表として1つの畳み込みニューラルネットワーク390を示す。ここでは、説明を分かりやすくするために、畳み込みニューラルネットワーク390が、入力層400、畳み込み層402、及びプーリング層404のみからなっているものとするが、この3つの層を複数個備えているものでもよい。
【0040】
入力層400には、単語ベクトル変換部238が出力した単語ベクトル列X
1、X
2、…、X
|t|がスコア算出部232を介して入力される。この単語ベクトル列X
1、X
2、…、X
|t|は、行列T=[X
1、X
2、…、X
|t|]
Tとして表される。この行列Tに対して、M個の素性マップが適用される。素性マップはベクトルであって、各素性マップの要素であるベクトルOは連続する単語ベクトルからなるNグラムに対してf
j(1≦j≦M)で示されるフィルタを適用しながらNグラム410を移動させることにより計算される。Nは任意の自然数だが、本実施の形態ではN=3とする。すなわちOは次の式により表される。
【0041】
【数1】
なお、素性マップの全体にわたりNを等しくしてもよいし、異なるものがあってもよい。Nとしては、2、3、4及び5程度が適当であろう。本実施の形態では、重み行列は全ての畳み込みニューラルネットワークにおいて等しくしてある。これらは互いに異なっていても良いが、実際、互いに等しくした方が、各重み行列を独立に学習する場合より精度が高くなる。
【0042】
この素性マップの各々について、次のプーリング層404は、いわゆるマックスプーリングを行う。すなわち、プーリング層404は、例えば素性マップf
Mの要素のうち、最大の要素420を選択し、要素430として取出す。これを素性マップの各々に対して行うことによって、要素432、…、430を取出し、これらをf
1からf
Mの順番に連接して連結層342にベクトル442として出力する。各畳み込みニューラルネットワークからはこのようにして得られたベクトル440、…、442、…、444が連結層342に出力される。連結層342は、ベクトル440、…、442、…、444を単純に線形に連結してSoftmax層344に与える。なお、プーリング層404としてはマックスプーリングを行うものの方が平均値を採用するものよりも精度が高いと言われている。しかし、もちろん平均値を採用するようにしてもよいし、下位の層の性質をよく表現するものであれば、他の代表値を用いるようにしてもよい。
【0043】
図6に示す照応・省略解析部216について説明する。照応・省略解析部216は、メモリ及びプロセッサを含むコンピュータハードウェア及びその上で実行されるコンピュータソフトウェアにより実現される。
図12に、そのようなコンピュータプログラムの制御構造をフローチャート形式で示す。
【0044】
図12を参照して、このプログラムは、解析対象である文から指示語又は主語の省略された述語cand
iとその補完候補である単語pred
iとのペア<cand
i;pred
i>を全て生成するステップ460と、ステップ460で生成されたあるペアに対して、MCNN214を用いてスコアを計算し、メモリにリストとして記憶させるステップ464を、全てのペアに対して実行するステップ462と、ステップ462で算出されたリストをスコアnの降順でソートするステップ466とを含む。なおここでは、ペア<cand
i;pred
i>は、ある述語とその補完候補のとして可能な単語との全ての可能な組み合わせを示す。すなわち、このペアの集合の中には、各述語も、補完候補もそれぞれ複数回現れ得る。
【0045】
このプログラムはさらに、繰返し制御変数iを0に初期化するステップ468と、変数iの値がリストの要素数より大きいかを比較し、比較が肯定か否かにしたがって制御を分岐させるステップ470と、ステップ470の比較が否定であることに応答して実行され、ペア<cand
i;pred
i>のスコアが所定のしきい値より大きいか否かにしたがって制御を分岐させるステップ474と、ステップ474の判定が肯定であることに応答して実行され、述語pred
iの補完候補が既に補完済か否かにしたがって制御を分岐させるステップ476と、ステップ476の判定が否定であることに応答して、述語pred
iの省略されている主語にcand
iを補完するステップ478とを含む。ステップ474のしきい値としては、例えば0.7〜0.9程度の範囲とすることが考えられる。
【0046】
このプログラムはさらに、ステップ474の判定が否定であること、ステップ476の判定が否定であること、又はステップ478の処理が終了したことに応答して実行され、<cand
i;pred
i>をリストから削除するステップ480と、ステップ480に続き、変数iの値に1を加算して制御をステップ470に戻すステップ482と、ステップ470の判定が肯定であることに応答して実行され、補完後の文を出力して処理を終了するステップ472とを含む。
【0047】
なお、MCNN214の学習は、通常のニューラルネットワークの学習と同様である。ただし、学習データとしては、上記した10個の単語ベクトルを単語ベクトルとして用いること、及び、処理中の述語と補完候補との組み合わせが正しいか否かを示すデータを学習データに付加することが上記実施の形態のような判別時とは異なる。
【0048】
<動作>
図6〜
図12に示す照応・省略解析システム160は以下のように動作する。入力文170が照応・省略解析システム160に与えられると、形態素解析部200が入力文170の形態素解析を行って形態素列を係り受け関係解析部202に与える。係り受け関係解析部202はこの形態素列に対して係り受け解析を行い、係り受け情報が付された解析後文204を解析制御部230に与える。
【0049】
解析制御部230は、解析後文204内の、主語が省略された全ての述語を検索し、各述語に対する補完候補を解析後文204内で探索して、それらの組み合わせの各々について以下の処理を実行する。すなわち、解析制御部230は、処理対象の述語と補完候補の組み合わせを1つ選択し、Base単語列抽出部206、SurfSeq単語列抽出部208、DepTree単語列抽出部210及びPredContext単語列抽出部212に与える。Base単語列抽出部206、SurfSeq単語列抽出部208、DepTree単語列抽出部210及びPredContext単語列抽出部212はそれぞれ、解析後文204からBase単語列、SurfSeq単語列、DepTree単語列及びPredContext単語列を抽出し、単語列群として出力する。これら単語列群は、単語ベクトル変換部238により単語ベクトル列に変換されスコア算出部232に与えられる。
【0050】
解析制御部230は、単語ベクトル変換部238からこの単語ベクトル列が出力されると、スコア算出部232に以下の処理を実行させる。スコア算出部232は、Baseベクトル列をMCNN214の第1の畳み込みニューラルネットワーク群360の1つのサブネットワークの入力に与える。スコア算出部232は3つのSurfSeqベクトル列をMCNN214の第2の畳み込みニューラルネットワーク群362の3つのサブネットワークの入力にそれぞれ与える。スコア算出部232はさらに、4つのDepTreeベクトル列を第3の畳み込みニューラルネットワーク群364の4つのサブネットワークに与え、2つのPredContextベクトル列を第4の畳み込みニューラルネットワーク群366の2つのサブネットワークに与える。MCNN214は、これら入力された単語ベクトルに応答して、与えられた単語ベクトル群に対応する述語と補完候補の組が正しい確率に対応するスコアを算出し、スコア算出部232に与える。スコア算出部232は、この述語と補完候補との組み合わせに対し、スコアを組み合わせてリスト記憶部234に与え、リスト記憶部234はこの組み合わせをリストの1項目として記憶する。
【0051】
解析制御部230が上記した処理を全ての述語と補完候補との組み合わせに対して実行すると、リスト記憶部234には全ての述語と補完候補との組み合わせごとにそれらのスコアがリストされている(
図12、ステップ460、462、464)。
【0052】
補完処理部236は、リスト記憶部234に記憶されているリストをスコアの降順でソートする(
図12、ステップ466)。補完処理部236はリストの先頭から項目を読出し、全ての項目について処理が完了した場合(ステップ470でYES)、補完後の文を出力して(ステップ472)処理を終了する。まだ項目が残っている場合(ステップ470でNO)、読出された項目のスコアがしきい値より大きいか否かを判定する(ステップ474)。そのスコアがしきい値以下なら(ステップ474でNO)、ステップ480でその項目をリストから削除し、次の項目に進む(ステップ482からステップ470)。そのスコアがしきい値より大きければ(ステップ474でYES)、ステップ476でその項目の述語に対する主語が他の補完候補により既に補完済か否かを判定する(ステップ476)。既に補完済(ステップ476でYES)ならその項目をリストから削除し(ステップ480)、次の項目に進む(ステップ482からステップ470)。その項目の述語に対する主語が補完済でなければ(ステップ476でNO)、ステップ478でその述語に対する主語の省略箇所に、その項目の補完候補を補完する。さらにステップ480での項目をリストから削除し、次の項目に進む(ステップ482からステップ470)。
【0053】
こうして、可能な全ての補完が完了すると、ステップ470の判定がYESとなり、ステップ472で補完後の文が出力される。
【0054】
以上のように、本実施の形態によれば、従来と異なり、文を構成する全ての単語列を用いて、かつ複数の異なる観点から生成されたベクトルを用いて、述語と補完候補(又は指示語とその指し先候補)の組み合わせが正しいものか否かを判定する。従来のように人手で単語ベクトルを調整することなく、様々な観点から判定することが可能になり、照応・省略解析の精度を上げることが期待できる。
【0055】
実際、実験により上記実施の形態の考え方による照応・省略解析の精度が従来のものよりも高くなることが確認できた。その結果を
図13にグラフ形式で示す。この実験では、非特許文献3で使用されたものと同じコーパスを用いた。このコーパスは予め述語とその省略箇所の補完語との対応付けが人手でなされたものである。このコーパスを5個のサブコーパスに分割し、3個を学習データ、1個を開発セット、1個をテストデータとして用いた。このデータを用い、上記した実施の形態にしたがった照応・補完手法と、他の3種類の比較手法とによって省略箇所の補完処理を行い、その結果を比較した。
【0056】
図13を参照して、グラフ500は上記実施の形態にしたがって行った実験結果のPR曲線である。この実験では、上記した4種類の単語ベクトルを全て用いた。グラフ506は、マルチカラムではなく単カラムの畳み込みニューラルネットワークを用い、文に含まれる全ての単語から単語ベクトルを生成して得た例のPR曲線である。黒四角502及びグラフ504で示されるのは、比較のために、非特許文献4に示されたグローバル最適化方法の結果及び実験により得たPR曲線である。この方法では開発セットが不要であるため、開発セットを含めた4つのサブコーパスを学習に用いた。この方法では主語、目的語、間接目的語について述語−文法項間の関係が得られるが、本実験では文中での主語省略の補完についてだけに関する出力を用いた。非特許文献4に示されたものと同様、10回の独立した試行の結果を平均したものを用いている。さらに、非特許文献3の手法を用いた結果508もグラフ中にxで示す。
【0057】
図13から明らかなように、上記実施の形態による手法によれば他のどの手法のものよりもよいPR曲線が得られ、広い範囲で適合率が高い。したがって、上記したような単語ベクトルの選択方法が従来方法で用いられたものよりも適切に文脈情報を表現していると考えられる。さらに、上記実施の形態による方法によれば、単カラムのニューラルネットワークを用いたものよりも高い適合率が得られた。これはMCNNを用いることにより、再現率を高めることができたことを示す。
【0058】
[第2の実施の形態]
<構成>
第1の実施の形態に係る照応・省略解析システム160では、スコア算出部232におけるスコア算出にMCNN214を用いている。しかし、本発明はそのような実施の形態には限定されない。MCNNに代えて、LSTMと呼ばれるネットワークアーキテクチャを構成素とするニューラルネットワークを用いてもよい。以下、LSTMを用いた実施の形態について説明する。
【0059】
LSTMは、リカレント型ニューラルネットワークの一種であり、入力系列を記憶しておく能力を持つ。実装上、いろいろな変種があるが、入力の系列と、それに対する出力の系列とを一組とする多数組の学習データで学習し、入力の系列を受けると、それに対する出力の系列を受ける仕組みを実現することができる。この仕組みを用いて英語からフランス語に自動翻訳するシステムがすでに利用されている(非特許文献5)。
【0060】
図14を参照して、この実施の形態でMCNN214に代えて用いられるMCLSTM(マルチカラムLSTM)530は、LSTM層540と、第1の実施の形態の連結層342と同様、LSTM層540内の各LSTMの出力を線形に連結する連結層542と、連結層542の出力するベクトルに対してSoftmax関数を適用して、補完候補が真の補完候補か否かを0〜1の間のスコアで評価し出力するSoftmax層544とを含む。
【0061】
LSTM層540は、第1のLSTM群550、第2のLSTM群552、第3のLSTM群554、及び第4のLSTM群556を含む。これらはいずれもLSTMからなるサブネットワークを含む。
【0062】
第1のLSTM群550は、第1の実施の形態の第1の畳み込みニューラルネットワーク群360と同様、Baseベクトル列を受ける第1カラムのLSTMを含む。第2のLSTM群552は、第1の実施の形態の第2の畳み込みニューラルネットワーク群362と同様、3つのSurfSeqベクトル列をそれぞれ受ける第2、第3及び第4カラムのLSTMを含む。第3のLSTM群554は、第1の実施の形態の第3の畳み込みニューラルネットワーク群364と同様、4つのDepTreeベクトル列をそれぞれ受ける第5、第6、第7、及び第8カラムのLSTMを含む。第4のLSTM群556は、第1の実施の形態の第4の畳み込みニューラルネットワーク群366と同様、2つのPredContextベクトル列を受ける第9及び第10のLSTМを含む。
【0063】
LSTM層540の各LSTMの出力は連結層542で単純に線形に連結され、Softmax層544への入力ベクトルとなる。
【0064】
ただし、本実施の形態では、各単語ベクトル列は、例えば、出現順序にしたがって単語ごとに生成した単語ベクトルからなるベクトル系列の形で生成される。これらベクトル系列を形成する単語ベクトルは、それぞれ単語の出現順序に従って対応のLSTMに順次与えられる。
【0065】
LSTM層540を構成するLSTM群の学習も、第1の実施の形態と同様、MCLSTM530の全体についての、学習データを用いた誤差逆伝播法により行われる。この学習は、ベクトル系列が与えられると、MCLSTM530が、補完候補である単語が真に指し先である確率を出力するように行われる。
【0066】
<動作>
この第2の実施の形態に係る照応・省略解析システムの動作は、基本的に第1の実施の形態の照応・省略解析システム160と同様である。LSTM層540を構成する各LSTMへのベクトル列の入力も第1の実施の形態と同様である。
【0067】
手順は第1の実施の形態と同様で、その概略は
図12に示されている。違いは、
図12のステップ464で、第1の実施の形態のMCNN214(
図10)に代えて、
図14に示すMCLSTM530を使用する点、及び単語ベクトル列として単語ベクトルからなるベクトル系列を用い、各単語ベクトルを順にMCLSTM530に入力する点である。
【0068】
本実施の形態では、LSTM層540を構成する各LSTMにベクトル系列の各単語ベクトルが入力されるたびに、各LSTMはその内部状態を変え、出力も変わる。ベクトル系列の入力が終了した時点での各LSTMの出力は、それまでに入力されたベクトル系列に応じて定まる。連結層542は、それらの出力を連結してSoftmax層544への入力とする。Softmax層544は、この入力に対するsoftmax関数の結果を出力する。この値は上記したように、ベクトル系列を生成する際の、指示語、又は主語が省略された述語に対する指し先の補完候補が真の指し先候補か否かを示す確率である。ある補完候補に対して算出されるこの確率が、他の補完候補に対して算出された確率より大きく、かつあるしきい値θより大きい場合に、その補完候補が真の指し先候補であると推定する。
【0069】
図15(A)を参照して、例文570において、述語である「受けた」という文言580に対する主語が不明であり、その補完候補として「報告書」「政府」及び「条約」という単語582、584及び586が検出されたものとする。
【0070】
図15(B)に示す様に、単語582、584及び586に対して、それぞれ単語ベクトルを表すベクトル系列600、602、及び604が得られ、これらをMCLSTM530への入力として与える。その結果、MCLSTM530の出力として、ベクトル系列600、602、及び604に対してそれぞれ0.5、0.8、及び0.4という値が得られたものとする。これらの最大値は0.8である。また、この0.8という値がしきい値θ以上であれば、ベクトル系列602に対応する単語584、すなわち「政府」が「受けた」の主語であると推定される。
【0071】
図12に示すように、こうした処理を対象となる文の中の全ての指示語、又は主語が省略された述語と、それらの指し先候補とのペアに対して実行していくことで、対象文の解析が行われる。
【0072】
[コンピュータによる実現]
上記第1及び第2の実施の形態に係る照応・省略解析システムは、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。
図16はこのコンピュータシステム630の外観を示し、
図17はコンピュータシステム630の内部構成を示す。
【0073】
図16を参照して、このコンピュータシステム630は、メモリポート652及びDVD(Digital Versatile Disc)ドライブ650を有するコンピュータ640と、いずれもコンピュータ640に接続されたキーボード646、マウス648、及びモニタ642とを含む。
【0074】
図17を参照して、コンピュータ640は、メモリポート652及びDVDドライブ650に加えて、CPU(中央処理装置)656と、CPU656、メモリポート652及びDVDドライブ650に接続されたバス666と、ブートプログラム等を記憶する読出専用メモリ(ROM)658と、バス666に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するランダムアクセスメモリ(RAM)660と、ハードディスク654とを含む。コンピュータシステム630はさらに、他端末との通信を可能とするネットワーク668への接続を提供するネットワークインターフェイス(I/F)644を含む。
【0075】
コンピュータシステム630を上記した実施の形態に係る照応・省略解析システムの各機能部として機能させるためのコンピュータプログラムは、DVDドライブ650又はメモリポート652に装着されるDVD662又はリムーバブルメモリ664に記憶され、さらにハードディスク654に転送される。又は、プログラムはネットワーク668を通じてコンピュータ640に送信されハードディスク654に記憶されてもよい。プログラムは実行の際にRAM660にロードされる。DVD662から、リムーバブルメモリ664から又はネットワーク668を介して、直接にRAM660にプログラムをロードしてもよい。
【0076】
このプログラムは、コンピュータ640を、上記実施の形態に係る照応・省略解析システムの各機能部として機能させるための複数の命令からなる命令列を含む。コンピュータ640にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ640上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ640にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体はこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の内、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記したシステムとしての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供してもよい。
【0077】
[可能な変形例]
上記実施の形態では、日本語に対する照応・解析処理を扱っている。しかし本発明はそのような実施の形態には限定されない。文全体の単語列を使い、複数の観点で単語ベクトル群を作成するという考え方は、どのような言語にも適用できる。したがって、指示語及び省略が頻発する他の言語(中国語、韓国語、イタリア語、スペイン語)等についても本発明を適用できると考えられる。
【0078】
また、上記実施の形態では、文全体の単語列を用いた単語ベクトル列として4種類を用いているが、単語ベクトル列としてはこの4種類に限定されるわけではない。異なる観点から文全体の単語列を用いて作成する単語ベクトル列であればどのようなものでも利用できる。さらに、文全体の単語列を用いるものを少なくとも2種類用いるのであれば、それら以外に文の一部の単語列を用いる単語ベクトル列を加えて使用してもよい。また、単なる単語列だけではなく、それらの品詞情報まで含めた単語ベクトル列を用いるようにしても良い。