JP6584613B1 - 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
JP6584613B1
JP6584613B1 JP2018174903A JP2018174903A JP6584613B1 JP 6584613 B1 JP6584613 B1 JP 6584613B1 JP 2018174903 A JP2018174903 A JP 2018174903A JP 2018174903 A JP2018174903 A JP 2018174903A JP 6584613 B1 JP6584613 B1 JP 6584613B1
Authority
JP
Japan
Prior art keywords
search
search query
information processing
processing apparatus
input
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.)
Active
Application number
JP2018174903A
Other languages
Japanese (ja)
Other versions
JP2020046940A (en
Inventor
清水 徹
徹 清水
潤二 宰川
潤二 宰川
アヌパム バッタチャルジ
アヌパム バッタチャルジ
カウステューブ クルカルニ
カウステューブ クルカルニ
隼人 小林
隼人 小林
伸幸 清水
伸幸 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2018174903A priority Critical patent/JP6584613B1/en
Application granted granted Critical
Publication of JP6584613B1 publication Critical patent/JP6584613B1/en
Publication of JP2020046940A publication Critical patent/JP2020046940A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】検索クエリの意味を適切に解釈可能とすること。【解決手段】本願に係る情報処理装置は、取得部と生成部とを備える。取得部は、ユーザによって入力された検索クエリを取得する。生成部は、取得部によって取得された検索クエリのうち、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する学習モデルを生成する。【選択図】図1An object of the present invention is to appropriately interpret the meaning of a search query. An information processing apparatus according to the present application includes an acquisition unit and a generation unit. The acquisition unit acquires a search query input by the user. The generation unit learns that a plurality of search queries input by the same user within a predetermined period of time from among the search queries acquired by the acquisition unit have similar characteristics. A learning model that predicts feature information of the search query is generated. [Selection] Figure 1

Description

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

従来、検索クエリの意味を解釈する技術が知られている。具体的には、対象ユーザが用いた各検索クエリに関する情報に対応するベクトル間の類似度に基づいて対象ユーザが用いた検索クエリに関する情報を第1クラスタに分類し、他のユーザの各検索クエリに関する情報に対応するベクトル間の類似度に基づいて他のユーザが用いた検索クエリに関する情報を第2クラスタに分類する。そして、第1クラスタと第2クラスタとの差異に基づいて、第1クラスタから対象ユーザに特徴的な行動を示すクラスタである特徴クラスタを抽出する技術が提案されている。   Conventionally, a technique for interpreting the meaning of a search query is known. Specifically, information related to the search query used by the target user is classified into the first cluster based on the similarity between vectors corresponding to the information related to each search query used by the target user, and each search query of other users is classified. Information related to search queries used by other users is classified into the second cluster based on the similarity between vectors corresponding to the information related to. And the technique which extracts the feature cluster which is a cluster which shows the action characteristic to an object user from the 1st cluster based on the difference between the 1st cluster and the 2nd cluster is proposed.

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

しかしながら、上記の従来技術では、検索クエリの意味を適切に解釈可能とすることができるとは限らない。具体的には、言葉の意味は、その言葉が用いられるコンテクストによって異なる場合がある。そのため、コンテクストの中で用いられた文字列をコンテクストから切り離して抽出したとしても、その文字列の本来の意味(すなわち、その文字列がそのコンテクストで用いられた意味)を解釈することは難しい場合がある。以上を踏まえると、上記の従来技術では、文字列としての検索クエリの類似度を考慮するにすぎないため、検索クエリの本来の意味を解釈することは難しい。そのため、上記の従来技術では、検索クエリを入力したユーザのコンテクストを考慮して、検索クエリの意味を適切に解釈することは難しい。したがって、上記の従来技術では、検索クエリの意味を適切に解釈可能とすることができるとは限らない。   However, in the above-described conventional technology, it is not always possible to appropriately interpret the meaning of the search query. 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, the above-described conventional technology only considers the similarity of the search query as a character string, and thus it is difficult to interpret the original meaning of the search query. For this reason, it is difficult to properly interpret the meaning of the search query in the above-described conventional technology in consideration of the context of the user who has input the search query. Therefore, in the above-described conventional technology, it is not always possible to appropriately interpret the meaning of the search query.

また、一般的に、検索サービスにおいては、検索クエリの意味(内容)を理解し、検索クエリの意味(内容)に応じて、検索システムの振る舞いを制御することが重要である。しかしながら、検索クエリが用いられるコンテクストは多岐に渡るため、検索クエリの意味は非常に多岐に渡る。そのため、学習データを人手で作成し、多岐に渡る検索クエリの意味を適切に分析する学習モデルを生成することは難しい。   In general, in a search service, it is important to understand the meaning (content) of a search query and control the behavior of the search system according to the meaning (content) of the search query. However, since the context in which the search query is used varies widely, the meaning of the search query varies greatly. For this reason, it is difficult to generate learning data by manually creating learning data and appropriately analyzing the meaning of a wide variety of search queries.

本願は、上記に鑑みてなされたものであって検索クエリの意味を適切に解釈可能とすることができる情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的とする。   The present application has been made in view of the above, and an object thereof is to provide an information processing apparatus, an information processing method, and an information processing program capable of appropriately interpreting the meaning of a search query.

本願に係る情報処理装置は、ユーザによって入力された検索クエリを取得する取得部と、前記取得部によって取得された検索クエリのうち、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから前記所定の検索クエリの特徴情報を予測する学習モデルを生成する生成部とを備えたことを特徴とする。   An information processing apparatus according to the present application includes: an acquisition unit that acquires a search query input by a user; and a plurality of search queries that are input within a predetermined time by the same user among the search queries acquired by the acquisition unit And a generation unit that generates a learning model that predicts characteristic information of the predetermined search query from a predetermined search query by learning as having similar characteristics.

実施形態の一態様によれば、検索クエリの意味を適切に解釈可能とすることができるといった効果を奏する。   According to one aspect of the embodiment, there is an effect that the meaning of the search query can be appropriately interpreted.

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

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

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

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

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

また、以下では、ユーザID「U1」により特定されるユーザを「ユーザU1」とする場合がある。このように、以下では、「ユーザU*(*は任意の数値)」と記載した場合、そのユーザはユーザID「U*」により特定されるユーザであることを示す。例えば、「ユーザU2」と記載した場合、そのユーザはユーザID「U2」により特定されるユーザである。   In the following, the user specified by the user ID “U1” may be referred to as “user U1”. Thus, in the following, 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と記載する。   Moreover, below, the user terminal 10 is demonstrated as user terminal 10-1, 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. For example, the user terminal 10-2 is the user terminal 10 used by the user U2. Hereinafter, the user terminals 10-1 and 10-2 are referred to as user terminals 10 when they are described without particular distinction.

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

検索サーバ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 receiving 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 delivers 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 the web page displayed by the web browser. For example, the content distributed by the search server 50 may be content displayed by a dedicated application installed in the user terminal 10. The content distributed by the search server 50 includes music content, images (including moving images as well as still images), and text content (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 related to the user search history. For example, when receiving a search query from the user terminal 10, the search server 50 registers the received search query, the user ID for identifying the user who is the transmission source of the search query, and the transmission date and time of the search query in association with each other. . The search server 50 transmits information related to the search query input by the user to the information processing apparatus 100 in response to a request from the information processing apparatus 100.

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

一般的に、検索者が検索を行う際、一回の検索で検索者の意図する情報に到達するケースよりも、異なる検索クエリを用いて複数回にわたって検索を行った結果、検索者の意図する情報に到達するケースの方が多いと考えられる。すなわち、ユーザはある意図を持って検索を複数回行うと考えられるため、所定の時間内に連続して入力された検索クエリは、検索意図が近いという推定が成り立つ。そこで、本願発明に係る情報処理装置100は、同一のユーザによって所定の時間内に連続して入力された複数の検索クエリは、類似する特徴を有するものとして学習モデルを学習させる。具体的には、情報処理装置100は、ユーザによって入力された検索クエリに関する情報を検索サーバ50から取得する。続いて、情報処理装置100は、検索サーバ50から取得した検索クエリのうち、同一のユーザによって所定の時間内に入力された複数の検索クエリを抽出する。続いて、情報処理装置100は、抽出した複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する学習モデルを生成する。例えば、情報処理装置100は、抽出した複数の検索クエリの分散表現が類似するように学習モデルを学習させることで、所定の検索クエリから所定の検索クエリの特徴情報を含む分散表現(ベクトル)を出力する学習モデルを生成する。   Generally, when a searcher performs a search, the searcher intends as a result of performing a search multiple times using different search queries, rather than reaching the searcher's intent information in a single search. 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 assumed that a search query continuously input within a predetermined time has a close search intention. Therefore, the information processing apparatus 100 according to the present invention causes the learning model to be learned on the assumption that a plurality of search queries input continuously by the same user within a predetermined time have similar characteristics. Specifically, the information processing apparatus 100 acquires information about 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 learning model that predicts feature information of a predetermined search query from the predetermined search query by learning that the extracted search queries have similar characteristics. For example, the information processing apparatus 100 learns a learning model so that distributed expressions of a plurality of extracted search queries are similar, thereby obtaining a distributed expression (vector) including feature information of a predetermined search query from a predetermined search query. Generate an output learning model.

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

ここから、図1を用いて、情報処理の流れについて説明する。図1は、実施形態に係る情報処理の一例を示す図である。図1に示す例では、情報処理装置100は、同一のユーザU1によって所定の時間内に連続して入力された「六本木 パスタ」という検索クエリQ11と「六本木 イタリアン」という検索クエリQ12とから成る一対の検索クエリを抽出する(ステップS11)。   From here, 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 illustrated in FIG. 1, the information processing apparatus 100 includes a pair of search queries Q11 “Roppongi pasta” and search queries Q12 “Roppongi Italian” that are continuously input by the same user U1 within a predetermined time. The search query is extracted (step S11).

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

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

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

図2の上段に示す例では、情報処理装置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. 2, the information processing apparatus 100 includes a search query Q11 (“Roppongi Pasta”), which is four search queries that are continuously input by the same user U1 within a predetermined time, 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 when each search query is input 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 within which a pair of search queries described later is input by the same user U1 is within a predetermined time. When arranged in the order in which the search queries are input, 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 information processing apparatus 100 extracts four search queries, two search queries adjacent in time series are used as a pair of search queries, and a pair of search queries (search query Q11, search query Q12). , (Search query Q12, search query Q13), (search query Q13, search query Q14) are extracted (step S21-1). The information processing apparatus 100 may extract a plurality of search queries in which all search queries are input within a predetermined time by the same user U1. Then, the information processing apparatus 100 selects two search queries from the plurality of extracted search queries regardless of whether or not they are adjacent in time series, and selects the two search queries as a pair of search queries. May be extracted as

続いて、情報処理装置100は、抽出した検索クエリQ1k(k=1、2、3、4)を学習モデルM1に入力して、検索クエリQ1k(k=1、2、3、4)の分散表現であるベクトルBQV1k(k=1、2、3、4)を出力する。ここで、ベクトルBQV1k(k=1、2、3、4)は、学習モデルM1の出力層から出力されたばかりの検索クエリQ1k(k=1、2、3、4)の分散表現であって、学習モデルM1にフィードバックをかける前(学習前)の分散表現を示す(ステップS22−1)。   Subsequently, the information processing apparatus 100 inputs the extracted search query Q1k (k = 1, 2, 3, 4) to the learning model M1, and distributes the search query Q1k (k = 1, 2, 3, 4). A vector BQV1k (k = 1, 2, 3, 4) as an expression 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 learning model M1, A distributed representation before applying feedback to the learning model M1 (before learning) is shown (step S22-1).

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

図2の上段に示す情報処理の結果として、検索クエリ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は、「ある場所(東京都港区付近)で飲食店を探す」という検索意図で入力された所定の検索クエリが学習モデルに入力されると、クラスタCL11の位置にマッピングされるような分散表現を出力することができる。これにより、例えば、情報処理装置100は、クラスタCL11の位置にマッピングされる分散表現に対応する検索クエリを抽出することにより、「ある場所(東京都港区付近)で飲食店を探す」という検索意図に応じた検索クエリを抽出することができる。したがって、情報処理装置100は、検索クエリの意味を適切に解釈可能とすることができる。   As a result of the information processing shown in the upper part of FIG. 2, the 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. A state of mapping as a cluster CL11 at the position is shown. For example, the search query Q1k (k = 1, 2, 3, 4) is a set of search queries searched by the user U1 with a search intention of “searching for a restaurant in a certain place (near Minato-ku, Tokyo)”. It is estimated that. That is, the search query Q1k (k = 1, 2, 3, 4) is a search query searched under a search intention of “finding a restaurant in a certain place (near Tokyo Minato-ku)”. , It is presumed that the search queries have characteristics similar to each other. Here, when a predetermined search query input with a search intention of “searching for a restaurant in a certain place (near Minato-ku, Tokyo)” is input to the learning model, the information processing apparatus 100 moves to the position of the cluster CL11. A distributed representation that can be mapped can be output. Thereby, 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 searching for “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.

図2の下段に示す例では、情報処理装置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. 2, the information processing apparatus 100 includes a search query Q21 (“refrigerator 400L”), which is three search queries that are continuously input by the same user U2 within a predetermined time, and a search query. Q22 ("refrigerator medium size") and search query Q23 ("refrigerator medium size recommendation") are extracted. When arranged in the order in which the search queries are input, the information processing apparatus 100 extracts three search queries that are input in the order of the search query Q21, the search query Q22, and the search query Q23. When the information processing apparatus 100 extracts three search queries, two search queries that are adjacent in time series are used as a pair of search queries (search query Q21, search query Q22). , (Search query Q22, search query Q23) are extracted (step S21-2).

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

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

図2の下段に示す情報処理の結果として、検索クエリQ2m(m=1、2、3)の分散表現であるベクトルQV2m(m=1、2、3)が分散表現空間の近い位置にクラスタCL21としてマッピングされる様子が示されている。例えば、検索クエリQ2m(m=1、2、3)は、ユーザU2によって「中型の冷蔵庫を調べる」という検索意図の下で検索された検索クエリの集合であると推定される。すなわち、Q2m(m=1、2、3)は、「中型の冷蔵庫を調べる」という検索意図の下で検索された検索クエリであるという点で、相互に類似する特徴を有する検索クエリであると推定される。ここで、情報処理装置100は、「中型の冷蔵庫を調べる」という検索意図で入力された所定の検索クエリが学習モデルに入力されると、クラスタCL21の位置にマッピングされるような分散表現を出力することができる。これにより、例えば、情報処理装置100は、クラスタCL21の位置にマッピングされる分散表現に対応する検索クエリを抽出することにより、「中型の冷蔵庫を調べる」という検索意図に応じた検索クエリを抽出することができる。したがって、情報処理装置100は、検索クエリの意味を適切に解釈可能とすることができる。   As a result of the information processing shown in the lower part of FIG. 2, the 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. As shown in FIG. For example, the search query Q2m (m = 1, 2, 3) is presumed to be a set of search queries searched by the user U2 with the search intention of “examine medium size refrigerator”. That is, 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 “examine medium size refrigerator”. Presumed. Here, the information processing apparatus 100 outputs a distributed expression that is mapped to the position of the cluster CL21 when a predetermined search query input with a search intention of “examine medium size refrigerator” is input to the learning model. can do. Thereby, for example, the information processing apparatus 100 extracts a search query corresponding to a search intention of “examine medium size 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は、ランダムに抽出された複数の検索クエリは、異なる検索意図の下で検索された検索クエリであるという点で、相互に相違する特徴を有する検索クエリであるとみなして学習モデルM1を学習させる。具体的には、情報処理装置100は、所定の検索クエリの分散表現と、所定の検索クエリとは無関係にランダムに抽出された検索クエリの分散表現とが分散表現空間上で遠くにマッピングされるように学習モデルM1のトレーニングを行う。図2に示す例では、情報処理装置100は、検索クエリQ11とは無関係にランダムに検索クエリを抽出したところ、検索クエリQ21が抽出されたとする。この場合、情報処理装置100は、検索クエリQ11の分散表現(ベクトルQV11)と、検索クエリQ11とは無関係にランダムに抽出された検索クエリQ21の分散表現(ベクトルQV21)とが分散表現空間上で遠くにマッピングされるように学習モデル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は、ランダムに抽出された複数の検索クエリの分散表現が相違するように学習モデルM1を学習させることにより、検索意図が異なる検索クエリの分散表現を分散表現空間上で遠い位置に出力可能とする。   In addition, the information processing apparatus 100 according to the present invention is a search query having characteristics that are different from each other in that the plurality of randomly extracted search queries are search queries that are searched under different search intentions. The learning model M1 is learned by assuming that there is. Specifically, the information processing apparatus 100 maps a distributed expression of a predetermined search query and a distributed expression of a search query that is randomly extracted regardless of the predetermined search query in the distributed expression space. Thus, the learning model M1 is trained. In the example illustrated in FIG. 2, it is assumed that the information processing apparatus 100 randomly extracts a search query regardless of the search query Q11, and then extracts the search query Q21. In this case, the information processing apparatus 100 determines that the distributed expression (vector QV11) of the search query Q11 and the distributed expression (vector QV21) of the search query Q21 randomly extracted regardless of the search query Q11 are in the distributed expression space. Training of the learning model M1 is performed so that it is mapped far away. As a result, a vector QV1k which is a distributed representation of the search query Q1k (k = 1, 2, 3, 4) searched under the search intention of “searching for a restaurant in a certain place (near Minato-ku, Tokyo)” This is a distributed representation of a cluster CL11 including (k = 1, 2, 3, 4) and a search query Q2m (m = 1, 2, 3) searched with the search intention of “examine medium size 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 causes the learning model M1 to learn so that the distributed expressions of a plurality of randomly extracted search queries are different, thereby distributing the distributed expressions of search queries having different search intentions. It is possible to output to a far position in space.

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

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

〔2.情報処理装置の構成〕
次に、図4を用いて、実施形態に係る情報処理装置100の構成について説明する。図4は、実施形態に係る情報処理装置100の構成例を示す図である。図4に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
[2. Configuration of information processing apparatus]
Next, the configuration of the information processing apparatus 100 according to the embodiment will be described with reference to FIG. FIG. 4 is a diagram illustrating a configuration example of the information processing apparatus 100 according to the embodiment. As illustrated in FIG. 4, the information processing apparatus 100 includes a communication unit 110, a storage unit 120, and a control unit 130. The information processing apparatus 100 includes an input unit (for example, a keyboard and a mouse) that receives various operations from an administrator of the information processing apparatus 100 and a display unit (for example, a liquid crystal display) for displaying various types of information. You 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). 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は、図4に示すように、クエリ情報記憶部121と、ベクトル情報記憶部122と、モデル情報記憶部123とを有する。
(Storage unit 120)
The storage unit 120 is realized by, for example, a semiconductor memory device such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk. As illustrated in FIG. 4, the storage unit 120 includes a query information storage unit 121, a vector information storage unit 122, and a model information storage unit 123.

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

図5の1レコード目に示す例では、検索クエリID「Q11」で識別される検索クエリ(検索クエリQ11)は、図1に示した検索クエリ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. 5, 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 a user (user U1) identified by the user ID “U1”. Also, 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 was 17:00 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 character string is a character string in which “Roppongi” indicating a place name and “Pasta” indicating a food type are separated by a space as a delimiter.

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

「ベクトルID」は、検索クエリの分散表現であるベクトルを識別するための識別情報を示す。「検索クエリID」は、ベクトルに対応する検索クエリを識別するための識別情報を示す。「ベクトル情報」は、検索クエリの分散表現であるN次元のベクトルを示す。検索クエリの分散表現であるベクトルは、例えば、128次元のベクトルである。   The “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 which 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.

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

(モデル情報記憶部123)
モデル情報記憶部123は、情報処理装置100によって生成された学習モデルに関する各種の情報を記憶する。図7に、実施形態に係るモデル情報記憶部の一例を示す。図7に示す例では、モデル情報記憶部123は、「モデルID」、「モデルデータ」といった項目を有する。
(Model information storage unit 123)
The model information storage unit 123 stores various types of information regarding the learning model generated by the information processing apparatus 100. FIG. 7 shows an example of the model information storage unit according to the embodiment. In the example illustrated in FIG. 7, the model information storage unit 123 includes 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 apparatus 100. “Model data” indicates model data of a learning model generated by the information processing apparatus 100. For example, “model data” stores data for converting a search query into a distributed expression.

図7の1レコード目に示す例では、モデルID「M1」で識別される学習モデル(学習モデルM1)は、図1に示した学習モデルM1に対応する。また、モデルデータ「MDT1」は、情報処理装置100によって生成された学習モデルM1のモデルデータ(モデルデータMDT1)を示す。   In the example shown in the first record of FIG. 7, the learning model (learning model M1) identified by the model ID “M1” corresponds to the learning model M1 shown in FIG. The model data “MDT1” indicates model data (model data MDT1) of the learning model M1 generated by the information processing apparatus 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 any layer from the input layer to the output layer and other than the output layer, the first element, and the first element A second element whose value is calculated based on the weight of one element, and outputs a distributed representation of the search query input to the input layer from the output layer in response to the search query input to the input layer As such, 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. The weight of the first element corresponds to the coefficient ai corresponding to xi. Here, the regression model can be regarded as a simple perceptron having an input layer and an output layer. When each model is regarded as a simple perceptron, the first element can correspond 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要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。   Further, it is assumed that the model data MDT1 is realized by a neural network having one or a plurality of intermediate layers such as DNN (Deep Neural Network). In this case, the first element included in the model data MDT1 corresponds to any node of the input layer or the intermediate layer. The second element corresponds to the next node, which is a node to which a value is transmitted from the node corresponding to the first element. 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 apparatus 100 calculates a distributed expression using a model having an arbitrary structure such as the above-described regression model or neural network. Specifically, in the model data MDT1, a coefficient is set so that a distributed expression is output when a search query is input. The information processing apparatus 100 calculates a distributed representation using such model data MDT1.

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

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

(制御部130)
図4の説明に戻って、制御部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. 4, 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), an MPU (Micro Processing Unit), or the like. The various programs (corresponding to an example of the generation program) are executed by using the RAM as a work area. The control unit 130 is a controller, and is realized by an integrated circuit such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA).

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

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

