以下、本発明の一実施形態を図面に基づいて説明する。図1は、本実施形態による商品情報提供システムの機能構成例を示すブロック図である。図1に示すように、本実施形態の商品情報提供システム100は、その機能構成として、対話テンプレート記憶部1、商品情報記憶部2、対話文提供部3、キーワード生成部4、商品提示部5、ユーザ情報管理部6、ユーザ情報記憶部7、関連キーワード記憶部8、キーワード変換部9、対話ログ管理部10および対話ログ記憶部11を備えている。
商品情報提供システム100が備える対話文提供部3、キーワード生成部4、商品提示部5、ユーザ情報管理部6、キーワード変換部9および対話ログ管理部10の各機能は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、これらの各機能は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶された商品情報提供用プログラムが動作することによって実現される。
本実施形態の商品情報提供システム100は、インターネット等の通信ネットワークに接続可能になされたサーバ装置で構成されており、当該通信ネットワークを介してクライアント端末200およびソーシャルネットワーキングサービス(SNS)を提供するサーバ装置(以下、SNSサーバ300という)と接続されている。クライアント端末200は、その機能構成として、ユーザインタフェース部(UI部)21を備えている。
UI部21は、ユーザが商品情報提供システム100と対話をするためのユーザインタフェースを提供するためのものである。具体的には、UI部21は、商品情報提供システム100が生成する対話画面をディスプレイに表示させるとともに、当該対話画面を通じてユーザから商品情報提供システム100に対して所望の応答や指示を行うためのユーザインタフェースを提供する。
対話テンプレート記憶部1は、UI部21を通じてユーザに対話文を提供する際に使用する複数種類の対話テンプレートを記憶する。本実施形態では、対話テンプレート記憶部1に記憶する対話テンプレートとして、様々な商品を提案してユーザに購買候補の商品を選ばせるための第1ステージの対話テンプレートと、第1ステージで選ばれた購買候補の商品(後述するピンボードエリアに取り置きされた商品)をユーザに吟味させるための第2ステージの対話テンプレートと、第2ステージで吟味された購買候補の商品の購買決定をユーザに促すための第3ステージの対話テンプレートとを備えている。
また、本実施形態では、対話テンプレート記憶部1に記憶する対話テンプレートとして、定型対話のテンプレート、置換対話のテンプレート、自由発言のテンプレート、視点変換のテンプレートおよびステージ間遷移のテンプレートを備えている。
ここで、ステージ間遷移のテンプレートは、少なくとも第1ステージおよび第2ステージの対話テンプレートとして必須のものである。これに対し、定型対話のテンプレート、置換対話のテンプレート、自由発言のテンプレート、視点変換のテンプレートは、ステージ毎に任意のものを備えている。様々な商品を提案する第1ステージに関しては、定型対話のテンプレート、置換対話のテンプレート、自由発言のテンプレート、視点変換のテンプレートの全てを備えるのが好ましい。
定型対話のテンプレートは、あらかじめ決められた文言による対話文を生成するためのテンプレートである。置換対話のテンプレートは、あらかじめ決められた文言の中に対話文提供部3が生成する挿入キーワードを挿入することによって対話文を生成するためのテンプレートである。自由発言のテンプレートは、ユーザに対してテキスト文の入力による自由発言を促す対話文を生成するためのテンプレートである。視点変換のテンプレートは、ユーザに対して視点を変えた商品検索を促す対話文を生成するためのテンプレートである。ステージ間遷移のテンプレートは、第1ステージと第2ステージとの間および第2ステージと第3ステージとの間の遷移を促す対話文を生成するためのテンプレートである。
図2A〜図2Cは、対話テンプレート記憶部1に記憶される対話テンプレートのデータベース(DB)の一例を示す図である。このうち、図2Aは第1ステージの対話テンプレート、図2Bは第2ステージの対話テンプレート、図2Cは第3ステージの対話テンプレートを示している。
図2A〜図2Cに示すように、対話テンプレートDBは、レコードID、対話シナリオID、対話テキスト、検索キーワード、応答テキスト、応答への応答テキストを項目として含んでいる。このうち、レコードIDは、対話テンプレートDBを構成する各レコードに対して付与される昇順の番号である。
対話シナリオIDは、ユーザに対話文を順次提供していく際に使用する対話テンプレートのシーケンスを特定するためのIDである。図2A〜図2Cの例において、対話シナリオIDの先頭にある数字は、ステージ番号を示している。また、対話シナリオIDの2番目にあるアルファベットは、対話テンプレートの種類を示している。Aは定型対話のテンプレート、Bは置換対話のテンプレート、Cは自由発言のテンプレート、Dは視点変換のテンプレート、Eはステージ間遷移のテンプレートである。
また、対話シナリオIDの末尾にある数字がシナリオ番号に相当する。対話文提供部3が対話文を生成する際には、このシナリオ番号の昇順に従ってレコードが1つずつ順次取得される。シナリオ番号の末尾までレコードが取得されると、再びシナリオ番号の先頭に戻って次のレコードが取得される。なお、このシナリオ番号は、ステージ毎に個別に設定されている。
対話テキストの項目には、ユーザに提示する対話文の文言がテキスト文として記述されている。置換対話のテンプレートの場合、文言の中に置換対象タグ[n](n=1,2,・・・)が埋め込まれている。この置換対象タグ[n]が、対話文提供部3により生成される挿入キーワードに置換されて対話文が生成されるようになっている。
検索キーワードは、定型対話のテンプレートに対して設定されている。定型対話のテンプレートに基づいて生成された対話文に対してユーザが肯定の応答をした場合に、図2A〜図2Cの対話テンプレートDBに設定されている検索キーワードがキーワード生成部4により抽出され、新たな検索キーワードとして生成されるようになっている。
応答テキストは、対話テキストから生成された対話文に対してユーザが肯定または否定の応答するための選択肢として使われる回答文の文言がテキスト文として記述されている。また、応答への応答テキストは、ユーザが肯定または否定の応答をした場合に、更にその応答としてシステムがユーザに提示する対話文の文言がテキスト文として記述されている。
なお、図2A〜図2Cに示す対話テンプレートDBでは、複数種類の対話テンプレートを対話シナリオのシーケンスに沿った順番で各レコードに格納する例を示しているが、この構造に限定されるものではない。例えば、複数の対話テンプレートをその種類毎にグルーピングし、種類毎に分けてレコードに格納する構造としてもよい。このようにしても、対話シナリオIDの末尾にあるシナリオ番号に従って、複数の対話テンプレートを対話シナリオのシーケンスに沿って順次取得していくことが可能である。
また、図2A〜図2Cに示す対話テンプレートDBでは、対話シナリオIDの末尾にあるシナリオ番号が全て異なる数字で示されているが、同じ数字の対話シナリオIDが複数あってもよい。シナリオ番号の同じレコードが複数ある場合、対話文提供部3がシーケンスに従って1つの対話文を生成する際には、同じシナリオ番号が付された複数のレコードの中から何れか1つのレコードをランダムに、あるいは所定のルールに従って取得する。
商品情報記憶部2は、UI部21によりディスプレイに表示される対話画面を通じてユーザに提案する商品の情報を記憶する。商品情報記憶部2に記憶する商品情報は、例えば、商品名、商品属性(色、サイズ、男性用か女性用かの性別など)、商品画像、商品の説明文、価格などを含んでいる。
図3は、UI部21によりディスプレイに表示される対話画面の一例を示す図である。図3に示すように、本実施形態の対話画面は、対話エリア31、検索条件エリア35、商品一覧エリア37、ピンボードエリア38および自由発言エリア39を備えている。
対話エリア31の中には仮想店員32が表示され、対話文提供部3により生成される対話文33が仮想店員32からの発言として(吹き出しとして)提示されるようになっている。吹き出しの中には、対話テンプレートDBの対話テキストや応答への応答テキストから生成される対話文33が表示されるとともに、対話テンプレートDBの応答テキストから生成される肯定および否定の回答文34が表示されている。回答文34は、UI部21を通じて操作可能なボタンとなっている。
検索条件エリア35には、ユーザに提示する商品を検索する際の検索キーワードが設定されている。この検索キーワードは、後述するようにキーワード生成部4により生成されるものである。検索条件エリア35に複数の検索キーワードが設定されている場合、本実施形態ではそれら複数の検索キーワードを用いたOR検索を行う。
検索条件エリア35には、UI部21を通じて操作可能な編集ボタン36が表示されている。編集ボタン36を操作することにより、設定されている検索キーワードの詳細画面を表示させ、不要となった検索キーワードを削除することができるようになっている。また、個々の検索キーワードに対して所望の重みを設定することも可能である。検索キーワードに重みを設定した場合、OR検索の結果として商品一覧エリア37に表示される商品一覧において、大きな重みを設定した検索キーワードに合致する商品ほど上位の位置に表示されるようになる。
商品一覧エリア37には、検索条件エリア35に設定されている1以上の検索キーワードを用いたOR検索により抽出された商品が一覧として表示される。図3の例では、OR検索の検索条件に合致する複数の商品の画像が一覧表示されている。なお、ログイン時や検索キーワードの削除時など、検索キーワードの数が0の場合もある。その場合は全商品の一部が一覧として表示さる。ユーザがUI部21を通じて所望の商品画像を選択すると、その商品に関する詳細な情報(商品属性や説明文など)が表示されるようになっている。
ピンボードエリア38には、UI部21を通じてユーザにより指定された取り置き商品の画像が表示される。取り置き商品とは、興味はあるけれども購入するかどうかをまだ迷っているときにユーザにより指定される購買候補の商品のことであり、ショッピングカートにはまだ入れられていない状態の商品である。商品の取り置きは、例えば、商品一覧エリア37に表示された商品一覧の中から所望の商品画像をピンボードエリア38にドラッグ操作することによって行うことが可能である。
自由発言エリア39は、ユーザがUI部21を通じて所望のテキスト文を自由発言として入力するためのエリアである。この自由発言エリア39にテキスト文を入力して発言ボタン40を押下することにより、商品情報提供システム100に対してユーザの自由発言を入力することが可能である。
図3に示す対話画面には、以上説明した各エリアの他に、タイムラインボタン41およびカートボタン42が表示されている。タイムラインボタン41を押下すると、それまでに行われた対話応答のログがタイムラインとして一覧表示されるようになっている。
図4は、当該タイムラインが表示された状態の画面例を示す図である。図4に示す例では、対話エリア31に表示された過去の対話文33が時系列で表示されている。各々の対話文33にはリプレイボタン43が表示されている。ユーザがこのリプレイボタン43を押下すると、その対話文が対話エリア31に再び表示されるようになっている。
カートボタン42は、商品をショッピングカートに入れることを指示するためのボタンである。本実施形態では、ピンボードエリア38に商品画像が貼り付けられている状態でカートボタン42を押下することにより、ピンボードエリア38上の商品をショッピングカードに移すことができるようになっている。
図1に戻って説明を続ける。対話文提供部3は、対話テンプレート記憶部1に記憶されている複数種類の対話テンプレートを所定のシナリオに沿って順次読み出して対話文を生成し、UI部21を通じてユーザに提供する。図2A〜図2Cで説明したように、本実施形態では、対話テンプレートDBの対話シナリオIDに従って、複数種類の対話テンプレートを順次読み出して対話文を生成し、ユーザに提供する。対話文のユーザに対する提示は、図3に示したように対話画面に表示させた仮想店員32からの発言として行うようにする。
本実施形態では、対話文提供部3は、第1ステージ〜第3ステージのうち、現在設定されているステージの対話テンプレートを対話テンプレート記憶部1から所定のシナリオに沿って順次読み出して対話文33を生成し、ユーザに提供する。また、対話文提供部3は、ステージ間遷移の対話テンプレートに基づき提供した対話文33に対してユーザが肯定の応答をした場合に、現在設定されているステージを遷移させる。なお、現在設定されているステージの情報は、ユーザ情報記憶部7に記憶されている(詳しくは後述する)。
例えば、図2Aに示した対話シナリオID“1Exxi”の対話テンプレートは、第1ステージから第2ステージへの遷移を促す対話文を生成するためのテンプレートである。この対話テンプレートから生成された対話文33に対してユーザが肯定の応答をすると、対話文提供部3は現在設定されているステージを第1ステージから第2ステージへ遷移させる。
また、図2Bに示した対話シナリオID“2Exxi”の対話テンプレートは、第2ステージから第3ステージへの遷移を促す対話文を生成するためのテンプレートである。この対話テンプレートから生成された対話文33に対してユーザが肯定の応答をすると、対話文提供部3は現在設定されているステージを第2ステージから第3ステージへ遷移させる。
さらに、図2Bに示した対話シナリオID“2Exxi+1”の対話テンプレートは、第2ステージから第1ステージへの遷移を促す対話文を生成するためのテンプレートである。この対話テンプレートから生成された対話文33に対してユーザが肯定の応答をすると、対話文提供部3は現在設定されているステージを第2ステージから第1ステージへ遷移させる。
定型対話のテンプレートを使用する場合、対話文提供部3は、対話テンプレート記憶部1の対話テンプレートDBから取得した対話テキストをそのまま対話文33として生成し、仮想店員32が発言する態様でユーザに提示する。このとき対話文提供部3は、対話テンプレートDBの対話テキストと同じレコードから取得した応答テキストを用いて回答文34を生成し、対話文33と一緒に回答の選択肢としてユーザに提示する。
そして、ユーザが回答文34の何れかを押下して対話に応答した場合、対話文提供部3は、対話テンプレートDBの同じレコードから取得した応答への応答テキストを用いて、仮想店員32が応答として発言する対話文33を生成し、ユーザに提示する。これで1セットの対話(1レコードの対話シナリオIDに関する対話)が終了する。なお、ユーザが何れの回答文34も押下しない場合は、所定時間の経過をもってタイムアウトとし、その対話文33に関する吹き出しを対話エリア31から消去する。
また、置換対話のテンプレートを使用する場合、対話文提供部3は、対話テンプレート記憶部1の対話テンプレートDBから取得した対話テキストに埋め込まれている置換対象タグ[n]の部分を、対話文提供部3が生成した挿入キーワードで置換することによって対話文33を生成し、仮想店員32が発言する態様でユーザに提示する。このとき対話文提供部3は、対話テンプレートDBの対話テキストと同じレコードから取得した応答テキストを用いて回答文34を生成し、対話文33と一緒に回答の選択肢としてユーザに提示する。ユーザが回答文34の何れかを押下して対話に応答した場合、または対話に応答しなかった場合の処理については、定型対話のテンプレートを使用する場合と同様である。
対話文提供部3が置換対象タグ[n]に対する挿入キーワードを生成する方法として、本実施形態では5つの方法を用意している。対話文提供部3が1つの対話文を生成する際は、5つの方法の中から何れか1つを任意に選択して実施する。あるいは、個々の対話シナリオIDに対して、どの生成方法を適用するかをあらかじめ定めておいてもよい。
置換対象タグ[n]に対する挿入キーワードを生成する5つの方法とは、(1)SNSからのプロフィール取得、(2)SNSからの特徴語取得、(3)ピンボードからの共通特徴取得、(4)SNSからのプロフィール取得と関連キーワードへの変換、(5)現在設定中の検索キーワードの関連キーワードへの変換、の5つである。以下、これらを1つずつ説明する。
(1)SNSからのプロフィール取得
対話文提供部3は、ユーザが使用しているSNSサーバ300にインターネットを介してアクセスし、当該SNSサーバ300に登録されているプロフィール情報からユーザの興味情報を抽出し、当該興味情報から挿入キーワードを生成する。例えば、対話文提供部3は、Facebook graph API(Facebookは登録商標。以下同様)でユーザの“interests”や“activities”を興味情報として取得し、その中からランダムに取得した1つのキーワードを置換対象タグ[n]に対する挿入キーワードとして生成する。
(2)SNSからの特徴語取得
対話文提供部3は、ユーザが使用しているSNSサーバ300にインターネットを介してアクセスし、当該SNSサーバ300から直近の発言情報を抽出し、当該発言情報から挿入キーワードを生成する。例えば、対話文提供部3は、Facebook graph APIでユーザの直近の発言情報(テキスト文)をm件取得して結合する。そして、結合したテキスト文から特徴語を抽出し、これを置換対象タグ[n]に対する挿入キーワードとして生成する。
ここで、テキスト文から抽出する特徴語とは、例えば、そのテキスト文の中に頻出する単語である。あるいは、そのテキスト文の中で使われている単語のうち他のユーザがあまり使用していない単語である。後者の場合、例えば、複数のユーザに対する対話文を生成する際に頻出単語として抽出した特徴語をデータベースとして保存しておく。そして、このデータベースに登録されていない単語を、他のユーザがあまり使用していない特徴語としてテキスト文から抽出する。あるいは、多くのドキュメントに出現する語(一般的な語)は値が低くなり、特定のドキュメントにしか出現しない語は値が高くなるような指標を用いて、その指標がある閾値より大きいものを特徴語として抽出するようにしてもよい。
(3)ピンボードからの共通特徴取得
対話文提供部3は、ピンボードエリア38に取り置きされた商品の説明文を商品情報記憶部2から取得し、当該商品の説明文から挿入キーワードを生成する。例えば、対話文提供部3は、ピンボードエリア38に取り置きされた商品の説明テキスト文を全て結合する。そして、結合したテキスト文から特徴語を抽出し、これを置換対象タグ[n]に対する挿入キーワードとして生成する。ここで、テキスト文から抽出する特徴語は、上述の特徴語と同様である。
(4)SNSからのプロフィール取得と関連キーワードへの変換
この方法では、関連キーワード記憶部8およびキーワード変換部9を使用する。関連キーワード記憶部8は、一のキーワードとそれに対する関連キーワードとを対応付けて関連キーワード情報として記憶する。ここで、1つのキーワードに対して1つの関連キーワードを対応付けてもよいし、1つのキーワードに対して複数の関連キーワードを対応付けてもよい。
キーワード変換部9は、一のキーワードを入力して、それを関連キーワード記憶部8に記憶されている関連キーワード情報に基づいて関連キーワードに変換する。ここで、関連キーワード記憶部8の関連キーワード情報において、キーワード変換部9に入力された1つのキーワードに対して複数の関連キーワードが対応付けられている場合、キーワード変換部9は複数の関連キーワードの中から何れか1つをランダムに選択する。
対話文提供部3は、(1)SNSからのプロフィール取得のところで説明した方法によって、SNSサーバ300からユーザの興味情報を取得してキーワードを生成する。さらに、対話文提供部3は、当該生成したキーワードをキーワード変換部9に供給してキーワード変換を実行させ、キーワード変換部9より出力された関連キーワードを最終的に置換対象タグ[n]に対する挿入キーワードとして生成する。
ここでは、まずSNSサーバ300からのプロフィール取得によってキーワードを生成し、それを関連キーワードに変換する例について説明したが、本発明はこれに限定されない。例えば、(2)SNSからの特徴語取得、または(3)ピンボードからの共通特徴取得のとこで説明した方法によってキーワードを生成し、それを関連キーワードに変換することによって挿入キーワードを生成するようにしてもよい。
(5)現在設定中の検索キーワードの関連キーワードへの変換
対話文提供部3は、検索条件エリア35に設定されている1以上の検索キーワードの中から何れか1つをランダムに抽出する。そして、抽出した検索キーワードをキーワード変換部9に供給してキーワード変換を実行させ、キーワード変換部9より出力された関連キーワードを置換対象タグ[n]に対する挿入キーワードとして生成する。なお、検索条件エリア35に設定されている1以上の検索キーワードは、ユーザ情報記憶部7に記憶されている(詳しくは後述する)。
対話文提供部3は、自由発言のテンプレートを使用する場合、対話テンプレート記憶部1の対話テンプレートDBから取得した対話テキストをそのまま対話文33として生成し、仮想店員32が発言する態様でユーザに提示する。このときも対話文提供部3は、対話テンプレートDBの対話テキストと同じレコードから取得した応答テキストを用いて回答文34を生成し、対話文33と一緒に回答の選択肢としてユーザに提示する。
ここで、ユーザが肯定の回答文34を押下して対話に応答した場合、対話文提供部3は、その後ユーザにより入力された自由発言のテキスト文からキーワードを抽出し、抽出したキーワードを置換対象タグ[n]に対する挿入キーワードとして用いることにより、置換対話の対話文33を生成して提供する。一方、自由発言を促す対話に対してユーザが否定の回答文34を押下して応答した場合、および当該対話に対して何ら応答しなかった場合の処理については、定型対話のテンプレートを使用する場合と同様である。
なお、テキスト文からのキーワードの抽出は、例えば以下のようにして行う。すなわち、対話文提供部3は、自由発言として入力されたテキスト文を形態素解析してあらかじめ設定した品詞(例えば、名詞および形容詞)を抽出し、その中から何れか1つまたは複数個をランダムに選択して検索キーワードとする。
また、対話文提供部3は、視点変換のテンプレートを使用する場合、対話テンプレート記憶部1の対話テンプレートDBから取得した対話テキストをそのまま対話文33として生成し、仮想店員32が発言する態様でユーザに提示する。このとき対話文提供部3は、対話テンプレートDBの対話テキストと同じレコードから取得した応答テキストを用いて回答文34を生成し、対話文33と一緒に回答の選択肢としてユーザに提示する。ユーザが回答文34の何れかを押下して対話に応答した場合、または対話に応答しなかった場合の処理については、定型対話のテンプレートを使用する場合と同様である。
また、対話文提供部3は、ステージ間遷移のテンプレートを使用する場合、対話テンプレート記憶部1の対話テンプレートDBから取得した対話テキストをそのまま対話文33として生成し、仮想店員32が発言する態様でユーザに提示する。このとき対話文提供部3は、対話テンプレートDBの対話テキストと同じレコードから取得した応答テキストを用いて回答文34を生成し、対話文33と一緒に回答の選択肢としてユーザに提示する。
ここで、ユーザが否定の回答文34を押下して対話に応答した場合、または対話に応答しなかった場合の処理については、定型対話のテンプレートを使用する場合と同様である。一方、ユーザが肯定の回答文34を押下して対話に応答した場合、対話文提供部3は、対話テンプレートDBの同じレコードから取得した応答への応答テキストを用いて、仮想店員32が応答として発言する対話文33を生成し、ユーザに提示する。さらに、対話文提供部3は、現在設定されているステージを遷移させるとともに、ユーザ情報管理部6を介してユーザ情報記憶部7に遷移後のステージを記憶させる。
様々な商品を提案してユーザに購買候補の商品を選ばせる第1ステージでは、以上に説明した定型対話、置換対話、自由発言、視点変換の対話テンプレートを全て用いるのが好ましい。また、置換対話の対話テンプレートでは、置換対象タグ[n]に対する挿入キーワードを生成する方法として5つの方法を全て用いるのが好ましい。
このように、第1ステージでは、複数種類の対話テンプレートと複数の挿入キーワード生成法を駆使することにより、様々な観点から商品を提案する。例えば、対話を通じてユーザの好みの条件を探したり、トレンド情報や店員ノウハウ等で誘引したり、ユーザが探していそうな商品を先回りしたり、パーソナライズされた情報で誘引したりする。あるいは、対話を通じて検索キーワードの重みを変えたり、ピンボードエリア38にある商品から新たな検索キーワードを設定したりもする。
これに対して、第1ステージでピンボードエリア38に取り置きされた商品をユーザに吟味させる第2ステージでは、主に定型対話や置換対話の対話テンプレートを用い、取り置きされた商品を深堀するような対話を実現する。置換対話の対話テンプレートにおいても、置換対象タグ[n]に対する挿入キーワードを生成する方法として5つの方法を全て用いることは必須でない。
例えば、第2ステージでは、対話を通じて、ピンボードエリア38に取り置きされている商品の利用シーンをイメージさせたり、取り置き商品の説明文から共通特徴を抽出して設定した検索キーワードで検索可能な類似商品を提案したり、取り置き商品の異なる属性を提示して勧めるなどして、ユーザが迷っていることへの理解・共感を演出したりする。
また、ピンボードエリア38に取り置きされた商品の購買決定をユーザに促す第3ステージでは、主に定型対話の対話テンプレートに基づく対話文を通じて、商品の利用シーンにおける不安要素を取り除いたり、購入意欲を高める最後の一押しをしたりする。
キーワード生成部4は、対話文提供部3により提供された対話文(ステージ間遷移のテンプレートに基づくものを除く)に対してユーザが肯定の応答をした場合に、当該対話文から検索キーワードを生成する(その生成方法の詳細は後述する)。そして、検索キーワードを生成した旨を商品提示部5に通知するとともに、ユーザ情報管理部6を介してユーザ情報記憶部7に検索キーワードを記憶させる。商品提示部5は、キーワード生成部4により生成された検索キーワードを用いて商品情報記憶部2を検索し、検索キーワードに合致する商品を抽出してユーザに提示する。
本実施形態では、商品提示部5は、繰り返しの対話を通じてキーワード生成部4により順次生成されて検索条件エリア35に設定された1以上の検索キーワードを用いたOR検索により、商品情報記憶部2の中から当該OR検索の検索条件に合致する商品を抽出してユーザに提示する。すなわち、検索条件に合致した商品を商品一覧エリア37に表示させる。
上述したように、キーワード生成部4により生成された検索キーワードは、ユーザ情報管理部6を介してユーザ情報記憶部7に順次記憶される。商品提示部5は、キーワード生成部4により新たに1つの検索キーワードが生成されたときに、その新たな検索キーワードも含めてユーザ情報記憶部7に記憶された1以上の検索キーワードを用いてOR検索を行い、その検索でヒットした商品を商品一覧エリア37に表示させる。
すなわち、対話文提供部3により提供された何らかの対話文に対してユーザが肯定の応答をすると、当該対話文から1つの検索キーワードがキーワード生成部4により生成されて、検索条件エリア35に追加設定される(ユーザ情報記憶部7に追加登録される)。そして、当該設定された1以上の検索キーワードを用いたOR検索が商品提示部5により実行されて、商品一覧エリア37に一覧表示される。このように、本実施形態では、対話文に対してユーザが肯定の応答をすると、商品一覧エリア37の表示内容がダイナミックに変わるようになっている。
ここで、キーワード生成部4による検索キーワードの生成方法について詳しく説明する。例えば、対話文提供部3により定型対話のテンプレートから生成された対話文に対してユーザが肯定の応答をした場合、キーワード生成部4は、当該記定型対話のテンプレートによりあらかじめ定められたキーワード(対話テンプレートDBに登録されているもの)を抽出し、これを検索キーワードとして生成する。
また、対話文提供部3により置換対話のテンプレートから生成された対話文に対してユーザが肯定の応答をした場合、キーワード生成部4は、対話文提供部3が生成して対話文の文言中に挿入した挿入キーワードを検索キーワードとして生成する。
また、キーワード生成部4は、対話文提供部3により自由発言のテンプレートから生成された対話文に対してユーザが肯定の応答をしてテキスト文を入力した場合には、当該テキスト文の中から検索キーワードを生成する。具体的には、上述したように、対話文提供部3によってテキスト文の中からキーワードが抽出されて置換対話の対話文が改めて生成され、その対話文に対してユーザが肯定の応答をしたときに、置換対話の対話文に挿入されたキーワード(つまり、テキスト文から抽出されたキーワード)を検索キーワードとして生成する。
また、キーワード生成部4は、対話文提供部3により視点変換のテンプレートから生成された対話文に対してユーザが肯定の応答をした場合には、検索条件エリア35に設定されている(つまり、ユーザ情報記憶部7に記憶されている)1以上の検索キーワードを用いたOR検索とは異なる検索条件を生成する。この場合、新たな検索キーワードは追加しない。
上述したように、ユーザ情報記憶部7に記憶されている1以上の検索キーワードを用いたOR検索が、通常の検索条件として設定されている。これに対して、視点変換の対話文に対してユーザが肯定の応答をした場合、キーワード生成部4は、上述のOR検索とは異なる一過性の検索条件を生成する。例えば、ユーザ情報記憶部7に記憶されている1以上の検索キーワードに設定されている重みを任意に変更した検索条件を生成する。あるいは、ピンボードエリア38に取り置きされた商品の説明文から特徴語を抽出し、抽出した特徴語を一過性の検索キーワードとして生成するようにしてもよい。
キーワード生成部4により一過性の検索条件が生成された場合、商品提示部5はその一過性の検索条件に従って商品情報記憶部2を検索し、その検索条件に合致する商品を抽出して商品一覧エリア37に表示させる。ただし、この場合はあくまでも一過性の検索なので、商品一覧エリア37に表示中の商品一覧を更新するのではなく、表示中の商品一覧の上に一過性の商品一覧をオーバーレイ表示したり、別画面を立ち上げてポップアップ表示したりするのが好ましい。また、ここで表示する商品は、一過性の検索条件に合致する商品の中から更に特定したk個(例えば、k=3)の商品であるとする。
ユーザ情報管理部6は、本実施形態の商品情報提供システム100を利用するユーザの情報をユーザ情報記憶部7に記憶させて管理する。本実施形態の商品情報提供システム100は、ユーザがUI部21を通じてログインをすることによって利用可能となる。ユーザ情報管理部6は、そのログインに必要なユーザIDやパスワードを管理する。
また、ユーザ情報管理部6は、対話文提供部3により設定されている現在のステージや、キーワード生成部4により生成される検索キーワードをユーザIDに関連付けてユーザ情報記憶部7に記憶させる。また、UI部21を通じて検索キーワードの削除が行われた場合、ユーザ情報管理部6はユーザ情報記憶部7から該当する検索キーワードを削除する。また、UI部21を通じて検索キーワードに対する重みの設定が変更された場合、ユーザ情報管理部6は変更された重みをユーザ情報記憶部7に記憶させる。
また、UI部21を通じて所望の商品がピンボードエリア38に取り置きされた場合、ユーザ情報管理部6は、その取り置きされた商品の情報を商品情報記憶部2から取得し、ユーザIDに関連付けてユーザ情報記憶部7に記憶させる。また、UI部21を通じてカートボタン42が押下された場合、ユーザ情報管理部6は、ピンボードエリア38に取り置きされている商品をショッピングカートに移すようにユーザ情報記憶部7の情報を更新する。
対話ログ管理部10は、対話文提供部3により提示された対話文と、その対話文に対してUI部21を通じて行われたユーザによる応答と、その対話文からキーワード生成部4により生成された検索キーワードとを対応付けて対話応答ログとして対話ログ記憶部11に記憶させる。図4を用いて上述したように、対話ログ記憶部11に記憶された対話応答ログは対話文提供部3により利用され、タイムラインボタン41の押下により画面表示させることができ、リプレイボタン43の押下により対話文の再表示が可能となっている。
なお、タイムラインには、ユーザが何ら応答しなかった対話文33を表示させることも可能である。例えば、商品情報提供システム100の対話ログ記憶部11に記憶されている対話応答ログを利用せずに、クライアント端末200側のキャッシュメモリに対話の履歴を保持し、それを利用してライムラインに対話文33を表示する。
図5は、対話ログ記憶部11に記憶される対話応答ログDBの一例を示す図である。図5に示すように、対話応答ログDBは、対話ID、対話シナリオID、ユーザID、応答種別、パラメータ1、パラメータ2を項目として含んでいる。このうち、対話IDは、対話応答ログDBを構成する各レコードに対して付与される昇順の番号である。
対話シナリオIDは、図2A〜図2Cに示したものと同じである。ユーザIDは、ユーザを一意に特定するためのログインIDである。応答種別は、対話文に対してユーザが肯定の応答をしたのか否定の応答をしたのかを種別を表すものである。本実施形態では、対話文に対してユーザが肯定も否定もせずにそのまま無視した場合(タイムアウトとなった場合)、その対話文は対話応答ログに登録されない。
パラメータ1およびパラメータ2は、その対話文に関連した検索キーワードである。例えば、定型対話の場合は対話テンプレートDBに記憶されている検索キーワードであり、これがパラメータ1として記憶される。また、置換対話の場合は対話文提供部3により生成された挿入キーワードであり、これがパラメータ1として記憶される。ただし、関連キーワードへのキーワード変換により挿入キーワードが生成された場合は、変換前の元キーワードがパラメータ1として、変換後の関連キーワードがパラメータ2として記憶される。
上述したキーワード生成部4は、対話ログ記憶部11に記憶された対話応答ログDBを利用して検索キーワードの生成を制御している。すなわち、キーワード生成部4は、例えば所定の時間間隔毎にバッチ処理を起動させ、対話応答ログDBに記憶されている対話文について、対話シナリオIDごとに肯定の応答数と否定の応答数とを集計する。そして、肯定の応答数に比べて否定の応答数が所定数以上多くなった場合、その対話文に対応付けられた検索キーワードは以降の対話の中で検索キーワードとして生成しないようにする。
図6は、対話応答ログDBの集計結果の一例を示す図である。図6の例では、対話シナリオID“XXXX1”の対話文に対して肯定の応答数が4、否定の応答数が2となっている。一方、対話シナリオID“XXXX2”の対話文に対して肯定の応答数が3、否定の応答数が15となっている。
前者の場合、“XXXX1”の対話文は肯定の応答数が否定の応答数を上回っているので、バッチ処理が行われた以降もパラメータ1とパラメータ2とのセットで検索キーワードの生成が行われる。一方、後者の場合、“XXXX2”の対話文は肯定の応答数に比べて否定の応答数が所定数j(例えば、j=5)以上多くなっているので、“XXXX2”の対話文においてそれ以降はパラメータ1の“犬”というキーワードは検索キーワードとして生成しない。
次に、上記のように構成した本実施形態による商品情報提供システム100およびクライアント端末200の動作について説明する。図7は、クライアント端末200の動作例を示すフローチャートである。また、図8〜図12は、商品情報提供システム100の動作例を示すフローチャートである。なお、図7に示すフローチャートは、ユーザがクライアント端末200から商品情報提供システム100のサーバ装置にアクセスしてログインをしたときに開始する。
まず、図7を用いてクライアント端末200の動作を説明する。まず、クライアント端末200は、商品情報提供システム100に対して対話取得API(Application Programming Interface)の呼び出しを行う(ステップS1)。この対話取得APIの呼び出しを商品情報提供システム100が受け取ると、所定のシナリオに従って対話文33およびその対話文33に対する応答の選択肢となる回答文34が商品情報提供システム100にて生成され、クライアント端末200に送信される。クライアント端末200では、UI部21を通じて、商品情報提供システム100から受信した対話文33および回答文34を、対話エリア31において仮想店員32の吹き出し中に表示させる(ステップS2)。
クライアント端末200は、この対話文33に対してユーザが肯定の応答をしたか否かを判定する(ステップS3)。ここでは、UI部21を通じて肯定の回答文34を選択する操作が行われたか否かを判定する。ユーザにより肯定の応答が行われた場合、クライアント端末200は、その応答が、ステージ間遷移を促す対話文33に対するものであったか否かを判定する(ステップS4)。
ここで、ユーザによる応答が、ステージ間遷移を促す対話文33に対する応答であった場合、クライアント端末200は、商品情報提供システム100に対してステージ間遷移APIの呼び出しを行う(ステップS5)。その後、処理はステップS1に戻る。一方、ステージ間遷移を促す対話文33に対する応答でなかった場合、クライアント端末200は、自由発言を促す対話文33に対する応答であったか否かを判定する(ステップS6)。
ここで、自由発言を促す対話文33に対する肯定の応答であった場合、クライアント端末200は、自由発言エリア39をハイライトさせてユーザに自由発言の入力を促す。その後、ユーザが自由発言エリア39にテキスト文を入力して発言ボタン40を押下したタイミングで、クライアント端末200は、商品情報提供システム100に対して置換対話の対話取得APIの呼び出しを行う(ステップS7)。
この対話取得APIの呼び出しを商品情報提供システム100が受け取ると、ユーザにより入力された自由発言のテキスト文からキーワードが抽出される。そして、そのキーワードを挿入キーワードとして置換対話の対話文33および回答文34が生成され、クライアント端末200に送信される。その後、処理はステップS2に戻り、クライアント端末200では、UI部21を通じて、商品情報提供システム100から受信した置換対話の対話文33および回答文34が、対話エリア31において仮想店員32の吹き出し中に表示される。
一方、ステップS6において、対話文33に対してユーザにより行われた肯定の応答が、自由発言を促す対話文33に対するものではないと判定された場合、クライアント端末200は、商品情報提供システム100に対して商品検索APIおよび対話応答ログAPIの呼び出しを行う(ステップS8)。
商品検索APIの呼び出しを商品情報提供システム100が受け取ると、商品情報提供システム100にて商品の検索が行われ、その検索結果がクライアント端末200に送信される。クライアント端末200では、商品情報提供システム100から送られてくる検索結果をUI部21を通じて表示させる(ステップS9)。そして、処理はステップS15に進む。
このステップS9において、商品情報提供システム100から受信した検索結果が、定型対話または置換対話の対話文に対してユーザが肯定の応答をした結果として送られてきたものである場合は、商品一覧エリア37に表示中の商品一覧が更新して表示される。一方、検索結果が、視点変換の対話文に対してユーザが肯定の応答をした結果として送られてきたもの(一過性の商品一覧)である場合は、商品一覧エリア37に表示中の商品一覧の上に、一過性の商品一覧がオーバーレイ表示される。
上記ステップS3において、ユーザにより肯定の応答が行われていないと判断した場合、クライアント端末200は、対話文33に対してユーザが否定の応答をしたか否か、つまりUI部21を通じて否定の回答文34を選択する操作が行われたか否かを更に判定する(ステップS10)。ユーザにより否定の応答が行われた場合、クライアント端末200は、商品情報提供システム100に対して対話応答ログAPIの呼び出しを行う(ステップS11)。そして、処理はステップS15に進む。
一方、ユーザにより否定の応答も行われていないと判断した場合、クライアント端末200は、ステップS2で対話エリア31に対話文を表示してから、ユーザによる何の応答もなく所定時間のタイムアウトが生じたか否かを判定する(ステップS12)。タイムアウトが生じた場合、処理はステップS1に戻る。
一方、タイムアウトが生じていない場合、クライアント端末200は、UI部21を通じてユーザによりその他の操作が行われたか否かを判定する(ステップS13)。その他の操作とは、商品一覧エリア37の中から何れかの商品をピンボードエリア38に取り置きする操作、タイムラインボタン41を押下して過去の対話応答ログを表示させる操作、タイムライン上でリプレイボタン43を押下して対話文を再表示させる操作、編集ボタン36を押下して検索キーワードを編集する操作、カートボタン42を押下してピンボードエリア38に取り置きされている商品をショッピングカートに移動させる操作などである。
これらの操作のうち何れかの操作が行われた場合、クライアント端末200は、商品情報提供システム100に対してその操作内容に応じたAPIの呼び出しを行う(ステップS14)。そして、処理はステップS15に進む。ステップS15において、クライアント端末200は、ログオフの操作が行われたか否かを判定する。ログオフの操作が行われていない場合、所定はステップS1に戻る。一方、ログオフの操作が行われた場合、図7に示すフローチャートの処理は終了する。
次に、図8〜図12を用いて商品情報提供システム100の動作を説明する。図8は、対話取得APIの呼び出しが行われたときの動作例を示すフローチャートである。まず、対話文提供部3は、対話テンプレート記憶部1に記憶されている対話テンプレートDBから1つのレコード(対話テンプレート)を所定のシナリオに沿って読み出す(ステップS21)。
そして、対話文提供部3は、読み出した対話テンプレートが置換対話のテンプレートか否かを判定する(ステップS22)。読み出した対話テンプレートが置換対話のテンプレートであった場合、対話文提供部3は、置換対話のテンプレートの対話テキストに埋め込まれている置換対象タグ[n]に対する挿入キーワードを生成する(ステップS23)。
上述したように、挿入キーワードを生成する方法は5つ用意されているので、対話文提供部3はこの5つの方法の中から何れか1つを任意に選択して挿入キーワードを生成する。あるいは、ステップS21で読み出したレコードの対話シナリオIDに対してあらかじめ定めされた方法を適用して挿入キーワードを生成する。
続いて、対話文提供部3は、ステップS21で読み出した対話テンプレートの対話テキストに埋め込まれている置換対象タグ[n]の部分を、ステップS22で生成した挿入キーワードで置換することによって対話文を生成する(ステップS24)。そして、このようにして生成した対話文と、同じ対話テンプレートの応答テキストを用いて生成した回答文とを、対話取得APIの呼び出しに対するレスポンスとしてクライアント端末200に送信する(ステップS25)。これにより、図8に示すフローチャートの処理は終了する。
上記ステップS22において、ステップS21で読み出した対話テンプレートが置換対話のテンプレートではないと対話文提供部3にて判断した場合、対話文提供部3は、その対話テンプレートの対話テキストをそのまま対話文として生成するとともに、応答テキストを用いて回答文を生成し、対話取得APIの呼び出しに対するレスポンスとしてクライアント端末200に送信する(ステップS25)。これにより、図8に示すフローチャートの処理は終了する。
図9は、商品検索APIの呼び出しが行われたときの動作例を示すフローチャートである。まず、キーワード生成部4は、商品検索APIの呼び出しが、視点変換の対話文に対してユーザが肯定の応答をした結果としてクライアント端末200から送られてきたものか否かを判定する(ステップS31)。
ここで、商品検索APIの呼び出しが視点変換の対話文に基づくものでない場合、つまり、定型対話または置換対話に基づくものである場合、キーワード生成部4は、対話文から検索キーワードを生成してユーザ情報記憶部7に記憶させることにより、検索条件エリア35に現在設定中の検索キーワードに新たな検索キーワードを1つ追加する(ステップS32)。
そして、商品提示部5は、追加された検索キーワードを含めて検索条件エリア35に設定された1以上の検索キーワードを用いたOR検索により、商品情報記憶部2の中から当該OR検索の検索条件に合致する商品を抽出する(ステップS33)。さらに、商品提示部5は、以上の検索により抽出した商品の一覧を、商品検索APIの呼び出しに対するレスポンスとしてクライアント端末200に送信する(ステップS34)。これにより、図9に示すフローチャートの処理は終了する。
上記ステップS31において、商品検索APIの呼び出しが視点変換の対話文に基づくものであるとキーワード生成部4にて判断した場合、キーワード生成部4は、検索条件エリア35に設定されている(つまり、ユーザ情報記憶部7に記憶されている)1以上の検索キーワードを用いたOR検索とは異なる一過性の検索条件を生成する(ステップS35)。
そして、商品提示部5は、キーワード生成部4により生成された一過性の検索条件に合致する商品を商品情報記憶部2の中から抽出する(ステップS36)。さらに、商品提示部5は、以上の検索により抽出したk個の商品を、商品検索APIの呼び出しに対するレスポンスとしてクライアント端末200に送信する(ステップS37)。これにより、図9に示すフローチャートの処理は終了する。
図10は、対話応答ログAPIの呼び出しが行われたときの動作例を示すフローチャートである。対話応答ログAPIの呼び出しが行われた場合、対話ログ管理部10は、図5のように、対話文提供部3により提示された対話文の対話シナリオIDと、その対話文に対してUI部21を通じて行われたユーザによる肯定または否定の応答の種別と、キーワード生成部4により生成された検索キーワード(パラメータ1,2)とを対応付けて、対話応答ログとして対話ログ記憶部11に記憶させる(ステップS41)。これにより、図10に示すフローチャートの処理は終了する。
図11は、ステージ間遷移APIの呼び出しが行われたときの動作例を示すフローチャートである。ステージ間遷移APIの呼び出しが行われた場合、対話文提供部3は、現在設定されているステージの遷移を実行し、遷移後のステージをユーザ情報記憶部7に記憶させる(ステップS51)。これにより、図11に示すフローチャートの処理は終了する。
図12は、キーワード生成部4により所定の時間間隔毎に実行されるバッチ処理の動作例を示すフローチャートである。バッチ処理が起動すると、キーワード生成部4は、対話ログ記憶部11の対話応答ログDBに記憶されている各々の対話文について、対話シナリオIDごとに肯定の応答数と否定の応答数とを集計する(ステップS61)。
そして、キーワード生成部4は、肯定の応答数に比べて否定の応答数が所定数j以上多くなっている対話シナリオIDが存在するか否かを判定する(ステップS62)。そのような対話シナリオIDが存在する場合、キーワード生成部4は、その対話シナリオIDのレコードを記憶することにより、当該対話シナリオIDに対応付けてパラメータ1,2として記憶されている検索キーワードは以降の対話の中で検索キーワードとして生成しないようにする(ステップS63)。これにより、図12に示すフローチャートの処理は終了する。
以上詳しく説明したように、本実施形態の商品情報提供システム100では、定型対話、置換対話、自由発言、視点変換など複数種類の対話テンプレートを所定のシナリオに沿って順次読み出して対話文を生成し、ユーザに提供する。そして、提供された対話文に対してユーザが肯定の応答をした場合に、当該対話文から検索キーワードを生成して商品情報記憶部2を検索し、当該検索キーワードに合致する商品を抽出してユーザに商品一覧として提示するようにしている。
ここで、対話テンプレートは、様々な商品を提案してユーザに購買候補の商品を選ばせるための第1ステージの対話テンプレートと、第1ステージで選ばれた購買候補の商品をユーザに吟味させるための第2ステージの対話テンプレートと、第2ステージで吟味された購買候補の商品の購買決定をユーザに促すための第3ステージの対話テンプレートとを有している。
このように構成した本実施形態によれば、様々な商品を見ながら購買候補をいくつか選び、それらを更に吟味して、購入する商品を決定するといった実際の購買プロセスに沿って、システムとユーザとの間で対話が行われる。すなわち、検索を通じて提示される様々な商品の中から購買候補の商品を選んでピンボードエリア38に取り置きをする第1ステージ、ピンボードエリア38に取り置きされた購買候補の商品を更に吟味する第2ステージ、ピンボードエリア38に取り置きされた購買候補の商品をショッピングカートに移すことを促す第3ステージのそれぞれにおいて、システムとユーザとの間で適切な対話が繰り返される。
そして、第1ステージおよび第2ステージでは、繰り返しの対話の中でユーザが肯定の応答をしたときに、その対話文に関連して商品の検索キーワードが生成され、当該検索キーワードに合致する商品がユーザに提案されることとなる。このとき提案される商品は、ユーザが対話文に対して肯定の応答をすることによって興味を示した事柄に沿った商品である。
すなわち、本実施形態の商品情報提供システム100によれば、システム側に設定された所定のアルゴリズムに基づいてユーザの嗜好性をシステムが勝手に推定した結果として商品が提案されるのではなく、商品情報提供システム100とユーザとの間の繰り返しの対話の中でユーザが肯定の応答をしたときの対話文から検索キーワードが生成され、当該検索キーワードに合致する商品がユーザに提案されることとなる。つまり、ユーザが肯定の応答をすることによって興味を示した事柄に沿った商品が提案されることとなるので、提案される商品はユーザにとって好みの商品や興味を引く商品である可能性が高くなる。
また、このような商品の提案は、複数種類の対話テンプレートを利用した様々な内容の対話を通じて行われる。また、置換対話の場合は、商品検索のための検索キーワード(置換対象タグ[n]に対する挿入キーワード)も様々な観点から生成される。そのため、ユーザの買いたい商品が当初からはっきりしていない場合などでも、実店舗での販売形態に近い態様による商品情報提供システム100とユーザとの対話を通じて、よりユーザの嗜好に合った商品を提案することができる。
さらに、本実施形態では、SNSのプロフィール情報や発言情報などから抽出したキーワードのみならず、それに対する関連キーワードも利用して検索キーワードが生成され、商品の検索が実行される。これにより、ユーザにとって想定外の良い商品との出会いを促すことができる。つまり、ユーザにとって関心度が高く、かつ、ユーザ自身では辿り着けない商品の提案も行うことができる。
以上により、ユーザは、買いたい商品を明確に決めずにモールを歩きながら好みの商品を見つけるような感覚の買い物を、本実施形態の商品情報提供システム100が提供するショッピングサイト上で実現することができる。
なお、上記実施形態では、対話テンプレート記憶部1がステージ間遷移の対話テンプレート以外に定型対話、置換対話、自由発言、視点変換の4種類の対話テンプレートを備える構成について説明したが、本発明はこれに限定されない。すなわち、この中の何れか2種類あるいは3種類の対話テンプレートを備える構成であってもよい。ただし、4種類を用いるのが最も好ましい。特に第1ステージでは、4種類の対話テンプレートを用いるのが好ましい。
また、上記実施形態では、置換対話の対話テンプレートを用いる場合に、置換対象タグ[n]に対する挿入キーワードを生成する方法として5つの方法を用いる構成について説明したが、本発明はこれに限定されない。すなわち、この中の少なくとも1つを用いる構成であってもよい。ただし、5つの方法を適宜用いるのが最も好ましい。特に第1ステージでは、5つの方法を用いるのが好ましい。
また、上記実施形態では、自由発言の対話テンプレートを用いる場合、ユーザが肯定の応答をしてテキスト文を入力したときに、そのテキスト文から抽出したキーワードを用いて置換対話の対話文を生成して提供し、ユーザがこれに肯定の応答をした場合に検索キーワードを生成する例について説明したが、本発明はこれに限定されない。例えば、置換対話の対話文は生成せず、自由発言のテキスト文から抽出したキーワードをそのまま検索キーワードとして生成するようにしてもよい。
また、上記実施形態では、検索条件エリア35に設定中の検索キーワードをユーザ情報記憶部7に記憶する例について説明したが、本発明はこれに限定されない。例えば、ユーザ情報記憶部7とは別に、検索キーワードを専用で記憶する検索キーワード記憶部を設けるようにしてもよい。または、ユーザ毎に設定されている検索キーワードをユーザのクライアント端末200に記憶させ、その検索キーワードを商品情報提供システム100がクライアント端末200から取得して利用するようにしてもよい。
また、上記実施形態では、対話文提供部3が現在設定中のステージをユーザ情報記憶部7に記憶する例について説明したが、本発明はこれに限定されない。例えば、ユーザ情報記憶部7とは別に、現在設定中のステージを専用で記憶するステージ記憶部を設けるようにしてもよい。または、ユーザ毎に設定されているステージをユーザのクライアント端末200に記憶させ、そのステージを商品情報提供システム100がクライアント端末200から取得して利用するようにしてもよい。
また、上記実施形態では、関連キーワード記憶部8およびキーワード変換部9を商品情報提供システム100のサーバ装置が備える構成について説明したが、これとは別のサーバ装置が備える構成としてもよい。
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。