JP2019133229A - 質問応答システムの訓練データの作成方法及び質問応答システムの訓練方法 - Google Patents

質問応答システムの訓練データの作成方法及び質問応答システムの訓練方法 Download PDF

Info

Publication number
JP2019133229A
JP2019133229A JP2018012362A JP2018012362A JP2019133229A JP 2019133229 A JP2019133229 A JP 2019133229A JP 2018012362 A JP2018012362 A JP 2018012362A JP 2018012362 A JP2018012362 A JP 2018012362A JP 2019133229 A JP2019133229 A JP 2019133229A
Authority
JP
Japan
Prior art keywords
sentence
training data
question
training
expression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018012362A
Other languages
English (en)
Inventor
諒 石田
Ryo Ishida
諒 石田
健太郎 鳥澤
Kentaro Torisawa
健太郎 鳥澤
鍾勲 呉
Jong Hoon Oh
鍾勲 呉
龍 飯田
Ryu Iida
龍 飯田
カナサイ クルンカライ
Canasai Kruengkrai
カナサイ クルンカライ
ジュリアン クロエツェー
Kloetzer Julien
ジュリアン クロエツェー
豊 木俵
Yutaka Kidawara
豊 木俵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Information and Communications Technology
Original Assignee
National Institute of Information and Communications Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Institute of Information and Communications Technology filed Critical National Institute of Information and Communications Technology
Priority to JP2018012362A priority Critical patent/JP2019133229A/ja
Priority to PCT/JP2019/002454 priority patent/WO2019146754A1/ja
Publication of JP2019133229A publication Critical patent/JP2019133229A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】要約原文を短く適切に要約するよう要約システムを訓練する訓練データを効率的に生成する。【解決手段】方法は、大量の因果関係表現から、各々が複数の関係表現240,242,244を含むグループを抽出するステップと、各グループが含む関係表現240,242,244の各々から質問文280,290,300及び回答文282,292,302を作成するステップと、各グループが含む関係表現240,242,246を連結した文246を作成するステップと、それぞれ、各グループの各関係表現240,242,246から作成された質問文280,290,292を入力文、文246を要約対象文284,286,288、回答文282,292,302を教師データとする訓練データ項目260,262,264を作成するステップとを含む。【選択図】図6

Description

