JP2020123210A - データ検索装置、方法およびプログラム - Google Patents
データ検索装置、方法およびプログラム Download PDFInfo
- Publication number
- JP2020123210A JP2020123210A JP2019015479A JP2019015479A JP2020123210A JP 2020123210 A JP2020123210 A JP 2020123210A JP 2019015479 A JP2019015479 A JP 2019015479A JP 2019015479 A JP2019015479 A JP 2019015479A JP 2020123210 A JP2020123210 A JP 2020123210A
- Authority
- JP
- Japan
- Prior art keywords
- data name
- name
- master data
- list
- input data
- 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
Links
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/93—Document management systems
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2468—Fuzzy queries
-
- 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
- G06F16/3346—Query execution using probabilistic model
-
- 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/338—Presentation of query results
-
- 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/9035—Filtering based on additional data, e.g. user or group profiles
-
- 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/9038—Presentation of query results
-
- 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/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Library & Information Science (AREA)
- Automation & Control Theory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
Description
本発明の一実施形態に係るデータ検索装置は、マスタデータ名と入力データ名との間で、編集距離として代表的なLevenshtein(レーベンシュタイン)距離の算出、およびTF(Term Frequency、単語の出現頻度)−IDF(Inverse Document Frequency、逆文書頻度)によるデータ名の類似度の算出を行ない、これらの算出結果に加えて、各データの論理的あるいは物理的な隣接情報を使用する。TF−IDFは、例えば文書中に含まれる単語の重要度を評価するために用いられる。
図1に示すように、本発明の一実施形態に係るデータ検索装置10は、Levenshtein距離算出部11、TF−IDF算出部12、データ入力部13、計算部14、絞り込み部15、データ出力部16を備える。図1に示すデータ検索装置10の機能は、プログラムを実行するCPU(Central Processing Unit)等のプロセッサ、キーボードなどの入力装置、ディスプレイなどの出力装置、およびRAM(Random Access Memory)、ROM(Read Only Memory)等の記憶媒体を用いて実現される。各部の動作については後述する。
論理的あるいは物理的な隣接情報が付属しているデータとして、ビル名およびビル間の接続情報を具体例として使用する。
ここでは、「マスタデータにあるビル名のリスト」、「実際にデータに入力されたビル名のリスト」、「マスタデータに存在する各ビルの接続情報」、および「実際にデータに入力されたビルの接続情報」が内部メモリに格納されているとする。
・接続情報を用いた絞り込み手法(1)(Levenリストと接続情報)
(ステップ1) (S01)Levenリストに対しては、複数の原名候補を持つ略名、および略名と原名の名前が異なる(同一でない)略名を、[原名不明]と呼び、下記の式で定義する。
i) ajと[原名候補]jとは異なる原名の組み合わせが、[原略対応表]に存在した場合(S18: =1)、計算部14は、既に存在した方(L(aj), aj)を誤りとして削除し(S19-1)、接続情報を用いて選択した原名との組み合わせ、([原名候補]j,aj)を正解とする(S21)。
iii) ajと[原名候補]jの組み合わせが、[原略対応表]にも[原略対応表(複)]にも存在しない場合(S18: =0)、計算部14は、ajと[原名候補]jを[原略対応表]に追加する(S21)。
Levenshtein距離算出部11は、aj∈[原名不明]と、[原名候補]jの各原名とのLevenshtein距離を算出する。ここでは、「置換コスト:1000000、追加コスト:1000、削除コスト:1」と設定する。この下で算出された距離の下3桁が、[原名候補]jの各原名を略名ajへ変換するためにそれぞれ必要な削除回数に相当する。[原名候補]jの原名riにおいて、その削除回数がriの文字数以上であれば(S30: Yes)、絞り込み部15は、riは略名ajと共通する文字を持たないとして[原名候補]jから削除する(S31)。S30でNoのとき、又はS31の後は、aj∈[原名不明]と、[原名候補]jの全原名とのLevenshtein距離を計算が完了するまでS30, S31の処理を繰り返す。
TF−IDFリストに対しても、データ検索装置10は、上記のステップ1〜5と同様の操作を行なうことで[原名不明]及び対応する[原名候補]を得ることができる。ただし、全過程において上記で用いた関数Lを関数Tに読み替え、ステップ1において、原名が不明である略名、複数の原名候補を持つ略名、および略名と原名の名前が異なる(同一でない)略名を、[原名不明]としてリスト化する。その他の操作はLevenリストに対するステップ1から5と同様である。
データ:
Υ={福島、山田小湊、いわき泉、いわき三坂、会津若松吾妻、福島相馬、いわき、会津若松、須賀川、郡山}
Α={福島、小湊、泉、三阪、吾妻、相馬、いわき、会津若松、第二矢吹、郡山}
通称表記:あり(「須賀川」というビル名が「第二矢吹」という通称で入力されている)
正確な原名と略名の組み合わせ:
{((福島、福島)、(山田小湊、小湊)、(福島相馬、相馬)、(いわき、いわき)、(郡山、郡山)、(いわき泉、泉)、(会津若松、会津若松)、(いわき三坂、三阪)、(須賀川、第二矢吹)、(会津若松吾妻、吾妻))}
このようにして、データ検索装置10は、マスタデータ名と実際に入力されたデータ名との対応表をデータ出力部16により出力することができる。
(ステップ1)
Levenshtein距離算出部11は、Levenshtein距離を用いて各略名と最小距離にある原名を選択する。このとき得られたLevenリストは、
Levenリスト={((福島、福島)、(山田小湊、小湊)、(福島相馬、相馬)、(いわき、いわき),(会津若松、会津若松)、(郡山、郡山)、((福島、いわき泉、郡山)、泉)、((福島、郡山)、三阪)、((福島、会津若松吾妻、郡山)、吾妻)、((福島、郡山)、第二矢吹))}
であった。これより[原名不明]および[原略対応表]、[原略対応表(複)]は、
[原名不明]={小湊、泉、三阪、吾妻、相馬、第二矢吹}
[原略対応表]={((福島、福島)、(山田小湊、小湊)、(福島相馬、相馬)、(いわき、いわき)、(会津若松、会津若松)、(郡山、郡山))}
[原略対応表(複)]={(((福島、いわき泉、郡山)、泉)、((福島、郡山)、三阪)、((福島、会津若松吾妻、郡山)、吾妻)、((福島、郡山)、第二矢吹))}
となる。
「実際にデータに入力されたビルの接続情報」としては次のようなBrを想定した。
Br={((吾妻、会津若松)、(吾妻、いわき)、(吾妻、福島)、(吾妻、泉)、(小湊、泉)、(泉、第二矢吹)、(泉、福島)、(福島、相馬)、(福島、三阪)、(郡山、第二矢吹)、(相馬、三阪))}
計算部14は、[原名不明]の各略名に対して接続情報Brを用いて相方略名をリストアップする。
j=2(略名:小湊) [相方略名]2={泉}
j=3(略名:泉) [相方略名]3={吾妻、小湊、第二矢吹、福島}
j=4(略名:三阪) [相方略名]4={福島、相馬}
j=5(略名:吾妻) [相方略名]5={会津若松、いわき、福島、泉}
j=6(略名:相馬) [相方略名]6={福島、三阪}
j=9(略名:第二矢吹) [相方略名]9={郡山}
このようにして相方略名を得ることができる。
計算部14は、各相方原名を得る。
j=2(略名:小湊) [相方原名]2={ }
j=3(略名:泉) [相方原名]3={山田小湊、福島}
j=4(略名:三阪) [相方原名]4={福島、福島相馬}
j=5(略名:吾妻) [相方原名]5={会津若松、いわき、福島}
j=6(略名:相馬) [相方原名]6={福島}
j=9(略名:第二矢吹) [相方原名]9={郡山}
このようにして相方原名を得ることができる。
「マスタデータに存在する各ビルの接続情報」として、次のようなBmを想定した。
Bm={((会津若松吾妻、会津若松)、(会津若松吾妻、いわき)、(会津若松吾妻、福島)、(会津若松吾妻、いわき泉)、(山田小湊、いわき泉)、(いわき泉、郡山)、(いわき泉、福島)、(福島、福島相馬)、(福島、いわき三坂)、(郡山、須賀川)、(福島相馬、いわき三坂))}
計算部14は、Bmを用いて各共通原名を得る。
・j=2(略名:小湊)
[相方原名]2は空であるので、略名「小湊」は原名不明のままにする。
[相方原名]3の要素かつ、原名と略名が同一である略名は「福島」のみである。よって[共通原名]3は
[共通原名]3={会津若松吾妻、いわき泉、福島相馬、いわき三坂}
となる。[相方原名]3の要素には、「福島」のほかにもう一つ「山田小湊」がある。Bmにおいて「山田小湊」と接続関係にある原名は「いわき泉」のみである。これより[原名候補]3={いわき泉}である。よって[原略対応表(複)]には((福島、いわき泉、郡山)、泉)と「いわき泉」が含まれることから、計算部14は、[原略対応表(複)]から((福島、いわき泉、郡山)、泉)を削除し、[原略対応表]に新たな組み合わせである(いわき泉、泉)を追加する。
同様に[共通原名]4は、Bmにおいて「福島」と接続関係にある原名により下記のように構成される。
[共通原名]4={会津若松吾妻、いわき泉、いわき三坂、福島相馬}
[相方原名]4の要素には「福島相馬」も含まれる。計算部14は、このビルと接続関係にあるビル名と、[共通原名]4との共通集合をとり、[原名候補]5は下記のように構成される。
[原名候補]4={いわき三坂}
今、[原略対応表(複)]には((福島、郡山)、三阪)が存在し、いわき三坂はL(a4)の要素ではないことから、計算部14は、[原略対応表(複)]から((福島、郡山)、三阪)を誤りとして削除し、[原略対応表]には何も追加しない。
[相方原名]5が全て原名と略名が同一のものから構成されるので、[共通原名]5および[原名候補]5は、Bmにおいて「会津若松」、「いわき」、「福島」のいずれとも接続関係にある原名により下記のように構成される。
[原名候補]5=[共通原名]5={会津若松吾妻}
これより、計算部14は、[原略対応表(複)]から((福島、会津若松吾妻、郡山)、吾妻)を削除し、[原略対応表]に新たな組み合わせである(会津若松吾妻、吾妻)を追加する。
[共通原名]6は、Bmにおいて「福島」と接続関係にある原名により下記のように構成される。
[共通原名]6={会津若松吾妻、いわき泉、福島相馬、いわき三坂}
[相方原名]6で原名と略名が同一である原名は「福島」のみなので、[原名候補]6=[共通原名]6である。ここで、計算部14は、[原略対応表]から(福島相馬、相馬)を削除する。
[相方原名]9の要素かつ、原名と略名が同一である原名は「郡山」のみである。よって[共通原名]9は、下記のようにBmにおいて「郡山」と接続関係にある原名「須賀川」からなる。
[原名候補]9=[共通原名]9={須賀川}
略名「第二矢吹」に対して((福島、郡山)、第二矢吹)が[原略対応表(複)]に存在し、かつ原名「須賀川」は[原略対応表(複)]に含まれないことから、計算部14は、[原略対応表(複)]から((福島、郡山)、第二矢吹)を削除する。
[原名不明]={小湊、三阪、相馬、第二矢吹}
[原略対応表]={((福島、福島)、(山田小湊、小湊)、(いわき、いわき)、(会津若松、会津若松)、(郡山、郡山)、(いわき泉、泉)、(会津若松吾妻、吾妻))}
[原略対応表(複)]={ }
である。計算部14は、これらの残りの原名不明の各略名に対して下記のように再びステップ3,4の操作を行なう。
j=2(略名:小湊) [相方原名]2={いわき泉}
j=4(略名:三阪) [相方原名]4={福島}
j=6(略名:相馬) [相方原名]6={福島}
j=9(略名:第二矢吹) [相方原名]9={郡山}
(ステップ4)(2回目)
・j=2(略名:小湊)
[相方原名]2で原名と略名が同一である原名はないので、[原名候補]2として「いわき泉」と接続関係のある原名が相当する。すなわち、
[原名候補]2={会津若松吾妻、山田小湊、須賀川、福島}
である。今、(山田小湊、小湊)の組み合わせが[原略対応表]に存在し、[共通原名]2の要素数が複数であるので、計算部14は、(山田小湊、小湊)を[原略対応表]から削除する。
[相方原名]4のうち「福島相馬」が[原略対応表]から削除されたので、
[原名候補]4={会津若松吾妻、いわき泉、福島相馬、いわき三坂}
である。
[共通原名]6には(ステップ3)(2回目)での変化はないので、下記のように、[共通原名]6は、Bmにおいて「福島」と接続関係にある原名により下記のように構成される。
[共通原名]6={会津若松吾妻、いわき泉、福島相馬、いわき三坂}
・j=9(略名:第二矢吹)
[相方原名]9にも(ステップ3)(2回目)での変化はないので、原名と略名が同一である原名は「郡山」のみである。よって
[原名候補]9=[共通原名]9={須賀川}
である。略名「第二矢吹」と対応する原名の組み合わせは[原略対応表]、[原略対応表(複)]のいずれにも存在しないので、計算部14は、[原略対応表]に新たな組み合わせである(須賀川、第二矢吹)を追加する。
[原名不明]={小湊、三阪、相馬}
[原略対応表]={((福島、福島)、(いわき、いわき)、(会津若松、会津若松)、(郡山、郡山)、(いわき泉、泉)、(会津若松吾妻、吾妻)、(須賀川、第二矢吹))}
[原略対応表(複)]={ }
であり、対応する原名の候補は、
[原名候補]2={会津若松吾妻、山田小湊、須賀川、福島}
[原名候補]4={会津若松吾妻、いわき泉、福島相馬、いわき三坂}
[原名候補]6={会津若松吾妻、いわき泉、福島相馬、いわき三坂}
である。これ以上操作を行っても原名不明の略名の数に変化はないので、ステップ5へ進む。
Levenshtein距離算出部11は、j=2, 4, 6に対して略名ajと[原名候補]jの各原名とのLevenshtein距離を算出する。
このとき算出される、各原名との距離は、
会津若松吾妻:2006、須賀川:2003、福島:2002、山田小湊:2
であり、距離の下一桁の値がその原名の文字数よりも小さくなるのは「山田小湊」のみである。これにより、絞り込み部15は、[原略対応表]に新たな組み合わせである(山田小湊、小湊)を追加する。
算出される、各原名との距離は、
会津若松吾妻:2006、いわき泉:2004、福島相馬:2004、いわき三坂:1004
であり、これより距離の下一桁の値がその原名の文字数よりも小さくなるのは「いわき三坂」のみである。よって絞り込み部15は、[原略対応表]に新たな組み合わせである(いわき三坂、三阪)を追加する。
算出される、各原名との距離は、
会津若松吾妻:2006、いわき泉:2004、福島相馬:2、いわき三坂:2005
であり、これより距離の下一桁の値がその原名の文字数よりも小さくなるのは「福島相馬」のみである。よって絞り込み部15は、[原略対応表]に新たな組み合わせである(福島相馬、相馬)を追加する。
以上より原名が判明していない略名はなくなったため、絞り込みに係る操作を終了する。得られた原名-略名の組み合わせは、
[原略対応表]={((福島、福島)、(山田小湊、小湊)、(福島相馬、相馬)、(いわき、いわき)、(郡山、郡山)、(いわき泉、泉)、(会津若松、会津若松)、(いわき三坂、三阪)、(須賀川、第二矢吹)、(会津若松吾妻、吾妻))}
となり、全略名に対する原名が特定されている。
(ステップ1)
TF−IDFを用いた場合、[原名不明]はLevenリストを用いたときと違いはないが、[原略対応表]はLevenリストを用いたときと異なる結果を示す。まず、TF−IDFリストは、
TF−IDFリスト={((福島、福島)、(山田小湊、小湊)、(福島相馬、相馬)、(いわき、いわき)、(郡山、郡山)、(いわき泉、泉)、(会津若松、会津若松)、(会津若松吾妻、吾妻))}
となった。よって[原名不明]と[原略対応表]として、
[原名不明]={小湊、泉、三阪、吾妻、相馬、第二矢吹}
[原略対応表]={((福島、福島)、(山田小湊、小湊)、(福島相馬、相馬)、(いわき泉、泉)、(いわき、いわき)、(会津若松吾妻、吾妻)、(福島相馬、相馬)、(会津若松、会津若松)、(郡山、郡山))}
を得た。ただし略名「三阪」と「第二矢吹」については、該当する原名が存在しなかったので、[原略対応表(複)]は空である。
計算部14は、原名不明の各略名に対して接続情報Brを用いて相方略名をリストアップする。
j=2(略名:小湊) [相方略名]2={泉}
j=3(略名:泉) [相方略名]3={吾妻、小湊、第二矢吹、福島}
j=4(略名:三阪) [相方略名]4={福島、相馬}
j=5(略名:吾妻) [相方略名]5={会津若松、いわき、福島、泉}
j=6(略名:相馬) [相方略名]6={福島、三阪}
j=9(略名:第二矢吹) [相方略名]9={郡山}
このようにして相方略名を得ることができる。
計算部14は、[原略対応表]より各相方原名を得る。
j=2(略名:小湊) [相方原名]2={いわき泉}
j=3(略名:泉) [相方原名]3={会津若松吾妻、山田小湊、福島}
j=4(略名:三阪) [相方原名]4={福島、福島相馬}
j=5(略名:吾妻) [相方原名]5={会津若松、いわき、福島、いわき泉}
j=6(略名:相馬) [相方原名]6={福島}
j=9(略名:第二矢吹) [相方原名]9={郡山}
このようにして相方原名を得ることができる。
Bm={((会津若松吾妻、会津若松)、(会津若松吾妻、いわき)、(会津若松吾妻、福島)、(会津若松吾妻、いわき泉)、(山田小湊、いわき泉)、(いわき泉、郡山)、(いわき泉、福島)、(福島、福島相馬)、(福島、いわき三坂)、(郡山、須賀川)、(福島相馬、いわき三坂))}
計算部14は、Bmを用いて各共通原名を得る。
・j=2(略名:小湊)
[相方原名]2に原名と略名が同一である原名はないので、[原名候補]2には「いわき泉」と接続関係のある原名が相当する。すなわち、
[原名候補]2={会津若松吾妻、山田小湊、須賀川、福島}
である。今、(山田小湊、小湊)の組み合わせが[原略対応表]に存在し、[共通原名]3の素数が複数あるので、計算部14は、(山田小湊、小湊)を[原略対応表]から削除する。
[相方原名]3の要素かつ、原名と略名が同一である原名は「福島」である。よって[共通原名]3は[共通原名]3={会津若松吾妻、いわき泉、福島相馬、いわき三坂}となる。他の[相方原名]3の要素には「会津若松吾妻」と「山田小湊」がある。Bmにより、これらの2つのビルと接続関係にある原名は「いわき泉」のみである。これより、
[原名候補]3={いわき泉}
である。これは[原略対応表]にすでにある組み合わせ、(いわき泉、泉)に一致する。
同様に[共通原名]4は、Bmにおいて「福島」と接続関係にある原名により下記のように構成される。
[共通原名]4={会津若松吾妻、いわき泉、いわき三坂、福島相馬}
[相方原名]4の要素には「福島相馬」も含まれる。計算部14は、このビルと接続関係にあるビル名と[共通原名]4との共通集合をとり、下記の[原名候補]4を求める。
[原名候補]4={いわき三坂}
よって、計算部14は、[原略対応表]に新たな組み合わせである、(いわき三坂、三阪)を追加する。
[相方原名]5が全て原名と略名が同一の原名から構成されるので、[共通原名]5および[原名候補]5は、Bmにおいて「会津若松」、「いわき」、「福島」のいずれとも接続関係にある原名により構成される。すなわち、
[原名候補]5=[共通原名]5={会津若松吾妻}
である。これは[原略対応表]にすでにある組み合わせ、(会津若松吾妻、吾妻)に一致する。
[共通原名]6は、Bmにおいて「福島」と接続関係にある原名により下記のように構成される。
[共通原名]6={会津若松吾妻、いわき泉、福島相馬、いわき三坂}
[相方原名]6で原名と略名が同一である原名は「福島」のみなので、[原名候補]6=[共通原名]6である。今、(福島相馬、相馬)の組み合わせが[原略対応表]に存在し、[共通原名]6の要素数が複数であるので、計算部14は、(福島相馬、相馬)を[原略対応表]から削除する。
[相方原名]9の要素かつ、原名と略名が同一である原名は「郡山」のみである。よって[共通原名]9は、下記のようにBmにおいて「郡山」と接続関係にある原名「須賀川」からなる。
[原名候補]9=[共通原名]9={須賀川}
よって計算部14は、[原略対応表]に新たな組み合わせである、(第二矢吹、須賀川)を追加する。
[原略対応表]={((福島、福島)、(いわき泉、泉)、(いわき、いわき)、(会津若松吾妻、吾妻)、(いわき三坂、三阪)、(会津若松、会津若松)、(郡山、郡山)、(第二矢吹、須賀川))}
[原略対応表(複)]={ }
[原名不明]={小湊、相馬}
である。計算部14は、この原名不明の各略名である2つのビル名に対して再びステップ3,4の操作を行なう。
j=2(略名:小湊) [相方原名]2={いわき泉}
j=6(略名:相馬) [相方原名]6={福島、いわき三坂}
(ステップ4)(2回目)
・j=2(略名:小湊)
[相方原名]2で原名と略名が同一である原名はないので、[原名候補]2として「いわき泉」と接続関係のある原名が相当する。すなわち、
[原名候補]2={会津若松吾妻、山田小湊、須賀川、福島}
である。
[共通原名]6は、Bmにおいて「福島」と接続関係にある原名により下記のように構成される。
[共通原名]6={会津若松吾妻、いわき泉、福島相馬、いわき三坂}
[相方原名]6の要素にはさらに「いわき三坂」が含まれる。計算部14は、このビルと接続関係にあるビル名と[共通原名]6との共通集合をとり、下記の[原名候補]6を求める。
[原名候補]6={福島相馬}
これにより、計算部14は、[原略対応表]に、(福島相馬、相馬)を追加する。
[原略対応表]={((福島、福島)、(いわき泉、泉)、(いわき、いわき)、(会津若松吾妻、吾妻)、(いわき三坂、三阪)、(会津若松、会津若松)、(郡山、郡山)、(第二矢吹、須賀川)、(福島相馬、相馬))}
[原略対応表(複)]={ }
[原名不明]={小湊}
であり、対応する原名の候補は、
[原名候補]2={会津若松吾妻、山田小湊、須賀川、福島}
である。これ以上操作を行っても原名不明の略名の数に変化はないので、ステップ5へ進む。
Levenshtein距離算出部11は、略名「小湊」と[原名候補]2の各原名とのLevenshtein距離を算出する。
このとき算出される各原名との距離は、
会津若松吾妻:2006、須賀川:2003、福島:2002、山田小湊:2
であった。よって最小距離をあたえる原名は「山田小湊」である。これより、絞り込み部15は、[原略対応表]に組み合わせ、(山田小湊、小湊)を追加する。
[原略対応表]={((福島、福島)、(山田小湊、小湊)、(福島相馬、相馬)、(いわき、いわき)、(郡山、郡山)、(いわき泉、泉)、(会津若松、会津若松)、(いわき三坂、三阪)、(須賀川、第二矢吹)、(会津若松吾妻、吾妻))}
となり、全略名が特定されている。
・Levenshtein
10ビル中6ビル(福島、小湊、相馬、いわき、会津若松、郡山)
・TF−IDF
10ビル中8ビル(福島、小湊、泉、吾妻、相馬、いわき、会津若松、郡山)
であった。いずれの手法であっても「三阪」や「第二矢吹」のような、原名との乖離が著しい略名に対して正確な原名を対応付けることは困難であった。
Claims (5)
- プロセッサと、入力部と、マスタデータと関連付けて管理されるマスタデータ名を記憶する記憶部とを具備し、
前記プロセッサは、
前記記憶部に記憶されたマスタデータ名と、前記入力部において入力された入力データ名との間の編集距離を算出する第1の算出処理を行ない、
前記マスタデータ名と前記入力データ名とに係る単語の出現頻度および逆文書頻度に基づいて、前記マスタデータ名と前記入力データ名との類似度を算出する第2の算出処理を行ない、
前記第1および第2の算出処理による算出結果、および前記マスタデータ名と前記入力データ名との隣接関係を示す隣接情報に基づいて、前記マスタデータ名における検索対象のデータ名の候補の絞り込み処理を行ない、
前記絞り込み処理により得られた検索対象のデータ名の候補に基づいて、マスタデータ名と入力データ名との対応を表す情報を出力する、ように構成される、
データ検索装置。 - 前記プロセッサは、
前記絞り込み処理として、
前記記憶部に記憶されたマスタデータ名のうち、前記入力データ名との間で前記第1の算出処理により算出された編集距離が最小であるマスタデータ名を、検索対象のマスタデータ名の候補として選択し、この選択されたマスタデータ名と当該マスタデータ名の選択に係る入力データ名との組を示す第1のリストを作成し、
前記第1のリストにおける入力データ名のうち、複数の候補と対応付けられる入力データ名、および同じ表記でないマスタデータ名と対応付けられる入力データ名を示す第2のリストを作成し、
前記第1のリストにおける、1つのマスタデータ名と1つの入力データ名との組を示すリストである第3のリストを作成し、
前記第1のリストにおける、複数のマスタデータ名と1つの入力データ名との組を示すリストである第4のリストを作成し、
前記第2のリストにおける入力データ名ごとに、当該入力データ名との隣接関係を有する入力データ名を、複数の前記入力データ名の間の隣接関係を示す隣接情報から抽出し、
前記第3のリストにおけるマスタデータ名から、前記抽出された入力データ名との対応関係を有するマスタデータ名である第1のマスタデータ名を抽出し、
前記第2のリストにおける入力データ名ごとに、前記抽出された第1のマスタデータ名であって、前記第3のリストにおいて同一表記の入力データ名と対応付けられるマスタデータ名である第2のマスタデータ名を、前記記憶部に記憶される複数のマスタデータ名の間の隣接関係を示す隣接情報から抽出し、
前記第2のリストにおける入力データ名ごとに、前記抽出された第1のマスタデータ名であって、前記第3のリストにおいて同一表記でない入力データ名と対応付けられるマスタデータ名である第3のマスタデータ名を、前記記憶部に記憶される複数のマスタデータ名の間の隣接関係を示す隣接情報から抽出し、
前記第2のリストにおける入力データ名ごとに、前記抽出された第2および第3のマスタデータ名の共通集合により得られるデータ名を前記第2のリストで示される入力データ名に対応するマスタデータ名の候補として作成し、
前記マスタデータ名の候補の作成に応じて前記第2、第3および第4のリストを更新する処理を行なう、ように構成され、
前記プロセッサは、
前記第1の算出処理として、
前記第2のリストにおける入力データ名ごとに、当該入力データ名と前記抽出されたマスタデータ名の候補との編集距離を算出する処理を行なう、ように構成され、
前記プロセッサは、
前記絞り込み処理として、
前記算出された編集距離と当該マスタデータ名の候補の文字数との関係が条件を満たすときに、前記マスタデータ名の候補のうち入力データ名と共通する文字を有しない候補を削除し、削除後のマスタデータ名および当該マスタデータ名について前記編集距離の算出に用いた入力データ名を前記第3のリストに追加する処理を行なう、ように構成される、
請求項1に記載のデータ検索装置。 - 前記プロセッサは、
前記絞り込み処理として、
前記記憶部に記憶されるマスタデータ名のうち、前記入力データ名との間で前記第2の算出処理により算出された類似度が最大であるマスタデータ名を、検索対象のマスタデータ名の候補として選択し、この選択されたマスタデータ名と当該マスタデータ名の選択に係る入力データ名との組を示す第1のリストを作成し、
前記第1のリストにおける入力データ名のうち、複数の候補と対応付けられる入力データ名、および同じ表記でないマスタデータ名と対応付けられる入力データ名を示す第2のリストを作成し、
前記第1のリストにおける、1つのマスタデータ名と1つの入力データ名との組を示すリストである第3のリストを作成し、
前記第1のリストにおける、複数のマスタデータ名と1つの入力データ名との組を示すリストである第4のリストを作成し、
前記第2のリストにおける入力データ名ごとに、当該入力データ名との隣接関係を有する入力データ名を、複数の前記入力データ名の間の隣接関係を示す隣接情報から抽出し、
前記第3のリストにおけるマスタデータ名から、前記抽出された入力データ名との対応関係を有するマスタデータ名である第1のマスタデータ名を抽出し、
前記第2のリストにおける入力データ名ごとに、前記抽出された第1のマスタデータ名であって、前記第3のリストにおいて同一表記の入力データ名と対応付けられるマスタデータ名である第2のマスタデータ名を、前記記憶部に記憶される複数のマスタデータ名の間の隣接関係を示す隣接情報から抽出し、
前記第2のリストにおける入力データ名ごとに、前記抽出された第1のマスタデータ名であって、前記第3のリストにおいて同一表記でない入力データ名と対応付けられるマスタデータ名である第3のマスタデータ名を、前記記憶部に記憶される複数のマスタデータ名の間の隣接関係を示す隣接情報から抽出し、
前記第2のリストにおける入力データ名ごとに、前記抽出された第2および第3のマスタデータ名の共通集合により得られるデータ名を前記第2のリストで示される入力データ名に対応するマスタデータ名の候補として作成し、
前記マスタデータ名の候補の作成に応じて前記第2、第3および第4のリストを更新する処理を行なう、ように構成され、
前記プロセッサは、
前記第1の算出処理として、
前記第2のリストにおける入力データ名ごとに、当該入力データ名と前記抽出されたマスタデータ名の候補との編集距離を算出する処理を行なう、ように構成され、
前記プロセッサは、
前記絞り込み処理として、
前記算出された編集距離と当該マスタデータ名の候補の文字数との関係が条件を満たすときに、前記マスタデータ名の候補のうち入力データ名と共通する文字を有しない候補を削除し、削除後のマスタデータ名および当該マスタデータ名について前記編集距離の算出に用いた入力データ名を前記第3のリストに追加する処理を行なう、ように構成される、
請求項1に記載のデータ検索装置。 - プロセッサと、入力部と、マスタデータと関連付けて管理されるマスタデータ名を記憶する記憶装置とを具備するデータ検索装置が行なうデータ検索方法であって、
前記プロセッサは、前記記憶装置に記憶されるマスタデータ名と、前記入力部により入力された入力データ名との間の編集距離を算出し、
前記プロセッサは、前記マスタデータ名と前記入力データ名とに係る単語の出現頻度および逆文書頻度に基づいて、前記マスタデータ名と前記入力データ名との類似度を算出し、
前記プロセッサは、前記編集距離および類似度の算出結果、および前記マスタデータ名と前記入力データ名との隣接関係を示す隣接情報に基づいて、前記マスタデータ名における検索対象のデータ名の候補の絞り込み処理を行ない、
前記プロセッサは、前記絞り込み処理により得られた検索対象のデータ名の候補に基づいて、マスタデータ名と入力データ名との対応を表す情報を出力する、
データ検索方法。 - 請求項1乃至3のいずれか1項に記載のデータ検索装置の前記各処理として前記プロセッサを機能させるデータ検索処理プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019015479A JP7228083B2 (ja) | 2019-01-31 | 2019-01-31 | データ検索装置、方法およびプログラム |
PCT/JP2020/003465 WO2020158871A1 (ja) | 2019-01-31 | 2020-01-30 | データ検索装置、方法およびプログラム |
US17/426,748 US11687599B2 (en) | 2019-01-31 | 2020-01-30 | Data retrieving apparatus, method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019015479A JP7228083B2 (ja) | 2019-01-31 | 2019-01-31 | データ検索装置、方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020123210A true JP2020123210A (ja) | 2020-08-13 |
JP7228083B2 JP7228083B2 (ja) | 2023-02-24 |
Family
ID=71840355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019015479A Active JP7228083B2 (ja) | 2019-01-31 | 2019-01-31 | データ検索装置、方法およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11687599B2 (ja) |
JP (1) | JP7228083B2 (ja) |
WO (1) | WO2020158871A1 (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004062893A (ja) * | 2002-06-28 | 2004-02-26 | Microsoft Corp | 重み付き編集距離に基づく例文の自動検索用システムおよび方法 |
JP2006053866A (ja) * | 2004-08-16 | 2006-02-23 | Advanced Telecommunication Research Institute International | カタカナ文字列の表記ゆれの検出方法 |
JP2010123005A (ja) * | 2008-11-20 | 2010-06-03 | Kddi Corp | 文書データ検索装置 |
CN102760134A (zh) * | 2011-04-28 | 2012-10-31 | 北京百度网讯科技有限公司 | 一种同义词的挖掘方法和装置 |
US20170024657A1 (en) * | 2015-07-21 | 2017-01-26 | Yp Llc | Fuzzy autosuggestion for query processing services |
CN109101493A (zh) * | 2018-08-01 | 2018-12-28 | 东北大学 | 一种基于对话机器人的智能购房助手 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4950755B2 (ja) | 2007-05-16 | 2012-06-13 | 日本電信電話株式会社 | 文書検索方法及び装置並びにそのコンピュータプログラム |
JP5203324B2 (ja) | 2009-09-16 | 2013-06-05 | 日本電信電話株式会社 | 誤字脱字対応テキスト解析装置及び方法及びプログラム |
JP5961586B2 (ja) | 2013-05-30 | 2016-08-02 | 日本電信電話株式会社 | 読み仮名修正モデル学習装置と読み仮名修正装置とそれらの方法とプログラム |
US11003655B2 (en) * | 2016-09-22 | 2021-05-11 | Hartford Fire Insurance Company | System for uploading information into a metadata repository |
-
2019
- 2019-01-31 JP JP2019015479A patent/JP7228083B2/ja active Active
-
2020
- 2020-01-30 US US17/426,748 patent/US11687599B2/en active Active
- 2020-01-30 WO PCT/JP2020/003465 patent/WO2020158871A1/ja active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004062893A (ja) * | 2002-06-28 | 2004-02-26 | Microsoft Corp | 重み付き編集距離に基づく例文の自動検索用システムおよび方法 |
JP2006053866A (ja) * | 2004-08-16 | 2006-02-23 | Advanced Telecommunication Research Institute International | カタカナ文字列の表記ゆれの検出方法 |
JP2010123005A (ja) * | 2008-11-20 | 2010-06-03 | Kddi Corp | 文書データ検索装置 |
CN102760134A (zh) * | 2011-04-28 | 2012-10-31 | 北京百度网讯科技有限公司 | 一种同义词的挖掘方法和装置 |
US20170024657A1 (en) * | 2015-07-21 | 2017-01-26 | Yp Llc | Fuzzy autosuggestion for query processing services |
CN109101493A (zh) * | 2018-08-01 | 2018-12-28 | 东北大学 | 一种基于对话机器人的智能购房助手 |
Also Published As
Publication number | Publication date |
---|---|
US11687599B2 (en) | 2023-06-27 |
JP7228083B2 (ja) | 2023-02-24 |
US20220100804A1 (en) | 2022-03-31 |
WO2020158871A1 (ja) | 2020-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5603250B2 (ja) | 近似文字列マッチングのためのアーカイブ管理法 | |
KR101242245B1 (ko) | 데이터베이스 질의를 형성하기 위한 컴퓨터 판독가능 기록 매체 및 방법 | |
KR101511656B1 (ko) | 퍼스널 아이덴티티를 기술하는 데이터에 대한 액셔너블 속성의 애스클라이빙 | |
JP5187308B2 (ja) | 変換プログラム探索システムおよび変換プログラム探索方法 | |
CN112596719B (zh) | 一种生成前后端代码的方法和系统 | |
JP2024019575A (ja) | 文書処理プログラム | |
JP7228083B2 (ja) | データ検索装置、方法およびプログラム | |
JP2012247948A (ja) | 辞書管理装置、辞書管理方法、辞書管理プログラム | |
JP2009093581A (ja) | 類義語検索管理システム | |
KR102523807B1 (ko) | 사용자 입력 조건에 기초하여 기계 번역 엔진의 구축에 사용될 학습용 문장 세트를 생성하는 학습용 문장 세트 생성 서버 및 그 동작 방법 | |
JP2019219724A (ja) | 評価プログラム、評価方法および情報処理装置 | |
CN114118078A (zh) | 制作辅助装置、制作辅助方法及记录介质 | |
JP4469818B2 (ja) | データ管理装置、データプログラム及びデータ管理方法 | |
JP2022050169A (ja) | 情報処理システム及びプログラム | |
KR20190084370A (ko) | 지능형 법률정보 검색 방법 | |
JP2006072705A (ja) | 文書検索装置および方法 | |
JP2001092830A (ja) | 文字列の照合装置およびその方法 | |
JP4049543B2 (ja) | 文書検索装置、文書検索プログラム、記録媒体 | |
JP4778466B2 (ja) | データ管理装置及びデータ管理方法並びにプログラム | |
CN113641783B (zh) | 基于关键语句的内容块检索方法、装置、设备和介质 | |
JP4703705B2 (ja) | 構造化データ検索プログラム及び構造化データ検索装置 | |
JP2001325293A (ja) | 全文検索方法及び装置及び全文検索プログラムを格納した記憶媒体 | |
JP2024098283A (ja) | 文書管理システム | |
CN118657143A (zh) | 一种开放式信息抽取方法、系统、设备及存储介质 | |
Yahya | Instal: Jurnal Komputer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210513 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220705 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220901 |
|
TRDD | Decision of grant or rejection written | ||
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20230104 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230116 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7228083 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |