JP7161002B1 - Information processing device, information processing method and information processing program - Google Patents
Information processing device, information processing method and information processing program Download PDFInfo
- Publication number
- JP7161002B1 JP7161002B1 JP2021119998A JP2021119998A JP7161002B1 JP 7161002 B1 JP7161002 B1 JP 7161002B1 JP 2021119998 A JP2021119998 A JP 2021119998A JP 2021119998 A JP2021119998 A JP 2021119998A JP 7161002 B1 JP7161002 B1 JP 7161002B1
- Authority
- JP
- Japan
- Prior art keywords
- vector
- search
- filter
- information processing
- query
- 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 113
- 238000003672 processing method Methods 0.000 title claims abstract description 9
- 239000013598 vector Substances 0.000 claims abstract description 252
- 238000012937 correction Methods 0.000 claims abstract description 40
- 238000006243 chemical reaction Methods 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims description 38
- 230000005484 gravity Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 19
- 238000004364 calculation method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 230000006399 behavior Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 239000000284 extract Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】検索結果の質を高めることができる情報処理装置、情報処理方法および情報処理プログラムを提供すること。【解決手段】本願に係る情報処理装置は、変換部と、生成部と、検索部とを備える。変換部は、ユーザが入力した検索クエリをクエリベクトルに、検索対象の検索範囲を指定するフィルタ条件をフィルタベクトルにそれぞれ変換する。生成部は、フィルタベクトルに基づいてクエリベクトルを補正することでベクトルを生成する。検索部は、補正ベクトルに基づいて検索対象を検索する。【選択図】図5An information processing device, an information processing method, and an information processing program capable of improving the quality of search results are provided. An information processing apparatus according to the present application includes a conversion section, a generation section, and a search section. The conversion unit converts a search query input by a user into a query vector, and converts a filter condition specifying a search range of a search target into a filter vector. The generator generates a vector by correcting the query vector based on the filter vector. The search unit searches for a search target based on the correction vector. [Selection drawing] Fig. 5
Description
本発明は、情報処理装置、情報処理方法および情報処理プログラムに関する。 The present invention relates to an information processing device, an information processing method, and an information processing program.
従来、ユーザが入力したクエリおよび検索対象のコンテンツをベクトル化し、双方のベクトルの類似度により検索処理を行う情報処理装置がある。この種の情報処理装置では、近似最近傍探索(ANN:Approximate Nearest Neighbor algorithms search)により検索対象の検索範囲を絞る技術が提案されている。 2. Description of the Related Art Conventionally, there is an information processing apparatus that vectorizes a query input by a user and content to be searched, and performs search processing based on the degree of similarity between the two vectors. For this type of information processing apparatus, a technique has been proposed for narrowing down the search range of a search target by an approximate nearest neighbor search (ANN).
しかしながら、従来の技術では、検索対象のカテゴリが指定された場合には、ANNにより絞られた検索範囲の中から指定されたカテゴリのコンテンツを検索結果として出力するため、検索結果に含まれるコンテンツが少なくなってしまい、検索結果の質が低下するおそれがあった。 However, in the conventional technology, when a search target category is specified, the content of the specified category from the search range narrowed down by the ANN is output as the search result. There was a risk that the quality of the search results would be degraded.
本願は、上記に鑑みてなされたものであって、検索結果の質を高めることができる情報処理装置、情報処理方法および情報処理プログラムを提供することを目的とする。 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 quality of search results.
本願に係る情報処理装置は、変換部と、生成部と、検索部とを備える。前記変換部は、ユーザが入力した検索クエリをクエリベクトルに、検索対象の検索範囲を指定するフィルタ条件をフィルタベクトルにそれぞれ変換する。前記生成部は、前記フィルタベクトルに基づいて前記クエリベクトルを補正することで補正ベクトルを生成する。前記検索部は、前記補正ベクトルに基づいて前記検索対象を検索する。 An information processing apparatus according to the present application includes a conversion section, a generation section, and a search section. The conversion unit converts a search query input by a user into a query vector, and converts a filter condition designating a search range of a search target into a filter vector. The generation unit generates a correction vector by correcting the query vector based on the filter vector. The search unit searches for the search target based on the correction vector.
実施形態の一態様によれば、検索結果の質を高めることができるという効果を奏する。 According to one aspect of the embodiment, it is possible to improve the quality of search results.
以下に、本願に係る情報処理装置、情報処理方法および情報処理プログラムを実施するための形態(以下、「実施形態」と記載する)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法および情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。 Hereinafter, modes for implementing an information processing apparatus, an information processing method, and an information processing program according to the present application (hereinafter referred to as "embodiments") will be described in detail with reference to the drawings. The information processing apparatus, information processing method, and information processing program according to the present application are not limited to this embodiment. Also, in each of the following embodiments, the same parts are denoted by the same reference numerals, and overlapping descriptions are omitted.
(実施形態)
まず、図1~図3を用いて、実施形態に係る情報処理装置が実行する情報処理について説明する。図1~図3は、実施形態に係る情報処理その1~その3を示す図である。なお、図1~図3では、実施形態に係る情報処理装置1を含む情報処理システムSの動作例を示している。図1~図3に示すように、実施形態に係る情報処理システムSは、情報処理装置1と、ユーザ端末50とを含む。
(embodiment)
First, information processing executed by the information processing apparatus according to the embodiment will be described with reference to FIGS. 1 to 3. FIG. 1 to 3 are diagrams showing information processing 1 to 3 according to the embodiment. 1 to 3 show an operation example of an information processing system S including the information processing device 1 according to the embodiment. As shown in FIGS. 1 to 3, an information processing system S according to the embodiment includes an information processing device 1 and a user terminal 50. FIG.
まず、図1を用いて、情報処理その1について説明する。図1に示す情報処理その1では、ユーザが入力した検索クエリおよび検索対象の検索範囲を指定するフィルタ条件それぞれをベクトル化し、フィルタ条件のベクトルに基づいて、検索クエリのベクトルを補正する処理を行った後に検索処理を行う。 First, information processing 1 will be described with reference to FIG. In the information processing 1 shown in FIG. 1, the search query input by the user and the filter condition specifying the search range of the search target are each vectorized, and the vector of the search query is corrected based on the filter condition vector. After that, search processing is performed.
具体的には、まず、実施形態に係るユーザ端末50は、ユーザが入力した検索クエリおよび検索対象の検索範囲を指定するフィルタ条件を送信する(ステップS1)。検索クエリは、テキストや画像等である。フィルタ条件は、検索対象のカテゴリ(商品種別や価格帯等)を指定する条件であり、例えば、予め設定されたフィルタ条件の中からユーザが選択することで指定する。また、検索対象は、ショッピングサイトにおける商品や、ドキュメント、画像等といった各種コンテンツである。 Specifically, first, the user terminal 50 according to the embodiment transmits a search query input by the user and a filter condition specifying a search range to be searched (step S1). A search query is a text, an image, or the like. The filter condition is a condition for specifying a search target category (product type, price range, etc.), and is specified by, for example, the user selecting from preset filter conditions. Search targets are various contents such as products, documents, images, etc. on the shopping site.
つづいて、実施形態に係る情報処理装置1は、取得した検索クエリおよびフィルタ条件を所定の距離空間におけるベクトルに変換する(ステップS2)。なお、以下では、検索クエリに対応するベクトルを「クエリベクトル」、フィルタ条件に対応するベクトルを「フィルタベクトル」と記載する場合がある。また、所定の距離空間は、コサイン類似度の空間や、内積空間、ユークリッド距離空間等である。 Subsequently, the information processing apparatus 1 according to the embodiment converts the acquired search query and filter condition into a vector in a predetermined distance space (step S2). In the following description, a vector corresponding to a search query may be referred to as a "query vector", and a vector corresponding to a filter condition may be referred to as a "filter vector". Further, the predetermined metric space is a cosine similarity space, an inner product space, a Euclidean metric space, or the like.
つづいて、実施形態に係る情報処理装置1は、フィルタベクトルに基づいてクエリベクトルを補正することで補正ベクトルを生成する(ステップS3)。例えば、情報処理装置1は、クエリベクトルの向きやノルムを、フィルタベクトルの向きやノルムに基づいて補正した補正ベクトルを生成する。 Subsequently, the information processing device 1 according to the embodiment generates a correction vector by correcting the query vector based on the filter vector (step S3). For example, the information processing device 1 generates a correction vector by correcting the orientation and norm of the query vector based on the orientation and norm of the filter vector.
図1に示す例では、情報処理装置1は、クエリベクトルの向きやノルムをフィルタベクトルの向きやノルムに近づけた補正ベクトルを生成する。なお、補正ベクトルの生成方法については様々なバリエーションが考えられるが、かかる点の詳細については後述する。 In the example shown in FIG. 1, the information processing device 1 generates a correction vector in which the orientation and norm of the query vector are brought closer to the orientation and norm of the filter vector. Various variations are conceivable for the method of generating the correction vector, and the details of this point will be described later.
つづいて、情報処理装置1は、生成した補正ベクトルに基づいて検索対象を検索する(ステップS4)。例えば、情報処理装置1は、補正ベクトルと検索対象のベクトルとの距離(コサイン類似度や、内積距離、ユークリッド距離)を算出し、算出結果に基づいて検索結果を生成する。そして、情報処理装置1は、検索結果をユーザ端末50へ送信する(ステップS5)。 Subsequently, the information processing device 1 searches for a search target based on the generated correction vector (step S4). For example, the information processing device 1 calculates the distance (cosine similarity, inner product distance, Euclidean distance) between the correction vector and the search target vector, and generates search results based on the calculation results. Then, the information processing device 1 transmits the search result to the user terminal 50 (step S5).
このように、実施形態に係る情報処理その1によれば、フィルタベクトルを用いてクエリベクトル自体を補正するため、従来の手法であるクエリベクトルと距離が近い検索対象を抽出してからフィルタ条件に合致する検索対象を選択する場合に比べて、検索結果に含まれるコンテンツが多くなり、かつ、補正ベクトルにより抽出された各検索対象はフィルタ条件が既に加味されていることとなる。すなわち、実施形態に係る情報処理その1によれば、検索結果の質を高めることができる。 As described above, according to the information processing 1 according to the embodiment, since the query vector itself is corrected using the filter vector, search targets that are close to the query vector, which is a conventional method, are extracted and then applied to the filter condition. Compared to the case of selecting matching search targets, the search results contain more content, and the filter conditions are already taken into consideration for each search target extracted by the correction vector. That is, according to the first information processing according to the embodiment, it is possible to improve the quality of search results.
次に、図2を用いて、情報処理その2について説明する。図2に示す情報処理その2では、クエリベクトルと、検索対象となるコンテンツのベクトル(コンテンツベクトル)とのノルム差が所定値以上であるコンテンツ内積計算の対象コンテンツとして設定した後に検索処理を行う。なお、図2に示す情報処理その2では、上記した所定の距離空間が内積空間であることとする。 Next, the second information processing will be described with reference to FIG. In information processing No. 2 shown in FIG. 2, search processing is performed after content is set as content to be subjected to inner product calculation for which the norm difference between the query vector and the vector of the content to be searched (content vector) is equal to or greater than a predetermined value. In the second information processing shown in FIG. 2, the predetermined metric space described above is assumed to be an inner product space.
具体的には、まず、実施形態に係るユーザ端末50は、ユーザが入力した検索クエリを送信する(ステップS11)。なお、ユーザ端末50は、検索クエリに加え、上記したフィルタ条件を送信してもよい。 Specifically, first, the user terminal 50 according to the embodiment transmits a search query input by the user (step S11). Note that the user terminal 50 may transmit the filter conditions described above in addition to the search query.
つづいて、実施形態に係る情報処理装置1は、検索クエリと、検索対象となる各コンテンツとを内積空間におけるベクトルに変換する(ステップS12)。なお、以下では、検索クエリに対応するベクトルを上記と同様に「クエリベクトル」、各コンテンツに対応するベクトルを「コンテンツベクトル」と記載する場合がある。このベクトル変換処理は、検索クエリと各コンテンツのベクトルの内積がスコアとして意味をなすような同じ空間(同じ次元数)のベクトルに変換することで実現されるものであり、ベクトルは内積の値の大小を基に機械学習によって獲得された変換手順によって変換される。このような内積空間を用いた検索手順は、内積の値が大きいコンテンツのほうが検索結果に残りやすくする手順を含む。 Subsequently, the information processing apparatus 1 according to the embodiment converts the search query and each content to be searched into vectors in the inner product space (step S12). In addition, hereinafter, the vector corresponding to the search query may be referred to as the "query vector", and the vector corresponding to each content may be referred to as the "content vector". This vector conversion process is realized by converting the inner product of the search query and each content vector into a vector in the same space (same number of dimensions) that makes sense as a score, and the vector is the value of the inner product. It is converted by a conversion procedure acquired by machine learning based on the magnitude. A search procedure using such an inner product space includes a procedure in which content with a large inner product value is more likely to remain in search results.
図2では、コンテンツベクトルは、クエリベクトルと同じタイミングで変換する例を示したが、例えば、検索クエリが入力される前のタイミング(例えば、コンテンツが登録されたタイミング等)で事前に変換されていてもよい。 FIG. 2 shows an example in which the content vector is converted at the same timing as the query vector. may
つづいて、実施形態に係る情報処理装置1は、各コンテンツベクトルの中から、ノルムが所定値以上のコンテンツベクトルを抽出し、抽出したコンテンツベクトルに対応するコンテンツを検索クエリに対応するクエリベクトルとの内積計算の対象コンテンツとして設定する(ステップS13)。 Subsequently, the information processing apparatus 1 according to the embodiment extracts content vectors whose norm is equal to or greater than a predetermined value from each content vector, and compares the content corresponding to the extracted content vector with the query vector corresponding to the search query. The content is set as the target content for the inner product calculation (step S13).
図2に示す例では、領域R2、R3に属するコンテンツを対象コンテンツとして設定する。また、領域R1は、後段のステップS14においてクエリベクトルと類似する(内積が所定条件を満たす)コンテンツ群であり、言い換えれば、内積計算の対象コンテンツである。 In the example shown in FIG. 2, contents belonging to areas R2 and R3 are set as target contents. Also, the region R1 is a group of contents similar to the query vector (an inner product satisfies a predetermined condition) in step S14 described later, in other words, a target content for the inner product calculation.
つづいて、実施形態に係る情報処理装置1は、領域R1~R3に含まれる対象コンテンツを検索対象として検索処理を行う(ステップS14)。例えば、情報処理装置1は、対象コンテンツのコンテンツベクトルと、クエリベクトルとの内積を計算し、計算結果に基づいて検索結果を生成する。 Subsequently, the information processing apparatus 1 according to the embodiment performs search processing with target contents included in the regions R1 to R3 as search targets (step S14). For example, the information processing device 1 calculates the inner product of the content vector of the target content and the query vector, and generates search results based on the calculation results.
つづいて、実施形態に係る情報処理装置1は、生成した検索結果をユーザ端末50へ送信する(ステップS15)。 Subsequently, the information processing device 1 according to the embodiment transmits the generated search result to the user terminal 50 (step S15).
つまり、実施形態に係る情報処理その2では、ノルムが所定値以上である領域R2、R3のコンテンツについては、クエリベクトルに関わらず必ず検索対象に含ませるようにする。これは、内積空間においては、ノルムが所定値以上のコンテンツベクトルとクエリベクトルとの類似度は高くなる(検索結果としてユーザが所望しているものに近い)場合があるためである。すなわち、実施形態に係る情報処理装置1によれば、検索結果の質を高めることができる。
That is, in the
次に、図3を用いて、情報処理その3について説明する。図3に示す情報処理その3では、検索対象となる各コンテンツに対応するコンテンツベクトルを事前にクラスタリングしておき、クエリベクトルと類似するクラスタを特定して検索処理を行う。 Next, information processing 3 will be described with reference to FIG. In the information processing 3 shown in FIG. 3, content vectors corresponding to each content to be searched are clustered in advance, and a cluster similar to the query vector is specified to perform search processing.
具体的には、まず、実施形態に係る情報処理装置1は、事前に(検索クエリを取得する前に)、各コンテンツベクトルについて、類似するコンテンツベクトルが同じクラスタとなるように分類する(ステップS21)。図3に示す例では、領域R1~R9それぞれをクラスタとして分類する。 Specifically, first, the information processing apparatus 1 according to the embodiment classifies each content vector in advance (before acquiring a search query) so that similar content vectors are in the same cluster (step S21 ). In the example shown in FIG. 3, each of regions R1 to R9 is classified as a cluster.
つづいて、実施形態に係るユーザ端末50は、ユーザが入力した検索クエリを送信する(ステップS22)。なお、ユーザ端末50は、検索クエリに加え、上記したフィルタ条件を送信してもよい。 Subsequently, the user terminal 50 according to the embodiment transmits the search query input by the user (step S22). Note that the user terminal 50 may transmit the filter conditions described above in addition to the search query.
つづいて、実施形態に係る情報処理装置1は、検索クエリを所定の距離空間におけるクエリベクトルに変換する(ステップS23)。 Subsequently, the information processing device 1 according to the embodiment converts the search query into a query vector in a predetermined distance space (step S23).
つづいて、実施形態に係る情報処理装置1は、クエリベクトルと類似するクラスタを特定する(ステップS24)。例えば、情報処理装置1は、クラスタに含まれるコンテンツベクトルの代表ベクトルを算出し、代表ベクトルとクエリベクトルとの類似度に基づいて特定する。 Subsequently, the information processing device 1 according to the embodiment identifies clusters similar to the query vector (step S24). For example, the information processing device 1 calculates a representative vector of the content vectors included in the cluster, and specifies based on the degree of similarity between the representative vector and the query vector.
つづいて、実施形態に係る情報処理装置1は、特定したクラスタに含まれるコンテンツを検索対象として検索処理を行う(ステップS25)。例えば、情報処理装置1は、対クラスタに含まれるコンテンツベクトルと、クエリベクトルとの内積を計算し、計算結果に基づいて検索結果を生成する。 Subsequently, the information processing apparatus 1 according to the embodiment performs search processing with content included in the specified cluster as search targets (step S25). For example, the information processing device 1 calculates the inner product of the content vector included in the paired cluster and the query vector, and generates the search result based on the calculation result.
つづいて、実施形態に係る情報処理装置1は、生成した検索結果をユーザ端末50へ送信する(ステップS26)。 Subsequently, the information processing device 1 according to the embodiment transmits the generated search result to the user terminal 50 (step S26).
つまり、実施形態に係る情報処理その3では、コンテンツベクトルを事前にクラスタリングしておき、クエリベクトルと類似するクラスタを特定することで、検索結果を絞りつつ、全コンテンツをスコアリング(例えば、内積計算)したときと類似した検索結果を生成することができる。つまり、実施形態に係る情報処理装置1によれば、検索結果の質を高めることができる。 In other words, in the third information processing according to the embodiment, content vectors are clustered in advance, and by specifying clusters similar to the query vector, all content is scored (for example, inner product calculation) while narrowing down the search results. ) to generate similar search results. That is, according to the information processing device 1 according to the embodiment, it is possible to improve the quality of search results.
次に、図4を用いて、実施形態に係る情報処理システムSの構成例について説明する。図4は、実施形態に係る情報処理システムSの構成例を示すブロック図である。図4に示すように、実施形態に係る情報処理システムSは、情報処理装置1と、複数のユーザ端末50とがネットワークNに対して有線又は無線により接続される。ネットワークNは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)等のネットワークである。 Next, a configuration example of the information processing system S according to the embodiment will be described with reference to FIG. FIG. 4 is a block diagram showing a configuration example of the information processing system S according to the embodiment. As shown in FIG. 4, in an information processing system S according to the embodiment, an information processing device 1 and a plurality of user terminals 50 are connected to a network N by wire or wirelessly. The network N is, for example, the Internet, a WAN (Wide Area Network), a LAN (Local Area Network), or the like.
情報処理装置1は、各種コンテンツの検索結果を提供する検索サーバであり、情報処理方法を実行する。情報処理装置1が検索する検索対象は、例えば、ショッピングサイトにおける商品や、ドキュメント、画像等を含む。 The information processing device 1 is a search server that provides search results for various contents, and executes an information processing method. The search targets searched by the information processing apparatus 1 include, for example, products on shopping sites, documents, images, and the like.
ユーザ端末50は、コンテンツを検索したいユーザが所持する端末装置であり、情報処理装置1へ検索要求を行う端末装置である。ユーザ端末50は、スマートフォン、デスクトップ型PC、ノート型PC、タブレット型PC等の任意のタイプの端末装置を用いることができる。 The user terminal 50 is a terminal device possessed by a user who wants to search for content, and is a terminal device that issues a search request to the information processing apparatus 1 . The user terminal 50 can be any type of terminal device such as a smart phone, desktop PC, notebook PC, tablet PC, or the like.
なお、図4では、情報処理装置1およびユーザ端末50を含む情報処理システムSの構成例を示したが、これら構成の他に、コンテンツを登録する事業者等の端末装置が情報処理システムSに含まれてもよい。 Note that FIG. 4 shows a configuration example of the information processing system S including the information processing device 1 and the user terminal 50, but in addition to these configurations, a terminal device such as a business operator who registers content may be included in the information processing system S. may be included.
次に、図5を参照して、情報処理装置1の構成例について説明する。 Next, a configuration example of the information processing apparatus 1 will be described with reference to FIG.
図5は、実施形態に係る情報処理装置1の構成例を示す図である。図5に示されるように、情報処理装置1は、通信部2と、制御部3と、記憶部4とを有する。制御部3は、取得部31と、変換部32と、生成部33と、分類部34と、特定部35と、設定部36と、検索部37と、出力部38とを備える。記憶部4は、コンテンツ情報41と、ユーザ情報42とを記憶する。
FIG. 5 is a diagram showing a configuration example of the information processing device 1 according to the embodiment. As shown in FIG. 5 , the information processing device 1 has a
通信部2は、例えば、NIC(Network Interface Card)等によって実現される。通信部2は、有線または無線によりネットワーク網と接続される。
The
制御部3は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報処理装置1内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等を作業領域として実行されることにより実現される。また、制御部3は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、GPGPU(General Purpose Graphic Processing Unit)等の集積回路により実現されてもよい。 The control unit 3 is a controller, and for example, various programs (information processing (corresponding to an example of a program) is executed using a RAM or the like as a work area. In addition, the control unit 3 is a controller, and may be implemented by an integrated circuit such as an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a GPGPU (General Purpose Graphic Processing Unit). .
記憶部4は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。 The storage unit 4 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 disc.
コンテンツ情報41は、検索対象である各コンテンツに関する情報である。図6は、コンテンツ情報41の一例を示す図である。図6に示すように、コンテンツ情報41は、「コンテンツID」、「カテゴリ」、「詳細情報」等の項目を含む。
The
「コンテンツID」は、各コンテンツを識別する識別情報である。「カテゴリ」は、コンテンツのカテゴリを示す情報であり、例えば、コンテンツの種別(商品種別やドキュメント種別)や、価格帯、文字列か画像かの情報態様に関する情報である。「詳細情報」は、コンテンツの詳細情報であり、例えば、商品の説明文や、商品画像、ドキュメントのテキスト等の情報である。 "Content ID" is identification information for identifying each content. "Category" is information indicating the category of content, for example, information on the type of content (product type or document type), price range, and information mode such as character string or image. The “detailed information” is detailed information about the content, such as product descriptions, product images, document texts, and the like.
ユーザ情報42は、ユーザに関する情報である。図7は、ユーザ情報42の一例を示す図である。図7に示すように、ユーザ情報42は、「ユーザID」、「属性情報」、「行動情報」等の項目を含む。
The
「ユーザID」は、ユーザを識別する識別情報である。「属性情報」は、ユーザの属性に関する情報であり、サイコグラフィック属性や、デモグラフィック属性等を含む。「行動情報」は、ユーザの行動に関する情報であり、例えば、検索行動や、購買行動等を含む。 “User ID” is identification information that identifies a user. The “attribute information” is information about user attributes, including psychographic attributes, demographic attributes, and the like. “Behavior information” is information about user behavior, and includes, for example, search behavior and purchase behavior.
次に、情報処理装置1の制御部3の各機能(取得部31、変換部32、生成部33、分類部34、特定部35、設定部36、検索部37および出力部38)について説明する。
Next, each function of the control unit 3 of the information processing device 1 (
取得部31は、各種情報を取得する。取得部31は、ユーザ端末50から検索クエリおよびフィルタ条件を取得する。なお、取得部31は、検索ログを収集するサーバから過去の検索クエリおよびフィルタ条件を取得してもよい。また、取得部31は、ユーザが入力すると想定される検索クエリおよびフィルタ条件を生成してもよい。
The
変換部32は、取得部31が取得した検索クエリおよびフィルタ条件をそれぞれクエリベクトルおよびフィルタベクトルに変換する。また、変換部32は、コンテンツ情報41を参照して、検索対象となるコンテンツをコンテンツベクトルに変換する。
The
ベクトルの変換手法は、例えば、word2vecのようなtokenからベクトルに変換するための対応表を用いた変換手法や、Fasttext、BERT(Bidirectional Encoder Representations from Transformers)等といった既知の変換手法を用いることができる。 As a vector conversion method, for example, a conversion method using a correspondence table for converting a token into a vector, such as word2vec, or a known conversion method such as Fasttext, BERT (Bidirectional Encoder Representations from Transformers), etc. can be used. .
また、ベクトルが配置される所定の距離空間は、コサイン類似度の距離空間や、内積空間、ユークリッド距離空間等である。なお、図2で示した情報処理その2においては、所定の距離空間のうち、内積空間を用いてベクトル変換が行われる。
The predetermined metric space in which vectors are arranged is a metric space of cosine similarity, an inner product space, a Euclidean metric space, or the like. In the
また、フィルタベクトルは、フィルタ条件毎のベクトルを保持したテーブル情報を用いて変換が行われてもよい。あるいは、フィルタベクトルは、フィルタ条件の文字列を上記した変換手法により変換されてもよい。 Also, the filter vector may be converted using table information that holds the vector for each filter condition. Alternatively, the filter vector may be transformed by the transformation technique described above for the string of filter conditions.
生成部33は、変換部32によって変換されたフィルタベクトルに基づいてクエリベクトルを補正することで補正ベクトルを生成する。例えば、生成部33は、フィルタベクトルおよびクエリベクトルを変数として含む関数の出力を補正ベクトルとして生成する。
The
具体的には、かかる関数は、フィルタベクトルおよびクエリベクトルそれぞれに所定の重みを乗算して足し合わせる関数である。この重みは、例えば固定値であってもよく、変動値であってもよい。 Specifically, such a function is a function that multiplies each of the filter vector and the query vector by a predetermined weight and sums them up. This weight may be, for example, a fixed value or a variable value.
変動値としての重み値は、例えば、フィルタ条件に合致する検索対象の数に応じて決定する。すなわち、フィルタ条件に合致する検索対象の数が多い程、フィルタベクトルに乗算する重み値を大きくし、検索対象の数が少ない程、フィルタベクトルに乗算する重み値を小さくする。これにより、補正ベクトルを用いて検索処理を行う場合に、検索結果に含まれるコンテンツの数が少なくなることを高精度に回避することができる。 A weight value as a variable value is determined, for example, according to the number of search targets that match the filter conditions. That is, the greater the number of search targets that match the filter condition, the greater the weight value to be multiplied by the filter vector, and the less the number of search targets, the smaller the weight value to be multiplied by the filter vector. As a result, when the search process is performed using the correction vector, it is possible to avoid, with high accuracy, a decrease in the number of contents included in the search results.
また、生成部33は、フィルタ条件が複数存在する場合、例えば、各フィルタ条件に対応する複数のフィルタベクトルで独立してクエリベクトルを補正してもよい。あるいは、生成部33は、複数のフィルタベクトルの代表ベクトル(例えば、重心)を算出し、代表ベクトルによりクエリベクトルを補正してもよい。
Further, when there are a plurality of filter conditions, the
また、生成部33は、ユーザ情報42を加味して補正ベクトルを生成してもよい。例えば、生成部33は、ユーザの属性情報や行動情報をユーザベクトルに変換し、ユーザベクトルと、フィルタベクトルとに基づいてクエリベクトルを補正してもよい。
Further, the
また、生成部33は、検索クエリを入力したユーザとは異なる他のユーザのユーザ情報を用いて補正ベクトルを生成してもよい。他のユーザは、属性情報や行動情報が類似する他のユーザを抽出する。
Moreover, the
また、生成部33は、検索クエリの属性を推定して属性ベクトルに変換し、属性ベクトルに基づいて補正ベクトルを生成してもよい。
Further, the
分類部34は、コンテンツベクトルをクラスタに分類する。例えば、分類部34は、コンテンツベクトルの向きおよびノルムが所定の範囲内であるものを同じクラスタに分類する。あるいは、分類部34は、ベクトルの向きおよびノルムを所定間隔の領域毎に区切り、各領域に含まれるコンテンツベクトルを同じクラスタに分類する。
The
特定部35は、分類部34によって分類されたクラスタの中から、クエリベクトルと類似するクラスタを特定する。例えば、特定部35は、クラスタに含まれるコンテンツベクトルの代表ベクトルを算出し、代表ベクトルとクエリベクトルとの距離に基づく類似度によりクラスタを特定する。
The identifying
なお、代表ベクトルは、クラスタに含まれるコンテンツベクトルの重心や、平均値を用いることができる。 Note that the center of gravity of the content vectors included in the cluster or the average value can be used as the representative vector.
また、特定部35は、例えば、取得部31がフィルタ条件を取得した場合、フィルタ条件に合致するコンテンツベクトルが含まれるクラスタを抽出し、抽出したクラスタに対して上記した特定処理を行ってもよい。
Further, for example, when the obtaining
また、特定部35は、クラスタの代表ベクトルのノルムまたは向きがクエリベクトルと類似する場合に、かかるクラスタを特定してもよい。
Further, the identifying
設定部36は、各コンテンツに対応するコンテンツベクトルの中から、ノルムが所定値以上のコンテンツベクトルを抽出し、抽出したコンテンツベクトルに対応するコンテンツを検索クエリに対応するクエリベクトルとの内積計算の対象コンテンツとして設定する。
The setting
例えば、設定部36は、上記したノルム差が所定値以上、かつ、コンテンツベクトルのノルムが所定値以上であるコンテンツを対象コンテンツとして設定する。すなわち、設定部36は、クエリベクトルよりもノルムが極端に長いコンテンツベクトルのコンテンツを対象コンテンツとして設定する。なお、設定部36は、クエリベクトルよりもノルムが極端に短いコンテンツベクトルのコンテンツを対象コンテンツとして設定してもよい。
For example, the setting
また、設定部36は、ノルムが所定値以上の場合に限らず、例えば、全検索対象のうち、ノルムが上位数%のコンテンツを対象コンテンツとして抽出してもよい。
Moreover, the setting
また、設定部36は、コンテンツベクトルをノルム毎にクラスタリングし、クラスタの代表ベクトルと、クエリベクトルとのノルム差が所定値以上である場合に、かかるクラスタに含まれるコンテンツを対象コンテンツとして設定してもよい。
In addition, the setting
また、設定部36は、ノルム差に加えて、コンテンツベクトルをコンテンツのカテゴリ毎にクラスタリングし、クエリベクトルのカテゴリと一致するクラスタのコンテンツを対象コンテンツとしてもよい。
In addition to the norm difference, the setting
また、設定部36は、クエリベクトルと類似するクラスタに含まれるコンテンツを対象コンテンツとして設定する。具体的には、設定部36は、クラスタの代表ベクトルのノルムおよび向きがクエリベクトルのノルムおよび向きと類似する場合、対象コンテンツとして設定する。
Also, the setting
検索部37は、設定部36によって設定された対象コンテンツについて、所定の距離空間におけるクエリベクトルとの距離を計算する。例えば、検索部37は、クエリベクトルと、対象コンテンツのコンテンツベクトルとの内積を計算する。
The
そして、検索部37は、内積に応じた類似度に基づいて検索結果を生成する。例えば、検索部37は、類似度が高いほど上位にランキングされる検索結果を生成する。
Then, the
出力部38は、検索部37によって生成された検索結果をユーザ端末50へ出力する。
The
次に、図8~図10を用いて、実施形態に係る情報処理装置1が実行する情報処理その1~その3の処理手順について説明する。図8~図10は、実施形態に係る情報処理装置1が実行する情報処理その1~その3の処理手順を示すフローチャートである。 Next, processing procedures of information processing 1 to 3 executed by the information processing apparatus 1 according to the embodiment will be described with reference to FIGS. 8 to 10. FIG. 8 to 10 are flow charts showing processing procedures of information processing 1 to 3 executed by the information processing apparatus 1 according to the embodiment.
まず、図8を用いて、情報処理その1の処理手順について説明する。 First, the processing procedure of information processing 1 will be described with reference to FIG.
図8に示すように、制御部3は、まず、ユーザ端末50から検索クエリおよびフィルタ条件を取得する(ステップS101)。つづいて、制御部3は、検索クエリおよびフィルタ条件をそれぞれクエリベクトルおよびフィルタベクトルに変換する(ステップS102)。つづいて、制御部3は、フィルタベクトルに基づいてクエリベクトルを補正することで補正ベクトルを生成する(ステップS103)。つづいて、制御部3は、補正ベクトルに基づいて検索対象を検索する(ステップS104)。つづいて、制御部3は、検索結果をユーザ端末50へ出力し(ステップS105)、処理を終了する。 As shown in FIG. 8, the control unit 3 first acquires a search query and filter conditions from the user terminal 50 (step S101). Subsequently, the control unit 3 converts the search query and filter conditions into query vectors and filter vectors, respectively (step S102). Subsequently, the control unit 3 generates a correction vector by correcting the query vector based on the filter vector (step S103). Subsequently, the control unit 3 searches for a search target based on the correction vector (step S104). Subsequently, the control unit 3 outputs the search result to the user terminal 50 (step S105), and terminates the process.
次に、図9を用いて、情報処理その2の処理手順について説明する。 Next, the processing procedure of the second information processing will be described with reference to FIG.
図9に示すように、制御部3は、まず、ユーザ端末50から検索クエリを取得する(ステップS201)。つづいて、制御部3は、内積空間におけるクエリベクトルおよびコンテンツベクトルに変換する(ステップS202)。つづいて、制御部3は、クエリベクトルとのノルム差が所定値以上のコンテンツを対象コンテンツに設定(ステップS204)。つづいて、制御部3は、対象コンテンツのコンテンツベクトルとクエリベクトルとの内積計算を行う(ステップS205)。つづいて、制御部3は、計算結果に基づいて検索結果を生成する(ステップS206)。つづいて、制御部3は、検索結果をユーザ端末50へ出力し(ステップS207)、処理を終了する。 As shown in FIG. 9, the control unit 3 first acquires a search query from the user terminal 50 (step S201). Subsequently, the control unit 3 converts them into query vectors and content vectors in the inner product space (step S202). Subsequently, the control unit 3 sets content whose norm difference from the query vector is equal to or greater than a predetermined value as target content (step S204). Subsequently, the control unit 3 performs inner product calculation of the content vector of the target content and the query vector (step S205). Subsequently, the control unit 3 generates search results based on the calculation results (step S206). Subsequently, the control unit 3 outputs the search result to the user terminal 50 (step S207), and terminates the process.
次に、図10を用いて、情報処理その3の処理手順について説明する。 Next, the processing procedure of information processing 3 will be described with reference to FIG.
図10に示すように、制御部3は、まず、コンテンツベクトルをクラスタに分類する(ステップS301)。つづいて、制御部3は、検索クエリを取得し、クエリベクトルに変換する(ステップS302)。つづいて、制御部3は、クエリベクトルと類似するクラスタと特定する(ステップS303)。つづいて、制御部3は、特定したクラスタに含まれるコンテンツを対象コンテンツに設定する(ステップS304)。つづいて、制御部3は、対象コンテンツのコンテンツベクトルとクエリベクトルとの内積計算を行う(ステップS305)。つづいて、制御部3は、計算結果に基づいて検索結果を生成する(ステップS306)。つづいて、制御部3は、検索結果をユーザ端末50へ出力し(ステップS307)、処理を終了する。 As shown in FIG. 10, the control unit 3 first classifies content vectors into clusters (step S301). Subsequently, the control unit 3 acquires a search query and converts it into a query vector (step S302). Subsequently, the control unit 3 identifies a cluster similar to the query vector (step S303). Subsequently, the control unit 3 sets the content included in the identified cluster as target content (step S304). Subsequently, the control unit 3 performs inner product calculation of the content vector of the target content and the query vector (step S305). Subsequently, the control unit 3 generates search results based on the calculation results (step S306). Subsequently, the control unit 3 outputs the search result to the user terminal 50 (step S307), and ends the process.
〔その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
〔others〕
Also, among the processes described in the above embodiments, some of the processes described as being automatically performed can also be performed manually. Alternatively, all or part of the processes described as being performed manually can be performed automatically by known methods. In addition, information including processing procedures, specific names, various data and parameters shown in the above documents and drawings can be arbitrarily changed unless otherwise specified. For example, the various information shown in each drawing is not limited to the illustrated information.
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Also, each component of each device illustrated is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution and integration of each device is not limited to the one shown in the figure, and all or part of them can be functionally or physically distributed and integrated in arbitrary units according to various loads and usage conditions. Can be integrated and configured.
例えば、図5に示した記憶部4の一部又は全部は、各装置によって保持されるのではなく、ストレージサーバ等に保持されてもよい。この場合、各装置は、ストレージサーバにアクセスすることで、各種情報を取得する。 For example, part or all of the storage unit 4 shown in FIG. 5 may be held in a storage server or the like instead of being held by each device. In this case, each device acquires various information by accessing the storage server.
〔ハードウェア構成〕
また、上述してきた実施形態に係る情報処理装置1は、例えば図11に示すような構成のコンピュータ1000によって実現される。図11は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
[Hardware configuration]
Further, the information processing apparatus 1 according to the embodiment described above is implemented by a
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一時的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
The arithmetic device 1030 operates based on programs stored in the
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
The output IF 1060 is an interface for transmitting information to be output to the output device 1010 that outputs various types of information such as a monitor and a printer. It is realized by a connector conforming to a standard such as HDMI (registered trademark) (High Definition Multimedia Interface). Also, the input IF 1070 is an interface for receiving information from
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
Note that the
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。 Network IF 1080 receives data from other devices via network N and sends the data to arithmetic device 1030, and also transmits data generated by arithmetic device 1030 via network N to other devices.
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
The arithmetic device 1030 controls the output device 1010 and the
例えば、コンピュータ1000が情報処理装置1として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部3の機能を実現する。
For example, when the
〔効果〕
上述してきたように、実施形態に係る情報処理装置1は、変換部32と、生成部33と、検索部37とを備える。変換部32は、ユーザが入力した検索クエリをクエリベクトルに、検索対象の検索範囲を指定するフィルタ条件をフィルタベクトルにそれぞれ変換する。生成部33は、フィルタベクトルに基づいてクエリベクトルを補正することで補正ベクトルを生成する。検索部37は、補正ベクトルに基づいて検索対象を検索する。生成部33は、フィルタベクトルおよびクエリベクトルを変数として含む関数の出力を補正ベクトルとして生成する。生成部33は、フィルタベクトルおよびクエリベクトルの変数それぞれに重みを乗算して足し合わせる関数の出力を補正ベクトルとして生成する。重みは、フィルタ条件と一致する検索対象の数に応じた値が設定される。生成部33は、フィルタベクトルおよびクエリベクトルの重心を補正ベクトルとして生成する。生成部33は、ユーザに関するユーザ情報をベクトル化したユーザベクトルと、フィルタベクトルとに基づいて補正ベクトルを生成する。ユーザ情報は、ユーザの属性情報および行動情報の少なくとも1つを含む。生成部33は、ユーザと類似する他のユーザのユーザ情報をベクトル化したベクトルに基づいて補正ベクトルを生成すること。変換部32は、複数のフィルタ条件それぞれに対応する複数のフィルタベクトルに変換する。生成部33は、複数のフィルタベクトルに基づいて補正ベクトルを生成する。このような構成により、検索結果の質を高めることができる。
〔effect〕
As described above, the information processing device 1 according to the embodiment includes the
また、上述してきたように、実施形態に係る情報処理装置1は、変換部32と、設定部36とを備える。変換部32は、ユーザが入力した検索クエリと、検索対象となる各コンテンツとをそれぞれ内積空間におけるベクトルに変換する。設定部36は、各コンテンツに対応するコンテンツベクトルの中から、ノルムが所定値以上のコンテンツベクトルを抽出し、抽出したコンテンツベクトルに対応するコンテンツを検索クエリに対応するクエリベクトルとの内積計算の対象コンテンツとして設定する。設定部36は、コンテンツベクトルをノルムに応じてクラスタリングし、クラスタに含まれるコンテンツベクトルの代表ベクトルと、クエリベクトルとのノルム差に基づいて対象コンテンツを設定する。代表ベクトルは、クラスタに含まれるコンテンツベクトルの重心である。設定部36は、ノルム差が所定値以上、かつ、コンテンツベクトルのノルムが所定値以上のコンテンツを対象コンテンツとして設定する。設定部36は、ノルム差が所定値以上、かつ、コンテンツベクトルのノルムが上位から所定の割合までのコンテンツを対象コンテンツとして設定する。設定部36は、コンテンツベクトルをコンテンツのカテゴリ毎のクラスタに分類し、検索クエリのカテゴリと一致するクラスタの中から、対象コンテンツを設定する。このような構成により、検索結果の質を高めることができる。
Further, as described above, the information processing apparatus 1 according to the embodiment includes the
また、上述してきたように、実施形態に係る情報処理装置1は、分類部34と、特定部35と、検索部37とを備える。分類部34は、検索対象となる各コンテンツに対応するコンテンツベクトルをクラスタに分類する。特定部35は、ユーザが入力した検索クエリに対応するクエリベクトルと類似するクラスタを特定する。検索部37は、特定したクラスタに含まれるコンテンツベクトルに対応するコンテンツを検索対象として検索する。特定部35は、クラスタに含まれるコンテンツベクトルの代表ベクトルがクエリベクトルと類似するクラスタを特定する。代表ベクトルは、クラスタに含まれるコンテンツベクトルの重心である。特定部35は、検索対象の検索範囲を指定するフィルタ条件に合致するクラスタを抽出し、抽出したクラスタの中からクエリベクトルと類似するクラスタを特定する。特定部35は、クエリベクトルの向きおよびノルムが類似するクラスタを特定する。このような構成により、検索結果の質を高めることができる。
Further, as described above, the information processing apparatus 1 according to the embodiment includes the
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。 As described above, some of the embodiments of the present application have been described in detail based on the drawings. It is possible to carry out the invention in other forms with modifications.
〔その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
〔others〕
Further, among the processes described in the above embodiments, all or part of the processes described as being automatically performed can be manually performed, or the processes described as being performed manually can be performed manually. All or part of this can also be done automatically by known methods. In addition, information including processing procedures, specific names, various data and parameters shown in the above documents and drawings can be arbitrarily changed unless otherwise specified. For example, the various information shown in each drawing is not limited to the illustrated information.
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Also, each component of each device illustrated is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution and integration of each device is not limited to the one shown in the figure, and all or part of them can be functionally or physically distributed and integrated in arbitrary units according to various loads and usage conditions. Can be integrated and configured.
また、上述してきた実施形態に記載した各処理は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 Further, each processing described in the above-described embodiments can be appropriately combined within a range that does not contradict the content of the processing.
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、制御部3は、制御手段や制御回路に読み替えることができる。 Also, the "section, module, unit" described above can be read as "means" or "circuit". For example, the control unit 3 can be read as control means or a control circuit.
1 情報処理装置
2 通信部
3 制御部
4 記憶部
31 取得部
32 変換部
33 生成部
34 分類部
35 特定部
36 設定部
37 検索部
38 出力部
41 コンテンツ情報
42 ユーザ情報
50 ユーザ端末
N ネットワーク
S 情報処理システム
1
Claims (9)
前記フィルタベクトルに基づいて前記クエリベクトルを補正することで補正ベクトルを生成する生成部と、
前記補正ベクトルに基づいて前記検索対象を検索する検索部と、
を備え、
前記生成部は、
前記フィルタベクトルおよび前記クエリベクトルを変数として含み、少なくとも前記フィルタベクトルに対応する前記変数に重みを乗算して足し合わせる関数の出力を補正ベクトルとして生成し、
前記重みは、
前記フィルタ条件と一致する前記検索対象の数に応じた値が設定されること
を特徴とする情報処理装置。 a conversion unit that converts a search query input by a user into a query vector and a filter condition that specifies a search range to be searched into a filter vector;
a generation unit that generates a correction vector by correcting the query vector based on the filter vector;
a search unit that searches for the search target based on the correction vector ;
with
The generating unit
generating, as a correction vector, the output of a function including the filter vector and the query vector as variables, and multiplying and summing the variables corresponding to at least the filter vectors by weights;
The weight is
A value is set according to the number of search targets that match the filter condition
An information processing device characterized by:
前記フィルタベクトルおよび前記クエリベクトルの前記変数それぞれに重みを乗算して足し合わせる前記関数の出力を補正ベクトルとして生成すること
を特徴とする請求項1に記載の情報処理装置。 The generating unit
2. The information processing apparatus according to claim 1 , wherein an output of said function for multiplying weights of said variables of said filter vector and said query vector and summing them is generated as a correction vector.
前記フィルタベクトルおよび前記クエリベクトルの重心を前記補正ベクトルとして生成すること
を特徴とする請求項1または2に記載の情報処理装置。 The generating unit
3. The information processing apparatus according to claim 1, wherein a center of gravity of said filter vector and said query vector is generated as said correction vector.
前記ユーザに関するユーザ情報をベクトル化したユーザベクトルと、前記フィルタベクトルとに基づいて前記補正ベクトルを生成すること
を特徴とする請求項1~3のいずれか1つに記載の情報処理装置。 The generating unit
The information processing apparatus according to any one of claims 1 to 3 , wherein the correction vector is generated based on a user vector obtained by vectorizing user information about the user and the filter vector.
前記ユーザの属性情報および行動情報の少なくとも1つを含むこと
を特徴とする請求項4に記載の情報処理装置。 The user information is
5. The information processing apparatus according to claim 4 , comprising at least one of attribute information and action information of said user.
前記ユーザと類似する他のユーザのユーザ情報をベクトル化したベクトルに基づいて前記補正ベクトルを生成すること
を特徴とする請求項1~5のいずれか1つに記載の情報処理装置。 The generating unit
The information processing apparatus according to any one of claims 1 to 5 , wherein the correction vector is generated based on a vector obtained by vectorizing user information of another user similar to the user.
複数の前記フィルタ条件それぞれに対応する複数のフィルタベクトルに変換し、
前記生成部は、
前記複数のフィルタベクトルに基づいて前記補正ベクトルを生成すること
を特徴とする請求項1~6のいずれか1つに記載の情報処理装置。 The conversion unit
converting into a plurality of filter vectors corresponding to each of the plurality of filter conditions;
The generating unit
The information processing apparatus according to any one of claims 1 to 6 , wherein the correction vector is generated based on the plurality of filter vectors.
ユーザが入力した検索クエリをクエリベクトルに、検索対象の検索範囲を指定するフィルタ条件をフィルタベクトルにそれぞれ変換する変換工程と、
前記フィルタベクトルに基づいて前記クエリベクトルを補正することで補正ベクトルを生成する生成工程と、
前記補正ベクトルに基づいて前記検索対象を検索する検索工程と、
を含み、
前記生成工程は、
前記フィルタベクトルおよび前記クエリベクトルを変数として含み、少なくとも前記フィルタベクトルに対応する前記変数に重みを乗算して足し合わせる関数の出力を補正ベクトルとして生成し、
前記重みは、
前記フィルタ条件と一致する前記検索対象の数に応じた値が設定されること
を特徴とする情報処理方法。 A computer-executed information processing method comprising:
a conversion step of converting a search query input by a user into a query vector and a filter condition specifying a search range to be searched into a filter vector;
a generation step of generating a correction vector by correcting the query vector based on the filter vector;
a search step of searching for the search target based on the correction vector ;
including
The generating step includes
generating, as a correction vector, the output of a function including the filter vector and the query vector as variables, and multiplying and summing the variables corresponding to at least the filter vectors by weights;
The weight is
A value is set according to the number of search targets that match the filter condition
An information processing method characterized by:
前記フィルタベクトルに基づいて前記クエリベクトルを補正することで補正ベクトルを生成する生成手順と、
前記補正ベクトルに基づいて前記検索対象を検索する検索手順と、
をコンピュータに実行させ、
前記生成手順は、
前記フィルタベクトルおよび前記クエリベクトルを変数として含み、少なくとも前記フィルタベクトルに対応する前記変数に重みを乗算して足し合わせる関数の出力を補正ベクトルとして生成し、
前記重みは、
前記フィルタ条件と一致する前記検索対象の数に応じた値が設定されること
を特徴とする情報処理プログラム。 a conversion procedure for converting a search query input by a user into a query vector and a filter condition specifying a search range to be searched into a filter vector;
a generation procedure for generating a correction vector by correcting the query vector based on the filter vector;
a search procedure for searching for the search target based on the correction vector ;
on the computer, and
The generating procedure includes:
generating, as a correction vector, the output of a function including the filter vector and the query vector as variables, and multiplying and summing the variables corresponding to at least the filter vectors by weights;
The weight is
A value is set according to the number of search targets that match the filter condition
An information processing program characterized by
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021119998A JP7161002B1 (en) | 2021-07-20 | 2021-07-20 | Information processing device, information processing method and information processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021119998A JP7161002B1 (en) | 2021-07-20 | 2021-07-20 | Information processing device, information processing method and information processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP7161002B1 true JP7161002B1 (en) | 2022-10-25 |
JP2023015914A JP2023015914A (en) | 2023-02-01 |
Family
ID=83742536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021119998A Active JP7161002B1 (en) | 2021-07-20 | 2021-07-20 | Information processing device, information processing method and information processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7161002B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003256466A (en) | 2002-03-04 | 2003-09-12 | Denso Corp | Adaptive information retrieval system |
JP2008123210A (en) | 2006-11-10 | 2008-05-29 | Fujitsu Ltd | Information retrieval device and information retrieval method |
US10891673B1 (en) | 2016-12-22 | 2021-01-12 | A9.Com, Inc. | Semantic modeling for search |
-
2021
- 2021-07-20 JP JP2021119998A patent/JP7161002B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003256466A (en) | 2002-03-04 | 2003-09-12 | Denso Corp | Adaptive information retrieval system |
JP2008123210A (en) | 2006-11-10 | 2008-05-29 | Fujitsu Ltd | Information retrieval device and information retrieval method |
US10891673B1 (en) | 2016-12-22 | 2021-01-12 | A9.Com, Inc. | Semantic modeling for search |
Also Published As
Publication number | Publication date |
---|---|
JP2023015914A (en) | 2023-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5755823B1 (en) | Similarity calculation system, similarity calculation method, and program | |
JP2002288219A (en) | Information search system and method | |
JP6767342B2 (en) | Search device, search method and search program | |
JP5794036B2 (en) | Image search apparatus, image search method, and program | |
US9940552B1 (en) | Sublinear time classification via feature padding and hashing | |
CN111078842A (en) | Method, device, server and storage medium for determining query result | |
JP7354014B2 (en) | Information processing device, information processing method, and information processing program | |
JP2018101225A (en) | Generating apparatus, generating method, and generating program | |
JP7161002B1 (en) | Information processing device, information processing method and information processing program | |
JP7212728B1 (en) | Information processing device, information processing method and information processing program | |
JP6997656B2 (en) | Search device, search method and search program | |
JP7077464B1 (en) | Information processing equipment, information processing methods and information processing programs | |
JP6310529B1 (en) | SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM | |
JP6756648B2 (en) | Generator, generation method and generation program | |
CN113901278A (en) | Data search method and device based on global multi-detection and adaptive termination | |
JP6852114B2 (en) | Specific device, specific method and specific program | |
JP7071213B2 (en) | Information processing equipment, information processing methods, and information processing programs | |
JP2017167986A (en) | Determination device and determination method | |
JP6974222B2 (en) | Search device, search method and search program | |
JP7091055B2 (en) | Search device, search method and search program | |
JP7044677B2 (en) | Judgment device, judgment method and judgment program | |
JP7088665B2 (en) | Search device, search method and search program | |
JP7044729B2 (en) | Information processing equipment, information processing methods and information processing programs | |
JP7119154B2 (en) | Information processing device, information processing method, and information processing program | |
JP2019149102A (en) | Information processing device, keyword extractor, information processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220120 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20220120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220419 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220620 |
|
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: 20220913 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221013 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7161002 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |