(57)【要約】【課題】文脈的特徴を包括的かつ効率的に利用して文脈解析を高精度で行える文脈解析装置を提供する。【解決手段】文脈解析装置１６０は、主語等が省略された述語と、その補完候補を検出する解析制御部２３０と、補完すべき語を決定する補完処理部２３６とを含む。補完処理部２３６は、補完候補について、文２０４から複数種類の単語ベクトルを生成する単語ベクトル生成部２０６、２０８、２１０及び２１２と、各補完候補について、単語ベクトルを入力として省略された語である確率を示すスコアを出力するよう学習済の畳み込みニューラルネットワーク２１４（又はＬＳＴМ）と、スコアが最も良い補完候補を決定するリスト記憶部２３４及び補完処理部２３６とを含む。単語ベクトルは、各々が、少なくとも、解析対象と候補以外の文全体の文字列を用いて抽出される複数個の単語ベクトルを含む。指示語等、他の語についても同様に処理できる。【選択図】図６
2018041160.tif 000002
【特許請求の範囲】
【請求項１】
テキスト文の文脈中で、ある単語と一定の関係を持つ別の単語であって、前記テキスト文だけからは当該ある単語と前記関係を持つことが明確でない前記別の単語を特定する文脈解析装置であって、
前記テキスト文中で、前記ある単語を解析対象として検出するための解析対象検出手段と、
前記解析対象検出手段により検出された解析対象について、当該解析対象と前記一定の関係を持つ前記別の単語である可能性のある単語候補を前記テキスト文中で探索するための候補探索手段と、
前記解析対象検出手段により検出された解析対象について、前記候補探索手段により探索された単語候補のうちから一つの単語候補を前記別の単語として決定するための単語決定手段とを含み、
前記単語決定手段は、
前記単語候補の各々について、前記テキスト文と、前記解析対象と、当該単語候補とによって定まる、複数種類の単語ベクトル群を生成するための単語ベクトル群生成手段と、
前記単語候補の各々について、前記単語ベクトル群生成手段により生成された単語ベクトル群を入力として、当該単語候補が前記解析対象と関係する可能性を示すスコアを出力するよう予め機械学習により学習済のスコア算出手段と、
前記スコア算出手段により出力されたスコアが最も良い単語候補を前記解析対象と前記一定の関係を持つ単語として特定する単語特定手段とを含み、
前記複数種類の単語ベクトル群は、各々が、少なくとも、前記解析対象と前記単語候補以外の前記テキスト文全体の単語列を用いて生成される１又は複数個の単語ベクトルを含む、文脈解析装置。
【請求項２】
前記スコア算出手段は、複数個のサブネットワークを持つニューラルネットワークであり、
前記１又は複数個の単語ベクトルはそれぞれ、前記ニューラルネットワークに含まれる前記複数個のサブネットワークに入力される、請求項１に記載の文脈解析装置。
【請求項３】
前記複数個のサブネットワークの各々は、畳み込みニューラルネットワークである、請求項２に記載の文脈解析装置。
【請求項４】
前記複数個のサブネットワークの各々は、ＬＳＴＭである、請求項２に記載の文脈解析装置。
【請求項５】
前記単語ベクトル群生成手段は、
前記テキスト文全体に含まれる単語列を表す単語ベクトル列を出力する第１の生成手段、
前記テキスト文のうち、前記ある単語と前記単語候補とにより分割された複数個の単語列から、それぞれ単語ベクトル列を生成し出力する第２の生成手段、
前記テキスト文を構文解析して得られた係り受け木に基づき、前記単語候補に係る部分木から得られる単語列、前記ある単語の係り先の部分木から得られる単語列、前記単語候補と前記ある単語との間の、前記係り受け木中の係り受けパスから得られる単語列、及び前記係り受け木中のそれら以外の部分木からそれぞれ得られる単語列、から得られる単語ベクトル列の任意の組合せを生成し出力する第３の生成手段、及び、
前記テキスト文中において前記ある単語の前後の単語列よりそれぞれ得られる単語列を表す２つの単語ベクトル列を生成し出力する第４の生成手段、
の任意の組み合わせを含む、請求項１〜請求項４のいずれかに記載の文脈解析装置。
【請求項６】
請求項１から請求項５の何れかに記載の文脈解析装置としてコンピュータを機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、文脈に基づいて、文中のある単語と特定の関係にある別の単語であって、文の単語列からは明確に判定できない単語を特定する、文脈解析装置に関する。より詳しくは、本発明は、文中の指示語が指す語を特定する照応解析、又は文中で主語が省略されている述語の主語を特定する省略解析等を行うための文脈解析装置に関する。
【背景技術】
【０００２】
自然言語の文中には、省略及び指示語が頻出する。例えば図１に示す例文３０を考える。例文３０は第１文と第２文とからなる。第２文には、「それ」という指示語（代名詞）４２が含まれる。指示語４２がどの語を指すかは、文の単語列を見ただけでは判断できない。この場合、「それ」という指示語４２は第１文の「モン歴の正月の日付」という表現４０を指す。このように、文中に存在する指示語の指す語を特定する処理を「照応解析」と呼ぶ。
【０００３】
これに対し、図２の例文６０を考える。この例文６０は、第１文と第２文とからなる。第２文において、「自己診断機能を搭載」という述語の主語は省略されている。この主語の省略箇所７６には、第１文の「新型交換機」という単語７２が省略されている。同様に、「２００システムを設置する予定だ。」という述語の主語も省略されている。この主語の省略箇所７４には、第１文の「Ｎ社」という単語７０が省略されている。このように、主語等の省略を検出し、それを補完する処理を「省略解析」と呼ぶ。以後、照応解析と省略解析とをまとめて「照応・省略解析」と呼ぶ。
【０００４】
照応解析において指示語がどの語を指しているか、及び、省略解析において省略箇所に補完されるべき単語が何かは、人間には比較的容易に判断できる。この判断には、それら単語が置かれている文脈に関する情報が活用されていると思われる。現実に日本語では多数の指示語及び省略が使用されているが、人間が判断する上では大きな支障は生じない。
【０００５】
一方、いわゆる人工知能において、人間とのコミュニケーションをとるために、自然言語処理は欠かせない技術である。自然言語処理の重要な問題として、自動翻訳及び質問応答等が存在する。照応・省略解析の技術は、このような自動翻訳及び質問応答において必須の要素技術である。
【０００６】
しかし、照応・省略解析の現状の性能が実用レベルに至っているとは言いがたい。その主な理由は、従来型の照応・省略解析技術は、主に指し先の候補と指し元（代名詞及び省略等）から得られる手がかりを利用しているが、その特徴だけでは照応・省略関係を特定することが困難なためである。
【０００７】
例えば、後掲の非特許文献１の照応・省略解析アルゴリズムでは、形態素解析・統語解析等の比較的表層的な手がかりに加えて、代名詞・省略を持つ述語と指し先・補完対象となる表現の意味的な整合性を手がかりとして利用している。例として、述語「食べる」の目的語が省略される場合には、「食べ物」に該当する表現を、整備済みの辞書と照合することで「食べる」の目的語を探索する。又は、大規模な文書データから「食べる」の目的語として頻出する表現を探索し、その表現を省略補完する表現として選択したり機械学習で利用する特徴量として使用したりしている。
【０００８】
それ以外の文脈的特徴としては、照応・省略解析に関して、指し先の候補と指し元(代名詞や省略等)の間の係り受け構造におけるパス中に出現する機能語等を利用する(非特許文献１)こと、及び係り受け構造のパスから解析に有効な部分構造を抽出して利用する(非特許文献２)こと等が試みられている。
【０００９】
図３に示す文９０を例としてこれら従来技術について説明する。図３に示す文９０は、述語１００、１０２、及び１０４を含む。これらのうち、述語１０２（「受けた」）の主語が省略１０６となっている。この省略１０６を補完すべき単語候補として、文９０には単語１１０、１１２、１１４及び１１６が存在する。これらのうち、単語１１２（「政府」）が省略１０６を補完すべき単語である。この単語を自然言語処理においてどのように決定すべきかが問題となる。通常、この単語の推定には機械学習による判別器を用いる。
【００１０】
図４を参照して、非特許文献１は、述語とその述語の主語の省略を補完すべき単語候補との間の係り受けパス中の機能語・記号を文脈的な特徴として利用している。そのために従来は、入力文に対する形態素解析及び構文解析を行う。例えば「政府」と省略箇所（「φ」で示す。）の係り受けパスを考えた場合、非特許文献１では、「が」、「、」、「た」、「を」、「て」、「いる」、「。」、という機能語を素性に利用した機械学習により判別する。
【００１１】
一方、非特許文献２では、事前に抽出した文の部分構造から分類に寄与する部分木を獲得し、その係り受けパスを一部抽象化することによって素性の抽出に用いている。例えば図５に示すように、「〈名詞〉が」→「〈動詞〉」という部分木が省略補完に有効という情報が事前に獲得される。
【００１２】
文脈的特徴の別の利用方法として、２つの述語で主語が同じか否かを分類する主語共有認識という課題を見出し、それを解くことで得られる情報を使用する手法も存在する（非特許文献３）。この手法によれば、主語を共有する述語集合の中で主語を伝播させることで省略解析の処理を実現する。この手法では述語間の関係が文脈的特徴として利用されている。
【００１３】
このように、指し先及び指し元の出現文脈を手がかりとして利用しなければ、照応・省略解析の性能向上は難しいと思われる。
【先行技術文献】
【非特許文献】
【００１４】
【非特許文献１】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.
【非特許文献２】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.
【非特許文献３】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.
【非特許文献４】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.
【非特許文献５】Ilya  Sutskever,  Oriol  Vinyals,  Quoc  Le,  Sequence  to  Sequence  Learning  with  Neural  Networks,  NIPS  2014.
【発明の概要】
【発明が解決しようとする課題】
【００１５】
このように照応・省略解析の性能が向上しない理由として、文脈情報の利用方法に改善の余地があることが挙げられる。既存の解析技術で文脈情報を利用する際には、利用する文脈的特徴を事前に研究者の内省に基づいて取捨選択するという方法が採用されている。しかしこうした方法では、文脈により表される重要な情報が捨てられている可能性が否定できない。そうした問題を解決するためには、重要な情報が捨てられないような方策を採るべきである。しかしそうした問題意識は従来の研究には見ることができず、文脈情報を活かすためにどのような方法を採用すればよいかもよく分かっていなかった。
【００１６】
それゆえにこの発明の目的は、文脈的特徴を包括的かつ効率的に利用することによって、文中の照応・省略解析等の文解析を高精度で行うことができる文脈解析装置を提供することである。
【課題を解決するための手段】
【００１７】
本発明の第１の局面に係る文脈解析装置は、文の文脈中で、ある単語と一定の関係を持つ別の単語であって、文だけからは当該ある単語と関係を持つことが明確でない別の単語を特定する。この文脈解析装置は、文中で、ある単語を解析対象として検出するための解析対象検出手段と、解析対象検出手段により検出された解析対象について、当該解析対象と一定の関係を持つ別の単語である可能性のある単語候補を文中で探索するための候補探索手段と、解析対象検出手段により検出された解析対象について、候補探索手段により探索された単語候補のうちから１つの単語候補を上記した別の単語として決定するための単語決定手段とを含む。単語決定手段は、単語候補の各々について、文と、解析対象と、当該単語候補とによって定まる、複数種類の単語ベクトル群を生成するための単語ベクトル群生成手段と、単語候補の各々について、単語ベクトル群生成手段により生成された単語ベクトル群を入力として、当該単語候補が解析対象と関係する可能性を示すスコアを出力するよう予め機械学習により学習済のスコア算出手段と、スコア算出手段により出力されたスコアが最も良い単語候補を解析対象と一定の関係を持つ単語として特定する単語特定手段とを含む。複数種類の単語ベクトル群は、各々が、少なくとも、解析対象と単語候補以外の文全体の単語列を用いて生成される１又は複数個の単語ベクトルを含む。
【００１８】
好ましくは、スコア算出手段は、複数個のサブネットワークを持つニューラルネットワークであり、複数個の単語ベクトルはそれぞれ、ニューラルネットワークに含まれる複数個のサブネットワークに入力される。
【００１９】
より好ましくは、単語ベクトル群生成手段は、文全体に含まれる単語列を表す単語ベクトルを出力する第１の生成手段、文のうち、ある単語と単語候補とにより分割された複数個の単語列から、それぞれ単語ベクトルを生成し出力する第２の生成手段、文を構文解析して得られた係り受け木に基づき、単語候補に係る部分木から得られる単語列、ある単語の係り先の部分木から得られる単語列、単語候補とある単語との間の、係り受け木中の係り受けパスから得られる単語列、及び係り受け木中のそれら以外の部分木からそれぞれ得られる単語列、から得られる単語ベクトルの任意の組合せを生成し出力する第３の生成手段、及び、文中においてある単語の前後の単語列よりそれぞれ得られる単語列を表す２つの単語ベクトルを生成し出力する第４の生成手段、の任意の組み合わせを含む。
【００２０】
複数のサブネットワークの各々は、畳み込みニューラルネットワークである。または、複数のサブネットワークの各々は、ＬＳＴＭ（Ｌｏｎｇ  Ｓｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ）でもよい。
【００２１】
さらに好ましくは、ニューラルネットワークは、マルチカラム畳み込みニューラルネットワーク（ＭＣＮＮ）を含み、マルチカラム畳み込みニューラルネットワークの各カラムに含まれる畳み込みニューラルネットワークは、それぞれ別々の単語ベクトルを単語ベクトル群生成手段から受けるように接続される。
【００２２】
ＭＣＮＮを構成するサブネットワークのパラメータは互いに同一であってもよい。
【００２３】
本発明の第２の局面に係るコンピュータプログラムは、上記したいずれかの文脈解析装置の全ての手段としてコンピュータを機能させる。
【図面の簡単な説明】
【００２４】
【図１】照応解析を説明するための模式図である。
【図２】省略解析を説明するための模式図である。
【図３】文脈的特徴の利用例を示すための模式図である。
【図４】非特許文献１に開示された従来の技術を説明するための模式図である。
【図５】非特許文献２に開示された従来の技術を説明するための模式図である。
【図６】本発明の第１の実施の形態に係るマルチカラム畳み込みニューラルネットワーク（ＭＣＮＮ）による照応・省略解析システムの構成を示すブロック図である。
【図７】図６に示すシステムで利用されるSurfSeqベクトルを説明するための模式図である。
【図８】図６に示すシステムで利用されるDepTreeベクトルを説明するための模式図である。
【図９】図６に示すシステムで利用されるPredContextベクトルを説明するための模式図である。
【図１０】図６に示すシステムで利用されるＭＣＮＮの概略構成を示すブロック図である。
【図１１】図１０に示すＭＣＮＮの機能を説明するための模式図である。
【図１２】図６に示す照応・省略解析部を実現するプログラムの制御構造を示すフローチャートである。
【図１３】本発明の第１の実施の形態に係るシステムの効果を説明するグラフである。
【図１４】本発明の第２の実施の形態に係るマルチカラム（ＭＣ）ＬＳＴＭによる照応・省略解析システムの構成を示すブロック図である。
【図１５】第２の実施の形態における省略の差し先の判定を模式的に説明するための図である。
【図１６】図６に示すシステムを実現するためのプログラムを実行するコンピュータの外観を示す図である。
【図１７】図１６に外観を示すコンピュータのハードウェアブロック図である。
【発明を実施するための形態】
【００２５】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【００２６】
［第１の実施の形態］
＜全体構成＞
図６を参照して、最初に、本発明の一実施の形態に係る照応・省略解析システム１６０の全体構成について説明する。
【００２７】
この照応・省略解析システム１６０は、入力文１７０を受けて形態素解析を行う形態素解析部２００と、形態素解析部２００の出力する形態素列に対して係り受け解析をし、係り受け関係を示す情報が付された解析後文２０４を出力する係り受け関係解析部２０２と、解析後文２０４の中で、文脈解析の対象となる指示語及び主語の省略された述語を検出し、それらの指し先候補及び省略された箇所に補完すべき単語の候補（補完候補）を探索して、それらの組み合わせの各々に対して指し先及び補完候補を１つに決定するための処理を行うために以下の各部の制御を行う解析制御部２３０と、指し先候補及び補完候補を決定するよう予め学習済のＭＣＮＮ２１４と、解析制御部２３０により制御され、ＭＣＮＮ２１４を参照することによって、解析後文２０４に対する照応・省略解析を行って指示語にはその指示する語を示す情報を付し、省略箇所にはそこに補完すべき単語を特定する情報を付して出力文１７４として出力する照応・省略解析部２１６とを含む。
【００２８】
照応・省略解析部２１６は、解析制御部２３０から指示語と指し先の組み合わせ、又は主語が省略された述語とその主語の補完候補の組み合わせをそれぞれ受け、後述するBaseベクトル列、SurfSeqベクトル列、DepTreeベクトル列、及びPredContextベクトル列を生成するための単語列を文から抽出するBase単語列抽出部２０６、SurfSeq単語列抽出部２０８、DepTree単語列抽出部２１０、及びPredContext単語列抽出部２１２と、Base単語列抽出部２０６、SurfSeq単語列抽出部２０８、DepTree単語列抽出部２１０及びPredContext単語列抽出部２１２からそれぞれBase単語列、SurfSeq単語列、DepTree単語列、及びPredContext単語列を受け、これらの単語列をそれぞれ単語ベクトル（単語埋め込みベクトル；Word  Embedding  Vector）列に変換する単語ベクトル変換部２３８と、ＭＣＮＮ２１４を用いて、単語ベクトル変換部２３８が出力する単語ベクトル列に基づいて、解析制御部２３０から与えられた組み合わせの指し先候補又は補完候補の各々のスコアを算出して出力するスコア算出部２３２と、スコア算出部２３２が出力するスコアを、各指示語及び省略箇所ごとに、指し先候補又は補完候補のリストとして記憶するリスト記憶部２３４と、リスト記憶部２３４に記憶されたリストに基づき、解析後文２０４内の指示語及び省略箇所の各々について、最もスコアが高い候補を選択して補完し、補完後の文を出力文１７４として出力するための補完処理部２３６とを含む。
【００２９】
Base単語列抽出部２０６が抽出するBase単語列、SurfSeq単語列抽出部２０８が抽出するSurfSeq単語列、DepTree単語列抽出部２１０が抽出するDepTree単語列、及びPredContext単語列抽出部２１２が抽出するPredContext単語列はいずれも、文全体から抽出される。
【００３０】
Base単語列抽出部２０６は、解析後文２０４に含まれる、省略補完の対象となる名詞と省略を持つ可能性のある述語の対から単語列を抽出しBase単語列として出力する。ベクトル変換部２３８が、この単語列から単語ベクトル列であるBaseベクトル列を生成する。本実施の形態では、単語の出現順序を保存し、かつ演算量を少なくするために以下の全ての単語ベクトルとして単語埋め込みベクトルを使用する。
【００３１】
なお、以下の説明では、理解を容易にするために、主語が省略された述語の主語の候補について、その単語ベクトル列の集合を生成する方法を説明する。
【００３２】
図７を参照して、図６に示すSurfSeq単語列抽出部２０８が抽出する単語列は、文９０中での単語列の出現順序に基づき、文頭から補完候補２５０までの単語列２６０、補完候補２５０と述語１０２の間の単語列２６２、及び述語１０２の後、文末までの単語列２６４を含む。したがって、SurfSeqベクトル列は３つの単語埋め込みベクトル列として得られる。
【００３３】
図８を参照して、DepTree単語列抽出部２１０が抽出する単語列は、文９０の係り受け木に基づき、補完候補２５０に係る部分木２８０、述語１０２の係り先の部分木２８２、補完候補と述語１０２の間の係り受けパス２８４、及びその他２８６からそれぞれ得られる単語列を含む。したがってこの例ではDepTreeベクトル列は４つの単語埋め込みベクトル列として得られる。
【００３４】
図９を参照して、PredContext単語列抽出部２１２が抽出する単語列は、文９０において、述語１０２の前の単語列３００と、後の単語列３０２とを含む。したがってこの場合、PredContextベクトル列は２つの単語埋め込みベクトル列として得られる。
【００３５】
図１０を参照して、本実施の形態では、ＭＣＮＮ２１４は、第１〜第４の畳み込みニューラルネットワーク群３６０、３６２、３６４、３６６からなるニューラルネットワーク層３４０と、ニューラルネットワーク層３４０内の各ニューラルネットワークの出力を線形に連結する連結層３４２と、連結層３４２の出力するベクトルに対してSoftmax関数を適用して、補完候補が真の補完候補か否かを０〜１の間のスコアで評価し出力するSoftmax層３４４とを含む。
【００３６】
ニューラルネットワーク層３４０は、前述のとおり第１の畳み込みニューラルネットワーク群３６０、第２の畳み込みニューラルネットワーク群３６２、第３の畳み込みニューラルネットワーク群３６４、及び第４の畳み込みニューラルネットワーク群３６６を含む。
【００３７】
第１の畳み込みニューラルネットワーク群３６０は、Baseベクトルを受ける第１カラムのサブネットワークを含む。第２の畳み込みニューラルネットワーク群３６２は、３つのSurfSeqベクトル列をそれぞれ受ける第２、第３及び第４カラムのサブネットワークを含む。第３の畳み込みニューラルネットワーク群３６４は、４つのDepTreeベクトル列をそれぞれ受ける第５、第６、第７、及び第８カラムのサブネットワークを含む。第４の畳み込みニューラルネットワーク群３６６は、２つのPredContextベクトル列を受ける第９及び第１０カラムのサブネットワークを含む。これらサブネットワークは、いずれも畳み込みニューラルネットワークである。
【００３８】
ニューラルネットワーク層３４０の各畳み込みニューラルネットワークの出力は連結層３４２で単純に線形に連結され、Softmax層３４４への入力ベクトルとなる。
【００３９】
ＭＣＮＮ２１４についてその機能をより詳細に説明する。図１１に、代表として１つの畳み込みニューラルネットワーク３９０を示す。ここでは、説明を分かりやすくするために、畳み込みニューラルネットワーク３９０が、入力層４００、畳み込み層４０２、及びプーリング層４０４のみからなっているものとするが、この３つの層を複数個備えているものでもよい。
【００４０】
入力層４００には、単語ベクトル変換部２３８が出力した単語ベクトル列Ｘ１、Ｘ２、…、Ｘ|ｔ|がスコア算出部２３２を介して入力される。この単語ベクトル列Ｘ１、Ｘ２、…、Ｘ|ｔ|は、行列Ｔ＝［Ｘ１、Ｘ２、…、Ｘ|ｔ|］Ｔとして表される。この行列Ｔに対して、Ｍ個の素性マップが適用される。素性マップはベクトルであって、各素性マップの要素であるベクトルＯは連続する単語ベクトルからなるＮグラムに対してｆj（１≦ｊ≦Ｍ）で示されるフィルタを適用しながらＮグラム４１０を移動させることにより計算される。Ｎは任意の自然数だが、本実施の形態ではＮ＝３とする。すなわちＯは次の式により表される。
【００４１】
【数１】
2018041160.tif 000003
なお、素性マップの全体にわたりＮを等しくしてもよいし、異なるものがあってもよい。Ｎとしては、２、３、４及び５程度が適当であろう。本実施の形態では、重み行列は全ての畳み込みニューラルネットワークにおいて等しくしてある。これらは互いに異なっていても良いが、実際、互いに等しくした方が、各重み行列を独立に学習する場合より精度が高くなる。
【００４２】
この素性マップの各々について、次のプーリング層４０４は、いわゆるマックスプーリングを行う。すなわち、プーリング層４０４は、例えば素性マップｆＭの要素のうち、最大の要素４２０を選択し、要素４３０として取出す。これを素性マップの各々に対して行うことによって、要素４３２、…、４３０を取出し、これらをｆ１からｆＭの順番に連接して連結層３４２にベクトル４４２として出力する。各畳み込みニューラルネットワークからはこのようにして得られたベクトル４４０、…、４４２、…、４４４が連結層３４２に出力される。連結層３４２は、ベクトル４４０、…、４４２、…、４４４を単純に線形に連結してSoftmax層３４４に与える。なお、プーリング層４０４としてはマックスプーリングを行うものの方が平均値を採用するものよりも精度が高いと言われている。しかし、もちろん平均値を採用するようにしてもよいし、下位の層の性質をよく表現するものであれば、他の代表値を用いるようにしてもよい。
【００４３】
図６に示す照応・省略解析部２１６について説明する。照応・省略解析部２１６は、メモリ及びプロセッサを含むコンピュータハードウェア及びその上で実行されるコンピュータソフトウェアにより実現される。図１２に、そのようなコンピュータプログラムの制御構造をフローチャート形式で示す。
【００４４】
図１２を参照して、このプログラムは、解析対象である文から指示語又は主語の省略された述語candiとその補完候補である単語prediとのペア<candi;predi>を全て生成するステップ４６０と、ステップ４６０で生成されたあるペアに対して、ＭＣＮＮ２１４を用いてスコアを計算し、メモリにリストとして記憶させるステップ４６４を、全てのペアに対して実行するステップ４６２と、ステップ４６２で算出されたリストをスコアｎの降順でソートするステップ４６６とを含む。なおここでは、ペア<candi;predi>は、ある述語とその補完候補のとして可能な単語との全ての可能な組み合わせを示す。すなわち、このペアの集合の中には、各述語も、補完候補もそれぞれ複数回現れ得る。
【００４５】
このプログラムはさらに、繰返し制御変数ｉを０に初期化するステップ４６８と、変数ｉの値がリストの要素数より大きいかを比較し、比較が肯定か否かにしたがって制御を分岐させるステップ４７０と、ステップ４７０の比較が否定であることに応答して実行され、ペア<candi;predi>のスコアが所定のしきい値より大きいか否かにしたがって制御を分岐させるステップ４７４と、ステップ４７４の判定が肯定であることに応答して実行され、述語prediの補完候補が既に補完済か否かにしたがって制御を分岐させるステップ４７６と、ステップ４７６の判定が否定であることに応答して、述語prediの省略されている主語にcandiを補完するステップ４７８とを含む。ステップ４７４のしきい値としては、例えば０．７〜０．９程度の範囲とすることが考えられる。
【００４６】
このプログラムはさらに、ステップ４７４の判定が否定であること、ステップ４７６の判定が否定であること、又はステップ４７８の処理が終了したことに応答して実行され、<candi;predi>をリストから削除するステップ４８０と、ステップ４８０に続き、変数ｉの値に１を加算して制御をステップ４７０に戻すステップ４８２と、ステップ４７０の判定が肯定であることに応答して実行され、補完後の文を出力して処理を終了するステップ４７２とを含む。
【００４７】
なお、ＭＣＮＮ２１４の学習は、通常のニューラルネットワークの学習と同様である。ただし、学習データとしては、上記した１０個の単語ベクトルを単語ベクトルとして用いること、及び、処理中の述語と補完候補との組み合わせが正しいか否かを示すデータを学習データに付加することが上記実施の形態のような判別時とは異なる。
【００４８】
＜動作＞
図６〜図１２に示す照応・省略解析システム１６０は以下のように動作する。入力文１７０が照応・省略解析システム１６０に与えられると、形態素解析部２００が入力文１７０の形態素解析を行って形態素列を係り受け関係解析部２０２に与える。係り受け関係解析部２０２はこの形態素列に対して係り受け解析を行い、係り受け情報が付された解析後文２０４を解析制御部２３０に与える。
【００４９】
解析制御部２３０は、解析後文２０４内の、主語が省略された全ての述語を検索し、各述語に対する補完候補を解析後文２０４内で探索して、それらの組み合わせの各々について以下の処理を実行する。すなわち、解析制御部２３０は、処理対象の述語と補完候補の組み合わせを１つ選択し、Base単語列抽出部２０６、SurfSeq単語列抽出部２０８、DepTree単語列抽出部２１０及びPredContext単語列抽出部２１２に与える。Base単語列抽出部２０６、SurfSeq単語列抽出部２０８、DepTree単語列抽出部２１０及びPredContext単語列抽出部２１２はそれぞれ、解析後文２０４からBase単語列、SurfSeq単語列、DepTree単語列及びPredContext単語列を抽出し、単語列群として出力する。これら単語列群は、単語ベクトル変換部２３８により単語ベクトル列に変換されスコア算出部２３２に与えられる。
【００５０】
解析制御部２３０は、単語ベクトル変換部２３８からこの単語ベクトル列が出力されると、スコア算出部２３２に以下の処理を実行させる。スコア算出部２３２は、Baseベクトル列をＭＣＮＮ２１４の第１の畳み込みニューラルネットワーク群３６０の１つのサブネットワークの入力に与える。スコア算出部２３２は３つのSurfSeqベクトル列をＭＣＮＮ２１４の第２の畳み込みニューラルネットワーク群３６２の３つのサブネットワークの入力にそれぞれ与える。スコア算出部２３２はさらに、４つのDepTreeベクトル列を第３の畳み込みニューラルネットワーク群３６４の４つのサブネットワークに与え、２つのPredContextベクトル列を第４の畳み込みニューラルネットワーク群３６６の２つのサブネットワークに与える。ＭＣＮＮ２１４は、これら入力された単語ベクトルに応答して、与えられた単語ベクトル群に対応する述語と補完候補の組が正しい確率に対応するスコアを算出し、スコア算出部２３２に与える。スコア算出部２３２は、この述語と補完候補との組み合わせに対し、スコアを組み合わせてリスト記憶部２３４に与え、リスト記憶部２３４はこの組み合わせをリストの１項目として記憶する。
【００５１】
解析制御部２３０が上記した処理を全ての述語と補完候補との組み合わせに対して実行すると、リスト記憶部２３４には全ての述語と補完候補との組み合わせごとにそれらのスコアがリストされている（図１２、ステップ４６０、４６２、４６４）。
【００５２】
補完処理部２３６は、リスト記憶部２３４に記憶されているリストをスコアの降順でソートする（図１２、ステップ４６６）。補完処理部２３６はリストの先頭から項目を読出し、全ての項目について処理が完了した場合（ステップ４７０でＹＥＳ）、補完後の文を出力して（ステップ４７２）処理を終了する。まだ項目が残っている場合（ステップ４７０でＮＯ）、読出された項目のスコアがしきい値より大きいか否かを判定する（ステップ４７４）。そのスコアがしきい値以下なら（ステップ４７４でＮＯ）、ステップ４８０でその項目をリストから削除し、次の項目に進む（ステップ４８２からステップ４７０）。そのスコアがしきい値より大きければ（ステップ４７４でＹＥＳ）、ステップ４７６でその項目の述語に対する主語が他の補完候補により既に補完済か否かを判定する（ステップ４７６）。既に補完済（ステップ４７６でＹＥＳ）ならその項目をリストから削除し（ステップ４８０）、次の項目に進む（ステップ４８２からステップ４７０）。その項目の述語に対する主語が補完済でなければ（ステップ４７６でＮＯ）、ステップ４７８でその述語に対する主語の省略箇所に、その項目の補完候補を補完する。さらにステップ４８０での項目をリストから削除し、次の項目に進む（ステップ４８２からステップ４７０）。
【００５３】
こうして、可能な全ての補完が完了すると、ステップ４７０の判定がＹＥＳとなり、ステップ４７２で補完後の文が出力される。
【００５４】
以上のように、本実施の形態によれば、従来と異なり、文を構成する全ての単語列を用いて、かつ複数の異なる観点から生成されたベクトルを用いて、述語と補完候補（又は指示語とその指し先候補）の組み合わせが正しいものか否かを判定する。従来のように人手で単語ベクトルを調整することなく、様々な観点から判定することが可能になり、照応・省略解析の精度を上げることが期待できる。
【００５５】
実際、実験により上記実施の形態の考え方による照応・省略解析の精度が従来のものよりも高くなることが確認できた。その結果を図１３にグラフ形式で示す。この実験では、非特許文献３で使用されたものと同じコーパスを用いた。このコーパスは予め述語とその省略箇所の補完語との対応付けが人手でなされたものである。このコーパスを５個のサブコーパスに分割し、３個を学習データ、１個を開発セット、１個をテストデータとして用いた。このデータを用い、上記した実施の形態にしたがった照応・補完手法と、他の３種類の比較手法とによって省略箇所の補完処理を行い、その結果を比較した。
【００５６】
図１３を参照して、グラフ５００は上記実施の形態にしたがって行った実験結果のＰＲ曲線である。この実験では、上記した４種類の単語ベクトルを全て用いた。グラフ５０６は、マルチカラムではなく単カラムの畳み込みニューラルネットワークを用い、文に含まれる全ての単語から単語ベクトルを生成して得た例のＰＲ曲線である。黒四角５０２及びグラフ５０４で示されるのは、比較のために、非特許文献４に示されたグローバル最適化方法の結果及び実験により得たＰＲ曲線である。この方法では開発セットが不要であるため、開発セットを含めた４つのサブコーパスを学習に用いた。この方法では主語、目的語、間接目的語について述語−文法項間の関係が得られるが、本実験では文中での主語省略の補完についてだけに関する出力を用いた。非特許文献４に示されたものと同様、１０回の独立した試行の結果を平均したものを用いている。さらに、非特許文献３の手法を用いた結果５０８もグラフ中にxで示す。
【００５７】
図１３から明らかなように、上記実施の形態による手法によれば他のどの手法のものよりもよいＰＲ曲線が得られ、広い範囲で適合率が高い。したがって、上記したような単語ベクトルの選択方法が従来方法で用いられたものよりも適切に文脈情報を表現していると考えられる。さらに、上記実施の形態による方法によれば、単カラムのニューラルネットワークを用いたものよりも高い適合率が得られた。これはＭＣＮＮを用いることにより、再現率を高めることができたことを示す。
【００５８】
［第２の実施の形態］
＜構成＞
第１の実施の形態に係る照応・省略解析システム１６０では、スコア算出部２３２におけるスコア算出にＭＣＮＮ２１４を用いている。しかし、本発明はそのような実施の形態には限定されない。ＭＣＮＮに代えて、ＬＳＴＭと呼ばれるネットワークアーキテクチャを構成素とするニューラルネットワークを用いてもよい。以下、ＬＳＴＭを用いた実施の形態について説明する。
【００５９】
ＬＳＴＭは、リカレント型ニューラルネットワークの一種であり、入力系列を記憶しておく能力を持つ。実装上、いろいろな変種があるが、入力の系列と、それに対する出力の系列とを一組とする多数組の学習データで学習し、入力の系列を受けると、それに対する出力の系列を受ける仕組みを実現することができる。この仕組みを用いて英語からフランス語に自動翻訳するシステムがすでに利用されている（非特許文献５）。
【００６０】
図１４を参照して、この実施の形態でＭＣＮＮ２１４に代えて用いられるＭＣＬＳＴＭ（マルチカラムＬＳＴＭ）５３０は、ＬＳＴＭ層５４０と、第１の実施の形態の連結層３４２と同様、ＬＳＴＭ層５４０内の各ＬＳＴＭの出力を線形に連結する連結層５４２と、連結層５４２の出力するベクトルに対してSoftmax関数を適用して、補完候補が真の補完候補か否かを０〜１の間のスコアで評価し出力するSoftmax層５４４とを含む。
【００６１】
ＬＳＴＭ層５４０は、第１のＬＳＴＭ群５５０、第２のＬＳＴＭ群５５２、第３のＬＳＴＭ群５５４、及び第４のＬＳＴＭ群５５６を含む。これらはいずれもＬＳＴＭからなるサブネットワークを含む。
【００６２】
第１のＬＳＴＭ群５５０は、第１の実施の形態の第１の畳み込みニューラルネットワーク群３６０と同様、Baseベクトル列を受ける第１カラムのＬＳＴＭを含む。第２のＬＳＴＭ群５５２は、第１の実施の形態の第２の畳み込みニューラルネットワーク群３６２と同様、３つのSurfSeqベクトル列をそれぞれ受ける第２、第３及び第４カラムのＬＳＴＭを含む。第３のＬＳＴＭ群５５４は、第１の実施の形態の第３の畳み込みニューラルネットワーク群３６４と同様、４つのDepTreeベクトル列をそれぞれ受ける第５、第６、第７、及び第８カラムのＬＳＴＭを含む。第４のＬＳＴＭ群５５６は、第１の実施の形態の第４の畳み込みニューラルネットワーク群３６６と同様、２つのPredContextベクトル列を受ける第９及び第１０のＬＳＴМを含む。
【００６３】
ＬＳＴＭ層５４０の各ＬＳＴＭの出力は連結層５４２で単純に線形に連結され、Softmax層５４４への入力ベクトルとなる。
【００６４】
ただし、本実施の形態では、各単語ベクトル列は、例えば、出現順序にしたがって単語ごとに生成した単語ベクトルからなるベクトル系列の形で生成される。これらベクトル系列を形成する単語ベクトルは、それぞれ単語の出現順序に従って対応のＬＳＴＭに順次与えられる。
【００６５】
ＬＳＴＭ層５４０を構成するＬＳＴＭ群の学習も、第１の実施の形態と同様、ＭＣＬＳＴＭ５３０の全体についての、学習データを用いた誤差逆伝播法により行われる。この学習は、ベクトル系列が与えられると、ＭＣＬＳＴＭ５３０が、補完候補である単語が真に指し先である確率を出力するように行われる。
【００６６】
＜動作＞
この第２の実施の形態に係る照応・省略解析システムの動作は、基本的に第１の実施の形態の照応・省略解析システム１６０と同様である。ＬＳＴＭ層５４０を構成する各ＬＳＴＭへのベクトル列の入力も第１の実施の形態と同様である。
【００６７】
手順は第１の実施の形態と同様で、その概略は図１２に示されている。違いは、図１２のステップ４６４で、第１の実施の形態のＭＣＮＮ２１４（図１０）に代えて、図１４に示すＭＣＬＳＴＭ５３０を使用する点、及び単語ベクトル列として単語ベクトルからなるベクトル系列を用い、各単語ベクトルを順にＭＣＬＳＴＭ５３０に入力する点である。
【００６８】
本実施の形態では、ＬＳＴＭ層５４０を構成する各ＬＳＴＭにベクトル系列の各単語ベクトルが入力されるたびに、各ＬＳＴＭはその内部状態を変え、出力も変わる。ベクトル系列の入力が終了した時点での各ＬＳＴＭの出力は、それまでに入力されたベクトル系列に応じて定まる。連結層５４２は、それらの出力を連結してSoftmax層５４４への入力とする。Softmax層５４４は、この入力に対するsoftmax関数の結果を出力する。この値は上記したように、ベクトル系列を生成する際の、指示語、又は主語が省略された述語に対する指し先の補完候補が真の指し先候補か否かを示す確率である。ある補完候補に対して算出されるこの確率が、他の補完候補に対して算出された確率より大きく、かつあるしきい値θより大きい場合に、その補完候補が真の指し先候補であると推定する。
【００６９】
図１５（Ａ）を参照して、例文５７０において、述語である「受けた」という文言５８０に対する主語が不明であり、その補完候補として「報告書」「政府」及び「条約」という単語５８２、５８４及び５８６が検出されたものとする。
【００７０】
図１５（Ｂ）に示す様に、単語５８２、５８４及び５８６に対して、それぞれ単語ベクトルを表すベクトル系列６００、６０２、及び６０４が得られ、これらをＭＣＬＳＴＭ５３０への入力として与える。その結果、ＭＣＬＳＴＭ５３０の出力として、ベクトル系列６００、６０２、及び６０４に対してそれぞれ０．５、０．８、及び０．４という値が得られたものとする。これらの最大値は０．８である。また、この０．８という値がしきい値θ以上であれば、ベクトル系列６０２に対応する単語５８４、すなわち「政府」が「受けた」の主語であると推定される。
【００７１】
図１２に示すように、こうした処理を対象となる文の中の全ての指示語、又は主語が省略された述語と、それらの指し先候補とのペアに対して実行していくことで、対象文の解析が行われる。
【００７２】
［コンピュータによる実現］
上記第１及び第２の実施の形態に係る照応・省略解析システムは、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。図１６はこのコンピュータシステム６３０の外観を示し、図１７はコンピュータシステム６３０の内部構成を示す。
【００７３】
図１６を参照して、このコンピュータシステム６３０は、メモリポート６５２及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ドライブ６５０を有するコンピュータ６４０と、いずれもコンピュータ６４０に接続されたキーボード６４６、マウス６４８、及びモニタ６４２とを含む。
【００７４】
図１７を参照して、コンピュータ６４０は、メモリポート６５２及びＤＶＤドライブ６５０に加えて、ＣＰＵ（中央処理装置）６５６と、ＣＰＵ６５６、メモリポート６５２及びＤＶＤドライブ６５０に接続されたバス６６６と、ブートプログラム等を記憶する読出専用メモリ（ＲＯＭ）６５８と、バス６６６に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するランダムアクセスメモリ（ＲＡＭ）６６０と、ハードディスク６５４とを含む。コンピュータシステム６３０はさらに、他端末との通信を可能とするネットワーク６６８への接続を提供するネットワークインターフェイス（Ｉ／Ｆ）６４４を含む。
【００７５】
コンピュータシステム６３０を上記した実施の形態に係る照応・省略解析システムの各機能部として機能させるためのコンピュータプログラムは、ＤＶＤドライブ６５０又はメモリポート６５２に装着されるＤＶＤ６６２又はリムーバブルメモリ６６４に記憶され、さらにハードディスク６５４に転送される。又は、プログラムはネットワーク６６８を通じてコンピュータ６４０に送信されハードディスク６５４に記憶されてもよい。プログラムは実行の際にＲＡＭ６６０にロードされる。ＤＶＤ６６２から、リムーバブルメモリ６６４から又はネットワーク６６８を介して、直接にＲＡＭ６６０にプログラムをロードしてもよい。
【００７６】
このプログラムは、コンピュータ６４０を、上記実施の形態に係る照応・省略解析システムの各機能部として機能させるための複数の命令からなる命令列を含む。コンピュータ６４０にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ６４０上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ６４０にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体はこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の内、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記したシステムとしての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供してもよい。
【００７７】
［可能な変形例］
上記実施の形態では、日本語に対する照応・解析処理を扱っている。しかし本発明はそのような実施の形態には限定されない。文全体の単語列を使い、複数の観点で単語ベクトル群を作成するという考え方は、どのような言語にも適用できる。したがって、指示語及び省略が頻発する他の言語（中国語、韓国語、イタリア語、スペイン語）等についても本発明を適用できると考えられる。
【００７８】
また、上記実施の形態では、文全体の単語列を用いた単語ベクトル列として４種類を用いているが、単語ベクトル列としてはこの４種類に限定されるわけではない。異なる観点から文全体の単語列を用いて作成する単語ベクトル列であればどのようなものでも利用できる。さらに、文全体の単語列を用いるものを少なくとも２種類用いるのであれば、それら以外に文の一部の単語列を用いる単語ベクトル列を加えて使用してもよい。また、単なる単語列だけではなく、それらの品詞情報まで含めた単語ベクトル列を用いるようにしても良い。
【符号の説明】
【００７９】
９０       文
１００、１０２、１０４    述語
１０６    省略
１１０、１１２、１１４、１１４    単語
１６０    照応・省略解析システム
１７０    入力文
１７４    出力文
２００    形態素解析部
２０２    係り受け関係解析部
２０４    解析後文
２０６    Base単語列抽出部
２０８    SurfSeq単語列抽出部
２１０    DepTree単語列抽出部
２１２    PredContext単語列抽出部
２１４    ＭＣＮＮ
２１６    照応・省略解析部
２３０    解析制御部
２３２    スコア算出部
２３４    リスト記憶部
２３６    補完処理部
２３８    単語ベクトル変換部
２５０    補完候補
２６０、２６２、２６４、３００、３０２    単語列
２８０、２８２    部分木
２８４    係り受けパス
３４０    ニューラルネットワーク層
３４２、５４２    連結層
３４４、５４４    Softmax層
３６０    第１の畳み込みニューラルネットワーク群
３６２    第２の畳み込みニューラルネットワーク群
３６４    第３の畳み込みニューラルネットワーク群
３６６    第４の畳み込みニューラルネットワーク群
３９０    畳み込みニューラルネットワーク
４００    入力層
４０２    畳み込み層
４０４    プーリング層
５３０    ＭＣＬＳＴＭ
５４０    ＬＳＴＭ層
５５０    第１のＬＳＴＭ群
５５２    第２のＬＳＴＭ群
５５４    第３のＬＳＴＭ群
５５６    第４のＬＳＴＭ群
６００、６０２、６０４    ベクトル系列
【図１】
2018041160.tif 000004
【図２】
2018041160.tif 000005
【図３】
2018041160.tif 000006
【図４】
2018041160.tif 000007
【図５】
2018041160.tif 000008
【図６】
2018041160.tif 000009
【図７】
2018041160.tif 000010
【図８】
2018041160.tif 000011
【図９】
2018041160.tif 000012
【図１０】
2018041160.tif 000013
【図１１】
2018041160.tif 000014
【図１２】
2018041160.tif 000015
【図１３】
2018041160.tif 000016
【図１４】
2018041160.tif 000017
【図１５】
2018041160.tif 000018
【図１６】
2018041160.tif 000019
【図１７】
2018041160.tif 000020