(57)【要約】  対話装置（１０）は、ユーザと対話装置（１０）との間でユーザから発話された内容を基に、対話状態を推定する。また、対話装置（１０）は、ユーザと対話装置（１０）との間でユーザから発話された内容を基に、対話状態を推定する。また、対話装置（１０）は、推定した対話状態に対応したストラテジーを取得し、取得したストラテジーに基づいてユーザと対話装置（１０）との対話において、対話装置（１０）が発話する発話内容を選択する。対話装置（１０）は、選択した発話内容でユーザに対して発話する。
2020066019.tif 000002
【特許請求の範囲】
【請求項１】
ユーザと対話装置との間でユーザから発話された内容を基に、対話状態を推定する推定部と、
前記推定した対話状態に対応したストラテジーを取得し、取得したストラテジーに基づいて前記ユーザと対話装置との対話において、対話装置が発話する発話内容を選択する選択部と、
前記選択部により選択された発話内容でユーザに対して発話する発話部と、
を有することを特徴とする対話装置。
【請求項２】
前記ユーザと対話装置による対話において出現したキーワードであって、記憶領域に蓄積済みでないキーワードを前記記憶領域に蓄積する蓄積部をさらに有し、
前記推定部は、前記記憶領域にキーワードが新たに追加されたか否か、及び、追加されたキーワードが前記記憶領域に蓄積済みのキーワードと類似していたか否か、により前記対話状態を推定することを特徴とする請求項１に記載の対話装置。
【請求項３】
前記推定部は、蓄積済みのキーワードと非類似のキーワードが追加された場合、対話状態を新規話題開始と推定し、蓄積済みのキーワードと類似のキーワードが追加された場合、対話状態を発散と推定し、キーワードが追加されなかった場合、対話状態を収束と推定し、対話が途切れた場合、対話状態を話題なしと推定することを特徴とする請求項２に記載の対話装置。
【請求項４】
前記蓄積部は、前記ユーザに対する前記対話装置からの発話のうち、前記ユーザが肯定的な反応をした発話に含まれるキーワードを前記記憶領域に蓄積することを特徴とする請求項２に記載の対話装置。
【請求項５】
前記選択部は、
前記取得したストラテジーに基づいて、発話内容をあらかじめ定義した情報である対話ブロックを評価する評価部と、
前記評価部による評価に基づいて選択された対話ブロックから、前記ユーザに対して出力する発話を生成する生成部と、
をさらに有することを特徴とする請求項１に記載の対話装置。
【請求項６】
コンピュータが、
ユーザと対話装置との間でユーザから発話された内容を基に、対話状態を推定する推定し、
前記推定した対話状態に対応したストラテジーを取得し、取得したストラテジーに基づいて前記ユーザと対話装置との対話において、対話装置が発話する発話内容を選択し、
選択した発話内容でユーザに対して発話する
処理を実行することを特徴とする対話方法。
【請求項７】
コンピュータに、
ユーザと対話装置との間でユーザから発話された内容を基に、対話状態を推定する推定し、
前記推定した対話状態に対応したストラテジーを取得し、取得したストラテジーに基づいて前記ユーザと対話装置との対話において、対話装置が発話する発話内容を選択し、
選択した発話内容でユーザに対して発話する
処理を実行させることを特徴とする対話プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話装置、対話方法及び対話プログラムに関する。
【背景技術】
【０００２】
従来、ユーザと音声又はテキストを用いて対話を行う対話システムが知られている。対話システムには、音声スピーカ、コミュニケーションロボット、チャットボット等がある。また、対話システムに、人間同士のような自然な対話をさせるための技術が提案されている。【０００３】
例えば、複数のユーザが参加するチャットシステムにおいて、キーワードの出現状況により会話状況を推定した結果を可視化する技術が知られている。また、例えば、話者及びシステムの感情を、テキストや韻律を基に判定し、判定した結果に基づきシステムの応答パターンを選択する技術が知られている。また、例えば、ゲームの参加者の会話に出現するキーワードを基に、ゲームの進行状況を把握し、把握した進行状況に応じた発話を行うロボットが知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２２９９１９号公報
【特許文献２】特開２０１０−１２８２８１号公報
【特許文献３】特開２００４−３１００３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の技術では、対話の継続性を高めることが難しい場合がある。ここで、人間同士の雑談は、進行中の話題から他の話題へ自然に遷移することにより長時間継続することがある。これに対し、上記の対話システムは、進行中の話題と無関係のものに話題を遷移する機能を有していないため、ユーザが対話に飽き、対話が長時間継続しない場合がある。【０００６】
一つの側面では、対話の継続性を高めることができる対話装置、対話方法及び対話プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの態様において、対話装置は、ユーザと対話装置との間でユーザから発話された内容を基に、対話状態を推定する。対話装置は、推定した対話状態に対応したストラテジーを取得し、取得したストラテジーに基づいてユーザと対話装置との対話において、対話装置が発話する発話内容を選択する。対話装置は、選択した発話内容でユーザに対して発話する。
【発明の効果】
【０００８】
一つの態様によれば、対話の継続性を高めることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１にかかる対話装置の機能構成を示す機能ブロック図である。
【図２】図２は、対話ブロックＤＢに記憶される対話ブロックの例を示す図である。
【図３】図３は、対話状態の遷移を説明する図である。
【図４】図４は、ブロック選択処理を説明する図である。
【図５】図５は、ユーザの発話に対する処理の流れを示すフローチャートである。
【図６】図６は、ユーザの反応に対する処理の流れを示すフローチャートである。
【図７】図７は、キーワード追加処理の流れを示すフローチャートである。
【図８】図８は、発話の出力処理の流れを示すフローチャートである。
【図９】図９は、対話状態推定処理の流れを示すフローチャートである。
【図１０】図１０は、ハードウェア構成例を説明する図である。
【発明を実施するための形態】
【００１０】
以下に、本発明にかかる対話装置、対話方法及び対話プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例１】
【００１１】
実施例１に係る対話装置は、ユーザから音声又はテキスト等の入力を受け付ける。また、対話装置は、入力に応じて発話を生成し、生成した発話をユーザに対して音声又はテキスト等により出力する。これにより、対話装置は、ユーザとの対話を行う。【００１２】
ここで、対話装置は、ユーザとの対話の状況を考慮し、進行中の話題を継続するか、又は新しい話題を提案するかを選択することができる。これにより、対話装置は、ユーザが対話に飽きることを防止し、対話を長時間継続させることを実現する。また、例えば、対話装置は、音声スピーカ、コミュニケーションロボット、チャットボット、サービスロボット等であってよい。【００１３】
［機能構成］
図１は、実施例１にかかる対話装置の機能構成を示す機能ブロック図である。図１に示すように、対話装置１０は、通信部１１、記憶部１２及び制御部１３を有する。また、対話装置１０は、入力装置２０及び出力装置３０と接続されている。【００１４】
入力装置２０は、ユーザが音声又はテキスト等の情報を入力するための装置である。例えば、入力装置２０は、マイクロフォン、キーボード及びタッチパネルディスプレイ等である。また、入力装置２０は、ユーザに関する情報を取得するためのセンサを備えていてもよい。例えば、入力装置２０は、カメラ、温度計、加速度センサ等を備えていてもよい。【００１５】
出力装置３０は、ユーザに対して発話を出力するための装置である。出力装置３０は、発話を音声により出力してもよいし、テキストにより出力してもよい。例えば、出力装置３０は、スピーカ及びディスプレイ等である。【００１６】
通信部１１は、他の装置との間でデータの通信を行うためのインタフェースである。例えば、通信部１１はＮＩＣ（Network  Interface  Card）であり、インターネットを介してデータの通信を行う。【００１７】
記憶部１２は、データや制御部１３が実行するプログラム等を記憶する記憶装置の一例であり、例えばハードディスクやメモリ等である。記憶部１２は、キーワード記憶領域１２１及び対話ブロックＤＢ１２２を有する。【００１８】
キーワード記憶領域１２１は、キーワードを記憶する記憶領域の一例である。対話装置１０の各処理部は、キーワード記憶領域１２１へのキーワードの追加、キーワード記憶領域１２１に記憶されたキーワードの参照、キーワード記憶領域１２１に記憶されたキーワードの削除を行う。例えば、キーワード記憶領域１２１は、各キーワードが所定の記号で区切られた文字列を記憶してもよいし、キーワードを要素とする配列を記憶してもよい。【００１９】
対話ブロックＤＢ１２２は、発話の内容をあらかじめ定義した情報である対話ブロックを記憶する。ここで、対話ブロックＤＢ１２２に記憶される対話ブロックは、Ｗｅｂサイト等のＩＣＴ（Information  and  Communication  Technology）サービスから自動的に収集したコンテンツを基に生成されたものであってもよい。なお、対話装置１０は、対話ブロックＤＢ１２２に記憶された対話ブロックのいずれかを選択し、選択した対話ブロックを基に生成した発話を出力することができる。【００２０】
図２は、対話ブロックＤＢに記憶される対話ブロックの例を示す図である。図２のテーブルの各レコードが対話ブロックである。図２に示すように、対話ブロックは、「ブロックＩＤ」、「発話内容」、「ジャンル」、「トレンド」等の項目を含む。【００２１】
「ブロックＩＤ」は、対話ブロックを識別するためのＩＤである。「発話内容」は、生成される発話そのもの、又は発話の生成に用いられる情報である。「ジャンル」は、対話ブロックが分類されるジャンルである。「トレンド」は、対話ブロックの生成の際に参照されたコンテンツの流行の状況である。【００２２】
図２の例では、ブロックＩＤが「Ａ００１」である対話ブロックの発話内容が「バスケットボールリーグのＡ氏が…注意した」であり、ジャンルが「バスケットボール」であることが示されている。また、図３の例では、ブロックＩＤが「Ａ０５０」である対話ブロックの発話内容が「桜は来週末が見ごろ」であり、ジャンルが「花見」であり、基となったコンテンツが、閲覧回数が３位のニュースであることが示されている。【００２３】
対話ブロックの項目は、図２に示すものに限られない。例えば、対話ブロックは、当該対話ブロックの生成の際に参照されたコンテンツを提供するサービス、当該対話ブロックが発話の生成に使用されるための条件等を示す情報を含んでいてもよい。【００２４】
制御部１３は、対話装置１０全体の処理を司る処理部であり、例えばプロセッサ等である。この制御部１３は、入力部１３１、解釈部１３２、読込部１３３、生成部１３４、出力部１３５及びブロック選択部１５０を有する。【００２５】
入力部１３１は、入力装置２０を介して、ユーザの発話の入力を受け付ける。また、入力部１３１に入力される発話には、ユーザに対して出力された発話に対するユーザの反応が含まれる。【００２６】
解釈部１３２は、入力部１３１に入力された発話の解釈を行う。例えば、解釈部１３２は、公知の音声認識技術を用いて音声として入力された発話を解析する。また、解釈部１３２は、テキストに対して形態素解析を行い、キーワードの抽出や意味の解釈を行うことができる。【００２７】
さらに、解釈部１３２は、ユーザの反応が肯定的なものであるか否定的なものであるかを判定する。つまり、解釈部１３２は、ユーザの反応がポジティブなものであるかネガティブなものであるかを判定する。【００２８】
例えば、解釈部１３２は、ユーザの反応に「はい」及び「いいね」等の賛成の意味の単語が含まれている場合、当該反応がポジティブなものであると判定する。また、例えば、解釈部１３２は、ユーザの反応に「いいえ」及び「興味ない」等の反対の意味の単語が含まれている場合や、ユーザの反応が相槌だけである場合、当該反応がネガティブなものであると判定する。【００２９】
さらに、解釈部１３２は、入力装置２０が備えるセンサによって取得された情報から、ユーザの反応がポジティブなものであるかネガティブなものであるかを判定してもよい。例えば、解釈部１３２は、カメラで撮影されたユーザの顔の表情や、マイクロフォンで収集されたユーザの声色を基に、ユーザがポジティブな反応をしたか否かを判定することができる。【００３０】
読込部１３３は、対話ブロックＤＢ１２２から、対話ブロックを読み込む。また、読込部１３３は、読み込んだ対話ブロックをブロック選択部１５０又は生成部１３４へ受け渡す。また、読込部１３３は、ブロック選択部１５０によって指定された条件に合致する対話ブロックを読み込むことができる。【００３１】
ブロック選択部１５０は、推定した対話状態に対応したストラテジーを取得し、取得したストラテジーに基づいてユーザと対話装置との対話において、対話装置が発話する発話内容を選択する。ブロック選択部１５０は、選択部の一例である。【００３２】
ブロック選択部１５０は、対話ブロックＤＢ１２２から対話ブロックを選択する。ブロック選択部１５０は、選択する対話ブロックを特定するための条件を読込部１３３に指定することができる。ブロック選択部１５０が対話ブロックを選択する手順は後述する。【００３３】
生成部１３４は、ブロック選択部１５０により選択された対話ブロックから発話を生成する。ここで、生成部１３４が生成する発話は、ユーザが解釈可能な文章である。なお、選択された対話ブロックに発話用の文章が含まれている場合、生成部１３４は、当該文章をそのまま発話としてもよい。【００３４】
出力部１３５は、生成部１３４によって生成された発話を、出力装置３０を介してユーザに対して出力する。このとき、出力部１３５は、発話を音声として出力してもよいし、テキストとして出力してもよい。なお、生成部１３４及び出力部１３５は、発話部の一例である。つまり、生成部１３４及び出力部１３５は、ブロック選択部１５０によって選択された発話内容でユーザに対して発話する。【００３５】
ここで、ブロック選択部１５０による対話ブロックの選択処理について説明する。図１に示すように、ブロック選択部１５０は、蓄積部１５１、推定部１５２、評価部１５３及び選択部１５４を有する。【００３６】
蓄積部１５１は、解釈部１３２によって解釈された発話を基に、キーワード追加処理を行う。蓄積部１５１は、ユーザと対話装置１０による対話において出現したキーワードであって、キーワード記憶領域１２１に蓄積済みでないキーワードをキーワード記憶領域１２１に蓄積する。つまり、蓄積部１５１は、蓄積済みのキーワードをキーワード記憶領域１２１に追加しない。【００３７】
蓄積部１５１は、ユーザに対する対話装置１０からの発話のうち、ユーザがポジティブな反応をした発話に含まれるキーワードをキーワード記憶領域１２１に蓄積する。逆に、蓄積部１５１は、ユーザに対する対話装置１０からの発話のうち、ユーザがネガティブな反応をした発話に含まれるキーワードをキーワード記憶領域１２１に追加しない。【００３８】
蓄積部１５１は、キーワード記憶領域１２１に追加するキーワードが、蓄積済みのキーワード群と類似しない場合、当該蓄積済みのキーワード群を削除した上でキーワードの追加を行う。【００３９】
推定部１５２は、ユーザと対話装置１０との間でユーザから発話された内容を基に、対話状態を推定する。推定部１５２は、キーワード記憶領域１２１にキーワードが新たに追加されたか否か、及び、追加されたキーワードがキーワード記憶領域１２１に蓄積済みのキーワードと類似していたか否か、により対話状態を推定する。【００４０】
推定部１５２は、対話状態が、「新規話題開始」、「発散」、「収束」、「話題なし」のうちのいずれであるかを推定する。「新規話題開始」は、新たな話題に関する対話が開始された状態である。また、「発散」は、既存の話題に関する対話がさらに続いている状態であって、話が広がっている状態である。また、「収束」は、既存の話題に関する対話がさらに続いている状態であって、話が広がっていない状態である。「話題なし」は、対話が進行中の話題が存在しない状態である。【００４１】
ここで、対話装置１０による１回の発話とユーザによる１回の発話とのセットを１往復の対話とする。例えば、１往復の対話が行われるたびに、対話状態の遷移が発生する。対話状態の遷移は、図３のように表される。図３は、対話状態の遷移を説明する図である。【００４２】
図３に示すように、「新規話題開始」は、「発散」、「収束」、「話題なし」のいずれかの状態に遷移する。また、「発散」は、「収束」又は「新規話題開始」のいずれかの状態に遷移する。また、「発散」は、「収束」又は「新規話題開始」のいずれかの状態に遷移する。また、各対話状態は、遷移せずに、同一の状態のままである場合がある。【００４３】
推定部１５２は、蓄積部１５１によるキーワード追加処理の内容を基に、対話状態を推定する。推定部１５２は、蓄積済みのキーワードと非類似のキーワードが追加された場合、対話状態を「新規話題開始」と推定する。また、推定部１５２は、蓄積済みのキーワードと類似のキーワードが追加された場合、対話状態を「発散」と推定する。また、推定部１５２は、キーワードが追加されなかった場合、対話状態を「収束」と推定する。また、推定部１５２は、対話が途切れた場合、対話状態を「話題なし」と推定する。【００４４】
具体的には、まず、蓄積部１５１によって、蓄積済みのキーワード群の削除が行われた場合、推定部１１５２は、対話状態を「新規話題開始」と推定する。次に、蓄積部１５１によって、蓄積済みのキーワード群の削除が行われず、キーワードの追加が行われた場合、推定部１１５２は、対話状態を「発散」と推定する。さらに、蓄積部１５１によって、蓄積済みのキーワード群の削除及びキーワードの追加のいずれも行われなかった場合、推定部１１５２は、対話状態を「収束」と推定する。ただし、推定部１５２は、所定の回数連続して対話状態を「収束」と推定した場合、対話状態を「話題なし」と推定する。【００４５】
選択部１５４は、対話状態を基に、ユーザとの対話において、既存の話題を継続するか、又は、新規の話題を提案するかを選択する。推定部１５２によって推定された対話状態が「新規話題開始」及び「発散」のいずれかであった場合、選択部１５４は、既存の話題を継続することを選択する。一方、推定部１５２によって推定された対話状態が「収束」及び「話題なし」のいずれかであった場合、選択部１５４は、新規の話題を提案することを選択する。【００４６】
選択部１５４は、既存の話題を継続することを選択した場合、話題継続系のストラテジーを選択する。また、新規の話題を提案することを選択した場合、話題提案系のストラテジーを選択する。ここで、ストラテジーとは、対話ブロックを選択するための方針である。また、各ストラテジーごとに所定のロジックが設定されているものとする。【００４７】
評価部１５３は、前記取得したストラテジーに基づいて、発話内容をあらかじめ定義した情報である対話ブロックを評価する。評価部１５３は、選択部１５４によって選択されたストラテジーに従って評価を行う。また、生成部１３４は、評価部１５３による評価に基づいて選択された対話ブロックから、ユーザに対して出力する発話を生成する。【００４８】
ここで、例えば、話題継続系のストラテジーとして、「キーワード一致」、「関連語検索」、「第２語検索」及び「ユーザ辞書」がある。「キーワード一致」は、蓄積済みのキーワードと一致するワードを含む対話ブロックを高く評価するストラテジーである。また、「関連語検索」は、Ｗｉｋｉｐｅｄｉａ等の事典提供サービスにおいて、蓄積済みのキーワードと同時に参照されているキーワードを含む対話ブロックを高く評価するストラテジーである。また、「第２語検索」は、検索エンジンに蓄積済みのキーワードを入力したときに同時に検索されるキーワードを含む対話ブロックを高く評価するストラテジーである。また、「ユーザ辞書」は、ユーザごとにあらかじめ作成されたキーワード間の指向性の辞書に基づき、蓄積済みのキーワードと関連性が高いキーワードを含む対話ブロックを高く評価するストラテジーである。【００４９】
また、例えば、話題提案系のストラテジーには、「ユーザ嗜好」及び「トレンド」がある。「ユーザ嗜好」は、あらかじめ設定されたユーザの嗜好を基に対話ブロックを評価するストラテジーである。また、「トレンド」は、ＳＮＳ（Social  Networking  Service）や検索サイト等で人気の検索ワードを含む対話ブロックを高く評価するストラテジーである。このように、話題提案系のストラテジーは、いずれも蓄積済みのキーワードと無関係に対話ブロックを評価するストラテジーである。【００５０】
また、図２に示すように、対話ブロックＤＢ１２２においてあらかじめジャンルを設定しておき、話題継続系のストラテジーでは、同一のジャンルの対話ブロックの評価が高くなるようにしてもよい。また、対話ブロックＤＢ１２２においてあらかじめトレンドの順位を設定しておき、順位が高い方が対話ブロックの評価が高くなるようにしてもよい。【００５１】
また、話題継続系又は話題提案系のそれぞれに複数のストラテジーがある場合、選択部１５４は、ランダムにストラテジーを選択してもよいし、ユーザの嗜好を学習した結果を基にストラテジーを選択してもよい。【００５２】
図４を用いて、推定部１５２による対話ブロックの選択処理を具体的に説明する。図４は、ブロック選択処理を説明する図である。図４の例では、対話装置１０をロボットと呼ぶ。「発話内容」は、対話装置１０に入力された発話及び対話装置１０が出力した発話の内容である。【００５３】
「種別」は、解釈部１３２による解釈の結果である。まず、解釈部１３２は、ユーザの発話が「ポジティブな反応」又は「ネガティブな反応」のいずれかに当てはまるかを判定し、いずれにも当てはまらない対話を「発言」と解釈する。【００５４】
「キーワード追加処理」は、蓄積部１５１によるキーワード追加処理の内容である。「キーワード追加処理」は、キーワードが追加されたか否か、及び蓄積済みのキーワード群の削除が行われたか否かによって決定される。なお、リセットとは、蓄積済みのキーワード群の削除である。【００５５】
図４のＮｏ．１及びＮｏ．２の対話に示すように、まず、対話装置１０は、「バスケットボールリーグのＡ氏が選手の休養について○○チームに注意したってニュースになっていたよ。」という発話を出力した。これに対し、ユーザは、「あー。Ｂ選手とかよく休んでるもんね。」という発話を入力した。【００５６】
そして、解釈部１３２は、ユーザの発話を「発言」と解釈した。このとき、蓄積部１５１は、キーワード記憶領域１２１をリセットしてキーワードを追加した。この場合。推定部１５２は、対話状態を「新規話題追加」と推定する。なお、図４のＮｏ．１及びＮｏ．２の対話から、蓄積部１５１は、「バスケットボールリーグ」、「Ａ氏」、「○○チーム」、「Ｂ選手」をキーワードとして追加する。【００５７】
また、推定部１５２によって推定された状態が「新規話題追加」であったため、選択部１５４は、話題継続系のストラテジーを選択する。このとき、図４のＮｏ．３に示すように、対話装置１０は、バスケットボールの話題の対話ブロックから生成された発話を出力する。【００５８】
続いて、図４のＮｏ．３及びＮｏ．４の対話に示すように、対話装置１０は、「最近では××チーム対△△チーム戦でＣ選手が休養というニュースもあったね。」という発話を出力した。これに対し、ユーザは、「あれはよくなかったよね！」という発話を入力した。【００５９】
そして、解釈部１３２は、ユーザの発話を「ポジティブな反応」と解釈した。このとき、蓄積部１５１は、キーワード記憶領域１２１をリセットせずにキーワードを追加した。この場合。推定部１５２は、対話状態を「発散」と推定する。なお、図４のＮｏ．３及びＮｏ．４の対話から、蓄積部１５１は、「××チーム」、「△△チーム」、「Ｃ選手」をキーワードとして追加する。【００６０】
また、推定部１５２によって推定された状態が「発散」であったため、選択部１５４は、話題継続系のストラテジーを選択する。このとき、図４のＮｏ．５に示すように、対話装置１０は、バスケットボールの話題に関連する対話ブロックから生成された発話を出力する。【００６１】
また、図４のＮｏ．５及びＮｏ．６の対話に示すように、対話装置１０は、「△△チームもプレーオフ進出が決まったね。」という発話を出力した。これに対し、ユーザは、「ふーん。」という発話を入力した。【００６２】
そして、解釈部１３２は、ユーザの発話を「ネガティブな反応」と解釈した。このとき、蓄積部１５１は、キーワード記憶領域１２１にキーワードを追加しなかった。この場合。推定部１５２は、対話状態を「収束」と推定する。さらに、図４のＮｏ．５及びＮｏ．６の対話に対しても、推定部１５２は対話状態を「収束」と判定する。【００６３】
ここで、推定部１５２によって推定された状態が連続して「収束」であったため、選択部１５４は、話題提案系のストラテジーを選択する。このとき、図４のＮｏ．９に示すように、対話装置１０は、バスケットボールの話題を中止し、花見に関連する対話ブロックから生成された発話を出力する。【００６４】
［処理の流れ］
（ユーザの発話に対する処理の流れ）
図５を用いて、ユーザの発話に対する対話装置１０の処理の流れを説明する。図５は、ユーザの発話に対する処理の流れを示すフローチャートである。図５に示すように、まず、対話装置１０は、ユーザの発話の入力を受け付ける（ステップＳ１１）。次に、対話装置１０は、入力されたユーザの発話の内容を解釈する（ステップＳ１２）。そして、対話装置１０は、キーワード追加処理を実行する（ステップＳ１３）。【００６５】
（ユーザの反応に対する処理の流れ）
図６を用いて、ユーザの反応に対する対話装置１０の処理の流れを説明する。図６は、ユーザの反応に対する処理の流れを示すフローチャートである。図６に示すように、まず、対話装置１０は、ユーザに対して発話を出力する（ステップＳ２１）。次に、対話装置１０は、ユーザの反応の入力を受け付ける（ステップＳ２２）。そして、対話装置１０は、ユーザの反応がポジティブであるか否かを判定する（ステップＳ２３）。【００６６】
ここで、対話装置１０は、ユーザの反応がポジティブでないと判定した場合（ステップＳ２３、Ｎｏ）、キーワード追加処理を実行せずに処理を終了する。一方、対話装置１０は、ユーザの反応がポジティブであると判定した場合（ステップＳ２３、Ｙｅｓ）、キーワード追加処理を実行する（ステップＳ２４）。【００６７】
（キーワード追加処理の流れ）
図７を用いて、キーワード追加処理の流れを説明する。図７は、キーワード追加処理の流れを示すフローチャートである。なお、キーワード追加処理は、図５のステップＳ１３及び図６のステップＳ２４に対応する処理である。【００６８】
図７に示すように、まず、対話装置１０は、対象のキーワードと一致するキーワードが蓄積キーワード群にあるか否かを判定する（ステップＳ２５）。ここで、対象のキーワードは、対話に含まれるキーワードである。また、蓄積キーワード群は、キーワード記憶領域１２１に記憶されているキーワードの集合である。【００６９】
対話装置１０は、対象のキーワードと一致するキーワードが蓄積キーワード群にあると判定した場合（ステップＳ２５、Ｙｅｓ）、キーワードを追加せずに処理を終了する。一方、対話装置１０は、対象のキーワードと一致するキーワードが蓄積キーワード群にないと判定した場合（ステップＳ２５、Ｎｏ）、対象のキーワードと蓄積キーワード群が類似しているか否かを判定する（ステップＳ２６）。【００７０】
対話装置１０は、対象のキーワードと蓄積キーワード群が類似していると判定した場合（ステップＳ２６、Ｙｅｓ）、対象のキーワードを蓄積キーワード群に追加する（ステップＳ２８）。一方、対話装置１０は、対象のキーワードと蓄積キーワード群が類似していないと判定した場合（ステップＳ２６、Ｎｏ）、蓄積キーワード群をリセットし（ステップＳ２７）、対象のキーワードを蓄積キーワード群に追加する（ステップＳ２８）。【００７１】
（発話の出力処理の流れ）
図８を用いて、発話の出力処理の流れを説明する。図８は、発話の出力処理の流れを示すフローチャートである。図８に示すように、まず、対話状態推定処理を実行する（ステップＳ３１）。次に、対話装置１０は、対話状態が、「新規話題開始」及び「発散」のうちのいずれかであるか、又は「新規話題開始」及び「発散」のいずれでもないかを判定する（ステップＳ３２）。【００７２】
対話装置１０は、対話状態が「新規話題開始」及び「発散」のうちのいずれかであると判定した場合（ステップＳ３２、Ｙｅｓ）、話題継続系のストラテジーを選択する（ステップＳ３３）。一方、対話装置１０は、対話状態が「新規話題開始」及び「発散」のうちのいずれでもないと判定した場合（ステップＳ３２、Ｎｏ）、話題提案系のストラテジーを選択する（ステップＳ３４）。【００７３】
ここで、対話装置１０は、選択されたストラテジーに基づき発話を生成する（ステップＳ３５）。そして、対話装置１０は、生成した発話をユーザに対し出力する（ステップＳ３６）。【００７４】
（対話状態推定処理の流れ）
図９を用いて、対話状態推定処理の流れを説明する。図９は、対話状態推定処理の流れを示すフローチャートである。なお、対話状態推定処理は、図８のステップＳ３１に対応している。【００７５】
図９に示すように、対話装置１０は、直前の入力時の処理を参照する（ステップＳ４１）。すなわち、対話装置１０は、キーワード追加処理が実行されたか否か、及びキーワード追加処理の処理内容を参照する。【００７６】
ここで、対話装置１０は、蓄積キーワード群がリセットされたか否かを判定する（ステップＳ４２）。対話装置１０は、蓄積キーワード群がリセットされたと判定した場合（ステップＳ４２、Ｙｅｓ）、対話状態を「新規話題開始」とし（ステップＳ４３）、収束回数をリセットし（ステップＳ５０）、処理を終了する。収束回数は、後の処理で使用される変数であり、初期値は０であるとする。【００７７】
一方、対話装置１０は、蓄積キーワード群がリセットされなかったと判定した場合（ステップＳ４２、Ｎｏ）、蓄積キーワード群にキーワードが追加されたか否かを判定する（ステップＳ４４）。対話装置１０は、蓄積キーワード群にキーワードが追加されたと判定した場合（ステップＳ４４、Ｙｅｓ）、対話状態を「発散」とし（ステップＳ４５）、収束回数をリセットし（ステップＳ５０）、処理を終了する。【００７８】
一方、対話装置１０は、蓄積キーワード群にキーワードが追加されなかったと判定した場合（ステップＳ４４、Ｎｏ）、収束回数を１だけ増加させ（ステップＳ４６）、収束回数が閾値以上であるか否かを判定する（ステップＳ４７）。ここでは、対話装置１０は、対話状態が連続して「収束」と推定されているか否かを判定している。【００７９】
対話装置１０は、収束回数が閾値以上であると判定した場合（ステップＳ４７、Ｙｅｓ）、対話状態を「話題なし」とし（ステップＳ４９）、収束回数をリセットし（ステップＳ５０）、処理を終了する。一方、対話装置１０は、収束回数が閾値以上でないと判定した場合（ステップＳ４７、Ｎｏ）、対話状態を「収束」とし（ステップＳ４８）、処理を終了する。【００８０】
［効果］
上述したように、対話装置１０は、ユーザと対話装置１０との間でユーザから発話された内容を基に、対話状態を推定する。また、対話装置１０は、ユーザと対話装置１０との間でユーザから発話された内容を基に、対話状態を推定する。また、対話装置１０は、推定した対話状態に対応したストラテジーを取得し、取得したストラテジーに基づいてユーザと対話装置１０との対話において、対話装置１０が発話する発話内容を選択する。対話装置１０は、選択した発話内容でユーザに対して発話する。このように、対話装置１０は、対話状態に応じて話題を遷移させ、ユーザが対話に飽きないようにすることができる。このため、対話装置１０によれば、対話の継続性を高めることができる。【００８１】
また、対話装置１０は、ユーザと対話装置１０による対話において出現したキーワードであって、キーワード記憶領域１２１に蓄積済みでないキーワードをキーワード記憶領域１２１に蓄積する。また、対話装置１０は、キーワード記憶領域１２１にキーワードが新たに追加されたか否か、及び、追加されたキーワードがキーワード記憶領域１２１に蓄積済みのキーワードと類似していたか否か、により対話状態を推定する。このように、対話装置１０は、蓄積済みのキーワードとの同一性及び類似性を基に、新たなキーワードを追加するか否かを判断している。これにより、蓄積済みのキーワードを参照することで、話題を継続させることが可能になる。【００８２】
また、対話装置１０は、蓄積済みのキーワードと非類似のキーワードが追加された場合、対話状態を「新規話題開始」と推定する。また、対話装置１０は、蓄積済みのキーワードと類似のキーワードが追加された場合、対話状態を「発散」と推定する。また、対話装置１０は、キーワードが追加されなかった場合、対話状態を「収束」と推定する。また、対話装置１０は、対話が途切れた場合、対話状態を「話題なし」と推定する。これにより、対話装置１０は、キーワードの追加状況を基に自動的に対話状態を推定することができる。【００８３】
また、対話装置１０は、ユーザに対する対話装置１０からの発話のうち、ユーザが肯定的な反応をした発話に含まれるキーワードをキーワード記憶領域１２１に蓄積する。これにより、対話装置１０は、ユーザの興味を把握し、ユーザの興味に合わせた対話を行うことができる。【００８４】
また、対話装置１０は、発話の内容をあらかじめ定義した情報である対話ブロックのそれぞれを、ストラテジーの選択結果に基づいて評価する。また、対話装置１０は、評価に基づいて選択された対話ブロックから、ユーザに対して出力する発話を生成する。これにより、様々なストラテジーをあらかじめ用意しておくことで、対話ブロックの選択を柔軟に行うことができるようになる。【００８５】
なお、上記の実施例では、対話状態を「新規話題開始」、「発散」、「収束」、「話題なし」の４種類としたが、対話状態は４種類でなくてもよい。例えば、上記の対話状態の他に、ユーザから話題の転換が提案された対話状態である「転換」等があってもよい。【００８６】
［システム］
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値等は、あくまで一例であり、任意に変更することができる。【００８７】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。【００８８】
［ハードウェア］
図１０は、ハードウェア構成例を説明する図である。図１０に示すように、対話装置１０は、通信装置１０ａ、ＨＤＤ（Hard  Disk  Drive）１０ｂ、メモリ１０ｃ、プロセッサ１０ｄを有する。また、図１０に示した各部は、バス等で相互に接続される。【００８９】
通信装置１０ａは、ネットワークインタフェースカード等であり、他のサーバとの通信を行う。ＨＤＤ１０ｂは、図１に示した機能を動作させるプログラムやＤＢを記憶する。【００９０】
プロセッサ１０ｄは、図１に示した各処理部と同様の処理を実行するプログラムをＨＤＤ１０ｂ等から読み出してメモリ１０ｃに展開することで、図２等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、対話装置１０が有する各処理部と同様の機能を実行する。具体的には、プロセッサ１０ｄは、入力部１３１、解釈部１３２、読込部１３３、生成部１３４、出力部１３５及びブロック選択部１５０と同様の機能を有するプログラムをＨＤＤ１０ｂ等から読み出す。そして、プロセッサ１０ｄは、入力部１３１、解釈部１３２、読込部１３３、生成部１３４、出力部１３５及びブロック選択部１５０等と同様の処理を実行するプロセスを実行する。【００９１】
このように対話装置１０は、プログラムを読み出して実行することで分類方法を実行する情報処理装置として動作する。また、対話装置１０は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、対話装置１０によって実行されることに限定されるものではない。例えば、他のコンピュータ又はサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。【００９２】
このプログラムは、インターネット等のネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ（Magneto−Optical  disk）、ＤＶＤ（Digital  Versatile  Disc）等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【００９３】
１０  対話装置
１１  通信部
１２  記憶部
１３  制御部
２０  入力装置
３０  出力装置
１２１  キーワード記憶領域
１２２  対話ブロックＤＢ
１３１  入力部
１３２  解釈部
１３３  読込部
１３４  生成部
１３５  出力部
１５０  ブロック選択部
１５１  蓄積部
１５２  推定部
１５３  評価部
１５４  選択部
【図１】
2020066019.tif 000003
【図２】
2020066019.tif 000004
【図３】
2020066019.tif 000005
【図４】
2020066019.tif 000006
【図５】
2020066019.tif 000007
【図６】
2020066019.tif 000008
【図７】
2020066019.tif 000009
【図８】
2020066019.tif 000010
【図９】
2020066019.tif 000011
【図１０】
2020066019.tif 000012
【国際調査報告】
2020066019.tif 000013
2020066019.tif 000014
2020066019.tif 000015
2020066019.tif 000016