(取得部131)
取得部131は、種々の情報を取得する。具体的には、取得部131は、ユーザによって入力された検索クエリを検索サーバ50から取得する。取得部131は、ユーザによって入力された検索クエリを取得すると、取得した検索クエリをクエリ情報記憶部121に格納する。
(Acquisition part 131)
The acquisition unit 131 acquires various information. Specifically, the acquisition unit 131 acquires a search query input by the user from the search server 50. When the acquisition unit 131 acquires a search query input by the user, the acquisition unit 131 stores the acquired search query in the query information storage unit 121.

(抽出部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つの検索クエリを一対の検索クエリとして抽出してもよい。
(Extractor 132)
The extraction unit 132 extracts various information. Specifically, the extraction unit 132 extracts a plurality of search queries input by the same user within a predetermined time from the search queries acquired by the acquisition unit 131. For example, the extraction unit 132 extracts a plurality of search queries in which the time interval when each search query is input by the same user is within a predetermined time. Subsequently, the extraction unit 132 extracts a pair of search queries that are continuously input by the same user within a predetermined time from a plurality of search queries input by the same user within a predetermined time. For example, the extraction unit 132 extracts a plurality of search queries in which a time interval when a pair of search queries is input by the same user is within a predetermined time. For example, the extraction unit 132 includes, among the search queries acquired by the acquisition unit 131, a search query Q11 (“Roppongi Pasta”) that is four search queries that are continuously input by the same user U1 within a predetermined time. ), Search query Q12 (“Roppongi Italian”), search query Q13 (“Akasaka pasta”), and search query Q14 (“Azabu pasta”). The extraction unit 132 extracts four search queries that are input in the order of the search query Q11, the search query Q12, the search query Q13, and the search query Q14 when arranged in the order in which the search queries are input. Subsequently, when extracting four search queries, the extraction unit 132 uses a pair of search queries as two search queries adjacent to each other in time series (search query Q11, search query). 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 are 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 or not they are adjacent in time series, and uses the selected two search queries as a pair of search queries. It may be extracted.

