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

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

Info

Publication number
JP7122293B2
JP7122293B2 JP2019144922A JP2019144922A JP7122293B2 JP 7122293 B2 JP7122293 B2 JP 7122293B2 JP 2019144922 A JP2019144922 A JP 2019144922A JP 2019144922 A JP2019144922 A JP 2019144922A JP 7122293 B2 JP7122293 B2 JP 7122293B2
Authority
JP
Japan
Prior art keywords
value
information processing
search
processing apparatus
information
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
JP2019144922A
Other languages
Japanese (ja)
Other versions
JP2021026575A (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 JP2019144922A priority Critical patent/JP7122293B2/en
Publication of JP2021026575A publication Critical patent/JP2021026575A/en
Application granted granted Critical
Publication of JP7122293B2 publication Critical patent/JP7122293B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

特許法第30条第2項適用 公開日 平成30年8月7日 令和1年8月13日時点における本願に関連するソフトウェアを公開するページ https://github.com/yahoojapan/NGT https://github.com/yahoojapan/NGT/releasesArticle 30, Paragraph 2 of the Patent Act is applied Publication date: August 7, 2018 Page that publishes software related to this application as of August 13, 2019 https://github. com/yahoojapan/NGT https://github. com/yahoojapan/NGT/releases

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

従来、種々の情報を検索する技術が提供されている。例えば、有向エッジや無向エッジによって生成されたグラフ(グラフ情報)を用いて検索を行う技術が提供されている。例えば、各ノードが近傍ノードに有向エッジで接続されている近傍グラフが近傍検索に利用されている。このような技術は、例えば画像検索等に用いられる。 Conventionally, techniques for retrieving various types of information have been provided. For example, there is provided a technique of performing a search using a graph (graph information) generated by directed edges and undirected edges. For example, a neighborhood graph in which each node is connected to a neighboring node by a directed edge is used for neighborhood search. Such a technique is used, for example, for image retrieval.

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

しかしながら、上記の従来技術では、複数のパラメータの値を適切に決定することが難しい場合がある。例えば、検索に用いられる閾値に静的な値(固定値)を用いる場合、柔軟な検索を実現することが難しいと言った課題がある。そのため、検索に用いられる閾値を複数のパラメータを含む関数を用いて決定することが望ましい。しかしながら、上記の従来技術では、検索に用いられる閾値を算出する関数の複数のパラメータの調整については考慮されておらず、複数のパラメータの適切に調整することが望まれている。 However, with the conventional techniques described above, it may be difficult to appropriately determine the values of a plurality of parameters. For example, when a static value (fixed value) is used as a threshold value used for search, there is a problem that it is difficult to realize flexible search. Therefore, it is desirable to determine the threshold used for retrieval using a function including multiple parameters. However, in the conventional technology described above, adjustment of multiple parameters of a function for calculating a threshold value used for retrieval is not considered, and it is desired to appropriately adjust multiple parameters.

本願は、上記に鑑みてなされたものであって、複数のパラメータの値を適切に決定する情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。 The present application has been made in view of the above, and an object thereof is to provide an information processing apparatus, an information processing method, and an information processing program for appropriately determining values of a plurality of parameters.

本願に係る情報処理装置は、検索対象となる複数のオブジェクトを含むデータセットと、前記データセットを対象とする検索に用いられる閾値を算出する関数とを取得する取得部と、前記データセットに対応する複数のノードがエッジにより連結された対象グラフと、前記閾値とを用いた検索処理を含む前記関数に含まれる複数のパラメータの各々の値を調整する調整処理により、前記複数のパラメータの各々の値を決定する決定部と、を備えたことを特徴とする。 An information processing apparatus according to the present application includes an acquisition unit that acquires a data set that includes a plurality of objects to be searched, and a function that calculates a threshold value used in a search that targets the data set; an adjustment process that adjusts the values of each of the plurality of parameters included in the function, which includes a search process using a target graph in which a plurality of nodes are connected by edges, and the threshold value. and a determination unit that determines the value.

実施形態の一態様によれば、複数のパラメータの値を適切に決定することができるという効果を奏する。 According to one aspect of the embodiment, it is possible to appropriately determine the values of a plurality of parameters.

図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 measurement processing according to the embodiment. 図3は、実施形態に係る近似正解検索結果を用いた処理の一例を示す図である。FIG. 3 is a diagram illustrating an example of processing using approximate correct search results according to the embodiment. 図4は、実施形態に係る情報処理に用いるツリーの一例を示す図である。FIG. 4 is a diagram showing an example of a tree used for information processing according to the embodiment. 図5は、実施形態に係る情報処理システムの構成例を示す図である。FIG. 5 is a diagram illustrating a configuration example of an information processing system according to the embodiment; 図6は、実施形態に係る情報処理装置の構成例を示す図である。FIG. 6 is a diagram illustrating a configuration example of an information processing apparatus according to the embodiment; 図7は、実施形態に係るオブジェクト情報記憶部の一例を示す図である。7 is a diagram illustrating an example of an object information storage unit according to the embodiment; FIG. 図8は、実施形態に係るツリー情報記憶部の一例を示す図である。8 is a diagram illustrating an example of a tree information storage unit according to the embodiment; FIG. 図9は、実施形態に係るグラフ情報記憶部の一例を示す図である。9 is a diagram illustrating an example of a graph information storage unit according to the embodiment; FIG. 図10は、実施形態に係る近似正解検索結果情報記憶部の一例を示す図である。10 is a diagram illustrating an example of an approximate correct search result information storage unit according to the embodiment; FIG. 図11は、実施形態に係る関数情報記憶部の一例を示す図である。11 is a diagram illustrating an example of a function information storage unit according to the embodiment; FIG. 図12は、実施形態に係る調整関連情報記憶部の一例を示す図である。12 is a diagram illustrating an example of an adjustment-related information storage unit according to the embodiment; FIG. 図13は、実施形態に係る情報処理の一例を示すフローチャートである。FIG. 13 is a flowchart illustrating an example of information processing according to the embodiment; 図14は、実施形態に係る情報処理の一例を示すフローチャートである。FIG. 14 is a flowchart illustrating an example of information processing according to the embodiment; 図15は、実施形態に係る情報処理の一例を示すフローチャートである。FIG. 15 is a flowchart illustrating an example of information processing according to the embodiment; 図16は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。FIG. 16 is a hardware configuration diagram showing an example of a computer that implements the functions of the information processing apparatus.

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

(実施形態)
〔1.情報処理〕
図1を用いて、実施形態に係る情報処理の一例について説明する。図1は、実施形態に係る情報処理の一例を示す図である。情報処理装置100(図6参照)が与えられたデータセットに対して実際に検索してパラメータを決定する処理について説明する。図1では、情報処理装置100がデータセットの情報を用いて、閾値を算出する関数に含まれる複数のパラメータの各々の値を調整する処理(「調整処理」ともいう)により、複数のパラメータの各々の値を決定する場合を示す。詳細は後述するが、図1の例では、グラフの検索時に参照する参照エッジ数を示す閾値TH1を算出する関数FC1のパラメータ「e」の値やパラメータ「w」の値を調整する場合を示す。以下では、パラメータ「e」を「第1パラメータ」、パラメータ「e」の値を「第1値」と記載し、パラメータ「w」を「第2パラメータ」、パラメータ「w」の値を「第2値」と記載する場合がある。なお、情報処理装置100は、上記に限らず、種々の関数に含まれる複数のパラメータを対象に調整処理を行ってもよい。
(embodiment)
[1. information processing]
An example of information processing according to the embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of information processing according to an embodiment. A process of actually searching a given data set by the information processing apparatus 100 (see FIG. 6) and determining parameters will be described. In FIG. 1 , the information processing apparatus 100 uses the data set information to adjust the values of the plurality of parameters included in the function for calculating the threshold value (also referred to as “adjustment processing”). The case of determining each value is shown. Details will be described later, but in the example of FIG. indicates Hereinafter, the parameter “e 0 ” is referred to as the “first parameter”, the value of the parameter “e 0 ” as the “first value”, the parameter “w e ” as the “second parameter”, and the parameter “w e ” as the “second parameter”. A value may be described as a "second value." Note that the information processing apparatus 100 is not limited to the above, and may perform adjustment processing on a plurality of parameters included in various functions.

図1の例では、情報処理装置100は、オブジェクトOB1、OB2、OB3、OB101等の複数のオブジェクトを含むデータセットDS1を用いて、第1パラメータの第1値及び第2パラメータの第2値を調整する。データセットDS1中の各オブジェクトは、ベクトル化され、ベクトル化されたオブジェクト(ベクトル情報)を対象として、後述する検索処理などの各種処理を行う。なお、データセットDS1に含まれ検索対象となる情報(オブジェクト)は、ベクトルとして表現可能であれば、どのような情報であってもよい。なお、以下では、画像情報を対象としたベクトル情報について説明するが、ベクトル情報の対象は、動画情報や音声情報等の他の対象であってもよい。 In the example of FIG. 1, the information processing apparatus 100 calculates the first value of the first parameter and the second value of the second parameter using a data set DS1 including a plurality of objects such as objects OB1, OB2, OB3, and OB101. adjust. 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 targeted for image information will be described, but the target of vector information may be other targets such as moving image information and audio information.

また、情報処理装置100が用いる情報は、ベクトルに限らず、各対象の類似性を表現可能な情報であれば、どのような形式の情報であってもよい。例えば、情報処理装置100は、各対象に対応する所定のデータや値を用いて対象をグラフ構造化したグラフ情報を用いてもよい。例えば、情報処理装置100は、各対象から生成された所定の数値(例えば2進数の値や16進数の値)を用いて対象をグラフ構造化したグラフ情報を用いてもよい。例えば、ベクトルに代えて、データ間の距離(類似度)が定義されていれば任意の形態のデータであっても良い。例えば、情報処理装置100は、オブジェクト情報記憶部121(図7参照)からデータセット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. 7).

〔1-1.調整処理〕
まず、情報処理装置100は、評価用クエリを決定する(ステップS1)。情報処理装置100は、与えられたデータセットからクエリオブジェクトセットを生成する。情報処理装置100は、データセットからランダムに抽出したオブジェクト、または、ランダムに抽出した二つ以上のオブジェクトの平均値のオブジェクトを、クエリオブジェクト(評価用クエリ)に決定する。これにより、情報処理装置100は、データセットに含まれないオブジェクトを評価用クエリとすることができる。
[1-1. Adjustment processing]
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, as a query object (evaluation query), an object randomly extracted from the data set, or an object having an average value of two or more randomly extracted objects. 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 extracts objects used for generating evaluation queries from the data set DS1. For example, the information processing apparatus 100 randomly extracts a predetermined number of two or more objects as extraction objects from the data set DS1. The information processing apparatus 100 extracts two objects, an object OB500 and an object OB1000, from the data set DS1 as extraction 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 determine an object with an average value of more than two objects, for example three objects, as a 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. 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.

そして、情報処理装置100は、グラフを生成する(ステップS2)。情報処理装置100は、与えられたデータセットのすべて、または、一部のデータに対してインデックス(グラフやツリー)を作成する。なお、図1の例では、説明を簡単にするため、情報処理装置100がインデックスとしてグラフを生成する場合を示すが、ツリーも生成してもよい。なお、ツリーについての詳細は後述する。 The information processing device 100 then generates a graph (step S2). The information processing apparatus 100 creates an index (graph or tree) for all or part of the given data set. In the example of FIG. 1, to simplify the explanation, a case where the information processing apparatus 100 generates a graph as an index is shown, but a tree may also be generated. Details of the tree will be described later.

例えば、情報処理装置100は、データセットDS1中の全オブジェクトを用いて、グラフを生成してもよいし、データセットDS1のうち一部のオブジェクトを用いて、グラフを生成してもよい。例えば、情報処理装置100は、データセットDS1のうち、オブジェクトOB3等を除く、オブジェクトOB1、OB2、OB101等の一部のオブジェクトを用いて、グラフを生成してもよい。この場合、情報処理装置100は、オブジェクトOB3を評価用クエリとして用いてもよい。 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. For example, the information processing apparatus 100 may generate a graph using some of the objects OB1, OB2, OB101, etc., excluding the object OB3, etc., of the data set DS1. In this case, the information processing apparatus 100 may use the object OB3 as the evaluation query.

図1の例では、情報処理装置100は、データセットDS1中の全オブジェクトを用いて、グラフGR11を生成する。情報処理装置100は、グラフ生成に関する種々の技術を適宜用いて、グラフGR11を生成する。ここで、グラフGR11について説明する。 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.

図1に示すグラフGR11は、データセットDS1に含まれる各オブジェクトに対応するノードが有向エッジで連結されたグラフ情報を示す。なお、図1中のグラフGR11に示すようなグラフ情報は、情報処理装置100が生成する場合に限らず、情報処理装置100は、図1中のグラフGR11に示すようなグラフ情報を情報提供装置50(図5参照)等の他の外部装置から取得してもよい。 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. 5) 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における各ノードが、そのノードとの間の距離が近い方から所定数のノードへのエッジ(出力エッジ)が連結されるようにグラフGR1を生成する。例えば、所定数は、目的や用途等に応じて、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 GR1 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 purpose and application. 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」により識別されるノードである。 Also, 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 node (image information), 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 image information 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(図10参照)からクエリ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 obtain an approximate correct search result indicating a result of extracting k (k is an arbitrary number) nodes as neighboring 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. 10).

ここで、精確な正解検索結果を生成するには、すべてのオブジェクトとの距離を計算する必要があり、大規模なデータセットの場合には現実的な時間でできない。そのため、情報処理装置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 neighborhood search to generate an approximate correct search result corresponding to the query QE1.

例えば、情報処理装置100は、図15に示すような処理により、クエリQE1に対応する近似正解検索結果を生成する。この場合、情報処理装置100は、後述する検索範囲係数「ε」の値を所定値以上大きくして、図15に示すような処理をグラフGR11を用いて行うことにより、クエリQE1に対応する近似正解検索結果を生成する。これにより、情報処理装置100は、すべてのオブジェクトとの距離を計算して正解情報を生成する場合に比べて、処理時間を短くすることができる。なお、上記は一例であり、すべてのオブジェクトとの距離を計算して正解情報を生成するよりも短い処理時間で、近似正解検索結果を生成することができれば、情報処理装置100は、どのような処理により、近似正解検索結果を生成してもよい。 For example, the information processing apparatus 100 generates an approximate correct search result corresponding to the query QE1 by performing the process illustrated in FIG. 15 . In this case, the information processing apparatus 100 increases the value of the search range coefficient “ε”, which will be described later, by a predetermined value or more, and performs the processing shown in FIG. Generate correct answer search results. 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は、検索範囲係数「ε」を適用した処理により、近傍ノードを抽出する処理を行うが、検索範囲係数「ε」を用いた処理の詳細は図15において説明する。 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 neighboring nodes. do. In this way, the information processing apparatus 100 performs processing for extracting neighboring nodes by applying the search range coefficient “ε”. Details of the processing using the search range coefficient “ε” will be described with reference to FIG. 15 . .

図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 accuracy calculation, which will be described later.

そして、情報処理装置100は、ターゲット精度範囲を決定する(ステップS4)。情報処理装置100は、下記の式(1)のような閾値を算出(導出)する関数に含まれる各パラメータ(変数)に対するターゲット精度範囲を決定する。 The information processing apparatus 100 then determines the target accuracy range (step S4). The information processing apparatus 100 determines a target accuracy range for each parameter (variable) included in a function that calculates (derives) a threshold value such as Equation (1) below.

Figure 0007122293000001
Figure 0007122293000001

ここで、上記式(1)は図1中の関数FC1に対応する。上記式(1)の左辺中の「e」は、グラフの検索時に参照する参照エッジ数を示す閾値TH1に対応する。 Here, the above formula (1) corresponds to the function FC1 in FIG. “e p ” in the left side of the above equation (1) corresponds to the threshold TH1 indicating the number of reference edges to be referenced when retrieving the graph.

また、上記式(1)の右辺中の「e」は、定数項(第1パラメータ)を示す。また、上記式(1)の右辺中の「ε」は、検索範囲係数「ε」を示す。また、上記式(1)の右辺中の「w」は、検索範囲係数「ε」に掛け合わされる変数(第2パラメータ)を示す。例えば、「ε」が「0.1」であり、「w」が「10」であり、「e」が「5」である場合、上記の式(1)は、「e=1010×0.1+5」となる。すなわち、「e」が「15(=10+5)」となり、閾値TH1が「15」に決定される。この場合、情報処理装置100は、検索処理において、各ノードを対象とする処理において、選択する参照先のノードの数を15個までとする。例えば、情報処理装置100は、あるノードを対象とした処理で、図15に示すステップS315において閾値「15」に達した場合、そのノードの繰り返し処理を終了する。 Also, “e 0 ” in the right side of the above equation (1) indicates a constant term (first parameter). Also, "ε" in the right side of the above equation (1) indicates the search range coefficient "ε". Also, "w e " in the right side of the above equation (1) indicates a variable (second parameter) by which the search range coefficient "ε" is multiplied. For example, if 'ε' is '0.1', 'w e ' is '10', and 'e 0 ' is '5', the above equation (1) will be expressed as 'e p =10 10×0.1 +5”. That is, "e p " becomes "15 (=10 1 +5)", and the threshold TH1 is determined to be "15". In this case, the information processing apparatus 100 selects up to 15 nodes as reference destinations in the process targeting each node in the search process. For example, the information processing apparatus 100 terminates the repetition process for a certain node when the threshold "15" is reached in step S315 shown in FIG.

図1の例では、情報処理装置100は、上記式(1)中の第1パラメータ「e」と、第2パラメータ「w」との各々のターゲット精度範囲を決定する。情報処理装置100は、種々の情報を適宜用いて、第1パラメータ「e」と、第2パラメータ「w」との各々のターゲット精度範囲を決定する。図1の例では、情報処理装置100は、ターゲット情報TR1に示すように、第1パラメータ「e」と第2パラメータ「w」との各々について、ターゲット精度範囲の下限、上限及びマージンを決定する。 In the example of FIG. 1, the information processing apparatus 100 determines target accuracy ranges for each of the first parameter "e 0 " and the second parameter "w e " in the above equation (1). The information processing apparatus 100 appropriately uses various pieces of information to determine target accuracy ranges for each of the first parameter “e 0 ” and the second parameter “w e ”. In the example of FIG. 1 , the information processing apparatus 100 sets the lower limit, upper limit, and margin of the target accuracy range for each of the first parameter “e 0 ” and the second parameter “w e ”, as shown in target information TR1. decide.

情報処理装置100は、第1パラメータ「e」のターゲット精度範囲(「第1ターゲット精度範囲」ともいう)の下限を「R1a」に、上限を「R1b」に決定し、マージンを「MG1」に決定する。情報処理装置100は、第2パラメータ「w」のターゲット精度範囲(「第2ターゲット精度範囲」ともいう)の下限を「R2a」に、上限を「R2b」に決定し、マージンを「MG2」に決定する。このように、第1パラメータ「e」の第1ターゲット精度範囲と、第2パラメータ「w」の第2ターゲット精度範囲とを各々個別に決定する。 The information processing apparatus 100 determines the lower limit of the target accuracy range (also referred to as the “first target accuracy range”) of the first parameter “e 0 ” to “R1a”, the upper limit to “R1b”, and the margin to “MG1”. to decide. The information processing apparatus 100 determines the lower limit of the target accuracy range (also referred to as the “second target accuracy range”) of the second parameter “w e ” to “R2a”, the upper limit to “R2b”, and the margin to “MG2”. to decide. In this way, the first target accuracy range for the first parameter 'e 0 ' and the second target accuracy range for the second parameter 'w e ' are determined separately.

例えば、情報処理装置100は、情報処理装置100の管理者等による指定値や、予め記憶部120(図6参照)に記憶された基準値等を用いて、第1パラメータ「e」と、第2パラメータ「w」との各々のターゲット精度範囲を決定する。ここで、第1パラメータ「e」は検索範囲係数「ε」が小さい(精度が低い)ときに効いてくるパラメータで、第2パラメータ「w」は検索範囲係数「ε」が大きいとき(精度が高い)ときに効いてくるパラメータである。そのため、第1パラメータ「e」と、第2パラメータ「w」とは、独立して調整する。なお、以下では、第1パラメータ「e」の第1値を調整する処理を「第1調整処理」と記載し、第2パラメータ「w」の第2値を調整する処理を「第2調整処理」と記載する場合がある。 For example, the information processing apparatus 100 uses a value specified by an administrator of the information processing apparatus 100 or the like, a reference value stored in advance in the storage unit 120 (see FIG. 6), or the like, to determine the first parameter “e 0 ”, Determine each target accuracy range with the second parameter "w e ". Here, the first parameter "e 0 " is effective when the search range coefficient "ε" is small (low precision), and the second parameter "w e " is effective when the search range coefficient "ε" is large ( It is a parameter that comes into effect when the accuracy is high). Therefore, the first parameter “e 0 ” and the second parameter “w e ” are adjusted independently. Note that hereinafter, the process of adjusting the first value of the first parameter “e 0 ” will be referred to as “first adjustment process”, and the process of adjusting the second value of the second parameter “w e ” will be referred to as “second It may be described as “adjustment processing”.

上記のように、情報処理装置100は、低い精度と高い精度についてそれぞれターゲット精度範囲を事前に決定する。例えば、情報処理装置100は、第2パラメータ「w」の第2ターゲット精度範囲を第1パラメータ「e」の第1ターゲット精度範囲よりも高く決定する。例えば、情報処理装置100は、第2パラメータ「w」の第2ターゲット精度範囲の下限「R2a」を第1パラメータ「e」の第1ターゲット精度範囲の下限「R1a」よりも高くする。例えば、情報処理装置100は、第2パラメータ「w」の第2ターゲット精度範囲の上限「R2b」を、第1パラメータ「e」の第1ターゲット精度範囲の上限「R1b」よりも高くする。このように、情報処理装置100は、第2ターゲット精度範囲を第1ターゲット精度範囲よりも高いターゲット精度範囲に決定する。なお、情報処理装置100は、1つのターゲット精度範囲を各パラメータに共通して用いてもよい。 As described above, the information processing apparatus 100 predetermines target accuracy ranges for low accuracy and high accuracy, respectively. For example, the information processing apparatus 100 determines the second target accuracy range of the second parameter "w e " to be higher than the first target accuracy range of the first parameter "e 0 ". For example, the information processing apparatus 100 sets the lower limit "R2a" of the second target accuracy range of the second parameter "w e " higher than the lower limit "R1a" of the first target accuracy range of the first parameter "e 0 ". For example, the information processing apparatus 100 sets the upper limit “R2b” of the second target accuracy range of the second parameter “w e ” higher than the upper limit “R1b” of the first target accuracy range of the first parameter “e 0 ”. . Thus, the information processing apparatus 100 determines the second target accuracy range to be a higher target accuracy range than the first target accuracy range. Note that the information processing apparatus 100 may commonly use one target accuracy range for each parameter.

そして、情報処理装置100は、各パラメータの調整処理を実行する。ここで、図1の例では、情報処理装置100は、評価指標情報EI1に示すように、評価指標として検索時間を用いる。なお、図1は一例であり、評価指標は、検索時間に限らず、距離計算回数やノードのアクセス数等、種々の指標が用いられてもよい。情報処理装置100は、各パラメータの調整のために、特定の精度区間(ターゲット精度区間)における評価指標(例えば検索時間、オブジェクトアクセス数、距離計算回数等)を測定する。 Then, the information processing apparatus 100 executes adjustment processing for each parameter. Here, in the example of FIG. 1, the information processing apparatus 100 uses the search time as the evaluation index, as indicated by the evaluation index information EI1. Note that FIG. 1 is an example, and the evaluation index is not limited to the search time, and various indices such as the number of distance calculations and the number of node accesses may be used. The information processing apparatus 100 measures an evaluation index (for example, search time, number of object accesses, number of distance calculations, etc.) in a specific accuracy interval (target accuracy interval) in order to adjust each parameter.

また、図1の例では、情報処理装置100は、精度情報PR1に示すように、精度として再現率を用いる。なお、図1は一例であり、精度は、再現率に限らず、検索処理の精度が測定できれば種々の情報であってもよい。 Further, in the example of FIG. 1, the information processing apparatus 100 uses the recall rate as the accuracy, as indicated by the accuracy information PR1. Note that FIG. 1 is an example, and the accuracy is not limited to the recall rate, and various information may be used as long as the accuracy of the search process can be measured.

ここでいう再現率は、「(正解検索結果の中で実際に検索された結果)/(正解検索結果)」で得られる。すなわち、再現率は、精度測定対象となる検索処理における「正解検索結果の中で実際に検索された結果」を、「正解検索結果」で除算することにより算出される。情報処理装置100は、後述する各試行において、評価用クエリを用いて検索処理を行い、その検索処理の時間を計測するとともに、抽出した検索結果を用いて、再現率を算出する。図1の例では、「正解検索結果」として、「近似正解検索結果」を用いるため、「近似正解検索結果」よりもよい結果(正解)が各個別の調整処理により抽出される可能性があるが、この点についての詳細は後述する。 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". In each trial, which will be described later, the information processing apparatus 100 performs a search process using an evaluation query, measures the time required for the search process, and uses the extracted search results to calculate a recall rate. In the example of FIG. 1, since the "approximate correct search result" is used as the "correct answer search result", there is a possibility that a better result (correct answer) than the "approximate correct search result" is extracted by each individual adjustment process. However, the details of this point will be described later.

まず、情報処理装置100は、第1パラメータ「e」を対象とした第1調整処理を実行する(ステップS5)。情報処理装置100は、下限「R1a」、上限「R1b」、マージン「MG1」である第1ターゲット精度範囲を用いて、第1調整処理を実行する。なお、初回の第1調整処理においては、情報処理装置100は、第2パラメータ「w」の値(第2値)は、所定の初期値を用いる。また、2回目以降の第1調整処理においては、情報処理装置100は、その前の第2調整処理で決定された第2パラメータ「w」の値(第2値)を用いる。このように、情報処理装置100は、第1パラメータ「e」を対象とした第1調整処理においては、第2パラメータを所定の固定値に固定し、第1パラメータの値を変動させることにより、第1パラメータの最適な第1値を探索する。このように、情報処理装置100は、低いターゲット精度範囲における評価指標の算出を行い第1パラメータ「e」の最適値を探索する。 First, the information processing apparatus 100 executes a first adjustment process targeting the first parameter “e 0 ” (step S5). The information processing apparatus 100 executes the first adjustment process using the first target accuracy range, which is the lower limit "R1a", the upper limit "R1b", and the margin "MG1". In addition, in the first adjustment process for the first time, the information processing apparatus 100 uses a predetermined initial value as the value (second value) of the second parameter “w e ”. In addition, in the second and subsequent first adjustment processes, the information processing apparatus 100 uses the value (second value) of the second parameter “w e ” determined in the previous second adjustment process. As described above, in the first adjustment process for the first parameter “e 0 ”, the information processing apparatus 100 fixes the second parameter to a predetermined fixed value and varies the value of the first parameter to , search for the best first value of the first parameter. In this way, the information processing apparatus 100 calculates the evaluation index in the low target accuracy range and searches for the optimum value of the first parameter “e 0 ”.

図1の例では、情報処理装置100は、第1パラメータ「e」を任意の値(「測定対象値」ともいう)に設定し、評価指標を測定する。例えば、情報処理装置100は、第1パラメータ「e」を「20」に設定し、評価指標を測定する処理(「測定処理」ともいう)を行う。情報処理装置100は、図2に示すような処理により、第1パラメータ「e」を任意の値に設定し、評価指標を測定する。図2は、実施形態に係る測定処理の一例を示す図である。 In the example of FIG. 1, the information processing apparatus 100 sets the first parameter “e 0 ” to an arbitrary value (also referred to as “measurement target value”) and measures the evaluation index. For example, the information processing apparatus 100 sets the first parameter “e 0 ” to “20” and performs a process of measuring the evaluation index (also referred to as “measurement process”). The information processing apparatus 100 sets the first parameter “e 0 ” to an arbitrary value and measures the evaluation index by performing the processing illustrated in FIG. 2 . FIG. 2 is a diagram illustrating an example of measurement processing according to the embodiment.

情報処理装置100は、第1パラメータの値を測定対象値(例えば「20」)に固定した状態で、検索範囲係数「ε」を変動させることにより、検索精度範囲をカバーする検索範囲係数「ε」の下限、上限を探索する。情報処理装置100は、図2中の探索結果RS1に示すように、第1ターゲット精度範囲の上限「R1b」と、上限「R1b」にマージン「MG1」を加算した値(上限マージン「R1b+MG1」と記載する場合がある)との範囲内に位置する検索範囲係数「ε」を検索範囲係数「ε」の上限として探索する。また、情報処理装置100は、第1ターゲット精度範囲の下限「R1a」と、下限「R1a」からマージン「MG1」を減算した値(下限マージン「R1a-MG1」と記載する場合がある)との範囲内に位置する検索範囲係数「ε」を検索範囲係数「ε」の下限として探索する。探索結果RS1は、横軸(X軸)を再現率とし、縦軸(Y軸)を検索時間とする再現率と検索時間との関係を示す図を示す。 The information processing apparatus 100 changes the search range coefficient "ε" while fixing the value of the first parameter to the measurement target value (for example, "20") to obtain a search range coefficient "ε to search for the lower and upper limits of . As shown in search result RS1 in FIG. 2, information processing apparatus 100 sets the upper limit "R1b" of the first target accuracy range and a value obtained by adding margin "MG1" to upper limit "R1b" (upper limit margin "R1b+MG1"). (may be described)) is searched as the upper limit of the search range coefficient "ε". Further, the information processing apparatus 100 sets the lower limit "R1a" of the first target accuracy range and a value obtained by subtracting the margin "MG1" from the lower limit "R1a" (sometimes referred to as the lower limit margin "R1a-MG1"). The search range coefficient "ε" located within the range is searched as the lower limit of the search range coefficient "ε". The search result RS1 is a graph showing the relationship between the recall rate and the retrieval time, with the recall rate on the horizontal axis (X-axis) and the retrieval time on the vertical axis (Y-axis).

探索結果RS1中の試行結果T1~T6は、1回目~6回目の各々の試行結果を示す。例えば、試行結果T1は、1回目の試行結果を示す。例えば、情報処理装置100は、各試行において、図15に示すような処理により、クエリQE1を用いてk個の近傍ノードを抽出する検索処理を実行する。この場合、情報処理装置100は、各試行で設定した検索範囲係数「ε」や、関数FC1により算出された閾値TH1を用いてグラフGR11を探索することにより、クエリQE1に対応するk個の近傍ノードを抽出する。 Trial results T1 to T6 in the search result RS1 indicate the results of the first to sixth trials, respectively. For example, trial result T1 indicates the result of the first trial. For example, in each trial, the information processing apparatus 100 executes a search process of extracting k neighboring nodes using the query QE1 by the process shown in FIG. 15 . In this case, the information processing apparatus 100 searches the graph GR11 using the search range coefficient “ε” set in each trial and the threshold TH1 calculated by the function FC1, thereby finding k neighbors corresponding to the query QE1. Extract a node.

なお、情報処理装置100は、各試行において、評価用クエリを用いて検索処理を行い、その検索処理の時間を計測するとともに、抽出した検索結果を用いて、再現率を算出する。図2の例では、情報処理装置100は、クエリQE1を用いてグラフGR11からk個の近傍ノードを抽出する検索処理を行い、その検索処理の時間を計測するとともに、抽出した検索結果と近似正解検索結果RR1とを用いて再現率を算出する。情報処理装置100は、抽出した検索結果のうち近似正解検索結果RR1に含まれるオブジェクトの数を、近似正解検索結果RR1のオブジェクトの数で除することにより、再現率を算出する。このように、図1及び図2の例では、kが分母となり、0以上k以下の値が分子となる。0~1の範囲、すなわち0以上1以下の値が再現率として算出される。 In each trial, the information processing apparatus 100 performs search processing using the evaluation query, measures the time required for the search processing, and calculates the recall rate using the extracted search results. In the example of FIG. 2, the information processing apparatus 100 performs a search process of extracting k neighboring nodes from the graph GR11 using the query QE1, measures the time of the search process, The retrieval result RR1 is used to calculate the recall. The information processing apparatus 100 calculates the recall rate by dividing the number of objects included in the approximate correct search result RR1 among the extracted search results by the number of objects in the approximate correct search result RR1. Thus, in the examples of FIGS. 1 and 2, k is the denominator, and values between 0 and k are the numerators. A range of 0 to 1, ie, a value between 0 and 1, is calculated as the recall.

図2の例では、情報処理装置100は、最初(1回目)の試行では、精度「再現率」が上限「R1b」を超えるような大きな値を検索範囲係数「ε」に設定して、検索処理を実行する。このように、例えば、情報処理装置100は、最初(1回目)の試行では、上限「R1b」を超える精度を示す試行結果T1を得る。 In the example of FIG. 2 , the information processing apparatus 100 sets the search range coefficient “ε” to a value so large that the accuracy “recall rate” exceeds the upper limit “R1b” in the first (first) trial, and Execute the process. In this manner, for example, the information processing apparatus 100 obtains a trial result T1 indicating accuracy exceeding the upper limit "R1b" in the initial (first) trial.

また、情報処理装置100は、2回目の試行では、精度「再現率」が下限「R1a」を下回るような小さな値を検索範囲係数「ε」に設定して、検索処理を実行する。このように、例えば、情報処理装置100は、2回目の試行では、下限「R1a」を下回る精度を示す試行結果T2を得る。 Further, in the second trial, the information processing apparatus 100 sets the search range coefficient "ε" to a small value such that the precision "recall rate" is below the lower limit "R1a", and executes the search process. In this manner, for example, the information processing apparatus 100 obtains the trial result T2 indicating accuracy below the lower limit "R1a" in the second trial.

そして、情報処理装置100は、3回目以降の試行を繰り返すことにより、上限「R1b」と上限マージン「R1b+MG1」との範囲内に位置する検索範囲係数「ε」を検索範囲係数「ε」の上限として探索する。例えば、情報処理装置100は、3回目の試行では、試行結果T1における検索範囲係数「ε」の設定値と、試行結果T2における検索範囲係数「ε」の設定値との間の値を、検索範囲係数「ε」に設定する。例えば、情報処理装置100は、3回目の試行では、試行結果T1における検索範囲係数「ε」の設定値と、試行結果T2における検索範囲係数「ε」の設定値との平均値を、検索範囲係数「ε」に設定する。そして、情報処理装置100は、設定した検索範囲係数「ε」を用いて処理を実行し、試行結果T3を得る。 Then, the information processing apparatus 100 repeats the third and subsequent trials to set the search range coefficient “ε” located within the range between the upper limit “R1b” and the upper limit margin “R1b+MG1” to the upper limit of the search range coefficient “ε”. explore as For example, in the third trial, the information processing device 100 searches for a value between the set value of the search range coefficient "ε" in the trial result T1 and the set value of the search range coefficient "ε" in the trial result T2. Set the range factor to 'ε'. For example, in the third trial, the information processing apparatus 100 calculates the average value of the set value of the search range coefficient “ε” in the trial result T1 and the set value of the search range coefficient “ε” in the trial result T2 as the search range. Set the coefficient to 'ε'. Then, the information processing apparatus 100 executes the process using the set search range coefficient "ε" and obtains the trial result T3.

試行結果T3では、上限「R1b」を下回る精度を得たため、情報処理装置100は、4回目の試行では、試行結果T1における検索範囲係数「ε」の設定値と、試行結果T3における検索範囲係数「ε」の設定値との間の値を、検索範囲係数「ε」に設定する。例えば、情報処理装置100は、4回目の試行では、試行結果T1における検索範囲係数「ε」の設定値と、試行結果T3における検索範囲係数「ε」の設定値との平均値を、検索範囲係数「ε」に設定する。そして、情報処理装置100は、設定した検索範囲係数「ε」を用いて処理を実行し、試行結果T4を得る。 In the trial result T3, the accuracy lower than the upper limit "R1b" was obtained. A value between the set value of "ε" is set as the search range coefficient "ε". For example, in the fourth trial, the information processing apparatus 100 calculates the average value of the set value of the search range coefficient "ε" in the trial result T1 and the set value of the search range coefficient "ε" in the trial result T3 as the search range. Set the coefficient to 'ε'. Then, the information processing apparatus 100 executes the process using the set search range coefficient "ε" and obtains the trial result T4.

試行結果T4では、上限マージン「R1b+MG1」を超える精度を得たため、情報処理装置100は、5回目の試行では、試行結果T3における検索範囲係数「ε」の設定値と、試行結果T4における検索範囲係数「ε」の設定値との間の値を、検索範囲係数「ε」に設定する。例えば、情報処理装置100は、5回目の試行では、試行結果T3における検索範囲係数「ε」の設定値と、試行結果T4における検索範囲係数「ε」の設定値との平均値を、検索範囲係数「ε」に設定する。そして、情報処理装置100は、設定した検索範囲係数「ε」を用いて処理を実行し、試行結果T5を得る。 In the trial result T4, the accuracy exceeding the upper limit margin "R1b+MG1" was obtained. A value between the set value of the coefficient "ε" is set as the search range coefficient "ε". For example, in the fifth trial, the information processing apparatus 100 calculates the average value of the set value of the search range coefficient “ε” in the trial result T3 and the set value of the search range coefficient “ε” in the trial result T4 as the search range. Set the coefficient to 'ε'. Then, the information processing apparatus 100 executes the process using the set search range coefficient "ε" and obtains the trial result T5.

このように、情報処理装置100は、各試行結果の精度と、上限「R1b」や上限マージン「R1b+MG1」の位置関係に応じて、検索範囲係数「ε」の設定値を変更し、試行結果の精度が、上限「R1b」と上限マージン「R1b+MG1」との範囲内に位置するまで、処理を繰り返す。図2の例では、情報処理装置100は、試行結果T6に示すように、6回目の試行により、検索範囲係数「ε」の設定値「0.12」とした処理で、上限「R1b」と上限マージン「R1b+MG1」との範囲内に位置する精度を得る。これにより、情報処理装置100は、検索範囲係数「ε」の係数上限「0.12」を得る。 In this manner, the information processing apparatus 100 changes the set value of the search range coefficient “ε” according to the accuracy of each trial result and the positional relationship between the upper limit “R1b” and the upper limit margin “R1b+MG1”, The process is repeated until the accuracy lies within the range between the upper limit "R1b" and the upper margin "R1b+MG1". In the example of FIG. 2 , the information processing apparatus 100 sets the search range coefficient “ε” to the set value “0.12” in the sixth trial, as shown in the trial result T6, and the upper limit “R1b” is set. Obtain an accuracy that lies within the range of the upper margin "R1b+MG1". As a result, the information processing apparatus 100 obtains the coefficient upper limit “0.12” of the search range coefficient “ε”.

そして、情報処理装置100は、上記の試行結果T1~T6を利用して、下限「R1a」と下限マージン「R1a-MG1」との範囲内に位置する検索範囲係数「ε」を検索範囲係数「ε」の下限として探索する。図2の例では、下限「R1a」が試行結果T2と、試行結果T3との間に位置するため、情報処理装置100は、7回目以降の試行では、まず、試行結果T2における検索範囲係数「ε」の設定値と、試行結果T3における検索範囲係数「ε」の設定値との間の値を、検索範囲係数「ε」に設定する。このように、情報処理装置100は、下限「R1a」と下限マージン「R1a-MG1」との範囲内に位置するまで、処理を繰り返す。図2の例では、情報処理装置100は、探索結果RS2中の試行結果T11に示すように、検索範囲係数「ε」の設定値「0.08」とした処理で、下限「R1a」と下限マージン「R1a-MG1」との範囲内に位置する精度を得る。これにより、情報処理装置100は、検索範囲係数「ε」の係数下限「0.08」を得る。ここでのεを探索する手順は二分探索を応用したものだが、εを探索する手順は上記に限らず、他の方法を用いても良い。 Then, the information processing apparatus 100 uses the above trial results T1 to T6 to convert the search range coefficient "ε" located within the range between the lower limit "R1a" and the lower limit margin "R1a-MG1" to the search range coefficient " ε” as the lower bound. In the example of FIG. 2, the lower limit "R1a" is positioned between the trial result T2 and the trial result T3. A value between the set value of ε” and the set value of the search range coefficient “ε” in the trial result T3 is set as the search range coefficient “ε”. In this way, the information processing apparatus 100 repeats the process until it is positioned within the range between the lower limit "R1a" and the lower limit margin "R1a-MG1". In the example of FIG. 2, the information processing apparatus 100 sets the search range coefficient “ε” to the set value “0.08” as shown in the trial result T11 in the search result RS2, and the lower limit “R1a” and the lower limit Obtain an accuracy that lies within the margin "R1a-MG1". As a result, the information processing apparatus 100 obtains the lower limit of coefficient “0.08” of the search range coefficient “ε”. Although the procedure for searching for ε here is an application of binary search, the procedure for searching for ε is not limited to the above, and other methods may be used.

そして、情報処理装置100は、検索範囲係数「ε」を下限から上限まで当分に分割して、それぞれの検索範囲係数「ε」での検索を行って評価指標を求める。図2の例では、情報処理装置100は、係数下限「0.08」から係数上限「0.12」まで当分に6分割して、それぞれの検索範囲係数「ε」での検索を行って評価指標を求める。これにより、情報処理装置100は、探索結果RS3中の算出用試行結果ED1~ED5に対応する処理により、各々に対応する評価指標を求める。 Then, the information processing apparatus 100 divides the search range coefficient "ε" from the lower limit to the upper limit, and performs a search with each search range coefficient "ε" to obtain an evaluation index. In the example of FIG. 2 , the information processing apparatus 100 divides the coefficient into six from the lower limit of the coefficient “0.08” to the upper limit of the coefficient “0.12” for the time being, and searches and evaluates with each search range coefficient “ε”. Seek indicators. As a result, the information processing apparatus 100 obtains evaluation indices corresponding to each of the calculation trial results ED1 to ED5 in the search result RS3.

そして、情報処理装置100は、台形近似により範囲における平均の評価指標を算出する。情報処理装置100は、台形近似により範囲における平均の検索時間を評価指標として算出する。図2の例では、情報処理装置100は、台形近似により探索結果RS4中のハッチング部分である範囲AR11の平均の評価指標を算出する。例えば、生成装置100は、台形公式等の種々の従来技術を適宜用いて、検索時間の平均を算出してもよい。情報処理装置100は、探索結果RS4に示すように、横軸(X軸)、横軸(X軸)方向の両端(上限「R1b」、下限「R1a」)の検索時間に対応する線、各検索時間を線で結んだ範囲AR11を対象にその間の検索時間の平均を算出する。例えば、情報処理装置100は、探索結果RS4に示すように隣り合う試行結果(検索時間の値)間を線で結んだ範囲AR11を対象にその間の検索時間の平均を算出する。例えば、情報処理装置100は、台形公式により範囲AR11の面積を算出し、その面積を横軸方向(再現率)の範囲の値で除算することにより、範囲AR11に対応する検索時間の平均を算出してもよい。情報処理装置100は、係数下限「0.08」と算出用試行結果ED1との間のうち、第1ターゲット精度範囲の下限「R1a」と算出用試行結果ED1との間のみを用いて、平均の評価指標を算出する。また、情報処理装置100は、算出用試行結果ED5と係数上限「0.12」との間のうち、算出用試行結果ED5と第1ターゲット精度範囲の上限「R1b」との間のみを用いて、平均の評価指標を算出する。例えば、情報処理装置100は、下限「R1a」と上限「R1b」との間の範囲AR11の面積を算出し、その面積を横軸方向(再現率)の上限「R1b」と下限「R1a」との間の範囲の値で除算することにより、範囲AR11に対応する検索時間の平均を算出してもよい。例えば、情報処理装置100は、下限「R1a」と上限「R1b」との間の範囲AR11の面積を算出し、その面積を上限「R1b」の再現率と下限「R1a」の再現率との差で除算することにより、範囲AR11に対応する検索時間の平均を算出してもよい。これにより、情報処理装置100は、第1ターゲット精度範囲内に対応する平均の評価指標を算出することができる。そして、情報処理装置100は、平均の評価指標を、その測定処理で設定した第1パラメータ「e」の設定値における評価指標に決定する。このように、情報処理装置100は、探索結果RS4中の範囲AR11に対応する範囲の平均の評価指標を算出することで、第1パラメータ「e」を一の値に設定した測定処理を終了する。 Then, the information processing apparatus 100 calculates an average evaluation index in the range by trapezoidal approximation. The information processing apparatus 100 calculates the average search time in the range as an evaluation index by trapezoidal approximation. In the example of FIG. 2, the information processing apparatus 100 calculates the average evaluation index of the range AR11, which is the hatched portion in the search result RS4, by trapezoidal approximation. For example, the generation device 100 may calculate the average search time using various conventional techniques such as the trapezoidal formula as appropriate. As shown in the search result RS4, the information processing apparatus 100, the horizontal axis (X-axis), both ends of the horizontal axis (X-axis) direction (upper limit "R1b", lower limit "R1a") corresponding to the search time line, each The average search time is calculated for the range AR11 where the search times are connected by a line. For example, the information processing apparatus 100 calculates the average search time for a range AR11 in which adjacent trial results (search time values) are connected by lines as shown in the search result RS4. For example, the information processing apparatus 100 calculates the area of the range AR11 using the trapezoidal formula, and divides the area by the value of the range in the horizontal axis direction (recall rate) to calculate the average search time corresponding to the range AR11. You may The information processing apparatus 100 calculates the average Calculate the evaluation index of Further, the information processing apparatus 100 uses only the portion between the trial result for calculation ED5 and the upper limit of the first target accuracy range "R1b" among the trial result for calculation ED5 and the upper limit of the coefficient "0.12". , to calculate the average evaluation index. For example, the information processing apparatus 100 calculates the area of the range AR11 between the lower limit "R1a" and the upper limit "R1b", and calculates the area as the upper limit "R1b" and the lower limit "R1a" in the horizontal axis direction (reproducibility). The average search time corresponding to the range AR11 may be calculated by dividing by the value of the range between . For example, the information processing apparatus 100 calculates the area of the range AR11 between the lower limit "R1a" and the upper limit "R1b", and calculates the area as the difference between the reproducibility of the upper limit "R1b" and the reproducibility of the lower limit "R1a". By dividing by , the average search time corresponding to the range AR11 may be calculated. Accordingly, the information processing apparatus 100 can calculate an average evaluation index corresponding to the first target accuracy range. Then, the information processing apparatus 100 determines the average evaluation index as the evaluation index for the set value of the first parameter “e 0 ” set in the measurement process. In this way, the information processing apparatus 100 calculates the average evaluation index of the range corresponding to the range AR11 in the search result RS4, thereby ending the measurement process in which the first parameter “e 0 ” is set to one value. do.

