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
JP7208955B2 - Information processing device, information processing method, information processing program, information retrieval device, information retrieval method, and information retrieval program - Google Patents
[go: Go Back, main page]

JP7208955B2 - Information processing device, information processing method, information processing program, information retrieval device, information retrieval method, and information retrieval program - Google Patents

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

Info

Publication number
JP7208955B2
JP7208955B2 JP2020133955A JP2020133955A JP7208955B2 JP 7208955 B2 JP7208955 B2 JP 7208955B2 JP 2020133955 A JP2020133955 A JP 2020133955A JP 2020133955 A JP2020133955 A JP 2020133955A JP 7208955 B2 JP7208955 B2 JP 7208955B2
Authority
JP
Japan
Prior art keywords
search
value
information processing
information
approximate
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
JP2020133955A
Other languages
Japanese (ja)
Other versions
JP2022030165A (en
Inventor
雅二郎 岩崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2020133955A priority Critical patent/JP7208955B2/en
Publication of JP2022030165A publication Critical patent/JP2022030165A/en
Application granted granted Critical
Publication of JP7208955B2 publication Critical patent/JP7208955B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

特許法第30条第2項適用 公開日 令和2年3月25日 令和2年8月7日時点における本願に関連するソフトウェアを公開するページ https://github.com/yahoojapan/NGT/releases/tag/v1.10.0Application of Patent Law Article 30, Paragraph 2 Publication date March 25, 2020 Page that publishes software related to this application as of August 7, 2020 https://github. com/yahoojapan/NGT/releases/tag/v1.10.0

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

従来、様々なインデックスを用いて近似検索を行う技術が提供されている。例えば、有向エッジや無向エッジによってノード間が接続されたグラフインデックスを用いて近似検索を行う技術が提供されている。このような近似検索の技術は、例えば画像検索等に用いられる。 Conventionally, techniques for performing approximate searches using various indexes have been provided. For example, there is provided a technique for performing approximate search using a graph index in which nodes are connected by directed edges and undirected edges. Such approximate retrieval techniques are used, for example, in image retrieval.

特開2011-090351号公報JP 2011-090351 A 特許第5208001号公報Japanese Patent No. 5208001 特許第6293335号公報Japanese Patent No. 6293335

しかしながら、上記の従来技術では、適切なパラメータの値を用いた近似検索を行うことが難しい場合がある。例えば、近似検索を行うユーザには通常、所望の検索精度や検索時間等について要求する基準(評価指標)がある。そのため、ユーザが所望する評価指標を満たす近似検索を行うために、パラメータを調整して評価指標を測定する等の試行錯誤を繰り返して、所望の検索精度や検索時間となるパラメータを求めなければならない。このように、ユーザが所望する評価指標を満たすためのパラメータをユーザ自身が求めるにはコストが大きく、また試行錯誤のやり方によっては適切なパラメータが求まらない可能性がある。 However, with the above-described conventional techniques, it may be difficult to perform an approximate search using appropriate parameter values. For example, a user who performs an approximate search usually has standards (evaluation indices) that require desired search accuracy, search time, and the like. Therefore, in order to perform an approximate search that satisfies the user's desired evaluation index, it is necessary to repeat trial and error, such as adjusting the parameters and measuring the evaluation index, to obtain the parameters that provide the desired search accuracy and search time. . As described above, it is very costly for the user to obtain the parameters for satisfying the evaluation index desired by the user, and there is a possibility that appropriate parameters cannot be obtained depending on the method of trial and error.

本願は、上記に鑑みてなされたものであって、適切なパラメータの値を用いた近似検索を可能にする情報処理装置、情報処理方法、情報処理プログラム、情報検索装置、情報検索方法、及び情報検索プログラムを提供することを目的とする。 The present application has been made in view of the above, and provides an information processing device, an information processing method, an information processing program, an information search device, an information search method, and information that enable approximate search using appropriate parameter values. The purpose is to provide a search program.

本願に係る情報処理装置は、複数のオブジェクトを検索対象とするインデックスを用いた近似検索の評価指標の値を指定する指定値と、前記評価指標の値に対応する前記近似検索で用いるパラメータの値を示す変換用情報とを取得する取得部と、前記取得部により取得された前記変換用情報に基づいて、前記評価指標の前記指定値を前記近似検索で用いる前記パラメータの値に変換する変換部と、を備えたことを特徴とする。 An information processing apparatus according to the present application includes a designated value for designating an evaluation index value for approximate search using an index for searching a plurality of objects, and a parameter value used in the approximate search corresponding to the evaluation index value. and a conversion unit for converting the specified value of the evaluation index into the value of the parameter used in the approximate search based on the conversion information acquired by the acquisition unit. and

実施形態の一態様によれば、適切なパラメータの値を用いた近似検索を可能にすることができるという効果を奏する。 According to one aspect of the embodiment, there is an effect that it is possible to perform an approximate search using appropriate parameter values.

図1は、実施形態に係る情報処理の一例を示す図である。FIG. 1 is a diagram illustrating an example of information processing according to an embodiment. 図2は、実施形態に係る情報処理の一例を示す図である。FIG. 2 is a diagram illustrating an example of information processing according to the embodiment; 図3は、ツリーインデックスの一例を示す図である。FIG. 3 is a diagram showing an example of a tree index. 図4は、実施形態に係る情報処理システムの構成例を示す図である。FIG. 4 is a diagram illustrating a configuration example of an information processing system according to the embodiment; 図5は、実施形態に係る情報処理装置の構成例を示す図である。FIG. 5 is a diagram illustrating a configuration example of an information processing apparatus according to the embodiment; 図6は、実施形態に係るオブジェクト情報記憶部の一例を示す図である。6 is a diagram illustrating an example of an object information storage unit according to the embodiment; FIG. 図7は、実施形態に係るツリー情報記憶部の一例を示す図である。7 is a diagram illustrating an example of a tree information storage unit according to the embodiment; FIG. 図8は、実施形態に係るグラフ情報記憶部の一例を示す図である。8 is a diagram illustrating an example of a graph information storage unit according to the embodiment; FIG. 図9は、実施形態に係る近似正解検索結果情報記憶部の一例を示す図である。9 is a diagram illustrating an example of an approximate correct search result information storage unit according to the embodiment; FIG. 図10は、実施形態に係る変換用情報記憶部の一例を示す図である。10 is a diagram illustrating an example of a conversion information storage unit according to the embodiment; FIG. 図11は、実施形態に係る情報処理の一例を示すフローチャートである。FIG. 11 is a flowchart illustrating an example of information processing according to the embodiment; 図12は、実施形態に係る情報処理の一例を示すフローチャートである。FIG. 12 is a flowchart illustrating an example of information processing according to the embodiment; 図13は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。FIG. 13 is a hardware configuration diagram showing an example of a computer that implements the functions of the information processing apparatus.

以下に、本願に係る情報処理装置、情報処理方法、情報処理プログラム、情報検索装置、情報検索方法、及び情報検索プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法、情報処理プログラム、情報検索装置、情報検索方法、及び情報検索プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。 Embodiments for implementing the information processing device, information processing method, information processing program, information retrieval device, information retrieval method, and information retrieval program according to the present application (hereinafter referred to as "embodiments") are described below with reference to the drawings. will be described in detail. The information processing apparatus, information processing method, information processing program, information search apparatus, information search method, and information search program according to the present application are not limited to the embodiments. Also, in each of the following embodiments, the same parts are denoted by the same reference numerals, and overlapping descriptions are omitted.

(実施形態)
〔1.情報処理〕
以下では、図1及び図2を用いて、情報処理装置100が実行する情報処理について説明する。なお、以下では、グラフインデックス(単に「グラフ」ともいう)を用いた近似検索を、インデックスを用いた近似検索の一例として説明するが、インデックスを用いた近似検索は、インデックスを用いた近似検索であれば、どのような近似検索であってもよい。例えば、インデックスを用いた近似検索(単に「近似検索」ともいう)は、直積量子化を利用した近似検索、ハッシュを利用した近似検索、木構造のインデックス(「ツリーインデックス」ともいう)を用いた近似検索等であってもよい。すなわち、近似検索に用いるインデックスは、グラフに限らず、ツリーインデックス、コードブック等の直積量子化を利用した近似検索で用いるインデックス、ハッシュテーブル等のハッシュを利用した近似検索で用いるインデックス等であってもよい。
(embodiment)
[1. information processing]
Information processing executed by the information processing apparatus 100 will be described below with reference to FIGS. 1 and 2 . In the following, an approximate search using a graph index (also simply referred to as a "graph") will be described as an example of an approximate search using an index. Any approximate search may be used. For example, approximate search using an index (simply referred to as "approximate search") includes approximate search using Cartesian product quantization, approximate search using hash, and tree structure index (also referred to as "tree index"). It may be an approximate search or the like. That is, the index used for approximate search is not limited to graphs, but may be tree indexes, indexes used for approximate search using direct product quantization such as codebooks, or indexes used for approximate search using hash such as hash tables. good too.

例えば、近似検索とは、検索漏れが生じ得る検索であり、正しい検索結果を近似する検索である。近似検索は、検索クエリ(単に「クエリ」ともいう)に対して、検索対象となる複数のオブジェクトから、そのクエリに近いオブジェクトを検索し、検索漏れが生じ得る近似近傍検索を含む概念である。以下では、クエリとして用いる検索対象オブジェクトに対して、検索対象となる複数のオブジェクトから、その検索対象オブジェクトのベクトルに類似するベクトルのオブジェクトを検索する近似近傍検索を近似検索の一例として示す。 For example, an approximate search is a search that can cause search omissions, and is a search that approximates correct search results. Approximate search is a concept including approximate neighborhood search in which, for a search query (also simply referred to as “query”), objects close to the query are searched from multiple objects to be searched, and search omissions may occur. In the following, an approximate neighborhood search for retrieving an object having a vector similar to the vector of the search target object from a plurality of search target objects for a search target object used as a query is shown as an example of approximate search.

また、詳細は後述するが再現率を、インデックスを用いた近似検索の検索精度の一例として説明するが、検索精度は再現率に限らず、検索処理の精度が示すものであればどのような指標であってもよい。なお、評価指標は、検索精度に限らず、検索時間や距離計算回数やノードのアクセス数等、種々の指標が用いられてもよい。また、以下では、検索範囲係数を、近似検索で用いるパラメータの一例として説明するが、パラメータは検索範囲係数に限らず、近似検索で用いるパラメータであれば、グラフの検索時に参照するエッジ数(参照エッジ数)等の様々なパラメータであってもよい。なお、検索範囲係数の詳細については後述する。 In addition, although the details will be described later, the recall rate will be described as an example of the search accuracy of approximate search using an index, but the search accuracy is not limited to the recall rate. may be Note that the evaluation index is not limited to search accuracy, and various indices such as search time, number of distance calculations, number of node accesses, and the like may be used. In the following, the search range coefficient will be described as an example of a parameter used in approximate search, but the parameter is not limited to the search range coefficient. number of edges). Details of the search range coefficient will be described later.

また、以下では、検索精度と検索範囲係数との対応関係を示すルックアップテーブルを、評価指標の値に対応する近似検索で用いるパラメータの値を示す情報(「変換用情報」ともいう)の一例として示す。なお、変換用情報は、評価指標の値をパラメータの値に変換することができれば、ルックアップテーブルに限らず、評価指標の値を入力として、パラメータの値を出力する関数(近似関数)等の様々な情報であってもよい。 In the following, an example of information (also referred to as "conversion information") indicating parameter values used in approximate search corresponding to evaluation index values is shown in a lookup table that indicates the correspondence relationship between search accuracy and search range coefficient. shown as The conversion information is not limited to a lookup table, as long as the value of the evaluation index can be converted to the value of the parameter. It may be various information.

〔2-1.生成処理〕
ここから、図1を用いて、変換用情報の一例であるルックアップテーブルを生成する処理(「生成処理」ともいう)について説明する。図1は、実施形態に係る情報処理の一例を示す図である。
[2-1. Generation process]
From now on, the process of generating a lookup table, which is an example of conversion information (also referred to as "generation process"), will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of information processing according to an embodiment.

図1の例では、情報処理装置100は、オブジェクトOB1、OB2、OB3、OB101等の複数のオブジェクトを含むデータセットDS1を用いて、検索精度の値を検索範囲係数の値に変換するルックアップテーブルTB1(図2参照)を生成する。データセットDS1中の各オブジェクトは、ベクトル化され、ベクトル化されたオブジェクト(ベクトル情報)を対象として、後述する検索処理などの各種処理を行う。なお、データセットDS1に含まれ検索対象となる情報(オブジェクト)は、ベクトルとして表現可能であれば、どのような情報であってもよい。なお、以下では、画像情報(単に「画像」ともいう)を対象としたベクトル情報について説明するが、ベクトル情報の対象は、動画情報や音声情報等の他の対象であってもよい。 In the example of FIG. 1, the information processing apparatus 100 uses a data set DS1 that includes a plurality of objects such as objects OB1, OB2, OB3, and OB101, and uses a lookup table that converts search accuracy values into search range coefficient values. Generate TB1 (see FIG. 2). Each object in the data set DS1 is vectorized, and various processes such as a search process, which will be described later, are performed on the vectorized object (vector information). The information (object) contained in the data set DS1 to be searched may be any information as long as it can be expressed as a vector. In the following description, vector information for image information (also simply referred to as "image") will be described, but vector information may be for other objects such as moving image information and audio information.

また、情報処理装置100が用いる情報は、ベクトルに限らず、各対象の類似性を表現可能な情報であれば、どのような形式の情報であってもよい。例えば、情報処理装置100は、各対象に対応する所定のデータや値を用いて対象をグラフ構造化したグラフ情報を用いてもよい。例えば、情報処理装置100は、各対象から生成された所定の数値(例えば2進数の値や16進数の値)を用いて対象をグラフ構造化したグラフ情報を用いてもよい。例えば、ベクトルに代えて、データ間の距離(類似度)が定義されていれば任意の形態のデータであっても良い。例えば、情報処理装置100は、オブジェクト情報記憶部121(図6参照)からデータセットDS1を取得する。 Further, the information used by the information processing apparatus 100 is not limited to vectors, and may be information of any format as long as it is information that can express the similarity of each target. For example, the information processing apparatus 100 may use graph information in which objects are graph-structured using predetermined data and values corresponding to each object. For example, the information processing apparatus 100 may use graph information in which an object is graph-structured using a predetermined numerical value (for example, a binary value or a hexadecimal value) generated from each object. For example, instead of vectors, any form of data may be used as long as the distance (similarity) between data is defined. For example, the information processing device 100 acquires the data set DS1 from the object information storage unit 121 (see FIG. 6).

まず、情報処理装置100は、評価用クエリを決定する(ステップS1)。情報処理装置100は、与えられたデータセットからクエリオブジェクトセットを生成する。情報処理装置100は、データセットからランダムに選択したオブジェクト、または、ランダムに選択した二つ以上のオブジェクトの平均値を、クエリオブジェクト(評価用クエリ)に決定する。これにより、情報処理装置100は、データセットに含まれないオブジェクトを評価用クエリとすることができる。 First, the information processing apparatus 100 determines an evaluation query (step S1). The information processing device 100 generates a query object set from a given data set. The information processing apparatus 100 determines an object randomly selected from a data set or an average value of two or more randomly selected objects as a query object (evaluation query). Thereby, the information processing apparatus 100 can set an object not included in the data set as an evaluation query.

図1の例では、情報処理装置100は、データセットDS1から評価用クエリの生成に用いるオブジェクトを選択する。例えば、情報処理装置100は、データセットDS1からランダムに二つ以上の所定数のオブジェクトを評価用オブジェクトとして選択する。情報処理装置100は、データセットDS1からオブジェクトOB500とオブジェクトOB1000との2つのオブジェクトを評価用オブジェクトとして選択する。そして、情報処理装置100は、オブジェクトOB500とオブジェクトOB1000との平均である「7,35,13,93...」の多次元のベクトル情報を生成する。このように、図1の例では、情報処理装置100は、評価用クエリRQ1に示すように、オブジェクトOB500とオブジェクトOB1000とに基づいて、クエリQE1を生成する。これにより、情報処理装置100は、「7,35,13,93...」の多次元のベクトル情報であるクエリQE1を評価用クエリに決定する。 In the example of FIG. 1, the information processing apparatus 100 selects an object to be used for generating an evaluation query from the data set DS1. For example, the information processing apparatus 100 randomly selects a predetermined number of two or more objects as evaluation objects from the data set DS1. The information processing apparatus 100 selects two objects, an object OB500 and an object OB1000, from the data set DS1 as evaluation objects. Then, the information processing apparatus 100 generates multidimensional vector information of "7, 35, 13, 93..." which is the average of the object OB500 and the object OB1000. Thus, in the example of FIG. 1, the information processing apparatus 100 generates the query QE1 based on the object OB500 and the object OB1000, as shown in the evaluation query RQ1. As a result, the information processing apparatus 100 determines the query QE1, which is multidimensional vector information of “7, 35, 13, 93, . . . ”, as an evaluation query.

なお、上記は一例であり、情報処理装置100は、種々の情報を適宜用いて、評価用クエリを決定してもよい。情報処理装置100は、近傍の複数点の平均を評価用クエリとしてもよい。情報処理装置100は、二つより多い、例えば三つのオブジェクトの平均値を、クエリオブジェクト(評価用クエリ)に決定してもよい。平均値を求める複数のオブジェクトは、ランダムに選択した一つのオブジェクトと、そのオブジェクトに対して距離が近いオブジェクトを一つ以上選択したオブジェクトとしてもよい。 Note that the above is just an example, and the information processing apparatus 100 may determine an evaluation query using various types of information as appropriate. The information processing apparatus 100 may use the average of a plurality of nearby points as the evaluation query. The information processing apparatus 100 may determine the average value of more than two objects, for example three objects, as the query object (evaluation query). The plurality of objects for which the average value is to be obtained may be one randomly selected object and one or more selected objects close to the object.

また、情報処理装置100は、データセットDS1から選択した1つのオブジェクト(選択オブジェクト)と、その選択オブジェクト以外のオブジェクトとを用いて、クエリオブジェクト(評価用クエリ)を生成してもよい。生成済みのグラフがある場合、情報処理装置100は、選択オブジェクトに対応するノード(選択ノード)と、その選択ノードからのエッジが接続されたノードに対応するオブジェクトとを用いて、評価用クエリを生成してもよい。例えば、情報処理装置100は、選択オブジェクトに対応するノード(選択ノード)と、その選択ノードからのエッジが接続されたノードに対応するオブジェクト(接続オブジェクト)とを用いて、評価用クエリを生成してもよい。例えば、情報処理装置100は、選択オブジェクトと、接続オブジェクトのうち最も近いオブジェクトとの平均値を、評価用クエリに決定してもよい。例えば、情報処理装置100は、選択オブジェクトと、接続オブジェクトのうち最も遠いオブジェクトとの平均値を、評価用クエリに決定してもよい。例えば、情報処理装置100は、選択オブジェクトと、全接続オブジェクトとの平均値を、評価用クエリに決定してもよい。なお、情報処理装置100は、選択オブジェクトをランダムに選択してもよいし、所定の基準を基に選択してもよい。 The information processing apparatus 100 may also generate a query object (evaluation query) using one object (selected object) selected from the data set DS1 and objects other than the selected object. When there is a generated graph, the information processing apparatus 100 uses a node (selection node) corresponding to a selected object and an object corresponding to a node to which an edge from the selected node is connected to generate an evaluation query. may be generated. For example, the information processing apparatus 100 generates an evaluation query using a node (selection node) corresponding to a selection object and an object (connection object) corresponding to a node to which an edge from the selection node is connected. may For example, the information processing apparatus 100 may determine the average value of the selected object and the closest object among the connection objects as the evaluation query. For example, the information processing apparatus 100 may determine the average value of the selected object and the farthest object among the connected objects as the evaluation query. For example, the information processing apparatus 100 may determine the average value of the selected object and all connected objects as the evaluation query. Note that the information processing apparatus 100 may select the selection object at random, or may select it based on a predetermined criterion.

また、例えば、情報処理装置100は、後述するグラフ生成にデータセットのうち一部のオブジェクトが用いられる場合、データセットのうちグラフに含まれないオブジェクトを評価用クエリとして用いてもよい。情報処理装置100は、グラフ(インデックス)に登録しないオブジェクトを用意して評価用クエリとして用いてもよい。情報処理装置100は、生成したグラフから、一部のオブジェクトに対応するノードを削除して、削除したノードに対応するオブジェクトを評価用クエリとして用いてもよい。また、各次元ごとに、そのデータ分布に従ったランダムデータを生成した上で、ベクトルを生成しても良い。 Further, for example, when some objects in the data set are used for graph generation, which will be described later, the information processing apparatus 100 may use objects in the data set that are not included in the graph as the evaluation query. The information processing apparatus 100 may prepare an object that is not registered in the graph (index) and use it as an evaluation query. The information processing apparatus 100 may delete nodes corresponding to some objects from the generated graph and use the objects corresponding to the deleted nodes as the evaluation query. Alternatively, a vector may be generated after generating random data according to the data distribution for each dimension.

そして、情報処理装置100は、グラフを生成する(ステップS2)。情報処理装置100は、与えられたデータセットのすべて、または、一部のデータに対してグラフを作成する。例えば、情報処理装置100は、データセットDS1中の全オブジェクトを用いて、グラフを生成してもよいし、データセットDS1のうち一部のオブジェクトを用いて、グラフを生成してもよい。上述したように、情報処理装置100は、データセットDS1のうち、評価用オブジェクトとして用いるオブジェクトを除く、オブジェクト群を用いて、グラフを生成してもよい。情報処理装置100は、評価用オブジェクトとして用いるデータセットDS1のうち、オブジェクトOB500とオブジェクトOB1000を除いたオブジェクト群を用いて、グラフを生成してもよい。 The information processing device 100 then generates a graph (step S2). The information processing apparatus 100 creates a graph for all or part of the given data set. For example, the information processing apparatus 100 may generate a graph using all objects in the data set DS1, or may generate a graph using some objects in the data set DS1. As described above, the information processing apparatus 100 may generate a graph using a group of objects in the data set DS1 excluding objects used as evaluation objects. The information processing apparatus 100 may generate a graph using an object group excluding the object OB500 and the object OB1000 in the data set DS1 used as the object for evaluation.

図1の例では、情報処理装置100は、データセットDS1中の全オブジェクトを用いて、グラフGR11を生成する。情報処理装置100は、グラフ生成に関する種々の技術を適宜用いて、グラフGR11を生成する。ここで、グラフGR11について説明する。図1に示すグラフGR11は、データセットDS1に含まれる各オブジェクトに対応するノードが有向エッジで連結されたグラフ情報を示す。なお、図1中のグラフGR11に示すようなグラフ情報は、情報処理装置100が生成する場合に限らず、情報処理装置100は、図1中のグラフGR11に示すようなグラフ情報を情報提供装置50(図4参照)等の他の外部装置から取得してもよい。 In the example of FIG. 1, the information processing apparatus 100 uses all objects in the data set DS1 to generate the graph GR11. The information processing apparatus 100 appropriately uses various techniques related to graph generation to generate the graph GR11. Here, graph GR11 will be described. A graph GR11 shown in FIG. 1 represents graph information in which nodes corresponding to objects included in the data set DS1 are connected by directed edges. Graph information such as graph GR11 in FIG. 1 is not limited to the case where information processing apparatus 100 generates graph information, and information processing apparatus 100 generates graph information such as graph GR11 in FIG. 50 (see FIG. 4) or other external device.

また、ここでいう、有向エッジとは、一方向にしかデータを辿れないエッジを意味する。以下では、エッジにより辿る元、すなわち始点となるノードを参照元とし、エッジにより辿る先、すなわち終点となるノードを参照先とする。例えば、所定のノード「A」から所定のノード「B」に連結される有向エッジとは、参照元をノード「A」とし、参照先をノード「B」とするエッジであることを示す。なお、各ノードを連結するエッジは、有向エッジに限らず、種々のエッジであってもよい。例えば、各ノードを連結するエッジは、ノードを連結する方向のないエッジであってもよい。例えば、各ノードを連結するエッジは、相互に参照可能なエッジであってもよい。例えば、各ノードを連結するエッジは、全て無向エッジ(双方向エッジ)であってもよい。 Also, the term "directed edge" used herein means an edge that allows data to be traced in only one direction. In the following description, the source traced by the edge, that is, the node that is the starting point, is the reference source, and the destination that is traced by the edge, that is, the node that is the end point, is the reference destination. For example, a directed edge connecting a predetermined node "A" to a predetermined node "B" indicates an edge having a reference source of node "A" and a reference destination of node "B". Edges connecting nodes are not limited to directed edges, and may be various edges. For example, the edge connecting each node may be a directionless edge connecting the nodes. For example, the edges connecting each node may be mutually referable edges. For example, all edges connecting nodes may be undirected edges (bidirectional edges).

例えば、このようにノード「A」を参照元とするエッジをノード「A」の出力エッジという。また、例えば、このようにノード「B」を参照先とするエッジをノード「B」の入力エッジという。すなわち、ここでいう出力エッジ及び入力エッジとは、一の有向エッジをその有向エッジが連結する2個のノードのうち、いずれのノードを中心として捉えるかの相違であり、一の有向エッジが出力エッジ及び入力エッジになる。すなわち、出力エッジ及び入力エッジは、相対的な概念であって、一の有向エッジについて、参照元となるノードを中心として捉えた場合に出力エッジとなり、参照先となるノードを中心として捉えた場合に入力エッジとなる。なお、本実施形態においては、エッジについては、出力エッジや入力エッジ等の有向エッジを対象とするため、以下では、有向エッジを単に「エッジ」と記載する場合がある。また、ここでいう、各ノードは、各オブジェクトに対応する。例えば、画像から抽出された複数の局所特徴量のそれぞれがオブジェクトであってもよい。また、例えば、オブジェクト間の距離が定義された種々のデータがオブジェクトであってもよい。 For example, an edge having node "A" as a reference in this way is called an output edge of node "A". Further, for example, an edge having the node "B" as a reference in this way is referred to as an input edge of the node "B". In other words, the term "output edge" and "input edge" as used herein refers to the difference in which of the two nodes to which one directed edge connects is regarded as the center. An edge becomes an outgoing edge and an incoming edge. In other words, an output edge and an input edge are relative concepts. For one directed edge, it is an output edge when the reference node is regarded as the center, and the reference node is regarded as the center. is an input edge. Note that, in the present embodiment, directed edges such as output edges and input edges are targeted for edges, and therefore directed edges may be simply referred to as "edges" below. Also, each node here corresponds to each object. For example, each of the multiple local features extracted from the image may be an object. Also, for example, various data in which distances between objects are defined may be objects.

また、図1中のグラフGR11には、データセットDS1中の多数のオブジェクト(ノード)が含まれるが、図面においてはその一部のみを図示する。例えば、情報処理装置100は、図1中のグラフGR11に示すように、ノードN1~N3、N43、N53等の複数のノード(ベクトル)を含むグラフ情報を生成する。図1の例では、説明を簡単にするために、5個のノードを図示して処理の概要を説明するが、グラフGR11にはデータセットDS1中のオブジェクト数に対応する数のノードが含まれる。 Graph GR11 in FIG. 1 includes a large number of objects (nodes) in data set DS1, but only some of them are illustrated in the drawing. For example, the information processing apparatus 100 generates graph information including a plurality of nodes (vectors) such as nodes N1 to N3, N43, and N53, as indicated by graph GR11 in FIG. In the example of FIG. 1, to simplify the explanation, five nodes are illustrated to explain the outline of the processing, but the graph GR11 includes the number of nodes corresponding to the number of objects in the data set DS1. .

図1の例では、例えば、情報処理装置100は、各オブジェクトに対応する各ノードから所定数以上の出力エッジが他のエッジに連結されるように、グラフGR11を生成する。情報処理装置100は、グラフGR11における各ノードが、そのノードとの間の距離が近い方から所定数のノードへのエッジ(出力エッジ)が連結されるようにグラフGR11を生成する。例えば、所定数は、オブジェクトの数またはグラフの目的や用途等に応じて、2や5や10や100等の種々の値であってもよい。例えば、所定数が2である場合、ノードN1からは、ノードN1からの距離が最も近いノード及び2番目に距離が近い2個のノードに出力エッジが連結される。なお、類似度を示す指標としての距離は、ベクトル(N次元ベクトル)間の距離として適用可能であれば、どのような距離であってもよく、例えば、ユークリッド距離やマハラノビス距離等の種々の距離が用いられてもよい。例えば、距離は、2つのオブジェクト間の類似度を反映するものであれば、どのような情報であってもよく、例えばコサイン類似度等の角度に関する情報であってもよい。 In the example of FIG. 1, for example, the information processing apparatus 100 generates the graph GR11 such that a predetermined number or more of output edges from each node corresponding to each object are connected to other edges. The information processing apparatus 100 generates the graph GR11 such that each node in the graph GR11 is connected to a predetermined number of edges (output edges) from the closest node to the node. For example, the predetermined number may be various values such as 2, 5, 10, 100, etc., depending on the number of objects or the purpose and application of the graph. For example, if the predetermined number is 2, output edges from the node N1 are connected to the closest node and the second closest two nodes from the node N1. Note that the distance as an index indicating similarity may be any distance as long as it is applicable as the distance between vectors (N-dimensional vectors). For example, various distances such as Euclidean distance and Mahalanobis distance may be used. For example, the distance may be any information that reflects the degree of similarity between two objects, such as angle information such as cosine similarity.

このように「ノードN*(*は任意の数値)」と記載した場合、そのノードはノードID「N*」により識別されるノードであることを示す。例えば、「ノードN1」と記載した場合、そのノードはノードID「N1」により識別されるノードである。 When "node N* (* is an arbitrary number)" is described in this way, it indicates that the node is identified by the node ID "N*". For example, when "node N1" is described, the node is identified by the node ID "N1".

また、図1中のグラフGR11では、ノードN1は、ノードN53へ向かう有向エッジであるエッジE2が連結される。すなわち、ノードN1は、ノードN53とエッジE2により連結される。このように「エッジE*(*は任意の数値)」と記載した場合、そのエッジはエッジID「E*」により識別されるエッジであることを示す。例えば、「エッジE31」と記載した場合、そのエッジはエッジID「E31」により識別されるエッジである。例えば、ノードN1を参照元とし、ノードN53を参照先として連結されるエッジE2により、ノードN1からノードN53に辿ることが可能となる。この場合、有向エッジであるエッジE2は、ノードN1を中心として識別される場合、出力エッジとなり、ノードN53を中心として識別される場合、入力エッジとなる。 In graph GR11 in FIG. 1, node N1 is connected to edge E2, which is a directed edge toward node N53. That is, node N1 is connected to node N53 by edge E2. When "edge E* (* is an arbitrary numerical value)" is described in this way, it indicates that the edge is identified by the edge ID "E*". For example, when "edge E31" is described, the edge is identified by the edge ID "E31". For example, it is possible to trace from the node N1 to the node N53 by the edge E2 connecting the node N1 as the reference source and the node N53 as the reference destination. In this case, edge E2, which is a directed edge, is an output edge when identified centering on node N1, and an input edge when identified centering on node N53.

言い換えると、有向エッジであるエッジE2は、ノードN1側からの視点でとらえた場合、自身から他のエッジへ矢印が向いているエッジ、すなわち外向きエッジとなり、ノードN53側からの視点でとらえた場合、自身の方に矢印が向いているエッジ、すなわち内向きエッジとなる。つまり、ここでいう出力エッジは、外向きエッジと読み替えることができ、入力エッジは、内向きエッジと読み替えることができる。また、図1では図示を省略するが、ノードN53は、ノードN1へ向かう有向エッジ(エッジE531とする)が連結されてもよい。このように、ノードN53からの出力エッジであるエッジE531がノードN1に連結されてもよい。この場合、ノードN1とノードN53との間には、ノードN1からノードN53へ向かう有向エッジであるエッジE2と、ノードN53からノードN1へ向かう有向エッジであるエッジE531との2個のエッジが連結される。 In other words, edge E2, which is a directed edge, is an edge with an arrow pointing to another edge, that is, an outward edge when viewed from the node N1 side, and viewed from the node N53 side. , it is an edge with an arrow pointing toward it, that is, an inward edge. In other words, the output edge here can be read as an outward edge, and the input edge can be read as an inward edge. Although not shown in FIG. 1, the node N53 may be connected to a directed edge (referred to as edge E531) directed to the node N1. Thus, edge E531, which is an output edge from node N53, may be connected to node N1. In this case, there are two edges between the node N1 and the node N53: an edge E2 that is a directed edge from the node N1 to the node N53 and an edge E531 that is a directed edge from the node N53 to the node N1. are concatenated.

また、図1中のグラフGR11は、ユークリッド空間であってもよい。また、図1に示すグラフGR11は、各ベクトル間の距離等の説明のための概念的な図であり、グラフGR11は、多次元空間である。例えば、図1に示すグラフGR11は、平面上に図示するため2次元の態様にて図示されるが、例えば100次元や1000次元等の多次元空間であるものとする。なお、各ノードに対応するベクトルデータは、N次元の実数値ベクトルであってもよい。 Graph GR11 in FIG. 1 may be Euclidean space. Graph GR11 shown in FIG. 1 is a conceptual diagram for explaining distances between vectors, etc., and graph GR11 is a multidimensional space. For example, the graph GR11 shown in FIG. 1 is illustrated in a two-dimensional manner because it is illustrated on a plane, but it is assumed to be a multi-dimensional space such as 100-dimensional space or 1000-dimensional space. The vector data corresponding to each node may be an N-dimensional real-valued vector.

また、図1の例では、グラフGR11においては、適宜「ノードN*(*は任意の数値)」の図示を省略し、各ノードに対応する「○」内に「ノードN*」の「*」の値を付すことにより表現する。すなわち、「ノードN*」の部分の「*」が一致するノードに対応する。例えば、グラフGR11中の左上の「○」であって、内部に「43」が付された「○」は、ノードID「N43」により識別されるノード(ノードN43)に対応する。 In the example of FIG. 1, in the graph GR11, the illustration of "node N* (* is an arbitrary number)" is omitted as appropriate, and "* ” value. That is, "*" in "node N*" corresponds to a matching node. For example, the upper left "o" in the graph GR11 and "o" with "43" inside corresponds to the node (node N43) identified by the node ID "N43".

ここで、各ノード間の距離は、ノード(画像)の類似性を示し、距離が近いほど類似している。本実施形態においては、グラフGR11における各ノードの距離を対応する各オブジェクト間の類似度とする。例えば、各ノードに対応する画像の類似性が、グラフGR11内におけるノード間の距離として写像されているものとする。例えば、各ノードに対応する概念間の類似度が各ノード間の距離に写像されているものとする。ここで、図1の例では、グラフGR11における各ノード間の距離が短いオブジェクト同士の類似度が高く、グラフGR11における各ノード間の距離が長いオブジェクト同士の類似度が低い。 Here, the distance between each node indicates the similarity of the nodes (images), and the closer the distance, the more similar. In this embodiment, the distance of each node in the graph GR11 is used as the degree of similarity between corresponding objects. For example, it is assumed that the similarity of images corresponding to each node is mapped as the distance between nodes in graph GR11. For example, it is assumed that the similarity between concepts corresponding to each node is mapped to the distance between each node. Here, in the example of FIG. 1, the similarity between objects with short distances between nodes in the graph GR11 is high, and the similarity between objects with long distances between nodes in the graph GR11 is low.

例えば、図1中のグラフGR11において、ノードN43とノードN2とは近接している、すなわち距離が短い(近い)。そのため、ノードN43に対応するオブジェクトと、ノードN2に対応するオブジェクトとは類似度が高いことを示す。また、図1中のグラフGR11において、ノードN43とノードN53とは遠隔にある、すなわち距離が長い(遠い)。そのため、ノードN43に対応するオブジェクトと、ノードN53に対応するオブジェクトとは類似度が低いことを示す。なお、上記は一例であり、情報処理装置100は、種々の条件を用いて、グラフを生成してもよい。例えば、情報処理装置100は、各オブジェクトに対応する各ノードから所定の数以上の入力エッジが他のエッジから連結されるように、グラフGR11を生成してもよい。 For example, in graph GR11 in FIG. 1, node N43 and node N2 are close to each other, that is, the distance is short (close). Therefore, it indicates that the object corresponding to the node N43 and the object corresponding to the node N2 have a high degree of similarity. Also, in the graph GR11 in FIG. 1, the node N43 and the node N53 are remote, that is, the distance is long (far). Therefore, it indicates that the object corresponding to the node N43 and the object corresponding to the node N53 have a low degree of similarity. Note that the above is just an example, and the information processing apparatus 100 may generate graphs using various conditions. For example, the information processing apparatus 100 may generate the graph GR11 such that a predetermined number or more of input edges from each node corresponding to each object are connected from other edges.

そして、情報処理装置100は、近似正解検索結果を取得する(ステップS3)。情報処理装置100は、クエリQE1を対象とする近似正解検索結果を取得する。情報処理装置100は、クエリQE1を用いて、k個(kは任意の数)のノードを近似ノードとして抽出した結果を示す近似正解検索結果を取得する。情報処理装置100は、近似正解検索結果情報記憶部124(図9参照)からクエリQE1に対応する近似正解検索結果を取得する。 Then, the information processing device 100 acquires an approximate correct search result (step S3). The information processing apparatus 100 acquires approximate correct search results for the query QE1. The information processing apparatus 100 uses the query QE1 to acquire an approximate correct search result indicating a result of extracting k (k is an arbitrary number) nodes as approximate nodes. The information processing apparatus 100 acquires the approximate correct search result corresponding to the query QE1 from the approximate correct search result information storage unit 124 (see FIG. 9).

ここで、精確な正解検索結果を生成するには、すべてのオブジェクトとの距離を計算する必要があり、大規模なデータセットの場合には現実的な時間でできない。そのため、情報処理装置100が近似正解検索結果を生成する場合、評価用クエリに対して正解検索結果を得る代わりに、何らかの評価対象のインデックスを用いて近似検索結果を事前に取得する。例えば、情報処理装置100は、近似検索(近傍検索)に関する種々の技術を適宜用いて、クエリQE1に対応する近似正解検索結果を生成する。 Here, to generate an accurate correct search result, it is necessary to calculate the distances to all objects, which cannot be done in a realistic amount of time for large datasets. Therefore, when the information processing apparatus 100 generates approximate correct search results, instead of obtaining correct search results for evaluation queries, approximate search results are obtained in advance using some evaluation target index. For example, the information processing apparatus 100 appropriately uses various techniques related to approximate search (neighborhood search) to generate approximate correct search results corresponding to query QE1.

例えば、情報処理装置100は、図12に示すような処理により、クエリQE1に対応する近似正解検索結果を生成する。この場合、情報処理装置100は、後述する検索範囲係数「ε」の値を所定値以上大きくした値(「正解生成用値」とする)に設定して、図12に示すような(検索)処理をグラフGR11を用いて行うことにより、クエリQE1に対応する近似正解検索結果を生成する。これにより、情報処理装置100は、すべてのオブジェクトとの距離を計算して正解情報を生成する場合に比べて、処理時間を短くすることができる。なお、上記は一例であり、すべてのオブジェクトとの距離を計算して正解情報を生成するよりも短い処理時間で、近似正解検索結果を生成することができれば、情報処理装置100は、どのような処理により、近似正解検索結果を生成してもよい。 For example, the information processing apparatus 100 generates an approximate correct search result corresponding to the query QE1 through the process shown in FIG. In this case, the information processing apparatus 100 sets the value of the search range coefficient “ε” (to be described later) to a value greater than or equal to a predetermined value (referred to as “value for correct answer generation”), and performs a search as shown in FIG. By performing processing using the graph GR11, an approximate correct search result corresponding to the query QE1 is generated. Thereby, the information processing apparatus 100 can shorten the processing time compared to the case where the correct information is generated by calculating the distances to all the objects. Note that the above is just an example, and if the information processing apparatus 100 can generate approximate correct search results in a shorter processing time than calculating the distances to all objects and generating correct information, what kind of The processing may generate approximate correct search results.

ここで、検索範囲係数「ε」の概念について簡単に説明する。図1中のグラフGR11-1は、グラフGR11であり、「○」内に「Q」を記載したクエリQE1に対応する範囲AR1及び範囲AR2を図示するために、ノードのみを図示し、エッジの図示を省略したものである。情報処理装置100は、クエリQE1を中心とする半径r内の範囲AR1と、クエリQE1を中心とする半径r(1+ε)内の範囲AR2とを用いて、グラフGR11を検索し、近似ノードを抽出する。このように、情報処理装置100は、検索範囲係数「ε」を適用した処理により、近似ノードを抽出する処理を行うが、検索範囲係数「ε」を用いた処理の詳細は図12において説明する。 Here, the concept of the search range coefficient "ε" will be briefly explained. Graph GR11-1 in FIG. 1 is the graph GR11, and only the nodes are illustrated to illustrate the range AR1 and the range AR2 corresponding to the query QE1 in which "Q" is written in "○". Illustration is omitted. The information processing apparatus 100 searches the graph GR11 using a range AR1 centered on the query QE1 within a radius r and a range AR2 centered on the query QE1 within a radius r(1+ε) to extract approximate nodes. do. In this way, the information processing apparatus 100 performs processing for extracting approximate nodes by applying the search range coefficient “ε”. Details of the processing using the search range coefficient “ε” will be described with reference to FIG. 12 . .

上述した係数「ε」の正解生成用値の導出の点について記載する。まず、近似正解検索結果と正解データとして利用する場合、検索範囲係数「ε」を所定値以上に大きくした正解生成用値に設定することが望ましいが、検索範囲係数「ε」を大きくすると処理時間が増大する。そのため、十分な精度を得られ、かつ値ができる限り小さい検索範囲係数「ε」を求める必要がある。そこで、情報処理装置100は、検索範囲係数「ε」を徐々に大きくして、検索結果に新たなオブジェクトを出現しなくなった時点の検索範囲係数「ε」の値を、近似正解検索結果(正解データ)を得る際に用いる検索範囲係数「ε」の値とする。例えば、情報処理装置100は、検索範囲係数の値を第1値(例えば0や0.05等)から所定の間隔(例えば0.05や0.1等)で増加させ、近似検索の結果に新たなオブジェクトが出現しなくなった時点の第2値を、近似正解検索結果を生成する際の検索範囲係数の値として用いる。なお、検索範囲係数「ε」の正解生成用値の導出は、近似正解検索結果(正解データ)の生成前であればいずれの時点で行われてもよく、情報処理装置100以外の装置が行ってもよい。 The derivation of the correct answer generating value of the above-mentioned coefficient "ε" will be described. First, when using the approximate correct search result and the correct answer data, it is desirable to set the search range coefficient "ε" to a value for correct answer generation larger than a predetermined value. increases. Therefore, it is necessary to obtain a search range coefficient "ε" that can obtain sufficient accuracy and that has a value as small as possible. Therefore, the information processing apparatus 100 gradually increases the search range coefficient “ε”, and sets the value of the search range coefficient “ε” at the time when no new object appears in the search results to the approximate correct search result (correct answer). data) is the value of the search range coefficient “ε” used when obtaining the data. For example, the information processing apparatus 100 increases the value of the search range coefficient from the first value (for example, 0, 0.05, etc.) at a predetermined interval (for example, 0.05, 0.1, etc.), and the result of the approximate search is The second value when no new objects appear is used as the value of the search range coefficient when generating approximate correct search results. It should be noted that the derivation of the correct answer generation value of the search range coefficient "ε" may be performed at any time before the approximate correct search result (correct answer data) is generated, and is performed by an apparatus other than the information processing apparatus 100. may

図1の例では、情報処理装置100は、クエリQE1に対応する近似正解検索結果RR1を生成する。近似正解検索結果RR1に示すように、クエリQE1に対応する近似正解情報は、Noが「1」である、すなわち最も近傍のノードがオブジェクトOB101に対応するノードであることを示す。また、クエリQE1に対応する近似正解情報は、Noが「k」である、すなわち最も遠いノード(最遠オブジェクト)がオブジェクトOB55に対応するノードであることを示す。情報処理装置100は、近似正解検索結果RR1を用いて、後述する測定処理等の処理を行う。 In the example of FIG. 1, the information processing device 100 generates an approximate correct search result RR1 corresponding to the query QE1. As shown in the approximate correct search result RR1, the approximate correct answer information corresponding to the query QE1 has a No of "1", indicating that the closest node is the node corresponding to the object OB101. Also, the approximate correct answer information corresponding to query QE1 indicates that No is "k", that is, the farthest node (farthest object) is the node corresponding to object OB55. The information processing apparatus 100 uses the approximate correct search result RR1 to perform processing such as measurement processing, which will be described later.

そして、情報処理装置100は、パラメータの値を設定する(ステップS4)。情報処理装置100は、パラメータである検索範囲係数「ε」の値を初期値(例えば0や0.01等)に設定する。以下、設定されたパラメータの値を測定対象値とする場合がある。図1では、情報処理装置100は、検索範囲係数「ε」の測定対象値を「VL21」に設定する。 Then, the information processing device 100 sets the value of the parameter (step S4). The information processing apparatus 100 sets the value of the search range coefficient “ε”, which is a parameter, to an initial value (for example, 0 or 0.01). Hereinafter, the values of the set parameters may be used as measurement target values. In FIG. 1, the information processing apparatus 100 sets the measurement target value of the search range coefficient "ε" to "VL21".

