Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7461524B2 - Information processing device, information processing method, and program - Google Patents
[go: Go Back, main page]

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

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

Info

Publication number
JP7461524B2
JP7461524B2 JP2023016764A JP2023016764A JP7461524B2 JP 7461524 B2 JP7461524 B2 JP 7461524B2 JP 2023016764 A JP2023016764 A JP 2023016764A JP 2023016764 A JP2023016764 A JP 2023016764A JP 7461524 B2 JP7461524 B2 JP 7461524B2
Authority
JP
Japan
Prior art keywords
query
subset
similarity
information processing
score
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
JP2023016764A
Other languages
Japanese (ja)
Other versions
JP2023055916A (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.)
Rakuten Group Inc
Original Assignee
Rakuten Group Inc
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 Rakuten Group Inc filed Critical Rakuten Group Inc
Publication of JP2023055916A publication Critical patent/JP2023055916A/en
Application granted granted Critical
Publication of JP7461524B2 publication Critical patent/JP7461524B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、情報処理装置、情報処理方法およびプログラムに関し、特に、入力されたクエリに対応して検索結果を提供するための技術に関する。 The present invention relates to an information processing device, an information processing method, and a program, and particularly relates to a technique for providing search results in response to an input query.

クエリ(query)は、検索エンジンに投入されることにより、検索エンジンに所望の検索結果を出力させる検索要求である。
例えば、ウェブ上に構築されるEC(Electronic Commerce)サイトは、検索エンジンを実装し、ユーザが購入を所望するアイテムを検索するためのクエリの入力を受け付けて、クエリに含まれる、検索のキーとなるキーワードに一致するタグでタグ付けされたアイテムを検索エンジンに検索させて、検索結果として得られたアイテムのリストをユーザに提示する。
A query is a search request that is submitted to a search engine to cause the search engine to output desired search results.
For example, an EC (Electronic Commerce) site built on the web implements a search engine, accepts input of a query for a user to search for an item that the user wishes to purchase, causes the search engine to search for items tagged with tags that match the search key keywords contained in the query, and presents the user with a list of items obtained as the search results.

多くの検索エンジンは、複数のキーワードを1つのクエリに含むマルチワードクエリを許容する。マルチワードクエリは、ユーザにとって、ユーザの意図を複数の観点からクエリに反映させ易くするが、他方、複数の検索キーワードのすべてと完全に一致する検索結果のみを出力したのでは、本来出力されるべき検索結果が出力から漏れることになり、所望の検索結果が得られない。 Many search engines allow multi-word queries that include multiple keywords in one query. Multi-word queries make it easier for users to reflect the user's intent from multiple perspectives in the query, but on the other hand, outputting only search results that completely match all of the multiple search keywords will result in fewer results than the original output. The desired search results will be omitted from the output, making it impossible to obtain the desired search results.

このため、マルチワードクエリを許容する検索エンジンでは、通常、1つのクエリの一部を構成するキーフレーズ(句)やキーワード(語)のいずれかと一致する検索結果を出力する部分一致(partial match)検索を採用することで、検索範囲を拡大し、より多数の検索結果を出力している。
しかしながら、1つのクエリに含まれる複数のキーフレーズやキーワードのそれぞれが、何を実際に購入したいか、のユーザの意図を、必ずしも均等に代表するわけではない。このため、部分一致検索では、ユーザの意図から大きく外れる検索結果も出力されるおそれがあり、検索精度が低下しかねない。
For this reason, search engines that allow multi-word queries usually use partial match, which outputs search results that match either a key phrase or keyword that forms part of a single query. By using search, the search scope is expanded and more search results are output.
However, each of the plurality of key phrases or keywords included in one query does not necessarily equally represent the user's intention of what he or she actually wants to purchase. Therefore, in a partial match search, there is a risk that search results that deviate greatly from the user's intention will be output, and the search accuracy may deteriorate.

特許文献1は、クエリをフレーズまたはキーワードに分類し、分類されたフレーズまたはキーワードから、ユーザの要望が表されていると判定されたフレーズまたはキーワードを選択する情報処理システムを開示する。
具体的には、特許文献1の情報処理システムにおいては、クエリタイプ分類部が、クエリを、フレーズ、キーワード、またはこれらの任意の組み合わせデータのいずれかに分類し、クエリタイプ判定部が、要望辞書データベースを検索して、分類されたフレーズ、キーワード、または組み合わせデータに対応するクエリタイプおよびクエリタイプスコアを取得し、取得されたクエリタイプスコアの高いフレーズ、キーワード、または組み合わせデータを選択する。
Patent Document 1 discloses an information processing system that classifies queries into phrases or keywords, and selects phrases or keywords that are determined to express a user's desire from the classified phrases or keywords.
Specifically, in the information processing system of Patent Document 1, a query type classification unit classifies a query into either a phrase, a keyword, or any combination of these data, and a query type determination unit classifies a query into a desired dictionary. A database is searched to obtain query types and query type scores corresponding to classified phrases, keywords, or combination data, and the obtained phrases, keywords, or combination data with high query type scores are selected.

クエリタイプは、「案内型」、「要望型」等、フレーズやキーワードの性質と要望に応じた分類パターンであり、クエリタイプスコアは、クエリタイプに従って事前定義される、推定されるユーザの要望の確度を数値化したスコアである。要望辞書データベースは、フレーズ、キーワード、または組み合わせデータごとに、対応するクエリタイプおよびクエリタイプスコアを記憶する。 A query type is a classification pattern according to the nature and request of a phrase or keyword, such as "guidance type" or "request type," and a query type score is a numerical score that represents the accuracy of an estimated user request, which is predefined according to the query type. The request dictionary database stores the corresponding query type and query type score for each phrase, keyword, or combination data.

特開2017-41030号公報JP 2017-41030 A

特許文献1の技術によれば、1つのクエリを構成するキーフレーズやキーワードのうち、推定されるユーザの要望の確度の高いキーフレーズやキーワードを選択することができる。
しかしながら、特許文献1の技術では、クエリに含まれ得る構成要素であるキーフレーズやキーワードの候補のそれぞれについて、クエリタイプおよびクエリタイプスコアを事前に辞書に定義しておかなければならない。
このため、事前定義に係る登録や保守の負荷が増大するとともに、事前定義されていないクエリの構成要素についてはクエリタイプスコアを取得することができないため、柔軟性に欠け、検索精度が低下してしまうおそれがある。
According to the technique disclosed in Patent Document 1, it is possible to select a key phrase or keyword that is highly likely to correspond to the user's desire from among the key phrases or keywords that constitute one query.
However, with the technique disclosed in Patent Document 1, the query type and query type score must be defined in advance in the dictionary for each of the key phrases and keyword candidates that can be included in the query.
This increases the burden of registration and maintenance related to predefinitions, and it is not possible to obtain query type scores for query components that are not predefined, resulting in a lack of flexibility and a decrease in search accuracy. There is a risk of it getting lost.

本発明は上記課題を解決するためになされたものであり、その目的は、クエリに含まれる構成要素のそれぞれを事前定義することなく、クエリの構成要素の中から、ユーザの意図により合致する構成要素を高精度に特定することが可能な情報処理装置、情報処理方法およびプログラムを提供することにある。 The present invention has been made to solve the above problems, and its purpose is to provide an information processing device, an information processing method, and a program that can accurately identify components that match the user's intention from among the components of a query, without predefining each of the components included in the query.

上記課題を解決するために、本発明に係る情報処理装置の一態様は、第1のクエリを取得する第1クエリ取得部と、前記第1クエリ取得部により取得された前記第1のクエリを複数のトークンに分割し、分割された1つまたは複数のトークンからなるクエリサブセットを複数生成するクエリサブセット生成部と、前記クエリサブセット生成部により生成された前記クエリサブセットを前記第1のクエリと共有する第2のクエリを取得する第2クエリ取得部と、ユーザの行動履歴に基づいて、前記第1のクエリまたは前記第2のクエリを、当該クエリの属性にリンクで接続し、前記リンクに重みを付与することで生成されたクエリモデルを参照することにより、前記第2のクエリの、前記第1のクエリに対する類似度を算出する類似度算出部と、前記類似度算出部により算出された、前記第2のクエリの前記類似度に基づいて、前記クエリサブセットのスコアを算出するスコア算出部と、複数の前記クエリサブセットのうち、前記スコア算出部により算出された前記スコアがより高いクエリサブセットを特定するクエリサブセット特定部とを備える。 In order to solve the above problem, one aspect of the information processing device according to the present invention includes a first query acquisition unit that acquires a first query, a query subset generation unit that divides the first query acquired by the first query acquisition unit into a plurality of tokens and generates a plurality of query subsets each consisting of one or more divided tokens, a second query acquisition unit that acquires a second query that shares the query subset generated by the query subset generation unit with the first query, a similarity calculation unit that calculates a similarity of the second query to the first query by referring to a query model that is generated by connecting the first query or the second query to an attribute of the query with a link and assigning a weight to the link based on a user's behavior history, a score calculation unit that calculates a score of the query subset based on the similarity of the second query calculated by the similarity calculation unit, and a query subset identification unit that identifies a query subset having a higher score calculated by the score calculation unit among the plurality of query subsets.

前記類似度算出部は、前記第2のクエリの検索結果セットが前記第1のクエリの検索結果セットに類似する程度として、前記類似度を算出してよい。 The similarity calculation unit may calculate the similarity as the degree to which the search result set of the second query is similar to the search result set of the first query.

前記類似度算出部は、前記第1のクエリのクエリモデルと前記第2のクエリのクエリモデルとの間で共有される前記属性に接続される前記リンクに付与された前記重みを演算することにより、前記第2のクエリの前記類似度を算出してよい。 The similarity calculation unit calculates the weight given to the link connected to the attribute shared between the query model of the first query and the query model of the second query. , the similarity of the second query may be calculated.

前記類似度算出部は、前記第1のクエリのクエリモデルと前記第2のクエリのクエリモデルとの間で共有される前記属性に接続される前記リンクの対にそれぞれ付与された複数の前記重みを比較し、小さい値を持つ前記重みを複数の前記属性について加算することにより、前記第2のクエリの前記類似度を算出してよい。 The similarity calculation unit may calculate the similarity of the second query by comparing the weights respectively assigned to pairs of links connected to the attributes shared between the query model of the first query and the query model of the second query, and adding up the weights having the smallest values for the attributes.

前記類似度算出部は、前記ユーザが操作を過去に実行したアイテムに関連付けられる情報を、前記第1のクエリおよび第2のクエリの間で比較することにより、前記第2のクエリの前記類似度を算出してよい。 The similarity calculation unit may calculate the similarity of the second query by comparing information associated with items on which the user previously performed an operation between the first query and the second query.

