JP6773115B2 - 類似データ検索装置、類似データ検索方法および記録媒体 - Google Patents
類似データ検索装置、類似データ検索方法および記録媒体 Download PDFInfo
- Publication number
- JP6773115B2 JP6773115B2 JP2018527568A JP2018527568A JP6773115B2 JP 6773115 B2 JP6773115 B2 JP 6773115B2 JP 2018527568 A JP2018527568 A JP 2018527568A JP 2018527568 A JP2018527568 A JP 2018527568A JP 6773115 B2 JP6773115 B2 JP 6773115B2
- Authority
- JP
- Japan
- Prior art keywords
- search
- inverted index
- similarity
- data
- inverted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90324—Query formulation using system suggestions
- G06F16/90328—Query formulation using system suggestions using search space presentation or visualization, e.g. category or range presentation and selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90348—Query processing by searching ordered data, e.g. alpha-numerically ordered data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明の第1の実施の形態について図面を参照して詳細に説明する。本発明の第1の実施の形態としての類似データ検索装置1は、検索条件データおよび検索対象データをそれぞれ集合として扱う。類似データ検索装置1は、集合としての検索条件データ(ある検索条件データを表す集合)に類似する、集合としての検索対象データ(ある検索対象データを表す集合)を、集合間の類似度に基づき検索する装置である。例えば、検索条件データおよび検索対象データは、単語列であってもよい。この場合、単語列は、単語を要素とみなした場合の、単語の集合である。この場合、集合としての検索条件データは、例えば、検索条件データを表す単語列に含まれる単語の集合であってもよい。また、この場合、集合としての検索対象データは、例えば、検索対象データを表す単語列に含まれる単語の集合であってもよい。ただし、検索条件データおよび検索対象データは、単語列に限定されず、集合として扱うことが可能なデータであればよい。
類似データ検索装置1の機能ブロックの構成を図1に示す。図1において、類似データ検索装置1は、転置インデックス記憶部11と、転置インデックス選択部12と、データ検索部13とを備える。また、類似データ検索装置1は、検索対象データ記憶装置91と通信可能に接続される。検索対象データ記憶装置91は、1つ以上の検索対象データを記憶している。各検索対象データは、1つ以上の要素を含む集合とみなすことができるデータである。
以上のように構成された類似データ検索装置1が行う検索に関する動作を図3に示す。
次に、本発明の第1の実施の形態の効果について述べる。
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。本実施の形態は、本発明の第1の実施の形態に対して、転置インデックス群を生成する構成を追加した具体例について説明する。また、類似度として、集合の各要素に与えられた非負のウェイトにもとづき計算される実数値が定義されている具体例について説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して、本実施の形態における詳細な説明を省略する。
まず、本発明の第2の実施の形態としての類似データ検索装置2の機能ブロック構成を、図4に示す。図4において、類似データ検索装置2は、本発明の第1の実施の形態としての類似データ検索装置1に対して、データ検索部13に替えてデータ検索部23を備える。さらに、類似データ検索装置2は、分割条件取得部24と、転置インデックス生成部25とを備える点が、類似データ検索装置1と異なる。また、類似データ検索装置2は、検索対象データ記憶装置91に替えて、検索対象データ記憶装置92に接続される点が、類似データ検索装置1と異なる。検索対象データ記憶装置92は、検索対象データに加えて、検索対象データの各要素に適用されるウェイトを表す要素ウェイトデータを記憶する。ここで、ウェイトは、非負の実数値である。
以上のように構成された類似データ検索装置2の動作について、図面を参照して説明する。ここでは、動作の説明のために、いくつかの記号を定義する。
類似データ検索装置2が転置インデックスを生成する動作を図5に示す。
次に、類似データ検索装置2が検索を行う動作を図6に示す。この動作は、類似データ検索装置2が、入力される検索条件データTに対して、sim(S,T)≧λとなる全てのS∈Σを求めて、これを出力する動作である。
次に、ステップB22において、複数の転置インデックスを生成する動作の詳細について説明する。上述したような複数の転置インデックスを生成するためには、以下のシグネチャの概念を用いる。
sim(S,T)≧λ⇒sig(S,λ)とTとが共通の要素を少なくとも一つ持つ・・・(定義1)
まず、与えられたTに対し、sim(S,T)≧λとなる全てのSを求める問題を解くには、sig(S,λ)の各要素を検索キーとし、Sを検索結果とする転置インデックスをあらかじめ作成しておく。検索条件データTの要素の各々でこの転置インデックスを検索し、得られた全てのS∈Σを対象にsim(S,T)を計算し、sim(S,T)≧λとなるSを出力すれば、sim(S,T)≧λであるような全てのSが求められる。sim(S,T)≧λであるようなSは、上記の定義1から、シグネチャsig(S,λ)から生成された転置インデックスの検索で必ずヒットするからである。特に、sig(S,λ)がSの真部分集合であれば、Sの全要素から検索用の転置インデックスを作成する場合に比べ、転置インデックスに含まれるキーの数が削減される。このため、転置インデックスの検索によるヒット件数が減少し、その後の類似度計算の処理を含めて処理の高速化が期待できる。有効なシグネチャが構成できるかどうかは類似度の具体形によるが、以下では、そのような一例について説明する。
sim(S,T)=Weight(S∩T)/Weight(S)・・・(定義2)
このとき、定義2の類似度に関して、以下の性質(性質1)が成り立つ。なお、以降の説明において、“Φ”は空集合を表す。
なぜならば、T∩S0=Φなので、S∩T=(S\S0)∩T であり、下式の関係が成立するからである。
sim(S,T)=Weight(S∩T)/Weight(S)
=Weight((S\S0)∩T)/Weight(S)
≦Weight(S\S0)/Weight(S)
<λ
a)S0=Φ ⊆S1⊆・・・⊆Sn=S・・・(条件a)
b)card(Si+1\Si )=1・・・(条件b)
言い換えれば、お互いに包含関係にあり(条件a)、要素がひとつずつ増加していく(条件b)、Sの部分集合の族を任意に選択しておく。
c)λi=Weight(S\Si)/Weight(S)・・・(定義3)
すると、以下が成り立つことは明らかである。
d)λ0=1.0>λ1>・・・>λn=0
また、上記c)より、Siは、検索時に指定される類似度の閾値λがλ>λi である場合に有効なSのシグネチャとなっていることがわかる。
任意のS∈Σと、上記のように構成された三つ組の集合{(s, S, λi(s)) | s∈S}に対して、Sの部分集合S(μ)={s | s∈S and μ≦λi(s)}は閾値μに対するシグネチャである。すなわち、検索条件の集合Tが、sim(S,T)≧μを満たすならば、T∩S(μ) ≠Φである。・・・(性質2)
なぜならば、S(μ)の定義より、μに依存して、あるjが存在して、S(μ)=Sjが成り立つ。j=i(t)となるtはt∈S\Sjを満たすため、λj=λi(t)<μが成り立ち、sim(S,T)≧μならばsim(S,T) >λjでなければならない。その場合、上述の定義3から、S(μ)=SjとTは必ず共通の要素を持つのである。
次に、類似データ検索装置2の動作を、具体的なデータを用いて例示する。
次に、図7の検索対象データおよび要素ウェイトデータから、転置インデックス生成部25が転置インデックスを生成する動作を具体的に説明する。
次に、図13または図14に示した転置インデックスを用いて、検索処理を行う動作について説明する。ここでは、検索条件データとして、集合T={a,b,e,f}を用いるものとする。図15は、定義2の式で計算された、Tと各検索対象データS1〜S4との類似度である。例えば、類似度の閾値0.7を指定して検索を実行した場合、類似度が0.7以上となるS3が、検索結果として得られるのが正しい。また、類似度の閾値0.45を指定して検索を実行した場合、類似度が0.45以上となるS3とS2が検索結果として得られるのが正しい。
次に、本発明の第2の実施の形態の効果について述べる。
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。本実施の形態では、類似度の閾値に加えて、類似度の閾値よりも高い値である優先閾値を用いて類似データを検索する例について説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
まず、本発明の第3の実施の形態としての類似データ検索装置3の機能ブロックの構成を、図17に示す。図17において、類似データ検索装置3は、本発明の第2の実施の形態としての類似データ検索装置2に対して、転置インデックス選択部12に替えて転置インデックス選択部32と、データ検索部23に替えてデータ検索部33とを備える点が異なる。
以上のように構成された類似データ検索装置3の動作について、図18を参照して説明する。なお、類似データ検索装置3の転置インデックスの生成動作については、図6に示した本発明の第2の実施の形態と同様であるため、本実施の形態における説明を省略する。
ここでは、類似データ検索装置3が検索を行う動作について、図18を用いて説明する。この動作は、入力される検索条件データTに対して、sim(S,T)≧λとなる全てのS∈Σを求めて、これを出力する動作である。
次に、本発明の第3の実施の形態の効果について述べる。
sim(S,T)=Weight(S∩T)/Weight(S)・・・(定義2)
これをさらに一般化して、類似度sim(S,T)は、次の定義2’に拡張することができる。
sim(S,T)=Weight(S∩T)/(f(S)・g(T))・・・(定義2’)
ここで、f(S)は、Sから正の実数への関数であり、g(T)も、Tから正の実数への関数であればよく、その具体的内容は特に問わない。なお、上記説明で採用していた定義2は、f(S)=Weight(S)、g(T)=1とした場合の、定義2’の特殊ケースである。
λi=Weight(S\Si)/f(S)・・・(定義3’)
もし、Si∩T=Φかつ、λi<μ・g(T)ならば、
Weight(S∩T)/f(S)=Weight((S\Si)∩T)/f(S)≦Weight(S\Si)/f(S)=λi<μ・g(T)
なので、
sim(S,T)=Weight(S∩T)/(f(S)・g(T))<μ
となる。言い換えれば、性質2において、S(μ)の定義式を、「S(μ)={s|s∈S and λi(s)<μ・g(T)}」と読み替えることにより、同じ内容「検索条件の集合Tが、sim(S,T)≧μを満たすならば、T∩S(μ)≠Φ」が成立する。
11 転置インデックス記憶部
12、32 転置インデックス選択部
13、23、33 データ検索部
24 分割条件取得部
25 転置インデックス生成部
91、92 検索対象データ記憶装置
1001 CPU
1002 メモリ
1003 出力装置
1004 入力装置
1005 通信インタフェース
Claims (7)
- 集合としての検索条件データに類似する集合としての検索対象データを集合間の類似度に基づき検索する際に用いられ、集合間が類似していると判断する類似度の閾値の範囲に対してそれぞれ有効となり、少なくとも1つの転置インデックスが有効となる前記閾値の範囲の一部または全部が他の少なくとも1つの転置インデックスが有効となる前記閾値の範囲に含まれない複数の転置インデックスを記憶する転置インデックス記憶手段と、
検索時に指定される類似度の閾値、および、各前記転置インデックスが有効となる前記閾値の範囲に基づいて、前記複数の転置インデックスのうち検索用の転置インデックスを選択する転置インデックス選択手段と、
前記検索用の転置インデックスを用いて、前記検索条件データに類似する前記検索対象データを検索するデータ検索手段と、
を備えた類似データ検索装置。 - 前記検索対象データから前記複数の転置インデックスを生成するための分割条件を表す情報を取得する分割条件取得手段と、
前記分割条件に基づいて、前記検索対象データから前記複数の転置インデックスを生成する転置インデックス生成手段と、
をさらに備えることを特徴とする請求項1に記載の類似データ検索装置。 - 前記転置インデックス選択手段は、前記閾値よりも高い値である優先閾値、および、各前記転置インデックスが有効となる前記閾値の範囲に基づいて、優先的に行われる優先検索用の転置インデックスをさらに選択し、
前記データ検索手段は、前記検索用の転置インデックスを用いた検索処理に加えて、前記優先検索用の転置インデックスを用いて前記検索条件データに類似する前記検索対象データをさらに検索し、前記優先検索用の転置インデックスによる検索結果を前記検索用の転置インデックスによる検索結果に先行して出力することを特徴とする請求項1または請求項2に記載の類似データ検索装置。 - コンピュータ装置が、
集合としての検索条件データに類似する集合としての検索対象データを集合間の類似度に基づき検索する際に用いられ、集合間が類似していると判断する類似度の閾値の範囲に対してそれぞれ有効となり、少なくとも1つの転置インデックスが有効となる前記閾値の範囲の一部または全部が他の少なくとも1つの転置インデックスが有効となる前記閾値の範囲に含まれない複数の転置インデックスを用いて、
検索時に指定される類似度の閾値、および、各前記転置インデックスが有効となる前記閾値の範囲に基づいて、前記複数の転置インデックスのうち検索用の転置インデックスを選択し、
前記検索用の転置インデックスを用いて、前記検索条件データに類似する前記検索対象データを検索する方法。 - 集合としての検索条件データに類似する集合としての検索対象データを集合間の類似度に基づき検索する際に用いられ、集合間が類似していると判断する類似度の閾値の範囲に対してそれぞれ有効となり、少なくとも1つの転置インデックスが有効となる前記閾値の範囲の一部または全部が他の少なくとも1つの転置インデックスが有効となる前記閾値の範囲に含まれない複数の転置インデックスを用いて、
検索時に指定される類似度の閾値、および、各前記転置インデックスが有効となる前記閾値の範囲に基づいて、前記複数の転置インデックスのうち検索用の転置インデックスを選択する転置インデックス選択処理と、
前記検索用の転置インデックスを用いて、前記検索条件データに類似する前記検索対象データを検索するデータ検索処理と、
をコンピュータ装置に実行させるプログラム。 - 各前記転置インデックスには、前記転置インデックスが有効となる前記閾値の範囲として、それぞれ異なる前記閾値の範囲が関連付けられ、
前記転置インデックス選択手段は、各前記転置インデックスについて、検索時に指定される類似度の閾値が、その転置インデックスに関連付けされた前記類似度の閾値の範囲に含まれるか否かを判定し、検索時に指定される類似度の閾値を含む前記類似度の閾値の範囲が関連付けされた前記転置インデックスを、検索用の前記転置インデックスとして選択する、
請求項1に記載の類似データ検索装置。 - 前記転置インデックスには、
前記集合としての検索条件データに含まれる要素と、その要素を含む前記集合としての検索条件データと、前記集合間の類似度と、を特定可能なデータの組が1以上格納され、
その転置インデックスに格納された1以上の前記データの組に関する前記集合間の類似度の最大値以下の範囲が、その転置インデックスが有効となる前記閾値の範囲として関連付けされ、
前記転置インデックス選択手段は、検索時に指定される類似度の閾値が、ある前記転置インデックスに格納された1以上の前記データの組に関する前記集合間の類似度の最大値以下ある場合、その前記転置インデックスを、検索用の前記転置インデックスとして選択する、
請求項6に記載の類似データ検索装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016137824 | 2016-07-12 | ||
JP2016137824 | 2016-07-12 | ||
PCT/JP2017/024884 WO2018012413A1 (ja) | 2016-07-12 | 2017-07-07 | 類似データ検索装置、類似データ検索方法および記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2018012413A1 JPWO2018012413A1 (ja) | 2019-05-09 |
JP6773115B2 true JP6773115B2 (ja) | 2020-10-21 |
Family
ID=60951696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018527568A Active JP6773115B2 (ja) | 2016-07-12 | 2017-07-07 | 類似データ検索装置、類似データ検索方法および記録媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190294637A1 (ja) |
JP (1) | JP6773115B2 (ja) |
WO (1) | WO2018012413A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11151081B1 (en) * | 2018-01-03 | 2021-10-19 | Amazon Technologies, Inc. | Data tiering service with cold tier indexing |
CN112507179A (zh) * | 2020-12-11 | 2021-03-16 | 杭州依图医疗技术有限公司 | 医学数据的处理方法和检索方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8271499B2 (en) * | 2009-06-10 | 2012-09-18 | At&T Intellectual Property I, L.P. | Incremental maintenance of inverted indexes for approximate string matching |
-
2017
- 2017-07-07 WO PCT/JP2017/024884 patent/WO2018012413A1/ja active Application Filing
- 2017-07-07 JP JP2018527568A patent/JP6773115B2/ja active Active
- 2017-07-07 US US16/316,379 patent/US20190294637A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20190294637A1 (en) | 2019-09-26 |
WO2018012413A1 (ja) | 2018-01-18 |
JPWO2018012413A1 (ja) | 2019-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4848317B2 (ja) | データベースのインデックス作成システム、方法及びプログラム | |
JP6028567B2 (ja) | データ格納プログラム、データ検索プログラム、データ格納装置、データ検索装置、データ格納方法及びデータ検索方法 | |
JP6332264B2 (ja) | 類似データ検索装置、類似データ検索方法、及びプログラム | |
JP6917942B2 (ja) | データ分析サーバ、データ分析システム、及びデータ分析方法 | |
JP6773115B2 (ja) | 類似データ検索装置、類似データ検索方法および記録媒体 | |
JP5532189B2 (ja) | ルール発見システムと方法と装置並びにプログラム | |
JP6281491B2 (ja) | テキストマイニング装置、テキストマイニング方法及びプログラム | |
JP6428615B2 (ja) | 多次元範囲検索装置及び多次元範囲検索方法 | |
JP2013149061A (ja) | 文書類似性評価システム、文書類似性評価方法およびコンピュータ・プログラム | |
JP6044628B2 (ja) | 乱数発生装置、乱数発生方法、オブジェクト配置装置、並びにコンピュータ・プログラム | |
JP5761043B2 (ja) | 名寄せ処理方法、装置及びプログラム | |
JP6337133B2 (ja) | 非減少列判定装置、非減少列判定方法及びプログラム | |
US9600565B2 (en) | Data structure, index creation device, data search device, index creation method, data search method, and computer-readable recording medium | |
JP2014228975A (ja) | 検索装置、検索方法および検索プログラム | |
JP7099316B2 (ja) | 類似度演算装置、方法、およびプログラム | |
US11281688B2 (en) | Ranking and de-ranking data strings | |
WO2013172309A1 (ja) | ルール発見システムと方法と装置並びにプログラム | |
JP4347086B2 (ja) | パターンマッチング装置および方法ならびにプログラム | |
JP6155920B2 (ja) | 多次元範囲検索装置及び多次元範囲検索方法 | |
KR102233217B1 (ko) | 분할순위패턴매칭 알고리즘 | |
KR102289411B1 (ko) | 가중치 기반의 피처 벡터 생성 장치 및 방법 | |
JP6509719B2 (ja) | 構造データ生成装置、検索装置、構造データ生成方法及び構造データ生成プログラム | |
JP5734932B2 (ja) | アイテムパターン抽出装置、方法、及びプログラム | |
JP2023080989A (ja) | 近似文字列照合方法及び該方法を実現するためのコンピュータプログラム | |
WO2013172308A1 (ja) | ルール発見システムと方法と装置並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200303 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200326 |
|
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: 20200901 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200914 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6773115 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |