JP2020129192A - Information processing device, information processing method, and information processing program - Google Patents

Information processing device, information processing method, and information processing program Download PDF

Info

Publication number
JP2020129192A
JP2020129192A JP2019020767A JP2019020767A JP2020129192A JP 2020129192 A JP2020129192 A JP 2020129192A JP 2019020767 A JP2019020767 A JP 2019020767A JP 2019020767 A JP2019020767 A JP 2019020767A JP 2020129192 A JP2020129192 A JP 2020129192A
Authority
JP
Japan
Prior art keywords
query
search
search query
information
predetermined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019020767A
Other languages
Japanese (ja)
Other versions
JP7071304B2 (en
Inventor
孝太 坪内
Kota Tsubouchi
孝太 坪内
清水 徹
Toru Shimizu
徹 清水
潤二 宰川
Junji Saikawa
潤二 宰川
伸幸 清水
Nobuyuki Shimizu
伸幸 清水
隼人 小林
Hayato Kobayashi
隼人 小林
アヌパム バッタチャルジ
Bhattacharjee Anupam
アヌパム バッタチャルジ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2019020767A priority Critical patent/JP7071304B2/en
Publication of JP2020129192A publication Critical patent/JP2020129192A/en
Application granted granted Critical
Publication of JP7071304B2 publication Critical patent/JP7071304B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

To recommend appropriate information to a user.SOLUTION: An information processing device comprises an extraction unit and a determination unit. The extraction unit extracts feature information indicating features of a prescribed query, assuming that a plurality of queries entered by a same user in a prescribed time should have similar features, using a learning model having learned the features of the plurality of queries. The determination unit determines recommendation information to be recommended to the user who entered the prescribed query on the basis of the feature information extracted by the extraction unit.SELECTED DRAWING: Figure 1

Description

本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。 The present invention relates to an information processing device, an information processing method, and an information processing program.

従来、ユーザの興味や関心にあった物品やサービスを推薦する技術が知られている。例えば、入力された自然言語要求を意味解析して、ユーザの意図を含む分脈情報を生成する。そして、生成した文脈情報に基づいて、ユーザに提示するアイテムの候補に対する順位付けを行う技術が提案されている。 2. Description of the Related Art Conventionally, there is known a technique of recommending a product or service that is of interest to a user. For example, the input natural language request is semantically analyzed to generate branch information including the user's intention. Then, a technique for ranking the item candidates to be presented to the user based on the generated context information has been proposed.

特開2016−91535号公報JP, 2016-91535, A

しかしながら、上記の従来技術では、ユーザに対して適切な情報を推薦することができるとは限らない。例えば、上記の従来技術では、入力された自然言語要求を意味解析して、文脈情報を生成するにすぎず、ユーザに対して適切な情報を推薦することができるとは限らない。 However, in the above-mentioned related art, it is not always possible to recommend appropriate information to the user. For example, in the above-mentioned conventional technique, the input natural language request is only semantically analyzed to generate context information, and it is not always possible to recommend appropriate information to the user.

本願は、上記に鑑みてなされたものであって、ユーザに対して適切な情報を推薦することができる情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的とする。 The present application has been made in view of the above, and an object thereof is to provide an information processing apparatus, an information processing method, and an information processing program that can recommend appropriate information to a user.

本願に係る情報処理装置は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、前記複数の検索クエリが有する特徴を学習した学習モデルを用いて、所定のクエリの特徴を示す特徴情報を抽出する抽出部と、前記抽出部によって抽出された特徴情報に基づいて、前記所定のクエリを入力したユーザに対して推薦する推薦情報を決定する決定部を備えたことを特徴とする。 The information processing apparatus according to the present application uses a learning model in which the features of the plurality of search queries are learned, assuming that the plurality of search queries input by the same user within a predetermined time have similar features, An extraction unit that extracts characteristic information indicating characteristics of a predetermined query, and a determination unit that determines recommendation information recommended to a user who has input the predetermined query, based on the characteristic information extracted by the extraction unit. It is characterized by having.

実施形態の一態様によれば、ユーザに対して適切な情報を推薦することができるといった効果を奏する。 According to the aspect of the embodiment, it is possible to recommend appropriate information to the user.

図1は、第1の実施形態に係る情報処理の一例を示す図である。FIG. 1 is a diagram illustrating an example of information processing according to the first embodiment. 図2は、第1の実施形態に係る情報処理システムの構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of the information processing system according to the first embodiment. 図3は、第1の実施形態に係る情報処理装置の構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of the information processing device according to the first embodiment. 図4は、第1の実施形態に係るモデル情報記憶部の一例を示す図である。FIG. 4 is a diagram illustrating an example of the model information storage unit according to the first embodiment. 図5は、第1の実施形態に係るベクトル情報記憶部の一例を示す図である。FIG. 5 is a diagram illustrating an example of the vector information storage unit according to the first embodiment. 図6は、第1の実施形態に係る検索情報記憶部の一例を示す図である。FIG. 6 is a diagram illustrating an example of the search information storage unit according to the first embodiment. 図7は、第1の実施形態に係る生成処理手順を示すフローチャートである。FIG. 7 is a flowchart showing a generation processing procedure according to the first embodiment. 図8は、第1の実施形態に係る情報処理手順を示すフローチャートである。FIG. 8 is a flowchart showing an information processing procedure according to the first embodiment. 図9は、変形例に係る情報処理の一例を示す図である。FIG. 9 is a diagram illustrating an example of information processing according to the modification. 図10は、変形例に係る情報処理の一例を示す図である。FIG. 10 is a diagram illustrating an example of information processing according to the modification. 図11は、変形例に係るユーザ端末がコンテンツを切り替える処理の一例を説明する図である。FIG. 11 is a diagram illustrating an example of a process in which the user terminal according to the modification switches the content. 図12は、第2の実施形態に係る情報処理装置の構成例を示す図である。FIG. 12 is a diagram illustrating a configuration example of the information processing device according to the second embodiment. 図13は、第2の実施形態に係るカテゴリ情報記憶部の一例を示す図である。FIG. 13 is a diagram illustrating an example of the category information storage unit according to the second embodiment. 図14は、第2の実施形態に係る予測処理手順を示すフローチャートである。FIG. 14 is a flowchart showing a prediction processing procedure according to the second embodiment. 図15は、第2の実施形態に係る情報処理手順を示すフローチャートである。FIG. 15 is a flowchart showing an information processing procedure according to the second embodiment. 図16は、実施形態に係る第1学習モデルの生成処理の一例を示す図である。FIG. 16 is a diagram illustrating an example of the first learning model generation process according to the embodiment. 図17は、実施形態に係る第1学習モデルの生成処理の一例を示す図である。FIG. 17 is a diagram illustrating an example of the first learning model generation process according to the embodiment. 図18は、実施形態に係る第2学習モデルの生成処理の一例を示す図である。FIG. 18 is a diagram illustrating an example of a second learning model generation process according to the embodiment. 図19は、実施形態に係る生成装置の構成例を示す図である。FIG. 19 is a diagram illustrating a configuration example of the generation device according to the embodiment. 図20は、実施形態に係るクエリ情報記憶部の一例を示す図である。FIG. 20 is a diagram illustrating an example of the query information storage unit according to the embodiment. 図21は、実施形態に係るベクトル情報記憶部の一例を示す図である。FIG. 21 is a diagram illustrating an example of the vector information storage unit according to the embodiment. 図22は、実施形態に係る分類定義記憶部の一例を示す図である。FIG. 22 is a diagram illustrating an example of the classification definition storage unit according to the embodiment. 図23は、実施形態に係るカテゴリ情報記憶部の一例を示す図である。FIG. 23 is a diagram illustrating an example of the category information storage unit according to the embodiment. 図24は、実施形態に係るモデル情報記憶部の一例を示す図である。FIG. 24 is a diagram illustrating an example of the model information storage unit according to the embodiment. 図25は、実施形態に係る第1学習モデルの一例を示す図である。FIG. 25 is a diagram illustrating an example of the first learning model according to the embodiment. 図26は、実施形態に係る第2学習モデルの一例を示す図である。FIG. 26 is a diagram illustrating an example of the second learning model according to the embodiment. 図27は、実施形態に係る第1学習モデルの生成処理手順を示すフローチャートである。FIG. 27 is a flowchart showing a procedure for generating the first learning model according to the embodiment. 図28は、実施形態に係る第2学習モデルの生成処理手順を示すフローチャートである。FIG. 28 is a flowchart showing a procedure for generating the second learning model according to the embodiment. 図29は、プログラムを実行するコンピュータのハードウェア構成の一例を示す図である。FIG. 29 is a diagram illustrating an example of the hardware configuration of a computer that executes a program.

以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。 Hereinafter, modes (hereinafter, referred to as “embodiments”) for implementing an information processing apparatus, an information processing method, and an information processing program according to the present application will be described in detail with reference to the drawings. The information processing apparatus, the information processing method, and the information processing program according to the present application are not limited to this embodiment. Further, in each of the following embodiments, the same parts are designated by the same reference numerals, and overlapping description will be omitted.

〔1.第1の実施形態〕
〔1−1.情報処理の一例〕
まず、図1を用いて、第1の実施形態に係る情報処理の一例について説明する。図1は、第1の実施形態に係る情報処理の一例を示す図である。図1に示す情報処理は、ユーザ端末10と検索サーバ20(図2参照)と生成装置50(図2参照)と情報処理装置100とによって行われる。
[1. First Embodiment]
[1-1. Example of information processing]
First, an example of information processing according to the first embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of information processing according to the first embodiment. The information processing shown in FIG. 1 is performed by the user terminal 10, the search server 20 (see FIG. 2), the generation device 50 (see FIG. 2), and the information processing device 100.

ユーザ端末10は、ユーザによって使用される情報処理装置である。ユーザ端末10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。なお、以下では、ユーザ端末10をユーザと同一視する場合がある。すなわち、以下では、ユーザをユーザ端末10と読み替えることもできる。 The user terminal 10 is an information processing device used by a user. The user terminal 10 is realized by, for example, a smartphone, a tablet terminal, a notebook PC (Personal Computer), a mobile phone, a PDA (Personal Digital Assistant), or the like. In the following, the user terminal 10 may be identified with the user. That is, in the following, the user can be read as the user terminal 10.

また、以下では、ユーザID「U11」により特定されるユーザを「ユーザU11」とする場合がある。このように、以下では、「ユーザU*(*は任意の数値)」と記載した場合、そのユーザはユーザID「U*」により特定されるユーザであることを示す。例えば、「ユーザU21」と記載した場合、そのユーザはユーザID「U21」により特定されるユーザである。 In the following, the user identified by the user ID “U11” may be referred to as “user U11”. As described above, in the following, when "user U* (* is an arbitrary numerical value)" is described, that user is a user specified by the user ID "U*". For example, when described as “user U21”, the user is the user specified by the user ID “U21”.

また、以下では、ユーザ端末10を利用するユーザに応じて、ユーザ端末10をユーザ端末10−1、10−2として説明する場合がある。例えば、ユーザ端末10−1は、ユーザU11により使用されるユーザ端末10である。また、例えば、ユーザ端末10−2は、ユーザU21により使用されるユーザ端末10である。また、以下では、ユーザ端末10−1、10−2について、特に区別なく説明する場合には、ユーザ端末10と記載する。 Moreover, below, depending on the user who uses the user terminal 10, the user terminal 10 may be described as the user terminals 10-1 and 10-2. For example, the user terminal 10-1 is the user terminal 10 used by the user U11. Further, for example, the user terminal 10-2 is the user terminal 10 used by the user U21. Further, in the following, the user terminals 10-1 and 10-2 will be referred to as the user terminal 10 if they are described without any particular distinction.

検索サーバ20(図2参照)は、検索サービスを提供するサーバ装置である。例えば、検索サーバ20が提供する検索サービスは、あらゆる情報を検索可能な総合検索サービスである。検索サーバ20は、ユーザによって入力された検索クエリに関する情報を記憶する。具体的には、検索サーバ20は、ユーザの検索履歴に関する情報を記憶する。 The search server 20 (see FIG. 2) is a server device that provides a search service. For example, the search service provided by the search server 20 is a comprehensive search service capable of searching all kinds of information. The search server 20 stores information about the search query input by the user. Specifically, the search server 20 stores information regarding the search history of the user.

生成装置50(図2参照)は、第1学習モデルを生成するサーバ装置である。ここでは、生成装置50による第1学習モデルの生成処理の概要を述べる。なお、生成装置50による第1学習モデルの生成処理の詳細は後述する。具体的には、生成装置50は、ユーザによって入力された検索クエリに関する情報を検索サーバ20から取得する。続いて、生成装置50は、検索サーバ20から取得した検索クエリのうち、同一のユーザによって所定の時間内に入力された複数の検索クエリを抽出する。ここで、生成装置50は、ユーザによる1回の検索ごとに検索ボックスに入力された文字列全体をユーザによって入力された一つの検索クエリとして取り扱う。例えば、生成装置50は、ユーザU1による1回の検索で検索ボックスに「六本木 パスタ」のように複数の文字列を含む検索クエリが入力された場合は、「六本木 パスタ」全体で一つの検索クエリとして取り扱う。また、生成装置50は、同一のユーザによって各検索クエリが入力された時間の間隔が所定の時間内(例えば、2分以内)であるような複数の検索クエリを同一のユーザによって所定の時間内に入力された複数の検索クエリとして抽出する。 The generation device 50 (see FIG. 2) is a server device that generates the first learning model. Here, the outline of the generation processing of the first learning model by the generation device 50 will be described. The details of the generation process of the first learning model by the generation device 50 will be described later. Specifically, the generation device 50 acquires information regarding the search query input by the user from the search server 20. Then, the generation device 50 extracts a plurality of search queries input from the search server 20 by the same user within a predetermined time. Here, the generation device 50 treats the entire character string input in the search box for each search by the user as one search query input by the user. For example, when the search query including a plurality of character strings such as “Roppongi pasta” is input to the search box in one search by the user U1, the generation device 50 makes one search query for the entire “Roppongi pasta”. Treat as. In addition, the generating device 50 may generate a plurality of search queries within a predetermined time by the same user such that the time intervals at which the respective search queries are input by the same user are within a predetermined time (for example, within 2 minutes). Extract as multiple search queries entered in.

続いて、生成装置50は、抽出した複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する第1学習モデルを生成する。具体的には、生成装置50は、抽出した複数の検索クエリの分散表現が類似するように第1学習モデルを学習させることで、所定の検索クエリから所定の検索クエリの特徴情報を含む分散表現(ベクトル)を出力する第1学習モデルを生成する。より具体的には、生成装置50は、RNN(Recurrent Neural Network)の一種であるLSTM(Long Short-Term Memory)を分散表現生成に用いたDSSM(Deep Structured Semantic Model)の技術を用いて、検索クエリから分散表現(ベクトル)を出力する第1学習モデルを生成する。例えば、生成装置50は、第1学習モデルの正解データとして、同一のユーザによって所定の時間内に入力された一対の検索クエリが類似する特徴を有するものとして、所定の検索クエリの分散表現(ベクトル)と、所定の検索クエリと対となる他の検索クエリの分散表現(ベクトル)とが、分散表現空間上で近くに存在するように学習する。なお、2つのベクトルが分散表現空間上で近くに存在するように学習することは、2つのベクトルが分散表現空間上で類似するように学習することと言い換えることができる。 Subsequently, the generating device 50 generates a first learning model that predicts the characteristic information of the predetermined search query from the predetermined search query by learning that the extracted plurality of search queries have similar characteristics. Specifically, the generation device 50 trains the first learning model so that the extracted distributed expressions of the plurality of search queries are similar to each other, so that the distributed expression including the characteristic information of the predetermined search query from the predetermined search query. A first learning model that outputs (vector) is generated. More specifically, the generation device 50 uses a technique of DSSM (Deep Structured Semantic Model) that uses an LSTM (Long Short-Term Memory), which is a type of RNN (Recurrent Neural Network), for distributed expression generation, and performs a search. A first learning model that outputs a distributed expression (vector) is generated from the query. For example, the generation device 50 assumes that, as the correct answer data of the first learning model, a pair of search queries input by the same user within a predetermined time have similar characteristics, and the distributed expression (vector) of the predetermined search query is used. ) And a distributed expression (vector) of another search query that forms a pair with a predetermined search query are learned so that they exist near each other in the distributed expression space. Note that learning so that two vectors exist close to each other in the distributed expression space can be rephrased as learning so that the two vectors are similar in the distributed expression space.

情報処理装置100は、不動産情報の検索サービス(以下、適宜「不動産情報検索サービスR1」と記載する。)を提供するサーバ装置である。情報処理装置100は、第1学習モデルのモデルデータを生成装置50から取得する。なお、以下では、第1学習モデルのモデルデータを単に第1学習モデルと記載する場合がある。情報処理装置100は、第1学習モデルを用いて、ユーザから受け付けた地名に対応する不動産エリアと類似する特徴を有する他の不動産エリアをお勧めエリアとして推薦する。 The information processing device 100 is a server device that provides a real estate information search service (hereinafter, appropriately referred to as “real estate information search service R1”). The information processing device 100 acquires the model data of the first learning model from the generation device 50. In the following, the model data of the first learning model may be simply referred to as the first learning model. The information processing apparatus 100 uses the first learning model to recommend another real estate area having characteristics similar to the real estate area corresponding to the place name received from the user as the recommended area.

ここから、図1を用いて、情報処理の流れについて説明する。図1では、情報処理装置100は、第1学習モデルを用いて、全国各地の地名や駅名を示す文字列(以下、適宜「地名クエリ」と記載する。)に対応する分散表現(ベクトル)を生成する(ステップS1)。図1右方に点線で示した吹き出しの中には、情報処理装置100が生成した地名クエリに対応する分散表現(ベクトル)が分散表現空間にマッピングされる様子が示されている。例えば、地名クエリ「地名#11」に対応する分散表現(ベクトル)を示す点と地名クエリ「地名#12」〜「地名#14」に対応する分散表現(ベクトル)を示す点とは、分散表現空間上で相対的に近くに位置する様子が示されている。すなわちこの図は、地名クエリ「地名#11」と地名クエリ「地名#12」〜「地名#14」とは、類似する特徴を有することを意味する。一方、地名クエリ「地名#11」に対応する分散表現(ベクトル)を示す点と地名クエリ「地名#21」〜「地名#22」に対応する分散表現(ベクトル)を示す点とは、分散表現空間上で相対的に遠くに存在する様子が示されている。すなわちこの図は、地名クエリ「地名#11」と地名クエリ「地名#21」〜「地名#22」とは、相違する特徴を有することを意味する。なお、図1では、説明のため、地名クエリを「地名#11」のように抽象的な記号で表現するが、本願発明を実施する際には、地名クエリには「武蔵小杉」や「吉祥寺」といった具体的な駅名や「港区」や「東京都」といった具体的な地名が用いられる。 From here, the flow of information processing is demonstrated using FIG. In FIG. 1, the information processing apparatus 100 uses a first learning model to generate a distributed expression (vector) corresponding to a character string indicating a place name or a station name (hereinafter, referred to as “place name query” as appropriate) throughout the country. Generate (step S1). In the balloon indicated by a dotted line on the right side of FIG. 1, a state in which the distributed expression (vector) corresponding to the place name query generated by the information processing apparatus 100 is mapped in the distributed expression space is shown. For example, the point indicating the distributed expression (vector) corresponding to the place name query “place name #11” and the point indicating the distributed expression (vector) corresponding to the place name queries “place name #12” to “place name #14” are the distributed expressions. It is shown to be located relatively close in space. That is, this figure means that the place name query “place name #11” and the place name queries “place name #12” to “place name #14” have similar features. On the other hand, the point indicating the distributed expression (vector) corresponding to the place name query “place name #11” and the point indicating the distributed expression (vector) corresponding to the place name queries “place name #21” to “place name #22” are the distributed expressions. It is shown to exist relatively far in space. That is, this figure means that the place name query “place name #11” and the place name queries “place name #21” to “place name #22” have different characteristics. In FIG. 1, for the sake of explanation, the place name query is expressed by an abstract symbol such as “place name #11”. However, when implementing the present invention, the place name query includes “Musashi Kosugi” and “Kichijoji”. A specific station name such as "" or a specific place name such as "Minato Ward" or "Tokyo" is used.

また、情報処理装置100は、知りたい街を検索する検索クエリを入力するための検索ボックスを含むコンテンツC11を介して、地名クエリ「地名#11」をユーザU11から受け付ける(ステップS2)。続いて、情報処理装置100は、地名クエリ「地名#11」を受け付けると、あらかじめ生成しておいた地名クエリ「地名#11」に対応する分散表現(ベクトル)と地名クエリ「地名#11」以外の他の地名クエリに対応する分散表現(ベクトル)との類似度を算出する(ステップS3)。なお、情報処理装置100は、地名クエリを受け付ける度に類似度を計算するのでなく、あらかじめ地名クエリ同士の類似度を算出してもよい。続いて、情報処理装置100は、類似度を算出すると、算出した類似度が所定の閾値を超えるか否かを判定する。続いて、情報処理装置100は、類似度が所定の閾値を超えると判定した場合に、地名クエリ「地名#11」と類似する特徴を有する類似クエリとして、他の地名クエリを抽出する(ステップS4)。 In addition, the information processing apparatus 100 accepts the place name query “place name #11” from the user U11 via the content C11 that includes the search box for inputting the search query for searching the city of interest (step S2). Subsequently, when the information processing apparatus 100 receives the place name query “place name #11”, the distributed expression (vector) corresponding to the place name query “place name #11” that has been generated in advance and the place name query “place name #11” are excluded. The degree of similarity with the distributed expression (vector) corresponding to another place name query is calculated (step S3). The information processing apparatus 100 may calculate the similarity between the place name queries in advance, instead of calculating the similarity each time the place name query is received. Then, the information processing apparatus 100, after calculating the similarity, determines whether the calculated similarity exceeds a predetermined threshold value. Subsequently, when the information processing apparatus 100 determines that the degree of similarity exceeds a predetermined threshold value, the information processing apparatus 100 extracts another place name query as a similar query having characteristics similar to the place name query “place name #11” (step S4). ).

例えば、情報処理装置100は、地名クエリ「地名#11」に対応する分散表現(ベクトル)と地名クエリ「地名#12」に対応する分散表現(ベクトル)との類似度を0.9と算出する。続いて、情報処理装置100は、地名クエリ「地名#11」に対応する分散表現(ベクトル)と地名クエリ「地名#12」に対応する分散表現(ベクトル)との類似度が所定の閾値(例えば、0.8)を超えるか否かを判定する。例えば、情報処理装置100は、類似度である0.9が所定の閾値である0.8を超えるので、地名クエリ「地名#11」の類似クエリとして、地名クエリ「地名#12」を抽出する。同様にして、情報処理装置100は、地名クエリ「地名#11」以外の他の地名クエリ全てについて、地名クエリ「地名#11」に対応する分散表現(ベクトル)との類似度を算出する。そして、情報処理装置100は、地名クエリ「地名#11」以外の他の地名クエリ全てについて、類似度が所定の閾値を超えるか否かを判定する。 For example, the information processing apparatus 100 calculates the similarity between the distributed expression (vector) corresponding to the place name query “place name #11” and the distributed expression (vector) corresponding to the place name query “place name #12” as 0.9. .. Subsequently, in the information processing apparatus 100, the similarity between the distributed expression (vector) corresponding to the place name query “place name #11” and the distributed expression (vector) corresponding to the place name query “place name #12” is a predetermined threshold value (eg, , 0.8) is exceeded. For example, the information processing apparatus 100 extracts the place name query “place name #12” as the similar query of the place name query “place name #11” because the similarity 0.9 exceeds the predetermined threshold of 0.8. .. Similarly, the information processing apparatus 100 calculates the degree of similarity with the distributed expression (vector) corresponding to the place name query “place name #11” for all other place name queries other than the place name query “place name #11”. Then, the information processing apparatus 100 determines whether or not the degree of similarity exceeds a predetermined threshold for all place name queries other than the place name query “place name #11”.

続いて、情報処理装置100は、類似クエリを抽出すると、類似クエリに基づいて、ユーザU11に対して推薦するお勧めエリアを決定する(ステップS5)。具体的には、情報処理装置100は、類似クエリとして抽出した地名クエリに対応する不動産エリアをお勧めエリアとして推薦することを決定する。例えば、情報処理装置100は、地名クエリ「地名#11」の類似クエリとして抽出した地名クエリ「地名#12」に対応する不動産エリアをユーザU11に対して推薦するお勧めエリアとして推薦することを決定する。なお、情報処理装置100は、類似クエリに対応する不動産エリアの中から、さらに類似度が上位所定数以内である地名クエリに対応する不動産エリアをお勧めエリアとして推薦することを決定してもよい。 Subsequently, when the information processing apparatus 100 extracts the similar query, the information processing apparatus 100 determines a recommended area recommended for the user U11 based on the similar query (step S5). Specifically, the information processing apparatus 100 determines to recommend the real estate area corresponding to the place name query extracted as the similar query as the recommended area. For example, the information processing apparatus 100 determines to recommend the real estate area corresponding to the place name query “place name #12” extracted as a similar query to the place name query “place name #11” as a recommended area recommended to the user U11. To do. Note that the information processing apparatus 100 may determine to recommend, as a recommended area, a real estate area corresponding to a place name query having a similarity within a higher predetermined number than the real estate areas corresponding to the similar query. ..

続いて、情報処理装置100は、お勧めエリアを決定すると、決定したお勧めエリアに関する情報(例えば、お勧めエリアの不動産物件の情報)をユーザU11に対して送信する(ステップS6)。 Subsequently, when the information processing apparatus 100 determines the recommended area, the information processing apparatus 100 transmits information on the determined recommended area (for example, information on real estate properties in the recommended area) to the user U11 (step S6).

上述したように、第1の実施形態に係る情報処理装置100は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、複数の検索クエリが有する特徴を学習した学習モデルを用いて、所定のクエリの特徴を示す特徴情報を抽出する。また、情報処理装置100は、抽出した特徴情報に基づいて、所定のクエリを入力したユーザに対して推薦する推薦情報を決定する。これにより、情報処理装置100は、所定の検索クエリに興味や関心を抱いたユーザに対して、所定の検索クエリの特徴を示す特徴情報に基づく情報を推薦可能とする。すなわち、情報処理装置100は、ユーザの興味や関心にマッチする情報を推薦可能とする。したがって、情報処理装置100は、ユーザに対して適切な情報を推薦することができる。 As described above, the information processing apparatus 100 according to the first embodiment has a feature that a plurality of search queries have the similar feature that a plurality of search queries input by the same user within a predetermined time period have similar features. Feature information indicating the features of a predetermined query is extracted using the learning model that has learned. In addition, the information processing apparatus 100 determines recommendation information that is recommended to the user who has input the predetermined query, based on the extracted characteristic information. With this, the information processing apparatus 100 can recommend information based on the characteristic information indicating the characteristics of the predetermined search query to the user who is interested in the predetermined search query. That is, the information processing apparatus 100 can recommend the interest of the user or information that matches the interest. Therefore, the information processing apparatus 100 can recommend appropriate information to the user.

また、一般的に、検索サービスを訪れるユーザ等、特定の分野に興味や関心を抱いてはいるものの、その分野に関する知識が少ないユーザが検索によって知識を得ようとする場面においては、適切な検索クエリが思いつかないという課題がある。本願発明に係る情報処理装置100は、入力する検索クエリに対する知識が少ないユーザが入力した検索クエリに基づいて、検索意図に応じた適切な検索クエリに基づく推薦情報を推薦することができる。したがって、情報処理装置100は、ユーザに対して適切な情報を推薦することができる。 In addition, in general, a user who is interested in a specific field such as a user who visits a search service, but has little knowledge about the field, who has little knowledge of the field, is likely to find an appropriate search. The problem is that I can't think of a query. The information processing apparatus 100 according to the present invention can recommend recommended information based on an appropriate search query according to a search intention, based on a search query input by a user who has little knowledge of the input search query. Therefore, the information processing apparatus 100 can recommend appropriate information to the user.

また、従来、概念検索に関する技術が知られている。例えば、ユーザの行動のログから概念を構築する技術が知られている。例えば、クーラーをつけるという行為と気温との相関に着目して、ユーザがクーラーをつけたという行動のログから暑い(気温が高い)という概念(例えば、検索クエリ)を構築する技術が知られている。しかしながら、従来は、クーラーをつけるという行為と暑い(気温が高い)という概念が関連するというルールを人間が登録していた(ルールベース)。また、ルールベースに寄らず、機械学習を用いた場合は、人手で大量のクエリについてラベル付けをするなどして学習データを作成する必要があった。そのため、従来は、狭義のクエリの概念検索を行うことしかできなかった。すなわち、従来は、人間によってあらかじめ答えとなる概念が付与されたクエリ(狭義のクエリ)の概念検索しか行うことができなかった。そこで、本願発明に係る情報処理装置100は、人手で大量のクエリについてラベル付けしたりすることなく、ユーザの検索セッションにおけるクエリ列をモデル化する。これにより、本願発明に係る情報処理装置100は、ごく少数のユーザによってしか検索されないようなニッチなクエリ(ロングテールなクエリ)についても、クエリと検索意図とを結び付けて学習することができる。すなわち、本願発明に係る情報処理装置100は、ユーザが自由に入力するようなニッチなクエリをもカバーする広義のクエリの概念検索を行うことができる。したがって、情報処理装置100は、ユーザに対して適切な情報を推薦することができる。 Further, conventionally, a technique related to concept retrieval is known. For example, a technique for constructing a concept from a log of user actions is known. For example, focusing on the correlation between the action of turning on the cooler and the temperature, there is known a technique of constructing a concept of hot (high temperature) (for example, a search query) from a log of the action of the user turning on the cooler. There is. However, in the past, humans have registered the rule that the act of putting on a cooler is related to the concept of being hot (high temperature) (rule base). In addition, if machine learning is used without depending on the rule base, it is necessary to manually create learning data by labeling a large number of queries. Therefore, conventionally, only a concept search of a narrowly defined query can be performed. That is, conventionally, only a concept search of a query (a narrowly defined query) to which a human being has previously given an answer concept can be performed. Therefore, the information processing apparatus 100 according to the present invention models a query string in a user's search session without manually labeling a large number of queries. As a result, the information processing apparatus 100 according to the present invention can learn a niche query (long tail query) that is searched by only a small number of users by associating the query with the search intention. That is, the information processing apparatus 100 according to the present invention can perform a concept search of a query in a broad sense that also covers a niche query that the user freely inputs. Therefore, the information processing apparatus 100 can recommend appropriate information to the user.

〔1−2.情報処理システムの構成〕
次に、図2を用いて、第1の実施形態に係る情報処理システムの構成について説明する。図2は、第1の実施形態に係る情報処理システムの構成例を示す図である。図2に示すように、情報処理システム1には、ユーザ端末10と、検索サーバ20と、生成装置50と、情報処理装置100とが含まれる。ユーザ端末10と、検索サーバ20と、生成装置50と、情報処理装置100とは所定のネットワークNを介して、有線または無線により通信可能に接続される。なお、図2に示す情報処理システム1には、任意の数のユーザ端末10と任意の数の検索サーバ20と任意の数の生成装置50と任意の数の情報処理装置100とが含まれてもよい。
[1-2. Information processing system configuration]
Next, the configuration of the information processing system according to the first embodiment will be described with reference to FIG. FIG. 2 is a diagram illustrating a configuration example of the information processing system according to the first embodiment. As shown in FIG. 2, the information processing system 1 includes a user terminal 10, a search server 20, a generation device 50, and an information processing device 100. The user terminal 10, the search server 20, the generation device 50, and the information processing device 100 are connected via a predetermined network N so as to be communicable by wire or wirelessly. Note that the information processing system 1 illustrated in FIG. 2 includes an arbitrary number of user terminals 10, an arbitrary number of search servers 20, an arbitrary number of generation devices 50, and an arbitrary number of information processing devices 100. Good.