この発明は質問応答システムに関し、特に、質問に対して端的で短く精度の高い応答ができるように、情報検索装置の出力を要約するシステムに関する。
ユーザの音声に対して応答をしたり、検索したり、音楽を再生したりする装置の登場によって、質問応答システムに注目が集まっている。これら装置が実現している対話機能では、幅広いトピックの質問に対して応答することが可能となるように、オープンドメインのデータを用いることが望ましい。オープンドメインとは特定のジャンル(ドメイン)に限定されるものではないことをいう。
既存の質問応答システムは、ユーザが発話した文、例えば「りんごとは何?」に対して、インターネット上の百科事典的なページから「りんご」を説明したページのテキストを表示したりすることでユーザ発話に対処する。このようにオープンドメインデータを使用することで、最新の用語を含む幅広いトピックに対して適切な回答を与えることができる。
しかしこのような仕様は、通常は、インターネットから検索された比較的長い文章をディスプレイで見ることをユーザに要求する。特に、例えば上記したような「〜は何?」のように、事実に基づく回答を与えることが比較的優しい質問(「ファクトイド」型質問と呼ぶ。)と異なり、何かに関する理由を聞く質問のように、単に事実ではなく理由、方法等を聞く質問(「ノン・ファクトイド型」質問と呼ぶ。)の場合、ウェブページからの短い引用だけでは、質問に対するわかりやすい回答を得ることが難しい。したがって、ノン・ファクトイド型質問に対する回答は特に長くなりやすく、文章をディスプレイで見てさらにその解釈を行う必要が生ずる。その結果、こうした仕様の質問応答システムでは音声のみで操作を完結することができない。
こうした問題を解決するために、ユーザの発話した文に応じて端的で短い適切な回答を与えることができるシステムが得られれば好ましい。しかし現在の技術ではそのような質問応答システムの実現は困難である。
そのための1つの解決策として、情報検索装置の比較的長い出力を、システムの出力として利用するために、より短く要約することが考えられる。要約するシステムには、いわゆる機械学習により学習された要約規則を利用することができる。
そのような質問応答システムの一例が後掲の特許文献1に開示されている。特許文献1に開示された質問応答装置は、データベース型質問応答に関する。このデータベースには、<実体、属性、値>からなる情報が多数格納されている。例えば<鶴岡八幡宮、創建、康平6年(1063年)>という三つ組からなる情報である。これら三つ組の各々に、テキストと、その説明とが付されている。ユーザから与えられた質問(例えば「鶴岡八幡宮の創建はいつですか?」)を受けると、質問に含まれる要素の組合せから<鶴岡八幡宮、創建、?>という検索クエリを生成し、データベースからこの検索クエリに合致する情報(例えば<鶴岡八幡宮、創建、康平6年(1063年)>)を取り出す。この情報から、鶴岡八幡宮の創建が康平6年であるという回答を得ることができる。さらにこの三つ組に付されたテキスト又は説明を作業者に提示することで、端的な回答以外の情報を作業者に提供できる。特許文献1では、このテキストの内の1文を要約システムにより選択したものを作業者に提示することが開示されている。
また、他の質問応答システムの一例が特許文献2に開示されている。特許文献2に開示された質問応答装置は、データベース型質問応答に関する。このデータベースには、3個〜8個程度の複数個の連続する文からなるパッセージが多数含まれている。例えば「地震によって海底が大きく隆起することがあります。この時、押し上げられた分の海水は、必然的に同心円状に広がり波となります。この内、沿岸に到達した波が津波と呼ばれ、しばしば甚大な被害を引き起こすのです。」という文章がパッセージの一例である。特許文献2で開示されるシステムは、与えられた質問文、例えば「津波が起こるのはなぜ?」に対して適切なパッセージを選択し、パッセージのまま提示することを開示している。
このような質問応答システムは、上記したノン・ファクトイド型の質問に対処するために上記したような仕様になっている。ノン・ファクトイド型質問では、回答に必要な情報が一箇所に記載されている場合はほとんどなく、複数の文に分散している場合が多い。そこで、特許文献2では、想定される質問に対して回答するために必要な情報を含む連続する複数個の文からなるパッセージを多数記憶しておき、それらの中から適切なパッセージを選択して其の全体を表示する。
一方、上記したような目的のために音声対話システムを開発する場合、質問応答システムから得られるパッセージのような比較的長い文章を端的で短くかつ適切な回答に要約しなければならない。上で例として挙げたパッセージに対する適切な要約としては、例えば「海底が隆起し押し上げられた分の海水が波となるため」などが考えられる。しかし、この要約に含まれる表現はパッセージ中の全体に広く分散しており、要約を生成するために要求される回答の生成規則がより複雑になる。そのため、その規則をシステムに獲得させるために必要な訓練データの量が増大するという問題がある。
これに関連して、後掲の特許文献3には、統計モデルを用いた対話システムの学習のための、高品質な対話データを効率的に収集する発明が開示されている。特許文献3のシステムはクラウドソーシングを採用したものである。この発明では、対話データ収集に協力する作業者に対してある課題をシステムが提示する。それに対して作業者が発話を行い(又はテキストを入力し)、それに対する応答をシステムが生成する。その応答が作業者に提示される。その応答により課題が達成されていれば処理は一旦終了する。課題が達成されていなければ再び作業者が発話し、それに対する応答をシステムが生成する。こうした処理を課題が達成されるまで繰返す。課題が達成されたら、それまでの作業者とシステムとの応答が収集され、対話データとして記憶される。この結果、大量の訓練データを得ることが比較的低いコストで可能になる。
特開2016−133919号公報 特開2017−049681号公報 国際公開第2016−147400号パンフレット
上記した特許文献1に開示のシステムでは、予め多数の情報を収集し、所定のフォーマットでデータベースに記憶しておく必要がある。そのための作業量が大きくなるという問題がある。またテキストについても三つ組に付して予めデータベースに登録しておくため、オープンドメインの情報を用いることは難しい。仮にオープンドメインの情報を用いる場合でも、特許文献1に開示されたもののように1文のみを選択するだけでは、質問に対する適切な回答が与えられない可能性が高い。特許文献2に開示されたように回答として多数の文を選択することも可能だが、その場合、端的で短い回答を得るという目的は達成できない。提示する文を長くすれば正しい回答が得られる可能性は高くなるが、回答が長大になって質問応答システムで出力できなくなるという危険性もある。すなわち、特許文献2に開示されたシステムでは、端的で短い回答を得るには依然として不十分である。
一方、特許文献3に開示のシステムでは、結局、訓練データは作業者が作成することになる。最近のようにいわゆる人工知能的な処理により質問応答システムを訓練する際には、より多くの訓練データが必要となる。たとえクラウドソーシングを採用したとしても、人手による作業では収集できるデータ量に限りがあり、その品質にもばらつきが生ずる可能性がある。その結果、特許文献3に開示した方法では、効率的な訓練を行えるとは言い難い。
それ故に、本発明の目的は、質問応答システムの出力のようにやや長い文を、端的で短く適切に要約できるように質問応答システムを訓練するための訓練データを効率的に生成する方法を提供することである。
本発明の第1の局面に係る質問応答システムの訓練データの作成方法は、質問の形をした入力文に対して、当該入力文に対する回答を簡潔で短い出力文として返す質問応答システムを訓練するための訓練データを作成する、コンピュータによる方法である。質問応答システムは、質問の形をした入力文と、当該入力文に対する回答が何らかの形で記載されていると想定される比較的に長いオリジナル文章から、入力文に対する簡潔で短い回答である出力文を出力する。
この方法は、コンピュータが、事柄の間にある関係が存在することを表す関係表現を大量に記憶した関係表現記憶装置から、各々が複数の関係表現を含む複数のグループを抽出するステップと、コンピュータが、複数のグループの各々について、当該グループに含まれる複数の関係表現の各々から質問文及び当該質問文に対する回答文を作成するステップと、複数のグループの各々について、当該グループに含まれる複数の関係表現を互いに連結して訓練用のオリジナル文章を作成するステップと、コンピュータが、複数のグループの各々に含まれる複数の関係表現の各々について、当該関係表現から作成された質問文を入力文、オリジナル文章を要約対象、及び回答文を教師データとする訓練データ項目を作成し、訓練データ記憶装置に記憶するステップとを含む。
好ましくは、関係表現の各々は、第1の部分表現と、第2の部分表現とを含み、質問文及び当該質問文に対する回答文を作成するステップは、コンピュータが、複数のグループの各々について、当該グループに含まれる複数の関係表現の各々の第1の部分表現及び第2の部分表現を分離するステップと、第2の部分表現に所定の疑問詞を付することにより質問文を生成するステップと、第1の部分表現を回答文とするステップとを含む。
より好ましくは、関係表現は、事柄の間に因果関係が存在することを表す因果関係表現であり、第1の部分表現は原因部を含み、第2の部分表現は結果部を含む。抽出するステップは、コンピュータが、関係表現記憶装置から、各々が複数の因果関係表現を含む複数のグループを抽出するステップを含み、回答文を作成するステップは、コンピュータが、複数のグループの各々について、当該グループに含まれる複数の因果関係表現の各々の結果部及び原因部から、当該結果部に記載された事象の原因を問う質問文及び当該質問文に対して原因部に述べられた原因によって答える回答文をそれぞれ作成するステップを含む。
さらに好ましくは、関係表現は、事柄の間に、ある目的とその目的を達成するための方法とを表す方法関係が存在することを表す方法関係表現である。抽出するステップは、コンピュータが、関係表現記憶装置から、各々が複数の方法関係表現を含む複数のグループを抽出するステップを含み、第1の部分表現は方法部を含み、第2の部分表現は目的部を含む。回答文を作成するステップは、コンピュータが、複数のグループの各々について、当該グループに含まれる複数の方法関係表現の各々の目的部及び方法部から、目的部に記載された目的を達成する方法を問う質問文、及び当該質問文に対して方法部に述べられた方法によって答える回答文をそれぞれ作成するステップを含む。
好ましくは、関係表現の各々は、第1の部分表現で表される事柄及び第2の部分表現で表される事柄の間にある関係が存在することを示す手がかりとなる手掛かり表現を含み、分離するステップは、コンピュータが、複数のグループの各々について、当該グループに含まれる複数の関係表現の各々の第1の部分表現及び第2の部分表現を手掛かり表現に基づいて分離するステップとを含む。
本発明の第2の局面に係る質問応答システムの訓練方法は、上記したいずれかの方法及びまたは人手により作成された訓練データを用いてコンピュータが質問応答システムの訓練を行う方法である。この方法は、訓練データに含まれる訓練データ項目の各々について、コンピュータが、当該訓練データ項目を読出すステップと、コンピュータが、当該訓練データ項目に含まれるオリジナル文章内の単語に、当該訓練データ項目に含まれる入力文内の内容語と重複する単語か否かを示すフラグを付すステップと、コンピュータが、フラグが付されたオリジナル文章に対する質問応答システムからの出力文と、当該訓練データ項目に含まれる教師データとの誤差が小さくなるよう、質問応答システムの要約機能を規定するパラメータを更新するステップとを含む。
本発明の第1の実施の形態に係る質問応答システムのブロック図である。 図1に示す質問応答システムで使用される要約システムの概略構成を示すブロック図である。 図2に示す要約システムにおいて、入力系列処理部が出力するベクトル列を形成するベクトルの生成方法を模式的に示す図である。 図1に示す訓練データ生成部による訓練データ生成処理を実行するようコンピュータを機能させるコンピュータプログラムの制御構造を示すフローチャートである。 図4に示す訓練データ生成処理(182)を実行するようコンピュータを機能させるコンピュータプログラムの制御構造を示すフローチャートである。 図5に示す訓練データ生成処理(226)における訓練データ生成の詳細を示す模式図である。 図1に示す要約システム訓練部を実現するようコンピュータを機能させるためのコンピュータプログラムの制御構造を示すフローチャートである。 本発明の第2の実施の形態に係る質問応答システムの訓練データ生成部を実現するようコンピュータを機能させるためのコンピュータプログラムの制御構造を示すフローチャートである。 本発明の各実施の形態に係る質問応答システムを実現するためのコンピュータシステムの外観を示す図である。 図9に示すコンピュータのハードウェア構成を示すブロック図である。
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
以下に説明する各実施の形態に係る質問応答システムは汎用コンピュータとそのコンピュータにより実行されるコンピュータプログラムとにより実現される。しかし本発明はそのような実施の形態には限定されず、専用ハードウェアにより実現してもよい。
[第1の実施の形態]
<全体構成>
図1を参照して、本発明の第1の実施の形態に係る質問応答システム30は、質問と、その質問に対する回答としての比較的長い文章を受け、これらに基づいてその比較的長い文章を端的かつより簡潔で適切な文(1文〜2文)に要約する要約システム40と、要約システム40を訓練するための訓練装置42と、訓練済の要約システム40を組み込むことで、ユーザの入力文に対して端的で短くかつ適切な出力文46を出力する質問応答装置44とを含む。以下の説明では、訓練装置42と質問応答装置44とは同一のコンピュータにより実現されることを想定しているが、図1から明らかなように、訓練装置42と質問応答装置44とを分離してもよく、むしろ質問応答装置44は訓練装置42と分離して利用される方が通常である。
〈訓練装置42〉
訓練装置42は、インターネットから予め収集した大量のウェブページを記憶するウェブアーカイブ64と、対話型処理により、要約システム40の訓練のためのユーザ入力を受けてユーザによる入力文62を出力する入出力部60と、入力文62を受けて、ウェブアーカイブ64から入力文62に対する複数の要約対象文68を抽出し出力するための既存の情報検索装置66と、要約対象文68に対する入出力部60を用いたユーザ処理により要約システム40のための訓練データを生成し出力するための人手による訓練データ生成部70とを含む。本実施の形態では、要約対象文とは、訓練データ生成時に要約の対象となる文のことをいう。
訓練装置42はさらに、予め準備された因果関係表現の例文を大量に記憶した因果関係DB72と、訓練装置42の動作を規定するパラメータを記憶した設定ファイル74と、設定ファイル74を参照しながら、設定値にしたがって訓練データを生成し出力する訓練データ生成部76と、人手による訓練データ生成部70及び訓練データ生成部76が出力する訓練データを記憶する訓練データDB78と、訓練データDB78に記憶された訓練データを用いて要約システム40の訓練を行う要約システム訓練部80とを含む。
図2を参照して、要約システム40は、ニューラルネットワークの一種であるRNN(Reccurrent Neural Network)を1モジュールとして構成されるシステムである。要約システム40は、要約原文を表す単語ベクトル列124の入力を受けてベクトル列144を出力する入力系列処理部120と、ベクトル列144を受けて簡潔な要約文を表す単語ベクトル列126を出力する出力系列処理部122とを含む。単語ベクトルはいわゆるワンホットベクトル(1−of−K表現)でもよいし、いわゆる単語埋め込みベクトルでもよい。本実施の形態では、要約原文とは、要約システム40による要約の対象となるオリジナル文章である。
単語ベクトル列124は、本実施の形態では、要約原文の各単語を表すベクトルに、その単語が入力文62にも出現している場合には1、それ以外の場合には0を表すフラグベクトルが付された単語ベクトルからなる。すなわち要約システム40は、質問と、その質問に対する回答としての比較的長い要約原文とを受け、この要約原文から、より短く端的で適切な要約文を出力するという機能を持つ。
入力系列処理部120は単語ベクトル列124の各単語ベクトルを順に受け、順方向に出力を伝搬するよう接続される順方向RNN系列140と、単語ベクトル列124の各単語ベクトルを逆順に受け、逆方向に出力を伝搬するように接続される逆方向RNN系列142とを含む。一方、出力系列処理部122も単語ベクトル列124のベクトルを順に受けるRNNを含む。これらRNNのうち、順方向RNN系列140及び逆方向RNN系列142は、それぞれ同一のRNNモジュールを、入力される単語数に応じて複製したものからなる。したがってそれらの機能を規定するパラメータ(重み及びバイアス行列)は当然に全て等しい。また、出力系列処理部122を構成するRNNも、入力系列処理部120のRNNとは異なるが、同一のRNNモジュールを複製して得たものである。この基本となるRNNにより実現される要約機能を規定するパラメータを学習することが要約システム40の訓練の目的である。
図3を参照して、順方向RNN系列140及び逆方向RNN系列142には、それぞれフラグベクトルを付された単語ベクトルが入力される。順方向RNN系列140及び逆方向RNN系列142の対応するRNNはそれぞれ順方向出力ベクトル160及び逆方向出力ベクトル162を出力し、これらベクトルはこの順で連結される。これら連結されたベクトルは対応する単語のアノテーション150を形成する。アノテーション150はベクトルであり、各単語に対応するアノテーション150によって図に示すベクトル列144が形成される。出力系列処理部122はこのベクトル列144と、これらアノテーション150の各々に対して算出されるアテンションとによって単語ベクトル列126の各ベクトル、すなわち要約を構成する各単語を決定し出力する。順方向RNN系列140及び逆方向RNN系列142を用いることにより、ベクトル列144は各単語の前後双方の文脈に関する情報も含むことになる。
なお、要約システム40のような構成を有するシステムの原型はDzmitry Bahdanau et al., "NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE," (https://arxiv.org/pdf/1409.0473.pdf)に詳細に開示されている。図2及び図3に示すシステムでは、要約原文の各単語について、入力文に含まれているか否かを示すフラグを付している点でDzmitry Bahdanau et al.による上記原型のシステムと異なる。
再び図1を参照して、因果関係DB72は、ウェブから予め大量に抽出した因果関係表現を記憶している。ここで、因果関係表現とは、原因部+因果関係を表す何らかの単語+結果部からなり、事物、事象、事物又は事象の性質等諸々の事柄の間に因果関係が存在することを表す1〜2文からなる表現のことをいう。例えば日本語であれば、因果関係表現とは「地球温暖化が進んだために台風が強力になった」のような文であり、この内「地球温暖化が進んだ」を原因部、「ため」を因果関係を発見するための手掛かりとなる手掛かり語、「台風が強力になった」を結果部と呼ぶ。これら因果関係表現の例文は、予め準備された因果関係知識に基づいて、特開2015−011426号公報に開示された方法により収集できる。本実施の形態における因果関係知識とは、「AのためにBになった。」、「AなのでBになった。」、「AがBしたため、CがDとなった。」「AがBした。その理由はCがDとなったことだ。」等の規則により構成される知識である。テキスト中にこれらの規則に適合するような表現があった場合には、その表現が因果関係表現の例文になっていると判定できる。因果関係知識を構成する各規則に適合するテキストは、原因部と結果部とを含む。この原因部と結果部とは、通常は文型から容易に分離できるが、修飾語や複文の因果関係を含まない節等の不要な表現を取り除いたより適切な原因部と結果部を得るために、機械学習の技術によって作られた認識器を用いて分離しても良い。なお、因果関係知識は、後述するようにより一般的な言語知識の一部をなすと考えられる。
訓練装置42では、2通りの方法で訓練データを生成する。第1は、入出力部60、既存の情報検索装置66、及び人手による訓練データ生成部70を用いた手法であり、第2は、因果関係DB72及び訓練データ生成部76を用いたものである。
人手による訓練データ生成部70による訓練データの生成処理の概略は以下のとおりである。訓練データを生成しようとするユーザは、既存の情報検索装置66に対する「なぜ」を含む質問(原因、理由を聞く質問)である入力文62を、入出力部60を介して既存の情報検索装置66に入力する。既存の情報検索装置66は、この質問に対してウェブアーカイブ64から要約対象文68をいくつか検索する。すなわちこの要約対象文68の各々は、ユーザが入力した「なぜ」を含む質問に対する回答となる文(回答文)を含むものと考えられる。ユーザは、入出力部60を用いて人手による訓練データ生成部70との処理により、要約対象文68の内で、入力文62に対する回答文として適切なものについて、その応答文を要約して要約対象文68を要約した後の出力文とすることにより、要約システム40のための訓練データ項目を生成する。ここではこの要約はユーザが行う。
例えば、入力文62が「津波が起こるのはなぜ?」であり、要約対象文68が以下の3つの文章であったものとする。なお、以下に示す要約対象文の例は1〜2文の短い文章であるが、実際には3文以上の比較的長い文章を用いても良い。
第1の要約対象文:震源の真上の海水が上下に変動したために起こる大波を津波といいます。
第2の要約対象文:スマトラ地震では津波によって悲惨な事態が起きました。地震かみなり火事親父といいますが、津波もここに加えるべきかも。
第3の要約対象文:過去には大量の土石流が海水に流れ込んだことによって津波が起きたこともあります。
これらの内、第1の要約対象文からは以下のような第1の出力文が得られたものとする。
第1の出力文:震源の真上の海水が上下に変動したため
また第3の要約対象文からは以下のような第2の出力文が得られたものとする。
第2の出力文:土石流が海に流れ込んだため
そして、入力文62と第1の要約対象文と第1の出力文とを組合せて要約システム40の第1の訓練データ項目とし、入力文62と第3の要約対象文と第2の出力文とを組合せて要約システム40の第2の訓練データ項目とする。第2の要約対象文には入力文62に対する適切な回答文が含まれないため、訓練データ項目の生成には用いない。
一方、訓練データ生成部76による訓練データの生成については、本実施の形態では、図4及び図5に制御構造を示すプログラムによりバッチ的に行う。図4を参照して、このプログラムは、設定ファイル74から1グループに含まれる文数を読出すステップ170を含む。ここでいう「グループ」とは、本実施の形態における独特な考え方を示す。本実施の形態では、一度に複数個の因果関係表現の例文を因果関係DB72から抽出する。この複数個の例文が1グループを構成する。1グループを構成する複数個の例文の各々から、入力文及び出力文を機械的に生成する。その後、1グループを構成する例文を全て接続して1つの要約対象文を生成する。そして、得られた入力文の1つ及びその入力文に対応する1つの出力文と、接続後の要約対象文とをひとまとめにして1つの訓練データ項目を生成する。この処理を1グループに含まれる例文の数だけ繰返す。したがって、例えば1グループが3つの例文を含む場合、その1グループからは3つの訓練データ項目が生成される。この生成過程については図6を参照して後述する。
このプログラムはさらに、図1に示す因果関係DB72に接続するステップ172と、因果関係DB72から全ての因果関係表現の例文を読出し、メモリに記憶するステップ174と、メモリに記憶された全ての因果関係表現をランダムな順番にシャッフルするステップ176と、シャッフルされた因果関係表現を先頭から設定ファイル74により設定された文数ごとにグループ化するステップ178とを含む。
このプログラムはさらに、以上の処理により形成された全てのグループに対し、以下に説明する訓練データ作成処理182を実行して処理を終了するステップ180を含む。
図5を参照して、訓練データ作成処理182は、処理対象のグループの全例文を読出すステップ200と、読出した例文を全て接続するステップ202と、ステップ200で読出した各例文に対して以下の例文加工処理206を実行して処理を終了するステップ204とを含む。ステップ202での例文の接続はどのような順番で行ってもよい。例えば読出された順番にしたがって例文を接続すればよい。
例文加工処理206は、処理中の例文の原因部と結果部とを分離するステップ220と、この結果部を用いて質問文を作成するステップ222とを含む。ステップ222では、例えば結果部の先頭に「なぜ」という疑問詞を追加することで質問文を生成できる。この質問文が訓練データ項目の入力文となる。
例文加工処理206はさらに、ステップ222で作成された質問文を入力文に、ステップ202で作成された連結後の文を要約対象文に、ステップ220で結果部と分離された原因部を回答文(要約システム40の正しい出力文として想定される文)に、それぞれ設定するステップ224と、ステップ224で作成されたデータを1組の訓練データ項目として訓練データDB78に追加するステップ226とを含む。
図6は、図5に示す処理を英語の場合を例として説明する模式図である。図6を参照して、3つの因果関係表現の例文240、242及び244が1つのグループを構成するものとする。これら3つの例文をマージ(連結)することにより、要約対象文246が作成される。
第1の例文240が因果関係表現であることを示す単語は「since」である。この前が結果部、後が原因部である。そこで、英語の場合には結果部の先頭に疑問詞である「Why」を追加することで入力文280を作成する。結果部については、先頭に原因であることを示す単語「Because」を追加することで出力文282が作成される。この入力文280と出力文282、さらに要約対象文246と同じ要約対象文284を一組とすることで第1の訓練データ項目260が作成される。
同様の手法で、第2の例文242からは入力文290及び出力文292が作成され、要約対象文246と同じ要約対象文286と組合せることで第2の訓練データ項目262が作成される。
最後に、第3の例文244からは入力文300及び出力文302が作成され、要約対象文246と同じ要約対象文288と組合せることで第3の訓練データ項目264が作成される。
図7は、図1に示す要約システム訓練部80としてコンピュータを機能させるためのコンピュータプログラムの制御構造を示す。図7を参照して、このプログラムは、図1に示す訓練データDB78に接続するステップ350と、訓練データDB78から各訓練データ項目を読出し、メモリに格納するステップ352と、各訓練データ項目に対してRNNパラメータの更新処理356を実行するステップ354とを含む。
RNNパラメータの更新処理356は、処理中の訓練データ項目に含まれる入力文を形態素解析し単語レベルまで分割し品詞情報等を付すステップ370と、同じく訓練データ項目に含まれる要約対象文を形態素解析し単語レベルまで分割し、品詞情報等を付すステップ372と、ステップ372で得られた要約対象文の各単語にフラグ=0を付すステップ374と、入力文中の各内容語に対して、要約対象文中の同じ単語を検索し、見つかったときには要約対象文中のその単語のフラグをセット(フラグ=1)する処理378を実行するステップ376とを含む。
このプログラムはさらに、処理中のグループの要約原文を単語ベクトル列化するステップ382と、ステップ382の処理と並列に、処理中のグループの要約原文にフラグに応じたベクトルを付加するステップ383と、ステップ382およびステップ383で得られた単語ベクトルの数に応じた数だけ、入力系列処理部120のRNNモジュールを展開するステップ384とを含む。なお、このステップ384を行う前に、線形変換、非線形変換を問わず単語ベクトルを変換する処理を行っても良い。このプログラムはさらに、一方では図2に示す順方向RNN系列140に要約原文の単語ベクトルを順に入力し、同時に逆方向RNN系列142には要約原文の単語ベクトルを逆順に入力するステップ386及び388と、ステップ386及び388の処理の結果、入力系列処理部120の順方向RNN系列140及び逆方向RNN系列142の出力に得られたベクトルを接続するステップ390とを含む。
RNNパラメータの更新処理356はさらに、ステップ383までの処理により得られたベクトル列144を図2に示す出力系列処理部122に入力してその出力である単語ベクトル列126を得るステップ394と、ステップ394で得られた単語ベクトル列126と、訓練データ項目中の出力文との誤差に基づき、順方向RNN系列140、逆方向RNN系列142、及び出力系列処理部122を構成するRNNのパラメータを誤差逆伝播法により、誤差が小さくなるように更新してこの訓練データによる処理を終了するステップ396とを含む。すなわち、出力文は訓練における教師データとして扱われる。このRNNのパラメータの更新は、入力系列処理部120の順方向RNN系列140を構成する基本となる1つのRNNのパラメータ、入力系列処理部120の逆方向RNN系列142を構成する基本となる1つのRNNのパラメータ、及び出力系列処理部122を構成する基本となる1つのRNNのパラメータの更新量をそれぞれ計算することにより行われる。なお、ステップ384を行う前に、単語ベクトルを変換する処理を行った場合は、その際に使用された重み行列及びバイアス項の更新量も合わせて計算する。
〈質問応答装置44の構成〉
図1を参照して、質問応答装置44は、対話形式でユーザから入力文92を受ける入出力装置90と、ウェブ上から収集された大量のテキストを格納したウェブアーカイブ94と、質問文である入力文92に応答して、ウェブアーカイブ94から入力文92に対する回答と考えられる所定個数の連続した文からなる文章(「パッセージ」と呼ぶ。)を抽出し、要約原文98として出力する既存の情報検索装置96とを含む。各パッセージは3個〜8個程度の複数個の連続する文からなる。本実施の形態ではこの個数は固定されている。しかし、もちろんこの個数を固定しなくともよい。また固定する場合でも個数が上記範囲に限定される訳ではない。
質問応答装置44はさらに、要約原文98と、入力文92とを受け、これらから要約システム訓練部80による処理と同様にして要約システム40への入力単語ベクトルを作成する入力ベクトル生成部100と、入力ベクトル生成部100により生成された入力単語ベクトルを受け、その要約を出力文46として出力する、訓練装置42による訓練済の要約システム40とを含む。
入力ベクトル生成部100の機能は、図7のステップ370〜378までを実現するものであり、図7と重複するのでこの機能を実現するプログラムの制御構造についてはここでは繰り返さない。
<動作>
この第1の実施の形態に係る質問応答システム30は以下のように動作する。最初に訓練装置42の動作について説明する。ウェブアーカイブ64には予めウェブから収集された大量のテキストデータが格納されている。因果関係DB72には、予め上記した特開2015−011426号公報に開示された方法等により因果関係表現の例文が格納されている。また、設定ファイル74には、1グループを構成する例文数が予め書き込まれている。
〈人手による訓練データ生成〉
入出力部60及び人手による訓練データ生成部70を用いた人手による訓練データ項目の生成については、訓練装置42の構造の説明の際に既に記載したのでここでは繰り返さない。
〈訓練データ生成部76による訓練データ生成〉
訓練データ生成部76による訓練データ項目の生成は以下のようにして行われる。図4を参照して、設定ファイル74から1グループに含まれる文数が読出される(ステップ170)。さらに、訓練データ生成部76は図1に示す因果関係DB72に接続する(ステップ172)。訓練データ生成部76は因果関係DB72から全ての因果関係表現の例文を読出し、メモリに記憶する(ステップ174)。訓練データ生成部76はさらに、メモリに記憶された全ての因果関係表現をランダムな順番にシャッフルする(ステップ176)。続いて訓練データ生成部76は、シャッフルされた因果関係表現を先頭から設定ファイル74により設定された文数ごとにグループ化する(ステップ178)。さらに訓練データ生成部76は、以上の処理により形成された全てのグループに対し、訓練データ作成処理182を実行する(ステップ180)。
図5を参照して、訓練データ作成処理182では、訓練データ生成部76は、処理対象のグループの全例文を読出す(ステップ200)。訓練データ生成部76はさらに、ここのステップで読出した例文を全て接続する(ステップ202)。続いて訓練データ生成部76は、ステップ200で読出した各例文の原因部と結果部とを分離する(ステップ220)。この分離箇所は前述したとおり文型から容易に判定できるが、各因果関係規則に分離規則を付与しておき、その分離規則を用いるようにしてもよいし、前述したとおり、機械学習の技術によって作られた認識器を用いて分離しても良い。訓練データ生成部76は、この結果部を用いて質問文を作成する(ステップ222)。訓練データ生成部76はさらに、ステップ222で作成された質問文を入力文に、ステップ202で作成された連結後の文を要約対象文に、ステップ220で結果部と分離された原因部を出力文に、それぞれ設定し(ステップ224)、作成されたデータを1組の訓練データ項目として訓練データDB78に追加する(ステップ226)。
以上の処理全てのグループに対して行うことで因果関係DB72から訓練データが生成される。
〈要約システム訓練部80の動作〉
図7を参照して、要約システム訓練部80は以下のように動作する。要約システム訓練部80は、図1に示す訓練データDB78に接続し(ステップ350)、訓練データDB78から各訓練データ項目を読出してメモリに格納する(ステップ352)。要約システム訓練部80はさらに、各訓練データ項目に対してRNNパラメータの更新処理356を実行する(ステップ354)。
ステップ354では、要約システム訓練部80は、処理中の訓練データ項目に含まれる入力文を形態素解析し単語レベルまで分割し品詞情報等を付す(ステップ370)。要約システム訓練部80はさらに、同じ訓練データ項目に含まれる要約対象文を形態素解析し単語レベルまで分割して品詞情報等を付す(ステップ372)。要約システム訓練部80は、ステップ372で得られた要約対象文の各単語にフラグ=0を付し(ステップ374)、入力文中の各内容語に対して、要約対象文中の同じ単語を検索し、見つかったときには要約対象文中のその単語のフラグをセット(フラグ=1)する(ステップ376)。
要約システム訓練部80はさらに、処理中のグループの要約対象文をベクトル化し(ステップ382)、同時に、このベクトルに、対応する単語に付されていたフラグの値に対応するフラグベクトルを付加する(ステップ383)。さらに、ステップ382及び383で得られた単語ベクトルの数に応じた数だけ、入力系列処理部120のRNNモジュールを展開する(ステップ384)。要約システム訓練部80はさらに、図2に示す順方向RNN系列140に要約対象文の単語ベクトルを順に入力し(ステップ386)、同時に逆方向RNN系列142には要約対象文の単語ベクトルを逆順に入力する(ステップ388)。要約システム訓練部80は、この処理の結果、入力系列処理部120の順方向RNN系列140及び逆方向RNN系列142の出力に得られたベクトルを接続する(ステップ390)。
要約システム訓練部80はさらに、ステップ390までの処理により得られたベクトル列144を図2に示す出力系列処理部122に入力してその出力である単語ベクトル列126を得て(ステップ394)、この単語ベクトル列126と、訓練データ項目の出力文との誤差に基づき、順方向RNN系列140、逆方向RNN系列142、及び出力系列処理部122を構成するRNNのパラメータを誤差逆伝播法により更新してこの訓練データ項目による処理を終了する(ステップ396)。
[日本語における訓練データ作成例]
以下、日本語において訓練データを作成する場合の過程の一例を説明する。この例では、1グループを以下に示されるように3例文で構成するものとする。なお、以下の例文は「(原因部)」、「(結果部)」、「/」等を含むが、これらは説明の便宜上付したものであり、例文にこれらを含ませておく必要はない。
第1の例文:「(原因部)今後はプライム案件の割合を増やしていくため、/(結果部)上流工程に携われるチャンスが豊富にあります。」
第2の例文:「(原因部)緑茶は熱に弱いので、/(結果部)生の葉を少しだけ乾燥させて溶剤に溶け込ませて抽出しました。」
第3の例文:「(結果部)アルバイトの子が退職した。/(原因部)その理由は社員登用制度がない事」
これら結果部から先頭に「なぜ」という疑問詞を追加するという機械的な変形で得られる入力文は以下の3つである。
第1の入力文:「なぜ上流工程に携われるチャンスが豊富にあります。」
第2の入力文:「なぜ生の葉を少しだけ乾燥させて溶剤に溶け込ませて抽出しました。」
第3の入力文:「なぜアルバイトの子が退職した。」
さらに、原因部から機械的な変形で得られる出力文は以下のとおりである。
第1の出力文:「今後はプライム案件の割合を増やしていくため」
第2の出力文:「緑茶は熱に弱いので」
第3の出力文:「その理由は社員登用制度がない事」
3つの因果関係表現を結合すると以下のような要約対象文が得られる。
「今後はプライム案件の割合を増やしていくため、上流工程に携われるチャンスが豊富にあります。緑茶は熱に弱いので、生の葉を少しだけ乾燥させて溶剤に溶け込ませて抽出しました。アルバイトの子が退職した。その理由は社員登用制度がない事」
この要約対象文と、第1の入力文及び第1の出力文とを組合せることで第1の訓練データ項目が得られる。この要約対象文と、第2の入力文及び第2の出力文とを組合せることで第2の訓練データ項目が得られる。この要約対象文と、第3の入力文及び第3の出力文とを組合せることで第3の訓練データ項目が得られる。このようにして、因果関係表現の例文が複数個あると、それらから機械的な変形のみにより大量の訓練データ項目を生成できる。
もっとも、このようにして得られた訓練データを使用しても訓練の効果が上がらなければ意味がない。この点では、実験により要約の精度が有意に上がることを確認した。この理由は以下の様に考えられる。
例えば、要約原文内の複数箇所に内容の異なる原因/結果を表す表現が出現する場合がある。このような要約原文に対して、要約システムが入力文に対する適切な回答を含む原因を表す表現を認識できなければ、要約の誤りにつながる。上記実施の形態では、1つの訓練データ項目の要約対象文中に、複数種類の因果関係表現が出現する。それらについて繰り返し訓練することで、対象の文中に複数の原因/結果を表す表現が出現している場合でも、入力文に対する回答を含む適切な表現を認識し、要約の精度の低下を防ぐことが出来たと考えられる。特に入力文の生成は機械的な変形であるため自然言語文としては不自然になるが、要約システムの訓練ではそうした不自然さは大きな問題にはならず、むしろ訓練データ項目が多様かつ大量になることの効用が大きいと考えられる。
[第2の実施の形態]
上記第1の実施の形態では、図1に示す因果関係DB72中の因果関係表現を最初にランダムにシャッフルした後、先頭から順番にグループ化している。こうすることで、各因果関係表現は1つの訓練データ項目にのみ属することになる。しかし本発明はそのような実施の形態には限定されない。例えば因果関係DB72からの読出順序自体をランダム化することも可能である。以下の第2の実施の形態はそうした方式を採用したものである。
図8に、本実施の形態において図1に示す訓練データ生成部76を実現する処理の概略フローチャートを示す。この処理は図4に示すものと置き換えることができる。図8において、図4に示す処理又はステップと同じ処理又はステップには図4と同じ参照番号を付してある。なお、因果関係DB72から因果関係表現の例文を読出す際には、できるだけ例文が重複しない方が好ましい。そこで本実施の形態では、作成する訓練データ項目の数(グループ数)に上限を設け、その範囲で因果関係DB72から例文を読出すようにしている。そのため、グループ数の上限を予め図1に示す設定ファイル74に書き込んでおくこととする。
図8に示す処理が図4に示す処理と異なるのは、ステップ170の前に、設定ファイル74からグループ数の上限を設定ファイル74から読出すステップ400をさらに含むことと、図4に示すステップ174〜178に代えて、因果関係DB72から読出された例文のグループ数がステップ400で設定ファイル74から読出された上限数に達するまでグループ蓄積処理404を実行するステップ402を含むこととである。
グループ蓄積処理404は、ステップ170で読出された、1グループ内の例文数として設定された例文をランダムに因果関係DB72から読出すステップ410と、ステップ410で読出された例文をグループ化して図示しない外部記憶装置又はメモリに蓄積するステップ412とを含む。
図8に示すようなプログラムによっても第1の実施の形態と同様の訓練データ項目が生成されることは明らかである。ただし、生成される訓練データ項目の数は第1の実施の形態より少なくなる。なお、この第2の実施の形態では、グループ数の上限が定められているため、同じ例文が因果関係DB72から読出される可能性は低い。しかし、そうした可能性は0ではない。そこで、一度読出したことがあるデータが再度読出された場合には、そのデータを採用せず、新たにランダムなデータを読出すようにしてもよい。
以上の実施の形態では、英語及び日本語を例として挙げた。しかし、以上の説明からあきらかなように、因果関係表現の手掛かりが文から取得できるような言語であればどのような言語についても適用できる。
また上記実施の形態では、人手による訓練データの生成と因果関係表現の例文からの訓練データの生成とをともに行っている。しかし本発明はそのような実施の形態には限定されない。質問のタイプを考慮することにより、因果関係表現の例文から自動的に生成した訓練データのみを使用しても良い。
また、上記実施の形態では因果関係知識を用いているが、これはなぜ型質問に対する応答を要約することを目的としているためである。想定する質問のタイプにあわせて因果関係以外の関係も利用できる。そのためには言語知識と呼ばれる知識を用いればよい。言語知識とは因果関係知識の上位概念に相当するものであって、ある2つのテキストの間に特定の関係が成り立つか否かを判断するために必要となる規則の集合のことをいう。各規則は事物と事物との間のある関係性を表す。あるテキストがこれら言語知識の規則のいずれかに適合すれば、そのテキストのその適合部分は該当する規則が表す関係性の一表現であると判定できる。例えば材料関係知識(「AはBから作られる。」等)、使用関係知識(「AはBのために用いられる。」等)、抑制関係知識(一方が他方を抑制する関係。「AがBを防ぐ。」等)、必要関係(「AはBのために必要である。」等)、方法関係(一方が他方を実現するための方法である関係。「方法Aで目的Bを実現する。」等)等である。
上記した例から分かるように、言語知識は、第1の部分表現と、第2の部分表現と、第1及び第2の部分表現の間の関係を示す手掛かり表現とを含む。因果関係表現の場合には第1の部分表現は原因部であり、第2の部分表現は結果部であり、手掛かり表現は「なので」、「ために」等の特定の表現のいずれかである。ここで、A、B等はワイルドカード的な変数を表す。A、Bがどのような値であれ、あるテキストが上記した規則のいずれかに当てはまれば、そのテキストはその規則により表される言語知識の例文ということになる。これらの言語知識(規則)を、因果関係表現と同様に利用して要約システムの訓練データを生成することで、要約システムがより広い範囲の分野の質問に対する応答文の要約を適切に行えるようになる。
なおこの場合、入力文及び出力文の作成方法は各知識により異なる。例えば必要関係の場合、「AはBのために必要である。」という形の表現からは、「Bのためには何が必要ですか?」のように入力文を作成し、「BのためにはAが必要である。」のように出力文を作成する。この例のような形の例文の場合には、例文そのものを出力文としてもよい。これ以外の知識の場合にも同様にそれぞれふさわしい形の入力文及び出力文を作成することが必要である。ただし、要約対象文として1グループに属する言語知識から得た入力文を質問応答システムに入力して得られた応答文を全て接続して要約対象文とする点は上記実施の形態と同様である。
具体的な例を挙げる。例えば、方法関係データについて入力文及び出力文を作成する例としては以下のような例が考えられる。
第1の例文:「(方法部)企業に助成を行うという方法で、/(目的部)職場づくりを応援する。」
第2の例文:「(方法部)塩水に漬けることで、/(目的部)アクを取る。」
第3の例文:「(方法部)魑魅魍魎を討伐するという手段で、/(目的部)英雄になる。」
これら目的部から先頭に「どのようにして」という疑問詞を追加するという機械的な変形で得られる入力文は以下の3つである。
第1の入力文:「どのようにして職場づくりを応援する。」
第2の入力文:「どのようにしてアクを取る。」
第3の入力文:「どのようにして英雄になる。」
さらに、方法部から機械的な変形で得られる出力文は以下のとおりである。
第1の出力文:「企業に助成を行うという方法で」
第2の出力文:「塩水に漬けることで」
第3の出力文:「魑魅魍魎を討伐するという手段で」
上記した例文をつなげることで得られる要約対象文は以下のようになる。
「企業に助成を行うという方法で、職場づくりを応援する。塩水に漬けることで、アクを取る。魑魅魍魎を討伐するという手段で、英雄になる。」
この要約対象文に、第1の入力文と第1の出力文とを付加することで第1の訓練データができる。要約原文に、第2の入力文と第2の出力文とを付加することで第2の訓練データができる。さらに、この要約原文に、第3の入力文と第3の出力文とを付加することで第3の訓練データができる。
なお、方法関係データを作成するための例文は、「という方法で」、「ことで」、「という手段で」等の手掛かり表現を用いることで自動的に収集できる。
なお、方法関係データについてももちろんこのように人工的に得られた訓練データだけではなく、人手により作成した以下のような例を訓練データとして追加してもよい。
入力文:「どのようにして風邪を治す」
要約原文:「冬になり風邪を引きやすい季節になりましたが、皆様どのようにしてお過ごしでしょうか。/(改行)私はこの季節になると必ず喉風邪になるのですが、生姜湯を飲んでおけば喉の腫れは引きますし、風邪自体も布団で温まることで比較的すぐに治ります。」
出力文:「布団で温まることで」
他の種類の知識の場合でも同様の考え方で入力文、要約原文、出力原文からなる訓練データを準備すればよい。
また、上記実施の形態では、訓練データ生成の際の各グループに含まれる、因果関係及び方法関係等のような関係性の数は一定(複数、例えば3個)であった。しかし本発明はそのような実施の形態には限定されない。各グループには、因果関係及び方法関係等のように、言語知識によって判別され得る複数の異なった関係性が同時に含まれても良い。またこの際、一部のグループに含まれる関係性が1個のみであってもよい。少なくとも一部のグループに含まれる関係性の数が複数個であればよい。ただし、全てのグループが複数の関係性を含む方が好ましい。
上記実施の形態では、コンピュータプログラムは一部を除き並列処理を想定していない。しかし、本発明はそうした実施の形態には限定されない。特にニューラルネットワークのように同種の計算を大量に行う場合には、並列処理により効率を高めることが通常である。
さらに、上記実施の形態では、RNNを要約システム40を構成するモジュールとして説明した。RNNとしては、例えばGated Recurrent Unit,LSTM(Long Short−Term Memory)等を使用することが望ましい。しかし、それらに限定されるものではなく、前後の文脈をある程度のスパンで記憶できるものであればどのようなものでもよい。
[コンピュータによる実現]
上記した実施の形態に係る訓練装置42及び質問応答装置44は、それぞれコンピュータハードウェアと、そのハードウェア上でCPU(中央演算処理装置)及び/又はGPGPU(汎用画像処理装置)による実行されるコンピュータプログラムとにより実現できる。図8及び図9に上記訓練装置42及び質問応答装置44を実現するコンピュータハードウェアを示す。
図9を参照して、このコンピュータシステム430は、メモリポート452及びDVD(Digital Versatile Disk)ドライブ450を有するコンピュータ440と、キーボード446と、マウス448と、モニタ442とを含む。
図10を参照して、コンピュータ440は、メモリポート452及びDVDドライブ450に加えて、CPU456及びGPGPU457と、CPU456、GPGPU457、メモリポート452及びDVDドライブ450に接続されたバス466と、ブートプログラム等を記憶する読出専用メモリであるROM458と、バス466に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するコンピュータ読取可能な記憶媒体であるランダムアクセスメモリ(RAM)460と、ハードディスク454を含む。コンピュータ440はさらに、いずれもバス466に接続され、他端末との通信を可能とするネットワーク468への接続を提供するネットワークインターフェイス(I/F)444と、外部との音声信号の入出力を行うための音声I/F470とを含む。
コンピュータシステム430を上記した実施の形態に係る訓練装置42、及び質問応答装置44の各機能部として機能させるためのプログラムは、DVDドライブ450又はメモリポート452に装着される、いずれもコンピュータ読取可能な記憶媒体であるDVD462又はリムーバブルメモリ464に記憶され、さらにハードディスク454に転送される。又は、プログラムはネットワーク468を通じてコンピュータ440に送信されハードディスク454に記憶されてもよい。プログラムは実行の際にRAM460にロードされる。DVD462から、リムーバブルメモリ464から又はネットワーク468を介して、直接にRAM460にプログラムをロードしてもよい。また、上記処理に必要なデータ(ウェブアーカイブ64及び94、要約対象文68、246、284、286、288、及び要約原文98、因果関係DB72、設定ファイル74、訓練データDB78、RNNのパラメータ等)は、ハードディスク454、又はRAM460、CPU456又はGPGPU457内のレジスタ等の所定のアドレスに記憶され、CPU456又はGPGPU457により処理され、プログラムにより指定されるアドレスに格納される。最終的に訓練が終了した要約システムのパラメータは、例えばハードディスク454に格納されたり、DVDドライブ450及びメモリポート452をそれぞれ介してDVD462又はリムーバブルメモリ464に格納されたりする。又は、ネットワークI/F444を介してネットワーク468に接続された他のコンピュータ又は記憶装置に送信される。
このプログラムは、コンピュータ440を、上記実施の形態に係る訓練装置42及び質問応答装置44として機能させるための複数の命令からなる命令列を含む。要約システム訓練部80及び要約システム40における数値演算処理は、CPU456及びGPGPU457を用いて行う。CPU456のみを用いてもよいがGPGPU457を用いる方が高速である。コンピュータ440にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ440上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ440にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体はこの実施の形態のシステム、装置及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の内、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記したシステム、装置又は方法としての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供してもよい。
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
30 質問応答システム
40 要約システム
42 訓練装置
44 質問応答装置
46、282、292、302 出力文
60 入出力部
62、92、280、290、300 入力文
64、94 ウェブアーカイブ
66、96 情報検索装置
68、246、284、286、288 要約対象文
72 因果関係DB
76 訓練データ生成部
78 訓練データDB
80 要約システム訓練部
90 入出力装置
98 要約原文
100 入力ベクトル生成部
120 入力系列処理部
122 出力系列処理部
124、126 単語ベクトル列
140 順方向RNN系列
142 逆方向RNN系列
144 ベクトル列
150 アノテーション
182 訓練データ作成処理
206 例文加工処理
240、242、244 例文
260、262、264 訓練データ項目
356 RNNパラメータの更新処理
404 グループ蓄積処理

Claims (6)

  1. 質問の形をした入力文に対して、当該入力文に対する回答を簡潔で短い出力文として返す質問応答システムを訓練するための訓練データを作成する、コンピュータによる方法であって、前記質問応答システムは、質問の形をした入力文と、当該入力文に対する回答が何らかの形で記載されていると想定される比較的に長いオリジナル文章から、入力文に対する簡潔で短い回答である出力文を出力するものであり
    前記方法は、
    コンピュータが、事柄の間にある関係が存在することを表す関係表現を大量に記憶した関係表現記憶装置から、各々が複数の関係表現を含む複数のグループを抽出するステップと、
    コンピュータが、前記複数のグループの各々について、当該グループに含まれる前記複数の関係表現の各々から質問文及び当該質問文に対する回答文を作成するステップと、
    前記複数のグループの各々について、当該グループに含まれる前記複数の関係表現を互いに連結して訓練用のオリジナル文章を作成するステップと、
    コンピュータが、前記複数のグループの各々に含まれる前記複数の関係表現の各々について、当該関係表現から作成された前記質問文を前記入力文、前記訓練用のオリジナル文章を要約対象、及び前記回答文を教師データとする訓練データ項目を作成し、訓練データ記憶装置に記憶するステップとを含む、質問応答システムの訓練データの作成方法。
  2. 前記関係表現の各々は、第1の部分表現と、第2の部分表現とを含み、
    前記質問文及び当該質問文に対する回答文を作成するステップは、
    コンピュータが、前記複数のグループの各々について、
    当該グループに含まれる前記複数の関係表現の各々の前記第1の部分表現及び前記第2の部分表現を分離するステップと、
    前記第2の部分表現に所定の疑問詞を付することにより前記質問文を生成するステップと、
    前記第1の部分表現を前記回答文とするステップとを含む、請求項1に記載の質問応答システムの訓練データの作成方法。
  3. 前記関係表現は、事柄の間に因果関係が存在することを表す因果関係表現であり、
    前記第1の部分表現は原因部を含み、
    前記第2の部分表現は結果部を含み、
    前記抽出するステップは、コンピュータが、前記関係表現記憶装置から、各々が複数の因果関係表現を含む複数のグループを抽出するステップを含み、
    前記回答文を作成するステップは、コンピュータが、前記複数のグループの各々について、当該グループに含まれる前記複数の因果関係表現の各々の結果部及び原因部から、当該結果部に記載された事象の原因を問う質問文及び当該質問文に対して前記原因部に述べられた原因によって答える回答文をそれぞれ作成するステップを含む、請求項2に記載の質問応答システムの訓練データの作成方法。
  4. 前記関係表現は、事柄の間に、ある目的とその目的を達成するための方法とを表す方法関係が存在することを表す方法関係表現であり、
    前記抽出するステップは、コンピュータが、前記関係表現記憶装置から、各々が複数の方法関係表現を含む複数のグループを抽出するステップを含み、
    前記第1の部分表現は方法部を含み、
    前記第2の部分表現は目的部を含み、
    前記回答文を作成するステップは、コンピュータが、前記複数のグループの各々について、当該グループに含まれる前記複数の方法関係表現の各々の目的部及び方法部から、前記目的部に記載された目的を達成する方法を問う質問文、及び当該質問文に対して前記方法部に述べられた方法によって答える回答文をそれぞれ作成するステップを含む、請求項2に記載の質問応答システムの訓練データの作成方法。
  5. 前記関係表現の各々は、前記第1の部分表現で表される事柄及び前記第2の部分表現で表される事柄の間にある関係が存在することを示す手がかりとなる手掛かり表現を含み、
    前記分離するステップは、
    コンピュータが、前記複数のグループの各々について、
    当該グループに含まれる前記複数の関係表現の各々の前記第1の部分表現及び前記第2の部分表現を前記手掛かり表現に基づいて分離する、請求項2〜請求項4のいずれかに記載の質問応答システムの訓練データの作成方法。
  6. 請求項1〜5の何れかに記載の方法及びまたは人手により作成された訓練データを用いてコンピュータが質問応答システムの訓練を行う方法であって、
    前記訓練データに含まれる訓練データ項目の各々について、
    コンピュータが、当該訓練データ項目を読出すステップと、
    コンピュータが、当該訓練データ項目に含まれる前記オリジナル文章内の単語に、当該訓練データ項目に含まれる前記入力文内の内容語と重複する単語か否かを示すフラグを付すステップと、
    コンピュータが、前記フラグが付された前記オリジナル文章に対する前記質問応答システムからの出力文と、当該訓練データ項目に含まれる前記教師データとの誤差が小さくなるよう、前記質問応答システムの要約機能を規定するパラメータを更新するステップとを含む、質問応答システムの訓練方法。
JP2018012362A 2018-01-29 2018-01-29 質問応答システムの訓練データの作成方法及び質問応答システムの訓練方法 Pending JP2019133229A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018012362A JP2019133229A (ja) 2018-01-29 2018-01-29 質問応答システムの訓練データの作成方法及び質問応答システムの訓練方法
PCT/JP2019/002454 WO2019146754A1 (ja) 2018-01-29 2019-01-25 質問応答システムの訓練データの作成方法及び質問応答システムの訓練方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018012362A JP2019133229A (ja) 2018-01-29 2018-01-29 質問応答システムの訓練データの作成方法及び質問応答システムの訓練方法

Publications (1)

Publication Number Publication Date
JP2019133229A true JP2019133229A (ja) 2019-08-08

Family

ID=67395987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018012362A Pending JP2019133229A (ja) 2018-01-29 2018-01-29 質問応答システムの訓練データの作成方法及び質問応答システムの訓練方法

Country Status (2)

Country Link
JP (1) JP2019133229A (ja)
WO (1) WO2019146754A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020140692A (ja) * 2019-03-01 2020-09-03 楽天株式会社 文抽出システム、文抽出方法、及びプログラム
JP2022003494A (ja) * 2020-06-23 2022-01-11 Kddi株式会社 対話中の文脈の因果関係に応じた応答文を推定するプログラム、装置及び方法
WO2022249946A1 (ja) * 2021-05-28 2022-12-01 国立研究開発法人情報通信研究機構 対話装置及びその訓練装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6270747B2 (ja) * 2015-01-16 2018-01-31 日本電信電話株式会社 質問応答方法、装置、及びプログラム
JP6618735B2 (ja) * 2015-08-31 2019-12-11 国立研究開発法人情報通信研究機構 質問応答システムの訓練装置及びそのためのコンピュータプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020140692A (ja) * 2019-03-01 2020-09-03 楽天株式会社 文抽出システム、文抽出方法、及びプログラム
JP2022003494A (ja) * 2020-06-23 2022-01-11 Kddi株式会社 対話中の文脈の因果関係に応じた応答文を推定するプログラム、装置及び方法
JP7295828B2 (ja) 2020-06-23 2023-06-21 Kddi株式会社 対話中の文脈の因果関係に応じた応答文を推定するプログラム、装置及び方法
WO2022249946A1 (ja) * 2021-05-28 2022-12-01 国立研究開発法人情報通信研究機構 対話装置及びその訓練装置

Also Published As

Publication number Publication date
WO2019146754A1 (ja) 2019-08-01

Similar Documents

Publication Publication Date Title
CN107944027B (zh) 创建语义键索引的方法及系统
Pearce et al. A comparative study of transformer-based language models on extractive question answering
WO2021223287A1 (zh) 基于FocalGAN的短文本自动生成方法、装置、设备及存储介质
JP2019133229A (ja) 質問応答システムの訓練データの作成方法及び質問応答システムの訓練方法
CN115019776A (zh) 语音识别模型及其训练方法、语音识别方法及装置
CN107688583A (zh) 创建用于自然语言处理装置的训练数据的方法和设备
CN111553138B (zh) 用于规范内容结构文档的辅助写作方法及装置
CN103885924A (zh) 一种领域自适应的公开课字幕自动生成系统及方法
CN117076693A (zh) 一种数字人教师多模态大语言模型预训练学科语料库的构建方法
US6965856B1 (en) Process for the automatic generation of a textual expression from a semantic representation using a computer system
CN113268593A (zh) 意图分类和模型的训练方法、装置、终端及存储介质
CN117194628A (zh) 基于压缩技术提示词优化方法、装置、设备及存储介质
CN110287999B (zh) 基于隐变量模型的故事生成方法及装置
JP6882975B2 (ja) 対話ログ群からコンテキストを決定可能な対話シナリオ生成装置、プログラム及び方法
CN112905835B (zh) 一种多模态乐曲标题生成方法、装置及存储介质
JP2008293098A (ja) 応答スコア情報生成装置、対話処理装置
JP7044245B2 (ja) 対話システム補強装置及びコンピュータプログラム
БАРКОВСЬКА Performance study of the text analysis module in the proposed model of automatic speaker’s speech annotation
Effendi et al. Augmenting images for asr and tts through single-loop and dual-loop multimodal chain framework
US20230410787A1 (en) Speech processing system with encoder-decoder model and corresponding methods for synthesizing speech containing desired speaker identity and emotional style
Dinarelli et al. Concept segmentation and labeling for conversational speech
Bourbakis et al. Deep understanding of technical documents: Part II. Automatic extraction of pseudocode
WO2023026444A1 (ja) 要約学習支援装置、要約学習支援方法及びプログラム
CN117035064B (zh) 一种检索增强语言模型的联合训练方法及存储介质
JP7283547B2 (ja) 構造化文書処理学習装置、構造化文書処理装置、構造化文書処理学習方法、構造化文書処理方法及びプログラム