前記類似度算出部は、前記アイテムに関連付けられる情報を、前記属性として設定し、前記操作の頻度に基づいて、前記重みを付与することにより、前記クエリモデルを生成してよい。 The similarity calculation unit may generate the query model by setting information associated with the item as the attribute and assigning the weight based on the frequency of the operation.

前記スコア算出部は、すべての前記第2のクエリの前記類似度の幾何平均を算出することにより、前記クエリサブセットのスコアを算出してよい。 The score calculation unit may calculate the score of the query subset by calculating a geometric mean of the similarities of all the second queries.

前記第2クエリ取得部は、前記クエリサブセット生成部により生成された複数の前記クエリサブセットのそれぞれについて、前記第2のクエリを取得し、前記スコア算出部は、複数の前記クエリサブセットのそれぞれについて、前記スコアを算出してよい。 The second query acquisition unit acquires the second query for each of the plurality of query subsets generated by the query subset generation unit, and the score calculation unit acquires the second query for each of the plurality of query subsets. The score may be calculated.

前記クエリサブセット生成部は、前記第1のクエリの文字列上、連続しない複数のトークンから、前記クエリサブセットを生成してよい。 The query subset generation unit may generate the query subset from multiple non-consecutive tokens in the character string of the first query.

上記情報処理装置は、前記クエリサブセット特定部により特定された前記クエリサブセットに対応する検索結果が優先的に提示されるよう出力を制御する出力制御部をさらに備えてよい。 The information processing device may further include an output control unit that controls output so that search results corresponding to the query subset identified by the query subset identification unit are presented preferentially.

本発明に係る情報処理方法の一態様は、情報処理装置が実行する情報処理方法であって、第1のクエリを取得するステップと、取得された前記第1のクエリを複数のトークンに分割し、分割された1つまたは複数のトークンからなるクエリサブセットを複数生成するステップと、生成された前記クエリサブセットを前記第1のクエリと共有する第2のクエリを取得するステップと、
ユーザの行動履歴に基づいて、前記第1のクエリまたは前記第2のクエリを、当該クエリの属性にリンクで接続し、前記リンクに重みを付与することで生成されたクエリモデルを参照することにより、前記第2のクエリの、前記第1のクエリに対する類似度を算出するステップと、前記第2のクエリの前記類似度に基づいて、前記クエリサブセットのスコアを算出するステップと、複数の前記クエリサブセットのうち、算出された前記スコアがより高いクエリサブセットを特定するステップとを含む。
One aspect of the information processing method according to the present invention is an information processing method executed by an information processing device, which includes the steps of obtaining a first query, and dividing the obtained first query into a plurality of tokens. , generating a plurality of query subsets consisting of one or more divided tokens, and obtaining a second query that shares the generated query subset with the first query;
By referring to a query model generated by connecting the first query or the second query to an attribute of the query with a link and assigning a weight to the link based on the user's action history. , calculating a similarity of the second query to the first query; calculating a score of the query subset based on the similarity of the second query; and a plurality of the queries. and identifying, among the subsets, a query subset with a higher calculated score.

本発明に係る情報処理プログラムの一態様は、情報処理をコンピュータに実行させるための情報処理プログラムであって、該プログラムは、前記コンピュータに、第1のクエリを取得する第1クエリ取得処理と、前記第1クエリ取得処理により取得された前記第1のクエリを複数のトークンに分割し、分割された1つまたは複数のトークンからなるクエリサブセットを複数生成するクエリサブセット生成処理と、前記クエリサブセット生成処理により生成された前記クエリサブセットを前記第1のクエリと共有する第2のクエリを取得する第2クエリ取得処理と、ユーザの行動履歴に基づいて、前記第1のクエリまたは前記第2のクエリを、当該クエリの属性にリンクで接続し、前記リンクに重みを付与することで生成されたクエリモデルを参照することにより、前記第2のクエリの、前記第1のクエリに対する類似度を算出する類似度算出処理と、前記類似度算出処理により算出された、前記第2のクエリの前記類似度に基づいて、前記クエリサブセットのスコアを算出するスコア算出処理と、複数の前記クエリサブセットのうち、前記スコア算出部により算出された前記スコアがより高いクエリサブセットを特定するクエリサブセット特定処理とを含む処理を実行させるためのものである。 One aspect of the information processing program according to the present invention is an information processing program for causing a computer to execute information processing, and the program includes: a first query acquisition process for acquiring a first query; a query subset generation process that divides the first query obtained by the first query acquisition process into a plurality of tokens and generates a plurality of query subsets each consisting of one or more of the divided tokens; and the query subset generation process. a second query acquisition process of acquiring a second query that shares the query subset generated by the process with the first query; and a second query acquisition process that acquires a second query that shares the query subset generated by the process with the first query; is connected to the attribute of the query with a link, and by referring to a query model generated by assigning weight to the link, the degree of similarity of the second query to the first query is calculated. a similarity calculation process, a score calculation process of calculating a score of the query subset based on the similarity of the second query calculated by the similarity calculation process, and among the plurality of query subsets, This is for executing a process including a query subset specifying process of specifying a query subset with a higher score calculated by the score calculation unit.

本発明によれば、クエリに含まれる構成要素のそれぞれを事前定義することなく、クエリの構成要素の中から、ユーザの意図により合致する構成要素を高精度に特定することができる。
上記した本発明の目的、態様及び効果並びに上記されなかった本発明の目的、態様及び効果は、当業者であれば添付図面及び請求の範囲の記載を参照することにより下記の発明を実施するための形態から理解できるであろう。
According to the present invention, it is possible to identify with a high degree of accuracy, from among the components of a query, a component that more closely matches the user's intent, without predefining each of the components contained in the query.
The above-mentioned objects, aspects, and advantages of the present invention, as well as objects, aspects, and advantages of the present invention not described above, will be understood by those skilled in the art from the following detailed description of the invention by referring to the accompanying drawings and the description of the claims.

図1は、本発明の実施形態に係るキーワード特定装置を含む検索システムの機能構成の一例を示すブロック図である。FIG. 1 is a block diagram showing an example of the functional configuration of a search system including a keyword identification device according to an embodiment of the present invention. 図2は、本実施形態に係るキーワード特定装置が実行するキーワード特定処理の概略処理手順の一例を示すフローチャートである。FIG. 2 is a flowchart illustrating an example of a schematic processing procedure of keyword identification processing executed by the keyword identification device according to the present embodiment. 図3は、本実施形態に係るキーワード特定装置のクエリモデル生成部が生成し、クエリモデル記憶部が記憶する、クエリと属性との間の関係とその重みを規定するクエリモデルの一例を簡略化して説明する概念図である。FIG. 3 is a simplified example of a query model that defines the relationship between a query and an attribute and its weight, which is generated by the query model generation unit of the keyword identification device according to the present embodiment and stored in the query model storage unit. FIG. 図4は、図3のあるクエリについて類似度を算出する一例を説明する概念図である。FIG. 4 is a conceptual diagram illustrating an example of calculating the similarity for a certain query in FIG. 図5は、図3の他のクエリについて類似度を算出する一例を説明する概念図である。FIG. 5 is a conceptual diagram illustrating an example of calculating the similarity for another query in FIG. 図6は、本実施形態に係るキーワード特定装置のシングル評価部が実行するシングル評価処理の詳細処理手順の一例を示すフローチャートである。FIG. 6 is a flowchart showing an example of a detailed processing procedure of the single evaluation processing executed by the single evaluation unit of the keyword identification device according to the present embodiment. 図7は、オリジナルのクエリに対して、あるシングルを共有する他のクエリの類似度を算出し、算出された類似度に基づいて当該シングルのスコアを算出する一例を説明する概念図である。FIG. 7 is a conceptual diagram illustrating an example of calculating the similarity of another query that shares a certain single with respect to the original query, and calculating the score of the single based on the calculated similarity. 図8は、本実施形態に係るキーワード特定装置のハードウエア構成の一例を示すブロック図である。FIG. 8 is a block diagram showing an example of a hardware configuration of the keyword identification device according to this embodiment.

以下、添付図面を参照して、本発明を実施するための実施形態について詳細に説明する。以下に開示される構成要素のうち、同一機能を有するものには同一の符号を付し、その説明を省略する。なお、以下に開示される実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正または変更されるべきものであり、本発明は以下の実施形態に限定されるものではない。また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。 DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the accompanying drawings. Among the constituent elements disclosed below, those having the same functions are given the same reference numerals, and their explanations will be omitted. The embodiments disclosed below are examples of means for realizing the present invention, and should be modified or changed as appropriate depending on the configuration of the device to which the present invention is applied and various conditions. The present invention is not limited to this embodiment. Furthermore, not all combinations of features described in this embodiment are essential to the solution of the present invention.

本実施形態に係るキーワード特定装置は、検索エンジンに投入すべきクエリを、クエリを構成する個々のトークンに分割し、1つまたは複数のトークンからなるシングル(shingle)を生成し、生成されたシングルのそれぞれについて、当該シングルを含むクエリを生成する。
本実施形態に係るキーワード特定装置はさらに、ユーザの行動履歴に基づいて生成されたクエリモデルを参照して、生成された各クエリのオリジナルのクエリに対する類似度を算出し、算出された類似度から、当該シングルのスコアを算出することにより、より高いスコアが算出されたシングルを、ユーザの意図により合致するキーワードとして特定する。
The keyword identification device according to the present embodiment divides a query to be input into a search engine into individual tokens that make up the query, generates a single consisting of one or more tokens, and For each, generate a query that includes the single.
The keyword identification device according to the present embodiment further refers to the query model generated based on the user's behavior history, calculates the similarity of each generated query to the original query, and uses the calculated similarity to calculate the similarity of each generated query to the original query. By calculating the score of the single, the single with a higher score is identified as a keyword that more closely matches the user's intention.

以下では、本実施形態が、例えば、EC(Electronic Commerce)に実装される検索エンジンに適用され、ユーザがアイテムを購入するためマルチワードのクエリを入力するユースケースにおいて、ユーザの行動履歴に基づいてクエリ中でよりユーザの意図に合致するキーワードを選択する用途に適用される一例を説明するが、本実施形態はこれに限定されず、あらゆる用途の検索に適用可能である。 Below, an example will be described in which this embodiment is applied to a search engine implemented in EC (Electronic Commerce), for example, and in a use case in which a user inputs a multi-word query to purchase an item, a keyword in the query that best matches the user's intent is selected based on the user's behavior history; however, this embodiment is not limited to this and can be applied to searches for any purpose.

<キーワード特定装置の機能構成>
図1は、本実施形態に係るキーワード特定装置1の機能構成の一例を示すブロック図である。
図1に示すキーワード特定装置1は、クエリ入力部11、クエリ分割部12、クエリモデル生成部13、シングル評価部14、および出力部15を備える。
キーワード特定装置1は、PC(Personal Computer)等で構成され
るクライアント装置(不図示)とネットワークを介して通信可能に接続してよい。この場合、キーワード特定装置1はサーバに実装され、クライアント装置は、キーワード特定装置1が外部と情報の入出力を実行する際のユーザインタフェースを提供してよく、また、キーワード特定装置1の各コンポーネント11~15の一部または全部を備えてもよい。
<Functional configuration of the keyword identification device>
FIG. 1 is a block diagram showing an example of a functional configuration of a keyword identification device 1 according to the present embodiment.
The keyword identification device 1 shown in FIG. 1 includes a query input unit 11, a query division unit 12, a query model generation unit 13, a single evaluation unit 14, and an output unit 15.
The keyword identification device 1 may be communicably connected to a client device (not shown) configured as a PC (Personal Computer) or the like via a network. In this case, the keyword identification device 1 may be implemented in a server, and the client device may provide a user interface when the keyword identification device 1 executes input and output of information with the outside, and may also include some or all of the components 11 to 15 of the keyword identification device 1.

図1を参照して、キーワード特定装置1、ユーザ行動履歴DB(データベース)2、検索エンジン3、およびクエリモデル記憶部4により、検索システムが構成され、キーワード特定装置1がユーザ行動履歴DB2にアクセスして、クエリモデルを生成してクエリモデル記憶部4に記憶し、キーワード特定処理の処理結果を検索エンジン3に供給する例が示されているが、本実施形態はこれに限定されない。例えば、キーワード特定装置1は、検索エンジン3内部に実装されてもよく、また、ユーザの行動履歴を検索エンジン3から直接取得してもよい。 Referring to FIG. 1, a search system is configured with a keyword identification device 1, a user behavior history DB (database) 2, a search engine 3, and a query model storage unit 4, and an example is shown in which the keyword identification device 1 accesses the user behavior history DB 2, generates a query model, stores it in the query model storage unit 4, and supplies the processing result of the keyword identification process to the search engine 3, but this embodiment is not limited to this. For example, the keyword identification device 1 may be implemented inside the search engine 3, or the user's behavior history may be obtained directly from the search engine 3.

クエリ入力部11は、検索エンジン3に検索を実行させるための検索要求であるクエリを入力して、クエリ分割部12へ供給する。クエリ入力部11は、クエリを、ネットワークを介して接続されるクライアント装置からリアルタイムで受信してもよく、あるいは予め記憶装置に格納されたクエリを取得してもよい。
クエリ入力部11はまた、キーワード特定装置1においてキーワード特定処理を実行するために必要な各種パラメータの入力を受け付ける。クエリ入力部11は、キーワード特定装置1と通信可能に接続されるクライアント装置のユーザインタフェースを介して、各種パラメータの入力を受け付けてよい。
The query input unit 11 inputs a query, which is a search request for causing the search engine 3 to execute a search, and supplies it to the query division unit 12 . The query input unit 11 may receive a query in real time from a client device connected via a network, or may obtain a query stored in a storage device in advance.
The query input unit 11 also receives input of various parameters necessary for executing keyword identification processing in the keyword identification device 1 . The query input unit 11 may receive input of various parameters via a user interface of a client device that is communicably connected to the keyword identification device 1 .

クエリ分割部12は、クエリ入力部11から供給されるクエリを、複数のトークンに分割する。複数のキーワードを含むマルチワードのクエリから、複数のトークンに分割するには、クエリに文字列として記述されるキーワード間の区切り文字(スペース、カンマ、セミコロン等)を検出してもよく、あるいはクエリを形態素解析して、品詞に分解してもよい。
本実施形態において、クエリ分割部12はさらに、分割された複数のトークンから、後述するシングル評価部14による評価(スコア算出)の対象となる複数のシングルを生成し、生成された複数のシングルを、シングル評価部14に供給する。
The query dividing unit 12 divides the query supplied from the query input unit 11 into a plurality of tokens. To split a multi-word query containing multiple keywords into multiple tokens, you can detect delimiters (spaces, commas, semicolons, etc.) between keywords written as strings in the query, or You may perform morphological analysis and break it down into parts of speech.
In this embodiment, the query dividing unit 12 further generates a plurality of singles to be evaluated (score calculation) by the single evaluation unit 14, which will be described later, from the divided plurality of tokens, and , is supplied to the single evaluation section 14.

トークンとは、クエリに含まれるキーフレーズやキーワードを構成する意味的な最小単位であり、1つの語(ワード)が1つのトークンに相当する。
シングル(shingle)とは、クエリの部分一致(partial match)検索に使用されるキーフレーズまたはキーワードであり、1つまたは複数のトークン(語)から構成される。
A token is the minimum semantic unit that constitutes a key phrase or keyword included in a query, and one word corresponds to one token.
A single is a key phrase or keyword used for partial match search of a query, and is composed of one or more tokens (words).

非限定的一例として、検索要求としてのクエリが、「travel coffee mug」であるものとする。この場合、クエリ「travel coffee mug」は、3つのトークン「travel」、「coffee」、および「mug」に分割される。各トークンはそれぞれ最小単位である1つの語(ワード)からなる。
これら3つのトークン「travel」、「coffee」、および「mug」から、2つのトークン(トークンのクラスタ)から構成されるシングルとして、「travel
coffee」、「travel mug」、「coffee mug」、1つのトークンから構成されるシングルとして、「travel」、「coffee」、および「mug」が、それぞれ生成される。
As a non-limiting example, assume that the query as a search request is "travel coffee mug." In this case, the query "travel coffee mug" is split into three tokens "travel", "coffee", and "mug". Each token consists of one word, which is the smallest unit.
From these three tokens “travel”, “coffee”, and “mug”, we can create “travel” as a single consisting of two tokens (cluster of tokens).
"travel", "coffee", and "mug" are each generated as a single consisting of one token.

本実施形態において、シングル「travel mug」から理解されるように、クエリ中で連続する語同士を組み合わせるだけでなく、クエリの文字列上、連続(隣接)しない語同士を組み合わせることでも、シングルが生成される。
このように、シングルは、1つのトークンまたは複数のトークンの任意の組み合わせで構成される、キーワードまたはキーフレーズである。すなわち、シングルは、トークンのセット(組)の任意のサブセットであり、クエリの任意のサブセット(クエリサブセット)である。マルチワードクエリからは、複数のシングル、すなわち、複数のクエリのサブセットが生成される。
以下、キーワードおよびキーフレーズを総称して、「キーワード」という。すなわち、キーワードとは、検索のキーとなる、1つまたは複数の語からなるものとする。シングルを生成することで、検索範囲を拡大し、より多くの検索結果が出力され得る。
In this embodiment, as understood from the single "travel mug", a single can be created not only by combining consecutive words in the query, but also by combining words that are not consecutive (adjacent) in the query string. generated.
Thus, a single is a keyword or keyphrase made up of one token or any combination of tokens. That is, a single is any subset of a set of tokens, which is any subset of a query (query subset). A multi-word query generates multiple singles, ie, subsets of multiple queries.
Hereinafter, keywords and key phrases will be collectively referred to as "keywords." That is, a keyword is defined as one or more words that serve as a search key. By generating singles, the search range can be expanded and more search results can be output.

クエリモデル生成部13は、ユーザの行動履歴に基づいて、クエリモデルを生成し、クエリモデル記憶部4に出力する。クエリモデル記憶部4は、HDD(Hard Disk
Drive)、SSD(Solid State Drive)等の不揮発性記憶装置
で構成され、クエリモデル生成部により生成されたクエリモデルを記憶する。
クエリモデルとは、クエリと、当該クエリに関連付けられる1つまたは複数の属性と、クエリと各属性とを接続するリンクとから構成される、クエリと属性との意味的な関係をモデル化したグラフである。クエリと各属性とを接続するリンクには、リンクの両端に接続されるクエリと属性との間の関連性の大きさを示す重みが付与されている。クエリモデルは、複数のクエリを、これら複数のクエリの双方に関連付けられる1つまたは複数の属性を介して接続したグラフであってもよい。
The query model generating unit 13 generates a query model based on the user's behavior history, and outputs the query model to the query model storage unit 4. The query model storage unit 4 is stored in a HDD (Hard Disk
The database is configured with a non-volatile storage device such as a hard disk drive (HDD) or a solid state drive (SSD), and stores the query model generated by the query model generation unit.
A query model is a graph that models a semantic relationship between a query and an attribute, the graph being composed of a query, one or more attributes associated with the query, and links connecting the query and each attribute. A weight indicating the degree of relevance between the query and the attribute connected to both ends of the link is assigned to the link. A query model may be a graph that connects multiple queries via one or more attributes associated with both of the multiple queries.

本実施形態において、クエリに関連付けられる属性とは、例えば、すでに購入されたアイテムを特徴付ける、アイテムのジャンル(カテゴリ)、ベンター(ブランド)、アイテム名ないしイテムID、価格帯、状態(新品、新古品、中古品等)、タグ(セール品、非セール品)等の情報を含んでよいが、これに限定されず、クエリに関連付けて取得することが可能なあらゆる情報であってよい。 In this embodiment, the attributes associated with the query include, for example, the item genre (category), vendor (brand), item name or item ID, price range, and condition (new, new, used, etc.) that characterize already purchased items. , used items, etc.), tags (sale items, non-sale items, etc.), but is not limited thereto, and may be any information that can be acquired in association with a query.

本実施形態では、クエリモデル生成部13は、ユーザ行動履歴DB2に格納されるユーザの行動履歴(behavior history)、例えば、投入されたクエリに対応してユーザが行った、アイテムに対して実行した操作、およびこれらの操作の頻度等に基づいて、クエリモデルを生成する。
なお、アイテムに対してユーザが実行する操作は、例えば、アイテムの画像やリンクをクリックする操作、アイテムの画像をタップして閲覧する操作、「お気に入り」のタブ付けする操作、購入操作等を含むがこれに限定されず、アイテムを購入するプロセスにおいて発生し得るあらゆる操作を含む。以下、これらの操作を単に、「操作」という。
In this embodiment, the query model generation unit 13 generates a query model based on the user's behavior history stored in the user behavior history DB2, for example, operations performed by the user on items in response to an input query and the frequency of these operations.
Note that operations performed by a user on an item include, but are not limited to, for example, an operation of clicking an image or link of an item, an operation of tapping an image of an item to view it, an operation of adding a "favorite" tab, an operation of purchasing an item, etc., and include any operation that may occur in the process of purchasing an item. Hereinafter, these operations will be simply referred to as "operations."

具体的には、クエリモデル生成部13は、投入されたクエリと、当該クエリに対応して購入されたアイテムとをリンクで接続し、各リンクに購入回数等に応じて重みが付与されたクエリモデルのグラフを生成し、生成されたグラフをクエリモデル記憶部4に記憶する。ユーザの操作等の行動をトラッキングすることで、購入されたアイテムの属性を、購入のため当初実行されたクエリにリンクすることができ、また、リンクに付与すべき重みを決定することができる。このように生成されるクエリモデルは、アイテム購入に関連付けられるユーザの意図をモデル化するものである。
クエリモデル生成部13は、ユーザ行動履歴DB2を参照して、検索エンジン3に対して過去に投入されたクエリおよび当該クエリに対応してユーザが行った操作から、クエリモデルを事前に生成してよい。クエリモデルは、ユーザごと個々に生成されてもよく、年齢層、性別、職業、過去の購入額等でグルーピングしたユーザ群について生成されてもよい。このクエリモデルの詳細は、図4~図6を参照して後述する。
Specifically, the query model generating unit 13 generates a query model graph in which the input query and the item purchased in response to the query are connected by links, and each link is weighted according to the number of purchases, etc., and stores the generated graph in the query model storage unit 4. By tracking the user's actions, such as operations, it is possible to link the attributes of the purchased item to the query originally executed for the purchase, and also to determine the weight to be assigned to the link. The query model generated in this manner models the user's intention associated with the purchase of an item.
The query model generation unit 13 may refer to the user behavior history DB 2 and generate a query model in advance from queries previously submitted to the search engine 3 and operations performed by users in response to the queries. A query model may be generated for each user individually, or may be generated for a group of users grouped by age group, sex, occupation, past purchase amount, etc. Details of this query model will be described later with reference to Figs. 4 to 6.

シングル評価部14は、クエリモデル記憶部4に記憶されるクエリモデルを参照して、クエリ分割部12から供給される複数のシングルをそれぞれ評価する。
具体的には、シングル評価部14は、クエリ入力部11に入力された、キーワード特定処理の処理対象であるクエリ(以下、「オリジナルクエリ」ともいう)と、当該オリジナルクエリから生成された複数のシングルとに基づいて、それぞれのシングルについて、当該オリジナルクエリに対するスコアを算出することにより、複数のシングルを評価する。
シングル評価部14が算出するスコアは、当該オリジナルクエリにおいて、各シングルがユーザの意図に合致している程度を示す指標となる。このシングル評価処理の詳細は、図3を参照して後述する。
The single evaluation unit 14 refers to the query model stored in the query model storage unit 4 and evaluates each of the multiple singles supplied from the query division unit 12 .
Specifically, the single evaluation unit 14 evaluates multiple singles by calculating a score for each single with respect to the original query based on a query (hereinafter also referred to as an "original query") that is the subject of the keyword identification process input to the query input unit 11 and multiple singles generated from the original query.
The score calculated by the single evaluation unit 14 is an index showing the degree to which each single matches the user's intention in the original query. The details of this single evaluation process will be described later with reference to FIG.

出力部15は、シングル評価部14により高いスコアが算出された1つまたは複数のシングルを、表示装置等の出力デバイスに出力するとともに、検索エンジン3に供給する。出力部15はまた、キーワード特定装置1が実行するキーワード特定処理の各種入力データや各種処理結果、クエリモデル記憶部13が記憶するクエリモデル等を、表示装置等の出力デバイスを介して適宜出力してよい。 The output unit 15 outputs one or more singles for which a high score has been calculated by the single evaluation unit 14 to an output device such as a display device, and also supplies them to the search engine 3. The output unit 15 may also output various input data and various processing results of the keyword identification process executed by the keyword identification device 1, the query model stored in the query model storage unit 13, etc., via an output device such as a display device, as appropriate.

<キーワード特定処理の処理手順>
図2は、本実施形態に係るキーワード特定装置1が実行するキーワード特定処理の処理手順の一例を示すフローチャートである。
なお、図2の各ステップは、キーワード特定装置1のHDD等の記憶装置に記憶されたプログラムをCPUが読み出し、実行することで実現される。また、図2に示すフローチャートの少なくとも一部をハードウエアにより実現してもよい。ハードウエアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからFPGA(Field Programmable Gate Array)上に自動的に専用回路を生成すればよい。また、FPGAと同様にしてGate Array回路を形成し、ハードウエアとして実現するようにしてもよい。また、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。後述する図3の各ステップについても同様である。
<Processing procedure for keyword identification processing>
FIG. 2 is a flowchart illustrating an example of a procedure for keyword identification processing executed by the keyword identification device 1 according to the present embodiment.
Note that each step in FIG. 2 is realized by the CPU reading out and executing a program stored in a storage device such as an HDD of the keyword identification device 1. Further, at least a portion of the flowchart shown in FIG. 2 may be realized by hardware. In the case of implementation using hardware, for example, a dedicated circuit may be automatically generated on an FPGA (Field Programmable Gate Array) from a program for implementing each step by using a predetermined compiler. Further, a Gate Array circuit may be formed in the same manner as an FPGA and realized as hardware. Alternatively, it may be realized by an ASIC (Application Specific Integrated Circuit). The same applies to each step in FIG. 3, which will be described later.

S1で、キーワード特定装置1のクエリ入力部11は、検索エンジン3に検索を実行させるための検索要求であるクエリの入力を受け付ける。入力されるクエリは、複数のキーワードを含むマルチワードクエリであってよいが、単一のキーワードを含むシングルワードクエリであってもよい。クエリ入力部11は、ネットワークを介して接続されるクライアント装置からクエリを受信してもよく、あるいは予め記憶装置に格納されたクエリを取得してもよい。
S2で、キーワード特定装置1のクエリ分割部12は、クエリ入力部11から供給されるクエリを、複数のトークンに分割する。複数のトークンのそれぞれは、単一のキーワードである。
In S1, the query input unit 11 of the keyword identification device 1 accepts input of a query, which is a search request for causing the search engine 3 to execute a search. The input query may be a multi-word query including multiple keywords, or may be a single-word query including a single keyword. The query input unit 11 may receive a query from a client device connected via a network, or may obtain a query stored in advance in a storage device.
In S2, the query division unit 12 of the keyword identification device 1 divides the query supplied from the query input unit 11 into a plurality of tokens. Each of the plurality of tokens is a single keyword.

S3で、キーワード特定装置1のクエリ分割部12は、S2で分割された複数のトークンから、複数のシングルを生成する。S1で入力されたクエリから、S2で生成されるシングルは、1つまたは複数のトークンからなる、クエリのサブセットである。それぞれのシングルは、シングル評価部14により評価されて、スコアが付与される。 In S3, the query splitting unit 12 of the keyword identification device 1 generates multiple singles from the multiple tokens split in S2. The singles generated in S2 from the query input in S1 are a subset of the query, each consisting of one or multiple tokens. Each single is evaluated by the single evaluation unit 14 and assigned a score.

S4で、キーワード特定装置1のシングル評価部14は、S3で生成された複数のシングルのそれぞれに対して、スコアを算出することで、それぞれのシングルを評価する。
具体的には、シングル評価部14は、クエリモデル記憶部4に記憶されるクエリモデルを参照して、それぞれのシングルについて、S1でクエリを入力した当該ユーザの行動履歴に基づいて、S1で入力されたクエリに対するスコアを算出する。ここで算出されるシングルのスコアは、S1で入力されたクエリ中で、アイテム購入におけるユーザの意図にどれだけ合致しているか、すなわちユーザの意図を表現するのにどれだけ有意であるかの指標となる。シングル評価部14が実行するシングル評価処理の詳細は、図6を参照して
後述する。
In S4, the single evaluation unit 14 of the keyword identification device 1 evaluates each single by calculating a score for each of the plurality of singles generated in S3.
Specifically, the single evaluation unit 14 refers to the query model stored in the query model storage unit 4, and for each single, inputs the query in S1 based on the behavior history of the user who inputs the query in S1. Calculate the score for the given query. The single score calculated here is an indicator of how well the query input in S1 matches the user's intention in purchasing the item, that is, how significant it is in expressing the user's intention. becomes. Details of the single evaluation process executed by the single evaluation unit 14 will be described later with reference to FIG.

S5で、キーワード特定装置1の出力部15は、S4でスコアが算出された複数のシングルのうち、高いスコアが算出された1つまたは複数のシングルを、ユーザの意図を最も顕著に表現するキーワードであると判断することができる。S5で、出力部15は、出力すべき1つまたは複数のシングルを、検索エンジン3に供給してよい。
検索エンジン3は、例えば、出力部15から供給されるシングルに対応する検索結果がより優先的にユーザに提示されるよう、クエリによる検索結果をソートしてよい。あるいは、検索エンジン3は、S1で入力されたクエリを検索キーとする検索結果が少数である場合や検索範囲が過度に狭い場合、出力部15から供給されるシングルを含む他のクエリを検索キーとして、再度検索を実行してもよい。これにより、検索の精度が向上し、ユーザの意図により合致する検索結果の提示が可能となる。
In S5, the output unit 15 of the keyword identification device 1 selects one or more singles for which a high score has been calculated from among the plurality of singles for which scores have been calculated in S4, as a keyword that most prominently expresses the user's intention. It can be determined that In S5, the output unit 15 may supply the search engine 3 with one or more singles to be output.
The search engine 3 may, for example, sort the search results based on the query so that the search results corresponding to singles supplied from the output unit 15 are presented to the user more preferentially. Alternatively, if there are a small number of search results using the query input in S1 as a search key, or if the search range is too narrow, the search engine 3 may use other queries including singles supplied from the output unit 15 as a search key. You may perform the search again. This improves search accuracy and makes it possible to present search results that more closely match the user's intentions.

<クエリモデルの生成およびクエリ間の類似度算出>
図3~図5を参照して、クエリモデルの生成およびクエリ間の類似度算出を説明する。なお、図3~図5においては、説明を簡略化するため、各クエリが単一のキーワードからなるシングルワードクエリである例を説明するが、複数のキーワードを含むマルチワードクエリの場合でも同様に処理することができる。
<Generation of query model and calculation of similarity between queries>
Generation of a query model and calculation of similarity between queries will be described with reference to FIGS. 3 to 5. In addition, in FIGS. 3 to 5, in order to simplify the explanation, an example in which each query is a single word query consisting of a single keyword will be explained, but the same applies in the case of a multi-word query containing multiple keywords. can be processed.

図3は、クエリと属性との間の関係とその重みを規定するクエリモデルの一例を簡略化して説明する概念図である。図3を参照して、クエリ「pants」は、属性「kids」、「womens」、および「mens」とリンクにより接続されている。クエリ「pants」と属性「kids」との間のリンクには重み0.2が、クエリ「pants」と属性「womens」との間のリンクには重み0.3が、クエリ「pants」と属性「mens」との間のリンクには重み0.5が、それぞれ付与されている。
図3に示すクエリ「pants」のクエリモデルは、クエリ「pants」を検索エンジンに投入したユーザが、属性「kids」のカテゴリのアイテム、属性「womens」のカテゴリのアイテム、および属性「mens」のカテゴリのアイテムについて、操作等の行動履歴を有することを示している。すなわち、それぞれの属性は、投入されたクエリに対する検索結果をカテゴリ化して得られる属性であり、クエリ間の類似度は、オリジナルクエリの検索結果セットと他のクエリの検索結果セットとが類似する程度を示す。
それぞれのリンクに付与されている重みは、操作の頻度と相関を持つ。操作の種別に応じて、例えば、クリック操作より購入操作により高い重みが付与されるように、重みを設定してもよい。
3 is a conceptual diagram for explaining, in a simplified manner, an example of a query model that specifies the relationship between a query and an attribute and its weight. Referring to FIG. 3, the query "pants" is connected to the attributes "kids", "womens", and "mens" by links. A weight of 0.2 is assigned to the link between the query "pants" and the attribute "kids", a weight of 0.3 is assigned to the link between the query "pants" and the attribute "womens", and a weight of 0.5 is assigned to the link between the query "pants" and the attribute "mens".
3 shows that a user who inputted the query "pants" to a search engine has a behavior history such as operations on items in the category of the attribute "kids", items in the category of the attribute "women", and items in the category of the attribute "men". In other words, each attribute is obtained by categorizing search results for the input query, and the similarity between queries indicates the degree of similarity between the search result set of the original query and the search result set of another query.
The weighting of each link correlates with the frequency of the operation. The weighting may be set according to the type of operation, for example, so that a higher weighting is given to a purchase operation than to a click operation.

図3を参照して、クエリ「dress」、「jeans」、および「shirts」はそれぞれ、属性「kids」、「womens」、および「mens」とリンクにより接続されている。これらのクエリ「dress」、「jeans」、および「shirts」はそれぞれ、クエリ「pants」と、属性「kids」、「womens」、および「mens」を共有する他のクエリである。図3において、クエリ「pants」が図2のS1で入力されるオリジナルクエリ、クエリ「dress」、「jeans」、および「shirts」がそれぞれ、シングルのスコアを算出するために、クエリモデル記憶部4から読み出される他のクエリであるものとする。 Referring to FIG. 3, the queries "dress", "jeans", and "shirts" are connected to the attributes "kids", "womens", and "mens", respectively, by links. These queries "dress," "jeans," and "shirts" are other queries that share the attributes "kids," "womens," and "mens" with the query "pants," respectively. In FIG. 3, the query "pants" is the original query input in S1 of FIG. Assume that the other query is read from .

クエリ「dress」と属性「kids」との間のリンクには重み0.4が、クエリ「dress」と属性「womens」との間のリンクには重み0.6が、それぞれ付与されている。一方、クエリ「dress」は、属性「mens」に関連付けられていないため、属性「mens」へのリンクは持たない。
クエリ「jeans」と属性「kids」との間のリンクには重み0.3が、クエリ「jeans」と属性「womens」との間のリンクには重み0.2が、クエリ「jea
ns」と属性「mens」との間のリンクには重み0.5が、それぞれ付与されている。
クエリ「shirts」と属性「kids」との間のリンクには重み0.3が、クエリ「shirts」と属性「womens」との間のリンクには重み0.4が、クエリ「shirts」と属性「mens」との間のリンクには重み0.3が、それぞれ付与されている。
A weight of 0.4 is assigned to the link between the query "dress" and the attribute "kids", and a weight of 0.6 is assigned to the link between the query "dress" and the attribute "womens". On the other hand, the query "dress" is not associated with the attribute "mens", so it does not have a link to the attribute "mens".
The link between the query "jeans" and the attribute "kids" has a weight of 0.3, the link between the query "jeans" and the attribute "womens" has a weight of 0.2,
A weight of 0.5 is assigned to the link between the attribute "mens" and the attribute "ns".
A weight of 0.3 is assigned to the link between the query "shirts" and the attribute "kids", a weight of 0.4 is assigned to the link between the query "shirts" and the attribute "womens", and a weight of 0.3 is assigned to the link between the query "shirts" and the attribute "mens".

図3において、他のクエリ「dress」、「jeans」、および「shirts」のクエリモデルは、オリジナルクエリ「pants」のクエリモデルと、属性をそれぞれ共有するため、オリジナルクエリ「pants」のクエリモデルにそれぞれ類似する。
図4は、図3から、オリジナルクエリ「pants」のクエリモデルおよび他のクエリ「shirts」のクエリモデルを抽出した概念図である。
In Figure 3, the query models of the other queries "dress", "jeans", and "shirts" share attributes with the query model of the original query "pants", so the query model of the original query "pants" Each is similar.
FIG. 4 is a conceptual diagram of the query model of the original query "pants" and the query model of another query "shirts" extracted from FIG. 3.

本実施形態において、シングル評価部14は、オリジナルクエリと他のクエリとの間で共有される属性について、それぞれのクエリから属性へのリンクに付与された重みを演算することで、類似度を算出する。例えば、シングル評価部14は、対となるリンクの重みの最小値(pairwise minimum)を加算することにより、類似度を算出してよい。
図4を参照して、属性「womens」への対のリンクの重みの最小値は0.3、属性「kids」への対のリンクの重みの最小値は0.2、属性「mens」への対のリンクの重みの最小値は0.3である。このため、これら3つの最小値の和である0.8が、クエリ「shirts」のオリジナルクエリ「pants」に対する類似度となる。
In this embodiment, the single evaluation unit 14 calculates the degree of similarity for attributes shared between the original query and other queries by calculating the weight given to the link from each query to the attribute. do. For example, the single evaluation unit 14 may calculate the similarity by adding the minimum value (pairwise minimum) of the weights of the paired links.
Referring to FIG. 4, the minimum weight of a pair of links to the attribute "womens" is 0.3, the minimum weight of a pair of links to the attribute "kids" is 0.2, and the minimum weight of a pair of links to the attribute "mens" is 0.3. The minimum value of the weight of the pair of links is 0.3. Therefore, the sum of these three minimum values, 0.8, is the similarity of the query "shirts" to the original query "pants".

一方、図5は、図3から、オリジナルクエリ「pants」のクエリモデルおよび他のクエリ「jeans」のクエリモデルを抽出した概念図である。
図5を参照して、属性「womens」への対のリンクの重みの最小値は0.2、属性「kids」への対のリンクの重みの最小値は0.2、属性「mens」への対のリンクの重みの最小値は0.5である。このため、これら3つの最小値の和である0.9が、クエリ「jeans」のオリジナルクエリ「pants」に対する類似度となる。
図3~図5に示す例において、クエリ「jeans」は、クエリ「shirts」より、オリジナルクエリ「pants」に対する類似度が高いと評価することができる。
On the other hand, FIG. 5 is a conceptual diagram in which a query model for the original query "pants" and a query model for another query "jeans" are extracted from FIG. 3.
Referring to FIG. 5, the minimum value of the weight of a pair of links to the attribute "womens" is 0.2, the minimum value of the weight of a pair of links to the attribute "kids" is 0.2, and the minimum value of the weight of a pair of links to the attribute "mens" is 0.2. The minimum value of the weight of the pair of links is 0.5. Therefore, the sum of these three minimum values, 0.9, is the similarity of the query "jeans" to the original query "pants".
In the examples shown in FIGS. 3 to 5, the query "jeans" can be evaluated to have a higher degree of similarity to the original query "pants" than the query "shirts".

<シングル評価処理の詳細処理手順>
図6は、本実施形態に係るキーワード特定装置1のシングル評価部14が実行するシングル評価処理の詳細処理手順の一例を示すフローチャートである。
S41で、キーワード特定装置1のシングル評価部14は、図2のS1で入力されたオリジナルクエリの属性および重みを決定する。
具体的には、シングル評価部14は、クエリモデル記憶部4を参照して、S1で入力されたオリジナルクエリのクエリモデルがクエリモデル記憶部4にすでに記憶されている場合には、クエリモデル記憶部4からオリジナルクエリのクエリモデルを読み出し、S42をスキップして、S43に進む。
<Detailed procedure of single evaluation process>
FIG. 6 is a flowchart showing an example of a detailed processing procedure of the single evaluation process executed by the single evaluation unit 14 of the keyword identification device 1 according to this embodiment.
In S41, the single evaluation unit 14 of the keyword identification device 1 determines the attributes and weights of the original query input in S1 of FIG.
Specifically, the single evaluation unit 14 refers to the query model storage unit 4, and if the query model of the original query input in S1 has already been stored in the query model storage unit 4, reads the query model of the original query from the query model storage unit 4, skips S42, and proceeds to S43.

一方、オリジナルクエリのクエリモデルがクエリモデル記憶部4に記憶されていない場合は、シングル評価部14は、ユーザ行動履歴DB2を参照して、S1でオリジナルクエリを入力したユーザが過去に購入したアイテムに関連付けられる属性を取得して、オリジナルクエリの属性として決定してよく、あるいは、オリジナルクエリが入力された際に表示されているECサイトのページの情報から購入しようとするアイテムの属性を推定してもよい。また、重みには属性ごとに、所定の初期値が設定されてよい。あるいは、シングル評価部14は、例えば、オリジナルクエリと最も多くのトークンを共有するクエリのクエリモデルをクエリモデル記憶部13から読み出して、読み出されたクエリモデルが有する属性および重みを、オリジナルクエリの属性および重みとして決定、あるいは類推して
よい。
また、過去に行動履歴がない新規ユーザの場合は、メンバー登録の際などに取得可能なユーザの情報に近いカテゴリの他のユーザやユーザグループの行動履歴やクエリモデルから、オリジナルクエリの初期のクエリモデルを類推してもよい。
On the other hand, if the query model of the original query is not stored in the query model storage unit 4, the single evaluation unit 14 may refer to the user behavior history DB 2 to acquire attributes associated with items previously purchased by the user who input the original query in S1, and determine these as the attributes of the original query, or may estimate the attributes of the item to be purchased from information on the page of the EC site displayed when the original query was input. A predetermined initial value may be set for each attribute as the weight. Alternatively, the single evaluation unit 14 may, for example, read out the query model of the query that shares the most tokens with the original query from the query model storage unit 13, and determine or infer the attributes and weight of the read out query model as the attributes and weight of the original query.
In addition, in the case of a new user with no past behavioral history, the initial query model of the original query may be inferred from the behavioral history and query models of other users or user groups in categories similar to the user's information that can be obtained when registering as a member.

S42で、キーワード特定装置1のシングル評価部14は、クエリモデル生成部13に、S1で入力されたオリジナルクエリに対して、S41で決定された属性および重みを関連付けて、クエリモデルを生成させる。クエリモデル生成部13は、S42で生成されたクエリモデルを、クエリモデル記憶部4に記憶してよい。 In S42, the single evaluation unit 14 of the keyword identification device 1 causes the query model generation unit 13 to generate a query model by associating the attributes and weights determined in S41 with the original query input in S1. The query model generation unit 13 may store the query model generated in S42 in the query model storage unit 4.

