JP2020047126A - Information processing apparatus, information processing method, and information processing program - Google Patents

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

Info

Publication number
JP2020047126A
JP2020047126A JP2018176628A JP2018176628A JP2020047126A JP 2020047126 A JP2020047126 A JP 2020047126A JP 2018176628 A JP2018176628 A JP 2018176628A JP 2018176628 A JP2018176628 A JP 2018176628A JP 2020047126 A JP2020047126 A JP 2020047126A
Authority
JP
Japan
Prior art keywords
search query
search
information processing
query
model
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
JP2018176628A
Other languages
Japanese (ja)
Other versions
JP6679683B2 (en
Inventor
山本 貴之
Takayuki Yamamoto
貴之 山本
光世 宮崎
Mitsuyo Miyazaki
光世 宮崎
清水 徹
Toru Shimizu
徹 清水
潤二 宰川
Junji Saikawa
潤二 宰川
アヌパム バッタチャルジ
Bhattacharjee Anupam
アヌパム バッタチャルジ
カウステューブ クルカルニ
Kausuteyubu Kulkarni
カウステューブ クルカルニ
隼人 小林
Hayato Kobayashi
隼人 小林
伸幸 清水
Nobuyuki Shimizu
伸幸 清水
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.)
LY Corp
Original Assignee
Z Holdings 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 Z Holdings Corp filed Critical Z Holdings Corp
Priority to JP2018176628A priority Critical patent/JP6679683B2/en
Publication of JP2020047126A publication Critical patent/JP2020047126A/en
Application granted granted Critical
Publication of JP6679683B2 publication Critical patent/JP6679683B2/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 improve the accuracy in analyzing the tendency of a user's search.SOLUTION: An information processing apparatus according to the present application comprises a service providing unit. Provided that a plurality of search queries input by a single user within a predetermined time have similar features, the service providing unit extracts a similar query that is a search query having a feature similar to that of a predetermined search query, by using a first learning model that learns the features of the plurality of search queries.SELECTED DRAWING: Figure 1

Description

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

従来、特定のユーザに特徴的な情報を抽出する技術が知られている。具体的には、対象ユーザが用いた各検索クエリに関する情報に対応するベクトル間の類似度に基づいて対象ユーザが用いた検索クエリに関する情報を第1クラスタに分類し、他のユーザの各検索クエリに関する情報に対応するベクトル間の類似度に基づいて他のユーザが用いた検索クエリに関する情報を第2クラスタに分類する。そして、第1クラスタと第2クラスタとの差異に基づいて、第1クラスタから対象ユーザに特徴的な行動を示すクラスタである特徴クラスタを抽出する技術が提案されている。   Conventionally, a technique for extracting information characteristic of a specific user has been known. Specifically, information on the search query used by the target user is classified into a first cluster based on the similarity between the vectors corresponding to the information on each search query used by the target user, and each search query of another user is classified. The information on the search query used by another user is classified into the second cluster based on the similarity between the vectors corresponding to the information on the search query. A technique has been proposed for extracting a feature cluster, which is a cluster showing a characteristic behavior of the target user, from the first cluster based on a difference between the first cluster and the second cluster.

特開2018−60469号公報JP 2018-60469 A

しかしながら、上記の従来技術では、ユーザの検索動向の分析精度を高めることができるとは限らない。具体的には、言葉の意味は、その言葉が用いられるコンテクストによって異なる場合がある。そのため、コンテクストの中で用いられた文字列をコンテクストから切り離して抽出したとしても、その文字列の本来の意味(すなわち、その文字列がそのコンテクストで用いられた意味)を解釈することは難しい場合がある。以上を踏まえると、上記の従来技術では、文字列としての検索クエリの類似度を考慮するにすぎないため、検索クエリの本来の意味を解釈することは難しい。そのため、上記の従来技術では、検索クエリを入力したユーザのコンテクストを考慮して、ユーザの検索動向を分析することは難しい。したがって、上記の従来技術では、ユーザの検索動向の分析精度を高めることができるとは限らない。   However, in the above-described conventional technology, it is not always possible to improve the analysis accuracy of a user's search trend. Specifically, the meaning of a word may vary depending on the context in which the word is used. Therefore, even if the character string used in the context is extracted separately from the context, it is difficult to interpret the original meaning of the character string (that is, the meaning of the character string used in the context). There is. In view of the above, in the above-described related art, it is difficult to interpret the original meaning of the search query because only the similarity of the search query as a character string is considered. Therefore, it is difficult to analyze a user's search tendency in consideration of the context of the user who has input the search query in the above-described related art. Therefore, in the above-described conventional technology, it is not always possible to improve the analysis accuracy of the search trend of the user.

本願は、上記に鑑みてなされたものであってユーザの検索動向の分析精度を高めることができる情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的とする。   An object of the present application is to provide an information processing apparatus, an information processing method, and an information processing program that have been made in view of the above and that can improve the analysis accuracy of a user's search trend.

本願に係る情報処理装置は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、前記複数の検索クエリが有する特徴を学習した第1学習モデルを用いて、所定の検索クエリと類似する特徴を有する検索クエリである類似クエリを抽出するサービス提供部を備えたことを特徴とする。   The information processing apparatus according to the present application uses a first learning model that has learned features of the plurality of search queries, assuming that a plurality of search queries input by the same user within a predetermined time have similar features. A service providing unit for extracting a similar query that is a search query having characteristics similar to a predetermined search query.

実施形態の一態様によれば、ユーザの検索動向の分析精度を高めることができるといった効果を奏する。   According to an aspect of the embodiment, there is an effect that analysis accuracy of a search trend of a user can be improved.

図1は、実施形態に係る情報処理の一例を示す図である。FIG. 1 is a diagram illustrating an example of information processing according to the embodiment. 図2は、実施形態に係る第1学習モデルの生成処理の一例を示す図である。FIG. 2 is a diagram illustrating an example of a process of generating a first learning model according to the embodiment. 図3は、実施形態に係る第1学習モデルの生成処理の一例を示す図である。FIG. 3 is a diagram illustrating an example of a process of generating a first learning model according to the embodiment. 図4は、実施形態に係る第2学習モデルの生成処理の一例を示す図である。FIG. 4 is a diagram illustrating an example of a process of generating a second learning model according to the embodiment. 図5は、実施形態に係る情報処理システムの構成例を示す図である。FIG. 5 is a diagram illustrating a configuration example of the information processing system according to the embodiment. 図6は、実施形態に係る情報処理装置の構成例を示す図である。FIG. 6 is a diagram illustrating a configuration example of the information processing apparatus according to the embodiment. 図7は、実施形態に係るクエリ情報記憶部の一例を示す図である。FIG. 7 is a diagram illustrating an example of a query information storage unit according to the embodiment. 図8は、実施形態に係るベクトル情報記憶部の一例を示す図である。FIG. 8 is a diagram illustrating an example of the vector information storage unit according to the embodiment. 図9は、実施形態に係る分類定義記憶部の一例を示す図である。FIG. 9 is a diagram illustrating an example of the classification definition storage unit according to the embodiment. 図10は、実施形態に係るカテゴリ情報記憶部の一例を示す図である。FIG. 10 is a diagram illustrating an example of a category information storage unit according to the embodiment. 図11は、実施形態に係るモデル情報記憶部の一例を示す図である。FIG. 11 is a diagram illustrating an example of the model information storage unit according to the embodiment. 図12は、実施形態に係る第1学習モデルの一例を示す図である。FIG. 12 is a diagram illustrating an example of the first learning model according to the embodiment. 図13は、実施形態に係る第2学習モデルの一例を示す図である。FIG. 13 is a diagram illustrating an example of the second learning model according to the embodiment. 図14は、実施形態に係る第1学習モデルの生成処理手順を示すフローチャートである。FIG. 14 is a flowchart illustrating the generation processing procedure of the first learning model according to the embodiment. 図15は、実施形態に係る第2学習モデルの生成処理手順を示すフローチャートである。FIG. 15 is a flowchart illustrating the generation processing procedure of the second learning model according to the embodiment. 図16は、実施形態に係る情報処理手順を示すフローチャートである。FIG. 16 is a flowchart illustrating an information processing procedure according to the embodiment. 図17は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。FIG. 17 is a hardware configuration diagram illustrating an example of a computer that realizes the functions of the information processing device.

以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。   Hereinafter, an information processing apparatus, an information processing method, and an embodiment (hereinafter, referred to as “embodiment”) for implementing 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 by the embodiment. In the following embodiments, the same portions are denoted by the same reference numerals, and overlapping description will be omitted.

〔1.情報処理の一例〕
まず、図1を用いて、実施形態に係る情報処理の一例について説明する。図1は、実施形態に係る情報処理の一例を示す図である。図1に示す情報処理は、ユーザ端末10とクライアント端末20と検索サーバ50と情報処理装置100とによって行われる。
[1. Example of information processing)
First, an example of information processing according to the embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of information processing according to the embodiment. The information processing illustrated in FIG. 1 is performed by the user terminal 10, the client terminal 20, the search server 50, and the information processing device 100.

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

ユーザ端末10は、検索サービスを利用するユーザによって使用される情報処理装置である。ユーザ端末10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。なお、以下では、ユーザ端末10をユーザと同一視する場合がある。すなわち、以下では、ユーザをユーザ端末10と読み替えることもできる。   The user terminal 10 is an information processing device used by a user who uses a search service. 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 in some cases. That is, the user can be replaced with the user terminal 10 below.

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

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

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

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

クライアント端末20は、ユーザの検索動向を分析する分析テーマに関するキーワードである分析クエリを情報処理装置100に送信する。具体的には、クライアント端末20は、複数の分析クエリを情報処理装置100に送信する。例えば、広告主であるクライアントが、検索クエリの分析テーマとして「骨の健康関連」を希望しているとする。また、より具体的には、広告主であるクライアントは、分析テーマに関するキーワードとして、「骨 健康」、「骨 丈夫」、「カルシウム 小魚」などを意図しているものとする。この場合、クライアント端末20は、広告主であるクライアントの操作にしたがって、「骨 健康」、「骨 丈夫」、「カルシウム 小魚」などの複数の分析クエリを情報処理装置100に送信する。また、クライアント端末20は、分析クエリに類似する検索クエリである類似クエリを分類する分類軸(カテゴリ)に関する情報を情報処理装置100に送信する。例えば、クライアント端末20は、情報処理装置100によって提供される検索クエリの分析サービスを利用するためのユーザーインターフェースを通じて、分析クエリと分類軸(カテゴリ)に関する情報とを情報処理装置100に送信する。   The client terminal 20 transmits, to the information processing apparatus 100, an analysis query that is a keyword related to an analysis theme for analyzing a user's search trend. Specifically, the client terminal 20 transmits a plurality of analysis queries to the information processing device 100. For example, suppose that a client who is an advertiser wants “bone health-related” as a search query analysis theme. More specifically, it is assumed that the client who is the advertiser intends “bone health”, “bone strong”, “calcium fish”, etc. as keywords related to the analysis theme. In this case, the client terminal 20 transmits a plurality of analysis queries such as “bone health”, “bone strength”, and “calcium fish” to the information processing apparatus 100 according to the operation of the client as the advertiser. Further, the client terminal 20 transmits to the information processing apparatus 100 information on a classification axis (category) for classifying a similar query that is a search query similar to the analysis query. For example, the client terminal 20 transmits the analysis query and the information on the classification axis (category) to the information processing apparatus 100 through a user interface for using the search query analysis service provided by the information processing apparatus 100.

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

また、検索サーバ50は、ユーザによって入力された検索クエリに関する情報を記憶する。具体的には、検索サーバ50は、ユーザの検索履歴に関する情報を記憶する。例えば、検索サーバ50は、ユーザ端末10から検索クエリを受け付けると、受け付けた検索クエリと検索クエリの送信元であるユーザを識別するユーザIDと検索クエリの送信日時とを対応付けてデータベースに登録する。検索サーバ50は、情報処理装置100の要求に応じて、ユーザによって入力された検索クエリに関する情報を情報処理装置100に送信する。   Further, the search server 50 stores information related to the search query input by the user. Specifically, the search server 50 stores information on the search history of the user. For example, when the search server 50 receives a search query from the user terminal 10, the search server 50 registers the received search query, a user ID for identifying a user who is the source of the search query, and a transmission date and time of the search query in association with each other in the database. . The search server 50 transmits information on the search query input by the user to the information processing device 100 in response to a request from the information processing device 100.

情報処理装置100は、広告主であるクライアントに対して、検索クエリの分析サービスを提供するサーバ装置である。具体的には、情報処理装置100は、ユーザの検索動向を分析する分析テーマに関するキーワードである分析クエリをクライアント端末20から受け付ける。なお、情報処理装置100は、分析テーマに関する複数の分析クエリを受け付けてもよい。例えば、広告主であるクライアントが、検索クエリの分析テーマとして「骨の健康関連」を希望しているとする。そして、情報処理装置100は、「骨 健康」、「骨 丈夫」、「カルシウム 小魚」など複数の分析クエリをクライアント端末20から受け付ける。これにより、情報処理装置100は、一度に一つの分析クエリを受け付ける場合よりも、より多くの類似クエリを抽出することができる。すなわち、情報処理装置100は、広告主であるクライアントの分析テーマに沿った類似クエリを漏れなく抽出することができる。続いて、情報処理装置100は、受け付けた分析テーマに対応する検索クエリを抽出する。例えば、情報処理装置100は、後述する第1学習モデルを用いて、分析クエリと類似する特徴を有する検索クエリである類似クエリを抽出する。ここで、第1学習モデルとは、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから前記所定の検索クエリの特徴情報を予測する学習モデルである。なお、以下では、適宜、第1学習モデルを第1モデル(又は、第1モデルM1)と記載する。   The information processing device 100 is a server device that provides a search query analysis service to a client as an advertiser. Specifically, the information processing apparatus 100 receives, from the client terminal 20, an analysis query that is a keyword related to an analysis theme for analyzing a search trend of the user. Note that the information processing device 100 may receive a plurality of analysis queries on the analysis theme. For example, suppose that a client who is an advertiser wants “bone health-related” as a search query analysis theme. Then, the information processing apparatus 100 receives a plurality of analysis queries such as “bone health”, “bone strength”, and “calcium small fish” from the client terminal 20. Thus, the information processing apparatus 100 can extract more similar queries than when receiving one analysis query at a time. That is, the information processing apparatus 100 can completely extract similar queries according to the analysis theme of the client as the advertiser. Subsequently, the information processing device 100 extracts a search query corresponding to the received analysis theme. For example, the information processing apparatus 100 extracts a similar query that is a search query having characteristics similar to the analysis query, using a first learning model described later. Here, the first learning model means that a plurality of search queries input by the same user within a predetermined time period are learned as having similar characteristics, so that a predetermined search query This is a learning model for predicting feature information. Hereinafter, the first learning model is referred to as a first model (or a first model M1) as appropriate.

また、情報処理装置100は、分析クエリに類似する検索クエリである類似クエリを分類する分類軸(カテゴリ)をクライアント端末20から受け付ける。なお、情報処理装置100は、分類対象となる一つの類似クエリの集合について、複数の分類軸(カテゴリ)を受け付けてもよい。続いて、情報処理装置100は、受け付けた分類軸に対応するカテゴリに類似クエリを分類する。例えば、情報処理装置100は、後述する第2学習モデルを用いて、受け付けた分類軸に対応するカテゴリに類似クエリを分類する。ここで、第2学習モデルとは、第1学習モデルを用いて生成された学習モデルであって、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する学習モデルである。なお、以下では、適宜、第2学習モデルを第2モデル(又は、第2モデルM2)と記載する。   Further, the information processing apparatus 100 receives, from the client terminal 20, a classification axis (category) for classifying a similar query that is a search query similar to the analysis query. Note that the information processing apparatus 100 may accept a plurality of classification axes (categories) for a set of one similar query to be classified. Subsequently, the information processing device 100 classifies the similar query into a category corresponding to the received classification axis. For example, the information processing apparatus 100 classifies the similar query into a category corresponding to the received classification axis using a second learning model described later. Here, the second learning model is a learning model generated using the first learning model, and is a learning model that predicts a category to which a predetermined search query belongs from a predetermined search query. In the following, the second learning model is appropriately described as a second model (or a second model M2).

また、情報処理装置100は、第1学習モデルを生成する。具体的には、情報処理装置100は、同一のユーザによって所定の時間内に入力された複数の検索クエリの分散表現が類似するように第1学習モデルを学習させることで、所定の検索クエリから所定の検索クエリの特徴情報を予測する第1学習モデルを生成する。ここで、情報処理装置100は、ユーザによる1回の検索ごとに検索ボックスに入力された文字列全体をユーザによって入力された検索クエリとして学習する。例えば、情報処理装置100は、ユーザU1による1回の検索で検索ボックスに「六本木 パスタ」のように複数の文字列を含む検索クエリが入力された場合は、「六本木 パスタ」全体で一つの検索クエリとして学習する。また、情報処理装置100は、同一のユーザによって各検索クエリが入力された時間の間隔が所定の時間内(例えば、2分以内)であるような複数の検索クエリを同一のユーザによって所定の時間内に入力された複数の検索クエリとして学習する。すなわち、情報処理装置100は、同一のユーザによって短時間のうちに立て続けに入力された複数の検索クエリは、類似する特徴を有するものとして学習する。なお、情報処理装置100は、所定の検索クエリが入力されて、所定の時間を超えて(例えば、2分以上経って)から、他の検索クエリが入力された場合は、所定の検索クエリと他の検索クエリとは、相違する特徴を有するものとして学習する。   Further, the information processing device 100 generates a first learning model. Specifically, the information processing apparatus 100 learns the first learning model so that the distributed expressions of a plurality of search queries input by the same user within a predetermined time are similar, so that the predetermined search query A first learning model for predicting feature information of a predetermined search query is generated. Here, the information processing apparatus 100 learns the entire character string input to the search box as a search query input by the user for each search performed by the user. For example, when a search query including a plurality of character strings such as “Roppongi pasta” is input to the search box in a single search by the user U1, the information processing apparatus 100 performs one search for the entire “Roppongi pasta”. Learn as a query. In addition, the information processing apparatus 100 may execute a plurality of search queries such that an interval of time when each search query is input by the same user is within a predetermined time (for example, within 2 minutes) by the same user for a predetermined time. Learn as multiple search queries entered in. That is, the information processing apparatus 100 learns that a plurality of search queries input by the same user in quick succession have similar characteristics. Note that, when a predetermined search query is input and another search query is input after a predetermined time (for example, after two minutes or more), the predetermined search query and the predetermined search query are input. Learning is performed as having different characteristics from other search queries.

一般的に、検索者が検索を行う際、一回の検索で検索者の意図する情報に到達するケースよりも、異なる検索クエリを用いて複数回にわたって検索を行った結果、検索者の意図する情報に到達するケースの方が多いと考えられる。すなわち、ユーザはある意図を持って検索を複数回行うと考えられるため、所定の時間内に連続して入力された検索クエリは、検索意図が近いという推定が成り立つ。そこで、本願発明に係る情報処理装置100は、同一のユーザによって所定の時間内に連続して入力された複数の検索クエリは、類似する特徴を有するものとして第1学習モデルを学習させる。具体的には、情報処理装置100は、ユーザによって入力された検索クエリに関する情報を検索サーバ50から取得する。続いて、情報処理装置100は、検索サーバ50から取得した検索クエリのうち、同一のユーザによって所定の時間内に入力された複数の検索クエリを抽出する。続いて、情報処理装置100は、抽出した複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する第1学習モデルを生成する。例えば、情報処理装置100は、抽出した複数の検索クエリの分散表現が類似するように第1学習モデルを学習させることで、所定の検索クエリから所定の検索クエリの特徴情報を含む分散表現(ベクトル)を出力する第1学習モデルを生成する。   In general, when a searcher performs a search, the searcher performs a search multiple times using different search queries, rather than the case where the searcher reaches the information intended by the searcher, and the searcher's intention It is thought that there are more cases where information is reached. That is, since it is considered that the user performs a search a plurality of times with a certain intention, it is presumed that a search query continuously input within a predetermined time has a similar search intention. Therefore, the information processing apparatus 100 according to the present invention learns the first learning model assuming that a plurality of search queries continuously input by the same user within a predetermined time have similar characteristics. Specifically, the information processing apparatus 100 acquires information on the search query input by the user from the search server 50. Subsequently, the information processing apparatus 100 extracts a plurality of search queries input by the same user within a predetermined time from the search queries acquired from the search server 50. Subsequently, the information processing apparatus 100 generates a first learning model that predicts feature information of a predetermined search query from a predetermined search query by learning as a plurality of extracted search queries having similar characteristics. . For example, the information processing apparatus 100 trains the first learning model so that the distributed expressions of the plurality of extracted search queries are similar to each other, so that the distributed expression (vector ) Is generated.

