(57)【要約】【課題】自然な対話の継続性を高めることを課題とする。【解決手段】対話装置は、ユーザの発話に応じて応答する発話内容が規定されたコンテンツを記憶する記憶部を有する。そして、対話装置は、ユーザの発話に基づき、発話内容の詳細度合である深度を判定する。その後、対話装置は、判定された前記深度に応じて、記憶部に記憶されるコンテンツから発話対象のコンテンツを選択する。そして、対話装置は、選択された発話対象のコンテンツに基づき、ユーザに対して発話を行う。【選択図】図１
2020056824.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの発話に応じて応答する発話内容が規定されたコンテンツを記憶する記憶部と、
前記ユーザの発話に基づき、前記発話内容の詳細度合である深度を判定する判定部と、
判定された前記深度に応じて、前記記憶部に記憶されるコンテンツから発話対象のコンテンツを選択する選択部と、
選択された前記発話対象のコンテンツに基づき、前記ユーザに対して発話を行う発話実行部と
を有することを特徴とする対話装置。
【請求項２】
前記選択部は、階層化された前記深度において、判定された前記深度の階層が深いほど、前記ユーザの発話内容との関連性が高いコンテンツを前記発話対象のコンテンツとして選択することを特徴とする請求項１に記載の対話装置。
【請求項３】
前記記憶部は、規定される前記発話内容の詳細度合によって階層化された深度ごとに、前記コンテンツを記憶し、
前記選択部は、判定された前記深度の階層に該当する複数のコンテンツのうち、前記発話対象のコンテンツを選択することを特徴とする請求項１に記載の対話装置。
【請求項４】
前記記憶部は、規定される前記発話内容の詳細度合によって階層化された深度ごとに、前記発話内容と発話条件とが設定される前記コンテンツを記憶し、
前記選択部は、発話済みのコンテンツに対して前記ユーザが応答した応答内容と、前記発話済みのコンテンツが属する前記深度の階層とに基づき、前記発話条件を満たすコンテンツを、前記発話対象のコンテンツとして選択することを特徴とする請求項１に記載の対話装置。
【請求項５】
前記深度は、前記ユーザとの対話の詳細度合を示すレベルによって階層化され、
前記発話条件は、前記レベルが高いほど、発話されにくい詳細な条件が指定され、
前記選択部は、発話済みのコンテンツに対して前記ユーザが応答した応答内容と、前記発話済みのコンテンツが属する前記深度の階層とに基づき、前記レベルを特定し、特定したレベルに対応するコンテンツのうち、前記発話条件を満たすコンテンツを、前記発話対象のコンテンツとして選択することを特徴とする請求項４に記載の対話装置。
【請求項６】
各レベルのコンテンツの発話条件は、キーワードを含み、
前記選択部は、前記ユーザが応答した応答内容に前記キーワードが含まれる場合、特定したレベルに関わらず、前記キーワードが設定されるコンテンツを、前記発話対象のコンテンツとして選択することを特徴とする請求項５に記載の対話装置。
【請求項７】
前記選択部は、前記ユーザが応答した応答内容に否定的な言葉が含まれる場合、または、前記ユーザとの対話時間が所定時間を超える場合、特定したレベルより浅い階層のレベルに属するコンテンツを、前記発話対象のコンテンツとして選択することを特徴とする請求項５に記載の対話装置。
【請求項８】
前記選択部は、階層化された前記深度において、判定された前記深度の階層が浅いほど、発話済みのコンテンツとの関連性が低いコンテンツを前記発話対象のコンテンツとして選択することを特徴とする請求項１に記載の対話装置。
【請求項９】
コンピュータが、
ユーザの発話に基づき、前記ユーザの発話に応じて応答する発話内容の詳細度合である深度を判定し、
前記発話内容が規定されたコンテンツを記憶する記憶部を参照し、判定された前記深度に応じて、前記記憶部に記憶されるコンテンツから発話対象のコンテンツを選択し、
選択された前記発話対象のコンテンツに基づき、前記ユーザに対して発話を行う
処理を実行することを特徴とする対話方法。
【請求項１０】
コンピュータに、
ユーザの発話に基づき、前記ユーザの発話に応じて応答する発話内容の詳細度合である深度を判定し、
前記発話内容が規定されたコンテンツを記憶する記憶部を参照し、判定された前記深度に応じて、前記記憶部に記憶されるコンテンツから発話対象のコンテンツを選択し、
選択された前記発話対象のコンテンツに基づき、前記ユーザに対して発話を行う
処理を実行させることを特徴とする対話プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話装置、対話方法および対話プログラムに関する。
【背景技術】
【０００２】
近年、ＦＡＱ（Frequently  Asked  Questions）システムやＷｅｂページの検索などに、タスク指向型の対話システムや一問一答型のチャットボットなどの対話システムが利用されている。例えば、自然な話題展開を行うために、複数のシナリオを用意しておき、ユーザ等から発話されたユーザ発話の内容に応じたシナリオを選択し、選択したシナリオに沿って発話を実行することで、ユーザとの対話を行うシステムが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−４４０８８号公報
【特許文献２】特開２００３−３２３３８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術では、予め想定したシナリオに沿った発話が実行されるので、シナリオから外れたユーザ発話が行われると、唐突な話題変換などが発生して対話が終了するなど、システムの柔軟性が乏しい。
【０００５】
また、シナリオに対応付けて様々な発話用のコンテンツを予め用意することも考えられるが、用意するコンテンツが膨大であることから、コストが増大し現実的ではない。また、シナリオに沿った発話だけだと、ユーザとの対話が単調になり、ユーザの満足度が低下して対話が途中で終了することがある。
【０００６】
一つの側面では、自然な対話の継続性を高めることができる対話装置、対話方法および対話プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の案では、対話装置は、ユーザの発話に応じて応答する発話内容が規定されたコンテンツを記憶する記憶部を有する。対話装置は、前記ユーザの発話に基づき、前記発話内容の詳細度合である深度を判定する判定部を有する。対話装置は、判定された前記深度に応じて、前記記憶部に記憶されるコンテンツから発話対象のコンテンツを選択する選択部を有する。対話装置は、選択された前記発話対象のコンテンツに基づき、前記ユーザに対して発話を行う発話実行部を有する。
【発明の効果】
【０００８】
一つの側面では、自然な対話の継続性を高めることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１にかかる対話システムの全体構成例を示す図である。
【図２】図２は、実施例１にかかる対話装置の機能構成を示す機能ブロック図である。
【図３】図３は、実施例１にかかるコンテンツＤＢのデータ構造の例を説明する図である。
【図４】図４は、実施例１にかかるコンテンツの階層構造を説明する図である。
【図５】図５は、深度による発話候補の増減を説明する図である。
【図６】図６は、処理の流れを示すフローチャートである。
【図７】図７は、一般技術を用いたときの対話例を説明する図である。
【図８】図８は、実施例１を用いたときの対話例を説明する図である。
【図９】図９は、低深度におけるトピック探索を説明する図である。
【図１０】図１０は、キーワードによるコンテンツ選択を説明する図である。
【図１１】図１１は、実施例２にかかる処理の流れを示すフローチャートである。
【図１２】図１２は、ハードウェア構成例を説明する図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示する対話装置、対話方法および対話プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例１】
【００１１】
［全体構成］
図１は、実施例１にかかる対話システムの全体構成例を示す図である。図１に示すように、この対話システムは、ユーザ端末１と対話装置１０とがネットワークＮを介して、通信可能に接続される。対話の例としては、通信販売、ネット販売、ネットゲームなどのエンドユーザからの質問、システム障害などの管理者からの質問、旅行先などユーザが希望するＷｅｂサイトの検索などがある。
【００１２】
なお、ネットワークＮは、有線や無線を問わず、インターネットや専用線など様々なネットワークを採用することができる。また、ユーザ端末１が１台の例を示すが、これに限定されるものではなく、複数台のユーザ端末１と対話装置１０とが同時に対話することもできる。
【００１３】
ユーザ端末１は、スマートフォン、携帯端末、パーソナルコンピュータなどのコンピュータ装置である。ユーザ端末１は、Ｗｅｂブラウザや専用のアプリケーションなどを利用して、対話装置１０にアクセスして、対話装置１０と対話を実行する。また、ユーザ端末１は、音声入力やキーボードなどを使った文字入力により、対話を実行する。
【００１４】
対話装置１０は、ユーザ端末１との間でＷｅｂ通信などを確立して、ユーザ端末１と対話を実行するコンピュータ装置である。この対話装置１０は、タスク指向型の対話システムや一問一答型のチャットボットなどの対話システムを実現し、ユーザに対してシステム側から話題提供を行う。
【００１５】
このような対話システムにおいて、対話装置１０は、発話候補であるコンテンツをトピックにおける詳細度合によって階層化して保持する。そして、対話装置１０は、対話のトピックと対話で使用されたコンテンツの深度に基づき、浅い階層では話題の変更と深化を制御し、深い階層ではユーザ発話との一致度合の制限を強める。この結果、対話装置１０は、唐突感のない話題展開を実現することができるので、自然な対話の継続性を高めることができる。
【００１６】
［機能構成］
図２は、実施例１にかかる対話装置１０の機能構成を示す機能ブロック図である。図２に示すように、対話装置１０は、通信部１１、記憶部１２、制御部２０を有する。
【００１７】
通信部１１は、ユーザ端末１との間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部１１は、ユーザ端末１との間でＷｅｂ通信やチャットボットによる通信を確立し、対話に関するデータの送受信を実行する。
【００１８】
記憶部１２は、プログラムやデータを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部１２は、コンテンツＤＢ１３や対話履歴ＤＢ１４を記憶する。
【００１９】
コンテンツＤＢ１３は、発話対象であるコンテンツを記憶するデータベースである。具体的には、コンテンツＤＢ１３は、規定される発話内容の詳細度合であって、コンテンツの詳細度合を示す深度により階層化され、発話内容などが指定されたコンテンツを記憶する。図３は、実施例１にかかるコンテンツＤＢ１３のデータ構造の例を説明する図である。図３に示すように、コンテンツＤＢ１３は、レベル１コンテンツ、レベル２コンテンツ、レベル３コンテンツの階層構造でコンテンツを記憶する。
【００２０】
レベル１コンテンツは、「発話内容、発話条件、トピック・深度コントロール」が設定された複数のコンテンツを有する。「発話内容」には、対話装置１０がユーザ端末１に発話する内容が設定される。「発話条件」には、コンテンツが選択される条件が設定され、例えばレベルやキーワードなどが設定される。例えば、レベル１が設定されているコンテンツは、トピックが未設定の場合に、優先的に選択されることを示す。また、キーワード「料理」が設定されているコンテンツは、最新のユーザ発話に「料理」が含まれている場合に、優先的に選択されることを示す。「トピック・深度コントロール」には、コンテンツ選択後のトピックや深度の制御方法が設定される。例えば、「Ｘ１と応答したら、Ｔ１トピックのレベル２」が設定されているコンテンツは、最新のコンテンツに対するユーザ発話に「Ｘ１」が含まれている場合に、トピックが「Ｔ１」に設定され、発話条件にトピックＴ１が設定されたレベル２のコンテンツを次の発話対象とすることを示す。
【００２１】
レベル２コンテンツは、「発話内容、発話条件」が設定された複数のコンテンツを有する。「発話内容」には、対話装置１０がユーザ端末１に発話する内容が設定される。「発話条件」には、コンテンツが選択される条件が設定され、例えばレベルかつトピックの組み合わせ、キーワードなどが設定される。例えば、レベル２以上かつトピックＴが設定されるコンテンツは、レベル２以上のコンテンツが発話済み、かつ、トピックにＴが設定されているときに、優先的に選択されることを示す。また、キーワード「カレー」が設定されるコンテンツは、最新のユーザ発話に「カレー」が含まれているときに優先的に選択されることを示す。
【００２２】
レベル３コンテンツは、「発話内容、発話条件」が設定された複数のコンテンツを有する。「発話内容」には、対話装置１０がユーザ端末１に発話する内容が設定される。「発話条件」には、コンテンツが選択される条件が設定され、例えばレベルかつトピックかつユーザ発話内容の組み合わせ、キーワードなどが設定される。例えば、レベル２以上かつトピックＴかつユーザ発話Ｙが設定されるコンテンツは、レベル２以上のコンテンツが発話済み、かつ、トピックにＴが設定されている、かつ、直前のユーザ発話に「Ｙ」が含まれている場合に、優先的に選択されることを示す。また、キーワード「カレーの語源」が設定されるコンテンツは、最新のユーザ発話に「カレーの語源」が含まれているときに優先的に選択されることを示す。
【００２３】
上述したように、コンテンツＤＢ１３が記憶するコンテンツは、レベルごとに区分され、階層構造を形成する。図４は、実施例１にかかるコンテンツの階層構造を説明する図である。図４に示すように、コンテンツの階層構造は、コンテンツの詳細度合を示す深度が最も浅いレベル１から深度が最も高いレベル３までとなる。レベル１には、いつでも発話可能なコンテンツが含まれ、レベル２には、トピックにより発話が限定されるコンテンツが含まれ、レベル３には、ユーザ発話に反応するコンテンツが含まれる。
【００２４】
コンテンツの内容が深度によって詳細になる具体例を説明する。例えば、対話が開始されてトピックが未設定の状態で、レベル１のコンテンツである発話内容「私は犬が好きなのですが、犬派ですか？猫派ですか？」が発話され、その応答としてユーザが「犬」と発話した場合、トピックに「犬」が設定されたレベル２のコンテンツが発話される。例えば、レベル２のコンテンツとして、発話内容「日本ではマンションで飼いやすいトイプードルが人気ですね」が発話される。
【００２５】
その後、トピックが「犬」の状態で、上記発話に対して、ユーザが「トイプードルが好きです」などのように「トイプードル」を含む発話を行ったときに、そのユーザ発話の応答として、レベル３のコンテンツが発話される。例えば、レベル３のコンテンツとして、発話内容「海外では２色以上の毛色をもつプードルがパーティーカラーと呼ばれて人気があるそうです。」が発話される。
【００２６】
図２に戻り、対話履歴ＤＢ１４は、ユーザ端末１との間の対話履歴を記憶するデータベースである。例えば、対話履歴ＤＢ１４は、ユーザ発話の内容、対話装置１０が発話した内容、設定されたトピックの内容を時系列に記憶する。また、対話履歴ＤＢ１４に記憶される情報は、ユーザ端末１との対話が継続している間は保存され、対話が終了すると削除される。
【００２７】
制御部２０は、対話装置１０全体を司る処理部であり、例えばプロセッサなどである。この制御部２０は、コンテンツ管理部２１、対話入力部２２、対話制御部２３、対話出力部２４を有する。なお、コンテンツ管理部２１、対話入力部２２、対話制御部２３、対話出力部２４は、プロセッサなどの電子回路の一例やプロセッサが実行するプロセスの一例である。
【００２８】
コンテンツ管理部２１は、コンテンツＤＢ１３に格納するコンテンツの管理を実行する処理部である。具体的には、コンテンツ管理部２１は、階層構造のコンテンツを自動で生成してコンテンツＤＢ１３に格納したり、管理者が生成した階層構造のコンテンツを取得してコンテンツＤＢ１３に格納したりする。
【００２９】
例えば、コンテンツ管理部２１は、Ｗｅｂページからコンテンツを取得し、トップページからの遷移を階層に設定し、階層構造のコンテンツを生成することができる。旅行サイトを例にすると、トップページのコンテンツ「温泉特集」のページがレベル１のコンテンツであり、トップページから次に遷移するコンテンツ「単純温泉」、「酸性泉」、「展望露天風呂」のそれぞれのページがレベル２のコンテンツとなる。また、コンテンツ「単純温泉」、「酸性泉」、「展望露天風呂」から次に遷移するコンテンツ「〇〇宿」などの各宿のページがレベル３のコンテンツとなる。
【００３０】
ここで、コンテンツ管理部２１がトピックと深度とを設定する方式を説明する。例えば、コンテンツ管理部２１は、深度Ｘのコンテンツの発話条件に、深度Ｘより低い深度条件に加え、ユーザ発話などの別の条件を記述するコンテンツを作ることにより、直前のコンテンツによらず、変更する深度のコンテンツに制御情報を記述できる。また、コンテンツ管理部２１は、ユーザの興味が一致する場合には話題を深めやすくするため、各コンテンツにキーワードを付与し、ユーザ発話にキーワードが含まれるコンテンツがある場合には優先的に選ばれるように記述することもできる。
【００３１】
対話入力部２２は、ユーザ端末１から発話されたユーザ発話を取得して、対話制御部２３に入力する処理部である。例えば、対話入力部２２は、ユーザ発話「何か話してよ」などを取得して、対話制御部２３に入力し、対話履歴ＤＢ１４に格納する。また、対話入力部２２は、ユーザ発話の内容に対して形態素解析などを実行し、抽出される単語などの情報を解析結果として、対話制御部２３に入力することもできる。
【００３２】
対話制御部２３は、トピック管理部２３ａ、候補抽出部２３ｂ、選択部２３ｃを有し、ユーザ発話に応じて、該当するコンテンツを特定し、ユーザに対して発話を実行する制御部である。
【００３３】
トピック管理部２３ａは、ユーザとの対話状況に基づき、対話のトピックを管理する処理部である。具体的には、トピック管理部２３ａは、トピックについて状態を管理し、深度についてはレベルを管理する。また、トピック管理部２３ａは、対話出力部２４から発話されたコンテンツの情報を取得して保持する。そして、トピック管理部２３ａは、直前のコンテンツと、深度コントロールの情報と、ユーザ発話の内容とに基づいて、トピックおよびレベルを判断する。
【００３４】
例えば、トピック管理部２３ａは、レベル１のコンテンツＡが発話された場合、当該コンテンツに設定されるトピックおよび深度コントロール「Ｘ１と応答したらＴ１トピックのレベル２」を保持する。その後、トピック管理部２３ａは、ユーザ発話に「Ｘ１」が含まれる場合、トピックを「Ｔ１」と設定するとともに、ユーザとの対話の詳細度合である対話レベルをレベル２に設定する。一方、トピック管理部２３ａは、ユーザ発話に「Ｘ１」が含まれない場合、トピックを未設定のままとするとともに、対話レベルをレベル１のままにする。
【００３５】
また、トピック管理部２３ａは、レベル１のコンテンツＡに設定される深度コントロールと同様のユーザ応答が検出された場合に、対話レベルをレベル２に維持する。なお、レベル１のコンテンツはレベル２以上の場合にも発話可能であり、それに対して深度を決める条件にマッチすれば新しいトピックのレベル２が設定される。また、ユーザとの発話時間が所定時間経過した場合やユーザ反応薄となった場合、トピックが未設定となる。
【００３６】
候補抽出部２３ｂは、トピックや発話条件に基づいて、発話候補のコンテンツを抽出する処理部である。具体的には、候補抽出部２３ｂは、発話済みのコンテンツのレベルが浅い（低レベル）場合は、選択肢を多くしてトピックを探すように、発話候補のコンテンツを抽出する。また、候補抽出部２３ｂは、発話済みのコンテンツのレベルが深い（高レベル）場合は、ユーザ発話の内容に追従するように、発話候補のコンテンツを抽出する。そして、候補抽出部２３ｂは、抽出した結果を選択部２３ｃに出力する。
【００３７】
図５は、深度による発話候補の増減を説明する図である。図５に示すように、候補抽出部２３ｂは、トピックがなしの状態では、レベル１のコンテンツを発話候補として抽出する。また、候補抽出部２３ｂは、トピックが「Ｘ」の場合、レベル１のコンテンツとトピック「Ｘ」が設定されたレベル２のコンテンツとを発話候補として抽出する。この場合、トピックＸを設定する際に、Ｘに関連する対話が行われており、レベル２のコンテンツはＸ関連のキーワードが含まれていることからレベル１の候補より選択されやすくなる。また、候補抽出部２３ｂは、トピックが「Ｘ」かつユーザ発話が「ａａ」である場合、レベル１のコンテンツとトピック「Ｘ」が設定されたレベル２のコンテンツに加えて、トピックが「Ｘ」かつユーザ発話が「ａａ」が設定されたレベル３のコンテンツを発話候補として抽出する。このように、深度が深くなるにしたがって、より詳細なコンテンツが選択されやすくなる。
【００３８】
より詳細には、候補抽出部２３ｂは、トピックが未設定の場合や対話レベルが１の場合、レベル１のコンテンツを発話候補として抽出する。また、候補抽出部２３ｂは、レベル１のコンテンツＡが発話された後、当該コンテンツに設定されるトピックおよび深度コントロール「Ｘ１と応答したらＴ１トピックのレベル２」に該当するユーザ発話が実行された場合、トピック管理部２３ａによりトピックに「Ｔ１」が設定されるので、深度コントロールにしたがって、レベル１のコンテンツに加えてトピックが「Ｔ１」であるレベル２のコンテンツを発話候補として抽出する。
【００３９】
また、候補抽出部２３ｂは、トピックが「Ｔ」で対話レベルが２以上の状態で、最新のユーザ発話に「Ｙ」が含まれている場合、レベル２のコンテンツのうち、「トピックがＴかつ対話レベルが２以上かつユーザ発話にＹが含まれる」ことを発話条件とするコンテンツを発話候補として抽出する。また、候補抽出部２３ｂは、発話条件と一致するキーワードがユーザによって発話された場合は、キーワードと一致するコンテンツに出力候補が限定される。
【００４０】
また、候補抽出部２３ｂは、ユーザにより「興味がない」などの否定的な発話が実行されると、トピックを維持しつつ、レベルを下げて、発話候補のコンテンツを選択する。また、候補抽出部２３ｂは、トピック管理部２３ａによってトピックが未設定に変更された場合には、レベル１のコンテンツを発話候補として抽出する。すなわち、トピックが未設定に変更されることに伴い、発話レベルを下げ、トピックの再検討が実行される。
【００４１】
選択部２３ｃは、候補抽出部２３ｂによって抽出された発話候補のコンテンツから、発話対象のコンテンツを選択する処理部である。具体的には、選択部２３ｃは、発話候補のコンテンツから、キーワード一致やランダムなどの手法を用いて発話候補を選択し、対話出力部２４に出力する。
【００４２】
例えば、選択部２３ｃは、トピックが未設定の場合、発話候補であるレベル１のコンテンツからランダムに選択することができる。例えば、選択部２３ｃは、レベル１のコンテンツの連続発話回数が閾値未満である場合、大きな話題変換とならないように、出力済みのコンテンツとカテゴリが共通するコンテンツを選択する。より詳細には、選択部２３ｃは、「野球」のコンテンツが出力済みのときは、同じスポーツである「サッカー」のコンテンツを選択する。
【００４３】
また、選択部２３ｃは、対話レベルが２の場合は、発話候補のコンテンツのうちレベル２のコンテンツを優先的に選択することができる。例えば、選択部２３ｃは、トピックが「料理」の場合、「料理」をより詳細にした下位概念である「カレー」や「寿司」などの料理名が発話内容に設定されるコンテンツを選択する。
【００４４】
また、選択部２３ｃは、レベル３のコンテンツが発話候補の場合、ユーザ発話に追従するコンテンツを優先的に選択することができる。例えば、選択部２３ｃは、トピックが「料理」でユーザ発話の履歴に「カレー」などが含まれる場合、「カレー」の話から脱線しないように、「カレーの作り方」や「カレーが食べられる国」など「カレー」に関する詳細な内容が設定されるコンテンツを選択する。
【００４５】
図２に戻り、対話出力部２４は、選択部２３ｃにより選択されたコンテンツを出力する処理部である。また、対話出力部２４は、ユーザ端末に出力（発話）したコンテンツに関する情報をトピック管理部２３ａに出力したり、対話履歴ＤＢ１４に格納したりする。
【００４６】
［処理の流れ］
図６は、処理の流れを示すフローチャートである。図６に示すように、対話入力部２２がユーザ反応を受け付けると（Ｓ１０１：Ｙｅｓ）、対話制御部２３は、ユーザ反応にしたがって、トピックを更新し、トピックの設定や削除などを行う（Ｓ１０２）。
【００４７】
続いて、対話制御部２３は、深度を判定し（Ｓ１０３）、深度にしたがって発話候補のコンテンツを抽出し（Ｓ１０４）、発話候補のうちランダム等の基準により、発話対象のコンテンツを選択する（Ｓ１０５）。その後、対話出力部２４は、選択された発話対象のコンテンツに設定される発話内容をユーザ端末１に出力する（Ｓ１０６）。
【００４８】
［比較例］
次に、一般技術と実施例１との比較例を説明する。図７は、一般技術を用いたときの対話例を説明する図であり、図８は、実施例１を用いたときの対話例を説明する図である。
【００４９】
図７の（１）に示すように、一般技術を用いた一般システムは、ユーザが「何か話してよ」などのように話題を要求すると、シナリオや最近のトレンドなどにしたがって、「ナイトプール」に関する発話を行う。続いて、図７の（２）に示すように、一般システムは、興味が小さいときやシナリオから外れたときに、ユーザが発話する「そうなんだ」などの相槌などを示す特定の発話が繰り返された場合でも、予め指定した「そうなんだ」などを発話して単なる相槌を行う。
【００５０】
その後、図７の（３）に示すように、一般システムは、不機嫌なときにユーザが発話する「何じゃそりゃ」などの内容が発話されたため、今までの対話履歴に関係なく、突然の話題変換を実行する。この結果、図７の（４）に示すように、ユーザの満足度が低下し、対話を強制的に終了したりする。
【００５１】
一方、図８の（１）に示すように、実施例１にかかる対話装置１０は、ユーザが「何か話してよ」などのように話題を要求すると、「テレビゲーム」や「料理」などのトピックを含むレベル１のコンテンツを発話する。続いて、図８の（２）に示すように、対話装置１０は、「料理」を含むユーザ発話が入力されると、トピックに「料理」を設定し、トピック「料理」と対応付けられる「好きな料理名」を問い合わせるためのレベル２のコンテンツを発話する。この発話に対する応答で、対話装置１０は、好きな料理名が「カレー」であることを特定する。
【００５２】
その後、図８の（３）に示すように、対話装置１０は、「料理」をより具体的にした「カレー」が発話されたことから、カレーの内容をより深く説明するコンテンツとして、「カレーの語源」を説明するレベル３のコンテンツを発話する。この結果、図８の（４）に示すように、不用意な話題変換やシナリオに沿った無機質な対話を抑制することができるので、ユーザの満足度も向上する。
【００５３】
［効果］
上述したように、対話装置１０は、コンテンツの出力とユーザ応答の履歴から現在のトピックと深度を決定し、現在のトピックと深度から出力候補を抽出し、出力候補からコンテンツを選択して出力する。このように、対話装置１０は、発話候補をトピックにおける詳細度合によって階層化して保持し、各コンテンツは発話条件と深化を決める情報を持つ。したがって、対話装置１０は、深い階層の発話候補はトピックやユーザ発話との一致条件を増やし、トピックに基づき話題の変更と深化を制御することができる。
【００５４】
この結果、対話装置１０は、唐突さの少ない話題転換と話題の深掘りによるユーザが親しみやすい対話を実現することができ、自然な対話の継続性を高めることができる。また、対話装置１０は、階層が浅い段階では、トピックの探索を実行し、階層が深い段階では、対話の深堀を実行するので、ユーザの満足度を向上させることができる。また、対話装置１０は、フローを必要とするシナリオ形式と比較して、段々詳細な内容を話すようなコンテンツの作成にかかるコストを低減することができる。
【実施例２】
【００５５】
ところで、実施例１では、コンテンツ側に発話条件を設定することで、深度を考慮した発話制限および発話制御を実現する例を説明したが、これに限定されるものではない。例えば、コンテンツ側に設定する情報を削減してコンテンツ作成者の負担を低減し、トピックの探索状況やキーワードの発話状況を用いて、対話装置１０が主導でコンテンツ選択や発話制御を実行することができる。
【００５６】
図９は、低深度におけるトピック探索を説明する図であり、図１０は、キーワードによるコンテンツ選択を説明する図である。図９に示すように、対話装置１０の対話制御部２３は、ユーザ発話を受信すると、レベル１のコンテンツからユーザ発話と関連性の高いコンテンツまたはランダムに選択したコンテンツを発話する（図９の（１）参照）。なお、関連性が高いコンテンツとは、例えば発話済みコンテンツと同じジャンルやトピックに属するコンテンツや、発話済みコンテンツに含まれる単語や当該単語の類義語などを含むコンテンツなどである。また、関連性が低いコンテンツとは、例えば発話済みコンテンツと異なるジャンルやトピックに属するコンテンツや、発話済みコンテンツに含まれる単語や当該単語の類義語などを含まないコンテンツなどである。
【００５７】
続いて、対話制御部２３は、発話したコンテンツに対する応答であるユーザ発話に、予め定めたトピックに対応する単語が含まれていないことから、レベル１のコンテンツを再度選択して発話する（図９の（２）参照）。このとき、対話制御部２３は、ランダムにコンテンツを選択したり、発話済みのコンテンツとの類似度が小さいコンテンツを選択したりすることもできる。なお、類似度は、単語の一致度などを用いて、閾値以上か否かにより判定することができる。
【００５８】
同様に、対話制御部２３は、発話したコンテンツに対する応答であるユーザ発話に、予め定めたトピックに対応する単語が含まれていないことから、レベル１のコンテンツを再度選択して発話する（図９の（３）参照）。このようにして、対話制御部２３は、ユーザが興味を示すトピックの探索を実行する。
【００５９】
その後、対話制御部２３は、発話したコンテンツに対する応答であるユーザ発話に、予め定めたトピックに対応する単語Ｙが含まれていることを検出すると、このユーザとの対話のトピックをＹに設定する（図９の（４）参照）。ここで、対話制御部２３は、レベル１のコンテンツに加えて、レベル２のコンテンツのうちトピックＹに対応する単語Ｙが含まれるコンテンツを発話候補とする。なお、レベル２のコンテンツの方が優先的に選択され、該当するコンテンツがない場合や発話対象のレベル２のコンテンツが発話済みの場合は、レベル１のコンテンツが選択される。また、レベル２は、トピックごとにカテゴライズされていてもよい。
【００６０】
そして、対話制御部２３は、レベル２のコンテンツであって、単語Ｙが含まれるコンテンツもしくはトピックＹに該当するコンテンツを選択して、ユーザに発話する（図９の（５）参照）。このようにして、対話装置１０は、ユーザが興味をもつトピックを探索し、興味をもつトピックが探索された場合には、そのトピックについてより詳細な内容を発話して、ユーザとの対話内容を充実させることができる。
【００６１】
また、図１０に示すように、対話制御部２３は、ユーザ発話を受信すると、レベル１のコンテンツをランダムに選択して発話する（図１０の（１）参照）。その応答として、キーワード「ＫＹ１」を含むユーザ発話が行われると、対話制御部２３は、キーワード「ＫＹ１」が設定されたレベル３のコンテンツ群を検出し、当該コンテンツ群のうちランダムに選択したコンテンツを発話する（図１０の（２）参照）。このように、対話制御部２３は、レベルに関係なく、キーワードを優先的に利用してコンテンツを選択する。また、対話制御部２３は、発話したレベル３のコンテンツに設定されるトピックまたは当該レベル３のコンテンツに含まれる単語を現在のトピックに設定する。
【００６２】
続いて、対話制御部２３は、レベル３のコンテンツが発話された後、ユーザが単なる相槌や対話終了を示す発話を行わない間、ユーザが興味を示していると判定し、キーワード「ＫＹ１」を有するレベル３のコンテンツもしくはトピックが一致するレベル２のコンテンツを選択して発話を続ける（図１０の（３）参照）。このとき、対話制御部２３は、ユーザ発話に含まれるキーワードに限らず、発話済みのコンテンツと類似するコンテンツや同じカテゴリに属するレベル２やレベル３のコンテンツを選択することもできる。
【００６３】
その後、対話制御部２３は、発話されたレベル３のコンテンツに対して、「興味ない」などのユーザ発話が入力されると、ユーザの興味がなくなったと判定し、トピックの設定を解除して、レベル１のコンテンツをランダムに選択して発話する（図１０の（４）参照）。
【００６４】
このように、対話装置１０は、レベル３のコンテンツを発話している状態であっても、ユーザの興味が遠ざかった場合には、レベル１のコンテンツを再度発話することで、ユーザが興味をもつトピックを再度探索するので、ユーザの満足度の低下を抑制することができる。
【００６５】
図１１は、実施例２にかかる処理の流れを示すフローチャートである。図１１に示すように、対話装置１０の対話制御部２３は、ユーザ発話を受信すると（Ｓ２０１：Ｙｅｓ）、予め指定した否定的な発話に一致するか否かを判定する（Ｓ２０２）。例えば、対話制御部２３は、「興味がない」、「そうですか」、「へえ〜」、「他の話はないの？」などの発話を否定的な発話として予め指定することができる。
【００６６】
続いて、対話制御部２３は、ユーザ発話が否定的な発話ではない場合（Ｓ２０２：Ｎｏ）、レベル３のコンテンツの発話条件と一致するか否かを判定する（Ｓ２０３）。例えば、対話制御部２３は、レベル３のコンテンツに設定されるキーワードがユーザ発話に含まれるか否かを判定する。別例としては、対話制御部２３は、直前に発話されたレベル２のコンテンツに含まれるキーワード（単語）等よりも下位概念のキーワード（単語）がユーザ発話に含まれているか否かを判定する。また、対話制御部２３は、レベル２のコンテンツが連続して複数回発話されているか否かを判定する。
【００６７】
そして、対話制御部２３は、レベル３のコンテンツの発話条件と一致する場合（Ｓ２０３：Ｙｅｓ）、レベル３のコンテンツから興味が深くなるようなコンテンツを選択する（Ｓ２０４）。例えば、対話制御部２３は、ランダムにコンテンツを選択したり、直前に発話されたコンテンツと類似するコンテンツ、直前に発話されたコンテンツと同じカテゴリに属するコンテンツ、直前に発話されたコンテンツに含まれるキーワードと類似するキーワードや下位概念のキーワードを含むコンテンツを選択したりする。
【００６８】
一方、対話制御部２３は、レベル３のコンテンツの発話条件と一致しない場合（Ｓ２０３：Ｎｏ）、トピックが確定済みか否かを判定する（Ｓ２０５）。
【００６９】
そして、対話制御部２３は、トピックが確定済みである場合（Ｓ２０５：Ｙｅｓ）、レベル１のコンテンツと、該当するレベル２のコンテンツとから、興味が深くなるようなコンテンツを選択する（Ｓ２０６）。例えば、対話制御部２３は、Ｓ２０４と同様の基準で選択することができる。
【００７０】
一方、対話制御部２３は、トピックが確定済みではない場合（Ｓ２０５：Ｎｏ）、レベル１のコンテンツから未発話のコンテンツを選択する（Ｓ２０７）。なお、Ｓ２０２において、ユーザ発話が否定的な発話であると判定された場合も（Ｓ２０２：Ｙｅｓ）、Ｓ２０７が実行される。
【００７１】
その後、対話制御部２３は、Ｓ２０４、Ｓ２０６、Ｓ２０７のいずれかで選択されたコンテンツに設定される発話内容をユーザ端末に対して発話する（Ｓ２０８）。
【００７２】
上述したように、トピックの探索状況やキーワードの発話状況を用いて、対話装置１０が主導でコンテンツ選択や発話制御を実行することができるので、コンテンツ側に設定する情報を削減して利用者の負担を低減することができる。
【実施例３】
【００７３】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【００７４】
［レベル］
例えば、上記実施例では、レベル１からレベル３の３段階の階層構造の例を説明したが、これに限定されるものではなく、２段階や４段階以上の階層構造を用いることもできる。また、実施例では、説明上、各コンテンツにレベルを明示的に設定する例を説明したが、これに限定されるものではない。例えば、「料理」、「カレー」、「カレーの作り方」のように、発話内容を段階的に設定することで、結果的に階層構造となるようにコンテンツを構成することもできる。
【００７５】
［コンテンツ］
上記実施例で説明したコンテンツのデータ構造や設定例は、あくまで一例であり、任意に設定変更することができる。例えば、トピックを複数設定したり、複数のトピックごとに異なる複数の発話条件を設定したりすることもできる。また、対話システムで利用される対話ブロックなどの公知のコンテンツを採用することもできる。
【００７６】
また、対話装置１０は、１つの対話の間に複数のトピックを設定することもできる。この場合、対話装置１０は、いずれかの対話をユーザに選択させたり、最新のトピックを優先させたり、当該ユーザが発話した回数の多いトピックを優先させたりするなど、任意に選択することができる。
【００７７】
［深度制御］
例えば、対話装置１０は、発話内容によってはユーザの応答に依らずにトピックや深度をコントロールすることもできる。具体的には、対話装置１０は、ユーザが興味を示していない場合はトピック深度を浅くする。また、対話装置１０は、予め設定した「もういい」、「やめて」、「他の話をして」などの特定の言葉がユーザにより発話された場合にトピックを削除して、レベル１のコンテンツから選択することもできる。
【００７８】
また、対話装置１０は、例えば３分などの所定時間以上、同じレベルのコンテンツが発話されている場合に、現在のレベルよりも一つ浅くしたレベルに遷移することもできる。また、対話装置１０は、コンテンツの深度条件にユーザの感情を設定することもできる。音声入力の場合、感情として、音声の大きさや感情を示す各周波数などを用いることができる。例えば、怒りや悲しみなどの負の感情が検出された場合は、レベルを１段階下げて階層を浅くし、喜びや驚きなどの正の感情が検出された場合は、レベルを１段階上げて階層を深くすることもできる。
【００７９】
［システム］
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、コンテンツ管理部２１と対話制御部２３とを統合することもできる。
【００８１】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８２】
［ハードウェア］
図１２は、ハードウェア構成例を説明する図である。図１２に示すように、対話装置１０は、通信装置１０ａ、ＨＤＤ（Hard  Disk  Drive）１０ｂ、メモリ１０ｃ、プロセッサ１０ｄを有する。また、図１２に示した各部は、バス等で相互に接続される。
【００８３】
通信装置１０ａは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。ＨＤＤ１０ｂは、図２に示した機能を動作させるプログラムやＤＢを記憶する。
【００８４】
プロセッサ１０ｄは、図２に示した各処理部と同様の処理を実行するプログラムをＨＤＤ１０ｂ等から読み出してメモリ１０ｃに展開することで、図２等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、対話装置１０が有する各処理部と同様の機能を実行する。具体的には、プロセッサ１０ｄは、コンテンツ管理部２１、対話入力部２２、対話制御部２３、対話出力部２４等と同様の機能を有するプログラムをＨＤＤ１０ｂ等から読み出す。そして、プロセッサ１０ｄは、コンテンツ管理部２１、対話入力部２２、対話制御部２３、対話出力部２４等と同様の処理を実行するプロセスを実行する。
【００８５】
このように対話装置１０は、プログラムを読み出して実行することで対話方法を実行する情報処理装置として動作する。また、対話装置１０は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、対話装置１０によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【００８６】
１０  対話装置
１１  通信部
１２  記憶部
１３  コンテンツＤＢ
１４  対話履歴ＤＢ
２０  制御部
２１  コンテンツ管理部
２２  対話入力部
２３  対話制御部
２３ａ  トピック管理部
２３ｂ  候補抽出部
２３ｃ  選択部
２４  対話出力部
【図１】
2020056824.tif 000003
【図２】
2020056824.tif 000004
【図３】
2020056824.tif 000005
【図４】
2020056824.tif 000006
【図５】
2020056824.tif 000007
【図６】
2020056824.tif 000008
【図７】
2020056824.tif 000009
【図８】
2020056824.tif 000010
【図９】
2020056824.tif 000011
【図１０】
2020056824.tif 000012
【図１１】
2020056824.tif 000013
【図１２】
2020056824.tif 000014