JP7601220B2 - Name data matching device, name data matching method, and name data matching program - Google Patents
Name data matching device, name data matching method, and name data matching program Download PDFInfo
- Publication number
- JP7601220B2 JP7601220B2 JP2023527147A JP2023527147A JP7601220B2 JP 7601220 B2 JP7601220 B2 JP 7601220B2 JP 2023527147 A JP2023527147 A JP 2023527147A JP 2023527147 A JP2023527147 A JP 2023527147A JP 7601220 B2 JP7601220 B2 JP 7601220B2
- Authority
- JP
- Japan
- Prior art keywords
- path
- name data
- database
- building
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
この発明の実施形態は、名称データ対応付け装置、名称データ対応付け方法及び名称データ対応付けプログラムに関する。 Embodiments of the present invention relate to a name data matching device, a name data matching method, and a name data matching program.
データベースを用いた業務には、異なる管理下にあるデータベースを統合し、格納されていた名称データを横並びで使用することで、より多角的・包括的な分析を行うことがある。そのためには、統合するデータベースの間で同一の事柄を表している名称データに対し、同一の識別情報を付与するなどして、名称データを統合する、所謂「名寄せ」という作業が必要になる。 In database-based operations, it is sometimes possible to perform more multifaceted and comprehensive analyses by integrating databases under different management and using the stored name data side-by-side. To do this, a process known as "name matching" is required, in which name data that represents the same thing between the databases being integrated is integrated by assigning the same identification information to the data.
しかしながら、名称データの入力方法は、データベースの管理元に依る。そのため、統合するデータベースの間で同一の事柄を表しているにもかかわらず、その表記が異なるという状況(表記ゆれ)はしばしば存在する。表記ゆれを含むデータベースを統合してしまうと、前述のような分析を行う際に、一つの事柄に関連する情報が表記ゆれを起こした部分だけ不足してしまう事態が発生してしまう。 However, the method of entering name data depends on the database administrator. As a result, there are often situations in which the same thing is represented in different spellings (spelling variations) between the databases being integrated. If databases that contain spelling variations are integrated, when carrying out the analysis described above, the information related to one thing will be missing in the areas where spelling variations have occurred.
このような表記ゆれに対処する技術として、非特許文献1及び非特許文献2は、検索対象の文字列同士の類似度を定量的に計算することで、最も似ている文字列を検索する手法を提案している。また、非特許文献3は、検索用の辞書を作成することで正確且つ効率良く同一の事柄を表す文字列を探し出す方法を提案している。また、特許文献1は、名寄せをしたいデータの周辺情報を用いた紐づけ方法を開示している。As a technique for dealing with such variations in notation, Non-Patent
表記のゆれ方には、登録データ名を省略した表記と、使用者同士でのローカルルールに基づく呼び名(通称)による表記と、が存在する。 There are variations in the way the data is written, including an abbreviation of the registered data name, and names (nicknames) used by users based on local rules.
非特許文献1及び2に開示されているような手法は、前者の省略表記のみが表記ゆれとして存在する場合には、ポピュラー且つ有効な手段である。しかしながら、後者の通称表記が混在している状況下では、各通称に対してその通称と文字列的に類似した名称が紐付けられるため、誤った結果を提示する可能性が高い。なぜならば、通称表記は、本来紐付けられるべき名称と著しくかけ離れているケースが多いためである。The methods disclosed in
また、前者の省略表記のみを扱う場合であっても、非特許文献1及び2に開示の手法は、日本語に対して使用されることを想定して作られているので、技術の適用範囲が限定的である。日本語における省略表記の特徴と他言語における特徴は全てが一致するわけではないので、非特許文献1及び2に開示の手法が、他言語で入力された名称データに対して問題なく適用可能とは限らないためである。
Even when dealing only with the former abbreviations, the methods disclosed in Non-Patent
よって、通称表記に対しては、非特許文献3に開示されているような、辞書を作成することが最適な手法だと考えられている。しかしながら、統合するデータベースの個数が増加すると、それに伴い辞書を拡張する必要が発生するため、表記ゆれに対処可能になるまでに時間が掛かるという欠点がある。
Therefore, it is thought that the best method for dealing with common names is to create a dictionary, as disclosed in Non-Patent
そこで、特許文献1では、辞書に頼らず、名寄せの対象データ周辺の情報(同データベースのデータAとデータBは繋がりがある、など)を用いて、通称を名寄せ可能とする技術を提案している。しかしながら、この特許文献1に開示されているような技術は、それぞれのデータベースの名称データから構築できるグラフが、一種の包含関係(一方のグラフの辺に対応する辺が、他方のグラフに必ず存在する)を満たしている必要がある。そのため、包含関係が保たれていない構造のグラフが得られてしまう名称データを名寄せすることは困難か、できたとしても候補となる名称が大量に出てきてしまう、という問題があった。Therefore,
この発明は、統合するデータベース間で表記ゆれが存在する同義の名称データを、人的稼働を掛けず正確に対応付けることができる技術を提供しようとするものである。 This invention aims to provide technology that can accurately match synonymous name data that has spelling variations between the databases being integrated without requiring human labor.
上記課題を解決するために、この発明の一態様に係る名称データ対応付け装置は、複数の名称データ及びそれら名称データの論理的または物理的な隣接関係を示す隣接情報を保持する第1のデータベースと、複数の名称データ、それら名称データの隣接情報及びそれら名称データが属するパスを表すパス識別情報を保持する第2のデータベースとの間で異なる表記を有する同義の名称データを対応付ける名称データ対応付け装置であって、共通データ抽出部と、パス作成部と、対応付け部と、を備える。共通データ抽出部は、第1のデータベースと第2のデータベースとの間で同じ表記である名称データを共通データとして抽出する。パス作成部は、第2のデータベースが保持するパス識別情報で表されるパスから、共通データ抽出部が抽出した共通データを端点とし且つ非共通データを端点間の頂点とする部分パスを抽出し、第1のデータベースが保持する情報に基づいて、部分パスそれぞれについて、部分パスの端点と同じ共通データの端点を持ち且つ部分パスの長さ以上の長さを持つパスを作成する。対応付け部は、パス作成部が抽出した部分パスそれぞれについて、部分パス上の各頂点とパス作成部が作成したパス上の頂点との組み合わせを探索することで、第1のデータベースが保持する名称データと第2のデータベースが保持する名称データとを対応付ける。In order to solve the above problem, a name data matching device according to one aspect of the present invention is a name data matching device that matches synonymous name data having different notations between a first database that holds a plurality of name data and adjacency information indicating a logical or physical adjacency relationship between the name data and a second database that holds a plurality of name data, the adjacency information of the name data, and path identification information indicating a path to which the name data belongs, and includes a common data extraction unit, a path creation unit, and a matching unit. The common data extraction unit extracts name data that has the same notation between the first database and the second database as common data. The path creation unit extracts partial paths that have the common data extracted by the common data extraction unit as endpoints and non-common data as vertices between the endpoints from paths represented by path identification information held by the second database, and creates paths for each partial path that have the same endpoints of the common data as the endpoints of the partial path and have a length equal to or greater than the length of the partial path, based on information held by the first database. The matching unit matches the name data held in the first database with the name data held in the second database by searching for combinations of each vertex on the partial path and a vertex on the path created by the path creation unit for each partial path extracted by the path creation unit.
この発明の一態様によれば、統合するデータベース間で表記ゆれが存在する同義の名称データを人的稼働を掛けず正確に対応付けることができる技術を提供することができる。 According to one aspect of the present invention, a technology can be provided that can accurately match synonymous name data that has spelling variations between the databases being integrated without requiring human labor.
以下、図面を参照して、この発明に係わる実施形態を説明する。 Below, an embodiment of the present invention is described with reference to the drawings.
本実施形態において、複数のデータベースは、異なる表記を有する同義の名称データを保持しており、これらデータベースで名称データを対応付けしたいデータカラムは、既知であるとする。各データカラムは、名称データと、例えば測定値や測定日時、売上日時や売上金額、などといった、名称データに対応する文字列別データを含むことができる。また、各データベースは、名称データの隣接関係を示す論理的あるいは物理的な隣接情報を保持していることを想定する。ここで、名称データの隣接関係を示す隣接情報とは、例えば、人脈(人物Aと人物Bが知り合いである)や、ネットワーク上の接続関係(ビルAとビルBがケーブルによって接続されている)といった、データ同士の繋がり方の情報を指す。この発明は、名称データを対応付けするデータベースの個数に制限は特にないが、本一実施形態では、説明の簡単化のため、対象とするデータベースは2つであるとする。また、各データベース内の名称データ間には、ネットワーク上の接続関係があるとする。具体的には、各データベースに「上位ビル」「下位ビル」という名前のカラムがあり、「上位ビル」に格納された名称データと「下位ビル」に格納された名称データは、あるネットワーク上で隣接していることを表す。加えて、複数のデータベースのうち少なくとも1つには、隣接情報に加えて、名称データが属するパスを表すパス識別情報が追加されていると想定する。In this embodiment, a plurality of databases hold synonymous name data with different notations, and data columns to which name data is to be associated in these databases are assumed to be known. Each data column can include name data and character string data corresponding to the name data, such as measurement values, measurement dates and times, sales dates and times, and sales amounts. It is also assumed that each database holds logical or physical adjacent information indicating the adjacent relationship of the name data. Here, the adjacent information indicating the adjacent relationship of the name data refers to information on how data is connected to each other, such as personal connections (person A and person B are acquaintances) and connection relationships on a network (building A and building B are connected by a cable). In this invention, there is no particular limit to the number of databases to which name data is associated, but in this embodiment, for the sake of simplicity, it is assumed that there are two target databases. It is also assumed that there is a connection relationship on a network between the name data in each database. Specifically, each database has columns named "upper building" and "lower building", and the name data stored in the "upper building" and the name data stored in the "lower building" are adjacent on a certain network. In addition, it is assumed that at least one of the plurality of databases has, in addition to the adjacent information, path identification information indicating the path to which the name data belongs.
(構成例)
図1は、この発明の一実施形態に係る名称データ対応付け装置の構成の一例を示すブロック図である。名称データ対応付け装置は、基礎データベース(図では、データベースをDBと略記する。)1、派生データベース2、グラフ作成部3、共通データ抽出部4、パス情報抽出部5、パス作成部6、対応付け部7及びデータ出力部8を有する。
(Configuration example)
1 is a block diagram showing an example of the configuration of a name data matching device according to an embodiment of the present invention. The name data matching device has a basic database (database is abbreviated as DB in the figure) 1, a derived
基礎データベース1は、複数の名称データと、それら名称データの隣接関係を示す隣接情報と、を保持する第1のデータベースである。また、派生データベース2は、複数の名称データと、それら名称データの隣接情報と、それら名称データが属するパスを表すパス識別情報と、を保持する第2のデータベースである。The
グラフ作成部3は、基礎データベース1及び派生データベース2が保持する情報に基づいて、名称データを頂点とする無向グラフを作成する。
The
共通データ抽出部4は、基礎データベース1と派生データベース2との間で同じ表記である名称データを、共通データとして抽出する。
The common
パス情報抽出部5は、派生データベース2が保持するパス識別情報に基づいて、共通データ抽出部4が抽出した共通データのうち1つを始点とし、派生データベース2が保持する名称データを頂点とする、全てのパスを生成する。パスの終点は、始点と同じ共通データとなる場合もあるし、始点と異なる共通データとなる場合もある。そして、パス情報抽出部5は、それらのパスそれぞれについて、頂点数、含まれる頂点の名称データ及びそのパス上の位置を含むパス情報を抽出する。例えば、パス情報抽出部5は、グラフ作成部3が作成した無向グラフと派生データベース2が保持するパス識別情報とに基づいて、パス情報を抽出することができる。
Based on the path identification information held by the
パス作成部6は、パス情報抽出部5が抽出したパス情報で示される各パスについて、各共通データを端点とする、すなわち始点及び終点とする、部分パスを抽出する。そして、パス作成部6は、基礎データベース1が保持する情報に基づいて、各部分パスと一致する共通データを端点とし且つ規定の長さである全てのパスを数え上げる。例えば、パス作成部6は、グラフ作成部3が基礎データベース1から作成した無向グラフに基づいて、パスを列挙することができる。
For each path indicated by the path information extracted by the path
対応付け部7は、例えば、編集距離等の文字列類似度に基づいて、パス作成部6が抽出した部分パスと数え上げたパスとから、頂点の名称データの組み合わせを探索する。そして、対応付け部7は、探索した組み合わせに基づいて、基礎データベース1が保持する名称データと派生データベース2が保持する名称データとを対応付ける。The
データ出力部8は、対応付け部7での対応付けの結果に基づいて、出力情報を生成し、それを出力する。例えば、データ出力部8は、対応付け部7での対応付けの結果に基づいて、名称データの対応関係を表す対応表を、出力情報として生成することができる。また、データ出力部8は、対応付け部7での対応付けの結果に基づいて基礎データベース1が保持している情報について名称データを変換して、新たなデータベースを作成し、これを出力情報とするようにしても良い。あるいは、データ出力部8は、対応付け部7での対応付けの結果に基づいて基礎データベース1及び派生データベース2が保持している情報を統合して、新たなデータベースを作成し、これを出力情報とするようにしても良い。The
図2は、名称データ対応付け装置のハードウェア構成の一例を示す図である。 Figure 2 shows an example of the hardware configuration of a name data matching device.
名称データ対応付け装置は、図2に示すように、例えばサーバコンピュータ(Server computer)やパーソナルコンピュータ(Personal computer)などのコンピュータにより構成され、CPU(Central Processing Unit)等のハードウェアプロセッサ101を有する。そして、名称データ対応付け装置では、このプロセッサ101に対し、プログラムメモリ102と、データメモリ103と、通信インタフェース104と、入出力インタフェース(図2では入出力IFと記す)105とが、バス106を介して接続される。2, the name data matching device is configured with a computer such as a server computer or a personal computer, and has a
通信インタフェース104は、例えば一つ以上の有線または無線の通信モジュールを含むことができる。通信インタフェース104は、基礎データベース1及び/または派生データベース2が、LAN(Local Area Network)やインターネットなどのネットワークを介して接続されるデータサーバなどに構成される場合には、そのデータサーバなどとの間で通信を行い、それらデータサーバからデータを取得することができる。また、通信インタフェース104は、外部のデータ処理装置などと通信して、そのデータ処理装置からの要求を受信したり、その要求に応じたデータ処理結果をデータ処理装置に返信したりすることもできる。The
入出力インタフェース105には、入力部107及び表示部108が接続されている。入力部107及び表示部108は、例えば液晶または有機EL(Electro Luminescence)を使用した表示デバイスの表示画面上に、静電方式または圧力方式を採用した入力検知シートを配置した、いわゆるタブレット型の入力・表示デバイスを用いたものが用いられることができる。なお、入力部107及び表示部108は独立するデバイスにより構成されても良い。入出力インタフェース105は、上記入力部107において入力された操作情報をプロセッサ101に入力すると共に、プロセッサ101で生成された表示情報を表示部108に表示させる。The input/
なお、入力部107及び表示部108は、入出力インタフェース105に接続されていなくても良い。入力部107及び表示部108は、通信インタフェース104と直接またはネットワークを介して接続するための通信ユニットを備えることで、プロセッサ101との間で情報の授受を行い得る。It should be noted that the
また、入出力インタフェース105は、フラッシュメモリなどの半導体メモリといった記録媒体のリード/ライト機能を有しても良いし、あるいは、そのような記録媒体のリード/ライト機能を持ったリーダライタとの接続機能を有しても良い。これにより、名称データ対応付け装置に対して着脱自在な記録媒体を、名称データを保持するデータベースとすることができる。入出力インタフェース105は、さらに、他の機器との接続機能を有して良い。In addition, the input/
プログラムメモリ102は、非一時的な有形のコンピュータ可読記憶媒体として、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)等の随時書込み及び読出しが可能な不揮発性メモリと、ROM等の不揮発性メモリとが組合せて使用されたものである。このプログラムメモリ102には、プロセッサ101が一実施形態に係る各種制御処理を実行するために必要なプログラムが格納されている。すなわち、上記のグラフ作成部3、共通データ抽出部4、パス情報抽出部5、パス作成部6、対応付け部7及びデータ出力部8の各部における処理機能部は、いずれも、プログラムメモリ102に格納されたプログラムを上記プロセッサ101により読み出させて実行させることにより実現され得る。なお、これらの処理機能部の一部または全部は、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)またはFPGA(field-programmable gate array)などの集積回路を含む、他の多様な形式によって実現されても良い。The
データメモリ103は、有形のコンピュータ可読記憶媒体として、例えば、上記の不揮発性メモリと、RAM(Random Access Memory)等の揮発性メモリとが組合せて使用されたものである。このデータメモリ103は、各種処理が行われる過程で取得及び作成された各種データが記憶されるために用いられる。すなわち、データメモリ103には、各種処理が行われる過程で、適宜、各種データを記憶するための領域が確保される。そのような領域として、データメモリ103には、例えば、基礎データベース記憶部1031、派生データベース記憶部1032、一時記憶部1033及び出力情報記憶部1034を設けることができる。The
基礎データベース記憶部1031は、基礎データベース1の情報を記憶し、派生データベース記憶部1032は、派生データベース2の情報を記憶する。すなわち、基礎データベース1及び派生データベース2が、この基礎データベース記憶部1031及び派生データベース記憶部1032に構成されることができる。The basic
図3は、基礎データベース記憶部1031に記憶される基礎データベース1が保持する情報の一例を示す図であり、図4は、派生データベース記憶部1032に記憶される派生データベース2が保持する情報の一例を示す図である。ここでは、名称データがビルの名称である例を示す。基礎データベース記憶部1031に記憶される基礎データベース1では、上位ビルと下位ビルは、隣接関係にある。派生データベース記憶部1032に記憶される派生データベース2では、同一のパス識別子(図では、識別子をIDと略記する)を持つビルの組み合わせが、1つのパス(新宿ビル→南新宿ビル→外苑ビル→四ツ谷ビル→新宿ビル)を構成している。以降、派生データベース2にあるビル名をci(i∈{1,2,…,n})で表し、基礎データベース1にあるビル名をdj(j∈{1,2,…,m})で表す。ここで、n及びmは、それぞれのデータベースにおけるビル名数である。
FIG. 3 is a diagram showing an example of information held by the
これら基礎データベース記憶部1031及び派生データベース記憶部1032に記憶される情報は、例えば、プロセッサ101が入出力インタフェース105を介して受け取った、入力部107から入力された基礎データベース1及び派生データベース2の情報とすることができる。すなわち、基礎データベース1及び派生データベース2が、データメモリ103に構築されることができる。また、外部のデータサーバに構築された基礎データベース1及び派生データベース2が保持する情報の全部または一部を、基礎データベース記憶部1031及び派生データベース記憶部1032に記憶させるようにしても良い。この場合は、例えば、プロセッサ101は、入力部107からのユーザ操作による指示に応じて、データベースサーバに蓄積された情報を通信インタフェース104を介して取得して、それらを記憶部1031、1032に記憶させる。あるいは、プロセッサ101は、記録媒体に記録された情報を、入出力インタフェース105を介して取得しても良い。また、プロセッサ101は、外部のデータ処理装置などから基礎データベース1及び派生データベース2の情報と名称データの対応付け要求とを通信インタフェース104を介して受信して、それら受信したデータベースの情報を、処理対象の情報として記憶部1031、1032に記憶させるようにしても良い。The information stored in the basic
一時記憶部1033は、プロセッサ101が、上記グラフ作成部3としての動作を実施した際に作成する無向グラフ、上記共通データ抽出部4としての動作を実施した際に抽出した共通データ、上記パス情報抽出部5としての動作を実施した際に抽出した全てのパスについてのパス情報、上記パス作成部6としての動作を実施した際に抽出した部分パス及び数え上げたパス、上記対応付け部7としての動作を実施した際に得られる名称データの対応付け結果、などを記憶する。The
出力情報記憶部1034は、プロセッサ101が上記データ出力部8としての動作を実施した際に得られる出力情報を記憶する。The output
(動作)
次に、名称データ対応付け装置の動作を説明する。
(Operation)
Next, the operation of the name data associating device will be described.
図5は、名称データ対応付け装置における名称データの対応付けに係わる処理動作の一例を示すフローチャートである。ここでは、既に、基礎データベース記憶部1031には基礎データベース1の情報が記憶され、派生データベース記憶部1032には派生データベース2の情報が記憶されているものとする。入出力インタフェース105を介して入力部107から、あるいは、通信インタフェース104を介して外部のデータ処理装置から、名称データの対応付けの実施を指示されると、名称データ対応付け装置のプロセッサ101は、このフローチャートに示す動作を開始する。
Figure 5 is a flowchart showing an example of processing operations related to matching of name data in the name data matching device. Here, it is assumed that information of
まず、プロセッサ101は、グラフ作成部3としての動作を実行する。すなわち、プロセッサ101は、派生データベース記憶部1032に記憶された派生データベース2の情報と基礎データベース記憶部1031に記憶された基礎データベース1の情報とのそれぞれについて、隣接情報を使用して、名称データを頂点とする閉路グラフGc及びGdを生成する(ステップS1)。生成された閉路グラフGc及びGdは、データメモリ103の一時記憶部1033に記憶される。
First, the
派生データベース2にあるビル名ci及び基礎データベース1にあるビル名djをそれぞれ頂点とし、隣接関係にある頂点同士は辺で結ばれていると解釈すると、以下のように、無向グラフである閉路グラフGc及びGdが構築できる。ここで、閉路とは、閉路グラフGcの部分グラフであり、始点と終点が同一頂点であるようなパスを指す。
If we consider the building name c i in the derived
Ed: 基礎データベース1の隣接情報から得られる辺の集合
gd: Ed→P(Vd) Edの元に頂点集合Vdの部分集合を対応させる写像。ただし、P(Vd)は頂点集合Vdの冪集合である
Gd :=(gd,Vd,Ed)
E d : A set of edges obtained from the adjacent information of the
G d :=(g d , V d , E d )
Ec: 派生データベース2の隣接情報から得られる辺の集合
gc: Ec→P(Vc) Ecの元に頂点集合Vcの部分集合を対応させる写像。ただし、P(Vc)は頂点集合Vcの冪集合である
Gc :=(gc,Vc,Ec)
Ec : A set of edges obtained from the adjacent information of the derived
G c :=(g c , V c , E c )
また、名称データ対応付け装置のプロセッサ101は、共通データ抽出部4としての動作を実行する。すなわち、プロセッサ101は、基礎データベース記憶部1031に記憶された基礎データベース1の情報と派生データベース記憶部1032に記憶された派生データベース2の情報とで、共通する名称データを抽出する(ステップS2)。抽出され共通する名称データは、データメモリ103の一時記憶部1033に記憶される。In addition, the
次に、プロセッサ101は、パス情報抽出部5としての動作を実行する。すなわち、プロセッサ101は、共通する名称データと派生データベース2が格納するパス識別情報とに基づいて、派生データベース2の閉路グラフGcからパスΓk(k∈{1,2,…,K}、Kは閉路グラフGc内のパスの総数)を抽出する(ステップS3)。抽出されたパスΓkを示すパス情報は、データメモリ103の一時記憶部1033に記憶される。パス情報は、抽出されたパスΓkの頂点数、含まれる頂点の名称データ及びそのパス上の位置を含むことができる。
Next, the
ここで、パスΓkとは、派生データベース2の閉路グラフGcにおける頂点sk∈Vcを始点とするk番目のパスである。
Γk[l]: Γkを構成する頂点のうちl番目の頂点 (第l要素)
|Γk|: パスΓkの長さ (パスΓkを構成する頂点の個数)
Γk=(sk,…,tk),
(Γk[l],Γk[l+1])∈Ec,
l∈{1,2,…,|Γk|}
Here, the path Γ k is the k-th path in the cycle graph G c of the derived
Γ k [l]: The l-th vertex (l-th element) among the vertices that make up Γ k
|Γ k |: Length of path Γ k (number of vertices that make up path Γ k )
Γ k =(s k ,..., t k ),
(Γ k [l], Γ k [l+1])∈E c ,
l∈{1,2,…, |Γ k |}
閉路グラフGcに対しパスはいくつあっても良いとするが、いずれのパスも、以下の3条件を満たすとする。
1.全てのskに対してsk=dj,tk=dlを満たすdj∈Vd,dlが存在する。
2.パスΓkを構成する全ての辺は、Ecに存在する。
3.∀ci∈Vcは、いずれかのパスΓkに所属している。
There may be any number of paths in the cycle graph G c , but each path must satisfy the following three conditions.
1. For all s k , there exists d j ∈ V d , d l such that s k =d j , t k =d l .
2. All edges in the path Γ k exist in E c .
3. ∀c i ∈V c belongs to any path Γ k .
ここで、ステップS2で抽出された、VcとVdで同一表記であるようなビル名の集合をS :={ci∈Vc|∃dj∈Vd s.t. ci=dj}とする。名称データ対応付け装置は、この集合Sの要素ではない各ci,djに対し、以下のようにして、閉路グラフGc及びGdを用いた対応付けを行う。 Here, the set of building names extracted in step S2 that are expressed the same in Vc and Vd is defined as S:={ ci ∈ Vc |∃dj ∈ Vd stci = dj }. For each ci and dj that are not elements of this set S, the name data matching device performs matching using closed loop graphs Gc and Gd as follows.
ここで、閉路グラフGcを構成するパスの一つをΓkと表記し、パスΓkを構成する頂点のうち、集合Sに含まれる頂点の配列をIkとし、以下で定義する。
Ik :=(Γk[i]|Γk[i]∈S,Γk[i]≠sk,i=1,2,…,|Γk|)
Here, one of the paths constituting the closed-path graph Gc is denoted as Γk , and the array of vertices included in the set S among the vertices constituting the path Γk is denoted as Ik , which is defined as follows.
I k :=(Γ k [i] | Γ k [i]∈S, Γ k [i]≠s k , i=1, 2, ..., | Γ k |)
次に、プロセッサ101は、パス作成部6としての動作を実行する。
すなわち、プロセッサ101は、まず、上記ステップS3で抽出されたパス情報に基づいて、一つのパスΓkに対して、閉路グラフGcから集合Sの各要素を端点とする部分パス
Next, the
That is, the
を抽出する(ステップS4)。すなわち、Lk iとは、パスΓkにおいて、頂点lk[i]から頂点lk[i+1]までの部分パスのことである。また、lk[i]は、配列lkのi番目の要素である。 (Step S4). That is, L k i is a partial path from vertex l k [i] to vertex l k [i+1] in path Γ k . Also, l k [i] is the i-th element of array l k .
次に、プロセッサ101は、抽出された部分パスに基づいて、基礎データベース1の閉路グラフGdにおいて始点がlk[i]、終点がlk[i+1]であるようなパスのうち、長さが、|Lk
i|以上(i=1,2,…,|Γk})且つ|Lk
i|+x以下であるものを全て数え上げる(ステップS5)。ここで、xはユーザが指定した0以上の正整数である。なお、このパスを列挙する際に、同じ頂点及び辺を2回通ることはない。列挙された部分パスの集合を
Next, based on the extracted partial paths, the
と表記する。 It is written as
次に、プロセッサ101は、対応付け部7としての動作を実行する。
すなわち、プロセッサ101は、まず、上記ステップS5で数え上げられた、パスの集合Ak
iの中で、長さが|Lk
i|のものがある場合、そのパスをαとする。この下で、以下のように名称の組み合わせを選出する(ステップS6)。
(Lk
i[j],α[j]),j=1,2,…,|Lk
i|
ただし、Lk
i[j],α[j]は、各パスのj番目の頂点である。
Next, the
That is, the
(L k i [j], α[j]), j=1, 2,..., |L k i |
Here, L k i [j], α[j] is the j-th vertex of each path.
さらに、プロセッサ101は、それら選出した組み合わせの中で、長さが|Lk
i|より長く且つ|Lk
i|+x以下のものがある場合、図6のように文字列類似度(例えば、編集距離)に基づく名称検索技術を用いて、名称データの組み合わせを探索して対応付け、その結果をデータメモリ103の一時記憶部1033に記憶する(ステップS7)。編集距離は、例えば、D. Gusfield. "Algorithms on strings, trees and sequences: computer science and computational biology." Cambridge university press, 1997.に開示されている。
Furthermore, if there is any combination among the selected combinations whose length is longer than |L k i | and is equal to or less than |L k i |+x, the
図6は、名称の対応付け方法を説明するための模式図である。基礎データベース1に格納されたビルBLdの名称データ(Aビル、Bビル、…nビル)と派生データベース2に格納されたビルBLcの名称(αビル、βビル、…νビル)があり、同図に一点鎖線で示すように、同一名称または別のパスにより、Aビルとαビル、nビルとνビルが既に対応付けがされているとする。このような場合、プロセッサ101は、以下の手順で、名称データの組み合わせを探索することができる。
6 is a schematic diagram for explaining a method of matching names. There is name data (A building, B building, ... n building) of building BL d stored in the
1.x=0と初期化する。
2.長さ|Lk
i|+xのパスを数え上げる。
3.数え上げた1パスの頂点の中から、既に対応付けできている名称を除く。
4.得られたパスの長さが|Lk
i|より大きい場合、派生データベース2のビルBLcの内、未だ対応付けできていないビル(γビル)から、基礎データベース1のビルBLdへ、編集距離が最短であるビルを求める。例えば、γビルから編集距離が最短のビルとして、実線矢印で示すように、Cビルが探索され、対応付けされることができる。
5.x=x+1として、予めユーザが指定したxの上限値になるまで、上記2~4を繰り返す。
なお、編集距離が最短のビルBLdを探索する際には、破線矢印で示すように、既に対応付けされたビルBLdの次のビルから探索が開始される。
1. Initialize x=0.
2. Count up the paths of length |L k i |+x.
3. Among the vertices of the counted path, names that have already been associated are removed.
4. If the length of the obtained path is greater than |L k i |, a building with the shortest edit distance from a building (γ building) that has not yet been associated among the buildings BL c in the derived
5. Set x=x+1 and repeat
When searching for the building BL d with the shortest edit distance, the search starts from the building next to the already associated building BL d , as indicated by the dashed arrow.
以上のようにして、組み合わせが1通りしかないものについてはそのまま出力結果とし、それ以外のものについては、既に出力結果が得られている名称データを候補から除外する。除外して残った候補のうち、整合性のとれるものを残して対応付け結果とする。ここでの整合性とは、ある名称Aについて複数の候補名がある下で、候補名の中で前述の操作で除外された名称Bがあるときには、除外された名称Bと、名称Aの組み合わせ(A,B)を出力する根拠となったパスPが必ず存在する。このパスPからは、名称Aとは別の名称Cに対しても、名称の組み合わせ(C,D)を与えている。名称組み合わせ(A,B)が除外されたことで、組み合わせ(C,D)もまた除外する。より具体的な例は、動作例として、後述する。 In this way, if there is only one combination, the output result is the same, and for the rest, the name data for which an output result has already been obtained is excluded from the candidates. Of the remaining candidates after the exclusion, those that are consistent are kept and used as the matching result. Consistency here means that when there are multiple candidate names for a certain name A, and a name B is excluded from the candidate names by the above-mentioned operation, there is always a path P that was the basis for outputting the excluded name B and the combination (A, B) of name A. From this path P, the name combination (C, D) is also given for a name C that is different from name A. As the name combination (A, B) has been excluded, the combination (C, D) is also excluded. A more specific example will be described later as an operation example.
こうして、一つのパスΓkについての処理が終了したならば、プロセッサ101は、上記ステップS3で抽出されたパス情報に基づくパスΓkの全てを処理したか否か判断する(ステップS8)。すなわち、全てのパスΓkの全ての頂点について処理を終了したか判断する。未だ処理していないパスΓkが存在すると判断した場合には、プロセッサ101は、kを更新して、上記ステップS4の処理に移行して、上記ステップS4乃至ステップS7の処理を繰り返す。
When the process for one path Γ k is completed in this manner, the
そして、上記ステップS8においてパスΓkの全てを処理したと判断した場合、プロセッサ101は、データ出力部8としての動作を実行することで、名称データの対応付け情報を出力する(ステップS9)。すなわち、プロセッサ101は、入力部107からまたは外部のデータ処理装置から指示された形態の出力情報をデータメモリ103の一時記憶部1033に記憶された対応付け結果から生成し、その生成した出力情報をデータメモリ103の出力情報記憶部1034に記憶させる。そして、プロセッサ101は、この出力情報を、入出力インタフェース105を介して表示部108により表示したり、通信インタフェース104を介して外部のデータ処理装置に送信したりすることができる。
Then, when it is determined in step S8 that all of the paths Γ k have been processed, the
以上に説明した一実施形態に係る名称データ対応付け装置は、パス作成部6により、共通データを端点とし且つ非共通データを端点間の頂点とする部分パスを抽出し、部分パスそれぞれについて、端点と同じ共通データの端点を持ち且つ部分パスの長さ以上の長さを持つパスを作成し、対応付け部7により、この部分パスそれぞれについて、部分パス上の各頂点とパス上の頂点との組み合わせを探索することで、基礎データベース1が保持する名称データと派生データベース2が保持する名称データとを対応付ける。これにより、統合するデータベース間で表記ゆれが存在する同義の名称データを、名称データに対応する文字列別データがデータベース間で対応関係を有していなくとも、人的稼働を掛けず正確に対応付けることができる。よって、異なるデータベース間で、ある事柄に対して漏れのない情報収集を行うことが可能となる。また、人的稼働の削減により、業務効率を上げる効果が期待できる。In the name data matching device according to the embodiment described above, the
なお、一実施形態に係る名称データ対応付け装置は、グラフ作成部3により、名称データを頂点とする基礎データベース1及び派生データベース2の無向グラフである閉路グラフGd及びGcを作成し、パス情報抽出部5によって、共通データを端点とし且つ派生データベース2が保持する名称データを頂点とする全てのパスΓkを生成し、それらのパスΓkそれぞれについて、頂点数、含まれる頂点の名称データ及びそのパス上の位置を含むパス情報を抽出する。そして、パス作成部6は、このパスΓkの1つに対して、前記パス情報に基づいて、閉路グラフGcから部分パスを抽出し、この部分パスそれぞれについて、閉路グラフGdから、部分パスの端点と同じ共通データの端点を持ち且つ部分パスが有する頂点の頂点数以上の頂点を含むパスを作成する。よって、基礎データベース1が保持している名称データのうち、派生データベース2が保持している名称データと対応付けできる可能性がある頂点を含む、換言すれば、派生データベース2が保持している名称データと対応付けできる可能性の無い頂点を除外した、パスを作成することができる。
In addition, in the name data association device according to the embodiment, the
さらにここで、パス作成部6は、作成するパスとして、パスΓkの頂点数以上であり且つ頂点数に対してユーザが指定した個数以下の頂点数を含むパスを作成する。よって、パスが含む頂点数を制限することで、処理時間の短縮化を図れる。
Furthermore, the
また、一実施形態に係る名称データ対応付け装置においては、対応付け部7は、パス作成部6によって作成したパス上の頂点それぞれについて、パス上の位置が部分パス上の頂点に対応する場合には、基礎データベース1が保持する名称データのうちのパス上の頂点に対応する名称データを、派生データベース2が保持する名称データのうちの部分パス上の頂点の名称データに対応付ける。また、パス上の位置が部分パス上の頂点に対応しない場合には、対応付け部7は、名称データ同士の文字列類似度に基づいて、基礎データベース1が保持する名称データのうちのパス上の頂点に対応する名称データと、派生データベース2が保持する名称データのうちの部分パス上の頂点の名称データとを対応付ける。よって、基礎データベース1が保持する名称データを、派生データベース2が保持する名称データに容易に対応付けすることができる。In addition, in a name data matching device according to one embodiment, for each vertex on the path created by the
また、一実施形態に係る名称データ対応付け装置は、パス情報抽出部5が生成したパスΓkの全てに対する処理が終了するまで、パス作成部6及び対応付け部7の処理を繰り返す。よって、派生データベース2が保持する名称データが基礎データベース1が保持する名称データと対応付けし損なう確率を減少させることができる。
Furthermore, the name data association device according to an embodiment repeats the processes of the
また、一実施形態に係る名称データ対応付け装置は、データ出力部8により、名称データの対応付けの結果に基づいて、名称データの対応表を含む出力情報を生成する。よって、この出力情報を利用して、データベースの統合処理を実施することが可能となる。また、一実施形態に係る名称データ対応付け装置は、出力情報として、統合したデータベースの情報を生成しても良い。
In addition, the name data matching device according to one embodiment generates output information including a name data correspondence table based on the result of matching the name data by the
[動作例]
本実施形態の動作例として、適用した名称データの概要と結果を説明する。
[Example of operation]
As an operation example of this embodiment, an overview of the applied name data and the results will be described.
図7は、動作例において基礎データベース記憶部1031に記憶される基礎データベース1が保持する情報の一例を示す図である。この基礎データベースから得られる隣接情報は、以下の通りである。ここで、(A,B)という表記は、データ名Aとデータ名Bとは繋がりがあることを示すものとする。
・(福岡花園ビル、立子山ビル)
・(立子山ビル、福山伊達ビル)
・(福山伊達ビル、桑原ビル)
・(桑原ビル、福井藤田ビル)
・(福井藤田ビル、福地梁川ビル)
・(福地梁川ビル、保科ビル)
・(保科ビル、恐山ビル)
・(保科ビル、福岡花園ビル)
・(恐山ビル、福岡花園ビル)
・(恐山ビル、月舘ビル)
・(月舘ビル、福島川俣ビル)
・(福島川俣ビル、福岡花園ビル)
7 is a diagram showing an example of information held by the
・(Fukuoka Hanazono Building, Tatsukoyama Building)
・(Tatsukoyama Building, Fukuyama Date Building)
・(Fukuyama Date Building, Kuwabara Building)
・(Kuwabara Building, Fukui Fujita Building)
・(Fukui Fujita Building, Fukuchi Yanagawa Building)
・(Fukuchi Yanagawa Building, Hoshina Building)
・(Hoshina Building, Osorezan Building)
・(Hoshina Building, Fukuoka Hanazono Building)
・(Osorezan Building, Fukuoka Hanazono Building)
・(Osorezan Building, Tsukidate Building)
・(Tsukidate Building, Fukushima Kawamata Building)
・(Fukushima Kawamata Building, Fukuoka Hanazono Building)
図8は、動作例において派生データベース記憶部1032に記憶される派生データベース2が保持する情報の一例を示す図である。この派生データベースから得られる隣接情報は、以下の通りである。この隣接情報のパスがΓkであり、本動作例で扱うパスは一本なのでk=1とする。ここで、(A→B)という表記は、データ名Aからデータ名Bへパスがあることを示すものとする。
・(花園ビル→伊達ビル)
・(伊達ビル→桑原ビル)
・(桑原ビル→藤田ビル)
・(藤田ビル→梁川ビル)
・(梁川ビル→保科ビル)
・(保科ビル→恐山ビル)
・(恐山ビル→月館ビル)
・(月館ビル→川俣ビル)
・(川俣ビル→花園ビル)
8 is a diagram showing an example of information held by the
・(Hanazono Building → Date Building)
・(Date Building → Kuwabara Building)
・(Kuwabara Building → Fujita Building)
・(Fujita Building → Yanagawa Building)
・(Yanagawa Building → Hoshina Building)
・(Hoshina Building → Osorezan Building)
・(Osorezan Building → Tsukikan Building)
・(Tsukikan Building → Kawamata Building)
・(Kawamata Building → Hanazono Building)
この動作例では、パスID=2の名称データに関して、頂点集合Vc及びVdは、以下の通りである。
Vc={福岡花園ビル、立子山ビル、福山伊達ビル、桑原ビル、福井藤田ビル、福地梁川ビル、保科ビル、恐山ビル、月舘ビル、福島川俣ビル}
Vd={花園ビル、伊達ビル、桑原ビル、藤田ビル、梁川ビル、保科ビル、恐山ビル、月館ビル、川俣ビル}
In this operation example, for the name data of path ID=2, the vertex sets V c and V d are as follows:
Vc = {Fukuoka Hanazono Building, Tatsukoyama Building, Fukuyama Date Building, Kuwabara Building, Fukui Fujita Building, Fukuchi Yanagawa Building, Hoshina Building, Osorezan Building, Tsukidate Building, Fukushima Kawamata Building}
V d = {Hanazono Building, Date Building, Kuwabara Building, Fujita Building, Yanagawa Building, Hoshina Building, Osorezan Building, Tsukidate Building, Kawamata Building}
そして、名称データの正確な表記の組み合わせ、すなわち名称データの対応付けは、この動作例では、次の通りである。
{(月舘ビル、月館ビル),(福島川俣ビル、川俣ビル),(福岡花園ビル、花園ビル),(福山伊達ビル、伊達ビル),(福井藤田ビル、藤田ビル),(福地梁川ビル、梁川ビル)}
In this operation example, the correct combination of notations of the name data, that is, the association of the name data, is as follows:
{(Tsukidate Building, Tsukidate Building), (Fukushima Kawamata Building, Kawamata Building), (Fukuoka Hanazono Building, Hanazono Building), (Fukuyama Date Building, Date Building), (Fukui Fujita Building, Fujita Building), (Fukuchi Yanagawa Building, Yanagawa Building)}
実施形態に係る名称データ対応付け装置がこの対応付けを正しく行うことができるか確認した。 We confirmed whether the name data matching device of the embodiment can perform this matching correctly.
名称データ対応付け装置のプロセッサ101は、ステップS1において、グラフ作成部3としての動作を実施し、閉路グラフを作成する。図9は、動作例において基礎データベース1が保持する情報から作成された閉路グラフGdの一例を示す模式図である。
In step S1, the
また、プロセッサ101は、ステップS2において、共通データ抽出部4としての動作を実施し、閉路グラフGcと閉路グラフGdとで共通する名称データを抽出する。ここで、同一表記であるような名称データつまりビル名集合Sは、以下の通りである。
S :={桑原ビル、保科ビル、恐山ビル}
In step S2, the
S: = {Kuwabara Building, Hoshina Building, Osorezan Building}
そこで、プロセッサ101は、ステップS3において、パス情報抽出部5としての動作を実施して派生データベース2からパス情報を抽出し、ステップS4において、パス作成部6としての動作を実施して部分パスを抽出する。図10は、動作例において派生データベース2が保持する情報から作成された閉路グラフGcから生成されたパスΓ1の一例を示す模式図である。プロセッサ101は、閉路グラフGcからビル名集合Sの各要素を端点とする部分パス
Therefore, in step S3, the
を抽出する。
L1
1 :=(桑原ビル、藤田ビル、梁川ビル、保科ビル)
L1
2 :=(保科ビル、恐山ビル)
L1
3 :=(恐山ビル、月館ビル、川俣ビル、花園ビル、伊達ビル、桑原ビル)
Extract.
L 1 1 : = (Kuwabara Building, Fujita Building, Yanagawa Building, Hoshina Building)
L 1 2 : = (Hoshina Building, Osorezan Building)
L 1 3 : = (Osorezan Building, Tsukidate Building, Kawamata Building, Hanazono Building, Date Building, Kuwabara Building)
そして、プロセッサ101は、ステップS5において、部分パスL1
1について、閉路グラフGd上で、「桑原ビル」と「保科ビル」を端点に持つ、長さ3以上、3+x以下のパスを数え上げる。
Then, in step S5, the
今回は動作例のため、パラメータx=1とする。すると、
長さ3: (桑原ビル、福井藤田ビル、福地梁川ビル、保科ビル)
長さ4: (桑原ビル、福山伊達ビル、立子山ビル、福岡花園ビル、保科ビル)
となる。
For this example, let's set the parameter x = 1. Then,
Length 3: (Kuwabara Building, Fukui Fujita Building, Fukuchi Yanagawa Building, Hoshina Building)
Length 4: (Kuwabara Building, Fukuyama Date Building, Tatsukoyama Building, Fukuoka Hanazono Building, Hoshina Building)
It becomes.
長さ3の場合について、数え上げたパスと部分パスL1
1との対応する頂点名を組合せると、
(福井藤田ビル、藤田ビル)、(福地梁川ビル、梁川ビル)
の候補を得る。
For the
(Fukui Fujita Building, Fujita Building), (Fukuchi Yanagawa Building, Yanagawa Building)
Get candidates.
長さ4の場合は、どの組み合わせも編集距離が1であるので、
「藤田ビル」に対し、候補:「福山伊達ビル」、「立子山ビル」、「福井藤田ビル」
「梁川ビル」に対し、候補:「福岡花園ビル」、「立子山ビル」、「福地梁川ビル」
が考えられる。
In the case of
Candidates for "Fujita Building" are: "Fukuyama Date Building", "Tatsukoyama Building", "Fukui Fujita Building"
Candidates for "Yanagawa Building" are: "Fukuoka Hanazono Building", "Tatsukoyama Building", "Fukuchi Yanagawa Building"
It is possible that:
部分パスL1 2については、長さ1なので、省略する。 The partial path L 1 2 has a length of 1 and is therefore omitted.
部分パスL1
3について、プロセッサ101は、閉路グラフGd上で、「恐山ビル」と「桑原ビル」を端点に持つ、長さ5以上、5+x=6以下のパスを数え上げる。すると、
長さ5:該当なし
長さ6:(恐山ビル、月舘ビル、福島川俣ビル、福岡花園ビル、立子山ビル、福山伊達ビル、桑原ビル)
を得る。
For the partial path L13 , the
Length 5: N/A
Length 6: (Osorezan Building, Tsukidate Building, Fukushima Kawamata Building, Fukuoka Hanazono Building, Tatsukoyama Building, Fukuyama Date Building, Kuwabara Building)
get.
長さ6のパスから、部分パスL1
3の各頂点と編集距離が最短である点を選択すると、
(月舘ビル、月館ビル)、(福島川俣ビル、川俣ビル)、(福岡花園ビル、花園ビル)、(福山伊達ビル、伊達ビル)
の候補を得る。
From the path of
(Tsukidate Building, Tsukidate Building), (Fukushima Kawamata Building, Kawamata Building), (Fukuoka Hanazono Building, Hanazono Building), (Fukuyama Date Building, Date Building)
Get candidates.
以上より、候補数が1つである組み合わせ=回答、とするので、
(月舘ビル、月館ビル)、(福島川俣ビル、川俣ビル)、(福岡花園ビル、花園ビル)、(福山伊達ビル、伊達ビル)
は回答となる。
From the above, the combination with one candidate is the answer, so
(Tsukidate Building, Tsukidate Building), (Fukushima Kawamata Building, Kawamata Building), (Fukuoka Hanazono Building, Hanazono Building), (Fukuyama Date Building, Date Building)
is the answer.
そして、この「花園ビル」と「伊達ビル」の回答から、「藤田ビル」及び「梁川ビル」の候補は、
「藤田ビル」に対し、候補:「立子山ビル」、「福井藤田ビル」
「梁川ビル」に対し、候補:「立子山ビル」、「福地梁川ビル」
になる。ここで、「福岡花園ビル」と「福山伊達ビル」の候補がなくなったことから、
パス:(桑原ビル、福山伊達ビル、立子山ビル、福岡花園ビル、保科ビル)
は、部分パスL1
1の閉路グラフGdにおける対応パスにはなりえない。よって、「藤田ビル」及び「梁川ビル」の候補から「立子山ビル」も除外されるので、
(福井藤田ビル、藤田ビル)、(福地梁川ビル、梁川ビル)
を回答として得る。
And from the answers of "Hanazono Building" and "Date Building", the candidates of "Fujita Building" and "Yanakawa Building" are,
Candidates for "Fujita Building" are: "Tatsukoyama Building" and "Fukui Fujita Building"
Candidates for "Yasagawa Building" are: "Tatsukoyama Building", "Fukuchi Yanagawa Building"
At this point, since the candidates for "Fukuoka Hanazono Building" and "Fukuyama Date Building" were eliminated,
Path: (Kuwabara Building, Fukuyama Date Building, Tatsukoyama Building, Fukuoka Hanazono Building, Hoshina Building)
cannot be a corresponding path in the cyclic graph G d of the partial path L 1 1. Therefore, the "Tatsukoyama Building" is also excluded from the candidates of the "Fujita Building" and the "Yanagagawa Building", so
(Fukui Fujita Building, Fujita Building), (Fukuchi Yanagawa Building, Yanagawa Building)
gets as an answer.
その後、プロセッサ101は、データメモリ103の一時記憶部1033に記憶された上記対応付けの結果に基づいて出力情報を生成し、データメモリ103の出力情報記憶部1034に記憶させる。図11は、この出力情報記憶部1034に記憶される出力情報の一例を示す図である。なお、ここでは、出力情報を名称データの対応関係を表す対応表として示しているが、これに限定されないことは勿論である。Thereafter, the
以上より、名称データ対応付け装置により、部分パスを使用することで、正確な名称データの対応付けが可能であることが検証できた。 From the above, it was verified that the name data matching device can accurately match name data by using partial paths.
[他の実施形態]
前記一実施形態では、対象とするデータベースも2つの場合を例に説明したが、3つ以上であっても良い。すなわち、3つ以上のデータベースのうち、少なくとも1つのデータベースがパス識別情報を保持していれば、残りの2つ以上のデータベースとの間で名称データの対応付けを行うことが可能となる。
[Other embodiments]
In the embodiment described above, the number of target databases is two, but the number may be three or more. In other words, if at least one of the three or more databases holds path identification information, it is possible to associate name data with the remaining two or more databases.
また、前記一実施形態では、パスを例に説明したが、パスではなく閉路である場合(始点と終点が同一の頂点)であっても対応可能なことは勿論である。 In addition, in the above embodiment, a path was used as an example, but it is of course also possible to handle a closed circuit (where the start and end points are the same vertex) rather than a path.
また、前記一実施形態では、データメモリ103の基礎データベース記憶部1031及び派生データベース記憶部1032に基礎データベース1及び派生データベース2が保持する情報の全部または一部を記憶して処理を進める例を説明したが、それに限定するものではない。プロセッサ101は、通信インタフェース104により外部のデータサーバに適宜アクセスして、そこに構築された基礎データベース1及び派生データベース2に蓄積されている情報を使用して処理を進め、各ステップの処理結果のみを一時記憶部1033に記憶するようにしても良い。これにより、名称データ対応付け装置が備えるデータメモリ103の容量を抑えることができ、安価に名称データ対応付け装置を構成することが可能となる。
In the above embodiment, the processing is carried out by storing all or part of the information held by
また、前記一実施形態では、出力情報を生成して、表示部108または外部のデータ処理装置に出力する例を説明したが、出力情報を生成することなく、一時記憶部1033に記憶した対応付け結果を出力するようにしても良い。これにより、名称データ対応付け装置が備えるデータメモリ103の容量を抑えることができ、安価に名称データ対応付け装置を構成することが可能となる。また、データベースの統合処理を行うデータ処理装置に対して、名称データの対応付けのみを行うサービスを提供することが可能となる。
In addition, in the above embodiment, an example was described in which output information was generated and output to the
また、各実施形態に記載した手法は、計算機(コンピュータ)に実行させることができるプログラム(ソフトウェア手段)として、例えば磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウェア手段(実行プログラムのみならずテーブル、データ構造も含む)を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウェア手段を構築し、このソフトウェア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスク、半導体メモリ等の記憶媒体を含むものである。 The methods described in each embodiment can be stored as a program (software means) that can be executed by a calculator (computer) on a recording medium such as a magnetic disk (floppy disk, hard disk, etc.), optical disk (CD-ROM, DVD, MO, etc.), semiconductor memory (ROM, RAM, flash memory, etc.), and can also be distributed by transmitting it via a communication medium. The programs stored on the medium also include a setting program that configures the software means (including not only execution programs but also tables and data structures) that the calculator executes. The computer that realizes this device reads the program recorded on the recording medium, and in some cases, constructs the software means using the setting program, and executes the above-mentioned processing by controlling the operation of the software means. Note that the recording medium referred to in this specification is not limited to a recording medium for distribution, but also includes storage media such as a magnetic disk or semiconductor memory installed inside the computer or in a device connected via a network.
要するに、この発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組合せて実施しても良く、その場合組合せた効果が得られる。さらに、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。In short, this invention is not limited to the above-described embodiments, and various modifications can be made in the implementation stage without departing from the gist of the invention. Furthermore, the embodiments may be implemented in appropriate combinations as far as possible, in which case the combined effects can be obtained. Furthermore, the above-described embodiments include inventions at various stages, and various inventions can be extracted by appropriate combinations of the multiple constituent elements disclosed.
1…基礎データベース
2…派生データベース
3…グラフ作成部
4…共通データ抽出部
5…パス情報抽出部
6…パス作成部
7…対応付け部
8…データ出力部
101…プロセッサ
102…プログラムメモリ
103…データメモリ
104…通信インタフェース
105…入出力インタフェース
106…バス
107…入力部
108…表示部
1031…基礎データベース記憶部
1032…派生データベース記憶部
1033…一時記憶部
1034…出力情報記憶部
REFERENCE SIGNS
Claims (8)
前記第1のデータベースと前記第2のデータベースとの間で同じ表記である名称データを共通データとして抽出する共通データ抽出部と、
前記第2のデータベースが保持する前記パス識別情報で表される前記パスから、前記共通データ抽出部が抽出した前記共通データを端点とし且つ非共通データを前記端点間の頂点とする部分パスを抽出し、前記第1のデータベースが保持する情報に基づいて、前記部分パスそれぞれについて、前記部分パスの前記端点と同じ共通データの端点を持ち且つ前記部分パスの長さ以上の長さを持つパスを作成するパス作成部と、
前記パス作成部が抽出した前記部分パスそれぞれについて、前記部分パス上の各頂点と前記パス作成部が作成した前記パス上の頂点との組み合わせを探索することで、前記第1のデータベースが保持する前記名称データと前記第2のデータベースが保持する前記名称データとを対応付ける対応付け部と、
を具備する、名称データ対応付け装置。 A name data associating device for associating synonymous name data having different notations between a first database that holds a plurality of name data and adjacency information indicating a logical or physical adjacency relationship between the name data and a second database that holds a plurality of name data, adjacency information for the name data, and path identification information indicating a path to which the name data belongs, comprising:
a common data extraction unit that extracts name data having the same notation between the first database and the second database as common data;
a path creation unit that extracts partial paths, from the paths represented by the path identification information stored in the second database, that have the common data extracted by the common data extraction unit as endpoints and non-common data as vertices between the endpoints, and creates, for each of the partial paths, a path that has endpoints of common data that are the same as the endpoints of the partial paths and has a length equal to or greater than the length of the partial paths, based on the information stored in the first database;
a correspondence unit that associates the name data held in the first database with the name data held in the second database by searching for a combination of each vertex on the partial path and a vertex on the path created by the path creation unit for each of the partial paths extracted by the path creation unit;
A name data association device comprising:
前記グラフ作成部が作成した前記第2のデータベースの前記無向グラフと前記第2のデータベースが保持する前記パス識別情報とに基づいて、前記共通データ抽出部が抽出した前記共通データを端点とし且つ前記第2のデータベースが保持する前記名称データを頂点とする全てのパスを生成し、それらのパスそれぞれについて、頂点数、含まれる頂点の名称データ及びそのパス上の位置を含むパス情報を抽出するパス情報抽出部と、
をさらに具備し、
前記パス作成部は、前記パス情報抽出部が生成したパスの1つに対し、前記パス情報に基づいて、前記グラフ作成部が作成した前記第2のデータベースの前記無向グラフから前記部分パスを抽出し、前記部分パスそれぞれについて、前記第1のデータベースの前記無向グラフから、前記部分パスの前記端点と同じ共通データの端点を持ち且つ前記部分パスが有する頂点の頂点数以上の頂点を含むパスを作成する、請求項1に記載の名称データ対応付け装置。 a graph creation unit that creates an undirected graph of the first database and the second database, with the name data as a vertex, based on information held in the first database and the second database;
a path information extraction unit that generates all paths having the common data extracted by the common data extraction unit as an end point and the name data stored in the second database as a vertex based on the undirected graph of the second database created by the graph creation unit and the path identification information stored in the second database, and extracts path information for each of the paths including the number of vertices, name data of the vertices included, and positions on the path;
Further comprising:
2. The name data matching device of claim 1, wherein the path creation unit extracts the partial path from the undirected graph of the second database created by the graph creation unit based on the path information for one of the paths generated by the path information extraction unit, and creates, for each of the partial paths, a path from the undirected graph of the first database that has the same common data endpoint as the endpoint of the partial path and includes more vertices than the number of vertices the partial path has.
前記パス上の位置が前記部分パス上の前記頂点に対応する場合には、前記第1のデータベースが保持する前記名称データのうちの前記パス上の前記頂点に対応する名称データを、前記第2のデータベースが保持する前記名称データのうちの前記部分パス上の前記頂点の前記名称データに対応付け、
前記パス上の位置が前記部分パス上の前記頂点に対応しない場合には、名称データ同士の文字列類似度に基づいて、前記第1のデータベースが保持する前記名称データのうちの前記パス上の前記頂点に対応する名称データと、前記第2のデータベースが保持する前記名称データのうちの前記部分パス上の前記頂点の前記名称データとを対応付ける、
請求項1乃至3のいずれかに記載の名称データ対応付け装置。 The association unit, for each of the vertices on the path created by the path creation unit,
if the position on the path corresponds to the vertex on the partial path, then associating name data corresponding to the vertex on the path among the name data held in the first database with name data of the vertex on the partial path among the name data held in the second database;
if the position on the path does not correspond to the vertex on the partial path, then, based on a character string similarity between the name data, name data corresponding to the vertex on the path among the name data held in the first database is associated with name data of the vertex on the partial path among the name data held in the second database;
4. The name data correlating device according to claim 1.
前記プロセッサにより、前記メモリに記憶されている前記第1のデータベースと前記第2のデータベースとの間で同じ表記である名称データを共通データとして抽出し、
前記プロセッサにより、前記メモリに記憶されている前記第2のデータベースが保持する前記パス識別情報で表される前記パスから、前記抽出した前記共通データを端点とし且つ非共通データを前記端点間の頂点とする部分パスを抽出し、
前記プロセッサにより、前記メモリに記憶されている前記第1のデータベースが保持する情報に基づいて、前記抽出した前記部分パスそれぞれについて、前記部分パスの前記端点と同じ共通データの端点を持ち且つ前記部分パスの長さ以上の長さを持つパスを作成し、
前記プロセッサにより、前記抽出した前記部分パスそれぞれについて、前記部分パス上の各頂点と前記作成した前記パス上の頂点との組み合わせを探索することで、前記メモリに記憶されている前記第1のデータベースが保持する前記名称データと前記メモリに記憶されている前記第2のデータベースが保持する前記名称データとを対応付ける、
名称データ対応付け方法。 A name data matching method in a name data matching device comprising a processor, a first database that holds a plurality of name data and adjacency information indicating a logical or physical adjacency relationship between the name data, and a second database that holds a plurality of name data, adjacency information for the name data, and path identification information indicating a path to which the name data belongs, the method comprising: matching synonymous name data having different notations between the first database and the second database, the method comprising:
extracting, by the processor, name data having the same notation between the first database and the second database stored in the memory as common data;
extracting, by the processor, a partial path having the extracted common data as an end point and non-common data as a vertex between the end points from the path represented by the path identification information held in the second database stored in the memory;
by the processor, based on information held in the first database stored in the memory, creating, for each of the extracted partial paths, a path having an end point of common data that is the same as the end point of the partial path and having a length equal to or greater than the length of the partial path;
by the processor, for each of the extracted partial paths, searching for a combination of each vertex on the partial path and a vertex on the created path, thereby associating the name data held in the first database stored in the memory with the name data held in the second database stored in the memory;
Name data matching method.
7. A name data associating program that causes a processor to function as each of said units of the name data associating device according to claim 1.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2021/021548 WO2022259303A1 (en) | 2021-06-07 | 2021-06-07 | Name data association device, name data association method, and name data association program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2022259303A1 JPWO2022259303A1 (en) | 2022-12-15 |
| JP7601220B2 true JP7601220B2 (en) | 2024-12-17 |
Family
ID=84424985
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023527147A Active JP7601220B2 (en) | 2021-06-07 | 2021-06-07 | Name data matching device, name data matching method, and name data matching program |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7601220B2 (en) |
| WO (1) | WO2022259303A1 (en) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001187477A (en) | 1999-12-28 | 2001-07-10 | Ibm Japan Ltd | Database system with breadcrumbs table |
| JP2005011049A (en) | 2003-06-19 | 2005-01-13 | Nec Soft Ltd | Database integration device |
| JP2010134828A (en) | 2008-12-08 | 2010-06-17 | Toshiba Corp | Database synthesizer, character recognition support system, and method of synthesizing database |
| JP2017123062A (en) | 2016-01-07 | 2017-07-13 | 富士通株式会社 | Relation information generation method, apparatus, and program |
| JP2019502995A (en) | 2015-12-18 | 2019-01-31 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | Similar term aggregation method and apparatus |
| JP2020064417A (en) | 2018-10-16 | 2020-04-23 | Nttテクノクロス株式会社 | Management device, management method, and program |
-
2021
- 2021-06-07 JP JP2023527147A patent/JP7601220B2/en active Active
- 2021-06-07 WO PCT/JP2021/021548 patent/WO2022259303A1/en not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001187477A (en) | 1999-12-28 | 2001-07-10 | Ibm Japan Ltd | Database system with breadcrumbs table |
| JP2005011049A (en) | 2003-06-19 | 2005-01-13 | Nec Soft Ltd | Database integration device |
| JP2010134828A (en) | 2008-12-08 | 2010-06-17 | Toshiba Corp | Database synthesizer, character recognition support system, and method of synthesizing database |
| JP2019502995A (en) | 2015-12-18 | 2019-01-31 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | Similar term aggregation method and apparatus |
| JP2017123062A (en) | 2016-01-07 | 2017-07-13 | 富士通株式会社 | Relation information generation method, apparatus, and program |
| JP2020064417A (en) | 2018-10-16 | 2020-04-23 | Nttテクノクロス株式会社 | Management device, management method, and program |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2022259303A1 (en) | 2022-12-15 |
| JPWO2022259303A1 (en) | 2022-12-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108304378B (en) | Text similarity computing method, apparatus, computer equipment and storage medium | |
| US11397855B2 (en) | Data standardization rules generation | |
| CN113590737B (en) | Event data processing method, device, device and medium based on knowledge graph | |
| CN110162771B (en) | Event trigger word recognition method and device and electronic equipment | |
| CN107169021A (en) | Method and apparatus for predicting application feature labels | |
| CN116467499B (en) | Query statement generation method and apparatus | |
| JP2021501387A (en) | Methods, computer programs and computer systems for extracting expressions for natural language processing | |
| WO2019085118A1 (en) | Topic model-based associated word analysis method, and electronic apparatus and storage medium | |
| CN115700527A (en) | String Similarity Determination | |
| CN117993493A (en) | Script generation method, device, equipment and storage medium based on event graph | |
| JP4237813B2 (en) | Structured document management system | |
| WO2016112782A1 (en) | Method and system of extracting user living range | |
| CN103246642A (en) | Information processing device and information processing method | |
| CN114780577B (en) | SQL statement generation method, device, equipment and storage medium | |
| Alatawi et al. | The expansion of source code abbreviations using a language model | |
| JP7601220B2 (en) | Name data matching device, name data matching method, and name data matching program | |
| CN115310450A (en) | Training method and device for named entity recognition model | |
| CN119917674A (en) | Representation query and recommendation method based on third-party library with attributed multi-layer graph model | |
| US9104755B2 (en) | Ontology enhancement method and system | |
| CN118152541A (en) | Information question-answering method and system based on model and related products | |
| US11960541B2 (en) | Name data matching apparatus, and name data matching method and program | |
| JP7392841B2 (en) | Name data correspondence device, name data correspondence method and program | |
| JP7392840B2 (en) | Name data correspondence device, name data correspondence method and program | |
| US11687599B2 (en) | Data retrieving apparatus, method, and program | |
| US11868726B2 (en) | Named-entity extraction apparatus, method, and non-transitory computer readable storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231011 |
|
| 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: 20241105 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241118 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7601220 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 |