より具体的には、情報処理装置100は、RNN(Recurrent Neural Network)の一種であるLSTM(Long Short-Term Memory)を分散表現生成に用いたDSSM(Deep Structured Sematic Model)の技術を用いて、検索クエリから分散表現(ベクトル)を出力する第1学習モデルを生成する。例えば、情報処理装置100は、第1学習モデルの正解データとして、同一のユーザによって所定の時間内に入力された一対の検索クエリが類似する特徴を有するものとして、所定の検索クエリの分散表現(ベクトル)と、所定の検索クエリと対となる他の検索クエリの分散表現(ベクトル)とが、分散表現空間上で近くに存在するように学習する。なお、2つのベクトルが分散表現空間上で近くに存在するように学習することは、2つのベクトルが分散表現空間上で類似するように学習することと言い換えることができる。このように、情報処理装置100は、LSTMを分散表現生成に用いたDSSMの技術を用いて第1学習モデルを生成するため、情報処理装置100によって生成された第1学習モデルは、任意の文字列から分散表現(ベクトル)を生成することができる。つまり、情報処理装置100は、既知の文字列(例えば、学習時に学習した検索クエリ)の分散表現(ベクトル)だけでなく、未知の文字列(例えば、学習時に学習したことがない検索クエリ)についても分散表現(ベクトル)を生成することができる。   More specifically, the information processing apparatus 100 uses a DSSM (Deep Structured Sematic Model) technique that uses LSTM (Long Short-Term Memory), which is a type of RNN (Recurrent Neural Network), for generating a distributed expression. A first learning model that outputs a distributed expression (vector) from the search query is generated. For example, the information processing apparatus 100 determines that a pair of search queries input by the same user within a predetermined time period have similar characteristics as the correct answer data of the first learning model, and the distributed expression of the predetermined search query ( (A vector) and a distributed expression (vector) of another search query paired with a predetermined search query are learned so as to be close to each other in the distributed expression space. Learning to make two vectors close to each other in a distributed expression space can be rephrased as learning to make two vectors similar in a distributed expression space. As described above, since the information processing apparatus 100 generates the first learning model using the DSSM technique using the LSTM for generating the distributed expression, the first learning model generated by the information processing apparatus 100 includes an arbitrary character. A distributed representation (vector) can be generated from the columns. In other words, the information processing apparatus 100 not only performs a distributed expression (vector) of a known character string (for example, a search query learned during learning) but also an unknown character string (for example, a search query that has not been learned during learning). Can also generate a distributed representation (vector).

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

ここから、図1を用いて、情報処理の流れについて説明する。図1は、実施形態に係る情報処理の一例を示す図である。図1に示す例では、広告主であるクライアントが希望する分析テーマは「骨の健康関連」である。例えば、広告主であるクライアントは、健康関連事業を営む事業者である。また、広告主であるクライアントは、自社の商品に関する広告を展開するにあたり、「骨の健康」に関心のあるユーザの検索動向を分析することを希望している。情報処理装置100は、分析クエリである「骨 健康」と4つの小分類から成る分類軸(カテゴリ)とをクライアント端末20から受け付ける(ステップS1)。なお、情報処理装置100は、広告主であるクライアントから指定された分類軸(カテゴリ)を受け付ける代わりに、後述する図9に示す分類定義記憶部123に示すカテゴリの中から、広告主であるクライアントによって選択された大分類を分類軸として受け付けてもよい。図1に示す例では、広告主であるクライアントは、後述する分類定義記憶部123に示すカテゴリの中から、大分類ID「CAT2」で識別される大分類「健康系」を選択する。そして、情報処理装置100は、広告主であるクライアントによって選択された大分類「健康系」を分類軸として受け付ける。   Now, the flow of information processing will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of information processing according to the embodiment. In the example shown in FIG. 1, the analysis theme desired by the client as the advertiser is “related to bone health”. For example, an advertiser client is a business that runs a health-related business. In addition, a client who is an advertiser wants to analyze search trends of users who are interested in “bone health” when developing advertisements for their products. The information processing apparatus 100 receives the analysis query “bone health” and a classification axis (category) including four small classifications from the client terminal 20 (step S1). Note that the information processing apparatus 100, instead of receiving the classification axis (category) specified by the client as the advertiser, selects the client as the advertiser from the categories shown in the classification definition storage unit 123 shown in FIG. May be received as a classification axis. In the example illustrated in FIG. 1, the client as the advertiser selects the large category “healthy” identified by the large category ID “CAT2” from the categories shown in the category definition storage unit 123 described below. Then, the information processing apparatus 100 receives the major category “healthy” selected by the client as the advertiser as a category axis.

続いて、情報処理装置100は、分析クエリを受け付けると、受け付けた分析クエリ「骨 健康」を第1モデルM1に入力する(ステップS2)。情報処理装置100は、あらかじめ、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、複数の検索クエリが有する特徴を学習した第1モデルM1を生成しているものとする。情報処理装置100は、分析クエリを第1モデルM1に入力すると、分析クエリ「骨 健康」の分散表現(ベクトル)を第1モデルM1から出力する(ステップS3)。   Subsequently, when receiving the analysis query, the information processing apparatus 100 inputs the received analysis query “bone health” to the first model M1 (Step S2). The information processing apparatus 100 generates a first model M1 in which a plurality of search queries input by the same user within a predetermined period of time previously have similar characteristics, and learns the features of the plurality of search queries. It is assumed that When the analysis query is input to the first model M1, the information processing apparatus 100 outputs a distributed expression (vector) of the analysis query “bone health” from the first model M1 (step S3).

続いて、情報処理装置100は、分析クエリ「骨 健康」の分散表現(ベクトル)を出力すると、分散表現(ベクトル)同士の類似度が所定の閾値を超える検索クエリを分析クエリ「骨 健康」に類似する類似クエリとして抽出する(ステップS4)。例えば、情報処理装置100は、分散表現空間において、出力した分析クエリ「骨 健康」の分散表現(ベクトル)の近傍に位置する分散表現(ベクトル)を抽出する。続いて、情報処理装置100は、分析クエリ「骨 健康」の分散表現(ベクトル)と近傍に位置する分散表現(ベクトル)との類似度を算出する。例えば、情報処理装置100は、分散表現(ベクトル)同士のコサイン類似度を算出する。続いて、情報処理装置100は、コサイン類似度が所定の閾値を超える分散表現(ベクトル)を分析クエリ「骨 健康」の分散表現(ベクトル)と類似する分散表現(ベクトル)として抽出する。なお、情報処理装置100は、コサイン類似度に限らず、ベクトル間の距離尺度として適用可能な指標であれば、どのような指標に基づいて分散表現(ベクトル)の間の類似度を算出してもよい。例えば、情報処理装置100は、分散表現(ベクトル)同士のユークリッド距離や双曲空間等の非ユークリッド空間中での距離、マンハッタン距離、マハラノビス距離等といった所定の距離関数の値を算出する。続いて、情報処理装置100は、分散表現(ベクトル)同士の所定の距離関数の値(すなわち、分散表現空間における距離)が所定の閾値を下回る分散表現(ベクトル)を分析クエリ「骨 健康」の分散表現(ベクトル)と類似する分散表現(ベクトル)として抽出してもよい。続いて、情報処理装置100は、類似する分散表現(ベクトル)を抽出すると、後述するベクトル情報記憶部122を参照して、抽出した分散表現(ベクトル)に対応する検索クエリを特定する。そして、情報処理装置100は、特定した検索クエリを分析クエリと類似する類似クエリとして抽出する。   Subsequently, when the information processing apparatus 100 outputs the distributed expression (vector) of the analysis query “bone health”, the search query in which the similarity between the distributed expressions (vectors) exceeds a predetermined threshold is converted to the analysis query “bone health”. A similar query is extracted as a similar query (step S4). For example, the information processing apparatus 100 extracts a distributed expression (vector) located near the distributed expression (vector) of the output analysis query “bone health” in the distributed expression space. Subsequently, the information processing apparatus 100 calculates the similarity between the distributed expression (vector) of the analysis query “bone health” and the distributed expression (vector) located in the vicinity. For example, the information processing apparatus 100 calculates the cosine similarity between the distributed expressions (vectors). Subsequently, the information processing apparatus 100 extracts a distributed expression (vector) having a cosine similarity exceeding a predetermined threshold as a distributed expression (vector) similar to the distributed expression (vector) of the analysis query “bone health”. Note that the information processing apparatus 100 calculates the similarity between the distributed expressions (vectors) based on not only the cosine similarity but any index that can be applied as a distance measure between the vectors. Is also good. For example, the information processing apparatus 100 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, and a Mahalanobis distance. Subsequently, the information processing apparatus 100 determines the distributed expression (vector) in which the value of the predetermined distance function (that is, the distance in the distributed expression space) between the distributed expressions (vectors) is smaller than the predetermined threshold value by the analysis query “bone health”. It may be extracted as a distributed expression (vector) similar to the distributed expression (vector). Subsequently, upon extracting a similar distributed expression (vector), the information processing apparatus 100 specifies a search query corresponding to the extracted distributed expression (vector) with reference to the vector information storage unit 122 described later. Then, the information processing device 100 extracts the specified search query as a similar query similar to the analysis query.

続いて、情報処理装置100は、類似クエリを抽出すると、抽出した類似クエリを第2モデルM2に入力する(ステップS5)。情報処理装置100は、類似クエリを第2モデルM2に入力すると、類似クエリが属するカテゴリを第2モデルM2から出力する(ステップS6)。なお、情報処理装置100は、広告主であるクライアントによって指定された分類軸(カテゴリ)を受け付けてから、受け付けた分類軸(カテゴリ)に応じて検索クエリを分類するように第2モデルM2を学習させてもよい。あるいは、情報処理装置100は、後述する分類定義記憶部123に示すカテゴリに応じて検索クエリを分類するようにあらかじめ第2モデルM2を学習させる。そして、情報処理装置100は、分類定義記憶部123に示すカテゴリの中から広告主であるクライアントに分類軸を選択させ、広告主であるクライアントによって選択された分類軸(カテゴリ)をクライアント端末20から受け付けてもよい。   Subsequently, when the similar query is extracted, the information processing apparatus 100 inputs the extracted similar query to the second model M2 (Step S5). When the similar query is input to the second model M2, the information processing apparatus 100 outputs the category to which the similar query belongs from the second model M2 (Step S6). The information processing apparatus 100 receives the classification axis (category) specified by the client as the advertiser, and then learns the second model M2 so as to classify the search query according to the received classification axis (category). May be. Alternatively, the information processing device 100 learns the second model M2 in advance so as to classify the search query according to the category shown in the classification definition storage unit 123 described later. Then, the information processing apparatus 100 causes the client as the advertiser to select a classification axis from the categories shown in the classification definition storage unit 123, and outputs the classification axis (category) selected by the client as the advertiser from the client terminal 20. May be accepted.

続いて、情報処理装置100は、分類軸(カテゴリ)に応じたクエリの分類結果をクライアント端末20に送信する(ステップS7)。例えば、情報処理装置100は、分類軸(カテゴリ)に応じたクエリの分類結果として、分析テーマである「骨の健康関連」に関する検索クエリとして検索された検索クエリの構成を提供する。例えば、情報処理装置100は、分析クエリに類似する類似クエリとして抽出した検索クエリの内訳として、「飲み物」に関する検索クエリの割合が40%、「食べ物」に関する検索クエリの割合が30%、「運動」に関する検索クエリの割合が20%、「サプリメント」に関する検索クエリの割合が10%であるといった分析結果を提供する。   Subsequently, the information processing apparatus 100 transmits the result of the classification of the query according to the classification axis (category) to the client terminal 20 (step S7). For example, the information processing apparatus 100 provides a configuration of a search query searched as a search query related to “analysis related to bone health”, which is an analysis theme, as a query classification result according to a classification axis (category). For example, as a breakdown of the search queries extracted as similar queries similar to the analysis query, the information processing apparatus 100 has a search query ratio of “drink” of 40%, a search query of “food” of 30%, and “exercise”. The analysis result that the ratio of the search query about "supplement" is 20% and the ratio of the search query about "supplement" is 10% is provided.

上述したように、情報処理装置100は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、複数の検索クエリが有する特徴を学習した第1学習モデルを用いて、所定の検索クエリと類似する特徴を有する検索クエリである類似クエリを抽出する。後述するように、第1学習モデルは、検索クエリを入力したユーザのコンテクストを踏まえて、検索クエリの意味を適切に解釈することを可能にする。よって、情報処理装置100は、第1学習モデルを用いることにより、検索クエリを入力したユーザのコンテクストを考慮して、ユーザの検索動向を分析することができる。したがって、情報処理装置100は、ユーザの検索動向の分析精度を高めることができる。   As described above, the information processing apparatus 100 determines that the plurality of search queries input by the same user within a predetermined time period have similar characteristics, and the first learning model that has learned the features of the plurality of search queries. Is used to extract a similar query that is a search query having characteristics similar to a predetermined search query. As will be described later, the first learning model makes it possible to appropriately interpret the meaning of the search query based on the context of the user who has input the search query. Therefore, by using the first learning model, the information processing apparatus 100 can analyze the search trend of the user in consideration of the context of the user who has input the search query. Therefore, the information processing apparatus 100 can improve the analysis accuracy of the search trend of the user.

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

続いて、情報処理装置100は、抽出した検索クエリQ11を第1モデルM1に入力して、検索クエリQ11の分散表現であるベクトルBQV11を出力する。ここで、ベクトルBQV11は、第1モデルM1の出力層から出力されたばかりの検索クエリQ11の分散表現であって、第1モデルM1にフィードバックをかける前(学習前)の分散表現を示す。また、情報処理装置100は、抽出した検索クエリQ12を第1モデルM1に入力して、検索クエリQ12の分散表現であるベクトルBQV12を出力する。ここで、ベクトルBQV12は、第1モデルM1の出力層から出力されたばかりの検索クエリQ12の分散表現であって、第1モデルM1にフィードバックをかける前(学習前)の分散表現を示す。このようにして、情報処理装置100は、検索クエリQ11の分散表現であるベクトルBQV11と、検索クエリQ12の分散表現であるベクトルBQV12とを出力する(ステップS12)。   Subsequently, the information processing apparatus 100 inputs the extracted search query Q11 to 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 that has just been output from the output layer of the first model M1, and indicates a distributed expression before applying feedback to the first model M1 (before learning). Further, the information processing device 100 inputs the extracted search query Q12 to the first model M1, and outputs a vector BQV12 that is a distributed expression of the search query Q12. Here, the vector BQV12 is a distributed expression of the search query Q12 that has just been output from the output layer of the first model M1, and indicates a distributed expression before applying feedback to the first model M1 (before learning). Thus, the information processing apparatus 100 outputs the vector BQV11, which is a distributed expression of the search query Q11, and the vector BQV12, which is a distributed expression of the search query Q12 (step S12).

続いて、情報処理装置100は、同一のユーザU1によって所定の時間内に連続して入力された検索クエリQ11(「六本木 パスタ」)と検索クエリQ12(「六本木 イタリアン」)とから成る一対の検索クエリは、所定の検索意図(例えば、「ある場所で飲食店を探す」という検索意図)で入力された検索クエリであると推定されるため、相互に類似する特徴を有するものとして、検索クエリQ11の分散表現(ベクトルQV11)と、検索クエリQ11と対となる検索クエリQ12の分散表現(ベクトルQV12)とが、分散表現空間上で類似するように第1モデルM1を学習させる。例えば、第1モデルM1にフィードバックをかける前(学習前)の検索クエリQ11の分散表現であるベクトルBQV11と検索クエリQ12の分散表現であるベクトルBQV12とのなす角度の大きさをΘとする。また、第1モデルM1にフィードバックをかけた後(学習後)の検索クエリQ11の分散表現であるベクトルQV11と検索クエリQ12の分散表現であるベクトルQV12とのなす角度の大きさをΦとする。この時、情報処理装置100は、ΘよりもΦが小さくなるように、第1モデルM1を学習させる。例えば、情報処理装置100は、ベクトルBQV11とベクトルBQV12のコサイン類似度の値を算出する。また、情報処理装置100は、ベクトルQV11とベクトルQV12のコサイン類似度の値を算出する。続いて、情報処理装置100は、ベクトルBQV11とベクトルBQV12のコサイン類似度の値よりも、ベクトルQV11とベクトルQV12のコサイン類似度の値が大きくなるように(値が1に近づくように)第1モデルM1を学習させる。このように、情報処理装置100は、一対の検索クエリに対応する一対の分散表現である2つのベクトルが分散表現空間上で類似するように第1モデルM1を学習させることで、検索クエリから分散表現(ベクトル)を出力する第1モデルM1を生成する(ステップS13)。なお、情報処理装置100は、コサイン類似度に限らず、ベクトル間の距離尺度として適用可能な指標であれば、どのような指標に基づいて分散表現(ベクトル)の間の類似度を算出してもよい。また、情報処理装置100は、ベクトル間の距離尺度として適用可能な指標であれば、どのような指標に基づいて第1モデルM1を学習させてもよい。例えば、情報処理装置100は、分散表現(ベクトル)同士のユークリッド距離や双曲空間等の非ユークリッド空間中での距離、マンハッタン距離、マハラノビス距離等といった所定の距離関数の値を算出する。続いて、情報処理装置100は、分散表現(ベクトル)同士の所定の距離関数の値(すなわち、分散表現空間における距離)が小さくなるように第1モデルM1を学習させてもよい。   Subsequently, the information processing apparatus 100 generates a pair of search queries including a search query Q11 (“Roppongi pasta”) and a search query Q12 (“Roppongi Italian”) continuously input within the predetermined time by the same user U1. Since the query is assumed to be a search query input with a predetermined search intention (for example, a search intention of “searching for a restaurant in a certain place”), the search query Q11 is assumed to have mutually similar characteristics. 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 that is the distributed expression of the search query Q11 and the vector BQV12 that is the distributed expression of the search query Q12 before applying feedback to the first model M1 (before learning) is denoted by Θ. Further, the magnitude of the angle formed between the vector QV11, which is the distributed expression of the search query Q11, and the vector QV12, which is the distributed expression of the search query Q12, after applying feedback to the first model M1 (after learning) is Φ. At this time, the information processing device 100 trains the first model M1 so that Φ is smaller than Θ. For example, the information processing apparatus 100 calculates the value of the cosine similarity between the vector BQV11 and the vector BQV12. Further, the information processing apparatus 100 calculates a cosine similarity value between the vector QV11 and the vector QV12. Subsequently, the information processing apparatus 100 sets the first value of the cosine similarity between the vector QV11 and the vector QV12 to be larger (the value approaches 1) than the value of the cosine similarity between the vector BQV11 and the vector BQV12. The model M1 is learned. As described above, the information processing apparatus 100 learns the first model M1 so that two vectors, which are a pair of distributed expressions corresponding to a pair of search queries, are similar in the distributed expression space. A first model M1 that outputs an expression (vector) is generated (step S13). Note that the information processing apparatus 100 calculates the similarity between the distributed expressions (vectors) based on not only the cosine similarity but any index that can be applied as a distance measure between the vectors. Is also good. The information processing apparatus 100 may cause the first model M1 to learn based on any index as long as it is an index applicable as a distance measure between vectors. For example, the information processing apparatus 100 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, and a Mahalanobis distance. Subsequently, the information processing apparatus 100 may cause the first model M1 to learn such that the value of the predetermined distance function between the distributed expressions (vectors) (that is, the distance in the distributed expression space) is reduced.

次に、図3を用いて、第1学習モデルの生成処理の流れについてより詳しく説明する。なお、図3の説明では、図2の説明と重複する部分は、適宜省略する。図3は、実施形態に係る第1学習モデルの生成処理を示す図である。図3に示す例では、情報処理装置100が生成した第1モデルM1によって出力された分散表現(ベクトル)が分散表現空間にマッピングされる様子が示されている。情報処理装置100は、所定の検索クエリの分散表現と所定の検索クエリと対となる他の検索クエリの分散表現とが分散表現空間上で近くにマッピングされるように第1モデルM1のトレーニングを行う。   Next, the flow of the process of generating the first learning model will be described in more detail with reference to FIG. In the description of FIG. 3, portions that are the same as those in FIG. 2 will be omitted as appropriate. FIG. 3 is a diagram illustrating a generation process of the first learning model according to the embodiment. In the example illustrated in FIG. 3, a state is illustrated in which the distributed expression (vector) output by the first model M1 generated by the information processing device 100 is mapped to the distributed expression space. The information processing apparatus 100 performs the training of the first model M1 such that the distributed expression of the predetermined search query and the distributed expression of another search query paired with the predetermined search query are mapped close to each other in the distributed expression space. Do.

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

続いて、情報処理装置100は、抽出した検索クエリ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)。   Subsequently, the information processing apparatus 100 inputs the extracted search query Q1k (k = 1, 2, 3, 4) to the first model M1, and outputs the search query Q1k (k = 1, 2, 3, 4). A vector BQV1k (k = 1, 2, 3, 4) as a distributed representation is output. Here, the vector BQV1k (k = 1, 2, 3, 4) is a distributed expression 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 applying feedback to the first model M1 (before learning) is shown (step S22-1).

続いて、情報処理装置100は、同一のユーザU1によって所定の時間内に連続して入力された一対の検索クエリは、所定の検索意図(例えば、「ある場所(東京都港区付近)で飲食店を探す」という検索意図)で入力された検索クエリであると推定されるため、相互に類似する特徴を有するものとして、検索クエリQ11の分散表現(ベクトルQV11)と、検索クエリQ11と対となる検索クエリQ12の分散表現(ベクトルQV12)とが、分散表現空間上で類似するように第1モデルM1を学習させる。また、情報処理装置100は、検索クエリQ12の分散表現(ベクトルQV12)と、検索クエリQ12と対となる検索クエリQ13の分散表現(ベクトルQV13)とが、分散表現空間上で類似するように第1モデルM1を学習させる。また、情報処理装置100は、検索クエリQ13の分散表現(ベクトルQV13)と、検索クエリQ13と対となる検索クエリQ14の分散表現(ベクトルQV14)とが、分散表現空間上で類似するように第1モデルM1を学習させる。このように、情報処理装置100は、一対の検索クエリに対応する一対の分散表現である2つのベクトルが分散表現空間上で類似するように第1モデルM1を学習させることで、検索クエリから分散表現(ベクトル)を出力する第1モデルM1を生成する(ステップS23−1)。   Subsequently, the information processing apparatus 100 determines that a pair of search queries continuously input by the same user U1 within a predetermined time period has a predetermined search intention (for example, “eating and drinking at a certain location (near Minato-ku, Tokyo)”). It is assumed that the search query is a search query input by “search for a store”), so that the search query Q11 has distributed characteristics (vector QV11), The first model M1 is learned so that the distributed expression (vector QV12) of the search query Q12 becomes similar in the distributed expression space. Further, the information processing apparatus 100 determines that the distributed expression of the search query Q12 (vector QV12) and the distributed expression of the search query Q13 paired with the search query Q12 (vector QV13) are similar in the distributed expression space. One model M1 is trained. Further, the information processing apparatus 100 determines that the distributed expression of the search query Q13 (vector QV13) and the distributed expression of the search query Q14 paired with the search query Q13 (vector QV14) are similar in the distributed expression space. One model M1 is trained. As described above, the information processing apparatus 100 learns the first model M1 so that two vectors, which are a pair of distributed expressions corresponding to a pair of search queries, are similar in the distributed expression space. A first model M1 that outputs an expression (vector) is generated (step S23-1).