S43で、キーワード特定装置1のシングル評価部14は、図2のS3で生成されたシングルごとに、当該シングル、すなわち当該シングルに含まれるすべてのトークン、をオリジナルクエリと共有する他のクエリを、クエリモデル記憶部4から取得する。
シングル評価部14は、当該シングルをオリジナルクエリと共有し、かつオリジナルクエリと少なくとも1つの属性を共有する他のクエリを取得してよい。属性を共有しないクエリ間の類似度は、図4および図5の例の類似度算出に従えば、0となるからである。
In S43, for each single generated in S3 of FIG. 2, the single evaluation unit 14 of the keyword identification device 1 obtains, from the query model storage unit 4, other queries that share the single, i.e., all tokens contained in the single, with the original query.
The single evaluation unit 14 may obtain other queries that share the single with the original query and at least one attribute with the original query, because the similarity between queries that do not share an attribute is 0 according to the similarity calculation of the examples of FIG.

S44で、キーワード特定装置1のシングル評価部14は、S43で取得された他のクエリのそれぞれについて、オリジナルクエリに対する類似度を算出する。
具体的には、シングル評価部14は、オリジナルクエリのクエリモデルと他のクエリのクエリモデルとが共有する属性について、双方のクエリから接続される対のリンクに付与された重みを演算することにより、他のクエリのオリジナルクエリに対する類似度を算出する。図4および図5を参照してすでに説明したように、シングル評価部14は、例えば、属性が有する対となるリンクの重みの最小値を加算することで、類似度を算出してよい。
In S44, the single evaluation unit 14 of the keyword identification device 1 calculates the similarity of each of the other queries acquired in S43 to the original query.
Specifically, the single evaluation unit 14 calculates the similarity of the other query to the original query by calculating the weights assigned to the paired links connecting the two queries for an attribute shared by the query model of the original query and the query model of the other query. As already described with reference to Figures 4 and 5, the single evaluation unit 14 may calculate the similarity by, for example, adding the minimum value of the weights of the paired links of the attribute.

S45で、キーワード特定装置1のシングル評価部14は、S43で取得された他のクエリのすべてについてS44で算出された類似度に基づいて、評価対象のシングルのスコアを算出する。
具体的には、シングル評価部14は、S43で取得された複数のクエリのすべてについて、S44で算出された複数の類似度の平均、例えば、幾何平均(geometric mean)、を、評価対象のシングルのスコアとして算出してよい。
In S45, the single evaluation unit 14 of the keyword identification device 1 calculates the score of the single to be evaluated based on the similarity calculated in S44 for all other queries acquired in S43.
Specifically, the single evaluation unit 14 calculates the average of the plurality of similarities calculated in S44, for example, a geometric mean, for all of the plurality of queries acquired in S43, as the single to be evaluated. It may be calculated as a score of

S46で、キーワード特定装置1のシングル評価部14は、図2のS3で生成された複数のシングルのうち、すべてのシングルが評価されたか否かを判定する。
未処理のシングルがある場合(S46:N)、S43に戻り、S43からS46までの処理を繰り返す。一方、未処理のシングルがない場合(S46:Y)、図2のS5に進み、より高いスコアが算出された1つまたは複数のシングルを、ユーザの意図に合致するキーワードとして出力する。
このように、本実施形態に係るキーワード特定装置1は、オリジナルクエリを構成する個別のトークン自体を評価するのではなく、これらのトークンを含む他のクエリにそれぞれ関連付けられるユーザの行動履歴を評価することで、トークンやシングルを事前に定義することなく、キーワードを特定することができる。
In S46, the single evaluation unit 14 of the keyword identification device 1 determines whether or not all of the singles generated in S3 of FIG. 2 have been evaluated.
If there are unprocessed singles (S46: N), the process returns to S43 and repeats the processes from S43 to S46. On the other hand, if there are no unprocessed singles (S46: Y), the process proceeds to S5 in Fig. 2 and one or more singles with higher scores are output as keywords that match the user's intention.
In this way, the keyword identification device 1 of this embodiment can identify keywords without predefining tokens or singles by evaluating the user behavioral history associated with each of the other queries that contain these tokens, rather than evaluating the individual tokens themselves that make up the original query.

図7は、オリジナルのクエリに対して、あるシングルを共有する他のクエリの類似度を算出し、算出された類似度に基づいて当該シングルのスコアを算出する一例を説明する概念図である。
図7を参照して、図2のS1で入力されるオリジナルクエリが、{“a”,“b”,“c”}であるものとする。この場合、図2のS2で、オリジナルクエリは、3つのトークン{“a”}、{“b”}、{“c”}に分割され、図2のS3で、6つのシングル{“
a”,“b”}、{“a”,“c”}、{“b”,“c”}、{“a”}、{“b”}、{“c”}が生成される。
FIG. 7 is a conceptual diagram illustrating an example of calculating the similarity of another query that shares a certain single with respect to the original query, and calculating the score of the single based on the calculated similarity.
Referring to FIG. 7, it is assumed that the original query input in S1 of FIG. 2 is {“a”, “b”, “c”}. In this case, in S2 of FIG. 2, the original query is divided into three tokens {“a”}, {“b”}, {“c”}, and in S3 of FIG. 2, the original query is divided into six single tokens {“
a”, “b”}, {“a”, “c”}, {“b”, “c”}, {“a”}, {“b”}, and {“c”} are generated.

これら6つのシングルのそれぞれについて、当該シングルを含むすべての他のクエリが、図6のS43で取得される。例えば、シングル{“a”,“b”}について、クエリ{“a”,“b”,“d”}および{“a”,“b”,“c”}が取得される。クエリ{“a”,“b”,“c”}は、オリジナルクエリと同じクエリである。
シングル{“a”,“b”}について取得された、これら他のクエリ{“a”,“b”,“d”}および{“a”,“b”,“c”}のそれぞれについて、図6のS44で、オリジナルクエリ{“a”,“b”,“c”}に対する類似度が算出される。
For each of these six singles, all other queries that include that single are obtained in S43 of Fig. 6. For example, for single {"a", "b"}, queries {"a", "b", "d"} and {"a", "b", "c"} are obtained. Query {"a", "b", "c"} is the same query as the original query.
For each of these other queries {"a", "b", "d"} and {"a", "b", "c"} obtained for the single {"a", "b"}, the similarity to the original query {"a", "b", "c"} is calculated in S44 of FIG. 6.

図7を参照して、クエリ{“a”,“b”,“d”}は、オリジナルクエリ{“a”,“b”,“c”}と、属性α1およびα2を共有し、属性α1に接続する対のリンクに付与された重みの最小値は0.2、属性α2に接続する対のリンクに付与された重みの最小値は0.3である。このため、クエリ{“a”,“b”,“d”}のオリジナルクエリ{“a”,“b”,“c”}に対する類似度は、0.2と0.3の和として、0.5と算出される。
一方、オリジナルクエリと同じであるクエリ{“a”,“b”,“c”}は、オリジナルクエリ{“a”,“b”,“c”}と、すべての属性α1、α2、およびα3を共有し、各属性に接続する対のリンクに付与された重みの最小値はそれぞれ0.3である。このため、クエリ{“a”,“b”,“c”}のオリジナルクエリ{“a”,“b”,“c”}に対する類似度は、0.9と算出される。
したがって、図6のS45で、シングル{“a”,“b”}のスコアは、0.5と0.9の幾何平均として、0.67と算出される。
上記の処理を、図2のS3で生成されたシングルのすべてについて繰り返すことで、元も高いスコアを持つ1つまたは複数のシングルを特定することができる。
7, query {"a", "b", "d"} shares attributes α1 and α2 with original query {"a", "b", "c"}, and the minimum weighting value assigned to a pair of links connecting to attribute α1 is 0.2, and the minimum weighting value assigned to a pair of links connecting to attribute α2 is 0.3. Therefore, the similarity of query {"a", "b", "d"} to original query {"a", "b", "c"} is calculated as 0.5, which is the sum of 0.2 and 0.3.
On the other hand, query {"a", "b", "c"}, which is the same as the original query, shares all attributes α1, α2, and α3 with the original query {"a", "b", "c"}, and the minimum weights assigned to the paired links connecting each attribute are 0.3. Therefore, the similarity of query {"a", "b", "c"} to the original query {"a", "b", "c"} is calculated as 0.9.
Therefore, in S45 of FIG. 6, the score of the single {"a", "b"} is calculated as 0.67, which is the geometric mean of 0.5 and 0.9.
By repeating the above process for all of the singles generated in S3 of FIG. 2, one or more singles with the highest scores can be identified.

<キーワード特定装置のハードウエア構成>
図8は、本実施形態に係るキーワード特定装置1のハードウエア構成の非限定的一例を示す図である。
本実施形態に係るキーワード特定装置1は、単一または複数の、あらゆるコンピュータ、モバイルデバイス、または他のいかなる処理プラットフォーム上にも実装することができる。
図8を参照して、キーワード特定装置1は、単一のコンピュータに実装される例が示されているが、本実施形態に係るキーワード特定装置1は、複数のコンピュータを含むコンピュータシステムに実装されてよい。複数のコンピュータは、有線または無線のネットワークにより相互通信可能に接続されてよい。
<Hardware configuration of keyword identification device>
FIG. 8 is a diagram showing a non-limiting example of the hardware configuration of the keyword identifying device 1 according to the present embodiment.
The keyword identification device 1 according to this embodiment can be implemented on any single or multiple computers, mobile devices, or any other processing platform.
Referring to FIG. 8, an example is shown in which the keyword identification device 1 is implemented in a single computer, but the keyword identification device 1 according to the present embodiment is implemented in a computer system including a plurality of computers. It's fine. A plurality of computers may be connected to each other through a wired or wireless network so that they can communicate with each other.

図8に示すように、キーワード特定装置1は、CPU81と、ROM82と、RAM83と、HDD84と、入力部85と、表示部86と、通信I/F87と、システムバス88とを備えてよい。キーワード特定装置1はまた、外部メモリを備えてよい。
CPU(Central Processing Unit)81は、キーワード特定装置1における動作を統括的に制御するものであり、データ伝送路であるシステムバス88を介して、各構成部(82~87)を制御する。
As shown in FIG. 8, the keyword identification device 1 may include a CPU 81, a ROM 82, a RAM 83, an HDD 84, an input section 85, a display section 86, a communication I/F 87, and a system bus 88. The keyword identification device 1 may also include an external memory.
A CPU (Central Processing Unit) 81 centrally controls operations in the keyword identification device 1, and controls each component (82 to 87) via a system bus 88, which is a data transmission path.

