JP7081455B2 - 学習装置、学習方法、及び学習プログラム - Google Patents
学習装置、学習方法、及び学習プログラム Download PDFInfo
- Publication number
- JP7081455B2 JP7081455B2 JP2018215088A JP2018215088A JP7081455B2 JP 7081455 B2 JP7081455 B2 JP 7081455B2 JP 2018215088 A JP2018215088 A JP 2018215088A JP 2018215088 A JP2018215088 A JP 2018215088A JP 7081455 B2 JP7081455 B2 JP 7081455B2
- Authority
- JP
- Japan
- Prior art keywords
- external knowledge
- sentence
- unit
- input
- question
- 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/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- 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/042—Knowledge-based neural networks; Logical representations of neural 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
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Description
本発明は、外部知識を用いた自然言語処理における外部知識の検索精度を向上させるための学習装置、学習方法、及び学習プログラムに関する。
近年、深層学習技術の台頭や自然言語処理に用いられるデータセットの整備により、人工知能(AI:Artificial Intelligence)による文章に対する質問応答や対話等の言語処理が注目を集めている。
人間が自然言語を理解して回答する場合は、自身のもつ経験、常識、及び世界知識を踏まえて、理解した質問に対して回答を推論することができる。例えば、人間が文章を読んでその文章に対する質問に回答をする場合には、文章からだけでなく、自分のもつ経験等から回答を見つけている。しかし、AIの場合は質問の対象となっている文章に含まれている情報だけから回答を推論する必要がある。そのため、AIによる質問応答や対話には限界があると考えられる。
この限界を超えるため、自然言語処理のうち、特に質問応答モデルで、質問対象の文章だけでなく外部の文章から得られる外部知識を用いて回答を推論することが有効である。この技術には、広範な外部知識を扱うことができるというメリットがある。その一方で、外部知識が大きいほど時間計算量及び空間計算量が大きくなるという問題がある。特に、外部知識に存在する大量の文章集合を実用的な計算量にして取り扱うためには、事前の検索によって外部知識の文章を絞り込む必要がある。従来のこうした外部知識を用いる手法には、外部テキストコーパスをニューラルネットワーク内で利用する技術が知られている(例えば、非特許文献1)。
Xinyu Hua, Lu Wang, " Neural Argument Generation Augmented with Externally Retrieved Evidence " College of Computer and Information Science Northeastern University Boston, MA 02115, temarXiv: 1805.10254v1 [cs.CL] 25 May 2018
非特許文献1のモデルは、発話文(あるいは、質問文)に対する回答として応答文を得るための対話モデルである。図13に示すように、まず、外部知識検索部51によって外部知識の検索対象である外部知識データベース2(例えば、コーパス)から、例えば10個の文を抽出する。外部知識の検索手法として、TF-IDF(Term Frequency-Inverse Document Frequency)から得られる文の類似度を用いて、発話文Qに類似する文章を外部知識データベース2から検索している。次に、外部知識結合部53が、検索した10個の文章Rを発話文の後ろにつなげる操作を行う。最後に、発話文Qに検索した10個の文をつないで新しくできた発話文QRを応答部54のニューラルネットワークに入力することで、応答文Aを出力として得ている。ニューラルネットワークでは、参考文献1に記載のマルチタスクSeq2Seq(Sequence to Sequence)の処理を行っている。
[参考文献1] Minh-Thang Luong, Quoc V. Le, Ilya Sutskever, Oriol Vinyals, Lukasz Kaiser "MULTI-TASK SEQUENCE TO SEQUENCE LEARNING" Published as a conference paper at ICLR 2016
非特許文献1では、外部知識検索部51で、TF-IDFから得られる類似度を用いて発話文に類似する外部知識の検索を行っている。TF-IDF等のニューラルネットワーク以外の手法を採用する利点としては、(1)ニューラルネットワークを利用するために行う必要があるパラメータの学習を必要としない、(2)計算量がニューラルネットワークに比べると小さい、という2つの利点が挙げられる。一方で、TF-IDFを用いた検索手法では、入力文を単語単位でしか扱えず単語の並びや文の構造については考慮されない。そのため、(1)精度面ではニューラルネットワークを用いた手法に劣る、(2)検索結果の文の件数を多くすることで精度を補わなければならない、という欠点が存在する。
また、非特許文献1に示される対話処理は、入力された発話文に対する回答として許容される範囲の内容の文を応答文として生成すればよいので、外部知識の高い検索精度は要求されない。しかし、質問文に対する応答文を生成する応答文生成処理では、質問文に対する正確な回答が求められるため、対話処理よりも、質問文に答えるために必要な外部知識を正確に検索する必要がある。
大量の文章集合を実用的な計算量で取り扱うためには、事前に検索によって文章量を絞り込む必要がある。しかし、TF-IDFの類似度を用いた検索手法では、入力文を単語単位でしか扱えず検索精度が不十分なため、検索件数を絞り込み過ぎると応答文生成処理に必要な文章が漏れてしまう可能性があり、十分な絞り込みができなかった。
本発明は、以上のような事情に鑑みてなされたものであり、演算処理に必要な外部知識を精度高く検索することが可能になるように、外部知識検索処理のパラメータを学習することができる学習装置、学習方法、及び学習プログラムを提供することを目的とする。
上記目的を達成するために、本発明の学習装置は、第1のニューラルネットワークを用いて、入力文と、外部知識データベースに含まれる外部知識の各々との類似度から得られるスコアを算出し、スコアに基づいて外部知識を選択し、選択された外部知識を検索結果とする外部知識検索部と、入力文と選択された外部知識とを入力とする所定の演算処理により、入力文に対する出力を取得する処理部と、入力文と、取得された出力と、選択された外部知識と、入力文に対して予め与えられた真の出力とに基づいて、真の出力に対する出力の正しさを表す指標と、選択された外部知識の質を表す指標とから定められる報酬を計算する報酬計算部と、報酬を用いて、第1のニューラルネットワークのパラメータを更新する学習部と、を備える。
「知識」とは、自然言語を記録した電子データを指し、複数の単語から構成された意味を持つ単位をいう。
「自然言語」とは、人間によって日常の意思疎通のために用いられる記号体系をいい、文字や記号として書かれたものをいう。
なお、学習装置は、外部知識結合部をさらに備え、外部知識検索部は、処理対象文章と、入力文とを入力とし、第1のニューラルネットワークを用いて、外部知識データベースに含まれる外部知識の各々と入力文との類似度と、外部知識の各々と処理対象文章との類似度の2種類の類似度とに基づいて、外部知識を選択し、外部知識結合部は、処理対象文章に検索結果に含まれる各々の外部知識を結合した外部知識結合処理対象文章を生成し、処理部は、入力文と外部知識結合処理対象文章とを入力とする所定の演算処理により、入力文に対する出力を取得し、報酬計算部は、処理対象文章と、入力文と、取得された出力と、選択された外部知識と、入力文に対して予め与えられた真の出力とに基づいて、真の出力に対する出力の正しさを表す指標と、選択された外部知識の質を表す指標とから定められる報酬を計算するものが望ましい。
なお、入力文は、質問文であり、処理部は、所定の演算処理として、第2のニューラルネットワークを用いた応答文生成処理を行い、出力として、質問文に対する応答文を取得し、学習部は、報酬を用いて、第1のニューラルネットワークのパラメータと、第2のニューラルネットワークのパラメータとを更新するようにしてもよい。
本発明の学習方法は、コンピュータが、第1のニューラルネットワークを用いて、入力文と、外部知識データベースに含まれる外部知識の各々との類似度から得られるスコアを算出し、スコアに基づいて外部知識を選択し、選択された外部知識を検索結果とする外部知識検索ステップと、入力文と選択された外部知識とを入力とする所定の演算処理により、入力文に対する出力を取得する処理ステップと、入力文と、取得された出力と、選択された外部知識と、入力文に対して予め与えられた真の出力とに基づいて、真の出力に対する出力の正しさを表す指標と、選択された外部知識の質を表す指標とから定められる報酬を計算する報酬計算ステップと、報酬を用いて、第1のニューラルネットワークのパラメータを更新する学習ステップと、を実行する。
本発明の学習プログラムは、コンピュータを、上記の学習装置の各部として機能させるためのプログラムである。
以上の特徴からなる本発明によれば、演算処理に外部知識を利用するために、外部知識データベースにある膨大な外部知識を検索する際に、ニューラルネットワークを用いて外部知識を検索して、入力文に対して適切な出力を生成する。このニューラルネットワークを、真の出力に対する出力の正しさを表す指標と、選択された外部知識の質を表す指標とから定められる報酬を用いて学習することで、演算処理に必要な外部知識を、より精度高く検索することが可能になる。
以下、図面を参照して本発明の実施の形態を詳細に説明する。
図1は、本発明の第1の実施形態に係る処理装置1の構成の一例を示す機能ブロック図である。
処理装置1は、演算処理装置、主記憶装置、補助記憶装置、データバス、入出力インターフェース、及び通信インターフェース等の周知のハードウェアを備えたコンピュータあるいはサーバコンピュータにより構成されている。また、処理プログラムを構成する各種プログラムが主記憶装置にロードされた後に演算処理装置によって実行されることにより、処理装置1の各部として機能する。本実施形態では、各種プログラムは、処理装置1が備える補助記憶装置に記憶されているが、各種プログラムの記憶先はこれに限らず、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録されても良く、ネットワークを通して提供されても良い。また、その他のいかなる構成要素も、必ずしも単一のコンピュータやサーバコンピュータによって実現される必要はなく、ネットワークによって接続された複数のコンピュータにより分散されて実現されてもよい。
図1に示す処理装置1は、入力部10、第1の外部知識検索部11、第2の外部知識検索部12、外部知識結合部13、処理部14、及び、出力部15を備える。また、処理装置1には、外部知識データベース2が接続されている。
本実施形態では、外部知識データベース2が処理装置1の外部にあるものとする。処理装置1は、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)のプロトコルに従って通信するインターネット等の通信手段を介して外部知識データベース2に接続された場合について説明するが、これに限らず、他のプロトコルに従った通信手段であってもよい。
外部知識データベース2は、自然言語の文章を大量に集めた知識の集合を指す。例えば、数十万以上の知識が格納されたデータベースが好ましい。特に、自然言語の文章を構造化し大規模に集積した知識の集合であるコーパスが望ましい。例えば、Wikipedia等を用いることができる。なお、知識は、1文から数文で構成される文章である。
外部知識データベース2として、インターネット空間に存在する多数の知識データベースを必要に応じて利用することが可能である。また、外部知識データベース2として、複数の知識データベースを用いるようにしてもよい。以下、外部知識データベース2に格納されている知識を外部知識として説明する。
外部知識データベース2には、大量の外部知識が格納されているため、全ての外部知識を入力文と比較することで、入力文に対応する最適な外部知識を得ようとすると膨大な計算量になる。そこで、本実施の形態では、二段階で検索対象を絞り込む。
また、第1の実施の形態では、入力文Qに加えて、処理対象文章Pを入力し、処理部14で行われる演算処理が応答文生成処理である場合について説明する。具体的には、入力文Qが質問文であり、処理対象文章Pが質問対象文章であるものとする。以下、質問文をQとし、質問対象文章をPとして説明する。また、質問対象文章Pは、質問文Qに対する回答を作成する元となる文章であり、質問文Qは質問対象文章Pに対する質問を表す文である。質問文Qは、1文で構成され、質問対象文章Pは、1文から数文で構成される場合について説明する。
入力部10は、入出力インターフェースを介して質問対象文章Pと質問文Qのデータの入力を受け付けて、一旦、補助記憶装置上に記憶する。質問対象文章Pと質問文Qは、ネットワークを介して接続された外部の端末装置から送信されたデータを受信したものでもよい。
第1の外部知識検索部11は、外部知識データベース2に含まれる外部知識の各々と質問文Qとの類似度と、外部知識の各々と質問対象文章との類似度の2種類の類似度に基づいて第1のスコアを得る。この第1のスコアに基づいて、外部知識を外部知識データベース2から検索して第1の検索結果R1とする。
第1のスコアを得るための類似度として、外部知識、質問文Q、及び質問対象文章Pに含まれる単語の出現頻度を比較することによって得られる類似度を用いることができる。例えば、文の各々を単語に分けて、各単語が文中に出現した単語の出現頻度と、文中に出てきた単語が色々な文によく出現する単語なら低い値とし、あまり出現しない稀な単語なら高い値を示す指標とを用いて、文の類似度を求める手法を用いることができる。具体的には、TF-IDFを用いた類似度を第1の類似度として求めるようにしてもよい。質問文Qと質問対象文章Pに類似する外部知識を、第1の類似度のスコアによるランキングを用いて、例えば上位から指定された数の外部知識を第1の検索結果R1として出力する。類似度は、外部知識と質問文Qとの類似度と外部知識と質問対象文章Pとの類似度の2種類の類似度が得られるので、2種類の類似度の線形和、例えば、2種類の類似度の平均を第1のスコアとして用いる。あるいは、第1のスコアが基準値以上の外部知識を第1の検索結果R1として出力する。
外部知識データベース2には、数万から数十万以上の外部知識が記憶されている。まず、第1の外部知識検索部11では、TF-IDFによる類似度を用いて、外部知識データベース2から、例えば10~100個程度の外部知識を検索して第1の検索結果R1とする。第1の検索結果R1の数は、精度等に応じて適宜決定すればよく上記の範囲に限定されるものではない。
第2の外部知識検索部12は、予め学習されたニューラルネットワーク(第1のニューラルネットワーク)を用いて、第1の検索結果R1に含まれる外部知識の各々と質問文Qとの類似度と、第1の検索結果R1に含まれる外部知識の各々と質問対象文章Pとの類似度の2種類の類似度から第2のスコアを得る。この第2のスコアに基づいて、外部知識を第1の検索結果R1から検索して第2の検索結果R2とする。
具体的には、第2の外部知識検索部12は、ニューラルネットワークにより文を固定長のベクトルに変換する手法を用いて類似度を求める。まず、第1の検索結果R1に含まれる外部知識の各々、質問文Q、及び質問対象文章Pを、予め学習されたニューラルネットワークにより固定長の外部知識ベクトル、質問文ベクトル、及び質問対象文章ベクトルに変換する。次に、外部知識の各々に対して、外部知識ベクトルと質問文ベクトルの内積を求めて外部知識と質問文Qの類似度とし、外部知識ベクトルと質問対象文ベクトルの内積を求めて外部知識と質問対象文章Pの類似度として、2種類の類似度を計算する。第1の検索結果R1に含まれる外部知識を、2種類の類似度の線形和、あるいは、線形和の平均を第2のスコアとしてランキングして、上位から所定の数の外部知識を第2の検索結果R2として出力する。あるいは、類似度が基準値以上の外部知識を第2の検索結果R2として出力する。
予め学習されたニューラルネットワークとして、文embeddingの技術を用いて文埋め込みベクトルに変換するニューラルネットワークを用いることができる。embeddingとは、ニューラルネットワークで扱う対象である文、単語、又は文字など自然言語の構成要素をベクトルに変換する技術である。本実施の形態では、第1の検索結果R1に含まれる外部知識の各々に含まれる文、質問文Q、及び質問対象文章Pを、文embeddingの技術を用いて文埋め込みベクトルに変換する場合について説明する。文embeddingの手法では、既存の自然言語のコーパスによって事前に学習が行われた、文を固定長の埋め込みベクトルに変換するためのモデルが提供されている。文埋め込みベクトルは、文の意味を表す固定長ベクトルである。ニューラルネットワークを用いて文を文埋め込みベクトルに変換する手法として、例えば、下記の参考文献2に記載のuniversal sentense encoder等を用いることができる。なお、以下の説明では、単語を単語embeddingの技術(後述)を用いて変換して得られたベクトルを単語埋め込みベクトルといい、文を変換して得られた文埋め込みベクトルとは区別して説明する。
[参考文献2]Daniel Cera, Yinfei Yanga, Sheng-yi Konga, Nan Huaa, Nicole Limtiacob, Rhomni St. Johna, Noah Constanta, Mario Guajardo-C´espedesa, Steve Yuanc, Chris Tara, Yun-Hsuan Sunga, Brian Stropea, Ray Kurzweil "Universal Sentence Encoder", arXiv:1803.11175v2 [cs.CL] 12 Apr 2018
上述のように、まず、最初に、第1の外部知識検索部11のように計算量が小さい非ニューラルネットワークの手法を用いることで、最も計算量の大きい外部知識データベースの数万個以上に及ぶ外部知識を数十個に絞るための計算量を小さくすることができる。次に、第2の外部知識検索部12では、第1の検索結果R1をニューラルネットワークを用いた手法で絞り込みを行っているため精度が高く、第1の外部知識検索部11で数十個に絞られた外部知識からさらに少数精鋭の外部知識に絞り込むことが可能となる。このような第1の外部知識検索部11と第2の外部知識検索部12の二段階検索手法を用いることによって、計算量を小さくすることが可能になり、さらに計算量が小さくても外部知識の検索結果の精度を高くすることが可能になる。
また、ニューラルネットワークとして、文embedding等の事前に学習されたニューラルネットワークを用いることによって、第2の外部知識検索部12で用いるニューラルネットワークを学習するためのコストを抑えることができる。事前に学習されたニューラルネットワークを用いない場合は、第2の外部知識検索部12の検索精度を向上させるための学習を行う必要がある。具体的には、質問文Qと質問対象文章Pと、これらに対応する真の応答文との組み合わせを、学習のためのデータセットとして用意して、学習を行うことで検索精度を向上させなければならず、実用化できるようになるまでの時間がかかり開発負荷が高くなる。
外部知識結合部13は、質問対象文章Pの文字列と第2の検索結果R2に含まれる外部知識の各々の文字列を結合した外部知識結合処理対象文章として外部知識結合質問対象文章PRを生成する。
処理部14は、質問文Qと第2の検索結果R2に含まれる各々の外部知識とを入力として応答文生成処理を行い、質問文Qに対する応答文Aを出力する。本実施の形態では、処理部14は、質問文Qを入力し、さらに外部知識結合部13で得られた外部知識結合質問対象文章PRを検索結果R2の外部知識として入力して、応答文Aを生成する。応答文生成処理は既存の様々な手法を用いることができるが、例えば、ニューラルネットワーク(第2のニューラルネットワーク)を用いた手法を用いることができる。具体的には、参考文献3に記載のBiDAF(BI-DIRECTIONAL ATTENTION FLOW FOR MACHINE COMPREHENSION)等を用いることができる。
[参考文献3] Minjoon Seo1 Aniruddha Kembhavi2 Ali Farhadi1;2 Hananneh Hajishirzi "BI-DIRECTIONAL ATTENTION FLOW FOR MACHINE COMPREHENSION" arXiv:1611.01603v5 [cs.CL] 24 Feb 2017
出力部15は、入出力インターフェースを介して、表示装置に応答文Aを出力して表示させる。あるいは、ネットワークを介して接続される外部の端末装置に送信するようにしてもよい。あるいは、応答文Aを音声で出力するようにしてもよい。
次に、図2のフローチャートに従って、第1の実施形態における処理装置1の応答文出力処理の流れを説明する。
ステップS101では、入力部10が質問文Qと質問対象文章Pの入力を受け付ける。第1の外部知識検索部11は、質問文Qと質問対象文章Pをクエリとして、外部知識データベース2に格納されている外部知識を検索する。ステップS102で、第1の外部知識検索部11は、TF-IDFを用いて、外部知識と質問文Qの類似度と外部知識と質問対象文章Pの類似度を算出し、これらの2種類の類似度から第1のスコアを算出する。第1のスコアは、質問文Qと質問対象文章Pに類似する外部知識ほど高くなる。外部知識データベース2の外部知識は第1のスコアを用いてランキングされる。ステップS103で、スコアが高い知識を、例えば10~100個程度に絞り込み第1の検索結果R1とする。
次に、第2の外部知識検索部12は、質問文Qと質問対象文章Pをクエリとして、第1の検索結果R1をさらに検索する。ステップS104で、まず、ニューラルネットワークを用いて、第1の検索結果R1の外部知識、質問文Q、質問対象文章Pの固定長ベクトルを取得する。ステップS105では、外部知識ベクトルと質問文ベクトルの類似度と、外部知識ベクトルと質問対象文章ベクトルの類似度の2種類の類似度から第2のスコアを算出する。ステップS106では、第1の検索結果R1に含まれる外部知識を第2のスコアでランキングして、スコアが高い外部知識の数個を第2の検索結果R2とする。
さらに、ステップS107では、外部知識結合部13で質問対象文章Pの文字列と第2の検索結果R2に含まれる外部知識の各々の文字列を結合した外部知識結合質問対象文章PRを生成する。ステップS108で、処理部14に質問文Qと外部知識結合質問対象文章PRを入力して、応答文Aを得る。最後に、ステップS109で、出力部15は、応答文Aをコンピュータの表示装置の画面上に表示する。
次に、第1の実施の形態の処理部14で用いるニューラルネットワークを学習するための学習装置について説明する。なお、処理装置1と同様の構成となる部分については、同一符号を付して説明を省略する。
図3に示すように、学習装置1aは、入力部10、第1の外部知識検索部11、第2の外部知識検索部12、外部知識結合部13、処理部14、出力部15に加えて、学習部16を備える。
学習部16は、質問文Qと質問対象文章Pに対する真の応答文Tの入力を受け取り、上述のように、質問対象文章P、質問文Qから、第1の外部知識検索部11、第2の外部知識検索部12、外部知識結合部13、及び処理部14を用いて生成した応答文Aと真の応答文Tを用いて、真の応答文Tが得られるように、処理部14で用いるニューラルネットワークのパラメータを更新する。パラメータの更新は勾配法を用いて行うことができる。収束条件に達すると学習を終了する。収束条件として、反復回数を用いることができる。所定の数(例えば、10000個)の入力に対してパラメータを更新したら終了とするようにしてもよい。
次に、図4のフローチャートに従って、第1の実施形態の学習装置1aの学習処理の流れについて説明する。
まず、ステップS111では、入力部10が、質問文Q、質問対象文章P、及び真の応答文Tの複数のデータセットの入力を受け付ける。
ステップS112で、処理部14に入力するデータセットを選択する。続いて、ステップS113で、質問文Qと質問対象文章Pから得られた応答文Aと、真の応答文Tを用いて、真の応答文Tが得られるように学習を行い処理部14で用いるニューラルネットワークのパラメータを更新する。
ステップS114で、収束条件を判定し、収束条件に達しないときはステップS114の判定が否定され、ステップS112で次の入力するデータセットを選択して、S113でパラメータを更新する処理を繰り返す。収束条件に達すると、ステップS114の判定が肯定され、パラメータの更新を終了する。
上述のように、学習部16で処理部14で用いるニューラルネットワークのパラメータを予め学習させておくことにより、処理部14から出力される応答文の精度を高めることが可能になる。
次に、第2の実施の形態について説明する。第2の実施の形態では、上述の第1の実施の形態の第2の外部知識検索部の精度を向上させる手法について説明する。
検索手法の精度の向上は、外部知識検索処理に学習可能なパラメータを持つニューラルネットワークモデルを適用し、かつ大規模なデータからの学習によってモデルのパラメータを最適化することで実現できると考えられる。しかし、第1の実施の形態で行われている外部知識を検索して抽出する処理は微分不可能な操作で行われている。そのため、処理装置の全体をend2end(end to end)のシステムとみなして、ニューラルネットワークの学習で通常用いられる誤差逆伝播法によって全てのパラメータを学習させることができない。そこで、第2の実施の形態では、第2の外部知識検索部に対して強化学習が可能な検索手法を用いる。
本発明の第2の実施形態に係る処理装置の構成は、第1の実施形態に係る処理装置1と同様であるため、詳細な説明を省略する。
図5は、本発明の第2の実施形態に係る学習装置1bの構成の一例を示す機能ブロック図である。第1の実施の形態と同じ構成については同一符号を付して詳細な説明は省略する。第2の実施の形態においても、第1の実施の形態と同様に、処理部14で行われる演算処理が応答文生成処理であり、入力文Qが質問文であり、処理対象文章Pが質問対象文章である場合について説明する。
第2の実施の形態の学習装置1bは、入力部10、第1の外部知識検索部11、第2の外部知識検索部22、外部知識結合部13、処理部14、出力部15、報酬計算部23、学習部26、及び収束判定部27を備える。また、入力部10、第1の外部知識検索部11、外部知識結合部13、処理部14、及び出力部15は、第1の実施の形態と同様であるので、詳細な説明は省略する。
第2の外部知識検索部22は、ニューラルネットワーク(第1のニューラルネットワーク)を用いて、第1の検索結果R1に含まれる外部知識の各々と質問文Qとの類似度、及び第1の検索結果R1に含まれる外部知識の各々と質問対象文章Pとの類似度に基づいて第2の類似度を求める。この第2の類似度に基づいて、第1の検索結果R1から外部知識を選択して、選択された外部知識を第2の検索結果R2とする。
まず、第2の外部知識検索部22は、質問文Qと質問対象文章Pの2つの文の各々の固定長ベクトルと、第1の検索結果R1に含まれる外部知識の各々の固定長ベクトルとから類似度を取得する。第2の外部知識検索部22は、文を固定長ベクトルに変換する手法として、下記の(a)~(e)のような様々なベクトル表現を用いることができる。固定長ベクトルに変換する手法には、(a)のようなニューラルネットワークを用いていない手法を用いても、(b)~(e)のニューラルネットワークを用いた手法であってもよい。
(a) Bag of Wordsを用いたベクトル表現
(b) GloVe等の既存の単語埋め込みベクトル表現(word embedding)の和ベクトル又は最大値のベクトル
(c)文の単語埋め込みベクトル系列を入力とするLSTM(Long short-term memory)の最終状態、つまり最終時刻の出力
(d)universal sentense encoder等の既存の文埋め込みベクトル
(e)質問と文章の類似性に注視することができるBiDAF等の質問応答モデルで得られるベクトル系列
(a) Bag of Wordsを用いたベクトル表現
(b) GloVe等の既存の単語埋め込みベクトル表現(word embedding)の和ベクトル又は最大値のベクトル
(c)文の単語埋め込みベクトル系列を入力とするLSTM(Long short-term memory)の最終状態、つまり最終時刻の出力
(d)universal sentense encoder等の既存の文埋め込みベクトル
(e)質問と文章の類似性に注視することができるBiDAF等の質問応答モデルで得られるベクトル系列
図6に第2の外部知識検索部22の検索アルゴリズムで行われる操作を示す。図6の各ステップに従って、第2の外部知識検索部22の検索アルゴリズムの処理について説明する。
図6の検索アルゴリズムは、ステップ1~ステップ7の操作を終了条件を満足するまで繰り返すことで、第1の検索結果R1から外部知識を選択して第2の検索結果R2を生成する。
図6において、qは、質問文Qの質問ベクトル、piは、質問対象文章Pを構成する文のうちi番目の文の文ベクトル、rjは、第1の検索結果R1の外部知識の集合(以下、集合R1とする)に含まれるj番目の外部知識の外部知識ベクトルを表す。これらのベクトルは、固定長ベクトルであり、次元数は100次元から数万次元である。また、質問対象文章PはL個の文で構成され、添え字iは1~Lの値をとり、集合R1はN個の外部知識で構成され、添え字jは1~Nの値をとる。kは、ステップ1~ステップ7を繰り返した反復回数である。
まず、ステップ1では、質問対象文章を構成する各文の文ベクトルpiと、集合R1に含まれる外部知識の外部知識ベクトルをrjの全ての組み合わせ(iが1~L、jが1~N)についての類似度を用いたスコアeijを、関数fを用いて計算する。
eij=f(rj,q,pi,c) (1)
eij=f(rj,q,pi,c) (1)
関数fは、第1の検索結果R1に含まれる外部知識の各々と質問文Qとの類似度、及び第1の検索結果R1に含まれる外部知識の各々と質問対象文章Pとの類似度に基づくスコアを求めるものであれば何でもよい。例えば、下記の2つの数式(2)と数式(3)のいずれかを用いる。下記の数式(2)の第1項はj番目の外部知識と質問文Qとの類似度、第2項はj番目の外部知識と質問対象文章Pを構成するi番目の文との類似度を表し、関数fの値は、外部知識と質問文Qとの類似度と、外部知識と質問対象文章Pを構成するi番目の文との類似度の和である。
下記の数式(3)は、ニューラルネットワークの学習可能なパラメータを用いた場合の数式であり、第1項はj番目の外部知識の重要度を表し、第2項はj番目の外部知識と質問文Qとの類似度、第3項はj番目の外部知識と質問対象文章Pのi番目の文との類似度、第4項はj番目の外部知識と既に選ばれた外部知識との類似度を表す。第5項はバイアスを表す。
ただし、wr、Wq、Wp、Wh、bは後述する学習部26によって学習可能なパラメータである。また、第4項のcは、k回目までに選ばれた全ての外部知識を表現するrj、piと同じ固定長の実数値ベクトルである。cの計算方法は後述する。初回(k=1)は、cを零ベクトルとする。
下記の数式(3)は、ニューラルネットワークの学習可能なパラメータを用いた場合の数式であり、第1項はj番目の外部知識の重要度を表し、第2項はj番目の外部知識と質問文Qとの類似度、第3項はj番目の外部知識と質問対象文章Pのi番目の文との類似度、第4項はj番目の外部知識と既に選ばれた外部知識との類似度を表す。第5項はバイアスを表す。
ただし、wr、Wq、Wp、Wh、bは後述する学習部26によって学習可能なパラメータである。また、第4項のcは、k回目までに選ばれた全ての外部知識を表現するrj、piと同じ固定長の実数値ベクトルである。cの計算方法は後述する。初回(k=1)は、cを零ベクトルとする。
次に、ステップ2では、j番目の外部知識と質問対象文章のi番目の文に対応するスコアeijから、外部知識の選ばれやすさを表す確率分布aを求める。外部知識の選ばれやすさは、外部知識の重要度に対応している。aは、N次元の実数値ベクトルであり、成分ajは、j番目の外部知識の選ばれやすさに対応する。また、成分ajは、例えば0~1の値で選ばれやすさを表現する。
Eはスコアeijを成分に持つL行N列の行列である。
関数gは、外部知識の選ばれやすさを計算する関数である。関数gは、下記の2つの数式(6)及び数式(7)のいずれかを用いる。なお、j番目の外部知識が既に選ばれている場合は、g(E)のj番目の成分は0とする。
ステップ3では、外部知識の確率分布aに従って、外部知識の選ばれやすさが高いものほど高い確率でサンプリングされる。サンプリングされた外部知識をrskと表す。skは、反復回数がk番目のときに選ばれた外部知識のインデックスを表す。
ステップ4では、選ばれた外部知識rskのインデックスskを、ベクトルSにつなげるように追加する操作を行う。k回目に選ばれた外部知識rskのインデックスskが順にベクトルSに追加される。
さらに、ステップ5では、k回目に選ばれた外部知識rskの選ばれやすさを表すスカラーuk(=ask)を求める。ここでは、ステップ2で求めた外部知識の選ばれやすさを表す確率分布aの成分askを用いる。
続いて、ステップ6では、現在までに選ばれた外部知識rskの固定長ベクトルcを得る。ベクトルcは下記の関数hを用いて求める。関数hは、現在までに選ばれた外部知識を表す固定長ベクトルを得る関数である。
c=h(R1,S) (8)
関数hは下記の数式(9)及び数式(10)のいずれかを用いる。数式(9)は、選ばれた外部知識の集合に含まれる外部知識rsの外部知識ベクトルの和を求める。
数式(10)は、ステップ5で得た外部知識rskの選ばれやすさを表すスカラーukを用いて、選ばれやすかった外部知識rskほど重要視するように重み付きの和を求める。
c=h(R1,S) (8)
関数hは下記の数式(9)及び数式(10)のいずれかを用いる。数式(9)は、選ばれた外部知識の集合に含まれる外部知識rsの外部知識ベクトルの和を求める。
数式(10)は、ステップ5で得た外部知識rskの選ばれやすさを表すスカラーukを用いて、選ばれやすかった外部知識rskほど重要視するように重み付きの和を求める。
ステップ7では、ステップ1~6の処理を再度繰り返すか否かを判定する。終了条件として、kの反復回数、max(a)に関する閾値で決定する手法を用いることができる。あるいは、所定の外部知識が選ばれた時点で終了とするダミー知識を利用する手法が考えられる。例えば、反復回数k=10となったら終了するようにしてもよい。終了すると、第2の外部知識検索部22は、選ばれた外部知識の集合を第2の検索結果R2として出力する。
上記のステップ1、ステップ2、及びステップ6は、それぞれ2つの手法について説明したが、それらはどのように組み合わせてもよい。また、第2の外部知識検索部22で文を固定長ベクトルに変換する手法として、(a)~(e)の手法を挙げたが、いずれの手法をステップ1~7の処理と組み合わせてもよい。
次に、図7のフローチャートを用いて、第2の実施形態における処理装置1bの応答文出力処理の流れについて説明する。第2の実施の形態の処理は、第1の実施の形態と第2の外部知識検索部以外は同様であるので、詳細な説明は省略し、主に相違する部分について詳細に説明を行う。
ステップS201~ステップS203では、第1の実施の形態のステップS101~ステップS103と同様の処理を行って第1の検索結果R1を取得する。続いて、第2の外部知識検索部22は、質問文Qと質問対象文章Pを用いて、第1の検索結果R1をさらに検索する。まず、ステップS204で、第1の検索結果R1の外部知識、質問文Q、質問対象文章Pの固定長ベクトルを取得する。
ステップS205では、図6のステップ1~ステップ7の操作を繰り返して、各外部知識の選ばれやすさを表す確率を用いて、第1の検索結果R1の外部知識から、所定の終了条件を満足するまで選択を行う。ステップS206では、第1の検索結果R1から選択された外部知識を第2の検索結果R2とする。
ステップS207~ステップS209では、第1の実施の形態のステップS107~ステップS109と同様の処理を行って応答文Aを出力する。
次に、学習装置1bが第2の外部知識検索部22の検索精度を上げるために強化学習を行う手法について説明する。強化学習は、行動をとる確率を表す方策と、行動によって得られる報酬の2つを定義することで学習が進む。方策は、例えば、第2の外部知識検索部22の第1の検索結果R1の外部知識の選ばれやすさを表す確率分布aである。報酬は、真の応答文に対して応答文の正しさを表す指標と、選ばれた外部知識の情報の質に関する指標の2つから計算される。
まず、学習時には、入力部10は、質問文Qと質問対象文章Pと一緒に、質問文Qに対する真の応答文Tをデータセットにして複数のデータセットを受け取る。
報酬計算部23は、質問対象文章Pと、質問文Qと、応答文Aと、第2の外部知識検索部22で選択された外部知識と、質問文Qに対して予め与えられた真の応答文Tとに基づいて、真の応答文Tに対する応答文Aの正しさを表す指標と、第2の外部知識検索部22で選択された外部知識の質を表す指標とから定められる報酬vを計算する。
応答文Aの正しさに関する指標は、F1又はRouge等の、応答文Aと真の応答文Tの一致度を表す指標を用いることができる。Rougeは、自然言語処理における自動要約処理等の評価に用いられる指標であり、自動要約文と、人手で作成した要約文との一致度を表す指標である。
また、第2の外部知識検索部22で選択された外部知識の質を表す指標は、質問文Qと応答文Aとが持つ情報に対して、質問対象文章Pと選択された外部知識とが持つ情報がどの程度一致するかを表す一致度を用いることができる。指標の計算方法の具体例として以下に(i)(ii)の2通りを示す。
(i)第2の外部知識検索部22で選択された外部知識の情報の質に関する指標として、質問文Qと応答文Aをつなげた自然文の文と、質問対象文章Pと選択された外部知識をつなげた自然文の文とのRougeを取得する。
(ii)第2の外部知識検索部22で選択された外部知識の情報の質に関する指標として、参考文献4に記載のcoverage等の手法を利用する。coverageを用いる指標は以下の数式(11)で表すことができる。なお、この手法を選択する場合には、第2の外部知識検索部22において、質問対象文章を構成する各文の文ベクトルpiと、第1の検索結果R1の外部知識に含まれる外部知識の外部知識ベクトルrjの類似度から得られるスコアeijを算出する際に用いられる数式(3)のパラメータを学習しておく必要がある。
ここで、skは、第2の外部知識検索部22の反復回数がk番目のときに選ばれた外部知識のインデックスを表す。Kは、第2の外部知識検索部22で行われた総反復回数である。~qiは、質問文Qと応答文Aをつなげた自然文(単語をつないだ文字列)の埋め込みベクトルであり、iは単語の位置を表す。~pは、質問対象文章Pの埋め込みベクトルである。また、Wqは、数式(3)の外部知識と質問文Qの類似度に対する重みと同じである。
ここで、skは、第2の外部知識検索部22の反復回数がk番目のときに選ばれた外部知識のインデックスを表す。Kは、第2の外部知識検索部22で行われた総反復回数である。~qiは、質問文Qと応答文Aをつなげた自然文(単語をつないだ文字列)の埋め込みベクトルであり、iは単語の位置を表す。~pは、質問対象文章Pの埋め込みベクトルである。また、Wqは、数式(3)の外部知識と質問文Qの類似度に対する重みと同じである。
[参考文献4]Abigail See, Peter J. Liu, Christopher D. Manning "Get To The Point: Summarization with Pointer-Generator Networks " arXiv:1704.04368v2 [cs.CL] 25 Apr 2017
学習部26は、方策と報酬vを用いて、方策勾配法により第2の外部知識検索部22のパラメータを更新する。方策としては、例えば、第2の外部知識検索部22で得た確率分布ajを用いる。また、第2の外部知識検索部22のスコアを算出する際に、数式(3)を用いて求める場合には、数式(3)のパラメータwr、Wq、Wp、Wh、bが更新される。また、文を固定長ベクトルに変換する手法として、上述の(b)~(e)のニューラルネットワークを用いた手法を用いた場合には、このニューラルネットワークに対するパラメータが更新される。
報酬vは、例えば、真の応答文Tに対する応答文Aの正しさを表す指標と、第2の外部知識検索部22で選択された外部知識の質を表す指標との重み付き和である。
また、学習部26は、学習により、第2の外部知識検索部22だけでなく処理部14のパラメータも更新する。処理部14のパラメータの学習方法の具体例として以下に(i)(ii)の2通りを示す。
(i)勾配法を用いる学習方法
質問文Qと質問対象文章Pに対する真の応答文Tの入力を受け取り、上述のように、質問対象文章P、質問文Qから、第1の外部知識検索部11、第2の外部知識検索部22、外部知識結合部13、及び処理部14を用いて生成した応答文Aと真の応答文Tを用いて、処理部14のパラメータを更新する。パラメータの更新は勾配法を用いて行うことができる。勾配法で最小化する目的関数としては、ニューラルネットワークと誤差逆伝播法で質問応答処理の学習を行う際に一般的に用いられる目的関数を用いることができる。例えば、一般的な目的関数であるクロスエントロピー関数を用いることができる。
質問文Qと質問対象文章Pに対する真の応答文Tの入力を受け取り、上述のように、質問対象文章P、質問文Qから、第1の外部知識検索部11、第2の外部知識検索部22、外部知識結合部13、及び処理部14を用いて生成した応答文Aと真の応答文Tを用いて、処理部14のパラメータを更新する。パラメータの更新は勾配法を用いて行うことができる。勾配法で最小化する目的関数としては、ニューラルネットワークと誤差逆伝播法で質問応答処理の学習を行う際に一般的に用いられる目的関数を用いることができる。例えば、一般的な目的関数であるクロスエントロピー関数を用いることができる。
(ii)強化学習
F1又はRougeから作った目的関数は微分不可能な関数であり、通常の勾配法を用いて学習を行うことができない。そのため、勾配法におけるクロスエントロピー関数に対応する目的関数を別に用意する必要がある。そこで、第2の外部知識検索部22と同様に、処理部14も、方策と報酬vを用いて方策勾配法によりパラメータの更新を行うことができる。
F1又はRougeから作った目的関数は微分不可能な関数であり、通常の勾配法を用いて学習を行うことができない。そのため、勾配法におけるクロスエントロピー関数に対応する目的関数を別に用意する必要がある。そこで、第2の外部知識検索部22と同様に、処理部14も、方策と報酬vを用いて方策勾配法によりパラメータの更新を行うことができる。
上述では、2つの学習方法について説明したが、(i)より、(ii)を用いる方が、質問応答処理で質問文に適した柔軟な応答文Aを出力することが期待できる。例えば、質問対象文書Pのように与えられた文書の中から質問文Qに対する応答文を抜き出すタイプの質問応答処理の場合、応答文Aは、語順を入れ替えても同じ意味を表す文であれば正答といえる。しかし、(i)で用いられるクロスエントロピー関数は、質問対象文書Pのうちの真の応答文Tに対応する区間をどのくらい出力しやすいかを評価する。そのため、正答として許容され得るが真の応答文Tに対応する区間とは異なる単語列の出力も全て誤答として学習してしまう。一方、(ii)では、目的関数に用いるF1又はRougeといった指標が語順の入れ替え等による言語的な類似性を評価できる。そのため、語順を入れ替えても同じ意味を表す文の類似度が高くなるように言語的な類似性を評価できるので、柔軟な応答文Aを出力することが可能になる。
収束判定部27は、予め定められた収束条件を満たすまで、第1の外部知識検索部11による検索、第2の外部知識検索部22による検索、外部知識結合部13による外部知識結合質問対象文章PRの生成、処理部14による応答文Aの取得、報酬計算部23による計算、及び学習部26によるパラメータの更新を繰り返させる。なお、図5の破線は、収束判定部27が繰り返しを行う構成要素を示す。
次に、図8のフローチャートを用いて、第2の実施形態における学習装置1bの学習処理の流れについて説明する。図8は、処理部14の学習に(i)の勾配法を用いる場合について説明する。
まず、ステップS211では、入力部10が学習する質問文Q、質問対象文章P、及び真の応答文Tの複数のデータセットの入力を受け付ける。
ステップS212で、学習部26は、入力された全てのデータセットから、処理部14に入力するデータセットを1つ選択する。続いて、ステップS213で、質問対象文章P、質問文Qを用いて、第1の外部知識検索部11による検索と、第2の外部知識検索部22による検索を行って第2の検索結果R2を得て、外部知識結合部13で外部知識結合質問対象文章PRの生成を行って、外部知識結合質問対象文章PRを処理部14に入力して応答文Aを取得する。ステップS214で、応答文Aと真の応答文Tを用いて、学習部26は処理部14のパラメータを更新する。
ステップS215では、報酬計算部23で報酬vを計算する。続いて、ステップS216で、方策と報酬vを学習部26が用いて強化学習を行ない、第2の外部知識検索部22のパラメータを更新する。
ステップS217で、収束判定部27は収束条件を判定し、収束条件に達していないときはステップS217の判定が否定され、ステップS212~S216を繰り返してパラメータを更新する。収束条件に達すると、ステップS217の判定が肯定され、パラメータの更新を終了する。
このように第2の外部知識検索部に強化学習を行うことによって、第2の検索結果に含まれる外部知識の精度を高めることが可能になり、処理部からより適切な応答文を出力させることができる。
次に、図9のフローチャートを用いて、第2の実施形態において、処理部14の学習に(ii)の強化学習を用いた学習装置1bの学習処理の流れについて説明する。
図9のステップS211~ステップS213までは、図8の勾配法を用いる学習方法と同様であるので詳細な説明は省略する。
ステップS225で、報酬計算部23で報酬vを計算する。続いて、ステップS226で、方策と報酬vを学習部26が用いて、処理部14と第2の外部知識検索部22の両方のパラメータを更新する。
ステップS227で、収束判定部27は収束条件を判定し、収束条件に達していないときはステップS227の判定が否定され、ステップS212~S226を繰り返してパラメータを更新する。収束条件に達すると、ステップS227の判定が肯定され、パラメータの更新を終了する。
このように第2の外部知識検索部と処理部の全体に強化学習を行うことによって、質問文に適した柔軟な応答文を出力させることができる。
上述のように、第2の実施の形態では、第1の実施の形態の第2の外部知識検索部をパラメータの学習が必要な構成としたので、第2の外部知識検索部に強化学習を行う、または、第2の外部知識検索部と処理部に対して強化学習を行うことが可能になる。これにより、第2の外部知識検索部で用いる第1のニューラルネットワークと処理部で用いる第2のニューラルネットワークのパラメータと予め学習させておくことで、より適切な応答文を出力させることができる。
次に第3の実施の形態について説明する。第3の実施の形態の処理装置では、入力文に対する回答として応答文を得るための対話処理に、本発明の外部知識の検索手法を利用する場合について説明する。
図10は、本発明の第3の実施形態に係る処理装置1cの構成の一例を示す機能ブロック図である。第1の実施の形態と同じ構成については同一符号を付して詳細な説明は省略する。また、入力文Qが質問文である場合について説明する。以下、質問文をQとする。
第3の実施の形態の処理装置1cは、入力部10、第1の外部知識検索部31、第2の外部知識検索部32、処理部34、及び出力部15を備える。
第1の外部知識検索部31は、外部知識データベース2に含まれる外部知識の各々と質問文Qとの類似度から得られる第1のスコアに基づいて、外部知識を外部知識データベース2から検索して第1の検索結果R1とする。第1の類似度については、第1の実施の形態と同様に、TF-IDF等の文中に含まれる単語の出現頻度を比較する手法を用いて第1の類似度を求める。第1の類似度で定義される第1のスコアを用いてランキングし、例えば上位から指定された数の外部知識を第1の検索結果R1として出力する。あるいは、第1のスコアが所定の値以上の外部知識を第1の検索結果R1として出力する。
第2の外部知識検索部32は、第1の実施の形態と同様に、予め学習されたニューラルネットワークを用いて、第1の外部知識検索部31による第1の検索結果R1を検索して第2の検索結果R2を得る。まず、ニューラルネットワークを用いて、質問文Qと第1の検索結果R1に含まれる外部知識の各々を固定長のベクトルに変換して、質問文Qの固定長の質問文ベクトルと、第1の検索結果R1に含まれる外部知識の固定長の外部知識ベクトルとの類似度を用いたスコアを第2の類似度とする。第2の類似度で定義される第2のスコアを用いてランキングし、例えば上位から所定の数の外部知識を第2の検索結果R2として出力する。あるいは、第2のスコアが所定の値以上の外部知識を第2の検索結果R2として出力する。
上記の類似度を用いたスコアは、図6の検索アルゴリズムと同様に定められる。ただし本実施例では、第2の実施形態と異なり、質問対象文章Pが存在しない。そのため、第2の実施形態における質問対象文章Pの代わりに本実施例における質問文Qを用いる。第2の実施形態における質問文Qはないものとみなし、各数式(1)、(2)、(3)の質問文Qに関する項はないものとしてスコアを計算する。
処理部34は、応答文生成処理により、質問文Qと第2の検索結果R2に含まれる外部知識とから応答文Aを生成する。応答文生成処理は既存の様々な手法を用いることができるが、例えば、参考文献1に記載のマルチタスクSeq2Seq処理等のニューラルネットワークに入力することで応答文Aを生成する。
次に、図11のフローチャートを用いて第3の実施形態における処理装置1cの応答文出力処理の流れについて説明する。
ステップS301では、入力部10が質問文Qの入力を受け付ける。第1の外部知識検索部31は、質問文Qをクエリとして、外部知識データベース2に格納されている外部知識を検索する。ステップS102で、第1の外部知識検索部31は、TF-IDFを用いて、外部知識と質問文Qとの類似度を算出して第1のスコアとする。第1のスコアのランキングに応じて第1の検索結果R1を取得する。
次に、第2の外部知識検索部32は、質問文Qを用いて、予め学習済みのニューラルネット(第1のニューラルネットワーク)に基づき、第1の検索結果R1をさらに検索する。ステップS304で、まず、ニューラルネットワークを用いて、第1の検索結果R1の外部知識、質問文Qの固定長ベクトルを取得する。ステップS305では、外部知識ベクトルと質問文ベクトルの類似度を算出し、第2のスコアとする。ステップS306では、第1の検索結果R1に含まれる外部知識を第2のスコアのランキングに応じて第2の検索結果R2を取得する。
さらに、ステップS308で、処理部34に、質問文Qと第2の検索結果R2に含まれる外部知識を入力して、応答文Aを得る。最後に、ステップS309で、出力部15は、応答文Aをコンピュータの表示装置の画面上に表示する。
上述の第3の実施の形態では、質問文に対して応答文を生成する対話処理に、本発明の二段階検索手法を用いる場合について説明したが、本発明の二段階検索手法を任意の自然言語処理に適用することが可能である。
例えば、第1及び第2の実施の形態で説明した応答文生成処理のためのアルゴリズムにおいて、質問対象文章の代わりに要約対象の文章を処理対象文章Pとし、質問文の代わりに要約対象の文章のタイトルを入力文Qとすることで、処理部が、入力文Qと処理対象文章Pとを入力として要約文を生成する構成とすることにより、本願発明を要約処理においても適用することが可能になる。
また、図12に示すように、第1の外部知識検索部41として、第1又は第3の実施の形態の第1の外部知識検索部を用い、第2の外部知識検索部42として、第1、第2、又は第3の実施の形態の第2の外部知識検索部を用い、処理部44が、入力文Q及び処理対象文章Pの少なくとも一方を入力とする任意の自然言語処理を用いた分類器や生成器となるように構成することができる。例えば、上記アルゴリズムの処理対象文章Pを判定対象文章に置き換えて、判定結果を応答文Aとして出力するようにしてもよい。
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
なお、上述の実施の形態において、演算処理装置は、汎用的なプロセッサであるCPU(Central Processing Unit)が用いられる。さらに、必要に応じてGPU(Graphics Processing Unit)を設けるのが好ましい。また、上述の機能の一部をFPGA (Field Programmable Gate Array) 等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、又はASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有する専用電気回路等を用いて実現してもよい。
1、1a、1b、1c 処理装置
2 外部知識データベース
10 入力部
11、31、41 第1の外部知識検索部
12、22、32、42 第2の外部知識検索部
13、53 外部知識結合部
14、24、34、44 処理部
15 出力部
16、26 学習部
23 報酬計算部
27 収束判定部
51 外部知識検索部
54 応答部
A 応答文
P 処理対象文章
PR 外部知識結合質問対象文章
Q 入力文
R1 第1の検索結果
R2 第2の検索結果
v 報酬
2 外部知識データベース
10 入力部
11、31、41 第1の外部知識検索部
12、22、32、42 第2の外部知識検索部
13、53 外部知識結合部
14、24、34、44 処理部
15 出力部
16、26 学習部
23 報酬計算部
27 収束判定部
51 外部知識検索部
54 応答部
A 応答文
P 処理対象文章
PR 外部知識結合質問対象文章
Q 入力文
R1 第1の検索結果
R2 第2の検索結果
v 報酬
Claims (5)
- 第1のニューラルネットワークを用いて、入力文と、外部知識データベースに含まれる外部知識の各々との類似度から得られるスコアを算出し、前記スコアに基づいて外部知識を選択し、前記選択された外部知識を検索結果とする外部知識検索部と、
前記入力文と前記選択された外部知識とを入力とする所定の演算処理により、前記入力文に対する出力を取得する処理部と、
前記入力文と、前記取得された出力と、前記選択された外部知識と、前記入力文に対して予め与えられた真の出力とに基づいて、前記真の出力に対する前記出力の正しさを表す指標と、前記選択された外部知識の質を表す指標とから定められる報酬を計算する報酬計算部と、
前記報酬を用いて、前記第1のニューラルネットワークのパラメータを更新する学習部と、
を備えた学習装置。 - 外部知識結合部をさらに備え、
前記外部知識検索部は、
処理対象文章と、前記入力文とを入力とし、前記第1のニューラルネットワークを用いて、前記外部知識データベースに含まれる外部知識の各々と前記入力文との類似度と、前記外部知識の各々と前記処理対象文章との類似度の2種類の類似度とに基づいて、外部知識を選択し、
前記外部知識結合部は、前記処理対象文章に前記検索結果に含まれる各々の外部知識を結合した外部知識結合処理対象文章を生成し、
前記処理部は、前記入力文と前記外部知識結合処理対象文章とを入力とする前記所定の演算処理により、前記入力文に対する出力を取得し、
前記報酬計算部は、前記処理対象文章と、前記入力文と、前記取得された出力と、前記選択された外部知識と、前記入力文に対して予め与えられた真の出力とに基づいて、前記真の出力に対する前記出力の正しさを表す指標と、前記選択された外部知識の質を表す指標とから定められる報酬を計算する請求項1記載の学習装置。 - 前記入力文は、質問文であり、
前記処理部は、前記所定の演算処理として、第2のニューラルネットワークを用いた応答文生成処理を行い、前記出力として、前記質問文に対する応答文を取得し、
前記学習部は、前記報酬を用いて、前記第1のニューラルネットワークのパラメータと、前記第2のニューラルネットワークのパラメータとを更新する、
請求項1又は2記載の学習装置。 - コンピュータが、
第1のニューラルネットワークを用いて、入力文と、外部知識データベースに含まれる外部知識の各々との類似度から得られるスコアを算出し、前記スコアに基づいて外部知識を選択し、前記選択された外部知識を検索結果とする外部知識検索ステップと、
前記入力文と前記選択された外部知識とを入力とする所定の演算処理により、前記入力文に対する出力を取得する処理ステップと、
前記入力文と、前記取得された出力と、前記選択された外部知識と、前記入力文に対して予め与えられた真の出力とに基づいて、前記真の出力に対する前記出力の正しさを表す指標と、前記選択された外部知識の質を表す指標とから定められる報酬を計算する報酬計算ステップと、
前記報酬を用いて、前記第1のニューラルネットワークのパラメータを更新する学習ステップと、
を実行する学習方法。 - コンピュータを、請求項1乃至請求項3の何れか1項に記載の学習装置の各部として機能させるための学習プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018215088A JP7081455B2 (ja) | 2018-11-15 | 2018-11-15 | 学習装置、学習方法、及び学習プログラム |
US17/293,434 US20210383257A1 (en) | 2018-11-15 | 2019-11-08 | Learning device, learning method and learning program |
PCT/JP2019/043867 WO2020100739A1 (ja) | 2018-11-15 | 2019-11-08 | 学習装置、学習方法、及び学習プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018215088A JP7081455B2 (ja) | 2018-11-15 | 2018-11-15 | 学習装置、学習方法、及び学習プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020086549A JP2020086549A (ja) | 2020-06-04 |
JP7081455B2 true JP7081455B2 (ja) | 2022-06-07 |
Family
ID=70731415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018215088A Active JP7081455B2 (ja) | 2018-11-15 | 2018-11-15 | 学習装置、学習方法、及び学習プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210383257A1 (ja) |
JP (1) | JP7081455B2 (ja) |
WO (1) | WO2020100739A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022091341A (ja) * | 2020-12-09 | 2022-06-21 | 日本電気株式会社 | 送信装置照合装置、学習装置、送信装置照合方法、学習方法、及びプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006244262A (ja) | 2005-03-04 | 2006-09-14 | Nec Corp | 質問回答検索システム、方法およびプログラム |
JP2018055548A (ja) | 2016-09-30 | 2018-04-05 | 株式会社Nextremer | 対話装置、学習装置、対話方法、学習方法、およびプログラム |
JP2018063696A (ja) | 2016-10-07 | 2018-04-19 | 国立研究開発法人情報通信研究機構 | ノン・ファクトイド型質問応答システム及び方法並びにそのためのコンピュータプログラム |
JP2018124914A (ja) | 2017-02-03 | 2018-08-09 | 日本電信電話株式会社 | パッセージ型質問応答装置、方法、及びプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11182433B1 (en) * | 2014-07-25 | 2021-11-23 | Searchable AI Corp | Neural network-based semantic information retrieval |
US10387427B2 (en) * | 2016-07-28 | 2019-08-20 | Amadeus S.A.S. | Electronic dataset searching |
US20200057807A1 (en) * | 2018-08-20 | 2020-02-20 | Nirveda Cognition, Inc. | Systems and methods providing a cognitive augmented memory network |
-
2018
- 2018-11-15 JP JP2018215088A patent/JP7081455B2/ja active Active
-
2019
- 2019-11-08 WO PCT/JP2019/043867 patent/WO2020100739A1/ja active Application Filing
- 2019-11-08 US US17/293,434 patent/US20210383257A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006244262A (ja) | 2005-03-04 | 2006-09-14 | Nec Corp | 質問回答検索システム、方法およびプログラム |
JP2018055548A (ja) | 2016-09-30 | 2018-04-05 | 株式会社Nextremer | 対話装置、学習装置、対話方法、学習方法、およびプログラム |
JP2018063696A (ja) | 2016-10-07 | 2018-04-19 | 国立研究開発法人情報通信研究機構 | ノン・ファクトイド型質問応答システム及び方法並びにそのためのコンピュータプログラム |
JP2018124914A (ja) | 2017-02-03 | 2018-08-09 | 日本電信電話株式会社 | パッセージ型質問応答装置、方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2020100739A1 (ja) | 2020-05-22 |
US20210383257A1 (en) | 2021-12-09 |
JP2020086549A (ja) | 2020-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106980683B (zh) | 基于深度学习的博客文本摘要生成方法 | |
JP7081454B2 (ja) | 処理装置、処理方法、及び処理プログラム | |
JP7257585B2 (ja) | 深層cca及び能動ペアワイズクエリを用いるマルチモーダル検索及びクラスタリングのための方法 | |
CN112232087B (zh) | 一种基于Transformer的多粒度注意力模型的特定方面情感分析方法 | |
CN111737586B (zh) | 信息推荐方法、装置、设备及计算机可读存储介质 | |
CN113705092B (zh) | 基于机器学习的疾病预测方法及装置 | |
CN113628059A (zh) | 一种基于多层图注意力网络的关联用户识别方法及装置 | |
JP2018022496A (ja) | 自然言語処理装置に用いられるトレーニングデータを作成する方法と機器 | |
CN113254716B (zh) | 视频片段检索方法、装置、电子设备和可读存储介质 | |
CN114648032B (zh) | 语义理解模型的训练方法、装置和计算机设备 | |
CN114492451B (zh) | 文本匹配方法、装置、电子设备及计算机可读存储介质 | |
CN115757804A (zh) | 一种基于多层路径感知的知识图谱外推方法及*** | |
CN115587597A (zh) | 基于子句级关系图的方面词的情感分析方法以及装置 | |
KR20240034804A (ko) | 자동 회귀 언어 모델 신경망을 사용하여 출력 시퀀스 평가 | |
JP7081455B2 (ja) | 学習装置、学習方法、及び学習プログラム | |
CN115906863B (zh) | 基于对比学习的情感分析方法、装置、设备以及存储介质 | |
CN115905518B (zh) | 基于知识图谱的情感分类方法、装置、设备以及存储介质 | |
CN114547312B (zh) | 基于常识知识图谱的情感分析方法、装置以及设备 | |
CN113468311B (zh) | 一种基于知识图谱的复杂问句问答方法、装置及存储介质 | |
CN111401069A (zh) | 会话文本的意图识别方法、意图识别装置及终端 | |
CN115033700A (zh) | 基于相互学习网络的跨领域情感分析方法、装置以及设备 | |
CN110569331A (zh) | 一种基于上下文的关联性预测方法、装置及存储设备 | |
CN117473400B (zh) | 基于多通道层级变换网络结构的设备故障诊断方法 | |
CN115712726B (zh) | 基于双词嵌入的情感分析方法、装置以及设备 | |
CN118193855B (zh) | 一种在线应答方法、装置及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210215 |
|
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: 20220426 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220509 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7081455 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |