(58)【調査した分野】(Int.Cl.,DB名)
前記相関度は、前記第1のキーワードセットを用いて前記特定の情報が検索される場合に、該検索に続いて所定期間内に該第1のキーワードセットとペアとなる前記第2のキーワードセットを用いて前記特定の情報が検索される回数に基づいて設定される、
請求項1に記載の情報処理装置。
【発明を実施するための形態】
【0018】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0019】
(情報処理システムの構成)
<概略構成>
図1は、本実施形態に係る情報処理システム1の概略構成を示す図である。情報処理システム1は、特定の情報(例えば、飲食店に関する情報(飲食店情報))の検索に用いられる複数のキーワードが入力された場合に、当該複数のキーワードに続いて入力される一つ又は複数のキーワードの候補であるキーワード候補を提示する。
【0020】
なお、本実施形態において「複数のキーワードに“続いて”入力される一つ又は複数のキーワードの候補であるキーワード候補」、「複数のキーワードの“続く”キーワード候補」とは、当該複数のキーワードを用いて検索された特定の情報が画面上に表示された場合に、ユーザによる所定操作の検出により当該画面上に表示されるキーワード候補(再検索サジェストキーワード等ともいう)であってもよいし、又は、特定の情報の検索を検索サーバ30に要求する前に、当該複数のキーワードに置き換えられる又は組み合わせられる複数のキーワード候補(サジェストキーワード等ともいう)であってもよい。
【0021】
具体的には、情報処理システム1は、ユーザ端末10と、集計サーバ20と、検索サーバ30と、サジェストサーバ40と、解析サーバ50と、ネットワークNと、を含む。
【0022】
ユーザ端末10は、ユーザによる一つ又は複数のキーワードの入力を受け付ける端末であり、例えば、スマートフォン、パーソナルコンピュータ(PC)等である。なお、
図1では、単一のユーザ端末10が示されるが、情報処理システム1が複数のユーザ端末10を含んでもよいことは勿論である。
【0023】
集計サーバ20は、一つ又は複数のユーザ端末10において入力される複数のキーワードの集合(set)(第1のキーワードセット)と、当該ユーザ端末10において当該複数のキーワードに続いて入力される一つ又は複数のキーワードの集合(第2のキーワードセット)と、の相関度を集計する。ここで、相関度とは、第1のキーワードセットと第2のキーワードセットとの相関(関係、結び付き等ともいう)の度合いである。
【0024】
検索サーバ30は、ユーザ端末10において入力される一つ又は複数のキーワードの集合(検索用キーワードセット、クエリともいう)をキーとして、特定の情報(例えば、飲食店情報)を検索する。検索サーバ30によって検索される飲食店情報は、例えば、当該飲食店のエリア、駅、料理ジャンル、住所、利用シーン、飲食店の名称、識別子、口コミ、評価点数等を関連付ける情報であってもよい。
【0025】
サジェストサーバ40は、集計サーバ20で集計された相関度を示す情報(相関度情報)を記憶する。サジェストサーバ40は、ユーザ端末10により特定の情報(例えば、飲食店情報)の検索に用いられる複数のキーワードが入力された場合に、当該複数のキーワードに続いて入力される一つ又は複数のキーワードの候補であるキーワード候補を提示(サジェスト)する。
【0026】
解析サーバ50は、ユーザ端末10と検索サーバ30との間の検索の履歴に関する情報を管理する。例えば、解析サーバ50は、ユーザ端末10において入力される検索用キーワードセットと、当該ユーザ端末10と検索サーバ30との間のセッションを識別する識別子(セッションID)と、当該検索用キーワードセットに関する日時とを関連づけるレコードをログ情報として蓄積する。
【0027】
なお、集計サーバ20、検索サーバ30、サジェストサーバ40、解析サーバ50の少なくとも二つは同一のサーバとして構成されてもよい。また、ユーザ端末10は、「情報処理装置」と呼ばれてもよく、集計サーバ20、検索サーバ30、サジェストサーバ40、解析サーバ50の各々は、「サーバ」又は「情報処理装置」と呼ばれてもよい。また、以下、本実施形態では、検索サーバ30により検索される特定の情報が、飲食店情報である場合を想定して説明を行うが、当該特定の情報は、これに限られない。
【0028】
<機能構成>
図2は、本実施形態に係る検索サーバ、サジェストサーバ及びユーザ端末の機能構成の一例を示す図である。
【0029】
≪検索サーバ≫
検索サーバ30は、取得部31と、記憶部32と、検索部33と、を具備する。取得部31は、ユーザ端末10で入力された検索用キーワードセットを、後述する通信部10cを介して取得する。具体的には、取得部31は、当該検索用キーワードに対応する特定の情報(例えば、飲食店情報)の検索要求を、通信部10cを介して取得し、当該検索要求に含まれる検索用キーワードセットを取得してもよい。
【0030】
記憶部32は、特定の情報(例えば、飲食店情報)を記憶するデータベースである。検索部33は、取得部31で取得される検索用キーワードセットをキーとして、記憶部32を検索し、当該検索用キーワードセットに対応する飲食店情報を検索(取得)する。検索部33は、検索された飲食店情報を、後述する通信部10cを介してユーザ端末10に送信する。
【0031】
≪サジェストサーバ≫
サジェストサーバ40は、取得部41と、記憶部42と、決定部43と、を具備する。取得部41は、ユーザ端末10で入力された検索用キーワードセットを、後述する通信部10cを介して取得する。具体的には、取得部41は、当該検索用キーワードに対応するキーワード候補の提示要求(サジェスト要求)を、通信部10cを介して取得し、当該提示要求に含まれる検索用キーワードセットを取得してもよい。
【0032】
記憶部42は、複数のキーワードを含む第1のキーワードセットと、一つ又は複数のキーワードを含む第2のキーワードセットとの相関度を示す情報(相関度情報)を記憶する。
図3は、本実施形態に係る相関度情報の一例を示す図である。
図3に示すように、相関度情報は、第1のキーワードセットと第2のキーワードセットとのペア(キーワードセットペア)と、当該ペアにおける当該第1のキーワードセットと当該第2のキーワードセットとの相関度と、を関連付ける情報であってもよい。
【0033】
具体的には、
図3に示すように、当該相関度は、第1のキーワードセットを検索用キーワードセットとして飲食店情報が検索される場合に、該検索に続いて所定期間(例えば、同一セッションを維持する期間)内に該第1のキーワードセットとペアとなる第2のキーワードセットを用いて飲食店情報が検索される回数(出現回数、頻度等ともいう)に基づいて設定されてもよい。
【0034】
例えば、
図3では、所定期間(相関度の集計期間ともいう、例えば、28日間)において、第1のキーワードセット{恵比寿,イタリアン}と第2のキーワードセット{恵比寿,居酒屋}の相関度「20」は、当該第1のキーワードセット{恵比寿,イタリアン}を検索用キーワードセットとして飲食店情報が検索される場合に、当該検索に続いて同一セッションで第2のキーワードセット{恵比寿,居酒屋}を用いて飲食店情報が検索された回数が20回であることを示してもよい。なお、当該相関度は、単一のユーザ端末10を対象としてユーザ端末10自身又は集計サーバ20で集計されてもよいし、複数のユーザ端末10を対象として集計サーバ20で集計されてもよい。
【0035】
図3において、相関度の数値が大きくなる(相関度が高くなる)ほど、所定期間内に第1のキーワードセットに続いて第2のキーワードセットが入力される確率(頻度)が高いと推定される。一方、相関度の数値が小さくなる(相関度が低くなる)ほど、所定期間内に第1のキーワードセットに続いて第2のキーワードセットが入力される確率(頻度)が低いと推定される。
【0036】
例えば、
図3において、{恵比寿,イタリアン}及び{恵比寿,居酒屋}のキーワードセットペアの相関度は「20」である一方、{恵比寿,イタリアン}及び{恵比寿,和食}のキーワードセットペアの相関度は「13」である。この場合、{恵比寿,イタリアン}に続いて{恵比寿,居酒屋}が入力される確率が、{恵比寿,イタリアン}に続いて{恵比寿,和食}が入力される確率よりも高いといえる。
【0037】
決定部43は、記憶部42を参照し、当該検索用キーワードセット(検索用の複数のキーワード)を含む第1のキーワードセットとペアとなる第2のキーワードセットを、該ペアにおける相関度に基づいて、上記キーワード候補として決定する。決定部43は、決定されたキーワード候補を、後述する通信部10cを介してユーザ端末10に送信してもよい。例えば、決定部43は、当該相関度が所定の閾値以上又は当該所定の閾値より大きい場合、当該第2のキーワードセットを上記キーワード候補として決定してもよい。なお、当該所定の閾値は、種々の条件により(例えば、ユーザ端末10毎又は期間等により)カスタマイズされてもよい。
【0038】
例えば、ユーザ端末10に入力される検索用キーワードセットが{恵比寿,イタリアン}である場合、決定部43は、
図3の相関度情報を参照し、{恵比寿,イタリアン}を第1のキーワードセットとして含む7つのキーワードセットペアを抽出する。決定部43は、抽出された7つのキーワードセットペアの中で、第1のキーワードセットとの相関度が所定の閾値(例えば、5)よりも大きい第2のキーワードセット{恵比寿,居酒屋}、{恵比寿,フレンチ}、{恵比寿,和食}、{恵比寿,ピザ}、{恵比寿,焼肉}、{恵比寿駅}をそれぞれキーワード候補として決定する。一方、決定部43は、第1のキーワードセットとの相関度が所定の閾値以下である第2のキーワードセット{恵比寿,まぜそば}をキーワード候補から除外する。
【0039】
また、決定部43は、キーワードセットペアにおける第1のキーワードセットと第2のキーワードセットの相関度に加えて、当該第1のキーワードセット及び第2のキーワードセットそれぞれに含まれる各キーワードの属性に基づいて、上記キーワード候補の出力を制御してもよい。ここで、各キーワードの属性とは、各キーワードの意味を示すデータ(メタデータ)と言い換えられてもよく、例えば、エリア、駅、料理ジャンル、ユーザ端末10の現在位置(「現在地」ともいう)、ユーザ端末10の画面に表示された地図上で選択された位置(「地図表示領域」ともいう)、利用シーンの少なくとも一つ等を含んでもよい。
【0040】
具体的には、決定部43は、ユーザ端末10に入力された検索用キーワードセットと同一の属性のキーワードが、当該検索用キーワードセットとペアとなる第2のキーワードセットに含まれる場合に、当該第2のキーワードセットをキーワード候補として出力してもよい。
【0041】
例えば、検索用キーワードセットが{恵比寿,イタリアン}である場合、当該検索用キーワードセットは、エリアに関する属性(エリア属性)のキーワード「恵比寿」と、ジャンルに関する属性(ジャンル属性)のキーワード「イタリアン」を含む。
図3において、当該検索用キーワードセットを含む第1のキーワードセットとペアとなる第2のキーワードセット{恵比寿,居酒屋}、{恵比寿,フレンチ}、{恵比寿,和食}、{恵比寿,ピザ}、{恵比寿,焼肉}、{恵比寿駅}には、それぞれ、同一属性のキーワード(例えば、エリア属性の「恵比寿」又は「恵比寿駅」)が含まれる。このため、決定部43は、{恵比寿,居酒屋}、{恵比寿,フレンチ}、{恵比寿,和食}、{恵比寿,ピザ}、{恵比寿,焼肉}、{恵比寿駅}をそれぞれキーワード候補として決定してもよい。
【0042】
なお、決定部43は、検索用キーワードセットを含む第1のキーワードセット内の全キーワードと同一属性の全キーワードを、第2のキーワードセットが含む場合に、当該第2のキーワードセットをキーワード候補として出力してもよい。この場合、
図3に示されるキーワード候補{恵比寿駅}は、ジャンル属性のキーワードを含まないため、キーワード候補から除外されてもよい。また、決定部43は、第1のキーワードセット内の各キーワードの属性と第2のキーワードセットの属性とが予め定められた組み合わせである場合に、当該第2のキーワードセットをキーワード候補として決定してもよい。当該予め定められた組み合わせとは、第1のキーワードセット及び第2のキーワードセット間で同一属性及び/又は異なる属性の組み合わせであり、例えば、第1のキーワードセット内のキーワードがエリア属性及び利用シーン(例えば、女子会等)に関する属性(シーン属性)である場合に第2のキーワードセット内のキーワードがエリア属性及びジャンル属性であってもよい。
【0043】
また、決定部43は、ユーザ端末10に入力された検索用キーワードセット内の各キーワードの属性と当該検索用キーワードセットとペアとなる第2のキーワードセット内の各キーワードの属性とに基づかずに(に関係なく)、上記相関度に基づいて、当該第2のキーワードセットをキーワード候補として決定してもよい。
【0044】
例えば、検索用キーワードセットが{恵比寿,女子会}である場合、当該検索用キーワードセットは、エリア属性のキーワード「恵比寿」と、利用シーンに関する属性(シーン属性)のキーワード「女子会」を含む。決定部43は、当該検索用キーワードセット(第1のキーワードセット)とペアとなる第2のキーワードセット{恵比寿,個室}、{恵比寿,禁煙}及び{恵比寿,バル}と、{ガーデンプレイス,女子会}をキーワード候補として決定してもよい。このように、検索用キーワードセット内のキーワードの属性(ここでは、エリア属性及びシーン属性)に関係なく、相関度に基づいて、第2のキーワードセットがキーワード候補として決定されてもよい。この場合、当該決定されたキーワード候補には、検索用キーワードセット内のキーワード属性と同一の属性及び/又は異なる属性(ここでは、エリア属性及びジャンル属性、又は、ガーデンプレイス等の施設に関する属性(施設属性)及びシーン属性)のキーワードが含まれてもよい。
【0045】
≪ユーザ端末≫
図2に示すように、ユーザ端末10は、入力受付部11と、検索処理部12と、サジェスト処理部13と、表示制御部14と、を具備する。
【0046】
入力受付部11は、ユーザによる入力部10d(例えば、タッチパネル等)の操作を受け付ける。具体的には、入力受付部11は、ユーザによる入力部10d(例えば、タッチパネル等)の操作による検索用キーワードセットの入力を受け付ける。
【0047】
検索処理部12は、入力された検索用キーワードセットを用いた飲食店情報の検索に関する処理を行う。具体的には、検索処理部12は、後述する通信部10cを介して検索用キーワードセットを検索サーバ30に送信する。また、検索処理部12は、検索サーバ30により検索用キーワードセットを用いて検索された飲食店情報を、通信部10cを介して取得する。
【0048】
サジェスト処理部13は、入力された検索用キーワードセット続いて入力される一つ又は複数のキーワード候補の提示に関する処理を行う。具体的には、サジェスト処理部13は、後述する通信部10cを介して検索用キーワードセットをサジェストサーバ40に送信し、当該検索用キーワードセットに対応するキーワード候補の提示を要求する(検索用キーワードセットを含む提示要求を送信する)。また、サジェスト処理部13は、上記提示要求に応じてサジェストサーバ40から提示されるキーワード候補を、通信部10cを介して取得(受信)する。
【0049】
表示制御部14は、出力部10e(例えば、ディスプレイ等)に対する表示(出力ともいう)を制御する。具体的には、表示制御部14は、検索処理部12で取得された飲食店情報の出力部10eに対する表示を制御する。また、表示制御部14は、入力部10dにより複数のキーワードを含む検索用キーワードセットが入力された場合に、サジェスト処理部13で取得されるキーワード候補の出力部10eに対する表示を制御する。なお、本明細書において「表示」は、出力又は提示等と言い換えられてもよい。
【0050】
なお、当該キーワード候補は、当該検索用キーワードセットを用いて検索された飲食店情報が出力部10eにより表示された後に、再検索用のキーワード候補(再検索サジェストキーワード)として提示されてもよい(「再検索サジェスト」ともいう)。又は、当該キーワード候補は、入力部10dによる当該検索用キーワードセットの入力が検知されると(当該検索用キーワードが検索サーバ30に送信される前に)、代替のキーワード候補(サジェストキーワード)として出力されてもよい(単に「サジェスト」ともいう)。なお、「サジェスト」及び「再検索サジェスト」は、特に区別しない場合は、「サジェスト」と総称されてもよい。
【0051】
また、表示制御部14は、以上のように決定されたキーワード候補の画面上における表示順序を制御してもよい。具体的には、サジェスト処理部13で取得されるキーワード候補は、サジェストサーバ40において相関度情報に基づいて表示順序が決定されていてもよい。例えば、サジェストサーバ40は、キーワード候補を相関度の高い順番にリスト化してユーザ端末10に送信し、キーワード候補の順番を黙示的(implicitly)に指示してもよい。或いは、サジェストサーバ40は、各キーワード候補にインデックスを付して、キーワード候補の順番を明示的(explicitly)に指示してもよい。
【0052】
図4は、本実施形態に係るキーワード候補の表示画面の一例を示す図である。
図4では、画面上の入力領域に検索用キーワードセット{恵比寿,イタリアン}が入力される場合に、
図3に示す相関度情報を用いて決定されたキーワード候補の表示画面の一例が示される。
【0053】
図4に示すように、表示制御部14は、
図3に示されるキーワード候補を、サジェストサーバ40が指示する順番(例えば、相関度の高い順番、すなわち、{恵比寿,居酒屋}、{恵比寿,フレンチ}、{恵比寿,和食}、{恵比寿,ピザ}、{恵比寿,焼肉}、{恵比寿駅}の順番)で、画面上の優先領域(例えば、キーワードの入力領域により近い領域)に表示させてもよい。
【0054】
また、表示制御部14は、各キーワード候補のキーワード間の順番を制御してもよい。具体的には、表示制御部14は、画面上の入力領域で入力されるキーワードセット内の各キーワードの属性に基づいて、各キーワード候補のキーワード間の順番を制御してもよい。
【0055】
例えば、
図4において、画面上の入力領域に入力されるキーワードセット{恵比寿,イタリアン}内のキーワード「恵比寿」はエリア属性を有し、キーワード「イタリアン」はジャンル属性を有する。このように、
図4では、画面上の入力領域には、エリア属性のキーワード、ジャンル属性のキーワードの順番で、「恵比寿」及び「イタリアン」を含むキーワードセットが入力される。このため、表示制御部14は、各キーワード候補を、エリア属性のキーワード(例えば、「恵比寿」)、ジャンル属性のキーワード(例えば、「居酒屋」)の順番で表示する。
【0056】
なお、図示しないが、画面上の入力領域において、ジャンル属性のキーワード(例えば、イタリアン)、エリア属性のキーワード(例えば、恵比寿)の順番で、「恵比寿」及び「イタリアン」を含むキーワードセットが入力される場合、表示制御部14は、
図4に示される各キーワード候補とは逆に、ジャンル属性のキーワード(例えば、「居酒屋」)、エリア属性のキーワード(例えば、「恵比寿」)の順番で、各キーワード候補を表示させてもよい。
【0057】
≪集計サーバ≫
図5は、本実施形態に係る集計サーバの機能構成の一例を示す図である。
図5に示すように、集計サーバ20は、取得部21、生成部22、集計部23を具備する。
【0058】
取得部21は、ログ情報を取得する。ログ情報は、ユーザ端末10によって入力される一つ又は複数のキーワードを含む検索用キーワードセットと、検索サーバ30と当該ユーザ端末10との間のセッションを識別するセッションIDと、当該検索用キーワードセットに関する日時と、を関連付ける各レコードを含んでもよい。各レコードは、各ユーザ端末10から解析サーバ50に転送される。取得部21は、解析サーバ50で所定期間(例えば、28日間)蓄積された各レコードによって構成されるログ情報を取得してもよい。
【0059】
取得部21は、解析サーバ50から後述する通信部10cによって受信される当該ログ情報を取得してもよいし、或いは、持ち運び可能な記憶媒体に記録された当該ログ情報を取得してもよい。
【0060】
図6は、本実施形態に係るログ情報の一例を示す図である。
図6に示すように、ログ情報は、検索用キーワードセット、検索サーバ30とユーザ端末10との間のセッションのセッションIDと、当該検索用キーワードに関する日時と、を関連づけてもよい。検索用キーワードに関する日時は、例えば、検索用キーワードの入力日時、検索サーバ30への送信日時、検索サーバ30からの飲食店情報の受信日時、又は、当該飲食店情報の表示日時であってもよい。
【0061】
なお、
図6では、検索用キーワードセットに含まれる一つ又は複数のキーワードが、配列の要素として示されるが、ログ情報に含まれる検索用キーワードセットは、これに限られない。例えば、ログ情報に含まれる検索用キーワードセットは、複数のキーワードを所定の区切り文字列(例えば、スペース)で連結した単一の文字列であってもよい。この場合、取得部21は、当該所定の区切り文字で区切られた各キーワードを要素として配列に格納してもよい。
【0062】
また、取得部21は、検索用キーワードセットを構成する配列が空の要素(例えば、スペース又はnull等)を含む場合、当該空の要素を当該配列から削除してもよい。また、取得部21は、検索用キーワードセットが空の配列(例えば、スペース又はnull等)である場合、当該検索用キーワードセットを含むレコード(例えば、
図6では、セッションIDが「00005」のレコード)を削除してもよい。
【0063】
また、検索用キーワードセットに含まれる各キーワードには、上記属性が付与されてもよい。例えば、検索用キーワードセット{恵比寿,イタリアン}に含まれるキーワード「恵比寿」にはエリア属性が付与され、キーワード「イタリアン」にはジャンル属性が付与されてもよい。また、検索用キーワードセット{現在地}に含まれるキーワード「現在地」には、ユーザ端末10の現在地を示す情報(現在地情報、例えば、GPSで取得される位置情報)に基づいて検索が実施されることを示す属性(現在地属性)が付与されてもよい。また、検索用キーワードセット{地図表示領域,イタリアン}に含まれる「地図表示領域」には、ユーザ端末10の画面に表示された地図上で選択された位置を示す情報(地図表示領域情報、例えば、緯度及び経度)に基づいて検索が実施されることを示す属性(地図表示領域属性)が付与されてもよい。
【0064】
生成部22は、取得部21によって取得される複数のレコードを用いて、同一のセッションIDで、ある日時(第1の日時)に関連付けられる検索用キーワードセット(第1のキーワードセット)と、当該ある日時の次の日時(第2の日時)に関連付けられる検索用キーワードセット(第2のキーワードセット)と、のペア(キーワードセットペア)を生成する。
【0065】
例えば、
図6において、同一のセッションID「00001」には、日時「2019/11/01 10:00:00」の検索用キーワードセット{恵比寿,イタリアン}と、日時「2019/11/01 10:00:10」の検索用キーワードセット{恵比寿,フレンチ}と、日時「2019/11/01 10:00:30」の検索用キーワードセット{代官山,フレンチ}が関連付けられる。これは、ユーザ端末10において、最初に検索用キーワードセット{恵比寿,イタリアン}が入力され、次に、検索用キーワードセット{恵比寿,フレンチ}が入力され、その次に、検索用キーワードセット{代官山,フレンチ}が入力されたことを示している。また、これらの3つの検索用キーワードセットを用いた検索は、ユーザ端末10と検索サーバ30との間に設定される同一のセッションを用いて実施されることを示している。
【0066】
なお、ユーザ端末10と検索サーバ30との間のセッションは、最終のセッションの使用日時から所定期間(例えば、30分)後に更新(破棄)される。例えば、ある検索用キーワードセットによる検索から、当該所定期間(例えば、30分)経過後に次の検索用キーワードセットによる検索が実施される場合、当該2つの検索には、異なるセッションIDのセッション(すなわち、異なるセッション)が用いられてもよい。
【0067】
また、検索サーバ30とのセッションは、ユーザ端末10毎に設定されてもよい。また、各セッションは、セッションIDにより一意に識別されてもよい。また、セッションIDは、ユーザ端末10で生成(付与)され、検索サーバ30に通知されてもよいし、又は、検索サーバ30で生成(付与)され、ユーザ端末10に通知されてもよい。このように、セッションIDが同一であることは、同一のユーザ端末10により第1の検索と第2の検索とが所定期間(例えば、30分)内に実施されること(又は、同一のユーザ端末10により第1の検索と第2の検索とが時間的に連続して検索が実施されること)を意味してもよい。
【0068】
図7は、本実施形態に係るキーワードセットペアを示す情報(ペア情報)の一例を示す図である。
図7に示すように、キーワードセットペアは、ログ情報において同一のセッションIDに関連付けられる前の日時(第1の日時)の検索用キーワードセット(第1のキーワードセット)と、次の日時(第2の日時)に関連付けられる検索用キーワードセット(第2のキーワードセット)のペアである。なお、
図7では、説明の便宜上、各キーワードセットペアにインデックス(#)iが付与されるが、各キーワードセットペアにインデックスiは付与されなくともよい(ペア情報はインデックス(#)iを含まなくともよい)。
【0069】
例えば、
図7のキーワードセットペア#0は、
図6のセッションID「00001」に関連付けられる前の日時「2019/11/01 10:00:00」の検索用キーワードセット{恵比寿,イタリアン}と、次の日時「2019/11/01 10:00:10」の検索用キーワードセット{恵比寿,フレンチ}とで構成される。また、
図7のキーワードセットペア#1は、
図6の前の日時「2019/11/01 10:00:10」の検索用キーワードセット{恵比寿,フレンチ}と、次の日時「2019/11/01 10:00:30」の検索用キーワードセット{代官山,フレンチ}とで構成される。同様に、
図7のキーワードセットペア#2〜5は、
図6の同一のセッションIDに関連付けられる前後の日時の検索用キーワードのペアで構成される。
【0070】
生成部22は、以上のように生成されるキーワードセットペアの中から、特定の条件を満たすキーワードセットペアを除去してもよい。当該特定の条件は、例えば、以下の条件(1)〜(5)のいずれかであってもよい。
(1)第1のキーワードセットが空の配列であること。
(2)第2のキーワードセットが空の配列であること。
(3)第2のキーワードセットが特定のキーワード(例えば、「現在地」)又は特定の属性(例えば、現在地属性)のキーワードだけを含むこと。
(4)第1のキーワードセットが特定のキーワード(例えば、「地図表示領域」)又は特定の属性(例えば、地図表示領域属性)のキーワードを含まないのに、第2のキーワードセットが当該特定のキーワード又は特定の属性のキーワードを含むこと。
(5)第1のキーワードセット内の各キーワードの属性と第2のキーワードセット内の各キーワードの属性が特定の組み合わせであること
【0071】
上記条件(1)を満たすキーワードセットペアは、後述する集計の対象外である。このため、生成部22は、当該条件(1)を満たすキーワードセットペアをペア情報から削除してもよい。
【0072】
上記条件(2)を満たすキーワードセットペアを集計すると、第2のキーワードセットが空の配列であるため、キーワード候補が適切に提示されない恐れがある。このため、生成部22は、当該条件(1)を満たすキーワードセットペアをペア情報から削除してもよい。
【0073】
上記条件(3)における特定のキーワード(例えば、「現在地」)又は特定の属性(例えば、現在地属性)のキーワードは、ユーザ端末10の現在地情報(例えば、GPSにより取得される位置情報)に基づいて飲食店情報を検索することを意味する。すなわち、検索用キーワードセットにキーワード「現在地」が含まれる場合には、当該ユーザ端末10の現在地情報が検索サーバ30によって取得される必要がある。
【0074】
ユーザ端末10の現在地に基づく検索は、ユーザの最初の行動で選ばれる場合が多く、同一のセッション中に複数の検索行動を行う場合に出現するため、多くのサジェストで現在地が出現しやすい。現在地は多くのケースで適切ではないため、生成部22は、条件(3)を満たすキーワードセットペア(例えば、
図7のキーワードセットペア#2)をペア情報から削除してもよい。一方、第2のキーワードセットが当該特定のキーワード又は当該特定の属性のキーワードのみではない場合、ユーザの意志に基づく行動パターンと考えられる。このため、
図7のキーワードセットペア#3はペア情報内に維持されてもよい。
【0075】
上記条件(4)における特定のキーワード(例えば、「地図表示領域」)又は特定の属性(例えば、地図表示領域属性)のキーワードは、ユーザ端末10に表示された地図上で選択された位置を示す地図表示領域情報(例えば、緯度及び経度)に基づいて飲食店情報を検索することを意味する。すなわち、検索用キーワードセットにキーワード「地図表示領域」が含まれる場合には、当該地図表示領域情報(例えば、緯度及び経度)が検索サーバ30によって取得される必要がある。
【0076】
例えば、第1のキーワードセットに当該特定のキーワード又は当該特定の属性のキーワードが含まれる場合、検索サーバ30は上記地図表示領域情報を保持していると考えられる。このため、第2のキーワードセットに当該特定のキーワード又は当該特定の属性のキーワードが含む場合、保持している地図表示領域情報に基づく検索を実施できる。このため、
図7のキーワードセットペア#5は、ペア情報内に維持されてもよい。また、
図7のキーワードセットペア#6も、ペア情報内に維持されてもよい。
【0077】
一方、第1のキーワードセットに当該特定のキーワード又は当該特定の属性のキーワードが含まれない場合、検索サーバ30は上記地図表示領域情報を保持していないと考えられる。このため、第2のキーワードセットに当該特定のキーワード又は当該特定の属性のキーワードが含む場合、上記地図表示領域情報の欠如により検索に失敗する恐れがある。そこで、
図7のキーワードセットペア#4は、ペア情報から除去されてもよい。
【0078】
上記条件(5)における上記特定の組み合わせは、例えば、第1のキーワードセット及び第2のキーワードセットに含まれる各キーワードが同一であること(例えば、第1及び第2のキーワードセットの双方にエリア属性及びジャンル属性のキーワードが含まれること)であってもよい。また、当該組み合わせは、第1のキーワードセット及び第2のキーワードセットに予め定められた属性のキーワードが含まれること(例えば、第1のキーワードセットにエリア属性及びジャンル属性のキーワードが含まれる場合、第2のキーワードセットにエリア属性とシーン属性が含まれること)であってもよい。
【0079】
以上のように、生成部22は、キーワードセットペア内の第1のキーワードセット及び/又は第2のキーワードセットに含まれる特定のキーワード又は特定の属性のキーワードに基づいて、当該キーワードセットペアの除去を制御してもよい。
【0080】
集計部23は、生成部22によって生成される複数のキーワードセットペアにおける第1のキーワードセットと第2のキーワードセットとの相関度を集計する。具体的には、集計部23は、当該複数のキーワードセットペア内において同一のキーワードセットペアが出現する回数(出現回数)を集計してもよい。
【0081】
なお、「同一のキーワードセットペア」とは、必ずしも、キーワードセットペア同士が完全に一致することを示さず、同一と認識されることを示してもよい。例えば、一方のキーワードセットペア内の第2のキーワードセットが{恵比寿,フレンチ}であり、他方のキーワードセットペア内の第2のキーワードセットが{フレンチ,恵比寿}である場合、両者のキーワードセットペアは同一と認識されてもよい。
【0082】
このように、同一のキーワードセットペアとは、キーワードセットペア間で第1のキーワードセット及び第2のキーワードセット内に含まれる各キーワードが同一であれば、第1のキーワードセット及び第2のキーワードセット内における各キーワードの順番は問われなくともよい。また、「恵比寿」、「恵比寿エリア」のように、一方のキーワードが他方のキーワードに含まれ、同一の意味である場合、両者のキーワードは同一と認識されてもよい。また、例えば、漢字の「恵比寿」と、平仮名の「えびす」、アルファベットの「ebisu」等、同一の異なる表記は同一と認識されてもよい。
【0083】
また、集計部23は、同一のキーワードセットペアの判定を辞書データ、検索エンジン、機械学習の少なくとも一つを用いて実施してもよい。機械学習を用いる場合、2つのキーワードセットペアを入力データとし、当該2つのキーワードセットペアが同一であるか否かの判定結果を出力データとする学習データを用いた機械学習により判定アルゴリズムが学習されてもよい。この場合、当該判定アルゴリズムに2つのキーワードセットペアを入力することにより、判定結果が出力されてもよい。
【0084】
集計部23は、同一のキーワードセットペアの出現回数を当該同一のキーワードセットペア内の第1のキーワードセットと第2のキーワードセットとの相関度として示す相関度情報(例えば、
図3)を生成する。生成された相関度情報は、後述する通信部10cを介して、サジェストサーバ40に送信されてもよい。
【0085】
<ハードウェア構成>
次に、情報処理システム1内の各装置のハードウェア構成を説明する。
図8に示すように、情報処理システム1内の各装置(ユーザ端末10、集計サーバ20、検索サーバ30、サジェストサーバ40又は解析サーバ50)は、演算装置に相当するCPU(Central Processing Unit)10aと、記憶装置10bと、通信部10cと、入力部10dと、出力部10eとを有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。
【0086】
CPU10aは、記憶装置10bに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。CPU10aは、検索サーバによる特定の情報の検索に用いられる検索用キーワードセット(複数のキーワードセット)が入力された場合に、当該検索用キーワードセットに代えて入力される一つ又は複数のキーワード候補を提示するプログラム(情報処理プログラム)を実行する演算装置(演算部)であってもよい。CPU10aは、入力部10d及び/又は通信部10cから種々の入力データを受け取り、入力データの演算結果を出力部10eに出力(例えば、表示)したり、記憶装置10bに格納したり、又は、通信部10cを介して送信したりする。
【0087】
記憶装置10bは、メモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、の少なくとも一つである。ユーザ端末10の記憶装置10bは、記憶部32及び42を構成してもよい。また、ユーザ端末10の記憶装置10bは、CPU10aが実行する情報処理プログラムを記憶してもよい。
【0088】
通信部10cは、情報処理システム1内の各装置を外部機器に接続するインターフェースである。なお、情報処理システム1内の少なくとも二つの装置(例えば、集計サーバ20、検索サーバ30、サジェストサーバ40及び解析サーバ50の少なくとも二つ)が一体の装置で構成される場合、通信部10cは、異なる装置として動作する複数のプロセス間のプロセス間通信を含んでよい。通信部10cは、本発明の「受信部」及び「送信部」を構成してもよい。
【0089】
なお、ユーザ端末10の通信部10cは、検索用キーワードセットを検索サーバ30に送信し、検索サーバ30から送信された飲食店情報を受信してもよい。また、ユーザ端末10の通信部10cは、検索用キーワードセットをサジェストサーバ40に送信し、当該検索用キーワードセットに対応するキーワード候補をサジェストサーバ40から受信してもよい。集計サーバ20の通信部10cは、ログ情報を受信し、ログ情報に基づいて集計された相関度情報をサジェストサーバ40に送信してもよい。検索サーバ30の通信部10cは、ユーザ端末10からの検索用キーワードセットを受信し、当該検索用キーワードを用いて検索された飲食店情報をユーザ端末10に送信してもよい。サジェストサーバ40の通信部10cは、ユーザ端末10からの検索用キーワードセットを受信し、当該検索用キーワードセットに対応するキーワード候補をユーザ端末10に送信してもよい。
【0090】
入力部10dは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード、マウス、タッチパネル、マイクの少なくとも一つを含んでよい。
【0091】
出力部10eは、CPU10aによる演算結果を出力するものであり、例えば、LCD(Liquid Crystal Display)等のディスプレイ及びスピーカの少なくとも一つにより構成されてよい。ユーザ端末10の出力部10eは、表示制御部14の制御に従って一つ又は複数のキーワード候補を出力してもよい。サジェストサーバ40の決定部43及び通信部10cは、本発明の「情報処理装置」の「提示部」を構成してもよい。集計サーバ20の出力部10e又は通信部10cは、本発明の「サーバ」の「出力部」を構成してもよい。
【0092】
情報処理プログラム、ログ情報、相関度情報は、記憶装置10b等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部10cにより接続されるネットワークを介して提供されてもよい。当該情報処理プログラムを格納した記憶媒体は、コンピュータ読み取り可能な非一時的な記憶媒体(Non-transitory computer readable medium)であってもよい。非一時的な記憶媒体は特に限定されないが、例えば、USBメモリ、CD−ROM又はDVD等の記憶媒体であってもよい。
【0093】
ユーザ端末10では、CPU10aが情報処理プログラムを実行することにより、
図1を用いて説明した入力受付部11、検索処理部12及び表示制御部14の動作が実現される。
【0094】
なお、
図8に示される物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、情報処理システム1内の各装置は、CPU10aと記憶装置10bが一体化したLSI(Large-Scale Integration)を備えていてもよい。
【0095】
(情報処理システムの動作)
<集計動作>
図9は、本実施形態に係る相関度情報の集計動作の一例を示すフローチャートである。
図9に示す動作は、相関度情報の集計期間(例えば、28日)に一度行われるバッチ処理であってもよい。
【0096】
図9に示すように、集計サーバ20は、ログ情報を取得する(ステップS101)。例えば、集計サーバ20は、解析サーバ50で蓄積されるログ情報を取得してもよい。上述のように、ログ情報は、ユーザ端末10において入力される検索用キーワードセットと、検索サーバ30とユーザ端末10とのセッションIDと、当該検索用キーワードに関する日時を関連付ける複数のレコード(例えば、
図6)を含んでもよい。
【0097】
集計サーバ20は、上記複数のレコードを用いて、同一のセッションIDで、前の日時に関連付けられる検索用キーワードセットである第1のキーワードセットと、次の日時に関連付けられる検索用キーワードセットである第2のキーワードセットと、のペアである各キーワードセットペア(例えば、
図7)を生成する(ステップS102)。
【0098】
集計サーバ20は、生成されたキーワードセットペアの中で、特定の条件(例えば、上記条件(1)〜(5)のいずれか)を満たすキーワードセットペアを除去する(ステップS103)。具体的には、集計サーバ20は、キーワードセットペア内の第1のキーワードセット及び/又は第2のキーワードセットに含まれる特定のキーワード又は特定の属性のキーワードに基づいて、当該キーワードセットペアを除去してもよい。
【0099】
集計サーバ20は、生成されたキーワードセットペアにおける第1のキーワードセットと第2のキーワードセットとの相関度を集計する(ステップS104)。具体的には、集計サーバ20は、ペア情報(例えば、
図7)内の複数のキーワードセットペア内において同一のキーワードセットペアが出現する回数(出現回数)を相関度として集計してもよい。なお、当該出現回数が多いほど、当該相関度は高く設定され、当該出現回数が少ないほど、当該相関度は低く設定されてもよい。
【0100】
各キーワードセットペアにおける第1のキーワードセットと第2のキーワードセットとの相関度を示す相関度情報は、集計サーバ20からサジェストサーバ40に送信されてもよいし、記憶装置10b等のコンピュータによって読み取り可能な記憶媒体に記憶されてサジェストサーバ40に提供されてもよい。
【0101】
<提示動作>
図10は、本実施形態に係るキーワード候補の提示動作の一例を示すシーケンス図である。
図10において、サジェストサーバ40は、
図9の集計動作により集計された相関度情報を予め記憶しているものとする。また、
図10では、上記「再検索サジェスト」の一例を示すものとする。なお、本実施形態に係る相関度に基づくキーワード候補の提示手法は、「再検索サジェスト」だけでなく、入力部10dによる当該検索用キーワードセットの入力が検知されると(当該検索用キーワードが検索サーバ30に送信される前に)、代替のキーワード候補を出力する「サジェスト」にも適用可能である。
【0102】
図10に示すように、ユーザ端末10は、入力部10dにより入力される検索用キーワードセットを検索サーバ30に送信する(ステップS201)。検索サーバ30は、当該検索用キーワードをキーとして記憶部32を検索して、飲食店情報を取得する(ステップS202)。検索サーバ30は、当該飲食店情報をユーザ端末10に送信する(ステップS203)。ユーザ端末10は、検索サーバ30から受信した飲食店情報を出力部10eに表示させる(ステップS204)。また、ユーザ端末10は、当該飲食店情報の検索に用いた検索用キーワードセットとセッションIDと日時とを解析サーバ50に送信する(ステップS205)。
【0103】
ユーザ端末10のユーザは、出力部10e(例えば、ディスプレイ)に表示された飲食店情報を参照して気に入った飲食店がある場合は、入力部10dにより当該飲食店用の所定領域を選択して、当該飲食店の予約等を行う。一方、当該表示された飲食店情報を参照して気に入った飲食店がない場合、画面上の入力領域(例えば、
図4)を参照し、検索用キーワードセットを入力し直そうとする。
【0104】
そこで、ユーザ端末10は、ステップS204で飲食店情報を表示した後に、画面上の入力領域(例えば、
図4)に対する入力部10dによる所定操作(例えば、タップ又はページのスクロール等)を検出すると(ステップS206;Yes)、ステップS201で入力される検索用キーワードセットを、サジェストサーバ40に送信する(ステップS207)。サジェストサーバ40は、相関度情報に基づいて、当該検索用キーワードセットを含む(又は等しい)第1のキーワードセットとペアとなる第2のキーワードセットを決定する(ステップS208)。サジェストサーバ40は、決定された第2のキーワードセットをキーワード候補としてユーザ端末10に送信する(ステップS209)。ユーザ端末10は、サジェストサーバ40から受信したキーワード候補を出力部10eに表示(出力)させてもよい。例えば、
図4に示すように、ユーザ端末10は、入力領域の周辺領域(例えば、下方)に、相関度の高い順に、複数のキーワード候補を表示してもよい(ステップS210)。
【0105】
なお、
図10に示すキーワード候補の提示動作は、一例にすぎず、図示するものに限られない。例えば、ユーザ端末10は、ステップS204において飲食店情報を画面に表示する際に、同一画面(例えば、同一画面の下部や、当該同一画面上のスクロールにより表示される領域等)においてキーワード候補を表示してもよい。この場合、ステップS201において、ユーザ端末10は、検索用キーワードセットを、検索サーバ30だけでなく、サジェストサーバ40に送信してもよい。サジェストサーバ40は、当該検索用キーワードセットに基づいて決定されたキーワード候補を、ステップS204の前にユーザ端末10に送信してもよい。ユーザ端末10は、ステップS204の前に受信したキーワード候補を、飲食店情報とともに表示してもよい。
【0106】
以上のように、本実施形態に係る情報処理システムでは、飲食店情報の検索用の複数のキーワードを含む第1のキーワードセットと、当該第1のキーワードセットとペアとなる第2のキーワードセットとの相関度に基づいて、当該第2のキーワードセットがキーワード候補として提示されるので、特定の情報の検索用の複数のキーワードが入力された場合にも、当該複数のキーワードに続くキーワード候補の提示精度を向上できる。
【0107】
また、本実施形態に係る情報処理システムでは、異なる属性を有する複数のキーワード(例えば、飲食店を検索する場合、エリアに関するキーワード及びジャンルに関するキーワード等)を一度に入力して、得られる情報を効率的に絞り込む場合に、当該複数のキーワードの属性に着目したキーワード候補を提示できる。
【0108】
(その他の実施形態)
上記実施形態では、ユーザ端末10において検索用キーワードセット(特定の情報の検索に用いられる複数のキーワード)が入力された場合に、当該検索用キーワードセットに代わるキーワード候補を提示する情報処理装置が、ユーザ端末10であるものとするが、これに限られない。当該情報処理装置は、ユーザ端末10において検索用キーワードセットの入力が検知できれば、情報処理システム1内の他の装置(例えば、集計サーバ20又は検索サーバ30)であってもよい。この場合、当該他の装置は、当該キーワード候補をユーザ端末10に送信し、ユーザ端末10は、当該他の装置から通信部10cを介して取得される当該キーワード候補を出力部10eに出力し、画面に表示させてもよい。
【0109】
このように、「キーワード候補の提示」とは、出力部10eに対して当該キーワード候補を表示又は出力することのみならず、当該キーワード候補を他の装置からユーザ端末10に送信することを含んでもよい。
【0110】
また、上記実施形態では、検索サーバ30によって検索される特定の情報が飲食店情報であるものとしたが、これに限られない。当該特定の情報は、例えば、料理のレシピに関する情報(レシピ情報)、宿泊施設に関する情報(宿泊施設情報)、旅行ツアーに関する情報(旅行ツアー情報)等であってもよい。具体的には、上記実施形態における飲食店情報はレシピ情報又は宿泊施設情報に置き換えられてもよい。また、特定の情報がレシピ情報である場合、上記実施形態における属性は、例えば、食材、料理ジャンル、調理方法等を含んでもよい。また、特定の情報が宿泊施設情報である場合、上記実施形態における属性は、エリア、予算、形態(ホテル又は旅館等)、ユーザ端末10の現在位置(「現在地」ともいう)、ユーザ端末10の画面に表示された地図上で選択された位置(「地図表示領域」ともいう)、利用シーン等の少なくとも一つ等を含んでもよい。また、特定の情報が旅行ツアー情報である場合、上記実施形態における属性は、例えば、行先、形態(フリープラン、添乗員同行など)、予算等を含んでもよい。
【0111】
また、上記実施形態において検索用キーワードセットに含まれる複数のキーワードの少なくとも一つは、文字列に限られず、所定の情報であってもよい。具体的には、当該複数のキーワードは、文字列と、ユーザ端末10の位置(例えば、緯度、経度)を示す位置情報と、であってもよい。例えば、文字列「イタリアン」及びユーザ端末10の位置情報が検索用キーワードセットに含まれる場合に、当該検索用キーワードセットとペアとなる第2のキーワードセットとして、当該ユーザ端末10の位置情報に基づいて決定されるエリア(例えば、「恵比寿」)がキーワード候補としてユーザに提示されてもよい。
【0112】
また、上記実施形態では、サジェストサーバ40が、ユーザ端末10において入力される検索用キーワードセット(第1のキーワードセット)と、当該ユーザ端末10において当該検索用キーワードセットに続いて入力される第2のキーワードセットと、の相関度に基づいて、キーワード候補を決定するが、これに限られない。例えば、情報処理システム1では、当該第1のキーワードセット及び当該第2のキーワードセットを関連付ける学習データを用いた機械学習により、予測モデルが生成されてもよい。この場合、サジェストサーバ40は、当該予測モデルにユーザ端末10において入力される検索用キーワードセットを入力して、当該予測モデルから出力されるキーワード候補をユーザに提示してもよい。
【0113】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。