JP2014191271A - 対話シナリオに動的対話ノードを挿入する対話プログラム、サーバ及び方法 - Google Patents

対話シナリオに動的対話ノードを挿入する対話プログラム、サーバ及び方法 Download PDF

Info

Publication number
JP2014191271A
JP2014191271A JP2013068522A JP2013068522A JP2014191271A JP 2014191271 A JP2014191271 A JP 2014191271A JP 2013068522 A JP2013068522 A JP 2013068522A JP 2013068522 A JP2013068522 A JP 2013068522A JP 2014191271 A JP2014191271 A JP 2014191271A
Authority
JP
Japan
Prior art keywords
node
fixed
dialog
dynamic
dialogue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013068522A
Other languages
English (en)
Other versions
JP6027476B2 (ja
Inventor
Shin Jo
▲シン▼ 徐
Tsuneo Kato
恒夫 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2013068522A priority Critical patent/JP6027476B2/ja
Publication of JP2014191271A publication Critical patent/JP2014191271A/ja
Application granted granted Critical
Publication of JP6027476B2 publication Critical patent/JP6027476B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】できる限り自然な対話の中で、固定的な対話ノードの間に動的な対話ノードを挿入する対話プログラム、サーバ及び方法を提供する。
【解決手段】複数の固定対話ノードを蓄積する対話シナリオ蓄積手段と、対話ノード同士の間に挿入可能な複数の動的対話ノードを蓄積する動的対話ノード蓄積手段と、第1の固定対話ノードの文からの行きの遷移確率が高い所定数の動的対話ノードを検索する動的対話ノード検索手段と、検索された各動的対話ノードの文から第2の固定対話ノードへの戻りの遷移確率を算出する戻り遷移確率算出手段と、行きの遷移確率と戻りの遷移確率との組み合わせが、所定条件下で最大となる動的対話ノードを選択する動的対話ノード選択手段と、第1の固定対話ノードから、選択された動的対話ノードを挿入し、第2の固定対話ノードへ、シナリオを進行する対話シナリオ進行手段としてコンピュータを機能させる。
【選択図】図1

Description

本発明は、対話シナリオを用いてユーザと対話する対話システムの技術に関する。
人間に対して自然な対話を実現した対話システムが、特にスマートフォンやタブレット端末で一般的に普及しつつある。その中でも、対話シナリオに従ってユーザとの間で交互に対話プロセスを進めることによって、ユーザから必要な情報を取得する技術がある(例えば特許文献1参照)。この技術によれば、共通の対話シナリオを備える対話システム間で、対話プロセスの遷移を可能とし、現在進行中の対話プロセスを、遷移後の対話システムで継続することができる。あくまで、事前に設定された固定的な対話シナリオに従って実行される。
また、対話シナリオにおける予測範囲以外の任意の入力に対しても、適切に応答することができる技術もある(例えば特許文献2参照)。この技術によれば、対話ノードを大量に用意し、現在の対話ノードに対して遷移確率が最大となる対話ノードへ遷移することによって、自然な対話を進めることができる。遷移確率は、過去の判別結果も考慮されて更新されていく。そのために、システム管理者が固定的な対話シナリオを作成する手間が少なくなる。
特開2004−212802号公報 特開2009−198614号公報
「ベクトル空間法による文書の類似度の算出」、[online]、[平成25年2月24日検索]、インターネット<URL:http://www.gifu-nct.ac.jp/elec/deguchi/sotsuron/hayashi/node20.html>
しかしながら、特許文献1に記載された技術によれば、固定的な対話シナリオであるために、長期的に使用された場合、ユーザが飽きやすいという問題がある。そのような問題に対しては、対話システムの運用者が、対話シナリオの分岐やセリフのバリエーションを増やすことが必要となり、人手がかかることとなる。また、特許文献2に記載された技術によれば、対話シナリオの遷移の全てが、確率モデルに依存するために、対話シナリオの部分的な修正が難しいという問題もある。
これに対し、発明者らは、特許文献1に基づく固定的な対話ノードの進行の間に、特許文献2に基づく遷移確率が最大となる動的な対話ノードを挿入することも考えた。動的な対話ノードとしては、ユーザの情報を取得するべく、例えば、ユーザの趣味や嗜好などプロフィール情報を収集するための会話や、ユーザが興味ありそうな情報提供する会話を挿入する。これによって、固定的な対話シナリオが部分的に且つ自動的に修正され、対話のバリエーションを増やす手間も少なくなる。
しかしながら、固定的な第1の対話ノードから、遷移確率の高い動的な対話ノードへ、自然な感じでシナリオを進めることができたとしても、その動的な対話ノードから、固定的な第2の対話ノードへ戻る際に、急に、対話の自然性が落ちることが発生する。即ち、動的な対話ノードと、戻り先の固定的な第2の対話ノードとの間で、会話の関連性が無い又は少ないことが原因となっている。
そこで、本発明は、できる限り自然な対話の中で、固定的な対話ノードの間に動的な対話ノードを挿入することができる対話プログラム、サーバ及び方法を提供することを目的とする。
本発明によれば、ユーザと対話的にシナリオを進行するようにコンピュータを機能させる対話プログラムであって、
ユーザへ明示すべき文を対応付けた複数の固定対話ノードを蓄積し、第1の固定対話ノードから第2の固定対話ノードへシナリオとして結び付けた対話シナリオ蓄積手段と、
対話ノード同士の間に挿入可能な複数の動的対話ノードを蓄積する動的対話ノード蓄積手段と、
動的対話ノード蓄積手段から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)と、第2の固定対話ノードへの戻りの遷移確率P(Si,B)との組み合わせが、所定条件下で最大となる動的対話ノードを選択する動的対話ノード選択手段と、
第1の固定対話ノードから、選択された動的対話ノードを挿入し、第2の固定対話ノードへ、シナリオを進行する対話シナリオ進行手段と
してコンピュータを機能させることを特徴とする。
本発明の対話プログラムにおける他の実施形態によれば、
動的対話ノード選択手段は、
動的対話ノード蓄積手段から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)が高い所定数の動的対話ノードを検索する動的対話ノード検索手段と、
検索された各動的対話ノードの文から第2の固定対話ノードへの戻りの遷移確率P(Si,B)を算出する戻り遷移確率算出手段と、
第1の固定対話ノードからの行きの遷移確率と、第2の固定対話ノードからの戻りの遷移確率との組み合わせが、所定条件下で最大となる動的対話ノードを決定する動的対話ノード決定手段と
を含むようにコンピュータを機能させることも好ましい。
本発明の対話プログラムにおける他の実施形態によれば、
動的対話ノード検索手段及び戻り遷移確率算出手段における遷移確率は、固定対話ノードの文と、動的対話ノードの文との間のコサイン距離に基づくものであるようにコンピュータを機能させることも好ましい。
本発明の対話プログラムにおける他の実施形態によれば、
対話コーパスにおける出現頻度が高い重要語(名詞)を蓄積した重要語辞書を用いて、コサイン距離は、各文の中から抽出された重要語及びそのカテゴリに応じて算出されるようにコンピュータを機能させることも好ましい。
本発明の対話プログラムにおける他の実施形態によれば、
第1の固定対話ノード毎に、そのノードに含まれる文の次に、動的対話ノードに基づく質問を挿入することの適否を表す質問適合度が付与されており、
第1の固定対話ノードの質問適合度が所定閾値以上の場合にのみ、第1の固定対話ノードの次に動的対話ノードを挿入すると判定する挿入判定手段を更に有し、
動的対話ノード検索手段は、挿入判定手段によって真と判定された場合にのみ機能する
ようにコンピュータを機能させることも好ましい。
本発明の対話プログラムにおける他の実施形態によれば、
第1の固定対話ノードの文に対するユーザの回答の内容が、肯定的か又は否定的かを判定するするポジネガ判定手段を更に有し、
挿入判定手段は、質問適合度に、ポジ/ネガそれぞれに割り当てられた係数を乗算し、その乗算値が所定閾値以上の場合にのみ、第1の固定対話ノードの次に動的対話ノードを挿入すると判定する
ようにコンピュータを機能させることも好ましい。
本発明によれば、ユーザ操作に基づく端末との間で、対話的にシナリオを進行する対話サーバであって、
端末へ送信すべき文を対応付けた複数の固定対話ノードを蓄積し、第1の固定対話ノードから第2の固定対話ノードへシナリオとして結び付けた対話シナリオ蓄積手段と、
対話ノード同士の間に挿入可能な複数の動的対話ノードを蓄積する動的対話ノード蓄積手段と、
動的対話ノード蓄積手段から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)と、第2の固定対話ノードへの戻りの遷移確率P(Si,B)との組み合わせが、所定条件下で最大となる動的対話ノードを選択する動的対話ノード選択手段と、
第1の固定対話ノードから、選択された動的対話ノードを挿入し、第2の固定対話ノードへ、シナリオを進行する対話シナリオ進行手段と
を有することを特徴とする。
本発明によれば、装置を用いて、ユーザと対話的にシナリオを進行する対話方法であって、
ユーザへ明示すべき文を対応付けた複数の固定対話ノードを蓄積し、第1の固定対話ノードから第2の固定対話ノードへシナリオとして結び付けた対話シナリオ蓄積部と、
対話ノード同士の間に挿入可能な複数の動的対話ノードを蓄積する動的対話ノード蓄積部と、
動的対話ノード蓄積部から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)と、第2の固定対話ノードへの戻りの遷移確率P(Si,B)との組み合わせが、所定条件下で最大となる動的対話ノードを選択する第1のステップと、
第1の固定対話ノードから、選択された動的対話ノードを挿入し、第2の固定対話ノードへ、シナリオを進行する第2のステップと
を有することを特徴とする。
本発明の対話プログラム、サーバ及び方法によれば、動的対話ノードから固定対話ノードへ戻る際の遷移確率を考慮することによって、できる限り自然な対話の中で、固定的な対話ノードの間に動的な対話ノードを挿入することができる。
本発明における対話システムの構成図である。 対話シナリオ蓄積部に記憶された複数の固定対話ノードを表す説明図である。 固定対話ノード間に挿入すべき動的対話ノードを検索する説明図である。 検索された各動的対話ノードについて、戻りの遷移確率を算出した説明図である。 動的対話ノードに対する遷移確率を総当たり的に算出した説明図である。 図2の固定対話ノード間に、動的対話ノードが挿入された最終的な対話シナリオを表す説明図である。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
図1は、本発明における対話システムの構成図である。
図1によれば、対話サーバモジュールプログラム1と、端末モジュールプログラム2とから構成されている。例えば、対話サーバモジュールプログラム1は、ユーザと対話的にシナリオを進行するものであって、例えばサーバによって実行される。一方で、端末モジュールプログラム2は、スマートフォンやタブレット端末によって実行されるものであって、ネットワークを介してサーバと通信する。対話サーバモジュールプログラム1は、端末2を通じて、ユーザと対話する。尚、両モジュールプログラム1及び2が、単体装置の1つのコンピュータによって一体的に実行されるものであってもよい。本発明によれば、サーバモジュールプログラムと端末モジュールプログラムとそれぞれが実行されるべき対象装置が、特定されるものではない。
端末モジュールプログラム2は、ユーザに対する入力デバイス及び出力デバイスを有する。入力デバイスがマイクである場合、入力音声処理部は、マイクによって取得された音声信号を回答文に変換し、その回答文を対話サーバモジュールプログラム1へ送信する。また、出力デバイスがスピーカである場合、対話サーバモジュールプログラム1から受信した回答文を音声信号に変換し、その音声信号がスピーカから出力される。
図1によれば、対話サーバモジュールプログラム1は、対話シナリオ蓄積部10と、動的対話ノード蓄積部11と、動的対話ノード選択部12と、対話シナリオ進行部13と、質問文送信部14と、回答文受信部15と、ポジネガ判定部16と、挿入判定部17とを有する。尚、質問文送信部14は、対話シナリオ進行部13に基づくユーザへの質問文を、端末モジュールプログラム2へ送信する。また、回答文受信部15は、端末モジュールプログラム2から、ユーザからの回答文を受信する。
[対話シナリオ蓄積部10]
対話シナリオ蓄積部10は、ユーザへ明示すべき文を対応付けた複数の固定対話ノードを蓄積し、第1の固定対話ノードから第2の固定対話ノードへシナリオとして結び付けている。「対話シナリオ」とは、質問及び回答からなる対話ノードをツリー状に構成したものである。
図2は、対話シナリオ蓄積部に記憶された複数の固定対話ノードを表す説明図である。
図2によれば、各固定対話ノードの結び付きによって、以下のようにシナリオが進んでいる。
(システム)「予定を入れてください」
(ユーザ) 「土曜日8時に軽井沢でゴルフをする」
(システム)「プレー開始2時間前にアラームを設定しますか?」
(ユーザ) 「はい」
例えば、システムにおける「予定を入れてください」の質問に対して、ユーザが何も返答しなければ、このシナリオは終了することなる。このような対話シナリオは、固定対話ノードの結び付きによって、対話シナリオ蓄積部10に予め蓄積されている。
[動的対話ノード蓄積部11]
動的対話ノード蓄積部11は、対話ノード同士の間に挿入可能な複数の動的対話ノードを蓄積する。動的対話ノードも、固定対話ノードと構造としては同じであるが、対話ノード同士が予め結び付いているものではない。
尚、固定対話ノード及び動的対話ノードの各々は、ユーザへの質問に対する複数の回答によって短い対話シナリオを構成している。従って、1つのノードの中でも、質問と回答とがツリー状に対話シナリオとして構成されている。
ここで、オプション的に、ポジネガ判定部16及び挿入判定部17を更に備えるものであってもよい。ポジネガ判定部16及び挿入判定部17は、固定対話ノードの間に、動的対話ノードを挿入してよいか否かを判定する。即ち、ユーザの対話の反応によっては、動的対話ノードを挿入すべきでない場合もあるからである。例えば、ユーザがネガティブな反応をする場合、あえて、動的対話ノードを挿入することによって、ユーザに更なる質問をすることは好ましくない。以下では、2つの判定方法について説明する。
<挿入判定部17のみ>
第1の固定対話ノード毎に、そのノードに含まれる文の次に、動的対話ノードに基づく質問を挿入することの適否を表す質問適合度が付与されている。例えば、以下のように、質問適合度が付与されている。
(固定対話ノード) (質問適用度)
「予定を入れてください」: 1
「具合が悪いのですか」 : 0.5
「ゴルフは好きですか」 : 2
質問適用度とは、その固定対話ノードの対話の後に、ユーザに対して更なる質問をすることが適切である場合ほど、高い値となる。例えば「ゴルフは好きですか」のような固定対話ノードが実行される場合には、ユーザに比較的余裕がある状態であって、質問適用度は高い値となる。一方で、その固定対話ノードの対話の後に、更なる質問をすることが適切でない場合ほど、低い値となる。例えば「具合が悪いのですか」のような固定対話ノードが実行される場合には、ユーザに比較的余裕がない状態であって、質問適用度は低い値となる。
ここで、挿入判定部17は、第1の固定対話ノードの質問適合度が所定閾値以上の場合にのみ、第1の固定対話ノードの次に動的対話ノードを挿入すると判定する。所定閾値は、例えば「0.8」であってもよい。その場合、「具合が悪いのですか」の質問の後に、動的対話ノードが挿入されることはない。
最終的に、挿入判定部17によって、真と判定された場合にのみ、動的対話ノード選択部12が実行される。
<ポジネガ判定部16+挿入判定部17>
ポジネガ判定部16は、第1の固定対話ノードの文に対するユーザの回答の内容が、肯定的か又は否定的かを判定する。ポジネガ判定部16は、評価語に、ポジティブ(肯定的)/ネガティブ(否定的)の意味属性が対応付けられた評価極性辞書を有する。例えば以下のようなものである。
(評価語) (意味属性)
いじめる ネガティブ
結婚 ポジティブ
貧乏 ネガティブ
よろこぶ ポジティブ
また、意味属性には、以下のような係数が対応付けられている。
ポジティブ(肯定的)=2
ネガティブ(否定的)=0.5
次に、挿入判定部17によれば、前述と同様に、第1の固定対話ノード毎に、そのノードに含まれる文の次に、動的対話ノードに基づく質問を挿入することの適否を表す質問適合度が付与されている。そして、挿入判定部17は、その質問適合度に、ポジ/ネガそれぞれに割り当てられた係数を乗算する。
(対話例1)
「予定を入れてください」:質問適用度=1
「日曜日に結婚式がある」:ポジティブ=2
質問適用度=1×2=2
(対話例2)
「具合が悪いのですか」 :質問適用度=0.5
「いじめられた」 :ネガティブ=0.5
質問適用度=0.5×0.5=0.25
(対話例3)
「ゴルフは好きですか」 :質問適用度=2
「貧乏だからできない」 :ネガティブ=0.5
質問適用度=2×0.5=1
ここで、挿入判定部17は、第1の固定対話ノードの質問適合度が所定閾値以上の場合にのみ、第1の固定対話ノードの次に動的対話ノードを挿入すると判定する。所定閾値は、例えば「0.8」であってもよい。その場合、「いじめられた」の回答の後に、動的対話ノードが挿入されることはない。一方で、「日曜日に結婚式がある」「貧乏だからできない」の後には、動的対話ノードが挿入されることとなる。
最終的に、挿入判定部17によって、真と判定された場合にのみ、動的対話ノード選択部12が実行される。
[動的対話ノード選択部12]
動的対話ノード選択部12は、動的対話ノード検索部121と、戻り遷移確率算出部122と、動的対話ノード決定部123とを有する。
<動的対話ノード検索部121>
動的対話ノード検索部121は、動的対話ノード蓄積部11から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)が高い所定数の動的対話ノードを検索する。
図3は、固定対話ノード間に挿入すべき動的対話ノードを検索する説明図である。
図3によれば、7つの動的対話ノードが、動的対話ノード蓄積部11に蓄積されているとする。[]は、名詞に属するカテゴリを表す。
(S1)ゴルフ[スポーツ]は趣味ですか?
(S2)軽井沢[場所]で働いていますか?
(S3)よく軽井沢[場所]でスポーツ[スポーツ]をしますか?
(S4)***[人名]は友達ですか?
(S5)毎日[時間]電車[物]に乗る時、アラーム[時間]を設定しますか?
(S6)どこか具合が悪いですか?
(S7)いつも休日[時間]に早起き[目覚まし]でゴルフ[スポーツ]をしますか?
各文は、形態素に区分された後、対話コーパスにおける出現頻度が高い重要語(名詞)を蓄積した重要語辞書を用いて、重要語が検出される。勿論、あえて重要語として検出することなく、形態素の名詞を全て、コサイン距離を算出するための要素としてもよい。コサイン距離は、各文の中から抽出された重要語及びその名詞種別に応じて算出される。例えば以下のような概念式で算出される。
固定対話ノードの文の重要語の特徴ベクトル:D
動的対話ノードの文の重要語の特徴ベクトル:E
2つの文の類似度:sim(D,E)
sim(D,E)=cosθ=(D・E)/(|D||E|)
コサイン距離は、同じ単語同士である場合には類似度重みを1とし、同じカテゴリ同士である場合にも類似度重みを1とする。勿論、同じ単語カテゴリの類似度重みは、0〜1の間の値で設定可能である。
ここで、動的対話ノード検索部121は、固定対話ノードの回答文「土曜日8時に軽井沢でゴルフをする」と、各動的対話ノードの質問文との間のコサイン距離を算出する。休日[時間]と土曜日[時間]との場合、同じカテゴリ同士であるので、類似度重みは1とする。
例えば「予定を入れてください」及び「土曜日8時に軽井沢でゴルフをする」について、以下の重要語が検出される。
「土曜日」:[時間]
「軽井沢」:[場所]
「ゴルフ」:[スポーツ]
「予定」 :[予定]
ここで、「予定を入れてください」及び「土曜日8時に軽井沢でゴルフをする」に対する、各動的対話ノードのコサイン距離を算出する。
(S1)ゴルフ[スポーツ]は趣味ですか?
=「ゴルフ」:コサイン距離=0.50
(S2)軽井沢[場所]で働いていますか?
=「軽井沢」:コサイン距離=0.50
(S3)よく軽井沢でスポーツをしますか?
=「軽井沢」「スポーツ」:コサイン距離=0.71
(S4)***[人名]は友達ですか?
=***:コサイン距離=0.0
(S5)毎日[時間]電車[乗物]に乗る時、アラーム[時間]を設定しますか?
=「毎日」「電車」「アラーム」:コサイン距離=0.29
(S6)どこか具合が悪いですか?
=コサイン距離=0.0
(S7)いつも休日[時間]に早起き[目覚まし]でゴルフ[スポーツ]をしますか?
=「休日」「早起き」「ゴルフ」:コサイン距離=0.58
図3によれば、例えば、検索されるコサイン距離の閾値「0.5」が設定されているとする。この場合、S1、S2、S3及びS7が、動的対話ノードの候補として検索される。尚、文の間のコサイン距離の算出方法としては、ベクトル空間法を用いた類似度の算出方法がある(例えば非特許文献1参照)。
<戻り遷移確率算出部122>
戻り遷移確率算出部122は、検索された各動的対話ノードの文から第2の固定対話ノードへの戻りの遷移確率P(Si,B)を算出する。戻り遷移確率算出部122も、動的対話ノード検索部121と同様に、遷移確率は、固定対話ノードの文と、動的対話ノードの文との間のコサイン距離に基づくものである。
図4は、検索された各動的対話ノードについて、戻りの遷移確率を算出した説明図である。
ここで、戻り遷移確率算出部122は、各動的対話ノードの質問文と、戻り(第2)の固定対話ノードの質問文「プレー開始2時間前にアラームを設定しますか?」との間のコサイン距離を算出する。例えば以下のように算出される。
「プレー開始2時間前にアラームを設定しますか?」=「プレー」「時間」「アラーム」
(S1)ゴルフ[スポーツ]は趣味ですか?
=「ゴルフ」:コサイン距離=0.58
(S2)軽井沢[場所]で働いていますか?
=「軽井沢」:コサイン距離=0.0
(S3)よく軽井沢[場所]でスポーツ[スポーツ]をしますか?
=「軽井沢」「スポーツ」:コサイン距離=0.41
(S7)いつも休日[時間]に早起き[目覚まし]でゴルフ[スポーツ]をしますか?
=「休日」「早起き」「ゴルフ」:コサイン距離=1.0
ここでは、「ゴルフ」と「プレー」とは、[スポーツ]という同一のカテゴリに属する。また、「2時間」と「休日」とは、[時間]という同一のカテゴリに属する。「早起き」と「アラーム」とは、「目覚まし」という同一のカテゴリに属する。同一カテゴリの単語同士は、コサイン距離が短くなる。そうすると、結果的に、「いつも休日にゴルフをしますか?」と、「プレー開始2時間前にアラームを設定しますか?」との文同士の間のコサイン距離が、最も短く(高い値)となる。
<動的対話ノード決定部123>
動的対話ノード決定部123は、第1の固定対話ノードからの行きの遷移確率P(A,Si)と、第2の固定対話ノードからの戻りの遷移確率P(Si,B)との組み合わせが、所定条件下で最大となる動的対話ノードを選択する。例えば、所定条件を乗算値として、行きの遷移確率P(A,Si)と戻りの遷移確率P(Si,B)との乗算値が、最大となる動的対話ノードを選択するものであってもよい。
P(A,Si)×P(Si,B)
(S1)ゴルフは趣味ですか? =0.50×0.58=0.29
(S2)軽井沢で働いていますか? =0.50×0=0
(S3)よく軽井沢でスポーツをしますか? =0.71×0.41=0.29
★(S7)いつも休日に早起きでゴルフをしますか?=0.58×1.00=0.58
最終的に、S7の動的対話ノードに決定される。
また、行きの遷移確率P(A,Si)に重み付けて、戻り遷移確率P(Si,B)との乗算値であってもよい。更に、行きの遷移確率P(A,Si)と戻り遷移確率P(Si,B)との加算値であってもよい。ここでの「所定条件下で最大となる」とは、様々な算出方法を採用することができる。
<動的対話ノード選択部12の上位概念的な算出方法>
前述した動的対話ノード選択部12は、3つのステップを実行するものとして説明したが、上位概念的に、最初から、行きの遷移確率と戻りの遷移確率とを組み合わせて、動的対話ノードを選択するものであってよい。即ち、動的対話ノード選択部12は、動的対話ノード蓄積部11から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)と、第2の固定対話ノードへの戻りの遷移確率P(Si,B)との組み合わせが、所定条件下で最大となる動的対話ノードを選択する。
図5は、動的対話ノードに対する遷移確率を総当たり的に算出した説明図である。
図5によれば、動的対話ノード選択部12は、固定対話ノードの回答文「土曜日8時に軽井沢でゴルフをする」と、全ての動的対話ノードの質問文との間のコサイン距離を算出する。また、動的対話ノード選択部12は、全ての動的対話ノードの質問文と、戻り(第2)の固定対話ノードの質問文「プレー開始2時間前にアラームを設定しますか?」との間のコサイン距離を算出する。そして、各動的対話ノードについて、例えば2つのコサイン距離の乗算値(加算値や所定条件)を算出する。そして、例えば乗算値が最大となる動的対話ノードが選択される。
[対話シナリオ進行部13]
対話シナリオ進行部13は、第1の固定対話ノードから、選択された動的対話ノードを挿入し、第2の固定対話ノードへ、シナリオを進行する。
図6は、図2の固定対話ノード間に、動的対話ノードが挿入された最終的な対話シナリオを表す説明図である。
図6によれば、以下のように対話シナリオが進行している。
(システム)「予定を入れてください」(固定対話ノード)
(ユーザ) 「土曜日8時に軽井沢でゴルフをする」
(システム)「いつも休日に早起きでゴルフをしますか?」(動的対話ノード)
(ユーザ) 「いつもは平日だなあ」
(システム)「プレー開始2時間前にアラームを設定しますか?」(固定対話ノード)
(ユーザ) 「はい」
ここで、対話システムは、動的対話ノードによって、当該ユーザは「ゴルフを普段平日にしている」という情報(ユーザの趣味や嗜好などプロフィール情報)を収集することができる。
以上、詳細に説明したように、本発明の対話プログラム、サーバ及び方法によれば、動的対話ノードから固定対話ノードへ戻る際の遷移確率を考慮することによって、できる限り自然な対話の中で、固定的な対話ノードの間に動的な対話ノードを挿入することができる。
尚、本発明は、ユーザ操作に基づく端末のディスプレイに「キャラクタ・エージェント」を表示し、ユーザとエージェントとが音声による対話を進める、音声対話システムに適する。勿論、本発明は、音声対話に限定されるものではなく、テキスト対話であってもよい。
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
1 対話サーバモジュールプログラム
10 対話シナリオ蓄積部
11 動的対話ノード蓄積部
12 動的対話ノード選択部
121 動的対話ノード検索部
122 戻り遷移確率算出部
123 動的対話ノード決定部
13 対話シナリオ進行部
14 質問文送信部
15 回答文受信部
16 ポジネガ判定部
17 挿入判定部
2 端末モジュールプログラム