図3の上段に示す情報処理の結果として、検索クエリ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)は、「ある場所(東京都港区付近)で飲食店を探す」という検索意図の下で検索された検索クエリであるという点で、相互に類似する特徴を有する検索クエリであると推定される。ここで、情報処理装置100は、「ある場所(東京都港区付近)で飲食店を探す」という検索意図で入力された所定の検索クエリが第1モデルに入力されると、クラスタCL11の位置にマッピングされるような分散表現を出力することができる。これにより、例えば、情報処理装置100は、クラスタCL11の位置にマッピングされる分散表現に対応する検索クエリを抽出することにより、「ある場所(東京都港区付近)で飲食店を探す」という検索意図に応じた検索クエリを抽出することができる。したがって、情報処理装置100は、検索クエリの意味を適切に解釈可能とすることができる。   As a result of the information processing shown in the upper part of FIG. 3, a vector QV1k (k = 1, 2, 3, 4) which is a distributed expression of the search query Q1k (k = 1, 2, 3, 4) is close to the distributed expression space. The state where the position is mapped as the cluster CL11 is shown. 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 “search for a restaurant in a certain place (near Minato-ku, Tokyo)”. Is estimated. That is, the search query Q1k (k = 1, 2, 3, 4) is a search query searched under the search intention of “search for a restaurant in a certain place (near Minato-ku, Tokyo)”. , Are presumed to be search queries having mutually similar characteristics. Here, when a predetermined search query input with a search intention of “search for a restaurant in a certain place (near Minato-ku, Tokyo)” is input to the first model, the information processing apparatus 100 determines the position of the cluster CL11. Can be output. Thus, for example, the information processing apparatus 100 extracts a search query corresponding to the distributed expression mapped to the position of the cluster CL11, thereby performing a search of “search for a restaurant in a certain place (near Minato-ku, Tokyo)”. A search query according to the intention can be extracted. Therefore, the information processing apparatus 100 can appropriately interpret the meaning of the search query.

図3の下段に示す例では、情報処理装置100は、同一のユーザU2によって所定の時間内に連続して入力された3個の検索クエリである検索クエリQ21(「冷蔵庫 400L」)、検索クエリQ22(「冷蔵庫 中型」)、検索クエリQ23(「冷蔵庫 中型 おすすめ」)を抽出する。情報処理装置100は、検索クエリが入力された順番に並べると、検索クエリQ21、検索クエリQ22、検索クエリQ23の順番で入力された3個の検索クエリを抽出する。情報処理装置100は、3個の検索クエリを抽出すると、時系列的に隣り合う2つの検索クエリを一対の検索クエリとして、2対の検索クエリのペアである(検索クエリQ21、検索クエリQ22)、(検索クエリQ22、検索クエリQ23)を抽出する(ステップS21−2)。   In the example illustrated in the lower part of FIG. 3, the information processing apparatus 100 includes a search query Q21 (“refrigerator 400L”), which is three search queries continuously input within a predetermined time by the same user U2, and a search query. Q22 (“refrigerator medium-sized”) and search query Q23 (“refrigerator medium-sized recommended”) are extracted. When the search queries are arranged in the input order, the information processing apparatus 100 extracts 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 information processing device 100 sets two search queries 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) (step S21-2).

続いて、情報処理装置100は、抽出した検索クエリ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 information processing apparatus 100 inputs the extracted search query Q2m (m = 1, 2, 3) to the first model M1, and is a distributed expression of the search query Q2m (m = 1, 2, 3). The vector BQV2m (m = 1, 2, 3) is output. Here, the vector BQV2m (m = 1, 2, 3) is a distributed expression of the search query Q2m (m = 1, 2, 3) just output from the output layer of the first model M1, and A distributed expression before applying feedback to M1 (before learning) is shown (step S22-2).

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

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

また、本願発明に係る情報処理装置100は、ランダムに抽出された複数の検索クエリは、異なる検索意図の下で検索された検索クエリであるという点で、相互に相違する特徴を有する検索クエリであるとみなして第1モデルM1を学習させる。具体的には、情報処理装置100は、所定の検索クエリの分散表現と、所定の検索クエリとは無関係にランダムに抽出された検索クエリの分散表現とが分散表現空間上で遠くにマッピングされるように第1モデルM1のトレーニングを行う。図3に示す例では、情報処理装置100は、検索クエリQ11とは無関係にランダムに検索クエリを抽出したところ、検索クエリQ21が抽出されたとする。この場合、情報処理装置100は、検索クエリ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とは、分散表現空間上で遠くにマッピングされる。すなわち、本願発明に係る情報処理装置100は、ランダムに抽出された複数の検索クエリの分散表現が相違するように第1モデルM1を学習させることにより、検索意図が異なる検索クエリの分散表現を分散表現空間上で遠い位置に出力可能とする。   In addition, the information processing apparatus 100 according to the present invention is a search query having different characteristics in that a plurality of search queries randomly extracted are search queries searched under different search intentions. Assuming that there is, the first model M1 is learned. Specifically, in the information processing apparatus 100, the distributed expression of the predetermined search query and the distributed expression of the search query randomly extracted independently of the predetermined search query are distantly mapped in the distributed expression space. Training of the first model M1 is performed as described above. In the example illustrated in FIG. 3, it is assumed that the information processing apparatus 100 randomly extracts a search query irrespective of the search query Q11 and then extracts the search query Q21. In this case, the information processing apparatus 100 stores the distributed expression of the search query Q11 (vector QV11) and the distributed expression of the search query Q21 randomly extracted independently of the search query Q11 (vector QV21) on the distributed expression space. The first model M1 is trained so as to be mapped far away. As a result, a vector QV1k that is a distributed expression of the search query Q1k (k = 1, 2, 3, 4) searched under the search intention of “search for a restaurant in a certain place (near Minato-ku, Tokyo)” This is a distributed expression of a cluster CL11 including (k = 1, 2, 3, 4) and a search query Q2m (m = 1, 2, 3) searched under a search intention of “check medium-sized refrigerator”. The cluster CL21 including the vector QV2m (m = 1, 2, 3) is mapped far away in the distributed representation space. That is, the information processing apparatus 100 according to the present invention distributes the distributed expressions of the search queries having different search intentions by learning the first model M1 so that the distributed expressions of the plurality of search queries randomly extracted are different. Enables output to a distant position in the expression space.

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

上述したように、情報処理装置100は、ユーザによって入力された検索クエリを取得する。また、情報処理装置100は、取得した検索クエリのうち、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する第1モデルを生成する。すなわち、本願発明に係る情報処理装置100は、所定の時間内に連続して入力された複数の検索クエリは、所定の検索意図の下で検索された検索クエリであるという点で、相互に類似する特徴を有する検索クエリであるとみなして第1モデルを学習させる。具体的には、情報処理装置100は、同一のユーザによって所定の時間内に入力された複数の検索クエリの分散表現が類似するように第1モデルを学習させることで、所定の検索クエリから所定の検索クエリの特徴情報を含む分散表現を出力する第1モデルを生成する。すなわち、本願発明に係る情報処理装置100は、所定の時間内に連続して入力された複数の検索クエリの分散表現が類似するように第1モデルM1を学習させることにより、所定の検索意図の下で検索された検索クエリの分散表現を分散表現空間上で近い位置に出力可能とする。これにより、情報処理装置100は、検索クエリを入力したユーザのコンテクストに応じて検索クエリの意味(検索意図)を出力(解釈)することを可能にする。したがって、情報処理装置100は、検索クエリの意味を適切に解釈可能とすることができる。さらに、情報処理装置100は、所定の検索クエリの特徴情報を含む分散表現の近傍にマッピングされる分散表現に対応する検索クエリを抽出することにより、所定の検索クエリが検索された検索意図に応じた検索クエリを抽出することができる。すなわち、情報処理装置100は、検索クエリを入力したユーザの検索意図やコンテクストを考慮して、ユーザの検索動向を分析することを可能にする。したがって、情報処理装置100は、ユーザの検索動向の分析精度を高めることができる。また、情報処理装置100が生成した第1モデルM1を検索システムの一部として機能させることもできる。あるいは、情報処理装置100は、第1モデルM1によって予測された検索クエリの特徴情報を利用する他のシステム(例えば、検索エンジン)への入力情報として、第1モデルM1が出力した検索クエリの分散表現を提供することもできる。これにより、検索システムは、第1モデルM1によって予測された検索クエリの特徴情報に基づいて、検索結果として出力されるコンテンツを選択可能になる。すなわち、検索システムは、検索クエリを入力したユーザの検索意図やコンテクストを考慮して、検索結果として出力されるコンテンツを選択可能になる。さらに、検索システムは、第1モデルM1によって予測された検索クエリの特徴情報に基づいて、検索結果として出力されるコンテンツに含まれる文字列の分散表現と検索クエリの分散表現との類似度を算出可能になる。そして、検索システムは、算出した類似度に基づいて、検索結果として出力されるコンテンツの表示順を決定可能になる。すなわち、検索システムは、検索クエリを入力したユーザの検索意図やコンテクストを考慮して、検索結果として出力されるコンテンツの表示順を決定可能になる。したがって、情報処理装置100は、検索サービスにおけるユーザビリティを向上させることができる。   As described above, the information processing device 100 acquires the search query input by the user. In addition, the information processing apparatus 100 learns a plurality of search queries input by the same user within a predetermined period of time from among the acquired search queries as having similar characteristics. And generating a first model for predicting feature information of the search query. That is, the information processing apparatus 100 according to the present invention is similar to each other in that a plurality of search queries continuously input within a predetermined time are search queries searched under a predetermined search intention. The first model is learned as a search query having the following characteristics. More specifically, the information processing apparatus 100 learns the first model so that the distributed expressions of a plurality of search queries input by the same user within a predetermined time are similar to each other. And generating a first model that outputs a distributed expression including feature information of the search query. That is, the information processing apparatus 100 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. The distributed expression of the search query searched below can be output to a close position in the distributed expression space. This allows the information processing apparatus 100 to output (interpret) the meaning (search intent) of the search query according to the context of the user who has input the search query. Therefore, the information processing apparatus 100 can appropriately interpret the meaning of the search query. Further, the information processing apparatus 100 extracts a search query corresponding to the distributed expression mapped to the vicinity of the distributed expression including the characteristic information of the predetermined search query, and thereby, according to the search intention in which the predetermined search query is searched. Search queries can be extracted. That is, the information processing apparatus 100 enables analysis of a user's search trend in consideration of the search intention and context of the user who has input the search query. Therefore, the information processing apparatus 100 can improve the analysis accuracy of the search trend of the user. Further, the first model M1 generated by the information processing apparatus 100 can also function as a part of the search system. Alternatively, the information processing apparatus 100 distributes the search query output by the first model M1 as input information to another system (for example, a search engine) using the feature information of the search query predicted by the first model M1. An expression can also be provided. Thereby, the search system can select the content output as the search result based on the feature information of the search query predicted by the first model M1. That is, the search system can select the content output as a search result in consideration of the search intention and context of the user who has input the search query. Further, 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. 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 and context of the user who has input the search query. Therefore, the information processing device 100 can improve usability in the search service.

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

続いて、情報処理装置100は、検索クエリ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にフィードバックをかける前(学習前)の分散表現を示す。   Subsequently, the information processing apparatus 100 uses a vector BQV1k (k = 1, 2, 3, 4), which is a distributed expression of the search query Q1k (k = 1, 2, 3, 4), as output data of the first model M1. Output (Step S32). Here, the vector BQV1k (k = 1, 2, 3, 4) is a distributed expression 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 applying feedback to the first model M1 (before learning).

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

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

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