また、抽出部132は、取得部131によって取得された検索クエリのうち、所定の検索クエリと所定の検索クエリに無関係な他の検索クエリとを抽出する。例えば、抽出部132は、取得部131によって取得された検索クエリの中から、所定の検索クエリを抽出する。続いて、抽出部132は、取得部131によって取得された検索クエリの中から、所定の検索クエリとは無関係にランダムに他の検索クエリを抽出する。   The extraction unit 132 also extracts a predetermined search query and other search queries unrelated to the predetermined search query from 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 regardless of the predetermined search query.

(生成部133)
生成部133は、種々の情報を生成する。具体的には、生成部133は、取得部131によって取得された検索クエリのうち、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する学習モデルを生成する。具体的には、生成部133は、同一のユーザによって所定の時間内に入力された複数の検索クエリの分散表現が類似するように学習モデルを学習させることで、所定の検索クエリから所定の検索クエリの特徴情報を予測する学習モデルを生成する。例えば、生成部133は、所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習することで、学習モデルを生成する。例えば、生成部133は、一対の検索クエリの学習前の分散表現(ベクトル)の類似度の値を算出する。また、生成部133は、一対の検索クエリの学習後の分散表現(ベクトル)の類似度の値を算出する。続いて、生成部133は、学習前の分散表現(ベクトル)の類似度の値よりも、学習後の分散表現(ベクトル)の類似度の値が大きくなるように学習モデルを学習させる。このように、生成部133は、一対の検索クエリに対応する一対の分散表現である2つのベクトルが分散表現空間上で類似するように学習モデルを学習させることで、検索クエリから分散表現(ベクトル)を出力する学習モデルを生成する。より具体的には、生成部133は、RNNの一種であるLSTMを分散表現生成に用いたDSSMの技術を用いて、検索クエリから分散表現(ベクトル)を出力する学習モデルを生成する。例えば、生成部133は、学習モデルの正解データとして、同一のユーザによって所定の時間内に入力された一対の検索クエリが類似する特徴を有するものとして、所定の検索クエリの分散表現(ベクトル)と、所定の検索クエリと対となる他の検索クエリの分散表現(ベクトル)とが、分散表現空間上で近くに存在するように学習する。
(Generator 133)
The generation unit 133 generates various information. Specifically, the generation unit 133 learns that among the search queries acquired by the acquisition unit 131, a plurality of search queries input by the same user within a predetermined time have similar characteristics. A learning model for predicting feature information of a predetermined search query from the predetermined search query is generated. Specifically, the generation unit 133 learns a learning model so that distributed expressions of a plurality of search queries input within a predetermined time by the same user are similar, thereby performing a predetermined search from a predetermined search query. A learning model that predicts query feature information is generated. For example, the generation unit 133 generates a learning model by learning so that the distributed expressions of a pair of search queries input in succession within a predetermined time are similar. For example, the generation unit 133 calculates a similarity value of a distributed expression (vector) before learning a pair of search queries. In addition, the generation unit 133 calculates the similarity value of the distributed expression (vector) after learning the pair of search queries. Subsequently, the generation unit 133 causes the learning model to learn so that the similarity value of the distributed representation (vector) after learning is larger than the similarity value of the distributed representation (vector) before learning. As described above, the generation unit 133 learns 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, so that the distributed expressions (vectors) are obtained from the search query. ) Is generated. More specifically, the generation unit 133 generates a learning model that outputs a distributed expression (vector) from a search query, using a DSSM technique that uses LSTM, which is a kind of RNN, for distributed expression generation. For example, the generation unit 133 assumes that a pair of search queries input by the same user within a predetermined time as the correct answer data of the learning model has similar characteristics, and a distributed expression (vector) of the predetermined search query and Then, learning is performed so that a distributed expression (vector) of another search query paired with a predetermined search query exists in the vicinity in the distributed expression space.

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

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

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

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

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

〔3.情報処理のフロー〕
次に、図9を用いて、実施形態に係る情報処理の手順について説明する。図9は、実施形態に係る情報処理手順を示すフローチャートである。図9に示す例では、情報処理装置100は、ユーザによって入力された検索クエリを取得する(ステップS101)。
[3. Information processing flow)
Next, an information processing procedure according to the embodiment will be described with reference to FIG. FIG. 9 is a flowchart illustrating an information processing procedure according to the embodiment. In the example illustrated in FIG. 9, the information processing apparatus 100 acquires a search query input by the 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は、抽出した検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから分散表現(ベクトル)を出力する学習モデルを生成する(ステップS103)。   Subsequently, the information processing apparatus 100 learns that the extracted search query has similar characteristics, thereby generating a learning model that outputs a distributed expression (vector) from the predetermined search query (step S103).

〔4.効果〕
上述してきたように、実施形態に係る情報処理装置100は、取得部131と生成部133を備える。取得部131は、ユーザによって入力された検索クエリを取得する。生成部133は、取得部131によって取得された検索クエリのうち、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する学習モデルを生成する。
[4. effect〕
As described above, the information processing apparatus 100 according to the embodiment includes the acquisition unit 131 and the generation unit 133. The acquisition unit 131 acquires a search query input by the user. The generation unit 133 learns that, among the search queries acquired by the acquisition unit 131, a plurality of search queries input by the same user within a predetermined time have similar characteristics, so that the predetermined search query A learning model for predicting feature information of a predetermined search query is generated.

一般的に、ユーザはある意図を持って検索を複数回行うと考えられるため、所定の時間内に連続して入力された検索クエリは、検索意図が近いという仮定が成り立つ。そこで、本願発明に係る情報処理装置100は、所定の時間内に連続して入力された複数の検索クエリは、所定の検索意図の下で検索された検索クエリであるという点で、相互に類似する特徴を有する検索クエリであるとみなして学習モデルM1を学習させる。具体的には、本願発明に係る情報処理装置100は、所定の時間内に連続して入力された検索クエリの分散表現が類似するように学習モデルM1を学習させることにより、検索意図が近い検索クエリの分散表現を分散表現空間上で近い位置に出力可能とする。これにより、情報処理装置100は、検索クエリを入力したユーザのコンテクストに応じて検索クエリの意味(検索意図)を出力(解釈)することを可能にする。したがって、情報処理装置100は、検索クエリの意味を適切に解釈可能とすることができる。さらに、情報処理装置100は、所定の検索クエリの特徴情報を含む分散表現の近傍にマッピングされる分散表現に対応する検索クエリを抽出することにより、所定の検索クエリが検索された検索意図に応じた検索クエリを抽出することができる。すなわち、情報処理装置100は、検索クエリを入力したユーザのコンテクストを踏まえて、ユーザの検索動向を分析することを可能にする。したがって、情報処理装置100は、ユーザの検索動向の分析精度を高めることができる。また、情報処理装置100が生成した学習モデルM1を検索システムの一部として機能させることもできる。あるいは、情報処理装置100は、学習モデルM1によって予測された検索クエリの特徴情報を利用する他のシステム(例えば、検索エンジン)への入力情報として、学習モデルM1が出力した検索クエリの分散表現を提供することもできる。これにより、検索システムは、学習モデルM1によって予測された検索クエリの特徴情報に基づいて、検索結果として出力されるコンテンツを選択可能になる。すなわち、検索システムは、検索クエリを入力したユーザの検索意図やコンテクストを考慮して、検索結果として出力されるコンテンツを選択可能になる。さらに、検索システムは、学習モデルM1によって予測された検索クエリの特徴情報に基づいて、検索結果として出力されるコンテンツに含まれる文字列の分散表現と検索クエリの分散表現との類似度を算出可能になる。そして、検索システムは、算出した類似度に基づいて、検索結果として出力されるコンテンツの表示順を決定可能になる。すなわち、検索システムは、検索クエリを入力したユーザの検索意図やコンテクストを考慮して、検索結果として出力されるコンテンツの表示順を決定可能になる。したがって、情報処理装置100は、検索サービスにおけるユーザビリティを向上させることができる。   Generally, since it is considered that a user performs a search a plurality of times with a certain intention, it is assumed that a search query continuously input within a predetermined time has a close 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 input continuously within a predetermined time are search queries searched under a predetermined search intention. The learning model M1 is learned by assuming that the search query has the characteristic of Specifically, the information processing apparatus 100 according to the present invention causes the learning model M1 to learn so that the distributed expressions of the search queries that are continuously input within a predetermined time are similar, thereby searching for a search with a close search intention. The distributed expression of the query can be output at a position close to the distributed expression space. As a result, the information processing apparatus 100 can output (interpret) the meaning (search intention) 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 in the vicinity of the distributed expression including the feature information of the predetermined search query, thereby responding to the search intention for searching the predetermined search query. Search query can be extracted. That is, the information processing apparatus 100 can analyze a user's search trend based on the context of the user who has input the search query. Therefore, the information processing apparatus 100 can improve the analysis accuracy of the user's search trend. The learning 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 uses a distributed expression of the search query output by the learning model M1 as input information to another system (for example, a search engine) that uses the feature information of the search query predicted by the learning model M1. It can also be provided. As a result, the search system can select content output as a 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 the 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 representation of the character string included in the content output as the search result and the distributed representation of the search query, based on the feature information of the search query predicted by the learning model M1. become. 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 contents output as search results 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 usability in the search service.

また、生成部133は、所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習することで、学習モデルを生成する。   In addition, the generation unit 133 generates a learning model by learning so that the distributed expressions of a pair of search queries input in succession within a predetermined time are similar.

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

また、生成部133は、同一のユーザによって所定の時間内に入力された複数の検索クエリとして、所定の区切り文字で区切られた文字列を含む複数の検索クエリが類似する特徴を有するものとして学習することで、学習モデルを生成する。   Further, the generation unit 133 learns that a plurality of search queries including character strings separated by a predetermined delimiter have similar characteristics as a plurality of search queries input by the same user within a predetermined time. By doing so, a learning model is generated.

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

また、生成部133は、取得部131によって取得された検索クエリのうち、ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、学習モデルを生成する。また、生成部133は、取得部131によって取得された検索クエリのうち、ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、学習モデルを生成する。   In addition, the generation unit 133 generates a learning model by learning that the search queries acquired by the acquisition unit 131 have different characteristics from a plurality of randomly extracted search queries. In addition, the generation unit 133 generates a learning model by learning so that the distributed expressions of a pair of search queries extracted at random among the search queries acquired by the acquisition unit 131 are different.

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

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

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

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

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

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

例えば、コンピュータ1000が実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムまたはデータ(例えば、学習モデルM1のモデルデータMDT1)を実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムまたはデータ(例えば、学習モデルM1のモデルデータMDT1)を取得してもよい。   For example, when the computer 1000 functions as the information processing apparatus 100 according to the embodiment, the CPU 1100 of the computer 1000 executes a program or data loaded on the RAM 1200 (for example, model data MDT1 of the learning model M1). The function of the control unit 130 is realized. 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, model data of the learning model M1) from other devices via a predetermined communication network. MDT1) may be acquired.

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

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

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

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

