(57)【要約】【課題】任意のキーワードに基づいた提案を行うこと。【解決手段】本願に係る提供装置は、第１抽出部と、第２抽出部と、提供部とを備える。第１抽出部は、任意のクエリ同士の関連度に基づいて、ユーザから入力された入力クエリに関連する複数の関連クエリを抽出する。第２抽出部は、第１抽出部によって抽出された関連クエリのうち、入力クエリと同一又は類似する属性を有するクエリである同一属性クエリを抽出する。提供部は、第２抽出部によって抽出された同一属性クエリに基づいて、ユーザに対する情報提供を行う。【選択図】図１
2019053520.tif 000002
【特許請求の範囲】
【請求項１】
任意のクエリ同士の関連度に基づいて、ユーザから入力された入力クエリに関連する複数の関連クエリを抽出する第１抽出部と、
前記第１抽出部によって抽出された関連クエリのうち、前記入力クエリと同一又は類似する属性を有するクエリである同一属性クエリを抽出する第２抽出部と、
前記第２抽出部によって抽出された同一属性クエリに基づいて、前記ユーザに対する情報提供を行う提供部と、
を備えたことを特徴とする提供装置。
【請求項２】
前記第２抽出部は、
任意のクエリの属性が予め定義付けられた辞書データに基づいて、前記同一属性クエリを抽出する、
ことを特徴とする請求項１に記載の提供装置。
【請求項３】
前記第２抽出部は、
前記第１抽出部によって抽出された関連クエリのうち、前記入力クエリに関連付けられているキーワードと同一又は類似のキーワードが関連付けられている関連クエリを、当該入力クエリの同一属性クエリとして抽出する、
ことを特徴とする請求項１又は２に記載の提供装置。
【請求項４】
前記第２抽出部は、
前記第１抽出部によって抽出された関連クエリのうち、所定の検索エンジンにおいて前記入力クエリの検索サジェストとして用いられるキーワードと同一又は類似のキーワードが検索サジェストとして用いられる関連クエリを、当該入力クエリの同一属性クエリとして抽出する、
ことを特徴とする請求項３に記載の提供装置。
【請求項５】
前記第２抽出部は、
前記第１抽出部によって抽出された各々の関連クエリによる検索結果から到達する各々のコンテンツと、前記入力クエリによる検索結果から到達するコンテンツとの類似度に基づいて、当該入力クエリの同一属性クエリを抽出する、
ことを特徴とする請求項１〜４のいずれか一つに記載の提供装置。
【請求項６】
前記第２抽出部は、
前記第１抽出部によって抽出された各々の関連クエリによる検索結果から到達するページのドメインと、前記入力クエリによる検索結果から到達するページのドメインとの類似度に基づいて、当該入力クエリの同一属性クエリを抽出する、
ことを特徴とする請求項５に記載の提供装置。
【請求項７】
前記第２抽出部は、
前記入力クエリと同一又は類似する属性を有するクエリとの関係性を学習した学習モデルを用いて、前記第１抽出部によって抽出された関連クエリのうち、前記入力クエリの同一属性クエリを抽出する、
ことを特徴とする請求項１〜６のいずれか一つに記載の提供装置。
【請求項８】
前記第１抽出部は、
ユーザから複数の入力クエリが入力された場合には、各々の入力クエリに関連する複数の関連クエリを抽出するとともに、当該複数の入力クエリの各々と前記複数の関連クエリとの関連度の合算を算出し、算出した値に基づいて所定数の関連クエリを抽出し、
前記第２抽出部は、
前記第１抽出部によって抽出された所定数の関連クエリの中から、前記複数の入力クエリの少なくとも一つの入力クエリと同一又は類似する属性を有する同一属性クエリを抽出する、
ことを特徴とする請求項１〜７のいずれか一つに記載の提供装置。
【請求項９】
前記第２抽出部は、
前記第１抽出部によって抽出された所定数の関連クエリの中から、前記ユーザから最初に入力された入力クエリの同一属性クエリを抽出する、
ことを特徴とする請求項８に記載の提供装置。
【請求項１０】
前記提供部は、
前記第２抽出部によって抽出された同一属性クエリに関連するレコメンド又は広告を前記ユーザに提供する、
ことを特徴とする請求項１〜９のいずれか一つに記載の提供装置。
【請求項１１】
任意のクエリのうち、互いに異なる二つのクエリのいずれかを入力したユーザの数と、当該二つのクエリを両方とも入力したユーザの数と、に少なくとも基づいて、任意のクエリ同士の関連度を算出する算出部、
をさらに備え、
前記第１抽出部は、
前記算出部によって算出された関連度に基づいて、入力クエリと関連する複数の関連クエリを抽出する、
ことを特徴とする請求項１〜１０のいずれか一つに記載の提供装置。
【請求項１２】
コンピュータが実行する提供方法であって、
任意のクエリ同士の関連度に基づいて、ユーザから入力された入力クエリに関連する複数の関連クエリを抽出する第１抽出工程と、
前記第１抽出工程によって抽出された関連クエリのうち、前記入力クエリと同一又は類似する属性を有するクエリである同一属性クエリを抽出する第２抽出工程と、
前記第２抽出工程によって抽出された同一属性クエリに基づいて、前記ユーザに対する情報提供を行う提供工程と、
を含んだことを特徴とする提供方法。
【請求項１３】
任意のクエリ同士の関連度に基づいて、ユーザから入力された入力クエリに関連する複数の関連クエリを抽出する第１抽出手順と、
前記第１抽出手順によって抽出された関連クエリのうち、前記入力クエリと同一又は類似する属性を有するクエリである同一属性クエリを抽出する第２抽出手順と、
前記第２抽出手順によって抽出された同一属性クエリに基づいて、前記ユーザに対する情報提供を行う提供手順と、
をコンピュータに実行させることを特徴とする提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、提供装置、提供方法及び提供プログラムに関する。
【背景技術】
【０００２】
近年、通信ネットワークの発達とともに、様々なサービスがネットワークを介して提供されている。これに関連して、ネットワーク上に存在するサービスを検索したり、サービス内において所望の商品や記事を検索したりするための様々な検索技術が提案されている。
【０００３】
例えば、特定のサイト内に現われるキーワードに絞って連想したサジェストを行い、そのサイトに特化することにより迅速な検索を行うことを可能とする技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１４２０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、任意のキーワードに基づいた提案を行うことができるとは限らない。具体的には、上記の従来技術は、特定のサイト内に現れるキーワードを処理対象とすることで迅速な検索を可能とするものであり、例えば、分野やカテゴリの異なる多種多様なキーワードに基づいて、広告や検索サジェストやレコメンド等の情報提供を行うことができるとは限らない。
【０００６】
本願は、上記に鑑みてなされたものであって、任意のキーワードに基づいた提案を行うことができる提供装置、提供方法、及び提供プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願に係る提供装置は、任意のクエリ同士の関連度に基づいて、ユーザから入力された入力クエリに関連する複数の関連クエリを抽出する第１抽出部と、前記第１抽出部によって抽出された関連クエリのうち、前記入力クエリと同一又は類似する属性を有するクエリである同一属性クエリを抽出する第２抽出部と、前記第２抽出部によって抽出された同一属性クエリに基づいて、前記ユーザに対する情報提供を行う提供部と、を備えたことを特徴とする。
【発明の効果】
【０００８】
実施形態の一態様によれば、任意のキーワードに基づいた提案を行うことができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る提供処理の一例を示す図である。
【図２】図２は、実施形態に係る提供システムの構成例を示す図である。
【図３】図３は、実施形態に係る提供装置の構成例を示す図である。
【図４】図４は、実施形態に係る関連度情報記憶部の一例を示す図である。
【図５】図５は、実施形態に係る属性情報記憶部の一例を示す図である。
【図６】図６は、実施形態に係るレコメンド記憶部の一例を示す図である。
【図７】図７は、実施形態に係る第１抽出部の処理を説明するための図である。
【図８】図８は、実施形態に係る提供装置による処理手順を示すフローチャート（１）である。
【図９】図９は、実施形態に係る提供装置による処理手順を示すフローチャート（２）である。
【図１０】図１０は、提供装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【００１０】
以下に、本願に係る提供装置、提供方法及び提供プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る提供装置、提供方法及び提供プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１１】
〔１．提供処理の一例〕
まず、図１を用いて、実施形態に係る提供処理の一例について説明する。図１は、実施形態に係る提供処理の一例を示す図である。図１では、実施形態に係る提供処理の一例として、実施形態に係る提供装置１００がユーザＵ０１から送信される検索クエリ（以下、「クエリ」と表記する）に応じた情報提供を行う処理を例に挙げて説明する。
【００１２】
図１に示す提供装置１００は、ユーザから送信されるクエリに基づいて、広告やレコメンド等の情報提供を行うサーバ装置である。なお、実施形態では、提供装置１００は、検索サービスをユーザに提供するウェブサーバとしての機能を兼ねるものとする。
【００１３】
実施形態では、検索サービスを提供する検索サイト等において、検索に用いられるキーワードを「クエリ」と称する。ただし、キーワードとクエリとが完全に一致しない場合もありうる。例えば、ユーザは、「ＡＡＡの自動車」といった文をクエリとして入力する場合もある（「ＡＡＡ」は、例えば自動車メーカーの名称である）。この場合、「ＡＡＡの自動車」がクエリとなり、クエリに含まれる単語である「ＡＡＡ」や「自動車」がキーワードとなりうる。提供装置１００は、例えば、クエリを形態素解析等することにより、適宜、クエリからキーワードを抽出する。なお、以下の説明では、「クエリ」と「キーワード」が同義であるものとして扱う場合もある。例えば、クエリが一のキーワードのみで構成されていたり、クエリを形態素解析等した結果から一のキーワードが抽出されたりする場合等には、クエリとキーワードを同義のものとして扱う。
【００１４】
図１に示すユーザ群は、検索サイト等を利用する複数のユーザであり、クエリを提供装置１００に送信する複数のユーザである。また、ユーザＵ０１は、ユーザの一例であり、クエリを提供装置１００に送信する（具体的には、検索サイト等においてキーワードを入力する）ユーザであるとともに、送信したクエリに応じた広告やレコメンド等の情報が提供される提供先となるユーザである。なお、ユーザ群が含む各ユーザやユーザＵ０１の各々は、検索サイトを利用したり、提供装置１００との各種情報の送受信を行ったりするための情報処理端末（以下、「ユーザ端末１０」と表記する）を有する。また、以下の説明では、ユーザ端末１０と、ユーザ端末１０を利用するユーザとを同一視する場合がある。例えば、「ユーザＵ０１がクエリを送信する」とは、実際には、「ユーザＵ０１が利用するユーザ端末１０がクエリを送信する」ことを意味する。
【００１５】
ユーザが検索を行う際に送信するクエリは、ユーザの興味関心を示す。このため、クエリに応じた広告やレコメンド等の情報提供を行うことにより、ユーザが興味関心を有する対象と類似する商品やサービスをユーザに提示することができる。このことは、例えば、広告配信等のマーケティングや、広告やレコメンドの提供先に対する訴求効果を高めるうえで有用である。言い換えれば、どのようなクエリ同士が類似する関係にあるかを求め、ユーザが送信したクエリに対応する（類似する）対象をユーザに提示することは、例えば広告配信事業者や、広告やレコメンド等を提供する提供主等にとって望ましい。
【００１６】
なお、どのようなクエリ同士が類似するか否かを判定する手法としては、例えば、クエリに対して属性（カテゴリ）を設定し、同じような属性を有するクエリを同じクラスに分類する手法等がある。
【００１７】
しかしながら、検索サイト等に送信されるクエリの種類は膨大であり、人手で属性を付与することは現実的ではない。また、プログラム等によってクエリに属性を付与する手法においても、一つのクエリに複数の意味が含まれている場合もあり、自動的に適切なカテゴライズを行うことも難しい。
【００１８】
例えば、映画のタイトルを示す「Ａ（「Ａ」は任意の語句であり、映画のタイトルを示すものとする）」というキーワードがクエリとして用いられる場合、それが「映画のタイトルであるＡ」を示す意図で用いられているか、あるいは、他の意図で「Ａ」というキーワードを用いているかを判定することは難しい。具体的には、ユーザＵ０１が「Ａ」をクエリとして入力した場合に、当該クエリに基づいてユーザＵ０１にレコメンドを配信する場合には、どのような属性（カテゴリ）のレコメンドを配信することが効果的であるかを判定することが難しい。すなわち、実施形態に係る提供装置１００が、様々な属性や様々な分野に渡る商品を取り扱うショッピングモールに関するレコメンドを配信する場合には、単に「Ａ」というキーワードに基づきレコメンドを提供しても、当該レコメンドが示す商品やサービスが適切でない場合（例えば、ユーザＵ０１が所望する属性を有する商品やサービスでない場合）がある。
【００１９】
そこで、実施形態に係る提供装置１００は、以下に説明する提供処理を実行する。具体的には、提供装置１００は、予め、集計対象となる全ユーザのうち、同一のユーザが異なるクエリを入力した回数に基づいて、ある２つのクエリ同士の関連度を算出する。その後、提供装置１００は、算出したクエリ同士の関連度に基づいて、ユーザから入力された任意のクエリ（以下、「入力クエリ」と表記する）に関連するクエリ（以下、「関連クエリ」と表記する）を複数抽出する。そして、提供装置１００は、抽出された関連クエリのうち、入力クエリと同一又は類似する属性を有する関連クエリ（以下、「同一属性クエリ」と表記する）を抽出する。さらに、提供装置１００は、抽出された同一属性クエリに基づいて、入力クエリを入力したユーザに対して広告やレコメンド等の情報提供を行う。
【００２０】
これにより、提供装置１００は、ユーザがどのような属性を示すキーワードをクエリとして入力した場合であっても、ユーザの入力クエリと一致する関連クエリに基づいてレコメンド等を選択して提供することができるため、ユーザの意図に沿ったレコメンドを提供することができる。例えば、ユーザが「映画タイトル」を属性として有するクエリを入力した場合には、ユーザへのおすすめ商品又はサービスとして、他の映画タイトル（すなわち映画）に関する情報をユーザに提供することができる。すなわち、提供装置１００によれば、ユーザからどのようなキーワードを入力されたとしても、入力されたキーワードに適した（ユーザの意図に沿った）情報提供を行うことができる。以下、図１を用いて、提供装置１００によって行われる提供処理の一例を流れに沿って説明する。
【００２１】
まず、図１に示す例において、提供装置１００は、任意のクエリ同士の関連度を算出する。図１に示す例では、ユーザ群の各々のユーザが、検索サイト等において任意のクエリを入力するものとする（ステップＳ１１）。提供装置１００は、各ユーザから送信されるクエリを取得する（ステップＳ１２）。そして、提供装置１００は、クエリ同士の関連度を算出する（ステップＳ１３）。なお、以下の説明では、関連度が算出される２つのクエリのうち、処理対象とするクエリを「第１クエリ」と称し、第１クエリと関連するクエリを「第２クエリ」と称する。
【００２２】
提供装置１００は、任意のクエリのうち、互いに異なる二つのクエリのいずれかを入力したユーザの数と、当該二つのクエリを両方とも入力したユーザの数と、に少なくとも基づいて、任意のクエリ同士の関連度を算出する。一例として、提供装置１００は、下記式（１）に基づいて、第１クエリ（式（１）では、「クエリＡ」）と第２クエリ（式（１）では、「クエリＢ」）の関連度を算出する。
【００２３】
【数１】
2019053520.tif 000003
【００２４】
上記式（１）において、「Ｓｃｏｒｅ（Ａ，Ｂ）」は、クエリＡとクエリＢの関連度の数値を示す。「Ａｕｓｅｒ」は、クエリＡを検索（入力）したユーザ数を示す。「Ｂｕｓｅｒ」は、クエリＢを検索したユーザ数を示す。「ＡＬＬｕｓｅｒ」は、所定の集計期間においてクエリを送信したユーザ（検索を利用したユーザ）の数を示す。そして、「Ａｕｓｅｒ∧Ｂｕｓｅｒ」は、クエリＡとクエリＢの両方を検索したユーザ数を示す。
【００２５】
提供装置１００は、上記式（１）を用いて、ユーザ群から検索された全クエリの関連度を算出する。例えば、提供装置１００は、第１クエリであるクエリＡを検索したユーザが検索するクエリＢを集計する。そして、提供装置１００は、第１クエリに対する全ての第２クエリに対して、上記式（１）を用いて関連度を算出する。提供装置１００は、算出した第１クエリの関連度を記憶部に格納する。なお、提供装置１００は、所定の閾値を超える関連度を有する第１クエリと第２クエリのペアのみを抽出して記憶部に格納するようにしてもよい。
【００２６】
このように、実施形態に係る提供装置１００は、ユーザから送信されるクエリが有する意味や性質等の定性的な情報によらず、実際のユーザの検索行動という定量的な情報に基づいて、クエリの関連度を算出する。具体的には、提供装置１００は、ユーザの検索行動ログに基づいて関連度を算出するため、クエリそのものの意味によらず、実際のユーザの興味関心に基づいて関連度を算出することができる。すなわち、提供装置１００は、単にクエリ（キーワード）が有する意味が類似するクエリ同士の関連度を高く算出するのではなく、似たような行動をとるユーザが検索したクエリ同士の関連度を高く算出するため、ユーザの行動が的確に反映された関連度の算出を行うことができる。
【００２７】
また、上記式（１）において、提供装置１００は、集計期間を変更することで、どのくらいの長さの期間におけるクエリ同士の関連度を算出するかを調整することができる。例えば、提供装置１００は、集計期間を数年間という範囲で設定すれば、当該数年間の間に同一のユーザが第１クエリと第２クエリとを検索した場合に、「第１クエリと第２クエリの両方を検索したユーザ」として計数するため、比較的長い範囲におけるユーザの興味関心の移り変わりを示した関連度を算出することができる。これにより、提供装置１００は、ユーザのライフステージ（例えば、ユーザが検索するクエリが「妊娠」から「出産」に変化したことなど）の移り変わりを反映させた関連度の算出を行うことができる。一方で、提供装置１００は、集計期間を数日間という範囲で設定すれば、当該数日間の間に同一のユーザが第１クエリと第２クエリの両方を検索しなければ、「第１クエリと第２クエリの両方を検索したユーザ数」を計数しない。このため、提供装置１００は、比較的長い期間を設定した場合に関連を有するクエリ同士のペアではなく、比較的短い期間が設定された場合であっても関連を有するクエリ同士のペアを抽出し易くなる。なお、集計期間は、例えば提供装置１００の管理者等によって、適宜、設定されてもよい。
【００２８】
図１の例では、提供装置１００は、算出した関連度をデータベースＤＢ０１に格納する。なお、実施形態の説明においては、キーワード（クエリ）ごとの属性を明示するため、属性とキーワードを示す概念符号をペアとして一つのキーワード（クエリ）を表記する。例えば、「Ａ」というクエリが映画タイトルである場合には、当該クエリを「映画タイトルＡ」と表記する。
【００２９】
図１に示す例では、データベースＤＢ０１は、第１クエリが「映画タイトルＡ」であり、第２クエリがそれぞれ「監督名Ｄ」、「映画紹介サイトＥ」、「映画タイトルＦ」である場合の関連度を記憶する。具体的には、データベースＤＢ０１に記憶される情報の一例は、第１クエリが「映画タイトルＡ」であり第２クエリが「監督名Ｄ」であるペアの関連度は、「４．２１」であることを示している。また、データベースＤＢ０１に記憶される情報の他の一例は、第１クエリが「映画タイトルＢ」であり第２クエリが「映画タイトルＧ」であるペアの関連度は、「４．１５」であることを示している。なお、上述のように、クエリ同士の関連度は、クエリを入力したユーザの数に比例するため、異なる第１クエリに対する第２クエリの中には、同一の第２クエリが重複して出現する場合もありうる。例えば、図１に示すように、第１クエリ「映画タイトルＡ」と、第１クエリ「映画タイトルＢ」にともに共通する第２クエリとして、「映画タイトルＦ」が出現する場合もありうる。
【００３０】
提供装置１００は、データベースＤＢ０１に示されるようなクエリ同士の関連度を、ユーザ群から入力された全てのクエリに関して保持するものとする。
【００３１】
その後、提供装置１００は、ユーザＵ０１から、任意のクエリの入力を受け付ける（ステップＳ１４）。例えば、ユーザＵ０１は、ユーザ端末１０を利用して、提供装置１００が提供するショッピングモールのトップページにおいて表示されている検索窓において、入力クエリとして「映画タイトルＡ」と「映画タイトルＢ」とを入力する。
【００３２】
この場合、提供装置１００は、データベースＤＢ０１を参照し、入力クエリに関連する複数の関連クエリを抽出する（ステップＳ１５）。具体的には、提供装置１００は、ユーザＵ０１の入力クエリである「映画タイトルＡ」及び「映画タイトルＢ」について、各々の関連クエリを複数抽出する。
【００３３】
図１の例では、提供装置１００は、「映画タイトルＡ」の関連クエリとして、関連度が高い順に、関連クエリとして、「監督名Ｄ」、「映画紹介サイトＥ」及び「映画タイトルＦ」を抽出する。また、提供装置１００は、「映画タイトルＢ」の関連クエリとして、関連度が高い順に、関連クエリとして、「映画タイトルＧ」、「俳優Ｈ」及び「映画タイトルＦ」を抽出する。
【００３４】
さらに、提供装置１００は、ステップＳ１５において抽出された複数の関連クエリのうち、入力クエリと同一又は類似する属性を有する関連クエリ（同一属性クエリ）をさらに抽出する（ステップＳ１６）。
【００３５】
ステップＳ１６における抽出手法について詳細は後述するが、一例として、提供装置１００は、入力クエリに関連付けられているキーワードと同一又は類似のキーワードが関連付けられている関連クエリを、当該入力クエリの同一属性クエリとして抽出する。より具体的には、提供装置１００は、ステップＳ１５において抽出された関連クエリのうち、所定の検索エンジンにおいて入力クエリの検索サジェストとして用いられるキーワードと同一又は類似のキーワードが検索サジェストとして用いられる関連クエリを、当該入力クエリの同一属性クエリとして抽出する。
【００３６】
例えば、提供装置１００は、所定の検索エンジンにおいて「映画タイトルＡ」と入力した場合に、上位のサジェストワードとして「あらすじ」が出現するという情報を参照する。このとき、提供装置１００は、所定の検索エンジンにおいて、任意の「「映画タイトルＡ」の関連クエリ」を入力した場合に、サジェストワードとして「あらすじ」が出現する関連クエリを、「映画タイトルＡ」の同一属性クエリの候補として抽出する。これは、入力クエリと同一又は類似する属性を有するクエリであれば、検索エンジンにおけるサジェストワードが共通する確度が高いと推定されることによる。具体的には、「映画タイトル」という属性を有するクエリであれば、サジェストワードに「あらすじ」が出現する可能性は高いと推定されるが、属性が「監督名」や「俳優」であれば、サジェストワードに「あらすじ」が出現する可能性は低いと推定される。提供装置１００は、かかる推定に基づき、同一のサジェストワードの出現可能性に基づいて、入力クエリと関連クエリとの属性が一致するか否かの判定を行う。
【００３７】
なお、後述するように、提供装置１００は、上記とは異なる手法によって、入力クエリの同一属性クエリを抽出する（言い換えれば、関連クエリから同一属性クエリのみをフィルタリングする）処理を行ってもよい。また、提供装置１００は、図１に示すように、ユーザＵ０１から複数の入力クエリを受け付けていた場合には、複数の入力クエリに共通する属性を有する同一属性クエリを抽出するようにしてもよい。
【００３８】
図１の例では、提供装置１００は、ユーザＵ０１から受け付けた「映画タイトルＡ」と「映画タイトルＢ」と共通する属性（この例では「映画タイトル」）を有するクエリとして、「映画タイトルＦ」と、「映画タイトルＧ」とを抽出したものとする。
【００３９】
続けて、提供装置１００は、同一属性クエリとレコメンド情報とが対応付けられたデータベースＤＢ０２を参照し、ステップＳ１６において抽出された関連クエリ（すなわち同一属性クエリ）に対応付けられたレコメンド情報を特定する（ステップＳ１７）。具体的には、提供装置１００は、抽出された同一属性クエリである「映画タイトルＦ」のレコメンド情報である「画像データ５０」を特定する。また、提供装置１００は、抽出された同一属性クエリである「映画タイトルＧ」のレコメンド情報である「画像データ５２」を特定する。例えば、画像データ５０は、「映画タイトルＦ」に対応する映画が記憶されたメディアの商品紹介ページから抽出された画像データであり、画像データ５２は、「映画タイトルＧ」に対応した映画が記憶されたメディアの商品紹介ページから抽出された画像データである。
【００４０】
そして、提供装置１００は、ステップＳ１７において特定した情報をユーザＵ０１に送信する。すなわち、提供装置１００は、レコメンド情報である画像データ５０や画像データ５２をユーザＵ０１に提供する（ステップＳ１８）。これにより、ユーザＵ０１は、自身が入力した映画タイトルＡや映画タイトルＢと共通する属性を有する「映画タイトルＦ」や「映画タイトルＧ」に関するレコメンド情報の提供を受けることができる。
【００４１】
図１を用いて上述してきたように、実施形態に係る提供装置１００は、任意のクエリ同士の関連度に基づいて、ユーザＵ０１から入力された入力クエリに関連する複数の関連クエリを抽出する。そして、提供装置１００は、抽出した関連クエリのうち、入力クエリと同一又は類似する属性を有するクエリである同一属性クエリを抽出する。さらに、提供装置１００は、抽出した同一属性クエリに基づいて、ユーザＵ０１に対する情報提供を行う。
【００４２】
すなわち、提供装置１００によれば、ユーザＵ０１から任意のクエリが入力された場合に、そのクエリと同一又は類似するクエリ（キーワードと読み替えてもよい）を抽出し、抽出したクエリに基づいて、ユーザＵ０１に提供する広告やレコメンド情報を特定する。これにより、提供装置１００は、ユーザＵ０１からどのようなクエリが入力された場合であっても、ユーザＵ０１の意図やユーザＵ０１の興味関心に応じたレコメンド情報を特定し、ユーザに提供することができる。このように、提供装置１００は、任意のキーワードに基づいた提案を行うことができる。以下、上記のような処理を行う提供装置１００及び提供装置１００を含む提供システム１について、詳細に説明する。
【００４３】
〔２．提供システムの構成〕
次に、図２を用いて、実施形態に係る提供システム１の構成について説明する。図２は、実施形態に係る提供システム１の構成例を示す図である。図２に示すように、提供システム１は、ユーザ端末１０と、提供装置１００とを含む。ユーザ端末１０、及び提供装置１００は、通信ネットワークであるネットワークＮ（例えば、インターネット）を介して有線または無線により通信可能に接続される。なお、図２に示す提供システム１に含まれる各装置の数は図示したものに限られない。例えば、提供システム１には、複数台のユーザ端末１０等が含まれてもよい。
【００４４】
ユーザ端末１０は、ユーザによって利用される情報処理装置である。例えば、ユーザ端末１０は、デスクトップ型ＰＣや、ノート型ＰＣや、スマートフォン等の携帯電話機や、タブレット端末や、ＰＤＡ（Personal  Digital  Assistant）、ウェアラブルデバイス（Wearable  Device）等の情報処理装置である。例えば、ユーザ端末１０は、ユーザによる操作にしたがって、検索サービスを提供するサイト等にアクセスする。そして、ユーザ端末１０は、ユーザによって入力されたクエリを、検索サービスを提供するサーバ（実施形態では、提供装置１００）に対して送信する。
【００４５】
提供装置１００は、上述のように、入力クエリに関連する複数の関連クエリを抽出するとともに、入力クエリと同一又は類似する属性を有するクエリである同一属性クエリを抽出し、抽出した同一属性クエリに基づいてユーザに対する情報提供を行うサーバ装置である。
【００４６】
〔３．提供装置の構成〕
次に、図３を用いて、実施形態に係る提供装置１００の構成について説明する。図３は、実施形態に係る提供装置１００の構成例を示す図である。図３に示すように、提供装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、提供装置１００は、提供装置１００を利用する管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を出力するための出力部（例えば、液晶ディスプレイ等）を有してもよい。
【００４７】
（通信部１１０について）
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１１０は、ネットワークＮと有線又は無線で接続され、ネットワークＮを介して、ユーザ端末１０との間で情報の送受信を行う。
【００４８】
（記憶部１２０について）
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部１２０は、関連度情報記憶部１２１と、属性情報記憶部１２２と、レコメンド記憶部１２３とを有する。以下、各記憶部について順に説明する。
【００４９】
（関連度情報記憶部１２１について）
関連度情報記憶部１２１は、クエリ同士の関連度に関する情報を記憶する。関連度情報記憶部１２１は、図１で示したデータベースＤＢ０１に対応する。ここで、図４に、実施形態に係る関連度情報記憶部１２１の一例を示す。図４は、実施形態に係る関連度情報記憶部１２１の一例を示す図である。図４に示すように、関連度情報記憶部１２１は、「集計期間」、「検索ユーザ全体数」、「第１クエリ」、「第２クエリ」、「関連度」といった項目を有する。
【００５０】
「集計期間」は、ユーザの検索行動に関する情報を集計する期間を示す。「検索ユーザ全体数」は、集計期間における検索ユーザの全体数に関する情報を示す。なお、図４では、「検索ユーザ全体数」に記憶される情報を「Ａ０１」のように概念的に示しているが、実際には、「検索ユーザ全体数」の項目には、集計期間において処理対象となる検索サービスを利用した全ユニークユーザ数の具体的な数値が記憶される。なお、当該項目には、集計期間において検索サービスにクエリが送信された（言い換えれば、検索が行われた）回数や、各クエリの検索回数等の情報が記憶されてもよい。
【００５１】
「第１クエリ」は、第１クエリを示す。「第２クエリ」は、第１クエリを検索したユーザが検索したクエリであって、第１クエリとは異なるクエリを示す。「関連度」は、第１クエリと第２クエリとの関連度を示す。関連度は、例えば、上記式（１）によってクエリのペアごとに算出される。
【００５２】
すなわち、図４では、関連度情報記憶部１２１が保持する情報の一例として、集計期間が「２０１６年７月１日〜２０１７年６月３０日」であって、検索ユーザ全体数が「Ａ０１」である集計データのうち、第１クエリが「映画タイトルＡ」であって第２クエリが「監督名Ｄ」であるペアの関連度は「４．２１」であることを示している。
【００５３】
（属性情報記憶部１２２について）
属性情報記憶部１２２は、クエリの属性情報を記憶する。ここで、図５に、実施形態に係る属性情報記憶部１２２の一例を示す。図５は、実施形態に係る属性情報記憶部１２２の一例を示す図である。図５に示すように、属性情報記憶部１２２は、「クエリ」、「属性」といった項目を有する。
【００５４】
「クエリ」は、属性が対応付けられたクエリを示す。なお、図５の例では、クエリをキーワードと読み替えることもできる。「属性」は、クエリに対応付けられた属性を示す。
【００５５】
なお、実施形態において、クエリの属性とは、クエリごとの特徴や分類を示す情報であり、例えば人為的に付与されたり、後述する抽出処理によって判定されたりする概念を示す。図５で示す例は、属性が付与されたクエリがデータベースとして保持されている例であり、かかる例は、クエリと属性との関係を記憶した辞書データと読み替えてもよい。
【００５６】
また、図５に示す例では、クエリを「映画」や「人物」や「情報コンテンツ」といった属性に分類しているが、属性は、ここで示す例に限られない。すなわち、属性は、クエリの特徴ごとにクエリを分類（クラスタリング）できる情報であれば、いずれの情報が用いられてもよい。また、属性は、外部の知識データベース（例えば、ナレッジベースなど）に保持されている情報を利用してもよいし、提供装置１００の管理者等によって独自に設定されてもよい。
【００５７】
また、属性は、図５で示した例に限らず、さらに詳細に分類された概念が用いられてもよい。例えば、提供装置１００は、映画タイトルＡの属性を、「映画」ではなく「映画タイトル」と対応付けてもよいし、監督名Ｄの属性を、「人物」ではなく「映画監督」と対応付けてもよい。
【００５８】
また、属性同士が類似するか否かについては、例えば、クエリ同士の類似度に基づいて自動的に判定されてもよいし、属性として付与されている概念の類似性等に基づいて提供装置１００の管理者等によって判定されてもよい。具体的には、提供装置１００は、属性「映画」であるクエリと、属性「音楽」であるクエリとを検索するユーザの数に基づいて（例えば、全ユーザ数のうち所定数以上のユーザが検索しているなど）、属性同士が類似すると判定してもよい。あるいは、提供装置１００は、属性「映画」と属性「音楽」は類似する、といった定義データを属性情報記憶部１２２内に保持しておき、かかる定義データに基づいて判定を行ってもよい。
【００５９】
すなわち、図５では、属性情報記憶部１２２が保持する情報の一例として、クエリ「映画タイトルＡ」に対応付けられている属性は「映画」であることを示している。また、クエリ「監督名Ｄ」に対応付けられている属性は「人物」であることを示している。
【００６０】
（レコメンド記憶部１２３について）
レコメンド記憶部１２３は、ユーザに提供されるレコメンド情報を記憶する。レコメンド記憶部１２３は、図１で示したデータベースＤＢ０２に対応する。ここで、図６に、実施形態に係るレコメンド記憶部１２３の一例を示す。図６は、実施形態に係るレコメンド記憶部１２３の一例を示す図である。図６に示すように、レコメンド記憶部１２３は、「クエリ」、「レコメンド情報」といった項目を有する。
【００６１】
「クエリ」は、レコメンド情報が対応付けられたクエリを示す。なお、図６の例では、クエリをキーワードと読み替えることもできる。「レコメンド情報」は、クエリに対応付けられたレコメンド情報を示す。レコメンド情報とは、ユーザがアクセスしたサービスにレコメンド情報として表示される素材となるデータであり、例えば、画像データや、画像データに埋め込まれるリンク情報である。なお、レコメンド情報は、レコメンド記憶部１２３に保持されず、クエリに基づいてリアルタイムに生成されるものであってもよい。例えば、提供装置１００は、クエリ「映画タイトルＡ」に関して、所定のショッピングサイトにおける「映画タイトルＡ」の商品やサービス紹介ページに掲載された画像データと当該ページのリンク情報とに基づいて、レコメンド情報をリアルタイムに生成してもよい。
【００６２】
すなわち、図６では、レコメンド記憶部１２３が保持する情報の一例として、クエリ「映画タイトルＡ」に対応付けられているレコメンド情報は、「画像データＫ０１」と「リンクＬ０１」であることを示している。
【００６３】
（制御部１３０について）
制御部１３０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、提供装置１００内部の記憶装置に記憶されている各種プログラム（提供プログラムの一例に相当）がＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、コントローラであり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。
【００６４】
実施形態に係る制御部１３０は、図３に示すように、取得部１３１と、算出部１３２と、受付部１３３と、第１抽出部１３４と、第２抽出部１３５と、提供部１３６とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図３に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部１３０が有する各処理部の接続関係は、図３に示した接続関係に限られず、他の接続関係であってもよい。
【００６５】
（取得部１３１について）
取得部１３１は、各種情報を取得する。例えば、取得部１３１は、ユーザから送信されるクエリを取得する。具体的には、取得部１３１は、図１で示すユーザ群のような複数のユーザから任意に入力されるキーワードであって、検索サイト等における検索処理に用いるためのキーワードをクエリとして取得する。なお、クエリは、複数のキーワードを含んでいてもよい。
【００６６】
また、取得部１３１は、所定の集計期間において、任意のクエリのうち、互いに異なる二つのクエリのいずれかを入力したユーザの数と、当該二つのクエリを両方とも入力したユーザの数とを取得する。例えば、取得部１３１は、第１クエリを検索したユーザを識別する情報（サービスにおけるユーザＩＤや、端末固有の識別情報である端末ＩＤや、ブラウザソフトウェアのクッキー（cookie）等）に基づいて、当該ユーザが第２クエリを検索したか否かを判定可能である。
【００６７】
また、取得部１３１は、所定の集計期間における全体の検索数や、全体のユニークユーザ数を取得する。なお、取得部１３１は、一つの検索サイトから上記情報を取得してもよいし、複数の検索サイトから取得した情報を合算してもよい。この場合、取得部１３１は、ユーザの検索行動に関する情報を、検索サイトをユーザに提供する所定の外部サーバから取得してもよい。また、取得部１３１は、検索サイトに限らず、所定のサービスサイト（例えば、ショッピングサイトやオークションサイト）等においてユーザから送信されるクエリを取得してもよい。
【００６８】
また、取得部１３１は、クエリ（キーワード）に設定する属性情報を取得してもよい。例えば、取得部１３１は、提供装置１００の管理者等による入力に基づいて、クエリに設定する属性情報を取得する。あるいは、取得部１３１は、所定のクロール処理（crawling）により、外部の知識データベース等から、クエリと対応付けられた属性情報を取得してもよい。
【００６９】
また、取得部１３１は、広告やレコメンドを提供する提供主や広告配信事業者等から、ユーザに提供するレコメンド情報等を取得してもよい。例えば、取得部１３１は、レコメンド情報として、クエリに関連する画像データや動画データ、あるいは、宣伝や商品の紹介を記載したテキストデータ、リンク情報等を取得する。
【００７０】
取得部１３１は、取得した情報を記憶部１２０内に格納する。例えば、取得部１３１は、取得した属性情報を属性情報記憶部１２２に記載したり、取得したレコメンド情報をレコメンド記憶部１２３に記載したりする。また、取得部１３１は、後述する各処理部が要する情報を、適宜、記憶部１２０内から取得してもよい。
【００７１】
（算出部１３２について）
算出部１３２は、取得部１３１によって取得されたクエリ同士の関連度を算出する。具体的には、算出部１３２は、任意のクエリのうち、互いに異なる二つのクエリのいずれかを入力したユーザの数と、当該二つのクエリを両方とも入力したユーザの数と、に少なくとも基づいて、任意のクエリ同士の関連度を算出する。なお、算出部１３２は、クエリに複数のキーワードが含まれている場合には、キーワードごとに、キーワードを入力したユーザの数を計数してもよい。
【００７２】
また、算出部１３２は、所定期間のうちに互いに異なる二つのクエリを両方とも入力したユーザの数に基づいて、関連度を算出してもよい。例えば、算出部１３２は、集計期間が設定されている場合には、当該集計期間の間に、互いに異なる二つのクエリを両方とも入力したユーザの数に基づいて関連度を算出する。このように、算出部１３２は、二つのクエリを検索したという情報を集計する期間を可変とすることで、比較的長い期間（１年以上など）を捉えた関連度を算出するか、あるいは、比較的短い期間を捉えた関連度を算出するか、といった制御を行うことができる。
【００７３】
なお、算出部１３２は、クエリを入力するユーザを分類し、分類したグループごとに関連度を算出してもよい。例えば、算出部１３２は、所定のクエリの入力履歴、所定のサービスの利用履歴、又は、所定の属性の少なくともいずれか一つに基づいてユーザを所定のグループに分類し、分類したグループごとに関連度を算出してもよい。例えば、算出部１３２は、「妊娠」や「出産」等のライフステージに関わるクエリを所定の回数以上検索した履歴を有するユーザ群における、クエリ同士の関連度を算出してもよい。あるいは、算出部１３２は、ショッピングサービスやオークションサービスを利用した履歴を所定の回数以上有するユーザ群や、年齢層や性別が共通するユーザ群における、クエリ同士の関連度を算出してもよい。これにより、算出部１３２は、不特定多数のユーザの検索行動のみならず、ある特定の興味関心を有するグループにおけるユーザの検索行動に基づいて、クエリの関連度を算出することができる。
【００７４】
算出部１３２は、上記式（１）で示す式に対応する数値を代入することにより、互いに異なる二つのクエリである第１クエリと第２クエリとの関連度を算出する。算出部１３２は、第１クエリと第２クエリのペアと、算出した関連度とを対応付けて、関連度情報記憶部１２１に記憶する。
【００７５】
（受付部１３３について）
受付部１３３は、各種要求を受け付ける。例えば、受付部１３３は、所定のユーザから任意のキーワードを受け付ける。具体的には、受付部１３３は、検索サービスを利用するユーザが送信する任意のキーワードを当該検索サービスにおけるクエリとした検索要求を受け付ける。また、受付部１３３は、一のキーワードのみならず、複数のキーワードを含むクエリを受け付けてもよい。受付部１３３は、受け付けたクエリを第１抽出部１３４に送る。
【００７６】
（第１抽出部１３４について）
第１抽出部１３４は、任意のクエリ同士の関連度に基づいて、ユーザから入力された入力クエリに関連する複数の関連クエリを抽出する。
【００７７】
具体的には、第１抽出部１３４は、入力クエリを第１クエリとして、算出部１３２によって算出された関連度が保持されている関連度情報記憶部１２１を参照する。そして、第１抽出部１３４は、入力クエリに対応する第２クエリであって、入力クエリとの関連度が高い第２クエリから順に所定数を、入力クエリの関連クエリとして抽出する。なお、関連クエリとして抽出する数は、任意に設定可能である。
【００７８】
なお、第１抽出部１３４は、ユーザから複数の入力クエリが入力された場合には、各々の入力クエリに関連する複数の関連クエリを抽出するとともに、当該複数の入力クエリの各々と前記複数の関連クエリとの関連度の合算を算出し、算出した値に基づいて所定数の関連クエリを抽出する。この点について、図７を用いて説明する。図７は、実施形態に係る第１抽出部１３４の処理を説明するための図である。図７では、第１抽出部１３４が処理に用いる情報を表として示したデータベースＤＢ１１を例に挙げて説明する。データベースＤＢ１１は、例えば、関連度情報記憶部１２１に記憶された情報に基づいて生成される。
【００７９】
図７は、受付部１３３が、入力クエリとして「映画タイトルＸ」、「映画タイトルＹ」及び「映画タイトルＺ」という３つのクエリを受け付けた場合の、関連クエリの抽出処理に関する情報を示している。データベースＤＢ１１は、「映画タイトルＸ」と第２クエリである「映画タイトルＭ」との関連度が「５．７３」であり、「映画タイトルＹ」と第２クエリである「映画タイトルＭ」との関連度が「５．０３」であり、「映画タイトルＺ」と第２クエリである「映画タイトルＭ」との関連度が、「４．２６」であることを示している。また、データベースＤＢ１１は、「映画タイトルＸ」、「映画タイトルＹ」及び「映画タイトルＺ」という３つのクエリと、「映画タイトルＭ」との関連度の合算が「１５．０２」であることを示している。
【００８０】
図７に示すように、第１抽出部１３４は、複数の入力クエリが受け付けられた場合には、各々の入力クエリと第２クエリとの関連度の合算を算出する。そして、第１抽出部１３４は、関連度の合算が上位の所定数の第２クエリを関連クエリとして抽出する。図７の例では、第１抽出部１３４が、「映画タイトルＸ」、「映画タイトルＹ」及び「映画タイトルＺ」という３つのクエリの関連クエリとして、「映画タイトルＭ」や、「俳優Ｎ」や、「監督名Ｏ」や、「映画タイトルＰ」や、「俳優Ｑ」や、「映画タイトルＲ」や、「映画タイトルＳ」や、「映画タイトルＴ」や、「撮影地Ｕ」等を抽出したことを示している。
【００８１】
上述のように、算出部１３２による関連度は、ある２つのクエリをともに検索したユーザ数に基づいて算出される。このため、図７で示す関連クエリとは、言い換えれば、「映画タイトルＸ」、「映画タイトルＹ」及び「映画タイトルＺ」という３つのクエリのいずれにも興味を持つユーザが興味を有する対象を示すものであるといえる。
【００８２】
なお、第１抽出部１３４は、関連度の高い順から所定数の第２クエリを関連クエリとして抽出してもよいし、所定の閾値を超える関連度を有する全ての第２クエリを関連クエリとして抽出してもよい。所定の閾値は、例えば提供装置１００の管理者によって任意に設定されてもよいし、統計的な手法により算出されてもよい（例えば、算出された全ての関連度における平均値を所定の閾値として設定する等）。第１抽出部１３４は、抽出した関連クエリに関する情報を第２抽出部１３５に送る。
【００８３】
（第２抽出部１３５について）
第２抽出部１３５は、第１抽出部１３４によって抽出された関連クエリのうち、入力クエリと同一又は類似する属性を有するクエリである同一属性クエリを抽出する。
【００８４】
第２抽出部１３５は、種々の手法により、入力クエリの同一属性クエリを抽出することが可能である。例えば、第２抽出部１３５は、任意のクエリの属性が予め定義付けられた辞書データに基づいて、同一属性クエリを抽出してもよい。この場合、第２抽出部１３５は、辞書データ（例えば、属性情報記憶部１２２に記憶された情報）に基づいて、入力クエリの属性を特定する。そして、第２抽出部１３５は、関連クエリのうち、入力クエリの属性と同一又は類似するクエリを同一属性クエリとして抽出する。
【００８５】
また、第２抽出部１３５は、第１抽出部１３４によって抽出された関連クエリのうち、入力クエリに関連付けられているキーワードと同一又は類似のキーワードが関連付けられている関連クエリを、入力クエリの同一属性クエリとして抽出してもよい。この場合、第２抽出部１３５は、入力クエリの属性を特定していることを要しない。すなわち、第２抽出部１３５は、入力クエリの属性に関わらず、入力クエリに関連付けられているキーワードと同一又は類似のキーワードが関連付けられているか否かに基づいて同一属性クエリを抽出することができる。
【００８６】
具体的には、第２抽出部１３５は、第１抽出部１３４によって抽出された関連クエリのうち、所定の検索エンジンにおいて入力クエリの検索サジェストとして用いられるキーワードと同一又は類似のキーワードが検索サジェストとして用いられる関連クエリを、当該入力クエリの同一属性クエリとして抽出する。ここで、検索サジェストとは、検索エンジンに任意のクエリを入力した場合に、ともに検索され易いワードとしてユーザに提案されるワード（いわゆるサジェストワード）を意味する。
【００８７】
例えば、第２抽出部１３５は、所定の検索エンジンにおいて、「（映画タイトル）Ａ」が入力された場合のサジェストワードとして、「あらすじ」や、「公開日」や、「劇場」や、「動員」等が含まれることを参照する。そして、第２抽出部１３５は、仮に、所定の検索エンジンにおいて、「（映画タイトル）Ａ」の関連クエリの一つである「Ｆ」が入力された場合のサジェストワードとして、「あらすじ」や、「公開日」や、「劇場」や、「動員」等が含まれる場合には、「Ａ」と「Ｆ」とが、同じ属性を有するクエリ（この例では、属性「映画」）と判定する。そして、第２抽出部１３５は、関連クエリのうち、「（映画タイトル）Ｆ」を入力クエリ「（映画タイトル）Ａ」の同一属性クエリとして抽出する。
【００８８】
なお、第２抽出部１３５は、クエリに関連付けられているキーワードとして、検索サジェストに限らず、種々のキーワードを用いることができる。例えば、第２抽出部１３５は、所定のドキュメント内において、クエリとともに出現するワード（いわゆる共起ワード）を用いて、同一属性クエリを抽出してもよい。
【００８９】
また、第２抽出部１３５は、第１抽出部１３４によって抽出された各々の関連クエリによる検索結果から到達する各々のコンテンツと、入力クエリによる検索結果から到達するコンテンツとの類似度に基づいて、当該入力クエリの同一属性クエリを抽出してもよい。検索結果から到達するコンテンツとは、例えば、関連クエリが検索エンジンに入力された場合に、検索結果として表示されるウェブページである。
【００９０】
具体的には、第２抽出部１３５は、第１抽出部１３４によって抽出された各々の関連クエリによる検索結果から到達するページのドメインと、入力クエリによる検索結果から到達するページのドメインとの類似度に基づいて、当該入力クエリの同一属性クエリを抽出する。例えば、所定の検索エンジンにおいて、「（映画タイトル）Ａ」が入力された場合には、映画である「Ａ」の公式ページや、様々な映画を紹介する情報サイトや、所定の映画館の公式サイト等が検索結果として表示されると推定される。このとき、第２抽出部１３５は、「（映画タイトル）Ａ」の関連クエリである「（映画タイトル）Ｆ」が入力された場合にも、様々な映画を紹介する情報サイトや、所定の映画館の公式サイト等、「（映画タイトル）Ａ」と共通するコンテンツが検索されることを参照する。そして、第２抽出部１３５は、関連クエリによる検索結果から到達するページのドメインと、入力クエリによる検索結果から到達するページのドメインとの類似度が所定の閾値を超える場合（例えば、検索結果の上位１００番目までに、一致するドメインが所定数以上含まれる場合など）に、当該関連クエリと入力クエリとが同一又は類似する属性を有すると判定する。
【００９１】
また、第２抽出部１３５は、入力クエリと同一又は類似する属性を有するクエリとの関係性を学習した学習モデルを用いて、第１抽出部１３４によって抽出された関連クエリのうち、入力クエリの同一属性クエリを抽出してもよい。一例として、第２抽出部１３５は、取得部１３１によって取得された全てのクエリについて、関連度が高いクエリを次元とし、関連度を次元数とする特徴ベクトルを生成する。また、第２抽出部１３５は、いくつかの同一属性を有するクエリのペアを正解データとして取得する。そして、第２抽出部１３５は、２つのクエリの特徴ベクトル同士の類似性を算出する（例えば、２つのクエリのコサイン類似度を算出する）とともに、その類似性が、正解データとどのような関係性を有するかを学習し、学習モデルを生成する。
【００９２】
かかる学習モデルによれば、２つのクエリを入力した場合には、２つのクエリの特徴ベクトルの類似性を算出するとともに、算出した類似性に基づいて、当該２つのクエリが同一又は類似する属性を有するか否かの尤度が出力される。第２抽出部１３５は、出力された尤度に基づいて、２つのクエリが同一又は類似する属性を有するクエリか否かを判定する。具体的には、第２抽出部１３５は、入力クエリと関連クエリのペアを学習モデルに入力した場合には、当該入力クエリと関連クエリとが同一又は類似する属性である尤度を出力させる。そして、第２抽出部１３５は、出力された尤度に基づいて、当該入力クエリと関連クエリとが同一又は類似する属性を有するか否かを判定する。第２抽出部１３５は、当該関連クエリが入力クエリと同一又は類似する属性を有すると判定した場合には、当該関連クエリを同一属性クエリとして抽出する。なお、第２抽出部１３５は、学習モデルの生成においては、種々の既知の学習手法を用いてもよい。例えば、第２抽出部１３５は、ディープラーニング（Deep  Learning）やサポートベクタマシン（Support  Vector  Machine）や所定の回帰式等を利用して、学習モデルを生成してもよい。
【００９３】
なお、第２抽出部１３５は、第１抽出部１３４によって、複数の入力クエリの各々と複数の関連クエリとの関連度の合算に基づいて、所定数の関連クエリが抽出された場合には、第１抽出部１３４によって抽出された所定数の関連クエリの中から、複数の入力クエリの少なくとも一つの入力クエリと同一又は類似する属性を有する同一属性クエリを抽出してもよい。図７の例では、第２抽出部１３５は、関連クエリのうち、入力クエリ「映画タイトルＸ」、「映画タイトルＹ」及び「映画タイトルＺ」という３つのクエリに共通する属性である「映画」を有する、「映画タイトルＭ」や、「映画タイトルＰ」や、「映画タイトルＲ」や、「映画タイトルＳ」や、「映画タイトルＴ」を、さらに抽出する。
【００９４】
なお、第２抽出部１３５は、必ずしも、複数の入力クエリの全てに共通する属性を有するクエリを同一属性クエリとして抽出することを要しない。すなわち、ユーザは、検索サービスにおいて、「映画タイトルＸ」、「映画タイトルＹ」及び「映画タイトルＺ」という３つのクエリのように、同一の属性を有するクエリを入力するとは限らない。例えば、ユーザは、「映画タイトルＸ」、「あらすじ」及び「公開日」という３つのクエリのように、互いに同一又は類似しない属性を有するクエリを入力する場合がある。この場合、第２抽出部１３５は、少なくとも一つの入力クエリと同一又は類似する属性を有する同一属性クエリを抽出する。
【００９５】
具体的には、第２抽出部１３５は、第１抽出部１３４によって抽出された所定数の関連クエリの中から、ユーザから最初に入力された入力クエリの同一属性クエリを抽出するようにしてもよい。これは、一般に、最初に入力するクエリには、ユーザの興味関心が最も反映された対象が入力されることが多いことによる。
【００９６】
第２抽出部１３５は、上記したいずれかの手法、もしくは、上記いずれかの手法を組み合わせて、入力クエリの同一属性クエリを抽出する。そして、第２抽出部１３５は、抽出した同一属性クエリを提供部１３６に送る。
【００９７】
（提供部１３６について）
提供部１３６は、第２抽出部１３５によって抽出された同一属性クエリに基づいて、ユーザに対する情報提供を行う。
【００９８】
具体的には、提供部１３６は、レコメンド記憶部１２３を参照し、同一属性クエリに対応するクエリに対応付けられたレコメンド情報を特定する。そして、提供部１３６は、第２抽出部１３５によって抽出された同一属性クエリに関連するレコメンドをユーザに提供する。なお、提供部１３６が提供する情報は、レコメンドに限らず、広告等であってもよい。
【００９９】
なお、提供部１３６は、既知の広告配信技術等に基づいて、提供するレコメンド情報を最適化させてもよい。例えば、提供部１３６は、提供したレコメンド情報のＣＴＲ（Click  Through  Rate）やＣＶＲ（Conversion  Rate）等の指標値を取得し、取得した情報に基づいて、訴求効果の低いレコメンド情報の提供の優先度を低く設定したり、第２抽出部１３５による属性の判定処理の正否に関するフィードバックを行ったりしてもよい。
【０１００】
〔４．処理手順〕
次に、図８及び図９を用いて、実施形態に係る提供装置１００による処理の手順について説明する。まず、図８を用いて、実施形態に係る関連度の算出処理の手順について説明する。図８は、実施形態に係る提供装置１００による処理手順を示すフローチャート（１）である。
【０１０１】
図８に示すように、提供装置１００は、ユーザから送信されたクエリを取得したか否かを判定する（ステップＳ１０１）。クエリを取得していない場合（ステップＳ１０１；Ｎｏ）、提供装置１００は、クエリを取得するまで待機する。
【０１０２】
一方、クエリを取得した場合（ステップＳ１０１；Ｙｅｓ）、提供装置１００は、取得したクエリのうち、処理対象とする任意の第１クエリを選択する（ステップＳ１０２）。さらに、提供装置１００は、第１クエリを検索したユーザが検索した第２クエリを集計する（ステップＳ１０３）。
【０１０３】
そして、提供装置１００は、例えば上記式（１）を用いて、第１クエリと第２クエリとの関連度を算出する（ステップＳ１０４）。その後、提供装置１００は、全検索クエリの関連度を算出したか否かを判定する（ステップＳ１０５）。全クエリの関連度を算出していない場合（ステップＳ１０５；Ｎｏ）、提供装置１００は、ステップＳ１０２からステップＳ１０４の処理を繰り返す。
【０１０４】
一方、全クエリの関連度を算出した場合（ステップＳ１０５；Ｙｅｓ）、提供装置１００は、算出した関連度を記憶部１２０に格納する（ステップＳ１０６）。
【０１０５】
次に、図９を用いて、実施形態に係る提供処理の手順について説明する。図９は、実施形態に係る提供装置１００による処理手順を示すフローチャート（２）である。
【０１０６】
図９に示すように、提供装置１００は、ユーザから入力クエリを受け付けたか否かを判定する（ステップＳ２０１）。入力クエリを受け付けていない場合（ステップＳ２０１；Ｎｏ）、提供装置１００は、受け付けるまで待機する。
【０１０７】
一方、入力クエリを受け付けた場合（ステップＳ２０１；Ｙｅｓ）、提供装置１００は、関連度に基づいて、入力クエリに関連する複数の関連クエリを抽出する（ステップＳ２０２）。
【０１０８】
続けて、提供装置１００は、ステップＳ２０２で抽出した複数の関連クエリから、さらに、入力クエリと同一又は類似する属性を有する同一属性クエリを抽出する（ステップＳ２０３）。
【０１０９】
そして、提供装置１００は、ステップＳ２０３で抽出した同一属性クエリに基づいて、入力クエリの送信元であるユーザにレコメンドを提供する（ステップＳ２０４）。
【０１１０】
〔５．変形例〕
上述した実施形態に係る提供システム１は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、上記の提供システム１に含まれる各装置の他の実施形態について説明する。
【０１１１】
〔５−１．クエリに対する形態素解析〕
上記実施形態では、提供装置１００が、第１クエリと第２クエリの両方を入力したユーザの数に基づいてクエリ同士の関連度を算出する例を示した。ここで、上述のように、クエリは、一のキーワードのみならず、複数のキーワードや文章によって構成される場合がある。このため、提供装置１００は、ユーザから送信されたクエリを形態素解析し、形態素解析の結果に含まれるキーワードを第１クエリや第２クエリとして取り扱うようにしてもよい。この場合、提供装置１００は、既知の記述を用いて、クエリに含まれる名詞や固有名詞を抽出し、抽出したキーワードのみを処理に用いてもよい。
【０１１２】
〔５−２．検索行動〕
提供装置１００は、第１クエリと第２クエリとの両方を検索したユーザと判定する期間について、必ずしも集計期間と同じ期間において検索行動がなされたことを条件とすることを要しない。すなわち、提供装置１００は、第１クエリと第２クエリとの両方を検索したユーザと判定する期間と、クエリを検索したユーザの数等を集計する期間とをそれぞれ設定してもよい。例えば、提供装置１００は、同一ユーザから２４時間以内に第１クエリと第２クエリとが送信された場合に、当該ユーザを第１クエリと第２クエリとの両方を検索したユーザと扱ってもよい。また、提供装置１００は、同一ユーザにおける同一セッション（例えば、所定の検索サイトへアクセスし、アクセスが途切れるまでの一連の行動）において第１クエリと第２クエリとが送信された場合に、当該ユーザを第１クエリと第２クエリとの両方を検索したユーザと扱ってもよい。このように、提供装置１００は、ユーザの検索行動を柔軟に取扱い、種々の情報処理を行ってもよい。
【０１１３】
〔５−３．検索サイト〕
上記実施形態では、検索サイトが提供装置１００によって提供される例を示した。しかし、検索サイトは、所定の外部サーバ（例えば、検索サービスを提供するウェブサーバ）によって提供されてもよい。この場合、提供装置１００は、外部サーバを介して、ユーザが検索サイトに対して送信したクエリやユーザ情報等を取得するようにしてもよい。
【０１１４】
〔６．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１１５】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１１６】
例えば、図３に示した関連度情報記憶部１２１や、属性情報記憶部１２２や、レコメンド記憶部１２３は、提供装置１００が保持せずに、外部のストレージサーバ等に保持されてもよい。この場合、提供装置１００は、ストレージサーバにアクセスすることで、関連度情報や特徴情報等を取得する。
【０１１７】
また、例えば、上述してきた提供装置１００は、ユーザ端末１０からクエリを取得したり、提供情報をユーザに送信したりといった、外部装置とのやりとりを中心に実行するフロントエンドサーバ側と、同一属性クエリに基づいて提供情報を特定する処理等を実行するバックエンドサーバ側とに分散されてもよい。
【０１１８】
〔７．ハードウェア構成〕
また、上述してきた実施形態に係る提供装置１００やユーザ端末１０は、例えば図１０に示すような構成のコンピュータ１０００によって実現される。以下、提供装置１００を例として説明する。図１０は、提供装置１００の機能を実現するコンピュータ１０００の一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ（Read  Only  Memory）１３００、ＨＤＤ（Hard  Disk  Drive）１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、及びメディアインターフェイス（Ｉ／Ｆ）１７００を有する。
【０１１９】
ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０１２０】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス１５００は、通信網５００（図２に示すネットワークＮに対応する）を介して他の機器からデータを受信してＣＰＵ１１００へ送り、また、通信網５００を介してＣＰＵ１１００が生成したデータを他の機器へ送信する。
【０１２１】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、入出力インターフェイス１６００を介して生成したデータを出力装置へ出力する。
【０１２２】
メディアインターフェイス１７００は、記録媒体１８００に格納されたプログラム又はデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１２３】
例えば、コンピュータ１０００が提供装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、制御部１３０の機能を実現する。また、ＨＤＤ１４００には、記憶部１２０内の各データが格納される。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムを記録媒体１８００から読み取って実行するが、他の例として、他の装置から通信網５００を介してこれらのプログラムを取得してもよい。
【０１２４】
〔８．効果〕
上述してきたように、実施形態に係る提供装置１００は、第１抽出部１３４と、第２抽出部１３５と、提供部１３６とを有する。第１抽出部１３４は、任意のクエリ同士の関連度に基づいて、ユーザから入力された入力クエリに関連する複数の関連クエリを抽出する。第２抽出部１３５は、第１抽出部１３４によって抽出された関連クエリのうち、入力クエリと同一又は類似する属性を有するクエリである同一属性クエリを抽出する。提供部１３６は、第２抽出部１３５によって抽出された同一属性クエリに基づいて、ユーザに対する情報提供を行う。
【０１２５】
このように、実施形態に係る提供装置１００は、ユーザから任意のクエリが入力された場合に、そのクエリと同一又は類似するクエリを抽出し、抽出したクエリに基づいて、ユーザに対して情報提供を行う。これにより、提供装置１００は、ユーザからどのようなクエリが入力された場合であっても、ユーザの意図やユーザの興味関心が適切に反映された情報を提供することができる。このように、提供装置１００は、任意のキーワードに基づいた提案を行うことができる。
【０１２６】
また、第２抽出部１３５は、任意のクエリの属性が予め定義付けられた辞書データに基づいて、同一属性クエリを抽出する。
【０１２７】
このように、実施形態に係る提供装置１００は、予め属性の定義が保持された辞書データに基づいて属性を判定することで、精度の高い抽出処理を行うことができる。
【０１２８】
また、第２抽出部１３５は、第１抽出部１３４によって抽出された関連クエリのうち、入力クエリに関連付けられているキーワードと同一又は類似のキーワードが関連付けられている関連クエリを、当該入力クエリの同一属性クエリとして抽出する。
【０１２９】
このように、実施形態に係る提供装置１００は、関連するキーワードの共通性に基づいて、入力クエリと同一の属性を有するか否かを判定し、同一属性クエリを抽出してもよい。これにより、提供装置１００は、辞書データのような定義データを保持していなくても、精度よく同一属性クエリを抽出することができる。
【０１３０】
また、第２抽出部１３５は、第１抽出部１３４によって抽出された関連クエリのうち、所定の検索エンジンにおいて入力クエリの検索サジェストとして用いられるキーワードと同一又は類似のキーワードが検索サジェストとして用いられる関連クエリを、当該入力クエリの同一属性クエリとして抽出する。
【０１３１】
このように、実施形態に係る提供装置１００は、ユーザの検索行動の集計結果を示す検索サジェストを利用して属性を判定することにより、精度よく同一属性クエリを抽出することができる。
【０１３２】
また、第２抽出部１３５は、第１抽出部１３４によって抽出された各々の関連クエリによる検索結果から到達する各々のコンテンツと、入力クエリによる検索結果から到達するコンテンツとの類似度に基づいて、当該入力クエリの同一属性クエリを抽出する。
【０１３３】
このように、実施形態に係る提供装置１００は、検索結果の到達先となるコンテンツの類似度に基づいて属性を判定してもよい。似た属性を有するクエリは、似た到達先を検索結果として有する場合が多いため、提供装置１００は、かかる手法により、精度よく同一属性クエリを抽出することができる。
【０１３４】
また、第２抽出部１３５は、第１抽出部１３４によって抽出された各々の関連クエリによる検索結果から到達するページのドメインと、入力クエリによる検索結果から到達するページのドメインとの類似度に基づいて、当該入力クエリの同一属性クエリを抽出する。
【０１３５】
このように、実施形態に係る提供装置１００は、ページのドメインの類似度に基づいて属性を判定してもよい。これにより、提供装置１００は、より詳細に到達先の類似度を比較し判定することができるため、より高い精度で同一属性クエリを抽出することができる。
【０１３６】
また、第２抽出部１３５は、入力クエリと同一又は類似する属性を有するクエリとの関係性を学習した学習モデルを用いて、第１抽出部１３４によって抽出された関連クエリのうち、入力クエリの同一属性クエリを抽出する。
【０１３７】
このように、実施形態に係る提供装置１００は、学習モデルを用いて属性を判定することにより、例えば、検索結果や共起ワード等によって判定を行うことが難しいクエリ同士についても、精度よく属性の判定を行うことができる。
【０１３８】
また、第１抽出部１３４は、ユーザから複数の入力クエリが入力された場合には、各々の入力クエリに関連する複数の関連クエリを抽出するとともに、当該複数の入力クエリの各々と複数の関連クエリとの関連度の合算を算出し、算出した値に基づいて所定数の関連クエリを抽出する。第２抽出部１３５は、第１抽出部１３４によって抽出された所定数の関連クエリの中から、複数の入力クエリの少なくとも一つの入力クエリと同一又は類似する属性を有する同一属性クエリを抽出する。
【０１３９】
このように、実施形態に係る提供装置１００は、複数の入力クエリが受付られた場合、それぞれの入力クエリの関連度の合算に基づいて関連クエリを抽出したり、同一属性クエリを抽出したりしてもよい。これにより、提供装置１００は、例えば、複数の入力クエリのいずれとも関係を有する広告やレコメンド等を提供することができるため、よりユーザの興味関心に即した情報を提供することができる。
【０１４０】
また、第２抽出部１３５は、第１抽出部１３４によって抽出された所定数の関連クエリの中から、ユーザから最初に入力された入力クエリの同一属性クエリを抽出する。
【０１４１】
このように、実施形態に係る提供装置１００は、最もユーザの興味関心を反映すると推定されるクエリである最初に入力された入力クエリに基づいて同一属性クエリを抽出することで、ユーザの興味関心に即した情報を提供することができる。
【０１４２】
また、提供部１３６は、第２抽出部１３５によって抽出された同一属性クエリに関連するレコメンド又は広告をユーザに提供する。
【０１４３】
このように、実施形態に係る提供装置１００は、情報提供として、広告やレコメンドをユーザに提供する。すなわち、提供装置１００は、クエリの意味等によらず、ユーザが入力したクエリと同一又は類似する属性を有するクエリに対応する広告やレコメンドを提供できるので、提供する情報の訴求効果を高めることができる。
【０１４４】
また、実施形態に係る提供装置１００は、任意のクエリのうち、互いに異なる二つのクエリのいずれかを入力したユーザの数と、当該二つのクエリを両方とも入力したユーザの数と、に少なくとも基づいて、任意のクエリ同士の関連度を算出する算出部１３２をさらに備える。第１抽出部１３４は、算出部１３２によって算出された関連度に基づいて、入力クエリと関連する複数の関連クエリを抽出する。
【０１４５】
このように、実施形態に係る提供装置１００は、ユーザの検索行動ログに基づいて関連度を算出するため、クエリそのものの意味やカテゴリ等によらず、実際のユーザの興味関心に基づいて関連度を算出することができる。これにより、提供装置１００は、似たような行動をとるユーザが検索したクエリ同士の関連度を高く算出するなど、ユーザの行動が的確に反映された関連度の算出を行うことができる。
【０１４６】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１４７】
また、上述した提供装置１００は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をＡＰＩ（Application  Programming  Interface）やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
【０１４８】
また、特許請求の範囲に記載した「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【０１４９】
１  提供システム
１０  ユーザ端末
１００  提供装置
１１０  通信部
１２０  記憶部
１２１  関連度情報記憶部
１２２  属性情報記憶部
１２３  レコメンド記憶部
１３０  制御部
１３１  取得部
１３２  算出部
１３３  受付部
１３４  第１抽出部
１３５  第２抽出部
１３６  提供部
【図１】
2019053520.tif 000004
【図２】
2019053520.tif 000005
【図３】
2019053520.tif 000006
【図４】
2019053520.tif 000007
【図５】
2019053520.tif 000008
【図６】
2019053520.tif 000009
【図７】
2019053520.tif 000010
【図８】
2019053520.tif 000011
【図９】
2019053520.tif 000012
【図１０】
2019053520.tif 000013