JP2019049909A - Generation device, generation method, and generation program - Google Patents

Generation device, generation method, and generation program Download PDF

Info

Publication number
JP2019049909A
JP2019049909A JP2017174329A JP2017174329A JP2019049909A JP 2019049909 A JP2019049909 A JP 2019049909A JP 2017174329 A JP2017174329 A JP 2017174329A JP 2017174329 A JP2017174329 A JP 2017174329A JP 2019049909 A JP2019049909 A JP 2019049909A
Authority
JP
Japan
Prior art keywords
centroid
vector
information
centroids
vectors
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.)
Granted
Application number
JP2017174329A
Other languages
Japanese (ja)
Other versions
JP6562984B2 (en
Inventor
岩崎 雅二郎
Masajiro Iwasaki
雅二郎 岩崎
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 JP2017174329A priority Critical patent/JP6562984B2/en
Publication of JP2019049909A publication Critical patent/JP2019049909A/en
Application granted granted Critical
Publication of JP6562984B2 publication Critical patent/JP6562984B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

To generate centroid information that enables efficient search.SOLUTION: A generation device according to the present application comprises an acquisition part and a generation part. The acquisition part acquires correspondence information indicating correspondence between a first centroid with which a vector for a predetermined object is associated according to a distance and the vector associated with the first centroid. The generation part generates a plurality of second centroids with which each of object vectors included in a first vector group is associated according to the distance on the basis of the correspondence information acquired by the acquisition part, when information on the first vector group associated with the first centroid satisfies a predetermined condition.SELECTED DRAWING: Figure 3

Description

本発明は、生成装置、生成方法、及び生成プログラムに関する。   The present invention relates to a generation device, a generation method, and a generation program.

従来、ベクトル量子化によるベクトルデータの検索に関する技術が提供されている。例えば、ベクトルをコードブックにより量子化する技術が提供されている。また、このような技術は、例えば画像検索等に用いられる。   Conventionally, techniques relating to search of vector data by vector quantization have been provided. For example, techniques are provided for quantizing vectors with a codebook. Moreover, such a technique is used, for example, for image search.

特開2011−257970号公報JP 2011-257970 A

Equal frequency binning、IBM、[online]、[平成29年9月4日検索]、インターネット<URL:http://www.ibm.com/support/knowledgecenter/SSWLVY_1.0.0/com.ibm.spss.analyticcatalyst.help/analytic_catalyst/equal_frequency_binning.html>Equal frequency binning, IBM, [online], [search on September 4, 2017], Internet <URL: http://www.ibm.com/support/knowledgecenter/SSWLVY_1.0.0/com.ibm.spss.analyticcatalyst .help / analytic_catalyst / equal_frequency_binning.html> 岩崎雅二郎 "木構造型インデックスを利用した近似k最近傍グラフによる近傍検索", 情報処理学会論文誌, 2011/2, Vol. 52, No. 2. pp.817-828.Iwasaki Masajiro "Nearby Search by Approximate k-Nearest Neighbor Graph Using Tree-structured Index", Transactions of Information Processing Society of Japan, 2011/2, Vol. 52, No. 2. pp.817-828.

しかしながら、上記の従来技術では、効率的な検索を可能にするセントロイド情報を生成することが難しい場合がある。例えば、ベクトルをコードブックにより量子化するだけでは、ベクトルの個数が増大した場合等にベクトルの検索に要する処理時間も増大し、検索の処理時間を抑制することが難しい。また、例えば、一のセントロイドに多数のベクトルが対応付けられている場合、どのベクトルを検索結果とすべきかを決定する処理に時間を要する場合がある。このような場合、クエリに対する検索を効率的に行うことが難しい場合がある。   However, in the above-described prior art, it may be difficult to generate centroid information that enables efficient search. For example, only by quantizing a vector by a codebook, the processing time required for searching for a vector increases when the number of vectors increases, and it is difficult to suppress the processing time for searching. Further, for example, when many vectors are associated with one centroid, it may take time to determine which vector should be the search result. In such a case, it may be difficult to search efficiently for a query.

本願は、上記に鑑みてなされたものであって、効率的な検索を可能にするセントロイド情報を生成する生成装置、生成方法、及び生成プログラムを提供することを目的とする。   The present application has been made in view of the above, and an object of the present application is to provide a generation device, a generation method, and a generation program for generating centroid information that enables efficient search.

本願に係る生成装置は、所定の対象に関するベクトルが距離に応じて対応付けられる第1セントロイドと、前記第1セントロイドに対応付けられるベクトルとの対応付けを示す対応情報を取得する取得部と、前記取得部により取得された前記対応情報に基づいて、前記第1セントロイドに対応付けられた第1ベクトル群に関する情報が所定の条件を満たす場合、前記第1ベクトル群に含まれるベクトルである対象ベクトルの各々が距離に応じて対応付けられる複数の第2セントロイドを生成する生成部と、を備えたことを特徴とする。   The generation device according to the present application acquires an acquisition unit that acquires correspondence information indicating correspondence between a first centroid in which a vector related to a predetermined target is associated according to a distance, and a vector associated with the first centroid. A vector included in the first vector group when information on a first vector group associated with the first centroid satisfies a predetermined condition based on the correspondence information acquired by the acquisition unit; And a generator configured to generate a plurality of second centroids in which each of the target vectors is associated according to the distance.

実施形態の一態様によれば、効率的な検索を可能にするセントロイド情報を生成することができるという効果を奏する。   According to an aspect of the embodiment, it is possible to generate centroid information that enables efficient search.

図1は、実施形態に係る生成処理の一例を示す図である。FIG. 1 is a diagram illustrating an example of a generation process according to the embodiment. 図2は、実施形態に係る生成システムの構成例を示す図である。FIG. 2 is a diagram illustrating an exemplary configuration of a generation system according to the embodiment. 図3は、実施形態に係る生成装置の構成例を示す図である。FIG. 3 is a diagram illustrating an example of the configuration of the generation device according to the embodiment. 図4は、実施形態に係る第1インデックス情報記憶部の一例を示す図である。FIG. 4 is a diagram showing an example of the first index information storage unit according to the embodiment. 図5は、実施形態に係るセントロイド情報記憶部の一例を示す図である。FIG. 5 is a diagram illustrating an example of a centroid information storage unit according to the embodiment. 図6は、実施形態に係る第2インデックス情報記憶部の一例を示す図である。FIG. 6 is a diagram illustrating an example of a second index information storage unit according to the embodiment. 図7は、実施形態に係る生成処理の一例を示すフローチャートである。FIG. 7 is a flowchart illustrating an example of the generation process according to the embodiment. 図8は、実施形態に係るクエリに対応する情報の提供の一例を示す図である。FIG. 8 is a diagram illustrating an example of provision of information corresponding to a query according to the embodiment. 図9は、実施形態に係る第1インデックス情報の概念図を示す図である。FIG. 9 is a schematic diagram of first index information according to the embodiment. 図10は、実施形態に係る第2インデックス情報の生成処理の一例を示す図である。FIG. 10 is a diagram illustrating an example of a process of generating second index information according to the embodiment. 図11は、実施形態に係る第2インデックス情報の利用の一例を示す図である。FIG. 11 is a diagram illustrating an example of use of second index information according to the embodiment. 図12は、実施形態に係るベクトルの分割の一例を示す図である。FIG. 12 is a diagram illustrating an example of vector division according to the embodiment. 図13は、生成装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。FIG. 13 is a hardware configuration diagram illustrating an example of a computer that implements the function of the generation device.

以下に、本願に係る生成装置、生成方法、及び生成プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る生成装置、生成方法、及び生成プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。   Hereinafter, a generation apparatus, a generation method, and a mode for carrying out a generation program (hereinafter, referred to as “embodiment”) according to the present application will be described in detail with reference to the drawings. Note that the generation device, the generation method, and the generation program according to the present application are not limited by this embodiment. Moreover, the same code | symbol is attached | subjected to the same site | part in the following each embodiment, and the overlapping description is abbreviate | omitted.

(実施形態)
〔1.生成処理〕
図1を用いて、実施形態に係る生成処理の一例について説明する。図1は、実施形態に係る生成処理の一例を示す図である。図1では、生成装置100(図3参照)が第1セントロイドに対応付けられたベクトルの数に応じて、複数の第2セントロイドを生成する場合を示す。すなわち、図1では、生成装置100が第1セントロイドに対応付けられたベクトル群を分割して対応付けるための複数の第2セントロイドを生成する場合を示す。なお、対象とする情報は、ベクトルとして表現可能であれば、どのような情報であってもよい。なお、以下では、画像情報を対象としたベクトル情報について説明するが、ベクトル情報の対象は、動画情報や音声情報等の他の対象であってもよい。
(Embodiment)
[1. Generation process]
An example of the generation processing according to the embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of a generation process according to the embodiment. FIG. 1 shows a case where the generating apparatus 100 (see FIG. 3) generates a plurality of second centroids according to the number of vectors associated with the first centroid. That is, FIG. 1 shows a case where the generating apparatus 100 generates a plurality of second centroids for dividing and correlating the vector group associated with the first centroid. The target information may be any information as long as it can be expressed as a vector. In addition, although the vector information which made image information the object below is demonstrated, the object of vector information may be other objects, such as moving image information and audio information.

なお、セントロイドについての詳細は後述するが、第1セントロイドや第2セントロイドは、相対的な概念であって、第1セントロイドは対応付けられたベクトル群が分割される対象となるセントロイドを示し、第2セントロイドは第1セントロイドに対応付けられたベクトル群を分割して対応付けられるセントロイドを示す。すなわち、一のセントロイドに対しては第2セントロイドであるセントロイドが、他のセントロイドに対しては第1セントロイドとなる場合がある。また、以下では、第1セントロイドから生成された第2セントロイドに対応付けられたベクトル群をさらに分割する場合、分割したベクトル(対象ベクトル)が対応付けられるセントロイドを第3セントロイドと称する場合がある。なお、この場合、第2セントロイドを第1セントロイドとして、捉えた場合、第3セントロイドは、第2セントロイドとなる。なお、以下では、第1〜第3セントロイドを単に「セントロイド」と記載する場合がある。   Although the details of the centroid will be described later, the first centroid and the second centroid are relative concepts, and the first centroid is a target to which the associated vector group is divided. Lloyd is shown, and the second centroid is a centroid to be divided and associated with the vector group associated with the first centroid. That is, a second centroid may be a centroid for one centroid and a first centroid for another centroid. Also, in the following, when the vector group associated with the second centroid generated from the first centroid is further divided, the centroid to which the divided vector (target vector) is associated is referred to as a third centroid. There is a case. In this case, when the second centroid is taken as the first centroid, the third centroid becomes the second centroid. In the following, the first to third centroids may be described simply as "centroids".

図1の例では、数百万〜数億単位の画像情報に対応するベクトル情報を対象にするが、図面においてはその一部のみを図示する。また、以下では、例えば、画像情報に対応するベクトルデータ自体を示す場合、「ベクトルデータ」と記載し、画像情報に対応する各ベクトルデータを識別する情報を示す場合、「ベクトル識別情報」や「ベクトルID」と記載する。すなわち、ここでいう、ベクトルデータは、N次元の高次元ベクトルを意味し、ベクトル識別情報は、ベクトルID等の各ベクトルを識別する情報を意味する。例えば、図1に示す例において、ベクトル識別情報V112と記載した場合、ベクトルID「V112」を意味する。また、例えば、ベクトルV112と記載した場合、ベクトルID「V112」により識別されるベクトルを意味する。また、ベクトルデータであるかベクトル識別情報であるかを特に区別せずに説明する場合は「ベクトル」や「ベクトル情報」と記載する。   Although the example of FIG. 1 targets vector information corresponding to image information of millions to hundreds of millions, only a part of the vector information is illustrated in the drawing. Further, in the following, for example, when indicating vector data itself corresponding to image information, it is described as “vector data”, and when indicating information identifying each vector data corresponding to image information, “vector identification information” or “vector identification information” Describe as "vector ID". That is, vector data here means N-dimensional high-dimensional vector, and vector identification information means information for identifying each vector such as vector ID. For example, in the example shown in FIG. 1, when described as vector identification information V112, it means the vector ID "V112". Also, for example, when the vector V112 is described, it means the vector identified by the vector ID "V112". Further, in the case of describing without distinguishing whether it is vector data or vector identification information, it is described as “vector” or “vector information”.

また、以下では、「ベクトルV*(*は任意の数値)」と記載した場合、そのベクトルはベクトルID「V*」により識別されるベクトルであることを示す。例えば、「ベクトルV1」と記載した場合、そのベクトルはベクトルID「V1」により識別されるベクトルである。また、「セントロイドC*(*は任意の数値)」と記載した場合、そのセントロイドはセントロイドID「C*」により識別されるセントロイドであることを示す。例えば、「セントロイドC4」と記載した場合、そのセントロイドはセントロイドID「C4」により識別されるセントロイド(ベクトル)である。   Further, in the following, when “vector V * (* is an arbitrary numerical value)” is described, it indicates that the vector is a vector identified by vector ID “V *”. For example, when describing as "vector V1", the vector is a vector identified by vector ID "V1". Moreover, when it describes as "centroid C * (* is arbitrary numerical value)", it shows that the centroid is a centroid identified by centroid ID "C *." For example, when "centroid C4" is described, the centroid is a centroid (vector) identified by centroid ID "C4".

まず、生成装置100は、セントロイドに対応付けられるベクトルとの対応付けを示す対応情報を取得する(ステップS11)。図1の例では、生成装置100が画像情報に各々対応するベクトル情報を用いて、対応付けを示す対応情報を生成する場合を示す。例えば、生成装置100は、情報提供装置50等の外部の情報処理装置から画像情報に各々対応するベクトル情報を取得する。図1の例では、生成装置100は、空間情報GR11等に示すようにベクトル識別情報V3〜V1100等により各々識別される複数のベクトル情報を取得する。例えば、生成装置100は、ベクトル識別情報V3〜V1100等を含む多数のベクトル情報を取得する。   First, the generating apparatus 100 acquires correspondence information indicating correspondence with a vector associated with a centroid (step S11). The example of FIG. 1 shows a case where the generating apparatus 100 generates correspondence information indicating correspondence using vector information respectively corresponding to image information. For example, the generating device 100 acquires vector information corresponding to image information from an external information processing device such as the information providing device 50. In the example of FIG. 1, the generating apparatus 100 acquires a plurality of pieces of vector information identified by the vector identification information V3 to V1100 and the like as indicated by the space information GR11 and the like. For example, the generating device 100 acquires a large number of pieces of vector information including the vector identification information V3 to V1100 and the like.

図1に示す例においては、取得した各ベクトル情報を「○」にベクトル識別情報を付すことにより表現する。例えば、ベクトルID「V55」により識別されるベクトルは、空間情報GR11中の右下の「○」点として表現する。例えば、図1に示す例において、各ベクトルデータは、N次元の実数値ベクトルである。また、図1や図9等に示す空間情報GR11−1〜GR11−4は、空間情報の一部を模式的に示す図であり、空間情報GR11−1〜GR11−4は、生成処理により生成される情報に対応する空間情報である。また、以下では、空間情報GR11−1〜GR11−4について、特に区別なく説明する場合には、空間情報GR11と記載する。   In the example shown in FIG. 1, each acquired vector information is expressed by attaching vector identification information to “o”. For example, the vector identified by the vector ID "V55" is expressed as a lower right "o" point in the space information GR11. For example, in the example shown in FIG. 1, each vector data is an N-dimensional real-valued vector. Space information GR11-1 to GR11-4 shown in FIG. 1 and FIG. 9 etc. are diagrams schematically showing a part of the space information, and the space information GR11-1 to GR11-4 is generated by the generation process. Information corresponding to the information to be Further, in the following, the space information GR11-1 to GR11-4 will be described as space information GR11, in the case of describing the information without particular distinction.

なお、図1中の空間情報GR11は、ユークリッド空間であってもよい。また、図1に示す空間情報GR11は、各ベクトル間の距離等の説明のための概念的な図である。多次元空間となる。なお、例えば、図1に示す空間情報GR11は、平面上に図示するため2次元の態様にて図示されるが、例えば100次元や1000次元等の多次元空間であるものとする。   The space information GR11 in FIG. 1 may be Euclidean space. Also, space information GR11 shown in FIG. 1 is a conceptual diagram for explaining the distance between each vector and the like. It becomes a multidimensional space. For example, although the space information GR11 shown in FIG. 1 is illustrated in a two-dimensional manner for illustration on a plane, it is assumed to be a multidimensional space such as a 100-dimensional or 1000-dimensional space, for example.

本実施形態においては、空間情報GR11における各ベクトルの距離を対応する各画像間の類似度とする。ここで、図1に示す例においては、空間情報GR11における各ベクトル間の距離が小さい画像同士の類似度が高く、空間情報GR11における各ベクトル間の距離が大きい画像同士の類似度が低い。例えば、図1中の空間情報GR11において、ベクトルID「V9」により識別されるベクトル情報と、ベクトルID「V34」により識別されるベクトル情報とは近接している、すなわち距離が小さい。そのため、ベクトルID「V9」により識別されるベクトル情報に対応する画像と、ベクトルID「V34」により識別されるベクトル情報に対応する画像とは類似度が高いことを示す。また、例えば、図1中の空間情報GR11において、ベクトルID「V9」により識別されるベクトル情報と、ベクトルID「V55」により識別されるベクトル情報とは遠隔にある、すなわち距離が大きい。そのため、ベクトルID「V9」により識別されるベクトル情報に対応する画像と、ベクトルID「V55」により識別されるベクトル情報に対応する画像とは類似度が低いことを示す。なお、類似度を示す指標は、本願の生成処理に適用可能であれば、どのような指標であってもよく、距離や向き等を対象とする指標であってもよい。例えば、類似度を示す指標は、本願の生成処理に適用可能であれば、ユークリッド距離やマハラノビス距離やコサイン距離等の種々の指標が用いられてもよい。   In the present embodiment, the distance between the vectors in the space information GR11 is the degree of similarity between the corresponding images. Here, in the example shown in FIG. 1, the similarity between images in which the distance between each vector in the space information GR11 is short is high, and the similarity between images in which the distance between each vector in the space information GR11 is large is low. For example, in the space information GR11 in FIG. 1, the vector information identified by the vector ID "V9" is close to the vector information identified by the vector ID "V34", that is, the distance is small. Therefore, it indicates that the image corresponding to the vector information identified by the vector ID “V9” and the image corresponding to the vector information identified by the vector ID “V34” have high similarity. Also, for example, in the space information GR11 in FIG. 1, the vector information identified by the vector ID "V9" and the vector information identified by the vector ID "V55" are remote, ie, the distance is large. Therefore, it is indicated that the image corresponding to the vector information identified by the vector ID “V9” and the image corresponding to the vector information identified by the vector ID “V55” have low similarity. Note that the index indicating the degree of similarity may be any index as long as it is applicable to the generation processing of the present application, and may be an index targeting distance, direction, and the like. For example, as the index indicating the degree of similarity, various indexes such as Euclidean distance, Mahalanobis distance, and cosine distance may be used if applicable to the generation processing of the present application.

図1の例では、生成装置100は、所定のクラスタリング手法により、複数のベクトルをクラスタリングする。例えば、生成装置100は、所定のクラスタリング手法により、セントロイドに対応付けられるベクトルの数の差が均一になるように複数のベクトルをクラスタリングする。例えば、生成装置100は、所定のクラスタリング手法により、セントロイドに対応付けられるベクトルの数の差が所定値以内になるように複数のベクトルをクラスタリングする。k−means法等の種々の従来技術を適宜用いて、複数のベクトルをクラスタリングしてもよい。例えば、生成装置100は、所定のクラスタ数を設定し、各クラスタの分類されるベクトルの数を制限した制約付きクラスタリングにより、セントロイドに対応付けられるベクトルの数の差が所定値以内になるように複数のベクトルをクラスタリングしてもよい。   In the example of FIG. 1, the generating apparatus 100 clusters a plurality of vectors by a predetermined clustering method. For example, the generating apparatus 100 clusters a plurality of vectors by a predetermined clustering method so that the difference in the number of vectors associated with the centroid becomes uniform. For example, the generating apparatus 100 clusters a plurality of vectors by a predetermined clustering method such that the difference in the number of vectors associated with the centroid is within a predetermined value. A plurality of vectors may be clustered using various conventional techniques such as the k-means method as appropriate. For example, the generation device 100 sets a predetermined number of clusters, and by performing constrained clustering in which the number of classified vectors of each cluster is limited, the difference in the number of vectors associated with the centroid becomes within a predetermined value. You may cluster several vectors in.

このように、生成装置100は、各セントロイドに対応付けられるベクトルの数の差が所定値以内になるような複数のセントロイド情報を生成する。例えば、生成装置100は、各セントロイドに対応付けられるベクトルの数が均等になるような複数のセントロイド情報を生成する。以下では、この点を説明するために、クラスタ数は100個、すなわち生成されるセントロイドはセントロイドC1〜C11等を含む100個のセントロイドであり、セントロイドC1〜C11等の各々に対応する領域AR1〜AR11等に含まれるベクトルの数は25(個)であるものとする。なお、図1の空間情報GR11においては、セントロイドやベクトルの一部のみを図示するものとする。また、セントロイドの個数は、ベクトルの数に基づいて選択(決定)されてもよいし、所定の設定値に基づいて選択(決定)されてもよい。   Thus, the generating device 100 generates a plurality of pieces of centroid information such that the difference in the number of vectors associated with each centroid is within a predetermined value. For example, the generating apparatus 100 generates a plurality of pieces of centroid information such that the number of vectors associated with each centroid is equal. In the following, in order to explain this point, the number of clusters is 100, ie, the generated centroids are 100 centroids including centroids C1 to C11 and the like, and correspond to each of centroids C1 to C11 and the like. It is assumed that the number of vectors included in the areas AR1 to AR11 and the like is 25 (pieces). In the space information GR11 of FIG. 1, only a part of a centroid or a vector is illustrated. Further, the number of centroids may be selected (determined) based on the number of vectors, or may be selected (determined) based on a predetermined set value.

また、上記の生成方法は一例であり、生成装置100は、各セントロイドに対応付けられるベクトルの数の差が所定値以内になるように複数のセントロイド情報を生成可能であれば、どのような情報や技術を用いてセントロイド情報を生成してもよい。例えば、生成装置100は、種々の従来技術等を適宜用いたり組み合わせたりして、各セントロイドに対応付けられるベクトルの数が均等になるような複数のセントロイド情報を生成してもよい。   Also, the above generation method is an example, and the generation device 100 can generate a plurality of pieces of centroid information so that the difference in the number of vectors corresponding to each centroid is within a predetermined value. Information and techniques may be used to generate centroid information. For example, the generating apparatus 100 may generate a plurality of pieces of centroid information such that the number of vectors associated with each centroid becomes equal by appropriately using or combining various conventional techniques and the like.

例えば、生成装置100は、ランダムサンプリングを行うことによりベクトル識別情報の数の差が所定値以内になるような複数のセントロイド情報を生成してもよい。例えば、生成装置100は、ランダムサンプリングを行ってセントロイドを選択し、選択されたセントロイドに基づいて各ベクトルを対応付けることにより、各セントロイドに対応付けられるベクトルの数の差が所定値以内になるような複数のセントロイド情報を生成してもよい。なお、生成装置100は、第2セントロイドの生成を行う前のクラスタリングの処理については、各セントロイドに対応付けられるベクトルの数の差が均一になれば、どのような手法により複数のセントロイド情報を生成してもよい。例えば、生成装置100は、LSH(Locality Sensitive Hashing)等のハッシュに関する従来技術を用いて、各セントロイドに対応付けられるベクトルの数の差が均一になるように複数のセントロイド情報を生成してもよい。この場合、例えば、生成装置100は、LSH等により算出される各ベクトルのハッシュ値に基づいて、各ベクトルをクラスタ(グループ)に分割し、ハッシュ値に基づいてベクトルが分割されたクラスタごとにセントロイド情報を生成してもよい。また、例えば、生成装置100は、非特許文献1に開示されるようなEqual frequency binningの技術等の種々の従来技術を適宜用いて、各セントロイドに対応付けられるベクトルの数が均等になるような複数のセントロイド情報を生成してもよい。   For example, the generating apparatus 100 may generate a plurality of pieces of centroid information such that the difference in the number of vector identification information is within a predetermined value by performing random sampling. For example, the generating apparatus 100 performs random sampling to select a centroid, and associates each vector based on the selected centroid, so that the difference in the number of vectors associated with each centroid is within a predetermined value. And so on may be generated. In addition, as for the processing of clustering before generating the second centroid, the generating apparatus 100 performs a plurality of centroids by any method as long as the difference in the number of vectors associated with each centroid becomes uniform. Information may be generated. For example, the generation device 100 generates a plurality of pieces of centroid information so that the difference in the number of vectors associated with each centroid becomes uniform, using a conventional technique related to hashing such as LSH (Locality Sensitive Hashing). It is also good. In this case, for example, the generating apparatus 100 divides each vector into clusters (groups) based on the hash value of each vector calculated by LSH or the like, and performs a cent for each cluster into which the vector is divided based on the hash value. Lloyd information may be generated. Also, for example, the generation device 100 appropriately uses various conventional techniques such as the technique of Equal frequency binning as disclosed in Non-Patent Document 1 so that the number of vectors associated with each centroid becomes equal. Multiple pieces of centroid information may be generated.

図1の例では、生成装置100は、図1中の空間情報GR11に示すように、ベクトル識別情報C1、C2、C3、C4、C5、C6、C7、C8、C9、C10、C11をセントロイドとするセントロイド情報を生成する。図1中では、各セントロイドに対応する領域AR1〜AR11等の各々に5個のベクトルを図示するが、領域AR1〜AR11等の各々には99個のベクトルが位置するものとする。このように、生成装置100は、セントロイドとなるベクトル識別情報C1、C2、C3、C4、C5、C6、C7、C8、C9、C10、C11の各々に対応付けられるベクトルが均等になるように複数のセントロイド情報を生成してもよい。   In the example of FIG. 1, the generating device 100 centroids vector identification information C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, and C11, as indicated by the space information GR11 in FIG. Generate centroid information. In FIG. 1, although five vectors are illustrated in each of the areas AR1 to AR11 and the like corresponding to each centroid, it is assumed that 99 vectors are located in each of the areas AR1 to AR11 and the like. As described above, the generating apparatus 100 is configured such that the vectors associated with each of the vector identification information C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, and C11 that become centroids become equal. Multiple centroid information may be generated.

なお、図1中の空間情報GR11に示す境界LNは、どのベクトルがどのセントロイドに対応付けられるかを示すための仮想的な線である。例えば、領域AR2を囲む境界LN内に位置するベクトル(ベクトルV33、V66等)は、セントロイドC2に対応付けられることを示す。図1中の例では、生成装置100は、境界LNにより空間情報GR11を領域AR1〜AR11等のように分割する。例えば、図1中の空間情報GR11における領域AR1には、ベクトル識別情報V4、V25、V32、V41、V87等の各々により識別されるベクトル等が含まれる。図1の例では、ベクトル識別情報V4、V25、V32、V41、V87等の各々により識別されるベクトルは、セントロイドC1に対応付けられることを示す。すなわち、生成装置100は、セントロイドC1にベクトル識別情報V4、V25、V32、V41、V87等を対応付ける。例えば、セントロイドC1に対応する画像がある場合、ベクトル識別情報V4、V25、V32、V41、V87等の各々により識別されるベクトルに対応する画像は、各セントロイドのうち、セントロイドC1により識別されるセントロイドに対応する画像に類似していることを示す。   A boundary LN shown in space information GR11 in FIG. 1 is a virtual line for indicating which vector is associated with which centroid. For example, vectors (vectors V33, V66, etc.) located in the boundary LN surrounding the area AR2 indicate that they are associated with the centroid C2. In the example in FIG. 1, the generating apparatus 100 divides the space information GR11 into areas AR1 to AR11 and the like by the boundary LN. For example, the area AR1 in the space information GR11 in FIG. 1 includes a vector identified by each of the vector identification information V4, V25, V32, V41, V87 and the like. In the example of FIG. 1, it is shown that the vector identified by each of the vector identification information V4, V25, V32, V41, V87, etc. is associated with the centroid C1. That is, the generating device 100 associates the centroid C1 with the vector identification information V4, V25, V32, V41, V87, and the like. For example, when there is an image corresponding to the centroid C1, an image corresponding to the vector identified by each of the vector identification information V4, V25, V32, V41, V87, etc. is identified by the centroid C1 among the respective centroids. It is similar to the image corresponding to the centroid.

図1の例では、生成装置100は、セントロイド情報記憶部122−1に示すような複数のセントロイド情報を生成する。例えば、生成装置100は、空間情報GR11中の領域AR1に対応するセントロイドC1とそのベクトル情報を含むセントロイド情報をセントロイド情報記憶部122−1に格納する。具体的には、生成装置100は、セントロイドID「C1」と、空間情報GR11中の領域AR1のセントロイドの位置に対応するベクトル情報とを組み合わせたセントロイド情報を生成し、セントロイド情報記憶部122−1に格納する。なお、領域に対応するセントロイドの位置は、領域の中心であってもよい。例えば、領域に対応するセントロイドの位置は、領域の重心や質量中心であってもよい。図1の例では、生成装置100は、セントロイドC1のベクトルデータ「10,24,54,2・・・」をセントロイド情報記憶部122−1に格納する。   In the example of FIG. 1, the generating device 100 generates a plurality of pieces of centroid information as shown in the centroid information storage unit 122-1. For example, the generating apparatus 100 stores, in the centroid information storage unit 122-1, the centroid information including the centroid C1 corresponding to the area AR1 in the spatial information GR11 and the vector information thereof. Specifically, the generating device 100 generates centroid information combining the centroid ID “C1” and vector information corresponding to the position of the centroid in the area AR1 in the spatial information GR11, and stores the centroid information storage. It stores in the part 122-1. The position of the centroid corresponding to the area may be the center of the area. For example, the position of the centroid corresponding to the area may be the center of gravity or the center of mass of the area. In the example of FIG. 1, the generating device 100 stores the vector data “10, 24, 54, 2...” Of the centroid C1 in the centroid information storage unit 122-1.

例えば、生成装置100は、空間情報GR11中の領域AR2に対応するセントロイドを識別するセントロイドIDやセントロイドに対応するベクトル情報を含むセントロイド情報としてセントロイド情報記憶部122−1に格納する。具体的には、生成装置100は、セントロイドID「C2」と、セントロイドC2に対応するベクトルデータであって、「22,48,5,63・・・」となるN次元のベクトル情報とを組み合わせたセントロイド情報を生成し、セントロイド情報記憶部122−1に格納する。   For example, the generating device 100 stores the centroid ID identifying the centroid corresponding to the area AR2 in the spatial information GR11 and the centroid information storage unit 122-1 as centroid information including vector information corresponding to the centroid. . Specifically, the generation device 100 is a centroid ID “C2”, vector data corresponding to the centroid C2, and N-dimensional vector information “22, 48, 5, 63. Are generated in combination with each other and stored in the centroid information storage unit 122-1.

このように、図1では、セントロイド情報の更新に応じて、セントロイド情報記憶部122をセントロイド情報記憶部122−1、122−2として説明する。すなわち、図1では、セントロイド情報記憶部122−1から、セントロイド情報記憶部122−2に更新されることを示す。また、セントロイド情報記憶部122−1、122−2は同一のセントロイド情報記憶部122である。また、以下では、セントロイド情報記憶部122−1、122−2について、特に区別することなく説明する場合には、セントロイド情報記憶部122と記載する。   As described above, in FIG. 1, the centroid information storage unit 122 is described as the centroid information storage units 122-1 and 122-2 according to the update of the centroid information. That is, FIG. 1 shows that the centroid information storage unit 122-1 is updated to the centroid information storage unit 122-2. The centroid information storage units 122-1 and 122-2 are the same centroid information storage unit 122. Further, hereinafter, the centroid information storage units 122-1 and 122-2 will be described as the centroid information storage unit 122 in the case of describing the centroid information storage units 122-1 and 122-2 without particular distinction.

そして、生成装置100は、各セントロイドに対応付けられたベクトルに基づいて第2インデックス情報を生成する。例えば、生成装置100は、各セントロイドに対応する領域AR1〜AR11等の各々に含まれるベクトルを識別する情報をセントロイドIDに対応付けた第2インデックス情報を生成する。   Then, the generating apparatus 100 generates second index information based on the vector associated with each centroid. For example, the generating apparatus 100 generates second index information in which information identifying a vector included in each of the areas AR1 to AR11 and the like corresponding to each centroid is associated with a centroid ID.

例えば、生成装置100は、セントロイドC1に対応付けてベクトル識別情報V4、V25、V32、V41、V87等を第2インデックス情報記憶部123−1に格納する。例えば、生成装置100は、セントロイドC2に対応付けてベクトル識別情報ベクトルV33、V66、V81、V112、V971等を第2インデックス情報記憶部123−1に格納する。   For example, the generating device 100 stores the vector identification information V4, V25, V32, V41, V87, and the like in the second index information storage unit 123-1 in association with the centroid C1. For example, the generating device 100 stores the vector identification information vectors V33, V66, V81, V112, V971 and the like in the second index information storage unit 123-1 in association with the centroid C2.

以下では、第2インデックスの更新に応じて、第2インデックス情報記憶部123を第2インデックス情報記憶部123−1、123−2として説明する。すなわち、図1では、第2インデックス情報記憶部123−1から、第2インデックス情報記憶部123−2に更新されることを示す。また、第2インデックス情報記憶部123−1、123−2は同一の第2インデックス情報記憶部123である。また、以下では、第2インデックス情報記憶部123−1、123−2について、特に区別することなく説明する場合には、第2インデックス情報記憶部123と記載する。   Hereinafter, the second index information storage unit 123 will be described as the second index information storage units 123-1 and 123-2 according to the update of the second index. That is, FIG. 1 shows that the second index information storage unit 123-2 is updated from the second index information storage unit 123-1. The second index information storage units 123-1 and 123-2 are the same second index information storage unit 123. Further, hereinafter, the second index information storage unit 123 is described as the second index information storage unit 123 when the second index information storage units 123-1 and 123-2 are described without particular distinction.

このように、生成装置100は、セントロイドにベクトルを識別する情報が対応付けられた、いわゆる転置インデックス情報を生成することにより、セントロイドが特定された場合に類似するベクトルの検索を高速化することができる。なお、類似するベクトルの検索時には近傍の複数のセントロイドを特定しても良い。   As described above, the generation apparatus 100 speeds up the search for a vector similar to that in the case where a centroid is specified by generating so-called inverted index information in which information identifying a vector is associated with a centroid. be able to. Note that when searching for similar vectors, a plurality of nearby centroids may be specified.

また、生成装置100は、図1の空間情報GR11−1に示すようにクラスタリングされたベクトル情報を、外部の情報処理装置から取得してもよい。例えば、生成装置100は、図1中のセントロイド情報記憶部122−1や第2インデックス情報記憶部123−1に示すような情報を、外部の情報処理装置から取得してもよい。   The generating device 100 may also acquire vector information clustered as shown in the space information GR11-1 of FIG. 1 from an external information processing device. For example, the generating device 100 may acquire information as shown in the centroid information storage unit 122-1 and the second index information storage unit 123-1 in FIG. 1 from an external information processing device.

ここから、ベクトルが増加した場合について説明する。例えば、生成装置100は、1つの第1セントロイドに対応付けられたベクトルの数が所定の閾値に達した場合、所定の数の第2セントロイドを新たに生成し、その第2セントロイドに第1セントロイドに対応付けられたベクトル群を分割して対応付ける。図1の例では、生成装置100は、1つの第1セントロイドに対応付けられたベクトル(対象ベクトル)の数が100に達した場合、4つの第2セントロイドを生成し、対象ベクトルが対応付けられるセントロイドを4つの第2セントロイドに分割する場合を示す。すなわち、図1の例では、生成装置100は、1つの第1セントロイドに対応付けられたベクトル(対象ベクトル)の数が100に達した場合、各セントロイドに対応付けられるベクトルの設定数「25」になるように、100個の対象ベクトルが4つの第2セントロイドに平均的に約25個ずつ対応付けられるように分割する場合を示す。すなわち、生成装置100は、対象ベクトル数「100」を設定数「25」で除算した数「4」に基づいて、4つの第2セントロイドを生成する。なお、4つに限らず、生成装置100は、対象ベクトル数や設定数等に基づいて、適宜の数(2以上)の第2セントロイドを生成してもよい。   From here, the case where the vector increases will be described. For example, when the number of vectors associated with one first centroid reaches a predetermined threshold value, the generation device 100 newly generates a predetermined number of second centroids, and generates the second centroid as the second centroid. The vector group associated with the first centroid is divided and associated. In the example of FIG. 1, when the number of vectors (target vectors) associated with one first centroid reaches 100, the generating apparatus 100 generates four second centroids, and target vectors correspond to each other. The case where the attached centroid is divided into four second centroids is shown. That is, in the example of FIG. 1, when the number of vectors (target vectors) associated with one first centroid reaches 100, the generating device 100 sets the number of vectors associated with each centroid. A case is shown in which one hundred object vectors are divided so as to be approximately associated with four second centroids on an average of about 25 so as to be 25 ". That is, the generating apparatus 100 generates four second centroids based on the number "4" obtained by dividing the target vector number "100" by the set number "25". Note that the generation apparatus 100 may generate an appropriate number (two or more) of second centroids based on the number of target vectors, the number of settings, and the like without being limited to four.

図1の例では、生成装置100は、ベクトルの増加を示す情報を取得する(ステップS12)。例えば、生成装置100は、情報提供装置50に追加された画像に対応するベクトル情報を取得する。図1の例では、情報提供装置50に75個の画像が新たに追加されたものとする。例えば、生成装置100は、75個の画像の各々に対応するベクトル識別情報V5001〜V5075を取得する。   In the example of FIG. 1, the generating device 100 acquires information indicating an increase of a vector (step S12). For example, the generating device 100 acquires vector information corresponding to the image added to the information providing device 50. In the example of FIG. 1, it is assumed that 75 images are newly added to the information providing apparatus 50. For example, the generating device 100 acquires vector identification information V5001 to V5075 corresponding to each of the 75 images.

なお、図1の例では、説明を簡単にするために、追加されたベクトルV5001〜V5075の全てが、領域AR2内に位置する、すなわちセントロイドC2に近接して位置するベクトルであるものとする。そのため、図1の例では、生成装置100は、追加されたベクトルV5001〜V5075の全てをセントロイドC2に対応付ける。   In the example of FIG. 1, for the sake of simplicity, it is assumed that all of the added vectors V5001 to V5075 are located in the area AR2, that is, vectors close to the centroid C2. . Therefore, in the example of FIG. 1, the generating device 100 associates all of the added vectors V5001 to V5075 with the centroid C2.

これにより、セントロイドC2には、ベクトル識別情報V33、V66、V81、V112、V971、V5001〜V5075等の100個のベクトルが対応付けられる。したがって、図1の例では、空間情報GR11−2に示すように、領域AR2内にベクトル識別情報V33、V66、V81、V112、V971、V5001〜V5075等の100個のベクトルが位置することとなる。なお、図1中の空間情報GR11−2には、100個のベクトルのうち、一部のみを図示する。   Thus, 100 vectors such as vector identification information V33, V66, V81, V112, V971, and V5001 to V5075 are associated with the centroid C2. Therefore, in the example of FIG. 1, as indicated by the space information GR11-2, 100 vectors of vector identification information V33, V66, V81, V112, V971, V5001 to V5075, etc. are located in the area AR2. . In the space information GR11-2 in FIG. 1, only a part of 100 vectors is illustrated.

図1の例では、セントロイドC2に100個のベクトルが対応付けられたため、生成装置100は、閾値に達したと判定し、セントロイドを生成する(ステップS13)。例えば、生成装置100は、第1セントロイドであるセントロイドC2に対応する4つの第2セントロイドを生成する。例えば、生成装置100は、セントロイドC2に対応付けられた100個のベクトルを4分割するように、クラスタリングを行うことにより、4つの第2セントロイドであるセントロイドC2−1〜C2−4を生成する。例えば、生成装置100は、領域AR2を4つの領域に分割するようにクラスタリングを行うことにより、4つの第2セントロイドであるセントロイドC2−1〜C2−4を生成する。   In the example of FIG. 1, since 100 vectors are associated with the centroid C2, the generating apparatus 100 determines that the threshold value is reached and generates a centroid (step S13). For example, the generating apparatus 100 generates four second centroids corresponding to the first centroid, the centroid C2. For example, the generating device 100 performs clustering so as to divide 100 vectors associated with the centroid C2 into four, thereby forming four second centroids, centroids C2-1 to C2-4. Generate For example, the generating apparatus 100 generates four second centroids C2-1 to C2-4 by performing clustering to divide the area AR2 into four areas.

図1の例では、生成装置100は、所定のクラスタリング手法により、領域AR2内の100個のベクトルをクラスタリングする。例えば、生成装置100は、所定のクラスタリング手法により、4つの第2セントロイドに対応付けられるベクトルの数の差が均一になるように複数のベクトルをクラスタリングする。例えば、生成装置100は、4つの第2セントロイドに対応付けられるベクトルの数の差が均一になるように複数のベクトルをクラスタリングする。なお、セントロイドC2−1〜C2−4に対応付けられるベクトルの数は、完全に均一(25個)である場合に限らず、25個から所定の範囲内(20〜30個)等であってもよい。   In the example of FIG. 1, the generating apparatus 100 clusters 100 vectors in the area AR2 by a predetermined clustering method. For example, the generating apparatus 100 clusters a plurality of vectors by a predetermined clustering method so that the difference in the number of vectors associated with the four second centroids becomes uniform. For example, the generating apparatus 100 clusters a plurality of vectors so that the difference in the number of vectors associated with the four second centroids is uniform. The number of vectors associated with the centroids C2-1 to C2-4 is not limited to the case of being completely uniform (25), but may be from 25 to within a predetermined range (20 to 30), etc. May be

このように、生成装置100は、各セントロイドに対応付けられるベクトルの数の差ができるだけ小さくなるようなセントロイドC2−1〜C2−4を生成する。例えば、図1の空間情報GR11−3中の領域AR2−1には、ベクトル識別情報V66、V5001等が含まれる。すなわち、生成装置100は、セントロイドC2−1にベクトルV66、V5001等を対応付ける。   Thus, the generating apparatus 100 generates centroids C2-1 to C2-4 such that the difference in the number of vectors associated with each centroid is as small as possible. For example, the area AR2-1 in the space information GR11-3 in FIG. 1 includes vector identification information V66, V5001, and the like. That is, the generating device 100 associates the centroid C2-1 with the vectors V66, V5001, and the like.

そして、生成装置100は、第2セントロイドの生成に応じて、情報を更新する(ステップS14)。図1の例では、生成装置100は、第2セントロイドの生成に応じて、情報を更新する。例えば、生成装置100は、複数の第2セントロイドを生成した場合、複数の第2セントロイドを第1セントロイドに対応付け、第1ベクトル群に含まれる各ベクトルと第1セントロイドとの対応付けを解除するように記憶部120(図3参照)の情報を更新する。   Then, the generating apparatus 100 updates the information according to the generation of the second centroid (step S14). In the example of FIG. 1, the generating device 100 updates the information in response to the generation of the second centroid. For example, when the generation device 100 generates a plurality of second centroids, the generation device 100 associates the plurality of second centroids with the first centroid, and associates each vector included in the first vector group with the first centroid. The information in the storage unit 120 (see FIG. 3) is updated to release the attachment.

図1の例では、生成装置100は、生成した複数の第2セントロイドに対応する情報により、セントロイド情報記憶部122を更新する。例えば、生成装置100は、空間情報GR11中の領域AR2−1に対応するセントロイドC2−1とそのベクトル情報を含むセントロイド情報をセントロイド情報記憶部122−2に格納する。具体的には、生成装置100は、セントロイドID「C2−1」と、空間情報GR11中の領域AR2−1のセントロイドの位置に対応するベクトル情報とを組み合わせたセントロイド情報を生成し、セントロイド情報記憶部122−2に格納する。図1の例では、生成装置100は、セントロイドC2−1のベクトルデータ「21,40,11,52・・・」をセントロイド情報記憶部122−2に格納する。   In the example of FIG. 1, the generating device 100 updates the centroid information storage unit 122 with the information corresponding to the plurality of generated second centroids. For example, the generating apparatus 100 stores, in the centroid information storage unit 122-2, centroid C2-1 including the centroid C2-1 corresponding to the area AR2-1 in the spatial information GR11 and the vector information thereof. Specifically, the generation device 100 generates centroid information by combining the centroid ID “C2-1” and vector information corresponding to the position of the centroid of the area AR2-1 in the spatial information GR11. It stores in the centroid information storage unit 122-2. In the example of FIG. 1, the generating apparatus 100 stores the vector data “21, 40, 11, 52...” Of the centroid C2-1 in the centroid information storage unit 122-2.

例えば、生成装置100は、空間情報GR11中の領域AR2−2に対応するセントロイドを識別するセントロイドIDやセントロイドに対応するベクトル情報を含むセントロイド情報としてセントロイド情報記憶部122−2に格納する。具体的には、生成装置100は、セントロイドID「C2−2」と、セントロイドC2−2に対応するベクトルデータであって、「19,51,9,65・・・」となるN次元のベクトル情報とを組み合わせたセントロイド情報を生成し、セントロイド情報記憶部122−2に格納する。また、残りの2つの第2セントロイドであるセントロイドC2−3、C2−4についても同様に、セントロイド情報をセントロイド情報記憶部122−2に格納する。なお、生成装置100は、セントロイド情報記憶部122−2に記憶されたセントロイドC2の情報を削除してもよいし、所定のフラグを用いてベクトルとの直接の対応付けが解除されたことを判別可能にしてもよい。   For example, the generating apparatus 100 may use the centroid information storage unit 122-2 as centroid information including a centroid ID for identifying a centroid corresponding to the area AR2-2 in the spatial information GR11 and vector information corresponding to the centroid. Store. Specifically, the generating device 100 is an N-dimensional vector that corresponds to the centroid ID “C2-2” and the centroid C2-2 and is “19, 51, 9, 65. And centroid information in combination with each other are generated, and stored in the centroid information storage unit 122-2. Similarly, for the remaining two second centroids, centroids C2-3 and C2-4, centroid information is stored in the centroid information storage unit 122-2. Note that the generating device 100 may delete the information of the centroid C2 stored in the centroid information storage unit 122-2, or that the direct association with the vector is canceled using a predetermined flag. May be determined.

また、図1の例では、生成装置100は、生成した複数の第2セントロイドに対応する情報により、第2インデックス情報記憶部123を更新する。例えば、生成装置100は、各セントロイドC2−1〜C2−4に対応付けられたベクトルに基づいて、第2インデックス情報記憶部123を更新する。例えば、生成装置100は、各セントロイドC2−1〜C2−4に対応する領域AR2−1〜AR2−4の各々に含まれるベクトルを識別する情報をセントロイドC2−1〜C2−4に対応付けた第2インデックス情報を生成する。   Further, in the example of FIG. 1, the generating device 100 updates the second index information storage unit 123 with the information corresponding to the plurality of generated second centroids. For example, the generating device 100 updates the second index information storage unit 123 based on the vectors associated with the respective centroids C2-1 to C2-4. For example, the generating apparatus 100 corresponds to the centroids C2-1 to C2-4 with information identifying the vector included in each of the areas AR2-1 to AR2-4 corresponding to the respective centroids C2-1 to C2-4. Generate the attached second index information.

例えば、生成装置100は、セントロイドC2−1に対応付けて25個のベクトルのベクトル識別情報を第2インデックス情報記憶部123−2に格納する。例えば、生成装置100は、セントロイドC2−1に対応付けてベクトル識別情報V66、V5001、V5004等を第2インデックス情報記憶部123−2に格納する。例えば、生成装置100は、セントロイドC2−2に対応付けて25個のベクトルのベクトル識別情報を第2インデックス情報記憶部123−2に格納する。例えば、生成装置100は、セントロイドC2−2に対応付けてベクトル識別情報ベクトルV971、V5003等を第2インデックス情報記憶部123−2に格納する。   For example, the generating device 100 stores the vector identification information of 25 vectors in the second index information storage unit 123-2 in association with the centroid C2-1. For example, the generating apparatus 100 stores the vector identification information V66, V5001, V5004 and the like in the second index information storage unit 123-2 in association with the centroid C2-1. For example, the generating device 100 stores the vector identification information of 25 vectors in the second index information storage unit 123-2 in association with the centroid C2-2. For example, the generating device 100 stores the vector identification information vectors V971 and V5003 and the like in the second index information storage unit 123-2 in association with the centroid C2-2.

また、生成装置100は、第2インデックス情報記憶部123−2に示すように、セントロイドC2に対応する第2インデックス情報を削除することにより、セントロイドC2とベクトルとの対応付けを解除する。なお、生成装置100は、第2インデックス情報記憶部123中のセントロイドC2に対応する情報に、所定のフラグを立てることにより、セントロイドC2とベクトルとの直接の対応付けが解除されたことを判別可能にしてもよい。また、ベクトルとの直接の対応付けが解除されたセントロイドC2は、検索時の第1インデックス情報として利用されるが、詳細は図9において詳述する。   In addition, as illustrated in the second index information storage unit 123-2, the generating device 100 deletes the second index information corresponding to the centroid C2 to release the association between the centroid C2 and the vector. Note that the generating device 100 sets the predetermined flag to the information corresponding to the centroid C2 in the second index information storage unit 123, thereby disengaging the direct correspondence between the centroid C2 and the vector. It may be distinguishable. Further, the centroid C2 whose direct association with the vector has been released is used as first index information at the time of search, and the details will be described in detail in FIG.

上述したように、生成装置100は、1つの第1セントロイド(セントロイドC2)に対応付けられるベクトルの数が多くなった場合、その対応付けを分割するように、複数の第2セントロイドを生成することにより、効率的な検索を可能にするセントロイド情報を生成することができる。例えば、セントロイドに対応付けられたベクトル数が多い場合には近傍ではないベクトルが結果となる場合等がある。したがって、生成装置100は、各セントロイドに対応付けられるベクトルの数ができる限り均等となるように、画像の登録の変動に応じてセントロイドを調整することにより、セントロイド情報を用いた検索時における性能を向上させることができる。特に、生成装置100は、k最近傍検索の場合、検索結果数が一定であるため、セントロイドに対応付けられたベクトル数を均等にすることにより、より効率的な検索を可能にするという効果を奏することができる。   As described above, when the number of vectors associated with one first centroid (centroid C2) increases, the generation device 100 divides the plurality of second centroids so as to divide the association. By generating, it is possible to generate centroid information that enables efficient search. For example, when the number of vectors associated with a centroid is large, a vector that is not a neighbor may result. Therefore, at the time of searching using centroid information, the generating apparatus 100 adjusts the centroid according to the change in registration of the image so that the number of vectors associated with each centroid becomes as even as possible. Can improve the performance of In particular, in the case of the k nearest neighbor search, since the number of search results is constant, the generating device 100 has the effect of enabling more efficient search by equalizing the number of vectors associated with the centroid. Can be played.

より具体的には、生成装置100は、上記のように1つの第1セントロイドに対応付けられるベクトルが所定の条件を満たす場合、その対応付けを分割するように、複数の第2セントロイドを生成することにより、各セントロイドに対応付けられるベクトルの数の差が所定値以内になるように調整可能となる。このように、生成装置100は、各セントロイドに対応付けられるベクトルの数が均等になるように、所定の条件を満たす第1セントロイドについて複数の第2セントロイドを生成することにより、効率的な検索を可能にするセントロイド情報を生成することができる。例えば、生成装置100が生成したセントロイド情報により、クエリに対応するセントロイドを特定することができるため、そのセントロイドに対応付けられたベクトルを検索結果とすることにより、近傍検索における効率的な検索を可能にすることができる。また、生成装置100は、上述した処理以外にも他の情報の生成処理を行ったり、生成した情報を用いてクエリに対する情報提供を行なったりするが、それらの点についての詳細は後述する。   More specifically, when the vector associated with one first centroid satisfies the predetermined condition as described above, the generating device 100 divides the plurality of second centroids so as to divide the association. By generating, it becomes possible to adjust so that the difference in the number of vectors associated with each centroid is within a predetermined value. As described above, the generating apparatus 100 is efficient by generating a plurality of second centroids for the first centroid satisfying the predetermined condition so that the number of vectors associated with each centroid becomes equal. It is possible to generate centroid information that enables various searches. For example, since the centroid corresponding to the query can be specified by the centroid information generated by the generation device 100, efficient vector search in neighborhood search can be performed by using the vector associated with the centroid as the search result. It can make search possible. In addition, the generation apparatus 100 performs generation processing of other information besides the above-described processing, and performs information provision for a query using the generated information. Details of these points will be described later.

また、上述したように、生成装置100は、全ベクトルデータのうち、セントロイドとなるもののベクトルデータのみをセントロイド情報記憶部122等の記憶部120(図3参照)に格納し、他のベクトルデータについては記憶部120に格納しない。言い換えると、生成装置100は、セントロイド以外のベクトルについてはベクトル識別情報のみを第2インデックス情報記憶部123に格納する。これにより、生成装置100は、格納するベクトル情報のデータ量を抑制しつつ、効率的な検索を可能にするセントロイド情報を生成することができる。   In addition, as described above, the generation device 100 stores only vector data of those that become centroids among all vector data in the storage unit 120 (see FIG. 3) such as the centroid information storage unit 122, and other vectors Data is not stored in the storage unit 120. In other words, the generating apparatus 100 stores only the vector identification information in the second index information storage unit 123 for vectors other than centroids. As a result, the generating apparatus 100 can generate centroid information that enables efficient search while suppressing the data amount of the vector information to be stored.

〔1−1.再併合〕
なお、上述した例では、第2セントロイドを生成する場合を示したが、生成装置100は、生成した第2セントロイドを削除してもよい。すなわち、生成装置100は、第2セントロイドを生成することにより、分割した領域を再併合してもよい。例えば、生成装置100は、画像が削除されること等により画像が検索対象から除外された場合、各セントロイドに対応付けられるベクトルの数が減少した場合、下記のような再併合の処理を行ってもよい。
[1-1. Re-merging]
In the example described above, the case of generating the second centroid is shown, but the generating device 100 may delete the generated second centroid. That is, the generation device 100 may remerge the divided regions by generating the second centroid. For example, when an image is excluded from the search target due to deletion of an image or the like, the generation device 100 performs the following remerging process when the number of vectors associated with each centroid decreases. May be

生成装置100は、複数の第2セントロイドの各々に対応付けられるベクトルの数が所定の閾値以下である場合、複数の第2セントロイドの各々に対応付けられたベクトルを、第1セントロイドに対応付け、第1セントロイドと複数の第2セントロイドとの対応付けを解除してもよい。   When the number of vectors associated with each of the plurality of second centroids is equal to or less than a predetermined threshold, the generating device 100 sets the vector associated with each of the plurality of second centroids as the first centroid. The association may be released between the first centroid and the plurality of second centroids.

例えば、生成装置100は、生成した第2セントロイドであるセントロイドC2−1〜C2−4の各々に対応付けられるベクトルの数が所定の閾値(例えば6個等)以下である場合、セントロイドC2−1〜C2−4の各々に対応付けられたベクトルを、セントロイドC2に対応付けてもよい。例えば、生成装置100は、セントロイドC2−1〜C2−4の各々に対応付けられるベクトルを合算した数が所定の閾値(例えば25個)以下である場合、セントロイドC2−1〜C2−4の各々に対応付けられたベクトルを、セントロイドC2に対応付けてもよい。   For example, if the number of vectors corresponding to each of the generated second centroids C2-1 to C2-4 is equal to or less than a predetermined threshold (for example, six), the generating device 100 may generate the centroid. The vectors associated with each of C2-1 to C2-4 may be associated with the centroid C2. For example, if the total number of vectors corresponding to each of the centroids C2-1 to C2-4 is equal to or less than a predetermined threshold (for example, 25), the generation device 100 may generate the centroids C2-1 to C2-4. The vector associated with each of may be associated with the centroid C2.

また、生成装置100は、生成した複数の第2セントロイドを削除してもよい。例えば、生成装置100は、上述のような領域の再併合を行った場合、生成した複数の第2セントロイドを削除してもよい。図1の例では、生成装置100は、上記のセントロイドC2とベクトルとの直接の対応付けを行い再併合処理に応じて、セントロイドC2−1〜C2−4を第2インデックス情報記憶部123から削除してもよい。   In addition, the generating device 100 may delete the plurality of generated second centroids. For example, the generating apparatus 100 may delete the plurality of generated second centroids when re-merging the area as described above. In the example of FIG. 1, the generating device 100 directly associates the centroid C2 with the vector and performs the second index information storage unit 123 on the centroids C2-1 to C2-4 according to the re-merging process. You may delete it from

例えば、画像が削除されること等により画像が検索対象から除外された場合、各セントロイドに対応付けられるベクトルの数が変動する。具体的には、画像が検索対象から除外された場合、各セントロイドに対応付けられるベクトルの数が減少する。この場合、あるセントロイドに対応付けられるベクトルが少ない場合、そのセントロイドが抽出された場合、対応する検索画像が所望の数に満たない場合がある。また、あるセントロイドに対応付けられるベクトルが無くなる、すなわち0個になった場合、そのセントロイドが抽出された場合、対応する検索画像がないこととなる。しかしながら、上記のように一度分割した領域(セントロイド)を再度併合することにより、各セントロイドに対応付けられるベクトル数をできる限り均等に保つことにより、検索の性能の低下を抑制することができる。   For example, when an image is excluded from the search target due to deletion of the image or the like, the number of vectors associated with each centroid fluctuates. Specifically, when an image is excluded from the search target, the number of vectors associated with each centroid decreases. In this case, when the number of vectors associated with a certain centroid is small, when the centroid is extracted, the number of corresponding search images may be less than the desired number. In addition, when there is no vector associated with a certain centroid, that is, when there are no vectors, when the centroid is extracted, there is no corresponding search image. However, it is possible to suppress a decrease in search performance by keeping the number of vectors associated with each centroid as uniform as possible by re-merging the region (centroid) divided once as described above .

〔1−2.再帰処理〕
また、生成装置100は、セントロイドC2−1〜C2−4をさらに分割するように複数の第2セントロイドを生成してもよい。すなわち、生成装置100は、第2セントロイドであるセントロイドC2−1〜C2−4をさらに分割するように複数の第3セントロイドを生成してもよい。例えば、生成装置100は、第2セントロイドであるセントロイドC2−1に対応付けられるベクトル数が75個になった場合を一例として説明する。
[1-2. Recursive processing]
In addition, the generation device 100 may generate a plurality of second centroids to further divide the centroids C2-1 to C2-4. That is, the generating apparatus 100 may generate a plurality of third centroids to further divide the second centroids, centroids C2-1 to C2-4. For example, the generating device 100 will be described by way of example in which the number of vectors associated with the second centroid, centroid C2-1, is 75.

この場合、例えば、生成装置100は、図9中の第1インデックス情報記憶部121に示すように、セントロイドC2−2から3つの第2セントロイドであるセントロイドC2−2−1〜C2−2−3を生成してもよい。以下では、セントロイドC2−2がセントロイドC2に基づいて生成されたセントロイドであることを明示するために、セントロイドC2−2を第2セントロイドC2−2とする。また、セントロイドC2−2−1〜C2−2−3が第2セントロイドC2に基づいて生成されたセントロイドであることを明示するために、セントロイドC2−2−1〜C2−2−3を第3セントロイドC2−2−1〜C2−2−3とする。   In this case, for example, as illustrated in the first index information storage unit 121 in FIG. 9, the generating device 100 generates three second centroids, ie, centroids C2-2-1 to C2-C2, from the centroid C2-2. 2-3 may be generated. In the following, the centroid C2-2 is referred to as a second centroid C2-2 in order to clarify that the centroid C2-2 is a centroid generated based on the centroid C2. Also, in order to specify that the centroid C2-2-1 to C2-2-3 is a centroid generated based on the second centroid C2, the centroid C2-2-1 to C2-2-2 Let 3 be the third centroid C2-2-1 to C 2-2-3.

例えば、生成装置100は、第2セントロイドC2−2に対応付けられたベクトルの数が閾値「75」に達した場合、3つの第3セントロイドC2−2−1〜C2−2−3を新たに生成する。また、生成装置100は、その第3セントロイドC2−2−1〜C2−2−3に第2セントロイドC2−2に対応付けられた第2ベクトル群を分割して対応付ける。すなわち、生成装置100は、1つの第2セントロイドC2−2に対応付けられたベクトル(対象ベクトル)の数が75に達した場合、各第3セントロイドに対応付けられるベクトルの設定数「25」になるように、75個の対象ベクトルが3つの第3セントロイドに平均的に約25個ずつ対応付けられるように分割する。   For example, when the number of vectors associated with the second centroid C2-2 reaches the threshold value “75”, the generating device 100 generates three third centroids C2-2-1 to C2-2-3. Generate a new one. In addition, the generating device 100 divides the second vector group associated with the second centroid C2-2 into the third centroid C2-2-1 to C2-2-3 and associates them. That is, when the number of vectors (target vectors) associated with one second centroid C 2-2 reaches 75, the generating device 100 sets the number of vectors associated with each third centroid “25 In order to obtain “75,” the 75 target vectors are divided so as to correspond to about every 25 third averages.

例えば、図9の示す例では、生成装置100は、各第3セントロイドに対応付けられるベクトルの数の差ができるだけ小さくなるような第3セントロイドC2−2−1〜C2−2−3を生成する。例えば、図9の空間情報GR11−4中の領域AR2−2−1には、ベクトル識別情報V971等が含まれる。すなわち、生成装置100は、セントロイドC2−2−1にベクトルV971等の約25個のベクトルを対応付ける。また、例えば、図9の空間情報GR11−4中の領域AR2−2−2には、ベクトル識別情報V5003等が含まれる。すなわち、生成装置100は、セントロイドC2−2−2にベクトルV5003等の約25個のベクトルを対応付ける。また、生成装置100は、セントロイドC2−2−3についても同様に、約25個のベクトルを対応付ける。   For example, in the example illustrated in FIG. 9, the generating device 100 generates the third centroid C2-2-1 to C2-2-3 in which the difference in the number of vectors associated with each third centroid is as small as possible. Generate For example, the area AR2-2-1 in the space information GR11-4 in FIG. 9 includes the vector identification information V971 and the like. That is, the generating device 100 associates the centroid C2-2-1 with about 25 vectors such as the vector V971. Further, for example, the area AR 2-2-2 in the space information GR11-4 in FIG. 9 includes the vector identification information V5003 and the like. That is, the generating device 100 associates the centroid C2-2-2 with about 25 vectors such as the vector V5003. Further, the generation device 100 similarly associates approximately 25 vectors with respect to the centroid C2-2-3.

このように、生成装置100は、上述のような75や100等の種々の閾値を適宜用いて生成処理を行ってもよい。また、生成装置100は、上述のように、分割数を3や4等の適宜の数として生成処理を行ってもよい。すなわち、生成装置100は、2個以上の第2セントロイドや第3セントロイド等を生成してもよい。   As described above, the generation device 100 may perform the generation process using various threshold values such as 75 and 100 as described above as appropriate. In addition, as described above, the generation device 100 may perform the generation processing with the number of divisions being an appropriate number such as three or four. That is, the generation device 100 may generate two or more second centroids, third centroids, and the like.

なお、生成装置100は、再帰的に複数のセントロイドを生成する回数を制限してもよい。例えば、生成装置100は、再帰的に複数のセントロイドを生成する回数を2回に制限してもよい。この場合、生成装置100は、図9中の第1インデックス情報記憶部121に示すように、第3階層までのセントロイド(「第3階層のセントロイド」とする)を生成してもよい。そして、この場合、生成装置100は、第3階層までの領域の分割(セントロイドの生成)を行った後、第3階層のセントロイドに対応する領域のベクトルの数が所定の閾値に達した場合、第3階層のセントロイドに対応する領域について、図10に示すような部分領域の生成を行ってもよい。   Note that the generating device 100 may limit the number of times of generating a plurality of centroids recursively. For example, the generating device 100 may limit the number of times of recursively generating a plurality of centroids to two. In this case, as illustrated in the first index information storage unit 121 in FIG. 9, the generating device 100 may generate centroids (“centroids of the third hierarchy”) up to the third hierarchy. Then, in this case, after the generation apparatus 100 performs division of the area up to the third hierarchy (generation of the centroid), the number of vectors of the area corresponding to the centroid of the third hierarchy reaches a predetermined threshold. In this case, partial regions as shown in FIG. 10 may be generated for the region corresponding to the centroid of the third hierarchy.

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

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

情報提供装置50は、ユーザ等に種々の情報提供を行うための情報が格納された情報処理装置である。例えば、情報提供装置50は、ウェブサーバ等の種々の外部装置から収集した文字情報等に基づくベクトル識別情報が格納される。例えば、情報提供装置50は、ユーザ等に画像検索サービスを提供する情報処理装置である。例えば、情報提供装置50は、画像検索サービスを提供するための各情報が格納される。例えば、情報提供装置50は、画像検索サービスの対象となる画像に対応するベクトル情報を生成装置100に提供する。また、情報提供装置50は、クエリを生成装置100に送信することにより、生成装置100からクエリに対応する画像を示すベクトル識別情報等を受信する。   The information providing apparatus 50 is an information processing apparatus in which information for providing various information to a user or the like is stored. For example, the information providing device 50 stores vector identification information based on character information and the like collected from various external devices such as a web server. 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 piece of information for providing an image search service. For example, the information providing device 50 provides the generating device 100 with vector information corresponding to an image to be an object of the image search service. In addition, the information providing device 50 transmits a query to the generating device 100 to receive, from the generating device 100, vector identification information indicating an image corresponding to the query.

生成装置100は、第1セントロイドに対応付けられた第1ベクトル群に関する情報が所定の条件を満たす場合、第1ベクトル群に含まれるベクトルである対象ベクトルの各々が距離に応じて対応付けられる複数の第2セントロイドを生成する。例えば、生成装置100は、第1セントロイドの対象ベクトルの数が所定の閾値以上である場合、複数の第2セントロイドを生成する。また、本実施形態において生成装置100は、クエリを取得した場合、生成した情報に基づいて、クエリに対応するベクトル識別情報を提供する。なお、生成装置100は、情報提供装置50等の種々の外部装置から収集したベクトル情報に基づいてセントロイド情報を生成してもよい。また、生成装置100は、情報提供装置50と一体であってもよい。   When the information on the first vector group associated with the first centroid satisfies a predetermined condition, the generation device 100 associates each of the target vectors that are vectors included in the first vector group according to the distance. Generate multiple second centroids. For example, the generation device 100 generates a plurality of second centroids when the number of target vectors of the first centroid is equal to or greater than a predetermined threshold. Furthermore, in the present embodiment, when acquiring a query, the generating device 100 provides vector identification information corresponding to the query based on the generated information. The generating device 100 may generate centroid information based on vector information collected from various external devices such as the information providing device 50. In addition, the generation device 100 may be integrated with the information providing device 50.

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

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

(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図3に示すように、第1インデックス情報記憶部121と、セントロイド情報記憶部122と、第2インデックス情報記憶部123とを有する。なお、図示を省略するが、第1インデックス情報記憶部121には、上述した第1インデックスに関する各種情報が記憶される。
(Storage unit 120)
The storage unit 120 is realized by, for example, a semiconductor memory device such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk or an optical disk. As illustrated in FIG. 3, the storage unit 120 according to the embodiment includes a first index information storage unit 121, a centroid information storage unit 122, and a second index information storage unit 123. Although not shown, the first index information storage unit 121 stores various types of information related to the above-described first index.

(第1インデックス情報記憶部121)
実施形態に係る第1インデックス情報記憶部121は、第1インデックスに関する各種情報を記憶する。図4は、実施形態に係る第1インデックス情報記憶部の一例を示す図である。具体的には、図4の例では、第1インデックス情報記憶部121は、セントロイド情報に基づいて、ツリー構造のインデックス情報を示す。図4の例では、第1インデックス情報記憶部121は、「第1階層」、「第2階層」、「第3階層」等といった項目が含まれる。なお、「第1階層」〜「第3階層」に限らず、インデックスの階層数に応じて、「第4階層」、「第5階層」、「第6階層」等が含まれてもよい。
(First index information storage unit 121)
The first index information storage unit 121 according to the embodiment stores various types of information related to the first index. FIG. 4 is a diagram showing an example of the first index information storage unit according to the embodiment. Specifically, in the example of FIG. 4, the first index information storage unit 121 indicates tree-structured index information based on centroid information. In the example of FIG. 4, the first index information storage unit 121 includes items such as “first hierarchy”, “second hierarchy”, “third hierarchy”, and the like. In addition to the “first hierarchy” to the “third hierarchy”, the “fourth hierarchy”, the “fifth hierarchy”, the “sixth hierarchy”, and the like may be included according to the number of hierarchies of the index.

「第1階層」は、第1インデックスの第1階層に属するセントロイドを識別(特定)する情報が格納される。「第1階層」に格納されるセントロイドは、第1インデックスの根(ルート)に直接結ばれる階層に対応するノードとなる。例えば、「第1階層」には、第2セントロイドの生成前におけるクラスタリングにより生成されたセントロイドを識別(特定)する情報が格納される。   The “first hierarchy” stores information identifying (specifying) centroids belonging to the first hierarchy of the first index. The centroid stored in the “first hierarchy” is a node corresponding to the hierarchy directly connected to the root of the first index. For example, in the “first hierarchy”, information for identifying (specifying) centroids generated by clustering before the generation of second centroids is stored.

「第2階層」は、第1インデックスの第2階層に属するセントロイドを識別(特定)する情報が格納される。「第2階層」に格納されるセントロイドは、第1階層のセントロイドに結ばれる直下の階層に対応するノードとなる。例えば、「第2階層」には、第1階層のセントロイドに対して生成されたセントロイドを識別(特定)する情報が格納される。例えば、「第2階層」には、第1階層のセントロイドを第1セントロイドとして生成処理を行った場合の第2セントロイドを識別(特定)する情報が格納される。   The “second hierarchy” stores information identifying (specifying) centroids belonging to the second hierarchy of the first index. The centroid stored in the "second hierarchy" is a node corresponding to the hierarchy immediately below the centroid of the first hierarchy. For example, in the “second hierarchy”, information for identifying (specifying) a centroid generated for the centroid in the first hierarchy is stored. For example, in the “second hierarchy”, information for identifying (specifying) the second centroid in the case of performing generation processing with the centroid of the first hierarchy as the first centroid is stored.

「第3階層」は、第1インデックスの第3階層に属するセントロイドを識別(特定)する情報が格納される。「第3階層」に格納されるセントロイドは、第2階層のセントロイドに結ばれる直下の階層に対応するノードとなる。例えば、「第3階層」には、第2階層のセントロイドに対して生成されたセントロイドを識別(特定)する情報が格納される。例えば、「第3階層」には、第2階層のセントロイドを第1セントロイドとして生成処理を行った場合の第2セントロイドを識別(特定)する情報が格納される。例えば、「第3階層」には、第1階層のセントロイドを第1セントロイドとし、第2階層のセントロイドを第2セントロイドとした場合の第3セントロイドを識別(特定)する情報が格納される。   The “third hierarchy” stores information identifying (specifying) centroids belonging to the third hierarchy of the first index. The centroid stored in the “third hierarchy” is a node corresponding to the hierarchy immediately below the centroid of the second hierarchy. For example, the “third hierarchy” stores information for identifying (specifying) a centroid generated for the centroid of the second hierarchy. For example, in the “third hierarchy”, information for identifying (specifying) the second centroid in the case of performing generation processing with the centroid of the second hierarchy as the first centroid is stored. For example, in the “third hierarchy”, information identifying (specifying) the third centroid in the case where the first hierarchy centroid is the first centroid and the second hierarchy centroid is the second centroid is Stored.

例えば、図4に示す例においては、第1インデックス情報記憶部121には、図1中の空間情報GR11−3に対応する情報が記憶される。例えば、第1インデックス情報記憶部121は、第1階層のセントロイドが、セントロイドC1〜C11であることを示す。具体的には、第1インデックス情報記憶部121は、所定のクラスタリングにより生成されたセントロイドが、セントロイドC1〜C11であることを示す。   For example, in the example illustrated in FIG. 4, the first index information storage unit 121 stores information corresponding to the space information GR 11-3 in FIG. 1. For example, the first index information storage unit 121 indicates that the centroids of the first layer are the centroids C1 to C11. Specifically, the first index information storage unit 121 indicates that the centroids generated by the predetermined clustering are centroids C1 to C11.

また、例えば、第1インデックス情報記憶部121は、第2階層のセントロイドが、セントロイドC2−1〜C2−4であることを示す。具体的には、第1インデックス情報記憶部121は、セントロイドC2に対応する第2階層のセントロイドが、セントロイドC2−1〜C2−4であることを示す。   Also, for example, the first index information storage unit 121 indicates that the centroids of the second hierarchy are centroids C2-1 to C2-4. Specifically, the first index information storage unit 121 indicates that the second layer centroid corresponding to the centroid C2 is the centroids C2-1 to C2-4.

なお、第1インデックス情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。   The first index information storage unit 121 is not limited to the above, and may store various information according to the purpose.

(セントロイド情報記憶部122)
実施形態に係るセントロイド情報記憶部122は、セントロイドに関する各種情報を記憶する。例えば、セントロイド情報記憶部122は、セントロイドIDやベクトルデータを記憶する。図5は、実施形態に係るセントロイド情報記憶部の一例を示す図である。図5に示すセントロイド情報記憶部122は、「セントロイドID」、「ベクトルデータ」といった項目が含まれる。
(Centroid information storage unit 122)
The centroid information storage unit 122 according to the embodiment stores various pieces of information related to the centroid. For example, the centroid information storage unit 122 stores centroid ID and vector data. FIG. 5 is a diagram illustrating an example of a centroid information storage unit according to the embodiment. The centroid information storage unit 122 illustrated in FIG. 5 includes items such as “centroid ID” and “vector data”.

「セントロイドID」は、セントロイドを識別するための識別情報を示す。また、「ベクトルデータ」は、セントロイドIDにより識別されるセントロイド(ベクトル)に対応するベクトルデータを示す。   The "centroid ID" indicates identification information for identifying a centroid. Also, “vector data” indicates vector data corresponding to the centroid (vector) identified by the centroid ID.

例えば、図5に示す例においては、セントロイド情報記憶部122には、セントロイドID「C1」により識別されるセントロイド(ベクトル)に対応するベクトルデータは、「10,24,54,2・・・」のN次元ベクトルであることを示す。   For example, in the example shown in FIG. 5, in the centroid information storage unit 122, vector data corresponding to the centroid (vector) identified by the centroid ID “C1” is “10, 24, 54, 2. Indicates that the vector is an N-dimensional vector of

また、例えば、図5に示す例においては、セントロイド情報記憶部122には、セントロイドID「C4」により識別されるセントロイド(ベクトル)に対応するベクトルデータは、「32,1,120,31・・・」のN次元ベクトルであることを示す。   Further, for example, in the example illustrated in FIG. 5, in the centroid information storage unit 122, vector data corresponding to the centroid (vector) identified by the centroid ID “C4” is “32, 1, 120, 31 ... "indicates that the vector is an N-dimensional vector.

なお、セントロイド情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。   The centroid information storage unit 122 is not limited to the above, and may store various information according to the purpose.

(第2インデックス情報記憶部123)
実施形態に係る第2インデックス情報記憶部123は、セントロイド情報記憶部122に記憶された各セントロイドに対応付けられたベクトルを識別する各種情報を記憶する。図6は、実施形態に係る第2インデックス情報記憶部の一例を示す図である。図6の例では、第2インデックス情報記憶部123は、「セントロイドID」、「ベクトルID」といった項目が含まれる。
(Second index information storage unit 123)
The second index information storage unit 123 according to the embodiment stores various types of information for identifying a vector associated with each centroid stored in the centroid information storage unit 122. FIG. 6 is a diagram illustrating an example of a second index information storage unit according to the embodiment. In the example of FIG. 6, the second index information storage unit 123 includes items such as “centroid ID” and “vector ID”.

「セントロイドID」は、セントロイドを識別するための識別情報を示す。また、「ベクトルID」は、セントロイドIDにより識別されるセントロイド(ベクトル)に対応付けられたベクトルを示す。   The "centroid ID" indicates identification information for identifying a centroid. Also, “vector ID” indicates a vector associated with a centroid (vector) identified by the centroid ID.

例えば、図6に示す例においては、第2インデックス情報記憶部123には、セントロイドID「C1」により識別されるセントロイド(ベクトル)に対応付けられたベクトルは、ベクトル識別情報V4、V25、V32、V41、V87等により各々識別されるベクトルであることを示す。   For example, in the example shown in FIG. 6, in the second index information storage unit 123, the vectors associated with the centroid (vector) identified by the centroid ID "C1" are vector identification information V4, V25, It indicates that the vector is identified by V32, V41, V87, etc.

また、例えば、図6に示す例においては、第2インデックス情報記憶部123には、セントロイドID「C4」により識別されるセントロイド(ベクトル)に対応付けられたベクトルは、ベクトル識別情報V9、V12、V34、V54、V85等により各々識別されるベクトルであることを示す。   Also, for example, in the example illustrated in FIG. 6, the second index information storage unit 123 stores the vector identification information V9, which is associated with the centroid (vector) identified by the centroid ID “C4”, It indicates that the vector is identified by V12, V34, V54, V85, etc.

なお、第2インデックス情報記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。   The second index information storage unit 123 is not limited to the above, and may store various information according to the purpose.

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

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

(取得部131)
取得部131は、各種情報を取得する。例えば、取得部131は、第1インデックス情報記憶部121や、セントロイド情報記憶部122や、第2インデックス情報記憶部123等から各種情報を取得する。また、取得部131は、各種情報を外部の情報処理装置から取得する。
(Acquisition unit 131)
The acquisition unit 131 acquires various types of information. For example, the acquisition unit 131 acquires various types of information from the first index information storage unit 121, the centroid information storage unit 122, the second index information storage unit 123, and the like. Further, the acquisition unit 131 acquires various information from an external information processing apparatus.

取得部131は、所定の対象に関するベクトルが距離に応じて対応付けられる第1セントロイドと、第1セントロイドに対応付けられるベクトルとの対応付けを示す対応情報を取得する。取得部131は、データ検索の対象となるベクトルが距離に応じて対応付けられる第1セントロイドと、第1セントロイドに対応付けられるベクトルとの対応付けを示す対応情報を取得する。また、取得部131は、所定のクラスタリング手法によりベクトルが対応付けられた第1セントロイドであって、新たに追加されるベクトルが距離に応じて対応付けられる第1セントロイドの対応情報を取得する。また、取得部131は、対応付けられるベクトルの数の差が所定値以内になるように所定のクラスタリング手法によりベクトルが対応付けられた第1セントロイドであって、新たに追加されるベクトルが距離に応じて対応付けられる第1セントロイドの対応情報を取得する。   The acquisition unit 131 acquires correspondence information indicating correspondence between a first centroid in which a vector related to a predetermined target is associated according to a distance, and a vector associated with the first centroid. The acquisition unit 131 acquires correspondence information indicating correspondence between a first centroid to which a vector to be searched for data is associated according to a distance and a vector associated to the first centroid. The acquiring unit 131 is also a first centroid to which vectors are associated by a predetermined clustering method, and acquires correspondence information of the first centroid to which a newly added vector is associated according to a distance. . In addition, the acquisition unit 131 is a first centroid in which vectors are associated by a predetermined clustering method such that the difference in the number of associated vectors is within a predetermined value, and the vector to be newly added is a distance The correspondence information of the first centroid associated in accordance with is acquired.

例えば、取得部131は、検索対象の各々に対応する複数のベクトル識別情報を取得する。例えば、取得部131は、情報提供装置50から各ベクトル識別情報に関する情報を取得してもよい。例えば、取得部131は、複数のベクトル識別情報を異なるタイミングで取得してもよい。例えば、取得部131は、画像情報が検索対象として追加されたタイミングで、その画像情報に対応するベクトル識別情報を取得してもよい。   For example, the acquisition unit 131 acquires a plurality of pieces of vector identification information corresponding to each of search targets. For example, the acquisition unit 131 may acquire information related to each vector identification information from the information provision device 50. For example, the acquisition unit 131 may acquire a plurality of pieces of vector identification information at different timings. For example, the acquisition unit 131 may acquire vector identification information corresponding to the image information at the timing when the image information is added as a search target.

例えば、取得部131は、検索クエリに関する情報を取得する。例えば、取得部131は、画像検索に関する検索クエリを取得する。図8の例では、取得部131は、ユーザU1が利用する端末装置10からクエリを受け付けた情報提供装置50からクエリを取得する。   For example, the acquisition unit 131 acquires information on a search query. For example, the acquisition unit 131 acquires a search query related to an image search. In the example of FIG. 8, the acquisition unit 131 acquires a query from the information providing device 50 that has received a query from the terminal device 10 used by the user U1.

図1の例では、取得部131は、画像情報に各々対応するベクトル情報を取得する。図1の例では、取得部131は、空間情報GR11等に示すようにベクトル識別情報V3〜V1100等により各々識別される複数のベクトル情報を取得する。例えば、取得部131は、ベクトル識別情報V3〜V1100等を含む多数のベクトル情報を取得する。   In the example of FIG. 1, the acquisition unit 131 acquires vector information respectively corresponding to image information. In the example of FIG. 1, the acquisition unit 131 acquires a plurality of pieces of vector information identified by the vector identification information V3 to V1100 and the like as indicated by the space information GR11 and the like. For example, the acquisition unit 131 acquires many pieces of vector information including the vector identification information V3 to V1100 and the like.

図1の例では、取得部131は、セントロイドに対応付けられるベクトルとの対応付けを示す対応情報を取得する。例えば、取得部131は、情報提供装置50等の外部の情報処理装置から画像情報に各々対応するベクトル情報を取得する。   In the example of FIG. 1, the acquisition unit 131 acquires correspondence information indicating correspondence with a vector associated with a centroid. For example, the acquisition unit 131 acquires vector information corresponding to image information from an external information processing apparatus such as the information providing apparatus 50.

図1の例では、取得部131は、ベクトルの増加を示す情報を取得する。例えば、取得部131は、情報提供装置50に追加された画像に対応するベクトル情報を取得する。例えば、取得部131は、75個の画像の各々に対応するベクトル識別情報V5001〜V5075を情報提供装置50から取得する。   In the example of FIG. 1, the acquisition unit 131 acquires information indicating an increase in vector. For example, the acquisition unit 131 acquires vector information corresponding to the image added to the information providing device 50. For example, the acquisition unit 131 acquires, from the information providing apparatus 50, vector identification information V5001 to V5075 corresponding to each of the 75 images.

(生成部132)
生成部132は、各種情報を生成する。例えば、生成部132は、記憶部120に記憶される各種情報を生成する。例えば、生成部132は、第1インデックス情報記憶部121や、セントロイド情報記憶部122や、第2インデックス情報記憶部123等に記憶される各種情報を生成する。
(Generation unit 132)
The generation unit 132 generates various types of information. For example, the generation unit 132 generates various information stored in the storage unit 120. For example, the generation unit 132 generates various types of information stored in the first index information storage unit 121, the centroid information storage unit 122, the second index information storage unit 123, and the like.

生成部132は、取得部131により取得された対応情報に基づいて、第1セントロイドに対応付けられた第1ベクトル群に関する情報が所定の条件を満たす場合、第1ベクトル群に含まれるベクトルである対象ベクトルの各々が距離に応じて対応付けられる複数の第2セントロイドを生成する。また、生成部132は、対象ベクトルの数が所定の閾値以上である場合、複数の第2セントロイドを生成する。また、生成部132は、対象ベクトルの数に応じた数の複数の第2セントロイドを生成する。   When the information on the first vector group associated with the first centroid satisfies a predetermined condition based on the correspondence information acquired by the acquisition unit 131, the generation unit 132 is a vector included in the first vector group. A plurality of second centroids are generated, each of which is associated with a certain object vector according to the distance. The generation unit 132 also generates a plurality of second centroids when the number of target vectors is equal to or greater than a predetermined threshold. In addition, the generation unit 132 generates a plurality of second centroids whose number corresponds to the number of target vectors.

また、生成部132は、対象ベクトルの数と所定の設定値とに基づく数の複数の第2セントロイドを生成する。また、生成部132は、対象ベクトルの数を所定の設定値により除算した数の複数の第2セントロイドを生成する。また、生成部132は、複数の第2セントロイドを生成した場合、複数の第2セントロイドを第1セントロイドに対応付け、第1ベクトル群に含まれる各ベクトルと第1セントロイドとの対応付けを解除する。   Further, the generation unit 132 generates a plurality of second centroids of a number based on the number of target vectors and a predetermined setting value. The generation unit 132 also generates a plurality of second centroids by dividing the number of target vectors by a predetermined setting value. When the generation unit 132 generates a plurality of second centroids, the generation unit 132 associates the plurality of second centroids with the first centroid, and associates each vector included in the first vector group with the first centroid. Release the attachment.

また、生成部132は、複数の第2セントロイドの各々に対応付けられるベクトルの数が所定の閾値以下である場合、複数の第2セントロイドの各々に対応付けられたベクトルを、第1セントロイドに対応付け、第1セントロイドと複数の第2セントロイドとの対応付けを解除する。また、生成部132は、複数の第2セントロイドを削除する。   In addition, when the number of vectors associated with each of the plurality of second centroids is equal to or less than a predetermined threshold, the generation unit 132 generates the vector associated with each of the plurality of second centroids as the first cent It associates with the Lloyd and cancels the association of the first centroid and the plurality of second centroids. In addition, the generation unit 132 deletes the plurality of second centroids.

また、生成部132は、複数の第2セントロイドのうち、一の第2セントロイドに対応付けられた第2ベクトル群に関する情報が所定の条件を満たす場合、第2ベクトル群に含まれるベクトルである対象ベクトルの各々が距離に応じて対応付けられる複数の第3セントロイドを生成する。   In addition, when the information on the second vector group associated with one second centroid among the plurality of second centroids satisfies the predetermined condition, the generation unit 132 is a vector included in the second vector group. A plurality of third centroids are generated, each of which is associated with a certain object vector according to the distance.

例えば、生成部132は、複数のベクトル情報に基づいて、ベクトル量子化において各ベクトル情報の各々が距離に応じて対応付けられる複数のセントロイド情報であって、各セントロイド情報に対応付けられるベクトル情報の数が均等になるように複数のセントロイド情報を生成する。例えば、生成部132は、複数のベクトル情報から所定の条件に基づいてベクトル情報をセントロイド情報として選択することにより、複数のセントロイド情報を生成する。例えば、生成部132は、複数のベクトル情報から、ランダムサンプリングにより選択されたベクトル情報をセントロイド情報として選択することにより、複数のセントロイド情報を生成する。   For example, the generation unit 132 is a plurality of pieces of centroid information in which each piece of vector information is associated according to a distance in vector quantization based on a plurality of pieces of vector information, and a vector associated with each piece of centroid information Generate multiple sets of centroid information so that the number of pieces of information is even. For example, the generation unit 132 generates a plurality of pieces of centroid information by selecting vector information as centroid information from a plurality of pieces of vector information based on a predetermined condition. For example, the generation unit 132 generates a plurality of pieces of centroid information by selecting vector information selected by random sampling as centroid information from a plurality of pieces of vector information.

例えば、生成部132は、所定の検索要求に対して、セントロイド情報の特定に用いる第1インデックス情報を生成する。例えば、生成部132は、高次元ベクトルを検索する検索インデックスを第1インデックス情報として生成する。例えば、生成部132は、複数のセントロイド情報に関する木構造型のインデックス、または、グラフ構造型のインデックスを第1インデックス情報として生成する。   For example, the generation unit 132 generates, for a predetermined search request, first index information used to specify centroid information. For example, the generation unit 132 generates, as first index information, a search index for searching a high-dimensional vector. For example, the generation unit 132 generates a tree structure type index or a graph structure type index related to a plurality of pieces of centroid information as first index information.

例えば、生成部132は、各セントロイド情報と、当該各セントロイド情報に対応付けられたベクトル情報とを示す第2インデックス情報を生成する。例えば、生成部132は、各セントロイド情報に対応付けられたベクトル情報を特定する転置インデックスを第2インデックス情報として生成する。   For example, the generation unit 132 generates second index information indicating each centroid information and vector information associated with each centroid information. For example, the generation unit 132 generates, as second index information, a transposed index that specifies vector information associated with each piece of centroid information.

例えば、生成部132は、各ベクトル情報を分割した各部分ベクトルを量子化するベクトル量子化に基づいて、各セントロイド情報に対応付けられるベクトル情報の数が均等になるように複数のセントロイド情報を生成する。例えば、生成部132は、各セントロイド情報に対応する領域に含まれるベクトル情報に基づいて、当該領域が分割された複数の部分領域に対応する部分セントロイド情報を生成する。例えば、生成部132は、各セントロイド情報に対応する領域に含まれるベクトル情報に関する残差ベクトル情報に基づいて、当該領域が分割された複数の部分領域に対応する部分セントロイド情報を生成する。例えば、生成部132は、各セントロイド情報と、当該各セントロイド情報に対応する領域に含まれるベクトル情報により生成される残差ベクトル情報に基づいて、当該領域が分割された複数の部分領域に対応する部分セントロイド情報を生成する。例えば、生成部132は、各部分領域の部分セントロイド情報と、当該各部分領域内に含まれるベクトル情報とを対応付けた対応付情報を生成する。例えば、生成部132は、各セントロイド情報と、当該各セントロイド情報の各部分領域内に対応する各部分セントロイド情報とにより生成される残差ベクトル情報に基づいて、対応付情報を生成する。   For example, the generation unit 132 generates a plurality of pieces of centroid information so that the number of pieces of vector information associated with each piece of centroid information is equal based on vector quantization that quantizes each partial vector obtained by dividing each piece of vector information. Generate For example, the generation unit 132 generates partial centroid information corresponding to a plurality of partial regions into which the region is divided, based on vector information included in the region corresponding to each piece of centroid information. For example, the generation unit 132 generates partial centroid information corresponding to a plurality of partial regions into which the region is divided, based on residual vector information on vector information included in the region corresponding to each piece of centroid information. For example, based on each centroid information and residual vector information generated by vector information included in a region corresponding to each centroid information, the generation unit 132 divides the region into a plurality of divided partial regions. Generate corresponding partial centroid information. For example, the generation unit 132 generates association information in which partial centroid information of each partial region is associated with vector information included in each partial region. For example, the generation unit 132 generates correspondence information based on residual vector information generated by each centroid information and each partial centroid information corresponding to each partial region of the respective centroid information. .

また、生成部132は、ベクトルをセントロイドとして選択することにより、複数の第1セントロイド情報等のセントロイド情報を生成してもよい。例えば、生成部132は、所定の回数ランダムサンプリングを行い、最も均等にベクトルがクラスタリングされるベクトル(セントロイド)の組合せに基づいて、複数のセントロイド情報を生成してもよい。また、例えば、生成部132は、最も均等にベクトルがクラスタリングされるセントロイドの組合せのうち、平均値からの乖離が大きいセントロイドを近接する他のベクトルに変更することにより、各セントロイドに対応付けられるベクトルの数が均等になるような複数のセントロイド情報を生成してもよい。   Further, the generation unit 132 may generate centroid information such as a plurality of first centroid information by selecting a vector as a centroid. For example, the generation unit 132 may perform random sampling a predetermined number of times, and generate a plurality of pieces of centroid information based on a combination of vectors (centroids) in which the vectors are clustered most evenly. Also, for example, the generation unit 132 corresponds to each centroid by changing a centroid with a large deviation from the average value to another vector in the vicinity among the combinations of centroids in which the vectors are clustered most evenly. A plurality of pieces of centroid information may be generated such that the number of vectors to be attached is even.

例えば、生成部132は、所定の回数ランダムサンプリングを行い、各クラスタに含まれるベクトルの数の差が最も小さくベクトルがクラスタリングされるセントロイドの組合せに基づいて、複数のセントロイド情報を生成する。例えば、生成部132は、所定の回数ランダムサンプリングを行い、最も均等にベクトルがクラスタリングされるセントロイドの組合せに基づいて、複数のセントロイド情報を生成する。また、例えば、生成部132は、最も均等にベクトルがクラスタリングされるセントロイドの組合せのうち、平均値からの乖離が大きいセントロイドを近接する他のベクトルに変更することにより、各セントロイドに対応付けられるベクトルの数が均等になるような複数のセントロイド情報を生成してもよい。また、例えば、生成部132は、各クラスタに含まれるベクトルの数の差が所定値(例えば、5や10等)以下になった場合、ランダムサンプリングを終了し、そのセントロイドの組合せに基づいて、複数のセントロイド情報を生成してもよい。例えば、生成部132は、最多のベクトルが含まれるクラスタと最少のベクトルが含まれるクラスタとの差が所定値(例えば、1や50等)以下になった場合、ランダムサンプリングを終了し、そのセントロイドの組合せに基づいて、複数のセントロイド情報を生成してもよい。また、例えば、生成部132は、各クラスタに含まれるベクトルの数の差が「0」、すなわち各クラスタに含まれるベクトルの数が同一になった場合、ランダムサンプリングを終了し、そのセントロイドの組合せに基づいて、複数のセントロイド情報を生成してもよい。   For example, the generation unit 132 performs random sampling a predetermined number of times, and generates a plurality of pieces of centroid information based on a combination of centroids in which the difference in the number of vectors included in each cluster is the smallest and vectors are clustered. For example, the generation unit 132 performs random sampling a predetermined number of times, and generates a plurality of pieces of centroid information based on a combination of centroids in which vectors are clustered most evenly. Also, for example, the generation unit 132 corresponds to each centroid by changing a centroid with a large deviation from the average value to another vector in the vicinity among the combinations of centroids in which the vectors are clustered most evenly. A plurality of pieces of centroid information may be generated such that the number of vectors to be attached is even. Also, for example, when the difference in the number of vectors included in each cluster becomes equal to or less than a predetermined value (for example, 5 or 10), the generation unit 132 ends the random sampling, and based on the combination of the centroids. , And may generate a plurality of centroid information. For example, when the difference between the cluster including the largest number of vectors and the cluster including the smallest number of vectors becomes equal to or less than a predetermined value (for example, 1 or 50), the generation unit 132 ends the random sampling. Multiple centroid information may be generated based on a combination of Lloyds. Also, for example, when the difference in the number of vectors included in each cluster is “0”, that is, the number of vectors included in each cluster is the same, the generation unit 132 ends the random sampling, and Multiple centroid information may be generated based on the combination.

例えば、生成部132は、各セントロイドに対応付けられたベクトルに基づいて第2インデックス情報を生成してもよい。例えば、生成部132は、各セントロイドに対応する領域AR1〜AR11等の各々に含まれるベクトルを識別する情報をセントロイドIDに対応付けた第2インデックス情報を生成する。また、生成部132は、クエリを取得した際に対応するセントロイドを特定するために用いる第1インデックス情報を生成する。   For example, the generation unit 132 may generate the second index information based on the vector associated with each centroid. For example, the generation unit 132 generates second index information in which information identifying a vector included in each of the areas AR1 to AR11 and the like corresponding to each centroid is associated with a centroid ID. In addition, the generation unit 132 generates first index information used to specify a centroid corresponding to the time of acquiring a query.

図1の例では、生成部132は、所定のクラスタリング手法により、複数のベクトルをクラスタリングする。例えば、生成部132は、所定のクラスタリング手法により、セントロイドに対応付けられるベクトルの数の差が均一になるように複数のベクトルをクラスタリングする。例えば、生成部132は、各セントロイドに対応付けられるベクトルの数の差が所定値以内になるような複数のセントロイド情報を生成する。例えば、生成部132は、各セントロイドに対応付けられるベクトルの数が均等になるような複数のセントロイド情報を生成する。   In the example of FIG. 1, the generation unit 132 clusters a plurality of vectors by a predetermined clustering method. For example, the generation unit 132 clusters the plurality of vectors by a predetermined clustering method so that the difference in the number of vectors associated with the centroid becomes uniform. For example, the generation unit 132 generates a plurality of pieces of centroid information such that the difference in the number of vectors associated with each centroid is within a predetermined value. For example, the generation unit 132 generates a plurality of pieces of centroid information such that the number of vectors associated with each centroid is equal.

図1の例では、生成部132は、図1中の空間情報GR11に示すように、ベクトル識別情報C1、C2、C3、C4、C5、C6、C7、C8、C9、C10、C11をセントロイドとするセントロイド情報を生成する。生成部132は、セントロイド情報記憶部122−1に示すような複数のセントロイド情報を生成する。   In the example of FIG. 1, as shown by the space information GR11 in FIG. 1, the generation unit 132 centroids the vector identification information C1, C2, C3, C4, C5, C6, C7, C7, C8, C9, C10, and C11. Generate centroid information. The generation unit 132 generates a plurality of pieces of centroid information as shown in the centroid information storage unit 122-1.

また、生成部132は、各セントロイドに対応付けられたベクトルに基づいて第2インデックス情報を生成する。例えば、生成部132は、各セントロイドに対応する領域AR1〜AR11等の各々に含まれるベクトルを識別する情報をセントロイドIDに対応付けた第2インデックス情報を生成する。   In addition, the generation unit 132 generates second index information based on the vector associated with each centroid. For example, the generation unit 132 generates second index information in which information identifying a vector included in each of the areas AR1 to AR11 and the like corresponding to each centroid is associated with a centroid ID.

図1の例では、セントロイドC2に100個のベクトルが対応付けられたため、生成部132は、閾値に達したと判定し、セントロイドを生成する。例えば、生成部132は、第1セントロイドであるセントロイドC2に対応する4つの第2セントロイドを生成する。例えば、生成部132は、セントロイドC2に対応付けられた100個のベクトルを4分割するように、クラスタリングを行うことにより、4つの第2セントロイドであるセントロイドC2−1〜C2−4を生成する。例えば、生成部132は、領域AR2を4つの領域に分割するようにクラスタリングを行うことにより、4つの第2セントロイドであるセントロイドC2−1〜C2−4を生成する。   In the example of FIG. 1, since 100 vectors are associated with the centroid C2, the generation unit 132 determines that the threshold is reached, and generates a centroid. For example, the generation unit 132 generates four second centroids corresponding to the first centroid, the centroid C2. For example, the generating unit 132 performs clustering so as to divide the 100 vectors associated with the centroid C2 into four to generate four second centroids, centroids C2-1 to C2-4. Generate For example, the generating unit 132 generates four centroids C2-1 to C2-4, which are four second centroids, by performing clustering so as to divide the area AR2 into four areas.

また、図1の例では、生成部132は、各セントロイドC2−1〜C2−4に対応する領域AR2−1〜AR2−4の各々に含まれるベクトルを識別する情報をセントロイドC2−1〜C2−4に対応付けた第2インデックス情報を生成する。   Further, in the example of FIG. 1, the generation unit 132 generates information for identifying a vector included in each of the areas AR2-1 to AR2-4 corresponding to the respective centroids C2-1 to C2-4 as the centroid C2-1. The second index information associated with C2-4 is generated.

(抽出部133)
抽出部133は、各種情報を選択する。例えば、抽出部133は、ベクトル識別情報を選択する。例えば、抽出部133は、取得部131により取得されたクエリに基づいてセントロイド情報を選択する。
(Extraction unit 133)
The extraction unit 133 selects various information. For example, the extraction unit 133 selects vector identification information. For example, the extraction unit 133 selects centroid information based on the query acquired by the acquisition unit 131.

図8の例では、抽出部133は、クエリ情報QE11を用いてセントロイドを抽出する。例えば、抽出部133は、第1インデックス情報記憶部121に記憶された第1インデックス情報に基づいて、クエリ情報QE11に対応するセントロイドを特定し、抽出する。例えば、抽出部133は、種々の従来技術を適宜用いて、クエリ情報QE11における特徴領域を特定し、特徴領域における特徴量を局所特徴量として算出する。例えば、抽出部133は、種々の従来技術を適宜用いて、クエリ情報QE11における局所特徴量を抽出する。   In the example of FIG. 8, the extraction unit 133 extracts a centroid using the query information QE11. For example, the extraction unit 133 specifies and extracts a centroid corresponding to the query information QE11 based on the first index information stored in the first index information storage unit 121. For example, the extraction unit 133 specifies a feature area in the query information QE11 by using various conventional techniques as appropriate, and calculates a feature quantity in the feature area as a local feature quantity. For example, the extraction unit 133 extracts local feature quantities in the query information QE11 using various conventional techniques as appropriate.

図8の例では、抽出部133は、セントロイド情報記憶部122からセントロイドID「C2−1」により識別されるセントロイド情報を抽出する。例えば、抽出部133は、空間情報GR11において、クエリ情報QE11がセントロイドのうち、セントロイドID「C2−1」により識別されるセントロイドと最も近いため、セントロイドID「C2−1」により識別されるセントロイド情報を抽出する。例えば、抽出部133は、セントロイド情報に基づいて、ベクトルを抽出する。例えば、抽出部133は、セントロイド情報に基づいて、クエリ情報QE11に類似するベクトルを抽出する。例えば、抽出部133は、セントロイド情報に基づいて第2インデックス情報記憶部123からベクトルを抽出する。   In the example of FIG. 8, the extraction unit 133 extracts centroid information identified by the centroid ID “C2-1” from the centroid information storage unit 122. For example, since the extraction unit 133 is closest to the centroid identified by the centroid ID “C2-1” in the spatial information GR11, the query information QE11 is identified by the centroid ID “C2-1”. Extracted centroid information. For example, the extraction unit 133 extracts a vector based on centroid information. For example, the extraction unit 133 extracts a vector similar to the query information QE11 based on centroid information. For example, the extraction unit 133 extracts a vector from the second index information storage unit 123 based on centroid information.

図8の例では、抽出部133は、第2インデックス情報記憶部123にセントロイドID「C2−1」により識別されるセントロイド(ベクトル)に対応付けられて記憶されたベクトル識別情報V66、V5001、V5004等を抽出する。   In the example of FIG. 8, the extraction unit 133 stores vector identification information V66 and V5001 stored in the second index information storage unit 123 in association with the centroid (vector) identified by the centroid ID “C2-1”. , V5004 and so on.

(提供部134)
提供部134は、各種情報を提供する。例えば、提供部134は、端末装置10や情報提供装置50に各種情報を提供する。例えば、提供部134は、外部の情報処理装置に記憶部120に記憶された各種情報を提供する。例えば、提供部134は、空間情報GR11等の各種情報を提供する。
(Provision unit 134)
The providing unit 134 provides various information. For example, the providing unit 134 provides various information to the terminal device 10 and the information providing device 50. For example, the providing unit 134 provides various information stored in the storage unit 120 to an external information processing apparatus. For example, the providing unit 134 provides various types of information such as space information GR11.

例えば、提供部134は、クエリに対応するベクトル識別情報を検索結果として提供する。例えば、提供部134は、抽出部133により選択されたベクトル識別情報を情報提供装置50へ提供する。図8の例では、提供部134は、抽出部133により選択されたベクトル識別情報をクエリに対応するベクトルを示す情報として情報提供装置50に提供する。図8の例では、提供部134は、ベクトル識別情報V66、V5001、V5004等をクエリに対応するベクトルを示す情報として情報提供装置50に提供する。また、提供部134は、セントロイドC2−1に対応する実データ(画像データ)がある場合、セントロイドC2−1のベクトル情報も情報提供装置50に提供してもよい。   For example, the providing unit 134 provides vector identification information corresponding to a query as a search result. For example, the providing unit 134 provides the information providing apparatus 50 with the vector identification information selected by the extracting unit 133. In the example of FIG. 8, the providing unit 134 provides the information providing apparatus 50 with the vector identification information selected by the extracting unit 133 as information indicating a vector corresponding to a query. In the example of FIG. 8, the providing unit 134 provides the vector identification information V66, V5001, V5004 and the like to the information providing apparatus 50 as information indicating a vector corresponding to the query. Further, when there is actual data (image data) corresponding to the centroid C2-1, the providing unit 134 may also provide the information providing apparatus 50 with vector information of the centroid C2-1.

図8の例では、提供部134は、抽出部133により抽出されたベクトルを識別する情報を情報提供装置50に提供する。例えば、提供部134は、セントロイドとして抽出されたセントロイドC2−1に対応する領域AR2−1内に位置するベクトル識別情報V66、V5001、V5004等を情報提供装置50に提供する。例えば、提供部134は、セントロイドとして抽出されたベセントロイドC2−1に対応するベクトル識別情報V66、V5001、V5004等を含む25のベクトル識別情報を情報提供装置50に提供する。   In the example of FIG. 8, the providing unit 134 provides the information providing apparatus 50 with information for identifying the vector extracted by the extracting unit 133. For example, the providing unit 134 provides the information providing apparatus 50 with vector identification information V66, V5001, V5004 and the like located in the area AR2-1 corresponding to the centroid C2-1 extracted as a centroid. For example, the providing unit 134 provides the information providing apparatus 50 with 25 pieces of vector identification information including vector identification information V66, V5001, V5004 and the like corresponding to the centroid C2-1 extracted as a centroid.

〔4.生成処理のフロー〕
次に、図7を用いて、実施形態に係る生成システム1による生成処理の手順について説明する。図7は、実施形態に係る生成処理の一例を示すフローチャートである。
[4. Flow of generation process]
Next, a procedure of generation processing by the generation system 1 according to the embodiment will be described using FIG. 7. FIG. 7 is a flowchart illustrating an example of the generation process according to the embodiment.

図7に示すように、生成装置100は、第1セントロイドと、第1セントロイドに対応付けられるベクトルとの対応付けを示す対応情報を取得する(ステップS101)。図1の例では、生成装置100は、第2インデックス情報記憶部123に記憶されたセントロイドC2に関する対応情報を取得する。具体的には、生成装置100は、セントロイドC2にベクトルV33、V66、V81、V112、V971等が対応付けられた対応情報を第2インデックス情報記憶部123から取得する。   As illustrated in FIG. 7, the generating apparatus 100 acquires correspondence information indicating correspondence between the first centroid and the vector associated with the first centroid (step S101). In the example of FIG. 1, the generating device 100 acquires correspondence information on the centroid C2 stored in the second index information storage unit 123. Specifically, the generating apparatus 100 acquires, from the second index information storage unit 123, correspondence information in which the vectors V33, V66, V81, V112, V971 and the like are associated with the centroid C2.

その後、生成装置100は、第1セントロイドに対応付けられた第1ベクトル群に関する情報が所定の条件を満たす場合、複数の第2セントロイドを生成する(ステップS102)。例えば、生成装置100は、セントロイドに対応付けられたベクトルの数が所定の閾値以上である場合、複数の第2セントロイドを生成する。図1の例では、生成装置100は、第1セントロイドとしてのセントロイドC2に対応付けられたベクトルの数が「100」であるため、ベクトル数「100」を設定値「25」で除算した数「4」に基づいて、4つの第2セントロイドを生成する。具体的には、生成装置100は、4つの第2セントロイドC2−1、C2−2、C2−3、C2−4を生成する。   After that, when the information on the first vector group associated with the first centroid satisfies a predetermined condition, the generation apparatus 100 generates a plurality of second centroids (step S102). For example, when the number of vectors associated with a centroid is equal to or greater than a predetermined threshold, the generating apparatus 100 generates a plurality of second centroids. In the example of FIG. 1, the generating device 100 divides the number of vectors “100” by the setting value “25” because the number of vectors associated with the centroid C2 as the first centroid is “100”. Based on the number "4", four second centroids are generated. Specifically, the generating device 100 generates four second centroids C2-1, C2-2, C2-3, and C2-4.

〔5.情報の提供について〕
次に、図8を用いて、実施形態に係る生成システム1による情報提供について説明する。図8は、実施形態に係るクエリに対応する情報の提供の一例を示す図である。図8の例では、情報提供装置50が端末装置10から取得したクエリに応じて、端末装置10に検索結果を提供する場合を示す。具体的には、情報提供装置50が生成装置100から取得したベクトル識別情報に基づいてユーザに検索結果として画像情報を提供する場合を示す。図8の例では、情報提供装置50がk最近傍検索による画像検索サービスを提供する場合を一例として説明する。例えば、k最近傍検索では、検索クエリからの距離が近い方からk個のベクトルを検索(抽出)する。なお、以下では説明を簡単にするために、「k」が「6」である場合を示す。
[5. About provision of information]
Next, information provision by the generation system 1 according to the embodiment will be described using FIG. 8. FIG. 8 is a diagram illustrating an example of provision of information corresponding to a query according to the embodiment. The example of FIG. 8 shows the case where the information providing device 50 provides the terminal device 10 with the search result in response to the query acquired from the terminal device 10. Specifically, the case where the information providing apparatus 50 provides image information as a search result to the user based on the vector identification information acquired from the generating apparatus 100 is shown. In the example of FIG. 8, the case where the information providing apparatus 50 provides the image search service by the k nearest neighbor search will be described as an example. For example, in the k nearest neighbor search, k vectors are searched (extracted) from the side closer to the search query. In addition, below, in order to simplify description, the case where "k" is "6" is shown.

まず、情報提供装置50は、ユーザU1が利用する端末装置10からクエリを取得する(ステップS21)。図8の例では、情報提供装置50は、端末装置10からクエリ情報QE11を取得する。例えば、情報提供装置50は、端末装置10から画像情報をクエリ情報QE11として取得する。   First, the information providing device 50 acquires a query from the terminal device 10 used by the user U1 (step S21). In the example of FIG. 8, the information providing device 50 acquires the query information QE11 from the terminal device 10. For example, the information providing device 50 acquires image information from the terminal device 10 as the query information QE11.

そして、情報提供装置50は、生成装置100にクエリを送信する(ステップS22)。図8の例では、情報提供装置50は、端末装置10から取得したクエリ情報QE11を生成装置100に送信する。そして、生成装置100は、画像情報をクエリ情報QE11として取得する。   Then, the information providing device 50 transmits a query to the generating device 100 (step S22). In the example of FIG. 8, the information providing device 50 transmits the query information QE11 acquired from the terminal device 10 to the generating device 100. Then, the generating device 100 acquires image information as the query information QE11.

その後、生成装置100は、クエリ情報QE11を用いてセントロイドを抽出する(ステップS23)。例えば、生成装置100は、第1インデックス情報記憶部121に記憶された第1インデックス情報に基づいて、クエリ情報QE11に対応するセントロイドを特定し、抽出する。   Thereafter, the generating apparatus 100 extracts centroids using the query information QE11 (step S23). For example, based on the first index information stored in the first index information storage unit 121, the generation apparatus 100 identifies and extracts a centroid corresponding to the query information QE11.

例えば、生成装置100は、種々の従来技術を適宜用いて、クエリ情報QE11における特徴領域を特定し、特徴領域における特徴量を局所特徴量として算出する。例えば、生成装置100は、種々の従来技術を適宜用いて、クエリ情報QE11における局所特徴量を抽出する。   For example, the generation apparatus 100 specifies a feature area in the query information QE11 using various conventional techniques as appropriate, and calculates a feature quantity in the feature area as a local feature quantity. For example, the generation apparatus 100 extracts local feature quantities in the query information QE11 using various conventional techniques as appropriate.

また、例えば、生成装置100は、クエリ情報QE11からBoFに関する情報を生成する。そして、生成装置100は、第1インデックス情報記憶部121に記憶された第1インデックス情報に基づいて、クエリ情報QE11のBoFに関する情報と類似するBoFを検索することにより、セントロイドを特定する。   Also, for example, the generating device 100 generates information on BoF from the query information QE11. Then, based on the first index information stored in the first index information storage unit 121, the generating apparatus 100 specifies a centroid by searching for BoFs similar to the information related to the BoF of the query information QE11.

例えば、生成装置100は、クエリ情報QE11のBoFに関する情報に最も近いBoF表現を、第1インデックス情報記憶部121に記憶された第1インデックス情報を用いて検索する。なお、生成装置100は、クエリ情報QE11のBoFに関する情報と、検索で抽出されたセントロイドのBoFに関する情報との距離が所定の閾値以上であった場合、クエリ情報QE11に対応するベクトル情報はないと判定してもよい。なお、生成装置100は、セントロイドの抽出を、特許文献2に記載されるような種々の従来技術を適宜用いて行ってもよい。例えば、生成装置100は、特許文献2に記載される処理により、特徴点座標の照合を行うことにより、クエリ情報QE11と、抽出したセントロイドに対応する画像との類似性の確信度を検証してもよい。   For example, the generating apparatus 100 searches for a BoF expression closest to the information on BoF of the query information QE11 using the first index information stored in the first index information storage unit 121. When the distance between the information on BoF of the query information QE11 and the information on BoF of the centroid extracted in the search is equal to or greater than a predetermined threshold, the generating device 100 has no vector information corresponding to the query information QE11. It may be determined that The generation apparatus 100 may appropriately extract centroids using various conventional techniques as described in Patent Document 2. For example, the generation device 100 verifies the degree of certainty of similarity between the query information QE11 and the image corresponding to the extracted centroid by performing matching of feature point coordinates by the process described in Patent Document 2. May be

図8の例では、生成装置100は、セントロイド情報記憶部122からセントロイドID「C2−1」により識別されるセントロイド情報を抽出する。例えば、生成装置100は、空間情報GR11において、クエリ情報QE11がセントロイドのうち、セントロイドID「C2−1」により識別されるセントロイドと最も近いため、セントロイドID「C2−1」により識別されるセントロイド情報を抽出する。   In the example of FIG. 8, the generating device 100 extracts centroid information identified by the centroid ID “C2-1” from the centroid information storage unit 122. For example, since the generation device 100 is closest to the centroid identified by the centroid ID “C2-1” in the spatial information GR11, the query information QE11 is identified by the centroid ID “C2-1”. Extracted centroid information.

そして、生成装置100は、セントロイド情報に基づいて、ベクトルを抽出する(ステップS24)。例えば、生成装置100は、セントロイド情報に基づいて、クエリ情報QE11に類似するベクトルを抽出する。例えば、生成装置100は、セントロイド情報に基づいて第2インデックス情報記憶部123からベクトルを抽出する。   Then, the generating apparatus 100 extracts a vector based on the centroid information (step S24). For example, the generating apparatus 100 extracts a vector similar to the query information QE11 based on centroid information. For example, the generating apparatus 100 extracts a vector from the second index information storage unit 123 based on centroid information.

図8の例では、生成装置100は、第2インデックス情報記憶部123にセントロイドID「C2−1」により識別されるセントロイド(ベクトル)に対応付けられて記憶されたベクトル識別情報V66、V5001、V5004等を抽出する。例えば、図8では、セントロイドC2−1に対応する領域AR2−1内に位置するベクトル識別情報V66、V5001、V5004等を含む25のベクトル識別情報(ベクトル)が抽出されるものとする。   In the example of FIG. 8, the generating device 100 stores the vector identification information V66 and V5001 stored in the second index information storage unit 123 in association with the centroid (vector) identified by the centroid ID “C2-1”. , V5004 and so on. For example, in FIG. 8, it is assumed that 25 vector identification information (vectors) including the vector identification information V66, V5001, V5004 and the like located in the area AR2-1 corresponding to the centroid C2-1 are extracted.

その後、生成装置100は、抽出したベクトルを識別する情報を情報提供装置50に提供する(ステップS25)。図8の例では、生成装置100は、セントロイドとして抽出されたベセントロイドC2−1に対応するベクトル識別情報V66、V5001、V5004等を含む25のベクトル識別情報を情報提供装置50に提供する。   Thereafter, the generating device 100 provides the information providing device 50 with information for identifying the extracted vector (step S25). In the example of FIG. 8, the generating device 100 provides the information providing device 50 with 25 pieces of vector identification information including the vector identification information V66, V5001, V5004 and the like corresponding to the VC centroid extracted as a centroid.

生成装置100からベクトルを識別する情報を受信した情報提供装置50は、受信したベクトルを識別する情報に対応付けられた画像情報を端末装置10に提供する(ステップS26)。例えば、情報提供装置50は、生成装置100から受信したベクトルを識別する情報に対応付けられた画像情報をクエリ情報QE11に対応する検索結果として端末装置10に提供する。図8の例では、生成装置100からベクトル識別情報V66、V5001、V5004等を受信した情報提供装置50は、ベクトル識別情報V66、V5001、V5004等の各々に対応する画像情報を端末装置10に提供する。例えば、情報提供装置50は、ベクトル識別情報V66、V5001、V5004等の各々に対応する画像情報とクエリ情報QE11との類似度を算出し、類似度に応じた順序で並んだ画像情報を端末装置10に提供してもよい。   The information providing device 50 that has received the information identifying the vector from the generating device 100 provides the terminal device 10 with the image information associated with the received information identifying the vector (step S26). For example, the information providing device 50 provides the terminal device 10 with the image information associated with the information identifying the vector received from the generating device 100 as a search result corresponding to the query information QE11. In the example of FIG. 8, the information providing device 50 that has received the vector identification information V66, V5001, V5004, etc. from the generation device 100 provides the terminal device 10 with image information corresponding to each of the vector identification information V66, V5001, V5004, etc. Do. For example, the information providing device 50 calculates the degree of similarity between the image information corresponding to each of the vector identification information V66, V5001, V500 etc. and the query information QE11, and the terminal device is the image information arranged in the order according to the degree of similarity. You may provide to ten.

〔6.第1インデックス〕
また、生成装置100は、クエリを取得した際に対応するセントロイドを特定するために、第1インデックス情報を用いてもよい。この点について、図9を用いて説明する。図9は、実施形態に係る第1インデックス情報の概念図を示す図である。
[6. 1st index]
In addition, the generating apparatus 100 may use the first index information to specify the corresponding centroid when acquiring the query. This point will be described with reference to FIG. FIG. 9 is a schematic diagram of first index information according to the embodiment.

図1の例では、生成装置100は、クエリを取得した際に対応するセントロイドを特定するために、図4の第1インデックス情報記憶部121に示すような第1インデックス情報を生成する。また、生成装置100は、生成処理によるセントロイドの生成に応じて、第1インデックス情報記憶部121の情報を更新する。   In the example of FIG. 1, the generating apparatus 100 generates first index information as shown in the first index information storage unit 121 of FIG. 4 in order to specify a corresponding centroid when acquiring a query. In addition, the generating device 100 updates the information in the first index information storage unit 121 according to the generation of the centroid by the generation process.

図9の第1インデックス情報記憶部121は、生成装置100がセントロイドC2−2に対してさらに第2セントロイドを生成した場合を示す。例えば、図9の示す例では、生成装置100は、第3セントロイドC2−2−1〜C2−2−3を生成する。   The first index information storage unit 121 of FIG. 9 shows a case where the generating device 100 further generates a second centroid for the centroid C2-2. For example, in the example illustrated in FIG. 9, the generating device 100 generates the third centroids C2-2-1 to C2-2-3.

図9中の第1インデックス情報記憶部121に示す「第3階層」には、セントロイドC2−2の第2セントロイドが格納される。例えば、図9の第1インデックス情報記憶部121は、第3階層のセントロイドが、セントロイドC2−2−1〜C2−2−3であることを示す。具体的には、図9の第1インデックス情報記憶部121は、第2階層のセントロイドC2−2に対応する第3階層のセントロイドが、セントロイドC2−2−1〜C2−2−3であることを示す。   In the “third hierarchy” shown in the first index information storage unit 121 in FIG. 9, the second centroid of the centroid C2-2 is stored. For example, the first index information storage unit 121 in FIG. 9 indicates that the centroid in the third layer is the centroid C2-2-1 to C2-2-3. Specifically, in the first index information storage unit 121 of FIG. 9, the centroid of the third hierarchy corresponding to the centroid C2-2 of the second hierarchy is the centroid C 2-2-1 to C2-2-3. To indicate that

また、この場合のセントロイドC2に対応する領域AR2内は、図9の空間情報GR11−4に示すようになる。例えば、図9の空間情報GR11−4中の領域AR2−2−1には、ベクトル識別情報V971等が含まれる。また、例えば、図9の空間情報GR11−4中の領域AR2−2−2には、ベクトル識別情報V5003等が含まれる。   Further, the inside of the area AR2 corresponding to the centroid C2 in this case is as shown in space information GR11-4 in FIG. For example, the area AR2-2-1 in the space information GR11-4 in FIG. 9 includes the vector identification information V971 and the like. Further, for example, the area AR 2-2-2 in the space information GR11-4 in FIG. 9 includes the vector identification information V5003 and the like.

例えば、生成装置100は、図9中の第1インデックス情報記憶部121に示す第1インデックス情報に対応するツリー情報TR11を生成する(ステップS31)。なお、図9では、インデックスを図として示すために、ツリー情報TR11を生成するものとして説明するが、図9中の第1インデックス情報記憶部121に示す情報は、ツリー情報TR11の情報を含む。図9の例では、生成装置100は、ツリー情報TR11と空間情報GR11とを含むグラフ情報GR1を生成する。なお、ツリー情報TR11は空間情報GR11に含まれてもよい。また、図9の例では、説明を簡単にするために、セントロイドC1〜C6、C8、C9、C11等の図示を省略し、ツリー情報TR11の一部を図示する。   For example, the generating apparatus 100 generates tree information TR11 corresponding to the first index information shown in the first index information storage unit 121 in FIG. 9 (step S31). In addition, in FIG. 9, in order to show an index as a figure, although demonstrated as what produces | generates tree information TR11, the information shown in the 1st index information storage part 121 in FIG. 9 contains the information of tree information TR11. In the example of FIG. 9, the generating apparatus 100 generates graph information GR1 including tree information TR11 and space information GR11. The tree information TR11 may be included in the space information GR11. Further, in the example of FIG. 9, in order to simplify the description, illustration of centroids C1 to C6, C8, C9, C11 and the like is omitted, and a part of tree information TR11 is illustrated.

図9中のツリー情報TR11は、ルートRTやセントロイドC1〜C11、C2−1〜C2−4、C2−2−1〜C2−2−3等を含む。図1の例では、例えばセントロイドC1〜C11、C2−1〜C2−4、C2−2−1〜C2−2−3等は、実データに対応するベクトルであってもよい。   The tree information TR11 in FIG. 9 includes a route RT, centroids C1 to C11, C2-1 to C2-4, C2-2-1 to C2-2-3, and the like. In the example of FIG. 1, for example, centroids C1 to C11, C2-1 to C2-4, and C2-2-1 to C2-2-3 may be vectors corresponding to actual data.

図9中のツリー情報TR11に示すように、第1階層に属するセントロイドC1〜C11は、ルートRTに直接接続される。例えば、第1階層に属するセントロイドC10は、ルートRTに直接接続される。また、セントロイドC10は、対応する第2階層のセントロイドがないため、ベクトルが対応付けられる。すなわち、セントロイドC10は、ツリー情報TR11の葉(リーフノード)となる。また、セントロイドC2以外の他の第1階層のセントロイドC1、C3〜C9、C11も、ツリー情報TR11の葉(リーフノード)となる。   As shown in tree information TR11 in FIG. 9, centroids C1 to C11 belonging to the first hierarchy are directly connected to the route RT. For example, the centroid C10 belonging to the first hierarchy is directly connected to the route RT. In addition, since the centroid C10 has no corresponding second layer centroid, the vector is associated. That is, the centroid C10 is a leaf (leaf node) of the tree information TR11. In addition, the centroids C1, C3 to C9, and C11 of the first hierarchy other than the centroid C2 are also leaves (leaf nodes) of the tree information TR11.

また、例えば、第1階層に属するセントロイドC2は、ルートRTに直接接続される。また、セントロイドC2は、対応する第2階層のセントロイドC2−1〜C2−4があるため、セントロイドC2−1〜C2−4に接続される。   Also, for example, the centroid C2 belonging to the first hierarchy is directly connected to the route RT. In addition, the centroid C2 is connected to the centroids C2-1 to C2-4 because there are the corresponding centroids C2-1 to C2-4 of the second layer.

また、セントロイドC2に対応する第2階層のセントロイドC2−1、C2−3、C2−4には、対応する第3階層のセントロイドがないため、ベクトルが対応付けられる。例えば、セントロイドC2−1には、ベクトルV66、V5001等が対応付けられる。また、例えば、セントロイドC2−3には、ベクトルV81、V112等が対応付けられる。また、例えば、セントロイドC2−4には、ベクトルV33、V5002等が対応付けられる。このように、セントロイドC2−2以外の他の第2階層のセントロイドC2−1、C2−3、C2−4は、ツリー情報TR11の葉(リーフノード)となる。   Further, since there is no corresponding third layer centroid, the vectors are associated with the second layer centroids C2-1, C2-3, and C2-4 corresponding to the centroid C2. For example, vectors V66, V5001, and the like are associated with the centroid C2-1. Also, for example, vectors V81, V112, etc. are associated with the centroid C2-3. Also, for example, vectors V33, V5002, and the like are associated with the centroid C2-4. Thus, the centroids C2-1, C2-3, and C2-4 of the second hierarchy other than the centroid C2-2 become leaves (leaf nodes) of the tree information TR11.

また、セントロイドC2−2に対応する第3階層のセントロイドC2−2−1〜C2−2−3には、対応する第4階層のセントロイドがないため、ベクトルが対応付けられる。例えば、セントロイドC2−2−1には、ベクトルV971等が対応付けられる。また、例えば、セントロイドC2−2−2には、ベクトルV5003等が対応付けられる。このように、第3階層のセントロイドC2−2−1〜C2−2−3は、ツリー情報TR11の葉(リーフノード)となる。   Further, since there is no corresponding fourth-layer centroid, the third-layer centroid C2-2-1 to C2-2-3 corresponding to the centroid C2-2 is associated with a vector. For example, a vector V971 or the like is associated with the centroid C2-2-1. Further, for example, a vector V5003 or the like is associated with the centroid C2-2-2. Thus, the centroids C2-2-1 to C 2-2-3 of the third hierarchy are leaves (leaf nodes) of the tree information TR 11.

このように、図9に示す例では、階層の上下に関わらず、リーフノードとなるセントロイドにベクトルが対応付けられる。そのため、生成装置100は、検索クエリを取得した場合、その検索クエリに近似するリーフノードを特定することにより、検索クエリに対応するベクトルを特定することが可能となる。   As described above, in the example illustrated in FIG. 9, vectors are associated with centroids that are leaf nodes regardless of the level of the hierarchy. Therefore, when the generating device 100 acquires a search query, the generation device 100 can specify a vector corresponding to the search query by specifying a leaf node close to the search query.

例えば、生成装置100は、検索クエリQE11(図8参照)を取得した場合、ツリー情報TR11を上から下へ辿ることにより、検索クエリQE11の近傍候補となるセントロイドを特定することにより、効率的に検索クエリに対応するセントロイドを特定することができる。例えば、生成装置100は、ツリー情報TR11をルートRTからリーフノードまで辿ることにより、検索クエリの近傍候補となるセントロイドを特定してもよい。図8の例では、例えば、生成装置100は、ツリー情報TR11をルートRTからセントロイドC2−1まで辿ることにより、検索クエリQE11の近傍候補となるセントロイドC2−1を特定してもよい。   For example, when the generating device 100 acquires the search query QE11 (see FIG. 8), the generation device 100 efficiently searches the tree information TR11 from the top to the bottom to specify a centroid serving as a neighbor candidate of the search query QE11. The centroid corresponding to the search query can be identified in. For example, the generating device 100 may specify a centroid serving as a neighbor candidate of the search query by tracing the tree information TR11 from the root RT to the leaf node. In the example of FIG. 8, for example, the generating device 100 may specify the centroid C2-1 to be a neighbor candidate of the search query QE11 by tracing the tree information TR11 from the route RT to the centroid C2-1.

なお、上述したような複数のセントロイド情報に関する木構造やグラフ型の検索インデックスは一例であり、生成装置100は、クエリに対応するセントロイド情報を高速に特定することが可能であれば、どのようなデータ構造の第1インデックス情報を生成してもよい。例えば、生成装置100は、クエリに対応するセントロイド情報を高速に特定することが可能であれば、バイナリ空間分割に関する技術等の種々の従来技術を適宜用いて、第1インデックス情報を生成してもよい。例えば、生成装置100は、高次元ベクトルの検索に対応可能なインデックスであれば、どのようなデータ構造の第1インデックス情報を生成してもよい。   Note that the tree structure or graph type search index related to a plurality of pieces of centroid information as described above is an example, and the generating apparatus 100 can identify centroid information corresponding to a query at high speed. The first index information of such data structure may be generated. For example, if the generating apparatus 100 can specify centroid information corresponding to a query at high speed, the generating apparatus 100 appropriately generates the first index information using various conventional techniques such as a technique related to binary space division. It is also good. For example, the generating apparatus 100 may generate the first index information of any data structure as long as the index can correspond to the search of the high-dimensional vector.

また、生成装置100は、上記の第1インデックス情報に限らず、クエリを取得した際に対応するセントロイドを特定するために利用可能であれば、どのような第1インデックス情報を用いてもよい。例えば、生成装置100は、高次元ベクトルを検索する検索インデックスを第1インデックス情報として生成する。ここでいう高次元ベクトルとは、例えば、数百次元から数千次元のベクトルであってもよいし、それ以上の次元のベクトルであってもよい。   Further, the generating device 100 is not limited to the first index information described above, and may use any first index information as long as it can be used to specify the corresponding centroid when acquiring a query. . For example, the generating apparatus 100 generates a search index for searching for a high-dimensional vector as first index information. The high-dimensional vector referred to here may be, for example, a vector of several hundred to several thousand dimensions, or may be a vector of more dimensions.

また、例えば、生成装置100は、非特許文献2に記載されるようなグラフ型の検索インデックスに関する情報を第1インデックス情報として生成してもよい。また、例えば、生成装置100は、ツリー構造(木構造)に関する検索インデックスを第1インデックス情報として生成してもよい。例えば、生成装置100は、kd木(k-dimensional tree)に関する検索インデックスを第1インデックス情報として生成してもよい。例えば、生成装置100は、VP木(vantage-point tree)に関する検索インデックスを第1インデックス情報として生成してもよい。このように、生成装置100は、複数のセントロイド情報に関する木構造型のインデックス、グラフ構造型のインデックスを第1インデックス情報として生成してもよい。また、例えば、生成装置100は、転置インデックスを第1インデックス情報として生成してもよい。   Also, for example, the generating device 100 may generate, as the first index information, information on a graph-type search index as described in Non-Patent Document 2. Also, for example, the generating device 100 may generate a search index related to a tree structure (tree structure) as the first index information. For example, the generating apparatus 100 may generate a search index for k-dimensional trees as first index information. For example, the generating apparatus 100 may generate a search index on a VP-tree (vantage-point tree) as first index information. Thus, the generating apparatus 100 may generate a tree-structured index and a graph-structured index related to a plurality of pieces of centroid information as the first index information. Also, for example, the generating device 100 may generate a transposed index as first index information.

また、例えば、生成装置100は、高次元データを検索できるハッシュ型などその他のインデックスを第1インデックス情報として用いてもよい。例えば、生成装置100は、高次元データを検索できるハッシュ型などその他のインデックスを第1インデックス情報として第1インデックス情報記憶部121に記憶してもよい。   Also, for example, the generating device 100 may use another index such as a hash type capable of searching for high-dimensional data as the first index information. For example, the generating device 100 may store another index such as a hash type capable of searching for high-dimensional data in the first index information storage unit 121 as the first index information.

また、例えば、生成装置100は、ツリー情報TR11のリーフノードとなるセントロイド間を所定のエッジで接続することにより、リーフノードにおけるグラフ構造(グラフ情報)を生成してもよい。図9の例では、生成装置100がリーフノードであるセントロイドC7、C10、C2−1、C2−3等をエッジEDで接続した場合を示す。なお、生成装置100は、ツリー情報TR11の各リーフノードを接続したグラフ情報を生成してもよい。この場合、例えば、生成装置100は、ツリー情報TR11のリーフノードまで辿った後、リーフノード間のグラフ構造と辿ることにより、セントロイドを特定してもよい。   Also, for example, the generating device 100 may generate a graph structure (graph information) in a leaf node by connecting centroids that are leaf nodes of the tree information TR11 with a predetermined edge. The example of FIG. 9 shows a case where the generating device 100 connects the leaf nodes, such as centroids C7, C10, C2-1, C2-3, etc., with the edge ED. The generation apparatus 100 may generate graph information in which each leaf node of the tree information TR11 is connected. In this case, for example, the generation device 100 may specify a centroid by tracing to a leaf node of the tree information TR11 and then tracing with a graph structure between leaf nodes.

〔7.第2インデックスの生成について〕
上記例においては、各セントロイドに対応する領域に基づく処理を説明したが、生成装置100は、各セントロイドに対応する領域を部分領域に分割してもよい。この点について図10を用いて以下説明する。図10は、実施形態に係る第2インデックス情報の生成処理の一例を示す図である。
[7. Regarding Generation of Second Index]
In the above-mentioned example, although processing based on a field corresponding to each centroid was explained, generating device 100 may divide a field corresponding to each centroid into partial fields. This point will be described below with reference to FIG. FIG. 10 is a diagram illustrating an example of a process of generating second index information according to the embodiment.

例えば、図10中の空間情報GR11は、図8中の空間情報GR11に対応し、クエリ情報QE21と領域AR4に含まれるセントロイドC4やベクトルV9、V12、V34、V54、V85に対応する各ベクトルとの関係を示す。このように、図10中の空間情報GR11に示すように、クエリ情報QE21とセントロイドC4やベクトルV9、V12、V34、V54、V85に対応する各ベクトルとの距離は異なるが、生成装置100には、ベクトル識別情報V9、V12、V34、V54、V85に対応するベクトルデータを格納しない。この場合、例えば、クエリ情報QE21と各ベクトルとの距離は、クエリ情報QE21と領域AR4のセントロイドC4に対応するベクトルとの距離とみなされることとなる。言い換えると、ベクトル識別情報V9、V12、V34、V54、V85に対応するベクトルデータは、セントロイドC4に対応するベクトルデータに量子化される。このような場合、例えば、各領域AR1〜AR11等に含まれるベクトルは同一距離とみなされるのでベクトルの数が多くなった場合、検索結果として該当するデータが多くなる。   For example, the space information GR11 in FIG. 10 corresponds to the space information GR11 in FIG. 8, and each vector corresponding to the query information QE21 and the centroid C4 and the vectors V9, V12, V34, V54, V85 included in the area AR4. Show the relationship with Thus, as shown in the space information GR11 in FIG. 10, although the distance between the query information QE21 and each vector corresponding to the centroid C4 and the vectors V9, V12, V34, V54, and V85 is different, Does not store vector data corresponding to the vector identification information V9, V12, V34, V54, and V85. In this case, for example, the distance between the query information QE21 and each vector is regarded as the distance between the query information QE21 and the vector corresponding to the centroid C4 of the area AR4. In other words, vector data corresponding to the vector identification information V9, V12, V34, V54, V85 is quantized into vector data corresponding to the centroid C4. In such a case, for example, since the vectors included in each of the areas AR1 to AR11 and the like are regarded as the same distance, when the number of vectors increases, the corresponding data as the search result increases.

そこで、生成装置100は、生成処理において、各領域AR1〜AR11等をさらに部分領域に分割してもよい。以下では、領域AR4をさらに部分領域に分割する場合を示す。例えば、生成装置100は、各セントロイド情報に対応する領域に含まれるベクトル情報に関する残差ベクトル情報に基づいて、当該領域が分割された複数の部分領域に対応する部分セントロイド情報を生成してもよい。以下では、生成装置100は、各セントロイド情報と、当該各セントロイド情報に対応する領域に含まれるベクトル情報により生成される残差ベクトル情報に基づいて、当該領域が分割された複数の部分領域に対応する部分セントロイド情報を生成する場合を示す。   Therefore, the generation device 100 may further divide each of the areas AR1 to AR11 or the like into partial areas in the generation process. Below, the case where area | region AR4 is divided | segmented into a partial area | region further is shown. For example, the generating apparatus 100 generates partial centroid information corresponding to a plurality of partial regions into which the region is divided, based on residual vector information related to vector information included in the region corresponding to each centroid information. It is also good. In the following, the generation device 100 generates a plurality of partial areas into which the area is divided based on each centroid information and residual vector information generated by vector information included in the area corresponding to each centroid information. Shows a case where partial centroid information corresponding to is generated.

例えば、生成装置100は、領域AR4に含まれるベクトルの数に基づいて部分空間の数を決定してもよいし、所定の設定値に基づいて部分空間の数を決定してもよい。図10の例では、生成装置100は、領域AR4を9個の部分領域AR41〜AR49に分割する場合を示す。例えば、生成装置100は、各領域AR41〜AR49に含まれるベクトルの数が均等になるように各部分領域AR41〜AR49の範囲を決定してもよい。また、例えば、生成装置100は、クラスタリングに関する種々の従来技術を適宜用いて、各部分領域AR41〜AR49の範囲を決定してもよい。   For example, the generating apparatus 100 may determine the number of subspaces based on the number of vectors included in the area AR4, or may determine the number of subspaces based on a predetermined setting value. The example of FIG. 10 shows the case where the generating device 100 divides the area AR4 into nine partial areas AR41 to AR49. For example, the generating device 100 may determine the range of each partial area AR41 to AR49 such that the number of vectors included in each area AR41 to AR49 is equal. Further, for example, the generating device 100 may determine the range of each partial region AR41 to AR49 by appropriately using various conventional techniques related to clustering.

図10の例では、生成装置100は、各部分領域AR41〜AR49に含まれるベクトルとセントロイドから残差ベクトルを算出し、その残差ベクトルから部分領域のセントロイドを生成する。この場合、複数の領域があっても個別のセントロイド集合があるわけではなく、共通でかつ単一のセントロイド集合を構成する。ただし、生成装置100は、複数の領域の各々について個別にセントロイド集合を生成してもよい。例えば、生成装置100は、セントロイドの総数が所定の閾値以下である場合、複数の領域の各々について個別のセントロイド集合を生成してもよい。なお、部分領域のセントロイドは残差ベクトルではなく、元のベクトルでも良い。例えば、生成装置100は、元のベクトルの分散が所定の閾値以下である場合、元のベクトルを部分領域のセントロイドとしてもよい。例えば、生成装置100は、ベクトル識別情報V34により識別されるベクトルを含む部分領域AR41に含まれるベクトルに基づいて、セントロイドCN41を生成する。また、例えば、生成装置100は、ベクトル識別情報V9により識別されるベクトルを含む部分領域AR42に含まれるベクトルに基づいて、セントロイドCN42を生成する。なお、生成装置100は、各セントロイド情報に対応する領域に含まれるベクトル情報に基づいて、当該領域が分割された複数の部分領域に対応する部分セントロイド情報を生成してもよい。   In the example of FIG. 10, the generating apparatus 100 calculates a residual vector from the vectors and centroids included in each partial area AR41 to AR49, and generates a centroid of the partial area from the residual vector. In this case, even if there are multiple regions, there is not a separate set of centroids, but a common and single set of centroids. However, the generation device 100 may generate a centroid set individually for each of the plurality of regions. For example, if the total number of centroids is equal to or less than a predetermined threshold, the generation device 100 may generate a separate centroid set for each of the plurality of regions. The centroid of the partial region may not be a residual vector but may be an original vector. For example, when the variance of the original vector is equal to or less than a predetermined threshold, the generating device 100 may set the original vector as the centroid of the partial region. For example, the generating device 100 generates the centroid CN41 based on the vector included in the partial area AR41 including the vector identified by the vector identification information V34. Also, for example, the generating device 100 generates the centroid CN 42 based on the vector included in the partial area AR 42 including the vector identified by the vector identification information V 9. The generating apparatus 100 may generate partial centroid information corresponding to a plurality of partial regions into which the region is divided, based on vector information included in the region corresponding to each piece of centroid information.

例えば、生成装置100は、一の領域のセントロイドと、各部分領域のセントロイドとの残差ベクトルに関する情報を記憶する。図10の例では、生成装置100は、部分セントロイド情報LT1に示すように、領域AR4のセントロイドC4と、その部分領域AR41のセントロイドCN41との残差ベクトルに関する情報や領域AR4のセントロイドC4と、その部分領域AR48のセントロイドCN48との残差ベクトルに関する情報等が記憶される。なお、生成装置100は、部分セントロイド情報LT1を記憶部120に記憶してもよい。   For example, the generating apparatus 100 stores information on residual vectors of the centroid of one region and the centroid of each partial region. In the example of FIG. 10, as indicated by the partial centroid information LT1, the generating device 100 includes information on residual vectors of the centroid C4 of the region AR4 and the centroid CN41 of the partial region AR41 and the centroid of the region AR4. Information on the residual vector of C4 and the centroid CN 48 of its partial area AR 48 is stored. The generating apparatus 100 may store the partial centroid information LT1 in the storage unit 120.

また、生成装置100は、各ベクトルに対応付けてそのベクトルが属する部分領域のセントロイド情報を記憶してもよい。図10の例では、生成装置100は、第2インデックス情報記憶部123Aに示すように、セントロイドC4に対応付けて記憶されたベクトルV9にセントロイドCN42を対応付けて記憶してもよい。なお、生成装置100は、第2インデックス情報記憶部123Aを記憶部120に含んでもよい。具体的には、生成装置100は、セントロイドID「C4」に対応付けられたベクトル識別情報「V9」にセントロイドID「CN42」を対応付けて記憶してもよい。このように、生成装置100は、各ベクトルにそのベクトルが属する部分領域のセントロイドに関する情報を対応付けて第2インデックス情報記憶部123Aに記憶する。これにより、生成装置100は、第2インデックス情報記憶部123Aを参照することで、ベクトルがどの部分領域に属するかを特定可能となり、さらに処理を高速化することができる。   In addition, the generating device 100 may store centroid information of a partial region to which the vector belongs in association with each vector. In the example of FIG. 10, as illustrated in the second index information storage unit 123A, the generating device 100 may store the centroid CN 42 in association with the vector V9 stored in association with the centroid C4. The generation device 100 may include the second index information storage unit 123A in the storage unit 120. Specifically, the generating device 100 may store the centroid ID “CN42” in association with the vector identification information “V9” associated with the centroid ID “C4”. As described above, the generating device 100 stores, in the second index information storage unit 123A, each vector in association with information on the centroid of the partial region to which the vector belongs. Thereby, the generation device 100 can specify which partial area the vector belongs to by referring to the second index information storage unit 123A, and the processing can be further speeded up.

上述したように、部分領域AR41〜AR49による分割が無い場合、クエリ情報QE21と各ベクトルとの距離は、クエリ情報QE21と領域AR4のセントロイドC4に対応するベクトルとの距離とみなされることとなる。一方、生成装置100は、部分領域AR41〜AR49による分割を行うことにより、クエリ情報QE21と各ベクトルとの距離をさらに細分化することができる。この点について、図11を用いて説明する。図11は、実施形態に係る第2インデックス情報の利用の一例を示す図である。   As described above, when there is no division by partial areas AR41 to AR49, the distance between query information QE21 and each vector is regarded as the distance between query information QE21 and the vector corresponding to centroid C4 of area AR4. . On the other hand, generation apparatus 100 can further subdivide the distance between query information QE21 and each vector by performing division by partial areas AR41 to AR49. This point will be described with reference to FIG. FIG. 11 is a diagram illustrating an example of use of second index information according to the embodiment.

例えば、生成装置100は、部分セントロイド情報LT1を用いることにより、各ベクトルの位置をそのベクトルが属する部分領域のセントロイドの位置に量子化することができる。これにより、生成装置100は、クエリ情報QE21と各ベクトルとの距離を、クエリ情報QE21と各ベクトルが属する部分領域AR41〜AR49のセントロイドに対応するベクトルとの距離まで細部化することができる。   For example, the generating apparatus 100 can quantize the position of each vector to the position of the centroid of the partial region to which the vector belongs by using the partial centroid information LT1. Thereby, the generating apparatus 100 can subdivide the distance between the query information QE21 and each vector to the distance between the query information QE21 and the vector corresponding to the centroid of the partial area AR41 to AR49 to which each vector belongs.

図11の例では、生成装置100は、セントロイド情報記憶部122に示すようにセントロイドID「C4」により識別されるベクトルのベクトルデータを有し、部分セントロイド情報LT1に示すようにセントロイドCN41に関する残差ベクトル情報を有する。そのため、生成装置100は、例えばクエリ情報QE21に対して、セントロイドCN41までの距離を算出することができる。したがって、生成装置100は、例えばクエリ情報QE21とベクトルV34との距離を、セントロイドC4よりもさらに近似したセントロイドCN41までの距離とすることができる。   In the example of FIG. 11, the generating device 100 has vector data of the vector identified by the centroid ID "C4" as shown in the centroid information storage unit 122, and the centroid as shown in the partial centroid information LT1. It has residual vector information on CN41. Therefore, the generating device 100 can calculate, for example, the distance to the centroid CN 41 with respect to the query information QE 21. Therefore, the generating device 100 can set, for example, the distance between the query information QE21 and the vector V34 to the distance to the centroid CN41 which is more approximate than the centroid C4.

このように、生成装置100は、各領域AR1〜AR11等をさらに細分化した部分領域に関する情報を用いることにより、格納するベクトルデータの数は領域に対応するセントロイドの数に抑制しつつ、さらに各ベクトルを細分化して量子化することが可能となる。例えば、生成装置100は、各領域AR1〜AR11等に含まれるベクトルの数が膨大(例えば1万や10万等)になった場合であっても、領域をさらに細分化することにより、各ベクトルを適切に量子化することができる。したがって、生成装置100は、効率的な検索を可能にするセントロイド情報を生成することができる。   As described above, the generation device 100 further suppresses the number of vector data to be stored to the number of centroids corresponding to the regions by using information on partial regions obtained by further dividing the regions AR1 to AR11 and the like. Each vector can be subdivided and quantized. For example, even if the number of vectors included in each of the areas AR1 to AR11 is enormous (for example, 10,000, 100,000, etc.), the generating apparatus 100 further divides each area by further dividing the vectors. Can be appropriately quantized. Therefore, the generating device 100 can generate centroid information that enables efficient search.

〔7−1.分割時の第2インデックスの生成について〕
なお、図10及び図11の例では、第1階層のセントロイドC4に対応する領域の分領域への分割の場合を一例として示したが、生成装置100は、第2階層以降の階層のセントロイドに対応する領域を部分領域へ分割してもよい。
7-1. About Generation of Second Index at Division]
In the examples of FIGS. 10 and 11, although the case of dividing the area corresponding to the centroid C4 of the first layer into the divided areas is shown as an example, the generating apparatus 100 determines the cents of the layers after the second layer. The region corresponding to Lloyd may be divided into partial regions.

例えば、図1の例では、生成装置100は、第2セントロイドとして生成されたセントロイドC2−1〜C2−4ごとにさらに部分領域に分割してもよい。例えば、生成装置100は、セントロイドC2−1に対応する領域AR2−1に含まれるベクトル情報に基づいて、当該領域AR2−1が分割された複数の部分領域に対応する部分セントロイド情報を生成してもよい。   For example, in the example of FIG. 1, the generating apparatus 100 may further divide each of the centroids C2-1 to C2-4 generated as the second centroid into partial regions. For example, the generating apparatus 100 generates partial centroid information corresponding to a plurality of partial regions into which the region AR2-1 is divided, based on the vector information included in the region AR2-1 corresponding to the centroid C2-1. You may

また、生成装置100は、所定の階層以下のセントロイドに対応する領域を部分領域に分割してもよい。例えば、生成装置100は、図9に示すように、第3階層までは、第2セントロイドの生成を行い、第3階層のセントロイドに対応するベクトルが所定の数以上になった場合に、そのセントロイドに対応する領域を部分領域に分割してもよい。   In addition, the generation device 100 may divide an area corresponding to a centroid below a predetermined level into partial areas. For example, as illustrated in FIG. 9, the generation apparatus 100 generates the second centroids up to the third hierarchy, and the vectors corresponding to the centroids of the third hierarchy become a predetermined number or more. The region corresponding to the centroid may be divided into partial regions.

〔8.ベクトルの分割の一例〕
なお、上記の例では、生成装置100が各ベクトルを一のベクトルとして処理する場合を示したが、生成装置100は、各ベクトルを複数の部分ベクトルに分割して処理してもよい。例えば、生成装置100は、いわゆる直積量子化に関する技術を用いて、処理を行ってもよい。この点について図12を用いて説明する。図12は、実施形態に係るベクトルの分割の一例を示す図である。なお、図12の例では、説明を簡単にするために、クエリに対応するベクトルデータQE31の次元数が12である場合を示すが、生成装置100は、より高次元のベクトルを対象としてもよい。
[8. Example of vector division]
In the above example, the generation device 100 processes each vector as one vector. However, the generation device 100 may divide each vector into a plurality of partial vectors for processing. For example, the generation device 100 may perform processing using a technique related to so-called direct product quantization. This point will be described with reference to FIG. FIG. 12 is a diagram illustrating an example of vector division according to the embodiment. Although the example of FIG. 12 illustrates the case where the number of dimensions of the vector data QE31 corresponding to the query is 12 in order to simplify the description, the generation device 100 may target vectors of higher dimensions. .

図12の例では、生成装置100は、ベクトルデータQE31を4分割する。例えば、生成装置100は、ベクトルデータQE31のうち、1次元〜3次元のデータを部分ベクトルデータQE31−1とし、4次元〜6次元のデータを部分ベクトルデータQE31−2とし、7次元〜9次元のデータを部分ベクトルデータQE31−3とし、10次元〜12次元のデータを部分ベクトルデータQE31−4とする。具体的には、生成装置100は、「45,23,2」を部分ベクトルデータQE31−1とし、「127,34,5」を部分ベクトルデータQE31−2とし、「20,98,110」を部分ベクトルデータQE31−3とし、「12,45,4」を部分ベクトルデータQE31−4とする。   In the example of FIG. 12, the generating device 100 divides the vector data QE31 into four. For example, the generating device 100 sets one-dimensional to three-dimensional data as partial vector data QE 31-1 and sets four-dimensional to six-dimensional data as partial vector data QE 31-2 in the vector data QE 31. The data of is the partial vector data QE31-3, and the data of 10 dimensions to 12 dimensions is the partial vector data QE31-4. Specifically, the generation device 100 sets “45, 23, 2” as partial vector data QE 31-1, “127, 34, 5” as partial vector data QE 31-2, and “20, 98, 110”. The partial vector data QE31-3 is used, and "12, 45, 4" is used as partial vector data QE31-4.

なお、上記のように、クエリを部分ベクトルに分割する場合を示したが、セントロイド情報の生成処理においては、各画像情報に対応するベクトルが部分ベクトルに分割されるものとする。また、図12では、説明を簡単にするために図1に示す空間情報GR11中の領域AR4を複数の部分領域(以下「部分空間」ともいう)に分割する場合を図示する。図12に示す例では、空間情報GR11中の領域AR4が複数の部分空間AR4−1〜AR4−4に分割された場合を示す。   Although the case where the query is divided into partial vectors has been described as described above, in the centroid information generation process, vectors corresponding to each piece of image information are divided into partial vectors. Further, FIG. 12 illustrates a case where the area AR4 in the space information GR11 illustrated in FIG. 1 is divided into a plurality of partial areas (hereinafter, also referred to as “partial space”) for simplifying the description. The example shown in FIG. 12 shows the case where the area AR4 in the space information GR11 is divided into a plurality of partial spaces AR4-1 to AR4-4.

部分ベクトルデータQE31−1は、部分空間AR4−1に対応するベクトルデータであり、部分ベクトルデータQE31−2は、部分空間AR4−2に対応するベクトルデータであり、部分ベクトルデータQE31−3は、部分空間AR4−3に対応するベクトルデータであり、部分ベクトルデータQE31−4は、部分空間AR4−4に対応するベクトルデータであるものとする。例えば、図12の例では、部分ベクトルデータQE31−1は、部分空間AR4−1中のセントロイドCN43の領域に位置する。   Partial vector data QE31-1 is vector data corresponding to partial space AR4-1, partial vector data QE31-2 is vector data corresponding to partial space AR4-2, and partial vector data QE31-3 is It is assumed that the vector data corresponds to the partial space AR4-3, and the partial vector data QE31-4 is vector data corresponding to the partial space AR4-4. For example, in the example of FIG. 12, the partial vector data QE31-1 are located in the region of the centroid CN43 in the partial space AR4-1.

図12の例では、部分空間AR4−1〜AR4−4を類似の形状で示すが、各部分空間AR4−1〜AR4−4の形状は異なってもよいし、また各部分空間AR4−1〜AR4−4における領域の分割態様も異なってもよい。   Although the partial spaces AR4-1 to AR4-4 are shown in similar shapes in the example of FIG. 12, the shapes of the partial spaces AR4-1 to AR4-4 may be different, and the partial spaces AR4-1 to AR4-4 may be different. The division mode of the area in AR 4-4 may also be different.

そして、生成装置100は、全部分空間AR4−1〜AR4−4における距離を合計等することにより、各クエリとセントロイドとの距離を算出する。例えば、生成装置100は、下記の式(1)により、各クエリとベクトルとの距離を算出してもよい。なお、上述した例では、部分領域のセントロイドは基本共通であったが、部分ベクトルの場合には、生成装置100は、ベクトル単位にセントロイド集合を生成してもよい。例えば、生成装置100は、部分空間AR4−1〜AR4−4ごとにセントロイド集合を生成してもよい。これにより、部分ベクトルごとのベクトルデータの分布の傾向が違う場合であっても、生成装置100は、効率的な検索を可能にするセントロイド情報を生成することができる。また、生成装置100は、部分ベクトルを共通としてセントロイド集合を生成してもよい。例えば、生成装置100は、部分空間AR4−1〜AR4−4に共通するセントロイド集合を生成してもよい。これにより、生成装置100は、ベクトルを部分ベクトルに分割した場合であっても、効率的な検索を可能にするセントロイド情報を生成することができる。   Then, the generating apparatus 100 calculates the distance between each query and the centroid by summing the distances in all the partial spaces AR4-1 to AR4-4. For example, the generating apparatus 100 may calculate the distance between each query and the vector by the following equation (1). In the above-described example, the centroid of the partial region is basically common, but in the case of the partial vector, the generating device 100 may generate a centroid set in vector units. For example, the generating apparatus 100 may generate a centroid set for each of the subspaces AR4-1 to AR4-4. As a result, even if the tendency of the distribution of vector data for each partial vector is different, the generating apparatus 100 can generate centroid information that enables efficient search. In addition, the generating apparatus 100 may generate a centroid set with the partial vectors in common. For example, the generating apparatus 100 may generate a centroid set common to the subspaces AR4-1 to AR4-4. Thereby, the generation device 100 can generate centroid information that enables efficient search even when the vector is divided into partial vectors.

Figure 2019049909
Figure 2019049909

ここで、上記式(1)中の左辺の値は、例えば、クエリとベクトルとの間の二乗距離を示す。また、例えば、上記式(1)中の「x」は、クエリに対応する。また、例えば、上記式(1)中の「y」は、ベクトルに対応する。また、例えば、上記式(1)の右辺中の「q(y)」は、「y」のセントロイドを示す。例えば、生成装置100は、上記式(1)中の「y」について、ベクトルのベクトルデータを有しない場合は、図10のように各ベクトルが属する部分領域のセントロイドのベクトルデータの数値を用いてもよい。また、例えば、「y−q(y)」は、残差ベクトルを示す。また、例えば、上記式(1)の右辺中の「q」は、所定の量子化器(関数)を示す。 Here, the value on the left side in the above equation (1) indicates, for example, the square distance between the query and the vector. Also, for example, “x” in the above equation (1) corresponds to a query. Also, for example, “y” in the above equation (1) corresponds to a vector. Also, for example, “q c (y)” in the right side of the above-mentioned formula (1) indicates a centroid of “y”. For example, in the case where “y” in the above equation (1) does not have vector data of vectors, the generation device 100 uses numeric values of vector data of centroids of partial regions to which each vector belongs as shown in FIG. May be Also, for example, “y−q c (y)” indicates a residual vector. Also, for example, “q p ” in the right side of the above equation (1) indicates a predetermined quantizer (function).

また、例えば、上記式(1)の右辺中の「j」は、分割された空間の数であってもよい。例えば、図12の例では、上記式(1)の右辺中の「j」は、分割された空間の数「4」であってもよい。また、例えば、上記式(1)の右辺中の「u()」は、括弧中のベクトル間の部分残差ベクトルを示す。例えば、生成装置100は、上記式(1)を用いて、各部分空間におけるクエリとベクトルとの間の二乗距離を算出し、合算することにより、各クエリとベクトルとの距離を算出してもよい。例えば、図12の例では、生成装置100は、各部分空間AR4−1〜AR4−4における部分ベクトルデータQE31−1〜QE31−4と、各部分空間AR4−1〜AR4−4におけるベクトルとの間の二乗距離を算出し、合算することにより、ベクトルデータQE31に対応するクエリとベクトルとの距離を算出してもよい。 Also, for example, “j” in the right side of the above equation (1) may be the number of divided spaces. For example, in the example of FIG. 12, “j” in the right side of the above equation (1) may be the number “4” of the divided spaces. Also, for example, “u j ()” in the right side of the above equation (1) indicates a partial residual vector between the vectors in parentheses. For example, even if the generating device 100 calculates the square distance between the query and the vector in each partial space using the above equation (1), and calculates the distance between each query and the vector by summing. Good. For example, in the example of FIG. 12, the generating device 100 generates partial vector data QE31-1 to QE31-4 in each partial space AR4-1 to AR4-4 and a vector in each partial space AR4-1 to AR4-4. The distance between the query corresponding to the vector data QE31 and the vector may be calculated by calculating the square distance between them and summing.

これにより、生成装置100は、各ベクトルをより細分化して量子化することが可能となり、クエリに対応するベクトルをより適切に抽出することができる。また、生成装置100は、上述した処理を適宜組み合わせることにより、近傍検索における効率的な検索を可能にするセントロイド情報を生成してもよい。例えば、生成装置100は、直積量子化時の各部分ベクトルをそのまま用いてもよいし、残差ベクトルを算出して用いてもよい。例えば、生成装置100は、各部分ベクトルとセントロイドから残差ベクトルを算出し、その残差ベクトルを用いてもよい。また、生成装置100は、部分ベクトル間で共通にセントロイドを生成してもよいし、個別にセントロイドを生成してもよい。例えば、生成装置100は、一のベクトルが分割された部分ベクトル間で共通にセントロイドを生成してもよいし、個別にセントロイドを生成してもよい。なお、上記は一例であり、生成装置100は、種々の情報を適宜組み合わせたり、個別に用いたりすることにより、近傍検索における効率的な検索を可能にするセントロイド情報を生成してもよい。例えば、生成装置100は、ある情報を共通化して用いたり、ある情報を個別化して用いたりすることにより、近傍検索における効率的な検索を可能にするセントロイド情報を生成してもよい。   As a result, the generating apparatus 100 can further segment and quantize each vector, and can more appropriately extract the vector corresponding to the query. In addition, the generation device 100 may generate centroid information that enables efficient search in proximity search by appropriately combining the above-described processes. For example, the generating apparatus 100 may use each partial vector at the time of direct product quantization as it is, or may calculate and use a residual vector. For example, the generating apparatus 100 may calculate a residual vector from each partial vector and centroid and use the residual vector. In addition, the generating apparatus 100 may generate centroids in common among partial vectors, or may generate centroids individually. For example, the generating apparatus 100 may generate a centroid in common between partial vectors into which one vector is divided, or may separately generate centroids. Note that the above is an example, and the generating apparatus 100 may generate centroid information that enables efficient search in proximity search by combining various information as appropriate or individually. For example, the generating apparatus 100 may generate centroid information that enables efficient search in proximity search by using certain information in common or using certain information in an individualized manner.

〔9.効果〕
上述してきたように、実施形態に係る生成装置100は、取得部131と、生成部132とを有する。取得部131は、所定の対象に関するベクトルが距離に応じて対応付けられる第1セントロイドと、第1セントロイドに対応付けられるベクトルとの対応付けを示す対応情報を取得する。生成部132は、取得部131により取得された対応情報に基づいて、第1セントロイドに対応付けられた第1ベクトル群に関する情報が所定の条件を満たす場合、第1ベクトル群に含まれるベクトルである対象ベクトルの各々が距離に応じて対応付けられる複数の第2セントロイドを生成する。
[9. effect〕
As described above, the generation device 100 according to the embodiment includes the acquisition unit 131 and the generation unit 132. The acquisition unit 131 acquires correspondence information indicating correspondence between a first centroid in which a vector related to a predetermined target is associated according to a distance, and a vector associated with the first centroid. When the information on the first vector group associated with the first centroid satisfies a predetermined condition based on the correspondence information acquired by the acquisition unit 131, the generation unit 132 is a vector included in the first vector group. A plurality of second centroids are generated, each of which is associated with a certain object vector according to the distance.

このように、実施形態に係る生成装置100は、対応情報に基づいて、第1セントロイドに対応付けられた第1ベクトル群に関する情報が所定の条件を満たす場合、第1ベクトル群に含まれるベクトルである対象ベクトルの各々が距離に応じて対応付けられる複数の第2セントロイドを生成することにより、効率的な検索を可能にするセントロイド情報を生成することができる。   Thus, the generating device 100 according to the embodiment determines the vectors included in the first vector group when the information on the first vector group associated with the first centroid satisfies the predetermined condition based on the correspondence information. By generating a plurality of second centroids in which each of the object vectors that are is associated according to the distance, it is possible to generate centroid information that enables efficient search.

また、実施形態に係る生成装置100において、生成部132は、対象ベクトルの数が所定の閾値以上である場合、複数の第2セントロイドを生成する。   Further, in the generating device 100 according to the embodiment, the generating unit 132 generates a plurality of second centroids when the number of target vectors is equal to or more than a predetermined threshold.

このように、実施形態に係る生成装置100は、対象ベクトルの数が所定の閾値以上である場合、複数の第2セントロイドを生成することにより、効率的な検索を可能にするセントロイド情報を生成することができる。   As described above, when the number of target vectors is equal to or more than a predetermined threshold value, the generating device 100 according to the embodiment generates centroid information that enables efficient search by generating a plurality of second centroids. Can be generated.

また、実施形態に係る生成装置100において、生成部132は、対象ベクトルの数に応じた数の複数の第2セントロイドを生成する。   In addition, in the generation device 100 according to the embodiment, the generation unit 132 generates a plurality of second centroids of the number according to the number of target vectors.

このように、実施形態に係る生成装置100は、対象ベクトルの数に応じた数の複数の第2セントロイドを生成することにより、効率的な検索を可能にするセントロイド情報を生成することができる。   As described above, the generating device 100 according to the embodiment can generate centroid information that enables efficient search by generating a plurality of second centroids in a number corresponding to the number of target vectors. it can.

また、実施形態に係る生成装置100において、生成部132は、対象ベクトルの数と所定の設定値とに基づく数の複数の第2セントロイドを生成する。   In addition, in the generation device 100 according to the embodiment, the generation unit 132 generates a plurality of second centroids of a number based on the number of target vectors and a predetermined setting value.

このように、実施形態に係る生成装置100は、対象ベクトルの数と所定の設定値とに基づく数の複数の第2セントロイドを生成することにより、効率的な検索を可能にするセントロイド情報を生成することができる。   Thus, the generating apparatus 100 according to the embodiment can generate efficient second searching by generating a plurality of second centroids based on the number of target vectors and a predetermined setting value. Can be generated.

また、実施形態に係る生成装置100において、生成部132は、対象ベクトルの数を所定の設定値により除算した数の複数の第2セントロイドを生成する。   Further, in the generating device 100 according to the embodiment, the generating unit 132 generates a plurality of second centroids by dividing the number of target vectors by a predetermined setting value.

このように、実施形態に係る生成装置100は、対象ベクトルの数を所定の設定値により除算した数の複数の第2セントロイドを生成することにより、効率的な検索を可能にするセントロイド情報を生成することができる。   As described above, the generating apparatus 100 according to the embodiment generates centroid information that enables efficient search by generating a plurality of second centroids by dividing the number of target vectors by a predetermined setting value. Can be generated.

また、実施形態に係る生成装置100において、取得部131は、所定のクラスタリング手法によりベクトルが対応付けられた第1セントロイドであって、新たに追加されるベクトルが距離に応じて対応付けられる第1セントロイドの対応情報を取得する。   In the generation device 100 according to the embodiment, the acquisition unit 131 is a first centroid to which a vector is associated by a predetermined clustering method, and a vector to be newly added is associated according to a distance. 1Correspondence information is acquired.

このように、実施形態に係る生成装置100は、所定のクラスタリング手法によりベクトルが対応付けられた第1セントロイドであって、新たに追加されるベクトルが距離に応じて対応付けられる第1セントロイドの対応情報を取得することにより、効率的な検索を可能にするセントロイド情報を生成することができる。   As described above, the generating device 100 according to the embodiment is the first centroid to which the vector is associated by the predetermined clustering method, and the first centroid to which the newly added vector is associated according to the distance. By acquiring the correspondence information, it is possible to generate centroid information that enables efficient search.

また、実施形態に係る生成装置100において、取得部131は、対応付けられるベクトルの数の差が所定値以内になるように所定のクラスタリング手法によりベクトルが対応付けられた第1セントロイドであって、新たに追加されるベクトルが距離に応じて対応付けられる第1セントロイドの対応情報を取得する。   In addition, in the generation device 100 according to the embodiment, the acquisition unit 131 is a first centroid in which vectors are associated by a predetermined clustering method such that the difference in the number of associated vectors is within a predetermined value. Then, the correspondence information of the first centroid to which the newly added vector is associated according to the distance is acquired.

このように、実施形態に係る生成装置100は、対応付けられるベクトルの数の差が所定値以内になるように所定のクラスタリング手法によりベクトルが対応付けられた第1セントロイドであって、新たに追加されるベクトルが距離に応じて対応付けられる第1セントロイドの対応情報を取得することにより、効率的な検索を可能にするセントロイド情報を生成することができる。   As described above, the generating device 100 according to the embodiment is the first centroid in which the vectors are associated by the predetermined clustering method such that the difference in the number of associated vectors is within the predetermined value, By acquiring the correspondence information of the first centroid to which the vector to be added is associated according to the distance, it is possible to generate centroid information enabling efficient search.

また、実施形態に係る生成装置100において、生成部132は、複数の第2セントロイドを生成した場合、複数の第2セントロイドを第1セントロイドに対応付け、第1ベクトル群に含まれる各ベクトルと第1セントロイドとの対応付けを解除する。   In addition, in the generation device 100 according to the embodiment, when the generation unit 132 generates a plurality of second centroids, each of the plurality of second centroids is associated with the first centroid, and each of the plurality of second centroids is included in the first vector group. Disassociate the vector from the first centroid.

このように、実施形態に係る生成装置100は、複数の第2セントロイドを生成した場合、複数の第2セントロイドを第1セントロイドに対応付け、第1ベクトル群に含まれる各ベクトルと第1セントロイドとの対応付けを解除することにより、効率的な検索を可能にするセントロイド情報を生成することができる。   As described above, when the plurality of second centroids are generated, the generating device 100 according to the embodiment associates the plurality of second centroids with the first centroid, and the vectors included in the first vector group By disassociating one centroid, it is possible to generate centroid information that enables efficient search.

また、実施形態に係る生成装置100において、生成部132は、複数の第2セントロイドの各々に対応付けられるベクトルの数が所定の閾値以下である場合、複数の第2セントロイドの各々に対応付けられたベクトルを、第1セントロイドに対応付け、第1セントロイドと複数の第2セントロイドとの対応付けを解除する。   In the generation device 100 according to the embodiment, the generation unit 132 corresponds to each of the plurality of second centroids when the number of vectors associated with each of the plurality of second centroids is equal to or less than a predetermined threshold. The attached vector is associated with the first centroid, and the association between the first centroid and the plurality of second centroids is released.

このように、実施形態に係る生成装置100は、複数の第2セントロイドの各々に対応付けられるベクトルの数が所定の閾値以下である場合、複数の第2セントロイドの各々に対応付けられたベクトルを、第1セントロイドに対応付け、第1セントロイドと複数の第2セントロイドとの対応付けを解除することにより、効率的な検索を可能にするセントロイド情報を生成することができる。   Thus, when the number of vectors associated with each of the plurality of second centroids is equal to or less than a predetermined threshold, the generation device 100 according to the embodiment is associated with each of the plurality of second centroids. By associating the vector with the first centroid and disassociating the first centroid with the plurality of second centroids, centroid information that enables efficient search can be generated.

また、実施形態に係る生成装置100において、生成部132は、複数の第2セントロイドを削除する。   In addition, in the generating device 100 according to the embodiment, the generating unit 132 deletes the plurality of second centroids.

このように、実施形態に係る生成装置100は、複数の第2セントロイドを削除することにより、効率的な検索を可能にするセントロイド情報を生成することができる。   Thus, the generating device 100 according to the embodiment can generate centroid information that enables efficient search by deleting a plurality of second centroids.

また、実施形態に係る生成装置100において、生成部132は、複数の第2セントロイドのうち、一の第2セントロイドに対応付けられた第2ベクトル群に関する情報が所定の条件を満たす場合、第2ベクトル群に含まれるベクトルである対象ベクトルの各々が距離に応じて対応付けられる複数の第3セントロイドを生成する。   In addition, in the generating device 100 according to the embodiment, when the information regarding the second vector group associated with one second centroid among the plurality of second centroids satisfies the predetermined condition, the generation unit 132 may satisfy the following condition: A plurality of third centroids are generated in which each of the target vectors, which are vectors included in the second vector group, are associated according to the distance.

このように、実施形態に係る生成装置100は、複数の第2セントロイドのうち、一の第2セントロイドに対応付けられた第2ベクトル群に関する情報が所定の条件を満たす場合、第2ベクトル群に含まれるベクトルである対象ベクトルの各々が距離に応じて対応付けられる複数の第3セントロイドを生成することにより、効率的な検索を可能にするセントロイド情報を生成することができる。   As described above, when the information on the second vector group associated with one second centroid among the plurality of second centroids satisfies the predetermined condition, the generating device 100 according to the embodiment determines the second vector. By generating a plurality of third centroids in which each of the target vectors that are vectors included in the group are associated according to the distance, it is possible to generate centroid information that enables efficient search.

〔10.ハードウェア構成〕
上述してきた実施形態に係る生成装置100は、例えば図13に示すような構成のコンピュータ1000によって実現される。図13は、生成装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
[10. Hardware configuration]
The generation device 100 according to the embodiment described above is realized by, for example, a computer 1000 configured as shown in FIG. FIG. 13 is a hardware configuration diagram illustrating an example of a computer that implements the function of the generation device. The computer 1000 includes a CPU 1100, a RAM 1200, a ROM (Read Only Memory) 1300, an 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 a program stored in the ROM 1300 or the HDD 1400 to control each part. The ROM 1300 stores a boot program executed by the CPU 1100 when the computer 1000 starts 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 a program executed by the CPU 1100, data used by the program, and the like. The communication interface 1500 receives data from another device via the network N, sends the data to the CPU 1100, and transmits data generated by the CPU 1100 to the other device via the network N.

CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。   The CPU 1100 controls an output device such as a display or a printer and an input device such as a keyboard or a mouse via the input / output interface 1600. The CPU 1100 acquires data from an input device via the input / output interface 1600. The CPU 1100 also outputs the generated data to the output device via the 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)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。   The media interface 1700 reads a program or data stored in the recording medium 1800 and provides the CPU 1100 with the program via the RAM 1200. The CPU 1100 loads such a program from the recording medium 1800 onto the RAM 1200 via the media interface 1700 and executes the loaded program. The recording medium 1800 is, for example, an optical recording medium such as a digital versatile disc (DVD) or a phase change rewritable disc (PD), a magneto-optical recording medium such as a magneto-optical disk (MO), 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 generation device 100 according to the embodiment, the CPU 1100 of the computer 1000 realizes the function of the control unit 130 by executing a program loaded on the RAM 1200. The CPU 1100 of the computer 1000 reads these programs from the recording medium 1800 and executes them, but as another example, these programs may be acquired from another device via the network N.

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

〔11.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
[11. Other]
Further, among the processes described in the above embodiment, all or part of the process described as being automatically performed may be manually performed, or the process described as being manually performed. All or part of them can be performed automatically by known methods. In addition, information including processing procedures, specific names, various data and parameters shown in the above-mentioned documents and drawings can be arbitrarily changed unless otherwise specified. For example, the various information shown in each figure is not limited to the illustrated information.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。   Further, each component of each device illustrated is functionally conceptual, and does not necessarily have to be physically configured as illustrated. That is, the specific form of the distribution and integration of each device is not limited to the illustrated one, and all or a part thereof may be functionally or physically dispersed in any unit depending on various loads, usage conditions, etc. It can be integrated and configured.

また、上述してきた各実施形態に記載された各処理は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。   Moreover, it is possible to combine suitably each process described in each embodiment mentioned above in the range which does not contradict process content.

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

1 生成システム
100 生成装置
121 第1インデックス情報記憶部
122 セントロイド情報記憶部
123 第2インデックス情報記憶部
130 制御部
131 取得部
132 生成部
133 抽出部
134 提供部
10 端末装置
50 情報提供装置
N ネットワーク
Reference Signs List 1 generation system 100 generation device 121 first index information storage unit 122 centroid information storage unit 123 second index information storage unit 130 control unit 131 acquisition unit 132 generation unit 133 extraction unit 134 provision unit 10 terminal device 50 information provision device N network

Claims (14)

所定の対象に関するベクトルが距離に応じて対応付けられる第1セントロイドと、前記第1セントロイドに対応付けられるベクトルとの対応付けを示す対応情報を取得する取得部と、
前記取得部により取得された前記対応情報に基づいて、前記第1セントロイドに対応付けられた第1ベクトル群に関する情報が所定の条件を満たす場合、前記第1ベクトル群に含まれるベクトルである対象ベクトルの各々が距離に応じて対応付けられる複数の第2セントロイドを生成する生成部と、
を備えることを特徴とする生成装置。
An acquisition unit configured to acquire correspondence information indicating correspondence between a first centroid in which a vector related to a predetermined target is associated according to a distance, and a vector associated with the first centroid;
A target object that is a vector included in the first vector group when information on a first vector group associated with the first centroid satisfies a predetermined condition based on the correspondence information acquired by the acquisition unit A generation unit that generates a plurality of second centroids in which each of the vectors is associated according to the distance;
A generator comprising:
前記生成部は、
前記対象ベクトルの数が所定の閾値以上である場合、前記複数の第2セントロイドを生成する
ことを特徴とする請求項1に記載の生成装置。
The generation unit is
The generation apparatus according to claim 1, wherein the plurality of second centroids are generated when the number of target vectors is equal to or greater than a predetermined threshold.
前記生成部は、
前記対象ベクトルの数に応じた数の前記複数の第2セントロイドを生成する
ことを特徴とする請求項1または請求項2に記載の生成装置。
The generation unit is
The generation apparatus according to claim 1 or 2, wherein the plurality of second centroids are generated in a number according to the number of the target vectors.
前記生成部は、
前記対象ベクトルの数と所定の設定値とに基づく数の前記複数の第2セントロイドを生成する
ことを特徴とする請求項1〜3のいずれか1項に記載の生成装置。
The generation unit is
The generation apparatus according to any one of claims 1 to 3, wherein the plurality of second centroids are generated based on the number of target vectors and a predetermined setting value.
前記生成部は、
前記対象ベクトルの数を所定の設定値により除算した数の前記複数の第2セントロイドを生成する
ことを特徴とする請求項1〜4のいずれか1項に記載の生成装置。
The generation unit is
The generating apparatus according to any one of claims 1 to 4, wherein the plurality of second centroids are generated by dividing the number of target vectors by a predetermined setting value.
前記取得部は、
所定のクラスタリング手法によりベクトルが対応付けられた前記第1セントロイドであって、新たに追加されるベクトルが距離に応じて対応付けられる前記第1セントロイドの前記対応情報を取得する
ことを特徴とする請求項1〜5のいずれか1項に記載の生成装置。
The acquisition unit
Obtaining the correspondence information of the first centroid, which is the first centroid associated with a vector by a predetermined clustering method, and in which a newly added vector is associated according to a distance. The production | generation apparatus of any one of Claims 1-5.
前記取得部は、
対応付けられるベクトルの数の差が所定値以内になるように所定のクラスタリング手法によりベクトルが対応付けられた前記第1セントロイドであって、新たに追加されるベクトルが距離に応じて対応付けられる前記第1セントロイドの前記対応情報を取得する
ことを特徴とする請求項1〜6のいずれか1項に記載の生成装置。
The acquisition unit
The first centroid in which the vectors are associated by the predetermined clustering method such that the difference in the number of associated vectors is within a predetermined value, and the newly added vector is associated according to the distance The generating apparatus according to any one of claims 1 to 6, wherein the correspondence information of the first centroid is acquired.
前記生成部は、
前記複数の第2セントロイドを生成した場合、前記複数の第2セントロイドを前記第1セントロイドに対応付け、前記第1ベクトル群に含まれる各ベクトルと前記第1セントロイドとの対応付けを解除する
ことを特徴とする請求項1〜7のいずれか1項に記載の生成装置。
The generation unit is
When the plurality of second centroids are generated, the plurality of second centroids are associated with the first centroid, and the association between each vector included in the first vector group and the first centroid is generated. The generating device according to any one of claims 1 to 7, characterized in that it is released.
前記生成部は、
前記複数の第2セントロイドの各々に対応付けられるベクトルが所定の条件を満たす場合、前記複数の第2セントロイドの各々に対応付けられたベクトルを、前記第1セントロイドに対応付け、前記第1セントロイドと前記複数の第2セントロイドとの対応付けを解除する
ことを特徴とする請求項1〜8のいずれか1項に記載の生成装置。
The generation unit is
If the vector associated with each of the plurality of second centroids satisfies a predetermined condition, the vector associated with each of the plurality of second centroids is associated with the first centroid, and The generating device according to any one of claims 1 to 8, wherein correspondence between one centroid and the plurality of second centroids is released.
前記生成部は、
前記複数の第2セントロイドの各々に対応付けられるベクトルの数が所定の閾値以下である場合、前記複数の第2セントロイドの各々に対応付けられたベクトルを、前記第1セントロイドに対応付け、前記第1セントロイドと前記複数の第2セントロイドとの対応付けを解除する
ことを特徴とする請求項1〜9のいずれか1項に記載の生成装置。
The generation unit is
When the number of vectors associated with each of the plurality of second centroids is equal to or less than a predetermined threshold value, the vector associated with each of the plurality of second centroids is associated with the first centroid. The generation apparatus according to any one of claims 1 to 9, wherein the correspondence between the first centroid and the plurality of second centroids is released.
前記生成部は、
前記複数の第2セントロイドを削除する
ことを特徴とする請求項8〜10のいずれか1項に記載の生成装置。
The generation unit is
The generation device according to any one of claims 8 to 10, wherein the plurality of second centroids are deleted.
前記生成部は、
前記複数の第2セントロイドのうち、一の第2セントロイドに対応付けられた第2ベクトル群に関する情報が所定の条件を満たす場合、前記第2ベクトル群に含まれるベクトルである対象ベクトルの各々が距離に応じて対応付けられる複数の第3セントロイドを生成する
ことを特徴とする請求項1〜11のいずれか1項に記載の生成装置。
The generation unit is
When information on a second vector group associated with one second centroid among the plurality of second centroids satisfies a predetermined condition, each of target vectors which are vectors included in the second vector group The generation device according to any one of claims 1 to 11, wherein a plurality of third centroids corresponding to the distance are generated.
コンピュータが実行する生成方法であって、
所定の対象に関するベクトルが距離に応じて対応付けられる第1セントロイドと、前記第1セントロイドに対応付けられるベクトルとの対応付けを示す対応情報を取得する取得工程と、
前記取得工程により取得された前記対応情報に基づいて、前記第1セントロイドに対応付けられた第1ベクトル群に関する情報が所定の条件を満たす場合、前記第1ベクトル群に含まれるベクトルである対象ベクトルの各々が距離に応じて対応付けられる複数の第2セントロイドを生成する生成工程と、
を含むことを特徴とする生成方法。
A computer-implemented generation method,
An acquiring step of acquiring correspondence information indicating correspondence between a first centroid to which a vector concerning a predetermined object is associated according to a distance, and a vector to be associated with the first centroid;
If the information on the first vector group associated with the first centroid satisfies a predetermined condition based on the correspondence information acquired in the acquisition step, an object that is a vector included in the first vector group Generating a plurality of second centroids in which each of the vectors is associated according to the distance;
A generation method characterized by including.
所定の対象に関するベクトルが距離に応じて対応付けられる第1セントロイドと、前記第1セントロイドに対応付けられるベクトルとの対応付けを示す対応情報を取得する取得手順と、
前記取得手順により取得された前記対応情報に基づいて、前記第1セントロイドに対応付けられた第1ベクトル群に関する情報が所定の条件を満たす場合、前記第1ベクトル群に含まれるベクトルである対象ベクトルの各々が距離に応じて対応付けられる複数の第2セントロイドを生成する生成手順と、
をコンピュータに実行させることを特徴とする生成プログラム。
An acquisition procedure for acquiring correspondence information indicating correspondence between a first centroid to which a vector related to a predetermined target is associated according to a distance, and a vector associated to the first centroid;
A target object that is a vector included in the first vector group when information on a first vector group associated with the first centroid satisfies a predetermined condition based on the correspondence information acquired by the acquisition procedure A generation procedure for generating a plurality of second centroids in which each of the vectors is associated according to the distance;
A generation program that causes a computer to execute.
JP2017174329A 2017-09-11 2017-09-11 Generating device, generating method, and generating program Active JP6562984B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017174329A JP6562984B2 (en) 2017-09-11 2017-09-11 Generating device, generating method, and generating program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017174329A JP6562984B2 (en) 2017-09-11 2017-09-11 Generating device, generating method, and generating program

Publications (2)

Publication Number Publication Date
JP2019049909A true JP2019049909A (en) 2019-03-28
JP6562984B2 JP6562984B2 (en) 2019-08-21

Family

ID=65906252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017174329A Active JP6562984B2 (en) 2017-09-11 2017-09-11 Generating device, generating method, and generating program

Country Status (1)

Country Link
JP (1) JP6562984B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1078971A (en) * 1996-09-02 1998-03-24 Canon Inc Document sort device and its method
JP2003323436A (en) * 2002-05-01 2003-11-14 Nippon Telegr & Teleph Corp <Ntt> Document classifying device, document classifying method, program and recording medium recording program
JP2007334402A (en) * 2006-06-12 2007-12-27 Hitachi Ltd Server, system and method for retrieving clustered vector data
US20120155778A1 (en) * 2010-12-16 2012-06-21 Microsoft Corporation Spatial Image Index and Associated Updating Functionality
JP2014048994A (en) * 2012-09-03 2014-03-17 Yahoo Japan Corp VISUAL KEYWORD EXTRACTION DEVICE, BoF EXPRESSION GENERATING DEVICE USING THE SAME, AND VISUAL KEYWORD EXTRACTION METHOD

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1078971A (en) * 1996-09-02 1998-03-24 Canon Inc Document sort device and its method
JP2003323436A (en) * 2002-05-01 2003-11-14 Nippon Telegr & Teleph Corp <Ntt> Document classifying device, document classifying method, program and recording medium recording program
JP2007334402A (en) * 2006-06-12 2007-12-27 Hitachi Ltd Server, system and method for retrieving clustered vector data
US20120155778A1 (en) * 2010-12-16 2012-06-21 Microsoft Corporation Spatial Image Index and Associated Updating Functionality
JP2014048994A (en) * 2012-09-03 2014-03-17 Yahoo Japan Corp VISUAL KEYWORD EXTRACTION DEVICE, BoF EXPRESSION GENERATING DEVICE USING THE SAME, AND VISUAL KEYWORD EXTRACTION METHOD

Also Published As

Publication number Publication date
JP6562984B2 (en) 2019-08-21

Similar Documents

Publication Publication Date Title
US20200278953A1 (en) Sample set processing method and apparatus, and sample querying method and apparatus
Ozturk et al. Improved clustering criterion for image clustering with artificial bee colony algorithm
Lou et al. Matchminer: Efficient spanning structure mining in large image collections
JPWO2013129580A1 (en) Approximate nearest neighbor search device, approximate nearest neighbor search method and program thereof
JP6311000B1 (en) Generating device, generating method, and generating program
JP2007334402A (en) Server, system and method for retrieving clustered vector data
CN111026865B (en) Knowledge graph relationship alignment method, device, equipment and storage medium
US11809494B2 (en) Information processing apparatus and information processing method
JP5155025B2 (en) Similar data search system
Etezadifar et al. Scalable video summarization via sparse dictionary learning and selection simultaneously
JP5552981B2 (en) Index method, search method, and storage medium thereof
JP2020086662A (en) Information processing apparatus, information processing method, and information processing program
CN110209895B (en) Vector retrieval method, device and equipment
US9600468B2 (en) Dictionary creation device, word gathering method and recording medium
JP2018156458A (en) Creation device, creation method, and creation program
Yang et al. Submodular reranking with multiple feature modalities for image retrieval
JP6562984B2 (en) Generating device, generating method, and generating program
JP2020027590A (en) Information processing device, information processing method, and information processing program
JP6976178B2 (en) Extractor, extraction method, and extraction program
CN109446408A (en) Retrieve method, apparatus, equipment and the computer readable storage medium of set of metadata of similar data
JP7121706B2 (en) Information processing device, information processing method, and information processing program
JP2018195156A (en) Generation device, generation method, and generation program
CN108090182B (en) A kind of distributed index method and system of extensive high dimensional data
JP2015130041A (en) Image processing apparatus and image processing program
CN103003880B (en) Representative image is determined for video

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190723

R150 Certificate of patent or registration of utility model

Ref document number: 6562984

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350