(57)【要約】【課題】要約原文を短く適切に要約するよう要約システムを訓練する訓練データを効率的に生成する。【解決手段】方法は、大量の因果関係表現から、各々が複数の関係表現２４０，２４２，２４４を含むグループを抽出するステップと、各グループが含む関係表現２４０，２４２，２４４の各々から質問文２８０，２９０，３００及び回答文２８２，２９２，３０２を作成するステップと、各グループが含む関係表現２４０，２４２，２４６を連結した文２４６を作成するステップと、それぞれ、各グループの各関係表現２４０，２４２，２４６から作成された質問文２８０，２９０，２９２を入力文、文２４６を要約対象文２８４，２８６，２８８、回答文２８２，２９２，３０２を教師データとする訓練データ項目２６０，２６２，２６４を作成するステップとを含む。【選択図】図６
2019133229.tif 000002
【特許請求の範囲】
【請求項１】
質問の形をした入力文に対して、当該入力文に対する回答を簡潔で短い出力文として返す質問応答システムを訓練するための訓練データを作成する、コンピュータによる方法であって、前記質問応答システムは、質問の形をした入力文と、当該入力文に対する回答が何らかの形で記載されていると想定される比較的に長いオリジナル文章から、入力文に対する簡潔で短い回答である出力文を出力するものであり
前記方法は、
コンピュータが、事柄の間にある関係が存在することを表す関係表現を大量に記憶した関係表現記憶装置から、各々が複数の関係表現を含む複数のグループを抽出するステップと、
コンピュータが、前記複数のグループの各々について、当該グループに含まれる前記複数の関係表現の各々から質問文及び当該質問文に対する回答文を作成するステップと、
前記複数のグループの各々について、当該グループに含まれる前記複数の関係表現を互いに連結して訓練用のオリジナル文章を作成するステップと、
コンピュータが、前記複数のグループの各々に含まれる前記複数の関係表現の各々について、当該関係表現から作成された前記質問文を前記入力文、前記訓練用のオリジナル文章を要約対象、及び前記回答文を教師データとする訓練データ項目を作成し、訓練データ記憶装置に記憶するステップとを含む、質問応答システムの訓練データの作成方法。
【請求項２】
前記関係表現の各々は、第１の部分表現と、第２の部分表現とを含み、
前記質問文及び当該質問文に対する回答文を作成するステップは、
コンピュータが、前記複数のグループの各々について、
当該グループに含まれる前記複数の関係表現の各々の前記第１の部分表現及び前記第２の部分表現を分離するステップと、
前記第２の部分表現に所定の疑問詞を付することにより前記質問文を生成するステップと、
前記第１の部分表現を前記回答文とするステップとを含む、請求項１に記載の質問応答システムの訓練データの作成方法。
【請求項３】
前記関係表現は、事柄の間に因果関係が存在することを表す因果関係表現であり、
前記第１の部分表現は原因部を含み、
前記第２の部分表現は結果部を含み、
前記抽出するステップは、コンピュータが、前記関係表現記憶装置から、各々が複数の因果関係表現を含む複数のグループを抽出するステップを含み、
前記回答文を作成するステップは、コンピュータが、前記複数のグループの各々について、当該グループに含まれる前記複数の因果関係表現の各々の結果部及び原因部から、当該結果部に記載された事象の原因を問う質問文及び当該質問文に対して前記原因部に述べられた原因によって答える回答文をそれぞれ作成するステップを含む、請求項２に記載の質問応答システムの訓練データの作成方法。
【請求項４】
前記関係表現は、事柄の間に、ある目的とその目的を達成するための方法とを表す方法関係が存在することを表す方法関係表現であり、
前記抽出するステップは、コンピュータが、前記関係表現記憶装置から、各々が複数の方法関係表現を含む複数のグループを抽出するステップを含み、
前記第１の部分表現は方法部を含み、
前記第２の部分表現は目的部を含み、
前記回答文を作成するステップは、コンピュータが、前記複数のグループの各々について、当該グループに含まれる前記複数の方法関係表現の各々の目的部及び方法部から、前記目的部に記載された目的を達成する方法を問う質問文、及び当該質問文に対して前記方法部に述べられた方法によって答える回答文をそれぞれ作成するステップを含む、請求項２に記載の質問応答システムの訓練データの作成方法。
【請求項５】
前記関係表現の各々は、前記第１の部分表現で表される事柄及び前記第２の部分表現で表される事柄の間にある関係が存在することを示す手がかりとなる手掛かり表現を含み、
前記分離するステップは、
コンピュータが、前記複数のグループの各々について、
当該グループに含まれる前記複数の関係表現の各々の前記第１の部分表現及び前記第２の部分表現を前記手掛かり表現に基づいて分離する、請求項２〜請求項４のいずれかに記載の質問応答システムの訓練データの作成方法。
【請求項６】
請求項１〜５の何れかに記載の方法及びまたは人手により作成された訓練データを用いてコンピュータが質問応答システムの訓練を行う方法であって、
前記訓練データに含まれる訓練データ項目の各々について、
コンピュータが、当該訓練データ項目を読出すステップと、
コンピュータが、当該訓練データ項目に含まれる前記オリジナル文章内の単語に、当該訓練データ項目に含まれる前記入力文内の内容語と重複する単語か否かを示すフラグを付すステップと、
コンピュータが、前記フラグが付された前記オリジナル文章に対する前記質問応答システムからの出力文と、当該訓練データ項目に含まれる前記教師データとの誤差が小さくなるよう、前記質問応答システムの要約機能を規定するパラメータを更新するステップとを含む、質問応答システムの訓練方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は質問応答システムに関し、特に、質問に対して端的で短く精度の高い応答ができるように、情報検索装置の出力を要約するシステムに関する。
【背景技術】
【０００２】
ユーザの音声に対して応答をしたり、検索したり、音楽を再生したりする装置の登場によって、質問応答システムに注目が集まっている。これら装置が実現している対話機能では、幅広いトピックの質問に対して応答することが可能となるように、オープンドメインのデータを用いることが望ましい。オープンドメインとは特定のジャンル（ドメイン）に限定されるものではないことをいう。
【０００３】
既存の質問応答システムは、ユーザが発話した文、例えば「りんごとは何？」に対して、インターネット上の百科事典的なページから「りんご」を説明したページのテキストを表示したりすることでユーザ発話に対処する。このようにオープンドメインデータを使用することで、最新の用語を含む幅広いトピックに対して適切な回答を与えることができる。
【０００４】
しかしこのような仕様は、通常は、インターネットから検索された比較的長い文章をディスプレイで見ることをユーザに要求する。特に、例えば上記したような「〜は何？」のように、事実に基づく回答を与えることが比較的優しい質問（「ファクトイド」型質問と呼ぶ。）と異なり、何かに関する理由を聞く質問のように、単に事実ではなく理由、方法等を聞く質問（「ノン・ファクトイド型」質問と呼ぶ。）の場合、ウェブページからの短い引用だけでは、質問に対するわかりやすい回答を得ることが難しい。したがって、ノン・ファクトイド型質問に対する回答は特に長くなりやすく、文章をディスプレイで見てさらにその解釈を行う必要が生ずる。その結果、こうした仕様の質問応答システムでは音声のみで操作を完結することができない。
【０００５】
こうした問題を解決するために、ユーザの発話した文に応じて端的で短い適切な回答を与えることができるシステムが得られれば好ましい。しかし現在の技術ではそのような質問応答システムの実現は困難である。
【０００６】
そのための１つの解決策として、情報検索装置の比較的長い出力を、システムの出力として利用するために、より短く要約することが考えられる。要約するシステムには、いわゆる機械学習により学習された要約規則を利用することができる。
【０００７】
そのような質問応答システムの一例が後掲の特許文献１に開示されている。特許文献１に開示された質問応答装置は、データベース型質問応答に関する。このデータベースには、＜実体、属性、値＞からなる情報が多数格納されている。例えば＜鶴岡八幡宮、創建、康平６年（１０６３年）＞という三つ組からなる情報である。これら三つ組の各々に、テキストと、その説明とが付されている。ユーザから与えられた質問（例えば「鶴岡八幡宮の創建はいつですか？」）を受けると、質問に含まれる要素の組合せから＜鶴岡八幡宮、創建、？＞という検索クエリを生成し、データベースからこの検索クエリに合致する情報（例えば＜鶴岡八幡宮、創建、康平６年（１０６３年）＞）を取り出す。この情報から、鶴岡八幡宮の創建が康平６年であるという回答を得ることができる。さらにこの三つ組に付されたテキスト又は説明を作業者に提示することで、端的な回答以外の情報を作業者に提供できる。特許文献１では、このテキストの内の１文を要約システムにより選択したものを作業者に提示することが開示されている。
【０００８】
また、他の質問応答システムの一例が特許文献２に開示されている。特許文献２に開示された質問応答装置は、データベース型質問応答に関する。このデータベースには、３個〜８個程度の複数個の連続する文からなるパッセージが多数含まれている。例えば「地震によって海底が大きく隆起することがあります。この時、押し上げられた分の海水は、必然的に同心円状に広がり波となります。この内、沿岸に到達した波が津波と呼ばれ、しばしば甚大な被害を引き起こすのです。」という文章がパッセージの一例である。特許文献２で開示されるシステムは、与えられた質問文、例えば「津波が起こるのはなぜ？」に対して適切なパッセージを選択し、パッセージのまま提示することを開示している。
【０００９】
このような質問応答システムは、上記したノン・ファクトイド型の質問に対処するために上記したような仕様になっている。ノン・ファクトイド型質問では、回答に必要な情報が一箇所に記載されている場合はほとんどなく、複数の文に分散している場合が多い。そこで、特許文献２では、想定される質問に対して回答するために必要な情報を含む連続する複数個の文からなるパッセージを多数記憶しておき、それらの中から適切なパッセージを選択して其の全体を表示する。
【００１０】
一方、上記したような目的のために音声対話システムを開発する場合、質問応答システムから得られるパッセージのような比較的長い文章を端的で短くかつ適切な回答に要約しなければならない。上で例として挙げたパッセージに対する適切な要約としては、例えば「海底が隆起し押し上げられた分の海水が波となるため」などが考えられる。しかし、この要約に含まれる表現はパッセージ中の全体に広く分散しており、要約を生成するために要求される回答の生成規則がより複雑になる。そのため、その規則をシステムに獲得させるために必要な訓練データの量が増大するという問題がある。
【００１１】
これに関連して、後掲の特許文献３には、統計モデルを用いた対話システムの学習のための、高品質な対話データを効率的に収集する発明が開示されている。特許文献３のシステムはクラウドソーシングを採用したものである。この発明では、対話データ収集に協力する作業者に対してある課題をシステムが提示する。それに対して作業者が発話を行い（又はテキストを入力し）、それに対する応答をシステムが生成する。その応答が作業者に提示される。その応答により課題が達成されていれば処理は一旦終了する。課題が達成されていなければ再び作業者が発話し、それに対する応答をシステムが生成する。こうした処理を課題が達成されるまで繰返す。課題が達成されたら、それまでの作業者とシステムとの応答が収集され、対話データとして記憶される。この結果、大量の訓練データを得ることが比較的低いコストで可能になる。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０１６−１３３９１９号公報
【特許文献２】特開２０１７−０４９６８１号公報
【特許文献３】国際公開第２０１６−１４７４００号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【００１３】
上記した特許文献１に開示のシステムでは、予め多数の情報を収集し、所定のフォーマットでデータベースに記憶しておく必要がある。そのための作業量が大きくなるという問題がある。またテキストについても三つ組に付して予めデータベースに登録しておくため、オープンドメインの情報を用いることは難しい。仮にオープンドメインの情報を用いる場合でも、特許文献１に開示されたもののように１文のみを選択するだけでは、質問に対する適切な回答が与えられない可能性が高い。特許文献２に開示されたように回答として多数の文を選択することも可能だが、その場合、端的で短い回答を得るという目的は達成できない。提示する文を長くすれば正しい回答が得られる可能性は高くなるが、回答が長大になって質問応答システムで出力できなくなるという危険性もある。すなわち、特許文献２に開示されたシステムでは、端的で短い回答を得るには依然として不十分である。
【００１４】
一方、特許文献３に開示のシステムでは、結局、訓練データは作業者が作成することになる。最近のようにいわゆる人工知能的な処理により質問応答システムを訓練する際には、より多くの訓練データが必要となる。たとえクラウドソーシングを採用したとしても、人手による作業では収集できるデータ量に限りがあり、その品質にもばらつきが生ずる可能性がある。その結果、特許文献３に開示した方法では、効率的な訓練を行えるとは言い難い。
【００１５】
それ故に、本発明の目的は、質問応答システムの出力のようにやや長い文を、端的で短く適切に要約できるように質問応答システムを訓練するための訓練データを効率的に生成する方法を提供することである。
【課題を解決するための手段】
【００１６】
本発明の第１の局面に係る質問応答システムの訓練データの作成方法は、質問の形をした入力文に対して、当該入力文に対する回答を簡潔で短い出力文として返す質問応答システムを訓練するための訓練データを作成する、コンピュータによる方法である。質問応答システムは、質問の形をした入力文と、当該入力文に対する回答が何らかの形で記載されていると想定される比較的に長いオリジナル文章から、入力文に対する簡潔で短い回答である出力文を出力する。
【００１７】
この方法は、コンピュータが、事柄の間にある関係が存在することを表す関係表現を大量に記憶した関係表現記憶装置から、各々が複数の関係表現を含む複数のグループを抽出するステップと、コンピュータが、複数のグループの各々について、当該グループに含まれる複数の関係表現の各々から質問文及び当該質問文に対する回答文を作成するステップと、複数のグループの各々について、当該グループに含まれる複数の関係表現を互いに連結して訓練用のオリジナル文章を作成するステップと、コンピュータが、複数のグループの各々に含まれる複数の関係表現の各々について、当該関係表現から作成された質問文を入力文、オリジナル文章を要約対象、及び回答文を教師データとする訓練データ項目を作成し、訓練データ記憶装置に記憶するステップとを含む。
【００１８】
好ましくは、関係表現の各々は、第１の部分表現と、第２の部分表現とを含み、質問文及び当該質問文に対する回答文を作成するステップは、コンピュータが、複数のグループの各々について、当該グループに含まれる複数の関係表現の各々の第１の部分表現及び第２の部分表現を分離するステップと、第２の部分表現に所定の疑問詞を付することにより質問文を生成するステップと、第１の部分表現を回答文とするステップとを含む。
【００１９】
より好ましくは、関係表現は、事柄の間に因果関係が存在することを表す因果関係表現であり、第１の部分表現は原因部を含み、第２の部分表現は結果部を含む。抽出するステップは、コンピュータが、関係表現記憶装置から、各々が複数の因果関係表現を含む複数のグループを抽出するステップを含み、回答文を作成するステップは、コンピュータが、複数のグループの各々について、当該グループに含まれる複数の因果関係表現の各々の結果部及び原因部から、当該結果部に記載された事象の原因を問う質問文及び当該質問文に対して原因部に述べられた原因によって答える回答文をそれぞれ作成するステップを含む。
【００２０】
さらに好ましくは、関係表現は、事柄の間に、ある目的とその目的を達成するための方法とを表す方法関係が存在することを表す方法関係表現である。抽出するステップは、コンピュータが、関係表現記憶装置から、各々が複数の方法関係表現を含む複数のグループを抽出するステップを含み、第１の部分表現は方法部を含み、第２の部分表現は目的部を含む。回答文を作成するステップは、コンピュータが、複数のグループの各々について、当該グループに含まれる複数の方法関係表現の各々の目的部及び方法部から、目的部に記載された目的を達成する方法を問う質問文、及び当該質問文に対して方法部に述べられた方法によって答える回答文をそれぞれ作成するステップを含む。
【００２１】
好ましくは、関係表現の各々は、第１の部分表現で表される事柄及び第２の部分表現で表される事柄の間にある関係が存在することを示す手がかりとなる手掛かり表現を含み、分離するステップは、コンピュータが、複数のグループの各々について、当該グループに含まれる複数の関係表現の各々の第１の部分表現及び第２の部分表現を手掛かり表現に基づいて分離するステップとを含む。
【００２２】
本発明の第２の局面に係る質問応答システムの訓練方法は、上記したいずれかの方法及びまたは人手により作成された訓練データを用いてコンピュータが質問応答システムの訓練を行う方法である。この方法は、訓練データに含まれる訓練データ項目の各々について、コンピュータが、当該訓練データ項目を読出すステップと、コンピュータが、当該訓練データ項目に含まれるオリジナル文章内の単語に、当該訓練データ項目に含まれる入力文内の内容語と重複する単語か否かを示すフラグを付すステップと、コンピュータが、フラグが付されたオリジナル文章に対する質問応答システムからの出力文と、当該訓練データ項目に含まれる教師データとの誤差が小さくなるよう、質問応答システムの要約機能を規定するパラメータを更新するステップとを含む。
【図面の簡単な説明】
【００２３】
【図１】本発明の第１の実施の形態に係る質問応答システムのブロック図である。
【図２】図１に示す質問応答システムで使用される要約システムの概略構成を示すブロック図である。
【図３】図２に示す要約システムにおいて、入力系列処理部が出力するベクトル列を形成するベクトルの生成方法を模式的に示す図である。
【図４】図１に示す訓練データ生成部による訓練データ生成処理を実行するようコンピュータを機能させるコンピュータプログラムの制御構造を示すフローチャートである。
【図５】図４に示す訓練データ生成処理(１８２)を実行するようコンピュータを機能させるコンピュータプログラムの制御構造を示すフローチャートである。
【図６】図５に示す訓練データ生成処理(２２６)における訓練データ生成の詳細を示す模式図である。
【図７】図１に示す要約システム訓練部を実現するようコンピュータを機能させるためのコンピュータプログラムの制御構造を示すフローチャートである。
【図８】本発明の第２の実施の形態に係る質問応答システムの訓練データ生成部を実現するようコンピュータを機能させるためのコンピュータプログラムの制御構造を示すフローチャートである。
【図９】本発明の各実施の形態に係る質問応答システムを実現するためのコンピュータシステムの外観を示す図である。
【図１０】図９に示すコンピュータのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００２４】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【００２５】
以下に説明する各実施の形態に係る質問応答システムは汎用コンピュータとそのコンピュータにより実行されるコンピュータプログラムとにより実現される。しかし本発明はそのような実施の形態には限定されず、専用ハードウェアにより実現してもよい。
【００２６】
［第１の実施の形態］
＜全体構成＞
図１を参照して、本発明の第１の実施の形態に係る質問応答システム３０は、質問と、その質問に対する回答としての比較的長い文章を受け、これらに基づいてその比較的長い文章を端的かつより簡潔で適切な文（１文〜２文）に要約する要約システム４０と、要約システム４０を訓練するための訓練装置４２と、訓練済の要約システム４０を組み込むことで、ユーザの入力文に対して端的で短くかつ適切な出力文４６を出力する質問応答装置４４とを含む。以下の説明では、訓練装置４２と質問応答装置４４とは同一のコンピュータにより実現されることを想定しているが、図１から明らかなように、訓練装置４２と質問応答装置４４とを分離してもよく、むしろ質問応答装置４４は訓練装置４２と分離して利用される方が通常である。
【００２７】
〈訓練装置４２〉
訓練装置４２は、インターネットから予め収集した大量のウェブページを記憶するウェブアーカイブ６４と、対話型処理により、要約システム４０の訓練のためのユーザ入力を受けてユーザによる入力文６２を出力する入出力部６０と、入力文６２を受けて、ウェブアーカイブ６４から入力文６２に対する複数の要約対象文６８を抽出し出力するための既存の情報検索装置６６と、要約対象文６８に対する入出力部６０を用いたユーザ処理により要約システム４０のための訓練データを生成し出力するための人手による訓練データ生成部７０とを含む。本実施の形態では、要約対象文とは、訓練データ生成時に要約の対象となる文のことをいう。
【００２８】
訓練装置４２はさらに、予め準備された因果関係表現の例文を大量に記憶した因果関係ＤＢ７２と、訓練装置４２の動作を規定するパラメータを記憶した設定ファイル７４と、設定ファイル７４を参照しながら、設定値にしたがって訓練データを生成し出力する訓練データ生成部７６と、人手による訓練データ生成部７０及び訓練データ生成部７６が出力する訓練データを記憶する訓練データＤＢ７８と、訓練データＤＢ７８に記憶された訓練データを用いて要約システム４０の訓練を行う要約システム訓練部８０とを含む。
【００２９】
図２を参照して、要約システム４０は、ニューラルネットワークの一種であるＲＮＮ（Ｒｅｃｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）を１モジュールとして構成されるシステムである。要約システム４０は、要約原文を表す単語ベクトル列１２４の入力を受けてベクトル列１４４を出力する入力系列処理部１２０と、ベクトル列１４４を受けて簡潔な要約文を表す単語ベクトル列１２６を出力する出力系列処理部１２２とを含む。単語ベクトルはいわゆるワンホットベクトル（１−ｏｆ−Ｋ表現）でもよいし、いわゆる単語埋め込みベクトルでもよい。本実施の形態では、要約原文とは、要約システム４０による要約の対象となるオリジナル文章である。
【００３０】
単語ベクトル列１２４は、本実施の形態では、要約原文の各単語を表すベクトルに、その単語が入力文６２にも出現している場合には１、それ以外の場合には０を表すフラグベクトルが付された単語ベクトルからなる。すなわち要約システム４０は、質問と、その質問に対する回答としての比較的長い要約原文とを受け、この要約原文から、より短く端的で適切な要約文を出力するという機能を持つ。
【００３１】
入力系列処理部１２０は単語ベクトル列１２４の各単語ベクトルを順に受け、順方向に出力を伝搬するよう接続される順方向ＲＮＮ系列１４０と、単語ベクトル列１２４の各単語ベクトルを逆順に受け、逆方向に出力を伝搬するように接続される逆方向ＲＮＮ系列１４２とを含む。一方、出力系列処理部１２２も単語ベクトル列１２４のベクトルを順に受けるＲＮＮを含む。これらＲＮＮのうち、順方向ＲＮＮ系列１４０及び逆方向ＲＮＮ系列１４２は、それぞれ同一のＲＮＮモジュールを、入力される単語数に応じて複製したものからなる。したがってそれらの機能を規定するパラメータ（重み及びバイアス行列）は当然に全て等しい。また、出力系列処理部１２２を構成するＲＮＮも、入力系列処理部１２０のＲＮＮとは異なるが、同一のＲＮＮモジュールを複製して得たものである。この基本となるＲＮＮにより実現される要約機能を規定するパラメータを学習することが要約システム４０の訓練の目的である。
【００３２】
図３を参照して、順方向ＲＮＮ系列１４０及び逆方向ＲＮＮ系列１４２には、それぞれフラグベクトルを付された単語ベクトルが入力される。順方向ＲＮＮ系列１４０及び逆方向ＲＮＮ系列１４２の対応するＲＮＮはそれぞれ順方向出力ベクトル１６０及び逆方向出力ベクトル１６２を出力し、これらベクトルはこの順で連結される。これら連結されたベクトルは対応する単語のアノテーション１５０を形成する。アノテーション１５０はベクトルであり、各単語に対応するアノテーション１５０によって図に示すベクトル列１４４が形成される。出力系列処理部１２２はこのベクトル列１４４と、これらアノテーション１５０の各々に対して算出されるアテンションとによって単語ベクトル列１２６の各ベクトル、すなわち要約を構成する各単語を決定し出力する。順方向ＲＮＮ系列１４０及び逆方向ＲＮＮ系列１４２を用いることにより、ベクトル列１４４は各単語の前後双方の文脈に関する情報も含むことになる。
【００３３】
なお、要約システム４０のような構成を有するシステムの原型はDzmitry Bahdanau et al., "NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE," (https://arxiv.org/pdf/1409.0473.pdf)に詳細に開示されている。図２及び図３に示すシステムでは、要約原文の各単語について、入力文に含まれているか否かを示すフラグを付している点でDzmitry Bahdanau et al.による上記原型のシステムと異なる。
【００３４】
再び図１を参照して、因果関係ＤＢ７２は、ウェブから予め大量に抽出した因果関係表現を記憶している。ここで、因果関係表現とは、原因部＋因果関係を表す何らかの単語＋結果部からなり、事物、事象、事物又は事象の性質等諸々の事柄の間に因果関係が存在することを表す１〜２文からなる表現のことをいう。例えば日本語であれば、因果関係表現とは「地球温暖化が進んだために台風が強力になった」のような文であり、この内「地球温暖化が進んだ」を原因部、「ため」を因果関係を発見するための手掛かりとなる手掛かり語、「台風が強力になった」を結果部と呼ぶ。これら因果関係表現の例文は、予め準備された因果関係知識に基づいて、特開２０１５−０１１４２６号公報に開示された方法により収集できる。本実施の形態における因果関係知識とは、「ＡのためにＢになった。」、「ＡなのでＢになった。」、「ＡがＢしたため、ＣがＤとなった。」「ＡがＢした。その理由はＣがＤとなったことだ。」等の規則により構成される知識である。テキスト中にこれらの規則に適合するような表現があった場合には、その表現が因果関係表現の例文になっていると判定できる。因果関係知識を構成する各規則に適合するテキストは、原因部と結果部とを含む。この原因部と結果部とは、通常は文型から容易に分離できるが、修飾語や複文の因果関係を含まない節等の不要な表現を取り除いたより適切な原因部と結果部を得るために、機械学習の技術によって作られた認識器を用いて分離しても良い。なお、因果関係知識は、後述するようにより一般的な言語知識の一部をなすと考えられる。
【００３５】
訓練装置４２では、２通りの方法で訓練データを生成する。第１は、入出力部６０、既存の情報検索装置６６、及び人手による訓練データ生成部７０を用いた手法であり、第２は、因果関係ＤＢ７２及び訓練データ生成部７６を用いたものである。
【００３６】
人手による訓練データ生成部７０による訓練データの生成処理の概略は以下のとおりである。訓練データを生成しようとするユーザは、既存の情報検索装置６６に対する「なぜ」を含む質問（原因、理由を聞く質問）である入力文６２を、入出力部６０を介して既存の情報検索装置６６に入力する。既存の情報検索装置６６は、この質問に対してウェブアーカイブ６４から要約対象文６８をいくつか検索する。すなわちこの要約対象文６８の各々は、ユーザが入力した「なぜ」を含む質問に対する回答となる文（回答文）を含むものと考えられる。ユーザは、入出力部６０を用いて人手による訓練データ生成部７０との処理により、要約対象文６８の内で、入力文６２に対する回答文として適切なものについて、その応答文を要約して要約対象文６８を要約した後の出力文とすることにより、要約システム４０のための訓練データ項目を生成する。ここではこの要約はユーザが行う。
【００３７】
例えば、入力文６２が「津波が起こるのはなぜ？」であり、要約対象文６８が以下の３つの文章であったものとする。なお、以下に示す要約対象文の例は１〜２文の短い文章であるが、実際には３文以上の比較的長い文章を用いても良い。
【００３８】
第１の要約対象文：震源の真上の海水が上下に変動したために起こる大波を津波といいます。
【００３９】
第２の要約対象文：スマトラ地震では津波によって悲惨な事態が起きました。地震かみなり火事親父といいますが、津波もここに加えるべきかも。
【００４０】
第３の要約対象文：過去には大量の土石流が海水に流れ込んだことによって津波が起きたこともあります。
【００４１】
これらの内、第１の要約対象文からは以下のような第１の出力文が得られたものとする。
【００４２】
第１の出力文：震源の真上の海水が上下に変動したため
また第３の要約対象文からは以下のような第２の出力文が得られたものとする。
【００４３】
第２の出力文：土石流が海に流れ込んだため
そして、入力文６２と第１の要約対象文と第１の出力文とを組合せて要約システム４０の第１の訓練データ項目とし、入力文６２と第３の要約対象文と第２の出力文とを組合せて要約システム４０の第２の訓練データ項目とする。第２の要約対象文には入力文６２に対する適切な回答文が含まれないため、訓練データ項目の生成には用いない。
【００４４】
一方、訓練データ生成部７６による訓練データの生成については、本実施の形態では、図４及び図５に制御構造を示すプログラムによりバッチ的に行う。図４を参照して、このプログラムは、設定ファイル７４から１グループに含まれる文数を読出すステップ１７０を含む。ここでいう「グループ」とは、本実施の形態における独特な考え方を示す。本実施の形態では、一度に複数個の因果関係表現の例文を因果関係ＤＢ７２から抽出する。この複数個の例文が１グループを構成する。１グループを構成する複数個の例文の各々から、入力文及び出力文を機械的に生成する。その後、１グループを構成する例文を全て接続して１つの要約対象文を生成する。そして、得られた入力文の１つ及びその入力文に対応する１つの出力文と、接続後の要約対象文とをひとまとめにして１つの訓練データ項目を生成する。この処理を１グループに含まれる例文の数だけ繰返す。したがって、例えば１グループが３つの例文を含む場合、その１グループからは３つの訓練データ項目が生成される。この生成過程については図６を参照して後述する。
【００４５】
このプログラムはさらに、図１に示す因果関係ＤＢ７２に接続するステップ１７２と、因果関係ＤＢ７２から全ての因果関係表現の例文を読出し、メモリに記憶するステップ１７４と、メモリに記憶された全ての因果関係表現をランダムな順番にシャッフルするステップ１７６と、シャッフルされた因果関係表現を先頭から設定ファイル７４により設定された文数ごとにグループ化するステップ１７８とを含む。
【００４６】
このプログラムはさらに、以上の処理により形成された全てのグループに対し、以下に説明する訓練データ作成処理１８２を実行して処理を終了するステップ１８０を含む。
【００４７】
図５を参照して、訓練データ作成処理１８２は、処理対象のグループの全例文を読出すステップ２００と、読出した例文を全て接続するステップ２０２と、ステップ２００で読出した各例文に対して以下の例文加工処理２０６を実行して処理を終了するステップ２０４とを含む。ステップ２０２での例文の接続はどのような順番で行ってもよい。例えば読出された順番にしたがって例文を接続すればよい。
【００４８】
例文加工処理２０６は、処理中の例文の原因部と結果部とを分離するステップ２２０と、この結果部を用いて質問文を作成するステップ２２２とを含む。ステップ２２２では、例えば結果部の先頭に「なぜ」という疑問詞を追加することで質問文を生成できる。この質問文が訓練データ項目の入力文となる。
【００４９】
例文加工処理２０６はさらに、ステップ２２２で作成された質問文を入力文に、ステップ２０２で作成された連結後の文を要約対象文に、ステップ２２０で結果部と分離された原因部を回答文（要約システム４０の正しい出力文として想定される文）に、それぞれ設定するステップ２２４と、ステップ２２４で作成されたデータを１組の訓練データ項目として訓練データＤＢ７８に追加するステップ２２６とを含む。
【００５０】
図６は、図５に示す処理を英語の場合を例として説明する模式図である。図６を参照して、３つの因果関係表現の例文２４０、２４２及び２４４が１つのグループを構成するものとする。これら３つの例文をマージ（連結）することにより、要約対象文２４６が作成される。
【００５１】
第１の例文２４０が因果関係表現であることを示す単語は「ｓｉｎｃｅ」である。この前が結果部、後が原因部である。そこで、英語の場合には結果部の先頭に疑問詞である「Ｗｈｙ」を追加することで入力文２８０を作成する。結果部については、先頭に原因であることを示す単語「Ｂｅｃａｕｓｅ」を追加することで出力文２８２が作成される。この入力文２８０と出力文２８２、さらに要約対象文２４６と同じ要約対象文２８４を一組とすることで第１の訓練データ項目２６０が作成される。
【００５２】
同様の手法で、第２の例文２４２からは入力文２９０及び出力文２９２が作成され、要約対象文２４６と同じ要約対象文２８６と組合せることで第２の訓練データ項目２６２が作成される。
【００５３】
最後に、第３の例文２４４からは入力文３００及び出力文３０２が作成され、要約対象文２４６と同じ要約対象文２８８と組合せることで第３の訓練データ項目２６４が作成される。
【００５４】
図７は、図１に示す要約システム訓練部８０としてコンピュータを機能させるためのコンピュータプログラムの制御構造を示す。図７を参照して、このプログラムは、図１に示す訓練データＤＢ７８に接続するステップ３５０と、訓練データＤＢ７８から各訓練データ項目を読出し、メモリに格納するステップ３５２と、各訓練データ項目に対してＲＮＮパラメータの更新処理３５６を実行するステップ３５４とを含む。
【００５５】
ＲＮＮパラメータの更新処理３５６は、処理中の訓練データ項目に含まれる入力文を形態素解析し単語レベルまで分割し品詞情報等を付すステップ３７０と、同じく訓練データ項目に含まれる要約対象文を形態素解析し単語レベルまで分割し、品詞情報等を付すステップ３７２と、ステップ３７２で得られた要約対象文の各単語にフラグ＝０を付すステップ３７４と、入力文中の各内容語に対して、要約対象文中の同じ単語を検索し、見つかったときには要約対象文中のその単語のフラグをセット（フラグ＝１）する処理３７８を実行するステップ３７６とを含む。
【００５６】
このプログラムはさらに、処理中のグループの要約原文を単語ベクトル列化するステップ３８２と、ステップ３８２の処理と並列に、処理中のグループの要約原文にフラグに応じたベクトルを付加するステップ３８３と、ステップ３８２およびステップ３８３で得られた単語ベクトルの数に応じた数だけ、入力系列処理部１２０のＲＮＮモジュールを展開するステップ３８４とを含む。なお、このステップ３８４を行う前に、線形変換、非線形変換を問わず単語ベクトルを変換する処理を行っても良い。このプログラムはさらに、一方では図２に示す順方向ＲＮＮ系列１４０に要約原文の単語ベクトルを順に入力し、同時に逆方向ＲＮＮ系列１４２には要約原文の単語ベクトルを逆順に入力するステップ３８６及び３８８と、ステップ３８６及び３８８の処理の結果、入力系列処理部１２０の順方向ＲＮＮ系列１４０及び逆方向ＲＮＮ系列１４２の出力に得られたベクトルを接続するステップ３９０とを含む。
【００５７】
ＲＮＮパラメータの更新処理３５６はさらに、ステップ３８３までの処理により得られたベクトル列１４４を図２に示す出力系列処理部１２２に入力してその出力である単語ベクトル列１２６を得るステップ３９４と、ステップ３９４で得られた単語ベクトル列１２６と、訓練データ項目中の出力文との誤差に基づき、順方向ＲＮＮ系列１４０、逆方向ＲＮＮ系列１４２、及び出力系列処理部１２２を構成するＲＮＮのパラメータを誤差逆伝播法により、誤差が小さくなるように更新してこの訓練データによる処理を終了するステップ３９６とを含む。すなわち、出力文は訓練における教師データとして扱われる。このＲＮＮのパラメータの更新は、入力系列処理部１２０の順方向ＲＮＮ系列１４０を構成する基本となる１つのＲＮＮのパラメータ、入力系列処理部１２０の逆方向ＲＮＮ系列１４２を構成する基本となる１つのＲＮＮのパラメータ、及び出力系列処理部１２２を構成する基本となる１つのＲＮＮのパラメータの更新量をそれぞれ計算することにより行われる。なお、ステップ３８４を行う前に、単語ベクトルを変換する処理を行った場合は、その際に使用された重み行列及びバイアス項の更新量も合わせて計算する。
【００５８】
〈質問応答装置４４の構成〉
図１を参照して、質問応答装置４４は、対話形式でユーザから入力文９２を受ける入出力装置９０と、ウェブ上から収集された大量のテキストを格納したウェブアーカイブ９４と、質問文である入力文９２に応答して、ウェブアーカイブ９４から入力文９２に対する回答と考えられる所定個数の連続した文からなる文章（「パッセージ」と呼ぶ。）を抽出し、要約原文９８として出力する既存の情報検索装置９６とを含む。各パッセージは３個〜８個程度の複数個の連続する文からなる。本実施の形態ではこの個数は固定されている。しかし、もちろんこの個数を固定しなくともよい。また固定する場合でも個数が上記範囲に限定される訳ではない。
【００５９】
質問応答装置４４はさらに、要約原文９８と、入力文９２とを受け、これらから要約システム訓練部８０による処理と同様にして要約システム４０への入力単語ベクトルを作成する入力ベクトル生成部１００と、入力ベクトル生成部１００により生成された入力単語ベクトルを受け、その要約を出力文４６として出力する、訓練装置４２による訓練済の要約システム４０とを含む。
【００６０】
入力ベクトル生成部１００の機能は、図７のステップ３７０〜３７８までを実現するものであり、図７と重複するのでこの機能を実現するプログラムの制御構造についてはここでは繰り返さない。
【００６１】
＜動作＞
この第１の実施の形態に係る質問応答システム３０は以下のように動作する。最初に訓練装置４２の動作について説明する。ウェブアーカイブ６４には予めウェブから収集された大量のテキストデータが格納されている。因果関係ＤＢ７２には、予め上記した特開２０１５−０１１４２６号公報に開示された方法等により因果関係表現の例文が格納されている。また、設定ファイル７４には、１グループを構成する例文数が予め書き込まれている。
【００６２】
〈人手による訓練データ生成〉
入出力部６０及び人手による訓練データ生成部７０を用いた人手による訓練データ項目の生成については、訓練装置４２の構造の説明の際に既に記載したのでここでは繰り返さない。
【００６３】
〈訓練データ生成部７６による訓練データ生成〉
訓練データ生成部７６による訓練データ項目の生成は以下のようにして行われる。図４を参照して、設定ファイル７４から１グループに含まれる文数が読出される（ステップ１７０）。さらに、訓練データ生成部７６は図１に示す因果関係ＤＢ７２に接続する（ステップ１７２）。訓練データ生成部７６は因果関係ＤＢ７２から全ての因果関係表現の例文を読出し、メモリに記憶する（ステップ１７４）。訓練データ生成部７６はさらに、メモリに記憶された全ての因果関係表現をランダムな順番にシャッフルする（ステップ１７６）。続いて訓練データ生成部７６は、シャッフルされた因果関係表現を先頭から設定ファイル７４により設定された文数ごとにグループ化する（ステップ１７８）。さらに訓練データ生成部７６は、以上の処理により形成された全てのグループに対し、訓練データ作成処理１８２を実行する（ステップ１８０）。
【００６４】
図５を参照して、訓練データ作成処理１８２では、訓練データ生成部７６は、処理対象のグループの全例文を読出す（ステップ２００）。訓練データ生成部７６はさらに、ここのステップで読出した例文を全て接続する（ステップ２０２）。続いて訓練データ生成部７６は、ステップ２００で読出した各例文の原因部と結果部とを分離する（ステップ２２０）。この分離箇所は前述したとおり文型から容易に判定できるが、各因果関係規則に分離規則を付与しておき、その分離規則を用いるようにしてもよいし、前述したとおり、機械学習の技術によって作られた認識器を用いて分離しても良い。訓練データ生成部７６は、この結果部を用いて質問文を作成する（ステップ２２２）。訓練データ生成部７６はさらに、ステップ２２２で作成された質問文を入力文に、ステップ２０２で作成された連結後の文を要約対象文に、ステップ２２０で結果部と分離された原因部を出力文に、それぞれ設定し（ステップ２２４）、作成されたデータを１組の訓練データ項目として訓練データＤＢ７８に追加する（ステップ２２６）。
【００６５】
以上の処理全てのグループに対して行うことで因果関係ＤＢ７２から訓練データが生成される。
【００６６】
〈要約システム訓練部８０の動作〉
図７を参照して、要約システム訓練部８０は以下のように動作する。要約システム訓練部８０は、図１に示す訓練データＤＢ７８に接続し（ステップ３５０）、訓練データＤＢ７８から各訓練データ項目を読出してメモリに格納する（ステップ３５２）。要約システム訓練部８０はさらに、各訓練データ項目に対してＲＮＮパラメータの更新処理３５６を実行する（ステップ３５４）。
【００６７】
ステップ３５４では、要約システム訓練部８０は、処理中の訓練データ項目に含まれる入力文を形態素解析し単語レベルまで分割し品詞情報等を付す（ステップ３７０）。要約システム訓練部８０はさらに、同じ訓練データ項目に含まれる要約対象文を形態素解析し単語レベルまで分割して品詞情報等を付す（ステップ３７２）。要約システム訓練部８０は、ステップ３７２で得られた要約対象文の各単語にフラグ＝０を付し（ステップ３７４）、入力文中の各内容語に対して、要約対象文中の同じ単語を検索し、見つかったときには要約対象文中のその単語のフラグをセット（フラグ＝１）する（ステップ３７６）。
【００６８】
要約システム訓練部８０はさらに、処理中のグループの要約対象文をベクトル化し（ステップ３８２）、同時に、このベクトルに、対応する単語に付されていたフラグの値に対応するフラグベクトルを付加する（ステップ３８３）。さらに、ステップ３８２及び３８３で得られた単語ベクトルの数に応じた数だけ、入力系列処理部１２０のＲＮＮモジュールを展開する（ステップ３８４）。要約システム訓練部８０はさらに、図２に示す順方向ＲＮＮ系列１４０に要約対象文の単語ベクトルを順に入力し（ステップ３８６）、同時に逆方向ＲＮＮ系列１４２には要約対象文の単語ベクトルを逆順に入力する（ステップ３８８）。要約システム訓練部８０は、この処理の結果、入力系列処理部１２０の順方向ＲＮＮ系列１４０及び逆方向ＲＮＮ系列１４２の出力に得られたベクトルを接続する（ステップ３９０）。
【００６９】
要約システム訓練部８０はさらに、ステップ３９０までの処理により得られたベクトル列１４４を図２に示す出力系列処理部１２２に入力してその出力である単語ベクトル列１２６を得て（ステップ３９４）、この単語ベクトル列１２６と、訓練データ項目の出力文との誤差に基づき、順方向ＲＮＮ系列１４０、逆方向ＲＮＮ系列１４２、及び出力系列処理部１２２を構成するＲＮＮのパラメータを誤差逆伝播法により更新してこの訓練データ項目による処理を終了する（ステップ３９６）。
【００７０】
［日本語における訓練データ作成例］
以下、日本語において訓練データを作成する場合の過程の一例を説明する。この例では、１グループを以下に示されるように３例文で構成するものとする。なお、以下の例文は「（原因部）」、「（結果部）」、「／」等を含むが、これらは説明の便宜上付したものであり、例文にこれらを含ませておく必要はない。
【００７１】
第１の例文：「（原因部）今後はプライム案件の割合を増やしていくため、／（結果部）上流工程に携われるチャンスが豊富にあります。」
第２の例文：「（原因部）緑茶は熱に弱いので、／（結果部）生の葉を少しだけ乾燥させて溶剤に溶け込ませて抽出しました。」
第３の例文：「（結果部）アルバイトの子が退職した。／（原因部）その理由は社員登用制度がない事」
これら結果部から先頭に「なぜ」という疑問詞を追加するという機械的な変形で得られる入力文は以下の３つである。
【００７２】
第１の入力文：「なぜ上流工程に携われるチャンスが豊富にあります。」
第２の入力文：「なぜ生の葉を少しだけ乾燥させて溶剤に溶け込ませて抽出しました。」
第３の入力文：「なぜアルバイトの子が退職した。」
さらに、原因部から機械的な変形で得られる出力文は以下のとおりである。
【００７３】
第１の出力文：「今後はプライム案件の割合を増やしていくため」
第２の出力文：「緑茶は熱に弱いので」
第３の出力文：「その理由は社員登用制度がない事」
３つの因果関係表現を結合すると以下のような要約対象文が得られる。
【００７４】
「今後はプライム案件の割合を増やしていくため、上流工程に携われるチャンスが豊富にあります。緑茶は熱に弱いので、生の葉を少しだけ乾燥させて溶剤に溶け込ませて抽出しました。アルバイトの子が退職した。その理由は社員登用制度がない事」
この要約対象文と、第１の入力文及び第１の出力文とを組合せることで第１の訓練データ項目が得られる。この要約対象文と、第２の入力文及び第２の出力文とを組合せることで第２の訓練データ項目が得られる。この要約対象文と、第３の入力文及び第３の出力文とを組合せることで第３の訓練データ項目が得られる。このようにして、因果関係表現の例文が複数個あると、それらから機械的な変形のみにより大量の訓練データ項目を生成できる。
【００７５】
もっとも、このようにして得られた訓練データを使用しても訓練の効果が上がらなければ意味がない。この点では、実験により要約の精度が有意に上がることを確認した。この理由は以下の様に考えられる。
【００７６】
例えば、要約原文内の複数箇所に内容の異なる原因／結果を表す表現が出現する場合がある。このような要約原文に対して、要約システムが入力文に対する適切な回答を含む原因を表す表現を認識できなければ、要約の誤りにつながる。上記実施の形態では、１つの訓練データ項目の要約対象文中に、複数種類の因果関係表現が出現する。それらについて繰り返し訓練することで、対象の文中に複数の原因／結果を表す表現が出現している場合でも、入力文に対する回答を含む適切な表現を認識し、要約の精度の低下を防ぐことが出来たと考えられる。特に入力文の生成は機械的な変形であるため自然言語文としては不自然になるが、要約システムの訓練ではそうした不自然さは大きな問題にはならず、むしろ訓練データ項目が多様かつ大量になることの効用が大きいと考えられる。
【００７７】
［第２の実施の形態］
上記第１の実施の形態では、図１に示す因果関係ＤＢ７２中の因果関係表現を最初にランダムにシャッフルした後、先頭から順番にグループ化している。こうすることで、各因果関係表現は１つの訓練データ項目にのみ属することになる。しかし本発明はそのような実施の形態には限定されない。例えば因果関係ＤＢ７２からの読出順序自体をランダム化することも可能である。以下の第２の実施の形態はそうした方式を採用したものである。
【００７８】
図８に、本実施の形態において図１に示す訓練データ生成部７６を実現する処理の概略フローチャートを示す。この処理は図４に示すものと置き換えることができる。図８において、図４に示す処理又はステップと同じ処理又はステップには図４と同じ参照番号を付してある。なお、因果関係ＤＢ７２から因果関係表現の例文を読出す際には、できるだけ例文が重複しない方が好ましい。そこで本実施の形態では、作成する訓練データ項目の数（グループ数）に上限を設け、その範囲で因果関係ＤＢ７２から例文を読出すようにしている。そのため、グループ数の上限を予め図１に示す設定ファイル７４に書き込んでおくこととする。
【００７９】
図８に示す処理が図４に示す処理と異なるのは、ステップ１７０の前に、設定ファイル７４からグループ数の上限を設定ファイル７４から読出すステップ４００をさらに含むことと、図４に示すステップ１７４〜１７８に代えて、因果関係ＤＢ７２から読出された例文のグループ数がステップ４００で設定ファイル７４から読出された上限数に達するまでグループ蓄積処理４０４を実行するステップ４０２を含むこととである。
【００８０】
グループ蓄積処理４０４は、ステップ１７０で読出された、１グループ内の例文数として設定された例文をランダムに因果関係ＤＢ７２から読出すステップ４１０と、ステップ４１０で読出された例文をグループ化して図示しない外部記憶装置又はメモリに蓄積するステップ４１２とを含む。
【００８１】
図８に示すようなプログラムによっても第１の実施の形態と同様の訓練データ項目が生成されることは明らかである。ただし、生成される訓練データ項目の数は第１の実施の形態より少なくなる。なお、この第２の実施の形態では、グループ数の上限が定められているため、同じ例文が因果関係ＤＢ７２から読出される可能性は低い。しかし、そうした可能性は０ではない。そこで、一度読出したことがあるデータが再度読出された場合には、そのデータを採用せず、新たにランダムなデータを読出すようにしてもよい。
【００８２】
以上の実施の形態では、英語及び日本語を例として挙げた。しかし、以上の説明からあきらかなように、因果関係表現の手掛かりが文から取得できるような言語であればどのような言語についても適用できる。
【００８３】
また上記実施の形態では、人手による訓練データの生成と因果関係表現の例文からの訓練データの生成とをともに行っている。しかし本発明はそのような実施の形態には限定されない。質問のタイプを考慮することにより、因果関係表現の例文から自動的に生成した訓練データのみを使用しても良い。
【００８４】
また、上記実施の形態では因果関係知識を用いているが、これはなぜ型質問に対する応答を要約することを目的としているためである。想定する質問のタイプにあわせて因果関係以外の関係も利用できる。そのためには言語知識と呼ばれる知識を用いればよい。言語知識とは因果関係知識の上位概念に相当するものであって、ある２つのテキストの間に特定の関係が成り立つか否かを判断するために必要となる規則の集合のことをいう。各規則は事物と事物との間のある関係性を表す。あるテキストがこれら言語知識の規則のいずれかに適合すれば、そのテキストのその適合部分は該当する規則が表す関係性の一表現であると判定できる。例えば材料関係知識（「ＡはＢから作られる。」等）、使用関係知識（「ＡはＢのために用いられる。」等）、抑制関係知識（一方が他方を抑制する関係。「ＡがＢを防ぐ。」等）、必要関係（「ＡはＢのために必要である。」等）、方法関係（一方が他方を実現するための方法である関係。「方法Ａで目的Ｂを実現する。」等）等である。
【００８５】
上記した例から分かるように、言語知識は、第１の部分表現と、第２の部分表現と、第１及び第２の部分表現の間の関係を示す手掛かり表現とを含む。因果関係表現の場合には第１の部分表現は原因部であり、第２の部分表現は結果部であり、手掛かり表現は「なので」、「ために」等の特定の表現のいずれかである。ここで、Ａ、Ｂ等はワイルドカード的な変数を表す。Ａ、Ｂがどのような値であれ、あるテキストが上記した規則のいずれかに当てはまれば、そのテキストはその規則により表される言語知識の例文ということになる。これらの言語知識（規則）を、因果関係表現と同様に利用して要約システムの訓練データを生成することで、要約システムがより広い範囲の分野の質問に対する応答文の要約を適切に行えるようになる。
【００８６】
なおこの場合、入力文及び出力文の作成方法は各知識により異なる。例えば必要関係の場合、「ＡはＢのために必要である。」という形の表現からは、「Ｂのためには何が必要ですか？」のように入力文を作成し、「ＢのためにはＡが必要である。」のように出力文を作成する。この例のような形の例文の場合には、例文そのものを出力文としてもよい。これ以外の知識の場合にも同様にそれぞれふさわしい形の入力文及び出力文を作成することが必要である。ただし、要約対象文として１グループに属する言語知識から得た入力文を質問応答システムに入力して得られた応答文を全て接続して要約対象文とする点は上記実施の形態と同様である。
【００８７】
具体的な例を挙げる。例えば、方法関係データについて入力文及び出力文を作成する例としては以下のような例が考えられる。
【００８８】
第１の例文：「（方法部）企業に助成を行うという方法で、／（目的部）職場づくりを応援する。」
第２の例文：「（方法部）塩水に漬けることで、／（目的部）アクを取る。」
第３の例文：「（方法部）魑魅魍魎を討伐するという手段で、／（目的部）英雄になる。」
これら目的部から先頭に「どのようにして」という疑問詞を追加するという機械的な変形で得られる入力文は以下の３つである。
【００８９】
第１の入力文：「どのようにして職場づくりを応援する。」
第２の入力文：「どのようにしてアクを取る。」
第３の入力文：「どのようにして英雄になる。」
さらに、方法部から機械的な変形で得られる出力文は以下のとおりである。
【００９０】
第１の出力文：「企業に助成を行うという方法で」
第２の出力文：「塩水に漬けることで」
第３の出力文：「魑魅魍魎を討伐するという手段で」
上記した例文をつなげることで得られる要約対象文は以下のようになる。
【００９１】
「企業に助成を行うという方法で、職場づくりを応援する。塩水に漬けることで、アクを取る。魑魅魍魎を討伐するという手段で、英雄になる。」
この要約対象文に、第１の入力文と第１の出力文とを付加することで第１の訓練データができる。要約原文に、第２の入力文と第２の出力文とを付加することで第２の訓練データができる。さらに、この要約原文に、第３の入力文と第３の出力文とを付加することで第３の訓練データができる。
【００９２】
なお、方法関係データを作成するための例文は、「という方法で」、「ことで」、「という手段で」等の手掛かり表現を用いることで自動的に収集できる。
【００９３】
なお、方法関係データについてももちろんこのように人工的に得られた訓練データだけではなく、人手により作成した以下のような例を訓練データとして追加してもよい。
【００９４】
入力文：「どのようにして風邪を治す」
要約原文：「冬になり風邪を引きやすい季節になりましたが、皆様どのようにしてお過ごしでしょうか。／（改行）私はこの季節になると必ず喉風邪になるのですが、生姜湯を飲んでおけば喉の腫れは引きますし、風邪自体も布団で温まることで比較的すぐに治ります。」
出力文：「布団で温まることで」
他の種類の知識の場合でも同様の考え方で入力文、要約原文、出力原文からなる訓練データを準備すればよい。
【００９５】
また、上記実施の形態では、訓練データ生成の際の各グループに含まれる、因果関係及び方法関係等のような関係性の数は一定（複数、例えば３個）であった。しかし本発明はそのような実施の形態には限定されない。各グループには、因果関係及び方法関係等のように、言語知識によって判別され得る複数の異なった関係性が同時に含まれても良い。またこの際、一部のグループに含まれる関係性が１個のみであってもよい。少なくとも一部のグループに含まれる関係性の数が複数個であればよい。ただし、全てのグループが複数の関係性を含む方が好ましい。
【００９６】
上記実施の形態では、コンピュータプログラムは一部を除き並列処理を想定していない。しかし、本発明はそうした実施の形態には限定されない。特にニューラルネットワークのように同種の計算を大量に行う場合には、並列処理により効率を高めることが通常である。
【００９７】
さらに、上記実施の形態では、ＲＮＮを要約システム４０を構成するモジュールとして説明した。ＲＮＮとしては、例えばＧａｔｅｄ  Ｒｅｃｕｒｒｅｎｔ  Ｕｎｉｔ，ＬＳＴＭ（Ｌｏｎｇ  Ｓｈｏｒｔ−Ｔｅｒｍ  Ｍｅｍｏｒｙ）等を使用することが望ましい。しかし、それらに限定されるものではなく、前後の文脈をある程度のスパンで記憶できるものであればどのようなものでもよい。
【００９８】
［コンピュータによる実現］
上記した実施の形態に係る訓練装置４２及び質問応答装置４４は、それぞれコンピュータハードウェアと、そのハードウェア上でＣＰＵ（中央演算処理装置）及び／又はＧＰＧＰＵ（汎用画像処理装置）による実行されるコンピュータプログラムとにより実現できる。図８及び図９に上記訓練装置４２及び質問応答装置４４を実現するコンピュータハードウェアを示す。
【００９９】
図９を参照して、このコンピュータシステム４３０は、メモリポート４５２及びＤＶＤ（Digital  Versatile  Disk）ドライブ４５０を有するコンピュータ４４０と、キーボード４４６と、マウス４４８と、モニタ４４２とを含む。
【０１００】
図１０を参照して、コンピュータ４４０は、メモリポート４５２及びＤＶＤドライブ４５０に加えて、ＣＰＵ４５６及びＧＰＧＰＵ４５７と、ＣＰＵ４５６、ＧＰＧＰＵ４５７、メモリポート４５２及びＤＶＤドライブ４５０に接続されたバス４６６と、ブートプログラム等を記憶する読出専用メモリであるＲＯＭ４５８と、バス４６６に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するコンピュータ読取可能な記憶媒体であるランダムアクセスメモリ（ＲＡＭ）４６０と、ハードディスク４５４を含む。コンピュータ４４０はさらに、いずれもバス４６６に接続され、他端末との通信を可能とするネットワーク４６８への接続を提供するネットワークインターフェイス（Ｉ／Ｆ）４４４と、外部との音声信号の入出力を行うための音声Ｉ／Ｆ４７０とを含む。
【０１０１】
コンピュータシステム４３０を上記した実施の形態に係る訓練装置４２、及び質問応答装置４４の各機能部として機能させるためのプログラムは、ＤＶＤドライブ４５０又はメモリポート４５２に装着される、いずれもコンピュータ読取可能な記憶媒体であるＤＶＤ４６２又はリムーバブルメモリ４６４に記憶され、さらにハードディスク４５４に転送される。又は、プログラムはネットワーク４６８を通じてコンピュータ４４０に送信されハードディスク４５４に記憶されてもよい。プログラムは実行の際にＲＡＭ４６０にロードされる。ＤＶＤ４６２から、リムーバブルメモリ４６４から又はネットワーク４６８を介して、直接にＲＡＭ４６０にプログラムをロードしてもよい。また、上記処理に必要なデータ（ウェブアーカイブ６４及び９４、要約対象文６８、２４６、２８４、２８６、２８８、及び要約原文９８、因果関係ＤＢ７２、設定ファイル７４、訓練データＤＢ７８、ＲＮＮのパラメータ等）は、ハードディスク４５４、又はＲＡＭ４６０、ＣＰＵ４５６又はＧＰＧＰＵ４５７内のレジスタ等の所定のアドレスに記憶され、ＣＰＵ４５６又はＧＰＧＰＵ４５７により処理され、プログラムにより指定されるアドレスに格納される。最終的に訓練が終了した要約システムのパラメータは、例えばハードディスク４５４に格納されたり、ＤＶＤドライブ４５０及びメモリポート４５２をそれぞれ介してＤＶＤ４６２又はリムーバブルメモリ４６４に格納されたりする。又は、ネットワークＩ／Ｆ４４４を介してネットワーク４６８に接続された他のコンピュータ又は記憶装置に送信される。
【０１０２】
このプログラムは、コンピュータ４４０を、上記実施の形態に係る訓練装置４２及び質問応答装置４４として機能させるための複数の命令からなる命令列を含む。要約システム訓練部８０及び要約システム４０における数値演算処理は、ＣＰＵ４５６及びＧＰＧＰＵ４５７を用いて行う。ＣＰＵ４５６のみを用いてもよいがＧＰＧＰＵ４５７を用いる方が高速である。コンピュータ４４０にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ４４０上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ４４０にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体はこの実施の形態のシステム、装置及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の内、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記したシステム、装置又は方法としての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供してもよい。
【０１０３】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【０１０４】
３０  質問応答システム
４０  要約システム
４２  訓練装置
４４  質問応答装置
４６、２８２、２９２、３０２  出力文
６０  入出力部
６２、９２、２８０、２９０、３００  入力文
６４、９４  ウェブアーカイブ
６６、９６  情報検索装置
６８、２４６、２８４、２８６、２８８  要約対象文
７２  因果関係ＤＢ
７６  訓練データ生成部
７８  訓練データＤＢ
８０  要約システム訓練部
９０  入出力装置
９８  要約原文
１００  入力ベクトル生成部
１２０  入力系列処理部
１２２  出力系列処理部
１２４、１２６  単語ベクトル列
１４０  順方向ＲＮＮ系列
１４２  逆方向ＲＮＮ系列
１４４  ベクトル列
１５０  アノテーション
１８２  訓練データ作成処理
２０６  例文加工処理
２４０、２４２、２４４  例文
２６０、２６２、２６４  訓練データ項目
３５６  ＲＮＮパラメータの更新処理
４０４  グループ蓄積処理
【図１】
2019133229.tif 000003
【図２】
2019133229.tif 000004
【図３】
2019133229.tif 000005
【図４】
2019133229.tif 000006
【図５】
2019133229.tif 000007
【図６】
2019133229.tif 000008
【図７】
2019133229.tif 000009
【図８】
2019133229.tif 000010
【図９】
2019133229.tif 000011
【図１０】
2019133229.tif 000012