(57)【要約】【課題】利用者と所定の検索クエリが示す対象との関係性をより適切に分析すること。【解決手段】本願に係る判定装置は、取得部と、判定部とを有する。取得部は、基準クエリを入力した複数の入力利用者により入力された検索クエリであって、所定の期間内に入力された検索クエリを取得する。判定部は、検索クエリを入力した入力利用者の属性、若しくは、この検索クエリが所定の条件を満たすか否かに基づいて、所定の期間が適切であるか否かを判定する。【選択図】図５
2022002120.tif 000002
【特許請求の範囲】
【請求項１】
基準クエリを入力した複数の入力利用者により入力された検索クエリであって、所定の期間内に入力された検索クエリを取得する取得部と、
前記検索クエリを入力した入力利用者の属性、若しくは、当該検索クエリが所定の条件を満たすか否かに基づいて、前記所定の期間が適切であるか否かを判定する判定部と
を有することを特徴とする判定装置。
【請求項２】
前記判定部は、前記所定の期間の長さが適切であるか否かを判定する
ことを特徴とする請求項１に記載の判定装置。
【請求項３】
前記入力利用者の属性に応じて、前記所定の期間内に検索クエリを入力した入力利用者を複数のカテゴリに分類する第１分類部
を有し、
前記判定部は、前記第１分類部による分類結果が所定の条件を満たすか否かに基づいて、前記所定の期間が適切であるか否かを判定する
ことを特徴とする請求項１または２に記載の判定装置。
【請求項４】
前記判定部は、前記入力利用者が分類されたカテゴリの数が所定の閾値以下となる場合は、前記所定の期間が適切であると判定する
ことを特徴とする請求項３に記載の判定装置。
【請求項５】
前記判定部は、前記第１分類部により各カテゴリに分類された利用者の割合が所定の条件を満たす場合は、前記所定の期間が適切であると判定する
ことを特徴とする請求項３または４に記載の判定装置。
【請求項６】
前記所定の期間内に入力された検索クエリを複数のカテゴリに分類する第２分類部
を有し、
前記判定部は、前記第２分類部による分類結果が所定の条件を満たすか否かに基づいて、前記所定の期間が適切であるか否かを判定する
ことを特徴とする請求項１〜５のうちいずれか１つに記載の判定装置。
【請求項７】
前記判定部は、前記検索クエリが分類されたカテゴリの数が所定の条件を満たすか否かを判定する
ことを特徴とする請求項６に記載の判定装置。
【請求項８】
前記判定部は、前記検索クエリのうち所定の割合以上の検索クエリが分類されたカテゴリの数が所定の閾値以下となるか否かを判定する
ことを特徴とする請求項７に記載の判定装置。
【請求項９】
前記判定部は、前記検索クエリのうち所定の割合以上の検索クエリが分類されたカテゴリを特定し、特定したカテゴリに分類された検索クエリを入力した利用者の数が所定の閾値以上となるか否かを判定する
ことを特徴とする請求項８に記載の判定装置。
【請求項１０】
前記取得部は、前記基準クエリが入力された基準日時を基準としたそれぞれ異なる複数の期間内において前記入力利用者により入力された検索クエリを取得し、
前記判定部は、前記期間ごとに、当該期間が適切であるか否かを判定する
ことを特徴とする請求項１〜９のうちいずれか１つに記載の判定装置。
【請求項１１】
前記検索クエリのうち、第１の検索クエリが入力される前に入力された、当該第１の検索クエリに関連する第２の検索クエリを、当該第１の検索クエリに基づくターゲティングに使用されるキーワードとして特定する特定部
を有することを特徴とする請求項１〜１０のうちいずれか１つに記載の判定装置。
【請求項１２】
判定装置が実行する判定方法であって、
基準クエリを入力した複数の入力利用者により入力された検索クエリであって、所定の期間内に入力された検索クエリを取得する取得工程と、
前記検索クエリを入力した入力利用者の属性、若しくは、当該検索クエリが所定の条件を満たすか否かに基づいて、前記所定の期間が適切であるか否かを判定する判定工程と
を含むことを特徴とする判定方法。
【請求項１３】
基準クエリを入力した複数の入力利用者により入力された検索クエリであって、所定の期間内に入力された検索クエリを取得する取得手順と、
前記検索クエリを入力した入力利用者の属性、若しくは、当該検索クエリが所定の条件を満たすか否かに基づいて、前記所定の期間が適切であるか否かを判定する判定手順と
をコンピュータに実行させるための判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、判定装置、判定方法及び判定プログラムに関する。
【背景技術】
【０００２】
インターネットの普及により、様々な情報分析技術が提案されている。例えば、様々なクエリログ分析技術が提案されている。クエリログ分析技術は、検索連動型広告に適用され得る。一例として、広告の検索キーワードの候補を提示するために、利用者によって入力された検索クエリを分析することが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−６７５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した技術では、利用者によって入力された検索クエリが適切に分析されている、といえない場合がある。
【０００５】
例えば、上述した技術では、検索クエリが、検索クエリが入力される頻度に従って分析されているに過ぎない。したがって、上述した技術では、どのように利用者が各種イベントや企業等の、各種対象に関連するようになったのか、を適切に知ることができない場合がある。
【０００６】
本願は、上記に鑑みてなされたものであって、利用者と所定の検索クエリが示す対象との関係性をより適切に分析することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の実施形態に係る判定装置は、基準クエリを入力した複数の入力利用者により入力された検索クエリであって、所定の期間内に入力された検索クエリを取得する取得部と、前記検索クエリを入力した入力利用者の属性、若しくは、当該検索クエリが所定の条件を満たすか否かに基づいて、前記所定の期間が適切であるか否かを判定する判定部とを有する。
【発明の効果】
【０００８】
実施形態の一態様によれば、利用者と所定の検索クエリが示す対象との関係性をより適切に分析することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本開示の例示的な実施形態に係る、検索クエリの時系列データを提供する時系列データ提供処理の一例を示す説明図である。
【図２】図２は、本開示の例示的な実施形態に係る、時系列検索クエリのグループ化を評価するグループ化評価処理の一例を示す説明図である。
【図３】図３は、本開示の例示的な実施形態に係る、検索クエリ時系列の時間間隔を修正する時間間隔修正処理の一例を示す説明図である。
【図４】図４は、本開示の例示的な実施形態に係る、検索クエリの時系列データに基づいて利用者の検索クエリを予測する検索クエリ予測処理の一例を示す説明図である。
【図５】図５は、実施形態に係る情報提供システムの一例を示す図である。
【図６】図６は、実施形態に係る検索クエリデータベースの一例を示す図である。
【図７】図７は、実施形態に係る第１判定処理部の構成の一例を示す図である。
【図８】図８は、実施形態に係る第２判定処理部の構成の一例を示す図である。
【図９】図９は、実施形態に係る学習処理部の構成の一例を示す図である。
【図１０】図１０は、実施形態に係る情報提供装置によって実行される、利用者を分類するためのキーワードまたは検索クエリの分類が適切かを判定するための処理の一例を示すフローチャートである。
【図１１】図１１は、実施形態に係る情報提供装置によって実行される、検索クエリの時系列中の期間が適切であるかを判定するための処理の一例を示すフローチャートである。
【図１２】図１２は、実施形態に係る情報提供装置によって実行される、利用者によって入力される検索クエリのカテゴリの遷移を予測するためのモデルを学習するための処理の一例を示すフローチャートである。
【図１３】図１３は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本開示の実施形態について、図面を参照しつつ詳細に説明する。なお、この実施形態により本発明が限定されるものではない。１つまたは複数の実施形態の詳細は、以下の説明および図面に記載される。また、複数の実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の１つまたは複数の実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【００１１】
〔１．例示的な実施形態〕
まず、図１、図２、図３および図４を参照して、本開示の例示的な実施形態について詳細に説明する。例示的な実施形態に係る情報提供装置は、時系列の検索クエリから、特定のニーズを持つユーザを発見するために、以下に説明される情報提供処理を実行する。以下では、図１、図２、図３および図４を参照して、例示的な実施形態に係る情報提供処理について説明する。
【００１２】
〔１−１．時系列データ提供処理〕
図１は、本開示の例示的な実施形態に係る、検索クエリの時系列データを提供する時系列データ提供処理の一例を示す説明図である。例示的な実施形態では、情報提供処理が、図１に示された情報提供装置１００によって行われる。情報提供装置１００は、判定装置の一例である。図１に示されていないが、インターネット等のネットワーク（例えば、図５を参照して後述するネットワークＮ）が、図１に示された情報提供装置１００、ユーザ装置５００１〜５００ｎ（ｎは任意の自然数）、ログサーバ６００および操作者装置７００を接続する。
【００１３】
図１の例では、情報提供装置１００は、サーバとして示されている。この例では、情報提供装置１００は、操作者（Operator）ＯＰが検索クエリの履歴からユーザ（「利用者」とも呼ばれる）のニーズを特定できるように、検索クエリの履歴のリストを、操作者装置７００に提供する。検索クエリの履歴のリストは、例えば、ターゲットユーザ（「対象利用者」とも呼ばれる）によって各期間に入力された検索クエリを含む。ターゲットユーザは、ある日時に所定の検索クエリを入力したユーザである。本明細書では、ある日時に入力された所定の検索クエリは、「基準クエリ」と呼ばれる場合がある。
【００１４】
図１の例では、ユーザ装置５００１〜５００ｎは、スマートフォンとして示されている。例えば、ユーザ装置５００１は、ユーザＵ１によって利用され、ユーザ５００２は、ユーザＵ１によって利用される。本明細書では、ユーザ装置５００１〜５００ｎを区別する必要がない場合は、ユーザ装置５００１〜５００ｎを「ユーザ装置５００」と総称する。この例では、ユーザＵ１やユーザＵ２は、検索サービスを利用する者である。ユーザ装置５００は、各種情報についての検索を、ログサーバ６００に要求する。例えば、ユーザ装置５００は、検索クエリを含む検索要求を、ログサーバ６００に送信する。
【００１５】
図１の例では、ログサーバ６００は、サーバとして示されている。この例では、ログサーバ６００は、ポータルアプリ、ポータルサイト等の検索サービスを、ユーザに提供する。ログサーバ６００は、ユーザ装置５００からの検索要求に応じて、各種情報についての検索結果を、ユーザ装置５００に提供する。ログサーバ６００は、検索要求に含まれる検索クエリを、検索ログとして蓄積することができる。ログサーバ６００は、情報提供装置１００に、検索ログを提供することができる。
【００１６】
図１の例では、操作者装置７００は、ノート型ＰＣ（Personal  Computer）として示されている。操作者装置７００は、操作者ＯＰによって利用される。操作者ＯＰは、例えば、特定のインターネット企業の人物である。この例では、操作者ＯＰは、検索クエリの履歴からユーザのニーズを特定するために、所定の検索クエリである上述の「基準クエリ」を、情報提供装置１００に提供する。例えば、ターゲットユーザがある日時に検索クエリ「新生児」を入力したユーザである場合に、操作者装置７００は、検索クエリ「新生児」を、情報提供装置１００に、基準クエリとして提供する。このことは、操作者ＯＰがある日時に検索クエリ「新生児」を入力したユーザの検索クエリの履歴から、このようなユーザのニーズを特定したいことを意味し得る。例えば、操作者ＯＰが、基準日時（例えば、２０２０／０３／１９）に検索クエリ「新生児」を入力したユーザが基準日時の前後（例えば、３０〜６０日後）にどのような検索クエリを入力したのかを知りたいこと、が考えられる。
【００１７】
図１に示されるように、はじめに、ユーザ装置５００は、ログサーバ６００に、検索クエリを送信する（ステップＳ１）。
【００１８】
次いで、ログサーバ６００は、ユーザ装置５００に、検索結果を提供する（ステップＳ２）。
【００１９】
次いで、情報提供装置１００は、ログサーバ６００から、検索ログを取得する（ステップＳ３）。例えば、情報提供装置１００は、ログサーバ６００から、検索クエリの履歴を収集する。
【００２０】
次いで、情報提供装置１００は、操作者装置７００から、基準クエリを取得する（ステップＳ４）。上述のように、基準クエリは、ある日時に入力された所定の検索クエリである。図１の例では、基準クエリは、ある日時（例えば、ある基準日時）に入力されたクエリ「新生児」である。
【００２１】
次いで、情報提供装置１００は、取得された基準クエリを入力した入力利用者を特定する（ステップＳ５）。例えば、情報提供装置１００は、取得された検索ログから、基準クエリを入力した入力利用者を特定する。図１の例では、情報提供装置１００は、ある日時に検索クエリ「新生児」を入力したユーザを、入力利用者として特定する。本明細書では、入力利用者は、「入力ユーザ」や「インプットユーザ」と呼ばれる場合がある。
【００２２】
次いで、情報提供装置１００は、基準日時を基準とした各期間において利用者が入力した検索クエリを特定する（ステップＳ６）。基準日時を基準とした各期間は、基準日時の前後の期間である。一例として、期間の間隔は、１カ月であってもよい。例えば、基準日時が「２０２０／０３／１９」である場合に、基準日時の前後の期間は、「２０２０／０３／１９〜２０２０／０４／１９」、「２０２０／０４／１９〜２０２０／０５／１９」等の、基準日時より後の期間や、「２０２０／０２／１９〜２０２０／０３／１９」、「２０２０／０１／１９〜２０２０／０２／１９」等の、基準日時より前の期間である。本明細書では、基準日時より後の期間および基準日時より前の期間は、それぞれ「正の期間」および「負の期間」と呼ばれる場合がある。このように、情報提供装置１００は、取得された検索ログから、基準日時を基準とした期間ごとに、基準クエリを入力したユーザの検索クエリを抽出する。
【００２３】
次いで、情報提供装置１００は、期間ごとに、基準クエリと関連性が高い検索クエリのリストを生成する（ステップＳ７）。基準クエリと他の検索クエリとの間の関連性は、検索クエリ間の関連度に基づいて決定され得る。例えば、検索クエリ間の関連度は、同一のユーザがどのくらいこれらの検索クエリを同時に入力するのかを示すことを示し得る。例えば、多くのユーザが検索クエリ「新生児」および検索クエリ「七五三」を同時に入力する場合に、検索クエリ「新生児」と検索クエリ「七五三」との関連度は、高い可能性がある。図１の例では、情報提供装置１００は、例えば、基準日時の１カ月前における基準クエリ「新生児」と関連性が高い検索クエリとして、「入院」「お参り」、「体重」等の検索クエリを、取得された検索ログから特定する。そして、情報提供装置１００は、特定された検索クエリを含むリストを生成する。
【００２４】
いくつかの実装形態では、情報提供装置１００は、単語埋め込み（Word  Embedding）を使用して、検索クエリ間の関連性を決定してもよい。情報提供装置１００が、単語列を含む訓練データを使用して言語モデルを訓練することによって、埋め込みベクトルを獲得してもよい。例えば、検索ログに含まれる検索クエリに対応するキーワードが、単語列を含む訓練データとして使用されてもよい。検索クエリ間の関連性は、検索クエリに対応する埋め込みベクトル間のコサイン類似度であってもよい。
【００２５】
その後、情報提供装置１００は、生成されたリストを、操作者装置７００に提供する（ステップＳ８）。図１の例では、生成されたリストは、期間ごとに、基準クエリ「新生児」と関連性が高い検索クエリを示す。図１に示されるように、各期間は、基準日時の前後の期間である。例えば、期間「−１〜０月」は、基準日時から１カ月前の期間である。また、例えば、期間「０〜１月」は、基準日時から１カ月後の期間である。生成されたリストは、基準日時に基準クエリを入力したユーザによって入力された、基準日時の前後の期間における基準クエリと関連性が高い検索クエリを示す。図１の例では、例えば、基準日時（例えば、「２０２０／０３／１９」）に基準クエリ「新生児」を入力したユーザによって入力された、期間「−１〜０月」（例えば、期間「２０２０／０２／１９〜２０２０／０３／１９」）における基準クエリ「新生児」と関連性が高い検索クエリは、「入院」「お参り」、「体重」等の検索クエリである。
【００２６】
なお、リストの縦方向の順序が、基準クエリと他の検索クエリとの間の関連性の強さを示してもよい。例えば、基準クエリ「新生児」と検索クエリ「入院」との関連度は、基準クエリ「新生児」と検索クエリ「お参り」との関連度よりも高くてもよい。情報提供装置１００は、各期間において入力された他の検索クエリが関連度順に並んだ表を生成し、生成された表を、リストとして操作者装置７００に提供してもよい。
【００２７】
〔１−２．グループ化評価処理〕
検索クエリのリストが単純に基準クエリと他の検索クエリとの間の関連性に基づいて生成された場合に、基準クエリのコンテキスト（「文脈」とも呼ばれる）が、分散する可能性がある。「基準クエリのコンテキスト」という用語は、基準クエリの入力のコンテキスト、基準クエリの入力の背景、基準クエリを入力したユーザが置かれた状況、基準クエリの入力したユーザの行動パターン、興味または関心等を表す。
【００２８】
例えば、基準クエリが企業Ｃ１（例示の企業名）である場合に、この基準クエリを入力したユーザは、例えば、企業Ｃ１の社長が好きなユーザ、企業Ｃ１のマスコットが好きなユーザ、企業Ｃ１の携帯電話の機種を変更したいユーザ、企業Ｃ１によって運営されるアミューズメントパークに行きたいユーザ、企業Ｃ１によって提供される漫画の閲覧サービスを利用するユーザ等を含む。この場合、基準クエリのコンテキストは、ユーザによって異なる。したがって、生成されたリストに含まれる検索クエリが、ばらばらになる場合がある。例えば、生成されたリストは、「社長Ｐ１（例示の人名）」、「あの犬（例示のマスコット名）」、「スマートフォンＳＰ１（例示のスマートフォン名）」、「夢と魔法の国（例示の施設名）」、「あの海賊（例示の漫画名）」等の検索クエリを含むかもしれない。基準クエリのコンテキストが分散する場合に、生成されたリストから有益な情報（例えば、ユーザの典型的なニーズ）を抽出することは、操作者ＯＰにとって難しい場合がある。加えて、操作者ＯＰが、生成されたリストに含まれる検索クエリの時系列から、ユーザのニーズの遷移を適切に把握することができないかもしれない。
【００２９】
そこで、情報提供装置１００は、操作者ＯＰが検索クエリのリストを適切に評価することを可能にするために、ターゲットユーザによって各期間に入力された検索クエリをグループ化する。情報提供装置１００は、各期間に入力された検索クエリは、基準クエリのコンテキストに基づいてグループ化され得る。例えば、情報提供装置１００は、基準クエリを入力したユーザの検索ログを、時系列（例えば、基準日時の前後の期間）ごとに取得する。そして、情報提供装置１００は、時系列ごとに、検索クエリをグループ化する。例えば、グループ数や、グループに関連する検索クエリを入力したユーザの数が閾値を満たす場合に、情報提供装置１００は、このグループに関連する検索クエリを、リストに含まれる検索クエリとして抽出する。その結果、リストに含まれるグループ化された検索クエリは、統一性を持つことができ、それによって、操作者ＯＰが検索クエリのリストを適切に評価することを可能にする。
【００３０】
図２は、本開示の例示的な実施形態に係る、時系列検索クエリのグループ化を評価するグループ化評価処理の一例を示す説明図である。
【００３１】
図２に示されるように、はじめに、情報提供装置１００は、基準クエリと、指定カテゴリとを、操作者装置７００から取得する（ステップＳ１１）。上述のように、基準クエリは、ある日時に入力された所定の検索クエリ（例えば、検索クエリ「企業Ｃ１」）である。一方、指定カテゴリは、時系列の検索クエリをグループ化するためのカテゴリである。情報提供装置１００は、指定カテゴリに従って、時系列（例えば、基準日時の前後の期間）ごとに、検索クエリをグループ化する。指定カテゴリは、例えば、操作者ＯＰによって予め指定される。指定カテゴリは、例えば、社長、マスコット、機種変更、アミューズメントパーク、漫画等のカテゴリである。このように、情報提供装置１００は、操作者ＯＰから指定カテゴリを受け付ける。
【００３２】
次いで、情報提供装置１００は、入力利用者を特定し、各入力利用者が入力した検索クエリを特定する（ステップＳ１２）。上述のように、入力利用者は、基準日時に基準クエリを入力したユーザである。情報提供装置１００は、検索ログから、入力利用者を特定することができる。また、情報提供装置１００は、検索ログから、入力利用者が基準日時の前後の期間に入力した検索クエリを特定することができる。図２の例では、入力利用者ＩＵ１によって入力された検索クエリは、検索クエリ＃１−１および検索クエリ＃１−２を含む。同様に、入力利用者ＩＵ２によって入力された検索クエリは、検索クエリ＃２−１および検索クエリ＃２−２を含み、入力利用者ＩＵ３によって入力された検索クエリは、検索クエリ＃３−１および検索クエリ＃３−２を含む。例えば、検索クエリ＃１−１は、社長Ｐ１であってもよい。また、例えば、検索クエリ＃１−２は、あの犬（例示のマスコット名）であってもよい。
【００３３】
次いで、情報提供装置１００は、各期間に入力された検索クエリを特定する（ステップＳ１３）。上述のように、各期間は、基準日時の前後の期間である。図２の例では、基準日時の前後の期間は、第１期間（正の期間）、第１期間（負の期間）、第２期間（負の期間）等を含む。例えば、第１期間（正の期間）は、基準日時から１カ月後の期間である、上述の期間「０〜１月」であってもよい。また、例えば、第１期間（負の期間）は、基準日時から１カ月前の期間である、上述の期間「−１〜０月」であってもよい。また、例えば、第２期間（負の期間）は、基準日時から２カ月前の期間である、上述の期間「−２〜−１月」であってもよい。
【００３４】
次いで、情報提供装置１００は、各期間おける指定カテゴリごとのクエリ数若しくは利用者数の要素群を特定する（ステップＳ１４）。「要素群」という用語は、グループ化された検索クエリに対応する値の配列を包含し得る。例えば、時系列検索クエリの要素群は、特定の時系列における（例えば、各期間）グループ化された検索クエリ（すなわち、特定の指定カテゴリに属する検索クエリ）の数の配列であってもよい。あるいは、時系列検索クエリの要素群は、特定の時系列における各指定カテゴリに属する検索クエリを入力したユーザの数の配列であってもよい。言い換えると、要素群は、検索クエリをカテゴリで分解することによって生成された指標の値の配列であり得る。「要素群」という用語は、例として、データ要素の配列、データ要素の分布等の、データ要素群を包含する。このデータ要素は、例えば、特定のカテゴリに属する検索クエリの数または特定のカテゴリに属する検索クエリを入力したユーザの数を含み得る。
【００３５】
上述の要素群の表示態様に関しては、棒グラフを使用して指標の値の配列（例えば、特定の時系列におけるグループ化された検索クエリの数の配列）を提示することが可能である。例えば、棒グラフの高さは、ある期間おける指定カテゴリごとのクエリ数またはユーザ数を表す。指定カテゴリ＃１を示す棒グラフの高さが、２５０であり、指定カテゴリ＃２を示す棒グラフの高さが、２００であり、指定カテゴリ＃３を示す棒グラフの高さが、１５０であってもよい。
【００３６】
図２の例では、例えば、情報提供装置１００は、第２期間（負の期間）における指定カテゴリごとの検索クエリ数またはユーザ数の要素群を特定する。例えば、第２期間に入力され、かつ指定カテゴリ＃１に属する検索クエリの数は、「２５０」である。あるいは、第２期間に入力され、かつ指定カテゴリ＃１に属する検索クエリを入力したユーザの数が、「２５０」であってもよい。指定カテゴリ＃１は、カテゴリ「社長」であってもよいし、指定カテゴリ２１は、カテゴリ「マスコット」であってもよい。この場合、検索クエリ「社長Ｐ１（例示の人名）」は、カテゴリ「社長」に属する。一方、検索クエリ「あの犬（例示のマスコット名）」は、カテゴリ「マスコット」に属する。このように、情報提供装置１００は、各指定カテゴリに分類された検索クエリの数や、検索クエリを入力した利用者の数をカウントすることによって、検索クエリの要素群を特定することができる。
【００３７】
なお、この例示的な実施形態では、情報提供装置１００は、各期間おける指定カテゴリごとのクエリ数もしくは利用者数の要素群を特定しているが、これに限定されるものではない。情報提供装置１００は、期間ごとに、検索クエリを複数のカテゴリに分類してもよい。複数のカテゴリは、指定カテゴリを含んでもよい。すなわち、情報提供装置１００は、指定カテゴリ以外のカテゴリに従って、時系列ごとに、検索クエリをグループ化してもよい。カテゴリが予め固定されていない場合に（例えば、情報提供装置１００が指定カテゴリを取得してない場合に）、情報提供装置１００は、基準クエリおよび検索ログに基づいて、検索ログ内の検索クエリを、複数のカテゴリ（例えば、指定カテゴリ以外のカテゴリ）に分類してもよい。基準クエリが予め固定されている場合に、情報提供装置１００は、この基準クエリに対する適切なカテゴリを探索することができる。言い換えると、情報提供装置１００は、予め指定されたカテゴリに基づいて、基準クエリが適切あるかを判定してもよいし、予め指定された基準クエリに基づいて、この基準クエリに対する適切なカテゴリを探索してもよい。
【００３８】
次いで、情報提供装置１００は、要素群が所定の条件を満たすか否かを判定し、判定結果から、基準クエリ若しくは指定カテゴリを評価する（ステップＳ１５）。所定の条件は、例えば、「検索クエリのグループの数が特定の値（例えば、自然数ｎ）に収束する」という条件である。このグループは、例えば、指定カテゴリや、指定カテゴリ以外のカテゴリを含む複数のカテゴリである。例えば、ｎ個の指定カテゴリに属する検索クエリが各期間における全クエリ（すなわち、各期間における全体の検索ログ）に占める割合が閾値（例えば、８割）を満たす場合に（例えば、ｎは「３」）、情報提供装置１００は、これらのｎ個の指定カテゴリを、検索クエリのリストのためのグループとして使用することができる。簡単のため、図２の例では、このグループは、指定カテゴリ以外のカテゴリを含まないと仮定する。例えば、指定カテゴリの数が「３」であり、これらの３つの指定カテゴリが８割の検索クエリまたは利用者を含む場合に、情報提供装置１００は、これらの３つの指定カテゴリが所定の条件を満たすと判定する。
【００３９】
グループの数に関しては、グループの数が多い場合は、情報提供装置１００は、元の基準クエリが適切なクエリでないと判定することができる。ある期間におけるグループの数が他の期間におけるグループの数と同じである場合に、情報提供装置１００は、元の基準クエリが適切なクエリであると判定することができる。情報提供装置１００は、クエリ数もしくはユーザ数の要素群が適切に表現されているかに基づいて、検索クエリのリストが適切であるかを判定することができる。カテゴリが予め固定されている場合に（例えば、カテゴリが指定カテゴリである場合に）、情報提供装置１００は、カテゴリおよび検索ログに基づいて、クエリ数もしくはユーザ数の要素群を評価することができ、それによって、適切な基準クエリを特定することができる。
【００４０】
図２の例では、所定の条件は、例えば、「いずれかの期間において指定カテゴリに含まれるクエリもしくは利用者が３割以下」という条件である。要素群がこの条件を満たす場合に、情報提供装置１００は、指定カテゴリが負適切または基準クエリが負適切であると判定する。加えてまたはあるいは、所定の条件は、例えば、「各期間において指定カテゴリに含まれる検索クエリもしくは利用者の割合の変動が閾値を超える」という条件であってもよい。要素群がこの条件を満たす場合に、情報提供装置１００は、指定カテゴリが負適切または基準クエリが負適切であると判定する。このように、情報提供装置１００は、検索クエリの要素群が所定の条件を満たすかを判定することによって、基準クエリや指定カテゴリを評価することができる。要素群が収束している場合に、情報提供装置１００は、検索クエリのリストが適切であると判定することができる。
【００４１】
上述のように、判定結果は、基準クエリが適切であるかの判定に使用される。例えば、基準クエリが各期間で所定の条件を満たす場合に、情報提供装置１００は、基準クエリが適切であると判定する。基準クエリが大多数の期間で条件を満たす場合に、情報提供装置１００は、基準クエリが適切であると判定してもよい。基準クエリが各期間で所定の条件を満たさない場合に、基準クエリが、操作者ＯＰが所望の対象を適切に表現していない可能性が高い。
【００４２】
その後、情報提供装置１００は、操作者装置７００に、評価結果を提供する（ステップＳ１６）。例えば、情報提供装置１００は、判定結果に応じた情報を、操作者ＯＰに提供する。情報提供装置１００は、判定結果に基づいて、カテゴリ（例えば、指定カテゴリ、指定カテゴリ以外のカテゴリ）を自動的に最適化してもよい。情報提供装置１００は、指定カテゴリが負適切または基準クエリが負適切であることを示すメッセージを、操作者装置７００に表示してもよい。あるいは、情報提供装置１００は、ユーザの検索行動が時系列検索クエリをカテゴリの要素群に分解することによって適切に表現されていることを示すメッセージを、操作者装置７００に表示してもよい。情報提供装置１００は、要素群に関する条件を満たすリストを、操作者装置７００に提供することができる。ある期間における配列の数（例えば、「３」）は、他の期間における配列の数と同じであってもよい。この場合、操作者ＯＰは、指定カテゴリの遷移態様を、リストから読み取ることができる。各期間におけるこのような指定カテゴリは、敷衍され、時系列の検索行動の分析に適用され得る。
【００４３】
上述のように、情報提供装置１００は、各期間における検索クエリの内容がばらばらにならないように、各期間における検索クエリをグループ化することができる。このため、情報提供装置１００は、社長、マスコット、機種変更等の特定のニーズの分析に利用可能な、有用な検索クエリのリストを、操作者ＯＰに提供することができる。
【００４４】
なお、上述の指定カテゴリまたは指定カテゴリ以外のカテゴリは、これらのカテゴリよりも上位のカテゴリに属する場合がある。この上位のカテゴリは、図４を参照して後述する遷移カテゴリである。遷移カテゴリは、基準クエリによって示される対象に至る経路を示す。例えば、カテゴリ「マスコット」、カテゴリ「漫画」、カテゴリ「アミューズメントパーク」の順番で、これらのカテゴリにそれぞれ対応する検索クエリを入力した場合に、このユーザのカテゴリの遷移態様は、遷移カテゴリ「マスコットから漫画を介してアミューズメントパークに至る経路」に分類され得る。遷移カテゴリは、図４を参照して以下で詳述される。指定カテゴリは、遷移カテゴリに対応する下位カテゴリである。この例示的な実施形態では、情報提供装置１００は、指定カテゴリが適切であるかを判定することができる。このため、情報提供装置１００は、操作者ＯＰがユーザの検索行動を適切に捉えることを可能にする。
【００４５】
〔１−３．時間間隔修正処理〕
操作者ＯＰは、上述の基準日時を基準とした各期間の長さがどのように設定されればよいかがわからない場合がある。上述のように、基準日時を基準とした各期間は、基準日時の前後の期間である。例えば、検索行動を把握するための適切な期間の長さは、１カ月であるかもしれない。あるいは、この適切な期間の長さは、１週間であるかもしれない。操作者ＯＰは、検索クエリのリストから有用な情報（例えば、検索行動間の関連性）を抽出するために、各期間を、検索行動を分析するのに適切な期間に設定したいと思う場合がある。各期間の長さが適切でない場合に（例えば、各期間の長さが１年である場合に）、操作者ＯＰは、ユーザのカテゴリの遷移態様を、適切に捉えることができないかもしれない。期間の長さが変化した場合に、基準クエリと検索クエリとの関連度のランキングも、変化する。例えば、各期間の長さが短すぎる場合に、検索クエリのリストは、多くのバズワード（すなわち、特定の期間に話題になったワード）を含むかもしれない。この場合、操作者ＯＰは、検索クエリのリストから、基準クエリに関連する検索クエリの変遷を把握できないかもしれない。
【００４６】
そこで、情報提供装置１００は、期間の長さを調整することによって、適切な期間の長さを特定する。情報提供装置１００は、上述の検索クエリの要素群を使用することによって、検索クエリ時系列の粗密を調整する。
【００４７】
図３は、本開示の例示的な実施形態に係る、検索クエリ時系列の時間間隔を修正する時間間隔修正処理の一例を示す説明図である。
【００４８】
図４に示されるように、はじめに、上述のステップＳ１１の場合と同様に、情報提供装置１００は、基準クエリと、指定カテゴリとを、操作者装置７００から取得する（ステップＳ２１）。次いで、上述のステップＳ１２の場合と同様に、情報提供装置１００は、入力利用者を特定し、各入力利用者が入力した検索クエリを特定する（ステップＳ２２）。次いで、上述のステップＳ１３の場合と同様に、情報提供装置１００は、各期間に入力された検索クエリを特定する（ステップＳ２３）。次いで、上述のステップＳ１４の場合と同様に、情報提供装置１００は、各期間おける指定カテゴリごとのクエリ数若しくは利用者数の要素群を特定する（ステップＳ２４）。ここでは、重複する説明は、省略される。
【００４９】
次いで、情報提供装置１００は、要素群が所定の条件を満たすか否かを判定し、判定結果から、各期間の設定が適切であるかを判定する（ステップＳ２５）。図３の例では、指定カテゴリは、特定のカテゴリに固定されている。特定のカテゴリは、例えば、結婚、妊娠、引越し等のカテゴリのうちの１つであってもよい。あるいは、特定のカテゴリは、社長、マスコット、機種変更、アミューズメントパーク、漫画等の、図２を参照して上述したカテゴリのうちの１つであってもよい。指定カテゴリは、上述のグループ化評価処理によって最適化されていてもよい。一例として、基準クエリが検索クエリ「新生児」である場合に、特定のカテゴリは、結婚、妊娠、引越し等のカテゴリであってもよい。例えば、指定カテゴリ＃１が、カテゴリ「結婚」であり、指定カテゴリ＃２が、カテゴリ「妊娠」であり、指定カテゴリ＃３が、カテゴリ「引越し」であってもよい。
【００５０】
図２の例では、各期間における要素群の変動が所定の閾値以下である場合に、情報提供装置１００は、各期間の長さが適切であると判定する。例えば、要素群が各期間において共通する場合に、情報提供装置１００は、各期間の長さが適切であると判定する。要素群のずれがある期間に生じた場合に、情報提供装置１００は、この期間の長さを修正する。所定期間における要素群の分散が所定の閾値以上である場合に、情報提供装置１００は、所定期間の長さが長すぎると判定する。このように、情報提供装置１００は、要素群が各期間において共通するように、期間を修正する。
【００５１】
各期間において検索クエリを入力したユーザの種別が所定の条件を満たす場合に、情報提供装置１００は、各期間の長さが適切であると判定してもよい。ユーザの種別は、例えば、デモグラフィック属性、サイコグラフィック属性等のユーザの属性である。例えば、基準クエリ「新生児」を入力したインプットユーザの男女比に基づいて、情報提供装置１００は、各期間の長さが適切であるかを判定してもよい。ある期間の長さが変化した場合に、この期間におけるインプットユーザの男女比も、変化する。例えば、情報提供装置１００は、期間の長さを変化させることによって、インプットユーザの男女比の変化を判定してもよい。一例として、インプットユーザの男女比が１対１である場合に、情報提供装置１００は、期間の長さが適切であると判定してもよい。なお、所定の条件は、各期間によって異なってもよい。したがって、複数の期間（例えば、第１期間、第２期間）は、長さが異なってもよい。
【００５２】
その後、情報提供装置１００は、判定結果に基づいて、各期間の長さを修正し、再度リストを生成する（ステップＳ２６）。例えば、情報提供装置１００は、各期間において検索クエリを入力したユーザの種別が所定の条件を満たすように、各期間の長さを修正する。情報提供装置１００は、調整された期間の粗密に基づいて、操作者ＯＰに各種情報を提供してもよい。例えば、調整された期間の長さが短い場合に、情報提供装置１００は、この期間が重要である、またはユーザの行動の変化がこの期間において激しいことを示すメッセージを、操作者装置７００に表示してもよい。例えば、基準クエリが検索クエリ「新生児」である場合に、第１期間（負の期間）（例えば、期間「−１〜０月」）の長さは、１週間であってもよい。なぜなら、ユーザの状況は、出産のタイミングで大きく変化する場合があるからである。一方、第１０期間（負の期間）（例えば、期間「−１０〜−９月」）の長さは、１カ月であってもよい。なぜなら、ユーザの状況は、妊娠のタイミングで大きく変化しない場合があるからである。このように、各期間の長さは、検索クエリによって示される対象が入力ユーザの状況の重要な変化につながるかに基づいて決定され得る。短い期間は、検索クエリ時系列のホットポイントであり得る。操作者ＯＰは、このようなホットポイントでの検索クエリから、ユーザの重要なニーズを把握することができる。
【００５３】
上述のように、情報提供装置１００は、上述の基準日時を基準とした各期間の刻み幅を調整することができる。情報提供装置１００は、各期間の刻み幅を調整するための条件（例えば、上述の所定の条件）を、クラウドソーシングのワーカから収集してもよい。クラウドソーシングのワーカは、基準クエリを入力したインプットユーザであってもよい。一例として、クラウドソーシングのワーカから収集された所定の条件は、「各期間の長さが１カ月である」という条件であってもよい。別の例として、収集された所定の条件は、「インプットユーザの男女比が１対１である」という条件であってもよい。
【００５４】
〔１−４．検索クエリ予測処理〕
将来の検索クエリがユーザの検索クエリの履歴（例えば、検索ログ）から推定される場合に、バズワード（すなわち、特定の期間に話題になったワード）がノイズを発生させる場合がある。また、ユーザによって入力された検索クエリは、例えば、ある雑誌に掲載されたある漫画のタイトル、アミューズメントパークでのイベント名等の、具体的な対象を示す。しかしながら、操作者ＯＰが考えたい対象は、より抽象的なコンテキストである場合がある。操作者ＯＰは、漫画のタイトルやイベント名の詳細に依らずに、より抽象的なコンテキストでユーザの行動を把握したいことがある。
【００５５】
例示のために、ユーザが、検索クエリ「あの鬼（例示の漫画名）」、検索クエリ「あの海賊（例示の漫画名）」、検索クエリ「夢と魔法の国（例示の施設名）」の順番で、これらの検索クエリを入力したと仮定する。さらに、他のユーザが、検索クエリ「あの冒険（例示の漫画名）」、検索クエリ「あの海賊（例示の漫画名）」、検索クエリ「夢と魔法の国（例示の施設名）」の順番で、これらの検索クエリを入力したと仮定する。この例では、あの鬼（例示の漫画名）、あの冒険（例示の漫画名）およびあの海賊（例示の漫画名）は、同一の雑誌に掲載されている。この雑誌の読者であるユーザは、検索クエリ「夢と魔法の国（例示の施設名）」を入力する傾向があるかもしれない。例えば、ユーザは、あの鬼（例示の漫画名）を読むためにこの雑誌を購入し、その後この雑誌に掲載されているあの海賊（例示の漫画名）が好きなったかもしれない。このユーザは、あの海賊（例示の漫画名）に関連するイベントが開催されている夢と魔法の国（例示の施設名）に行ったかもしれない。このような場合、雑誌に掲載された漫画から雑誌に掲載された他の漫画を介してアミューズメントパークに至るというコンテキストを発見することが可能であり得る。例えば、操作者ＯＰは、雑誌に掲載された複数の漫画のうちの１つに対応する検索クエリを入力したユーザが夢と魔法の国（例示の施設名）に行く傾向があることが分かる。
【００５６】
そこで、情報提供装置１００は、検索クエリを使用した機械学習を行うことによって、未来の検索クエリを予測する。より具体的には、情報提供装置１００は、上述の基準クエリに至る経路の特徴を、機械学習モデルに学習させる。例えば、情報提供装置１００は、検索クエリに対応するカテゴリ（例えば、指定カテゴリ）の変遷の態様を、機械学習モデルに学習させる。情報提供装置１００は、ユーザの検索クエリを学習済みモデルに入力することによって、このユーザによって入力される検索クエリを推定する。例えば、学習済みモデルは、カテゴリの変遷の態様を示すベクトルを出力することができる。あるいは、学習済みモデルは、基準クエリを示すベクトルを出力することができる。情報提供装置１００は、このようなベクトルに基づいて、ユーザによって入力される検索クエリを推定することができる。
【００５７】
図４は、本開示の例示的な実施形態に係る、検索クエリの時系列データに基づいて利用者の検索クエリを予測する検索クエリ予測処理の一例を示す説明図である。なお、検索クエリのカテゴリ（例えば、指定カテゴリ）は、上述のグループ化評価処理によって最適化されていてもよい。さらに、上述の基準日時を基準とした各期間は、上述の時間間隔修正処理によって最適化されていてもよい。
【００５８】
図４に示されるように、はじめに、情報提供装置１００は、入力利用者が各期間に入力した検索クエリが属するカテゴリを特定する（ステップＳ３１）。図４の例では、入力利用者ＩＵ１は、例えば、検索クエリ＃１−１、検索クエリ＃１−２、検索クエリ＃１−３等の検索クエリを入力する。検索クエリは、上述の指定カテゴリに属する。検索クエリ＃１−１、検索クエリ＃１−２および検索クエリ＃１−３が指定カテゴリ＃１−１、指定カテゴリ＃１−２および指定カテゴリ＃１−３にそれぞれ対応する場合に、情報提供装置１００は、入力利用者ＩＵ１が、指定カテゴリ＃１−１、指定カテゴリ＃１−２および指定カテゴリ＃１−３の順番で、検索クエリを入力したと決定する。このように、情報提供装置１００は、入力利用者が各期間に入力した検索クエリを、カテゴリ分類する。さらに、情報提供装置１００は、カテゴリ（例えば、指定カテゴリ）の遷移態様を特定する。
【００５９】
次いで、情報提供装置１００は、各入力利用者のカテゴリの遷移態様を複数のカテゴリに分類する（ステップＳ３２）。図４の例では、情報提供装置１００は、例えば、入力利用者ＩＵ１によって入力された複数の検索クエリにそれぞれ対応する複数の指定カテゴリの遷移態様を、カテゴリ分類する。例えば、カテゴリの遷移が指定カテゴリ＃１−１、指定カテゴリ＃１−２および指定カテゴリ＃１−３の順番で起こる場合に、このカテゴリの遷移は、遷移カテゴリ＃１に分類される。すなわち、情報提供装置１００は、入力利用者のカテゴリの遷移態様を、基準クエリに至る経路に対応する遷移カテゴリに分類する。
【００６０】
次いで、情報提供装置１００は、遷移カテゴリが類似する利用者の検索クエリの履歴が入力された場合に、類似するベクトルを生成し、遷移カテゴリが類似しない利用者の検索クエリの履歴が入力された場合に、類似しないベクトルを生成するように、モデルを学習する（ステップＳ３３）。例えば、情報提供装置１００は、基準クエリを入力したユーザによって過去に入力された検索クエリに基づいて、ユーザをグループ化する。図４の例では、例えば、グループは、遷移カテゴリ＃１、遷移カテゴリ＃２、遷移カテゴリ＃３等の遷移カテゴリのグループである。そして、情報提供装置１００は、グループごとに、入力された検索クエリの変遷の特徴を、モデルに学習させる。より具体的には、情報提供装置１００は、検索クエリが属するカテゴリの変遷の特徴を、モデルに学習させる。言い換えると、情報提供装置１００は、カテゴリの変遷のカテゴリごとに、ユーザをグループ化し、このユーザの検索クエリの変遷を、モデルに学習させる。
【００６１】
図４の例では、入力利用者ＩＵ１は、遷移カテゴリ＃１に分類される。また、入力利用者ＩＵ２は、遷移カテゴリ＃２に分類される。情報提供装置１００は、所定の辞書を参照することによって、ある遷移カテゴリに類似する他の遷移カテゴリを特定することができる。例えば、遷移カテゴリ＃１が辞書において遷移カテゴリ＃２に関連付けられている場合に、情報提供装置１００は、遷移カテゴリ＃２を、遷移カテゴリ＃１に類似するカテゴリとして特定することができる。
【００６２】
図４の例では、クエリ履歴＃１は、遷移カテゴリ＃１に分類された入力利用者によって入力された検索クエリの履歴である。同様に、クエリ履歴＃２は、遷移カテゴリ＃２に分類された入力利用者によって入力された検索クエリの履歴である。
【００６３】
図４の例では、ベクトル＃１は、カテゴリの遷移態様を示すベクトルである。例えば、ベクトル＃１は、遷移カテゴリ＃１の遷移態様を示す。言い換えると、ベクトル＃１は、カテゴリの変遷の特徴を示す。例示のために、遷移カテゴリ＃１が、カテゴリの遷移が指定カテゴリ「あの雑誌（例示の雑誌名）」、指定カテゴリ「あの雑誌（例示の雑誌名）」および指定カテゴリ「夢と魔法の国（例示の施設名）」の順番で起こる遷移態様に対応すると仮定する。この例では、ベクトルの各要素は、指定カテゴリに対応する。例えば、第１、第２、第３、第４および第５の要素が、あの雑誌（例示の雑誌名）、夢と魔法の国（例示の施設名）、結婚、妊娠、引越し等の指定カテゴリにそれぞれ対応する。この場合、ベクトル＃１は、（１，１，０，０，０）であってもよい。第１の要素「１」は、カテゴリの遷移が、指定カテゴリ「あの雑誌（例示の雑誌名）」を含むことを示す。例えば、第１の要素「１」は、ユーザが、あの鬼（例示の漫画名）、あの冒険（例示の漫画名）、あの海賊（例示の漫画名）等のクエリを入力したことを示す。一方、第４の要素「０」は、カテゴリの遷移が、指定カテゴリ「妊娠」を含まないことを示す。例えば、第３の要素「０」は、ユーザが、新生児等のクエリを入力していないことを示す。
【００６４】
情報提供装置１００は、複数のユーザが同一の基準クエリを入力した場合であっても、モデルがカテゴリの変遷が異なる場合に異なるベクトルを出力するように、機械学習を行う。このため、情報提供装置１００は、ユーザの検索クエリやこの検索クエリのカテゴリを使用することによって、ユーザが基準クエリに至るユーザであるか、またはあるユーザによって入力される将来の検索クエリの特徴を、モデルに精度良く学習させることができる。上述のように、情報提供装置１００は、ユーザが過去に入力した検索クエリが属するカテゴリを特定し、特定されたカテゴリの変遷の種別ごとに、モデルの学習を行う。一例として、ユーザが検索クエリ「夢と魔法の国（例示の施設名）」を入力した場合に、情報提供装置１００は、ユーザがどのようにこの検索クエリに至るのかを、モデルに学習させることができる。このように、情報提供装置１００は、検索クエリのカテゴリの上位概念（例えば、遷移態様）を、モデルに学習させることができる。
【００６５】
その後、情報提供装置１００は、モデルを用いて、対象ユーザの検索クエリの履歴から対象ユーザが将来入力する検索クエリを予測する（ステップＳ３４）。図４の例では、情報提供装置１００は、対象ユーザＴＵ１の検索クエリの履歴（例えば、検索クエリ＃４−１、検索クエリ＃４−２）を学習済みモデルに入力することによって、ベクトル＃４を生成する。ベクトル＃４は、対象ユーザＴＵ１のカテゴリの遷移態様を示す。例えば、情報提供装置１００は、生成されたベクトル＃４に類似するベクトルに対応する他の対象ユーザを特定し、特定された他の対象ユーザのユーザ情報に基づいて、強調フィルタリングを行うことができる。このようにして、情報提供装置１００は、対象ユーザＴＵ１のニーズの予測や、対象ユーザＴＵ１へのターゲティングを可能にすることができる。上述のグループ（例えば、指定カテゴリ）は、特定のマーケティング（例えば、機種変更）に対応してもよい。
【００６６】
以下、このような情報提供処理を行う情報提供装置１００について詳細に説明する。
【００６７】
〔２．情報提供システム〕
次に、図５を参照して、情報提供装置１００を含むシステムの構成例について説明する。
【００６８】
〔２−１．情報提供システムの構成要素〕
図５は、実施形態に係る情報提供システム１の一例を示す図である。図５に示されるように、情報提供システム１は、情報提供装置１００、ユーザ装置５００、ログサーバ６００および操作者装置７００等の構成要素を含む。図１中では図示していないが、情報提供システム１は、複数台の情報提供装置１００や、複数台のユーザ装置５００や、複数台のログサーバ６００や、複数台の操作者装置７００を含んでもよい。また、情報提供システム１は、情報提供装置１００に関係するエンティティ（例えば、業者、エンドユーザ）の装置等の、他の構成要素を含んでもよい。
【００６９】
情報提供システム１において、情報提供装置１００、ユーザ装置５００、ログサーバ６００および操作者装置７００は、それぞれネットワークＮと有線又は無線により接続される。ネットワークＮは、例えば、インターネット、ＷＡＮ（Wide  Area  Network）、ＬＡＮ（Local  Area  Network）等のネットワークである。情報提供システム１の構成要素は、ネットワークＮを介して互いに通信を行うことができる。
【００７０】
情報提供装置１００（判定装置の一例に相当）は、検索クエリの時系列データを評価するための処理を実行する情報処理装置である。情報提供装置１００は、検索クエリの時系列データから、特定のニーズを持つユーザを発見することができる。また、情報提供装置１００は、検索クエリの時系列データから、ユーザのニーズを予測することができる。情報提供装置１００は、サーバを含む、任意のタイプの情報処理装置であってもよい。複数台の情報提供装置１００が、ウェブサーバ、アプリケーションサーバ、データベースサーバ等の各種サーバの機能をそれぞれ提供してもよい。情報提供装置１００の構成例は、次の節で詳述される。
【００７１】
ユーザ装置５００は、ユーザによって利用される情報処理装置である。ユーザ装置５００は、インターネット上の各種サービス（例えば、ポータルサイト、ポータルアプリ）を介して、検索クエリを送信することができる。また、ユーザ装置５００は、この各種サービスを介して、検索結果を受信することができる。ユーザ装置５００は、スマートフォン、デスクトップ型ＰＣ、ノート型ＰＣ、タブレット型ＰＣ等のクライアント装置を含む、任意のタイプの情報処理装置であってもよい。
【００７２】
ログサーバ６００は、インターネット上の各種サービス（例えば、ポータルサイト、ポータルアプリ）を提供する情報処理装置である。ログサーバ６００は、この各種サービスを介して、ユーザ装置５００から、検索クエリを受信することができる。また、ログサーバ６００は、受信された検索クエリを、検索ログとして蓄積することができる。ログサーバ６００は、サーバを含む、任意のタイプの情報処理装置であってもよい。
【００７３】
操作者装置７００は、操作者よって利用される情報処理装置である。操作者は、例えば、情報提供装置１００やログサーバ６００に関係する特定のインターネット企業に関連する人物である。操作者装置７００は、操作者が情報提供装置１００に情報を入力することを可能にする。例えば、操作者が時系列データを分析したい場合に、操作者は、分析対象のキーワードやカテゴリを、情報提供装置１００に対して設定することができる。ユーザ装置５００の場合と同様に、操作者装置７００は、クライアント装置を含む、任意のタイプの情報処理装置であってもよい。
【００７４】
〔２−２．情報提供装置の構成〕
図５に示されるように、情報提供装置１００は、通信部２００と、記憶部３００と、制御部４００とを有する。なお、情報提供装置１００は、情報提供装置１００を利用する管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（液晶ディスプレイ等）を有してもよい。
【００７５】
（通信部２００）
通信部２００は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部２００は、有線または無線によりネットワーク網と接続される。通信部２００は、ユーザ装置５００、ログサーバ６００、および操作者装置７００に、ネットワークＮを介して、通信可能に接続されてもよい。通信部２００は、ユーザ装置５００、ログサーバ６００、および操作者装置７００との間で、ネットワーク網を介して、情報の送受信を行うことができる。
【００７６】
（記憶部３００）
記憶部３００は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図５に示されるように、記憶部３００は、検索クエリデータベース３１０を有する。
【００７７】
（検索クエリデータベース３１０）
図６は、実施形態に係る検索クエリデータベース３１０の一例を示す図である。検索クエリデータベース３１０は、ユーザによって入力された検索クエリを記憶する。
【００７８】
図６の例では、検索クエリデータベース３１０は、「利用者ＩＤ」、「検索クエリ」、「検索日時」等の項目を有する。検索クエリデータベース３１０は、検索履歴（例えば、検索ログ）等の、構造化されたデータセットとして実装されてもよい。
【００７９】
「利用者ＩＤ」は、ユーザ（「利用者」とも呼ばれる）を識別するための識別子を示す。「検索クエリ」は、ユーザによって入力された検索クエリを示す。「検索日時」は、検索クエリが入力された日時を示す。
【００８０】
例えば、図６は、利用者ＩＤ「ＵＩＤ＃１」で識別されるユーザが、検索クエリ「検索クエリ＃１−１」を入力したことを示している。利用者ＩＤ「ＵＩＤ＃１」は、例えば、所定の文字列である。検索クエリ「検索クエリ＃１−１」は、例えば、「入院」、「お参り」、「体重」等の文字列である。
【００８１】
また、例えば、図６は、検索クエリ「検索クエリ＃１−１」が、日時「検索日時＃１」に入力されたことを示している。日時「検索日時＃１」は、例えば、「２０２０／０３／１９  １２：００：００」等のタイムスタンプである。
【００８２】
（制御部４００）
制御部４００は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、情報提供装置１００内部の記憶装置に記憶されている各種プログラム（判定プログラムの一例に相当）がＲＡＭ等を作業領域として実行されることにより実現される。また、制御部４００は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）、ＧＰＧＰＵ（General  Purpose  Graphic  Processing  Unit）等の集積回路により実現されてもよい。
【００８３】
制御部４００は、図５に示されるように、第１判定処理部４１０と、第２判定処理部４２０と、学習処理部４３０とを有し、以下に説明する情報処理の機能や作用を実現又は実行する。また、制御部４００は、図１、図２、図３および図４を参照して上述した情報提供処理を実現することができる。情報提供装置１００の１つまたは複数のプロセッサは、情報提供装置１００の１つまたは複数のメモリに記憶された命令を実行することによって、制御部４００内の各制御部の機能を実現することができる。なお、制御部４００の内部構成は、図５に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。例えば、第１判定処理部４１０は、第１判定処理部４１０以外の部に関して後述する情報処理の全部または一部を行ってもよい。
【００８４】
（第１判定処理部４１０）
図７は、実施形態に係る第１判定処理部４１０の構成の一例を示す図である。第１判定処理部４１０は、時系列検索クエリの分類が所定の条件を満たすかを判定することができる。時系列検索クエリの分類は、検索クエリの時系列データを評価するために使用され得る。
【００８５】
第１判定処理部４１０は、図７に示されるように、取得部４１１と、分類部４１２と、判定部４１３と、出力部４１４と、抽出部４１５と、提供部４１６とを有する。なお、第１判定処理部４１０の内部構成は、図７に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。例えば、判定部４１３は、判定部４１３以外の部に関して後述する情報処理の全部または一部を行ってもよい。
【００８６】
一例では、第１判定処理部４１０は、操作者が検索クエリのリストを適切に評価することを可能にするために、ターゲットユーザによって各期間に入力された検索クエリをグループ化する。第１判定処理部４１０は、各期間に入力された検索クエリは、基準クエリのコンテキストに基づいてグループ化され得る。例えば、第１判定処理部４１０は、基準クエリを入力したユーザの検索ログを、時系列（例えば、基準日時の前後の期間）ごとに取得する。そして、第１判定処理部４１０は、時系列ごとに、検索クエリをグループ化する。例えば、グループ数や、グループに関連する検索クエリを入力したユーザの数が閾値を満たす場合に、第１判定処理部４１０は、このグループに関連する検索クエリを、リストに含まれる検索クエリとして抽出する。その結果、リストに含まれるグループ化された検索クエリは、統一性を持つことができ、それによって、操作者が検索クエリのリストを適切に評価することを可能にする。
【００８７】
（取得部４１１）
取得部４１１は、検索クエリの時系列データを評価するために使用される各種情報を取得することができる。取得部４１１は、このような各種情報を、所定の情報処理装置（例えば、情報提供装置１００に関係するエンティティ（例えば、特定のインターネット企業）の装置）から受信することができる。また、例えば、取得部４１１は、情報提供装置１００を利用する管理者から、ユーザインタフェースを介して、このような情報を受信することができる。取得部４１１は、記憶部３００に、受信された各種情報を格納してもよい。例えば、取得部４１１は、受信された検索クエリを、検索クエリデータベース３１０に格納してもよい。取得部４１１は、記憶部３００から、各種情報を取得することができる。例えば、取得部４１１は、検索クエリデータベース３１０から、検索クエリ（例えば、検索履歴等の検索ログ）を取得することができる。
【００８８】
少なくとも１つの実施形態では、取得部４１１は、基準クエリを入力した複数の入力利用者により入力された検索クエリを取得する。
【００８９】
少なくとも１つの実施形態では、取得部４１１は、所定の期間として、入力利用者が基準クエリを入力した基準日時よりも所定の日時だけ前の期間において入力された検索クエリを取得する。例えば、取得部４１１は、基準日時を基準としたそれぞれ異なる複数の期間内において入力された検索クエリを取得する。
【００９０】
一例では、取得部４１１は、ログサーバ６００から、検索ログを取得する。例えば、取得部４１１は、ログサーバ６００から、検索クエリの履歴を収集する。
【００９１】
一例では、取得部４１１は、操作者装置７００から、基準クエリを取得する。上述のように、基準クエリは、ある日時に入力された所定の検索クエリである。図１を参照して上述したように、基準クエリは、例えば、ある日時（例えば、ある基準日時）に入力されたクエリ「新生児」である。
【００９２】
一例では、取得部４１１は、基準クエリと、指定カテゴリとを、操作者装置７００から取得する。上述のように、基準クエリは、ある日時に入力された所定の検索クエリ（例えば、検索クエリ「企業Ｃ１」）である。一方、指定カテゴリは、時系列の検索クエリをグループ化するためのカテゴリである。取得部４１１は、指定カテゴリに従って、時系列（例えば、基準日時の前後の期間）ごとに、検索クエリをグループ化する。指定カテゴリは、例えば、操作者によって予め指定される。指定カテゴリは、例えば、社長、マスコット、機種変更、アミューズメントパーク、漫画等のカテゴリである。このように、取得部４１１は、操作者から指定カテゴリを受け付ける。
【００９３】
（分類部４１２）
少なくとも１つの実施形態では、分類部４１２は、検索クエリのうち、所定の期間において入力された検索クエリを複数のカテゴリに分類する。
【００９４】
少なくとも１つの実施形態では、分類部４１２は、期間ごとに、検索クエリを複数のカテゴリに分類する。
【００９５】
一例では、分類部４１２は、取得部４１１によって取得された基準クエリを入力した入力利用者を特定する。例えば、分類部４１２は、取得部４１１によって取得された検索ログから、基準クエリを入力した入力利用者を特定する。図１を参照して上述したように、分類部４１２は、例えば、ある日時に検索クエリ「新生児」を入力したユーザを、入力利用者として特定する。
【００９６】
次いで、分類部４１２は、基準日時を基準とした各期間において利用者が入力した検索クエリを特定する。基準日時を基準とした各期間は、基準日時の前後の期間である。一例として、期間の間隔は、１カ月であってもよい。例えば、基準日時が「２０２０／０３／１９」である場合に、基準日時の前後の期間は、「２０２０／０３／１９〜２０２０／０４／１９」、「２０２０／０４／１９〜２０２０／０５／１９」等の、基準日時より後の期間や、「２０２０／０２／１９〜２０２０／０３／１９」、「２０２０／０１／１９〜２０２０／０２／１９」等の、基準日時より前の期間である。このように、分類部４１２は、取得部４１１によって取得された検索ログから、基準日時を基準とした期間ごとに、基準クエリを入力したユーザの検索クエリを抽出する。
【００９７】
一例では、分類部４１２は、入力利用者を特定し、各入力利用者が入力した検索クエリを特定する。上述のように、入力利用者は、基準日時に基準クエリを入力したユーザである。分類部４１２は、検索ログから、入力利用者を特定することができる。また、分類部４１２は、検索ログから、入力利用者が基準日時の前後の期間に入力した検索クエリを特定することができる。次いで、分類部４１２は、各期間に入力された検索クエリを特定する。上述のように、各期間は、基準日時の前後の期間である。次いで、分類部４１２は、各期間おける指定カテゴリごとのクエリ数若しくは利用者数の要素群を特定する。図２を参照して上述したように、例えば、分類部４１２は、第２期間（負の期間）における指定カテゴリごとの検索クエリ数またはユーザ数の要素群を特定する。分類部４１２は、各指定カテゴリに分類された検索クエリの数や、検索クエリを入力した利用者の数をカウントすることによって、検索クエリの要素群を特定することができる。
【００９８】
分類部４１２は、期間ごとに、検索クエリを複数のカテゴリに分類してもよい。複数のカテゴリは、指定カテゴリを含んでもよい。すなわち、分類部４１２は、指定カテゴリ以外のカテゴリに従って、時系列ごとに、検索クエリをグループ化してもよい。カテゴリが予め固定されていない場合に（例えば、取得部４１１が指定カテゴリを取得してない場合に）、分類部４１２は、基準クエリおよび検索ログに基づいて、検索ログ内の検索クエリを、複数のカテゴリ（例えば、指定カテゴリ以外のカテゴリ）に分類してもよい。基準クエリが予め固定されている場合に、分類部４１２は、この基準クエリに対する適切なカテゴリを探索することができる。
【００９９】
一例では、分類部４１２は、判定部４１３による判定結果に基づいて、カテゴリ（例えば、指定カテゴリ、指定カテゴリ以外のカテゴリ）を自動的に最適化してもよい。
【０１００】
（判定部４１３）
少なくとも１つの実施形態では、判定部４１３は、分類部４１２による分類結果が所定の判定条件を満たすか否かを判定する。
【０１０１】
少なくとも１つの実施形態では、判定部４１３は、検索クエリが分類されたカテゴリの数が所定の条件を満たすか否かを判定する。例えば、判定部４１３は、検索クエリのうち所定の割合以上の検索クエリが分類されたカテゴリの数が所定の閾値以下となるか否かを判定する。また、例えば、判定部４１３は、検索クエリのうち所定の割合以上の検索クエリが分類されたカテゴリを特定し、特定したカテゴリに分類された検索クエリを入力した利用者の数が所定の閾値以上となるか否かを判定する。
【０１０２】
少なくとも１つの実施形態では、期間ごとに、分類結果が所定の判定条件を満たすか否かを判定する。
【０１０３】
少なくとも１つの実施形態では、判定部４１３は、検索クエリが分類されたカテゴリが分類される上位カテゴリが所定の条件を満たすか否かを判定する。
【０１０４】
一例では、判定部４１３は、検索クエリの要素群が所定の条件を満たすか否かを判定し、判定結果から、基準クエリ若しくは指定カテゴリを評価する。所定の条件は、例えば、「検索クエリのグループの数が特定の値（例えば、自然数ｎ）に収束する」という条件である。このグループは、例えば、指定カテゴリや、指定カテゴリ以外のカテゴリを含む複数のカテゴリである。例えば、ｎ個の指定カテゴリに属する検索クエリが各期間における全クエリ（すなわち、各期間における全体の検索ログ）に占める割合が閾値（例えば、８割）を満たす場合に（例えば、ｎは「３」）、判定部４１３は、これらのｎ個の指定カテゴリを、検索クエリのリストのためのグループとして使用することができる。例えば、指定カテゴリの数が「３」であり、これらの３つの指定カテゴリが８割の検索クエリまたは利用者を含む場合に、判定部４１３は、これらの３つの指定カテゴリが所定の条件を満たすと判定する。
【０１０５】
グループの数に関しては、グループの数が多い場合は、判定部４１３は、元の基準クエリが適切なクエリでないと判定することができる。ある期間におけるグループの数が他の期間におけるグループの数と同じである場合に、判定部４１３は、元の基準クエリが適切なクエリであると判定することができる。判定部４１３は、クエリ数もしくはユーザ数の要素群が適切に表現されているかに基づいて、検索クエリのリストが適切であるかを判定することができる。カテゴリが予め固定されている場合に（例えば、カテゴリが指定カテゴリである場合に）、判定部４１３は、カテゴリおよび検索ログに基づいて、クエリ数もしくはユーザ数の要素群を評価することができ、それによって、適切な基準クエリを特定することができる。
【０１０６】
図２を参照して上述したように、所定の条件は、例えば、「いずれかの期間において指定カテゴリに含まれるクエリもしくは利用者が３割以下」という条件である。検索クエリの要素群がこの条件を満たす場合に、判定部４１３は、指定カテゴリが負適切または基準クエリが負適切であると判定する。加えてまたはあるいは、所定の条件は、例えば、「各期間において指定カテゴリに含まれる検索クエリもしくは利用者の割合の変動が閾値を超える」という条件であってもよい。要素群がこの条件を満たす場合に、判定部４１３は、指定カテゴリが負適切または基準クエリが負適切であると判定する。このように、判定部４１３は、検索クエリの要素群が所定の条件を満たすかを判定することによって、基準クエリや指定カテゴリを評価することができる。要素群が収束している場合に、判定部４１３は、検索クエリのリストが適切であると判定することができる。
【０１０７】
上述のように、判定結果は、基準クエリが適切であるかの判定に使用される。例えば、基準クエリが各期間で所定の条件を満たす場合に、判定部４１３は、基準クエリが適切であると判定する。基準クエリが大多数の期間で条件を満たす場合に、判定部４１３は、基準クエリが適切であると判定してもよい。基準クエリが各期間で所定の条件を満たさない場合に、基準クエリが、操作者が所望の対象を適切に表現していない可能性が高い。
【０１０８】
（出力部４１４）
少なくとも１つの実施形態では、出力部４１４（例えば、第１出力部として実装される出力部４１４）は、判定部４１３により分類結果が所定の判定条件を満たすと判定された場合は、基準クエリが適切である旨の情報を出力する。
【０１０９】
少なくとも１つの実施形態では、出力部４１４（例えば、第２出力部として実装される出力部４１４）は、判定部４１３により分類結果が所定の判定条件を満たすと判定された場合は、検索クエリを分類する複数のカテゴリが適切である旨の情報を出力する。
【０１１０】
一例では、出力部４１４は、操作者装置７００に、評価結果を提供する。例えば、出力部４１４は、判定結果に応じた情報を、操作者に提供する。出力部４１４は、指定カテゴリが負適切または基準クエリが負適切であることを示すメッセージを、操作者装置７００に表示してもよい。あるいは、出力部４１４は、ユーザの検索行動が時系列検索クエリをカテゴリの要素群に分解することによって適切に表現されていることを示すメッセージを、操作者装置７００に表示してもよい。
【０１１１】
（抽出部４１５）
少なくとも１つの実施形態では、抽出部４１５は、判定部４１３により分類結果が所定の判定条件を満たすと判定された場合は、複数のカテゴリのうち所定の分類条件を満たすカテゴリに分類された検索クエリを抽出する。例えば、抽出部４１５は、検索クエリのうち、所定の割合以上の検索クエリが分類されたカテゴリを特定し、特定したカテゴリに分類された検索クエリを抽出する。また、例えば、抽出部４１５は、検索クエリのうち、基準クエリと関連性が高い検索クエリを抽出する。
【０１１２】
一例として、抽出部４１５は、各期間で所定の条件を満たす基準クエリに類似する検索クエリを、検索クエリデータベース３１０から取得する。所定の条件は、例えば、検索クエリの要素群に関する条件である。
【０１１３】
（提供部４１６）
少なくとも１つの実施形態では、提供部４１６は、抽出部４１５により抽出された検索クエリのリストを提供する。
【０１１４】
一例では、提供部４１６は、期間ごとに、基準クエリと関連性が高い検索クエリのリストを生成する。図１を参照して上述したように、提供部４１６は、例えば、基準日時の１カ月前における基準クエリ「新生児」と関連性が高い検索クエリとして、「入院」「お参り」、「体重」等の検索クエリを、取得部４１１によって取得された検索ログから特定する。そして、提供部４１６は、特定された検索クエリを含むリストを生成する。
【０１１５】
次いで、提供部４１６は、生成されたリストを、操作者装置７００に提供する。図１を参照して上述したように、生成されたリストは、例えば、期間ごとに、基準クエリ「新生児」と関連性が高い検索クエリを示す。提供部４１６は、各期間において入力された他の検索クエリが関連度順に並んだ表を生成し、生成された表を、リストとして操作者装置７００に提供してもよい。
【０１１６】
一例では、提供部４１６は、検索クエリの要素群に関する条件を満たすリストを、操作者装置７００に提供することができる。ある期間における配列の数（例えば、「３」）は、他の期間における配列の数と同じであってもよい。この場合、操作者は、指定カテゴリの遷移態様を、リストから読み取ることができる。各期間におけるこのような指定カテゴリは、敷衍され、時系列の検索行動の分析に適用され得る。
【０１１７】
（第２判定処理部４２０）
図８は、実施形態に係る第２判定処理部４２０の構成の一例を示す図である。第２判定処理部４２０は、検索クエリの時系列中の期間が適切であるかを判定することができる。検索クエリの時系列中の期間は、検索クエリの時系列データを評価するために使用され得る。
【０１１８】
第２判定処理部４２０は、図８に示されるように、取得部４２１と、分類部４２２と、判定部４２３と、出力部４２４とを有する。なお、第２判定処理部４２０の内部構成は、図８に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。例えば、判定部４２３は、判定部４２３以外の部に関して後述する情報処理の全部または一部を行ってもよい。
【０１１９】
一例では、第２判定処理部４２０は、期間の長さを調整することによって、適切な期間の長さを特定する。第２判定処理部４２０は、上述の検索クエリの要素群を使用することによって、検索クエリ時系列の粗密を調整する。
【０１２０】
（取得部４２１）
取得部４２１は、検索クエリの時系列データを評価するために使用される各種情報を取得することができる。取得部４２１は、このような各種情報を、所定の情報処理装置（例えば、情報提供装置１００に関係するエンティティ（例えば、特定のインターネット企業）の装置）から受信することができる。また、例えば、取得部４２１は、情報提供装置１００を利用する管理者から、ユーザインタフェースを介して、このような情報を受信することができる。取得部４２１は、記憶部３００に、受信された各種情報を格納してもよい。例えば、取得部４２１は、受信された検索クエリを、検索クエリデータベース３１０に格納してもよい。取得部４２１は、記憶部３００から、各種情報を取得することができる。例えば、取得部４２１は、検索クエリデータベース３１０から、検索クエリ（例えば、検索履歴等の検索ログ）を取得することができる。
【０１２１】
少なくとも１つの実施形態では、取得部４２１は、基準クエリを入力した複数の入力利用者により入力された検索クエリであって、所定の期間内に入力された検索クエリを取得する。
【０１２２】
少なくとも１つの実施形態では、取得部４２１は、基準クエリが入力された基準日時を基準としたそれぞれ異なる複数の期間内において入力利用者により入力された検索クエリを取得する。
【０１２３】
一例では、取得部４２１は、ログサーバ６００から、検索ログを取得する。例えば、取得部４２１は、ログサーバ６００から、検索クエリの履歴を収集する。
【０１２４】
一例では、取得部４２１は、操作者装置７００から、基準クエリを取得する。上述のように、基準クエリは、ある日時に入力された所定の検索クエリである。図１を参照して上述したように、基準クエリは、例えば、ある日時（例えば、ある基準日時）に入力されたクエリ「新生児」である。
【０１２５】
一例では、取得部４２１は、基準クエリと、指定カテゴリとを、操作者装置７００から取得する。上述のように、基準クエリは、ある日時に入力された所定の検索クエリ（例えば、検索クエリ「企業Ｃ１」）である。一方、指定カテゴリは、時系列の検索クエリをグループ化するためのカテゴリである。取得部４２１は、指定カテゴリに従って、時系列（例えば、基準日時の前後の期間）ごとに、検索クエリをグループ化する。指定カテゴリは、例えば、操作者によって予め指定される。指定カテゴリは、例えば、社長、マスコット、機種変更、アミューズメントパーク、漫画等のカテゴリである。このように、取得部４２１は、操作者から指定カテゴリを受け付ける。
【０１２６】
一例では、取得部４２１は、各期間の刻み幅を調整するための条件（例えば、上述の所定の条件）を、クラウドソーシングのワーカから収集してもよい。クラウドソーシングのワーカは、基準クエリを入力したインプットユーザであってもよい。一例として、クラウドソーシングのワーカから収集された所定の条件は、「各期間の長さが１カ月である」という条件であってもよい。別の例として、収集された所定の条件は、「インプットユーザの男女比が１対１である」という条件であってもよい。
【０１２７】
（分類部４２２）
少なくとも１つの実施形態では、分類部４２２（例えば、第１分類部として実装される分類部４２２）は、入力利用者の属性に応じて、所定の期間内に検索クエリを入力した入力利用者を複数のカテゴリに分類する。
【０１２８】
少なくとも１つの実施形態では、分類部４２２（例えば、第２分類部として実装される分類部４２２）は、所定の期間内に入力された検索クエリを複数のカテゴリに分類する。
【０１２９】
一例では、分類部４２２は、取得部４２１によって取得された基準クエリを入力した入力利用者を特定する。例えば、分類部４２２は、取得部４２１によって取得された検索ログから、基準クエリを入力した入力利用者を特定する。図１を参照して上述したように、分類部４２２は、例えば、ある日時に検索クエリ「新生児」を入力したユーザを、入力利用者として特定する。
【０１３０】
次いで、分類部４２２は、基準日時を基準とした各期間において利用者が入力した検索クエリを特定する。基準日時を基準とした各期間は、基準日時の前後の期間である。一例として、期間の間隔は、１カ月であってもよい。例えば、基準日時が「２０２０／０３／１９」である場合に、基準日時の前後の期間は、「２０２０／０３／１９〜２０２０／０４／１９」、「２０２０／０４／１９〜２０２０／０５／１９」等の、基準日時より後の期間や、「２０２０／０２／１９〜２０２０／０３／１９」、「２０２０／０１／１９〜２０２０／０２／１９」等の、基準日時より前の期間である。このように、分類部４２２は、取得部４２１によって取得された検索ログから、基準日時を基準とした期間ごとに、基準クエリを入力したユーザの検索クエリを抽出する。
【０１３１】
一例では、分類部４２２は、入力利用者を特定し、各入力利用者が入力した検索クエリを特定する。上述のように、入力利用者は、基準日時に基準クエリを入力したユーザである。分類部４２２は、検索ログから、入力利用者を特定することができる。また、分類部４２２は、検索ログから、入力利用者が基準日時の前後の期間に入力した検索クエリを特定することができる。次いで、分類部４２２は、各期間に入力された検索クエリを特定する。上述のように、各期間は、基準日時の前後の期間である。次いで、分類部４２２は、各期間おける指定カテゴリごとのクエリ数若しくは利用者数の要素群を特定する。図３を参照して上述したように、例えば、分類部４２２は、第２期間（負の期間）における指定カテゴリごとの検索クエリ数またはユーザ数の要素群を特定する。分類部４２２は、各指定カテゴリに分類された検索クエリの数や、検索クエリを入力した利用者の数をカウントすることによって、検索クエリの要素群を特定することができる。
【０１３２】
分類部４２２は、期間ごとに、検索クエリを複数のカテゴリに分類してもよい。複数のカテゴリは、指定カテゴリを含んでもよい。すなわち、分類部４２２は、指定カテゴリ以外のカテゴリに従って、時系列ごとに、検索クエリをグループ化してもよい。カテゴリが予め固定されていない場合に（例えば、取得部４２１が指定カテゴリを取得してない場合に）、分類部４２２は、基準クエリおよび検索ログに基づいて、検索ログ内の検索クエリを、複数のカテゴリ（例えば、指定カテゴリ以外のカテゴリ）に分類してもよい。基準クエリが予め固定されている場合に、分類部４２２は、この基準クエリに対する適切なカテゴリを探索することができる。
【０１３３】
（判定部４２３）
少なくとも１つの実施形態では、判定部４２３は、検索クエリを入力した入力利用者の属性、若しくは、この検索クエリが所定の条件を満たすか否かに基づいて、所定の期間が適切であるか否かを判定する。
【０１３４】
少なくとも１つの実施形態では、判定部４２３は、所定の期間の長さが適切であるか否かを判定する。
【０１３５】
少なくとも１つの実施形態では、判定部４２３は、分類部４２２（例えば、第１分類部として実装される分類部４２２）による分類結果が所定の条件を満たすか否かに基づいて、所定の期間が適切であるか否かを判定する。例えば、判定部４２３は、入力利用者が分類されたカテゴリの数が所定の閾値以下となる場合は、所定の期間が適切であると判定する。また、例えば、判定部４２３は、分類部４２２（例えば、第１分類部として実装される分類部４２２）により各カテゴリに分類された利用者の割合が所定の条件を満たす場合は、所定の期間が適切であると判定する。
【０１３６】
少なくとも１つの実施形態では、判定部４２３は、分類部４２２（例えば、第２分類部として実装される分類部４２２）による分類結果が所定の条件を満たすか否かに基づいて、所定の期間が適切であるか否かを判定する。例えば、判定部４２３は、検索クエリが分類されたカテゴリの数が所定の条件を満たすか否かを判定する。例えば、判定部４２３は、検索クエリのうち所定の割合以上の検索クエリが分類されたカテゴリの数が所定の閾値以下となるか否かを判定する。例えば、判定部４２３は、検索クエリのうち所定の割合以上の検索クエリが分類されたカテゴリを特定し、特定したカテゴリに分類された検索クエリを入力した利用者の数が所定の閾値以上となるか否かを判定する。
【０１３７】
少なくとも１つの実施形態では、期間ごとに、この期間が適切であるか否かを判定する。
【０１３８】
一例では、判定部４２３は、検索クエリの要素群が所定の条件を満たすか否かを判定し、判定結果から、各期間の設定が適切であるかを判定する。
【０１３９】
図３を参照して上述したように、例えば、各期間における要素群の変動が所定の閾値以下である場合に、判定部４２３は、各期間の長さが適切であると判定する。例えば、要素群が各期間において共通する場合に、判定部４２３は、各期間の長さが適切であると判定する。要素群のずれがある期間に生じた場合に、判定部４２３は、この期間の長さを修正する。所定期間における要素群の分散が所定の閾値以上である場合に、判定部４２３は、所定期間の長さが長すぎると判定する。判定部４２３は、要素群が各期間において共通するように、期間を修正する。
【０１４０】
各期間において検索クエリを入力したユーザの種別が所定の条件を満たす場合に、判定部４２３は、各期間の長さが適切であると判定してもよい。ユーザの種別は、例えば、デモグラフィック属性、サイコグラフィック属性等のユーザの属性である。例えば、基準クエリ「新生児」を入力したインプットユーザの男女比に基づいて、判定部４２３は、各期間の長さが適切であるかを判定してもよい。ある期間の長さが変化した場合に、この期間におけるインプットユーザの男女比も、変化する。例えば、判定部４２３は、期間の長さを変化させることによって、インプットユーザの男女比の変化を判定してもよい。一例として、インプットユーザの男女比が１対１である場合に、判定部４２３は、期間の長さが適切であると判定してもよい。なお、所定の条件は、各期間によって異なってもよい。したがって、複数の期間（例えば、第１期間、第２期間）は、長さが異なってもよい。
【０１４１】
（出力部４２４）
出力部４２４は、判定部４２３が検索クエリの要素群が所定の条件を満たすと判定した場合に、期間の設定が適切である旨の情報を出力することができる。
【０１４２】
一例では、出力部４２４は、判定結果に基づいて、各期間の長さを修正し、再度リストを生成する。例えば、出力部４２４は、各期間において検索クエリを入力したユーザの種別が所定の条件を満たすように、各期間の長さを修正する。出力部４２４は、調整された期間の粗密に基づいて、操作者に各種情報を提供してもよい。例えば、調整された期間の長さが短い場合に、出力部４２４は、この期間が重要である、またはユーザの行動の変化がこの期間において激しいことを示すメッセージを、操作者装置７００に表示してもよい。例えば、基準クエリが検索クエリ「新生児」である場合に、第１期間（負の期間）（例えば、期間「−１〜０月」）の長さは、１週間であってもよい。なぜなら、ユーザの状況は、出産のタイミングで大きく変化する場合があるからである。一方、第１０期間（負の期間）（例えば、期間「−１０〜−９月」）の長さは、１カ月であってもよい。なぜなら、ユーザの状況は、妊娠のタイミングで大きく変化しない場合があるからである。このように、各期間の長さは、検索クエリによって示される対象が入力ユーザの状況の重要な変化につながるかに基づいて決定され得る。短い期間は、検索クエリ時系列のホットポイントであり得る。操作者は、このようなホットポイントでの検索クエリから、ユーザの重要なニーズを把握することができる。
【０１４３】
（学習処理部４３０）
図９は、実施形態に係る学習処理部４３０の構成の一例を示す図である。学習処理部４３０は、ユーザによって入力される検索クエリのカテゴリの遷移について、検索クエリの時系列データから学習することができる。時系列データから学習することは、時系列データからモデルを生成することを包含する。データからモデルを生成する過程は、訓練または学習と呼ばれることがある。モデルは、訓練データを使用して機械学習アルゴリズムを訓練することによって、生成され得る。
【０１４４】
上述の検索クエリのカテゴリは、上述の第１判定処理部４１０による判定に基づく時系列検索クエリの分類であってもよい。例えば、時系列検索クエリは、第１判定処理部４１０によって実行される、時系列検索クエリの分類が所定の条件を満たすかの判定に基づいて、分類されてもよい。時系列検索クエリは、時系列検索クエリの分類が所定の条件を満たすように、分類されてもよい。上述のように、このような判定は、時系列検索クエリの分類を改善するために使用され得る。
【０１４５】
上述の遷移の時間間隔は、上述の第２判定処理部４２０による判定に基づく期間の長さであってもよい。例えば、検索クエリの時系列中の期間の長さは、第２判定処理部４２０によって実行される、検索クエリの時系列中の期間が適切であるかの判定に基づいて、決定されてもよい。上述のように、このような判定は、検索クエリの時系列中の期間の長さを改善するために使用され得る。
【０１４６】
上述のカテゴリの遷移は、検索クエリの時系列データを評価するために使用され得る。学習処理部４３０は、図９に示されるように、取得部４３１と、特定部４３２と、学習部４３３と、推定部４３４とを有する。なお、学習処理部４３０の内部構成は、図９に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。例えば、学習部４３３は、学習部４３３以外の部に関して後述する情報処理の全部または一部を行ってもよい。
【０１４７】
一例では、学習処理部４３０は、検索クエリを使用した機械学習を行うことによって、未来の検索クエリを予測する。より具体的には、学習処理部４３０は、上述の基準クエリに至る経路の特徴を、機械学習モデルに学習させる。例えば、学習処理部４３０は、検索クエリに対応するカテゴリ（例えば、指定カテゴリ）の変遷の態様を、機械学習モデルに学習させる。学習処理部４３０は、ユーザの検索クエリを学習済みモデルに入力することによって、このユーザによって入力される検索クエリを推定する。例えば、学習済みモデルは、カテゴリの変遷の態様を示すベクトルを出力することができる。あるいは、学習済みモデルは、基準クエリを示すベクトルを出力することができる。学習処理部４３０は、このようなベクトルに基づいて、ユーザによって入力される検索クエリを推定することができる。
【０１４８】
（取得部４３１）
取得部４３１は、検索クエリの時系列データを評価するために使用される各種情報を取得することができる。取得部４３１は、このような各種情報を、所定の情報処理装置（例えば、情報提供装置１００に関係するエンティティ（例えば、特定のインターネット企業）の装置）から受信することができる。また、例えば、取得部４３１は、情報提供装置１００を利用する管理者から、ユーザインタフェースを介して、このような情報を受信することができる。取得部４３１は、記憶部３００に、受信された各種情報を格納してもよい。例えば、取得部４３１は、受信された検索クエリを、検索クエリデータベース３１０に格納してもよい。取得部４３１は、記憶部３００から、各種情報を取得することができる。例えば、取得部４３１は、検索クエリデータベース３１０から、検索クエリ（例えば、検索履歴等の検索ログ）を取得することができる。
【０１４９】
少なくとも１つの実施形態では、取得部４３１は、基準クエリを入力した複数の入力利用者により入力された検索クエリであって、それぞれ異なる期間に入力された検索クエリを取得する。
【０１５０】
少なくとも１つの実施形態では、取得部４３１は、入力利用者が基準クエリを入力した後で入力した検索クエリを目的クエリとして取得する。例えば、取得部４３１は、入力利用者が基準クエリを入力した後で入力した複数の検索クエリを目的クエリとして取得する。
【０１５１】
一例では、取得部４３１は、ログサーバ６００から、検索ログを取得する。例えば、取得部４３１は、ログサーバ６００から、検索クエリの履歴を収集する。
【０１５２】
一例では、取得部４３１は、操作者装置７００から、基準クエリを取得する。上述のように、基準クエリは、ある日時に入力された所定の検索クエリである。図１を参照して上述したように、基準クエリは、例えば、ある日時（例えば、ある基準日時）に入力されたクエリ「新生児」である。
【０１５３】
（特定部４３２）
少なくとも１つの実施形態では、特定部４３２は、入力利用者ごとに、各期間に入力された検索クエリが属するカテゴリを特定する。
【０１５４】
一例では、特定部４３２は、取得部４３１によって取得された基準クエリを入力した入力利用者を特定する。例えば、特定部４３２は、取得部４３１によって取得された検索ログから、基準クエリを入力した入力利用者を特定する。図１を参照して上述したように、特定部４３２は、例えば、ある日時に検索クエリ「新生児」を入力したユーザを、入力利用者として特定する。
【０１５５】
次いで、特定部４３２は、基準日時を基準とした各期間において利用者が入力した検索クエリを特定する。基準日時を基準とした各期間は、基準日時の前後の期間である。一例として、期間の間隔は、１カ月であってもよい。例えば、基準日時が「２０２０／０３／１９」である場合に、基準日時の前後の期間は、「２０２０／０３／１９〜２０２０／０４／１９」、「２０２０／０４／１９〜２０２０／０５／１９」等の、基準日時より後の期間や、「２０２０／０２／１９〜２０２０／０３／１９」、「２０２０／０１／１９〜２０２０／０２／１９」等の、基準日時より前の期間である。このように、特定部４３２は、取得部４３１によって取得された検索ログから、基準日時を基準とした期間ごとに、基準クエリを入力したユーザの検索クエリを抽出する。
【０１５６】
一例では、特定部４３２は、入力利用者が各期間に入力した検索クエリが属するカテゴリを特定する。図４を参照して上述したように、入力利用者ＩＵ１は、例えば、検索クエリ＃１−１、検索クエリ＃１−２、検索クエリ＃１−３等の検索クエリを入力する。検索クエリは、上述の指定カテゴリに属する。検索クエリ＃１−１、検索クエリ＃１−２および検索クエリ＃１−３が指定カテゴリ＃１−１、指定カテゴリ＃１−２および指定カテゴリ＃１−３にそれぞれ対応する場合に、特定部４３２は、入力利用者ＩＵ１が、指定カテゴリ＃１−１、指定カテゴリ＃１−２および指定カテゴリ＃１−３の順番で、検索クエリを入力したと決定する。このように、特定部４３２は、入力利用者が各期間に入力した検索クエリを、カテゴリ分類する。さらに、特定部４３２は、カテゴリ（例えば、指定カテゴリ）の遷移態様を特定する。
【０１５７】
一例では、特定部４３２は、各入力利用者のカテゴリの遷移態様を複数のカテゴリに分類する。図４を参照して上述したように、特定部４３２は、例えば、入力利用者ＩＵ１によって入力された複数の検索クエリにそれぞれ対応する複数の指定カテゴリの遷移態様を、カテゴリ分類する。例えば、カテゴリの遷移が指定カテゴリ＃１−１、指定カテゴリ＃１−２および指定カテゴリ＃１−３の順番で起こる場合に、このカテゴリの遷移は、遷移カテゴリ＃１に分類される。すなわち、特定部４３２は、入力利用者のカテゴリの遷移態様を、基準クエリに至る経路に対応する遷移カテゴリに分類する。
【０１５８】
（学習部４３３）
少なくとも１つの実施形態では、学習部４３３は、特定部４３２より特定されたカテゴリの変遷の特徴をモデルに学習させる。
【０１５９】
少なくとも１つの実施形態では、学習部４３３は、入力利用者により入力された検索クエリが属するカテゴリの変遷を入力した際に、目的クエリを出力するように、モデルを学習させる。例えば、学習部４３３は、入力利用者により入力された検索クエリが属するカテゴリの変遷を入力した際に、目的クエリを入力された順序で出力するように、モデルを学習させる。
【０１６０】
少なくとも１つの実施形態では、学習部４３３は、カテゴリの変遷ごとに、モデルを学習させる。例えば、学習部４３３は、入力利用者により入力された検索クエリが属するカテゴリの変遷と対応するモデルに対し、この入力利用者により入力された検索クエリを入力された順番で入力した際に、この入力利用者が基準クエリよりも後に入力した検索クエリを出力するように、このモデルの学習を行う。
【０１６１】
少なくとも１つの実施形態では、学習部４３３は、類似するカテゴリの変遷と対応する検索クエリが入力された場合に、類似するベクトルを出力し、類似しないカテゴリの変遷と対応する検索クエリが入力された場合に、類似しないベクトルを出力するようにモデルの学習を行う。
【０１６２】
少なくとも１つの実施形態では、学習部４３３は、基準クエリと対応する対象へと至るまでに入力利用者が入力した検索クエリのカテゴリの変遷が有する特徴をモデルに学習させる。
【０１６３】
一例では、学習部４３３は、遷移カテゴリが類似する利用者の検索クエリの履歴が入力された場合に、類似するベクトルを生成し、遷移カテゴリが類似しない利用者の検索クエリの履歴が入力された場合に、類似しないベクトルを生成するように、モデルを学習する。例えば、学習部４３３は、基準クエリを入力したユーザによって過去に入力された検索クエリに基づいて、ユーザをグループ化する。図４を参照して上述したように、例えば、グループは、遷移カテゴリ＃１、遷移カテゴリ＃２、遷移カテゴリ＃３等の遷移カテゴリのグループである。そして、学習部４３３は、グループごとに、入力された検索クエリの変遷の特徴を、モデルに学習させる。より具体的には、学習部４３３は、検索クエリが属するカテゴリの変遷の特徴を、モデルに学習させる。言い換えると、学習部４３３は、カテゴリの変遷のカテゴリごとに、ユーザをグループ化し、このユーザの検索クエリの変遷を、モデルに学習させる。
【０１６４】
図４を参照して上述したように、例えば、入力利用者ＩＵ１は、遷移カテゴリ＃１に分類される。また、入力利用者ＩＵ２は、遷移カテゴリ＃２に分類される。学習部４３３は、所定の辞書を参照することによって、ある遷移カテゴリに類似する他の遷移カテゴリを特定することができる。例えば、遷移カテゴリ＃１が辞書において遷移カテゴリ＃２に関連付けられている場合に、学習部４３３は、遷移カテゴリ＃２を、遷移カテゴリ＃１に類似するカテゴリとして特定することができる。
【０１６５】
一例では、学習部４３３は、複数のユーザが同一の基準クエリを入力した場合であっても、モデルがカテゴリの変遷が異なる場合に異なるベクトルを出力するように、機械学習を行う。このため、学習部４３３は、ユーザの検索クエリやこの検索クエリのカテゴリを使用することによって、ユーザが基準クエリに至るユーザであるか、またはあるユーザによって入力される将来の検索クエリの特徴を、モデルに精度良く学習させることができる。上述のように、学習部４３３は、ユーザが過去に入力した検索クエリが属するカテゴリを特定し、特定されたカテゴリの変遷の種別ごとに、モデルの学習を行う。一例として、ユーザが検索クエリ「夢と魔法の国（例示の施設名）」を入力した場合に、学習部４３３は、ユーザがどのようにこの検索クエリに至るのかを、モデルに学習させることができる。このように、学習部４３３は、検索クエリのカテゴリの上位概念（例えば、遷移態様）を、モデルに学習させることができる。
【０１６６】
（推定部４３４）
少なくとも１つの実施形態では、推定部４３４は、利用者が入力された検索クエリか属するカテゴリの変遷から、学習部４３３により学習させたモデルを用いて、この利用者が将来入力する検索クエリを推定する。
【０１６７】
一例では、推定部４３４は、モデルを用いて、対象ユーザの検索クエリの履歴から対象ユーザが将来入力する検索クエリを予測する。図４を参照して上述したように、例えば、推定部４３４は、対象ユーザＴＵ１の検索クエリの履歴（例えば、検索クエリ＃４−１、検索クエリ＃４−２）を学習済みモデルに入力することによって、ベクトル＃４を生成する。ベクトル＃４は、対象ユーザＴＵ１のカテゴリの遷移態様を示す。例えば、推定部４３４は、生成されたベクトル＃４に類似するベクトルに対応する他の対象ユーザを特定し、特定された他の対象ユーザのユーザ情報に基づいて、強調フィルタリングを行うことができる。このようにして、推定部４３４は、対象ユーザＴＵ１のニーズの予測や、対象ユーザＴＵ１へのターゲティングを可能にすることができる。上述のグループ（例えば、指定カテゴリ）は、特定のマーケティング（例えば、機種変更）に対応してもよい。
【０１６８】
〔３．カテゴリ判定処理のフロー〕
次に、図１０を参照して、実施形態に係る情報提供装置１００によるカテゴリ判定処理の手順について説明する。
【０１６９】
図１０は、実施形態に係る情報提供装置１００によって実行される、利用者を分類するためのキーワードまたは検索クエリの分類が適切かを判定するための処理の一例を示すフローチャートである。
【０１７０】
図１０に示されるように、はじめに、情報提供装置１００の第１判定処理部４１０（例えば、取得部４１１）は、情報提供装置１００の検索クエリデータベース３１０から、検索履歴を取得する（ステップＳ１０１）。
【０１７１】
次いで、第１判定処理部４１０（例えば、取得部４１１）は、取得された検索履歴から、基準クエリを入力した入力利用者を特定する（ステップＳ１０２）。
【０１７２】
次いで、第１判定処理部４１０（例えば、分類部４１２）は、特定された入力利用者（例えば、取得部４１１によって特定された入力利用者）が入力した検索クエリを、期間ごとにカテゴリ分類する（ステップＳ１０３）。
【０１７３】
次いで、第１判定処理部４１０（例えば、判定部４１３）は、各期間における分類結果（例えば、各期間における分類部４１２による分類結果）の要素群が所定の条件を満たすか否かを判定する（ステップＳ１０４）。
【０１７４】
次いで、第１判定処理部４１０（例えば、判定部４１３）は、判定結果に応じて、基準クエリ若しくはカテゴリが適切であるかを判定する（ステップＳ１０５）。
【０１７５】
〔４．期間判定処理のフロー〕
次に、図１１を参照して、実施形態に係る情報提供装置１００による期間判定処理の手順について説明する。
【０１７６】
図１１は、実施形態に係る情報提供装置１００によって実行される、検索クエリの時系列中の期間が適切であるかを判定するための処理の一例を示すフローチャートである。
【０１７７】
図１１に示されるにように、はじめに、情報提供装置１００の第２判定処理部４２０（例えば、取得部４２１）は、情報提供装置１００の検索クエリデータベース３１０から、検索履歴を取得する（ステップＳ２０１）。
【０１７８】
次いで、第２判定処理部４２０（例えば、取得部４２１）は、取得された検索履歴から、基準クエリを入力した入力利用者を特定する（ステップＳ２０２）。
【０１７９】
次いで、第２判定処理部４２０（例えば、分類部４２２）は、特定された入力利用者（例えば、取得部４２１によって特定された入力利用者）が入力した検索クエリを期間ごとにカテゴリ分類する（ステップＳ２０３）。
【０１８０】
次いで、第２判定処理部４２０（例えば、判定部４２３）は、各期間における分類結果（例えば、各期間における分類部４２２による分類結果）の要素群が所定の条件を満たすか否かを判定する（ステップＳ２０４）。
【０１８１】
次いで、第２判定処理部４２０（例えば、判定部４２３）は、判定結果に応じて、期間が適切であるかを判定する（ステップＳ２０５）。
【０１８２】
〔５．モデル学習処理のフロー〕
次に、図１２を参照して、実施形態に係る情報提供装置１００によるモデル学習処理の手順について説明する。
【０１８３】
図１２は、実施形態に係る情報提供装置１００によって実行される、利用者によって入力される検索クエリのカテゴリの遷移を予測するためのモデルを学習するための処理の一例を示すフローチャートである。
【０１８４】
図１２に示されるにように、はじめに、情報提供装置１００の学習処理部４３０（例えば、取得部４３１）は、入力利用者が各期間において入力した検索クエリを取得する（ステップＳ３０１）。
【０１８５】
次いで、学習処理部４３０（例えば、特定部４３２）は、取得された検索クエリ（例えば、取得部４３１によって取得された検索クエリ）をカテゴリ分類する（ステップＳ３０２）。
【０１８６】
次いで、学習処理部４３０（例えば、特定部４３２）は、各入力利用者を、カテゴリの遷移態様ごとに分類する（ステップＳ３０３）。各入力利用者は、カテゴリの遷移態様を表す各遷移カテゴリに分類される。
【０１８７】
次いで、学習処理部４３０（例えば、学習部４３３）は、類似する遷移カテゴリの検索クエリの履歴が入力された場合は、類似するベクトルを出力し、類似しない遷移カテゴリの検索クエリの履歴が入力された場合は、類似しないベクトルを出力するように、モデルを学習する（ステップＳ３０４）。
【０１８８】
〔６．他の実施形態〕
上述の実施形態に係る情報提供装置１００は、上述の実施形態以外にも、種々の異なる形態で実施されてよい。そこで、以下では、上記の情報提供装置１００の他の実施形態について説明する。
【０１８９】
〔６−１．指定カテゴリの表現〕
上述の指定カテゴリは、基準クエリによって示される対象に至る経路を示すカテゴリであり得る。例えば、ユーザが、第１の雑誌に掲載された第１の漫画のタイトルを、期間「−３〜―２月」に、検索クエリとして入力し、第２の雑誌に掲載された第２の漫画のタイトルを、期間「−２〜―１月」に、検索クエリとして入力し、第３の雑誌に掲載された第３の漫画のタイトルを、期間「−１〜０月」に、検索クエリとして入力したと仮定する。さらに、他のユーザが、第１のアミューズメントパークでの第１のイベント名を、期間「−３〜―２月」に、検索クエリとして入力し、第２のアミューズメントパークでの第２のイベント名を、期間「−２〜―１月」に、検索クエリとして入力し、第３のアミューズメントパークでの第３のイベント名を、期間「−１〜０月」に、検索クエリとして入力したと仮定する。この例では、検索クエリ「第１の漫画のタイトル」、検索クエリ「第２の漫画のタイトル」および検索クエリ「第３の漫画のタイトル」は、指定カテゴリ「漫画」に属する。検索クエリ「第１の漫画のタイトル」は、指定カテゴリ「第１の雑誌」に属さなくてもよく、検索クエリ「第２の漫画のタイトル」は、指定カテゴリ「第２の雑誌」に属さなくてもよく検索クエリ「第３の漫画のタイトル」は、指定カテゴリ「第３の雑誌」に属さなくてもよい。すなわち、指定カテゴリは、検索クエリの分類するための通常のカテゴリ（例えば、第１の雑誌、第２の雑誌、第３の雑誌、第１のアミューズメントパーク、第２のアミューズメントパーク、第３のアミューズメントパーク）よりも上位のカテゴリ（例えば、漫画、アミューズメントパーク）であり得る。
【０１９０】
上述の指定カテゴリ「漫画」は、検索クエリ「第１の漫画のタイトル」および検索クエリ「第２の漫画のタイトル」を介して「第３の漫画のタイトル」に至る経路を、粗視化することができる。同様に、上述の指定カテゴリ「アミューズメントパーク」は、検索クエリ「第１のイベント名」および検索クエリ「第２のイベント名」を介して「第３のイベント名」に至る経路を、粗視化することができる。上述のように、情報提供装置１００の第１判定処理部４１０（例えば、分類部４１２）は、期間ごとに、基準クエリによって示される対象に至る複数の経路にそれぞれ対応する複数のカテゴリのうちのいずれかに、検索クエリを分類することができる。そして、第１判定処理部４１０（例えば、分類部４１２）は、分類結果に基づいて、基準クエリやカテゴリ（例えば、指定カテゴリ）が適切であるかを判定することができる。
【０１９１】
〔６−２．検索クエリの要素群の分散〕
上述の実施形態では、検索クエリの要素群が収束している場合に、情報提供装置１００の第１判定処理部４１０（例えば、判定部４１３）は、検索クエリのリストが適切であると判定しているが、これに限定されるものではない。要素群の分散が高い場合に（例えば、要素群が分散的に形成される場合に）、検索クエリのリストが適切であると判定してもよい。要素群の分散が高い場合に、検索クエリのリストの網羅性が高い可能性がある。このようなリストは、ターゲットの範囲が広いリストであり得る。例えば、リストは、多くのユーザが興味を持つキーワード（例えば、検索クエリ）を含み得る。一方、要素群の分散が低い場合に、リストは、特定のターゲットユーザが興味を持つキーワード（例えば、検索クエリ）を含み得る。
【０１９２】
〔６−３．機械学習モデルによる検索行動の予測〕
上述の実施形態では、情報提供装置１００の学習処理部４３０（例えば、学習部４３３）は、モデルがカテゴリの遷移態様を示すベクトルを出力するように、モデルの学習を行っているが、これに限定されるものではない。学習処理部４３０（例えば、学習部４３３）は、特定の時系列の検索履歴を学習した機械学習モデルを使用することによって、あるユーザの特定の時系列の検索履歴から、将来の検索クエリを予測してもよい。一般的に、過去の行動は、未来の行動のトリガである。未来の行動は、過去の複数の行動に起因することがある。このような機械学習では、基準日時より前の期間に入力された検索クエリが、説明変数に対応する。一方、基準日時より後の期間に入力された検索クエリは、目的変数に対応する。ユーザの特定の時系列の検索履歴が学習済みモデルに入力された場合に、学習済みモデルは、将来の検索クエリを推定することができる。
【０１９３】
時系列に沿った複数の検索クエリは、予めベクトル化されていてもよい。上述のように、例えば、検索クエリに対応する埋め込みベクトルは、各種言語表現モデルを訓練することによって、獲得され得る。
【０１９４】
いくつかの実装形態では、情報提供装置１００の学習処理部４３０（例えば、学習部４３３）は、検索ログを含む訓練データを使用することによって、系列変換モデル（Sequence  To  Sequence  Model）等のモデルアーキテクチャを訓練してもよい。例えば、学習部４３３は、検索ログを含む訓練データを使用して系列変換モデルに対応する負の対数尤度を最小化することによって、系列変換モデルを訓練することができる。系列変換モデルの例は、トランスフォーマモデル（Transformer  Model）等のアテンション機構を有するモデルや、ＲＮＮ（Recurrent  Neural  Network）（例えば、ＬＳＴＭ（Long  Short  Term  Memory）等のゲート付きＲＮＮ）を含む。訓練データに含まれるインスタンスは、例えば、時系列の検索クエリや、時系列のカテゴリ（すなわち、カテゴリの遷移）である。インスタンスに関連付けられたラベルは、例えば、検索クエリ（例えば、基準クエリ）や、カテゴリ（例えば、指定カテゴリ）である。学習部４３３は、訓練済みの系列変換モデルに、時系列の検索クエリを入力することによって、将来の検索クエリや将来のカテゴリを予測することができる。
【０１９５】
〔６−４．時系列の検索クエリに基づくターゲティング〕
いくつかの実施形態では、情報提供装置１００の第１判定処理部４１０または第２判定処理部４２０は、検索クエリのうち、第１の検索クエリが入力される前に入力された、この第１の検索クエリに関連する第２の検索クエリを、この第１の検索クエリに基づくターゲティングに使用されるキーワードとして特定する特定部（図示せず）を有してもよい。情報提供装置１００の学習処理部４３０に関しては、上述の特定部４３２は、第１特定部として実装されてもよい。この場合、上述の特定部は、学習処理部４３０において第２特定部として実装されてもよい。
【０１９６】
特定部は、時系列の検索クエリから、ある日時に入力された第１の検索クエリと関連性のある、この日時より前に入力された第２の検索クエリを特定する。後述するように、特定部は、特定された第２のクエリを、第１の検索クエリに基づくターゲティングに使用することができる。
【０１９７】
時系列の検索クエリは、例えば、取得部４１１や取得部４２１によって取得された、基準クエリを入力した複数の入力利用者によって入力された検索クエリである。第１の検索クエリは、基準クエリであってもよく、基準クエリ以外の検索クエリであってもよい。
【０１９８】
一例として、第１の検索クエリと関連性のある第２の検索クエリは、図１を参照して上述した検索クエリ間の関連度に基づいて、特定されてもよい。上述のように、検索クエリ間の関連度は、例えば、検索クエリに対応する埋め込みベクトル間のコサイン類似度であってもよい。例えば、第１の検索クエリと他の検索クエリとの関連度が閾値を満たす場合に、特定部は、他の検索クエリを、第２の検索クエリとして特定してもよい。例えば、第１の検索クエリが「機種変更」である場合に、第２の検索クエリは、バッテリ交換、料金プラン、パケット料金等の検索クエリであってもよい。あるいは、第２の検索クエリは、企業Ｃ１（例示の企業名）、社長Ｐ１（例示の人名）、あの犬（例示のマスコット名）、スマートフォンＳＰ１（例示のスマートフォン名）等の、図１を参照して上述した検索クエリであってもよい。
【０１９９】
別の例として、第１の検索クエリと関連性のある第２の検索クエリは、第１の検索クエリが入力される前の所定の期間における検索クエリの数または検索クエリを入力したユーザの数に基づいて、特定されてもよい。例えば、検索クエリの数またはユーザの数が閾値を満たす場合に、特定部は、この検索クエリを、第２の検索クエリとして特定してもよい。
【０２００】
第１の検索クエリに基づくターゲティングは、例えば、第１の検索クエリに対応する取引対象（例えば、商品またはサービス）のターゲティングである。特定部は、取引対象に関する情報（例えば、広告コンテンツ）を、ユーザにターゲティングすることができる。言い換えると、広告コンテンツのターゲットが、特定のユーザに絞られる。いくつかの実装形態では、情報提供装置１００の記憶部３００は、ユーザ装置５００のユーザのユーザ情報を記憶するユーザデータベース（図示せず）を有してもよい。特定部は、ＳＱＬ（Structured  Query  Language）クエリを処理し、第２の検索クエリを入力したユーザを、ユーザデータベースから特定してもよい。そして、特定部は、特定されたユーザに、取引対象に関する情報を提供してもよい。
【０２０１】
説明のための一例として、第１の検索クエリが、「機種変更」であると仮定する。さらに、第１の検索クエリと関連性のある第２の検索クエリが、「バッテリ交換」であると仮定する。この例では、特定部は、検索クエリ「機種変更」に対応する取引対象に関する情報を、検索クエリ「バッテリ交換」を入力したユーザにターゲティングすることができる。特定部は、機種変更に関する各種情報（例えば、機種変更キャンペーンに関する情報、広告コンテンツ）を、ユーザの電子メールアカウント、ユーザへのプッシュ通知またはユーザのパーソナルページなどを介して、提供することができる。
【０２０２】
特定部は、特定された第２のクエリを、広告ターゲティングデータ（例えば、ターゲティングキーワード）として、情報提供装置１００に関係するエンティティに提供してもよい。また、特定部は、特定された第２のクエリを入力したユーザを、ユーザデータベースから特定し、特定されたユーザを、ターゲティンググループに分類してもよい。ターゲティンググループは、例えば、第２のクエリを入力したユーザに関する情報（例えば、ユーザＩＤ）を含む。特定部は、第２のクエリに関連付けられたターゲティンググループを、広告ターゲティングデータとして、情報提供装置１００に関係するエンティティに提供してもよい。
【０２０３】
〔７．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０２０４】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０２０５】
例えば、図５に示した記憶部３００の一部又は全部は、情報提供装置１００によって保持されるのではなく、ストレージサーバ等に保持されてもよい。この場合、情報提供装置１００は、ストレージサーバにアクセスすることで、検索クエリ等の各種情報を取得する。
【０２０６】
〔８．ハードウェア構成〕
また、上述してきた実施形態に係る情報提供装置１００は、例えば図１３に示すような構成のコンピュータ１０００によって実現される。図１３は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（Interface）１０６０、入力ＩＦ１０７０、ネットワークＩＦ１０８０がバス１０９０により接続された形態を有する。
【０２０７】
演算装置１０３０は、一次記憶装置１０４０や二次記憶装置１０５０に格納されたプログラムや入力装置１０２０から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置１０４０は、ＲＡＭ等、演算装置１０３０が各種の演算に用いるデータを一時的に記憶するメモリ装置である。また、二次記憶装置１０５０は、演算装置１０３０が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ＲＯＭ（Read  Only  Memory）、ＨＤＤ（Hard  Disk  Drive）、フラッシュメモリ等により実現される。
【０２０８】
出力ＩＦ１０６０は、モニタやプリンタといった各種の情報を出力する出力装置１０１０に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、ＵＳＢ（Universal  Serial  Bus）やＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High  Definition  Multimedia  Interface）といった規格のコネクタにより実現される。また、入力ＩＦ１０７０は、マウス、キーボード、およびスキャナ等といった各種の入力装置１０２０から情報を受信するためのインタフェースであり、例えば、ＵＳＢ等により実現される。
【０２０９】
なお、入力装置１０２０は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置１０２０は、ＵＳＢメモリ等の外付け記憶媒体であってもよい。
【０２１０】
ネットワークＩＦ１０８０は、ネットワークＮを介して他の機器からデータを受信して演算装置１０３０へ送り、また、ネットワークＮを介して演算装置１０３０が生成したデータを他の機器へ送信する。
【０２１１】
演算装置１０３０は、出力ＩＦ１０６０や入力ＩＦ１０７０を介して、出力装置１０１０や入力装置１０２０の制御を行う。例えば、演算装置１０３０は、入力装置１０２０や二次記憶装置１０５０からプログラムを一次記憶装置１０４０上にロードし、ロードしたプログラムを実行する。
【０２１２】
例えば、コンピュータ１０００が情報提供装置１００として機能する場合、コンピュータ１０００の演算装置１０３０は、一次記憶装置１０４０上にロードされたプログラムを実行することにより、制御部４００の機能を実現する。
【０２１３】
〔９．効果〕
上述してきたように、実施形態に係る情報提供装置１００の第２判定処理部４２０は、取得部４２１と、判定部４２３とを有する。
【０２１４】
実施形態に係る情報提供装置１００において、取得部４２１は、基準クエリを入力した複数の入力利用者により入力された検索クエリであって、所定の期間内に入力された検索クエリを取得する。また、実施形態に係る情報提供装置１００において、判定部４２３は、検索クエリを入力した入力利用者の属性、若しくは、この検索クエリが所定の条件を満たすか否かに基づいて、所定の期間が適切であるか否かを判定する。
【０２１５】
また、実施形態に係る情報提供装置１００において、判定部４２３は、所定の期間の長さが適切であるか否かを判定する。
【０２１６】
また、実施形態に係る情報提供装置１００の第２判定処理部４２０は、入力利用者の属性に応じて、所定の期間内に検索クエリを入力した入力利用者を複数のカテゴリに分類する分類部４２２（例えば、第１分類部として実装される分類部４２２）を有する。また、実施形態に係る情報提供装置１００において、判定部４２３は、分類部４２２（例えば、第１分類部として実装される分類部４２２）による分類結果が所定の条件を満たすか否かに基づいて、所定の期間が適切であるか否かを判定する。
【０２１７】
また、実施形態に係る情報提供装置１００において、判定部４２３は、入力利用者が分類されたカテゴリの数が所定の閾値以下となる場合は、所定の期間が適切であると判定する。
【０２１８】
また、実施形態に係る情報提供装置１００において、判定部４２３は、分類部４２２（例えば、第１分類部として実装される分類部４２２）により各カテゴリに分類された利用者の割合が所定の条件を満たす場合は、所定の期間が適切であると判定する。
【０２１９】
また、実施形態に係る情報提供装置１００の第２判定処理部４２０は、所定の期間内に入力された検索クエリを複数のカテゴリに分類する分類部４２２（例えば、第２分類部として実装される分類部４２２）を有する。また、実施形態に係る情報提供装置１００において、判定部４２３は、分類部４２２（例えば、第２分類部として実装される分類部４２２）による分類結果が所定の条件を満たすか否かに基づいて、所定の期間が適切であるか否かを判定する。
【０２２０】
また、実施形態に係る情報提供装置１００において、判定部４２３は、検索クエリが分類されたカテゴリの数が所定の条件を満たすか否かを判定する。
【０２２１】
また、実施形態に係る情報提供装置１００において、判定部４２３は、検索クエリのうち所定の割合以上の検索クエリが分類されたカテゴリの数が所定の閾値以下となるか否かを判定する。
【０２２２】
また、実施形態に係る情報提供装置１００において、判定部４２３は、検索クエリのうち所定の割合以上の検索クエリが分類されたカテゴリを特定し、特定したカテゴリに分類された検索クエリを入力した利用者の数が所定の閾値以上となるか否かを判定する。
【０２２３】
また、実施形態に係る情報提供装置１００において、取得部４２１は、基準クエリが入力された基準日時を基準としたそれぞれ異なる複数の期間内において入力利用者により入力された検索クエリを取得する。また、実施形態に係る情報提供装置１００において、判定部４２３は、期間ごとに、この期間が適切であるか否かを判定する。
【０２２４】
また、実施形態に係る情報提供装置１００の第２判定処理部４２０は、検索クエリのうち、第１の検索クエリが入力される前に入力された、この第１の検索クエリに関連する第２の検索クエリを、この第１の検索クエリに基づくターゲティングに使用されるキーワードとして特定する特定部を有する。
【０２２５】
上述した各処理により、情報提供装置１００は、利用者と所定の検索クエリが示す対象との関係性をより適切に分析することができる。
【０２２６】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０２２７】
また、上述した情報提供装置１００は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をＡＰＩ（Application  Programming  Interface）やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
【０２２８】
また、上述してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【０２２９】
１  情報提供システム
１００  情報提供装置
２００  通信部
３００  記憶部
３１０  検索クエリデータベース
４００  制御部
４１０  第１判定処理部
４１１  取得部
４１２  分類部
４１３  判定部
４１４  出力部
４１５  抽出部
４１６  提供部
４２０  第２判定処理部
４２１  取得部
４２２  分類部
４２３  判定部
４２４  出力部
４３０  学習処理部
４３１  取得部
４３２  特定部
４３３  学習部
４３４  推定部
５００  ユーザ装置
６００  ログサーバ
７００  操作者装置
【図１】
2022002120.tif 000003
【図２】
2022002120.tif 000004
【図３】
2022002120.tif 000005
【図４】
2022002120.tif 000006
【図５】
2022002120.tif 000007
【図６】
2022002120.tif 000008
【図７】
2022002120.tif 000009
【図８】
2022002120.tif 000010
【図９】
2022002120.tif 000011
【図１０】
2022002120.tif 000012
【図１１】
2022002120.tif 000013
【図１２】
2022002120.tif 000014
【図１３】
2022002120.tif 000015