(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-04
(45)【発行日】2022-08-15
(54)【発明の名称】対話プラン作成支援装置、対話プラン作成支援方法、及びプログラム
(51)【国際特許分類】
G10L 15/22 20060101AFI20220805BHJP
G06F 40/166 20200101ALI20220805BHJP
G10L 13/00 20060101ALI20220805BHJP
【FI】
G10L15/22 300U
G06F40/166
G10L13/00 100M
(21)【出願番号】P 2018169844
(22)【出願日】2018-09-11
【審査請求日】2021-01-25
(73)【特許権者】
【識別番号】502324066
【氏名又は名称】株式会社デンソーアイティーラボラトリ
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】100113549
【氏名又は名称】鈴木 守
(74)【代理人】
【識別番号】100115808
【氏名又は名称】加藤 真司
(74)【代理人】
【識別番号】100211775
【氏名又は名称】村田 敦俊
(72)【発明者】
【氏名】塚原 裕史
(72)【発明者】
【氏名】岩佐 拓哉
【審査官】冨澤 直樹
(56)【参考文献】
【文献】特開2015-125198(JP,A)
【文献】特開2018-054790(JP,A)
【文献】特開2003-255990(JP,A)
【文献】特開昭63-180130(JP,A)
【文献】特開2005-025602(JP,A)
【文献】特開2003-280687(JP,A)
【文献】特開2006-154724(JP,A)
【文献】Yuichi Matsushita, et al.,Crowdsourcing Environment to Create Voice Interaction Scenario of Sopken Dialogue System,18th International Conference on Network-Based Information Systems,2015,米国,IEEE,2015年09月02日,pp. 499-504,ISBN:978-1-4799-9942-2
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-15/34
G06F 40/56
G10L 13/00-13/10
(57)【特許請求の範囲】
【請求項1】
システムからユーザへの振り発話と、ユーザからシステムへのユーザ応答と、システムからユーザへの受け発話とで構成される対話プランであって、次の対話プランの遷移先の情報を含む対話プランの作成を支援する装置であって、
前記対話プランを記憶する対話プランデータベースと、
作業者が前記対話プランを作成して入力する作業者端末と通信を行う通信部と、
前記通信部を介して前記作業者端末に、
遷移先の対話プランの候補を表示する対話プランの作成支援画面を送信し、前記作成支援画面にて入力された対話プランのデータを受信し、受信した対話プランのデータを前記対話プランデータベースに記憶する制御部と、
を備え
、
前記作成支援画面は、遷移先の対話プランの候補が、遷移先としてリンクされている被リンク数を表示する対話プラン作成支援装置。
【請求項2】
前記制御部は、前記作業者端末から受信した対話プランのデータを記憶する際に、当該対話プランに未確定のステータスを付与し、管理者の操作に応じて、前記未確定のステータスを確定に変更する請求項
1に記載の対話プラン作成支援装置。
【請求項3】
前記作成支援画面において、遷移先の対話プランの候補がグループ化されている請求項
1または2に記載の対話プラン作成支援装置。
【請求項4】
システムからユーザへの振り発話と、ユーザからシステムへのユーザ応答と、システムからユーザへの受け発話とで構成される対話プランであって、次の対話プランの遷移先の情報を含む対話プランの作成を支援する装置であって、
前記対話プランを記憶する対話プランデータベースと、
作業者が前記対話プランを作成して入力する作業者端末と通信を行う通信部と、
前記通信部を介して前記作業者端末に対話プランの作成支援画面を送信し、前記作成支援画面にて入力された対話プランのデータを受信し、受信した対話プランのデータを前記対話プランデータベースに記憶する制御部と、
を備え
、
前記制御部は、前記対話プランの遷移にループする箇所がある場合には、警告を出力し、
前記制御部は、何回で同じ対話プランに戻ってくるかを示す回数を出力する対話プラン作成支援装置。
【請求項5】
システムからユーザへの振り発話と、ユーザからシステムへのユーザ応答と、システムからユーザへの受け発話とで構成される対話プランであって、次の対話プランの遷移先の情報を含む対話プランの作成を支援する装置であって、
前記対話プランを記憶する対話プランデータベースと、
作業者が前記対話プランを作成して入力する作業者端末と通信を行う通信部と、
前記通信部を介して前記作業者端末に対話プランの作成支援画面を送信し、前記作成支援画面にて入力された対話プランのデータを受信し、受信した対話プランのデータを前記対話プランデータベースに記憶する制御部と、
を備え、
前記制御部は、選択された一の対話プランを起点として、前記対話プランデータベースに記憶された対話プランを用いて、締めの受け発話に至るかまたは遷移先がなくなるまで対話のシミュレーションを行い、継続した対話プランの数をカウントし、その結果を表示部に表示させる対話プラン作成支援装置。
【請求項6】
前記制御部は、各対話プランが使用された回数をカウントし、その結果を表示部に表示させる請求項
5に記載の対話プラン作成支援装置。
【請求項7】
前記制御部は、対話が終了した理由として、締めの受け発話に至った回数、および、遷移先がなくなった回数を表示部に表示させる請求項
5または6に記載の対話プラン作成支援装置。
【請求項8】
前記対話プランは、振り発話の内容にかかわらず使用可能な一般的なユーザ応答を含んでおり、
前記制御部は、一般的なユーザ応答にマッチした回数を表示部に表示させる請求項
5乃至7のいずれかに記載の対話プラン作成支援装置。
【請求項9】
システムからユーザへの振り発話と、ユーザからシステムへのユーザ応答と、システムからユーザへの受け発話とで構成される対話プランであって、次の対話プランの遷移先の情報を含む対話プランの作成を支援する方法であって、
作業者が前記対話プランを作成して入力する作業者端末に対して、
遷移先の対話プランの候補を表示する対話プランの作成支援画面を送信するステップと、
前記作業者端末において、前記作成支援画面を通じて対話プランのデータの入力を受け付けるステップと、
前記作業者端末にて入力された対話プランのデータを受信し、受信した対話プランのデータを対話プランデータベースに記憶するステップと、
を備え
、
前記作成支援画面は、遷移先の対話プランの候補が、遷移先としてリンクされている被リンク数を表示する対話プラン作成支援方法。
【請求項10】
システムからユーザへの振り発話と、ユーザからシステムへのユーザ応答と、システムからユーザへの受け発話とで構成される対話プランであって、次の対話プランの遷移先の情報を含む対話プランの作成を支援する方法であって、
作業者が前記対話プランを作成して入力する作業者端末に対して、対話プランの作成支援画面を送信するステップと、
前記作業者端末において、前記作成支援画面を通じて対話プランのデータの入力を受け付けるステップと、
前記作業者端末にて入力された対話プランのデータを受信し、受信した対話プランのデータを対話プランデータベースに記憶するステップと、
前記対話プランの遷移にループする箇所がある場合には、警告を出力するステップと、
何回で同じ対話プランに戻ってくるかを示す回数を出力するステップと、
を備える対話プラン作成支援方法。
【請求項11】
システムからユーザへの振り発話と、ユーザからシステムへのユーザ応答と、システムからユーザへの受け発話とで構成される対話プランであって、次の対話プランの遷移先の情報を含む対話プランの作成を支援する方法であって、
作業者が前記対話プランを作成して入力する作業者端末に対して、対話プランの作成支援画面を送信するステップと、
前記作業者端末において、前記作成支援画面を通じて対話プランのデータの入力を受け付けるステップと、
前記作業者端末にて入力された対話プランのデータを受信し、受信した対話プランのデータを対話プランデータベースに記憶するステップと、
選択された一の対話プランを起点として、前記対話プランデータベースに記憶された対話プランを用いて、締めの受け発話に至るかまたは遷移先がなくなるまで対話のシミュレーションを行い、継続した対話プランの数をカウントし、その結果を表示部に表示させるステップと、
を備える対話プラン作成支援方法。
【請求項12】
システムからユーザへの振り発話と、ユーザからシステムへのユーザ応答と、システムからユーザへの受け発話とで構成される対話プランであって、次の対話プランの遷移先の情報を含む対話プランの作成を支援するためのプログラムであって、コンピュータに、
作業者が前記対話プランを作成して入力する作業者端末に対して、
遷移先の対話プランの候補を表示する対話プランの作成支援画面を送信するステップと、
前記作業者端末において、前記作成支援画面を通じて対話プランのデータの入力を受け付けるステップと、
前記作業者端末にて入力された対話プランのデータを受信し、受信した対話プランのデータを対話プランデータベースに記憶するステップと、
を実行させ
、
前記作成支援画面は、遷移先の対話プランの候補が、遷移先としてリンクされている被リンク数を表示するプログラム。
【請求項13】
システムからユーザへの振り発話と、ユーザからシステムへのユーザ応答と、システムからユーザへの受け発話とで構成される対話プランであって、次の対話プランの遷移先の情報を含む対話プランの作成を支援するためのプログラムであって、コンピュータに、
作業者が前記対話プランを作成して入力する作業者端末に対して、対話プランの作成支援画面を送信するステップと、
前記作業者端末において、前記作成支援画面を通じて対話プランのデータの入力を受け付けるステップと、
前記作業者端末にて入力された対話プランのデータを受信し、受信した対話プランのデータを対話プランデータベースに記憶するステップと、
前記対話プランの遷移にループする箇所がある場合には、警告を出力するステップと、
何回で同じ対話プランに戻ってくるかを示す回数を出力するステップと、
を実行させるプログラム。
【請求項14】
システムからユーザへの振り発話と、ユーザからシステムへのユーザ応答と、システムからユーザへの受け発話とで構成される対話プランであって、次の対話プランの遷移先の情報を含む対話プランの作成を支援するためのプログラムであって、コンピュータに、
作業者が前記対話プランを作成して入力する作業者端末に対して、対話プランの作成支援画面を送信するステップと、
前記作業者端末において、前記作成支援画面を通じて対話プランのデータの入力を受け付けるステップと、
前記作業者端末にて入力された対話プランのデータを受信し、受信した対話プランのデータを対話プランデータベースに記憶するステップと、
選択された一の対話プランを起点として、前記対話プランデータベースに記憶された対話プランを用いて、締めの受け発話に至るかまたは遷移先がなくなるまで対話のシミュレーションを行い、継続した対話プランの数をカウントし、その結果を表示部に表示させるステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対話プラン作成支援装置、対話プラン作成支援方法、及びプログラムに関する。
【背景技術】
【0002】
従来から、ユーザの入力ごとにシステムの応答を出力する入力応答型の対話システムが知られている。典型的には、質問応答システムや最近のAIスピーカーなどがこれに当たる。
【0003】
また、あるタスクの目的を達成するために、あらかじめ決められたシナリオに従って、対話を行うシナリオベースの対話システムが知られている。飛行機のチケット予約や店頭に置かれたロボットなどが来客者から要件を聞き出すための対話システムなどがこれに当たる。
【0004】
特許文献1は、音声対話において、ユーザの発話が短い単語であった場合でも、意味を汲み取って応答を返す音声対話システムを開示している。特許文献1に記載された音声対話システムは、第1のシステム発話の内容と、ユーザ発話の内容と、第2のシステム発話の内容との3つが1組となった対話シナリオを用意することにより、ユーザ発話の長短に関わらず、1つ前のシステム発話の内容を考慮した自然な応答を返す発明である。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記したような音声対話システムにおいては、対話シナリオが多いほど自然な対話を実現することが可能である。本発明は、上記背景に鑑み、対話シナリオを分散並列的に複数のワーカーが同時に作成することを支援する対話プラン作成支援装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の対話プラン作成支援装置は、システムからユーザへの振り発話と、ユーザからシステムへのユーザ応答と、システムからユーザへの受け発話とで構成される対話プランであって、次の対話プランの遷移先の情報を含む対話プランの作成を支援する装置であって、前記対話プランを記憶する対話プランデータベースと、作業者が前記対話プランを作成して入力する作業者端末と通信を行う通信部と、前記通信部を介して前記作業者端末に対話プランの作成支援画面を送信し、前記作成支援画面にて入力された対話プランのデータを受信し、受信した対話プランのデータを前記対話プランデータベースに記憶する制御部とを備える。
【0008】
このように作業者端末に入力された対話プランのデータを通信部を介して受信して対話プランデータベースに記憶する構成により、複数の作業者によって多数の対話プランを作成することができる。近年では、いわゆるクラウドソーシングと呼ばれるインターネットを介して不特定多数の人材に業務を外注する形態が現れている。本発明の構成によれば、多数のクラウドワーカーに対話プランの作成を委託でき、多種多様な対話プランを容易に作成することができる。
【0009】
本発明の対話プラン作成支援装置において、前記制御部は、前記作業者端末から受信した対話プランのデータを記憶する際に、当該対話プランに未確定のステータスを付与し、管理者の操作に応じて、前記未確定のステータスを確定に変更してもよい。このように、作業者が作成した対話プランをそのまま採用するのではなく、管理者が対話プランをチェックすることにより、対話プランの品質を保持することができる。また、状態のステータスを付して対話プランを管理することにより、本番のシステムでは、確定のステータスを有する対話プランを用いる一方で、テストのときには、未確定のステータスを有する対話プランを用いることができる。
【0010】
本発明の対話プラン作成支援装置において、前記作成支援画面は、遷移先の対話プランの候補を表示してもよい。この構成により、遷移先の対話プランを容易に選択でき、対話プランの作成を支援できる。
【0011】
本発明の対話プラン作成支援装置は、前記作成支援画面において、遷移先の対話プランの候補がグループ化されていてもよい。例えば、同じ話題についての対話プランをグループ化しておく。この構成により、対話プランのグループを選択することで、複数の対話プランをいちいち選択しなくてもよいので効率が良い。
【0012】
本発明の対話プラン作成支援装置において、前記作成支援画面は、遷移先の対話プランの候補が、遷移先としてリンクされている被リンク数を表示してもよい。このようにリンクされている対話プランの個数を表示することにより、特定の対話プランへの遷移が集中しすぎないようにできる。
【0013】
本発明の対話プラン作成支援装置において、前記ユーザ応答を作成するための前記作成支援画面は、ユーザからの応答の正規表現パターンの入力項目と、当該正規発話パターンの応答例の入力項目とを有し、前記作成支援画面に設けられた更新ボタンが選択されると、前記制御部は、前記応答例が前記正規表現パターンと合致しているか否かを判定してもよい。正規表現パターンの入力は、所定の文法規則にしたがう必要があるが、本発明の構成により、応答例を入力することで正規表現パターンが正しいか否かを容易に判定できる。
【0014】
本発明の対話プラン作成支援装置において、前記作成支援画面は、ユーザが作成したユーザ応答を定型表現として保存するボタンを有し、前記保存するボタンが選択されると、前記制御部は、前記定型表現を記憶部に記憶すると共に、前記記憶部に記憶された定型表現を参照すべきことが記述されてもよい。この構成により、記憶部に記憶された定型表現を参照することにより、容易にユーザ応答を生成できると共に、記憶部に記憶された定型表現を修正することにより、これを参照する対話プランのユーザ応答を一括で修正することができる。
【0015】
本発明の対話プラン作成支援装置において、前記作成支援画面は、作成されたユーザ応答と当該ユーザ応答に対する受け発話を選択するチェックボックスと、他のプランにおいて前記選択されたユーザ応答と前記ユーザ応答に対する受け発話をコピーするボタンとを有してもよい。この構成により、ユーザ応答とそれに対応する受け発話を流用することができる。
【0016】
本発明の対話プラン作成支援装置において、前記作成支援画面は、作成した対話プランを初期発話として利用できるか否かを選択する項目を有してもよい。このように初期発話として利用できるか否かを選択する項目を有することで、最初に発話されると不自然な対話プランを初期発話から除外することで、自然な初期発話を実現できる。
【0017】
本発明の対話プラン作成支援装置において、前記作成支援画面は、作成した対話プランを一連の対話の中で2回以上利用できるか否かを選択する項目を有してもよい。このように対話プランを一連の対話の中で2回以上利用できるか否かを選択する項目を有することで、この入力項目を忘れずに設定することができる。複数回発話される不自然な対話プランを指定し、自然な対話を実現できる。
【0018】
本発明の対話プラン作成支援装置において、前記作成支援画面は、作成した対話プランの遷移先を指定しないで対話を終了させるか否かを選択する項目を有してもよい。この構成により、対話を終了させる対話プランを作成できる。
【0019】
本発明の対話プラン作成支援装置において、前記制御部は、作成中の対話プランのテストを実行するテストボタンを含む前記作成支援画面を送信し、前記テストボタンが操作されたときに、前記対話プランのテストを実行してもよい。この構成により、作成中の対話プランが違和感なく機能するか否かを確認できる。
【0020】
本発明の対話プラン作成支援装置は、前記テストにおいて、前記振り発話に対するユーザ応答を、作業者に入力させてもよい。この構成により、考えられる応答につい正しく遷移するかをテストすることができる。作業者は、応答例からユーザ応答を選択してもよいし、新しいユーザ応答を入力してもよい。これにより、対話プランに登録されていないユーザ応答があるパターンもテスト可能である。
【0021】
本発明の対話プラン作成支援装置において、前記制御部は、対話プランを前記遷移先の情報に従って表示部に階層表示させてもよい。この構成により、対話プランの流れを一覧できると共に、階層を確認できる。
【0022】
本発明の対話プラン作成支援装置において、前記制御部は、前記対話プランの遷移にループする箇所がある場合には、警告を出力してもよい。複数の作業者が対話プランにリンクを設定していくと、意図しないところでループが発生する可能性がある。本発明の構成によれば、警告を出力することにより、ループの箇所があることを知らせることにより、ループを解消することができる。
【0023】
本発明の対話プラン作成支援装置において、前記制御部は、何回で同じ対話プランに戻ってくるかを示す回数を出力してもよい。これにより、ループを許すかどうかの判断を助けることができる。
【0024】
本発明の対話プラン作成支援装置において、前記制御部は、選択された一の対話プランを起点として、前記対話プランデータベースに記憶された対話プランを用いて、締めの受け発話に至るかまたは遷移先がなくなるまで対話のシミュレーションを行い、継続した対話プランの数をカウントし、その結果を表示部に表示させてもよい。この構成により、対話が破綻せずに継続するやりとりの回数を可視化でき、対話プランの品質を評価できる。また、この結果に基づいて、例えば、対話が継続しない話題については発話コンテンツや応答コンテンツを補充すべきであるという方針を立てやすくなる。
【0025】
本発明の対話プラン作成支援装置において、前記制御部は、各対話プランが使用された回数をカウントし、その結果を表示部に表示させてもよい。これにより、よく使われる対話プランとそうでない対話プランを把握でき、対話プラン全体のバランスを見直すことができる。
【0026】
本発明の対話プラン作成支援装置において、前記制御部は、対話が終了した理由として、締めの受け発話に至った回数、および、遷移先がなくなった回数を表示部に表示させてもよい。これにより、対話が正常に終了したのかそうでないのかを把握できる。
【0027】
本発明の対話プラン作成支援装置において、前記対話プランは、振り発話の内容にかかわらず使用可能な一般的なユーザ応答を含んでおり、前記制御部は、一般的なユーザ応答にマッチした回数を表示部に表示させてもよい。一般的なユーザ応答にマッチした場合には、適切なユーザ応答が設定されていなかったと考えられるので、本発明の構成により、対話プランの妥当性をチェックできる。
【0028】
本発明の対話プラン作成支援方法は、システムからユーザへの振り発話と、ユーザからシステムへのユーザ応答と、システムからユーザへの受け発話とで構成される対話プランであって、次の対話プランの遷移先の情報を含む対話プランの作成を支援する方法であって、作業者が前記対話プランを作成して入力する作業者端末に対して、対話プランの作成支援画面を送信するステップと、前記作業者端末において、前記作成支援画面を通じて対話プランのデータの入力を受け付けるステップと、前記作業者端末にて入力された対話プランのデータを受信し、受信した対話プランのデータを対話プランデータベースに記憶するステップとを備える。
【0029】
本発明のプログラムは、システムからユーザへの振り発話と、ユーザからシステムへのユーザ応答と、システムからユーザへの受け発話とで構成される対話プランであって、次の対話プランの遷移先の情報を含む対話プランの作成を支援するためのプログラムであって、コンピュータに、作業者が前記対話プランを作成して入力する作業者端末に対して、対話プランの作成支援画面を送信するステップと、前記作業者端末において、前記作成支援画面を通じて対話プランのデータの入力を受け付けるステップと、前記作業者端末にて入力された対話プランのデータを受信し、受信した対話プランのデータを対話プランデータベースに記憶するステップとを実行させる。
【発明の効果】
【0030】
本発明によれば、対話プランを分散並列的に複数のワーカーが同時に作成することができる。
【図面の簡単な説明】
【0031】
【
図1】実施の形態の対話プラン作成支援システムの構成を示す図である。
【
図2】対話プランDBに記憶されたデータの例を示す図である。
【
図14】遷移先を選択するためのリストの例を示す図である。
【
図15】(a)遷移先グループを選択するためのリストの例を示す図である。(b)対話プランのグループ化を行う画面例を示す図である。
【
図16】コピー元の対話プランのプラン編集画面の例である。
【
図17】コピー先の対話プランのプラン編集画面の例である。
【
図18】コピー先の対話プランのプラン編集画面の例である。
【
図19】対話プランのテスト画面例を示す図である。
【
図20】対話プランのテスト画面例を示す図である。
【
図21】対話プランのテスト画面例を示す図である。
【
図22】対話プランのテスト画面例を示す図である。
【
図23】対話プランの自動テストの結果を表示する画面例を示す図である。
【
図25】(a)締め発話到達数の結果を示すグラフである。(b)例外経由数の結果を示すグラフである。(c)遷移なし数の結果を示すグラフである。
【
図26】プラン一覧を階層表示した例を示す図である。
【発明を実施するための形態】
【0032】
以下、本発明の実施の形態の対話プラン作成支援装置について、図面を参照しながら説明する。
図1は、実施の形態の対話プラン作成支援システム1の構成を示す図である。対話プラン作成支援システム1は、対話プラン作成支援装置10と、当該対話プラン作成支援装置10とインターネットを通じて接続された複数の作業端末20とを有している。本実施の形態の対話プラン作成支援システム1は、クラウドソーシングと呼ばれる業務形態で、複数のクラウドワーカー(本明細書では「作業者」という)に、対話プランの作成業務を委託することを想定している。作業者は、作業端末20にて対話プランを作成し、対話プラン作成支援装置10に送信する。
【0033】
対話プランによって対話を適切に継続していくためには、膨大な対話プランが必要である。対話プラン作成支援装置10は、複数の作業者が整合性のある対話プランを作成できるように支援する。対話プラン作成支援装置10は、作業者が使う作業端末20に、作成支援画面を送信し、作成支援画面のインターフェースを通じて対話プランの作成を助ける。作成支援画面には、画面自体と画面内の操作制御用のスクリプトが含まれている。
【0034】
対話プラン作成支援装置10は、操作部11と、制御部12と、通信部13と、対話プランデータベース(以下、「対話プランDB」という)14とを有している。操作部11は、管理者からの操作を受け付ける機能を有する。制御部12は、通信部13を通じて、作業端末20に作成支援画面のデータを送信し、作成支援画面を使って入力され、通信部13を通じて作業端末20から送信された対話プランのデータを対話プランDB14に記憶する。
【0035】
図2は、対話DB14に記憶されたデータの例を示す図である。対話プランDB14には、複数の対話プランが記憶されている。各対話プランは、システムからユーザへの振り発話と、ユーザからシステムへのユーザ応答と、システムからユーザへの受け発話とを有する。対話プランには、対話プランを識別するID(以下、「対話プランID」という)が付与されている。対話プランIDは、対話プラン作成支援装置10によって自動的に採番される。
【0036】
対話プランは、受け発話の次にどの対話プランに遷移するかを規定した遷移先IDを有する。遷移先IDは、遷移先の対話プランIDである。これにより、対話システムは、一つの対話プランIDを実行した後に、どの対話プランに優先的に遷移すべきかを容易に判定することができる。なお、遷移先IDとして、通常、複数の遷移先の対話プランIDが規定されている。複数の対話プランの中からどの対話プランを遷移先として選択するかは、対話の状況やユーザの嗜好等に基づいて決定することができる。
【0037】
遷移先IDは、優先的に遷移すべき対話プランを規定する情報であるので、対話システムは、遷移先IDに規定されていない対話プランに遷移することも可能である。例えば、遷移先IDに規定された対話プランを遷移先としたときのスコアが所定の閾値に達しないときには、全対話プランの中から遷移先の対話プランを決定してもよい。
【0038】
また、対話プランDB14に記憶された対話プランは、その対話プランが確定か未確定かを示すステータスを有している。作業者が作成した対話プランを管理者がまだチェックしていない状態が未確定のステータスであり、管理者が内容を確認した状態が確定のステータスである。管理者は、操作部11を使った操作により、対話プランDB14から、未確定の対話プランを読み出して内容を確認したら、未確定のステータスを確定のステータスに変更する。ここでは、確定と未確定の2つのステータスを有する例を挙げているが、例えば、整合テスト待ち、整合性テスト完了、最終確認済みなどのように、より多くのステータスを付してもよい。
【0039】
上記した対話プラン作成支援装置のハードウェアの例は、CPU、RAM、ROM、ハードディスク、ディスプレイ、キーボード、マウス、通信インターフェース等を備えたコンピュータである。上記した各機能を実現するモジュールを有するプログラムをRAMまたはROMに格納しておき、CPUによって当該プログラムを実行することによって、上記した対話プラン作成支援装置が実現される。このようなプログラムも本発明の範囲に含まれる。次に、対話プランの具体例について説明する。
【0040】
(対話プランの具体例)
図3~
図6は、対話プランの一例を示す図である。
図3は、対話プランの概要を示す図であり、対話プランに含まれる振り発話、ユーザ応答、受け発話が記載されている。
図3で示す「プランID:P101」の対話プランは、ドメインが「グルメ」、サブドメインが「食事」で、プラン名は「お酒に合う_1」である。プラン概要は、「お酒が合う料理について内容を深堀する振り」である。
【0041】
この対話プランでは、初期発話の可否は「不可」となっており、ユーザとの対話を開始する際に用いることはできない。この対話プランは、すでにユーザとの対話が行われており、料理名等のキーワードが現れたときに、選択される対話プランである。初期発話が可能な振り発話としては、例えば、「どこへ行くの?」「今晩は何食べる?」等があり、これらの振り発話に対しては、初期発話の可否が「可」が設定される。
【0042】
また、この対話プランでは、再利用可否が「不可」となっており、ユーザとの一連の対話の中で、この対話プランを2回使用することはできない。再利用可能な振り発話としては、「他に好きな果物は?」「他にはどの国に行ったことがある?」等がある。このような振り発話に対する応答は、一つではないので、複数回尋ねても問題がない。
【0043】
振り発話の概要は「お酒が合う料理について深堀する振り」であって、発話例としては、「牛筋は、お酒が欲しくなるよね?」「牛筋は、お酒が進むよね?」である。
図3に示しているのは例であって、実際には、「牛筋」「お酒」の部分は、ユーザとの対話で現れた文言に置き換わる。詳しくは、
図4を参照して説明する。
【0044】
「ユーザ応答→受け発話」は、振り発話に対するユーザ応答の概要およびその発話例と、ユーザ応答に対する受け発話の概要およびその発話例を示している。ここでも、
図3に示しているのは例であって、実際には、文脈にあった発話がなされる。
【0045】
図4は、「プランID:P101」の対話プランの振り発話の内容を示す図である。プランの概要は、
図3で示したとおり、「お酒が合う料理について内容を深堀する振り」であり、対話行為は、「質問」である。
【0046】
振り発話の発話フォーマットは、「<s1>は、お<s2>が欲しくなるよね。」「<s1>は、お<s2>が進むよね。」であり、その発話例は「牛筋は、お酒が欲しくなるよね。」「牛筋は、お酒が進むよね。」である。発話例は、発話フォーマットだけでは、その内容が分かりづらいことがあるので、具体例を示したものである。つまり、発話例は、対話システム1での処理には必須ではないが、発話例を有することにより、メンテナンス等が容易になる。
発話フォーマットにおいて、<s1><s2>はクエリインデックスであり、ユーザとの対話で得られた値やそれに関連する値が入る。
【0047】
「条件」は、この振り発話が選択されるための条件である。条件には、対話行為についての条件と、対話の内容についての条件がある。対話行為については、直前の対話行為が「意見・感想」を「含む」ことが条件となっている。ここでは、「意見・感想」を「含む」ことが条件であるが、この他にも様々なバリエーションが考えられ、例えば、直前の対話行為に「質問」を「含まない」ことや、「質問」を「含む」ことを条件とすることも可能である。なお、「含まない」ことが条件となる場合には、「質問」だけではなく、複数の対話形態を含まないことを条件とすることも可能である。
【0048】
対話の内容についての条件としては、この例では、「対話基盤化データに存在する<料理名>」「料理知識データベースから取得する<s1>と相性が良い関係にある<酒>」が規定されている。対話基盤化データについては後述するが、簡単にいうと、ユーザとの対話において現れた概念のデータである。対話基盤化データは、対話基盤化データ記憶部22に記憶されて管理されている。
【0049】
「対話基盤化データに存在する<料理名>」という条件は、対話基盤化データを参照して、これまでのユーザとの対話の中に、<料理名>が含まれていることであり、含まれている場合には、このクエリ文が「真」であると判定され、<s1>に<料理名>が代入される。対話基盤化データに<料理名>が存在しない場合には、このクエリ文の結果が「偽」となり、この振り発話は適用されない。「真」と判定されたクエリ文の個数や割合をスコアで表し、スコアが高い振り発話を選択することとしてもよい。対話基盤化データに複数の料理名が存在する場合には、後続の条件を満たして、かつ、スコアの最も高い振り発話が選択される。
【0050】
「料理知識サービスから取得する<s1>と相性が良い関係にある<酒>」という条件は、料理知識サービスから取得した情報に基づいて、<s1>で示される料理が<酒>と相性が良いことである。料理知識サービスには、料理の相性の良さを示すスコアを有しており、このスコアに基づいて相性を判定する。相性が良い場合には、このクエリ文が「真」であると判定され、<s2>に、<酒>とそのスコアが代入される。
【0051】
ユーザがお酒が合う料理を食べた場合には、上記したクエリ文がいずれも「真」となり、この振り発話が選択される可能性が高くなる。「真」と判定されたクエリ文の個数や割合をスコアで表し、スコアが高い振り発話を選択することとしてもよい。なお、
図4では、対話基盤化データに記憶されたデータに関する条件を例として説明したが、後述するユーザの嗜好についてのデータをクエリの条件としてもよい。これにより、ユーザの嗜好に合った発話をすることが可能となる。
【0052】
図4に示す振り発話を発する場合には、発話フォーマットの「<s1>は、お<s2>が欲しくなるよね。」「<s1>は、お<s2>が進むよね。」のクエリインデックス<s1>に「料理名」、<s2>に「酒」を入れる。これにより、ユーザが料理を食べたという発話に対して、「<料理名>は、お酒が欲しくなるよね。」または、「<料理名>は、お酒が進むよね。」というように、文脈を保った振り発話を行うことができる。なお、「<料理名>は、お酒が欲しくなるよね。」と「<料理名>は、お酒が進むよね。」のいずれを選択するかは、ランダムに選ぶことができる。
【0053】
図5は、「プランID:P101」の対話プランのユーザ応答の候補の一つを示す図である。
図5に示すプランの概要は、「肯定的応答」であり、対話行為は「回答」である。
図5には、肯定的応答の例を示しているが、「プランID:P101」は、例えば、「否定的応答」や「無音応答」を、ユーザ応答の候補として有している。ユーザ応答の発話正規表現パターンは、「そうだ|そうそう|うん|合う|美味しい|はい|YES|その通り|だよね|鉄板|無敵|間違いない」であり、ユーザからこれらの応答があった場合には、肯定的応答であると解釈される。
【0054】
「条件」は、この振り発話が選択されるための条件である。条件には、対話行為についての条件と、対話の内容についての条件がある。この内容は、
図3で示した振り発話で説明したのと同じである。
【0055】
「対話基盤化」として、「<s1>と<s2>が相性の良い関係として追加された基盤化データ」とあるのは、振り発話において「<s1>は、お<s2>が欲しくなるよね。」と発話したのに対し、ユーザから肯定的応答が得られたことを受けて、<s1>と<s2>が相性の良い組合せであることの同意が得られたので、<s1>と<s2>が相性の良い関係であることを対話基盤化データに追加記録する。これにより、対話基盤化データを用いて、対話を適切に継続していくことができる。
【0056】
「遷移先受け発話パターン」は、ユーザ応答に続く、システムからの受け発話の遷移先の候補を規定している。概要としては「手作りに対しての称賛・評価」や「振り発話での料理名→お店を連想した回答」等があり、それぞれに受け発話例が示されている。受け発話例は、上述したとおり、対話システム1の処理には必須ではないが、発話例を有することにより、メンテナンス等が容易になる。複数の遷移先受け発話パターンの候補の中からどの遷移先を選択するかは、各候補の条件と対話基盤化データとのマッチング等により決定する。
【0057】
図6は、「プランID:P101」の対話プランの受け発話の候補の一つを示す図である。
図6に示す受け発話の概要は、「振り発話での料理名→お酒を連想した回答」であり、対話行為は、「感想・意見応答」である。
【0058】
この例では、受け発話の「発話フォーマット」として、「それはお<s2>が進むね」「日本<s2>か赤ワインか迷うわ」「<s2>のあてにピッタリだ」の3つがあり、それぞれに発話例が付けられている。
【0059】
「条件」は、この受け発話が選択されるための条件である。条件には、対話行為についての条件と、対話の内容についての条件がある。対話行為については、直前の対話行為が「回答」を「含む」ことが条件となっている。
【0060】
対話の内容についての条件としては、この例では、「基盤化データに存在する<s1>と<s2>が相性が良いという関係」「基盤化データに存在する<s1>と<s2>であるという関係」が規定されている。これらの条件が「真」であるときに、この受け発話が選択される可能性が高くなる。
【0061】
「遷移先対話プラン」は、「プランID:P101」の後に、優先的に遷移すべき対話プランの遷移先プランIDを規定している。この例では、「グルメ_食事_刺激の強い食べ物_1」が優先的な遷移先とされている。ここで規定されている遷移先対話プランは、優先的な遷移先であって、対話の状況が遷移先プランの条件に合わない場合には、必ずしも遷移先プランIDに遷移するわけではない。その場合には、対話制御部1213は、他の対話プランの中から、条件にあった対話プランを検索し、遷移先として決定する。
【0062】
(作成支援画面)
続いて、上記したような対話プランの作成を支援する作成支援画面について説明する。
図7は、作成支援画面の全体構成を示す図である。作成支援画面は、対話プラン一覧画面、対話プラン編集画面、振り発話編集画面、ユーザ応答編集画面、受け発話編集画面を有している。対話プラン作成支援装置10は、これらの画面を作業端末20に送信することにより、作業端末20における対話プランの作成を支援する。
【0063】
対話プラン一覧画面は、これまでに作成されている対話プランの一覧を表示する画面である。対話プラン編集画面は、対話プラン一覧画面において選択されたプラン、または新規作成に係る対話プランを編集する画面である。振り発話編集画面、ユーザ応答編集画面、受け発話編集画面は、それぞれ振り発話、ユーザ応答、受け発話を作成するための画面である。
【0064】
対話プラン一覧画面からは、表示された対話プランのうちの一の対話プランを選択することによって、あるいは、新規作成を選択することにより、対話プラン編集画面に遷移する。対話プラン編集画面からは、振り発話編集画面、ユーザ応答編集画面、受け発話編集画面のそれぞれに遷移することができる。振り発話編集画面とユーザ応答編集画面との間は相互に遷移可能であり、ユーザ応答編集画面と受け発話編集画面との間も相互に遷移可能である。なお、画面遷移は、対話プラン作成支援装置10へアクセスすることにより、該当の作成支援画面をダウンロードすることにより行われる。
【0065】
図8は、対話プラン一覧の画面例を示す図である。対話プラン一覧画面には、多数の対話プランの中から一覧表示する対話プランを絞り込むための「絞り込み」の入力部がある。絞り込みは、「ドメイン」「プラン名」「プラン概要」「担当者」の各項目によって行うことができる。
【0066】
対話プラン一覧画面は、絞り込み条件によって絞り込まれた対話プランが一覧表示される。対話プラン一覧画面には、対話プランの「ドメイン」「プラン名」「プラン概要」「ステータス」「担当者」が表示される。対話プラン一覧画面の上に「新規作成」の表示があり、この表示には、対話プラン編集画面へのリンクが貼られている。「新規作成」をクリックすると、対話プラン編集画面が開かれる。このとき、対話プラン編集画面には、デフォルトの内容が記載されていてもよい。例えば、対話プランの概要のテンプレートを用意しておき、ユーザにテンプレートを選択させて、選択されたテンプレートの内容を対話プラン編集画面の初期状態で表示してもよい。また、対話プラン一覧において、プラン名をクリックすると、クリックされた対話プランのコンテンツが入力された状態で対話プラン編集画面が開かれる。コンテンツが入力された対話プラン編集画面において、コンテンツの変更及びコピー作成を行うことにより、類似する対話プランを効率良く作成することができる。
【0067】
図9は、対話プラン編集の画面例を示す図である。
図9は、プラン名が「好きな食べ物を聞く_1」の対話プランである。
対話プラン編集画面の上部には、「更新」「コピー作成」「削除」「ユーザ応答貼り付け」のボタンがある。なお、「ユーザ応答貼り付け」のボタンは、現時点では、選択不可能である。「更新」ボタンは、対話プラン編集画面にて編集した最新の内容を保存する機能を有する。「削除」ボタンは、この対話プランを削除するためのボタンである。「コピー作成」「ユーザ応答貼り付け」のボタンについては後述する。
【0068】
対話プラン編集画面の最上部に「プラン一覧へ>>プランテストへ」と表示され、それぞれにリンクが貼られている。「プラン一覧へ」を選択すると、プラン一覧編集画面へと戻る。「プランテストへ」を選択すると、この対話プランをテストするためのテスト画面に遷移する。テスト画面については後述する。
【0069】
「プラン詳細」の欄にある「ルール種別」は、この対話プランのパターンを示すデータである。ここでは、「Y:隣接トリプルパターン」となっているが、これは対話プランが、振り発話、ユーザ応答、受け発話の隣接トリプルからなっていることを示す。対話プラン編集画面は、隣接トリプルパターン以外のパターンの対話プランの作成にも対応している。ルール種別としては、例えば、「N:隣接ペアパターン」「SQ:静的質問応答パターン」「DQ:動的質問応答パターン」「A:つなぎ発話パターン」「R:リクエストパターン」「U:任意応答パターン」「E:締め発話パターン」などの対話プランが考えられる。ここで、つなぎ発話パターンとは、ユーザ応答とシステム発話との間に挟み込むための短い定型的フレーズの発話パターン、リクエストパターンとは、システムへのコマンドを発行する発話パターン、任意応答パターンとは、ユーザ応答に関係なく、システムが発する発話パターンである。締め発話パターンとは、そこで対話プランの遷移を終了する発話パターンである。
【0070】
「プランID」は、対話プランを識別するIDであり、「ドメイン」は対話プランが属するドメインである。「プラン名」は、対話プランの名称、「プラン概要」は、対話プランの内容の具体的な説明である。
【0071】
「初期発話可否」は、編集中の対話プランを初期発話として利用できるか否かを選択する項目である。この項目を「可」としておくことで、システムからユーザへの最初の振り発話として用いることが可能となる。初期発話が可能な対話プランとは、前提知識なしに始めることができる発話であり、この対話プランのように「好きな食べ物とかある?」と聞くような場合である。初期発話とすることができない性質の対話プランの場合には、「初期発話可否」を「否」とする。
【0072】
「再利用可否」は、一連の対話の中で、編集中の対話プランを2回以上用できるか否かを選択する項目である。この項目を「可」としておくことで、一連の対話でこのプランが2回以上登場し得るようになる。再利用可能な対話プランとは、例えば、「他には、どこの国に旅行したことある?」などのように、回答が複数考えられるような質問である。再利用できない性質の対話プランの場合には、「再利用可否」を「否」とする。
【0073】
「スコア」は、この対話プランの選択確率を定めるスコアである。
図9に示す例は、初期発話としても用いることができる対話プランであり、前提知識なしに開始できるので、スコアには定数が入っている。すでに行われている対話によって選択されるかどうかが決まる対話プランの場合には、これまでになされた対話のパラメータによってスコアが変動する算式が入力される。
【0074】
「所属グループ」は、編集中の対話プランを所属させるグループを指定する。所属グループは、遷移先として一纏めに指定され得るグループである。「担当者」は、この対話プランを生成した担当者であり、「状態」はこの対話プランの編集状態を示す図である。上述したとおり、本実施の形態では、「未確定」と「確定」の2つのステータスがあり、
図9に示す例では、「未確定」である。プランの編集を行うと、この状態は、自動的に「未確定」になる。つまり、プランを新規作成する際に、状態が「未確定」になることはもちろん、確定していたプランであっても、編集画面で編集を行うと、対話プランの状態は「未確定」に更新される。「最終更新日時」は、この対話プランを最後に更新した日時である。
【0075】
「振り発話」の欄には、この対話プランの振り発話が表示されるが、
図9に示す例では、まだ作成された振り発話がなく、「新規登録」の表示がなされている。「新規登録」をクリックすると、振り発話編集画面に遷移する。
【0076】
「ユーザ応答→受け発話」の欄には、振り発話に対するユーザ応答とそれに対する受け発話が表示される。
図9に示す例では、まだ振り発話が作成されていないが、「例外パターン」と「無音発話」がデフォルトで表示されている。「ユーザ応答の新規登録」をクリックすると、ユーザ応答編集画面に遷移し、「受け発話の新規登録」をクリックすると、受け発話編集画面に遷移する。
【0077】
図10は、振り発話編集の画面例を示す図である。「プラン名」は、編集中の対話プランの名称である。振り発話編集画面の上部にある「更新」ボタンは、振り発話編集画面にて編集した最新の内容を保存する機能を有する。
【0078】
「振り発話詳細」の欄にある「概要」は対話プランの内容の具体的な説明であり、対話プラン編集画面における「プラン概要」と同じである。「条件」には、「直前の話者」「直前の対話行為分類」「直前の対話行為」があり、振り発話がなされる直前の対話行為についての条件を設定することができる。「対話行為」は、振り発話がどのような対話行為に分類されるかを設定する項目であり、
図10に示す例では、個人情報質問に分類されている。
【0079】
「応答フォーマット」は振り発話の内容であり、「応答例」は、応答フォーマットにしたがってなされる振り発話の例である。
図10に示す例では、いずれも「好きな食べ物とかある?」という文であるが、例えば、
図4に示す例のように、応答フォーマットに一連の対話で出てきたパラメータが含まれている場合には、「応答例」があることにより、「応答フォーマット」に記載した振り発話が、どのような発話を意図して作成されたものかを把握できる。
【0080】
「クエリ文」は、この振り発話を検索する際に用いられるクエリ文であり、「クエリインデックス」は「クエリ文」に含まれるパラメータである。クエリ文に該当するかどうかで、振り発話のスコアが計算され、計算されたスコアに基づいて、振り発話が選択される。
【0081】
図11は、ユーザ応答編集の画面例を示す図である。ユーザ応答編集画面の上部には、「更新」「コピー作成」「削除」のボタンがある。「更新」ボタンは、ユーザ応答編集画面にて編集した最新の内容を保存する機能を有する。「削除」ボタンは、この対話プランを削除するためのボタンである。「コピー作成」ボタンについては後述する。「プラン名」は、編集中の対話プランの名称であり、「振り発話」は、振り発話編集画面にて作成した振り発話の内容を記載している。
【0082】
「ユーザ発話詳細」の欄にある「概要」は、ユーザ応答の概要である。
図11に示す例では、「好きな食べ物とかある?」に対するユーザ応答であるので、「料理名を答える応答パターン」と記載されている。「条件」には、「直前の話者」「直前の対話行為分類」「直前の対話行為」があり、ユーザ応答がなされる直前の対話行為についての条件を設定することができる。
【0083】
「テンプレート」は、いくつかの振り発話に対して共通して用いられる応答を作成または指定するための項目である。ここで、指定されたテンプレートにかかるユーザ応答のデータは、この対話プランに直接に記述されているのではなく、外部の記憶部に記憶されている。対話プランは、外部にあるユーザ応答のデータを参照する。したがって、テンプレートのデータが書き換えられると、その変更は、当該テンプレートを参照しているすべての対話プランに反映される。
【0084】
「テンプレート」の「既存選択」は、すでに作成されているテンプレートを選択するためのボタンである。
図11に示す例では、「料理名を含む発話-拡張固有表現」のテンプレートが選択されている。「上書き」は、既存のテンプレートを上書きするためのボタンである。「上書き」を選択すると、当該テンプレートを参照している他の対話プランも一斉に変更できる。「新規」は、テンプレートを新規作成するためのボタンである。
【0085】
「対話行為」は、ユーザ応答の対話行為の分類を表す項目である。
図11に示す例では、回答に分類されている。「発話スロットパターン」は、ユーザ応答の中に含まれる所定のカテゴリに含まれる文言を検出するためのパターンである。
図11に示す例では、「Food」「Dish」と記載されており、食べ物、料理名がスロットパターンである。「発話正規表現パターン」は、ユーザ応答に含まれると予想される複数の文字列のパターンである。
図11の例では、発話正規表現パターンは記述されていない。発話正規表現パターンの例として一例をあげると、値段が高くなかったというユーザ応答の正規表現として、(ふつう|普通|まあまあ|ぼちぼ|そこま|あまり|あ?まり|そんな)*(高くな|安かっ)という表現が考えられる。発話例は、発話スロットパターンと発話正規表現パターンに該当する発話の一例である。
【0086】
「受け発話リスト」の欄は、ユーザ応答に続く受け発話のリストを表示している。
図11の例では、「概要」として「料理名を答えたことに対する受け」の受け発話リストにリンクしている(リンクのチェックボックスにチェックが入っている)。ここで、「料理名を答えたことに対する受け」の受け発話がいくつのユーザ応答からリンクされていることを示す「被リンク数」が記載されている。これにより、「料理名を答えたことに対する受け」の受け発話が多用される受け発話なのか、あまり用いられていない受け発話なのかを判断できる。
【0087】
次に、ユーザ応答編集画面のチェック機能について説明する。ユーザ応答編集画面では、「更新」ボタンが押されたときに、ユーザ応答の編集内容の保存の前に、内容のチェックを行う。具体的には、「応答例」を参照し、「発話スロットパターン」「発話正規表現パターン」が「応答例」にマッチしているかを判定する。
【0088】
図12は、ユーザ応答編集の画面例を示す図である。
図12に示す画面は、
図11に示す画面において、「発話正規表現パターン」に「和食|(日本|中華|韓国|エスニック)料理|フレンチ|イタリアン|メキシカン」と記載し、「発話例」に「日本食」と記載して、「更新」ボタンを押した状態を示す図である。この場合、発話例が、「発話正規表現パターン」に記載された料理名と合致しないので、(発話正規表現パターンには、「和食」「日本料理」があるが、「日本食」はないため)、「発話例」が「発話正規表現パターンにマッチしません。」という入力値エラーのメッセージを表示する。
【0089】
発話例は、作業者が想定しているユーザ応答の典型例を記載したものなので、発話スロットパターン、発話正規表現パターンが発話例とマッチしているかどうかを判定することにより、「発話スロットパターン」「発話正規表現パターン」が正しいかをチェックできる。
【0090】
図13は、受け発話の編集画面の例を示す図である。受け発話編集画面の上部には、「更新」「コピー作成」「削除」のボタンがある。「更新」ボタンは、ユーザ応答編集画面にて編集した最新の内容を保存する機能を有する。「削除」ボタンは、この対話プランを削除するためのボタンである。「コピー作成」ボタンについては後述する。「プラン名」は、編集中の対話プランの名称であり、「振り発話」は、振り発話編集画面にて作成した振り発話の内容を記載している。
【0091】
「受け発話詳細」の欄にある「概要」は、「受け発話」の内容についての説明である
「条件」には、「直前の対話行為分類」「直前の対話行為」があり、受け発話がなされる直前の対話行為についての条件を設定することができる。「対話行為」は、受け発話の対話行為の分類を表す項目である。
図13に示す例では、感想・意見応答に分類されている。
【0092】
「応答フォーマット」は受け発話の内容であり、「応答例」は、応答フォーマットにしたがってなされる振り発話の例である。
図13に示す例では、「応答フォーマット」は「<<<o1>>>が好きなんだ。」である。応答例における「o1」は、ユーザ応答に含まれる料理名が入る。これにより、
図13に示す例では、ユーザ応答に含まれる料理名がオウム返しにされる。「応答例」としては「ラーメンが好きなんだ。」となる。
【0093】
「クエリ文」は、この振り発話を検索する際に用いられるクエリ文であり、「クエリインデックス」は「クエリ文」に含まれるパラメータである。
図13に示す例では、ある料理が好きであることが基盤化(grounded)されていることが条件となっている。
【0094】
「遷移プランID」は、編集中の対話プランから遷移する次の対話プランを指定する。「リストから選ぶ」という表示があり、リンクが貼られている。「リストから選ぶ」を選択すると、
図14に示す遷移先を選択するためのリストが表示される。このリストには、「プラン名」、「プラン概要」、初期発話の可否(「初」と記載)、再利用の可否(「再」と記載)、「状態」、「担当者」の情報が含まれている。このリストの左端にある「選択」の欄にチェックを入れることにより、このリストにある対話モデルを遷移先として選択することができる。
【0095】
図13に戻って、「遷移先プラングループID」は、編集中の対話プランから遷移する次の対話プランを指定するものであるが、遷移先プランをグループの単位で選択できる点が「遷移プランID」と異なる。「遷移先プラングループID」にも「リストから選ぶ」という表示があり、リンクが貼られている。「リストから選ぶ」を選択すると、
図15(a)に示す遷移先グループを選択するためのリストが表示される。遷移先グループは、対話プランのグループのグループ名が記載されている。このグループ名を選択することにより、そのグループに含まれるすべての対話プランを遷移先として選択することができる。対話プランを一つ一つ選択しなくてもよいので、効率的である。
【0096】
図15(b)は、対話プランのグループ化を行う画面例を示す図である。新規のグループを作成する際には、「グループ追加」を選択し、グループに新しい対話プランを追加していくのは、「プラン割り当て」である。
【0097】
次に、
図16~
図18を参照して、コピー機能の実行例について説明する。
図16は、コピー元の対話プランのプラン編集画面の例である。
図16に示す画面の下にある「ユーザ応答→受け発話」の欄において、ユーザ応答と受け発話のリストの左端に「コピー選択」のチェックボックスがある。このチェックボックスにチェックをし、その状態で、対話プラン編集画面の上部にある「コピー作成」のボタンを選択することにより、該当のユーザ応答と受け発話が一時保存領域(クリップボード)に保存される。
【0098】
図17は、コピー先の対話プランのプラン編集画面の例である。ユーザ応答と受け発話が一時保存領域に保存されると、「ユーザ応答貼り付け」ボタンが選択可能となる。
図17では、「ユーザ応答貼り付け」ボタンが選択可能な例を示している。
図17に示す画面において、「ユーザ応答貼り付け」ボタンを選択すると、
図18に示す画面例のように、
図16の画面においてチェックしたユーザ応答と受け発話が、「ユーザ応答→受け発話」の欄に追加される。このように一の対話プランで作成したユーザ応答と受け発話を別の対話プランにコピーすることにより、ユーザ応答と受け発話を容易に作成することができる。
【0099】
(テスト機能)
図19は、対話プランのテスト画面例を示す図である。対話プラン編集画面の上部に表示された「プランテストへ」をクリックすることにより、
図19に示す対話プランのテスト画面に遷移する。対話プランテスト画面の上部には、「対話リセット」「データソースを選択」「プロフィール更新」のボタンがある。「対話リセット」は、プランテストで実行中の対話をリセットする機能を有する。対話プランのテストを最初から実行する場合に用いられる。「データソースを選択」は、対話プランを行うときに用いるデータソースの選択を行うためのボタンである。例えば、野球が話題の対話プランをテストする際には、データソースから、球団や選手、試合結果などを取得して対話のテストに利用する。「プロフィール更新」のボタンは、ユーザのプロフィールを更新するためのボタンである。ユーザのプロフィールを更新するのは、ユーザの年齢、性別、嗜好等によって、選択される話題が変わるからである。
【0100】
図19では、野球の話題に関する対話プランがテストされる様子が示されている。対話システムは、データスタジアムというデータソースから取得したデータに基づいて、「4日前のAチームとBチームとの試合観た?」という振り発話を発する。テスト画面の右側には「システム発話詳細」と「基盤化情報」の欄に情報が表示されている。基盤化情報は、データソースから取得したデータと、ユーザのプロフィールとに基づいて生成される。
【0101】
プランテストの画面の下方には、「ユーザ応答を入力してください」と表示されたユーザ応答を入力する欄が設けられている。「ユーザ応答を入力してください」との表示の下にあるボックスに、ユーザ応答を自由に記述することができる。また、ユーザ応答の入力欄には、対話プランが用意しているユーザ応答がリスト表示されているので、この中からテストしたいユーザ応答を選択してもよい。
【0102】
図20は、
図19に示すテスト画面において、「誰が投げたの?」というユーザ応答を入力した場合のテスト画面の例を示す図である。「ユーザ応答詳細」の欄に「ルール種別に隣接トリプルパターン以外が返されました」と表示されているように、「誰が投げたの?」というユーザ応答は、隣接トリプルパターンには該当しない。ここで返されたユーザ応答は、「DQ:動的質問応答パターン」であり、システムは、データソースから先発ピッチャーのデータを取得して、取得したデータに基づいてシステム発話を生成して、テスト画面の下方に表示する。ここで、「Aチームは甲で、Bチームは乙が投げてたよ。」というシステム発話を選択すると、
図21に示すように、テスト画面にシステム発話が表示される。
図21の画面の構成は、
図19に示す画面と同じである。
【0103】
図21の画面において、作業者が「そうなんだ」「Aチームは甲で、Bチームは乙が投げてたよ。」というやりとりは、「DQ:動的質問応答パターン」であり、ここで完結しているから、「そうなんだ」というユーザ応答が隣接トリプルパターンの2番目のユーザ応答に該当する。「そうなんだ」というユーザ応答を入力すると、テスト画面は、
図22に遷移する。
図22に示すように、「勝ってる時は調子いいね」というシステムからの受け発話が返され、対話が成立していることが確認された。
【0104】
図23は、対話プランの自動テストの結果を表示する画面例を示す図である。
図19~
図22では、作業者が任意のユーザ応答を手入力することも可能なマニュアルでのテスト例を示したが、テストは、自動的に行うことも可能である。「プランID」は、テストの対象となる対話プランのプランIDを表示している。テスト実行ボタンを右に移動するとテストが実行され、ユーザ応答パターンテスト画面には、「テストNo」、「マッチング結果」、「想定パターンID」、「ユーザ応答文」がリスト表示されている。マッチング結果は、ユーザ応答が想定パターンIDと一致した場合にOKとなり、一致しなかった場合にはパターン違いとなる。また、ユーザ応答として例外パターンがマッチした場合には、例外と表示される。リストの上部には、テスト結果を、「OK率」「パターン違い率」「例外率」「エラー率」として数値化して表示している。
【0105】
以上に説明したのは、それぞれの対話プランの中で、振り発話、ユーザ応答、受け発話が整合しているかをテストする機能であったが、対話プラン作成支援装置10は、対話プランどうしが適切につながって、対話が継続しているかをテストする機能を有している。このテストを「バッチテスト」と呼ぶ。バッチテストの機能は、対話プラン作成支援装置10において実行される。
【0106】
図24は、バッチテストの画面例を示す図である。バッチテストの画面には、「テスト実行」ボタンと、「状態更新」ボタンがある。「テスト実行」ボタンはテストを実行するためのボタンであり、ボタンを右に移動することでテストが実行され、左に移動することで実行中のテストが中断する。
【0107】
バッチテストは、対話システム支援装置の対話プランDB14に記憶された対話プランを用いて行うテストである。所定の対話プランを指定し、その対話プランから対話プランDB14に記憶されている対話プランを使って遷移させていき、対話が継続した対話プランの遷移数をカウントする。対話が長く継続して、締め発話で対話が終了すれば成功であり、遷移先がなくなって、すぐに対話が途切れてしまうだと成功とはいえない。ここで、締め発話について補足すると、対話プランの中に、会話を終わらせる「締め発話」の対話プランを準備しておくものとする。「締め発話」の対話プランは、「ルール種別」において、「E:締め発話パターン」が設定された対話プランである。なお、締め発話を対話プランに対して設定するのではなく、対話プランに含まれる受け発話に対して設定してもよい。これにより、一つの対話プランの中でも、ある受け発話をしたときには、対話を終了し、別の受け発話をしたときには、対話プランを遷移させるといったきめ細かい制御を行うことができる。受け発話に対して、対話の締めを設定する方法としては、例えば、対話プランの受け発話において、遷移先を「end」を設定する仕様とすることができる。
【0108】
また、対話が継続したとしても、途中で例外パターンを経由する場合もある。例外パターンは、相槌や傾聴といったどんな対話にも対応できるユーザ応答のパターンであり、例外パターンを経由するということは実質的には、適切な遷移ができていない可能性があるので、例外パターンを経由した回数もカウントする。
【0109】
「状態更新」ボタンは、バッチテストの画面に、更新されたテストの結果を表示するか否かを選択するためのボタンであり、ボタンを右に移動すると更新されたテスト結果が表示される。テストの実行中には、その経過と共に、テスト結果が更新されていく。したがって、テストの実行中に、ある時点までのテスト結果を確認したいときには、「状態更新」ボタンを左に移動させ、テスト結果の更新を停止する。
【0110】
「サマリ」の欄には、下にある「プラン毎集計」の欄に表示されているテスト結果が集計して表示される。「締め発話到達数」「例外経由数」「遷移なし数」等がテストの結果を示すものである。
【0111】
図25(a)は、締め発話到達数の結果を示すグラフである。縦軸が締め発話に到達した回数を示し、横軸は締め発話に到達するまでにした対話プランの遷移数を示す。この結果に基づいて、対話プランがうまく遷移しているかどうかを判断することが可能である。
【0112】
図25(b)は、例外経由数の結果を示すグラフである。縦軸に例外パターンを経由した回数を示し、横軸に締め発話に到達するまでにした対話プランの遷移数を示す。これにより、締め発話まで到達した試行のうち、何回が例外パターンを経由しているかを分析することができる。
【0113】
図25(c)は、遷移なし数の結果を示すグラフである。縦軸が遷移先なしとなった回数を示し、横軸が、それが何回の遷移の後に起きたかを示す。この結果から、あまり早い段階で遷移先なしとなるようだと、対話プランの遷移先の規定の仕方に問題があると判断できる。
【0114】
図26は、本実施の形態の対話プラン作成支援装置10において、プラン一覧を階層表示した例を示す図である。
図26に示すように、プランの遷移関係を階層表示することにより、対話の広がりと流れを把握することができる。また、階層表示すると、対話プランがループしていることも、把握しやすくなる。階層表示した際に、対話プランがループする箇所がある場合には、警告を表示してもよい。
図26では、「『パン派かご飯派か_1』を繰り返しています。」という警告を表示する例を示している。また、警告を表示する際に、何回で同じ対話プランに戻っているかを示す回数を表示してもよい。短い周期で同じ対話プランに戻ってしまうと問題があるが、同じ対話プランに戻るまでの周期が長い場合には問題にならないこともあり得る。回数を示すことにより、許容できるループかどうかの判断を容易に行える。
【産業上の利用可能性】
【0115】
本発明は、例えば、複数の作業者による対話プランの作成を支援する装置等として有用である。
【符号の説明】
【0116】
1 対話プラン作成支援装置
11 操作部
12 制御部
13 通信部
14 対話プランDB
20 作業端末