そして、情報処理装置100は、上述した第1パラメータ「e」を一の値に設定した測定処理を、第1パラメータ「e」の最適値が求まるまで繰り返す。例えば、情報処理装置100は、最初の測定処理で「20」に設定した第1パラメータ「e」の値を変動させることにより、第1パラメータ「e」の設定値と、各設定値の評価指標との関係を示す情報(グラフ)を生成し、生成した情報を基に第1パラメータ「e」の最適値を決定してもよい。例えば、情報処理装置100は、測定処理を所定の回数繰り返し、最も評価指標が良い設定値を第1パラメータ「e」の第1値(最適値)に決定してもよい。「e」に対して評価指標は通常凸関数なので、例えば、山登り法といった探索方法を用いて、評価指標が最少値(最大値)になるような「e」を求めれば良い。 Then, the information processing apparatus 100 repeats the above-described measurement process in which the first parameter "e 0 " is set to one value until the optimum value of the first parameter "e 0 " is obtained. For example, the information processing apparatus 100 changes the value of the first parameter “e 0 ” set to “20” in the first measurement process, thereby changing the setting value of the first parameter “e 0 ” and the setting value of each setting value. Information (graph) indicating the relationship with the evaluation index may be generated, and the optimum value of the first parameter “e 0 ” may be determined based on the generated information. For example, the information processing apparatus 100 may repeat the measurement process a predetermined number of times and determine the set value with the best evaluation index as the first value (optimal value) of the first parameter “e 0 ”. Since the evaluation index is usually a convex function with respect to “e 0 ”, a search method such as the hill-climbing method may be used to obtain “e 0 ” that gives the minimum value (maximum value) of the evaluation index.

そして、情報処理装置100は、決定した第1パラメータ「e」の第1値が前回の第1調整処理で決定した第1パラメータ「e」の第1値(「前回第1値」ともいう)と同じであるかを判定する(ステップS6)。情報処理装置100は、決定した第1パラメータ「e」の第1値が前回第1値と同じであると判定した場合(ステップS6:Yes)、調整処理を終了する。 Then, the information processing apparatus 100 sets the determined first value of the first parameter “e 0 ” to the first value of the first parameter “e 0 ” determined in the previous first adjustment process (also referred to as “previous first value”). (step S6). When the information processing apparatus 100 determines that the determined first value of the first parameter “e 0 ” is the same as the previous first value (step S6: Yes), the adjustment process ends.

一方で、情報処理装置100は、決定した第1パラメータ「e」の第1値が前回第1値と同じでないと判定した場合(ステップS6:No)、第2パラメータ「w」を対象とした第2調整処理を実行する(ステップS7)。また、情報処理装置100は、初回の第1調整処理の場合、前回第1値が無いため、決定した第1パラメータ「e」の第1値が前回第1値と同じではないと判定し(ステップS6:No)、第2調整処理を実行する。 On the other hand, when the information processing apparatus 100 determines that the determined first value of the first parameter “e 0 ” is not the same as the previous first value (step S6: No), the second parameter “w e ” is executed (step S7). Further, in the case of the first adjustment process for the first time, the information processing apparatus 100 determines that the determined first value of the first parameter “e 0 ” is not the same as the previous first value because there is no previous first value. (Step S6: No), the second adjustment process is executed.

上記のように、情報処理装置100は、第1調整処理が初回の場合や第1調整処理で第1パラメータの第1値が変更された場合、第2パラメータ「w」を対象とした第2調整処理を実行する。情報処理装置100は、下限「R2a」、上限「R2b」、マージン「MG2」である第2ターゲット精度範囲を用いて、第2調整処理を実行する。第2調整処理においては、情報処理装置100は、その前の第1調整処理で決定された第1パラメータ「e」の値(第1値)を用いる。このように、情報処理装置100は、第2パラメータ「w」を対象とした第2調整処理においては、第1パラメータを所定の固定値に固定し、第2パラメータの値を変動させることにより、第2パラメータの最適な第2値を探索する。このように、情報処理装置100は、高いターゲット精度範囲における評価指標の算出を行い第2パラメータ「w」の最適値を探索する。 As described above, when the first adjustment process is performed for the first time or when the first value of the first parameter is changed in the first adjustment process, the information processing apparatus 100 sets the second parameter "w e " as the target. 2 Perform adjustment processing. The information processing apparatus 100 executes the second adjustment process using the second target accuracy range, which is the lower limit "R2a", the upper limit "R2b", and the margin "MG2". In the second adjustment process, the information processing apparatus 100 uses the value (first value) of the first parameter “e 0 ” determined in the previous first adjustment process. As described above, in the second adjustment processing for the second parameter “w e ”, the information processing apparatus 100 fixes the first parameter to a predetermined fixed value, and varies the value of the second parameter to , search for the optimal second value of the second parameter. In this way, the information processing apparatus 100 calculates the evaluation index in the high target accuracy range and searches for the optimum value of the second parameter “w e ”.

図1の例では、情報処理装置100は、第2パラメータ「w」を任意の値(測定対象値)に設定し、評価指標を測定する。例えば、情報処理装置100は、第2パラメータ「w」を「30」に設定し、評価指標を測定する処理(測定処理)を行う。情報処理装置100は、上述した第1パラメータに対する測定処理と同様に、図2に示すような処理により、第2パラメータ「w」を任意の値に設定し、評価指標を測定する。 In the example of FIG. 1, the information processing apparatus 100 sets the second parameter “w e ” to an arbitrary value (measurement target value) and measures the evaluation index. For example, the information processing apparatus 100 sets the second parameter “w e ” to “30” and performs processing (measurement processing) for measuring the evaluation index. The information processing apparatus 100 sets the second parameter “w e ” to an arbitrary value and measures the evaluation index by the process shown in FIG. 2, similarly to the measurement process for the first parameter described above.

情報処理装置100は、第2パラメータの値を測定対象値(例えば「30」)に固定した状態で、検索範囲係数「ε」を変動させることにより、検索精度範囲をカバーする検索範囲係数「ε」の下限、上限を探索する。情報処理装置100は、第2ターゲット精度範囲の上限「R2b」と、上限「R2b」にマージン「MG2」を加算した値(上限マージン「R2b+MG2」と記載する場合がある)との範囲内に位置する検索範囲係数「ε」を検索範囲係数「ε」の上限として探索する。また、情報処理装置100は、第2ターゲット精度範囲の下限「R2a」と、下限「R2a」からマージン「MG2」を減算した値(下限マージン「R2a-MG2」と記載する場合がある)との範囲内に位置する検索範囲係数「ε」を検索範囲係数「ε」の下限として探索する。 The information processing apparatus 100 changes the search range coefficient "ε" while fixing the value of the second parameter to the measurement target value (for example, "30") to obtain a search range coefficient "ε to search for the lower and upper limits of . The information processing apparatus 100 is located within the range between the upper limit "R2b" of the second target accuracy range and the value obtained by adding the margin "MG2" to the upper limit "R2b" (sometimes described as the upper limit margin "R2b+MG2"). The search range coefficient "ε" is searched as the upper limit of the search range coefficient "ε". Further, the information processing apparatus 100 sets the lower limit "R2a" of the second target accuracy range and a value obtained by subtracting the margin "MG2" from the lower limit "R2a" (sometimes referred to as the lower limit margin "R2a-MG2"). The search range coefficient "ε" located within the range is searched as the lower limit of the search range coefficient "ε".

情報処理装置100は、上述した第1パラメータに対する測定処理と同様に、各試行結果の精度と、上限「R2b」や上限マージン「R2b+MG2」の位置関係に応じて、検索範囲係数「ε」の設定値を変更し、試行結果の精度が、上限「R2b」と上限マージン「R2b+MG2」との範囲内に位置するまで、処理を繰り返す。また、情報処理装置100は、検索範囲係数「ε」の設定値を変更し、試行結果の精度が、下限「R2a」と下限マージン「R2a-MG2」との範囲内に位置するまで、処理を繰り返す。 The information processing apparatus 100 sets the search range coefficient "ε" in accordance with the accuracy of each trial result and the positional relationship between the upper limit "R2b" and the upper limit margin "R2b+MG2" in the same manner as in the measurement process for the first parameter described above. The value is changed and the process is repeated until the accuracy of the trial result lies within the range between the upper limit "R2b" and the upper limit margin "R2b+MG2". Further, the information processing apparatus 100 changes the set value of the search range coefficient "ε", and continues the process until the accuracy of the trial result falls within the range between the lower limit "R2a" and the lower limit margin "R2a-MG2". repeat.

そして、情報処理装置100は、検索範囲係数「ε」を下限から上限まで当分に分割して、それぞれの検索範囲係数「ε」での検索を行って評価指標を求める。そして、情報処理装置100は、台形近似により範囲における平均の評価指標を算出する。情報処理装置100は、台形近似により範囲における平均の検索時間を評価指標として算出する。情報処理装置100は、上述した第1パラメータに対する測定処理と同様に、第2ターゲット精度範囲内に対応する平均の評価指標を算出することができる。そして、情報処理装置100は、平均の評価指標を、その測定処理で設定した第2パラメータ「w」の設定値における評価指標に決定する。 Then, the information processing apparatus 100 divides the search range coefficient "ε" from the lower limit to the upper limit, and performs a search with each search range coefficient "ε" to obtain an evaluation index. Then, the information processing apparatus 100 calculates an average evaluation index in the range by trapezoidal approximation. The information processing apparatus 100 calculates the average search time in the range as an evaluation index by trapezoidal approximation. The information processing apparatus 100 can calculate an average evaluation index corresponding to the second target accuracy range, similarly to the measurement process for the first parameter described above. Then, the information processing apparatus 100 determines the average evaluation index as the evaluation index for the set value of the second parameter “w e ” set in the measurement process.

そして、情報処理装置100は、上述した第2パラメータ「w」を一の値に設定した測定処理を、第2パラメータ「w」の最適値が求まるまで繰り返す。例えば、情報処理装置100は、最初の測定処理で「30」に設定した第2パラメータ「w」の値を変動させることにより、第2パラメータ「w」の設定値と、各設定値の評価指標との関係を示す情報(グラフ)を生成し、生成した情報を基に第2パラメータ「w」の最適値を決定してもよい。例えば、情報処理装置100は、測定処理を所定の回数繰り返し、最も評価指標が良い設定値を第2パラメータ「w」の第2値(最適値)に決定してもよい。 Then, the information processing apparatus 100 repeats the above-described measurement process in which the second parameter “w e ” is set to one value until the optimum value of the second parameter “w e ” is obtained. For example, the information processing apparatus 100 changes the value of the second parameter “w e ” set to “30” in the first measurement process, thereby changing the setting value of the second parameter “w e ” and the setting value of each setting value. Information (graph) indicating the relationship with the evaluation index may be generated, and the optimum value of the second parameter “w e ” may be determined based on the generated information. For example, the information processing apparatus 100 may repeat the measurement process a predetermined number of times and determine the set value with the best evaluation index as the second value (optimal value) of the second parameter “w e ”.

そして、情報処理装置100は、決定した第2パラメータ「w」の第2値が前回の第2調整処理で決定した第2パラメータ「w」の第2値(「前回第2値」ともいう)と同じであるかを判定する(ステップS8)。情報処理装置100は、決定した第2パラメータ「w」の第2値が前回第2値と同じであると判定した場合(ステップS8:Yes)、調整処理を終了する。 Then, the information processing apparatus 100 sets the determined second value of the second parameter “w e ” to the second value of the second parameter “w e ” determined in the previous second adjustment process (also referred to as “previous second value”). (step S8). When the information processing apparatus 100 determines that the determined second value of the second parameter “w e ” is the same as the previous second value (step S8: Yes), the adjustment process ends.

一方で、情報処理装置100は、決定した第2パラメータ「w」の第2値が前回第2値と同じでないと判定した場合(ステップS8:No)、ステップS5に戻って処理を繰り返す。 On the other hand, when the information processing apparatus 100 determines that the determined second value of the second parameter “w e ” is not the same as the previous second value (step S8: No), the process returns to step S5 and repeats the process.

上述のように、情報処理装置100は、第1パラメータを調整する第1調整処理と第2パラメータを調整する第2調整処理とを繰り返すことにより、複数のパラメータの値を適切に決定することができる。図1及び図2の例では、情報処理装置100は、第1パラメータ「e」を調整する第1調整処理と、第2パラメータ「w」を調整する第2調整処理とを、独立して行う。具体的には、情報処理装置100は、第2調整処理で調整された第2パラメータを用いて第1パラメータを調整する第1調整処理と、その結果の第1パラメータの第1値を用いて第2パラメータを調整する第2調整処理とを、独立して行う。このように、情報処理装置100は、第1パラメータ「e」と、第2パラメータ「w」とを、独立して調整することにより、複数のパラメータの値を適切に決定することができる。 As described above, the information processing apparatus 100 repeats the first adjustment process for adjusting the first parameter and the second adjustment process for adjusting the second parameter, thereby appropriately determining the values of the plurality of parameters. can. In the examples of FIGS. 1 and 2, the information processing apparatus 100 independently performs the first adjustment process of adjusting the first parameter "e 0 " and the second adjustment process of adjusting the second parameter "w e ". do. Specifically, the information processing apparatus 100 adjusts the first parameter using the second parameter adjusted in the second adjustment process, and uses the first value of the first parameter as a result of the first adjustment process. A second adjustment process for adjusting the second parameter is performed independently. In this way, the information processing apparatus 100 can appropriately determine values of a plurality of parameters by independently adjusting the first parameter “e 0 ” and the second parameter “w e ”. .

例えば、上述した関数FC1内のパラメータはデータによって最適な値が異なる。そこで、情報処理装置100は、与えられたデータセットを対象として、関数FC1内の複数のパラメータを調整することにより、最適なパラメータを決定することができる。例えば、情報処理装置100は、データセットDS1とは異なる別のデータセットDSXを対象とする場合、そのデータセットDSXのデータを用いて上述した調整処理を行うことにより、データセットDSXを対象として調整されたパラメータを得ることができる。このように、情報処理装置100は、対象とするデータセットに応じて、適切なパラメータの値を決定することができる。 For example, the parameters in the function FC1 described above have different optimal values depending on the data. Therefore, the information processing apparatus 100 can determine optimum parameters by adjusting a plurality of parameters in the function FC1 for a given data set. For example, when a data set DSX different from the data set DS1 is targeted, the information processing apparatus 100 performs the above-described adjustment processing using the data of the data set DSX, thereby adjusting the data set DSX as the target. parameters can be obtained. Thus, the information processing apparatus 100 can determine appropriate parameter values according to the target data set.

〔1-2.近似正解検索結果を用いた場合の処理〕
上述のパラメータの調整においては、特定の精度区間における評価指標(例えば検索時間、オブジェクトアクセス数、距離計算回数)を測定することが必要となる。また、上述したように、精度である再現率は、正解検索結果を基に算出される。しかし、正確な正解検索結果を生成するにはすべてのオブジェクトとの距離を計算する必要があり、大規模なデータセットの場合には現実的な時間でできないという課題がある。
[1-2. Processing when Approximate Correct Search Results are Used]
In adjusting the parameters described above, it is necessary to measure the evaluation index (for example, search time, number of object accesses, number of distance calculations) in a specific accuracy interval. Further, as described above, the recall, which is accuracy, is calculated based on the correct answer search result. However, in order to generate accurate correct search results, it is necessary to calculate the distance to all objects, and in the case of a large-scale data set, there is a problem that this cannot be done in a realistic amount of time.

そのため、上述したように、図1の例では、「正解検索結果」として、「近似正解検索結果」を用いる。この場合、「近似正解検索結果」よりもよい結果(正解)が各個別の調整処理により抽出される可能性がある。そこで、情報処理装置100は、「近似正解検索結果」よりもよい結果(正解オブジェクト)が抽出された場合、以下のような処理を実行する。 Therefore, as described above, in the example of FIG. 1, the "approximate correct search result" is used as the "correct answer search result". In this case, there is a possibility that a result (correct answer) better than the "approximate correct answer search result" is extracted by each individual adjustment process. Therefore, when a result (correct object) better than the "approximate correct search result" is extracted, the information processing apparatus 100 performs the following processing.

例えば、情報処理装置100は、対象グラフを対象とする検索処理により、「近似正解検索結果」よりもよい正解オブジェクトが抽出された場合、その正解オブジェクトを正解として、精度を算出してもよい。例えば、情報処理装置100は、対象グラフを対象とする検索処理により、「近似正解検索結果」よりもよい正解オブジェクトが抽出された場合、その正解オブジェクトを「近似正解検索結果」に追加する更新処理を行ってもよい。 For example, when a correct object that is better than the “approximate correct search result” is extracted by the search processing for the target graph, the information processing apparatus 100 may regard the correct object as the correct answer and calculate the accuracy. For example, when a correct object that is better than the "approximate correct search result" is extracted by the search process targeting the target graph, the information processing apparatus 100 performs an update process of adding the correct object to the "approximate correct search result". may be performed.

以下、図3を用いて具体的に説明する。図3は、実施形態に係る近似正解検索結果を用いた処理の一例を示す図である。なお、図3では、図1及び図2中の調整処理において行われる場合を一例として説明する。図1及び図2と同様の点についての説明は省略する。例えば、図3に示す処理は、図2の例で情報処理装置100がクエリQE1を用いてグラフGR11からk個の近傍ノードを抽出する検索処理を行い、再現率を算出する際に実行される。 A specific description will be given below with reference to FIG. FIG. 3 is a diagram illustrating an example of processing using approximate correct search results according to the embodiment. In addition, FIG. 3 will be described as an example of the case where the adjustment processing in FIGS. 1 and 2 is performed. Descriptions of the same points as in FIGS. 1 and 2 are omitted. For example, the processing shown in FIG. 3 is executed when the information processing apparatus 100 performs search processing for extracting k neighboring nodes from the graph GR11 using the query QE1 in the example of FIG. 2 and calculates the recall rate. .

図3に示す近似正解検索結果RR1は、図1中の近似正解検索結果RR1に対応する。図3に示す測定用検索結果SR1は、情報処理装置100がクエリQE1を用いてグラフGR11からk個の近傍ノードを抽出した検索処理を示す。 The approximate correct search result RR1 shown in FIG. 3 corresponds to the approximate correct search result RR1 in FIG. A measurement search result SR1 illustrated in FIG. 3 indicates a search process in which the information processing apparatus 100 extracts k neighboring nodes from the graph GR11 using the query QE1.

まず、情報処理装置100は、測定用検索結果SR1のうち、近似正解検索結果RR1に含まれないオブジェクトを非重複オブジェクトとして抽出する(ステップS21)。図3の例では、情報処理装置100は、非重複オブジェクト情報NOL1に示すように、測定用検索結果SR1のうちオブジェクトOB77を、近似正解検索結果RR1に含まれない非重複オブジェクトとして抽出する。 First, the information processing apparatus 100 extracts objects that are not included in the approximate correct search results RR1 from the measurement search results SR1 as non-overlapping objects (step S21). In the example of FIG. 3, the information processing apparatus 100 extracts the object OB77 from the measurement search results SR1 as a non-overlapping object that is not included in the approximate correct search results RR1, as indicated by the non-overlapping object information NOL1.

そして、情報処理装置100は、最遠オブジェクト情報FOL1に示すように、近似正解検索結果RR1のうち、クエリQE1から最遠のオブジェクトであるオブジェクトOB55と、オブジェクトOB77とを比較する(ステップS22)。具体的には、情報処理装置100は、最遠オブジェクトOB55及びクエリQE1間の距離D55と、非重複オブジェクトOB77及びクエリQE1間の距離D77とを比較する。情報処理装置100は、距離D77が距離D55よりも短い場合、非重複オブジェクトを正解とする所定の処理を行う。このように、情報処理装置100は、距離D77が距離D55よりも短い場合、「近似正解検索結果」よりもよい非重複オブジェクトが抽出されたとして、その非重複オブジェクトを正解とする所定の処理を実行する。 Then, the information processing apparatus 100 compares the object OB55, which is the farthest object from the query QE1, with the object OB77 in the approximate correct search result RR1, as indicated by the farthest object information FOL1 (step S22). Specifically, the information processing apparatus 100 compares the distance D55 between the furthest object OB55 and the query QE1 with the distance D77 between the non-overlapping object OB77 and the query QE1. When the distance D77 is shorter than the distance D55, the information processing apparatus 100 performs a predetermined process of determining the non-overlapping object as the correct answer. In this way, when the distance D77 is shorter than the distance D55, the information processing apparatus 100 assumes that a non-overlapping object that is better than the "approximate correct search result" is extracted, and performs a predetermined process of determining the non-overlapping object as the correct answer. Run.

〔1-2-1.更新処理〕
図3の例では、情報処理装置100は、距離D77が距離D55よりも短いため、非重複オブジェクトを正解とする所定の処理を行う。情報処理装置100は、非重複オブジェクトOB77を正解として、近似正解検索結果に追加する更新処理を行う。この場合、情報処理装置100は、最遠オブジェクトOB55を近似正解検索結果から除外してもよい。これにより、情報処理装置100は、近似正解検索結果RR1を、オブジェクトOB77を正解として含む近似正解検索結果RR2に更新する(ステップS23)。
[1-2-1. Update process]
In the example of FIG. 3, the information processing apparatus 100 performs a predetermined process of determining the non-overlapping object as the correct answer because the distance D77 is shorter than the distance D55. The information processing apparatus 100 performs update processing for adding the non-overlapping object OB77 to the approximate correct search result as the correct answer. In this case, the information processing apparatus 100 may exclude the farthest object OB55 from the approximate correct search results. Accordingly, the information processing apparatus 100 updates the approximate correct search result RR1 to the approximate correct search result RR2 including the object OB77 as the correct answer (step S23).

そして、情報処理装置100は、更新処理を行った場合、調整処理や測定処理を再度実行してもよい。例えば、上述のように新たな正解検索結果が見つかった場合には、近似正解検索結果を用いて指定された検索精度範囲をカバーする検索範囲係数「ε」の下限、上限を再度探索する。 After performing the update process, the information processing apparatus 100 may perform the adjustment process and the measurement process again. For example, when a new correct search result is found as described above, the approximate correct search result is used to search again for the lower limit and upper limit of the search range coefficient "ε" that covers the designated search accuracy range.

このように、近似正解検索結果を用いて再現率を計算するときには、近似正解データに含まれない正解オブジェクトが検索される場合がある。そのため、情報処理装置100は、検索結果のオブジェクトが近似正解検索結果の最遠の結果よりも近ければ正解として近似正解検索結果に追加する。これにより、情報処理装置100は、検索処理に関連する評価指標を適切に算出することができる。 In this way, when the recall is calculated using the approximate correct search results, correct objects not included in the approximate correct answer data may be searched. Therefore, the information processing apparatus 100 adds the object as a correct answer to the approximate correct search result if the object in the search result is closer than the farthest result of the approximate correct search result. Thereby, the information processing apparatus 100 can appropriately calculate an evaluation index related to the search process.

〔1-2-2.精度算出〕
なお、情報処理装置100は、上述した更新処理に限らず、種々の処理を行ってもよい。図3の例では、例えば、情報処理装置100は、非重複オブジェクトOB77を正解として、測定用検索結果SR1に対応する検索の再現率を算出してもよい。
[1-2-2. Accuracy calculation]
Note that the information processing apparatus 100 may perform various processes other than the update process described above. In the example of FIG. 3, for example, the information processing apparatus 100 may calculate the recall of the search corresponding to the measurement search result SR1, with the non-overlapping object OB77 as the correct answer.

