(57)【要約】      （修正有）【課題】現に対話中の文脈の因果関係に応じた応答文を推定するプログラム、対話処理装置及び対話処理方法を提供する。【解決手段】対話処理装置１は、学習段階において、因果関係ペアとなる原因語及び結果語を蓄積する因果関係ペア蓄積手段１２と、因果関係を持つ第１の原因語から第１の結果語へ結び、第１の原因語を結果語とする他の第２の原因語から当該第１の原因語へ結び、第１の結果語から当該第１の結果語を原因語とする他の第３の結果語へ結んだ、因果関係ネットワークを生成する因果関係ネットワーク生成手段１３と、推定段階において、ユーザの発話文に含まれる原因語又は結果語に対して、因果関係ネットワークによって結ばれた他方の結果語又は原因語を含む応答文を選択する制御手段１６と、を備える。【選択図】図１
2022003494.tif 000002
【特許請求の範囲】
【請求項１】
学習段階について、
因果関係ペアとなる原因語及び結果語を蓄積する因果関係ペア蓄積手段と、
因果関係を持つ第１の原因語から第１の結果語へ結び、第１の原因語を結果語とする他の第２の原因語から当該第１の原因語へ結び、第１の結果語から当該第１の結果語を原因語とする他の第３の結果語への、因果関係ネットワークを生成する因果関係ネットワーク生成手段と
してコンピュータを機能させ、
推定段階について、
ユーザからの原因語又は結果語に対して、因果関係ネットワークによる他方の結果語又は原因語を含む応答文を選択する制御手段と
してコンピュータを機能させることを特徴とするプログラム。
【請求項２】
推定段階について、
因果関係ネットワークに基づいて、ユーザから提供される文のリンクを記録する対話ネットワーク記録手段と、
ユーザの発話文に対して、候補となる複数の応答文を生成する応答文生成エンジンと
して更にコンピュータを機能させ、
制御手段は、対話ネットワーク記録手段に現に記録された１つ以上の原因語及び結果語と結ばれた原因語又は結果語を含む応答文を選択する
ようにコンピュータを機能させることを特徴とする請求項１に記載のプログラム。
【請求項３】
応答文生成エンジンは、発話文及び応答文の間の特徴を抽出可能なプログラムであり、教師データとしての対話コーパスから、発話文をエンコーダ側に入力し、デコーダ側から応答文を出力するように学習したものである
ようにコンピュータを機能させることを特徴とする請求項２に記載のプログラム。
【請求項４】
学習段階について、
教師データとなる対話コーパスを用いて、因果関係ペアとなる原因語及び結果語を抽出し、当該原因語及び結果語を因果関係ペア蓄積手段へ出力する因果関係ペア抽出手段と
して更にコンピュータを機能させることを特徴とする請求項１から３のいずれか１項に記載のプログラム。
【請求項５】
学習段階について、
因果関係ネットワーク生成手段は、
因果関係ペアとなる原因語及び結果語のリンクの出現頻度を更に計数し、
複数の原因語から１つの結果語へ結ぶリンクの出現頻度に対する、各原因語から１つの結果語へ結ぶ出現頻度の割合を遷移確率として、当該リンクに付与し、
１つの原因語から複数の結果語へ向かうリンクの出現頻度に対する、１つの原因語から各結果語へ結ぶ出現頻度の割合を遷移確率として、当該リンクに付与する
ようにコンピュータを機能させ、
推定段階について、
制御手段は、ユーザの発話文に含まれる原因語又は結果語に対して、因果関係ネットワークによって結ばれた他方の結果語又は原因語を含む複数の応答文の中で、遷移確率が最も高い他方の結果語又は原因語を含む応答文を選択する
ようにコンピュータを機能させることを特徴とする請求項４に記載のプログラム。
【請求項６】
因果関係ペア抽出手段は、
教師データとしての対話コーパスから、原因語と結果語との間で因果関係の接続助詞を含む学習文章を選別する因果関係学習文章選別手段と、
学習文章を入力層へ入力し、第１出力層から原因語が出力され、第２出力層から結果語が出力されるように、マルチタスク深層学習モデルとして学習した因果関係ペア推定エンジンと
してコンピュータを機能させることを特徴とする請求項４又は５に記載のプログラム。
【請求項７】
因果関係ペア推定エンジンは、入力層と、埋め込み層と、当該埋め込み層から分岐した第１再帰ネットワーク層、第１識別層及び第１出力層と、当該埋め込み層から分岐した第２再帰ネットワーク層、第２識別層及び第２出力層とを有する
ようにコンピュータを機能させることを特徴とする請求項６に記載のプログラム。
【請求項８】
学習段階について、
因果関係ペアとなる原因語及び結果語を蓄積する因果関係ペア蓄積手段と、
因果関係を持つ第１の原因語から第１の結果語へ結び、第１の原因語を結果語とする他の第２の原因語から当該第１の原因語へ結び、第１の結果語から当該第１の結果語を原因語とする他の第３の結果語への、因果関係ネットワークを生成する因果関係ネットワーク生成手段と
を有し、
推定段階について、
ユーザからの原因語又は結果語に対して、因果関係ネットワークによる他方の結果語又は原因語を含む応答文を選択する制御手段と
を有することを特徴とする対話処理装置。
【請求項９】
対話処理装置は、
学習段階について、
因果関係ペアとなる原因語及び結果語を蓄積する第１のステップと、
因果関係を持つ第１の原因語から第１の結果語へ結び、第１の原因語を結果語とする他の第２の原因語から当該第１の原因語へ結び、第１の結果語から当該第１の結果語を原因語とする他の第３の結果語への、因果関係ネットワークを生成する第２のステップとを実行し、
推定段階について、
ユーザの発話文に含まれる原因語又は結果語に対して、因果関係ネットワークによって結ばれた他方の結果語又は原因語を含む応答文を選択するステップと
を実行することを特徴とする対話処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザと自然な対話を実現する対話処理装置の技術に関する。特に、雑談対話に適したＡＩ(Artificial Intelligence)の技術に関する。
【背景技術】
【０００２】
近年、ユーザとの対話処理装置として、スマートフォン又はタブレットのみならず、「Google Home（登録商標）」「Amazon Echo（登録商標）」のようなスマートスピーカや、「SOTA（登録商標）」「ユニボー（登録商標）」のようなロボット（以下「端末」と称す）が用いられてきている。端末は、ユーザインタフェース機能し、ユーザの発話音声を、サーバとしての対話処理装置へ送信する。
対話処理装置は、その発話文に対して自然な対話となる応答文を推定し、その応答文を端末へ返信する。
そして、端末は、その応答文を音声又はテキストによって、ユーザへ返答する。
このような対話システムとしては、例えば「Siri（登録商標）」や「しゃべってコンシェル（登録商標）」がある。このようなシステムは、ユーザの発話文との因果関係を考慮しながら応答文を生成することができる。
【０００３】
従来、ユーザの発話文に対して事象間の因果関係を持つ応答文を生成し、自然な対話を実現する技術がある。
一般的な従来技術によれば、直前のユーザの発話文に対する応答文を推定する。
また、例えば、ユーザとロボットとが対話を進行する場合、ユーザの直前の発話内容よりも、ユーザ感情や因果事象（発話内容と因果関係を有する事象）に基づいて、応答文を推定する技術がある（例えば特許文献１参照）。
また、ユーザの発話文に応じて、違和感の無い自然なユーザ操作で対話を支援する技術もある（例えば特許文献２参照）。この技術によれば、「状況節」->「行為節」の因果ペアを参照して支援テキストを生成することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２８２４０４号公報
【特許文献２】特願２０１５−３２３９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、一般的な従来技術によれば、直前のユーザの発話文に対する応答文を推定する。そのために、現に対話中の文脈の中でも、数十秒前に対話した文脈との因果関係を考慮しておらず、対話生成のロジック性が不十分となりやすい。
特許文献１に記載の技術によれば、ユーザ感情や因果事象に特徴が無い場合、結局、直前のユーザの発話文に対する因果関係のみを考慮した応答文を生成しているために、ロジック的な応答文を生成することが困難となる。
また、特許文献２に記載の技術によれば、「状況節」->「行為節」の因果関係ペアしか参照していないために、対話文脈により複数且つ複合的な因果関係の要素を考慮していない。尚、この技術は、ユーザ操作を支援するものであって、雑談対話に対応できるものではない。
【０００６】
そこで、本発明は、現に対話中の文脈の因果関係に応じた応答文を推定するプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明によれば、
学習段階について、
因果関係ペアとなる原因語及び結果語を蓄積する因果関係ペア蓄積手段と、
因果関係を持つ第１の原因語から第１の結果語へ結び、第１の原因語を結果語とする他の第２の原因語から当該第１の原因語へ結び、第１の結果語から当該第１の結果語を原因語とする他の第３の結果語への、因果関係ネットワークを生成する因果関係ネットワーク生成手段と
してコンピュータを機能させ、
推定段階について、
ユーザからの原因語又は結果語に対して、因果関係ネットワークによる他方の結果語又は原因語を含む応答文を選択する制御手段と
してコンピュータを機能させることを特徴とする。
【０００８】
本発明のプログラムにおける他の実施形態によれば、
推定段階について、
因果関係ネットワークに基づいて、ユーザから提供される文のリンクを記録する対話ネットワーク記録手段と、
ユーザの発話文に対して、候補となる複数の応答文を生成する応答文生成エンジンと
して更にコンピュータを機能させ、
制御手段は、対話ネットワーク記録手段に現に記録された１つ以上の原因語及び結果語と結ばれた原因語又は結果語を含む応答文を選択する
ようにコンピュータを機能させることも好ましい。
【０００９】
本発明のプログラムにおける他の実施形態によれば、
応答文生成エンジンは、発話文及び応答文の間の特徴を抽出可能なプログラムであり、教師データとしての対話コーパスから、発話文をエンコーダ側に入力し、デコーダ側から応答文を出力するように学習したものである
ようにコンピュータを機能させることも好ましい。
【００１０】
本発明のプログラムにおける他の実施形態によれば、
学習段階について、
教師データとなる対話コーパスを用いて、因果関係ペアとなる原因語及び結果語を抽出し、当該原因語及び結果語を因果関係ペア蓄積手段へ出力する因果関係ペア抽出手段と
して更にコンピュータを機能させることも好ましい。
【００１１】
本発明のプログラムにおける他の実施形態によれば、
学習段階について、
因果関係ネットワーク生成手段は、
因果関係ペアとなる原因語及び結果語のリンクの出現頻度を更に計数し、
複数の原因語から１つの結果語へ結ぶリンクの出現頻度に対する、各原因語から１つの結果語へ結ぶ出現頻度の割合を遷移確率として、当該リンクに付与し、
１つの原因語から複数の結果語へ向かうリンクの出現頻度に対する、１つの原因語から各結果語へ結ぶ出現頻度の割合を遷移確率として、当該リンクに付与する
ようにコンピュータを機能させ、
推定段階について、
制御手段は、ユーザの発話文に含まれる原因語又は結果語に対して、因果関係ネットワークによって結ばれた他方の結果語又は原因語を含む複数の応答文の中で、遷移確率が最も高い他方の結果語又は原因語を含む応答文を選択する
ようにコンピュータを機能させることも好ましい。
【００１２】
本発明のプログラムにおける他の実施形態によれば、
因果関係ペア抽出手段は、
教師データとしての対話コーパスから、原因語と結果語との間で因果関係の接続助詞を含む学習文章を選別する因果関係学習文章選別手段と、
学習文章を入力層へ入力し、第１出力層から原因語が出力され、第２出力層から結果語が出力されるように、マルチタスク深層学習モデルとして学習した因果関係ペア推定エンジンと
してコンピュータを機能させることも好ましい。
【００１３】
本発明のプログラムにおける他の実施形態によれば、
因果関係ペア推定エンジンは、入力層と、埋め込み層と、当該埋め込み層から分岐した第１再帰ネットワーク層、第１識別層及び第１出力層と、当該埋め込み層から分岐した第２再帰ネットワーク層、第２識別層及び第２出力層とを有する
ようにコンピュータを機能させることも好ましい。
【００１４】
本発明によれば、
学習段階について、
因果関係ペアとなる原因語及び結果語を蓄積する因果関係ペア蓄積手段と、
因果関係を持つ第１の原因語から第１の結果語へ結び、第１の原因語を結果語とする他の第２の原因語から当該第１の原因語へ結び、第１の結果語から当該第１の結果語を原因語とする他の第３の結果語への、因果関係ネットワークを生成する因果関係ネットワーク生成手段と
を有し、
推定段階について、
ユーザからの原因語又は結果語に対して、因果関係ネットワークによる他方の結果語又は原因語を含む応答文を選択する制御手段と
を有することを特徴とする。
【００１５】
本発明によれば、
対話処理装置は、
学習段階について、
因果関係ペアとなる原因語及び結果語を蓄積する第１のステップと、
因果関係を持つ第１の原因語から第１の結果語へ結び、第１の原因語を結果語とする他の第２の原因語から当該第１の原因語へ結び、第１の結果語から当該第１の結果語を原因語とする他の第３の結果語への、因果関係ネットワークを生成する第２のステップとを実行し、
推定段階について、
ユーザの発話文に含まれる原因語又は結果語に対して、因果関係ネットワークによって結ばれた他方の結果語又は原因語を含む応答文を選択するステップと
を実行することを特徴とする。
【発明の効果】
【００１６】
本発明のプログラム、装置及び方法によれば、現に対話中の文脈の因果関係に応じた応答文を推定することができる。これによって、ユーザの対話意欲を高め、雑談のような対話を実現することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明における対話処理装置の機能構成図である。
【図２】因果関係学習文章選別部の説明図である。
【図３】因果関係ペア推定エンジンの機能構成図である。
【図４】因果関係ネットワークの構築過程を表す説明図である。
【図５】因果関係ネットワークに遷移確率を付与した説明図である。
【図６】推定段階における応答文生成エンジン及び制御部の説明図である。
【図７】推定段階における応答文の選択を表す第１の説明図である。
【図８】推定段階における応答文の選択を表す第２の説明図である。
【図９】従来技術と比較した本発明の応答文の例を表す説明図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００１９】
図１は、本発明における対話処理装置の機能構成図である。
【００２０】
対話処理装置１は、ユーザとの間で自然な対話を実現するものであり、ユーザの発話文に対して応答文を生成する。
図１によれば、サーバ機能を有する対話処理装置１は、ユーザインタフェース機能を有する端末２と通信する。端末２は、ユーザに対する入出力デバイスとして、マイクによってユーザの音声を取得し、スピーカによってユーザへ発声するものであってもよい。また、ユーザからテキストベースの発話文を入力し、応答文を表示するものであってもよい。
尚、音声認識機能は、対話処理装置１に搭載されたものであってもよいし、端末２に搭載されていてもよい。
【００２１】
本発明によれば、対話処理装置１は、複数の機械学習エンジンを搭載しており、＜学習段階＞及び＜推定段階＞に分けられる。機械学習エンジンは、学習段階に、教師データによって学習モデルを構築する。
【００２２】
＜学習段階＞
対話処理装置１は、第１の教師データと、第２の教師データとを入力する。
第１の教師データは、インターネット上で、自然言語の文章を構造化して大規模に集積した大量の「コーパス」である。これは、例えばウィキペディア(Wikipedia)（登録商標）のような百科事典であって、自然言語として正当な文章群である。勿論、Ｗｅｂサイトにおける自然言語知識のコンテンツの文章群であってもよい。
第２の教師データは、発話文と応答文とからなる対話ログの群であって、過去に正当に対話された「対話コーパス」である。
第１の教師データ及び第２に教師データは、対話処理装置１自らが記憶しておく必要はないが、学習段階に外部から入力する必要がある。
【００２３】
対話処理装置１は、学習段階の機能部として、因果関係ペア抽出部１１（因果関係学習文章選別部１１１及び因果関係ペア推定エンジン１１２）と、因果関係ペア蓄積部１２と、因果関係ネットワーク生成部１３とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、対話処理装置の学習方法としても理解できる。
【００２４】
［因果関係ペア抽出部１１］
因果関係ペア抽出部１１は、第１の教師データとなるコーパスを用いて、因果関係ペアとなる原因語及び結果語を抽出する。抽出した当該原因語及び結果語は、因果関係ペア蓄積部１２へ出力される。
｛（原因語）->（結果語）｝
因果関係ペア抽出部１１は、因果関係学習文章選別部１１１と、因果関係ペア推定エンジン１１２とからなる。
【００２５】
（因果関係学習文章選別部１１１）
因果関係学習文章選別部１１１は、第１の教師データとしてのコーパスから、原因語と結果語との間で因果関係の「接続助詞」を含む学習文章を選別する。
【００２６】
図２は、因果関係学習文章選別部の説明図である。
【００２７】
因果関係学習文章選別部１１１は、大規模なコーパスに含まれる文章の群から、接続助詞テーブルに登録された「接続助詞」を含む学習文章を選別する。接続助詞を含む学習文章は、接続助詞を挟んで、因果関係となる原因語及び結果語を含む場合が多い。
接続助詞テーブルは、文章中の前後を因果関係で接続する接続助詞を登録したものである。「接続助詞」とは、前文と後文との間に因果関係を構築する助詞であり、因果関係の手がかりとなるものである。
例えば、以下のような助詞がある。
「〜ため、〜」「〜から、〜」「〜により、〜」「〜によって、〜」
「〜を背景に、〜」「〜を受け、〜」「〜の結果、〜」「〜をきっかけに、〜」
「〜の影響、〜」「〜の原因、〜」「〜を行うと、〜」「〜すれば、〜」
「〜しないと、〜」「〜に伴い、〜」「〜を反映し、〜」
【００２８】
図２によれば、因果関係学習文章選別部１１１は、例えば以下のような学習文章を選別し、因果関係ペア推定エンジン１１２へ出力する。
選別された学習文章  ：「新型ウイルスの｛ため｝、内定取り消しになった」
【００２９】
（因果関係ペア推定エンジン１１２）
因果関係ペア推定エンジン１１２は、因果関係を持つ学習文章を入力層へ入力し、第１出力層から原因語が出力され、第２出力層から結果語が出力されるように、マルチタスク深層学習モデルとして学習したものである。
【００３０】
図３は、因果関係ペア推定エンジンの機能構成図である。
【００３１】
因果関係ペア推定エンジン１１２は、以下のように２つの系列に分岐して構成される。
入力層->埋め込み層->第１再帰ネットワーク層->第１識別層->原因語出力層
->第２再帰ネットワーク層->第２識別層->結果語出力層
【００３２】
入力層は、学習文章を形態素解析し、単語毎に例えばone-hotのようなベクトルに変換し、これらベクトル群を入力とする。
埋め込み層(Embedding Layer)は、入力層から出力された数値型の配列から、埋め込み表現を学習する。単語の埋め込み表現としては 例えばword2vecや、TensorFlowのembedding_lookupがある。
第１再帰ネットワーク層及び第２再帰ネットワーク層は、同一のＲＮＮ(Recurrent Neural Network)である。ＲＮＮは、学習文章の時系列データをそのまま入力することによって、時間依存性を学習することができるモデルである。ＲＮＮとしては、例えばＬＳＴＭ(Long Short-Term Memory)やＧＲＵ(Gated Recurrent Unit)を用いることができる。ＬＳＴＭは、複数のブロックを並べて、各ブロックが、誤差を内部に留まらせて勾配消失を防ぐセルと、必要な情報を必要なタイミングで保持・消却させる入力ゲート、出力ゲート及び忘却ゲートとから構成されている。ＧＲＵは、ＬＳＴＭを簡略化したものであり、リセットゲートと更新ゲートとからなる。
第１識別層及び第２識別層は、同一の識別器(Discriminator)であり、第１識別層は原因語を識別し、第２識別層は結果語を識別する。
最終的に、原因語出力層は原因語を出力し、結果語出力層は結果語を出力する。
【００３３】
例えば以下の学習文章に対して、因果関係ペアを抽出するように学習する。
入力された学習文章    ：「内定取り消し相次ぐ、新型ウイルス影響の｛ため｝」
出力される因果関係ペア：原因語（新型ウイルス）->結果語（内定取り消し）｝
【００３４】
［因果関係ペア蓄積部１２］
因果関係ペア蓄積部１２は、因果関係ペアとなる原因語及び結果語を蓄積する。例えば以下のような因果関係ペアを蓄積しているとする。
（原因語）        ->（結果語）
｛（新型ウイルス）    ->（内定取り消し）｝
｛（卒業できなかった）->（内定取り消し）｝
｛（内定取り消し）    ->（会社と交渉）  ｝
｛（内定取り消し）    ->（大学へ相談）  ｝
【００３５】
［因果関係ネットワーク生成部１３］
因果関係ネットワーク生成部１３は、以下のように文を結んだ因果関係ネットワークを生成する。
・因果関係を持つ第１の原因語から第１の結果語へ結ぶ
・第１の原因語を結果語とする他の第２の原因語から当該第１の原因語へ結ぶ
・第１の結果語から当該第１の結果語を原因語とする他の第３の結果語へ結ぶ
ここで、因果関係ネットワーク生成部１３は、入力された原因語及び結果語のリンクが、因果関係ネットワークに存在していない場合、新たなリンクを結んでネットワークを構築していく。一方で、入力された原因語及び結果語のリンクが、因果関係ネットワークに既に存在する場合、そのリンクの出現回数を計数していく。
【００３６】
図４は、因果関係ネットワークの構築過程を表す説明図である。
【００３７】
図４（ａ）によれば、｛（新型ウイルス）->（内定取り消し）｝が入力され、因果関係を持つ第１の原因語（新型ウイルス）から第１の結果語（内定取り消し）へ結ぶ。
（新型ウイルス）->（内定取り消し）
図４（ｂ）によれば、｛（卒業できなかった）->（内定取り消し）｝が入力され、第１の原因語（内定取り消し）を結果語とする他の第２の原因語（卒業できなかった）から当該第１の原因語（内定取り消し）へ結ぶ。
（新型ウイルス）    ->（内定取り消し）
（卒業できなかった）->
図４（ｃ）によれば、｛（内定取り消し）->（会社と交渉）｝が入力され、第１の結果語（内定取り消し）から当該第１の結果語（内定取り消し）を原因語とする他の第３の結果語（会社と交渉）へ結ぶ。
（新型ウイルス）    ->（内定取り消し）
（卒業できなかった）->（内定取り消し）
（内定取り消し）->（会社と交渉）
図４（ｄ）は、によれば、｛（内定取り消し）->（大学へ相談）｝が入力され、第１の結果語（内定取り消し）から当該第１の結果語（内定取り消し）を原因語とする他の第３の結果語（大学へ相談）へ結ぶ。
（新型ウイルス）    ->（内定取り消し）
（卒業できなかった）->（内定取り消し）
（内定取り消し）->（会社と交渉）
（内定取り消し）->（大学へ相談）
【００３８】
図５は、因果関係ネットワークに遷移確率を付与した説明図である。
【００３９】
図５によれば、因果関係ネットワーク生成部１３は、因果関係ペアとなる原因語及び結果語のリンクの出現頻度を更に計数する。
そして、因果関係ネットワーク生成部１３は、以下のように遷移確率を算出する。
（１）複数の原因語から１つの結果語へ結ぶリンクの出現頻度に対する、各原因語から１つの結果語へ結ぶ出現頻度の割合を遷移確率として、当該リンクに付与する。
（２）１つの原因語から複数の結果語へ向かうリンクの出現頻度に対する、１つの原因語から各結果語へ結ぶ出現頻度の割合を遷移確率として、当該リンクに付与する。
【００４０】
図５（ａ）によれば、以下のように算出される。
（新型ウイルス -> 内定取り消し）    ：出現頻度200
（卒業出来なかった -> 内定取り消し）：出現頻度120
遷移確率Ｐ（内定取り消し｜新型ウイルス）    ＝200/(120+200)＝0.625
遷移確率Ｐ（内定取り消し｜卒業出来なかった）＝120/(120+200)＝0.375
図５（ｂ）によれば、以下のように算出される。
（内定取り消し -> 会社と交渉）      ：出現頻度90
（内定取り消し -> 大学へ相談）      ：出現頻度110
遷移確率Ｐ（会社と交渉｜内定取り消し）      ＝90/(90+110) ＝0.45
遷移確率Ｐ（大学へ相談｜内定取り消し）      ＝110/(90+110)＝0.55
【００４１】
図６は、推定段階における応答文生成エンジン及び制御部の説明図である。
【００４２】
＜推定段階＞
対話処理装置１は、推定段階の機能部として、対話ネットワーク記録部１４と、応答文生成エンジン１５と、制御部１６とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、対話処理装置の推定方法としても理解できる。
【００４３】
［対話ネットワーク記録部１４］
対話ネットワーク記録部１４は、因果関係ネットワークに基づいて、ユーザと現に対話中の文のリンクを記録する。因果関係ネットワークは、因果関係ネットワーク生成部１３によって生成されたものであり、制御部１６における発話文及び応答文に応じてノート（文）を辿っていく。
図６によれば、対話ネットワーク記録部１４は、制御部１６から、「内定取り消し」が入力された場合、その「内定取り消し」とリンクする原因語及び結果語の中で、最も遷移確率が高い「新型ウイルス」が参照されている。
【００４４】
［応答文生成エンジン１５］
応答文生成エンジン１５は、ユーザの発話文に対して、候補となる複数の応答文を生成する。ここで、候補となる応答文は、複数、制御部１６へ出力される。
応答文生成エンジン１５は、学習段階では、第２の教師データとしての対話コーパス（発話文と応答文との対）を用いて、因果関係に拘わらず、発話文と応答文との関係の特徴を学習する。具体的には、発話文を、形態素分析によって形態素に区分した上でエンコーダ側に入力し、応答文を、形態素分析によって形態素に区分した上でデコーダ側に入力して学習する。
【００４５】
応答文生成エンジン１５は、発話文及び応答文の間の特徴を抽出可能なSeq2Seqであってもよいし、seq2seq+attentionやtransformのような改良モデルであってもよい。
seq2seqは、形態素文字列を入力して、別の形態素文字列を出力する置き換えルールを学習するニューラルネットワークである。これによって、発話文に対して１つ以上の応答文を学習していく。勿論、文字列の依存関係を学習可能なＲＮＮ(Recurrent Neural Network)の一種である例えばＬＳＴＭ(Long Short-Term Memory)であってもよい。
【００４６】
これによって、応答文生成エンジン１５は、推定段階では、エンコーダ側に発話文が入力されると、デコーダ側から、複数の応答文が出力されるようになる。このとき、候補となるスコアに応じて、複数の応答文を出力する。
【００４７】
図６によれば、応答文生成エンジン１５は、制御部１６から、以下の発話文が入力されたとする。
ユーザ：「俺、内定取り消された！」
これに対して、応答文生成エンジン１５は、以下の複数の応答文を出力する。
（応答文候補１：そうですか？）
（応答文候補２：新型ウイルスの影響ですか？）
（応答文候補３：卒業できなかったのが原因ですか？）
【００４８】
［制御部１６］
制御部１６は、ユーザの発話文に含まれる原因語又は結果語に対して、因果関係ネットワークによって結ばれた他方の結果語又は原因語を含む応答文を選択する。因果関係ネットワークは、現に対話中にやりとりした文脈を考慮するべく、対話ネットワーク記録部１４を参照する。制御部１６は、対話ネットワーク記録部１４に現に記録された１つ以上の原因語及び結果語と結ばれた原因語又は結果語を含む応答文を選択する。
また、制御部１６は、ユーザの発話文に含まれる原因語又は結果語に対して、因果関係ネットワークによって結ばれた他方の結果語又は原因語を含む複数の応答文の中で、遷移確率が最も高い他方の結果語又は原因語を含む応答文を選択するものであってもよい。
尚、発話文に対する原因語又は結果語を得るのみであれば、因果関係ネットワーク生成部１３によって生成された因果関係ネットワークを参照してもよい。
そして、制御部１６は、応答文生成エンジン１５から出力された複数の応答文の中で、応答文のリランキング機能によって最適な応答文を選択する。
【００４９】
図７は、推定段階における応答文の選択を表す第１の説明図である。
【００５０】
図７（ａ）によれば、ユーザから、以下の発話文が入力されたとする。
発話文：「俺、内定取り消された！」
制御部１６は、対話ネットワーク記録部１４の因果関係ネットワークを参照する。ユーザの発話文に含まれる「内定取り消し」とリンクする文として、以下のものがある。
遷移確率Ｐ（内定取り消し｜新型ウイルス）    ＝200/(120+200)＝0.625
遷移確率Ｐ（内定取り消し｜卒業出来なかった）＝120/(120+200)＝0.375
遷移確率Ｐ（会社と交渉  ｜内定取り消し）    ＝90/(90+110)  ＝0.450
遷移確率Ｐ（大学へ相談  ｜内定取り消し）    ＝110/(90+110) ＝0.550
ここでは、「新型ウイルス」の遷移確率が最も高いことがわかる。
【００５１】
これに対して、応答文生成エンジン１５は、制御部１６へ以下の応答文を出力している。
（応答文候補１：そうですか？）
（応答文候補２：新型ウイルスの影響ですか？）
（応答文候補３：卒業できなかったのが原因ですか？）
【００５２】
図７（ｂ）によれば、制御部１６は、「新型ウイルス」を含む応答文候補２を選択する。
（応答文候補２：新型ウイルスの影響ですか？）
【００５３】
図８は、推定段階における応答文の選択を表す第２の説明図である。
【００５４】
図８（ａ）によれば、ユーザから、以下の発話文が入力されたとする。
発話文：「いや、実は、卒業できなかった。」
制御部１６は、対話ネットワーク記録部１４の因果関係ネットワークを参照する。ユーザの発話文に含まれる「卒業できなかった」とリンクする文として、以下のものがある。
遷移確率Ｐ（内定取り消し    ｜卒業できなかった）＝0.275
遷移確率Ｐ（留年する        ｜卒業できなかった）＝0.500
遷移確率Ｐ（アルバイトをする｜卒業できなかった）＝0.225
ここでは、「留年する」の遷移確率が最も高いことがわかる。しかしながら、ユーザと現に対話中のやりとりの中で、因果関係ネットワークにおける｛（新型ウイルス）->（内定取り消し）｝を辿っていることが認識できる。その場合、制御部１６は、対話中にやりとりした「内定取り消し」を辿るようにする。そして、制御部１６は、ユーザの発話文に含まれる「卒業できなかった」->「内定取り消し」とリンクし、対話中に辿っていない「会社と交渉」「大学へ相談」へ向かう。
遷移確率Ｐ（会社と交渉  ｜内定取り消し）    ＝90/(90+110)  ＝0.450
遷移確率Ｐ（大学へ相談  ｜内定取り消し）    ＝110/(90+110) ＝0.550
そして、リンクを辿って、以下のように遷移確率を算出する。
遷移確率Ｐ（大学へ相談｜内定取り消し，卒業できなかった）＝0.550*0.275
遷移確率Ｐ（会社と交渉｜内定取り消し，卒業できなかった）＝0.450*0.275
遷移確率Ｐ（留年する  ｜内定取り消し，卒業できなかった）＝0*0.5
遷移確率Ｐ（アルバイトをする｜内定取り消し，卒業できなかった）＝0.225*0
ここでは、「大学へ相談」の遷移確率が最も高いことがわかる。
【００５５】
これに対して、応答文生成エンジン１５は、制御部１６へ以下の応答文を出力している。
（応答文候補１：留年することはできませんか？）
（応答文候補２：アルバイトをすればどう？）
（応答文候補３：大学へ相談してみたらどうでしょうか？）
このとき、制御部１６は、因果関係ネットワークを参照する。ここで、遷移確率Ｐが高い「大学へ相談」を含む応答文候補３が選択される。
（応答文候補３：大学へ相談してみたらどうでしょうか？）
【００５６】
制御部１６は、ユーザの発話文を端末２から受信し、その応答文を端末２へ返信する。端末２のユーザインタフェース機能が、キー入力可能であってディスプレイ表示可能であれば、制御部１６は、発話文及び応答文はテキストベースで、端末２との間で送受信することができる。
【００５７】
制御部１６は、端末２のユーザインタフェース機能に応じて、ユーザの発話音声の音声認識機能、及び、ユーザへの応答文の音声変換機能を有するものであってもよい。音声認識機能は、端末２のマイクによって取得されたユーザの発話音声を、テキストベースの発話文に変換する。音声変換機能は、返信すべき応答文を、音声信号に変換する。
この場合、制御部１６は、ユーザの発話音声データを端末２から受信し、その発話音声データをテキストの発話文に変換する。また、その応答文を音声データに変換し、その音声データを端末２へ送信する。
【００５８】
最後に、従来技術の特許文献１及び特許文献２と、本発明との相違を表す、発話文及び応答文のサンプル例を説明する。
【００５９】
図９は、従来技術と比較した本発明の応答文の例を表す説明図である。
【００６０】
図９（ａ）によれば、特許文献１と本発明との例を表している。
（特許文献１）
発話文：「冬になりました！」
応答文：「時間の流れは速いものですね！」
発話文：「北海道に行きたいです！」
応答文：（・・・）
特許文献１によれば、ユーザ感情や因果事象に特徴が無い場合、結局、直前のユーザの発話文に対する因果関係のみを考慮した応答文を生成する。そのために、「時間の流れが速い」に対して、ユーザの発話文が「北海道に行きたい」となっており、因果関係を抽出できず、ロジック的な応答文を生成することが困難となる。
【００６１】
これに対し、本発明によれば、以下のような例となる。
（本発明）
発話文：「冬になりました！」
応答文：「時間の流れは速いものですね！」
発話文：「北海道に行きたいです！」
応答文：「冬に北海道に行くと、寒いですよ。」
本発明によれば、「冬になる->寒い」「北海度->寒い」の因果関係ネットワークを構築しているために、現に対話中の文脈からロジック的な応答文を生成することができる。
【００６２】
図９（ｂ）によれば、特許文献２と本発明との例を表している。
（特許文献２）
発話文：「やっと好きな人と出会えますよ！」
応答文：「よかったですね」
発話文：「緊張する。」
応答文：「遊んでリラックスはいかがでしょうか？」
（地図から遊び所を検索する）
特許文献２によれば、「状況節」->「行為節」の簡単な因果関係ペアだけでなく、複数・複合の因果関係ペア（感情->行為、行為->行為、行為->状況など）も考慮する。しかし、直前の感情や行為しか考慮しないために、ユーザの直前の発話文のみに適した応答文しか生成しない。
即ち、「好きな人との出会い->幸せ」「緊張する->リラックスする」の因果関係しか考慮しておらず、「好きな人との出会い->・・・->リラックスする」の結びを認識することはできない。
【００６３】
これに対し、本発明によれば、以下のような例となる。
（本発明）
発話文：「やっと好きな人と出会えますよ！」
応答文：「よかったですね」
発話文：「緊張する。」
応答文：「緊張しても、幸せになるはず」
本発明によれば、「好きな人との出会い->緊張する->リラックスする」の因果関係ネットワークを構築しているために、現に対話中の文脈からロジック的な応答文を生成することができる。
【００６４】
前述したように、従来技術によれば、学習段階には、単語ペアのみを照合するために、その単語ペア以外の文脈の特徴量を全く考慮してない。前述の例によれば、因果関係ペア｛（冬になる）->（寒い）｝には、「北海道」や「時間の流れが速い」のような文との特徴量が、全く含まれないこととなる。推定段階には、実際のユーザの発話文に対して、予め学習された因果関係ペアが完全一致で照合しないと、リランキング（最適な応答結果の再選定）を実現できないという問題もある。
また、応答文を生成する学習エンジンを用いた場合、第２の教師データとなる対話データ（発話文及び応答文）に依存しすぎてしまう、という問題もある。
【００６５】
これに対し、本発明は、因果関係ネットワークを構築しているために、１つの因果関係ペアに対して、その周辺の因果関係ペアとの繋がりを認識することができる。
また、深層学習に基づく応答文生成エンジンから生成された複数の候補となる応答文から、直前のユーザの発話文に限らず、現に対話中の文脈の因果関係の繋がりから、リンランキングによって応答文を選択することができる。
【００６６】
以上、詳細に説明したように、本発明のプログラム、装置及び方法によれば、現に対話中の文脈の因果関係に応じた応答文を推定することができる。これによって、ユーザの対話意欲を高め、雑談のような対話を実現することができる。
【００６７】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００６８】
１  対話処理装置
１１  因果関係ペア抽出部
１１１  因果関係学習文章選別部
１１２  因果関係ペア推定エンジン
１２  因果関係ペア蓄積部
１３  因果関係ネットワーク生成部
１４  対話ネットワーク記録部
１５  応答文生成エンジン
１６  制御部
２  端末
【図１】
2022003494.tif 000003
【図２】
2022003494.tif 000004
【図３】
2022003494.tif 000005
【図４】
2022003494.tif 000006
【図５】
2022003494.tif 000007
【図６】
2022003494.tif 000008
【図７】
2022003494.tif 000009
【図８】
2022003494.tif 000010
【図９】
2022003494.tif 000011