(57)【特許請求の範囲】
【請求項１】
文のペアの接続関係を表す接続関係ラベルを推定する接続関係推定装置であって、
単語の意味を表す概念ベクトルの集合に基づいて、前記文のペアに含まれる文の各々について、前記文に含まれる各単語の概念ベクトルを用いて、複数種類の文字列単位の各々に対し、前記文に含まれる前記文字列単位の各々の概念ベクトルを作成する概念ベクトル作成部と、
前記概念ベクトル作成部により前記文のペアの一方の文について作成された前記概念ベクトルの何れかと、前記文のペアの他方の文について作成された前記概念ベクトルの何れかとを組み合わせた組み合わせの各々に対し、前記組み合わせの前記概念ベクトルに基づいて素性ベクトルを作成し、前記作成された素性ベクトルの各々について、前記素性ベクトルと、予め学習された前記接続関係ラベルを推定するための接続関係推定モデルとに基づいて、前記接続関係ラベルに対する尤度を推定し、前記素性ベクトルの各々について推定された前記接続関係ラベルに対する尤度に基づいて、前記文のペアの接続関係ラベルを推定する接続関係推定部と、
を含む接続関係推定装置。
【請求項２】
前記複数種類の文字列単位は階層関係を有し、
前記概念ベクトル作成部は、前記概念ベクトルの集合に基づいて、前記文のペアに含まれる文の各々について、前記文に含まれる単語の各々に対して前記概念ベクトルを付与する単語概念ベクトル付与部と、
前記文のペアに含まれる文の各々について、前記単語概念ベクトル付与部によって前記文に含まれる単語の各々に対して付与された前記概念ベクトルに基づいて、最下位の階層の文字列単位から順に、前記複数種類の文字列単位の各々について、前記文に含まれる前記文字列単位の各々の概念ベクトルを再帰的に作成する文概念ベクトル生成部とを含む請求項１に記載の接続関係推定装置。
【請求項３】
前記複数種類の文字列単位を、文節、述語項、及び文とした請求項１又は請求項２に記載の接続関係推定装置。
【請求項４】
前記文概念ベクトル生成部は、
前記単語概念ベクトル付与部によって前記文に含まれる単語の各々に対して付与された前記概念ベクトルに基づいて、前記文に含まれる文節の各々について、前記文節に含まれる単語の各々の前記概念ベクトルを合成して、前記文節の概念ベクトルを生成し、
前記文に含まれる述語項の各々について、述部となる文節の前記概念ベクトルと、前記述部と係り受け関係を有する文節の前記概念ベクトルを合成して、前記述語項の概念ベクトルを生成し、
前記文について、前記文に含まれる文節の各々の前記概念ベクトルを合成して、前記文の概念ベクトルを生成する請求項３記載の接続関係推定装置。
【請求項５】
文のペアの接続関係を表す接続関係ラベルを推定する接続関係推定装置における接続関係推定方法であって、
概念ベクトル作成部が、単語の意味を表す概念ベクトルの集合に基づいて、前記文のペアに含まれる文の各々について、前記文に含まれる各単語の概念ベクトルを用いて、複数種類の文字列単位の各々に対し、前記文に含まれる前記文字列単位の各々の概念ベクトルを作成するステップと、
接続関係推定部が、前記概念ベクトル作成部で作成するステップにより前記文のペアの一方の文について作成された前記概念ベクトルの何れかと、前記文のペアの他方の文について作成された前記概念ベクトルの何れかとを組み合わせた組み合わせの各々に対し、前記組み合わせの前記概念ベクトルに基づいて素性ベクトルを作成し、前記作成された素性ベクトルの各々について、前記素性ベクトルと、予め学習された前記接続関係ラベルを推定するための接続関係推定モデルとに基づいて、前記接続関係ラベルに対する尤度を推定し、前記素性ベクトルの各々について推定された前記接続関係ラベルに対する尤度に基づいて、前記文のペアの接続関係ラベルを推定するステップと、
を含む接続関係推定方法。
【請求項６】
前記複数種類の文字列単位は階層関係を有し、
前記概念ベクトル作成部が作成するステップは、単語概念ベクトル付与部が、前記概念ベクトルの集合に基づいて、前記文のペアに含まれる文の各々について、前記文に含まれる単語の各々に対して前記概念ベクトルを付与するステップと、
文概念ベクトル生成部が、前記文のペアに含まれる文の各々について、前記単語概念ベクトル付与部によって前記文に含まれる単語の各々に対して付与された前記概念ベクトルに基づいて、最下位の階層の文字列単位から順に、前記複数種類の文字列単位の各々について、前記文に含まれる前記文字列単位の各々の概念ベクトルを再帰的に作成するステップとを含む請求項５に記載の接続関係推定方法。
【請求項７】
前記複数種類の文字列単位を、文節、述語項、及び文とした請求項５又は請求項６に記載の接続関係推定方法。
【請求項８】
コンピュータを、請求項１〜請求項４のいずれか１項に記載の接続関係推定装置を構成する各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、接続関係推定装置、方法、及びプログラムに係り、特に、文のペアの接続関係ラベルを推定するための接続関係推定装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
文のペアに存在する接続関係を推定する技術は、自然言語処理の談話解析の分野で議論される技術である。接続関係とは文のペアの間を「だから」、「例えば」、又は「でも」のような接続詞によって接続できる関係である。接続関係は明示的な接続関係と暗示的な接続関係が存在する。明示的な接続関係とは、接続関係が文のペアのうち片方の文の文中に、「だから」、「例えば」をはじめとする接続詞が明示的に含まれている接続関係である。暗示的な接続関係とは文中に接続詞などの接続関係を示す表現は含まれていないが、文ペアの内容から接続関係が推測される接続関係である。
【０００３】
明示的な接続関係については、接続詞などの表現に着目することで接続関係を推定することができる。一方、暗示的な接続関係は、文中に出現する単語や文の構文情報といった文から取得できる表層情報を用いて接続関係を推定する技術が知られている（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ziheng Lin， Hwee Tou Ng， Min-Yen Kan．"A PDTB-Styled End-to-End Discourse Parser." Natural Language Engineering, 20, pp 151-184. Cambridge University Press. （2014）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
文のペアの間の接続関係推定において、「だから」、「例えば」等の接続詞が存在しない接続関係（暗示的な接続関係）を推定するためには、文のペアの間の内容を比較する必要がある。従来技術では内容の比較は文中に出現する単語により行っていたが、接続関係は単語の関係性から判定出来るとは限らず、単語と文節、節と述語項、あるいは単語の文全体など文内の様々な粒度の内容を比較して初めて明らかになる関係が多く存在する。例えば、「最近アウドドアにハマっているんですよ」と、「私は昔からインドア派ですね」という文のペアの間には「一方」のような対比関係が存在する。この対比関係は「アウドドア」と「インドア」という２つの単語を比較することによって明らかになる関係である。このような例に対して、「昨日は会社に傘を忘れた」と、「ずぶ濡れになってしまった」という文のペアの間には「傘を忘れたのでずぶ濡れになった」という因果関係が存在するが、この関係は「傘を忘れた」という述語と補語から構成される述語項と「ずぶ濡れ」という単語を比較することによって明らかになる関係である。
【０００６】
このように文節、又は述語項のような単語より大きな粒度の内容を捉えて比較しなくてはならない場合においては、従来技術の単語のみを用いた手法では推定ができず、接続関係の推定精度が向上しないという課題があった。
【０００７】
本発明は、上記問題点を解決するために成されたものであり、精度よく、接続関係ラベルを推定することができる接続関係推定装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、第１の発明に係る接続関係推定装置は、文のペアの接続関係を表す接続関係ラベルを推定する接続関係推定装置であって、単語の意味を表す概念ベクトルの集合に基づいて、前記文のペアに含まれる文の各々について、前記文に含まれる各単語の概念ベクトルを用いて、複数種類の文字列単位の各々に対し、前記文に含まれる前記文字列単位の各々の概念ベクトルを作成する概念ベクトル作成部と、前記概念ベクトル作成部により前記文のペアの一方の文について作成された前記概念ベクトルの何れかと、前記文のペアの他方の文について作成された前記概念ベクトルの何れかとを組み合わせた組み合わせの各々に対し、前記組み合わせの前記概念ベクトルに基づいて素性ベクトルを作成し、前記作成された素性ベクトルの各々について、前記素性ベクトルと、予め学習された前記接続関係ラベルを推定するための接続関係推定モデルとに基づいて、前記接続関係ラベルに対する尤度を推定し、前記素性ベクトルの各々について推定された前記接続関係ラベルに対する尤度に基づいて、前記文のペアの接続関係ラベルを推定する接続関係推定部と、を含んで構成されている。
【０００９】
また、第１の発明に係る接続関係推定装置において、前記複数種類の文字列単位は階層関係を有し、前記概念ベクトル作成部は、前記概念ベクトルの集合に基づいて、前記文のペアに含まれる文の各々について、前記文に含まれる単語の各々に対して前記概念ベクトルを付与する単語概念ベクトル付与部と、前記文のペアに含まれる文の各々について、前記単語概念ベクトル付与部によって前記文に含まれる単語の各々に対して付与された前記概念ベクトルに基づいて、最下位の階層の文字列単位から順に、前記複数種類の文字列単位の各々について、前記文に含まれる前記文字列単位の各々の概念ベクトルを再帰的に作成する文概念ベクトル生成部とを含んでもよい。
【００１０】
また、第１の発明に係る接続関係推定装置において、前記複数種類の文字列単位を、文節、述語項、及び文としてもよい。
【００１１】
また、第１の発明に係る接続関係推定装置において、前記文概念ベクトル生成部は、前記単語概念ベクトル付与部によって前記文に含まれる単語の各々に対して付与された前記概念ベクトルに基づいて、前記文に含まれる文節の各々について、前記文節に含まれる単語の各々の前記概念ベクトルを合成して、前記文節の概念ベクトルを生成し、前記文に含まれる述語項の各々について、述部となる文節の前記概念ベクトルと、前記述部と係り受け関係を有する文節の前記概念ベクトルを合成して、前記述語項の概念ベクトルを生成し、前記文について、前記文に含まれる文節の各々の前記概念ベクトルを合成して、前記文の概念ベクトルを生成するようにしてもよい。
【００１２】
第２の発明に係る接続関係推定方法は、文のペアの接続関係を表す接続関係ラベルを推定する接続関係推定装置における接続関係推定方法であって、概念ベクトル作成部が、単語の意味を表す概念ベクトルの集合に基づいて、前記文のペアに含まれる文の各々について、前記文に含まれる各単語の概念ベクトルを用いて、複数種類の文字列単位の各々に対し、前記文に含まれる前記文字列単位の各々の概念ベクトルを作成するステップと、接続関係推定部が、前記概念ベクトル作成部で作成するステップにより前記文のペアの一方の文について作成された前記概念ベクトルの何れかと、前記文のペアの他方の文について作成された前記概念ベクトルの何れかとを組み合わせた組み合わせの各々に対し、前記組み合わせの前記概念ベクトルに基づいて素性ベクトルを作成し、前記作成された素性ベクトルの各々について、前記素性ベクトルと、予め学習された前記接続関係ラベルを推定するための接続関係推定モデルとに基づいて、前記接続関係ラベルに対する尤度を推定し、前記素性ベクトルの各々について推定された前記接続関係ラベルに対する尤度に基づいて、前記文のペアの接続関係ラベルを推定するステップと、を含んで実行することを特徴とする。
【００１３】
また、第２の発明に係る接続関係推定方法において、前記複数種類の文字列単位は階層関係を有し、前記概念ベクトル作成部が作成するステップは、単語概念ベクトル付与部が、前記概念ベクトルの集合に基づいて、前記文のペアに含まれる文の各々について、前記文に含まれる単語の各々に対して前記概念ベクトルを付与するステップと、文概念ベクトル生成部が、前記文のペアに含まれる文の各々について、前記単語概念ベクトル付与部によって前記文に含まれる単語の各々に対して付与された前記概念ベクトルに基づいて、最下位の階層の文字列単位から順に、前記複数種類の文字列単位の各々について、前記文に含まれる前記文字列単位の各々の概念ベクトルを再帰的に作成するステップとを含むようにしてもよい。
【００１４】
また、第２の発明に係る接続関係推定方法において、前記複数種類の文字列単位を、文節、述語項、及び文としてもよい。
【００１５】
第３の発明に係るプログラムは、コンピュータを、上記に記載の接続関係推定装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【００１６】
本発明の接続関係推定装置、方法、及びプログラムによれば、単語の意味を表す概念ベクトルの集合に基づいて、文のペアに含まれる文の各々について、各単語の概念ベクトルを用いて、複数種類の文字列単位の各々に対し、文字列単位の各々の概念ベクトルを作成し、一方の文について作成された概念ベクトルの各々と、他方の文について作成された概念ベクトルの各々との組み合わせの各々に対し、組み合わせの概念ベクトルを合成した素性ベクトルを作成し、作成された素性ベクトルの各々について、素性ベクトルと、接続関係推定モデルとに基づいて、接続関係ラベルに対する尤度を推定し、尤度に基づいて、文のペアの接続関係ラベルを推定することにより、精度よく、接続関係ラベルを推定することができる、という効果が得られる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態に係る接続関係推定装置の構成を示すブロック図である。
【図２】本発明の実施の形態に係る接続関係推定装置における概念ベクトル作成部の構成を示すブロック図である。
【図３】単語の意味を表す概念ベクトルの一例を示す図である。
【図４】Ｎ次元の概念ベクトルの作成例を示す図である。
【図５】本発明の実施の形態に係る接続関係推定装置における接続関係推定部の構成を示すブロック図である。
【図６】素性ベクトルの作成例を示す図である。
【図７】素性ベクトルごとの推定結果と推定尤度を示す図である。
【図８】接続関係ラベルの出力例を示す図である。
【図９】本発明の実施の形態に係る接続関係推定装置における接続関係推定処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１９】
＜本発明の実施の形態に係る概要＞
【００２０】
まず、本発明の実施の形態における概要を説明する。本発明の実施の形態に係る接続関係推定装置は、従来手法の課題を解決するために、単語のみならず、文節、述語項、又は文全体など任意の粒度の文字列単位の内容を比較することを可能にした、文のペアの接続関係を表す接続関係ラベルを推定する接続関係推定装置である。
【００２１】
本発明の実施の形態に係る接続関係推定装置では、単語や文節などの粒度が異なる表現の意味を比較するために概念ベクトル空間上での比較を行う。概念ベクトルとは、単語、文節、述語項、又は文などの文字列の単位の意味を実数値のベクトルとして表現したものである。例えば、「傘」と「雨」など概念的に近い話題に関する単語は概念ベクトルで表現したとき、概念ベクトル空間上においても近い位置に存在するという特徴がある。本実施の形態の概念ベクトルは、１次元が−１．０から１．０までの実数値で表現されるＮ次元のベクトルである。また、本発明の実施の形態に係る接続関係推定装置では、単語だけでなく、文節、述語項、又は文を同一空間の概念ベクトルで表現することで、単語、文節、述語項、又は文などの異なる粒度の表現に対する比較を可能にしている。
【００２２】
また、本発明の実施の形態に係る接続関係推定装置においては、文字列単位は階層関係を有している。入力された文のペアに含まれる文の各々を形態素解析し、各単語（形態素）と一対一で対応する概念ベクトルを付与する。そこからニューラルネットワークの１種であるＲｅｃｕｒｓｉｖｅ  ＡｕｔｏＥｎｃｏｄｅｒ（以下、ＲＡＥと称する）を用いて、最下位の階層の文字列単位から順に、再帰的に概念ベクトルを合成していくことにより、単語、文節、述語項、及び文をすべて同一次元の概念ベクトルで表現する。接続関係ラベルの推定では、文のペアに含まれる文の各々から作成した単語から文まで全ての概念ベクトルを使用して推定を行う。入力された文のペアに対して、文のペアの間で想定される単語から文までの表現の全ての組み合わせついて素性ベクトルを作成し、概念ベクトル空間上で比較し、最も尤度が高い接続関係ラベルを１つ選択して推定結果として出力する。
【００２３】
＜本発明の実施の形態に係る接続関係推定装置の構成＞
【００２４】
次に、本発明の実施の形態に係る接続関係推定装置の構成について説明する。図１に示すように、本発明の実施の形態に係る接続関係推定装置１００は、ＣＰＵと、ＲＡＭと、後述する接続関係推定処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この接続関係推定装置１００は、機能的には図１に示すように入力部１０と、演算部２０と、出力部５０とを備えている。
【００２５】
入力部１０は、接続関係を推定する文のペアを受け付ける。
【００２６】
演算部２０は、言語解析部３０と、概念ベクトル作成部３２と、接続関係推定部３４とを含んで構成されている。
【００２７】
言語解析部３０は、入力部１０により受け付けた文のペアに含まれる文の各々について、形態素解析、及び構文解析の処理を行う。本実施の形態では、文を形態素解析することによって分割された形態素を単語として扱う。また、ここで行う構文解析とは、文節単位の係り受け関係を出力する係り受け解析である。そして、形態素解析、及び構文解析をした結果を、概念ベクトル作成部３２に出力する。
【００２８】
概念ベクトル作成部３２は、図２に示すように、単語概念ベクトル付与部１３０と、文概念ベクトル生成部１３２と、単語概念ベクトルＤＢ１４０と、ＲＡＥモデル記憶部１４２とを含んで構成されている。概念ベクトル作成部３２は、以下に説明するように、単語概念ベクトル付与部１３０、及び文概念ベクトル生成部１３２の各部の処理によって、単語概念ベクトルＤＢ１４０に格納されている単語の意味を表す概念ベクトルの集合に基づいて、文のペアに含まれる文の各々について、当該文に含まれる各単語の概念ベクトルを用いて、当該文に含まれる文節、述語項、及び文の各々に対し、文節、述語項、及び文の各々の概念ベクトルを作成する。
【００２９】
単語概念ベクトルＤＢ１４０には、事前に学習した単語の意味を表す概念ベクトルの集合が格納されている。単語概念ベクトルＤＢ１４０に格納されている単語の意味を表す概念ベクトルの例を図３に示す。なお、単語の意味を表す概念ベクトルについては、事前に学習しておく際に、各単語に対して一対一で対応する概念ベクトルが作成される手法であれば、概念ベクトルの作成手法についてはどのような手法を用いてもよい。
【００３０】
単語概念ベクトル付与部１３０は、単語概念ベクトルＤＢ１４０に格納されている概念ベクトルの集合に基づいて、文のペアに含まれる文の各々について、言語解析部３０において形態素解析することにより得られた当該文に含まれる単語の各々に対して概念ベクトルを付与する。ここで、当該文に含まれる単語のうち、単語概念ベクトルＤＢ１４０に格納されていない単語がある場合には、事前に学習又は設定した未知語専用の概念ベクトルを付与する。例えば、未知語専用の概念ベクトルとして全ての要素が０の概念ベクトルを付与すればよい。
【００３１】
ＲＡＥモデル記憶部１４２には、ＲＡＥモデルとして、後述するパラメータ＾Ｗ、及びパラメータ＾ｂが記憶されている。ＲＡＥは、２Ｎ次元の概念ベクトルを入力としてＮ次元のベクトルを出力するニューラルネットである。なお、ベクトル又は行列を表す記号には、記号の前に「＾」を付して表現する。
【００３２】
文概念ベクトル生成部１３２は、文のペアに含まれる文の各々について、単語概念ベクトル付与部１３０によって当該文に含まれる単語の各々に対して付与された概念ベクトルに基づいて、最下位の階層の文節から順に、文節、述語項、及び文の各々について、当該文に含まれる文節、述語項、及び文の各々の概念ベクトルを再帰的に作成する。具体的には、単語概念ベクトル付与部１３０で当該文の単語に対して付与した概念ベクトルからＲＡＥモデル記憶部１４２に記憶されているＲＡＥモデルを用いて再帰的に文節から文ベクトルまでを生成していく。図４に、ＲＡＥモデルによる単語の概念ベクトルから文の概念ベクトルを作成するまでの流れを示す。図４では、Ｎ次元の概念ベクトルを＾Ａ〜＾Ｌまでのアルファベットで標記している。
【００３３】
本実施の形態では、２Ｎ次元の概念ベクトル＾ｘをＲＡＥの入力とするとき、ＲＡＥの出力となるＮ次元のベクトル＾ｙは以下の式で表される。
【００３４】
【数１】
0006291443.tif 000002
【００３５】
ここで、＾Ｗは要素数Ｎ×２Ｎの重みパラメータ行列、＾ｂはバイアス項のパラメータベクトルである。関数ｆは非線形の活性化関数であり、ｓｉｇｍｏｉｄ関数またはｔａｎｈ関数を使用する。パラメータ＾Ｗ、及びパラメータ＾ｂは、予め教師なし学習による事前学習により決定する。パラメータ＾Ｗ、及びパラメータ＾ｂの学習の際には、接続関係推定の対象とするコーパスと同様のテキストを使用して学習を行う。例えば、対話コーパスに適用する場合には発話文を学習データに使用し、新聞記事コーパスに適用する場合には新聞中の文によってパラメータの学習をする。
【００３６】
図４の例では、単語「会社」の概念ベクトル＾Ａと、単語「に」の概念ベクトル＾Ｂを連結した２Ｎ次元の＾ＡＢという概念ベクトルをＲＡＥの入力とする。そして、ＲＡＥにより、Ｎ次元の概念ベクトル＾Ｇを出力することで「会社に」という文節の概念ベクトルを得ることができる。係り受け構造に従い、同一のパラメータ＾Ｗ及び＾ｂを使用したＲＡＥによる上記の処理を、再帰的に繰り返し実行することにより、最終的に「会社に傘を忘れた」という文の概念ベクトル＾Ｌを得ることができる。以降は係り受け構造に基づいて文節、述語項、及び文の概念ベクトルを作成する流れについて説明する。
【００３７】
まず、文概念ベクトル生成部１３２における文節の概念ベクトルの作成手法について説明する。
【００３８】
文概念ベクトル生成部１３２は、単語概念ベクトル付与部１３０によって文に含まれる単語の各々に対して付与された概念ベクトルに基づいて、文に含まれる文節の各々について、文節に含まれる単語の各々の概念ベクトルを合成して、文節の概念ベクトルを生成する。前提として、文のペアに含まれる文の各々は、言語解析部３０における係り受け解析により、係り受け関係を構成する最小要素である文節という単位に分割されている。例えば、「会社に傘を忘れた」という文は、「会社に」、「傘を」、及び「忘れた」という３つの文節に分割できる。さらに「会社に」という文節は、「会社」と「に」という単語に分割できる。また、単語概念ベクトル付与部１３０では、この単語ごとに概念ベクトルが付与される。そして、文概念ベクトル生成部１３２において、ＲＡＥモデル記憶部１４２に記憶されているＲＡＥモデルを用いて、「会社」と「に」という２つの単語の表現の概念ベクトルをＲＡＥに入力して、一つの概念ベクトルを得る。このように「会社」と「に」の単語の概念ベクトルをＲＡＥに入力することで、文節「会社に」という意味を表現する新たな概念ベクトルが生成される。文節が２つの単語からなる場合には、１回のＲＡＥの適用で文節の概念ベクトルは生成できるが、３つ以上の単語から構成される文節の場合には、先頭から順番に複数回ＲＡＥを適用する処理を行う必要がある。例えば、「嫌いですけど」という文節は「嫌い」、「です」、及び「けど」という３つの単語から構成される。この場合には、まず先頭から２つの単語「嫌い」及び「です」に対してＲＡＥを適用し、文節「嫌いです」という意味の概念ベクトルを生成する。次に「嫌いです」と「けど」の概念ベクトルを合成して「嫌いですけど」という文節ベクトルを生成する。また、文節が１つの単語のみで構成されている場合はその単語の概念ベクトルをそのまま文節の概念ベクトルとして利用する。
【００３９】
次に、文概念ベクトル生成部１３２における述語項の概念ベクトルの作成手法について説明する。なお、述語項とは、述語と補語から構成される「何が（を・に）どうした」を表現するものである。
【００４０】
文概念ベクトル生成部１３２において、文に含まれる述語項の各々について、述部となる文節の概念ベクトルと、当該述部と係り受け関係を有する文節の概念ベクトルを合成して、述語項の概念ベクトルを生成する。言語解析部３０における係り受け解析では、各文節がどの文節を修飾するのかの係り先を明らかにする。文節の中にはどの文節も修飾しない文節が必ず１つ存在している。本実施の形態では、この修飾しない文節を述部とし、この文節と係り受け関係にある文節とを結びつけ、ＲＡＥによるベクトル合成を行うことで述語項の概念ベクトルを作成する。例えば、「会社に傘を忘れた」という文では「会社に」と「傘を」という文節が「忘れた」という文節に係る関係となっている。「忘れた」という文節が述部に該当し、ここから「会社に忘れた」と「傘を忘れた」という２つの述語項が作成できる。文節の概念ベクトルを前もって生成しておき、述部とその係り受け関係になっている文節の概念ベクトルに対してＲＡＥを適用して合成することで、述語項を表現する概念ベクトルが生成される。
【００４１】
次に、文概念ベクトル生成部１３２における文の概念ベクトルの作成手法について説明する。なお、文の概念ベクトルとは文全体の意味を表現する概念ベクトルである。
【００４２】
文概念ベクトル生成部１３２は、文について、文に含まれる文節の各々の概念ベクトルを合成して、文の概念ベクトルを生成する。本実施の形態においてはＲＡＥモデル記憶部１４２に記憶されているＲＡＥモデルを用いて、２つの意味を合成した１つの意味を生成するため、ＲＡＥを繰り返し適用していけば最終的に１つに集約された概念ベクトルが生成される。文の概念ベクトルは全ての文節を合成することで生成できる。合成は述部に係る文節の中で、述部に近い順から行う。例えば、文「会社に傘を忘れた」の場合は述部にあたる文節「忘れた」に係る文節は「会社に」と「傘を」という２つの文節がある。ここで、「傘を」という文節が、「忘れた」という文節に近い位置に存在するため、まずこの２つの文節に対してＲＡＥを適用し、述語項「傘を忘れた」という意味を表現する概念ベクトルを生成する。そして次に残りを「会社に」と「傘を忘れた」の２つを入力として「会社に傘を忘れた」という１つの文ベクトルを生成する。また、述部に係る文節が更に他の文節の係り先となっている場合は、まず、これらの文節の概念ベクトル同士でＲＡＥを適用する。例えば、「売店で買った傘を忘れた」という文の場合、述部「忘れた」に係る文節は「傘を」であるが、文節「傘を」は文節「買った」の係り先となっており、文節「買った」は文節「売店で」の係り先となっている。この場合には、まず「売店で」と「買った」の文節の概念ベクトルに対してＲＡＥを適用し、述語項「売店で買った」という意味の概念ベクトルを生成する。次に、述語項「売店で買った」と文節「傘を」の概念ベクトルを合成し、「売店で買った傘を」という意味を持つ概念ベクトルを生成してから、述部の概念ベクトルと合成することで「売店で買った傘を忘れた」という文の概念ベクトルを生成する。
【００４３】
接続関係推定部３４は、図５に示すように、素性作成部２３０と、接続関係候補推定部２３２と、接続関係決定部２３４と、接続関係推定モデル記憶部２４０とを含んで構成されている。接続関係推定部３４は、以下に説明するように、素性作成部２３０、接続関係候補推定部２３２、及び接続関係決定部２３４の各部の処理によって、概念ベクトル作成部３２により文のペアの一方の文について作成された概念ベクトルの何れかと、文のペアの他方の文について作成された概念ベクトルの何れかとを組み合わせた組み合わせの各々に対し、当該組み合わせの概念ベクトルに基づいて素性ベクトルを作成し、作成された素性ベクトルの各々について、当該素性ベクトルと、接続関係推定モデル記憶部２４０に記憶されている接続関係推定モデルとに基づいて、接続関係ラベルに対する尤度を推定し、素性ベクトルの各々について推定された接続関係ラベルに対する尤度に基づいて、文のペアの接続関係ラベルを推定する。
【００４４】
接続関係推定モデル記憶部２４０には、予め教師ありの機械学習手法により構築した分類モデルが、接続関係推定モデルとして記憶されている。接続関係推定モデルの構築のためには接続関係が既知な文のペアと、正解となる接続関係ラベルとを教師データとして与える必要がある。明示的な接続関係を持つ文のペアの収集は「例えば」「でも」などの接続詞によって接続される文のペアを抽出することにより収集可能であるが、その他にも文のペアを与えた時に人手により接続関係ラベルを付与していく方法で収集することも可能である。本実施の形態においては、教師データに関しては、特定のコーパス、又は接続関係タグセットやテキストに依存するものではないものとする。また、機械学習による教師あり学習で用いる素性ベクトルは、素性作成部２３０で作成する素性ベクトルと同じものを使用する。また、接続関係推定モデルとして使用できる機械学習手法は学習結果（分類結果）の他、推定の尤度を出力できるものである。例えば、ＳＶＭであれば、線形カーネルを用いた場合の決定境界からの距離を推定尤度として利用できる。ニューラルネットワークであれば出力層をソフトマックス関数にすれば分類結果を確率分布で出力できるため、この確率値を推定尤度として利用することもできる。このように接続関係の推定結果と推定尤度が出力できる手法であれば、接続関係推定モデルを構築する機械学習手法は任意のものを選択してもよい。本実施の形態では、接続関係推定モデルとして、出力層をソフトマックス関数としたニューラルネットワークを用いる場合を例に説明する。
【００４５】
素性作成部２３０では、概念ベクトル作成部３２で作成された単語、文節、述語項、及び文の概念ベクトルに基づいて、接続関係ラベルを推定するための素性ベクトルを作成する。素性ベクトルの作成例を図６に示す。図６に示すように、素性ベクトルは一方の文（以下、入力文１とする）、及び他方の文（以下、入力文２とする）の各々について作成した概念ベクトルの組み合わせにより作成する。入力文１に対するベクトル＾Ａ〜＾Ｌ、入力文２に対するベクトル＾Ａ’〜＾Ｅ’はそれぞれＮ次元の概念ベクトルを表している。入力文１及び入力文２の各々から、それぞれ１つずつ概念ベクトルを選択して一つの素性ベクトルを作成する。これを全ての概念ベクトルの組み合わせで実行することにより複数個の素性ベクトルを作成する。入力文１にｍ個、入力文２にｌ個の概念ベクトルが存在する場合、素性作成部２３０ではｍ×ｌ個の素性ベクトルが作成されることになる。ただし、単語の概念ベクトルについては、言語解析部３０による形態素解析で「名詞」、「動詞」、「形容詞」、又は「副詞」と判定されたもののみを使用する。なお、素性ベクトルの作成方法は上記のように２つのベクトルを連結するほか、概念ベクトルの差分ベクトル、コサイン距離、又は重心ベクトルなど線形代数におけるベクトル演算の結果を利用して作成することもできる。
【００４６】
接続関係候補推定部２３２では、素性作成部２３０で作成した素性ベクトルの各々に対して、接続関係推定モデル記憶部２４０に記憶されている接続関係推定モデルを用いて接続関係ラベルの推定を行う。接続関係候補推定部２３２における接続関係ラベルの出力例を図７に示す。接続関係候補推定部２３２では、一つの素性ベクトルを入力したとき、接続関係ラベルの推定結果とその推定尤度を実数値で出力する。素性作成部２３０では複数個の素性ベクトルが作成されるため、接続関係候補推定部２３２では素性ベクトルの数だけ接続関係推定が実行されることになる。
【００４７】
接続関係決定部２３４では、接続関係候補推定部２３２で推定された接続関係ラベルの推定結果とその推定尤度とに基づいて、出力する接続関係ラベルを決定する。接続関係候補推定部２３２では図７のように素性ベクトルごとに推定結果と推定尤度が出力されている状態である。接続関係決定部２３４では、素性ベクトルごとの推定結果の中から最も妥当な推定結果を一つ決定し、出力部５０に出力する。出力する接続関係ラベルの決定には推定尤度を用いる。本実施の形態では、全ての素性ベクトル毎の接続関係ラベルの推定結果の中で最も推定尤度が高い推定結果を選択する。図７の例では、「傘を忘れた」の概念ベクトル＾Ｋと「ずぶ濡れ」の概念ベクトル＾Ａ’から作成された素性ベクトルの推定結果「因果」が推定尤度０．８５で最も高いことから出力する接続関係ラベルは「因果」となる。なお、接続関係決定部２３４では、推定尤度が最も高い接続関係ラベルを一つ選択するが、最も高い推定尤度が設定した閾値以下の場合は「接続関係なし」を出力することもできる。この場合、閾値の設定については接続関係推定モデル記憶部２４０に記憶されている接続関係ラベルの推定尤度の取る数値の範囲によって設定する。ニューラルネットなど推定尤度が確率値で出力される場合には、閾値は確率を接続関係数（分類数）で等分した値の１．５から２倍程度の値に設定する．例えば、４種の接続関係に分類する場合、確率の等分値は０．２５なので閾値は０．３８〜０．５の範囲で設定すると良い。
【００４８】
図８に、本実施の形態に係る接続関係推定装置１００における入力と出力の例を示す。図８は、入力された文のペアに対して「因果」、「比較」、「展開」、「時制」、又は「接続関係なし」の５種の接続関係ラベルを出力する場合の例である。「因果」は「だから」「なので」などの接続詞で接続される因果関係を示している。「比較」は「でも」、「一方」など対比関係を表し、「展開」は「さらに」、「例えば」のように情報を付加する接続関係である。「時制」は「それから」「あのとき」のように時間に関する接続関係である。
【００４９】
＜本発明の実施の形態に係る接続関係推定装置の作用＞
【００５０】
次に、本発明の実施の形態に係る接続関係推定装置１００の作用について説明する。入力部１０において文のペアを受け付けると、接続関係推定装置１００は、図９に示す接続関係推定処理ルーチンを実行する。
【００５１】
まず、ステップＳ１００では、入力部１０において受け付けた文のペアに含まれる何れかの文を選択する。
【００５２】
次に、ステップＳ１０２では、ステップＳ１００で選択した文について、形態素解析、及び構文解析を行う。
【００５３】
ステップＳ１０４では、単語概念ベクトルＤＢ１４０に格納されている概念ベクトルの集合に基づいて、ステップＳ１００で選択した文について、ステップＳ１０２において形態素解析することにより得られた当該文に含まれる単語の各々に対して概念ベクトルを付与する。
【００５４】
ステップＳ１０６では、ステップＳ１０４で文に含まれる単語の各々に対して付与された概念ベクトルに基づいて、文に含まれる文節の各々について、文節に含まれる単語の各々の概念ベクトルを合成して、文節の概念ベクトルを生成する。
【００５５】
ステップＳ１０８では、ステップＳ１０６で文に含まれる文節の各々に対して生成された概念ベクトルに基づいて、文に含まれる述語項の各々について、ステップＳ１０６で生成された、述部となる文節の概念ベクトルと、述部と係り受け関係を有する文節の概念ベクトルを合成して、述語項の概念ベクトルを生成する。
【００５６】
ステップＳ１１０では、ステップＳ１０６で文に含まれる文節の各々に対して生成された概念ベクトルに基づいて、ステップＳ１００で選択した文について、文に含まれる文節の各々の概念ベクトルを合成して、文の概念ベクトルを生成する。
【００５７】
ステップＳ１１２では、文のペアに含まれる２つの文の各々について概念ベクトルを作成したかを判定し、作成していればステップＳ１１４へ移行し、作成していなければステップＳ１００へ戻って次の文を選択し、選択した文に対してステップＳ１０２〜ステップＳ１１０の処理を行う。
【００５８】
ステップＳ１１４では、ステップＳ１００〜ステップＳ１１２の処理によって作成された、文のペアの一方の文について作成された概念ベクトルの何れかと、文のペアの他方の文について作成された概念ベクトルの何れかとを組み合わせた全ての組み合わせの各々に対し、当該組み合わせの概念ベクトルを連結した素性ベクトルを作成する。
【００５９】
ステップＳ１１６では、ステップＳ１１４で作成された素性ベクトルの各々に対して、接続関係推定モデル記憶部２４０に記憶されている接続関係推定モデルを用いて、接続関係ラベルとその推定尤度とを推定する。
【００６０】
ステップＳ１１８では、ステップＳ１１６で素性ベクトルの各々に対して推定された接続関係ラベルとその推定尤度とに基づいて、出力する接続関係ラベルを決定し、出力部５０に出力する。
【００６１】
以上説明したように、本発明の実施の形態に係る接続関係推定装置によれば、単語の意味を表す概念ベクトルの集合に基づいて、文のペアに含まれる文の各々について、各単語の概念ベクトルを用いて、複数種類の文字列単位の各々に対し、文字列単位の各々の概念ベクトルを作成し、一方の文について作成された概念ベクトルの何れかと、他方の文について作成された概念ベクトルの何れかとを組み合わせた組み合わせの各々に対し、組み合わせの概念ベクトルを連結した素性ベクトルを作成し、作成された素性ベクトルの各々について、素性ベクトルと、接続関係推定モデルとに基づいて、接続関係ラベルに対する尤度を推定し、尤度に基づいて、文のペアの接続関係ラベルを推定することにより、精度よく、接続関係ラベルを推定することができる。
【００６２】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００６３】
例えば、上述した実施の形態では、文字列単位を文節、述語項、及び文として、文概念ベクトル生成部において文節、述語項、及び文についての概念ベクトルを生成したが、これに限定されるものではなく、複数種類の文字列単位が階層関係を有していれば、他の文字列単位の概念ベクトルを生成するようにしてもよい。
【００６４】
また、上述した実施の形態では、文のペアの接続関係ラベルを推定する場合を例に説明したが、これに限定されるものではなく、複数の文と複数の文とのペアの接続関係ラベルを推定するようにしてもよい。
【符号の説明】
【００６５】
１０   入力部
２０   演算部
３０   言語解析部
３２   概念ベクトル作成部
３４   接続関係推定部
５０   出力部
１００ 接続関係推定装置
１３０ 単語概念ベクトル付与部
１３２ 文概念ベクトル生成部
１４０ 単語概念ベクトルＤＢ
１４２ ＲＡＥモデル記憶部
２３０ 素性作成部
２３２ 接続関係候補推定部
２３４ 接続関係決定部
２４０ 接続関係推定モデル記憶部
【図１】
0006291443.tif 000003
【図２】
0006291443.tif 000004
【図３】
0006291443.tif 000005
【図４】
0006291443.tif 000006
【図５】
0006291443.tif 000007
【図６】
0006291443.tif 000008
【図７】
0006291443.tif 000009
【図８】
0006291443.tif 000010
【図９】
0006291443.tif 000011