ROM(Read Only Memory)82は、CPU81が処理を実行するために必要な制御プログラム等を記憶する不揮発性メモリである。なお、当該プログラムは、HDD(Hard Disk Drive)84、SSD(Solid State Drive)等の不揮発性メモリや着脱可能な記憶媒体(不図示)等の外部メモリに記憶されていてもよい。
RAM(Random Access Memory)83は、揮発性メモリであり、CPU81の主メモリ、ワークエリア等として機能する。すなわち、CPU81は、処理の実行に際してROM82から必要なプログラム等をRAM83にロードし、当該プログラム等を実行することで各種の機能動作を実現する。
A ROM (Read Only Memory) 82 is a nonvolatile memory that stores control programs and the like necessary for the CPU 81 to execute processing. Note that the program may be stored in a nonvolatile memory such as an HDD (Hard Disk Drive) 84 or an SSD (Solid State Drive), or an external memory such as a removable storage medium (not shown).
A RAM (Random Access Memory) 83 is a volatile memory and functions as the main memory, work area, etc. of the CPU 81. That is, the CPU 81 loads necessary programs and the like from the ROM 82 into the RAM 83 when executing processing, and implements various functional operations by executing the programs and the like.

HDD84は、例えば、CPU81がプログラムを用いた処理を行う際に必要な各種データや各種情報等を記憶している。また、HDD84には、例えば、CPU81がプログラム等を用いた処理を行うことにより得られた各種データや各種情報等が記憶される。
入力部85は、キーボードやマウス等のポインティングデバイスにより構成される。
表示部86は、液晶ディスプレイ(LCD)等のモニターにより構成される。表示部86は、キーワード特定処理で使用される各種パラメータや、他の装置との通信で使用される通信パラメータ等をキーワード特定装置1へ指示入力するためのユーザインタフェースであるGUI(Graphical User Interface)を提供してよい。
The HDD 84 stores, for example, various data and various information required when the CPU 81 performs processing using a program. The HDD 84 also stores, for example, various data and various information obtained when the CPU 81 performs processing using a program.
The input unit 85 is composed of a keyboard and a pointing device such as a mouse.
The display unit 86 is configured with a monitor such as a liquid crystal display (LCD). The display unit 86 may provide a GUI (Graphical User Interface) that is a user interface for inputting various parameters used in the keyword identification process, communication parameters used in communication with other devices, and the like, to the keyword identification device 1.

通信I/F87は、キーワード特定装置1と外部装置との通信を制御するインタフェースである。
通信I/F87は、ネットワークとのインタフェースを提供し、ネットワークを介して、外部装置との通信を実行する。通信I/F87を介して、外部装置との間で各種データや各種パラメータ等が送受信される。本実施形態では、通信I/F87は、イーサネット(登録商標)等の通信規格に準拠する有線LAN(Local Area Network)や専用線を介した通信を実行してよい。ただし、本実施形態で利用可能なネットワークはこれに限定されず、無線ネットワークで構成されてもよい。この無線ネットワークは、Bluetooth(登録商標)、ZigBee(登録商標)、UWB(Ultra Wide Band)等の無線PAN(Personal Area Network)を含む。また、Wi-Fi(Wireless Fidelity)(登録商標)等の無線LAN(Local Area Network)や、WiMAX(登録商標)等の無線MAN(Metropolitan Area Network)を含む。さらに、LTE/3G、4G、5G等の無線WAN(Wide Area Network)を含む。なお、ネットワークは、各機器を相互に通信可能に接続し、通信が可能であればよく、通信の規格、規模、構成は上記に限定されない。
The communication I/F 87 is an interface that controls communication between the keyword identification device 1 and an external device.
The communication I/F 87 provides an interface with a network and executes communication with an external device via the network. Various data, various parameters, etc. are transmitted and received between the external device and the communication I/F 87. In this embodiment, the communication I/F 87 may execute communication via a wired LAN (Local Area Network) or a dedicated line that complies with a communication standard such as Ethernet (registered trademark). However, the network that can be used in this embodiment is not limited to this, and may be configured as a wireless network. This wireless network includes wireless PANs (Personal Area Networks) such as Bluetooth (registered trademark), ZigBee (registered trademark), and UWB (Ultra Wide Band). It also includes wireless LANs (Local Area Networks) such as Wi-Fi (Wireless Fidelity) (registered trademark) and wireless MANs (Metropolitan Area Networks) such as WiMAX (registered trademark). It also includes wireless WANs (Wide Area Networks) such as LTE/3G, 4G, and 5G. Note that the network only needs to be able to connect devices to each other and communicate with each other, and the communication standard, scale, and configuration are not limited to those described above.

図1に示すキーワード特定装置1の各要素のうち少なくとも一部の機能は、CPU81がプログラムを実行することで実現することができる。ただし、図1に示すキーワード特定装置1の各要素のうち少なくとも一部の機能が専用のハードウエアとして動作するようにしてもよい。この場合、専用のハードウエアは、CPU81の制御に基づいて動作する。 At least some of the functions of each element of the keyword identification device 1 shown in FIG. 1 can be realized by the CPU 81 executing a program. However, at least some of the functions of each element of the keyword identification device 1 shown in FIG. 1 may be operated as dedicated hardware. In this case, the dedicated hardware operates under the control of the CPU 81.

以上説明したように、本実施形態によれば、キーワード特定装置は、検索エンジンに投入すべきクエリを、クエリを構成する個々のトークンに分割し、1つまたは複数のトークンからなるシングル(shingle)をクエリのサブセットとして生成し、生成されたシングルのそれぞれについて、当該シングルを含むクエリを生成する。
本実施形態に係るキーワード特定装置はさらに、ユーザの行動履歴に基づいて生成されたクエリモデルを参照して、生成された各クエリのオリジナルのクエリに対する類似度を算出し、算出された類似度から、当該シングルのスコアを算出することにより、より高いスコアが算出されたシングルを、ユーザの意図により合致するキーワードとして特定する。
As described above, according to this embodiment, the keyword identification device divides a query to be input to a search engine into individual tokens that constitute the query, generates shingles consisting of one or more tokens as subsets of the query, and for each of the generated shingles, generates a query including the shingle.
The keyword identification device of this embodiment further calculates the similarity of each generated query to the original query by referring to the query model generated based on the user's behavioral history, and calculates a score for the single from the calculated similarity, thereby identifying the single with a higher calculated score as the keyword that better matches the user's intention.

したがって、クエリに含まれるトークンやシングルのそれぞれを事前定義することなく、クエリを構成するシングル(キーフレーズやキーワード)の中から、ユーザの意図をより代表するキーワードを、柔軟かつ容易に特定することができる。
これにより、クエリに対して、所望の検索結果の提示が実現され、検索精度の向上に資する。
Therefore, without predefining each of the tokens and shingles contained in the query, it is possible to flexibly and easily identify keywords that are more representative of the user's intent from among the shingles (key phrases and keywords) that make up the query.
This allows desired search results to be presented in response to a query, contributing to improved search accuracy.

なお、上記において特定の実施形態が説明されているが、当該実施形態は単なる例示であり、本発明の範囲を限定する意図はない。本明細書に記載された装置及び方法は上記した以外の形態において具現化することができる。また、本発明の範囲から離れることなく、上記した実施形態に対して適宜、省略、置換及び変更をなすこともできる。かかる省略、置換及び変更をなした形態は、請求の範囲に記載されたもの及びこれらの均等物の範疇に含まれ、本発明の技術的範囲に属する。 Note that although specific embodiments have been described above, these embodiments are merely illustrative and are not intended to limit the scope of the present invention. The apparatus and methods described herein may be embodied in forms other than those described above. In addition, appropriate omissions, substitutions, and changes may be made to the embodiments described above without departing from the scope of the present invention. Such omissions, substitutions, and modifications are included within the scope of the claims and their equivalents, and fall within the technical scope of the present invention.

1…キーワード特定装置、2…ユーザ行動履歴DB、3…検索エンジン、4…クエリモデル記憶部、11…クエリ入力部、12…クエリ分割部、13…クエリモデル生成部、14…シングル評価部、15…出力部、81…CPU、82…ROM、83…RAM、84…HDD、85…入力部、86…表示部、87…通信I/F、88…バス 1...Keyword identification device, 2...User behavior history DB, 3...Search engine, 4...Query model storage unit, 11...Query input unit, 12...Query division unit, 13...Query model generation unit, 14...Single evaluation unit, 15...Output unit, 81...CPU, 82...ROM, 83...RAM, 84...HDD, 85...Input unit, 86...Display unit, 87...Communication I/F, 88...Bus

Claims (12)

