(57)【要約】【課題】ユーザの買いたい商品が当初からはっきりしていない場合でも、対話を通じてよりユーザの嗜好に合った商品を提案できるようにする。【解決手段】複数種類の対話テンプレートをシナリオに沿って順次読み出して対話文を生成しユーザに提供する対話文提供部３と、対話文に対してユーザが肯定の応答をした場合に、当該対話文に関連して検索キーワードを生成するキーワード生成部４と、生成した検索キーワードにより商品情報記憶部２を検索して商品をユーザに提示する商品提示部５とを備え、システムとユーザとの間の繰り返しの対話の中でユーザが肯定の応答をすることによって興味を示した事柄に沿った商品を提案できるようにする。また、様々な内容の対話を通じて商品の提案を行うことにより、ユーザの買いたい商品がはっきりしていない場合でも、対話を通じてユーザの嗜好に合った商品を提案できるようにする。【選択図】図１
2014167722.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに対話文を提供する際に使用する複数種類の対話テンプレートを記憶する対話テンプレート記憶部と、
上記ユーザに提案する商品の情報を記憶する商品情報記憶部と、
上記対話テンプレート記憶部に記憶されている上記複数種類の対話テンプレートを所定のシナリオに沿って順次読み出して対話文を生成し、ユーザに提供する対話文提供部と、
上記対話文提供部により提供された対話文に対してユーザが肯定の応答をした場合に、当該対話文に関連して商品の検索キーワードを生成するキーワード生成部と、
上記キーワード生成部により生成された検索キーワードを用いて上記商品情報記憶部を検索し、上記検索キーワードに合致する商品を抽出してユーザに提示する商品提示部とを備えたことを特徴とする商品情報提供システム。
【請求項２】
上記対話テンプレートは、あらかじめ決められた文言による対話文を生成するための定型対話のテンプレートとを含み、
上記キーワード生成部は、上記対話文提供部により上記定型対話のテンプレートから生成された対話文に対してユーザが肯定の応答をした場合には、当該定型対話のテンプレートによりあらかじめ定められたキーワードを上記検索キーワードとして生成することを特徴とする請求項１に記載の商品情報提供システム。
【請求項３】
上記対話テンプレートは、あらかじめ決められた文言の中に上記対話文提供部が生成する挿入キーワードを挿入することによって対話文を生成するための置換対話のテンプレートを含み、
上記キーワード生成部は、上記対話文提供部により上記置換対話のテンプレートから生成された対話文に対してユーザが肯定の応答をした場合には、上記対話文提供部が生成して文言中に挿入した上記挿入キーワードを上記検索キーワードとして生成することを特徴とする請求項１に記載の商品情報提供システム。
【請求項４】
上記対話テンプレートは、ユーザに対してテキスト文の入力による自由発言を促す対話文を生成するための自由発言のテンプレートを含み、
上記キーワード生成部は、上記対話文提供部により上記自由発言のテンプレートから生成された対話文に対してユーザが肯定の応答をして上記テキスト文を入力した場合には、当該テキスト文の中から上記検索キーワードを生成することを特徴とする請求項１に記載の商品情報提供システム。
【請求項５】
上記対話テンプレートは、あらかじめ決められた文言の中に上記対話文提供部が生成する挿入キーワードを挿入することによって対話文を生成するための置換対話のテンプレートを更に含み、
上記キーワード生成部は、上記対話文提供部により上記置換対話のテンプレートから生成された対話文に対してユーザが肯定の応答をした場合には、上記対話文提供部が生成して文言中に挿入した上記挿入キーワードを上記検索キーワードとして生成し、
上記キーワード生成部は更に、上記対話文提供部により上記自由発言のテンプレートから生成された対話文に対してユーザが肯定の応答をして上記テキスト文を入力した場合には、当該テキスト文の中から抽出したキーワードを上記挿入キーワードとして用いて上記置換対話の対話文を上記対話文提供部に生成させ、当該置換対話の対話文に対してユーザが肯定の応答をした場合に、上記挿入キーワードを上記検索キーワードとして生成することを特徴とする請求項４に記載の商品情報提供システム。
【請求項６】
上記キーワード生成部により順次生成される１以上の検索キーワードを記憶する検索キーワード記憶部を更に備え、
上記商品提示部は、上記検索キーワード記憶部に記憶されている上記１以上の検索キーワードを用いたＯＲ検索により、上記商品情報記憶部の中から当該ＯＲ検索の検索条件に合致する商品を抽出してユーザに提示するようになされ、
上記対話テンプレートは、ユーザに対して視点を変えた商品検索を促す対話文を生成するための視点変換のテンプレートを含み、
上記キーワード生成部は、上記対話文提供部により上記視点変換のテンプレートから生成された対話文に対してユーザが肯定の応答をした場合には、上記検索キーワード記憶部に記憶されている上記１以上の検索キーワードを用いたＯＲ検索の検索条件とは異なる検索条件を生成することを特徴とする請求項１に記載の商品情報提供システム。
【請求項７】
上記対話文提供部は、上記ユーザが使用しているソーシャルネットワーキングサービスのウェブサイトに登録されているプロフィール情報から上記ユーザの興味情報を抽出し、当該興味情報から上記挿入キーワードを生成することを特徴とする請求項３に記載の商品情報提供システム。
【請求項８】
上記対話文提供部は、上記ユーザが使用しているソーシャルネットワーキングサービスのウェブサイトから直近の発言情報を抽出し、当該発言情報から上記挿入キーワードを生成することを特徴とする請求項３に記載の商品情報提供システム。
【請求項９】
上記対話文提供部は、上記商品提示部により提示された商品の中からユーザにより取り置きされた商品の説明文を上記商品情報記憶部から抽出し、当該商品の説明文から上記挿入キーワードを生成することを特徴とする請求項３に記載の商品情報提供システム。
【請求項１０】
一のキーワードとそれに対する関連キーワードとを対応付けて関連キーワード情報として記憶した関連キーワード記憶部と、
上記関連キーワード記憶部に記憶されている関連キーワード情報に基づいてキーワード変換を行うキーワード変換部とを更に備え、
上記対話文提供部は、上記興味情報、上記発言情報または上記商品の説明文から生成した挿入キーワードを上記キーワード変換部に供給して上記キーワード変換を実行させ、上記キーワード変換部より出力された関連キーワードを最終的な上記挿入キーワードとして生成することを特徴とする請求項７〜９の何れか１項に記載の商品情報提供システム。
【請求項１１】
上記キーワード生成部により順次生成される１以上の検索キーワードを記憶する検索キーワード記憶部を更に備え、
上記商品提示部は、上記検索キーワード記憶部に記憶されている上記１以上の検索キーワードを用いたＯＲ検索により、上記商品情報記憶部の中から当該ＯＲ検索の検索条件に合致する商品を抽出してユーザに提示するようになされ、
上記対話文提供部は、上記検索キーワード記憶部から抽出した何れかの検索キーワードを上記キーワード変換部に供給して上記キーワード変換を実行させ、上記キーワード変換部より出力された関連キーワードを最終的な上記挿入キーワードとして生成することを特徴とする請求項３に記載の商品情報提供システム。
【請求項１２】
上記対話文提供部により提示された対話文と、その対話文に対するユーザによる応答と、上記キーワード生成部により生成された検索キーワードとを対応付けて対話応答ログとして記憶する対話ログ記憶部を更に備え、
上記キーワード生成部は、上記対話ログ記憶部に記憶されている対話文について、肯定の応答数に比べて否定の応答数が所定数以上多くなった場合、その対話文に対応付けられた検索キーワードは以降の対話の中で上記検索キーワードとして生成しないようにすることを特徴とする請求項１に記載の商品情報提供システム。
【請求項１３】
対話テンプレート記憶部に記憶されている上記複数種類の対話テンプレートを所定のシナリオに沿って順次読み出して対話文を生成し、ユーザに提供する対話文提供部手段、
上記対話文提供手段により提供された対話文に対してユーザが肯定の応答をした場合に、当該対話文に関連して商品の検索キーワードを生成するキーワード生成手段、および
上記キーワード生成手段により生成された検索キーワードを用いて、商品の情報を記憶した商品情報記憶部を検索し、上記検索キーワードに合致する商品を抽出してユーザに提示する商品提示手段
としてコンピュータを機能させるための商品情報提供用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、商品情報提供システムおよび商品情報提供用プログラムに関し、特に、対話を通じてユーザの嗜好に合った商品を提案するシステムに用いて好適なものである。
【背景技術】
【０００２】
インターネット上には様々なショッピングサイトが存在する。ユーザは、これらのショッピングサイトを利用することで、店頭に出向く必要もなく好きな商品を購入することができる。この便利さがうけて、現在ではショッピングサイトが多くのユーザに広く利用されている。
【０００３】
様々な商品を販売しているモールのようなショッピングサイトでは、様々な商品がジャンル別に分類して表示されている。そのため、ユーザが好みのジャンルを選択して商品一覧を表示させることにより、好みに合った商品を容易に探すことができるようになっている。
【０００４】
また、サイト内の情報をキーワードにより検索できるようになされたショッピングサイトも多い。このような検索機能を備えたショッピングサイトでは、商品に関連したキーワードを用いてサイト内を検索することにより、ユーザの好みに合った商品をより簡単に探すことができるようになっている。
【０００５】
このような形態のショッピングサイトは、ユーザの買いたい商品が明確となっている場合には適している。ユーザが自らの意思で選択したジャンルや検索窓に入力したキーワードをもとにして該当する商品の情報を提供する、いわゆるＰＵＬＬ型の情報提供をベースとしているからである。
【０００６】
しかし、ユーザの買いたい商品が明確に決まっていない場合や、商品検索時に自らの好みが曖昧な場合などは、ジャンルを選択したりキーワードを入力して検索したりすること自体が困難である。そのため、ＰＵＬＬ型の情報提供の仕組みではユーザに有益な情報を提供することができないという問題があった。
【０００７】
これに対して、ユーザの個人情報や過去の購買履歴に関する情報などに基づいて、ユーザが欲すると思われる商品の情報を提供する、いわゆるＰＵＳＨ型の情報提供の仕組みを採用したシステムも存在する。このようなＰＵＳＨ型の情報提供を採用したシステムでは、ユーザの個人情報や購買履歴情報などからユーザの嗜好をどれだけ的確に推定できるかが鍵となる。
【０００８】
従来、ユーザの様々な取引先における取引履歴を基に、ユーザが選択した商品に対して組合せがよく、かつユーザの多面的な嗜好性にあった商品の情報を提供することを可能にしたシステムが提案されている（例えば、特許文献１参照）。この特許文献１に記載のシステムでは、情報の提供者が予め商品同士を関連付けする情報を登録しなくても、ユーザが選択した商品に対して組合せのよい商品を判定し、さらにユーザの多面的な嗜好性として、平均的嗜好性、目的別嗜好性、最近の嗜好性を加味し、ユーザに適した商品情報を提供するようにしている。
【０００９】
また、商品情報を記憶したデータベースからの商品情報検索時において、チャットを用いてユーザの嗜好に合った商品を推薦するシステムも提案されている（例えば、特許文献２参照）。この特許文献２に記載のシステムでは、ユーザと他者とのインターネット上での文字による会話を可能にするチャットインタフェースを備える。そして、ユーザと他者とのチャットの内容を分析しながらユーザの嗜好情報をリアルタイムに更新し、ユーザの嗜好に合った商品をチャットの内容に合わせて変化させながら推薦商品として表示するようにしている。
【００１０】
さらに、広告等の有効性を高めるために、自然言語による会話の中からユーザのよりパーソナルな情報を抽出し、当該パーソナルな情報に基づいて商品等を提案するシステムも提案されている（例えば、特許文献３参照）。この特許文献３に記載のシステムでは、会話エンジンと会話エージェントとが協働・連携して、ユーザと自然言語によるテキスト文での会話を実現する。ここで、会話エンジンは、自然言語解析の結果、会話エージェントから受信したテキスト文にユーザの個人情報が含まれていることが認識された場合に、当該個人情報をユーザデータベースに登録する。これにより、登録した個人情報に基づいて個別のユーザに的確な商品等をダイレクトに提案することができるようにしている。
【００１１】
しかしながら、上記特許文献１〜３に記載のシステムは何れも、システム側に設定された所定のアルゴリズムに基づいてユーザの嗜好性を推定する内容となっている。したがって、ユーザの多面的な嗜好性を考慮したり、チャットの内容からユーザの嗜好性を検出したり、自然言語による会話の中からユーザの個人情報を抽出したりすることができたとしても、ユーザの意思とは関係のない情報提供側の論理で商品の提案が行われる。そのため、提案される商品がユーザにとって好みの商品や興味を引く商品であるとは限らないという問題があった。
【００１２】
このように、一方的に押し付けた提案になりがちなＰＵＳＨ型の情報提供の問題点に鑑みて、ユーザのニーズに沿った商品の提案ができるようにするために、より対面販売に近い感覚でユーザが商品購入を行うことができるように対話の流れを制御するシステムが提案されている（例えば、特許文献４参照）。この特許文献４に記載のシステムでは、要望調査モードとして、ユーザの商品に対する要望を引き出すように対話内容の流れを制御する。そして、ユーザの商品に対する要望の対話履歴と商品知識とをもとに、ユーザの商品に対する要望を表す特徴量にマッチする商品を推定するようにしている。
【００１３】
ここで、要望調査モード時に使用する特徴量は、ユーザの商品に対する機能・品質を含む要望を表わす特徴量である。具体的な処理としては、当該要望を表わす特徴量が所定量に満たない場合は、ユーザの商品に対する要望を引き出す対話となるように対話内容の流れを制御する。そして、要望調査モードに移行後、所定時間を超えたタイミングで要望調査モードを終了し、推薦商品を提示する。一方、当該要望を表わす特徴量が所定量を満たす場合は、ユーザの商品に対する要望の対話履歴と商品知識とをもとに、特徴量にマッチする商品を推定している。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００１−２２８３１号公報
【特許文献２】特開２００９−１０４４５０号公報
【特許文献３】特開２００８−５２４４９号公報
【特許文献４】ＷＯ０１／０８４３９４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
上記特許文献４に記載のシステムによれば、ユーザは実際の対面販売に近い感覚でシステムと対話を行いながら、ユーザの要望に沿った商品の提案を受けることが可能である。しかしながら、これを実現するためには、ユーザの要望を表わす特徴量を算出しなければならない。しかも、この特徴量は、ユーザの商品に対する機能・品質を含む要望を表わすものであるから、ユーザの買いたい商品の種類が明確に定まっていることが前提となっている。
【００１６】
具体的には、対話の最初にシステムが「今日はどのような商品をお探しでしょうか？」などの質問をして、ユーザが求める商品カテゴリ情報を収集する。ここで、例えばユーザから「デジタルカメラが欲しい」との回答が得られたとすると、次に要望調査モードに入り、商品の機能・品質に対する要望を引き出す質問などを織り交ぜた対話進行となるように対話の流れを制御して要望調査を行う。例えば、「デジタルカメラの画素数はどの程度必要ですか？」という仕様に関する質問をしたり、「デジタルカメラの撮影画像の鮮明さは以下の例のうちどの程度のものが必要ですか？」という質問と共に代表的画素数別の画像を提示して選択させたりするなどの対話により、要望調査を行う。
【００１７】
上記のような対話の流れから明らかなように、特許文献４に記載のシステムでは、ユーザの買いたい商品が当初から定まっている場合に、その商品に関する詳細な要望を対話により引き出して、その要望に合った商品を提案することができるのみである。したがって、このシステムは、ユーザの買いたい商品がはっきりしていない場合などには不向きであり、ユーザが興味をひくような的確な商品を提案することができないという問題があった。
【００１８】
本発明は、このような問題を解決するために成されたものであり、ユーザの買いたい商品が当初からはっきりしていない場合などでも、システムとユーザとの対話を通じてよりユーザの嗜好に合った商品を提案することができるようにすることを目的とする。
【課題を解決するための手段】
【００１９】
上記した課題を解決するために、本発明では、複数種類の対話テンプレートを所定のシナリオに沿って順次読み出して対話文を生成し、ユーザに提供する。そして、提供された対話文に対してユーザが肯定の応答をした場合に、商品の検索キーワードを生成して商品情報記憶部を検索し、当該検索キーワードに合致する商品を抽出してユーザに提示するようにしている。
【発明の効果】
【００２０】
上記のように構成した本発明によれば、システム側に設定された所定のアルゴリズムに基づいてユーザの嗜好性をシステムが勝手に推定した結果として商品が提案されるのではなく、システムとユーザとの間の繰り返しの対話の中でユーザが肯定の応答をしたときに、その対話文に関連して商品の検索キーワードが生成され、当該検索キーワードに合致する商品がユーザに提案されることとなる。つまり、ユーザが肯定の応答をすることによって興味を示した事柄に沿った商品が提案されることとなるので、提案される商品はユーザにとって好みの商品や興味を引く商品である可能性が高くなる。
【００２１】
また、このような商品の提案は、複数種類の対話テンプレートを利用した様々な内容の対話を通じて行われる。そのため、ユーザの買いたい商品が当初からはっきりしていない場合などでも、システムとユーザとの対話を通じてよりユーザの嗜好に合った商品を提案することができる。
【図面の簡単な説明】
【００２２】
【図１】本実施形態による商品情報提供システムの機能構成例を示すブロック図である。
【図２】本実施形態の対話テンプレート記憶部に記憶される対話テンプレートＤＢの一例を示す図である。
【図３】本実施形態の対話画面の一例を示す図である。
【図４】本実施形態の対話画面にタイムラインが表示された状態を示す図である。
【図５】本実施形態の対話ログ記憶部に記憶される対話応答ログＤＢの一例を示す図である。
【図６】本実施形態による対話応答ログＤＢの集計結果の一例を示す図である。
【図７】本実施形態によるクライアント端末の動作例を示すフローチャートである。
【図８】本実施形態による商品情報提供システムの動作例であって、対話取得ＡＰＩの呼び出しが行われたときの動作例を示すフローチャートである。
【図９】本実施形態による商品情報提供システムの動作例であって、商品検索ＡＰＩの呼び出しが行われたときの動作例を示すフローチャートである。
【図１０】本実施形態による商品情報提供システムの動作例であって、対話応答ログＡＰＩの呼び出しが行われたときの動作例を示すフローチャートである。
【図１１】本実施形態による商品情報提供システムの動作例であって、所定の時間間隔毎に実行されるバッチ処理の動作例を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態による商品情報提供システムの機能構成例を示すブロック図である。図１に示すように、本実施形態の商品情報提供システム１００は、その機能構成として、対話テンプレート記憶部１、商品情報記憶部２、対話文提供部３、キーワード生成部４、商品提示部５、ユーザ情報管理部６、ユーザ情報記憶部７、関連キーワード記憶部８、キーワード変換部９、対話ログ管理部１０および対話ログ記憶部１１を備えている。
【００２４】
商品情報提供システム１００が備える対話文提供部３、キーワード生成部４、商品提示部５、ユーザ情報管理部６、キーワード変換部９および対話ログ管理部１０の各機能は、ハードウェア、ＤＳＰ（Digital Signal Processor）、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、これらの各機能は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶された商品情報提供用プログラムが動作することによって実現される。
【００２５】
本実施形態の商品情報提供システム１００は、インターネット等の通信ネットワークに接続可能になされたサーバ装置で構成されており、当該通信ネットワークを介してクライアント端末２００およびソーシャルネットワーキングサービス（ＳＮＳ）を提供するサーバ装置（以下、ＳＮＳサーバ３００という）と接続されている。クライアント端末２００は、その機能構成として、ユーザインタフェース部（ＵＩ部）２１を備えている。
【００２６】
ＵＩ部２１は、ユーザが商品情報提供システム１００と対話をするためのユーザインタフェースを提供するためのものである。具体的には、ＵＩ部２１は、商品情報提供システム１００が生成する対話画面をディスプレイに表示させるとともに、当該対話画面を通じてユーザから商品情報提供システム１００に対して所望の応答や指示を行うためのユーザインタフェースを提供する。
【００２７】
対話テンプレート記憶部１は、ＵＩ部２１を通じてユーザに対話文を提供する際に使用する複数種類の対話テンプレートを記憶する。本実施形態では、対話テンプレート記憶部１に記憶する対話テンプレートとして、定型対話のテンプレート、置換対話のテンプレート、自由発言のテンプレートおよび視点変換のテンプレートを備えている。
【００２８】
定型対話のテンプレートは、あらかじめ決められた文言による対話文を生成するためのテンプレートである。置換対話のテンプレートは、あらかじめ決められた文言の中に対話文提供部３が生成する挿入キーワードを挿入することによって対話文を生成するためのテンプレートである。自由発言のテンプレートは、ユーザに対してテキスト文の入力による自由発言を促す対話文を生成するためのテンプレートである。視点変換のテンプレートは、ユーザに対して視点を変えた商品検索を促す対話文を生成するためのテンプレートである。
【００２９】
図２は、対話テンプレート記憶部１に記憶される対話テンプレートのデータベース（ＤＢ）の一例を示す図である。図２に示すように、対話テンプレートＤＢは、レコードＩＤ、対話シナリオＩＤ、対話テキスト、検索キーワード、応答テキスト、応答への応答テキストを項目として含んでいる。このうち、レコードＩＤは、対話テンプレートＤＢを構成する各レコードに対して付与される昇順の番号である。
【００３０】
対話シナリオＩＤは、ユーザに対話文を順次提供していく際に使用する対話テンプレートのシーケンスを特定するためのＩＤである。図２の例において、対話シナリオＩＤの先頭にあるアルファベットは、対話テンプレートの種類を示している。Ａは定型対話のテンプレート、Ｂは置換対話のテンプレート、Ｃは自由発言のテンプレート、Ｄは視点変換のテンプレートである。
【００３１】
また、対話シナリオＩＤの末尾にある数字がシナリオ番号に相当する。対話文提供部３が対話文を生成する際には、このシナリオ番号の昇順に従ってレコードが１つずつ順次取得される。シナリオ番号の末尾までレコードが取得されると、再びシナリオ番号の先頭に戻って次のレコードが取得される。
【００３２】
対話テキストの項目には、ユーザに提示する対話文の文言がテキスト文として記述されている。置換対話のテンプレートの場合、文言の中に置換対象タグ[ｎ]（ｎ＝１，２，・・・）が埋め込まれている。この置換対象タグ[ｎ]が、対話文提供部３により生成される挿入キーワードに置換されて対話文が生成されるようになっている。
【００３３】
検索キーワードは、定型対話のテンプレートに対して設定されている。定型対話のテンプレートに基づいて生成された対話文に対してユーザが肯定の応答をした場合に、図２の対話テンプレートＤＢに設定されている検索キーワードがキーワード生成部４により抽出され、新たな検索キーワードとして生成されるようになっている。
【００３４】
応答テキストは、対話テキストから生成された対話文に対してユーザが肯定または否定の応答するための選択肢として使われる回答文の文言がテキスト文として記述されている。また、応答への応答テキストは、ユーザが肯定または否定の応答をした場合に、更にその応答としてシステムがユーザに提示する対話文の文言がテキスト文として記述されている。
【００３５】
なお、図２に示す対話テンプレートＤＢでは、複数種類の対話テンプレートを対話シナリオのシーケンスに沿った順番で各レコードに格納する例を示しているが、この構造に限定されるものではない。例えば、複数の対話テンプレートをその種類毎にグルーピングし、種類毎に分けてレコードに格納する構造としてもよい。このようにしても、対話シナリオＩＤの末尾にあるシナリオ番号に従って、複数の対話テンプレートを対話シナリオのシーケンスに沿って順次取得していくことが可能である。
【００３６】
また、図２に示す対話テンプレートＤＢでは、対話シナリオＩＤの末尾にあるシナリオ番号が全て異なる数字で示されているが、同じ数字の対話シナリオＩＤが複数あってもよい。シナリオ番号の同じレコードが複数ある場合、対話文提供部３がシーケンスに従って１つの対話文を生成する際には、同じシナリオ番号が付された複数のレコードの中から何れか１つのレコードをランダムに、あるいは所定のルールに従って取得する。
【００３７】
商品情報記憶部２は、ＵＩ部２１によりディスプレイに表示される対話画面を通じてユーザに提案する商品の情報を記憶する。商品情報記憶部２に記憶する商品情報は、例えば、商品名、商品属性（色、サイズ、男性用か女性用かの性別など）、商品画像、商品の説明文、価格などを含んでいる。
【００３８】
図３は、ＵＩ部２１によりディスプレイに表示される対話画面の一例を示す図である。図３に示すように、本実施形態の対話画面は、対話エリア３１、検索条件エリア３５、商品一覧エリア３７、ピンボードエリア３８および自由発言エリア３９を備えている。
【００３９】
対話エリア３１の中には仮想店員３２が表示され、対話文提供部３により生成される対話文３３が仮想店員３２からの発言として（吹き出しとして）提示されるようになっている。吹き出しの中には、対話テンプレートＤＢの対話テキストや応答への応答テキストから生成される対話文３３が表示されるとともに、対話テンプレートＤＢの応答テキストから生成される肯定および否定の回答文３４が表示されている。回答文３４は、ＵＩ部２１を通じて操作可能なボタンとなっている。
【００４０】
検索条件エリア３５には、ユーザに提示する商品を検索する際の検索キーワードが設定されている。この検索キーワードは、後述するようにキーワード生成部４により生成されるものである。検索条件エリア３５に複数の検索キーワードが設定されている場合、本実施形態ではそれら複数の検索キーワードを用いたＯＲ検索を行う。
【００４１】
検索条件エリア３５には、ＵＩ部２１を通じて操作可能な編集ボタン３６が表示されている。編集ボタン３６を操作することにより、設定されている検索キーワードの詳細画面を表示させ、不要となった検索キーワードを削除することができるようになっている。また、個々の検索キーワードに対して所望の重みを設定することも可能である。検索キーワードに重みを設定した場合、ＯＲ検索の結果として商品一覧エリア３７に表示される商品一覧において、大きな重みを設定した検索キーワードに合致する商品ほど上位の位置に表示されるようになる。
【００４２】
商品一覧エリア３７には、検索条件エリア３５に設定されている１以上の検索キーワードを用いたＯＲ検索により抽出された商品が一覧として表示される。図３の例では、ＯＲ検索の検索条件に合致する複数の商品の画像が一覧表示されている。なお、ログイン時や検索キーワードの削除時など、検索キーワードの数が０の場合もある。その場合は全商品の一部が一覧として表示さる。ユーザがＵＩ部２１を通じて所望の商品画像を選択すると、その商品に関する詳細な情報（商品属性や説明文など）が表示されるようになっている。
【００４３】
ピンボードエリア３８には、ＵＩ部２１を通じてユーザにより指定された取り置き商品の画像が表示される。取り置き商品とは、興味はあるけれども購入するかどうかをまだ迷っているときにユーザにより指定される商品のことであり、ショッピングカートにはまだ入れられていない状態の商品である。商品の取り置きは、例えば、商品一覧エリア３７に表示された商品一覧の中から所望の商品画像をピンボードエリア３８にドラッグ操作することによって行うことが可能である。
【００４４】
自由発言エリア３９は、ユーザがＵＩ部２１を通じて所望のテキスト文を自由発言として入力するためのエリアである。この自由発言エリア３９にテキスト文を入力して発言ボタン４０を押下することにより、商品情報提供システム１００に対してユーザの自由発言を入力することが可能である。
【００４５】
図３に示す対話画面には、以上説明した各エリアの他に、タイムラインボタン４１およびカートボタン４２が表示されている。タイムラインボタン４１を押下すると、それまでに行われた対話応答のログがタイムラインとして一覧表示されるようになっている。
【００４６】
図４は、当該タイムラインが表示された状態の画面例を示す図である。図４に示す例では、対話エリア３１に表示された過去の対話文３３が時系列で表示されている。各々の対話文３３にはリプレイボタン４３が表示されている。ユーザがこのリプレイボタン４３を押下すると、その対話文が対話エリア３１に再び表示されるようになっている。
【００４７】
カートボタン４２は、商品をショッピングカートに入れることを指示するためのボタンである。本実施形態では、ピンボードエリア３８に商品画像が貼り付けられている状態でカートボタン４２を押下することにより、ピンボードエリア３８上の商品をショッピングカードに移すことができるようになっている。
【００４８】
図１に戻って説明を続ける。対話文提供部３は、対話テンプレート記憶部１に記憶されている複数種類の対話テンプレートを所定のシナリオに沿って順次読み出して対話文を生成し、ＵＩ部２１を通じてユーザに提供する。図２で説明したように、本実施形態では、対話テンプレートＤＢの対話シナリオＩＤに従って、複数種類の対話テンプレートを順次読み出して対話文を生成し、ユーザに提供する。対話文のユーザに対する提示は、図３に示したように対話画面に表示させた仮想店員３２からの発言として行うようにする。
【００４９】
定型対話のテンプレートを使用する場合、対話文提供部３は、対話テンプレート記憶部１の対話テンプレートＤＢから取得した対話テキストをそのまま対話文３３として生成し、仮想店員３２が発言する態様でユーザに提示する。このとき対話文提供部３は、対話テンプレートＤＢの対話テキストと同じレコードから取得した応答テキストを用いて回答文３４を生成し、対話文３３と一緒に回答の選択肢としてユーザに提示する。
【００５０】
そして、ユーザが回答文３４の何れかを押下して対話に応答した場合、対話文提供部３は、対話テンプレートＤＢの同じレコードから取得した応答への応答テキストを用いて、仮想店員３２が応答として発言する対話文３３を生成し、ユーザに提示する。これで１セットの対話（１レコードの対話シナリオＩＤに関する対話）が終了する。なお、ユーザが何れの回答文３４も押下しない場合は、所定時間の経過をもってタイムアウトとし、その対話文３３に関する吹き出しを対話エリア３１から消去する。
【００５１】
また、置換対話のテンプレートを使用する場合、対話文提供部３は、対話テンプレート記憶部１の対話テンプレートＤＢから取得した対話テキストに埋め込まれている置換対象タグ[ｎ]の部分を、対話文提供部３が生成した挿入キーワードで置換することによって対話文３３を生成し、仮想店員３２が発言する態様でユーザに提示する。このとき対話文提供部３は、対話テンプレートＤＢの対話テキストと同じレコードから取得した応答テキストを用いて回答文３４を生成し、対話文３３と一緒に回答の選択肢としてユーザに提示する。ユーザが回答文３４の何れかを押下して対話に応答した場合、または対話に応答しなかった場合の処理については、定型対話のテンプレートを使用する場合と同様である。
【００５２】
対話文提供部３が置換対象タグ[ｎ]に対する挿入キーワードを生成する方法として、本実施形態では５つの方法を用意している。対話文提供部３が１つの対話文を生成する際は、５つの方法の中から何れか１つを任意に選択して実施する。あるいは、個々の対話シナリオＩＤに対して、どの生成方法を適用するかをあらかじめ定めておいてもよい。
【００５３】
置換対象タグ[ｎ]に対する挿入キーワードを生成する５つの方法とは、(1)ＳＮＳからのプロフィール取得、(2)ＳＮＳからの特徴語取得、(3)ピンボードからの共通特徴取得、(4)ＳＮＳからのプロフィール取得と関連キーワードへの変換、(5)現在設定中の検索キーワードの関連キーワードへの変換、の５つである。以下、これらを１つずつ説明する。
【００５４】
(1)ＳＮＳからのプロフィール取得
対話文提供部３は、ユーザが使用しているＳＮＳサーバ３００にインターネットを介してアクセスし、当該ＳＮＳサーバ３００に登録されているプロフィール情報からユーザの興味情報を抽出し、当該興味情報から挿入キーワードを生成する。例えば、対話文提供部３は、Facebook graph API（Facebookは登録商標。以下同様）でユーザの“interests”や“activities”を興味情報として取得し、その中からランダムに取得した１つのキーワードを置換対象タグ[ｎ]に対する挿入キーワードとして生成する。
【００５５】
(2)ＳＮＳからの特徴語取得
対話文提供部３は、ユーザが使用しているＳＮＳサーバ３００にインターネットを介してアクセスし、当該ＳＮＳサーバ３００から直近の発言情報を抽出し、当該発言情報から挿入キーワードを生成する。例えば、対話文提供部３は、Facebook graph APIでユーザの直近の発言情報（テキスト文）をｍ件取得して結合する。そして、結合したテキスト文から特徴語を抽出し、これを置換対象タグ[ｎ]に対する挿入キーワードとして生成する。
【００５６】
ここで、テキスト文から抽出する特徴語とは、例えば、そのテキスト文の中に頻出する単語である。あるいは、そのテキスト文の中で使われている単語のうち他のユーザがあまり使用していない単語である。後者の場合、例えば、複数のユーザに対する対話文を生成する際に頻出単語として抽出した特徴語をデータベースとして保存しておく。そして、このデータベースに登録されていない単語を、他のユーザがあまり使用していない特徴語としてテキスト文から抽出する。あるいは、多くのドキュメントに出現する語（一般的な語）は値が低くなり、特定のドキュメントにしか出現しない語は値が高くなるような指標を用いて、その指標がある閾値より大きいものを特徴語として抽出するようにしてもよい。
【００５７】
(3)ピンボードからの共通特徴取得
対話文提供部３は、ピンボードエリア３８に取り置きされた商品の説明文を商品情報記憶部２から取得し、当該商品の説明文から挿入キーワードを生成する。例えば、対話文提供部３は、ピンボードエリア３８に取り置きされた商品の説明テキスト文を全て結合する。そして、結合したテキスト文から特徴語を抽出し、これを置換対象タグ[ｎ]に対する挿入キーワードとして生成する。ここで、テキスト文から抽出する特徴語は、上述の特徴語と同様である。
【００５８】
(4)ＳＮＳからのプロフィール取得と関連キーワードへの変換
この方法では、関連キーワード記憶部８およびキーワード変換部９を使用する。関連キーワード記憶部８は、一のキーワードとそれに対する関連キーワードとを対応付けて関連キーワード情報として記憶する。ここで、１つのキーワードに対して１つの関連キーワードを対応付けてもよいし、１つのキーワードに対して複数の関連キーワードを対応付けてもよい。
【００５９】
キーワード変換部９は、一のキーワードを入力して、それを関連キーワード記憶部８に記憶されている関連キーワード情報に基づいて関連キーワードに変換する。ここで、関連キーワード記憶部８の関連キーワード情報において、キーワード変換部９に入力された１つのキーワードに対して複数の関連キーワードが対応付けられている場合、キーワード変換部９は複数の関連キーワードの中から何れか１つをランダムに選択する。
【００６０】
対話文提供部３は、(1)ＳＮＳからのプロフィール取得のところで説明した方法によって、ＳＮＳサーバ３００からユーザの興味情報を取得してキーワードを生成する。さらに、対話文提供部３は、当該生成したキーワードをキーワード変換部９に供給してキーワード変換を実行させ、キーワード変換部９より出力された関連キーワードを最終的に置換対象タグ[ｎ]に対する挿入キーワードとして生成する。
【００６１】
ここでは、まずＳＮＳサーバ３００からのプロフィール取得によってキーワードを生成し、それを関連キーワードに変換する例について説明したが、本発明はこれに限定されない。例えば、(2)ＳＮＳからの特徴語取得、または(3)ピンボードからの共通特徴取得のとこで説明した方法によってキーワードを生成し、それを関連キーワードに変換することによって挿入キーワードを生成するようにしてもよい。
【００６２】
(5)現在設定中の検索キーワードの関連キーワードへの変換
対話文提供部３は、検索条件エリア３５に設定されている１以上の検索キーワードの中から何れか１つをランダムに抽出する。そして、抽出した検索キーワードをキーワード変換部９に供給してキーワード変換を実行させ、キーワード変換部９より出力された関連キーワードを置換対象タグ[ｎ]に対する挿入キーワードとして生成する。なお、検索条件エリア３５に設定されている１以上の検索キーワードは、ユーザ情報記憶部７に記憶されている（詳しくは後述する）。
【００６３】
対話文提供部３は、自由発言のテンプレートを使用する場合、対話テンプレート記憶部１の対話テンプレートＤＢから取得した対話テキストをそのまま対話文３３として生成し、仮想店員３２が発言する態様でユーザに提示する。このときも対話文提供部３は、対話テンプレートＤＢの対話テキストと同じレコードから取得した応答テキストを用いて回答文３４を生成し、対話文３３と一緒に回答の選択肢としてユーザに提示する。
【００６４】
ここで、ユーザが肯定の回答文３４を押下して対話に応答した場合、対話文提供部３は、その後ユーザにより入力された自由発言のテキスト文からキーワードを抽出し、抽出したキーワードを置換対象タグ[ｎ]に対する挿入キーワードとして用いることにより、置換対話の対話文３３を生成して提供する。一方、自由発言を促す対話に対してユーザが否定の回答文３４を押下して応答した場合、および当該対話に対して何ら応答しなかった場合の処理については、定型対話のテンプレートを使用する場合と同様である。
【００６５】
なお、テキスト文からのキーワードの抽出は、例えば以下のようにして行う。すなわち、対話文提供部３は、自由発言として入力されたテキスト文を形態素解析してあらかじめ設定した品詞（例えば、名詞および形容詞）を抽出し、その中から何れか１つまたは複数個をランダムに選択して検索キーワードとする。
【００６６】
また、対話文提供部３は、視点変換のテンプレートを使用する場合、対話テンプレート記憶部１の対話テンプレートＤＢから取得した対話テキストをそのまま対話文３３として生成し、仮想店員３２が発言する態様でユーザに提示する。このとき対話文提供部３は、対話テンプレートＤＢの対話テキストと同じレコードから取得した応答テキストを用いて回答文３４を生成し、対話文３３と一緒に回答の選択肢としてユーザに提示する。ユーザが回答文３４の何れかを押下して対話に応答した場合、または対話に応答しなかった場合の処理については、定型対話のテンプレートを使用する場合と同様である。
【００６７】
キーワード生成部４は、対話文提供部３により提供された対話文に対してユーザが肯定の応答をした場合に、当該対話文から検索キーワードを生成する（その生成方法の詳細は後述する）。そして、検索キーワードを生成した旨を商品提示部５に通知するとともに、ユーザ情報管理部６を介してユーザ情報記憶部７に検索キーワードを記憶させる。商品提示部５は、キーワード生成部４により生成された検索キーワードを用いて商品情報記憶部２を検索し、検索キーワードに合致する商品を抽出してユーザに提示する。
【００６８】
本実施形態では、商品提示部５は、繰り返しの対話を通じてキーワード生成部４により順次生成されて検索条件エリア３５に設定された１以上の検索キーワードを用いたＯＲ検索により、商品情報記憶部２の中から当該ＯＲ検索の検索条件に合致する商品を抽出してユーザに提示する。すなわち、検索条件に合致した商品を商品一覧エリア３７に表示させる。
【００６９】
上述したように、キーワード生成部４により生成された検索キーワードは、ユーザ情報管理部６を介してユーザ情報記憶部７に順次記憶される（つまり、ユーザ情報記憶部７は、特許請求の範囲の検索キーワード記憶部に相当等する）。商品提示部５は、キーワード生成部４により新たに１つの検索キーワードが生成されたときに、その新たな検索キーワードも含めてユーザ情報記憶部７に記憶された１以上の検索キーワードを用いてＯＲ検索を行い、その検索でヒットした商品を商品一覧エリア３７に表示させる。
【００７０】
すなわち、対話文提供部３により提供された何らかの対話文に対してユーザが肯定の応答をすると、当該対話文から１つの検索キーワードがキーワード生成部４により生成されて、検索条件エリア３５に追加設定される（ユーザ情報記憶部７に追加登録される）。そして、当該設定された１以上の検索キーワードを用いたＯＲ検索が商品提示部５により実行されて、商品一覧エリア３７に一覧表示される。このように、本実施形態では、対話文に対してユーザが肯定の応答をすると、商品一覧エリア３７の表示内容がダイナミックに変わるようになっている。
【００７１】
ここで、キーワード生成部４による検索キーワードの生成方法について詳しく説明する。例えば、対話文提供部３により定型対話のテンプレートから生成された対話文に対してユーザが肯定の応答をした場合、キーワード生成部４は、当該記定型対話のテンプレートによりあらかじめ定められたキーワード（対話テンプレートＤＢに登録されているもの）を抽出し、これを検索キーワードとして生成する。
【００７２】
また、対話文提供部３により置換対話のテンプレートから生成された対話文に対してユーザが肯定の応答をした場合、キーワード生成部４は、対話文提供部３が生成して対話文の文言中に挿入した挿入キーワードを検索キーワードとして生成する。
【００７３】
また、キーワード生成部４は、対話文提供部３により自由発言のテンプレートから生成された対話文に対してユーザが肯定の応答をしてテキスト文を入力した場合には、当該テキスト文の中から検索キーワードを生成する。具体的には、上述したように、対話文提供部３によってテキスト文の中からキーワードが抽出されて置換対話の対話文が改めて生成され、その対話文に対してユーザが肯定の応答をしたときに、置換対話の対話文に挿入されたキーワード（つまり、テキスト文から抽出されたキーワード）を検索キーワードとして生成する。
【００７４】
また、キーワード生成部４は、対話文提供部３により視点変換のテンプレートから生成された対話文に対してユーザが肯定の応答をした場合には、検索条件エリア３５に設定されている（つまり、ユーザ情報記憶部７に記憶されている）１以上の検索キーワードを用いたＯＲ検索とは異なる検索条件を生成する。この場合、新たな検索キーワードは追加しない。
【００７５】
上述したように、ユーザ情報記憶部７に記憶されている１以上の検索キーワードを用いたＯＲ検索が、通常の検索条件として設定されている。これに対して、視点変換の対話文に対してユーザが肯定の応答をした場合、キーワード生成部４は、上述のＯＲ検索とは異なる一過性の検索条件を生成する。例えば、ユーザ情報記憶部７に記憶されている１以上の検索キーワードに設定されている重みを任意に変更した検索条件を生成する。あるいは、ピンボードエリア３８に取り置きされた商品の説明文から特徴語を抽出し、抽出した特徴語を一過性の検索キーワードとして生成するようにしてもよい。
【００７６】
キーワード生成部４により一過性の検索条件が生成された場合、商品提示部５はその一過性の検索条件に従って商品情報記憶部２を検索し、その検索条件に合致する商品を抽出して商品一覧エリア３７に表示させる。ただし、この場合はあくまでも一過性の検索なので、商品一覧エリア３７に表示中の商品一覧を更新するのではなく、表示中の商品一覧の上に一過性の商品一覧をオーバーレイ表示したり、別画面を立ち上げてポップアップ表示したりするのが好ましい。また、ここで表示する商品は、一過性の検索条件に合致する商品の中から更に特定したｋ個（例えば、ｋ＝３）の商品であるとする。
【００７７】
ユーザ情報管理部６は、本実施形態の商品情報提供システム１００を利用するユーザの情報をユーザ情報記憶部７に記憶させて管理する。本実施形態の商品情報提供システム１００は、ユーザがＵＩ部２１を通じてログインをすることによって利用可能となる。ユーザ情報管理部６は、そのログインに必要なユーザＩＤやパスワードを管理する。
【００７８】
また、ユーザ情報管理部６は、キーワード生成部４により生成される検索キーワードをユーザＩＤに関連付けてユーザ情報記憶部７に記憶させる。また、ＵＩ部２１を通じて検索キーワードの削除が行われた場合、ユーザ情報管理部６はユーザ情報記憶部７から該当する検索キーワードを削除する。また、ＵＩ部２１を通じて検索キーワードに対する重みの設定が変更された場合、ユーザ情報管理部６は変更された重みをユーザ情報記憶部７に記憶させる。
【００７９】
また、ＵＩ部２１を通じて所望の商品がピンボードエリア３８に取り置きされた場合、ユーザ情報管理部６は、その取り置きされた商品の情報を商品情報記憶部２から取得し、ユーザＩＤに関連付けてユーザ情報記憶部７に記憶させる。また、ＵＩ部２１を通じてカートボタン４２が押下された場合、ユーザ情報管理部６は、ピンボードエリア３８に取り置きされている商品をショッピングカートに移すようにユーザ情報記憶部７の情報を更新する。
【００８０】
対話ログ管理部１０は、対話文提供部３により提示された対話文と、その対話文に対してＵＩ部２１を通じて行われたユーザによる応答と、その対話文からキーワード生成部４により生成された検索キーワードとを対応付けて対話応答ログとして対話ログ記憶部１１に記憶させる。図４を用いて上述したように、対話ログ記憶部１１に記憶された対話応答ログは対話文提供部３により利用され、タイムラインボタン４１の押下により画面表示させることができ、リプレイボタン４３の押下により対話文の再表示が可能となっている。
【００８１】
なお、タイムラインには、ユーザが何ら応答しなかった対話文３３を表示させることも可能である。例えば、商品情報提供システム１００の対話ログ記憶部１１に記憶されている対話応答ログを利用せずに、クライアント端末２００側のキャッシュメモリに対話の履歴を保持し、それを利用してライムラインに対話文３３を表示する。
【００８２】
図５は、対話ログ記憶部１１に記憶される対話応答ログＤＢの一例を示す図である。図５に示すように、対話応答ログＤＢは、対話ＩＤ、対話シナリオＩＤ、ユーザＩＤ、応答種別、パラメータ１、パラメータ２を項目として含んでいる。このうち、対話ＩＤは、対話応答ログＤＢを構成する各レコードに対して付与される昇順の番号である。
【００８３】
対話シナリオＩＤは、図２に示したものと同じである。ユーザＩＤは、ユーザを一意に特定するためのログインＩＤである。応答種別は、対話文に対してユーザが肯定の応答をしたのか否定の応答をしたのかを種別を表すものである。本実施形態では、対話文に対してユーザが肯定も否定もせずにそのまま無視した場合（タイムアウトとなった場合）、その対話文は対話応答ログに登録されない。
【００８４】
パラメータ１およびパラメータ２は、その対話文に関連した検索キーワードである。例えば、定型対話の場合は対話テンプレートＤＢに記憶されている検索キーワードであり、これがパラメータ１として記憶される。また、置換対話の場合は対話文提供部３により生成された挿入キーワードであり、これがパラメータ１として記憶される。ただし、関連キーワードへのキーワード変換により挿入キーワードが生成された場合は、変換前の元キーワードがパラメータ１として、変換後の関連キーワードがパラメータ２として記憶される。
【００８５】
上述したキーワード生成部４は、対話ログ記憶部１１に記憶された対話応答ログＤＢを利用して検索キーワードの生成を制御している。すなわち、キーワード生成部４は、例えば所定の時間間隔毎にバッチ処理を起動させ、対話応答ログＤＢに記憶されている対話文について、対話シナリオＩＤごとに肯定の応答数と否定の応答数とを集計する。そして、肯定の応答数に比べて否定の応答数が所定数以上多くなった場合、その対話文に対応付けられた検索キーワードは以降の対話の中で検索キーワードとして生成しないようにする。
【００８６】
図６は、対話応答ログＤＢの集計結果の一例を示す図である。図６の例では、対話シナリオＩＤ“ＸＸＸ１”の対話文に対して肯定の応答数が４、否定の応答数が２となっている。一方、対話シナリオＩＤ“ＸＸＸ２”の対話文に対して肯定の応答数が３、否定の応答数が１５となっている。
【００８７】
前者の場合、“ＸＸＸ１”の対話文は肯定の応答数が否定の応答数を上回っているので、バッチ処理が行われた以降もパラメータ１とパラメータ２とのセットで検索キーワードの生成が行われる。一方、後者の場合、“ＸＸＸ２”の対話文は肯定の応答数に比べて否定の応答数が所定数ｊ（例えば、ｊ＝５）以上多くなっているので、“ＸＸＸ２”の対話文においてそれ以降はパラメータ１の“犬”というキーワードは検索キーワードとして生成しない。
【００８８】
次に、上記のように構成した本実施形態による商品情報提供システム１００およびクライアント端末２００の動作について説明する。図７は、クライアント端末２００の動作例を示すフローチャートである。また、図８〜図１１は、商品情報提供システム１００の動作例を示すフローチャートである。なお、図７に示すフローチャートは、ユーザがクライアント端末２００から商品情報提供システム１００のサーバ装置にアクセスしてログインをしたときに開始する。
【００８９】
まず、図７を用いてクライアント端末２００の動作を説明する。まず、クライアント端末２００は、商品情報提供システム１００に対して対話取得ＡＰＩ（Application Programming Interface）の呼び出しを行う（ステップＳ１）。この対話取得ＡＰＩの呼び出しを商品情報提供システム１００が受け取ると、所定のシナリオに従って対話文３３およびその対話文３３に対する応答の選択肢となる回答文３４が商品情報提供システム１００にて生成され、クライアント端末２００に送信される。クライアント端末２００では、ＵＩ部２１を通じて、商品情報提供システム１００から受信した対話文３３および回答文３４を、対話エリア３１において仮想店員３２の吹き出し中に表示させる（ステップＳ２）。
【００９０】
クライアント端末２００は、この対話文３３に対してユーザが肯定の応答をしたか否かを判定する（ステップＳ３）。ここでは、ＵＩ部２１を通じて肯定の回答文３４を選択する操作が行われたか否かを判定する。ユーザにより肯定の応答が行われた場合、クライアント端末２００は、その応答が、自由発言を促す対話文３３に対するものであったか否かを判定する（ステップＳ４）。
【００９１】
ここで、自由発言を促す対話文３３に対する肯定の応答であった場合、クライアント端末２００は、自由発言エリア３９をハイライトさせてユーザに自由発言の入力を促す。その後、ユーザが自由発言エリア３９にテキスト文を入力して発言ボタン４０を押下したタイミングで、クライアント端末２００は、商品情報提供システム１００に対して置換対話の対話取得ＡＰＩの呼び出しを行う（ステップＳ５）。
【００９２】
この対話取得ＡＰＩの呼び出しを商品情報提供システム１００が受け取ると、ユーザにより入力された自由発言のテキスト文からキーワードが抽出される。そして、そのキーワードを挿入キーワードとして置換対話の対話文３３および回答文３４が生成され、クライアント端末２００に送信される。その後、処理はステップＳ２に戻り、クライアント端末２００では、ＵＩ部２１を通じて、商品情報提供システム１００から受信した置換対話の対話文３３および回答文３４が、対話エリア３１において仮想店員３２の吹き出し中に表示される。
【００９３】
一方、ステップＳ４において、対話文３３に対してユーザにより行われた肯定の応答が、自由発言を促す対話文３３に対するものではないと判定された場合、クライアント端末２００は、商品情報提供システム１００に対して商品検索ＡＰＩおよび対話応答ログＡＰＩの呼び出しを行う（ステップＳ６）。
【００９４】
商品検索ＡＰＩの呼び出しを商品情報提供システム１００が受け取ると、商品情報提供システム１００にて商品の検索が行われ、その検索結果がクライアント端末２００に送信される。クライアント端末２００では、商品情報提供システム１００から送られてくる検索結果をＵＩ部２１を通じて表示させる（ステップＳ７）。そして、処理はステップＳ１３に進む。
【００９５】
このステップＳ７において、商品情報提供システム１００から受信した検索結果が、定型対話または置換対話の対話文に対してユーザが肯定の応答をした結果として送られてきたものである場合は、商品一覧エリア３７に表示中の商品一覧が更新して表示される。一方、検索結果が、視点変換の対話文に対してユーザが肯定の応答をした結果として送られてきたもの（一過性の商品一覧）である場合は、商品一覧エリア３７に表示中の商品一覧の上に、一過性の商品一覧がオーバーレイ表示される。
【００９６】
上記ステップＳ３において、ユーザにより肯定の応答が行われていないと判断した場合、クライアント端末２００は、対話文３３に対してユーザが否定の応答をしたか否か、つまりＵＩ部２１を通じて否定の回答文３４を選択する操作が行われたか否かを更に判定する（ステップＳ８）。ユーザにより否定の応答が行われた場合、クライアント端末２００は、商品情報提供システム１００に対して対話応答ログＡＰＩの呼び出しを行う（ステップＳ９）。そして、処理はステップＳ１３に進む。
【００９７】
一方、ユーザにより否定の応答も行われていないと判断した場合、クライアント端末２００は、ステップＳ２で対話エリア３１に対話文を表示してから、ユーザによる何の応答もなく所定時間のタイムアウトが生じたか否かを判定する（ステップＳ１０）。タイムアウトが生じた場合、処理はステップＳ１に戻る。
【００９８】
一方、タイムアウトが生じていない場合、クライアント端末２００は、ＵＩ部２１を通じてユーザによりその他の操作が行われたか否かを判定する（ステップＳ１１）。その他の操作とは、商品一覧エリア３７の中から何れかの商品をピンボードエリア３８に取り置きする操作、タイムラインボタン４１を押下して過去の対話応答ログを表示させる操作、タイムライン上でリプレイボタン４３を押下して対話文を再表示させる操作、編集ボタン３６を押下して検索キーワードを編集する操作、カートボタン４２を押下してピンボードエリア３８に取り置きされている商品をショッピングカートに移動させる操作などである。
【００９９】
これらの操作のうち何れかの操作が行われた場合、クライアント端末２００は、商品情報提供システム１００に対してその操作内容に応じたＡＰＩの呼び出しを行う（ステップＳ１２）。そして、処理はステップＳ１３に進む。ステップＳ１３において、クライアント端末２００は、ログオフの操作が行われたか否かを判定する。ログオフの操作が行われていない場合、所定はステップＳ１に戻る。一方、ログオフの操作が行われた場合、図７に示すフローチャートの処理は終了する。
【０１００】
次に、図８〜図１１を用いて商品情報提供システム１００の動作を説明する。図８は、対話取得ＡＰＩの呼び出しが行われたときの動作例を示すフローチャートである。まず、対話文提供部３は、対話テンプレート記憶部１に記憶されている対話テンプレートＤＢから１つのレコード（対話テンプレート）を所定のシナリオに沿って読み出す（ステップＳ２１）。
【０１０１】
そして、対話文提供部３は、読み出した対話テンプレートが置換対話のテンプレートか否かを判定する（ステップＳ２２）。読み出した対話テンプレートが置換対話のテンプレートであった場合、対話文提供部３は、置換対話のテンプレートの対話テキストに埋め込まれている置換対象タグ[ｎ]に対する挿入キーワードを生成する（ステップＳ２３）。
【０１０２】
上述したように、挿入キーワードを生成する方法は５つ用意されているので、対話文提供部３はこの５つの方法の中から何れか１つを任意に選択して挿入キーワードを生成する。あるいは、ステップＳ２１で読み出したレコードの対話シナリオＩＤに対してあらかじめ定めされた方法を適用して挿入キーワードを生成する。
【０１０３】
続いて、対話文提供部３は、ステップＳ２１で読み出した対話テンプレートの対話テキストに埋め込まれている置換対象タグ[ｎ]の部分を、ステップＳ２２で生成した挿入キーワードで置換することによって対話文を生成する（ステップＳ２４）。そして、このようにして生成した対話文と、同じ対話テンプレートの応答テキストを用いて生成した回答文とを、対話取得ＡＰＩの呼び出しに対するレスポンスとしてクライアント端末２００に送信する（ステップＳ２５）。これにより、図８に示すフローチャートの処理は終了する。
【０１０４】
上記ステップＳ２２において、ステップＳ２１で読み出した対話テンプレートが置換対話のテンプレートではないと対話文提供部３にて判断した場合、対話文提供部３は、その対話テンプレートの対話テキストをそのまま対話文として生成するとともに、応答テキストを用いて回答文を生成し、対話取得ＡＰＩの呼び出しに対するレスポンスとしてクライアント端末２００に送信する（ステップＳ２５）。これにより、図８に示すフローチャートの処理は終了する。
【０１０５】
図９は、商品検索ＡＰＩの呼び出しが行われたときの動作例を示すフローチャートである。まず、キーワード生成部４は、商品検索ＡＰＩの呼び出しが、視点変換の対話文に対してユーザが肯定の応答をした結果としてクライアント端末２００から送られてきたものか否かを判定する（ステップＳ３１）。
【０１０６】
ここで、商品検索ＡＰＩの呼び出しが視点変換の対話文に基づくものでない場合、つまり、定型対話または置換対話に基づくものである場合、キーワード生成部４は、対話文から検索キーワードを生成してユーザ情報記憶部７に記憶させることにより、検索条件エリア３５に現在設定中の検索キーワードに新たな検索キーワードを１つ追加する（ステップＳ３２）。
【０１０７】
そして、商品提示部５は、追加された検索キーワードを含めて検索条件エリア３５に設定された１以上の検索キーワードを用いたＯＲ検索により、商品情報記憶部２の中から当該ＯＲ検索の検索条件に合致する商品を抽出する（ステップＳ３３）。さらに、商品提示部５は、以上の検索により抽出した商品の一覧を、商品検索ＡＰＩの呼び出しに対するレスポンスとしてクライアント端末２００に送信する（ステップＳ３４）。これにより、図９に示すフローチャートの処理は終了する。
【０１０８】
上記ステップＳ３１において、商品検索ＡＰＩの呼び出しが視点変換の対話文に基づくものであるとキーワード生成部４にて判断した場合、キーワード生成部４は、検索条件エリア３５に設定されている（つまり、ユーザ情報記憶部７に記憶されている）１以上の検索キーワードを用いたＯＲ検索とは異なる一過性の検索条件を生成する（ステップＳ３５）。
【０１０９】
そして、商品提示部５は、キーワード生成部４により生成された一過性の検索条件に合致する商品を商品情報記憶部２の中から抽出する（ステップＳ３６）。さらに、商品提示部５は、以上の検索により抽出したｋ個の商品を、商品検索ＡＰＩの呼び出しに対するレスポンスとしてクライアント端末２００に送信する（ステップＳ３７）。これにより、図９に示すフローチャートの処理は終了する。
【０１１０】
図１０は、対話応答ログＡＰＩの呼び出しが行われたときの動作例を示すフローチャートである。対話応答ログＡＰＩの呼び出しが行われた場合、対話ログ管理部１０は、図５のように、対話文提供部３により提示された対話文の対話シナリオＩＤと、その対話文に対してＵＩ部２１を通じて行われたユーザによる肯定または否定の応答の種別と、キーワード生成部４により生成された検索キーワード（パラメータ１，２）とを対応付けて、対話応答ログとして対話ログ記憶部１１に記憶させる（ステップＳ４１）。これにより、図１０に示すフローチャートの処理は終了する。
【０１１１】
図１１は、キーワード生成部４により所定の時間間隔毎に実行されるバッチ処理の動作例を示すフローチャートである。バッチ処理が起動すると、キーワード生成部４は、対話ログ記憶部１１の対話応答ログＤＢに記憶されている各々の対話文について、対話シナリオＩＤごとに肯定の応答数と否定の応答数とを集計する（ステップＳ５１）。
【０１１２】
そして、キーワード生成部４は、肯定の応答数に比べて否定の応答数が所定数ｊ以上多くなっている対話シナリオＩＤが存在するか否かを判定する（ステップＳ５２）。そのような対話シナリオＩＤが存在する場合、キーワード生成部４は、その対話シナリオＩＤのレコードを記憶することにより、当該対話シナリオＩＤに対応付けてパラメータ１，２として記憶されている検索キーワードは以降の対話の中で検索キーワードとして生成しないようにする（ステップＳ５３）。これにより、図１１に示すフローチャートの処理は終了する。
【０１１３】
以上詳しく説明したように、本実施形態の商品情報提供システム１００では、定型対話、置換対話、自由発言、視点変換など複数種類の対話テンプレートを所定のシナリオに沿って順次読み出して対話文を生成し、ユーザに提供する。ここで、置換対話の対話文を提供する際には、５つの生成方法のうち何れかを適用して様々な観点から挿入キーワードを生成し、対話文の中に組み込んでいる。
【０１１４】
そして、定型対話、置換対話の対話文に対してユーザが肯定の応答をした場合（自由発言の対話文に対して肯定の応答をした上で入力したテキスト文中のキーワードから生成された置換対話の対話文に対してユーザが肯定の応答をした場合を含む）、当該対話文から検索キーワードを生成して商品情報記憶部２を検索し、当該検索キーワードに合致する商品を抽出してユーザに商品一覧として提示するようにしている。また、視点変換の対話文に対してユーザが肯定の応答をした場合には、一過性の検索条件を生成して商品情報記憶部２を検索し、当該一過性の検索条件に合致する商品を抽出してユーザに提示するようにしている。
【０１１５】
このように構成した本実施形態の商品情報提供システム１００によれば、システム側に設定された所定のアルゴリズムに基づいてユーザの嗜好性をシステムが勝手に推定した結果として商品が提案されるのではなく、商品情報提供システム１００とユーザとの間の繰り返しの対話の中でユーザが肯定の応答をしたときの対話文から検索キーワードが生成され、当該検索キーワードに合致する商品がユーザに提案されることとなる。つまり、ユーザが肯定の応答をすることによって興味を示した事柄に沿った商品が提案されることとなるので、提案される商品はユーザにとって好みの商品や興味を引く商品である可能性が高くなる。
【０１１６】
また、このような商品の提案は、複数種類の対話テンプレートを利用した様々な内容の対話を通じて行われる。また、置換対話の場合は、商品検索のための検索キーワード（置換対象タグ[ｎ]に対する挿入キーワード）も様々な観点から生成される。そのため、ユーザの買いたい商品が当初からはっきりしていない場合などでも、商品情報提供システム１００とユーザとの対話を通じてよりユーザの嗜好に合った商品を提案することができる。
【０１１７】
さらに、本実施形態では、ＳＮＳのプロフィール情報や発言情報などから抽出したキーワードのみならず、それに対する関連キーワードも利用して検索キーワードが生成され、商品の検索が実行される。これにより、ユーザにとって想定外の良い商品との出会いを促すことができる。つまり、ユーザにとって関心度が高く、かつ、ユーザ自身では辿り着けない商品の提案も行うことができる。
【０１１８】
以上により、ユーザは、買いたい商品を明確に決めずにモールを歩きながら好みの商品を見つけるような感覚の買い物を、本実施形態の商品情報提供システム１００が提供するショッピングサイト上で実現することができる。
【０１１９】
なお、上記実施形態では、対話テンプレート記憶部１が定型対話、置換対話、自由発言、視点変換の４種類の対話テンプレートを備える構成について説明したが、本発明はこれに限定されない。すなわち、この中の何れか２種類あるいは３種類の対話テンプレートを備える構成であってもよい。ただし、４種類を用いるのが最も好ましい。
【０１２０】
また、上記実施形態では、置換対話の対話テンプレートを用いる場合に、置換対象タグ[ｎ]に対する挿入キーワードを生成する方法として５つの方法を用いる構成について説明したが、本発明はこれに限定されない。すなわち、この中の少なくとも１つを用いる構成であってもよい。ただし、５つの方法を適宜用いるのが最も好ましい。
【０１２１】
また、上記実施形態では、自由発言の対話テンプレートを用いる場合、ユーザが肯定の応答をしてテキスト文を入力したときに、そのテキスト文から抽出したキーワードを用いて置換対話の対話文を生成して提供し、ユーザがこれに肯定の応答をした場合に検索キーワードを生成する例について説明したが、本発明はこれに限定されない。例えば、置換対話の対話文は生成せず、自由発言のテキスト文から抽出したキーワードをそのまま検索キーワードとして生成するようにしてもよい。
【０１２２】
また、上記実施形態では、検索条件エリア３５に設定中の検索キーワードをユーザ情報記憶部７に記憶する例について説明したが、本発明はこれに限定されない。例えば、ユーザ情報記憶部７とは別に、検索キーワードを専用で記憶する検索キーワード記憶部を設けるようにしてもよい。または、ユーザ毎に設定されている検索キーワードをユーザのクライアント端末２００に記憶させ、その検索キーワードを商品情報提供システム１００がクライアント端末２００から取得して利用するようにしてもよい。
【０１２３】
また、上記実施形態では、関連キーワード記憶部８およびキーワード変換部９を商品情報提供システム１００のサーバ装置が備える構成について説明したが、これとは別のサーバ装置が備える構成としてもよい。
【０１２４】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１２５】
１  対話テンプレート記憶部
２  商品情報記憶部
３  対話文提供部
４  キーワード生成部
５  商品提示部
６  ユーザ情報管理部
７  ユーザ情報記憶部
８  関連キーワード記憶部
９  キーワード変換部
１０  対話ログ管理部
１１  対話ログ記憶部
【図１】
2014167722.tif 000003
【図２】
2014167722.tif 000004
【図３】
2014167722.tif 000005
【図４】
2014167722.tif 000006
【図５】
2014167722.tif 000007
【図６】
2014167722.tif 000008
【図７】
2014167722.tif 000009
【図８】
2014167722.tif 000010
【図９】
2014167722.tif 000011
【図１０】
2014167722.tif 000012
【図１１】
2014167722.tif 000013