このように、近似正解検索結果を用いて再現率を計算するときには、近似正解データに含まれない正解オブジェクトが検索される場合があるので、検索結果のオブジェクトが近似正解検索結果の最遠の結果よりも近ければ正解として精度を計算する。これにより、情報処理装置100は、検索処理に関連する評価指標を適切に算出することができる。 In this way, when the recall is calculated using the approximate correct search results, correct objects not included in the approximate correct search data may be searched. If it is closer than , the accuracy is calculated as the correct answer. Thereby, the information processing apparatus 100 can appropriately calculate an evaluation index related to the search process.

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

例えば、情報処理装置100は、ツリー情報IND11に基づいて、クエリQE1に対応する起点ノードを決定してもよい。情報処理装置100は、ツリー情報記憶部122(図8参照)に記憶されたツリー情報IND11を用いて、起点ノードを決定する。例えば、ツリー情報IND11は、グラフGR11中のいくつかのノードに到達可能なツリー構造を有するツリーである。図4の例では説明を簡単にするために、ツリー情報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 information IND11. The information processing apparatus 100 determines the starting node using the tree information IND11 stored in the tree information storage unit 122 (see FIG. 8). For example, tree information IND11 is a tree with a tree structure that can reach some nodes in graph GR11. In the example of FIG. 4, to simplify the explanation, the tree information IND11 shows only the routes that reach five nodes N1 to N5, but there are many routes (eg, 500, 1000, etc.) to other nodes. The route to reach may be included.

例えば、情報処理装置100は、図4中のツリー情報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 tree structure type tree information such as tree information 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 information IND11 by tracing the tree information 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 information 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 information 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 the tree information IND11 downward 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.

図4の例に示すツリー情報(ツリーデータ)は一例であり、情報処理装置100は、種々のツリー情報を用いて、グラフ情報を検索してもよい。情報処理装置100は、検索時の起点ノードの決定に用いるツリーを生成してもよい。なお、ツリーを用いることは一例であり、情報処理装置100は、検索時の起点ノードの決定の高速化が可能であれば、ツリーに限らず種々の情報を用いてもよい。例えば、情報処理装置100は、高次元ベクトルを高速に検索するための検索ツリー(ツリー情報)を生成する。ここでいう高次元ベクトルとは、例えば、数百次元から数千次元のベクトルであってもよいし、それ以上の次元のベクトルであってもよい。 The tree information (tree data) shown in the example of FIG. 4 is an example, and the information processing apparatus 100 may search for graph information using various types of tree information. 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 information) 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は、図4に示すようなツリー構造(木構造)に関するツリー情報IND11を生成してもよい。例えば、情報処理装置100は、kd木(k-dimensional tree)に関する検索ツリーを生成してもよい。例えば、情報処理装置100は、VP木(Vantage-Point tree)に関する検索ツリーを生成してもよい。 For example, the information processing apparatus 100 may generate tree information IND11 regarding 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.

〔2.情報処理システムの構成〕
図5に示すように、情報処理システム1には、端末装置10と、情報提供装置50と、情報処理装置100とが含まれる。端末装置10と、情報提供装置50と、情報処理装置100とは所定のネットワークNを介して、有線または無線により通信可能に接続される。図5は、実施形態に係る情報処理システムの構成例を示す図である。なお、図5に示した情報処理システム1には、複数台の端末装置10や、複数台の情報提供装置50や、複数台の情報処理装置100が含まれてもよい。
[2. Configuration of information processing system]
As shown in FIG. 5 , 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. 5 is a diagram illustrating a configuration example of an information processing system according to the embodiment; The information processing system 1 shown in FIG. 5 may include a plurality of terminal devices 10, a plurality of information providing devices 50, and a plurality of information processing devices 100. FIG.

端末装置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.

情報提供装置50は、ユーザ等に種々の情報提供を行うための情報が格納された情報処理装置である。例えば、情報提供装置50は、ウェブサーバ等の種々の外部装置から収集した文字情報等に基づくオブジェクトIDが格納される。例えば、情報提供装置50は、ユーザ等に画像検索サービスを提供する情報処理装置である。例えば、情報提供装置50は、画像検索サービスを提供するための各情報が格納される。例えば、情報提供装置50は、画像検索サービスの対象となる画像に対応するベクトル情報を情報処理装置100に提供する。また、情報提供装置50は、クエリを情報処理装置100に送信することにより、情報処理装置100からクエリに対応する画像を示すオブジェクトID等を受信する。 The information providing device 50 is an information processing device that stores information for providing various information to users and the like. For example, the information providing device 50 stores object IDs based on character information and the like collected from various external devices such as web servers. For example, the information providing device 50 is an information processing device that provides an image search service to a user or the like. For example, the information providing device 50 stores each information for providing an image search service. For example, the information providing device 50 provides the information processing device 100 with vector information corresponding to images for which an image search service is to be performed. Further, by transmitting a query to the information processing device 100 , the information providing device 50 receives an object ID or the like indicating an image corresponding to the query from the information processing device 100 .

情報処理装置100は、検索処理において、所定のノードとエッジにより連結されたノードである連結ノードのうち、判定処理の処理対象数に関する基準に基づいて、判定処理の対象とするノードである判定対象ノードを選択するコンピュータである。例えば、情報処理装置100は、選択した判定対象ノードに基づいてノードを抽出する抽出装置である。 In the search processing, the information processing apparatus 100 selects determination targets, which are nodes to be subjected to the determination processing, based on a criterion regarding the number of processing targets of the determination processing, among connected nodes, which are nodes connected to a predetermined node by an edge. A computer that selects a node. For example, the information processing device 100 is an extraction device that extracts nodes based on the selected determination target node.

情報処理装置100は、クエリに類似するオブジェクトを抽出する検索装置である。例えば、情報処理装置100は、端末装置からクエリ情報(クエリ)を受信すると、クエリに類似する対象(ベクトル情報等)を検索し、検索結果を端末装置に提供する。また、例えば、情報処理装置100が端末装置に提供するデータは、画像情報等のデータ自体であってもよいし、URL(Uniform Resource Locator)等の対応するデータを参照するための情報であってもよい。また、クエリや検索対象のデータは、画像、音声、テキストデータなど、如何なる種類のデータであってもよい。本実施形態において、情報処理装置100が画像を検索する場合を一例として説明する。 The information processing device 100 is a search device that extracts objects similar to a query. For example, upon receiving query information (query) from a terminal device, the information processing apparatus 100 searches for objects (eg, vector information) similar to the query, and provides search results to the terminal device. Further, for example, the data provided by the information processing device 100 to the terminal device may be data itself such as image information, or information for referring to corresponding data such as a URL (Uniform Resource Locator). good too. 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.

〔3.情報処理装置の構成〕
次に、図6を用いて、実施形態に係る情報処理装置100の構成について説明する。図6は、実施形態に係る情報処理装置100の構成例を示す図である。図6に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
[3. Configuration of Information Processing Device]
Next, the configuration of the information processing apparatus 100 according to the embodiment will be described using FIG. FIG. 6 is a diagram illustrating a configuration example of the information processing apparatus 100 according to the embodiment. As shown in FIG. 6, 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は、ネットワーク(例えば図5中のネットワーク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. 5) 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は、図6に示すように、オブジェクト情報記憶部121と、ツリー情報記憶部122と、グラフ情報記憶部123と、近似正解検索結果情報記憶部124と、関数情報記憶部125と、調整関連情報記憶部126とを有する。
(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. 6, 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 a function information storage unit. 125 and an adjustment-related information storage unit 126 .

(オブジェクト情報記憶部121)
実施形態に係るオブジェクト情報記憶部121は、オブジェクトに関する各種情報を記憶する。例えば、オブジェクト情報記憶部121は、データセットごとにオブジェクトIDやベクトルデータを記憶する。図7は、実施形態に係るオブジェクト情報記憶部の一例を示す図である。図7に示すオブジェクト情報記憶部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. 7 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. 7 includes items such as "data set ID", "object ID", and "vector information".

「データセットID」は、データセットを識別するための識別情報を示す。「オブジェクトID」は、オブジェクトを識別するための識別情報を示す。また、「ベクトル情報」は、オブジェクトIDにより識別されるオブジェクトに対応するベクトル情報を示す。すなわち、図7の例では、オブジェクトを識別するオブジェクト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. 7, vector data (vector information) corresponding to an object is registered in association with an object ID that identifies the object.

図7の例では、データセットID「DS1」により識別されるデータセット(データセットDS1)には、オブジェクトID「OB1」、「OB2」、「OB3」等により識別される複数のオブジェクト(対象)が含まれることを示す。オブジェクトID「OB1」により識別されるオブジェクト(オブジェクトOB1)は、「10,24,51,2...」の多次元のベクトル情報が対応付けられることを示す。また、オブジェクトID「OB2」により識別されるオブジェクト(オブジェクトOB2)は、「32,1,120,31...」の多次元のベクトル情報が対応付けられることを示す。 In the example of FIG. 7, 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, 51, 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は、ツリーに関する各種情報を記憶する。図8は、実施形態に係るツリー情報記憶部の一例を示す図である。具体的には、図8の例では、ツリー情報記憶部122は、ツリー構造のツリー情報を示す。図8の例では、ツリー情報記憶部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. 8 is a diagram illustrating an example of a tree information storage unit according to the embodiment; FIG. Specifically, in the example of FIG. 8, the tree information storage unit 122 shows tree information of a tree structure. In the example of FIG. 8, 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.

図8に示す例においては、ツリー情報記憶部122には、図1中のツリー情報IND11に対応する情報が記憶される。例えば、ツリー情報記憶部122は、第1階層のノードが、節点VT1~VT3等であることを示す。また、各節点の下の括弧内の数値は、各節点に対応するベクトルの値を示す。 In the example shown in FIG. 8, 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は、検索処理等の情報処理に用いられるグラフ情報を記憶する。図9の例は、グラフ情報記憶部123は、近傍グラフデータを記憶する。図9は、実施形態に係るグラフ情報記憶部の一例を示す図である。図9に示すグラフ情報記憶部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. 9, the graph information storage unit 123 stores neighborhood graph data. 9 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. 9 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.

また、「有向エッジ情報」は、対応するノードに接続されるエッジに関する情報を示す。図9の例では、「有向エッジ情報」は、対応するノードから出力される出力エッジに関する情報を示す。また、「エッジID」は、ノード間を連結するエッジを識別するための識別情報を示す。また、「参照先」は、エッジにより連結された参照先(ノード)を示す情報を示す。すなわち、図9の例では、ノードを識別するノードIDに対して、そのノードに対応するオブジェクト(対象)を識別する情報やそのノードからの有向エッジ(出力エッジ)が連結される参照先(ノード)が対応付けられて登録されている。 "Directed edge information" indicates information about edges connected to the corresponding node. In the example of FIG. 9, "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. 9, for a node ID that identifies a node, a reference destination ( node) are associated and registered.

図9の例では、ノードID「N1」により識別されるノード(ノードN1)は、オブジェクトID「OB1」により識別されるオブジェクト(対象)に対応することを示す。また、ノードN1からは、エッジID「E1」により識別されるエッジ(エッジE1)が、ノードID「N2」により識別されるノード(ノードN2)に連結されることを示す。すなわち、図9の例では、グラフ情報におけるノードN1からはエッジE1によりノードN2へ辿ることができることを示す。 The example of FIG. 9 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. 9 indicates that the node N2 can be traced from the node N1 in the graph information by the edge E1.

また、図9の例では、ノードID「N2」により識別されるノード(ノードN2)は、オブジェクトID「OB2」により識別されるオブジェクト(対象)に対応することを示す。また、ノードN2からは、エッジID「E21」により識別されるエッジ(エッジE21)が、ノードID「N1」により識別されるノード(ノードN1)に連結されることを示す。すなわち、図9の例では、グラフ情報におけるノードN2からはエッジE21によりノードN1へ辿ることができることを示す。 Also, the example of FIG. 9 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. 9 indicates that the node N1 can be traced from the node N2 in the graph information through the edge E21.

なお、グラフ情報記憶部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個の近傍ノードを近似正解検索結果として記憶する。図10は、実施形態に係る閾値記憶部の一例を示す図である。図10に示す近似正解検索結果情報記憶部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 neighboring nodes of each query as approximate correct search results in association with each query. 10 is a diagram illustrating an example of a threshold storage unit according to the embodiment; FIG. The approximate correct search result information storage unit 124 shown in FIG. 10 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 neighboring node of the corresponding query. "Object" indicates a neighboring node (object) of corresponding rank.

図10の例では、クエリID「QE1」により識別されるクエリ(クエリQE1)は、「7,35,13,93...」の多次元のベクトル情報であることを示す。クエリQE1に対応する近似正解情報は、Noが「1」である、すなわち最も近傍のノードがオブジェクトOB101に対応するノードであることを示す。また、クエリQE1に対応する近似正解情報は、Noが「k」である、すなわち最も遠いノード(最遠オブジェクト)がオブジェクトOB55に対応するノードであることを示す。 The example of FIG. 10 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は、関数に関する各種情報を記憶する。図11は、実施形態に係る関数情報記憶部の一例を示す図である。図11の例では、関数情報記憶部125は、「関数ID」、「算出対象」、「関数」、「パラメータ情報」といった項目を有する。また、「パラメータ情報」には、「第1パラメータ」や「第2パラメータ」といった情報が含まれる。なお、「パラメータ情報」には、「第1パラメータ」、「第2パラメータ」に限らず、関数に含まれるパラメータ数に応じて、「第3パラメータ」、「第4パラメータ」等が含まれてもよい。
(Function information storage unit 125)
The function information storage unit 125 according to the embodiment stores various information regarding functions. 11 is a diagram illustrating an example of a function information storage unit according to the embodiment; FIG. In the example of FIG. 11, the function information storage unit 125 has items such as "function ID", "calculation target", "function", and "parameter information". "Parameter information" includes information such as "first parameter" and "second parameter". The "parameter information" is not limited to the "first parameter" and "second parameter", and includes "third parameter", "fourth parameter", etc. according to the number of parameters included in the function. good too.

「関数ID」は、関数を識別するための識別情報を示す。「算出対象」は、関数により算出される対象を示す。「関数」は、関数のデータを示す。図11では「関数」に「FINF1」といった概念的な情報が格納される例を示したが、実際には、対応する関数の種々の情報、または、その格納場所を示すファイルパス名などが格納される。 "Function ID" indicates identification information for identifying a function. "Calculation target" indicates a target calculated by a function. "Function" indicates function data. FIG. 11 shows an example in which conceptual information such as "FINF1" is stored in "function", but in reality, various information of the corresponding function or a file path name indicating its storage location is stored. be done.

「パラメータ情報」には、対応する関数に含まれるパラメータ(変数)を示す。「第1パラメータ」は、対応する関数に含まれる1つのパラメータ(変数)を示す。また、「第2パラメータ」は、対応する関数に含まれる第1パラメータ以外の1つのパラメータ(変数)を示す。 "Parameter information" indicates parameters (variables) included in the corresponding function. "First parameter" indicates one parameter (variable) included in the corresponding function. Also, "second parameter" indicates one parameter (variable) other than the first parameter included in the corresponding function.

図11の例では、関数ID「FC1」により識別される関数(関数FC1)は、算出対象が「閾値TH1」であることを示す。関数FC1の関数のデータは、「FINF1」であることを示す。関数FC1は、図1中の関数FC1に対応し、図1中に「e」で示す閾値TH1を算出する関数である。 In the example of FIG. 11, the function (function FC1) identified by the function ID "FC1" indicates that the calculation target is "threshold TH1". The data of the function FC1 is "FINF1". A function FC1 corresponds to the function FC1 in FIG. 1 and is a function for calculating a threshold TH1 indicated by "e p " in FIG.

また、関数FC1の第1パラメータは、「e」であることを示す。第1パラメータは、関数FC1中の定数項「e」であることを示す。 It also indicates that the first parameter of the function FC1 is "e 0 ". The first parameter indicates that it is the constant term “e 0 ” in the function FC1.

また、関数FC1の第2パラメータは、「w」であることを示す。第2パラメータは、関数FC1中の定数「10」を底とする指数「wε」中の「w」であることを示す。第2パラメータは、検索範囲係数「ε」との掛け合わされる「w」であることを示す。 It also indicates that the second parameter of the function FC1 is "w e ". The second parameter is "w e " in the constant "10" base exponent "w e ε" in the function FC1. The second parameter indicates that it is 'w e ' multiplied by the search range factor 'ε'.

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

(調整関連情報記憶部126)
実施形態に係る調整関連情報記憶部126は、パラメータの調整に関する各種情報を記憶する。図12は、実施形態に係る調整関連情報記憶部の一例を示す図である。図12の例では、調整関連情報記憶部126は、「調整ID」、「対象データセット」、「精度」、「評価指標」、「精度区間情報」といった項目を有する。また、「精度区間情報」には、「対象パラメータ」、「下限」、「上限」、「マージン」といった項目が含まれる。
(Adjustment-related information storage unit 126)
The adjustment-related information storage unit 126 according to the embodiment stores various types of information related to parameter adjustment. 12 is a diagram illustrating an example of an adjustment-related information storage unit according to the embodiment; FIG. In the example of FIG. 12, the adjustment-related information storage unit 126 has items such as "adjustment ID", "target data set", "accuracy", "evaluation index", and "accuracy interval information". The "accuracy interval information" includes items such as "target parameter", "lower limit", "upper limit", and "margin".

「調整ID」は、調整を識別するための識別情報を示す。「対象データセット」は、調整の対象とするデータセットを識別するための識別情報を示す。「精度」は、精度として用いる対象を示す。「評価指標」は、評価指標として用いる対象を示す。 “Adjustment ID” indicates identification information for identifying adjustment. "Target data set" indicates identification information for identifying a data set to be adjusted. "Precision" indicates an object used as precision. "Evaluation index" indicates an object used as an evaluation index.

「精度区間情報」は、精度区間に関する各種情報を示す。「対象パラメータ」は、対応する精度区間を適用する対象となるパラメータを示す。「下限」は、精度区間の下限を示す。「上限」は、精度区間の上限を示す。「マージン」は、精度区間のマージンを示す。なお、図12の例では、1つのマージンを用いる場合を示すが、マージンは上限と下限の各々に個別に設定されてもよい。 "Accuracy interval information" indicates various information about the accuracy interval. "Target parameter" indicates the parameter to which the corresponding accuracy interval is applied. "Lower limit" indicates the lower limit of the accuracy interval. "Upper limit" indicates the upper limit of the precision interval. "Margin" indicates the margin of the accuracy interval. Note that the example of FIG. 12 shows the case of using one margin, but the margin may be set individually for each of the upper limit and the lower limit.

図12の例では、調整ID「AD1」により識別される調整(調整AD1)は、データセットDS1を対象とした調整であることを示す。調整AD1は、精度として「再現率」が用いられることを示す。なお、精度は、再現率(recall)に限らず、検索処理の精度が測定できれば、例えば適合率(precision)等どのようなものであってもよい。 The example of FIG. 12 indicates that the adjustment (adjustment AD1) identified by the adjustment ID “AD1” is the adjustment for the data set DS1. Adjustment AD1 indicates that "recall" is used as accuracy. Note that the accuracy is not limited to the recall, but may be any other value such as precision, as long as the accuracy of the retrieval process can be measured.

また、調整AD1は、評価指標として「検索時間」が用いられることを示す。なお、評価指標は、検索時間に限らず、距離計算回数やノードのアクセス数等、種々の指標が用いられてもよい。 Further, the adjustment AD1 indicates that "retrieval time" is used as an evaluation index. Note that the evaluation index is not limited to the search time, and various indices such as the number of distance calculations and the number of node accesses may be used.

また、パラメータ「e」を対象とする精度区間は、下限が「R1a」であり、上限が「R1b」であり、マージンが「MG1」であることを示す。なお、図12に示す例では、精度区間を示す値を「R1a」、「R1b」、「MG1」といった抽象的な符号を図示するが、具体的な数値等であってもよい。 The accuracy interval for the parameter "e 0 " has a lower limit of "R1a", an upper limit of "R1b", and a margin of "MG1". In the example shown in FIG. 12, abstract codes such as "R1a", "R1b", and "MG1" are shown as values indicating accuracy intervals, but concrete numerical values may be used.

また、パラメータ「w」を対象とする精度区間は、下限が「R2a」であり、上限が「R2b」であり、マージンが「MG2」であることを示す。なお、図12に示す例では、精度区間を示す値を「R2a」、「R2b」、「MG2」といった抽象的な符号を図示するが、具体的な数値等であってもよい。 Also, the precision interval for the parameter "w e " has a lower limit of "R2a", an upper limit of "R2b", and a margin of "MG2". In the example shown in FIG. 12, abstract codes such as "R2a", "R2b", and "MG2" are shown as values indicating accuracy intervals, but concrete numerical values may be used.

なお、調整関連情報記憶部126は、上記に限らず、目的に応じて種々の情報を記憶してもよい。 Note that the adjustment-related information storage unit 126 may store various types of information, not limited to the above, depending on the purpose.

(制御部130)
図6の説明に戻って、制御部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. 6, the control unit 130 is a controller, and is stored in a storage device inside the information processing apparatus 100 by, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like. 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).

図6に示すように、制御部130は、取得部131と、生成部132と、算出部133と、決定部134と、抽出部135と、提供部136とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図6に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。 As shown in FIG. 6, the control unit 130 includes an acquisition unit 131, a generation unit 132, a calculation unit 133, a determination unit 134, an extraction 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. 6, and may be another configuration as long as it performs information processing described later.