第1のクエリを取得する第1クエリ取得部と、
前記第1クエリ取得部により取得された前記第1のクエリを複数のトークンに分割し、分割された1つまたは複数のトークンからなるクエリサブセットを複数生成するクエリサブセット生成部と、
前記クエリサブセット生成部により生成された前記クエリサブセットを前記第1のクエリと共有する第2のクエリを取得する第2クエリ取得部と、
ユーザの行動履歴に基づいて、前記第1のクエリまたは前記第2のクエリを、当該クエリの属性にリンクで接続し、前記リンクに重みを付与することで生成されたクエリモデルを参照することにより、前記第2のクエリの、前記第1のクエリに対する類似度を算出する類似度算出部と、
前記類似度算出部により算出された、前記第2のクエリの前記類似度に基づいて、前記クエリサブセットのスコアを算出するスコア算出部と、
複数の前記クエリサブセットのうち、前記スコア算出部により算出された前記スコアがより高いクエリサブセットを特定するクエリサブセット特定部と
を備えることを特徴とする情報処理装置。
a first query acquisition unit that acquires a first query;
a query subset generation unit that divides the first query acquired by the first query acquisition unit into a plurality of tokens and generates a plurality of query subsets each consisting of one or more divided tokens;
a second query acquisition unit that acquires a second query that shares the query subset generated by the query subset generation unit with the first query;
By referring to a query model generated by connecting the first query or the second query to an attribute of the query with a link and assigning a weight to the link based on the user's action history. , a similarity calculation unit that calculates the similarity of the second query to the first query;
a score calculation unit that calculates a score of the query subset based on the similarity of the second query calculated by the similarity calculation unit;
An information processing device comprising: a query subset specifying unit that specifies, among the plurality of query subsets, a query subset with a higher score calculated by the score calculating unit.
前記類似度算出部は、前記第2のクエリの検索結果セットが前記第1のクエリの検索結果セットに類似する程度として、前記類似度を算出する
ことを特徴とする請求項1に記載の情報処理装置。
The information processing apparatus according to claim 1 , wherein the similarity calculation unit calculates the similarity as a degree to which the search result set of the second query is similar to the search result set of the first query.
前記類似度算出部は、前記第1のクエリのクエリモデルと前記第2のクエリのクエリモデルとの間で共有される前記属性に接続される前記リンクに付与された前記重みを演算することにより、前記第2のクエリの前記類似度を算出する
ことを特徴とする請求項1または2に記載の情報処理装置。
The similarity calculation unit calculates the weight given to the link connected to the attribute shared between the query model of the first query and the query model of the second query. , the information processing apparatus according to claim 1 or 2, wherein the similarity of the second query is calculated.
前記類似度算出部は、前記第1のクエリのクエリモデルと前記第2のクエリのクエリモデルとの間で共有される前記属性に接続される前記リンクの対にそれぞれ付与された複数の前記重みを比較し、小さい値を持つ前記重みを複数の前記属性について加算することにより、前記第2のクエリの前記類似度を算出する
ことを特徴とする請求項3に記載の情報処理装置。
4. The information processing device according to claim 3, wherein the similarity calculation unit calculates the similarity of the second query by comparing the weights respectively assigned to pairs of the links connected to the attributes shared between the query model of the first query and the query model of the second query, and adding up the weights having smaller values for the attributes.
前記類似度算出部は、前記ユーザが操作を過去に実行したアイテムに関連付けられる情報を、前記第1のクエリおよび第2のクエリの間で比較することにより、前記第2のクエリの前記類似度を算出する
ことを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。
The similarity calculation unit calculates the similarity of the second query by comparing information associated with an item on which the user has performed an operation in the past between the first query and the second query. The information processing device according to any one of claims 1 to 4, wherein the information processing device calculates .
前記類似度算出部は、前記アイテムに関連付けられる情報を、前記属性として設定し、前記操作の頻度に基づいて、前記重みを付与することにより、前記クエリモデルを生成する
ことを特徴とする請求項5に記載の情報処理装置。
The information processing device according to claim 5 , wherein the similarity calculation unit generates the query model by setting information associated with the item as the attribute and assigning the weight based on the frequency of the operation.
前記スコア算出部は、すべての前記第2のクエリの前記類似度の幾何平均を算出することにより、前記クエリサブセットのスコアを算出する
ことを特徴とする請求項1から6のいずれか1項に記載の情報処理装置。
The information processing device according to claim 1 , wherein the score calculation unit calculates a geometric mean of the similarities of all the second queries to calculate the score of the query subset.
前記第2クエリ取得部は、前記クエリサブセット生成部により生成された複数の前記クエリサブセットのそれぞれについて、前記第2のクエリを取得し、
前記スコア算出部は、複数の前記クエリサブセットのそれぞれについて、前記スコアを算出する
ことを特徴とする請求項1から7のいずれか1項に記載の情報処理装置。
The second query acquisition unit acquires the second query for each of the plurality of query subsets generated by the query subset generation unit,
The information processing device according to any one of claims 1 to 7, wherein the score calculation unit calculates the score for each of the plurality of query subsets.
前記クエリサブセット生成部は、前記第1のクエリの文字列上、連続しない複数のトークンから、前記クエリサブセットを生成する
ことを特徴とする請求項1から8のいずれか1項に記載の情報処理装置。
The information processing device according to claim 1 , wherein the query subset generation unit generates the query subset from a plurality of tokens that are not consecutive in a character string of the first query.
前記クエリサブセット特定部により特定された前記クエリサブセットに対応する検索結果が優先的に提示されるよう出力を制御する出力制御部をさらに備える
ことを特徴とする請求項1から9のいずれか1項に記載の情報処理装置。
Any one of claims 1 to 9, further comprising an output control unit that controls output so that search results corresponding to the query subset specified by the query subset specifying unit are preferentially presented. The information processing device described in .
情報処理装置が実行する情報処理方法であって、
第1のクエリを取得するステップと、
取得された前記第1のクエリを複数のトークンに分割し、分割された1つまたは複数のトークンからなるクエリサブセットを複数生成するステップと、
生成された前記クエリサブセットを前記第1のクエリと共有する第2のクエリを取得するステップと、
ユーザの行動履歴に基づいて、前記第1のクエリまたは前記第2のクエリを、当該クエリの属性にリンクで接続し、前記リンクに重みを付与することで生成されたクエリモデルを参照することにより、前記第2のクエリの、前記第1のクエリに対する類似度を算出するステップと、
前記第2のクエリの前記類似度に基づいて、前記クエリサブセットのスコアを算出するステップと、
複数の前記クエリサブセットのうち、算出された前記スコアがより高いクエリサブセットを特定するステップと
を含むことを特徴とする情報処理方法。
An information processing method executed by an information processing device,
obtaining a first query;
Dividing the acquired first query into a plurality of tokens and generating a plurality of query subsets each including one or more of the divided tokens;
obtaining a second query that shares the generated query subset with the first query;
calculating a similarity of the second query to the first query by referring to a query model generated by connecting the first query or the second query to an attribute of the query with a link and assigning a weight to the link based on a user's behavior history;
calculating a score for the subset of queries based on the similarity measure of the second query;
and identifying a query subset having a higher calculated score from among the plurality of query subsets.
情報処理をコンピュータに実行させるための情報処理プログラムであって、該プログラムは、前記コンピュータに、
第1のクエリを取得する第1クエリ取得処理と、
前記第1クエリ取得処理により取得された前記第1のクエリを複数のトークンに分割し、分割された1つまたは複数のトークンからなるクエリサブセットを複数生成するクエリサブセット生成処理と、
前記クエリサブセット生成処理により生成された前記クエリサブセットを前記第1のクエリと共有する第2のクエリを取得する第2クエリ取得処理と、
ユーザの行動履歴に基づいて、前記第1のクエリまたは前記第2のクエリを、当該クエリの属性にリンクで接続し、前記リンクに重みを付与することで生成されたクエリモデルを参照することにより、前記第2のクエリの、前記第1のクエリに対する類似度を算出する類似度算出処理と、
前記類似度算出処理により算出された、前記第2のクエリの前記類似度に基づいて、前記クエリサブセットのスコアを算出するスコア算出処理と、
複数の前記クエリサブセットのうち、前記スコア算出処理により算出された前記スコアがより高いクエリサブセットを特定するクエリサブセット特定処理と
を含む処理を実行させるためのものであることを特徴とする情報処理プログラム。
An information processing program for causing a computer to execute information processing, the program comprising:
a first query acquisition process for acquiring a first query;
a query subset generation process of dividing the first query acquired by the first query acquisition process into a plurality of tokens and generating a plurality of query subsets each including one or more of the divided tokens;
a second query acquisition process for acquiring a second query that shares the query subset generated by the query subset generation process with the first query;
a similarity calculation process for calculating a similarity of the second query to the first query by referring to a query model generated by connecting the first query or the second query to an attribute of the query with a link and assigning a weight to the link based on a user's behavior history;
a score calculation process of calculating a score of the query subset based on the similarity of the second query calculated by the similarity calculation process;
a query subset identification process for identifying a query subset having a higher score calculated by the score calculation process from among the plurality of query subsets.
JP2023016764A 2021-04-09 2023-02-07 Information processing device, information processing method, and program Active JP7461524B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163172984P 2021-04-09 2021-04-09
US63/172,984 2021-04-09
JP2021089033A JP7224392B2 (en) 2021-04-09 2021-05-27 Information processing device, information processing method and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021089033A Division JP7224392B2 (en) 2021-04-09 2021-05-27 Information processing device, information processing method and program

Publications (2)

Publication Number Publication Date
JP2023055916A JP2023055916A (en) 2023-04-18
JP7461524B2 true JP7461524B2 (en) 2024-04-03

Family

ID=83658567

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021089033A Active JP7224392B2 (en) 2021-04-09 2021-05-27 Information processing device, information processing method and program
JP2023016764A Active JP7461524B2 (en) 2021-04-09 2023-02-07 Information processing device, information processing method, and program

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021089033A Active JP7224392B2 (en) 2021-04-09 2021-05-27 Information processing device, information processing method and program

Country Status (1)

Country Link
JP (2) JP7224392B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118643137A (en) * 2024-06-18 2024-09-13 百度时代网络技术(北京)有限公司 Result generation method, generation model training method, device and storage medium
JP7774107B1 (en) * 2024-08-29 2025-11-20 ソフトバンク株式会社 Information processing system, information processing method, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003721A (en) 2006-06-20 2008-01-10 Canon Software Inc Information retrieval system, information retrieval method, program, and recording medium
JP2008052548A (en) 2006-08-25 2008-03-06 Fujitsu Ltd Search program, information search device, and information search method
WO2014050002A1 (en) 2012-09-28 2014-04-03 日本電気株式会社 Query degree-of-similarity evaluation system, evaluation method, and program
JP2019020939A (en) 2017-07-14 2019-02-07 ヤフー株式会社 Information processing system, information processing method, and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179505A (en) * 2005-12-28 2007-07-12 Ricoh Co Ltd SEARCH DEVICE, SEARCH SYSTEM, SEARCH METHOD, SEARCH PROGRAM, AND RECORDING MEDIUM
JP7176233B2 (en) * 2018-06-04 2022-11-22 富士通株式会社 Search method, search program and search device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003721A (en) 2006-06-20 2008-01-10 Canon Software Inc Information retrieval system, information retrieval method, program, and recording medium
JP2008052548A (en) 2006-08-25 2008-03-06 Fujitsu Ltd Search program, information search device, and information search method
WO2014050002A1 (en) 2012-09-28 2014-04-03 日本電気株式会社 Query degree-of-similarity evaluation system, evaluation method, and program
JP2019020939A (en) 2017-07-14 2019-02-07 ヤフー株式会社 Information processing system, information processing method, and program

Also Published As

Publication number Publication date
JP7224392B2 (en) 2023-02-17
JP2023055916A (en) 2023-04-18
JP2022161774A (en) 2022-10-21

Similar Documents

Publication Publication Date Title
US11682060B2 (en) Methods and apparatuses for providing search results using embedding-based retrieval
TWI557664B (en) Product information publishing method and device
US20210342697A1 (en) Generating a personalized preference ranking network for providing visually-aware item recommendations
CN104866474B (en) Individuation data searching method and device
US8589429B1 (en) System and method for providing query recommendations based on search activity of a user base
US11507989B2 (en) Multi-label product categorization
US11373424B1 (en) Document analysis architecture
CN112685635B (en) Item recommendation method, device, server and storage medium based on classification label
CN104679743A (en) Method and device for determining preference model of user
JP7461524B2 (en) Information processing device, information processing method, and program
JP7065718B2 (en) Judgment support device and judgment support method
US11776291B1 (en) Document analysis architecture
JP5794036B2 (en) Image search apparatus, image search method, and program
JP7273888B2 (en) Decision device, decision method and decision program
Tutz et al. Tree-structured scale effects in binary and ordinal regression
JP2015203960A (en) Partial information extraction system
US12001488B2 (en) Efficient data storage and retrieval system
JP6964540B2 (en) Information processing equipment, information processing methods, and information processing programs
Avini et al. Improved recommender systems using data mining
WO2023037398A1 (en) Information processing device, information processing method, and program
JP2019020939A (en) Information processing system, information processing method, and program
WO2022176293A1 (en) Physical property prediction device and program
JPWO2023037398A5 (en)
JP7530931B2 (en) Ranking determination system, ranking determination method, and program
Wang et al. Brand recommendation leveraging heterogeneous implicit feedbacks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240112

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240322

R150 Certificate of patent or registration of utility model

Ref document number: 7461524

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150