(57)【要約】【課題】有用な情報を得ること。【解決手段】本願に係る抽出装置は、受付部と抽出部を有する。受付部は、利用者から事象の指定を受付ける。抽出部は、取引対象を示す対象情報が検索クエリとして入力された際の検索意図と、利用者によって指定された事象を示す事象情報が検索クエリとして入力された際の検索意図との類似性に基づいて、利用者によって指定された事象と所定の関連性を有する取引対象である関連取引対象を示す関連対象情報を抽出する。【選択図】図１
2020194368.tif 000002
【特許請求の範囲】
【請求項１】
利用者から事象の指定を受付ける受付部と、
取引対象を示す対象情報が検索クエリとして入力された際の検索意図と、前記利用者によって指定された事象を示す事象情報が検索クエリとして入力された際の検索意図との類似性に基づいて、前記利用者によって指定された事象と所定の関連性を有する取引対象である関連取引対象を示す関連対象情報を抽出する抽出部と、
を有することを特徴とする抽出装置。
【請求項２】
前記受付部は、
前記利用者から取引対象の属性の指定を受け付け、
前記抽出部は、
前記利用者によって指定された属性を有する前記関連取引対象を示す前記関連対象情報を抽出する
ことを特徴とする請求項１に記載の抽出装置。
【請求項３】
前記受付部は、
前記利用者からそれぞれ異なる複数の取引対象を含む取引対象の組の指定を受け付け、
前記抽出部は、
前記利用者によって指定された組に含まれるそれぞれの取引対象が示す対象情報が検索クエリとして入力された際の検索意図と、前記利用者によって指定された事象を示す事象情報が検索クエリとして入力された際の検索意図との類似性に基づいて、前記組の中から前記関連取引対象を示す前記関連対象情報を抽出する
ことを特徴とする請求項１または２に記載の抽出装置。
【請求項４】
前記対象情報が検索クエリとして入力された際の検索意図と、前記事象情報が検索クエリとして入力された際の検索意図との類似性を示すスコアを算出する算出部をさらに備え、
前記抽出部は、
前記算出部によって算出されたスコアに基づいて、前記関連取引対象を示す前記関連対象情報を抽出する
ことを特徴とする請求項１〜３のいずれか一つに記載の抽出装置。
【請求項５】
前記算出部は、
前記対象情報である文字情報に対応する分散表現と前記事象情報である文字情報に対応する分散表現との類似度を前記スコアとして算出する
ことを特徴とする請求項４に記載の抽出装置。
【請求項６】
前記抽出部は、
前記算出部によって算出されたスコアと所定の閾値との比較に基づいて、前記関連取引対象を示す前記関連対象情報を抽出する
ことを特徴とする請求項４または５に記載の抽出装置。
【請求項７】
前記抽出部は、
前記算出部によって算出されたスコア順に並べられた前記取引対象を示す前記対象情報の一覧を抽出する
ことを特徴とする請求項４〜６のいずれか一つに記載の抽出装置。
【請求項８】
前記受付部は、
イベント、行事、催し物又は人間の活動状態である前記事象の指定を受け付ける
ことを特徴とする請求項１〜７のいずれか一つに記載の抽出装置。
【請求項９】
前記抽出部は、
物品である前記取引対象を示す対象情報を抽出する
ことを特徴とする請求項１〜８のいずれか一つに記載の抽出装置。
【請求項１０】
前記抽出部は、
商品又はサービスである前記取引対象を示す対象情報を抽出する
ことを特徴とする請求項１〜９のいずれか一つに記載の抽出装置。
【請求項１１】
前記抽出部によって抽出された関連取引対象を示す関連対象情報を提供する提供部
をさらに備えることを特徴とする請求項１〜１０のいずれか一つに記載の抽出装置。
【請求項１２】
前記提供部は、
前記抽出部によって抽出された関連取引対象を示す関連対象情報に基づいて、前記関連取引対象に関する所定の傾向に関する情報を提供する
ことを特徴とする請求項１１に記載の抽出装置。
【請求項１３】
前記提供部は、
前記抽出部によって抽出された関連取引対象に関連する商品又はサービスに関する提案情報を提供する
ことを特徴とする請求項１１または１２に記載の抽出装置。
【請求項１４】
コンピュータが実行する抽出方法であって、
利用者から事象の指定を受付ける受付工程と、
取引対象を示す対象情報が検索クエリとして入力された際の検索意図と、前記利用者によって指定された事象を示す事象情報が検索クエリとして入力された際の検索意図との類似性に基づいて、前記利用者によって指定された事象と所定の関連性を有する取引対象である関連取引対象を示す関連対象情報を抽出する抽出工程と、
を含むことを特徴とする抽出方法。
【請求項１５】
利用者から事象の指定を受付ける受付手順と、
取引対象を示す対象情報が検索クエリとして入力された際の検索意図と、前記利用者によって指定された事象を示す事象情報が検索クエリとして入力された際の検索意図との類似性に基づいて、前記利用者によって指定された事象と所定の関連性を有する取引対象である関連取引対象を示す関連対象情報を抽出する抽出手順と、
をコンピュータに実行させることを特徴とする抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、抽出装置、抽出方法及び抽出プログラムに関する。
【背景技術】
【０００２】
近年、インターネットの飛躍的な普及に伴い、例えば、インターネット上の種々の情報を用いた分析に関する技術が提供されている。例えば、利用者が入力した検索クエリに基づいて、所定の事業者が提供する対象に対するニーズに関する情報を抽出する技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１９−３２７７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、有用な情報を得ることができるとは限らない。例えば、上記の従来技術では、所定の事業者が提供する対象に対するニーズに関する情報を抽出しているに過ぎないので、対象を所望する利用者に提案する他の対象を適切に選択できるとは言えない。
【０００５】
本願は、上記に鑑みてなされたものであって、有用な情報を得ることができる抽出装置、抽出方法及び抽出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本願に係る抽出装置は、利用者から事象の指定を受付ける受付部と、取引対象を示す対象情報が検索クエリとして入力された際の検索意図と、前記利用者によって指定された事象を示す事象情報が検索クエリとして入力された際の検索意図との類似性に基づいて、前記利用者によって指定された事象と所定の関連性を有する取引対象である関連取引対象を示す関連対象情報を抽出する抽出部と、を有することを特徴とする。
【発明の効果】
【０００７】
実施形態の一態様によれば、有用な情報を得ることができるといった効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る抽出処理の一例を示す図である。
【図２】図２は、実施形態に係る抽出システムの構成例を示す図である。
【図３】図３は、実施形態に係る抽出装置の構成例を示す図である。
【図４】図４は、実施形態に係る指定情報記憶部の一例を示す図である。
【図５】図５は、実施形態に係る事象情報記憶部の一例を示す図である。
【図６】図６は、実施形態に係る物品情報記憶部の一例を示す図である。
【図７】図７は、実施形態に係るモデル情報記憶部の一例を示す図である。
【図８】図８は、実施形態に係る抽出手順を示すフローチャートである。
【図９】図９は、実施形態に係る第１モデルの生成処理の一例を示す図である。
【図１０】図１０は、実施形態に係る第１モデルの生成処理の一例を示す図である。
【図１１】図１１は、実施形態に係る生成装置の構成例を示す図である。
【図１２】図１２は、実施形態に係るクエリ情報記憶部の一例を示す図である。
【図１３】図１３は、実施形態に係るベクトル情報記憶部の一例を示す図である。
【図１４】図１４は、実施形態に係るモデル情報記憶部の一例を示す図である。
【図１５】図１５は、実施形態に係る第１モデルの一例を示す図である。
【図１６】図１６は、実施形態に係る第１モデルの生成処理手順を示すフローチャートである。
【図１７】図１７は、プログラムを実行するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る抽出装置、抽出方法及び抽出プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る抽出装置、抽出方法及び抽出プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【００１０】
〔１．抽出処理の一例〕
まず、図１を用いて、実施形態に係る抽出処理の一例について説明する。図１は、実施形態に係る抽出処理の一例を示す図である。実施形態に係る抽出処理は、図１に示す抽出装置１００によって行われる。図１に示す抽出装置１００は、クライアント（企業等）に対して、検索クエリの分析サービスを提供するサーバ装置である。
【００１１】
図１の説明に先立って、図２を用いて、実施形態に係る抽出システムの構成について説明する。図２は、実施形態に係る抽出システムの構成例を示す図である。図２に示すように、抽出システム１には、端末装置１０と、検索サーバ２０と、生成装置５０と、抽出装置１００とが含まれる。端末装置１０と、検索サーバ２０と、生成装置５０と、抽出装置１００とは所定のネットワークＮを介して、有線または無線により通信可能に接続される。なお、図２に示す抽出システム１には、任意の数の端末装置１０と任意の数の検索サーバ２０と任意の数の生成装置５０と任意の数の抽出装置１００とが含まれてもよい。
【００１２】
端末装置１０は、クライアント（企業等）の担当者である利用者によって使用される情報処理装置である。端末装置１０は、例えば、スマートフォンや、タブレット型端末や、ノート型ＰＣ（Personal  Computer）や、携帯電話機や、ＰＤＡ（Personal  Digital  Assistant）等により実現される。図１に示す例では、端末装置１０はノート型ＰＣである。なお、以下では、端末装置１０を利用者と同一視する場合がある。すなわち、以下では、利用者を端末装置１０と読み替えることもできる。
【００１３】
端末装置１０は、クライアント（企業等）の担当者である利用者Ｕ１０の操作に従って、利用者Ｕ１０によって指定された事象を示す事象情報（例えば、文字情報である「イベント」）を抽出装置１００に送信する。また、端末装置１０は、利用者Ｕ１０の操作に従って、利用者Ｕ１０によって指定された物品を示す物品情報（例えば、文字情報である「お酒」）を抽出装置１００に送信する。例えば、端末装置１０は、抽出装置１００によって提供される検索クエリの分析サービスを利用するためのユーザーインターフェースを通じて、事象情報および物品情報を抽出装置１００に送信する。
【００１４】
検索サーバ２０は、検索サービスを提供するサーバ装置である。例えば、検索サーバ２０が提供する検索サービスは、あらゆる情報を検索可能な総合検索サービスである。検索サーバ２０は、利用者によって入力された検索クエリに関する情報を記憶する。具体的には、検索サーバ２０は、利用者の検索履歴に関する情報を記憶する。また、検索サーバ２０は、生成装置５０の要求に応じて、利用者によって入力された検索クエリに関する情報を生成装置５０に送信する。
【００１５】
生成装置５０は、第１モデルＭ１を生成するサーバ装置である。生成装置５０は、後述する処理を実行することにより、第１モデルＭ１を生成する。第１モデルＭ１は、文字情報を入力すると、文字情報（例えば、検索クエリ）の分散表現を出力するモデルである。ここで、第１モデルＭ１から出力される文字情報の分散表現には、その文字情報が検索クエリとして入力された際の利用者の検索意図を示す特徴情報が含まれている。すなわち、第１モデルＭ１から出力される所定の文字情報の分散表現と他の文字情報の分散表現が類似することは、所定の文字情報が検索クエリとして入力された際の利用者の検索意図と他の文字情報が検索クエリとして入力された際の利用者の検索意図とが類似することを意味する。なお、生成装置５０による第１モデルの生成処理の詳細については後述する。
【００１６】
抽出装置１００は、企業等であるクライアントに対して、クライアントが指定した分析対象を示すキーワード（文字情報）に関する一般利用者の検索動向を分析する検索クエリの分析サービスを提供するサーバ装置である。図１に示す例では、抽出装置１００は、利用者から事象の指定を受付ける。また、抽出装置１００は、取引対象を示す対象情報が検索クエリとして入力された際の検索意図と、利用者によって指定された事象を示す事象情報が検索クエリとして入力された際の検索意図との類似性に基づいて、利用者によって指定された事象と所定の関連性を有する取引対象である関連取引対象を示す関連対象情報を抽出する。
【００１７】
一般的に、検索クエリの分析サービスでは、クライアントから指定されたキーワードを受付けて、膨大な検索クエリのデータベースの中から、指定されたキーワードと類似するキーワードを抽出して、抽出した検索クエリをクライアントに対して提供する。ここで、検索クエリのデータベースには膨大な数のキーワードが存在するため、指定されたキーワードと類似するキーワードを抽出する際には、類似度による足きりが行われるのが一般的である。その結果、例えば、クライアントから指定されたキーワードが「ウォッカ」や「紹興酒」といったお酒の種類である場合には、指定されたキーワードとの類似度が高いキーワードとして、やはり同じお酒のカテゴリに属する「泡盛」や「ビール」といったキーワードが抽出される可能性が高くなる。しかしながら、指定されたキーワードと同じカテゴリ又は類似するカテゴリに属するキーワードの情報からは、指定されたキーワードが示す分析対象に対する新たな知見を得るために有用な情報を得ることは難しい。
【００１８】
そこで、本願発明に係る抽出装置１００は、企業等のクライアントである利用者から、事象の指定を受付ける。例えば、クライアントから「パーティ」といった事象の指定を受付ける。これにより、本願発明に係る抽出装置１００は、例えば、クライアントが分析を所望するキーワードである「ウォッカ」や「紹興酒」といったお酒の種類について、クライアントから指定された事象である「パーティ」を分析の軸とした新たな知見を得るために有用な情報を得ることができる。例えば、本願発明に係る抽出装置１００は、「ウォッカ」や「紹興酒」といったお酒の種類と、クライアントから指定された事象である「パーティ」の関連性についての知見を得ることができる。
【００１９】
ここから、図１を用いて、抽出処理の流れについて説明する。図１では、抽出装置１００は、利用者ＩＤ「Ｕ１０」で識別される利用者（利用者Ｕ１０）から事象の指定と物品の指定とを受付ける（ステップＳ１）。具体的には、抽出装置１００は、利用者Ｕ１０によって指定された事象であるイベントを示す文字情報「イベント」と利用者Ｕ１０によって指定された物品であるお酒を示す文字情報「お酒」とを端末装置１０から受け付ける。
【００２０】
続いて、抽出装置１００は、利用者Ｕ１０から事象の指定と物品の指定とを受付けると、指定された事象の具体例に関する情報の一覧である事象リストと、指定された物品の具体例に関する情報の一覧である物品リストとを取得する（ステップＳ２）。具体的には、抽出装置１００は、利用者によって指定された事象であるイベントの具体例に関する情報の一覧である事象リストと、利用者によって指定された物品であるお酒の具体例に関する情報の一覧である物品リストとを取得する。例えば、抽出装置１００は、「パーティ」、「ウェディング」、「ハロウィン」、…といったイベントの具体例を示す文字情報の一覧である事象リストを取得する。また、抽出装置１００は、「ウォッカ」、「紹興酒」、「ビール」、…といったお酒の具体例を示す文字情報の一覧である物品リストを取得する。
【００２１】
続いて、抽出装置１００は、事象リストと物品リストとを取得すると、物品リストに含まれるお酒の具体例を示す文字情報が検索クエリとして入力された際の検索意図と、事象リストに含まれるイベントの具体例を示す文字情報が検索クエリとして入力された際の検索意図との類似性を示すスコアを算出する（ステップＳ３）。
【００２２】
具体的には、抽出装置１００は、事象リストを取得すると、事象リストに含まれるイベントの具体例を示す文字情報を生成装置５０から取得した第１モデルＭ１に入力する。続いて、抽出装置１００は、イベントの具体例を示す文字情報を第１モデルＭ１に入力することにより、イベントの具体例を示す文字情報に対応する分散表現を出力する。例えば、抽出装置１００は、パーティを示す文字情報「パーティ」を第１モデルＭ１に入力することにより、パーティを示す文字情報「パーティ」に対応する分散表現を出力する。また、抽出装置１００は、ウェディングを示す文字情報「ウェディング」を第１モデルＭ１に入力することにより、ウェディングを示す文字情報「ウェディング」に対応する分散表現を出力する。また、抽出装置１００は、ハロウィンを示す文字情報「ハロウィン」を第１モデルＭ１に入力することにより、ハロウィンを示す文字情報「ハロウィン」に対応する分散表現を出力する。
【００２３】
また、抽出装置１００は、物品リストを取得すると、物品リストに含まれるお酒の具体例を示す文字情報を生成装置５０から取得した第１モデルＭ１に入力する。続いて、抽出装置１００は、お酒の具体例を示す文字情報を第１モデルＭ１に入力することにより、お酒の具体例を示す文字情報に対応する分散表現を出力する。例えば、抽出装置１００は、ウォッカを示す文字情報「ウォッカ」を第１モデルＭ１に入力することにより、ウォッカを示す文字情報「ウォッカ」に対応する分散表現を出力する。また、抽出装置１００は、紹興酒を示す文字情報「紹興酒」を第１モデルＭ１に入力することにより、紹興酒を示す文字情報「紹興酒」に対応する分散表現を出力する。また、抽出装置１００は、ビールを示す文字情報「ビール」を第１モデルＭ１に入力することにより、ビールを示す文字情報「ビール」に対応する分散表現を出力する。
【００２４】
続いて、抽出装置１００は、お酒の具体例を示す文字情報に対応する分散表現とイベントの具体例を示す文字情報に対応する分散表現との類似性を示すスコアを算出する。具体的には、抽出装置１００は、事象リストに含まれるイベントの具体例毎に、各イベントの具体例を示す文字情報に対応する分散表現と物品リストに含まれる各お酒の具体例を示す文字情報に対応する分散表現との類似度を算出する。例えば、抽出装置１００は、事象の具体例を示す文字情報に対応する分散表現とお酒の具体例を示す文字情報に対応する分散表現のコサイン類似度の値をスコアとして算出する。
【００２５】
ここで、第１モデルＭ１から出力される文字情報の分散表現には、文字情報が検索クエリとして入力された際の利用者の検索意図を示す特徴情報が含まれている。例えば、第１モデルＭ１から出力された「パーティ」の分散表現には、「パーティ」が検索クエリとして入力された際の利用者の検索意図を示す特徴情報が含まれている。また、第１モデルＭ１から出力された「ビール」の分散表現には、「ビール」が検索クエリとして入力された際の利用者の検索意図を示す特徴情報が含まれている。すなわち、第１モデルＭ１から出力された所定の文字情報の分散表現と他の文字情報の分散表現とが類似することは、所定の文字情報が検索クエリとして入力された際の利用者の検索意図と他の文字情報が検索クエリとして入力された際の利用者の検索意図とが類似することを意味する。そこで、抽出装置１００は、イベントの具体例を示す文字情報が検索クエリとして入力された際の検索意図と、お酒の具体例を示す文字情報が検索クエリとして入力された際の検索意図との類似性を示すスコアとして、イベントの具体例を示す文字情報の分散表現とお酒の具体例を示す文字情報の分散表現との類似度を算出する。
【００２６】
例えば、抽出装置１００は、パーティを示す文字情報「パーティ」に対応する分散表現と各お酒の具体例を示す各文字情報（例えば、「ウォッカ」、「紹興酒」、「ビール」…）に対応する各分散表現のコサイン類似度の値をスコアとして算出する。続いて、図１の左下方に示すように、抽出装置１００は、パーティとの類似度に関するスコアが高いお酒の具体例をスコアとともに上から順番に並べた表を抽出する。
【００２７】
また、抽出装置１００は、ウェディングを示す文字情報「ウェディング」に対応する分散表現と各お酒の具体例を示す各文字情報（例えば、「ウォッカ」、「紹興酒」、「ビール」…）に対応する各分散表現のコサイン類似度の値をスコアとして算出する。続いて、図１の中央下方に示すように、抽出装置１００は、ウェディングとの類似度に関するスコアが高いお酒の具体例をスコアとともに上から順番に並べた表を抽出する。
【００２８】
また、抽出装置１００は、ハロウィンを示す文字情報「ハロウィン」に対応する分散表現と各お酒の具体例を示す各文字情報（例えば、「ウォッカ」、「紹興酒」、「ビール」…）に対応する各分散表現のコサイン類似度の値をスコアとして算出する。続いて、図１の右下方に示すように、抽出装置１００は、ハロウィンとの類似度に関するスコアが高いお酒の具体例をスコアとともに上から順番に並べた表を抽出する。
【００２９】
続いて、抽出装置１００は、算出したスコアと所定の閾値との比較に基づいて、イベントの具体例と所定の関連性を有するお酒の具体例である関連お酒を示す関連文字情報を抽出する（ステップＳ４）。具体的には、抽出装置１００は、算出したスコアが所定の閾値（例えば、「０．５０」）以上であるお酒の具体例を示す文字情報を、イベントの具体例と所定の関連性を有する関連お酒を示す関連文字情報として抽出する。
【００３０】
例えば、図１の左下方に示す例では、抽出装置１００は、算出したスコアが所定の閾値（例えば、「０．５０」）以上であるお酒の具体例を示す文字情報である「ビール」と「ワイン」と「シャンパン」を、パーティと所定の関連性を有する関連お酒を示す関連文字情報として抽出する。
【００３１】
また、図１の中央下方に示す例では、抽出装置１００は、算出したスコアが所定の閾値（例えば、「０．５０」）以上であるお酒の具体例を示す文字情報である「ワイン」と「ビール」と「シャンパン」を、ウェディングと所定の関連性を有する関連お酒を示す関連文字情報として抽出する。
【００３２】
また、図１の右下方に示す例では、抽出装置１００は、算出したスコアが所定の閾値（例えば、「０．５０」）以上であるお酒の具体例を示す文字情報である「ジン」と「シャンパン」と「ビール」を、ハロウィンと所定の関連性を有する関連お酒を示す関連文字情報として抽出する。
【００３３】
続いて、抽出装置１００は、イベントの具体例と所定の関連性を有する関連お酒を示す関連文字情報を抽出すると、イベントの具体例と所定の関連性を有する関連お酒に関する情報を利用者Ｕ１０に対して提供する。具体的には、抽出装置１００は、抽出した関連文字情報とイベントの具体例を示す文字情報とをセットにした情報をイベントの具体例毎に生成して、生成した情報を端末装置１０に送信する。
【００３４】
また、抽出装置１００は、抽出した関連お酒に関する情報に基づいて、利用者によって指定された事象であるイベントと所定の関連性を有するお酒の傾向に関する情報を抽出して、抽出した情報を利用者Ｕ１０に対して提供する。例えば、抽出装置１００は、抽出した関連お酒に関する情報の共通性に基づいて、パーティ、ウェディング、ハロウィンなど人が集まって楽しむ場では、ワインやビール、シャンパンとの関連性が高いという傾向に関する情報を抽出する。続いて、抽出装置１００は、抽出した傾向に関する情報を利用者Ｕ１０に対して提供する。
【００３５】
また、抽出装置１００は、抽出した傾向に関する情報に基づいて、関連お酒に関連する商品又はサービスに関する提案情報を提供する。例えば、抽出装置１００は、関連お酒に関連する商品又はサービスに関する提案情報として、抽出した傾向に関する情報に基づいて、パーティ用として、ワイン風味やビール風味を取り入れたノンアルコール飲料を新たに開発するという提案情報を提供する。
【００３６】
上述したように、抽出装置１００は、利用者から事象の指定を受付ける。また、抽出装置１００は、取引対象を示す対象情報が検索クエリとして入力された際の検索意図と、利用者によって指定された事象を示す事象情報が検索クエリとして入力された際の検索意図との類似性に基づいて、利用者によって指定された事象と所定の関連性を有する取引対象である関連取引対象を示す関連対象情報を抽出する。これにより、抽出装置１００は、取引対象と、取引対象と全く異なる属性を有する事象との関連性に関する新たな知見を得ることができる。したがって、抽出装置１００は、有用な情報を得ることができる。
【００３７】
〔２．抽出装置の構成〕
次に、図３を用いて、実施形態に係る抽出装置１００の構成について説明する。図３は、実施形態に係る抽出装置１００の構成例を示す図である。図３に示すように、抽出装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、抽出装置１００は、抽出装置１００の管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示させるための表示部（例えば、液晶ディスプレイ等）を有してもよい。
【００３８】
（通信部１１０）
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部１１０は、ネットワークと有線または無線で接続され、例えば、端末装置１０と検索サーバ２０と生成装置５０との間で情報の送受信を行う。
【００３９】
（記憶部１２０）
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１２０は、図３に示すように、指定情報記憶部１２１と事象情報記憶部１２２と物品情報記憶部１２３とモデル情報記憶部１２４を有する。
【００４０】
（指定情報記憶部１２１）
指定情報記憶部１２１は、利用者によって指定された指定情報に関する各種の情報を記憶する。図４に、実施形態に係る指定情報記憶部の一例を示す。図４に示す例では、指定情報記憶部１２１は、「利用者ＩＤ」、「日時」、「事象情報」、「物品情報」といった項目を有する。また、「事象情報」は、「事象ＩＤ」、「事象」といった小項目をさらに有する。また、「物品情報」は、「物品ＩＤ」、「物品」といった小項目をさらに有する。
【００４１】
「利用者ＩＤ」は、利用者を識別するための識別情報を示す。「日時」は、利用者から指定情報を受け付けた日時を示す。「事象情報」は、利用者によって指定された事象に関する事象情報を示す。「事象ＩＤ」は、利用者によって指定された事象を識別するための識別情報を示す。「事象」は、利用者によって指定された事象を示す文字情報を示す。「物品情報」は、利用者によって指定された物品に関する物品情報を示す。利用者によって指定された物品に関する物品情報を示す。「物品ＩＤ」は、利用者によって指定された物品を識別するための識別情報を示す。「物品」は、利用者によって指定された物品を示す文字情報を示す。
【００４２】
図４の１レコード目に示す例では、利用者ＩＤ「Ｕ１０」で識別される利用者は図１に示す利用者Ｕ１０に対応する。また、日時「日時＃１」は、利用者Ｕ１０から指定情報の指定を受け付けた日時を示す。また、事象ＩＤ「ＥＣ１」で識別される事象「イベント」は、図１に示す利用者Ｕ１０によって指定された事象がイベントであることを示す。また、物品ＩＤ「ＯＣ１」で識別される物品「お酒」は、図１に示す利用者Ｕ１０によって指定された物品がお酒であることを示す。
【００４３】
（事象情報記憶部１２２）
事象情報記憶部１２２は、事象に関する各種の情報を記憶する。図５に、実施形態に係る事象情報記憶部の一例を示す。図５に示す例では、事象情報記憶部１２２は、「事象ＩＤ」、「事象」、「事象情報ＩＤ」、「事象情報」といった項目を有する。
【００４４】
「事象ＩＤ」は、事象を識別するための識別情報を示す。「事象」は、イベント、行事、催し物又は人間の活動状態等である事象を示す。「事象情報ＩＤ」は、事象の具体例を識別するための識別情報を示す。「事象情報」は、事象の具体例に関する情報を示す。
【００４５】
図５に示す例では、事象情報ＩＤ「ＥＶ１１」で識別される事象情報「パーティ」、事象情報ＩＤ「ＥＶ１２」で識別される事象情報「ウェディング」、事象情報ＩＤ「ＥＶ１３」で識別される事象情報「ハロウィン」、…等は、事象ＩＤ「ＥＣ１」で識別される事象「イベント」の具体例であることを示す。
【００４６】
（物品情報記憶部１２３）
物品情報記憶部１２３は、物品に関する各種の情報を記憶する。図６に、実施形態に係る物品情報記憶部の一例を示す。図６に示す例では、物品情報記憶部１２３は、「物品ＩＤ」、「物品」、「物品情報ＩＤ」、「物品情報」といった項目を有する。
【００４７】
「物品ＩＤ」は、物品を識別するための識別情報を示す。「物品」は、商品又はサービス等である物品を示す。「物品情報ＩＤ」は、物品の具体例を識別するための識別情報を示す。「物品情報」は、物品の具体例に関する情報を示す。
【００４８】
図６に示す例では、物品情報ＩＤ「ＯＢ１１」で識別される物品情報「ビール」、物品情報ＩＤ「ＯＢ１２」で識別される物品情報「ワイン」、物品情報ＩＤ「ＯＢ１３」で識別される物品情報「ウィスキー」、…等は、物品ＩＤ「ＯＣ１」で識別される物品「お酒」の具体例であることを示す。
【００４９】
（モデル情報記憶部１２４）
モデル情報記憶部１２４は、生成装置５０によって生成された学習モデルに関する各種の情報を記憶する。図７に、実施形態に係るモデル情報記憶部の一例を示す。図７に示す例では、モデル情報記憶部１２４は、「モデルＩＤ」、「モデルデータ」といった項目を有する。
【００５０】
「モデルＩＤ」は、生成装置５０によって生成された学習モデルを識別するための識別情報を示す。「モデルデータ」は、生成装置５０によって生成された学習モデルのモデルデータを示す。例えば、「モデルデータ」には、検索クエリを分散表現に変換するためのデータが格納される。
【００５１】
図７の１レコード目に示す例では、モデルＩＤ「Ｍ１」で識別される学習モデルは、図１に示した第１モデルＭ１に対応する。また、モデルデータ「ＭＤＴ１」は、生成装置５０によって生成された第１モデルＭ１のモデルデータ（モデルデータＭＤＴ１）を示す。
【００５２】
モデルデータＭＤＴ１は、検索クエリが入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力された検索クエリに応じて、入力層に入力された検索クエリの分散表現を出力層から出力するよう、生成装置５０を機能させてもよい。
【００５３】
ここで、モデルデータＭＤＴ１が「y=a1*x1+a2*x2+・・・+ai*xi」で示す回帰モデルで実現されるとする。この場合、モデルデータＭＤＴ１が含む第１要素は、x1やx2等といった入力データ（xi）に対応する。また、第１要素の重みは、xiに対応する係数aiに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第１要素は、入力層が有するいずれかのノードに対応し、第２要素は、出力層が有するノードと見做すことができる。
【００５４】
また、モデルデータＭＤＴ１がＤＮＮ（Deep  Neural  Network）等、１つまたは複数の中間層を有するニューラルネットワークで実現されるとする。この場合、モデルデータＭＤＴ１が含む第１要素は、入力層または中間層が有するいずれかのノードに対応する。また、第２要素は、第１要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第１要素の重みは、第１要素と対応するノードから第２要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。
【００５５】
生成装置５０は、上述した回帰モデルやニューラルネットワーク等、任意の構造を有するモデルを用いて、分散表現の算出を行う。具体的には、モデルデータＭＤＴ１は、検索クエリが入力された場合に、分散表現を出力するように係数が設定される。生成装置５０は、このようなモデルデータＭＤＴ１を用いて、分散表現を算出する。
【００５６】
なお、上記例では、モデルデータＭＤＴ１が、検索クエリが入力された場合に、検索クエリの分散表現を出力するモデル（以下、モデルＸ１という。）である例を示した。しかし、実施形態に係るモデルデータＭＤＴ１は、モデルＸ１にデータの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。例えば、モデルデータＭＤＴ１は、検索クエリを入力とした際に、モデルＸ１が出力した分散表現を入力して学習されたモデル（以下、モデルＹ１という。）であってもよい。または、モデルデータＭＤＴ１は、検索クエリを入力とし、モデルＹ１の出力値を出力とするよう学習されたモデルであってもよい。
【００５７】
また、生成装置５０がＧＡＮ（Generative  Adversarial  Networks）を用いた推定処理を行う場合、モデルデータＭＤＴ１は、ＧＡＮの一部を構成するモデルであってもよい。
【００５８】
（制御部１３０）
図３の説明に戻って、制御部１３０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、抽出装置１００内部の記憶装置に記憶されている各種プログラム（情報処理プログラムの一例に相当）がＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、コントローラであり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。
【００５９】
図３に示すように、制御部１３０は、受付部１３１と、取得部１３２と、算出部１３３と、抽出部１３４と、提供部１３５とを有し、以下に説明する情報処理の作用を実現または実行する。なお、制御部１３０の内部構成は、図３に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００６０】
（受付部１３１）
受付部１３１は、利用者から事象の指定を受付ける。具体的には、受付部１３１は、イベント、行事、催し物又は人間の活動状態である事象の指定を受け付ける。より具体的には、受付部１３１は、利用者によって指定された事象を示す文字情報を端末装置１０から取得する。図１に示す例では、受付部１３１は、利用者Ｕ１０によって指定された事象であるイベントを示す文字情報「イベント」を端末装置１０から受け付ける。また、受付部１３１は、端末装置１０から事象を示す文字情報を取得すると、取得した事象を示す文字情報を指定情報記憶部１２１に格納する。
【００６１】
また、受付部１３１は、利用者から取引対象の指定を受付ける。例えば、受付部１３１は、利用者から取引対象である物品の指定を受付ける。より具体的には、受付部１３１は、利用者によって指定された物品を示す文字情報を端末装置１０から受け付ける。図１に示す例では、受付部１３１は、利用者Ｕ１０によって指定された物品であるお酒を示す文字情報「お酒」を端末装置１０から取得する。また、受付部１３１は、端末装置１０から物品を示す文字情報を取得すると、取得した物品を示す文字情報を指定情報記憶部１２１に格納する。
【００６２】
（取得部１３２）
取得部１３２は、利用者から指定された事象の具体例に関する情報の一覧である事象リストを取得する。具体的には、取得部１３２は、受付部１３１によって利用者から事象の指定が受け付けられると、事象情報記憶部１２２を参照して、利用者から指定を受付けた事象に対応する事象の具体例に関する情報を取得する。図１に示す例では、取得部１３２は、事象情報記憶部１２２を参照して、利用者から指定を受付けた事象であるイベントの事象ＩＤ「ＥＣ１」の項目に格納されている「パーティ」、「ウェディング」、「ハロウィン」、…といったイベントの具体例に関する文字情報の一覧を事象リストとして取得する。
【００６３】
また、取得部１３２は、利用者から指定された取引対象の具体例に関する情報の一覧である取引対象リストを取得する。例えば、取得部１３２は、利用者から指定された物品の具体例に関する情報の一覧である物品リストを取得する。具体的には、取得部１３２は、受付部１３１によって利用者から物品の指定が受け付けられると、物品情報記憶部１２３を参照して、利用者から指定を受付けた物品に対応する物品の具体例に関する情報を取得する。図１に示す例では、取得部１３２は、物品情報記憶部１２３を参照して、利用者から指定を受付けた物品であるお酒の物品ＩＤ「ＯＣ１」の項目に格納されている「ビール」、「ワイン」、「ウィスキー」、…といったお酒の具体例に関する文字情報の一覧を物品リストとして取得する。
【００６４】
また、取得部１３２は、生成装置５０から第１モデルＭ１を取得する。取得部１３２は、第１モデルＭ１を取得すると、取得した第１モデルＭ１をモデル情報記憶部１２４に格納する。
【００６５】
（算出部１３３）
算出部１３３は、取引対象を示す対象情報が検索クエリとして入力された際の検索意図と、利用者によって指定された事象を示す事象情報が検索クエリとして入力された際の検索意図との類似性を示すスコアを算出する。具体的には、算出部１３３は、対象情報である文字情報に対応する分散表現と事象情報である文字情報に対応する分散表現との類似性を示すスコアを算出する。より具体的には、算出部１３３は、対象情報である文字情報を生成装置５０から取得した第１モデルＭ１に入力する。算出部１３３は、対象情報である文字情報を第１モデルＭ１に入力することにより、対象情報である文字情報に対応する分散表現を出力する。また、算出部１３３は、事象情報である文字情報を生成装置５０から取得した第１モデルＭ１に入力する。算出部１３３は、事象情報である文字情報を第１モデルＭ１に入力することにより、事象情報である文字情報に対応する分散表現を出力する。続いて、算出部１３３は、第１モデルＭ１から分散表現を出力すると、対象情報である文字情報に対応する分散表現と事象情報である文字情報に対応する分散表現との類似度をスコアとして算出する。例えば、算出部１３３は、対象情報である文字情報に対応する分散表現と事象情報である文字情報に対応する分散表現のコサイン類似度をスコアとして算出する。なお、算出部１３３は、コサイン類似度に限らず、ベクトル間の距離尺度として適用可能な指標であれば、どのような指標に基づいて分散表現の間の類似度を算出してもよい。例えば、算出部１３３は、分散表現同士のユークリッド距離や双曲空間等の非ユークリッド空間中での距離、マンハッタン距離、マハラノビス距離等といった所定の距離関数の値を算出してもよい。
【００６６】
図１に示す例では、算出部１３３は、取得部１３２によって事象リストが取得されると、事象リストに含まれるイベントの具体例を示す文字情報を生成装置５０から取得した第１モデルＭ１に入力する。続いて、算出部１３３は、イベントの具体例を示す文字情報を第１モデルＭ１に入力することにより、イベントの具体例を示す文字情報に対応する分散表現を出力する。例えば、算出部１３３は、取得部１３２によって事象リストが取得されると、事象リストに含まれるパーティを示す文字情報「パーティ」を第１モデルＭ１に入力することにより、パーティを示す文字情報「パーティ」に対応する分散表現を出力する。また、算出部１３３は、事象リストに含まれるウェディングを示す文字情報「ウェディング」を第１モデルＭ１に入力することにより、ウェディングを示す文字情報「ウェディング」に対応する分散表現を出力する。また、算出部１３３は、事象リストに含まれるハロウィンを示す文字情報「ハロウィン」を第１モデルＭ１に入力することにより、ハロウィンを示す文字情報「ハロウィン」に対応する分散表現を出力する。
【００６７】
また、算出部１３３は、取得部１３２によって物品リストが取得されると、物品リストに含まれる物品の具体例を示す文字情報を生成装置５０から取得した第１モデルＭ１に入力する。続いて、算出部１３３は、物品の具体例を示す文字情報を第１モデルＭ１に入力することにより、物品の具体例を示す文字情報に対応する分散表現を出力する。例えば、算出部１３３は、取得部１３２によって物品リストが取得されると、物品リストに含まれるお酒の具体例を示す文字情報を生成装置５０から取得した第１モデルＭ１に入力する。続いて、算出部１３３は、お酒の具体例を示す文字情報を第１モデルＭ１に入力することにより、お酒の具体例を示す文字情報に対応する分散表現を出力する。例えば、算出部１３３は、取得部１３２によって物品リストが取得されると、物品リストに含まれるビールを示す文字情報「ビール」を第１モデルＭ１に入力することにより、ビールを示す文字情報「ビール」に対応する分散表現を出力する。また、算出部１３３は、物品リストに含まれるワインを示す文字情報「ワイン」を第１モデルＭ１に入力することにより、ワインを示す文字情報「ビール」に対応する分散表現を出力する。また、算出部１３３は、物品リストに含まれるウィスキーを示す文字情報「ウィスキー」を第１モデルＭ１に入力することにより、ウィスキーを示す文字情報「ウィスキー」に対応する分散表現を出力する。
【００６８】
続いて、算出部１３３は、第１モデルＭ１から分散表現を出力すると、事象の具体例を示す文字情報に対応する分散表現と物品の具体例を示す文字情報に対応する分散表現との類似度をスコアとして算出する。具体的には、算出部１３３は、事象リストに含まれるイベントの具体例毎に、各イベントの具体例を示す文字情報に対応する分散表現と物品リストに含まれる各お酒の具体例を示す文字情報に対応する分散表現との類似度を算出する。例えば、算出部１３３は、事象の具体例を示す文字情報に対応する分散表現と物品の具体例を示す文字情報に対応する分散表現のコサイン類似度の値をスコアとして算出する。
【００６９】
例えば、算出部１３３は、パーティを示す文字情報「パーティ」に対応する分散表現と各お酒の具体例を示す各文字情報（例えば、「ビール」、「ワイン」、「ウィスキー」…）に対応する各分散表現のコサイン類似度の値をスコアとして算出する。
【００７０】
また、算出部１３３は、ウェディングを示す文字情報「ウェディング」に対応する分散表現と各お酒の具体例を示す各文字情報（例えば、「ビール」、「ワイン」、「ウィスキー」…）に対応する各分散表現のコサイン類似度の値をスコアとして算出する。
【００７１】
また、算出部１３３は、ハロウィンを示す文字情報「ハロウィン」に対応する分散表現と各お酒の具体例を示す各文字情報（例えば、「ビール」、「ワイン」、「ウィスキー」…）に対応する各分散表現のコサイン類似度の値をスコアとして算出する。
【００７２】
なお、算出部１３３は、所定の文字情報が検索クエリとして入力された際の利用者の検索意図と、他の文字情報が検索クエリとして入力された際の利用者の検索意図との類似性を示すスコアを算出できるのであれば、どのようなモデルを用いてもよい。例えば、算出部１３３は、第１モデルＭ１の代わりに、所定の文字情報が検索クエリとして入力された際の利用者の検索意図と、他の文字情報が検索クエリとして入力された際の利用者の検索意図との類似性を示すスコアを算出する他のモデルを用いてもよい。また、算出部１３３は、所定の文字情報が検索クエリとして入力された際の利用者の検索意図と、他の文字情報が検索クエリとして入力された際の利用者の検索意図との類似性を示すスコアを算出できるのであれば、モデルの入力は検索クエリの分散表現でなくてもよい。例えば、モデルの入力として、検索クエリそのものを用いてもよい。
【００７３】
（抽出部１３４）
抽出部１３４は、取引対象を示す対象情報が検索クエリとして入力された際の検索意図と、利用者によって指定された事象を示す事象情報が検索クエリとして入力された際の検索意図との類似性に基づいて、利用者によって指定された事象と所定の関連性を有する取引対象である関連取引対象を示す関連対象情報を抽出する。具体的には、抽出部１３４は、算出部１３３によって算出されたスコアと所定の閾値との比較に基づいて、関連取引対象を示す関連対象情報を抽出する。より具体的には、抽出部１３４は、算出部１３３によって算出されたスコアが所定の閾値以上である取引対象を示す対象情報を、関連取引対象を示す関連対象情報として抽出する。例えば、抽出部１３４は、物品である取引対象を示す対象情報を抽出する。また、抽出部１３４は、商品又はサービスである取引対象を示す対象情報を抽出する。
【００７４】
また、抽出部１３４は、算出部１３３によって算出されたスコア順に並べられた取引対象を示す対象情報の一覧を抽出する。図１に示す例では、抽出部１３４は、算出部１３３によって算出されたスコアが高い方から順に、お酒の具体例を示す文字情報をスコアとともに上から順番に並べた表をイベント毎に抽出する。続いて、抽出部１３４は、算出部１３３によって算出されたスコアと所定の閾値（例えば、「０．５０」）との比較に基づいて、イベントの具体例と所定の関連性を有するお酒の具体例である関連お酒を示す関連文字情報を抽出する。例えば、抽出部１３４は、算出部１３３によって算出されたが所定の閾値（例えば、「０．５０」）以上であるお酒の具体例を示す文字情報を、イベントの具体例と所定の関連性を有する関連お酒を示す関連文字情報として抽出する。
【００７５】
例えば、図１の左下方に示す例では、抽出部１３４は、算出部１３３によって算出されたスコアが所定の閾値（例えば、「０．５０」）以上であるお酒の具体例を示す文字情報である「ビール」と「ワイン」と「シャンパン」を、パーティと所定の関連性を有する関連お酒を示す関連文字情報として抽出する。
【００７６】
また、図１の中央下方に示す例では、抽出部１３４は、算出部１３３によって算出されたスコアが所定の閾値（例えば、「０．５０」）以上であるお酒の具体例を示す文字情報である「ワイン」と「ビール」と「シャンパン」を、ウェディングと所定の関連性を有する関連お酒を示す関連文字情報として抽出する。
【００７７】
また、図１の右下方に示す例では、抽出部１３４は、算出部１３３によって算出されたスコアが所定の閾値（例えば、「０．５０」）以上であるお酒の具体例を示す文字情報である「ジン」と「シャンパン」と「ビール」を、ハロウィンと所定の関連性を有する関連お酒を示す関連文字情報として抽出する。
【００７８】
（提供部１３５）
提供部１３５は、抽出部１３４によって抽出された関連取引対象を示す関連対象情報を提供する。図１に示す例では、提供部１３５は、抽出部１３４によってイベントの具体例と所定の関連性を有する関連お酒を示す関連文字情報が抽出されると、イベントの具体例と所定の関連性を有する関連お酒に関する情報を利用者Ｕ１０に対して提供する。例えば、提供部１３５は、抽出した関連文字情報とイベントの具体例を示す文字情報とをセットにした情報をイベントの具体例毎に生成して、生成した情報を端末装置１０に送信する。なお、提供部１３５は、抽出部１３４によって抽出された取引対象を示す対象情報の一覧を提供してもよい。
【００７９】
また、提供部１３５は、抽出部１３４によって抽出された関連取引対象を示す関連対象情報に基づいて、関連取引対象に関する所定の傾向に関する情報を提供する。図１に示す例では、提供部１３５は、抽出部１３４によって抽出された関連お酒に関する情報に基づいて、利用者によって指定された事象であるイベントと所定の関連性を有するお酒の傾向に関する情報を抽出して、抽出した情報を利用者Ｕ１０に対して提供する。例えば、提供部１３５は、抽出部１３４によって抽出された関連お酒に関する情報の共通性に基づいて、パーティ、ウェディング、ハロウィンなど人が集まって楽しむ場では、ワインやビール、シャンパンとの関連性が高いという傾向に関する情報を抽出する。続いて、提供部１３５は、抽出した傾向に関する情報を利用者Ｕ１０に対して提供する。
【００８０】
また、提供部１３５は、抽出部１３４によって抽出された関連取引対象に関連する商品又はサービスに関する提案情報を提供する。図１に示す例では、提供部１３５は、抽出した傾向に関する情報に基づいて、関連お酒に関連する商品又はサービスに関する提案情報を提供する。例えば、提供部１３５は、関連お酒に関連する商品又はサービスに関する提案情報として、抽出した傾向に関する情報に基づいて、パーティ用として、エスニック風味やチーズを取り入れた鍋つゆを新たに開発するという提案情報を提供する。
【００８１】
〔３．抽出処理のフロー〕
次に、図８を用いて、実施形態に係る抽出処理の手順について説明する。図８は、実施形態に係る抽出処理手順を示すフローチャートである。図８に示す例では、抽出装置１００は、利用者から事象の指定を受付ける（ステップＳ１０１）。
【００８２】
続いて、抽出装置１００は、利用者から事象の指定を受付けると、利用者によって指定された事象と所定の関連性を有する関連取引対象を示す関連対象情報を抽出する（ステップＳ１０２）。
【００８３】
〔４．変形例〕
上述した実施形態に係る抽出システム１は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、抽出システム１の他の実施形態について説明する。なお、実施形態と同一部分には、同一符号を付して説明を省略する。
【００８４】
〔４−１．取引対象の組〕
図１に示す例では、抽出装置１００が利用者から事象の指定と物品の指定を受付ける例について説明した。ここでは、抽出装置１００が利用者から物品の指定を受付ける代わりに、利用者からそれぞれ異なる複数の物品を含む物品の組の指定を受け付ける例について説明する。
【００８５】
受付部１３１は、利用者からそれぞれ異なる複数の取引対象を含む取引対象の組の指定を受け付ける。具体的には、受付部１３１は、利用者からそれぞれ異なる複数の物品を含む物品の組の指定を受け付ける。図１の例に当てはめると、受付部１３１は、利用者からそれぞれ異なる複数のお酒の具体例を含むお酒の具体例の組の指定を受け付ける。例えば、受付部１３１は、利用者によって指定された「ビール」、「ワイン」、「ウィスキー」、…といったお酒の具体例を示す文字情報の一覧である物品リストを端末装置１０から取得する。
【００８６】
算出部１３３は、受付部１３１によって物品リストが取得されると、利用者から指定された物品リストに含まれるお酒の具体例を示す文字情報を生成装置５０から取得した第１モデルＭ１に入力する。続いて、算出部１３３は、お酒の具体例を示す文字情報を第１モデルＭ１に入力することにより、お酒の具体例を示す文字情報に対応する分散表現を出力する。
【００８７】
続いて、算出部１３３は、第１モデルＭ１から分散表現を出力すると、利用者から指定された事象を示す文字情報に対応する分散表現と、利用者から指定された物品リストに含まれる各お酒の具体例を示す文字情報に対応する分散表現との類似度を算出する。例えば、算出部１３３は、利用者から指定された事象を示す文字情報に対応する分散表現と、利用者から指定された物品リストに含まれるお酒の具体例を示す文字情報に対応する分散表現のコサイン類似度の値をスコアとして算出する。
【００８８】
続いて、抽出部１３４は、利用者によって指定された組に含まれるそれぞれの取引対象が示す対象情報が検索クエリとして入力された際の検索意図と、利用者によって指定された事象を示す事象情報が検索クエリとして入力された際の検索意図との類似性に基づいて、組の中から関連取引対象を示す関連対象情報を抽出する。例えば、抽出部１３４は、利用者によって指定されたお酒の具体例の組に含まれるそれぞれのお酒の具体例を示す文字情報が検索クエリとして入力された際の検索意図と、利用者によって指定された事象を示す事象情報が検索クエリとして入力された際の検索意図との類似性に基づいて、お酒の具体例の組の中から関連お酒を示す関連文字情報を抽出する。具体的には、抽出部１３４は、算出部１３３によって算出されたスコアと所定の閾値との比較に基づいて、関連お酒を示す関連文字情報を抽出する。より具体的には、抽出部１３４は、算出部１３３によって算出されたスコアが所定の閾値以上であるお酒を示す文字情報を、関連お酒を示す関連文字情報として抽出する。
【００８９】
〔４−２．取引対象の属性〕
図１に示す例では、抽出装置１００が利用者から事象の指定と物品の指定を受付ける例について説明した。ここでは、抽出装置１００が利用者から物品の指定を受付ける代わりに、利用者から物品の属性の指定を受け付ける例について説明する。なお、この場合、図６に示す物品情報記憶部１２３に示す各物品と各物品に対応する物品属性とを対応付けて物品情報記憶部１２３に記憶する。例えば、図６の１レコード目に示す物品「お酒」に対応する物品属性が「飲み物」である場合、物品「お酒」と物品属性「飲み物」とを対応付けて物品情報記憶部１２３に記憶する。また、図６の２レコード目に示す物品「野菜」に対応する物品属性が「食べ物」である場合、物品「野菜」と物品属性「食べ物」とを対応付けて物品情報記憶部１２３に記憶する。
【００９０】
受付部１３１は、利用者から取引対象の属性の指定を受け付ける。具体的には、受付部１３１は、利用者から物品属性の指定を受け付ける。例えば、受付部１３１は、利用者から物品の属性として「食べ物」という属性の指定を受け付ける。取得部１３２は、受付部１３１によって利用者から物品属性の指定が受け付けられると、物品情報記憶部１２３を参照して、利用者から指定を受付けた物品属性に対応する物品の具体例に関する情報を取得する。例えば、取得部１３２は、物品情報記憶部１２３を参照して、利用者から指定を受付けた物品属性「食べ物」を有する物品「お酒」の具体例に関する情報として、「ビール」、「ワイン」、「ウィスキー」、…といった文字情報を取得する。また、利用者から指定を受付けた物品属性「食べ物」を有する物品「野菜」の具体例に関する情報として、「白菜」、「れんこん」、「もやし」、…といった文字情報を取得する。
【００９１】
算出部１３３は、取得部１３２によって利用者から指定された物品属性を有する物品の具体例を示す文字情報が取得されると、利用者から指定された物品属性を有する物品の具体例を示す文字情報を生成装置５０から取得した第１モデルＭ１に入力する。続いて、算出部１３３は、利用者から指定された物品属性を有する物品の具体例を示す文字情報を示す文字情報を第１モデルＭ１に入力することにより、利用者から指定された物品属性を有する物品の具体例を示す文字情報に対応する分散表現を出力する。
【００９２】
続いて、算出部１３３は、第１モデルＭ１から分散表現を出力すると、利用者から指定された事象を示す文字情報に対応する分散表現と、利用者から指定された物品属性を有する物品の具体例を示す文字情報に対応する分散表現との類似度を算出する。例えば、算出部１３３は、利用者から指定された事象を示す文字情報に対応する分散表現と、利用者から指定された物品属性を有する物品の具体例を示す文字情報に対応する分散表現のコサイン類似度の値をスコアとして算出する。
【００９３】
続いて、抽出部１３４は、利用者によって指定された属性を有する関連取引対象を示す関連対象情報を抽出する。具体的には、抽出部１３４は、利用者によって指定された属性を有する関連物品を示す関連文字情報を抽出する。例えば、抽出部１３４は、利用者から指定された物品属性を有する物品の具体例を示す文字情報が検索クエリとして入力された際の検索意図と、利用者によって指定された事象を示す事象情報が検索クエリとして入力された際の検索意図との類似性に基づいて、利用者から指定された物品属性を有する物品の具体例の中から関連物品を示す関連文字情報を抽出する。例えば、抽出部１３４は、算出部１３３によって算出されたスコアと所定の閾値との比較に基づいて、関連物品を示す関連文字情報を抽出する。より具体的には、抽出部１３４は、算出部１３３によって算出されたスコアが所定の閾値以上である物品の具体例を示す文字情報を、関連物品を示す関連文字情報として抽出する。
【００９４】
〔５．第１モデルの生成処理〕
次に、図９を用いて、第１モデルの生成処理の流れについて説明する。図９は、実施形態に係る第１モデルの生成処理の一例を示す図である。図９に示す例では、生成装置５０は、同一のユーザＵ１によって所定の時間内に連続して入力された「六本木  パスタ」という検索クエリＱ１１と「六本木  イタリアン」という検索クエリＱ１２とから成る一対の検索クエリを抽出する（ステップＳ１１）。
【００９５】
続いて、生成装置５０は、抽出した検索クエリＱ１１を第１モデルＭ１に入力して、検索クエリＱ１１の分散表現であるベクトルＢＱＶ１１を出力する。ここで、ベクトルＢＱＶ１１は、第１モデルＭ１の出力層から出力されたばかりの検索クエリＱ１１の分散表現であって、第１モデルＭ１にフィードバックをかける前（学習前）の分散表現を示す。また、生成装置５０は、抽出した検索クエリＱ１２を第１モデルＭ１に入力して、検索クエリＱ１２の分散表現であるベクトルＢＱＶ１２を出力する。ここで、ベクトルＢＱＶ１２は、第１モデルＭ１の出力層から出力されたばかりの検索クエリＱ１２の分散表現であって、第１モデルＭ１にフィードバックをかける前（学習前）の分散表現を示す。このようにして、生成装置５０は、検索クエリＱ１１の分散表現であるベクトルＢＱＶ１１と、検索クエリＱ１２の分散表現であるベクトルＢＱＶ１２とを出力する（ステップＳ１２）。
【００９６】
続いて、生成装置５０は、同一のユーザＵ１によって所定の時間内に連続して入力された検索クエリＱ１１（「六本木  パスタ」）と検索クエリＱ１２（「六本木  イタリアン」）とから成る一対の検索クエリは、所定の検索意図（例えば、「ある場所で飲食店を探す」という検索意図）で入力された検索クエリであると推定されるため、相互に類似する特徴を有するものとして、検索クエリＱ１１の分散表現（ベクトルＱＶ１１）と、検索クエリＱ１１と対となる検索クエリＱ１２の分散表現（ベクトルＱＶ１２）とが、分散表現空間上で類似するように第１モデルＭ１を学習させる。例えば、第１モデルＭ１にフィードバックをかける前（学習前）の検索クエリＱ１１の分散表現であるベクトルＢＱＶ１１と検索クエリＱ１２の分散表現であるベクトルＢＱＶ１２とのなす角度の大きさをΘとする。また、第１モデルＭ１にフィードバックをかけた後（学習後）の検索クエリＱ１１の分散表現であるベクトルＱＶ１１と検索クエリＱ１２の分散表現であるベクトルＱＶ１２とのなす角度の大きさをΦとする。この時、生成装置５０は、ΘよりもΦが小さくなるように、第１モデルＭ１を学習させる。例えば、生成装置５０は、ベクトルＢＱＶ１１とベクトルＢＱＶ１２のコサイン類似度の値を算出する。また、生成装置５０は、ベクトルＱＶ１１とベクトルＱＶ１２のコサイン類似度の値を算出する。続いて、生成装置５０は、ベクトルＢＱＶ１１とベクトルＢＱＶ１２のコサイン類似度の値よりも、ベクトルＱＶ１１とベクトルＱＶ１２のコサイン類似度の値が大きくなるように（値が１に近づくように）第１モデルＭ１を学習させる。このように、生成装置５０は、一対の検索クエリに対応する一対の分散表現である２つのベクトルが分散表現空間上で類似するように第１モデルＭ１を学習させることで、検索クエリから分散表現（ベクトル）を出力する第１モデルＭ１を生成する（ステップＳ１３）。なお、生成装置５０は、コサイン類似度に限らず、ベクトル間の距離尺度として適用可能な指標であれば、どのような指標に基づいて分散表現（ベクトル）の間の類似度を算出してもよい。また、生成装置５０は、ベクトル間の距離尺度として適用可能な指標であれば、どのような指標に基づいて第１モデルＭ１を学習させてもよい。例えば、生成装置５０は、分散表現（ベクトル）同士のユークリッド距離や双曲空間等の非ユークリッド空間中での距離、マンハッタン距離、マハラノビス距離等といった所定の距離関数の値を算出する。続いて、生成装置５０は、分散表現（ベクトル）同士の所定の距離関数の値（すなわち、分散表現空間における距離）が小さくなるように第１モデルＭ１を学習させてもよい。
【００９７】
次に、図１０を用いて、第１モデルの生成処理の流れについてより詳しく説明する。なお、図１０の説明では、図９の説明と重複する部分は、適宜省略する。図１０は、実施形態に係る第１モデルの生成処理を示す図である。図１０に示す例では、生成装置５０が生成した第１モデルＭ１によって出力された分散表現（ベクトル）が分散表現空間にマッピングされる様子が示されている。生成装置５０は、所定の検索クエリの分散表現と所定の検索クエリと対となる他の検索クエリの分散表現とが分散表現空間上で近くにマッピングされるように第１モデルＭ１のトレーニングを行う。
【００９８】
図１０の上段に示す例では、生成装置５０は、同一のユーザＵ１によって所定の時間内に連続して入力された４個の検索クエリである検索クエリＱ１１（「六本木  パスタ」）、検索クエリＱ１２（「六本木  イタリアン」）、検索クエリＱ１３（「赤坂  パスタ」）、検索クエリＱ１４（「麻布  パスタ」）を抽出する。生成装置５０は、同一のユーザＵ１によって各検索クエリが入力された時間の間隔が所定の時間内である４個の検索クエリを抽出する。生成装置５０は、同一のユーザＵ１によって後述する各検索クエリのペアが入力された時間の間隔が所定の時間内である複数の検索クエリを抽出する。生成装置５０は、検索クエリが入力された順番に並べると、検索クエリＱ１１、検索クエリＱ１２、検索クエリＱ１３、検索クエリＱ１４の順番で入力された４個の検索クエリを抽出する。生成装置５０は、４個の検索クエリを抽出すると、時系列的に隣り合う２つの検索クエリを一対の検索クエリとして、３対の検索クエリのペアである（検索クエリＱ１１、検索クエリＱ１２）、（検索クエリＱ１２、検索クエリＱ１３）、（検索クエリＱ１３、検索クエリＱ１４）を抽出する（ステップＳ２１−１）。なお、生成装置５０は、同一のユーザＵ１によって全ての検索クエリが所定の時間内に入力された複数の検索クエリを抽出してもよい。そして、生成装置５０は、時系列的に隣り合うか否かに関わらず、抽出した複数の検索クエリの中から２つの検索クエリを選択して、選択した２つの検索クエリを一対の検索クエリとして抽出してもよい。
【００９９】
続いて、生成装置５０は、抽出した検索クエリＱ１ｋ（ｋ＝１、２、３、４）を第１モデルＭ１に入力して、検索クエリＱ１ｋ（ｋ＝１、２、３、４）の分散表現であるベクトルＢＱＶ１ｋ（ｋ＝１、２、３、４）を出力する。ここで、ベクトルＢＱＶ１ｋ（ｋ＝１、２、３、４）は、第１モデルＭ１の出力層から出力されたばかりの検索クエリＱ１ｋ（ｋ＝１、２、３、４）の分散表現であって、第１モデルＭ１にフィードバックをかける前（学習前）の分散表現を示す（ステップＳ２２−１）。
【０１００】
続いて、生成装置５０は、同一のユーザＵ１によって所定の時間内に連続して入力された一対の検索クエリは、所定の検索意図（例えば、「ある場所（東京都港区付近）で飲食店を探す」という検索意図）で入力された検索クエリであると推定されるため、相互に類似する特徴を有するものとして、検索クエリＱ１１の分散表現（ベクトルＱＶ１１）と、検索クエリＱ１１と対となる検索クエリＱ１２の分散表現（ベクトルＱＶ１２）とが、分散表現空間上で類似するように第１モデルＭ１を学習させる。また、生成装置５０は、検索クエリＱ１２の分散表現（ベクトルＱＶ１２）と、検索クエリＱ１２と対となる検索クエリＱ１３の分散表現（ベクトルＱＶ１３）とが、分散表現空間上で類似するように第１モデルＭ１を学習させる。また、生成装置５０は、検索クエリＱ１３の分散表現（ベクトルＱＶ１３）と、検索クエリＱ１３と対となる検索クエリＱ１４の分散表現（ベクトルＱＶ１４）とが、分散表現空間上で類似するように第１モデルＭ１を学習させる。このように、生成装置５０は、一対の検索クエリに対応する一対の分散表現である２つのベクトルが分散表現空間上で類似するように第１モデルＭ１を学習させることで、検索クエリから分散表現（ベクトル）を出力する第１モデルＭ１を生成する（ステップＳ２３−１）。
【０１０１】
図１０の上段に示す情報処理の結果として、検索クエリＱ１ｋ（ｋ＝１、２、３、４）の分散表現であるベクトルＱＶ１ｋ（ｋ＝１、２、３、４）が分散表現空間の近い位置にクラスタＣＬ１１としてマッピングされる様子が示されている。例えば、検索クエリＱ１ｋ（ｋ＝１、２、３、４）は、ユーザＵ１によって「ある場所（東京都港区付近）で飲食店を探す」という検索意図の下で検索された検索クエリの集合であると推定される。すなわち、検索クエリＱ１ｋ（ｋ＝１、２、３、４）は、「ある場所（東京都港区付近）で飲食店を探す」という検索意図の下で検索された検索クエリであるという点で、相互に類似する特徴を有する検索クエリであると推定される。ここで、生成装置５０は、「ある場所（東京都港区付近）で飲食店を探す」という検索意図で入力された所定の検索クエリが第１モデルに入力されると、クラスタＣＬ１１の位置にマッピングされるような分散表現を出力することができる。これにより、例えば、生成装置５０は、クラスタＣＬ１１の位置にマッピングされる分散表現に対応する検索クエリを抽出することにより、「ある場所（東京都港区付近）で飲食店を探す」という検索意図に応じた検索クエリを抽出することができる。したがって、生成装置５０は、検索クエリの意味を適切に解釈可能とすることができる。
【０１０２】
図１０の下段に示す例では、生成装置５０は、同一のユーザＵ２によって所定の時間内に連続して入力された３個の検索クエリである検索クエリＱ２１（「冷蔵庫  ４００Ｌ」）、検索クエリＱ２２（「冷蔵庫  中型」）、検索クエリＱ２３（「冷蔵庫  中型  おすすめ」）を抽出する。生成装置５０は、検索クエリが入力された順番に並べると、検索クエリＱ２１、検索クエリＱ２２、検索クエリＱ２３の順番で入力された３個の検索クエリを抽出する。生成装置５０は、３個の検索クエリを抽出すると、時系列的に隣り合う２つの検索クエリを一対の検索クエリとして、２対の検索クエリのペアである（検索クエリＱ２１、検索クエリＱ２２）、（検索クエリＱ２２、検索クエリＱ２３）を抽出する（ステップＳ２１−２）。
【０１０３】
続いて、生成装置５０は、抽出した検索クエリＱ２ｍ（ｍ＝１、２、３）を第１モデルＭ１に入力して、検索クエリＱ２ｍ（ｍ＝１、２、３）の分散表現であるベクトルＢＱＶ２ｍ（ｍ＝１、２、３）を出力する。ここで、ベクトルＢＱＶ２ｍ（ｍ＝１、２、３）は、第１モデルＭ１の出力層から出力されたばかりの検索クエリＱ２ｍ（ｍ＝１、２、３）の分散表現であって、第１モデルＭ１にフィードバックをかける前（学習前）の分散表現を示す（ステップＳ２２−２）。
【０１０４】
続いて、生成装置５０は、同一のユーザＵ２によって所定の時間内に連続して入力された一対の検索クエリは、所定の検索意図（例えば、「中型の冷蔵庫を調べる」という検索意図）で入力された検索クエリであると推定されるため、相互に類似する特徴を有するものとして、検索クエリＱ２１の分散表現（ベクトルＱＶ２１）と、検索クエリＱ２１と対となる検索クエリＱ２２の分散表現（ベクトルＱＶ２２）とが、分散表現空間上で類似するように第１モデルＭ１を学習させる。また、生成装置５０は、検索クエリＱ２２の分散表現（ベクトルＱＶ２２）と、検索クエリＱ２２と対となる検索クエリＱ２３の分散表現（ベクトルＱＶ２３）とが、分散表現空間上で類似するように第１モデルＭ１を学習させる。このように、生成装置５０は、一対の検索クエリに対応する一対の分散表現である２つのベクトルが分散表現空間上で類似するように第１モデルＭ１を学習させることで、検索クエリから分散表現（ベクトル）を出力する第１モデルＭ１を生成する（ステップＳ２３−２）。
【０１０５】
図１０の下段に示す情報処理の結果として、検索クエリＱ２ｍ（ｍ＝１、２、３）の分散表現であるベクトルＱＶ２ｍ（ｍ＝１、２、３）が分散表現空間の近い位置にクラスタＣＬ２１としてマッピングされる様子が示されている。例えば、検索クエリＱ２ｍ（ｍ＝１、２、３）は、ユーザＵ２によって「中型の冷蔵庫を調べる」という検索意図の下で検索された検索クエリの集合であると推定される。すなわち、Ｑ２ｍ（ｍ＝１、２、３）は、「中型の冷蔵庫を調べる」という検索意図の下で検索された検索クエリであるという点で、相互に類似する特徴を有する検索クエリであると推定される。ここで、生成装置５０は、「中型の冷蔵庫を調べる」という検索意図で入力された所定の検索クエリが第１モデルに入力されると、クラスタＣＬ２１の位置にマッピングされるような分散表現を出力することができる。これにより、例えば、生成装置５０は、クラスタＣＬ２１の位置にマッピングされる分散表現に対応する検索クエリを抽出することにより、「中型の冷蔵庫を調べる」という検索意図に応じた検索クエリを抽出することができる。したがって、生成装置５０は、検索クエリの意味を適切に解釈可能とすることができる。
【０１０６】
また、本願発明に係る生成装置５０は、ランダムに抽出された複数の検索クエリは、異なる検索意図の下で検索された検索クエリであるという点で、相互に相違する特徴を有する検索クエリであるとみなして第１モデルＭ１を学習させる。具体的には、生成装置５０は、所定の検索クエリの分散表現と、所定の検索クエリとは無関係にランダムに抽出された検索クエリの分散表現とが分散表現空間上で遠くにマッピングされるように第１モデルＭ１のトレーニングを行う。図１０に示す例では、生成装置５０は、検索クエリＱ１１とは無関係にランダムに検索クエリを抽出したところ、検索クエリＱ２１が抽出されたとする。この場合、生成装置５０は、検索クエリＱ１１の分散表現（ベクトルＱＶ１１）と、検索クエリＱ１１とは無関係にランダムに抽出された検索クエリＱ２１の分散表現（ベクトルＱＶ２１）とが分散表現空間上で遠くにマッピングされるように第１モデルＭ１のトレーニングを行う。その結果として、「ある場所（東京都港区付近）で飲食店を探す」という検索意図の下で検索された検索クエリＱ１ｋ（ｋ＝１、２、３、４）の分散表現であるベクトルＱＶ１ｋ（ｋ＝１、２、３、４）を含むクラスタＣＬ１１と、「中型の冷蔵庫を調べる」という検索意図の下で検索された検索クエリＱ２ｍ（ｍ＝１、２、３）の分散表現であるベクトルＱＶ２ｍ（ｍ＝１、２、３）を含むクラスタＣＬ２１とは、分散表現空間上で遠くにマッピングされる。すなわち、本願発明に係る生成装置５０は、ランダムに抽出された複数の検索クエリの分散表現が相違するように第１モデルＭ１を学習させることにより、検索意図が異なる検索クエリの分散表現を分散表現空間上で遠い位置に出力可能とする。
【０１０７】
なお、生成装置５０が生成した第１モデルＭ１によって出力された分散表現（ベクトル）が分散表現空間にマッピングされた結果として、上述したクラスタＣＬ１１とクラスタＣＬ２１の他にも、同一のユーザによって所定の時間内に入力された複数の検索クエリの分散表現（ベクトル）の集合であるクラスタＣＬ１２やクラスタＣＬ２２が生成される。
【０１０８】
上述したように、生成装置５０は、ユーザによって入力された検索クエリを取得する。また、生成装置５０は、取得した検索クエリのうち、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する第１モデルを生成する。すなわち、本願発明に係る生成装置５０は、所定の時間内に連続して入力された複数の検索クエリは、所定の検索意図の下で検索された検索クエリであるという点で、相互に類似する特徴を有する検索クエリであるとみなして第１モデルを学習させる。具体的には、生成装置５０は、同一のユーザによって所定の時間内に入力された複数の検索クエリの分散表現が類似するように第１モデルを学習させることで、所定の検索クエリから所定の検索クエリの特徴情報を含む分散表現を出力する第１モデルを生成する。すなわち、本願発明に係る生成装置５０は、所定の時間内に連続して入力された複数の検索クエリの分散表現が類似するように第１モデルＭ１を学習させることにより、所定の検索意図の下で検索された検索クエリの分散表現を分散表現空間上で近い位置に出力可能とする。これにより、生成装置５０は、検索クエリを入力したユーザのコンテクストに応じて検索クエリの意味（検索意図）を出力（解釈）することを可能にする。したがって、生成装置５０は、検索クエリの意味を適切に解釈可能とすることができる。
【０１０９】
また、生成装置５０は、所定の検索クエリの特徴情報を含む分散表現の近傍にマッピングされる分散表現に対応する検索クエリを抽出することにより、所定の検索クエリが検索された検索意図に応じた検索クエリを抽出することができる。すなわち、生成装置５０は、検索クエリを入力したユーザの検索意図やコンテクストを考慮して、ユーザの検索動向を分析することを可能にする。したがって、生成装置５０は、ユーザの検索動向の分析精度を高めることができる。また、生成装置５０が生成した第１モデルＭ１を検索システムの一部として機能させることもできる。あるいは、生成装置５０は、第１モデルＭ１によって予測された検索クエリの特徴情報を利用する他のシステム（例えば、検索エンジン）への入力情報として、第１モデルＭ１が出力した検索クエリの分散表現を提供することもできる。これにより、検索システムは、第１モデルＭ１によって予測された検索クエリの特徴情報に基づいて、検索結果として出力されるコンテンツを選択可能になる。すなわち、検索システムは、検索クエリを入力したユーザの検索意図やコンテクストを考慮して、検索結果として出力されるコンテンツを選択可能になる。さらに、検索システムは、第１モデルＭ１によって予測された検索クエリの特徴情報に基づいて、検索結果として出力されるコンテンツに含まれる文字情報の分散表現と検索クエリの分散表現との類似度を算出可能になる。そして、検索システムは、算出した類似度に基づいて、検索結果として出力されるコンテンツの表示順を決定可能になる。すなわち、検索システムは、検索クエリを入力したユーザの検索意図やコンテクストを考慮して、検索結果として出力されるコンテンツの表示順を決定可能になる。したがって、生成装置５０は、検索サービスにおけるユーザビリティを向上させることができる。
【０１１０】
〔６．生成装置の構成〕
次に、図１１を用いて、実施形態に係る生成装置５０の構成について説明する。図１１は、実施形態に係る生成装置５０の構成例を示す図である。図１１に示すように、生成装置５０は、通信部５１と、記憶部５３と、制御部５２とを有する。なお、生成装置５０は、生成装置５０の管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（例えば、液晶ディスプレイ等）を有してもよい。
【０１１１】
（通信部５１）
通信部５１は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部５１は、ネットワークと有線または無線で接続され、例えば、端末装置１０と、検索サーバ２０との間で情報の送受信を行う。
【０１１２】
（記憶部５３）
記憶部５３は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部５３は、図１１に示すように、クエリ情報記憶部５３１と、ベクトル情報記憶部５３２と、モデル情報記憶部５３３とを有する。
【０１１３】
（クエリ情報記憶部５３１）
クエリ情報記憶部５３１は、ユーザによって入力された検索クエリに関する各種の情報を記憶する。図１２に、実施形態に係るクエリ情報記憶部の一例を示す。図１２に示す例では、クエリ情報記憶部５３１は、「ユーザＩＤ」、「日時」、「検索クエリ」、「検索クエリＩＤ」といった項目を有する。
【０１１４】
「ユーザＩＤ」は、検索クエリを入力したユーザを識別するための識別情報を示す。「日時」は、検索サーバがユーザから検索クエリを受け付けた日時を示す。「検索クエリ」は、ユーザによって入力された検索クエリを示す。「検索クエリＩＤ」は、ユーザによって入力された検索クエリを識別するための識別情報を示す。
【０１１５】
図１２の１レコード目に示す例では、検索クエリＩＤ「Ｑ１１」で識別される検索クエリ（検索クエリＱ１１）は、図１６に示した検索クエリＱ１１に対応する。また、ユーザＩＤ「Ｕ１」は、検索クエリＱ１１を入力したユーザがユーザＩＤ「Ｕ１」で識別されるユーザ（ユーザＵ１）であることを示す。また、日時「２０１８／９／１  ＰＭ１７：００」は、検索サーバがユーザＵ１から検索クエリＱ１１を受け付けた日時が２０１８年９月１日の午後１７：００であることを示す。また、検索クエリ「六本木  パスタ」は、ユーザＵ１によって入力された検索クエリＱ１１を示す。具体的には、検索クエリ「六本木  パスタ」は、地名を示す「六本木」と食品の種類を示す「パスタ」の文字とが区切り文字であるスペースで区切られた文字情報であることを示す。
【０１１６】
（ベクトル情報記憶部５３２）
ベクトル情報記憶部５３２は、検索クエリの分散表現であるベクトルに関する各種の情報を記憶する。図１３に、実施形態に係るベクトル情報記憶部の一例を示す。図１３に示す例では、ベクトル情報記憶部５３２は、「ベクトルＩＤ」、「検索クエリＩＤ」、「ベクトル情報」といった項目を有する。
【０１１７】
「ベクトルＩＤ」は、検索クエリの分散表現であるベクトルを識別するための識別情報を示す。「検索クエリＩＤ」は、ベクトルに対応する検索クエリを識別するための識別情報を示す。「ベクトル情報」は、検索クエリの分散表現であるＮ次元のベクトルを示す。検索クエリの分散表現であるベクトルは、例えば、１２８次元のベクトルである。
【０１１８】
図１３の１レコード目に示す例では、ベクトルＩＤ「ＱＶ１１」で識別されるベクトル（ベクトルＱＶ１１）は、図１６に示した検索クエリＱ１１の分散表現であるベクトルＱＶ１１に対応する。また、検索クエリＩＤ「Ｑ１１」で識別される検索クエリ（検索クエリＱ１１）は、ベクトルＱＶ１１に対応する検索クエリが検索クエリＱ１１であることを示す。また、ベクトル情報「ＱＶＤＴ１１」は、検索クエリＱ１１の分散表現であるＮ次元のベクトルを示す。
【０１１９】
（モデル情報記憶部５３３）
モデル情報記憶部５３３は、生成装置５０によって生成された学習モデルに関する各種の情報を記憶する。図１４に、実施形態に係るモデル情報記憶部の一例を示す。図１４に示す例では、モデル情報記憶部５３３は、「モデルＩＤ」、「モデルデータ」といった項目を有する。
【０１２０】
「モデルＩＤ」は、生成装置５０によって生成された学習モデルを識別するための識別情報を示す。「モデルデータ」は、生成装置５０によって生成された学習モデルのモデルデータを示す。例えば、「モデルデータ」には、検索クエリを分散表現に変換するためのデータが格納される。
【０１２１】
図１４の１レコード目に示す例では、モデルＩＤ「Ｍ１」で識別される学習モデルは、図１に示した第１モデルＭ１に対応する。また、モデルデータ「ＭＤＴ１」は、生成装置５０によって生成された第１モデルＭ１のモデルデータ（モデルデータＭＤＴ１）を示す。
【０１２２】
モデルデータＭＤＴ１は、検索クエリが入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力された検索クエリに応じて、入力層に入力された検索クエリの分散表現を出力層から出力するよう、生成装置５０を機能させてもよい。
【０１２３】
ここで、モデルデータＭＤＴ１が「y=a1*x1+a2*x2+・・・+ai*xi」で示す回帰モデルで実現されるとする。この場合、モデルデータＭＤＴ１が含む第１要素は、x1やx2等といった入力データ（xi）に対応する。また、第１要素の重みは、xiに対応する係数aiに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第１要素は、入力層が有するいずれかのノードに対応し、第２要素は、出力層が有するノードと見做すことができる。
【０１２４】
また、モデルデータＭＤＴ１がＤＮＮ（Deep  Neural  Network）等、１つまたは複数の中間層を有するニューラルネットワークで実現されるとする。この場合、モデルデータＭＤＴ１が含む第１要素は、入力層または中間層が有するいずれかのノードに対応する。また、第２要素は、第１要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第１要素の重みは、第１要素と対応するノードから第２要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。
【０１２５】
生成装置５０は、上述した回帰モデルやニューラルネットワーク等、任意の構造を有するモデルを用いて、分散表現の算出を行う。具体的には、モデルデータＭＤＴ１は、検索クエリが入力された場合に、分散表現を出力するように係数が設定される。生成装置５０は、このようなモデルデータＭＤＴ１を用いて、分散表現を算出する。
【０１２６】
なお、上記例では、モデルデータＭＤＴ１が、検索クエリが入力された場合に、検索クエリの分散表現を出力するモデル（以下、モデルＸ１という。）である例を示した。しかし、実施形態に係るモデルデータＭＤＴ１は、モデルＸ１にデータの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。例えば、モデルデータＭＤＴ１は、検索クエリを入力とした際に、モデルＸ１が出力した分散表現を入力して学習されたモデル（以下、モデルＹ１という。）であってもよい。または、モデルデータＭＤＴ１は、検索クエリを入力とし、モデルＹ１の出力値を出力とするよう学習されたモデルであってもよい。
【０１２７】
また、生成装置５０がＧＡＮ（Generative  Adversarial  Networks）を用いた推定処理を行う場合、モデルデータＭＤＴ１は、ＧＡＮの一部を構成するモデルであってもよい。
【０１２８】
（制御部５２）
図１１の説明に戻って、制御部５２は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、生成装置５０内部の記憶装置に記憶されている各種プログラム（生成プログラムの一例に相当）がＲＡＭを作業領域として実行されることにより実現される。また、制御部５２は、コントローラであり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。
【０１２９】
また、制御部５２は、モデル情報記憶部５３３に記憶されている第１モデルＭ１（モデルデータＭＤＴ１）に従った情報処理により、入力層に入力された検索クエリに対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、分散表現を出力層から出力するよう、コンピュータを機能させる。
【０１３０】
また、制御部５２は、モデル情報記憶部５３３に記憶されている第２モデルＭ２（モデルデータＭＤＴ２）に従った情報処理により、入力層に入力された検索クエリに対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、検索クエリが各カテゴリに属する確率を出力層から出力するよう、コンピュータを機能させる。
【０１３１】
図１１に示すように、制御部５２は、取得部５２１と、抽出部５２２と、生成部５２３を有し、以下に説明する情報処理の作用を実現または実行する。なお、制御部５２の内部構成は、図１１に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【０１３２】
（取得部５２１）
取得部５２１は、種々の情報を取得する。具体的には、取得部５２１は、ユーザによって入力された検索クエリを検索サーバ２０から取得する。取得部５２１は、ユーザによって入力された検索クエリを取得すると、取得した検索クエリをクエリ情報記憶部５３１に格納する。
【０１３３】
また、取得部５２１は、検索クエリの分散表現であるベクトルに関するベクトル情報を取得する。取得部５２１は、ベクトル情報を取得すると、取得したベクトル情報をベクトル情報記憶部５３２に格納する。
【０１３４】
また、取得部５２１は、第１モデルに関する情報を取得する。具体的には、取得部５２１は、取得部５２１は、生成部５２３によって生成された第１モデルに関する情報を取得する。取得部５２１は、第１モデルに関する情報を取得すると、取得した第１モデルに関する情報をモデル情報記憶部５３３に格納する。
【０１３５】
（抽出部５２２）
抽出部５２２は、種々の情報を抽出する。具体的には、抽出部５２２は、取得部５２１によって取得された検索クエリのうち、同一のユーザによって所定の時間内に入力された複数の検索クエリを抽出する。例えば、抽出部５２２は、同一のユーザによって各検索クエリが入力された時間の間隔が所定の時間内である複数の検索クエリを抽出する。続いて、抽出部５２２は、同一のユーザによって所定の時間内に入力された複数の検索クエリのうち、同一のユーザによって所定の時間内に連続して入力された一対の検索クエリを抽出する。例えば、抽出部５２２は、同一のユーザによって各検索クエリのペアが入力された時間の間隔が所定の時間内である複数の検索クエリを抽出する。例えば、抽出部５２２は、取得部５２１によって取得された検索クエリのうち、同一のユーザＵ１によって所定の時間内に連続して入力された４個の検索クエリである検索クエリＱ１１（「六本木  パスタ」）、検索クエリＱ１２（「六本木  イタリアン」）、検索クエリＱ１３（「赤坂  パスタ」）、検索クエリＱ１４（「麻布  パスタ」）を抽出する。抽出部５２２は、検索クエリが入力された順番に並べると、検索クエリＱ１１、検索クエリＱ１２、検索クエリＱ１３、検索クエリＱ１４の順番で入力された４個の検索クエリを抽出する。続いて、抽出部５２２は、４個の検索クエリを抽出すると、時系列的に隣り合う２つの検索クエリを一対の検索クエリとして、３対の検索クエリのペアである（検索クエリＱ１１、検索クエリＱ１２）、（検索クエリＱ１２、検索クエリＱ１３）、（検索クエリＱ１３、検索クエリＱ１４）を抽出する。なお、抽出部５２２は、同一のユーザによって全ての検索クエリが所定の時間内に入力された複数の検索クエリを抽出してもよい。そして、抽出部５２２は、時系列的に隣り合うか否かに関わらず、抽出した複数の検索クエリの中から２つの検索クエリを選択して、選択した２つの検索クエリを一対の検索クエリとして抽出してもよい。
【０１３６】
また、抽出部５２２は、取得部５２１によって取得された検索クエリのうち、所定の検索クエリと所定の検索クエリに無関係な他の検索クエリとを抽出する。例えば、抽出部５２２は、取得部５２１によって取得された検索クエリの中から、所定の検索クエリを抽出する。続いて、抽出部５２２は、取得部５２１によって取得された検索クエリの中から、所定の検索クエリとは無関係にランダムに他の検索クエリを抽出する。
【０１３７】
（生成部５２３）
生成部５２３は、種々の情報を生成する。具体的には、生成部５２３は、取得部５２１によって取得された検索クエリのうち、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する学習モデルを生成する。具体的には、生成部５２３は、同一のユーザによって所定の時間内に入力された複数の検索クエリの分散表現が類似するように学習モデルを学習させることで、所定の検索クエリから所定の検索クエリの特徴情報を予測する学習モデルを生成する。例えば、生成部５２３は、所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習することで、学習モデルを生成する。例えば、生成部５２３は、一対の検索クエリの学習前の分散表現（ベクトル）の類似度の値を算出する。また、生成部５２３は、一対の検索クエリの学習後の分散表現（ベクトル）の類似度の値を算出する。続いて、生成部５２３は、学習前の分散表現（ベクトル）の類似度の値よりも、学習後の分散表現（ベクトル）の類似度の値が大きくなるように学習モデルを学習させる。このように、生成部５２３は、一対の検索クエリに対応する一対の分散表現である２つのベクトルが分散表現空間上で類似するように学習モデルを学習させることで、検索クエリから分散表現（ベクトル）を出力する学習モデルを生成する。より具体的には、生成部５２３は、ＲＮＮの一種であるＬＳＴＭを分散表現生成に用いたＤＳＳＭの技術を用いて、検索クエリから分散表現（ベクトル）を出力する学習モデルを生成する。例えば、生成部５２３は、学習モデルの正解データとして、同一のユーザによって所定の時間内に入力された一対の検索クエリが類似する特徴を有するものとして、所定の検索クエリの分散表現（ベクトル）と、所定の検索クエリと対となる他の検索クエリの分散表現（ベクトル）とが、分散表現空間上で近くに存在するように学習する。また、生成部５２３は、第１モデルを生成すると、第１モデルを識別する識別情報と対応付けて、生成した第１モデル（モデルデータＭＤＴ１）をモデル情報記憶部５３３に格納する。
【０１３８】
〔７．第１モデルの一例〕
次に、図１５を用いて生成装置５０が生成する第１モデルの一例について説明する。図１５は、実施形態に係る第１モデルの一例を示す図である。図１５に示す例では、生成装置５０が生成する第１モデルＭ１は、３層のＬＳＴＭ  ＲＮＮで構成されている。図１５に示す例では、抽出部５２２は、同一のユーザＵ１によって所定の時間内に連続して入力された「六本木  パスタ」という検索クエリＱ１１と「六本木  イタリアン」という検索クエリＱ１２とから成る一対の検索クエリを抽出する。生成部５２３は、抽出部５２２によって抽出されたた検索クエリＱ１１を第１モデルＭ１の入力層に入力する（ステップＳ４１）。
【０１３９】
続いて、生成部５２３は、第１モデルＭ１の出力層から検索クエリＱ１１の分散表現である２５６次元のベクトルＢＱＶ１１を出力する。また、生成部５２３は、抽出部５２２によって抽出された検索クエリＱ１２を第１モデルＭ１の入力層に入力する。続いて、生成部５２３は、第１モデルＭ１の出力層から検索クエリＱ１２の分散表現である２５６次元のベクトルＢＱＶ１２を出力する（ステップＳ４２）。
【０１４０】
続いて、生成部５２３は、連続して入力された２つの検索クエリの分散表現（ベクトル）が類似するように学習することで、検索クエリから分散表現（ベクトル）を出力する第１モデルＭ１を生成する（ステップＳ４３）。例えば、第１モデルＭ１にフィードバックをかける前（学習前）の検索クエリＱ１１の分散表現であるベクトルＢＱＶ１１と検索クエリＱ１２の分散表現であるベクトルＢＱＶ１２とのなす角度の大きさをΘとする。また、第１モデルＭ１にフィードバックをかけた後（学習後）の検索クエリＱ１１の分散表現であるベクトルＱＶ１１と検索クエリＱ１２の分散表現であるベクトルＱＶ１２とのなす角度の大きさをΦとする。この時、生成部５２３は、ΘよりもΦが小さくなるように、第１モデルＭ１を学習させる。例えば、生成部５２３は、ベクトルＢＱＶ１１とベクトルＢＱＶ１２のコサイン類似度の値を算出する。また、生成部５２３は、ベクトルＱＶ１１とベクトルＱＶ１２のコサイン類似度の値を算出する。続いて、生成部５２３は、ベクトルＢＱＶ１１とベクトルＢＱＶ１２のコサイン類似度の値よりも、ベクトルＱＶ１１とベクトルＱＶ１２のコサイン類似度の値が大きくなるように（値が１に近づくように）学習モデルＭ１を学習させる。このように、生成部５２３は、一対の検索クエリに対応する一対の分散表現である２つのベクトルが分散表現空間上で類似するように第１モデルＭ１を学習させることで、検索クエリから分散表現（ベクトル）を出力する第１モデルＭ１を生成する。なお、生成部５２３は、コサイン類似度に限らず、ベクトル間の距離尺度として適用可能な指標であれば、どのような指標に基づいて分散表現（ベクトル）の間の類似度を算出してもよい。また、生成部５２３は、ベクトル間の距離尺度として適用可能な指標であれば、どのような指標に基づいて学習モデルＭ１を学習させてもよい。例えば、生成部５２３は、分散表現（ベクトル）同士のユークリッド距離や双曲空間等の非ユークリッド空間中での距離、マンハッタン距離、マハラノビス距離等といった所定の距離関数の値を算出する。続いて、生成部５２３は、分散表現（ベクトル）同士の所定の距離関数の値（すなわち、分散表現空間における距離）が小さくなるように学習モデルＭ１を学習させてもよい。
【０１４１】
また、生成部５２３は、同一のユーザによって所定の時間内に入力された複数の検索クエリとして、所定の区切り文字で区切られた文字情報を含む複数の検索クエリが類似する特徴を有するものとして学習することで、第１モデルを生成する。例えば、生成部５２３は、地名を示す「六本木」と食品の種類を示す「パスタ」の文字とが区切り文字であるスペースで区切られた検索クエリ「六本木  パスタ」と、地名を示す「六本木」と料理の種類を示す「イタリアン」の文字とが区切り文字であるスペースで区切られた検索クエリ「六本木  イタリアン」とが類似する特徴を有するものとして学習することで、第１モデルを生成する。
【０１４２】
また、生成部５２３は、取得部５２１によって取得された検索クエリのうち、ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、第１モデルを生成する。具体的には、生成部５２３は、取得部５２１によって取得された検索クエリのうち、ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、第１モデルを生成する。例えば、生成部５２３は、抽出部５２２によって抽出された所定の検索クエリの分散表現と、所定の検索クエリとは無関係にランダムに抽出された検索クエリの分散表現とが分散表現空間上で遠くにマッピングされるように第１モデルＭ１のトレーニングを行う。
【０１４３】
〔８．第１モデルの生成処理のフロー〕
次に、図１６を用いて、実施形態に係る第１モデルの生成処理の手順について説明する。図１６は、実施形態に係る第１モデルの生成処理手順を示すフローチャートである。
【０１４４】
図１６に示す例では、生成装置５０は、ユーザによって入力された検索クエリを取得する（ステップＳ１００１）。
【０１４５】
続いて、生成装置５０は、同一のユーザによって所定の時間内に入力された複数の検索クエリを抽出する（ステップＳ１００２）。
【０１４６】
続いて、生成装置５０は、抽出した複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する第１モデルを生成する（ステップＳ１００３）。
【０１４７】
〔９．効果〕
上述してきたように、実施形態に係る抽出装置１００は、受付部１３１と抽出部１３４とを有する。受付部１３１は、利用者から事象の指定を受付ける。抽出部１３４は、取引対象を示す対象情報が検索クエリとして入力された際の検索意図と、利用者によって指定された事象を示す事象情報が検索クエリとして入力された際の検索意図との類似性に基づいて、利用者によって指定された事象と所定の関連性を有する取引対象である関連取引対象を示す関連対象情報を抽出する。
【０１４８】
これにより、抽出装置１００は、取引対象と、取引対象と全く異なる属性を有する事象との関連性に関する新たな知見を得ることができる。したがって、抽出装置１００は、有用な情報を得ることができる。
【０１４９】
また、受付部１３１は、利用者から取引対象の属性の指定を受け付ける。抽出部１３４は、利用者によって指定された属性を有する関連取引対象を示す関連対象情報を抽出する。
【０１５０】
これにより、抽出装置１００は、利用者によって指定された属性を有する取引対象と、取引対象と全く異なる属性を有する事象との関連性に関する新たな知見を得ることができる。
【０１５１】
また、受付部１３１は、利用者からそれぞれ異なる複数の取引対象を含む取引対象の組の指定を受け付ける。抽出部１３４は、利用者によって指定された組に含まれるそれぞれの取引対象が示す対象情報が検索クエリとして入力された際の検索意図と、利用者によって指定された事象を示す事象情報が検索クエリとして入力された際の検索意図との類似性に基づいて、組の中から関連取引対象を示す関連対象情報を抽出する。
【０１５２】
これにより、抽出装置１００は、利用者によって指定された組に含まれるそれぞれの取引対象と、取引対象と全く異なる属性を有する事象との関連性に関する新たな知見を得ることができる。
【０１５３】
また、実施形態に係る抽出装置１００は、算出部１３３をさらに有する。算出部１３３は、対象情報が検索クエリとして入力された際の検索意図と、事象情報が検索クエリとして入力された際の検索意図との類似性を示すスコアを算出する。抽出部１３４は、算出部１３３によって算出されたスコアに基づいて、関連取引対象を示す関連対象情報を抽出する。
【０１５４】
これにより、抽出装置１００は、取引対象と、取引対象と全く異なる属性を有する事象との検索意図の類似性に関する新たな知見を得ることができる。
【０１５５】
また、算出部１３３は、対象情報である文字情報に対応する分散表現と事象情報である文字情報に対応する分散表現との類似度をスコアとして算出する。
【０１５６】
これにより、抽出装置１００は、取引対象と、取引対象と全く異なる属性を有する事象との検索意図の類似性を示す数値に基づく客観的な知見を得ることができる。
【０１５７】
また、抽出部１３４は、算出部１３３によって算出されたスコア順に並べられた取引対象を示す対象情報の一覧を抽出する。
【０１５８】
これにより、抽出装置１００は、取引対象と、取引対象と全く異なる属性を有する事象との検索意図の類似性に関する関係を一目で把握可能とする。
【０１５９】
また、受付部１３１は、イベント、行事、催し物又は人間の活動状態である事象の指定を受け付ける。
【０１６０】
これにより、抽出装置１００は、取引対象と、イベント、行事、催し物又は人間の活動状態である事象との関連性に関する新たな知見を得ることができる。
【０１６１】
また、抽出部１３４は、物品である取引対象を示す対象情報を抽出する。
【０１６２】
これにより、抽出装置１００は、物品と、物品と全く異なる属性を有する事象との関連性に関する新たな知見を得ることができる。
【０１６３】
また、抽出部１３４は、商品又はサービスである取引対象を示す対象情報を抽出する。
【０１６４】
これにより、抽出装置１００は、商品又はサービスと、商品又はサービスと全く異なる属性を有する事象との関連性に関する新たな知見を得ることができる。
【０１６５】
また、実施形態に係る抽出装置１００は、提供部１３５をさらに有する。提供部１３５は、抽出部１３４によって抽出された関連取引対象を示す関連対象情報を提供する。また、提供部１３５は、抽出部１３４によって抽出された関連取引対象を示す関連対象情報に基づいて、関連取引対象に関する所定の傾向に関する情報を提供する。また、提供部１３５は、抽出部１３４によって抽出された関連取引対象に関連する商品又はサービスに関する提案情報を提供する。
【０１６６】
これにより、抽出装置１００は、取引対象と、取引対象と全く異なる属性を有する事象との関連性に関する新たな知見を提供可能とする。
【０１６７】
〔１０．ハードウェア構成〕
また、上述してきた実施形態に係る抽出装置１００または生成装置５０は、例えば図１７に示すような構成のコンピュータ１０００によって実現される。図１７は、抽出装置１００または生成装置５０の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ１３００、ＨＤＤ１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、及びメディアインターフェイス（Ｉ／Ｆ）１７００を備える。
【０１６８】
ＣＰＵ１１００は、ＲＯＭ１３００またはＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０１６９】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス１５００は、所定の通信網を介して他の機器からデータを受信してＣＰＵ１１００へ送り、ＣＰＵ１１００が生成したデータを所定の通信網を介して他の機器へ送信する。
【０１７０】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、生成したデータを入出力インターフェイス１６００を介して出力装置へ出力する。
【０１７１】
メディアインターフェイス１７００は、記録媒体１８００に格納されたプログラムまたはデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１７２】
例えば、コンピュータ１０００が抽出装置１００または生成装置５０として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、制御部１３０または制御部５２の機能を実現する。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムを記録媒体１８００から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムを取得してもよい。
【０１７３】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１７４】
〔１１．その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１７５】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１７６】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１７７】
また、上述してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、抽出部は、抽出手段や抽出回路に読み替えることができる。
【符号の説明】
【０１７８】
１  抽出システム
１０  端末装置
２０  検索サーバ
５０  生成装置
１００  抽出装置
１１０  通信部
１２０  記憶部
１２１  指定情報記憶部
１２２  事象情報記憶部
１２３  物品情報記憶部
１２４  モデル情報記憶部
１３０  制御部
１３１  受付部
１３２  取得部
１３３  算出部
１３４  抽出部
１３５  提供部
【図１】
2020194368.tif 000003
【図２】
2020194368.tif 000004
【図３】
2020194368.tif 000005
【図４】
2020194368.tif 000006
【図５】
2020194368.tif 000007
【図６】
2020194368.tif 000008
【図７】
2020194368.tif 000009
【図８】
2020194368.tif 000010
【図９】
2020194368.tif 000011
【図１０】
2020194368.tif 000012
【図１１】
2020194368.tif 000013
【図１２】
2020194368.tif 000014
【図１３】
2020194368.tif 000015
【図１４】
2020194368.tif 000016
【図１５】
2020194368.tif 000017
【図１６】
2020194368.tif 000018
【図１７】
2020194368.tif 000019
【手続補正書】
【提出日】令和2年4月20日(2020.4.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
利用者から事象の指定を受付ける受付部と、
同一のユーザによって所定の時間内に取引対象を示す対象情報とともに検索クエリとして入力された他の情報に応じた検索意図と、同一のユーザによって所定の時間内に前記利用者によって指定された事象を示す事象情報とともに検索クエリとして入力された他の情報に応じた検索意図との類似性に基づいて、前記利用者によって指定された事象と所定の関連性を有する取引対象である関連取引対象を示す関連対象情報を抽出する抽出部と、
を有することを特徴とする抽出装置。
【請求項２】
前記受付部は、
前記利用者から取引対象の属性の指定を受け付け、
前記抽出部は、
前記利用者によって指定された属性を有する前記関連取引対象を示す前記関連対象情報を抽出する
ことを特徴とする請求項１に記載の抽出装置。
【請求項３】
前記受付部は、
前記利用者からそれぞれ異なる複数の取引対象を含む取引対象の組の指定を受け付け、
前記抽出部は、
同一のユーザによって所定の時間内に前記利用者によって指定された組に含まれるそれぞれの取引対象が示す対象情報とともに検索クエリとして入力された他の情報に応じた検索意図と、同一のユーザによって所定の時間内に前記利用者によって指定された事象を示す事象情報とともに検索クエリとして入力された他の情報に応じた検索意図との類似性に基づいて、前記組の中から前記関連取引対象を示す前記関連対象情報を抽出する
ことを特徴とする請求項１または２に記載の抽出装置。
【請求項４】
同一のユーザによって所定の時間内に前記対象情報とともに検索クエリとして入力された他の情報に応じた検索意図と、同一のユーザによって所定の時間内に前記事象情報とともに検索クエリとして入力された他の情報に応じた検索意図との類似性を示すスコアを算出する算出部をさらに備え、
前記抽出部は、
前記算出部によって算出されたスコアに基づいて、前記関連取引対象を示す前記関連対象情報を抽出する
ことを特徴とする請求項１〜３のいずれか一つに記載の抽出装置。
【請求項５】
前記算出部は、
前記対象情報である文字情報に対応する分散表現と前記事象情報である文字情報に対応する分散表現との類似度を前記スコアとして算出する
ことを特徴とする請求項４に記載の抽出装置。
【請求項６】
前記抽出部は、
前記算出部によって算出されたスコアと所定の閾値との比較に基づいて、前記関連取引対象を示す前記関連対象情報を抽出する
ことを特徴とする請求項４または５に記載の抽出装置。
【請求項７】
前記抽出部は、
前記算出部によって算出されたスコア順に並べられた前記取引対象を示す前記対象情報の一覧を抽出する
ことを特徴とする請求項４〜６のいずれか一つに記載の抽出装置。
【請求項８】
前記受付部は、
イベント、行事、催し物又は人間の活動状態である前記事象の指定を受け付ける
ことを特徴とする請求項１〜７のいずれか一つに記載の抽出装置。
【請求項９】
前記抽出部は、
物品である前記取引対象を示す対象情報を抽出する
ことを特徴とする請求項１〜８のいずれか一つに記載の抽出装置。
【請求項１０】
前記抽出部は、
商品又はサービスである前記取引対象を示す対象情報を抽出する
ことを特徴とする請求項１〜９のいずれか一つに記載の抽出装置。
【請求項１１】
前記抽出部によって抽出された関連取引対象を示す関連対象情報を提供する提供部
をさらに備えることを特徴とする請求項１〜１０のいずれか一つに記載の抽出装置。
【請求項１２】
前記提供部は、
前記抽出部によって抽出された関連取引対象を示す関連対象情報に基づいて、前記関連取引対象に関する所定の傾向に関する情報を提供する
ことを特徴とする請求項１１に記載の抽出装置。
【請求項１３】
前記提供部は、
前記抽出部によって抽出された関連取引対象に関連する商品又はサービスに関する提案情報を提供する
ことを特徴とする請求項１１または１２に記載の抽出装置。
【請求項１４】
コンピュータが実行する抽出方法であって、
利用者から事象の指定を受付ける受付工程と、
同一のユーザによって所定の時間内に取引対象を示す対象情報とともに検索クエリとして入力された他の情報に応じた検索意図と、同一のユーザによって所定の時間内に前記利用者によって指定された事象を示す事象情報とともに検索クエリとして入力された他の情報に応じた検索意図との類似性に基づいて、前記利用者によって指定された事象と所定の関連性を有する取引対象である関連取引対象を示す関連対象情報を抽出する抽出工程と、
を含むことを特徴とする抽出方法。
【請求項１５】
利用者から事象の指定を受付ける受付手順と、
同一のユーザによって所定の時間内に取引対象を示す対象情報とともに検索クエリとして入力された他の情報に応じた検索意図と、同一のユーザによって所定の時間内に前記利用者によって指定された事象を示す事象情報とともに検索クエリとして入力された他の情報に応じた検索意図との類似性に基づいて、前記利用者によって指定された事象と所定の関連性を有する取引対象である関連取引対象を示す関連対象情報を抽出する抽出手順と、
をコンピュータに実行させることを特徴とする抽出プログラム。