(取得部131)
取得部131は、各種情報を取得する。取得部131は、記憶部120から各種情報を取得する。取得部131は、オブジェクト情報記憶部121や、ツリー情報記憶部122や、グラフ情報記憶部123や、近似正解検索結果情報記憶部124や、関数情報記憶部125や、調整関連情報記憶部126等から各種情報を取得する。また、取得部131は、各種情報を外部の情報処理装置から取得する。取得部131は、端末装置10等の外部装置から各種情報を取得する。取得部131は、グラフ情報記憶部123からグラフ情報を取得する。取得部131は、ツリー情報記憶部122からツリー情報を取得する。
(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 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, a function information storage unit 125, an adjustment-related information storage unit 126, and the like. Get various information from. The acquisition unit 131 also acquires 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 a data set including a plurality of objects to be searched, and a function for calculating a threshold used for searching the data set. The acquisition unit 131 acquires a function for calculating a threshold used when retrieving a graph. The acquisition unit 131 acquires a function for calculating a threshold indicating the number of reference edges to be referred to when retrieving a target graph.

取得部131は、複数のオブジェクトの各々に対応する複数のノードがエッジにより連結された対象グラフを取得する。取得部131は、データセットのうち、一部のオブジェクト群の各々に対応する複数のノードがエッジにより連結された対象グラフを取得する。 The acquisition unit 131 acquires a target graph in which a plurality of nodes corresponding to each of a plurality of objects are connected by edges. The acquisition unit 131 acquires a target graph in which a plurality of nodes corresponding to each of a partial object group are connected by edges from the data set.

取得部131は、第1パラメータと第2パラメータとを含む関数を取得する。決定部134は、第1パラメータの第1値と、第2パラメータの第2値とを調整する調整処理により、第1値と第2値とを決定する。取得部131は、検索精度が高くなるほど、第1パラメータよりも影響が強くなる第2パラメータを含む関数を取得する。 Acquisition unit 131 acquires a function including a first parameter and a second parameter. The determination unit 134 determines the first value and the second value through adjustment processing for adjusting the first value of the first parameter and the second value of the second parameter. The acquisition unit 131 acquires a function including a second parameter that has a stronger influence than the first parameter as the search accuracy increases.

取得部131は、第1パラメータに対してターゲットとする検索精度の範囲を示す第1精度範囲と、第2パラメータに対してターゲットとする検索精度の範囲を示す第2精度範囲とを取得する。取得部131は、再現率の範囲を示す第1精度範囲及び第2精度範囲を取得する。 The acquisition unit 131 acquires a first accuracy range indicating a target search accuracy range for the first parameter and a second accuracy range indicating a target search accuracy range for the second parameter. The acquisition unit 131 acquires a first precision range and a second precision range that indicate the range of recall.

取得部131は、定数項である第1パラメータと、所定の値を底とする指数に含まれる第2パラメータとを含む関数を取得する。取得部131は、検索処理における探索範囲を決定するための係数である検索範囲係数を含む関数を取得する。取得部131は、第2パラメータと検索範囲係数との掛け合わせを含む関数を取得する。 Acquisition unit 131 acquires a function including a first parameter that is a constant term and a second parameter that is included in an index whose base is a predetermined value. Acquisition unit 131 acquires a function including a search range coefficient, which is a coefficient for determining a search range in search processing. Acquisition unit 131 acquires a function including a product of the second parameter and the search range coefficient.

取得部131は、検索対象となる複数のオブジェクトを含むデータセットと、評価用クエリと、評価用クエリを用いたデータセットの近傍検索の結果である近似正解検索結果とを取得する。取得部131は、ターゲットとする検索精度の範囲を示す精度範囲を取得する。取得部131は、再現率の範囲を示す精度範囲を取得する。取得部131は、データセットを対象とする検索に用いられる閾値を算出する関数を取得する。 The acquisition unit 131 acquires a data set including a plurality of objects to be searched, an evaluation query, and an approximate correct search result that is a result of neighborhood search of the data set using the evaluation query. The acquisition unit 131 acquires an accuracy range indicating a target search accuracy range. The acquisition unit 131 acquires an accuracy range that indicates the range of recall. Acquisition unit 131 acquires a function for calculating a threshold used in a search for a data set.

取得部131は、検索クエリに関する情報を取得する。取得部131は、画像検索に関する検索クエリを取得する。取得部131は、ユーザが利用する端末装置10からクエリを取得する。取得部131は、端末装置10からクエリを受け付けた情報提供装置50からクエリを取得してもよい。図1の例では、取得部131は、クエリQE11をユーザが利用する端末装置10から取得する。 Acquisition unit 131 acquires information about a search query. The acquisition unit 131 acquires a search query related to image search. The acquisition unit 131 acquires a query from the terminal device 10 used by the user. The acquisition unit 131 may acquire the query from the information providing device 50 that has received the query from the terminal device 10 . In the example of FIG. 1, the acquisition unit 131 acquires the query QE11 from the terminal device 10 used by the user.

図1の例では、取得部131は、グラフ情報記憶部123からグラフGR11を取得する。取得部131は、オブジェクト情報記憶部121(図7参照)からデータセットDS1を取得する。取得部131は、ツリー情報記憶部122からツリー情報IND11を取得する。 In the example of FIG. 1 , 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. 7). Acquisition unit 131 acquires tree information IND11 from tree information storage unit 122 .

取得部131は、近似正解検索結果を取得する。取得部131は、クエリQE1を対象とする近似正解検索結果を取得する。取得部131は、クエリQE1を用いて、k個(kは任意の数)のノードを近傍ノードとして抽出した結果を示す近似正解検索結果を取得する。取得部131は、近似正解検索結果情報記憶部124(図10参照)からクエリ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 neighboring 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. 10).

