JP7149560B2 - リクエスト言換システム、リクエスト言換モデル及びリクエスト判定モデルの訓練方法、及び対話システム - Google Patents

リクエスト言換システム、リクエスト言換モデル及びリクエスト判定モデルの訓練方法、及び対話システム Download PDF

Info

Publication number
JP7149560B2
JP7149560B2 JP2018077454A JP2018077454A JP7149560B2 JP 7149560 B2 JP7149560 B2 JP 7149560B2 JP 2018077454 A JP2018077454 A JP 2018077454A JP 2018077454 A JP2018077454 A JP 2018077454A JP 7149560 B2 JP7149560 B2 JP 7149560B2
Authority
JP
Japan
Prior art keywords
request
training
model
input
training data
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
Application number
JP2018077454A
Other languages
English (en)
Other versions
JP2019185521A (ja
Inventor
仁彦 淺尾
龍 飯田
カナサイ クルンカライ
憲幸 阿部
可奈子 大西
健太郎 鳥澤
豊 木俵
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 JP2018077454A priority Critical patent/JP7149560B2/ja
Priority to US17/043,069 priority patent/US11861307B2/en
Priority to PCT/JP2019/008607 priority patent/WO2019198386A1/ja
Publication of JP2019185521A publication Critical patent/JP2019185521A/ja
Application granted granted Critical
Publication of JP7149560B2 publication Critical patent/JP7149560B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • 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/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
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, 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)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、自然言語処理に関し、特に、質問応答システム又は対話システム等において、リクエストに対して正しい応答が得られる確率を高めることができるリクエスト言換システム、リクエスト言換モデル及びリクエスト判定モデルの訓練方法、及び対話システムに関する。
近年、質問応答システム及び対話システム(以下、まとめて単に「対話システム」という。)の開発が盛んに行われている。注目されている技術としては、音声認識と合成音声とを用い、自然言語によりユーザと対話するいわゆるスマートスピーカがある。対話システムは人間と同様の対話インターフェイスをコンピュータに与えることができるため、便利である。しかし対話システムは便利なだけでなく、ときとして人間の発話に対して思わぬ応答をすることがあり、それによって人間の生活に変化を与えることもできる。いわゆるインターネットにもよく適合するため、対話システムは今後も社会に広まっていくと思われる。
しかし現状の対話システムは、自然言語文に対応できるとはいうものの、形式が比較的単純な、限られたタイプの入力にしか的確に対応できないという問題がある。例えば、「卵で作るものは何」という質問に回答できる対話システムであっても、「卵が余ってるんだけど、どんなものを作ったらいいかなあ」という入力に対しては、回答として求めている情報がほとんど同じであるにもかかわらず、答えることができない可能性がある。そのため、ユーザがある程度対話システム側のクセをつかみ、表現の仕方に注意しなければ対話システムを十分に活用できないという現状がある。
こうした問題に対処するための提案が後掲の特許文献1に開示されている。特許文献1に開示されたシステムは、例えば質問に対して回答する前に、その質問がどの分野に属するものかを特定する。具体的には、質問からその質問の対象であるエンティティを特定する。さらに、特定分野を想定して言語モデルを用いて質問文のパープレキシティを計算する。エンティティが特定されたか否かにより定まるしきい値と、パープレキシティとを比較してその質問がその特定分野に属するものか否かを判定する。特許文献1では、こうして質問の分野が特定できれば質問に対する応答が的確になるとされている。
特開2015-087796号公報
特許文献1に記載の技術によれば、ある基準で質問を分類できる。質問の分類ができれば質問に対する応答がより的確になる点は事実だと考えられる。しかし、特許文献1に開示の技術は、人間の発話のように自然言語文で自由に行われている場合、対応が難しい。自然言語文の発話では分類自体の信頼性が落ちる可能性がある上、そもそも様々な表現の仕方がある自然言語文を入力として受けた場合には、仮に正しい分野の対話システムで処理できたとしても的確な回答が得られる可能性は低い。こうした問題は、単なる質問に対する回答を求める場合だけではなく、より広い概念である何らかの応答を求める入力に対しても当てはまる。ここでは単に質問に対する回答又は発話に対する応答を求める入力だけではなく、具体的動作も含めた何らかの応答をシステムに対して求める入力をリクエストと呼ぶ。例えば連携ソフトウェア又はいわゆるIoT(Internet of Thigs)対応機器に動作を指示するシステムに対する指示もリクエストということができる。本明細書では、対話を通して受けたリクエストに対して応答するシステムを対話システムと呼ぶ。対話システムにおいて、様々な自然言語文によるリクエストに対して的確に応答するためには、単にリクエストを分類するだけでは足りず、何らかの工夫が必要である。
それゆえに本発明の主たる目的は、表現の仕方が異なる様々なリクエストに対しても対話システムが柔軟に対応できるよう、対話システムに用いられるリクエスト言換システム、リクエスト言換モデル及びリクエスト判定モデルの訓練方法、並びにそうしたリクエストに柔軟に対応できる対話システムを提供することである。
本発明の第1の局面に係るリクエスト言換システムは、入力されたリクエストを形態素解析して形態素列に変換するための形態素解析手段と、形態素列内の各単語を単語ベクトルに変換することにより、形態素列を入力単語ベクトル列に変換するための変換手段と、入力単語ベクトル列を入力として受け、入力単語ベクトル列により表されるリクエストを、所定の対話システムが応答可能である確率が入力単語ベクトル列より高いリクエストに対応する出力単語列に変換して出力するよう、予め機械学習により学習済のリクエスト言換モデルとを含み、リクエスト言換モデルの出力する出力単語列が対話システムに与えられるリクエストとなる。
好ましくは、リクエスト言換システムは、入力されたリクエストを予め定めた複数種類のリクエスト分類のいずれかに分類し対応する分類コードを出力するためのリクエスト分類手段をさらに含む。リクエスト言換モデルは、入力単語ベクトル列及び分類コードを入力として受け、入力単語ベクトル列により表されるリクエストを、対話システムが応答可能である確率が入力単語ベクトル列より高いリクエストに対応する出力単語列に変換して出力するよう、予め機械学習により学習済の分類付リクエスト言換モデルを含む。
本発明の第2の局面に係るリクエスト言換モデルの訓練方法は、入力単語ベクトル列を入力として受け、入力単語ベクトル列により表されるリクエストを、対話システムが応答可能である確率が入力単語ベクトル列より高いリクエストに対応する出力単語列に変換して出力するよう、リクエスト言換モデルを機械学習により訓練するためのリクエスト言換モデルの訓練方法である。この方法は、コンピュータが、リクエスト言換モデルの訓練のための複数の訓練データ項目を、機械可読な訓練データ記憶装置に記憶させるステップを含む。複数の訓練データ項目の各々は、単語列を含む第1のリクエストと、当該第1のリクエストの言換である単語列を含む第2のリクエストとを含む。この方法はさらに、コンピュータが、訓練データ記憶装置に記憶された複数の訓練データ項目の各々について、第1のリクエストを入力とし、第2のリクエストを教師データとしてリクエスト言換モデルの訓練を行う訓練ステップを含む。
好ましくは、複数の訓練データ項目の各々は、第1のリクエストが予め定めた複数種類のリクエスト分類のいずれであるかを示す分類コードをさらに含む。訓練ステップは、コンピュータが、訓練データ記憶装置に記憶された複数の訓練データ項目の各々について、第1のリクエスト及び分類コードを入力とし、第2のリクエストを教師データとしてリクエスト言換モデルの訓練を行う訓練ステップを含む。
より好ましくは、この方法はさらに、訓練ステップにより訓練されたリクエスト言換モデルに対して訓練用のリクエストを入力し、リクエスト言換モデルから訓練用のリクエストに対する1又は複数の言換後のリクエストを取得するステップと、言換後リクエストを質問応答システムに入力し、当該質問応答システムからの回答を取得するステップと、1又は複数個の言換後のリクエストの各々について、当該リクエストに対して質問応答システムから得られた回答の質を、訓練用のリクエストに対する比較に基づいて評価するステップと、評価するステップで評価された質が上位であった1又は複数の回答の各々について、訓練用のリクエストを第1のリクエスト、及び当該回答が質問応答システムから得られたときの言換後のリクエストを第2のリクエストとして含む訓練用データ項目を生成し訓練データ記憶装置に追加して記憶させるステップとを含む。
本発明の第3の局面に係る方法は、入力された自然言語文が潜在的なリクエストか否かを判定するためのリクエスト判定モデルの訓練方法である。この方法は、コンピュータが、リクエスト判定モデルの訓練のための複数の訓練データ項目を、機械可読な訓練データ記憶装置に記憶するステップを含む。複数の訓練データ項目の各々は、リクエスト判定の対象となる対象文と、当該対象文がリクエストか否かを示すラベルとを含む。この方法はさらに、コンピュータが、訓練データ記憶装置に記憶された複数の訓練データ項目を用いてリクエスト判定モデルの訓練を行う訓練ステップを含み、訓練ステップは、コンピュータが、訓練データ記憶装置に記憶された複数の訓練データ項目の各々の対象文を単語ベクトル列に変換するステップと、コンピュータが、訓練データ記憶装置に記憶された複数の訓練データ項目の各々について、単語ベクトル列を入力とし、ラベルを教師データとしてリクエスト判定モデルの訓練を行うステップとを含む。
本発明の第4の局面に係る対話システムは、所定の対話型リクエスト応答システムと、当該対話型リクエスト応答システムと異なる他の応答システムとを含む対話システムである。この対話システムは、入力された自然言語文がリクエストか否かを判定するための判定手段と、判定手段によりリクエストと判定された自然言語文を、対話型リクエスト応答システムによる応答が得られる可能性が自然言語文より高いリクエストに言換えた言換リクエストを出力するためのリクエスト言換手段と、リクエスト言換手段により出力された言換リクエストを対話型リクエスト応答システムに与え、当該対話型リクエスト応答システムに当該言換リクエストに対して応答させるための手段と、判定手段によりリクエストではないと判定された自然言語文を、他の応答システムに与え、当該他の応答システムに自然言語文に対して応答させるための手段とを含む。
本発明の目的、構成及び効果は、添付の図面と以下に記載する発明の実施の形態とにより明らかになるであろう。
図1は、本発明の対話システムの一例である、第1の実施の形態に係る質問応答システムの概略構成を示すブロック図である。 図2は、図1に示すニューラル言換モデルの構成及び動作を示す模式図である。 図3は、図1に示す分類モデルを構成する畳込みニューラルネットワークの構成を模式的に示す図である。 図4は、コンピュータとの協働により、図1に示すニューラル言換モデルの訓練処理装置による訓練を実現するためのプログラムの制御構造を示すフローチャートである。 図5は、コンピュータとの協働により図1に示す分類モデル訓練処理部を実現するためのプログラムの制御構造を示すフローチャートである。 図6は、コンピュータとの協働により、図1に示す質問応答システムを実現するためのプログラムの制御構造を示すフローチャートである。 図7は、本発明の第2の実施の形態に係る対話システムの全体の概略構成を示すブロック図である。 図8は、コンピュータとの協働により図7に示す対話システムを実現するためのプログラムの制御構造を示すフローチャートである。 図9は、本発明の第3の実施の形態に係るリクエスト言換モデル訓練システムの構成を示すブロック図である。 図10は、リクエスト言換システムの訓練データの追加処理をコンピュータとの協働により実現するプログラムの制御構造を示すフローチャートである。 図11は、第1の実施の形態に係るリクエスト言換システム及びリクエスト言換モデル訓練装置を実現するためのコンピュータシステムの外観図である。 図12は、図11に示すコンピュータの内部構成を示すブロック図である。
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
[第1の実施の形態]
<構成>
《全体構成》
図1を参照して、本発明の第1の実施の形態に係る質問応答システムの全体は、ユーザ入力56を受けて回答60を応答として出力する質問応答システム58と、この質問応答システム58で使用されるディープニューラルネットワークからなるニューラル言換モデル94及びリクエストを分類する分類モデル98の訓練を行う訓練処理部62と、訓練処理部62が訓練のために使用する訓練データを記憶した訓練データ記憶部50とを含む。訓練データは複数の訓練データ項目を含む。各訓練データ項目は、第1のリクエストと、第1のリクエストと実質的に同じ意味を表し、質問応答システム58の応答可能である確率が第1のリクエストよりも高い第2のリクエストと、第1のリクエストがどのような分類に属するかを示す分類コードとの組合せを含む。
訓練データ項目の人手作成にあたっては、言換結果をできるだけ統一の取れたものにするため、第1のリクエストを「ファクトイド質問」、「なぜ質問」等に人手で分類し、分類ごとに言換後の形式を指定することが妥当である。上記した分類コードはこの分類を表す。本実施の形態で使用する分類と、各分類で使用する言換後の第2のリクエストの形式としては以下のようなものがある。
(1)なに質問
(2)どうなる質問
(3)定義質問
(4)なぜ質問
(5)どうやって質問
なに質問の場合には、主に「疑問詞+助詞」、又は「~は+疑問詞」の形に言換える。疑問詞としては「何」「誰」「どこ」等がある。例えば「宮崎行くんだけど、おすすめの場所って?」→「宮崎でどこに行く」。
どうなる質問の場合には「~とどうなる」の形に言換える。例えば「もし事故に遭ったら?」→「事故に遭うとどうなる」。
定義質問の場合には「~とは何」の形に言換える。例えば「気滞ってどういう意味ですか?」→「気滞とは何」。
なぜ質問の場合には「~のはなぜ」の形に言換える。例えば「日本がデフレになった理由は?」→「日本がデフレになったのはなぜ」。
どうやって質問の場合には「どうやって~」の形に言換える。例えば「ゴーヤの苦味を抑える方法はありますか?」→「どうやってゴーヤの苦味を抑える」。
これら分類をモデルに入力する素性として利用することで精度が向上することが期待できる。言換の人手作成に際しては、既存の質問応答装置122の動作を参照することにより、どのような形式のリクエストであれば質問応答装置122が適切な応答を返しやすいかについて検討しながら作業を行うことで訓練データ項目の質を高めることができる。
《訓練データ記憶部50》
訓練データ記憶部50に記憶された訓練データは多数の訓練データ項目を含む。各訓練データ項目は。自然言語からなる言換前のリクエスト(言換の対象リクエスト)と、この言換前のリクエストを、質問応答装置122が回答可能である確率が言換前のリクエストより高い形に言換えた質問文であるリクエストと、言換前のリクエストが上記した分類のいずれに属するかを示す分類コードとを含む。
《訓練処理部62》
訓練処理部62は、訓練データ記憶部50に記憶された訓練データを用いた機械学習によりニューラル言換モデル94の訓練を行うための言換モデル訓練処理部92と、訓練データ記憶部50に記憶された訓練データ内の、各訓練データ項目に含まれる第1のリクエストとその分類コードとを用いて、入力されたリクエストが上記した5つの分類のいずれに属するかを示す分類コードを出力するよう、機械学習により分類モデル98を訓練するための分類モデル訓練処理部96とを含む。
《質問応答システム58》
質問応答システム58は、既存の質問応答装置122と、ユーザ入力56を受けて、質問応答装置122が回答を生成できる確率がユーザ入力56よりも高いリクエストにこのユーザ入力56を言換えるためのリクエスト言換システム120とを含む。なお、質問応答装置122に与えられる入力には、何らかの情報を要求する文と、何らかの行為を要求する文との2種類がある。以下の説明における「リクエスト」は、これらのいずれも含む概念である。
リクエスト言換システム120は、ユーザ入力56を形態素解析し、各単語を単語ベクトルに変換することでユーザ入力56を単語ベクトル列に変換するための前処理部130と、前処理部130が出力する単語ベクトル列に基づいてユーザ入力56が表すリクエストが上記5分類の何れに属するかを分類し分類コードを出力するための、訓練処理部62により訓練された分類モデル98と、前処理部130が出力する単語ベクトル列及び分類モデル98が出力する分類コードを入力として、ユーザ入力56を、質問応答装置122が回答できる確率がユーザ入力56より高いリクエストに言換えるよう訓練処理部62により訓練された、前述のニューラル言換モデル94とを含む。本実施の形態ではニューラル言換モデル94は、いわゆるシーケンス・トゥー・シーケンスモデルであり、RNNの一種であるGRU(Gated Recurrent Unit)を用いたニューラル機械翻訳モデルと同様の構成を持つ。本実施の形態では、単語ベクトルは固定長のいわゆる単語埋め込みベクトルを用いるが、いわゆるワン・ホット・ベクトルを用いても良い。なお、GRUに代えてLSTM(Long Short―Term Memory)を用いても良い。
図1を参照して、本実施の形態では、訓練データ項目は(1)人手で言換前の文と言換後のリクエストとを生成する第1の訓練データ生成部64と、(2)質問応答装置122が回答できなかったリクエストを記憶した質問応答システムログ記憶部54から読出した、質問応答装置122が回答できなかった質問に、人手でそのリクエストと実質的に同じ情報を表現する言換後のリクエストを付す第2の訓練データ生成部66と、(3)リクエスト候補記憶部52に記憶されたリクエスト候補に人手で言換後のリクエストを付す第3の訓練データ生成部68により生成される。なお、この人手での訓練データの生成においては、質問応答装置122に対して言換後のリクエストの候補を入力して回答が得られるか否かを確認しながら処理を進める。またリクエスト候補記憶部52に記憶されたリクエスト候補は、インターネットのウェブページから例えば文末が「?」で終わっていて、文中に「何が」又は「なぜ」等のような疑問詞又はリクエストであることが分かるようなパターンを持つ文をパターンマッチングにより抽出し、かつ単語数があるしきい値より多いという条件を満足するものを用いる。また、これら訓練データ項目の各々について、その第1のリクエストが前述の5分類のいずれに属するかを人手で判断し、分類コードを付す。
言換では、不要な部分を削除したり、複文を単文に置換えたりすることで言換後の形式が単純になり、システムが対応しやすくなることが多い。例えば「卵が余っているんだけど、どんなものを作ったらいいかなあ」という文、「.aiファイルってのがあるんですが、これを開くには何を使ったらいいんですか」のような、条件表現又は照応を含むリクエストを適切に処理するのは、既存のシステムでは難しい。これをそれぞれ「卵で何を作る」「.aiファイルを何で開く」のような単文に変換することで質問応答システムが回答可能になる。したがって、言換作業では、不要な表現及び口語的・非標準的な表現等はできる限り修正し、言換後の形式を統一することが望ましい。また、新たな内容語を追加することは行わない。
また、例えば「予防注射をするとか意味あるの」とか「スマートスピーカっていいのかな」という入力に対して、単に「はい」「いいえ」を答えるのではなく、「予防注射をしないとどうなる」「スマートスピーカを使うとどうなる」等、別の質問への言換を行うようにしてもよい。このような言換を行うとユーザが潜在的に求めている情報が質問に対する回答として提供できるようになることも考えられる。
《ニューラル言換モデル94》
図1に示すニューラル言換モデル94は、本実施の形態では、ニューラルネットワークの一種であるRNN、より具体的にはRNNの一種であるGRUを1モジュールとして、必要な数だけコピーしたネットワークにより構成されるシステムである。入力文の末尾にはいずれも文末記号<S>が付されている。
図2を参照して、ニューラル言換モデル94は、第1のリクエストを表す単語ベクトル列140を受けて、第1のリクエストの意味を表す中間ノードベクトル152を出力するエンコーダ144と、エンコーダ144の出力する中間ノードベクトル152を入力として、言換後のリクエストの単語列156を出力するデコーダ154と、デコーダ154が単語列156の各単語を計算するために使用されるコンテクストベクトルを、アテンションと呼ばれる値とエンコーダ144内の各GRUの隠れ状態を用いて計算しデコーダ154に与えるためのアテンション層160とを含む。
エンコーダ144は、単語ベクトル列140の単語ベクトルを先頭から順番に受けるように配列された順方向GRU列146及び単語ベクトル列140の単語ベクトルを末尾から順番に受けるように配列された逆方向GRU列148を含む。順方向GRU列146の各GRUは、単語ベクトル列140の単語ベクトルと、直前のGRUの隠れ状態とを受けるように、順方向に接続されている。逆方向GRU列148の各GRUは、同様に単語ベクトル列140の単語ベクトルを、逆方向に受けるように接続された複数個のGRUを含む。順方向GRU列146及び逆方向GRU列148の先頭のGRUには初期状態のGRUの隠れ状態が与えられる。順方向GRU列146及び逆方向GRU列148を構成するGRUの数は単語ベクトル列140を構成する単語ベクトルの数と同じである。順方向GRU列146は、単語ベクトル列140の入力を受けたときに、その単語ベクトルの数に応じて同じGRUをコピーすることで生成される。同様に、逆方向GRU列148は、単語ベクトル列140の入力を受けたときにその単語ベクトルの数に応じて同じGRUをコピーすることで生成される。
エンコーダ144はさらに、順方向GRU列146の最終のGRUの出力と、逆方向GRU列148の最終の出力と、分類モデル98からの分類コードとを結合し、線形化して中間ノードベクトル152としてデコーダ154に出力する連結部150を含む。
デコーダ154は、複数の組170を構成要素として含む。組170は、GRU172と、GRU172の出力とアテンション層160の出力とを統合する統合部174とを含む。図2ではこの組170に続いて複数の組が記載されているが、これは組170の入力及び出力を時系列的に展開したもので、実際には組170のみで足りる。
これら各組170は、先頭位置の組170のGRU172の入力が第1のリクエストの文末記号<s>を受け、それ以外の位置ではGRU172が直前の組170の統合部174が出力する単語を単語ベクトルに変換したものを受けるように配列される。組170のGRU172の出力は同じ組170の統合部174の入力に接続される。また組170のGRU172の隠れ状態を用いてアテンションを計算するよう、GRU172はアテンション層160に接続される。
統合部174の入力はGRU170の出力を受けるように接続される。統合部174はさらに、アテンション層160からコンテクストベクトル168を受けるように接続される。統合部174は、GRU172の出力により計算した隠れ状態と、アテンション層160から受けたコンテクストベクトル168とを用いて出力する単語の確率を計算し、最も確率の高い単語を出力する。この単語は、単語ベクトルに変換され、次の組のGRU172の入力にも与えられる。
アテンション層160は、デコーダ154の処理対象のGRU172の隠れ状態における、エンコーダ144の各GRUの隠れ状態の重要度を示す係数をアテンションとして計算する係数算出部162と、係数算出部162が各GRUに対して算出する係数を用いて各GRUの隠れ状態を加重平均してコンテクストベクトル168を算出し、組170の統合部174に供給するコンテクストベクトル生成部164とを含む。
ニューラル言換モデル94の訓練時には、例えば最初に訓練データの言換対象の第1のリクエストの単語をそれぞれエンコーダ144の対応するGRUへの入力とし、第1のリクエストの分類コードも用いて中間ノードベクトル152を計算する。入力文の終わりを示す記号<s>が与えられると、その記号<S>をデコーダ154の組170のGRU172に入力し、その出力とアテンション層160により計算されるコンテクストベクトル168とを用いて統合部174が言換後のリクエストの先頭単語を予測する。この予測と訓練データの言換後の第2のリクエストの先頭単語の教師信号との差を用いて、誤差逆伝搬法によりパラメータ集合の学習を行う。以下、第2のリクエストの単語を組170のGRU172への入力とし、その次の単語及び第2のリクエストの終了を示す記号<S>等をそれぞれ教師信号としてパラメータ集合の学習を行う。こうした処理を全ての訓練データ項目について行う。
この基本となるGRUにより実現される言換機能を規定するパラメータ集合の値を学習することがニューラル言換モデル94の訓練の目的である。
一旦訓練が完了すると、入力文である言換対象文の単語を順番にニューラル言換モデル94に入力した後、記号<S>が入力されたときにニューラル言換モデル94から出力される単語が言換後のリクエストの先頭の単語となる。以下、ニューラル言換モデル94から出力される単語を次の入力としてニューラル言換モデル94に入力して得られる単語をリクエスト文の次の単語として行く処理を繰返し、最後にニューラル言換モデル94の出力に記号<S>が得られた時点で言換後のリクエスト文が定まる。
なお、ニューラル言換モデル94の構成は図2に示されるものに限定されず、他の構成を採用してもよい。
《分類モデル98》
図3は図1に示す分類モデル98を構成する畳込みニューラルネットワーク180の構成を説明する模式図である。図3を参照して、ここでは、説明を分かりやすくするために、分類モデル98の畳込みニューラルネットワーク180が、入力層190、畳込み層192、及びプーリング層194のみからなっているものとするが、この3つの層を複数個備えているものでもよい。
入力層190には、第1のリクエストの各単語を表す単語ベクトル列X、X、…、X|t|が入力される。この単語ベクトル列X、X、…、X|t|は、行列T=[X、X、…、X|t|として表される。この行列Tに対して、M個の素性マップが適用される。素性マップはベクトルであって、各素性マップの要素であるベクトルOは連続するN個の単語ベクトルからなるNグラム200に対してfj(1≦j≦M)で示されるフィルタを適用しながらNグラム200を移動させることにより計算される。Nは任意の自然数であるが、本実施の形態ではN=3とする。すなわちOは次の式により表される。
Figure 0007149560000001
なお、素性マップの全体にわたりNを等しくしてもよいし、異なるものがあってもよい。Nとしては、2、3、4及び5程度が適当である。畳込みニューラルネットワーク180で使用するフィルタとしては、どのようなものを用いることもできる。画像処理で用いるフィルタを流用してもよい。
この素性マップの各々について、次のプーリング層194は、いわゆるマックスプーリングを行う。すなわち、プーリング層194は、例えば素性マップfの要素の内、最大の要素210を選択し、要素220として取出す。これを素性マップの各々に対して行うことによって、要素220、…、要素222を取出し、これらをfからfの順番に連接して最終層182にベクトル230として出力する。最終層182はベクトル230をSoftmax層184に与える。本実施の形態では、分類モデル98の出力は5分類に対応する5つであり、それぞれの確率がこれら出力に得られる。なお、プーリング層194としてはマックスプーリングを行うものの方が平均値を採用するものよりも精度が高いと言われている。しかし、もちろん平均値を採用するようにしてもよいし、下位の層の性質をよく表現するものであれば、他の代表値を用いるようにしてもよい。
訓練データ項目は、上記したユーザ入力56から得られる単語ベクトル列と、ユーザ入力56がリクエストか否かを示すラベルとからなる。学習時には、分類モデル98の入力にリクエスト分類の対象となる単語ベクトル列が与えられ、分類モデル98の出力がそのテキストのラベルと比較されて誤差が算出される。通常の誤差逆伝播法によって、誤差関数の値が小さくなる方向に分類モデル98を構成する各ウェイトとバイアスの値が修正される。
《プログラム構成》
図4に、図1に示す訓練処理部62の機能をコンピュータとの協働により実現するためのプログラムの制御構造をフローチャート形式で示す。図4を参照して、このプログラムは、訓練データ記憶部50に記憶されている訓練データ項目の各々に対してニューラル言換モデル94の訓練処理242を行うステップ240と、ステップ240の後に、所定の終了条件が成立しているか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ244と、ステップ244の判定結果が肯定のときに、ニューラル言換モデル94のパラメータを所定の記憶装置に保存して処理を終了するステップ246とを含む。ステップ244の判定が否定であるときには制御はステップ240に戻り、次の訓練が実行される。
訓練処理242は、処理対象の訓練データ項目の第1のリクエストとその分類コードをニューラル言換モデル94に入力するステップ250と、その結果ニューラル言換モデル94から得られる出力と、処理対象の訓練データ項目の第2のリクエストとの誤差を計算するステップ252と、ステップ252で得られた誤差に基づいて誤差逆伝搬法によりニューラル言換モデル94のパラメータを更新するステップ254とを含む。
ステップ244での終了条件としては以下のようないくつかの条件が考えられる。
(1)ニューラル言換モデル94による言換の精度が所定のしきい値に達した場合。
(2)ニューラル言換モデル94による言換の精度と前回の検証時の精度との差が所定のしきい値以下となった場合。
(3)訓練と検証の繰返し数が所定のしきい値の回数を超えた(又はしきい値の回数に達した)場合。
本実施の形態では、これらの内、ニューラル言換モデル94による検証用データに対する言換の精度と前回の訓練時の精度との差分が所定のしきい値(第1のしきい値)以下となるか、又は訓練と検証との繰返し数が所定数(第2のしきい値)を超えるか、の何れかの条件が成立したときに処理を終了する。
図5は、コンピュータとの協働により図1に示す分類モデル訓練処理部96を実現するためのプログラムの制御構造を示すフローチャートである。図5を参照して、このプログラムは、訓練データ記憶部50に記憶された各訓練データに対して分類モデル98の訓練処理262を実行するステップ260と、分類モデル98の訓練の終了条件が充足されているか否かを判定して制御の流れを分岐させるステップ264と、ステップ264における判定が肯定のときに、分類モデル98のパラメータを所定の記憶装置に保存してこのプログラムの実行を終了するステップ266とを含む。ステップ264の判定が否定のときには、制御はステップ260に戻り、次の訓練サイクルを実行する。ステップ264の判定は、本実施の形態では予め別に準備した検証用データを用いて分類モデル98による分類の精度を測定し、その値の前回の訓練のときの値との差分が一定のしきい値(第3のしきい値)以下となるか、訓練の繰返し数が一定数(第4のしきい値)を超えるか、のいずれかの条件が成立したときに終了条件が充足したものと判定する。
訓練処理262は、処理対象の訓練データ項目の第1のリクエストを分類モデル98に入力するステップ270と、分類モデル98の出力する分類コードと処理対象の訓練データ項目中の分類コードとの誤差を計算するステップ272と、ステップ272で計算された誤差に基づき、誤差逆伝搬法により分類モデル98のパラメータを更新するステップ274とを含む。
図6に、コンピュータとの協働により、図1に示す質問応答システム58としてコンピュータを機能させるためのプログラムの制御構造を示す。図6を参照して、このプログラムは、ユーザ入力56により入力された自然言語の入力文を形態素解析して形態素列に変換するステップ290と、ステップ290の形態素解析により得られた各単語を単語ベクトルに変換することで入力文を単語ベクトル列に変換するステップ292と、ステップ292の処理により得られた単語ベクトル列を分類モデル98に与えることによりユーザ入力56により表されるリクエストの分類コードを推定するステップ294と、ステップ292の処理により得られた単語ベクトル列とステップ294で推定された分類コードをニューラル言換モデル94に入力し、ニューラル言換モデル94が出力する言換後のリクエストの単語列に変換するステップ296と、ステップ296の処理で得られた言換後のリクエストを質問応答装置122に入力するステップ298とを含む。
このプログラムはさらに、ステップ298の結果、質問応答装置122から回答が得られたか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ300と、ステップ300の判定が肯定であるときに、質問応答装置122の回答を質問応答システム58の外部に回答60(図1を参照)として出力してプログラムの実行を終了するステップ302と、ステップ300の判定が否定であるときに、図示しない検索エンジンを用いて入力文又は言換後のリクエストを用いてウェブ上で検索した結果のウェブサイトのリストを生成し回答60として出力し、プログラムの実行を終了するステップ304とを含む。
<動作>
上記第1の実施の形態に係る訓練処理部62及び質問応答システム58は以下のように動作する。
最初に訓練データ項目を生成し訓練データ記憶部50に記憶させる。訓練データ項目の生成は以下のように行う。(1)人手で言換前のリクエストと言換後のリクエストとの対を作成し、訓練データ項目とする。(2)質問応答装置122のログから質問応答装置122が回答を見つけることができなかったリクエストを収集する。人手でそのリクエストと実質的に同じ情報を表現する言換後のリクエストであって、質問応答装置122の回答が得られるものを作成する。この言換後のリクエストを言換前のリクエストと対にして訓練データ項目とする。(3)ウェブからリクエスト候補を抽出し、リクエスト候補記憶部52に記憶させる。記憶されたリクエスト候補に対して人手で質問応答装置122の回答できるような言換後のリクエストを作成する。記憶されたリクエスト候補を第1のリクエスト、言換後のリクエストを第2のリクエストとして両者を対にし、訓練データ項目とする。なお、これらのいずれの処理で生成した訓練データ項目のいずれにおいても、人手で上記した5つの分類のいずれかを判定し分類コードを付加する。
図1を参照して、訓練処理部62は、訓練データ記憶部50に記憶された訓練データ項目を用いてニューラル言換モデル94の訓練を行う。
本実施の形態では、言換モデル訓練処理部92によるニューラル言換モデル94の訓練が一通り終了した後(図4のステップ240)、別に準備した検証用データを用いてニューラル言換モデル94の精度を計算する。この精度と前回の訓練の際の精度との差分が第1のしきい値以下となるか、又は訓練処理部62による訓練の回数が第2のしきい値を超えればニューラル言換モデル94の訓練を終了し(図4のステップ244でYES)、ニューラル言換モデル94による関数を規定するパラメータ群を記憶装置に保存して処理を終了する(ステップ246)。精度の差分がしきい値より大きく、かつ訓練処理部62による訓練の回数が第2のしきい値以下であれば(ステップ244でNO)、再度訓練処理部62によるニューラル言換モデル94の訓練を実行する(ステップ244からステップ240への経路)。
以上の処理をステップ244で終了条件が成立するまで実行することでニューラル言換モデル94の訓練が終了する。訓練が完了したニューラル言換モデル94は、図2に示す構成を実現するプログラムと、エンコーダ144を構成するGRU及びデコーダ154を構成するGRUのパラメータとからなる。
図1に示す分類モデル98の訓練も同様である。すなわち、分類モデル訓練処理部96による分類モデル98の訓練が一通り終了した後(図5のステップ260)、別に準備した検証用データを用いて分類モデル98の分類の精度を計算する。この精度と前回の訓練時の精度との差分が第3のしきい値以下、又は分類モデル訓練処理部96による訓練の回数が第4のしきい値を超えていれば分類モデル98の訓練を終了し(図5のステップ264でYES)、分類モデル98による関数を規定するパラメータ群を記憶装置に保存して処理を終了する(ステップ266)。精度の差分がしきい値より大きく、かつ訓練処理部62による訓練の回数が第2のしきい値以下であれば(ステップ264でNO)、再度訓練処理部62による分類モデル98の訓練を実行する(ステップ264からステップ260への経路)。
以上の処理をステップ264で終了条件が成立するまで実行することで分類モデル98の訓練が終了する。訓練が完了した分類モデル98は、図3に示す構成を実現するプログラムと、畳込みニューラルネットワーク180により表される関数を規定するパラメータとからなる。
訓練を完了した後の稼働(テスト)フェーズでは、図1に示す質問応答システム58は以下のように動作する。質問応答システム58に含まれるリクエスト言換システム120のニューラル言換モデル94は、言換モデル訓練処理部92による訓練が終わったものである。同様にリクエスト言換システム120に含まれる分類モデル98も分類モデル訓練処理部96による訓練が終わったものである。
図1を参照して、ユーザ入力56が与えられると、前処理部130がユーザ入力56を形態素解析し形態素列に変換する(図6のステップ290)。前処理部130はさらにこの形態素列を単語ベクトル列に変換し(ステップ292)、分類モデル98を用いてユーザ入力56の分類コードを推定する(ステップ294)。さらに、ステップ292で得られた単語ベクトル列とステップ294で得られた分類コードをニューラル言換モデル94に入力する(ステップ296)。単語ベクトル列の末尾には文末記号<s>が付される。
図2を参照して、この単語ベクトル列140を構成する各単語はニューラル言換モデル94のエンコーダ144に与えられる。エンコーダ144は順方向GRU列146と逆方向GRU列148によりそれぞれの最終隠れ状態を算出し、分類コードとともに連結部150で連結し、線形変換により中間ノードベクトル152を生成してデコーダ入力158に入力する。
デコーダ入力158において、組170のGRU172に文末記号<s>が与えられると、このGRU172は中間ノードベクトル152と文末記号<s>に応じて隠れ状態を変化させ、出力ベクトルを生成して同じ組170の統合部174に入力する。またこのGRU172の隠れ状態は隠れ状態ベクトル166としてアテンション層160の係数算出部162に与えられる。
係数算出部162は、デコーダ154の処理対象のGRU172の隠れ状態における、エンコーダ144の各GRUの隠れ状態の重要度を示す係数をアテンションとして計算する。コンテクストベクトル生成部164は、係数算出部162が各GRUに対して算出する係数を用いて各GRUの隠れ状態を加重平均してコンテクストベクトル168を算出し、組170の統合部174に供給する。
統合部174は、GRU172の出力により計算した隠れ状態と、アテンション層160から受けたコンテクストベクトル168とを用いて出力する単語の確率を計算し、最も確率の高い単語を出力する。この単語は、単語ベクトルに変換され、次の組のGRU172の入力にも与えられる。
以下、文末記号<s>に対する処理と同じ処理が前ステップの組170の統合部174の出力に対して次の組で繰返され、単語列156の単語が順次デコーダ154から出力される。こうした処理の結果、文末記号<s>がデコーダ154から出力された時点で言換後のリクエストの単語列156が定まり、リクエスト言換システム120の出力が得られる。この出力は、ユーザ入力56を構成する自然言語文からなるリクエストを、実質的に同じ意味を表すリクエストであって質問応答装置122が回答可能である確率が言換前のリクエストより高くなるように言換えた言換後のリクエストである。この言換後のリクエストは質問応答装置122に入力される(図6のステップ298)。質問応答装置122はこの言換後のリクエストに対する回答を生成し回答60として出力する(ステップ302)。ニューラル言換モデル94の出力するリクエストは、質問応答装置122の回答の得られる確率が高くなるように言換えられたものであるため、質問応答装置122からユーザ入力56に対する回答として適切な出力が得られる可能性は言換がされない場合よりも高くなる。それでも回答が得られない場合には、図示しない検索エンジンを用いて、言換後のリクエストをキーワードとしてウェブを検索し、検索結果を生成し出力する(ステップ304)。
<第1の実施の形態の効果>
以上のようにこの第1の実施の形態によれば、ニューラル言換モデル94を用いてユーザが入力したリクエストを質問応答装置122が回答可能である確率が言換前より高いリクエストに言換えて質問応答装置122に入力する。そのため、ユーザ入力が複文であったり、口語体であったり、不要な情報を含んでいたりする場合でも、質問応答装置122から適切な回答が出力される可能性を高めることができる。またニューラル言換モデル94の訓練データを工夫することにより、ユーザが明確には意識していなくても潜在的に求めている情報が、質問応答装置122からの回答として得られる可能性も高くなる。
さらに、分類モデル98により言換前のリクエストを分類し、ニューラル言換モデル94に入力される素性として使用する。そのため、ユーザ入力56をそのリクエストのタイプに応じた適切な形のリクエストであって、かつ質問応答装置122の回答できる可能性が言換前より高くなるリクエストに言換えることができる。質問応答装置122からはユーザ入力56に対し、質問のタイプに応じた適切な回答が得られる可能性がより高くなるという効果が得られる。もちろん、こうした分類を素性として用いなくても良い。
[第2の実施の形態]
<構成>
《全体構成》
上記第1の実施の形態は、質問応答システムに関するものであった。したがって入力文がリクエストであることを想定して処理しても問題はない。しかし、より一般的な対話システムの場合、入力がリクエストである場合もあるが、そうでない場合もある。どのような入力があるかについても予測はできないことが一般的である。そうした場合には、第1の実施の形態のようにニューラル言換モデル94を用いて無条件で入力文を言換えるのは妥当ではない。リクエストである場合のみニューラル言換モデルを適用する必要がある。この第2の実施の形態は、そのための判定を、第1の実施の形態で使用した分類モデル98と同様、ディープニューラルネットワークの1例である畳込みニューラルネットワークからなる判定モデルで判定し、判定が肯定である(入力が何らかのリクエストである)場合のみ、入力文をニューラル言換モデルで入力文を言換えて質問応答システムに与える。
図7を参照してこのシステムは、オペレータが手入力によりリクエスト判定モデル326の訓練データ項目を作成し追加するために使用する訓練データ追加装置320と、訓練データ追加装置320を用いて作成された訓練データ項目を記憶するための訓練データ記憶部322と、訓練データ記憶部322に記憶された訓練データ項目からなる訓練データを用いてリクエスト判定モデル326の訓練を行うためのリクエスト判定モデル訓練装置324と、リクエスト判定モデル訓練装置324により訓練されたリクエスト判定モデル326を用いて、ユーザ入力328がリクエストである場合とそれ以外の場合との双方において適切な応答を応答332として出力する対話システム330とを含む。訓練データ項目の作成の際には、インターネット上のウェブサイトからリクエストらしいパターンを持つ文を抽出し、それらが真にリクエストか否かを人手で判定することにより訓練データ項目を作成しても良い。
《リクエスト判定モデル326》
リクエスト判定モデル326は図3に示す分類モデル98と同様の構成である。ただし、リクエスト判定モデル326の出力はリクエストである確率とリクエストでない確率とをそれぞれ示す2つの出力であるという点でリクエスト判定モデル326と分類モデル98とは異なっている。リクエスト判定モデル326と分類モデル98とでは、層の数、素性マップの数及びその構成等においては分類モデル98と異なるが、基本的には同様の構成である。また訓練方法も、訓練データが異なる点を除き同様である。したがってここではその構造についての詳細は繰返さない。
リクエスト判定モデル326の訓練において使用される訓練データ項目は、言換前の第1のリクエストと、この第1のリクエストがリクエストか否かを示すラベルとからなる。訓練時には、リクエスト判定モデル326の入力にリクエスト判定の対象となる単語ベクトル列が与えられ、リクエスト判定モデル326の出力(リクエストである確率とリクエストでない確率)がそのテキストのラベル(リクエストの場合には(1,0)、そうでない場合には(0,1)と比較されて誤差が算出される。通常の誤差逆伝播法によって、誤差関数の値が小さくなる方向にリクエスト判定モデル326を構成する各ウェイトとバイアスの値が修正される。
《対話システム330》
図7を参照して、対話システム330は、リクエスト判定モデル訓練装置324により訓練されたリクエスト判定モデル326と、ユーザ入力328を受けて単語ベクトル列に変換する前処理を行い、リクエスト判定モデル326を用いてユーザ入力328がリクエストか否かを判定してその結果にしたがいユーザ入力328を2つの出力のいずれかに振り分けるリクエスト判定部340と、リクエスト判定モデル326による判定がリクエストであることを示すときに、リクエスト判定部340から単語ベクトル列を受け、当該単語ベクトルが表す質問に対する応答を行う質問応答システム342と、リクエスト判定モデル326によりユーザ入力328がリクエストでないと判定されたときに、単語ベクトル列をリクエスト判定部340から受けて適切な応答をするよう構成された、質問応答システムとは異なる、他の応答システム344と、リクエスト判定部340による判定結果にしたがって、質問応答システム342の出力する応答と他の応答システム344の出力する応答とのいずれか適切な一方を選択し応答332として出力するための選択部346とを含む。
《リクエスト判定部340》
リクエスト判定部340は、前処理としてユーザ入力328を形態素解析し、各単語を単語ベクトルに変換することで単語ベクトル列を生成する。リクエスト判定部340はこの単語ベクトル列をリクエスト判定モデル326に与えてリクエスト判定モデル326の出力を得る。リクエスト判定部340は、リクエスト判定モデル326の出力が真(ユーザ入力328がリクエスト)であることを示すときには単語ベクトル列を質問応答システム342に与える。そうでないときにはリクエスト判定部340は単語ベクトル列を他の応答システム344に与える。
《質問応答システム342》
質問応答システム342は、第1の実施の形態に係るリクエスト言換システム120と同様の構成のリクエスト言換システム350と、リクエスト言換システム350によって言換えられたリクエストに対する回答を応答として選択部346に出力する質問応答装置352とを含む。
《リクエスト判定モデル訓練装置324》
図7を参照して、リクエスト判定モデル訓練装置324は、訓練データ記憶部322に記憶された訓練データを用いてリクエスト判定モデル326の訓練を行うためのものである。訓練データ記憶部322が記憶する訓練データ項目の各々は、自然言語からなる文と、その文がリクエストか否かを示すラベルとの対を含む。この訓練データ項目は、主として人手で作成される。この機能は本実施の形態ではコンピュータハードウェアとコンピュータプログラムとの協働により実現される。そのコンピュータプログラムの構造については図4及び図5に示したものと同様である。
《プログラム構成》
図8は、図7に示す対話システム330としてコンピュータを機能させるためのプログラムの制御構造を示す。図8を参照して、このプログラムは、ユーザ入力328を形態素解析し形態素列に変換するステップ360と、ステップ360により得られた形態素列の各単語を単語ベクトルに変換することで単語ベクトル列を出力するステップ362と、ステップ362で得られた単語ベクトル列をリクエスト判定モデル326に与えてリクエスト判定モデル326の出力を得るステップ364と、ステップ364におけるリクエスト判定モデル326の出力に基づいて、ユーザ入力328がリクエストか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ366とを含む。
このプログラムはさらに、ステップ366の判定が肯定であるときに、ステップ362で得られた単語ベクトル列をリクエスト言換システム350に入力するステップ370と、ステップ370の処理の結果、リクエスト言換システム350が出力する単語ベクトル列を質問応答装置352に入力するステップ372と、ステップ372の処理に応答して質問応答装置352から回答が得られたか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ374とを含む。
このプログラムはさらに、ステップ374の判定が肯定のときに質問応答装置352の応答を選択して応答332として出力しプログラムの実行を終了するステップ376と、ステップ374の判定が否定のときに、ユーザ入力328を入力としてウェブを検索し、検索結果を出力してこのプログラムの実行を終了するステップ378と、ステップ366の判定が否定であるときに、質問応答システム342ではなく他の応答システム344に単語ベクトル列を入力として与えるステップ380と、ステップ380の結果、他の応答システム344から出力される応答を選択して出力し、このプログラムの実行を終了するステップ382とを含む。
<動作>
この第2の実施の形態では、リクエスト言換システム350の訓練が既に完了しているものとすると、2つの動作フェーズがある。第1はリクエスト判定モデル訓練装置324によるリクエスト判定モデル326の訓練フェーズであり、第2は訓練済みのリクエスト判定モデル326を用いた対話システム330の対話応答フェーズである。
《訓練フェーズ》
図7を参照して、訓練フェーズではリクエスト判定モデル訓練装置324は以下のように動作する。訓練データ記憶部322には、予め人手で作成した訓練データが記憶される。リクエスト判定モデル326は所定の初期状態で準備される。すなわち、畳込みネットワークを実現するためのプログラムがメモリにロードされ、畳込みネットワークが表す関数を規定するパラメータを格納する領域がメモリに確保され、それぞれ初期値に設定される。
リクエスト判定モデル訓練装置324は、訓練データ記憶部322に記憶された訓練データを用いてリクエスト判定モデル326の訓練を行う(図5のステップ260に相当)。この後の訓練の構成は、図5に示した分類モデル98の訓練と同様である。したがってここではその詳細は繰返さない。
《対話応答フェーズ》
対話応答フェーズでは対話システム330は以下のように動作する。図7を参照して、対話システム330のリクエスト判定部340は、ユーザ入力328を受けて単語ベクトル列に変換する前処理を行う(図8のステップ360及び362)。リクエスト判定部340は、リクエスト判定モデル326にリクエスト判定の対象としてこの単語ベクトルを入力してユーザ入力328がリクエストか否かを判定する(ステップ364及び366)。リクエスト判定部340は、その判定結果にしたがいユーザ入力328を2つの出力のいずれかに振分ける。すなわちリクエスト判定部340は、リクエスト判定モデル326による判定が肯定であるとき(ステップ366においてYES)には質問応答システム342に単語ベクトル列を与える(ステップ370)。質問応答システム342のリクエスト言換システム350は、リクエスト判定部340から与えられた単語ベクトル列を質問応答装置352が応答できる確率が言換前より高いリクエストに言換え、質問応答装置352に入力する(ステップ372)。質問応答装置352はこのリクエストに対する回答の生成を試みる。回答があれば(ステップ374でYES)質問応答装置352は回答を生成し選択部346に対して出力する(ステップ376)。回答がなければ質問応答装置352はウェブ検索エンジンを用い、言換後のリクエストをキーワードにウェブを検索し、検索結果を出力する(ステップ378)。
一方、リクエスト判定部340の判定が否定のとき(ステップ366でNO)にはリクエスト判定部340は単語ベクトル列を他の応答システム344に与える(ステップ380)。他の応答システム344はこの単語ベクトル列に対して何らかの応答を生成し選択部346に出力する(ステップ382)。
選択部346は、リクエスト判定部340による判定が肯定のときには質問応答装置352の出力を、そうでないときには他の応答システム344の出力を、それぞれ選択し応答332として出力する。
<第2の実施の形態の効果>
この第2の実施形態では、質問応答システムに限らず、一般的な対話システムにおいてリクエストとそうでないものとを分け、質問応答システムに与えるリクエストとして適切なもののみを質問応答システムへの入力とする。そのため、対話として適切な応答を生成できる。また第1の実施形態と同様、質問応答システムへの入力の前段階として、質問応答システムが回答可能である確率が言換前より高くなるようにリクエストの言換を行っている。その結果、対話中に含まれるリクエストに対しては、第1の実施の形態と同様、ユーザ入力が複文であったり、不要な情報を含んでいたりする場合でも、対話システムから適切な回答が出力される可能性を高めることができる。またニューラル言換モデルの訓練データを工夫することにより、ユーザが明確には意識していなくても潜在的に求めている情報が、質問応答システムからの回答として得られる可能性も高くなる。
[第3の実施の形態]
<構成>
第1の実施の形態では、訓練データ記憶部50に記憶する訓練データ項目は、(1)人手で言換前の文と言換後のリクエストとを生成する第1の訓練データ生成部64と、(2)質問応答装置122が回答できなかったリクエストを記憶した質問応答システムログ記憶部54から読出した、質問応答装置122が回答できなかった質問に、人手でそのリクエストと実質的に同じ情報を表現する言換後のリクエストを付す第2の訓練データ生成部66と、(3)リクエスト候補記憶部52に記憶されたリクエスト候補に人手で言換後のリクエストを付す第3の訓練データ生成部68により生成される。このようにして作成された訓練データを使用し、訓練データそのものを変更したり追加したりすることなくニューラル言換モデル94の訓練が行われる。しかし本発明はそのような実施の形態には限定されない。これらに加えて、以下のような方法で訓練データを追加しながらニューラル言換モデル94の訓練を行うこともできる。
図9はこの第3の実施の形態に係るリクエスト言換モデル訓練システム400のブロック図である。図9を参照して、リクエスト言換モデル訓練システム400は、訓練データ記憶部50と、訓練データ記憶部50を用いてリクエスト言換システム412を訓練するための訓練処理部62とを含む。リクエスト言換システム412は、本実施の形態では、ただ1つの言換後のリクエストを出力するだけではなく、言換後のリクエスト候補のNベストを出力する機能を持つ。このNベストは、図2に示す単語ベクトル列156を構成する各単語ベクトルにおいて、最高のスコア(確率)の組合せとなるものだけではなく、第2、第3のスコアを持つ単語候補も組合せることによって生成できる。
リクエスト言換モデル訓練システム400はさらに、リクエスト言換システム412に対して何らかのリクエスト410を入力したことにより得られるNベストを言換候補として記憶する言換候補記憶部414と、言換候補記憶部414に記憶された各言換候補を受けてそれぞれ回答を生成し出力する、第1の実施の形態で示したものと同じ質問応答装置122と、質問応答装置122が出力した回答を記憶する回答記憶部416と、回答記憶部416に記憶された回答の各々何らかの手段で(例えば人手で)評価し、スコアを算出する回答評価部418と、回答評価部418において所定のしきい値以上のスコアが得られた回答を、リクエスト410と組合せ、その回答を第2のリクエスト、リクエスト410を第1のリクエストとして訓練データ項目を生成し訓練データ記憶部50に追加して格納する訓練データ生成部420とを含む。
《プログラム構成》
図9に示すリクエスト言換モデル訓練システム400において、訓練データを追加する処理をコンピュータとの協働により実現するコンピュータプログラムの制御構造を図10に示す。図10に示すのは、訓練処理が一旦終了したリクエスト言換システム412を用いて訓練データを追加するためのものである。
図10を参照して、このプログラムは、1又は複数のリクエスト(図9に示すリクエスト410)をリクエスト言換システム412に与えるステップ456と、リクエスト410の各々に対して、言換後のリクエストのNベストをリクエスト言換システム412の出力として取得し言換候補記憶部414に記憶するステップ458と、ステップ458でリクエスト410の各々に対して取得したNベストの各々を質問応答装置122に与え、各リクエストに対して質問応答装置122からの出力(リクエストに対する回答)を得て回答記憶部416に保存するステップ460とを含む。
このプログラムはさらに、回答記憶部416に記憶された各回答の質を、例えば人手によりリクエスト410に対する回答として評価するステップ462と、ステップ462において回答の質があるしきい値以上と判定された回答の全てについて、以下の処理466を実行してこのプログラムの実行を終了するステップ464とを含む。
処理466は、その回答の元となったリクエスト(図9のリクエスト410)を第1のリクエスト、そのリクエストに対するリクエスト言換システム412の出力を第2のリクエストとし、第1のリクエストに対してリクエスト言換システム412で判定された分類コードと組合せることで訓練データ項目を新たに生成するステップ480と、ステップ480で生成された訓練データ項目を訓練データ記憶部50の訓練データに追加するステップ482とを含む。
<動作>
この第3の実施の形態に係るリクエスト言換モデル訓練システム400は以下のように動作する。
予め人手により訓練データ記憶部50に初期の訓練データが準備され記憶される。訓練処理部62がこの訓練データを用いてリクエスト言換システム412の訓練を行う。例えば人手等の何らかの手段により、1又は複数のリクエスト410が準備され、各々リクエスト言換システム412に入力される(図10のステップ456)。リクエスト言換システム412からは各リクエストに対する言換候補のNベストが出力され、言換候補記憶部414に保存される(ステップ458)。
このリクエストの言換候補のNベストの各々が質問応答装置122に入力される(ステップ460)。その結果、質問応答装置122からその回答が得られ、回答記憶部416に保存される。回答評価部418を用いて、人手により、各回答と、その元になったリクエスト410との組合せに対して回答の質が評価される(ステップ462)。質が高いと評価された回答の各々について、その元になったリクエスト410を第1のリクエスト、そのリクエスト410に対するリクエスト言換システム412の出力である言換後のリクエストを第2のリクエスト、及び第1のリクエストに対してリクエスト言換システム412の内部で行われた分類結果に基づく分類コードを1組にして新たな訓練データ項目を生成する(ステップ480)。この訓練データ項目を訓練データ記憶部50に記憶された訓練データに追加する(ステップ482)。
こうした処理を実行することで訓練データ記憶部50に新たな訓練データ項目が追加される。データ項目が追加された訓練データでリクエスト言換システム412の訓練を実行することにより、リクエスト言換システム412による言換精度が高くなることが期待される。
[コンピュータによる実現]
上記した各実施の形態に係る訓練データ記憶部50、リクエスト候補記憶部52、質問応答システムログ記憶部54、質問応答システム58、訓練処理部62、第1の訓練データ生成部64、第2の訓練データ生成部66、第3の訓練データ生成部68、ニューラル言換モデル94、分類モデル98、訓練データ追加装置320、訓練データ記憶部322、リクエスト判定モデル訓練装置324、リクエスト判定モデル326、対話システム330、及びリクエスト言換モデル訓練システム400等は、それぞれコンピュータハードウェアと、そのハードウェア上でCPU(中央演算処理装置)及びGPU(Graphic Processing Unit)により実行されるコンピュータプログラムとにより実現できる。図11及び図12に上記各装置及びシステムを実現するコンピュータハードウェアを示す。GPUは通常は画像処理を行うために使用されるが、このようにGPUを画像処理ではなく通常の演算処理に使用する技術をGPGPU(General-purpose computing on graphics processing units)と呼ぶ。GPUは同種の複数の演算を同時並列的に実行できる。一方、ニューラルネットワークの訓練時及び動作時には、各ノードの重み演算は単純な積和演算であり、しかもそれらは同時に実行できることが多い。したがって、図2に示すニューラル言換モデル94及び分類モデル98、図7に示すリクエスト判定モデル326、並びに図9に示すリクエスト言換システム412はGPGPUに適している。
図11を参照して、このコンピュータシステム530は、メモリポート552及びDVD(Digital Versatile Disk)ドライブ550を有するコンピュータ540と、キーボード546と、マウス548と、モニタ542とを含む。
図12を参照して、コンピュータ540は、メモリポート552及びDVDドライブ550に加えて、CPU556及びGPU557と、CPU556、GPU557、メモリポート552及びDVDドライブ550に接続されたバス566と、ブートプログラム等を記憶する読出専用メモリであるROM558と、バス566に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するコンピュータ読出可能な記憶媒体であるランダムアクセスメモリ(RAM)560と、ハードディスク554を含む。コンピュータ540はさらに、いずれもバス566に接続され、他端末との通信を可能とするネットワーク568への接続を提供するネットワークインターフェイス(I/F)544と、外部との音声信号の入出力を行うための音声I/F570とを含む。
コンピュータシステム530を上記した実施の形態に係る各装置及びシステムの各機能部として機能させるためのプログラムは、DVDドライブ550又はメモリポート552に装着される、いずれもコンピュータ読出可能な記憶媒体であるDVD562又はリムーバブルメモリ564に記憶され、さらにハードディスク554に転送される。又は、プログラムはネットワーク568を通じてコンピュータ540に送信されハードディスク554に記憶されてもよい。プログラムは実行の際にRAM560にロードされる。DVD562から、リムーバブルメモリ564から又はネットワーク568を介して、直接にRAM560にプログラムをロードしてもよい。また、上記処理に必要なデータは、ハードディスク554、RAM560、CPU556又はGPU557内のレジスタ等の所定のアドレスに記憶され、CPU556又はGPU557により処理され、プログラムにより指定されるアドレスに格納される。最終的に訓練が終了したニューラル言換モデル94、分類モデル98、リクエスト判定モデル326及びリクエスト言換システム412のパラメータは、例えばハードディスク554に格納されたり、DVDドライブ550及びメモリポート552をそれぞれ介してDVD562又はリムーバブルメモリ564に格納されたりする。又は、ネットワークI/F544を介してネットワーク568に接続された他のコンピュータ又は記憶装置に送信される。
このプログラムは、コンピュータ540を、上記実施の形態に係る各装置及びシステムとして機能させるための複数の命令からなる命令列を含む。上記各装置及びシステムにおける数値演算処理は、CPU556及びGPU557を用いて行う。CPU556のみを用いてもよいがGPU557を用いる方が高速である。コンピュータ540にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ540上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ540にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体はこの実施の形態のシステム、装置及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の内、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記したシステム、装置又は方法としての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供してもよい。
[実施の形態の効果]
上記実施の形態は、既存の質問応答システム又は対話システムが対応可能な入力の幅を広げるものである。システムに自然言語で入力する際の入力のスタイルには、検索エンジンに入力する際のような断片的なキーワードによるものから、口語的なくだけた表現で話しかけるようなものまで、様々なものが考えられる。質問応答システム及び対話システムの前処理として上記実施の形態に係るリクエスト言換システムを用いることで、そのようなスタイルの違いが吸収できる。その結果、既存のシステムに変更を加えることなく、そのまま上記実施の形態に係るリクエスト言換システムを使用できる。言換の結果をユーザに提示する必要はないため、ユーザがリクエスト言換システムを意識することはない。
上記実施の形態は、入力のドメインを限定せず、口語的な表現を含めて様々なスタイルの自然言語による入力に対応するという特性を持つ。そのため、上記実施の形態に係るリクエスト言換システム及びリクエスト判定システムを一般家庭及び車載用等、日常用途向けの対話システムに用いることが特に効果的である。また、単に雑談を行うのではなく、知識データベース、他のソフトウェア及びいわゆるIoT対応機器との連携により、適切な情報提供及び動作を行うシステムへの接続において最も威力を発揮する。
上記実施の形態では、ニューラル言換モデル94としてはニューラル機械翻訳と同様の構成のものを用いている。これは、入力文の長さも出力文の長さも不定であるためである。しかし、ニューラル言換モデル94がこのようなモデルに限定されるわけではない。他の機械学習によるモデルで入力文及び出力文の長さが不定でもよいものであればどのようなものでも利用できる。また第1の実施形態の分類モデル98、及び第2の実施の形態のリクエスト判定モデル326として畳込みニューラルネットワークを用いている。しかし本発明はそのような実施の形態に限定されるわけではない。機械学習によりある入力文がリクエストか否かを判定できるようなモデル、たとえばSVM(Support Vector Machine)等を用いるようにしてもよい。これ以外で、現在利用できるモデル、また将来利用可能になるモデルで、本発明におけるニューラル言換モデル、分類モデル、及びリクエスト判定モデルとして利用可能なものであればどのようなものでも利用できる。
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
50、322 訓練データ記憶部
52 リクエスト候補記憶部
54 質問応答システムログ記憶部
56、328 ユーザ入力
58、342 質問応答システム
60 回答
62 訓練処理部
64 第1の訓練データ生成部
66 第2の訓練データ生成部
68 第3の訓練データ生成部
92 言換モデル訓練処理部
94 ニューラル言換モデル
96 分類モデル訓練処理部
98 分類モデル
120、350、412 リクエスト言換システム
122、352 質問応答装置
130 前処理部
140 単語ベクトル列
144 エンコーダ
146 順方向GRU列
148 逆方向GRU列
150 連結部
152 中間ノードベクトル
154 デコーダ
156 単語列
158 デコーダ入力
160 アテンション層
162 係数算出部
164 コンテクストベクトル生成部
166 隠れ状態ベクトル
168 コンテクストベクトル
170 組
180 畳込みニューラルネットワーク
182 最終層
184 Softmax層
190 入力層
192 畳込み層
194 プーリング層
200 Nグラム
210 最大の要素
220、222 要素
240、244、246、250、252、254、260、264、266、270、272、274、290、292、294、296、298、300、302、304、360、362、364、366、370、372、374、376、378、380、382、450、452、454、456、458、460、462、464、470、480、482 ステップ
242、262 訓練処理
320 訓練データ追加装置
324 リクエスト判定モデル訓練装置
326 リクエスト判定モデル
330 対話システム
332 応答
340 リクエスト判定部
344 他の応答システム
346 選択部
400 リクエスト言換モデル訓練システム
410 リクエスト
414 言換候補記憶部
416 回答記憶部
418 回答評価部
420 訓練データ生成部
466 処理

Claims (5)

  1. 入力されたリクエストを形態素解析して形態素列に変換するための形態素解析手段と、
    前記形態素列内の各単語を単語ベクトルに変換することにより、前記形態素列を入力単語ベクトル列に変換するための変換手段と、
    前記入力単語ベクトル列を入力として受け、前記入力単語ベクトル列により表される前記リクエストを、所定の対話システムが応答可能である確率が前記入力単語ベクトル列より高いリクエストに対応する出力単語列に変換して出力するよう、予め機械学習により学習済のリクエスト言換モデルとを含み、
    前記リクエスト言換モデルの出力する前記出力単語列が前記対話システムに与えるリクエストとなる、リクエスト言換システム。
  2. 前記入力されたリクエストを予め定めた複数種類のリクエスト分類のいずれかに分類し対応する分類コードを出力するためのリクエスト分類手段をさらに含み、
    前記リクエスト言換モデルは、前記入力単語ベクトル列及び前記分類コードを入力として受け、前記入力単語ベクトル列により表される前記リクエストを、前記対話システムが応答可能である確率が前記入力単語ベクトル列より高いリクエストに対応する出力単語列に変換して出力するよう、予め機械学習により学習済の分類付リクエスト言換モデルを含む、請求項1に記載のリクエスト言換システム。
  3. 入力単語ベクトル列を入力として受け、前記入力単語ベクトル列により表されるリクエストを、対話システムが応答可能である確率が前記入力単語ベクトル列より高いリクエストに対応する出力単語列に変換して出力するよう、リクエスト言換モデルを機械学習により訓練するためのリクエスト言換モデルの訓練方法であって、
    コンピュータが、前記リクエスト言換モデルの訓練のための複数の訓練データ項目を、機械可読な訓練データ記憶装置に記憶させるステップを含み、前記複数の訓練データ項目の各々は、単語列を含む第1のリクエストと、当該第1のリクエストの言換である単語列を含む第2のリクエストとを含み、
    前記方法はさらに、
    コンピュータが、前記訓練データ記憶装置に記憶された前記複数の訓練データ項目の各々について、前記第1のリクエストを入力とし、前記第2のリクエストを教師データとして前記リクエスト言換モデルの訓練を行う訓練ステップを含む、リクエスト言換モデルの訓練方法。
  4. 前記複数の訓練データ項目の各々は、前記第1のリクエストが予め定めた複数種類のリクエスト分類のいずれであるかを示す分類コードをさらに含み、
    前記訓練ステップは、コンピュータが、前記訓練データ記憶装置に記憶された前記複数の訓練データ項目の各々について、前記第1のリクエスト及び前記分類コードを入力とし、前記第2のリクエストを教師データとして前記リクエスト言換モデルの訓練を行う訓練ステップを含む、請求項3に記載のリクエスト言換モデルの訓練方法。
  5. 所定の対話型リクエスト応答システムと、当該対話型リクエスト応答システムと異なる他の応答システムとを含む対話システムであって、
    入力された自然言語文がリクエストか否かを判定するための判定手段と、
    前記判定手段によりリクエストと判定された自然言語文を、前記対話型リクエスト応答システムによる応答が得られる可能性が前記自然言語文より高いリクエストに言換えた言換リクエストを出力するためのリクエスト言換手段と、
    前記リクエスト言換手段により出力された言換リクエストを前記対話型リクエスト応答システムに与え、当該対話型リクエスト応答システムに当該言換リクエストに対して応答させるための手段と、
    前記判定手段によりリクエストではないと判定された自然言語文を、前記他の応答システムに与え、当該他の応答システムに前記自然言語文に対して応答させるための手段とを含む、対話システム。
JP2018077454A 2018-04-13 2018-04-13 リクエスト言換システム、リクエスト言換モデル及びリクエスト判定モデルの訓練方法、及び対話システム Active JP7149560B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018077454A JP7149560B2 (ja) 2018-04-13 2018-04-13 リクエスト言換システム、リクエスト言換モデル及びリクエスト判定モデルの訓練方法、及び対話システム
US17/043,069 US11861307B2 (en) 2018-04-13 2019-03-05 Request paraphrasing system, request paraphrasing model and request determining model training method, and dialogue system
PCT/JP2019/008607 WO2019198386A1 (ja) 2018-04-13 2019-03-05 リクエスト言換システム、リクエスト言換モデル及びリクエスト判定モデルの訓練方法、及び対話システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018077454A JP7149560B2 (ja) 2018-04-13 2018-04-13 リクエスト言換システム、リクエスト言換モデル及びリクエスト判定モデルの訓練方法、及び対話システム

Publications (2)

Publication Number Publication Date
JP2019185521A JP2019185521A (ja) 2019-10-24
JP7149560B2 true JP7149560B2 (ja) 2022-10-07

Family

ID=68162840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018077454A Active JP7149560B2 (ja) 2018-04-13 2018-04-13 リクエスト言換システム、リクエスト言換モデル及びリクエスト判定モデルの訓練方法、及び対話システム

Country Status (3)

Country Link
US (1) US11861307B2 (ja)
JP (1) JP7149560B2 (ja)
WO (1) WO2019198386A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110472251B (zh) * 2018-05-10 2023-05-30 腾讯科技(深圳)有限公司 翻译模型训练的方法、语句翻译的方法、设备及存储介质
JP7099521B2 (ja) * 2018-05-25 2022-07-12 日本電気株式会社 採点装置、採点方法、記録媒体
WO2020186458A1 (zh) * 2019-03-19 2020-09-24 京东方科技集团股份有限公司 问题生成方法和装置、问诊系统、计算机可读存储介质
US11586973B2 (en) 2019-03-22 2023-02-21 International Business Machines Corporation Dynamic source reliability formulation
US11238027B2 (en) * 2019-03-22 2022-02-01 International Business Machines Corporation Dynamic document reliability formulation
JP2020187470A (ja) * 2019-05-13 2020-11-19 富士通株式会社 ネットワーク分析装置およびネットワーク分析方法
US11996098B2 (en) * 2019-06-05 2024-05-28 Hewlett-Packard Development Company, L.P. Missed utterance resolutions
US11163947B2 (en) * 2019-07-30 2021-11-02 Imrsv Data Labs Inc. Methods and systems for multi-label classification of text data
CN111241398B (zh) * 2020-01-10 2023-07-25 百度在线网络技术(北京)有限公司 数据预取方法、装置、电子设备及计算机可读存储介质
CN110990555B (zh) * 2020-03-05 2020-06-12 中邮消费金融有限公司 端到端检索式对话方法与系统及计算机设备
JP7276752B2 (ja) * 2020-04-28 2023-05-18 株式会社Askプロジェクト 自然言語処理装置及び自然言語処理方法
JP7428245B2 (ja) * 2020-05-20 2024-02-06 日本電信電話株式会社 応答文生成装置およびプログラム
US11782685B2 (en) * 2020-06-17 2023-10-10 Bank Of America Corporation Software code vectorization converter
CN111831813B (zh) * 2020-09-21 2021-02-05 北京百度网讯科技有限公司 对话生成方法、装置、电子设备及介质
CN112883179B (zh) * 2021-02-23 2024-05-24 中国科学技术大学 一种人机对话方法及系统
CN114610845B (zh) * 2022-03-02 2024-05-14 北京百度网讯科技有限公司 基于多系统的智能问答方法、装置和设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094521A (ja) 2002-08-30 2004-03-25 Nippon Telegr & Teleph Corp <Ntt> 質問タイプ学習方法、学習装置、質問タイプ学習プログラム、同プログラムを記録した記録媒体、学習データを記録した記録媒体、学習データを用いた質問タイプ同定方法、装置、プログラム、および該プログラムを記録した記録媒体
JP2017076403A (ja) 2015-10-16 2017-04-20 バイドゥ・ユーエスエイ・リミテッド・ライアビリティ・カンパニーBaidu USA LLC 人間から示唆を得た簡単質問応答(hisqa)システム及び方法
JP2018041160A (ja) 2016-09-05 2018-03-15 国立研究開発法人情報通信研究機構 文脈解析装置及びそのためのコンピュータプログラム
JP2018060273A (ja) 2016-10-03 2018-04-12 エヌ・ティ・ティ レゾナント株式会社 情報処理装置、情報処理方法、及びプログラム

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519529B1 (en) * 2001-06-29 2009-04-14 Microsoft Corporation System and methods for inferring informational goals and preferred level of detail of results in response to questions posed to an automated information-retrieval or question-answering service
US20080040339A1 (en) * 2006-08-07 2008-02-14 Microsoft Corporation Learning question paraphrases from log data
US8447589B2 (en) * 2006-12-22 2013-05-21 Nec Corporation Text paraphrasing method and program, conversion rule computing method and program, and text paraphrasing system
US9002869B2 (en) * 2007-06-22 2015-04-07 Google Inc. Machine translation for query expansion
JP4331233B2 (ja) * 2007-12-26 2009-09-16 株式会社東芝 無線通信装置
US20110125734A1 (en) * 2009-11-23 2011-05-26 International Business Machines Corporation Questions and answers generation
CN103229162B (zh) * 2010-09-28 2016-08-10 国际商业机器公司 使用候选答案逻辑综合提供问题答案
US10535041B2 (en) * 2012-06-26 2020-01-14 Oath Inc. System and method of predicting community member responsiveness
US10810193B1 (en) * 2013-03-13 2020-10-20 Google Llc Querying a data graph using natural language queries
US10002177B1 (en) * 2013-09-16 2018-06-19 Amazon Technologies, Inc. Crowdsourced analysis of decontextualized data
JP6178208B2 (ja) 2013-10-28 2017-08-09 株式会社Nttドコモ 質問分野判定装置及び質問分野判定方法
US9830556B2 (en) * 2014-05-21 2017-11-28 Excalibur Ip, Llc Synthetic question formulation
JP6264215B2 (ja) 2014-07-18 2018-01-24 トヨタ自動車株式会社 質疑応答装置および質疑応答装置の制御方法
US10318586B1 (en) * 2014-08-19 2019-06-11 Google Llc Systems and methods for editing and replaying natural language queries
JP6414956B2 (ja) * 2014-08-21 2018-10-31 国立研究開発法人情報通信研究機構 質問文生成装置及びコンピュータプログラム
US11829373B2 (en) * 2015-02-20 2023-11-28 Google Llc Methods, systems, and media for presenting search results
US9875296B2 (en) * 2015-03-25 2018-01-23 Google Llc Information extraction from question and answer websites
EP3145127B1 (en) * 2015-09-21 2019-07-10 Sap Se Short text messaging in digital mobile telecommunication networks
US10380154B2 (en) * 2015-10-17 2019-08-13 International Business Machines Corporation Information retrieval using structured resources for paraphrase resolution
US20170169355A1 (en) * 2015-12-11 2017-06-15 International Business Machines Corporation Ground Truth Improvement Via Machine Learned Similar Passage Detection
US10262062B2 (en) * 2015-12-21 2019-04-16 Adobe Inc. Natural language system question classifier, semantic representations, and logical form templates
US20170249595A1 (en) * 2016-02-29 2017-08-31 Linkedin Corporation Automatically creating handling strategy rules for a normalized question record
US20170302613A1 (en) * 2016-04-19 2017-10-19 Original Skateboards, Llc Environment for Processing and Responding to User Submitted Posts
US10431205B2 (en) * 2016-04-27 2019-10-01 Conduent Business Services, Llc Dialog device with dialog support generated using a mixture of language models combined using a recurrent neural network
US9858263B2 (en) * 2016-05-05 2018-01-02 Conduent Business Services, Llc Semantic parsing using deep neural networks for predicting canonical forms
US9830315B1 (en) * 2016-07-13 2017-11-28 Xerox Corporation Sequence-based structured prediction for semantic parsing
US10726023B2 (en) * 2016-09-13 2020-07-28 Microsoft Technology Licensing, Llc Generating modifiers for updating search queries
US9812151B1 (en) * 2016-11-18 2017-11-07 IPsoft Incorporated Generating communicative behaviors for anthropomorphic virtual agents based on user's affect
US11669691B2 (en) * 2017-03-30 2023-06-06 Nec Corporation Information processing apparatus, information processing method, and computer readable recording medium
US10417266B2 (en) * 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US20180341871A1 (en) * 2017-05-25 2018-11-29 Accenture Global Solutions Limited Utilizing deep learning with an information retrieval mechanism to provide question answering in restricted domains
US10404636B2 (en) * 2017-06-15 2019-09-03 Google Llc Embedded programs and interfaces for chat conversations
US10348658B2 (en) * 2017-06-15 2019-07-09 Google Llc Suggested items for use with embedded applications in chat conversations
WO2019160791A1 (en) * 2018-02-16 2019-08-22 Mz Ip Holdings, Llc System and method for chat community question answering

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094521A (ja) 2002-08-30 2004-03-25 Nippon Telegr & Teleph Corp <Ntt> 質問タイプ学習方法、学習装置、質問タイプ学習プログラム、同プログラムを記録した記録媒体、学習データを記録した記録媒体、学習データを用いた質問タイプ同定方法、装置、プログラム、および該プログラムを記録した記録媒体
JP2017076403A (ja) 2015-10-16 2017-04-20 バイドゥ・ユーエスエイ・リミテッド・ライアビリティ・カンパニーBaidu USA LLC 人間から示唆を得た簡単質問応答(hisqa)システム及び方法
JP2018041160A (ja) 2016-09-05 2018-03-15 国立研究開発法人情報通信研究機構 文脈解析装置及びそのためのコンピュータプログラム
JP2018060273A (ja) 2016-10-03 2018-04-12 エヌ・ティ・ティ レゾナント株式会社 情報処理装置、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
US11861307B2 (en) 2024-01-02
JP2019185521A (ja) 2019-10-24
WO2019198386A1 (ja) 2019-10-17
US20210034817A1 (en) 2021-02-04

Similar Documents

Publication Publication Date Title
JP7149560B2 (ja) リクエスト言換システム、リクエスト言換モデル及びリクエスト判定モデルの訓練方法、及び対話システム
US11113479B2 (en) Utilizing a gated self-attention memory network model for predicting a candidate answer match to a query
WO2019200923A1 (zh) 基于拼音的语义识别方法、装置以及人机对话系统
US20180137855A1 (en) Method and apparatus for processing natural language, method and apparatus for training natural language processing model
CN108595629B (zh) 用于答案选择系统的数据处理方法及应用
CN109214006B (zh) 图像增强的层次化语义表示的自然语言推理方法
CN110457718B (zh) 一种文本生成方法、装置、计算机设备及存储介质
CN110795552A (zh) 一种训练样本生成方法、装置、电子设备及存储介质
CN111401084A (zh) 一种机器翻译的方法、设备以及计算机可读存储介质
WO2019167296A1 (ja) 自然言語処理のための装置、方法及びプログラム
CN113326374B (zh) 基于特征增强的短文本情感分类方法及系统
KR102263656B1 (ko) 답변을 유도하는 대화 시스템 및 대화 방법
JP7279099B2 (ja) 対話管理
CN112084769B (zh) 依存句法模型优化方法、装置、设备及可读存储介质
KR102697095B1 (ko) Qa 모델을 이용하여 지식 그래프를 구축하는 방법, 장치 및 컴퓨터 프로그램
WO2022251719A1 (en) Granular neural network architecture search over low-level primitives
CN115510230A (zh) 一种基于多维特征融合与比较增强学习机制的蒙古语情感分析方法
US20240143940A1 (en) Architecture for generating qa pairs from contexts
CN115827879A (zh) 基于样本增强和自训练的低资源文本智能评阅方法和装置
CN110909142B (zh) 一种问答模型的问题语句处理方法、装置、电子设备及存储介质
KR20220056462A (ko) 외부 정렬정보에 기반한 실시간 동시통역 모델 학습 방법, 동시통역 방법 및 시스템
CN113555006B (zh) 一种语音信息识别方法、装置、电子设备及存储介质
Li et al. Seq-CNN: A lightweight and efficient neural network for sentimental analysis of text
US12032964B2 (en) Speculative execution of dataflow program nodes
JP7411149B2 (ja) 学習装置、推定装置、学習方法、推定方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220804

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: 20220830

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220916

R150 Certificate of patent or registration of utility model

Ref document number: 7149560

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150