(57)【要約】【課題】表現の仕方が異なる様々なリクエストに対しても対話システムが柔軟に対応できるようにする。【解決手段】リクエスト言換システム１２０は、ユーザ入力５６を単語ベクトル列に変換する前処理部１３０と、この単語ベクトル列を入力として受け、単語ベクトル列により表されるリクエストを、質問応答装置１２２が回答可能である確率が言換前より高いリクエストに言換えるよう、予め機械学習により学習済のニューラル言換モデル９４とを含む。前処理として、ユーザ入力５６がリクエストか否かを判定し、リクエストと判定されたときのみリクエストの言換を行うようにしてもよい。また、入力されたリクエストがリクエスト分類のいずれに属するかを分類モデル９８により分類し、言換の際の素性の１つとしてニューラル言換モデル９４に入力するようにしてもよい。【選択図】図１
2019185521.tif 000002
【特許請求の範囲】
【請求項１】
入力されたリクエストを形態素解析して形態素列に変換するための形態素解析手段と、
前記形態素列内の各単語を単語ベクトルに変換することにより、前記形態素列を入力単語ベクトル列に変換するための変換手段と、
前記入力単語ベクトル列を入力として受け、前記入力単語ベクトル列により表される前記リクエストを、所定の対話システムが応答可能である確率が前記入力単語ベクトル列より高いリクエストに対応する出力単語列に変換して出力するよう、予め機械学習により学習済のリクエスト言換モデルとを含み、
前記リクエスト言換モデルの出力する前記出力単語列が前記対話システムに与えるリクエストとなる、リクエスト言換システム。
【請求項２】
前記入力されたリクエストを予め定めた複数種類のリクエスト分類のいずれかに分類し対応する分類コードを出力するためのリクエスト分類手段をさらに含み、
前記リクエスト言換モデルは、前記入力単語ベクトル列及び前記分類コードを入力として受け、前記入力単語ベクトル列により表される前記リクエストを、前記対話システムが応答可能である確率が前記入力単語ベクトル列より高いリクエストに対応する出力単語列に変換して出力するよう、予め機械学習により学習済の分類付リクエスト言換モデルを含む、請求項１に記載のリクエスト言換システム。
【請求項３】
入力単語ベクトル列を入力として受け、前記入力単語ベクトル列により表されるリクエストを、対話システムが応答可能である確率が前記入力単語ベクトル列より高いリクエストに対応する出力単語列に変換して出力するよう、リクエスト言換モデルを機械学習により訓練するためのリクエスト言換モデルの訓練方法であって、
コンピュータが、前記リクエスト言換モデルの訓練のための複数の訓練データ項目を、機械可読な訓練データ記憶装置に記憶させるステップを含み、前記複数の訓練データ項目の各々は、単語列を含む第１のリクエストと、当該第１のリクエストの言換である単語列を含む第２のリクエストとを含み、
前記方法はさらに、
コンピュータが、前記訓練データ記憶装置に記憶された前記複数の訓練データ項目の各々について、前記第１のリクエストを入力とし、前記第２のリクエストを教師データとして前記リクエスト言換モデルの訓練を行う訓練ステップを含む、リクエスト言換モデルの訓練方法。
【請求項４】
前記複数の訓練データ項目の各々は、前記第１のリクエストが予め定めた複数種類のリクエスト分類のいずれであるかを示す分類コードをさらに含み、
前記訓練ステップは、コンピュータが、前記訓練データ記憶装置に記憶された前記複数の訓練データ項目の各々について、前記第１のリクエスト及び前記分類コードを入力とし、前記第２のリクエストを教師データとして前記リクエスト言換モデルの訓練を行う訓練ステップを含む、請求項３に記載のリクエスト言換モデルの訓練方法。
【請求項５】
入力された自然言語文が潜在的なリクエストか否かを判定するためのリクエスト判定モデルの訓練方法であって、
コンピュータが、前記リクエスト判定モデルの訓練のための複数の訓練データ項目を、機械可読な訓練データ記憶装置に記憶するステップを含み、前記複数の訓練データ項目の各々は、リクエスト判定の対象となる対象文と、当該対象文がリクエストか否かを示すラベルとを含み、
前記方法はさらに、
コンピュータが、前記訓練データ記憶装置に記憶された前記複数の訓練データ項目を用いて前記リクエスト判定モデルの訓練を行う訓練ステップを含み、
前記訓練ステップは、
コンピュータが、前記訓練データ記憶装置に記憶された前記複数の訓練データ項目の各々の前記対象文を単語ベクトル列に変換するステップと、
コンピュータが、前記訓練データ記憶装置に記憶された前記複数の訓練データ項目の各々について、前記単語ベクトル列を入力とし、前記ラベルを教師データとして前記リクエスト判定モデルの訓練を行うステップとを含む、方法。
【請求項６】
所定の対話型リクエスト応答システムと、当該対話型リクエスト応答システムと異なる他の応答システムとを含む対話システムであって、
入力された自然言語文がリクエストか否かを判定するための判定手段と、
前記判定手段によりリクエストと判定された自然言語文を、前記対話型リクエスト応答システムによる応答が得られる可能性が前記自然言語文より高いリクエストに言換えた言換リクエストを出力するためのリクエスト言換手段と、
前記リクエスト言換手段により出力された言換リクエストを前記対話型リクエスト応答システムに与え、当該対話型リクエスト応答システムに当該言換リクエストに対して応答させるための手段と、
前記判定手段によりリクエストではないと判定された自然言語文を、前記他の応答システムに与え、当該他の応答システムに前記自然言語文に対して応答させるための手段とを含む、対話システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、自然言語処理に関し、特に、質問応答システム又は対話システム等において、リクエストに対して正しい応答が得られる確率を高めることができるリクエスト言換システム、リクエスト言換モデル及びリクエスト判定モデルの訓練方法、及び対話システムに関する。
【背景技術】
【０００２】
近年、質問応答システム及び対話システム（以下、まとめて単に「対話システム」という。）の開発が盛んに行われている。注目されている技術としては、音声認識と合成音声とを用い、自然言語によりユーザと対話するいわゆるスマートスピーカがある。対話システムは人間と同様の対話インターフェイスをコンピュータに与えることができるため、便利である。しかし対話システムは便利なだけでなく、ときとして人間の発話に対して思わぬ応答をすることがあり、それによって人間の生活に変化を与えることもできる。いわゆるインターネットにもよく適合するため、対話システムは今後も社会に広まっていくと思われる。
【０００３】
しかし現状の対話システムは、自然言語文に対応できるとはいうものの、形式が比較的単純な、限られたタイプの入力にしか的確に対応できないという問題がある。例えば、「卵で作るものは何」という質問に回答できる対話システムであっても、「卵が余ってるんだけど、どんなものを作ったらいいかなあ」という入力に対しては、回答として求めている情報がほとんど同じであるにもかかわらず、答えることができない可能性がある。そのため、ユーザがある程度対話システム側のクセをつかみ、表現の仕方に注意しなければ対話システムを十分に活用できないという現状がある。
【０００４】
こうした問題に対処するための提案が後掲の特許文献１に開示されている。特許文献１に開示されたシステムは、例えば質問に対して回答する前に、その質問がどの分野に属するものかを特定する。具体的には、質問からその質問の対象であるエンティティを特定する。さらに、特定分野を想定して言語モデルを用いて質問文のパープレキシティを計算する。エンティティが特定されたか否かにより定まるしきい値と、パープレキシティとを比較してその質問がその特定分野に属するものか否かを判定する。特許文献１では、こうして質問の分野が特定できれば質問に対する応答が的確になるとされている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−０８７７９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の技術によれば、ある基準で質問を分類できる。質問の分類ができれば質問に対する応答がより的確になる点は事実だと考えられる。しかし、特許文献１に開示の技術は、人間の発話のように自然言語文で自由に行われている場合、対応が難しい。自然言語文の発話では分類自体の信頼性が落ちる可能性がある上、そもそも様々な表現の仕方がある自然言語文を入力として受けた場合には、仮に正しい分野の対話システムで処理できたとしても的確な回答が得られる可能性は低い。こうした問題は、単なる質問に対する回答を求める場合だけではなく、より広い概念である何らかの応答を求める入力に対しても当てはまる。ここでは単に質問に対する回答又は発話に対する応答を求める入力だけではなく、具体的動作も含めた何らかの応答をシステムに対して求める入力をリクエストと呼ぶ。例えば連携ソフトウェア又はいわゆるＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｇｓ）対応機器に動作を指示するシステムに対する指示もリクエストということができる。本明細書では、対話を通して受けたリクエストに対して応答するシステムを対話システムと呼ぶ。対話システムにおいて、様々な自然言語文によるリクエストに対して的確に応答するためには、単にリクエストを分類するだけでは足りず、何らかの工夫が必要である。
【０００７】
それゆえに本発明の主たる目的は、表現の仕方が異なる様々なリクエストに対しても対話システムが柔軟に対応できるよう、対話システムに用いられるリクエスト言換システム、リクエスト言換モデル及びリクエスト判定モデルの訓練方法、並びにそうしたリクエストに柔軟に対応できる対話システムを提供することである。
【課題を解決するための手段】
【０００８】
本発明の第１の局面に係るリクエスト言換システムは、入力されたリクエストを形態素解析して形態素列に変換するための形態素解析手段と、形態素列内の各単語を単語ベクトルに変換することにより、形態素列を入力単語ベクトル列に変換するための変換手段と、入力単語ベクトル列を入力として受け、入力単語ベクトル列により表されるリクエストを、所定の対話システムが応答可能である確率が入力単語ベクトル列より高いリクエストに対応する出力単語列に変換して出力するよう、予め機械学習により学習済のリクエスト言換モデルとを含み、リクエスト言換モデルの出力する出力単語列が対話システムに与えられるリクエストとなる。
【０００９】
好ましくは、リクエスト言換システムは、入力されたリクエストを予め定めた複数種類のリクエスト分類のいずれかに分類し対応する分類コードを出力するためのリクエスト分類手段をさらに含む。リクエスト言換モデルは、入力単語ベクトル列及び分類コードを入力として受け、入力単語ベクトル列により表されるリクエストを、対話システムが応答可能である確率が入力単語ベクトル列より高いリクエストに対応する出力単語列に変換して出力するよう、予め機械学習により学習済の分類付リクエスト言換モデルを含む。
【００１０】
本発明の第２の局面に係るリクエスト言換モデルの訓練方法は、入力単語ベクトル列を入力として受け、入力単語ベクトル列により表されるリクエストを、対話システムが応答可能である確率が入力単語ベクトル列より高いリクエストに対応する出力単語列に変換して出力するよう、リクエスト言換モデルを機械学習により訓練するためのリクエスト言換モデルの訓練方法である。この方法は、コンピュータが、リクエスト言換モデルの訓練のための複数の訓練データ項目を、機械可読な訓練データ記憶装置に記憶させるステップを含む。複数の訓練データ項目の各々は、単語列を含む第１のリクエストと、当該第１のリクエストの言換である単語列を含む第２のリクエストとを含む。この方法はさらに、コンピュータが、訓練データ記憶装置に記憶された複数の訓練データ項目の各々について、第１のリクエストを入力とし、第２のリクエストを教師データとしてリクエスト言換モデルの訓練を行う訓練ステップを含む。
【００１１】
好ましくは、複数の訓練データ項目の各々は、第１のリクエストが予め定めた複数種類のリクエスト分類のいずれであるかを示す分類コードをさらに含む。訓練ステップは、コンピュータが、訓練データ記憶装置に記憶された複数の訓練データ項目の各々について、第１のリクエスト及び分類コードを入力とし、第２のリクエストを教師データとしてリクエスト言換モデルの訓練を行う訓練ステップを含む。
【００１２】
より好ましくは、この方法はさらに、訓練ステップにより訓練されたリクエスト言換モデルに対して訓練用のリクエストを入力し、リクエスト言換モデルから訓練用のリクエストに対する１又は複数の言換後のリクエストを取得するステップと、言換後リクエストを質問応答システムに入力し、当該質問応答システムからの回答を取得するステップと、１又は複数個の言換後のリクエストの各々について、当該リクエストに対して質問応答システムから得られた回答の質を、訓練用のリクエストに対する比較に基づいて評価するステップと、評価するステップで評価された質が上位であった１又は複数の回答の各々について、訓練用のリクエストを第１のリクエスト、及び当該回答が質問応答システムから得られたときの言換後のリクエストを第２のリクエストとして含む訓練用データ項目を生成し訓練データ記憶装置に追加して記憶させるステップとを含む。
【００１３】
本発明の第３の局面に係る方法は、入力された自然言語文が潜在的なリクエストか否かを判定するためのリクエスト判定モデルの訓練方法である。この方法は、コンピュータが、リクエスト判定モデルの訓練のための複数の訓練データ項目を、機械可読な訓練データ記憶装置に記憶するステップを含む。複数の訓練データ項目の各々は、リクエスト判定の対象となる対象文と、当該対象文がリクエストか否かを示すラベルとを含む。この方法はさらに、コンピュータが、訓練データ記憶装置に記憶された複数の訓練データ項目を用いてリクエスト判定モデルの訓練を行う訓練ステップを含み、訓練ステップは、コンピュータが、訓練データ記憶装置に記憶された複数の訓練データ項目の各々の対象文を単語ベクトル列に変換するステップと、コンピュータが、訓練データ記憶装置に記憶された複数の訓練データ項目の各々について、単語ベクトル列を入力とし、ラベルを教師データとしてリクエスト判定モデルの訓練を行うステップとを含む。
【００１４】
本発明の第４の局面に係る対話システムは、所定の対話型リクエスト応答システムと、当該対話型リクエスト応答システムと異なる他の応答システムとを含む対話システムである。この対話システムは、入力された自然言語文がリクエストか否かを判定するための判定手段と、判定手段によりリクエストと判定された自然言語文を、対話型リクエスト応答システムによる応答が得られる可能性が自然言語文より高いリクエストに言換えた言換リクエストを出力するためのリクエスト言換手段と、リクエスト言換手段により出力された言換リクエストを対話型リクエスト応答システムに与え、当該対話型リクエスト応答システムに当該言換リクエストに対して応答させるための手段と、判定手段によりリクエストではないと判定された自然言語文を、他の応答システムに与え、当該他の応答システムに自然言語文に対して応答させるための手段とを含む。
【００１５】
本発明の目的、構成及び効果は、添付の図面と以下に記載する発明の実施の形態とにより明らかになるであろう。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の対話システムの一例である、第１の実施の形態に係る質問応答システムの概略構成を示すブロック図である。
【図２】図２は、図１に示すニューラル言換モデルの構成及び動作を示す模式図である。
【図３】図３は、図１に示す分類モデルを構成する畳込みニューラルネットワークの構成を模式的に示す図である。
【図４】図４は、コンピュータとの協働により、図１に示すニューラル言換モデルの訓練処理装置による訓練を実現するためのプログラムの制御構造を示すフローチャートである。
【図５】図５は、コンピュータとの協働により図１に示す分類モデル訓練処理部を実現するためのプログラムの制御構造を示すフローチャートである。
【図６】図６は、コンピュータとの協働により、図１に示す質問応答システムを実現するためのプログラムの制御構造を示すフローチャートである。
【図７】図７は、本発明の第２の実施の形態に係る対話システムの全体の概略構成を示すブロック図である。
【図８】図８は、コンピュータとの協働により図７に示す対話システムを実現するためのプログラムの制御構造を示すフローチャートである。
【図９】図９は、本発明の第３の実施の形態に係るリクエスト言換モデル訓練システムの構成を示すブロック図である。
【図１０】図１０は、リクエスト言換システムの訓練データの追加処理をコンピュータとの協働により実現するプログラムの制御構造を示すフローチャートである。
【図１１】図１１は、第１の実施の形態に係るリクエスト言換システム及びリクエスト言換モデル訓練装置を実現するためのコンピュータシステムの外観図である。
【図１２】図１２は、図１１に示すコンピュータの内部構成を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【００１８】
［第１の実施の形態］
＜構成＞
《全体構成》
図１を参照して、本発明の第１の実施の形態に係る質問応答システムの全体は、ユーザ入力５６を受けて回答６０を応答として出力する質問応答システム５８と、この質問応答システム５８で使用されるディープニューラルネットワークからなるニューラル言換モデル９４及びリクエストを分類する分類モデル９８の訓練を行う訓練処理部６２と、訓練処理部６２が訓練のために使用する訓練データを記憶した訓練データ記憶部５０とを含む。訓練データは複数の訓練データ項目を含む。各訓練データ項目は、第１のリクエストと、第１のリクエストと実質的に同じ意味を表し、質問応答システム５８の応答可能である確率が第１のリクエストよりも高い第２のリクエストと、第１のリクエストがどのような分類に属するかを示す分類コードとの組合せを含む。
【００１９】
訓練データ項目の人手作成にあたっては、言換結果をできるだけ統一の取れたものにするため、第１のリクエストを「ファクトイド質問」、「なぜ質問」等に人手で分類し、分類ごとに言換後の形式を指定することが妥当である。上記した分類コードはこの分類を表す。本実施の形態で使用する分類と、各分類で使用する言換後の第２のリクエストの形式としては以下のようなものがある。
【００２０】
（１）なに質問
（２）どうなる質問
（３）定義質問
（４）なぜ質問
（５）どうやって質問
なに質問の場合には、主に「疑問詞＋助詞」、又は「〜は＋疑問詞」の形に言換える。疑問詞としては「何」「誰」「どこ」等がある。例えば「宮崎行くんだけど、おすすめの場所って？」→「宮崎でどこに行く」。
【００２１】
どうなる質問の場合には「〜とどうなる」の形に言換える。例えば「もし事故に遭ったら？」→「事故に遭うとどうなる」。
【００２２】
定義質問の場合には「〜とは何」の形に言換える。例えば「気滞ってどういう意味ですか？」→「気滞とは何」。
【００２３】
なぜ質問の場合には「〜のはなぜ」の形に言換える。例えば「日本がデフレになった理由は？」→「日本がデフレになったのはなぜ」。
【００２４】
どうやって質問の場合には「どうやって〜」の形に言換える。例えば「ゴーヤの苦味を抑える方法はありますか？」→「どうやってゴーヤの苦味を抑える」。
【００２５】
これら分類をモデルに入力する素性として利用することで精度が向上することが期待できる。言換の人手作成に際しては、既存の質問応答装置１２２の動作を参照することにより、どのような形式のリクエストであれば質問応答装置１２２が適切な応答を返しやすいかについて検討しながら作業を行うことで訓練データ項目の質を高めることができる。
【００２６】
《訓練データ記憶部５０》
訓練データ記憶部５０に記憶された訓練データは多数の訓練データ項目を含む。各訓練データ項目は。自然言語からなる言換前のリクエスト（言換の対象リクエスト）と、この言換前のリクエストを、質問応答装置１２２が回答可能である確率が言換前のリクエストより高い形に言換えた質問文であるリクエストと、言換前のリクエストが上記した分類のいずれに属するかを示す分類コードとを含む。
【００２７】
《訓練処理部６２》
訓練処理部６２は、訓練データ記憶部５０に記憶された訓練データを用いた機械学習によりニューラル言換モデル９４の訓練を行うための言換モデル訓練処理部９２と、訓練データ記憶部５０に記憶された訓練データ内の、各訓練データ項目に含まれる第１のリクエストとその分類コードとを用いて、入力されたリクエストが上記した５つの分類のいずれに属するかを示す分類コードを出力するよう、機械学習により分類モデル９８を訓練するための分類モデル訓練処理部９６とを含む。
【００２８】
《質問応答システム５８》
質問応答システム５８は、既存の質問応答装置１２２と、ユーザ入力５６を受けて、質問応答装置１２２が回答を生成できる確率がユーザ入力５６よりも高いリクエストにこのユーザ入力５６を言換えるためのリクエスト言換システム１２０とを含む。なお、質問応答装置１２２に与えられる入力には、何らかの情報を要求する文と、何らかの行為を要求する文との２種類がある。以下の説明における「リクエスト」は、これらのいずれも含む概念である。
【００２９】
リクエスト言換システム１２０は、ユーザ入力５６を形態素解析し、各単語を単語ベクトルに変換することでユーザ入力５６を単語ベクトル列に変換するための前処理部１３０と、前処理部１３０が出力する単語ベクトル列に基づいてユーザ入力５６が表すリクエストが上記５分類の何れに属するかを分類し分類コードを出力するための、訓練処理部６２により訓練された分類モデル９８と、前処理部１３０が出力する単語ベクトル列及び分類モデル９８が出力する分類コードを入力として、ユーザ入力５６を、質問応答装置１２２が回答できる確率がユーザ入力５６より高いリクエストに言換えるよう訓練処理部６２により訓練された、前述のニューラル言換モデル９４とを含む。本実施の形態ではニューラル言換モデル９４は、いわゆるシーケンス・トゥー・シーケンスモデルであり、ＲＮＮの一種であるＧＲＵ（Ｇａｔｅｄ  Ｒｅｃｕｒｒｅｎｔ  Ｕｎｉｔ）を用いたニューラル機械翻訳モデルと同様の構成を持つ。本実施の形態では、単語ベクトルは固定長のいわゆる単語埋め込みベクトルを用いるが、いわゆるワン・ホット・ベクトルを用いても良い。なお、ＧＲＵに代えてＬＳＴＭ（Ｌｏｎｇ  Ｓｈｏｒｔ―Ｔｅｒｍ  Ｍｅｍｏｒｙ）を用いても良い。
【００３０】
図１を参照して、本実施の形態では、訓練データ項目は（１）人手で言換前の文と言換後のリクエストとを生成する第１の訓練データ生成部６４と、（２）質問応答装置１２２が回答できなかったリクエストを記憶した質問応答システムログ記憶部５４から読出した、質問応答装置１２２が回答できなかった質問に、人手でそのリクエストと実質的に同じ情報を表現する言換後のリクエストを付す第２の訓練データ生成部６６と、（３）リクエスト候補記憶部５２に記憶されたリクエスト候補に人手で言換後のリクエストを付す第３の訓練データ生成部６８により生成される。なお、この人手での訓練データの生成においては、質問応答装置１２２に対して言換後のリクエストの候補を入力して回答が得られるか否かを確認しながら処理を進める。またリクエスト候補記憶部５２に記憶されたリクエスト候補は、インターネットのウェブページから例えば文末が「？」で終わっていて、文中に「何が」又は「なぜ」等のような疑問詞又はリクエストであることが分かるようなパターンを持つ文をパターンマッチングにより抽出し、かつ単語数があるしきい値より多いという条件を満足するものを用いる。また、これら訓練データ項目の各々について、その第１のリクエストが前述の５分類のいずれに属するかを人手で判断し、分類コードを付す。
【００３１】
言換では、不要な部分を削除したり、複文を単文に置換えたりすることで言換後の形式が単純になり、システムが対応しやすくなることが多い。例えば「卵が余っているんだけど、どんなものを作ったらいいかなあ」という文、「.aiファイルってのがあるんですが、これを開くには何を使ったらいいんですか」のような、条件表現又は照応を含むリクエストを適切に処理するのは、既存のシステムでは難しい。これをそれぞれ「卵で何を作る」「.aiファイルを何で開く」のような単文に変換することで質問応答システムが回答可能になる。したがって、言換作業では、不要な表現及び口語的・非標準的な表現等はできる限り修正し、言換後の形式を統一することが望ましい。また、新たな内容語を追加することは行わない。
【００３２】
また、例えば「予防注射をするとか意味あるの」とか「スマートスピーカっていいのかな」という入力に対して、単に「はい」「いいえ」を答えるのではなく、「予防注射をしないとどうなる」「スマートスピーカを使うとどうなる」等、別の質問への言換を行うようにしてもよい。このような言換を行うとユーザが潜在的に求めている情報が質問に対する回答として提供できるようになることも考えられる。
【００３３】
《ニューラル言換モデル９４》
図１に示すニューラル言換モデル９４は、本実施の形態では、ニューラルネットワークの一種であるＲＮＮ、より具体的にはＲＮＮの一種であるＧＲＵを１モジュールとして、必要な数だけコピーしたネットワークにより構成されるシステムである。入力文の末尾にはいずれも文末記号＜Ｓ＞が付されている。
【００３４】
図２を参照して、ニューラル言換モデル９４は、第１のリクエストを表す単語ベクトル列１４０を受けて、第１のリクエストの意味を表す中間ノードベクトル１５２を出力するエンコーダ１４４と、エンコーダ１４４の出力する中間ノードベクトル１５２を入力として、言換後のリクエストの単語列１５６を出力するデコーダ１５４と、デコーダ１５４が単語列１５６の各単語を計算するために使用されるコンテクストベクトルを、アテンションと呼ばれる値とエンコーダ１４４内の各ＧＲＵの隠れ状態を用いて計算しデコーダ１５４に与えるためのアテンション層１６０とを含む。
【００３５】
エンコーダ１４４は、単語ベクトル列１４０の単語ベクトルを先頭から順番に受けるように配列された順方向ＧＲＵ列１４６及び単語ベクトル列１４０の単語ベクトルを末尾から順番に受けるように配列された逆方向ＧＲＵ列１４８を含む。順方向ＧＲＵ列１４６の各ＧＲＵは、単語ベクトル列１４０の単語ベクトルと、直前のＧＲＵの隠れ状態とを受けるように、順方向に接続されている。逆方向ＧＲＵ列１４８の各ＧＲＵは、同様に単語ベクトル列１４０の単語ベクトルを、逆方向に受けるように接続された複数個のＧＲＵを含む。順方向ＧＲＵ列１４６及び逆方向ＧＲＵ列１４８の先頭のＧＲＵには初期状態のＧＲＵの隠れ状態が与えられる。順方向ＧＲＵ列１４６及び逆方向ＧＲＵ列１４８を構成するＧＲＵの数は単語ベクトル列１４０を構成する単語ベクトルの数と同じである。順方向ＧＲＵ列１４６は、単語ベクトル列１４０の入力を受けたときに、その単語ベクトルの数に応じて同じＧＲＵをコピーすることで生成される。同様に、逆方向ＧＲＵ列１４８は、単語ベクトル列１４０の入力を受けたときにその単語ベクトルの数に応じて同じＧＲＵをコピーすることで生成される。
【００３６】
エンコーダ１４４はさらに、順方向ＧＲＵ列１４６の最終のＧＲＵの出力と、逆方向ＧＲＵ列１４８の最終の出力と、分類モデル９８からの分類コードとを結合し、線形化して中間ノードベクトル１５２としてデコーダ１５４に出力する連結部１５０を含む。
【００３７】
デコーダ１５４は、複数の組１７０を構成要素として含む。組１７０は、ＧＲＵ１７２と、ＧＲＵ１７２の出力とアテンション層１６０の出力とを統合する統合部１７４とを含む。図２ではこの組１７０に続いて複数の組が記載されているが、これは組１７０の入力及び出力を時系列的に展開したもので、実際には組１７０のみで足りる。
【００３８】
これら各組１７０は、先頭位置の組１７０のＧＲＵ１７２の入力が第１のリクエストの文末記号＜ｓ＞を受け、それ以外の位置ではＧＲＵ１７２が直前の組１７０の統合部１７４が出力する単語を単語ベクトルに変換したものを受けるように配列される。組１７０のＧＲＵ１７２の出力は同じ組１７０の統合部１７４の入力に接続される。また組１７０のＧＲＵ１７２の隠れ状態を用いてアテンションを計算するよう、ＧＲＵ１７２はアテンション層１６０に接続される。
【００３９】
統合部１７４の入力はＧＲＵ１７０の出力を受けるように接続される。統合部１７４はさらに、アテンション層１６０からコンテクストベクトル１６８を受けるように接続される。統合部１７４は、ＧＲＵ１７２の出力により計算した隠れ状態と、アテンション層１６０から受けたコンテクストベクトル１６８とを用いて出力する単語の確率を計算し、最も確率の高い単語を出力する。この単語は、単語ベクトルに変換され、次の組のＧＲＵ１７２の入力にも与えられる。
【００４０】
アテンション層１６０は、デコーダ１５４の処理対象のＧＲＵ１７２の隠れ状態における、エンコーダ１４４の各ＧＲＵの隠れ状態の重要度を示す係数をアテンションとして計算する係数算出部１６２と、係数算出部１６２が各ＧＲＵに対して算出する係数を用いて各ＧＲＵの隠れ状態を加重平均してコンテクストベクトル１６８を算出し、組１７０の統合部１７４に供給するコンテクストベクトル生成部１６４とを含む。
【００４１】
ニューラル言換モデル９４の訓練時には、例えば最初に訓練データの言換対象の第１のリクエストの単語をそれぞれエンコーダ１４４の対応するＧＲＵへの入力とし、第１のリクエストの分類コードも用いて中間ノードベクトル１５２を計算する。入力文の終わりを示す記号＜ｓ＞が与えられると、その記号＜Ｓ＞をデコーダ１５４の組１７０のＧＲＵ１７２に入力し、その出力とアテンション層１６０により計算されるコンテクストベクトル１６８とを用いて統合部１７４が言換後のリクエストの先頭単語を予測する。この予測と訓練データの言換後の第２のリクエストの先頭単語の教師信号との差を用いて、誤差逆伝搬法によりパラメータ集合の学習を行う。以下、第２のリクエストの単語を組１７０のＧＲＵ１７２への入力とし、その次の単語及び第２のリクエストの終了を示す記号＜Ｓ＞等をそれぞれ教師信号としてパラメータ集合の学習を行う。こうした処理を全ての訓練データ項目について行う。
【００４２】
この基本となるＧＲＵにより実現される言換機能を規定するパラメータ集合の値を学習することがニューラル言換モデル９４の訓練の目的である。
【００４３】
一旦訓練が完了すると、入力文である言換対象文の単語を順番にニューラル言換モデル９４に入力した後、記号＜Ｓ＞が入力されたときにニューラル言換モデル９４から出力される単語が言換後のリクエストの先頭の単語となる。以下、ニューラル言換モデル９４から出力される単語を次の入力としてニューラル言換モデル９４に入力して得られる単語をリクエスト文の次の単語として行く処理を繰返し、最後にニューラル言換モデル９４の出力に記号＜Ｓ＞が得られた時点で言換後のリクエスト文が定まる。
【００４４】
なお、ニューラル言換モデル９４の構成は図２に示されるものに限定されず、他の構成を採用してもよい。
【００４５】
《分類モデル９８》
図３は図１に示す分類モデル９８を構成する畳込みニューラルネットワーク１８０の構成を説明する模式図である。図３を参照して、ここでは、説明を分かりやすくするために、分類モデル９８の畳込みニューラルネットワーク１８０が、入力層１９０、畳込み層１９２、及びプーリング層１９４のみからなっているものとするが、この３つの層を複数個備えているものでもよい。
【００４６】
入力層１９０には、第１のリクエストの各単語を表す単語ベクトル列Ｘ１、Ｘ２、…、Ｘ|ｔ|が入力される。この単語ベクトル列Ｘ１、Ｘ２、…、Ｘ|ｔ|は、行列Ｔ＝［Ｘ１、Ｘ２、…、Ｘ|ｔ|］Ｔとして表される。この行列Ｔに対して、Ｍ個の素性マップが適用される。素性マップはベクトルであって、各素性マップの要素であるベクトルＯは連続するＮ個の単語ベクトルからなるＮグラム２００に対してｆj（１≦ｊ≦Ｍ）で示されるフィルタを適用しながらＮグラム２００を移動させることにより計算される。Ｎは任意の自然数であるが、本実施の形態ではＮ＝３とする。すなわちＯは次の式により表される。
【００４７】
【数１】
2019185521.tif 000003
なお、素性マップの全体にわたりＮを等しくしてもよいし、異なるものがあってもよい。Ｎとしては、２、３、４及び５程度が適当である。畳込みニューラルネットワーク１８０で使用するフィルタとしては、どのようなものを用いることもできる。画像処理で用いるフィルタを流用してもよい。
【００４８】
この素性マップの各々について、次のプーリング層１９４は、いわゆるマックスプーリングを行う。すなわち、プーリング層１９４は、例えば素性マップｆＭの要素の内、最大の要素２１０を選択し、要素２２０として取出す。これを素性マップの各々に対して行うことによって、要素２２０、…、要素２２２を取出し、これらをｆ１からｆＭの順番に連接して最終層１８２にベクトル２３０として出力する。最終層１８２はベクトル２３０をＳｏｆｔｍａｘ層１８４に与える。本実施の形態では、分類モデル９８の出力は５分類に対応する５つであり、それぞれの確率がこれら出力に得られる。なお、プーリング層１９４としてはマックスプーリングを行うものの方が平均値を採用するものよりも精度が高いと言われている。しかし、もちろん平均値を採用するようにしてもよいし、下位の層の性質をよく表現するものであれば、他の代表値を用いるようにしてもよい。
【００４９】
訓練データ項目は、上記したユーザ入力５６から得られる単語ベクトル列と、ユーザ入力５６がリクエストか否かを示すラベルとからなる。学習時には、分類モデル９８の入力にリクエスト分類の対象となる単語ベクトル列が与えられ、分類モデル９８の出力がそのテキストのラベルと比較されて誤差が算出される。通常の誤差逆伝播法によって、誤差関数の値が小さくなる方向に分類モデル９８を構成する各ウェイトとバイアスの値が修正される。
【００５０】
《プログラム構成》
図４に、図１に示す訓練処理部６２の機能をコンピュータとの協働により実現するためのプログラムの制御構造をフローチャート形式で示す。図４を参照して、このプログラムは、訓練データ記憶部５０に記憶されている訓練データ項目の各々に対してニューラル言換モデル９４の訓練処理２４２を行うステップ２４０と、ステップ２４０の後に、所定の終了条件が成立しているか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ２４４と、ステップ２４４の判定結果が肯定のときに、ニューラル言換モデル９４のパラメータを所定の記憶装置に保存して処理を終了するステップ２４６とを含む。ステップ２４４の判定が否定であるときには制御はステップ２４０に戻り、次の訓練が実行される。
【００５１】
訓練処理２４２は、処理対象の訓練データ項目の第１のリクエストとその分類コードをニューラル言換モデル９４に入力するステップ２５０と、その結果ニューラル言換モデル９４から得られる出力と、処理対象の訓練データ項目の第２のリクエストとの誤差を計算するステップ２５２と、ステップ２５２で得られた誤差に基づいて誤差逆伝搬法によりニューラル言換モデル９４のパラメータを更新するステップ２５４とを含む。
【００５２】
ステップ２４４での終了条件としては以下のようないくつかの条件が考えられる。
【００５３】
（１）ニューラル言換モデル９４による言換の精度が所定のしきい値に達した場合。
【００５４】
（２）ニューラル言換モデル９４による言換の精度と前回の検証時の精度との差が所定のしきい値以下となった場合。
【００５５】
（３）訓練と検証の繰返し数が所定のしきい値の回数を超えた（又はしきい値の回数に達した）場合。
【００５６】
本実施の形態では、これらの内、ニューラル言換モデル９４による検証用データに対する言換の精度と前回の訓練時の精度との差分が所定のしきい値（第１のしきい値）以下となるか、又は訓練と検証との繰返し数が所定数（第２のしきい値）を超えるか、の何れかの条件が成立したときに処理を終了する。
【００５７】
図５は、コンピュータとの協働により図１に示す分類モデル訓練処理部９６を実現するためのプログラムの制御構造を示すフローチャートである。図５を参照して、このプログラムは、訓練データ記憶部５０に記憶された各訓練データに対して分類モデル９８の訓練処理２６２を実行するステップ２６０と、分類モデル９８の訓練の終了条件が充足されているか否かを判定して制御の流れを分岐させるステップ２６４と、ステップ２６４における判定が肯定のときに、分類モデル９８のパラメータを所定の記憶装置に保存してこのプログラムの実行を終了するステップ２６６とを含む。ステップ２６４の判定が否定のときには、制御はステップ２６０に戻り、次の訓練サイクルを実行する。ステップ２６４の判定は、本実施の形態では予め別に準備した検証用データを用いて分類モデル９８による分類の精度を測定し、その値の前回の訓練のときの値との差分が一定のしきい値（第３のしきい値）以下となるか、訓練の繰返し数が一定数（第４のしきい値）を超えるか、のいずれかの条件が成立したときに終了条件が充足したものと判定する。
【００５８】
訓練処理２６２は、処理対象の訓練データ項目の第１のリクエストを分類モデル９８に入力するステップ２７０と、分類モデル９８の出力する分類コードと処理対象の訓練データ項目中の分類コードとの誤差を計算するステップ２７２と、ステップ２７２で計算された誤差に基づき、誤差逆伝搬法により分類モデル９８のパラメータを更新するステップ２７４とを含む。
【００５９】
図６に、コンピュータとの協働により、図１に示す質問応答システム５８としてコンピュータを機能させるためのプログラムの制御構造を示す。図６を参照して、このプログラムは、ユーザ入力５６により入力された自然言語の入力文を形態素解析して形態素列に変換するステップ２９０と、ステップ２９０の形態素解析により得られた各単語を単語ベクトルに変換することで入力文を単語ベクトル列に変換するステップ２９２と、ステップ２９２の処理により得られた単語ベクトル列を分類モデル９８に与えることによりユーザ入力５６により表されるリクエストの分類コードを推定するステップ２９４と、ステップ２９２の処理により得られた単語ベクトル列とステップ２９４で推定された分類コードをニューラル言換モデル９４に入力し、ニューラル言換モデル９４が出力する言換後のリクエストの単語列に変換するステップ２９６と、ステップ２９６の処理で得られた言換後のリクエストを質問応答装置１２２に入力するステップ２９８とを含む。
【００６０】
このプログラムはさらに、ステップ２９８の結果、質問応答装置１２２から回答が得られたか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ３００と、ステップ３００の判定が肯定であるときに、質問応答装置１２２の回答を質問応答システム５８の外部に回答６０（図１を参照）として出力してプログラムの実行を終了するステップ３０２と、ステップ３００の判定が否定であるときに、図示しない検索エンジンを用いて入力文又は言換後のリクエストを用いてウェブ上で検索した結果のウェブサイトのリストを生成し回答６０として出力し、プログラムの実行を終了するステップ３０４とを含む。
【００６１】
＜動作＞
上記第１の実施の形態に係る訓練処理部６２及び質問応答システム５８は以下のように動作する。
【００６２】
最初に訓練データ項目を生成し訓練データ記憶部５０に記憶させる。訓練データ項目の生成は以下のように行う。（１）人手で言換前のリクエストと言換後のリクエストとの対を作成し、訓練データ項目とする。（２）質問応答装置１２２のログから質問応答装置１２２が回答を見つけることができなかったリクエストを収集する。人手でそのリクエストと実質的に同じ情報を表現する言換後のリクエストであって、質問応答装置１２２の回答が得られるものを作成する。この言換後のリクエストを言換前のリクエストと対にして訓練データ項目とする。（３）ウェブからリクエスト候補を抽出し、リクエスト候補記憶部５２に記憶させる。記憶されたリクエスト候補に対して人手で質問応答装置１２２の回答できるような言換後のリクエストを作成する。記憶されたリクエスト候補を第１のリクエスト、言換後のリクエストを第２のリクエストとして両者を対にし、訓練データ項目とする。なお、これらのいずれの処理で生成した訓練データ項目のいずれにおいても、人手で上記した５つの分類のいずれかを判定し分類コードを付加する。
【００６３】
図１を参照して、訓練処理部６２は、訓練データ記憶部５０に記憶された訓練データ項目を用いてニューラル言換モデル９４の訓練を行う。
【００６４】
本実施の形態では、言換モデル訓練処理部９２によるニューラル言換モデル９４の訓練が一通り終了した後（図４のステップ２４０）、別に準備した検証用データを用いてニューラル言換モデル９４の精度を計算する。この精度と前回の訓練の際の精度との差分が第１のしきい値以下となるか、又は訓練処理部６２による訓練の回数が第２のしきい値を超えればニューラル言換モデル９４の訓練を終了し（図４のステップ２４４でＹＥＳ）、ニューラル言換モデル９４による関数を規定するパラメータ群を記憶装置に保存して処理を終了する（ステップ２４６）。精度の差分がしきい値より大きく、かつ訓練処理部６２による訓練の回数が第２のしきい値以下であれば（ステップ２４４でＮＯ）、再度訓練処理部６２によるニューラル言換モデル９４の訓練を実行する（ステップ２４４からステップ２４０への経路）。
【００６５】
以上の処理をステップ２４４で終了条件が成立するまで実行することでニューラル言換モデル９４の訓練が終了する。訓練が完了したニューラル言換モデル９４は、図２に示す構成を実現するプログラムと、エンコーダ１４４を構成するＧＲＵ及びデコーダ１５４を構成するＧＲＵのパラメータとからなる。
【００６６】
図１に示す分類モデル９８の訓練も同様である。すなわち、分類モデル訓練処理部９６による分類モデル９８の訓練が一通り終了した後（図５のステップ２６０）、別に準備した検証用データを用いて分類モデル９８の分類の精度を計算する。この精度と前回の訓練時の精度との差分が第３のしきい値以下、又は分類モデル訓練処理部９６による訓練の回数が第４のしきい値を超えていれば分類モデル９８の訓練を終了し（図５のステップ２６４でＹＥＳ）、分類モデル９８による関数を規定するパラメータ群を記憶装置に保存して処理を終了する（ステップ２６６）。精度の差分がしきい値より大きく、かつ訓練処理部６２による訓練の回数が第２のしきい値以下であれば（ステップ２６４でＮＯ）、再度訓練処理部６２による分類モデル９８の訓練を実行する（ステップ２６４からステップ２６０への経路）。
【００６７】
以上の処理をステップ２６４で終了条件が成立するまで実行することで分類モデル９８の訓練が終了する。訓練が完了した分類モデル９８は、図３に示す構成を実現するプログラムと、畳込みニューラルネットワーク１８０により表される関数を規定するパラメータとからなる。
【００６８】
訓練を完了した後の稼働（テスト）フェーズでは、図１に示す質問応答システム５８は以下のように動作する。質問応答システム５８に含まれるリクエスト言換システム１２０のニューラル言換モデル９４は、言換モデル訓練処理部９２による訓練が終わったものである。同様にリクエスト言換システム１２０に含まれる分類モデル９８も分類モデル訓練処理部９６による訓練が終わったものである。
【００６９】
図１を参照して、ユーザ入力５６が与えられると、前処理部１３０がユーザ入力５６を形態素解析し形態素列に変換する（図６のステップ２９０）。前処理部１３０はさらにこの形態素列を単語ベクトル列に変換し（ステップ２９２）、分類モデル９８を用いてユーザ入力５６の分類コードを推定する（ステップ２９４）。さらに、ステップ２９２で得られた単語ベクトル列とステップ２９４で得られた分類コードをニューラル言換モデル９４に入力する（ステップ２９６）。単語ベクトル列の末尾には文末記号＜ｓ＞が付される。
【００７０】
図２を参照して、この単語ベクトル列１４０を構成する各単語はニューラル言換モデル９４のエンコーダ１４４に与えられる。エンコーダ１４４は順方向ＧＲＵ列１４６と逆方向ＧＲＵ列１４８によりそれぞれの最終隠れ状態を算出し、分類コードとともに連結部１５０で連結し、線形変換により中間ノードベクトル１５２を生成してデコーダ入力１５８に入力する。
【００７１】
デコーダ入力１５８において、組１７０のＧＲＵ１７２に文末記号＜ｓ＞が与えられると、このＧＲＵ１７２は中間ノードベクトル１５２と文末記号＜ｓ＞に応じて隠れ状態を変化させ、出力ベクトルを生成して同じ組１７０の統合部１７４に入力する。またこのＧＲＵ１７２の隠れ状態は隠れ状態ベクトル１６６としてアテンション層１６０の係数算出部１６２に与えられる。
【００７２】
係数算出部１６２は、デコーダ１５４の処理対象のＧＲＵ１７２の隠れ状態における、エンコーダ１４４の各ＧＲＵの隠れ状態の重要度を示す係数をアテンションとして計算する。コンテクストベクトル生成部１６４は、係数算出部１６２が各ＧＲＵに対して算出する係数を用いて各ＧＲＵの隠れ状態を加重平均してコンテクストベクトル１６８を算出し、組１７０の統合部１７４に供給する。
【００７３】
統合部１７４は、ＧＲＵ１７２の出力により計算した隠れ状態と、アテンション層１６０から受けたコンテクストベクトル１６８とを用いて出力する単語の確率を計算し、最も確率の高い単語を出力する。この単語は、単語ベクトルに変換され、次の組のＧＲＵ１７２の入力にも与えられる。
【００７４】
以下、文末記号＜ｓ＞に対する処理と同じ処理が前ステップの組１７０の統合部１７４の出力に対して次の組で繰返され、単語列１５６の単語が順次デコーダ１５４から出力される。こうした処理の結果、文末記号＜ｓ＞がデコーダ１５４から出力された時点で言換後のリクエストの単語列１５６が定まり、リクエスト言換システム１２０の出力が得られる。この出力は、ユーザ入力５６を構成する自然言語文からなるリクエストを、実質的に同じ意味を表すリクエストであって質問応答装置１２２が回答可能である確率が言換前のリクエストより高くなるように言換えた言換後のリクエストである。この言換後のリクエストは質問応答装置１２２に入力される（図６のステップ２９８）。質問応答装置１２２はこの言換後のリクエストに対する回答を生成し回答６０として出力する（ステップ３０２）。ニューラル言換モデル９４の出力するリクエストは、質問応答装置１２２の回答の得られる確率が高くなるように言換えられたものであるため、質問応答装置１２２からユーザ入力５６に対する回答として適切な出力が得られる可能性は言換がされない場合よりも高くなる。それでも回答が得られない場合には、図示しない検索エンジンを用いて、言換後のリクエストをキーワードとしてウェブを検索し、検索結果を生成し出力する（ステップ３０４）。
【００７５】
＜第１の実施の形態の効果＞
以上のようにこの第１の実施の形態によれば、ニューラル言換モデル９４を用いてユーザが入力したリクエストを質問応答装置１２２が回答可能である確率が言換前より高いリクエストに言換えて質問応答装置１２２に入力する。そのため、ユーザ入力が複文であったり、口語体であったり、不要な情報を含んでいたりする場合でも、質問応答装置１２２から適切な回答が出力される可能性を高めることができる。またニューラル言換モデル９４の訓練データを工夫することにより、ユーザが明確には意識していなくても潜在的に求めている情報が、質問応答装置１２２からの回答として得られる可能性も高くなる。
【００７６】
さらに、分類モデル９８により言換前のリクエストを分類し、ニューラル言換モデル９４に入力される素性として使用する。そのため、ユーザ入力５６をそのリクエストのタイプに応じた適切な形のリクエストであって、かつ質問応答装置１２２の回答できる可能性が言換前より高くなるリクエストに言換えることができる。質問応答装置１２２からはユーザ入力５６に対し、質問のタイプに応じた適切な回答が得られる可能性がより高くなるという効果が得られる。もちろん、こうした分類を素性として用いなくても良い。
【００７７】
［第２の実施の形態］
＜構成＞
《全体構成》
上記第１の実施の形態は、質問応答システムに関するものであった。したがって入力文がリクエストであることを想定して処理しても問題はない。しかし、より一般的な対話システムの場合、入力がリクエストである場合もあるが、そうでない場合もある。どのような入力があるかについても予測はできないことが一般的である。そうした場合には、第１の実施の形態のようにニューラル言換モデル９４を用いて無条件で入力文を言換えるのは妥当ではない。リクエストである場合のみニューラル言換モデルを適用する必要がある。この第２の実施の形態は、そのための判定を、第１の実施の形態で使用した分類モデル９８と同様、ディープニューラルネットワークの１例である畳込みニューラルネットワークからなる判定モデルで判定し、判定が肯定である（入力が何らかのリクエストである）場合のみ、入力文をニューラル言換モデルで入力文を言換えて質問応答システムに与える。
【００７８】
図７を参照してこのシステムは、オペレータが手入力によりリクエスト判定モデル３２６の訓練データ項目を作成し追加するために使用する訓練データ追加装置３２０と、訓練データ追加装置３２０を用いて作成された訓練データ項目を記憶するための訓練データ記憶部３２２と、訓練データ記憶部３２２に記憶された訓練データ項目からなる訓練データを用いてリクエスト判定モデル３２６の訓練を行うためのリクエスト判定モデル訓練装置３２４と、リクエスト判定モデル訓練装置３２４により訓練されたリクエスト判定モデル３２６を用いて、ユーザ入力３２８がリクエストである場合とそれ以外の場合との双方において適切な応答を応答３３２として出力する対話システム３３０とを含む。訓練データ項目の作成の際には、インターネット上のウェブサイトからリクエストらしいパターンを持つ文を抽出し、それらが真にリクエストか否かを人手で判定することにより訓練データ項目を作成しても良い。
【００７９】
《リクエスト判定モデル３２６》
リクエスト判定モデル３２６は図３に示す分類モデル９８と同様の構成である。ただし、リクエスト判定モデル３２６の出力はリクエストである確率とリクエストでない確率とをそれぞれ示す２つの出力であるという点でリクエスト判定モデル３２６と分類モデル９８とは異なっている。リクエスト判定モデル３２６と分類モデル９８とでは、層の数、素性マップの数及びその構成等においては分類モデル９８と異なるが、基本的には同様の構成である。また訓練方法も、訓練データが異なる点を除き同様である。したがってここではその構造についての詳細は繰返さない。
【００８０】
リクエスト判定モデル３２６の訓練において使用される訓練データ項目は、言換前の第１のリクエストと、この第１のリクエストがリクエストか否かを示すラベルとからなる。訓練時には、リクエスト判定モデル３２６の入力にリクエスト判定の対象となる単語ベクトル列が与えられ、リクエスト判定モデル３２６の出力（リクエストである確率とリクエストでない確率）がそのテキストのラベル（リクエストの場合には（１，０）、そうでない場合には（０，１）と比較されて誤差が算出される。通常の誤差逆伝播法によって、誤差関数の値が小さくなる方向にリクエスト判定モデル３２６を構成する各ウェイトとバイアスの値が修正される。
【００８１】
《対話システム３３０》
図７を参照して、対話システム３３０は、リクエスト判定モデル訓練装置３２４により訓練されたリクエスト判定モデル３２６と、ユーザ入力３２８を受けて単語ベクトル列に変換する前処理を行い、リクエスト判定モデル３２６を用いてユーザ入力３２８がリクエストか否かを判定してその結果にしたがいユーザ入力３２８を２つの出力のいずれかに振り分けるリクエスト判定部３４０と、リクエスト判定モデル３２６による判定がリクエストであることを示すときに、リクエスト判定部３４０から単語ベクトル列を受け、当該単語ベクトルが表す質問に対する応答を行う質問応答システム３４２と、リクエスト判定モデル３２６によりユーザ入力３２８がリクエストでないと判定されたときに、単語ベクトル列をリクエスト判定部３４０から受けて適切な応答をするよう構成された、質問応答システムとは異なる、他の応答システム３４４と、リクエスト判定部３４０による判定結果にしたがって、質問応答システム３４２の出力する応答と他の応答システム３４４の出力する応答とのいずれか適切な一方を選択し応答３３２として出力するための選択部３４６とを含む。
【００８２】
《リクエスト判定部３４０》
リクエスト判定部３４０は、前処理としてユーザ入力３２８を形態素解析し、各単語を単語ベクトルに変換することで単語ベクトル列を生成する。リクエスト判定部３４０はこの単語ベクトル列をリクエスト判定モデル３２６に与えてリクエスト判定モデル３２６の出力を得る。リクエスト判定部３４０は、リクエスト判定モデル３２６の出力が真（ユーザ入力３２８がリクエスト）であることを示すときには単語ベクトル列を質問応答システム３４２に与える。そうでないときにはリクエスト判定部３４０は単語ベクトル列を他の応答システム３４４に与える。
【００８３】
《質問応答システム３４２》
質問応答システム３４２は、第１の実施の形態に係るリクエスト言換システム１２０と同様の構成のリクエスト言換システム３５０と、リクエスト言換システム３５０によって言換えられたリクエストに対する回答を応答として選択部３４６に出力する質問応答装置３５２とを含む。
【００８４】
《リクエスト判定モデル訓練装置３２４》
図７を参照して、リクエスト判定モデル訓練装置３２４は、訓練データ記憶部３２２に記憶された訓練データを用いてリクエスト判定モデル３２６の訓練を行うためのものである。訓練データ記憶部３２２が記憶する訓練データ項目の各々は、自然言語からなる文と、その文がリクエストか否かを示すラベルとの対を含む。この訓練データ項目は、主として人手で作成される。この機能は本実施の形態ではコンピュータハードウェアとコンピュータプログラムとの協働により実現される。そのコンピュータプログラムの構造については図４及び図５に示したものと同様である。
【００８５】
《プログラム構成》
図８は、図７に示す対話システム３３０としてコンピュータを機能させるためのプログラムの制御構造を示す。図８を参照して、このプログラムは、ユーザ入力３２８を形態素解析し形態素列に変換するステップ３６０と、ステップ３６０により得られた形態素列の各単語を単語ベクトルに変換することで単語ベクトル列を出力するステップ３６２と、ステップ３６２で得られた単語ベクトル列をリクエスト判定モデル３２６に与えてリクエスト判定モデル３２６の出力を得るステップ３６４と、ステップ３６４におけるリクエスト判定モデル３２６の出力に基づいて、ユーザ入力３２８がリクエストか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ３６６とを含む。
【００８６】
このプログラムはさらに、ステップ３６６の判定が肯定であるときに、ステップ３６２で得られた単語ベクトル列をリクエスト言換システム３５０に入力するステップ３７０と、ステップ３７０の処理の結果、リクエスト言換システム３５０が出力する単語ベクトル列を質問応答装置３５２に入力するステップ３７２と、ステップ３７２の処理に応答して質問応答装置３５２から回答が得られたか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ３７４とを含む。
【００８７】
このプログラムはさらに、ステップ３７４の判定が肯定のときに質問応答装置３５２の応答を選択して応答３３２として出力しプログラムの実行を終了するステップ３７６と、ステップ３７４の判定が否定のときに、ユーザ入力３２８を入力としてウェブを検索し、検索結果を出力してこのプログラムの実行を終了するステップ３７８と、ステップ３６６の判定が否定であるときに、質問応答システム３４２ではなく他の応答システム３４４に単語ベクトル列を入力として与えるステップ３８０と、ステップ３８０の結果、他の応答システム３４４から出力される応答を選択して出力し、このプログラムの実行を終了するステップ３８２とを含む。
【００８８】
＜動作＞
この第２の実施の形態では、リクエスト言換システム３５０の訓練が既に完了しているものとすると、２つの動作フェーズがある。第１はリクエスト判定モデル訓練装置３２４によるリクエスト判定モデル３２６の訓練フェーズであり、第２は訓練済みのリクエスト判定モデル３２６を用いた対話システム３３０の対話応答フェーズである。
【００８９】
《訓練フェーズ》
図７を参照して、訓練フェーズではリクエスト判定モデル訓練装置３２４は以下のように動作する。訓練データ記憶部３２２には、予め人手で作成した訓練データが記憶される。リクエスト判定モデル３２６は所定の初期状態で準備される。すなわち、畳込みネットワークを実現するためのプログラムがメモリにロードされ、畳込みネットワークが表す関数を規定するパラメータを格納する領域がメモリに確保され、それぞれ初期値に設定される。
【００９０】
リクエスト判定モデル訓練装置３２４は、訓練データ記憶部３２２に記憶された訓練データを用いてリクエスト判定モデル３２６の訓練を行う（図５のステップ２６０に相当）。この後の訓練の構成は、図５に示した分類モデル９８の訓練と同様である。したがってここではその詳細は繰返さない。
【００９１】
《対話応答フェーズ》
対話応答フェーズでは対話システム３３０は以下のように動作する。図７を参照して、対話システム３３０のリクエスト判定部３４０は、ユーザ入力３２８を受けて単語ベクトル列に変換する前処理を行う（図８のステップ３６０及び３６２）。リクエスト判定部３４０は、リクエスト判定モデル３２６にリクエスト判定の対象としてこの単語ベクトルを入力してユーザ入力３２８がリクエストか否かを判定する（ステップ３６４及び３６６）。リクエスト判定部３４０は、その判定結果にしたがいユーザ入力３２８を２つの出力のいずれかに振分ける。すなわちリクエスト判定部３４０は、リクエスト判定モデル３２６による判定が肯定であるとき（ステップ３６６においてＹＥＳ）には質問応答システム３４２に単語ベクトル列を与える（ステップ３７０）。質問応答システム３４２のリクエスト言換システム３５０は、リクエスト判定部３４０から与えられた単語ベクトル列を質問応答装置３５２が応答できる確率が言換前より高いリクエストに言換え、質問応答装置３５２に入力する（ステップ３７２）。質問応答装置３５２はこのリクエストに対する回答の生成を試みる。回答があれば（ステップ３７４でＹＥＳ）質問応答装置３５２は回答を生成し選択部３４６に対して出力する（ステップ３７６）。回答がなければ質問応答装置３５２はウェブ検索エンジンを用い、言換後のリクエストをキーワードにウェブを検索し、検索結果を出力する（ステップ３７８）。
【００９２】
一方、リクエスト判定部３４０の判定が否定のとき（ステップ３６６でＮＯ）にはリクエスト判定部３４０は単語ベクトル列を他の応答システム３４４に与える（ステップ３８０）。他の応答システム３４４はこの単語ベクトル列に対して何らかの応答を生成し選択部３４６に出力する（ステップ３８２）。
【００９３】
選択部３４６は、リクエスト判定部３４０による判定が肯定のときには質問応答装置３５２の出力を、そうでないときには他の応答システム３４４の出力を、それぞれ選択し応答３３２として出力する。
【００９４】
＜第２の実施の形態の効果＞
この第２の実施形態では、質問応答システムに限らず、一般的な対話システムにおいてリクエストとそうでないものとを分け、質問応答システムに与えるリクエストとして適切なもののみを質問応答システムへの入力とする。そのため、対話として適切な応答を生成できる。また第１の実施形態と同様、質問応答システムへの入力の前段階として、質問応答システムが回答可能である確率が言換前より高くなるようにリクエストの言換を行っている。その結果、対話中に含まれるリクエストに対しては、第１の実施の形態と同様、ユーザ入力が複文であったり、不要な情報を含んでいたりする場合でも、対話システムから適切な回答が出力される可能性を高めることができる。またニューラル言換モデルの訓練データを工夫することにより、ユーザが明確には意識していなくても潜在的に求めている情報が、質問応答システムからの回答として得られる可能性も高くなる。
【００９５】
［第３の実施の形態］
＜構成＞
第１の実施の形態では、訓練データ記憶部５０に記憶する訓練データ項目は、（１）人手で言換前の文と言換後のリクエストとを生成する第１の訓練データ生成部６４と、（２）質問応答装置１２２が回答できなかったリクエストを記憶した質問応答システムログ記憶部５４から読出した、質問応答装置１２２が回答できなかった質問に、人手でそのリクエストと実質的に同じ情報を表現する言換後のリクエストを付す第２の訓練データ生成部６６と、（３）リクエスト候補記憶部５２に記憶されたリクエスト候補に人手で言換後のリクエストを付す第３の訓練データ生成部６８により生成される。このようにして作成された訓練データを使用し、訓練データそのものを変更したり追加したりすることなくニューラル言換モデル９４の訓練が行われる。しかし本発明はそのような実施の形態には限定されない。これらに加えて、以下のような方法で訓練データを追加しながらニューラル言換モデル９４の訓練を行うこともできる。
【００９６】
図９はこの第３の実施の形態に係るリクエスト言換モデル訓練システム４００のブロック図である。図９を参照して、リクエスト言換モデル訓練システム４００は、訓練データ記憶部５０と、訓練データ記憶部５０を用いてリクエスト言換システム４１２を訓練するための訓練処理部６２とを含む。リクエスト言換システム４１２は、本実施の形態では、ただ１つの言換後のリクエストを出力するだけではなく、言換後のリクエスト候補のＮベストを出力する機能を持つ。このＮベストは、図２に示す単語ベクトル列１５６を構成する各単語ベクトルにおいて、最高のスコア（確率）の組合せとなるものだけではなく、第２、第３のスコアを持つ単語候補も組合せることによって生成できる。
【００９７】
リクエスト言換モデル訓練システム４００はさらに、リクエスト言換システム４１２に対して何らかのリクエスト４１０を入力したことにより得られるＮベストを言換候補として記憶する言換候補記憶部４１４と、言換候補記憶部４１４に記憶された各言換候補を受けてそれぞれ回答を生成し出力する、第１の実施の形態で示したものと同じ質問応答装置１２２と、質問応答装置１２２が出力した回答を記憶する回答記憶部４１６と、回答記憶部４１６に記憶された回答の各々何らかの手段で（例えば人手で）評価し、スコアを算出する回答評価部４１８と、回答評価部４１８において所定のしきい値以上のスコアが得られた回答を、リクエスト４１０と組合せ、その回答を第２のリクエスト、リクエスト４１０を第１のリクエストとして訓練データ項目を生成し訓練データ記憶部５０に追加して格納する訓練データ生成部４２０とを含む。
【００９８】
《プログラム構成》
図９に示すリクエスト言換モデル訓練システム４００において、訓練データを追加する処理をコンピュータとの協働により実現するコンピュータプログラムの制御構造を図１０に示す。図１０に示すのは、訓練処理が一旦終了したリクエスト言換システム４１２を用いて訓練データを追加するためのものである。
【００９９】
図１０を参照して、このプログラムは、１又は複数のリクエスト（図９に示すリクエスト４１０）をリクエスト言換システム４１２に与えるステップ４５６と、リクエスト４１０の各々に対して、言換後のリクエストのＮベストをリクエスト言換システム４１２の出力として取得し言換候補記憶部４１４に記憶するステップ４５８と、ステップ４５８でリクエスト４１０の各々に対して取得したＮベストの各々を質問応答装置１２２に与え、各リクエストに対して質問応答装置１２２からの出力（リクエストに対する回答）を得て回答記憶部４１６に保存するステップ４６０とを含む。
【０１００】
このプログラムはさらに、回答記憶部４１６に記憶された各回答の質を、例えば人手によりリクエスト４１０に対する回答として評価するステップ４６２と、ステップ４６２において回答の質があるしきい値以上と判定された回答の全てについて、以下の処理４６６を実行してこのプログラムの実行を終了するステップ４６４とを含む。
【０１０１】
処理４６６は、その回答の元となったリクエスト（図９のリクエスト４１０）を第１のリクエスト、そのリクエストに対するリクエスト言換システム４１２の出力を第２のリクエストとし、第１のリクエストに対してリクエスト言換システム４１２で判定された分類コードと組合せることで訓練データ項目を新たに生成するステップ４８０と、ステップ４８０で生成された訓練データ項目を訓練データ記憶部５０の訓練データに追加するステップ４８２とを含む。
【０１０２】
＜動作＞
この第３の実施の形態に係るリクエスト言換モデル訓練システム４００は以下のように動作する。
【０１０３】
予め人手により訓練データ記憶部５０に初期の訓練データが準備され記憶される。訓練処理部６２がこの訓練データを用いてリクエスト言換システム４１２の訓練を行う。例えば人手等の何らかの手段により、１又は複数のリクエスト４１０が準備され、各々リクエスト言換システム４１２に入力される（図１０のステップ４５６）。リクエスト言換システム４１２からは各リクエストに対する言換候補のＮベストが出力され、言換候補記憶部４１４に保存される（ステップ４５８）。
【０１０４】
このリクエストの言換候補のＮベストの各々が質問応答装置１２２に入力される（ステップ４６０）。その結果、質問応答装置１２２からその回答が得られ、回答記憶部４１６に保存される。回答評価部４１８を用いて、人手により、各回答と、その元になったリクエスト４１０との組合せに対して回答の質が評価される（ステップ４６２）。質が高いと評価された回答の各々について、その元になったリクエスト４１０を第１のリクエスト、そのリクエスト４１０に対するリクエスト言換システム４１２の出力である言換後のリクエストを第２のリクエスト、及び第１のリクエストに対してリクエスト言換システム４１２の内部で行われた分類結果に基づく分類コードを１組にして新たな訓練データ項目を生成する（ステップ４８０）。この訓練データ項目を訓練データ記憶部５０に記憶された訓練データに追加する（ステップ４８２）。
【０１０５】
こうした処理を実行することで訓練データ記憶部５０に新たな訓練データ項目が追加される。データ項目が追加された訓練データでリクエスト言換システム４１２の訓練を実行することにより、リクエスト言換システム４１２による言換精度が高くなることが期待される。
【０１０６】
［コンピュータによる実現］
上記した各実施の形態に係る訓練データ記憶部５０、リクエスト候補記憶部５２、質問応答システムログ記憶部５４、質問応答システム５８、訓練処理部６２、第１の訓練データ生成部６４、第２の訓練データ生成部６６、第３の訓練データ生成部６８、ニューラル言換モデル９４、分類モデル９８、訓練データ追加装置３２０、訓練データ記憶部３２２、リクエスト判定モデル訓練装置３２４、リクエスト判定モデル３２６、対話システム３３０、及びリクエスト言換モデル訓練システム４００等は、それぞれコンピュータハードウェアと、そのハードウェア上でＣＰＵ（中央演算処理装置）及びＧＰＵ（Graphic  Processing  Unit）により実行されるコンピュータプログラムとにより実現できる。図１１及び図１２に上記各装置及びシステムを実現するコンピュータハードウェアを示す。ＧＰＵは通常は画像処理を行うために使用されるが、このようにＧＰＵを画像処理ではなく通常の演算処理に使用する技術をＧＰＧＰＵ（General-purpose  computing  on  graphics  processing  units）と呼ぶ。ＧＰＵは同種の複数の演算を同時並列的に実行できる。一方、ニューラルネットワークの訓練時及び動作時には、各ノードの重み演算は単純な積和演算であり、しかもそれらは同時に実行できることが多い。したがって、図２に示すニューラル言換モデル９４及び分類モデル９８、図７に示すリクエスト判定モデル３２６、並びに図９に示すリクエスト言換システム４１２はＧＰＧＰＵに適している。
【０１０７】
図１１を参照して、このコンピュータシステム５３０は、メモリポート５５２及びＤＶＤ（Digital  Versatile  Disk）ドライブ５５０を有するコンピュータ５４０と、キーボード５４６と、マウス５４８と、モニタ５４２とを含む。
【０１０８】
図１２を参照して、コンピュータ５４０は、メモリポート５５２及びＤＶＤドライブ５５０に加えて、ＣＰＵ５５６及びＧＰＵ５５７と、ＣＰＵ５５６、ＧＰＵ５５７、メモリポート５５２及びＤＶＤドライブ５５０に接続されたバス５６６と、ブートプログラム等を記憶する読出専用メモリであるＲＯＭ５５８と、バス５６６に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するコンピュータ読出可能な記憶媒体であるランダムアクセスメモリ（ＲＡＭ）５６０と、ハードディスク５５４を含む。コンピュータ５４０はさらに、いずれもバス５６６に接続され、他端末との通信を可能とするネットワーク５６８への接続を提供するネットワークインターフェイス（Ｉ／Ｆ）５４４と、外部との音声信号の入出力を行うための音声Ｉ／Ｆ５７０とを含む。
【０１０９】
コンピュータシステム５３０を上記した実施の形態に係る各装置及びシステムの各機能部として機能させるためのプログラムは、ＤＶＤドライブ５５０又はメモリポート５５２に装着される、いずれもコンピュータ読出可能な記憶媒体であるＤＶＤ５６２又はリムーバブルメモリ５６４に記憶され、さらにハードディスク５５４に転送される。又は、プログラムはネットワーク５６８を通じてコンピュータ５４０に送信されハードディスク５５４に記憶されてもよい。プログラムは実行の際にＲＡＭ５６０にロードされる。ＤＶＤ５６２から、リムーバブルメモリ５６４から又はネットワーク５６８を介して、直接にＲＡＭ５６０にプログラムをロードしてもよい。また、上記処理に必要なデータは、ハードディスク５５４、ＲＡＭ５６０、ＣＰＵ５５６又はＧＰＵ５５７内のレジスタ等の所定のアドレスに記憶され、ＣＰＵ５５６又はＧＰＵ５５７により処理され、プログラムにより指定されるアドレスに格納される。最終的に訓練が終了したニューラル言換モデル９４、分類モデル９８、リクエスト判定モデル３２６及びリクエスト言換システム４１２のパラメータは、例えばハードディスク５５４に格納されたり、ＤＶＤドライブ５５０及びメモリポート５５２をそれぞれ介してＤＶＤ５６２又はリムーバブルメモリ５６４に格納されたりする。又は、ネットワークＩ／Ｆ５４４を介してネットワーク５６８に接続された他のコンピュータ又は記憶装置に送信される。
【０１１０】
このプログラムは、コンピュータ５４０を、上記実施の形態に係る各装置及びシステムとして機能させるための複数の命令からなる命令列を含む。上記各装置及びシステムにおける数値演算処理は、ＣＰＵ５５６及びＧＰＵ５５７を用いて行う。ＣＰＵ５５６のみを用いてもよいがＧＰＵ５５７を用いる方が高速である。コンピュータ５４０にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ５４０上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ５４０にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体はこの実施の形態のシステム、装置及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の内、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記したシステム、装置又は方法としての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供してもよい。
【０１１１】
［実施の形態の効果］
上記実施の形態は、既存の質問応答システム又は対話システムが対応可能な入力の幅を広げるものである。システムに自然言語で入力する際の入力のスタイルには、検索エンジンに入力する際のような断片的なキーワードによるものから、口語的なくだけた表現で話しかけるようなものまで、様々なものが考えられる。質問応答システム及び対話システムの前処理として上記実施の形態に係るリクエスト言換システムを用いることで、そのようなスタイルの違いが吸収できる。その結果、既存のシステムに変更を加えることなく、そのまま上記実施の形態に係るリクエスト言換システムを使用できる。言換の結果をユーザに提示する必要はないため、ユーザがリクエスト言換システムを意識することはない。
【０１１２】
上記実施の形態は、入力のドメインを限定せず、口語的な表現を含めて様々なスタイルの自然言語による入力に対応するという特性を持つ。そのため、上記実施の形態に係るリクエスト言換システム及びリクエスト判定システムを一般家庭及び車載用等、日常用途向けの対話システムに用いることが特に効果的である。また、単に雑談を行うのではなく、知識データベース、他のソフトウェア及びいわゆるＩｏＴ対応機器との連携により、適切な情報提供及び動作を行うシステムへの接続において最も威力を発揮する。
【０１１３】
上記実施の形態では、ニューラル言換モデル９４としてはニューラル機械翻訳と同様の構成のものを用いている。これは、入力文の長さも出力文の長さも不定であるためである。しかし、ニューラル言換モデル９４がこのようなモデルに限定されるわけではない。他の機械学習によるモデルで入力文及び出力文の長さが不定でもよいものであればどのようなものでも利用できる。また第１の実施形態の分類モデル９８、及び第２の実施の形態のリクエスト判定モデル３２６として畳込みニューラルネットワークを用いている。しかし本発明はそのような実施の形態に限定されるわけではない。機械学習によりある入力文がリクエストか否かを判定できるようなモデル、たとえばＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）等を用いるようにしてもよい。これ以外で、現在利用できるモデル、また将来利用可能になるモデルで、本発明におけるニューラル言換モデル、分類モデル、及びリクエスト判定モデルとして利用可能なものであればどのようなものでも利用できる。
【０１１４】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【０１１５】
５０、３２２  訓練データ記憶部
５２  リクエスト候補記憶部
５４  質問応答システムログ記憶部
５６、３２８  ユーザ入力
５８、３４２  質問応答システム
６０  回答
６２  訓練処理部
６４  第１の訓練データ生成部
６６  第２の訓練データ生成部
６８  第３の訓練データ生成部
９２  言換モデル訓練処理部
９４  ニューラル言換モデル
９６  分類モデル訓練処理部
９８  分類モデル
１２０、３５０、４１２  リクエスト言換システム
１２２、３５２  質問応答装置
１３０  前処理部
１４０  単語ベクトル列
１４４  エンコーダ
１４６  順方向ＧＲＵ列
１４８  逆方向ＧＲＵ列
１５０  連結部
１５２  中間ノードベクトル
１５４  デコーダ
１５６  単語列
１５８  デコーダ入力
１６０  アテンション層
１６２  係数算出部
１６４  コンテクストベクトル生成部
１６６  隠れ状態ベクトル
１６８  コンテクストベクトル
１７０  組
１８０  畳込みニューラルネットワーク
１８２  最終層
１８４  Ｓｏｆｔｍａｘ層
１９０  入力層
１９２  畳込み層
１９４  プーリング層
２００  Ｎグラム
２１０  最大の要素
２２０、２２２  要素
２４０、２４４、２４６、２５０、２５２、２５４、２６０、２６４、２６６、２７０、２７２、２７４、２９０、２９２、２９４、２９６、２９８、３００、３０２、３０４、３６０、３６２、３６４、３６６、３７０、３７２、３７４、３７６、３７８、３８０、３８２、４５０、４５２、４５４、４５６、４５８、４６０、４６２、４６４、４７０、４８０、４８２  ステップ
２４２、２６２  訓練処理
３２０  訓練データ追加装置
３２４  リクエスト判定モデル訓練装置
３２６  リクエスト判定モデル
３３０  対話システム
３３２  応答
３４０  リクエスト判定部
３４４  他の応答システム
３４６  選択部
４００  リクエスト言換モデル訓練システム
４１０  リクエスト
４１４  言換候補記憶部
４１６  回答記憶部
４１８  回答評価部
４２０  訓練データ生成部
４６６  処理
【図１】
2019185521.tif 000004
【図２】
2019185521.tif 000005
【図３】
2019185521.tif 000006
【図４】
2019185521.tif 000007
【図５】
2019185521.tif 000008
【図６】
2019185521.tif 000009
【図７】
2019185521.tif 000010
【図８】
2019185521.tif 000011
【図９】
2019185521.tif 000012
【図１０】
2019185521.tif 000013
【図１１】
2019185521.tif 000014
【図１２】
2019185521.tif 000015