(生成部132)
生成部132は、各種情報を生成する。生成部132は、記憶部120に記憶された各種情報に基づいて、種々の情報を生成する。生成部132は、オブジェクト情報記憶部121や、ツリー情報記憶部122や、グラフ情報記憶部123や、近似正解検索結果情報記憶部124や、関数情報記憶部125や、調整関連情報記憶部126等に基づいて、各種情報を生成する。
(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 includes 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 function information storage unit 125, the adjustment related information storage unit 126, and the like. Generate various information based on

生成部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 calculated by the calculator 133 . The generation unit 132 generates various information based on the various information determined by the determination unit 134 . The generator 132 generates various information based on the various information extracted by the extractor 135 . The generator 132 may generate graph information.

図1の例では、生成部132は、与えられたデータセットからクエリオブジェクトセットを生成する。生成部132は、データセットからランダムに抽出したオブジェクト、または、ランダムに抽出した二つ以上のオブジェクトの平均値であるクエリオブジェクト(評価用クエリ)を生成する。生成部132は、オブジェクトOB500とオブジェクトOB1000との平均である「7,35,13,93...」の多次元のベクトル情報を生成する。このように、図1の例では、生成部132は、評価用クエリRQ1に示すように、オブジェクトOB500とオブジェクトOB1000とに基づいて、クエリQE1を生成する。 In the example of FIG. 1, the generator 132 generates a query object set from a given data set. The generating unit 132 generates an object randomly extracted from the data set or a query object (evaluation query) that is an average value of two or more randomly extracted objects. The generator 132 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 generation unit 132 generates the query QE1 based on the object OB500 and the object OB1000, as shown in the evaluation query RQ1.

生成部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における各ノードが、そのノードとの間の距離が近い方から所定数のノードへのエッジ(出力エッジ)が連結されるようにグラフGR1を生成する。 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 GR1 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は、図15に示すような処理により、クエリQE1に対応する近似正解検索結果を生成する。この場合、生成部132は、後述する検索範囲係数「ε」の値を所定値以上大きくして、図15に示すような処理をグラフGR11を用いて行うことにより、クエリQE1に対応する近似正解検索結果を生成する。生成部132は、クエリQE1に対応する近似正解検索結果RR1を生成する。 The generator 132 appropriately uses various techniques related to 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 illustrated in FIG. 15 . 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や、調整関連情報記憶部126等に基づいて、各種情報を算出する。算出部133は、取得部131により取得された各種情報に基づいて、種々の情報を算出する。算出部133は、生成部132により生成された各種情報に基づいて、種々の情報を算出する。算出部133は、抽出部135により抽出された各種情報に基づいて、種々の情報を算出する。算出部133は、決定部134により決定された各種情報に基づいて、種々の情報を算出する。
(Calculation unit 133)
The calculator 133 calculates various information. The calculation unit 133 calculates various information based on various information stored in the storage unit 120 . The calculation unit 133 includes 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 function information storage unit 125, the adjustment related information storage unit 126, and the like. Based on, various information is calculated. The calculator 133 calculates various information based on the various information acquired by the acquirer 131 . The calculator 133 calculates various information based on the various information generated by the generator 132 . The calculator 133 calculates various information based on the various information extracted by the extractor 135 . The calculator 133 calculates various information based on the various information determined by the determiner 134 .

算出部133は、データセットに対応する複数のノードがエッジにより連結された対象グラフと、評価用クエリとを用いた検索処理による検索結果のうち、近似正解検索結果に含まれない一のオブジェクトが、近似正解検索結果のうち、評価用クエリから最遠のオブジェクトである最遠オブジェクトよりも評価用クエリに近い場合、一のオブジェクトを正解とする所定の処理を行うことにより、検索処理に関連する評価指標を算出する。 The calculation unit 133 determines, from among the search results obtained by the search process using the target graph in which a plurality of nodes corresponding to the data set are connected by edges, and the evaluation query, one object that is not included in the approximate correct search results is , Among the approximate correct search results, if the object is closer to the evaluation query than the farthest object from the evaluation query, a predetermined process is performed to determine that one object is the correct answer. Calculate the evaluation index.

算出部133は、対象グラフを対象とする検索処理による検索結果のうち、一のオブジェクトが、最遠オブジェクトよりも評価用クエリに近い場合、所定の処理を行うことにより、検索処理に関連する評価指標を算出する。算出部133は、対象グラフを対象とする検索処理による検索結果のうち、一のオブジェクトが、最遠オブジェクトよりも評価用クエリに近い場合、所定の処理を行うことにより、検索処理に関連する評価指標を算出する。 When one object is closer to the evaluation query than the farthest object among the search results obtained by the search process targeting the target graph, the calculation unit 133 performs a predetermined process to obtain an evaluation related to the search process. Calculate the index. When one object is closer to the evaluation query than the farthest object among the search results obtained by the search process targeting the target graph, the calculation unit 133 performs a predetermined process to obtain an evaluation related to the search process. Calculate the index.

算出部133は、データセットから抽出された抽出オブジェクトに基づく評価用クエリを用いた検索処理による検索結果のうち、一のオブジェクトが、最遠オブジェクトよりも評価用クエリに近い場合、所定の処理を行うことにより、検索処理に関連する評価指標を算出する。算出部133は、データセットから抽出された複数の抽出オブジェクトから生成される評価用クエリを用いた検索処理による検索結果のうち、一のオブジェクトが、最遠オブジェクトよりも評価用クエリに近い場合、所定の処理を行うことにより、検索処理に関連する評価指標を算出する。算出部133は、複数の抽出オブジェクトの平均を評価用クエリとする検索処理による検索結果のうち、一のオブジェクトが、最遠オブジェクトよりも評価用クエリに近い場合、所定の処理を行うことにより、検索処理に関連する評価指標を算出する。 When one object is closer to the evaluation query than the farthest object among the search results obtained by the search process using the evaluation query based on the extraction object extracted from the data set, the calculation unit 133 performs a predetermined process. By doing so, an evaluation index related to the search process is calculated. If one object is closer to the evaluation query than the farthest object among the search results obtained by the search process using the evaluation query generated from a plurality of extraction objects extracted from the data set, the calculation unit 133 By performing predetermined processing, an evaluation index related to search processing is calculated. When one object is closer to the evaluation query than the farthest object among the search results obtained by the search process using the average of a plurality of extracted objects as the evaluation query, the calculation unit 133 performs a predetermined process to Calculate an evaluation index related to the search process.

算出部133は、検索処理における検索時間、距離計算回数、及び対象グラフのノードのアクセス数のうち少なくとも1つを、評価指標として算出する。算出部133は、精度範囲を用いて評価指標を算出する。算出部133は、精度範囲における評価指標を算出する。算出部133は、検索処理における探索範囲を決定するための係数である検索範囲係数を変動させることにより、精度範囲における評価指標を算出する。 The calculation unit 133 calculates, as an evaluation index, at least one of the search time in search processing, the number of distance calculations, and the number of accesses to nodes in the target graph. The calculation unit 133 calculates an evaluation index using the accuracy range. The calculator 133 calculates an evaluation index in the accuracy range. The calculation unit 133 calculates an evaluation index in the accuracy range by varying a search range coefficient, which is a coefficient for determining a search range in search processing.

算出部133は、検索精度が精度範囲に含まれる複数の検索範囲係数の値の各々に対応する複数の個別評価指標を用いて、精度範囲における評価指標を算出する。算出部133は、精度範囲の下限以下の検索精度になる検索範囲係数の第1値と、精度範囲の上限以上の検索精度になる検索範囲係数の第2値とを用いて、精度範囲における評価指標を算出する。算出部133は、第1値と、第2値との間を等分した複数の検索範囲係数の値の各々に対応する複数の個別評価指標を用いて、精度範囲における評価指標を算出する。 The calculating unit 133 calculates an evaluation index in the accuracy range using a plurality of individual evaluation indexes corresponding to each of a plurality of search range coefficient values whose search accuracy is included in the accuracy range. The calculation unit 133 uses the first value of the search range coefficient that provides search accuracy equal to or lower than the lower limit of the accuracy range and the second value of the search range coefficient that provides search accuracy equal to or higher than the upper limit of the accuracy range, and evaluates the accuracy range. Calculate the index. The calculation unit 133 calculates an evaluation index in the accuracy range using a plurality of individual evaluation indices corresponding to each of the plurality of search range coefficient values obtained by equally dividing the first value and the second value.

算出部133は、台形近似により、精度範囲における評価指標を算出する。算出部133は、対象グラフを対象とする検索処理による検索結果のうち、一のオブジェクトが、最遠オブジェクトよりも評価用クエリに近い場合、一のオブジェクトを正解として、評価指標を算出する。算出部133は、対象グラフを対象とする検索処理による検索結果のうち、一のオブジェクトが、最遠オブジェクトよりも評価用クエリに近い場合、一のオブジェクトを正解として近似正解検索結果を更新する。算出部133は、対象グラフを対象とする検索処理による検索結果のうち、一のオブジェクトが、最遠オブジェクトよりも評価用クエリに近い場合、一のオブジェクトを近似正解検索結果に追加する更新処理を行い、評価指標を算出する。算出部133は、一のオブジェクトを近似正解検索結果に追加し、最遠オブジェクトを近似正解検索結果から除外する更新処理を行い、評価指標を算出する。算出部133は、更新処理を行った場合、評価指標を算出する処理を再度実行することにより、評価指標を算出する。 The calculator 133 calculates an evaluation index in the accuracy range by trapezoidal approximation. If one object is closer to the evaluation query than the farthest object among the search results obtained by the search processing targeting the target graph, the calculation unit 133 calculates the evaluation index by regarding the one object as the correct answer. When one object is closer to the evaluation query than the farthest object among the search results obtained by the search processing targeting the target graph, the calculation unit 133 sets the one object as the correct answer and updates the approximate correct search result. When one object is closer to the evaluation query than the farthest object among the search results obtained by the search process targeting the target graph, the calculation unit 133 performs an update process of adding the one object to the approximate correct search result. and calculate the evaluation index. The calculation unit 133 performs an update process of adding one object to the approximate correct search results and excluding the farthest object from the approximate correct search results, and calculates an evaluation index. When the updating process is performed, the calculating unit 133 calculates the evaluation index by executing the process of calculating the evaluation index again.

算出部133は、関数に含まれる複数のパラメータの各々の値を調整する調整処理における検索処理による検索結果のうち、一のオブジェクトが、最遠オブジェクトよりも評価用クエリに近い場合、所定の処理を行うことにより、評価指標を算出する。算出部133は、閾値が示す参照エッジ数による対象グラフの検索処理を含む調整処理により、複数のパラメータの各々の値を決定する。算出部133は、第1パラメータの第1値と、第2パラメータの第2値とを調整する調整処理における検索処理による検索結果のうち、一のオブジェクトが、最遠オブジェクトよりも評価用クエリに近い場合、所定の処理を行うことにより、評価指標を算出する。 If one object is closer to the evaluation query than the farthest object among the search results of the search process in the adjustment process of adjusting the values of each of the parameters included in the function, the calculation unit 133 performs a predetermined process The evaluation index is calculated by performing The calculation unit 133 determines the values of each of the plurality of parameters through adjustment processing including search processing for the target graph based on the number of reference edges indicated by the threshold. The calculation unit 133 determines that one of the search results obtained by the search process in the adjustment process of adjusting the first value of the first parameter and the second value of the second parameter is more likely than the farthest object to be included in the evaluation query. If it is close, an evaluation index is calculated by performing a predetermined process.

算出部133は、検索精度が高くなるほど、第1パラメータよりも影響が強くなる第2パラメータを含む関数を対象に、評価指標を算出する。算出部133は、定数項である第1パラメータと、所定の値を底とする指数に含まれる第2パラメータとを含む関数を対象に、評価指標を算出する。算出部133は、検索処理における探索範囲を決定するための係数である検索範囲係数を含む関数を対象に、評価指標を算出する。算出部133は、第2パラメータと検索範囲係数との掛け合わせを含む関数を対象に、評価指標を算出する。 The calculation unit 133 calculates an evaluation index for a function including a second parameter that has a stronger influence than the first parameter as the search accuracy increases. The calculator 133 calculates an evaluation index for a function including a first parameter, which is a constant term, and a second parameter, which is included in an index whose base is a predetermined value. The calculation unit 133 calculates an evaluation index for a function including a search range coefficient, which is a coefficient for determining a search range in search processing. The calculation unit 133 calculates an evaluation index for a function including the product of the second parameter and the search range coefficient.

図1の例では、算出部133は、各パラメータの調整のために、特定の精度区間(ターゲット精度区間)における評価指標(例えば検索時間、オブジェクトアクセス数、距離計算回数等)を測定する。算出部133は、第1パラメータ「e」を任意の値(測定対象値)に設定し、評価指標を測定する。例えば、算出部133は、第1パラメータ「e」を「20」に設定し、評価指標を測定する処理(測定処理)を行う。算出部133は、第2パラメータ「w」を任意の値(測定対象値)に設定し、評価指標を測定する。例えば、算出部133は、第2パラメータ「w」を「30」に設定し、評価指標を測定する処理(測定処理)を行う。算出部133は、上述した第1パラメータに対する測定処理と同様に、図2に示すような処理により、第2パラメータ「w」を任意の値に設定し、評価指標を測定する。 In the example of FIG. 1, the calculation unit 133 measures an evaluation index (for example, search time, number of object accesses, number of distance calculations, etc.) in a specific accuracy interval (target accuracy interval) in order to adjust each parameter. The calculator 133 sets the first parameter “e 0 ” to an arbitrary value (measurement target value) and measures the evaluation index. For example, the calculation unit 133 sets the first parameter “e 0 ” to “20” and performs processing (measurement processing) for measuring the evaluation index. The calculation unit 133 sets the second parameter “w e ” to an arbitrary value (measurement target value) and measures the evaluation index. For example, the calculation unit 133 sets the second parameter “w e ” to “30” and performs processing (measurement processing) for measuring the evaluation index. The calculation unit 133 sets the second parameter “w e ” to an arbitrary value and measures the evaluation index by the process shown in FIG. 2 in the same manner as the measurement process for the first parameter described above.

算出部133は、各試行において、評価用クエリを用いて検索処理を行い、その検索処理の時間を計測するとともに、抽出した検索結果を用いて、再現率を算出する。図2の例では、算出部133は、クエリQE1を用いてグラフGR11からk個の近傍ノードを抽出する検索処理を行い、その検索処理の時間を計測するとともに、抽出した検索結果と近似正解検索結果RR1とを用いて再現率を算出する。算出部133は、抽出した検索結果のうち近似正解検索結果RR1に含まれるオブジェクトの数を、近似正解検索結果RR1のオブジェクトの数で除することにより、再現率を算出する。 In each trial, the calculation unit 133 performs search processing using the evaluation query, measures the time for the search processing, and calculates the recall rate using the extracted search results. In the example of FIG. 2, the calculation unit 133 performs a search process for extracting k neighboring nodes from the graph GR11 using the query QE1, measures the time for the search process, The recall is calculated using the result RR1. The calculation unit 133 calculates the recall rate by dividing the number of objects included in the approximate correct search result RR1 among the extracted search results by the number of objects in the approximate correct search result RR1.

算出部133は、台形近似により範囲における平均の評価指標を算出する。算出部133は、台形近似により範囲における平均の検索時間を評価指標として算出する。図2の例では、算出部133は、台形近似により探索結果RS4中の範囲AR11に対応する範囲の平均の評価指標を算出する。算出部133は、係数下限「0.08」と算出用試行結果ED1との間のうち、第1ターゲット精度範囲の下限「R1a」と算出用試行結果ED1との間のみを用いて、平均の評価指標を算出する。また、算出部133は、算出用試行結果ED5と係数上限「0.12」との間のうち、算出用試行結果ED5と第1ターゲット精度範囲の上限「R1b」との間のみを用いて、平均の評価指標を算出する。 The calculator 133 calculates an average evaluation index in the range by trapezoidal approximation. The calculation unit 133 calculates the average search time in the range as an evaluation index by trapezoidal approximation. In the example of FIG. 2, the calculator 133 calculates the average evaluation index of the range corresponding to the range AR11 in the search result RS4 by trapezoidal approximation. The calculation unit 133 calculates the average of Calculate the evaluation index. Further, the calculation unit 133 uses only the portion between the trial result for calculation ED5 and the upper limit of the first target accuracy range "R1b" among the trial result for calculation ED5 and the upper limit of the coefficient "0.12", Calculate the average metric.

算出部133は、検索範囲係数「ε」を下限から上限まで当分に分割して、それぞれの検索範囲係数「ε」での検索を行って評価指標を求める。算出部133は、台形近似により範囲における平均の評価指標を算出する。算出部133は、台形近似により範囲における平均の検索時間を評価指標として算出する。 The calculation unit 133 divides the search range coefficient “ε” from the lower limit to the upper limit, and searches for each search range coefficient “ε” to obtain an evaluation index. The calculator 133 calculates an average evaluation index in the range by trapezoidal approximation. The calculation unit 133 calculates the average search time in the range as an evaluation index by trapezoidal approximation.

(決定部134)
決定部134は、各種情報を決定する。決定部134は、各種情報を判定する。決定部134は、各種情報を選択する。決定部134は、記憶部120に記憶された各種情報に基づいて、種々の情報を決定する。決定部134は、記憶部120に記憶された各種情報に基づいて、種々の情報を判定する。決定部134は、オブジェクト情報記憶部121や、ツリー情報記憶部122や、グラフ情報記憶部123や、近似正解検索結果情報記憶部124や、関数情報記憶部125や、調整関連情報記憶部126等に基づいて、各種情報を決定する。
(Determination unit 134)
The determination unit 134 determines various types of information. The determination unit 134 determines 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 information based on various information stored in the storage unit 120 . The determination unit 134 includes 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 function information storage unit 125, the adjustment related information storage unit 126, and the like. Determine various information based on

決定部134は、取得部131により取得された各種情報に基づいて、種々の情報を決定する。決定部134は、取得部131により取得された各種情報に基づいて、種々の情報を判定する。決定部134は、算出部133により算出された各種情報に基づいて、種々の情報を決定する。決定部134は、算出部133により算出された各種情報に基づいて、種々の情報を判定する。決定部134は、抽出部135により抽出された各種情報に基づいて、種々の情報を決定する。決定部134は、抽出部135により抽出された各種情報に基づいて、種々の情報を判定する。決定部134は、抽出部135により抽出された各種情報に基づいて、種々の情報を選択する。決定部134は、検索処理における判定処理や決定処理や選択処理を行う。 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 calculated by the calculation unit 133 . The determination unit 134 determines various information based on the various information calculated by the calculation unit 133 . The determination unit 134 determines various information based on the various information extracted by the extraction unit 135 . The determination unit 134 determines various information based on the various information extracted by the extraction unit 135 . The determination unit 134 selects various information based on the various information extracted by the extraction unit 135 . The determination unit 134 performs determination processing, determination processing, and selection processing in search processing.

決定部134は、データセットに対応する複数のノードがエッジにより連結された対象グラフと、閾値とを用いた検索処理を含み、関数に含まれる複数のパラメータの各々の値を調整する調整処理により、複数のパラメータの各々の値を決定する。決定部134は、閾値が示す参照エッジ数による対象グラフの検索処理を含む調整処理により、複数のパラメータの各々の値を決定する。決定部134は、対象グラフを対象とする検索処理を含む調整処理により、複数のパラメータの各々の値を決定する。決定部134は、対象グラフを対象とする検索処理を含む調整処理により、複数のパラメータの各々の値を決定する。 The determination unit 134 includes a search process using a target graph in which a plurality of nodes corresponding to the data set are connected by edges and a threshold, and an adjustment process that adjusts each value of a plurality of parameters included in the function. , to determine the value of each of a plurality of parameters. The determining unit 134 determines the values of each of the plurality of parameters through adjustment processing including search processing for the target graph based on the number of reference edges indicated by the threshold. The determination unit 134 determines the values of each of the plurality of parameters through adjustment processing including search processing targeting the target graph. The determination unit 134 determines the values of each of the plurality of parameters through adjustment processing including search processing targeting the target graph.

決定部134は、データセットから抽出された抽出オブジェクトに基づく評価用クエリを用いた検索処理を含む調整処理により、複数のパラメータの各々の値を決定する。決定部134は、データセットから抽出された複数の抽出オブジェクトから生成される評価用クエリを用いた検索処理を含む調整処理により、複数のパラメータの各々の値を決定する。 The determination unit 134 determines the values of each of the plurality of parameters through adjustment processing including search processing using evaluation queries based on extraction objects extracted from the data set. The determination unit 134 determines the values of each of the multiple parameters through adjustment processing including search processing using evaluation queries generated from multiple extraction objects extracted from the data set.

決定部134は、複数の抽出オブジェクトの平均を評価用クエリとする検索処理を含む調整処理により、複数のパラメータの各々の値を決定する。決定部134は、検索処理に関連する評価指標を用いた調整処理により、複数のパラメータの各々の値を決定する。決定部134は、検索処理における検索時間、距離計算回数、及び対象グラフのノードのアクセス数のうち少なくとも1つを、評価指標として用いた調整処理により、複数のパラメータの各々の値を決定する。 The determining unit 134 determines the values of the plurality of parameters through adjustment processing including search processing using the average of the plurality of extracted objects as an evaluation query. The determination unit 134 determines values of each of the plurality of parameters through adjustment processing using an evaluation index related to search processing. The determining unit 134 determines the values of each of the plurality of parameters through an adjustment process using at least one of the search time in the search process, the number of distance calculations, and the number of accesses to nodes in the target graph as an evaluation index.

決定部134は、第1パラメータの第1値を調整する第1調整処理と、第2パラメータの第2値を調整する第2調整処理と含む調整処理により、第1値と第2値とを決定する。決定部134は、所定の条件を満たすまで第1調整処理と第2調整処理とを繰り返す調整処理により、第1値と第2値とを決定する。決定部134は、第1調整処理により調整された第1パラメータの第1値が、前回の第1調整処理により調整された第1パラメータの前回の第1値と同じ、または、第2調整処理により調整された第2パラメータの第2値が、前回の第2調整処理により調整された第2パラメータの前回の第2値と同じである場合、調整処理を終了する。 The determining unit 134 performs an adjustment process including a first adjustment process for adjusting the first value of the first parameter and a second adjustment process for adjusting the second value of the second parameter, thereby determining the first value and the second value. decide. The determination unit 134 determines the first value and the second value by an adjustment process that repeats the first adjustment process and the second adjustment process until a predetermined condition is satisfied. The determination unit 134 determines whether the first value of the first parameter adjusted by the first adjustment process is the same as the previous first value of the first parameter adjusted by the previous first adjustment process, or the second adjustment process. If the second value of the second parameter adjusted by is the same as the previous second value of the second parameter adjusted by the previous second adjustment process, the adjustment process is terminated.

決定部134は、第2調整処理により調整された第2値を用いて、第1パラメータの第1値を調整する第1調整処理を行うことにより、第1値と第2値とを決定する。決定部134は、第1調整処理により調整された第1値を用いて、第2パラメータの第2値を調整する第2調整処理を行うことにより、第1値と第2値とを決定する。決定部134は、第1精度範囲を用いて第1調整処理を行い、第2精度範囲を用いて第2調整処理を行うことにより、第1値と第2値とを決定する。 The determination unit 134 determines the first value and the second value by performing the first adjustment process of adjusting the first value of the first parameter using the second value adjusted by the second adjustment process. . The determination unit 134 determines the first value and the second value by performing the second adjustment process of adjusting the second value of the second parameter using the first value adjusted by the first adjustment process. . The determination unit 134 determines the first value and the second value by performing the first adjustment process using the first accuracy range and performing the second adjustment process using the second accuracy range.

決定部134は、第1精度範囲における検索処理に関連する評価指標を算出することにより、第1値を調整する第1調整処理と、第2精度範囲における評価指標を算出することにより、第2値を調整する第2調整処理とを行うことにより、第1値と第2値とを決定する。決定部134は、検索処理における探索範囲を決定するための係数である検索範囲係数を変動させることにより、第1精度範囲における評価指標を算出し、第1値を調整する第1調整処理と、検索範囲係数を変動させることにより、第2精度範囲における評価指標を算出し、第2値を調整する第2調整処理とを行うことにより、第1値と第2値とを決定する。 The determination unit 134 calculates a first adjustment process for adjusting the first value by calculating an evaluation index related to the search process in the first accuracy range, and a second adjustment process by calculating an evaluation index in the second accuracy range. A first value and a second value are determined by performing a second adjustment process for adjusting the values. The determination unit 134 calculates an evaluation index in the first accuracy range by varying a search range coefficient, which is a coefficient for determining the search range in the search process, and performs a first adjustment process of adjusting the first value; A first value and a second value are determined by performing a second adjustment process of calculating an evaluation index in the second precision range by varying the search range coefficient and adjusting the second value.

決定部134は、検索の起点となる起点ノード決定してもよい。決定部134は、所定のツリー情報を用いて、起点ノードを決定する。決定部134は、図4中の情報群GINF11に示すようなツリー情報IND11を用いて起点ノードを決定する。決定部134は、ツリー情報IND11に基づいて、クエリQE11に対応する起点ノードを決定する。決定部134は、ツリー情報記憶部122(図8参照)に記憶されたツリー情報IND11を用いて、起点ノードを決定する。 The determining unit 134 may determine a starting node that serves as a starting point for searching. The determination unit 134 determines the starting node using predetermined tree information. The determining unit 134 determines the starting node using the tree information IND11 as shown in the information group GINF11 in FIG. The determination unit 134 determines the origin node corresponding to the query QE11 based on the tree information IND11. The determination unit 134 determines the starting node using the tree information IND11 stored in the tree information storage unit 122 (see FIG. 8).

決定部134は、図4中のツリー情報IND11に示すような木構造型のツリー情報を用いて、グラフGR11における起点ノードを決定する。決定部134は、クエリQE11に基づいて、ツリー情報IND11を上(ルートRT)から下へ辿ることにより、ツリー情報IND11の近傍候補となる起点ノードを特定する。決定部134は、2個のノードを起点ノードに決定する。 The determination unit 134 determines the starting node in the graph GR11 using tree structure type tree information such as tree information IND11 in FIG. Based on the query QE11, the determination unit 134 identifies the origin node that is a neighborhood candidate of the tree information IND11 by tracing the tree information IND11 from the top (root RT) to the bottom. The determination unit 134 determines two nodes as origin nodes.

決定部134は、ツリー情報IND11をルートRTからリーフノード(グラフGR11中のノード)まで辿ることにより、クエリQE11に対応する起点ノードを決定してもよい。 The determination unit 134 may determine the origin node corresponding to the query QE11 by tracing the tree information IND11 from the root RT to leaf nodes (nodes in the graph GR11).

図1の例では、決定部134は、評価用クエリを決定する。決定部134は、データセットからランダムに抽出したオブジェクト、または、ランダムに抽出した二つ以上のオブジェクトの平均値のオブジェクトを、クエリオブジェクト(評価用クエリ)に決定する。決定部134は、「7,35,13,93...」の多次元のベクトル情報であるクエリQE1を評価用クエリに決定する。 In the example of FIG. 1, the determination unit 134 determines the evaluation query. The determining unit 134 determines an object randomly extracted from the data set or an object with an average value of two or more randomly extracted objects as a query object (evaluation query). The determination unit 134 determines the query QE1, which is multidimensional vector information of “7, 35, 13, 93 . . . ”, as an evaluation query.

決定部134は、ターゲット精度範囲を決定する。決定部134は、上記式(1)のような閾値を算出(導出)する関数に含まれる各パラメータ(変数)に対するターゲット精度範囲を決定する。 The determination unit 134 determines the target accuracy range. The determination unit 134 determines the target accuracy range for each parameter (variable) included in the function for calculating (deriving) a threshold value such as Equation (1) above.

決定部134は、上記式(1)中の第1パラメータ「e」と、第2パラメータ「w」との各々のターゲット精度範囲を決定する。決定部134は、種々の情報を適宜用いて、第1パラメータ「e」と、第2パラメータ「w」との各々のターゲット精度範囲を決定する。決定部134は、ターゲット情報TR1に示すように、第1パラメータ「e」と第2パラメータ「w」との各々について、ターゲット精度範囲の下限、上限及びマージンを決定する。 The determination unit 134 determines target accuracy ranges for each of the first parameter “e 0 ” and the second parameter “w e ” in Equation (1) above. The determination unit 134 determines target accuracy ranges for each of the first parameter “e 0 ” and the second parameter “w e ” using various types of information as appropriate. The determination unit 134 determines the lower limit, upper limit, and margin of the target accuracy range for each of the first parameter "e 0 " and the second parameter "w e ", as indicated by the target information TR1.

決定部134は、第1パラメータ「e」のターゲット精度範囲(第1ターゲット精度範囲)の下限を「R1a」に、上限を「R1b」に決定し、マージンを「MG1」に決定する。決定部134は、第2パラメータ「w」のターゲット精度範囲(第2ターゲット精度範囲)の下限を「R2a」に、上限を「R2b」に決定し、マージンを「MG2」に決定する。このように、第1パラメータ「e」の第1ターゲット精度範囲と、第2パラメータ「w」の第2ターゲット精度範囲とを各々個別に決定する。決定部134は、情報処理装置100の管理者等による指定値や、予め記憶部120(図6参照)に記憶された基準値等を用いて、第1パラメータ「e」と、第2パラメータ「w」との各々のターゲット精度範囲を決定する。 The determination unit 134 determines the lower limit of the target accuracy range (first target accuracy range) of the first parameter “e 0 ” to “R1a”, the upper limit to “R1b”, and the margin to “MG1”. The determining unit 134 determines the lower limit of the target accuracy range (second target accuracy range) of the second parameter “w e ” to be “R2a”, the upper limit to be “R2b”, and the margin to be “MG2”. In this way, the first target accuracy range for the first parameter 'e 0 ' and the second target accuracy range for the second parameter 'w e ' are determined separately. The determination unit 134 determines the first parameter “e 0 ” and the second parameter “e 0 ” using values specified by the administrator of the information processing apparatus 100 or the like, reference values stored in advance in the storage unit 120 (see FIG. 6), or the like. Determine the target accuracy range for each of 'w e '.

決定部134は、平均の評価指標を、その測定処理で設定した第1パラメータ「e」の設定値における評価指標に決定する。決定部134は、測定処理を所定の回数繰り返し、最も評価指標が良い設定値を第1パラメータ「e」の第1値(最適値)に決定する。決定部134は、決定した第1パラメータ「e」の第1値が前回の第1調整処理で決定した第1パラメータ「e」の第1値(前回第1値)と同じであるかを判定する。決定部134は、決定した第1パラメータ「e」の第1値が前回第1値と同じであると判定した場合、調整処理を終了すると決定する。 The determination unit 134 determines the average evaluation index to be the evaluation index for the set value of the first parameter “e 0 ” set in the measurement process. The determining unit 134 repeats the measurement process a predetermined number of times, and determines the set value with the best evaluation index as the first value (optimum value) of the first parameter “e 0 ”. The determination unit 134 determines whether the determined first value of the first parameter “e 0 ” is the same as the first value (previous first value) of the first parameter “e 0 ” determined in the previous first adjustment process. judge. When determining that the determined first value of the first parameter “e 0 ” is the same as the previous first value, the determination unit 134 determines to end the adjustment process.

決定部134は、決定した第1パラメータ「e」の第1値が前回第1値と同じでないと判定した場合、第2パラメータ「w」を対象とした第2調整処理を実行すると決定する。決定部134は、初回の第1調整処理の場合、前回第1値が無いため、決定した第1パラメータ「e」の第1値が前回第1値と同じではないと判定し、第2調整処理を実行すると決定する。 When determining that the determined first value of the first parameter “e 0 ” is not the same as the previous first value, the determining unit 134 determines to execute the second adjustment process targeting the second parameter “w e ”. do. In the case of the first adjustment process for the first time, the determination unit 134 determines that the determined first value of the first parameter “e 0 ” is not the same as the previous first value because there is no previous first value. It decides to perform the reconciliation process.

決定部134は、測定処理を所定の回数繰り返し、最も評価指標が良い設定値を第2パラメータ「w」の第2値(最適値)に決定。決定部134は、決定した第2パラメータ「w」の第2値が前回の第2調整処理で決定した第2パラメータ「w」の第1値(「前回第2値」ともいう)と同じであるかを判定する。決定部134は、決定した第2パラメータ「w」の第2値が前回第2値と同じであると判定した場合、調整処理を終了すると決定する。決定部134は、決定した第2パラメータ「w」の第2値が前回第2値と同じでないと判定した場合、第1調整処理を再度行う。 The determining unit 134 repeats the measurement process a predetermined number of times, and determines the set value with the best evaluation index as the second value (optimal value) of the second parameter “w e ”. The determination unit 134 determines that the determined second value of the second parameter “w e ” is the first value (also referred to as “previous second value”) of the second parameter “w e ” determined in the previous second adjustment process. Determine if they are the same. When determining that the determined second value of the second parameter “w e ” is the same as the previous second value, the determining unit 134 determines to end the adjustment process. When determining that the determined second value of the second parameter “w e ” is not the same as the previous second value, the determination unit 134 performs the first adjustment process again.

(抽出部135)
抽出部135は、各種情報を抽出する。抽出部135は、記憶部120に記憶された各種情報に基づいて、種々の情報を抽出する。抽出部135は、オブジェクト情報記憶部121や、ツリー情報記憶部122や、グラフ情報記憶部123や、近似正解検索結果情報記憶部124や、関数情報記憶部125や、調整関連情報記憶部126等に基づいて、各種情報を抽出する。抽出部135は、取得部131により取得された各種情報に基づいて、種々の情報を抽出する。抽出部135は、生成部132により生成された各種情報に基づいて、種々の情報を抽出する。抽出部135は、算出部133により算出された各種情報に基づいて、種々の情報を抽出する。抽出部135は、決定部134により決定された各種情報に基づいて、種々の情報を抽出する。抽出部135は、検索処理における抽出処理を行う。
(Extraction unit 135)
The extraction unit 135 extracts various information. The extraction unit 135 extracts various information based on various information stored in the storage unit 120 . The extraction unit 135 includes 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 function information storage unit 125, the adjustment related information storage unit 126, and the like. Various information is extracted based on The extraction unit 135 extracts various information based on the various information acquired by the acquisition unit 131 . The extractor 135 extracts various information based on the various information generated by the generator 132 . The extraction unit 135 extracts various information based on the various information calculated by the calculation unit 133 . The extraction unit 135 extracts various information based on the various information determined by the determination unit 134 . The extraction unit 135 performs extraction processing in search processing.

抽出部135は、検索クエリに類似するノードである類似ノードを抽出する。抽出部135は、各種情報を検索する検索部であってもよい。抽出部135は、グラフ情報を探索することにより、オブジェクトを検索する。抽出部135は、取得部131により取得されたクエリが取得された場合、グラフ情報を探索することにより、クエリに類似するオブジェクトを検索する。抽出部135は、グラフデータを探索することにより、クエリに類似するオブジェクトを抽出する。抽出部135は、図15に示すような処理手順に基づいて、グラフデータを探索することにより、クエリに類似するオブジェクトを抽出する。 The extraction unit 135 extracts similar nodes that are nodes similar to the search query. The extraction unit 135 may be a search unit that searches for various types of information. The extraction unit 135 searches for objects by searching the graph information. When the query acquired by the acquisition unit 131 is acquired, the extraction unit 135 searches for objects similar to the query by searching the graph information. The extraction unit 135 extracts objects similar to the query by searching the graph data. The extraction unit 135 extracts objects similar to the query by searching the graph data based on the processing procedure shown in FIG. 15 .

図1の例では、抽出部135は、データセットDS1から評価用クエリの生成に用いるオブジェクトを抽出する。抽出部135は、データセットDS1からランダムに二つ以上の所定数のオブジェクトを抽出オブジェクトとして抽出する。抽出部135は、データセットDS1からオブジェクトOB500とオブジェクトOB1000との2つのオブジェクトを抽出オブジェクトとして抽出する。 In the example of FIG. 1, the extraction unit 135 extracts objects used for generating evaluation queries from the data set DS1. The extraction unit 135 randomly extracts a predetermined number of two or more objects from the data set DS1 as extraction objects. Extraction unit 135 extracts two objects, object OB500 and object OB1000, from data set DS1 as extraction objects.

抽出部135は、クエリQE1を中心とする半径r内の範囲AR1と、クエリQE1を中心とする半径r(1+ε)内の範囲AR2とを用いて、グラフGR11を検索し、近傍ノードを抽出する。 The extraction 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 neighboring nodes. .

図3の例では、抽出部135は、測定用検索結果SR1のうち、近似正解検索結果RR1に含まれないオブジェクトを非重複オブジェクトとして抽出する。抽出部135は、非重複オブジェクト情報NOL1に示すように、測定用検索結果SR1のうちオブジェクトOB77を、近似正解検索結果RR1に含まれない非重複オブジェクトとして抽出する。 In the example of FIG. 3, the extracting unit 135 extracts, from the measurement search results SR1, objects that are not included in the approximate correct search results RR1 as non-overlapping objects. As shown in the non-overlapping object information NOL1, the extraction unit 135 extracts the object OB77 from the measurement search results SR1 as a non-overlapping object that is not included in the approximate correct search results RR1.

(提供部136)
提供部136は、各種情報を提供する。提供部136は、端末装置10や情報提供装置50に各種情報を提供する。提供部136は、端末装置10に各種情報を送信する。提供部136は、端末装置10に各種情報を配信する。提供部136は、取得部131により取得された各種情報に基づいて、種々の情報を提供する。提供部136は、生成部132により生成された各種情報に基づいて、種々の情報を提供する。提供部136は、算出部133により算出された各種情報に基づいて、種々の情報を提供する。提供部136は、決定部134により決定された各種情報に基づいて、種々の情報を提供する。提供部136は、抽出部135により抽出された各種情報に基づいて、種々の情報を提供する。提供部136は、検索処理における提供処理を行う。
(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 distributes various types of information to the terminal device 10 . The providing unit 136 provides various information based on the various information acquired by the acquiring unit 131 . The providing unit 136 provides various information based on the various information generated by the generating unit 132 . The providing unit 136 provides various information based on the various information calculated by the calculating unit 133 . The providing unit 136 provides various information based on the various information determined by the determining unit 134 . The providing unit 136 provides various information based on the various information extracted by the extracting unit 135 . The provision unit 136 performs provision processing in search processing.

提供部136は、クエリに対応するオブジェクトIDを検索結果として提供する。提供部136は、決定部134により決定された類似ノードに関する情報を提供する。提供部136は、決定部134により決定された類似ノードを示すオブジェクトIDを端末装置10や情報提供装置50へ提供する。提供部136は、決定部134により決定されたオブジェクトIDをクエリに対応するベクトルを示す情報として、端末装置10や情報提供装置50に提供する。提供部136は、抽出部135により抽出(検索)されたオブジェクトIDを端末装置10や情報提供装置50へ提供する。提供部136は、抽出部135が検索により抽出したオブジェクトIDを情報提供装置50へ提供する。提供部136は、抽出部135により抽出されたオブジェクトIDをクエリに対応するベクトルを示す情報として、端末装置10や情報提供装置50に提供する。 The providing unit 136 provides the object ID corresponding to the query as a search result. The providing unit 136 provides information on similar nodes determined by the determining unit 134 . The providing unit 136 provides the terminal device 10 and the information providing device 50 with the object ID indicating the similar node determined by the determining unit 134 . The providing unit 136 provides the terminal device 10 and the information providing device 50 with the object ID determined by the determining unit 134 as information indicating a vector corresponding to the query. The providing unit 136 provides the terminal device 10 and the information providing device 50 with the object ID extracted (searched) by the extraction unit 135 . The providing unit 136 provides the information providing device 50 with the object ID extracted by the extracting unit 135 by searching. The providing unit 136 provides the terminal device 10 and the information providing device 50 with the object ID extracted by the extracting unit 135 as information indicating a vector corresponding to the query.

提供部136は、抽出部135により抽出された類似ノードに関する情報を提供する。提供部136は、類似ノードに関する情報を所定のユーザが利用する端末装置10(図5参照)に提供する。提供部136は、クエリの送信元へ検索結果を提供する。図1の例では、提供部136は、ノードN6、N7、N56を示す情報をクエリQE11の類似ノードとして、検索の要求元へ提供する。情報処理装置100は、クエリQE11に基づく検索結果として、ノードN6、N7、N56を示す情報を、検索の要求元へ提供する。提供部136は、クエリQE11の送信元であるユーザU1が利用する端末装置10に検索結果を提供する。提供部136は、クエリQE11に類似するノードN6、N7、N56を示す情報を検索結果として提供する。 The providing unit 136 provides information on similar nodes extracted by the extracting unit 135 . The providing unit 136 provides information about similar nodes to the terminal device 10 (see FIG. 5) used by a predetermined user. The providing unit 136 provides search results to the sender of the query. In the example of FIG. 1, the providing unit 136 provides the search request source with information indicating nodes N6, N7, and N56 as similar nodes of the query QE11. The information processing apparatus 100 provides information indicating the nodes N6, N7, and N56 to the requester of the search as the search result based on the query QE11. The providing unit 136 provides the search results to the terminal device 10 used by the user U1 who sent the query QE11. The providing unit 136 provides information indicating nodes N6, N7, and N56 similar to the query QE11 as search results.

〔4.情報処理(決定処理、算出処理)のフロー〕
次に、図13及び図14を用いて、実施形態に係る情報処理システム1による情報処理の手順について説明する。
[4. Flow of information processing (decision processing, calculation processing)]
Next, the procedure of information processing by the information processing system 1 according to the embodiment will be described with reference to FIGS. 13 and 14. FIG.

〔4-1.決定処理のフロー〕
まず、図13について説明する。図13は、実施形態に係る情報処理の一例を示すフローチャートである。具体的には、図13は、実施形態に係る情報処理に含まれる決定処理の一例を示すフローチャートである。
[4-1. Decision processing flow]
First, FIG. 13 will be described. FIG. 13 is a flowchart illustrating an example of information processing according to the embodiment; Specifically, FIG. 13 is a flowchart illustrating an example of determination processing included in information processing according to the embodiment.

図13に示すように、情報処理装置100は、検索対象となる複数のオブジェクトを含むデータセットを取得する(ステップS101)。例えば、情報処理装置100は、オブジェクト情報記憶部121(図7参照)から、データセットDS1を取得する。 As shown in FIG. 13, the information processing apparatus 100 acquires a data set including a plurality of objects to be searched (step S101). For example, the information processing device 100 acquires the data set DS1 from the object information storage unit 121 (see FIG. 7).

そして、情報処理装置100は、データセットを対象とする検索に用いられる閾値を算出する関数を取得する(ステップS102)。例えば、情報処理装置100は、関数情報記憶部(図11参照)から、関数FC1を取得する。 Then, the information processing apparatus 100 acquires a function for calculating a threshold value used for searching the data set (step S102). For example, the information processing apparatus 100 acquires the function FC1 from the function information storage unit (see FIG. 11).

そして、情報処理装置100は、データセットに対応する複数のノードがエッジにより連結された対象グラフと、閾値とを用いた検索処理を含み、関数に含まれる複数のパラメータの各々の値を調整する調整処理により、複数のパラメータの各々の値を決定する(ステップS103)。情報処理装置100は、データセットに対応する複数のノードがエッジにより連結された対象グラフと、閾値とを用いた検索処理を含む調整処理であって、関数に含まれる複数のパラメータの各々の値を調整する調整処理により、複数のパラメータの各々の値を決定する例えば、情報処理装置100は、調整処理により、関数FC1の第1パラメータ「e」と第2パラメータ「w」の各々の値を決定する。 Then, the information processing apparatus 100 includes a target graph in which a plurality of nodes corresponding to the data set are connected by edges and a search process using a threshold, and adjusts each value of a plurality of parameters included in the function. The adjustment process determines the values of each of the plurality of parameters (step S103). The information processing apparatus 100 performs an adjustment process including a search process using a target graph in which a plurality of nodes corresponding to a data set are connected by edges and a threshold value, in which each value of a plurality of parameters included in a function is For example, the information processing apparatus 100 determines the values of each of the first parameter “e 0 ” and the second parameter “w e ” of the function FC1 through the adjustment process. determine the value.

〔4-2.算出処理のフロー〕
次に、図14について説明する。図14は、実施形態に係る情報処理の一例を示すフローチャートである。具体的には、図14は、実施形態に係る情報処理に含まれる算出処理の一例を示すフローチャートである。なお、図14に示す算出処理は、図13に示す調整処理内で行われてもよい。
[4-2. Calculation process flow]
Next, FIG. 14 will be described. FIG. 14 is a flowchart illustrating an example of information processing according to the embodiment; Specifically, FIG. 14 is a flowchart illustrating an example of calculation processing included in information processing according to the embodiment. Note that the calculation processing shown in FIG. 14 may be performed within the adjustment processing shown in FIG. 13 .

図14に示すように、情報処理装置100は、検索対象となる複数のオブジェクトを含むデータセットを取得する(ステップS201)。例えば、情報処理装置100は、オブジェクト情報記憶部121(図7参照)から、データセットDS1を取得する。 As shown in FIG. 14, the information processing apparatus 100 acquires a data set including a plurality of objects to be searched (step S201). For example, the information processing device 100 acquires the data set DS1 from the object information storage unit 121 (see FIG. 7).

そして、情報処理装置100は、評価用クエリを取得する(ステップS202)。例えば、情報処理装置100は、評価用クエリであるクエリQE1を取得する。 Then, the information processing apparatus 100 acquires an evaluation query (step S202). For example, the information processing apparatus 100 acquires a query QE1 that is an evaluation query.

そして、情報処理装置100は、評価用クエリを用いたデータセットの近傍検索の結果である近似正解検索結果を取得する(ステップS203)。例えば、情報処理装置100は、近似正解検索結果情報記憶部124(図10参照)からクエリQE1に対応する近似正解検索結果を取得する。 Then, the information processing apparatus 100 acquires an approximate correct search result, which is the result of the proximity search of the data set using the evaluation query (step S203). For example, 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. 10).

そして、情報処理装置100は、データセットに対応する複数のノードがエッジにより連結された対象グラフと、評価用クエリとを用いた検索処理を実行する(ステップS204)。例えば、情報処理装置100は、グラフ情報記憶部123(図9参照)に記憶されたグラフGR11と、クエリQE1とを用いた検索処理を実行する。 Then, the information processing apparatus 100 executes a search process using the target graph in which a plurality of nodes corresponding to the data set are connected by edges and the evaluation query (step S204). For example, the information processing apparatus 100 executes search processing using the graph GR11 stored in the graph information storage unit 123 (see FIG. 9) and the query QE1.

そして、情報処理装置100は、検索結果のうち、近似正解検索結果に含まれない一のオブジェクトが、近似正解検索結果のうち、評価用クエリから最遠のオブジェクトである最遠オブジェクトよりも評価用クエリに近い場合、一のオブジェクトを正解とする所定の処理を実行する(ステップS205)。例えば、情報処理装置100は、評価用クエリから最遠のオブジェクトである最遠オブジェクトよりも評価用クエリに近い場合、一のオブジェクトを正解として精度を算出する。また、例えば、情報処理装置100は、評価用クエリから最遠のオブジェクトである最遠オブジェクトよりも評価用クエリに近い場合、一のオブジェクトを正解として近似正解検索結果を更新する。 Then, the information processing apparatus 100 determines that one object that is not included in the approximate correct search results among the search results is more for evaluation than the farthest object that is the farthest object from the evaluation query among the approximate correct search results. If the object is close to the query, a predetermined process is executed to make one object the correct answer (step S205). For example, when the information processing apparatus 100 is closer to the evaluation query than the farthest object from the evaluation query, the information processing apparatus 100 determines the accuracy of one object as the correct answer. Further, for example, when the information processing apparatus 100 is closer to the evaluation query than the farthest object from the evaluation query, the information processing apparatus 100 sets one object as the correct answer and updates the approximate correct search result.

そして、情報処理装置100は、検索処理に関連する評価指標を算出する(ステップS206)。例えば、情報処理装置100は、検索処理に関連する評価指標である検索時間を算出する。 The information processing apparatus 100 then calculates an evaluation index related to the search process (step S206). For example, the information processing apparatus 100 calculates search time, which is an evaluation index related to search processing.

〔5.情報処理(検索処理)のフロー〕
次に、情報処理装置100による検索処理のフローについて、図15を一例として説明する。図15は、実施形態に係る情報処理の一例を示すフローチャートである。具体的には、図15は、グラフデータを用いた検索処理の一例を示すフローチャートである。なお、図15に示す検索処理には、選択処理も含まれる。以下に説明する検索処理は、情報処理装置100によって行われる。また、以下でいうオブジェクトは、ノードと読み替えてもよい。なお、情報処理装置100によるグラフデータを用いた検索は下記に限らず、種々の手順により行われてもよい。
[5. Flow of information processing (search processing)]
Next, the flow of search processing by the information processing apparatus 100 will be described with reference to FIG. 15 as an example. FIG. 15 is a flowchart illustrating an example of information processing according to the embodiment; Specifically, FIG. 15 is a flowchart showing an example of search processing using graph data. Note that the search processing shown in FIG. 15 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)。例えば、図1の例では、情報処理装置100は、オブジェクトyであるクエリQE1に対応する起点ノードであるノードN2等が含まれる集合Sから、一のノードをオブジェクトs(対象ノード)として抽出する。次に、情報処理装置100は、オブジェクトsを集合Sから除外する(ステップS303)。例えば、図1の例では、情報処理装置100は、起点ノードであるノードN2を集合Sから除外する。 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). For example, in the example of FIG. 1, the information processing apparatus 100 extracts one node as the object s (target node) from the set S including the node N2, which is the origin node corresponding to the query QE1, which is the object y. . Next, the information processing apparatus 100 excludes the object s from the set S (step S303). For example, in the example of FIG. 1, the information processing apparatus 100 excludes from the set S the node N2, which is the starting node.