図4の下段に示す例では、情報処理装置100は、検索クエリが第2モデルM2に入力された際に、CAT11(「飲食店を探す」)、CAT12(「商品を探す」)、CAT13(「飲食店を予約する」)、CAT14(「商品を購入する」)の4つのカテゴリのいずれのカテゴリに属するかを予測する第2モデルM2を生成する。具体的には、情報処理装置100は、入力情報として検索クエリが第2モデルM2に入力された際に、出力情報として検索クエリがそのカテゴリに属する確率をカテゴリ毎に出力する第2モデルM2を生成する。例えば、情報処理装置100は、第2モデルM2の正解データとして、検索クエリと検索クエリが属するカテゴリ(CAT11〜CAT14のいずれか)との組を学習する。   In the example illustrated in the lower part of FIG. 4, when the search query is input to the second model M2, the CAT11 (“Search for a restaurant”), CAT12 (“Search for a product”), and CAT13 ( A second model M2 that predicts which 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 input information, the information processing apparatus 100 outputs, as output information, the second model M2 that outputs the probability that the search query belongs to the category for each category. Generate. For example, the information processing apparatus 100 learns a set of a search query and a category (any 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 (“Find a restaurant”) indicates that the search query is a search query input with the intention of searching for a restaurant. Also, belonging to the CAT 12 (“Search for a 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. The fact that the search query belongs to the CAT 14 (“purchase a product”) indicates that the search query is a search query input with the intention of purchasing a product.

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

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

例えば、情報処理装置100は、学習前の第2モデルM2に検索クエリQ11(「六本木 パスタ」)が入力された際に、分散表現であるベクトルBQV11がCAT11(「飲食店を探す」)に分類される確率を80%、CAT12(「商品を探す」)に分類される確率を0%、CAT13(「飲食店を予約」)に分類される確率を20%、CAT14(「商品を購入する」)に分類される確率を0%と出力したとする。この場合、情報処理装置100は、分散表現であるベクトルBQV11がCAT11(「飲食店を探す」)に分類される確率を所定の閾値(例えば、90%)を超えるように第2モデルM2を学習させる。また、情報処理装置100は、分散表現であるベクトル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 information processing apparatus 100 classifies the vector BQV11, which is a distributed expression, into CAT11 (“Find a restaurant”). 80%, 0% probability of being classified as CAT12 ("Search for products"), 20% probability of being classified as CAT13 ("Reserving restaurants"), and CAT14 ("Purchase products"). Suppose that the probability of being classified as) is output as 0%. In this case, the information processing apparatus 100 learns the second model M2 such that the probability that the vector BQV11, which is a distributed expression, is classified as CAT11 (“find a restaurant”) exceeds a predetermined threshold (for example, 90%). Let it. In addition, the information processing apparatus 100 learns such that the probability that the vector BQV11, which is a distributed expression, is classified as CAT11 (“find a restaurant”) exceeds a predetermined threshold (for example, 90%). The second model M2 is trained so that the probability that the vector BQV11, which is a distributed expression, is classified into another category CAT13 ("reserve a restaurant") is reduced to 10%.

このように、情報処理装置100は、入力情報として所定の検索クエリが入力されると、出力情報として所定の検索クエリの分散表現が正解カテゴリに分類される確率が所定の閾値を超えるように第2モデルを学習させる。そして、情報処理装置100は、入力情報として所定の検索クエリが入力された際に、所定の検索クエリの分散表現がそのカテゴリに属する確率が所定の閾値を超えるカテゴリを、所定の検索クエリのカテゴリとして出力する。例えば、情報処理装置100は、学習済みの第2モデルM2に入力情報として検索クエリQ11(「六本木 パスタ」)が入力されると、検索クエリQ11(「六本木 パスタ」)の分散表現であるベクトルBQV11がカテゴリCAT11(「飲食店を探す」)に属する確率が90%を超えるので、出力情報として検索クエリが属するカテゴリをCAT11(「飲食店を探す」)と出力する(ステップS36)。このように、情報処理装置100は、検索クエリと検索クエリの正解カテゴリとの組を学習することで、所定の検索クエリから所定の検索クエリのカテゴリを予測する第2モデルを生成する(ステップS37)。   As described above, when the predetermined search query is input as the input information, the information processing apparatus 100 performs the second processing 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. Train two models. Then, when a predetermined search query is input as input information, the information processing apparatus 100 assigns a category in which the probability that the distributed expression of the predetermined search query belongs to the category exceeds a predetermined threshold to the category of the predetermined search query. Output as For example, when the search query Q11 (“Roppongi pasta”) is input as input information to the learned second model M2, the information processing apparatus 100, the vector BQV11 that is a distributed expression of the search query Q11 (“Roppongi pasta”). Since the probability of belonging to the category CAT11 ("Find a restaurant") exceeds 90%, the category to which the search query belongs is output as CAT11 ("Find a restaurant") as output information (step S36). As described above, the information processing apparatus 100 learns the set of the search query and the correct category of the search query, thereby generating the second model that predicts the category of the predetermined search query from the predetermined search query (step S37). ).

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

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

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

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

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

「ユーザID」は、検索クエリを入力したユーザを識別するための識別情報を示す。「日時」は、検索サーバがユーザから検索クエリを受け付けた日時を示す。「検索クエリ」は、ユーザによって入力された検索クエリを示す。「検索クエリID」は、ユーザによって入力された検索クエリを識別するための識別情報を示す。   “User ID” indicates identification information for identifying a user who has input a search query. “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. “Search query ID” indicates identification information for identifying a search query input by a user.

図7の1レコード目に示す例では、検索クエリID「Q11」で識別される検索クエリ(検索クエリQ11)は、図2に示した検索クエリ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 in FIG. 7, 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 has input the search query Q11 is the user identified by the user ID “U1” (user U1). Further, the date and time “2018/9/1 PM 17:00” indicates that the date and time when the search server received 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” indicates that the characters “Roppongi” indicating the place name and the character “Pasta” indicating the type of food are character strings separated by spaces that are delimiters.

(ベクトル情報記憶部122)
ベクトル情報記憶部122は、検索クエリの分散表現であるベクトルに関する各種の情報を記憶する。図8に、実施形態に係るベクトル情報記憶部の一例を示す。図8に示す例では、ベクトル情報記憶部122は、「ベクトルID」、「検索クエリID」、「ベクトル情報」といった項目を有する。
(Vector information storage unit 122)
The vector information storage unit 122 stores various types of information regarding vectors, which are distributed expressions of search queries. FIG. 8 illustrates an example of the vector information storage unit according to the embodiment. In the example illustrated in FIG. 8, the vector information storage unit 122 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 the search query. “Search query ID” indicates identification information for identifying a search query corresponding to a vector. “Vector information” indicates an N-dimensional vector that is a distributed expression of the search query. The vector that is a distributed expression of the search query is, for example, a 128-dimensional vector.

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

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

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

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

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

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

小分類「商品を購入」は、大分類「購買行動系」に属する分類であって、小分類に分類される検索クエリが、ユーザによって商品を購入する意図で入力された検索クエリであることを示す。小分類ID「CAT14」は、小分類「商品を購入」を識別するための識別情報を示す。   The small category "Purchase goods" is a classification belonging to the large category "Purchase behavior system". Show. The small category ID “CAT14” indicates identification information for identifying the small category “purchase goods”.

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

「検索クエリID」は、ユーザによって入力された検索クエリを識別するための識別情報を示す。図10に示す例では、検索クエリID「Q11」で識別される検索クエリ(検索クエリQ11)は、図4に示した検索クエリQ11に対応する。   “Search query ID” indicates identification information for identifying a search query input by a user. In the example shown in FIG. 10, 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学習モデルが出力する小分類毎の確率を示す。図10に示す例では、確率(%)「90」は、検索クエリQ11がカテゴリCAT11に分類される確率が90%であることを示す。   The “major category ID” indicates identification information for identifying the major category. “Small classification ID” indicates identification information for identifying a small classification. “Probability (%)” indicates the probability of each small classification output by the second learning model when a search query is input to the learned second learning model. In the example illustrated in FIG. 10, the probability (%) “90” indicates that the probability that the search query Q11 is classified into the category CAT11 is 90%.

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

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

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

モデルデータMDT1は、検索クエリが入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された検索クエリに応じて、入力層に入力された検索クエリの分散表現を出力層から出力するよう、情報処理装置100を機能させてもよい。   The model data MDT1 includes an input layer to which a search query is input, an output layer, a first element belonging to one of the layers from the input layer to the output layer other than the output layer, a first element and a first element. And a second element whose value is calculated based on the weight of one element. The 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 information processing apparatus 100 may function.

ここで、モデルデータ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 a 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 input data (xi) such as x1 or x2. Further, 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 corresponds to any node of the input layer, and the second element can be regarded as a node of the output layer.

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

情報処理装置100は、上述した回帰モデルやニューラルネットワーク等、任意の構造を有するモデルを用いて、分散表現の算出を行う。具体的には、モデルデータMDT1は、検索クエリが入力された場合に、分散表現を出力するように係数が設定される。情報処理装置100は、このようなモデルデータMDT1を用いて、分散表現を算出する。   The information processing device 100 calculates a distributed expression using a model having an arbitrary structure, such as the above-described regression model or neural network. Specifically, coefficients are set in the model data MDT1 so as to output a distributed expression when a search query is input. The information processing apparatus 100 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 a model that outputs a distributed expression of the search query when the search query is input (hereinafter, referred to as a model X1). However, the model data MDT1 according to the embodiment may be a model generated based on a result obtained by repeatedly inputting and outputting data to and from the model X1. For example, the model data MDT1 may be a model (hereinafter, referred to as a model Y1) learned by inputting the distributed expression output by the model X1 when a search query is input. Alternatively, the model data MDT1 may be a model that has been learned so that a search query is input and an output value of the model Y1 is output.

また、情報処理装置100がGAN(Generative Adversarial Networks)を用いた推定処理を行う場合、モデルデータMDT1は、GANの一部を構成するモデルであってもよい。   Further, when the information processing apparatus 100 performs the estimation processing using GAN (Generative Adversarial Networks), the model data MDT1 may be a model constituting a part of GAN.

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

モデルデータMDT2は、検索クエリが入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された検索クエリに応じて、入力層に入力された検索クエリが各カテゴリに属する確率を出力層から出力するよう、情報処理装置100を機能させてもよい。   The model data MDT2 includes an input layer to which a search query is input, an output layer, a first element belonging to any one of the layers from the input layer to the output layer other than the output layer, And a second element whose value is calculated based on the weight of one element. The information processing apparatus 100 may be caused to function so as to output the information.

ここで、モデルデータ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 a 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 input data (xi) such as x1 or x2. Further, 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 corresponds to any node of the input layer, and the second element can be regarded as a node of 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 a DNN (Deep Neural Network). In this case, the first element included in the model data MDT2 corresponds to one of the nodes of the input layer or the intermediate layer. The second element corresponds to a next-stage node that is a node to which a value is transmitted from a node corresponding to the first element. Further, the weight of the first element corresponds to a connection coefficient that is a weight considered for a value transmitted from a node corresponding to the first element to a node corresponding to the second element.

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

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

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

(制御部130)
図6の説明に戻って、制御部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. 6, the control unit 130 is a controller, and is stored in a storage device inside the information processing apparatus 100 by, for example, a CPU (Central Processing Unit) or an MPU (Micro Processing Unit). Are implemented by executing various programs (corresponding to an example of a generation program) using a 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).

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

また、制御部130は、モデル情報記憶部125に記憶されている第2モデルM2(モデルデータMDT2)に従った情報処理により、入力層に入力された検索クエリに対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、検索クエリが各カテゴリに属する確率を出力層から出力するよう、コンピュータを機能させる。   Further, the control unit 130 performs information processing according to the second model M2 (model data MDT2) stored in the model information storage unit 125, and in response to a 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 as the first element.

図6に示すように、制御部130は、取得部131と、抽出部132と、生成部133と、サービス提供部134を有し、以下に説明する情報処理の作用を実現または実行する。なお、制御部130の内部構成は、図6に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。   As illustrated in FIG. 6, the control unit 130 includes an acquisition unit 131, an extraction unit 132, a generation unit 133, and a service providing unit 134, and implements or executes an information processing operation described below. Note that the internal configuration of the control unit 130 is not limited to the configuration illustrated in FIG. 6, and may be another configuration as long as it performs information processing described below.

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

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

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

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

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

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

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

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

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

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

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

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

例えば、検索クエリQ11(「六本木 パスタ」)が属する正解カテゴリがCAT11(「飲食店を探す」)であるとする。生成部133は、入力情報として検索クエリQ11(「六本木 パスタ」)が第2モデルM2に入力された際に、第2モデルM2の出力層から検索クエリQ11(「六本木 パスタ」)の分散表現であるベクトルBQV11を出力する。ここで、ベクトルBQV11は、第2モデルM2の出力層から出力されたばかりの検索クエリQ11の分散表現であって、第2モデルM2にフィードバックをかける前(学習前)の分散表現を示す。この場合、生成部133は、出力された検索クエリ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 133 uses a distributed expression of the search query Q11 (“Roppongi pasta”) from the output layer of the second model M2. A certain vector BQV11 is output. Here, the vector BQV11 is a distributed expression of the search query Q11 that has just been output from the output layer of the second model M2, and indicates a distributed expression before applying feedback to the second model M2 (before learning). In this case, the generation unit 133 determines that the probability that the vector BQV11, which is a distributed expression of the output search query Q11 (“Roppongi pasta”), is classified into the correct category CAT11 (“Search for restaurants”) exceeds a predetermined threshold. The second model M2 is learned as described above.

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

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

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

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

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

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

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

(サービス提供部134)
サービス提供部134は、第1学習モデルを取得する。具体的には、サービス提供部134は、モデル情報記憶部125を参照して、生成部133によって生成された第1学習モデルを取得する。より具体的には、サービス提供部134は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。例えば、サービス提供部134は、生成部133によって、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する学習モデルとして生成された第1学習モデルを取得する。また、サービス提供部134は、入力情報として所定の検索クエリが入力された際に、出力情報として所定の検索クエリの分散表現を出力する第1学習モデルを取得する。また、サービス提供部134は、所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。また、サービス提供部134は、同一のユーザによって所定の時間内に入力された複数の検索クエリとして、所定の区切り文字で区切られた文字列を含む複数の検索クエリが類似する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。また、サービス提供部134は、ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。また、サービス提供部134は、ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。
(Service providing unit 134)
The service providing unit 134 acquires a first learning model. Specifically, the service providing unit 134 acquires the first learning model generated by the generating unit 133 with reference to the model information storage unit 125. More specifically, the service providing unit 134 determines that the plurality of search queries input by the same user within a predetermined period of time have similar characteristics, and the first learning that has learned the characteristics of the plurality of search queries Get the model. For example, the service providing unit 134 learns, by the generation unit 133, that a plurality of search queries input by the same user within a predetermined time period have similar characteristics, thereby performing a predetermined search from a predetermined search query. A first learning model generated as a learning model for predicting feature information of a query is obtained. In addition, when a predetermined search query is input as input information, the service providing unit 134 acquires a first learning model that outputs a distributed expression of the predetermined search query as output information. In addition, the service providing unit 134 learns the first learning model that has learned the features of the plurality of search queries by learning so that the distributed expressions of the pair of search queries continuously input within a predetermined time are similar. get. In addition, the service providing unit 134 determines that a plurality of search queries including a character string separated by a predetermined delimiter have similar characteristics as a plurality of search queries input within a predetermined time by the same user. By learning, a first learning model that has learned features of a plurality of search queries is obtained. In addition, the service providing unit 134 acquires a first learning model in which the features of the plurality of search queries are learned by learning that the plurality of search queries randomly extracted have different features. In addition, the service providing unit 134 obtains a 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 randomly extracted are different.

また、サービス提供部134は、第2学習モデルを取得する。具体的には、サービス提供部134は、モデル情報記憶部125を参照して、生成部133によって生成された第2学習モデルを取得する。より具体的には、サービス提供部134は、生成部133によって、第1学習モデルを用いて、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する学習モデルとして生成された第2学習モデルを取得する。例えば、サービス提供部134は、検索クエリが学習モデルに入力された際に、学習モデルが出力する分散表現の分類結果が、検索クエリが属するカテゴリに対応するように学習することで、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2学習モデルを取得する。例えば、サービス提供部134は、入力情報として検索クエリが学習モデルに入力された際に、出力情報として検索クエリがカテゴリに属する確率をカテゴリ毎に出力する第2学習モデルを取得する。   Further, the service providing unit 134 acquires the second learning model. Specifically, the service providing unit 134 acquires the second learning model generated by the generating unit 133 with reference to the model information storage unit 125. More specifically, the service providing unit 134 generates a second learning model generated by the generation unit 133 as a learning model for predicting a category to which a predetermined search query belongs from a predetermined search query using the first learning model. To get. For example, when the search query is input to the learning model, the service providing unit 134 learns that the classification result of the distributed expression output by the learning model corresponds to the category to which the search query belongs, so that the predetermined search is performed. A second learning model that predicts a category to which a predetermined search query belongs from the query is acquired. For example, when a search query is input to a learning model as input information, the service providing unit 134 acquires, as output information, a second learning model that outputs, for each category, the probability that the search query belongs to a category.

サービス提供部134は、広告主であるクライアントに対して、検索クエリの分析サービスを提供する。サービス提供部134は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、複数の検索クエリが有する特徴を学習した第1学習モデルを用いて、所定の検索クエリと類似する特徴を有する検索クエリである類似クエリを抽出する。具体的には、サービス提供部134は、広告主であるクライアントから検索クエリの分析テーマを受け付け、受け付けた分析テーマに対応する検索クエリを抽出する。例えば、サービス提供部134は、ユーザの検索動向を分析する分析テーマに関するキーワードである分析クエリをクライアント端末20から受け付ける。サービス提供部134は、分析テーマに関する複数の分析クエリを受け付けてもよい。例えば、広告主であるクライアントが、検索クエリの分析テーマとして「骨の健康関連」を希望しているとする。そして、サービス提供部134は、「骨 健康」、「骨 丈夫」、「カルシウム 小魚」など複数の分析クエリをクライアント端末20から受け付ける。これにより、サービス提供部134は、一度に一つの分析クエリを受け付ける場合よりも、より多くの類似クエリを抽出することができる。すなわち、サービス提供部134は、広告主であるクライアントの分析テーマに沿った類似クエリを漏れなく抽出することができる。続いて、サービス提供部134は、受け付けた分析テーマに対応する検索クエリを抽出する。例えば、サービス提供部134は、第1学習モデルを用いて、分析クエリと類似する特徴を有する検索クエリである類似クエリを抽出する。   The service providing unit 134 provides a search query analysis service to a client as an advertiser. The service providing unit 134 determines that a plurality of search queries input by the same user within a predetermined period of time have similar characteristics, and uses a first learning model that has learned features of the plurality of search queries, A similar query, which is a search query having characteristics similar to those of the search query, is extracted. Specifically, the service providing unit 134 receives an analysis theme of a search query from a client that is an advertiser, and extracts a search query corresponding to the received analysis theme. For example, the service providing unit 134 receives, from the client terminal 20, an analysis query that is a keyword related to an analysis theme for analyzing a search trend of the user. The service providing unit 134 may receive a plurality of analysis queries on the analysis theme. For example, suppose that a client who is an advertiser wants “bone health-related” as a search query analysis theme. Then, the service providing unit 134 receives from the client terminal 20 a plurality of analysis queries such as “bone health”, “bone strength”, and “calcium small fish”. Thereby, the service providing unit 134 can extract more similar queries than when receiving one analysis query at a time. That is, the service providing unit 134 can completely extract similar queries according to the analysis theme of the client as the advertiser. Subsequently, the service providing unit 134 extracts a search query corresponding to the received analysis theme. For example, the service providing unit 134 uses the first learning model to extract a similar query that is a search query having characteristics similar to the analysis query.