また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。   In addition, the “section (module, unit)” described above can be read as “means” or “circuit”. For example, the generation unit can be read as generation means or a generation circuit.

1 情報処理システム
10 ユーザ端末
50 検索サーバ
100 情報処理装置
121 クエリ情報記憶部
122 ベクトル情報記憶部
123 モデル情報記憶部
131 取得部
132 抽出部
133 生成部
DESCRIPTION OF SYMBOLS 1 Information processing system 10 User terminal 50 Search server 100 Information processing apparatus 121 Query information storage part 122 Vector information storage part 123 Model information storage part 131 Acquisition part 132 Extraction part 133 Generation part

Claims (7)

ユーザによって検索時に入力された検索クエリを取得する取得部と、
前記取得部によって取得された検索クエリのうち、同一のユーザによって所定の時間内に入力された検索クエリの分散表現であって、前記ユーザによって行われた各検索に対応する検索クエリの分散表現互いに類似する特徴を有するものとして前記検索クエリが入力された順序で前記検索クエリを順次処理することにより学習することで、所定の検索クエリから前記所定の検索クエリの分散表現を出力する学習モデルを生成する生成部と
を備えることを特徴とする情報処理装置。
An acquisition unit for acquiring a search query input by a user during a search;
In the search query obtained by the obtaining unit, a distributed representation of the search query entered within a predetermined time by the same user, distributed representation of the search query corresponding to each search performed by the user Learning models that output a distributed representation of the predetermined search query from a predetermined search query by learning by sequentially processing the search queries in the order in which the search queries are input as having similar characteristics to each other An information processing apparatus comprising: a generation unit that generates
前記生成部は、
前記所定の時間内に続けて入力された一対の検索クエリの分散表現が互いに類似するように学習することで、前記学習モデルを生成する
ことを特徴とする請求項1に記載の情報処理装置。
The generator is
The information processing apparatus according to claim 1, wherein the learning model is generated by learning so that distributed expressions of a pair of search queries input in succession within the predetermined time are similar to each other .
前記生成部は、
同一のユーザによって所定の時間内に入力された検索クエリの分散表現として、所定の区切り文字で区切られた文字列を含む検索クエリの分散表現が互いに類似する特徴を有するものとして学習することで、前記学習モデルを生成する
ことを特徴とする請求項1または2に記載の情報処理装置。
The generator is
As distributed representation of search query entered within a predetermined time by the same user is learned as having a characteristic that a string delimited by predetermined delimiters distributed representation of including search queries similar to each other The information processing apparatus according to claim 1, wherein the learning model is generated.
前記生成部は、
前記取得部によって取得された検索クエリのうち、ランダムに抽出された複数の検索クエリの分散表現が互いに相違する特徴を有するものとして学習することで、前記学習モデルを生成する
ことを特徴とする請求項1〜3のいずれか一つに記載の情報処理装置。
The generator is
The learning model is generated by learning the search queries acquired by the acquisition unit as having different characteristics from each other in a distributed expression of a plurality of search queries extracted at random. Item 4. The information processing apparatus according to any one of Items 1 to 3.
前記生成部は、
前記取得部によって取得された検索クエリのうち、ランダムに抽出された一対の検索クエリの分散表現が互いに相違するように学習することで、前記学習モデルを生成する
ことを特徴とする請求項1〜4のいずれか一つに記載の情報処理装置。
The generator is
The learning model is generated by learning so that distributed expressions of a pair of search queries extracted at random among the search queries acquired by the acquisition unit are different from each other . 5. The information processing apparatus according to any one of 4.
コンピュータが実行する情報処理方法であって、
ユーザによって検索時に入力された検索クエリを取得する取得工程と、
前記取得工程によって取得された検索クエリのうち、同一のユーザによって所定の時間内に入力された検索クエリの分散表現であって、前記ユーザによって行われた各検索に対応する検索クエリの分散表現互いに類似する特徴を有するものとして前記検索クエリが入力された順序で前記検索クエリを順次処理することにより学習することで、所定の検索クエリから前記所定の検索クエリの分散表現を出力する学習モデルを生成する生成工程と
を含むことを特徴とする情報処理方法。
An information processing method executed by a computer,
An acquisition process for acquiring a search query input by a user during a search;
In the search query obtained by the obtaining step, a distributed representation of the search query entered within a predetermined time by the same user, distributed representation of the search query corresponding to each search performed by the user Learning models that output a distributed representation of the predetermined search query from a predetermined search query by learning by sequentially processing the search queries in the order in which the search queries are input as having similar characteristics to each other An information processing method comprising: a generation step of generating
ユーザによって検索時に入力された検索クエリを取得する取得手順と、
前記取得手順によって取得された検索クエリのうち、同一のユーザによって所定の時間内に入力された検索クエリの分散表現であって、前記ユーザによって行われた各検索に対応する検索クエリの分散表現互いに類似する特徴を有するものとして前記検索クエリが入力された順序で前記検索クエリを順次処理することにより学習することで、所定の検索クエリから前記所定の検索クエリの分散表現を出力する学習モデルを生成する生成手順と
をコンピュータに実行させることを特徴とする情報処理プログラム。
An acquisition procedure for acquiring a search query entered by a user during a search,
In the search query acquired by the acquisition procedure, a distributed representation of the search query entered within a predetermined time by the same user, distributed representation of the search query corresponding to each search performed by the user Learning models that output a distributed representation of the predetermined search query from a predetermined search query by learning by sequentially processing the search queries in the order in which the search queries are input as having similar characteristics to each other An information processing program for causing a computer to execute a generation procedure for generating a message.
JP2018174903A 2018-09-19 2018-09-19 Information processing apparatus, information processing method, and information processing program Active JP6584613B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018174903A JP6584613B1 (en) 2018-09-19 2018-09-19 Information processing apparatus, information processing method, and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018174903A JP6584613B1 (en) 2018-09-19 2018-09-19 Information processing apparatus, information processing method, and information processing program

Publications (2)

Publication Number Publication Date
JP6584613B1 true JP6584613B1 (en) 2019-10-02
JP2020046940A JP2020046940A (en) 2020-03-26

Family

ID=68095328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018174903A Active JP6584613B1 (en) 2018-09-19 2018-09-19 Information processing apparatus, information processing method, and information processing program

Country Status (1)

Country Link
JP (1) JP6584613B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020194368A (en) * 2019-05-28 2020-12-03 ヤフー株式会社 Extractor, extraction method and extraction program

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814086B2 (en) * 2006-11-16 2010-10-12 Yahoo! Inc. System and method for determining semantically related terms based on sequences of search queries
US8768861B2 (en) * 2010-05-31 2014-07-01 Yahoo! Inc. Research mission identification
JP5296745B2 (en) * 2010-06-17 2013-09-25 ヤフー株式会社 Query suggestion providing apparatus and method
US20130132433A1 (en) * 2011-11-22 2013-05-23 Yahoo! Inc. Method and system for categorizing web-search queries in semantically coherent topics
US20150379074A1 (en) * 2014-06-26 2015-12-31 Microsoft Corporation Identification of intents from query reformulations in search
US20160125028A1 (en) * 2014-11-05 2016-05-05 Yahoo! Inc. Systems and methods for query rewriting
US10936945B2 (en) * 2016-06-06 2021-03-02 Microsoft Technology Licensing, Llc Query classification for appropriateness
JP6782591B2 (en) * 2016-09-12 2020-11-11 ヤフー株式会社 Estimator, estimation method, and estimation program
JP6780992B2 (en) * 2016-09-15 2020-11-04 ヤフー株式会社 Judgment device, judgment method and judgment program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020194368A (en) * 2019-05-28 2020-12-03 ヤフー株式会社 Extractor, extraction method and extraction program

