JP7276509B2 - 名称データ対応付け装置、名称データ対応付け方法及びプログラム - Google Patents

名称データ対応付け装置、名称データ対応付け方法及びプログラム Download PDF

Info

Publication number
JP7276509B2
JP7276509B2 JP2021565267A JP2021565267A JP7276509B2 JP 7276509 B2 JP7276509 B2 JP 7276509B2 JP 2021565267 A JP2021565267 A JP 2021565267A JP 2021565267 A JP2021565267 A JP 2021565267A JP 7276509 B2 JP7276509 B2 JP 7276509B2
Authority
JP
Japan
Prior art keywords
name data
building
database
cycle
information
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
Application number
JP2021565267A
Other languages
English (en)
Other versions
JPWO2021124525A1 (ja
Inventor
まな美 小川
正崇 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2021124525A1 publication Critical patent/JPWO2021124525A1/ja
Application granted granted Critical
Publication of JP7276509B2 publication Critical patent/JP7276509B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving 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)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明の実施形態は、名称データ対応付け装置、名称データ対応付け方法及びプログラムに関する。
データベースを用いた業務には、異なる管理下にあるDBを統合し、格納されていた名称データを横並びで使用することで、より多角的・包括的な分析を行うことがある。そのためには、統合するデータベースの間で同一の事柄を表している名称データに対し、同一の識別情報を付与するなどして、名称データを統合する、所謂「名寄せ」という作業が必要になる。
しかしながら、名称データの入力方法は、データベースの管理元に依る。そのため、統合するデータベースの間で同一の事柄を表しているにもかかわらず、その表記が異なるという状況(表記ゆれ)はしばしば存在する。表記ゆれを含むデータベースを統合してしまうと、前述のような分析を行う際に、一つの事柄に関連する情報が表記ゆれを起こした部分だけ不足してしまう事態が発生してしまう。
このような表記ゆれに対処する技術として、特許文献1及び特許文献2は、検索対象の文字列同士の類似度を定量的に計算することで、最も似ている文字列を検索する手法を提案している。また、特許文献3は、TF-IDF(Term Frequency - Inverse Document Frequency)を用いて検索文字列から特徴量を算出することで、一定閾値以上の類似度を持つ文字列と対応付ける手法を提案している。さらに、特許文献4は、検索文字列に対応する測定日時や測定値といった文字列別データを比較することにより文字列同士の対応関係を判定して検索用の辞書を作成することで、正確且つ効率良く同一の事柄を表す文字列を探し出す方法を提案している。
日本国特開2005-11078号公報 日本国特開平8-069474号公報 日本国特開2006-244105号公報 日本国特開2014-232389号公報
表記のゆれ方には、登録データ名を省略した表記と、使用者同士でのローカルルールに基づく呼び名(通称)による表記と、が存在する。
特許文献1及び2に開示されているような手法は、前者の省略表記のみが表記ゆれとして存在する場合には、ポピュラー且つ有効な手段である。しかしながら、後者の通称表記が混在している状況下では、各通称に対してその通称と文字列的に類似した名称が紐付けられるため、誤った結果を提示する可能性が高い。なぜならば、通称表記は、本来紐付けられるべき名称と著しくかけ離れているケースが多いためである。
また、前者の省略表記のみを扱う場合であっても、特許文献1及び2に開示の手法は、日本語に対して使用されることを想定して作られているので、技術の適用範囲が限定的である。日本語における省略表記の特徴と他言語における特徴は全てが一致するわけではないので、特許文献1及び2に開示の手法が、他言語で入力された名称データに対して問題なく適用可能とは限らないためである。
同様に、特許文献3に開示されているような形態素を用いた手法も、通称に対しては、有効であるとはいえない。なぜならば、前述の理由に加え、TF-IDFのような類似度算出手法は、「頻出する単語(形態素)は重要度が低い(高い)」という極めて一般的な思考を元にしている一方で、通称とは、局所的規則によって名付けられているため、形態素による通称の検索は非常に相性が悪いからである。
よって、通称表記に対しては、特許文献4に開示されているような辞書を作成することが最適な手法だと考えられている。しかしながら、この辞書の作成については、特許文献4に開示の手法は、名称データに対応する文字列別データが、統合するデータベース間で対応関係を有していることが前提となっており、そのような対応関係を有していない場合には辞書を作成することができない。よって、統合するデータベース間で文字列別データが対応関係を有していない同義の名称データであっても対応付けすることができる技術が望まれている。
この発明は、統合するデータベース間で表記ゆれが存在する同義の名称データを、名称データに対応する文字列別データがデータベース間で対応関係を有していなくとも、人的稼働を掛けず正確に対応付けることができる技術を提供しようとするものである。
上記課題を解決するために、この発明の一態様に係る名称データ対応付け装置は、複数の名称データ及びそれら名称データの隣接関係を示す隣接情報を保持する第1のデータベースと、複数の名称データ、それら名称データの隣接情報及びそれら名称データが属するパスを表すパス識別情報を保持する第2のデータベースとの間で異なる表記を有する同義の名称データを対応付ける名称データ対応付け装置であって、前記第1のデータベースと前記第2のデータベースとの間で同じ表記である名称データを共通データとして抽出する共通データ抽出部と、前記第2のデータベースが保持する情報に基づいて、前記共通データ抽出部が抽出した前記共通データのうち1つを始点とし、前記第2のデータベースが保持する前記名称データを頂点とする、全てのパスを生成し、それらのパスそれぞれについて、頂点数、含まれる共通データ及びその位置を含むパス情報を抽出するパス情報抽出部と、前記第1のデータベースが保持する情報に基づいて、前記パス情報抽出部が抽出した各パスの前記パス情報に含まれる前記始点の名称データ、前記頂点数、前記含まれる共通データ及び前記位置と一致する全てのパスを生成するパス作成部と、前記パス作成部が生成した各パスから、通過する頂点数がより多く且つ重複する箇所がより少ないパスの組み合わせを抽出し、その抽出された各パスの頂点と前記パス情報抽出部が生成した各パスの頂点とを対応付けることで、前記第1のデータベースが保持する前記名称データと前記第2のデータベースが保持する前記名称データとを対応付ける対応付け部と、を具備する。
この発明の一態様によれば、パス識別情報を保持する第2のデータベースの情報から生成される、第1のデータベースと第2のデータベースとの共通データのうち1つを始点とし、第2のデータベースが保持する名称データを頂点とする全てのパスそれぞれについて、パス情報を抽出し、そのパス情報と同条件のパスを、第1のデータベースが保持する情報から全て生成し、これら生成したパスの中から、通過する頂点数がより多く且つ重複する箇所がより少ないパスの組み合わせを最適なパスとして選択することで、第1のデータベースの名称データと第2のデータベースの名称データとを対応付けることができるので、統合するデータベース間で表記ゆれが存在する同義の名称データを、名称データに対応する文字列別データがデータベース間で対応関係を有していなくとも、人的稼働を掛けず正確に対応付けることができる技術を提供することができる。
図1は、この発明の一実施形態に係る名称データ対応付け装置の構成の一例を示すブロック図である。 図2は、名称データ対応付け装置のハードウェア構成の一例を示す図である。 図3は、基礎データベース記憶部に記憶される基礎データベースが保持する情報の一例を示す図である。 図4は、派生データベース記憶部に記憶される派生データベースが保持する情報の一例を示す図である。 図5は、名称データ対応付け装置における名称データの対応付けに係わる処理動作の一例を示すフローチャートである。 図6は、図5中の最適組み合わせ抽出処理の詳細の一例を示すフローチャートである。 図7は、動作例において基礎データベースが保持する情報の一例を示す図である。 図8は、動作例において派生データベースが保持する情報の一例を示す図である。 図9は、動作例においてグラフ作成部によって派生データベースが保持する情報から作成された閉路グラフの一例を示す模式図である。 図10は、動作例においてグラフ作成部によって基礎データベースが保持する情報から作成された閉路グラフの一例を示す模式図である。 図11Aは、動作例においてパス作成部によって生成された閉路の一例を示す模式図である。 図11Bは、動作例においてパス作成部によって生成された閉路の一例を示す模式図である。 図11Cは、動作例においてパス作成部によって生成された閉路の一例を示す模式図である。 図11Dは、動作例においてパス作成部によって生成された閉路の一例を示す模式図である。 図11Eは、動作例においてパス作成部によって生成された閉路の一例を示す模式図である。 図11Fは、動作例においてパス作成部によって生成された閉路の一例を示す模式図である。 図12は、対応付け結果に基づく閉路グラフの一例を示す模式図である。 図13は、動作例において出力情報記憶部に記憶される出力情報の一例を示す図である。
以下、図面を参照して、この発明に係わる実施形態を説明する。
本実施形態において、複数のデータベースは、異なる表記を有する同義の名称データを保持しており、これらデータベースで名称データを対応付けしたいデータカラムは、既知であるとする。各データカラムは、名称データと、例えば測定値や測定日時、売上日時や売上金額、などといった、名称データに対応する文字列別データを含むことができる。また、各データベースは、名称データの隣接関係を示す論理的あるいは物理的な隣接情報を保持していることを想定する。ここで、名称データの隣接関係を示す隣接情報とは、例えば、人脈(人物Aと人物Bが知り合いである)や、ネットワーク上の接続関係(ビルAとビルBがケーブルによって接続されている)といった、データ同士の繋がり方の情報を指す。また、各データベース内の名称データ間には、ネットワーク上の接続関係があるとする。具体的には、各データベースに「上位ビル」「下位ビル」という名前のカラムがあり、「上位ビル」に格納された名称データと「下位ビル」に格納された名称データは、あるネットワーク上で隣接していることを表す。加えて、複数のデータベースのうち少なくとも1つには、隣接情報に加えて、名称データが属するパスを表すパス識別情報が追加されていると想定する。
(構成例)
図1は、この発明の一実施形態に係る名称データ対応付け装置の構成の一例を示すブロック図である。なお、この発明は、名称データを対応付けするデータベースの個数に制限は特にないが、本一実施形態では、説明の簡単化のため、対象とするデータベースは2つであるとしている。
名称データ対応付け装置は、基礎データベース(図では、データベースをDBと略記する。)1、派生データベース2、グラフ作成部3、共通データ抽出部4、パス情報抽出部5、パス作成部6、対応付け部7及びデータ出力部8を有する。
基礎データベース1は、複数の名称データと、それら名称データの隣接関係を示す隣接情報と、を保持する第1のデータベースである。また、派生データベース2は、複数の名称データと、それら名称データの隣接情報と、それら名称データが属するパスを表すパス識別情報と、を保持する第2のデータベースである。
グラフ作成部3は、基礎データベース1及び派生データベース2が保持する情報に基づいて、名称データを頂点とする無向グラフを作成する。
共通データ抽出部4は、基礎データベース1と派生データベース2との間で同じ表記である名称データを、共通データとして抽出する。
パス情報抽出部5は、派生データベース2が保持する情報に基づいて、共通データ抽出部4が抽出した共通データのうち1つを始点とし、派生データベース2が保持する名称データを頂点とする、全てのパスを生成し、それらのパスそれぞれについて、頂点数、含まれる共通データ及びその位置を含むパス情報を抽出する。例えば、パス情報抽出部5は、グラフ作成部3が作成した無向グラフと派生データベース2が保持するパス識別情報とに基づいて、パス情報を抽出することができる。
パス作成部6は、基礎データベース1が保持する情報に基づいて、パス情報抽出部5が抽出した各パスのパス情報に含まれる始点の名称データ、頂点数、含まれる共通データ及び位置と一致する全てのパスを生成する。例えば、パス作成部6は、グラフ作成部3が作成した無向グラフに基づいて、パスを生成することができる。
対応付け部7は、パス作成部6が生成した各パスから、通過する頂点数がより多く且つ重複する箇所がより少ないパスの組み合わせを抽出し、その抽出された各パスの頂点とパス情報抽出部5が生成した各パスの頂点とを対応付けることで、基礎データベース1が保持する名称データと派生データベース2が保持する名称データとを対応付ける。
データ出力部8は、対応付け部7での対応付けの結果に基づいて、出力情報を生成し、それを出力する。例えば、データ出力部8は、対応付け部7での対応付けの結果に基づいて、名称データの対応関係を表す対応表を、出力情報として生成することができる。また、データ出力部8は、対応付け部7での対応付けの結果に基づいて基礎データベース1が保持している情報について名称データを変換して、新たなデータベースを作成し、これを出力情報とするようにしても良い。あるいは、データ出力部8は、対応付け部7での対応付けの結果に基づいて基礎データベース1及び派生データベース2が保持している情報を統合して、新たなデータベースを作成し、これを出力情報とするようにしても良い。
以下、説明の簡単化のために、パスは、始点と終点が同一の頂点である閉路であると想定して説明する。
この場合、グラフ作成部3は、無向グラフとして閉路グラフを作成する閉路グラフ作成部となる。すなわち、グラフ作成部3は、基礎データベース1及び派生データベース2が保持する隣接情報に基づいて、名称データを頂点とする閉路グラフを作成する。
パス情報抽出部5は、パスとして閉路を生成し、パス情報として閉路情報を生成する閉路情報抽出部となる。すなわち、パス情報抽出部5は、グラフ作成部3が作成した閉路グラフと派生データベース2が保持するパス識別情報である閉路識別情報とに基づいて、共通データのうち1つを始点且つ終点とし、派生データベース2が保持する名称データを頂点とする、全ての閉路を生成し、その生成した全ての閉路それぞれについて、頂点数、含まれる共通データ及び位置を含む閉路情報を抽出する。
パス作成部6は、パスとして閉路を生成する閉路作成部となる。すなわち、パス作成部6は、グラフ作成部3が作成した閉路グラフに基づいて、パス情報抽出部5が抽出した各閉路の閉路情報に含まれる始点且つ終点の名称データ、頂点数、含まれる共通データ及び位置が一致する全ての閉路を生成する。
対応付け部7は、パス作成部6が生成した各閉路から、通過する頂点数がより多く且つ重複する箇所がより少ない閉路の組み合わせを抽出し、その抽出された各閉路の頂点とパス情報抽出部5が生成した各閉路の頂点とを対応付けることで、基礎データベース1が保持する名称データと派生データベース2が保持する名称データとを対応付ける。
図2は、名称データ対応付け装置のハードウェア構成の一例を示す図である。
名称データ対応付け装置は、図2に示すように、例えばサーバコンピュータ(Server computer)やパーソナルコンピュータ(Personal computer)などのコンピュータにより構成され、CPU(Central Processing Unit)等のハードウェアプロセッサ101を有する。そして、名称データ対応付け装置では、このプロセッサ101に対し、プログラムメモリ102と、データメモリ103と、通信インタフェース104と、入出力インタフェース(図2では入出力IFと記す)105とが、バス106を介して接続される。
通信インタフェース104は、例えば一つ以上の有線または無線の通信モジュールを含むことができる。通信インタフェース104は、基礎データベース1及び/または派生データベース2が、LAN(Local Area Network)やインターネットなどのネットワークを介して接続されるデータサーバなどに構成される場合には、そのデータサーバなどとの間で通信を行い、それらデータサーバからデータを取得することができる。また、通信インタフェース104は、外部のデータ処理装置などと通信して、そのデータ処理装置からの要求を受信したり、その要求に応じたデータ処理結果をデータ処理装置に返信したりすることもできる。
入出力インタフェース105には、入力部107及び表示部108が接続されている。入力部107及び表示部108は、例えば液晶または有機EL(Electro Luminescence)を使用した表示デバイスの表示画面上に、静電方式または圧力方式を採用した入力検知シートを配置した、いわゆるタブレット型の入力・表示デバイスを用いたものが用いられることができる。なお、入力部107及び表示部108は独立するデバイスにより構成されてもよい。入出力インタフェース105は、上記入力部107において入力された操作情報をプロセッサ101に入力すると共に、プロセッサ101で生成された表示情報を表示部108に表示させる。
なお、入力部107及び表示部108は、入出力インタフェース105に接続されていなくてもよい。入力部107及び表示部108は、通信インタフェース104と直接またはネットワークを介して接続するための通信ユニットを備えることで、プロセッサ101との間で情報の授受を行い得る。
また、入出力インタフェース105は、フラッシュメモリなどの半導体メモリといった記録媒体のリード/ライト機能を有しても良いし、あるいは、そのような記録媒体のリード/ライト機能を持ったリーダライタとの接続機能を有しても良い。これにより、名称データ対応付け装置に対して着脱自在な記録媒体を、名称データを保持するデータベースとすることができる。入出力インタフェース105は、さらに、他の機器との接続機能を有して良い。
プログラムメモリ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)などの集積回路を含む、他の多様な形式によって実現されても良い。
データメモリ103は、有形のコンピュータ可読記憶媒体として、例えば、上記の不揮発性メモリと、RAM(Random Access Memory)等の揮発性メモリとが組合せて使用されたものである。このデータメモリ103は、各種処理が行われる過程で取得及び作成された各種データが記憶されるために用いられる。すなわち、データメモリ103には、各種処理が行われる過程で、適宜、各種データを記憶するための領域が確保される。そのような領域として、データメモリ103には、例えば、基礎データベース記憶部1031、派生データベース記憶部1032、一時記憶部1033及び出力情報記憶部1034を設けることができる。
基礎データベース記憶部1031は、基礎データベース1の情報を記憶し、派生データベース記憶部1032は、派生データベース2の情報を記憶する。すなわち、基礎データベース1及び派生データベース2が、この基礎データベース記憶部1031及び派生データベース記憶部1032に構成されることができる。
図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は、それぞれのデータベースにおけるビル名数である。
これら基礎データベース記憶部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に記憶させるようにしても良い。
一時記憶部1033は、プロセッサ101が、上記グラフ作成部3としての動作を実施した際に作成する無向グラフ、上記共通データ抽出部4としての動作を実施した際に抽出した共通データ、上記パス情報抽出部5としての動作を実施した際に作成した全ての閉路及びそれらの閉路それぞれについて抽出した閉路情報、上記パス作成部6としての動作を実施した際に生成した閉路、上記対応付け部7としての動作を実施した際に得られる名称データの対応付け結果、などを記憶する。
出力情報記憶部1034は、プロセッサ101が上記データ出力部8としての動作を実施した際に得られる出力情報を記憶する。
(動作)
次に、名称データ対応付け装置の動作を説明する。
図5は、名称データ対応付け装置における名称データの対応付けに係わる処理動作の一例を示すフローチャートである。ここでは、すでに、基礎データベース記憶部1031には基礎データベース1の情報が記憶され、派生データベース記憶部1032には派生データベース2の情報が記憶されているものとする。入出力インタフェース105を介して入力部107から、あるいは、通信インタフェース104を介して外部のデータ処理装置から、名称データの対応付けの実施を指示されると、名称データ対応付け装置のプロセッサ101は、このフローチャートに示す動作を開始する。
まず、プロセッサ101は、グラフ作成部3としての動作を実行する。すなわち、プロセッサ101は、基礎データベース記憶部1031に記憶された基礎データベース1の情報と派生データベース記憶部1032に記憶された派生データベース2の情報のそれぞれについて、隣接情報を使用して、名称データを頂点とする閉路グラフGc及びGdを生成する(ステップS1)。生成された閉路グラフGc及びGdは、データメモリ103の一時記憶部1033に記憶される。
i及びdjをそれぞれ頂点とし、隣接関係にある頂点同士は辺で結ばれていると解釈すると、以下のように、無向グラフである閉路グラフGc及びGdが構築できる。ここで、閉路とは、閉路グラフGcの部分グラフであり、始点と終点が同一頂点であるようなパスを指す。
Figure 0007276509000001
c: 派生データベース2の隣接情報から得られる辺の集合
c:Ec→P(Vc) (Ecの元にVcの部分集合を対応させる写像) ただし、P(Vc)はVcの冪集合である
c :=(gc,Vc,Ec
Figure 0007276509000002
d: 基礎データベース1の隣接情報から得られる辺の集合
d:d→P(Vd) (Edの元にVdの部分集合を対応させる写像) ただし、P(Vd)はVdの冪集合である
d :=(gd,Vd,Ed
また、名称データ対応付け装置のプロセッサ101は、共通データ抽出部4としての動作を実行する。すなわち、プロセッサ101は、基礎データベース記憶部1031に記憶された基礎データベース1の情報と派生データベース記憶部1032に記憶された派生データベース2の情報とで、共通する名称データを抽出する(ステップS2)。抽出され共通する名称データは、データメモリ103の一時記憶部1033に記憶される。
次に、プロセッサ101は、パス情報抽出部5としての動作を実行する。すなわち、プロセッサ101は、共通する名称データに基づいて、派生データベース2の閉路グラフGcから閉路Γk(k∈{1,2,…,K}、Kは閉路グラフGc内の閉路の総数)を生成し、それら生成した閉路Γkそれぞれについて閉路情報を抽出する(ステップS3)。生成された閉路Γk及び抽出された閉路情報は、データメモリ103の一時記憶部1033に記憶される。
ここで、閉路Γkは、閉路グラフGcにおける頂点sk∈Vcを始点とする閉路である。
Γk[l]: Γkを構成する頂点のうちl番目の頂点 (第l要素)
|Γk|: ベクトルΓkの長さ (Γkを構成する頂点の個数)
Γk=(sk,…,sk),
(Γk[l],Γk[l+1])∈Ec
l∈{1,2,…,|Γk|}
閉路グラフGcに対し閉路はいくつあっても良いとするが、いずれの閉路も、以下の3条件を満たすとする。
1.全てのskに対してsk=djを満たすdj∈Vdが存在する。
2.閉路を構成する全ての辺は、Ecに存在する。
3.∀ci∈Vcは、いずれかの閉路に所属している。
ここで、ステップS2で抽出された、VcとVdで同一表記であるようなビル名の集合をS :={ci∈Vc|∃dj∈Vd s.t. ci=dj}とする。名称データ対応付け装置は、この集合Sの要素ではない各ci,djに対し、以下のようにして、閉路グラフGc及びGdを用いた対応付けを行う。ここで、各Γkにある頂点のうち、集合Sに含まれる頂点のインデックス集合をIとし、以下で定義する。
I :={x|Γk[x]∈S}
次に、プロセッサ101は、パス作成部6としての動作を実行する。すなわち、プロセッサ101は、抽出された閉路情報に基づいて、基礎データベース1の閉路グラフGcにおいて始点がskであるような閉路Αを作成する(ステップS4)。作成された閉路Aは、データメモリ103の一時記憶部1033に記憶される。なお、作成される閉路は、以下の条件を満たす必要がある。
条件1: |Α|=|Γk
条件2: Α[x]=Γk[x]x∈I
条件3: 原則、一度通過した頂点及び辺を再び通過することはない。
プロセッサ101は、以上の条件を満たす閉路Aを全て列挙する。なお、上記の条件3の例外として、次数が1である頂点(接合する辺が1本である頂点)が存在する場合には、接続辺を2度通る閉路を許容する。
次に、プロセッサ101は、対応付け部7としての動作を実行する。すなわち、プロセッサ101は、上記ステップS4で作成された、基礎データベース1の閉路グラフGdにおいて始点skを持つ閉路Aの中から、通過する頂点数がより多く且つ重複する箇所がより少ない組み合わせを最適組み合わせとして抽出する、最適組み合わせ抽出処理を実施する(ステップS5)。
図6は、上記ステップS5で実施される最適組み合わせ抽出処理の詳細の一例を示すフローチャートである。
この最適組み合わせ抽出処理において、プロセッサ101は、まず、生成された閉路グラフGdにおいて始点skを持つ閉路Aが1つであるか否か判断する(ステップS501)。生成された閉路Aが複数であると判断した場合(ステップS501のNO)には、プロセッサ101は、重複する箇所を以下のようにして算出する。
まず、プロセッサ101は、算出すべき個数分の閉路を選択する(ステップS502)。すなわち、プロセッサ101は、上記ステップS4で生成された閉路Aの中から、始点skを持つ閉路の個数分、閉路を任意に選択する。例えば、始点skを持つ閉路が2つならば、異なる2つの閉路を選択する。プロセッサ101は、選択された閉路の集合を、cycle setとして、データメモリ103の一時記憶部1033に記憶する。
集合cycle setが通る頂点数unionを、以下のように定義する。プロセッサ101は、この頂点数unionを求め、データメモリ103の一時記憶部1033に記憶する(ステップS503)。
union :=|{∪iΑi│Αi∈ cycle set}|
ただし、∪iΑiは、閉路Αiを構成する頂点dlの集合のiについての和集合を表す。
Αi :={dl|dl∈Αi, Αi∈ cycle set}
iΑi :=∪i{dl|dl∈Αi, Αi∈ cycle set}
次に、cycle set間で重複する頂点数insertを定義する。
まず、プロセッサ101は、初期値として、集合cycle setから異なる2つの閉路αi及びαjを選択する(ステップS504)。
αi,αj∈ cycle set
次に、プロセッサ101は、閉路αi及びαjが共に通過する頂点集合をshared vertexとして求め、これをデータメモリ103の一時記憶部1033に記憶する(ステップS505)。
shared vertex: αi∩αj
αi∩αj :={dl|dl∈αi, dl∈αj
次に、プロセッサ101は、その頂点集合shared vertexの要素数が1以下であるか判断する(ステップS506)。
頂点集合shared vertexの要素数が1以下でないと判断した場合(ステップS506でNO)は、プロセッサ101は、頂点集合shared vertexから任意の2頂点a_point及びz_pointを選択し、このとき、それら2頂点a_point及びz_pointを繋ぐパスは、閉路αi及びαjのそれぞれに2通り存在するので、以下のように4本のパスpを作成する(ステップS506)。プロセッサ101は、選択された2頂点a_point及びz_pointと作成した4本のパスpを、データメモリ103の一時記憶部1033に記憶する。
∃xai,xzi s.t. αi[xai]=a_point, αi[xzi]=z_point
∃xaj,xzj s.t. αj[xaj]=a_point, αj[xzj]=z_point
i1 :=αi[xai:xzi
i2 :=αi[xzi:xai
j1 :=αj[xaj:xzj
j2 :=αj[xxzj:xaj
ただし、αl[x:y]は以下の通りである。ここで、l∈{i,j}である。
Figure 0007276509000003
なお、x>yの場合に、第2要素からの配列を結合するのは、各αlにおいて第1要素と最後の要素は重複しているからである。
次に、プロセッサ101は、上記ステップS507で作成した4本のパスpについて、頂点集合shared vertexに含まれる頂点を全て通過する組み合わせのうち、頂点数が最小となるようなパスpのインデックスinsert_x,insert_yを求め、それに基づいて、2本のパスを結合して、新たな閉路insert cycleijを作成する(ステップS508)。プロセッサ101は、作成した新たな閉路insert cycleijを、データメモリ103の一時記憶部1033に記憶する。
insret_x,insert_y=argminx,y{|px∪py||shared vertex⊆px∩py∩sk}, x,y∈{i1,i2,j1,j2}
insert cycleij :=pinsert_x+pinsert_y
insert_x+pinsert_y: pinsert_xとpinsert_yの第2要素以降の部分を結合させた配列
また、上記ステップS506において、頂点集合shared vertexの要素数が1以下であると判断した場合(ステップS506でYES)には、プロセッサ101は、空である新たな閉路insert cycleijを生成して、データメモリ103の一時記憶部1033に記憶する(ステップS509)。
こうして、上記ステップS508または上記ステップS509で新たな閉路insert cycleijを生成したならば、プロセッサ101は、上記ステップS502で選択した閉路の集合cycle setの全ての要素を選択して処理したか判断する(ステップS510)。
未だ全ての要素を処理していないと判断した場合(ステップS510でNO)には、プロセッサ101は、上記ステップS504の処理に戻り、集合cycle setの要素でαi及びαj以外の閉路を2つ新たに選択して、上記ステップS505乃至ステップS509の処理を繰り返す。ただし、未選択の要素が残り1つのみの場合には、上記ステップS504において、プロセッサ101は、ステップS508またはステップS509で生成した閉路insert cycleijと未選択の閉路を選択して、上記ステップS505乃至ステップS509の処理を繰り返す。
こうして、閉路の集合cycle setの全ての要素について処理が行われると、上記ステップS510で集合cycle setの全ての要素を選択して処理したと判断される。この場合(ステップS510でYES)には、プロセッサ101は、得られた閉路insert cycleijについて、頂点数insertを、以下の定義に従い計算し、その結果をデータメモリ103の一時記憶部1033に記憶する(ステップS511)。
insert cycleijが1つである場合は、
insert :=|insert cycleij
であり、複数ある場合は、
insert :=|∪ijinsert cycleij
である。ただし、∪ijinsert cycleijは、閉路insert cycleijを構成する頂点集合のijについての和集合である。
そして、プロセッサ101は、閉路の集合cycle setに関する評価値scoreを、集合cycle setが通る頂点数unionと閉路insert cycleijについての頂点数insertとより、
score :=union-insert
として得、得られた評価値scoreをデータメモリ103の一時記憶部1033に記憶する。
その後、プロセッサ101は、上記ステップS4で生成された閉路Aの全てについて処理したか判断する(ステップS513)。そして、未だ生成された閉路Aの全てについて処理していないと判断した場合(ステップS513でNO)には、プロセッサ101は、上記ステップS502の処理に戻り、算出すべき個数分の未処理の閉路を選択して、上記ステップS503乃至ステップS512の処理を繰り返す。
そして、生成された閉路Aの全てについての処理が行われると、プロセッサ101は、ステップS513において、閉路Aの全てについて処理したと判断する(ステップS513でYES)。この場合、プロセッサ101は、データメモリ103の一時記憶部1033に記憶している全ての評価値scoreを参照して、全ての閉路の集合cycle setの中で最大の評価値scoreを示すcycle setを、最適な閉路の組み合わせとして選択する(ステップS514)。選択される最適な閉路の組み合わせは、最大の評価値scoreを示すcycle setが1つの場合は1つの閉路であり、最大の評価値scoreを示すcycle setが複数ある場合には複数の閉路の組み合わせとなる。プロセッサ101は、選択した最適な閉路の組み合わせを、抽出された最適組み合わせとして、データメモリ103の一時記憶部1033に記憶する。そして、プロセッサ101は、この最適組み合わせ抽出処理を終了する。
また、上記ステップS501において、生成された閉路Aが1つであると判断した場合(ステップS501のYES)には、プロセッサ101は、その生成された閉路Aを、最適な閉路の組み合わせとして選択する(ステップS515)。そして、プロセッサ101は、この最適組み合わせ抽出処理を終了する。
こうして、最適組み合わせ抽出処理を終了したならば、プロセッサ101は、最適組み合わせ抽出処理によって抽出された最適組み合わせに従って、基礎データベース1の名称データと派生データベース2の名称データとを対応付け、その結果をデータメモリ103の一時記憶部1033に記憶する(ステップS6)。すなわち、プロセッサ101は、最適組み合わせ抽出処理によって抽出された閉路(または閉路の組み合わせ)と、上記ステップS3で派生データベース2の閉路グラフGcから生成した閉路Γkと、を照らし合わせることで、名称データの対応付けを得る。最適組み合わせ抽出処理によって得られた閉路(または閉路の組み合わせ)が複数ある場合は、プロセッサ101は、その全てを閉路候補として使用する。特に、始点以外の頂点が全て異なる閉路については、閉路の候補が1つであっても2通りの候補が出現することに注意する必要がある。例えば、始点を「新宿ビル」とし、「新宿ビル」、「代々木ビル」、「原宿ビル」、「新宿ビル」となる閉路Γsinjyukuに対して、最適組み合わせ抽出処理によって「新宿ビル」、「神宮前ビル」、「竹下ビル」、「新宿ビル」という閉路候補が得られた場合、考えられる名称データの対応付けは、「代々木ビル」に対して(「代々木ビル」、「神宮前ビル」)と(「代々木ビル」、「竹下ビル」)、「原宿ビル」に対して(「原宿ビル」、「神宮前ビル」)と(「原宿ビル」、「竹下ビル」)となる。
ただし、始点以外の頂点がインデックス集合Iに含まれており、一部の頂点については名称の組み合わせが一意に定まるような閉路が存在するときが考えられる。このような場合には、一意に定まった名称の組み合わせを使用する。今の例の中で仮に閉路Γsinjyukuに対してI={新宿ビル、代々木ビル}であり、「新宿ビル」、「代々木ビル」、「竹下ビル」、「新宿ビル」という閉路候補が得られたならば、(「原宿ビル」、「竹下ビル」)という組み合わせのみが得られる。(詳細は後述の動作例を参照)
Figure 0007276509000004
以上のようにして名称データの対応付けが完了したならば、プロセッサ101は、データ出力部8としての動作を実行することで、入力部107からまたは外部のデータ処理装置から指示された形態の出力情報をデータメモリ103の一時記憶部1033に記憶された対応付け結果から生成し、その生成した出力情報をデータメモリ103の出力情報記憶部1034に記憶させる。そして、プロセッサ101は、この出力情報を、入出力インタフェース105を介して表示部108により表示したり、通信インタフェース104を介して外部のデータ処理装置に送信したりすることができる。
以上に説明した一実施形態に係る名称データ対応付け装置は、対象とする2つのデータベースにおいて、各隣接情報を使用して、名称データを頂点とする閉路グラフが描画できるので、閉路識別情報が付与されていない基礎データベース1の閉路グラフ上で、派生データベース2の閉路グラフから得られた閉路情報と同条件(頂点数、始点、終点が同一)の閉路を作成し、その中から最適な閉路を選択することで、名称データの対応付けを行う。これにより、統合するデータベース間で表記ゆれが存在する同義の名称データを、名称データに対応する文字列別データがデータベース間で対応関係を有していなくとも、人的稼働を掛けず正確に対応付けることができる。よって、人的稼働の削減により業務効率を上げる効果が期待できる。
また、一実施形態に係る名称データ対応付け装置は、抽出した閉路情報に一致する閉路が基礎データベース1の情報から1つだけしか生成できなかった場合には、直ちに、それを最適な閉路の組み合わせとして利用するので、処理の高速化が図れる。
一方、抽出した閉路情報に一致する閉路が基礎データベース1の情報から複数生成された場合には、一実施形態に係る名称データ対応付け装置は、それら複数の閉路の中から、閉路情報抽出の際に派生データベース2の情報から生成した閉路の個数ずつ、閉路の組み合わせを選択し、それぞれの閉路の組み合わせについて、通過する頂点数及び重複する箇所を判別することで、通過する頂点数がより多く且つ重複する箇所がより少ない閉路の組み合わせを選択する。これにより、最適な閉路の組み合わせを抽出することができる。
また、一実施形態に係る名称データ対応付け装置は、名称データの対応付けの結果に基づいて、名称データの対応表を含む出力情報を生成する。よって、この出力情報を利用して、データベースの統合処理を実施することが可能となる。また、一実施形態に係る名称データ対応付け装置は、出力情報として、統合したデータベースの情報を生成しても良い。
[動作例]
本実施形態の動作例として、適用した名称データの概要と結果を説明する。
図7は、動作例において基礎データベース記憶部1031に記憶される基礎データベース1が保持する情報の一例を示す図であり、図8は、動作例において派生データベース記憶部1032に記憶される派生データベース2が保持する情報の一例を示す図である。この例では、閉路ID=2の名称データに関して、頂点集合Vc及びVdは、以下の通りである。
c={いわきビル、豊間ビル、玉川ビル、第二矢吹ビル、常磐ビル、小名浜ビル、多人ビル、小湊ビル、泉ビル、小川ビル}
d={いわきビル、豊間ビル、いわき玉川ビル、大林ビル、いわき常磐ビル、小名浜ビル、田人ビル、山田小湊ビル、いわき泉ビル、いわき小川ビル}
この例では、名称データの正確な表記の組み合わせ、すなわち名称データの対応付けは次の通りであり、実施形態に係る名称データ対応付け装置がこの対応付けを正しく行うことができるか確認した。
{(いわきビル、いわきビル)、(豊間ビル、豊間ビル)、(小名浜ビル、小名浜ビル)、(泉ビル、いわき泉ビル)、(玉川ビル、いわき玉川ビル)、(常磐ビル、いわき常磐ビル)、(第二矢吹ビル、大林ビル)、(多人ビル、田人ビル)、(小湊ビル、山田小湊ビル)、(小川ビル、いわき小川ビル)}
名称データ対応付け装置のプロセッサ101は、ステップS1において、グラフ作成部3としての動作を実施し、閉路グラフを作成する。図9は、動作例において派生データベース2が保持する情報から作成された閉路グラフの一例を示す模式図であり、図10は、動作例において基礎データベース1が保持する情報から作成された閉路グラフの一例を示す模式図である。
各データベースの隣接情報から得られる辺集合Ec,Edは、以下の通りである。
c={(いわきビル、泉ビル)、(泉ビル、玉川ビル)、(玉川ビル、第二矢吹ビル)、(第二矢吹ビル、常磐ビル)、(常磐ビル、小名浜ビル)、(小名浜ビル、いわきビル)、(泉ビル、豊間ビル)、(いわきビル、小川ビル)、(小川ビル、多人ビル)、(多人ビル、小湊ビル)、(小湊ビル、常磐ビル)、(常磐ビル、いわきビル)}
d={(いわきビル、いわき常磐ビル)、(いわきビル、小名浜ビル)、(いわきビル、いわき泉ビル)、(いわきビル、いわき小川ビル)、(いわき常磐ビル、いわき泉ビル)、(いわき常磐ビル、いわき玉川ビル)、(いわき常磐ビル、山田小湊ビル)、(いわき常磐ビル、小名浜ビル)、(いわき玉川ビル、いわき泉ビル)、(いわき常磐ビル、大林ビル)、(大林ビル、いわき玉川ビル)、(田人ビル、山田小湊ビル)、(山田小湊ビル、いわき小川ビル)、(田人ビル、いわき小川ビル)、(豊間ビル、いわき泉ビル)}
また、プロセッサ101は、ステップS2において、共通データ抽出部4としての動作を実施し、共通する名称データを抽出する。ここで、同一表記であるような名称データつまりビル名の集合Sは、以下の通りである。図9及び図10では、これら共通のビル名にハッチングをして示している。
S={いわきビル、小名浜ビル、豊間ビル}
そこで、プロセッサ101は、ステップS3において、パス情報抽出部5としての動作を実施し、データベース2と基礎データベース1で共通する一つの頂点、例えばs1=s2=いわきビルを始点として、派生データベース2から作成した閉路グラフにおける閉路を生成して、閉路情報を抽出する。この場合、以下のような頂点数が9の閉路Γ1と頂点数が6の閉路Γ2が得られる。
Γ1=(いわきビル、泉ビル、豊間ビル、泉ビル、玉川ビル、第二矢吹ビル、常磐ビル、小名浜ビル、いわきビル)
Γ2=(いわきビル、小川ビル、多人ビル、小湊ビル、常磐ビル、いわきビル)
次に、プロセッサ101は、ステップS4において、パス作成部6としての動作を実施し、基礎データベース1から作成した閉路グラフにおける始点が「いわきビル」であるような閉路Aを生成する。ただし、
条件1: |Α|=9または6
条件2: |Α|=9のとき、
Α[3]=豊間ビル
Α[8]=小名浜ビル
の条件を満たすことが必要である。
上記条件1及び2を満たす閉路として、
閉路長9では、
Α0=(いわきビル、いわき泉ビル、豊間ビル、いわき泉ビル、いわき玉川ビル、大林ビル、いわき常磐ビル、小名浜ビル、いわきビル))
が生成され、
閉路長6では、
Α1=(いわきビル、いわき泉ビル、いわき常磐ビル、山田小湊ビル、いわき小川ビル、いわきビル)
Α2=(いわきビル、小名浜ビル、いわき常磐ビル、山田小湊ビル、いわき小川ビル、いわきビル)
Α3=(いわきビル、いわき常磐ビル、山田小湊ビル、田人ビル、いわき小川ビル、いわきビル)
Α4=(いわきビル、小名浜ビル、いわき常磐ビル、いわき玉川ビル、いわき泉ビル、いわきビル)
Α5=(いわきビル、いわき常磐ビル、大林ビル、いわき玉川ビル、いわき泉ビル、いわきビル)
が生成されて、合計6個の閉路が生成されることとなる。
図11A乃至図11Fは、これら閉路A0~A5を示す模式図である。
次に、プロセッサ101は、ステップS5において、対応付け部7としての動作を実施し、最適組み合わせを抽出する。すなわち、今回算出すべき閉路は2個である一方で、ステップS4で得られた閉路は6個であった。よって、6個の閉路の中から、通過する頂点数がより多く且つ重複する箇所がより少ない組み合わせを抽出する。
プロセッサ101は、まず、ステップS502において、6個の閉路の中から任意の2個の閉路、例えば閉路Α0と閉路Α1を選択する。
cycle set={Α0,Α1
すると、上述した定義より、プロセッサ101は、ステップS503乃至ステップS505において、
α0 :=Α0, α1 :=Α1
union=|α0∪α1|=|{いわきビル、いわき泉ビル、豊間ビル、いわき玉川ビル、大林ビル、いわき常磐ビル、小名浜ビル、山田小湊ビル、いわき小川ビル}|=9
shared vertex={いわき泉ビル、いわき常磐ビル}
を得る。
ここで、shared vertexの要素数が2なので、プロセッサ101は、ステップS507において、
a_point=いわき泉ビル
z_point=いわき常磐ビル
とし、この2点に対し以下のように4本のパスを作成する。
11 :=α1[x4:x7]=(いわき泉ビル、いわき玉川ビル、大林ビル、いわき常磐ビル)
12 :=α1[x7:x4]=(いわき常磐ビル、小名浜ビル、いわきビル、いわき泉ビル)
21 :=α2[x2:x3]=(いわき泉ビル、いわき常磐ビル)
22 :=α2[x3:x2]=(いわき常磐ビル、山田小湊ビル、いわき小川ビル、いわきビル、いわき泉ビル)
そして、プロセッサ101は、ステップS508において、上記4本のパスに対し、shared vertexを全て含むようなパスの組み合わせとして、insert_x,insert_yを
insert_x=12
insert_y=21
と定めることができ、2本のパスを結合した新たな閉路insert cycleを以下のように作成する。
insert cycle=(いわき常磐ビル、小名浜ビル、いわきビル、いわき泉ビル、いわき常磐ビル)
そして、プロセッサ101は、ステップS511において、この作成した閉路insert cycleより、
insert=4
を得、ステップS512において、
score=5
を求めることができる。
プロセッサ101は、他の閉路Αj(j∈{2,3,4,5})についても同様の操作を行う。
結果として、cycle set={Α0,Α2}では、
union=|{いわきビル、いわき泉ビル、豊間ビル、いわき玉川ビル、大林ビル、いわき常磐ビル、小名浜ビル、山田小湊ビル、いわき小川ビル}|=9
insert cycle=(いわきビル、小名浜ビル、いわき常磐ビル、山田小湊ビル、いわき小川ビル、いわきビル),
insert=5, score=4
が得られる。
cycle set={Α0,Α3}では、
union=|{いわきビル、いわき泉ビル、豊間ビル、いわき玉川ビル、大林ビル、いわき常磐ビル、小名浜ビル、田人ビル、山田小湊ビル、いわき小川ビル)|=10
insert cycle=(いわきビル、小名浜ビル、いわき常磐ビル、いわきビル)
insert=3, score=7
が得られる。
cycle set={Α0,Α4}では、
union=|{いわきビル、いわき泉ビル、豊間ビル、いわき玉川ビル、大林ビル、いわき常磐ビル、小名浜ビル、山田小湊ビル、いわき小川ビル}|=9
insert cycle=(いわきビル、小名浜ビル、いわき常磐ビル、いわき玉川ビル、いわき泉ビル、いわきビル)
insert=5, score=4
が得られる。
cycle set={Α0,Α5}では、
union=|{いわきビル、いわき泉ビル、豊間ビル、いわき玉川ビル、大林ビル、いわき常磐ビル、小名浜ビル、山田小湊ビル、いわき小川ビル}|=9
insert cycle=(いわきビル、いわき常磐ビル、大林ビル、いわき玉川ビル、いわき泉ビル、いわきビル)
insert=5, score=4
が得られる。
これより、プロセッサ101は、ステップS514において、scoreが最大となる組み合わせである{Α0,Α3}を選択する。
そして、プロセッサ101は、ステップS6において、ステップS5の処理で得られた閉路の組み合わせ{Α0,Α3}と、ステップS3で生成した各閉路Γkとを照らし合わせることで、名称データの組み合わせを得る。
すなわち、プロセッサ101は、
Α0=(いわきビル、いわき泉ビル、豊間ビル、いわき泉ビル、いわき玉川ビル、大林ビル、いわき常磐ビル、小名浜ビル、いわきビル)
Γ1=(いわきビル、泉ビル、豊間ビル、泉ビル、玉川ビル、第二矢吹ビル、常磐ビル、小名浜ビル、いわきビル)
から、
{(いわき泉ビル、泉ビル)、(いわき玉川ビル、玉川ビル)、(大林ビル、第二矢吹ビル)、(いわき常磐ビル、常磐ビル)}
を得る。
また、プロセッサ101は、
Α3=(いわきビル、いわき常磐ビル、山田小湊ビル、田人ビル、いわき小川ビル、いわきビル)
Γ2=(いわきビル、小川ビル、多人ビル、小湊ビル、常磐ビル、いわきビル)
においては、上記の組み合わせより(いわき常磐ビル、常磐ビル)が得られているので、Α3を逆順にした閉路である、
(いわきビル、いわき小川ビル、田人ビル、山田小湊ビル、いわき常磐ビル、いわきビル)
とΓ2の組み合わせが適当であることが判る。これらから、プロセッサ101は、
{(いわき小川ビル、小川ビル)、(田人ビル、多人ビル)、(山田小湊ビル、小湊ビル)}
を得る。
図12は、この対応付け結果に基づく閉路グラフの一例を示す模式図である。すなわち、対応付け結果に基づいて、図10の閉路グラフを書き換えると、図12のようになり、図9の閉路グラフにおける頂点と比較して、全頂点の正確な対応付けが得られていることが判る。
その後、プロセッサ101は、データメモリ103の一時記憶部1033に記憶された上記対応付けの結果に基づいて出力情報を生成し、データメモリ103の出力情報記憶部1034に記憶させる。図13は、この出力情報記憶部1034に記憶される出力情報の一例を示す図である。なお、ここでは、出力情報を名称データの対応関係を表す対応表として示しているが、これに限定されないことは勿論である。
以上より、名称データ対応付け装置により、閉路情報を使用することで、正確な名称データの対応付けが可能であることが検証できた。
[比較例]
比較として、既存の文字列検索手法(特許文献1または2)を使用した対応付けを、動作例で扱ったデータに対して行った。
使用手法: 編集距離(Levenshitein距離)
比較実験概要: 頂点集合Vc,Vdを単なる名称データの集合と見なし、Vdの各データからVcのデータの編集距離をそれぞれ計算し、距離が最小となるデータを選択する
結果: 10頂点中5頂点の正確な紐付けに成功(いわきビル、豊間ビル、小名浜ビル、山田小湊ビル、田人ビル)
結果より、「大林ビル」と「第二矢吹ビル」のような互いに著しく異なる文字列の紐付けや、「いわき泉ビル」と「泉ビル」のように一方の文字列の大部分が省略(「いわき泉ビル」にとって「いわきビル」は4文字中3文字を占める)されている文字列に対して、高い類似度を示すことは困難であった。
[他の実施形態]
前記一実施形態では、始点と終点が同一の頂点である閉路を例に説明したが、始点と終点が異なる頂点であるパスを利用しても良い。すなわち、名称データ対応付け装置では、対象とする2つのデータベースにおいて、各隣接情報を使用して、名称データを頂点とするパスを描画することができるので、パス識別情報が付与されていない基礎データベース1のパス上で、派生データベース2のパスから得られたパス情報と同条件(頂点数、始点が同一)のパスを作成し、その中から最適なパスを選択することで、名称データの対応付けを行う。これにより、統合するデータベース間で表記ゆれが存在する同義の名称データを、名称データに対応する文字列別データがデータベース間で対応関係を有していなくとも、人的稼働を掛けず正確に対応付けることができる。またこの場合、データベースの情報に基づいて、名称データを頂点とする無向グラフを作成し、この無向グラフを利用することで、容易にパスを生成することができる。
また、対象とするデータベースも2つの場合を例に説明したが、3つ以上であっても良い。すなわち、3つ以上のデータベースのうち、少なくとも1つのデータベースがパス識別情報(閉路識別情報)を保持していれば、残りの2つ以上のデータベースとの間で名称データの対応付けを行うことが可能となる。
また、前記一実施形態では、データメモリ103の基礎データベース記憶部1031及び派生データベース記憶部1032に基礎データベース1及び派生データベース2が保持する情報の全部または一部を記憶して処理を進める例を説明したが、それに限定するものではない。プロセッサ101は、通信インタフェース104により外部のデータサーバに適宜アクセスして、そこに構築された基礎データベース1及び派生データベース2に蓄積されている情報を使用して処理を進め、各ステップの処理結果のみを一時記憶部1033に記憶するようにしても良い。これにより、名称データ対応付け装置が備えるデータメモリ103の容量を抑えることができ、安価に名称データ対応付け装置を構成することが可能となる。
また、前記一実施形態では、出力情報を生成して、表示部108または外部のデータ処理装置に出力する例を説明したが、出力情報を生成することなく、一時記憶部1033に記憶した対応付け結果を出力するようにしても良い。これにより、名称データ対応付け装置が備えるデータメモリ103の容量を抑えることができ、安価に名称データ対応付け装置を構成することが可能となる。また、データベースの統合処理を行うデータ処理装置に対して、名称データの対応付けのみを行うサービスを提供することが可能となる。
また、各実施形態に記載した手法は、計算機(コンピュータ)に実行させることができるプログラム(ソフトウェア手段)として、例えば磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウェア手段(実行プログラムのみならずテーブル、データ構造も含む)を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウェア手段を構築し、このソフトウェア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスク、半導体メモリ等の記憶媒体を含むものである。
要するに、この発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組合せて実施してもよく、その場合組合せた効果が得られる。さらに、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。
1…基礎データベース
2…派生データベース
3…グラフ作成部
4…共通データ抽出部
5…パス情報抽出部
6…パス作成部
7…対応付け部
8…データ出力部
101…プロセッサ
102…プログラムメモリ
103…データメモリ
104…通信インタフェース
105…入出力インタフェース
106…バス
107…入力部
108…表示部
1031…基礎データベース記憶部
1032…派生データベース記憶部
1033…一時記憶部
1034…出力情報記憶部

Claims (8)

  1. 複数の名称データ及びそれら名称データの隣接関係を示す隣接情報を保持する第1のデータベースと、複数の名称データ、それら名称データの隣接情報及びそれら名称データが属するパスを表すパス識別情報を保持する第2のデータベースとの間で異なる表記を有する同義の名称データを対応付ける名称データ対応付け装置であって、
    前記第1のデータベースと前記第2のデータベースとの間で同じ表記である名称データを共通データとして抽出する共通データ抽出部と、
    前記第2のデータベースが保持する情報に基づいて、前記共通データ抽出部が抽出した前記共通データのうち1つを始点とし、前記第2のデータベースが保持する前記名称データを頂点とする、全てのパスを生成し、それらのパスそれぞれについて、頂点数、含まれる共通データ及びその位置を含むパス情報を抽出するパス情報抽出部と、
    前記第1のデータベースが保持する情報に基づいて、前記パス情報抽出部が抽出した各パスの前記パス情報に含まれる前記始点の名称データ、前記頂点数、前記含まれる共通データ及び前記位置と一致する全てのパスを生成するパス作成部と、
    前記パス作成部が生成した各パスから、通過する頂点数がより多く且つ重複する箇所がより少ないパスの組み合わせを抽出し、その抽出された各パスの頂点と前記パス情報抽出部が生成した各パスの頂点とを対応付けることで、前記第1のデータベースが保持する前記名称データと前記第2のデータベースが保持する前記名称データとを対応付ける対応付け部と、
    を具備する、名称データ対応付け装置。
  2. 前記第1及び第2のデータベースが保持する前記情報に基づいて、前記名称データを頂点とする無向グラフを作成するグラフ作成部をさらに具備し、
    前記パス情報抽出部は、前記グラフ作成部が作成した前記無向グラフと前記第2のデータベースが保持する前記パス識別情報とに基づいて、前記共通データのうち1つを前記始点とし、前記第2のデータベースが保持する前記名称データを頂点とする、全てのパスを生成し、それらのパスそれぞれについて、前記パス情報を抽出し、
    前記パス作成部は、前記グラフ作成部が作成した前記無向グラフに基づいて、前記パス情報抽出部が抽出した前記各パスの前記パス情報に含まれる前記始点の前記名称データ、前記頂点数、前記含まれる共通データ及び前記位置が一致する全てのパスを生成する、請求項1に記載の名称データ対応付け装置。
  3. 前記グラフ作成部は、前記無向グラフとして、前記第1及び第2のデータベースが保持する前記隣接情報に基づいて、前記名称データを頂点とする閉路グラフを作成する、閉路グラフ作成部を含み、
    前記パス情報抽出部は、前記パスとして、前記閉路グラフ作成部が作成した前記閉路グラフと前記第2のデータベースが保持する前記パス識別情報である閉路識別情報とに基づいて、前記共通データのうち1つを前記始点且つ終点とし、前記第2のデータベースが保持する前記名称データを頂点とする、全ての閉路を生成し、前記パス情報として、前記生成した全ての閉路それぞれについて、前記頂点数、前記含まれる共通データ及び前記位置を含む閉路情報を抽出する、閉路情報抽出部を含み、
    前記パス作成部は、前記パスとして、前記閉路グラフ作成部が作成した前記閉路グラフに基づいて、前記閉路情報抽出部が抽出した前記各閉路の前記閉路情報に含まれる前記始点且つ前記終点の前記名称データ、前記頂点数、前記含まれる共通データ及び前記位置が一致する全ての閉路を生成する閉路作成部を含み、
    前記対応付け部は、前記閉路作成部が生成した各閉路から、通過する頂点数がより多く且つ重複する箇所がより少ない閉路の組み合わせを抽出し、その抽出された各閉路の頂点と前記閉路情報抽出部が生成した各閉路の頂点とを対応付けることで、前記第1のデータベースが保持する前記名称データと前記第2のデータベースが保持する前記名称データとを対応付ける、請求項2に記載の名称データ対応付け装置。
  4. 前記対応付け部は、前記閉路作成部が生成した閉路が1つだけであるとき、その閉路の頂点と前記閉路情報抽出部が抽出した各閉路の頂点とを対応付けることで、前記第1のデータベースが保持する前記名称データと前記第2のデータベースが保持する前記名称データとを対応付ける、請求項3に記載の名称データ対応付け装置。
  5. 前記対応付け部は、前記閉路作成部が生成した閉路が複数あるとき、それら複数の閉路の中から、前記閉路情報抽出部が生成した閉路の個数ずつ閉路の組み合わせを選択し、それぞれの閉路の組み合わせについて、通過する頂点数及び重複する箇所を判別することで、前記通過する頂点数がより多く且つ前記重複する箇所がより少ない前記閉路の組み合わせを抽出する最適組み合わせ抽出部を含む、請求項3に記載の名称データ対応付け装置。
  6. 前記対応付け部による対応付けの結果に基づいて、名称データの対応表を含む出力情報を生成する出力部をさらに具備する、請求項1乃至5のいずれかに記載の名称データ対応付け装置。
  7. プロセッサと、複数の名称データ及びそれら名称データの隣接関係を示す隣接情報を保持する第1のデータベースと、複数の名称データ、それら名称データの隣接情報及びそれら名称データが属するパスを表すパス識別情報を保持する第2のデータベースとを記憶したメモリと、を備え、前記第1のデータベースと前記第2のデータベースとの間で異なる表記を有する同義の名称データを対応付ける名称データ対応付け装置における名称データ対応付け方法であって、
    前記プロセッサにより、前記メモリに記憶されている前記第1のデータベースと前記第2のデータベースとの間で同じ表記である名称データを共通データとして抽出し、
    前記プロセッサにより、前記第2のデータベースが保持する情報に基づいて、前記抽出した前記共通データのうち1つを始点とし、前記第2のデータベースが保持する前記名称データを頂点とする、全てのパスを生成し、
    前記プロセッサにより、前記第2のデータベースが保持する情報に基づいて生成したパスそれぞれについて、頂点数、含まれる共通データ及びその位置を含むパス情報を抽出し、
    前記プロセッサにより、前記第1のデータベースが保持する情報に基づいて、前記抽出した各パスの前記パス情報に含まれる前記始点の名称データ、前記頂点数、前記含まれる共通データ及び前記位置と一致する全てのパスを生成し、
    前記プロセッサにより、前記第1のデータベースが保持する情報に基づいて生成した各パスから、通過する頂点数がより多く且つ重複する箇所がより少ないパスの組み合わせを抽出し、
    前記プロセッサにより、前記抽出されたパスの組み合わせにおける各パスの頂点と、前記第2のデータベースが保持する情報に基づいて生成した各パスの頂点とを対応付けることで、前記第1のデータベースが保持する前記名称データと前記第2のデータベースが保持する前記名称データとを対応付ける、
    名称データ対応付け方法。
  8. 請求項1乃至6のいずれかに記載の名称データ対応付け装置の前記各部としてプロセッサを機能させる名称データ対応付け処理プログラム。
JP2021565267A 2019-12-19 2019-12-19 名称データ対応付け装置、名称データ対応付け方法及びプログラム Active JP7276509B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/049897 WO2021124525A1 (ja) 2019-12-19 2019-12-19 名称データ対応付け装置、名称データ対応付け方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2021124525A1 JPWO2021124525A1 (ja) 2021-06-24
JP7276509B2 true JP7276509B2 (ja) 2023-05-18

Family

ID=76477151

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021565267A Active JP7276509B2 (ja) 2019-12-19 2019-12-19 名称データ対応付け装置、名称データ対応付け方法及びプログラム

Country Status (3)

Country Link
US (1) US11960541B2 (ja)
JP (1) JP7276509B2 (ja)
WO (1) WO2021124525A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005011049A (ja) 2003-06-19 2005-01-13 Nec Soft Ltd データベース統合装置
JP2019502995A (ja) 2015-12-18 2019-01-31 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 類似用語集約方法及び装置
JP2019061490A (ja) 2017-09-26 2019-04-18 株式会社日立製作所 業務支援システムおよび業務支援方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3531222B2 (ja) 1994-08-29 2004-05-24 富士通株式会社 類似文字列検索装置
JP4486324B2 (ja) 2003-06-19 2010-06-23 ヤフー株式会社 類似単語検索装置、この方法、このプログラム、および情報検索システム
JP4621514B2 (ja) 2005-03-03 2011-01-26 セイコーエプソン株式会社 テキスト群特定方法、プログラム、電子ファイル管理システム
JP6090925B2 (ja) 2013-05-28 2017-03-08 Kddi株式会社 辞書生成装置
US10423663B2 (en) * 2017-01-18 2019-09-24 Oracle International Corporation Fast graph query engine optimized for typical real-world graph instances whose small portion of vertices have extremely large degree
US10776371B2 (en) * 2018-04-05 2020-09-15 Sap Se Extended path finding operations on graph data
CN110657804B (zh) * 2018-06-29 2023-10-20 微软技术许可有限责任公司 室内位置服务
US10902203B2 (en) * 2019-04-23 2021-01-26 Oracle International Corporation Named entity disambiguation using entity distance in a knowledge graph

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005011049A (ja) 2003-06-19 2005-01-13 Nec Soft Ltd データベース統合装置
JP2019502995A (ja) 2015-12-18 2019-01-31 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 類似用語集約方法及び装置
JP2019061490A (ja) 2017-09-26 2019-04-18 株式会社日立製作所 業務支援システムおよび業務支援方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
上野 友司,係り受けの2部グラフと共起関係を利用した同義表現抽出,情報処理学会研究報告,社団法人情報処理学会,2004年01月14日,第2004巻, 第1号,pp.169~176,2004-NL-159

Also Published As

Publication number Publication date
US20230350948A1 (en) 2023-11-02
JPWO2021124525A1 (ja) 2021-06-24
WO2021124525A1 (ja) 2021-06-24
US11960541B2 (en) 2024-04-16

Similar Documents

Publication Publication Date Title
WO2018188576A1 (zh) 资源推送方法及装置
CN102929950B (zh) 用于个性化搜索结果的社交网络推荐的内容和推荐成员
JP6398510B2 (ja) 実体のリンク付け方法及び実体のリンク付け装置
JP2017224184A (ja) 機械学習装置
CN113544689B (zh) 为文档的来源观点生成并提供附加内容
US8959079B2 (en) Method and system for providing relationships in search results
AU2016201273B2 (en) Recommending form fragments
JP2009110177A (ja) 情報セキュリティ対策決定支援装置及び方法ならびにコンピュータプログラム
US20130204835A1 (en) Method of extracting named entity
JP7375861B2 (ja) 関連スコア算出システム、方法およびプログラム
WO2021220777A1 (ja) ユーザに提案する材料を決定するシステム
JP6442918B2 (ja) 専門家検索装置、専門家検索方法および専門家検索プログラム
JP2019032704A (ja) 表データ構造化システムおよび表データ構造化方法
Li et al. A probabilistic topic-based ranking framework for location-sensitive domain information retrieval
JP7276509B2 (ja) 名称データ対応付け装置、名称データ対応付け方法及びプログラム
US20150331889A1 (en) Method of Image Tagging for Identifying Regions and Behavior Relationship between Different Objects
AU2015343949B2 (en) Method of predicting location of rendezvous and electronic device for providing same
US20190265954A1 (en) Apparatus and method for assisting discovery of design pattern in model development environment using flow diagram
CN115329083A (zh) 文档分类方法、装置、计算机设备和存储介质
JP7392841B2 (ja) 名称データ対応付け装置、名称データ対応付け方法及びプログラム
WO2021120878A1 (zh) 基于书籍图谱的书籍显示方法、计算设备及存储介质
JP7392840B2 (ja) 名称データ対応付け装置、名称データ対応付け方法及びプログラム
WO2022259303A1 (ja) 名称データ対応付け装置、名称データ対応付け方法及び名称データ対応付けプログラム
JP2012043258A (ja) 検索システム、検索装置、検索プログラム、記録媒体及び検索方法
KR20170085736A (ko) 전자 출판물에 대한 정보를 생성하는 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220331

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20230104

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20230208

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: 20230404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230417

R150 Certificate of patent or registration of utility model

Ref document number: 7276509

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150