ユーザ端末10は、ユーザによって入力された検索クエリを検索サーバ20に送信する。具体的には、ユーザ端末10は、ユーザによる操作に従って、検索クエリを入力するための検索ボックスを含む検索ページを検索サーバ20から取得する。続いて、ユーザ端末10は、ユーザによって検索ボックスに文字が入力される操作に続いて、検索クエリを送信する操作が行われると、検索ページを介して検索ボックスに入力された文字を検索クエリとして検索サーバ20に送信する。例えば、ユーザ端末10は、ユーザによって検索ボックスに文字が入力される操作に続いて、検索クエリの送信ボタンが押下される操作やエンターキーが押下される操作が行われると、検索ページを介して検索ボックスに入力された文字を検索クエリとして検索サーバ20に送信する。 The user terminal 10 transmits the search query input by the user to the search server 20. Specifically, the user terminal 10 acquires a search page including a search box for inputting a search query from the search server 20 according to the operation by the user. Subsequently, when the user terminal 10 performs an operation of transmitting a search query following an operation of inputting characters in the search box by the user, the character input in the search box via the search page is used as the search query. It is transmitted to the search server 20. For example, when the user presses the send button of the search query or presses the enter key after the user inputs characters in the search box, the user terminal 10 displays the search page through the search page. The characters input in the search box are transmitted to the search server 20 as a search query.

検索サーバ20は、ユーザ端末10から検索クエリを受け付けると、受け付けた検索クエリに応じたコンテンツであって、検索結果として出力されるコンテンツを選択する。続いて、検索サーバ20は、選択されたコンテンツを含む検索結果ページをユーザ端末10に配信する。ここで、検索サーバ20によって配信されるコンテンツは、ウェブブラウザによって表示されるウェブページに限られない。例えば、検索サーバ20によって配信されるコンテンツは、ユーザ端末10にインストールされた専用のアプリケーションによって表示されるコンテンツであってもよい。また、検索サーバ20によって配信されるコンテンツは、音楽コンテンツや画像(静止画のみならず動画を含む。)コンテンツ、テキストコンテンツ(ニュース記事やSNS(Social Networking Service)に投稿された記事を含む。)、画像とテキストを組み合わせたコンテンツ、ゲームコンテンツなど、どのようなコンテンツであってもよい。 When the search server 20 receives the search query from the user terminal 10, the search server 20 selects the content corresponding to the received search query and output as the search result. Then, the search server 20 delivers the search result page including the selected content to the user terminal 10. Here, the content distributed by the search server 20 is not limited to the web page displayed by the web browser. For example, the content distributed by the search server 20 may be content displayed by a dedicated application installed in the user terminal 10. The contents distributed by the search server 20 are music contents, images (including still images as well as moving images) contents, and text contents (including news articles and articles posted on SNS (Social Networking Service)). , Any content including a combination of images and text, game content, and the like.

また、検索サーバ20は、ユーザ端末10から検索クエリを受け付けると、受け付けた検索クエリと検索クエリの送信元であるユーザを識別するユーザIDと検索クエリの送信日時とを対応付けてデータベースに登録する。検索サーバ20は、生成装置50の要求に応じて、ユーザによって入力された検索クエリに関する情報を生成装置50に送信する。 In addition, when the search server 20 receives a search query from the user terminal 10, the search server 20 registers the received search query, the user ID that identifies the user who is the transmission source of the search query, and the transmission date and time of the search query in association with each other. .. The search server 20 transmits the information about the search query input by the user to the generation device 50 in response to the request from the generation device 50.

生成装置50は、後述する処理を実行することにより、第1学習モデルを生成する。生成装置50による第1学習モデルの生成処理の詳細は後述する。 The generation device 50 generates the first learning model by executing the processing described below. Details of the generation processing of the first learning model by the generation device 50 will be described later.

また、ユーザ端末10は、ユーザによって入力された検索クエリを情報処理装置100に送信する。具体的には、ユーザ端末10は、ユーザによる操作に従って、知りたい街を検索する検索クエリを入力するための検索ボックスを含むコンテンツC11を情報処理装置100から取得する。続いて、ユーザ端末10は、ユーザによって検索ボックスに文字が入力される操作に続いて、検索クエリを送信する操作が行われると、コンテンツC11を介して検索ボックスに入力された地名や駅名といった文字を検索クエリとして情報処理装置100に送信する。例えば、ユーザ端末10は、ユーザによって検索ボックスに文字が入力される操作に続いて、検索クエリの送信ボタンが押下される操作やエンターキーが押下される操作が行われると、コンテンツC11を介して検索ボックスに入力された文字を検索クエリとして情報処理装置100に送信する。 In addition, the user terminal 10 transmits the search query input by the user to the information processing device 100. Specifically, the user terminal 10 acquires, from the information processing apparatus 100, the content C11 including a search box for inputting a search query for searching a city that the user wants to know according to an operation performed by the user. Subsequently, when the user terminal 10 performs an operation of transmitting a search query after the operation of inputting characters in the search box by the user, the characters such as the place name and the station name input in the search box via the content C11. Is transmitted to the information processing device 100 as a search query. For example, when the operation of pressing the send button of the search query or the operation of pressing the enter key is performed subsequent to the operation of the user inputting a character in the search box, the user terminal 10 transmits the content C11 via the content C11. The characters input in the search box are transmitted to the information processing device 100 as a search query.

情報処理装置100は、図1で説明した情報処理を行うサーバ装置である。情報処理装置100は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、複数の検索クエリが有する特徴を学習した第1学習モデルを用いて、所定のクエリの特徴を示す特徴情報として、所定のクエリと類似する特徴を有する検索クエリである類似クエリを抽出する。また、情報処理装置100は、抽出した特徴情報である類似クエリに基づいて、所定のクエリを入力したユーザに対して推薦する推薦情報を決定する。 The information processing device 100 is a server device that performs the information processing described in FIG. The information processing apparatus 100 determines that a plurality of search queries input by the same user within a predetermined time period have similar features, and use a first learning model that learns the features of the plurality of search queries to determine a predetermined value. As the feature information indicating the feature of the query, a similar query that is a search query having a feature similar to the predetermined query is extracted. In addition, the information processing apparatus 100 determines recommendation information that is recommended to the user who has input a predetermined query, based on the similar query that is the extracted feature information.

〔1−3.情報処理装置の構成〕
次に、図3を用いて、第1の実施形態に係る情報処理装置100の構成について説明する。図3は、第1の実施形態に係る情報処理装置100の構成例を示す図である。図3に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示させるための表示部(例えば、液晶ディスプレイ等)を有してもよい。
[1-3. Configuration of information processing device]
Next, the configuration of the information processing device 100 according to the first embodiment will be described with reference to FIG. FIG. 3 is a diagram illustrating a configuration example of the information processing device 100 according to the first embodiment. As illustrated in FIG. 3, the information processing device 100 includes a communication unit 110, a storage unit 120, and a control unit 130. The information processing apparatus 100 includes an input unit (for example, a keyboard and a mouse) that receives various operations from an administrator of the information processing apparatus 100, and a display unit (for example, a liquid crystal display) for displaying various information. You may have.

(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、例えば、ユーザ端末10と検索サーバ20と生成装置50との間で情報の送受信を行う。
(Communication unit 110)
The communication unit 110 is realized by, for example, a NIC (Network Interface Card) or the like. Then, the communication unit 110 is connected to the network by wire or wirelessly, and transmits and receives information between the user terminal 10, the search server 20, and the generation device 50, for example.

(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、図3に示すように、モデル情報記憶部121とベクトル情報記憶部122と検索情報記憶部123とコンテンツ記憶部124を有する。
(Storage unit 120)
The storage unit 120 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk. As shown in FIG. 3, the storage unit 120 has a model information storage unit 121, a vector information storage unit 122, a search information storage unit 123, and a content storage unit 124.

(モデル情報記憶部121)
モデル情報記憶部121は、生成装置50によって生成された学習モデルに関する各種の情報を記憶する。図4に、第1の実施形態に係るモデル情報記憶部の一例を示す。図4に示す例では、モデル情報記憶部121は、「モデルID」、「モデルデータ」といった項目を有する。
(Model information storage unit 121)
The model information storage unit 121 stores various information regarding the learning model generated by the generation device 50. FIG. 4 shows an example of the model information storage unit according to the first embodiment. In the example shown in FIG. 4, the model information storage unit 121 has items such as “model ID” and “model data”.

「モデルID」は、生成装置50によって生成された学習モデルを識別するための識別情報を示す。「モデルデータ」は、生成装置50によって生成された学習モデルのモデルデータを示す。例えば、「モデルデータ」には、検索クエリを分散表現に変換するためのデータが格納される。 The “model ID” indicates identification information for identifying the learning model generated by the generation device 50. The “model data” indicates model data of the learning model generated by the generation device 50. For example, “model data” stores data for converting a search query into a distributed expression.

図4の1レコード目に示す例では、モデルID「M1」で識別される学習モデルは、図1に示した第1学習モデルM1に対応する。また、モデルデータ「MDT1」は、生成装置50によって生成された第1学習モデルM1のモデルデータ(モデルデータMDT1)を示す。 In the example shown in the first record of FIG. 4, the learning model identified by the model ID “M1” corresponds to the first learning model M1 shown in FIG. The model data “MDT1” indicates model data (model data MDT1) of the first learning model M1 generated by the generation device 50.

モデルデータMDT1は、検索クエリが入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された検索クエリに応じて、入力層に入力された検索クエリの分散表現を出力層から出力するよう、生成装置50を機能させてもよい。 The model data MDT1 includes an input layer to which a search query is input, an output layer, a first element belonging to any layer from the input layer to the output layer and other than the output layer, the first element, and the first element. A second element whose value is calculated based on the weight of one element, and a distributed expression of the search query input to the input layer is output from the output layer according to the search query input to the input layer. Thus, the generation device 50 may be operated.

ここで、モデルデータMDT1が「y=a1*x1+a2*x2+・・・+ai*xi」で示す回帰モデルで実現されるとする。この場合、モデルデータMDT1が含む第1要素は、x1やx2等といった入力データ(xi)に対応する。また、第1要素の重みは、xiに対応する係数aiに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第1要素は、入力層が有するいずれかのノードに対応し、第2要素は、出力層が有するノードと見做すことができる。 Here, it is assumed that the model data MDT1 is realized by the regression model represented by “y=a1*x1+a2*x2+...+ai*xi”. In this case, the first element included in the model data MDT1 corresponds to the input data (xi) such as x1 and x2. The weight of the first element corresponds to the coefficient ai corresponding to xi. Here, the regression model can be regarded as a simple perceptron having an input layer and an output layer. When each model is regarded as a simple perceptron, the first element can be regarded as a node included in the input layer, and the second element can be regarded as a node included in the output layer.

また、モデルデータMDT1がDNN(Deep Neural Network)等、1つまたは複数の中間層を有するニューラルネットワークで実現されるとする。この場合、モデルデータMDT1が含む第1要素は、入力層または中間層が有するいずれかのノードに対応する。また、第2要素は、第1要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第1要素の重みは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。 Further, it is assumed that the model data MDT1 is realized by a neural network having one or a plurality of intermediate layers such as DNN (Deep Neural Network). In this case, the first element included in the model data MDT1 corresponds to any node included in the input layer or the intermediate layer. The second element corresponds to the node at the next stage, which is the node to which the value is transmitted from the node corresponding to the first element. The weight of the first element corresponds to the connection coefficient, which is a weight considered for the value transmitted from the node corresponding to the first element to the node corresponding to the second element.

生成装置50は、上述した回帰モデルやニューラルネットワーク等、任意の構造を有するモデルを用いて、分散表現の算出を行う。具体的には、モデルデータMDT1は、検索クエリが入力された場合に、分散表現を出力するように係数が設定される。生成装置50は、このようなモデルデータMDT1を用いて、分散表現を算出する。 The generation device 50 calculates the distributed expression using a model having an arbitrary structure such as the above-described regression model or neural network. Specifically, the model data MDT1 is set with a coefficient so as to output a distributed expression when a search query is input. The generation device 50 calculates a distributed expression using such model data MDT1.

なお、上記例では、モデルデータMDT1が、検索クエリが入力された場合に、検索クエリの分散表現を出力するモデル(以下、モデルX1という。)である例を示した。しかし、実施形態に係るモデルデータMDT1は、モデルX1にデータの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。例えば、モデルデータMDT1は、検索クエリを入力とした際に、モデルX1が出力した分散表現を入力して学習されたモデル(以下、モデルY1という。)であってもよい。または、モデルデータMDT1は、検索クエリを入力とし、モデルY1の出力値を出力とするよう学習されたモデルであってもよい。 In the above example, the model data MDT1 is the model (hereinafter referred to as model X1) that outputs the distributed expression of the search query when the search query is input. However, the model data MDT1 according to the embodiment may be a model generated based on a result obtained by repeating input/output of data to/from the model X1. For example, the model data MDT1 may be a model (hereinafter, referred to as model Y1) learned by inputting the distributed expression output by the model X1 when the search query is input. Alternatively, the model data MDT1 may be a model learned so that the search query is input and the output value of the model Y1 is output.

また、生成装置50がGAN(Generative Adversarial Networks)を用いた推定処理を行う場合、モデルデータMDT1は、GANの一部を構成するモデルであってもよい。 When the generation device 50 performs the estimation process using GAN (Generative Adversarial Networks), the model data MDT1 may be a model forming a part of GAN.

(ベクトル情報記憶部122)
ベクトル情報記憶部122は、検索クエリの分散表現であるベクトルに関する各種の情報を記憶する。図5に、第1の実施形態に係るベクトル情報記憶部の一例を示す。図5に示す例では、ベクトル情報記憶部122は、「検索クエリ」、「ベクトル情報」といった項目を有する。
(Vector information storage unit 122)
The vector information storage unit 122 stores various kinds of information regarding vectors, which are distributed expressions of search queries. FIG. 5 shows an example of the vector information storage unit according to the first embodiment. In the example shown in FIG. 5, the vector information storage unit 122 has items such as “search query” and “vector information”.

「検索クエリ」は、ユーザによって入力された検索クエリを示す。「ベクトル情報」は、検索クエリの分散表現であるN次元のベクトルを示す。検索クエリの分散表現であるベクトルは、例えば、128次元のベクトルである。 "Search query" indicates a search query input by the user. “Vector information” indicates an N-dimensional vector that is a distributed expression of a search query. The vector that is the distributed expression of the search query is, for example, a 128-dimensional vector.

図5の1レコード目に示す例では、検索クエリ「地名#11」は、図1に示した地名クエリ「地名#11」に対応する。また、ベクトル情報「V11」は、図1に示した地名クエリ「地名#11」に対応する分散表現(ベクトル)を示す。 In the example shown in the first record of FIG. 5, the search query “place name #11” corresponds to the place name query “place name #11” shown in FIG. The vector information “V11” indicates a distributed expression (vector) corresponding to the place name query “place name #11” shown in FIG.

(検索情報記憶部123)
検索情報記憶部123は、情報処理装置100が提供する不動産情報検索サービスR1におけるユーザの検索履歴に関する各種の情報を記憶する。図6に、第1の実施形態に係る検索情報記憶部の一例を示す。図6に示す例では、検索情報記憶部123は、「ユーザID」、「日時」、「検索クエリ」といった項目を有する。
(Search information storage unit 123)
The search information storage unit 123 stores various kinds of information regarding a user's search history in the real estate information search service R1 provided by the information processing apparatus 100. FIG. 6 shows an example of the search information storage unit according to the first embodiment. In the example shown in FIG. 6, the search information storage unit 123 has items such as “user ID”, “date and time”, and “search query”.

「ユーザID」は、検索クエリを入力したユーザを識別するための識別情報を示す。「日時」は、情報処理装置100がユーザから検索クエリを受け付けた日時を示す。「検索クエリ」は、ユーザによって入力された検索クエリを示す。 The “user ID” indicates identification information for identifying the user who has input the search query. The “date and time” indicates the date and time when the information processing apparatus 100 accepted the search query from the user. "Search query" indicates a search query input by the user.

図6の1レコード目に示す例では、検索クエリ「地名#11」は、図1に示した地名クエリ「地名#11」に対応する。また、ユーザID「U11」は、地名クエリ「地名#11」を入力したユーザがユーザID「U11」で識別されるユーザ(ユーザU11)であることを示す。また、日時「2019/1/1 PM17:00」は、情報処理装置100がユーザU11から地名クエリ「地名#11」を受け付けた日時が2019年1月1日の午後17:00であることを示す。 In the example shown in the first record of FIG. 6, the search query “place name #11” corresponds to the place name query “place name #11” shown in FIG. Further, the user ID “U11” indicates that the user who inputs the place name query “place name #11” is the user (user U11) identified by the user ID “U11”. The date and time “2019/1/1 PM 17:00” means that the date and time when the information processing apparatus 100 receives the place name query “place name #11” from the user U11 is 17:00 pm on January 1, 2019. Show.

(コンテンツ記憶部124)
コンテンツ記憶部124は、コンテンツに関する各種の情報を記憶する。具体的には、コンテンツ記憶部124は、情報処理装置100が提供する不動産情報検索サービスR1に関するコンテンツを格納する。例えば、コンテンツ記憶部124は、図1に示す知りたい街を検索する検索クエリを入力するための検索ボックスを含むコンテンツC11を格納する。
(Content storage unit 124)
The content storage unit 124 stores various kinds of information regarding content. Specifically, the content storage unit 124 stores content related to the real estate information search service R1 provided by the information processing apparatus 100. For example, the content storage unit 124 stores the content C11 including a search box for inputting a search query shown in FIG.

(制御部130)
図3の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
(Control unit 130)
Returning to the description of FIG. 3, the control unit 130 is a controller, and is stored in a storage device inside the information processing device 100 by, for example, a CPU (Central Processing Unit) or an MPU (Micro Processing Unit). It is realized by executing various programs (corresponding to an example of an information processing program) stored in the RAM as a work area. The control unit 130 is a controller, and is realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

図3に示すように、制御部130は、取得部131と、生成部132と、提供部133と、算出部134と、抽出部135と、決定部136とを有し、以下に説明する情報処理の作用を実現または実行する。なお、制御部130の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。 As illustrated in FIG. 3, the control unit 130 includes an acquisition unit 131, a generation unit 132, a provision unit 133, a calculation unit 134, an extraction unit 135, and a determination unit 136, and information described below. Realize or execute the action of processing. Note that the internal configuration of the control unit 130 is not limited to the configuration shown in FIG.

(取得部131)
取得部131は、第1学習モデルを取得する。より具体的には、取得部131は、生成装置50によって生成された第1学習モデルを生成装置50から取得する。取得部131は、第1学習モデルを取得すると、取得した第1学習モデルをモデル情報記憶部121に格納する。
(Acquisition unit 131)
The acquisition unit 131 acquires the first learning model. More specifically, the acquisition unit 131 acquires the first learning model generated by the generation device 50 from the generation device 50. When acquiring the first learning model, the acquisition unit 131 stores the acquired first learning model in the model information storage unit 121.

(生成部132)
生成部132は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、複数の検索クエリが有する特徴を学習した学習モデルを用いて、所定の検索クエリの分散表現を生成する。具体的には、生成部132は、取得部131によって取得された第1学習モデルに検索クエリを入力して、検索クエリに対応する分散表現(ベクトル)を生成する。例えば、生成部132は、全国各地の地名や駅名の一覧データをオープンデータベースや辞書等から取得する。このようにして、生成部132は、全国各地の地名や駅名を示す文字列である地名クエリを取得する。続いて、生成部132は、取得部131によって取得された第1学習モデルに地名クエリを入力して、地名クエリに対応する分散表現(ベクトル)を生成する。生成部132は、分散表現(ベクトル)を生成すると、生成した分散表現のベクトル情報を検索クエリと対応付けてベクトル情報記憶部122に格納する。
(Generator 132)
The generation unit 132 determines that a plurality of search queries input by the same user within a predetermined time have similar features, and uses a learning model that learns the features of the plurality of search queries to perform a predetermined search query. Generate a distributed representation of. Specifically, the generation unit 132 inputs the search query into the first learning model acquired by the acquisition unit 131 and generates a distributed expression (vector) corresponding to the search query. For example, the generation unit 132 acquires list data of place names and station names from all over the country from an open database or a dictionary. In this way, the generation unit 132 acquires a place name query that is a character string indicating a place name or a station name nationwide. Subsequently, the generation unit 132 inputs the place name query into the first learning model acquired by the acquisition unit 131, and generates a distributed expression (vector) corresponding to the place name query. After generating the distributed expression (vector), the generation unit 132 stores the vector information of the generated distributed expression in the vector information storage unit 122 in association with the search query.

(提供部133)
提供部133は、不動産情報検索サービスR1を提供する。具体的には、提供部133は、不動産情報検索サービスR1に関するコンテンツをユーザ端末10に配信する。例えば、提供部133は、知りたい街を検索する検索クエリを入力するための検索ボックスを含むコンテンツC11を配信する。また、提供部133は、コンテンツC11を介して、検索クエリをユーザから受け付ける。例えば、提供部133は、地名クエリをユーザから受け付ける。提供部133は、ユーザから検索クエリを受け付けると、受け付けた検索クエリをクエリの受け付け日時とクエリの送信元であるユーザのユーザIDと対応付けて検索情報記憶部123に格納する。
(Providing section 133)
The providing unit 133 provides the real estate information search service R1. Specifically, the providing unit 133 distributes the content related to the real estate information search service R1 to the user terminal 10. For example, the providing unit 133 distributes the content C11 including a search box for inputting a search query for searching a city that the user wants to know. The providing unit 133 also receives a search query from the user via the content C11. For example, the providing unit 133 receives a place name query from the user. When the providing unit 133 receives a search query from a user, the providing unit 133 stores the received search query in the search information storage unit 123 in association with the date and time when the query was received and the user ID of the user who is the transmission source of the query.

提供部133は、ユーザから受け付けた地名に対応する不動産エリアと類似する特徴を有する他の不動産エリアをお勧めエリアとして推薦するサービスを提供する。具体的には、提供部133は、決定部136によって決定されたお勧めエリアに関する情報をユーザ端末10に送信する。 The providing unit 133 provides a service that recommends another real estate area having characteristics similar to the real estate area corresponding to the place name received from the user as a recommended area. Specifically, the providing unit 133 transmits information on the recommended area determined by the determining unit 136 to the user terminal 10.

(算出部134)
算出部134は、生成部132によって生成された所定の検索クエリの分散表現と、生成部132によって生成された所定の検索クエリとは異なる他の検索クエリの分散表現との類似度を算出する。具体的には、算出部134は、提供部133によって所定の検索クエリが受け付けられると、生成部132によってあらかじめ生成された所定の検索クエリに対応する分散表現(ベクトル)と受け付けた所定の検索クエリ以外の他の検索クエリに対応する分散表現(ベクトル)との類似度を算出する。例えば、算出部134は、分散表現(ベクトル)同士のコサイン類似度を算出する。なお、算出部134は、コサイン類似度に限らず、ベクトル間の距離尺度として適用可能な指標であれば、どのような指標に基づいて分散表現(ベクトル)の間の類似度を算出してもよい。例えば、算出部134は、分散表現(ベクトル)同士のユークリッド距離や双曲空間等の非ユークリッド空間中での距離、マンハッタン距離、マハラノビス距離等といった所定の距離関数の値を算出してもよい。なお、算出部134は、提供部133によって所定の検索クエリが受け付けられる度に類似度を計算するのでなく、あらかじめ検索クエリに対応する分散表現(ベクトル)同士の類似度を算出しておいてもよい。例えば、算出部134は、あらかじめ地名クエリに対応する分散表現(ベクトル)同士の類似度を算出する。
(Calculation unit 134)
The calculation unit 134 calculates the similarity between the distributed expression of the predetermined search query generated by the generation unit 132 and the distributed expression of another search query different from the predetermined search query generated by the generation unit 132. Specifically, when the providing unit 133 receives the predetermined search query, the calculating unit 134 receives the distributed expression (vector) corresponding to the predetermined search query generated in advance by the generating unit 132 and the received predetermined search query. Other than, the similarity with the distributed expression (vector) corresponding to the search query is calculated. For example, the calculation unit 134 calculates the cosine similarity between the distributed expressions (vectors). Note that the calculation unit 134 may calculate the similarity between distributed expressions (vectors) based on any index as long as it is an index applicable as a distance measure between vectors, not limited to the cosine similarity. Good. For example, the calculation unit 134 may calculate a value of a predetermined distance function such as a Euclidean distance between distributed expressions (vectors), a distance in a non-Euclidean space such as a hyperbolic space, a Manhattan distance, a Mahalanobis distance, or the like. The calculating unit 134 may calculate the similarity between the distributed expressions (vectors) corresponding to the search query in advance, instead of calculating the similarity each time the providing unit 133 accepts a predetermined search query. Good. For example, the calculation unit 134 calculates the degree of similarity between the distributed expressions (vectors) corresponding to the place name query in advance.

(抽出部135)
抽出部135は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、複数の検索クエリが有する特徴を学習した学習モデルを用いて、所定のクエリの特徴を示す特徴情報を抽出する。具体的には、抽出部135は、特徴情報として、所定のクエリと類似する特徴を有する検索クエリである類似クエリを抽出する。より具体的には、抽出部135は、算出部134によって分散表現(ベクトル)同士の類似度が算出されると、算出した類似度が所定の閾値を超えるか否かを判定する。例えば、算出部134によって算出された分散表現(ベクトル)同士のコサイン類似度が所定の閾値を超えるか否かを判定する。続いて、抽出部135は、算出部134によって算出された類似度が所定の閾値を超えると判定した場合に、所定の検索クエリと類似する特徴を有する類似クエリとして、他の地名クエリを抽出する。なお、算出部134は、分散表現(ベクトル)同士の所定の距離関数の値(すなわち、分散表現空間における距離)が所定の閾値を下回るか否かを判定してもよい。続いて、抽出部135は、算出部134によって算出された類似度が所定の閾値を下回ると判定した場合に、所定の検索クエリと類似する特徴を有する類似クエリとして、他の地名クエリを抽出する。
(Extractor 135)
The extraction unit 135 determines that a plurality of search queries input by the same user within a predetermined time have similar features by using a learning model that has learned the features of the plurality of search queries. Feature information indicating features is extracted. Specifically, the extraction unit 135 extracts, as the characteristic information, a similar query that is a search query having characteristics similar to a predetermined query. More specifically, when the calculating unit 134 calculates the similarity between the distributed expressions (vectors), the extracting unit 135 determines whether the calculated similarity exceeds a predetermined threshold value. For example, it is determined whether the cosine similarity between the distributed expressions (vectors) calculated by the calculation unit 134 exceeds a predetermined threshold. Subsequently, when the extraction unit 135 determines that the similarity calculated by the calculation unit 134 exceeds a predetermined threshold, the extraction unit 135 extracts another place name query as a similar query having similar characteristics to the predetermined search query. .. The calculating unit 134 may determine whether or not the value of the predetermined distance function between the distributed expressions (vectors) (that is, the distance in the distributed expression space) is below a predetermined threshold. Subsequently, when the extraction unit 135 determines that the similarity calculated by the calculation unit 134 is lower than a predetermined threshold value, the extraction unit 135 extracts another place name query as a similar query having similar characteristics to the predetermined search query. ..

また、抽出部135は、所定のクエリと属性が共通する類似クエリを抽出する。例えば、抽出部135は、所定のクエリと属性が共通する類似クエリとして、不動産エリアを示す所定のクエリと類似する特徴を有する検索クエリであって、不動産エリアを示す類似クエリを抽出する。 In addition, the extraction unit 135 extracts a similar query having the same attribute as the predetermined query. For example, the extraction unit 135 extracts a similar query indicating a real estate area, which is a search query having similar characteristics to the predetermined query indicating the real estate area, as the similar query having the same attribute as the predetermined query.

また、抽出部135は、入力情報として所定の検索クエリが入力された際に、出力情報として所定の検索クエリの分散表現を出力する学習モデルを用いて、特徴情報を抽出する。例えば、抽出部135は、入力情報として所定の検索クエリが入力された際に、出力情報として所定の検索クエリの分散表現を出力する第1学習モデルを用いて、特徴情報として類似クエリを抽出する。 The extraction unit 135 also extracts the characteristic information by using a learning model that outputs a distributed expression of the predetermined search query as the output information when the predetermined search query is input as the input information. For example, the extraction unit 135 extracts the similar query as the characteristic information by using the first learning model that outputs the distributed expression of the predetermined search query as the output information when the predetermined search query is input as the input information. ..

また、抽出部135は、所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習することで、複数の検索クエリが有する特徴を学習した学習モデルを用いて、特徴情報を抽出する。例えば、抽出部135は、所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを用いて、特徴情報として類似クエリを抽出する。 In addition, the extraction unit 135 uses a learning model in which the characteristics of a plurality of search queries are learned by learning so that the distributed expressions of a pair of search queries that are continuously input within a predetermined time are similar to each other. Extract feature information. For example, the extraction unit 135 uses the first learning model in which the features of a plurality of search queries are learned by learning so that the distributed expressions of a pair of search queries continuously input within a predetermined time are similar to each other. Then, a similar query is extracted as the characteristic information.

また、抽出部135は、同一のユーザによって所定の時間内に入力された複数の検索クエリとして、所定の区切り文字で区切られた文字列を含む複数の検索クエリが類似する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した学習モデルを用いて、特徴情報を抽出する。例えば、抽出部135は、同一のユーザによって所定の時間内に入力された複数の検索クエリとして、所定の区切り文字で区切られた文字列を含む複数の検索クエリが類似する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを用いて、特徴情報として類似クエリを抽出する。 The extraction unit 135 also learns that a plurality of search queries that are input by the same user within a predetermined time have similar characteristics to each other that include a character string delimited by a predetermined delimiter. By doing so, the feature information is extracted using the learning model in which the features of the plurality of search queries are learned. For example, the extraction unit 135 learns that a plurality of search queries input by the same user within a predetermined time period have a similar feature to a plurality of search queries including a character string delimited by a predetermined delimiter. By doing so, the similar query is extracted as the feature information using the first learning model in which the features of the plurality of search queries are learned.

また、抽出部135は、ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した学習モデルを用いて、特徴情報を抽出する。例えば、抽出部135は、ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを用いて、特徴情報として類似クエリを抽出する。 Further, the extraction unit 135 extracts the characteristic information by using the learning model in which the characteristics of the plurality of search queries are learned by learning the plurality of randomly extracted search queries as having different characteristics. .. For example, the extraction unit 135 uses the first learning model in which the features of the plurality of search queries are learned by learning the plurality of randomly extracted search queries as having different features, and uses the first learning model as the feature information. Extract similar queries.

また、抽出部135は、ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、複数の検索クエリが有する特徴を学習した学習モデルを用いて、特徴情報を抽出する。例えば、抽出部135は、ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを用いて、特徴情報として類似クエリを抽出する。 In addition, the extraction unit 135 extracts feature information using a learning model in which the features of a plurality of search queries are learned by learning so that the distributed expressions of a pair of search queries that are randomly extracted differ. .. For example, the extraction unit 135 uses the first learning model in which the characteristics of the plurality of search queries are learned by learning so that the distributed expressions of the pair of search queries that are randomly extracted are different from each other. Extract similar queries.

(決定部136)
決定部136は、抽出部135によって抽出された特徴情報に基づいて、所定のクエリを入力したユーザに対して推薦する推薦情報を決定する。具体的には、決定部136は、抽出部135によって抽出された類似クエリに基づいて、所定のクエリを入力したユーザに対して推薦する推薦情報を決定する。より具体的には、決定部136は、抽出部135によって抽出された類似クエリに基づいて、推薦情報である不動産エリアに関する情報を決定する。例えば、決定部136は、抽出部135によって抽出された類似クエリが示す不動産エリアをお勧めエリアとして推薦することを決定する。
(Determination unit 136)
The determination unit 136 determines recommendation information to be recommended to the user who has input the predetermined query, based on the characteristic information extracted by the extraction unit 135. Specifically, the determination unit 136 determines recommendation information to be recommended to the user who has input the predetermined query, based on the similar query extracted by the extraction unit 135. More specifically, the determining unit 136 determines the information regarding the real estate area, which is the recommendation information, based on the similar query extracted by the extracting unit 135. For example, the determination unit 136 determines to recommend the real estate area indicated by the similar query extracted by the extraction unit 135 as the recommended area.

〔1−4.生成処理のフロー〕
次に、図7を用いて、第1の実施形態に係る生成処理の手順について説明する。図7は、第1の実施形態に係る生成処理手順を示すフローチャートである。図7に示す例では、情報処理装置100は、検索クエリと第1学習モデルを取得する(ステップS101)。続いて、情報処理装置100は、検索クエリと第1学習モデルを取得すると、第1学習モデルを用いて、検索クエリの分散表現(ベクトル)を生成する(ステップS102)。
[1-4. Flow of generation processing]
Next, the procedure of the generation process according to the first embodiment will be described with reference to FIG. 7. FIG. 7 is a flowchart showing a generation processing procedure according to the first embodiment. In the example illustrated in FIG. 7, the information processing device 100 acquires the search query and the first learning model (step S101). Subsequently, when the information processing apparatus 100 acquires the search query and the first learning model, the information processing apparatus 100 uses the first learning model to generate a distributed expression (vector) of the search query (step S102).

〔1−5.情報処理のフロー〕
次に、図8を用いて、第1の実施形態に係る情報処理の手順について説明する。図8は、第1の実施形態に係る情報処理手順を示すフローチャートである。図8に示す例では、情報処理装置100は、検索クエリを受け付けたか否かを判定する(ステップS201)。情報処理装置100は、検索クエリを受け付けていない場合(ステップS201;No)、検索クエリを受け付けるまで待機する。
[1-5. Information processing flow]
Next, the procedure of information processing according to the first embodiment will be described with reference to FIG. FIG. 8 is a flowchart showing an information processing procedure according to the first embodiment. In the example illustrated in FIG. 8, the information processing device 100 determines whether a search query has been accepted (step S201). If the search query has not been received (step S201; No), the information processing apparatus 100 waits until the search query is received.

一方、情報処理装置100は、検索クエリを受け付けた場合(ステップS201;Yes)、検索クエリに対応する分散表現(ベクトル)同士の類似度を算出する(ステップS202)。具体的には、情報処理装置100は、受け付けた検索クエリに対応するベクトルと他の検索クエリに対応するベクトルとの類似度をベクトル毎に算出する。 On the other hand, when the information processing apparatus 100 receives the search query (step S201; Yes), the information processing apparatus 100 calculates the similarity between the distributed expressions (vectors) corresponding to the search query (step S202). Specifically, the information processing apparatus 100 calculates, for each vector, the degree of similarity between the vector corresponding to the received search query and the vector corresponding to another search query.

続いて、情報処理装置100は、ベクトル同士の類似度を算出すると、算出した類似度が所定の閾値を超えるか否かを判定する(ステップS203)。情報処理装置100は、算出した類似度が所定の閾値を超えない場合(ステップS203;No)、処理を終了する。 Then, the information processing apparatus 100, after calculating the similarity between the vectors, determines whether the calculated similarity exceeds a predetermined threshold value (step S203). If the calculated similarity does not exceed the predetermined threshold (step S203; No), the information processing apparatus 100 ends the process.

一方、情報処理装置100は、算出した類似度が所定の閾値を超える場合(ステップS203;Yes)、受け付けた検索クエリと類似する特徴を有する類似クエリを抽出する(ステップS204)。具体的には、情報処理装置100は、受け付けた検索クエリに対応するベクトルと他の検索クエリに対応するベクトルとの類似度が所定の閾値を超える場合、類似クエリとして、他の検索クエリを抽出する。続いて、情報処理装置100は、類似クエリを抽出すると、抽出した類似クエリに基づいてお勧めエリアを決定する(ステップS205)。 On the other hand, when the calculated similarity exceeds a predetermined threshold (step S203; Yes), the information processing apparatus 100 extracts a similar query having similar characteristics to the received search query (step S204). Specifically, when the similarity between the vector corresponding to the received search query and the vector corresponding to another search query exceeds a predetermined threshold, the information processing apparatus 100 extracts another search query as a similar query. To do. Subsequently, when the information processing apparatus 100 extracts the similar query, the information processing apparatus 100 determines a recommended area based on the extracted similar query (step S205).

〔1−6.変形例〕
上述した第1の実施形態に係る情報処理システム1は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、情報処理システム1の他の実施形態について説明する。なお、実施形態と同一部分には、同一符号を付して説明を省略する。
[1-6. Modified example)
The information processing system 1 according to the above-described first embodiment may be implemented in various different forms other than the above-described embodiment. Therefore, other embodiments of the information processing system 1 will be described below. The same parts as those in the embodiment are designated by the same reference numerals and the description thereof will be omitted.

〔1−6−1.概念的なクエリに基づく不動産エリアの推薦〕
次に、図9を用いて、変形例に係る情報処理について説明する。図9は、変形例に係る情報処理の一例を示す図である。図9では、生成部132は、第1学習モデルを用いて、不動産検索で想定される概念的なキーワード(以下、適宜「概念クエリ」と記載する。)に対応する分散表現(ベクトル)を生成する(ステップS1−A)。ここで、不動産検索で想定される概念的なキーワードの例としては、「治安が良い」、「学園都市」、「日当たりが良い」、「花火がきれい」、「間取りが広い」等が挙げられる。
[1-6-1. Recommendation of real estate area based on conceptual query]
Next, information processing according to the modification will be described with reference to FIG. FIG. 9 is a diagram illustrating an example of information processing according to the modification. In FIG. 9, the generation unit 132 uses the first learning model to generate a distributed expression (vector) corresponding to a conceptual keyword (hereinafter, appropriately referred to as “concept query”) assumed in real estate search. (Step S1-A). Here, examples of conceptual keywords that can be assumed in real estate search include "safety", "school city", "sunny", "beautiful fireworks", "wide layout", etc. ..

図9右方に点線で示した吹き出しの中には、図1で生成部132が生成した地名クエリに対応する分散表現(ベクトル)に加えて、図9で生成部132が生成した概念クエリに対応する分散表現(ベクトル)が分散表現空間にマッピングされる様子が示されている。例えば、概念クエリ「治安が良い」に対応する分散表現(ベクトル)を示す点と地名クエリ「地名#21」に対応する分散表現(ベクトル)を示す点とは、分散表現空間上で相対的に近くに位置する様子が示されている。すなわちこの図は、概念クエリ「治安が良い」と地名クエリ「地名#21」とは、類似する特徴を有することを意味する。一方、概念クエリ「学園都市」に対応する分散表現(ベクトル)を示す点と地名クエリ「地名#21」に対応する分散表現(ベクトル)を示す点とは、分散表現空間上で相対的に遠くに存在する様子が示されている。すなわちこの図は、概念クエリ「治安が良い」と地名クエリ「地名#21」とは、相違する特徴を有することを意味する。 In the balloon indicated by the dotted line on the right side of FIG. 9, in addition to the distributed expression (vector) corresponding to the place name query generated by the generation unit 132 in FIG. 1, the concept query generated by the generation unit 132 in FIG. It is shown that the corresponding distributed representation (vector) is mapped in the distributed representation space. For example, the point indicating the distributed expression (vector) corresponding to the concept query “safety” and the point indicating the distributed expression (vector) corresponding to the place name query “place name #21” are relatively in the distributed expression space. It is shown to be located nearby. That is, this figure means that the concept query “safety is good” and the place name query “place name #21” have similar features. On the other hand, the point indicating the distributed expression (vector) corresponding to the concept query “school city” and the point indicating the distributed expression (vector) corresponding to the place name query “place name #21” are relatively far in the distributed expression space. It is shown to exist in. That is, this figure means that the concept query “safety is good” and the place name query “place name #21” have different characteristics.

また、提供部133は、フリーワード形式による検索クエリを入力するための検索ボックスを含むコンテンツC21を介して、概念クエリ「治安が良い」をユーザU21から受け付ける(ステップS2−A)。続いて、提供部133によって概念クエリ「治安が良い」が受け付けられると、算出部134は、あらかじめ生成しておいた概念クエリ「治安が良い」に対応する分散表現(ベクトル)と地名クエリに対応する分散表現(ベクトル)との類似度を算出する(ステップS3−A)。続いて、抽出部135は、類似度を算出すると、算出した類似度が所定の閾値を超えるか否かを判定する。続いて、抽出部135は、類似度が所定の閾値を超えると判定した場合に、概念クエリ「治安が良い」と類似する特徴を有する類似クエリとして、その地名クエリを抽出する(ステップS4−A)。 Further, the providing unit 133 receives the concept query “safety is good” from the user U21 via the content C21 including the search box for inputting the search query in the free word format (step S2-A). Subsequently, when the providing unit 133 receives the concept query “safety is good”, the calculating unit 134 corresponds to the distributed expression (vector) and the place name query corresponding to the concept query “safety is good” generated in advance. The degree of similarity with the distributed expression (vector) is calculated (step S3-A). Subsequently, when the extraction unit 135 calculates the similarity, it determines whether the calculated similarity exceeds a predetermined threshold value. Subsequently, when the extraction unit 135 determines that the degree of similarity exceeds a predetermined threshold, the extraction unit 135 extracts the place name query as a similar query having characteristics similar to the conceptual query “safety” (step S4-A). ).

例えば、算出部134は、概念クエリ「治安が良い」に対応する分散表現(ベクトル)と地名クエリ「地名#21」に対応する分散表現(ベクトル)との類似度を0.9と算出する。続いて、抽出部135は、概念クエリ「治安が良い」に対応する分散表現(ベクトル)と地名クエリ「地名#21」に対応する分散表現(ベクトル)との類似度が所定の閾値(例えば、0.8)を超えるか否かを判定する。例えば、抽出部135は、類似度である0.9が所定の閾値である0.8を超えるので、概念クエリ「治安が良い」の類似クエリとして、地名クエリ「地名#21」を抽出する。同様にして、算出部134は、全ての地名クエリについて、概念クエリ「治安が良い」に対応する分散表現(ベクトル)との類似度を算出する。そして、抽出部135は、全ての地名クエリについて、類似度が所定の閾値を超えるか否かを判定する。 For example, the calculation unit 134 calculates the similarity between the distributed expression (vector) corresponding to the concept query “safety is good” and the distributed expression (vector) corresponding to the place name query “place name #21” as 0.9. Then, the extraction unit 135 determines that the similarity between the distributed expression (vector) corresponding to the concept query “safety is good” and the distributed expression (vector) corresponding to the place name query “place name #21” is a predetermined threshold value (for example, 0.8) is determined. For example, the extraction unit 135 extracts the place name query “place name #21” as a similar query to the concept query “safety” because the similarity 0.9 exceeds a predetermined threshold of 0.8. Similarly, the calculation unit 134 calculates the degree of similarity with the distributed expression (vector) corresponding to the conceptual query “safety is good” for all the place name queries. Then, the extraction unit 135 determines whether or not the degree of similarity exceeds a predetermined threshold for all the place name queries.

続いて、決定部136は、抽出部135によって類似クエリが抽出されると、抽出部135によって抽出された類似クエリに基づいて、ユーザU21に対して推薦するお勧めエリアを決定する(ステップS5−A)。具体的には、決定部136は、類似クエリとして抽出した地名クエリに対応する不動産エリアをお勧めエリアとして推薦することを決定する。例えば、決定部136は、概念クエリ「治安が良い」の類似クエリとして抽出した地名クエリ「地名#21」に対応する不動産エリアをユーザU21に対して推薦するお勧めエリアとして推薦することを決定する。 Subsequently, when the extraction unit 135 extracts a similar query, the determination unit 136 determines a recommended area recommended for the user U21 based on the similar query extracted by the extraction unit 135 (step S5- A). Specifically, the determination unit 136 determines to recommend the real estate area corresponding to the place name query extracted as the similar query as the recommended area. For example, the determination unit 136 determines to recommend the real estate area corresponding to the place name query “place name #21” extracted as a similar query to the concept query “safety” as a recommended area recommended to the user U21. ..

続いて、提供部133は、決定部136によってお勧めエリアが決定されると、決定部136によって決定されたお勧めエリアに関する情報(例えば、お勧めエリアの不動産物件の情報)をユーザU21に対して送信する(ステップS6−A)。 Subsequently, when the determining unit 136 determines the recommended area, the providing unit 133 provides the user U21 with information on the recommended area determined by the determining unit 136 (for example, information on real estate properties in the recommended area). And transmits (step S6-A).

〔1−6−2.概念的なクエリに基づく絞り込み条件の推薦〕
次に、図10を用いて、変形例に係る情報処理について説明する。図10は、変形例に係る情報処理の一例を示す図である。図10では、決定部136は、抽出部135によって抽出された類似クエリに基づいて、推薦情報である再検索用のクエリの候補を決定する。具体的には、生成部132は、第1学習モデルを用いて、不動産検索においてユーザが物件を絞り込む際に用いられる絞り込み条件を示すキーワード(以下、適宜「再検索用クエリ」と記載する。)に対応する分散表現(ベクトル)を生成する(ステップS1−B)。ここで、不動産検索においてユーザが物件を絞り込む際に用いられる絞り込み条件を示すキーワードの例としては、物件の特徴を示すキーワードである「高層マンション」や「低層マンション」、物件の立地条件を示すキーワードである「リバーサイド」、「駅徒歩5分以内」等が挙げられる。
[1-6-2. Recommendation of refinement condition based on conceptual query]
Next, information processing according to the modification will be described with reference to FIG. FIG. 10 is a diagram illustrating an example of information processing according to the modification. In FIG. 10, the determination unit 136 determines a query candidate for re-search, which is recommendation information, based on the similar query extracted by the extraction unit 135. Specifically, the generation unit 132 uses the first learning model, and is a keyword indicating a narrowing-down condition used when the user narrows down properties in the real estate search (hereinafter, appropriately referred to as “re-search query”). A distributed expression (vector) corresponding to is generated (step S1-B). Here, as an example of the keyword indicating the narrowing condition used when the user narrows down the property in the real estate search, "high-rise condominium" or "low-rise condominium", which is a keyword indicating the characteristic of the property, or a keyword indicating the location condition of the property "Riverside", "within 5 minutes walk from the station" and so on.

図10右方に点線で示した吹き出しの中には、図1で生成部132が生成した地名クエリに対応する分散表現(ベクトル)及び図9で生成部132が生成した概念クエリに対応する分散表現(ベクトル)に加えて、図10で生成部132が生成した再検索用クエリに対応する分散表現(ベクトル)が分散表現空間にマッピングされる様子が示されている。例えば、概念クエリ「花火がきれい」に対応する分散表現(ベクトル)を示す点と再検索用クエリ「高層マンション」に対応する分散表現(ベクトル)を示す点とは、分散表現空間上で相対的に近くに位置する様子が示されている。すなわちこの図は、概念クエリ「花火がきれい」と再検索用クエリ「高層マンション」とは、類似する特徴を有することを意味する。一方、概念クエリ「花火がきれい」に対応する分散表現(ベクトル)を示す点と再検索用クエリ「低層マンション」に対応する分散表現(ベクトル)を示す点とは、分散表現空間上で相対的に遠くに存在する様子が示されている。すなわちこの図は、概念クエリ「花火がきれい」と再検索用クエリ「低層マンション」とは、相違する特徴を有することを意味する。 In the balloon indicated by the dotted line on the right side of FIG. 10, a distributed expression (vector) corresponding to the place name query generated by the generation unit 132 in FIG. 1 and a distribution corresponding to the conceptual query generated by the generation unit 132 in FIG. In addition to the expressions (vectors), FIG. 10 illustrates that the distributed expressions (vectors) corresponding to the re-search query generated by the generation unit 132 are mapped in the distributed expression space. For example, the point indicating the distributed expression (vector) corresponding to the concept query “fireworks is beautiful” and the point indicating the distributed expression (vector) corresponding to the re-search query “high-rise apartment” are relative in the distributed expression space. It is shown to be located close to. That is, this figure means that the concept query “fireworks are beautiful” and the re-search query “high-rise apartment” have similar features. On the other hand, the point indicating the distributed expression (vector) corresponding to the concept query “fireworks is beautiful” and the point indicating the distributed expression (vector) corresponding to the re-search query “low-rise apartment” are relative in the distributed expression space. It is shown to exist in the distance. That is, this figure means that the concept query “fireworks are beautiful” and the re-search query “low-rise apartment” have different characteristics.

また、提供部133は、フリーワード形式による検索クエリを入力するための検索ボックスを含むコンテンツC21を介して、概念クエリ「花火がきれい」をユーザU31から受け付ける(ステップS2−B)。続いて、提供部133によって概念クエリ「花火がきれい」が受け付けられると、算出部134は、あらかじめ生成しておいた概念クエリ「花火がきれい」に対応する分散表現(ベクトル)と再検索用クエリに対応する分散表現(ベクトル)との類似度を算出する(ステップS3−B)。続いて、抽出部135は、類似度を算出すると、算出した類似度が所定の閾値を超えるか否かを判定する。続いて、抽出部135は、類似度が所定の閾値を超えると判定した場合に、概念クエリ「花火がきれい」と類似する特徴を有する類似クエリとして、その再検索用クエリを抽出する(ステップS4−B)。 Further, the providing unit 133 receives the conceptual query “fireworks are beautiful” from the user U31 via the content C21 including the search box for inputting the search query in the free word format (step S2-B). Subsequently, when the providing unit 133 receives the conceptual query “fireworks are beautiful”, the calculating unit 134 causes the distributed expression (vector) corresponding to the previously generated conceptual query “fireworks is beautiful” and a re-search query. The degree of similarity with the distributed expression (vector) corresponding to is calculated (step S3-B). Subsequently, when the extraction unit 135 calculates the similarity, it determines whether the calculated similarity exceeds a predetermined threshold value. Subsequently, when the extraction unit 135 determines that the degree of similarity exceeds a predetermined threshold value, the extraction unit 135 extracts the re-search query as a similar query having characteristics similar to the conceptual query “fireworks are beautiful” (step S4). -B).

例えば、算出部134は、概念クエリ「花火がきれい」に対応する分散表現(ベクトル)と再検索用クエリ「高層マンション」に対応する分散表現(ベクトル)との類似度を0.9と算出する。続いて、抽出部135は、概念クエリ「花火がきれい」に対応する分散表現(ベクトル)と再検索用クエリ「高層マンション」に対応する分散表現(ベクトル)との類似度が所定の閾値(例えば、0.8)を超えるか否かを判定する。例えば、抽出部135は、類似度である0.9が所定の閾値である0.8を超えるので、概念クエリ「花火がきれい」の類似クエリとして、再検索用クエリ「高層マンション」を抽出する。同様にして、算出部134は、全ての再検索用クエリについて、概念クエリ「花火がきれい」に対応する分散表現(ベクトル)との類似度を算出する。そして、抽出部135は、全ての再検索用クエリについて、類似度が所定の閾値を超えるか否かを判定する。 For example, the calculation unit 134 calculates the similarity between the distributed expression (vector) corresponding to the concept query “fireworks are beautiful” and the distributed expression (vector) corresponding to the re-search query “high-rise apartment” as 0.9. .. Then, the extraction unit 135 determines that the similarity between the distributed expression (vector) corresponding to the concept query “fireworks is beautiful” and the distributed expression (vector) corresponding to the re-search query “high-rise apartment” is a predetermined threshold value (eg, , 0.8) is exceeded. For example, the extraction unit 135 extracts the re-search query “high-rise apartment” as a similar query of the conceptual query “fireworks are beautiful” because the similarity 0.9 exceeds the predetermined threshold of 0.8. .. Similarly, the calculation unit 134 calculates the degree of similarity with the distributed expression (vector) corresponding to the conceptual query “fireworks are beautiful” for all the re-search queries. Then, the extraction unit 135 determines whether or not the degree of similarity exceeds a predetermined threshold for all re-search queries.

続いて、決定部136は、抽出部135によって類似クエリが抽出されると、抽出部135によって抽出された類似クエリに基づいて、ユーザU31に対して推薦する絞り込み条件を決定する(ステップS5−B)。具体的には、決定部136は、類似クエリとして抽出した再検索用クエリに対応する絞り込み条件を推薦することを決定する。例えば、決定部136は、概念クエリ「花火がきれい」の類似クエリとして抽出した再検索用クエリ「高層マンション」に対応する絞り込み条件をユーザU31に対して推薦することを決定する。 Subsequently, when the extraction unit 135 extracts the similar query, the determination unit 136 determines the narrowing-down condition recommended for the user U31 based on the similar query extracted by the extraction unit 135 (step S5-B). ). Specifically, the determination unit 136 determines to recommend the narrowing-down condition corresponding to the re-search query extracted as the similar query. For example, the determination unit 136 determines to recommend the narrowing-down condition corresponding to the re-search query “high-rise apartment” extracted as a similar query of the conceptual query “fireworks is beautiful” to the user U31.

続いて、提供部133は、決定部136によって推薦する絞り込み条件が決定されると、決定部136によって決定された絞り込み条件に関する情報(例えば、推薦する絞り込み条件に対応するチェックボックスにチェックが入った状態のコンテンツ)をユーザU31に対して送信する(ステップS6−B)。 Subsequently, when the determination unit 136 determines the recommended narrowing-down condition, the providing unit 133 provides information on the narrowing-down condition determined by the determination unit 136 (for example, a check box corresponding to the recommended narrowing-down condition is checked. Content) is transmitted to the user U31 (step S6-B).

次に、図11を用いて、変形例に係るコンテンツの切り替え処理について説明する。図11は、変形例に係るユーザ端末がコンテンツを切り替える処理の一例を説明する図である。図11の左図は、図10に示すコンテンツC21の一例を示す。ユーザ端末10は、ユーザU31の操作に応じて、コンテンツC21に表示された検索ボタンB1が押下されると、情報処理装置100に概念クエリ「花火がきれい」を送信する。情報処理装置100は、概念クエリ「花火がきれい」をユーザU31から受け付ける(図9に示すステップS2−B)。続いて、情報処理装置100は、図9に示すステップS3−BからステップS6−Bの処理を実行する。 Next, a content switching process according to the modification will be described with reference to FIG. FIG. 11 is a diagram illustrating an example of a process in which the user terminal according to the modification switches the content. The left diagram of FIG. 11 shows an example of the content C21 shown in FIG. When the search button B1 displayed on the content C21 is pressed in response to the operation of the user U31, the user terminal 10 transmits the concept query “fireworks are beautiful” to the information processing device 100. The information processing apparatus 100 receives the concept query “fireworks are beautiful” from the user U31 (step S2-B shown in FIG. 9). Subsequently, the information processing apparatus 100 executes the processes of steps S3-B to S6-B shown in FIG.

図11の右図は、図9に示すステップS6‐Bにおいて、情報処理装置100がユーザU31に対して送信するコンテンツC22の一例を示す。情報処理装置100は、条件検索の絞り込み条件のうち、推薦する絞り込み条件に対応するチェックボックスにチェックが入った状態のコンテンツC22をユーザU31に対して送信する。ユーザ端末10は、コンテンツC22を受信すると、画面にコンテンツC22を表示する。ユーザ端末10は、ユーザU31の操作に応じて、コンテンツC22に表示された検索ボタンB2が押下されると、チェックボックスにチェックされた絞り込み条件で不動産情報を検索する検索要求を情報処理装置100に送信する。 The right diagram of FIG. 11 illustrates an example of the content C22 transmitted by the information processing apparatus 100 to the user U31 in step S6-B illustrated in FIG. 9. The information processing apparatus 100 transmits, to the user U31, the content C22 in which the check box corresponding to the recommended narrowing-down condition is checked among the narrowing-down conditions of the condition search. Upon receiving the content C22, the user terminal 10 displays the content C22 on the screen. When the search button B2 displayed in the content C22 is pressed in response to the operation of the user U31, the user terminal 10 issues a search request to the information processing apparatus 100 to search for real estate information under the narrowing-down condition checked in the check box. Send.

〔1−6−3.不動産以外の他の分野への応用〕
上記の例では、情報処理装置100が、不動産検索サービスにおいて、所定のクエリを入力したユーザに対して不動産エリアを推薦する例について説明した。上記の例に限らず、情報処理装置100は、商品、動画、音楽、レストラン、食べ物、会社(株価、就活)など不動産以外の他の分野のコンテンツ全般について、所定のクエリの特徴を示す特徴情報を抽出する。
[1-6-3. Application to other fields besides real estate]
In the above example, the information processing apparatus 100 has described the example of recommending the real estate area to the user who has input a predetermined query in the real estate search service. Not limited to the above example, the information processing apparatus 100 is characteristic information indicating characteristics of a predetermined query regarding general content in fields other than real estate, such as products, videos, music, restaurants, food, companies (stock prices, job hunting). To extract.

具体的には、情報処理装置100は、商品、動画、音楽、レストラン、食べ物、会社(株価、就活)など不動産以外の他の分野のコンテンツを検索対象とする検索サービスにおいて、商品、動画、音楽、レストラン、食べ物、会社(株価、就活)など不動産以外の他の分野に関する所定のクエリを取得する。続いて、情報処理装置100は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、複数の検索クエリが有する特徴を学習した第1学習モデルを用いて、所定のクエリと類似する特徴を有する類似クエリを抽出する。続いて、情報処理装置100は、抽出した類似クエリに基づいて、推薦情報を決定する。 Specifically, the information processing apparatus 100 is a search service that searches for content in fields other than real estate, such as products, videos, music, restaurants, foods, companies (stock prices, job hunting), in products, videos, music. Get predetermined queries for other areas besides real estate, such as restaurants, food, companies (stock prices, job hunting). Subsequently, the information processing apparatus 100 uses the first learning model in which the features of the plurality of search queries are learned, assuming that the plurality of search queries input by the same user within a predetermined time have similar features. Then, a similar query having characteristics similar to the predetermined query is extracted. Then, the information processing apparatus 100 determines recommendation information based on the extracted similar query.

〔2.第2の実施形態〕
〔2−1.情報処理の一例〕
次に、第2の実施形態について説明する。上述してきた第1の実施形態では、情報処理装置100がユーザから受け付けた所定のクエリと類似する類似クエリを抽出し、抽出した類似クエリに基づいて、推薦情報を決定する情報処理の一例を説明した。第2の実施形態では、情報処理装置100Aがユーザから受け付けた所定のクエリが属するカテゴリを抽出し、抽出したカテゴリに基づいて、推薦情報を決定する情報処理の例を示す。なお、第2の実施形態では、第1の実施形態と同様の構成について同一の符号を付して説明を省略する。
[2. Second Embodiment]
[2-1. Example of information processing]
Next, a second embodiment will be described. In the first embodiment described above, an example of information processing in which the information processing apparatus 100 extracts a similar query similar to a predetermined query received from a user and determines recommendation information based on the extracted similar query will be described. did. The second embodiment shows an example of information processing in which the information processing apparatus 100A extracts a category to which a predetermined query received from a user belongs, and determines recommendation information based on the extracted category. In addition, in the second embodiment, the same components as those in the first embodiment are designated by the same reference numerals, and the description thereof will be omitted.

生成装置50は、第2学習モデルを生成する。ここでは、生成装置50による第2学習モデルの生成処理の概要を述べる。なお、生成装置50による第2学習モデルの生成処理の詳細は後述する。具体的には、生成装置50は、第1学習モデルを用いて、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する。より具体的には、生成装置50は、第1学習モデルを生成すると、生成した第1学習モデル(第1学習モデルM1のモデルデータMDT1)を取得する。生成装置50は、第1モデルM1を取得すると、取得した第1モデルM1を用いて、第2学習モデルM2を生成する。生成装置50は、第1モデルM1を再学習させることにより、第1モデルM1とは学習モデルの重みである接続係数が異なる第2学習モデルM2を生成する。例えば、生成装置50は、検索クエリが学習モデルに入力された際に、学習モデルが出力する分散表現の分類結果が、検索クエリが属するカテゴリに対応するように学習することで、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2学習モデルM2を生成する。 The generation device 50 generates the second learning model. Here, the outline of the generation processing of the second learning model by the generation device 50 will be described. The details of the generation processing of the second learning model by the generation device 50 will be described later. Specifically, the generation device 50 uses the first learning model to generate a second learning model that predicts a category to which a predetermined search query belongs from a predetermined search query. More specifically, when generating the first learning model, the generation device 50 acquires the generated first learning model (model data MDT1 of the first learning model M1). When the generation device 50 acquires the first model M1, the generation device 50 generates the second learning model M2 using the acquired first model M1. The generation device 50 re-learns the first model M1 to generate a second learning model M2 having a connection coefficient that is a weight of the learning model different from that of the first model M1. For example, when the search query is input to the learning model, the generation device 50 learns such that the classification result of the distributed expression output by the learning model corresponds to the category to which the search query belongs, thereby generating a predetermined search query. A second learning model M2 that predicts a category to which a predetermined search query belongs is generated.

情報処理装置100Aは、不動産情報検索サービスR1を提供するサーバ装置である。情報処理装置100Aは、第2学習モデルのモデルデータを生成装置50から取得する。なお、以下では、第2学習モデルのモデルデータを単に第2学習モデルと記載する場合がある。例えば、情報処理装置100Aは、第2学習モデルを用いて、ユーザから受け付けた所定の地名クエリが分類されるカテゴリに対応する不動産エリアに属する物件をお勧め物件として推薦する。 The information processing device 100A is a server device that provides the real estate information search service R1. The information processing device 100A acquires the model data of the second learning model from the generation device 50. In the following, the model data of the second learning model may be simply referred to as the second learning model. For example, the information processing apparatus 100A recommends a property belonging to the real estate area corresponding to the category into which the predetermined place name query received from the user is classified, as a recommended property, using the second learning model.

〔2−2.情報処理装置の構成〕
次に、図12を用いて、第2の実施形態に係る情報処理装置100Aの構成について説明する。図12は、第2の実施形態に係る情報処理装置100Aの構成例を示す図である。図12に示すように、情報処理装置100Aは、通信部110と、記憶部120Aと、制御部130Aとを有する。なお、情報処理装置100Aは、情報処理装置100Aの管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示させるための表示部(例えば、液晶ディスプレイ等)を有してもよい。
[2-2. Configuration of information processing device]
Next, the configuration of the information processing apparatus 100A according to the second embodiment will be described with reference to FIG. FIG. 12 is a diagram illustrating a configuration example of the information processing apparatus 100A according to the second embodiment. As illustrated in FIG. 12, the information processing device 100A includes a communication unit 110, a storage unit 120A, and a control unit 130A. The information processing apparatus 100A includes an input unit (for example, a keyboard and a mouse) that receives various operations from an administrator of the information processing apparatus 100A, and a display unit (for example, a liquid crystal display) for displaying various information. You may have.

(記憶部120A)
記憶部120Aは、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120Aは、図12に示すように、モデル情報記憶部121とカテゴリ情報記憶部122Aと検索情報記憶部123とコンテンツ記憶部124を有する。
(Storage unit 120A)
The storage unit 120A is realized by, for example, a semiconductor memory device such as a RAM or a flash memory, or a storage device such as a hard disk or an optical disk. As shown in FIG. 12, the storage unit 120A includes a model information storage unit 121, a category information storage unit 122A, a search information storage unit 123, and a content storage unit 124.

(カテゴリ情報記憶部122A)
カテゴリ情報記憶部122Aは、検索クエリが属するカテゴリに関する各種の情報を記憶する。具体的には、カテゴリ情報記憶部122Aは、学習済みの第2学習モデルに検索クエリが入力された際に、第2学習モデルが出力するカテゴリに関する各種の情報を記憶する。図13に、第2の実施形態に係るカテゴリ情報記憶部の一例を示す。図13に示す例では、カテゴリ情報記憶部122Aは、「検索クエリ」、「大分類」、「小分類」、「確率(%)」といった項目を有する。
(Category information storage unit 122A)
122 A of category information storage parts memorize|store various information regarding the category to which a search query belongs. Specifically, the category information storage unit 122A stores various kinds of information regarding the categories output by the second learning model when the search query is input to the learned second learning model. FIG. 13 shows an example of the category information storage unit according to the second embodiment. In the example illustrated in FIG. 13, the category information storage unit 122A has items such as “search query”, “major classification”, “small classification”, and “probability (%)”.

「検索クエリID」は、ユーザによって入力された検索クエリを示す。「大分類」は、検索クエリが分類されるカテゴリの大分類を示す。「小分類」、検索クエリが分類されるカテゴリの小分類を示す。「確率(%)」は、学習済みの第2学習モデルに検索クエリが入力された際に、第2学習モデルが出力する小分類毎の確率を示す。 The “search query ID” indicates a search query input by the user. The “major classification” indicates the major classification of the categories into which the search query is classified. “Minor classification” indicates a minor classification of the category into which the search query is classified. The “probability (%)” indicates the probability for each subclass output by the second learning model when the search query is input to the learned second learning model.

