本開示の一態様に係る情報処理方法は、質問の表示と、前記質問に対するユーザからの回答の取得とを繰り返すことにより、前記ユーザが探索を要望する情報についての絞り込みを進行させる情報処理方法であって、端末に備えられたディスプレイに、前記探索の対象に関する質問を第1態様で表示させるステップと、前記端末を通して、前記ユーザによって入力された前記質問に対する回答を取得するステップとを含み、前記質問を表示させるステップにおいて、前記質問の上部に、前記絞り込みの進行状況に関する第1情報を第2態様で表示させ、前記質問の下部に、前記質問に対する回答案内に関する第2情報を第3態様で表示させる。
本構成によって、システム発話表示と区別がつきやすい状態で、参考となる対話情報を提示することができるので、ユーザにとってシステムの発話に対する応答を入力しやすくすることができる。これにより、ユーザとの対話によりユーザが探索を要望する情報に関する条件を漏れなく取得できる。
ここで、例えば、前記情報処理方法は、さらに、前記絞り込みの進行状況が所定の条件を満たす場合、前記絞り込みの進行により絞り込まれた前記探索の対象の候補を示す情報を、前記ディスプレイに表示させるステップを含むとしてもよい。
例えば、前記所定の条件は、前記探索の対象の候補の数が、予め定められた数以下であることであるとしてもよい。
また、例えば、前記質問を表示させるステップにおいて、枠で囲われたバルーン状、長方形または角丸長方形の領域である枠領域に、前記質問の内容を示す文字を、所定のフォント名、フォントサイズ、テキストカラー、背景色または書体で指定された仕様で表示させることで、前記質問を前記第1態様で表示させるとしてもよい。
また、例えば、前記質問を表示させるステップにおいて、前記枠領域の外部かつ上部の領域に、前記第1情報を示す文字を、所定のフォント名、フォントサイズ、テキストカラー、背景色または書体で指定された仕様で表示させることで、前記第1情報を前記第2態様で表示させるとしてもよい。
また、例えば、前記第1態様のおける前記質問の内容を示す文字の仕様と、前記第2態様のおける前記第1情報を示す文字の仕様とは、同じである。
また、例えば、前記質問を表示させるステップにおいて、前記枠領域の外部かつ下部の領域に、前記第2情報を示す文字を、所定のフォント名、フォントサイズ、テキストカラー、背景色または書体で指定された仕様で表示させることで、前記第2情報を前記第3態様で表示させるとしてもよい。
また、例えば、前記第1態様のおける前記質問の内容を示す文字の仕様と、前記第3態様のおける前記第2情報を示す文字の仕様とは、同じであるとしてもよい。
また、例えば、前記第2態様のおける前記第1情報を示す文字の仕様と、前記第3態様のおける前記第2情報を示す文字の仕様とは、同じであるとしてもよい。
また、例えば、前記第1情報は、前記質問を表示させる時における前記探索の対象の件数を含むとしてもよい。
また、例えば、前記第1情報は、予め定められた質問可能な総回数のうち前記質問を表示させる時における残回数を含むとしてもよい。
また、例えば、前記第1情報は、予め定められた質問可能な総回数に対する前記質問を表示させる時における累積回数を示す進行度合いを含むとしてもよい。
また、例えば、前記第2情報は、肯定を示す文字および否定を示す文字を含む回答例による回答方法を示してもよい。
また、例えば、前記第2情報は、前記探索の対象を絞り込み可能な語句を含む回答例による回答方法を示してもよい。
また、例えば、前記探索の対象は、複数の料理のレシピまたはメニューであり、前記質問は、前記複数の料理のレシピまたはメニューに対するリクエストを尋ねる内容を示してもよい。
また、例えば、前記探索の対象は、複数の旅行プランであり、前記質問は、前記複数の旅行プランに対するリクエストを尋ねる内容を示してもよい。
また、例えば、前記探索の対象は、複数の不動産の物件であり、前記質問は、前記複数の不動産の物件に対するリクエストを尋ねる内容を示してもよい。
また、例えば、前記探索の対象は、複数の映像コンテンツであり、前記質問は、前記複数の映像コンテンツに対するリクエストを尋ねる内容を示してもよい。
また、例えば、前記質問を表示させるステップでは、前記複数の料理のレシピまたはメニューに対するリクエストを尋ねる内容である第1質問を前記第1態様で表示させ、前記第1質問の上部に、データベースに含まれる前記複数の料理のレシピまたはメニューの総件数を前記第1情報として表示させ、かつ、前記第1質問の下部に、前記データベースに基づいて前記複数の料理のレシピまたはメニューに含まれる一の食材または一の分類を示す語句を含む回答例を前記第2情報として表示させる第1ステップと、前記回答を取得するステップにおいて前記第1質問に対する第1回答を取得後に、前記複数の料理のレシピまたはメニューに対するリクエストをさらに尋ねる内容である第2質問を前記第1態様で表示させ、前記第2質問の上部に、前記第1回答により絞り込まれた、前記データベースに含まれる前記複数の料理のレシピまたはメニューの件数を第1情報として表示させ、かつ、前記第2質問の下部に、前記第1回答により絞り込まれた前記データベースに含まれる前記複数の料理のレシピまたはメニューに含まれる一の食材または一の分類を示す語句を含む回答例を第2情報として表示させる第2ステップとを含み、前記データベースには、複数の料理のレシピと、前記複数の料理のレシピ毎の分類を示す分類情報と、前記複数の料理のレシピ毎に用いられる食材を示す食材情報とが対応付けられているとしてもよい。
また、例えば、前記質問を表示させるステップでは、前記回答に対する取得するステップにおいて取得した前記第2質問に対する第2回答に所定の語句が含まれている場合、さらに、前記分類情報に含まれる一の分類または前記食材情報に含まれる一の食材をリクエストするか否かを尋ねる内容である第3質問を前記第1態様で表示させ、前記第3質問の上部に、前記回答を取得するステップにおいて取得された前記第2質問に対する第2回答により絞り込まれた、前記データベースに含まれる前記複数の料理のレシピまたはメニューの件数を第1情報として表示させ、かつ、前記第3質問の下部に、前記一の分類または前記一の食材を肯定する語句および否定する語句を含む回答例を第2情報として表示させてもよい。
また、例えば、さらに、前記回答に対する取得するステップにおいて取得した前記第3質問に対する第3回答に前記肯定の語句が含まれ、前記第3回答により絞り込まれた、前記データベースに含まれる前記複数の料理のレシピまたはメニューの件数が閾値以下である場合には、前記ディスプレイに前記第3回答により絞り込まれた、前記データベースに含まれる前記複数の料理のレシピまたはメニューの情報を表示させるステップを含み、前記質問を表示させるステップでは、前記回答に対する取得するステップにおいて取得した前記第3質問に対する第3回答により、前記データベースに含まれる前記複数の料理のレシピまたはメニューの件数が閾値以下にならない場合、前記一の分類と異なる一の分類または前記一の食材と異なる一の食材をリクエストするか否かを尋ねる内容である第4質問を前記第1態様で表示させ、前記第4質問の上部に、前記第3回答により絞り込まれた、前記データベースに含まれる前記複数の料理のレシピまたはメニューの件数を第1情報として表示させ、かつ、前記第3質問の下部に、前記肯定する語句および前記否定する語句を含む回答例を第2情報として表示させしてもよい。
また、本開示の一態様に係る情報処理装置は、質問の表示と、前記質問に対するユーザからの回答の取得とを繰り返すことにより、前記ユーザが探索を要望する情報についての絞り込みを進行させる情報処理装置であって、端末に備えられたディスプレイに、前記探索の対象に関する質問を第1態様で表示させる対話制御部と、前記端末を通して、前記ユーザによって入力された前記質問に対する回答を取得する入力処理部とを備え、前記対話制御部は、前記質問の上部に、前記絞り込みの進行状況に関する第1情報を第2態様で表示させ、かつ、前記質問の下部に、前記質問に対する回答案内に関する第2情報を第3の態様で表示させる。
本構成によって、システム発話表示と区別がつきやすい状態で、参考となる対話情報を提示することができるので、ユーザにとってシステムの発話に対する応答を入力しやすくすることができる。これにより、ユーザとの対話によりユーザが探索を要望する情報に関する条件を漏れなく取得できる。
また、本開示の一態様に係るプログラムは、質問の表示と、前記質問に対するユーザからの回答の取得とを繰り返すことにより、前記ユーザが探索を要望する情報についての絞り込みを進行させる情報処理方法をコンピュータに実行させるプログラムであって、端末に備えられたディスプレイに、前記探索の対象に関する質問を第1態様で表示させるステップと、前記端末を通して、前記ユーザによって入力された前記質問に対する回答を取得するステップとを実行させ、前記質問を表示させるステップにおいて、前記質問の上部に、前記絞り込みの進行状況に関する第1情報を第2態様で表示させ、前記質問の下部に、前記質問に対する回答案内に関する第2情報を第3態様で表示させる。
本構成によって、システム発話表示と区別がつきやすい状態で、参考となる対話情報を提示することができるので、ユーザにとってシステムの発話に対する応答を入力しやすくすることができる。これにより、ユーザとの対話によりユーザが探索を要望する情報に関する条件を漏れなく取得できる。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
以下、本開示の実施の形態について、図面を参照しながら説明する。以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、全ての実施の形態において、各々の内容を組み合わせることもできる。
(実施の形態)
以下では、図面を参照しながら、実施の形態における情報処理方法等の説明を行う。
[情報処理システム]
図1は、本実施の形態に係る情報処理システムの概略構成図である。
図1に示す情報処理システムは、情報処理装置100と、端末200および端末300の少なくとも一方を含む複数の端末とを備える。情報処理装置100と複数の端末とはネットワーク400を介して接続されている。
端末200および端末300は、複数の端末の一例であり、スマートフォン、タブレット、携帯電話等の携帯端末であってもよいし、パソコン等の端末であってもよい。端末200または端末300は、ユーザにより用いられ、情報処理装置100と対話する際の入出力を担う。図1に示す例では、2つの端末が示されているが、2つに限定されず3つ以上でもよい。
ネットワーク400は、インターネット、無線LAN等を含む汎用ネットワークであり、情報処理装置100と端末200等との間の通信を中継することでこれらを接続する。
情報処理装置100は、CPU、入出力装置、通信装置等を備えたコンピュータにより実現され、例えばサーバである。情報処理装置100は、質問の表示と、当該質問に対するユーザからの回答の取得とを繰り返すことにより、ユーザが探索を要望する情報についての絞り込みを進行させる。
以下、情報処理装置100の構成について説明する。
[情報処理装置100の構成]
図1に示す情報処理装置100は、入力処理部11と、対話制御部12と、データベース13とを備える。
<入力処理部11>
入力処理部11は、端末200等を通して、ユーザによって入力された質問に対する回答を取得する。本実施の形態では、入力処理部11は、対話制御部12に制御され、ユーザによる対話の入力を処理した理解結果とユーザによる対話の入力そのものとを対話制御部12に出力する。入力処理部11が取得した回答に含まれる表現は、ユーザにより異なるが、一般に知られた言語理解技術により、類似の意味を持つ表現を一つのラベルにマッピングされて同一内容と理解される。
なお、ユーザによる対話の表示形式には、例えばテキストでなくてもよく、音声であってもよい。また、後述するクローズド質問に対する回答をユーザが行う場合には、上記に加えて、視線による回答またはジェスチャによる回答であってもよい。
<対話制御部12>
対話制御部12は、入力処理部11が出力する理解結果とデータベース13とを用いて、ユーザに対する質問などユーザとの対話のための出力文を決定する機能を有する。また、対話制御部12は、出力文を決定する機能のみならず、ユーザの欲する情報すなわちユーザが探索を要望する情報の候補の数を管理したり、決定した出力文に対するユーザの応答の例として提示すべき情報を、管理情報として管理したりする機能も有する。なお、対話制御部12は、出力文をユーザに提示する表示形式に変換して出力するが、この表示形式には、例えば音声またはテキストによる表示形式がある。
図2は、本実施の形態に係る情報処理装置100の表示態様を示す図である。
また、対話制御部12は、例えば図2に示すように、端末200等に備えられたディスプレイの表示画面D11などに、探索の対象に関する質問を第1態様で表示させるとともに、質問の上部に、絞り込みの進行状況に関する第1情報を第2態様で表示させ、かつ、質問の下部に、質問に対する回答案内に関する第2情報を第3の態様で表示させる。
ここで、質問を第1態様で表示させるとは、例えば図2の表示画面D11に示すように、枠で囲われた長方形の領域である枠領域に、ディスプレイの設定等により指定された所定の仕様で表示させることである。なお、枠で囲われたバルーン状、長方形または角丸長方形の領域である枠領域に、質問の内容を示す文字を、所定のフォント名、フォントサイズ、テキストカラー、背景色または書体で指定された仕様で表示させることで、質問を第1態様で表示させるとしてもよい。
また、第1情報は、絞り込みの進行状況に関する情報であればよく、例えば質問を表示させる時における探索の対象の件数でもよい。また、第1情報は、例えば、予め定められた質問可能な総回数のうち質問を表示させる時における残回数でもよいし、予め定められた質問可能な総回数に対する前記質問を表示させる時における累積回数を示す進行度合いなどでもよい。
また、第1情報を第2態様で表示させるとは、例えば図2の表示画面D11の枠で囲われた長方形の領域である枠領域の外部かつ上部の点線四角領域に、所定の仕様で表示させることである。なお、枠領域の外部かつ上部の領域に、第1情報を示す文字を、所定のフォント名、フォントサイズ、テキストカラー、背景色または書体で指定された仕様で表示させることで、第1情報を第2態様で表示させるとしてもよい。もちろん、第1態様のおける質問の内容を示す文字の仕様と、第2態様のおける第1情報を示す文字の仕様とは、同じであってもよいし異なっていてもよい。
また、回答案内とは、回答例を提示したり、「ボタンで入力」などの回答方法を指示したりすることである。そして、第2情報は、質問に対する回答案内に関する情報であればよく、例えば肯定を示す文字および否定を示す文字を含む回答例による回答方法を示してもよい。また、例えば第2情報は、例えば、探索の対象を絞り込み可能な語句を含む回答例による回答方法を示すとしてよい。
また、第2情報を第3態様で表示させるとは、例えば図2の表示画面D11の枠で囲われた長方形の領域である枠領域の外部かつ下部の点線四角領域に、所定の仕様で表示させることである。なお、枠領域の外部かつ下部の領域に、前記第2情報を示す文字を、所定のフォント名、フォントサイズ、テキストカラー、背景色または書体で指定された仕様で表示させることで、第2情報を第3態様で表示させるとしてもよい。もちろん、第1態様のおける質問の内容を示す文字の仕様と、第3態様のおける第2情報を示す文字の仕様とは、同じであってもよいし異なっていてもよい。また、第2態様のおける第1情報を示す文字の仕様と、第3態様のおける第2情報を示す文字の仕様とは、同じであってもよいし異なっていてもよい。
また、対話制御部12は、絞り込みの進行状況が所定の条件を満たす場合、絞り込みの進行により絞り込まれた探索の対象の候補を示す情報を、ディスプレイに表示させる。ここで、所定の条件は、例えば、探索の対象の候補の数が、予め定められた数以下であることである。
図3は、本実施の形態に係る対話制御部12およびデータベース13の詳細構成を示す図である。図3に示すように、対話制御部12は、対話管理部121と、システム発話表示生成部122と、対話情報表示生成部123と、表示統合部124とを備える。本実施の形態に係る対話制御部12は、データベース13に含まれる対話モデル131、コンテンツデータ132および文生成データ133を参照し、入力処理部11と協調して、ユーザが探索を要望する情報についての絞り込みを進行させる。
≪対話管理部121≫
対話管理部121は、入力処理部11が出力する理解結果とデータベース13とを用いて、第1情報および第2情報を表示するために管理している管理情報を更新するとともに、ユーザに対する質問などユーザとの対話のための出力文すなわちシステムの行動を決定する。
より具体的には、対話管理部121は、対話モデル131に格納されている例えば状態遷移図などの対話状態遷移モデルに従い、直前のシステムの行動と入力処理部11が出力する理解結果とに応じて、現在の対話状態を更新し、それに基づきシステムの行動を決定する。ここで、システムの行動を決定することは、情報処理装置100または対話制御部12が、例えば、「オープン質問」、「クローズド質問」のように、出力文の種類と、出力文の内容に関するキーワードを決定することである。
管理情報は、情報処理装置100または対話制御部12が、管理する情報であり、人間にわかる形式になっていなくてもよい。管理情報は、コンテンツデータ132に含まれる情報の中からユーザが探索を要望する情報についての絞り込みを進行させるタスクでは、ユーザの入力の履歴から、絞り込まれた情報の候補の件を含むとしてもよい。また、管理情報は、対話管理部121が、システムの行動を決定するために状態遷移図を先読みして、次に想定されている入力例の情報も取得した場合には、入力例の情報を含むとしてもよい。なお、管理情報は、これらに限られず、ユーザが探索を要望する情報についての絞り込みを進行させるタスクにおいて、進行度合いを示す情報、質問回数の上限を示す情報および/またはヒット件数を含むとしてもよい。
≪システム発話表示生成部122≫
システム発話表示生成部122は、対話管理部121により決定されたシステムの行動に基づき、文生成データ133を参照して、探索の対象に関する質問を第1態様で表示するシステム発話表示を生成する。
より具体的には、システム発話表示生成部122は、対話管理部121により決定されたシステムの行動を取得し、文生成データ133を参照して、システムの行動を具体的な自然言語表現である質問文などのシステム発話に変換し、吹き出しで囲うことなど第1態様で表示する発話表示を生成する。
≪対話情報表示生成部123≫
対話情報表示生成部123は、対話管理部121が管理する管理情報をユーザに提示する形式に変換した対話情報表示を生成する。
より具体的には、対話情報表示生成部123は、対話管理部121が管理する管理情報を参照して、例えば絞り込まれた情報の候補の件数である第1情報をユーザに端的に提示するための表示形式である第2態様に変換し、かつ、次に想定されているユーザの入力例に関する情報である第2情報をユーザに端的に提示するための表示形式である第3態様に変換した対話情報表示を生成する。
≪表示統合部124≫
表示統合部124は、入力処理部11が出力する理解結果と、ユーザによる対話の入力そのものと、システム発話表示生成部122により生成されたシステム発話表示と、対話情報表示生成部123により生成された対話情報表示とを統合する。
より具体的には、表示統合部124は、入力処理部11が出力するユーザによる対話の入力そのものを吹き出しで囲ったユーザ発話表示を生成する。そして、表示統合部124は、生成したユーザ発話表示と、システム発話表示生成部122により生成されたシステム発話表示と、対話情報表示生成部123により生成された対話情報表示とを統合すなわち同一表示画面に配置し統合表示を生成する。なお、上述したが、表示統合部124は、例えば、絞り込まれた情報の候補の件数などの第1情報は、システム発話の上部に配置し、次に想定されているユーザの入力例の情報などの第2情報は、システム発話の下部に配置する。
<データベース13>
データベース13は、例えば、ハードディスクドライブまたはソリッドステートドライブ等の書き換え可能な不揮発性のメモリーで構成され、探索の対象に関する情報を格納している。より具体的には、データベース13は、対話管理部121が対話の出力内容を決定するためと、出力文を生成するために参照される。
本実施の形態では、データベース13は、図3に示すように、対話モデル131と、コンテンツデータ132と、文生成データ133とで構成されている。
≪対話モデル131≫
対話モデル131は、例えば状態遷移図の形式で表した対話状態遷移モデルなどが格納されている。対話モデル131は、複数の対話状態と、複数の対話状態それぞれにおけるシステムの行動と、ユーザの応答とが対応付けられて格納されている。対話モデル131は、直前のシステムの行動と入力処理部11が出力する理解結果とに応じた対話状態に基づくシステムの行動が対応付けられており、対話管理部121に参照される。
≪コンテンツデータ132≫
コンテンツデータ132は、例えば知識ベースの一例であり、例えば病気と自覚症状との関係など探索の対象となる複数の候補と、特徴、属性、条件等を示す要素情報(キーワード)との関係などの知識を特定の表現形式に基づいて記述したデータベースである。コンテンツデータ132は、例えば、探索の対象となる複数の候補と、複数の候補の分類を示す分類情報と、複数の候補を構成する要素情報とが対応付けられて格納されている。
≪文生成データ133≫
文生成データ133は、例えば、キーワードを埋め込んだら文が完成するテンプレートのリストと、そのテンプレートを適用するための条件によって構成される。より具体的には、文生成データ133は、対話制御部12が参照するオープン質問のテンプレート、クローズド質問のテンプレート、知識を獲得するための質問のテンプレートと、ユーザ質問に対する回答に用いるテンプレートとが格納されている。
[情報処理装置100の処理]
次に、以上のように構成された情報処理装置100の処理について説明する。
図4は、本実施の形態に係る情報処理装置の処理の一例を示すフローチャートである。
まず、情報処理装置100は、初期化を行う(S1)。
次に、情報処理装置100は、初期条件に基づいて対話状態の更新を行う(S2)。
次に、情報処理装置100は、端末200等に備えられたディスプレイに、探索の対象に関する質問を第1態様で表示させるとともに、質問の上部に、絞り込みの進行状況に関する第1情報を第2態様で表示させ、かつ、質問の下部に、質問に対する回答案内に関する第2情報を第3の態様で表示させる処理を含む質問等表示処理を行う(S3)。
より具体的には、ステップS3において、まず、情報処理装置100は、例えば探索の対象に関する質問を第1態様で表示するシステム発話表示を生成する(S31)。次いで、情報処理装置100は、第1情報を第2態様で表示し、かつ、第2情報を第3態様で表示する対話情報表示を生成する(S32)。次いで、情報処理装置100は、ステップS31で生成したシステム発話表示とステップS32で生成した対話情報表示とを統合すなわち同一表示画面に配置したユーザとの対話のための統合表示を生成して出力する(S33)。
次に、情報処理装置100は、ユーザによって入力された質問に対する回答を取得する処理を含む回答等取得処理を行う(S4)。
より具体的には、ステップS4において、まず、情報処理装置100は、例えばステップS3において出力した統合表示に含まれるシステム発話表示の内容に応答したユーザからの入力を取得するとともに、当該入力を表示するユーザ発話表示を出力する(S41)。次いで、情報処理装置100は、ステップS41において取得したユーザからの入力を理解する(S42)。
次に、情報処理装置100は、ステップS2に戻り、ユーザの入力の理解結果等に基づいて対話状態を更新し、上述したのと同様に、ステップS2〜ステップS4のループを回すことでユーザとの対話を継続する。
なお、図4において、ステップS31の後にステップS32を行うとして説明しているが、これに限らず逆でもよい。つまり、これらの順番は問わない。
[対話モデル131の一例]
図5は、本実施の形態に係る対話モデル131の一例を示す図である。図5には、対話モデル131の一例として、状態遷移図の形式で表した対話状態遷移モデルが示されている。図5では、対話状態を丸で囲われた状態番号で表し、遷移を矢印で表している。矢印上には、2つのイベントが紐付けられており、矢の尾に近い方のイベントには、システムの行動が、矢の頭に近い方のイベントにはユーザの行動が紐付けられている。ユーザの行動は、ユーザの入力の理解結果に該当する。状態1は情報処理装置100の対話状態が初期状態であることを示し、状態5は情報処理装置100の対話状態が最終状態であることを示す。
状態1において、情報処理装置100がオープン質問を行い、ユーザが情報提供を行うと、対話状態は状態2に遷移する。
状態2において、情報処理装置100がオープン質問を行い、ユーザが情報提供を行った場合、および、情報処理装置100が知識獲得質問を行い、ユーザが情報提供を行った場合は、対話状態は状態2に戻る。一方、状態2において、情報処理装置100がオープン質問を行い、ユーザが否定した場合には、対話状態は状態3に遷移する。
状態3において、情報処理装置100がクローズド質問を行い、ユーザが肯定または否定を行った場合、対話状態は状態3に戻る。また、情報処理装置100がクローズド質問を行い、ユーザがユーザ質問を行った場合には、対話状態は状態4に移る。なお、状態3におけるもうひとつ遷移は、情報処理装置100が結論提示を行った場合であり、「*」で表すユーザからの任意の入力で対話状態は状態5に遷移する。
状態4において、情報処理装置100が回答を行うと、その後ユーザの入力を待たずに、対話状態は状態3に戻る。ここで、図5に示す「Φ」は、即時遷移を表す特殊な記号を意味する。
なお、対話状態がある状態である場合に、情報処理装置100がとるべき行動が1つである場合は、その行動を取ればよいが、複数の行動が設定されている場合には、ポリシーにより選択すればよい。図5に示す例では、例えば状態2において、オープン質問か知識獲得質問かの選択肢がある。これについては、直前に情報提供されたキーワードが、情報処理装置100にとって既知であれば、オープン質問を選択し、情報処理装置100にとって未知であれば、知識獲得質問を選択するなど、優先順位を決めるためのルールであるポリシーを予め定めておけばよい。また、例えば状態3においては、クローズド質問か結論提示かの選択肢がある。これについては、直前までに得られたキーワードによって、ユーザの欲する情報が十分に絞り込まれていれば結論提示を選択し、そうでなければクローズド質問によって、さらに情報の候補を絞り込むための情報を得るなどのポリシーを予め定めておけばよい。そして、ポリシーは、コンテンツデータ132に格納されているとすればよい。つまり、情報処理装置100は、例えば状態2などにおいて複数の行動が設定されている場合、コンテンツデータ132内に定義されているポリシーを参照して決めればよい。
[効果等]
以上のように、本実施の形態に係る情報処理装置等は、システム発話表示と区別がつきやすい状態で、参考となる対話情報を提示することにより、ユーザにとってシステム発話に対する応答を入力しやすくすることができるので、ユーザとの対話によりユーザが探索を要望する情報に関する条件を漏れなく取得できる。
なお、上記では、システム発話がテキスト等で表示されることについて説明したが、これに限らない。本実施の形態に係る情報処理装置等が、音声出力手段を備える場合には、吹き出し内のシステム発話のテキストのみ読み上げるとしてもよい。
また、コンテンツデータ132は、情報処理装置100の内部のデータベース13に構成されているとして説明したが、外部のサーバー上などに構成されてもよい。
以下、図6〜図8を用いて、本実施の形態のに係る情報処理装置等の効果について説明する。図6〜図8はいずれも、情報処理装置100とユーザとの対話によってユーザが探索を要望する情報についての絞り込みを進行させるタスクとして、複数の条件を満たすレシピを絞り込むタスクを行う場合の例が示されている。
図6は、比較例に係る表示画面D91の一例を示す図である。図6には、比較例としてチャットボットのメッセージと人間のメッセージとが統一的な様態で提示されている表示画面D91として、4ターン分の対話に関する表示が示されている。
表示画面D91において、領域D911は、第1ターンのシステムの発話領域を示している。領域D912は、第2ターンのユーザの発話領域を示している。どちらも、吹き出しの枠があり、発話領域に示される内容は、口語表現で示されている。
具体的には、領域D911の内容は、「登録されているレシピは1987件です。」という文と、「どんなレシピをお探しですか?」という文と「例えば『主菜がいい』『和食がいい』のようにお答えください。」という文の3文からなっている。領域D912の内容は、「洋風がいいです」という文であり、領域D911の二番目の文に対する応答となっている。領域D911において、一番目の文は、システムが管理する管理情報に基づく説明文であり、二番目の文はユーザへの質問文である。三番目の文は、管理情報に基づく補足文であり二番目の文の補足文となっている。これら3文の中で、ユーザと対話的なやりとりを行うためのメインの表現は、二番目の文の質問文であり、ユーザはこの質問文に対する応答を求められている。それ以外の二つの文は、サブの表現であり補足情報に分類される。しかし、領域D911では、3つの文がメリハリなく並んでおり、ユーザが返答すべき質問が埋もれてしまっている。つまり、ユーザは、3つの文のうち、どの文に応答するべきかわかりにくい。
従来、人間と人間とがテキストによってチャットを行うためのアプリケーションがあり、人間とチャットボットとの対話についても、同じプラットフォーム上で実現されている。つまり、チャットボットは、人間同士の口頭でのやりとりを、テキストベースで行うためのプラットフォームのまま、そこに機械の出力であるチャットボットのメッセージを乗せている。そのため、人間の入力と同様に、吹き出しへの出力となっており、図6に示すように親切心から機械が管理する情報に関する説明文および機械が管理する使い方等の補足情報を出力した場合、メインの情報が埋もれてしまい、ユーザはかえって答えにくいということが起こる。
このように、図6に示す比較例では、チャットボットからのメッセージと人間からのメッセージとが、吹き出し内のテキストなどのが統一的な様態で提示される。そのため、システムが管理する情報は全てチャットボットの台詞として表現され、長い台詞の中にユーザが返答すべき質問が埋もれてしまうなど、ユーザの入力しやすさに関する課題を有していた。その結果、チャットボットは、ユーザが探索を要望する情報に関する条件をユーザから漏れなく取得できないことに繋がる。
図7は、本実施の形態に係る表示画面D11の一例を示す図である。図7には、本実施の形態に係る表示画面D11として、4ターン分の対話に関する表示が示されている。
表示画面D11において、領域D111は、システムである情報処理装置100による第1ターンの発話領域を示しており、吹き出し状の枠で囲われている。領域D112は、第2ターンのユーザの発話領域を示しているおり、吹き出し状の枠で囲われている。
領域D1111は、領域D111の上部に配置された対話情報表示領域であり、例えば「レシピ登録:1987件」などの絞り込みの進行状況に関する第1情報が表示される。領域D1112は、領域D111の下部に配置された対話情報表示領域であり、例えば「入力例:主菜がいい/和食がいい」などの質問に対する回答案内に関する第2情報が表示される。なお、図7では、領域D1111と領域D1112とには、領域を明示するために点線で囲ってあるが、実際の表示としては必要がない。
ユーザが領域D112に示される発話領域に、情報処理装置100からの質問に対する回答を入力しようとしているときには、領域D111と、領域D111の上部の領域D1111に第1情報、下部の領域D1112に第2情報が表示されている。そのため、ユーザは領域D111に示される発話領域の質問に対する回答「洋風がいいです」を入力すればよいことが容易にわかる。また、領域D1111に示される第1情報と領域D1112に示される第2情報とが、領域D111に示される発話領域の質問に対する補足情報であることも容易に理解できる。
なお、従来、人間同士のチャットのプラットフォームにおいて、時刻情報等の補助情報が提示されていたが、対話の進行を促進するために提示する対話情報すなわち第1情報および第2情報とは区別される。
図8は、本実施の形態の変形例に係る表示画面D12を示す図である。図7と同様の要素には同一の符号を付しており、詳細な説明は省略する。図8には、表示画面D12の変形例である表示画面D12として、4ターン分の対話に関する表示が示されている。
図7に示す表示画面D11に対して、図8に示す表示画面D12は、領域D111の上部および下部に示される内容が異なる。
より具体的には、領域D1221は、領域D111の上部に配置された対話情報表示領域であり、例えば「入力例:主菜がいい/和食がいい」などの質問に対する回答案内に関する第2情報が表示される。領域D1222は、領域D111の下部に配置された対話情報表示領域であり、例えば「レシピ登録:1987件」などの絞り込みの進行状況に関する第1情報が表示されるが表示される。つまり、図7に示す対話情報表示領域に示される内容が上下入れ替わっている。
しかしながら、本変形例に係る表示画面D12では、ユーザは領域D111に示される発話領域の質問に対する回答「洋風がいいです」を入力するのが容易ではない、すなわちユーザは答えにくいと考える。ユーザは、入力例などの質問に対する回答案内に関する第2情報は、情報処理装置100の質問よりも後に参照したいと考えられるからである。また、情報処理装置100が管理する絞り込みの進行状況に関する第1情報の内容は、システム発話の内容を決定するという因果関係にも反し、ユーザが情報処理装置100の質問に答えるための参考にはあまりならないからである。本変形例に係る表示画面D12に示されるように、領域D111の上部および下部の対話情報表示領域に第1情報および第2情報の対話情報を端的に表示することは、図6に示した比較例における表示画面D91すなわち3文すべてを発話領域である領域D911に表示させることとくらべて、メリハリをつける効果がある。しかし、領域D111の上部に表示するのが適切な内容と、領域D111の下部に表示すべき内容は異なる。
上述したように、ユーザの発話によって、対話状態が変化し、それによって情報処理装置100の質問等の内容が決定される。そのため、対話状態に関する情報である絞り込みの進行状況に関する第1情報の内容は、発話領域である領域D111の上部の対話情報表示領域に表示された方が、ユーザは自然に参照することができる。一方、情報処理装置100の質問等の内容に対して、どのようなユーザの発話を情報処理装置100が想定しているかという情報である質問に対する回答案内に関する第2情報を発話領域である領域D111の下部の対話情報表示領域に表示された方が、ユーザは回答等の入力を行いやすく、安心して利用できる。
以上のように、システム発話の吹き出しの上部には、情報のヒット件数など、ユーザ発話を受けて変化する管理情報を提示すると、ユーザは対話が進捗したことを理解しやすくなる。また、システム発話の吹き出しの下部には、情報処理装置100が待ち受けている入力など、ユーザが入力する際の入力例などの管理情報を提示すると、ユーザは、自分の入力を具体化するための参考にすることができ、また、自分が思いついた入力と情報処理装置100が待ち受けている入力のギャップを埋めることにも役立つ。
以上のように、本実施の形態に係る情報処理装置等は、システム発話表示と区別がつきやすい状態で、参考となる対話情報を提示することにより、ユーザにとってシステム発話に対する応答を入力しやすくすることができるので、ユーザとの対話によりユーザが探索を要望する情報に関する条件を漏れなく取得できる。
以下、ユーザとの対話によりユーザが探索を要望する情報についての絞り込みを進行させる具体的な態様を実施例として説明する。
(実施例1)
実施例1では、ユーザが探索を要望する情報についての絞り込みを進行させるタスクとして、複数の条件を満たすレシピを絞り込むタスクを行う場合の例について説明する。すなわち、探索の対象が複数の料理のレシピまたはメニューであり、質問が複数の料理のレシピまたはメニューに対するリクエストを尋ねる内容を示す場合について説明する。
[コンテンツデータ132]
図9は、本実施の形態の実施例1に係るコンテンツデータ132の一例を示す図である。
図9には、コンテンツデータ132の一例として、料理とその分類項目の関係、および、料理と食材との関係などを有向グラフの形式で表現した知識ベースが示されている。なお、図9は、巨大な知識ベースの一部を例示したものに該当する。換言すると、コンテンツデータ132には、複数の料理のレシピと、複数の料理のレシピ毎の分類を示す分類情報と、複数の料理のレシピ毎に用いられる食材を示す食材情報とが対応付けられている。
一般に、知識を表現した有向グラフにおいて、丸をノードと呼び、矢印をエッジと呼ぶ。1つのノードと別のノードとをエッジで結んだ3つ組をトリプルと呼ぶ。ノードには概念が結び付けられ、エッジ(線分)により2つの概念間の関係が結び付けられ、トリプルで表される概念と概念の関係が、知識の構成単位となっている。
図9に示す例では、料理1、2が探索の対象となる複数の候補に該当し、洋風、焼き物、玉葱等が特徴、属性または条件等を示す要素情報(キーワード)に該当する。また、図9では、例えばnode1の料理1および料理2が洋風料理の一種であり、かつ、焼き物料理の一種であるという関係が示されている。また、node1の料理1および料理2にはnode2の玉葱と長芋とが材料として使われるという関係が示されている。また、玉葱と長芋との上位概念である土物も、料理1および料理2の材料であるとの関係が示されている。以上の関係を示すために、関係詞は、”IsA”と”HasA”の2種類が適用されている。
したがって、[node1 IsA node2]または[node1 HasA node2]におけるnode2をキーワードとして、それと結び付けられているnode1を検索対象として、複数のキーワードのAND検索のキーワードを増やしていくことで、複数条件を満たす情報を絞り込むことができる。
また、点線で示した楕円の領域R11は、食材とその分類項目の関係を表している。領域R11は、ユーザが「土物」についての知識がなかったと想定した場合に、ユーザ質問に対する回答に用いる知識の一例である。領域R11は、料理の検索のために直接的には参照されないため、別枠としている。
[文生成データ133]
図10は、本実施の形態の実施例1に係る文生成データ133の一例を示す図である。図10には、情報処理装置100が参照するオープン質問、クローズド質問、知識獲得質問、回答のテンプレートとそれらの適用条件とが例示されている。
すなわち、情報処理装置100が探索の対象に関するオープン質問を出力する場合は、ユーザとの対話の開始時には、図10に示すオープン質問の1番目「どんなレシピをお探しですか?」という質問文を生成し、その後には、図10に示すオープン質問の2番目以降「他に何か条件はありますか?」という質問文を(繰り返し)生成する。
また、情報処理装置100が探索の対象に関するクローズド質問を出力する場合は、対話管理部121で指定されるキーワード(node2)と検索対象(node1)の関係が、IsAであるか、HasAであるかを条件として、図10に示すテンプレートを用いてクローズド質問を出力する。情報処理装置100は、IsAである場合には、「(node2)でいいですか?」という図10に示すクローズド質問のテンプレートを用いて、クローズド質問を出力する。一方、HasAである場合には、「(node2)を使っていいですか?」という図10に示すクローズド質問のテンプレートを用いて、クローズド質問を出力する。
また、情報処理装置100が知識獲得質問を出力する場合は、常に、「例えばどんな料理ですか?」という質問文を出力し、所望の情報の例示をユーザに求める。
また、情報処理装置100がユーザ質問に対する回答を出力する場合において、ユーザ質問が、”X”に関するWHAT質問であり、「”Y”IsA“X”」という関係が知識ベースであるコンテンツデータ132から見つかるときには、「例えばlist_up(“Y”)です。」という図10に示す回答のテンプレートを用いて回答を出力する。ここで、テンプレート中のlist_up(“Y”)は、条件にある[“Y”IsA“X”]という知識が、”X”に関して、複数見つかった場合に、それらの”Y”に当たるものをリストアップし、日本語としては、「、」を介して連結することを意味している。数が多い場合には、適当な数で打ち切ってもよい。
また、情報処理装置100がユーザ質問に対する回答を出力する場合において、ユーザ質問が、”X”に関するWHAT質問であり、「”X”IsA“Z”」という関係が知識ベースであるコンテンツデータ132から見つかるときには、もうひとつの回答のテンプレートである「それは”Z”の一種です。」を用いて回答を出力する。つまり、情報処理装置100は、知識ベースであるコンテンツデータ132に存在する関係に応じて、「例えばY1、Y2です」または「例えばZの一種です」などの回答を生成する。
なお、図示しないが、ユーザの入力として想定する入力例を生成するために、文生成データ133にテンプレートを用意しておいてもよい。例えば、情報提供のテンプレートは、「(キーワード)がいいです。」、肯定の回答のテンプレート「はい」、否定の回答のテンプレート「いいえ」などが文生成データ133に格納されていてもよい。
[情報処理装置100の処理]
図11は、本実施の形態の実施例1に係る表示画面の一例を示す図である。
表示画面D21は、情報処理装置100がオープン質問を行う場合における対話の一例を示しており、表示画面D31は、情報処理装置100がクローズド質問を行う場合における対話の一例を示している。表示画面D41は、情報処理装置100が結論提示を行う場合に示される画面の一例を示している。
以下、図4および図5で説明した処理に沿って説明する。
初期状態すなわち図5の状態1において、探索の対象となる複数のレシピまたはメニューの候補すなわちレシピ情報の登録数は1987件であるとする。
<第1ターンおよび第2ターン>
まず、情報処理装置100は、ステップS3において質問等表示処理を行う。具体的にはまず、情報処理装置100は、図5の対話モデル131を参照し、初期状態すなわち状態1であるのでオープン質問を行うことを決定し、図10の文生成データ133を参照し、1番目のオープン質問「どんなレシピをお探しですか?」というシステム発話表示を生成する。ここで、図5の状態1に示される次の入力の想定は情報提供である。次いで、情報処理装置100は、図9のコンテンツデータ132を参照し、レシピ情報の候補を絞り込むためのキーワードの候補として、「主菜」と「和風」を抽出して、「主菜がいい」「和風がいい」という入力例を表示する対話情報表示を生成する。
結果として、表示画面D21において、第1ターンは、領域D211に質問「どんなレシピをお探しですか?」、領域D211の外部かつ上部の領域に第1情報「レシピ登録:1987件」、領域D211の外部かつ下部の領域に第2情報「入力例:主菜がいい/和食がいい」が、それぞれに適した様態で表示される。このように、質問「どんなレシピをお探しですか?」は話し言葉で表現されている一方で、第1情報「レシピ登録:1987件」、第2情報「入力例:主菜がいい/和食がいい」は、記号を利用して端的に表現されている。
次に、情報処理装置100は、ステップS4において回答等取得処理を行う。具体的にはまず、情報処理装置100は、ユーザによる入力「洋風がいいです」を取得し、表示画面D21において第2ターンとして領域D212にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す情報提供に該当し、さらに、キーワード「洋風」を抽出する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5に示す対話モデル131を参照し、状態1でオープン質問を出力すると情報提供が入力されているので、対話状態は状態1から状態2に遷移していると判定し、対話状態の更新を行う。
<第3ターンおよび第4ターン>
続いて、情報処理装置100は、ステップS3およびステップS4の処理を再び行う。
まず、情報処理装置100は、図5を参照し、状態2であることからオープン質問を行うことを決定し、図10を参照して2番目のオープン質問「他に何か条件はありますか?」というシステム発話表示を生成する。ここで、図5の状態2のオープン質問において示される次の入力の想定は、情報提供または否定である。
次に、情報処理装置100は、キーワード「洋風」のみでレシピ情報の候補を絞り込んだ158件を表示する対話情報表示を生成する。また、情報処理装置100は、図9を参照して、レシピ情報の候補を絞り込むためのキーワードの候補として、「主菜」と「焼き物」を抽出して、「主菜がいい」「焼き物がいい」「いいえ」という入力例を表示する対話情報表示を生成する。
結果として、表示画面D21において、第3ターンは、領域D213に質問「他に何か条件はありますか?」、領域D213の外部かつ上部の領域に第1情報「レシピ候補:158件」、領域D213の外部かつ下部の領域に第2情報「入力例:主菜がいい/焼き物がいい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「焼き物で」を取得し、表示画面D21において第4ターンとして領域D214にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す情報提供に該当し、さらに、キーワード「焼き物」を抽出する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態2でオープン質問を出力すると情報提供が入力されているので、対話状態は状態2にとどまると判定する。
<第5ターンおよび第6ターン>
続いて、情報処理装置100は、ステップS3およびステップS4の処理を再び行う。
まず、情報処理装置100は、図5を参照し、状態2であることからオープン質問を行うことを決定し、図10を参照して3番目のオープン質問が行われ、「他に何か条件はありますか?」というシステム発話表示を生成する。ここで、図5の状態2のオープン質問において示される次の入力の想定は、情報提供または否定である。
次に、情報処理装置100は、キーワード「洋風」と「焼き物」とでレシピ情報の候補を絞り込みんだ47件を表示する対話情報表示を生成する。また、情報処理装置100は、図9を参照して、レシピ情報の候補を絞り込むためのキーワードの候補として、「土物」と「魚料理」を抽出して、「土物を使いたい」、「魚料理がいい」、「いいえ」という入力例を表示する対話情報表示を生成する。
結果として、表示画面D21において、第5ターンは、領域D215に質問「他に何か条件はありますか?」、領域D215の外部かつ上部の領域に第1情報「レシピ候補:47件」、領域D215の外部かつ下部の領域に第2情報「入力例:土物を使いたい/魚料理がいい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「特にないです」を取得し、表示画面D21において第6ターンとして領域D216にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す否定に該当する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態2でオープン質問を出力すると否定が入力されているので、対話状態は状態2から状態3に遷移していると判定し、対話状態の更新を行う。
<第7ターンおよび第8ターン>
続いて、情報処理装置100は、ステップS3およびステップS4の処理を再び行う。なお、ここまでは、オープン質問をベースに情報の絞込みを行ったが、ここからは、クローズド質問をベースに情報の絞込みを行う。レシピ情報が4件以下に絞り込まれたら、対話を終了する。
まず、情報処理装置100は、図5を参照し、状態3であることからクローズド質問を行うことを決定する。ここで、情報処理装置100は、図9を参照しレシピ情報の候補を絞り込むためのキーワード「土物」を抽出しているとする。この場合、図9に示されるように「土物」と料理の関係詞は”HasA”であるから、情報処理装置100は、図10を参照し、「”X”を使っていいですか?」というテンプレートを用いて、クローズド質問「土物を使っていいですか?」というシステム発話表示を生成する。ここで、図5の状態3のクローズド質問において示される次の入力の想定は、肯定または否定である。また、前ターンである第6ターンではキーワードが増えていないので、レシピ情報の候補は47件のままである。
次に、情報処理装置100は、レシピ情報の候補が47件であることを表示する対話情報表示と、「はい」「いいえ」という入力例を表示する対話情報表示とを生成する。
結果として、表示画面D31において、第7ターンは、領域D311に質問「土物を使っていいですか?」、領域D311の外部かつ上部の領域に第1情報「レシピ候補:47件」、領域D311の外部かつ下部の領域に第2情報「入力例:はい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「それは何ですか?」を取得し、表示画面D31において第8ターンとして領域D312にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示すユーザ質問(WHAT質問)に該当する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態3でクローズド質問を出力するとユーザ質問が入力されているので、対話状態は状態3から状態4に遷移していると判定し、対話状態の更新を行う。
<第9ターンおよび第10ターン>
次に、情報処理装置100は、ステップS3において質問等表示処理を行う。具体的には、情報処理装置100は、図5を参照し、状態4であるので、回答を行うことを決定する。ここで、情報処理装置100は、図9の領域R11と図10とを参照して、「例えばlist_up(“Y”)です。」というテンプレートを用いて、回答「例えば玉葱、長芋です。」というシステム発話表示を生成する。ここで、図5の状態4の回答において示される次の入力の想定は「Φ」である。そのため、情報処理装置100は、対話状態がそのまま状態3に遷移したと判定し、対話状態の更新を行う。
次いで、情報処理装置100は、図5を参照し、状態3であることからクローズド質問を行うことを決定する。ここで、レシピ情報の候補を絞り込むためのキーワードは「土物」のままであるので、情報処理装置100は、第7ターンと同じクローズド質問「土物を使っていいですか?」というシステム発話表示を生成する。ここで、上述したように、図5の状態3のオープン質問において示される次の入力の想定は、肯定または否定であり、前ターンでもキーワードは増えていないので、レシピ情報の候補は47件のままである。そのため、情報処理装置100は、レシピ情報の候補が47件であることを表示する対話情報表示と、「はい」「いいえ」という入力例を表示する対話情報表示とを生成する。
結果として、表示画面D31において、第9ターンは、領域D313に回答と質問「例えば玉葱、長芋です。土物を使っていいですか?」、領域D313の外部かつ上部の領域に第1情報「レシピ候補:47件」、領域D313の外部かつ下部の領域に第2情報「入力例:はい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「じゃあ、OK」を取得し、表示画面D31において第10ターンとして領域D314にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す肯定に該当する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態3でクローズド質問を出力すると肯定が入力されているので、対話状態は状態3にとどまると判定する。
<第11ターンおよび第12ターン>
続いて、情報処理装置100は、ステップS3およびステップS4の処理を再び行う。
まず、情報処理装置100は、図5を参照し、状態3であることからクローズド質問を行うことを決定する。ここで、情報処理装置100は、レシピ情報の候補を絞り込むためのキーワード「魚料理」(不図示)を抽出しているとする。この場合、情報処理装置100は、図10を参照し、「”X”でいいですか?」というテンプレートを用いて、クローズド質問「魚料理でいいですか?」というシステム発話表示を生成する。ここで、図5の状態3のクローズド質問において示される次の入力の想定は、肯定または否定である。また、キーワード「洋風」と「焼き物」と「土物」とから、レシピ情報の候補は21件に絞り込まれているとする。
次に、情報処理装置100は、レシピ情報の候補が21件であることを表示する対話情報表示と、「はい」「いいえ」という入力例を表示する対話情報表示とを生成する。
結果として、表示画面D31において、第11ターンは、領域D315に質問「魚料理でいいですか?」、領域D315の外部かつ上部の領域に第1情報「レシピ候補:21件」、領域D315の外部かつ下部の領域に第2情報「入力例:はい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「はい」を取得し、表示画面D31において第12ターンとして領域D316にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す肯定に該当する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態3でクローズド質問を出力すると肯定が入力されているので、対話状態は状態3にとどまると判定する。
<第13ターンおよび第14ターン>
続いて、情報処理装置100は、ステップS3およびステップS4の処理を再び行う。
まず、情報処理装置100は、図5を参照し、状態3であることからクローズド質問を行うことを決定する。ここで、情報処理装置100は、レシピ情報の候補を絞り込むためのキーワード「乳製品」(不図示)を抽出しているとする。この場合、情報処理装置100は、図10を参照し、「”X”を使っていいですか?」というテンプレートを用いて、クローズド質問「乳製品を使っていいですか?」というシステム発話表示を生成する。ここで、図5の状態3のクローズド質問において示される次の入力の想定は、肯定または否定である。また、キーワード「洋風」と「焼き物」と「土物」と「魚料理」とから、レシピ情報は8件に絞り込まれているとする。
次に、情報処理装置100は、レシピ情報の候補が8件であることを表示する対話情報表示と、「はい」「いいえ」という入力例を表示する対話情報表示とを生成する。
結果として、表示画面D31において、第13ターンは、領域D317に質問「乳製品を使っていいですか?」、領域D317の外部かつ上部の領域に第1情報「レシピ候補:8件」、領域D317の外部かつ下部の領域に第2情報「入力例:はい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「はい」を取得し、表示画面D31において第14ターンとして領域D318にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す肯定に該当する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態3でクローズド質問を出力すると肯定が入力されているので、対話状態は状態3にとどまると判定する。
<第15ターン>
続いて、情報処理装置100は、ステップS3の処理を行う。
ここで、キーワード「洋風」、「焼き物」、「土物」、「魚料理」および「乳製品」から、レシピ情報の候補を絞り込むと4件になる。
この場合、情報処理装置100は、図5を参照し、状態3であることと、レシピ情報の候補が4件以下になったことから、結論提示を行うことを決定する。なお、結論提示のテンプレートは特に示していなかったが、図10の文生成データ133に格納されているとしてもよい。
情報処理装置100は、図10を参照し、レシピ情報の候補の件数を取り込んで、例えば「4つのレシピが見つかりました」というシステム発話表示を生成する。
結果として、表示画面D41において、第15ターンは、領域D411に結論提示「4つのレシピが見つかりました」と、領域D411の外部かつ下部の領域に、絞り込んだ4件のレシピ情報の候補すなわち見つかったレシピのリストとが表示される。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態3で結論提示を出力し、ユーザから何らかの入力を取得した場合、対話状態は状態3から状態5に遷移していると判定し、対話状態の更新を行う。
[効果等]
以上のように、本実施例に係る情報処理装置等は、質問を表示させるステップでは、複数の料理のレシピまたはメニューに対するリクエストを尋ねる内容である第1質問を第1態様で表示させ、第1質問の上部に、データベース13に含まれる複数の料理のレシピまたはメニューの総件数を第1情報として表示させ、かつ、第1質問の下部に、データベース13に基づいて複数の料理のレシピまたはメニューに含まれる一の食材または一の分類を示す語句を含む回答例を第2情報として表示させる第1ステップと、回答を取得するステップにおいて第1質問に対する第1回答を取得後に、複数の料理のレシピまたはメニューに対するリクエストをさらに尋ねる内容である第2質問を第1態様で表示させ、第2質問の上部に、第1回答により絞り込まれた、データベース13に含まれる複数の料理のレシピまたはメニューの件数を第1情報として表示させ、かつ、第2質問の下部に、第1回答により絞り込まれたデータベース13に含まれる複数の料理のレシピまたはメニューに含まれる一の食材または一の分類を示す語句を含む回答例を第2情報として表示させる第2ステップとを含む。ここで、データベース13には、複数の料理のレシピと、複数の料理のレシピ毎の分類を示す分類情報と、複数の料理のレシピ毎に用いられる食材を示す食材情報とが対応付けられている。
また、本実施例に係る情報処理装置等は、質問を表示させるステップでは、回答に対する取得するステップにおいて取得した第2質問に対する第2回答に所定の語句が含まれている場合、さらに、分類情報に含まれる一の分類または食材情報に含まれる一の食材をリクエストするか否かを尋ねる内容である第3質問を第1態様で表示させ、第3質問の上部に、回答を取得するステップにおいて取得された第2質問に対する第2回答により絞り込まれた、データベース13に含まれる複数の料理のレシピまたはメニューの件数を第1情報として表示させ、かつ、第3質問の下部に、一の分類または一の食材を肯定する語句および否定する語句を含む回答例を第2情報として表示させる。
さらに、本実施例に係る情報処理装置等は、回答に対する取得するステップにおいて取得した第3質問に対する第3回答に肯定の語句が含まれ、第3回答により絞り込まれた、データベース13に含まれる複数の料理のレシピまたはメニューの件数が閾値以下である場合には、ディスプレイに第3回答により絞り込まれた、データベース13に含まれる複数の料理のレシピまたはメニューの情報を表示させるステップを含む。そして、質問を表示させるステップでは、回答に対する取得するステップにおいて取得した第3質問に対する第3回答により、データベースに含まれる複数の料理のレシピまたはメニューの件数が閾値以下にならない場合、一の分類13と異なる一の分類または一の食材と異なる一の食材をリクエストするか否かを尋ねる内容である第4質問を第1態様で表示させ、第4質問の上部に、第3回答により絞り込まれた、データベース13に含まれる複数の料理のレシピまたはメニューの件数を第1情報として表示させ、かつ、第3質問の下部に、前記肯定する語句および前記否定する語句を含む回答例を第2情報として表示させる。
このように、本実施例に係る情報処理装置等は、システム発話表示と区別がつきやすい状態で、参考となる対話情報を提示することにより、ユーザにとってシステム発話に対する応答を入力しやすくすることができるので、ユーザとの対話によりユーザが探索を要望する情報に関する条件を漏れなく取得できる。
(実施例2)
実施例2では、ユーザが探索を要望する情報についての絞り込みを進行させるタスクとして複数の条件を満たす旅行プランを絞り込むタスクを行う場合の例について説明する。すなわち、探索の対象が複数の旅行プランであり、質問が複数の旅行プランに対するリクエストを尋ねる内容を示す場合について説明する。
[コンテンツデータ132]
図12は、本実施の形態の実施例2に係るコンテンツデータ132の一例を示す図である。
図12には、コンテンツデータ132の一例として、旅行のプランと条件との関係を有向グラフの形式で表現した知識ベースが示されている。なお、図12は、巨大な知識ベースの一部を例示したものに該当する。
図12に示す例では、プラン1、2が探索の対象となる複数の候補に該当し、イタリア、2名等の条件が特徴、属性または条件等を示す要素情報(キーワード)に該当する。また、図12では、例えばnode1の「プラン1」がイタリア、2名、5泊、15万以下などのnode2の条件を満たすという関係が示されており、node2の「イタリア」には、プラン2など15万以下であるnode1の旅行のプランが他にもあるという関係などが示されている。以上の関係を示すために、関係詞は、”HasProperty”が適用されている。
したがって、[node1 HasProperty node2]のnode2を検索キーワードとして、それと結び付けられているnode1を検索対象とし、複数のキーワードのAND検索のキーワードを増やしていくことで、複数条件を満たす情報を絞り込める。このようにして、複数の条件から旅行プランを絞り込むことができる。
また、点線で示した楕円の領域R12は、条件であるイタリア行きおよびドイツ行きの上位概念が、欧州行きであるとの関係を表している。領域R12は、ユーザが「欧州行き」についての知識がなかったと想定した場合に、ユーザ質問に対する回答に用いる知識の一例である。領域R12は、旅行プランの検索のために直接的には参照されないため、別枠としている。
[文生成データ133]
図13は、本実施の形態の実施例2に係る文生成データ133の一例を示す図である。図13には、情報処理装置100が参照するオープン質問、クローズド質問、知識獲得質問、回答のテンプレートとそれらの適用条件とが例示されている。
すなわち、情報処理装置100が探索の対象に関するオープン質問を出力する場合は、ユーザとの対話の開始時には、図13に示すオープン質問の1番目「どんな旅行プランをお探しですか?」という質問文を生成し、その後には、図13に示すオープン質問の2番目以降「他に何か条件はありますか?」という質問文を(繰り返し)生成する。
また、情報処理装置100が探索の対象に関するクローズド質問を出力する場合は、図13に示すテンプレートを用いてクローズド質問「”X”のプランにしますか?」を出力する。
また、情報処理装置100が知識獲得質問を出力する場合は、常に、「例えばどんな料理ですか?」という質問文を出力し、所望の情報の例示をユーザに求める。
また、情報処理装置100がユーザ質問に対する回答を出力する場合において、ユーザ質問が、”X”に関するWHERE質問であり、「”Y”IsA“X”」という関係が知識ベースであるコンテンツデータ132から見つかるときには、「例えばlist_up(“Y”)です。」という図13に示す回答のテンプレートを用いて回答を出力する。
また、情報処理装置100がユーザ質問に対する回答を出力する場合において、ユーザ質問が、”X”に関するWHERE質問であり、「”X”IsA“Z”」という関係が知識ベースであるコンテンツデータ132から見つかるときには、もうひとつの回答のテンプレートである「”Z”にあります。」を用いて回答を出力する。つまり、情報処理装置100は、知識ベースであるコンテンツデータ132に存在する関係に応じて、「例えばY1、Y2です」または「Zにあります」などの回答を生成する。
なお、図示しないが、ユーザの入力として想定する入力例を生成するために、文生成データ133にテンプレートを用意しておいてもよい。例えば、情報提供のテンプレートは、「(キーワード)がいいです。」、肯定の回答のテンプレート「はい」、否定の回答のテンプレート「いいえ」などが文生成データ133に格納されていてもよい。
[情報処理装置100の処理]
図14は、本実施の形態の実施例2に係る表示画面の一例を示す図である。
表示画面D22は、情報処理装置100がオープン質問を行う場合における対話の一例を示しており、表示画面D32は、情報処理装置100がクローズド質問を行う場合における対話の一例を示している。表示画面D42は、情報処理装置100が結論提示を行う場合に示される画面の一例を示している。
以下、図4および図5で説明した処理に沿って説明する。
初期状態すなわち図5の状態1において、探索の対象となる複数の旅行プランの候補すなわちプラン情報の候補の登録数は19870件であるとする。
<第1ターンおよび第2ターン>
まず、情報処理装置100は、ステップS3において質問等表示処理を行う。具体的にはまず、情報処理装置100は、図5の対話モデル131を参照し、初期状態すなわち状態1であるのでオープン質問を行うことを決定し、図13の文生成データ133を参照し、1番目のオープン質問「どんな旅行プランをお探しですか?」というシステム発話表示を生成する。ここで、図5の状態1に示される次の入力の想定は情報提供である。次いで、情報処理装置100は、図12のコンテンツデータ132を参照し、プラン情報の候補を絞り込むためのキーワードの候補として、「欧州」と「北米」を抽出して、「欧州がいい」「北米がいい」という入力例を表示する対話情報表示を生成する。
結果として、表示画面D22において、第1ターンは、領域D221に質問「どんな旅行プランをお探しですか?」、領域D221の外部かつ上部の領域に第1情報「プラン候補:19870件」、領域D221の外部かつ下部の領域に第2情報「入力例:欧州がいい/北米がいい」が、それぞれに適した様態で表示される。このように、質問「どんな旅行プランをお探しですか?」は話し言葉で表現されている一方で、第1情報「プラン候補:19870件」、第2情報「入力例:欧州がいい/北米がいい」は、記号を利用して端的に表現されている。
次に、情報処理装置100は、ステップS4において回答等取得処理を行う。具体的にはまず、情報処理装置100は、ユーザによる入力「2人で」を取得し、表示画面D22において第2ターンとして領域D222にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す情報提供に該当し、さらに、キーワード「2名」を抽出する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5に示す対話モデル131を参照し、状態1でオープン質問を出力すると情報提供が入力されているので、対話状態は状態1から状態2に遷移していると判定し、対話状態の更新を行う。
<第3ターンおよび第4ターン>
続いて、情報処理装置100は、ステップS3およびステップS4の処理を再び行う。
まず、情報処理装置100は、図5を参照し、状態2であることからオープン質問を行うことを決定し、図13を参照して2番目のオープン質問「他に何か条件はありますか?」というシステム発話表示を生成する。ここで、図5の状態2のオープン質問において示される次の入力の想定は、情報提供または否定である。
次に、情報処理装置100は、キーワード「2名」のみでプラン情報の候補を絞り込みんだ1580件を表示する対話情報表示を生成する。また、情報処理装置100は、図12を参照して、プラン情報の候補を絞り込むためのキーワードの候補として、「5泊」と「4名」を抽出して、「5泊がいい」「4名がいい」「いいえ」という入力例を表示する対話情報表示を生成する。
結果として、表示画面D22において、第3ターンは、領域D223に質問「他に何か条件はありますか?」、領域D223の外部かつ上部の領域に第1情報「プラン候補:1580件」、領域D223の外部かつ下部の領域に第2情報「入力例:5泊がいい/4名がいい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「5泊で」を取得し、表示画面D22において第4ターンとして領域D224にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す情報提供に該当し、さらに、キーワード「5泊」を抽出する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態2でオープン質問を出力すると情報提供が入力されているので、対話状態は状態2にとどまると判定する。
<第5ターンおよび第6ターン>
続いて、情報処理装置100は、ステップS3およびステップS4の処理を再び行う。
まず、情報処理装置100は、図5を参照し、状態2であることからオープン質問を行うことを決定し、図13を参照して3番目のオープン質問が行われ、「他に何か条件はありますか?」というシステム発話表示を生成する。ここで、図5の状態2のオープン質問において示される次の入力の想定は、情報提供または否定である。
次に、情報処理装置100は、キーワード「2名」と「5泊」とでプラン情報の候補を絞り込みんだ470件を表示する対話情報表示を生成する。また、情報処理装置100は、図12を参照して、プラン情報の候補を絞り込むためのキーワードの候補として、「2名」と「4名」を抽出して、「2名がいい」、「4名がいい」、「いいえ」という入力例を表示する対話情報表示を生成する。
結果として、表示画面D22において、第5ターンは、領域D225に質問「他に何か条件はありますか?」、領域D225の外部かつ上部の領域に第1情報「プラン候補:470件」、領域D225の外部かつ下部の領域に第2情報「入力例:2名がいい/4名がいい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「特にないです」を取得し、表示画面D22において第6ターンとして領域D226にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す否定に該当する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態2でオープン質問を出力すると否定が入力されているので、対話状態は状態2から状態3に遷移していると判定し、対話状態の更新を行う。
<第7ターンおよび第8ターン>
続いて、情報処理装置100は、ステップS3およびステップS4の処理を再び行う。なお、ここまでは、オープン質問をベースに情報の絞込みを行ったが、ここからは、クローズド質問をベースに情報の絞込みを行う。プラン情報が4件以下に絞り込まれたら、対話を終了する。
まず、情報処理装置100は、図5を参照し、状態3であることからクローズド質問を行うことを決定する。ここで、情報処理装置100は、図12を参照しプラン情報の候補を絞り込むためのキーワード「欧州行き」を抽出しているとする。この場合、図12に示されるように「欧州行き」と旅行プランの関係詞は”HasProperty”であるから、情報処理装置100は、図13を参照し、「”X”のプランにしますか?」というテンプレートを用いて、クローズド質問「欧州行きのプランにしますか?」というシステム発話表示を生成する。ここで、図5の状態3のクローズド質問において示される次の入力の想定は、肯定または否定である。また、前ターンである第6ターンではキーワードが増えていないので、レシピ情報の候補は470件のままである。
次に、情報処理装置100は、プラン情報の候補が470件であることを表示する対話情報表示と、「はい」「いいえ」という入力例を表示する対話情報表示とを生成する。
結果として、表示画面D32において、第7ターンは、領域D321に質問「欧州行きのプランにしますか?」、領域D321の外部かつ上部の領域に第1情報「プラン候補:470件」、領域D321の外部かつ下部の領域に第2情報「入力例:はい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「具体的にはどこですか?」を取得し、表示画面D32において第8ターンとして領域D322にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示すユーザ質問(WHERE質問)に該当する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態3でクローズド質問を出力するとユーザ質問が入力されているので、対話状態は状態3から状態4に遷移していると判定し、対話状態の更新を行う。
<第9ターンおよび第10ターン>
次に、情報処理装置100は、ステップS3において質問等表示処理を行う。具体的には、情報処理装置100は、図5を参照し、状態4であるので、回答を行うことを決定する。ここで、情報処理装置100は、図12の領域R12と図13とを参照して、「例えばlist_up(“Y”)です。」というテンプレートを用いて、回答「例えばイタリア行き、ドイツ行きです。」というシステム発話表示を生成する。ここで、図5の状態4の回答において示される次の入力の想定は「Φ」である。そのため、情報処理装置100は、対話状態がそのまま状態3に遷移したと判定し、対話状態の更新を行う。
次いで、情報処理装置100は、図5を参照し、状態3であることからクローズド質問を行うことを決定する。ここで、プラン情報の候補を絞り込むためのキーワードは「欧州行き」のままであるので、情報処理装置100は、第7ターンと同じクローズド質問「欧州行きのプランにしますか?」というシステム発話表示を生成する。ここで、上述したように、図5の状態3のオープン質問において示される次の入力の想定は、肯定または否定であり、前ターンでもキーワードは増えていないので、プラン情報の候補は470件のままである。そのため、情報処理装置100は、プラン情報の候補が470件であることを表示する対話情報表示と、「はい」「いいえ」という入力例を表示する対話情報表示とを生成する。
結果として、表示画面D32において、第9ターンは、領域D323に回答と質問「例えばイタリア行き、ドイツ行きです。欧州行きのプランにしますか?」、領域D323の外部かつ上部の領域に第1情報「プラン候補:470件」、領域D323の外部かつ下部の領域に第2情報「入力例:はい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「じゃあ、OK」を取得し、表示画面D32において第10ターンとして領域D324にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す肯定に該当する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態3でクローズド質問を出力すると肯定が入力されているので、対話状態は状態3にとどまると判定する。
<第11ターンおよび第12ターン>
続いて、情報処理装置100は、ステップS3およびステップS4の処理を再び行う。
まず、情報処理装置100は、図5を参照し、状態3であることからクローズド質問を行うことを決定する。ここで、情報処理装置100は、プラン情報の候補を絞り込むためのキーワード「15万以下」を抽出しているとする。この場合、情報処理装置100は、図13を参照し、「”X”のプランにしますか?」というテンプレートを用いて、クローズド質問「15万以下のプランにしますか?」というシステム発話表示を生成する。ここで、図5の状態3のクローズド質問において示される次の入力の想定は、肯定または否定である。また、キーワード「2名」と「5泊」と「欧州行き」とから、プラン情報の候補は21件に絞り込まれているとする。
次に、情報処理装置100は、プラン情報の候補が21件であることを表示する対話情報表示と、「はい」「いいえ」という入力例を表示する対話情報表示とを生成する。
結果として、表示画面D32において、第11ターンは、領域D325に質問「15万以下のプランにしますか?」、領域D325の外部かつ上部の領域に第1情報「プラン候補:21件」、領域D325の外部かつ下部の領域に第2情報「入力例:はい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「はい」を取得し、表示画面D32において第12ターンとして領域D326にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す肯定に該当する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態3でクローズド質問を出力すると肯定が入力されているので、対話状態は状態3にとどまると判定する。
<第12ターン>
続いて、情報処理装置100は、ステップS3の処理を行う。
ここで、キーワード「2名」と「5泊」と「欧州行き」と「15万以下」とから、プラン情報の候補を絞り込むと2件になる。
この場合、情報処理装置100は、図5を参照し、状態3であることと、プラン情報の候補が4件以下になったことから、結論提示を行うことを決定する。なお、結論提示のテンプレートは特に示していなかったが、図13の文生成データに格納されているとしてもよい。
情報処理装置100は、図13を参照し、プラン情報の候補の件数を取り込んで、例えば「2つのプランが見つかりました」というシステム発話表示を生成する。
結果として、表示画面D42において、第12ターンは、領域D421に結論提示「2つのプランが見つかりました」と、領域D421の外部かつ下部の領域に、絞り込んだ2件のプラン情報の候補すなわち見つかった旅行プランのリストとが表示される。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態3で結論提示を出力し、ユーザから何らかの入力を取得した場合、対話状態は状態3から状態5に遷移していると判定し、対話状態の更新を行う。
(実施例3)
実施例3では、ユーザが探索を要望する情報についての絞り込みを進行させるタスクとして複数の条件を満たす不動産の物件を絞り込むタスクを行う場合の例について説明する。すなわち、探索の対象が複数の不動産の物件であり、質問が複数の不動産の物件に対するリクエストを尋ねる内容を示す場合について説明する。
[コンテンツデータ132]
図15は、本実施の形態の実施例3に係るコンテンツデータ132の一例を示す図である。
図15には、コンテンツデータ132の一例として、不動産の物件と条件との関係を有向グラフの形式で表現した知識ベースが示されている。なお、図15は、巨大な知識ベースの一部を例示したものに該当する。
図15に示す例では、物件ABC、物件DEFが探索の対象となる複数の候補に該当し、マンション、築浅、駅近等の条件が要素情報(キーワード)に該当する。また、図15では、例えばnode1の「物件ABC」がマンション、築浅、駅近、2階以上、床暖ありなどのnode2の条件を満たすという関係が示されており、node2の「マンション」には、物件DEFなど駅近であるnode1の不動産の物件が他にもあるという関係などが示されている。以上の関係を示すために、関係詞は、”HasProperty”が適用されている。
したがって、[node1 HasProperty node2]のnode2を検索キーワードとして、それと結び付けられているnode1を検索対象とし、複数のキーワードのAND検索のキーワードを増やしていくことで、複数条件を満たす情報を絞り込める。このようにして、複数の条件から不動産の物件を絞り込むことができる。
また、点線で示した楕円の領域R13は、条件である築浅が、条件である新築、築1年、築2年、築3年の上位概念であるとの関係を表している。領域R13は、ユーザが「築浅」についての知識がなかったと想定した場合に、ユーザ質問に対する回答に用いる知識の一例である。領域R13は、不動産の物件の検索のために直接的には参照されないため、別枠としている。
[文生成データ133]
図16は、本実施の形態の実施例3に係る文生成データ133の一例を示す図である。図16には、情報処理装置100が参照するオープン質問、クローズド質問、知識獲得質問、回答のテンプレートとそれらの適用条件とが例示されている。
すなわち、情報処理装置100が探索の対象に関するオープン質問を出力する場合は、ユーザとの対話の開始時には、図16に示すオープン質問の1番目「どんな物件をお探しですか?」という質問文を生成し、その後には、図16に示すオープン質問の2番目以降「他に何か条件はありますか?」という質問文を(繰り返し)生成する。
また、情報処理装置100が探索の対象に関するクローズド質問を出力する場合は、図16に示すテンプレートを用いてクローズド質問「”X”の方がいいですか?」を出力する。
また、情報処理装置100が知識獲得質問を出力する場合は、常に、「例えばどんな物件ですか?」という質問文を出力し、所望の情報の例示をユーザに求める。
また、情報処理装置100がユーザ質問に対する回答を出力する場合において、ユーザ質問が、”X”に関するWHAT質問であり、「”Y”IsA“X”」という関係が知識ベースであるコンテンツデータ132から見つかるときには、「例えばlist_up(“Y”)です。」という図16に示す回答のテンプレートを用いて回答を出力する。
また、情報処理装置100がユーザ質問に対する回答を出力する場合において、ユーザ質問が、”X”に関するWHAT質問であり、「”X”IsA“Z”」という関係が知識ベースであるコンテンツデータ132から見つかるときには、もうひとつの回答のテンプレートである「”Z”の一例です。」を用いて回答を出力する。つまり、情報処理装置100は、知識ベースであるコンテンツデータ132に存在する関係に応じて、「例えばY1、Y2です」または「Zの一例です」などの回答を生成する。
なお、図示しないが、ユーザの入力として想定する入力例を生成するために、文生成データ133にテンプレートを用意しておいてもよい。例えば、情報提供のテンプレートは、「(キーワード)がいいです。」、肯定の回答のテンプレート「はい」、否定の回答のテンプレート「いいえ」などが文生成データ133に格納されていてもよい。
[情報処理装置100の処理]
図17は、本実施の形態の実施例3に係る表示画面の一例を示す図である。
表示画面D23は、情報処理装置100がオープン質問を行う場合における対話の一例を示しており、表示画面D33は、情報処理装置100がクローズド質問を行う場合における対話の一例を示している。表示画面D43は、情報処理装置100が結論提示を行う場合に示される画面の一例を示している。
以下、図4および図5で説明した処理に沿って説明する。
初期状態すなわち図5の状態1において、探索の対象となる複数の不動産の物件の候補すなわち物件の候補の登録数は198700件であるとする。
<第1ターンおよび第2ターン>
まず、情報処理装置100は、ステップS3において質問等表示処理を行う。具体的にはまず、情報処理装置100は、図5の対話モデル131を参照し、初期状態すなわち状態1であるのでオープン質問を行うことを決定し、図16の文生成データ133を参照し、1番目のオープン質問「どんな物件をお探しですか?」というシステム発話表示を生成する。ここで、図5の状態1に示される次の入力の想定は情報提供である。次いで、情報処理装置100は、図15のコンテンツデータ132を参照し、物件の候補を絞り込むためのキーワードの候補として、「東京」と「大阪」を抽出して、「東京がいい」「大阪がいい」という入力例を表示する対話情報表示を生成する。
結果として、表示画面D23において、第1ターンは、領域D231に質問「どんな物件をお探しですか?」、領域D231の外部かつ上部の領域に第1情報「物件候補:198700件」、領域D231の外部かつ下部の領域に第2情報「入力例:東京がいい/大阪がいい」が、それぞれに適した様態で表示される。このように、質問「どんな物件をお探しですか?」は話し言葉で表現されている一方で、第1情報「物件候補:198700件」、第2情報「入力例:東京がいい/大阪がいい」は、記号を利用して端的に表現されている。
次に、情報処理装置100は、ステップS4において回答等取得処理を行う。具体的にはまず、情報処理装置100は、ユーザによる入力「門真市内がいいです」を取得し、表示画面D23において第2ターンとして領域D232にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す情報提供に該当し、さらに、キーワード「門真市内」(不図示)を抽出する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5に示す対話モデル131を参照し、状態1でオープン質問を出力すると情報提供が入力されているので、対話状態は状態1から状態2に遷移していると判定し、対話状態の更新を行う。
<第3ターンおよび第4ターン>
続いて、情報処理装置100は、ステップS3およびステップS4の処理を再び行う。
まず、情報処理装置100は、図5を参照し、状態2であることからオープン質問を行うことを決定し、図16を参照して2番目のオープン質問「他に何か条件はありますか?」というシステム発話表示を生成する。ここで、図5の状態2のオープン質問において示される次の入力の想定は、情報提供または否定である。
次に、情報処理装置100は、キーワード「門真市内」のみで物件の候補を絞り込みんだ350件を表示する対話情報表示を生成する。また、情報処理装置100は、図15を参照して、物件の候補を絞り込むためのキーワードの候補として、「マンション」と「駅近」を抽出して、「マンションがいい」「駅近がいい」「いいえ」という入力例を表示する対話情報表示を生成する。
結果として、表示画面D23において、第3ターンは、領域D233に質問「他に何か条件はありますか?」、領域D233の外部かつ上部の領域に第1情報「物件候補:350件」、領域D233の外部かつ下部の領域に第2情報「入力例:マンションがいい/駅近がいい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「駅から近いといいです」を取得し、表示画面D23において第4ターンとして領域D234にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す情報提供に該当し、さらに、キーワード「駅近」を抽出する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態2でオープン質問を出力すると情報提供が入力されているので、対話状態は状態2にとどまると判定する。
<第5ターンおよび第6ターン>
続いて、情報処理装置100は、ステップS3およびステップS4の処理を再び行う。
まず、情報処理装置100は、図5を参照し、状態2であることからオープン質問を行うことを決定し、図16を参照して3番目のオープン質問が行われ、「他に何か条件はありますか?」というシステム発話表示を生成する。ここで、図5の状態2のオープン質問において示される次の入力の想定は、情報提供または否定である。
次に、情報処理装置100は、キーワード「門真市内」と「駅近」とで物件の候補を絞り込みんだ80件を表示する対話情報表示を生成する。また、情報処理装置100は、図15を参照して、物件の候補を絞り込むためのキーワードの候補として、「築浅」と「2階以上」を抽出して、「築浅がいい」、「2階以上がいい」、「いいえ」という入力例を表示する対話情報表示を生成する。
結果として、表示画面D23において、第5ターンは、領域D235に質問「他に何か条件はありますか?」、領域D235の外部かつ上部の領域に第1情報「物件候補:80件」、領域D235の外部かつ下部の領域に第2情報「入力例:築浅がいい/2階以上がいい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「特にないです」を取得し、表示画面D23において第6ターンとして領域D236にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す否定に該当する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態2でオープン質問を出力すると否定が入力されているので、対話状態は状態2から状態3に遷移していると判定し、対話状態の更新を行う。
<第7ターンおよび第8ターン>
続いて、情報処理装置100は、ステップS3およびステップS4の処理を再び行う。なお、ここまでは、オープン質問をベースに情報の絞込みを行ったが、ここからは、クローズド質問をベースに情報の絞込みを行う。物件が4件以下に絞り込まれたら、対話を終了する。
まず、情報処理装置100は、図5を参照し、状態3であることからクローズド質問を行うことを決定する。ここで、情報処理装置100は、図15を参照し物件の候補を絞り込むためのキーワード「築浅」を抽出しているとする。この場合、図15に示されるように「築浅」と物件の関係詞は”HasProperty”であるから、情報処理装置100は、図16を参照し、「”X”の方がいいですか?」というテンプレートを用いて、クローズド質問「築浅の方がいいですか?」というシステム発話表示を生成する。ここで、図5の状態3のクローズド質問において示される次の入力の想定は、肯定または否定である。また、前ターンである第6ターンではキーワードが増えていないので、物件の候補は80件のままである。
次に、情報処理装置100は、物件の候補が80件であることを表示する対話情報表示と、「はい」「いいえ」という入力例を表示する対話情報表示とを生成する。
結果として、表示画面D33において、第7ターンは、領域D331に質問「築浅の方がいいですか?」、領域D331の外部かつ上部の領域に第1情報「物件候補:80件」、領域D331の外部かつ下部の領域に第2情報「入力例:はい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「それは何ですか?」を取得し、表示画面D33において第8ターンとして領域D332にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示すユーザ質問(WHAT質問)に該当する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態3でクローズド質問を出力するとユーザ質問が入力されているので、対話状態は状態3から状態4に遷移していると判定し、対話状態の更新を行う。
<第9ターンおよび第10ターン>
次に、情報処理装置100は、ステップS3において質問等表示処理を行う。具体的には、情報処理装置100は、図5を参照し、状態4であるので、回答を行うことを決定する。ここで、情報処理装置100は、図15の領域R13と図16とを参照して、「例えばlist_up(“Y”)です。」というテンプレートを用いて、回答「例えば新築、築1年、築2年、築3年です。」というシステム発話表示を生成する。ここで、図5の状態4の回答において示される次の入力の想定は「Φ」である。そのため、情報処理装置100は、対話状態がそのまま状態3に遷移したと判定し、対話状態の更新を行う。
次いで、情報処理装置100は、図5を参照し、状態3であることからクローズド質問を行うことを決定する。ここで、物件の候補を絞り込むためのキーワードは「築浅」のままであるので、情報処理装置100は、第7ターンと同じクローズド質問「築浅の方がいいですか?」というシステム発話表示を生成する。ここで、上述したように、図5の状態3のオープン質問において示される次の入力の想定は、肯定または否定であり、前ターンでもキーワードは増えていないので、物件の候補は80件のままである。そのため、情報処理装置100は、物件の候補が80件であることを表示する対話情報表示と、「はい」「いいえ」という入力例を表示する対話情報表示とを生成する。
結果として、表示画面D33において、第9ターンは、領域D333に回答と質問「例えば新築、築1年、築2年、築3年です。築浅の方がいいですか?」、領域D333の外部かつ上部の領域に第1情報「物件候補:80件」、領域D333の外部かつ下部の領域に第2情報「入力例:はい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「ああ、そっちの方がいいです」を取得し、表示画面D33において第10ターンとして領域D334にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す肯定に該当する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態3でクローズド質問を出力すると肯定が入力されているので、対話状態は状態3にとどまると判定する。
<第11ターンおよび第12ターン>
続いて、情報処理装置100は、ステップS3およびステップS4の処理を再び行う。
まず、情報処理装置100は、図5を参照し、状態3であることからクローズド質問を行うことを決定する。ここで、情報処理装置100は、物件の候補を絞り込むためのキーワード「床暖あり」を抽出しているとする。この場合、情報処理装置100は、図16を参照し、「”X”の方がいいですか?」というテンプレートを用いて、クローズド質問「床暖ありの方がいいですか?」というシステム発話表示を生成する。ここで、図5の状態3のクローズド質問において示される次の入力の想定は、肯定または否定である。また、キーワード「門真市内」と「駅近」と「築浅」とから、物件の候補は21件に絞り込まれているとする。
次に、情報処理装置100は、物件の候補が21件であることを表示する対話情報表示と、「はい」「いいえ」という入力例を表示する対話情報表示とを生成する。
結果として、表示画面D33において、第11ターンは、領域D335に質問「床暖ありの方がいいですか?」、領域D335の外部かつ上部の領域に第1情報「物件候補:21件」、領域D335の外部かつ下部の領域に第2情報「入力例:はい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「それはなくてもいいです」を取得し、表示画面D33において第12ターンとして領域D336にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す否定に該当する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態3でクローズド質問を出力すると否定が入力されているので、対話状態は状態3にとどまると判定する。
<第12ターン>
続いて、情報処理装置100は、ステップS3の処理を行う。
ここで、キーワード「門真市内」と「駅近」と「築浅」と「床暖なし」とから、物件の候補を絞り込むと2件になる。
この場合、情報処理装置100は、図5を参照し、状態3であることと、物件の候補が4件以下になったことから、結論提示を行うことを決定する。なお、結論提示のテンプレートは特に示していなかったが、図16の文生成データに格納されているとしてもよい。
情報処理装置100は、図16を参照し、物件の候補の件数を取り込んで、例えば「2つの物件が見つかりました」というシステム発話表示を生成する。
結果として、表示画面D43において、第12ターンは、領域D431に結論提示「2つの物件が見つかりました」と、領域D431の外部かつ下部の領域に絞り込んだ2件の物件の候補すなわち見つかった不動産の物件のリストとが表示される。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態3で結論提示を出力し、ユーザから何らかの入力を取得した場合、対話状態は状態3から状態5に遷移していると判定し、対話状態の更新を行う。
(実施例4)
実施例4では、ユーザが探索を要望する情報についての絞り込みを進行させるタスクとして複数の条件を満たす映像コンテンツを絞り込むタスクを行う場合の例について説明する。すなわち、探索の対象が複数の映像コンテンツであり、質問が複数の映像コンテンツに対するリクエストを尋ねる内容を示す場合について説明する。
[コンテンツデータ132]
図18は、本実施の形態の実施例4に係るコンテンツデータ132の一例を示す図である。
図18には、コンテンツデータ132の一例として、映像コンテンツと条件との関係を有向グラフの形式で表現した知識ベースが示されている。なお、図18は、巨大な知識ベースの一部を例示したものに該当する。
図18に示す例では、Z学園、刑事Xが探索の対象となる複数の候補に該当し、ドラマ、深夜番組、テレビ関東等の条件が要素情報(キーワード)に該当する。また、図18では、例えばnode1の「Z学園」が俳優A出演、ドラマ、深夜番組、テレビ関東、学園ものなどのnode2の条件を満たすという関係が示されており、node2の「ドラマ」には、刑事Xなど深夜番組であるnode1の映像コンテンツが他にもあるという関係などが示されている。以上の関係を示すために、関係詞は、”HasProperty”が適用されている。
したがって、[node1 HasProperty node2]のnode2を検索キーワードとして、それと結び付けられているnode1を検索対象とし、複数のキーワードのAND検索のキーワードを増やしていくことで、複数条件を満たす情報を絞り込める。このようにして、複数の条件から映像コンテンツの候補を絞り込むことができる。
また、点線で示した楕円の領域R14は、条件であるドラマが、条件である学園もの、刑事もの、家族もの、恋愛ものの上位概念であるとの関係を表している。領域R14は、ユーザが「ドラマ」についての知識がなかったと想定した場合に、ユーザ質問に対する回答に用いる知識の一例である。領域R14は、映像コンテンツの候補の検索のために直接的には参照されないため、別枠としている。
[文生成データ133]
図19は、本実施の形態の実施例4に係る文生成データ133の一例を示す図である。図19には、情報処理装置100が参照するオープン質問、クローズド質問、知識獲得質問、回答のテンプレートとそれらの適用条件とが例示されている。
すなわち、情報処理装置100が探索の対象に関するオープン質問を出力する場合は、ユーザとの対話の開始時には、図19に示すオープン質問の1番目「どんな番組をお探しですか?」という質問文を生成し、その後には、図19に示すオープン質問の2番目以降「他に何か条件はありますか?」という質問文を繰り返し生成する。
また、情報処理装置100が探索の対象に関するクローズド質問を出力する場合は、図19に示すテンプレートを用いてクローズド質問「”X”でいいですか?」を出力する。
また、情報処理装置100が知識獲得質問を出力する場合は、常に、「例えばどんな番組ですか?」という質問文を出力し、所望の情報の例示をユーザに求める。
また、情報処理装置100がユーザ質問に対する回答を出力する場合において、ユーザ質問が、”X”に関するWHAT質問であり、「”Y”IsA“X”」という関係が知識ベースであるコンテンツデータ132から見つかるときには、「例えばlist_up(“Y”)です。」という図16に示す回答のテンプレートを用いて回答を出力する。
また、情報処理装置100がユーザ質問に対する回答を出力する場合において、ユーザ質問が、”X”に関するWHAT質問であり、「”X”IsA“Z”」という関係が知識ベースであるコンテンツデータ132から見つかるときには、もうひとつの回答のテンプレートである「”Z”の一例です。」を用いて回答を出力する。つまり、情報処理装置100は、知識ベースであるコンテンツデータ132に存在する関係に応じて、「例えばY1、Y2です」または「Zの一例です」などの回答を生成する。
なお、図示しないが、ユーザの入力として想定する入力例を生成するために、文生成データ133にテンプレートを用意しておいてもよい。例えば、情報提供のテンプレートは、「(キーワード)がいいです。」、肯定の回答のテンプレート「はい」、否定の回答のテンプレート「いいえ」などが文生成データ133に格納されていてもよい。
[情報処理装置100の処理]
図20は、本実施の形態の実施例4に係る表示画面の一例を示す図である。
表示画面D24は、情報処理装置100がオープン質問を行う場合における対話の一例を示しており、表示画面D34は、情報処理装置100がクローズド質問を行う場合における対話の一例を示している。表示画面D44は、情報処理装置100が結論提示を行う場合に示される画面の一例を示している。
以下、図4および図5で説明した処理に沿って説明する。
初期状態すなわち図5の状態1において、探索の対象となる複数の映像コンテンツの候補すなわち番組情報の候補の登録数は987件であるとする。
<第1ターンおよび第2ターン>
まず、情報処理装置100は、ステップS3において質問等表示処理を行う。具体的にはまず、情報処理装置100は、図5の対話モデル131を参照し、初期状態すなわち状態1であるのでオープン質問を行うことを決定し、図19の文生成データ133を参照し、1番目のオープン質問「どんな番組をお探しですか?」というシステム発話表示を生成する。ここで、図5の状態1に示される次の入力の想定は情報提供である。次いで、情報処理装置100は、図18のコンテンツデータ132を参照し、番組情報の候補を絞り込むためのキーワードの候補として、「ドラマ」と「映画」(不図示)を抽出して、「ドラマがいい」「映画がいい」という入力例を表示する対話情報表示を生成する。
結果として、表示画面D24において、第1ターンは、領域D241に質問「どんな番組をお探しですか?」、領域D241の外部かつ上部の領域に第1情報「番組候補:987件」、領域D241の外部かつ下部の領域に第2情報「入力例:ドラマがいい/映画がいい」が、それぞれに適した様態で表示される。このように、質問「どんな番組をお探しですか?」は話し言葉で表現されている一方で、第1情報「番組候補:987件」、第2情報「入力例:ドラマがいい/映画がいい」は、記号を利用して端的に表現されている。
次に、情報処理装置100は、ステップS4において回答等取得処理を行う。具体的にはまず、情報処理装置100は、ユーザによる入力「深夜番組がいいです」を取得し、表示画面D23において第2ターンとして領域D242にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す情報提供に該当し、さらに、キーワード「深夜番組」を抽出する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5に示す対話モデル131を参照し、状態1でオープン質問を出力すると情報提供が入力されているので、対話状態は状態1から状態2に遷移していると判定し、対話状態の更新を行う。
<第3ターンおよび第4ターン>
続いて、情報処理装置100は、ステップS3およびステップS4の処理を再び行う。
まず、情報処理装置100は、図5を参照し、状態2であることからオープン質問を行うことを決定し、図19を参照して2番目のオープン質問「他に何か条件はありますか?」というシステム発話表示を生成する。ここで、図5の状態2のオープン質問において示される次の入力の想定は、情報提供または否定である。
次に、情報処理装置100は、キーワード「深夜番組」のみで番組情報の候補を絞り込みんだ350件を表示する対話情報表示を生成する。また、情報処理装置100は、図18を参照して、番組情報の候補を絞り込むためのキーワードの候補として、「ドラマ」と「映画」を抽出して、「ドラマがいい」「映画がいい」「いいえ」という入力例を表示する対話情報表示を生成する。
結果として、表示画面D24において、第3ターンは、領域D243に質問「他に何か条件はありますか?」、領域D243の外部かつ上部の領域に第1情報「番組候補:350件」、領域D243の外部かつ下部の領域に第2情報「入力例:ドラマがいい/映画がいい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「テレビ関東がいいです」を取得し、表示画面D24において第4ターンとして領域D244にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す情報提供に該当し、さらに、キーワード「テレビ関東」を抽出する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態2でオープン質問を出力すると情報提供が入力されているので、対話状態は状態2にとどまると判定する。
<第5ターンおよび第6ターン>
続いて、情報処理装置100は、ステップS3およびステップS4の処理を再び行う。
まず、情報処理装置100は、図5を参照し、状態2であることからオープン質問を行うことを決定し、図19を参照して3番目のオープン質問が行われ、「他に何か条件はありますか?」というシステム発話表示を生成する。ここで、図5の状態2のオープン質問において示される次の入力の想定は、情報提供または否定である。
次に、情報処理装置100は、キーワード「深夜番組」と「テレビ関東」とで番組情報の候補を絞り込みんだ80件を表示する対話情報表示を生成する。また、情報処理装置100は、図18を参照して、番組情報の候補を絞り込むためのキーワードの候補として、「ドラマ」と「映画」を抽出して、「ドラマがいい」、「映画がいい」、「いいえ」という入力例を表示する対話情報表示を生成する。
結果として、表示画面D24において、第5ターンは、領域D245に質問「他に何か条件はありますか?」、領域D245の外部かつ上部の領域に第1情報「番組候補:80件」、領域D235の外部かつ下部の領域に第2情報「入力例:ドラマがいい/映画がいい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「特にないです」を取得し、表示画面D24において第6ターンとして領域D246にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す否定に該当する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態2でオープン質問を出力すると否定が入力されているので、対話状態は状態2から状態3に遷移していると判定し、対話状態の更新を行う。
<第7ターンおよび第8ターン>
続いて、情報処理装置100は、ステップS3およびステップS4の処理を再び行う。なお、ここまでは、オープン質問をベースに情報の絞込みを行ったが、ここからは、クローズド質問をベースに情報の絞込みを行う。番組情報が4件以下に絞り込まれたら、対話を終了する。
まず、情報処理装置100は、図5を参照し、状態3であることからクローズド質問を行うことを決定する。ここで、情報処理装置100は、図18を参照し番組情報の候補を絞り込むためのキーワード「ドラマ」を抽出しているとする。この場合、図18に示されるように「ドラマ」と映像コンテンツの関係詞は”HasProperty”であるから、情報処理装置100は、図19を参照し、「”X”でいいですか?」というテンプレートを用いて、クローズド質問「ドラマでいいですか?」というシステム発話表示を生成する。ここで、図5の状態3のクローズド質問において示される次の入力の想定は、肯定または否定である。また、前ターンである第6ターンではキーワードが増えていないので、番組情報の候補は80件のままである。
次に、情報処理装置100は、番組情報の候補が80件であることを表示する対話情報表示と、「はい」「いいえ」という入力例を表示する対話情報表示とを生成する。
結果として、表示画面D34において、第7ターンは、領域D341に質問「ドラマでいいですか?」、領域D341の外部かつ上部の領域に第1情報「番組候補:80件」、領域D341の外部かつ下部の領域に第2情報「入力例:はい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「どういうのですか?」を取得し、表示画面D34において第8ターンとして領域D342にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示すユーザ質問(WHAT質問)に該当する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態3でクローズド質問を出力するとユーザ質問が入力されているので、対話状態は状態3から状態4に遷移していると判定し、対話状態の更新を行う。
<第9ターンおよび第10ターン>
次に、情報処理装置100は、ステップS3において質問等表示処理を行う。具体的には、情報処理装置100は、図5を参照し、状態4であるので、回答を行うことを決定する。ここで、情報処理装置100は、図18の領域R14と図19とを参照して、「例えばlist_up(“Y”)です。」というテンプレートを用いて、回答「例えば学園もの、刑事もの、家族もの、恋愛ものです。」というシステム発話表示を生成する。ここで、図5の状態4の回答において示される次の入力の想定は「Φ」である。そのため、情報処理装置100は、対話状態がそのまま状態3に遷移したと判定し、対話状態の更新を行う。
次いで、情報処理装置100は、図5を参照し、状態3であることからクローズド質問を行うことを決定する。ここで、番組情報の候補を絞り込むためのキーワードは「ドラマ」のままであるので、情報処理装置100は、第7ターンと同じクローズド質問「ドラマでいいですか?」というシステム発話表示を生成する。ここで、上述したように、図5の状態3のオープン質問において示される次の入力の想定は、肯定または否定であり、前ターンでもキーワードは増えていないので、番組情報の候補は80件のままである。そのため、情報処理装置100は、番組情報の候補が80件であることを表示する対話情報表示と、「はい」「いいえ」という入力例を表示する対話情報表示とを生成する。
結果として、表示画面D34において、第9ターンは、領域D343に回答と質問「例えば学園もの、刑事もの、家族もの、恋愛ものです。ドラマでいいですか?」、領域D343の外部かつ上部の領域に第1情報「番組候補:80件」、領域D343の外部かつ下部の領域に第2情報「入力例:はい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「よさそうです」を取得し、表示画面D34において第10ターンとして領域D344にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す肯定に該当する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態3でクローズド質問を出力すると肯定が入力されているので、対話状態は状態3にとどまると判定する。
<第11ターンおよび第12ターン>
続いて、情報処理装置100は、ステップS3およびステップS4の処理を再び行う。
まず、情報処理装置100は、図5を参照し、状態3であることからクローズド質問を行うことを決定する。ここで、情報処理装置100は、番組情報の候補を絞り込むためのキーワード「俳優A出演」を抽出しているとする。この場合、情報処理装置100は、図19を参照し、「”X”でいいですか?」というテンプレートを用いて、クローズド質問「俳優A出演でいいですか?」というシステム発話表示を生成する。ここで、図5の状態3のクローズド質問において示される次の入力の想定は、肯定または否定である。また、キーワード「深夜番組」と「テレビ関東」と「ドラマ」とから、番組情報の候補は21件に絞り込まれているとする。
次に、情報処理装置100は、番組情報の候補が21件であることを表示する対話情報表示と、「はい」「いいえ」という入力例を表示する対話情報表示とを生成する。
結果として、表示画面D34において、第11ターンは、領域D345に質問「俳優A出演でいいですか?」、領域D345の外部かつ上部の領域に第1情報「番組候補:21件」、領域D345の外部かつ下部の領域に第2情報「入力例:はい/いいえ」が、それぞれに適した様態で表示される。
次に、情報処理装置100は、ユーザによる入力「いいです」を取得し、表示画面D33において第12ターンとして領域D346にそのまま表示している。情報処理装置100は、ユーザの回答を理解すると、図5に示す肯定に該当する。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態3でクローズド質問を出力すると肯定が入力されているので、対話状態は状態3にとどまると判定する。
<第12ターン>
続いて、情報処理装置100は、ステップS3の処理を行う。
ここで、キーワード「深夜番組」と「テレビ関東」と「ドラマ」と「俳優A出演」とから、番組情報の候補を絞り込むと4件になる。
この場合、情報処理装置100は、図5を参照し、状態3であることと、番組情報の候補が4件以下になったことから、結論提示を行うことを決定する。なお、結論提示のテンプレートは特に示していなかったが、図19の文生成データに格納されているとしてもよい。
情報処理装置100は、図19を参照し、番組情報の候補の件数を取り込んで、例えば「4つの番組件が見つかりました」というシステム発話表示を生成する。
結果として、表示画面D44において、第12ターンは、領域D441に結論提示「4つの番組が見つかりました」と、領域D441の外部かつ下部の領域に絞り込んだ4つの番組情報の候補すなわち見つかった映像コンテンツのリストとが表示される。
次に、情報処理装置100は、ステップS2において対話状態の更新を行う。具体的には、情報処理装置100は、図5を参照し、状態3で結論提示を出力し、ユーザから何らかの入力を取得した場合、対話状態は状態3から状態5に遷移していると判定し、対話状態の更新を行う。
以上、実施の形態に係る情報処理方法および情報処理装置等について説明したが、本開示は、この実施の形態に限定されるものではない。
また、上記実施の形態に係る情報処理装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されてもよい。
また、集積回路化はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、またはLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
また、本開示は、情報処理装置により実行される情報処理方法として実現されてもよい。
また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェアまたはソフトウェアが並列または時分割に処理してもよい。
また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
以上、一つまたは複数の態様に係る情報処理装置等について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。