(57)【特許請求の範囲】
【請求項１】
特定の情報の検索に用いられる複数のキーワードが入力された場合に、前記複数のキーワードに続いて入力される複数のキーワードの候補であるキーワード候補を提示する情報処理装置であって、
複数のキーワードを含む第１のキーワードセットと複数のキーワードを含む第２のキーワードセットとのペアにおける、前記第１のキーワードセットと前記第２のキーワードセットとの相関度を示す情報を記憶する記憶部と、
前記記憶部を参照し、前記検索用の前記複数のキーワードを含む前記第１のキーワードセットとペアとなる前記第２のキーワードセットを、該ペアにおける前記相関度に基づいて前記キーワード候補として提示する提示部と、
を備え、
複数の属性の第１の組み合わせと、前記第１の組み合わせとは少なくとも一つが異なる複数の属性の第２の組み合わせと、が予め対応付けられおり、
前記提示部は、前記第１のキーワードセット内の前記複数のキーワードの属性の組み合わせ、及び、前記第２のキーワードセット内の前記複数のキーワードの属性の組み合わせが、それぞれ、予め対応付けられた前記第１の組み合わせ及び前記第２の組み合わせである場合、前記第２のキーワードセットを前記キーワード候補として提示する、情報処理装置。
【請求項２】
前記相関度は、前記第１のキーワードセットを用いて前記特定の情報が検索される場合に、該検索に続いて所定期間内に該第１のキーワードセットとペアとなる前記第２のキーワードセットを用いて前記特定の情報が検索される回数に基づいて設定される、
請求項１に記載の情報処理装置。
【請求項３】
前記特定の情報は、飲食店に関する情報である、
請求項１又は請求項２に記載の情報処理装置。
【請求項４】
特定の情報の検索に用いられる複数のキーワードと、検索サーバと前記複数のキーワードが入力されるユーザ端末との間のセッションを識別するセッションＩＤと、前記複数のキーワードに関する日時と、をそれぞれ関連付ける複数のレコードを取得する取得部と、
前記複数のレコードを用いて、同一のセッションＩＤで、第１の日時に関連付けられる複数のキーワードを含む第１のキーワードセットと、前記第１の日時の次の第２の日時に関連付けられる複数のキーワードを含む第２のキーワードセットと、のペアを生成する生成部と、
前記ペアにおける前記第１のキーワードセットと前記第２のキーワードセットとの相関度を集計する集計部と、
前記相関度を示す情報を出力する出力部と、
を備え、
複数の属性の第１の組み合わせと、前記第１の組み合わせと少なくとも一つが異なる複数の属性の第２の組み合わせと、が予め対応付けられおり、
前記生成部は、前記第１のキーワードセット内の前記複数のキーワードの属性の組み合わせ、及び、前記第２のキーワードセット内の前記複数のキーワードの属性の組み合わせが、それぞれ、予め対応付けられた前記第１の組み合わせ及び前記第２の組み合わせである場合、前記第１のキーワードセットと前記第２のキーワードセットとのペアを除去せずに維持する、サーバ。
【請求項５】
特定の情報の検索に用いられる複数のキーワードが入力された場合に、前記複数のキーワードに続いて入力される複数のキーワードの候補であるキーワード候補を提示する情報処理方法であって、
複数のキーワードを含む第１のキーワードセットと複数のキーワードを含む第２のキーワードセットとのペアにおける、前記第１のキーワードセットと前記第２のキーワードセットとの相関度を示す情報を記憶する記憶部を参照する工程と、
前記検索用の前記複数のキーワードを含む前記第１のキーワードセットとペアとなる前記第２のキーワードセットを、該ペアにおける前記相関度に基づいて前記キーワード候補として提示する工程と、を備え、
複数の属性の第１の組み合わせと、前記第１の組み合わせとは少なくとも一つが異なる複数の属性の第２の組み合わせと、が予め対応付けられおり、
前記提示する工程において、前記第１のキーワードセット内の前記複数のキーワードの属性の組み合わせ、及び、前記第２のキーワードセット内の前記複数のキーワードの属性の組み合わせが、それぞれ、予め対応付けられた前記第１の組み合わせ及び前記第２の組み合わせである場合、前記第２のキーワードセットを前記キーワード候補として提示する、情報処理方法。
【請求項６】
検索サーバによる特定の情報の検索に用いられる複数のキーワードが入力された場合に、前記複数のキーワードに続いて入力される複数のキーワードの候補であるキーワード候補を提示することを実行させる情報処理プログラムであって、
複数のキーワードを含む第１のキーワードセットと複数のキーワードを含む第２のキーワードセットとのペアにおける、前記第１のキーワードセットと前記第２のキーワードセットとの相関度を示す情報を記憶する記憶部を参照することと、
前記検索用の前記複数のキーワードを含む前記第１のキーワードセットとペアとなる前記第２のキーワードセットを、該ペアにおける前記相関度に基づいて前記キーワード候補として提示することと、を実行させ、
複数の属性の第１の組み合わせと、前記第１の組み合わせとは少なくとも一つが異なる複数の属性の第２の組み合わせと、が予め対応付けられおり、
前記提示することを実行させる際に、前記第１のキーワードセット内の前記複数のキーワードの属性の組み合わせ、及び、前記第２のキーワードセット内の前記複数のキーワードの属性の組み合わせが、それぞれ、予め対応付けられた前記第１の組み合わせ及び前記第２の組み合わせである場合、前記第２のキーワードセットを前記キーワード候補として提示する、情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、サーバ、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【０００２】
近年、ユーザから指定された一以上のキーワードに基づいて特定の情報（例えば、飲食店、宿泊施設、レシピ等）を検索する種々の検索システムが開発されている。例えば、飲食店の検索システムでは、ユーザは、料理のジャンル（例えば、焼肉、寿司、居酒屋、イタリアン、ラーメン、フレンチ等）、飲食店の名称、エリア、日時、人数、予算等の少なくとも一つをキーワードとして指定し、当該キーワードに基づいて一以上の飲食店に関する情報が検索される（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６４４８１００号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
以上のような検索システムでは、ユーザの希望に合致する（desired）情報が検索されるか否かは、当該ユーザによって指定されるキーワードに依存する。このため、ユーザの希望に合致する情報の効率的な検索を実現するために、キーワードの候補を提示（suggest）する機能（「サジェスト」）も検討されている。「サジェスト」では、一般に、ユーザ端末の画面上で単一のキーワードが入力される際に、当該単一のキーワードに続いて入力されるキーワードの候補（キーワード候補、サジェストキーワード等ともいう）が画面上に表示される場合が多い。
【０００５】
ところで、特定の情報（例えば、飲食店、宿泊施設、レシピ等）を検索する場合、単一のキーワードではなく、複数のキーワードを一度に入力することで、得られる情報を絞り込む場合も多い。例えば、異なる属性を有する複数のキーワード（例えば、飲食店を検索する場合、エリアに関するキーワード及びジャンルに関するキーワード等）を一度に入力して、得られる情報を効率的に絞り込むことが想定される。したがって、「サジェスト」では、当該複数のキーワードに続いて入力される一つ又はキーワードの候補であるキーワード候補を適切に提示することが望まれている。
【０００６】
そこで、本発明は、特定の情報の検索に用いられる複数のキーワードが入力された場合に、当該複数のキーワードに続くキーワード候補の提示精度を向上可能な情報処理装置、サーバ、情報処理方法及び情報処理プログラムを提供する。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る情報処理装置は、特定の情報の検索に用いられる複数のキーワードが入力された場合に、前記複数のキーワードに続いて入力される一つ又は複数のキーワードの候補であるキーワード候補を提示する情報処理装置であって、複数のキーワードを含む第１のキーワードセットと一つ又は複数のキーワードを含む第２のキーワードセットとのペアにおける、前記第１のキーワードセットと前記第２のキーワードセットとの相関度を示す情報を記憶する記憶部と、前記記憶部を参照し、前記検索用の前記複数のキーワードを含む前記第１のキーワードセットとペアとなる前記第２のキーワードセットを、該ペアにおける前記相関度に基づいて前記キーワード候補として提示する提示部と、を備える。
【０００８】
この態様によれば、前記検索用の前記複数のキーワードを含む第１のキーワードセットと、該第１のキーワードセットとペアとなる第２のキーワードセットとの相関度に基づいて、該第２のキーワードセットが前記キーワード候補として提示されるので、特定の情報の検索用の複数のキーワードが入力された場合にも、当該複数のキーワードに続くキーワード候補の提示精度を向上できる。
【０００９】
上記態様において、前記相関度は、前記第１のキーワードセットを用いて前記特定の情報が検索される場合に、該検索に続いて所定期間内に該第１のキーワードセットとペアとなる前記第２のキーワードセットを用いて前記特定の情報が検索される回数に基づいて設定されてもよい。この態様によれば、第１のキーワードセットと第２のキーワードセットの相関度を適切に設定できるので、特定の情報の検索用の複数のキーワードが入力された場合、当該相関度に基づくキーワード候補の提示精度を向上できる。
【００１０】
上記態様において、前記提示部は、前記検索用の前記複数のキーワードの各々の属性と、該複数のキーワードを含む前記第１のキーワードセットとペアとなる前記第２のキーワードセット内の各キーワードの属性とに基づいて、該第２のキーワードセットを前記キーワード候補として提示してもよい。この態様によれば、各キーワードの属性が考慮されるので、特定の情報の検索用の複数のキーワードが入力された場合にも、当該複数のキーワードに続くキーワード候補の提示精度を向上できる。
【００１１】
上記態様において、前記特定の情報は、飲食店に関する情報であってもよい。この態様によれば、飲食店に関する情報の検索用の複数のキーワードが入力された場合にも、当該複数のキーワードに続くキーワード候補の提示精度を向上できる。
【００１２】
本発明の他の態様に係るサーバは、特定の情報の検索に用いられる一つ又は複数のキーワードと、検索サーバと前記複数のキーワードが入力されるユーザ端末との間のセッションを識別するセッションＩＤと、前記複数のキーワードに関する日時と、をそれぞれ関連付ける複数のレコードを取得する取得部と、前記複数のレコードを用いて、同一のセッションＩＤで、第１の日時に関連付けられる複数のキーワードを含む第１のキーワードセットと、前記第１の日時の次の第２の日時に関連付けられる一つ又は複数のキーワードを含む第２のキーワードセットと、のペアを生成する生成部と、前記ペアにおける前記第１のキーワードセットと前記第２のキーワードセットとの相関度を集計する集計部と、前記相関度を示す情報を出力する出力部と、を備える。
【００１３】
この態様によれば、第１のキーワードセットと第２のキーワードセットのペアを生成することにより、当該ペアにおける第１のキーワードセットと第２のキーワードセットとの相関度を適切に集計できるので、当該相関度に基づくキーワード候補の提示精度を向上できる。
【００１４】
本発明の他の態様に係る情報処理方法は、特定の情報の検索に用いられる複数のキーワードが入力された場合に、前記複数のキーワードに続いて入力される一つ又は複数のキーワードの候補であるキーワード候補を提示する情報処理方法であって、複数のキーワードを含む第１のキーワードセットと一つ又は複数のキーワードを含む第２のキーワードセットとのペアにおける、前記第１のキーワードセットと前記第２のキーワードセットとの相関度を示す情報を記憶する記憶部を参照する工程と、前記検索用の前記複数のキーワードを含む前記第１のキーワードセットとペアとなる前記第２のキーワードセットを、該ペアにおける前記相関度に基づいて前記キーワード候補として提示する工程と、を備える。
【００１５】
本発明の他の態様に係る情報処理プログラムは、検索サーバによる特定の情報の検索に用いられる複数のキーワードが入力された場合に、前記複数のキーワードに続いて入力される一つ又は複数のキーワードの候補であるキーワード候補を提示することを実行させる情報処理プログラムであって、複数のキーワードを含む第１のキーワードセットと一つ又は複数のキーワードを含む第２のキーワードセットとのペアにおける、前記第１のキーワードセットと前記第２のキーワードセットとの相関度を示す情報を記憶する記憶部を参照することと、前記検索用の前記複数のキーワードを含む前記第１のキーワードセットとペアとなる前記第２のキーワードセットを、該ペアにおける前記相関度に基づいて前記キーワード候補として提示することと、を実行させる。
【発明の効果】
【００１６】
本発明によれば、特定の情報の検索に用いられる複数のキーワードが入力された場合に、当該複数のキーワードに続くキーワード候補の提示精度を向上できる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態に係る情報処理システムの概略構成を示す図である。
【図２】本実施形態に係るユーザ端末の機能構成の一例を示す図である。
【図３】本実施形態に係る相関度情報の一例を示す図である。
【図４】本実施形態に係るキーワード候補の表示画面の一例を示す図である。
【図５】本実施形態に係る集計サーバの機能構成の一例を示す図である。
【図６】本実施形態に係るログ情報の一例を示す図である。
【図７】本実施形態に係るペア情報の一例を示す図である。
【図８】本実施形態に係る情報処理システム１内の各装置のハードウェア構成の一例を示す図である。
【図９】本実施形態に係る相関度情報の集計動作の一例を示すフローチャートである。
【図１０】本実施形態に係るキーワード候補の提示動作の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１８】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００１９】
（情報処理システムの構成）
＜概略構成＞
図１は、本実施形態に係る情報処理システム１の概略構成を示す図である。情報処理システム１は、特定の情報（例えば、飲食店に関する情報（飲食店情報））の検索に用いられる複数のキーワードが入力された場合に、当該複数のキーワードに続いて入力される一つ又は複数のキーワードの候補であるキーワード候補を提示する。
【００２０】
なお、本実施形態において「複数のキーワードに“続いて”入力される一つ又は複数のキーワードの候補であるキーワード候補」、「複数のキーワードの“続く”キーワード候補」とは、当該複数のキーワードを用いて検索された特定の情報が画面上に表示された場合に、ユーザによる所定操作の検出により当該画面上に表示されるキーワード候補（再検索サジェストキーワード等ともいう）であってもよいし、又は、特定の情報の検索を検索サーバ３０に要求する前に、当該複数のキーワードに置き換えられる又は組み合わせられる複数のキーワード候補（サジェストキーワード等ともいう）であってもよい。
【００２１】
具体的には、情報処理システム１は、ユーザ端末１０と、集計サーバ２０と、検索サーバ３０と、サジェストサーバ４０と、解析サーバ５０と、ネットワークＮと、を含む。
【００２２】
ユーザ端末１０は、ユーザによる一つ又は複数のキーワードの入力を受け付ける端末であり、例えば、スマートフォン、パーソナルコンピュータ（ＰＣ）等である。なお、図１では、単一のユーザ端末１０が示されるが、情報処理システム１が複数のユーザ端末１０を含んでもよいことは勿論である。
【００２３】
集計サーバ２０は、一つ又は複数のユーザ端末１０において入力される複数のキーワードの集合（set）（第１のキーワードセット）と、当該ユーザ端末１０において当該複数のキーワードに続いて入力される一つ又は複数のキーワードの集合（第２のキーワードセット）と、の相関度を集計する。ここで、相関度とは、第１のキーワードセットと第２のキーワードセットとの相関（関係、結び付き等ともいう）の度合いである。
【００２４】
検索サーバ３０は、ユーザ端末１０において入力される一つ又は複数のキーワードの集合（検索用キーワードセット、クエリともいう）をキーとして、特定の情報（例えば、飲食店情報）を検索する。検索サーバ３０によって検索される飲食店情報は、例えば、当該飲食店のエリア、駅、料理ジャンル、住所、利用シーン、飲食店の名称、識別子、口コミ、評価点数等を関連付ける情報であってもよい。
【００２５】
サジェストサーバ４０は、集計サーバ２０で集計された相関度を示す情報(相関度情報)を記憶する。サジェストサーバ４０は、ユーザ端末１０により特定の情報（例えば、飲食店情報）の検索に用いられる複数のキーワードが入力された場合に、当該複数のキーワードに続いて入力される一つ又は複数のキーワードの候補であるキーワード候補を提示（サジェスト）する。
【００２６】
解析サーバ５０は、ユーザ端末１０と検索サーバ３０との間の検索の履歴に関する情報を管理する。例えば、解析サーバ５０は、ユーザ端末１０において入力される検索用キーワードセットと、当該ユーザ端末１０と検索サーバ３０との間のセッションを識別する識別子（セッションＩＤ）と、当該検索用キーワードセットに関する日時とを関連づけるレコードをログ情報として蓄積する。
【００２７】
なお、集計サーバ２０、検索サーバ３０、サジェストサーバ４０、解析サーバ５０の少なくとも二つは同一のサーバとして構成されてもよい。また、ユーザ端末１０は、「情報処理装置」と呼ばれてもよく、集計サーバ２０、検索サーバ３０、サジェストサーバ４０、解析サーバ５０の各々は、「サーバ」又は「情報処理装置」と呼ばれてもよい。また、以下、本実施形態では、検索サーバ３０により検索される特定の情報が、飲食店情報である場合を想定して説明を行うが、当該特定の情報は、これに限られない。
【００２８】
＜機能構成＞
図２は、本実施形態に係る検索サーバ、サジェストサーバ及びユーザ端末の機能構成の一例を示す図である。
【００２９】
≪検索サーバ≫
検索サーバ３０は、取得部３１と、記憶部３２と、検索部３３と、を具備する。取得部３１は、ユーザ端末１０で入力された検索用キーワードセットを、後述する通信部１０ｃを介して取得する。具体的には、取得部３１は、当該検索用キーワードに対応する特定の情報（例えば、飲食店情報）の検索要求を、通信部１０ｃを介して取得し、当該検索要求に含まれる検索用キーワードセットを取得してもよい。
【００３０】
記憶部３２は、特定の情報（例えば、飲食店情報）を記憶するデータベースである。検索部３３は、取得部３１で取得される検索用キーワードセットをキーとして、記憶部３２を検索し、当該検索用キーワードセットに対応する飲食店情報を検索（取得）する。検索部３３は、検索された飲食店情報を、後述する通信部１０ｃを介してユーザ端末１０に送信する。
【００３１】
≪サジェストサーバ≫
サジェストサーバ４０は、取得部４１と、記憶部４２と、決定部４３と、を具備する。取得部４１は、ユーザ端末１０で入力された検索用キーワードセットを、後述する通信部１０ｃを介して取得する。具体的には、取得部４１は、当該検索用キーワードに対応するキーワード候補の提示要求（サジェスト要求）を、通信部１０ｃを介して取得し、当該提示要求に含まれる検索用キーワードセットを取得してもよい。
【００３２】
記憶部４２は、複数のキーワードを含む第１のキーワードセットと、一つ又は複数のキーワードを含む第２のキーワードセットとの相関度を示す情報（相関度情報）を記憶する。図３は、本実施形態に係る相関度情報の一例を示す図である。図３に示すように、相関度情報は、第１のキーワードセットと第２のキーワードセットとのペア（キーワードセットペア）と、当該ペアにおける当該第１のキーワードセットと当該第２のキーワードセットとの相関度と、を関連付ける情報であってもよい。
【００３３】
具体的には、図３に示すように、当該相関度は、第１のキーワードセットを検索用キーワードセットとして飲食店情報が検索される場合に、該検索に続いて所定期間（例えば、同一セッションを維持する期間）内に該第１のキーワードセットとペアとなる第２のキーワードセットを用いて飲食店情報が検索される回数（出現回数、頻度等ともいう）に基づいて設定されてもよい。
【００３４】
例えば、図３では、所定期間（相関度の集計期間ともいう、例えば、２８日間）において、第１のキーワードセット｛恵比寿，イタリアン｝と第２のキーワードセット｛恵比寿，居酒屋｝の相関度「２０」は、当該第１のキーワードセット｛恵比寿，イタリアン｝を検索用キーワードセットとして飲食店情報が検索される場合に、当該検索に続いて同一セッションで第２のキーワードセット｛恵比寿，居酒屋｝を用いて飲食店情報が検索された回数が２０回であることを示してもよい。なお、当該相関度は、単一のユーザ端末１０を対象としてユーザ端末１０自身又は集計サーバ２０で集計されてもよいし、複数のユーザ端末１０を対象として集計サーバ２０で集計されてもよい。
【００３５】
図３において、相関度の数値が大きくなる（相関度が高くなる）ほど、所定期間内に第１のキーワードセットに続いて第２のキーワードセットが入力される確率（頻度）が高いと推定される。一方、相関度の数値が小さくなる（相関度が低くなる）ほど、所定期間内に第１のキーワードセットに続いて第２のキーワードセットが入力される確率（頻度）が低いと推定される。
【００３６】
例えば、図３において、｛恵比寿，イタリアン｝及び｛恵比寿，居酒屋｝のキーワードセットペアの相関度は「２０」である一方、｛恵比寿，イタリアン｝及び｛恵比寿，和食｝のキーワードセットペアの相関度は「１３」である。この場合、｛恵比寿，イタリアン｝に続いて｛恵比寿，居酒屋｝が入力される確率が、｛恵比寿，イタリアン｝に続いて｛恵比寿，和食｝が入力される確率よりも高いといえる。
【００３７】
決定部４３は、記憶部４２を参照し、当該検索用キーワードセット（検索用の複数のキーワード）を含む第１のキーワードセットとペアとなる第２のキーワードセットを、該ペアにおける相関度に基づいて、上記キーワード候補として決定する。決定部４３は、決定されたキーワード候補を、後述する通信部１０ｃを介してユーザ端末１０に送信してもよい。例えば、決定部４３は、当該相関度が所定の閾値以上又は当該所定の閾値より大きい場合、当該第２のキーワードセットを上記キーワード候補として決定してもよい。なお、当該所定の閾値は、種々の条件により（例えば、ユーザ端末１０毎又は期間等により）カスタマイズされてもよい。
【００３８】
例えば、ユーザ端末１０に入力される検索用キーワードセットが｛恵比寿，イタリアン｝である場合、決定部４３は、図３の相関度情報を参照し、｛恵比寿，イタリアン｝を第１のキーワードセットとして含む７つのキーワードセットペアを抽出する。決定部４３は、抽出された７つのキーワードセットペアの中で、第１のキーワードセットとの相関度が所定の閾値（例えば、５）よりも大きい第２のキーワードセット｛恵比寿，居酒屋｝、｛恵比寿，フレンチ｝、｛恵比寿，和食｝、｛恵比寿，ピザ｝、｛恵比寿，焼肉｝、｛恵比寿駅｝をそれぞれキーワード候補として決定する。一方、決定部４３は、第１のキーワードセットとの相関度が所定の閾値以下である第２のキーワードセット｛恵比寿，まぜそば｝をキーワード候補から除外する。
【００３９】
また、決定部４３は、キーワードセットペアにおける第１のキーワードセットと第２のキーワードセットの相関度に加えて、当該第１のキーワードセット及び第２のキーワードセットそれぞれに含まれる各キーワードの属性に基づいて、上記キーワード候補の出力を制御してもよい。ここで、各キーワードの属性とは、各キーワードの意味を示すデータ（メタデータ）と言い換えられてもよく、例えば、エリア、駅、料理ジャンル、ユーザ端末１０の現在位置（「現在地」ともいう）、ユーザ端末１０の画面に表示された地図上で選択された位置（「地図表示領域」ともいう）、利用シーンの少なくとも一つ等を含んでもよい。
【００４０】
具体的には、決定部４３は、ユーザ端末１０に入力された検索用キーワードセットと同一の属性のキーワードが、当該検索用キーワードセットとペアとなる第２のキーワードセットに含まれる場合に、当該第２のキーワードセットをキーワード候補として出力してもよい。
【００４１】
例えば、検索用キーワードセットが｛恵比寿，イタリアン｝である場合、当該検索用キーワードセットは、エリアに関する属性（エリア属性）のキーワード「恵比寿」と、ジャンルに関する属性（ジャンル属性）のキーワード「イタリアン」を含む。図３において、当該検索用キーワードセットを含む第１のキーワードセットとペアとなる第２のキーワードセット｛恵比寿，居酒屋｝、｛恵比寿，フレンチ｝、｛恵比寿，和食｝、｛恵比寿，ピザ｝、｛恵比寿，焼肉｝、｛恵比寿駅｝には、それぞれ、同一属性のキーワード（例えば、エリア属性の「恵比寿」又は「恵比寿駅」）が含まれる。このため、決定部４３は、｛恵比寿，居酒屋｝、｛恵比寿，フレンチ｝、｛恵比寿，和食｝、｛恵比寿，ピザ｝、｛恵比寿，焼肉｝、｛恵比寿駅｝をそれぞれキーワード候補として決定してもよい。
【００４２】
なお、決定部４３は、検索用キーワードセットを含む第１のキーワードセット内の全キーワードと同一属性の全キーワードを、第２のキーワードセットが含む場合に、当該第２のキーワードセットをキーワード候補として出力してもよい。この場合、図３に示されるキーワード候補｛恵比寿駅｝は、ジャンル属性のキーワードを含まないため、キーワード候補から除外されてもよい。また、決定部４３は、第１のキーワードセット内の各キーワードの属性と第２のキーワードセットの属性とが予め定められた組み合わせである場合に、当該第２のキーワードセットをキーワード候補として決定してもよい。当該予め定められた組み合わせとは、第１のキーワードセット及び第２のキーワードセット間で同一属性及び／又は異なる属性の組み合わせであり、例えば、第１のキーワードセット内のキーワードがエリア属性及び利用シーン（例えば、女子会等）に関する属性（シーン属性）である場合に第２のキーワードセット内のキーワードがエリア属性及びジャンル属性であってもよい。
【００４３】
また、決定部４３は、ユーザ端末１０に入力された検索用キーワードセット内の各キーワードの属性と当該検索用キーワードセットとペアとなる第２のキーワードセット内の各キーワードの属性とに基づかずに（に関係なく）、上記相関度に基づいて、当該第２のキーワードセットをキーワード候補として決定してもよい。
【００４４】
例えば、検索用キーワードセットが｛恵比寿，女子会｝である場合、当該検索用キーワードセットは、エリア属性のキーワード「恵比寿」と、利用シーンに関する属性（シーン属性）のキーワード「女子会」を含む。決定部４３は、当該検索用キーワードセット（第１のキーワードセット）とペアとなる第２のキーワードセット｛恵比寿，個室｝、｛恵比寿，禁煙｝及び｛恵比寿，バル｝と、｛ガーデンプレイス，女子会｝をキーワード候補として決定してもよい。このように、検索用キーワードセット内のキーワードの属性（ここでは、エリア属性及びシーン属性）に関係なく、相関度に基づいて、第２のキーワードセットがキーワード候補として決定されてもよい。この場合、当該決定されたキーワード候補には、検索用キーワードセット内のキーワード属性と同一の属性及び／又は異なる属性（ここでは、エリア属性及びジャンル属性、又は、ガーデンプレイス等の施設に関する属性（施設属性）及びシーン属性）のキーワードが含まれてもよい。
【００４５】
≪ユーザ端末≫
図２に示すように、ユーザ端末１０は、入力受付部１１と、検索処理部１２と、サジェスト処理部１３と、表示制御部１４と、を具備する。
【００４６】
入力受付部１１は、ユーザによる入力部１０ｄ（例えば、タッチパネル等）の操作を受け付ける。具体的には、入力受付部１１は、ユーザによる入力部１０ｄ（例えば、タッチパネル等）の操作による検索用キーワードセットの入力を受け付ける。
【００４７】
検索処理部１２は、入力された検索用キーワードセットを用いた飲食店情報の検索に関する処理を行う。具体的には、検索処理部１２は、後述する通信部１０ｃを介して検索用キーワードセットを検索サーバ３０に送信する。また、検索処理部１２は、検索サーバ３０により検索用キーワードセットを用いて検索された飲食店情報を、通信部１０ｃを介して取得する。
【００４８】
サジェスト処理部１３は、入力された検索用キーワードセット続いて入力される一つ又は複数のキーワード候補の提示に関する処理を行う。具体的には、サジェスト処理部１３は、後述する通信部１０ｃを介して検索用キーワードセットをサジェストサーバ４０に送信し、当該検索用キーワードセットに対応するキーワード候補の提示を要求する（検索用キーワードセットを含む提示要求を送信する）。また、サジェスト処理部１３は、上記提示要求に応じてサジェストサーバ４０から提示されるキーワード候補を、通信部１０ｃを介して取得（受信）する。
【００４９】
表示制御部１４は、出力部１０ｅ（例えば、ディスプレイ等）に対する表示（出力ともいう）を制御する。具体的には、表示制御部１４は、検索処理部１２で取得された飲食店情報の出力部１０ｅに対する表示を制御する。また、表示制御部１４は、入力部１０ｄにより複数のキーワードを含む検索用キーワードセットが入力された場合に、サジェスト処理部１３で取得されるキーワード候補の出力部１０ｅに対する表示を制御する。なお、本明細書において「表示」は、出力又は提示等と言い換えられてもよい。
【００５０】
なお、当該キーワード候補は、当該検索用キーワードセットを用いて検索された飲食店情報が出力部１０ｅにより表示された後に、再検索用のキーワード候補（再検索サジェストキーワード）として提示されてもよい（「再検索サジェスト」ともいう）。又は、当該キーワード候補は、入力部１０ｄによる当該検索用キーワードセットの入力が検知されると（当該検索用キーワードが検索サーバ３０に送信される前に）、代替のキーワード候補（サジェストキーワード）として出力されてもよい（単に「サジェスト」ともいう）。なお、「サジェスト」及び「再検索サジェスト」は、特に区別しない場合は、「サジェスト」と総称されてもよい。
【００５１】
また、表示制御部１４は、以上のように決定されたキーワード候補の画面上における表示順序を制御してもよい。具体的には、サジェスト処理部１３で取得されるキーワード候補は、サジェストサーバ４０において相関度情報に基づいて表示順序が決定されていてもよい。例えば、サジェストサーバ４０は、キーワード候補を相関度の高い順番にリスト化してユーザ端末１０に送信し、キーワード候補の順番を黙示的（implicitly）に指示してもよい。或いは、サジェストサーバ４０は、各キーワード候補にインデックスを付して、キーワード候補の順番を明示的（explicitly）に指示してもよい。
【００５２】
図４は、本実施形態に係るキーワード候補の表示画面の一例を示す図である。図４では、画面上の入力領域に検索用キーワードセット｛恵比寿，イタリアン｝が入力される場合に、図３に示す相関度情報を用いて決定されたキーワード候補の表示画面の一例が示される。
【００５３】
図４に示すように、表示制御部１４は、図３に示されるキーワード候補を、サジェストサーバ４０が指示する順番（例えば、相関度の高い順番、すなわち、｛恵比寿，居酒屋｝、｛恵比寿，フレンチ｝、｛恵比寿，和食｝、｛恵比寿，ピザ｝、｛恵比寿，焼肉｝、｛恵比寿駅｝の順番）で、画面上の優先領域（例えば、キーワードの入力領域により近い領域）に表示させてもよい。
【００５４】
また、表示制御部１４は、各キーワード候補のキーワード間の順番を制御してもよい。具体的には、表示制御部１４は、画面上の入力領域で入力されるキーワードセット内の各キーワードの属性に基づいて、各キーワード候補のキーワード間の順番を制御してもよい。
【００５５】
例えば、図４において、画面上の入力領域に入力されるキーワードセット｛恵比寿，イタリアン｝内のキーワード「恵比寿」はエリア属性を有し、キーワード「イタリアン」はジャンル属性を有する。このように、図４では、画面上の入力領域には、エリア属性のキーワード、ジャンル属性のキーワードの順番で、「恵比寿」及び「イタリアン」を含むキーワードセットが入力される。このため、表示制御部１４は、各キーワード候補を、エリア属性のキーワード（例えば、「恵比寿」）、ジャンル属性のキーワード（例えば、「居酒屋」）の順番で表示する。
【００５６】
なお、図示しないが、画面上の入力領域において、ジャンル属性のキーワード（例えば、イタリアン）、エリア属性のキーワード（例えば、恵比寿）の順番で、「恵比寿」及び「イタリアン」を含むキーワードセットが入力される場合、表示制御部１４は、図４に示される各キーワード候補とは逆に、ジャンル属性のキーワード（例えば、「居酒屋」）、エリア属性のキーワード（例えば、「恵比寿」）の順番で、各キーワード候補を表示させてもよい。
【００５７】
≪集計サーバ≫
図５は、本実施形態に係る集計サーバの機能構成の一例を示す図である。図５に示すように、集計サーバ２０は、取得部２１、生成部２２、集計部２３を具備する。
【００５８】
取得部２１は、ログ情報を取得する。ログ情報は、ユーザ端末１０によって入力される一つ又は複数のキーワードを含む検索用キーワードセットと、検索サーバ３０と当該ユーザ端末１０との間のセッションを識別するセッションＩＤと、当該検索用キーワードセットに関する日時と、を関連付ける各レコードを含んでもよい。各レコードは、各ユーザ端末１０から解析サーバ５０に転送される。取得部２１は、解析サーバ５０で所定期間（例えば、２８日間）蓄積された各レコードによって構成されるログ情報を取得してもよい。
【００５９】
取得部２１は、解析サーバ５０から後述する通信部１０ｃによって受信される当該ログ情報を取得してもよいし、或いは、持ち運び可能な記憶媒体に記録された当該ログ情報を取得してもよい。
【００６０】
図６は、本実施形態に係るログ情報の一例を示す図である。図６に示すように、ログ情報は、検索用キーワードセット、検索サーバ３０とユーザ端末１０との間のセッションのセッションＩＤと、当該検索用キーワードに関する日時と、を関連づけてもよい。検索用キーワードに関する日時は、例えば、検索用キーワードの入力日時、検索サーバ３０への送信日時、検索サーバ３０からの飲食店情報の受信日時、又は、当該飲食店情報の表示日時であってもよい。
【００６１】
なお、図６では、検索用キーワードセットに含まれる一つ又は複数のキーワードが、配列の要素として示されるが、ログ情報に含まれる検索用キーワードセットは、これに限られない。例えば、ログ情報に含まれる検索用キーワードセットは、複数のキーワードを所定の区切り文字列（例えば、スペース）で連結した単一の文字列であってもよい。この場合、取得部２１は、当該所定の区切り文字で区切られた各キーワードを要素として配列に格納してもよい。
【００６２】
また、取得部２１は、検索用キーワードセットを構成する配列が空の要素（例えば、スペース又はｎｕｌｌ等）を含む場合、当該空の要素を当該配列から削除してもよい。また、取得部２１は、検索用キーワードセットが空の配列（例えば、スペース又はｎｕｌｌ等）である場合、当該検索用キーワードセットを含むレコード（例えば、図６では、セッションＩＤが「００００５」のレコード）を削除してもよい。
【００６３】
また、検索用キーワードセットに含まれる各キーワードには、上記属性が付与されてもよい。例えば、検索用キーワードセット｛恵比寿，イタリアン｝に含まれるキーワード「恵比寿」にはエリア属性が付与され、キーワード「イタリアン」にはジャンル属性が付与されてもよい。また、検索用キーワードセット｛現在地｝に含まれるキーワード「現在地」には、ユーザ端末１０の現在地を示す情報（現在地情報、例えば、ＧＰＳで取得される位置情報）に基づいて検索が実施されることを示す属性（現在地属性）が付与されてもよい。また、検索用キーワードセット｛地図表示領域，イタリアン｝に含まれる「地図表示領域」には、ユーザ端末１０の画面に表示された地図上で選択された位置を示す情報（地図表示領域情報、例えば、緯度及び経度）に基づいて検索が実施されることを示す属性（地図表示領域属性）が付与されてもよい。
【００６４】
生成部２２は、取得部２１によって取得される複数のレコードを用いて、同一のセッションＩＤで、ある日時（第１の日時）に関連付けられる検索用キーワードセット（第１のキーワードセット）と、当該ある日時の次の日時（第２の日時）に関連付けられる検索用キーワードセット（第２のキーワードセット）と、のペア（キーワードセットペア）を生成する。
【００６５】
例えば、図６において、同一のセッションＩＤ「００００１」には、日時「２０１９／１１／０１  １０：００：００」の検索用キーワードセット｛恵比寿，イタリアン｝と、日時「２０１９／１１／０１  １０：００：１０」の検索用キーワードセット｛恵比寿，フレンチ｝と、日時「２０１９／１１／０１  １０：００：３０」の検索用キーワードセット｛代官山，フレンチ｝が関連付けられる。これは、ユーザ端末１０において、最初に検索用キーワードセット｛恵比寿，イタリアン｝が入力され、次に、検索用キーワードセット｛恵比寿，フレンチ｝が入力され、その次に、検索用キーワードセット｛代官山，フレンチ｝が入力されたことを示している。また、これらの３つの検索用キーワードセットを用いた検索は、ユーザ端末１０と検索サーバ３０との間に設定される同一のセッションを用いて実施されることを示している。
【００６６】
なお、ユーザ端末１０と検索サーバ３０との間のセッションは、最終のセッションの使用日時から所定期間（例えば、３０分）後に更新（破棄）される。例えば、ある検索用キーワードセットによる検索から、当該所定期間（例えば、３０分）経過後に次の検索用キーワードセットによる検索が実施される場合、当該２つの検索には、異なるセッションＩＤのセッション（すなわち、異なるセッション）が用いられてもよい。
【００６７】
また、検索サーバ３０とのセッションは、ユーザ端末１０毎に設定されてもよい。また、各セッションは、セッションＩＤにより一意に識別されてもよい。また、セッションＩＤは、ユーザ端末１０で生成（付与）され、検索サーバ３０に通知されてもよいし、又は、検索サーバ３０で生成（付与）され、ユーザ端末１０に通知されてもよい。このように、セッションＩＤが同一であることは、同一のユーザ端末１０により第１の検索と第２の検索とが所定期間（例えば、３０分）内に実施されること（又は、同一のユーザ端末１０により第１の検索と第２の検索とが時間的に連続して検索が実施されること）を意味してもよい。
【００６８】
図７は、本実施形態に係るキーワードセットペアを示す情報（ペア情報）の一例を示す図である。図７に示すように、キーワードセットペアは、ログ情報において同一のセッションＩＤに関連付けられる前の日時（第１の日時）の検索用キーワードセット（第１のキーワードセット）と、次の日時（第２の日時）に関連付けられる検索用キーワードセット（第２のキーワードセット）のペアである。なお、図７では、説明の便宜上、各キーワードセットペアにインデックス（＃）ｉが付与されるが、各キーワードセットペアにインデックスｉは付与されなくともよい（ペア情報はインデックス（＃）ｉを含まなくともよい）。
【００６９】
例えば、図７のキーワードセットペア＃０は、図６のセッションＩＤ「００００１」に関連付けられる前の日時「２０１９／１１／０１  １０：００：００」の検索用キーワードセット｛恵比寿，イタリアン｝と、次の日時「２０１９／１１／０１  １０：００：１０」の検索用キーワードセット｛恵比寿，フレンチ｝とで構成される。また、図７のキーワードセットペア＃１は、図６の前の日時「２０１９／１１／０１  １０：００：１０」の検索用キーワードセット｛恵比寿，フレンチ｝と、次の日時「２０１９／１１／０１  １０：００：３０」の検索用キーワードセット｛代官山，フレンチ｝とで構成される。同様に、図７のキーワードセットペア＃２〜５は、図６の同一のセッションＩＤに関連付けられる前後の日時の検索用キーワードのペアで構成される。
【００７０】
生成部２２は、以上のように生成されるキーワードセットペアの中から、特定の条件を満たすキーワードセットペアを除去してもよい。当該特定の条件は、例えば、以下の条件（１）〜（５）のいずれかであってもよい。
（１）第１のキーワードセットが空の配列であること。
（２）第２のキーワードセットが空の配列であること。
（３）第２のキーワードセットが特定のキーワード（例えば、「現在地」）又は特定の属性（例えば、現在地属性）のキーワードだけを含むこと。
（４）第１のキーワードセットが特定のキーワード（例えば、「地図表示領域」）又は特定の属性（例えば、地図表示領域属性）のキーワードを含まないのに、第２のキーワードセットが当該特定のキーワード又は特定の属性のキーワードを含むこと。
（５）第１のキーワードセット内の各キーワードの属性と第２のキーワードセット内の各キーワードの属性が特定の組み合わせであること
【００７１】
上記条件（１）を満たすキーワードセットペアは、後述する集計の対象外である。このため、生成部２２は、当該条件（１）を満たすキーワードセットペアをペア情報から削除してもよい。
【００７２】
上記条件（２）を満たすキーワードセットペアを集計すると、第２のキーワードセットが空の配列であるため、キーワード候補が適切に提示されない恐れがある。このため、生成部２２は、当該条件（１）を満たすキーワードセットペアをペア情報から削除してもよい。
【００７３】
上記条件（３）における特定のキーワード（例えば、「現在地」）又は特定の属性（例えば、現在地属性）のキーワードは、ユーザ端末１０の現在地情報（例えば、ＧＰＳにより取得される位置情報）に基づいて飲食店情報を検索することを意味する。すなわち、検索用キーワードセットにキーワード「現在地」が含まれる場合には、当該ユーザ端末１０の現在地情報が検索サーバ３０によって取得される必要がある。
【００７４】
ユーザ端末１０の現在地に基づく検索は、ユーザの最初の行動で選ばれる場合が多く、同一のセッション中に複数の検索行動を行う場合に出現するため、多くのサジェストで現在地が出現しやすい。現在地は多くのケースで適切ではないため、生成部２２は、条件（３）を満たすキーワードセットペア（例えば、図７のキーワードセットペア＃２）をペア情報から削除してもよい。一方、第２のキーワードセットが当該特定のキーワード又は当該特定の属性のキーワードのみではない場合、ユーザの意志に基づく行動パターンと考えられる。このため、図７のキーワードセットペア＃３はペア情報内に維持されてもよい。
【００７５】
上記条件（４）における特定のキーワード（例えば、「地図表示領域」）又は特定の属性（例えば、地図表示領域属性）のキーワードは、ユーザ端末１０に表示された地図上で選択された位置を示す地図表示領域情報（例えば、緯度及び経度）に基づいて飲食店情報を検索することを意味する。すなわち、検索用キーワードセットにキーワード「地図表示領域」が含まれる場合には、当該地図表示領域情報（例えば、緯度及び経度）が検索サーバ３０によって取得される必要がある。
【００７６】
例えば、第１のキーワードセットに当該特定のキーワード又は当該特定の属性のキーワードが含まれる場合、検索サーバ３０は上記地図表示領域情報を保持していると考えられる。このため、第２のキーワードセットに当該特定のキーワード又は当該特定の属性のキーワードが含む場合、保持している地図表示領域情報に基づく検索を実施できる。このため、図７のキーワードセットペア＃５は、ペア情報内に維持されてもよい。また、図７のキーワードセットペア＃６も、ペア情報内に維持されてもよい。
【００７７】
一方、第１のキーワードセットに当該特定のキーワード又は当該特定の属性のキーワードが含まれない場合、検索サーバ３０は上記地図表示領域情報を保持していないと考えられる。このため、第２のキーワードセットに当該特定のキーワード又は当該特定の属性のキーワードが含む場合、上記地図表示領域情報の欠如により検索に失敗する恐れがある。そこで、図７のキーワードセットペア＃４は、ペア情報から除去されてもよい。
【００７８】
上記条件（５）における上記特定の組み合わせは、例えば、第１のキーワードセット及び第２のキーワードセットに含まれる各キーワードが同一であること（例えば、第１及び第２のキーワードセットの双方にエリア属性及びジャンル属性のキーワードが含まれること）であってもよい。また、当該組み合わせは、第１のキーワードセット及び第２のキーワードセットに予め定められた属性のキーワードが含まれること（例えば、第１のキーワードセットにエリア属性及びジャンル属性のキーワードが含まれる場合、第２のキーワードセットにエリア属性とシーン属性が含まれること）であってもよい。
【００７９】
以上のように、生成部２２は、キーワードセットペア内の第１のキーワードセット及び／又は第２のキーワードセットに含まれる特定のキーワード又は特定の属性のキーワードに基づいて、当該キーワードセットペアの除去を制御してもよい。
【００８０】
集計部２３は、生成部２２によって生成される複数のキーワードセットペアにおける第１のキーワードセットと第２のキーワードセットとの相関度を集計する。具体的には、集計部２３は、当該複数のキーワードセットペア内において同一のキーワードセットペアが出現する回数（出現回数）を集計してもよい。
【００８１】
なお、「同一のキーワードセットペア」とは、必ずしも、キーワードセットペア同士が完全に一致することを示さず、同一と認識されることを示してもよい。例えば、一方のキーワードセットペア内の第２のキーワードセットが｛恵比寿，フレンチ｝であり、他方のキーワードセットペア内の第２のキーワードセットが｛フレンチ，恵比寿｝である場合、両者のキーワードセットペアは同一と認識されてもよい。
【００８２】
このように、同一のキーワードセットペアとは、キーワードセットペア間で第１のキーワードセット及び第２のキーワードセット内に含まれる各キーワードが同一であれば、第１のキーワードセット及び第２のキーワードセット内における各キーワードの順番は問われなくともよい。また、「恵比寿」、「恵比寿エリア」のように、一方のキーワードが他方のキーワードに含まれ、同一の意味である場合、両者のキーワードは同一と認識されてもよい。また、例えば、漢字の「恵比寿」と、平仮名の「えびす」、アルファベットの「ebisu」等、同一の異なる表記は同一と認識されてもよい。
【００８３】
また、集計部２３は、同一のキーワードセットペアの判定を辞書データ、検索エンジン、機械学習の少なくとも一つを用いて実施してもよい。機械学習を用いる場合、２つのキーワードセットペアを入力データとし、当該２つのキーワードセットペアが同一であるか否かの判定結果を出力データとする学習データを用いた機械学習により判定アルゴリズムが学習されてもよい。この場合、当該判定アルゴリズムに２つのキーワードセットペアを入力することにより、判定結果が出力されてもよい。
【００８４】
集計部２３は、同一のキーワードセットペアの出現回数を当該同一のキーワードセットペア内の第１のキーワードセットと第２のキーワードセットとの相関度として示す相関度情報（例えば、図３）を生成する。生成された相関度情報は、後述する通信部１０ｃを介して、サジェストサーバ４０に送信されてもよい。
【００８５】
＜ハードウェア構成＞
次に、情報処理システム１内の各装置のハードウェア構成を説明する。図８に示すように、情報処理システム１内の各装置（ユーザ端末１０、集計サーバ２０、検索サーバ３０、サジェストサーバ４０又は解析サーバ５０）は、演算装置に相当するＣＰＵ（Central Processing Unit）１０ａと、記憶装置１０ｂと、通信部１０ｃと、入力部１０ｄと、出力部１０ｅとを有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。
【００８６】
ＣＰＵ１０ａは、記憶装置１０ｂに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。ＣＰＵ１０ａは、検索サーバによる特定の情報の検索に用いられる検索用キーワードセット（複数のキーワードセット）が入力された場合に、当該検索用キーワードセットに代えて入力される一つ又は複数のキーワード候補を提示するプログラム（情報処理プログラム）を実行する演算装置（演算部）であってもよい。ＣＰＵ１０ａは、入力部１０ｄ及び／又は通信部１０ｃから種々の入力データを受け取り、入力データの演算結果を出力部１０ｅに出力（例えば、表示）したり、記憶装置１０ｂに格納したり、又は、通信部１０ｃを介して送信したりする。
【００８７】
記憶装置１０ｂは、メモリ、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、の少なくとも一つである。ユーザ端末１０の記憶装置１０ｂは、記憶部３２及び４２を構成してもよい。また、ユーザ端末１０の記憶装置１０ｂは、ＣＰＵ１０ａが実行する情報処理プログラムを記憶してもよい。
【００８８】
通信部１０ｃは、情報処理システム１内の各装置を外部機器に接続するインターフェースである。なお、情報処理システム１内の少なくとも二つの装置（例えば、集計サーバ２０、検索サーバ３０、サジェストサーバ４０及び解析サーバ５０の少なくとも二つ）が一体の装置で構成される場合、通信部１０ｃは、異なる装置として動作する複数のプロセス間のプロセス間通信を含んでよい。通信部１０ｃは、本発明の「受信部」及び「送信部」を構成してもよい。
【００８９】
なお、ユーザ端末１０の通信部１０ｃは、検索用キーワードセットを検索サーバ３０に送信し、検索サーバ３０から送信された飲食店情報を受信してもよい。また、ユーザ端末１０の通信部１０ｃは、検索用キーワードセットをサジェストサーバ４０に送信し、当該検索用キーワードセットに対応するキーワード候補をサジェストサーバ４０から受信してもよい。集計サーバ２０の通信部１０ｃは、ログ情報を受信し、ログ情報に基づいて集計された相関度情報をサジェストサーバ４０に送信してもよい。検索サーバ３０の通信部１０ｃは、ユーザ端末１０からの検索用キーワードセットを受信し、当該検索用キーワードを用いて検索された飲食店情報をユーザ端末１０に送信してもよい。サジェストサーバ４０の通信部１０ｃは、ユーザ端末１０からの検索用キーワードセットを受信し、当該検索用キーワードセットに対応するキーワード候補をユーザ端末１０に送信してもよい。
【００９０】
入力部１０ｄは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード、マウス、タッチパネル、マイクの少なくとも一つを含んでよい。
【００９１】
出力部１０ｅは、ＣＰＵ１０ａによる演算結果を出力するものであり、例えば、ＬＣＤ（Liquid Crystal Display）等のディスプレイ及びスピーカの少なくとも一つにより構成されてよい。ユーザ端末１０の出力部１０ｅは、表示制御部１４の制御に従って一つ又は複数のキーワード候補を出力してもよい。サジェストサーバ４０の決定部４３及び通信部１０ｃは、本発明の「情報処理装置」の「提示部」を構成してもよい。集計サーバ２０の出力部１０ｅ又は通信部１０ｃは、本発明の「サーバ」の「出力部」を構成してもよい。
【００９２】
情報処理プログラム、ログ情報、相関度情報は、記憶装置１０ｂ等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部１０ｃにより接続されるネットワークを介して提供されてもよい。当該情報処理プログラムを格納した記憶媒体は、コンピュータ読み取り可能な非一時的な記憶媒体（Non-transitory computer readable medium）であってもよい。非一時的な記憶媒体は特に限定されないが、例えば、ＵＳＢメモリ、ＣＤ−ＲＯＭ又はＤＶＤ等の記憶媒体であってもよい。
【００９３】
ユーザ端末１０では、ＣＰＵ１０ａが情報処理プログラムを実行することにより、図１を用いて説明した入力受付部１１、検索処理部１２及び表示制御部１４の動作が実現される。
【００９４】
なお、図８に示される物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、情報処理システム１内の各装置は、ＣＰＵ１０ａと記憶装置１０ｂが一体化したＬＳＩ（Large-Scale Integration）を備えていてもよい。
【００９５】
（情報処理システムの動作）
＜集計動作＞
図９は、本実施形態に係る相関度情報の集計動作の一例を示すフローチャートである。図９に示す動作は、相関度情報の集計期間（例えば、２８日）に一度行われるバッチ処理であってもよい。
【００９６】
図９に示すように、集計サーバ２０は、ログ情報を取得する（ステップＳ１０１）。例えば、集計サーバ２０は、解析サーバ５０で蓄積されるログ情報を取得してもよい。上述のように、ログ情報は、ユーザ端末１０において入力される検索用キーワードセットと、検索サーバ３０とユーザ端末１０とのセッションＩＤと、当該検索用キーワードに関する日時を関連付ける複数のレコード（例えば、図６）を含んでもよい。
【００９７】
集計サーバ２０は、上記複数のレコードを用いて、同一のセッションＩＤで、前の日時に関連付けられる検索用キーワードセットである第１のキーワードセットと、次の日時に関連付けられる検索用キーワードセットである第２のキーワードセットと、のペアである各キーワードセットペア（例えば、図７）を生成する（ステップＳ１０２）。
【００９８】
集計サーバ２０は、生成されたキーワードセットペアの中で、特定の条件（例えば、上記条件（１）〜（５）のいずれか）を満たすキーワードセットペアを除去する（ステップＳ１０３）。具体的には、集計サーバ２０は、キーワードセットペア内の第１のキーワードセット及び／又は第２のキーワードセットに含まれる特定のキーワード又は特定の属性のキーワードに基づいて、当該キーワードセットペアを除去してもよい。
【００９９】
集計サーバ２０は、生成されたキーワードセットペアにおける第１のキーワードセットと第２のキーワードセットとの相関度を集計する（ステップＳ１０４）。具体的には、集計サーバ２０は、ペア情報（例えば、図７）内の複数のキーワードセットペア内において同一のキーワードセットペアが出現する回数（出現回数）を相関度として集計してもよい。なお、当該出現回数が多いほど、当該相関度は高く設定され、当該出現回数が少ないほど、当該相関度は低く設定されてもよい。
【０１００】
各キーワードセットペアにおける第１のキーワードセットと第２のキーワードセットとの相関度を示す相関度情報は、集計サーバ２０からサジェストサーバ４０に送信されてもよいし、記憶装置１０ｂ等のコンピュータによって読み取り可能な記憶媒体に記憶されてサジェストサーバ４０に提供されてもよい。
【０１０１】
＜提示動作＞
図１０は、本実施形態に係るキーワード候補の提示動作の一例を示すシーケンス図である。図１０において、サジェストサーバ４０は、図９の集計動作により集計された相関度情報を予め記憶しているものとする。また、図１０では、上記「再検索サジェスト」の一例を示すものとする。なお、本実施形態に係る相関度に基づくキーワード候補の提示手法は、「再検索サジェスト」だけでなく、入力部１０ｄによる当該検索用キーワードセットの入力が検知されると（当該検索用キーワードが検索サーバ３０に送信される前に）、代替のキーワード候補を出力する「サジェスト」にも適用可能である。
【０１０２】
図１０に示すように、ユーザ端末１０は、入力部１０ｄにより入力される検索用キーワードセットを検索サーバ３０に送信する（ステップＳ２０１）。検索サーバ３０は、当該検索用キーワードをキーとして記憶部３２を検索して、飲食店情報を取得する（ステップＳ２０２）。検索サーバ３０は、当該飲食店情報をユーザ端末１０に送信する（ステップＳ２０３）。ユーザ端末１０は、検索サーバ３０から受信した飲食店情報を出力部１０ｅに表示させる（ステップＳ２０４）。また、ユーザ端末１０は、当該飲食店情報の検索に用いた検索用キーワードセットとセッションＩＤと日時とを解析サーバ５０に送信する（ステップＳ２０５）。
【０１０３】
ユーザ端末１０のユーザは、出力部１０ｅ（例えば、ディスプレイ）に表示された飲食店情報を参照して気に入った飲食店がある場合は、入力部１０ｄにより当該飲食店用の所定領域を選択して、当該飲食店の予約等を行う。一方、当該表示された飲食店情報を参照して気に入った飲食店がない場合、画面上の入力領域（例えば、図４）を参照し、検索用キーワードセットを入力し直そうとする。
【０１０４】
そこで、ユーザ端末１０は、ステップＳ２０４で飲食店情報を表示した後に、画面上の入力領域（例えば、図４）に対する入力部１０ｄによる所定操作（例えば、タップ又はページのスクロール等）を検出すると（ステップＳ２０６；Ｙｅｓ）、ステップＳ２０１で入力される検索用キーワードセットを、サジェストサーバ４０に送信する（ステップＳ２０７）。サジェストサーバ４０は、相関度情報に基づいて、当該検索用キーワードセットを含む（又は等しい）第１のキーワードセットとペアとなる第２のキーワードセットを決定する（ステップＳ２０８）。サジェストサーバ４０は、決定された第２のキーワードセットをキーワード候補としてユーザ端末１０に送信する（ステップＳ２０９）。ユーザ端末１０は、サジェストサーバ４０から受信したキーワード候補を出力部１０ｅに表示（出力）させてもよい。例えば、図４に示すように、ユーザ端末１０は、入力領域の周辺領域（例えば、下方）に、相関度の高い順に、複数のキーワード候補を表示してもよい（ステップＳ２１０）。
【０１０５】
なお、図１０に示すキーワード候補の提示動作は、一例にすぎず、図示するものに限られない。例えば、ユーザ端末１０は、ステップＳ２０４において飲食店情報を画面に表示する際に、同一画面（例えば、同一画面の下部や、当該同一画面上のスクロールにより表示される領域等）においてキーワード候補を表示してもよい。この場合、ステップＳ２０１において、ユーザ端末１０は、検索用キーワードセットを、検索サーバ３０だけでなく、サジェストサーバ４０に送信してもよい。サジェストサーバ４０は、当該検索用キーワードセットに基づいて決定されたキーワード候補を、ステップＳ２０４の前にユーザ端末１０に送信してもよい。ユーザ端末１０は、ステップＳ２０４の前に受信したキーワード候補を、飲食店情報とともに表示してもよい。
【０１０６】
以上のように、本実施形態に係る情報処理システムでは、飲食店情報の検索用の複数のキーワードを含む第１のキーワードセットと、当該第１のキーワードセットとペアとなる第２のキーワードセットとの相関度に基づいて、当該第２のキーワードセットがキーワード候補として提示されるので、特定の情報の検索用の複数のキーワードが入力された場合にも、当該複数のキーワードに続くキーワード候補の提示精度を向上できる。
【０１０７】
また、本実施形態に係る情報処理システムでは、異なる属性を有する複数のキーワード（例えば、飲食店を検索する場合、エリアに関するキーワード及びジャンルに関するキーワード等）を一度に入力して、得られる情報を効率的に絞り込む場合に、当該複数のキーワードの属性に着目したキーワード候補を提示できる。
【０１０８】
（その他の実施形態）
上記実施形態では、ユーザ端末１０において検索用キーワードセット（特定の情報の検索に用いられる複数のキーワード）が入力された場合に、当該検索用キーワードセットに代わるキーワード候補を提示する情報処理装置が、ユーザ端末１０であるものとするが、これに限られない。当該情報処理装置は、ユーザ端末１０において検索用キーワードセットの入力が検知できれば、情報処理システム１内の他の装置（例えば、集計サーバ２０又は検索サーバ３０）であってもよい。この場合、当該他の装置は、当該キーワード候補をユーザ端末１０に送信し、ユーザ端末１０は、当該他の装置から通信部１０ｃを介して取得される当該キーワード候補を出力部１０ｅに出力し、画面に表示させてもよい。
【０１０９】
このように、「キーワード候補の提示」とは、出力部１０ｅに対して当該キーワード候補を表示又は出力することのみならず、当該キーワード候補を他の装置からユーザ端末１０に送信することを含んでもよい。
【０１１０】
また、上記実施形態では、検索サーバ３０によって検索される特定の情報が飲食店情報であるものとしたが、これに限られない。当該特定の情報は、例えば、料理のレシピに関する情報（レシピ情報）、宿泊施設に関する情報（宿泊施設情報）、旅行ツアーに関する情報（旅行ツアー情報）等であってもよい。具体的には、上記実施形態における飲食店情報はレシピ情報又は宿泊施設情報に置き換えられてもよい。また、特定の情報がレシピ情報である場合、上記実施形態における属性は、例えば、食材、料理ジャンル、調理方法等を含んでもよい。また、特定の情報が宿泊施設情報である場合、上記実施形態における属性は、エリア、予算、形態（ホテル又は旅館等）、ユーザ端末１０の現在位置（「現在地」ともいう）、ユーザ端末１０の画面に表示された地図上で選択された位置（「地図表示領域」ともいう）、利用シーン等の少なくとも一つ等を含んでもよい。また、特定の情報が旅行ツアー情報である場合、上記実施形態における属性は、例えば、行先、形態（フリープラン、添乗員同行など）、予算等を含んでもよい。
【０１１１】
また、上記実施形態において検索用キーワードセットに含まれる複数のキーワードの少なくとも一つは、文字列に限られず、所定の情報であってもよい。具体的には、当該複数のキーワードは、文字列と、ユーザ端末１０の位置（例えば、緯度、経度）を示す位置情報と、であってもよい。例えば、文字列「イタリアン」及びユーザ端末１０の位置情報が検索用キーワードセットに含まれる場合に、当該検索用キーワードセットとペアとなる第２のキーワードセットとして、当該ユーザ端末１０の位置情報に基づいて決定されるエリア（例えば、「恵比寿」）がキーワード候補としてユーザに提示されてもよい。
【０１１２】
また、上記実施形態では、サジェストサーバ４０が、ユーザ端末１０において入力される検索用キーワードセット（第１のキーワードセット）と、当該ユーザ端末１０において当該検索用キーワードセットに続いて入力される第２のキーワードセットと、の相関度に基づいて、キーワード候補を決定するが、これに限られない。例えば、情報処理システム１では、当該第１のキーワードセット及び当該第２のキーワードセットを関連付ける学習データを用いた機械学習により、予測モデルが生成されてもよい。この場合、サジェストサーバ４０は、当該予測モデルにユーザ端末１０において入力される検索用キーワードセットを入力して、当該予測モデルから出力されるキーワード候補をユーザに提示してもよい。
【０１１３】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【符号の説明】
【０１１４】
１…情報処理システム、１０…ユーザ端末、２０…集計サーバ、３０…検索サーバ、４０…サジェストサーバ、５０…解析サーバ、Ｎ…ネットワーク、１１…入力受付部、１２…検索処理部、１３…サジェスト処理部、１４…表示制御部、２１…取得部、２２…生成部、２３…集計部、３１…取得部、３２…記憶部、３３…検索部、４１…取得部、４２…記憶部、４３…決定部、１０ａ…ＣＰＵ、１０ｂ…記憶装置、１０ｃ…通信部、１０ｄ…入力部、１０ｅ…出力部
【図１】
0006960483.tif 000002
【図２】
0006960483.tif 000003
【図３】
0006960483.tif 000004
【図４】
0006960483.tif 000005
【図５】
0006960483.tif 000006
【図６】
0006960483.tif 000007
【図７】
0006960483.tif 000008
【図８】
0006960483.tif 000009
【図９】
0006960483.tif 000010
【図１０】
0006960483.tif 000011