図13に示す例では、大分類「不動産エリアを探す」は、検索クエリを分類するカテゴリの大分類が不動産エリアを探すという検索意図であることを示す。図13に示す例では、大分類「不動産エリアを探す」は、さらに4つの小分類を有する。小分類「高級住宅街を探す」は、大分類「不動産エリアを探す」に属する分類であって、小分類に分類される検索クエリが、ユーザによって高級住宅街を探す意図で入力された検索クエリであることを示す。また、小分類「下町エリアを探す」は、大分類「不動産エリアを探す」に属する分類であって、小分類に分類される検索クエリが、ユーザによって下町エリアを探す意図で入力された検索クエリであることを示す。また、小分類「湾岸エリアを探す」は、大分類「不動産エリアを探す」に属する分類であって、小分類に分類される検索クエリが、ユーザによって湾岸エリアを探す意図で入力された検索クエリであることを示す。また、小分類「郊外エリアを探す」は、大分類「不動産エリアを探す」に属する分類であって、小分類に分類される検索クエリが、ユーザによって郊外エリアを探す意図で入力された検索クエリであることを示す。 In the example illustrated in FIG. 13, the large classification “search for real estate area” indicates that the large classification of the categories for classifying the search query is the search intention to search for the real estate area. In the example shown in FIG. 13, the large category “search for real estate area” has four smaller categories. The sub-category “Find a high-class residential area” is a category that belongs to the main category “Search for a real estate area”, and the search query classified into the sub-category is entered by the user with the intention of searching for a high-class residential area. Is shown. In addition, the subcategory “Find a downtown area” is a category that belongs to the large category “Find a real estate area”, and a search query that is classified into the subcategory is a search query that is input by the user with the intention of searching for a downtown area. Is shown. In addition, the subcategory “Search for Gulf area” is a category that belongs to the large category “Search for real estate area”, and the search query classified into the subclass is input by the user with the intention of searching for the Gulf area. Is shown. In addition, the sub-category “Search for suburb area” is a category that belongs to the subcategory “Search for real estate area”, and the search query classified into the sub-category is input by the user with the intention of searching the suburb area. Is shown.

図13に示す例では、検索クエリ「地名#11」の確率(%)「90」は、検索クエリ「地名#11」が高級住宅街を探す意図で入力されたクエリに分類される確率が90%であることを示す。また、検索クエリ「地名#11」の確率(%)「0」は、検索クエリ「地名#11」が下町エリアを探す意図で入力されたクエリに分類される確率が0%であることを示す。また、検索クエリ「地名#11」の確率(%)「10」は、検索クエリ「地名#11」が湾岸エリアを探す意図で入力されたクエリに分類される確率が10%であることを示す。また、検索クエリ「地名#11」の確率(%)「0」は、検索クエリ「地名#11」が郊外エリアを探す意図で入力されたクエリに分類される確率が0%であることを示す。 In the example illustrated in FIG. 13, the probability (90) of the search query “place name #11” is 90, and the probability that the search query “place name #11” is classified as a query input with the intention of searching for a high-class residential area is 90. % Is shown. Further, the probability (%) “0” of the search query “place name #11” indicates that the probability that the search query “place name #11” is classified into the query input with the intention of searching the downtown area is 0%. .. The probability (%) “10” of the search query “place name #11” indicates that the probability that the search query “place name #11” is classified into the query input with the intention of searching the Gulf area is 10%. .. In addition, the probability (%) “0” of the search query “place name #11” indicates that the probability that the search query “place name #11” is classified into the query input with the intention of searching the suburb area is 0%. ..

(制御部130A)
図12の説明に戻って、制御部130Aは、コントローラであり、例えば、CPUやMPU等によって、情報処理装置100A内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130Aは、コントローラであり、例えば、ASICやFPGA等の集積回路により実現される。
(Control unit 130A)
Returning to the description of FIG. 12, the control unit 130A is a controller, and various programs (corresponding to an example of the information processing program) stored in the storage device inside the information processing apparatus 100A by, for example, a CPU, an MPU, and the like are stored. It is realized by executing the RAM as a work area. The control unit 130A is a controller and is realized by an integrated circuit such as ASIC or FPGA.

図12に示すように、制御部130Aは、取得部131と、生成部132と、提供部133と、算出部134Aと、抽出部135Aと、決定部136Aとを有し、以下に説明する情報処理の作用を実現または実行する。なお、制御部130Aの内部構成は、図12に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。 As illustrated in FIG. 12, the control unit 130A includes an acquisition unit 131, a generation unit 132, a provision unit 133, a calculation unit 134A, an extraction unit 135A, and a determination unit 136A, and information described below. Realize or execute the action of processing. Note that the internal configuration of the control unit 130A is not limited to the configuration shown in FIG. 12, and may be another configuration as long as it is a configuration for performing information processing described later.

(取得部131)
取得部131は、第2学習モデルを取得する。より具体的には、取得部131は、生成装置50によって生成された第2学習モデルを生成装置50から取得する。取得部131は、第2学習モデルを取得すると、取得した第2学習モデルをモデル情報記憶部121に格納する。
(Acquisition unit 131)
The acquisition unit 131 acquires the second learning model. More specifically, the acquisition unit 131 acquires the second learning model generated by the generation device 50 from the generation device 50. When acquiring the second learning model, the acquisition unit 131 stores the acquired second learning model in the model information storage unit 121.

(算出部134A)
算出部134Aは、検索クエリが所定のカテゴリに属する確率をカテゴリ毎に算出する。具体的には、算出部134Aは、提供部133によって所定の検索クエリが受け付けられると、取得部131によって取得された第2学習モデルに検索クエリを入力して、所定のクエリが所定のカテゴリに属する確率をカテゴリ毎に算出する。例えば、算出部134Aは、提供部133によって所定の地名クエリが受け付けられると、取得部131によって取得された第2学習モデルに受け付けた地名クエリを入力して、受け付けた地名クエリが所定のカテゴリに属する確率をカテゴリ毎に算出する。例えば、算出部134Aは、受け付けた所定の地名クエリが4つのカテゴリ(小分類)である「高級住宅街を探す」、「下町エリアを探す」、「湾岸エリアを探す」、「郊外エリアを探す」の各カテゴリ(小分類)に属する確率をカテゴリ(小分類)毎に算出する。
(Calculator 134A)
The calculation unit 134A calculates the probability that the search query belongs to a predetermined category for each category. Specifically, when the provision unit 133 accepts a predetermined search query, the calculation unit 134A inputs the search query into the second learning model acquired by the acquisition unit 131 so that the predetermined query falls into a predetermined category. Probability of belonging is calculated for each category. For example, when the provision unit 133 receives the predetermined place name query, the calculation unit 134A inputs the received place name query into the second learning model acquired by the acquisition unit 131 and places the received place name query into a predetermined category. Probability of belonging is calculated for each category. For example, the calculation unit 134A has four categories (small categories) of the received predetermined place name queries, “search for high-class residential area”, “search for downtown area”, “search for coastal area”, “search for suburban area”. The probability of belonging to each category (small classification) is calculated for each category (small classification).

(抽出部135A)
抽出部135Aは、特徴情報として、所定のクエリが属するカテゴリを抽出する。例えば、抽出部135Aは、算出部134Aによって算出された各カテゴリ(小分類)の確率が所定の閾値を超えるか否かをカテゴリ(小分類)毎に判定する。続いて、抽出部135Aは、受け付けた検索クエリが所定のカテゴリに属する確率が所定の閾値を超える場合、受け付けた検索クエリが分類されるカテゴリとして、所定のカテゴリを抽出する。例えば、抽出部135Aは、受け付けた所定の地名クエリが「高級住宅街を探す」カテゴリに属する確率が90%であり、所定の閾値が80%である場合には、受け付けた所定の地名クエリが分類されるカテゴリとして、「高級住宅街を探す」カテゴリを抽出する。
(Extractor 135A)
The extraction unit 135A extracts, as the characteristic information, a category to which a predetermined query belongs. For example, the extraction unit 135A determines, for each category (small classification), whether or not the probability of each category (small classification) calculated by the calculation unit 134A exceeds a predetermined threshold value. Subsequently, when the probability that the received search query belongs to the predetermined category exceeds a predetermined threshold, the extraction unit 135A extracts the predetermined category as the category into which the received search query is classified. For example, when the received predetermined place name query has a probability of 90% belonging to the “search for a high-class residential area” category and the predetermined threshold value is 80%, the extraction unit 135A determines that the received predetermined place name query is As a category to be classified, a category "search for a high-class residential area" is extracted.

また、抽出部135Aは、入力情報として所定の検索クエリが入力された際に、出力情報として所定の検索クエリの分散表現を出力する学習モデルを用いて、特徴情報を抽出する。例えば、抽出部135Aは、入力情報として所定の検索クエリが入力された際に、出力情報として所定の検索クエリの分散表現を出力する第1学習モデルを用いて生成された第2学習モデルを用いて、特徴情報として所定のクエリが属するカテゴリを抽出する。 Further, the extraction unit 135A extracts feature information by using a learning model that outputs a distributed expression of a predetermined search query as output information when a predetermined search query is input as input information. For example, the extraction unit 135A uses the second learning model generated by using the first learning model that outputs the distributed expression of the predetermined search query as the output information when the predetermined search query is input as the input information. Then, the category to which the predetermined query belongs is extracted as the characteristic information.

また、抽出部135Aは、所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習することで、複数の検索クエリが有する特徴を学習した学習モデルを用いて、特徴情報を抽出する。例えば、抽出部135Aは、所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを用いて生成された第2学習モデルを用いて、特徴情報として所定のクエリが属するカテゴリを抽出する。 In addition, the extraction unit 135A uses a learning model that learns the characteristics of a plurality of search queries by learning so that the distributed expressions of a pair of search queries that are continuously input within a predetermined time are similar, Extract feature information. For example, the extraction unit 135A uses the first learning model in which the characteristics of a plurality of search queries are learned by learning so that the distributed expressions of a pair of search queries continuously input within a predetermined time period are similar to each other. A category to which a predetermined query belongs is extracted as the characteristic information using the second learning model generated as described above.

また、抽出部135Aは、同一のユーザによって所定の時間内に入力された複数の検索クエリとして、所定の区切り文字で区切られた文字列を含む複数の検索クエリが類似する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した学習モデルを用いて、特徴情報を抽出する。例えば、抽出部135Aは、同一のユーザによって所定の時間内に入力された複数の検索クエリとして、所定の区切り文字で区切られた文字列を含む複数の検索クエリが類似する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを用いて生成された第2学習モデルを用いて、特徴情報として所定のクエリが属するカテゴリを抽出する。 Further, the extraction unit 135A learns that a plurality of search queries including a character string delimited by a predetermined delimiter have similar characteristics as the plurality of search queries input by the same user within a predetermined time. By doing so, the feature information is extracted using the learning model in which the features of the plurality of search queries are learned. For example, the extraction unit 135A learns that a plurality of search queries including a character string delimited by a predetermined delimiter have similar characteristics as the plurality of search queries input by the same user within a predetermined time period. By doing so, the category to which the predetermined query belongs is extracted as the feature information by using the second learning model generated by using the first learning model in which the features of the plurality of search queries are learned.

また、抽出部135Aは、ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した学習モデルを用いて、特徴情報を抽出する。例えば、抽出部135Aは、ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを用いて生成された第2学習モデルを用いて、特徴情報として所定のクエリが属するカテゴリを抽出する。 In addition, the extraction unit 135A extracts the characteristic information by using the learning model in which the characteristics of the plurality of search queries are learned by learning that the plurality of search queries that are randomly extracted have different characteristics. .. For example, the extraction unit 135A learns that a plurality of search queries that are randomly extracted have different characteristics, and thus the first learning model that is generated by using the first learning model that has learned the characteristics of the plurality of search queries. A category to which a predetermined query belongs is extracted as feature information using the two learning model.

また、抽出部135Aは、ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、複数の検索クエリが有する特徴を学習した学習モデルを用いて、特徴情報を抽出する。例えば、抽出部135Aは、ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを用いて生成された第2学習モデルを用いて、特徴情報として所定のクエリが属するカテゴリを抽出する。 In addition, the extraction unit 135A extracts feature information using a learning model in which the features of a plurality of search queries are learned by learning so that the distributed expressions of a pair of search queries that are randomly extracted differ. .. For example, the extraction unit 135A learns such that the distributed expressions of a pair of search queries that are randomly extracted differ from each other, and thus the first learning model generated by using the first learning model that has learned the features of the plurality of search queries. A category to which a predetermined query belongs is extracted as feature information using the two learning model.

(決定部136A)
決定部136Aは、抽出部135Aによって抽出されたカテゴリに基づいて、所定のクエリを入力したユーザに対して推薦する推薦情報を決定する。例えば、決定部136Aは、抽出部135Aによって抽出された「高級住宅街を探す」カテゴリに基づいて、所定の地名クエリを入力したユーザに対して、高級住宅街に属する物件を推薦することを決定する。
(Decision section 136A)
The determination unit 136A determines recommendation information to be recommended to the user who has input the predetermined query, based on the category extracted by the extraction unit 135A. For example, the determination unit 136A determines to recommend the property belonging to the high-class residential area to the user who has input a predetermined place name query based on the “search for high-class residential area” category extracted by the extraction unit 135A. To do.

〔2−3.予測処理のフロー〕
次に、図14を用いて、第2の実施形態に係る予測処理の手順について説明する。図14は、第2の実施形態に係る予測処理手順を示すフローチャートである。図14に示す例では、情報処理装置100Aは、検索クエリと第2学習モデルを取得する(ステップS301)。続いて、情報処理装置100Aは、検索クエリと第2学習モデルを取得すると、第2学習モデルを用いて、検索クエリが分類されるカテゴリを推定する(ステップS302)。
[2-3. Prediction processing flow]
Next, the procedure of the prediction process according to the second embodiment will be described with reference to FIG. FIG. 14 is a flowchart showing a prediction processing procedure according to the second embodiment. In the example illustrated in FIG. 14, the information processing device 100A acquires the search query and the second learning model (step S301). Subsequently, when the information processing apparatus 100A acquires the search query and the second learning model, the information processing apparatus 100A estimates the category into which the search query is classified, using the second learning model (step S302).

〔2−4.情報処理のフロー〕
次に、図15を用いて、第2の実施形態に係る情報処理の手順について説明する。図15は、第2の実施形態に係る情報処理手順を示すフローチャートである。図15に示す例では、情報処理装置100Aは、検索クエリを受け付けたか否かを判定する(ステップS401)。情報処理装置100Aは、検索クエリを受け付けていない場合(ステップS401;No)、検索クエリを受け付けるまで待機する。
[2-4. Information processing flow]
Next, a procedure of information processing according to the second embodiment will be described with reference to FIG. FIG. 15 is a flowchart showing an information processing procedure according to the second embodiment. In the example illustrated in FIG. 15, the information processing device 100A determines whether a search query has been accepted (step S401). When the search query is not accepted (step S401; No), the information processing apparatus 100A waits until the search query is accepted.

一方、情報処理装置100Aは、検索クエリを受け付けた場合(ステップS401;Yes)、検索クエリが所定のカテゴリに属する確率をカテゴリ毎に算出する(ステップS402)。 On the other hand, when the information processing device 100A receives the search query (step S401; Yes), the information processing device 100A calculates the probability of the search query belonging to a predetermined category for each category (step S402).

続いて、情報処理装置100Aは、検索クエリが所定のカテゴリに属する確率を算出すると、算出した確率が所定の閾値を超えるか否かを判定する(ステップS403)。情報処理装置100Aは、算出した確率が所定の閾値を超えない場合(ステップS403;No)、処理を終了する。 Subsequently, when the probability that the search query belongs to the predetermined category is calculated, the information processing apparatus 100A determines whether the calculated probability exceeds a predetermined threshold value (step S403). When the calculated probability does not exceed the predetermined threshold value (step S403; No), the information processing apparatus 100A ends the process.

一方、情報処理装置100Aは、算出した確率が所定の閾値を超える場合(ステップS403;Yes)、受け付けた検索クエリが分類されるカテゴリを抽出する(ステップS404)。具体的には、情報処理装置100Aは、受け付けた検索クエリが所定のカテゴリに属する確率が所定の閾値を超える場合、受け付けた検索クエリが分類されるカテゴリとして、所定のカテゴリを抽出する。続いて、情報処理装置100Aは、カテゴリを抽出すると、抽出したカテゴリに基づいてお勧め情報を決定する(ステップS405)。 On the other hand, when the calculated probability exceeds the predetermined threshold value (step S403; Yes), the information processing apparatus 100A extracts the category into which the received search query is classified (step S404). Specifically, when the probability that the received search query belongs to a predetermined category exceeds a predetermined threshold, information processing apparatus 100A extracts the predetermined category as the category into which the received search query is classified. Subsequently, when the information processing apparatus 100A extracts the category, the information processing apparatus 100A determines recommended information based on the extracted category (step S405).

〔3.学習モデルの生成処理〕
〔3−1.第1学習モデルの生成処理〕
次に、図16を用いて、第1学習モデルの生成処理の流れについて説明する。図16は、実施形態に係る第1学習モデルの生成処理の一例を示す図である。図16に示す例では、生成装置50は、同一のユーザU1によって所定の時間内に連続して入力された「六本木 パスタ」という検索クエリQ11と「六本木 イタリアン」という検索クエリQ12とから成る一対の検索クエリを抽出する(ステップS11)。
[3. Learning model generation processing]
[3-1. Generation processing of first learning model]
Next, the flow of generation processing of the first learning model will be described with reference to FIG. FIG. 16 is a diagram illustrating an example of the first learning model generation process according to the embodiment. In the example illustrated in FIG. 16, the generation device 50 includes a pair of search queries Q11 “Roppongi pasta” and a search query Q12 “Roppongi Italian” that are continuously input by the same user U1 within a predetermined time. A search query is extracted (step S11).

続いて、生成装置50は、抽出した検索クエリQ11を第1モデルM1に入力して、検索クエリQ11の分散表現であるベクトルBQV11を出力する。ここで、ベクトルBQV11は、第1モデルM1の出力層から出力されたばかりの検索クエリQ11の分散表現であって、第1モデルM1にフィードバックをかける前(学習前)の分散表現を示す。また、生成装置50は、抽出した検索クエリQ12を第1モデルM1に入力して、検索クエリQ12の分散表現であるベクトルBQV12を出力する。ここで、ベクトルBQV12は、第1モデルM1の出力層から出力されたばかりの検索クエリQ12の分散表現であって、第1モデルM1にフィードバックをかける前(学習前)の分散表現を示す。このようにして、生成装置50は、検索クエリQ11の分散表現であるベクトルBQV11と、検索クエリQ12の分散表現であるベクトルBQV12とを出力する(ステップS12)。 Subsequently, the generation device 50 inputs the extracted search query Q11 into the first model M1 and outputs a vector BQV11 that is a distributed expression of the search query Q11. Here, the vector BQV11 is a distributed expression of the search query Q11 just output from the output layer of the first model M1, and represents a distributed expression before feedback is given to the first model M1 (before learning). Further, the generation device 50 inputs the extracted search query Q12 into the first model M1 and outputs the vector BQV12 which is a distributed expression of the search query Q12. Here, the vector BQV12 is a distributed expression of the search query Q12 just output from the output layer of the first model M1, and represents a distributed expression before feedback is applied to the first model M1 (before learning). In this way, the generation device 50 outputs the vector BQV11, which is the distributed expression of the search query Q11, and the vector BQV12, which is the distributed expression of the search query Q12 (step S12).

続いて、生成装置50は、同一のユーザU1によって所定の時間内に連続して入力された検索クエリQ11(「六本木 パスタ」)と検索クエリQ12(「六本木 イタリアン」)とから成る一対の検索クエリは、所定の検索意図(例えば、「ある場所で飲食店を探す」という検索意図)で入力された検索クエリであると推定されるため、相互に類似する特徴を有するものとして、検索クエリQ11の分散表現(ベクトルQV11)と、検索クエリQ11と対となる検索クエリQ12の分散表現(ベクトルQV12)とが、分散表現空間上で類似するように第1モデルM1を学習させる。例えば、第1モデルM1にフィードバックをかける前(学習前)の検索クエリQ11の分散表現であるベクトルBQV11と検索クエリQ12の分散表現であるベクトルBQV12とのなす角度の大きさをΘとする。また、第1モデルM1にフィードバックをかけた後(学習後)の検索クエリQ11の分散表現であるベクトルQV11と検索クエリQ12の分散表現であるベクトルQV12とのなす角度の大きさをΦとする。この時、生成装置50は、ΘよりもΦが小さくなるように、第1モデルM1を学習させる。例えば、生成装置50は、ベクトルBQV11とベクトルBQV12のコサイン類似度の値を算出する。また、生成装置50は、ベクトルQV11とベクトルQV12のコサイン類似度の値を算出する。続いて、生成装置50は、ベクトルBQV11とベクトルBQV12のコサイン類似度の値よりも、ベクトルQV11とベクトルQV12のコサイン類似度の値が大きくなるように(値が1に近づくように)第1モデルM1を学習させる。このように、生成装置50は、一対の検索クエリに対応する一対の分散表現である2つのベクトルが分散表現空間上で類似するように第1モデルM1を学習させることで、検索クエリから分散表現(ベクトル)を出力する第1モデルM1を生成する(ステップS13)。なお、生成装置50は、コサイン類似度に限らず、ベクトル間の距離尺度として適用可能な指標であれば、どのような指標に基づいて分散表現(ベクトル)の間の類似度を算出してもよい。また、生成装置50は、ベクトル間の距離尺度として適用可能な指標であれば、どのような指標に基づいて第1モデルM1を学習させてもよい。例えば、生成装置50は、分散表現(ベクトル)同士のユークリッド距離や双曲空間等の非ユークリッド空間中での距離、マンハッタン距離、マハラノビス距離等といった所定の距離関数の値を算出する。続いて、生成装置50は、分散表現(ベクトル)同士の所定の距離関数の値(すなわち、分散表現空間における距離)が小さくなるように第1モデルM1を学習させてもよい。 Subsequently, the generation device 50 includes a pair of search queries including a search query Q11 (“Roppongi pasta”) and a search query Q12 (“Roppongi Italian”) that are continuously input by the same user U1 within a predetermined time. Is presumed to be a search query input with a predetermined search intent (for example, a search intent "to search for a restaurant at a certain place"), and therefore, it is assumed that search queries Q11 have similar features to each other. The first model M1 is trained so that the distributed expression (vector QV11) and the distributed expression (vector QV12) of the search query Q12 paired with the search query Q11 are similar in the distributed expression space. For example, the magnitude of the angle between the vector BQV11, which is the distributed expression of the search query Q11 before feedback (before learning) to the first model M1, and the vector BQV12, which is the distributed expression of the search query Q12, is Θ. Further, the size of the angle formed by the vector QV11, which is the distributed expression of the search query Q11 after feedback is applied to the first model M1 (after learning), and the vector QV12, which is the distributed expression of the search query Q12, is Φ. At this time, the generation device 50 trains the first model M1 so that Φ becomes smaller than Θ. For example, the generation device 50 calculates the value of the cosine similarity between the vector BQV11 and the vector BQV12. Further, the generation device 50 calculates the value of the cosine similarity between the vector QV11 and the vector QV12. Then, the generation device 50 sets the first model so that the value of the cosine similarity between the vectors QV11 and QV12 is larger than the value of the cosine similarity between the vectors BQV11 and BQV12 (so that the value approaches 1). Train M1. In this way, the generation device 50 learns the first model M1 so that the two vectors, which are a pair of distributed expressions corresponding to the pair of search queries, are similar in the distributed expression space, and thus the distributed expression from the search query. A first model M1 that outputs (vector) is generated (step S13). Note that the generation device 50 may calculate the similarity between distributed expressions (vectors) based on any index as long as it is an index applicable as a distance measure between vectors, not limited to the cosine similarity. Good. Further, the generation device 50 may train the first model M1 based on any index as long as it is an index applicable as a distance measure between vectors. For example, the generating device 50 calculates a value of a predetermined distance function such as a Euclidean distance between distributed expressions (vectors), a distance in a non-Euclidean space such as a hyperbolic space, a Manhattan distance, a Mahalanobis distance, or the like. Subsequently, the generation device 50 may train the first model M1 so that the value of the predetermined distance function between the distributed expressions (vectors) (that is, the distance in the distributed expression space) becomes small.

次に、図17を用いて、第1学習モデルの生成処理の流れについてより詳しく説明する。なお、図17の説明では、図16の説明と重複する部分は、適宜省略する。図17は、実施形態に係る第1学習モデルの生成処理を示す図である。なお、以下では、適宜、第1学習モデルを第1モデル(又は、第1モデルM1)と記載する。図17に示す例では、生成装置50が生成した第1モデルM1によって出力された分散表現(ベクトル)が分散表現空間にマッピングされる様子が示されている。生成装置50は、所定の検索クエリの分散表現と所定の検索クエリと対となる他の検索クエリの分散表現とが分散表現空間上で近くにマッピングされるように第1モデルM1のトレーニングを行う。 Next, the flow of the generation process of the first learning model will be described in more detail with reference to FIG. Note that in the description of FIG. 17, the portions overlapping the description of FIG. 16 will be omitted as appropriate. FIG. 17 is a diagram showing a generation process of the first learning model according to the embodiment. In the following, the first learning model will be appropriately referred to as the first model (or the first model M1). In the example illustrated in FIG. 17, the distributed representation (vector) output by the first model M1 generated by the generation device 50 is mapped to the distributed representation space. The generation device 50 trains the first model M1 so that the distributed expression of the predetermined search query and the distributed expressions of the other search queries paired with the predetermined search query are closely mapped in the distributed expression space. ..

図17の上段に示す例では、生成装置50は、同一のユーザU1によって所定の時間内に連続して入力された4個の検索クエリである検索クエリQ11(「六本木 パスタ」)、検索クエリQ12(「六本木 イタリアン」)、検索クエリQ13(「赤坂 パスタ」)、検索クエリQ14(「麻布 パスタ」)を抽出する。生成装置50は、同一のユーザU1によって各検索クエリが入力された時間の間隔が所定の時間内である4個の検索クエリを抽出する。生成装置50は、同一のユーザU1によって後述する各検索クエリのペアが入力された時間の間隔が所定の時間内である複数の検索クエリを抽出する。生成装置50は、検索クエリが入力された順番に並べると、検索クエリQ11、検索クエリQ12、検索クエリQ13、検索クエリQ14の順番で入力された4個の検索クエリを抽出する。生成装置50は、4個の検索クエリを抽出すると、時系列的に隣り合う2つの検索クエリを一対の検索クエリとして、3対の検索クエリのペアである(検索クエリQ11、検索クエリQ12)、(検索クエリQ12、検索クエリQ13)、(検索クエリQ13、検索クエリQ14)を抽出する(ステップS21−1)。なお、生成装置50は、同一のユーザU1によって全ての検索クエリが所定の時間内に入力された複数の検索クエリを抽出してもよい。そして、生成装置50は、時系列的に隣り合うか否かに関わらず、抽出した複数の検索クエリの中から2つの検索クエリを選択して、選択した2つの検索クエリを一対の検索クエリとして抽出してもよい。 In the example illustrated in the upper part of FIG. 17, the generation device 50 includes a search query Q11 (“Roppongi pasta”) and a search query Q12, which are four search queries continuously input by the same user U1 within a predetermined time. (“Roppongi Italian”), search query Q13 (“Akasaka pasta”), and search query Q14 (“Azabu pasta”) are extracted. The generation device 50 extracts four search queries whose time intervals at which each search query is input by the same user U1 are within a predetermined time. The generation device 50 extracts a plurality of search queries in which a time interval at which a pair of search queries described below is input by the same user U1 is within a predetermined time. When the generating device 50 arranges the search queries in the input order, the generating device 50 extracts the four search queries input in the order of the search query Q11, the search query Q12, the search query Q13, and the search query Q14. When the four search queries are extracted, the generation device 50 defines two search queries that are adjacent in time series as a pair of search queries, and is a pair of three search queries (search query Q11, search query Q12), (Search query Q12, search query Q13) and (search query Q13, search query Q14) are extracted (step S21-1). Note that the generation device 50 may extract a plurality of search queries in which all the search queries are input by the same user U1 within a predetermined time. Then, the generation device 50 selects two search queries from the plurality of extracted search queries, regardless of whether they are adjacent in time series, and sets the selected two search queries as a pair of search queries. You may extract.

続いて、生成装置50は、抽出した検索クエリQ1k(k=1、2、3、4)を第1モデルM1に入力して、検索クエリQ1k(k=1、2、3、4)の分散表現であるベクトルBQV1k(k=1、2、3、4)を出力する。ここで、ベクトルBQV1k(k=1、2、3、4)は、第1モデルM1の出力層から出力されたばかりの検索クエリQ1k(k=1、2、3、4)の分散表現であって、第1モデルM1にフィードバックをかける前(学習前)の分散表現を示す(ステップS22−1)。 Then, the generation device 50 inputs the extracted search query Q1k (k=1, 2, 3, 4) into the first model M1 and distributes the search query Q1k (k=1, 2, 3, 4). The vector BQV1k (k=1, 2, 3, 4) that is the expression is output. Here, the vector BQV1k (k=1, 2, 3, 4) is a distributed representation of the search query Q1k (k=1, 2, 3, 4) just output from the output layer of the first model M1. , A distributed expression before feedback is given to the first model M1 (before learning) (step S22-1).

続いて、生成装置50は、同一のユーザU1によって所定の時間内に連続して入力された一対の検索クエリは、所定の検索意図(例えば、「ある場所(東京都港区付近)で飲食店を探す」という検索意図)で入力された検索クエリであると推定されるため、相互に類似する特徴を有するものとして、検索クエリQ11の分散表現(ベクトルQV11)と、検索クエリQ11と対となる検索クエリQ12の分散表現(ベクトルQV12)とが、分散表現空間上で類似するように第1モデルM1を学習させる。また、生成装置50は、検索クエリQ12の分散表現(ベクトルQV12)と、検索クエリQ12と対となる検索クエリQ13の分散表現(ベクトルQV13)とが、分散表現空間上で類似するように第1モデルM1を学習させる。また、生成装置50は、検索クエリQ13の分散表現(ベクトルQV13)と、検索クエリQ13と対となる検索クエリQ14の分散表現(ベクトルQV14)とが、分散表現空間上で類似するように第1モデルM1を学習させる。このように、生成装置50は、一対の検索クエリに対応する一対の分散表現である2つのベクトルが分散表現空間上で類似するように第1モデルM1を学習させることで、検索クエリから分散表現(ベクトル)を出力する第1モデルM1を生成する(ステップS23−1)。 Then, the generation device 50 determines that the pair of search queries continuously input by the same user U1 within a predetermined time period has a predetermined search intention (for example, “a certain place (in the vicinity of Minato-ku, Tokyo) at a restaurant). It is presumed that the search queries are input according to the search intention of "searching for". Therefore, the distributed representation (vector QV11) of the search query Q11 is paired with the search query Q11 as having similar features. The first model M1 is trained so that the distributed expression (vector QV12) of the search query Q12 is similar in the distributed expression space. In addition, the generating device 50 makes the distributed expression of the search query Q12 (vector QV12) and the distributed expression of the search query Q13 (vector QV13) paired with the search query Q12 similar to each other in the distributed expression space. The model M1 is trained. In addition, the generation device 50 makes the distributed expression (vector QV13) of the search query Q13 and the distributed expression (vector QV14) of the search query Q14 paired with the search query Q13 similar to each other in the distributed expression space. The model M1 is trained. In this way, the generation device 50 learns the first model M1 so that the two vectors, which are a pair of distributed expressions corresponding to the pair of search queries, are similar in the distributed expression space, and thus the distributed expression from the search query. A first model M1 that outputs (vector) is generated (step S23-1).