Also Published As

Publication number Publication date
JP2020046940A (en) 2020-03-26

Similar Documents

Publication Publication Date Title
JP2023520483A (en) SEARCH CONTENT DISPLAY METHOD, DEVICE, ELECTRONIC DEVICE, AND STORAGE MEDIUM
WO2020224220A1 (en) Knowledge graph-based question answering method, electronic device, apparatus, and storage medium
US10902209B2 (en) Method for content search and electronic device therefor
US20220114187A1 (en) Techniques for searching using target applications
CN110598084A (en) Object sorting method, commodity sorting device and electronic equipment
KR20190040343A (en) Verification methods and devices
JP7080609B2 (en) Information processing equipment, information processing methods, and information processing programs
JP7071304B2 (en) Information processing equipment, information processing methods and information processing programs
JP5406794B2 (en) Search query recommendation device and search query recommendation program
JP6584613B1 (en) Information processing apparatus, information processing method, and information processing program
JP6679683B2 (en) Information processing apparatus, information processing method, and information processing program
JP6852114B2 (en) Specific device, specific method and specific program
WO2016118156A1 (en) Visually interactive identification of a cohort of data objects similar to a query object based on domain knowledge
JP6982017B2 (en) Information processing equipment, information processing methods and information processing programs
JP7044729B2 (en) Information processing equipment, information processing methods and information processing programs
JP7177013B2 (en) Information processing device, information processing method and information processing program
JP5507620B2 (en) Synonym estimation device, synonym estimation method, and synonym estimation program
JP6979986B2 (en) Information processing equipment, information processing methods and information processing programs
JP6553793B1 (en) Information processing apparatus, information processing method, and information processing program
JP7154253B2 (en) Information processing device, information processing method and program
JP7258988B2 (en) Information processing device, information processing method and information processing program
JP6696018B1 (en) Information processing apparatus, information processing method, and information processing program
JP6938569B2 (en) Information processing equipment, information processing methods and information processing programs
JP6728445B1 (en) Extraction device, extraction method, and extraction program
JP6983672B2 (en) Information processing equipment, information processing methods, and information processing programs

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190712

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190903

R150 Certificate of patent or registration of utility model

Ref document number: 6584613

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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