そして、情報処理装置100は、設定したパラメータの値(測定対象値)を用いてグラフGR11の評価指標を測定する測定処理を行う(ステップS5)。これにより、情報処理装置100は、パラメータを測定対象値に設定した場合のグラフGR11の評価指標の値を得ることができる。図1の例では、情報処理装置100は、設定した検索範囲係数「ε」の値を用いてグラフGR11の再現率である検索精度を測定する測定処理を行う。 Then, the information processing apparatus 100 performs a measurement process of measuring the evaluation index of the graph GR11 using the set parameter value (measurement target value) (step S5). Thereby, the information processing apparatus 100 can obtain the value of the evaluation index of the graph GR11 when the parameter is set as the measurement target value. In the example of FIG. 1, the information processing apparatus 100 performs a measurement process of measuring the retrieval accuracy, which is the reproducibility of the graph GR11, using the set value of the retrieval range coefficient "ε".

ここでいう再現率は、「(正解検索結果の中で実際に検索された結果)/(正解検索結果)」で得られる。すなわち、再現率は、精度測定対象となる検索処理における「正解検索結果の中で実際に検索された結果」を、「正解検索結果」で除算することにより算出される。なお、検索範囲係数「ε」以外のパラメータについては、グラフGR11が用いられる際の設定値(デフォルト値)が用いられてもよい。例えば、参照エッジ数は、全エッジを対象とする値に設定されてもよいし、所定値に設定されてもよい。 The recall here is obtained by "(result actually searched among correct search results)/(correct search result)". That is, the recall rate is calculated by dividing the "results actually searched among the correct search results" in the search process whose accuracy is to be measured by the "correct search results". Note that parameters other than the search range coefficient “ε” may be set values (default values) when the graph GR11 is used. For example, the number of reference edges may be set to a value covering all edges, or may be set to a predetermined value.

情報処理装置100は、設定したパラメータの測定対象値を用いて、評価用クエリを対象として検索処理を行い、抽出した検索結果を用いて、再現率を検索精度として算出する。情報処理装置100は、その検索処理の時間を計測してもよい。具体的には、情報処理装置100は、図12に示す検索処理を行い、評価用クエリの近似ノードを取得する。そして、情報処理装置100は、検索処理により取得した近似ノードと、近似正解検索結果とを比較することで、設定した検索範囲係数「ε」の測定対象値での検索精度(再現率)の値を測定する。図1では、情報処理装置100は、検索範囲係数「ε」の値が「VL21」である場合、検索精度(再現率)の値が「VL11」である測定する。 The information processing apparatus 100 performs a search process on the evaluation query using the measurement target values of the set parameters, and calculates the recall rate as the search accuracy using the extracted search results. The information processing apparatus 100 may measure the time of the search processing. Specifically, the information processing apparatus 100 performs the search process shown in FIG. 12 to acquire approximate nodes of the evaluation query. Then, the information processing apparatus 100 compares the approximate node acquired by the search process with the approximate correct search result, thereby obtaining the value of the search accuracy (recall rate) for the set search range coefficient “ε” as the measurement target value. to measure. In FIG. 1, the information processing apparatus 100 measures the value of the search accuracy (recall rate) to be “VL11” when the value of the search range coefficient “ε” is “VL21”.

そして、情報処理装置100は、パラメータの値と評価指標の値とを対応付けて記憶する(ステップS6)。情報処理装置100は、ルックアップテーブルTB1-1に示すように、検索範囲係数「ε」の値「VL21」に、再現率である検索精度の値「VL11」を対応付けて記憶する。 Then, the information processing apparatus 100 associates and stores the parameter value and the evaluation index value (step S6). As shown in lookup table TB1-1, information processing apparatus 100 associates value "VL21" of search range coefficient "ε" with value "VL11" of search accuracy, which is a recall rate, and stores them.

また、情報処理装置100は、変換用情報の生成が完了したか否かを判定する(ステップS7)。例えば、情報処理装置100は、閾値(例えば10回や50回等)を用いて、測定処理を繰り返した回数がその閾値以上になった場合、変換情報を生成したと判定する。 The information processing apparatus 100 also determines whether or not the generation of conversion information has been completed (step S7). For example, the information processing apparatus 100 uses a threshold value (for example, 10 times or 50 times) and determines that conversion information has been generated when the number of times the measurement process is repeated is equal to or greater than the threshold value.

情報処理装置100は、変換用情報の生成が完了していないと判定した場合(ステップS7:No)、パラメータの値を変更する(ステップS8)。例えば、情報処理装置100は、パラメータの測定対象値を変更する。図1では、情報処理装置100は、検索範囲係数「ε」の測定対象値を所定値だけ増加させることにより、検索範囲係数「ε」の測定対象値を変更する。例えば、情報処理装置100は、検索範囲係数「ε」の測定対象値を「VL21」から「VL22」に変更する。そして、情報処理装置100は、ステップS5に戻り、変更した測定対象値を用いて処理を繰り返す。情報処理装置100は、変換用情報の生成が完了した場合(ステップS7:Yes)、処理を終了する。これにより、情報処理装置100は、検索精度と検索範囲係数との対応関係を示すルックアップテーブルTB1(図2参照)を生成する。このように、情報処理装置100は、検索時のパラメータとなる検索範囲係数「ε」の値を変化させて検索精度を求めてルックアップテーブルを作成する。 When the information processing apparatus 100 determines that the generation of the conversion information has not been completed (step S7: No), the information processing apparatus 100 changes the parameter value (step S8). For example, the information processing apparatus 100 changes the measurement target value of the parameter. In FIG. 1, the information processing apparatus 100 changes the measurement object value of the search range coefficient "ε" by increasing the measurement object value of the search range factor "ε" by a predetermined value. For example, the information processing apparatus 100 changes the measurement target value of the search range coefficient "ε" from "VL21" to "VL22". Then, the information processing apparatus 100 returns to step S5 and repeats the process using the changed measurement object value. The information processing apparatus 100 ends the process when the generation of the conversion information is completed (step S7: Yes). As a result, the information processing apparatus 100 generates a lookup table TB1 (see FIG. 2) showing the correspondence relationship between the search accuracy and the search range coefficient. In this way, the information processing apparatus 100 changes the value of the search range coefficient “ε”, which is a parameter for searching, to obtain search accuracy and creates a lookup table.

上述のように、情報処理装置100は、パラメータの値を変更して、評価指標を測定する処理を繰り返すことにより、評価指標の値に対応するパラメータの値を導出するための変更要情報を適切に生成することができる。なお、情報処理装置100が生成するルックアップテーブルは、図1に示すような1つの評価指標と1つのパラメータとのルックアップテーブル、すなわち2次元のルックアップテーブルに限らず、3次元等、2次元よりも大きい多次元のルックアップテーブルであってもよい。例えば、情報処理装置100は、評価指標「検索精度」の値を、第1パラメータ「検索範囲係数」の値及び第2パラメータ「参照エッジ数」や「検索数」の値の組合せに変換するために用いる3次元のルックアップテーブルを生成してもよい。このように、パラメータが二つの場合、情報処理装置100は、二つのパラメータを変化させて、検索精度を測定し3次元のルックアップテーブルを生成してもよい。なお、上記は一例であり、情報処理装置100は、種々の処理を行って、様々なルックアップテーブルを生成してもよい。 As described above, the information processing apparatus 100 changes the value of the parameter and repeats the process of measuring the evaluation index, so that the change-necessary information for deriving the value of the parameter corresponding to the value of the evaluation index can be obtained appropriately. can be generated to Note that the lookup table generated by the information processing apparatus 100 is not limited to a lookup table of one evaluation index and one parameter, that is, a two-dimensional lookup table as shown in FIG. It may be a multi-dimensional lookup table that is larger than the dimension. For example, the information processing apparatus 100 converts the value of the evaluation index “retrieval accuracy” into a combination of the value of the first parameter “retrieval range coefficient” and the values of the second parameters “reference edge count” and “retrieval count”. A three-dimensional lookup table may be generated for use in Thus, when there are two parameters, the information processing apparatus 100 may change the two parameters, measure the search accuracy, and generate a three-dimensional lookup table. Note that the above is an example, and the information processing apparatus 100 may perform various processes to generate various lookup tables.

〔2-2.検索処理〕
次に、図2を用いて、図1に示した生成処理により生成されたルックアップテーブルTB1を用いた検索処理について説明する。図2は、実施形態に係る情報処理の一例を示す図である。図2の例では、情報処理装置100が端末装置10から取得したクエリに応じて、端末装置10に検索結果を提供する場合を示す。例えば、情報処理装置100は、クエリに近似するk個(例えば5個等)のベクトルを検索(抽出)する画像検索サービスを提供する場合を一例として説明する。
[2-2. Search processing]
Search processing using the lookup table TB1 generated by the generation processing shown in FIG. 1 will now be described with reference to FIG. FIG. 2 is a diagram illustrating an example of information processing according to the embodiment; The example of FIG. 2 shows a case where the information processing device 100 provides search results to the terminal device 10 in response to a query acquired from the terminal device 10 . For example, the information processing apparatus 100 provides an image search service for searching (extracting) k (for example, 5) vectors that are close to the query.

図2の例では、情報処理装置100は、グラフデータGD1に示すデータセットDS1を対象として生成されたグラフを用いて近似検索を行う。グラフデータGD1のグラフはグラフGR11であってもよい。 In the example of FIG. 2, the information processing apparatus 100 performs an approximate search using a graph generated for the data set DS1 shown in the graph data GD1. The graph of graph data GD1 may be graph GR11.

まず、情報処理装置100は、ユーザU1が利用する端末装置10からグラフを用いた近似検索の評価指標の指定値を示す情報を取得する(ステップS21)。図2の例では、情報処理装置100は、端末装置10から検索精度(再現率)の指定値「VL11-2」を取得する。例えば、情報処理装置100は、端末装置10から画像をクエリQE21として取得する。 First, the information processing device 100 acquires information indicating the specified value of the evaluation index for approximate search using a graph from the terminal device 10 used by the user U1 (step S21). In the example of FIG. 2, the information processing apparatus 100 acquires the designated value “VL11-2” of the search precision (recall rate) from the terminal device 10. In the example of FIG. For example, the information processing device 100 acquires an image from the terminal device 10 as the query QE21.

そして、情報処理装置100は、ルックアップテーブルTB1に基づいて、検索精度の指定値「VL11-2」を検索範囲係数「ε」の値に変換する(ステップS22)。例えば、情報処理装置100は、ルックアップテーブルTB1に検索精度の指定値が含まれる場合、その指定値に対応付けられた検索範囲係数「ε」の値を用いる。 Based on the lookup table TB1, the information processing apparatus 100 converts the designated value "VL11-2" of the search precision into the value of the search range coefficient "ε" (step S22). For example, when the lookup table TB1 includes a specified value of search accuracy, the information processing apparatus 100 uses the value of the search range coefficient "ε" associated with the specified value.

また、情報処理装置100は、ルックアップテーブルTB1に検索精度の指定値が含まれない場合、ルックアップテーブルTB1に基づいて、その指定値に対応する検索範囲係数「ε」の値を生成する。情報処理装置100は、検索時に指定された検索精度の指定値「VL11-2」によりルックアップテーブルTB1を参照し、ルックアップテーブルTB1の離散値を補間する補間処理により、検索範囲係数「ε」の値を求める。なお、補間処理は線形補間でもよい。また、情報処理装置100は、ルックアップテーブルTB1から近似関数を事前に計算しておき、近似関数を用いて検索範囲係数「ε」の値を求めてもよい。この場合、情報処理装置100は、記憶部120(図5参照)に記憶された近似関数を変換用情報として取得し、取得した近似関数を用いて、検索精度の指定値を検索範囲係数「ε」の値に変換する。これにより、情報処理装置100は、近似関数を用いて検索精度の指定値から検索範囲係数「ε」の値を求めてもよい。 Further, when the lookup table TB1 does not include the specified value of the search accuracy, the information processing apparatus 100 generates the value of the search range coefficient "ε" corresponding to the specified value based on the lookup table TB1. The information processing apparatus 100 refers to the lookup table TB1 by the specified value "VL11-2" of the search accuracy specified at the time of the search, and performs an interpolation process of interpolating the discrete values of the lookup table TB1 to obtain the search range coefficient "ε". to find the value of Note that the interpolation processing may be linear interpolation. Further, the information processing apparatus 100 may calculate an approximation function in advance from the lookup table TB1, and obtain the value of the search range coefficient "ε" using the approximation function. In this case, the information processing apparatus 100 acquires the approximation function stored in the storage unit 120 (see FIG. 5) as the conversion information, and uses the acquired approximation function to set the specified value of the search accuracy to the search range coefficient "ε ” value. Accordingly, the information processing apparatus 100 may obtain the value of the search range coefficient “ε” from the designated value of the search precision using an approximation function.

図2では、情報処理装置100は、ルックアップテーブルTB1に検索精度の指定値が含まれないため、補間処理により、検索精度の指定値「VL11-2」から検索範囲係数「ε」の値「VL21-2」を求める。これにより、情報処理装置100は、変換後情報CVに示すように、検索精度の指定値「VL11-2」を検索範囲係数「ε」の値「VL21-2」に変換する。 In FIG. 2, since the lookup table TB1 does not include the specified value of the search accuracy, the information processing apparatus 100 performs the interpolation process from the specified value of the search accuracy “VL11-2” to the value of the search range coefficient “ε”. VL21-2” is obtained. As a result, the information processing apparatus 100 converts the search accuracy designation value "VL11-2" into the value "VL21-2" of the search range coefficient "ε", as shown in the post-conversion information CV.

そして、情報処理装置100は、ユーザU1が利用する端末装置10からクエリを取得する(ステップS23)。図2の例では、情報処理装置100は、端末装置10からクエリQE21を取得する。例えば、情報処理装置100は、端末装置10から画像をクエリQE21として取得する。なお、情報処理装置100は、検索精度の指定値とクエリとを一括して端末装置10から取得(受信)してもよい。 Then, the information processing device 100 acquires a query from the terminal device 10 used by the user U1 (step S23). In the example of FIG. 2, the information processing device 100 acquires the query QE21 from the terminal device 10. In the example of FIG. For example, the information processing device 100 acquires an image from the terminal device 10 as the query QE21. Note that the information processing apparatus 100 may collectively acquire (receive) the specified value of the search accuracy and the query from the terminal apparatus 10 .

そして、情報処理装置100は、検索範囲係数「ε」の値を「VL21-2」に設定し、クエリQE21を対象としてグラフデータGD1のグラフを用いた近似検索の処理を実行する(ステップS24)。情報処理装置100は、検索範囲係数「ε」の値を「VL21-2」に設定し、クエリQE21を対象としてグラフデータGD1のグラフを用いて図12に示す検索処理を行い、クエリQE21の近似ノードを取得する。例えば、情報処理装置100は、グラフデータGD1のグラフを探索することにより、クエリQE21について、所定数(例えば5個等)の近似ノード(近似オブジェクト)を抽出する。 Then, the information processing apparatus 100 sets the value of the search range coefficient "ε" to "VL21-2", and executes approximate search processing using the graph of the graph data GD1 for the query QE21 (step S24). . The information processing apparatus 100 sets the value of the search range coefficient “ε” to “VL21-2”, performs the search processing shown in FIG. Get a node. For example, the information processing apparatus 100 extracts a predetermined number (for example, 5) of approximate nodes (approximate objects) for the query QE21 by searching the graph of the graph data GD1.

そして、情報処理装置100は、抽出した近似オブジェクトを示す情報を検索結果として端末装置10に提供する(ステップS25)。例えば、情報処理装置100は、抽出した所定数(例えば5個等)の近似オブジェクトである画像を、ユーザU1が指定したクエリQE21に類似する画像として端末装置10に提供する。 Then, the information processing device 100 provides information indicating the extracted approximate object to the terminal device 10 as a search result (step S25). For example, the information processing apparatus 100 provides the terminal device 10 with a predetermined number (for example, 5) of extracted images that are similar objects as images similar to the query QE21 specified by the user U1.

このように、ユーザが検索時のパラメータを指定する代わりに、所望の検索精度または検索時間等の評価指標の値を指定することにより、情報処理装置100は、ユーザが指定した評価指標の値をパラメータの値に変換する。これにより、情報処理装置100は、適切なパラメータの値を用いた近似検索を可能にすることができる。例えば、ユーザ自身が所望の評価指標の基準を満たすためのパラメータの値を設定することができない場合であっても、情報処理装置100は、ユーザの要求に応じて、適切なパラメータの値を用いた近似検索を可能にすることができる。 In this way, the user designates the value of the evaluation index such as the desired search accuracy or the search time instead of designating the parameter at the time of the search. Convert to parameter value. Thereby, the information processing apparatus 100 can perform an approximate search using appropriate parameter values. For example, even if the user himself/herself cannot set a parameter value for satisfying the criteria of the desired evaluation index, the information processing apparatus 100 uses an appropriate parameter value according to the user's request. can enable approximate searches.

そして、情報処理装置100は、変換したパラメータの値を用いて検索する。すなわち、情報処理装置100は、ユーザにより指定された検索精度や検索時間の指定値をパラメータの値に変換した後に検索を行う。これにより、情報処理装置100は、適切なパラメータの値を用いた近似検索を実行することができる。なお、上記は一例であり、情報処理装置100は、ルックアップテーブルに限らず、変換関数等の様々な変換用情報を用いてもよい。 Then, the information processing apparatus 100 searches using the converted parameter values. That is, the information processing apparatus 100 performs a search after converting the specified values of search accuracy and search time specified by the user into parameter values. Accordingly, the information processing apparatus 100 can execute an approximate search using appropriate parameter values. Note that the above is just an example, and the information processing apparatus 100 may use various conversion information such as a conversion function instead of the lookup table.

〔2-3.ツリーインデックス〕
上述した例では、グラフのみを用いる場合を示したが、情報処理装置100は、ツリーインデックスなど、各種のインデックスを用いて、処理を高速化してもよい。例えば、情報処理装置100は、図3中の情報群GINF11に示すようなツリーインデックスIND11を用いて、検索の起点となるノード(以下「起点ノード」ともいう)を決定してもよい。図3は、ツリーインデックスの一例を示す図である。なお、ツリーインデックスIND11は、情報処理装置100が生成してもよいし、情報処理装置100は、ツリーインデックスIND11を情報提供装置50等の他の外部装置から取得してもよい。
[2-3. tree index]
In the above example, only graphs are used, but the information processing apparatus 100 may use various indexes such as a tree index to speed up processing. For example, the information processing apparatus 100 may use a tree index IND11 as shown in the information group GINF11 in FIG. 3 to determine a node serving as the starting point of the search (hereinafter also referred to as "starting node"). FIG. 3 is a diagram showing an example of a tree index. Note that the tree index IND11 may be generated by the information processing device 100, or the information processing device 100 may acquire the tree index IND11 from another external device such as the information providing device 50 or the like.

例えば、情報処理装置100は、ツリーインデックスIND11に基づいて、クエリQE1に対応する起点ノードを決定してもよい。情報処理装置100は、ツリー情報記憶部122(図7参照)に記憶されたツリーインデックスIND11を用いて、起点ノードを決定する。例えば、ツリーインデックスIND11は、グラフGR11中のいくつかのノードに到達可能なツリー構造を有するツリーである。図3の例では説明を簡単にするために、ツリーインデックスIND11は、ノードN1~N5の5個のノードに到達するルートのみを図示するが、多数(例えば500や1000等)の他のノードへ到達するルートが含まれてもよい。 For example, the information processing apparatus 100 may determine the origin node corresponding to the query QE1 based on the tree index IND11. The information processing apparatus 100 determines the starting node using the tree index IND11 stored in the tree information storage unit 122 (see FIG. 7). For example, tree index IND11 is a tree with a tree structure that can reach some nodes in graph GR11. In the example of FIG. 3, to simplify the explanation, the tree index IND11 shows only the routes to five nodes N1 to N5, but there are many other nodes (eg, 500, 1000, etc.). The route to reach may be included.

例えば、情報処理装置100は、図3中のツリーインデックスIND11に示すような木構造型のツリーインデックスを用いて、グラフGR11における起点ノードを決定する。図1の例では、情報処理装置100は、クエリQE1に基づいて、ツリーインデックスIND11を上(ルートRT)から下へ辿ることにより、ツリーインデックスIND11の近傍候補となる起点ノードを決定(特定)する。これにより、情報処理装置100は、効率的に検索クエリ(クエリQE1)に対応する起点ノードを決定することができる。 For example, the information processing apparatus 100 determines the starting node in the graph GR11 using a tree structure type tree index such as the tree index IND11 in FIG. In the example of FIG. 1, the information processing apparatus 100 determines (identifies) the origin node that is a neighborhood candidate of the tree index IND11 by tracing the tree index IND11 from the top (root RT) to the bottom based on the query QE1. . Thereby, the information processing apparatus 100 can efficiently determine the origin node corresponding to the search query (query QE1).

例えば、情報処理装置100は、ツリーインデックスIND11をルートRTからリーフノード(グラフGR11中のノード)まで辿ることにより、クエリQE1に対応する起点ノードを決定してもよい。例えば、情報処理装置100は、木構造に関する種々の従来技術を適宜用いて、ツリーインデックスIND11をルートRTからリーフノードまで辿ることにより、辿りついたリーフノードを起点ノードとして決定してもよい。例えば、情報処理装置100は、クエリQE1との類似度に基づいて、ツリーインデックスIND11を下へ辿ることにより、起点ノードを決定してもよい。例えば、情報処理装置100は、ルートRTから節点VT1、VT2等のいずれの節点に辿るかを、クエリQE1と節点VT1、VT2との類似度に基づいて決定してもよい。例えば、情報処理装置100は、ルートRTから節点VT1、VT2等のうち、クエリQE1との類似度が最も高い節点VT2へ辿ると決定してもよい。また、例えば、情報処理装置100は、節点VT2から節点VT2-1~VT2-4等のうち、クエリQE1との類似度が最も高い節点VT2-2へ辿ると決定してもよい。 For example, the information processing apparatus 100 may determine the origin node corresponding to the query QE1 by tracing the tree index IND11 from the root RT to leaf nodes (nodes in the graph GR11). For example, the information processing apparatus 100 may determine the reached leaf node as the origin node by tracing the tree index IND11 from the root RT to the leaf node using various conventional techniques related to the tree structure. For example, the information processing apparatus 100 may determine the starting node by tracing down the tree index IND11 based on the degree of similarity with the query QE1. For example, the information processing apparatus 100 may determine which of the nodes VT1, VT2, etc. is to be traced from the root RT based on the degree of similarity between the query QE1 and the nodes VT1, VT2. For example, the information processing apparatus 100 may determine to trace from the root RT to the node VT2 having the highest similarity with the query QE1 among the nodes VT1, VT2, and the like. Further, for example, the information processing apparatus 100 may determine to trace from the node VT2 to the node VT2-2 having the highest degree of similarity with the query QE1 among the nodes VT2-1 to VT2-4.