図17の上段に示す情報処理の結果として、検索クエリQ1k(k=1、2、3、4)の分散表現であるベクトルQV1k(k=1、2、3、4)が分散表現空間の近い位置にクラスタCL11としてマッピングされる様子が示されている。例えば、検索クエリQ1k(k=1、2、3、4)は、ユーザU1によって「ある場所(東京都港区付近)で飲食店を探す」という検索意図の下で検索された検索クエリの集合であると推定される。すなわち、検索クエリQ1k(k=1、2、3、4)は、「ある場所(東京都港区付近)で飲食店を探す」という検索意図の下で検索された検索クエリであるという点で、相互に類似する特徴を有する検索クエリであると推定される。ここで、生成装置50は、「ある場所(東京都港区付近)で飲食店を探す」という検索意図で入力された所定の検索クエリが第1モデルに入力されると、クラスタCL11の位置にマッピングされるような分散表現を出力することができる。これにより、例えば、生成装置50は、クラスタCL11の位置にマッピングされる分散表現に対応する検索クエリを抽出することにより、「ある場所(東京都港区付近)で飲食店を探す」という検索意図に応じた検索クエリを抽出することができる。したがって、生成装置50は、検索クエリの意味を適切に解釈可能とすることができる。 As a result of the information processing shown in the upper part of FIG. 17, the vector QV1k (k=1, 2, 3, 4), which is the distributed expression of the search query Q1k (k=1, 2, 3, 4), is close to the distributed expression space. It is shown that the position is mapped as the cluster CL11. For example, the search query Q1k (k=1, 2, 3, 4) is a set of search queries searched by the user U1 under the search intention of “searching for a restaurant in a certain place (near Minato-ku, Tokyo)”. Is estimated to be That is, the search query Q1k (k=1, 2, 3, 4) is a search query that is searched under the search intent of “searching for a restaurant in a certain place (in the vicinity of Minato-ku, Tokyo)”. , Are presumed to be search queries having similar features to each other. Here, when the predetermined search query input with the search intention of “search for a restaurant in a certain location (Near Minato-ku, Tokyo)” is input to the first model, the generation device 50 sets the position of the cluster CL11. A distributed representation as mapped can be output. As a result, for example, the generating device 50 extracts the search query corresponding to the distributed expression mapped to the position of the cluster CL11 to search for a restaurant in a certain place (in the vicinity of Minato-ku, Tokyo). It is possible to extract a search query according to. Therefore, the generation device 50 can appropriately interpret the meaning of the search query.

図17の下段に示す例では、生成装置50は、同一のユーザU2によって所定の時間内に連続して入力された3個の検索クエリである検索クエリQ21(「冷蔵庫 400L」)、検索クエリQ22(「冷蔵庫 中型」)、検索クエリQ23(「冷蔵庫 中型 おすすめ」)を抽出する。生成装置50は、検索クエリが入力された順番に並べると、検索クエリQ21、検索クエリQ22、検索クエリQ23の順番で入力された3個の検索クエリを抽出する。生成装置50は、3個の検索クエリを抽出すると、時系列的に隣り合う2つの検索クエリを一対の検索クエリとして、2対の検索クエリのペアである(検索クエリQ21、検索クエリQ22)、(検索クエリQ22、検索クエリQ23)を抽出する(ステップS21−2)。 In the example illustrated in the lower part of FIG. 17, the generation device 50 includes a search query Q21 (“refrigerator 400L”) and a search query Q22, which are three search queries continuously input by the same user U2 within a predetermined time. (“Refrigerator Medium-sized”) and search query Q23 (“Refrigerator Medium-sized recommended”) are extracted. After arranging the search queries in the input order, the generation device 50 extracts the three search queries input in the order of the search query Q21, the search query Q22, and the search query Q23. When the three search queries are extracted, the generation device 50 regards two search queries that are adjacent in time series as a pair of search queries, and is a pair of two search queries (search query Q21, search query Q22), (Search query Q22, search query Q23) is extracted (step S21-2).

続いて、生成装置50は、抽出した検索クエリQ2m(m=1、2、3)を第1モデルM1に入力して、検索クエリQ2m(m=1、2、3)の分散表現であるベクトルBQV2m(m=1、2、3)を出力する。ここで、ベクトルBQV2m(m=1、2、3)は、第1モデルM1の出力層から出力されたばかりの検索クエリQ2m(m=1、2、3)の分散表現であって、第1モデルM1にフィードバックをかける前(学習前)の分散表現を示す(ステップS22−2)。 Subsequently, the generation device 50 inputs the extracted search query Q2m (m=1, 2, 3) into the first model M1 and outputs a vector that is a distributed expression of the search query Q2m (m=1, 2, 3). BQV2m (m=1, 2, 3) is output. Here, the vector BQV2m (m=1, 2, 3) is a distributed representation of the search query Q2m (m=1, 2, 3) just output from the output layer of the first model M1, and is the first model. A distributed expression before feedback is given to M1 (before learning) is shown (step S22-2).

続いて、生成装置50は、同一のユーザU2によって所定の時間内に連続して入力された一対の検索クエリは、所定の検索意図(例えば、「中型の冷蔵庫を調べる」という検索意図)で入力された検索クエリであると推定されるため、相互に類似する特徴を有するものとして、検索クエリQ21の分散表現(ベクトルQV21)と、検索クエリQ21と対となる検索クエリQ22の分散表現(ベクトルQV22)とが、分散表現空間上で類似するように第1モデルM1を学習させる。また、生成装置50は、検索クエリQ22の分散表現(ベクトルQV22)と、検索クエリQ22と対となる検索クエリQ23の分散表現(ベクトルQV23)とが、分散表現空間上で類似するように第1モデルM1を学習させる。このように、生成装置50は、一対の検索クエリに対応する一対の分散表現である2つのベクトルが分散表現空間上で類似するように第1モデルM1を学習させることで、検索クエリから分散表現(ベクトル)を出力する第1モデルM1を生成する(ステップS23−2)。 Subsequently, the generation device 50 inputs a pair of search queries continuously input by the same user U2 within a predetermined time period with a predetermined search intention (for example, a search intention of “searching a medium-sized refrigerator”). Since it is estimated that the search query is a search query that has been generated, it is assumed that the search query Q21 has a distributed expression (vector QV21) and a search query Q22 that forms a pair with the search query Q21 (a vector QV22). ) And the first model M1 are learned so that they are similar to each other in the distributed expression space. In addition, the generation device 50 makes the distributed expression (vector QV22) of the search query Q22 and the distributed expression (vector QV23) of the search query Q23 paired with the search query Q22 similar to each other in the distributed expression space. The model M1 is trained. In this way, the generation device 50 learns the first model M1 so that the two vectors, which are a pair of distributed expressions corresponding to the pair of search queries, are similar in the distributed expression space, and thus the distributed expression from the search query. A first model M1 that outputs (vector) is generated (step S23-2).

図17の下段に示す情報処理の結果として、検索クエリQ2m(m=1、2、3)の分散表現であるベクトルQV2m(m=1、2、3)が分散表現空間の近い位置にクラスタCL21としてマッピングされる様子が示されている。例えば、検索クエリQ2m(m=1、2、3)は、ユーザU2によって「中型の冷蔵庫を調べる」という検索意図の下で検索された検索クエリの集合であると推定される。すなわち、Q2m(m=1、2、3)は、「中型の冷蔵庫を調べる」という検索意図の下で検索された検索クエリであるという点で、相互に類似する特徴を有する検索クエリであると推定される。ここで、生成装置50は、「中型の冷蔵庫を調べる」という検索意図で入力された所定の検索クエリが第1モデルに入力されると、クラスタCL21の位置にマッピングされるような分散表現を出力することができる。これにより、例えば、生成装置50は、クラスタCL21の位置にマッピングされる分散表現に対応する検索クエリを抽出することにより、「中型の冷蔵庫を調べる」という検索意図に応じた検索クエリを抽出することができる。したがって、生成装置50は、検索クエリの意味を適切に解釈可能とすることができる。 As a result of the information processing shown in the lower part of FIG. 17, the vector QV2m (m=1, 2, 3), which is the distributed expression of the search query Q2m (m=1, 2, 3), is located in the cluster CL21 near the distributed expression space. Is mapped as. For example, the search query Q2m (m=1, 2, 3) is presumed to be a set of search queries searched by the user U2 under the search intention of “searching for a medium-sized refrigerator”. That is, Q2m (m=1, 2, 3) is a search query having similar characteristics in that it is a search query searched under the search intention of “searching for a medium-sized refrigerator”. Presumed. Here, when the predetermined search query input with the search intention of “search for a medium-sized refrigerator” is input to the first model, the generation device 50 outputs a distributed expression that is mapped to the position of the cluster CL21. can do. Thereby, for example, the generating device 50 extracts the search query corresponding to the distributed expression mapped to the position of the cluster CL21, thereby extracting the search query according to the search intention of “inspecting the medium-sized refrigerator”. You can Therefore, the generation device 50 can appropriately interpret the meaning of the search query.

また、本願発明に係る生成装置50は、ランダムに抽出された複数の検索クエリは、異なる検索意図の下で検索された検索クエリであるという点で、相互に相違する特徴を有する検索クエリであるとみなして第1モデルM1を学習させる。具体的には、生成装置50は、所定の検索クエリの分散表現と、所定の検索クエリとは無関係にランダムに抽出された検索クエリの分散表現とが分散表現空間上で遠くにマッピングされるように第1モデルM1のトレーニングを行う。図17に示す例では、生成装置50は、検索クエリQ11とは無関係にランダムに検索クエリを抽出したところ、検索クエリQ21が抽出されたとする。この場合、生成装置50は、検索クエリQ11の分散表現(ベクトルQV11)と、検索クエリQ11とは無関係にランダムに抽出された検索クエリQ21の分散表現(ベクトルQV21)とが分散表現空間上で遠くにマッピングされるように第1モデルM1のトレーニングを行う。その結果として、「ある場所(東京都港区付近)で飲食店を探す」という検索意図の下で検索された検索クエリQ1k(k=1、2、3、4)の分散表現であるベクトルQV1k(k=1、2、3、4)を含むクラスタCL11と、「中型の冷蔵庫を調べる」という検索意図の下で検索された検索クエリQ2m(m=1、2、3)の分散表現であるベクトルQV2m(m=1、2、3)を含むクラスタCL21とは、分散表現空間上で遠くにマッピングされる。すなわち、本願発明に係る生成装置50は、ランダムに抽出された複数の検索クエリの分散表現が相違するように第1モデルM1を学習させることにより、検索意図が異なる検索クエリの分散表現を分散表現空間上で遠い位置に出力可能とする。 Further, the generation device 50 according to the present invention is a search query having mutually different characteristics in that the plurality of search queries that are randomly extracted are search queries that are searched under different search intentions. And the first model M1 is learned. Specifically, the generation device 50 causes the distributed expression of the predetermined search query and the distributed expression of the search query randomly extracted irrespective of the predetermined search query to be mapped far in the distributed expression space. The first model M1 is trained. In the example illustrated in FIG. 17, it is assumed that the generation device 50 extracts the search query Q21 when the search query is randomly extracted regardless of the search query Q11. In this case, the generation device 50 causes the distributed representation of the search query Q11 (vector QV11) and the distributed representation of the search query Q21 (vector QV21) randomly extracted irrespective of the search query Q11 to be far in the distributed representation space. The first model M1 is trained so as to be mapped to As a result, the vector QV1k, which is a distributed expression of the search query Q1k (k=1, 2, 3, 4), which is searched under the search intention of “searching for a restaurant in a certain place (Near Minato-ku, Tokyo)”. It is a distributed representation of a cluster CL11 including (k=1, 2, 3, 4) and a search query Q2m (m=1, 2, 3) searched under the search intention of “searching for a medium-sized refrigerator”. The cluster CL21 including the vector QV2m (m=1, 2, 3) is mapped far in the distributed representation space. That is, the generation device 50 according to the present invention trains the first model M1 so that the distributed expressions of a plurality of search queries that are randomly extracted are different, and thus the distributed expressions of the search queries having different search intentions are distributed expressions. It is possible to output to a distant position in space.

なお、生成装置50が生成した第1モデルM1によって出力された分散表現(ベクトル)が分散表現空間にマッピングされた結果として、上述したクラスタCL11とクラスタCL21の他にも、同一のユーザによって所定の時間内に入力された複数の検索クエリの分散表現(ベクトル)の集合であるクラスタCL12やクラスタCL22が生成される。 As a result of the distributed representation (vector) output by the first model M1 generated by the generation device 50 being mapped in the distributed representation space, in addition to the cluster CL11 and the cluster CL21 described above, a predetermined user may specify a predetermined expression. A cluster CL12 or a cluster CL22, which is a set of distributed expressions (vectors) of a plurality of search queries input in time, is generated.

上述したように、生成装置50は、ユーザによって入力された検索クエリを取得する。また、生成装置50は、取得した検索クエリのうち、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する第1モデルを生成する。すなわち、本願発明に係る生成装置50は、所定の時間内に連続して入力された複数の検索クエリは、所定の検索意図の下で検索された検索クエリであるという点で、相互に類似する特徴を有する検索クエリであるとみなして第1モデルを学習させる。具体的には、生成装置50は、同一のユーザによって所定の時間内に入力された複数の検索クエリの分散表現が類似するように第1モデルを学習させることで、所定の検索クエリから所定の検索クエリの特徴情報を含む分散表現を出力する第1モデルを生成する。すなわち、本願発明に係る生成装置50は、所定の時間内に連続して入力された複数の検索クエリの分散表現が類似するように第1モデルM1を学習させることにより、所定の検索意図の下で検索された検索クエリの分散表現を分散表現空間上で近い位置に出力可能とする。これにより、生成装置50は、検索クエリを入力したユーザのコンテクストに応じて検索クエリの意味(検索意図)を出力(解釈)することを可能にする。したがって、生成装置50は、検索クエリの意味を適切に解釈可能とすることができる。さらに、生成装置50は、所定の検索クエリの特徴情報を含む分散表現の近傍にマッピングされる分散表現に対応する検索クエリを抽出することにより、所定の検索クエリが検索された検索意図に応じた検索クエリを抽出することができる。すなわち、生成装置50は、検索クエリを入力したユーザの検索意図やコンテクストを考慮して、ユーザの検索動向を分析することを可能にする。したがって、生成装置50は、ユーザの検索動向の分析精度を高めることができる。また、生成装置50が生成した第1モデルM1を検索システムの一部として機能させることもできる。あるいは、生成装置50は、第1モデルM1によって予測された検索クエリの特徴情報を利用する他のシステム(例えば、検索エンジン)への入力情報として、第1モデルM1が出力した検索クエリの分散表現を提供することもできる。これにより、検索システムは、第1モデルM1によって予測された検索クエリの特徴情報に基づいて、検索結果として出力されるコンテンツを選択可能になる。すなわち、検索システムは、検索クエリを入力したユーザの検索意図やコンテクストを考慮して、検索結果として出力されるコンテンツを選択可能になる。さらに、検索システムは、第1モデルM1によって予測された検索クエリの特徴情報に基づいて、検索結果として出力されるコンテンツに含まれる文字列の分散表現と検索クエリの分散表現との類似度を算出可能になる。そして、検索システムは、算出した類似度に基づいて、検索結果として出力されるコンテンツの表示順を決定可能になる。すなわち、検索システムは、検索クエリを入力したユーザの検索意図やコンテクストを考慮して、検索結果として出力されるコンテンツの表示順を決定可能になる。したがって、生成装置50は、検索サービスにおけるユーザビリティを向上させることができる。 As described above, the generation device 50 acquires the search query input by the user. In addition, the generation device 50 learns that a plurality of search queries input by the same user within a predetermined time have a similar feature among the acquired search queries, and thus a predetermined search query can be used. A first model that predicts the characteristic information of the search query is generated. That is, the generation device 50 according to the present invention is similar to each other in that the plurality of search queries continuously input within a predetermined time period are search queries searched under a predetermined search intention. The first model is trained by regarding it as a search query having characteristics. Specifically, the generation device 50 learns the first model such that the distributed expressions of the plurality of search queries input by the same user within a predetermined time are similar to each other, and thereby the predetermined model is obtained from the predetermined search query. A first model that outputs a distributed expression that includes the characteristic information of the search query is generated. That is, the generation device 50 according to the present invention learns the first model M1 so that the distributed expressions of a plurality of search queries continuously input within a predetermined time are similar to each other. It is possible to output the distributed expression of the search query searched by in a near position on the distributed expression space. Thereby, the generation device 50 enables the meaning (search intention) of the search query to be output (interpreted) according to the context of the user who inputs the search query. Therefore, the generation device 50 can appropriately interpret the meaning of the search query. Furthermore, the generation device 50 extracts the search query corresponding to the distributed expression that is mapped in the vicinity of the distributed expression that includes the characteristic information of the predetermined search query, and thus the predetermined search query responds to the search intention. Search queries can be extracted. That is, the generation device 50 makes it possible to analyze the search trend of the user in consideration of the search intention and context of the user who inputs the search query. Therefore, the generation device 50 can improve the accuracy of analysis of the search trend of the user. In addition, the first model M1 generated by the generation device 50 can be made to function as a part of the search system. Alternatively, the generation device 50 uses the distributed representation of the search query output by the first model M1 as input information to another system (for example, a search engine) that uses the feature information of the search query predicted by the first model M1. Can also be provided. Accordingly, the search system can select the content output as the search result based on the characteristic information of the search query predicted by the first model M1. That is, the search system can select the content output as the search result in consideration of the search intention or context of the user who inputs the search query. Furthermore, the search system calculates the similarity between the distributed expression of the character string included in the content output as the search result and the distributed expression of the search query based on the characteristic information of the search query predicted by the first model M1. It will be possible. Then, the search system can determine the display order of the content output as the search result based on the calculated similarity. That is, the search system can determine the display order of the content output as the search result in consideration of the search intention or context of the user who inputs the search query. Therefore, the generation device 50 can improve usability in the search service.

〔3−2.第2学習モデルの生成処理〕
次に、図18を用いて、第2学習モデルの生成処理の流れについて説明する。図18は、実施形態に係る第2学習モデルの生成処理の一例を示す図である。なお、以下では、適宜、第2学習モデルを第2モデル(又は、第2モデルM2)と記載する。図18の上段に示す例では、生成装置50は、同一のユーザU1によって所定の時間内に連続して入力された4個の検索クエリである検索クエリQ11(「六本木 パスタ」)、検索クエリQ12(「六本木 イタリアン」)、検索クエリQ13(「赤坂 パスタ」)、検索クエリQ14(「麻布 パスタ」)を抽出する。生成装置50は、同一のユーザU1によって各検索クエリが入力された時間の間隔が所定の時間内である複数の検索クエリを抽出する。また、生成装置50は、同一のユーザU1によって各検索クエリのペアが入力された時間の間隔が所定の時間内である複数の検索クエリを抽出する。ここで、4個の検索クエリは、検索クエリQ11、検索クエリQ12、検索クエリQ13、検索クエリQ14の順番でユーザU1によって各検索クエリが所定の時間内に入力された検索クエリであるとする。生成装置50は、4個の検索クエリを抽出すると、時系列的に隣り合う2つの検索クエリを一対の検索クエリとして、3対の検索クエリのペアである(検索クエリQ11、検索クエリQ12)、(検索クエリQ12、検索クエリQ13)、(検索クエリQ13、検索クエリQ14)を抽出する。生成装置50は、3対の検索クエリのペアを抽出すると、抽出した検索クエリQ1k(k=1、2、3、4)を第1モデルM1に入力する(ステップS31)。なお、生成装置50は、同一のユーザU1によって全ての検索クエリが所定の時間内に入力された複数の検索クエリを抽出してもよい。そして、生成装置50は、時系列的に隣り合うか否かに関わらず、抽出した複数の検索クエリの中から2つの検索クエリを選択して、選択した2つの検索クエリを一対の検索クエリとして抽出してもよい。
[3-2. Second learning model generation process]
Next, the flow of the second learning model generation process will be described with reference to FIG. FIG. 18 is a diagram illustrating an example of a second learning model generation process according to the embodiment. In the following, the second learning model will be appropriately referred to as the second model (or the second model M2). In the example illustrated in the upper part of FIG. 18, the generation device 50 includes a search query Q11 (“Roppongi pasta”) and a search query Q12, which are four search queries continuously input by the same user U1 within a predetermined time. (“Roppongi Italian”), search query Q13 (“Akasaka pasta”), and search query Q14 (“Azabu pasta”) are extracted. The generation device 50 extracts a plurality of search queries in which the time intervals at which the search queries are input by the same user U1 are within a predetermined time. In addition, the generation device 50 extracts a plurality of search queries in which the time interval at which each search query pair is input by the same user U1 is within a predetermined time. Here, it is assumed that the four search queries are search queries in which the search query Q11, the search query Q12, the search query Q13, and the search query Q14 are input in this order by the user U1 within a predetermined time. When the four search queries are extracted, the generation device 50 defines two search queries that are adjacent in time series as a pair of search queries, and is a pair of three search queries (search query Q11, search query Q12), (Search query Q12, search query Q13), (search query Q13, search query Q14) are extracted. When the generator 50 extracts three pairs of search queries, it inputs the extracted search queries Q1k (k=1, 2, 3, 4) to the first model M1 (step S31). Note that the generation device 50 may extract a plurality of search queries in which all the search queries are input by the same user U1 within a predetermined time. Then, the generation device 50 selects two search queries from the plurality of extracted search queries, regardless of whether they are adjacent in time series, and sets the selected two search queries as a pair of search queries. You may extract.

続いて、生成装置50は、検索クエリQ1k(k=1、2、3、4)の分散表現であるベクトルBQV1k(k=1、2、3、4)を第1モデルM1の出力データとして出力する(ステップS32)。ここで、ベクトルBQV1k(k=1、2、3、4)は、第1モデルM1の出力層から出力されたばかりの検索クエリQ1k(k=1、2、3、4)の分散表現であって、第1モデルM1にフィードバックをかける前(学習前)の分散表現を示す。 Then, the generation device 50 outputs the vector BQV1k (k=1, 2, 3, 4), which is the distributed expression of the search query Q1k (k=1, 2, 3, 4), as the output data of the first model M1. Yes (step S32). Here, the vector BQV1k (k=1, 2, 3, 4) is a distributed representation of the search query Q1k (k=1, 2, 3, 4) just output from the output layer of the first model M1. , A distributed expression before feedback is applied to the first model M1 (before learning).

ここで、同一のユーザU1によって所定の時間内に連続して入力された検索クエリQ1k(k=1、2、3、4)は、例えば、ユーザU1によって「ある場所(東京都港区付近)で飲食店を探す」という検索意図の下で検索された検索クエリの集合であると推定される。すなわち、検索クエリQ1k(k=1、2、3、4)は、「ある場所(東京都港区付近)で飲食店を探す」という検索意図の下で検索された検索クエリであるという点で、相互に類似する特徴を有する検索クエリであると推定される。そこで、生成装置50は、連続して入力された検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する第1モデルを生成する(ステップS33)。具体的には、生成装置50は、連続して入力された検索クエリの分散表現が類似するものとして学習することで、所定の検索クエリから所定の検索クエリの分散表現を予測する第1モデルM1を生成する。例えば、生成装置50は、検索クエリQ11の分散表現(ベクトルQV11)と、検索クエリQ11と対となる検索クエリQ12の分散表現(ベクトルQV12)とが、分散表現空間上で類似するように第1モデルM1を学習させる。また、生成装置50は、検索クエリQ12の分散表現(ベクトルQV12)と、検索クエリQ12と対となる検索クエリQ13の分散表現(ベクトルQV13)とが、分散表現空間上で類似するように第1モデルM1を学習させる。また、生成装置50は、検索クエリQ13の分散表現(ベクトルQV13)と、検索クエリQ13と対となる検索クエリQ14の分散表現(ベクトルQV14)とが、分散表現空間上で類似するように第1モデルM1を学習させる。 Here, the search query Q1k (k=1, 2, 3, 4) continuously input by the same user U1 within a predetermined time is, for example, “some place (near Minato-ku, Tokyo)” by the user U1. It is presumed to be a set of search queries searched under the search intention of "searching for restaurants in." That is, the search query Q1k (k=1, 2, 3, 4) is a search query that is searched under the search intent of “searching for a restaurant in a certain place (in the vicinity of Minato-ku, Tokyo)”. , Are presumed to be search queries having similar features to each other. Therefore, the generating device 50 generates the first model that predicts the characteristic information of the predetermined search query from the predetermined search query by learning that the successively input search queries have similar characteristics. Step S33). Specifically, the generation device 50 learns that the distributed expressions of continuously input search queries are similar to each other, and thus the first model M1 predicts the distributed expression of the predetermined search query from the predetermined search query. To generate. For example, the generation device 50 may make the distributed expression (vector QV11) of the search query Q11 and the distributed expression (vector QV12) of the search query Q12 paired with the search query Q11 similar to each other in the distributed expression space. The model M1 is trained. In addition, the generating device 50 makes the distributed expression of the search query Q12 (vector QV12) and the distributed expression of the search query Q13 (vector QV13) paired with the search query Q12 similar to each other in the distributed expression space. The model M1 is trained. In addition, the generation device 50 makes the distributed expression (vector QV13) of the search query Q13 and the distributed expression (vector QV14) of the search query Q14 paired with the search query Q13 similar to each other in the distributed expression space. The model M1 is trained.

図18の上段の右側には、学習済みの第1モデルM1の出力結果として、同一のユーザU1によって所定の時間内に入力された検索クエリQ1k(k=1、2、3、4)の分散表現であるベクトルQV1k(k=1、2、3、4)が分散表現空間のクラスタCL11としてマッピングされる様子が示されている。このように、生成装置50は、同一のユーザによって所定の時間内に入力された複数の検索クエリが有する特徴を学習した第1学習モデルM1を生成する。 On the right side of the upper part of FIG. 18, the variance of the search query Q1k (k=1, 2, 3, 4) input by the same user U1 within a predetermined time as the output result of the learned first model M1. It is shown that the expression vector QV1k (k=1, 2, 3, 4) is mapped as the cluster CL11 in the distributed expression space. In this way, the generation device 50 generates the first learning model M1 that has learned the characteristics of the plurality of search queries input by the same user within a predetermined time.

生成装置50は、第1モデルM1を生成すると、生成した第1モデルM1(第1モデルM1のモデルデータMDT1)を取得する。生成装置50は、第1モデルM1を取得すると、取得した第1モデルM1を用いて、第2学習モデルM2を生成する。具体的には、生成装置50は、第1モデルM1を再学習させることにより、第1モデルM1とは学習モデルの重みである接続係数が異なる第2モデルM2を生成する。より具体的には、生成装置50は、第1モデルM1を用いて、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2学習モデルM2を生成する(ステップS34)。 After generating the first model M1, the generation device 50 acquires the generated first model M1 (model data MDT1 of the first model M1). When the generation device 50 acquires the first model M1, the generation device 50 generates the second learning model M2 using the acquired first model M1. Specifically, the generation device 50 re-learns the first model M1 to generate the second model M2 having a connection coefficient that is a weight of the learning model different from that of the first model M1. More specifically, the generation device 50 uses the first model M1 to generate a second learning model M2 that predicts a category to which a predetermined search query belongs from a predetermined search query (step S34).

図18の下段に示す例では、生成装置50は、検索クエリが第2モデルM2に入力された際に、CAT11(「飲食店を探す」)、CAT12(「商品を探す」)、CAT13(「飲食店を予約する」)、CAT14(「商品を購入する」)の4つのカテゴリのいずれのカテゴリに属するかを予測する第2モデルM2を生成する。具体的には、生成装置50は、入力情報として検索クエリが第2モデルM2に入力された際に、出力情報として検索クエリがそのカテゴリに属する確率をカテゴリ毎に出力する第2モデルM2を生成する。例えば、生成装置50は、第2モデルM2の正解データとして、検索クエリと検索クエリが属するカテゴリ(CAT11〜CAT14のいずれか)との組を学習する。 In the example illustrated in the lower part of FIG. 18, when the search query is input to the second model M2, the generation device 50 CAT11 (“search for a restaurant”), CAT12 (“search for a product”), CAT13 (“ A second model M2 that predicts which one of the four categories of "reserve a restaurant") and CAT14 ("purchase a product") is generated. Specifically, when the search query is input to the second model M2 as the input information, the generation device 50 generates the second model M2 that outputs the probability that the search query belongs to the category for each category as the output information. To do. For example, the generation device 50 learns a set of a search query and a category (one of CAT11 to CAT14) to which the search query belongs as the correct answer data of the second model M2.

なお、検索クエリがCAT11(「飲食店を探す」)に属することは、検索クエリが飲食店を探す意図で入力された検索クエリであることを示す。また、CAT12(「商品を探す」)に属することは、検索クエリが商品を探す意図で入力された検索クエリであることを示す。また、検索クエリがCAT13(「飲食店を予約する」)に属することは、検索クエリが飲食店を予約する意図で入力された検索クエリであることを示す。また、検索クエリがCAT14(「商品を購入する」)に属することは、検索クエリが商品を購入する意図で入力された検索クエリであることを示す。 It should be noted that the fact that the search query belongs to CAT11 (“search for restaurants”) indicates that the search query is a search query that was input with the intention of searching for restaurants. Belonging to CAT12 (“search for product”) indicates that the search query is a search query input with the intention of searching for a product. Further, the fact that the search query belongs to CAT13 (“reserve a restaurant”) indicates that the search query is a search query input with the intention of reserving a restaurant. Further, the fact that the search query belongs to CAT14 (“purchase a product”) indicates that the search query is a search query input with the intention of purchasing the product.

具体的には、生成装置50は、検索クエリが学習モデルに入力された際に、学習モデルが出力する分散表現の分類結果が、検索クエリが属するカテゴリに対応するように学習することで、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2モデルM2を生成する。そして、生成装置50は、例えば、入力情報として検索クエリが第2モデルM2に入力された際に、出力情報として検索クエリがそのカテゴリに属する確率をカテゴリCAT11〜CAT14毎に出力する第2モデルM2を生成する。 Specifically, when the search query is input to the learning model, the generation device 50 learns such that the classification result of the distributed expressions output by the learning model corresponds to the category to which the search query belongs, thereby making A second model M2 that predicts a category to which a predetermined search query belongs is generated from the search query of. Then, for example, when the search query is input to the second model M2 as the input information, the generation device 50 outputs the probability that the search query belongs to the category as the output information for each of the categories CAT11 to CAT14. To generate.

