JP6772213B2 - 質問応答装置、質問応答方法及びプログラム - Google Patents
質問応答装置、質問応答方法及びプログラム Download PDFInfo
- Publication number
- JP6772213B2 JP6772213B2 JP2018082521A JP2018082521A JP6772213B2 JP 6772213 B2 JP6772213 B2 JP 6772213B2 JP 2018082521 A JP2018082521 A JP 2018082521A JP 2018082521 A JP2018082521 A JP 2018082521A JP 6772213 B2 JP6772213 B2 JP 6772213B2
- Authority
- JP
- Japan
- Prior art keywords
- question
- word
- document
- vocabulary
- answer sentence
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、質問応答装置、質問応答方法及びプログラムに関する。
与えられた文書及び質問に対して回答文を生成する「読解」を人工知能により正確に行うことができれば、質問応答、知的エージェント等の幅広いサービスに応用することができる。
読解を行うための従来技術として、例えば非特許文献1等に開示された技術がある。非特許文献1等に開示されている従来技術では、例えば、文書及び質問の単語系列を符号化(ベクトル化)し、各単語系列のベクトル表現のマッチングを取った上で、文書の内容に基づいて回答を生成している。
Chuanqi Tan, Furu Wei, Nan Yang, Weifeng Lv, Ming Zhou: S-Net: From Answer Extraction to Answer Generation for Machine Reading Comprehension. CoRR abs/1706.04815 (2017)
ところで、読解においては、回答に含まれる単語は、質問及び文書の中に含まれる場合が多い。しかしながら、非特許文献1等に開示されている従来技術では、或る特定の語彙(例えば、一般的な文書に頻出する単語によって構成される語彙)に含まれる単語から回答を生成している。このため、この語彙に含まれない単語(例えば、固有名詞や専門用語等の単語)が文書中に存在する場合、この単語が未知語として扱われてしまい、精度の高い回答文が得られないことがある。
本発明の実施の形態は、上記の点に鑑みてなされたもので、精度の高い質問応答を実現することを目的とする。
上記目的を達成するため、本発明の実施の形態は、文書及び質問を入力として、所定の第1の語彙と、前記文書及び前記質問に含まれる単語により構成される第2の語彙との和集合に含まれる単語を用いて、前記質問に対する回答文を生成する処理を学習済モデルにより実行する回答生成手段を有し、前記学習済モデルは、前記回答文に含まれる単語が前記第2の語彙に含まれるか否かについて予め学習した学習済ニューラルネットワークを含み、該学習済ニューラルネットワークにより、前記回答文の生成時に、該回答文に含まれる単語として、前記第2の語彙に含まれる単語が選択される確率を増減させる、ことを特徴とする。
精度の高い質問応答を実現することができる。
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。以降では、与えられた文書及び質問の中に含まれる単語を精度良く回答文中に含めることで、精度の高い質問応答を実現する質問応答装置100について説明する。
なお、以下で説明する実施の形態は一例に過ぎず、本発明を適用可能な形態は、以下の実施の形態に限定されない。例えば、本発明の実施の形態に係る技術は、専門文書に関する質問応答等に利用可能であるが、利用対象はこれに限られず、様々な対象に利用可能である。
(概要)
本発明の実施の形態では、任意の文書と、この文書に対する任意の質問文(以降、単に「質問」と表す。)とが与えられた場合、質問応答装置100が、ニューラルネットワークによる文生成技術を用いて、文書及び質問に対する回答文となる単語列を生成する。このとき、本発明の実施の形態では、或る特定の語彙(例えば、一般的な文書に頻出する単語によって構成される語彙であり、後述する語彙V)だけでなく、質問応答装置100に与えられた文書及び質問に含まれる単語によって構成される語彙(後述する語彙B)も用いて、当該質問に対する回答文を生成する。この回答文が出力されることで、与えられた文書及び質問に対する質問応答が行われる。
本発明の実施の形態では、任意の文書と、この文書に対する任意の質問文(以降、単に「質問」と表す。)とが与えられた場合、質問応答装置100が、ニューラルネットワークによる文生成技術を用いて、文書及び質問に対する回答文となる単語列を生成する。このとき、本発明の実施の形態では、或る特定の語彙(例えば、一般的な文書に頻出する単語によって構成される語彙であり、後述する語彙V)だけでなく、質問応答装置100に与えられた文書及び質問に含まれる単語によって構成される語彙(後述する語彙B)も用いて、当該質問に対する回答文を生成する。この回答文が出力されることで、与えられた文書及び質問に対する質問応答が行われる。
より具体的には、本発明の実施の形態では、回答文に含まれる単語をニューラルネットワークにより生成する際に、文書及び質問に含まれる単語の出現確率を増減させる。これにより、本発明の実施の形態では、文書及び質問に含まれる単語を、精度良く回答文に含めることが可能となる。
また、本発明の実施の形態では、上記の回答文を生成するために、回答文に含まれる単語が、与えられた文書及び質問に含まれるか否かを識別するニューラルネットワークを学習する。
ここで、本発明の実施の形態では、一般的な文書に頻出する単語によって構成される語彙を「V」、質問応答装置100に与えられた文書及び質問に出現する単語によって構成される語彙を「B」と表す。また、語彙Vと語彙Bとの和集合で表される語彙を「V´」と表す。
語彙Vは、例えば、大量のテキスト集合等の一般的な文書集合中に出現する単語のうち、出現頻度が上位数万〜数十万語である単語の集合として構成することができる。また、語彙Bは、例えば、質問応答装置100に与えられた文書及び質問中に出現する単語の集合として構成することができる。なお、語彙V´には、文書の文頭や文末を表す特殊単語(例えば、<s>や</s>等)も含まれる。
(質問応答装置100の機能構成)
まず、本発明の実施の形態における質問応答時の質問応答装置100の機能構成について、図1を参照しながら説明する。図1は、本発明の実施の形態における質問応答時の質問応答装置100の機能構成の一例を示す図である。
まず、本発明の実施の形態における質問応答時の質問応答装置100の機能構成について、図1を参照しながら説明する。図1は、本発明の実施の形態における質問応答時の質問応答装置100の機能構成の一例を示す図である。
図1に示すように、質問応答時の質問応答装置100は、単語ベクトル記憶部101と、入力部102と、単語系列符号化部103と、単語系列マッチング部104と、文書注視部105と、質問注視部106と、回答生成部107と、出力部108とを有する。
また、本発明の実施の形態における学習時の質問応答装置100の機能構成について、図2を参照しながら説明する。図2は、本発明の実施の形態における学習時の質問応答装置100の機能構成の一例を示す図である。
図2に示すように、学習時の質問応答装置100は、質問応答時の質問応答装置100の機能構成に対して、出力部108を有さずに、パラメータ更新部109を有している点が異なる。学習時の質問応答装置100のその他の機能構成は、質問応答時の質問応答装置100の機能構成と同様である。ただし、学習時の質問応答装置100は、出力部108を有していても良い。すなわち、学習時の質問応答装置100は、質問応答時の質問応答装置100の機能構成に対して、パラメータ更新部109を追加した機能構成であっても良い。
単語ベクトル記憶部101は、単語と、この単語をベクトルで表現した単語ベクトルとの組を格納している。以降では、単語ベクトルの次元数はE次元であるものとする。単語と単語ベクトルとの組は、例えば、以下の参考文献1に開示されている方法により生成することができる。なお、Eとしては、例えば、E=300等とすれば良い。
[参考文献1]
Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, and Jeffrey Dean. Distributed Representations of Words and Phrases and their Compositionality. In Proceedings of NIPS, 2013.
ここで、単語ベクトル記憶部101に格納されているデータ(単語と単語ベクトルとの組)の一例を図3に示す。図3は、単語ベクトル記憶部101に格納されているデータの一例を示す図である。図3に示すように、単語ベクトル記憶部101では、例えば、「go」や「write」、「baseball」等の単語に対して、当該単語をベクトルで表現した単語ベクトルが対応付けられている。
Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, and Jeffrey Dean. Distributed Representations of Words and Phrases and their Compositionality. In Proceedings of NIPS, 2013.
ここで、単語ベクトル記憶部101に格納されているデータ(単語と単語ベクトルとの組)の一例を図3に示す。図3は、単語ベクトル記憶部101に格納されているデータの一例を示す図である。図3に示すように、単語ベクトル記憶部101では、例えば、「go」や「write」、「baseball」等の単語に対して、当該単語をベクトルで表現した単語ベクトルが対応付けられている。
なお、単語ベクトル記憶部101に記憶されていない単語の単語ベクトルは、E次元の零ベクトルであるものとする。また、所定の長さのベクトル系列を作成する際のパディングに用いられる特殊単語「PAD」の単語ベクトルは、E次元の零ベクトルであるものとする。
入力部102は、質問応答時において、与えられた文書及び質問を入力する。また、入力部102は、学習時において、訓練データセット(すなわち、文書と質問と正解回答文との組である訓練データから構成される集合(データセット))を入力する。
単語系列符号化部103は、入力部102により入力された文書に含まれる各単語の系列(以降、「単語系列」と表す。)を、当該単語系列を構成する各単語それぞれをベクトルで表現したベクトル系列(以降、「第1の文書ベクトル系列」と表す。)に変換する。また、単語系列符号化部103は、第1の文書ベクトル系列を、ニューラルネットワークによる符号化器を用いて第2の文書ベクトル系列に変換する。
単語系列符号化部103は、入力部102により入力された質問に含まれる単語系列を、当該単語系列を構成する各単語それぞれをベクトルで表現したベクトル系列(以降、「第1の質問ベクトル系列」と表す。)に変換する。また、単語系列符号化部103は、第1の質問ベクトル系列を、ニューラルネットワークによる符号化器を用いて第2の質問ベクトル系列に変換する。
単語系列マッチング部104は、単語系列符号化部103により得られた第2の文書ベクトル系列及び第2の質問ベクトル系列について、マッチング行列を計算する。
文書注視部105は、単語系列マッチング部104により計算されたマッチング行列を用いて、文書に含まれる各単語の注視を計算する。
質問注視部106は、単語系列マッチング部104により計算されたマッチング行列を用いて、質問に含まれる各単語の注視を計算する。
回答生成部107は、ニューラルネットワークによる復号化器と、文書注視部105により計算された文書に含まれる各単語の注視の分布(以降、「注視分布」と表す。)と、質問注視部106により計算された質問に含まれる各単語の注視分布と、語彙Vに含まれる単語の確率分布とを用いて、語彙V´に含まれる各単語が、回答文に含まれる単語として選択されるスコアを計算する。そして、回答生成部107は、質問応答時において、計算したスコアを用いて、回答文に含まれる各単語を語彙V´から選択する。これにより、回答文が生成される。
出力部108は、質問応答時において、回答生成部107により生成された回答文を出力する。なお、回答文の出力先は限定されない。回答文の出力先としては、例えば、ディスプレイ等の表示装置、HDD(Hard Disk Drive)等の補助記憶装置、スピーカ等の音声出力装置、通信ネットワークを介して接続される他の装置等が挙げられる。
パラメータ更新部109は、学習時において、回答生成部107により計算されたスコアを表す確率分布と、入力部102により入力された正解回答文とを用いて、損失を計算する。そして、パラメータ更新部109は、この損失を用いて、任意の最適化方法によりパラメータを更新する。これにより、回答文に含まれる単語を生成するためのニューラルネットワークが学習される。
なお、訓練データセットを用いてパラメータの更新が行われた後、質問応答装置100は、訓練データセットに含まれない文書及び質問(訓練データセットに含まれない文書及び質問を示すデータは「テストデータ」とも呼ばれる。)を用いて、学習されたニューラルネットワークの認識精度の評価(すなわち、回答生成部107により生成される回答文の精度に関する評価)を行っても良い。
(質問応答装置100のハードウェア構成)
次に、本発明の実施の形態における質問応答装置100のハードウェア構成について、図4を参照しながら説明する。図4は、本発明の実施の形態における質問応答装置100のハードウェア構成の一例を示す図である。
次に、本発明の実施の形態における質問応答装置100のハードウェア構成について、図4を参照しながら説明する。図4は、本発明の実施の形態における質問応答装置100のハードウェア構成の一例を示す図である。
図4に示すように、本発明の実施の形態における質問応答装置100は、入力装置151と、表示装置152と、外部I/F153と、RAM(Random Access Memory)154と、ROM(Read Only Memory)155と、演算装置156と、通信I/F157と、補助記憶装置158とを有する。これら各ハードウェアは、それぞれがバスBを介して通信可能に接続されている。
入力装置151は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置152は、例えばディスプレイ等であり、質問応答装置100の処理結果(例えば、質問に対する回答文等)を表示する。なお、質問応答装置100は、入力装置151及び表示装置152の少なくとも一方を有していなくても良い。
外部I/F153は、外部装置とのインタフェースである。外部装置には、記録媒体153a等がある。質問応答装置100は、外部I/F153を介して、記録媒体153a等の読み取りや書き込み等を行うことができる。記録媒体153aには、質問応答装置100が有する各機能部を実現する1以上のプログラム等が記録されていても良い。
記録媒体153aには、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
RAM154は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM155は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM155には、例えば、OS(Operating System)に関する設定や通信ネットワークに関する設定等が格納されている。
演算装置156は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等であり、ROM155や補助記憶装置158等からプログラムやデータをRAM154上に読み出して処理を実行する。質問応答装置100が有する各機能部は、例えば、補助記憶装置158に格納されている1以上のプログラムが演算装置156に実行させる処理により実現される。なお、質問応答装置100は、演算装置156としてCPUとGPUとの両方を有していても良いし、CPU又はGPUのいずれか一方のみを有していても良い。
通信I/F157は、質問応答装置100を通信ネットワークに接続するためのインタフェースである。質問応答装置100が有する各機能部を実現する1以上のプログラムは、通信I/F157を介して、所定のサーバ装置等から取得(ダウンロード)されても良い。
補助記憶装置158は、例えばHDDやSSD(Solid State Drive)等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置158に格納されているプログラムやデータには、例えば、OS、質問応答装置100が有する各機能部を実現する1以上のプログラム等がある。
本発明の実施の形態における質問応答装置100は、図4に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、図4に示す例では、本発明の実施の形態における質問応答装置100が1台の装置(コンピュータ)で実現される場合について説明したが、これに限られない。本発明の実施の形態における質問応答装置100は、複数台の装置(コンピュータ)で実現されていても良い。
(学習処理)
以降では、本発明の実施の形態における質問応答装置100が実行する学習処理について、図5を参照しながら説明する。図5は、本発明の実施の形態における学習処理の一例を示すフローチャートである。上述したように、学習時の質問応答装置100は、図2に示す各機能部を有する。
以降では、本発明の実施の形態における質問応答装置100が実行する学習処理について、図5を参照しながら説明する。図5は、本発明の実施の形態における学習処理の一例を示すフローチャートである。上述したように、学習時の質問応答装置100は、図2に示す各機能部を有する。
ステップS101:入力部102は、訓練データセットを入力する。入力部102は、例えば、補助記憶装置158や記録媒体153等に格納されている訓練データセットを入力しても良いし、通信I/F157を介して所定のサーバ装置等から取得(ダウンロード)した訓練データセットを入力しても良い。
ステップS102:入力部102は、訓練データセットの学習回数を示すエポック数neを1に初期化する。なお、エポック数neの最大値は、ハイパーパラメータであり、Neであるものとする。Neとしては、例えば、Ne=15等とすれば良い。
ステップS103:入力部102は、訓練データセットをNb個のミニバッチに分割する。なお、ミニバッチへの分割数Nbは、ハイパーパラメータである。Nbとしては、例えば、Nb=60等とすれば良い。
ステップS104:質問応答装置100は、Nb個のミニバッチ毎に、パラメータ更新処理を繰り返し実行する。すなわち、質問応答装置100は、ミニバッチを用いて損失を計算した上で、計算した損失を用いて、任意の最適化方法によりパラメータを更新する。なお、パラメータ更新処理の詳細については後述する。
ステップS105:入力部102は、エポック数neがNe−1より大きいか否かを判定する。エポック数neがNe−1より大きいと判定されなかった場合、質問応答装置100は、ステップS106の処理を実行する。一方で、エポック数neがNe−1より大きいと判定された場合、質問応答装置100は、学習処理を終了する。
ステップS106:入力部102は、エポック数neに対して「1」を加算する。そして、質問応答装置100は、ステップS103の処理を実行する。これにより、ステップS101で入力された訓練データセットを用いて、ステップS103〜ステップS104の処理がNe回繰り返し実行される。
(パラメータ更新処理)
ここで、上記のステップS104におけるパラメータ更新処理について、図6を参照しながら説明する。図6は、本発明の実施の形態におけるパラメータ更新処理の一例を示すフローチャートである。なお、以降では、Nb個のミニバッチのうちの或る1つのミニバッチを用いたパラメータ更新処理について説明する。
ここで、上記のステップS104におけるパラメータ更新処理について、図6を参照しながら説明する。図6は、本発明の実施の形態におけるパラメータ更新処理の一例を示すフローチャートである。なお、以降では、Nb個のミニバッチのうちの或る1つのミニバッチを用いたパラメータ更新処理について説明する。
ステップS201:入力部102は、ミニバッチの中から1つの訓練データを取得する。なお、訓練データは、文書と質問と正解回答文の組(すなわち、(文書,質問,正解回答文)で表されるデータ)である。以降では、「文書」、「質問」及び「正解回答文」と表した場合、ステップS201で取得された訓練データに含まれる文書、質問及び正解回答文をそれぞれ指すものとする。
ステップS202:単語系列符号化部103は、以下のステップS202−1〜ステップS202−2により第1の文書ベクトル系列X及び第2の文書ベクトル系列Hを得る。
ステップS202−1:単語系列符号化部103は、文書の先頭からT番目までの単語系列(x1,x2,・・・,xT)に含まれる各単語について単語ベクトル記憶部101を検索し、これらの各単語xt(t=1,2,・・・,T)を単語ベクトルetにそれぞれ変換する。そして、単語系列符号化部103は、これらの単語ベクトルet(t=1,2,・・・,T)をベクトル系列とすることで、第1の文書ベクトル系列X=[e1 e2 ・・・ eT]∈RE×Tを得る。これにより、文書の単語系列(x1,x2,・・・,xT)が第1の文書ベクトル系列Xに変換される。ここで、Tは単語系列の長さであり、例えば、T=400等とすれば良い。
なお、文書の単語系列の長さがTに満たない場合は、特殊単語「PAD」でパディングする。一方で、文書の単語系列の長さがTを超える場合は、超えた部分の単語系列は無視される。
ステップS202−2:単語系列符号化部103は、ニューラルネットワークによる符号化器を用いて、第1の文書ベクトル系列Xを、2d×Tの第2の文書ベクトル系列H=[H1,H2,・・・,HT]に変換する。ここで、符号化器には、例えば、隠れ状態のサイズをdとして、以下の参考文献2に開示されている双方向のLSTM(Long short-term memory)を用いる。なお、dとしては、例えば、d=100等とすれば良い。
[参考文献2]
Hochreiter, S., and Schmidhuber, J. 1997. Long short-term memory. Neural Computation 9(8):1735-1780.
ステップS203:単語系列符号化部103は、以下のステップS203−1〜ステップS203−2により第1の質問ベクトル系列Q及び第2の質問ベクトル系列Uを得る。
Hochreiter, S., and Schmidhuber, J. 1997. Long short-term memory. Neural Computation 9(8):1735-1780.
ステップS203:単語系列符号化部103は、以下のステップS203−1〜ステップS203−2により第1の質問ベクトル系列Q及び第2の質問ベクトル系列Uを得る。
ステップS203−1:単語系列符号化部103は、質問の先頭からJ番目までの単語系列(q1,q2,・・・,qJ)に含まれる各単語について単語ベクトル記憶部101を検索し、これらの各単語qj(j=1,2,・・・,J)を単語ベクトルejにそれぞれ変換する。そして、単語系列符号化部103は、これらの単語ベクトルej(j=1,2,・・・,J)をベクトル系列とすることで、第1の質問ベクトル系列Q=[e1 e2 ・・・ eJ]∈RE×Jを得る。これにより、質問の単語系列(q1,q2,・・・,qJ)が第1の質問ベクトル系列Qに変換される。ここで、Jは単語系列の長さであり、例えば、T=30等とすれば良い。
なお、質問の単語系列の長さがJに満たない場合は、特殊単語「PAD」でパディングする。一方で、文書の単語系列の長さがJを超える場合は、超えた部分の単語系列は無視される。
ステップS203−2:単語系列符号化部103は、ニューラルネットワークによる符号化器を用いて、第2の質問ベクトル系列Qを、2d×Jの第2の質問ベクトル系列U=[U1,U2,・・・,UJ]に変換する。なお、符号化器は、上記のステップS202−2と同様に、隠れ状態のサイズをdとした双方向のLSTMを用いる。
ステップS204:単語系列マッチング部104は、以下のステップS204−1〜ステップS204−4によりマッチング行列MH及びMUを計算する。
ステップS204−1:単語系列マッチング部104は、第2の文書ベクトル系列Hと、第2の質問ベクトル系列Uとを用いて、マッチング行列Sを計算する。マッチング行列Sの各要素Stjは、以下により計算される。
ステップS204−2:単語系列マッチング部104は、第2の文書ベクトル系列Hと、第2の質問ベクトル系列Uと、マッチング行列Sとを用いて、アテンション重み付き平均ベクトルUj 〜及びHt 〜を計算する。なお、明細書の記載の便宜上、明細書のテキストにおいては、「波線を上に付したX」をX〜と表記する。
アテンション重み付き平均ベクトルUj 〜及びHt 〜は、それぞれ以下により計算される。
ステップS204−3:単語系列マッチング部104は、ベクトル系列GU及びGHを計算する。ベクトル系列GU及びGHは、それぞれ以下により計算される。
ステップS205:回答生成部107は、回答文に含まれる単語ykのインデックスkをk=1に初期化すると共に、ニューラルネットワークによる復号化器の初期状態s0∈R2dを零ベクトルで初期化する。また、回答生成部107は、回答文に含まれる0番目の単語y0を、文頭を表す特殊単語<s>に設定する。ここで、復号化器には、RNN(Recurrent Neural Network)、RNNの一種であるLSTM等のニューラルネットワークを用いる。なお、以降では、回答文に含まれる単語ykを「出力単語yk」とも表す。
ステップS206:回答生成部107は、出力単語yk−1について単語ベクトル記憶部101を検索し、当該出力単語yk−1をE次元の単語ベクトルzk−1に変換する。
ステップS207:文書注視部105は、復号化器の状態sk−1を用いて、以下により文書に含まれる各単語の注視ck Hを計算する。
ステップS208:質問注視部106は、復号化器の状態sk−1を用いて、以下により質問に含まれる各単語の注視ck Uを計算する。
ステップS209:回答生成部107は、復号化器の状態skを以下により更新する。
ステップS210:回答生成部107は、以下により文書注視スコアλH及び質問注視スコアλUをそれぞれ計算する。
ステップS211:回答生成部107は、語彙V´中の各単語が出力単語ykに選択されるスコアを表すベクトルokを計算する。
ここで、語彙V´に含まれる単語数をN、語彙V´に含まれるn番目の単語が出力単語ykとして選択されるスコアをok,nと表すものとする。このとき、ベクトルokはok=(ok,1,ok,2,・・・,ok,N)と表すことができる。
また、ok,nが大きい程、語彙V´に含まれるn番目の単語が出力単語ykに選択され易いものとする。このとき、各ok,nが0≦ok,n≦1、かつ、各ok,nの和が1となるように正規化されることによって、ok=(ok,1,ok,2,・・・,ok,N)は、k−1番目までの出力単語が選択されている場合に、語彙V´に含まれる各単語が出力単語ykとして選択される条件付き確率の確率分布p(yk|y<k,X)により表すことができる。この確率分布p(yk|y<k,X)は、文書注視スコアλH及び質問注視スコアλUを用いて、例えば、以下により計算される。
また、PGは語彙Vに含まれる単語に基づく確率分布であり、以下により計算される。
ステップS212:回答生成部107は、正解回答文に含まれる各単語のうち、出力単語ykに対応する単語yk *(すなわち、正解単語)が、文末を表す特殊単語</s>であるか否かを判定する。正解単語yk *が特殊単語</s>でないと判定された場合、質問応答装置100は、ステップS213の処理を実行する。一方で、正解単語yk *が特殊単語</s>であると判定された場合、質問応答装置100は、ステップS214の処理を実行する。
ステップS213:回答生成部107は、出力単語ykのインデックスkに対して1を加算する。そして、回答生成部107は、加算後のkを用いて、ステップS206の処理を実行する。これにより、各k(k=1,2,・・・)に対して、正解単語yk *が特殊単語</s>となるまで、ステップS206〜ステップS212の処理が繰り返し実行される。
ステップS214:パラメータ更新部109は、上記のステップS201で取得された訓練データに関する損失Lを計算する。損失Lは、この訓練データに含まれる正解回答文と、定数ωと、回答生成部107により計算されたスコアを表す確率分布pとを用いて、以下により計算される。
ステップS215:入力部102は、未取得の訓練データがミニバッチの中にあるか否かを判定する。未取得の訓練データがミニバッチの中にあると判定された場合、質問応答装置100は、ステップS201の処理を実行する。これにより、ミニバッチに含まれる訓練データ毎に、ステップS202〜ステップS214の処理が実行される。一方で、未取得の訓練データがミニバッチの中にないと判定された場合(すなわち、ミニバッチに含まれる全ての訓練データに対してステップS202〜ステップS214の処理が実行された場合)、質問応答装置100は、ステップS216の処理を実行する。
ステップS216:パラメータ更新部109は、ミニバッチに含まれる各訓練データに関してそれぞれ計算された損失Lの平均を計算した上で、計算した損失Lの平均を用いて、例えば、確率的勾配降下法により、学習対象のニューラルネットワークのパラメータを更新する。なお、確率的勾配降下法は、パラメータの最適化方法の一例であって、任意の最適化方法が用いられても良い。これにより、1つのミニバッチ用いて、学習対象のニューラルネットワークのパラメータが更新される。
なお、上記で説明したパラメータ更新処理では、回答文に含まれる出力単語ykの生成は行っていないが、後述する図7のステップS312と同様の方法により出力単語ykを生成しても良い。
(質問応答処理)
以降では、本発明の実施の形態における質問応答装置100が実行する質問応答処理について、図7を参照しながら説明する。図7は、本発明の実施の形態における質問応答処理の一例を示すフローチャートである。上述したように、質問応答時の質問応答装置100は、図1に示す各機能部を有する。
以降では、本発明の実施の形態における質問応答装置100が実行する質問応答処理について、図7を参照しながら説明する。図7は、本発明の実施の形態における質問応答処理の一例を示すフローチャートである。上述したように、質問応答時の質問応答装置100は、図1に示す各機能部を有する。
ステップS301:入力部102は、文書及び質問を入力する。
以降のステップS302〜ステップS311は、図6のステップS202〜ステップS211とそれぞれ同様であるため、その説明を省略する。ただし、ニューラルネットワークのパラメータは、学習処理で学習されたパラメータを用いる。
ステップS312:回答生成部107は、ステップS311で計算されたベクトルokを用いて、語彙V´の中から出力単語ykを選択する。
例えば、回答生成部107は、ベクトルokの各要素ok,nのうち、スコアが最大である要素に対応する単語を語彙V´から選択し、選択した単語を出力単語ykとすれば良い。なお、スコアが最大となる要素ok,nに対応する単語とは、この単語を出力単語ykとして選択した場合に確率p(yk|y<k,X)が最大となる単語のことである。
なお、回答生成部107は、上記以外にも、例えば、確率分布p(yk|y<k,X)に従って、語彙V´からサンプリングすることにより出力単語ykを選択しても良い。
このように、出力単語ykが語彙B(すなわち、文書及び質問に含まれる単語により構成される語彙)に含まれるか否かを識別する学習済のニューラルネットワークを用いることで、各kに対して、出力単語ykに対応する確率分布p(yk|y<k,X)を増減させることができる。これにより、回答文に含まれる出力単語ykとして、語彙Bに含まれる単語を精度良く選択することができるようになる。
ステップS313:回答生成部107は、上記のステップS312で出力単語ykとして、文末を表す特殊単語</s>が選択されたか否かを判定する。出力単語ykとして特殊単語</s>が選択されなかったと判定された場合、質問応答装置100は、ステップS314の処理を実行する。これにより、各k(k=1,2,・・・)に対して、出力単語ykとして特殊単語</s>が選択されるまで、ステップS306〜ステップS312の処理が繰り返し実行される。一方で、出力単語ykとして特殊単語</s>が選択されたと判定された場合、質問応答装置100は、ステップS315の処理を実行する。
以降のステップS314は、図6のステップS213とそれぞれ同様であるため、その説明を省略する。
ステップS315:回答生成部107は、出力単語yk(k=0,1,2,・・・)が含まれる回答文を生成する。これにより、上記のステップS301で入力された文書及び質問に対する回答文が生成される。
ステップS316:出力部108は、上記のステップS315で生成された回答文を所定の出力先に出力する。
(まとめ)
以上のように、本発明の実施の形態における質問応答装置100は、任意の文書と、この文書に対する任意の質問とが与えられた場合に、与えられた文書及び質問に含まれる単語も用いて、ニューラルネットワークによる文生成技術により回答文を生成する。これにより、本発明の実施の形態における質問応答装置100では、例えば、与えられた文書及び質問に対する回答文に未知語が含まれてしまう事態を大幅に削減することができ、精度の高い質問応答を実現することができるようになる。
以上のように、本発明の実施の形態における質問応答装置100は、任意の文書と、この文書に対する任意の質問とが与えられた場合に、与えられた文書及び質問に含まれる単語も用いて、ニューラルネットワークによる文生成技術により回答文を生成する。これにより、本発明の実施の形態における質問応答装置100では、例えば、与えられた文書及び質問に対する回答文に未知語が含まれてしまう事態を大幅に削減することができ、精度の高い質問応答を実現することができるようになる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
100 質問応答装置
101 単語ベクトル記憶部
102 入力部
103 単語系列符号化部
104 単語系列マッチング部
105 文書注視部
106 質問注視部
107 回答生成部
108 出力部
109 パラメータ更新部
101 単語ベクトル記憶部
102 入力部
103 単語系列符号化部
104 単語系列マッチング部
105 文書注視部
106 質問注視部
107 回答生成部
108 出力部
109 パラメータ更新部
Claims (6)
- 文書及び質問を入力として、所定の第1の語彙と、前記文書及び前記質問に含まれる単語により構成される第2の語彙との和集合に含まれる単語を用いて、前記質問に対する回答文を生成する処理を学習済モデルにより実行する回答生成手段を有し、
前記学習済モデルは、前記回答文に含まれる単語が前記第2の語彙に含まれるか否かについて予め学習した学習済ニューラルネットワークを含み、該学習済ニューラルネットワークにより、前記回答文の生成時に、該回答文に含まれる単語として、前記第2の語彙に含まれる単語が選択される確率を増減させる、
ことを特徴とする質問応答装置。 - 前記文書及び前記質問にそれぞれ含まれる単語の単語ベクトル系列からマッチング行列を計算するマッチング手段と、
前記マッチング手段により計算されたマッチング行列から、前記文書に含まれる単語の第1の注視を計算する文書注視手段と、
前記マッチング手段により計算されたマッチング行列から、前記質問に含まれる単語の第2の注視を計算する質問注視手段と、
を有し、
前記確率の分布は、前記第1の注視の分布と、前記第2の注視の分布とを用いて計算される、ことを特徴とする請求項1に記載の質問応答装置。 - 文書と、質問と、該質問に対する正解回答文とが含まれる訓練データを入力として、所定の第1の語彙と、前記文書及び前記質問に含まれる単語により構成される第2の語彙との和集合を用いて、該和集合に含まれる各単語が、前記質問に対する回答文に含まれる単語として選択される確率の分布を計算する処理をニューラルネットワークにより実行する計算手段と、
前記正解回答文と、前記確率の分布とを用いて計算された損失から、前記ニューラルネットワークのパラメータを更新する更新手段と、
ことを特徴とする質問応答装置。 - コンピュータが、
文書及び質問を入力として、所定の第1の語彙と、前記文書及び前記質問に含まれる単語により構成される第2の語彙との和集合に含まれる単語を用いて、前記質問に対する回答文を生成する処理を学習済モデルにより実行する回答生成手順を実行し、
前記学習済モデルは、前記回答文に含まれる単語が前記第2の語彙に含まれるか否かについて予め学習した学習済ニューラルネットワークを含み、該学習済ニューラルネットワークにより、前記回答文の生成時に、該回答文に含まれる単語として、前記第2の語彙に含まれる単語が選択される確率を増減させる、
ことを特徴とする質問応答方法。 - コンピュータが、
文書と、質問と、該質問に対する正解回答文とが含まれる訓練データを入力として、所定の第1の語彙と、前記文書及び前記質問に含まれる単語により構成される第2の語彙との和集合を用いて、該和集合に含まれる各単語が、前記質問に対する回答文に含まれる単語として選択される確率の分布を計算する処理をニューラルネットワークにより実行する計算手順と、
前記正解回答文と、前記確率の分布とを用いて計算された損失から、前記ニューラルネットワークのパラメータを更新する更新手順と、
を実行することを特徴とする質問応答方法。 - コンピュータを、請求項1乃至3の何れか一項に記載の質問応答装置における各手段として機能させるためのプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018082521A JP6772213B2 (ja) | 2018-04-23 | 2018-04-23 | 質問応答装置、質問応答方法及びプログラム |
PCT/JP2019/013069 WO2019208070A1 (ja) | 2018-04-23 | 2019-03-27 | 質問応答装置、質問応答方法及びプログラム |
US17/049,544 US11693854B2 (en) | 2018-04-23 | 2019-03-27 | Question responding apparatus, question responding method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018082521A JP6772213B2 (ja) | 2018-04-23 | 2018-04-23 | 質問応答装置、質問応答方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019191827A JP2019191827A (ja) | 2019-10-31 |
JP6772213B2 true JP6772213B2 (ja) | 2020-10-21 |
Family
ID=68293975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018082521A Active JP6772213B2 (ja) | 2018-04-23 | 2018-04-23 | 質問応答装置、質問応答方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11693854B2 (ja) |
JP (1) | JP6772213B2 (ja) |
WO (1) | WO2019208070A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021171575A1 (ja) * | 2020-02-28 | 2021-09-02 | 日本電信電話株式会社 | 学習装置、テキスト生成装置、学習方法、テキスト生成方法及びプログラム |
JP7562961B2 (ja) | 2020-03-05 | 2024-10-08 | 富士フイルムビジネスイノベーション株式会社 | 回答生成装置及びプログラム |
CN111538838B (zh) * | 2020-04-28 | 2023-06-16 | 中国科学技术大学 | 基于文章的问题生成方法 |
CN115885278A (zh) | 2020-06-11 | 2023-03-31 | 株式会社岛津制作所 | 生成对与分析装置相关的问题的应答的方法、系统及装置 |
JP2022050973A (ja) | 2020-09-18 | 2022-03-31 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置、及びコンピュータプログラム |
CN112380855B (zh) * | 2020-11-20 | 2024-03-08 | 北京百度网讯科技有限公司 | 确定语句通顺度的方法、确定概率预测模型的方法和装置 |
CN114638212A (zh) * | 2020-12-16 | 2022-06-17 | 科沃斯商用机器人有限公司 | 模型训练方法、装置、电子设备和存储介质 |
CN115713065B (zh) * | 2022-11-08 | 2023-09-15 | 贝壳找房(北京)科技有限公司 | 一种生成问题的方法、电子设备及计算机可读存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8340955B2 (en) * | 2000-11-15 | 2012-12-25 | International Business Machines Corporation | System and method for finding the most likely answer to a natural language question |
JP2006072787A (ja) * | 2004-09-03 | 2006-03-16 | Advanced Telecommunication Research Institute International | 自動質問解答方法、そのためのモデル作成方法、およびコンピュータプログラム |
JP5825676B2 (ja) * | 2012-02-23 | 2015-12-02 | 国立研究開発法人情報通信研究機構 | ノン・ファクトイド型質問応答システム及びコンピュータプログラム |
US9443005B2 (en) * | 2012-12-14 | 2016-09-13 | Instaknow.Com, Inc. | Systems and methods for natural language processing |
US20160350653A1 (en) * | 2015-06-01 | 2016-12-01 | Salesforce.Com, Inc. | Dynamic Memory Network |
US10572595B2 (en) * | 2017-04-13 | 2020-02-25 | Baidu Usa Llc | Global normalized reader systems and methods |
CN108415977B (zh) * | 2018-02-09 | 2022-02-15 | 华南理工大学 | 一个基于深度神经网络及强化学习的生成式机器阅读理解方法 |
CN108763535B (zh) * | 2018-05-31 | 2020-02-07 | 科大讯飞股份有限公司 | 信息获取方法及装置 |
-
2018
- 2018-04-23 JP JP2018082521A patent/JP6772213B2/ja active Active
-
2019
- 2019-03-27 WO PCT/JP2019/013069 patent/WO2019208070A1/ja active Application Filing
- 2019-03-27 US US17/049,544 patent/US11693854B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20210256018A1 (en) | 2021-08-19 |
US11693854B2 (en) | 2023-07-04 |
WO2019208070A1 (ja) | 2019-10-31 |
JP2019191827A (ja) | 2019-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6772213B2 (ja) | 質問応答装置、質問応答方法及びプログラム | |
US11030414B2 (en) | System and methods for performing NLP related tasks using contextualized word representations | |
US11604956B2 (en) | Sequence-to-sequence prediction using a neural network model | |
US11755909B2 (en) | Method of and system for training machine learning algorithm to generate text summary | |
US20210232948A1 (en) | Question responding apparatus, question responding method and program | |
Heigold et al. | An extensive empirical evaluation of character-based morphological tagging for 14 languages | |
CN110036399A (zh) | 神经网络数据录入系统 | |
Beysolow | Applied natural language processing with python | |
CN108460028B (zh) | 将句子权重融入神经机器翻译的领域适应方法 | |
US20220138601A1 (en) | Question responding apparatus, learning apparatus, question responding method and program | |
WO2020170912A1 (ja) | 生成装置、学習装置、生成方法及びプログラム | |
JPWO2019106965A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
WO2014073206A1 (ja) | 情報処理装置、及び、情報処理方法 | |
WO2020170906A1 (ja) | 生成装置、学習装置、生成方法及びプログラム | |
US12118314B2 (en) | Parameter learning apparatus, parameter learning method, and computer readable recording medium | |
US11829722B2 (en) | Parameter learning apparatus, parameter learning method, and computer readable recording medium | |
WO2021234610A1 (en) | Method of and system for training machine learning algorithm to generate text summary | |
US20210279579A1 (en) | Conversion apparatus, learning apparatus, conversion method, learning method and program | |
JP4405542B2 (ja) | 音素モデルをクラスタリングする装置、方法およびプログラム | |
KR102188553B1 (ko) | 애니메이션 기반의 스토리텔링을 통한 한글 교육 시스템 | |
KR20220160373A (ko) | 신경망 모델 기반 암호문을 복호화하기 위한 전자 장치 및 전자 장치의 제어 방법 | |
Mimi et al. | Text Prediction Zero Probability Problem Handling with N-gram Model and Laplace Smoothing | |
Grover et al. | DeepCuts: Single-Shot Interpretability based Pruning for BERT | |
WO2023084759A1 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
WO2022185457A1 (ja) | 特徴量抽出装置、学習装置、特徴量抽出方法、学習方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200731 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200929 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200930 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6772213 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |