(57)【要約】【課題】発話に対して、対話らしく応答することを可能にする対話応答システム、モデル学習装置および対話装置を提供する。【解決手段】コーパス記憶部５は、学習用の発話文と、テキストデータベースの文を検索することによって取得された学習用の発話文に関連する学習用の関連文と、学習用の関連文が対話の応答として適切な形式に修正された学習用の応答文とを含む学習用コーパスを記憶する。モデル学習部６は、学習用コーパスを用いて、関連文を入力に含み、応答文を出力に含む応答文生成モデルを学習する。発話文入力部７には、実行用の発話文が入力される。関連文取得部８は、実行用の発話文に関連する実行用の関連文を取得する。応答文生成部９は、発話文に関連する関連文を入力として含み、入力に応答して応答文を出力とするように学習された応答文生成モデルに実行用の関連文を入力することによって、実行用の応答文を生成する。【選択図】図１
2019040574.tif 000002
【特許請求の範囲】
【請求項１】
学習用の発話文と、テキストデータベースの文を検索することによって取得された前記学習用の発話文に関連する学習用の関連文と、前記学習用の関連文が対話の応答として適切な形式に修正された学習用の応答文とを含む学習用コーパスを記憶するコーパス記憶部と、
前記学習用コーパスを用いて、関連文を入力に含み、前記応答文を出力とする応答文生成モデルを学習する学習処理部とを備えたモデル学習装置と、
対話実行用の発話文が入力される発話文入力部と、
テキストデータベースの文を検索することによって、前記対話実行用の発話文に関連する対話実行用の関連文を取得する関連文取得部と、
前記発話文に関連する関連文を入力として含み、前記入力に応答して前記応答文を出力とするように学習された応答文生成モデルに前記対話実行用の関連文を入力することによって、対話実行用の応答文を生成する応答文生成部とを備えた対話装置とよりなる対話応答システム。
【請求項２】
発話文に対して応答文を自動生成する対話装置で使用される応答文生成モデルを学習するモデル学習装置であって、
学習用の発話文と、テキストデータベースの文を検索することによって取得された前記学習用の発話文に関連する学習用の関連文と、前記学習用の関連文が対話の応答として適切な形式に修正された学習用の応答文とを含む学習用コーパスを記憶するコーパス記憶部と、
前記学習用コーパスを用いて、関連文を入力に含み、前記応答文を出力とする応答文生成モデルを学習する学習処理部とを備えた、モデル学習装置。
【請求項３】
前記コーパス記憶部は、前記学習用の発話文と、一又は複数の前記学習用の関連文と、前記学習用の応答文とを含む学習用コーパスを記憶し、
前記学習処理部は、前記学習用コーパスを用いて、前記発話文および前記関連文を入力に含み、前記応答文を出力とする応答文生成モデルを学習する、請求項２記載のモデル学習装置。
【請求項４】
発話文に対して応答文を自動生成する対話装置であって、
対話実行用の発話文が入力される発話文入力部と、
テキストデータベースの文を検索することによって、前記対話実行用の発話文に関連する対話実行用の関連文を取得する関連文取得部と、
前記発話文に関連する関連文を入力として含み、前記入力に応答して前記応答文を出力とするように学習された応答文生成モデルに前記対話実行用の関連文を入力することによって、対話実行用の応答文を生成する応答文生成部とを備えた対話装置。
【請求項５】
前記応答文生成モデルは、前記発話文および前記関連文を前記入力として含み、
前記応答文生成部は、前記対話実行用の発話文および一又は複数の前記対話実行用の関連文を前記応答文生成モデルに入力することによって、前記実行用の応答文を生成する、請求項４記載の対話装置。
【請求項６】
ユーザ発話文とユーザ応答文からなる対話データの前記ユーザ応答文に含まれる少なくとも一つの名詞及びもしくは少なくとも１つの述語が含まれる文を前記学習用の関連文として取得し、前記ユーザ応答文から前記学習用の関連文に含まれる名詞及びもしくは述語に関連する箇所を抽出して、前記学習用の応答文とするコーパス生成部を備える、請求項２記載のモデル学習装置。
【請求項７】
モデル学習装置と対話装置とからなる対話応答システムであって、
前記モデル学習装置は、
学習用の発話文と、テキストデータベースの文を検索することによって取得された前記学習用の発話文に関連する関連文と、前記関連文の適合度とを含む学習用コーパスを記憶するコーパス記憶部と、
前記学習用コーパスを用いて、発話文および関連文を入力に含み、適合度を出力とする適合性判定モデルを学習する第１の学習処理部とを備え、
前記対話装置は、
対話実行用の発話文が入力される発話文入力部と、
テキストデータベースの文を検索することによって、前記対話実行用の発話文に関連する関連文を取得する関連文取得部と、
前記発話文と前記関連文を入力に含み、前記入力に応答して前記関連文の適合度を出力するように学習された適合性判定モデルに、前記対話実行用の発話文および前記取得した関連文を入力することによって、適合度を生成する関連文適合性判定部とを備えた、
対話応答システム。
【請求項８】
前記コーパス記憶部は、さらに、前記関連文の適合度が高い学習用の関連文が対話の応答として適切な形式に修正された学習用の応答文とを含む学習用コーパスを記憶し、
前記モデル学習装置は、さらに、
前記学習用の関連文と前記学習用の応答文を用いて、関連文を入力に含み、応答文を出力とする応答文生成モデルを学習する第２の学習処理部を備え、
前記対話装置は、さらに、
前記発話文に関連する関連文を入力として含み、前記入力に応答して前記応答文を出力とするように学習された応答文生成モデルに前記対話実行用の関連文を入力することによって、対話実行用の応答文を生成する応答文生成部を備える、請求項７記載の対話応答システム。
【請求項９】
ユーザ発話文とユーザ応答文からなる対話データの前記ユーザ応答文に含まれる少なくとも一つの名詞及びもしくは少なくとも１つの述語が含まれる文を適合度の高い前記関連文として取得し、
前記ユーザ応答文に含まれる１つの名詞と、前記ユーザ応答文に含まれない少なくとも１つの名詞とを含む文を適合度の低い前記関連文として取得するコーパス生成部を備える、請求項７記載の対話応答システム。
【請求項１０】
モデル学習装置と対話装置とからなる対話応答システムであって、
前記モデル学習装置は、
学習用の発話文と、前記学習用の発話文に関連する関連文を取得するためにテキストデータベースの文を検索するときに用いられる検索トピックと、前記検索トピックの適合度とを含む学習用コーパスを記憶するコーパス記憶部と、
前記学習用コーパスを用いて、発話文および検索トピックを入力に含み、適合度を出力とする適合性判定モデルを学習する第１の学習処理部とを備え、
前記対話装置は、
対話実行用の発話文が入力される発話文入力部と、
前記対話実行用の発話文に基づいて、前記対話実行用の発話文に関連する関連文を取得するためにテキストデータベースの文を検索するときに用いられる検索トピックを生成する第１のトピック生成部と、
前記発話文と前記検索トピックを入力に含み、前記入力に応答して前記検索トピックの適合度を出力するように学習された適合性判定モデルに、前記対話実行用の発話文および前記生成した検索トピックを入力することによって、適合度を生成するトピック適合性判定部と、
前記トピック適合性判定部で生成された適合度に基づいて、複数の検索トピックの中から１つの検索トピックを選択する選択部と、
前記選択された検索トピックを用いて、テキストデータベースの文を検索することによって、前記対話実行用の発話文に関連する関連文を取得する第１の関連文取得部とを備えた、
対話応答システム。
【請求項１１】
前記コーパス記憶部は、テキストデータベースの文を検索することによって取得された前記学習用の発話文に関連する学習用の関連文と、前記学習用の関連文が対話の応答として適切な形式に修正された学習用の応答文とを含む学習用コーパスを記憶し、
前記モデル学習装置は、さらに、
前記学習用の関連文と前記学習用の応答文とを用いて、関連文を入力に含み、応答文を出力とする応答文生成モデルを学習する第２の学習処理部を備え、
前記対話装置は、さらに、
前記発話文に関連する関連文を入力として含み、前記入力に応答して前記応答文を出力とするように学習された応答文生成モデルに前記対話実行用の関連文を入力することによって、対話実行用の応答文を生成する応答文生成部を備える、請求項１０記載の対話応答システム。
【請求項１２】
前記モデル学習装置は、
前記学習用の発話文に基づいて、前記検索トピックを生成する第２のトピック生成部と、
前記生成された検索トピックを用いて、テキストデータベースの文を検索することによって、前記学習用の発話文に関連する関連文を取得する第２の関連文取得部とを備え、
前記第１のトピック生成部および前記第２のトピック生成部は、主トピックと副トピックとからなる検索トピックを生成し、
前記第１の関連文取得部および前記第２の関連文取得部は、前記検索トピックが前記主トピックと前記副トピックからなる場合には、述部に直接係る主トピックを含み、かつ述部に直接係らない副トピックを含む関連文を取得する、請求項１０記載の対話応答システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話応答システム、モデル学習装置および対話装置に関する。
【背景技術】
【０００２】
近年、人と対話可能なコンピュータ（対話応答システム）が数多く出現してきたが、そのほとんどは、人手で書かれた応答文またはテンプレートを用いて人手で作成された応答文を、ユーザ発話に応じて出力しているに過ぎない。Ｗｅｂから取得できる文(以下、Ｗｅｂ取得文）を対話に用いることできれば、対話応答システム開発において大幅なコストダウンとなるが、現状では、Ｗｅｂ取得文は、対話応答システム開発に有効に利用されていない。その理由は、Ｗｅｂ取得文は、対話において応答文としては不完全または不自然で違和感を生じさせることが多いからである。たとえば、Ｗｅｂ取得文には、ニュースのタイトルに多い「自動車、タイでエンジンの生産を開始」のような名詞で終わる文、「こうしたブランドのメガネフレームは深い輝きを持つ」のような前後の文脈がないと成り立たない文、または発話に対しては不適切な部分または冗長な部分を含んでいる文などがある。Ｗｅｂ取得文は、文自体としては、おかしくないけれども、発話に対する応答としては違和感を生じさせることが多い。したがって、Ｗｅｂ取得文を対話応答システムで用いるためには、応答文として適切な形に変換することが必要となる。
【０００３】
従来から、語尾を変換することにより対話応答システムのキャラクタを表現したり、文意を変えたりする技術が知られている。たとえば、語尾変換によるキャラクタ表現技術として、語尾の「です・ます」を「だ・である」に変換する技術、および語尾を関西弁風に変換する技術が知られている。文意を変える技術として、たとえば「今夜はハンバーグを食べる」という文を「今夜はハンバーグを食べましょう」と提案風の語尾に変換する技術、および「今夜はハンバーグを食べるの？」と疑問系に変換する技術が知られている。しかしながら、これらの技術では、ユーザ発話に対する応答として適切な形に変換することができない。たとえば、発話文「冬越しの貯食をすることで知られている野鳥にヤマガラがいます。」に対する応答文が「良い天気で雲も少なく、湖の周辺ではヤマガラ、ツグミなど野鳥見ることもできた。」である場合、応答文の語尾を変換したとしても、応答文は、発話に対して適切とはいえない。なぜなら、応答文に含まれる「良い天気で雲も少なく、」が意味を成していないため、少なくともこの「良い天気で雲も少なく、」は削除する必要があるからである。
【０００４】
特許文献１には、敬体表現を常態表現に精度良く変換する方法が記載されている。この方法によって、例えば、語尾の「です」または「ます」を「だ」に変換することができる。
【０００５】
特許文献２には、対話者の知識量に応じた表現に言い換える方法が記載されている。この方法によって、例えばワインに詳しくない相手に応答する場合は、「ボジョレーが好きです」を「赤ワインが好きです」に言い換えることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−６８８７９号公報
【特許文献２】特開２０１７−９１３６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１では、敬体表現を常態表現に変換することができるが、変換できるのは語尾に限られる。また、いつどの語尾に変換することが適切なのかを見極めることもできない。特許文献２では、対話者の知識量に応じた表現に言い換えるが、知識レベルが一致しても応答文として適切でない場合は多々ある。たとえば、特許文献２では、前述のような応答文における「良い天気で雲も少なく、」のような不要な箇所を削除することができない。
【０００８】
それゆえに、本発明の目的は、発話に対して、対話らしく応答することを可能にする対話応答システム、モデル学習装置および対話装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明の対話応答システムは、モデル学習装置と、対話装置とを備える。モデル学習装置は、学習用の発話文と、テキストデータベースの文を検索することによって取得された学習用の発話文に関連する学習用の関連文と、学習用の関連文が対話の応答として適切な形式に修正された学習用の応答文とを含む学習用コーパスを記憶するコーパス記憶部と、学習用コーパスを用いて、関連文を入力に含み、応答文を出力とする応答文生成モデルを学習するモデル学習部とを備える。対話装置は、対話実行用の発話文が入力される発話文入力部と、テキストデータベースの文を検索することによって、対話実行用の発話文に関連する対話実行用の関連文を取得する関連文取得部と、発話文に関連する関連文を入力として含み、入力に応答して応答文を出力とするように学習された応答文生成モデルに対話実行用の関連文を入力することによって、対話実行用の応答文を生成する応答文生成部とを備える。
【００１０】
本発明の対話応答システムは、モデル学習装置と対話装置とからなる対話応答システムである。モデル学習装置は、学習用の発話文と、テキストデータベースの文を検索することによって取得された学習用の発話文に関連する関連文と、関連文の適合度とを含む学習用コーパスを記憶するコーパス記憶部と、学習用コーパスを用いて、発話文および関連文を入力に含み、適合度を出力とする適合性判定モデルを学習する第１の学習処理部とを備える。対話装置は、対話実行用の発話文が入力される発話文入力部と、テキストデータベースの文を検索することによって、対話実行用の発話文に関連する関連文を取得する関連文取得部と、発話文と関連文を入力に含み、入力に応答して関連文の適合度を出力するように学習された適合性判定モデルに、対話実行用の発話文および取得した関連文を入力することによって、適合度を生成する関連文適合性判定部とを備える。
【００１１】
本発明の対話応答システムは、モデル学習装置と対話装置とからなる対話応答システムである。モデル学習装置は、学習用の発話文と、学習用の発話文に関連する関連文を取得するためにテキストデータベースの文を検索するときに用いられる検索トピックと、検索トピックの適合度とを含む学習用コーパスを記憶するコーパス記憶部と、学習用コーパスを用いて、発話文および検索トピックを入力に含み、適合度を出力とする適合性判定モデルを学習する第１の学習処理部とを備える。対話装置は、対話実行用の発話文が入力される発話文入力部と、対話実行用の発話文に基づいて、対話実行用の発話文に関連する関連文を取得するためにテキストデータベースの文を検索するときに用いられる検索トピックを生成する第１のトピック生成部と、発話文と検索トピックを入力に含み、入力に応答して検索トピックの適合度を出力するように学習された適合性判定モデルに、対話実行用の発話文および生成した検索トピックを入力することによって、適合度を生成するトピック適合性判定部と、トピック適合性判定部で生成された適合度に基づいて、複数の検索トピックの中から１つの検索トピックを選択する選択部と、選択された検索トピックを用いて、テキストデータベースの文を検索することによって、対話実行用の発話文に関連する関連文を取得する第１の関連文取得部とを備える。
【発明の効果】
【００１２】
本発明によれば、テキストデータベースから取得したデータを質の良い応答文として利用することが可能となる。その結果、対話応答システムの利用範囲が大幅に広がる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態の対話応答システム１の構成を表わす図である。
【図２】第１の実施形態の学習用発話文、学習用関連文、および学習用応答文の例を表わす図である。
【図３】第１の実施形態の対話実行用発話文、対話実行用関連文、および対話実行用応答文の例を表わす図である。
【図４】第１の実施形態の応答生成学習処理部６の構成を表わす図である。
【図５】第１の実施形態の応答文生成部９の構成を表わす図である。
【図６】第１の実施形態のモデル学習装置２の動作手順を表わすフローチャートである。
【図７】第１の実施形態の対話装置３の動作手順を表わすフローチャートである。
【図８】第２の実施形態の対話応答システム２１の構成を表わす図である。
【図９】第２の実施形態の学習用発話文、学習用関連文、および学習用応答文の例を表わす図である。
【図１０】第２の実施形態の対話実行用発話文、対話実行用関連文、および対話実行用応答文の例を表わす図である。
【図１１】第２の実施形態の応答生成学習処理部２６の構成を表わす図である。
【図１２】第２の実施形態の応答文生成部２９の構成を表わす図である。
【図１３】第２の実施形態のモデル学習装置２２の動作手順を表わすフローチャートである。
【図１４】第２の実施形態の対話装置２３の動作手順を表わすフローチャートである。
【図１５】第３の実施形態の対話応答システム３１の構成を表わす図である。
【図１６】第３の実施形態の対話データ、学習用発話文、学習用関連文、および学習用応答文の例を表わす図である。
【図１７】第３の実施形態のモデル学習装置３２の動作手順を表わすフローチャートである。
【図１８】第４の実施形態の対話応答システム４１の構成を表わす図である。
【図１９】データベース１０５４に記憶されている元文の例を表わす図である。
【図２０】モデル学習装置４２の関連文取得部４２によって用いられる文の例を表わす図である。
【図２１】対話装置４３の関連文取得部４８によって用いられる文の例を表わす図である。
【図２２】第４の実施形態のモデル学習装置４２の動作手順を表わすフローチャートである。
【図２３】第４の実施形態の対話装置４３の動作手順を表わすフローチャートである。
【図２４】第５の実施形態の対話応答システム８１の構成を表わす図である。
【図２５】第５の実施形態の応答生成学習処理部８６の構成を表わす図である。
【図２６】第６の実施形態の対話応答システム９１の構成を表わす図である。
【図２７】第６の実施形態の応答生成学習処理部９６の構成を表わす図である。
【図２８】第７の実施形態の対話応答システム５５１の構成を表わす図である。
【図２９】第８の実施形態の対話応答システム１１００の構成を表わす図である。
【図３０】不適合関連文の例を説明するための図である。
【図３１】コーパス記憶部１１０８に記憶されている学習用コーパスの例を表わす図である。
【図３２】第８の実施形態の適合判定学習処理部１１０５および関連文適合性判定部１１０１で用いられる適合性判定モデルＸ１を実現するニューラルネットワークを表わす図である。
【図３３】畳み込みニューラルネットワークＣＮＮ１における畳み込み演算の詳細を表わす図である。
【図３４】畳み込みニューラルネットワークＣＮＮ２における畳み込み演算の詳細を表わす図である。
【図３５】第８の実施形態のモデル学習装置１１２０の動作手順を表わすフローチャートである。
【図３６】第８の実施形態の対話装置１１３０の動作手順を表わすフローチャートである。
【図３７】第９の実施形態の対話応答システム１２００の構成を表わす図である。
【図３８】第９の実施形態の対話データ、学習用発話文、学習用関連文、および学習用応答文の例を表わす図である。
【図３９】第９の実施形態のモデル学習装置１２２０の動作手順を表わすフローチャートである。
【図４０】第１０の実施形態の対話応答システム１３００の構成を表わす図である。
【図４１】学習用発話文、検索トピック、関連文、適合度の例を表わす図である。
【図４２】（ａ）は、コーパス記憶部１３０８に記憶されている学習用コーパスのうちの学習用関連文と学習用応答文の複数のセットの例を表わす図である。（ｂ）は、コーパス記憶部１３０８に記憶されている学習用コーパスのうちの学習用発話文と検索トピックと適合度の複数のセットの例を表わす図である。
【図４３】第１０の実施形態の適合判定学習処理部１３０５およびトピック適合性判定部１３１２で用いられる適合性判定モデルＸ２を実現するニューラルネットワークを表わす図である。
【図４４】畳み込みニューラルネットワークＣＮＮ３における畳み込み演算の詳細を表わす図である。
【図４５】畳み込みニューラルネットワークＣＮＮ４における畳み込み演算の詳細を表わす図である。
【図４６】第１０の実施形態のモデル学習装置１３２０の動作手順を表わすフローチャートである。
【図４７】第１０の実施形態の対話装置１３３０の動作手順を表わすフローチャートである。
【図４８】モデル学習装置または対話装置の内部構成を表わす図である。
【発明を実施するための形態】
【００１４】
以下、実施の形態について、図面を用いて説明する。
［第１の実施形態］
図１は、第１の実施形態の対話応答システム１の構成を表わす図である。対話応答システム１は、モデル学習装置２と、対話装置３とを備える。
【００１５】
モデル学習装置２は、コーパス生成部４と、コーパス記憶部５と、応答生成学習処理部６と、パラメータ記憶部１４とを備える。コーパス生成部４は、発話文入力部１１と、関連文取得部１２と、学習用応答文入力部１３と、コーパス出力部６４とを備える。
【００１６】
発話文入力部１１は、開発側の人員によって作成された学習用発話文の入力を受ける。
関連文取得部１２は、テキストデータベースを検索することによって、学習用発話文に関連する文を取得して、学習用関連文とする。たとえば、関連文取得部１２は、テキストデータベースの１種であるＷｅｂ１０００上に掲載された文を検索することによって、学習用発話文に関連する文を取得して、学習用関連文とする。関連文取得部１２は、たとえば、Ｗｅｂ１０００上に掲載された文を検索することによって、学習用発話文に含まれる名詞を最も多く含む１つの文を学習用関連文として取得する。関連文取得部１２は、検索エンジンなどを利用することによって、人手または自動でＷｅｂ１０００上のデータを検索することによって、学習用関連文を取得する。
【００１７】
Ｗｅｂ１０００上に掲載された文とは、関連文取得の時点でＷｅｂ１０００上に掲載されている文（第１のケース）、または関連文取得の時点よりも前にＷｅｂ１０００上に掲載された後、データベースに取り込まれた文（第２のケース）である。第１のケースでは、関連文取得部１２は、Ｗｅｂ１０００を直接検索する。第２のケースでは、関連文取得部１２は、データベースを検索する。
【００１８】
学習用応答文入力部１３は、学習用応答文の入力を受ける。学習用応答文は、開発側の人員によって、発話に対して対話の応答として適切になるように予め定められた規則に従って、学習用関連文を修正することによって生成される。発話に対して対話の応答として適切とは、たとえば、対話の応答として重要な部分を維持する、対話の応答らしい語尾を含む、対話の応答として冗長な部分を含まない、前後の文脈がないと成立しない部分を含まない、または対話の応答らしい助詞を含む、対話の応答らしい語順である、などである。開発側の人員によって学習用応答文が作成されるので、質の良い学習用応答文が得られる。
【００１９】
コーパス出力部６４は、学習用関連文と学習用応答文のセットを複数含む学習用コーパスを生成して、コーパス記憶部５に書込む。コーパス記憶部５は、学習用コーパスを記憶する。
【００２０】
応答生成学習処理部６は、学習用コーパスを用いて、関連文を入力とし、応答文を出力とする応答文生成モデルＡを学習する。応答文生成モデルＡは、深層学習のニューラルネットワークと、そのパラメータとからなる。
【００２１】
パラメータ記憶部１４は、応答生成学習処理部６による応答文生成モデルＡの学習後のパラメータを記憶する。パラメータ記憶部１４は、ニューラルネットワークの学習後のパラメータ（重み行列など）を記憶する。パラメータ記憶部１４に記憶されている応答文生成モデルＡの学習後のパラメータは、入出力ポートなどを介して外部へ取り出されることができる。
【００２２】
図２は、第１の実施形態の学習用発話文、学習用関連文、および学習用応答文の例を表わす図である。図２に示すように、学習用発話文「ぽつぽつしてきたから、洗濯物取り込まなきゃね。」に含まれる名詞「洗濯物」を含む文がＷｅｂ１０００から検索されて、学習用関連文「浴槽温暖機で洗濯物を乾かす早さベストアンサー」が取得される。そして、学習用関連文に含まれる対話の応答として冗長な部分「早さベストアンサー」が削除されるとともに、対話らしくない語尾「乾かす」が対話らしい語尾「乾かそう」に置き換えられることによって、学習用応答文「浴槽温暖機で洗濯物を乾かそう。」が作成される。このような学習用関連文と学習用応答文とを用いた学習によって、関連文から、対話として適切な応答文を生成する応答文生成モデルＡが生成される。
【００２３】
対話装置３は、発話文入力部７と、関連文取得部８と、パラメータ記憶部１５と、応答文生成部９とを備える。
【００２４】
発話文入力部７は、ユーザからの対話実行用発話文の入力を受ける。
関連文取得部８は、テキストデータベースを検索することによって、対話実行用発話文に関連する文を取得して、対話実行用関連文とする。たとえば、関連文取得部８は、テキストデータベースの１種であるＷｅｂ１０００上に掲載された文を検索することによって、対話実行用発話文に関連する文を取得して、対話実行用関連文とする。関連文取得部８は、たとえば、Ｗｅｂ１０００上に掲載された文を検索することによって、対話実行用発話文に含まれる名詞を含む１つの文を対話実行用関連文として取得する。関連文取得部８は、検索エンジンなどを利用することによって、ユーザの操作または自動でＷｅｂ１０００上のデータを検索することによって、対話実行用関連文を取得する。
【００２５】
パラメータ記憶部１５は、モデル学習装置２による応答文生成モデルＡの学習後のパラメータを記憶する。たとえば、パラメータ記憶部１５は、ニューラルネットワークの学習後のパラメータ（重み行列など）を記憶する。モデル学習装置２から外部に取り出された応答文生成モデルＡの学習後のパラメータが対話装置３に入力され、パラメータ記憶部１５に記憶される。これらのパラメータは、対話装置３の機能を実現するプログラムとともに、ユーザに頒布されるものとしてもよい。
【００２６】
応答文生成部９は、対話実行用関連文を学習後の応答文生成モデルＡに入力することによって、対話実行用応答文を生成する。たとえば、応答文生成部９は、学習後のニューラルネットワークに対話実行用関連文を入力して、ニューラルネットワークの出力を対話実行用応答文とすることができる。
【００２７】
図３は、第１の実施形態の対話実行用発話文、対話実行用関連文、および対話実行用応答文の例を表わす図である。図３に示すように、対話実行用発話文「やっぱり、ブランドの眼鏡フレームは、いいですね。」に含まれる「眼鏡フレーム」を含む文がＷｅｂ１０００から検索されて、対話実行用関連文「こうしたブランドの眼鏡フレームは深い輝きを持つ。」が取得される。そして、対話実行用関連文に含まれる前後の文脈がないと成立しない部分「こうした」が削除されるとともに、対話らしくない語尾「持つ」が対話らしい語尾「持ちますね」に置き換えられた対話実行用応答文「ブランドの眼鏡フレームは深い輝きを持ちますね。」が生成される。
【００２８】
図４は、第１の実施形態の応答生成学習処理部６の構成を表わす図である。応答生成学習処理部６は、エンコーダ１５１と、デコーダ１５２とを備える。応答生成学習処理部６は、応答文生成モデルＡの一例であるSequence to Sequence モデルを学習する。
【００２９】
エンコーダ１５１は、時間軸（ｔ＝１〜ｍ）に沿って展開されたリカレントニューラルネットワークを備える。時刻ｔの入力ベクトルをｘ１（ｔ）、隠れ層のベクトルをｈ１（ｔ）とする。
【００３０】
時刻ｔの隠れ層は、時刻ｔの入力層に入力された学習用関連文の単語を表わす入力ベクトルｘ１（ｔ）を受け取るとともに、時刻（ｔ−１）の隠れ層のベクトルｈ１（ｔ−１）を受け、ベクトルｈ１（ｔ）を時刻（ｔ＋１）の隠れ層に出力する。ただし、時刻１の隠れ層は、入力ベクトルｘ１（１）のみを受け取る。たとえば、時刻１の入力ベクトルｘ１（１）は、「京都」を表わすベクトルであり、時刻２の入力ベクトルｘ１（２）は、「で」を表わすベクトルである。なお、本実施の形態では、単語を表すベクトルとしていわゆる単語埋め込みベクトル（例えばword2vectorにより得られるもの）等を用いてもよい。
【００３１】
時刻ｔの重み行列をＵ１（ｔ）、Ｗ１（ｔ）とし、バイアスをｂ、活性化関数をｆとしたときに、以下の式が成り立つ。
【００３２】
h1(t)=f(U1(1)x1(1)+b)…(1)
h1(t)=f(U1(t)x1(t)+W1(t)h1(t-1)+b)（ｔ＝１以外) …(2)
デコーダ１５２は、時間軸（ｔ＝１〜ｎ）に沿って展開されたリカレントニューラルネットワークを備える。時刻ｔの入力ベクトルをｘ３（ｔ）、隠れ層のベクトルをｈ３（ｔ）、出力ベクトルをｙ３（ｔ）とする。
【００３３】
時刻ｔの隠れ層は、時刻ｔの入力層に入力された学習用応答文の単語を表わす入力ベクトルｘ３（ｔ）を受け取るとともに、時刻（ｔ−１）の隠れ層のベクトルｈ３（ｔ−１）を受け、ベクトルｈ３（ｔ）を出力層および時刻（ｔ＋１）の隠れ層に出力する。ただし、時刻１の隠れ層は、入力ベクトルｘ３（１）と、エンコーダ１５１の最後の時刻ｍの隠れ層のベクトルｈ１（ｍ）を受ける。たとえば、時刻１の入力ベクトルｘ３（１）は、ダミーワード（＜ｓ＞）を表わすベクトルであり、時刻２の入力ベクトルｘ３（２）は、単語「京都」を表わすベクトルである。時刻ｔの出力層は、時刻ｔの隠れ層からベクトルｈ３（ｔ）を受け、出力ベクトルｙ３（ｔ）を出力する。出力ベクトルｙ３（ｔ）は、時刻（ｔ＋１）の入力ベクトルｘ３（ｔ＋１）を予測したものである。
【００３４】
時刻ｔの重み行列をＵ３（ｔ）、Ｗ３（ｔ）、Ｖ３（ｔ）とし、バイアスをｂ、ｃ、活性化関数をｆ、ｇとしたときに、以下の式が成り立つ。
【００３５】
h3(1)=f(U3(1)x3(1)+W3(1)h1(m)+b)…(3)
h3(t)=f(U3(t)x3(t)+W3(t)h3(t-1)+b)（ｔ＝１以外）…(4)
y3(t)=g(V3(t)h3(t)+c)…(5)
デコーダ１５２では、出力ベクトルｙ３（１）〜ｙ３（ｎ）で構成される出力文とｘ３（１）〜ｘ３（ｎ）で構成される学習用応答文（教師データ）との誤差が求められる。時刻ｔの出力ベクトルｙ３（ｔ）と、入力ベクトルｘ３（ｔ＋１）との誤差Ｅ（ｔ）が求められる。ただし、時刻ｔ＝ｎでは、出力ベクトルｙ３（ｎ）と、時刻１の入力ベクトルｘ３（１）（ダミーワード（＜ｓ＞））との誤差Ｅ（ｎ）が求められる。これらの誤差は、デコーダ１５２内の時刻ｔよりも前の隠れ層、およびエンコーダ１５１内の隠れ層（時刻ｔ＝１〜ｍ）に逆伝搬される。デコーダ１５２内の時刻ｔの隠れ層に逆伝搬されてきた誤差の和を最小化するように重み行列Ｗ３（ｔ）、Ｕ３（ｔ）、Ｖ３（ｔ）が更新される。エンコーダ１５１内の時刻ｔの隠れ層に逆伝搬されてきた誤差の和を最小化するようにＷ１（ｔ）、Ｕ１（ｔ）が更新される。学習後の応答文生成モデルＡのパラメータである重み行列Ｗ３（ｔ）、Ｕ３（ｔ）、Ｖ３（ｔ）、Ｗ１（ｔ）、Ｕ１（ｔ）は、パラメータ記憶部１４に記憶される。
【００３６】
図５は、第１の実施形態の応答文生成部９の構成を表わす図である。応答文生成部９は、エンコーダ１５３と、デコーダ１５４とを備える。応答文生成部９は、学習後の応答文生成モデルＡの一例である学習後のSequence to Sequence モデルを用いて、対話実行用応答文を生成する。
【００３７】
図５において、応答文生成モデルＡの学習後のパラメータである重み行列Ｗ３（ｔ）、Ｕ３（ｔ）、Ｖ３（ｔ）、Ｗ１（ｔ）、Ｕ１（ｔ）がパラメータ記憶部１５から読み出されて設定される。これらは、図４の応答生成学習処理部６による学習（更新）によって得られたものが用いられる。
【００３８】
エンコーダ１５３は、エンコーダ１５１と同様の時間軸（ｔ＝１〜ｍ）に沿って展開されたリカレントニューラルネットワークを備える。ただし、時刻ｔの入力層に入力される入力ベクトルｘ１（ｔ）は、学習用関連文の単語ではなく、対話実行用関連文の単語である。
【００３９】
デコーダ１５４は、時間軸（ｔ＝１〜ｎ）に沿って展開されたリカレントニューラルネットワークを備える。時刻ｔの入力ベクトルをｘ３（ｔ）、隠れ層のベクトルをｈ３（ｔ）、出力ベクトルをｙ３（ｔ）とする。
【００４０】
時刻ｔの隠れ層は、時刻（ｔ−１）の出力ベクトルｙ３（ｔ−１）を受け取るとともに、時刻（ｔ−１）の隠れ層のベクトルｈ３（ｔ−１）を受け、ベクトルｈ３（ｔ）を出力層および時刻（ｔ＋１）の隠れ層に出力する。ただし、時刻１の隠れ層は、ダミーワードを表わすベクトルＤと、エンコーダ１５１の最後の時刻ｍの隠れ層のベクトルｈ１（ｍ）を受ける。時刻ｔの出力層は、時刻ｔの隠れ層からベクトルｈ３（ｔ）を受け、出力ベクトルｙ３（ｔ）を出力する。
【００４１】
時刻ｔの重み行列をＵ３（ｔ）、Ｗ３（ｔ）、Ｖ３（ｔ）とし、バイアスをｂ、ｃ、活性化関数をｆ、ｇとしたときに、以下の式が成り立つ。
【００４２】
h3(1)=f(D+W3(1)h1(m)+b)…(6)
h3(t)=f(U3(t)y3(t-1)+W3(t)h3(t-1)+b)（ｔ＝１以外）…(7)
y3(t)=g(V3(t)h3(t)+c)…(8)
図６は、第１の実施形態のモデル学習装置２の動作手順を表わすフローチャートである。
【００４３】
ステップＳ１０１において、発話文入力部１１は、学習用発話文の入力を受ける。
ステップＳ１０２において、関連文取得部１２は、学習用発話文に関連する学習用関連文をテキストデータベースの１種であるＷｅｂ１０００から取得する。
【００４４】
ステップＳ１０３において、学習用応答文入力部１３は、学習用関連文を対話の応答として適切になるように、開発側の人員の操作によって学習用関連文を修正することによって生成された学習用応答文の入力を受ける。
【００４５】
ステップＳ１０４において、ステップＳ１０１〜Ｓ１０３がすべての入力が完了するまで繰り返されることによって、複数セットの学習用関連文と学習用応答文とが得られる。コーパス出力部６４は、学習用関連文と学習用応答文のセットを複数を含む学習用コーパスを生成して、コーパス記憶部５に書込む。コーパス記憶部５は、学習用コーパスを記憶する。
【００４６】
ステップＳ１０５において、応答生成学習処理部６は、学習用コーパスを用いて、関連文を入力とし、応答文を出力とする応答文生成モデルＡを学習する。
【００４７】
ステップＳ１０６において、パラメータ記憶部１４は、応答生成学習処理部６による応答文生成モデルＡの学習後のパラメータを記憶する。
【００４８】
図７は、第１の実施形態の対話装置３の動作手順を表わすフローチャートである。
ステップＳ２０１において、応答文生成部９は、パラメータ記憶部１５に記憶されているモデル学習装置２による応答文生成モデルＡの学習後のパラメータを読み出す。
【００４９】
ステップＳ２０２において、発話文入力部７は、ユーザから対話実行用発話文の入力を受ける。
【００５０】
ステップＳ２０３において、関連文取得部８は、対話実行用発話文に関連する対話実行用関連文をテキストデータベースの１種であるＷｅｂ１０００から取得する。
【００５１】
ステップＳ２０４において、応答文生成部９は、読み出したパラメータを用いることによって得られる学習後の応答文生成モデルＡに対話実行用関連文を入力することによって、対話実行用応答文を生成する。
【００５２】
以上のように、本実施の形態によれば、発話に基づいて得られる応答候補である関連文を適切な応答文に変換することができる。これにより、Ｗｅｂで取得することができる膨大な数の文を対話応答システムの応答として利用することができる。
【００５３】
［第２の実施形態］
図８は、第２の実施形態の対話応答システム２１の構成を表わす図である。対話応答システム２１は、モデル学習装置２２と、対話装置２３とを備える。本実施の形態のモデル学習装置２２が、第１の実施形態のモデル学習装置２と相違する点は、コーパス生成部２４に含まれる学習用応答文入力部３８およびコーパス出力部７４と、コーパス記憶部２５と、応答生成学習処理部２６とである。
【００５４】
学習用応答文入力部３８は、学習用応答文の入力を受ける。学習用応答文は、開発側の人員の操作によって、今回の発話に対する対話の応答として適切になるように予め定められた規則に従って、学習用関連文を修正することによって作成される。今回の発話に対する対話の応答として適切とは、第１の実施形態で説明したような一般的な対話の応答として適切（対話らしい語尾を含む、対話として冗長な部分を含まない、前後の文脈がないと成立しない部分を含まない、または対話らしい助詞を含むなど）であるだけではなく、今回入力された発話文に対する応答として適切である（たとえば不自然な部分を含まないなど）ことである。
【００５５】
コーパス出力部７４は、学習用発話文と学習用関連文と学習用応答文のセットを複数含む学習用コーパスを生成して、コーパス記憶部２５に書込む。コーパス記憶部２５は、学習用コーパスを記憶する。
【００５６】
応答生成学習処理部２６は、学習用コーパスを用いて、発話文および関連文を入力とし、応答文を出力とする応答文生成モデルＢを学習する。応答文生成モデルＢは、発話文も入力とする点において、応答文生成モデルＡと異なる。応答文生成モデルＢは、深層学習のニューラルネットワークと、そのパラメータとからなる。
【００５７】
図９は、第２の実施形態の学習用発話文、学習用関連文、および学習用応答文の例を表わす図である。図９に示すように、学習用発話文「冬越しの貯食をすることで知られている野鳥にヤマガラがいます。」に含まれる「ヤマガラ」を含む文がＷｅｂ１０００から検索されて、学習用関連文「良い天気で雲も少なく、湖の周辺ではヤマガラ、ツグミなど野鳥見ることもできた。」が取得される。そして、学習用関連文から、今回の学習用発話文に対する応答として不自然な部分「良い天気で雲も少なく、」が削除されるとともに、対話らしくない語尾「できた」が応答として相応しい語尾「できますよ」に置き換えられることによって、学習用応答文「湖の周辺ではヤマガラ、ツグミなど野鳥を見ることもできますよ。」が作成される。このような学習用発話文と学習用関連文と学習用応答文とを用いた学習によって、発話文と関連文から、発話に対する応答として適切な応答文を生成する応答文生成モデルＢが生成される。
【００５８】
本実施の形態の対話装置２３が、第１の実施形態の対話装置３と相違する点は、応答文生成部２９である。応答文生成部２９は、対話実行用発話文および対話実行用関連文を学習後の応答文生成モデルＢに入力することによって、対話実行用応答文を生成する。
【００５９】
図１０は、第２の実施形態の対話実行用発話文、対話実行用関連文、および対話実行用応答文の例を表わす図である。図１０に示すように、対話実行用発話文「花粉が飛び始めたようだ。」に含まれる「花粉」を含む文がＷｅｂ１０００から検索されて、対話実行用関連文「花粉で肌がヒリヒリそろそろ、紫外線も強くなってきたので恐々使用することに。」が取得される。そして、対話実行用関連文から、対話実行用発話文に対する応答として不自然な部分「ので恐々使用することに」が削除されるとともに、対話の応答らしくない語尾「なってきた」が対話の応答らしい語尾「なってきましたね」に置き換えられた対話実行用応答文「花粉で肌がヒリヒリそろそろ、紫外線も強くなってきましたね。」が生成される。
【００６０】
図１１は、第２の実施形態の応答生成学習処理部２６の構成を表わす図である。応答生成学習処理部２６は、第１の実施形態と同様に、エンコーダ１５１と、デコーダ１５２とを備え、さらに、エンコーダ１５７と、合成部１５５とを備える。応答生成学習処理部２６は、応答文生成モデルＢの一例であるSequence to Sequence モデルを学習する。
【００６１】
エンコーダ１５７は、時間軸（ｔ＝１〜ｓ）に沿って展開されたリカレントニューラルネットワークを備える。エンコーダ１５７には、学習用発話文が入力される。時刻ｔの入力ベクトルをｘ２（ｔ）、隠れ層のベクトルをｈ２（ｔ）とする。
【００６２】
時刻ｔの隠れ層は、時刻ｔの入力層に入力された学習用発話文の単語を表わす入力ベクトルｘ２（ｔ）を受け取るとともに、時刻（ｔ−１）の隠れ層のベクトルｈ２（ｔ−１）を受け、ベクトルｈ２（ｔ）を時刻（ｔ＋１）の隠れ層に出力する。ただし、時刻１の隠れ層は、入力ベクトルｘ２（１）のみを受け取る。たとえば、時刻１の入力ベクトルｘ２（１）は、「京都」を表わすベクトルであり、時刻２の入力ベクトルｘ２（２）は、「に」を表わすベクトルである。
【００６３】
時刻ｔの重み行列をＵ２（ｔ）、Ｗ２（ｔ）とし、バイアスをｂ、活性化関数をｆとしたときに、以下の式が成り立つ。
【００６４】
h2(1)=f(U2(1)x2(1)+b)…(9)
h2(t)=f(U2(t)x2(t)+W2(t)h2(t-1)+b) （ｔ＝１以外）…(10)
合成部１５５は、エンコーダ１５１の最後の時刻ｍの隠れ層のベクトルｈ１（ｍ）と、エンコーダ１５７の最後の時刻ｓの隠れ層のベクトルｈ２（ｓ）とから１つのベクトルｈｈを生成する。ベクトルｈｈは、たとえば、ｈ１（ｍ）とｈ２（ｓ）を加算したベクトル、重みづけ加算したベクトル、ｈ１（ｍ）の要素とｈ２（ｓ）の要素をすべて含むベクトルとすることができる。
【００６５】
デコーダ１５２は、時刻１の隠れ層が、エンコーダ１５１の最後の時刻ｍの隠れ層のベクトルｈ１（ｍ）に代えて、ベクトルｈｈを受けること以外は、第１の実施形態と同様である。
【００６６】
第１の実施形態と同様に、デコーダ１５２では、出力ベクトルｙ３（１）〜ｙ３（ｎ）で構成される出力文とｘ３（１）〜ｘ３（ｎ）で構成される学習用応答文（教師データ）との誤差が求められる。これらの誤差は、デコーダ１５２内の時刻ｔよりも前の隠れ層、エンコーダ１５１内の隠れ層（時刻ｔ＝１〜ｍ）、およびエンコーダ１５７内の隠れ層（時刻ｔ＝１〜ｓ）に逆伝搬される。デコーダ１５２内の時刻ｔの隠れ層に逆伝搬されてきた誤差の和を最小化するように重み行列Ｗ３（ｔ）、Ｕ３（ｔ）、Ｖ３（ｔ）が更新される。エンコーダ１５１内の時刻ｔの隠れ層に逆伝搬されてきた誤差の和を最小化するようにＷ１（ｔ）、Ｕ１（ｔ）が更新される。エンコーダ１５７内の時刻ｔの隠れ層に逆伝搬されてきた誤差の和を最小化するようにＷ２（ｔ）、Ｕ２（ｔ）が更新される。学習後の応答文生成モデルＢのパラメータである重み行列Ｗ３（ｔ）、Ｕ３（ｔ）、Ｖ３（ｔ）、Ｗ１（ｔ）、Ｕ１（ｔ）、Ｗ２（ｔ）、Ｕ２（ｔ）は、パラメータ記憶部１４に記憶される。
【００６７】
図１２は、第２の実施形態の応答文生成部２９の構成を表わす図である。応答文生成部２９は、第１の実施形態と同様にエンコーダ１５３と、デコーダ１５４とを備えるとともに、エンコーダ１５８と、合成部１５６とを備える。応答文生成部２９は、学習後の応答文生成モデルＢの一例である学習後のSequence to Sequence モデルを用いて、対話実行用応答文を生成する。
【００６８】
図１２において、応答文生成モデルＢの学習後のパラメータである重み行列Ｗ３（ｔ）、Ｕ３（ｔ）、Ｖ３（ｔ）、Ｗ１（ｔ）、Ｕ１（ｔ）、Ｗ２（ｔ）、Ｕ２（ｔ）がパラメータ記憶部１５から読み出されて設定される。これらは、図１１の応答生成学習処理部２６による学習（更新）によって得られたものが用いられる。
【００６９】
エンコーダ１５８は、エンコーダ１５７と同様の時間軸（ｔ＝１〜ｓ）に沿って展開されたリカレントニューラルネットワークを備える。ただし、時刻ｔの入力層に入力される入力ベクトルｘ２（ｔ）は、学習用関連文の単語ではなく、対話実行用発話文の単語である。
【００７０】
合成部１５６は、エンコーダ１５３の最後の時刻ｍの隠れ層のベクトルｈ１（ｍ）と、エンコーダ１５８の最後の時刻ｓの隠れ層のベクトルｈ２（ｓ）とから１つのベクトルｈｈを生成する。ベクトルｈｈは、たとえば、ｈ１（ｍ）とｈ２（ｓ）を加算したベクトル、重みづけ加算したベクトル、ｈ１（ｍ）の要素とｈ２（ｓ）の要素をすべて含むベクトルとすることができる。
【００７１】
デコーダ１５４は、時刻１の隠れ層が、エンコーダ１５１の最後の時刻ｍの隠れ層のベクトルｈ１（ｍ）に代えて、ベクトルｈｈを受けること以外は、第１の実施形態と同様である。
【００７２】
図１３は、第２の実施形態のモデル学習装置２２の動作手順を表わすフローチャートである。
【００７３】
ステップＳ３０１において、発話文入力部１１は、学習用発話文の入力を受ける。
ステップＳ３０２において、関連文取得部１２は、学習用発話文に関連する学習用関連文をテキストデータベースの１種であるＷｅｂ１０００から取得する。
【００７４】
ステップＳ３０３において、学習用応答文入力部１３は、学習用関連文を対話の応答として適切になるように、開発側の人員の操作によって学習用関連文を修正することによって生成された学習用応答文の入力を受ける。
【００７５】
ステップＳ３０４において、ステップＳ３０１〜Ｓ３０３がすべての入力が完了するまで繰り返されることによって、複数セットの学習用発話文と学習用関連文と学習用応答文とが得られる。コーパス出力部７４は、学習用発話文と学習用関連文と学習用応答文のセットを複数含む学習用コーパスを生成して、コーパス記憶部２５に書込む。コーパス記憶部２５は、学習用コーパスを記憶する。
【００７６】
ステップＳ３０５において、応答生成学習処理部２６は、学習用コーパスを用いて、発話文および関連文を入力とし、応答文を出力とする応答文生成モデルＢを学習する。
【００７７】
ステップＳ３０６において、パラメータ記憶部１４は、応答生成学習処理部２６による応答文生成モデルＢの学習後のパラメータを記憶する。
【００７８】
図１４は、第２の実施形態の対話装置２３の動作手順を表わすフローチャートである。
ステップＳ４０１において、応答文生成部２９は、パラメータ記憶部１５に記憶されているモデル学習装置２２による応答文生成モデルＢの学習後のパラメータを読み出す。
【００７９】
ステップＳ４０２において、発話文入力部７は、ユーザから対話実行用発話文の入力を受ける。
【００８０】
ステップＳ４０３において、関連文取得部８は、対話実行用発話文に関連する対話実行用関連文をテキストデータベースの１種であるＷｅｂ１０００から取得する。
【００８１】
ステップＳ４０４において、応答文生成部２９は、読み出したパラメータを用いることによって得られる学習後の応答文生成モデルＢに対話実行用発話文および対話実行用関連文を入力することによって、対話実行用応答文を生成する。
【００８２】
以上のように、本実施の形態によれば、モデル学習装置は、関連文だけでなく発話文も入力に含むモデルを学習するので、対話装置は、そのときの発話文に対して、より適切な応答文を生成することができる。
【００８３】
［第３の実施形態］
図１５は、第３の実施形態の対話応答システム３１の構成を表わす図である。対話応答システム３１は、モデル学習装置３２と、対話装置２３とを備える。
【００８４】
本実施の形態の対話装置２３は、第２の実施形態の対話装置２３と同一である。本実施の形態のモデル学習装置３２が、第２の実施形態のモデル学習装置２２と相違する点は、コーパス生成部３４である。
【００８５】
コーパス生成部３４は、対話データ取得部３９と、関連文取得部４５と、学習用応答文生成部６３と、コーパス出力部８４とを備える。
【００８６】
対話データ取得部３９は、twitterなどの対話データをテキストデータベースの１種であるＷｅｂ１０００から取得する。対話データは、ユーザ発話文と、ユーザ応答文とからなる。
【００８７】
関連文取得部４５は、対話データに含まれるユーザ発話文に関連する文をテキストデータベースの１種であるＷｅｂ１０００から取得して、学習用関連文とする。具体的には、関連文取得部４５は、たとえば、Ｗｅｂ１０００上のデータからユーザ応答文に含まれる少なくとも１つの名詞及びもしくは少なくとも１つの述語が含まれる文を関連文として取得する。すなわち、少なくとも１つの名詞が含まれる文、少なくとも１つの述語が含まれる文、または少なくとも１つの名詞と少なくとも１つの述語が含まれる文が関連文として取得される。つまり、本実施の形態では、学習用関連文は、ユーザ発話文から直接ではなく、ユーザ発話文に対する応答であるユーザ応答文を経由して検索される。
【００８８】
学習用応答文生成部６３は、学習用関連文を対話らしい文に変換した学習用応答文を生成する。具体的には、学習用応答文生成部６３は、対話データを構成するユーザ応答文と学習用関連文とで内容が共通する箇所を抽出することによって、学習用応答文を生成する。学習用応答文生成部６３は、ユーザ応答文から学習用関連文に含まれる名詞及びもしくは述語に関連する箇所を抽出して、学習用応答文とすることができる。すなわち、ユーザ応答文から、学習用関連文に含まれる名詞に関連する箇所、学習用関連文に含まれる述語に関連する箇所、または学習用関連文に含まれる名詞と述語に関連する箇所が抽出される。ここで生成された学習用応答文は、Ｗｅｂ１０００から取得した学習用関連文を対話らしい文に変換したものとみることができる。
【００８９】
コーパス出力部８４は、対話データに含まれるユーザ発話文を学習用発話文とする。コーパス出力部８４は、学習用発話文（図１６参照）と学習用関連文と学習用応答文のセットを複数含む学習用コーパスを生成して、コーパス記憶部２５に書込む。
【００９０】
図１６は、第３の実施形態の対話データ、学習用発話文、学習用関連文、および学習用応答文の例を表わす図である。図１６に示すように、ユーザ発話文「今朝のコスモス！」とユーザ応答文「ありがとうございます。コスモスはなんとなく秋の気配を感じさせてくれますね。」とからなる対話データが取得される。ユーザ応答文に含まれる名詞「コスモス」、名詞「秋の気配」、述語「感じさせ」を含む文がＷｅｂ１０００から検索されて、学習用関連文「コスモスが秋の気配を感じさせる。」が取得される。そして、ユーザ応答文の中から学習用関連文に含まれる名詞「コスモス」、名詞「秋の気配」、述語「感じさせる」に関連する箇所が抽出されることによって、学習用応答文「コスモスは秋の気配を感じさせてくれますね。」が生成される。このように、対話データのユーザ応答文の一部を学習用応答文とすることによって、学習用関連文を学習用発話文に対する応答として適切な形に変形した学習用応答文が得られる。このような学習用発話文と学習用関連文と学習用応答文とを用いた学習によって、発話文と関連文から、発話に対する応答として適切な応答文を生成する応答文生成モデルＢが生成される。
【００９１】
図１７は、第３の実施形態のモデル学習装置３２の動作手順を表わすフローチャートである。
【００９２】
ステップＳ５０１において、対話データ取得部３９は、twitterなどのユーザ発話文とユーザ応答文から構成される対話データをテキストデータベースの１種であるＷｅｂ１００から取得する。ユーザ発話文が学習用発話文となる。
【００９３】
ステップＳ５０２において、関連文取得部４５は、対話データに含まれるユーザ発話文に関連する文をテキストデータベースの１種であるＷｅｂ１０００から取得して、学習用関連文とする。
【００９４】
ステップＳ５０３において、学習用応答文生成部６３は、学習用関連文を対話らしい文に変換した学習用応答文を生成する。
【００９５】
ステップＳ５０４において、ステップＳ５０１〜Ｓ５０３が繰り返されることによって、複数セットの学習用発話文と学習用関連文と学習用応答文とが得られる。コーパス出力部８４は、学習用発話文と学習用関連文と学習用応答文のセットを複数含む学習用コーパスを生成して、コーパス記憶部２５に書込む。コーパス記憶部２５は、学習用コーパスを記憶する。
【００９６】
ステップＳ５０５において、応答生成学習処理部２６は、学習用コーパスを用いて、発話文および関連文を入力とし、応答文を出力とする応答文生成モデルＢを学習する。
【００９７】
ステップＳ５０６において、パラメータ記憶部１４は、応答生成学習処理部６による応答文生成モデルＢの学習後のパラメータを記憶する。
【００９８】
以上のように、本実施の形態によれば、自動で学習用コーパスを生成できるので、大量の学習データを用いて、高精度な応答文生成モデルＢの学習が可能となる。
【００９９】
［第４の実施形態］
図１８は、第４の実施形態の対話応答システム４１の構成を表わす図である。
【０１００】
対話応答システム４１は、モデル学習装置４２と、対話装置４３とを備える。本実施の形態のモデル学習装置４２が、第３の実施形態のモデル学習装置３２と相違する点は、コーパス生成部４４である。
【０１０１】
コーパス生成部４４は、対話データ取得部３９と、関連文取得部２８と、学習用応答文生成部６３と、コーパス出力部８４とを備える。
【０１０２】
対話データ取得部３９、学習用応答文生成部６３、およびコーパス出力部８４は、第３の実施形態と同一なので、説明を繰り返さない。
【０１０３】
関連文取得部２８は、バイナリトリプル生成部５１と、元文取得部５２と、元文ランキング部５３とを備える。関連文取得部２８は、質問・応答システム１０５１のデータベース１０５４に記憶されている文の中から学習用関連文を選択する。
【０１０４】
質問・応答システム１０５１のデータベース１０５４には、Ｗｅｂ１０００から取得された後、パターン別に整理された元文が記憶されている。
【０１０５】
図１９は、データベース１０５４に記憶されている元文の例を表わす図である。図２０は、モデル学習装置４２の関連文取得部２８によって用いられる文の例を表わす図である。
【０１０６】
図１９に示すように、元文を整理するパターンとして、バイナリトリプルが用いられる。バイナリトリプルは、「ＡでＢに行く」のように、２つの変数（Ａ、Ｂ）および述部とからなるバイナリパターンと、（Ａ、Ｂ）＝（お正月、初詣）のように変数Ａ及びＢに相当する単語のペアとを含む。
【０１０７】
バイナリトリプル生成部５１は、対話データに基づいて、バイナリトリプルを生成する。具体的には、バイナリトリプル生成部５１は、対話データのユーザ発話文に含まれるすべての名詞と、対話データのユーザ応答文に含まれるすべての名詞および動詞とに基づいて、バイナリトリプルを生成する。たとえば、図２０に示すように、ユーザ発話文の「お正月でしたね」から名詞「お正月」が抽出され、ユーザ応答文「昨年は初めて京都に初詣に行ったよ！」から名詞「昨年」、名詞「京都」、名詞「初詣」および動詞「行く」が抽出される。バイナリトリプル生成部５１は、バイナリトリプル「ＡはＢに行く、（Ａ、Ｂ）＝（お正月、初詣）」、および「ＡはＢに行く、（Ａ、Ｂ）＝（お正月、京都）」を生成する。
【０１０８】
元文取得部５２は、質問・応答システム１０５１のデータベース１０５４にアクセスして、生成されたバイナリトリプルのパターンに一致する複数個の元文を取得する。たとえば、図２０に示すように、バイナリトリプル「ＡはＢに行く、（Ａ、Ｂ）＝（お正月、初詣）」または「ＡはＢに行く、（Ａ、Ｂ）＝（お正月、京都）」のパターンに一致する３つの元文（元文１、元文２、元文３）が取得される。
【０１０９】
元文ランキング部５３は、予め定められた基準に従って、取得した複数個の元文にランクを付け、ランキングが１位の元文を学習用関連文として出力する。具体的には、元文ランキング部５３は、対話データのユーザ応答文に含まれるトピックワードと述語を多く含む元文ほど、ランクを高く設定する。たとえば、トピックワードは、予め定められたワード以外のワードとすることができる。予め定められたワードは、対話において使用される頻度が高い一般的なワード、言い換えると対話において特徴的な部分でないワードとすることができる。たとえば、図２０に示すように、対話データのユーザ応答文に含まれるトピックワード「京都」および「初詣」と、述語「行ったよ」を最も多く含む元文「お正月は、初詣に京都に行きました」がランキング１位に決定され、学習用関連文として出力される。
【０１１０】
本実施の形態の対話装置４３が、第３の実施形態の対話装置３３と相違する点は、関連文取得部４８である。関連文取得部４８は、質問文生成部５５と、回答及び元文取得部５６と、元文ランキング部５７とを備える。
【０１１１】
図２１は、対話装置４３の関連文取得部４８によって用いられる文の例を表わす図である。ここでは、説明の便宜のため、対話装置４３において、モデル学習装置４２で用いられる例文と同じ例文が用いられる場合について説明する。
【０１１２】
質問文生成部５５は、予め定められた規則に従って、対話実行用発話文を質問形式に変換することによって質問文を生成する。たとえば、図２１に示すように、対話実行用発話文「お正月でしたね」から質問文「お正月は何に行く」が生成される。
【０１１３】
回答及び元文取得部５６は、質問・応答システム１０５１に質問文を送信する。質問・応答システム１０５１は、質問文をバイナリトリプルの形式に変換し、このバイナリトリプルの形式に一致する複数の元文をデータベース１０５４から取り出す。たとえば、質問文「お正月は何に行く」がバイナリトリプル「ＡはＢに行く、（Ａ、Ｂ）＝（お正月、＊）」（＊は任意の名詞）に変換される。図２１に示すように、データベース１０５４からバイナリトリプル「ＡはＢに行く、（Ａ、Ｂ）＝（お正月、＊）」のパターンに一致する３つの元文（元文１、元文２、元文３）が取得される。さらに、質問・応答システム１０５１は、複数の元文に基づいて、質問文に対する回答を生成する。たとえば、複数の元文に含まれるＢのうち、最も多く含まれるものを回答とすることができる。図２１では、３つの元文は、すべてＢとして「初詣」を含むので、「初詣」が回答として生成される。
【０１１４】
質問・応答システム１０５１は、回答と複数の元文を対話装置４３に送信する。回答及び元文取得部５６は、質問・応答システム１０５１から送られる回答および複数の元文を取得する。たとえば、図２１に示すように、回答「初詣」と、３つの元文が取得される。
【０１１５】
元文ランキング部５７は、予め定められた基準に従って、取得した複数個の元文にランクを付け、ランキングが１位の元文を対話実行用関連文として出力する。具体的には、元文ランキング部５７は、トピックワードを多く含む元文ほど、ランクを高く設定する。たとえば、図２１に示すように、トピックワード「お正月」、「初詣」、「京都」を最も多く含む元文「お正月は、初詣に京都に行きました」がランキングが１位の元文に選ばれる。
【０１１６】
図２２は、第４の実施形態のモデル学習装置４２の動作手順を表わすフローチャートである。
【０１１７】
ステップＳ６０１において、対話データ取得部３９は、twitterなどのユーザ発話文とユーザ応答文から構成される対話データをテキストデータベースの１種であるＷｅｂ１０００から取得する。対話データに含まれるユーザ発話文が学習用発話文となる。
【０１１８】
ステップＳ６０２において、バイナリトリプル生成部５１は、対話データに基づいて、バイナリトリプルを生成する。
【０１１９】
ステップＳ６０３において、元文取得部５２は、質問・応答システム１０５１のデータベース１０５４にアクセスして、生成されたバイナリトリプルのパターンに一致する複数個の元文を取得する。
【０１２０】
ステップＳ６０４において、元文ランキング部５３は、予め定められた基準に従って、取得した複数個の元文にランクを付け、ランキングが１位の元文を学習用関連文として出力する。
【０１２１】
ステップＳ６０５において、学習用応答文生成部６３は、学習用関連文を対話らしい文に変換した学習用応答文を生成する。
【０１２２】
ステップＳ６０６において、ステップＳ６０１〜Ｓ６０５が繰り返されることによって複数セットの学習用発話文と学習用関連文と学習用応答文とが得られる。コーパス出力部８４は、学習用発話文と学習用関連文と学習用応答文のセットを複数含む学習用コーパスを生成して、コーパス記憶部２５に書込む。コーパス記憶部２５は、学習用コーパスを記憶する。
【０１２３】
ステップＳ６０７において、応答生成学習処理部２６は、学習用コーパスを用いて、発話文および関連文を入力とし、応答文を出力とする応答文生成モデルＢを学習する。
【０１２４】
ステップＳ６０８において、パラメータ記憶部１４は、応答生成学習処理部２６による応答文生成モデルＢの学習後のパラメータを記憶する。
【０１２５】
図２３は、第４の実施形態の対話装置４３の動作手順を表わすフローチャートである。
ステップＳ７０１において、応答文生成部２９は、パラメータ記憶部１５に記憶されているモデル学習装置４２による応答文生成モデルＢの学習後のパラメータを読み出す。
【０１２６】
ステップＳ７０２において、発話文入力部７は、ユーザから対話実行用発話文の入力を受ける。
【０１２７】
ステップＳ７０３において、質問文生成部５５は、予め定められた規則に従って、対話実行用発話文を質問形式に変換することによって質問文を生成する。
【０１２８】
ステップＳ７０４において、回答及び元文取得部５６は、質問・応答システム１０５１から送られる回答および複数の元文を取得する。
【０１２９】
ステップＳ７０５において、元文ランキング部５７は、予め定められた基準に従って、取得した複数個の元文にランクを付け、ランキングが１位の元文を対話実行用関連文として出力する。
【０１３０】
ステップＳ７０６において、応答文生成部２９は、読み出したパラメータを用いることによって得られる学習後の応答文生成モデルＢに対話実行用発話文および対話実行用関連文を入力することによって、対話実行用応答文を生成する。
【０１３１】
以上のように、本実施の形態によれば、既存の質問・応答システムを利用することによって、発話に対する応答文の質を上げることができる。
【０１３２】
[第５の実施形態］
図２４は、第５の実施形態の対話応答システム８１の構成を表わす図である。対話応答システム８１は、モデル学習装置７８と、対話装置７７とを備える。
【０１３３】
本実施の形態のモデル学習装置７８が、第４の実施形態のモデル学習装置４２と相違する点は、元文ランキング４９と、学習用応答文生成部８３と、コーパス出力部８５と、コーパス記憶部８７と、応答生成学習処理部８６である。
【０１３４】
元文ランキング４９は、予め定められた基準に従って、取得した複数個の元文にランクを付け、ランキングが１位から所定順位までの複数個の元文を複数個の学習用関連文として出力する。
【０１３５】
学習用応答文生成部８３は、複数個の学習用関連文から１つの学習用応答文を生成する。たとえば、学習用応答文生成部８３は、対話データに含まれるユーザ応答文からランキングが１位の学習用関連文に含まれる名詞と動詞に係る箇所のみを抽出して、学習用応答文としてもよい。あるいは、学習用応答文生成部８３は、複数個の学習用関連文を重複部分が繰り返されない形で連結することによって、１つの学習用応答文を生成してもよい。
【０１３６】
コーパス出力部８５は、学習用発話文と複数個の学習用関連文と学習用応答文のセットを複数含む学習用コーパスを生成して、コーパス記憶部８７に書込む。コーパス記憶部８７は、学習用コーパスを記憶する。
【０１３７】
応答生成学習処理部８６は、学習用コーパスを用いて、発話文および複数個の関連文を入力とし、応答文を出力とするモデルＣを学習する。モデルＣは、発話文および複数個の関連文を入力とする点で、応答文生成モデルＡおよびＢと異なる。
【０１３８】
本実施の形態の対話装置７７が、第４の実施形態の対話装置４３と相違する点は、応答文生成部８９である。応答文生成部８９は、対話実行用発話文および複数の対話実行用関連文をモデルＣに入力することによって、対話実行用応答文を生成する。
【０１３９】
図２５は、第５の実施形態の応答生成学習処理部８６の構成を表わす図である。応答文生成部８９の構成も同様である。
【０１４０】
図２５に示すように、応答生成学習処理部８６は、第２の実施形態と同様に、エンコーダ１５１，１５７と、デコーダ１５２とを備え、さらに、エンコーダ３５１，３５２と、合成部３５３とを備える。
【０１４１】
エンコーダ１５１には、複数の関連文のうちの第１関連文が入力される。エンコーダ３５１には、複数の関連文のうちの第２関連文が入力される。エンコーダ３５２には、複数の関連文のうちの第３関連文が入力される。合成部３５３は、エンコーダ１５１，３５１，３５２，１５７のそれぞれの最後の時刻の隠れ層のベクトルから、１つのベクトルｈｈを生成して、デコーダ１５２の時刻１の隠れ層に供給する。エンコーダ１５１，３５１，３５２，１１７と、デコーダ１５２の構成および動作は、第１および第２の実施形態で説明したものと同様なので、説明を繰り返さない。
【０１４２】
以上のように、本実施の形態によれば、本実施の形態によれば、モデル学習装置は、複数の関連文を入力に含むモデルを学習するので、対話装置は、発話文に対して、より適切な応答文を生成することができる。
【０１４３】
［第６の実施形態］
図２６は、第６の実施形態の対話応答システム９１の構成を表わす図である。
【０１４４】
対話応答システム９１は、モデル学習装置７５と、対話装置７６とを備える。
本実施の形態のモデル学習装置７５が、第４の実施形態のモデル学習装置４２と相違する点は、質問文生成部９４と、学習用応答文生成部９３と、コーパス出力部９５と、コーパス記憶部９７と、応答生成学習処理部９６である。
【０１４５】
質問文生成部９４は、ユーザ発話文から学習用質問文を生成する。学習用応答文生成部９３は、学習用関連文を対話らしい文に変換した学習用応答文を生成する。具体的には、学習用応答文生成部９３は、学習用発話文（ユーザ発話文）と、元文ランキング部５３から出力される学習用関連文と、質問文生成部９４から出力される学習用質問文と、元文ランキング部５３から出力されるトピックワードに基づいて、学習用応答文を生成する。たとえば、学習用応答文生成部９３は、対話データに含まれるユーザ応答文から、学習用質問文に含まれる名詞、学習用関連文に含まれる名詞と動詞、およびトピックワードに関係する部分を抽出して、学習用応答文としてもよい。
【０１４６】
コーパス出力部９５は、学習用発話文と、学習用関連文と、学習用質問文と、学習用トピックワードと学習用応答文のセットを複数含む学習用コーパスを生成して、コーパス記憶部９７に書込む。コーパス記憶部９７は、学習用コーパスを記憶する。
【０１４７】
応答生成学習処理部９６は、学習用コーパスを用いて、発話文、関連文、質問文、およびトピックワードを入力とし、応答文を出力とするモデルＤを学習する。モデルＤは、発話文、関連文、質問文、およびトピックワードを入力とする点において、その他のモデルと異なる。
【０１４８】
本実施の形態の対話装置７６が、第４の実施形態の対話装置４３と相違する点は、応答文生成部９９である。応答文生成部９９は、対話実行用発話文、対話実行用関連文、質問文生成部５５から出力される対話実行用質問文、および元文ランキング部５７から出力される対話実行用トピックワードをモデルＤに入力することによって、対話実行用応答文を生成する。
【０１４９】
図２７は、第６の実施形態の応答生成学習処理部９６の構成を表わす図である。応答文生成部９９の構成も同様である。
【０１５０】
図２７に示すように、応答生成学習処理部９６は、第２の実施形態と同様に、エンコーダ１５１、１５７と、デコーダ１５２とを備え、さらに、エンコーダ４５１、４５２と、合成部４５３を備える。
【０１５１】
エンコーダ４５１には、質問文が入力される。エンコーダ４５１には、トピックワードが入力される。合成部４５３は、エンコーダ１５１、１５７、４５１、４５２のそれぞれの最後の時刻の隠れ層のベクトルから、１つのベクトルｈｈを生成して、デコーダ１５２の時刻１の隠れ層に供給する。エンコーダ１５１、１５７、４５１、４５２、デコーダ１５２の構成および動作は、第１および第２の実施形態で説明したものと同様なので、説明を繰り返さない。
【０１５２】
以上のように、本実施の形態によれば、モデル学習装置は、質問文およびトピックワードを入力に含むモデルを学習するので、対話装置は、発話文に対して、より適切な応答文を生成することができる。
【０１５３】
［第７の実施形態］
図２８は、第７の実施形態の対話応答システム５５１の構成を表わす図である。コーパス記憶部５には今までの実施例における処理により得られた学習のためのコーパスが記憶されている。また、関連文取得部８については、例えば図１におけるそれ以前の構成が省略されている。この対話応答システム５５１は、１つの装置がモデルの学習と実際の対話の両方を実行する。対話応答システムは、コーパス記憶部５と、学習制御部５５２と、応答文生成モデルＡと、関連文取得部８とを備える。
【０１５４】
コーパス記憶部５は、第１の実施形態で説明したコーパス記憶部５と同様である。
学習制御部５５２は、応答文生成モデルＡに学習データを与えることによって、応答文生成モデルＡを学習させる。学習データは、コーパス記憶部５に記憶されている学習用関連文（入力）と、学習用応答文（出力）である。学習が完了すると、応答文生成モデルＡのネットワークと、パラメータが保存される。
【０１５５】
関連文取得部８は、第１の実施形態で説明した関連文取得部８と同様である。
対話処理時に、関連文取得部８で取得された対話実行用関連文が学習後の応答文生成モデルＡに入力されることによって、学習結果に基づく対話実行用応答文が生成される。
【０１５６】
図２８の構成によれば、対話を実行するときのデータを利用して、学習を動的に継続実行することができる。すなわち、応答文生成モデルＡから出力される対話実行用応答文を学習用データとしても用いることができる。
【０１５７】
第２〜第６の実施形態も、同様に、１つのモデル学習および対話装置が、モデルの学習と実際の対話の両方を実行するものとしてもよい。
【０１５８】
［第８の実施形態］
図２９は、第８の実施形態の対話応答システム１１００の構成を表わす図である。
【０１５９】
対話応答システム１１００は、モデル学習装置１１２０と、対話装置１１３０とを備える。
【０１６０】
本実施の形態のモデル学習装置１１３０が、第１の実施形態のモデル学習装置２と相違する点は、関連文適合性入力部１１０３と、コーパス出力部１１０４と、適合判定学習処理部１１０５と、パラメータ記憶部１１０６である。
【０１６１】
関連文適合性入力部１１０３は、取得された関連文の適合性を表わす適合度の入力を受ける。たとえば、開発側の人員は、取得された関連文が学習用発話文と話題が同一または類似している場合には、取得された関連文が適合していることを表わす適合度（たとえば、数値「１」）を入力する。開発側の人員は、取得された関連文が学習用発話文と話題が異なる場合には、取得された関連文が適合していないことを表わす適合度（たとえば、数値「０」）を入力する。
【０１６２】
関連文適合性入力部１１０３によって、適合していないことを表わす適合度が入力された関連文（以下、不適合関連文）は、コーパス出力部１１０４に送られる。
【０１６３】
図３０は、不適合関連文の例を説明するための図である。
学習用発話文「修学旅行で奈良に行くんだ」の「修学旅行」および「奈良」を含む文「奈良市内の中学では多くが沖縄への修学旅行を実施。」が関連文として取得される。この文では、「修学旅行」の行先が「沖縄」であると記載しており、学習用発話文と話題がずれている。このような場合に、取得された関連文が不適合関連文と判断される。
【０１６４】
関連文適合性入力部１１０３によって、適合していることを表わす適合度が入力された関連文（以下、適合関連文）は学習用関連文として、学習用応答文入力部１３に送られる。第１の実施形態と同様に、学習用応答文入力部１３が、学習用関連文が対話の応答として適切な形式に修正された学習用応答文の入力を受けて、学習用応答文がコーパス出力部１１０４に送られる。
【０１６５】
コーパス出力部１１０４は、学習用発話文と、関連文と、関連文の適合度の複数のセットを含み、さらに、関連文のうちの適合関連文である学習用関連文と学習用応答文の複数のセットを含む学習用コーパスを生成して、コーパス記憶部１１０８に書込む。
【０１６６】
コーパス記憶部１１０８は、学習用コーパスを記憶する。
図３１は、コーパス記憶部１１０８に記憶されている学習用コーパスの例を表わす図である。
【０１６７】
適合判定学習処理部１１０５は、コーパス記憶部１１０８に記憶されている学習用発話文と、関連文と、適合度を用いて、発話文および関連文を入力に含み、適合度を出力とする適合性判定モデルＸ１を学習する。適合性判定モデルＸ１は、深層学習のニューラルネットワークと、そのパラメータとからなる。
【０１６８】
パラメータ記憶部１１０６は、適合判定学習処理部１１０５による適合性判定モデルＸ１の学習後のパラメータを記憶する。パラメータ記憶部１１０６は、ニューラルネットワークの学習後のパラメータ（重み行列など）を記憶する。パラメータ記憶部１１０６に記憶されている適合性判定モデルＸ１の学習後のパラメータは、図示しない入出力ポートなどを介して外部へ取り出されることができる。
【０１６９】
本実施の形態の対話装置１１３０が、第１の実施形態の対話装置３と相違する点は、パラメータ記憶部１１０７と、関連文適合性判定部１１０１と、関連文選択部１１０２である。
【０１７０】
パラメータ記憶部１１０７は、モデル学習装置１１２０による適合性判定モデルＸ１の学習後のパラメータを記憶する。たとえば、パラメータ記憶部１１０７は、ニューラルネットワークの学習後のパラメータ（重み行列など）を記憶する。モデル学習装置１１２０から外部に取り出された適合性判定モデルＸ１の学習後のパラメータが対話装置１１３０に入力され、パラメータ記憶部１１０７に記憶される。これらのパラメータは、対話装置１１３０の機能を実現するプログラムとともに、ユーザに頒布されるものとしてもよい。
【０１７１】
関連文適合性判定部１１０１は、学習された適合性判定モデルＸ１に、対話実行用発話文および取得した関連文を入力することによって、適合度を生成する。たとえば、関連文としての適合度が高い場合に、生成される適合度が「１」に近い値となり、関連文として適合度が低い場合に、生成される適合度が「０」に近い値となる。
【０１７２】
関連文選択部１１０２は、適合度に従って、関連文取得部８で取得された複数の関連文の中から対話実行用関連文を選択して、応答文生成部９へ出力する。たとえば、適合度が最も「１」に近い関連文が対話実行用関連文として選択される。
【０１７３】
応答文生成部９は、第１の実施形態と同様に、選択された対話実行用関連文を学習後の応答文生成モデルＡに入力することによって、対話実行用応答文を生成する。
【０１７４】
図３２は、第８の実施形態の適合判定学習処理部１１０５および関連文適合性判定部１１０１で用いられる適合性判定モデルＸ１を実現するニューラルネットワークを表わす図である。
【０１７５】
畳み込みニューラルネットワークＣＮＮ１は、第１の入力データである学習用発話文を受ける。畳み込みニューラルネットワークＣＮＮ１は、畳み込み層Ｃ１１と、プーリング層Ｃ１２とを備える。
【０１７６】
第１の入力データである学習用発話文「京都に行きます」がＮ×４の大きさのデータで表される。
【０１７７】
学習用発話文と複数のフィルタとの演算結果によって、畳み込み層Ｃ１１において、Ｍ個の１×３の大きさの第１の畳み込み演算結果と、Ｍ個の１×２の大きさの第２の畳み込み演算結果と、Ｍ個の１×１の大きさの第３の畳み込み演算結果が得られる。
【０１７８】
第１の演算結果、第２の演算結果、第３の演算結果のＭＡＸプーリングによって、プーリング層Ｃ１２において、Ｍ個の第１のプーリング結果、Ｍ個の第２のプーリング結果、Ｍ個の第３のプーリング結果が得られる。ＭＡＸプーリングでは、最大値のみが出力される。
【０１７９】
畳み込みニューラルネットワークＣＮＮ２は、第２の入力データである関連文を受ける。畳み込みニューラルネットワークＣＮＮ２は、畳み込み層Ｃ２１と、プーリング層Ｃ２２とを備える。
【０１８０】
第２の入力データである関連文「京都で花火を楽しむ」がＮ×５の大きさのデータで表される。
【０１８１】
関連文と複数のフィルタとの演算結果によって、畳み込み層Ｃ２１において、Ｍ個の１×４の大きさの第４の畳み込み演算結果と、Ｍ個の１×３の大きさの第５の畳み込み演算結果と、Ｍ個の１×２の大きさの第６の畳み込み演算結果が得られる。
【０１８２】
第４の演算結果、第５の演算結果、第６の演算結果のＭＡＸプーリングによって、プーリング層Ｃ２２において、Ｍ個の第４のプーリング結果、Ｍ個の第５のプーリング結果、Ｍ個の第６のプーリング結果が得られる。
【０１８３】
結合部ＣＯＥ１は、第１〜第６のプーリング結果を結合して、６Ｍ次元の結合ベクトルを生成する。
【０１８４】
多層パーセプトロン５００は、入力層５０１と、中間層５０２と、出力層５０３とを備える。
【０１８５】
６Ｍ次元の結合ベクトルのデータは、入力層５０１に送られる。入力層５０１、中間層５０２及び出力層５０３の演算によって、関連文の適合度が出力される。
【０１８６】
図３３は、畳み込みニューラルネットワークＣＮＮ１における畳み込み演算の詳細を表わす図である。
【０１８７】
畳み込みニューラルネットワークＣＮＮ１では、Ｍ個のＮ×２の大きさのフィルタと、Ｍ個のＮ×３の大きさのフィルタと、Ｍ個のＮ×４の大きさのフィルタとが用いられる。
【０１８８】
Ｎ×４の大きさの学習用発話文と、Ｍ個のＮ×２の大きさのフィルタとの畳み込み演算によって、Ｍ個の１×３の大きさの第１の畳み込み演算結果が得られる。
【０１８９】
Ｎ×４の大きさの学習用発話文と、Ｍ個のＮ×３の大きさのフィルタとの畳み込み演算によって、Ｍ個の１×２の大きさの第２の畳み込み演算結果が得られる。
【０１９０】
Ｎ×４の大きさの学習用発話文と、Ｍ個のＮ×４の大きさのフィルタとの畳み込み演算によって、Ｍ個の１×１の大きさの第３の畳み込み演算結果が得られる。
【０１９１】
図３４は、畳み込みニューラルネットワークＣＮＮ２における畳み込み演算の詳細を表わす図である。
【０１９２】
畳み込みニューラルネットワークＣＮＮ２では、Ｍ個のＮ×２の大きさのフィルタと、Ｍ個のＮ×３の大きさのフィルタと、Ｍ個のＮ×４の大きさのフィルタとが用いられる。
【０１９３】
Ｎ×５の大きさの関連文と、Ｍ個のＮ×２の大きさのフィルタとの畳み込み演算によって、Ｍ個の１×４の大きさの第４の畳み込み演算結果が得られる。
【０１９４】
Ｎ×５の大きさの関連文と、Ｍ個のＮ×３の大きさのフィルタとの畳み込み演算によって、Ｍ個の１×３の大きさの第５の畳み込み演算結果が得られる。
【０１９５】
Ｎ×５の大きさの関連文と、Ｍ個のＮ×４の大きさのフィルタとの畳み込み演算によって、Ｍ個の１×３の大きさの第６の畳み込み演算結果が得られる。
【０１９６】
学習時には、教師データとして、関連文適合性入力部１１０３に入力された適合度が用いられる。誤差逆伝搬法によって、教師データとの誤差が最小となるように、多層パーセプトロン５００の重み、およびフィルタの係数が更新される。学習後の多層パーセプトロン５００の重み、およびフィルタの係数がパラメータ記憶部１１０６に記憶される。パラメータ記憶部１１０６に記憶された学習後の多層パーセプトロン５００の重み、およびフィルタの係数がパラメータ記憶部１１０７に転送される。
【０１９７】
対話応答時には、パラメータ記憶部１１０７に記憶されている学習後の多層パーセプトロン５００の重み、およびフィルタの係数が読み出されて、利用される。多層パーセプトロン５００の出力層５０３から出力される適合度が、関連文選択部１１０２に送られて、関連文の選択に利用される。
【０１９８】
図３５は、第８の実施形態のモデル学習装置１１２０の動作手順を表わすフローチャートである。
【０１９９】
ステップＳ１１０１において、発話文入力部１１は、学習用発話文の入力を受ける。
ステップＳ１１０２において、関連文取得部１２は、学習用発話文に関連する学習用関連文をテキストデータベースの１種であるＷｅｂ１０００から取得する。
【０２００】
ステップＳ１１０３において、関連文適合性入力部１１０３は、取得された関連文の適合性を表わす適合度の入力を受ける。
【０２０１】
ステップＳ１１０４において、入力された適合度が適合していることを表わす値であった場合には（Ｓ１１０４：ＹＥＳ）、処理がステップＳ１１０５に進み、入力された適合度が適合していることを表わす値でなかった場合には（Ｓ１１０４；ＮＯ）、処理がステップＳ１１０６に進む。
【０２０２】
ステップＳ１１０５において、学習用応答文入力部１３は、適合関連文（学習用関連文）を対話の応答として適切になるように、開発側の人員の操作によって学習用関連文を修正することによって生成された学習用応答文の入力を受ける。
【０２０３】
ステップＳ１１０６において、ステップＳ１１０１〜Ｓ１１０５がすべての入力が完了するまで繰り返される。コーパス出力部１１０４は、学習用発話文と、関連文と、関連文の適合度の複数のセットを含み、さらに、関連文のうちの適合関連文である学習用関連文と学習用応答文の複数のセットを含む学習用コーパスを生成して、コーパス記憶部１１０８に書込む。
【０２０４】
ステップＳ１１０７において、適合判定学習処理部１１０５は、学習用コーパスに含まれる学習用発話文と関連文と適合度とを用いて、発話文および関連文を入力とし、適合度を出力とする適合性判定モデルＸ１を学習する。
【０２０５】
ステップＳ１１０８において、パラメータ記憶部１１０６は、適合判定学習処理部１１０５よる適合性判定モデルＸ１の学習後のパラメータを記憶する。
【０２０６】
ステップＳ１１０９において、応答生成学習処理部６は、学習用コーパスに含まれる学習用関連文と学習用応答文を用いて、関連文を入力とし、応答文を出力とする応答文生成モデルＡを学習する。
【０２０７】
ステップＳ１１１０において、パラメータ記憶部１４は、応答生成学習処理部６による応答文生成モデルＡの学習後のパラメータを記憶する。
【０２０８】
図３６は、第８の実施形態の対話装置１１３０の動作手順を表わすフローチャートである。
【０２０９】
ステップＳ１２０１において、応答文生成部９は、パラメータ記憶部１５に記憶されているモデル学習装置１１３０による応答文生成モデルＡの学習後のパラメータを読み出す。
【０２１０】
ステップＳ１２０２において、関連文適合性判定部１１０１は、パラメータ記憶部１１０７に記憶されているモデル学習装置１１３０による適合性判定モデルＸ１の学習後のパラメータを読み出す。
【０２１１】
ステップＳ１２０３において、発話文入力部７は、ユーザから対話実行用発話文の入力を受ける。
【０２１２】
ステップＳ１２０４において、関連文取得部８は、対話実行用発話文に関連する複数の関連文をテキストデータベースの１種であるＷｅｂ１０００から取得する。
【０２１３】
ステップＳ１２０５において、関連文適合性判定部１１０１は、読み出したパラメータを用いることによって得られる学習後の適合性判定モデルＸ１に、対話実行用発話文および取得した関連文を入力することによって、適合度を生成する。
【０２１４】
ステップＳ１２０６において、関連文選択部１１０２は、適合度に従って、関連文取得部８で取得された複数の関連文の中から対話実行用関連文を選択して、応答文生成部９へ出力する。
【０２１５】
ステップＳ１２０７において、応答文生成部９は、読み出したパラメータを用いることによって得られる学習後の応答文生成モデルＡに対話実行用関連文を入力することによって、対話実行用応答文を生成する。
【０２１６】
以上のように、本実施の形態によれば、関連文取得部で取得した関連文の話題が発話文の話題がずれている場合に、そのような関連文を応答文の生成に利用しないようにすることができる。
【０２１７】
なお、本実施の形態では、第１の実施の形態の対話応答システムに、話題が相違する関連文から応答文が生成されるのを防止する機能を追加するものとしたが、これに限定するものではない。第２〜第７の実施形態の対話応答システムにも同様に追加することができる。
【０２１８】
また、本実施の形態では、適合関連文から応答文を生成することとしたが、これに限定するものではない。発話文に対する応答文として適合関連文を直接用いるものとしてもよい。
【０２１９】
［第９の実施形態］
図３７は、第９の実施形態の対話応答システム１２００の構成を表わす図である。
【０２２０】
対話応答システム１２００は、モデル学習装置１２２０と、対話装置１２３０とを備える。
【０２２１】
本実施の形態のモデル学習装置１２２０が、第３の実施形態のモデル学習装置３２と相違する点は、関連文取得部１２０１と、適合度付与部１２０３と、コーパス出力部１１０４と、コーパス記憶部１１０８と、適合判定学習処理部１１０５と、パラメータ記憶部１１０６である。
【０２２２】
関連文取得部１２０１は、対話データに含まれるユーザ発話文に関連する文をテキストデータベースの１種であるＷｅｂ１０００から取得する。具体的には、関連文取得部１２０１は、たとえば、Ｗｅｂ１０００上のデータからユーザ応答文に含まれる少なくとも１つの名詞及びもしくは少なくとも１つの述語が含まれる文を適合関連文（学習用関連文）として取得する。関連文取得部１２０１は、たとえば、Ｗｅｂ１０００上のデータからユーザ応答文に含まれる１つの名詞を含み、ユーザ応答文に含まれない少なくとも１つの名詞を含む文を不適合関連文として取得する。
【０２２３】
図３８は、第９の実施形態の対話データ、学習用発話文、学習用関連文、および学習用応答文の例を表わす図である。図３８に示すように、ユーザ発話文「今朝のコスモス！」とユーザ応答文「ありがとうございます。コスモスはなんとなく秋の気配を感じさせてくれますね。」とからなる対話データが取得される。
【０２２４】
ユーザ応答文に含まれる名詞「コスモス」、名詞「秋の気配」、述語「感じさせ」を含む文がＷｅｂ１０００から検索されて、適合関連文（学習用関連文）「コスモスが秋の気配を感じさせる。」が取得される。
【０２２５】
また、ユーザ応答文に含まれる名詞「コスモス」を含み、ユーザ応答文に含まれない名詞「育て方」を含む文がＷｅｂ１０００から検索されて、不適合関連文「コスモスの育て方は難しい。」が取得される。
【０２２６】
適合度付与部１２０３は、取得された関連文の適合性を表わす適合度を付与する。適合度付与部１２０３は、取得された適合関連文に対して、適合していることを表わす適合度（たとえば、数値「１」）を付与する。適合度付与部１２０３は、取得された不適合関連文に対して、適合していないことを表わす適合度（たとえば、数値「０」）を付与する。
【０２２７】
適合していないことを表わす適合度が付与された不適合関連文は、コーパス出力部１１０４に送られる。
【０２２８】
適合していることを表わす適合度が付与された適合関連文は学習用関連文として、学習用応答文生成部６３に送られる。第３の実施形態と同様に、学習用応答文生成部６３が、学習用関連文が対話の応答として適切な形式に修正された学習用応答文を生成して、学習用応答文がコーパス出力部１１０４に送られる。
【０２２９】
コーパス出力部１１０４と、コーパス記憶部１１０８と、適合判定学習処理部１１０５と、パラメータ記憶部１１０６は、第８の実施形態で説明したものと同様なので説明を繰り返さない。
【０２３０】
本実施の形態の対話装置１２３０が、第３の実施形態の対話装置２３と相違する点は、対話装置１２３０が、関連文適合性判定部１１０１と、関連文選択部１１０２とを備える点である。
【０２３１】
関連文適合性判定部１１０１と、関連文選択部１１０２は、第８の実施形態で説明したものと同様なので説明を繰り返さない。
【０２３２】
図３９は、第９の実施形態のモデル学習装置１２２０の動作手順を表わすフローチャートである。
【０２３３】
ステップＳ１３０１において、対話データ取得部３９は、twitterなどのユーザ発話文とユーザ応答文から構成される対話データをテキストデータベースの１種であるＷｅｂ１０００から取得する。ユーザ発話文が学習用発話文となる。
【０２３４】
ステップＳ１３０２において、関連文取得部１３０２は、Ｗｅｂ１０００上のデータから適合関連文（学習用関連文）と不適合関連文とを取得する。
【０２３５】
ステップＳ１３０３において、適合度付与部１２０３は、取得された関連文（適合関連文と不適合関連文）の適合性を表わす適合度を付与する。
【０２３６】
ステップＳ１３０４において、付与された適合度が適合していることを表わす値であった場合には（Ｓ１３０４：ＹＥＳ）、処理がステップＳ１３０５に進み、付与された適合度が適合していることを表わす値でなかった場合には（Ｓ１３０４；ＮＯ）、処理がステップＳ１３０６に進む。
【０２３７】
ステップＳ１３０５において、学習用応答文生成部６３は、学習用関連文を対話らしい文に変換した学習用応答文を生成する。
【０２３８】
ステップＳ１３０６において、ステップＳ１３０１〜Ｓ１３０５がすべての入力が完了するまで繰り返される。コーパス出力部１１０４は、学習用発話文と、関連文と、関連文の適合度のセットを複数含み、さらに、関連文のうちの適合関連文である学習用関連文と学習用応答文のセットを複数含む学習用コーパスを生成して、コーパス記憶部１１０８に書込む。
【０２３９】
ステップＳ１３０７において、適合判定学習処理部１１０５は、学習用コーパスに含まれる学習用発話文と関連文と適合度とを用いて、発話文および関連文を入力とし、適合度を出力とする適合性判定モデルＸ１を学習する。
【０２４０】
ステップＳ１３０８において、パラメータ記憶部１１０６は、適合判定学習処理部１１０５よる適合性判定モデルＸ１の学習後のパラメータを記憶する。
【０２４１】
ステップＳ１３０９において、応答生成学習処理部２６は、学習用コーパスに含まれる学習用発話文と学習用関連文と学習用応答文を用いて、発話文と関連文を入力とし、応答文を出力とする応答文生成モデルＢを学習する。
【０２４２】
ステップＳ１３１０において、パラメータ記憶部１４は、応答生成学習処理部２６による応答文生成モデルＢの学習後のパラメータを記憶する。
【０２４３】
以上のように、本実施の形態では、人手によらずに自動で、応答文を生成し、関連文の適合度を設定することができる。
【０２４４】
［第１０の実施形態］
図４０は、第１０の実施形態の対話応答システム１３００の構成を表わす図である。
【０２４５】
対話応答システム１３００は、モデル学習装置１３２０と、対話装置１３３０とを備える。
【０２４６】
本実施の形態のモデル学習装置１３２０が、第１の実施形態のモデル学習装置２と相違する点は、トピック生成部１３３８と、関連文取得部１３０９と、トピック適合性入力部１３０３と、コーパス出力部１３０４と、コーパス記憶部１３０８と、適合判定学習処理部１３０５と、パラメータ記憶部１３０６である。本実施の形態の対話装置１３３０が、第１の実施形態の対話装置３との相違する点は後ほど説明する。
【０２４７】
図４１は、学習用発話文、検索トピック、関連文、適合度の例を表わす図である。以下、図４１を参照して、トピック生成部１３３８、関連文取得部１３０９、トピック適合性入力部１３０３の動作を説明する。
【０２４８】
トピック生成部１３３８は、学習用発話文に含まれ、かつ予め定められた除外名詞以外の名詞を抽出して、複数の検索トピックを生成する。
【０２４９】
図４１に示すように、トピック生成部１３３８は、学習用発話文「修学旅行で奈良に行くんだ」から名詞「修学旅行」と「奈良」を抽出する。トピック生成部１３３８は、第１検索トピックとして、トピック「修学旅行」を生成する。トピック生成部１３３８は、第２検索トピックとして、トピック「奈良」を生成する。トピック生成部１３３８は、第３検索トピックとして、主トピック「修学旅行」、および副トピック「奈良」を生成する。トピック生成部１３３８は、第４検索トピックとして、主トピック「奈良」、および副トピック「修学旅行」を生成する。
【０２５０】
関連文取得部１３０９は、トピック生成部１３３８で生成された各検索トピックを用いて、テキストデータベースの１種であるＷｅｂ１０００から関連文を取得する。
【０２５１】
図４１に示すように、関連文取得部１３０９は、第１検索トピックを用いて、「修学旅行」を含む複数の関連文を取得する。たとえば、関連文１−１〜関連文１−４の４個の関連文が取得される。
【０２５２】
関連文取得部１３０９は、第２検索トピックを用いて、「奈良」を含む複数の関連文を取得する。たとえば、たとえば、関連文２−１〜関連文２−４の４個の関連文が取得される。
【０２５３】
関連文取得部１３０９は、第３検索トピックを用いて、述部に直接係る主トピック「修学旅行」を含み、かつ述部に直接係らない副トピック「奈良」を含む複数の関連文を取得する。たとえば、関連文３−１〜関連文３−４の４個の関連文が取得される。述部に直接係るとは、述部と格助詞によって結ばれていることを意味する。
【０２５４】
関連文取得部１３０９は、第４検索トピックを用いて、述部に直接係る主トピック「奈良」を含み、かつ述部に直接係らない副トピック「修学旅行」を含む複数の関連文を取得する。たとえば、関連文４−１〜関連文４−４の４個の関連文が取得される。
【０２５５】
トピック適合性入力部１３０３は、関連文の取得に用いた検索トピックの適合性を表わす適合度の入力を受ける。開発側の人員は、各検索トピックを用いて取得された関連文が学習用発話文と話題が同一または類似している場合には、その検索トピックが適合していることを表わす適合度（たとえば、数値「１」）を入力し、話題が異なる場合には、その検索トピックが適合していないことを表わす適合度（たとえば、数値「０」）を入力する。
【０２５６】
図４１に示すように、第１検索トピックを用いて検索された関連文１−１が学習用発話文と話題が同一または類似し、かつ第１検索トピックを用いて検索された関連文１−２、１−３、１−４が学習用発話文と話題が異なるときには、第１検索トピックの適合度として「１」、「０」、「０」、「０」が入力される。
【０２５７】
トピック適合性入力部１３０３によって生成された学習用発話文と、検索トピックと、適合度との関係は、コーパス出力部１３０４に送られる。
【０２５８】
トピック適合性入力部１３０３によって、適合していないことを表わす適合度が入力された関連文（以下、不適合関連文）は、学習用応答文入力部１３に送られない。
【０２５９】
トピック適合性入力部１３０３によって、適合していることを表わす適合度が入力された関連文（以下、適合関連文）は学習用関連文として、学習用応答文入力部１３に送られる。第１の実施形態と同様に、学習用応答文入力部１３が、学習用関連文が対話の応答として適切な形式に修正された学習用応答文の入力を受けて、学習用応答文がコーパス出力部１３０４に送られる。図４１の例では、関連文１−１、関連文２−２、関連文３−１、関連文３−２、関連文３−３、関連文４−２、関連文４−３が学習用応答文入力部１３に送られる。
【０２６０】
コーパス出力部１３０４は、学習用発話文と検索トピックと適合度の複数のセット、および学習用関連文と学習用応答文の複数のセットを含む学習用コーパスを生成して、コーパス記憶部１３０８に書込む。
【０２６１】
コーパス記憶部１３０８は、学習用コーパスを記憶する。
図４２（ａ）は、コーパス記憶部１３０８に記憶されている学習用コーパスのうちの学習用関連文と学習用応答文の複数のセットの例を表わす図である。図４２（ｂ）は、コーパス記憶部１３０８に記憶されている学習用コーパスのうちの学習用発話文と検索トピックと適合度の複数のセットの例を表わす図である。
【０２６２】
適合判定学習処理部１３０５は、学習用発話文と、検索トピックと、適合度を用いて、発話文および、検索トピックを入力に含み、適合度を出力とする適合性判定モデルＸ２を学習する。適合性判定モデルＸ２は、深層学習のニューラルネットワークと、そのパラメータとからなる。
【０２６３】
図４１の例では、たとえば、「修学旅行で奈良に行くんだ」および「修学旅行」を入力とし、「１」を出力とする学習１、「修学旅行で奈良に行くんだ」および「修学旅行」を入力とし、「０」を出力とする学習２、「修学旅行で奈良に行くんだ」および「修学旅行」を入力とし、「０」を出力とする学習３、「修学旅行で奈良に行くんだ」および「修学旅行」を入力とし、「０」を出力とする学習４が行われる。他の検索トピックについても同様である。
【０２６４】
パラメータ記憶部１３０６は、は、適合判定学習処理部１３０５による適合性判定モデルＸ２の学習後のパラメータを記憶する。パラメータ記憶部１３０６は、ニューラルネットワークの学習後のパラメータ（重み行列など）を記憶する。パラメータ記憶部１３０６に記憶されている適合性判定モデルＸ２の学習後のパラメータは、図示しない入出力ポートなどを介して外部へ取り出されることができる。
【０２６５】
本実施の形態の対話装置１３３０が、第１の実施形態の対話装置３と相違する点は、パラメータ記憶部１３０７と、トピック生成部１３６８と、トピック適合性判定部１３１２と、検索トピック選択部１３４９と、関連文取得部１３４１である。
【０２６６】
パラメータ記憶部１３０７は、モデル学習装置１３２０による適合性判定モデルＸ２の学習後のパラメータを記憶する。たとえば、パラメータ記憶部１３０７は、ニューラルネットワークの学習後のパラメータ（重み行列など）を記憶する。モデル学習装置１３２０から外部に取り出された適合性判定モデルＸ２の学習後のパラメータが対話装置１３３０に入力され、パラメータ記憶部１３０７に記憶される。これらのパラメータは、対話装置１３３０の機能を実現するプログラムとともに、ユーザに頒布されるものとしてもよい。
【０２６７】
トピック生成部１３６８は、トピック生成部１３３８と同様に、対話実行用発話文に含まれ、かつ予め定められた除外名詞以外の名詞を抽出して、複数の検索トピックを生成する。仮に、対話実行用発話文が、図３９の学習用発話文「修学旅行で奈良に行くんだ」と同じ場合には、トピック生成部１３６８は、名詞「修学旅行」と「奈良」を抽出する。トピック生成部１３６８は、第１検索トピックとして、トピック「修学旅行」を生成する。トピック生成部１３６８は、第２検索トピックとして、トピック「奈良」を生成する。トピック生成部１３６８は、第３検索トピックとして、主トピック「修学旅行」、および副トピック「奈良」を生成する。トピック生成部１３６８は、第４検索トピックとして、主トピック「奈良」、および副トピック「修学旅行」を生成する。
【０２６８】
トピック適合性判定部１３１２は、生成された複数の検索トピックの適合性を判定する。すなわち、トピック適合性判定部１３１２は、学習された適合性判定モデルＸ２に、対話実行用発話文および各検索トピックを入力することによって、適合度を生成する。たとえば、出力される適合度は、検索トピックの適合度が高い場合に、「１」に近い値となり、検索トピックの適合度が低い場合に「０」に近い値となる。
【０２６９】
検索トピック選択部１３４９は、複数の検索トピックの中から適合度が最も高い検索トピックを選択して、関連文取得部１３４１へ出力する。
【０２７０】
関連文取得部１３４１は、選択された検索トピックを用いて、テキストデータベースの１種であるＷｅｂ１０００から１つの関連文を取得する。関連文取得部１３４１は、適合度が最も高い検索トピックが主トピックと副トピックから構成される場合には、述部に直接係る主トピックを含み、かつ述部に直接係らない副トピックを含む１つの関連文を取得する。
【０２７１】
図４３は、第１０の実施形態の適合判定学習処理部１３０５およびトピック適合性判定部１３１２で用いられる適合性判定モデルＸ２を実現するニューラルネットワークを表わす図である。
【０２７２】
畳み込みニューラルネットワークＣＮＮ３は、第１の入力データである学習用発話文を受ける。畳み込みニューラルネットワークＣＮＮ３は、畳み込み層Ｃ３１と、プーリング層Ｃ３２とを備える。
【０２７３】
第１の入力データである学習用発話文「修学旅行で奈良に行くんだ」がＮ×６の大きさのデータで表される。
【０２７４】
学習用発話文と複数のフィルタとの演算結果によって、畳み込み層Ｃ３１において、Ｍ個の１×５の大きさの第１の畳み込み演算結果と、Ｍ個の１×４の大きさの第２の畳み込み演算結果と、Ｍ個の１×３の大きさの第３の畳み込み演算結果が得られる。
【０２７５】
第１の演算結果、第２の演算結果、第３の演算結果のＭＡＸプーリングによって、プーリング層Ｃ３２において、Ｍ個の第１のプーリング結果、Ｍ個の第２のプーリング結果、Ｍ個の第３のプーリング結果が得られる。
【０２７６】
畳み込みニューラルネットワークＣＮＮ４は、第２の入力データである検索トピックを受ける。畳み込みニューラルネットワークＣＮＮ４は、畳み込み層Ｃ４１と、プーリング層Ｃ４２とを備える。
【０２７７】
第２の入力データである検索トピック「修学旅行  奈良」がＮ×２の大きさのデータで表される。
【０２７８】
検索トピックと複数のフィルタとの演算結果によって、畳み込み層Ｃ４１において、Ｍ個の１×２の大きさの第４の畳み込み演算結果と、Ｍ個の１×１の大きさの第５の畳み込み演算結果が得られる。
【０２７９】
第４の演算結果、第５の演算結果のＭＡＸプーリングによって、プーリング層Ｃ４２において、Ｍ個の第４のプーリング結果、Ｍ個の第５のプーリング結果が得られる。
【０２８０】
結合部ＣＯＥ２は、第１〜第５のプーリング結果を結合して、５Ｍ次元の結合ベクトルを生成する。
【０２８１】
多層パーセプトロン６００は、入力層６０１と、中間層６０２と、出力層６０３とを備える。
【０２８２】
５Ｍ次元の結合ベクトルのデータは、入力層６０１に送られる。入力層６０１、中間層６０２及び出力層６０３の演算によって、検索トピックの適合度が出力される。
【０２８３】
図４４は、畳み込みニューラルネットワークＣＮＮ３における畳み込み演算の詳細を表わす図である。
【０２８４】
畳み込みニューラルネットワークＣＮＮ３では、Ｍ個のＮ×２の大きさのフィルタと、Ｍ個のＮ×３の大きさのフィルタと、Ｍ個のＮ×４の大きさのフィルタとが用いられる。
【０２８５】
Ｎ×６の大きさの学習用発話文と、Ｍ個のＮ×２の大きさのフィルタとの畳み込み演算によって、Ｍ個の１×５の大きさの第１の畳み込み演算結果が得られる。
【０２８６】
Ｎ×６の大きさの学習用発話文と、Ｍ個のＮ×３の大きさのフィルタとの畳み込み演算によって、Ｍ個の１×４の大きさの第２の畳み込み演算結果が得られる。
【０２８７】
Ｎ×６の大きさの学習用発話文と、Ｍ個のＮ×４の大きさのフィルタとの畳み込み演算によって、Ｍ個の１×３の大きさの第３の畳み込み演算結果が得られる。
【０２８８】
図４５は、畳み込みニューラルネットワークＣＮＮ４における畳み込み演算の詳細を表わす図である。
【０２８９】
畳み込みニューラルネットワークＣＮＮ４では、Ｍ個のＮ×１の大きさのフィルタと、Ｍ個のＮ×２の大きさのフィルタとが用いられる。
【０２９０】
Ｎ×２の大きさの検索用トピックと、Ｍ個のＮ×１の大きさのフィルタとの畳み込み演算によって、Ｍ個の１×２の大きさの第４の畳み込み演算結果が得られる。
【０２９１】
Ｎ×２の大きさの検索用トピックと、Ｍ個のＮ×２の大きさのフィルタとの畳み込み演算によって、Ｍ個の１×１の大きさの第５の畳み込み演算結果が得られる。
【０２９２】
学習時には、教師データとして、トピック適合性入力部１３０３に入力された適合度が用いられる。誤差逆伝搬法によって、教師データとの誤差が最小となるように、多層パーセプトロン６００の重み、およびフィルタの係数が更新される。学習後の多層パーセプトロン６００の重み、およびフィルタの係数がパラメータ記憶部１３０６に記憶される。パラメータ記憶部１３０６に記憶された学習後の多層パーセプトロン６００の重み、およびフィルタの係数がパラメータ記憶部１３０７に転送される。
【０２９３】
対話応答時には、パラメータ記憶部１３０７に記憶されている学習後の多層パーセプトロン６００の重み、およびフィルタの係数が読み出されて、利用される。多層パーセプトロン６００の出力層６０３から出力される適合度が、検索トピック選択部１３４９に送られて、検索トピックの選択に利用される。
【０２９４】
図４６は、第１０の実施形態のモデル学習装置１３２０の動作手順を表わすフローチャートである。
【０２９５】
ステップＳ１４０１において、発話文入力部１１は、学習用発話文の入力を受ける。
ステップＳ１４０２において、トピック生成部１３３８は、学習用発話文に含まれ、かつ予め定められた除外名詞以外の名詞を抽出して、複数の検索トピックを生成する。
【０２９６】
ステップＳ１４０３において、関連文取得部１３０９は、トピック生成部１３３８で生成された各検索トピックを用いて、テキストデータベースの１種であるＷｅｂ１０００から関連文を取得する。
【０２９７】
ステップＳ１４０４において、トピック適合性入力部１３０３は、関連文の取得に用いた検索トピックの適合性を表わす適合度の入力を受ける。
【０２９８】
ステップＳ１４０５において、入力された適合度が適合していることを表わす値であった場合には（Ｓ１４０５：ＹＥＳ）、処理がステップＳ１４０６に進み、入力された適合度が適合していることを表わす値でなかった場合には（Ｓ１４０５；ＮＯ）、処理がステップＳ１４０７に進む。
【０２９９】
ステップＳ１４０６において、学習用応答文入力部１３は、適合関連文（学習用関連文）を対話の応答として適切になるように、開発側の人員の操作によって学習用関連文を修正することによって生成された学習用応答文の入力を受ける。
【０３００】
ステップＳ１４０７において、ステップＳ１４０１〜Ｓ１４０６がすべての入力が完了するまで繰り返される。コーパス出力部１３０４は、学習用発話文と検索トピックと適合度の複数のセット、および学習用関連文と学習用応答文の複数のセットを含む学習用コーパスを生成して、コーパス記憶部１３０８に書込む。
【０３０１】
ステップＳ１４０８において、適合判定学習処理部１３０５は、学習用コーパスに記憶されている学習用発話文と、検索トピックと、適合度を用いて、発話文および検索トピックを入力に含み、適合度を出力とする適合性判定モデルＸ２を学習する。
【０３０２】
ステップＳ１４０９において、パラメータ記憶部１３０６は、適合判定学習処理部１３０５よる適合性判定モデルＸ２の学習後のパラメータを記憶する。
【０３０３】
ステップＳ１４１０において、応答生成学習処理部６は、学習用コーパスに記憶されている学習用関連文と学習用応答文とを用いて、関連文を入力とし、応答文を出力とする応答文生成モデルＡを学習する。
【０３０４】
ステップＳ１４１１において、パラメータ記憶部１４は、応答生成学習処理部６による応答文生成モデルＡの学習後のパラメータを記憶する。
【０３０５】
図４７は、第１０の実施形態の対話装置１３３０の動作手順を表わすフローチャートである。
【０３０６】
ステップＳ１５０１において、応答文生成部９は、パラメータ記憶部１５に記憶されているモデル学習装置１３３０による応答文生成モデルＡの学習後のパラメータを読み出す。
【０３０７】
ステップＳ１５０２において、トピック適合性判定部１３１２は、パラメータ記憶部１３０７に記憶されているモデル学習装置１３３０による適合性判定モデルＸ２の学習後のパラメータを読み出す。
【０３０８】
ステップＳ１５０３において、発話文入力部７は、ユーザから対話実行用発話文の入力を受ける。
【０３０９】
ステップＳ１５０４において、トピック生成部１３６８は、対話実行用発話文に含まれ、かつ予め定められた除外名詞以外の名詞を抽出して、複数種の検索トピックを生成する。
【０３１０】
ステップＳ１５０５において、トピック適合性判定部１３１２は、読み出したパラメータを用いることによって得られる学習後の適合性判定モデルＸ２に、対話実行用発話文および各検索トピックを入力することによって、適合度を生成する。
【０３１１】
ステップＳ１５０６において、検索トピック選択部１３４９は、適合度に従って、複数の検索トピックの中から１つの検索トピックを選択して、関連文取得部１３４１へ出力する。
【０３１２】
ステップＳ１５０７において、関連文取得部１３４１は、選択した検索トピックを用いて検索することによって、対話実行用発話文に関連する１つの関連文をテキストデータベースの１種であるＷｅｂ１０００から取得する。
【０３１３】
ステップＳ１５０８において、応答文生成部９は、読み出したパラメータを用いることによって得られる学習後の応答文生成モデルＡに対話実行用関連文を入力することによって、対話実行用応答文を生成する。
【０３１４】
以上のように、本実施の形態によれば、関連文取得部で取得する際に用いる検索トピックが不適切な場合に、そのような検索トピックを用いて関連文が取得されないようにすることができる。
【０３１５】
なお、本実施の形態では、第１の実施の形態の対話応答システムに、不適切な検索トピックから関連文が取得されるのを防止する機能を追加するものとしたが、これに限定するものではない。第２〜第８の実施形態の対話応答システムにも同様に追加することができる。
【０３１６】
また、本実施の形態では、適合度が高い検索トピックを用いて取得した関連文から応答文を生成することとしたが、これに限定するものではない。発話文に対する応答文としてて、適合度が高い検索トピックを用いて取得した関連文を直接用いるものとしてもよい。
【０３１７】
［第１１の実施形態］
上述の実施形態に係るモデル学習装置および対話装置の構成要素は、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。
【０３１８】
図４８は、モデル学習装置または対話装置の内部構成を表わす図である。
図４８を参照して、モデル学習装置または対話装置は、バス３３００と、ＣＰＵ（Central Processing Unit）３３０１と、ＲＯＭ（Read Only Memory）３３０２と、ＲＡＭ（Random Access Memory）３３０３と、ＨＤＤ（Hard Disk Drive）３３０４と、ＤＶＤ（Digital Versatile Disk）３３０７が接続されたＤＶＤドライブ３３０６と、ネットワークＩ／Ｆ３３０９と、キーボード３３１０と、マウス３３１１と、リムーバブルメモリ３３１３が接続されるメモリポート３３１２と、ディスプレイ３３０８とを備える。
【０３１９】
キーボード３３１０およびマウス３３１１は、開発側の人員またはユーザからの入力を受け付ける。上述の実施形態で説明した機能をコンピュータで実現するためのモデル学習プログラムまたは対話プログラムは、ＤＶＤ３３０７、リムーバブルメモリ３３１３、ネットワークＩ／Ｆ３３０９からＨＤＤ３３０４に転送される。ＲＯＭ３３０２は、たとえば起動プログラム等を記憶する。ＲＡＭ３３０３は、実行中のプログラムやその作業データなどを記憶する。ネットワークＩ／Ｆ３３０９は、インターネット３４００に接続され、Ｗｅｂ１０００上のデータを取得することができる。
【０３２０】
［変形例］
本発明は、上記の実施形態に限定されるものではない。本発明は、以下のような変形例も含まれる。
【０３２１】
（１）上記の実施形態では、関連文検索部は、Ｗｅｂに掲載された文を検索することとしたが、これに限定されるものではない。モデル学習装置の関連文検索部は、モデル学習装置で利用する目的以外の目的で作成され、かつ公衆が利用可能なデータに含まれる文を検索することとしてもよい。対話装置の関連文検索部は、対話で利用する目的以外の目的で作成され、かつ公衆が利用可能なデータに含まれる文を検索することとしてもよい。これによって、Ｗｅｂではなく、ＤＶＤまたＣＤに記録されて頒布される新聞データなどに含まれる文も関連文として利用することができる。
【０３２２】
（２）パラメータ記憶部１４，１５には、重み行列だけでなく、バイアスｂ、ｃ、活性化関数ｆ、ｇのようなパラメータも記憶されるものとしてもよい。
【０３２３】
（３）応答文を出力するモデルの一例として、リカレントニューラルネットワークで構成されるモデルを用いたが、これに限定されるものではなく、リカレントニューラルネットワーク以外のニューラルネットワークを用いたモデルを用いてもよい。関連文および検検索トピックを判定するモデルの一例として、畳み込みニューラルネットワークと多層パーセプトロンで構成されるモデルを用いたが、これに限定されるものではない。
【０３２４】
（４）元文に対して、例えばエモーションに関するタグを付すなどの前処理を施して、タグ情報とともに学習を実行することもできる。これにより、感情に基づいた出力を行う対話応答システムを構築することもできる。
【０３２５】
（５）質問文を入力とし、その質問文に対するアドバイスおよび回答を表す応答文を出力とするモデルを学習し、質問文に対してアドバイスおよび回答を出力する対話応答システムを構築することもできる。
【０３２６】
（６）第１〜第６の実施形態では、モデル学習装置がモデル（ニューラルネットワーク）の学習後のパラメータを対話装置に供給するものとしたが、これに限定するものではない。モデル学習装置が、モデル自体を表わすデータ、すなわちエンコーダおよびデコーダを構成するニューラルネットワークの構成、およびそのニューラルネットワークの学習後のパラメータを対話装置に供給するものとしてもよい。対話装置は、供給されたモデル自体を表わすデータに基づいて、モデルを構築することによって、対話実行用応答文を生成する。第８〜１０の実施形態でも同様である。
【０３２７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０３２８】
１，２１，３１，４１，８１，９１，５５１，１１００，１２００，１３００  対話応答システム、２，２２，３２，４２，７５，７８，１１２０，１２２０，１３２０  モデル学習装置、３，２３，４３，７６，７７，１１３０，１２３０，１３３０  対話装置、４，２４，３４，４４，８２，９２，１１４０，１２４０，１３４０  コーパス生成部、５，２５，８７，９７，１１０８，１３０８  コーパス記憶部、６，２６，８６  応答生成学習処理部、７，１１  発話文入力部、８，１２，２８，４５，４８，１２０１，１３４１  関連文取得部、９，２９，８９  応答文生成部、１３，３８  学習用応答文入力部、１４，１５，１１０６，１１０７，１３０６，１３０７  パラメータ記憶部、３９  対話データ取得部、３３，６３，８３，９３  学習用応答文生成部、  ４９，５３，５７  元文ランキング部、５１  バイナリトリプル生成部、５２  元文取得部、５５  質問文生成部、５６  回答及び元文取得部、６４，７４，８４，８５，９５，１１０４，１３０４  コーパス出力部、１５１，１５３，１５７，１５８，３５１，３５２，４５１，４５２  エンコーダ、１５２，１５４  デコーダ、５５２  学習制御部、１０００  Ｗｅｂ、１０５１  質問・応答システム、１０５４  データベース、１１０１  関連文適合性判定部、１１０２  関連文選択部、１１０３  関連文適合性入力部、１１０５，１３０５  適合判定学習処理部、１２０２  適合度付与部、１３０３  トピック適合性入力部、１３３８，１３６８  トピック生成部、１３１２  トピック適合性判定部、１３４９  検索トピック選択部、３３００  バス、３３０１  ＣＰＵ、３３０２  ＲＯＭ、３３０３  ＲＡＭ、３３０４  ＨＤＤ、３３０６  ＤＶＤドライブ、３３０７  ＤＶＤ、３３０８  ディスプレイ、３３０９  ネットワークＩ／Ｆ、３３１０  キーボード、３３１１  マウス、３３１２  メモリポート、３３１３  リムーバブルメモリ、３４００  インターネット、５００，６００  多層パーセプトロン、５０１，６０１  入力層、５０２，６０２  中間層、５０３，６０３  出力層、ＣＮＮ１，ＣＮＮ２，ＣＮＮ３，ＣＮＮ４  畳み込みニューラルネットワーク、Ｃ１１，Ｃ２１  畳み込み層、Ｃ１２，Ｃ２２  プーリング層、ＣＯＥ１，ＣＯＥ２  結合部。
【図１】
2019040574.tif 000003
【図２】
2019040574.tif 000004
【図３】
2019040574.tif 000005
【図４】
2019040574.tif 000006
【図５】
2019040574.tif 000007
【図６】
2019040574.tif 000008
【図７】
2019040574.tif 000009
【図８】
2019040574.tif 000010
【図９】
2019040574.tif 000011
【図１０】
2019040574.tif 000012
【図１１】
2019040574.tif 000013
【図１２】
2019040574.tif 000014
【図１３】
2019040574.tif 000015
【図１４】
2019040574.tif 000016
【図１５】
2019040574.tif 000017
【図１６】
2019040574.tif 000018
【図１７】
2019040574.tif 000019
【図１８】
2019040574.tif 000020
【図１９】
2019040574.tif 000021
【図２０】
2019040574.tif 000022
【図２１】
2019040574.tif 000023
【図２２】
2019040574.tif 000024
【図２３】
2019040574.tif 000025
【図２４】
2019040574.tif 000026
【図２５】
2019040574.tif 000027
【図２６】
2019040574.tif 000028
【図２７】
2019040574.tif 000029
【図２８】
2019040574.tif 000030
【図２９】
2019040574.tif 000031
【図３０】
2019040574.tif 000032
【図３１】
2019040574.tif 000033
【図３２】
2019040574.tif 000034
【図３３】
2019040574.tif 000035
【図３４】
2019040574.tif 000036
【図３５】
2019040574.tif 000037
【図３６】
2019040574.tif 000038
【図３７】
2019040574.tif 000039
【図３８】
2019040574.tif 000040
【図３９】
2019040574.tif 000041
【図４０】
2019040574.tif 000042
【図４１】
2019040574.tif 000043
【図４２】
2019040574.tif 000044
【図４３】
2019040574.tif 000045
【図４４】
2019040574.tif 000046
【図４５】
2019040574.tif 000047
【図４６】
2019040574.tif 000048
【図４７】
2019040574.tif 000049
【図４８】
2019040574.tif 000050