例えば、生成装置50は、入力情報として検索クエリQ11(「六本木 パスタ」)が第2モデルM2に入力された際に(ステップS35)、出力情報として検索クエリQ11(「六本木 パスタ」)の分散表現であるベクトルBQV11を出力する。ここで、ベクトルBQV11は、第2モデルM2の出力層から出力されたばかりの検索クエリQ11の分散表現であって、第2モデルM2にフィードバックをかける前(学習前)の分散表現を示す。ここで、検索クエリQ11(「六本木 パスタ」)が属する正解カテゴリがCAT11(「飲食店を探す」)であるとする。この場合、生成装置50は、出力された検索クエリQ11(「六本木 パスタ」)の分散表現であるベクトルBQV11がCAT11(「飲食店を探す」)に分類される確率が所定の閾値を超えるように第2モデルM2を学習させる。なお、生成装置50は、あらかじめ用意された正解データを用いて第2モデルを学習させる。生成装置50は、第2モデルM2の正解データを生成してもよい。そして、生成装置50は、生成した正解データを用いて第2モデルM2を学習させてもよい。具体的には、生成装置50は、検索クエリを検索したユーザの検索後の行動に基づいて、検索クエリが属する正解カテゴリを決定する。より具体的には、生成装置50は、所定の検索クエリを検索したユーザに対して、検索後に所定の行動を起こしたユーザの割合が所定の閾値を超える所定の行動を、正解カテゴリに対応する行動として決定する。例えば、検索クエリQ11(「六本木 パスタ」)を検索したユーザが検索後に所定の行動を起こしたユーザの割合として、飲食店を探す行動を起こしたユーザの割合が90%、検索後に商品を探す行動を起こしたユーザの割合が0%、検索後に飲食店を予約する行動を起こしたユーザの割合が10%、検索後に商品を購入する行動を起こしたユーザの割合が0%であったとする。この場合、生成装置50は、飲食店を探す行動を起こしたユーザの割合が所定の閾値(例えば、90%)を超えるため、飲食店を探す行動を検索クエリQ11(「六本木 パスタ」)の正解カテゴリに対応する行動として決定する。そして、生成装置50は、正解カテゴリに対応する行動を飲食店を探す行動であると決定したので、検索クエリQ11(「六本木 パスタ」)が属する正解カテゴリをCAT11(「飲食店を探す」)に決定する。 For example, when the search query Q11 (“Roppongi pasta”) is input to the second model M2 as the input information (step S35), the generation device 50 outputs the distributed representation of the search query Q11 (“Roppongi pasta”) as the output information. The vector BQV11 is output. Here, the vector BQV11 is a distributed expression of the search query Q11 just output from the output layer of the second model M2, and represents a distributed expression before feedback is applied to the second model M2 (before learning). Here, it is assumed that the correct category to which the search query Q11 (“Roppongi pasta”) belongs is CAT11 (“Find a restaurant”). In this case, the generation device 50 sets the probability that the vector BQV11, which is the distributed expression of the output search query Q11 (“Roppongi pasta”), is classified into CAT11 (“Search for restaurants”) exceeds a predetermined threshold. The second model M2 is trained. The generation device 50 uses the correct answer data prepared in advance to train the second model. The generation device 50 may generate correct answer data of the second model M2. Then, the generation device 50 may train the second model M2 using the generated correct answer data. Specifically, the generation device 50 determines the correct category to which the search query belongs, based on the post-search behavior of the user who searched for the search query. More specifically, the generation device 50 associates, with respect to the user who has searched for a predetermined search query, a predetermined action in which the ratio of users who have performed a predetermined action after the search exceeds a predetermined threshold, to the correct category. Decide as an action. For example, as a ratio of users who searched for the search query Q11 (“Roppongi pasta”) to take a predetermined action after the search, a ratio of users who took action to search for a restaurant was 90%, and to search for a product after the search. It is assumed that the percentage of users who have caused a search is 0%, the percentage of users who have made an action to reserve a restaurant after the search is 10%, and the percentage of users who have made an action to purchase a product after the search is 0%. In this case, since the ratio of the users who have taken the action to search for the restaurant exceeds the predetermined threshold value (for example, 90%), the generation device 50 searches for the action to search for the restaurant in the search query Q11 (“Roppongi pasta”). Determined as the action corresponding to the category. Then, since the generation device 50 has determined that the action corresponding to the correct answer category is the action of searching for a restaurant, the correct answer category to which the search query Q11 (“Roppongi pasta”) belongs to is CAT11 (“search for a restaurant”). decide.

例えば、生成装置50は、学習前の第2モデルM2に検索クエリQ11(「六本木 パスタ」)が入力された際に、分散表現であるベクトルBQV11がCAT11(「飲食店を探す」)に分類される確率を80%、CAT12(「商品を探す」)に分類される確率を0%、CAT13(「飲食店を予約」)に分類される確率を20%、CAT14(「商品を購入する」)に分類される確率を0%と出力したとする。この場合、生成装置50は、分散表現であるベクトルBQV11がCAT11(「飲食店を探す」)に分類される確率を所定の閾値(例えば、90%)を超えるように第2モデルM2を学習させる。また、生成装置50は、分散表現であるベクトルBQV11がCAT11(「飲食店を探す」)に分類される確率が所定の閾値(例えば、90%)を超えるように学習させるのに合わせて、分散表現であるベクトルBQV11が他のカテゴリCAT13(「飲食店を予約」)に分類される確率を10%に下げるように第2モデルM2を学習させる。 For example, when the search query Q11 (“Roppongi pasta”) is input to the second model M2 before learning, the generator 50 classifies the vector BQV11, which is a distributed expression, into CAT11 (“Find a restaurant”). 80% probability, 0% probability of being classified as CAT12 (“find a product”), 20% probability of being classified as CAT13 (“reserve a restaurant”), CAT14 (“purchase product”) It is assumed that the probability of being classified as is output as 0%. In this case, the generation device 50 trains the second model M2 so that the probability that the vector BQV11, which is a distributed representation, is classified into CAT11 (“search for a restaurant”) exceeds a predetermined threshold value (for example, 90%). .. In addition, the generation device 50 performs dispersion so that the probability that the vector BQV11, which is a distributed expression, is classified into CAT11 (“search for a restaurant”) exceeds a predetermined threshold value (for example, 90%). The second model M2 is trained so as to reduce the probability that the expression vector BQV11 is classified into another category CAT13 (“reserve restaurant”) to 10%.

このように、生成装置50は、入力情報として所定の検索クエリが入力されると、出力情報として所定の検索クエリの分散表現が正解カテゴリに分類される確率が所定の閾値を超えるように第2モデルを学習させる。そして、生成装置50は、入力情報として所定の検索クエリが入力された際に、所定の検索クエリの分散表現がそのカテゴリに属する確率が所定の閾値を超えるカテゴリを、所定の検索クエリのカテゴリとして出力する。例えば、生成装置50は、学習済みの第2モデルM2に入力情報として検索クエリQ11(「六本木 パスタ」)が入力されると、検索クエリQ11(「六本木 パスタ」)の分散表現であるベクトルBQV11がカテゴリCAT11(「飲食店を探す」)に属する確率が90%を超えるので、出力情報として検索クエリが属するカテゴリをCAT11(「飲食店を探す」)と出力する(ステップS36)。このように、生成装置50は、検索クエリと検索クエリの正解カテゴリとの組を学習することで、所定の検索クエリから所定の検索クエリのカテゴリを予測する第2モデルを生成する(ステップS37)。 As described above, when the predetermined search query is input as the input information, the generation device 50 is configured such that the probability that the distributed expression of the predetermined search query is classified into the correct answer category as the output information exceeds the predetermined threshold value. Train the model. Then, when a predetermined search query is input as input information, the generation device 50 sets a category whose probability that the distributed expression of the predetermined search query belongs to the category exceeds a predetermined threshold as a category of the predetermined search query. Output. For example, when the search query Q11 (“Roppongi pasta”) is input as input information to the learned second model M2, the generation device 50 generates the vector BQV11 that is a distributed expression of the search query Q11 (“Roppongi pasta”). Since the probability of belonging to the category CAT11 (“search for restaurants”) exceeds 90%, the category to which the search query belongs is output as output information as CAT11 (“searches for restaurants”) (step S36). In this way, the generation device 50 generates the second model that predicts the category of the predetermined search query from the predetermined search query by learning the set of the search query and the correct category of the search query (step S37). ..

一般的に、ユーザはある意図を持って検索を複数回行うと考えられるため、所定の時間内に連続して入力された検索クエリは、検索意図が近いという仮定が成り立つ。そこで、本願発明に係る生成装置50は、所定の時間内に連続して入力された複数の検索クエリは、所定の検索意図の下で検索された検索クエリであるという点で、相互に類似する特徴を有する検索クエリであるとみなして第1モデルM1を学習させる。これにより、生成装置50は、検索意図を考慮した検索クエリの特徴を第1モデルM1に学習させることができる。そして、生成装置50は、検索意図を考慮した検索クエリの特徴を学習した第1モデルM1を活用して、所定の検索クエリから所定の検索クエリのカテゴリを予測する第2モデルを効率的に生成することができる。これにより、生成装置50は、検索クエリを入力したユーザの検索意図を考慮したカテゴリに検索クエリを分類することを可能にする。また、従来、検索クエリをカテゴリに分類し、高い分類精度を得るためには、十分な量の正解データを用意することが必要であった。しかしながら、検索クエリ自体、多種多様であり、ロングテイルな性質を持つものであるため、多数の検索クエリに対応する正解カテゴリをラベル付けするのは、非常に手間がかかり困難である。ここで、生成装置50は、正解カテゴリをラベル付けする代わりに、ユーザの検索意図(検索クエリを入力したユーザのコンテクスト)を一種の正解として、検索クエリのカテゴリを予測する第2モデルを学習させることができる。これにより、生成装置50は、人手で検索クエリの正解カテゴリをラベル付けすることなく、第2モデルを学習させることができる。すなわち、生成装置50は、正解データが少ないときでも、十分な分類精度を得られるようになる。また、生成装置50は、正解データが多いときであれば、さらに高い分類精度を得られるようになる。したがって、生成装置50は、検索クエリの分類精度を高めることができる。 Generally, it is considered that a user performs a search a plurality of times with a certain intention, and therefore it is assumed that search queries continuously input within a predetermined time have similar search intentions. Therefore, the generation device 50 according to the present invention is similar to each other in that the plurality of search queries continuously input within a predetermined time period are search queries searched under a predetermined search intention. The first model M1 is trained by considering it as a search query having characteristics. Thereby, the generation device 50 can cause the first model M1 to learn the characteristics of the search query in consideration of the search intention. Then, the generation device 50 efficiently generates the second model that predicts the category of the predetermined search query from the predetermined search query by utilizing the first model M1 that has learned the characteristics of the search query in consideration of the search intention. can do. As a result, the generation device 50 enables the search query to be classified into categories in consideration of the search intention of the user who inputs the search query. Further, conventionally, it has been necessary to prepare a sufficient amount of correct answer data in order to classify search queries into categories and obtain high classification accuracy. However, since the search queries themselves are diverse and have long tail characteristics, it is very troublesome and difficult to label the correct answer categories corresponding to a large number of search queries. Here, instead of labeling the correct answer category, the generation device 50 uses the user's search intention (the context of the user who entered the search query) as a kind of correct answer to learn the second model that predicts the category of the search query. be able to. Thereby, the generation device 50 can train the second model without manually labeling the correct category of the search query. That is, the generation device 50 can obtain sufficient classification accuracy even when the correct answer data is small. In addition, the generation device 50 can obtain higher classification accuracy when there are many correct data. Therefore, the generation device 50 can improve the classification accuracy of the search query.

〔3−3.情報処理装置の構成〕
次に、図19を用いて、実施形態に係る生成装置50の構成について説明する。図19は、実施形態に係る生成装置50の構成例を示す図である。図19に示すように、生成装置50は、通信部51と、記憶部53と、制御部52とを有する。なお、生成装置50は、生成装置50の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
[3-3. Configuration of information processing device]
Next, the configuration of the generation device 50 according to the embodiment will be described with reference to FIG. FIG. 19 is a diagram illustrating a configuration example of the generation device 50 according to the embodiment. As illustrated in FIG. 19, the generation device 50 includes a communication unit 51, a storage unit 53, and a control unit 52. The generating device 50 has an input unit (for example, a keyboard or a mouse) that receives various operations from an administrator of the generating device 50, and a display unit (for example, a liquid crystal display) for displaying various information. May be.

(通信部51)
通信部51は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部51は、ネットワークと有線または無線で接続され、例えば、ユーザ端末10と、検索サーバ20との間で情報の送受信を行う。
(Communication unit 51)
The communication unit 51 is realized by, for example, a NIC (Network Interface Card) or the like. The communication unit 51 is connected to the network by wire or wirelessly, and transmits and receives information between the user terminal 10 and the search server 20, for example.

(記憶部53)
記憶部53は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部53は、図19に示すように、クエリ情報記憶部531と、ベクトル情報記憶部532と、分類定義記憶部533と、カテゴリ情報記憶部534と、モデル情報記憶部535とを有する。
(Storage unit 53)
The storage unit 53 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk. As shown in FIG. 19, the storage unit 53 includes a query information storage unit 531, a vector information storage unit 532, a classification definition storage unit 533, a category information storage unit 534, and a model information storage unit 535.

(クエリ情報記憶部531)
クエリ情報記憶部531は、ユーザによって入力された検索クエリに関する各種の情報を記憶する。図20に、実施形態に係るクエリ情報記憶部の一例を示す。図20に示す例では、クエリ情報記憶部531は、「ユーザID」、「日時」、「検索クエリ」、「検索クエリID」といった項目を有する。
(Query information storage unit 531)
The query information storage unit 531 stores various information regarding the search query input by the user. FIG. 20 shows an example of the query information storage unit according to the embodiment. In the example illustrated in FIG. 20, the query information storage unit 531 has items such as “user ID”, “date and time”, “search query”, and “search query ID”.

「ユーザID」は、検索クエリを入力したユーザを識別するための識別情報を示す。「日時」は、検索サーバがユーザから検索クエリを受け付けた日時を示す。「検索クエリ」は、ユーザによって入力された検索クエリを示す。「検索クエリID」は、ユーザによって入力された検索クエリを識別するための識別情報を示す。 The “user ID” indicates identification information for identifying the user who has input the search query. The “date and time” indicates the date and time when the search server accepted the search query from the user. "Search query" indicates a search query input by the user. The “search query ID” indicates identification information for identifying the search query input by the user.

図20の1レコード目に示す例では、検索クエリID「Q11」で識別される検索クエリ(検索クエリQ11)は、図16に示した検索クエリQ11に対応する。また、ユーザID「U1」は、検索クエリQ11を入力したユーザがユーザID「U1」で識別されるユーザ(ユーザU1)であることを示す。また、日時「2018/9/1 PM17:00」は、検索サーバがユーザU1から検索クエリQ11を受け付けた日時が2018年9月1日の午後17:00であることを示す。また、検索クエリ「六本木 パスタ」は、ユーザU1によって入力された検索クエリQ11を示す。具体的には、検索クエリ「六本木 パスタ」は、地名を示す「六本木」と食品の種類を示す「パスタ」の文字とが区切り文字であるスペースで区切られた文字列であることを示す。 In the example shown in the first record of FIG. 20, the search query (search query Q11) identified by the search query ID “Q11” corresponds to the search query Q11 shown in FIG. The user ID “U1” indicates that the user who inputs the search query Q11 is the user (user U1) identified by the user ID “U1”. Further, the date and time "2018/9/1 PM 17:00" indicates that the date and time when the search server receives the search query Q11 from the user U1 is 17:00 pm on September 1, 2018. The search query "Roppongi pasta" indicates the search query Q11 input by the user U1. Specifically, the search query “Roppongi pasta” is a character string in which “Roppongi” indicating a place name and “pasta” indicating the type of food are separated by a space, which is a delimiter.

(ベクトル情報記憶部532)
ベクトル情報記憶部532は、検索クエリの分散表現であるベクトルに関する各種の情報を記憶する。図21に、実施形態に係るベクトル情報記憶部の一例を示す。図21に示す例では、ベクトル情報記憶部532は、「ベクトルID」、「検索クエリID」、「ベクトル情報」といった項目を有する。
(Vector information storage unit 532)
The vector information storage unit 532 stores various kinds of information regarding vectors, which are distributed expressions of search queries. FIG. 21 shows an example of the vector information storage unit according to the embodiment. In the example illustrated in FIG. 21, the vector information storage unit 532 has items such as “vector ID”, “search query ID”, and “vector information”.

「ベクトルID」は、検索クエリの分散表現であるベクトルを識別するための識別情報を示す。「検索クエリID」は、ベクトルに対応する検索クエリを識別するための識別情報を示す。「ベクトル情報」は、検索クエリの分散表現であるN次元のベクトルを示す。検索クエリの分散表現であるベクトルは、例えば、128次元のベクトルである。 "Vector ID" indicates identification information for identifying a vector that is a distributed expression of a search query. The “search query ID” indicates identification information for identifying the search query corresponding to the vector. “Vector information” indicates an N-dimensional vector that is a distributed expression of a search query. The vector that is the distributed expression of the search query is, for example, a 128-dimensional vector.

図21の1レコード目に示す例では、ベクトルID「QV11」で識別されるベクトル(ベクトルQV11)は、図16に示した検索クエリQ11の分散表現であるベクトルQV11に対応する。また、検索クエリID「Q11」で識別される検索クエリ(検索クエリQ11)は、ベクトルQV11に対応する検索クエリが検索クエリQ11であることを示す。また、ベクトル情報「QVDT11」は、検索クエリQ11の分散表現であるN次元のベクトルを示す。 In the example shown in the first record of FIG. 21, the vector identified by the vector ID “QV11” (vector QV11) corresponds to the vector QV11 that is the distributed expression of the search query Q11 shown in FIG. The search query (search query Q11) identified by the search query ID “Q11” indicates that the search query corresponding to the vector QV11 is the search query Q11. The vector information “QVDT11” indicates an N-dimensional vector that is a distributed expression of the search query Q11.

(分類定義記憶部533)
分類定義記憶部533は、検索クエリが分類されるカテゴリの定義に関する各種の情報を記憶する。図22に、実施形態に係る分類定義記憶部の一例を示す。図22に示す例では、分類定義記憶部533は、「大分類ID」、「大分類」、「小分類ID」、「小分類」といった項目を有する。
(Classification definition storage unit 533)
The classification definition storage unit 533 stores various kinds of information regarding the definition of the category into which the search query is classified. FIG. 22 shows an example of the classification definition storage unit according to the embodiment. In the example shown in FIG. 22, the classification definition storage unit 533 has items such as “large classification ID”, “large classification”, “small classification ID”, and “small classification”.

「大分類」は、検索クエリが分類されるカテゴリの大分類を示す。「大分類ID」は、大分類を識別するための識別情報を示す。図22に示す例では、大分類「購買行動系」は、図1の下段に示す例で説明した大分類に対応する。大分類「購買行動系」は、検索クエリをユーザの購買行動に基づいて分類するカテゴリの大分類を示す。図22に示す例では、大分類「購買行動系」は、さらに4つの小分類を有する。大分類ID「CAT1」は、大分類「購買行動系」を識別するための識別情報を示す。 The “major classification” indicates the major classification of the categories into which the search query is classified. The “major classification ID” indicates identification information for identifying the major classification. In the example illustrated in FIG. 22, the large classification “purchasing behavior type” corresponds to the large classification described in the example illustrated in the lower part of FIG. 1. The large classification "purchasing behavior system" indicates a large classification of categories into which the search query is classified based on the purchasing behavior of the user. In the example shown in FIG. 22, the large classification “purchasing behavior type” further has four small classifications. The large classification ID “CAT1” indicates identification information for identifying the large classification “purchasing behavior type”.

「小分類」、検索クエリが分類されるカテゴリの小分類を示す。「小分類ID」は、小分類を識別するための識別情報を示す。図22に示す例では、小分類「飲食店を探す」は、大分類「購買行動系」に属する分類であって、小分類に分類される検索クエリが、ユーザによって飲食店を探す意図で入力された検索クエリであることを示す。小分類ID「CAT11」は、小分類「飲食店を探す」を識別するための識別情報を示す。 “Minor classification” indicates a minor classification of the category into which the search query is classified. The “small category ID” indicates identification information for identifying the small category. In the example shown in FIG. 22, the small category “search for restaurants” is a category belonging to the large category “purchasing behavior system”, and the search query classified into the small categories is input by the user with the intention of searching for restaurants. Indicates that the search query was performed. The small classification ID “CAT11” indicates identification information for identifying the small classification “search for a restaurant”.

小分類「商品を探す」は、大分類「購買行動系」に属する分類であって、小分類に分類される検索クエリが、ユーザによって商品を探す意図で入力された検索クエリであることを示す。小分類ID「CAT12」は、小分類「商品を探す」を識別するための識別情報を示す。 The small category “search for products” is a category belonging to the large category “purchasing behavior type”, and indicates that the search queries classified into the small categories are search queries input by the user with the intention of searching for products. .. The small classification ID “CAT12” indicates identification information for identifying the small classification “search for products”.

小分類「飲食店を予約」は、大分類「購買行動系」に属する分類であって、小分類に分類される検索クエリが、ユーザによって飲食店を予約する意図で入力された検索クエリであることを示す。小分類ID「CAT13」は、小分類「飲食店を予約」を識別するための識別情報を示す。 The small category “reserve a restaurant” is a category belonging to the large category “purchasing behavior type”, and the search query classified into the small category is a search query input by the user with the intention of reserving a restaurant. Indicates that. The small classification ID “CAT13” indicates identification information for identifying the small classification “reserve a restaurant”.

小分類「商品を購入」は、大分類「購買行動系」に属する分類であって、小分類に分類される検索クエリが、ユーザによって商品を購入する意図で入力された検索クエリであることを示す。小分類ID「CAT14」は、小分類「商品を購入」を識別するための識別情報を示す。 The small category “Purchase goods” is a category belonging to the large category “Purchasing behavior type”, and the search queries classified into the small categories are search queries input by the user with the intention of purchasing the product. Show. The small classification ID “CAT14” indicates identification information for identifying the small classification “purchase a product”.

(カテゴリ情報記憶部534)
カテゴリ情報記憶部534は、検索クエリが属するカテゴリに関する各種の情報を記憶する。具体的には、カテゴリ情報記憶部534は、学習済みの第2学習モデルに検索クエリが入力された際に、第2学習モデルが出力するカテゴリに関する各種の情報を記憶する。図23に、実施形態に係るカテゴリ情報記憶部の一例を示す。図23に示す例では、カテゴリ情報記憶部534は、「検索クエリID」、「大分類ID」、「小分類ID」、「確率(%)」といった項目を有する。
(Category information storage unit 534)
The category information storage unit 534 stores various kinds of information regarding the category to which the search query belongs. Specifically, the category information storage unit 534 stores various kinds of information regarding the category output by the second learning model when the search query is input to the learned second learning model. FIG. 23 shows an example of the category information storage unit according to the embodiment. In the example illustrated in FIG. 23, the category information storage unit 534 has items such as “search query ID”, “large classification ID”, “small classification ID”, and “probability (%)”.

「検索クエリID」は、ユーザによって入力された検索クエリを識別するための識別情報を示す。図23に示す例では、検索クエリID「Q11」で識別される検索クエリ(検索クエリQ11)は、図18に示した検索クエリQ11に対応する。 The “search query ID” indicates identification information for identifying the search query input by the user. In the example shown in FIG. 23, the search query (search query Q11) identified by the search query ID “Q11” corresponds to the search query Q11 shown in FIG.

「大分類ID」は、大分類を識別するための識別情報を示す。「小分類ID」は、小分類を識別するための識別情報を示す。「確率(%)」は、学習済みの第2学習モデルに検索クエリが入力された際に、第2学習モデルが出力する小分類毎の確率を示す。図23に示す例では、確率(%)「90」は、検索クエリQ11がカテゴリCAT11に分類される確率が90%であることを示す。 The “major classification ID” indicates identification information for identifying the major classification. The “small category ID” indicates identification information for identifying the small category. The “probability (%)” indicates the probability for each subclass output by the second learning model when the search query is input to the learned second learning model. In the example shown in FIG. 23, the probability (%) “90” indicates that the probability that the search query Q11 is classified into the category CAT11 is 90%.

(モデル情報記憶部535)
モデル情報記憶部535は、生成装置50によって生成された学習モデルに関する各種の情報を記憶する。図24に、実施形態に係るモデル情報記憶部の一例を示す。図24に示す例では、モデル情報記憶部535は、「モデルID」、「モデルデータ」といった項目を有する。
(Model information storage unit 535)
The model information storage unit 535 stores various information regarding the learning model generated by the generation device 50. FIG. 24 shows an example of the model information storage unit according to the embodiment. In the example shown in FIG. 24, the model information storage unit 535 has items such as “model ID” and “model data”.

「モデルID」は、生成装置50によって生成された学習モデルを識別するための識別情報を示す。「モデルデータ」は、生成装置50によって生成された学習モデルのモデルデータを示す。例えば、「モデルデータ」には、検索クエリを分散表現に変換するためのデータが格納される。 The “model ID” indicates identification information for identifying the learning model generated by the generation device 50. The “model data” indicates model data of the learning model generated by the generation device 50. For example, “model data” stores data for converting a search query into a distributed expression.

図24の1レコード目に示す例では、モデルID「M1」で識別される学習モデルは、図1に示した第1モデルM1に対応する。また、モデルデータ「MDT1」は、生成装置50によって生成された第1モデルM1のモデルデータ(モデルデータMDT1)を示す。 In the example shown in the first record of FIG. 24, the learning model identified by the model ID “M1” corresponds to the first model M1 shown in FIG. The model data “MDT1” indicates the model data (model data MDT1) of the first model M1 generated by the generation device 50.

モデルデータMDT1は、検索クエリが入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された検索クエリに応じて、入力層に入力された検索クエリの分散表現を出力層から出力するよう、生成装置50を機能させてもよい。 The model data MDT1 includes an input layer to which a search query is input, an output layer, a first element belonging to any layer from the input layer to the output layer and other than the output layer, the first element, and the first element. A second element whose value is calculated based on the weight of one element, and a distributed expression of the search query input to the input layer is output from the output layer according to the search query input to the input layer. Thus, the generation device 50 may be operated.

ここで、モデルデータMDT1が「y=a1*x1+a2*x2+・・・+ai*xi」で示す回帰モデルで実現されるとする。この場合、モデルデータMDT1が含む第1要素は、x1やx2等といった入力データ(xi)に対応する。また、第1要素の重みは、xiに対応する係数aiに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第1要素は、入力層が有するいずれかのノードに対応し、第2要素は、出力層が有するノードと見做すことができる。 Here, it is assumed that the model data MDT1 is realized by the regression model represented by “y=a1*x1+a2*x2+...+ai*xi”. In this case, the first element included in the model data MDT1 corresponds to the input data (xi) such as x1 and x2. The weight of the first element corresponds to the coefficient ai corresponding to xi. Here, the regression model can be regarded as a simple perceptron having an input layer and an output layer. When each model is regarded as a simple perceptron, the first element can be regarded as a node included in the input layer, and the second element can be regarded as a node included in the output layer.

また、モデルデータMDT1がDNN(Deep Neural Network)等、1つまたは複数の中間層を有するニューラルネットワークで実現されるとする。この場合、モデルデータMDT1が含む第1要素は、入力層または中間層が有するいずれかのノードに対応する。また、第2要素は、第1要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第1要素の重みは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。 Further, it is assumed that the model data MDT1 is realized by a neural network having one or a plurality of intermediate layers such as DNN (Deep Neural Network). In this case, the first element included in the model data MDT1 corresponds to any node included in the input layer or the intermediate layer. The second element corresponds to the node at the next stage, which is the node to which the value is transmitted from the node corresponding to the first element. The weight of the first element corresponds to the connection coefficient, which is a weight considered for the value transmitted from the node corresponding to the first element to the node corresponding to the second element.

生成装置50は、上述した回帰モデルやニューラルネットワーク等、任意の構造を有するモデルを用いて、分散表現の算出を行う。具体的には、モデルデータMDT1は、検索クエリが入力された場合に、分散表現を出力するように係数が設定される。生成装置50は、このようなモデルデータMDT1を用いて、分散表現を算出する。 The generation device 50 calculates the distributed expression using a model having an arbitrary structure such as the above-described regression model or neural network. Specifically, the model data MDT1 is set with a coefficient so as to output a distributed expression when a search query is input. The generation device 50 calculates a distributed expression using such model data MDT1.

なお、上記例では、モデルデータMDT1が、検索クエリが入力された場合に、検索クエリの分散表現を出力するモデル(以下、モデルX1という。)である例を示した。しかし、実施形態に係るモデルデータMDT1は、モデルX1にデータの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。例えば、モデルデータMDT1は、検索クエリを入力とした際に、モデルX1が出力した分散表現を入力して学習されたモデル(以下、モデルY1という。)であってもよい。または、モデルデータMDT1は、検索クエリを入力とし、モデルY1の出力値を出力とするよう学習されたモデルであってもよい。 In the above example, the model data MDT1 is the model (hereinafter referred to as model X1) that outputs the distributed expression of the search query when the search query is input. However, the model data MDT1 according to the embodiment may be a model generated based on a result obtained by repeating input/output of data to/from the model X1. For example, the model data MDT1 may be a model (hereinafter, referred to as model Y1) learned by inputting the distributed expression output by the model X1 when the search query is input. Alternatively, the model data MDT1 may be a model learned so that the search query is input and the output value of the model Y1 is output.

また、生成装置50がGAN(Generative Adversarial Networks)を用いた推定処理を行う場合、モデルデータMDT1は、GANの一部を構成するモデルであってもよい。 When the generation device 50 performs the estimation process using GAN (Generative Adversarial Networks), the model data MDT1 may be a model forming a part of GAN.

図24の2レコード目に示す例では、モデルID「M2」で識別される学習モデルは、図1に示した第2モデルM2に対応する。また、モデルデータ「MDT2」は、生成装置50によって生成された第2モデルM2のモデルデータ(モデルデータMDT2)を示す。 In the example shown in the second record of FIG. 24, the learning model identified by the model ID “M2” corresponds to the second model M2 shown in FIG. The model data “MDT2” indicates the model data (model data MDT2) of the second model M2 generated by the generation device 50.

モデルデータMDT2は、検索クエリが入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された検索クエリに応じて、入力層に入力された検索クエリが各カテゴリに属する確率を出力層から出力するよう、生成装置50を機能させてもよい。 The model data MDT2 includes an input layer to which a search query is input, an output layer, a first element belonging to any layer from the input layer to the output layer and other than the output layer, the first element, and the first element. A second element whose value is calculated based on the weight of one element, and a probability that the search query input to the input layer belongs to each category according to the search query input to the input layer The generator 50 may be operated to output from.

ここで、モデルデータMDT2が「y=a1*x1+a2*x2+・・・+ai*xi」で示す回帰モデルで実現されるとする。この場合、モデルデータMDT2が含む第1要素は、x1やx2等といった入力データ(xi)に対応する。また、第1要素の重みは、xiに対応する係数aiに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第1要素は、入力層が有するいずれかのノードに対応し、第2要素は、出力層が有するノードと見做すことができる。 Here, it is assumed that the model data MDT2 is realized by the regression model represented by “y=a1*x1+a2*x2+...+ai*xi”. In this case, the first element included in the model data MDT2 corresponds to the input data (xi) such as x1 and x2. The weight of the first element corresponds to the coefficient ai corresponding to xi. Here, the regression model can be regarded as a simple perceptron having an input layer and an output layer. When each model is regarded as a simple perceptron, the first element can be regarded as a node included in the input layer, and the second element can be regarded as a node included in the output layer.

また、モデルデータMDT2がDNN(Deep Neural Network)等、1つまたは複数の中間層を有するニューラルネットワークで実現されるとする。この場合、モデルデータMDT2が含む第1要素は、入力層または中間層が有するいずれかのノードに対応する。また、第2要素は、第1要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第1要素の重みは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。 It is also assumed that the model data MDT2 is realized by a neural network having one or a plurality of intermediate layers such as DNN (Deep Neural Network). In this case, the first element included in the model data MDT2 corresponds to any node included in the input layer or the intermediate layer. The second element corresponds to the node at the next stage, which is the node to which the value is transmitted from the node corresponding to the first element. The weight of the first element corresponds to the connection coefficient, which is a weight considered for the value transmitted from the node corresponding to the first element to the node corresponding to the second element.

生成装置50は、上述した回帰モデルやニューラルネットワーク等、任意の構造を有するモデルを用いて、検索クエリが各カテゴリに属する確率の算出を行う。具体的には、モデルデータMDT2は、検索クエリが入力された場合に、検索クエリが各カテゴリに属する確率を出力するように係数が設定される。生成装置50は、このようなモデルデータMDT2を用いて、検索クエリが各カテゴリに属する確率を算出する。 The generation device 50 calculates the probability that the search query belongs to each category using a model having an arbitrary structure such as the regression model and the neural network described above. Specifically, the model data MDT2 is set with a coefficient so as to output the probability that the search query belongs to each category when the search query is input. The generation device 50 uses such model data MDT2 to calculate the probability that the search query belongs to each category.

なお、上記例では、モデルデータMDT2が、検索クエリが入力された場合に、検索クエリの分散表現を出力するモデル(以下、モデルX2という。)である例を示した。しかし、実施形態に係るモデルデータMDT2は、モデルX2にデータの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。例えば、モデルデータMDT2は、検索クエリを入力とした際に、モデルX2が出力した分散表現を入力して学習されたモデル(以下、モデルY2という。)であってもよい。または、モデルデータMDT2は、検索クエリを入力とし、モデルY2の出力値を出力とするよう学習されたモデルであってもよい。 In the above example, the model data MDT2 is the model (hereinafter, referred to as model X2) that outputs the distributed expression of the search query when the search query is input. However, the model data MDT2 according to the embodiment may be a model generated based on a result obtained by repeating input/output of data to/from the model X2. For example, the model data MDT2 may be a model (hereinafter, referred to as model Y2) learned by inputting the distributed expression output by the model X2 when the search query is input. Alternatively, the model data MDT2 may be a model learned so that the search query is input and the output value of the model Y2 is output.