次に、情報処理装置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)。例えば、図1の例では、情報処理装置100は、ノードN2の連結ノードであるノードN1、N43等のうち、クエリQE11と最も近いノード(例えばノードN43)をオブジェクトuとして選択する。 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). For example, in the example of FIG. 1, the information processing apparatus 100 selects the node (for example, node N43) closest to the query QE11 among the nodes N1, N43, etc., which are the connecting nodes of the node N2, as the object u.

次に、情報処理装置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)。例えば、図1の例では、情報処理装置100は、ノードN2の対象ノードとした繰り返し処理において、関数FC1の出力値「e」である閾値TH1に対応する数だけノード(判定対象ノード)を選択したかを判定する。オブジェクト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). For example, in the example of FIG. 1 , the information processing apparatus 100 selects nodes (determination target nodes) by the number corresponding to the threshold TH1, which is the output value “e p ” of the function FC1, in the iterative process with the node N2 as the target node. Determine if selected. 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)。例えば、図1の例では、情報処理装置100は、集合Rに含まれるノードN2、N43、N1等をクエリQE1(入力オブジェクトy)に対応する検索結果として出力する。また、例えば、情報処理装置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, in the example of FIG. 1, the information processing apparatus 100 outputs nodes N2, N43, N1, etc. included in the set R as search results corresponding to the query QE1 (input object y). Further, 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.