また、サービス提供部134は、第2学習モデルを用いて、所定の検索クエリと類似する特徴を有する検索クエリである類似クエリを分類する。具体的には、サービス提供部134は、広告主であるクライアントから検索クエリの分類軸を受け付け、受け付けた分類軸に対応するカテゴリに検索クエリを分類する。例えば、サービス提供部134は、分析クエリに類似する検索クエリである類似クエリを分類する分類軸(カテゴリ)をクライアント端末20から受け付ける。なお、サービス提供部134は、分類対象となる一つの類似クエリの集合について、複数の分類軸(カテゴリ)を受け付けてもよい。続いて、サービス提供部134は、第2学習モデルを用いて、受け付けた分類軸に対応するカテゴリに類似クエリを分類する。   Further, the service providing unit 134 classifies similar queries that are search queries having characteristics similar to a predetermined search query using the second learning model. Specifically, the service providing unit 134 receives a classification axis of the search query from the client as the advertiser, and classifies the search query into a category corresponding to the received classification axis. For example, the service providing unit 134 receives, from the client terminal 20, a classification axis (category) for classifying a similar query that is a search query similar to the analysis query. Note that the service providing unit 134 may receive a plurality of classification axes (categories) for one set of similar queries to be classified. Subsequently, the service providing unit 134 classifies the similar query into a category corresponding to the received classification axis using the second learning model.

図1に示す例では、サービス提供部134は、分析クエリである「骨 健康」と4つの小分類から成る分類軸(カテゴリ)とをクライアント端末20から受け付ける。なお、サービス提供部134は、広告主であるクライアントから指定された分類軸(カテゴリ)を受け付ける代わりに、図9に示す分類定義記憶部123に示すカテゴリの中から、広告主であるクライアントによって選択された大分類を分類軸として受け付けてもよい。図1に示す例では、広告主であるクライアントは、後述する分類定義記憶部123に示すカテゴリの中から、大分類ID「CAT2」で識別される大分類「健康系」を選択する。そして、サービス提供部134は、広告主であるクライアントによって選択された大分類「健康系」を分類軸として受け付ける。   In the example illustrated in FIG. 1, the service providing unit 134 receives, from the client terminal 20, the analysis query “bone health” and a classification axis (category) including four small classifications. Note that, instead of accepting the classification axis (category) specified by the client as the advertiser, the service providing unit 134 selects a category from the classification definition storage unit 123 shown in FIG. 9 by the client as the advertiser. The obtained large classification may be received as a classification axis. In the example illustrated in FIG. 1, the client as the advertiser selects the large category “healthy” identified by the large category ID “CAT2” from the categories shown in the category definition storage unit 123 described below. Then, the service providing unit 134 receives the major category “healthy” selected by the client as the advertiser as a category axis.

続いて、サービス提供部134は、分析クエリを受け付けると、受け付けた分析クエリ「骨 健康」を第1モデルM1に入力する。サービス提供部134は、サービス提供部134は、分析クエリを第1モデルM1に入力すると、分析クエリ「骨 健康」の分散表現(ベクトル)を第1モデルM1から出力する。   Subsequently, when receiving the analysis query, the service providing unit 134 inputs the received analysis query “bone health” to the first model M1. When the service providing unit 134 inputs the analysis query to the first model M1, the service providing unit 134 outputs a distributed expression (vector) of the analysis query “bone health” from the first model M1.

続いて、サービス提供部134は、分析クエリ「骨 健康」の分散表現(ベクトル)を出力すると、分散表現(ベクトル)同士の類似度が所定の閾値を超える検索クエリを分析クエリ「骨 健康」に類似する類似クエリとして抽出する。例えば、サービス提供部134は、分散表現空間において、出力した分析クエリ「骨 健康」の分散表現(ベクトル)の近傍に位置する分散表現(ベクトル)を抽出する。続いて、サービス提供部134は、分析クエリ「骨 健康」の分散表現(ベクトル)と近傍に位置する分散表現(ベクトル)との類似度を算出する。例えば、サービス提供部134は、分散表現(ベクトル)同士のコサイン類似度を算出する。続いて、サービス提供部134は、コサイン類似度が所定の閾値を超える分散表現(ベクトル)を分析クエリ「骨 健康」の分散表現(ベクトル)と類似する分散表現(ベクトル)として抽出する。なお、サービス提供部134は、コサイン類似度に限らず、ベクトル間の距離尺度として適用可能な指標であれば、どのような指標に基づいて分散表現(ベクトル)の間の類似度を算出してもよい。例えば、サービス提供部134は、分散表現(ベクトル)同士のユークリッド距離や双曲空間等の非ユークリッド空間中での距離、マンハッタン距離、マハラノビス距離等といった所定の距離関数の値を算出する。続いて、サービス提供部134は、分散表現(ベクトル)同士の所定の距離関数の値(すなわち、分散表現空間における距離)が所定の閾値を下回る分散表現(ベクトル)を分析クエリ「骨 健康」の分散表現(ベクトル)と類似する分散表現(ベクトル)として抽出してもよい。続いて、サービス提供部134は、類似する分散表現(ベクトル)を抽出すると、ベクトル情報記憶部122を参照して、抽出した分散表現(ベクトル)に対応する検索クエリを特定する。そして、サービス提供部134は、特定した検索クエリを分析クエリと類似する類似クエリとして抽出する。   Subsequently, when the service providing unit 134 outputs the distributed expression (vector) of the analysis query “bone health”, the search query in which the similarity between the distributed expressions (vectors) exceeds a predetermined threshold value is converted to the analysis query “bone health”. Extract as similar similar queries. For example, the service providing unit 134 extracts a distributed expression (vector) located near the distributed expression (vector) of the output analysis query “bone health” in the distributed expression space. Subsequently, the service providing unit 134 calculates the similarity between the distributed expression (vector) of the analysis query “bone health” and the distributed expression (vector) located in the vicinity. For example, the service providing unit 134 calculates the cosine similarity between the distributed expressions (vectors). Subsequently, the service providing unit 134 extracts a variance expression (vector) having a cosine similarity exceeding a predetermined threshold as a variance expression (vector) similar to the variance expression (vector) of the analysis query “bone health”. Note that the service providing unit 134 calculates the similarity between the distributed expressions (vectors) based on not only the cosine similarity but any index that can be applied as a distance measure between the vectors. Is also good. For example, the service providing unit 134 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, and a Mahalanobis distance. Subsequently, the service providing unit 134 determines the distributed expression (vector) in which the value of the predetermined distance function (ie, the distance in the distributed expression space) between the distributed expressions (vectors) is smaller than a predetermined threshold value by the analysis query “bone health”. It may be extracted as a distributed expression (vector) similar to the distributed expression (vector). Next, upon extracting a similar distributed expression (vector), the service providing unit 134 refers to the vector information storage unit 122 and specifies a search query corresponding to the extracted distributed expression (vector). Then, the service providing unit 134 extracts the specified search query as a similar query similar to the analysis query.

続いて、サービス提供部134は、類似クエリを抽出すると、抽出した類似クエリを第2モデルM2に入力する。サービス提供部134は、類似クエリを第2モデルM2に入力すると、類似クエリが属するカテゴリを第2モデルM2から出力する。なお、サービス提供部134は、広告主であるクライアントによって指定された分類軸(カテゴリ)を受け付けてから、受け付けた分類軸(カテゴリ)に応じて検索クエリを分類するように第2モデルM2を学習させてもよい。あるいは、サービス提供部134は、後述する分類定義記憶部123に示すカテゴリに応じて検索クエリを分類するようにあらかじめ第2モデルM2を学習させる。そして、サービス提供部134は、分類定義記憶部123に示すカテゴリの中から広告主であるクライアントに分類軸を選択させ、広告主であるクライアントによって選択された分類軸(カテゴリ)をクライアント端末20から受け付けてもよい。   Subsequently, when extracting the similar query, the service providing unit 134 inputs the extracted similar query to the second model M2. When the similar query is input to the second model M2, the service providing unit 134 outputs the category to which the similar query belongs from the second model M2. The service providing unit 134 receives the classification axis (category) specified by the client as the advertiser, and then learns the second model M2 so as to classify the search query according to the received classification axis (category). May be. Alternatively, the service providing unit 134 previously trains the second model M2 so as to classify the search query according to the category shown in the classification definition storage unit 123 described later. Then, the service providing unit 134 causes the client, which is the advertiser, to select a classification axis from the categories shown in the classification definition storage unit 123, and displays the classification axis (category) selected by the client, which is the advertiser, from the client terminal 20. May be accepted.

続いて、サービス提供部134は、分類軸(カテゴリ)に応じたクエリの分類結果をクライアント端末20に送信する。例えば、サービス提供部134は、分類軸(カテゴリ)に応じたクエリの分類結果として、分析テーマである「骨の健康関連」に関する検索クエリとして検索された検索クエリの構成を提供する。例えば、サービス提供部134は、分析クエリに類似する類似クエリとして抽出した検索クエリの内訳として、「飲み物」に関する検索クエリの割合が40%、「食べ物」に関する検索クエリの割合が30%、「運動」に関する検索クエリの割合が20%、「サプリメント」に関する検索クエリの割合が10%であるといった分析結果を提供する。   Subsequently, the service providing unit 134 transmits the classification result of the query according to the classification axis (category) to the client terminal 20. For example, the service providing unit 134 provides, as a classification result of the query according to the classification axis (category), a configuration of a search query searched as a search query related to “analysis related to bone health”. For example, the service providing unit 134 breaks down the search query extracted as a similar query similar to the analysis query, where the ratio of the search query regarding “drink” is 40%, the ratio of the search query regarding “food” is 30%, and the ratio of “exercise” The analysis result that the ratio of the search query about "supplement" is 20% and the ratio of the search query about "supplement" is 10% is provided.

〔3.第1学習モデルの生成処理のフロー〕
次に、図14を用いて、実施形態に係る第1学習モデルの生成処理の手順について説明する。図14は、実施形態に係る第1学習モデルの生成処理手順を示すフローチャートである。図14に示す例では、情報処理装置100は、ユーザによって入力された検索クエリを取得する(ステップS101)。
[3. Flow of generation processing of first learning model]
Next, a procedure of a process of generating a first learning model according to the embodiment will be described with reference to FIG. FIG. 14 is a flowchart illustrating the generation processing procedure of the first learning model according to the embodiment. In the example illustrated in FIG. 14, the information processing apparatus 100 acquires a search query input by a user (step S101).

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

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

〔4.第2学習モデルの生成処理のフロー〕
次に、図15を用いて、実施形態に係る第2学習モデルの生成処理の手順について説明する。図15は、実施形態に係る第2学習モデルの生成処理の手順を示すフローチャートである。図15に示す例では、情報処理装置100は、第1学習モデル(第1学習モデルM1のモデルデータMDT1)を取得する(ステップS201)。
[4. Flow of processing for generating second learning model]
Next, a procedure of a process of generating a second learning model according to the embodiment will be described with reference to FIG. FIG. 15 is a flowchart illustrating a procedure of a process of generating a second learning model according to the embodiment. In the example illustrated in FIG. 15, the information processing apparatus 100 acquires a first learning model (model data MDT1 of the first learning model M1) (step S201).

続いて、情報処理装置100は、第1学習モデルを用いて、所定の検索クエリから所定の検索クエリのカテゴリを予測する第2学習モデルを生成する(ステップS202)。   Subsequently, the information processing apparatus 100 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 S202).

〔5.情報処理のフロー〕
次に、図16を用いて、実施形態に係る情報処理の手順について説明する。図16は、実施形態に係る情報処理の手順を示すフローチャートである。図16に示す例では、情報処理装置100は、分析クエリと分類軸(カテゴリ)をクライアントから取得する(ステップS301)。続いて、情報処理装置100は、第1モデルを用いて、分析クエリと類似する類似クエリを抽出する(ステップS302)。続いて、情報処理装置100は、第2モデルを用いて、類似クエリを分類軸(カテゴリ)に分類する(ステップS303)。続いて、情報処理装置100は、分析結果をクライアントに提供する(ステップS304)。
[5. Information processing flow)
Next, the procedure of the information processing according to the embodiment will be described with reference to FIG. FIG. 16 is a flowchart illustrating a procedure of information processing according to the embodiment. In the example illustrated in FIG. 16, the information processing apparatus 100 acquires an analysis query and a classification axis (category) from a client (step S301). Subsequently, the information processing apparatus 100 extracts a similar query similar to the analysis query using the first model (Step S302). Subsequently, the information processing apparatus 100 classifies the similar query into classification axes (categories) using the second model (step S303). Subsequently, the information processing apparatus 100 provides the analysis result to the client (Step S304).

