JP6553793B1 - Information processing apparatus, information processing method, and information processing program - Google Patents
Information processing apparatus, information processing method, and information processing program Download PDFInfo
- Publication number
- JP6553793B1 JP6553793B1 JP2018176617A JP2018176617A JP6553793B1 JP 6553793 B1 JP6553793 B1 JP 6553793B1 JP 2018176617 A JP2018176617 A JP 2018176617A JP 2018176617 A JP2018176617 A JP 2018176617A JP 6553793 B1 JP6553793 B1 JP 6553793B1
- Authority
- JP
- Japan
- Prior art keywords
- learning model
- search query
- search
- information processing
- predetermined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 181
- 238000003672 processing method Methods 0.000 title claims description 15
- 230000014509 gene expression Effects 0.000 claims description 77
- 238000000034 method Methods 0.000 claims description 35
- 239000013598 vector Substances 0.000 description 80
- 238000003860 storage Methods 0.000 description 52
- 235000015927 pasta Nutrition 0.000 description 30
- 101001111655 Homo sapiens Retinol dehydrogenase 11 Proteins 0.000 description 22
- 102100023916 Retinol dehydrogenase 11 Human genes 0.000 description 22
- 239000000284 extract Substances 0.000 description 19
- 238000000605 extraction Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 230000009471 action Effects 0.000 description 10
- 230000006399 behavior Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000002372 labelling Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 235000013305 food Nutrition 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 101710114762 50S ribosomal protein L11, chloroplastic Proteins 0.000 description 1
- 101100494773 Caenorhabditis elegans ctl-2 gene Proteins 0.000 description 1
- 101100112369 Fasciola hepatica Cat-1 gene Proteins 0.000 description 1
- 101100005271 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) cat-1 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】検索クエリの分類精度を高めること。【解決手段】本願に係る情報処理装置は、取得部と生成部とを備える。取得部は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。生成部は、取得部によって取得された第1学習モデルを用いて、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する。【選択図】図1To improve the classification accuracy 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 first learning model in which features of a plurality of search queries are learned, assuming that the plurality of search queries input within a predetermined time by the same user have similar features. The generation unit generates a second learning model that predicts a category to which a predetermined search query belongs from a predetermined search query using the first learning model acquired by the acquisition unit. [Selection] Figure 1
Description
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。 The present invention relates to an information processing apparatus, an information processing method, and an information processing program.
従来、種々の情報をカテゴリに分類する技術が知られている。具体的には、カテゴリ毎に分類された教師データの群によって、各カテゴリに応じた学習モデルを生成する。そして、生成した学習モデルに分類対象となるデータを入力して、分類対象となるデータが学習モデルに対応するカテゴリに属する確率を出力する技術が知られている。 Conventionally, techniques for classifying various information into categories are known. Specifically, a learning model corresponding to each category is generated by a group of teacher data classified for each category. Then, there is known a technique of inputting data to be classified into the generated learning model and outputting the probability that the data to be classified belongs to a category corresponding to the learning model.
しかしながら、上記の従来技術では、検索クエリの分類精度を高めることができるとは限らない。具体的には、検索クエリをカテゴリに分類し、高い分類精度を得るためには、十分な量の教師データを用意することが必要である。しかしながら、上記の従来技術では、カテゴリ毎に分類された教師データの群によって、各カテゴリに応じた学習モデルを生成するにすぎないため、十分な量の教師データを用意することができるとは限らない。したがって、上記の従来技術では、検索クエリの分類精度を高めることができるとは限らない。 However, the above-mentioned prior art can not always improve the classification accuracy of the search query. Specifically, it is necessary to prepare a sufficient amount of teacher data in order to classify search queries into categories and obtain high classification accuracy. However, in the above-described prior art, a learning model corresponding to each category is merely generated from a group of teacher data classified for each category, so that a sufficient amount of teacher data cannot always be prepared. Absent. Therefore, the above-mentioned prior art can not necessarily improve the classification accuracy of the search query.
本願は、上記に鑑みてなされたものであって、検索クエリの分類精度を高めることができる情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的とする。 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 improving the classification accuracy of a search query.
本願に係る情報処理装置は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、前記複数の検索クエリが有する特徴を学習した第1学習モデルを取得する取得部と、前記取得部によって取得された第1学習モデルを用いて、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する生成部とを備えたことを特徴とする。 The information processing apparatus according to the present application acquires a first learning model in which a plurality of search queries input within a predetermined time by the same user have similar characteristics and learns the characteristics of the plurality of search queries. And a generator configured to generate a second learning model for predicting a category to which the predetermined search query belongs from a predetermined search query using the first learning model acquired by the acquisition unit. It is characterized by
実施形態の一態様によれば、検索クエリの分類精度を高めることができるといった効果を奏する。 According to one aspect of the embodiment, there is an effect that the classification accuracy of the search query can be increased.
以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。 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. Moreover, the same code | symbol is attached | subjected to the same site | part in each following embodiment, and the overlapping description is abbreviate | omitted.
〔1.情報処理の一例〕
まず、図1を用いて、実施形態に係る情報処理の一例について説明する。図1は、実施形態に係る情報処理の一例を示す図である。図1に示す情報処理は、ユーザ端末10と検索サーバ50と情報処理装置100とによって行われる。
[1. Example of information processing]
First, an example of information processing according to the embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of information processing according to the embodiment. The information processing illustrated in FIG. 1 is performed by the
〔情報処理システムの構成〕
図1の説明に先立って、図2を用いて情報処理システム1の構成について説明する。図2は、実施形態に係る情報処理システムの構成例を示す図である。図2に示すように、情報処理システム1には、ユーザ端末10と、検索サーバ50と、情報処理装置100とが含まれる。ユーザ端末10と、検索サーバ50と、情報処理装置100とは所定のネットワークNを介して、有線または無線により通信可能に接続される。なお、図2に示す情報処理システム1には、任意の数のユーザ端末10と任意の数の検索サーバ50と任意の数の情報処理装置100とが含まれてもよい。
[Configuration of information processing system]
Prior to the description of FIG. 1, the configuration of the information processing system 1 will be described with reference to FIG. FIG. 2 is a diagram illustrating an exemplary configuration of an information processing system according to the embodiment. As illustrated in FIG. 2, the information processing system 1 includes a
ユーザ端末10は、検索サービスを利用するユーザによって使用される情報処理装置である。ユーザ端末10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。なお、以下では、ユーザ端末10をユーザと同一視する場合がある。すなわち、以下では、ユーザをユーザ端末10と読み替えることもできる。
The
また、以下では、ユーザID「U1」により特定されるユーザを「ユーザU1」とする場合がある。このように、以下では、「ユーザU*(*は任意の数値)」と記載した場合、そのユーザはユーザID「U*」により特定されるユーザであることを示す。例えば、「ユーザU2」と記載した場合、そのユーザはユーザID「U2」により特定されるユーザである。 Also, 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 any numerical value)” is described, it indicates that the user is the user specified by the user ID “U *”. For example, when "user U2" is described, the user is a user specified by 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
ユーザ端末10は、ユーザによって入力された検索クエリを検索サーバ50に送信する。具体的には、ユーザ端末10は、ユーザによる操作に従って、検索クエリを入力するための検索ボックスを含む検索ページを検索サーバ50から取得する。続いて、ユーザ端末10は、ユーザによって検索ボックスに文字が入力される操作に続いて、検索クエリを送信する操作が行われると、検索ページを介して検索ボックスに入力された文字を検索クエリとして検索サーバ50に送信する。例えば、ユーザ端末10は、ユーザによって検索ボックスに文字が入力される操作に続いて、検索クエリの送信ボタンが押下される操作やエンターキーが押下される操作が行われると、検索ページを介して検索ボックスに入力された文字を検索クエリとして検索サーバ50に送信する。
The
検索サーバ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
また、検索サーバ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
情報処理装置100は、後述する第1学習モデルを用いて、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成するサーバ装置である。ここで、第1学習モデルは、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、同一のユーザによって所定の時間内に入力された複数の検索クエリが有する特徴を学習した学習モデルである。なお、以下では、適宜、第1学習モデルを第1モデル(又は、第1モデルM1)と記載する。また、以下では、適宜、第2学習モデルを第2モデル(又は、第1モデルM2)と記載する。
The
一般的に、検索者が検索を行う際、一回の検索で検索者の意図する情報に到達するケースよりも、異なる検索クエリを用いて複数回にわたって検索を行った結果、検索者の意図する情報に到達するケースの方が多いと考えられる。すなわち、ユーザはある意図を持って検索を複数回行うと考えられるため、所定の時間内に連続して入力された検索クエリは、検索意図が近いという推定が成り立つ。そこで、本願発明に係る情報処理装置100は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、同一のユーザによって所定の時間内に入力された複数の検索クエリが有する特徴を学習させた第1学習モデルを生成する。具体的には、情報処理装置100は、ユーザによって入力された検索クエリに関する情報を検索サーバ50から取得する。続いて、情報処理装置100は、検索サーバ50から取得した検索クエリのうち、同一のユーザによって所定の時間内に入力された複数の検索クエリを抽出する。続いて、情報処理装置100は、抽出した複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する第1学習モデルを生成する。例えば、情報処理装置100は、抽出した複数の検索クエリの分散表現が類似するように第1学習モデルを学習させることで、所定の検索クエリから所定の検索クエリの特徴情報を含む分散表現(ベクトル)を出力する第1学習モデルを生成する。
Generally, when a searcher performs a search, the searcher intends as a result of performing a search multiple times using different search queries than in the case where the information intended by the searcher is reached by one 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, in the
より具体的には、情報処理装置100は、RNN(Recurrent Neural Network)の一種であるLSTM(Long Short-Term Memory)を分散表現生成に用いたDSSM(Deep Structured Sematic Model)の技術を用いて、検索クエリから分散表現(ベクトル)を出力する第1学習モデルを生成する。例えば、情報処理装置100は、第1学習モデルの正解データとして、同一のユーザによって所定の時間内に入力された一対の検索クエリが類似する特徴を有するものとして、所定の検索クエリの分散表現(ベクトル)と、所定の検索クエリと対となる他の検索クエリの分散表現(ベクトル)とが、分散表現空間上で近くに存在するように学習する。なお、2つのベクトルが分散表現空間上で近くに存在するように学習することは、2つのベクトルが分散表現空間上で類似するように学習することと言い換えることができる。
More specifically, the
ここから、図1を用いて、情報処理の流れについて説明する。図1は、実施形態に係る情報処理の一例を示す図である。図1の上段に示す例では、情報処理装置100は、同一のユーザU1によって所定の時間内に連続して入力された4個の検索クエリである検索クエリQ11(「六本木 パスタ」)、検索クエリQ12(「六本木 イタリアン」)、検索クエリQ13(「赤坂 パスタ」)、検索クエリQ14(「麻布 パスタ」)を抽出する。情報処理装置100は、同一のユーザU1によって各検索クエリが入力された時間の間隔が所定の時間内である複数の検索クエリを抽出する。また、情報処理装置100は、同一のユーザU1によって各検索クエリのペアが入力された時間の間隔が所定の時間内である複数の検索クエリを抽出する。ここで、4個の検索クエリは、検索クエリQ11、検索クエリQ12、検索クエリQ13、検索クエリQ14の順番でユーザU1によって各検索クエリが所定の時間内に入力された検索クエリであるとする。情報処理装置100は、4個の検索クエリを抽出すると、時系列的に隣り合う2つの検索クエリを一対の検索クエリとして、3対の検索クエリのペアである(検索クエリQ11、検索クエリQ12)、(検索クエリQ12、検索クエリQ13)、(検索クエリQ13、検索クエリQ14)を抽出する。情報処理装置100は、3対の検索クエリのペアを抽出すると、抽出した検索クエリQ1k(k=1、2、3、4)を第1モデルM1に入力する(ステップS11)。なお、情報処理装置100は、同一のユーザU1によって全ての検索クエリが所定の時間内に入力された複数の検索クエリを抽出してもよい。そして、情報処理装置100は、時系列的に隣り合うか否かに関わらず、抽出した複数の検索クエリの中から2つの検索クエリを選択して、選択した2つの検索クエリを一対の検索クエリとして抽出してもよい。
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 the upper part of FIG. 1, the
続いて、情報処理装置100は、検索クエリQ1k(k=1、2、3、4)の分散表現であるベクトルBQV1k(k=1、2、3、4)を第1モデルM1の出力データとして出力する(ステップS12)。ここで、ベクトルBQV1k(k=1、2、3、4)は、第1モデルM1の出力層から出力されたばかりの検索クエリQ1k(k=1、2、3、4)の分散表現であって、第1モデルM1にフィードバックをかける前(学習前)の分散表現を示す。
Subsequently, the
ここで、同一のユーザU1によって所定の時間内に連続して入力された検索クエリQ1k(k=1、2、3、4)は、例えば、ユーザU1によって「ある場所(東京都港区付近)で飲食店を探す」という検索意図の下で検索された検索クエリの集合であると推定される。すなわち、検索クエリQ1k(k=1、2、3、4)は、「ある場所(東京都港区付近)で飲食店を探す」という検索意図の下で検索された検索クエリであるという点で、相互に類似する特徴を有する検索クエリであると推定される。そこで、情報処理装置100は、連続して入力された検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する第1モデルを生成する(ステップS13)。具体的には、情報処理装置100は、連続して入力された検索クエリの分散表現が類似するものとして学習することで、所定の検索クエリから所定の検索クエリの分散表現を予測する第1モデルM1を生成する。例えば、情報処理装置100は、検索クエリQ11の分散表現(ベクトルQV11)と、検索クエリQ11と対となる検索クエリQ12の分散表現(ベクトルQV12)とが、分散表現空間上で類似するように第1モデルM1を学習させる。また、情報処理装置100は、検索クエリQ12の分散表現(ベクトルQV12)と、検索クエリQ12と対となる検索クエリQ13の分散表現(ベクトルQV13)とが、分散表現空間上で類似するように第1モデルM1を学習させる。また、情報処理装置100は、検索クエリQ13の分散表現(ベクトルQV13)と、検索クエリQ13と対となる検索クエリQ14の分散表現(ベクトルQV14)とが、分散表現空間上で類似するように第1モデルM1を学習させる。
Here, for example, the search query Q1k (k = 1, 2, 3, 4) continuously inputted within the predetermined time by the same user U1 is, for example, “a place (near Minato-ku, Tokyo) by the user U1 It is inferred that it is a set of search queries searched under the search intention “search for restaurant”. 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. Therefore, the
図1の上段の右側には、学習済みの第1モデルM1の出力結果として、同一のユーザU1によって所定の時間内に入力された検索クエリQ1k(k=1、2、3、4)の分散表現であるベクトルQV1k(k=1、2、3、4)が分散表現空間のクラスタCL11としてマッピングされる様子が示されている。このように、情報処理装置100は、同一のユーザによって所定の時間内に入力された複数の検索クエリが有する特徴を学習した第1学習モデルM1を生成する。
In the upper right side of FIG. 1, as an output result of the learned first model M1, the distribution of the search query Q1k (k = 1, 2, 3, 4) input within a predetermined time by the same user U1 A state in which a vector QV1k (k = 1, 2, 3, 4) as an expression is mapped as a cluster CL11 in a distributed expression space is shown. As described above, the
情報処理装置100は、第1モデルM1を生成すると、生成した第1モデルM1(第1モデルM1のモデルデータMDT1)を取得する。情報処理装置100は、第1モデルM1を取得すると、取得した第1モデルM1を用いて、第2学習モデルM2を生成する。具体的には、情報処理装置100は、第1モデルM1を再学習させることにより、第1モデルM1とは学習モデルの重みである接続係数が異なる第2モデルM2を生成する。より具体的には、情報処理装置100は、第1モデルM1を用いて、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2学習モデルM2を生成する(ステップS14)。
When the
図1の下段に示す例では、情報処理装置100は、検索クエリが第2モデルM2に入力された際に、CAT11(「飲食店を探す」)、CAT12(「商品を探す」)、CAT13(「飲食店を予約する」)、CAT14(「商品を購入する」)の4つのカテゴリのいずれのカテゴリに属するかを予測する第2モデルM2を生成する。具体的には、情報処理装置100は、入力情報として検索クエリが第2モデルM2に入力された際に、出力情報として検索クエリがそのカテゴリに属する確率をカテゴリ毎に出力する第2モデルM2を生成する。例えば、情報処理装置100は、第2モデルM2の正解データとして、検索クエリと検索クエリが属するカテゴリ(CAT11〜CAT14のいずれか)との組を学習する。
In the example illustrated in the lower part of FIG. 1, when the search query is input to the second model M2, the
なお、検索クエリがCAT11(「飲食店を探す」)に属することは、検索クエリが飲食店を探す意図で入力された検索クエリであることを示す。また、CAT12(「商品を探す」)に属することは、検索クエリが商品を探す意図で入力された検索クエリであることを示す。また、検索クエリがCAT13(「飲食店を予約する」)に属することは、検索クエリが飲食店を予約する意図で入力された検索クエリであることを示す。また、検索クエリがCAT14(「商品を購入する」)に属することは、検索クエリが商品を購入する意図で入力された検索クエリであることを示す。 The fact that the search query belongs to CAT11 (“Find a restaurant”) indicates that the search query is a search query input with the intention of searching for a restaurant. Also, belonging to CAT12 ("search for a product") indicates that the search query is a search query that is input with the intention of searching for a product. Further, the fact that the search query belongs to CAT 13 (“Reserve restaurant”) indicates that the search query is a search query input with the intention of reserving a restaurant. Also, the fact that the search query belongs to the CAT 14 (“purchase the item”) indicates that the search query is a search query entered with the intention of purchasing the item.
具体的には、情報処理装置100は、検索クエリが学習モデルに入力された際に、学習モデルが出力する分散表現の分類結果が、検索クエリが属するカテゴリに対応するように学習することで、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2モデルM2を生成する。そして、情報処理装置100は、例えば、入力情報として検索クエリが第2モデルM2に入力された際に、出力情報として検索クエリがそのカテゴリに属する確率をカテゴリCAT11〜CAT14毎に出力する第2モデルM2を生成する。
Specifically, when the search query is input to the learning model, the
例えば、情報処理装置100は、入力情報として検索クエリQ11(「六本木 パスタ」)が第2モデルM2に入力された際に(ステップS15)、出力情報として検索クエリQ11(「六本木 パスタ」)の分散表現であるベクトルBQV11を出力する。ここで、ベクトルBQV11は、第2モデルM2の出力層から出力されたばかりの検索クエリQ11の分散表現であって、第2モデルM2にフィードバックをかける前(学習前)の分散表現を示す。ここで、検索クエリQ11(「六本木 パスタ」)が属する正解カテゴリがCAT11(「飲食店を探す」)であるとする。この場合、情報処理装置100は、出力された検索クエリQ11(「六本木 パスタ」)の分散表現であるベクトルBQV11がCAT11(「飲食店を探す」)に分類される確率が所定の閾値を超えるように第2モデルM2を学習させる。なお、情報処理装置100は、あらかじめ用意された正解データを用いて第2モデルを学習させる。情報処理装置100は、第2モデルM2の正解データを生成してもよい。そして、情報処理装置100は、生成した正解データを用いて第2モデルM2を学習させてもよい。具体的には、情報処理装置100は、検索クエリを検索したユーザの検索後の行動に基づいて、検索クエリが属する正解カテゴリを決定する。より具体的には、情報処理装置100は、所定の検索クエリを検索したユーザに対して、検索後に所定の行動を起こしたユーザの割合が所定の閾値を超える所定の行動を、正解カテゴリに対応する行動として決定する。例えば、検索クエリQ11(「六本木 パスタ」)を検索したユーザが検索後に所定の行動を起こしたユーザの割合として、飲食店を探す行動を起こしたユーザの割合が90%、検索後に商品を探す行動を起こしたユーザの割合が0%、検索後に飲食店を予約する行動を起こしたユーザの割合が10%、検索後に商品を購入する行動を起こしたユーザの割合が0%であったとする。この場合、情報処理装置100は、飲食店を探す行動を起こしたユーザの割合が所定の閾値(例えば、90%)を超えるため、飲食店を探す行動を検索クエリQ11(「六本木 パスタ」)の正解カテゴリに対応する行動として決定する。そして、情報処理装置100は、正解カテゴリに対応する行動を飲食店を探す行動であると決定したので、検索クエリQ11(「六本木 パスタ」)が属する正解カテゴリをCAT11(「飲食店を探す」)に決定する。
For example, when the search query Q11 ("Roppongi pasta") is input to the second model M2 as input information (step S15), the
例えば、情報処理装置100は、学習前の第2モデルM2に検索クエリQ11(「六本木 パスタ」)が入力された際に、分散表現であるベクトルBQV11がCAT11(「飲食店を探す」)に分類される確率を80%、CAT12(「商品を探す」)に分類される確率を0%、CAT13(「飲食店を予約」)に分類される確率を20%、CAT14(「商品を購入する」)に分類される確率を0%と出力したとする。この場合、情報処理装置100は、分散表現であるベクトルBQV11がCAT11(「飲食店を探す」)に分類される確率を所定の閾値(例えば、90%)を超えるように第2モデルM2を学習させる。また、情報処理装置100は、分散表現であるベクトルBQV11がCAT11(「飲食店を探す」)に分類される確率が所定の閾値(例えば、90%)を超えるように学習させるのに合わせて、分散表現であるベクトルBQV11が他のカテゴリCAT13(「飲食店を予約」)に分類される確率を10%に下げるように第2モデルM2を学習させる。
For example, when the search query Q11 ("Roppongi pasta") is input to the second model M2 before learning, the
このように、情報処理装置100は、入力情報として所定の検索クエリが入力されると、出力情報として所定の検索クエリの分散表現が正解カテゴリに分類される確率が所定の閾値を超えるように第2モデルを学習させる。そして、情報処理装置100は、入力情報として所定の検索クエリが入力された際に、所定の検索クエリの分散表現がそのカテゴリに属する確率が所定の閾値を超えるカテゴリを、所定の検索クエリのカテゴリとして出力する。例えば、情報処理装置100は、学習済みの第2モデルM2に入力情報として検索クエリQ11(「六本木 パスタ」)が入力されると、検索クエリQ11(「六本木 パスタ」)の分散表現であるベクトルBQV11がカテゴリCAT11(「飲食店を探す」)に属する確率が90%を超えるので、出力情報として検索クエリが属するカテゴリをCAT11(「飲食店を探す」)と出力する(ステップS16)。このように、情報処理装置100は、検索クエリと検索クエリの正解カテゴリとの組を学習することで、所定の検索クエリから所定の検索クエリのカテゴリを予測する第2モデルを生成する(ステップS17)。
As described above, when the predetermined search query is input as the input information, the
一般的に、ユーザはある意図を持って検索を複数回行うと考えられるため、所定の時間内に連続して入力された検索クエリは、検索意図が近いという仮定が成り立つ。そこで、本願発明に係る情報処理装置100は、所定の時間内に連続して入力された複数の検索クエリは、所定の検索意図の下で検索された検索クエリであるという点で、相互に類似する特徴を有する検索クエリであるとみなして第1モデルM1を学習させる。これにより、情報処理装置100は、検索意図を考慮した検索クエリの特徴を第1モデルM1に学習させることができる。そして、情報処理装置100は、検索意図を考慮した検索クエリの特徴を学習した第1モデルM1を活用して、所定の検索クエリから所定の検索クエリのカテゴリを予測する第2モデルを効率的に生成することができる。これにより、情報処理装置100は、検索クエリを入力したユーザの検索意図を考慮したカテゴリに検索クエリを分類することを可能にする。また、従来、検索クエリをカテゴリに分類し、高い分類精度を得るためには、十分な量の正解データを用意することが必要であった。しかしながら、検索クエリ自体、多種多様であり、ロングテイルな性質を持つものであるため、多数の検索クエリに対応する正解カテゴリをラベル付けするのは、非常に手間がかかり困難である。ここで、情報処理装置100は、検索意図を考慮した検索クエリの特徴を学習させた第1モデルを出発点として第2モデルを学習させることにより、正解カテゴリをラベル付けする代わりに、ユーザの検索意図(検索クエリを入力したユーザのコンテクスト)を一種の正解として、検索クエリのカテゴリを予測する第2モデルを学習させることができる。これにより、情報処理装置100は、人手で検索クエリの正解カテゴリをラベル付けすることなく、第2モデルを学習させることができる。すなわち、情報処理装置100は、正解データが少ないときでも、十分な分類精度を得られるようになる。また、情報処理装置100は、正解データが多いときであれば、さらに高い分類精度を得られるようになる。したがって、情報処理装置100は、検索クエリの分類精度を高めることができる。
In general, since a user is considered to search several times with a certain intention, it is assumed that search queries sequentially input within a predetermined time have a similar search intention. Therefore, the
〔2.情報処理装置の構成〕
次に、図3を用いて、実施形態に係る情報処理装置100の構成について説明する。図3は、実施形態に係る情報処理装置100の構成例を示す図である。図3に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
[2. Configuration of information processing apparatus]
Next, the configuration of the
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、例えば、ユーザ端末10と、検索サーバ50との間で情報の送受信を行う。
(Communication unit 110)
The
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、図3に示すように、クエリ情報記憶部121と、ベクトル情報記憶部122と、分類定義記憶部123と、カテゴリ情報記憶部124と、モデル情報記憶部125とを有する。
(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. 3, the storage unit 120 includes a query
(クエリ情報記憶部121)
クエリ情報記憶部121は、ユーザによって入力された検索クエリに関する各種の情報を記憶する。図4に、実施形態に係るクエリ情報記憶部の一例を示す。図4に示す例では、クエリ情報記憶部121は、「ユーザID」、「日時」、「検索クエリ」、「検索クエリID」といった項目を有する。
(Query information storage unit 121)
The query
「ユーザID」は、検索クエリを入力したユーザを識別するための識別情報を示す。「日時」は、検索サーバがユーザから検索クエリを受け付けた日時を示す。「検索クエリ」は、ユーザによって入力された検索クエリを示す。「検索クエリID」は、ユーザによって入力された検索クエリを識別するための識別情報を示す。 “User ID” indicates identification information for identifying the user who has input the 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.
図4の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 of FIG. 4, the search query (search query Q11) identified by the search query ID “Q11” corresponds to the search query Q11 shown in FIG. The user ID “U1” indicates that the user who has input the search query Q11 is the user (user U1) identified by the user ID “U1”. The date and time “2018/9/1 PM 17:00” indicates that the date and time when the search server accepted the search query Q11 from the user U1 is 17:00 pm on September 1, 2018. The search query “Roppongi pasta” indicates a search query Q11 input by the user U1. Specifically, the search query “Roppongi pasta” indicates that the character string “Roppongi” indicating the place name and the character “pasta” indicating the type of food are separated by a space as a delimiter.
(ベクトル情報記憶部122)
ベクトル情報記憶部122は、検索クエリの分散表現であるベクトルに関する各種の情報を記憶する。図5に、実施形態に係るベクトル情報記憶部の一例を示す。図5に示す例では、ベクトル情報記憶部122は、「ベクトルID」、「検索クエリID」、「ベクトル情報」といった項目を有する。
(Vector information storage unit 122)
The vector
「ベクトルID」は、検索クエリの分散表現であるベクトルを識別するための識別情報を示す。「検索クエリID」は、ベクトルに対応する検索クエリを識別するための識別情報を示す。「ベクトル情報」は、検索クエリの分散表現であるN次元のベクトルを示す。検索クエリの分散表現であるベクトルは、例えば、128次元のベクトルである。 "Vector ID" indicates identification information for identifying a vector that is a distributed expression of a 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.
図5の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. 5, 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. Also, vector information “QVDT11” indicates an N-dimensional vector that is a distributed expression of the search query Q11.
(分類定義記憶部123)
分類定義記憶部123は、検索クエリが分類されるカテゴリの定義に関する各種の情報を記憶する。図6に、実施形態に係る分類定義記憶部の一例を示す。図6に示す例では、分類定義記憶部123は、「大分類ID」、「大分類」、「小分類ID」、「小分類」といった項目を有する。
(Classification definition storage unit 123)
The classification
「大分類」は、検索クエリが分類されるカテゴリの大分類を示す。「大分類ID」は、大分類を識別するための識別情報を示す。図6に示す例では、大分類「購買行動系」は、図1の下段に示す例で説明した大分類に対応する。大分類「購買行動系」は、検索クエリをユーザの購買行動に基づいて分類するカテゴリの大分類を示す。図6に示す例では、大分類「購買行動系」は、さらに4つの小分類を有する。大分類ID「CAT1」は、大分類「購買行動系」を識別するための識別情報を示す。 “Major classification” indicates the major classification of the category into which the search query is classified. The “major classification ID” indicates identification information for identifying the major classification. In the example illustrated in FIG. 6, the large classification “purchasing behavior system” corresponds to the large classification described in the example illustrated in the lower part of FIG. 1. The large classification “purchase behavior system” indicates a large classification of categories for classifying the search query based on the purchase behavior of the user. In the example illustrated in FIG. 6, the major classification “purchasing behavior system” further includes four minor classifications. The large category ID “CAT1” indicates identification information for identifying the large category “purchasing behavior system”.
「小分類」、検索クエリが分類されるカテゴリの小分類を示す。「小分類ID」は、小分類を識別するための識別情報を示す。図6に示す例では、小分類「飲食店を探す」は、大分類「購買行動系」に属する分類であって、小分類に分類される検索クエリが、ユーザによって飲食店を探す意図で入力された検索クエリであることを示す。小分類ID「CAT11」は、小分類「飲食店を探す」を識別するための識別情報を示す。 “Small category” indicates a minor category of a category into which the search query is classified. “Small category ID” indicates identification information for identifying a minor category. In the example shown in FIG. 6, the minor category "find restaurant" is a category belonging to the major category "purchasing behavior system", and a search query classified as minor category is input with the intention of the user to search for a restaurant Indicates that the search query was made. The small category ID "CAT11" indicates identification information for identifying the small category "finding restaurant".
小分類「商品を探す」は、大分類「購買行動系」に属する分類であって、小分類に分類される検索クエリが、ユーザによって商品を探す意図で入力された検索クエリであることを示す。小分類ID「CAT12」は、小分類「商品を探す」を識別するための識別情報を示す。 The subcategory “Find Product” is a category belonging to the major category “Purchasing Behavior”, and indicates that the search query that is classified into the subcategory is a search query that is entered by the user with the intention of searching for a product. . The small classification ID “CAT12” indicates identification information for identifying the small classification “search for a product”.
小分類「飲食店を予約」は、大分類「購買行動系」に属する分類であって、小分類に分類される検索クエリが、ユーザによって飲食店を予約する意図で入力された検索クエリであることを示す。小分類ID「CAT13」は、小分類「飲食店を予約」を識別するための識別情報を示す。 The minor category "reserve restaurant" is a category belonging to the major category "purchasing behavior type", and the search query classified into the minor category is a search query input by the user with the intention of reserving the restaurant by the user Indicates that. The small category ID "CAT13" indicates identification information for identifying the small category "reserve restaurant".
小分類「商品を購入」は、大分類「購買行動系」に属する分類であって、小分類に分類される検索クエリが、ユーザによって商品を購入する意図で入力された検索クエリであることを示す。小分類ID「CAT14」は、小分類「商品を購入」を識別するための識別情報を示す。 The subcategory “Purchase product” is a category belonging to the main category “Purchasing behavior”, and the search query classified into the subcategory is a search query entered by the user with the intention of purchasing the product. Show. The small classification ID “CAT14” indicates identification information for identifying the small classification “purchase a product”.
(カテゴリ情報記憶部124)
カテゴリ情報記憶部124は、検索クエリが属するカテゴリに関する各種の情報を記憶する。具体的には、カテゴリ情報記憶部124は、学習済みの第2学習モデルに検索クエリが入力された際に、第2学習モデルが出力するカテゴリに関する各種の情報を記憶する。図7に、実施形態に係るカテゴリ情報記憶部の一例を示す。図7に示す例では、カテゴリ情報記憶部124は、「検索クエリID」、「大分類ID」、「小分類ID」、「確率(%)」といった項目を有する。
(Category information storage unit 124)
The category information storage unit 124 stores various types of information related to the category to which the search query belongs. Specifically, the category information storage unit 124 stores various types of information related to the category output by the second learning model when the search query is input to the learned second learning model. FIG. 7 shows an example of the category information storage unit according to the embodiment. In the example illustrated in FIG. 7, the category information storage unit 124 has items such as “search query ID”, “large category ID”, “small category ID”, and “probability (%)”.
「検索クエリID」は、ユーザによって入力された検索クエリを識別するための識別情報を示す。図7に示す例では、検索クエリID「Q11」で識別される検索クエリ(検索クエリQ11)は、図1に示した検索クエリQ11に対応する。 “Search query ID” indicates identification information for identifying a search query input by a user. In the example shown in FIG. 7, the search query (search query Q11) identified by the search query ID “Q11” corresponds to the search query Q11 shown in FIG.
「大分類ID」は、大分類を識別するための識別情報を示す。「小分類ID」は、小分類を識別するための識別情報を示す。「確率(%)」は、学習済みの第2学習モデルに検索クエリが入力された際に、第2学習モデルが出力する小分類毎の確率を示す。図7に示す例では、確率(%)「90」は、検索クエリQ11がカテゴリCAT11に分類される確率が90%であることを示す。 The “major classification ID” indicates identification information for identifying the major classification. “Small category ID” indicates identification information for identifying a minor category. “Probability (%)” indicates the probability for each minor category output by the second learning model when the search query is input to the learned second learning model. In the example shown in FIG. 7, the probability (%) "90" indicates that the probability that the search query Q11 is classified into the category CAT11 is 90%.
(モデル情報記憶部125)
モデル情報記憶部125は、情報処理装置100によって生成された学習モデルに関する各種の情報を記憶する。図8に、実施形態に係るモデル情報記憶部の一例を示す。図8に示す例では、モデル情報記憶部125は、「モデルID」、「モデルデータ」といった項目を有する。
(Model information storage unit 125)
The model
「モデルID」は、情報処理装置100によって生成された学習モデルを識別するための識別情報を示す。「モデルデータ」は、情報処理装置100によって生成された学習モデルのモデルデータを示す。例えば、「モデルデータ」には、検索クエリを分散表現に変換するためのデータが格納される。
“Model ID” indicates identification information for identifying a learning model generated by the
図8の1レコード目に示す例では、モデルID「M1」で識別される学習モデルは、図1に示した第1モデルM1に対応する。また、モデルデータ「MDT1」は、情報処理装置100によって生成された第1モデルM1のモデルデータ(モデルデータMDT1)を示す。
In the example shown in the first record in FIG. 8, the learning model identified by the model ID “M1” corresponds to the first model M1 shown in FIG. The model data “MDT1” indicates model data (model data MDT1) of the first model M1 generated by the
モデルデータMDT1は、検索クエリが入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された検索クエリに応じて、入力層に入力された検索クエリの分散表現を出力層から出力するよう、情報処理装置100を機能させてもよい。
The model data MDT1 is an input layer to which a search query is input, an output layer, and any layer from the input layer to the output layer, and is a first element belonging to a layer other than the output layer, a first element and a first 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
ここで、モデルデータ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 middle layer. Also, the second element corresponds to the next-stage node that is a node to which a value is transmitted from the node corresponding to the first element. Also, the weight of the first element corresponds to the connection coefficient, which is a weight considered for the value transmitted from the node corresponding to the first element to the node corresponding to the second element.
情報処理装置100は、上述した回帰モデルやニューラルネットワーク等、任意の構造を有するモデルを用いて、分散表現の算出を行う。具体的には、モデルデータMDT1は、検索クエリが入力された場合に、分散表現を出力するように係数が設定される。情報処理装置100は、このようなモデルデータMDT1を用いて、分散表現を算出する。
The
なお、上記例では、モデルデータMDT1が、検索クエリが入力された場合に、検索クエリの分散表現を出力するモデル(以下、モデルX1という。)である例を示した。しかし、実施形態に係るモデルデータMDT1は、モデルX1にデータの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。例えば、モデルデータMDT1は、検索クエリを入力とし、モデルX1が出力する分散表現を出力とするよう学習されたモデル(以下、モデルY1という。)であってもよい。または、モデルデータMDT1は、検索クエリを入力とし、モデルY1の出力値を出力とするよう学習されたモデルであってもよい。 In the above example, the model data MDT1 is an example in which the distributed expression of the search query is output (hereinafter referred to as a model X1) when the search query is input. However, model data MDT1 which concerns on embodiment may be a model produced | generated based on the result obtained by repeating input and output of data to model X1. For example, the model data MDT1 may be a model (hereinafter, referred to as a model Y1) that has been learned so that a search query is input and a distributed representation output by the model X1 is output. 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 Y1.
また、情報処理装置100がGAN(Generative Adversarial Networks)を用いた推定処理を行う場合、モデルデータMDT1は、GANの一部を構成するモデルであってもよい。
When the
図8の2レコード目に示す例では、モデルID「M2」で識別される学習モデルは、図1に示した第2モデルM2に対応する。また、モデルデータ「MDT2」は、情報処理装置100によって生成された第2モデルM2のモデルデータ(モデルデータMDT2)を示す。
In the example shown in the second record of FIG. 8, the learning model identified by the model ID “M2” corresponds to the second model M2 shown in FIG. 1. The model data “MDT2” indicates model data (model data MDT2) of the second model M2 generated by the
モデルデータMDT2は、検索クエリが入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された検索クエリに応じて、入力層に入力された検索クエリが各カテゴリに属する確率を出力層から出力するよう、情報処理装置100を機能させてもよい。
The model data MDT2 is an input layer to which a search query is input, an output layer, and any layer from the input layer to the output layer, which is a first element belonging to a layer other than the output layer, a first element and a first A second element whose value is calculated based on the weight of one element, and in accordance with the search query input to the input layer, the probability that the search query input to the input layer belongs to each category is output to the output layer The
ここで、モデルデータMDT2が「y=a1*x1+a2*x2+・・・+ai*xi」で示す回帰モデルで実現されるとする。この場合、モデルデータMDT2が含む第1要素は、x1やx2等といった入力データ(xi)に対応する。また、第1要素の重みは、xiに対応する係数aiに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第1要素は、入力層が有するいずれかのノードに対応し、第2要素は、出力層が有するノードと見做すことができる。 Here, it is assumed that the model data MDT2 is realized by a regression model represented by “y = a1 * x1 + a2 * x2 +... + Ai * xi”. In this case, the first element included in the model data MDT2 corresponds to input data (xi) such as x1 and x2. The weight of the first element corresponds to the coefficient ai corresponding to xi. Here, the regression model can be regarded as a simple perceptron having an input layer and an output layer. When each model is regarded as a simple perceptron, the first element can correspond to any node of the input layer, and the second element can be regarded as a node of the output layer.
また、モデルデータMDT2がDNN(Deep Neural Network)等、1つまたは複数の中間層を有するニューラルネットワークで実現されるとする。この場合、モデルデータMDT2が含む第1要素は、入力層または中間層が有するいずれかのノードに対応する。また、第2要素は、第1要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第1要素の重みは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。 Further, it is assumed that the model data MDT2 is realized by a neural network having one or a plurality of intermediate layers such as DNN (Deep Neural Network). In this case, the first element included in the model data MDT2 corresponds to any node that the input layer or the middle layer has. Also, the second element corresponds to the next-stage node that is a node to which a value is transmitted from the node corresponding to the first element. Also, the weight of the first element corresponds to the connection coefficient, which is a weight considered for the value transmitted from the node corresponding to the first element to the node corresponding to the second element.
情報処理装置100は、上述した回帰モデルやニューラルネットワーク等、任意の構造を有するモデルを用いて、検索クエリが各カテゴリに属する確率の算出を行う。具体的には、モデルデータMDT2は、検索クエリが入力された場合に、検索クエリが各カテゴリに属する確率を出力するように係数が設定される。情報処理装置100は、このようなモデルデータMDT2を用いて、検索クエリが各カテゴリに属する確率を算出する。
The
なお、上記例では、モデルデータMDT2が、検索クエリが入力された場合に、検索クエリが各カテゴリに属する確率を出力するモデル(以下、モデルX2という。)である例を示した。しかし、実施形態に係るモデルデータMDT2は、モデルX2にデータの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。例えば、モデルデータMDT2は、検索クエリを入力とし、モデルX2が出力する確率を出力とするよう学習されたモデル(以下、モデルY2という。)であってもよい。または、モデルデータMDT2は、検索クエリを入力とし、モデルY2の出力値を出力とするよう学習されたモデルであってもよい。 In the above example, the model data MDT2 is an example of a model (hereinafter referred to as model X2) that outputs the probability that the search query belongs to each category when the search query is input. However, model data MDT2 which concerns on embodiment may be a model produced | generated based on the result obtained by repeating input and output of data to model X2. For example, the model data MDT2 may be a model (hereinafter referred to as a model Y2) that has been learned so as to have a search query as an input and a probability that the model X2 outputs as an output. Alternatively, the model data MDT2 may be a model learned by using a search query as an input and outputting the output value of the model Y2.
また、情報処理装置100がGAN(Generative Adversarial Networks)を用いた推定処理を行う場合、モデルデータMDT2は、GANの一部を構成するモデルであってもよい。
When the
(制御部130)
図3の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(生成プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
(Control unit 130)
Returning to the description of FIG. 3, the control unit 130 is a controller, and is stored in a storage device inside the
また、制御部130は、モデル情報記憶部125に記憶されている第1モデルM1(モデルデータMDT1)に従った情報処理により、入力層に入力された検索クエリに対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、分散表現を出力層から出力するよう、コンピュータを機能させる。
In addition, the control unit 130 performs a search query input to the input layer on each layer other than the output layer by information processing according to the first model M1 (model data MDT1) stored in the model
また、制御部130は、モデル情報記憶部125に記憶されている第2モデルM2(モデルデータMDT2)に従った情報処理により、入力層に入力された検索クエリに対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、検索クエリが各カテゴリに属する確率を出力層から出力するよう、コンピュータを機能させる。
In addition, the control unit 130 performs a search query input to the input layer on each layer other than the output layer by information processing according to the second model M2 (model data MDT2) stored in the model
図3に示すように、制御部130は、取得部131と、抽出部132と、生成部133とを有し、以下に説明する情報処理の作用を実現または実行する。なお、制御部130の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
As shown in FIG. 3, the control unit 130 includes an acquisition unit 131, an
(取得部131)
取得部131は、種々の情報を取得する。具体的には、取得部131は、ユーザによって入力された検索クエリを検索サーバ50から取得する。取得部131は、ユーザによって入力された検索クエリを取得すると、取得した検索クエリをクエリ情報記憶部121に格納する。また、取得部131は、検索クエリの分散表現であるベクトルに関するベクトル情報を取得する。取得部131は、ベクトル情報を取得すると、取得したベクトル情報をベクトル情報記憶部122に格納する。また、取得部131は、検索クエリと検索クエリが属するカテゴリの分類を定義する情報を取得する。取得部131は、検索クエリと検索クエリが属するカテゴリの分類を定義する分類定義情報を取得すると、取得した分類定義情報を分類定義記憶部123に格納する。また、取得部131は、検索クエリが属するカテゴリに関するカテゴリ情報を取得する。取得部131は、カテゴリ情報を取得すると、取得したカテゴリ情報をカテゴリ情報記憶部124に格納する。
(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 acquiring the search query input by the user, the acquiring unit 131 stores the acquired search query in the query
また、取得部131は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。具体的には、取得部131は、生成部133によって、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する学習モデルとして生成された第1学習モデルを取得する。また、取得部131は、入力情報として所定の検索クエリが入力された際に、出力情報として所定の検索クエリの分散表現を出力する第1学習モデルを取得する。また、取得部131は、所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。また、取得部131は、同一のユーザによって所定の時間内に入力された複数の検索クエリとして、所定の区切り文字で区切られた文字列を含む複数の検索クエリが類似する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。また、取得部131は、ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。また、取得部131は、ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。取得部131は、第1学習モデルを取得すると、取得した第1学習モデルを識別する識別情報と対応付けて、第1学習モデルのモデルデータMDT1をモデル情報記憶部125に格納する。
In addition, the acquisition unit 131 acquires a first learning model in which a plurality of search queries input within a predetermined time by the same user have similar characteristics and learns the characteristics of the plurality of search queries. Specifically, the acquisition unit 131 learns that a plurality of search queries input by the same user within a predetermined time by the
また、取得部131は、生成部133によって、第1学習モデルを用いて、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する学習モデルとして生成された第2学習モデルを取得する。取得部131は、第2学習モデルを取得すると、取得した第2学習モデルを識別する識別情報と対応付けて、第2学習モデルのモデルデータMDT2をモデル情報記憶部125に格納する。
In addition, the acquisition unit 131 acquires a second learning model generated by the
(抽出部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
また、抽出部132は、取得部131によって取得された検索クエリのうち、所定の検索クエリと所定の検索クエリに無関係な他の検索クエリとを抽出する。例えば、抽出部132は、取得部131によって取得された検索クエリの中から、所定の検索クエリを抽出する。続いて、抽出部132は、取得部131によって取得された検索クエリの中から、所定の検索クエリとは無関係にランダムに他の検索クエリを抽出する。
The
(生成部133)
生成部133は、種々の情報を生成する。生成部133は、第1学習モデルを生成する。具体的には、生成部133は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、同一のユーザによって所定の時間内に入力された複数の検索クエリが有する特徴を学習させた第1学習モデルを生成する。より具体的には、生成部133は、取得部131によって取得された検索クエリのうち、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する第1学習モデルを生成する。
(Generator 133)
The
生成部133は、同一のユーザによって所定の時間内に入力された複数の検索クエリの分散表現が類似するように学習モデルを学習させることで、所定の検索クエリから所定の検索クエリの特徴情報を予測する第1モデルを生成する。具体的には、生成部133は、所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習することで、第1学習モデルを生成する。より具体的には、生成部133は、RNNの一種であるLSTMを分散表現生成に用いたDSSMの技術を用いて、検索クエリから分散表現(ベクトル)を出力する第1学習モデルを生成する。例えば、生成部133は、第1学習モデルの正解データとして、同一のユーザによって所定の時間内に入力された一対の検索クエリが類似する特徴を有するものとして、所定の検索クエリの分散表現(ベクトル)と、所定の検索クエリと対となる他の検索クエリの分散表現(ベクトル)とが、分散表現空間上で近くに存在するように学習する。
The
〔第1学習モデルの一例〕
ここで、図9を用いて情報処理装置100が生成する第1学習モデルの一例について説明する。図9は、実施形態に係る第1学習モデルの一例を示す図である。図9に示す例では、情報処理装置100が生成する第1学習モデルM1は、3層のLSTM RNNで構成されている。図9に示す例では、抽出部132は、同一のユーザU1によって所定の時間内に連続して入力された「六本木 パスタ」という検索クエリQ11と「六本木 イタリアン」という検索クエリQ12とから成る一対の検索クエリを抽出する。生成部133は、抽出部132によって抽出されたた検索クエリQ11を第1学習モデルM1の入力層に入力する(ステップS31)。
[Example of first learning model]
Here, an example of the first learning model generated by the
続いて、生成部133は、第1学習モデルM1の出力層から検索クエリQ11の分散表現である256次元のベクトルBQV11を出力する。また、生成部133は、抽出部132によって抽出された検索クエリQ12を第1学習モデルM1の入力層に入力する。続いて、生成部133は、第1学習モデルM1の出力層から検索クエリQ12の分散表現である256次元のベクトルBQV12を出力する(ステップS32)。
Subsequently, the
続いて、生成部133は、連続して入力された2つの検索クエリの分散表現(ベクトル)が類似するように学習することで、検索クエリから分散表現(ベクトル)を出力する第1学習モデルM1を生成する(ステップS33)。例えば、第1学習モデルM1にフィードバックをかける前(学習前)の検索クエリQ11の分散表現であるベクトルBQV11と検索クエリQ12の分散表現であるベクトルBQV12とのなす角度の大きさをΘとする。また、第1学習モデルM1にフィードバックをかけた後(学習後)の検索クエリQ11の分散表現であるベクトルQV11と検索クエリQ12の分散表現であるベクトルQV12とのなす角度の大きさをΦとする。この時、生成部133は、ΘよりもΦが小さくなるように、第1学習モデルM1を学習させる。すなわち、生成部133は、ベクトルBQV11とベクトルBQV12のコサイン類似度の値よりも、ベクトルQV11とベクトルQV12のコサイン類似度の値が大きくなるように(値が1に近づくように)第1学習モデルM1を学習させる。このように、生成部133は、一対の検索クエリに対応する一対の分散表現である2つのベクトルが分散表現空間上で類似するように第1学習モデルM1を学習させることで、検索クエリから分散表現(ベクトル)を出力する第1学習モデルM1を生成する。
Subsequently, the
また、生成部133は、同一のユーザによって所定の時間内に入力された複数の検索クエリとして、所定の区切り文字で区切られた文字列を含む複数の検索クエリが類似する特徴を有するものとして学習することで、第1学習モデルを生成する。例えば、生成部133は、地名を示す「六本木」と食品の種類を示す「パスタ」の文字とが区切り文字であるスペースで区切られた検索クエリ「六本木 パスタ」と、地名を示す「六本木」と料理の種類を示す「イタリアン」の文字とが区切り文字であるスペースで区切られた検索クエリ「六本木 イタリアン」とが類似する特徴を有するものとして学習することで、第1学習モデルを生成する。
In addition, the
また、生成部133は、取得部131によって取得された検索クエリのうち、ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、第1学習モデルを生成する。具体的には、生成部133は、取得部131によって取得された検索クエリのうち、ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、第1学習モデルを生成する。例えば、生成部133は、抽出部132によって抽出された所定の検索クエリの分散表現と、所定の検索クエリとは無関係にランダムに抽出された検索クエリの分散表現とが分散表現空間上で遠くにマッピングされるように第1学習モデルM1のトレーニングを行う。
Moreover, the production |
また、生成部133は、第2学習モデルを生成する。生成部133は、取得部131によって取得された第1学習モデルを用いて、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する。より具体的には、生成部133は、第1学習モデルを生成すると、生成した第1学習モデル(第1学習モデルM1のモデルデータMDT1)を取得する。生成部133は、第1モデルM1を取得すると、取得した第1モデルM1を用いて、第2学習モデルM2を生成する。生成部133は、第1モデルM1を再学習させることにより、第1モデルM1とは学習モデルの重みである接続係数が異なる第2モデルM2を生成する。具体的には、生成部133は、検索クエリが学習モデルに入力された際に、学習モデルが出力する分散表現の分類結果が、検索クエリが属するカテゴリに対応するように学習することで、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2モデルM2を生成する。
In addition, the
具体的には、生成部133は、検索クエリが学習モデルに入力された際に、学習モデルが出力する分散表現の分類結果が、検索クエリが属するカテゴリに対応するように学習することで、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する。生成部133は、入力情報として検索クエリが学習モデルに入力された際に、出力情報として検索クエリが属するカテゴリ毎の確率を出力する第2学習モデルを生成する。例えば、生成部133は、第1モデルM1を用いて、入力情報として所定の検索クエリが学習モデルに入力された際に、出力情報として検索クエリの分散表現がそのカテゴリに分類される確率をカテゴリ毎に出力する第2モデルM2を生成する。生成部133は、入力情報として所定の検索クエリが入力されると、出力情報として所定の検索クエリの分散表現が正解カテゴリに分類される確率が所定の閾値を超えるように第2モデルを学習させる。そして、生成部133は、入力情報として所定の検索クエリが入力された際に、所定の検索クエリの分散表現がそのカテゴリに属する確率が所定の閾値を超えるカテゴリを、所定の検索クエリのカテゴリとして出力する第2モデルM2を生成する。
Specifically, when the search query is input to the learning model, the
例えば、生成部133は、図8に示すモデル情報記憶部125を参照して、第1モデルM1(第1モデルM1のモデルデータMDT1)を取得する。続いて、生成部133は、図6に示す分類定義記憶部123を参照して、検索クエリを分類するカテゴリの大分類を選択する。続いて、生成部133は、大分類を選択すると、第2モデルM2の学習データとして、検索クエリと検索クエリが属する小分類との組を学習する。
For example, the
例えば、検索クエリQ11(「六本木 パスタ」)が属する正解カテゴリがCAT11(「飲食店を探す」)であるとする。生成部133は、入力情報として検索クエリQ11(「六本木 パスタ」)が第2モデルM2に入力された際に、第2モデルM2の出力層から検索クエリQ11(「六本木 パスタ」)の分散表現であるベクトルBQV11を出力する。ここで、ベクトルBQV11は、第2モデルM2の出力層から出力されたばかりの検索クエリQ11の分散表現であって、第2モデルM2にフィードバックをかける前(学習前)の分散表現を示す。この場合、生成部133は、出力された検索クエリQ11(「六本木 パスタ」)の分散表現であるベクトルBQV11が正解カテゴリCAT11(「飲食店を探す」)に分類される確率が所定の閾値を超えるように第2モデルM2を学習させる。
For example, it is assumed that the correct answer category to which the search query Q11 ("Roppongi pasta") belongs is CAT 11 ("search for a restaurant"). When the search query Q11 ("Roppongi pasta") is input to the second model M2 as input information, the
例えば、生成部133は、学習前の第2モデルM2に検索クエリQ11(「六本木 パスタ」)が入力された際に、分散表現であるベクトルBQV11がCAT11(「飲食店を探す」)に分類される確率を80%、CAT12(「商品を探す」)に分類される確率を0%、CAT13(「飲食店を予約」)に分類される確率を20%、CAT14(「商品を購入する」)に分類される確率を0%と出力したとする。この場合、生成部133は、分散表現であるベクトルBQV11がCAT11(「飲食店を探す」)に分類される確率を所定の閾値(例えば、90%)を超えるように第2モデルM2を学習させる。また、生成部133は、分散表現であるベクトルBQV11がCAT11(「飲食店を探す」)に分類される確率が所定の閾値(例えば、90%)を超えるように学習させるのに合わせて、分散表現であるベクトルBQV11が他のカテゴリCAT13(「飲食店を予約」)に分類される確率を10%に下げるように第2モデルM2を学習させる。続いて、生成部133は、学習済みの第2モデルM2に入力情報として検索クエリQ11(「六本木 パスタ」)が入力されると、検索クエリQ11(「六本木 パスタ」)の分散表現であるベクトルBQV11がカテゴリCAT11(「飲食店を探す」)に属する確率が90%を超えるので、出力情報として検索クエリが属するカテゴリをCAT11(「飲食店を探す」)と出力する。
For example, when the search query Q11 ("Roppongi pasta") is input to the second model M2 before learning, the
なお、生成部133は、大分類として、任意の数の大分類を選択してもよい。そして、生成部133は、入力情報として検索クエリが第2モデルM2に入力された際に、出力情報として検索クエリが選択した任意の数の大分類に属する各小分類に属する確率を小分類毎に出力する第2モデルM2を生成してもよい。また、生成部133は、大分類として、全ての大分類を選択してもよい。そして、生成部133は、検索クエリが第2モデルM2に入力された際に、各小分類に属する確率を全ての小分類毎に出力する第2モデルM2を生成してもよい。
The
〔第2学習モデルの一例〕
ここで、図10を用いて情報処理装置100が生成する第2学習モデルの一例について説明する。図10は、実施形態に係る第2学習モデルの一例を示す図である。図10に示す例では、情報処理装置100が生成する第2学習モデルM2は、第1学習モデルM1を用いて生成される。すなわち、情報処理装置100は、第1学習モデルM1を再学習させることにより、第1学習モデルM1とは学習モデルの重みである接続係数が異なる第2学習モデルM2を生成する。
[Example of second learning model]
Here, an example of the second learning model generated by the
より具体的には、情報処理装置100が生成する第2学習モデルM2は、第1学習モデルM1と同様に、3層のLSTM RNNで構成されている。図10に示す例では、抽出部132は、ユーザU1によって入力された「六本木 パスタ」という検索クエリQ11を第2学習モデルM2の入力層に入力する(ステップS41)。
More specifically, the second learning model M2 generated by the
続いて、生成部133は、第2学習モデルM2の出力層から検索クエリQ11の分散表現である256次元のベクトルBQV11を出力する(ステップS42)。
Subsequently, the
続いて、生成部133は、検索クエリQ11の分散表現であるベクトルBQV11が各カテゴリに分類される確率を出力する(ステップS43)。
Subsequently, the
続いて、生成部133は、検索クエリQ11の分散表現であるベクトルBQV11が正解カテゴリに分類される確率を高くするように第2学習モデルM2を学習することで、検索クエリから検索クエリのカテゴリを予測する第2モデルを生成する(ステップS44)。
Subsequently, the
〔3.第1学習モデルの生成処理のフロー〕
次に、図11を用いて、実施形態に係る第1学習モデルの生成処理の手順について説明する。図11は、実施形態に係る第1学習モデルの生成処理手順を示すフローチャートである。図11に示す例では、情報処理装置100は、ユーザによって入力された検索クエリを取得する(ステップS101)。
[3. Flow of Generation Process of First Learning Model]
Next, the procedure of the first learning model generation process according to the embodiment will be described with reference to FIG. FIG. 11 is a flowchart illustrating a first learning model generation processing procedure according to the embodiment. In the example illustrated in FIG. 11, the
続いて、情報処理装置100は、同一のユーザによって所定の時間内に入力された複数の検索クエリを抽出する(ステップS102)。
Subsequently, the
続いて、情報処理装置100は、抽出した複数の検索クエリが類似する特徴を有するものとして学習することで、所定の検索クエリから所定の検索クエリの特徴情報を予測する第1学習モデルを生成する(ステップS103)。
Subsequently, the
〔4.情報処理のフロー〕
次に、図12を用いて、実施形態に係る情報処理の手順について説明する。図12は、実施形態に係る情報処理手順を示すフローチャートである。図12に示す例では、情報処理装置100は、第1学習モデル(第1学習モデルM1のモデルデータMDT1)を取得する(ステップS201)。
[4. Flow of information processing]
Next, the procedure of the information processing according to the embodiment will be described with reference to FIG. FIG. 12 is a flowchart showing an information processing procedure according to the embodiment. In the example shown in FIG. 12, the
続いて、情報処理装置100は、第1学習モデルを用いて、所定の検索クエリから所定の検索クエリのカテゴリを予測する第2学習モデルを生成する(ステップS202)。
Subsequently, the
〔5.効果〕
上述してきたように、実施形態に係る情報処理装置100は、取得部131と生成部133を備える。取得部131は、同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。生成部133は、取得部131によって取得された第1学習モデルを用いて、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する。
[5. effect〕
As described above, the
一般的に、ユーザはある意図を持って検索を複数回行うと考えられるため、所定の時間内に連続して入力された検索クエリは、検索意図が近いという仮定が成り立つ。そこで、本願発明に係る情報処理装置100は、所定の時間内に連続して入力された複数の検索クエリは、所定の検索意図の下で検索された検索クエリであるという点で、相互に類似する特徴を有する検索クエリであるとみなして第1モデルM1を学習させる。これにより、情報処理装置100は、検索意図を考慮した検索クエリの特徴を第1モデルM1に学習させることができる。そして、情報処理装置100は、検索意図を考慮した検索クエリの特徴を学習した第1モデルM1を活用して、所定の検索クエリから所定の検索クエリのカテゴリを予測する第2モデルを効率的に生成することができる。これにより、情報処理装置100は、検索クエリを入力したユーザの検索意図を考慮したカテゴリに検索クエリを分類することを可能にする。また、従来、検索クエリをカテゴリに分類し、高い分類精度を得るためには、十分な量の正解データを用意することが必要であった。しかしながら、検索クエリ自体、多種多様であり、ロングテイルな性質を持つものであるため、多数の検索クエリに対応する正解カテゴリをラベル付けするのは、非常に手間がかかり困難である。ここで、情報処理装置100は、検索意図を考慮した検索クエリの特徴を学習させた第1モデルを出発点として第2モデルを学習させることにより、正解カテゴリをラベル付けする代わりに、ユーザの検索意図(検索クエリを入力したユーザのコンテクスト)を一種の正解として、検索クエリのカテゴリを予測する第2モデルを学習させることができる。これにより、情報処理装置100は、人手で検索クエリの正解カテゴリをラベル付けすることなく、第2モデルを学習させることができる。すなわち、情報処理装置100は、正解データが少ないときでも、十分な分類精度を得られるようになる。また、情報処理装置100は、正解データが多いときであれば、さらに高い分類精度を得られるようになる。したがって、情報処理装置100は、検索クエリの分類精度を高めることができる。
In general, since a user is considered to search several times with a certain intention, it is assumed that search queries sequentially input within a predetermined time have a similar search intention. Therefore, the
また、取得部131は、入力情報として所定の検索クエリが入力された際に、出力情報として所定の検索クエリの分散表現を出力する第1学習モデルを取得する。 In addition, when a predetermined search query is input as input information, the acquisition unit 131 acquires a first learning model that outputs a distributed expression of the predetermined search query as output information.
これにより、情報処理装置100は、所定の検索クエリの特徴という抽象的な概念を、分散表現という具体的な数値によって測定可能とすることができる。
As a result, the
また、取得部131は、所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。 In addition, the acquisition unit 131 acquires a first learning model in which features of a plurality of search queries are learned by learning so that the distributed expressions of a pair of search queries input in succession within a predetermined time are similar. Do.
一般的に、同一のユーザが短時間に続けて入力した2つの検索クエリは、検索意図が同一であるか、同一でなくとも検索意図が近いと考えられる。すなわち、所定の時間内に続けて入力された一対の検索クエリは、検索意図が同一であるか、同一でなくとも検索意図が近いと考えられる。すなわち、情報処理装置100は、所定の時間内に続けて入力された一対の検索クエリの分散表現が類似するように学習させることにより、第1モデルの学習精度を向上させることができる。
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 that are not the same. That is, the
また、取得部131は、同一のユーザによって所定の時間内に入力された複数の検索クエリとして、所定の区切り文字で区切られた文字列を含む複数の検索クエリが類似する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。 In addition, the acquiring unit 131 learns that a plurality of search queries including character strings separated by predetermined delimiters have similar characteristics as a plurality of search queries input within a predetermined time by the same user. By doing this, the first learning model is obtained which has learned the features of the plurality of search queries.
一般的に、単体の文字列からなる検索クエリよりも、複数の文字列を含む検索クエリのほうが、検索意図がより明確であると考えられる。すなわち、情報処理装置100は、所定の区切り文字で区切られた文字列を含む検索クエリを用いて学習させることにより、第1モデルの学習精度を向上させることができる。
In general, a search query including a plurality of strings is considered to have a clearer search intention than a search query consisting of a single string. That is, the
また、取得部131は、ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。また、取得部131は、ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する。 Further, the acquiring unit 131 acquires the first learning model in which the features included in the plurality of search queries are learned, by learning that the plurality of randomly extracted search queries have different features. In addition, the acquiring unit 131 acquires a first learning model in which features of a plurality of search queries are learned by learning so that the distributed expressions of a pair of search queries extracted at random are different.
一般的に、ランダムに抽出された複数の検索クエリは、互いに無関係に入力された検索クエリであるため、検索意図が異なるか、検索意図が遠いと考えられる。そこで、本願発明に係る情報処理装置100は、ランダムに抽出された複数の検索クエリは、異なる検索意図の下で検索された検索クエリであるという点で、相互に相違する特徴を有する検索クエリであるとみなして学習モデルM1を学習させる。これにより、学習モデルは、検索意図が近い検索クエリのペアである正解データに加えて、検索意図が遠い検索クエリのペアである不正解データを学習することができる。すなわち、情報処理装置100は、第1モデルの学習精度を向上させることができる。
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
また、生成部133は、検索クエリが学習モデルに入力された際に、学習モデルが出力する分散表現の分類結果が、検索クエリが属するカテゴリに対応するように学習することで、所定の検索クエリから所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する。また、生成部133は、入力情報として検索クエリが学習モデルに入力された際に、出力情報として検索クエリが属するカテゴリ毎の確率を出力する第2学習モデルを生成する。
In addition, when the search query is input to the learning model, the
これにより、情報処理装置100は、検索意図を考慮した検索クエリの特徴を含む分散表現を活用して、検索クエリを入力したユーザの検索意図を考慮したカテゴリに検索クエリを分類する第2学習モデルを効率的に生成することができる。すなわち、情報処理装置100は、検索クエリを入力したユーザの検索意図を考慮したカテゴリに検索クエリを分類することを可能にする。したがって、情報処理装置100は、検索クエリの分類精度を高めることができる。
Thereby, the
〔6.ハードウェア構成〕
また、上述してきた実施形態に係る情報処理装置100は、例えば図13に示すような構成のコンピュータ1000によって実現される。図13は、情報処理装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を備える。
[6. Hardware configuration)
Further, the
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
The
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定の通信網を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定の通信網を介して他の機器へ送信する。
The
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
The
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
The
例えば、コンピュータ1000が実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムまたはデータ(例えば、第1モデルM1のモデルデータMDT1、第2モデルM2のモデルデータMDT2)を実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムまたはデータ(例えば、第1モデルM1のモデルデータMDT1、第2モデルM2のモデルデータMDT2)を取得してもよい。
For example, when the
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。 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.
〔7.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
[7. 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 treatment may be performed automatically by known methods. In addition, information including processing procedures, specific names, various data and parameters shown in the above-mentioned documents and drawings can be arbitrarily changed unless otherwise specified. For example, the various information shown in each figure 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. It 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 a generation unit or a generation circuit.
1 情報処理システム
10 ユーザ端末
50 検索サーバ
100 情報処理装置
121 クエリ情報記憶部
122 ベクトル情報記憶部
123 分類定義記憶部
124 カテゴリ情報記憶部
125 モデル情報記憶部
131 取得部
132 抽出部
133 生成部
DESCRIPTION OF SYMBOLS 1
Claims (17)
前記取得部によって取得された第1学習モデルを用いて、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する生成部と、
を備えることを特徴とする情報処理装置。 An acquisition unit that acquires a first learning model in which features of a plurality of search queries are learned as having distributed features of a pair of search queries input within a predetermined time by the same user.
A generation unit configured to generate a second learning model that predicts a category to which the predetermined search query belongs from a predetermined search query using the first learning model acquired by the acquisition unit;
An information processing apparatus comprising:
前記取得部によって取得された第1学習モデルを用いて、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する生成部と、
を備えることを特徴とする情報処理装置。 A plurality of search queries including a character string delimited by a predetermined delimiter as a plurality of search queries input within a predetermined time by the same user are learned as having similar characteristics. An acquisition unit that acquires a first learning model that has learned features of the plurality of search queries, as search queries having similar features;
A generation unit configured to generate a second learning model that predicts a category to which the predetermined search query belongs from a predetermined search query using the first learning model acquired by the acquisition unit;
An information processing apparatus comprising:
前記取得部によって取得された第1学習モデルを用いて、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する生成部と、
を備え、
前記取得部は、
ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、前記複数の検索クエリが有する特徴を学習した第1学習モデルを取得する
ことを特徴とする情報処理装置。 An acquisition unit configured to acquire a first learning model obtained by learning the features of the plurality of search queries, assuming that the plurality of search queries input by the same user within a predetermined time have similar features;
A generation unit configured to generate a second learning model that predicts a category to which the predetermined search query belongs from a predetermined search query using the first learning model acquired by the acquisition unit;
With
The acquisition unit
An information processing apparatus that acquires a first learning model that learns features of a plurality of search queries by learning that the plurality of randomly extracted search queries have different features .
前記取得部によって取得された第1学習モデルを用いて、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する生成部と、
を備え、
前記取得部は、
ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、前記複数の検索クエリが有する特徴を学習した第1学習モデルを取得する
ことを特徴とする情報処理装置。 An acquisition unit configured to acquire a first learning model obtained by learning the features of the plurality of search queries, assuming that the plurality of search queries input by the same user within a predetermined time have similar features;
A generation unit configured to generate a second learning model that predicts a category to which the predetermined search query belongs from a predetermined search query using the first learning model acquired by the acquisition unit;
With
The acquisition unit
An information processing apparatus that acquires a first learning model in which features of the plurality of search queries are learned by learning such that distributed expressions of a pair of randomly extracted search queries are different .
前記取得部によって取得された第1学習モデルを用いて、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する生成部と、
を備え、
前記生成部は、
検索クエリが学習モデルに入力された際に、学習モデルが出力する分散表現の分類結果が、前記検索クエリが属するカテゴリに対応するように学習することで、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する
ことを特徴とする情報処理装置。 An acquisition unit configured to acquire a first learning model obtained by learning the features of the plurality of search queries, assuming that the plurality of search queries input by the same user within a predetermined time have similar features;
A generation unit configured to generate a second learning model that predicts a category to which the predetermined search query belongs from a predetermined search query using the first learning model acquired by the acquisition unit;
With
The generation unit is
When the search query is input to the learning model, the distributed search classification result output from the learning model is learned so as to correspond to the category to which the search query belongs. An information processing apparatus that generates a second learning model that predicts a category to which the user belongs .
入力情報として所定の検索クエリが入力された際に、出力情報として前記所定の検索クエリの分散表現を出力する第1学習モデルを取得する
ことを特徴とする請求項1〜5のいずれか一つに記載の情報処理装置。 The acquisition unit
Claim 1-5, characterized in that the predetermined search query as input information when entered, obtains a first learning model for outputting a distributed representation of the predetermined search query as output information The information processing apparatus according to claim 1.
入力情報として検索クエリが学習モデルに入力された際に、出力情報として前記検索クエリが当該カテゴリに属する確率をカテゴリ毎に出力する第2学習モデルを生成する
ことを特徴とする請求項1〜6のいずれか一つに記載の情報処理装置。 The generator is
When a search query as input information is input to the training model, it claims 1-6, wherein the search query and generates a second learning model that outputs the probability belonging to the category in each category as output information The information processing apparatus according to any one of the above.
同一のユーザによって所定の時間内に入力された一対の検索クエリの分散表現が類似する特徴を有するものとして、複数の検索クエリが有する特徴を学習した第1学習モデルを取得する取得工程と、
前記取得工程によって取得された第1学習モデルを用いて、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する生成工程と、
を含むことを特徴とする情報処理方法。 An information processing method executed by a computer,
Obtaining a first learning model in which features of a plurality of search queries are learned, assuming that the distributed expressions of a pair of search queries input within a predetermined time by the same user have similar features;
A generation step of generating a second learning model for predicting a category to which the predetermined search query belongs from a predetermined search query using the first learning model acquired by the acquisition step;
An information processing method comprising:
前記取得手順によって取得された第1学習モデルを用いて、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する生成手順と、
をコンピュータに実行させることを特徴とする情報処理プログラム。 An acquisition procedure for acquiring a first learning model in which features of a plurality of search queries are learned as having distributed features of a pair of search queries input within a predetermined time by the same user,
A generation procedure for generating a second learning model for predicting a category to which the predetermined search query belongs from a predetermined search query using the first learning model acquired by the acquisition procedure;
An information processing program characterized by causing a computer to execute.
同一のユーザによって所定の時間内に入力された複数の検索クエリとして、所定の区切り文字で区切られた文字列を含む複数の検索クエリが類似する特徴を有するものとして学習することで、前記複数の検索クエリが類似する特徴を有するものとして、前記複数の検索クエリが有する特徴を学習した第1学習モデルを取得する取得工程と、
前記取得工程によって取得された第1学習モデルを用いて、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する生成工程と、
を含むことを特徴とする情報処理方法。 An information processing method executed by a computer,
As the plurality of search queries input within a predetermined time by the same user, the plurality of search queries including a character string separated by a predetermined delimiter are learned as having similar characteristics. An acquiring step of acquiring a first learning model obtained by learning the features of the plurality of search queries, assuming that the search queries have similar features;
A generation step of generating a second learning model for predicting a category to which the predetermined search query belongs from a predetermined search query using the first learning model acquired by the acquisition step;
An information processing method comprising:
前記取得手順によって取得された第1学習モデルを用いて、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する生成手順と、
をコンピュータに実行させることを特徴とする情報処理プログラム。 A plurality of search queries including a character string delimited by a predetermined delimiter as a plurality of search queries input within a predetermined time by the same user are learned as having similar characteristics. An acquisition procedure for acquiring a first learning model that has learned features of the plurality of search queries, as search queries having similar features;
A generation procedure for generating a second learning model for predicting a category to which the predetermined search query belongs from a predetermined search query using the first learning model acquired by the acquisition procedure;
An information processing program characterized by causing a computer to execute.
同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、前記複数の検索クエリが有する特徴を学習した第1学習モデルを取得する取得工程と、
前記取得工程によって取得された第1学習モデルを用いて、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する生成工程と、
を含み、
前記取得工程は、
ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、前記複数の検索クエリが有する特徴を学習した第1学習モデルを取得する
ことを特徴とする情報処理方法。 An information processing method executed by a computer,
Obtaining a first learning model in which features of the plurality of search queries are learned, assuming that the plurality of search queries input by the same user within a predetermined time have similar features;
A generation step of generating a second learning model for predicting a category to which the predetermined search query belongs from a predetermined search query using the first learning model acquired by the acquisition step;
Including
The acquisition step is
An information processing method comprising: acquiring a first learning model in which features of the plurality of search queries are learned by learning that the plurality of randomly extracted search queries have different features .
前記取得手順によって取得された第1学習モデルを用いて、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する生成手順と、
をコンピュータに実行させ、
前記取得手順は、
ランダムに抽出された複数の検索クエリが相違する特徴を有するものとして学習することで、前記複数の検索クエリが有する特徴を学習した第1学習モデルを取得する
ことを特徴とする情報処理プログラム。 An acquisition procedure for acquiring a first learning model that learns features of the plurality of search queries, assuming that the plurality of search queries input by the same user within a predetermined time have similar characteristics;
A generation procedure for generating a second learning model for predicting a category to which the predetermined search query belongs from a predetermined search query using the first learning model acquired by the acquisition procedure;
To the computer,
The acquisition procedure is
An information processing program characterized by acquiring a first learning model in which features of the plurality of search queries are learned by learning that the plurality of randomly extracted search queries have different features .
同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、前記複数の検索クエリが有する特徴を学習した第1学習モデルを取得する取得工程と、
前記取得工程によって取得された第1学習モデルを用いて、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する生成工程と、
を含み、
前記取得工程は、
ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、前記複数の検索クエリが有する特徴を学習した第1学習モデルを取得する
ことを特徴とする情報処理方法。 An information processing method executed by a computer,
Obtaining a first learning model in which features of the plurality of search queries are learned, assuming that the plurality of search queries input by the same user within a predetermined time have similar features;
A generation step of generating a second learning model for predicting a category to which the predetermined search query belongs from a predetermined search query using the first learning model acquired by the acquisition step;
Including
The acquisition step is
An information processing method comprising: acquiring a first learning model obtained by learning features of the plurality of search queries by learning so that distributed expressions of a pair of randomly extracted search queries are different .
前記取得手順によって取得された第1学習モデルを用いて、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する生成手順と、
をコンピュータに実行させ、
前記取得手順は、
ランダムに抽出された一対の検索クエリの分散表現が相違するように学習することで、前記複数の検索クエリが有する特徴を学習した第1学習モデルを取得する
ことを特徴とする情報処理プログラム。 An acquisition procedure for acquiring a first learning model that learns features of the plurality of search queries, assuming that the plurality of search queries input by the same user within a predetermined time have similar characteristics;
A generation procedure for generating a second learning model for predicting a category to which the predetermined search query belongs from a predetermined search query using the first learning model acquired by the acquisition procedure;
To the computer,
The acquisition procedure is
An information processing program that acquires a first learning model in which features of the plurality of search queries are learned by learning so that distributed expressions of a pair of randomly extracted search queries are different .
同一のユーザによって所定の時間内に入力された複数の検索クエリが類似する特徴を有するものとして、前記複数の検索クエリが有する特徴を学習した第1学習モデルを取得する取得工程と、
前記取得工程によって取得された第1学習モデルを用いて、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する生成工程と、
を含み、
前記生成工程は、
検索クエリが学習モデルに入力された際に、学習モデルが出力する分散表現の分類結果が、前記検索クエリが属するカテゴリに対応するように学習することで、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する
ことを特徴とする情報処理方法。 An information processing method executed by a computer,
Obtaining a first learning model in which features of the plurality of search queries are learned, assuming that the plurality of search queries input by the same user within a predetermined time have similar features;
A generation step of generating a second learning model for predicting a category to which the predetermined search query belongs from a predetermined search query using the first learning model acquired by the acquisition step;
Including
The generation step is
When the search query is input to the learning model, the classification result of the distributed expression output by the learning model is learned so as to correspond to the category to which the search query belongs, whereby the predetermined search query can be obtained from the predetermined search query An information processing method comprising: generating a second learning model that predicts a category to which the user belongs .
前記取得手順によって取得された第1学習モデルを用いて、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する生成手順と、
をコンピュータに実行させ、
前記生成手順は、
検索クエリが学習モデルに入力された際に、学習モデルが出力する分散表現の分類結果が、前記検索クエリが属するカテゴリに対応するように学習することで、所定の検索クエリから前記所定の検索クエリが属するカテゴリを予測する第2学習モデルを生成する
ことを特徴とする情報処理プログラム。 An acquisition procedure for acquiring a first learning model that learns features of the plurality of search queries, assuming that the plurality of search queries input by the same user within a predetermined time have similar characteristics;
A generation procedure for generating a second learning model for predicting a category to which the predetermined search query belongs from a predetermined search query using the first learning model acquired by the acquisition procedure;
To the computer,
The generation procedure is
When the search query is input to the learning model, the distributed search classification result output from the learning model is learned so as to correspond to the category to which the search query belongs. An information processing program for generating a second learning model for predicting a category to which a user belongs .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018176617A JP6553793B1 (en) | 2018-09-20 | 2018-09-20 | Information processing apparatus, information processing method, and information processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018176617A JP6553793B1 (en) | 2018-09-20 | 2018-09-20 | Information processing apparatus, information processing method, and information processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6553793B1 true JP6553793B1 (en) | 2019-07-31 |
JP2020047125A JP2020047125A (en) | 2020-03-26 |
Family
ID=67473289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018176617A Active JP6553793B1 (en) | 2018-09-20 | 2018-09-20 | Information processing apparatus, information processing method, and information processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6553793B1 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4874828B2 (en) * | 2007-02-02 | 2012-02-15 | ヤフー株式会社 | Method and apparatus for creating search index by community extraction |
JP5049223B2 (en) * | 2008-07-29 | 2012-10-17 | ヤフー株式会社 | Retrieval device, retrieval method and program for automatically estimating retrieval request attribute for web query |
JP5406794B2 (en) * | 2010-06-28 | 2014-02-05 | 日本電信電話株式会社 | Search query recommendation device and search query recommendation program |
JP2016018286A (en) * | 2014-07-07 | 2016-02-01 | 日本電信電話株式会社 | Action type discrimination system, action type discrimination method, and action type discrimination program |
JP6723182B2 (en) * | 2017-03-17 | 2020-07-15 | ヤフー株式会社 | Information processing apparatus, information processing method, and program |
JP6767342B2 (en) * | 2017-11-15 | 2020-10-14 | ヤフー株式会社 | Search device, search method and search program |
-
2018
- 2018-09-20 JP JP2018176617A patent/JP6553793B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2020047125A (en) | 2020-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7012599B2 (en) | Information processing equipment, information processing methods, and information processing programs | |
CN107103499A (en) | Method is recommended in a kind of cross-site cold start-up based on deep learning | |
JP2019139521A (en) | Prediction device, prediction method, and prediction program | |
JP6050284B2 (en) | Extraction apparatus, extraction method, and extraction program | |
CN110598084A (en) | Object sorting method, commodity sorting device and electronic equipment | |
JP7071304B2 (en) | Information processing equipment, information processing methods and information processing programs | |
JP6679683B2 (en) | Information processing apparatus, information processing method, and information processing program | |
JP2019057023A (en) | Generation device, learning apparatus, generation method, learning method, generation program, learning program, and model | |
JP2019125317A (en) | Device, method, and program for processing information | |
JP6553793B1 (en) | Information processing apparatus, information processing method, and information processing program | |
JP6982017B2 (en) | Information processing equipment, information processing methods and information processing programs | |
JP7311121B1 (en) | Information processing device, information processing method and information processing program | |
JP6584613B1 (en) | Information processing apparatus, information processing method, and information processing program | |
JP6852114B2 (en) | Specific device, specific method and specific program | |
JP6985059B2 (en) | Generator, generation method, and generation program | |
JP7177013B2 (en) | Information processing device, information processing method and information processing program | |
JP2022097381A (en) | Information processing device, information processing method, and information processing program | |
JP6696018B1 (en) | Information processing apparatus, information processing method, and information processing program | |
JP7258988B2 (en) | Information processing device, information processing method and information processing program | |
JP6983672B2 (en) | Information processing equipment, information processing methods, and information processing programs | |
JP2020129193A (en) | Information processing device, information processing method, and information processing program | |
JP2021022343A (en) | Information processing device, information processing method, and information processing program | |
JP2020190798A (en) | Generating device, generating method, generating program, and extractor | |
JP7198900B2 (en) | Generation device, generation method, and generation program | |
JP6728445B1 (en) | Extraction device, extraction method, and extraction program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181213 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20181213 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20190204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190422 |
|
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: 20190604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190704 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6553793 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 |