図3の例に示すツリーインデックス(ツリーデータ)は一例であり、情報処理装置100は、種々のツリーインデックスを用いて、グラフ情報を検索してもよい。情報処理装置100は、検索時の起点ノードの決定に用いるツリーを生成してもよい。なお、ツリーを用いることは一例であり、情報処理装置100は、検索時の起点ノードの決定の高速化が可能であれば、ツリーに限らず種々の情報を用いてもよい。例えば、情報処理装置100は、高次元ベクトルを高速に検索するための検索ツリー(ツリーインデックス)を生成する。ここでいう高次元ベクトルとは、例えば、数百次元から数千次元のベクトルであってもよいし、それ以上の次元のベクトルであってもよい。 The tree index (tree data) shown in the example of FIG. 3 is an example, and the information processing apparatus 100 may search for graph information using various tree indexes. The information processing apparatus 100 may generate a tree that is used to determine the starting node at the time of searching. Note that the use of a tree is merely an example, and the information processing apparatus 100 may use various types of information other than the tree as long as it is possible to speed up the determination of the starting node at the time of searching. For example, the information processing apparatus 100 generates a search tree (tree index) for searching high-dimensional vectors at high speed. The high-dimensional vector referred to here may be, for example, a vector with several hundred to several thousand dimensions, or a vector with more dimensions.

例えば、情報処理装置100は、図3に示すようなツリー構造(木構造)に関するツリーインデックスIND11を生成してもよい。例えば、情報処理装置100は、kd木(k-dimensional tree)に関する検索ツリーを生成してもよい。例えば、情報処理装置100は、VP木(Vantage-Point tree)に関する検索ツリーを生成してもよい。 For example, the information processing apparatus 100 may generate a tree index IND11 relating to a tree structure (tree structure) as shown in FIG. For example, the information processing apparatus 100 may generate a search tree for a kd-tree (k-dimensional tree). For example, the information processing apparatus 100 may generate a search tree related to a VP tree (Vantage-Point tree).

また、例えば、情報処理装置100は、その他の木構造を有するツリーとして生成してもよい。例えば、情報処理装置100は、木構造のツリーのリーフがグラフに接続する種々のツリーを生成してもよい。例えば、情報処理装置100は、木構造のツリーのリーフがグラフ中のノードに対応する種々のツリーを生成してもよい。また、情報処理装置100は、このようなツリーを用いて検索を行う場合、ツリーを辿って到達したリーフ(ノード)からグラフを探索してもよい。 Further, for example, the information processing apparatus 100 may generate a tree having another tree structure. For example, the information processing apparatus 100 may generate various trees in which leaves of a tree structure are connected to a graph. For example, the information processing apparatus 100 may generate various trees in which the leaves of the trees in the tree structure correspond to the nodes in the graph. Further, when performing a search using such a tree, the information processing apparatus 100 may search the graph from leaves (nodes) reached by following the tree.

なお、上述したようなツリーは一例であり、情報処理装置100は、グラフ中のクエリを高速に特定することが可能であれば、どのようなデータ構造のツリーを生成してもよい。例えば、情報処理装置100は、クエリに対応するグラフ情報中のノードを高速に特定することが可能であれば、バイナリ空間分割に関する技術等の種々の従来技術を適宜用いて、ツリーを生成してもよい。例えば、情報処理装置100は、高次元ベクトルの検索に対応可能なツリーであれば、どのようなデータ構造のツリーを生成してもよい。情報処理装置100は、上述のようなツリーとグラフとを用いることにより、所定の対象に関してより効率的な検索を可能にすることができる。すなわち、情報処理装置100は、上述のようなツリーとグラフとを用いることにより、所定の対象に関してより高速な検索を可能にすることができる。 Note that the tree as described above is merely an example, and the information processing apparatus 100 may generate a tree with any data structure as long as the query in the graph can be identified at high speed. For example, the information processing apparatus 100 can generate a tree by appropriately using various conventional techniques such as a technique related to binary space division, as long as the node in the graph information corresponding to the query can be identified at high speed. good too. For example, the information processing apparatus 100 may generate a tree with any data structure as long as the tree can support high-dimensional vector searches. The information processing apparatus 100 can perform a more efficient search for a predetermined target by using the tree and graph as described above. That is, the information processing apparatus 100 can perform a faster search for a predetermined target by using the tree and graph as described above.

また、情報処理装置100は、ツリーインデックスIND11のような木構造のインデックスのみを用いて近似検索を行ってもよい。例えば、情報処理装置100は、検索対象となる複数の各々がツリーのリーフとなるツリーインデックス(ツリーインデックスTX)を用いた近似検索を行う。この場合、クエリQE1について、ツリーインデックスTXを辿ってたどり着いたリーフであるノードが近似ノードとして抽出される。すなわち、情報処理装置100は、クエリQE1が与えられた場合、ツリーインデックスTXをルートからリーフまで辿ることにより、クエリQE1に近似するノードを検索する近似検索を行う。この場合、パラメータは、分岐において辿る本数(枝(ブランチ)の数)等であってもよい。 Further, the information processing apparatus 100 may perform an approximate search using only a tree-structured index such as the tree index IND11. For example, the information processing apparatus 100 performs an approximate search using a tree index (tree index TX) in which each of a plurality of search targets is a leaf of the tree. In this case, for the query QE1, a leaf node reached by following the tree index TX is extracted as an approximate node. That is, when the query QE1 is given, the information processing apparatus 100 performs approximate search for searching for nodes that are similar to the query QE1 by tracing the tree index TX from the root to the leaves. In this case, the parameter may be the number of branches to follow (the number of branches).

〔3.情報処理システムの構成〕
図4に示すように、情報処理システム1には、端末装置10と、情報提供装置50と、情報処理装置100とが含まれる。端末装置10と、情報提供装置50と、情報処理装置100とは所定のネットワークNを介して、有線または無線により通信可能に接続される。図4は、実施形態に係る情報処理システムの構成例を示す図である。なお、図4に示した情報処理システム1には、複数台の端末装置10や、複数台の情報提供装置50や、複数台の情報処理装置100が含まれてもよい。
[3. Configuration of information processing system]
As shown in FIG. 4 , the information processing system 1 includes a terminal device 10 , an information providing device 50 and an information processing device 100 . The terminal device 10, the information providing device 50, and the information processing device 100 are connected via a predetermined network N so as to be communicable by wire or wirelessly. FIG. 4 is a diagram illustrating a configuration example of an information processing system according to the embodiment; The information processing system 1 shown in FIG. 4 may include multiple terminal devices 10 , multiple information providing devices 50 , and multiple information processing devices 100 .

端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、ユーザによる種々の操作を受け付ける。なお、以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。なお、上述した端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。 The terminal device 10 is an information processing device used by a user. The terminal device 10 accepts various operations by the user. In addition, below, the terminal device 10 may be described as a user. That is, hereinafter, the user can also be read as the terminal device 10 . The terminal device 10 described above is implemented by, for example, a smart phone, a tablet terminal, a notebook PC (Personal Computer), a desktop PC, a mobile phone, a PDA (Personal Digital Assistant), or the like.

情報処理装置100は、複数のオブジェクトを検索対象とするインデックスを用いた近似検索の評価指標の値を指定する指定値を、近似検索で用いるパラメータの値に変換するコンピュータである。また、情報処理装置100は、インデックスを用いた近似検索を、評価指標の指定値が変換されたパラメータの値を用いて実行する情報検索装置である。 The information processing apparatus 100 is a computer that converts a designated value that designates an evaluation index value for an approximate search using an index that searches for a plurality of objects into a parameter value that is used for the approximate search. Further, the information processing apparatus 100 is an information retrieval apparatus that executes an approximate retrieval using an index using a parameter value obtained by converting a designated value of an evaluation index.

情報処理装置100は、ユーザ等に種々の情報提供を行うための情報が格納する。例えば、情報処理装置100は、ユーザ等に画像検索サービスを提供する。この場合、情報処理装置100は、画像検索サービスを提供するための各情報が格納される。例えば、情報処理装置100は、情報提供装置50が提供する電子商取引サービスにおいて取引される取引対象に関する画像を検索する画像検索サービスを提供する。すなわち、データセットDS1は、情報提供装置50が提供する電子商取引サービスにおいて取引される取引対象に関するオブジェクトであってもよい。 The information processing apparatus 100 stores information for providing various information to users and the like. For example, the information processing apparatus 100 provides an image search service to users and the like. In this case, the information processing apparatus 100 stores each information for providing an image search service. For example, the information processing apparatus 100 provides an image search service for searching for images related to transaction objects traded in electronic commerce services provided by the information providing apparatus 50 . That is, the data set DS1 may be an object related to a transaction subject to be traded in the electronic commerce service provided by the information providing device 50. FIG.

情報処理装置100は、近似検索により、クエリに類似するオブジェクトを抽出する。例えば、情報処理装置100は、端末装置10からクエリ情報(クエリ)を受信すると、クエリに類似する対象(ベクトル情報等)を検索し、検索結果を端末装置に提供する。情報処理装置100は、端末装置10から受信したクエリを用いて近似検索を行い、その結果を端末装置10に送信する。 The information processing apparatus 100 extracts objects similar to the query by approximate search. For example, when receiving query information (query) from the terminal device 10, the information processing device 100 searches for objects (eg, vector information) similar to the query, and provides search results to the terminal device. The information processing device 100 performs an approximate search using the query received from the terminal device 10 and transmits the result to the terminal device 10 .

なお、情報処理装置100が端末装置に提供するデータは、画像等のデータ自体であってもよいし、URL(Uniform Resource Locator)等の対応するデータを参照するための情報であってもよい。また、クエリや検索対象のデータは、画像、音声、テキストデータなど、如何なる種類のデータであってもよい。本実施形態において、情報処理装置100が画像を検索する場合を一例として説明する。 The data provided by the information processing device 100 to the terminal device may be data itself such as an image, or may be information for referring to corresponding data such as a URL (Uniform Resource Locator). Data to be searched or queried may be any type of data such as image, voice, and text data. In this embodiment, a case where the information processing apparatus 100 searches for images will be described as an example.

情報提供装置50は、ユーザに電子商取引サービスを提供する情報処理装置である。情報提供装置50は、情報処理装置100に種々の情報提供を行う。情報提供装置50は、電子商取引サービスにおいて取引される取引対象に関する情報を情報処理装置100に提供する。情報提供装置50は、電子商取引サービスにおいて取引される取引対象の画像やその画像のベクトルデータを情報処理装置100に提供する。 The information providing device 50 is an information processing device that provides electronic commerce services to users. The information providing device 50 provides various information to the information processing device 100 . The information providing device 50 provides the information processing device 100 with information on the transaction objects traded in the electronic commerce service. The information providing device 50 provides the information processing device 100 with an image of a transaction object to be traded in the electronic commerce service and vector data of the image.

なお、情報提供装置50は、情報処理装置100と一体であってもよい。また、情報提供装置50は、ウェブサーバ等の種々の外部装置から収集した画像等に基づくオブジェクトIDを格納してもよい。例えば、情報提供装置50は、画像検索サービスの対象となる画像に対応するベクトル情報を情報処理装置100に提供してもよい。 Note that the information providing device 50 may be integrated with the information processing device 100 . The information providing device 50 may also store object IDs based on images and the like collected from various external devices such as web servers. For example, the information providing device 50 may provide the information processing device 100 with vector information corresponding to an image for which an image search service is to be performed.

〔4.情報処理装置の構成〕
次に、図5を用いて、実施形態に係る情報処理装置100の構成について説明する。図5は、実施形態に係る情報処理装置100の構成例を示す図である。図5に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
[4. Configuration of Information Processing Device]
Next, the configuration of the information processing apparatus 100 according to the embodiment will be described using FIG. FIG. 5 is a diagram illustrating a configuration example of the information processing apparatus 100 according to the embodiment. As shown in FIG. 5, the information processing apparatus 100 has a communication section 110, a storage section 120, and a control section . The information processing apparatus 100 includes an input unit (for example, a keyboard, a mouse, etc.) that receives various operations from an administrator of the information processing apparatus 100, and a display unit (for example, a liquid crystal display, etc.) for displaying various information. may have.

(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワーク(例えば図4中のネットワークN)と有線または無線で接続され、端末装置10や情報提供装置50との間で情報の送受信を行う。
(Communication unit 110)
The communication unit 110 is realized by, for example, a NIC (Network Interface Card) or the like. The communication unit 110 is connected to a network (for example, network N in FIG. 4) by wire or wirelessly, and transmits and receives information to and from the terminal device 10 and the information providing device 50 .

(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図5に示すように、オブジェクト情報記憶部121と、ツリー情報記憶部122と、グラフ情報記憶部123と、近似正解検索結果情報記憶部124と、変換用情報記憶部125とを有する。
(storage unit 120)
The storage unit 120 is realized by, for example, a semiconductor memory device such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk. As shown in FIG. 5, the storage unit 120 according to the embodiment includes an object information storage unit 121, a tree information storage unit 122, a graph information storage unit 123, an approximate correct search result information storage unit 124, and conversion information. and a storage unit 125 .

(オブジェクト情報記憶部121)
実施形態に係るオブジェクト情報記憶部121は、オブジェクトに関する各種情報を記憶する。例えば、オブジェクト情報記憶部121は、データセットごとにオブジェクトIDやベクトルデータを記憶する。図6は、実施形態に係るオブジェクト情報記憶部の一例を示す図である。図6に示すオブジェクト情報記憶部121は、「データセットID」、「オブジェクトID」、「ベクトル情報」といった項目が含まれる。
(Object information storage unit 121)
The object information storage unit 121 according to the embodiment stores various information about objects. For example, the object information storage unit 121 stores an object ID and vector data for each data set. 6 is a diagram illustrating an example of an object information storage unit according to the embodiment; FIG. The object information storage unit 121 shown in FIG. 6 includes items such as "data set ID", "object ID", and "vector information".

「データセットID」は、データセットを識別するための識別情報を示す。「オブジェクトID」は、オブジェクトを識別するための識別情報を示す。また、「ベクトル情報」は、オブジェクトIDにより識別されるオブジェクトに対応するベクトル情報を示す。すなわち、図6の例では、オブジェクトを識別するオブジェクトIDに対して、オブジェクトに対応するベクトルデータ(ベクトル情報)が対応付けられて登録されている。 "Dataset ID" indicates identification information for identifying a data set. "Object ID" indicates identification information for identifying an object. "Vector information" indicates vector information corresponding to the object identified by the object ID. That is, in the example of FIG. 6, vector data (vector information) corresponding to an object is registered in association with an object ID that identifies the object.

図6の例では、データセットID「DS1」により識別されるデータセット(データセットDS1)には、オブジェクトID「OB1」、「OB2」、「OB3」等により識別される複数のオブジェクト(対象)が含まれることを示す。オブジェクトID「OB1」により識別されるオブジェクト(オブジェクトOB1)は、「10,24,54,2...」の多次元のベクトル情報が対応付けられることを示す。また、オブジェクトID「OB2」により識別されるオブジェクト(オブジェクトOB2)は、「32,1,120,31...」の多次元のベクトル情報が対応付けられることを示す。 In the example of FIG. 6, the data set (data set DS1) identified by the data set ID "DS1" includes a plurality of objects (objects) identified by the object IDs "OB1", "OB2", "OB3", etc. is included. The object (object OB1) identified by the object ID "OB1" is associated with multidimensional vector information "10, 24, 54, 2...". The object (object OB2) identified by the object ID "OB2" is associated with multidimensional vector information "32, 1, 120, 31...".

なお、オブジェクト情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。 It should be noted that the object information storage unit 121 may store various types of information, not limited to the above, depending on the purpose.

(ツリー情報記憶部122)
実施形態に係るツリー情報記憶部122は、ツリーに関する各種情報を記憶する。図7は、実施形態に係るツリー情報記憶部の一例を示す図である。具体的には、図7の例では、ツリー情報記憶部122は、木構造のツリーインデックスを示す。図7の例では、ツリー情報記憶部122は、「ルート階層」、「第1階層」、「第2階層」、「第3階層」等といった項目が含まれる。なお、「第1階層」~「第3階層」に限らず、ツリーの階層数に応じて、「第4階層」、「第5階層」、「第6階層」等が含まれてもよい。
(Tree information storage unit 122)
The tree information storage unit 122 according to the embodiment stores various types of information about trees. 7 is a diagram illustrating an example of a tree information storage unit according to the embodiment; FIG. Specifically, in the example of FIG. 7, the tree information storage unit 122 indicates a tree index of a tree structure. In the example of FIG. 7, the tree information storage unit 122 includes items such as "root layer", "first layer", "second layer", and "third layer". It should be noted that not only "first hierarchy" to "third hierarchy" but "fourth hierarchy", "fifth hierarchy", "sixth hierarchy", etc. may be included according to the number of hierarchies of the tree.

「ルート階層」は、ツリーを用いた起点ノードの決定の開始点となるルート(最上位)の階層を示す。「第1階層」は、ツリーの第1階層に属するノード(節点またはグラフ情報中のベクトル)を識別(特定)する情報が格納される。「第1階層」に格納されるノードは、ツリーの根(ルート)に直接結ばれる階層に対応するノードとなる。 The “root hierarchy” indicates the root (top) hierarchy that is the starting point for determining the origin node using the tree. "First layer" stores information for identifying (specifying) a node (node or vector in graph information) belonging to the first layer of the tree. A node stored in the "first layer" is a node corresponding to a layer directly connected to the root of the tree.

「第2階層」は、ツリーの第2階層に属するノード(節点またはグラフ情報中のベクトル)を識別(特定)する情報が格納される。「第2階層」に格納されるノードは、第1階層のノードに結ばれる直下の階層に対応するノードとなる。「第3階層」は、ツリーの第3階層に属するノード(節点またはグラフ情報中のベクトル)を識別(特定)する情報が格納される。「第3階層」に格納されるノードは、第2階層のノードに結ばれる直下の階層に対応するノードとなる。 "Second layer" stores information that identifies (specifies) a node (node or vector in graph information) belonging to the second layer of the tree. A node stored in the "second layer" is a node corresponding to the immediately lower layer connected to a node in the first layer. "Third layer" stores information for identifying (specifying) a node (node or vector in graph information) belonging to the third layer of the tree. A node stored in the "third layer" is a node corresponding to the immediately lower layer linked to a node in the second layer.

図7に示す例においては、ツリー情報記憶部122には、図1中のツリー情報IND11に対応する情報が記憶される。例えば、ツリー情報記憶部122は、第1階層のノードが、節点VT1~VT3等であることを示す。また、各節点の下の括弧内の数値は、各節点に対応するベクトルの値を示す。 In the example shown in FIG. 7, the tree information storage unit 122 stores information corresponding to the tree information IND11 in FIG. For example, the tree information storage unit 122 indicates that the nodes of the first layer are the nodes VT1 to VT3. Numerical values in parentheses under each node indicate vector values corresponding to each node.

また、ツリー情報記憶部122は、節点VT2の直下の第2階層のノードが、節点VT2-1~VT2-4であることを示す。また、ツリー情報記憶部122は、節点VT2-1の直下の第3階層のノードが、ノードN1、ノードN2のグラフGR11中のノード(ベクトル)であることを示す。ツリー情報記憶部122は、節点VT2-2の直下の第3階層のノードが、ノードN3、ノードN4、ノードN5のグラフGR11中のノード(ベクトル)であることを示す。 Also, the tree information storage unit 122 indicates that the nodes of the second layer immediately below the node VT2 are the nodes VT2-1 to VT2-4. Also, the tree information storage unit 122 indicates that the node in the third layer immediately below the node VT2-1 is a node (vector) in the graph GR11 of the nodes N1 and N2. The tree information storage unit 122 indicates that the nodes in the third layer immediately below the node VT2-2 are the nodes (vectors) in the graph GR11 of the nodes N3, N4, and N5.

なお、ツリー情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。 Note that the tree information storage unit 122 may store various types of information, not limited to the above, depending on the purpose.

(グラフ情報記憶部123)
実施形態に係るグラフ情報記憶部123は、グラフに関する各種情報を記憶する。例えば、グラフ情報記憶部123は、検索処理等の情報処理に用いられるグラフ情報を記憶する。図8の例は、グラフ情報記憶部123は、近傍グラフデータを記憶する。図8は、実施形態に係るグラフ情報記憶部の一例を示す図である。図8に示すグラフ情報記憶部123は、「ノードID」、「オブジェクトID」、および「有向エッジ情報」といった項目を有する。また、「有向エッジ情報」には、「エッジID」や「参照先」といった情報が含まれる。
(Graph information storage unit 123)
The graph information storage unit 123 according to the embodiment stores various kinds of information about graphs. For example, the graph information storage unit 123 stores graph information used for information processing such as search processing. In the example of FIG. 8, the graph information storage unit 123 stores neighborhood graph data. 8 is a diagram illustrating an example of a graph information storage unit according to the embodiment; FIG. The graph information storage unit 123 shown in FIG. 8 has items such as "node ID", "object ID", and "directed edge information". "Directed edge information" includes information such as "edge ID" and "reference destination".

「ノードID」は、グラフデータにおける各ノード(対象)を識別するための識別情報を示す。また、「オブジェクトID」は、オブジェクトを識別するための識別情報を示す。 “Node ID” indicates identification information for identifying each node (object) in graph data. "Object ID" indicates identification information for identifying an object.

また、「有向エッジ情報」は、対応するノードに接続されるエッジに関する情報を示す。図8の例では、「有向エッジ情報」は、対応するノードから出力される出力エッジに関する情報を示す。また、「エッジID」は、ノード間を連結するエッジを識別するための識別情報を示す。また、「参照先」は、エッジにより連結された参照先(ノード)を示す情報を示す。すなわち、図8の例では、ノードを識別するノードIDに対して、そのノードに対応するオブジェクト(対象)を識別する情報やそのノードからの有向エッジ(出力エッジ)が連結される参照先(ノード)が対応付けられて登録されている。 "Directed edge information" indicates information about edges connected to the corresponding node. In the example of FIG. 8, "directed edge information" indicates information about the output edge output from the corresponding node. "Edge ID" indicates identification information for identifying an edge connecting nodes. "Reference destination" indicates information indicating a reference destination (node) connected by an edge. That is, in the example of FIG. 8, for a node ID that identifies a node, a reference destination ( node) are associated and registered.

図8の例では、ノードID「N1」により識別されるノード(ノードN1)は、オブジェクトID「OB1」により識別されるオブジェクト(対象)に対応することを示す。また、ノードN1からは、エッジID「E1」により識別されるエッジ(エッジE1)が、ノードID「N2」により識別されるノード(ノードN2)に連結されることを示す。すなわち、図8の例では、グラフ情報におけるノードN1からはエッジE1によりノードN2へ辿ることができることを示す。 The example of FIG. 8 indicates that the node (node N1) identified by the node ID "N1" corresponds to the object (object) identified by the object ID "OB1". Further, from node N1, an edge (edge E1) identified by edge ID "E1" is connected to a node (node N2) identified by node ID "N2". That is, the example of FIG. 8 indicates that the node N2 can be traced from the node N1 in the graph information through the edge E1.

また、図8の例では、ノードID「N2」により識別されるノード(ノードN2)は、オブジェクトID「OB2」により識別されるオブジェクト(対象)に対応することを示す。また、ノードN2からは、エッジID「E21」により識別されるエッジ(エッジE21)が、ノードID「N1」により識別されるノード(ノードN1)に連結されることを示す。すなわち、図8の例では、グラフ情報におけるノードN2からはエッジE21によりノードN1へ辿ることができることを示す。 Also, the example of FIG. 8 indicates that the node (node N2) identified by the node ID "N2" corresponds to the object (target) identified by the object ID "OB2". Further, from node N2, an edge (edge E21) identified by edge ID "E21" is connected to a node (node N1) identified by node ID "N1". That is, the example of FIG. 8 indicates that the node N1 can be traced from the node N2 by the edge E21 in the graph information.

なお、グラフ情報記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、グラフ情報記憶部123は、各ノード(ベクトル)間を連結するエッジの長さが記憶されてもよい。すなわち、グラフ情報記憶部123は、各ノード(ベクトル)間の距離を示す情報が記憶されてもよい。グラフ情報記憶部123には、有向エッジにより連結されたグラフ情報に限らず、種々のグラフ情報が記憶されてもよい。グラフ情報記憶部123には、無向エッジにより連結されたグラフ情報が記憶されてもよい。 It should be noted that the graph information storage unit 123 may store various types of information, not limited to the above, depending on the purpose. For example, the graph information storage unit 123 may store lengths of edges connecting nodes (vectors). That is, the graph information storage unit 123 may store information indicating distances between nodes (vectors). The graph information storage unit 123 may store not only graph information connected by directed edges, but also various kinds of graph information. The graph information storage unit 123 may store graph information connected by undirected edges.

(近似正解検索結果情報記憶部124)
実施形態に係る近似正解検索結果情報記憶部124は、近似正解検索に関する各種情報を記憶する。近似正解検索結果情報記憶部124は、各クエリを用いた場合の検索処理の精度を測定するために用いる近似正解情報を記憶する。例えば、近似正解検索結果情報記憶部124は、各クエリに対応付けてそのクエリのk個の近似ノードを近似正解検索結果として記憶する。図9は、実施形態に係る近似正解検索結果情報記憶部の一例を示す図である。図9に示す近似正解検索結果情報記憶部124は、「クエリID」、「ベクトル情報」、「近似正解検索結果」といった項目を有する。また、「近似正解検索結果」には、「No」や「オブジェクト」といった項目が含まれる。
(approximate correct search result information storage unit 124)
The approximate correct search result information storage unit 124 according to the embodiment stores various types of information regarding approximate correct search. The approximate correct search result information storage unit 124 stores approximate correct answer information used for measuring accuracy of search processing when using each query. For example, the approximate correct search result information storage unit 124 stores k approximate nodes of the query in association with each query as approximate correct search results. 9 is a diagram illustrating an example of an approximate correct search result information storage unit according to the embodiment; FIG. The approximate correct search result information storage unit 124 shown in FIG. 9 has items such as "query ID", "vector information", and "approximate correct search result". The "approximate correct search result" includes items such as "No" and "object".

「クエリID」は、クエリを識別するための識別情報を示す。例えば、「クエリID」は、評価用クエリを識別するための識別情報を示す。また、「ベクトル情報」は、対応するクエリのベクトル情報を示す。「近似正解検索結果」は、対応するクエリの近似正解情報として用いる近似正解検索結果が記憶される。「No」は、対応するクエリの各近似ノードの順位を示す。「オブジェクト」は、対応する順位の近似ノード(オブジェクト)を示す。 “Query ID” indicates identification information for identifying a query. For example, "query ID" indicates identification information for identifying an evaluation query. "Vector information" indicates vector information of the corresponding query. "Approximate correct search result" stores the approximate correct search result used as approximate correct answer information of the corresponding query. "No" indicates the rank of each approximate node of the corresponding query. "Object" indicates an approximate node (object) of corresponding rank.

図9の例では、クエリID「QE1」により識別されるクエリ(クエリQE1)は、「7,35,13,93...」の多次元のベクトル情報であることを示す。クエリQE1に対応する近似正解情報は、Noが「1」である、すなわち最も近傍のノードがオブジェクトOB101に対応するノードであることを示す。また、クエリQE1に対応する近似正解情報は、Noが「k」である、すなわち最も遠いノード(最遠オブジェクト)がオブジェクトOB55に対応するノードであることを示す。 The example of FIG. 9 indicates that the query (query QE1) identified by the query ID "QE1" is multidimensional vector information of "7, 35, 13, 93...". The approximate correct answer information corresponding to query QE1 indicates that No is "1", that is, the nearest node is the node corresponding to object OB101. Also, the approximate correct answer information corresponding to query QE1 indicates that No is "k", that is, the farthest node (farthest object) is the node corresponding to object OB55.

なお、近似正解検索結果情報記憶部124は、上記に限らず、目的に応じて種々の情報を記憶してもよい。近似正解検索結果情報記憶部124は、複数のグラフ情報を使い分ける場合、閾値に、その閾値が用いられるグラフ情報を対応付けて記憶してもよい。例えば、近似正解検索結果情報記憶部124は、グラフGR11以外のグラフ情報が用いられる場合、各閾値が用いられるグラフ情報と、対応する閾値とを対応付けて記憶してもよい。 It should be noted that the approximate correct search result information storage unit 124 may store various information not limited to the above, depending on the purpose. When using a plurality of pieces of graph information, the approximate correct search result information storage unit 124 may store threshold values in association with graph information using the threshold values. For example, when graph information other than the graph GR11 is used, the approximate correct search result information storage unit 124 may associate and store the graph information using each threshold value and the corresponding threshold value.

(変換用情報記憶部125)
実施形態に係る変換用情報記憶部125は、評価指標の値をパラメータの値に変換するために用いる各種情報を記憶する。図10は、実施形態に係る変換用情報記憶部の一例を示す図である。図10の例では、変換用情報記憶部125は、評価指標の値とパラメータの値との対応付けを示すルックアップテーブルを記憶する場合を一例として示す。
(Conversion information storage unit 125)
The conversion information storage unit 125 according to the embodiment stores various types of information used to convert evaluation index values into parameter values. 10 is a diagram illustrating an example of a conversion information storage unit according to the embodiment; FIG. In the example of FIG. 10, the conversion information storage unit 125 stores a lookup table showing the correspondence between evaluation index values and parameter values.

変換用情報記憶部125は、評価指標「検索精度」の値をパラメータ「検索範囲係数」の値に変換するために用いるルックアップテーブルTB1、評価指標「処理時間」の値をパラメータ「検索範囲係数」の値に変換するために用いるルックアップテーブルTB2等を記憶する。なお、ルックアップテーブルは、1つの評価指標と1つのパラメータとのルックアップテーブル、すなわち2次元のルックアップテーブルに限らず、3次元等、2次元よりも大きい多次元のルックアップテーブルであってもよい。 The conversion information storage unit 125 stores a lookup table TB1 used for converting the value of the evaluation index "search accuracy" into the value of the parameter "search range coefficient", and stores the value of the evaluation index "processing time" as the parameter "search range coefficient , look-up table TB2 and the like used for conversion into values of . Note that the lookup table is not limited to a lookup table of one evaluation index and one parameter, that is, a two-dimensional lookup table, but may be a multidimensional lookup table larger than two dimensions, such as a three-dimensional lookup table. good too.

図6に示すように、ルックアップテーブルは、評価指標「検索精度」の値を、第1パラメータ「検索範囲係数」の値及び第2パラメータ「参照エッジ数」の値の組合せに変換するために用いるルックアップテーブルTB3のような3次元のルックアップテーブルであってもよい。また、ルックアップテーブルは、第1評価指標「検索精度」の値及び第2評価指標「処理時間」の値の組合せを、パラメータ「検索範囲係数」の値に変換するために用いる3次元のルックアップテーブルであってもよい。なお、上記は一例であり、変換用情報記憶部125は、様々なルックアップテーブルを記憶する。 As shown in FIG. 6, the lookup table is used to convert the value of the evaluation index "retrieval accuracy" into a combination of the value of the first parameter "retrieval range coefficient" and the value of the second parameter "number of reference edges". A three-dimensional lookup table such as the lookup table TB3 used may be used. Also, the lookup table is a three-dimensional lookup table used to convert the combination of the value of the first evaluation index "search accuracy" and the value of the second evaluation index "processing time" into the value of the parameter "search range coefficient". It may be an up table. Note that the above is just an example, and the conversion information storage unit 125 stores various lookup tables.

図10のルックアップテーブルTB1は、評価指標「検索精度」の値と、パラメータ「検索範囲係数」の値との対応関係を示すルックアップテーブルを示す。 A lookup table TB1 in FIG. 10 shows a lookup table showing the correspondence relationship between the value of the evaluation index "search accuracy" and the value of the parameter "search range coefficient".

ルックアップテーブルTB1の評価指標「検索精度」の欄には、例えば再現率である検索精度の値である「VL11」、「VL12」、「VL13」、「VL14」等が格納される。なお、図10の例では、「VL11」といった抽象的な符号で示すが、検索精度の値は具体的な数値(例えば0.65や0.9等)である。 The column of the evaluation index "retrieval accuracy" of the lookup table TB1 stores, for example, "VL11", "VL12", "VL13", "VL14", etc., which are retrieval accuracy values, which are recall rates. Note that in the example of FIG. 10, an abstract code such as "VL11" is used, but the search accuracy value is a specific numerical value (eg, 0.65, 0.9, etc.).

また、ルックアップテーブルTB1のパラメータ「検索範囲係数」の欄には、例えば「ε」である検索範囲係数の値である「VL21」、「VL22」、「VL23」、「VL24」等が格納される。なお、図10の例では、「VL21」といった抽象的な符号で示すが、検索範囲係数の値は具体的な数値(例えば0.05や0.2等)である。 In addition, in the column of the parameter "search range coefficient" of the lookup table TB1, "VL21", "VL22", "VL23", "VL24", etc., which are the values of the search range coefficient such as "ε", are stored. be. In the example of FIG. 10, an abstract code such as "VL21" is used, but the value of the search range coefficient is a specific numerical value (for example, 0.05 or 0.2).

このように、ルックアップテーブルTB1は、検索精度の値「VL11」が、検索範囲係数の値「VL21」に対応付けられ、検索精度の値「VL12」が、検索範囲係数の値「VL22」に対応付けられていることを示す。 Thus, in the lookup table TB1, the search precision value "VL11" is associated with the search range coefficient value "VL21", and the search precision value "VL12" is associated with the search range coefficient value "VL22". Indicates that it is associated.

また、ルックアップテーブルTB2の評価指標「処理時間」の欄には、検索処理に要する時間である処理時間の値である「PT11」等が格納される。なお、図10の例では、「PT11」といった抽象的な符号で示すが、処理時間の値は具体的な数値(例えば0.5秒や30秒等)である。 In the column of the evaluation index "processing time" of the lookup table TB2, "PT11", etc., which is the value of the processing time, which is the time required for the search processing, is stored. Note that in the example of FIG. 10, an abstract code such as "PT11" is used, but the value of the processing time is a specific numerical value (for example, 0.5 seconds, 30 seconds, etc.).

また、ルックアップテーブルTB2のパラメータ「検索範囲係数」の欄には、例えば「ε」である検索範囲係数の値である「VL31」等が格納される。 Also, in the column of the parameter "search range coefficient" of the lookup table TB2, "VL31", etc., which is the value of the search range coefficient, for example, "ε", is stored.

このように、ルックアップテーブルTB2は、処理時間の値「PT11」が、検索範囲係数の値「VL31」に対応付けられていることを示す。 Thus, the lookup table TB2 indicates that the processing time value "PT11" is associated with the search range coefficient value "VL31".

なお、変換用情報記憶部125は、上記に限らず、目的に応じて種々の情報を記憶してもよい。変換用情報記憶部125は、各テーブルTB1~TB3等の各々から生成した関数の情報を記憶してもよい。例えば、変換用情報記憶部125は、各テーブルTB1における、評価指標「検索精度」の値と、パラメータ「検索範囲係数」の値との対応関係を基に生成された関数を、テーブルTB1に対応付けて記憶してもよい。 Note that the conversion information storage unit 125 may store various types of information, not limited to the above, depending on the purpose. The conversion information storage unit 125 may store function information generated from each of the tables TB1 to TB3. For example, the conversion information storage unit 125 stores a function generated based on the correspondence relationship between the value of the evaluation index "search accuracy" and the value of the parameter "search range coefficient" in each table TB1. You can also store it with it.

(制御部130)
図5の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
(control unit 130)
Returning to the description of FIG. 5, the control unit 130 is a controller, and is stored in a storage device inside the information processing apparatus 100 by, for example, a CPU (Central Processing Unit) or an MPU (Micro Processing Unit). Various programs (corresponding to an example of an information processing program) are executed by using the RAM as a work area. Also, the control unit 130 is a controller, and is implemented by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

図5に示すように、制御部130は、取得部131と、生成部132と、変換部133と、決定部134と、検索部135と、提供部136とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図5に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。 As shown in FIG. 5, the control unit 130 includes an acquisition unit 131, a generation unit 132, a conversion unit 133, a determination unit 134, a search unit 135, and a provision unit 136, and has information described below. Realize or perform the function or action of a process. Note that the internal configuration of the control unit 130 is not limited to the configuration shown in FIG. 5, and may be another configuration as long as it performs information processing described later.

(取得部131)
取得部131は、各種情報を取得する。取得部131は、記憶部120から各種情報を取得する。取得部131は、オブジェクト情報記憶部121や、ツリー情報記憶部122や、グラフ情報記憶部123や、近似正解検索結果情報記憶部124や、変換用情報記憶部125等から各種情報を取得する。
(Acquisition unit 131)
Acquisition unit 131 acquires various types of information. Acquisition unit 131 acquires various types of information from storage unit 120 . The acquisition unit 131 acquires various types of information from the object information storage unit 121, the tree information storage unit 122, the graph information storage unit 123, the approximate correct search result information storage unit 124, the conversion information storage unit 125, and the like.

また、取得部131は、各種情報を外部の情報処理装置から受信する。取得部131は、端末装置10等の外部装置から各種情報を取得する。取得部131は、グラフ情報記憶部123からグラフ情報を取得する。取得部131は、ツリー情報記憶部122からツリー情報を取得する。 Acquisition unit 131 also receives various types of information from an external information processing device. The acquisition unit 131 acquires various types of information from an external device such as the terminal device 10 . The acquisition unit 131 acquires graph information from the graph information storage unit 123 . The acquisition unit 131 acquires tree information from the tree information storage unit 122 .

取得部131は、複数のオブジェクトを検索対象とするインデックスを取得する。取得部131は、複数のオブジェクトを検索対象とするインデックスを用いた近似検索の評価指標の値を指定する指定値を取得する。取得部131は、評価指標の値に対応する近似検索で用いるパラメータの値を示す変換用情報を取得する。 The acquisition unit 131 acquires an index for searching a plurality of objects. The acquisition unit 131 acquires a designated value that designates a value of an evaluation index for approximate search using an index that searches for a plurality of objects. The acquisition unit 131 acquires conversion information indicating parameter values used in approximate search corresponding to evaluation index values.

取得部131は、複数のオブジェクトの各々に対応する複数のノードがエッジにより連結されたグラフをインデックスとして用いた近似検索の指定値を取得する。取得部131は、評価指標の各値とパラメータの各値との対応関係を示すルックアップテーブルを変換用情報として取得する。取得部131は、評価指標の値を入力として、入力された評価指標の値に対応するパラメータに値を出力する関数を変換用情報として取得する。 The acquisition unit 131 acquires a designated value for approximate search using a graph in which a plurality of nodes corresponding to each of a plurality of objects are connected by edges as an index. The acquisition unit 131 acquires, as conversion information, a lookup table that indicates the correspondence between each value of the evaluation index and each value of the parameter. The acquisition unit 131 acquires, as conversion information, a function for inputting the value of the evaluation index and outputting a value to the parameter corresponding to the input value of the evaluation index.

取得部131は、グラフ情報記憶部123からグラフGR11を取得する。取得部131は、オブジェクト情報記憶部121(図6参照)からデータセットDS1を取得する。取得部131は、ツリー情報記憶部122からツリー情報IND11を取得する。 The acquisition unit 131 acquires the graph GR11 from the graph information storage unit 123. FIG. The acquisition unit 131 acquires the data set DS1 from the object information storage unit 121 (see FIG. 6). Acquisition unit 131 acquires tree information IND11 from tree information storage unit 122 .

取得部131は、近似正解検索結果を取得する。取得部131は、クエリQE1を対象とする近似正解検索結果を取得する。取得部131は、クエリQE1を用いて、k個(kは任意の数)のノードを近似ノードとして抽出した結果を示す近似正解検索結果を取得する。取得部131は、近似正解検索結果情報記憶部124(図9参照)からクエリQE1に対応する近似正解検索結果を取得する。 The acquisition unit 131 acquires an approximate correct search result. The acquisition unit 131 acquires approximate correct search results for the query QE1. The acquisition unit 131 acquires an approximate correct search result indicating a result of extracting k (k is an arbitrary number) nodes as approximate nodes using the query QE1. The obtaining unit 131 obtains the approximate correct search result corresponding to the query QE1 from the approximate correct search result information storage unit 124 (see FIG. 9).

取得部131は、端末装置10から検索精度(再現率)の指定値「VL11-2」を取得する。取得部131は、クエリQE21をユーザU1が利用する端末装置10から取得する。 The acquisition unit 131 acquires the designated value “VL11-2” of the search accuracy (recall rate) from the terminal device 10 . The acquisition unit 131 acquires the query QE21 from the terminal device 10 used by the user U1.

(生成部132)
生成部132は、各種情報を生成する。生成部132は、記憶部120に記憶された各種情報に基づいて、種々の情報を生成する。生成部132は、オブジェクト情報記憶部121や、ツリー情報記憶部122や、グラフ情報記憶部123や、近似正解検索結果情報記憶部124や、変換用情報記憶部125等に基づいて、各種情報を生成する。
(Generating unit 132)
The generator 132 generates various types of information. The generation unit 132 generates various information based on various information stored in the storage unit 120 . The generation unit 132 generates various types of information based on the object information storage unit 121, the tree information storage unit 122, the graph information storage unit 123, the approximate correct search result information storage unit 124, the conversion information storage unit 125, and the like. Generate.

生成部132は、取得部131により取得された各種情報に基づいて、種々の情報を生成する。生成部132は、変換部133により変換された各種情報に基づいて、種々の情報を生成する。生成部132は、決定部134により決定された各種情報に基づいて、種々の情報を生成する。生成部132は、検索部135により抽出された各種情報に基づいて、種々の情報を生成する。生成部132は、グラフ情報を生成してもよい。 The generation unit 132 generates various information based on the various information acquired by the acquisition unit 131 . The generator 132 generates various information based on the various information converted by the converter 133 . The generation unit 132 generates various information based on the various information determined by the determination unit 134 . The generation unit 132 generates various information based on the various information extracted by the search unit 135 . The generator 132 may generate graph information.

生成部132は、インデックスを用いた検索処理を含む生成処理により、ルックアップテーブルを生成する。生成部132は、複数のオブジェクトから選択された評価用オブジェクトに基づく評価用クエリを用いた検索処理を含む生成処理により、ルックアップテーブルを生成する。生成部132は、複数のオブジェクトから選択された複数の評価用オブジェクトを用いて生成される評価用クエリを用いた検索処理を含む生成処理により、ルックアップテーブルを生成する。生成部132は、複数の評価用オブジェクトの平均を評価用クエリとする検索処理を含む生成処理により、ルックアップテーブルを生成する。 The generation unit 132 generates a lookup table by generation processing including search processing using an index. The generation unit 132 generates a lookup table by generation processing including search processing using an evaluation query based on an evaluation object selected from a plurality of objects. The generation unit 132 generates a lookup table by a generation process including a search process using an evaluation query generated using a plurality of evaluation objects selected from a plurality of objects. The generation unit 132 generates a lookup table by a generation process including a search process that uses the average of a plurality of evaluation objects as an evaluation query.

生成部132は、評価用クエリを用いた近似検索の結果である近似正解検索結果を生成し、生成した近似正解検索結果を用いた評価指標を測定する測定処理を含む生成処理により、ルックアップテーブルを生成する。生成部132は、インデックスがグラフである場合、当該グラフを用いた検索処理における探索範囲を決定するための係数である検索範囲係数を調整することにより、近似正解検索結果を生成する。生成部132は、検索範囲係数の値を第1値から増加させ、近似検索の結果に新たなオブジェクトが出現しなくなった時点の第2値を、近似正解検索結果を生成する際の検索範囲係数の値として用いる。 The generation unit 132 generates an approximate correct search result that is a result of an approximate search using the evaluation query, and generates a lookup table by a generation process including a measurement process of measuring an evaluation index using the generated approximate correct search result. to generate When the index is a graph, the generation unit 132 generates an approximate correct search result by adjusting a search range coefficient, which is a coefficient for determining the search range in search processing using the graph. The generation unit 132 increases the value of the search range coefficient from the first value, and uses the second value at the time when no new object appears in the approximate search result as the search range coefficient when generating the approximate correct search result. used as the value of

生成部132は、複数のオブジェクトから評価用オブジェクトを除いたオブジェクト群を検索対象とするインデックスを用いた検索処理を含む生成処理により、ルックアップテーブルを生成する。生成部132は、パラメータの複数の値の各々を用いた検索処理により得られた評価指標の複数の値の各々を、対応するパラメータの複数の値の各々に対応付ける生成処理により、ルックアップテーブルを生成する。 The generation unit 132 generates a lookup table by a generation process including a search process using an index that searches for a group of objects excluding the evaluation object from the plurality of objects. The generation unit 132 generates a lookup table by generation processing that associates each of the plurality of values of the evaluation index obtained by the search processing using each of the plurality of values of the parameter with each of the plurality of values of the corresponding parameter. Generate.

生成部132は、ルックアップテーブルを用いて、評価指標の値を入力として、入力された評価指標の値に対応するパラメータに値を出力する関数を生成する。例えば、生成部132は、各テーブルTB1における評価指標「検索精度」の値と、パラメータ「検索範囲係数」の値との対応関係を基に、評価指標「検索精度」の値を入力として、その値に対応するパラメータ「検索範囲係数」の値を出力する関数(近似関数)を生成する。例えば、情報処理装置100は、関数のフィッティングに関する種々の技術を適宜用いて、評価指標「検索精度」の値を入力として、その値に対応するパラメータ「検索範囲係数」の値を出力する近似関数を生成してもよい。なお、上記は一例に過ぎず、情報処理装置100は、評価指標の値をパラメータの値に変換可能であれば、どのような処理により関数を生成してもよい。また、情報処理装置100が生成する近似関数は、線形関数であってもよいし、非線形関数であってもよい。 The generation unit 132 uses a lookup table to generate a function that receives an evaluation index value and outputs a value to a parameter corresponding to the input evaluation index value. For example, the generation unit 132 inputs the value of the evaluation index “search accuracy” based on the correspondence relationship between the value of the evaluation index “search accuracy” and the value of the parameter “search range coefficient” in each table TB1, Generate a function (approximation function) that outputs the value of the parameter "search range coefficient" corresponding to the value. For example, the information processing apparatus 100 appropriately uses various techniques related to function fitting, receives the value of the evaluation index "search accuracy" as an input, and outputs the value of the parameter "search range coefficient" corresponding to the value. may be generated. Note that the above is merely an example, and the information processing apparatus 100 may generate a function by any process as long as the value of the evaluation index can be converted into the value of the parameter. Also, the approximate function generated by the information processing apparatus 100 may be a linear function or a non-linear function.

生成部132は、グラフを生成する。生成部132は、データセットDS1中の全オブジェクトを用いて、グラフを生成してもよいし、データセットDS1のうち一部のオブジェクトを用いて、グラフを生成してもよい。例えば。生成部132は、データセットDS1のうち、オブジェクトOB3等を除く、オブジェクトOB1、OB2、OB101等の一部のオブジェクトを用いて、グラフを生成してもよい。生成部132は、データセットDS1中の全オブジェクトを用いて、グラフGR11を生成する。生成部132は、グラフ生成に関する種々の技術を適宜用いて、グラフGR11を生成する。生成部132は、図1中のグラフGR11に示すように、ノードN1~N3、N43、N53等の複数のノード(ベクトル)を含むグラフ情報を生成する。 The generator 132 generates a graph. The generation unit 132 may generate the graph using all objects in the data set DS1, or may generate the graph using some objects in the data set DS1. for example. The generation unit 132 may generate the graph using some objects such as the objects OB1, OB2, and OB101, excluding the object OB3 and the like, in the data set DS1. The generator 132 uses all the objects in the data set DS1 to generate the graph GR11. The generation unit 132 appropriately uses various techniques related to graph generation to generate the graph GR11. The generation unit 132 generates graph information including a plurality of nodes (vectors) such as nodes N1 to N3, N43, and N53, as shown in graph GR11 in FIG.

生成部132は、各オブジェクトに対応する各ノードから所定数以上の出力エッジが他のエッジに連結されるように、グラフGR11を生成する。生成部132は、グラフGR11における各ノードが、そのノードとの間の距離が近い方から所定数のノードへのエッジ(出力エッジ)が連結されるようにグラフGR11を生成する。 The generation unit 132 generates the graph GR11 such that a predetermined number or more of output edges from each node corresponding to each object are connected to other edges. The generation unit 132 generates the graph GR11 such that each node in the graph GR11 is connected to a predetermined number of edges (output edges) from the node closest to the node.

生成部132は、近似検索または近傍検索に関する種々の技術を適宜用いて、クエリQE1に対応する近似正解検索結果を生成する。例えば、生成部132は、図12に示すような処理により、クエリQE1に対応する近似正解検索結果を生成する。この場合、生成部132は、後述する検索範囲係数「ε」の値を所定値以上大きくして、図12に示すような処理をグラフGR11を用いて行うことにより、クエリQE1に対応する近似正解検索結果を生成する。生成部132は、クエリQE1に対応する近似正解検索結果RR1を生成する。 The generation unit 132 appropriately uses various techniques related to approximate search or neighborhood search to generate an approximate correct search result corresponding to the query QE1. For example, the generation unit 132 generates an approximate correct search result corresponding to the query QE1 by performing the process shown in FIG. 12 . In this case, the generation unit 132 increases the value of the search range coefficient “ε” (to be described later) by a predetermined value or more, and performs the process shown in FIG. Generate search results. The generation unit 132 generates an approximate correct search result RR1 corresponding to the query QE1.

(変換部133)
変換部133は、各種情報を変換する。変換部133は、記憶部120に記憶された各種情報に基づいて、種々の情報を変換する。変換部133は、オブジェクト情報記憶部121や、ツリー情報記憶部122や、グラフ情報記憶部123や、近似正解検索結果情報記憶部124や、変換用情報記憶部125等に基づいて、各種情報を変換する。変換部133は、取得部131により取得された各種情報に基づいて、種々の情報を変換する。変換部133は、生成部132により生成された各種情報に基づいて、種々の情報を変換する。変換部133は、検索部135により抽出された各種情報に基づいて、種々の情報を変換する。変換部133は、決定部134により決定された各種情報に基づいて、種々の情報を変換する。
(Converter 133)
The conversion unit 133 converts various information. The conversion unit 133 converts various information based on the various information stored in the storage unit 120 . The conversion unit 133 converts various types of information based on the object information storage unit 121, the tree information storage unit 122, the graph information storage unit 123, the approximate correct search result information storage unit 124, the conversion information storage unit 125, and the like. Convert. The conversion unit 133 converts various information based on the various information acquired by the acquisition unit 131 . The conversion unit 133 converts various information based on the various information generated by the generation unit 132 . The conversion unit 133 converts various information based on the various information extracted by the search unit 135 . The conversion unit 133 converts various information based on the various information determined by the determination unit 134 .

変換部133は、取得部131により取得された変換用情報に基づいて、評価指標の指定値を近似検索で用いるパラメータの値に変換する。変換部133は、評価指標の指定値を、グラフを用いた近似検索で用いるパラメータの値に変換する。変換部133は、ルックアップテーブルを参照して、評価指標の指定値を近似検索で用いるパラメータの値に変換する。変換部133は、評価指標の指定値を関数に入力することにより、評価指標の指定値を近似検索で用いるパラメータの値に変換する。 Based on the conversion information acquired by the acquisition unit 131, the conversion unit 133 converts the specified value of the evaluation index into the value of the parameter used in the approximate search. The conversion unit 133 converts the designated value of the evaluation index into the value of the parameter used in the approximate search using the graph. The conversion unit 133 refers to the lookup table and converts the specified value of the evaluation index into the value of the parameter used in the approximate search. The conversion unit 133 inputs the specified value of the evaluation index into the function, thereby converting the specified value of the evaluation index into the value of the parameter used in the approximate search.

変換部133は、ルックアップテーブルに評価指標の指定値が含まれない場合、補間処理により、評価指標の指定値からパラメータの値を求める。変換部133は、補間処理により、検索精度の指定値「VL11-2」を検索範囲係数「ε」の値「VL21-2」に変換する。 If the lookup table does not include the specified value of the evaluation index, the conversion unit 133 obtains the value of the parameter from the specified value of the evaluation index by interpolation processing. The conversion unit 133 converts the designated value “VL11-2” of the search accuracy into the value “VL21-2” of the search range coefficient “ε” by interpolation processing.

(決定部134)
決定部134は、各種情報を決定する。決定部134は、各種情報を生成する。決定部134は、各種情報を選択する。決定部134は、記憶部120に記憶された各種情報に基づいて、種々の情報を決定する。決定部134は、オブジェクト情報記憶部121や、ツリー情報記憶部122や、グラフ情報記憶部123や、近似正解検索結果情報記憶部124や、変換用情報記憶部125等に基づいて、各種情報を決定する。
(Determination unit 134)
The determination unit 134 determines various types of information. The determination unit 134 generates various information. The determination unit 134 selects various information. The determination unit 134 determines various information based on various information stored in the storage unit 120 . The determination unit 134 determines various types of information based on the object information storage unit 121, the tree information storage unit 122, the graph information storage unit 123, the approximate correct search result information storage unit 124, the conversion information storage unit 125, and the like. decide.

決定部134は、取得部131により取得された各種情報に基づいて、種々の情報を決定する。決定部134は、取得部131により取得された各種情報に基づいて、種々の情報を判定する。決定部134は、変換部133により変換された各種情報に基づいて、種々の情報を決定する。決定部134は、検索部135により検索された各種情報に基づいて、種々の情報を決定する。 The determination unit 134 determines various information based on the various information acquired by the acquisition unit 131 . The determination unit 134 determines various information based on the various information acquired by the acquisition unit 131 . The determination unit 134 determines various information based on the various information converted by the conversion unit 133 . The determination unit 134 determines various information based on the various information searched by the search unit 135 .

決定部134は、評価用クエリを決定する。決定部134は、データセットDS1から評価用クエリの生成に用いるオブジェクトを選択する。決定部134は、データセットDS1からランダムに二つ以上の所定数のオブジェクトを評価用オブジェクトとして選択する。決定部134は、データセットDS1からオブジェクトOB500とオブジェクトOB1000との2つのオブジェクトを評価用オブジェクトとして選択する。 The determination unit 134 determines an evaluation query. The determining unit 134 selects an object to be used for generating an evaluation query from the data set DS1. The determining unit 134 randomly selects a predetermined number of two or more objects from the data set DS1 as evaluation objects. The determination unit 134 selects two objects, the object OB500 and the object OB1000, from the data set DS1 as evaluation objects.

決定部134は、与えられたデータセットからクエリオブジェクトを生成する。決定部134は、データセットからランダムに選択したオブジェクト、または、ランダムに選択した二つ以上のオブジェクトの平均値であるクエリオブジェクト(評価用クエリ)を生成する。決定部134は、オブジェクトOB500とオブジェクトOB1000との平均である「7,35,13,93...」の多次元のベクトル情報を生成する。決定部134は、評価用クエリRQ1に示すように、オブジェクトOB500とオブジェクトOB1000とに基づいて、クエリQE1を生成する。 The decision unit 134 creates a query object from the given data set. The determination unit 134 generates a query object (evaluation query) that is an object randomly selected from the data set or an average value of two or more randomly selected objects. The determination unit 134 generates multidimensional vector information of "7, 35, 13, 93..." which is the average of the object OB500 and the object OB1000. The determination unit 134 generates a query QE1 based on the object OB500 and the object OB1000, as shown in the evaluation query RQ1.

(検索部135)
検索部135は、インデックスを用いた近似検索の処理を行う。検索部135は、記憶部120に記憶された各種情報に基づいて、種々の情報を検索する。検索部135は、オブジェクト情報記憶部121や、ツリー情報記憶部122や、グラフ情報記憶部123や、近似正解検索結果情報記憶部124や、変換用情報記憶部125等に基づいて、各種情報を検索する。検索部135は、取得部131により取得された各種情報に基づいて、種々の情報を検索する。検索部135は、生成部132により生成された各種情報に基づいて、種々の情報を検索する。検索部135は、変換部133により変換された各種情報に基づいて、種々の情報を検索する。検索部135は、決定部134により決定された各種情報に基づいて、種々の情報を検索する。検索部135は、検索により各種情報を抽出する。
(Search unit 135)
The search unit 135 performs approximate search processing using an index. The search unit 135 searches various information based on the various information stored in the storage unit 120 . The search unit 135 retrieves various types of information based on the object information storage unit 121, the tree information storage unit 122, the graph information storage unit 123, the approximate correct search result information storage unit 124, the conversion information storage unit 125, and the like. search for. The search unit 135 searches for various information based on the various information acquired by the acquisition unit 131 . The search unit 135 searches for various information based on the various information generated by the generation unit 132 . The search unit 135 searches various information based on the various information converted by the conversion unit 133 . The search unit 135 searches various information based on the various information determined by the determination unit 134 . The search unit 135 extracts various information by searching.

検索部135は、近似検索を、変換用情報に基づいて評価指標の指定値が変換されたパラメータの値を用いて実行する。検索部135は、クエリに近似(類似)するノードである近似ノードを抽出する。検索部135は、グラフ情報を探索することにより、オブジェクトを検索する。検索部135は、取得部131により取得されたクエリが取得された場合、グラフ情報を探索することにより、クエリに類似するオブジェクトを検索する。検索部135は、グラフデータを探索することにより、クエリに類似するオブジェクトを抽出する。検索部135は、図12に示すような処理手順に基づいて、グラフデータを探索することにより、クエリに類似するオブジェクトを抽出する。 The search unit 135 executes the approximate search using the parameter values obtained by converting the specified values of the evaluation index based on the conversion information. The search unit 135 extracts an approximate node, which is a node that approximates (similar to) the query. The search unit 135 searches for objects by searching graph information. When the query acquired by the acquisition unit 131 is acquired, the retrieval unit 135 retrieves an object similar to the query by searching the graph information. The search unit 135 extracts objects similar to the query by searching the graph data. The search unit 135 extracts objects similar to the query by searching the graph data based on the processing procedure shown in FIG.

検索部135は、クエリQE1を中心とする半径r内の範囲AR1と、クエリQE1を中心とする半径r(1+ε)内の範囲AR2とを用いて、グラフGR11を検索し、近似ノードを抽出する。検索部135は、検索範囲係数「ε」の値を「VL21-2」に設定し、クエリQE21を対象としてグラフデータGD1のグラフを用いた近似検索の処理を実行する。 The search unit 135 searches the graph GR11 using a range AR1 centered on the query QE1 within a radius r and a range AR2 centered on the query QE1 within a radius r(1+ε) to extract approximate nodes. . The search unit 135 sets the value of the search range coefficient “ε” to “VL21-2” and executes approximate search processing using the graph of the graph data GD1 for the query QE21.

(提供部136)
提供部136は、各種情報を提供する。提供部136は、端末装置10や情報提供装置50に各種情報を提供する。提供部136は、端末装置10に各種情報を送信する。提供部136は、検索部135により抽出された各種情報に基づいて、種々の情報を提供する。
(Providing unit 136)
The providing unit 136 provides various information. The providing unit 136 provides various types of information to the terminal device 10 and the information providing device 50 . The providing unit 136 transmits various information to the terminal device 10 . The providing unit 136 provides various information based on the various information extracted by the searching unit 135 .

提供部136は、検索部135により抽出された近似ノードに関する情報を提供する。提供部136は、近似ノードに関する情報を所定のユーザが利用する端末装置10(図4参照)に提供する。提供部136は、クエリの送信元へ検索結果を提供する。提供部136は、ユーザU1が利用する端末装置10に検索結果を送信する。 The providing unit 136 provides information on approximate nodes extracted by the searching unit 135 . The providing unit 136 provides information about approximate nodes to the terminal device 10 (see FIG. 4) used by a predetermined user. The providing unit 136 provides search results to the sender of the query. The providing unit 136 transmits the search result to the terminal device 10 used by the user U1.

〔5.情報処理のフロー〕
次に、図11を用いて、実施形態に係る情報処理システム1による情報処理の手順について説明する。図11は、実施形態に係る情報処理の一例を示すフローチャートである。
[5. Information processing flow]
Next, the procedure of information processing by the information processing system 1 according to the embodiment will be described with reference to FIG. 11 . FIG. 11 is a flowchart illustrating an example of information processing according to the embodiment;

図11に示すように、情報処理装置100は、複数のオブジェクトを検索対象とするインデックスを用いた近似検索の評価指標の値を指定する指定値を取得する(ステップS101)。例えば、情報処理装置100は、オブジェクト情報記憶部121(図6参照)から、データセットDS1を取得する。 As shown in FIG. 11, the information processing apparatus 100 acquires a designated value that designates the value of the evaluation index for approximate search using an index that searches for a plurality of objects (step S101). For example, the information processing device 100 acquires the data set DS1 from the object information storage unit 121 (see FIG. 6).

そして、情報処理装置100は、評価指標の値に対応する近似検索で用いるパラメータの値を示す変換用情報を取得する(ステップS102)。例えば、情報処理装置100は、変換用情報記憶部(図10参照)から、ルックアップテーブルTB1を取得する。 Then, the information processing apparatus 100 acquires conversion information indicating parameter values used in approximate search corresponding to the value of the evaluation index (step S102). For example, the information processing apparatus 100 acquires the lookup table TB1 from the conversion information storage unit (see FIG. 10).

そして、情報処理装置100は、変換用情報に基づいて、評価指標の指定値を近似検索で用いるパラメータの値に変換する(ステップS103)。情報処理装置100は、変換したパラメータの値を用いて近似検索を実行する(ステップS104)。 Then, the information processing apparatus 100 converts the specified value of the evaluation index into the value of the parameter used in the approximate search based on the conversion information (step S103). The information processing apparatus 100 executes an approximate search using the converted parameter values (step S104).

〔6.検索処理のフロー〕
次に、情報処理装置100による検索処理のフローについて、図12を一例として説明する。図12は、実施形態に係る情報処理の一例を示すフローチャートである。具体的には、図12は、グラフデータを用いた検索処理の一例を示すフローチャートである。なお、図12に示す検索処理には、選択処理も含まれる。以下に説明する検索処理は、情報処理装置100によって行われる。また、以下でいうオブジェクトは、ノードと読み替えてもよい。なお、情報処理装置100によるグラフデータを用いた検索は下記に限らず、種々の手順により行われてもよい。
[6. Flow of search processing]
Next, the flow of search processing by the information processing apparatus 100 will be described with reference to FIG. 12 as an example. FIG. 12 is a flowchart illustrating an example of information processing according to the embodiment; Specifically, FIG. 12 is a flowchart showing an example of search processing using graph data. Note that the search processing shown in FIG. 12 also includes selection processing. The search processing described below is performed by the information processing apparatus 100 . Also, the object referred to below may be read as a node. Note that the search using the graph data by the information processing apparatus 100 is not limited to the following, and may be performed by various procedures.

ここでは、近傍集合N(G,y)は、ノードyに付与されているエッジにより関連付けられている近傍のオブジェクトの集合である。例えば、近傍集合N(G,y)は、ノードyからの出力エッジが連結されたオブジェクト(ノード)の集合である。「G」は、所定のグラフデータ(例えば、グラフGR11等)であってもよい。例えば、情報処理装置100は、k近傍検索処理を実行する。 Here, the neighborhood set N(G,y) is the set of neighborhood objects that are related by the edges attached to node y. For example, the neighborhood set N(G,y) is the set of objects (nodes) to which the outgoing edges from node y are connected. "G" may be predetermined graph data (for example, graph GR11, etc.). For example, the information processing apparatus 100 executes k-nearest neighbor search processing.

例えば、情報処理装置100は、超球の半径rを∞(無限大)に設定し(ステップS300)、既存のオブジェクト集合から集合Sを抽出する(ステップS301)。例えば、情報処理装置100は、起点ノードとして決定(選択)されたオブジェクト(ノード)を集合Sとして抽出してもよい。また、例えば、超球とは、検索範囲を示す仮想的な球である。なお、ステップS301において抽出された集合Sに含まれるオブジェクト(ノード)は、検索結果(抽出候補)の集合Rの初期集合にも含められる。また、ステップS301において抽出された集合Sに含まれるオブジェクト(ノード)は、集合Cに含められてもよい。集合Cは、重複検索を回避するために便宜上設けられるものであり、処理開始時には空集合に設定されてもよい。 For example, the information processing apparatus 100 sets the radius r of the hypersphere to ∞ (infinity) (step S300), and extracts the set S from the existing object set (step S301). For example, the information processing apparatus 100 may extract, as a set S, objects (nodes) determined (selected) as origin nodes. Also, for example, a hypersphere is a virtual sphere that indicates a search range. The objects (nodes) included in the set S extracted in step S301 are also included in the initial set of the set R of the search results (extraction candidates). Also, the objects (nodes) included in the set S extracted in step S301 may be included in the set C. FIG. Set C is provided for convenience in order to avoid duplicate searches, and may be set to an empty set at the start of processing.

次に、情報処理装置100は、集合Sに含まれるオブジェクトの中で、検索クエリオブジェクトをyとするとオブジェクトyとの距離が最も短いオブジェクトを抽出し、オブジェクトsとする(ステップS302)。次に、情報処理装置100は、オブジェクトsを集合Sから除外する(ステップS303)。 Next, the information processing apparatus 100 extracts an object having the shortest distance from the object y, where y is the search query object, among the objects included in the set S, and sets it as an object s (step S302). Next, the information processing apparatus 100 excludes the object s from the set S (step S303).

次に、情報処理装置100は、オブジェクトsとオブジェクトyとの距離d(s,y)がr(1+ε)を超えるか否かを判定する(ステップS304)。ここで、εは拡張要素であり、r(1+ε)は、探索範囲(この範囲内のノードのみを探索する。検索範囲よりも大きくすることで精度を高めることができる)の半径を示す値である。オブジェクトsとオブジェクトyとの距離d(s,y)がr(1+ε)を超える場合(ステップS304:Yes)、情報処理装置100は、集合Rをオブジェクトyの近傍集合として出力し(ステップS305)、処理を終了する。 Next, the information processing apparatus 100 determines whether or not the distance d(s, y) between the object s and the object y exceeds r(1+ε) (step S304). Here, ε is an expansion factor, and r(1+ε) is a value that indicates the radius of the search range (only nodes within this range are searched; making it larger than the search range increases the accuracy). be. If the distance d(s, y) between object s and object y exceeds r(1+ε) (step S304: Yes), information processing apparatus 100 outputs set R as a neighborhood set of object y (step S305). , terminate the process.

オブジェクトsと検索クエリオブジェクトyとの距離d(s,y)がr(1+ε)を超えない場合(ステップS304:No)、情報処理装置100は、オブジェクトsの近傍集合N(G,s)の要素であるオブジェクトの中から集合Cに含まれないオブジェクトを、所定の基準に基づいて一つ選択し、選択したオブジェクトuを、集合Cに格納する(ステップS306)。 If the distance d(s, y) between the object s and the search query object y does not exceed r(1+ε) (step S304: No), the information processing device 100 determines the neighborhood set N(G, s) of the object s. One object that is not included in set C is selected from the element objects based on a predetermined criterion, and the selected object u is stored in set C (step S306).

次に、情報処理装置100は、オブジェクトuとオブジェクトyとの距離d(u,y)がr(1+ε)以下であるか否かを判定する(ステップS307)。オブジェクトuとオブジェクトyとの距離d(u,y)がr(1+ε)以下である場合(ステップS307:Yes)、情報処理装置100は、オブジェクトuを集合Sに追加する(ステップS308)。また、オブジェクトuとオブジェクトyとの距離d(u,y)がr(1+ε)以下ではない場合(ステップS307:No)、情報処理装置100は、ステップS309の判定(処理)を行う。 Next, the information processing apparatus 100 determines whether or not the distance d(u, y) between the object u and the object y is r(1+ε) or less (step S307). If the distance d(u, y) between the object u and the object y is less than or equal to r(1+ε) (step S307: Yes), the information processing apparatus 100 adds the object u to the set S (step S308). If the distance d(u, y) between the object u and the object y is not less than r(1+ε) (step S307: No), the information processing apparatus 100 performs determination (processing) in step S309.

次に、情報処理装置100は、オブジェクトuとオブジェクトyとの距離d(u,y)がr以下であるか否かを判定する(ステップS309)。オブジェクトuとオブジェクトyとの距離d(u,y)がrを超える場合、情報処理装置100は、ステップS315の判定(処理)を行う。また、オブジェクトuとオブジェクトyとの距離d(u,y)がr以下ではない場合(ステップS309:No)、情報処理装置100は、ステップS315の判定(処理)を行う。 Next, the information processing apparatus 100 determines whether or not the distance d(u, y) between the object u and the object y is less than or equal to r (step S309). When the distance d(u, y) between the object u and the object y exceeds r, the information processing apparatus 100 performs determination (processing) in step S315. If the distance d(u, y) between the object u and the object y is not equal to or less than r (step S309: No), the information processing apparatus 100 performs determination (processing) in step S315.

オブジェクトuとオブジェクトyとの距離d(u,y)がr以下である場合(ステップS309:Yes)、情報処理装置100は、オブジェクトuを集合Rに追加する(ステップS310)。そして、情報処理装置100は、集合Rに含まれるオブジェクト数がksを超えるか否かを判定する(ステップS311)。所定数ksは、任意に定められる自然数である。例えば、ksは、検索における抽出数を示し、「3」や「20」や「100」等の任意の値であってもよい。集合Rに含まれるオブジェクト数がksを超えない場合(ステップS311:No)、情報処理装置100は、ステップS313の判定(処理)を行う。 If the distance d(u, y) between the object u and the object y is less than or equal to r (step S309: Yes), the information processing apparatus 100 adds the object u to the set R (step S310). Then, the information processing apparatus 100 determines whether or not the number of objects included in the set R exceeds ks (step S311). The predetermined number ks is an arbitrarily determined natural number. For example, ks indicates the number of extractions in a search, and may be any value such as "3", "20", or "100". When the number of objects included in the set R does not exceed ks (step S311: No), the information processing apparatus 100 performs determination (processing) in step S313.

集合Rに含まれるオブジェクト数がksを超える場合(ステップS311:Yes)、情報処理装置100は、集合Rに含まれるオブジェクトの中でオブジェクトyとの距離が最も長い(遠い)オブジェクトを、集合Rから除外する(ステップS312)。 When the number of objects included in the set R exceeds ks (step S311: Yes), the information processing apparatus 100 selects an object with the longest (farthest) distance from the object y among the objects included in the set R as the object in the set R (step S312).

次に、情報処理装置100は、集合Rに含まれるオブジェクト数がksと一致するか否かを判定する(ステップS313)。集合Rに含まれるオブジェクト数がksと一致しない場合(ステップS313:No)、情報処理装置100は、ステップS315の判定(処理)を行う。また、集合Rに含まれるオブジェクト数がksと一致する場合(ステップS313:Yes)、情報処理装置100は、集合Rに含まれるオブジェクトの中でオブジェクトyとの距離が最も長い(遠い)オブジェクトと、オブジェクトyとの距離を、新たなrに設定する(ステップS314)。 Next, the information processing apparatus 100 determines whether or not the number of objects included in the set R matches ks (step S313). When the number of objects included in the set R does not match ks (step S313: No), the information processing apparatus 100 performs determination (processing) in step S315. If the number of objects included in the set R matches ks (step S313: Yes), the information processing apparatus 100 selects the object with the longest (farthest) distance from the object y among the objects included in the set R. , to the object y is set to a new r (step S314).

そして、情報処理装置100は、オブジェクトsの近傍集合N(G,s)の要素であるオブジェクトから閾値に対応する個数のオブジェクトを選択したか否かを判定する(ステップS315)。なお、情報処理装置100は、閾値を用いない場合、オブジェクトsの近傍集合N(G,s)の要素であるオブジェクトから全てのオブジェクトを選択したか否かを判定してもよい。オブジェクトsの近傍集合N(G,s)の要素であるオブジェクトから閾値に対応する個数のオブジェクトを選択していない場合(ステップS315:No)、情報処理装置100は、ステップS306に戻って処理を繰り返す。 Then, the information processing apparatus 100 determines whether the number of objects corresponding to the threshold has been selected from the objects that are elements of the neighborhood set N(G, s) of the object s (step S315). Note that, when the threshold is not used, the information processing apparatus 100 may determine whether or not all objects have been selected from objects that are elements of the neighborhood set N(G, s) of the object s. If the number of objects corresponding to the threshold has not been selected from the objects that are elements of the neighborhood set N(G, s) of the object s (step S315: No), the information processing apparatus 100 returns to step S306 to perform the process. repeat.

オブジェクトsの近傍集合N(G,s)の要素であるオブジェクトから閾値に対応する個数のオブジェクトを選択した場合(ステップS315:Yes)、情報処理装置100は、集合Sが空集合であるか否かを判定する(ステップS316)。なお、情報処理装置100は、オブジェクトsの近傍集合N(G,s)から閾値に対応する個数までオブジェクトを選択する前であっても、オブジェクトsの近傍集合N(G,s)中の全オブジェクトが選択済みである場合、ステップS316の処理を行ってもよい。すなわち、情報処理装置100は、オブジェクトsの近傍集合N(G,s)中のオブジェクト数が閾値以下であり、近傍集合N(G,s)中の全オブジェクトを選択した場合、ステップS315がYesである場合と同様に、ステップS316の処理を行ってもよい。集合Sが空集合でない場合(ステップS316:No)、情報処理装置100は、ステップS302に戻って処理を繰り返す。また、集合Sが空集合である場合(ステップS316:Yes)、情報処理装置100は、集合Rを出力し、処理を終了する(ステップS317)。例えば、情報処理装置100は、集合Rに含まれるオブジェクト(ノード)を検索クエリ(入力オブジェクトy)に対応する検索結果として、検索を行った端末装置10等へ提供してもよい。 When the number of objects corresponding to the threshold is selected from the objects that are elements of the neighborhood set N(G, s) of the object s (step S315: Yes), the information processing apparatus 100 determines whether the set S is an empty set. is determined (step S316). It should be noted that the information processing apparatus 100 selects all objects in the neighborhood set N(G, s) of the object s even before selecting objects from the neighborhood set N(G, s) of the object s up to the number corresponding to the threshold value. If the object has been selected, the process of step S316 may be performed. That is, when the number of objects in the neighborhood set N(G, s) of the object s is equal to or less than the threshold and all objects in the neighborhood set N(G, s) are selected, the information processing apparatus 100 determines Yes in step S315. You may perform the process of step S316 similarly to the case where it is. If the set S is not an empty set (step S316: No), the information processing apparatus 100 returns to step S302 and repeats the process. If the set S is an empty set (step S316: Yes), the information processing apparatus 100 outputs the set R and ends the process (step S317). For example, the information processing apparatus 100 may provide objects (nodes) included in the set R as search results corresponding to the search query (input object y) to the terminal apparatus 10 or the like that performed the search.

〔7.効果〕
上述してきたように、実施形態に係る情報処理装置100は、取得部131と、変換部133とを有する。取得部131は、複数のオブジェクトを検索対象とするインデックスを用いた近似検索の評価指標の値を指定する指定値と、評価指標の値に対応する近似検索で用いるパラメータの値を示す変換用情報とを取得する。変換部133は、取得部131により取得された変換用情報に基づいて、評価指標の指定値を近似検索で用いるパラメータの値に変換する。
[7. effect〕
As described above, the information processing apparatus 100 according to the embodiment has the acquisition unit 131 and the conversion unit 133 . The acquisition unit 131 acquires a specified value that specifies the value of the evaluation index for approximate search using an index that searches for multiple objects, and conversion information that indicates the value of the parameter used in the approximate search corresponding to the value of the evaluation index. and get. Based on the conversion information acquired by the acquisition unit 131, the conversion unit 133 converts the specified value of the evaluation index into the value of the parameter used in the approximate search.

このように、実施形態に係る情報処理装置100は、指定された評価指標の値を、近似検索で用いるパラメータの値に変換することにより、指定された評価指標の値に対応するパラメータの値を適切に導出することができる。したがって、情報処理装置100は、適切なパラメータの値を用いた近似検索を可能にすることができる。 As described above, the information processing apparatus 100 according to the embodiment converts the value of the designated evaluation index into the value of the parameter used in the approximate search, thereby obtaining the value of the parameter corresponding to the value of the designated evaluation index. can be properly derived. Therefore, the information processing apparatus 100 can enable approximate retrieval using appropriate parameter values.

また、実施形態に係る情報処理装置100において、取得部131は、複数のオブジェクトの各々に対応する複数のノードがエッジにより連結されたグラフをインデックスとして用いた近似検索の指定値を取得する。変換部133は、評価指標の指定値を、グラフを用いた近似検索で用いるパラメータの値に変換する。 Further, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 acquires a designated value for approximate search using, as an index, a graph in which a plurality of nodes corresponding to each of a plurality of objects are connected by edges. The conversion unit 133 converts the designated value of the evaluation index into the value of the parameter used in the approximate search using the graph.

このように、実施形態に係る情報処理装置100は、指定された評価指標の値を、グラフを用いた近似検索で用いるパラメータの値に変換することにより、指定された評価指標の値に対応するパラメータの値を適切に導出することができる。 As described above, the information processing apparatus 100 according to the embodiment converts the value of the specified evaluation index into the value of the parameter used in the approximate search using the graph, thereby corresponding to the value of the specified evaluation index. Parameter values can be derived appropriately.

また、実施形態に係る情報処理装置100において、パラメータは、グラフを用いた検索処理における探索範囲を決定するための係数である検索範囲係数である。 Further, in the information processing apparatus 100 according to the embodiment, the parameter is a search range coefficient that is a coefficient for determining a search range in search processing using a graph.

このように、実施形態に係る情報処理装置100は、グラフを用いた検索処理における探索範囲を決定するための係数である検索範囲係数の値を、指定された評価指標の値から適切に導出することができる。したがって、情報処理装置100は、適切な検索範囲係数の値を用いた近似検索を可能にすることができる。 As described above, the information processing apparatus 100 according to the embodiment appropriately derives the value of the search range coefficient, which is a coefficient for determining the search range in the search process using the graph, from the value of the specified evaluation index. be able to. Therefore, the information processing apparatus 100 can perform approximate searches using appropriate search range coefficient values.

また、実施形態に係る情報処理装置100において、取得部131は、評価指標の各値とパラメータの各値との対応関係を示すルックアップテーブルを変換用情報として取得する。変換部133は、ルックアップテーブルを参照して、評価指標の指定値を近似検索で用いるパラメータの値に変換する。 Further, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 acquires a lookup table indicating the correspondence between each value of the evaluation index and each value of the parameter as conversion information. The conversion unit 133 refers to the lookup table and converts the specified value of the evaluation index into the value of the parameter used in the approximate search.

このように、実施形態に係る情報処理装置100は、ルックアップテーブルを参照して、評価指標の指定値を近似検索で用いるパラメータの値に変換することにより、指定された評価指標の値に対応するパラメータの値を適切に導出することができる。 As described above, the information processing apparatus 100 according to the embodiment refers to the lookup table and converts the specified value of the evaluation index into the value of the parameter used in the approximate search, thereby corresponding to the value of the specified evaluation index. It is possible to appropriately derive the values of the parameters to be used.

また、実施形態に係る情報処理装置100は、生成部132を有する。生成部132は、インデックスを用いた検索処理を含む生成処理により、ルックアップテーブルを生成する。 Further, the information processing apparatus 100 according to the embodiment has a generation unit 132 . The generation unit 132 generates a lookup table by generation processing including search processing using an index.

このように、実施形態に係る情報処理装置100は、ルックアップテーブルを生成することにより、ルックアップテーブルを参照して、指定された評価指標の値に対応するパラメータの値を適切に導出することができる。 As described above, the information processing apparatus 100 according to the embodiment generates the lookup table, refers to the lookup table, and appropriately derives the parameter value corresponding to the designated evaluation index value. can be done.

また、実施形態に係る情報処理装置100において、生成部132は、複数のオブジェクトから選択された評価用オブジェクトに基づく評価用クエリを用いた検索処理を含む生成処理により、ルックアップテーブルを生成する。 Further, in the information processing apparatus 100 according to the embodiment, the generation unit 132 generates a lookup table by generation processing including search processing using an evaluation query based on an evaluation object selected from a plurality of objects.

このように、実施形態に係る情報処理装置100は、複数のオブジェクトから選択された評価用オブジェクトに基づく評価用クエリを用いた検索処理により、ルックアップテーブルを適切に生成することができる。 As described above, the information processing apparatus 100 according to the embodiment can appropriately generate a lookup table through search processing using an evaluation query based on an evaluation object selected from a plurality of objects.

また、実施形態に係る情報処理装置100において、生成部132は、複数のオブジェクトから選択された複数の評価用オブジェクトを用いて生成される評価用クエリを用いた検索処理を含む生成処理により、ルックアップテーブルを生成する。 In addition, in the information processing apparatus 100 according to the embodiment, the generation unit 132 performs look Generate an uptable.

このように、実施形態に係る情報処理装置100は、複数のオブジェクトから選択された複数の評価用オブジェクトから生成される評価用クエリを用いた検索処理により、ルックアップテーブルを適切に生成することができる。 As described above, the information processing apparatus 100 according to the embodiment can appropriately generate a lookup table by a search process using an evaluation query generated from a plurality of evaluation objects selected from a plurality of objects. can.

また、実施形態に係る情報処理装置100において、生成部132は、複数の評価用オブジェクトの平均を評価用クエリとする検索処理を含む生成処理により、ルックアップテーブルを生成する。 Further, in the information processing apparatus 100 according to the embodiment, the generation unit 132 generates a lookup table by a generation process including a search process using the average of a plurality of evaluation objects as an evaluation query.

このように、実施形態に係る情報処理装置100は、複数の評価用オブジェクトの平均を評価用クエリとして用いた検索処理により、ルックアップテーブルを適切に生成することができる。 In this way, the information processing apparatus 100 according to the embodiment can appropriately generate a lookup table through search processing using an average of multiple evaluation objects as an evaluation query.

また、実施形態に係る情報処理装置100において、生成部132は、評価用クエリを用いた近似検索の結果である近似正解検索結果を生成し、生成した近似正解検索結果を用いた評価指標を測定する測定処理を含む生成処理により、ルックアップテーブルを生成する。 In addition, in the information processing apparatus 100 according to the embodiment, the generation unit 132 generates approximate correct search results that are results of approximate searches using the evaluation query, and measures an evaluation index using the generated approximate correct search results. A lookup table is generated by a generation process including a measurement process.

このように、実施形態に係る情報処理装置100は、近似正解検索結果を用いて評価指標を測定することにより、ルックアップテーブルを適切に生成することができる。 As described above, the information processing apparatus 100 according to the embodiment can appropriately generate a lookup table by measuring an evaluation index using approximate correct search results.

また、実施形態に係る情報処理装置100において、生成部132は、インデックスがグラフである場合、当該グラフを用いた検索処理における探索範囲を決定するための係数である検索範囲係数を調整することにより、近似正解検索結果を生成する。 Further, in the information processing apparatus 100 according to the embodiment, when the index is a graph, the generation unit 132 adjusts the search range coefficient, which is a coefficient for determining the search range in search processing using the graph. , to generate approximate correct search results.

このように、実施形態に係る情報処理装置100は、インデックスがグラフである場合、検索範囲係数を調整して生成した近似正解検索結果を用いて評価指標を測定することにより、ルックアップテーブルを適切に生成することができる。 As described above, when the index is a graph, the information processing apparatus 100 according to the embodiment measures the evaluation index using the approximate correct search result generated by adjusting the search range coefficient, thereby appropriately adjusting the lookup table. can be generated to

また、実施形態に係る情報処理装置100において、生成部132は、検索範囲係数の値を第1値から増加させ、近似検索の結果に新たなオブジェクトが出現しなくなった時点の第2値を、近似正解検索結果を生成する際の検索範囲係数の値として用いる。 Further, in the information processing apparatus 100 according to the embodiment, the generation unit 132 increases the value of the search range coefficient from the first value, and sets the second value at the time when no new object appears in the approximate search result to Used as the value of the search range coefficient when generating approximate correct search results.

このように、実施形態に係る情報処理装置100は、検索範囲係数の値を変動させて、近似正解検索結果の生成に適切な検索範囲係数を導出することで、ルックアップテーブルを適切に生成することができる。 As described above, the information processing apparatus 100 according to the embodiment appropriately generates a lookup table by varying the value of the search range coefficient and deriving a search range coefficient suitable for generating approximate correct search results. be able to.

また、実施形態に係る情報処理装置100において、生成部132は、複数のオブジェクトから評価用オブジェクトを除いたオブジェクト群を検索対象とするインデックスを用いた検索処理を含む生成処理により、ルックアップテーブルを生成する。 Further, in the information processing apparatus 100 according to the embodiment, the generation unit 132 generates a lookup table by a generation process including a search process using an index in which a group of objects excluding an evaluation object from a plurality of objects is a search target. Generate.

このように、実施形態に係る情報処理装置100は、複数のオブジェクトから評価用オブジェクトを除いたオブジェクト群を検索対象とする検索処理により、ルックアップテーブルを適切に生成することができる。 As described above, the information processing apparatus 100 according to the embodiment can appropriately generate a lookup table by a search process in which a group of objects other than the evaluation object is searched from the plurality of objects.

また、実施形態に係る情報処理装置100において、生成部132は、パラメータの複数の値の各々を用いた検索処理により得られた評価指標の複数の値の各々を、対応するパラメータの複数の値の各々に対応付ける生成処理により、ルックアップテーブルを生成する。 Further, in the information processing apparatus 100 according to the embodiment, the generation unit 132 converts each of the plurality of values of the evaluation index obtained by the search process using each of the plurality of values of the parameter into the plurality of values of the corresponding parameter. A lookup table is generated by a generation process associated with each of .

このように、実施形態に係る情報処理装置100は、パラメータの各値と評価指標の各値とを対応付けることにより、ルックアップテーブルを適切に生成することができる。 In this manner, the information processing apparatus 100 according to the embodiment can appropriately generate a lookup table by associating each parameter value with each evaluation index value.

また、実施形態に係る情報処理装置100において、生成部132は、ルックアップテーブルを用いて、評価指標の値を入力として、入力された評価指標の値に対応するパラメータに値を出力する関数を生成する。 Further, in the information processing apparatus 100 according to the embodiment, the generation unit 132 uses a lookup table to generate a function that outputs a value to a parameter corresponding to the input evaluation index value. Generate.

このように、実施形態に係る情報処理装置100は、ルックアップテーブルを用いることで、評価指標の値を入力として、入力された評価指標の値に対応するパラメータに値を出力する関数を生成することができる。 As described above, the information processing apparatus 100 according to the embodiment uses a lookup table to generate a function that receives an evaluation index value as an input and outputs a value to a parameter corresponding to the input evaluation index value. be able to.

また、実施形態に係る情報処理装置100において、取得部131は、評価指標の値を入力として、入力された評価指標の値に対応するパラメータに値を出力する関数を変換用情報として取得する。変換部133は、評価指標の指定値を関数に入力することにより、評価指標の指定値を近似検索で用いるパラメータの値に変換する。 Further, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 acquires, as conversion information, a function that outputs a value to a parameter corresponding to the input evaluation index value by inputting the value of the evaluation index. The conversion unit 133 inputs the specified value of the evaluation index into the function, thereby converting the specified value of the evaluation index into the value of the parameter used in the approximate search.

このように、実施形態に係る情報処理装置100は、評価指標の指定値を関数に入力し、評価指標の指定値を近似検索で用いるパラメータの値に変換することにより、指定された評価指標の値に対応するパラメータの値を適切に導出することができる。 As described above, the information processing apparatus 100 according to the embodiment inputs the specified value of the evaluation index into the function, and converts the specified value of the evaluation index into the value of the parameter used in the approximate search. The value of the parameter corresponding to the value can be appropriately derived.

また、実施形態に係る情報処理装置100は、検索部135を有する。検索部135は、近似検索を、変換用情報に基づいて評価指標の指定値が変換されたパラメータの値を用いて実行する。 The information processing apparatus 100 according to the embodiment also has a search unit 135 . The search unit 135 executes the approximate search using the parameter values obtained by converting the specified values of the evaluation index based on the conversion information.

このように、実施形態に係る情報処理装置100は、近似検索を、変換用情報に基づいて評価指標の指定値が変換されたパラメータの値を用いて実行することで、適切なパラメータの値を用いた近似検索を行うことができる。 As described above, the information processing apparatus 100 according to the embodiment performs approximate search using parameter values obtained by converting specified values of evaluation indices based on conversion information, thereby obtaining appropriate parameter values. You can perform an approximate search using

また、実施形態に係る情報処理装置100において、評価指標は、インデックスを用いた検索処理の検索精度である。 Also, in the information processing apparatus 100 according to the embodiment, the evaluation index is the search accuracy of the search process using the index.

このように、実施形態に係る情報処理装置100は、インデックスを用いた検索処理の検索精度の値を、近似検索で用いるパラメータの値に変換することにより、指定された検索精度の値に対応するパラメータの値を適切に導出することができる。したがって、情報処理装置100は、適切なパラメータの値を用いた近似検索を可能にすることができる。 As described above, the information processing apparatus 100 according to the embodiment converts the search accuracy value of the search process using the index into the value of the parameter used in the approximate search, thereby corresponding to the designated search accuracy value. Parameter values can be derived appropriately. Therefore, the information processing apparatus 100 can enable approximate retrieval using appropriate parameter values.

また、実施形態に係る情報処理装置100において、評価指標は、インデックスを用いた検索処理の処理時間である。 Further, in the information processing apparatus 100 according to the embodiment, the evaluation index is the processing time of search processing using the index.

このように、実施形態に係る情報処理装置100は、インデックスを用いた検索処理の処理時間の値を、近似検索で用いるパラメータの値に変換することにより、指定された処理時間の値に対応するパラメータの値を適切に導出することができる。したがって、情報処理装置100は、適切なパラメータの値を用いた近似検索を可能にすることができる。 As described above, the information processing apparatus 100 according to the embodiment converts the value of the processing time of the search process using the index into the value of the parameter used in the approximate search, thereby corresponding to the value of the specified processing time. Parameter values can be derived appropriately. Therefore, the information processing apparatus 100 can enable approximate retrieval using appropriate parameter values.

また、実施形態に係る情報処理装置100において、複数のオブジェクトの各々は、電子商取引サービスにおいて取引される取引対象に対応する。 Also, in the information processing apparatus 100 according to the embodiment, each of the plurality of objects corresponds to a transaction target traded in the electronic commerce service.

このように、実施形態に係る情報処理装置100は、電子商取引サービスにおいて取引される取引対象に対応する複数のオブジェクトを対象とする近似検索を、適切なパラメータの値を用いて実行することを可能にすることができる。 In this way, the information processing apparatus 100 according to the embodiment can execute an approximate search targeting a plurality of objects corresponding to transaction targets traded in an electronic commerce service, using appropriate parameter values. can be

実施形態に係る情報検索装置(実施形態では情報処理装置100)は、取得部131と、検索部135とを有する。取得部131は、複数のオブジェクトを検索対象とするインデックスと、インデックスを用いた近似検索の評価指標の値を指定する指定値と、評価指標の値に対応する近似検索で用いるパラメータの値を示す変換用情報とを取得する。検索部135は、近似検索を、変換用情報に基づいて評価指標の指定値が変換されたパラメータの値を用いて実行する。 An information retrieval device according to the embodiment (the information processing device 100 in the embodiment) has an acquisition unit 131 and a retrieval unit 135 . The acquisition unit 131 indicates an index for searching a plurality of objects, a specified value for specifying an evaluation index value for approximate search using the index, and a parameter value used in the approximate search corresponding to the evaluation index value. Acquire conversion information. The search unit 135 executes the approximate search using the parameter values obtained by converting the specified values of the evaluation index based on the conversion information.

このように、実施形態に係る情報処理装置100は、インデックスを用いた近似検索を、変換用情報に基づいて評価指標の指定値が変換されたパラメータの値を用いて実行することにより、適切なパラメータの値を用いた近似検索を可能にすることができる。 As described above, the information processing apparatus 100 according to the embodiment executes an approximate search using an index using a parameter value obtained by converting a designated value of an evaluation index based on conversion information, thereby obtaining an appropriate Approximate search using parameter values can be enabled.

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

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

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

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

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

例えば、コンピュータ1000が実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。 For example, when the computer 1000 functions as the information processing apparatus 100 according to the embodiment, the CPU 1100 of the computer 1000 implements the functions of the control unit 130 by executing programs loaded on the RAM 1200 . The CPU 1100 of the computer 1000 reads these programs from the recording medium 1800 and executes them, but as another example, these programs may be acquired via the network N from another device.

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

〔9.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
[9. 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 process described in each embodiment described above can be appropriately combined within a range in which the contents of the process are not inconsistent.

また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。 Also, the above-mentioned "section, module, unit" can be read as "means" or "circuit". For example, the acquisition unit can be read as acquisition means or an acquisition circuit.

1 情報処理システム
100 情報処理装置
120 記憶部
121 オブジェクト情報記憶部
122 ツリー情報記憶部
123 グラフ情報記憶部
124 近似正解検索結果情報記憶部
125 変換用情報記憶部
130 制御部
131 取得部
132 生成部
133 変換部
134 決定部
135 検索部
136 提供部
10 端末装置
50 情報提供装置
N ネットワーク
1 information processing system 100 information processing device 120 storage unit 121 object information storage unit 122 tree information storage unit 123 graph information storage unit 124 approximate correct search result information storage unit 125 conversion information storage unit 130 control unit 131 acquisition unit 132 generation unit 133 conversion unit 134 determination unit 135 search unit 136 provision unit 10 terminal device 50 information provision device N network

Claims (24)

複数のオブジェクトを検索対象とするインデックスを用いた近似検索の評価指標の値を指定する指定値であって、前記近似検索を要求するユーザが指定した指定値を、前記ユーザが利用する端末装置から取得し、前記評価指標の値に対応する前記近似検索で用いるパラメータの値を示す変換用情報を記憶部から取得する取得部と、
前記取得部により取得された前記変換用情報に基づいて、前記ユーザが指定した前記指定値を、前記ユーザに結果を提供するための前記近似検索で用いる前記パラメータの値に変換する変換部と、
を備えることを特徴とする情報処理装置。
A specified value specifying a value of an evaluation index for an approximate search using an index that searches a plurality of objects, the specified value specified by the user requesting the approximate search being sent from the terminal device used by the user an acquisition unit that acquires , from a storage unit, conversion information indicating the value of a parameter used in the approximate search corresponding to the value of the evaluation index;
a conversion unit that converts the specified value specified by the user into the value of the parameter used in the approximate search for providing results to the user, based on the conversion information acquired by the acquisition unit;
An information processing device comprising:
前記取得部は、
前記複数のオブジェクトの各々に対応する複数のノードがエッジにより連結されたグラフを前記インデックスとして用いた前記近似検索の前記指定値を取得し、
前記変換部は、
前記評価指標の前記指定値を、前記グラフを用いた前記近似検索で用いる前記パラメータの値に変換する
ことを特徴とする請求項1に記載の情報処理装置。
The acquisition unit
obtaining the specified value of the approximate search using a graph in which a plurality of nodes corresponding to each of the plurality of objects are connected by edges as the index;
The conversion unit
2. The information processing apparatus according to claim 1, wherein said designated value of said evaluation index is converted into a value of said parameter used in said approximate search using said graph.
前記パラメータは、
前記グラフを用いた検索処理における探索範囲を決定するための係数である検索範囲係数である
ことを特徴とする請求項2に記載の情報処理装置。
Said parameters are:
3. The information processing apparatus according to claim 2, wherein the search range coefficient is a coefficient for determining a search range in search processing using the graph.
前記取得部は、
前記評価指標の各値と前記パラメータの各値との対応関係を示すルックアップテーブルを前記変換用情報として取得し、
前記変換部は、
前記ルックアップテーブルを参照して、前記評価指標の前記指定値を前記近似検索で用いる前記パラメータの値に変換する
ことを特徴とする請求項1~3のいずれか1項に記載の情報処理装置。
The acquisition unit
obtaining, as the conversion information, a lookup table indicating a correspondence relationship between each value of the evaluation index and each value of the parameter;
The conversion unit
4. The information processing apparatus according to any one of claims 1 to 3, wherein the designated value of the evaluation index is converted into the value of the parameter used in the approximate search by referring to the lookup table. .
前記インデックスを用いた検索処理を含む生成処理により、前記ルックアップテーブルを生成する生成部、
をさらに備えることを特徴とする請求項4に記載の情報処理装置。
a generation unit that generates the lookup table by generation processing including search processing using the index;
5. The information processing apparatus according to claim 4, further comprising:
前記生成部は、
前記複数のオブジェクトから選択された評価用オブジェクトに基づく評価用クエリを用いた前記検索処理を含む前記生成処理により、前記ルックアップテーブルを生成する
ことを特徴とする請求項5に記載の情報処理装置。
The generating unit
6. The information processing apparatus according to claim 5, wherein the lookup table is generated by the generating process including the search process using the evaluation query based on the evaluation object selected from the plurality of objects. .
前記生成部は、
前記複数のオブジェクトから選択された複数の評価用オブジェクトを用いて生成される評価用クエリを用いた前記検索処理を含む前記生成処理により、前記ルックアップテーブルを生成する
ことを特徴とする請求項5または請求項6に記載の情報処理装置。
The generating unit
6. The lookup table is generated by the generation process including the search process using the evaluation query generated using a plurality of evaluation objects selected from the plurality of objects. 7. The information processing apparatus according to claim 6.
前記生成部は、
前記複数の評価用オブジェクトの平均を前記評価用クエリとする前記検索処理を含む前記生成処理により、前記ルックアップテーブルを生成する
ことを特徴とする請求項7に記載の情報処理装置。
The generating unit
8. The information processing apparatus according to claim 7, wherein the lookup table is generated by the generating process including the search process using an average of the plurality of evaluation objects as the evaluation query.
前記生成部は、
前記評価用クエリを用いた前記近似検索の結果である近似正解検索結果を生成し、生成した前記近似正解検索結果を用いた前記評価指標を測定する測定処理を含む前記生成処理により、前記ルックアップテーブルを生成する
ことを特徴とする請求項6~8のいずれか1項に記載の情報処理装置。
The generating unit
generating an approximate correct search result that is a result of the approximate search using the evaluation query; 9. The information processing apparatus according to any one of claims 6 to 8, wherein a table is generated.
前記生成部は、
前記インデックスがグラフである場合、当該グラフを用いた検索処理における探索範囲を決定するための係数である検索範囲係数を調整することにより、前記近似正解検索結果を生成する
ことを特徴とする請求項9に記載の情報処理装置。
The generating unit
3. When the index is a graph, the approximate correct search result is generated by adjusting a search range coefficient, which is a coefficient for determining a search range in search processing using the graph. 10. The information processing device according to 9.
前記生成部は、
前記検索範囲係数の値を第1値から増加させ、前記近似検索の結果に新たなオブジェクトが出現しなくなった時点の第2値を、前記近似正解検索結果を生成する際の前記検索範囲係数の値として用いる
ことを特徴とする請求項10に記載の情報処理装置。
The generating unit
The value of the search range coefficient is increased from the first value, and the second value at the time when no new object appears in the approximate search result is used as the search range coefficient when generating the approximate correct search result. 11. The information processing apparatus according to claim 10, wherein the value is used.
前記生成部は、
前記複数のオブジェクトから前記評価用オブジェクトを除いたオブジェクト群を検索対象とする前記インデックスを用いた前記検索処理を含む前記生成処理により、前記ルックアップテーブルを生成する
ことを特徴とする請求項6~11のいずれか1項に記載の情報処理装置。
The generating unit
6. The lookup table is generated by the generation process including the search process using the index for searching a group of objects excluding the evaluation object from the plurality of objects. 12. The information processing device according to any one of 11.
前記生成部は、
前記パラメータの複数の値の各々を用いた前記検索処理により得られた前記評価指標の複数の値の各々を、対応する前記パラメータの複数の値の各々に対応付ける前記生成処理により、前記ルックアップテーブルを生成する
ことを特徴とする請求項5~12のいずれか1項に記載の情報処理装置。
The generating unit
The lookup table is generated by the generating process that associates each of the plurality of values of the evaluation index obtained by the search process using each of the plurality of values of the parameter with each of the corresponding plurality of values of the parameter. 13. The information processing apparatus according to any one of claims 5 to 12, characterized in that it generates .
前記生成部は、
前記ルックアップテーブルを用いて、前記評価指標の値を入力として、入力された前記評価指標の値に対応する前記パラメータに値を出力する関数を生成する
ことを特徴とする請求項5~13のいずれか1項に記載の情報処理装置。
The generating unit
The method according to any one of claims 5 to 13, wherein the lookup table is used to generate a function that receives the value of the evaluation index as an input and outputs a value to the parameter corresponding to the input value of the evaluation index. The information processing apparatus according to any one of items 1 and 2.
前記取得部は、
前記評価指標の値を入力として、入力された前記評価指標の値に対応する前記パラメータに値を出力する関数を前記変換用情報として取得し、
前記変換部は、
前記評価指標の前記指定値を前記関数に入力することにより、前記評価指標の前記指定値を前記近似検索で用いる前記パラメータの値に変換する
ことを特徴とする請求項1~3のいずれか1項に記載の情報処理装置。
The acquisition unit
Acquiring, as the conversion information, a function that uses the value of the evaluation index as an input and outputs a value to the parameter corresponding to the input value of the evaluation index;
The conversion unit
4. The specified value of the evaluation index is converted into the value of the parameter used in the approximate search by inputting the specified value of the evaluation index into the function. The information processing device according to the item.
前記近似検索を、前記変換用情報に基づいて前記評価指標の前記指定値が変換された前記パラメータの値を用いて実行する検索部、
ことを特徴とする請求項1~15のいずれか1項に記載の情報処理装置。
a search unit that executes the approximate search using the parameter value obtained by converting the specified value of the evaluation index based on the conversion information;
16. The information processing apparatus according to any one of claims 1 to 15, characterized by:
前記評価指標は、
前記インデックスを用いた検索処理の検索精度である
ことを特徴とする請求項1~16のいずれか1項に記載の情報処理装置。
The evaluation index is
17. The information processing apparatus according to any one of claims 1 to 16, wherein the index is search accuracy of search processing using the index.
前記評価指標は、
前記インデックスを用いた検索処理の処理時間である
ことを特徴とする請求項1~16のいずれか1項に記載の情報処理装置。
The evaluation index is
The information processing apparatus according to any one of claims 1 to 16, characterized in that it is a processing time of search processing using said index.
前記複数のオブジェクトの各々は、
電子商取引サービスにおいて取引される取引対象に対応する
ことを特徴とする請求項1~18のいずれか1項に記載の情報処理装置。
Each of the plurality of objects includes:
19. The information processing device according to any one of claims 1 to 18, which corresponds to a transaction object traded in an electronic commerce service.
コンピュータが実行する情報処理方法であって、
複数のオブジェクトを検索対象とするインデックスを用いた近似検索の評価指標の値を指定する指定値であって、前記近似検索を要求するユーザが指定した指定値を、前記ユーザが利用する端末装置から取得し、前記評価指標の値に対応する前記近似検索で用いるパラメータの値を示す変換用情報を記憶部から取得する取得工程と、
前記取得工程により取得された前記変換用情報に基づいて、前記ユーザが指定した前記指定値を、前記ユーザに結果を提供するための前記近似検索で用いる前記パラメータの値に変換する変換工程と、
を含むことを特徴とする情報処理方法。
A computer-executed information processing method comprising:
A specified value specifying a value of an evaluation index for an approximate search using an index that searches a plurality of objects, the specified value specified by the user requesting the approximate search being sent from the terminal device used by the user an obtaining step of obtaining , from a storage unit, conversion information indicating the value of the parameter used in the approximate search corresponding to the value of the evaluation index;
a conversion step of converting the specified value specified by the user into a value of the parameter used in the approximate search for providing results to the user, based on the conversion information acquired by the acquisition step;
An information processing method comprising:
複数のオブジェクトを検索対象とするインデックスを用いた近似検索の評価指標の値を指定する指定値であって、前記近似検索を要求するユーザが指定した指定値を、前記ユーザが利用する端末装置から取得し、前記評価指標の値に対応する前記近似検索で用いるパラメータの値を示す変換用情報を記憶部から取得する取得手順と、
前記取得手順により取得された前記変換用情報に基づいて、前記ユーザが指定した前記指定値を、前記ユーザに結果を提供するための前記近似検索で用いる前記パラメータの値に変換する変換手順と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
A specified value specifying a value of an evaluation index for an approximate search using an index that searches a plurality of objects, the specified value specified by the user requesting the approximate search being sent from the terminal device used by the user an acquisition procedure for acquiring , from a storage unit, conversion information indicating the value of a parameter used in the approximate search corresponding to the value of the evaluation index;
a conversion step of converting the specified value specified by the user into a value of the parameter used in the approximate search for providing results to the user, based on the conversion information acquired by the acquisition step;
An information processing program characterized by causing a computer to execute
複数のオブジェクトを検索対象とするインデックスと、前記インデックスを用いた近似検索の評価指標の値を指定する指定値であって、前記近似検索を要求するユーザが指定した指定値とを、前記ユーザが利用する端末装置から取得し、前記評価指標の値に対応する前記近似検索で用いるパラメータの値を示す変換用情報を記憶部から取得する取得部と、
前記ユーザに結果を提供するための前記近似検索を、前記変換用情報に基づいて前記ユーザが指定した前記指定値が変換された前記パラメータの値を用いて実行する検索部と、
を備えることを特徴とする情報検索装置。
an index for searching a plurality of objects and a specified value specifying a value of an evaluation index for approximate search using the index, the specified value specified by a user requesting the approximate search; an acquisition unit that acquires from a storage unit conversion information indicating the value of a parameter used in the approximate search corresponding to the value of the evaluation index, which is acquired from the terminal device to be used;
a search unit that performs the approximate search for providing the result to the user , using the value of the parameter obtained by converting the specified value specified by the user based on the conversion information;
An information retrieval device comprising:
コンピュータが実行する情報検索方法であって、
複数のオブジェクトを検索対象とするインデックスと、前記インデックスを用いた近似検索の評価指標の値を指定する指定値であって、前記近似検索を要求するユーザが指定した指定値とを、前記ユーザが利用する端末装置から取得し、前記評価指標の値に対応する前記近似検索で用いるパラメータの値を示す変換用情報を記憶部から取得する取得工程と、
前記ユーザに結果を提供するための前記近似検索を、前記変換用情報に基づいて前記ユーザが指定した前記指定値が変換された前記パラメータの値を用いて実行する検索工程と、
を含むことを特徴とする情報検索方法。
A computer implemented information retrieval method comprising:
an index for searching a plurality of objects and a specified value specifying a value of an evaluation index for approximate search using the index, the specified value specified by a user requesting the approximate search; an acquisition step of acquiring from a storage unit conversion information indicating the value of the parameter used in the approximate search corresponding to the value of the evaluation index, which is acquired from the terminal device to be used;
a search step of performing the approximate search for providing results to the user using the parameter value obtained by converting the specified value specified by the user based on the conversion information;
An information retrieval method comprising:
複数のオブジェクトを検索対象とするインデックスと、前記インデックスを用いた近似検索の評価指標の値を指定する指定値であって、前記近似検索を要求するユーザが指定した指定値とを、前記ユーザが利用する端末装置から取得し、前記評価指標の値に対応する前記近似検索で用いるパラメータの値を示す変換用情報を記憶部から取得する取得手順と、
前記ユーザに結果を提供するための前記近似検索を、前記変換用情報に基づいて前記評価指標の前記指定値が変換された前記パラメータの値を用いて実行する検索手順と、
をコンピュータに実行させることを特徴とする情報検索プログラム。
an index for searching a plurality of objects and a specified value specifying a value of an evaluation index for approximate search using the index, the specified value specified by a user requesting the approximate search; an acquisition procedure for acquiring , from a storage unit, conversion information indicating a parameter value used in the approximate search corresponding to the value of the evaluation index, acquired from the terminal device to be used;
a search procedure for executing the approximate search for providing results to the user using the parameter values obtained by converting the specified values of the evaluation index based on the conversion information;
An information retrieval program characterized by causing a computer to execute
JP2020133955A 2020-08-06 2020-08-06 Information processing device, information processing method, information processing program, information retrieval device, information retrieval method, and information retrieval program Active JP7208955B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020133955A JP7208955B2 (en) 2020-08-06 2020-08-06 Information processing device, information processing method, information processing program, information retrieval device, information retrieval method, and information retrieval program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020133955A JP7208955B2 (en) 2020-08-06 2020-08-06 Information processing device, information processing method, information processing program, information retrieval device, information retrieval method, and information retrieval program

Publications (2)

Publication Number Publication Date
JP2022030165A JP2022030165A (en) 2022-02-18
JP7208955B2 true JP7208955B2 (en) 2023-01-19

Family

ID=80323913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020133955A Active JP7208955B2 (en) 2020-08-06 2020-08-06 Information processing device, information processing method, information processing program, information retrieval device, information retrieval method, and information retrieval program

Country Status (1)

Country Link
JP (1) JP7208955B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017134582A (en) 2016-01-27 2017-08-03 ヤフー株式会社 Graph index search device and operation method of graph index search device
JP2019194815A (en) 2018-05-02 2019-11-07 ヤフー株式会社 Information processing apparatus, information processing method, and information processing program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017134582A (en) 2016-01-27 2017-08-03 ヤフー株式会社 Graph index search device and operation method of graph index search device
JP2019194815A (en) 2018-05-02 2019-11-07 ヤフー株式会社 Information processing apparatus, information processing method, and information processing program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
岩崎 雅二郎,外1名,「木構造型インデックスを用いた近似k最近傍グラフによる近傍検索」,情報処理学会論文誌 論文誌ジャーナル,日本,一般社団法人情報処理学会,2011年02月15日,第52巻 Vol.52 No.2 ,p.817-828

Also Published As

Publication number Publication date
JP2022030165A (en) 2022-02-18

Similar Documents

Publication Publication Date Title
WO2019241034A1 (en) Providing query recommendations
JP7080803B2 (en) Information processing equipment, information processing methods, and information processing programs
JP2019125257A (en) Information processing device, information processing method, and information processing program
JP6959164B2 (en) Generation device, generation method, and generation program
JP7118920B2 (en) Image retrieval device and image retrieval method
CN113901278A (en) Data search method and device based on global multi-detection and adaptive termination
JP2019125124A (en) Extraction device, extraction method and extraction program
JP7208955B2 (en) Information processing device, information processing method, information processing program, information retrieval device, information retrieval method, and information retrieval program
JP7221590B2 (en) Extraction device, extraction method, and extraction program
JP7121706B2 (en) Information processing device, information processing method, and information processing program
JP7330756B2 (en) Information processing device, information processing method, and information processing program
JP2019128796A (en) Display program, display method, and display device
JP6974248B2 (en) Information processing equipment, information processing methods, and information processing programs
JP6293335B1 (en) Generating device, generating method, and generating program
JP7122293B2 (en) Information processing device, information processing method, and information processing program
CN113780827B (en) Article screening method and device, electronic equipment and computer readable medium
JP7239433B2 (en) Information processing device, information processing method, and information processing program
JP7130019B2 (en) Information processing device, information processing method, and information processing program
JP7119154B2 (en) Information processing device, information processing method, and information processing program
JP7158870B2 (en) Information processing device, information processing method, and information processing program
JP6498266B2 (en) Generating device, generating method, and generating program
JP7174017B2 (en) Information processing device, information processing method and information processing program
CN119441545B (en) Index generation method and query method based on multi-modal database
JP7388661B2 (en) Information processing device, information processing method, and information processing program
JP6856567B2 (en) Information processing equipment, information processing methods, and information processing programs

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20200824

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220825

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230106

R150 Certificate of patent or registration of utility model

Ref document number: 7208955

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250