〔6.効果〕
上述してきたように、実施形態に係る情報処理装置100は、サービス提供部134を備える。サービス提供部134は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、複数の検索クエリが有する特徴を学習した第1学習モデルを用いて、所定の検索クエリと類似する特徴を有する検索クエリである類似クエリを抽出する。
[6. effect〕
As described above, the information processing apparatus 100 according to the embodiment includes the service providing unit 134. The service providing unit 134 determines that a plurality of search queries input by the same user within a predetermined period of time have similar characteristics, and uses the first learning model that has learned the characteristics of the plurality of search queries, A similar query, which is a search query having characteristics similar to those of the search query, is extracted.

一般的に、ユーザはある意図を持って検索を複数回行うと考えられるため、所定の時間内に連続して入力された検索クエリは、検索意図が近いという仮定が成り立つ。そこで、本願発明に係る情報処理装置100は、所定の時間内に連続して入力された複数の検索クエリは、所定の検索意図の下で検索された検索クエリであるという点で、相互に類似する特徴を有する検索クエリであるとみなして学習モデルM1を学習させる。具体的には、本願発明に係る情報処理装置100は、所定の時間内に連続して入力された検索クエリの分散表現が類似するように学習モデルM1を学習させることにより、検索意図が近い検索クエリの分散表現を分散表現空間上で近い位置に出力可能とする。これにより、情報処理装置100は、検索クエリを入力したユーザのコンテクストに応じて検索クエリの意味(検索意図)を出力(解釈)することを可能にする。したがって、情報処理装置100は、検索クエリの意味を適切に解釈可能とすることができる。さらに、情報処理装置100は、所定の検索クエリの特徴情報を含む分散表現の近傍にマッピングされる分散表現に対応する検索クエリを抽出することにより、所定の検索クエリが検索された検索意図に応じた検索クエリを抽出することができる。すなわち、情報処理装置100は、検索クエリを入力したユーザのコンテクストを考慮した検索クエリを抽出可能にする。よって、情報処理装置100は、第1学習モデルを用いることにより、検索クエリを入力したユーザのコンテクストを考慮して、ユーザの検索動向を分析することができる。したがって、情報処理装置100は、ユーザの検索動向の分析精度を高めることができる。   In general, it is considered that a user performs a search a plurality of times with a certain intention. Therefore, it is assumed that a search query input continuously within a predetermined time has a similar search intention. Therefore, the information processing apparatus 100 according to the present invention is similar to each other in that a plurality of search queries continuously input within a predetermined time are search queries searched under a predetermined search intention. The learning model M1 is trained by regarding the search query as having the following characteristics. Specifically, the information processing apparatus 100 according to the present invention learns the learning model M1 so that the distributed expressions of the search queries continuously input within a predetermined time are similar to each other. It is possible to output a distributed expression of a query to a close position in a distributed expression space. This allows the information processing apparatus 100 to output (interpret) the meaning (search intent) of the search query according to the context of the user who has input the search query. Therefore, the information processing apparatus 100 can appropriately interpret the meaning of the search query. Further, the information processing apparatus 100 extracts a search query corresponding to the distributed expression mapped to the vicinity of the distributed expression including the characteristic information of the predetermined search query, and thereby, according to the search intention in which the predetermined search query is searched. Search queries can be extracted. That is, the information processing apparatus 100 can extract a search query in consideration of the context of the user who has input the search query. Therefore, by using the first learning model, the information processing apparatus 100 can analyze the search trend of the user in consideration of the context of the user who has input the search query. Therefore, the information processing apparatus 100 can improve the analysis accuracy of the search trend of the user.

また、情報処理装置100が生成した学習モデルM1を検索システム(例えば、情報処理装置100が提供する検索クエリの分析サービスに用いられる検索システム)の一部として機能させることもできる。あるいは、情報処理装置100は、学習モデルM1によって予測された検索クエリの特徴情報を利用する他のシステム(例えば、情報処理装置100が提供する検索クエリの分析サービスに用いられる検索エンジン)への入力情報として、学習モデルM1が出力した検索クエリの分散表現を提供することもできる。これにより、検索システムは、学習モデルM1によって予測された検索クエリの特徴情報に基づいて、検索結果として出力されるコンテンツを選択可能になる。すなわち、検索システムは、検索クエリを入力したユーザの検索意図やコンテクストを考慮して、検索結果として出力されるコンテンツを選択可能になる。さらに、検索システムは、学習モデルM1によって予測された検索クエリの特徴情報に基づいて、検索結果として出力されるコンテンツに含まれる文字列の分散表現と検索クエリの分散表現との類似度を算出可能になる。そして、検索システムは、算出した類似度に基づいて、検索結果として出力されるコンテンツの表示順を決定可能になる。すなわち、検索システムは、検索クエリを入力したユーザの検索意図やコンテクストを考慮して、検索結果として出力されるコンテンツの表示順を決定可能になる。したがって、情報処理装置100は、検索サービスにおけるユーザビリティを向上させることができる。   Further, the learning model M1 generated by the information processing apparatus 100 can also function as a part of a search system (for example, a search system used for a search query analysis service provided by the information processing apparatus 100). Alternatively, the information processing apparatus 100 inputs to another system (for example, a search engine used for a search query analysis service provided by the information processing apparatus 100) using the feature information of the search query predicted by the learning model M1. As information, a distributed expression of the search query output by the learning model M1 can be provided. Thereby, the search system can select the content output as the search result based on the feature information of the search query predicted by the learning model M1. That is, the search system can select the content output as a search result in consideration of the search intention and context of the user who has input the search query. Further, the search system can calculate 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 feature information of the search query predicted by the learning model M1. become. 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 and context of the user who has input the search query. Therefore, the information processing device 100 can improve usability in the search service.

また、サービス提供部134は、入力情報として所定の検索クエリが入力された際に、出力情報として所定の検索クエリの分散表現を出力する第1学習モデルを取得する。   In addition, when a predetermined search query is input as input information, the service providing unit 134 acquires a first learning model that outputs a distributed expression of the predetermined search query as output information.

これにより、情報処理装置100は、所定の検索クエリの特徴という抽象的な概念を、分散表現という具体的な数値によって測定可能とすることができる。   Thereby, the information processing apparatus 100 can measure the abstract concept of the characteristic of the predetermined search query by using a specific numerical value called a distributed expression.

また、サービス提供部134は、所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。   In addition, the service providing unit 134 learns the first learning model that has learned the features of the plurality of search queries by learning so that the distributed expressions of the pair of search queries continuously input within a predetermined time are similar. get.

一般的に、同一のユーザが短時間に続けて入力した2つの検索クエリは、検索意図が同一であるか、同一でなくとも検索意図が近いと考えられる。すなわち、所定の時間内に続けて入力された一対の検索クエリは、検索意図が同一であるか、同一でなくとも検索意図が近いと考えられる。すなわち、情報処理装置100は、所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習することにより、ユーザの検索意図に応じた検索クエリをより精度よく抽出可能とすることができる。   Generally, it is considered that two search queries input by the same user in a short time have the same search intention or similar search intentions even if they are not the same. That is, it is considered that a pair of search queries that are continuously input within a predetermined time have the same search intention, or have a similar search intention even if they are not the same. That is, the information processing apparatus 100 can more accurately extract a search query according to a user's search intention by learning so that the distributed expressions of a pair of search queries continuously input within a predetermined time are similar. It can be.

また、サービス提供部134は、同一のユーザによって所定の時間内に入力された複数の検索クエリとして、所定の区切り文字で区切られた文字列を含む複数の検索クエリが類似する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。   In addition, the service providing unit 134 determines that a plurality of search queries including a character string separated by a predetermined delimiter have similar characteristics as a plurality of search queries input within a predetermined time by the same user. By learning, a first learning model that has learned features of a plurality of search queries is obtained.

一般的に、単体の文字列からなる検索クエリよりも、複数の文字列を含む検索クエリのほうが、検索意図がより明確であると考えられる。すなわち、情報処理装置100は、所定の区切り文字で区切られた文字列を含む検索クエリを用いて学習することにより、ユーザの検索意図に応じた検索クエリをより精度よく抽出可能とすることができる。   Generally, it is considered that a search query including a plurality of character strings has a clearer search intention than a search query including a single character string. That is, the information processing apparatus 100 can use a search query including a character string delimited by a predetermined delimiter to perform learning, so that a search query corresponding to a user's search intention can be extracted with higher accuracy. .

また、サービス提供部134は、ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。また、サービス提供部134は、ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。   In addition, the service providing unit 134 acquires a first learning model in which the features of the plurality of search queries are learned by learning that the plurality of search queries randomly extracted have different features. In addition, the service providing unit 134 obtains a 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 randomly extracted are different.

一般的に、ランダムに抽出された複数の検索クエリは、互いに無関係に入力された検索クエリであるため、検索意図が異なるか、検索意図が遠いと考えられる。そこで、本願発明に係る情報処理装置100は、ランダムに抽出された複数の検索クエリは、異なる検索意図の下で検索された検索クエリであるという点で、相互に相違する特徴を有する検索クエリであるとみなして学習モデルM1を学習させる。具体的には、本願発明に係る情報処理装置100は、ランダムに抽出された複数の検索クエリの分散表現が相違するように学習モデルM1を学習させることにより、検索意図が異なる検索クエリの分散表現を分散表現空間上で遠い位置に出力可能とする。これにより、学習モデルは、検索意図が近い検索クエリのペアである正解データに加えて、検索意図が遠い検索クエリのペアである不正解データを学習することができる。すなわち、情報処理装置100は、学習モデルの精度を向上させることができる。したがって、情報処理装置100は、検索クエリの意味を適切に解釈可能とすることができる。   In general, a plurality of search queries randomly extracted are search queries that are input independently of each other, and thus it is considered that the search intentions are different or the search intentions are distant. Therefore, the information processing apparatus 100 according to the present invention is a search query having characteristics different from each other in that a plurality of search queries randomly extracted are search queries searched under different search intentions. The learning model M1 is learned assuming that there is. More specifically, the information processing apparatus 100 according to the present invention trains the learning model M1 so that the distributed expressions of a plurality of search queries randomly extracted are different, so that the distributed expressions of search queries having different search intents are obtained. Can be output to a distant position in the distributed representation space. Accordingly, the learning model can learn incorrect answer data, which is a pair of search queries with distant search intentions, in addition to correct answer data, which is a pair of search queries with close search intentions. That is, the information processing apparatus 100 can improve the accuracy of the learning model. Therefore, the information processing apparatus 100 can appropriately interpret the meaning of the search query.

また、サービス提供部134は、第1学習モデルを用いて生成された第2学習モデルであって、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2学習モデルを取得する。   In addition, the service providing unit 134 acquires a second learning model that is a second learning model generated using the first learning model and that predicts a category to which the predetermined search query belongs from the predetermined search query.

これにより、情報処理装置100は、検索意図を考慮した検索クエリの特徴を学習した第1学習モデルを活用して、所定の検索クエリから所定の検索クエリのカテゴリを予測する第2学習モデルを効率的に生成することができる。これにより、情報処理装置100は、検索クエリを入力したユーザの検索意図を考慮したカテゴリに検索クエリを分類することを可能にする。また、従来、検索クエリをカテゴリに分類し、高い分類精度を得るためには、十分な量の正解データを用意することが必要であった。しかしながら、検索クエリ自体、多種多様であり、ロングテイルな性質を持つものであるため、多数の検索クエリに対応する正解カテゴリをラベル付けするのは、非常に手間がかかり困難である。ここで、情報処理装置100は、正解カテゴリをラベル付けする代わりに、ユーザの検索意図(検索クエリを入力したユーザのコンテクスト)を一種の正解として、検索クエリのカテゴリを予測する第2モデルを学習させることができる。これにより、情報処理装置100は、人手で検索クエリの正解カテゴリをラベル付けすることなく、第2モデルを学習させることができる。すなわち、情報処理装置100は、正解データが少ないときでも、十分な分類精度を得られるようになる。また、情報処理装置100は、正解データが多いときであれば、さらに高い分類精度を得られるようになる。したがって、情報処理装置100は、検索クエリの分類精度を高めることができる。   As a result, the information processing apparatus 100 efficiently utilizes the first learning model, which has learned the characteristics of the search query in consideration of the search intention, to predict the category of the predetermined search query from the predetermined search query. Can be generated dynamically. Thereby, the information processing apparatus 100 can classify the search query into a category considering the search intention of the user who has input the search query. Also, conventionally, in order to classify search queries into categories and obtain high classification accuracy, it was necessary to prepare a sufficient amount of correct answer data. However, since search queries themselves are diverse and have long-tail properties, labeling correct categories corresponding to a large number of search queries is extremely troublesome and difficult. Here, instead of labeling the correct answer category, the information processing apparatus 100 learns the second model that predicts the category of the search query using the search intention of the user (the context of the user who has input the search query) as a kind of correct answer. Can be done. Thus, the information processing apparatus 100 can learn the second model without manually labeling the correct answer category of the search query. That is, the information processing apparatus 100 can obtain sufficient classification accuracy even when the number of correct answer data is small. In addition, the information processing apparatus 100 can obtain a higher classification accuracy when there are many correct answer data. Therefore, the information processing device 100 can improve the classification accuracy of the search query.

また、サービス提供部134は、検索クエリが学習モデルに入力された際に、学習モデルが出力する分散表現の分類結果が、検索クエリが属するカテゴリに対応するように学習することで、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2学習モデルを取得する。また、サービス提供部134は、入力情報として検索クエリが学習モデルに入力された際に、出力情報として検索クエリがカテゴリに属する確率をカテゴリ毎に出力する第2学習モデルを取得する。   In addition, when the search query is input to the learning model, the service providing unit 134 learns that the classification result of the distributed expression output by the learning model corresponds to the category to which the search query belongs, so that the predetermined search is performed. A second learning model that predicts a category to which a predetermined search query belongs from the query is acquired. In addition, when the search query is input to the learning model as input information, the service providing unit 134 acquires, as output information, a second learning model that outputs, for each category, the probability that the search query belongs to the category.

これにより、情報処理装置100は、検索意図を考慮した検索クエリの特徴を含む分散表現を活用して、検索クエリを入力したユーザの検索意図を考慮したカテゴリに検索クエリを分類する第2学習モデルを効率的に生成することができる。すなわち、情報処理装置100は、検索クエリを入力したユーザの検索意図を考慮したカテゴリに検索クエリを分類することを可能にする。したがって、情報処理装置100は、検索クエリの分類精度を高めることができる。   As a result, the information processing apparatus 100 uses the distributed expression including the characteristics of the search query in consideration of the search intention to classify the search query into a category in which the search intention of the user who has input the search query is considered. Can be generated efficiently. That is, the information processing apparatus 100 enables the search query to be classified into a category that considers the search intention of the user who has input the search query. Therefore, the information processing device 100 can improve the classification accuracy of the search query.

また、サービス提供部134は、第2学習モデルを用いて、所定の検索クエリと類似する特徴を有する検索クエリである類似クエリを分類する。   Further, the service providing unit 134 classifies similar queries that are search queries having characteristics similar to a predetermined search query using the second learning model.

これにより、情報処理装置100は、検索クエリを入力したユーザの検索意図を考慮したカテゴリに検索クエリを分類することを可能にする。したがって、情報処理装置100は、検索クエリの分類精度を高めることができる。   Thereby, the information processing apparatus 100 can classify the search query into a category considering the search intention of the user who has input the search query. Therefore, the information processing device 100 can improve the classification accuracy of the search query.

また、サービス提供部134は、広告主であるクライアントから検索クエリの分析テーマを受け付け、受け付けた分析テーマに対応する検索クエリを抽出する。   In addition, the service providing unit 134 receives a search query analysis theme from a client that is an advertiser, and extracts a search query corresponding to the received analysis theme.

これにより、情報処理装置100は、広告主であるクライアントが所望する分析テーマに合ったユーザの検索動向の分析結果を適切に提供することができる。   Thereby, the information processing apparatus 100 can appropriately provide the analysis result of the search trend of the user that matches the analysis theme desired by the client as the advertiser.

また、サービス提供部134は、広告主であるクライアントから検索クエリの分類軸を受け付け、受け付けた分類軸に対応するカテゴリに検索クエリを分類する。   Further, the service providing unit 134 receives a classification axis of the search query from the client as the advertiser, and classifies the search query into a category corresponding to the received classification axis.

これにより、情報処理装置100は、広告主であるクライアントが所望する分類軸に沿ったユーザの検索動向の分析結果を適切に提供することができる。   Thereby, the information processing apparatus 100 can appropriately provide the analysis result of the user's search trend along the classification axis desired by the client as the advertiser.

〔7.ハードウェア構成〕
また、上述してきた実施形態に係る情報処理装置100は、例えば図17に示すような構成のコンピュータ1000によって実現される。図17は、情報処理装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を備える。
[7. Hardware configuration)
The information processing apparatus 100 according to the embodiment described above is realized by, for example, a computer 1000 having a configuration as shown in FIG. FIG. 17 is a hardware configuration diagram illustrating an example of a computer that implements the functions of the information processing apparatus 100. The computer 1000 includes a CPU 1100, a RAM 1200, a ROM 1300, an HDD 1400, a communication interface (I / F) 1500, an input / output interface (I / F) 1600, and a 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 that depends on hardware of the computer 1000, and the like.

HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定の通信網を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定の通信網を介して他の機器へ送信する。   The HDD 1400 stores a program executed by the CPU 1100, data used by the program, and the like. Communication interface 1500 receives data from another device via a predetermined communication network, sends the data to CPU 1100, and transmits the data generated by CPU 1100 to the other 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 obtains data from an input device via the input / output interface 1600. Further, CPU 1100 outputs the generated data to an output device via 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), a 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. And so on.