Claims (8)

  1. ユーザと対話的にシナリオを進行するようにコンピュータを機能させる対話プログラムであって、
    ユーザへ明示すべき文を対応付けた複数の固定対話ノードを蓄積し、第1の固定対話ノードから第2の固定対話ノードへシナリオとして結び付けた対話シナリオ蓄積手段と、
    前記対話ノード同士の間に挿入可能な複数の動的対話ノードを蓄積する動的対話ノード蓄積手段と、
    前記動的対話ノード蓄積手段から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)と、第2の固定対話ノードへの戻りの遷移確率P(Si,B)との組み合わせが、所定条件下で最大となる動的対話ノードを選択する動的対話ノード選択手段と、
    第1の固定対話ノードから、選択された前記動的対話ノードを挿入し、第2の固定対話ノードへ、シナリオを進行する対話シナリオ進行手段と
    してコンピュータを機能させることを特徴とする対話プログラム。
  2. 前記動的対話ノード選択手段は、
    前記動的対話ノード蓄積手段から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)が高い所定数の動的対話ノードを検索する動的対話ノード検索手段と、
    検索された各動的対話ノードの文から第2の固定対話ノードへの戻りの遷移確率P(Si,B)を算出する戻り遷移確率算出手段と、
    第1の固定対話ノードからの行きの遷移確率と、第2の固定対話ノードからの戻りの遷移確率との組み合わせが、所定条件下で最大となる動的対話ノードを決定する動的対話ノード決定手段と
    を含むようにコンピュータを機能させることを特徴とする請求項1に記載の対話プログラム。
  3. 前記動的対話ノード検索手段及び前記戻り遷移確率算出手段における遷移確率は、固定対話ノードの文と、動的対話ノードの文との間のコサイン距離に基づくものであるようにコンピュータを機能させることを特徴とする請求項2に記載の対話プログラム。
  4. 対話コーパスにおける出現頻度が高い重要語(名詞)を蓄積した重要語辞書を用いて、前記コサイン距離は、各文の中から抽出された重要語及びそのカテゴリに応じて算出されるようにコンピュータを機能させることを特徴とする請求項3に記載の対話プログラム。
  5. 第1の固定対話ノード毎に、そのノードに含まれる文の次に、動的対話ノードに基づく質問を挿入することの適否を表す質問適合度が付与されており、
    第1の固定対話ノードの前記質問適合度が所定閾値以上の場合にのみ、第1の固定対話ノードの次に動的対話ノードを挿入すると判定する挿入判定手段を更に有し、
    前記動的対話ノード検索手段は、前記挿入判定手段によって真と判定された場合にのみ機能する
    ようにコンピュータを機能させることを特徴とする請求項1から4のいずれか1項に記載の対話プログラム。
  6. 第1の固定対話ノードの文に対するユーザの回答の内容が、肯定的か又は否定的かを判定するするポジネガ判定手段を更に有し、
    前記挿入判定手段は、前記質問適合度に、ポジ/ネガそれぞれに割り当てられた係数を乗算し、その乗算値が所定閾値以上の場合にのみ、第1の固定対話ノードの次に動的対話ノードを挿入すると判定する
    ようにコンピュータを機能させることを特徴とする請求項1から5のいずれか1項に記載の対話プログラム。
  7. ユーザ操作に基づく端末との間で、対話的にシナリオを進行する対話サーバであって、
    前記端末へ送信すべき文を対応付けた複数の固定対話ノードを蓄積し、第1の固定対話ノードから第2の固定対話ノードへシナリオとして結び付けた対話シナリオ蓄積手段と、
    前記対話ノード同士の間に挿入可能な複数の動的対話ノードを蓄積する動的対話ノード蓄積手段と、
    前記動的対話ノード蓄積手段から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)と、第2の固定対話ノードへの戻りの遷移確率P(Si,B)との組み合わせが、所定条件下で最大となる動的対話ノードを選択する動的対話ノード選択手段と、
    第1の固定対話ノードから、選択された前記動的対話ノードを挿入し、第2の固定対話ノードへ、シナリオを進行する対話シナリオ進行手段と
    を有することを特徴とする対話サーバ。
  8. 装置を用いて、ユーザと対話的にシナリオを進行する対話方法であって、
    ユーザへ明示すべき文を対応付けた複数の固定対話ノードを蓄積し、第1の固定対話ノードから第2の固定対話ノードへシナリオとして結び付けた対話シナリオ蓄積部と、
    前記対話ノード同士の間に挿入可能な複数の動的対話ノードを蓄積する動的対話ノード蓄積部と、
    前記動的対話ノード蓄積部から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)と、第2の固定対話ノードへの戻りの遷移確率P(Si,B)との組み合わせが、所定条件下で最大となる動的対話ノードを選択する第1のステップと、
    第1の固定対話ノードから、選択された前記動的対話ノードを挿入し、第2の固定対話ノードへ、シナリオを進行する第2のステップと
    を有することを特徴とする対話方法。
JP2013068522A 2013-03-28 2013-03-28 対話シナリオに動的対話ノードを挿入する対話プログラム、サーバ及び方法 Active JP6027476B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013068522A JP6027476B2 (ja) 2013-03-28 2013-03-28 対話シナリオに動的対話ノードを挿入する対話プログラム、サーバ及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013068522A JP6027476B2 (ja) 2013-03-28 2013-03-28 対話シナリオに動的対話ノードを挿入する対話プログラム、サーバ及び方法

Publications (2)

Publication Number Publication Date
JP2014191271A true JP2014191271A (ja) 2014-10-06
JP6027476B2 JP6027476B2 (ja) 2016-11-16

Family

ID=51837539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013068522A Active JP6027476B2 (ja) 2013-03-28 2013-03-28 対話シナリオに動的対話ノードを挿入する対話プログラム、サーバ及び方法

Country Status (1)

Country Link
JP (1) JP6027476B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055547A (zh) * 2015-04-02 2016-10-26 松下知识产权经营株式会社 对话方法、记录介质以及对话系统
CN107945796A (zh) * 2017-11-13 2018-04-20 百度在线网络技术(北京)有限公司 语音识别方法、装置、设备及计算机可读介质
JP2019175290A (ja) * 2018-03-29 2019-10-10 株式会社アドバンスト・メディア 情報処理システム、情報処理装置、サーバ、情報処理方法及びプログラム
JP2021099874A (ja) * 2020-05-22 2021-07-01 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド 複数ターン会話におけるパブリックシナリオ会話のバックトラッキング方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
CN114415909A (zh) * 2021-12-27 2022-04-29 宝宝巴士股份有限公司 一种基于cocos2dx的节点交互方法及装置
JP2022544969A (ja) * 2019-08-15 2022-10-24 エーアイ スピーチ カンパニー リミテッド 音声会話処理方法及び装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004212802A (ja) * 2003-01-07 2004-07-29 Fujitsu Ltd 対話情報処理システム
JP2007225682A (ja) * 2006-02-21 2007-09-06 Murata Mach Ltd 音声対話装置と対話方法及び対話プログラム
JP2009198614A (ja) * 2008-02-19 2009-09-03 Toyota Central R&D Labs Inc 対話装置及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004212802A (ja) * 2003-01-07 2004-07-29 Fujitsu Ltd 対話情報処理システム
JP2007225682A (ja) * 2006-02-21 2007-09-06 Murata Mach Ltd 音声対話装置と対話方法及び対話プログラム
JP2009198614A (ja) * 2008-02-19 2009-09-03 Toyota Central R&D Labs Inc 対話装置及びプログラム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055547A (zh) * 2015-04-02 2016-10-26 松下知识产权经营株式会社 对话方法、记录介质以及对话系统
JP2016197227A (ja) * 2015-04-02 2016-11-24 パナソニックIpマネジメント株式会社 対話方法、対話プログラム及び対話システム
CN106055547B (zh) * 2015-04-02 2021-06-18 松下知识产权经营株式会社 对话方法、记录介质以及对话系统
CN107945796A (zh) * 2017-11-13 2018-04-20 百度在线网络技术(北京)有限公司 语音识别方法、装置、设备及计算机可读介质
JP2019175290A (ja) * 2018-03-29 2019-10-10 株式会社アドバンスト・メディア 情報処理システム、情報処理装置、サーバ、情報処理方法及びプログラム
JP2022544969A (ja) * 2019-08-15 2022-10-24 エーアイ スピーチ カンパニー リミテッド 音声会話処理方法及び装置
JP7274043B2 (ja) 2019-08-15 2023-05-15 エーアイ スピーチ カンパニー リミテッド 音声会話処理方法及び装置
JP2021099874A (ja) * 2020-05-22 2021-07-01 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド 複数ターン会話におけるパブリックシナリオ会話のバックトラッキング方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
JP7141482B2 (ja) 2020-05-22 2022-09-22 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 複数ターン会話におけるパブリックシナリオ会話のバックトラッキング方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
CN114415909A (zh) * 2021-12-27 2022-04-29 宝宝巴士股份有限公司 一种基于cocos2dx的节点交互方法及装置
CN114415909B (zh) * 2021-12-27 2023-12-26 宝宝巴士股份有限公司 一种基于cocos2dx的节点交互方法及装置

