(57)【要約】【課題】ノン・ファクトイド型質問に高精度で的確な回答を与えられるノン・ファクトイド型質問応答装置を提供する。【解決手段】質問応答装置１２４は、質問と回答とを一般的文脈にしたがい意味ベクトルに変換する一般単語ベクトル変換部２１０、質問内の単語と回答内の単語との間の意味ベクトルの類似度と、単語間の因果関係の強さとに対応して、各意味ベクトルに重み付けして質問と回答の文レベルの表現を算出する一般文レベルＣＮＮ２１４、質問と回答の文レベルの表現との間の類似度と、因果関係から見た文レベルの表現内のベクトルの関係の強さに対応して文レベルの表現に重み付けして、質問と回答パッセージとに対するパッセージレベルの表現を算出する一般パッセージレベルＣＮＮ２１８、及びＣＮＮ２１４、２１８の出力の間の類似度に基づき回答が正しい回答か否かを判定する分類器１８４を含む。【選択図】  図１０
2019020893.tif 000002
【特許請求の範囲】
【請求項１】
質問と回答パッセージとのペアを受け、当該回答パッセージが前記質問に対する正しい回答か否かを判定するノン・ファクトイド型質問応答装置であって、
質問と回答パッセージとを、ある観点による意味にしたがって単語意味ベクトル列に変換する第１の単語意味ベクトル変換手段と、
前記第１の単語意味ベクトル変換手段により変換された前記質問文内の単語と前記回答パッセージ内の単語との間の単語意味ベクトルの類似度と、単語間の第１の所定の関係の強さを反映した係数とに対応して、各単語意味ベクトルに重み付けして前記質問と前記回答パッセージの文レベルの表現を算出し出力する第１の文レベル表現出力手段と、
前記第１の文レベル表現出力手段が出力する前記質問の前記文レベルの表現と、前記回答パッセージの前記文レベルの表現との間の類似度と、前記第１の所定の関係の文脈から見た前記文レベルの表現内のベクトルの関係の強さを反映した係数とに対応して、前記文レベルの表現に重み付けすることを所定回数実行することにより、前記質問と前記回答パッセージとの各々に対するパッセージレベルの表現を算出し出力する第１のパッセージレベル表現出力手段と、
前記第１の文レベル表現出力手段の出力する前記質問と前記回答パッセージとの各々に対する前記文レベルの表現の間の類似度と、前記第１のパッセージレベル表現出力手段の出力する前記質問と前記回答パッセージとの各々に対する前記パッセージレベルの表現の間の類似度とに基づいて、前記回答パッセージが前記質問に対する正しい回答か否かを判定する判定手段とを含む、ノン・ファクトイド型質問応答装置。
【請求項２】
前記第１の文レベル表現出力手段は、
前記質問文の前記単語意味ベクトル列に含まれる単語意味ベクトルの各々と、前記回答パッセージの前記単語意味ベクトル列に含まれる単語意味ベクトルの各々との組み合わせに対して互いの意味上の類似度を表す類似度を算出し、類似度アテンション係数行列を計算する類似度アテンション係数行列計算手段と、
前記質問文に含まれる単語の各々と、前記回答パッセージに含まれる単語の各々との組み合わせに対して、前記第１の所定の関係にしたがった文において両者が一定の位置に出現する頻度を示す尺度を算出し、前記第１の所定の関係に関するアテンション係数行列を計算する第１のアテンション係数行列計算手段と、
前記質問文の前記単語意味ベクトル列に含まれる単語意味ベクトル列と、前記回答パッセージの前記単語意味ベクトル列とに対し、前記類似度アテンション係数行列により定められる類似度アテンション係数と、前記第１のアテンション係数行列により定められる第１のアテンション係数とからなる重みを加重した演算を行って各単語ベクトルを算出する単語ベクトル算出手段と、
前記単語ベクトル算出手段により算出された前記質問文の前記単語意味ベクトル列と、前記回答パッセージの前記単語意味ベクトル列との双方に対し、文ごとの畳み込み及びプーリング処理を行って前記第１の文レベル表現を出力するためのＣＮＮとを含む、請求項１に記載のノン・ファクトイド型質問応答装置。
【請求項３】
前記単語ベクトル算出手段による前記各単語ベクトルの算出に先立って、前記各単語ベクトルの負の要素を０に更新することにより前記各単語ベクトルをスパース化するためのスパース化手段をさらに含む、請求項２に記載のノン・ファクトイド型質問応答装置。
【請求項４】
さらに、
前記質問と前記回答パッセージとを、それぞれ前記ある観点と異なる別の観点による意味にしたがって単語意味ベクトル列に変換する第２の単語意味ベクトル変換手段と、
前記第２の単語意味ベクトル変換手段により変換された前記質問文内の単語と前記回答パッセージ内の単語との間の単語意味ベクトルの類似度と、単語間の第２の所定の関係の強さを反映した係数とに対応して、各単語意味ベクトルに重み付けして前記質問と前記回答パッセージの文レベルの表現を算出し出力する第２の文レベル表現出力手段と、
前記第２の文レベル表現出力手段が出力する前記質問の前記文レベルの表現と、前記回答パッセージの前記文レベルの表現との間の類似度と、前記第２の所定の関係の文脈から見た前記文レベルの表現内のベクトルの関係の強さを反映した係数とに対応して、前記文レベルの表現に重み付けすることを所定回数実行することにより、前記質問と前記回答パッセージとの各々に対するパッセージレベルの表現を算出し出力する第２のパッセージレベル表現出力手段とを含み、
前記判定手段は、前記第１及び第２の文レベル表現出力手段の出力する前記質問と前記回答パッセージとの各々に対する前記文レベルの表現の間の類似度と、前記第１及び前記第２のパッセージレベル表現出力手段の出力する前記質問と前記回答パッセージとの各々に対する前記パッセージレベルの表現の間の類似度とに基づいて、前記回答パッセージが前記質問に対する正しい回答か否かを判定する手段を含む、請求項１に記載のノン・ファクトイド型質問応答装置。
【請求項５】
前記第２の所定の関係は前記第１の所定の関係と等しい、請求項４に記載のノン・ファクトイド型質問応答装置。
【請求項６】
前記第１の所定の関係は因果関係である、請求項１〜請求項５のいずれかに記載のノン・ファクトイド型質問応答装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は質問応答装置に関し、特に、簡単な単語で答えられるような事実に関する質問ではなく、理由、方法、定義等のノン・ファクトイド型質問に対する質問応答システムの改良に関する。
【背景技術】
【０００２】
なぜ型質問は、ノン・ファクトイド型質問の典型である。そして、なぜ型質問応答タスクにおける最も重要な意味的知識は因果関係であると考えられる。なぜ型質問応答タスクとは、「なぜ津波が起きるのですか？」というような質問に対する回答を大量のテキストからなるテキストアーカイブを検索して取り出すタスクである。なぜ型質問応答タスクは、人工知能、自然言語処理、情報検索、ウェブマイニング、データマイニング等において非常に重要であるが、技術的にはきわめて困難であると認識されてきた。
【０００３】
なぜ型質問応答タスクのための先行技術として、テキストの語彙的な特徴（単語列、形態素列等）、構造的特徴（部分的な構文木等。たとえば非特許文献１を参照。）、意味的な特徴（単語の意味、評価表現、因果関等）を用いた教師あり学習（たとえば非特許文献２，３、４を参照。）、又は、半教師あり学習の分類器（たとえば非特許文献５を参照。）によってなぜ型質問に対する回答を特定しようとする技術が存在する。
【０００４】
これらはいずれも機械学習による分類器を採用している。これらのうちで、ニューラルネットワークではなくＳＶＭ（Supporting  Vector  Machine）等の機械学習を使用したものは低性能である。また、ニューラルネットワークを使用している手法でも、ＳＶＭ等を用いたものより精度は改善しているものの、未だ十分とはいえない。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Suzan  Verberne,  Lou  Boves,  Nelleke  Oostdijk,  and  Peter-Arno  Coppen.  What  is  not  in  the  bag  of  words  for  why-qa?  Computational  Linguistics,  36:229-245,  2010.
【非特許文献２】Jong-Hoon  Oh,  Kentaro  Torisawa,  Chikara  Hashimoto,  Takuya  Kawada,  Stijn  De  Saeger,  Junichi  Kazama  and  Yiou  Wang.  Why  Question  Answering  Using  Sentiment  Analysis  and  Word  Classes,  In  Proceedings  of  EMNLP-CoNLL,  2012,  pp.  368-378.
【非特許文献３】Jong-Hoon  Oh,  Kentaro  Torisawa,  Chikara  Hashimoto,  Motoki  Sano,  Stijn  De  Saeger,  and  Kiyonori  Ohtake.  Why-question  answering  using  intra-  and  inter-sentential  causal  relations.  In  Proceedings  of  the  51st  Annual  Meeting  of  the  Association  for  Computational  Linguistics  (ACL  2013),  pp.  1733-1743,  Sofia,  Bulgaria,  August,  2013.
【非特許文献４】Jong-Hoon  Oh,  Kentaro  Torisawa,  Canasai  Kruengkrai,  Ryu  Iida  and  Julien  Kloetzer.  Multi-column  Convolutional  Neural  Networks  with  Causality-Attention  for  Why-Question  Answering.  In  the  Proceedings  of  the  tenth  ACM  International  conference  on  Web  Search  and  Data  Mining  (WSDM2017),  Cambridge,  U.K.,  February,  2017.
【非特許文献５】Jong-Hoon  Oh,  Kentaro  Torisawa,  Chikara  Hashimoto,  Ryu  Iida,  Masahiro  Tanaka  and  Julien  Kloetzer.  A  Semi-Supervised  Learning  Approach  to  Why-Question  Answering.  In  the  Proceedings  of  the  30th  AAAI  Conference  on  Artificial  Intelligence  (AAAI-16),  Phoenix,  USA,  February  2016.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このようになぜ型質問に対する回答の精度が低いのは、従来の技術では、質問に対する正しい回答の条件に関する考察が不十分だったためである。質問に対する正しい回答の条件は、（１）質問のトピックへの適合、（２）質問が求める原因の提示、及び（３）回答の談話構造における（１）と（２）を表す表現間の因果関係の提示、という３つの条件を充足することであると考えられる。従来の技術では、これらの内、一部の条件しか考慮されておらず、全てを考慮したものは存在していなかった。したがって従来の技術では、正しい回答を高精度で検索することは難しかったという課題がある。
【０００７】
こうした問題は、因果関係に基づくなぜ型質問に限らない。ノン・ファクトイド型の質問の基礎となる関係には、材料関係（例：＜ＡでＢを生産する＞、（トウモロコシ、バイオ燃料）等）必要関係（例：＜ＡはＢに必須だ＞、（日光、光合成）等）、使用関係（例：＜ＡをＢに使う＞、（ｉＰＳ細胞、再生医療）、等）及び予防関係（例：＜ＡでＢを防ぐ＞、（ワクチン、インフルエンザ）、等）がある。これらに関する質問に対する回答を検索する際には、因果関係の場合と同様、（１）質問のトピックへの適合、（２）質問が求める、その質問が求めるもの（材料関係の場合の材料、必要関係の場合の必要物、使用関係の場合の使用すべきもの、予防関係の場合の予防に使用すべきもの）等の提示、及び（３）回答の談話構造における（１）と（２）を表す表現の間で、対応する関係の提示、という３つの条件を充足する表現を検索することが必要である。
【０００８】
それ故に本発明の目的は、質問に対する正しい回答の条件を十分に考慮して回答候補を検索することにより、ノン・ファクトイド型質問に高精度で的確な回答を与えることができるノン・ファクトイド型質問応答装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明の第１の局面に係るノン・ファクトイド型質問応答装置は、質問と回答パッセージとのペアを受け、当該回答パッセージが質問に対する正しい回答か否かを判定する。このノン・ファクトイド型質問応答装置は、質問と回答パッセージとを、ある観点による意味にしたがって単語意味ベクトル列に変換する第１の単語意味ベクトル変換手段と、第１の単語意味ベクトル変換手段により変換された質問文内の単語と回答パッセージ内の単語との間の単語意味ベクトルの類似度と、単語間の第１の所定の関係の強さを反映した係数とに対応して、各単語意味ベクトルに重み付けして質問と回答パッセージの文レベルの表現を算出し出力する第１の文レベル表現出力手段とを含む。このノン・ファクトイド型質問応答装置はさらに、第１の文レベル表現出力手段が出力する質問の文レベルの表現と、回答パッセージの文レベルの表現との間の類似度と、第１の所定の関係の文脈から見た文レベルの表現内のベクトルの関係の強さを反映した係数とに対応して、文レベルの表現に重み付けすることを所定回数実行することにより、質問と回答パッセージとの各々に対するパッセージレベルの表現を算出し出力する第１のパッセージレベル表現出力手段と、第１の文レベル表現出力手段の出力する質問と回答パッセージとの各々に対する文レベルの表現の間の類似度と、第１のパッセージレベル表現出力手段の出力する質問と回答パッセージとの各々に対するパッセージレベルの表現の間の類似度とに基づいて、回答パッセージが質問に対する正しい回答か否かを判定する判定手段とを含む。
【００１０】
好ましくは、第１の文レベル表現出力手段は、質問文の単語意味ベクトル列に含まれる単語意味ベクトルの各々と、回答パッセージの単語意味ベクトル列に含まれる単語意味ベクトルの各々との組み合わせに対して互いの意味上の類似度を表す類似度を算出し、類似度アテンション係数行列を計算する類似度アテンション係数行列計算手段と、質問文に含まれる単語の各々と、回答パッセージに含まれる単語の各々との組み合わせに対して、第１の所定の関係にしたがった文において両者が一定の位置に出現する頻度を示す尺度を算出し、第１の所定の関係に関するアテンション係数行列を計算する第１のアテンション係数行列計算手段とを含む。第１の文レベル表現手段はさらに、質問文の単語意味ベクトル列に含まれる単語意味ベクトル列と、回答パッセージの単語意味ベクトル列とに対し、類似度アテンション係数行列により定められる類似度アテンション係数と、第１のアテンション係数行列により定められる第１のアテンション係数とからなる重みを加重した演算を行って各単語ベクトルを算出する単語ベクトル算出手段と、単語ベクトル算出手段により算出された質問文の単語意味ベクトル列と、回答パッセージの単語意味ベクトル列との双方に対し、文ごとの畳み込み及びプーリング処理を行って第１の文レベル表現を出力するためのコンボリューショナル・ニューラル・ネットワーク（ＣＮＮ）とを含む。
【００１１】
より好ましくは、ノン・ファクトイド型質問応答装置は、単語ベクトル算出手段による各単語ベクトルの算出に先立って、各単語ベクトルの負の要素を０に更新することにより各単語ベクトルをスパース化するためのスパース化手段をさらに含む。
【００１２】
さらに好ましくは、ノン・ファクトイド型質問応答装置はさらに、質問と回答パッセージとを、それぞれある観点と異なる別の観点による意味にしたがって単語意味ベクトル列に変換する第２の単語意味ベクトル変換手段と、第２の単語意味ベクトル変換手段により変換された質問文内の単語と回答パッセージ内の単語との間の単語意味ベクトルの類似度と、単語間の第２の所定の関係の強さを反映した係数とに対応して、各単語意味ベクトルに重み付けして質問と回答パッセージの文レベルの表現を算出し出力する第２の文レベル表現出力手段とを含んでも良い。ノン・ファクトイド型質問応答装置はさらに、第２の文レベル表現出力手段が出力する質問の文レベルの表現と、回答パッセージの文レベルの表現との間の類似度と、第２の所定の関係の文脈から見た文レベルの表現内のベクトルの関係の強さを反映した係数とに対応して、文レベルの表現に重み付けすることを所定回数実行することにより、質問と回答パッセージとの各々に対するパッセージレベルの表現を算出し出力する第２のパッセージレベル表現出力手段を含む。判定手段は、第１及び第２の文レベル表現出力手段の出力する質問と回答パッセージとの各々に対する文レベルの表現の間の類似度と、第１及び第２のパッセージレベル表現出力手段の出力する質問と回答パッセージとの各々に対するパッセージレベルの表現の間の類似度とに基づいて、回答パッセージが質問に対する正しい回答か否かを判定する手段を含む。
【００１３】
好ましくは、第２の所定の関係は第１の所定の関係と等しく、例えば因果関係である。
【図面の簡単な説明】
【００１４】
【図１】なぜ型質問とその回答候補とを示す図である。
【図２】なぜ型質問に対するトピックの提示を例示する図である。
【図３】なぜ型質問に対する原因の提示を例示する図である。
【図４】なぜ型質問に対するトピックと原因との間の因果関係の提示を例示する図である。
【図５】因果関係という文脈における観点で単語に着目することを示す図である。
【図６】一般的な文脈における観点で単語を単語ベクトル空間にマッピングした例を表す図である。
【図７】因果関係という文脈における観点で単語を単語ベクトル空間にマッピングした例を表す図である。
【図８】一般的な文脈における、原因と結果との間の単語ベクトルの関係を示す図である。
【図９】因果関係という文脈における、原因と結果との間の単語ベクトルの関係を示す図である。
【図１０】本発明の第１の実施の形態に係るなぜ型質問応答システムの機能的ブロック図である。
【図１１】図１０に示すなぜ型質問応答システムにおいて、単語を単語埋め込みベクトル（以下単に単語ベクトルと呼ぶ。）に変換するための変換部の学習システムの構成を模式的に示す図である。
【図１２】図１０に示す多段・複数カラムＣＮＮのうち、一般的文脈による文レベルの表現を得るためのＣＮＮの構成を模式的に示す図である。
【図１３】図１０に示す多段・複数カラムＣＮＮのうち、図１２に示すネットワークの出力を受ける、パッセージレベルの表現を得るためのＣＮＮの構成を模式的に示す図である。
【図１４】本発明に第１の実施の形態に係るなぜ型質問応答システムの効果を示す実験結果を表形式で示す図である。
【図１５】本発明に係る各実施の形態に係るなぜ型質問応答システムを実現するコンピュータシステムの外観を示す図である。
【図１６】図１５に示すコンピュータのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。なお、以下の実施の形態では、第１の意味的関係表現として因果関係を例にするが、本発明はそのような実施の形態には限定されない。前述したように、材料関係（例：＜ＡでＢを生産する＞、（トウモロコシ、バイオ燃料）等）必要関係（例：＜ＡはＢに必須だ＞、（日光、光合成）等）、使用関係（例：＜ＡをＢに使う＞、（ｉＰＳ細胞、再生医療）、等）及び予防関係（例：＜ＡでＢを防ぐ＞、（ワクチン、インフルエンザ）、等）又はこれらの任意の組み合わせを用いることができる。
【００１６】
［基本的な考え方］
なぜ型質問においては、質問に対する回答は、（１）質問のトピックへの適合、（２）質問が求める原因の提示、及び（３）回答の談話構造における（１）と（２）を表す表現間の因果関係の提示、という３つの条件を充足する必要がある。図１に示す例では、質問３０に対して回答候補３２が得られたものとする。質問３０は「なぜ津波が発生する？」というものである。
【００１７】
図２を参照して、回答候補３２は、「これが原因で津波が発生します。」という第２文４０を含む。この第２文４０は、質問３０と同じトピック（津波、発生）に関する。したがって回答候補３２は上記条件（１）を充足する。
【００１８】
図３を参照して、回答候補３２は、「地震が海底で起きた場合、海水面が盛り上がり、一気に崩れて行きます。」という第１文４２を含む。この第１文４２は、質問に対する回答を与えているといえる。したがって回答候補３２は上記（２）も充足する。
【００１９】
しかし、条件（１）及び（２）を充足しているだけでは、回答候補３２が質問３０に対する適切な回答であるということはできない。そこで、回答候補３２内に因果関係を表す文言があるか否かを調べる。すると、図４に示すように「これが原因で」という文言４４が見つかる。この文言は、第１文４２の内容と第２文４０との間に因果関係があることを示す。つまり、回答候補３２は条件（３）も満たす。したがって、回答候補３２は質問３０に対する適切な回答であると判定できる。
【００２０】
以下に説明する実施の形態では、ディープ・ニューラル・ネットワーク（ＤＮＮ）の一種であるＣＮＮにより、回答候補３２が質問３０に対する適切な回答か否かを上記３つの条件を充足するか否かにより判定する。この判定では、上記３つの条件にしたがって、質問のトピックの表現、質問が求める原因の表現、両者の間の因果関係に関する表現を、ＣＮＮにおけるアテンションに反映させるよう、あらかじめ学習を行う。このとき、因果関係という観点から得られた文脈だけではなく、因果関係とは異なる一般的表現という観点から得られた文脈を用いて、異なる観点の文脈における単語の意味を考慮するよう、ＣＮＮの学習を行う。
【００２１】
すなわち、図５を参照して、質問３０が「津波が発生する」という表現６２を含むとき、回答候補３２が津波の原因をあらわす表現とよく一緒に出現する単語、例えば図５に示す地震、海底、海水面、崩れて、という単語５０、５２、５４、及び５６という単語に着目することで、回答候補３２が質問３０の求める原因を提示していることを判定する。また、表現６２とよく似た表現（回答候補３２の表現６０）が存在するか否かによって、回答候補３２が質問３０のトピックと適合している否かを判定する。
【００２２】
さらに、これらを判定するにあたって、因果関係という文脈から得られた単語の関係と、一般的な文脈から得られた単語の関係という２つの観点からのアテンションを用いることによりＣＮＮによる判定を正確なものとする。
【００２３】
図６を参照して、例えば図５に示す単語５０、５２、５４、５６と単語「津波」とを単語の意味を表すベクトル空間に写像した際には、一般的な文脈から得られた意味ベクトルは図６に示すようにそれぞれの単語の持つ一般的な意味に応じて、類似のものは近くに、そうでないものは互いに離れて位置することになる。一方、因果関係という観点から得られた文脈にしたがってこれら単語を意味ベクトルのベクトル空間に写像すると、図７に示すように、「津波」という単語の間で「津波を引き起こす」という因果関係を持つ単語は、互いに近い場所に位置することになる。
【００２４】
したがって、図８に示すように、一般的な文脈における各単語の意味ベクトルの位置８０、８２、８４、８６、及び８８から津波という単語の意味ベクトルの位置９０との関係は様々となる。これは、単語の一般的な意味表現を表し、質問のトピックへの回答候補の適合の条件の学習に適している。例えば「津波が発生する」という表現と「津波が起きる」という表現とが互いに意味的に類似しており、したがって前者が質問に出現する場合、後者を含む回答候補が質問のトピックに適合しているかを判定することを学習するのに適している。
【００２５】
これに対し、因果関係から得られた文脈における、図５に示す単語５０、５２、５４、及び５６という各単語の意味ベクトルは図９に示すように領域１００に集中し、これらと津波という単語１０２との間の関係は互いによく似たものとなる。したがって、このように因果関係という文脈によって単語を意味ベクトルのベクトル空間にマッピングしてＣＮＮの学習を行うことにより、因果関係の意味的パターンの一般化がしやすくなり、単語間の関係パターンを学習しやすくなる。
【００２６】
なお、本実施の形態では、単語の意味ベクトルとしていわゆる単語埋め込みベクトル（例えばword2vectorにより得られるもの）等を用いる。本実施の形態ではベクトルの次元数ｄは３００とする（以下同じ）。単語埋め込みベクトルでは、類似した意味の単語に対応する単語埋め込みベクトルは類似すること、ある単語ペアの間の意味的関係と、別の単語ペアの間の意味的関係と類似している場合、各単語ペアの間の差も互いによく似たものとなることが知られている。本実施の形態では、単語埋め込みベクトルのこのような性格を利用し、単語の意味ベクトルとして使用する。なお、以下の説明では、単語埋め込みベクトルを単に「単語ベクトル」とも呼ぶ。本実施の形態では、単語を一旦いわゆるホット・ワン・ベクトルに変換した後、単語ベクトルに変換する。
【００２７】
さらに、以下の実施の形態の特徴として、回答候補が質問に対する回答として適切なものか否かを判定するために、複数層のＣＮＮを用いる。ここでいう複数層とは、質問と回答候補との組み合わせに対して、文レベルでの意味を理解するためのＣＮＮと、さらにその出力を受けて、複数の文を含むパッセージ全体の意味を理解するためのＣＮＮとを含んでいる、という意味である。
【００２８】
また、上記したように因果関係という観点から得られた文脈のためのＣＮＮと、因果関係という特定の関係に限定された観点ではなく、一般的な観点から得られた文脈のためのＣＮＮとの２つを並列的に設け、それらの出力を最終層でまとめて最終的な判定を行う。このように、複数の関係による文脈から得たアテンションにより質問に対する回答パッセージの妥当性を判定するＣＮＮを本明細書では複数観点によるテキスト表現を用いたＣＮＮ（Convolutional  Neural  Network  with  Multi-perspective  text  Representation）、略してｍｒＣＮＮと呼ぶ。
【００２９】
［構成］
図１０を参照して、この発明に係るノン・ファクトイド型質問応答システムの一例であるなぜ型質問応答システム１２４は、質問１２０を受けて、既存の質問応答システム１２６から質問１２０に対する回答候補を受信し、その中から質問１２０に対する回答として適切なものを選択して回答１２２として出力する。
【００３０】
なぜ型質問応答システム１２４は、図示しないユーザ・インタフェース、または遠隔からの通信等を介して質問１２０を受信する質問受付部１５０と、質問受付部１５０が受け付けた質問を質問応答システム１２６に送信することにより質問応答システム１２６から回答候補を受信し、複数文からなる回答パッセージに分割して出力するための応答受信部１５２とを含む。応答受信部１５２が出力する回答パッセージの各々は、連続する５つの文を含む。本実施の形態においては、連続する２つの回答パッセージは４つの文を共有する。すなわち、各回答パッセージは１文ずつずれた５文の組からなる。
【００３１】
なぜ型質問応答システム１２４はさらに、応答受信部１５２が出力する回答パッセージを記憶するための回答パッセージ記憶部１５４と、回答パッセージ記憶部１５４の記憶する各回答パッセージと、質問受付部１５０が受けた質問１２０とを関連付けた質問・回答ペア１６２を生成する質問・回答パッセージペア生成部１５６とを含む。
【００３２】
なぜ型質問応答システム１２４はさらに、上記したｍｒＣＮＮからなり、質問・回答パッセージペア生成部１５６により生成された各質問・回答パッセージペアを受けてそのペアに含まれる回答パッセージが質問に対する正しい回答か否かを判定し、その結果を出力する判定部１５８と、判定部１５８の出力結果に応答して、回答パッセージ記憶部１５４に記憶された回答パッセージの中で質問１２０に対する正しい回答となる回答パッセージから回答となる文字列を選択し、回答１２２として出力する選択部１６０とを含む。
【００３３】
前述したとおり、判定部１５８は、因果関係から得た文脈に基づいたアテンションを用いて、入力された質問・回答パッセージペアの意味を表すベクトルを出力する因果関係ｍｒＣＮＮ１８０と、一般的な文脈に基づいたアテンション（類似度アテンション）を用いて、入力された質問・回答パッセージペアの意味を表すベクトルを出力する一般ｍｒＣＮＮ１８２とを含む。
【００３４】
判定部１５８はさらに、因果関係ｍｒＣＮＮ１８０の出力と一般ｍｒＣＮＮ１８２の出力に基づいて、質問・回答パッセージペアの回答パッセージが質問に対する正しい回答か否かを判定し、その結果をTRUE/FALSEで選択部１６０に与えるための分類器１８４を含む。因果関係ｍｒＣＮＮ１８０及び一般ｍｒＣＮＮ１８２は、単語を単語ベクトルに変換する方法が異なるだけで、他の構成は全て同一である。したがって以下では、一般ｍｒＣＮＮ１８２の構成について説明し、因果関係ｍｒＣＮＮ１８０についての詳細な説明は繰り返さない。
【００３５】
一般ｍｒＣＮＮ１８２は、質問・回答パッセージペア生成部１５６から与えられる質問・回答ペア１６２に含まれる質問ｑと回答パッセージｐを構成する単語の各々を単語ベクトルに変換し、質問ｑと回答パッセージｐとに対応する２つの単語ベクトル列からなる単語ベクトル列２１２を出力する一般単語ベクトル変換部２１０を含む。単語ベクトル列は行列を形成する。一般単語ベクトル変換部２１０については、あらかじめ一般的な文を用いた学習が必要である。一般単語ベクトル変換部２１０の学習については図１１を参照して後述する。
【００３６】
一般ｍｒＣＮＮ１８２はさらに、単語ベクトル列２１２を受けて、各文についての一般的な文脈による文レベルでの質問・回答の意味をそれぞれ表現する２つのベクトルからなる一般文レベル意味表現２１６を出力する一般文レベルＣＮＮ２１４と、一般文レベルＣＮＮ２１４から一般文レベル意味表現２１６を受けて、一般的な文脈から見たパッセージ全体としての質問及び回答の意味をそれぞれ表す２つのベクトルからなる一般パッセージレベル表現１６４を出力し、分類器１８４に入力する一般パッセージレベルＣＮＮ２１８と含む。
【００３７】
因果関係ｍｒＣＮＮ１８０は、一般単語ベクトル変換部２１０と同様、質問・回答パッセージペア生成部１５６から与えられる質問・回答ペア１６２に含まれる質問と回答パッセージを構成する単語の各々を単語ベクトルに変換し、それぞれに対応する単語ベクトル列からなる単語ベクトル列２４２を出力する因果関係単語ベクトル変換部２４０を含む。因果関係単語ベクトル変換部２４０については、あらかじめ因果関係を表す文を用いた学習が必要である。因果関係単語ベクトル変換部２４０の学習についても図１１を参照して後述する。
【００３８】
因果関係ｍｒＣＮＮ１８０はさらに、単語ベクトル列２４２を受けて、各文についての因果関係に基づいた文脈による文レベルでの質問・回答の意味をそれぞれ表す２つのベクトル列からなる因果関係文レベル意味行列２４６を出力する因果関係文レベルＣＮＮ２４４と、因果関係文レベルＣＮＮ２４４から因果関係文レベル意味行列２４６を受けて、因果関係という文脈から見たパッセージ全体としての質問及び回答の意味をそれぞれ表す２つのベクトルからなる因果関係パッセージレベル表現１６６を出力し、分類器１８４に入力する因果関係パッセージレベルＣＮＮ２４８と含む。
【００３９】
図１１を参照して、一般単語ベクトル変換部２１０及び因果関係単語ベクトル変換部２４０の学習について説明する。基本的に一般単語ベクトル変換部２１０及び因果関係単語ベクトル変換部２４０の学習方法は同じであって、学習に使用するデータ（文）が異なるだけである。たとえば、ウェブから収集したデータをウェブアーカイブ記憶部２６０に記憶する。一般単語ベクトル変換部２１０の学習を行う場合、ウェブアーカイブ記憶部２６０に記憶されたデータを基本的に全て用いて一般単語ベクトル学習部２７０により一般単語ベクトル変換部２１０の学習を行う。一般単語ベクトル学習部２７０は、skip-gram  with  negative-samplingを用いたword2vecにより単語のワンホットベクトルからｄ次元の単語ベクトルへの変換を行うよう、一般単語ベクトル変換部２１０の学習を行う。
【００４０】
一方、因果関係単語ベクトル変換部２４０の学習では、ウェブアーカイブ記憶部２６０に記憶された文から因果関係表現抽出部２６２を用いて因果関係表現を含む部分のみを抽出し、因果関係表現記憶部２６４に格納する。因果関係単語ベクトル学習部２６６は、因果関係表現記憶部２６４に記憶された表現を用いて、一般単語ベクトル学習部２７０と同様、skip-gram  with  negative-samplingを用いたword2vecにより因果関係単語ベクトル変換部２４０の学習を行う。但し、因果関係単語ベクトルの学習に使われる単語の文脈情報の取得は、一般単語ベクトルの学習時と異なる。すなわち、因果関係表現において原因部の単語の文脈は、その結果部の全ての単語からなる（内容語のみとしても良い）。一方、結果部の単語は、原因部の全ての単語をその文脈情報として扱う。
【００４１】
このように一般単語ベクトル学習部２７０及び因果関係単語ベクトル学習部２６６による学習の手法自体は共通しているが、学習に使用するデータが前者は一般的なテキスト、後者は因果関係を表すテキストという相違がある。word2vecでは、単語ベクトルは当該単語の周囲に出現する単語の頻度によって変化するので、一般単語ベクトル変換部２１０と因果関係単語ベクトル変換部２４０とによって、同じ単語でも異なる単語ベクトルに変換されることになる。なお、因果関係表現の収集は、人手で行っても良いし、何らかの形で機械学習によって収集するようにしてもよい。因果関係表現を大量に収集するためには機械学習による分類機を用いることが望ましい。
【００４２】
《一般文レベルＣＮＮ２１４》
図１２を参照して、一般文レベルＣＮＮ２１４の構成について説明する。なお、質問・回答ペア１６２は、質問ｑと回答パッセージｐを含む。一般文レベルＣＮＮ２１４の前段に存在する一般単語ベクトル変換部２１０は、質問ｑと回答パッセージｐとを受け、それぞれ単語ベクトル列Ｘｑ及び単語ベクトル列Ｘｐに変換し、単語ベクトル列２１２として一般文レベルＣＮＮ２１４に入力する。すなわち、単語ベクトル列２１２は単語ベクトル列Ｘｑ及び単語ベクトル列Ｘｐを含む。単語ベクトル列Ｘｑはｄ×Ｉ次元、単語ベクトル列Ｘｐはｄ×Ｊ次元である。ここで、ＩとＪはそれぞれ質問ｑと回答パッセージｐの長さ（質問とパッセージに含まれた単語の数）である。
【００４３】
一般文レベルＣＮＮ２１４は、単語ベクトル列Ｘｑ及び単語ベクトル列Ｘｐの各々に活性化関数ＲｅＬＵを適用してスパース化した単語ベクトル列２８２を出力するスパース化処理部２８０を含む。単語ベクトル列２８２は、単語ベクトル列〜Ｘｑ及び単語ベクトル列〜Ｘｐ（記号「〜」は、図ではその直後の文字の直上に記載してある。）を含む。
【００４４】
活性化関数ＲｅＬＵを使用すると、ディープ・ニューラル・ネットワークの学習に有効であることが知られている。単語ベクトル列〜Ｘｑ及び〜Ｘｐは以下の式により算出される。
【００４５】
【数１】
2019020893.tif 000003
ただしＵｑ及びＵｐは学習により得られるｄ×ｄ次元の実数行列である。
【００４６】
一般文レベルＣＮＮ２１４はさらに、単語ベクトル列Ｘｑ及び単語ベクトル列Ｘｐを受け、類似度アテンション係数行列２８６を算出するための類似度アテンション処理部２８４を含む。類似度アテンション係数行列２８６は、質問文のための類似度アテンション係数行列Ｓｑ及び回答パッセージのための類似度アテンション行列Ｓｐを含む。
【００４７】
一般文レベルＣＮＮ２１４はさらに、質問・回答ペア１６２を受けて因果関係アテンション係数行列２９０を算出するための因果関係アテンション処理部２８８を含む。因果関係アテンション係数行列２９０は、質問文のための因果関係アテンション係数行列Ｃｑ及び回答パッセージのための因果関係アテンション係数行列Ｃｐを含む。行列Ｓｑ及びＣｑの次元は〜Ｘｑと同じ次元、つまりｄ＊Ｉであり、行列Ｓｐ及びＣｐの次元は〜Ｘｐと同じくｄ＊Ｊである。類似度アテンション係数行列Ｓｐ及びＳｑ及び因果関係アテンション係数行列Ｃｑ及びＣｐについては後述する。
【００４８】
一般文レベルＣＮＮ２１４はさらに、単語ベクトル列〜Ｘｑ及び〜Ｘｐ、類似度アテンション係数行列Ｓｑ及びＳｐ、及び因果関係アテンション係数行列Ｃｑ及びＣｐに対して以下の演算を行うことにより、アテンションによる重み付けがされた後の単語ベクトル列２９４を算出するためのアテンションによる単語ベクトル算出部２９２を含む。最終単語ベクトル列２９４は最終単語ベクトル列＾Ｘｑ及び単語ベクトル列＾Ｘｐを含む。
【００４９】
【数２】
2019020893.tif 000004
一般文レベルＣＮＮ２１４はさらに、最終単語ベクトル列＾Ｘｑ及び単語ベクトル列＾Ｘｐに対して文ごとの畳み込み及びマックスプーリングを行って、質問ｑ及び回答パッセージｐの文レベルの意味を表現する一般文レベル意味表現２１６を出力するための文ごとの畳み込み及びプーリング処理部２９８を含む。一般文レベル意味表現２１６はベクトル列Ｙｑ及びＹｐを含む。
【００５０】
類似度アテンション処理部２８４は、類似度アテンション特徴量行列３０２を算出するための類似度アテンション算出部３００と、類似度アテンション特徴量行列３０２を用いて類似度アテンション係数行列Ｓｐ及びＳｑを計算するための類似度アテンション係数行列計算部３０４とを含む。
【００５１】
類似度アテンション特徴量行列３０２を行列Ａとすると、行列ＡはＩ行Ｊ列である。その各要素は質問ｑに含まれる単語と回答パッセージ中の単語との全ての組み合わせにおける、それらの単語ベクトル間の類似度である。本実施の形態では、類似度としてベクトルのコサイン類似度を用いる。行列Ａを得た後、これを行方向及び列方向にマックスプーリングすることにより、類似度アテンションに関する２つの特徴ベクトルが得られる。一方が問題ｑに関する特徴ベクトルａｑであり、他方が回答パッセージに関する特徴ベクトルａｐである。特徴ベクトルａｑ、ａｐの要素は以下のように書くことができる。
【００５２】
【数３】
2019020893.tif 000005
これら特徴ベクトルにより、質問ｑと回答パッセージｐ内の各単語について、相手の単語の中で最も類似したものが何かを知ることができ、各単語について類似度アテンションによる重みを付与する際の参考にすることができる。
【００５３】
類似度アテンション係数行列計算部３０４は、このようにして特徴ベクトルａｑ及びａｐを算出し、これを用いて以下のようにして類似度アテンション係数行列Ｓｑ及びＳｐを計算する。
【００５４】
【数４】
2019020893.tif 000006
因果関係アテンション処理部２８８は、質問・回答ペア１６２を受けて因果関係アテンション特徴量行列３２２を算出するための因果関係アテンション算出部３２０と、因果関係アテンション特徴量行列３２２を用いて因果関係アテンション係数行列２９０を算出するための因果関係アテンション係数行列計算部３２４とを含む。因果関係アテンション係数行列２９０は、因果関係アテンション係数行列Ｃｑ及びＣｐを含む。
【００５５】
因果関係アテンション特徴量行列３２２を行列Ｂと表記すると、行列ＢはＩ行Ｊ列である。本実施の形態では行列Ｂは正規化点別相互情報量（npmi）を用いて算出する。npmiは原因を表す語ａと結果を表す語ｂとの間での因果関係の強さを表し、以下の式により定義される。
【００５６】
【数５】
2019020893.tif 000007
ここで、p(a,b)は、単語ａ及び単語ｂが同じ因果関係表現の原因部及び結果部にそれぞれ存在する確率を示すものとする。この確率は、図１１に示す因果関係表現記憶部２６４に記憶された因果関係表現から統計的に得られる。p(a,*)及びp(*,b)はそれぞれ、因果関係表現抽出部２６２に記憶された因果関係表現の全体において、単語ａが原因部に、単語ｂが結果部に現れる確率をそれぞれ示す。npmi(a;b)の値は−１から１までの範囲を変化する。単語ａと単語ｂが同じ因果関係表現において前者が原因部に、後者が結果部に出現する頻度が高くなると（因果関係が強くなると）１に近い値となる。
【００５７】
このnpmiを利用して、行列Ｂを以下のように定義する。
【００５８】
【数６】
2019020893.tif 000008
行列Ｂを計算するにあたり、質問の単語と回答パッセージの単語とについてそれぞれ原因を示す語及び結果を示す語として扱っている点に注意が必要である。
【００５９】
類似度アテンションの場合と同様、因果関係アテンション係数行列計算部３２４は行列Ｂの行方向及び列方向へのマックスプーリングを行って２つの因果関係アテンションの特徴ベクトルｂｑ∈ＲＩ及びｂｐ∈ＲＪを算出する。こうして得られた因果関係アテンションの特徴ベクトルは、質問と回答パッセージとに属する各単語について、相手側の単語の内で最も大きな因果関係を示すスコアを要素とする。
【００６０】
因果関係アテンション係数行列計算部３２４はさらに、以下のようにして因果関係アテンション係数行列Ｃｑ及びＣｐを計算する。
【００６１】
【数７】
2019020893.tif 000009
文ごとの畳み込み及びプーリング処理部２９８は、文ごとの畳み込みとプーリング処理を行う。文ごとの畳み込み及びプーリング処理部２９８は、最終単語ベクトル列＾Ｘｑ及び単語ベクトル列＾Ｘｐをそれぞれ文ごとの単語列を表す行列に分割する。
【００６２】
【数８】
2019020893.tif 000010
【００６３】
文と文との間の畳み込み／プーリングは以下のように行う。
【数９】
2019020893.tif 000011
実験では、特徴ベクトルを得るために、複数のフィルタと、単語ｔ−グラムのｔの値として複数のウィンドウサイズ（１≦ｔ≦５）との組み合わせを採用した。たとえば３つのフィルタを用いて２，３，４−グラムにより特徴ベクトルを計算した。
【００６４】
質問ｑのｍ番目の文及び回答パッセージｐのｎ番目の文の特徴ベクトルをそれぞれｙｑ，ｍ及びｙｐ，ｎとする。質問ｑ及び回答パッセージｐの文レベルの表現Ｙｑ及びＹｐはそれぞれ以下のように表される。
【００６５】
【数１０】
2019020893.tif 000012
このＹｑ及びＹｐが図１０及び図１３に示す一般パッセージレベルＣＮＮ２１８に与えられる。
【００６６】
《一般パッセージレベルＣＮＮ２１８》
図１３を参照して、一般パッセージレベルＣＮＮ２１８は、一般文レベル意味表現２１６及び図１２の因果関係アテンション特徴量行列３２２から得た特徴ベクトル群３４０（後述する）の入力を受けて、最終的な一般パッセージレベル表現１６４を出力する。一般パッセージレベルＣＮＮ２１８はそのために、一般文レベル意味表現２１６に対してＫ回（本実施の形態ではＫ＝２）の繰り返しにより一般文レベル意味表現２１６に対してアテンションを適用し更新して、最終的な回答を絞っていく。
【００６７】
一般パッセージレベルＣＮＮ２１８は、第１段目のｍｒＣＮＮ３６０と、第２段目のｍｒＣＮＮ３６４とを含む。
【００６８】
ｍｒＣＮＮ３６０（Ｋ＝１）及びｍｒＣＮＮ３６４（Ｋ＝２）は同じ構造を持つ。
【００６９】
【数１１】
2019020893.tif 000013
ｍｒＣＮＮ３６０は、一般文レベル意味表現２１６に含まれるベクトル列Ｙｑ（Ｙｑ１）及びＹｐ（Ｙｐ１）から類似度アテンションの係数行列３８２を計算する類似度アテンション行列計算部３８０と、図１２に示す因果関係アテンション特徴量行列３２２から得られる特徴ベクトル群３４０（後述する）から因果関係アテンションの係数行列３８６を計算する因果関係アテンション計算部３８４と、係数行列３８２及び３８６を用いたアテンションにより一般文レベル意味表現２１６を重み付けして更新し更新後の一般文レベル意味表現３６２を出力する更新部３８８とを含む。一般文レベル意味表現３６２は繰り返しの１回目の文レベル表現である。
【００７０】
【数１２】
2019020893.tif 000014
これはｍ番目の文に対する因果関係の特徴量を表す。
【００７１】
【数１３】
2019020893.tif 000015
ｍｒＣＮＮ３６４はｍｒＣＮＮ３６０と同様の構成を持ち、一般文レベル意味表現３６２を入力として類似度アテンションの係数行列４０２を計算する類似度アテンション行列計算部４００と、特徴ベクトル群３４０を入力として因果関係アテンションの係数行列４０６を計算する因果関係アテンション計算部４０４と、係数行列４０２及び係数行列４０６によるアテンションにより一般文レベル意味表現３６２を重み付けして更新し更新後の一般文レベル意味表現３６６を出力する更新部４０８とを含む。
【００７２】
【数１４】
2019020893.tif 000016
一般パッセージレベルＣＮＮ２１８はさらに、一般文レベル意味表現３６６に対する畳み込み／プーリングを行って一般パッセージレベル表現１６４を出力する畳み込み／プーリング処理部３６８を含む。本実施の形態では、畳み込み／プーリング処理部３６８としては図１２に示す文ごとの畳み込み及びプーリング処理部２９８と同じ構成のものを用いている。
【００７３】
【数１５】
2019020893.tif 000017
分類器１８４はロジスティック回帰層からなる。このロジスティック回帰層はドロップアウトを採用し、ソフトマックス出力を持つ全結合層である。分類器１８４は、一般ｍｒＣＮＮ１８２の出力する一般パッセージレベル表現１６４及び一般文レベル意味表現２１６、因果関係ｍｒＣＮＮ１８０の出力する因果関係パッセージレベル表現１６６及び因果関係文レベル意味行列２４６において、質問・回答パッセージペアの表現をそれぞれ連結し、同一のＣＮＮから出力における質問の表現と回答パッセージの表現との類似度を以下の式により算出する。
【００７４】
【数１６】
2019020893.tif 000018
【００７５】
【数１７】
2019020893.tif 000019
分類器１８４では、このｒを入力として、正解／不正解のラベル判定をし、True/False  を示す出力を選択部１６０に与える。
【００７６】
〔動作〕
なぜ型質問応答システム１２４の動作には、学習フェーズと実際の質問に対する応答を出力する稼働フェーズとがある。
【００７７】
学習フェーズにはさらに、図１１に示す一般単語ベクトル変換部２１０及び因果関係単語ベクトル変換部２４０の学習フェーズと、図１０に示すなぜ型質問応答システム１２４の各パラメータの学習フェーズとがある。
【００７８】
＜因果関係単語ベクトル変換部２４０の学習＞
因果関係単語ベクトル変換部２４０の学習では、図１１を参照して、予め大量の文書をウェブから収集してウェブアーカイブ記憶部２６０に記憶しておく。一般単語ベクトル学習部２７０が、ウェブアーカイブ記憶部２６０内の各文の単語を用いて、skip-gram  with  negative-samplingを用いたword2vecにより、ワンホットベクトルからｄ＝３００次元の単語ベクトルへの変換を行うよう、一般単語ベクトル変換部２１０の学習を行う。
【００７９】
一方、因果関係表現抽出部２６２がウェブアーカイブ記憶部２６０から因果関係を含む表現のみを抽出し、因果関係表現記憶部２６４に格納する。因果関係単語ベクトル学習部２６６が、一般単語ベクトル学習部２７０と同様の手法を用いて因果関係単語ベクトル変換部２４０の学習を行う。
【００８０】
一般単語ベクトル変換部２１０は、因果関係に関係なく、一般的な文脈に基づく学習を行い、因果関係単語ベクトル変換部２４０は因果関係を含む表現のみを用いて学習を行う。そのため、両者が単語を単語ベクトルに変換するためのパラメータが異なり、一般的な観点から見た意味と、因果関係という観点から見た意味とをそれぞれ表すような単語ベクトルへの変換を行うようになる。
【００８１】
＜なぜ型質問応答システム１２４の学習＞
なぜ型質問応答システム１２４の学習は、通常のニューラルネットワークと同様、質問と回答パッセージとの組の正例及び負例を準備して行う。分類器１８４の出力を導出するまでのなぜ型質問応答システム１２４の動作は稼働時の動作と同様であるため、ここでは述べない。分類器１８４の出力が得られたときには、その結果に応じて通常のニューラルネットワークと同様の誤差逆伝播方式による学習を行う。なお、学習は繰り返して行うが、繰り返しの終了条件は繰り返し数、又は係数パラメータの変化の総量がしきい値以下になったとき等、任意に選択できる。
【００８２】
＜稼働時＞
稼働時、図１０を参照して、質問１２０が質問受付部１５０に与えられると、質問受付部１５０はこの質問を応答受信部１５２及び質問・回答パッセージペア生成部１５６に与える。応答受信部１５２はこの質問を既存の質問応答システム１２６に与え、その回答を得て複数文からなる回答パッセージに分割して回答パッセージ記憶部１５４に格納する。応答受信部１５２が出力する回答パッセージの各々は、連続する５つの文を含む。
【００８３】
質問・回答パッセージペア生成部１５６は、回答パッセージ記憶部１５４の記憶する各回答パッセージと、質問受付部１５０が受けた質問１２０とを関連付けた質問・回答ペア１６２を生成して一般単語ベクトル変換部２１０及び因果関係単語ベクトル変換部２４０に与える。
【００８４】
図１２を参照して、一般単語ベクトル変換部２１０は質問・回答ペア１６２の質問及び回答パッセージをそれぞれ単語ベクトル列に変換し、単語ベクトル列２１２を出力する。
【００８５】
スパース化処理部２８０は単語ベクトル列２１２に対して活性化関数ＲｅＬＵを適用して単語ベクトル列〜Ｘｑ及び〜Ｘｐをアテンションによる単語ベクトル算出部２９２に出力する。
【００８６】
類似度アテンション算出部３００は、単語ベクトル列２１２を受けて類似度を算出し、類似度アテンション特徴量行列３０２を生成する。類似度アテンション係数行列計算部３０４はこの類似度アテンション特徴量行列３０２を用いて類似度アテンション係数行列２８６を算出しアテンションによる単語ベクトル算出部２９２に与える。
【００８７】
因果関係アテンション算出部３２０は、質問・回答ペア１６２を受けて因果関係アテンション特徴量行列３２２を算出する。因果関係アテンション係数行列計算部３２４は、この因果関係アテンション特徴量行列３２２から因果関係アテンション係数行列２９０を計算しアテンションによる単語ベクトル算出部２９２に与える。
【００８８】
アテンションによる単語ベクトル算出部２９２は、単語ベクトル列〜Ｘｑ及び〜Ｘｐに対して類似度アテンション係数行列Ｓｑ及びＳｐ及び因果関係アテンション係数行列２９０によるアテンションを適用し、式（２）にしたがって最終単語ベクトル列＾Ｘｑ及び＾Ｘｐを算出し畳み込み及びプーリング処理部２９８に与える。
【００８９】
文ごとの畳み込み及びプーリング処理部２９８は最終単語ベクトル列＾Ｘｑ及び単語ベクトル列＾Ｘｐに対して文ごとの畳み込み及びプーリングを行い、一般文レベル意味表現２１６を出力して一般パッセージレベルＣＮＮ２１８（図１０及び図１３を参照）に与える。
【００９０】
図１３を参照して、一般パッセージレベルＣＮＮ２１８のｍｒＣＮＮ３６０は以下のように動作する。すなわち、類似度アテンション行列計算部３８０は、一般文レベル意味表現２１６に含まれるベクトル列Ｙｑ（Ｙｑ１）及びＹｐ（Ｙｐ１）から類似度アテンションの係数行列３８２を計算する。因果関係アテンション計算部３８４は、図１２に示す因果関係アテンション特徴量行列３２２から得られる特徴ベクトル群３４０から因果関係アテンションの係数行列３８６を計算する。アテンションにより重み付けされた文レベルの表現を算出する更新部３８８は、係数行列３８２及び３８６を用いたアテンションにより一般文レベル意味表現２１６を重み付けして更新し更新後の一般文レベル意味表現３６２を出力しｍｒＣＮＮ３６４の類似度アテンション行列計算部４００に与える。
【００９１】
ｍｒＣＮＮ３６４もｍｒＣＮＮ３６０と全く同様に動作する。すなわち、類似度アテンション行列計算部４００は、一般文レベル意味表現３６２を入力として類似度アテンションの係数行列４０２を計算する。因果関係アテンション計算部４０４は特徴ベクトル群３４０を入力として因果関係アテンションの係数行列４０６を計算する。アテンションにより重み付けされた文レベルの表現を算出する更新部４０８は、係数行列４０２及び係数行列４０６によるアテンションにより一般文レベル意味表現３６２を重み付けして更新し更新後の一般文レベル意味表現３６６を出力する。
【００９２】
畳み込み／プーリング処理部３６８は、一般文レベル意味表現３６６に対する畳み込み／プーリングを行って一般パッセージレベル表現１６４を出力する。
【００９３】
図１０を参照して、一般文レベル意味表現２１６及び一般パッセージレベル表現１６４はいずれも分類器１８４に与えられる。
【００９４】
さらに、因果関係ｍｒＣＮＮ１８０においても、因果関係単語ベクトル変換部２４０が一般的な観点の文脈ではなく因果関係という観点の文脈で単語を単語ベクトル化することを除き、一般ｍｒＣＮＮ１８２と同じ動作が行われる。因果関係ｍｒＣＮＮ１８０は、因果関係文レベル意味行列２４６及び因果関係パッセージレベル表現１６６を分類器１８４に与える。
【００９５】
分類器１８４は、前述したとおり、一般ｍｒＣＮＮ１８２の出力する一般パッセージレベル表現１６４及び一般文レベル意味表現２１６、因果関係ｍｒＣＮＮ１８０の出力する因果関係パッセージレベル表現１６６及び因果関係文レベル意味行列２４６において、質問・回答パッセージペアの表現をそれぞれ連結する。さらに分類器１８４は、同一のＣＮＮからの出力における質問の表現と回答パッセージの表現との類似度を前出の式（１３）−（１５）により算出し、ソフトマックス関数により最終的に回答パッセージが質問に対する正しい回答か否かを判定して結果を選択部１６０に出力する。
【００９６】
選択部１６０は、分類器１８４の結果により回答パッセージが質問１２０に対する正しい回答であればそれを選択して回答１２２として出力する。
【００９７】
＜実験結果＞
図１４に、本発明の上記実施の形態とそのバリエーションによる質問応答タスクの結果を、非特許文献３（OH13）及び非特許文献４（OH17）の結果等とともに示す。実験では、非特許文献３と同じ１７０００例の質問・回答ペアからなるデータセットを用いた。ただし、本発明の実施の形態と非特許文献３とでは学習時のデータの使用形態が異なっている。非特許文献３では開発データセットは用いていないが、本発明の実施の形態では開発データセットを準備し、ｍｒＣＮＮのハイパーパラメータを調整した。
【００９８】
本発明の実施の形態のモデル学習は最大で２０エポック行い、開発データにより得られた精度が最も高いものを採用した。また、５エポックが終了した時点で精度の改善が得られない場合には学習を停止した。開発データに基づき、ハイパーパラメータの全ての組み合わせ（全１２０通り）を調べた。フィルタのウィンドウサイズとしては｛１，２，３，４，５｝の中から選んだ（３、４、又は５）個の連続した数（全部で３＋２＋１＝５通り）を採用した。各ウィンドウサイズの組み合わせについて、フィルタ数を｛２５，５０，７５，１００｝の４通り適用した。さらに、Adadelta更新ルールを用いた確率的勾配降下法によるミニバッチサイズを｛２０，４０，６０，８０，１００｝の５通り採用した。上記実施の形態のｍｒＣＮＮの学習では、文レベル及びパッセージレベルのＣＮＮに対して同じ条件を適用して学習を行った。
【００９９】
図１４を参照して、OH13は非特許文献３の結果を示す。この例のみＳＶＭを用いており、他の７例はいずれもニューラルネットワークを用いている。OH17は非特許文献４による結果であり、従来技術として最新のものである。OH17は因果関係アテンションのみを用いた例である。OH17は本発明のようにｍｒＣＮＮを用いたものではない。
【０１００】
BaseSA、BaseCA、及びBaseDAはベースラインを与えるもので、上記本願発明の実施の形態のシステムにおいて、一般的観点からの文脈により得られたセンテンスレベルのテキスト表現を用いたものである。BaseSA、BaseCAはそれぞれ類似度アテンション及び因果関係アテンションいずれかのみを用いる。BaseDAは両者を用いている。
【０１０１】
実施の形態（１層）〜（３層）は、上記実施の形態において、パッセージレベル表現を得るためのパッセージレベルＣＮＮの層数を表す。上記実施の形態ではＫ＝２である。「オラクル」はテストデータ内にＬ個の正解があれば、トップのＬ個の中にその正解を全てリストできるようなシステムである。
【０１０２】
評価は、トップ回答の精度（Ｐ＠１）、平均精度（ＭＡＰ）、オラクルを基準とした相対的性能（ＰＲ＠１及びＲＭＡＰ）により行った。
【０１０３】
Ｐ＠１は正しい回答がトップに得られた質問の数を示す。ＭＡＰはシステムがランキングしたトップ２０の回答パッセージの質を示す。ＲＰ＠１及びＲＭＡＰは、テストデータ内の正解を少なくとも１つ得られた質問のみを用いた評価である。
【０１０４】
図１４から明らかなように、本発明の実施の形態によるシステムによれば、Ｐ＠１及びＭＡＰにおいて、オラクルを除き他のいずれよりも高い性能を示した。中でも上記実施の形態に示したＫ＝２のシステムは、OH17と比較してＰ＠１で４ポイント以上の改善を示している。また、BaseDAがBaseSA及びBaseCAのいずれよりも常に高い性能を示していることから、上記実施の形態のように類似度アテンションと因果関係アテンションとの双方を使用することでより性能が高められる事がわかる。
【０１０５】
〔コンピュータによる実現〕
本発明の実施の形態に係るなぜ型質問応答システム１２４は、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。図１５はこのコンピュータシステム６３０の外観を示し、図１６はコンピュータシステム６３０の内部構成を示す。
【０１０６】
図１５を参照して、このコンピュータシステム６３０は、メモリポート６５２及びDVD（Digital  Versatile  Disk）ドライブ６５０を有するコンピュータ６４０と、キーボード６４６と、マウス６４８と、モニタ６４２とを含む。
【０１０７】
図１６を参照して、コンピュータ６４０は、メモリポート６５２及びDVDドライブ６５０に加えて、CPU（中央処理装置）６５６と、CPU６５６、メモリポート６５２及びDVDドライブ６５０に接続されたバス６６６と、ブートプログラム等を記憶する読出専用メモリ（ROM）６５８と、バス６６６に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するランダムアクセスメモリ（RAM）６６０と、ハードディスク６５４を含む。コンピュータシステム６３０はさらに、他端末との通信を可能とするネットワーク６６８への接続を提供するネットワークインターフェイス（I/F）６４４を含む。
【０１０８】
コンピュータシステム６３０を上記した実施の形態に係るなぜ型質問応答システム１２４の各機能部として機能させるためのコンピュータプログラムは、DVDドライブ６５０又はメモリポート６５２に装着されるDVD６６２又はリムーバブルメモリ６６４に記憶され、さらにハードディスク６５４に転送される。又は、プログラムはネットワーク６６８を通じてコンピュータ６４０に送信されハードディスク６５４に記憶されてもよい。プログラムは実行の際にRAM６６０にロードされる。DVD６６２から、リムーバブルメモリ６６４から又はネットワーク６６８を介して、直接にRAM６６０にプログラムをロードしてもよい。
【０１０９】
このプログラムは、コンピュータ６４０を、上記実施の形態に係るなぜ型質問応答システム１２４の各機能部として機能させるための複数の命令からなる命令列を含む。コンピュータ６４０にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ６４０上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ６４０にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体はこの実施の形態のシステム、装置及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記したシステム、装置又は方法としての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供してもよい。
【０１１０】
以上のように、本発明の実施の形態によれば、従来の手法に対して非常に高い精度でなぜ型質問のようなノン・ファクトイド型の質問に対する回答を得ることができる。たとえば工場の製造ラインで生じた問題、最終的に得られた製品に生じた問題、ソフトウェアの試験で生じた問題、何らかの実験過程で生じた問題等を学習データとしてこれら質問応答システムを構築することにより、様々な実際的な質問に対する有用な回答を得ることができる。その結果、工場における生産効率の向上、工業製品及びソフトウェアの効率的な設計、実験計画の効率化等がもたらされ、産業の発展に大きな貢献をすることができる。さらに、用途としては製造業に限らず、教育分野、顧客対応、官庁における自動応答、ソフトウェアの操作説明等のサービスへの適用も可能である。
【０１１１】
上記実施の形態では、因果関係アテンションと類似度アテンション（一般的観点からの文脈における単語間の類似を示す）との２種類のアテンションを同時に用いている。しかし本発明はそのような実施の形態には限定されない。アプリケーションに応じてさらに他の種類のアテンションを用いてもよい。前述したとおり、たとえば、特開2015-121896号公報に開示されている以下のような関係を用いたアテンションを採用できる。また、因果関係アテンション又は類似度アテンションのいずれか又は双方に代えて、上記関係のいずれかまたは２種類以上のアテンションを用いることもできる。
【０１１２】
−材料関係（例：＜ＡでＢを生産する＞、（トウモロコシ、バイオ燃料）等）
−必要関係（例：＜ＡはＢに必須だ＞、（日光、光合成）等）
−使用関係（例：＜ＡをＢに使う＞、（ｉＰＳ細胞、再生医療）、等）
−予防関係（例：＜ＡでＢを防ぐ＞、（ワクチン、インフルエンザ）、等）
【０１１３】
このような関係によるアテンションについては、因果関係アテンションと同様にして取得できる。これら関係を表す表現を取得する方法としては、前記した特開2015-121896号公報に記載されたものを使用できる。すなわち、意味的関係パターンを抽出する際の元となる、特定のパターン（これをシードパターンと呼ぶ。）のグループと単語の意味クラス情報とをデータベースに記憶しておく。ウェブアーカイブ記憶部５６から、これらデータベースに記憶されたシードパターンに類似したパターンを抽出することで意味的関係パターンのデータベースを構築する。それら意味的パターンに合致する表現をウェブアーカイブから収集し、収集された表現の集合内における単語の相互情報量を計算してその関係に関するアテンションマトリクスを生成する。さらに、質問及び各回答パッセージからも同様に単語を抽出し、先に作成しておいたアテンションマトリクスから行方向及び列方向へのｍａｘプーリングにより２つのベクトルを生成し、これらをニューラルネットワークへの入力の各単語への重みとする。
【０１１４】
また、図１２の因果関係アテンション計算部３８４等において因果関係アテンションの係数マトリクスを計算する際には、正規化点別相互情報量を用いた。上記いずれの関係においても、それら関係を表す特定の文の構造及び特定の関係にある単語の位置に着目することにより、正規化点別相互情報量と同様の手法により正規化点別相互情報料と同様の値を算出でき、したがって因果関係アテンションと同様のアテンションの係数マトリクスを計算できる。
【０１１５】
なお、アテンションとして３種類以上を用いる場合、図１０に示す一般ｍｒＣＮＮ１８２及び因果関係ｍｒＣＮＮ１８０と同様のｍｒＣＮＮを関係ごとに準備し、分類器１８４への入力数をそれにあわせて増加させればよい。
【０１１６】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【０１１７】
Ｃｐ、Ｃｑ  因果関係アテンション係数行列
Ｓｐ、Ｓｑ  類似度アテンション係数行列
Ｘｐ、Ｘｑ  単語ベクトル列
Ａｐ、Ａｑ  特徴ベクトル
１２０  質問
１２２  回答
１２４  なぜ型質問応答システム
１２６  質問応答システム
１２８  既存の質問応答システム
１５０  質問受付部
１５２  応答受信部
１５４  回答パッセージ記憶部
１５６  質問・回答パッセージペア生成部
１５８  判定部
１６０  選択部
１６２  質問・回答ペア
１６４  一般パッセージレベル表現
１６６  因果関係パッセージレベル表現
１８０  因果関係ｍｒＣＮＮ
１８２  一般ｍｒＣＮＮ
１８４  分類器
２１０  一般単語ベクトル変換部
２１２、２４２  単語ベクトル列
２１４  一般文レベルＣＮＮ
２１６、３６２、３６６  一般文レベル意味表現
２１８  一般パッセージレベルＣＮＮ
２４０  因果関係単語ベクトル変換部
２４４  因果関係文レベルＣＮＮ
２４６  因果関係文レベル意味行列
２４８  因果関係パッセージレベルＣＮＮ
２６０  ウェブアーカイブ記憶部
２６２  因果関係表現抽出部
２６４  因果関係表現記憶部
２６６  因果関係単語ベクトル学習部
２７０  一般単語ベクトル学習部
２８０  スパース化処理部
２８２  単語ベクトル列
２８４  類似度アテンション処理部
２８６  類似度アテンション係数行列
２８８  因果関係アテンション処理部
２９０  因果関係アテンション係数行列
２９２  アテンションによる単語ベクトル算出部
２９４  単語ベクトル列
２９８  畳み込み及びプーリング処理部
３００  類似度アテンション算出部
３０２  類似度アテンション特徴量行列
３０４  類似度アテンション係数行列計算部
３２０  因果関係アテンション算出部
３２２  因果関係アテンション特徴量行列
３２４  因果関係アテンション係数行列計算部
３４０  特徴ベクトル群
３６０、３６４  ｍｒＣＮＮ
３６８  畳み込み／プーリング処理部
３８０、４００  類似度アテンション行列計算部
３８２、３８６、４０２、４０６  係数行列
３８４、４０４  因果関係アテンション計算部
３８８、４０８  更新部
【図１】
2019020893.tif 000020
【図２】
2019020893.tif 000021
【図３】
2019020893.tif 000022
【図４】
2019020893.tif 000023
【図５】
2019020893.tif 000024
【図６】
2019020893.tif 000025
【図７】
2019020893.tif 000026
【図８】
2019020893.tif 000027
【図９】
2019020893.tif 000028
【図１０】
2019020893.tif 000029
【図１１】
2019020893.tif 000030
【図１２】
2019020893.tif 000031
【図１３】
2019020893.tif 000032
【図１４】
2019020893.tif 000033
【図１５】
2019020893.tif 000034
【図１６】
2019020893.tif 000035