(57)【要約】【課題】ユーザがやり取りしたい内容に近い対話用のシナリオを提示すること。【解決手段】入力メッセージ取得部１０３は、ユーザによる入力メッセージを取得する。キーワード取得部１０５は、複数の対話用シナリオの各々のユーザ向けメッセージに含まれるキーワードを取得する。シナリオ特定部１０６は、取得された入力メッセージに関連する関連キーワードが第１所定量以上取得される対話用シナリオを、ユーザに提示する対話用シナリオとして特定する。対話データ生成部１０２は、特定された対話用シナリオをユーザに提示するための処理を行う。分岐特定部１０７は、関連キーワードが第２所定量以上取得される分岐を特定する。対話データ生成部１０２は、特定された分岐をユーザに提示するための処理を行う。【選択図】図３
2019197487.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ向けメッセージにより分岐が表された複数の対話用シナリオの前記ユーザ向けメッセージに含まれるキーワードを取得するキーワード取得部と、
ユーザが入力した入力メッセージを取得するメッセージ取得部と、
取得された前記入力メッセージに関連するキーワードが第１所定量以上取得される対話用シナリオを特定するシナリオ特定部と、
特定された対話用シナリオを前記ユーザに提示するための処理を行う処理部と
を備える情報処理装置。
【請求項２】
前記キーワード取得部は、前記複数の対話用シナリオの各々に対応付けて登録されたキーワードをさらに取得する
請求項１に記載の情報処理装置。
【請求項３】
前記ユーザが前記対話用シナリオを利用した履歴を取得する第１履歴取得部を備え、
前記シナリオ特定部は、取得された前記入力メッセージに関連するキーワードの量が前記第１所定量以上であるか否かを判断する際に、前記第１履歴取得部により取得された履歴が示す利用実績が多い対話用シナリオのキーワードの量ほど大きな重みを付ける
請求項１又は２に記載の情報処理装置。
【請求項４】
複数のユーザが前記対話用シナリオを利用した履歴を取得する第２履歴取得部を備え、
前記シナリオ特定部は、取得された前記入力メッセージに関連するキーワードの量が前記第１所定量以上であるか否かを判断する際に、前記第２履歴取得部により取得された履歴が示す利用実績が多い対話用シナリオのキーワードの量ほど大きな重みを付ける
請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記ユーザの入力メッセージの履歴を取得する第３履歴取得部を備え、
前記シナリオ特定部は、取得された前記入力メッセージに関連するキーワードの量が前記第１所定量以上であるか否かを判断する際に、前記第３履歴取得部により取得された履歴に関連する語句が多く含まれる当該キーワードの量ほど大きな重みを付ける
請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
特定された前記対話用シナリオが有する複数の分岐から、取得された前記入力メッセージに関連するキーワードが第２所定量以上取得される分岐を特定する分岐特定部と、
前記処理部は、特定された前記分岐を提示するための処理を行う
請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記処理部は、特定された前記分岐を提示するとともに、当該分岐で入力可能なメッセージの候補を、取得された前記入力メッセージと関連する度合いが高いほど優先して提示する処理を行う
請求項６に記載の情報処理装置。
【請求項８】
１以上の対話用シナリオを提供する提供者が複数存在し、
前記複数の提供者のうち、取得された前記入力メッセージに関連するキーワードが自身の提供する対話用シナリオから第３所定量以上取得される提供者を特定する提供者特定部を備え、
前記処理部は、前記提供者特定部により特定された提供者を提示するための処理を行う
請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
コンピュータを、
ユーザ向けメッセージにより分岐が表された複数の対話用シナリオの前記ユーザ向けメッセージに含まれるキーワードを取得するキーワード取得部と、
ユーザが入力した入力メッセージを取得するメッセージ取得部と、
取得された前記入力メッセージに関連するキーワードが第１所定量以上取得される対話用シナリオを特定するシナリオ特定部と、
特定された対話用シナリオを前記ユーザに提示するための処理を行う処理部
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザインターフェースの技術に関する。
【背景技術】
【０００２】
用意されたシナリオに沿ってユーザとの対話形式のやり取りを実現する技術が知られている。特許文献１には、ユーザからの音声入力に応じてユーザとの対話の進行を規定する対話用シナリオに基づいてユーザへの応答を前記ユーザに提供する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２７７５１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術のような対話型のユーザインターフェースでは、対話用のシナリオが多く用意されるほど、ユーザにとって自分のやり取りしたい内容に近いシナリオを探す手間が大きくなる。
そこで、本発明は、ユーザがやり取りしたい内容に近い対話用のシナリオを提示することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、ユーザ向けメッセージにより分岐が表された複数の対話用シナリオの前記ユーザ向けメッセージに含まれるキーワードを取得するキーワード取得部と、ユーザが入力した入力メッセージを取得するメッセージ取得部と、取得された前記入力メッセージに関連するキーワードが第１所定量以上取得される対話用シナリオを特定するシナリオ特定部と、特定された対話用シナリオを前記ユーザに提示するための処理を行う処理部とを備える情報処理装置を提供する。
【０００６】
また、前記キーワード取得部は、前記複数の対話用シナリオの各々に対応付けて登録されたキーワードをさらに取得してもよい。
【０００７】
また、前記ユーザが前記対話用シナリオを利用した履歴を取得する第１履歴取得部を備え、前記シナリオ特定部は、取得された前記入力メッセージに関連するキーワードの量が前記第１所定量以上であるか否かを判断する際に、前記第１履歴取得部により取得された履歴が示す利用実績が多い対話用シナリオのキーワードの量ほど大きな重みを付けてもよい。
【０００８】
また、複数のユーザが前記対話用シナリオを利用した履歴を取得する第２履歴取得部を備え、前記シナリオ特定部は、取得された前記入力メッセージに関連するキーワードの量が前記第１所定量以上であるか否かを判断する際に、前記第２履歴取得部により取得された履歴が示す利用実績が多い対話用シナリオのキーワードの量ほど大きな重みを付けてもよい。
【０００９】
また、前記ユーザの入力メッセージの履歴を取得する第３履歴取得部を備え、前記シナリオ特定部は、取得された前記入力メッセージに関連するキーワードの量が前記第１所定量以上であるか否かを判断する際に、前記第３履歴取得部により取得された履歴に関連する語句が多く含まれる当該キーワードの量ほど大きな重みを付けてもよい。
【００１０】
また、特定された前記対話用シナリオが有する複数の分岐から、取得された前記入力メッセージに関連するキーワードが第２所定量以上取得される分岐を特定する分岐特定部と、前記処理部は、特定された前記分岐を提示するための処理を行ってもよい。
【００１１】
また、前記処理部は、特定された前記分岐を提示するとともに、当該分岐で入力可能なメッセージの候補を、取得された前記入力メッセージと関連する度合いが高いほど優先して提示する処理を行ってもよい。
【００１２】
また、１以上の対話用シナリオを提供する提供者が複数存在し、前記複数の提供者のうち、取得された前記入力メッセージに関連するキーワードが自身の提供する対話用シナリオから第３所定量以上取得される提供者を特定する提供者特定部を備え、前記処理部は、前記提供者特定部により特定された提供者を提示するための処理を行ってもよい。
【００１３】
また、本発明は、コンピュータを、ユーザ向けメッセージにより分岐が表された複数の対話用シナリオの前記ユーザ向けメッセージに含まれるキーワードを取得するキーワード取得部と、ユーザが入力した入力メッセージを取得するメッセージ取得部と、取得された前記入力メッセージに関連するキーワードが第１所定量以上取得される対話用シナリオを特定するシナリオ特定部と、特定された対話用シナリオを前記ユーザに提示するための処理を行う処理部として機能させるプログラムを提供する。
【発明の効果】
【００１４】
本発明によれば、ユーザがやり取りしたい内容に近い対話用のシナリオを提示することができる。
【図面の簡単な説明】
【００１５】
【図１】実施例に係る対話型ユーザ支援システムの全体構成を表す図
【図２】サーバ装置及びユーザ端末のハードウェア構成を表す図
【図３】対話型ユーザ支援システムが実現する機能構成を表す図
【図４】対話用シナリオの例を表す図
【図５】表示された対話画像の例を表す図
【図６】表示された対話画像の別の例を表す図
【図７】シナリオテーブルの一例を表す図
【図８】表示された対話画像の例を表す図
【図９】表示された対話画像の別の例を表す図
【図１０】支援処理における各装置の動作手順の一例を表す図
【図１１】変形例で実現される機能構成の一例を表す図
【図１２】変形例の補正テーブルの一例を表す図
【図１３】変形例で実現される機能構成の一例を表す図
【図１４】変形例で実現される機能構成の一例を表す図
【図１５】変形例の補正テーブルの一例を表す図
【図１６】変形例で実現される機能構成の一例を表す図
【図１７】変形例で表示された対話画像の例を表す図
【発明を実施するための形態】
【００１６】
［１］実施例
図１は実施例に係る対話型ユーザ支援システム１の全体構成を表す。対話型ユーザ支援システム１は、対話型のユーザインターフェース（ＵＩ：User Interface）によりユーザを支援するためのシステムである。対話型のＵＩとは、人又は動物等を模したふるまいをする装置がユーザに対して問い掛け及び返答等のコミュニケーションを取りながら（対話しながら）必要な情報及び機能等を提示するＵＩのことである。対話型ユーザ支援システム１は、例えば、ユーザが得たい情報を提示したり、ユーザが希望する処理を行うことが可能なサイトに誘導したりすることでユーザを支援する。
【００１７】
対話型ユーザ支援システム１は、ネットワーク２と、サーバ装置１０と、ユーザ端末２０とを備える。ネットワーク２は、移動体通信網及びインターネット等を含む通信システムであり、自システムにアクセスする装置同士のデータのやり取りを中継する。ネットワーク２には、サーバ装置１０が有線通信でアクセスしており、ユーザ端末２０が無線通信でアクセスしている。なお、ネットワーク２とのアクセスは有線通信及び無線通信のどちらでもよい。
【００１８】
サーバ装置１０は、対話型ＵＩにおいて表示される画面の情報を処理する情報処理装置である。サーバ装置１０は、対話の進め方を表した対話用シナリオ等のデータを記憶しており、それらのデータを用いて対話型ＵＩにおける表示を制御する。ユーザ端末２０は、表示面に画像を表示する表示機能を有するスマートフォン等の表示装置であり、ユーザによって利用される。
【００１９】
ユーザ端末２０は、サーバ装置１０から送信されてきたデータが示す画像を表示することで、対話型ＵＩを表示するとともに、ユーザによる入力を受け付けて対話型ＵＩの画面を遷移させる。ここでいう入力とは、文字等の入力の他、ユーザの操作を受け付ける操作子画像を選択する入力、表示された選択肢のいずれかを選択する入力及び画面をスクロールさせるための入力等が含まれ、また、手入力だけでなく、他の身体の部分（足等）による入力、タッチペンによる入力、音声入力及びジェスチャ入力等も含まれる。
【００２０】
図２はサーバ装置１０及びユーザ端末２０のハードウェア構成を表す。サーバ装置１０及びユーザ端末２０は、いずれも、プロセッサ１１と、メモリ１２と、ストレージ１３と、通信装置１４と、入力装置１５と、出力装置１６と、バス１７という各装置を備えるコンピュータである。なお、ここでいう「装置」という文言は、回路、デバイス及びユニット等に読み替えることができる。また、各装置は、１つ又は複数含まれていてもよいし、一部の装置が含まれていなくてもよい。
【００２１】
プロセッサ１１は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ１１は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置（ＣＰＵ：Central Processing Unit）で構成されてもよい。また、プロセッサ１１は、プログラム（プログラムコード）、ソフトウェアモジュール及びデータ等を、ストレージ１３及び／又は通信装置１４からメモリ１２に読み出し、これらに従って各種の処理を実行する。
【００２２】
各種処理を実行するプロセッサ１１は１つでもよいし、２以上であってもよく、２以上のプロセッサ１１は、同時又は逐次に各種処理を実行してもよい。また、プロセッサ１１は、１以上のチップで実装されてもよい。プログラムは、電気通信回線を介してネットワークから送信されてもよい。
【００２３】
メモリ１２は、コンピュータ読み取り可能な記録媒体であり、例えば、ＲＯＭ（Read Only Memory）、ＥＰＲＯＭ（Erasable Programmable ＲＯＭ）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ＲＯＭ）及びＲＡＭ（Random Access Memory）等の少なくとも１つで構成されてもよい。メモリ１２は、レジスタ、キャッシュ及びメインメモリ（主記憶装置）等と呼ばれてもよい。メモリ１２は、前述したプログラム（プログラムコード）、ソフトウェアモジュール及びデータ等を保存することができる。
【００２４】
ストレージ１３は、コンピュータが読み取り可能な記録媒体であり、例えば、ＣＤ−ＲＯＭ（Compact Disc ＲＯＭ）などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク（例えば、コンパクトディスク、デジタル多用途ディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク）、スマートカード、フラッシュメモリ（例えば、カード、スティック、キードライブ）、フロッピー（登録商標）ディスク、磁気ストリップなどの少なくとも１つで構成されてもよい。
【００２５】
ストレージ１３は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ１２及び／又はストレージ１３を含むデータベース、サーバその他の適切な媒体であってもよい。通信装置１４は、有線及び／又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア（送受信デバイス）であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
【００２６】
入力装置１５は、外部からの入力を受け付ける入力デバイス（例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど）である。出力装置１６は、外部への出力を実施する出力デバイス（例えば、ディスプレイ、スピーカ、ＬＥＤランプなど）である。ユーザ端末２０においては、入力装置１５及び出力装置１６が一体となった構成（タッチスクリーン）になっている。
【００２７】
プロセッサ１１及びメモリ１２等の各装置は、情報を通信するためのバス１７を介して互いにアクセス可能となっている。バス１７は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。また、サーバ装置１０等は、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ：Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）、及び、ＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを含んで構成されてもよい。
【００２８】
また、サーバ装置１０等は、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ１１は、これらのハードウェアの少なくとも１つで実装されてもよい。サーバ装置１０及びユーザ端末２０には、本システムで提供されるプログラムが記憶されており、各装置のプロセッサがプログラムを実行して各部を制御することで以下に述べる機能群が実現される。
【００２９】
図３は対話型ユーザ支援システム１が実現する機能構成を表す。ユーザ端末２０は、対話画像表示部２０１と、メッセージ入力受付部２０２とを備える。サーバ装置１０は、データ記憶部１０１と、対話データ生成部１０２と、入力メッセージ取得部１０３と、対話特定部１０４と、キーワード取得部１０５とを備える。対話特定部１０４は、シナリオ特定部１０６と、分岐特定部１０７とを備える。
【００３０】
サーバ装置１０のデータ記憶部１０１は、対話型ＵＩを実現するためのデータとして、複数の対話用シナリオを示すシナリオデータを記憶する。対話用シナリオとは、ユーザにより入力されたメッセージに対してどのような返答、問い掛け及び情報の提示等を行うかという分岐を対話の流れに沿って連続的に定めたものである。ここでいうメッセージとは、文字、記号、符号、番号及び図形等によって相手に伝えたい事項が表された情報である。
【００３１】
対話型ユーザ支援システム１においては、本システムの提供者が作成した総合シナリオと、システム提供者又はシステム提供者と協業する事業者が作成した個別シナリオとが対話用シナリオとして用意されている。データ記憶部１０１は、総合シナリオを示す総合シナリオデータと、各々が個別シナリオを示す複数の個別シナリオデータとを、各々を識別するシナリオＩＤに対応付けて記憶している。
【００３２】
図４は対話用シナリオの例を表す。図４（ａ）では総合シナリオＡ１が、図４（ｂ）では個別シナリオＡ２が表されている。総合シナリオＡ１では、総合シナリオトップＢ１という最上層の分岐（トップ分岐）が、天気Ｂ１１、ニュースＢ１２、シナリオ提示Ｂ１３を含む次の層の複数の分岐に繋がっている。これらの「総合シナリオトップ」、「天気」、「ニュース」及び「シナリオ検索」等の文言は、各分岐に付けられた分岐の特徴を表すタイトルである。
【００３３】
これらの分岐は、いずれもさらに次の分岐に繋がっており、分岐を進むに連れて様々な情報を提供したり処理を実行したりするようになっている。例えば天気Ｂ１１の分岐を辿れば天気に関する情報が提供され、ニュースＢ１２の分岐を辿ればニュースが提供される。また、シナリオ提示Ｂ１３の分岐はユーザが利用したい別の対話用シナリオを提示させるための分岐である。
【００３４】
このように、総合シナリオは、ユーザが要求する情報の提供、ユーザが要求する処理の実行又はユーザが利用したい他のシナリオの提示がなされるようにユーザを導くシナリオである。総合シナリオは、天気及びニュース等の汎用的な情報提供は行うが、例えば店舗情報、チケット情報及び宿泊情報等のように商品購入及びサービス利用に結び付く情報提供及び処理の実行は主として個別シナリオで行われる。
【００３５】
個別シナリオＡ２も、総合シナリオＡ１と同様に、個別シナリオトップＢ２というトップ分岐が、分岐Ｂ２１、分岐Ｂ２２、分岐Ｂ２３を含む複数の次の分岐に繋がっている。各分岐の内容は、シナリオ毎に異なっている。対話用シナリオの各分岐には、ユーザに分岐を選択させるための情報（これを「分岐情報」という）が対応付けられている。対話データ生成部１０２は、それらの分岐情報を用いて対話用シナリオをユーザに提示するための処理を行う。対話データ生成部１０２は本発明の「処理部」の一例である。
【００３６】
対話データ生成部１０２は、データ記憶部１０１からシナリオデータを読み出して、読み出したシナリオデータが示す分岐情報を用いて対話用の画像を示す対話データを生成する。対話データ生成部１０２は、生成した対話データをユーザ端末２０に送信する。ユーザ端末２０の対話画像表示部２０１は、送信されてきた対話データを受け取り、その対話データが示す対話用の画像（対話画像）を表示する。
【００３７】
図５は表示された対話画像の例を表す。図５（ａ）では、対話画像表示部２０１が、総合画面にアバターＣ１と、吹き出し画像Ｄ１と、対話入力欄Ｅ１と、ソフトウェアキーボードＦ１とを表示している。このうちのアバターＣ１、吹き出し画像Ｄ１及び対話入力欄Ｅ１は、対話データが示す対話画像である。アバターＣ１は、対話型のＵＩにおいてユーザの対話の相手である装置を擬人化して表したアバターを示す画像である。
【００３８】
吹き出し画像Ｄ１は、アバターＣ１からユーザに向けてのメッセージ（この例では「何かご用はありませんか？」というメッセージ）を表す画像である。上述したシナリオデータは、これらのユーザ向けメッセージ及び対話画像を分岐情報として含んでいる。対話画像表示部２０１は、表示している対話画像の位置を示す表示位置情報をメッセージ入力受付部２０２に供給する。
【００３９】
メッセージ入力受付部２０２は、対話画像表示部２０１により対話画像が表示されている状態でユーザが行うメッセージの入力を受け付ける。図５（ａ）の例では、ソフトウェアキーボードＦ１を操作して文章を入力することで、ユーザによるメッセージ入力が行われる。メッセージ入力受付部２０２は、供給された表示位置情報に基づいてソフトウェアキーボードＦ１に対するユーザの操作内容（入力されたメッセージ）を判断する。なお、メッセージ入力受付部２０２は、周知の音声認識技術を用いて、ユーザが音声で行ったメッセージ入力を受け付けてもよい。
【００４０】
メッセージ入力受付部２０２は、ユーザによるメッセージ入力を受け付けると、入力メッセージ（入力されたメッセージ）を示す入力メッセージデータをサーバ装置１０に送信する。サーバ装置１０の入力メッセージ取得部１０３は、送信されてきた入力メッセージデータを受け取ると、その入力メッセージデータが示す入力メッセージを取得する。入力メッセージ取得部１０３は本発明の「メッセージ取得部」の一例である。入力メッセージ取得部１０３は、取得した入力メッセージを対話データ生成部１０２に供給する。
【００４１】
対話データ生成部１０２は、供給された入力メッセージから次の分岐を特定し、特定した分岐と供給された入力メッセージとを含む新たな対話用の画像を示す対話データを生成する。図５（ｂ）はそうして生成された対話データが示す対話用の画像を表す。図５（ｂ）では、対話画像表示部２０１が、総合画面に、ユーザの入力メッセージ（「天気を教えて」というメッセージ）を示す吹き出し画像Ｇ２と、新たな分岐情報に含まれるアバターＣ１のユーザ向けメッセージ（「東と西のどちらにしますか？」というメッセージ）を示す吹き出し画像Ｄ２とを表示している。
【００４２】
この例では、対話データ生成部１０２は、入力メッセージに「天気」が含まれているので、タイトルに「天気」が含まれる天気Ｂ１１を次の分岐と判断している。図５（ｂ）に表すユーザ向けメッセージは天気Ｂ１１の分岐情報に含まれる情報である。また、対話画像表示部２０１は、図４（ａ）に表す天気Ｂ１１の次の分岐である東日本Ｂ１１１及び西日本Ｂ１１２を選択するための選択肢画像Ｈ１及びＨ２を表示している。
【００４３】
これらの選択肢画像も天気Ｂ１１の分岐情報に含まれている。これらの選択肢を表す文字列（「東日本」及び「西日本」）は、アバターＣ１のユーザ向けメッセージの一部である。この場合、メッセージ入力受付部２０２は、選択肢画像Ｈ１をタップする操作を東日本Ｂ１１１の分岐を選択するメッセージ入力として受け付け、選択肢画像Ｈ２をタップする操作を西日本Ｂ１１２の分岐を選択するメッセージ入力として受け付ける。
【００４４】
東日本Ｂ１１１の分岐が選択されると、対話データ生成部１０２は、東日本Ｂ１１１の分岐情報を用いて対話データを生成する。図５（ｃ）はそうして生成された対話データが示す対話用の画像を表す。図５（ｃ）では、対話画像表示部２０１が、総合画面に、ユーザの入力メッセージ（「東日本で。」というメッセージ）を示す吹き出し画像Ｇ３と、新たな分岐情報に含まれるアバターＣ１のユーザ向けメッセージ（「東日本の天気は以下のとおりです。」というメッセージ）を示す吹き出し画像Ｄ３とを表示している。
【００４５】
このように、対話用シナリオは、ユーザ向けメッセージ（ユーザに向けたメッセージ）により分岐が表されたシナリオである。シナリオデータには、各分岐の繋がり及び前後関係等を示す繋がり情報と、これらのユーザ向けメッセージ、アバター及び吹き出し画像等を示す分岐情報とが含まれている。また、対話データ生成部１０２は、予めシナリオデータに含まれている分岐情報だけでなく、外部装置から取得した情報（例えば天気予報サイトから取得した天気情報）を天気情報画像Ｊ１として示す対話データを生成している。
【００４６】
なお、天気情報画像Ｊ１が表示されている領域はスクロール可能であり、スクロールすると次の分岐を選択するための選択肢画像が表示されるものとする。続いて、図４（ａ）に表すシナリオ提示Ｂ１３の分岐が選択された場合の対話画像について説明する。シナリオ提示Ｂ１３の分岐が選択されるケースは主に２通りある。１つ目は、ユーザの入力メッセージからユーザが求める対話用シナリオが１つに特定可能な場合である。その場合は、特定された対話用シナリオが提示され、その対話用シナリオへの切り替えを促すユーザ向けメッセージが表示される。
【００４７】
図６は表示された対話画像の別の例を表す。図６（ａ）では、対話画像表示部２０１が、総合画面に、「αを呼んで。」という入力メッセージを示す吹き出し画像Ｇ４と、アバターＣ１と、「αエージェントですね。画面を切り替えますか？」というユーザ向けメッセージを示す吹き出し画像Ｄ４と、「はい」を示す選択肢画像Ｈ３と、「いいえ」を示す選択肢画像Ｈ４とを表示している。
【００４８】
ここで、「エージェント」とは、対話用シナリオを提供する事業者等を指す言葉であり、また、対話用シナリオにおいて対話相手となるアバターの通称としても用いられる。「α」は例えば対話用シナリオを提供する事業者の名称である。対話データ生成部１０２は、「αエージェント」等のエージェントの名称と対話用シナリオとを対応付けたシナリオテーブルを記憶している。
【００４９】
図７はシナリオテーブルの一例を表す。図７の例では、図４（ｂ）の個別シナリオＡ２が「αエージェント」に対応付けられている。また、「βエージェント」及び「γエージェント」等に個別シナリオＡ３及びＡ４等がそれぞれ対応付けられている。対話データ生成部１０２は、総合シナリオトップＢ１において取得された入力メッセージに「α」等のエージェントの名称が含まれている場合、そのエージェントの対話用シナリオへの切り替えを促すためシナリオ提示Ｂ１３の分岐を次の分岐として特定する。
【００５０】
対話データ生成部１０２は、特定したシナリオ提示Ｂ１３の分岐情報と取得された入力メッセージとを用いて、図６（ａ）の吹き出し画像Ｇ４及びＤ４等を示す対話データを生成する。対話データ生成部１０２は、図６（ａ）の画面で「いいえ」が選択された場合は例えば総合シナリオトップＢ１の対話データを再び生成する（「いいえ」の場合に進む分岐が定められていればその分岐に進む対話データを生成してもよい）。
【００５１】
また、対話データ生成部１０２は、「はい」が選択された場合は、提示された対話用シナリオへの切り替えを行う切替Ｂ１３１を次の分岐として特定する。切替Ｂ１３１は、便宜上総合シナリオＡ１に含まれているが、選択された対話用シナリオのトップ分岐に切り替えることを表す分岐である。図６の例では、対話データ生成部１０２は、個別シナリオＡ２の個別シナリオトップＢ２の分岐情報を用いて図６（ｂ）に表す画像を示す対話データを生成する。
【００５２】
図６（ｂ）では、対話画像表示部２０１が、「αエージェント画面」（αエージェントが提供する個別シナリオにおいて表示される画面）に、αエージェントのアバターＣ２と、アバターＣ２の「何かご用でしょうか？」というユーザ向けメッセージを示す吹き出し画像Ｄ５と、対話入力欄Ｅ５と、ソフトウェアキーボードＦ５とを表示している。このように、ユーザが対話用シナリオ（エージェント）を直接指定した場合は、その指定された個別シナリオのトップ分岐から対話が開始される。
【００５３】
続いて、シナリオ提示Ｂ１３の分岐が選択される２つ目のケースとして、対話用シナリオが直接的に指定されないがシナリオ提示がされる場合について説明する。例えば図５（ａ）の画面でユーザが「飛行機を予約したい」というメッセージを入力したとする。入力メッセージ取得部１０３は、取得した入力メッセージを対話データ生成部１０２だけでなく対話特定部１０４にも供給する（この供給は入力メッセージに関係なく常に行われる）。
【００５４】
対話特定部１０４は、供給されたメッセージを入力したユーザとの対話に関する決定を行う。対話特定部１０４は、例えばそのユーザに提示するシナリオを特定し、可能な場合にはそのシナリオの中の分岐のうちユーザに提示する分岐をさらに特定する。対話特定部１０４が備えるシナリオ特定部１０６は、供給された入力メッセージに基づいてユーザに提示する対話用シナリオを特定する。シナリオ特定部１０６は本発明の「シナリオ特定部」の一例である。
【００５５】
シナリオ特定部１０６は、対話用シナリオに含まれるキーワードに基づいて対話用シナリオを特定する。キーワード取得部１０５は、複数の対話用シナリオの各々のユーザ向けメッセージに含まれるキーワードを取得する。キーワード取得部１０５は本発明の「キーワード取得部」の一例である。ここでいうキーワードとは、単語でもよいし、複数の単語からなる句でもよく、いわゆる語句であればよい。
【００５６】
キーワード取得部１０５は、上述した各分岐情報に含まれているユーザ向けメッセージを、そのユーザ向けメッセージが含まれている対話用シナリオのシナリオＩＤに対応付けてデータ記憶部１０１から読み出す。キーワード取得部１０５は、例えば多数の語句が登録された辞書データを記憶しておき、読み出したユーザ向けメッセージに含まれる語句を切り出してキーワードとして取得する。
【００５７】
キーワード取得部１０５は、例えばデータ記憶部１０１に新たなシナリオデータが記憶されたとき、シナリオデータが更新されたとき又は一定の頻度でキーワードを取得する。いずれの場合も、キーワード取得部１０５は、なるべく最新のシナリオデータに含まれるキーワード（つまり最新のキーワード）を取得しておくことが望ましい。キーワード取得部１０５は、取得したキーワードをシナリオＩＤに対応付けて記憶しておく。
【００５８】
シナリオ特定部１０６は、入力メッセージ取得部１０３から入力メッセージが供給されると、キーワード取得部１０５が記憶しているキーワードを読み出す。シナリオ特定部１０６は、供給された入力メッセージ、すなわち入力メッセージ取得部１０３により取得された入力メッセージに関連するキーワード（以下「関連キーワード」という）が第１所定量以上（キーワード取得部１０５により）取得される対話用シナリオを、ユーザに提示する対話用シナリオとして特定する。
【００５９】
第１所定量は、例えば予め定められたキーワードの個数である。その場合、例えば第１所定量が５０個であれば、シナリオ特定部１０６は、関連キーワードが５０個以上取得された対話用シナリオを提示シナリオ（ユーザに提示する対話用シナリオ）として特定する。また、第１所定量は、予め定められた文字数であってもよい。その場合、例えば第１所定量が３００文字であれば、シナリオ特定部１０６は、取得された関連キーワードを合わせた文字数が３００文字以上であった対話用シナリオを提示シナリオとして特定する。
【００６０】
また、第１所定量は、全キーワード数のうちの予め定められた割合の個数であってもよい。その場合、例えば第１所定量が全キーワード数の５０％の個数であれば、シナリオ特定部１０６は、取得された全キーワード数の５０％の個数（全キーワード数が２００個なら１００個）以上の関連キーワードが取得された対話用シナリオを提示シナリオとして特定する。なお、キーワード数の代わりに文字数を用いた場合の同様の割合で第１所定量が定められてもよい。
【００６１】
シナリオ特定部１０６は、例えば次のように関連キーワードを判断する。シナリオ特定部１０６は、辞書データに含まれている各語句に対して各々が関係するジャンル（属性又は分野等でもよい）を対応付けたジャンルデータを記憶しておく。シナリオ特定部１０６は、取得された入力メッセージに含まれるキーワードを抽出し、例えば抽出したキーワードと全く同じキーワード及び抽出したキーワードとジャンルが同じキーワードを関連キーワードと判断する。
【００６２】
なお、関連キーワードの判断方法はこれに限らず、例えば検索サイトが入力されたキーワードに関連するウェブページを検索する際に用いている周知の技術が用いられてもよい。シナリオ特定部１０６は、各対話用シナリオについて関連キーワードの個数を算出し（上記割合を用いる場合は全キーワードの個数も算出し）、第１所定量以上であるか否かを判断する。
【００６３】
シナリオ特定部１０６は、関連キーワードが第１所定量以上であった対話用シナリオを提示シナリオとして特定し、特定した提示シナリオのシナリオＩＤを対話データ生成部１０２に供給する。対話データ生成部１０２は、シナリオ特定部１０６により特定された対話用シナリオをユーザに提示するための処理を行う。対話データ生成部１０２は、例えば、シナリオ提示Ｂ１３の分岐情報と供給されたシナリオＩＤを用いて図８に表すような画像を示す対話データを生成する。
【００６４】
図８は表示された対話画像の例を表す。図８（ａ）では、対話画像表示部２０１が、総合画面に、ユーザによる「夏休みの飛行機を予約したい。」という入力メッセージを示す吹き出し画像Ｇ６と、アバターＣ１と、「対話するエージェントを選んでください。」というユーザ向けメッセージを示す吹き出し画像Ｄ６と、「βエージェント」、「γエージェント」、「Δエージェント」、「εエージェント」を示すアバターＣ３〜Ｃ６と、各エージェントを選択する選択肢画像Ｈ３〜Ｈ６とを表示している。
【００６５】
これらのエージェントは、いずれも、「夏休み」、「飛行機」及び「予約」という語句を含む入力メッセージと関連すると判断された関連キーワードを第１所定量以上含む個別シナリオを提供しているエージェントである。対話データ生成部１０２は、供給された入力メッセージから吹き出し画像Ｇ６を生成し、シナリオ提示Ｂ１３の分岐情報からアバターＣ１及び吹き出し画像Ｄ６を生成する。
【００６６】
また、対話データ生成部１０２は、供給されたシナリオＩＤが示す個別シナリオデータを読み出して、アバターＣ３〜Ｃ６及び選択肢画像Ｈ３〜Ｈ６を生成する。ユーザがいずれかの選択肢画像を選択すると、対話データ生成部１０２は、選択されたエージェントの個別シナリオへの切り替えを行う切替Ｂ１３１を次の分岐として特定する。また、図８の例では、入力メッセージがエージェント名以外のキーワード（図８の例だと「夏休み」、「飛行機」、「予約」）を含んでいる。
【００６７】
この場合、対話特定部１０４が備える分岐特定部１０７が、シナリオ特定部１０６により特定された対話用シナリオが有する複数の分岐から、ユーザに提示する分岐を特定する。分岐特定部１０７は本発明の「分岐特定部」の一例である。具体的には、分岐特定部１０７は、上記の関連キーワード（入力メッセージ取得部１０３により取得された入力メッセージに関連するキーワード）が第２所定量以上取得される分岐を特定する。
【００６８】
分岐特定部１０７は、特定された提示シナリオの各分岐情報に含まれるキーワードから、シナリオ特定部１０６と同様に関連キーワードを判断し、分岐情報に含まれる関連キーワードの量が第２所定量以上であるか否かを各分岐について判断する。第２所定量は、第１所定量よりも少ない量が定められるだけで、第２所定量を用いた判断方法は第１所定量を用いた上記方法と同じ（キーワード数、文字数又はそれらの割合に基づく判断）である。
【００６９】
分岐特定部１０７は、関連キーワードの量が第２所定量以上であった分岐を、提示分岐（ユーザに提示する分岐）として特定する。分岐特定部１０７は、特定した分岐を識別する分岐ＩＤを対話データ生成部１０２に供給する。対話データ生成部１０２は、分岐特定部１０７により特定された分岐をユーザに提示するための処理を行う。対話データ生成部１０２は、例えば、供給された分岐ＩＤが示す分岐の分岐情報を用いて図８（ｂ）に表すような画像を示す対話データを生成する。
【００７０】
図８（ｂ）の例では、対話画像表示部２０１が、図８（ａ）の画面で選択されたγエージェントの画面として、アバターＣ４と、「飛行機予約ですね。出発日はいつですか？」というユーザ向けメッセージを含む吹き出し画像Ｄ７と、出発日の入力欄Ｅ７１と、到着日の入力欄Ｅ７２と、出発地の入力欄Ｅ７３（一部だけ画面に含まれている）と、日付入力用の操作画像Ｆ７とを表示している。
【００７１】
なお、これ以外にも、到着地、人数、座席クラスを入力する入力欄もあるが、１画面に収まらないので、スクロールさせて表示されるようになっている。それらの入力欄及び操作画像Ｆ７は、特定された分岐の分岐情報に含まれる画像である。γエージェントは、飛行機に関する各種の情報（座席の空き、提携ホテルの空き部屋及び運行状況等）を提供し、飛行機に関する各種の処理（航空券予約、宿泊予約及びツアー予約等）を行うことができる個別シナリオを提供している。
【００７２】
図８（ｂ）は航空券予約を行うための分岐であり、個別シナリオのトップ分岐から分岐を辿ると到達する分岐である。このように、対話データ生成部１０２は、図８（ｂ）に表す画像を示す対話データを生成する処理を行うことで、シナリオ特定部１０６により特定された対話用シナリオをユーザに提示する際に、最上層の分岐（トップ分岐）ではなく最初から下層の分岐（分岐特定部１０７により特定された分岐）を提示する処理を行っている。
【００７３】
また、対話データ生成部１０２は、特定された分岐をユーザに提示するとともに、その分岐で入力可能なメッセージの候補を、入力メッセージ取得部１０３により取得された入力メッセージと関連する度合いが高いほど優先して提示する処理を行う。例えば図８の例では「夏休み」という時期を表す語句が入力メッセージに含まれているので、時期に関する「出発日」及び「到着日」の入力欄が優先して提示されている。
【００７４】
より詳細に言うと、「夏休み」、「出発日」及び「到着日」はいずれも「時期」という属性を有する語句なので関連する度合いが高く、他の入力欄はいずれも「夏休み」と共通する属性を有しない語句なので関連する度合いが低いと判断されている。これらの語句の属性（ジャンル、分野でもよい）は例えば辞書データに登録されていればよい。対話データ生成部１０２は、図８の例では、優先度が高い入力欄ほど画面の上側に配置することで優先提示（優先度が高いものを優先して提示すること）を行っている。
【００７５】
また、対話データ生成部１０２は、「出発日はいつですか？」という出発日の入力欄Ｅ７１への入力を促すメッセージを含む吹き出し画像Ｄ７を提示することでも優先提示を行っている。なお、入力欄を横に並べる場合には優先度が高いほど左側（横書きの文字を読み始める方）に配置することで優先提示が行われてもよい。他にも、例えば優先度が高い入力欄を１画面目に提示し、優先度が低い入力欄を２画面目以降で提示することで優先提示を行ってもよい。
【００７６】
また、優先度が高い入力欄をハイライトして提示したり枠線を太くして提示したりしてもよい。また、優先度が高い入力欄ほどサイズを大きくして優先提示を行ってもよい。要するに、優先度が高い入力欄ほどユーザが入力しやすい又はユーザの目につきやすいように提示されていればよい。
図９は表示された対話画像の別の例を表す。図９（ａ）では、図８（ａ）の対話画像と比べて吹き出し画像Ｇ８に「沖縄行の飛行機を予約したい。」というユーザの入力メッセージが示されている点だけが異なっている。
【００７７】
この場合は「沖縄」という場所を表す語句が入力メッセージに含まれているので、図９（ｂ）に表すように、場所に関する「出発地」の入力欄Ｅ９１及び「到着地」の入力欄Ｅ９２が優先して提示されている。また、対話データ生成部１０２は、「出発地はどこですか？」という出発地の入力欄Ｅ９１への入力を促すユーザ向けメッセージを含む吹き出し画像Ｄ９を提示することでも優先提示を行っている。
【００７８】
対話型ユーザ支援システム１が備える各装置は、上記の構成に基づいて対話型ＵＩでユーザを支援する支援処理を行う。
図１０は支援処理における各装置の動作手順の一例を表す。この動作手順は、例えば、ユーザにより総合シナリオのトップ分岐を表示させる操作が行われることを契機に開始される。まず、ユーザ端末２０は、この操作を受け付けると（ステップＳ１１）、総合シナリオのトップ分岐の表示を要求する要求データをサーバ装置１０に送信する（ステップＳ１２）。
【００７９】
サーバ装置１０（対話データ生成部１０２）は、送信されてきた要求データが示す総合シナリオのシナリオデータを読み出して（ステップＳ１３）、読み出したシナリオデータが示すトップ分岐の分岐情報を用いて対話データを生成する（ステップＳ１４）。次に、対話データ生成部１０２は、生成した対話データをユーザ端末２０に送信する（ステップＳ１５）。ユーザ端末２０（対話画像表示部２０１）は、送信されてきた対話データが示す対話用の画像（トップ分岐の画像）を表示する（ステップＳ１６）。
【００８０】
続いて、対話画像が表示されている状態でユーザによるメッセージ入力が行われると、ユーザ端末２０（メッセージ入力受付部２０２）は、そのメッセージ入力を受け付けて（ステップＳ２１）、入力されたメッセージを示す入力メッセージデータをサーバ装置１０に送信する（ステップＳ２２）。サーバ装置１０（入力メッセージ取得部１０３）は、送信されてきた入力メッセージデータが示す入力メッセージを取得する（ステップＳ２３）。
【００８１】
次に、サーバ装置１０（対話特定部１０４）は、自装置に記憶されているキーワード（対話用シナリオのユーザ向けメッセージに含まれるキーワード）を読み出す（ステップＳ２４）。そして、サーバ装置１０（シナリオ特定部１０６）は、読み出したキーワードを用いて、取得された入力メッセージに関連するキーワード（関連キーワード）が第１所定量以上の対話用シナリオを提示シナリオとして特定する（ステップＳ２５）。
【００８２】
また、サーバ装置１０（分岐特定部１０７）は、特定された対話用シナリオが有する複数の分岐から、関連キーワードが第２所定量以上取得される分岐を特定する（ステップＳ２６）。次に、サーバ装置１０（対話データ生成部１０２）は、特定された対話用シナリオのシナリオデータを読み出して（ステップＳ２７）、特定された分岐の分岐情報を用いて対話データを生成し（ステップＳ２８）、生成した対話データをユーザ端末２０に送信する（ステップＳ２９）。ユーザ端末２０（対話画像表示部２０１）は、送信されてきた対話データが示す対話用の画像を表示する（ステップＳ３０）。
【００８３】
本実施例では、上記のとおりユーザの入力メッセージに関連する関連キーワードを多く含む（第１所定量以上含む）対話用シナリオがそのユーザに提示される。こうして提示された対話用シナリオは、関連キーワードが少ない対話用シナリオに比べてユーザがやり取りしたい内容に近いものになりやすい。このように、本実施例によれば、関連キーワードを考慮しない場合に比べて、ユーザがやり取りしたい内容に近い対話用のシナリオをそのユーザに提示することができる。
【００８４】
また、本実施例では、さらに、関連キーワードを多く含む（第２所定量以上含む）分岐がユーザに提示される。これにより、常に対話用シナリオを最初から（トップ分岐から）提示する場合に比べて、ユーザがやり取りしたい対話を最初から行わせることができる。また、本実施例では、入力可能なメッセージの候補（図８（ｂ）の例では出発地、到着地、出発日、到着日）のうち、先に入力されたメッセージに関連する候補（図８（ｂ）の例では出発日、到着日）が識別可能に提示される。
【００８５】
ユーザの入力メッセージには、ユーザが関心を持つ語句が含まれていることが多い（図８の例なら「夏休み」の予定に関心があり、図９の例なら「沖縄」に関心がある）。上記提示により、その関心がある語句に関連する入力を先に行うことができるので、どの候補も一様に提示される場合に比べて、次の分岐に進んだときに、ユーザの関心が高い内容をすぐに入力させることができる。
【００８６】
［２］変形例
上述した実施例は本発明の実施の一例に過ぎず、以下のように変形させてもよい。
【００８７】
［２−１］登録されたキーワード
キーワード取得部１０５は、実施例では対話用シナリオの分岐を表す応答文に含まれるキーワードを取得したが、これに限らない。例えば対話用シナリオの提供者がその対話用シナリオの特徴等を表す文章を登録する場合がある。キーワード取得部１０５は、そのような文章に含まれているキーワード、すなわち複数の対話用シナリオの各々に対応付けて登録されたキーワードをさらに取得してもよい。
【００８８】
本変形例では、データ記憶部１０１が、登録されたそれらの文章を示すシナリオデータ（総合シナリオデータ及び個別シナリオデータ）を記憶する。キーワード取得部１０５は、シナリオデータからそれらの文章に含まれる語句を切り出してキーワードとして取得する。シナリオ特定部１０６は、そうして取得されたキーワードも含めて関連キーワードを判断し、関連キーワードの量に基づいて実施例と同様にして提示シナリオを特定する。
【００８９】
本変形例では、対話用シナリオの提供者は、提供する対話用シナリオを利用してほしいユーザがメッセージとして入力しそうな語句を含む文章を登録しておくことで、提示シナリオとして特定されやすいようにすることができる。また、ユーザ向けメッセージにそのような語句を含めすぎると不自然な文章になるが、上記の登録された文章は対話の際に提示されることはないので、ユーザに不自然な印象を与えることなく提示シナリオとして特定されやすいようにすることができる。
【００９０】
なお、ユーザ向けメッセージに含まれるキーワードと登録されたキーワードとで重み付けを異ならせてもよい。例えば、シナリオ特定部１０６は、登録されたキーワードは個数を多くする補正をして（例えば５倍にして）キーワードの個数を算出し、関連キーワードの量が第１所定量以上であるか否かを判断してもよい。この場合は、重み付けをしない場合に比べて、提供者の意向をより強く反映した提示シナリオの特定を行うことができる。
【００９１】
また、反対に、ユーザ向けメッセージに含まれるキーワードの個数を多くする補正をしてもよい。この場合は、重み付けをしない場合に比べて、提供者の意向により（例えば対話用シナリオとは関係のない語句を多く含む文章を登録することで）適当でない提示シナリオが特定されることを抑制することができる。なお、以下の説明では、キーワード取得部１０５により取得されたキーワードと言った場合には、ユーザ向けメッセージに含まれるキーワードだけの場合も、ユーザ向けメッセージに含まれるキーワード及び登録されたキーワードの両方である場合も、どちらも含まれるものとする。
【００９２】
［２−２］シナリオの利用履歴
ユーザがよく利用する対話用シナリオが分かっている場合には、その対話用シナリオが特定されやすいようにしてもよい。
図１１は本変形例で実現される機能構成の一例を表す。図１１では、図３に表す各部に加えて第１利用履歴取得部１１１を備えるサーバ装置１０ａが表されている。
【００９３】
第１利用履歴取得部１１１は、ユーザが対話用シナリオを利用した履歴を取得する。第１利用履歴取得部１１１は本発明の「第１履歴取得部」の一例である。本変形例では、対話データ生成部１０２が、対話データに用いる対話用シナリオを特定する度に、特定した対話用シナリオのシナリオＩＤを、対話データの送信先のユーザ端末２０を利用するユーザＩＤ（予め記憶しておく）に対応付けて第１利用履歴取得部１１１に供給する。
【００９４】
第１利用履歴取得部１１１は、供給されたシナリオＩＤを、ともに供給されたユーザＩＤのユーザの対話用シナリオの利用履歴として取得する。第１利用履歴取得部１１１は、取得した利用履歴（シナリオＩＤ及びユーザＩＤ）を、取得した日時（使用日時とする）に対応付けて記憶しておく。シナリオ特定部１０６は、関連キーワードの量が第１所定量以上であるか否かを判断する際に、第１利用履歴取得部１１１により取得された履歴が示す利用実績が多い対話用シナリオのキーワードの量ほど大きな重みを付ける。
【００９５】
シナリオ特定部１０６は、例えば、対話用シナリオの利用実績と補正係数とを対応付けた補正テーブルを用いてこの重み付けを行う。
図１２は本変形例の補正テーブルの一例を表す。図１２の例では、「Ｎ１１未満」、「Ｎ１１以上Ｎ１２未満」、「Ｎ１２以上」（Ｎ１１、Ｎ１２はそれぞれ自然数）という利用実績に「１．０」、「１．２」、「１．４」という補正係数が対応付けられている。
【００９６】
利用実績は、例えば過去の通算の利用回数でもよいし、過去の所定の期間の利用回数（利用頻度に相当）でもよい。シナリオ特定部１０６は、対話用シナリオを提示するユーザのユーザＩＤに対応付けて記憶されている利用履歴を第１利用履歴取得部１１１から読み出して利用実績を算出する。シナリオ特定部１０６は、算出した利用実績に補正テーブルで対応付けられている補正係数を読み出す。
【００９７】
シナリオ特定部１０６は、各対話用シナリオについて関連キーワードの量を算出する際に、その対話用シナリオについて読み出した補正係数を乗じて関連キーワードの量を算出する。その結果、例えば利用実績がＮ１２以上の対話用シナリオであれば、関連キーワードの量が１．４倍されるので、第１所定量以上と判断されやすくなり、提示シナリオとして特定されやすくなる。
【００９８】
本変形例によれば、上記重み付けをしない場合に比べて、ユーザがよく利用する対話用シナリオがそのユーザに提示されやすくなる。なお、シナリオ特定部１０６と同様に、分岐特定部１０７が、関連キーワードの量が第２所定量以上であるか否かを判断する際に、第１利用履歴取得部１１１により取得された履歴が示す利用実績が多い対話用シナリオのキーワードの量ほど大きな重みを付けてもよい。その場合、この重み付けをしない場合に比べて、ユーザがよく利用する分岐がそのユーザに提示されやすくなる。
【００９９】
［２−３］複数ユーザの利用履歴
複数のユーザがよく利用する対話用シナリオが分かっている場合には、その対話用シナリオが特定されやすいようにしてもよい。
図１３は本変形例で実現される機能構成の一例を表す。図１３では、図３に表す各部に加えて第２利用履歴取得部１１２を備えるサーバ装置１０ｂが表されている。
【０１００】
第２利用履歴取得部１１２は、複数のユーザが対話用シナリオを利用した履歴を取得する。第２利用履歴取得部１１２は本発明の「第２履歴取得部」の一例である。ここでいう複数のユーザには、対話用シナリオを提示する対象ユーザを含んでいてもよいし、含んでいなくてもよい。本変形例では、対話データ生成部１０２が、対話データに用いる対話用シナリオを特定する度に、特定した対話用シナリオのシナリオＩＤを第２利用履歴取得部１１２に供給する（ユーザＩＤへの対応付けは不要）。
【０１０１】
第２利用履歴取得部１１２は、供給されたシナリオＩＤを複数のユーザの対話用シナリオの利用履歴として取得する。第２利用履歴取得部１１２は、取得した利用履歴（シナリオＩＤ）を、取得した日時（使用日時とする）に対応付けて記憶しておく。シナリオ特定部１０６は、関連キーワードの量が第１所定量以上であるか否かを判断する際に、第２利用履歴取得部１１２により取得された履歴が示す複数のユーザの利用実績が多い対話用シナリオのキーワードの量ほど大きな重みを付ける。
【０１０２】
シナリオ特定部１０６は、例えば図１２に表す補正テーブルを用いて、上記変形例と同様の方法でこの重み付けを行う。上記変形例と比べると、複数ユーザの利用実績のため件数が多くなるから、補正テーブルのＮ１１及びＮ１２の値を大きくして用いるとよい。本変形例によれば、上記重み付けをしない場合に比べて、複数のユーザがよく利用する対話用シナリオがどのユーザにも提示されやすくなるし、ユーザ自身は利用したことがない対話用シナリオであっても、他のユーザがよく利用しているものであれば提示されやすくなる。
【０１０３】
なお、シナリオ特定部１０６と同様に、分岐特定部１０７が、関連キーワードの量が第２所定量以上であるか否かを判断する際に、第２利用履歴取得部１１２により取得された履歴が示す複数のユーザの利用実績が多い対話用シナリオのキーワードの量ほど大きな重みを付けてもよい。その場合、この重み付けをしない場合に比べて、複数のユーザがよく利用する分岐がそのユーザに提示されやすくなるし、ユーザ自身は利用したことがない分岐であっても、他のユーザがよく利用しているものであれば提示されやすくなる。
【０１０４】
［２−４］入力メッセージの履歴
実施例では、ユーザがメッセージを入力した際にその入力メッセージだけに関係が深い対話用シナリオが特定されたが、過去も含めた入力メッセージに関係が深い対話用シナリオが特定されてもよい。
図１４は本変形例で実現される機能構成の一例を表す。図１４では、図３に表す各部に加えてメッセージ履歴取得部１１３を備えるサーバ装置１０ｃが表されている。
【０１０５】
メッセージ履歴取得部１１３は、ユーザの入力メッセージの履歴を取得する。メッセージ履歴取得部１１３は本発明の「第３履歴取得部」の一例である。本変形例では、入力メッセージ取得部１０３が、取得した入力メッセージを、入力メッセージデータの送信元のユーザ端末２０を利用するユーザＩＤに対応付けてメッセージ履歴取得部１１３に供給する。メッセージ履歴取得部１１３は、供給された入力メッセージ及びユーザＩＤをそのユーザＩＤのユーザの入力メッセージの履歴として取得する。
【０１０６】
メッセージ履歴取得部１１３は、取得した入力メッセージの履歴を、取得した日時（入力日時とする）に対応付けて記憶しておく。シナリオ特定部１０６は、関連キーワードの量が第１所定量以上であるか否かを判断する際に、メッセージ履歴取得部１１３により取得された入力メッセージの履歴に関連する語句が多く含まれる関連キーワードの量ほど大きな重みを付ける。関連する語句とは、例えば関連キーワードと同一の語句又は関連キーワードとジャンル（属性又は分野等でもよい）が同じ語句である。
【０１０７】
シナリオ特定部１０６は、例えば、関連キーワードに関連する語句の量と補正係数とを対応付けた補正テーブルを用いてこの重み付けを行う。
図１５は本変形例の補正テーブルの一例を表す。図１５の例では、「Ｎ２１未満」、「Ｎ２１以上Ｎ２２未満」、「Ｎ２２以上」という関連する語句の量に「１．０」、「１．２」、「１．４」という補正係数が対応付けられている。
【０１０８】
シナリオ特定部１０６は、関連キーワードの量を算出する際に、その関連キーワードに関連する語句をユーザの入力メッセージの履歴から抽出し、抽出した語句の量に補正テーブルで対応付けられている補正係数を乗じてその関連キーワードの量を算出する。ここでいう語句の量とは、抽出した語句の個数、抽出した全語句の文字数又はそれらの履歴全体における割合で表される。本変形例によれば、上記重み付けをしない場合に比べて、ユーザがよくメッセージとして入力する語句、すなわち普段から関心が高い事柄内容に関係が深い対話用シナリオがユーザにも提示されやすくなる。
【０１０９】
なお、シナリオ特定部１０６と同様に、分岐特定部１０７が、関連キーワードの量が第２所定量以上であるか否かを判断する際に、メッセージ履歴取得部１１３により取得された履歴に関連する語句が多く含まれる関連キーワードの量ほど大きな重みを付けてもよい。その場合、この重み付けをしない場合に比べて、ユーザがよくメッセージとして入力する語句、すなわち普段から関心が高い事柄に関係が深い分岐がそのユーザに提示されやすくなる。
【０１１０】
［２−５］提供者の特定
実施例では、対話用シナリオ及び分岐が特定されたが、１以上の対話用シナリオを提供する提供者（例えば上述したエージェント）が複数存在する場合に、それらのうちのいずれかの提供者が特定されてもよい。このように提供者を特定することで、特定された提供者が例えば複数の対話用シナリオを提供していれば、それら複数の対話用シナリオがまとめて特定されることになる。
【０１１１】
図１６は本変形例で実現される機能構成の一例を表す。図１６では、図３に表す各部に加えてシナリオ提供者特定部１１４を備えるサーバ装置１０ｄが表されている。シナリオ提供者特定部１１４は、複数の提供者のうち、自身の提供する対話用シナリオから上記の関連キーワードが第３所定量以上（キーワード取得部１０５により）取得される提供者を特定する。シナリオ提供者特定部１１４は本発明の「提供者特定部」の一例である。
【０１１２】
シナリオ提供者特定部１１４は、シナリオ特定部１０６と同じ方法で関連キーワードを判断し、関連キーワードの量を提供者毎に算出する。シナリオ提供者特定部１１４は、算出した関連キーワードの量が第３所定量以上であるか否かを判断する。この判断方法は、シナリオ特定部１０６が実施例で行った方法と同じである。シナリオ提供者特定部１１４は、特定した提供者が提供する全ての対話用シナリオのシナリオＩＤを対話データ生成部１０２に供給する。
【０１１３】
対話データ生成部１０２は、シナリオ提供者特定部１１４により特定された提供者及びその提供者が提供する対話用シナリオをユーザに提示するための処理を行う。
図１７は本変形例で表示された対話画像の例を表す。図１７では、対話画像表示部２０１が、総合画面に、ユーザの「夏休みの飛行機を予約したい。」という入力メッセージを示す吹き出し画像Ｇ１０と、アバターＣ１と、「あなた向けのエージェントが見つかりました。」というユーザ向けメッセージを示す吹き出し画像Ｄ１０と、「Δエージェント」を示すアバターＣ５とを表示している。
【０１１４】
また、対話画像表示部２０１が、Δエージェントを選択する選択肢画像Ｈ１０１と、Δエージェントが提供する対話用シナリオ（「飛行機予約」、「レンタカー予約」及び「キッズイベント検索」）を選択する選択肢画像Ｈ１０２、Ｈ１０３、Ｈ１０４とを表示している。Δエージェントは、各予約と検索を行うための個別シナリオと、それらの個別シナリオに導くための総合シナリオとを提供している。
【０１１５】
選択肢画像Ｈ１０１はその総合シナリオのトップ分岐に進むための選択肢画像であり、選択肢画像Ｈ１０２、Ｈ１０３、Ｈ１０４は各個別シナリオのトップ分岐に進むための選択肢画像である。吹き出し画像Ｇ１０が示す入力メッセージでは「夏休み」「飛行機」「予約」という語句しか含まれていないが、このユーザの過去の入力メッセージには車を借りることに関する語句（「レンタカー」及び「カーチェア」等）及び子供に関する語句（「ランドセル」及び「通学路」等）が含まれていたとする。
【０１１６】
そのため、シナリオ提供者特定部１１４は、それらに関係が深い対話用シナリオ（「レンタカー予約」及び「キッズイベント検索」）を提供するΔエージェントを特定されている。なお、図１７の例では、提供者及びその提供者が提供する対話用シナリオの両方が提示されたが、提供者だけが提示されてもよい。その場合でも、Δエージェントのように提供者による総合シナリオが提供されていれば、その総合シナリオから各個別シナリオを利用することができる。
【０１１７】
本変形例では、ユーザが現在関心を持ちそうな（取得された入力メッセージと関係が深い）個々の対話用シナリオだけでなく、ユーザが今後関心を持つ可能性が高い対話用シナリオを多く提供する提供者をそのユーザに知ってもらうことができる。その結果、提供者の特定及びその提供者の提示処理を行わない場合に比べて、ユーザにより多くの対話用シナリオを利用してもらうことができる。
【０１１８】
［２−６］各部を実現する装置
図３等に表す各機能を実現する装置は、それらの図に表された装置に限らない。例えばサーバ装置１０が備える機能をユーザ端末が実現してもよい。その場合、ユーザ端末が本発明の「情報処理装置」の一例となる。また、各機能が行う動作を他の機能が行ってもよいし、新たな機能に行わせてもよい。
【０１１９】
例えばキーワード取得部１０５が行う動作（キーワードの取得動作及び記憶動作）を対話特定部１０４が行ってもよい。また、キーワード取得部１０５が行うキーワードの記憶動作を例えば新たに設けたキーワード記憶部が行ってもよい。また、サーバ装置１０が備える各機能を２以上の装置が分担してそれぞれ実現してもよい。要するに、対話型ユーザ支援システム全体としてこれらの機能が実現されていれば、対話型ユーザ支援システムが何台の装置を備えていてもよい。
【０１２０】
［２−７］発明のカテゴリ
本発明は、ユーザ端末及びサーバ装置のような情報処理装置の他、それらの装置を備える対話型ユーザ支援システムのような情報処理システムとしても捉えられる。また、本発明は、各装置が実施する処理を実現するための情報処理方法としても捉えられるし、各装置を制御するコンピュータを機能させるためのプログラムとしても捉えられる。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されてもよいし、インターネット等のネットワークを介してコンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態で提供されてもよい。
【０１２１】
［２−８］処理手順等
本明細書で説明した各実施例の処理手順、シーケンス、フローチャートなどは、矛盾がない限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【０１２２】
［２−９］入出力された情報等の扱い
入出力された情報等は特定の場所(例えばメモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【０１２３】
［２−１０］ソフトウェア
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【０１２４】
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線（ＤＳＬ）などの有線技術及び／又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び／又は無線技術は、伝送媒体の定義内に含まれる。
【０１２５】
［２−１１］情報、信号
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【０１２６】
［２−１２］システム、ネットワーク
本明細書で使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
【０１２７】
［２−１３］「に基づいて」の意味
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【０１２８】
［２−１４］「及び」、「又は」
本明細書において、「Ａ及びＢ」でも「Ａ又はＢ」でも実施可能な構成については、一方の表現で記載された構成を、他方の表現で記載された構成として用いてもよい。例えば「Ａ及びＢ」と記載されている場合、他の記載との不整合が生じず実施可能であれば、「Ａ又はＢ」として用いてもよい。
【０１２９】
［２−１５］態様のバリエーション等
本明細書で説明した各実施例は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知（例えば、「Ｘであること」の通知）は、明示的に行うものに限られず、暗黙的（例えば、当該所定の情報の通知を行わない）ことによって行われてもよい。
【０１３０】
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
【符号の説明】
【０１３１】
１…対話型ユーザ支援システム、１０…サーバ装置、２０…ユーザ端末、１０１…データ記憶部、１０２…対話データ生成部、１０３…入力メッセージ取得部、１０４…対話特定部、１０５…キーワード取得部、１０６…シナリオ特定部、１０７…分岐特定部、１１１…第１利用履歴取得部、１１２…第２利用履歴取得部、１１３…メッセージ履歴取得部、１１４…シナリオ提供者特定部、２０１…対話画像表示部、２０２…メッセージ入力受付部。
【図１】
2019197487.tif 000003
【図２】
2019197487.tif 000004
【図３】
2019197487.tif 000005
【図４】
2019197487.tif 000006
【図５】
2019197487.tif 000007
【図６】
2019197487.tif 000008
【図７】
2019197487.tif 000009
【図８】
2019197487.tif 000010
【図９】
2019197487.tif 000011
【図１０】
2019197487.tif 000012
【図１１】
2019197487.tif 000013
【図１２】
2019197487.tif 000014
【図１３】
2019197487.tif 000015
【図１４】
2019197487.tif 000016
【図１５】
2019197487.tif 000017
【図１６】
2019197487.tif 000018
【図１７】
2019197487.tif 000019