〔6.効果〕
上述してきたように、実施形態に係る情報処理装置100は、取得部131と、決定部134とを有する。取得部131は、検索対象となる複数のオブジェクトを含むデータセットと、データセットを対象とする検索に用いられる閾値を算出する関数とを取得する。決定部134は、データセットに対応する複数のノードがエッジにより連結された対象グラフと、閾値とを用いた検索処理を含む関数に含まれる複数のパラメータの各々の値を調整する調整処理により、複数のパラメータの各々の値を決定する。
[6. effect〕
As described above, the information processing apparatus 100 according to the embodiment has the acquisition unit 131 and the determination unit 134 . The acquisition unit 131 acquires a data set including a plurality of objects to be searched, and a function for calculating a threshold used for searching the data set. The determining unit 134 adjusts each value of a plurality of parameters included in a function including a search process using a target graph in which a plurality of nodes corresponding to the data set are connected by edges, and a threshold. A value for each of a plurality of parameters is determined.

このように、実施形態に係る情報処理装置100は、データセットに対応する複数のノードがエッジにより連結された対象グラフと、閾値とを用いた検索処理を含む関数に含まれる複数のパラメータの各々の値を調整する調整処理により、複数のパラメータの各々の値を決定することにより、パラメータの各々の値を調整しながら、複数のパラメータの各々の値を決定することができる。したがって、情報処理装置100は、複数のパラメータの値を適切に決定することができる。 As described above, the information processing apparatus 100 according to the embodiment includes a target graph in which a plurality of nodes corresponding to a data set are connected by edges, and a search process using a threshold value. By determining the value of each of the plurality of parameters through the adjustment process of adjusting the value of , it is possible to determine the value of each of the plurality of parameters while adjusting the value of each of the parameters. Therefore, the information processing apparatus 100 can appropriately determine the values of multiple parameters.

また、実施形態に係る情報処理装置100において、取得部131は、グラフの検索時に用いられる閾値を算出する関数を取得する。 Further, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 acquires a function for calculating a threshold used when searching for a graph.

このように、実施形態に係る情報処理装置100は、グラフの検索時に用いられる閾値を算出する関数に含まれる複数のパラメータの各々の値を適切に決定することができる。 In this way, the information processing apparatus 100 according to the embodiment can appropriately determine the values of each of the parameters included in the function for calculating the threshold used when retrieving graphs.

また、実施形態に係る情報処理装置100において、取得部131は、対象グラフの検索時に参照する参照エッジ数を示す閾値を算出する関数を取得する。決定部134は、閾値が示す参照エッジ数による対象グラフの検索処理を含む調整処理により、複数のパラメータの各々の値を決定する。 Further, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 acquires a function for calculating a threshold indicating the number of reference edges to be referred to when retrieving the target graph. The determining unit 134 determines the values of each of the plurality of parameters through adjustment processing including search processing for the target graph based on the number of reference edges indicated by the threshold.

このように、実施形態に係る情報処理装置100は、対象グラフの検索時に参照する参照エッジ数を示す閾値を算出する関数に含まれる複数のパラメータの各々の値を適切に決定することができる。 As described above, the information processing apparatus 100 according to the embodiment can appropriately determine the values of each of the parameters included in the function for calculating the threshold indicating the number of reference edges to be referred to when retrieving the target graph.

また、実施形態に係る情報処理装置100において、取得部131は、複数のオブジェクトの各々に対応する複数のノードがエッジにより連結された対象グラフを取得する。決定部134は、対象グラフを対象とする検索処理を含む調整処理により、複数のパラメータの各々の値を決定する。 In the information processing apparatus 100 according to the embodiment, the acquisition unit 131 acquires a target graph in which a plurality of nodes corresponding to each of a plurality of objects are connected by edges. The determination unit 134 determines the values of each of the plurality of parameters through adjustment processing including search processing targeting the target graph.

このように、実施形態に係る情報処理装置100は、複数のオブジェクトの各々に対応する複数のノードがエッジにより連結された対象グラフを用いて、複数のパラメータの各々の値を適切に決定することができる。 In this way, the information processing apparatus 100 according to the embodiment can appropriately determine the values of each of a plurality of parameters using a target graph in which a plurality of nodes corresponding to each of a plurality of objects are connected by edges. can be done.

また、実施形態に係る情報処理装置100において、取得部131は、データセットのうち、一部のオブジェクト群の各々に対応する複数のノードがエッジにより連結された対象グラフを取得する。決定部134は、対象グラフを対象とする検索処理を含む調整処理により、複数のパラメータの各々の値を決定する。 In the information processing apparatus 100 according to the embodiment, the acquisition unit 131 acquires a target graph in which a plurality of nodes corresponding to each of a partial object group are connected by edges from the data set. The determination unit 134 determines the values of each of the plurality of parameters through adjustment processing including search processing targeting the target graph.

このように、実施形態に係る情報処理装置100は、データセットのうち、一部のオブジェクト群の各々に対応する複数のノードがエッジにより連結された対象グラフを用いて、複数のパラメータの各々の値を適切に決定することができる。 As described above, the information processing apparatus 100 according to the embodiment uses a target graph in which a plurality of nodes corresponding to each of a partial object group in the data set are connected by edges to determine each of a plurality of parameters. values can be determined appropriately.

また、実施形態に係る情報処理装置100において、決定部134は、データセットから抽出された抽出オブジェクトに基づく評価用クエリを用いた検索処理を含む調整処理により、複数のパラメータの各々の値を決定する。 Further, in the information processing apparatus 100 according to the embodiment, the determination unit 134 determines the values of each of the plurality of parameters through adjustment processing including search processing using an evaluation query based on the extraction object extracted from the data set. do.

このように、実施形態に係る情報処理装置100は、データセットから抽出された抽出オブジェクトに基づく評価用クエリを用いて、複数のパラメータの各々の値を適切に決定することができる。 In this way, the information processing apparatus 100 according to the embodiment can appropriately determine the values of each of the multiple parameters using the evaluation query based on the extraction object extracted from the data set.

また、実施形態に係る情報処理装置100において、決定部134は、データセットから抽出された複数の抽出オブジェクトから生成される評価用クエリを用いた検索処理を含む調整処理により、複数のパラメータの各々の値を決定する。 In addition, in the information processing apparatus 100 according to the embodiment, the determination unit 134 performs adjustment processing including search processing using an evaluation query generated from a plurality of extraction objects extracted from a data set, so that each of the plurality of parameters determine the value of

このように、実施形態に係る情報処理装置100は、データセットから抽出された複数の抽出オブジェクトから生成される評価用クエリを用いて、複数のパラメータの各々の値を適切に決定することができる。 In this way, the information processing apparatus 100 according to the embodiment can appropriately determine the values of each of the multiple parameters using the evaluation query generated from the multiple extraction objects extracted from the data set. .

また、実施形態に係る情報処理装置100において、決定部134は、複数の抽出オブジェクトの平均を評価用クエリとする検索処理を含む調整処理により、複数のパラメータの各々の値を決定する。 Further, in the information processing apparatus 100 according to the embodiment, the determining unit 134 determines the values of each of the plurality of parameters through adjustment processing including search processing using the average of the plurality of extracted objects as an evaluation query.

このように、実施形態に係る情報処理装置100は、複数の抽出オブジェクトの平均を評価用クエリとして用いて、複数のパラメータの各々の値を適切に決定することができる。 In this way, the information processing apparatus 100 according to the embodiment can appropriately determine the value of each of the multiple parameters using the average of multiple extracted objects as an evaluation query.

また、実施形態に係る情報処理装置100において、決定部134は、検索処理に関連する評価指標を用いた調整処理により、複数のパラメータの各々の値を決定する。 In addition, in the information processing apparatus 100 according to the embodiment, the determining unit 134 determines values of each of the plurality of parameters through adjustment processing using an evaluation index related to search processing.

このように、実施形態に係る情報処理装置100は、検索処理に関連する評価指標を用いて、複数のパラメータの各々の値を適切に決定することができる。 In this way, the information processing apparatus 100 according to the embodiment can appropriately determine the values of each of the multiple parameters using the evaluation index related to search processing.

また、実施形態に係る情報処理装置100において、決定部134は、検索処理における検索時間、距離計算回数、及び対象グラフのノードのアクセス数のうち少なくとも1つを、評価指標として用いた調整処理により、複数のパラメータの各々の値を決定する。 Further, in the information processing apparatus 100 according to the embodiment, the determination unit 134 performs adjustment processing using at least one of the search time in the search processing, the number of distance calculations, and the number of accesses to nodes of the target graph as an evaluation index. , to determine the value of each of a plurality of parameters.

このように、実施形態に係る情報処理装置100は、検索処理における検索時間、距離計算回数、及び対象グラフのノードのアクセス数のうち少なくとも1つを、評価指標として用いて、複数のパラメータの各々の値を適切に決定することができる。 As described above, the information processing apparatus 100 according to the embodiment uses at least one of the search time in the search process, the number of distance calculations, and the number of accesses to the node of the target graph as an evaluation index, and determines each of the plurality of parameters. can be determined appropriately.

また、実施形態に係る情報処理装置100において、取得部131は、第1パラメータと第2パラメータとを含む関数を取得する。決定部134は、第1パラメータの第1値と、第2パラメータの第2値とを調整する調整処理により、第1値と第2値とを決定する。 Also, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 acquires a function including the first parameter and the second parameter. The determination unit 134 determines the first value and the second value through adjustment processing for adjusting the first value of the first parameter and the second value of the second parameter.

このように、実施形態に係る情報処理装置100は、関数に含まれる第1パラメータの第1値と、第2パラメータの第2値とを調整する調整処理により、2つのパラメータの各値を適切に決定することができる。 As described above, the information processing apparatus 100 according to the embodiment performs adjustment processing for adjusting the first value of the first parameter and the second value of the second parameter included in the function so that each value of the two parameters is appropriately adjusted. can be determined to

また、実施形態に係る情報処理装置100において、取得部131は、検索精度が高くなるほど、第1パラメータよりも影響が強くなる第2パラメータを含む関数を取得する。 In addition, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 acquires a function including the second parameter that has a stronger influence than the first parameter as the search accuracy increases.

このように、実施形態に係る情報処理装置100は、検索精度が高くなるほど、第1パラメータよりも影響が強くなる第2パラメータを含む関数を対象として、2つのパラメータの各値を適切に決定することができる。 In this way, the information processing apparatus 100 according to the embodiment appropriately determines each value of the two parameters for the function including the second parameter that has a stronger influence than the first parameter as the search accuracy increases. be able to.

また、実施形態に係る情報処理装置100において、決定部134は、第1パラメータの第1値を調整する第1調整処理と、第2パラメータの第2値を調整する第2調整処理と含む調整処理により、第1値と第2値とを決定する。 Further, in the information processing apparatus 100 according to the embodiment, the determination unit 134 performs adjustment including a first adjustment process of adjusting the first value of the first parameter and a second adjustment process of adjusting the second value of the second parameter. The processing determines a first value and a second value.

このように、実施形態に係る情報処理装置100は、第1パラメータの第1値を調整する第1調整処理と、第2パラメータの第2値を調整する第2調整処理とを個別に行うことで、2つのパラメータの各値を適切に決定することができる。 In this way, the information processing apparatus 100 according to the embodiment separately performs the first adjustment process of adjusting the first value of the first parameter and the second adjustment process of adjusting the second value of the second parameter. , the respective values of the two parameters can be appropriately determined.

また、実施形態に係る情報処理装置100において、決定部134は、所定の条件を満たすまで第1調整処理と第2調整処理とを繰り返す調整処理により、第1値と第2値とを決定する。 In addition, in the information processing apparatus 100 according to the embodiment, the determination unit 134 determines the first value and the second value through adjustment processing that repeats the first adjustment processing and the second adjustment processing until a predetermined condition is satisfied. .

このように、実施形態に係る情報処理装置100は、所定の条件を満たすまで第1調整処理と第2調整処理とを繰り返す調整処理により、第1値と第2値とを決定することで、2つのパラメータの各値を適切に決定することができる。 As described above, the information processing apparatus 100 according to the embodiment determines the first value and the second value by repeating the first adjustment process and the second adjustment process until a predetermined condition is satisfied. Each value of the two parameters can be determined appropriately.

また、実施形態に係る情報処理装置100において、決定部134は、第1調整処理により調整された第1パラメータの第1値が、前回の第1調整処理により調整された第1パラメータの前回の第1値と同じ、または、第2調整処理により調整された第2パラメータの第2値が、前回の第2調整処理により調整された第2パラメータの前回の第2値と同じである場合、調整処理を終了する。 Further, in the information processing apparatus 100 according to the embodiment, the determination unit 134 determines that the first value of the first parameter adjusted by the first adjustment process is the previous value of the first parameter adjusted by the previous first adjustment process. If the second value of the second parameter that is the same as the first value or that has been adjusted by the second adjustment process is the same as the previous second value of the second parameter that has been adjusted by the previous second adjustment process, End the adjustment process.

このように、実施形態に係る情報処理装置100は、第1パラメータまたは第2パラメータが変化しなくなったことを条件に処理を終了することで、適切なタイミングで処理を終了し、2つのパラメータの各値を適切に決定することができる。 As described above, the information processing apparatus 100 according to the embodiment terminates the processing on condition that the first parameter or the second parameter does not change, thereby terminating the processing at an appropriate timing. Each value can be determined appropriately.

また、実施形態に係る情報処理装置100において、決定部134は、第2調整処理により調整された第2値を用いて、第1パラメータの第1値を調整する第1調整処理を行うことにより、第1値と第2値とを決定する。 Further, in the information processing apparatus 100 according to the embodiment, the determination unit 134 performs the first adjustment process of adjusting the first value of the first parameter using the second value adjusted by the second adjustment process. , determine a first value and a second value.

このように、実施形態に係る情報処理装置100は、第2調整処理により調整された第2値を用いて、第1パラメータの第1値を調整する第1調整処理を行うことで、2つのパラメータの各値を適切に決定することができる。 In this way, the information processing apparatus 100 according to the embodiment performs the first adjustment process of adjusting the first value of the first parameter using the second value adjusted by the second adjustment process. Each value of the parameters can be determined appropriately.

また、実施形態に係る情報処理装置100において、決定部134は、第1調整処理により調整された第1値を用いて、第2パラメータの第2値を調整する第2調整処理を行うことにより、第1値と第2値とを決定する。 Further, in the information processing apparatus 100 according to the embodiment, the determination unit 134 performs the second adjustment process of adjusting the second value of the second parameter using the first value adjusted by the first adjustment process. , determine a first value and a second value.

このように、実施形態に係る情報処理装置100は、第1調整処理により調整された第1値を用いて、第2パラメータの第2値を調整する第2調整処理を行うことで、2つのパラメータの各値を適切に決定することができる。 As described above, the information processing apparatus 100 according to the embodiment performs the second adjustment process of adjusting the second value of the second parameter using the first value adjusted by the first adjustment process. Each value of the parameters can be determined appropriately.

また、実施形態に係る情報処理装置100において、取得部131は、第1パラメータに対してターゲットとする検索精度の範囲を示す第1精度範囲と、第2パラメータに対してターゲットとする検索精度の範囲を示す第2精度範囲とを取得する。決定部134は、第1精度範囲を用いて第1調整処理を行い、第2精度範囲を用いて第2調整処理を行うことにより、第1値と第2値とを決定する。 Further, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 includes a first accuracy range indicating a target search accuracy range for the first parameter, and a target search accuracy range for the second parameter. and a second precision range indicating the range. The determination unit 134 determines the first value and the second value by performing the first adjustment process using the first accuracy range and performing the second adjustment process using the second accuracy range.

このように、実施形態に係る情報処理装置100は、第1パラメータに対してターゲットとする検索精度の範囲を示す第1精度範囲を用いて第1調整処理をし、第2パラメータに対してターゲットとする検索精度の範囲を示す第2精度範囲を用いて第2調整処理をすることで、2つのパラメータの各値を適切に決定することができる。 As described above, the information processing apparatus 100 according to the embodiment performs the first adjustment process using the first accuracy range indicating the target search accuracy range for the first parameter, and performs the first adjustment process for the second parameter. By performing the second adjustment process using the second accuracy range indicating the range of search accuracy to be , each value of the two parameters can be appropriately determined.

また、実施形態に係る情報処理装置100において、取得部131は、再現率の範囲を示す第1精度範囲及び第2精度範囲を取得する。 Further, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 acquires a first precision range and a second precision range that indicate the range of recall.

このように、実施形態に係る情報処理装置100は、再現率を検索精度として用いることで、2つのパラメータの各値を適切に決定することができる。 As described above, the information processing apparatus 100 according to the embodiment can appropriately determine each value of the two parameters by using the recall rate as the search accuracy.

また、実施形態に係る情報処理装置100において、決定部134は、第1精度範囲における検索処理に関連する評価指標を算出することにより、第1値を調整する第1調整処理と、第2精度範囲における評価指標を算出することにより、第2値を調整する第2調整処理とを行うことにより、第1値と第2値とを決定する。 Further, in the information processing apparatus 100 according to the embodiment, the determination unit 134 calculates the evaluation index related to the search process in the first accuracy range, thereby adjusting the first value and the second accuracy range. The first value and the second value are determined by calculating the evaluation index in the range and performing a second adjustment process of adjusting the second value.

このように、実施形態に係る情報処理装置100は、第1精度範囲における検索処理に関連する評価指標を算出して第1値を調整し、第2精度範囲における評価指標を算出して第2値を調整することで、2つのパラメータの各値を適切に決定することができる。 As described above, the information processing apparatus 100 according to the embodiment calculates the evaluation index related to the search process in the first accuracy range, adjusts the first value, calculates the evaluation index in the second accuracy range, and adjusts the second value. By adjusting the values, each value of the two parameters can be properly determined.

また、実施形態に係る情報処理装置100において、決定部134は、検索処理における探索範囲を決定するための係数である検索範囲係数を変動させることにより、第1精度範囲における評価指標を算出し、第1値を調整する第1調整処理と、検索範囲係数を変動させることにより、第2精度範囲における評価指標を算出し、第2値を調整する第2調整処理とを行うことにより、第1値と第2値とを決定する。 Further, in the information processing apparatus 100 according to the embodiment, the determination unit 134 calculates the evaluation index in the first accuracy range by varying the search range coefficient, which is a coefficient for determining the search range in the search process, By performing a first adjustment process of adjusting the first value and a second adjustment process of calculating the evaluation index in the second accuracy range by varying the search range coefficient and adjusting the second value, the first A value and a second value are determined.

このように、実施形態に係る情報処理装置100は、検索範囲係数を変動させることにより、2つのパラメータの各値を適切に決定することができる。 Thus, the information processing apparatus 100 according to the embodiment can appropriately determine each value of the two parameters by varying the search range coefficient.

また、実施形態に係る情報処理装置100において、取得部131は、定数項である第1パラメータと、所定の値を底とする指数に含まれる第2パラメータとを含む関数を取得する。 In the information processing apparatus 100 according to the embodiment, the acquisition unit 131 acquires a function including a first parameter that is a constant term and a second parameter that is included in an index with a predetermined value as the base.

このように、実施形態に係る情報処理装置100は、定数項である第1パラメータと、所定の値を底とする指数に含まれる第2パラメータとを含む関数を対象として、2つのパラメータの各値を適切に決定することができる。 As described above, the information processing apparatus 100 according to the embodiment targets a function including a first parameter, which is a constant term, and a second parameter, which is included in an index whose base is a predetermined value. values can be determined appropriately.

また、実施形態に係る情報処理装置100において、取得部131は、検索処理における探索範囲を決定するための係数である検索範囲係数を含む関数を取得する。 Further, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 acquires a function including a search range coefficient, which is a coefficient for determining a search range in search processing.

このように、実施形態に係る情報処理装置100は、検索範囲係数を含む関数を対象として、2つのパラメータの各値を適切に決定することができる。 In this way, the information processing apparatus 100 according to the embodiment can appropriately determine each value of two parameters for a function including a search range coefficient.

また、実施形態に係る情報処理装置100において、取得部131は、第2パラメータと検索範囲係数との掛け合わせを含む関数を取得する。 Also, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 acquires a function including multiplication of the second parameter and the search range coefficient.

このように、実施形態に係る情報処理装置100は、第2パラメータと検索範囲係数との掛け合わせを含む関数を対象として、2つのパラメータの各値を適切に決定することができる。 In this way, the information processing apparatus 100 according to the embodiment can appropriately determine each value of the two parameters for a function including the multiplication of the second parameter and the search range coefficient.

〔7.ハードウェア構成〕
上述してきた実施形態に係る情報処理装置100は、例えば図16に示すような構成のコンピュータ1000によって実現される。図16は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
[7. Hardware configuration]
The information processing apparatus 100 according to the embodiments described above is implemented by a computer 1000 configured as shown in FIG. 16, for example. FIG. 16 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 these 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 . CPU 1100 of computer 1000 reads these programs from recording medium 1800 and executes them, but as another example, these programs may be acquired via 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.

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

また、上述してきた「部(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 情報処理装置
121 オブジェクト情報記憶部
122 ツリー情報記憶部
123 グラフ情報記憶部
124 近似正解検索結果情報記憶部
125 関数情報記憶部
126 調整関連情報記憶部
130 制御部
131 取得部
132 生成部
133 算出部
134 決定部
135 抽出部
136 提供部
10 端末装置
50 情報提供装置
N ネットワーク
1 information processing system 100 information processing device 121 object information storage unit 122 tree information storage unit 123 graph information storage unit 124 approximate correct search result information storage unit 125 function information storage unit 126 adjustment related information storage unit 130 control unit 131 acquisition unit 132 generation Part 133 Calculation Part 134 Determination Part 135 Extraction Part 136 Provider 10 Terminal Device 50 Information Providing Device N Network

Claims (26)

検索対象となる複数のオブジェクトを含むデータセットと、前記データセットを対象とする検索に用いられる閾値を算出する関数とを取得する取得部と、
前記データセットに対応する複数のノードがエッジにより連結された対象グラフと、前記閾値とを用いた検索処理を含む前記関数に含まれる複数のパラメータの各々の値を調整する調整処理により、前記複数のパラメータの各々の値を決定する決定部と、
を備えることを特徴とする情報処理装置。
an acquisition unit that acquires a data set including a plurality of objects to be searched and a function that calculates a threshold value used in a search targeting the data set;
Adjustment processing for adjusting each value of a plurality of parameters included in the function including search processing using a target graph in which a plurality of nodes corresponding to the data set are connected by edges, and the threshold, the plurality of a determiner for determining the value of each of the parameters of
An information processing device comprising:
前記取得部は、
グラフの検索時に用いられる前記閾値を算出する前記関数を取得する
ことを特徴とする請求項1に記載の情報処理装置。
The acquisition unit
2. The information processing apparatus according to claim 1, wherein the function for calculating the threshold value used when retrieving a graph is obtained.
前記取得部は、
前記対象グラフの検索時に参照する参照エッジ数を示す前記閾値を算出する前記関数を取得し、
前記決定部は、
前記閾値が示す前記参照エッジ数による前記対象グラフの前記検索処理を含む前記調整処理により、前記複数のパラメータの各々の値を決定する
ことを特徴とする請求項1または請求項2に記載の情報処理装置。
The acquisition unit
obtaining the function for calculating the threshold indicating the number of reference edges to be referred to when searching the target graph;
The decision unit
3. The information according to claim 1, wherein each value of the plurality of parameters is determined by the adjustment process including the search process of the target graph based on the number of reference edges indicated by the threshold. processing equipment.
前記取得部は、
前記複数のオブジェクトの各々に対応する複数のノードがエッジにより連結された前記対象グラフを取得し、
前記決定部は、
前記対象グラフを対象とする前記検索処理を含む前記調整処理により、前記複数のパラメータの各々の値を決定する
ことを特徴とする請求項1~3のいずれか1項に記載の情報処理装置。
The acquisition unit
obtaining the target graph in which a plurality of nodes corresponding to each of the plurality of objects are connected by edges;
The decision unit
4. The information processing apparatus according to any one of claims 1 to 3, wherein the adjusting process including the searching process targeting the target graph determines the value of each of the plurality of parameters.
前記取得部は、
前記データセットのうち、一部のオブジェクト群の各々に対応する複数のノードがエッジにより連結された前記対象グラフを取得し、
前記決定部は、
前記対象グラフを対象とする前記検索処理を含む前記調整処理により、前記複数のパラメータの各々の値を決定する
ことを特徴とする請求項1~3のいずれか1項に記載の情報処理装置。
The acquisition unit
obtaining the target graph in which a plurality of nodes corresponding to each of a partial object group are connected by edges from the data set;
The decision unit
4. The information processing apparatus according to any one of claims 1 to 3, wherein the adjusting process including the searching process targeting the target graph determines the value of each of the plurality of parameters.
前記決定部は、
前記データセットから抽出された抽出オブジェクトに基づく評価用クエリを用いた前記検索処理を含む前記調整処理により、前記複数のパラメータの各々の値を決定する
ことを特徴とする請求項1~5のいずれか1項に記載の情報処理装置。
The decision unit
6. The value of each of the plurality of parameters is determined by the adjustment process including the search process using the evaluation query based on the extraction object extracted from the data set. 1. The information processing apparatus according to 1.
前記決定部は、
前記データセットから抽出された複数の抽出オブジェクトから生成される評価用クエリを用いた前記検索処理を含む前記調整処理により、前記複数のパラメータの各々の値を決定する
ことを特徴とする請求項1~6のいずれか1項に記載の情報処理装置。
The decision unit
2. The value of each of the plurality of parameters is determined by the adjustment processing including the search processing using the evaluation query generated from the plurality of extraction objects extracted from the data set. 7. The information processing device according to any one of 1 to 6.
前記決定部は、
前記複数の抽出オブジェクトの平均を前記評価用クエリとする前記検索処理を含む前記調整処理により、前記複数のパラメータの各々の値を決定する
ことを特徴とする請求項7に記載の情報処理装置。
The decision unit
8. The information processing apparatus according to claim 7, wherein each value of the plurality of parameters is determined by the adjustment processing including the search processing using the average of the plurality of extraction objects as the evaluation query.
前記決定部は、
前記検索処理に関連する評価指標を用いた前記調整処理により、前記複数のパラメータの各々の値を決定する
ことを特徴とする請求項1~8のいずれか1項に記載の情報処理装置。
The decision unit
The information processing apparatus according to any one of claims 1 to 8, wherein each value of the plurality of parameters is determined by the adjustment process using an evaluation index related to the search process.
前記決定部は、
前記検索処理における検索時間、距離計算回数、及び前記対象グラフのノードのアクセス数のうち少なくとも1つを、前記評価指標として用いた前記調整処理により、前記複数のパラメータの各々の値を決定する
ことを特徴とする請求項9に記載の情報処理装置。
The decision unit
Determining the value of each of the plurality of parameters by the adjustment process using at least one of the search time in the search process, the number of distance calculations, and the number of accesses to nodes of the target graph as the evaluation index. 10. The information processing apparatus according to claim 9, characterized by:
前記取得部は、
第1パラメータと第2パラメータとを含む前記関数を取得し、
前記決定部は、
前記第1パラメータの第1値と、前記第2パラメータの第2値とを調整する前記調整処理により、前記第1値と前記第2値とを決定する
ことを特徴とする請求項1~10のいずれか1項に記載の情報処理装置。
The acquisition unit
obtaining the function comprising a first parameter and a second parameter;
The decision unit
Claims 1 to 10, wherein the first value and the second value are determined by the adjustment process of adjusting the first value of the first parameter and the second value of the second parameter. The information processing device according to any one of .
前記取得部は、
検索精度が高くなるほど、前記第1パラメータよりも影響が強くなる前記第2パラメータを含む前記関数を取得する
ことを特徴とする請求項11に記載の情報処理装置。
The acquisition unit
12. The information processing apparatus according to claim 11, wherein the function including the second parameter, which has a stronger influence than the first parameter, is obtained as the search accuracy increases.
前記決定部は、
前記第1パラメータの前記第1値を調整する第1調整処理と、前記第2パラメータの前記第2値を調整する第2調整処理と含む前記調整処理により、前記第1値と前記第2値とを決定する
ことを特徴とする請求項11または請求項12に記載の情報処理装置。
The decision unit
By the adjustment process including a first adjustment process of adjusting the first value of the first parameter and a second adjustment process of adjusting the second value of the second parameter, the first value and the second value 13. The information processing apparatus according to claim 11 or 12, characterized by: determining
前記決定部は、
所定の条件を満たすまで前記第1調整処理と前記第2調整処理とを繰り返す前記調整処理により、前記第1値と前記第2値とを決定する
ことを特徴とする請求項13に記載の情報処理装置。
The decision unit
14. The information according to claim 13, wherein the first value and the second value are determined by the adjustment process that repeats the first adjustment process and the second adjustment process until a predetermined condition is satisfied. processing equipment.
前記決定部は、
前記第1調整処理により調整された前記第1パラメータの前記第1値が、前回の前記第1調整処理により調整された前記第1パラメータの前回の前記第1値と同じ、または、前記第2調整処理により調整された前記第2パラメータの前記第2値が、前回の前記第2調整処理により調整された前記第2パラメータの前回の前記第2値と同じである場合、前記調整処理を終了する
ことを特徴とする請求項14に記載の情報処理装置。
The decision unit
The first value of the first parameter adjusted by the first adjustment process is the same as the previous first value of the first parameter adjusted by the previous first adjustment process, or the second If the second value of the second parameter adjusted by the adjustment process is the same as the previous second value of the second parameter adjusted by the previous second adjustment process, the adjustment process is terminated. The information processing apparatus according to claim 14, characterized in that:
前記決定部は、
前記第2調整処理により調整された前記第2値を用いて、前記第1パラメータの前記第1値を調整する前記第1調整処理を行うことにより、前記第1値と前記第2値とを決定する
ことを特徴とする請求項13~15のいずれか1項に記載の情報処理装置。
The decision unit
By performing the first adjustment process of adjusting the first value of the first parameter using the second value adjusted by the second adjustment process, the first value and the second value are adjusted. 16. The information processing apparatus according to any one of claims 13 to 15, characterized in that:
前記決定部は、
前記第1調整処理により調整された前記第1値を用いて、前記第2パラメータの前記第2値を調整する前記第2調整処理を行うことにより、前記第1値と前記第2値とを決定する
ことを特徴とする請求項13~16のいずれか1項に記載の情報処理装置。
The decision unit
By performing the second adjustment process of adjusting the second value of the second parameter using the first value adjusted by the first adjustment process, the first value and the second value are adjusted. 17. The information processing apparatus according to any one of claims 13 to 16, characterized in that:
前記取得部は、
前記第1パラメータに対してターゲットとする検索精度の範囲を示す第1精度範囲と、前記第2パラメータに対してターゲットとする検索精度の範囲を示す第2精度範囲とを取得し、
前記決定部は、
前記第1精度範囲を用いて前記第1調整処理を行い、前記第2精度範囲を用いて前記第2調整処理を行うことにより、前記第1値と前記第2値とを決定する
ことを特徴とする請求項13~17のいずれか1項に記載の情報処理装置。
The acquisition unit
Acquire a first accuracy range indicating a target search accuracy range for the first parameter and a second accuracy range indicating a target search accuracy range for the second parameter;
The decision unit
The first value and the second value are determined by performing the first adjustment process using the first accuracy range and performing the second adjustment process using the second accuracy range. The information processing apparatus according to any one of claims 13 to 17.
前記取得部は、
再現率の範囲を示す前記第1精度範囲及び前記第2精度範囲を取得する
ことを特徴とする請求項18に記載の情報処理装置。
The acquisition unit
19. The information processing apparatus according to claim 18, wherein said first accuracy range and said second accuracy range indicating a range of recall are obtained.
前記決定部は、
前記第1精度範囲における前記検索処理に関連する評価指標を算出することにより、前記第1値を調整する前記第1調整処理と、前記第2精度範囲における前記評価指標を算出することにより、前記第2値を調整する前記第2調整処理とを行うことにより、前記第1値と前記第2値とを決定する
ことを特徴とする請求項18または請求項19に記載の情報処理装置。
The decision unit
the first adjustment process for adjusting the first value by calculating an evaluation index related to the search process in the first accuracy range; 20. The information processing apparatus according to claim 18, wherein the first value and the second value are determined by performing the second adjustment process of adjusting the second value.
前記決定部は、
前記検索処理における探索範囲を決定するための係数である検索範囲係数を変動させることにより、前記第1精度範囲における前記評価指標を算出し、前記第1値を調整する前記第1調整処理と、前記検索範囲係数を変動させることにより、前記第2精度範囲における前記評価指標を算出し、前記第2値を調整する前記第2調整処理とを行うことにより、前記第1値と前記第2値とを決定する
ことを特徴とする請求項20に記載の情報処理装置。
The decision unit
the first adjustment process of calculating the evaluation index in the first accuracy range and adjusting the first value by varying a search range coefficient, which is a coefficient for determining the search range in the search process; By varying the search range coefficient, calculating the evaluation index in the second accuracy range, and performing the second adjustment process of adjusting the second value, the first value and the second value 21. The information processing apparatus according to claim 20, characterized by determining:
前記取得部は、
定数項である前記第1パラメータと、所定の値を底とする指数に含まれる前記第2パラメータとを含む前記関数を取得する
ことを特徴とする請求項11~21のいずれか1項に記載の情報処理装置。
The acquisition unit
22. The function according to any one of claims 11 to 21, wherein the function includes the first parameter, which is a constant term, and the second parameter, which is included in an index whose base is a predetermined value. information processing equipment.
前記取得部は、
前記検索処理における探索範囲を決定するための係数である検索範囲係数を含む前記関数を取得する
ことを特徴とする請求項22に記載の情報処理装置。
The acquisition unit
23. The information processing apparatus according to claim 22, wherein said function including a search range coefficient, which is a coefficient for determining a search range in said search processing, is obtained.
前記取得部は、
前記第2パラメータと前記検索範囲係数との掛け合わせを含む前記関数を取得する
ことを特徴とする請求項23に記載の情報処理装置。
The acquisition unit
24. The information processing apparatus according to claim 23, wherein the function including the multiplication of the second parameter and the search range coefficient is obtained.
コンピュータが実行する情報処理方法であって、
検索対象となる複数のオブジェクトを含むデータセットと、前記データセットを対象とする検索に用いられる閾値を算出する関数とを取得する取得工程と、
前記データセットに対応する複数のノードがエッジにより連結された対象グラフと、前記閾値とを用いた検索処理を含む前記関数に含まれる複数のパラメータの各々の値を調整する調整処理により、前記複数のパラメータの各々の値を決定する決定工程と、
を含むことを特徴とする情報処理方法。
A computer-executed information processing method comprising:
an obtaining step of obtaining a data set including a plurality of objects to be searched, and a function for calculating a threshold value used in searching the data set;
Adjustment processing for adjusting each value of a plurality of parameters included in the function including search processing using a target graph in which a plurality of nodes corresponding to the data set are connected by edges, and the threshold, the plurality of a determining step of determining a value for each of the parameters of
An information processing method comprising:
検索対象となる複数のオブジェクトを含むデータセットと、前記データセットを対象とする検索に用いられる閾値を算出する関数とを取得する取得手順と、
前記データセットに対応する複数のノードがエッジにより連結された対象グラフと、前記閾値とを用いた検索処理を含む前記関数に含まれる複数のパラメータの各々の値を調整する調整処理により、前記複数のパラメータの各々の値を決定する決定手順と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
an acquisition procedure for acquiring a data set including a plurality of objects to be searched, and a function for calculating a threshold value used for searching the data set;
Adjustment processing for adjusting each value of a plurality of parameters included in the function including search processing using a target graph in which a plurality of nodes corresponding to the data set are connected by edges, and the threshold, the plurality of a determining procedure for determining a value for each of the parameters of
An information processing program characterized by causing a computer to execute
JP2019144922A 2019-08-06 2019-08-06 Information processing device, information processing method, and information processing program Active JP7122293B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019144922A JP7122293B2 (en) 2019-08-06 2019-08-06 Information processing device, information processing method, and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019144922A JP7122293B2 (en) 2019-08-06 2019-08-06 Information processing device, information processing method, and information processing program

Publications (2)

Publication Number Publication Date
JP2021026575A JP2021026575A (en) 2021-02-22
JP7122293B2 true JP7122293B2 (en) 2022-08-19

Family

ID=74662356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019144922A Active JP7122293B2 (en) 2019-08-06 2019-08-06 Information processing device, information processing method, and information processing program

Country Status (1)

Country Link
JP (1) JP7122293B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015191617A (en) 2014-03-28 2015-11-02 富士通株式会社 Calculation program, calculation device and calculation method
WO2016006276A1 (en) 2014-07-10 2016-01-14 日本電気株式会社 Index generation device and index generation method
JP2018156458A (en) 2017-03-17 2018-10-04 ヤフー株式会社 Creation device, creation method, and creation program
JP2019125257A (en) 2018-01-18 2019-07-25 ヤフー株式会社 Information processing device, information processing method, and information processing program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015191617A (en) 2014-03-28 2015-11-02 富士通株式会社 Calculation program, calculation device and calculation method
WO2016006276A1 (en) 2014-07-10 2016-01-14 日本電気株式会社 Index generation device and index generation method
JP2018156458A (en) 2017-03-17 2018-10-04 ヤフー株式会社 Creation device, creation method, and creation program
JP2019125257A (en) 2018-01-18 2019-07-25 ヤフー株式会社 Information processing device, information processing method, and information processing program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
劉 健全,類似度の階層関係を用いた類似検索の高速化とその応用,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2015年11月13日,Vol. 115 No. 316,pp. 123--128

Also Published As

Publication number Publication date
JP2021026575A (en) 2021-02-22

Similar Documents

Publication Publication Date Title
US9454580B2 (en) Recommendation system with metric transformation
US11809494B2 (en) Information processing apparatus and information processing method
JP7080803B2 (en) Information processing equipment, information processing methods, and information processing programs
JP6311000B1 (en) Generating device, generating method, and generating program
JP6959164B2 (en) Generation device, generation method, and generation program
JP7121706B2 (en) Information processing device, information processing method, and information processing program
JP6705764B2 (en) Generation device, generation method, and generation program
JP6976178B2 (en) Extractor, extraction method, and extraction program
JP7122293B2 (en) Information processing device, information processing method, and information processing program
JP6293335B1 (en) Generating device, generating method, and generating program
JP2020027590A (en) Information processing device, information processing method, and information processing program
JP6974248B2 (en) Information processing equipment, information processing methods, and information processing programs
JP6498266B2 (en) Generating device, generating method, and generating program
JP7130019B2 (en) Information processing device, information processing method, and information processing program
JP2020187644A (en) Information processor, method for processing information, and information processing program
JP7239433B2 (en) Information processing device, information processing method, and information processing program
JP7208955B2 (en) Information processing device, information processing method, information processing program, information retrieval device, information retrieval method, and information retrieval program
JP7388661B2 (en) Information processing device, information processing method, and information processing program
JP7041530B2 (en) Display program, display method, and display device
JP7174017B2 (en) Information processing device, information processing method and information processing program
JP7414906B2 (en) Information processing device, information processing method, and information processing program
JP2019159965A (en) Information processor, information processing method and program
JP2024071095A (en) Information processing device, information processing method, and information processing program
US20210374114A1 (en) Method, electronic device, and computer program product for data indexing
JP2018041281A (en) Retrieval device, method, and program

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

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20191101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210916

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220701

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220808

R150 Certificate of patent or registration of utility model

Ref document number: 7122293

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