また、生成装置50がGAN(Generative Adversarial Networks)を用いた推定処理を行う場合、モデルデータMDT2は、GANの一部を構成するモデルであってもよい。 Further, when the generation device 50 performs the estimation process using GAN (Generative Adversarial Networks), the model data MDT2 may be a model forming a part of GAN.

(制御部52)
図19の説明に戻って、制御部52は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、生成装置50内部の記憶装置に記憶されている各種プログラム(生成プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部52は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
(Control unit 52)
Returning to the description of FIG. 19, the control unit 52 is a controller, and is stored in a storage device inside the generation device 50 by, for example, a CPU (Central Processing Unit) or an MPU (Micro Processing Unit). It is realized by executing various programs (corresponding to an example of the generation program) using the RAM as a work area. The control unit 52 is a controller, and is realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

また、制御部52は、モデル情報記憶部535に記憶されている第1モデルM1(モデルデータMDT1)に従った情報処理により、入力層に入力された検索クエリに対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、分散表現を出力層から出力するよう、コンピュータを機能させる。 In addition, the control unit 52 performs information processing according to the first model M1 (model data MDT1) stored in the model information storage unit 535, in response to the search query input in the input layer, in each layer other than the output layer. The computer is made to function so that the distributed representation is output from the output layer by performing the calculation based on the first element and the weight of the first element with each element that belongs to the first element.

また、制御部52は、モデル情報記憶部535に記憶されている第2モデルM2(モデルデータMDT2)に従った情報処理により、入力層に入力された検索クエリに対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、検索クエリが各カテゴリに属する確率を出力層から出力するよう、コンピュータを機能させる。 In addition, the control unit 52 performs information processing in accordance with the second model M2 (model data MDT2) stored in the model information storage unit 535 on each layer other than the output layer with respect to the search query input to the input layer. The computer is operated so that the probability that the search query belongs to each category is output from the output layer by performing an operation based on the first element and the weight of the first element with each element that belongs to the first element.

図19に示すように、制御部52は、取得部521と、抽出部522と、生成部523を有し、以下に説明する情報処理の作用を実現または実行する。なお、制御部52の内部構成は、図19に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。 As illustrated in FIG. 19, the control unit 52 includes an acquisition unit 521, an extraction unit 522, and a generation unit 523, and realizes or executes the operation of information processing described below. Note that the internal configuration of the control unit 52 is not limited to the configuration shown in FIG. 19, and may be another configuration as long as it is a configuration for performing information processing described later.

(取得部521)
取得部521は、種々の情報を取得する。具体的には、取得部521は、ユーザによって入力された検索クエリを検索サーバ20から取得する。取得部521は、ユーザによって入力された検索クエリを取得すると、取得した検索クエリをクエリ情報記憶部531に格納する。また、取得部521は、検索クエリの分散表現であるベクトルに関するベクトル情報を取得する。取得部521は、ベクトル情報を取得すると、取得したベクトル情報をベクトル情報記憶部532に格納する。また、取得部521は、検索クエリと検索クエリが属するカテゴリの分類を定義する情報を取得する。取得部521は、検索クエリと検索クエリが属するカテゴリの分類を定義する分類定義情報を取得すると、取得した分類定義情報を分類定義記憶部533に格納する。また、取得部521は、検索クエリが属するカテゴリに関するカテゴリ情報を取得する。取得部521は、カテゴリ情報を取得すると、取得したカテゴリ情報をカテゴリ情報記憶部534に格納する。
(Acquisition unit 521)
The acquisition unit 521 acquires various information. Specifically, the acquisition unit 521 acquires the search query input by the user from the search server 20. When acquiring the search query input by the user, the acquisition unit 521 stores the acquired search query in the query information storage unit 531. The acquisition unit 521 also acquires vector information about a vector that is a distributed expression of the search query. When acquiring the vector information, the acquisition unit 521 stores the acquired vector information in the vector information storage unit 532. In addition, the acquisition unit 521 acquires information defining the classification of the search query and the category to which the search query belongs. When acquiring the search query and the classification definition information that defines the classification of the category to which the search query belongs, the acquisition unit 521 stores the acquired classification definition information in the classification definition storage unit 533. The acquisition unit 521 also acquires category information regarding the category to which the search query belongs. When acquiring the category information, the acquisition unit 521 stores the acquired category information in the category information storage unit 534.

(抽出部522)
抽出部522は、種々の情報を抽出する。具体的には、抽出部522は、取得部521によって取得された検索クエリのうち、同一のユーザによって所定の時間内に入力された複数の検索クエリを抽出する。例えば、抽出部522は、同一のユーザによって各検索クエリが入力された時間の間隔が所定の時間内である複数の検索クエリを抽出する。続いて、抽出部522は、同一のユーザによって所定の時間内に入力された複数の検索クエリのうち、同一のユーザによって所定の時間内に連続して入力された一対の検索クエリを抽出する。例えば、抽出部522は、同一のユーザによって各検索クエリのペアが入力された時間の間隔が所定の時間内である複数の検索クエリを抽出する。例えば、抽出部522は、取得部521によって取得された検索クエリのうち、同一のユーザU1によって所定の時間内に連続して入力された4個の検索クエリである検索クエリQ11(「六本木 パスタ」)、検索クエリQ12(「六本木 イタリアン」)、検索クエリQ13(「赤坂 パスタ」)、検索クエリQ14(「麻布 パスタ」)を抽出する。抽出部522は、検索クエリが入力された順番に並べると、検索クエリQ11、検索クエリQ12、検索クエリQ13、検索クエリQ14の順番で入力された4個の検索クエリを抽出する。続いて、抽出部522は、4個の検索クエリを抽出すると、時系列的に隣り合う2つの検索クエリを一対の検索クエリとして、3対の検索クエリのペアである(検索クエリQ11、検索クエリQ12)、(検索クエリQ12、検索クエリQ13)、(検索クエリQ13、検索クエリQ14)を抽出する。なお、抽出部522は、同一のユーザによって全ての検索クエリが所定の時間内に入力された複数の検索クエリを抽出してもよい。そして、抽出部522は、時系列的に隣り合うか否かに関わらず、抽出した複数の検索クエリの中から2つの検索クエリを選択して、選択した2つの検索クエリを一対の検索クエリとして抽出してもよい。
(Extractor 522)
The extraction unit 522 extracts various information. Specifically, the extraction unit 522 extracts a plurality of search queries input by the same user within a predetermined time, from the search queries acquired by the acquisition unit 521. For example, the extraction unit 522 extracts a plurality of search queries in which the time intervals at which the search queries are input by the same user are within a predetermined time. Subsequently, the extraction unit 522 extracts a pair of search queries continuously input by the same user within a predetermined time from a plurality of search queries input by the same user within a predetermined time. For example, the extraction unit 522 extracts a plurality of search queries in which the time interval at which each search query pair is input by the same user is within a predetermined time. For example, the extraction unit 522, among the search queries acquired by the acquisition unit 521, is a search query Q11 (“Roppongi pasta”) that is four search queries continuously input by the same user U1 within a predetermined time. ), search query Q12 (“Roppongi Italian”), search query Q13 (“Akasaka pasta”), and search query Q14 (“Azabu pasta”). When the extraction unit 522 arranges the search queries in the input order, the extraction unit 522 extracts the four search queries input in the order of the search query Q11, the search query Q12, the search query Q13, and the search query Q14. Subsequently, when the four search queries are extracted, the extraction unit 522 defines two search queries that are adjacent in time series as a pair of search queries, and is a pair of three search queries (search query Q11, search query). Q12), (search query Q12, search query Q13), and (search query Q13, search query Q14) are extracted. The extraction unit 522 may extract a plurality of search queries in which all the search queries have been input by the same user within a predetermined time. Then, the extraction unit 522 selects two search queries from the plurality of extracted search queries, regardless of whether they are adjacent in time series, and sets the selected two search queries as a pair of search queries. You may extract.

また、抽出部522は、取得部521によって取得された検索クエリのうち、所定の検索クエリと所定の検索クエリに無関係な他の検索クエリとを抽出する。例えば、抽出部522は、取得部521によって取得された検索クエリの中から、所定の検索クエリを抽出する。続いて、抽出部522は、取得部521によって取得された検索クエリの中から、所定の検索クエリとは無関係にランダムに他の検索クエリを抽出する。 Further, the extraction unit 522 extracts a predetermined search query and other search queries unrelated to the predetermined search query from the search queries acquired by the acquisition unit 521. For example, the extraction unit 522 extracts a predetermined search query from the search queries acquired by the acquisition unit 521. Subsequently, the extraction unit 522 randomly extracts another search query from the search queries acquired by the acquisition unit 521, regardless of the predetermined search query.

(生成部523)
生成部523は、種々の情報を生成する。具体的には、生成部523は、取得部521によって取得された検索クエリのうち、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する学習モデルを生成する。具体的には、生成部523は、同一のユーザによって所定の時間内に入力された複数の検索クエリの分散表現が類似するように学習モデルを学習させることで、所定の検索クエリから所定の検索クエリの特徴情報を予測する学習モデルを生成する。例えば、生成部523は、所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習することで、学習モデルを生成する。例えば、生成部523は、一対の検索クエリの学習前の分散表現(ベクトル)の類似度の値を算出する。また、生成部523は、一対の検索クエリの学習後の分散表現(ベクトル)の類似度の値を算出する。続いて、生成部523は、学習前の分散表現(ベクトル)の類似度の値よりも、学習後の分散表現(ベクトル)の類似度の値が大きくなるように学習モデルを学習させる。このように、生成部523は、一対の検索クエリに対応する一対の分散表現である2つのベクトルが分散表現空間上で類似するように学習モデルを学習させることで、検索クエリから分散表現(ベクトル)を出力する学習モデルを生成する。より具体的には、生成部523は、RNNの一種であるLSTMを分散表現生成に用いたDSSMの技術を用いて、検索クエリから分散表現(ベクトル)を出力する学習モデルを生成する。例えば、生成部523は、学習モデルの正解データとして、同一のユーザによって所定の時間内に入力された一対の検索クエリが類似する特徴を有するものとして、所定の検索クエリの分散表現(ベクトル)と、所定の検索クエリと対となる他の検索クエリの分散表現(ベクトル)とが、分散表現空間上で近くに存在するように学習する。また、生成部523は、第1学習モデルを生成すると、第1学習モデルを識別する識別情報と対応付けて、生成した第1学習モデル(モデルデータMDT1)をモデル情報記憶部535に格納する。
(Generator 523)
The generation unit 523 generates various information. Specifically, the generation unit 523 learns, among the search queries acquired by the acquisition unit 521, that a plurality of search queries input by the same user within a predetermined time have similar characteristics. , A learning model for predicting the characteristic information of the predetermined search query from the predetermined search query is generated. Specifically, the generation unit 523 learns the learning model so that the distributed expressions of the plurality of search queries input by the same user within a predetermined time are similar to each other, thereby performing a predetermined search from the predetermined search query. A learning model for predicting query feature information is generated. For example, the generation unit 523 generates a learning model by learning so that the distributed expressions of a pair of search queries continuously input within a predetermined time period are similar to each other. For example, the generation unit 523 calculates the similarity value of the distributed representation (vector) before learning of the pair of search queries. In addition, the generation unit 523 calculates the value of the similarity of the distributed expressions (vectors) after learning of the pair of search queries. Subsequently, the generation unit 523 trains the learning model such that the similarity value of the distributed expression (vector) after learning is larger than the similarity value of the distributed expression (vector) before learning. In this way, the generating unit 523 learns the learning model so that the two vectors, which are a pair of distributed expressions corresponding to the pair of search queries, are similar in the distributed expression space, and thus the distributed expression (vector ) Is output to generate a learning model. More specifically, the generation unit 523 generates a learning model that outputs a distributed expression (vector) from a search query using the DSSM technique that uses LSTM, which is a type of RNN, for distributed expression generation. For example, the generation unit 523 determines that, as the correct data of the learning model, a pair of search queries input by the same user within a predetermined time have similar characteristics, and a distributed expression (vector) of the predetermined search query is used. , A predetermined search query and a distributed expression (vector) of another search query paired with each other are learned so as to exist close to each other in the distributed expression space. Further, when the generation unit 523 generates the first learning model, the generation unit 523 stores the generated first learning model (model data MDT1) in the model information storage unit 535 in association with the identification information for identifying the first learning model.

〔3−4.第1学習モデルの一例〕
ここで、図25を用いて生成装置50が生成する第1学習モデルの一例について説明する。図25は、実施形態に係る第1学習モデルの一例を示す図である。図25に示す例では、生成装置50が生成する第1学習モデルM1は、3層のLSTM RNNで構成されている。図25に示す例では、抽出部522は、同一のユーザU1によって所定の時間内に連続して入力された「六本木 パスタ」という検索クエリQ11と「六本木 イタリアン」という検索クエリQ12とから成る一対の検索クエリを抽出する。生成部523は、抽出部522によって抽出されたた検索クエリQ11を第1学習モデルM1の入力層に入力する(ステップS41)。
[3-4. Example of first learning model]
Here, an example of the first learning model generated by the generation device 50 will be described with reference to FIG. 25. FIG. 25 is a diagram illustrating an example of the first learning model according to the embodiment. In the example shown in FIG. 25, the first learning model M1 generated by the generation device 50 is composed of three layers of LSTM RNNs. In the example illustrated in FIG. 25, the extraction unit 522 includes a pair of search queries Q11 “Roppongi pasta” and a search query Q12 “Roppongi Italian” that are continuously input by the same user U1 within a predetermined time. Extract the search query. The generation unit 523 inputs the search query Q11 extracted by the extraction unit 522 into the input layer of the first learning model M1 (step S41).

続いて、生成部523は、第1学習モデルM1の出力層から検索クエリQ11の分散表現である256次元のベクトルBQV11を出力する。また、生成部523は、抽出部522によって抽出された検索クエリQ12を第1学習モデルM1の入力層に入力する。続いて、生成部523は、第1学習モデルM1の出力層から検索クエリQ12の分散表現である256次元のベクトルBQV12を出力する(ステップS42)。 Then, the generation unit 523 outputs a 256-dimensional vector BQV11, which is a distributed expression of the search query Q11, from the output layer of the first learning model M1. Further, the generation unit 523 inputs the search query Q12 extracted by the extraction unit 522 into the input layer of the first learning model M1. Subsequently, the generation unit 523 outputs the 256-dimensional vector BQV12, which is the distributed expression of the search query Q12, from the output layer of the first learning model M1 (step S42).

続いて、生成部523は、連続して入力された2つの検索クエリの分散表現(ベクトル)が類似するように学習することで、検索クエリから分散表現(ベクトル)を出力する第1学習モデルM1を生成する(ステップS43)。例えば、第1学習モデルM1にフィードバックをかける前(学習前)の検索クエリQ11の分散表現であるベクトルBQV11と検索クエリQ12の分散表現であるベクトルBQV12とのなす角度の大きさをΘとする。また、第1学習モデルM1にフィードバックをかけた後(学習後)の検索クエリQ11の分散表現であるベクトルQV11と検索クエリQ12の分散表現であるベクトルQV12とのなす角度の大きさをΦとする。この時、生成部523は、ΘよりもΦが小さくなるように、第1学習モデルM1を学習させる。例えば、生成部523は、ベクトルBQV11とベクトルBQV12のコサイン類似度の値を算出する。また、生成部523は、ベクトルQV11とベクトルQV12のコサイン類似度の値を算出する。続いて、生成部523は、ベクトルBQV11とベクトルBQV12のコサイン類似度の値よりも、ベクトルQV11とベクトルQV12のコサイン類似度の値が大きくなるように(値が1に近づくように)学習モデルM1を学習させる。このように、生成部523は、一対の検索クエリに対応する一対の分散表現である2つのベクトルが分散表現空間上で類似するように第1学習モデルM1を学習させることで、検索クエリから分散表現(ベクトル)を出力する第1学習モデルM1を生成する。なお、生成部523は、コサイン類似度に限らず、ベクトル間の距離尺度として適用可能な指標であれば、どのような指標に基づいて分散表現(ベクトル)の間の類似度を算出してもよい。また、生成部523は、ベクトル間の距離尺度として適用可能な指標であれば、どのような指標に基づいて学習モデルM1を学習させてもよい。例えば、生成部523は、分散表現(ベクトル)同士のユークリッド距離や双曲空間等の非ユークリッド空間中での距離、マンハッタン距離、マハラノビス距離等といった所定の距離関数の値を算出する。続いて、生成部523は、分散表現(ベクトル)同士の所定の距離関数の値(すなわち、分散表現空間における距離)が小さくなるように学習モデルM1を学習させてもよい。 Subsequently, the generation unit 523 learns so that the distributed expressions (vectors) of the two consecutively input search queries are similar to each other, and thus the first learning model M1 that outputs the distributed expressions (vectors) from the search query. Is generated (step S43). For example, the magnitude of the angle between the vector BQV11, which is the distributed expression of the search query Q11 before feedback (before learning) to the first learning model M1, and the vector BQV12, which is the distributed expression of the search query Q12, is Θ. In addition, the size of the angle formed by the vector QV11, which is the distributed expression of the search query Q11 after feedback is applied to the first learning model M1 (after learning), and the vector QV12, which is the distributed expression of the search query Q12, is Φ. .. At this time, the generation unit 523 trains the first learning model M1 so that Φ becomes smaller than Θ. For example, the generation unit 523 calculates the value of the cosine similarity between the vector BQV11 and the vector BQV12. Further, the generation unit 523 calculates the value of the cosine similarity between the vector QV11 and the vector QV12. Then, the generation unit 523 sets the learning model M1 so that the value of the cosine similarity between the vectors QV11 and QV12 is larger than the value of the cosine similarity between the vectors BQV11 and BQV12 (so that the value approaches 1). To learn. In this way, the generation unit 523 learns the first learning model M1 so that the two vectors, which are a pair of distributed expressions corresponding to the pair of search queries, are similar in the distributed expression space, and thus the search query is distributed. A first learning model M1 that outputs an expression (vector) is generated. The generation unit 523 is not limited to the cosine similarity, and may calculate the similarity between the distributed expressions (vectors) based on any index as long as it is an index applicable as a distance measure between vectors. Good. Further, the generation unit 523 may train the learning model M1 based on any index as long as it is an index applicable as a distance measure between vectors. For example, the generation unit 523 calculates a value of a predetermined distance function such as a Euclidean distance between distributed expressions (vectors), a distance in a non-Euclidean space such as a hyperbolic space, a Manhattan distance, a Mahalanobis distance, or the like. Subsequently, the generation unit 523 may train the learning model M1 so that the value of the predetermined distance function between the distributed expressions (vectors) (that is, the distance in the distributed expression space) becomes small.

また、生成部523は、同一のユーザによって所定の時間内に入力された複数の検索クエリとして、所定の区切り文字で区切られた文字列を含む複数の検索クエリが類似する特徴を有するものとして学習することで、第1学習モデルを生成する。例えば、生成部523は、地名を示す「六本木」と食品の種類を示す「パスタ」の文字とが区切り文字であるスペースで区切られた検索クエリ「六本木 パスタ」と、地名を示す「六本木」と料理の種類を示す「イタリアン」の文字とが区切り文字であるスペースで区切られた検索クエリ「六本木 イタリアン」とが類似する特徴を有するものとして学習することで、第1学習モデルを生成する。 Further, the generation unit 523 learns that a plurality of search queries including a character string delimited by a predetermined delimiter have similar characteristics as the plurality of search queries input by the same user within a predetermined time. By doing so, the first learning model is generated. For example, the generation unit 523 uses a search query “Roppongi pasta” in which “Roppongi” indicating a place name and “pasta” indicating the type of food are separated by a space that is a delimiter, and “Roppongi” indicating a place name. The first learning model is generated by learning that the search query “Roppongi Italian”, which is separated by a space that is a delimiter between the characters “Italian” indicating the type of food, has similar characteristics.

また、生成部523は、取得部521によって取得された検索クエリのうち、ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、第1学習モデルを生成する。具体的には、生成部523は、取得部521によって取得された検索クエリのうち、ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、第1学習モデルを生成する。例えば、生成部523は、抽出部522によって抽出された所定の検索クエリの分散表現と、所定の検索クエリとは無関係にランダムに抽出された検索クエリの分散表現とが分散表現空間上で遠くにマッピングされるように第1学習モデルM1のトレーニングを行う。 In addition, the generation unit 523 generates the first learning model by learning that among the search queries acquired by the acquisition unit 521, a plurality of randomly extracted search queries have different characteristics. Specifically, the generation unit 523 generates a first learning model by learning so that the distributed expressions of a pair of search queries that are randomly extracted among the search queries acquired by the acquisition unit 521 are different. To do. For example, the generation unit 523 causes the distributed representation of the predetermined search query extracted by the extraction unit 522 and the distributed representation of the search query randomly extracted irrespective of the predetermined search query to be far apart in the distributed representation space. The first learning model M1 is trained so as to be mapped.

また、生成部523は、第2学習モデルを生成する。具体的には、生成部523は、モデル情報記憶部535を参照して、生成部523によって生成された第1学習モデル(第1学習モデルM1のモデルデータMDT1)を取得する。続いて、生成部523は、取得した第1学習モデルを用いて、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する。生成部523は、第1モデルM1を取得すると、取得した第1モデルM1を用いて、第2学習モデルM2を生成する。生成部523は、第1モデルM1を再学習させることにより、第1モデルM1とは学習モデルの重みである接続係数が異なる第2モデルM2を生成する。具体的には、生成部523は、検索クエリが学習モデルに入力された際に、学習モデルが出力する分散表現の分類結果が、検索クエリが属するカテゴリに対応するように学習することで、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2モデルM2を生成する。 The generation unit 523 also generates a second learning model. Specifically, the generation unit 523 refers to the model information storage unit 535 and acquires the first learning model (model data MDT1 of the first learning model M1) generated by the generation unit 523. Subsequently, the generation unit 523 uses the acquired first learning model to generate a second learning model that predicts the category to which the predetermined search query belongs from the predetermined search query. When the generation unit 523 acquires the first model M1, the generation unit 523 generates the second learning model M2 using the acquired first model M1. The generating unit 523 re-learns the first model M1 to generate the second model M2 having a connection coefficient that is a weight of the learning model different from that of the first model M1. Specifically, when the search query is input to the learning model, the generation unit 523 learns such that the classification result of the distributed expressions output by the learning model corresponds to the category to which the search query belongs, and thus the predetermined result is obtained. A second model M2 that predicts a category to which a predetermined search query belongs is generated from the search query of.

具体的には、生成部523は、検索クエリが学習モデルに入力された際に、学習モデルが出力する分散表現の分類結果が、検索クエリが属するカテゴリに対応するように学習することで、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する。生成部523は、入力情報として検索クエリが学習モデルに入力された際に、出力情報として検索クエリが属するカテゴリ毎の確率を出力する第2学習モデルを生成する。例えば、生成部523は、第1モデルM1を用いて、入力情報として所定の検索クエリが学習モデルに入力された際に、出力情報として検索クエリの分散表現がそのカテゴリに分類される確率をカテゴリ毎に出力する第2モデルM2を生成する。生成部523は、入力情報として所定の検索クエリが入力されると、出力情報として所定の検索クエリの分散表現が正解カテゴリに分類される確率が所定の閾値を超えるように第2モデルを学習させる。そして、生成部523は、入力情報として所定の検索クエリが入力された際に、所定の検索クエリの分散表現がそのカテゴリに属する確率が所定の閾値を超えるカテゴリを、所定の検索クエリのカテゴリとして出力する第2モデルM2を生成する。また、生成部523は、第2学習モデルを生成すると、第2学習モデルを識別する識別情報と対応付けて、生成した第2学習モデル(モデルデータMDT2)をモデル情報記憶部535に格納する。 Specifically, when the search query is input to the learning model, the generation unit 523 learns such that the classification result of the distributed expressions output by the learning model corresponds to the category to which the search query belongs, and thus the predetermined result is obtained. A second learning model that predicts a category to which a predetermined search query belongs is generated from the search query. The generation unit 523 generates a second learning model that outputs the probability of each category to which the search query belongs as output information when the search query is input as input information to the learning model. For example, the generation unit 523 uses the first model M1 to calculate the probability that the distributed expression of the search query is classified as the output information into the category when the predetermined search query is input as the input information into the learning model. The second model M2 to be output for each is generated. When a predetermined search query is input as the input information, the generation unit 523 trains the second model so that the probability that the distributed expression of the predetermined search query is classified into the correct category as the output information exceeds the predetermined threshold. .. Then, when the predetermined search query is input as the input information, the generation unit 523 sets the category whose probability that the distributed expression of the predetermined search query belongs to the category exceeds the predetermined threshold as the category of the predetermined search query. The second model M2 to be output is generated. Further, when the generation unit 523 generates the second learning model, the generation unit 523 stores the generated second learning model (model data MDT2) in the model information storage unit 535 in association with the identification information for identifying the second learning model.

例えば、生成部523は、図24に示すモデル情報記憶部535を参照して、第1モデルM1(第1モデルM1のモデルデータMDT1)を取得する。続いて、生成部523は、図22に示す分類定義記憶部533を参照して、検索クエリを分類するカテゴリの大分類を選択する。続いて、生成部523は、大分類を選択すると、第2モデルM2の学習データとして、検索クエリと検索クエリが属する小分類との組を学習する。 For example, the generation unit 523 refers to the model information storage unit 535 illustrated in FIG. 24 and acquires the first model M1 (model data MDT1 of the first model M1). Subsequently, the generation unit 523 refers to the classification definition storage unit 533 illustrated in FIG. 22 and selects the large classification of the categories into which the search query is classified. Subsequently, when selecting the large classification, the generation unit 523 learns a set of the search query and the small classification to which the search query belongs as the learning data of the second model M2.

例えば、検索クエリQ11(「六本木 パスタ」)が属する正解カテゴリがCAT11(「飲食店を探す」)であるとする。生成部523は、入力情報として検索クエリQ11(「六本木 パスタ」)が第2モデルM2に入力された際に、第2モデルM2の出力層から検索クエリQ11(「六本木 パスタ」)の分散表現であるベクトルBQV11を出力する。ここで、ベクトルBQV11は、第2モデルM2の出力層から出力されたばかりの検索クエリQ11の分散表現であって、第2モデルM2にフィードバックをかける前(学習前)の分散表現を示す。この場合、生成部523は、出力された検索クエリQ11(「六本木 パスタ」)の分散表現であるベクトルBQV11が正解カテゴリCAT11(「飲食店を探す」)に分類される確率が所定の閾値を超えるように第2モデルM2を学習させる。 For example, it is assumed that the correct category to which the search query Q11 (“Roppongi pasta”) belongs is CAT11 (“Find a restaurant”). When the search query Q11 (“Roppongi pasta”) is input to the second model M2 as input information, the generation unit 523 uses the distributed representation of the search query Q11 (“Roppongi pasta”) from the output layer of the second model M2. It outputs a certain vector BQV11. Here, the vector BQV11 is a distributed expression of the search query Q11 just output from the output layer of the second model M2, and represents a distributed expression before feedback is given to the second model M2 (before learning). In this case, the generation unit 523 causes the probability that the vector BQV11, which is the distributed expression of the output search query Q11 (“Roppongi pasta”), is classified into the correct answer category CAT11 (“Search for restaurants”) exceeds a predetermined threshold. Thus, the second model M2 is trained.

例えば、生成部523は、学習前の第2モデルM2に検索クエリQ11(「六本木 パスタ」)が入力された際に、分散表現であるベクトルBQV11がCAT11(「飲食店を探す」)に分類される確率を80%、CAT12(「商品を探す」)に分類される確率を0%、CAT13(「飲食店を予約」)に分類される確率を20%、CAT14(「商品を購入する」)に分類される確率を0%と出力したとする。この場合、生成部523は、分散表現であるベクトルBQV11がCAT11(「飲食店を探す」)に分類される確率を所定の閾値(例えば、90%)を超えるように第2モデルM2を学習させる。また、生成部523は、分散表現であるベクトルBQV11がCAT11(「飲食店を探す」)に分類される確率が所定の閾値(例えば、90%)を超えるように学習させるのに合わせて、分散表現であるベクトルBQV11が他のカテゴリCAT13(「飲食店を予約」)に分類される確率を10%に下げるように第2モデルM2を学習させる。続いて、生成部523は、学習済みの第2モデルM2に入力情報として検索クエリQ11(「六本木 パスタ」)が入力されると、検索クエリQ11(「六本木 パスタ」)の分散表現であるベクトルBQV11がカテゴリCAT11(「飲食店を探す」)に属する確率が90%を超えるので、出力情報として検索クエリが属するカテゴリをCAT11(「飲食店を探す」)と出力する。 For example, when the search query Q11 (“Roppongi pasta”) is input to the second model M2 before learning, the generation unit 523 classifies the vector BQV11, which is a distributed expression, into CAT11 (“Find a restaurant”). 80% probability, 0% probability of being classified as CAT12 (“find a product”), 20% probability of being classified as CAT13 (“reserve a restaurant”), CAT14 (“purchase product”) It is assumed that the probability of being classified as is output as 0%. In this case, the generation unit 523 trains the second model M2 so that the probability that the vector BQV11, which is a distributed expression, is classified into CAT11 (“search for a restaurant”) exceeds a predetermined threshold value (for example, 90%). .. In addition, the generation unit 523 performs dispersion so that the probability that the vector BQV11, which is a distributed expression, is classified into CAT11 (“search for a restaurant”) exceeds a predetermined threshold value (for example, 90%), and the distribution is performed. The second model M2 is trained so as to reduce the probability that the expression vector BQV11 is classified into another category CAT13 (“reserve restaurant”) to 10%. Subsequently, when the search query Q11 (“Roppongi pasta”) is input as input information to the learned second model M2, the generation unit 523 generates a vector BQV11 that is a distributed expression of the search query Q11 (“Roppongi pasta”). Belongs to the category CAT11 (“search for restaurants”) exceeds 90%, the category to which the search query belongs is output as output information as CAT11 (“searches for restaurants”).

なお、生成部523は、大分類として、任意の数の大分類を選択してもよい。そして、生成部523は、入力情報として検索クエリが第2モデルM2に入力された際に、出力情報として検索クエリが選択した任意の数の大分類に属する各小分類に属する確率を小分類毎に出力する第2モデルM2を生成してもよい。また、生成部523は、大分類として、全ての大分類を選択してもよい。そして、生成部523は、検索クエリが第2モデルM2に入力された際に、各小分類に属する確率を全ての小分類毎に出力する第2モデルM2を生成してもよい。 Note that the generation unit 523 may select any number of large classifications as the large classifications. Then, when the search query is input to the second model M2 as the input information, the generation unit 523 determines the probability of belonging to each of the small categories belonging to the arbitrary number of the large categories selected by the search query as the output information for each of the small categories. The second model M2 to be output to may be generated. Further, the generation unit 523 may select all the large classifications as the large classifications. Then, the generation unit 523 may generate the second model M2 that outputs the probability of belonging to each of the small classifications for every small classification when the search query is input to the second model M2.

〔3−5.第2学習モデルの一例〕
ここで、図26を用いて生成装置50が生成する第2学習モデルの一例について説明する。図26は、実施形態に係る第2学習モデルの一例を示す図である。図26に示す例では、生成装置50が生成する第2学習モデルM2は、第1学習モデルM1を用いて生成される。すなわち、生成装置50は、第1学習モデルM1を再学習させることにより、第1学習モデルM1とは学習モデルの重みである接続係数が異なる第2学習モデルM2を生成する。
[3-5. Example of second learning model]
Here, an example of the second learning model generated by the generation device 50 will be described with reference to FIG. FIG. 26 is a diagram illustrating an example of the second learning model according to the embodiment. In the example shown in FIG. 26, the second learning model M2 generated by the generating device 50 is generated using the first learning model M1. That is, the generation device 50 re-learns the first learning model M1 to generate the second learning model M2 having a connection coefficient that is a weight of the learning model different from that of the first learning model M1.

より具体的には、生成装置50が生成する第2学習モデルM2は、第1学習モデルM1と同様に、3層のLSTM RNNで構成されている。図26に示す例では、抽出部522は、ユーザU1によって入力された「六本木 パスタ」という検索クエリQ11を第2学習モデルM2の入力層に入力する(ステップS51)。 More specifically, the second learning model M2 generated by the generating device 50 is composed of three layers of LSTM RNNs, like the first learning model M1. In the example illustrated in FIG. 26, the extraction unit 522 inputs the search query Q11 “Roppongi pasta” input by the user U1 into the input layer of the second learning model M2 (step S51).

続いて、生成部523は、第2学習モデルM2の出力層から検索クエリQ11の分散表現である256次元のベクトルBQV11を出力する(ステップS52)。 Subsequently, the generation unit 523 outputs the 256-dimensional vector BQV11, which is the distributed expression of the search query Q11, from the output layer of the second learning model M2 (step S52).

続いて、生成部523は、検索クエリQ11の分散表現であるベクトルBQV11が各カテゴリに分類される確率を出力する(ステップS53)。 Then, the generation unit 523 outputs the probability that the vector BQV11, which is the distributed expression of the search query Q11, is classified into each category (step S53).

続いて、生成部523は、検索クエリQ11の分散表現であるベクトルBQV11が正解カテゴリに分類される確率を高くするように第2学習モデルM2を学習することで、検索クエリから検索クエリのカテゴリを予測する第2モデルを生成する(ステップS54)。 Subsequently, the generation unit 523 learns the second learning model M2 so as to increase the probability that the vector BQV11, which is the distributed expression of the search query Q11, is classified into the correct answer category, thereby changing the category of the search query from the search query. A second model to be predicted is generated (step S54).

〔3−6.第1学習モデルの生成処理のフロー〕
次に、図27を用いて、実施形態に係る第1学習モデルの生成処理の手順について説明する。図27は、実施形態に係る第1学習モデルの生成処理手順を示すフローチャートである。
[3-6. Flow of processing for generating first learning model]
Next, the procedure of the first learning model generation process according to the embodiment will be described with reference to FIG. 27. FIG. 27 is a flowchart showing a procedure for generating the first learning model according to the embodiment.

図27に示す例では、生成装置50は、ユーザによって入力された検索クエリを取得する(ステップS1001)。 In the example illustrated in FIG. 27, the generation device 50 acquires the search query input by the user (step S1001).

続いて、生成装置50は、同一のユーザによって所定の時間内に入力された複数の検索クエリを抽出する(ステップS1002)。 Subsequently, the generation device 50 extracts a plurality of search queries input by the same user within a predetermined time (step S1002).

続いて、生成装置50は、抽出した複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する第1学習モデルを生成する(ステップS1003)。 Subsequently, the generation device 50 generates a first learning model that predicts the characteristic information of a predetermined search query from the predetermined search query by learning that the extracted plurality of search queries have similar characteristics ( Step S1003).

〔3−7.第2学習モデルの生成処理のフロー〕
次に、図28を用いて、実施形態に係る第2学習モデルの生成処理の手順について説明する。図28は、実施形態に係る第2学習モデルの生成処理の手順を示すフローチャートである。
[3-7. Flow of second learning model generation processing]
Next, the procedure of the second learning model generation process according to the embodiment will be described with reference to FIG. FIG. 28 is a flowchart showing the procedure of the second learning model generation process according to the embodiment.

図28に示す例では、生成装置50は、第1学習モデル(第1学習モデルM1のモデルデータMDT1)を取得する(ステップS2001)。 In the example illustrated in FIG. 28, the generation device 50 acquires the first learning model (model data MDT1 of the first learning model M1) (step S2001).

続いて、生成装置50は、第1学習モデルを用いて、所定の検索クエリから所定の検索クエリのカテゴリを予測する第2学習モデルを生成する(ステップS2002)。 Then, the generation device 50 generates a second learning model that predicts a category of a predetermined search query from a predetermined search query using the first learning model (step S2002).

〔4.効果〕
上述してきたように、第1の実施形態に係る情報処理装置100は、抽出部135と決定部136とを備える。抽出部135は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、複数の検索クエリが有する特徴を学習した学習モデルを用いて、所定のクエリの特徴を示す特徴情報を抽出する。決定部136は、抽出部135によって抽出された特徴情報に基づいて、所定のクエリを入力したユーザに対して推薦する推薦情報を決定する。
[4. effect〕
As described above, the information processing device 100 according to the first embodiment includes the extraction unit 135 and the determination unit 136. The extraction unit 135 determines that a plurality of search queries input by the same user within a predetermined time have similar features by using a learning model that has learned the features of the plurality of search queries. Feature information indicating features is extracted. The determination unit 136 determines recommendation information to be recommended to the user who has input the predetermined query, based on the characteristic information extracted by the extraction unit 135.

これにより、情報処理装置100は、所定の検索クエリに興味や関心を抱いたユーザに対して、所定の検索クエリの特徴を示す特徴情報に基づく情報を推薦可能とする。すなわち、情報処理装置100は、ユーザの興味や関心にマッチする情報を推薦可能とする。また、一般的に、検索サービスを訪れるユーザ等、特定の分野に興味や関心を抱いてはいるものの、その分野に関する知識が少ないユーザが検索によって知識を得ようとする場面においては、適切な検索クエリが思いつかないという課題がある。本願発明に係る情報処理装置100は、知識が少ないユーザが入力した検索クエリに基づいて、検索意図に応じた適切な検索クエリに基づく推薦情報を推薦することができる。したがって、情報処理装置100は、ユーザに対して適切な情報を推薦することができる。 With this, the information processing apparatus 100 can recommend information based on the characteristic information indicating the characteristics of the predetermined search query to the user who is interested in the predetermined search query. That is, the information processing apparatus 100 can recommend the interest of the user or information that matches the interest. In addition, in general, a user who is interested in a specific field such as a user who visits a search service, but has little knowledge about the field, who has little knowledge of the field, is likely to find an appropriate search. The problem is that I can't think of a query. The information processing apparatus 100 according to the present invention can recommend recommended information based on an appropriate search query according to a search intention, based on a search query input by a user who has little knowledge. Therefore, the information processing apparatus 100 can recommend appropriate information to the user.

また、抽出部135は、特徴情報として、所定のクエリと類似する特徴を有する検索クエリである類似クエリを抽出する。決定部136は、抽出部135によって抽出された類似クエリに基づいて、所定のクエリを入力したユーザに対して推薦する推薦情報を決定する。 Further, the extraction unit 135 extracts, as the characteristic information, a similar query that is a search query having characteristics similar to a predetermined query. The determination unit 136 determines recommendation information to be recommended to the user who has input the predetermined query, based on the similar query extracted by the extraction unit 135.

これにより、情報処理装置100は、所定の検索クエリに興味や関心を抱いたユーザに対して、所定の検索クエリと類似する特徴を有する類似クエリに基づく情報を推薦可能とする。すなわち、情報処理装置100は、ユーザの興味や関心にマッチする情報を推薦可能とする。したがって、情報処理装置100は、ユーザに対して適切な情報を推薦することができる。 As a result, the information processing apparatus 100 can recommend information based on a similar query having characteristics similar to the predetermined search query to a user who is interested in the predetermined search query. That is, the information processing apparatus 100 can recommend the interest of the user or information that matches the interest. Therefore, the information processing apparatus 100 can recommend appropriate information to the user.

また、抽出部135は、所定のクエリと属性が共通する類似クエリを抽出する。決定部136は、抽出部135によって抽出された類似クエリに基づいて、推薦情報である類似クエリに関する情報を決定する。 In addition, the extraction unit 135 extracts a similar query having the same attribute as the predetermined query. The determining unit 136 determines information about the similar query, which is the recommendation information, based on the similar query extracted by the extracting unit 135.

これにより、情報処理装置100は、所定の検索クエリに興味や関心を抱いたユーザに対して、所定のクエリと属性が共通する類似クエリに基づく情報を推薦可能とする。したがって、情報処理装置100は、ユーザに対してより適切な情報を推薦することができる。 As a result, the information processing apparatus 100 can recommend information based on a similar query having the same attributes as the predetermined query to users who are interested in the predetermined search query. Therefore, the information processing apparatus 100 can recommend more appropriate information to the user.

また、抽出部135は、所定のクエリと属性が共通する類似クエリとして、不動産エリアを示す所定のクエリと類似する特徴を有する検索クエリであって、不動産エリアを示す類似クエリを抽出する。決定部136は、抽出部135によって抽出された類似クエリに基づいて、推薦情報である不動産エリアに関する情報を決定する。 In addition, the extraction unit 135 extracts a similar query indicating a real estate area, which is a search query having characteristics similar to the predetermined query indicating the real estate area, as a similar query having the same attribute as the predetermined query. The determination unit 136 determines information regarding the real estate area, which is the recommendation information, based on the similar query extracted by the extraction unit 135.

これにより、情報処理装置100は、所定の不動産エリアに興味や関心を抱いたユーザに対して、所定の不動産エリアと類似する特徴を有する不動産エリアを推薦可能とする。したがって、情報処理装置100は、ユーザに対して適切な不動産エリアを推薦することができる。 Accordingly, the information processing apparatus 100 can recommend a real estate area having characteristics similar to the predetermined real estate area to a user who is interested in the predetermined real estate area. Therefore, the information processing apparatus 100 can recommend an appropriate real estate area to the user.

また、決定部136は、抽出部135によって抽出された類似クエリに基づいて、推薦情報である再検索用のクエリの候補を決定する。 Further, the determining unit 136 determines a query candidate for re-search, which is recommendation information, based on the similar query extracted by the extracting unit 135.

これにより、情報処理装置100は、所定の検索クエリに興味や関心を抱いているものの、具体的な検索条件がわからないユーザに対して、適切な絞り込み条件の候補を推薦することができる。 As a result, the information processing apparatus 100 can recommend an appropriate narrowing-down condition candidate to a user who is interested in a predetermined search query but does not know the specific search condition.

また、情報処理装置100は、生成部132と算出部134とをさらに備える。生成部132は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、複数の検索クエリが有する特徴を学習した学習モデルを用いて、所定の検索クエリの分散表現を生成する。算出部134は、生成部132によって生成された所定の検索クエリの分散表現と、生成部132によって生成された所定の検索クエリとは異なる他の検索クエリの分散表現との類似度を算出する。抽出部135は、算出部134によって算出された類似度が所定の閾値を超える他の検索クエリを類似クエリとして抽出する。 The information processing apparatus 100 further includes a generation unit 132 and a calculation unit 134. The generation unit 132 determines that a plurality of search queries input by the same user within a predetermined time have similar features, and uses a learning model that learns the features of the plurality of search queries to perform a predetermined search query. Generate a distributed representation of. The calculation unit 134 calculates the similarity between the distributed expression of the predetermined search query generated by the generation unit 132 and the distributed expression of another search query different from the predetermined search query generated by the generation unit 132. The extraction unit 135 extracts another search query whose similarity calculated by the calculation unit 134 exceeds a predetermined threshold as a similar query.

情報処理装置100は、所定の検索クエリに興味や関心を抱いたユーザに対して、所定の検索クエリの特徴を示す特徴情報に基づく情報を推薦可能とする。すなわち、情報処理装置100は、ユーザの興味や関心にマッチする情報を推薦可能とする。したがって、情報処理装置100は、ユーザに対して適切な情報を推薦することができる。 The information processing apparatus 100 can recommend information based on characteristic information indicating characteristics of a predetermined search query to a user who is interested in the predetermined search query. That is, the information processing apparatus 100 can recommend the interest of the user or information that matches the interest. Therefore, the information processing apparatus 100 can recommend appropriate information to the user.

また、抽出部135は、入力情報として所定の検索クエリが入力された際に、出力情報として所定の検索クエリの分散表現を出力する学習モデルを用いて、特徴情報を抽出する。また、抽出部135は、所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習することで、複数の検索クエリが有する特徴を学習した学習モデルを用いて、特徴情報を抽出する。また、抽出部135は、同一のユーザによって所定の時間内に入力された複数の検索クエリとして、所定の区切り文字で区切られた文字列を含む複数の検索クエリが類似する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した学習モデルを用いて、特徴情報を抽出する。また、抽出部135は、ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した学習モデルを用いて、特徴情報を抽出する。また、抽出部135は、ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、複数の検索クエリが有する特徴を学習した学習モデルを用いて、特徴情報を抽出する。 The extraction unit 135 also extracts the characteristic information by using a learning model that outputs a distributed expression of the predetermined search query as the output information when the predetermined search query is input as the input information. In addition, the extraction unit 135 uses a learning model in which the characteristics of a plurality of search queries are learned by learning so that the distributed expressions of a pair of search queries that are continuously input within a predetermined time are similar to each other. Extract feature information. The extraction unit 135 also learns that a plurality of search queries that are input by the same user within a predetermined time have similar characteristics to each other that include a character string delimited by a predetermined delimiter. By doing so, the feature information is extracted using the learning model in which the features of the plurality of search queries are learned. Further, the extraction unit 135 extracts the characteristic information by using the learning model in which the characteristics of the plurality of search queries are learned by learning the plurality of randomly extracted search queries as having different characteristics. .. In addition, the extraction unit 135 extracts feature information using a learning model in which the features of a plurality of search queries are learned by learning so that the distributed expressions of a pair of search queries that are randomly extracted differ. ..

これにより、情報処理装置100は、ユーザの検索意図を考慮して、適切な特徴情報を抽出可能とする。したがって、情報処理装置100は、ユーザに対して適切な情報を推薦することができる。 As a result, the information processing apparatus 100 can extract appropriate characteristic information in consideration of the user's search intention. Therefore, the information processing apparatus 100 can recommend appropriate information to the user.

また、第2の実施形態に係る情報処理装置100Aは、抽出部135Aと決定部136Aとを備える。抽出部135Aは、特徴情報として、所定のクエリが属するカテゴリを抽出する。決定部136Aは、抽出部135Aによって抽出されたカテゴリに基づいて、所定のクエリを入力したユーザに対して推薦する推薦情報を決定する。 The information processing apparatus 100A according to the second embodiment includes an extraction unit 135A and a determination unit 136A. The extraction unit 135A extracts, as the characteristic information, a category to which a predetermined query belongs. The determination unit 136A determines recommendation information to be recommended to the user who has input the predetermined query, based on the category extracted by the extraction unit 135A.

これにより、情報処理装置100Aは、所定の検索クエリに興味や関心を抱いたユーザに対して、所定の検索クエリが属するカテゴリに基づく情報を推薦可能とする。すなわち、情報処理装置100Aは、ユーザの興味や関心にマッチする情報を推薦可能とする。したがって、情報処理装置100は、ユーザに対して適切な情報を推薦することができる。 Accordingly, the information processing apparatus 100A can recommend information based on a category to which a predetermined search query belongs to a user who is interested in the predetermined search query. That is, the information processing apparatus 100A can recommend the interest of the user or information matching the interest. Therefore, the information processing apparatus 100 can recommend appropriate information to the user.

〔5.ハードウェア構成〕
また、上述してきた第1の実施形態に係る情報処理装置100、第2の実施形態に係る情報処理装置100Aおよび実施形態に係る生成装置50は、例えば図29に示すような構成のコンピュータ1000によって実現される。図29は、情報処理装置100および情報処理装置100Aおよび生成装置50の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を備える。
[5. Hardware configuration]
In addition, the information processing apparatus 100 according to the first embodiment, the information processing apparatus 100A according to the second embodiment, and the generation apparatus 50 according to the embodiments described above are implemented by a computer 1000 having a configuration illustrated in FIG. 29, for example. Will be realized. FIG. 29 is a hardware configuration diagram illustrating an example of a computer that realizes the functions of the information processing device 100, the information processing device 100A, and the generation device 50. The computer 1000 includes a CPU 1100, RAM 1200, ROM 1300, HDD 1400, communication interface (I/F) 1500, input/output interface (I/F) 1600, and media interface (I/F) 1700.

CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。 The CPU 1100 operates based on a program stored in the ROM 1300 or the HDD 1400, and controls each unit. The ROM 1300 stores a boot program executed by the CPU 1100 when the computer 1000 starts up, a program dependent on the hardware of the computer 1000, and the like.

HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定の通信網を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定の通信網を介して他の機器へ送信する。 The HDD 1400 stores programs executed by the CPU 1100, data used by the programs, and the like. The communication interface 1500 receives data from another device via a predetermined communication network, sends the data to the CPU 1100, and transmits the data generated by the CPU 1100 to another device via the predetermined communication network.

CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。 The CPU 1100 controls output devices such as a display and a printer and input devices such as a keyboard and a mouse via the input/output interface 1600. The CPU 1100 acquires data from the input device via the input/output interface 1600. Further, the CPU 1100 outputs the generated data to the output device via the input/output interface 1600.

メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。 The media interface 1700 reads a program or data stored in the recording medium 1800 and provides the program or data to the CPU 1100 via the RAM 1200. The CPU 1100 loads the program from the recording medium 1800 onto the RAM 1200 via the media interface 1700, and executes the loaded program. The recording medium 1800 is, for example, an optical recording medium such as a DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory. Etc.

例えば、コンピュータ1000が情報処理装置100、情報処理装置100Aまたは生成装置50として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130、制御部130Aまたは制御部52の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムを取得してもよい。 For example, when the computer 1000 functions as the information processing device 100, the information processing device 100A, or the generation device 50, the CPU 1100 of the computer 1000 executes the program loaded on the RAM 1200 to cause the control unit 130, the control unit 130A, or The function of the control unit 52 is realized. The CPU 1100 of the computer 1000 reads these programs from the recording medium 1800 and executes them, but as another example, these programs may be obtained from other devices via a predetermined communication network.

以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。 As described above, some of the embodiments of the present application have been described in detail based on the drawings, but these are examples, and various modifications based on the knowledge of those skilled in the art, including the modes described in the section of the disclosure of the invention, It is possible to implement the present invention in other forms with improvements.

〔6.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
[6. Other]
Further, of the processes described in the above-described embodiment and modification, all or part of the processes described as being automatically performed may be manually performed, or described as manually performed. It is also possible to automatically carry out all or part of the above-mentioned processing by a known method. In addition, the processing procedures, specific names, information including various data and parameters shown in the above-mentioned documents and drawings can be arbitrarily changed unless otherwise specified. For example, the various information shown in each drawing is not limited to the illustrated information.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Further, each component of each device shown in the drawings is functionally conceptual and does not necessarily have to be physically configured as shown. That is, the specific form of distribution/integration of each device is not limited to that shown in the figure, and all or part of the device may be functionally or physically distributed/arranged in arbitrary units according to various loads and usage conditions. It can be integrated and configured.

また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 Further, the above-described embodiments and modified examples can be appropriately combined within a range in which the processing content is not inconsistent.

また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、抽出部は、抽出手段や抽出回路に読み替えることができる。 Also, the above-mentioned "section (module, unit)" can be read as "means" or "circuit". For example, the extraction unit can be read as an extraction unit or an extraction circuit.

1 情報処理システム
10 ユーザ端末
20 検索サーバ
50 生成装置
100 情報処理装置
110 通信部
120 記憶部
121 モデル情報記憶部
122 ベクトル情報記憶部
123 検索情報記憶部
124 コンテンツ記憶部
130 制御部
131 取得部
132 生成部
133 提供部
134 算出部
135 抽出部
136 決定部
1 Information Processing System 10 User Terminal 20 Search Server 50 Generation Device 100 Information Processing Device 110 Communication Unit 120 Storage Unit 121 Model Information Storage Unit 122 Vector Information Storage Unit 123 Search Information Storage Unit 124 Content Storage Unit 130 Control Unit 131 Acquisition Unit 132 Generation Part 133 Providing part 134 Calculation part 135 Extracting part 136 Determining part

Claims (14)

同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、前記複数の検索クエリが有する特徴を学習した学習モデルを用いて、所定のクエリの特徴を示す特徴情報を抽出する抽出部と、
前記抽出部によって抽出された特徴情報に基づいて、前記所定のクエリを入力したユーザに対して推薦する推薦情報を決定する決定部と、
を備えることを特徴とする情報処理装置。
A feature indicating a feature of a predetermined query by using a learning model in which the features of the plurality of search queries are learned, assuming that the plurality of search queries input by the same user within a predetermined time have similar features An extraction unit for extracting information,
A determination unit that determines recommendation information recommended to the user who has input the predetermined query, based on the characteristic information extracted by the extraction unit;
An information processing apparatus comprising:
前記抽出部は、
前記特徴情報として、前記所定のクエリと類似する特徴を有する検索クエリである類似クエリを抽出し、
前記決定部は、
前記抽出部によって抽出された類似クエリに基づいて、前記所定のクエリを入力したユーザに対して推薦する推薦情報を決定する
ことを特徴とする請求項1に記載の情報処理装置。
The extraction unit is
As the characteristic information, a similar query that is a search query having characteristics similar to the predetermined query is extracted,
The determining unit is
The information processing apparatus according to claim 1, wherein recommendation information recommended for a user who has input the predetermined query is determined based on the similar query extracted by the extraction unit.
前記抽出部は、
前記所定のクエリと属性が共通する類似クエリを抽出し、
前記決定部は、
前記抽出部によって抽出された類似クエリに基づいて、前記推薦情報である前記類似クエリに関する情報を決定する
ことを特徴とする請求項2に記載の情報処理装置。
The extraction unit is
Extract a similar query that has the same attributes as the predetermined query,
The determining unit is
The information processing apparatus according to claim 2, wherein information regarding the similar query that is the recommendation information is determined based on the similar query extracted by the extraction unit.
前記抽出部は、
前記所定のクエリと属性が共通する類似クエリとして、不動産エリアを示す所定のクエリと類似する特徴を有する検索クエリであって、不動産エリアを示す類似クエリを抽出し、
前記決定部は、
前記抽出部によって抽出された類似クエリに基づいて、前記推薦情報である不動産エリアに関する情報を決定する
ことを特徴とする請求項3に記載の情報処理装置。
The extraction unit is
As the similar query having the same attributes as the predetermined query, a search query having characteristics similar to the predetermined query indicating the real estate area, and extracting a similar query indicating the real estate area,
The determining unit is
The information processing apparatus according to claim 3, wherein information regarding the real estate area, which is the recommendation information, is determined based on the similar query extracted by the extraction unit.
前記決定部は、
前記抽出部によって抽出された類似クエリに基づいて、前記推薦情報である再検索用のクエリの候補を決定する
ことを特徴とする請求項1〜4のいずれか一つに記載の情報処理装置。
The determining unit is
The information processing apparatus according to any one of claims 1 to 4, wherein a candidate for a query for re-search that is the recommendation information is determined based on a similar query extracted by the extraction unit.
同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、前記複数の検索クエリが有する特徴を学習した学習モデルを用いて、所定の検索クエリの分散表現を生成する生成部と、
前記生成部によって生成された所定の検索クエリの分散表現と、前記生成部によって生成された所定の検索クエリとは異なる他の検索クエリの分散表現との類似度を算出する算出部と、
をさらに備え、
前記抽出部は、
前記算出部によって算出された類似度が所定の閾値を超える他の検索クエリを前記類似クエリとして抽出する
ことを特徴とする請求項2〜5のいずれか一つに記載の情報処理装置。
As a plurality of search queries input by the same user within a predetermined time have similar features, a distributed representation of the predetermined search queries is calculated using a learning model that learns the features of the plurality of search queries. A generator to generate,
A calculation unit that calculates the degree of similarity between the distributed expression of the predetermined search query generated by the generation unit and the distributed expression of another search query that is different from the predetermined search query generated by the generation unit;
Further equipped with,
The extraction unit is
The information processing apparatus according to any one of claims 2 to 5, wherein another search query whose similarity calculated by the calculator exceeds a predetermined threshold is extracted as the similar query.
前記抽出部は、
入力情報として所定の検索クエリが入力された際に、出力情報として前記所定の検索クエリの分散表現を出力する学習モデルを用いて、前記特徴情報を抽出する
ことを特徴とする請求項1〜6のいずれか一つに記載の情報処理装置。
The extraction unit is
The characteristic information is extracted by using a learning model that outputs a distributed expression of the predetermined search query as output information when a predetermined search query is input as input information. The information processing apparatus described in any one of 1.
前記抽出部は、
前記所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習することで、前記複数の検索クエリが有する特徴を学習した学習モデルを用いて、前記特徴情報を抽出する
ことを特徴とする請求項1〜7のいずれか一つに記載の情報処理装置。
The extraction unit is
Extracting the feature information by using a learning model in which the features of the plurality of search queries are learned by learning so that the distributed expressions of a pair of search queries that are continuously input within the predetermined time are similar to each other. The information processing apparatus according to any one of claims 1 to 7, characterized in that.
前記抽出部は、
同一のユーザによって所定の時間内に入力された複数の検索クエリとして、所定の区切り文字で区切られた文字列を含む複数の検索クエリが類似する特徴を有するものとして学習することで、前記複数の検索クエリが有する特徴を学習した学習モデルを用いて、前記特徴情報を抽出する
ことを特徴とする請求項1〜8のいずれか一つに記載の情報処理装置。
The extraction unit is
By learning as a plurality of search queries input by the same user within a predetermined time period, a plurality of search queries including a character string delimited by a predetermined delimiter have similar characteristics. The information processing apparatus according to any one of claims 1 to 8, wherein the characteristic information is extracted using a learning model in which a characteristic included in the search query is learned.
前記抽出部は、
ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、前記複数の検索クエリが有する特徴を学習した学習モデルを用いて、前記特徴情報を抽出する
ことを特徴とする請求項1〜9のいずれか一つに記載の情報処理装置。
The extraction unit is
The feature information is extracted by using a learning model that learns the features of the plurality of search queries by learning as a plurality of randomly extracted search queries having different features. The information processing device according to claim 1.
前記抽出部は、
ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、前記複数の検索クエリが有する特徴を学習した学習モデルを用いて、前記特徴情報を抽出する
ことを特徴とする請求項1〜10のいずれか一つに記載の情報処理装置。
The extraction unit is
By learning so that the distributed expressions of a pair of search queries that are randomly extracted are different, the feature information is extracted using a learning model that has learned the features of the plurality of search queries. The information processing apparatus according to claim 1.
前記抽出部は、
前記特徴情報として、前記所定のクエリが属するカテゴリを抽出し、
前記決定部は、
前記抽出部によって抽出されたカテゴリに基づいて、前記所定のクエリを入力したユーザに対して推薦する推薦情報を決定する
ことを特徴とする請求項1〜11のいずれか一つに記載の情報処理装置。
The extraction unit is
As the characteristic information, a category to which the predetermined query belongs is extracted,
The determining unit is
The recommendation information recommended for the user who has input the predetermined query is determined based on the category extracted by the extraction unit. apparatus.
コンピュータが実行する情報処理方法であって、
同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、前記複数の検索クエリが有する特徴を学習した学習モデルを用いて、所定のクエリの特徴を示す特徴情報を抽出する抽出工程と、
前記抽出工程によって抽出された特徴情報に基づいて、前記所定のクエリを入力したユーザに対して推薦する推薦情報を決定する決定工程と、
を含むことを特徴とする情報処理方法。
An information processing method executed by a computer,
A feature indicating a feature of a predetermined query by using a learning model in which the features of the plurality of search queries are learned, assuming that the plurality of search queries input by the same user within a predetermined time have similar features An extraction step for extracting information,
A determination step of determining recommendation information to be recommended to the user who has input the predetermined query, based on the characteristic information extracted by the extraction step;
An information processing method comprising:
同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、前記複数の検索クエリが有する特徴を学習した学習モデルを用いて、所定のクエリの特徴を示す特徴情報を抽出する抽出手段と、
前記抽出手段によって抽出された特徴情報に基づいて、前記所定のクエリを入力したユーザに対して推薦する推薦情報を決定する決定手段と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
A feature indicating a feature of a predetermined query by using a learning model in which the features of the plurality of search queries are learned, assuming that the plurality of search queries input by the same user within a predetermined time have similar features Extraction means for extracting information,
Determination means for determining recommendation information to be recommended to the user who has input the predetermined query, based on the characteristic information extracted by the extraction means,
An information processing program that causes a computer to execute.
JP2019020767A 2019-02-07 2019-02-07 Information processing equipment, information processing methods and information processing programs Active JP7071304B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019020767A JP7071304B2 (en) 2019-02-07 2019-02-07 Information processing equipment, information processing methods and information processing programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019020767A JP7071304B2 (en) 2019-02-07 2019-02-07 Information processing equipment, information processing methods and information processing programs

Publications (2)

Publication Number Publication Date
JP2020129192A true JP2020129192A (en) 2020-08-27
JP7071304B2 JP7071304B2 (en) 2022-05-18

Family

ID=72174679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019020767A Active JP7071304B2 (en) 2019-02-07 2019-02-07 Information processing equipment, information processing methods and information processing programs

Country Status (1)

Country Link
JP (1) JP7071304B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022094342A (en) * 2020-12-14 2022-06-24 ネイバー コーポレーション Place recommendation method, system, and program
JP2022144341A (en) * 2021-03-18 2022-10-03 ヤフー株式会社 Information processing apparatus, information processing method, and information processing program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169470A (en) * 2008-01-10 2009-07-30 Nissan Motor Co Ltd Information guidance system and its recognition dictionary database update method
JP2018073151A (en) * 2016-10-31 2018-05-10 株式会社Nextremer Learning device, replying device, production method for learning information, replying method, and program
JP2018156429A (en) * 2017-03-17 2018-10-04 ヤフー株式会社 Information processing device, information processing method, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169470A (en) * 2008-01-10 2009-07-30 Nissan Motor Co Ltd Information guidance system and its recognition dictionary database update method
JP2018073151A (en) * 2016-10-31 2018-05-10 株式会社Nextremer Learning device, replying device, production method for learning information, replying method, and program
JP2018156429A (en) * 2017-03-17 2018-10-04 ヤフー株式会社 Information processing device, information processing method, and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022094342A (en) * 2020-12-14 2022-06-24 ネイバー コーポレーション Place recommendation method, system, and program
JP7428688B2 (en) 2020-12-14 2024-02-06 ネイバー コーポレーション Place recommendation methods, systems, and programs
JP2022144341A (en) * 2021-03-18 2022-10-03 ヤフー株式会社 Information processing apparatus, information processing method, and information processing program
JP7208286B2 (en) 2021-03-18 2023-01-18 ヤフー株式会社 Information processing device, information processing method and information processing program

Also Published As

Publication number Publication date
JP7071304B2 (en) 2022-05-18

Similar Documents

Publication Publication Date Title
Mao et al. Multiobjective e-commerce recommendations based on hypergraph ranking
US11188830B2 (en) Method and system for user profiling for content recommendation
US10685181B2 (en) Linguistic expression of preferences in social media for prediction and recommendation
US20150160847A1 (en) System and method for searching through a graphic user interface
JP7071304B2 (en) Information processing equipment, information processing methods and information processing programs
Shankar et al. An intelligent recommendation system in e-commerce using ensemble learning
Melese Food and restaurant recommendation system using hybrid filtering mechanism
JP6679683B2 (en) Information processing apparatus, information processing method, and information processing program
Nazari et al. Scalable and data-independent multi-agent recommender system using social networks analysis
Huang et al. A time-aware hybrid approach for intelligent recommendation systems for individual and group users
Nia et al. A framework for a large-scale B2B recommender system
JP6982017B2 (en) Information processing equipment, information processing methods and information processing programs
JP7177013B2 (en) Information processing device, information processing method and information processing program
Djuana et al. Personalization in tag ontology learning for recommendation making
JP6852114B2 (en) Specific device, specific method and specific program
Katiyar et al. TagIT: a system for image auto-tagging and clustering
JP6584613B1 (en) Information processing apparatus, information processing method, and information processing program
JP6960361B2 (en) Information processing equipment, information processing methods, and information processing programs
JP7258988B2 (en) Information processing device, information processing method and information processing program
Patel et al. CNNRec: Convolutional Neural Network based recommender systems-A survey
JP2021022343A (en) Information processing device, information processing method, and information processing program
Siddique et al. Movies Rating Prediction using Supervised Machine Learning Techniques
JP6938569B2 (en) Information processing equipment, information processing methods and information processing programs
Rahman et al. A conceptual model for the E-commerce application recommendation framework using exploratory search
Rodavia et al. AutoRec: A recommender system based on social media stream

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20191101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200917

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220506

R150 Certificate of patent or registration of utility model

Ref document number: 7071304

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350