例えば、コンピュータ1000が実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムまたはデータ(例えば、第1モデルM1のモデルデータMDT1、第2モデルM2のモデルデータMDT2)を実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムまたはデータ(例えば、第1モデルM1のモデルデータMDT1、第2モデルM2のモデルデータMDT2)を取得してもよい。   For example, when the computer 1000 functions as the information processing apparatus 100 according to the embodiment, the CPU 1100 of the computer 1000 loads the program or data (for example, the model data MDT1 of the first model M1, the model data MDT1 of the second model M2). The function of the control unit 130 is realized by executing the model data MDT2). The CPU 1100 of the computer 1000 reads and executes these programs from the recording medium 1800. As another example, these programs or data (for example, the model of the first model M1) may be transmitted from another device via a predetermined communication network. Data MDT1 and model data MDT2) of the second model M2 may be obtained.

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

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

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

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

また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、サービス提供部は、サービス提供手段やサービス提供回路に読み替えることができる。   Further, the “section (section, module, unit)” described above can be read as “means”, “circuit”, or the like. For example, the service providing unit can be replaced with a service providing unit or a service providing circuit.

1 情報処理システム
10 ユーザ端末
20 クライアント端末
50 検索サーバ
100 情報処理装置
121 クエリ情報記憶部
122 ベクトル情報記憶部
123 分類定義記憶部
124 カテゴリ情報記憶部
125 モデル情報記憶部
131 取得部
132 抽出部
133 生成部
134 サービス提供部
Reference Signs List 1 information processing system 10 user terminal 20 client terminal 50 search server 100 information processing device 121 query information storage unit 122 vector information storage unit 123 classification definition storage unit 124 category information storage unit 125 model information storage unit 131 acquisition unit 132 extraction unit 133 generation Department 134 Service Provision Department

Claims (14)

同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、前記複数の検索クエリが有する特徴を学習した第1学習モデルを用いて、所定の検索クエリと類似する特徴を有する検索クエリである類似クエリを抽出するサービス提供部
を備えることを特徴とする情報処理装置。
Assuming that a plurality of search queries input by the same user within a predetermined period of time have similar characteristics, a similarity to the predetermined search query is determined using a first learning model that has learned the characteristics of the plurality of search queries. An information processing apparatus comprising: a service providing unit that extracts a similar query that is a search query having the following characteristics.
前記サービス提供部は、
入力情報として所定の検索クエリが入力された際に、出力情報として前記所定の検索クエリの分散表現を出力する第1学習モデルを取得する
ことを特徴とする請求項1に記載の情報処理装置。
The service providing unit includes:
The information processing apparatus according to claim 1, wherein when a predetermined search query is input as input information, a first learning model that outputs a distributed expression of the predetermined search query is obtained as output information.
前記サービス提供部は、
前記所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習することで、前記複数の検索クエリが有する特徴を学習した第1学習モデルを取得する
ことを特徴とする請求項1または2に記載の情報処理装置。
The service providing unit includes:
Acquiring a first learning model that has learned features of the plurality of search queries by learning so that the distributed expressions of the pair of search queries input continuously within the predetermined time are similar. The information processing apparatus according to claim 1, wherein
前記サービス提供部は、
同一のユーザによって所定の時間内に入力された複数の検索クエリとして、所定の区切り文字で区切られた文字列を含む複数の検索クエリが類似する特徴を有するものとして学習することで、前記複数の検索クエリが有する特徴を学習した第1学習モデルを取得する
ことを特徴とする請求項1〜3のいずれか一つに記載の情報処理装置。
The service providing unit includes:
By learning as a plurality of search queries input within a predetermined time by the same user as a plurality of search queries including a character string delimited by a predetermined delimiter, the plurality of search queries have similar characteristics. The information processing device according to any one of claims 1 to 3, wherein a first learning model that has learned a feature of the search query is acquired.
前記サービス提供部は、
ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、前記複数の検索クエリが有する特徴を学習した第1学習モデルを取得する
ことを特徴とする請求項1〜4のいずれか一つに記載の情報処理装置。
The service providing unit includes:
A first learning model that learns features of the plurality of search queries is obtained by learning the plurality of search queries randomly extracted as having different features. An information processing device according to any one of the above.
前記サービス提供部は、
ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、前記複数の検索クエリが有する特徴を学習した第1学習モデルを取得する
ことを特徴とする請求項1〜5のいずれか一つに記載の情報処理装置。
The service providing unit includes:
A first learning model that learns the features of the plurality of search queries is obtained by learning so that the distributed expressions of a pair of search queries randomly extracted are different from each other. An information processing device according to any one of the above.
前記サービス提供部は、
前記第1学習モデルを用いて生成された第2学習モデルであって、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを取得する
ことを特徴とする請求項1〜6のいずれか一つに記載の情報処理装置。
The service providing unit includes:
2. A second learning model generated by using the first learning model, the second learning model predicting a category to which the predetermined search query belongs from a predetermined search query is acquired. 3. 7. The information processing apparatus according to any one of claims 6 to 6.
前記サービス提供部は、
検索クエリが学習モデルに入力された際に、学習モデルが出力する分散表現の分類結果が、前記検索クエリが属するカテゴリに対応するように学習することで、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを取得する
ことを特徴とする請求項1〜7のいずれか一つに記載の情報処理装置。
The service providing unit includes:
When a search query is input to the learning model, the classification result of the distributed expression output by the learning model is learned so as to correspond to the category to which the search query belongs, so that the predetermined search query is converted to the predetermined search query. The information processing apparatus according to any one of claims 1 to 7, wherein a second learning model that predicts a category to which the information belongs belongs.
前記サービス提供部は、
入力情報として検索クエリが学習モデルに入力された際に、出力情報として前記検索クエリがカテゴリに属する確率をカテゴリ毎に出力する第2学習モデルを取得する
ことを特徴とする請求項1〜8のいずれか一つに記載の情報処理装置。
The service providing unit includes:
When a search query is input to a learning model as input information, a second learning model that outputs, for each category, the probability that the search query belongs to a category is acquired as output information. An information processing device according to any one of the above.
前記サービス提供部は、
前記第2学習モデルを用いて、所定の検索クエリと類似する特徴を有する検索クエリである類似クエリを分類する
ことを特徴とする請求項9に記載の情報処理装置。
The service providing unit includes:
The information processing apparatus according to claim 9, wherein a similar query that is a search query having characteristics similar to a predetermined search query is classified using the second learning model.
前記サービス提供部は、
広告主であるクライアントから検索クエリの分析テーマを受け付け、受け付けた分析テーマに対応する検索クエリを抽出する
ことを特徴とする請求項1〜10のいずれか一つに記載の情報処理装置。
The service providing unit includes:
The information processing apparatus according to claim 1, wherein the information processing apparatus receives an analysis theme of a search query from a client serving as an advertiser and extracts a search query corresponding to the received analysis theme.
前記サービス提供部は、
広告主であるクライアントから検索クエリの分類軸を受け付け、受け付けた分類軸に対応するカテゴリに検索クエリを分類する
ことを特徴とする請求項1〜11のいずれか一つに記載の情報処理装置。
The service providing unit includes:
The information processing apparatus according to any one of claims 1 to 11, wherein a classification axis of the search query is received from a client as an advertiser, and the search query is classified into a category corresponding to the received classification axis.
コンピュータが実行する情報処理方法であって、
同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、前記複数の検索クエリが有する特徴を学習した第1学習モデルを用いて、所定の検索クエリと類似する特徴を有する検索クエリである類似クエリを抽出するサービス提供工程
を含むことを特徴とする情報処理方法。
An information processing method executed by a computer,
Assuming that a plurality of search queries input by the same user within a predetermined period of time have similar characteristics, a similarity to the predetermined search query is determined using a first learning model that has learned the characteristics of the plurality of search queries. An information processing method comprising: a service providing step of extracting a similar query that is a search query having the following characteristics.
同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、前記複数の検索クエリが有する特徴を学習した第1学習モデルを用いて、所定の検索クエリと類似する特徴を有する検索クエリである類似クエリを抽出するサービス提供手段
をコンピュータに実行させることを特徴とする情報処理プログラム。
Assuming that a plurality of search queries input by the same user within a predetermined period of time have similar characteristics, a similarity to the predetermined search query is determined using a first learning model that has learned the characteristics of the plurality of search queries. An information processing program for causing a computer to execute service providing means for extracting a similar query that is a search query having the following characteristics.
JP2018176628A 2018-09-20 2018-09-20 Information processing apparatus, information processing method, and information processing program Active JP6679683B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018176628A JP6679683B2 (en) 2018-09-20 2018-09-20 Information processing apparatus, information processing method, and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018176628A JP6679683B2 (en) 2018-09-20 2018-09-20 Information processing apparatus, information processing method, and information processing program

Publications (2)

Publication Number Publication Date
JP2020047126A true JP2020047126A (en) 2020-03-26
JP6679683B2 JP6679683B2 (en) 2020-04-15

Family

ID=69901442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018176628A Active JP6679683B2 (en) 2018-09-20 2018-09-20 Information processing apparatus, information processing method, and information processing program

Country Status (1)

Country Link
JP (1) JP6679683B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021179987A (en) * 2020-05-11 2021-11-18 ネイバー コーポレーションNAVER Corporation Shopping search result extension method and system
JP2022126427A (en) * 2021-02-18 2022-08-30 ヤフー株式会社 Information processing device, information processing method, and information processing program

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005302043A (en) * 2004-04-15 2005-10-27 Microsoft Corp Reinforced clustering of multi-type data object for search term suggestion
US20090157599A1 (en) * 2007-12-14 2009-06-18 Yahoo! Inc. Segmentation of search topics in query logs
JP2012003532A (en) * 2010-06-17 2012-01-05 Yahoo Japan Corp Query suggestion providing device and method
JP2013528873A (en) * 2010-05-31 2013-07-11 ヤフー! インコーポレイテッド Research mission identification
US9064007B1 (en) * 2011-01-05 2015-06-23 Google Inc. Co-click based similarity score of queries and keywords
JP2018022214A (en) * 2016-08-01 2018-02-08 ヤフー株式会社 Query providing device, query providing method and query providing program
JP2018088051A (en) * 2016-11-28 2018-06-07 ヤフー株式会社 Information processing device, information processing method and program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005302043A (en) * 2004-04-15 2005-10-27 Microsoft Corp Reinforced clustering of multi-type data object for search term suggestion
US20090157599A1 (en) * 2007-12-14 2009-06-18 Yahoo! Inc. Segmentation of search topics in query logs
JP2013528873A (en) * 2010-05-31 2013-07-11 ヤフー! インコーポレイテッド Research mission identification
JP2012003532A (en) * 2010-06-17 2012-01-05 Yahoo Japan Corp Query suggestion providing device and method
US9064007B1 (en) * 2011-01-05 2015-06-23 Google Inc. Co-click based similarity score of queries and keywords
JP2018022214A (en) * 2016-08-01 2018-02-08 ヤフー株式会社 Query providing device, query providing method and query providing program
JP2018088051A (en) * 2016-11-28 2018-06-07 ヤフー株式会社 Information processing device, information processing method and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021179987A (en) * 2020-05-11 2021-11-18 ネイバー コーポレーションNAVER Corporation Shopping search result extension method and system
JP7317889B2 (en) 2020-05-11 2023-07-31 ネイバー コーポレーション Method and system for augmenting shopping search results
JP2022126427A (en) * 2021-02-18 2022-08-30 ヤフー株式会社 Information processing device, information processing method, and information processing program

Also Published As

Publication number Publication date
JP6679683B2 (en) 2020-04-15

Similar Documents

Publication Publication Date Title
US11514333B2 (en) Combining machine-learning and social data to generate personalized recommendations
JP6745384B2 (en) Method and apparatus for pushing information
JP7012599B2 (en) Information processing equipment, information processing methods, and information processing programs
JP6679683B2 (en) Information processing apparatus, information processing method, and information processing program
JP7071304B2 (en) Information processing equipment, information processing methods and information processing programs
JP6959152B2 (en) Information processing equipment, information processing methods, and information processing programs
JP6982017B2 (en) Information processing equipment, information processing methods and information processing programs
JP6852114B2 (en) Specific device, specific method and specific program
JP7177013B2 (en) Information processing device, information processing method and information processing program
JP6584613B1 (en) Information processing apparatus, information processing method, and information processing program
JP6553793B1 (en) Information processing apparatus, information processing method, and information processing program
JP6751803B1 (en) Information processing apparatus, information processing method, and information processing program
JP6983672B2 (en) Information processing equipment, information processing methods, and information processing programs
JP6960361B2 (en) Information processing equipment, information processing methods, and information processing programs
JP7258988B2 (en) Information processing device, information processing method and information processing program
Hang et al. Machine learning applied to pack classification
CN110162714A (en) Content delivery method, calculates equipment and computer readable storage medium at device
JP7044729B2 (en) Information processing equipment, information processing methods and information processing programs
JP7101849B1 (en) Providing equipment, providing method, and providing program
CN117391824B (en) Method and device for recommending articles based on large language model and search engine
JP7249222B2 (en) Information processing device, information processing method and information processing program
JP6938569B2 (en) Information processing equipment, information processing methods and information processing programs
JP7080198B2 (en) Estimator, estimation method and estimation program
JP7098553B2 (en) Information processing equipment, information processing methods, and information processing programs
JP6728445B1 (en) Extraction device, extraction method, and extraction program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181213

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20181213

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20181218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190513

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190813

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191112

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20191112

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200219

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20200225

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: 20200310

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200318

R150 Certificate of patent or registration of utility model

Ref document number: 6679683

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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