(57)【要約】【課題】ユーザが探索を要望する情報に関する条件を漏れなく取得できる情報処理方法等を提供する。【解決手段】ユーザとの対話によりユーザが探索を要望する情報についての絞り込みを進行させる、コンピュータによる情報処理方法であって、探索の対象に関するオープン型の質問である第１質問を出力し（Ｓ２１）、ユーザによって入力された第１質問に対する第１回答を取得し、第１回答が第１条件を満たしておらず（Ｓ２２でｎｏ）、かつ、第１回答に含まれる語句に対応する語句がデータベースに含まれていないと判断する場合（Ｓ２２１でｙｅｓ）、データベースに含まれていない第１回答に含まれる語句についての説明内容を回答するようにリクエストするオープン型の質問である第２質問を出力させ（Ｓ２２２）、第１回答が第１条件を満たすと判断する場合、探索の対象に関するクローズ型の質問を出力させる。【選択図】図１７Ｂ
2018092586.tif 000002
【特許請求の範囲】
【請求項１】
ユーザとの対話により前記ユーザが探索を要望する情報についての絞り込みを進行させる、コンピュータによる情報処理方法であって、
出力処理部に、前記探索の対象に関する第１タイプの質問である第１質問を出力させ、前記第１タイプの質問はオープン型の質問を示し、
入力処理部に、前記ユーザによって入力された前記第１質問に対する第１回答を取得させ、
前記第１回答が第１条件を満たしておらず、かつ、前記探索の対象に関する情報が格納されたデータベースに基づいて、前記第１回答に含まれる語句に対応する語句が前記データベースに含まれていないと判断する場合、前記出力処理部に、前記データベースに含まれていない前記第１回答に含まれる語句についての説明内容を回答するようにリクエストする前記第１タイプの質問である第２質問を出力させ、
前記第１回答が前記第１条件を満たしておらず、かつ、前記データベースに基づいて、前記第１回答に含まれる語句に対応する語句が前記データベースに含まれていると判断する場合、前記出力処理部に、前記探索の対象に関する前記第１タイプの質問である第３質問を出力させ、
前記第１回答が前記第１条件を満たすと判断する場合、前記出力処理部に、前記探索の対象に関する第２タイプの質問である第４質問を出力させ、前記第２タイプの質問はクローズ型の質問である、
情報処理方法。
【請求項２】
前記第１回答が前記第１質問に対するネガティブな表現を表す語句を含む場合に、前記第１条件を満たすと判断する、
請求項１に記載の情報処理方法。
【請求項３】
前記出力処理部に、前記第１タイプの質問を、音声またはテキストで出力させる、
請求項１または２に記載の情報処理方法。
【請求項４】
前記データベースに含まれていない前記第１回答に含まれる語句についての説明内容は、前記探索の対象の具体例の一つである、
請求項１〜３のいずれか１項に記載の情報処理方法。
【請求項５】
前記情報処理方法は、
前記入力処理部により取得された、前記ユーザによって入力された前記第２質問に対する第２回答に基づく情報を前記データベースに登録する、
請求項１〜４のいずれか１項に記載の情報処理方法。
【請求項６】
前記情報処理方法は、さらに、
前記入力処理部に、前記ユーザによって入力された前記第４質問に対する第３回答を取得させ、
前記第３回答が前記第４質問の応答ではなく、前記第４質問に含まれる第１語句についての内容説明をリクエストする内容である場合、前記出力処理部に、前記第４質問に含まれる第１語句に関する別の語句を含めた説明文を出力させ、その後に、前記第４質問を再度出力させる、
請求項１〜５のいずれか１項に記載の情報処理方法。
【請求項７】
前記入力処理部により取得された、前記ユーザによって入力された前記第４質問に対する第３回答による前記絞り込みの進行状況が第２条件を満たすと判断する場合、前記絞り込みの進行により絞り込まれた前記探索の対象の候補を示す情報を、前記出力処理部に出力させる、
請求項１〜６のいずれか１項に記載の情報処理方法。
【請求項８】
前記第２条件は、前記探索の対象の候補の数が、予め定められた値以下であることである、
請求項７に記載の情報処理方法。
【請求項９】
前記探索の対象は、患者の病状であり、
前記第１タイプの質問は、前記ユーザが自覚する症状を尋ねる内容を示し、
前記第２タイプの質問は、前記病状を特定するための複数の症状の一があるか否かを尋ねる内容を示す、
請求項１〜８のいずれか１項に記載の情報処理方法。
【請求項１０】
前記探索の対象は、複数の料理のレシピまたはメニューであり、
前記第１タイプの質問は、前記複数の料理のレシピまたはメニューを絞り込む条件を尋ねる内容を示し、
前記第２タイプの質問は、前記複数の料理のレシピまたはメニューを絞り込む条件の一をリクエストするか否かを尋ねる内容を示す、
請求項１〜８のいずれか１項に記載の情報処理方法。
【請求項１１】
前記データベースには、複数の料理のレシピと、前記複数の料理のレシピ毎の分類を示す分類情報と、前記複数の料理のレシピ毎に用いられる食材を示す食材情報とが対応付けられている、
請求項１０に記載の情報処理方法。
【請求項１２】
前記探索の対象は、複数の旅行プランであり、
前記第１タイプの質問は、前記複数の旅行プランに対する条件を尋ねる内容を示し、
前記第２タイプの質問は、前記複数の旅行プランを絞り込む条件の一をリクエストするか否かを尋ねる内容を示す、
請求項１〜８のいずれか１項に記載の情報処理方法。
【請求項１３】
前記探索の対象は、複数の不動産の物件であり、
前記第１タイプの質問は、前記複数の不動産の物件に対する条件を尋ねる内容を示し、
前記第２タイプの質問は、前記複数の不動産の物件を絞り込む条件の一をリクエストするか否かを尋ねる内容を示す、
請求項１〜８のいずれか１項に記載の情報処理方法。
【請求項１４】
前記探索の対象は、複数の映像コンテンツであり、
前記第１タイプの質問は、前記複数の映像コンテンツに対する条件を尋ねる内容を示し、
前記第２タイプの質問は、前記複数の映像コンテンツを絞り込む条件の一をリクエストするか否かを尋ねる内容を示す、
請求項１〜８のいずれか１項に記載の情報処理方法。
【請求項１５】
ユーザとの対話により前記ユーザが探索を要望する情報についての絞り込みを進行させる情報処理装置であって、
出力処理部と、入力処理部と、前記出力処理部および前記入力処理部を制御する対話制御部と、を備え、
前記対話制御部は、
前記出力処理部に、前記探索の対象に関する第１タイプの質問である第１質問を出力させ、
前記入力処理部に、前記ユーザによって入力された前記第１質問に対する第１回答を取得し、
前記第１回答が第１条件を満たしておらず、かつ、前記探索の対象に関する情報が格納されたデータベースに基づいて、前記第１回答に含まれる語句に対応する語句が前記データベースに含まれていないと判断する場合、前記出力処理部に、前記データベースに含まれていない前記第１回答に含まれる語句についての説明内容を回答するようにリクエストする前記第１タイプの質問である第２質問を出力させ、
前記第１回答が前記第１条件を満たしておらず、かつ、前記データベースに基づいて、前記第１回答に含まれる語句に対応する語句が前記データベースに含まれていると判断する場合、前記出力処理部に、前記探索の対象に関する前記第１タイプの質問である第３質問を出力させ、
前記第１回答が前記第１条件を満たすと判断する場合、前記出力処理部に、前記探索の対象に関する第２タイプの質問である第４質問を出力させ、
前記第１タイプの質問はオープン型の質問を示し、
前記第２タイプの質問はクローズ型の質問を示す、
情報処理装置。
【請求項１６】
ユーザとの対話により前記ユーザが探索を要望する情報についての絞り込みを進行させる情報処理方法をコンピュータに実行させるプログラムであって、
出力処理部に、前記探索の対象に関する第１タイプの質問である第１質問を出力させ、
入力処理部に、前記ユーザによって入力された前記第１質問に対する第１回答を取得させ、
前記第１回答が第１条件を満たしておらず、かつ、前記探索の対象に関する情報が格納されたデータベースに基づいて、前記第１回答に含まれる語句に対応する語句が前記データベースに含まれていないと判断する場合、前記出力処理部に、前記データベースに含まれていない前記第１回答に含まれる語句についての説明内容を回答するようにリクエストする前記第１タイプの質問である第２質問を出力させ、
前記第１回答が前記第１条件を満たしておらず、かつ、前記データベースに基づいて、前記第１回答に含まれる語句に対応する語句が前記データベースに含まれていると判断する場合、前記出力処理部に、前記探索の対象に関する前記第１タイプの質問である第３質問を出力させ、
前記第１回答が前記第１条件を満たすと判断する場合、前記出力処理部に、前記探索の対象に関する第２タイプの質問である第４質問を出力させ、
前記第１タイプの質問はオープン型の質問を示し、
前記第２タイプの質問はクローズ型の質問を示す、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理方法、情報処理装置およびプログラムに関し、特にユーザと対話して情報処理を行うための情報処理方法、情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
従来、コンピュータ等の装置によりユーザと対話することで必要な情報を特定するシステムが知られている。このようなシステムでは、対話の主導権という概念が導入されており、システム主導またはユーザ主導により対話が制御される。例えばシステム主導の対話制御が採用されたシステムでは、システムが対話の流れと内容とを主導する。一方、ユーザ主導の対話制御が採用されたシステムでは、ユーザが対話の流れと内容とを主導する。
【０００３】
システム主導のみの対話制御では、ユーザの自由な発話が制限されるため、ユーザ満足度が低くなる。一方、ユーザ主導のみの対話制御では、ユーザが自由に発話することから、システムが想定していない対話の流れに対応できず対話が破綻してしまう場合もある。そのため、システムが必要な情報を特定できずタスクを達成できず、ユーザ満足度が低くなる。
【０００４】
そこで、例えば特許文献１には、ユーザ主導の対話制御とシステム主導の対話制御とを切り替えて利用する技術が開示されている。特許文献１の技術によれば、先ずユーザ主導の対話制御を行い、ユーザの応答までの時間が長い場合にシステム主導の管理に切り替えることで、円滑な対話制御を行うことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１０８５８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示される技術では、ユーザ主導の対話制御においてシステムが想定しない対話の流れに対応できず対話が破綻してしまう場合がある。このような場合、ユーザが探索を要望する情報に関する条件をすべて取得できない。
【０００７】
本開示は、上述の事情を鑑みてなされたもので、ユーザが探索を要望する情報に関する条件を漏れなく取得できる情報処理方法、情報処理装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本開示の一形態に係る情報処理方法等は、ユーザとの対話により前記ユーザが探索を要望する情報についての絞り込みを進行させる、コンピュータによる情報処理方法であって、出力処理部に、前記探索の対象に関する第１タイプの質問である第１質問を出力させ、前記第１タイプの質問はオープン型の質問を示し、入力処理部に、前記ユーザによって入力された前記第１質問に対する第１回答を取得させ、前記第１回答が第１条件を満たしておらず、かつ、前記探索の対象に関する情報が格納されたデータベースに基づいて、前記第１回答に含まれる語句に対応する語句が前記データベースに含まれていないと判断する場合、前記出力処理部に、前記データベースに含まれていない前記第１回答に含まれる語句についての説明内容を回答するようにリクエストする前記第１タイプの質問である第２質問を出力させ、前記第１回答が前記第１条件を満たしておらず、かつ、前記データベースに基づいて、前記第１回答に含まれる語句に対応する語句が前記データベースに含まれていると判断する場合、前記出力処理部に、前記探索の対象に関する前記第１タイプの質問である第３質問を出力させ、前記第１回答が前記第１条件を満たすと判断する場合、前記出力処理部に、前記探索の対象に関する第２タイプの質問である第４質問を出力させ、前記第２タイプの質問はクローズ型の質問である。
【０００９】
なお、これらの全般的または具体的な態様は、装置、システム、方法、集積回路、コンピュータプログラムまたは記録媒体で実現されてもよく、装置、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１０】
本開示の情報処理方法等によれば、ユーザの発話による対話の破綻をより抑制できる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係る情報処理システムの概略構成図である。
【図２】実施の形態１に係る情報処理装置の一例を示すブロック図である。
【図３】実施の形態１に係る情報処理装置の処理の概要を示すフローチャートである。
【図４】図３に示すオープン質問ループの詳細の一例を示すフローチャートである。
【図５】図３に示すクローズド質問ループの詳細の一例を示すフローチャートである。
【図６Ａ】実施の形態１の実施例１に係るタスクデータの一例を示す図である。
【図６Ｂ】実施の形態１の実施例１に係る文生成データの一例を示す図である。
【図７】実施の形態１の実施例１に係る表示画面の一例を示す図である。
【図８Ａ】実施の形態１の実施例２に係るタスクデータの一例を示す図である。
【図８Ｂ】実施の形態１の実施例２に係る文生成データの一例を示す図である。
【図９】実施の形態１の実施例２に係る表示画面の一例を示す図である。
【図１０Ａ】実施の形態１の実施例３に係るタスクデータの一例を示す図である。
【図１０Ｂ】実施の形態１の実施例３に係る文生成データの一例を示す図である。
【図１１】実施の形態１の実施例３に係る表示画面の一例を示す図である。
【図１２Ａ】実施の形態１の実施例４に係るタスクデータの一例を示す図である。
【図１２Ｂ】実施の形態１の実施例４に係る文生成データの一例を示す図である。
【図１３】実施の形態１の実施例４に係る表示画面の一例を示す図である。
【図１４Ａ】実施の形態１の実施例５に係るタスクデータの一例を示す図である。
【図１４Ｂ】実施の形態１の実施例５に係る文生成データの一例を示す図である。
【図１５】実施の形態１の実施例５に係る表示画面の一例を示す図である。
【図１６】実施の形態２に係る情報処理装置の構成の一例を示すブロック図である。
【図１７Ａ】実施の形態２に係るオープン質問ループの詳細の一例を示すフローチャートである。
【図１７Ｂ】実施の形態２に係るオープン質問ループの詳細の別の一例を示すフローチャートである。
【図１８Ａ】実施の形態２の実施例に係るタスクデータの一例を示す図である。
【図１８Ｂ】実施の形態２の実施例に係る文生成データの一例を示す図である。
【図１９】実施の形態２の実施例に係る表示画面の一例を示す図である。
【図２０】実施の形態３に係る情報処理装置の構成の一例を示すブロック図である。
【図２１】実施の形態３に係るクローズド質問ループの詳細の一例を示すフローチャートである。
【図２２Ａ】実施の形態３の実施例に係るタスクデータの一例を示す図である。
【図２２Ｂ】実施の形態３の実施例に係る文生成データの一例を示す図である。
【図２３】実施の形態３の実施例に係る表示画面の一例を示す図である。
【発明を実施するための形態】
【００１２】
本開示の一態様に係る情報処理方法は、ユーザとの対話により前記ユーザが探索を要望する情報についての絞り込みを進行させる、コンピュータによる情報処理方法であって、出力処理部に、前記探索の対象に関する第１タイプの質問である第１質問を出力させ、前記第１タイプの質問はオープン型の質問を示し、入力処理部に、前記ユーザによって入力された前記第１質問に対する第１回答を取得させ、前記第１回答が第１条件を満たしておらず、かつ、前記探索の対象に関する情報が格納されたデータベースに基づいて、前記第１回答に含まれる語句に対応する語句が前記データベースに含まれていないと判断する場合、前記出力処理部に、前記データベースに含まれていない前記第１回答に含まれる語句についての説明内容を回答するようにリクエストする前記第１タイプの質問である第２質問を出力させ、前記第１回答が前記第１条件を満たしておらず、かつ、前記データベースに基づいて、前記第１回答に含まれる語句に対応する語句が前記データベースに含まれていると判断する場合、前記出力処理部に、前記探索の対象に関する前記第１タイプの質問である第３質問を出力させ、前記第１回答が前記第１条件を満たすと判断する場合、前記出力処理部に、前記探索の対象に関する第２タイプの質問である第４質問を出力させ、前記第２タイプの質問はクローズ型の質問である。
【００１３】
本態様によれば、ユーザが探索を要望する情報に関する条件を漏れなく取得できる。これにより、ユーザの所望の探索対象の候補を確実に絞り込んで提示することができる。
【００１４】
ここで、例えば、前記第１回答が前記第１質問に対するネガティブな表現を表す語句を含む場合に、前記第１条件を満たすと判断してもよい。
【００１５】
また、例えば、前記出力処理部に、前記第１タイプの質問を、音声またはテキストで出力させるとしてもよい。
【００１６】
また、例えば、前記データベースに含まれていない前記第１回答に含まれる語句についての説明内容は、前記探索の対象の具体例の一つであるとしてもよい。
【００１７】
また、例えば、前記情報処理方法は、前記入力処理部により取得された、前記ユーザによって入力された前記第２質問に対する第２回答に基づく情報を前記データベースに登録するとしてもよい。
【００１８】
また、例えば、前記情報処理方法は、さらに、前記入力処理部に、前記ユーザによって入力された前記第４質問に対する第３回答を取得させ、前記第３回答が前記第４質問の応答ではなく、前記第４質問に含まれる第１語句についての内容説明をリクエストする内容である場合、前記出力処理部に、前記第４質問に含まれる第１語句に関する別の語句を含めた説明文を出力させ、その後に、前記第４質問を再度出力させてもよい。
【００１９】
また、例えば、前記入力処理部により取得された、前記ユーザによって入力された前記第４質問に対する第３回答による前記絞り込みの進行状況が第２条件を満たすと判断する場合、前記絞り込みの進行により絞り込まれた前記探索の対象の候補を示す情報を、前記出力処理部に出力させてもよい。
【００２０】
また、例えば、前記第２条件は、前記探索の対象の候補の数が、予め定められた値以下であることであるとしてもよい。
【００２１】
また、例えば、前記探索の対象は、患者の病状であり、前記第１タイプの質問は、前記ユーザが自覚する症状を尋ねる内容を示し、前記第２タイプの質問は、前記病状を特定するための複数の症状の一があるか否かを尋ねる内容を示してもよい。
【００２２】
また、例えば、前記探索の対象は、複数の料理のレシピまたはメニューであり、前記第１タイプの質問は、前記複数の料理のレシピまたはメニューを絞り込む条件を尋ねる内容を示し、前記第２タイプの質問は、前記複数の料理のレシピまたはメニューを絞り込む条件の一をリクエストするか否かを尋ねる内容を示してもよい。
【００２３】
ここで、例えば、前記データベースには、複数の料理のレシピと、前記複数の料理のレシピ毎の分類を示す分類情報と、前記複数の料理のレシピ毎に用いられる食材を示す食材情報とが対応付けられているとしてもよい。
【００２４】
また、例えば、前記探索の対象は、複数の旅行プランであり、前記第１タイプの質問は、前記複数の旅行プランに対する条件を尋ねる内容を示し、前記第２タイプの質問は、前記複数の旅行プランを絞り込む条件の一をリクエストするか否かを尋ねる内容を示してもよい。
【００２５】
また、例えば、前記探索の対象は、複数の不動産の物件であり、前記第１タイプの質問は、前記複数の不動産の物件に対する条件を尋ねる内容を示し、前記第２タイプの質問は、前記複数の不動産の物件を絞り込む条件の一をリクエストするか否かを尋ねる内容を示としてもよい。
【００２６】
また、例えば、前記探索の対象は、複数の映像コンテンツであり、前記第１タイプの質問は、前記複数の映像コンテンツに対する条件を尋ねる内容を示し、前記第２タイプの質問は、前記複数の映像コンテンツを絞り込む条件の一をリクエストするか否かを尋ねる内容を示してもよい。
【００２７】
また、本開示の一態様に係る情報処理装置は、ユーザとの対話により前記ユーザが探索を要望する情報についての絞り込みを進行させる情報処理装置であって、出力処理部と、入力処理部と、前記出力処理部および前記入力処理部を制御する対話制御部と、を備え、前記対話制御部は、前記出力処理部に、前記探索の対象に関する第１タイプの質問である第１質問を出力させ、前記入力処理部に、前記ユーザによって入力された前記第１質問に対する第１回答を取得し、前記第１回答が第１条件を満たしておらず、かつ、前記探索の対象に関する情報が格納されたデータベースに基づいて、前記第１回答に含まれる語句に対応する語句が前記データベースに含まれていないと判断する場合、前記出力処理部に、前記データベースに含まれていない前記第１回答に含まれる語句についての説明内容を回答するようにリクエストする前記第１タイプの質問である第２質問を出力させ、前記第１回答が前記第１条件を満たしておらず、かつ、前記データベースに基づいて、前記第１回答に含まれる語句に対応する語句が前記データベースに含まれていると判断する場合、前記出力処理部に、前記探索の対象に関する前記第１タイプの質問である第３質問を出力させ、前記第１回答が前記第１条件を満たすと判断する場合、前記出力処理部に、前記探索の対象に関する第２タイプの質問である第４質問を出力させ、前記第１タイプの質問はオープン型の質問を示し、前記第２タイプの質問はクローズ型の質問を示す。
【００２８】
また、本開示の一態様に係るプログラムは、ユーザとの対話により前記ユーザが探索を要望する情報についての絞り込みを進行させる情報処理方法をコンピュータに実行させるプログラムであって、出力処理部に、前記探索の対象に関する第１タイプの質問である第１質問を出力させ、入力処理部に、前記ユーザによって入力された前記第１質問に対する第１回答を取得させ、前記第１回答が第１条件を満たしておらず、かつ、前記探索の対象に関する情報が格納されたデータベースに基づいて、前記第１回答に含まれる語句に対応する語句が前記データベースに含まれていないと判断する場合、前記出力処理部に、前記データベースに含まれていない前記第１回答に含まれる語句についての説明内容を回答するようにリクエストする前記第１タイプの質問である第２質問を出力させ、前記第１回答が前記第１条件を満たしておらず、かつ、前記データベースに基づいて、前記第１回答に含まれる語句に対応する語句が前記データベースに含まれていると判断する場合、前記出力処理部に、前記探索の対象に関する前記第１タイプの質問である第３質問を出力させ、前記第１回答が前記第１条件を満たすと判断する場合、前記出力処理部に、前記探索の対象に関する第２タイプの質問である第４質問を出力させ、前記第１タイプの質問はオープン型の質問を示し、前記第２タイプの質問はクローズ型の質問を示す。
【００２９】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【００３０】
以下、本開示の実施の形態について、図面を参照しながら説明する。以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、全ての実施の形態において、各々の内容を組み合わせることもできる。
【００３１】
（実施の形態１）
以下では、図面を参照しながら、実施の形態１における情報処理方法等の説明を行う。
【００３２】
［情報処理システム］
図１は、本開示の実施の形態１に係る情報処理システムの概略構成図である。
【００３３】
図１に示す情報処理システムは、情報処理装置１００と、端末２００および端末３００の少なくとも一方を含む複数の端末とを備える。情報処理装置１００と複数の端末とはネットワーク４００を介して接続されている。
【００３４】
端末２００および端末３００は、複数の端末の一例であり、スマートフォン、タブレット、携帯電話等の携帯端末であってもよいし、パソコン等の端末であってもよい。端末２００または端末３００は、ユーザにより用いられ、情報処理装置１００と対話する際の入出力を担う。図１に示す例では、２つの端末が示されているが、２つに限定されず３つ以上でもよい。
【００３５】
ネットワーク４００は、インターネット、無線ＬＡＮ等を含む汎用ネットワークであり、情報処理装置１００と端末２００等との間の通信を中継することでこれらを接続する。
【００３６】
情報処理装置１００は、ＣＰＵ、入出力装置、通信装置等を備えたコンピュータにより実現され、例えばサーバである。情報処理装置１００は、ユーザから入力に対して、対話的な応答を出力することで、ユーザとの対話によりユーザが探索を要望する情報についての絞り込みを進行させる。
【００３７】
以下、情報処理装置１００の構成について図を用いて説明する。
【００３８】
［情報処理装置１００の構成］
図２は、実施の形態１に係る情報処理装置１００の構成の一例を示すブロック図である。図２に示す情報処理装置１００は、入力処理部１１と、対話制御部１２と、データベース１３と、出力処理部１４とを備える。
【００３９】
＜入力処理部１１＞
入力処理部１１は、対話制御部１２に制御され、ユーザによる対話の入力を処理して理解結果を対話制御部１２に出力する。本実施の形態では、入力処理部１１は、出力処理部１４により、ユーザが用いる例えば端末２００に出力された質問に対する回答を取得する。そして、入力処理部１１は、取得した回答を処理して理解結果を対話制御部１２に出力する。ここで、回答に含まれる表現は、ユーザにより異なるが、一般に知られた言語理解技術により類似の入力に対して共通のキーワードを出力する。そして、入力処理部１１は、取得した回答を処理して、後述するタスクデータ１３１内のキーワードとの整合を考慮した理解結果を出力する。例えば、「熱があります」、「熱もあります」「発熱しました」「発熱です」など回答に含まれる表現は異なるが類似の意味を示す場合には、タスクデータ１３１内に含まれるキーワードでもある共通のキーワード「発熱」を出力すればよい。
【００４０】
なお、ユーザによる対話の表示形式には、例えばテキストでなくてもよく、音声であってもよい。また、後述するクローズド質問に対する回答をユーザが行う場合には、上記に加えて、視線による回答またはジェスチャによる回答であってもよい。
【００４１】
＜出力処理部１４＞
出力処理部１４は、対話制御部１２に制御され、出力文をユーザに提示する表示形式に変換して出力する。この表示形式には、例えば音声またはテキストによる表示形式がある。
【００４２】
本実施の形態では、出力処理部１４は、ユーザが用いる例えば端末２００に対して、探索の対象に関する第１タイプの質問または第２タイプの質問を出力する。ここで、第１タイプの質問はオープン型の質問を意味し、第２タイプの質問はクローズ型の質問を意味する。
【００４３】
また、出力処理部１４は、絞り込みの進行により絞り込まれた探索の対象の候補を示す情報を出力する。
【００４４】
なお、探索の対象が例えば患者の病状の場合、第１タイプの質問は、ユーザが自覚する症状を尋ねる内容を示し、第２タイプの質問は、病状を特定するための複数の症状の一があるか否かを尋ねる内容を示す。絞り込まれた探索の対象の候補は、特定された一または複数の患者の病状などを示す。詳細例は後述する。
【００４５】
＜対話制御部１２＞
対話制御部１２は、入力処理部１１が出力する理解結果とデータベース１３とを用いてユーザに対する対話である出力文を決定する機能を有する。また、対話制御部１２は、出力文を決定する機能のみならず、ユーザの欲する情報すなわちユーザが探索を要望する情報の候補の数を管理したり、決定した出力文に対するユーザの応答の例として提示すべき情報を管理情報として管理する機能も有する。
【００４６】
本実施の形態では、対話制御部１２は、データベース１３に含まれるタスクデータ１３１および文生成データ１３２を参照し、入力処理部１１および出力処理部１４と協調して、ユーザとの対話によりユーザが探索を要望する情報についての絞り込みを進行させる。
【００４７】
例えば、対話制御部１２は、出力処理部１４を制御して、探索の対象に関する第１タイプの質問または第２タイプの質問を出力させ、入力処理部１１を制御して、出力処理部１４に出力させた質問に対する回答を取得させる。
【００４８】
対話制御部１２は、出力処理部１４に、まず、第２タイプではなく第１タイプの質問を出力させる。対話制御部１２は、入力処理部１１により取得させた回答が第１条件を満たすと判断する場合、出力処理部１４に第２タイプの質問を出力させる。一方、対話制御部１２は、入力処理部１１により取得させた回答が第１条件を満たしていないと判断する場合、出力処理部１４に、さらに第１タイプの質問を出力させる。そして、対話制御部１２は、入力処理部１１により取得させた回答に、オープン質問を終了させるトリガがあるか否かを判断している。例えば、対話制御部１２は、出力処理部１４に出力させた質問に対するネガティブな表現を表す語句を含む場合に、オープン質問を終了させるトリガがあり、第１条件を満たすと判断すればよい。なお、第１条件は、ユーザの回答にネガティブな表現を表す語句が含まれる場合に限らない。予め定めた質問回数であってもよいし、絞り込みの進行により絞り込まれた探索の対象の候補の数であってもよい。
【００４９】
また、対話制御部１２は、入力処理部１１により取得させた第２タイプの質問に対する回答による当該絞り込みの進行状況が第２条件を満たすと判断する場合、出力処理部１４に絞り込みの進行により絞り込まれた探索の対象の候補を示す情報を出力させる。ここで、第２条件は、探索の対象の候補の数が、例えば４つなど、予め定められた値以下であることである。
【００５０】
＜データベース１３＞
データベース１３は、例えば、ハードディスクドライブまたはソリッドステートドライブ等の書き換え可能な不揮発性のメモリーで構成され、探索の対象に関する情報を格納している。より具体的には、データベース１３には、探索の対象となる複数の候補と、複数の候補の分類を示す分類情報と、複数の候補を構成する要素情報とが対応付けられて格納されている。
【００５１】
本実施の形態では、データベース１３は、図２に示すように、タスクの達成のために参照されるタスクデータ１３１と、文を生成するために参照される文生成データ１３２とで構成されている。タスクデータ１３１は、例えば知識ベースの一例であり、例えば病気と自覚症状との関係など探索の対象となる複数の候補と、特徴、属性、条件等を示す要素情報（キーワード）との関係などの知識を特定の表現形式に基づいて記述したデータベースとなっている。タスクデータ１３１は、対話制御部１２が出力文に含むキーワードまたは探索の対象の候補を示す情報を決定するために用いられる。文生成データ１３２は、対話制御部１２が参照するオープン質問のテンプレートおよびクローズド質問のテンプレートを格納している。
【００５２】
［情報処理装置１００の処理］
次に、以上のように構成された情報処理装置１００の処理について説明する。
【００５３】
図３は、実施の形態１に係る情報処理装置１００の処理の概要を示すフローチャートである。図４は、図３に示すオープン質問ループの詳細の一例を示すフローチャートである。図５は、図３に示すクローズド質問ループの詳細の一例を示すフローチャートである。
【００５４】
まず、情報処理装置１００は、ステップＳ２０において、オープン質問ループの処理を行う。より具体的には、図４に示すように、まず、情報処理装置１００は、探索の対象に関するオープンタイプの質問を出力し、その質問に対するユーザの回答を取得して理解するオープン質問応答の処理を行う（Ｓ２１）。例えば、「他に何か気になる症状はありますか？」というオープンタイプの質問を情報処理装置１００が出力した場合、自覚症状などユーザが気になる症状についての追加情報を含む回答、または、ネガティブな表現を表す語句を含む否定的な回答がユーザから得られる。次いで、情報処理装置１００は、理解したユーザの回答に、オープン質問終了トリガーがあるか否かを判定する（Ｓ２２）。なお、オープン質問終了トリガーは、上述した第１条件に該当する。ステップＳ２２において、情報処理装置１００は、ユーザの回答にネガティブな表現を表す語句を含む場合に（Ｓ２２でｙｅｓ）、第１条件を満たす、すなわちオープン質問終了トリガーがあると判定し、本ループから抜ける。一方、ステップＳ２２において、情報処理装置１００は、追加情報を含むユーザの回答を取得するなどユーザの回答にネガティブな表現を表す語句を含まない場合に（Ｓ２２でｎｏ）、第１条件を満たさない、すなわちオープン質問終了トリガーがないと判定し、ステップＳ２１に戻る。
【００５５】
このように、情報処理装置１００は、オープン質問応答の処理を、第１条件を満たすまで繰り返す。
【００５６】
次に、情報処理装置１００は、ステップＳ３０において、クローズド質問ループの処理を行う。より具体的には、図５に示すように、まず、情報処理装置１００は、探索の対象に関するクローズドタイプの質問を出力し、その質問に対するユーザの回答を取得して理解するクローズド質問応答の処理を行う（Ｓ３１）。例えば、「鼻水は出ますか？」というクローズドタイプの質問を情報処理装置１００が出力した場合、「はい」など肯定的な回答または「いいえ」など否定的な回答のどちらかが得られる。次いで、情報処理装置１００は、理解したユーザの回答による絞り込みの進行状況に、クローズド質問終了トリガーがあるか否かを判定する（Ｓ３２）。なお、クローズド質問終了トリガーは、上述した第２条件に該当し、あらかじめ定められた値以下（閾値以下）であることである。ステップＳ３２において、情報処理装置１００は、肯定的な回答または否定的な回答により得た症状の一である「鼻水」があるか否かに応じてユーザが探索を要望する情報である「病状」の候補を絞り込む。そして、絞り込まれた情報の候補の数があらかじめ定められた値以下である場合（Ｓ３２でｙｅｓ）、クローズド質問終了トリガーがあると判定し、本ループから抜ける。一方、ステップＳ３２において、情報処理装置１００は、絞り込まれた情報の候補の数が、あらかじめ定められた値以下でない場合（つまり、あらかじめ定められた値より大きい場合）（Ｓ３２でｎｏ）第２条件を満たさない、すなわちクローズド質問終了トリガーがないと判定し、ステップＳ３１に戻る。
【００５７】
このように、情報処理装置１００は、クローズド質問応答の処理を、第２条件を満たすまで繰り返す。
【００５８】
次に、情報処理装置１００は、ステップＳ４０において、結論を含む出力文をユーザに提示する。具体的には、情報処理装置１００は、ステップＳ３２において絞り込まれた探索の対象の候補を示す情報を、結論を含む出力文として出力する。
【００５９】
以下、ユーザとの対話によりユーザが探索を要望する情報についての絞り込みを進行させる具体的な態様について実施例として説明する。
【００６０】
（実施例１）
実施例１では、ユーザが探索を要望する情報についての絞り込みを進行させるタスクとして複数の自覚症状から病気を絞り込むタスク（問診）を行う場合の例について説明する。すなわち、探索の対象が患者の病状であり、第１タイプの質問であるオープン質問がユーザが自覚する症状を尋ねる内容を示し、第２タイプの質問であるクローズド質問が病状を特定するための複数の症状の一があるか否かを尋ねる内容を示す場合について説明する。
【００６１】
図６Ａは、実施の形態１の実施例１に係るタスクデータ１３１の一例を示す図である。
【００６２】
図６Ａには、タスクデータ１３１の一例として、病気と自覚症状（以下、単に症状とする）との関係を有向グラフの形式で表現した知識ベースが示されている。なお、図６Ａは、巨大な知識ベースの一部を例示したものに該当する。
【００６３】
一般に、知識を表現した有向グラフにおいて、丸をノードと呼び、矢印をエッジと呼ぶ。１つのノードと別のノードとをエッジで結んだ３つ組をトリプルと呼ぶ。ノードには概念が結び付けられ、エッジ（線分）により２つの概念間の関係が結び付けられ、トリプルで表される概念と概念の関係が、知識の構成単位となっている。
【００６４】
図６Ａに示す例では、病気（病名）が探索の対象となる複数の候補に該当し、症状が特徴、属性または条件等を示す要素情報（キーワード）に該当する。また、図６Ａでは、例えばｎｏｄｅ１の「風邪」が頭痛、発熱、咳、鼻水または下痢などのｎｏｄｅ２の症状を引き起こすという関係が示されており、ｎｏｄｅ２の「頭痛」には、急性鼻炎など発熱を伴うｎｏｄｅ１の病気が他にもあるという関係などが示されている。
【００６５】
したがって、［ｎｏｄｅ１  Ｃａｕｓｅｓ  ｎｏｄｅ２］のｎｏｄｅ２を検索キーワードとして、それと結び付けられているｎｏｄｅ１を検索対象とし、複数のキーワードのＡＮＤ検索のキーワードを増やしていくことで、複数条件を満たす情報を絞り込める。このようにして、複数の症状から病気を絞り込むことができる。
【００６６】
ここで、キーワードには、正のキーワードと負のキーワードとがあり、正のキーワードはそのキーワードを含むという条件で検索を行うことを意味し、負のキーワードは、そのキーワードを含まないという条件で検索を行うことを意味する。
【００６７】
また、例えば決定木のアルゴリズムなど、複数のキーワードに、どのキーワードを足したら情報を絞り込むのに有効かを調べるアルゴリズムがある。このようなアルゴリズムを用いると、例えば、現在までに絞り込まれた情報を、あるキーワードにリンクしているグループと、そのキーワードにリンクしていないグループとの２つのグループに分けたときに、２つのグループのサイズ（病気の数）が、なるべく等しくなるようなキーワードを絞込みに有効なキーワードとして選ぶことができる。本実施例では、絞り込みに有効なキーワードは、ユーザの回答を取得した都度、所定のアルゴリズムに従って算出される。
【００６８】
図６Ｂは、実施の形態１の実施例１に係る文生成データ１３２の一例を示す図である。図６Ｂには、情報処理装置１００が参照するオープン質問のテンプレート、および、クローズド質問のテンプレートの一例が示されている。
【００６９】
すなわち、情報処理装置１００が探索の対象に関するオープンタイプの質問を出力する場合、ユーザとの対話の開始時には、図６Ｂに示すオープン質問の１番目「今日はどうされましたか？」という質問文を生成し、その後には、図６Ｂに示すオープン質問の２番目以降「他に何か気になる症状はありますか？」という質問文を（繰り返し）生成する。
【００７０】
また、情報処理装置１００が探索の対象に関するクローズドタイプの質問を出力する場合、条件による場合分けのない１つのテンプレートを用いて図６Ｂに示すクローズド質問「（症状Ｘ）はありますか？」を出力する。そして、（症状Ｘ）の部分は、図６Ａに示すタスクデータ１３１のｎｏｄｅ２に示されるキーワードの一が当てはめられる。なお、（症状Ｘ）には、情報処理装置１００がタスクデータ１３１を参照することで得られる、ｎｏｄｅ２に示されるキーワードのうち、絞込みに有効なキーワードとして都度選択した一のキーワードを当てはめるとよい。
【００７１】
なお、図６Ｂに示す例では、同じ内容の質問文にはバリエーションを持たせていないが、同じ内容の質問文にバリエーションを持たせた複数のテンプレートからランダムに選んで質問文を生成するとしてもよい。
【００７２】
図７は、実施の形態１の実施例１に係る表示画面の一例を示す図である。表示画面Ｄ２１は、ステップＳ２０のオープン質問ループの処理における対話の一例を示しており、表示画面Ｄ３１は、ステップＳ３０のクローズド質問ループの処理における対話の一例を示している。表示画面Ｄ４１は、ステップＳ４０により提示された結論の一例を示している。
【００７３】
以下、図４および図５で説明した処理に沿って説明する。
【００７４】
初期状態において、探索の対象となる複数の病気の候補すなわち疾病情報の候補は９８７件登録されているとする。
【００７５】
この場合、表示画面Ｄ２１に示されるように、まず、情報処理装置１００は、ステップＳ２１において、図６Ｂを参照して、探索の対象に関するオープンタイプの質問として、１番目「今日はどうされましたか？」を出力し、ユーザは「頭痛がします」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「頭痛」を抽出し、抽出したキーワード「頭痛」を用いて疾病情報の候補を３５件に絞っている。次いで、情報処理装置１００は、ステップＳ２２において、ステップＳ２１で取得したユーザの回答にオープン質問終了トリガーがあるか否かを判定する。ユーザの回答「頭痛がします」には、ネガティブな表現が含まれておらず第１条件を満たさないので、ステップＳ２１に戻る。
【００７６】
次に、情報処理装置１００は、ステップＳ２１において、図６Ｂを参照して、探索の対象に関するオープンタイプの２番目の質問として、２番目以降「他に何か気になる症状はありますか？」を出力し、ユーザは「熱もあります」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「発熱」を抽出し、抽出したキーワード「発熱」により疾病情報の候補を８件に絞っている。次いで、情報処理装置１００は、ステップＳ２２において、ステップＳ２１で取得したユーザの回答がオープン質問終了トリガーがあるか否かを判定する。ユーザの回答「熱もあります」には、ネガティブな表現が含まれていないので、再度ステップＳ２１に戻る。
【００７７】
次に、情報処理装置１００は、ステップＳ２１において、図６Ｂを参照して、探索の対象に関するオープンタイプの３番目の質問として、２番目以降「他に何か気になる症状はありますか？」を出力し、ユーザは「特にないです」と回答している。情報処理装置１００は、ユーザの回答から、理解結果として、ネガティブな表現を含んでいることが得られる。次いで、情報処理装置１００は、ステップＳ２２において、ステップＳ２１で取得したユーザの回答にネガティブな表現が含まれておりオープン質問終了トリガーがあると判定する。そして、情報処理装置１００は、オープン質問ループ（ステップＳ２０）を抜けて、クローズド質問ループの処理（ステップＳ３０）に進む。
【００７８】
次に、表示画面Ｄ３１に示されるように、まず、情報処理装置１００は、ステップＳ３１において、図６Ｂを参照して、クローズド質問「（症状Ｘ）はありますか？」を選択し、症状Ｘに当てはめるべきキーワードとして、図６Ａに示すタスクデータ１３１を参照して「咳」に決定する。このようにして、情報処理装置１００は、探索の対象に関するクローズドタイプの質問として、「咳はありますか？」を出力し、ユーザは「はい」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「咳」を抽出し、抽出したキーワード「咳」が正のキーワードであると理解している。そして、抽出したキーワード「咳」を用いて、疾病情報の候補を４件に絞っている。次いで、情報処理装置１００は、ステップＳ３２において、ステップＳ３１で取得したユーザの回答にクローズド質問の終了トリガーがあるか否かを判定する。例えば、ユーザの回答により絞り込まれた疾病情報の候補の数は４件であり、予め定められた値である１件以下ではなく第２条件を満たさないので、ステップＳ３１に戻る。
【００７９】
なお、「咳はありますか？」よりも、「咳は出ますか？」を出力する方が、自然性が高い。そのため、図６Ｂに示すクローズド質問のテンプレートに、「（症状Ｘ）はありますか？」と類似する意味を示す複数のテンプレートがある場合、情報処理装置１００は、症状Ｘに当てはめるキーワードに依存して、当該複数のテンプレートから、より自然性の高いテンプレートを選んで出力するとしてもよい。
【００８０】
次に、情報処理装置１００は、ステップＳ３１において、上記と同様の手法により、探索の対象に関するクローズドタイプの質問として、「下痢はありますか？」を出力し、ユーザは「はい」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「下痢」を抽出し、抽出したキーワード「下痢」が正のキーワードであると理解している。そして、抽出したキーワード「下痢」を用いて、疾病情報の候補を２件に絞っている。次いで、情報処理装置１００は、ステップＳ３２において、ステップＳ３１で取得したユーザの回答により絞り込まれた疾病情報の候補の数は２件であり、予め定められた値である１件以下ではないので、再度ステップＳ３１に戻る。
【００８１】
次に、情報処理装置１００は、ステップＳ３１において、上記と同様の手法により、探索の対象に関するクローズドタイプの質問として、「鼻水はありますか？」を出力し、ユーザは「はい」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「鼻水」を抽出し、抽出したキーワード「鼻水」が正のキーワードであると理解している。そして、抽出したキーワード「鼻水」を用いて、疾病情報の候補を１件に絞っている。次いで、情報処理装置１００は、ステップＳ３２において、ユーザの回答により絞り込まれた疾病情報の候補の数は１件であり、予め定められた値である１件以下であり第２条件を満たすので、クローズド質問終了トリガーがあると判定する。このようにして、情報処理装置１００は、クローズド質問ループ（ステップＳ３０）を抜けて、ステップＳ４０に進む。
【００８２】
最後に、情報処理装置１００は、ステップＳ４０において、病気は「風邪」ではないかという結論を提示する「風邪のようです」を出力し、ユーザに提示される。
【００８３】
以上のように、情報処理装置１００は、ユーザに対して、常に質問を生成することで、対話の流れの主導権を握っている、すなわちシステム主導の対話制御を行っている。情報処理装置１００は、まず、ユーザの発話による絞り込み条件の提示が終了するまでオープン質問を繰り返すことで、ユーザが探索を要望する情報に関する条件をすべて取り込むことができ、ユーザの満足度を高めることができる。そして、情報処理装置１００は、その後にクローズド質問を繰り返すことで、ユーザが探索を要望する情報をさらに絞り込む。このようにして、ユーザが探索を要望する情報に関する条件を漏れなく取得できるので、ユーザの所望の探索対象の候補を確実に絞り込んで提示することができる。つまり、ユーザが探索を要望する探索の対象の候補を提供するというタスクが達成されるので、ユーザの満足度も高めることができる。
【００８４】
（実施例２）
実施例２では、ユーザが探索を要望する情報についての絞り込みを進行させるタスクとして、複数の条件を満たすレシピを絞り込むタスクを行う場合の例について説明する。すなわち、探索の対象が複数の料理のレシピまたはメニューであり、第１タイプの質問であるオープン質問が複数の料理のレシピまたはメニューを絞り込む条件を尋ねる内容を示し、第２タイプの質問であるクローズド質問が複数の料理のレシピまたはメニューを絞り込む条件の一をリクエストするか否かを尋ねる内容を示す場合について説明する。
【００８５】
図８Ａは、実施の形態１の実施例２に係るタスクデータ１３１の一例を示す図である。
【００８６】
図８Ａには、タスクデータ１３１の一例として、料理とその分類項目との関係、および、料理と食材との関係を有向グラフの形式で表現した知識ベースが示されている。換言すると、タスクデータ１３１には、複数の料理のレシピと、複数の料理のレシピ毎の分類を示す分類情報と、複数の料理のレシピ毎に用いられる食材を示す食材情報とが対応付けられている。なお、図８Ａは、図６Ａと同様に、巨大な知識ベースの一部を例示したものに該当する。
【００８７】
図８Ａに示す例では、料理１、２が探索の対象となる複数の候補に該当し、洋風、焼き物、玉葱等が特徴、属性または条件等を示す要素情報（キーワード）に該当する。また、図８Ａでは、例えばｎｏｄｅ１の料理１および料理２がｎｏｄｅ２の洋風料理の一種であり、かつ、ｎｏｄｅ２の焼き物料理の一種であるという関係が示されている。また、ｎｏｄｅ１の料理１および料理２にはｎｏｄｅ２の玉葱と長芋とが材料として使われるという関係が示されている。また、玉葱と長芋の上位概念である土物も、料理１および料理２の材料であるとの関係が示されている。以上の関係を示すために、関係詞は、”ＩｓＡ”と”ＨａｓＡ”の２種類が適用されている。
【００８８】
したがって、［ｎｏｄｅ１  ＩｓＡ  ｎｏｄｅ２］または［ｎｏｄｅ１  ＨａｓＡ  ｎｏｄｅ２］におけるｎｏｄｅ２をキーワードとして、それと結び付けられているｎｏｄｅ１を検索対象として、複数のキーワードのＡＮＤ検索のキーワードを増やしていくことで、複数条件を満たす情報を絞り込める。このようにして、複数の条件から所望の料理のレシピ情報を絞り込むことができる。
【００８９】
図８Ｂは、実施の形態１の実施例２に係る文生成データ１３２の一例を示す図である。図８Ｂには、情報処理装置１００が参照するオープン質問のテンプレート、および、クローズド質問のテンプレートの一例が示されている。
【００９０】
すなわち、情報処理装置１００が探索の対象に関するオープンタイプの質問を出力する場合、ユーザとの対話の開始時には、図８Ｂに示すオープン質問の１番目「どんなレシピをお探しですか？」という質問文を生成し、その後には、図８Ｂに示すオープン質問の２番目以降「他に何か条件はありますか？」という質問文を（繰り返し）生成する。
【００９１】
また、情報処理装置１００が探索の対象に関するクローズドタイプの質問を出力する場合、キーワード（ｎｏｄｅ２）と検索対象（ｎｏｄｅ１）との関係が、ＩｓＡであるか、ＨａｓＡであるかを条件として、図８Ｂに示すテンプレートを用いてクローズド質問を出力する。情報処理装置１００は、ＩｓＡである場合には、図８Ｂに示すクローズド質問「（ｎｏｄｅ２）にしますか？」を出力し、ＨａｓＡである場合には、図８Ｂに示すクローズド質問「（ｎｏｄｅ２）にしますか？」を出力する。
【００９２】
図９は、実施の形態１の実施例２に係る表示画面の一例を示す図である。
【００９３】
表示画面Ｄ２２は、ステップＳ２０のオープン質問ループの処理における対話の一例を示しており、表示画面Ｄ３２は、ステップＳ３０のクローズド質問ループの処理における対話の一例を示している。表示画面Ｄ４２は、ステップＳ４０により提示された結論の一例を示している。
【００９４】
以下、図４および図５で説明した処理に沿って説明する。
【００９５】
初期状態において、探索の対象となる複数のレシピまたはメニューの候補すなわちレシピ情報は１９８７件登録されているとする。
【００９６】
この場合、表示画面Ｄ２２に示されるように、まず、情報処理装置１００は、ステップＳ２１において、図８Ｂを参照して、探索の対象に関するオープンタイプの質問として、１番目「どんなレシピをお探しですか？」を出力し、ユーザは「洋風がいいです」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「洋風」を抽出し、抽出したキーワード「洋風」を用いてレシピの情報の候補を１５８件に絞っている。次いで、情報処理装置１００は、ステップＳ２２において、ステップＳ２１で取得したユーザの回答にオープン質問終了トリガーがあるか否かを判定する。ユーザの回答「洋風がいいです」には、ネガティブな表現が含まれておらず第１条件を満たさないので、ステップＳ２１に戻る。
【００９７】
次に、情報処理装置１００は、ステップＳ２１において、図８Ｂを参照して、探索の対象に関するオープンタイプの質問として、２番目以降「他に何か条件はありますか？」を出力し、ユーザは、「焼き物で」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「焼き物」を抽出し、抽出したキーワード「焼き物」により、レシピ情報の候補を４７件に絞っている。次いで、情報処理装置１００は、ステップＳ２２において、ステップＳ２１で取得したユーザの回答がオープン質問終了トリガーがあるか否かを判定する。ユーザの回答「焼き物で」には、ネガティブな表現が含まれていないので、再度ステップＳ２１に戻る。
【００９８】
次に、情報処理装置１００は、ステップＳ２１において、図８Ｂを参照して、探索の対象に関するオープンタイプの質問として、３番目以降「他に何か条件はありますか？」を出力し、ユーザは「特にないです」と回答している。情報処理装置１００は、ユーザの回答から、理解結果として、ネガティブな表現を含んでいることが得られる。次いで、情報処理装置１００は、ステップＳ２２において、ステップＳ２１で取得したユーザの回答にネガティブな表現が含まれておりオープン質問終了トリガーがあると判定する。そして、情報処理装置１００は、オープン質問ループ（ステップＳ２０）を抜けて、クローズド質問ループの処理（ステップＳ３０）に進む。
【００９９】
次に、表示画面Ｄ３２に示されるように、まず、情報処理装置１００は、ステップＳ３１において、キーワード「土物」および、適用される関係詞”ＨａｓＡ”が与えられているとすると、図８Ｂを参照して、クローズド質問「（ｎｏｄｅ２）を使っていいですか？」を選択する。その結果、情報処理装置１００は、「土物を使っていいですか？」を出力し、ユーザは「はい」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「土物」を抽出し、抽出したキーワード「土物」が正のキーワードであると理解している。そして、抽出したキーワード「土物」を用いて、レシピ情報の候補を２１件に絞っている。次いで、情報処理装置１００は、ステップＳ３２において、ステップＳ３１で取得したユーザの回答にクローズド質問の終了トリガーがあるか否かを判定する。例えば、ユーザの回答により絞り込まれたレシピ情報の候補の数は２１件であり、予め定められた値である４件以下ではなく第２条件を満たさないので、ステップＳ３１に戻る。
【０１００】
次に、情報処理装置１００は、ステップＳ３１において、上記と同様の手法により、探索の対象に関するクローズドタイプの質問として、「魚料理でいいですか？」を出力し、ユーザは「はい」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「魚料理」を抽出し、抽出したキーワード「魚料理」が正のキーワードであると理解している。そして、抽出したキーワード「魚料理」を用いて、レシピ情報の候補を８件に絞っている。次いで、情報処理装置１００は、ステップＳ３２により、ステップＳ３１で取得したユーザの回答により絞り込まれたレシピ情報の候補の数は８件であり、予め定められた値である４件以下ではないので、再度ステップＳ３１に戻る。
【０１０１】
次に、情報処理装置１００は、ステップＳ３１において、上記と同様の手法により、探索の対象に関するクローズドタイプの質問として、「乳製品を使ってもいいですか？」を出力し、ユーザは「はい」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「乳製品」を抽出し、抽出したキーワード「乳製品」が正のキーワードであると理解している。そして、抽出したキーワード「乳製品」を用いて、レシピ情報の候補を４件に絞っている。次いで、情報処理装置１００は、ステップＳ３２において、ユーザの回答により絞り込まれたレシピ情報の候補の数は４件であり、予め定められた値である４件以下であり第２条件を満たすので、クローズド質問終了トリガーとがあると判定する。このようにして、情報処理装置１００は、クローズド質問ループ（ステップＳ３０）を抜けて、ステップＳ４０に進む。
【０１０２】
最後に、情報処理装置１００は、ステップＳ４０において、４つのレシピ情報が条件を満たしているという結論を提示する「４つのレシピが見つかりました。」を出力し、ユーザに提示される。
【０１０３】
以上のように実施例１の情報処理装置１００は、実施例１と同様に、ユーザが探索を要望する情報に関する条件を漏れなく取得できるので、ユーザの所望の探索対象の候補を確実に絞り込んで提示することができる。つまり、実施例１で例示したタスクデータ１３１と文生成データ１３２とを置き換えるだけで、実施例１と異なる実施例２においても同様にタスクを達成できる。
【０１０４】
（実施例３）
実施例３では、ユーザが探索を要望する情報についての絞り込みを進行させるタスクとして複数の条件を満たす旅行プランを絞り込むタスクを行う場合の例について説明する。すなわち、探索の対象が複数の旅行のプランであり、第１タイプの質問であるオープン質問が複数の旅行プランに対する条件を尋ねる内容を示し、第２タイプの質問であるクローズド質問が複数の旅行プランを絞り込む条件の一をリクエストするか否かを尋ねる内容を示す場合について説明する。
【０１０５】
図１０Ａは、実施の形態１の実施例３に係るタスクデータ１３１の一例を示す図である。図１０Ａには、タスクデータ１３１の一例として、旅行のプランと条件との関係を有向グラフの形式で表現した知識ベースが示されている。なお、図１０Ａは、巨大な知識ベースの一部を例示したものに該当する。
【０１０６】
図１０Ａに示す例では、プラン１、２が探索の対象となる複数の候補に該当し、イタリア、２名等の条件が特徴、属性または条件等を示す要素情報（キーワード）に該当する。また、図１０Ａでは、例えばｎｏｄｅ１の「プラン１」がイタリア、２名、５泊、１０万以下などのｎｏｄｅ２の条件を満たすという関係が示されており、ｎｏｄｅ２の「イタリア」には、プラン２など１０万以下であるｎｏｄｅ１の旅行のプランが他にもあるという関係などが示されている。以上の関係を示すために、関係詞は、”ＨａｓＰｒｏｐｅｒｔｙ”が適用されている。
【０１０７】
したがって、［ｎｏｄｅ１  ＨａｓＰｒｏｐｅｒｔｙ  ｎｏｄｅ２］のｎｏｄｅ２を検索キーワードとして、それと結び付けられているｎｏｄｅ１を検索対象とし、複数のキーワードのＡＮＤ検索のキーワードを増やしていくことで、複数条件を満たす情報を絞り込める。このようにして、複数の条件から旅行プランを絞り込むことができる。
【０１０８】
図１０Ｂは、実施の形態１の実施例３に係る文生成データ１３２の一例を示す図である。図１０Ｂには、情報処理装置１００が参照するオープン質問のテンプレート、および、クローズド質問のテンプレートの一例が示されている。
【０１０９】
すなわち、情報処理装置１００が探索の対象に関するオープンタイプの質問を出力する場合、ユーザとの対話の開始時には、図１０Ａに示すオープン質問の１番目「どんな旅行プランをお探しですか？」という質問文を生成し、その後に、図１０Ｂに示すオープン質問の２番目以降「他に何か条件はありますか？」という質問文を（繰り返し）生成する。
【０１１０】
また、情報処理装置１００が探索の対象に関するクローズドタイプの質問を出力する場合、条件による場合分けのない１つのテンプレートからなる図１０Ｂに示すクローズド質問「（条件Ｘ）でいいですか？」を用いる。そして、（条件Ｘ）の部分は、図１０Ａに示すタスクデータ１３１のｎｏｄｅ２に示されるキーワードの一が当てはめられる。なお、（条件Ｘ）には、情報処理装置１００がタスクデータ１３１を参照することで得られる、ｎｏｄｅ２に示されるキーワードのうち、絞込みに有効なキーワードとして都度選択した一のキーワードを当てはめるとよい。
【０１１１】
図１１は、実施の形態１の実施例３に係る表示画面の一例を示す図である。表示画面Ｄ２３は、ステップＳ２０のオープン質問ループの処理における対話の一例を示しており、表示画面Ｄ３３は、ステップＳ３０のクローズド質問ループの処理における対話の一例を示している。表示画面Ｄ４３は、ステップＳ４０により提示された結論の一例を示している。
【０１１２】
以下、図４および図５で説明した処理に沿って説明する。
【０１１３】
初期状態において、探索の対象となる複数の旅行プランの候補すなわちプラン情報の候補は９８７０件登録されているとする。
【０１１４】
この場合、表示画面Ｄ２３に示されるように、まず、情報処理装置１００は、ステップＳ２１において、図１０Ｂを参照して、探索の対象に関するオープンタイプの質問として、１番目「どんな旅行プランをお探しですか？」を出力し、ユーザは「イタリア行きがいいです」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「イタリア」を抽出し、抽出したキーワード「イタリア」を用いて、プラン情報の候補を３５件に絞っている。次いで、情報処理装置１００は、ステップＳ２２において、ステップＳ２１で取得したユーザの回答にオープン質問終了トリガーがあるか否かを判定する。ユーザの回答「イタリア行きがいいです」には、ネガティブな表現が含まれておらず第１条件を満たさないので、ステップＳ２１に戻る。
【０１１５】
次に、情報処理装置１００は、ステップＳ２１において、図１０Ｂを参照して、探索の対象に関するオープンタイプの質問として２番目以降「他に何か条件はありますか？」を出力し、ユーザは「５泊で」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「５泊」を抽出し、抽出したキーワード「５泊」によりプラン情報の候補を８件に絞っている。次いで、情報処理装置１００は、ステップＳ２２において、ステップＳ２１で取得したユーザの回答がオープン質問終了トリガーがあるか否かを判定する。ユーザの回答「５泊で」には、ネガティブな表現が含まれていないので、再度ステップＳ２１に戻る。
【０１１６】
次に、情報処理装置１００は、ステップＳ２１において、図１０Ｂを参照して、探索の対象に関するオープンタイプの質問として２番目以降「他に何か条件はありますか？」を出力し、ユーザは「特にないです」と回答している。情報処理装置１００は、ユーザの回答から、理解結果として、ネガティブな表現を含んでいることが得られる。次いで、情報処理装置１００は、ステップＳ２２において、ステップＳ２１で取得したユーザの回答にネガティブな表現が含まれておりオープン質問終了トリガーがあると判定し、オープン質問ループ（ステップＳ２０）を抜けて、クローズド質問ループの処理（ステップＳ３０）に進む。
【０１１７】
次に、表示画面Ｄ３３に示されるように、まず、情報処理装置１００は、ステップＳ３１において、図１０Ｂを参照して、クローズド質問「（条件Ｘ）でいいですか？」を選択し、条件Ｘに当てはめるべきキーワードとして、図１０Ａに示すタスクデータ１３１を参照して「２名」に決定する。このようにして、情報処理装置１００は、探索の対象に関するクローズドタイプの質問として、「２名でいいですか？」を出力し、ユーザは「はい」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「２名」を抽出し、抽出したキーワード「２名」が正のキーワードであると理解している。そして、抽出したキーワード「２名」を用いて、プラン情報の候補を４件に絞っている。次いで、情報処理装置１００は、ステップＳ３２において、ステップＳ３１で取得したユーザの回答にクローズド質問の終了トリガーがあるか否かを判定する。例えば、ユーザの回答により絞り込まれたプラン情報の候補の数は４件であり、予め定められた値である１件以下ではなく第２条件を満たさないので、ステップＳ３１に戻る。
【０１１８】
次に、情報処理装置１００は、ステップＳ３１において、上記と同様の手法により、探索の対象に関するクローズドタイプの質問として、「１０万以下でいいですか？」を出力し、ユーザは「はい」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「１０万以下」を抽出し、抽出したキーワード「１０万以下」が正のキーワードであると理解している。そして、抽出したキーワード「１０万以下」を用いて、プラン情報の候補を２件に絞っている。次いで、情報処理装置１００は、ステップＳ３２において、ステップＳ３１で取得したユーザの回答により絞り込まれたプラン情報の候補の数は２件であり、予め定められた値である１件以下ではないので、再度ステップＳ３１に戻る。
【０１１９】
次に、情報処理装置１００は、ステップＳ３１において、上記と同様の手法により、探索の対象に関するクローズドタイプの質問として、「自由行動ありでいいですか？」を出力し、ユーザは「いいえ」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「自由行動あり」を抽出し、抽出したキーワード「自由行動あり」が負のキーワードであると理解している。そして、抽出したキーワード「自由行動あり」を用いて、プラン情報の候補を１件に絞っている。次いで、情報処理装置１００は、ステップＳ３２において、ユーザの回答により絞り込まれたプラン情報の候補の数は１件であり、予め定められた値である１件以下であり第２条件を満たすので、クローズド質問終了トリガーがあると判定する。このようにして、情報処理装置１００は、クローズド質問ループ（ステップＳ３０）を抜けて、ステップＳ４０に進む。
【０１２０】
最後に、情報処理装置１００は、ステップＳ４０において、結論「プラン２を紹介します」を出力し、ユーザに提示される。
【０１２１】
（実施例４）
実施例４では、ユーザが探索を要望する情報についての絞り込みを進行させるタスクとして複数の条件を満たす不動産の物件を絞り込むタスクを行う場合の例について説明する。すなわち、探索の対象が複数の不動産の物件であり、第１タイプの質問であるオープン質問が複数の不動産の物件に対する条件を尋ねる内容を示し、第２タイプの質問であるクローズド質問が複数の不動産の物件を絞り込む条件の一をリクエストするか否かを尋ねる内容を示す場合について説明する。
【０１２２】
図１２Ａは、実施の形態１の実施例４に係るタスクデータ１３１の一例を示す図である。図１２Ａには、タスクデータ１３１の一例として、不動産の物件と条件との関係を有向グラフの形式で表現した知識ベースが示されている。なお、図１２Ａは、巨大な知識ベースの一部を例示したものに該当する。
【０１２３】
図１２Ａに示す例では、物件１、２が探索の対象となる複数の候補に該当し、マンション、築浅、駅近等の条件が要素情報（キーワード）に該当する。また、図１２Ａでは、例えばｎｏｄｅ１の「物件１」がマンション、築浅、駅近、２階以上、床暖ありなどのｎｏｄｅ２の条件を満たすという関係が示されており、ｎｏｄｅ２の「マンション」には、物件２など駅近であるｎｏｄｅ１の不動産の物件が他にもあるという関係などが示されている。以上の関係を示すために、関係詞は、”ＨａｓＰｒｏｐｅｒｔｙ”が適用されている。
【０１２４】
したがって、［ｎｏｄｅ１  ＨａｓＰｒｏｐｅｒｔｙ  ｎｏｄｅ２］のｎｏｄｅ２を検索キーワードとして、それと結び付けられているｎｏｄｅ１を検索対象とし、複数のキーワードのＡＮＤ検索のキーワードを増やしていくことで、複数条件を満たす情報を絞り込める。このようにして、複数の条件から不動産の物件を絞り込むことができる。
【０１２５】
図１２Ｂは、実施の形態１の実施例４に係る文生成データ１３２の一例を示す図である。図１２Ｂには、情報処理装置１００が参照するオープン質問のテンプレート、および、クローズド質問のテンプレートの一例が示されている。
【０１２６】
すなわち、情報処理装置１００が探索の対象に関するオープンタイプの質問を出力する場合、ユーザとの対話の開始時には、図１２Ａに示すオープン質問の１番目「どんな物件をお探しですか？」という質問文を生成し、その後に、図１２Ｂに示すオープン質問の２番目以降「他に何か条件はありますか？」という質問文を（繰り返し）生成する。
【０１２７】
また、情報処理装置１００が探索の対象に関するクローズドタイプの質問を出力する場合、条件による場合分けのない１つのテンプレートからなる図１２Ｂに示すクローズド質問「（条件Ｘ）の方がいいですか？」を用いる。そして、（条件Ｘ）の部分は、図１２Ａに示すタスクデータ１３１のｎｏｄｅ２に示されるキーワードの一が当てはめられる。なお、（条件Ｘ）には、情報処理装置１００がタスクデータ１３１を参照することで得られる、ｎｏｄｅ２に示されるキーワードのうち、絞込みに有効なキーワードとして都度選択した一のキーワードを当てはめるとよい。
【０１２８】
図１３は、実施の形態１の実施例４に係る表示画面の一例を示す図である。表示画面Ｄ２４は、ステップＳ２０のオープン質問ループの処理における対話の一例を示しており、表示画面Ｄ３４は、ステップＳ３０のクローズド質問ループの処理における対話の一例を示している。表示画面Ｄ４４は、ステップＳ４０により提示された結論の一例を示している。
【０１２９】
以下、図４および図５で説明した処理に沿って説明する。
【０１３０】
初期状態において、探索の対象となる複数の不動産の物件の候補すなわち物件情報の候補は９８７００件登録されているとする。
【０１３１】
この場合、表示画面Ｄ２４に示されるように、まず、情報処理装置１００は、ステップＳ２１において、図１２Ｂを参照して、探索の対象に関するオープンタイプの質問として、１番目「どんな物件をお探しですか？」を出力し、ユーザは「門真市内がいいです」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「門真市内」を抽出し、抽出したキーワード「門真市内」を用いて、物件情報の候補を３５０件に絞っている。次いで、情報処理装置１００は、ステップＳ２２において、ステップＳ２１で取得したユーザの回答にオープン質問終了トリガーがあるか否かを判定する。ユーザの回答「門真市内がいいです」には、ネガティブな表現が含まれておらず第１条件を満たさないので、ステップＳ２１に戻る。
【０１３２】
次に、情報処理装置１００は、ステップＳ２１において、図１２Ｂを参照して、探索の対象に関するオープンタイプの質問として２番目以降「他に何か条件はありますか？」を出力し、ユーザは「駅から近いといいです」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「駅近」を抽出し、抽出したキーワード「駅近」により物件情報の候補を８０件に絞っている。次いで、情報処理装置１００は、ステップＳ２２において、ステップＳ２１で取得したユーザの回答にオープン質問終了トリガーがあるか否かを判定する。ユーザの回答「駅から近いといいです」には、ネガティブな表現が含まれていないので、再度ステップＳ２１に戻る。
【０１３３】
次に、情報処理装置１００は、ステップＳ２１において、図１２Ｂを参照して、探索の対象に関するオープンタイプの質問として２番目以降「他に何か条件はありますか？」を出力し、ユーザは「特にないです」と回答している。情報処理装置１００は、ユーザの回答から、理解結果として、ネガティブな表現を含んでいることが得られる。次いで、情報処理装置１００は、ステップＳ２２において、ステップＳ２１で取得したユーザの回答にネガティブな表現が含まれておりオープン質問終了トリガーがあると判定し、オープン質問ループ（ステップＳ２０）を抜けて、クローズド質問ループの処理（ステップＳ３０）に進む。
【０１３４】
次に、表示画面Ｄ３４に示されるように、まず、情報処理装置１００は、ステップＳ３１において、図１２Ｂを参照して、クローズド質問「（条件Ｘ）の方がいいですか？」を選択し、条件Ｘに当てはめるべきキーワードとして、図１２Ａに示すタスクデータ１３１を参照して「マンション」に決定する。このようにして、情報処理装置１００は、探索の対象に関するクローズドタイプの質問として、「マンションの方がいいですか？」を出力し、ユーザは「はい」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「マンション」を抽出し、抽出したキーワード「マンション」が正のキーワードであると理解している。そして、抽出したキーワード「マンション」を用いて、物件情報の候補を４０件に絞っている。次いで、情報処理装置１００は、ステップＳ３２において、ステップＳ３１で取得したユーザの回答にクローズド質問の終了トリガーがあるか否かを判定する。例えば、ユーザの回答により絞り込まれた物件情報の候補の数は４０件であり、予め定められた値である１件以下ではなく第２条件を満たさないので、ステップＳ３１に戻る。
【０１３５】
次に、情報処理装置１００は、ステップＳ３１において、上記と同様の手法により、探索の対象に関するクローズドタイプの質問として、「２階以上の方がいいですか？」を出力し、ユーザは「はい」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「２階以上」を抽出し、抽出したキーワード「２階以上」が正のキーワードであると理解している。そして、抽出したキーワード「２階以上」を用いて、物件情報の候補を２件に絞っている。次いで、情報処理装置１００は、ステップＳ３２において、ステップＳ３１で取得したユーザの回答により絞り込まれた物件情報の候補の数は２件であり、予め定められた値である１件以下ではないので、再度ステップＳ３１に戻る。
【０１３６】
次に、情報処理装置１００は、ステップＳ３１において、上記と同様の手法により、探索の対象に関するクローズドタイプの質問として、「床暖ありの方がいいですか？」を出力し、ユーザは「はい」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「床暖あり」を抽出し、抽出したキーワード「床暖あり」が正のキーワードであると理解している。そして、抽出したキーワード「床暖あり」を用いて、物件情報の候補を１件に絞っている。次いで、情報処理装置１００は、ステップＳ３２において、ユーザの回答により絞り込まれた物件情報の候補の数は１件であり、予め定められた値である１件以下であり第２条件を満たすので、クローズド質問終了トリガーがあると判定する。このようにして、情報処理装置１００は、クローズド質問ループ（ステップＳ３０）を抜けて、ステップＳ４０に進む。
【０１３７】
最後に、情報処理装置１００は、ステップＳ４０において、結論「物件１を紹介します」を出力し、ユーザに提示される。
【０１３８】
（実施例５）
実施例５では、ユーザが探索を要望する情報についての絞り込みを進行させるタスクとして複数の条件を満たす映像コンテンツを絞り込むタスクを行う場合の例について説明する。すなわち、探索の対象が複数の映像コンテンツであり、第１タイプの質問であるオープン質問が複数の映像コンテンツに対する条件を尋ねる内容を示し、第２タイプの質問であるクローズド質問が複数の映像コンテンツを絞り込む条件の一をリクエストするか否かを尋ねる内容を示す場合について説明する。
【０１３９】
図１４Ａは、実施の形態１の実施例５に係るタスクデータ１３１の一例を示す図である。図１４Ａには、タスクデータ１３１の一例として、映像コンテンツと条件との関係を有向グラフの形式で表現した知識ベースが示されている。なお、図１４Ａは、巨大な知識ベースの一部を例示したものに該当する。
【０１４０】
図１４Ａに示す例では、番組１、２が探索の対象となる複数の候補に該当し、ドラマ、深夜番組、テレビ関東等の条件が要素情報（キーワード）に該当する。また、図１４Ａでは、例えばｎｏｄｅ１の「番組１」が俳優Ａ出演、ドラマ、深夜番組、テレビ関東、学園ものなどのｎｏｄｅ２の条件を満たすという関係が示されており、ｎｏｄｅ２の「ドラマ」には、番組２など学園ものであるｎｏｄｅ１の映像コンテンツが他にもあるという関係などが示されている。以上の関係を示すために、関係詞は、”ＨａｓＰｒｏｐｅｒｔｙ”が適用されている。
【０１４１】
したがって、［ｎｏｄｅ１  ＨａｓＰｒｏｐｅｒｔｙ  ｎｏｄｅ２］のｎｏｄｅ２を検索キーワードとして、それと結び付けられているｎｏｄｅ１を検索対象とし、複数のキーワードのＡＮＤ検索のキーワードを増やしていくことで、複数条件を満たす情報を絞り込める。このようにして、複数の条件から映像コンテンツを絞り込むことができる。
【０１４２】
図１４Ｂは、実施の形態１の実施例５に係る文生成データ１３２の一例を示す図である。図１４Ｂには、情報処理装置１００が参照するオープン質問のテンプレート、および、クローズド質問のテンプレートの一例が示されている。
【０１４３】
すなわち、情報処理装置１００が探索の対象に関するオープンタイプの質問を出力する場合、ユーザとの対話の開始時には、図１４Ａに示すオープン質問の１番目「どんな番組をお探しですか？」という質問文を生成し、その後に、図１４Ｂに示すオープン質問の２番目以降「他に何か条件はありますか？」という質問文を（繰り返し）生成する。
【０１４４】
また、情報処理装置１００が探索の対象に関するクローズドタイプの質問を出力する場合、条件による場合分けのない１つのテンプレートからなる図１４Ｂに示すクローズド質問「（条件Ｘ）でいいですか？」を用いる。そして、（条件Ｘ）の部分は、図１４Ａに示すタスクデータ１３１のｎｏｄｅ２に示されるキーワードの一が当てはめられる。なお、（条件Ｘ）には、情報処理装置１００がタスクデータ１３１を参照することで得られる、ｎｏｄｅ２に示されるキーワードのうち、絞込みに有効なキーワードとして都度選択した一のキーワードを当てはめるとよい。
【０１４５】
図１５は、実施の形態１の実施例５に係る表示画面の一例を示す図である。表示画面Ｄ２５は、ステップＳ２０のオープン質問ループの処理における対話の一例を示しており、表示画面Ｄ３５は、ステップＳ３０のクローズド質問ループの処理における対話の一例を示している。表示画面Ｄ４５は、ステップＳ４０により提示された結論の一例を示している。
【０１４６】
以下、図４および図５で説明した処理に沿って説明する。
【０１４７】
初期状態において、探索の対象となる複数の映像コンテンツの候補すなわち番組情報の候補は９８７件登録されているとする。
【０１４８】
この場合、表示画面Ｄ２５に示されるように、まず、情報処理装置１００は、ステップＳ２１において、図１４Ｂを参照して、探索の対象に関するオープンタイプの質問として、１番目「どんな番組をお探しですか？」を出力し、ユーザは「ドラマがいいです」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「ドラマ」を抽出し、抽出したキーワード「ドラマ」を用いて、番組情報の候補を３５件に絞っている。次いで、情報処理装置１００は、ステップＳ２２において、ステップＳ２１で取得したユーザの回答にオープン質問終了トリガーがあるか否かを判定する。ユーザの回答「ドラマがいいです」には、ネガティブな表現が含まれておらず第１条件を満たさないので、ステップＳ２１に戻る。
【０１４９】
次に、情報処理装置１００は、ステップＳ２１において、図１４Ｂを参照して、探索の対象に関するオープンタイプの質問として２番目以降「他に何か条件はありますか？」を出力し、ユーザは「深夜番組で」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「深夜番組」を抽出し、抽出したキーワード「深夜番組」により番組情報の候補を８０件に絞っている。次いで、情報処理装置１００は、ステップＳ２２において、ステップＳ２１で取得したユーザの回答がオープン質問終了トリガーがあるか否かを判定する。ユーザの回答「深夜番組で」には、ネガティブな表現が含まれていないので、再度ステップＳ２１に戻る。
【０１５０】
次に、情報処理装置１００は、ステップＳ２１において、図１４Ｂを参照して、探索の対象に関するオープンタイプの質問として２番目以降「他に何か条件はありますか？」を出力し、ユーザは「特にないです」と回答している。情報処理装置１００は、ユーザの回答から、理解結果として、ネガティブな表現を含んでいることが得られる。次いで、情報処理装置１００は、ステップＳ２２において、ステップＳ２１で取得したユーザの回答にネガティブな表現が含まれておりオープン質問終了トリガーがあると判定し、オープン質問ループ（ステップＳ２０）を抜けて、クローズド質問ループの処理（ステップＳ３０）に進む。
【０１５１】
次に、表示画面Ｄ３５に示されるように、まず、情報処理装置１００は、ステップＳ３１において、図１４Ｂを参照して、クローズド質問「（条件Ｘ）でいいですか？」を選択し、条件Ｘに当てはめるべきキーワードとして、図１４Ａに示すタスクデータ１３１を参照して「学園もの」に決定する。このようにして、情報処理装置１００は、探索の対象に関するクローズドタイプの質問として、「学園ものでいいですか？」を出力し、ユーザは「はい」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「学園もの」を抽出し、抽出したキーワード「学園もの」が正のキーワードであると理解している。そして、抽出したキーワード「学園もの」を用いて、番組情報の候補を４件に絞っている。次いで、情報処理装置１００は、ステップＳ３２において、ステップＳ３１で取得したユーザの回答にクローズド質問の終了トリガーがあるか否かを判定する。例えば、ユーザの回答により絞り込まれた番組情報の候補の数は４件であり、予め定められた値である１件以下ではなく第２条件を満たさないので、ステップＳ３１に戻る。
【０１５２】
次に、情報処理装置１００は、ステップＳ３１において、上記と同様の手法により、探索の対象に関するクローズドタイプの質問として、「俳優Ａ出演でいいですか？」を出力し、ユーザは「いいえ」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「俳優Ａ出演」を抽出し、抽出したキーワード「俳優Ａ出演」が負のキーワードであると理解している。そして、抽出したキーワード「俳優Ａ出演」を用いて、番組情報の候補を２件に絞っている。次いで、情報処理装置１００は、ステップＳ３２において、ステップＳ３１で取得したユーザの回答により絞り込まれた番組情報の候補の数は２件であり、予め定められた値である１件以下ではないので、再度ステップＳ３１に戻る。
【０１５３】
次に、情報処理装置１００は、ステップＳ３１において、上記と同様の手法により、探索の対象に関するクローズドタイプの質問として、「テレビ関東でいいですか？」を出力し、ユーザは「はい」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「テレビ関東」を抽出し、抽出したキーワード「テレビ関東」が正のキーワードであると理解している。そして、抽出したキーワード「テレビ関東」を用いて、番組情報の候補を１件に絞っている。次いで、情報処理装置１００は、ステップＳ３２において、ユーザの回答により絞り込まれた番組情報の候補の数は１件であり、予め定められた値である１件以下であり第２条件を満たすので、クローズド質問終了トリガーがあると判定する。このようにして、情報処理装置１００は、クローズド質問ループ（ステップＳ３０）を抜けて、ステップＳ４０に進む。
【０１５４】
最後に、情報処理装置１００は、ステップＳ４０において、結論「番組２が見つかりました」を出力し、ユーザに提示される。
【０１５５】
［効果等］
以上のように、本実施の形態における情報処理装置等は、ユーザが探索を要望する情報に関する条件を漏れなく取得できる。
【０１５６】
より具体的には、本実施の形態における情報処理装置等は、ユーザに対して、常に質問を生成することで、対話の流れの主導権を握っている、すなわちシステム主導の対話制御を行っている。また、ユーザが探索を要望する情報の絞り込みに関しては、まず、オープン質問から始め、ユーザに委ねたユーザの発話による絞り込み条件の提示が終了するまでオープン質問を繰り返す。これによって、ユーザは自由に発言でき対話の内容に関する不満を感じないだけでなく、ユーザの発話による絞り込み条件をもれなく取得できる。また、その後のクローズド質問は、ユーザが探索を要望する情報が十分に絞り込まれるまで繰り返されるので、ユーザが探索を要望する情報に関する条件を漏れなく取得できる。これにより、ユーザの所望の探索対象の候補を確実に絞り込んで提示することができる。
【０１５７】
なお、ステップＳ３０において、絞込みが十分なされた場合にステップＳ４０に移行するという条件は、同様に、ステップＳ２０において導入されてもよい。
【０１５８】
（実施の形態２）
実施の形態１では、オープン質問に対するユーザの回答から抽出したキーワードがデータベース１３に含まれている場合を前提に説明したが、それに限らない。以下では、オープン質問に対するユーザの回答から抽出したキーワードがデータベース１３に含まれていない場合があるときについて実施の形態２として説明する。なお、実施の形態１と同じ点は説明を省略し、実施の形態１と異なる点を中心に説明する。また、実施の形態１と重複する図面については、実施の形態１に適用された図面を用いる。
【０１５９】
［情報処理装置１００Ａの構成］
図１６は、実施の形態２に係る情報処理装置１００Ａの構成の一例を示すブロック図である。
【０１６０】
実施の形態２に係る情報処理装置１００Ａは、実施の形態１に係る情報処理装置１００に対して、対話制御部１２Ａとデータベース１３Ａとの構成が異なる。
【０１６１】
＜対話制御部１２Ａ＞
対話制御部１２Ａは、入力処理部１１が出力する理解結果とデータベース１３Ａとを用いてユーザに対する対話である出力文を決定する機能を有する。また、対話制御部１２Ａは、出力文を決定する機能のみならず、ユーザの欲する情報すなわちユーザが探索を要望する情報の候補の数を管理したり、決定した出力文に対するユーザの応答の例として提示すべき情報を、管理情報として管理する機能も有する。
【０１６２】
本実施の形態では、対話制御部１２Ａは、入力処理部１１が出力する理解結果であるユーザの回答に含まれるキーワードが、タスクデータ１３１Ａに含まれていない場合には、当該キーワードに関連した知識を獲得するための質問文である出力文を決定する。
【０１６３】
より具体的には、対話制御部１２Ａは、入力処理部１１により取得させた第１タイプの質問に対する回答が第１条件を満たしておらず、かつ、探索の対象に関する情報が格納されたデータベース１３Ａに基づいて、当該回答に含まれる語句（キーワード）に対応する語句がデータベース１３Ａに含まれていないと判断する場合、出力処理部１４に、データベース１３Ａに含まれていない当該回答に含まれる語句（キーワード）についての説明内容を回答するようにリクエストする第１タイプの質問を出力させる。ここで、データベース１３Ａに含まれていない当該回答に含まれる語句についての説明内容は、知識獲得タイプの質問であり、探索の対象の具体例の一つを含む質問である。
【０１６４】
一方、対話制御部１２Ａは、入力処理部１１により取得させた第１タイプの質問に対する回答が第１条件を満たしていないが、当該回答に含まれる語句（キーワード）に対応する語句がデータベース１３Ａに含まれていると判断する場合、出力処理部１４に、探索の対象に関する第１タイプの質問である質問を出力させる。
【０１６５】
そして、対話制御部１２Ａは、入力処理部１１により取得された、ユーザによって入力された当該質問に対する回答に基づく情報をデータベース１３Ａに登録する。
【０１６６】
このように、本実施の形態では、対話制御部１２Ａには、入力処理部１１により取得させた第１タイプの質問に対する回答に含まれる語句（キーワード）に対応する語句がデータベース１３Ａに含まれているか否かを判定する判定機能が追加されている。また、対話制御部１２Ａには、例えばキーワード、知識を獲得するための質問文に対する回答に含まれる情報であるキーワード等をデータベース１３Ａに追加格納する格納機能が追加されている。なお、当該判定機能において、入力処理部１１により取得させた第１タイプの質問に対する回答が第１条件を満たしているか否かの判定は必須ではない。
【０１６７】
＜データベース１３Ａ＞
本実施の形態では、データベース１３Ａは、図１６に示すように、タスクデータ１３１Ａと、文を生成するために参照される文生成データ１３２Ａとで構成されている。
【０１６８】
タスクデータ１３１Ａは、実施の形態１と同様に例えば知識ベースの一例であるが、本実施の形態では、知識を獲得するための質問文により得た知識が追加される。その他は、実施の形態１と同様であるため説明を省略する。
【０１６９】
文生成データ１３２Ａは、対話制御部１２Ａが参照するオープン質問のテンプレートおよびクローズド質問のテンプレートを格納するのに加えて、知識を獲得するための質問のテンプレートが格納されている。
【０１７０】
［情報処理装置１００Ａの処理］
次に、以上のように構成された情報処理装置１００Ａの処理について説明する。
【０１７１】
図１７Ａは、実施の形態２に係るオープン質問ループの詳細の一例を示すフローチャートである。図１７Ａは、図３のステップＳ２０の詳細の一例であり、図４に示すフローチャートに知識を獲得するための質問の処理が追加されたものに該当する。なお、図４と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１７２】
図１７Ａに示すオープン質問ループ（ステップＳ２０Ａ）の処理において、情報処理装置１００Ａは、まず、探索の対象に関するオープンタイプの質問を出力し、その質問に対するユーザの回答を取得して理解するオープン質問応答の処理を行う（Ｓ２１）。
【０１７３】
ここで、ステップＳ２１において出力した質問はオープンタイプの質問であるため、応答の内容の決定はユーザに委ねられる。そのため、情報処理装置１００Ａが想定しない内容が応答される可能性がある。つまり、情報処理装置１００Ａでは、タスクデータ１３１Ａに予め用意されているキーワードを抽出することを期待しているが、ユーザはどういうキーワードが用意されているのか知らない。ユーザは、自身の発想により応答するため、情報処理装置１００Ａが抽出したキーワードは、タスクデータ１３１Ａに予め用意されているキーワードに該当しない可能性がある。
【０１７４】
次に、情報処理装置１００Ａは、ステップＳ２１１において、不足知識があるかを確認する。ステップＳ２１におけるユーザの応答の理解結果に含まれるキーワードが、タスクデータ１３１Ａに登録されているキーワードに該当しないときは知識が不足していると判定し（Ｓ２１１でｙｅｓ）、ステップＳ２１２に進む。そうではない場合は（Ｓ２１１でｎｏ）、ステップＳ２２に進む。
【０１７５】
次に、情報処理装置１００Ａは、知識獲得質問応答の処理を行う（Ｓ２１２）。より具体的には、情報処理装置１００Ａは、タスクデータ１３１Ａに含まれていない当該回答に含まれるキーワードについての説明内容を回答するようにリクエストするオープンタイプの質問を出力する。換言すると、情報処理装置１００Ａは、タスクデータ１３１Ａに含まれていないキーワードに関連した知識を獲得する質問文を出力する。そして、情報処理装置１００Ａは、当該質問文に対するユーザの回答により獲得した知識をタスクデータ１３１Ａに追加する。
【０１７６】
このようにして、情報処理装置１００Ａは、オープン質問応答の処理を、第１条件を満たすまで繰り返す。
【０１７７】
図１７Ｂは、実施の形態２に係るオープン質問ループの詳細の別の一例を示すフローチャートである。図１７Ｂも、図１７Ａ同様に、図３のステップＳ２０の詳細の一例であり、図４に示すフローチャートに知識を獲得するための質問の処理が追加されたものに該当する。なお、図４と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１７８】
図１７Ｂに示すオープン質問ループ（ステップＳ２０Ｂ）の処理において、情報処理装置１００Ａは、ステップＳ２１で取得したユーザの回答にオープン質問終了トリガーがあるか否かを判定する（Ｓ２２）。
【０１７９】
次に、情報処理装置１００Ａは、ステップＳ２２において、ユーザの回答にネガティブな表現を表す語句を含まない場合に（Ｓ２２でｎｏ）、第１条件を満たさない、すなわちオープン質問終了トリガーがないと判定し、さらに、不足知識があるかを確認する（Ｓ２２１）。つまり、ステップＳ２１におけるユーザの応答の理解結果に含まれるキーワードが、タスクデータ１３１Ａに登録されているキーワードに該当しないときは知識が不足していると判定し（Ｓ２２１でｙｅｓ）、ステップＳ２２２に進む。そうではない場合は（Ｓ２２１でｎｏ）、ステップＳ２１に進む。
【０１８０】
次に、情報処理装置１００Ａは、知識獲得質問応答の処理を行う（Ｓ２２２）。より具体的には、情報処理装置１００Ａは、タスクデータ１３１Ａに含まれていない当該回答に含まれるキーワードについての説明内容を回答するようにリクエストするオープンタイプの質問を出力する。換言すると、情報処理装置１００Ａは、タスクデータ１３１Ａに含まれていないキーワードに関連した知識を獲得する質問文を出力する。そして、情報処理装置１００Ａは、当該質問文に対するユーザの回答により獲得した知識をタスクデータ１３１に追加する。
【０１８１】
このようにして、情報処理装置１００Ａは、オープン質問応答の処理を、第１条件を満たすまで繰り返す。
【０１８２】
以下、知識獲得質問応答の処理を行う場合の一例について実施例として説明する。
【０１８３】
（実施例）
本実施例では、ユーザが探索を要望する情報についての絞り込みを進行させるタスクとして、複数の条件を満たすレシピを絞り込むタスクを行う場合の例について説明する。すなわち、探索の対象が複数の料理のレシピまたはメニューであり、第１タイプの質問であるオープン質問が複数の料理のレシピまたはメニューを絞り込む条件を尋ねる内容を示し、第２タイプの質問であるクローズド質問が複数の料理のレシピまたはメニューを絞り込む条件の一をリクエストするか否かを尋ねる内容を示す場合について説明する。なお、実施の形態１の実施例２で説明した内容と同様のところは説明を省略する。
【０１８４】
図１８Ａは、実施の形態２の実施例に係るタスクデータ１３１Ａの一例を示す図である。なお、図８Ａで説明した内容と同様の点は説明を省略する。また、図１８Ａにおいて、点線で示した楕円の領域Ｒ１は、ステップＳ２１２またはステップＳ２２２で獲得されることとなる知識であり、初期状態では、領域Ｒ１に示される知識は含まれていない。
【０１８５】
図１８Ａに示す例では、チキンカレーまたはキーマカレーが探索の対象となる複数の候補に該当し、洋風、玉葱、アジア風等が特徴、属性または条件等を示す要素情報（キーワード）に該当する。図１８Ａも図８Ａと同様に、巨大な知識ベースの一部を例示したものに該当する。図１８Ａに示す例では、初期状態において、チキンカレーは洋風の料理であり、キーマカレーはアジア風の料理であり、玉葱は、チキンカレーにもキーマカレーにも使われるということを示している。
【０１８６】
図１８Ｂは、実施の形態２の実施例に係る文生成データ１３２Ａの一例を示す図である。図１８Ｂには、図８Ｂの例に加えて、対話制御部１２Ａが参照する知識獲得質問のテンプレートの一例が示されている。知識獲得質問は、ステップＳ２１２またはステップＳ２２２において参照され、この例では、「例えばどんな料理ですか？」という質問で、所望の情報の例示をユーザに求める。
【０１８７】
図１９は、実施の形態２の実施例に係る表示画面Ｄ２６の一例を示す図である。表示画面Ｄ２６は、ステップＳ２０ＡまたはステップＳ２０Ｂのオープン質問ループの処理における対話の一例を示している。以下、図１７Ａで説明した処理に沿って説明する。
【０１８８】
初期状態において、探索の対象となる複数のレシピまたはメニューの候補すなわちレシピ情報は１９８７件登録されているとする。
【０１８９】
まず、この場合、表示画面Ｄ２６に示されるように、まず、情報処理装置１００Ａは、ステップＳ２１において、図１８Ｂを参照して、探索の対象に関するオープンタイプの質問として、１番目「どんなレシピをお探しですか？」を出力し、ユーザは「食べやすいもの」と回答している。情報処理装置１００は、ユーザの回答から、キーワード「たべやすいもの」を抽出する。
【０１９０】
次に、情報処理装置１００Ａは、ステップＳ２１１において、図１８Ａを参照して、不足知識がないか確認する（Ｓ２１１）。キーワード「食べやすいもの」は図１８Ａに示される知識ベースであるタスクデータ１３１Ａに登録されていないので、不足知識があると確認し（Ｓ２１１でｙｅｓ）、ステップＳ２１２に進む。
【０１９１】
次に、情報処理装置１００Ａは、ステップＳ２１２において、図１８Ｂを参照して、知識獲得タイプの質問として「例えばどんな料理ですか？」を出力し、ユーザは「カレー」と回答している。情報処理装置１００Ａは、ユーザの回答から、キーワード「カレー」を抽出し、知識を獲得するための質問文に対する回答に含まれる情報であるキーワード等をタスクデータ１３１Ａに追加格納する。
【０１９２】
ここで、図１８Ａの領域Ｒ１を参照しながら具体的に説明する。情報処理装置１００ＡがステップＳ２１で得られたキーワードは「食べやすいもの」であった。これは、「洋風」などと同様に検索キーとして位置づけられる。また、情報処理装置１００ＡがステップＳ２１２で得られたキーワードは「カレー」であった。これは、「チキンカレー」などと同様に検索対象として位置づけられる。
【０１９３】
しかし、このキーワード「カレー」はユーザが発想したものであり、知識ベースであるタスクデータ１３１Ａ内に存在しない。そこで、タスクデータ１３１Ａ内に存在する検索対象との間で部分文字列マッチングを行うことで、「チキンカレー」または「キーマカレー」が「カレー」の一種であると判断できる。一般的には、検索対象の料理名は、修飾語句がついた長いものが期待され、ユーザが例示する料理名は、一般的名詞などの短い料理名が入力されると期待されるからである。必要であれば、ユーザが例示する料理名を形態素解析することで、形態素に分割してから、部分文字列マッチングを行ってもよい。
【０１９４】
本実施例では、ユーザが例示した「カレー」は「食べやすいもの」という特徴をもった料理の一種であると判断し、「食べやすいもの」と「カレー」を”ＩｓＡ”で結んだものがタスクデータ１３１Ａに格納されている。また、「カレー」と「チキンカレー」と、および、「カレー」と「キーマカレー」とについても、”ＩｓＡ”で結んだものがタスクデータ１３１Ａに格納されている。
【０１９５】
なお、「カレー」を経由せずに、「食べやすいもの」と「チキンカレー」と、および、「食べやすいもの」と「キーマカレー」とを直接”ＩｓＡ”で結んでタスクデータ１３１Ａに格納してもよい。また、ユーザが、「カレー」などの料理の名称に関する直接的な情報ではなく、料理の特徴に関する間接的な情報を提供する場合には、検索キー側とのマッチングを行うことで、検索対象へ結びつきを探索し、適切な関係で結んだものをタスクデータ１３１Ａに格納するとしてもよい。
【０１９６】
獲得した知識の登録が終了したら、ステップＳ２１に戻る。
【０１９７】
次に、情報処理装置１００Ａは、ステップＳ２１において、図１８Ｂを参照して、探索の対象に関するオープンタイプの質問として、２番目以降、「他に何か条件はありますか？」を出力し、ユーザは、「特にないです」と回答している。以降は、図９の表示画面Ｄ２２と同様のため説明を省略する。
【０１９８】
なお、表示画面Ｄ２６でも、システムの発話である吹き出しの上部および下部に、補足的な情報である対話情報が表示されている。表示画面Ｄ２６に示される例では、吹き出しの上部には、レシピの情報の候補の数が示されており、１９８７件→０件→１１件と変化する様子が端的に示されている。また、吹き出しの下部には、その時々の入力例が示されており、「主菜がいい／和食がいい」→空欄→「洋風がいい／魚料理がいい／いいえ」と変化する様子が端的に示されている。このように表示画面Ｄ２６では、吹き出し内にシステムの台詞を口語表現で表示しているのに対して、吹き出しの上部および下部に示される対話情報に、対話の状態に関連する情報を口語表現とは異なる形式で表示している。
【０１９９】
このように、情報処理装置１００Ａは、自身が管理情報として管理する補足的な情報もユーザに提示することで、ユーザの発話がなるべく想定内の発話すなわちタスクデータ１３１Ａに格納されているキーワードが抽出できる発話に収まるように誘導している。
【０２００】
［効果等］
本実施の形態における情報処理装置等によれば、データベース等に予め用意された知識にはないキーワード等の語句に対しても、知識獲得質問によって、知識を新たに獲得しデータベース等に反映できる。これにより、データベース等に予め用意された知識にはないキーワード等の語句が対話でなされたとしても、ユーザとの対話を継続することができるだけでなく、獲得した知識を用いて、タスクの達成に向けてユーザとの対話を継続することができる。
【０２０１】
それにより、本実施の形態における情報処理装置等は、ユーザが探索を要望する情報に関する条件を漏れなく取得できる。これにより、ユーザの所望の探索対象の候補を確実に絞り込んで提示することができる。
【０２０２】
その結果、本実施の形態における情報処理装置等は、対話の制御と、タスク達成によるユーザ満足とを両立して実現できる。
【０２０３】
（実施の形態３）
実施の形態１では、クローズド質問に対するユーザの回答には肯定または否定の語句が含まれている場合を前提に説明したが、それに限らない。以下では、クローズド質問に対するユーザの回答が、クローズド質問に含まれる語句に対する質問であるときを含む場合について実施の形態３として説明する。なお、実施の形態１と同じ点は説明を省略し、実施の形態１と異なる点を中心に説明する。
【０２０４】
［情報処理装置１００Ｂの構成］
図２０は、実施の形態３に係る情報処理装置１００Ｂの構成の一例を示すブロック図である。実施の形態３に係る情報処理装置１００Ｂは、実施の形態１に係る情報処理装置１００に対して、対話制御部１２Ｂとデータベース１３Ｂとの構成が異なる。
【０２０５】
＜対話制御部１２Ｂ＞
対話制御部１２Ｂは、入力処理部１１が出力する理解結果とデータベース１３Ｂとを用いてユーザに対する対話である出力文を決定する機能を有する。また、対話制御部１２Ａは、出力文を決定する機能のみならず、ユーザの欲する情報すなわちユーザが探索を要望する情報の候補の数を管理したり、決定した出力文に対するユーザの応答の例として提示すべき情報を管理する機能も有する。
【０２０６】
本実施の形態では、対話制御部１２Ｂは、入力処理部１１により取得させた第２タイプの質問に対する回答が、当該質問の応答ではなく、当該質問に含まれる語句についての内容説明をリクエストする内容である場合、出力処理部１４に、当該質問に含まれる語句に関する別の語句を含めた説明文を出力させ、その後に、当該質問を再度出力させる。つまり、対話制御部１２Ｂは、入力処理部１１が取得したユーザの回答が、クローズドタイプの質問に対する肯定または否定を示す回答ではなく、当該クローズドタイプの質問に対するユーザ質問である場合、出力処理部１４に、ユーザ質問に対する回答を出力させる。
【０２０７】
＜データベース１３Ｂ＞
本実施の形態では、データベース１３Ｂは、図２０に示すように、タスクデータ１３１と、文を生成するために参照される文生成データ１３２Ｂとで構成されている。
【０２０８】
文生成データ１３２Ｂは、対話制御部１２Ｂが参照するオープン質問のテンプレートおよびクローズド質問のテンプレートを格納するのに加えて、知識を獲得するための質問のテンプレートと、ユーザ質問に対する回答に用いるテンプレートとが格納されている。
【０２０９】
［情報処理装置１００Ｂの処理］
次に、以上のように構成された情報処理装置１００Ｂの処理について説明する。
【０２１０】
図２１は、実施の形態３に係るクローズド質問ループの詳細の一例を示すフローチャートである。なお、図５と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０２１１】
図２１に示すクローズド質問ループ（ステップＳ３０Ａ）の処理において、情報処理装置１００Ｂは、まず、探索の対象に関するクローズドタイプの質問を出力し、その質問に対するユーザの回答を取得して理解するクローズド質問応答の処理を行う（Ｓ３１）。ステップＳ３１において出力した質問はクローズドタイプの質問であるため、質問の中で、回答の内容が指定されている。しかし、クローズドタイプの質問であっても、当該質問に含まれる語句等の表現をユーザが知らない可能性もある。つまり、クローズドタイプの質問に対しては「はい」または「いいえ」など肯定または否定を示すユーザの回答が期待される。しかし、当該質問に含まれる語句等の表現をユーザが知らない場合、当該質問に含まれる語句等の表現に対してユーザ質問が回答として応答される可能性もある。
【０２１２】
次に、情報処理装置１００Ｂは、ステップＳ３１１において、ステップＳ３１において出力した質問に対する応答がユーザ質問であるかを判定する。ユーザ質問であると判定した場合（Ｓ３１１でｙｅｓ）、ステップＳ３１２に進み、そうでなければ（Ｓ３１１でｎｏ）、ステップＳ３２に進む。
【０２１３】
次に、情報処理装置１００Ｂは、ステップＳ３１２において、タスクデータ１３１と文生成データ１３２Ｂとを参照して用意した回答を出力する。そして、情報処理装置１００Ｂは、ステップＳ３１において、再度クローズドタイプの質問を出力する。
【０２１４】
なお、ステップＳ３１で出力されたクローズドタイプの質問に対して、ユーザが質問形式で応答した場合、対話の主導権は一旦システムからユーザに移るが、ステップＳ３１２において回答した直後にステップＳ３１に戻り、次の質問を出力することで、システムが主導権を奪い返すことができる。
【０２１５】
このようにして、情報処理装置１００Ｂは、一貫して、システム主導での対話制御を行うことができる。
【０２１６】
以下、ユーザ質問を受けて回答を出力する場合の一例について実施例として説明する。
【０２１７】
（実施例）
本実施例では、ユーザが探索を要望する情報についての絞り込みを進行させるタスクとして、複数の条件を満たすレシピを絞り込むタスクを行う場合の例について説明する。すなわち、探索の対象が複数の料理のレシピまたはメニューであり、第１タイプの質問であるオープン質問が複数の料理のレシピまたはメニューを絞り込む条件を尋ねる内容を示し、第２タイプの質問であるクローズド質問が複数の料理のレシピまたはメニューを絞り込む条件の一をリクエストするか否かを尋ねる内容を示す場合について説明する。なお、実施の形態１の実施例２で説明した内容と同様のところは説明を省略する。
【０２１８】
図２２Ａは、実施の形態３の実施例に係るタスクデータ１３１の一例を示す図である。なお、図８Ａで説明した内容と同様の点は説明を省略する。
【０２１９】
図２２Ａに示す例では、図８Ａに示した有向グラフに加え、点線で示した楕円の領域Ｒ２が示されている。領域Ｒ２は、ユーザが「土物」についての知識がなかったと想定した場合に、ステップＳ３１２で利用されるユーザ質問に対する回答に用いる知識の一例である。簡便のため、検索のために用いられる領域Ｒ２以外の部分とは別枠として、連結していない。
【０２２０】
図２２Ｂは、実施の形態３の実施例に係る文生成データ１３２Ｂの一例を示す図である。図２２Ｂには、図１７Ｂの例に加えて、対話制御部１２Ｂが参照する回答のためのテンプレートの一例が示されている。ここで、図２２Ｂ中の「ｌｉｓｔ＿ｕｐ（“Ｙ”）」は、条件にある［“Ｙ”  ＩｓＡ  “Ｘ”］という知識が、”Ｘ”に関して、複数見つかった場合に、それらの”Ｙ”に当たるものをリストアップし、日本語としては、「、」を介して連結することを意味している。数が多い場合には、適当な数で打ち切ってもよい。本実施例では、回答は、ステップＳ３１２において、関連するタスクデータ１３１に応じて場合分けされ、「例えばＹ１、Ｙ２です」や、「例えばＺの一種です」などの回答が生成されて出力されることとなる。
【０２２１】
図２３は、実施の形態３の実施例に係る表示画面Ｄ３６の一例を示す図である。表示画面Ｄ３６は、ステップＳ３０Ａのクローズド質問ループの処理における対話の一例を示している。以下、図２１で説明した処理に沿って説明する。なお、表示画面Ｄ３６は、実施の形態１の実施例２で説明した図９に示す表示画面Ｄ３２に対応するものであり、表示画面Ｄ３２を用いて説明した内容と同様の点は説明を省略する。
【０２２２】
表示画面Ｄ３６に示されるように、まず、情報処理装置１００Ｂは、ステップＳ３１において、キーワード「土物」および、適用される関係詞”ＨａｓＡ”が与えられているとすると、図２２Ｂを参照して、「土物を使っていいですか？」を出力し、ユーザは、「それは何ですか？」と応答している。情報処理装置１００Ｂは、ユーザの応答を、「土物」に関するユーザからのＷＨＡＴ型のオープン質問であると理解している。
【０２２３】
次に、情報処理装置１００Ｂは、ステップＳ３１１において、ユーザの応答がユーザ質問であると判定し（Ｓ３１１でｙｅｓ）、ステップＳ３１２に進む。
【０２２４】
次に、情報処理装置１００Ｂは、ステップＳ３１２において、図２２Ａの領域Ｒ２の知識を参照して、回答を用意する。本実施例では、情報処理装置１００Ｂは、［“玉葱”  ＩｓＡ  “土物”］と［“長芋”  ＩｓＡ  “土物”］という知識を参照し、図２２Ｂの文生成データ１３２Ｂに示されるテンプレートを用いて、「例えば、玉葱、長芋です」という回答文を生成する。そして、情報処理装置１００Ｂは、この回答文を出力して、ユーザからの応答を得ずに、ステップＳ３１に戻る。
【０２２５】
次に、情報処理装置１００Ｂは、ステップＳ３１において、ユーザから得られているキーワードに変更がないので、上記と同じクローズド質問「土物を使っていいですか？」を出力する。すると、ユーザは「じゃあ、ＯＫ」と肯定的な回答をしている。情報処理装置１００Ｂは、ユーザの回答から、キーワード「土物」を抽出し、抽出したキーワード「土物」が正のキーワードであると理解している。そして、抽出したキーワード「土物」を用いて、レシピ情報の候補を２１件に絞っている。
【０２２６】
以降は、図９に示す表示画面Ｄ３２と同様であるので説明を省略する。
【０２２７】
［効果等］
本実施の形態における情報処理装置等は、クローズド質問に対するユーザの応答が想定する肯定または否定を示す語句以外の、クローズド質問に含まれる語句等の表現に対するユーザ質問であっても、対話を破綻させずに対話を継続することができる。これにより、ユーザが探索を要望する情報に関する条件を漏れなく取得できる。
【０２２８】
さらに、本実施の形態における情報処理装置等は、クローズド質問に含まれる語句等の表現に対するユーザ質問がされ、ユーザが主導権を握りそうになったとしても、質問に対する回答を適切に行うことでシステムが主導権を奪い返することができる。これにより、ロバストなシステム主導対話の制御が行われている。
【０２２９】
このように、本実施の形態における情報処理装置等によれば、ユーザが探索を要望する情報に関する条件を漏れなく取得できるので、ユーザの所望の探索対象の候補を確実に絞り込んで提示することができる。
【０２３０】
その結果、本実施の形態における情報処理装置等は、対話の制御と、タスク達成によるユーザ満足とを両立して実現できる。
【０２３１】
以上、実施の形態に係る情報処理方法および情報処理装置等について説明したが、本開示は、この実施の形態に限定されるものではない。
【０２３２】
また、上記実施の形態に係る情報処理装置に含まれる各処理部は典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部または全てを含むように１チップ化されてもよい。
【０２３３】
また、集積回路化はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、またはＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０２３４】
また、本開示は、情報処理装置により実行される情報処理方法として実現されてもよい。
【０２３５】
また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【０２３６】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェアまたはソフトウェアが並列または時分割に処理してもよい。
【０２３７】
また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時（並列）に実行されてもよい。
【０２３８】
以上、一つまたは複数の態様に係る情報処理装置等について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【０２３９】
本開示は、オープン質問ループとクローズド質問ループを制御するシステム主導型の対話制御を行う情報処理方法、情報処理装置およびプログラムに適用でき、例えば、疾病情報、レシピ情報、旅行情報、不動産情報などをユーザとの対話により提供する情報処理方法、情報処理装置およびプログラムに利用可能である。
【符号の説明】
【０２４０】
１１  入力処理部
１２、１２Ａ、１２Ｂ  対話制御部
１３、１３Ａ、１３Ｂ  データベース
１４  出力処理部
１００、１００Ａ、１００Ｂ  情報処理装置
１３１、１３１Ａ  タスクデータ
１３２、１３２Ａ、１３２Ｂ  文生成データ
２００、３００  端末
４００  ネットワーク
Ｄ２１、Ｄ２２、Ｄ２３、Ｄ２４、Ｄ２５、Ｄ２６、Ｄ３１、Ｄ３２、Ｄ３３、Ｄ３４、Ｄ３５、Ｄ３６、Ｄ４１、Ｄ４２、Ｄ４３、Ｄ４４、Ｄ４５  表示画面
【図１】
2018092586.tif 000003
【図２】
2018092586.tif 000004
【図３】
2018092586.tif 000005
【図４】
2018092586.tif 000006
【図５】
2018092586.tif 000007
【図６Ａ】
2018092586.tif 000008
【図６Ｂ】
2018092586.tif 000009
【図７】
2018092586.tif 000010
【図８Ａ】
2018092586.tif 000011
【図８Ｂ】
2018092586.tif 000012
【図９】
2018092586.tif 000013
【図１０Ａ】
2018092586.tif 000014
【図１０Ｂ】
2018092586.tif 000015
【図１１】
2018092586.tif 000016
【図１２Ａ】
2018092586.tif 000017
【図１２Ｂ】
2018092586.tif 000018
【図１３】
2018092586.tif 000019
【図１４Ａ】
2018092586.tif 000020
【図１４Ｂ】
2018092586.tif 000021
【図１５】
2018092586.tif 000022
【図１６】
2018092586.tif 000023
【図１７Ａ】
2018092586.tif 000024
【図１７Ｂ】
2018092586.tif 000025
【図１８Ａ】
2018092586.tif 000026
【図１８Ｂ】
2018092586.tif 000027
【図１９】
2018092586.tif 000028
【図２０】
2018092586.tif 000029
【図２１】
2018092586.tif 000030
【図２２Ａ】
2018092586.tif 000031
【図２２Ｂ】
2018092586.tif 000032
【図２３】
2018092586.tif 000033