Also Published As

Publication number Publication date
JP6027476B2 (ja) 2016-11-16

Similar Documents

Publication Publication Date Title
CN107797984B (zh) 智能交互方法、设备及存储介质
JP6027476B2 (ja) 対話シナリオに動的対話ノードを挿入する対話プログラム、サーバ及び方法
CN107609101B (zh) 智能交互方法、设备及存储介质
CN111104496B (zh) 从先前会话检索情境
US11159462B2 (en) Communication system and communication control method
CN111414462B (zh) 一种对话语句确定方法、装置、计算机设备和介质
JP6651973B2 (ja) 対話処理プログラム、対話処理方法および情報処理装置
CN109086303A (zh) 基于机器阅读理解的智能对话方法、装置、终端
US10671665B2 (en) Personalized audio introduction and summary of result sets for users
JP2014524076A (ja) ソーシャル・ネットワーキング・システムの通信からのトピックの推論法
JP5992516B2 (ja) ソーシャル・コンテキストを用いたソーシャル・ネットワーキング・システムの通信からのトピックの推論法
JP2008191748A (ja) ユーザ間コミュニケーション方法、ユーザ間コミュニケーションプログラム、ユーザ間コミュニケーション装置
JP6362861B2 (ja) 対話シナリオに対する動的対話ノードの挿入行動を制御する対話プログラム、サーバ及び方法
US9720982B2 (en) Method and apparatus for natural language search for variables
JP2015219583A (ja) 話題決定装置、発話装置、方法、及びプログラム
CN113314119B (zh) 语音识别智能家居控制方法及装置
US11595331B2 (en) Communication system and communication control method
US10770068B2 (en) Dialog agent, reply sentence generation method, and non-transitory computer-readable recording medium
JP6224528B2 (ja) 属性値が付与された情報要素を絞り込んで検索する対話検索プログラム、装置及び方法
CN111427444B (zh) 一种智能设备的控制方法和设备
CN105430536B (zh) 一种视频推送方法和装置
JP2013072887A (ja) 対話装置
JP6482703B1 (ja) 推定装置、推定方法および推定プログラム
JP6898064B2 (ja) 対話決定システム、対話決定方法、対話決定プログラム、及び端末装置
CN112836127B (zh) 推荐社交用户的方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160902

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160902

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161005

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161014

R150 Certificate of patent or registration of utility model

Ref document number: 6027476

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150