JP6912488B2 - 文字列距離計算方法及び装置 - Google Patents
文字列距離計算方法及び装置 Download PDFInfo
- Publication number
- JP6912488B2 JP6912488B2 JP2018544326A JP2018544326A JP6912488B2 JP 6912488 B2 JP6912488 B2 JP 6912488B2 JP 2018544326 A JP2018544326 A JP 2018544326A JP 2018544326 A JP2018544326 A JP 2018544326A JP 6912488 B2 JP6912488 B2 JP 6912488B2
- Authority
- JP
- Japan
- Prior art keywords
- character string
- bitmap
- string
- candidate
- character
- 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
- 238000004364 calculation method Methods 0.000 title claims description 126
- 238000000034 method Methods 0.000 claims description 47
- 238000012216 screening Methods 0.000 claims description 36
- SXGMVGOVILIERA-UHFFFAOYSA-N (2R,3S)-2,3-diaminobutanoic acid Natural products CC(N)C(N)C(O)=O SXGMVGOVILIERA-UHFFFAOYSA-N 0.000 description 7
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical group C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/313—Selection or weighting of terms for indexing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
距離計算モジュール72は、第1の文字量と第2の文字量との間の相違が相違閾値よりも大きければ、候補文字列を、候補文字列集合から選別・排除するように、そして、スクリーニング後の候補文字列集合内の残りの候補文字列に基づいて相違取得モジュールによって計算された第3の文字量が相違閾値よりも大きければ、候補文字列を候補文字列集合から選別・排除するように、構成される。
以下、本発明の実施の態様の例を列挙する。
[第1の局面]
与えられたターゲット文字列に類似する候補文字列を候補文字列集合から選択するために用いられる文字列距離計算方法であって:
前記候補文字列及び前記ターゲット文字列の関連ビットマップ情報を取得するステップであって、前記関連ビットマップ情報は、前記候補文字列及び前記ターゲット文字列に対応する2つの文字列ビットマップのビットマップ重みと、2つの文字列ビットマップ間のビットマップ相違のビットマップ重みとのうちの少なくとも一方を含む、前記取得するステップと;
前記関連ビットマップ情報に基づいて、前記ターゲット文字列との文字列距離が前記候補文字列集合における距離閾値よりも大きい候補文字列を選別・排除し、残りの各候補文字列と前記ターゲット文字列との間の文字列距離を計算するステップと;を備え、
前記文字列ビットマップは、複数のフラグビットを含み、前記フラグビットの値は、第1の値及び第2の値を含み、前記第1の値は、前記フラグビットに対応する所定の標準文字が文字列内に含まれることを示し、前記第2の値は、前記フラグビットに対応する所定の標準文字が前記文字列内に含まれないことを示し、前記文字列ビットマップの前記ビットマップ重みは、前記文字列ビットマップ内の前記第1の値の数を示し、前記ビットマップ相違は、前記ターゲット文字列ビットマップ内の各フラグビットの値及び前記候補文字列ビットマップ内の対応するフラグビットの値に対して排他的OR演算を行うことによって取得され、前記ビットマップ相違の前記ビットマップ重みは、前記ビットマップ相違において排他的OR値が真であるフラグビットの数を示す、
文字列距離計算方法。
[第2の局面]
前記取得された関連ビットマップ情報が、前記候補文字列及び前記ターゲット文字列に対応する前記2つの文字列ビットマップの前記ビットマップ重みを含む場合において、
前記関連ビットマップ情報に基づいて、前記ターゲット文字列との文字列距離が前記候補文字列集合における距離閾値よりも大きい候補文字列を選別・排除する前記ステップは:
前記候補文字列に対応する前記文字列ビットマップのビットマップ重みと前記ターゲット文字列に対応する前記文字列ビットマップのビットマップ重みとの間の相違が前記距離閾値よりも大きい場合、前記候補文字列を選別・排除するステップを備える、
第1の局面に記載の文字列距離計算方法。
[第3の局面]
前記関連ビットマップ情報が、前記候補文字列及び前記ターゲット文字列に対応する前記2つの文字列ビットマップ間の前記ビットマップ相違の前記ビットマップ重みを含む場合において、
前記関連ビットマップ情報に基づいて、前記ターゲット文字列との距離が前記候補文字列集合における距離閾値よりも大きい候補文字列を選別・排除する前記ステップは:
前記2つの文字列ビットマップ間の前記ビットマップ相違の前記ビットマップ重みが前記距離閾値よりも大きい場合、前記候補文字列を選別・排除するステップを備える、
第1の局面に記載の文字列距離計算方法。
[第4の局面]
前記候補文字列集合内の各候補文字列の文字列ビットマップ及び対応するビットマップ重みは、予め計算されて格納され、
前記候補文字列及び前記ターゲット文字列の関連ビットマップ情報を取得する前記ステップと、前記関連ビットマップ情報に基づいて、前記ターゲット文字列との文字列距離が前記候補文字列集合における距離閾値よりも大きい候補文字列を選別・排除し、残りの各候補文字列と前記ターゲット文字列との間の文字列距離を計算する前記ステップとは:
前記ターゲット文字列が与えられる場合、前記ターゲット文字列の前記文字列ビットマップ及び前記対応するビットマップ重みを計算するステップと;
前記候補文字列に対応する前記ビットマップ重みと、前記ターゲット文字列に対応する前記ビットマップ重みとの間の相違が前記距離閾値よりも大きい場合、前記候補文字列の前記文字列ビットマップの前記予め格納されたビットマップ重みに基づいて、前記候補文字列集合から前記候補文字列を選別・排除し、残りの候補文字列が第1の候補文字列集合を形成するステップと;
前記ターゲット文字列及び前記第1の候補文字列集合内の各候補文字列の2つの文字列ビットマップ間のビットマップ相違を計算し、前記ビットマップ相違のビットマップ重みを計算し;前記候補文字列及び前記ターゲット文字列の前記2つの文字列ビットマップ間の前記ビットマップ相違の前記ビットマップ重みが前記距離閾値よりも大きい場合、前記候補文字列を選別・排除して第2の候補文字列集合を取得するステップと;
前記ターゲット文字列と前記第2の候補文字列集合内の各候補文字列との間の文字列距離を計算するステップと;を備える、
第1の局面に記載の文字列距離計算方法。
[第5の局面]
与えられたターゲット文字列に類似する候補文字列を候補文字列集合から選択するために用いられる文字列距離計算方法であって:
前記候補文字列及び前記ターゲット文字列に含まれる文字の文字相違情報を取得するステップと;
前記文字相違情報が相違閾値よりも大きい場合、前記候補文字列を前記候補文字列集合から選別・排除し、前記候補文字列集合内の残りの各候補文字列と前記ターゲット文字列との間の文字列距離を計算するステップと;を備える、
文字列距離計算方法。
[第6の局面]
前記候補文字列及び前記ターゲット文字列に含まれる文字の文字相違情報を取得する前記ステップは:
第1の文字量及び第2の文字量を取得するステップであって、前記第1の文字量は前記候補文字列に含まれる相違文字の数を示し、前記第2の文字量は前記ターゲット文字列に含まれる相違文字の数を示す、第1の文字量及び第2の文字量を取得するステップと;
前記第1の文字量と前記第2の文字量との間の相違を計算し、前記相違を前記文字相違情報として用いるステップと;を備える、
第5の局面に記載の文字列距離計算方法。
[第7の局面]
前記候補文字列及び前記ターゲット文字列に含まれる文字の文字相違情報を取得する前記ステップは:
第3の文字量を取得するステップであって、前記第3の文字量は前記候補文字列及び前記ターゲット文字列のうちの一方だけに含まれる文字の数を示す、第3の文字量を取得するステップと;
前記第3の文字量を前記文字相違情報として用いるステップ;を備える、
第5の局面に記載の文字列距離計算方法。
[第8の局面]
前記候補文字列及び前記ターゲット文字列に備えられる文字の文字相違情報を取得し、前記文字相違情報が相違閾値よりも大きければ、前記候補文字列を前記候補文字列集合から選別・排除する前記ステップは:
第1の文字量と第2の文字量との間の相違を計算するステップであって、前記第1の文字量は前記候補文字列に含まれる相違文字の数を示し、前記第2の文字量は前記ターゲット文字列に含まれる相違文字の数を示す、前記計算するステップと;
前記相違が前記相違閾値よりも大きい場合、前記候補文字列を前記候補文字列集合から選別・排除するステップと;
前記候補文字列集合内の残りの候補文字列を前記ターゲット文字列と比較し、第3の文字量を計算するステップであって、前記第3の文字量は前記候補文字列及び前記ターゲット文字列のうちの一方だけに含まれる文字の数を示す前記候補文字列集合内の残りの候補文字列を前記ターゲット文字列と比較する、前記計算するステップと;
前記第3の文字量が前記相違閾値よりも大きい場合、前記候補文字列を前記候補文字列集合から選別・排除するステップと;を備える、
第5の局面に記載の文字列距離計算方法。
[第9の局面]
前記候補文字列及び前記ターゲット文字列に含まれる文字の文字相違情報を取得する前記ステップは:
文字列ビットマップを用いて前記候補文字列及び前記ターゲット文字列を表すステップであって、前記文字列ビットマップは、複数のフラグビットを含み、前記フラグビットの値は、第1の値及び第2の値を含み、前記第1の値は、前記フラグビットに対応する所定の標準文字が文字列内に含まれることを示し、前記第2の値は、前記フラグビットに対応する所定の標準文字が前記文字列内に含まれないことを示す、前記表すステップと;
前記文字列ビットマップに基づいて前記文字相違情報を取得するステップと;を備える、
第5の局面に記載の文字列距離計算方法。
[第10の局面]
前記文字列ビットマップに基づいて前記文字相違情報を取得する前記ステップは:
前記候補文字列及び前記ターゲット文字列に対応する前記2つの文字列ビットマップのビットマップ重みを計算するステップであって、前記文字列ビットマップの前記ビットマップ重みは、前記文字列ビットマップ内の第1の値の数を示す前記候補文字列及び前記ターゲット文字列に対応する、前記計算するステップと;
前記候補文字列に対応する前記文字列ビットマップの前記ビットマップ重みと前記ターゲット文字列に対応する前記文字列ビットマップの前記ビットマップ重みとの間の相違を計算するステップと;を備える、
第9の局面に記載の文字列距離計算方法。
[第11の局面]
前記文字列ビットマップに基づいて前記文字相違情報を取得する前記ステップは:
前記ターゲット文字列ビットマップ内の各フラグビットの値と、前記候補文字列ビットマップ内の対応するフラグビットの値とに対して排他的OR演算を行って、ビットマップ相違を取得するステップと;
前記ビットマップ相違のビットマップ重みを計算するステップであって、前記ビットマップ重みは、前記ビットマップ相違において排他的OR値が真であるフラグビットの数を示す、前記計算するステップと;を備える、
第9の局面に記載の文字列距離計算方法。
[第12の局面]
前記相違閾値は、文字列距離の距離閾値である、
第5乃至11の局面のいずれかに記載の文字列距離計算方法。
[第13の局面]
与えられたターゲット文字列に類似する候補文字列を候補文字列集合から選択するように構成された文字列距離計算装置であって:
前記候補文字列及び前記ターゲット文字列の関連ビットマップ情報を取得するように構成される情報取得モジュールであって、前記関連ビットマップ情報は、前記候補文字列及び前記ターゲット文字列に対応する2つの文字列ビットマップのビットマップ重みと、2つの文字列ビットマップ間のビットマップ相違のビットマップ重みとのうちの少なくとも一方を含み、前記文字列ビットマップは、複数のフラグビットを含み、前記フラグビットの値は、第1の値及び第2の値を含み、前記第1の値は、前記フラグビットに対応する所定の標準文字が文字列内に含まれることを示し、前記第2の値は、前記フラグビットに対応する所定の標準文字が前記文字列内に含まれないことを示し、前記文字列ビットマップの前記ビットマップ重みは、前記文字列ビットマップ内の第1の値の数を示し、前記ビットマップ相違は、前記ターゲット文字列ビットマップ内の各フラグビットの値と、前記候補文字列ビットマップ内の対応するフラグビットの値とに対して排他的OR演算を行うことによって取得され、そして、前記ビットマップ相違の前記ビットマップ重みは、前記ビットマップ相違において排他的OR値が真であるフラグビットの数を示す、前記情報取得モジュールと;
前記関連ビットマップ情報に基づいて、前記ターゲット文字列との文字列距離が前記候補文字列集合における距離閾値よりも大きい候補文字列を選別・排除し、残りの各候補文字列と前記ターゲット文字列との間の文字列距離を計算するよう構成されるスクリーニングモジュールと;を備える、
文字列距離計算装置。
[第14の局面]
前記情報取得モジュールによって取得された前記関連ビットマップ情報が、前記候補文字列及び前記ターゲット文字列に対応する前記2つの文字列ビットマップの前記ビットマップ重みを含む場合、前記スクリーニングモジュールは、前記候補文字列に対応する前記文字列ビットマップのビットマップ重みと、前記ターゲット文字列に対応する前記文字列ビットマップのビットマップ重みとの間の相違が前記距離閾値よりも大きければ、前記候補文字列を選別して排除するように構成される、
第13の局面に記載の文字列距離計算装置。
[第15の局面]
前記情報取得モジュールによって取得された前記関連ビットマップ情報が前記候補文字列及び前記ターゲット文字列に対応する前記2つの文字列ビットマップ間の前記ビットマップ相違の前記ビットマップ重みを含む場合、前記スクリーニングモジュールは、前記2つの文字列ビットマップ間の前記ビットマップ相違の前記ビットマップ重みが前記距離閾値よりも大きい場合、前記候補文字列を選別・排除するように構成される、
第13の局面に記載の文字列距離計算装置。
[第16の局面]
前記スクリーニングモジュールは:
前記ターゲット文字列が与えられた場合、前記ターゲット文字列の前記文字列ビットマップ及び前記対応するビットマップ重みを計算するように構成される計算ユニットと;
前記候補文字列に対応する前記ビットマップ重みと、前記ターゲット文字列に対応するビットマップ重みとの間の相違が前記距離閾値よりも大きい場合、前記候補文字列の前記文字列ビットマップの前記予め格納されたビットマップ重みに基づいて、前記候補文字列集合から前記候補文字列を選別・排除するよう構成される第1のスクリーニングユニットであって、残りの候補文字列は第1の候補文字列集合を形成する、第1のスクリーニングユニットと;
前記ターゲット文字列及び前記第1の候補文字列集合内の各候補文字列の2つの文字列ビットマップ間のビットマップ相違を計算し、前記ビットマップ相違のビットマップ重みを計算し;前記候補文字列及び前記ターゲット文字列の前記2つの文字列ビットマップ間の前記ビットマップ相違の前記ビットマップ重みが前記距離閾値よりも大きい場合、前記候補文字列を選別・排除して、第2の候補文字列集合を取得するように構成される第2のスクリーニングユニットと;
前記ターゲット文字列と前記第2の候補文字列集合内の各候補文字列との間の文字列距離を計算するように構成される距離計算ユニットと;を備える、
第13の局面に記載の文字列距離計算装置。
[第17の局面]
候補文字列集合から与えられたターゲット文字列に類似する候補文字列を選択するように構成された文字列距離計算装置であって:
前記候補文字列及び前記ターゲット文字列に含まれる文字の文字相違情報を取得するよう構成される相違取得モジュールと;
前記文字相違情報が相違閾値よりも大きい場合、前記候補文字列を前記候補文字列集合から選別・排除し、前記候補文字列集合内の残りの各候補文字列と前記ターゲット文字列との間の文字列距離を計算するように構成される距離計算モジュールと;を備える、
文字列距離計算装置。
[第18の局面]
前記相違取得モジュールは、第1の文字量及び第2の文字量を取得し、前記第1の文字量は前記候補文字列に含まれる相違文字の数を示しており、前記第2の文字量は前記ターゲット文字列に含まれる相違文字の数を示しており、前記第1の文字量と前記第2の文字量との間の相違を計算し、前記相違を前記文字相違情報として用いるよう構成される、
第17の局面に記載の文字列距離計算装置。
[第19の局面]
前記相違取得モジュールは、第3の文字量を取得し、前記第3の文字量は前記候補文字列及び前記ターゲット文字列のうちの一方だけに含まれる文字の数を示しており、前記第3の文字量を前記文字相違情報として用いるように構成される、
第17の局面に記載の文字列距離計算装置。
[第20の局面]
前記相違取得モジュールは、第1の文字量と第2の文字量との間の相違を計算し、前記第1の文字量は前記候補文字列に含まれる相違文字の数を示し、前記第2の文字量は前記ターゲット文字列に含まれる相違文字の数を示しており、前記候補文字列を前記ターゲット文字列と比較し、第3の文字量を計算し、前記第3の文字量は前記候補文字列及び前記ターゲット文字列のうちの一方だけに含まれる文字の数を示すよう構成され、
前記距離計算モジュールは、前記第1の文字量と前記第2の文字量との間の前記相違が前記相違閾値よりも大きい場合、前記候補文字列を前記候補文字列集合から選別・排除し;前記スクリーニング後の前記候補文字列集合内の残りの候補文字列に基づいて前記相違取得モジュールによって計算された前記第3の文字量が前記相違閾値よりも大きい場合、前記候補文字列を前記候補文字列集合から選別・排除するように構成される、
第17の局面に記載の文字列距離計算装置。
[第21の局面]
前記相違取得モジュールは:
文字列ビットマップを用いて前記候補文字列及び前記ターゲット文字列を表すよう構成されるビットマップ計算ユニットであって、前記文字列ビットマップは複数のフラグビットを含み、前記フラグビットの値は第1の値及び第2の値を含み、前記第1の値は、前記フラグビットに対応する所定の標準文字が文字列内に含まれていることを示し、前記第2の値は、前記フラグビットに対応する所定の標準文字が前記文字列内に含まれていないことを示す、文字列ビットマップを用いて前記候補文字列及び前記ターゲット文字列を表す、前記ビットマップ計算ユニットと;
前記文字列ビットマップに基づいて前記文字相違情報を取得するように構成される相違計算ユニットと;を備える、
第17の局面に記載の文字列距離計算装置。
[第22の局面]
前記相違計算ユニットは:
前記候補文字列及び前記ターゲット文字列に対応する前記2つの文字列ビットマップの、前記文字列ビットマップ内の第1の値の数を示すビットマップ重みを計算するように;及び、
前記候補文字列に対応する前記文字列ビットマップの前記ビットマップ重みと前記ターゲット文字列に対応する前記文字列ビットマップの前記ビットマップ重みとの間の相違を計算するように;構成される、
第21の局面に記載の文字列距離計算装置。
[第23の局面]
前記相違計算ユニットは:
前記ターゲット文字列ビットマップ内の各フラグビットの値と、前記候補文字列ビットマップ内の対応するフラグビットの値とに対して排他的OR演算を実行してビットマップ相違を取得するように;及び、
前記ビットマップ相違の、前記ビットマップ相違において排他的OR値が真であるフラグビットの数を示すビットマップ重みを計算するように;構成される、
第21の局面に記載の文字列距離計算装置。
[第24の局面]
前記相違閾値は文字列距離の距離閾値である、
第17乃至23の局面のいずれかに記載の文字列距離計算装置。
420 通信インターフェース
430 メモリ
440 バス
51 情報取得モジュール
52 スクリーニングモジュール
521 計算ユニット
522 第1のスクリーニングユニット
523 第2のスクリーニングユニット
524 距離計算ユニット
71 相違取得モジュール
72 距離計算モジュール
711 ビットマップ計算ユニット
712 相違計算ユニット
Claims (13)
- 与えられたターゲット文字列に類似する候補文字列を候補文字列集合から選択するために用いられる、文字列距離を計算するためのコンピュータ実装方法であって、
情報取得モジュールによって、前記候補文字列及び前記ターゲット文字列の関連ビットマップ情報を取得するステップ(201)であって、前記関連ビットマップ情報は、前記候補文字列及び前記ターゲット文字列に対応する2つの文字列ビットマップのビットマップ重みと、2つの文字列ビットマップ間のビットマップ相違のビットマップ重みとのうちの少なくとも一方を含む、ステップと、
スクリーニングモジュールによって、前記関連ビットマップ情報に基づいて、前記ターゲット文字列との文字列距離が前記候補文字列集合における距離閾値よりも大きい候補文字列を選別・排除し、残りの各候補文字列と前記ターゲット文字列との間の文字列距離を計算するステップ(202)と
を備え、
前記文字列ビットマップは、複数のフラグビットを含み、
前記フラグビットの値は、第1の値及び第2の値を含み、前記第1の値は、前記フラグビットに対応する所定の標準文字が文字列内に含まれることを示し、前記第2の値は、前記フラグビットに対応する所定の標準文字が前記文字列内に含まれないことを示し、
前記文字列ビットマップの前記ビットマップ重みは、前記文字列ビットマップ内の前記第1の値の数を示し、
前記ビットマップ相違は、前記ターゲット文字列の前記関連ビットマップ情報内の各フラグビットの値及び前記候補文字列の前記関連ビットマップ情報内の対応するフラグビットの値に対して排他的OR演算を行うことによって取得され、
前記ビットマップ相違の前記ビットマップ重みは、前記ビットマップ相違において排他的OR値が真であるフラグビットの数を示す、
方法。 - 前記取得された関連ビットマップ情報が、前記候補文字列及び前記ターゲット文字列に対応する前記2つの文字列ビットマップの前記ビットマップ重みを含む場合、前記関連ビットマップ情報に基づいて、前記ターゲット文字列との文字列距離が前記候補文字列集合における距離閾値よりも大きい候補文字列を選別・排除するステップが、前記候補文字列に対応する前記文字列ビットマップのビットマップ重みと前記ターゲット文字列に対応する前記文字列ビットマップのビットマップ重みとの間の相違が前記距離閾値よりも大きい場合、前記候補文字列を選別・排除するステップを備える、請求項1に記載の方法。
- 前記関連ビットマップ情報が、前記候補文字列及び前記ターゲット文字列に対応する前記2つの文字列ビットマップ間の前記ビットマップ相違の前記ビットマップ重みを含む場合、前記関連ビットマップ情報に基づいて、前記ターゲット文字列との距離が前記候補文字列集合における距離閾値よりも大きい候補文字列を選別・排除するステップが、前記2つの文字列ビットマップ間の前記ビットマップ相違の前記ビットマップ重みが前記距離閾値よりも大きい場合、前記候補文字列を選別・排除するステップを備える、請求項1に記載の方法。
- 前記候補文字列集合内の各候補文字列の文字列ビットマップ及び対応するビットマップ重みは、予め計算されて格納され、
前記候補文字列及び前記ターゲット文字列の関連ビットマップ情報を取得するステップと、前記関連ビットマップ情報に基づいて、前記ターゲット文字列との文字列距離が前記候補文字列集合における距離閾値よりも大きい候補文字列を選別・排除し、残りの各候補文字列と前記ターゲット文字列との間の文字列距離を計算するステップとが、
前記ターゲット文字列が与えられる場合、前記ターゲット文字列の前記文字列ビットマップ及び前記対応するビットマップ重みを計算するステップ(301)と、
前記候補文字列に対応する前記ビットマップ重みと前記ターゲット文字列に対応する前記ビットマップ重みとの間の相違が前記距離閾値よりも大きい場合、前記候補文字列の前記文字列ビットマップの前記予め格納されたビットマップ重みに基づいて、前記候補文字列集合から前記候補文字列を選別・排除するステップ(302)であって、残りの候補文字列が第1の候補文字列集合を形成する、ステップと、
前記ターゲット文字列及び前記第1の候補文字列集合内の各候補文字列の2つの文字列ビットマップ間のビットマップ相違を計算し、前記ビットマップ相違のビットマップ重みを計算するステップ(303)と、
前記候補文字列及び前記ターゲット文字列の前記2つの文字列ビットマップ間の前記ビットマップ相違の前記ビットマップ重みが前記距離閾値よりも大きい場合、前記候補文字列を選別・排除して第2の候補文字列集合を取得するステップ(303)と、
前記ターゲット文字列と前記第2の候補文字列集合内の各候補文字列との間の文字列距離を計算するステップ(304)と
を備える、請求項1に記載の方法。 - 与えられたターゲット文字列に類似する候補文字列を候補文字列集合から選択するために用いられる、文字列距離を計算するためのコンピュータ実装方法であって、
相違取得モジュールによって、前記候補文字列及び前記ターゲット文字列に含まれる文字の文字相違情報を取得するステップ(101)であって、
文字列ビットマップを用いて前記候補文字列及び前記ターゲット文字列を表すステップであって、前記文字列ビットマップは、複数のフラグビットを含み、前記フラグビットの値は、第1の値及び第2の値を含み、前記第1の値は、前記フラグビットに対応する所定の標準文字が文字列内に含まれることを示し、前記第2の値は、前記フラグビットに対応する所定の標準文字が前記文字列内に含まれないことを示す、ステップと、
前記文字列ビットマップに基づいて前記文字相違情報を取得するステップと
を備える、ステップと、
距離計算モジュールによって、前記文字相違情報が相違閾値よりも大きい場合、前記候補文字列を前記候補文字列集合から選別・排除し、前記候補文字列集合内の残りの各候補文字列と前記ターゲット文字列との間の文字列距離を計算するステップ(102)と
を備える、方法。 - 前記候補文字列及び前記ターゲット文字列に含まれる文字の文字相違情報を取得するステップが、
第1の文字量及び第2の文字量を取得するステップであって、前記第1の文字量は前記候補文字列に含まれる相違文字の数を示し、前記第2の文字量は前記ターゲット文字列に含まれる相違文字の数を示す、ステップと、
前記第1の文字量と前記第2の文字量との間の相違を計算し、前記相違を前記文字相違情報として用いるステップと
を備える、請求項5に記載の方法。 - 前記候補文字列及び前記ターゲット文字列に含まれる文字の文字相違情報を取得するステップが、
第3の文字量を取得するステップであって、前記第3の文字量は前記候補文字列及び前記ターゲット文字列のうちの一方だけに含まれる文字の数を示す、ステップと、
前記第3の文字量を前記文字相違情報として用いるステップと
を備える、請求項5に記載の方法。 - 前記候補文字列及び前記ターゲット文字列に備えられる文字の文字相違情報を取得し、前記候補文字列を前記候補文字列集合から選別・排除するステップが、
第1の文字量と第2の文字量との間の相違を計算するステップであって、前記第1の文字量は前記候補文字列に含まれる相違文字の数を示し、前記第2の文字量は前記ターゲット文字列に含まれる相違文字の数を示す、ステップと、
前記相違が前記相違閾値よりも大きい場合、前記候補文字列を前記候補文字列集合から選別・排除するステップと、
前記候補文字列集合内の残りの候補文字列を前記ターゲット文字列と比較し、第3の文字量を計算するステップであって、前記第3の文字量は前記候補文字列及び前記ターゲット文字列のうちの一方だけに含まれる文字の数を示す前記候補文字列集合内の残りの候補文字列を前記ターゲット文字列と比較する、ステップと、
前記第3の文字量が前記相違閾値よりも大きい場合、前記候補文字列を前記候補文字列集合から選別・排除するステップと
を備える、請求項5に記載の方法。 - 前記文字列ビットマップに基づいて前記文字相違情報を取得するステップが、
前記候補文字列及び前記ターゲット文字列に対応する前記2つの文字列ビットマップのビットマップ重みを計算するステップであって、前記文字列ビットマップの前記ビットマップ重みは、前記文字列ビットマップ内の第1の値の数を示す前記候補文字列及び前記ターゲット文字列に対応する、ステップと、
前記候補文字列に対応する前記文字列ビットマップの前記ビットマップ重みと前記ターゲット文字列に対応する前記文字列ビットマップの前記ビットマップ重みとの間の相違を計算するステップと
を備える、請求項5に記載の方法。 - 前記文字列ビットマップに基づいて前記文字相違情報を取得するステップが、
前記ターゲット文字列に対応する前記文字列ビットマップ内の各フラグビットの値と、前記候補文字列に対応する前記文字列ビットマップ内の対応するフラグビットの値とに対して排他的OR演算を行って、ビットマップ相違を取得するステップと、
前記ビットマップ相違のビットマップ重みを計算するステップであって、前記ビットマップ重みは、前記ビットマップ相違において排他的OR値が真であるフラグビットの数を示す、ステップと
を備える、請求項5に記載の方法。 - 前記相違閾値が文字列距離の距離閾値である、請求項5〜請求項10のいずれか一項に記載の方法。
- 文字列距離を計算する装置であって、与えられたターゲット文字列に類似する候補文字列を候補文字列集合から選択するように構成され、かつ請求項1〜4のいずれか一項に記載の方法を実行するように構成された複数のモジュールを備える、装置。
- 文字列距離を計算する装置であって、候補文字列集合から与えられたターゲット文字列に類似する候補文字列を選択するように構成され、かつ請求項1〜11のいずれか一項に記載の方法を実行するように構成された複数のモジュールを備える、装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610096589.9 | 2016-02-22 | ||
CN201610096589.9A CN107102998A (zh) | 2016-02-22 | 2016-02-22 | 一种字符串距离计算方法和装置 |
PCT/CN2017/073134 WO2017143907A1 (zh) | 2016-02-22 | 2017-02-09 | 一种字符串距离计算方法和装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019512127A JP2019512127A (ja) | 2019-05-09 |
JP2019512127A5 JP2019512127A5 (ja) | 2020-02-13 |
JP6912488B2 true JP6912488B2 (ja) | 2021-08-04 |
Family
ID=59658856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018544326A Active JP6912488B2 (ja) | 2016-02-22 | 2017-02-09 | 文字列距離計算方法及び装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11256756B2 (ja) |
EP (1) | EP3422209B1 (ja) |
JP (1) | JP6912488B2 (ja) |
CN (1) | CN107102998A (ja) |
TW (1) | TWI659358B (ja) |
WO (1) | WO2017143907A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268592B (zh) * | 2017-12-08 | 2020-07-10 | 中国平安财产保险股份有限公司 | 基于json数据的筛选方法、装置、服务器和存储介质 |
CN109191226B (zh) * | 2018-06-29 | 2021-10-12 | 创新先进技术有限公司 | 风险控制方法和装置 |
CN108984695B (zh) * | 2018-07-04 | 2021-04-06 | 科大讯飞股份有限公司 | 一种字符串匹配方法及装置 |
US11416661B2 (en) * | 2019-08-07 | 2022-08-16 | Synopsys, Inc. | Automatic derivation of integrated circuit cell mapping rules in an engineering change order flow |
CN111457543B (zh) * | 2020-04-21 | 2021-08-27 | 宁波奥克斯电气股份有限公司 | 一种空调器的控制方法、系统、空调器及存储介质 |
CN112417835B (zh) * | 2020-11-18 | 2023-11-14 | 云南电网有限责任公司信息中心 | 基于自然语言处理技术的采购文件智能化审查方法及系统 |
CN113012265B (zh) * | 2021-04-22 | 2024-04-30 | 中国平安人寿保险股份有限公司 | 针式打印字符图像生成方法、装置、计算机设备和介质 |
US11973800B2 (en) * | 2021-08-20 | 2024-04-30 | Palo Alto Networks, Inc. | Domain squatting detection |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5847064B2 (ja) * | 1978-07-08 | 1983-10-20 | 工業技術院長 | 文字読取方式 |
US5774588A (en) * | 1995-06-07 | 1998-06-30 | United Parcel Service Of America, Inc. | Method and system for comparing strings with entries of a lexicon |
US20050086234A1 (en) * | 2003-10-15 | 2005-04-21 | Sierra Wireless, Inc., A Canadian Corporation | Incremental search of keyword strings |
US8224830B2 (en) * | 2005-03-19 | 2012-07-17 | Activeprime, Inc. | Systems and methods for manipulation of inexact semi-structured data |
JP5190192B2 (ja) | 2006-10-18 | 2013-04-24 | 新日鉄住金ソリューションズ株式会社 | 検索装置、検索方法及びプログラム |
US8189931B2 (en) | 2008-01-04 | 2012-05-29 | International Business Machines Corporation | Method and apparatus for matching of bracketed patterns in test strings |
JP5116775B2 (ja) * | 2007-11-19 | 2013-01-09 | 日本電信電話株式会社 | 情報検索方法及び装置及びプログラム及びコンピュータ読取可能な記録媒体 |
CN101572693A (zh) * | 2008-04-29 | 2009-11-04 | 国际商业机器公司 | 用于并行模式匹配的设备和方法 |
JP2009271584A (ja) | 2008-04-30 | 2009-11-19 | Tokyo Metropolitan Univ | 類似情報検索システムおよび類似情報検索プログラム |
EP2579165B1 (en) * | 2010-05-28 | 2018-08-29 | Fujitsu Limited | Information generation program, device, method, and information retrieval program, device, method |
US9020911B2 (en) * | 2012-01-18 | 2015-04-28 | International Business Machines Corporation | Name search using multiple bitmap distributions |
CN103455753B (zh) * | 2012-05-30 | 2016-07-13 | 北京金山安全软件有限公司 | 一种样本文件分析方法及装置 |
CN103838789A (zh) * | 2012-11-27 | 2014-06-04 | 大连灵动科技发展有限公司 | 一种文本相似度计算方法 |
CN104462055B (zh) * | 2013-09-23 | 2017-05-10 | 北京捷软世纪信息技术有限公司 | 一种名称相似度获取方法及装置 |
CN104008119B (zh) * | 2013-12-30 | 2017-09-26 | 西南交通大学 | 一种一对多的混合字符串融合比对方法 |
CN104484391B (zh) * | 2014-12-11 | 2017-11-21 | 北京国双科技有限公司 | 字符串相似度的计算方法和装置 |
CN105117466A (zh) * | 2015-08-27 | 2015-12-02 | 中国电信股份有限公司湖北号百信息服务分公司 | 一种互联网信息筛选系统及方法 |
US9965519B2 (en) * | 2015-11-25 | 2018-05-08 | Passport Health Communications, Inc. | Document linkage and forwarding |
-
2016
- 2016-02-22 CN CN201610096589.9A patent/CN107102998A/zh active Pending
- 2016-12-29 TW TW105143941A patent/TWI659358B/zh active
-
2017
- 2017-02-09 EP EP17755736.0A patent/EP3422209B1/en active Active
- 2017-02-09 WO PCT/CN2017/073134 patent/WO2017143907A1/zh active Application Filing
- 2017-02-09 JP JP2018544326A patent/JP6912488B2/ja active Active
-
2018
- 2018-08-21 US US16/107,027 patent/US11256756B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3422209A4 (en) | 2019-07-31 |
TWI659358B (zh) | 2019-05-11 |
CN107102998A (zh) | 2017-08-29 |
JP2019512127A (ja) | 2019-05-09 |
WO2017143907A1 (zh) | 2017-08-31 |
US11256756B2 (en) | 2022-02-22 |
US20180357332A1 (en) | 2018-12-13 |
EP3422209A1 (en) | 2019-01-02 |
EP3422209B1 (en) | 2022-07-06 |
TW201730757A (zh) | 2017-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6912488B2 (ja) | 文字列距離計算方法及び装置 | |
EP3091450B1 (en) | Method and system for performing binary searches | |
US20140122509A1 (en) | System, method, and computer program product for performing a string search | |
US20170083785A1 (en) | Method and system for improved optical character recognition | |
CN105574156B (zh) | 文本聚类方法、装置及计算设备 | |
CN105589894B (zh) | 文档索引建立方法和装置、文档检索方法和装置 | |
KR20170004983A (ko) | 라인 분할 방법 | |
KR101379128B1 (ko) | 사전 생성 장치, 사전 생성 방법 및 사전 생성 프로그램을 기억하는 컴퓨터 판독 가능 기록 매체 | |
US20030158725A1 (en) | Method and apparatus for identifying words with common stems | |
US11574004B2 (en) | Visual image search using text-based search engines | |
CN113688240A (zh) | 威胁要素提取方法、装置、设备及存储介质 | |
CN110532569B (zh) | 一种基于中文分词的数据碰撞方法及系统 | |
CN111160445A (zh) | 投标文件相似度计算方法及装置 | |
CN113408280B (zh) | 负例构造方法、装置、设备和存储介质 | |
US11144712B2 (en) | Dictionary creation apparatus, dictionary creation method, and non-transitory computer-readable storage medium for storing dictionary creation program | |
JP5049965B2 (ja) | データ処理装置及び方法 | |
US20200019606A1 (en) | Expression recognition using character skipping | |
CN106919554B (zh) | 文档中无效词的识别方法及装置 | |
JP2017107472A (ja) | 文字列検索方法および装置 | |
US9830355B2 (en) | Computer-implemented method of performing a search using signatures | |
CN112818167B (zh) | 实体检索方法、装置、电子设备及计算机可读存储介质 | |
US10936901B2 (en) | Information processing device and non-transitory computer readable recording medium | |
CN112559474A (zh) | 日志处理方法和装置 | |
CN112395865A (zh) | 报关单校验方法及装置 | |
CN116361517B (zh) | 一种企业字号查重方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191225 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191225 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20200605 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20201228 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210329 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210623 |
|
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: 20210705 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210708 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6912488 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |