JP5640773B2 - 情報照合装置、情報照合方法および情報照合プログラム - Google Patents

情報照合装置、情報照合方法および情報照合プログラム Download PDF

Info

Publication number
JP5640773B2
JP5640773B2 JP2011017220A JP2011017220A JP5640773B2 JP 5640773 B2 JP5640773 B2 JP 5640773B2 JP 2011017220 A JP2011017220 A JP 2011017220A JP 2011017220 A JP2011017220 A JP 2011017220A JP 5640773 B2 JP5640773 B2 JP 5640773B2
Authority
JP
Japan
Prior art keywords
teacher
records
rule
name identification
positive
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
JP2011017220A
Other languages
English (en)
Other versions
JP2012159884A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011017220A priority Critical patent/JP5640773B2/ja
Priority to US13/307,050 priority patent/US20120197826A1/en
Publication of JP2012159884A publication Critical patent/JP2012159884A/ja
Application granted granted Critical
Publication of JP5640773B2 publication Critical patent/JP5640773B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報照合装置、情報照合方法および情報照合プログラムに関する。
近年、様々な分野において、教師あり学習が利用される。教師あり学習とは、ラベルが付いたデータを教師データとして機械学習器に学習させたうえで、テストデータのラベルを予測する学習方式をいう。教師あり学習の機械学習器として、サポートベクターマシン(SVM)が知られている。
例えば、テキストの要約に関して教師あり学習を利用した技術がある。かかる技術では、既存のテキストと要約と評価(解)とを事例(教師データ)として学習することによって、テキストの特徴である素性と要約結果との関連性を求め、求めた関連性を未知のテキストに適用することで当該テキストの要約を導出する(例えば、特許文献1参照)。
また、動画等のコンテンツ識別に関して教師あり学習を利用した技術がある。かかる技術では、予め識別対象の正例のコンテンツの特徴量(素性)と識別対象外の負例のコンテンツの特徴量(素性)を教師データとして学習を行うことにより学習モデルを構築し、構築した学習モデルに基づいて未知のコンテンツが正例のコンテンツであるか否かを識別する(例えば、特許文献2参照)。
ところで、値の集合から構成されるレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する機能として名寄せ機能がある。名寄せ機能では、例えば、名寄せするレコードの集合(照合元)を名寄せ元、名寄せ相手となるレコードの集合(照合先)を名寄せ先と称する。図12は、名寄せ機能を説明する図である。図12に示すように、名寄せ機能を実現する名寄せ処理は、名寄せ元と同じレコード、名寄せ元と類似するレコードまたは名寄せ元と関連するレコードを名寄せ先から検出し、検出結果を名寄せ結果として出力する。この名寄せ機能に関して、教師あり学習を応用した名寄せの技術がある。
特開2004−253011号公報 特開2006−99565号公報
まず、従来の名寄せ機能について、図13〜図15を参照しながら説明する。図13は、名寄せ機能の動作を説明する図である。図13に示すように、名寄せ機能を実現する名寄せ処理は、名寄せ元のレコードJ1について、名寄せ先のレコードM(M1〜Mn)との照合を行い、名寄せを実行する。
名寄せ処理は、名寄せ元のレコードJ1および名寄せ先のレコードM1の各名寄せ対象の項目(「名寄せ対象項目」という。)の値について、予め名寄せ対象項目毎に規定される評価関数を適用して照合を行う。ここでは、名寄せ対象項目が氏名、住所および生年月日であるものとし、名寄せ処理は、名寄せ対象項目のうち氏名をfa()、住所をfb()、生年月日をfc()とする各評価関数を適用して照合を行う。そして、名寄せ処理は、照合の結果として導出される各名寄せ対象項目の評価値に名寄せ対象項目毎の重み付けを行い、得られた各値を加算することによって、総合評価値を導出する。さらに、名寄せ処理は、名寄せ元のレコードJ1に対する残り全ての名寄せ先のレコードM2〜Mnについて、総合評価値を導出する。名寄せ処理は、これら名寄せ元のレコードJ1および名寄せ先のレコードM1〜Mnの組についての総合評価値を含む名寄せ候補集合を作成する。
そして、名寄せ処理は、予め規定された閾値に基づいて、名寄せ候補集合に属するレコードの組について名寄せに関する判定を行う。例えば、名寄せ処理は、予め規定された上位の閾値以上である場合に、完全に一致していると判定し、該判定したレコードの組を「White」として自動判定を行い、名寄せ結果に出力する。また、名寄せ処理は、予め規定された下位の閾値以下である場合に、完全に一致していないと判定し、該判定したレコードの組を「Black」として自動判定を行い、名寄せ結果に出力する。名寄せ処理は、予め規定された下位の閾値より大きく上位の閾値未満である場合に、自動判定できないと判定し、自動判定できない組を「Gray」として候補リストに出力する。そして、候補リストに出力された組の判定が人により任せられる。なお、人による設定が必要な名寄せ定義として、名寄せ対象項目の選定、評価関数の選定、重みおよび閾値の設定がある。
次に、名寄せ処理の具体例について、図14および図15を参照しながら説明する。図14は、名寄せ定義のデータ構造の一例を示す図であり、図14(A)が、名寄せ定義の内容を示し、図14(B)が、名寄せ定義の具体例を示す。図15は、名寄せの具体例を説明する図である。
図14(A)に示すように、名寄せ定義は、名寄せ方法d1、名寄せ元指定d2、名寄せ先指定d3、名寄せ対象項目指定d4および閾値d5を対応付けて定義される。名寄せ方法d1には、名寄せの方法が指定される。例えば、名寄せの方法には、1つのレコード集合を対象として集合内のレコード間の総当りで名寄せを行い、一致しているレコードを検出して重複するレコードを除去する「自己名寄せ」がある。自己名寄せは、名寄せ元と名寄せ先が同じ集合なので、その構造(レコードの項目)も同じであるという特徴を有する。また、名寄せの方法には、名寄せ元および名寄せ先として異なるレコード集合を対象として名寄せ元レコードと名寄せ先レコードの組み合わせによる名寄せを行い、一致しているレコードを検出して該当するレコード間の関連付けを行う「他者名寄せ」がある。他者名寄せは、名寄せ元と名寄せ先が異なる集合なので、一般的にその構造(レコードの項目)が異なるという特徴を有する。名寄せ元指定d2には、名寄せ元のデータベース名等のアクセス情報および名寄せ元のレコードの項目が指定される。名寄せ先指定d3には、名寄せ先のデータベース名等のアクセス情報および名寄せ先のレコードの項目が指定される。名寄せ対象項目指定d4には、名寄せ対象項目が名寄せ元の項目と名寄せ先の項目の組み合わせとして指定され、名寄せ対象項目毎に適用される評価関数および重みが指定される。閾値d5には、White判定用の上位の閾値およびBlack判定用の下位の閾値が指定される。
図14(B)に示すように、例えば、名寄せ方法d1には、「自己名寄せ」が指定される。名寄せ元指定d2のアクセス情報には、「顧客表」が指定され、名寄せ元指定d2のレコード情報には、ID(identification)、氏名、郵便番号、住所および生年月日の項目が指定される。なお、名寄せ先指定d3は、名寄せ方法が「自己名寄せ」の場合には、名寄せ元の情報と同様であるので定義が不要となる。名寄せ対象項目指定d4には、名寄せ対象項目を氏名:氏名、郵便番号:郵便番号、住所:住所および生年月日:生年月日として指定される。これは、名寄せ元の項目:名寄せ先の項目の組として名寄せ対象項目を指定しており、名寄せ方法が「自己名寄せ」の場合には、同じレコード構成なので一般的に同じ項目名となる。この名寄せ対象項目に対して、適用する評価関数と重みを指定する。例えば名寄せ対象項目が氏名:氏名の場合には、評価関数に「編集距離」、重みに0.3が指定される。名寄せ対象項目が郵便番号:郵便番号の場合には、評価関数に「完全一致」、重みに0.2が指定される。閾値d5には、上位の閾値に0.72、下位の閾値に0.26が指定される。以下では、同じ項目名を対とする名寄せ対象項目について、1つの項目名で表現することとする。例えば、「名寄せ対象項目氏名:氏名」を「名寄せ対象項目氏名」と表現する。なお、「編集距離」とは、名寄せ元と名寄せ先との名寄せ対象項目の値の照合において名寄せ先の値を名寄せ元の値に変形させる際の最小編集回数を距離として表す評価関数である。例えば、変形不要の場合には1.0を返し、全ての変形が必要な場合には0を返し、一部の変形で良い場合には変形回数に応じて変形回数が多くなる程小さくなる値であって0から1.0までの値を返す。また、「完全一致」とは、名寄せ元と名寄せ先との名寄せ対象項目の値の照合において2つの値が完全に一致するか否かを表す評価関数である。2つの値が完全に一致する場合には1.0を返し、それ以外は0を返す。なお、評価関数には、これらのみならず、名寄せ元の値について隣り合うN文字が名寄せ先の値に含まれる度合いを評価する「N−gram」等がある。
図15では、図14で定義された名寄せ処理の一部として、名寄せ元の1件のレコードM1に対する名寄せ先との名寄せ処理の途中経過と結果を示す。名寄せ先の顧客表Mには、例えば200万件のレコードが格納される。そして、名寄せ処理は、これら各レコードを名寄せ先として名寄せ元のレコードM1との間で照合を行う。例えば、名寄せ処理は、照合の途中結果として、名寄せ元のレコードM1および名寄せ先のレコードM1〜M6の組毎に、評価関数の適用結果、重み付け結果および総合評価値を対応付けて出力する。そして、名寄せ処理は、照合後に、名寄せ元のレコードM1および名寄せ先のレコードM1〜M6の組毎に、名寄せに関する判定をし、判定結果を出力する。
次に、機械学習器に相当する学習器による名寄せ機能について、図16を参照しながら説明する。図16は、学習器による名寄せを説明する図である。図16に示すように、名寄せ機能を実現する名寄せ処理は、教師あり学習を実現する学習器を備える。学習器は、正しい判定結果となるレコード対の例を示す教師データである教師例を取得し、取得した教師例を用いて名寄せ処理で使用される判定基準を学習する。この判定基準が、名寄せ対象項目毎の重みおよび名寄せ対象レコードの判定に適用される閾値となる。
そして、名寄せ処理は、名寄せ元のレコードについて、名寄せ先のレコードとの間で照合し、学習により得られた判定基準を用いて名寄せに関する判定をして判定結果を出力する。このとき、名寄せ処理は、名寄せに関して自動判定できない組を候補リストに出力し、人による判定に任せる。そして、候補リストに出力された組について、人による判定に応じて教師例が適切にフィードバックされることで、名寄せ処理は、教師あり学習により高い精度の判定を実現する。
しかしながら、従来の名寄せに関する教師あり学習では、教師例を効率的且つ実用的に作成することが困難であるという問題があった。すなわち、教師例を人手で作成していたので、教師例の作成にコストがかかってしまい、教師例を効率的に作成することが困難であった。また、名寄せ処理を利用する業務では、業務に特化したルール(業務ルール)を教師例に反映することが難しく、教師例を実用に即して作成することが困難であった。さらに、自動判定できないGray判定部分に対する人の判断コストも大きく、人の判断を教師例にフィードバックする際に教師例に矛盾があっても判らないという課題もあった。
1つの側面では、名寄せに関する教師あり学習において、教師例を効率的且つ実用的に作成することを可能とすることを目的とする。
第1の案では、情報照合装置は、項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置であって、前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、一致と判定すべきレコードの組である正例の教師データおよび不一致と判定すべきレコードの組である負例の教師データの条件を規定するルールを設定する教師例ルール設定部と、照合元のレコードについて、前記教師例ルール設定部によって設定された、正例の教師データの条件を規定するルールである正例のルールを用いて照合先のレコードを検索することで正例の教師データを生成し、前記教師例ルール設定部によって設定された、負例の教師データの条件を規定するルールである負例のルールを用いて照合先のレコードを検索することで負例の教師データを生成する教師例生成部とを備える。
名寄せに関する教師あり学習において、教師例を効率的且つ実用的に作成することができ、人によるGray判定を助け、教師例への適切なフィードバックを可能とする。
図1は、実施例に係る情報照合装置の構成を示す機能ブロック図である。 図2は、実施例に係る教師例生成処理の手順を示すフローチャートである。 図3は、実施例に係る教師例検証処理の手順を示すフローチャートである。 図4は、実施例に係る名寄せ結果判定処理の手順を示すフローチャートである。 図5Aは、実施例に係る教師例の保守手順の一例を示すフローチャートである。 図5Bは、実施例に係る判定不能の名寄せ結果を教師例に反映して教師例を保守する手順の一例を示すフローチャートである。 図6は、教師例生成部によって生成された教師例を用いた名寄せについて説明する図である。 図7は、教師例検証部による教師例矛盾検出を説明する図である。 図8は、教師例の矛盾解消の効果を確認するための実験例を説明する図である。 図9は、実施例に係る教師例検証の具体例を説明する図である。 図10は、実施例に係る教師例生成の具体例を説明する図である。 図11は、情報照合プログラムを実行するコンピュータを示す図である。 図12は、名寄せ機能を説明する図である。 図13は、名寄せ機能の動作を説明する図である。 図14は、名寄せ定義のデータ構造の一例を示す図である。 図15は、名寄せの具体例を説明する図である。 図16は、学習器による名寄せを説明する図である。 図17は、学習による照合を説明する図である。 図18は、SVMによる学習について説明する図である。 図19は、学習による名寄せの処理手順を示すフローチャートである。 図20は、学習のモデル(SVMの例)を説明する図である。 図21は、学習の効果を説明する図である。
以下に、本願の開示する情報照合装置、情報照合方法および情報照合プログラムの実施例を図面に基づいて詳細に説明する。以下の実施例では、情報照合装置に教師あり学習を行う学習器としてサポートベクトルマシン(SVM)を採用した場合について説明することとし、実施例の説明に先立って、SVMを用いた名寄せの技術について説明を行う。なお、実施例によりこの発明が限定されるものではない。
[SVMを用いた名寄せの技術]
図17は、学習による照合を説明する図である。図17に示すように、学習部(SVM)100は、名寄せ対象項目毎の評価関数fa〜fcの結果(評価値)を素性として教師例s0による学習を行い、識別面を求めることによって、素性とした各評価値に対する重みa1〜a3と総合評価値に対する判定に用いる閾値v0を導出する。SVM100は、導出した重みa1〜a3および閾値v0を学習結果として出力する。そして、名寄せ処理は、名寄せ元Jについて、名寄せ先Mとの間の学習結果を使用した名寄せを行う。すなわち、名寄せ処理は、名寄せ対象項目毎に学習結果として出力された重みa1〜a3を使用した照合を行い、照合の結果得られた判定対象となる総合評価値を学習で導出した識別面との距離として計算し、総合評価値に対して閾値による判定を行う。なお、識別面については、後述するものとする。
次に、SVM100による学習について、より詳細に説明する。図18は、SVMによる学習について説明する図である。図18に示すように、一致すると判定すべきレコードの組を正例の教師例、不一致と判定すべきレコードの組を負例の教師例とした教師例集合がSVM100に入力される。そして、SVM100は、入力された教師例集合に属する教師例を用いて名寄せ元Jおよび名寄せ先Mの名寄せ対象項目の値を評価関数fa〜fcにより評価し、評価で得られた結果(評価値)に対する判定の際に当該教師例として予め与えられた判定結果(正例=White,負例=Black)と一致するような判定を実現する判定基準を導出する。導出された判定基準は、名寄せ対象項目毎の重みa1〜a3、識別面s0および閾値v0となる。SVM100が重みa1〜a3や閾値v0を導出し、人による重みや閾値の設定を不要とする。この結果、名寄せ機能では、教師例を基準とした名寄せを行うことが可能となる。なお、人による設定が必要な名寄せ定義として、名寄せ対象項目の選定、評価関数の選定、教師例の選定がある。
次に、学習による名寄せの処理手順について、図19を参照しながら説明する。図19は、学習による名寄せの処理手順を示すフローチャートである。
まず、人(例えばユーザ)が名寄せ対象項目と名寄せ対象項目毎の評価関数を設定する(ステップS100)。そして、ユーザが、初期学習用の教師例を作成する(ステップS101)。すなわち、ユーザは、正例となる教師例および負例となる教師例を作成する。
続いて、SVM100が、作成された教師例を用いて学習し、重みと閾値を導出する(ステップS102)。そして、SVM100は、導出した重みと閾値を学習結果として名寄せ処理に設定する(ステップS103)。
続いて、名寄せ処理は、設定された重みと閾値に従って名寄せを行う(ステップS104)。そして、名寄せ処理は、名寄せ結果を示す総合評価値について、設定された閾値による判定を行う(ステップS105)。閾値による判定が不一致である場合には(ステップS105;Black)、名寄せ処理は、名寄せ結果をBlackとして出力する(ステップS106)。閾値による判定が一致である場合には(ステップS105;White)、名寄せ処理は、ステップS108に移行する。
閾値による判定が判定不能である場合には(ステップS105;Gray)、名寄せ処理は、ユーザに判断を任せる(ステップS107)。ユーザによる判断が不一致である場合には(ステップS107;Black)、ユーザは、名寄せ結果をBlackとすべく、ステップS106に移行する。一方、ユーザによる判断が一致である場合には(ステップS107;White)、名寄せ処理は、ステップS108に移行する。ここで、人による判定処理(ステップS107)において教師例へのフィードバックが必要と判断した場合には、ユーザは、名寄せ結果をフィードバックすべく、ステップS101に移行する。この際、不一致(Black)と判断した組は負例の教師例に、一致(White)と判断した組は正例の教師例に登録する。
続いて、ユーザが、一致すると判定された名寄せ結果を検証する(ステップS108)。そして、ユーザは、一致すると判定された名寄せ結果が妥当であるか否かを判断する(ステップS109)。名寄せ結果が妥当でないと判定された場合には(ステップS109;No)、名寄せ対象項目、評価関数または教師例を修正すべく、ステップS100またはステップS101に移行する。一方、名寄せ結果が妥当であると判定された場合には(ステップS109;Yes)、名寄せ先等に名寄せ結果が反映される(ステップS110)。尚、Blackと判定した組の出力が不要な場合には、ステップS106は省略可能である。
次に、SVMを例とした学習のモデルについて説明する。まず、学習のモデルの説明に必要となる前提について説明する。名寄せ対象となるレコードの組について、名寄せ対象項目毎の評価関数の算出結果を素性xとしてベクトル(x、・・、x)とし、「特徴ベクトル」というものとする。例えば、名寄せ対象項目が氏名、郵便番号、住所および生年月日の4項目であり、氏名、郵便番号、住所および生年月日のそれぞれの評価関数をfa()、fb()、fc()、fd()とする。すると、この例では、dが「4」となり、特徴ベクトルは(fa()による評価値、fb()による評価値、fc()による評価値、fd()による評価値)となる。
ここで、特徴ベクトルXを(x、・・、x)とした場合、識別面g(x)は式1のように定義される。
Figure 0005640773
なお、Wは、重みベクトルを示し、(w、・・、w)の各素性に対する重みにより構成されるベクトルで表わされる。また、bは、定数項を示す。
また、学習用のサンプルデータ(教師例)として、次の情報が与えられる。
Figure 0005640773
なお、Zは、各教師例の特徴ベクトルであり、名寄せの照合の組み合わせ集合Rの要素である。yは、名寄せの判定結果であり、例えば正例の場合は+1、負例の場合は−1を値とする。すなわち、名寄せの判定結果として同じとみなす(White判定)場合には、正例として+1を定義し、名寄せの判定結果として異なるとみなす(Black判定)場合には、負例として−1を定義する。
このような前提のもと、学習のモデルにおける学習は、複数の教師例が与えられたとき、g(x)=0を満たす点の集合を超平面とした識別面を求めることを意味する。すなわち、学習は、d次元空間に分布する教師例について予め指定された正または負の判定結果となるように分離(識別)するための識別面を導出するために、識別面g(x)の重みベクトルW(1≦i≦d)と定数項bを導出する。識別面は、d次元空間におけるd−1次元の超平面となる。
図20は、学習のモデル(SVMの例)を説明する図である。図20(A)に示すように、学習を行うSVMは、正例の教師例と負例の教師例が与えられたとき、各教師例の特徴ベクトルをd次元空間にプロットする。なお、図20は2次元の図なので、名寄せ対象項目が2件の場合を示している。そして、SVMは、各教師例の正負と一致するように教師例を識別するための識別面s1を求めるのである。ここで、識別面により近い有効な教師例を「サポートベクタ」という。SVMは、識別面とサポートベクタとのユークリッド空間上の最小距離(マージン)を最大化するようなサポートベクタの選定と超平面の導出を行うことによって、より確実に各教師例の正負を分離できる識別面を導出する。
図20(B)に示すように、SVMは、識別面とサポートベクタとのマージンmを最大化するように、負のサポートベクタV1および正のサポートベクタV2の選定を行い、識別面s2の導出を行う。具体的には、マージンmの最大化とは、総合評価値が1(=W・X+b)のとき、特徴ベクトルXを最大化する重みWを求めるという意味である。bが0であると仮定すると、Xは、1/Wとなる。したがって、特徴ベクトルXを最大化するためには、重みWを最小化することとなる。具体的には図20(A)よりも図20(B)の方が、マージンmが大きいので、SVMは図20(B)のような識別面を導出することになる。
なお、SVMがマージンを最大化するように識別面を導出する際、教師例が線形分離可能とならない場合もある。すなわち、教師例が自己の正負と一致しないような場合である。このような場合であっても、SVMは、多少の識別誤りを許容し、識別誤りを最小化しつつ、マージンを最大化するように識別面を導出する方法(「ソフトマージン」という。)を採用する。
上述したように、SVMによる学習によって、学習結果として識別面および最大化したマージンが得られる。この学習結果を利用して、名寄せ対象のレコードの組の特徴ベクトルについて、名寄せの評価を行うことができる。図21は、学習の効果を説明する図である。図21に示すように、学習は、マージンを最大化するように、W・X+b=0となる識別面s3を導出し、W・X+b=−1となる負側の限界面およびW・X+b=1となる正側の限界面を選定する。特徴ベクトルXと重みWおよび定数bとから算出される総合評価値は、当該特徴ベクトルと識別面s3との最小距離として−∞〜+∞の値で表されることとなり、正側の限界面に接する教師データであるサポートベクタ(正)の総合評価値は+1となり、負側の限界面に接する教師データであるサポートベクタ(負)の総合評価値は−1となる。したがって、名寄せ処理では、学習結果である重みWおよび定数bを使用して教師データとは異なる名寄せ対象のレコードの組の特徴ベクトルの総合評価値を算出すると(図21の○印や◇印)、算出した総合評価値によってWhite、BlackまたはGrayを判定することができる。この性質を汎化と呼び、SVMの大きな特徴である。即ち、総合評価値が+1より大きい場合にWhiteと判定し、総合評価値が−1より小さい(−∞の方向になる)場合にBlackと判定し、総合評価値の絶対値が1より小さい場合にGrayと判定することによって、教師例に即した判定を実現できる。
また、上述の総合評価値は特徴ベクトルXと重みWおよび定数bとから算出され、閾値は上限閾値=W・X+b=+1、下限閾値=W・X+b=−1で固定値であるものとしてSVMの原理を説明しているが、定数項bを右辺に移動することによって、上限閾値=W・X=+1−b、下限閾値=W・X=−1−bとして閾値を可変値にすることもでき、この場合の総合評価値はW・Xとして算出でき、上限閾値=+1−b、下限閾値=−1−bとして算出できる。
以下に示す実施例では、SVMによる学習を利用した情報照合装置、情報照合方法および情報照合プログラムについて説明する。
[実施例に係る情報照合装置の構成]
図1は、実施例に係る情報照合装置の構成を示す機能ブロック図である。情報照合装置1は、項目に対応する値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する装置である。図1に示すように、情報照合装置1は、記憶部11および制御部12を有する。
記憶部11は、名寄せ元DB(database)111、名寄せ先DB112、名寄せ定義113および教師例114を有する。なお、記憶部11は、例えば、RAM(Random Access Memory)、フラッシュメモリ(flash memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置である。
名寄せ元DB111は、名寄せするレコード(名寄せ元レコード)を複数記憶するDBである。名寄せ先DB112は、名寄せ相手となるレコード(名寄せ先レコード)を複数記憶するDBである。なお、名寄せ元DB111および名寄せ先DB112は、項目が完全に一致している場合であっても、項目が一部一致である場合であっても、項目が完全に一致していなくても一部の項目に関連性がある場合であっても良い。また、名寄せ元DB111および名寄せ先DB112が同じ情報を有するDBであっても良いし、1つのDBであっても良い。さらに名寄せ元DB111は必ずしもDB(Database)である必要はなく、レコードを順次取り出す機能を有すればXMLやCSVファイル等でも良い。同様に名寄せ先DB112は必ずしもDB(Database)である必要はなく、レコードを順次取り出す機能とキー(ID)による検索機能を有すればXMLやCSVファイル等でも良い。
名寄せ定義113は、名寄せを行うために必要な名寄せ方法、名寄せ元指定、名寄せ先指定、名寄せ対象項目指定および閾値を対応付けて定義される。名寄せ方法には、自己名寄せまたは他者名寄せ等の名寄せの方法が指定される。名寄せ元指定には、名寄せ元DB111のデータベース名等のアクセス情報および名寄せ元DB111のレコードの項目が指定される。名寄せ先指定には、名寄せ先DB112のデータベース名等のアクセス情報および名寄せ先DB112のレコードの項目が指定される。名寄せ対象項目指定には、名寄せ対象項目が指定され、名寄せ対象項目毎に適用される評価関数および重みが指定される。閾値には、White判定用の上位の閾値およびBlack判定用の下位の閾値が指定される。なお、重みおよび閾値は、デフォルトの値であり、名寄せで実際に用いられるのは、後述する学習部122によって学習された結果である学習結果に含まれる重みおよび閾値となる。
教師例114は、予め名寄せの結果が自明である名寄せ元レコードおよび名寄せ先レコードを1組とした教師データであり、両者の名寄せ結果が一致であることを示す正例の教師例と両者の名寄せ結果が不一致であることを示す負例の教師例がある。なお、以降、教師データを「教師例」というものとする。
制御部12は、名寄せの判定基準をSVMで学習するために使用される教師例を、正例および負例の教師例の条件を規定するルールに基づいて生成する。なお、教師例の条件を規定するルールを「教師例ルール」というものとする。教師例ルールには、正例の教師例ルール(以降、「正例ルール」という。)と負例の教師例ルール(以降、「負例ルール」という。)がある。
さらに、制御部12は、教師例設定部121、学習部122、教師例ルール設定部123、教師例生成部124、教師例検証部125、名寄せ部126および名寄せ結果判定部127を有する。なお、制御部12は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路である。
教師例設定部121は、名寄せ結果の判定で用いられる判定基準を学習する機械学習器に教師例を設定する。本実施例では、機械学習器が、後述する学習部122に相当し、SVMとなる。教師例設定部121は、教師例生成部124によって生成された正例の教師例および負例の教師例を取得し、取得した正例の教師例および負例の教師例を学習部122に設定する。また、教師例設定部121は、検証すべき正例の教師例または負例の教師例を記憶部11の教師例114から取得し、取得した教師例を後述する教師例検証部125に設定する。
学習部122は、教師例設定部121から正例の教師例および負例の教師例を取得し、取得した教師例を用いて名寄せ処理で使用される判定基準を学習する。この判定基準が、名寄せ対象項目毎の重みおよび名寄せ対象の判定に適用される閾値となる。すなわち、学習部122は、名寄せ対象項目毎の評価関数の結果(評価値)を素性として、教師例による学習を行い、素性毎の重みとともに識別面として閾値を導出し、導出した重みおよび閾値を学習結果として名寄せ部126に出力する。
教師例ルール設定部123は、教師例の条件を規定する教師例ルールを設定する。教師例ルールのうち正例ルールは、正例の教師例の条件を規定する。一方、教師例ルールのうち負例ルールは、負例の教師例の条件を規定する。具体的には、教師例ルール設定部123は、教師例ルールを情報照合装置1と接続したキーボード等の入力装置から取得し、後述する教師例生成部124、教師例検証部125および名寄せ結果判定部127に設定する。なお、教師例ルールを予め記憶部11に記憶させておき、教師例ルール設定部123は、教師例ルールを記憶部11から取得し、後述する教師例生成部124、教師例検証部125および名寄せ結果判定部127に設定するように構成しても良い。
ここで、名寄せ対象項目が氏名、住所および生年月日である場合の教師例ルールの具体例について説明する。例えば、正例ルールは、氏名と住所が一致しているレコードの組は同一であると判定されるものとする。さらに具体的に、正例ルールは、以下のように記述される。
名寄せ元.氏名=名寄せ先.氏名 AND 名寄せ元.住所=名寄せ先.住所
名寄せ元.氏名とは、名寄せ元DB111の氏名の項目を指す。名寄せ先.氏名とは、名寄せ先DB112の氏名の項目を指す。名寄せ元.住所は、名寄せ元DB111の住所の項目を指す。名寄せ先.住所は、名寄せ先DB112の住所の項目を指す。
また、負例ルールは、氏名が一致していても、生年月日が不一致のレコードの組は異なると判定されるものとする。さらに具体的に、負例ルールは、以下のように記述される。
名寄せ元.氏名=名寄せ先.氏名 AND 名寄せ元.生年月日≠名寄せ先.生年月日
名寄せ元.生年月日とは、名寄せ元DB111の生年月日の項目を指す。名寄せ先.生年月日とは、名寄せ先DB112の生年月日の項目を指す。また、複数の教師例ルールを含む場合には、各教師例ルールをORで結合して記述(解釈)される。
さらに、教師例ルールには、暗黙のルールがデフォルトで存在する。すなわち、教師例ルール設定部123が、教師例ルールをキーボード等の入力装置を介しなくても、予め規定された暗黙の教師例ルールを教師例生成部124、教師例検証部125および名寄せ結果判定部127に設定する。この暗黙の教師例ルールのうち正例ルールは、名寄せ対象項目の全項目が一致しているレコードの組は同一であると判定されるものとする。また、暗黙の教師例ルールのうち負例ルールは、名寄せ対象項目の全項目が不一致であるレコードの組は異なると判定されるものとする。なお、暗黙の教師例ルールを含む教師例ルールは、名寄せを利用する業務に応じて業務上のルールを反映して規定されることが望ましい。
教師例生成部124は、名寄せ元のレコードについて、教師例ルール設定部123によって設定された教師例ルールを条件に名寄せ先DB112を検索することで教師例を生成する。かかる教師例生成部124は、教師例を最初に自動的に生成する場合、または既に生成された全教師例を自動的に再生成する場合に有効である。具体的には、教師例生成部124は、名寄せ元のレコードについて、教師例ルール設定部123によって設定された正例ルールを条件に名寄せ先DB112を検索することで正例の教師例を生成する。また、教師例生成部124は、名寄せ元のレコードについて、教師例ルール設定部123によって設定された負例ルールを条件に名寄せ先DB112を検索することで負例の教師例を生成する。
なお、教師例生成部124は、生成した教師例について、他の教師例ルールの条件に合致しないことを判定し、教師例と教師例ルールの矛盾を解消するようにしても良い。すなわち、教師例生成部124は、生成した教師例について、他の教師例ルールの条件に合致すると判定した場合には、検索した教師例に矛盾があると判断し、この教師例を削除する。具体的に、教師例生成部124は、正例ルールを条件に生成された正例の教師例について、他の教師例ルールとしての負例ルールの条件に合致しないことを判定する。そして、教師例生成部124は、正例の教師例について、負例ルールの条件に合致しないと判定した場合には、正例の教師例に矛盾がないと判断する。一方、教師例生成部124は、正例の教師例について、負例ルールの条件に合致すると判定した場合には、正例の教師例に矛盾があると判断し、この正例の教師例を削除する。また、教師例生成部124は、負例ルールを条件に生成された負例の教師例について、他の教師例ルールとしての正例ルールの条件に合致しないことを判定する。そして、教師例生成部124は、負例の教師例について、正例ルールの条件に合致しないと判定した場合には、負例の教師例に矛盾がないと判断する。一方、教師例生成部124は、負例の教師例について、正例ルールの条件に合致すると判定した場合には、負例の教師例に矛盾があると判断し、この負例の教師例を削除する。
教師例検証部125は、教師例を取得し、取得した教師例について、当該教師例が有する正例または負例の区別と逆の区別の教師例ルールの条件に合致しないことを判定する。すなわち、教師例検証部125は、取得した教師例について、当該教師例が有する正例または負例の区別と逆の区別の教師例ルールの条件に合致すると判定した場合には、取得した教師例に矛盾があると判断する。かかる教師例検証部125は、ユーザが最初に生成した教師例を取得したり、既に存在する教師例を取得したり、人による判定不能(Gray)である組を判定した結果を教師例に反映したりして、取得した教師例を検証する場合に有効である。
具体的には、教師例検証部125は、教師例設定部121から教師例を取得し、取得した教師例が正例である場合には、負例ルールの条件に合致しないことを判定する。そして、教師例検証部125は、正例の教師例について、負例ルールの条件に合致しないと判定した場合には、正例の教師例に矛盾がないと判断する。一方、教師例検証部125は、正例の教師例について、負例ルールの条件に合致すると判定した場合には、正例の教師例に矛盾があると判断し、例えば当該正例の教師例について削除したり、警告したりする。また、教師例検証部125は、取得した教師例が負例である場合には、正例ルールの条件に合致しないことを判定する。そして、教師例検証部125は、負例の教師例について、正例ルールの条件に合致しないと判定した場合には、負例の教師例に矛盾がないと判断する。一方、教師例検証部125は、負例の教師例について、正例ルールの条件に合致すると判定した場合には、負例の教師例に矛盾があると判断し、例えば当該負例の教師例について削除したり、警告したりする。
名寄せ部126は、学習部122により学習して得られた学習結果を使って名寄せを行い、名寄せの判定結果(以降、「名寄せ結果」という。)を算出する。具体的には、名寄せ部126は、学習部122から学習結果を取得し、取得した学習結果および名寄せ定義113を使って名寄せを行い、名寄せ結果を算出する。なお、名寄せ結果には、同一とみなすWhite判定を示す値、異なるとみなすBlack判定を示す値または判定不能とみなすGray判定を示す値が含まれる。
名寄せ結果判定部127は、名寄せ結果として判定不能とされたレコードの組について、教師例ルールに基づいて、一致(White)、一致しない(Black)または判定不能(Gray)の区別を判定する。すなわち、名寄せ結果判定部127は、名寄せ結果がGray判定となったレコードの組について、教師例ルールによる判定を行うことによって、人による判定が必要なレコードの組を減らすことができる。具体的には、名寄せ結果判定部127は、名寄せ部126から名寄せ結果がGray判定であるレコードの組を取得し、取得したレコードの組が正例ルールの条件に合致するか否かを判定する。そして、名寄せ結果判定部127は、取得したレコードの組が正例ルールの条件に合致すると判定した場合には、当該レコードの組が負例ルールの条件に合致するか否かを判定する。これは、正例ルールの条件に合致したレコードの組について、一致(White)と判定不能(Gray)の区別を判定するためである。そして、名寄せ結果判定部127は、取得したレコードの組が負例ルールの条件に合致しないと判定した場合には、当該レコードの組は同一とみなすWhiteと判定する。一方、名寄せ結果判定部127は、取得したレコードの組が負例ルールの条件に合致すると判定した場合には、当該レコードの組は判定不能とみなすGrayと判定する。
また、名寄せ結果判定部127は、取得したレコードの組が正例ルールの条件に合致しないと判定した場合には、当該レコードの組が負例ルールの条件に合致するか否かを判定する。これは、正例ルールの条件に合致しないレコードの組について、異なる(Black)と判定不能(Gray)の区別を判定するためである。そして、名寄せ結果判定部127は、取得したレコードの組が負例ルールの条件に合致すると判定した場合には、当該レコードの組は異なるとみなすBlackと判定する。一方、名寄せ結果判定部127は、取得したレコードの組が負例ルールの条件に合致しないと判定した場合には、当該レコードの組は判定不能とみなすGrayと判定する。
[実施例に係る教師例生成処理の手順]
次に、実施例に係る教師例生成処理の手順を、図2を参照しながら説明する。図2は、実施例に係る教師例生成処理の手順を示すフローチャートである。
まず、教師例生成部124は、例えば記憶部11から目標導出数(M)を取得する(ステップS12)。そして、教師例生成部124は、導出数カウンタ(i)を「0」に設定する(ステップS13)。
続いて、教師例生成部124は、名寄せ元DB111から名寄せ元のレコードをランダムにサンプリングする(ステップS14)。そして、教師例生成部124は、サンプリングされた名寄せ元のレコードについて、教師例ルールを条件に名寄せ先DB112の名寄せ先を検索することで教師例を生成する(ステップS15)。具体的には、教師例生成部124は、名寄せ元のレコードについて、教師例ルール設定部123により設定された正例ルールを条件に名寄せ先DB112の名寄せ先のレコードを検索し、検索した名寄せ先のレコードおよび名寄せ元のレコードを組にした正例の教師例を生成する。また、教師例生成部124は、名寄せ元のレコードについて、教師例ルール設定部123により設定された負例ルールを条件に名寄せ先DB112の名寄せ先のレコードを検索し、検索した名寄せ先のレコードおよび名寄せ元のレコードを組にした負例の教師例を生成する。ここで、名寄せ先から複数のレコードが検索された場合には、先頭レコードやNULL値がより少ないレコードを1つだけ選択して1組の教師例を生成することにより、教師例をより分散させることができる。
そして、教師例生成部124は、教師例が生成された結果数(例えばn、nは自然数)分、導出数カウンタをインクリメントする(ステップS16)。
その後、教師例生成部124は、導出数カウンタ(i)が目標導出数(M)に到達したか否かを判定する(ステップS17)。導出数カウンタが目標導出数に到達していないと判定された場合には(ステップS17;No)、教師例生成部124は、次の名寄せ元のレコードをサンプリングするためにステップS14に移行する。一方、導出数カウンタが目標導出数に到達していると判定された場合には(ステップS17;Yes)、教師例生成部124は、教師例生成処理を終了する。
なお、教師例生成部124は、ステップS15の後に、生成された教師例について、他の教師例ルールの条件に合致しないことを判定し、判定した結果、他の教師例の条件に合致すると判定された場合には、この教師例を削除するようにしても良い。この場合、教師例生成部124は、ステップS16では、削除した教師例について、導出数カウンタにカウントしないようにする。
[実施例に係る教師例検証処理の手順]
次に、実施例に係る教師例検証処理の手順を、図3を参照しながら説明する。図3は、実施例に係る教師例検証処理の手順を示すフローチャートである。
まず、教師例検証部125は、教師例設定部121から未検証の教師例を1組取得する(ステップS22)。
そして、教師例検証部125は、取得した教師例が正例の教師例であるか否かを判定する(ステップS23)。取得した教師例が正例の教師例であると判定された場合には(ステップS23;Yes)、教師例検証部125は、正例の教師例について、負例ルールの条件に合致するか否かを判定する(ステップS24)。正例の教師例について、負例ルールの条件に合致しないと判定された場合には(ステップS24;No)、教師例検証部125は、正例の教師例に矛盾がないと判断し、ステップS27に移行する。一方、正例の教師例について、負例ルールの条件に合致すると判定された場合には(ステップS24;Yes)、教師例検証部125は、正例の教師例に矛盾があると判断し、教師例ルール違反として出力する(ステップS26)。例えば、教師例検証部125は、矛盾があった教師例について矛盾がある旨を警告する。
また、取得した教師例が正例の教師例でないと判定された場合には(ステップS23;No)、教師例検証部125は、負例の教師例であると判断し、負例の教師例について、正例ルールの条件に合致するか否かを判定する(ステップS25)。負例の教師例について、正例ルールの条件に合致しないと判定された場合には(ステップS25;No)、教師例検証部125は、負例の教師例に矛盾がないと判断し、ステップS27に移行する。一方、負例の教師例について、正例ルールの条件に合致すると判定された場合には(ステップS25;Yes)、教師例検証部125は、負例の教師例に矛盾があると判断し、ステップS26に移行する。
教師例検証部125は、教師例設定部121に未検証の教師例があるか否かを判定する(ステップS27)。未検証の教師例があると判定された場合には(ステップS27;Yes)、教師例検証部125は、未検証の教師例を取得すべく、ステップS22に移行する。一方、未検証の教師例がないと判定された場合には(ステップS27;No)、教師例検証部125は、教師例検証処理を終了する。
なお、教師例検証部125は、さらに厳しいチェックをしたい場合に負例の教師例について、ステップS25;Noの後に負例のルールに合致していることを判定するようにしても良い。そして、教師例検証部125は、負例のルールに合致しないと判定された場合に、教師例違反とすべくステップS26に移行し、負例のルールに合致すると判定された場合に、ステップS27に移行する。また、正例の教師例についても負例の教師例の場合と同様に、教師例検証部125は、ステップS24;Noの後に自己が有する正例負例の区別と同じ区別の教師例ルール、すなわち負例ルールに合致していることを判定するようにしても良い。
[実施例に係る名寄せ結果判定処理の手順]
次に、実施例に係る名寄せ結果判定処理の手順を、図4を参照しながら説明する。図4は、実施例に係る名寄せ結果判定処理の手順を示すフローチャートである。
まず、名寄せ結果判定部127は、名寄せ部126から判定不能の名寄せ結果を1組取得する(ステップS32)。
そして、名寄せ結果判定部127は、取得したレコードの組が正例ルールに合致するか否かを判定する(ステップS33)。取得したレコードの組が正例ルールに合致すると判定された場合には(ステップS33;Yes)、名寄せ結果判定部127は、当該レコードの組が負例ルールに合致するか否かを判定する(ステップS34)。当該レコードの組が負例ルールに合致しないと判定された場合には(ステップS34;No)、名寄せ結果判定部127は、当該レコードの組は同一(White)と判定する(ステップS35)。一方、当該レコードの組が負例ルールに合致すると判定された場合には(ステップS34;Yes)、名寄せ結果判定部127は、当該レコードの組は判定不能(Gray)と判定する(ステップS36)。
また、取得したレコードの組が正例ルールに合致しないと判定された場合には(ステップS33;No)、名寄せ結果判定部127は、当該レコードの組が負例ルールに合致するか否かを判定する(ステップS37)。当該レコードの組が負例ルールに合致すると判定された場合には(ステップS37;Yes)、名寄せ結果判定部127は、当該レコードの組は異なる(Black)と判定する(ステップS38)。一方、当該レコードの組が負例ルールに合致しないと判定された場合には(ステップS37;No)、名寄せ結果判定部127は、当該レコードの組は判定不能(Gray)と判定する(ステップS36)。
その後、名寄せ結果判定部127は、結果判定処理をしていない残りの判定不能とされた名寄せ結果があるか否かを判定する(ステップS39)。結果判定処理をしていない残りの判定不能とされた名寄せ結果があると判定された場合には(ステップS39;Yes)、名寄せ結果判定部127は、判定不能とされた次の名寄せ結果の1組を取得すべく、ステップS32に移行する。一方、結果判定処理をしていない残りの判定不能とされた名寄せ結果がないと判定された場合には(ステップS39;No)、名寄せ結果判定部127は、名寄せ結果判定処理を終了する。
[教師例の保守手順]
次に、教師例の保守手順について、図5Aおよび図5Bを参照しながら説明する。図5Aは、実施例に係る教師例の保守手順の一例を示すフローチャートであり、図5Bは、実施例に係る判定不能の名寄せ結果を教師例に反映して教師例を保守する手順の一例を示すフローチャートである。
まず、教師例の保守が開始されると、教師例ルール設定部123が、教師例ルール設定処理を実行し(ステップS41)、正例および負例の教師例ルールを教師例生成部124、教師例検証部125および名寄せ結果判定部127に設定する。次に、制御部12は、過去に生成された教師例を全て削除する(ステップS42)。この教師例を全て削除する処理(ステップS42)は、教師例を新規に作成する場合、または新たに作り直す場合に実行され、既存の教師例を活かす場合には省略されるオプションである。さらに、教師例生成部124は、教師例生成処理を実行し(ステップS43)、教師例ルール設定部123によって設定された教師例ルールを条件に教師例を生成する。
続いて、制御部12は、生成した教師例を新規追加したり、既存の教師例が存在する場合には既存の教師例に上書きまたは追加したりして、教師例に反映する(ステップS44)。
続いて、教師例検証部125は、教師例設定部121から教師例を取得すると、取得した教師例を検証すべく教師例検証処理を実行し(ステップS45)、教師例に違反があるか否かを判定する(ステップS46)。そして、教師例検証部125によって教師例に違反があると判定された場合には(ステップS46;Yes)、人によって当該教師例に違反があるか否かが判定される(ステップS47)。
そして、当該教師例に違反がないと判定された場合には(ステップS47;修正不要)、教師例候補として人に最終確認を委ねるべく、ステップS50に移行する。また、当該教師例に違反があると判定された場合であって教師例ルールの修正が必要であると判定された場合には(ステップS47;ルール修正)、人が教師例ルールを修正し(ステップS48)、ステップS41に移行する。また、当該教師例に違反があると判定された場合であって教師例を個別に修正が必要であると判定された場合には(ステップS47;個別修正)、人が該当教師例を削除し(ステップS49)、ステップS43に移行する。
教師例検証部125によって教師例に違反がないと判定された場合には(ステップS46;No)、当該教師例について教師例候補として人に提示され、人による最終選定および確認が行われる(ステップS50)。そして、人により教師例に異常があるか否かが判定され(ステップS51)、異常があると判定された場合には(ステップS51;Yes)、人による原因の判断をさせるべく、ステップS47に移行する。一方、異常がないと判定された場合には(ステップS51;No)、教師例の保守を終了する。
次に、名寄せ部126によって名寄せ結果が判定不能とされた場合に、名寄せ結果判定部127は、名寄せ部126から判定不能とされたレコードの組を取得し、取得したレコードの組について名寄せ結果判定処理を実行する(ステップS61)。ここで、名寄せ結果判定部127は、取得したレコードの組について、教師例ルール設定部123で設定された教師例ルールを適用して、一致(White)、異なる(Black)または判定不能の区別を判定する。そして、判定不能の区別と判定されたレコードの組について、人が一致(White)、異なる(Black)の区別を示す最終判定結果を決定する(ステップS62)。そして、人が、決定した最終判定結果を選定し、選定した最終判定結果のレコードの組を教師例に反映すべく、教師例にフィードバックする(ステップS63)。その後、ステップS44で教師例に反映されると、引き続き反映された教師例が保守されることとなる。
[教師例生成部によって生成された教師例を用いた名寄せ]
次に、教師例生成部124によって生成された教師例を用いた名寄せについて、図6を参照しながら説明する。図6は、教師例生成部によって生成された教師例を用いた名寄せについて説明する図であり、図6(A)では、教師例生成部によって生成された教師例を用いた学習結果を示し、図6(B)では、学習結果を用いた照合結果を示す。図6(A)に示すように、正例の教師例ルールには、正例ルールAおよび正例ルールBが設定され、負例の教師例ルールには、負例ルールCおよび負例ルールDが設定される。これらの教師例ルールは、教師例ルール設定部123によって教師例生成部124に設定される。そして教師例生成部124は、設定された教師例ルールから教師例を生成する。ここでは、正例ルールAから教師例A、Aが生成され、正例ルールBから教師例B、Bが生成され、負例ルールCから教師例C、Cが生成され、負例ルールDから教師例D、Dが生成される。そして、学習部122が、生成された正例の教師例および負例の教師例を用いて学習を行い、教師例の正例および負例をより適切に判別できる識別面Sに基づく学習結果を導出する。
図6(B)に示すように、学習部122によって導出された学習結果を用いて名寄せ部126は、名寄せ元のレコードと名寄せ先のレコードとの組について照合を行う。この結果、1つのレコードの組Zは、何れの正例ルールA、Bにも該当せず正例ルール間の隙間にあっても、生成された教師例に基づく学習と汎化によって、正例に相当するWhiteと判定される。また、1つのレコードの組Zは、何れの負例ルールC、Dにも該当せず負例ルール間の隙間にあっても、生成された教師例に基づく学習と汎化によって、負例に相当するBlackと判定される。
次に、教師例検証部125による教師例の矛盾の検出について、図7を参照しながら説明する。図7は、教師例検証部による教師例矛盾検出を説明する図であり、図7(A)では、教師例生成部によって生成された教師例を用いた学習結果を示し、図7(B)では、さらに教師例が追加された場合の教師例を用いた学習結果を示す。図7(A)は、図6(A)と同様であるので、その説明を省略する。図7(B)に示すように、正例の教師例Z、Zが追加されたものとする。この場合、学習結果は新たに追加された正例の教師例の影響を受けてサポートベクタが変化して、識別面が変化し、マージンも狭くなっている。教師例検証部125は、正例の教師例について、負例ルールの条件に合致しないことを判定する。ここでは、教師例検証部125は、正例の教師例Zについて、負例ルールCの条件に合致するので、正例の教師例Zに矛盾があることを検出する。また、教師例検証部125は、正例の教師例Zについて、負例ルールC、Dの条件に合致しないので、矛盾がないと判断する。
さらに厳しいチェックをしたい場合には、教師例検証部125が、負例ルールに合致しない(矛盾がないと判断した)正例の教師例について、正例ルールの条件に合致していることを判定する。ここでは、教師例検証部125は、正例の教師例Zについて、いずれの正例ルールA、Bの条件にも合致しないので、正例の教師例Zに矛盾があることを検出する。
[教師例の矛盾解消の効果を確認するための実験例]
ここで、教師例の矛盾解消の効果を確認するための実験例について、図8を参照しながら説明する。図8は、教師例の矛盾解消の効果を確認するための実験例を説明する図である。図8(A)は、名寄せ対象のデータを示す。実験で使用されたデータベースは、200万件の顧客表111Aのデータベースである。実験では、名寄せ元および名寄せ先を同じ対象データとして、対象データの重複を除去する目的で、学習を利用した自己名寄せが行われる。なお、名寄せ対象項目は、氏名、住所および生年月日であるものとする。
まず、予め作成された教師例について、図8(B)に示すような矛盾のある教師例を用いた学習および名寄せを行う。図8(B)の例では、IDが「1000000」および「1000100」のレコードの組r1は、氏名および生年月日が一致し住所の後方だけが異なるので、同一人物であり住所変更の可能性が高いので、本来正例としたいところ負例として登録されている矛盾のある教師例である。また、IDが「1000002」および「1000200」のレコードの組r2は、名寄せ対象項目の全項目が完全一致の同一人物で、本来正例となるべきところ負例として登録されている矛盾のある教師例である。
次に、予め作成された教師例の中から教師例検証部125によって矛盾のある教師例を検出し、検出した教師例の矛盾を解消する。この結果、図8(C)に示すように、図8(B)の例で示した矛盾のある負例の教師例が削除される。そして、矛盾のない教師例について、学習および名寄せを行う。
実験では、比較しやすいように名寄せ結果の総合評価値を総合評価点に正規化により換算する。そして、総合評価点は、0〜100点で表され、総合評価値が0となる識別面を50点とし、総合評価値が+1となる上位のサポートベクタ面を72点とし、総合評価値が−1となる下位のサポートベクタ面を28点となるように正規化する。矛盾のある教師例と矛盾のない教師例の2つのケースについて、実験を行った結果、以下の傾向があった。
傾向1として、矛盾のない教師例の総合評価点の最高値が高くなった。すなわち、矛盾のある教師例では、総合評価点の最高値が73.09点であるところ、矛盾のない教師例では、総合評価点の最高値が94.29点であり、矛盾のない教師例の総合評価点の最高値が、矛盾のある教師例のものより+21.20点高い。また、傾向2として、名寄せ結果の精度が向上した。すなわち、同一とみなすWhite判定の正解率が矛盾のある教師例を用いた場合より矛盾のない教師例を用いた場合の方が約10%増加し、判定不能のGray判定の数も矛盾のある教師例を用いた場合より矛盾のない教師例を用いた場合の方が6%減少した。この結果、名寄せにおける判定の分解能力が高くなり、正確な判定が可能となることが判る。この原理は、学習のソフトマージンにおいて、教師例の誤りがなくなることによって、ソフトマージンのペナルティが0になるため分解能力が高まり、より厳密な識別面を導出することが可能となることによる。そして、マージンが大きくなる結果として、汎化したときの総合評価値(識別面との距離)の最大値も大きくなるのである。
[実施例に係る教師例検証の具体例を説明する図]
図8(A)で示された名寄せ対象のデータおよび図8(B)で示される矛盾のある教師例を用いた、教師例検証部125による教師例検証の具体例を、図9を参照しながら説明する。図9は、実施例に係る教師例検証の具体例を説明する図である。ここで、図9では、教師例ルール設定部123によって設定される正例ルールは、氏名が一致し、かつ生年月日が一致しているものとする。さらに、暗黙の正例ルールとして、名寄せ対象項目の全項目の一致を正例とする旨を適用する。また、教師例ルール設定部123によって設定される負例ルールは、氏名が一致していても、生年月日が不一致であるものとする。さらに、暗黙の負例ルールとして、名寄せ対象項目の全項目の不一致を負例とする旨を適用する。したがって、教師例ルールのうち正例ルールは、教師例ルール設定部123によって設定される正例ルールa1および暗黙の正例ルールa2を含むルールとなり、以下のようになる。
「(元.氏名=先.氏名 AND 元.生年月日=先.生年月日) OR (元.氏名=先.氏名 AND 元.生年月日=先.生年月日 AND 元.住所=先.住所)」
また、教師例ルールのうち負例ルールは、教師例ルール設定部123によって設定される負例ルールb1および暗黙の負例ルールb2を含むルールとなり、以下のようになる。
「(元.氏名=先.氏名 AND 元.生年月日≠先.生年月日) OR (元.氏名≠先.氏名 AND 元.生年月日≠先.生年月日 AND 元.住所≠先.住所)」
なお、教師例ルールの中で使用される「元」は名寄せ元、「先」は名寄せ先を略記したものであり、ここでは、名寄せ元、名寄せ先とも顧客表111Aを指す。
まず、教師例検証部125は、矛盾のある教師例のうち正例の教師例について、負例ルールの条件に該当しないことを検証する。ここでは、教師例検証部125は、正例の教師例について、負例ルールb1および負例ルールb2の条件に該当しないので、正例の教師例に矛盾がないと判断する。
次に、教師例検証部125は、矛盾のある教師例のうち負例の教師例について、正例ルールの条件に該当しないことを検証する。ここでは、教師例検証部125は、負例の教師例のうちIDが「1000000」および「1000100」のレコードの組r1は、正例ルールa1に該当するので、矛盾があると判断する。すなわち、レコードの組r1は、正例ルールに合致するので正例の教師例とすべきところ負例の教師例となっているので、正例ルールに違反している。また、教師例検証部125は、負例の教師例のうちIDが「1000002」および「1000200」のレコードの組r2は、正例ルールa2に該当するので、矛盾があると判断する。すなわち、レコードの組r2は、正例ルールに違反している。このため、教師例検証部125は、矛盾があると判断されたレコードの組r1、r2を削除し、適正な負例の教師例を生成する。
[実施例に係る教師例生成の具体例を説明する図]
図8(A)で示された名寄せ対象のデータを用いた、教師例生成部124による教師例生成の具体例を、図10を参照しながら説明する。図10は、実施例に係る教師例生成の具体例を説明する図である。ここで、図10では、正例ルールおよび負例ルールを図9と同じルールとし、その説明を省略する。
まず、教師例生成部124は、名寄せ元である顧客表111Aのレコードについてランダムにサンプリングを行い選定した名寄せ元レコードについて、正例ルールを条件に名寄せ先である顧客表111Aを検索する。ここでは、教師例生成部124は、正例ルールa1と正例ルールa2を含むルールを条件に顧客表111Aを検索する。さらに、教師例生成部124は、検索したレコードおよび名寄せ元のレコードの組について、負例ルールに該当しないことを検証する。ここでは、教師例生成部124は、当該レコードの組について、負例ルールb1および負例ルールb2を含むルールを条件に該当しないことを検証する。検証の結果、教師例生成部124は、適正な正例の教師例を生成する。この結果、IDが「1000000」および「1000100」のレコードの組r1は、住所の後方だけが異なるものの氏名および生年月日が一致しているので、正例の教師例として生成される。また、IDが「1000002」および「1000200」のレコードの組r2は、名寄せ対象項目が完全一致であるので、正例の教師例として生成される。残りは自分自身(同一レコード)を名寄せ対象項目が完全一致する正例の教師例として導出している。
次に、教師例生成部124は、名寄せ元である顧客表111Aのレコードについてランダムにサンプリングを行い選定した名寄せ元レコードについて、負例ルールを条件に名寄せ先である顧客表111Aを検索する。ここでは、教師例生成部124は、負例ルールb1および負例ルールb2を含むルールを条件に顧客表111Aを検索する。さらに、教師例生成部124は、検索したレコードおよび名寄せ元のレコードの組について、正例ルールに該当しないことを検証する。ここでは、教師例生成部124は、当該レコードの組について、正例ルールa1および正例ルールa2を含むルールを条件に該当しないことを検証する。検証の結果、教師例生成部124は、適正な負例の教師例を生成する。この結果、IDが「1000000」および「1000001」のレコードの組r3は、氏名、生年月日および住所が異なり、正例ルールに該当しないので、負例の教師例として生成される。「1000001」および「1000002」のレコードの組r4は、氏名、生年月日および住所が異なり、正例ルールに該当しないので、負例の教師例として生成される。「1000001」および「1000100」のレコードの組r5は、氏名、生年月日および住所が異なり、正例ルールに該当しないので、負例の教師例として生成される。IDが「1000002」および「1000210」のレコードの組r7は、氏名、生年月日および住所が異なり、正例ルールに該当しないので、負例の教師例として生成される。IDが「1000002」および「1000100」のレコードの組r6は、氏名が一致しているが生年月日が異なり、正例ルールに該当しないので、負例の教師例として生成される。
なお、ここでは説明を簡素化するために教師例の目標導出数には触れず、図8(A)に示す対象データの同図に例示したレコードについて処理対象の名寄せ元レコードを先頭から順次サンプリングする例として説明しているが、実際の処理では処理対象の名寄せ元レコードの選定に際して200万レコードに対するランダムサンプリングを行い、目標導出数に達した時点で教師例生成処理を終了する。
次に、教師例ルール間に矛盾が有る場合の動作について図8および図10により説明する。仮に図10に示す正例ルールa1と同じルールが負例ルールにも存在すると仮定すると、負例ルールにはa1、b1、b2の3つのルールが存在することになる。このとき、図10の正例の教師例を生成する処理は、最初の正例ルールで顧客表111Aを検索する処理を行い、その検索結果について負例ルールに該当しないことを検証して該当する教師例を削除するため、正例ルールa1で検索された教師例の全てが負例ルールa1に該当して削除されるので、結果として正例ルールa1に該当する正例ルールは1件も検出されないことは明らかである。このように特定の教師例ルールに該当する教師例が1件も生成されない等期待と異なる結果になるので、生成された教師例を分析することによって、教師例ルール間の矛盾を検出することが可能である。さらに矛盾の有る教師例ルールについては、該当するルールに関する教師例が生成されない方向に働くので、矛盾の有る教師例ルールの影響を最小化することもできる。
[実施例の効果]
上記実施例によれば、情報照合装置1が、名寄せの判定基準を教師あり学習で学習するために使用される教師例の条件を規定する教師例ルールを設定する。すなわち、情報照合装置1は、同一と判定すべきレコードの組である正例の教師例および異なると判定すべきレコードの組である負例の教師例の条件を規定する教師例ルールを設定する。そして、情報照合装置1が、名寄せ元のレコードについて、正例の教師例の条件を規定する教師例ルールである正例ルールを用いて名寄せ先のレコードを検索することで正例の教師例を生成する。また、情報照合装置1が、名寄せ元のレコードについて、負例の教師例の条件を規定する教師例ルールである負例ルールを用いて名寄せ先のレコードを検索することで負例の教師例を生成する。
かかる構成によれば、情報照合装置1は、教師例ルールを用いて正例および負例の教師例を自動的に生成するので、人手によらないで正例および負例の教師例を効率的に生成できる。この結果、情報照合装置1は、名寄せを簡単に開始できる。また、情報照合装置1は、教師例ルールを用いて正例および負例の教師例を生成するので、業務に特化したルールを教師例ルールとして適用できることとなり、教師例を実用的に生成できる。
また、上記実施例によれば、教師例ルール設定部123は、レコード間の名寄せ対象項目に対応した値が全て一致する旨の条件を正例の教師例の条件とする。また、教師例ルール設定部123は、レコード間の名寄せ対象項目に対応した値が全て不一致となる旨の条件を負例の教師例の条件とする。そして、教師例ルール設定部123は、いずれかの条件を含む教師例ルールを教師例生成部124、教師例検証部125および名寄せ結果判定部127に設定する。かかる構成によれば、教師例ルール設定部123は、正例の教師例の条件または負例の教師例の条件をデフォルトで備え、教師例の条件を規定しなくても正例ルールまたは負例ルールを備えることとなるので、備えられたルールに対する教師例を迅速且つ確実に生成できる。
また、上記実施例によれば、教師例生成部124は、正例ルールを用いて生成された正例の教師例について、負例ルールに合致しないことを判定する。また、教師例生成部124は、負例ルールを用いて生成された負例の教師例について、正例ルールに合致しないことを判定する。そして、教師例生成部124は、正例の教師例について、負例ルールに合致したと判定された教師例を削除し、負例の教師例について、正例ルールに合致したと判定された教師例を削除する。かかる構成によれば、教師例生成部124は、正例ルールを用いて生成された正例の教師例を、正例ルールとは異なる負例ルールで検証するので、生成された正例の教師例の矛盾を解消できるとともに、教師例ルール間の矛盾も解消できる。また、教師例生成部124は、負例ルールを用いて生成された負例の教師例を、負例ルールとは異なる正例ルールで検証するので、生成された負例の教師例の矛盾を解消できるとともに、教師例ルール間の矛盾も解消できる。
また、上記実施例によれば、教師例検証部125は、検証対象となる正例または負例の教師例を取得し、取得した教師例について、当該教師例が有する正例または負例の区別と逆の区別のルールに合致しないことを判定する。かかる構成によれば、教師例検証部125は、取得した正例の教師例を、正例ルールとは異なる負例ルールで判定するので、取得した正例の教師例の矛盾を検証できるとともに、正例ルールおよび負例ルール間の矛盾を検証できる。また、教師例検証部125は、取得した負例の教師例を、負例ルールとは異なる正例ルールで判定するので、取得した負例の教師例の矛盾を検証できるとともに、負例ルールおよび正例ルール間の矛盾を検証できる。
また、上記実施例によれば、教師例検証部125は、当該教師例が有する正例または負例の区別と逆の区別のルールに合致しないことを判定した後でさらに、教師例が有する正例または負例と同じ区別のルールに合致することを判定する。かかる構成によれば、教師例検証部125は、教師例の正負の矛盾を正確に検証することができる。
また、上記実施例によれば、名寄せ結果判定部127は、名寄せの判定結果として判定不能とされたレコードの組について、教師例ルール設定部123によって設定された教師例ルールに基づいて、一致(White)、異なる(Black)または判定不能(Gray)の区別を判定する。かかる構成によれば、名寄せ結果判定部127は、名寄せ部126の判定結果として判定不能とされたレコードの組について、教師例ルールに基づいて一致(White)、異なる(Black)または判定不能(Gray)の区別を判定することで、人手による判定コストを削減できる。さらに、名寄せ結果判定部127が、名寄せ部126の判定結果として判定不能とされたレコードの組についての、教師例ルールに基づく判定結果を教師例に反映させると、反映後の名寄せの判定結果の精度を向上させることができる。
なお、教師例の保守手順の一例として、教師例ルール設定部123、教師例生成部124および教師例検証部125を連続して実行する場合について説明した。しかしながら、教師例の保守手順の一例として、教師例ルール設定部123、教師例生成部124または教師例検証部125を個別に実行させるようにしても良い。また、判定不能の名寄せ結果を教師例に反映して教師例を保守する手順の一例として、教師例ルール設定部123、名寄せ結果判定部127および教師例検証部125を連続して実行する場合について説明した。しかしながら、判定不能の名寄せ結果を教師例に反映して教師例を保守する手順の一例として、教師例ルール設定部123、名寄せ結果判定部127または教師例検証部125を個別に実行させるようにしても良い。
また、名寄せ結果判定部127は、名寄せ結果が判定不能であるレコードの組を名寄せ部126から1組ずつ取得し、取得したレコードの組を教師例ルールに基づいて、一致(White)、異なる(Black)または判定不能(Gray)の区別を判定するものと説明した。しかしながら、名寄せ結果判定部127は、名寄せ結果が判定不能であるレコードの組を名寄せ部126から複数組ずつ取得し、取得した複数個のレコードの組を一度に教師例ルールに基づいて、一致(White)、異なる(Black)または判定不能(Gray)の区別を判定するものとしても良い。これにより、名寄せ結果判定部127は、名寄せ結果が判定不能であるレコードの組を一度に判定するので、かかるレコードの組が多数ある場合には、一致(White)、異なる(Black)または判定不能(Gray)の区別を迅速に判定できる。
[プログラム等]
なお、情報照合装置1は、既知のパーソナルコンピュータ、ワークステーション等の情報照合装置に、上記した記憶部11、制御部12等の各機能を搭載することによって実現することができる。
また、情報照合装置1は、教師例ルール設定部123、教師例生成部124、教師例検証部125および名寄せ結果判定部127を含むものとして説明したが、これに限定されるものではない。情報照合装置1の外部装置である情報照合装置が、教師例ルール設定部123、教師例生成部124、教師例検証部125および名寄せ結果判定部127を含むものとし、情報照合装置1とネットワーク経由で接続するようにしても良い。
また、図示した情報照合装置1の各構成要素は、必ずしも物理的に図示の如く構成されることを要しない。すなわち、情報照合装置1の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、教師例ルール設定部123および教師例生成部124、教師例ルール設定部123および教師例検証部125、教師例ルール設定部123および名寄せ結果判定部127をそれぞれ1個の部として統合しても良い。一方、教師例生成部124を、正例の教師例を生成する正例教師例生成部と負例の教師例を生成する負例教師例生成部とに分散しても良い。また、名寄せ先DB112や名寄せ元DB111等の各種DBを情報照合装置1の外部装置としてネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図11を用いて、図1に示した情報照合装置1の制御部12と同様の機能を有する情報照合プログラムを実行するコンピュータの一例を説明する。
図11は、情報照合プログラムを実行するコンピュータを示す図である。図11に示すように、コンピュータ1000は、RAM1010と、ネットワークインタフェース装置1020と、HDD1030と、CPU1040、媒体読取装置1050およびバス1060とを有する。RAM1010、ネットワークインタフェース装置1020、HDD1030、CPU1040、媒体読取装置1050は、バス1060によって接続される。
そして、HDD1030には、図1に示した制御部12と同様の機能を有する情報照合プログラム1031が記憶される。また、HDD1030には、図1に示した名寄せ先DB112、名寄せ元DB111、名寄せ定義113および教師例114に対応する情報照合関連情報1032が記憶される。
そして、CPU1040が情報照合プログラム1031をHDD1030から読み出してRAM1010に展開することにより、情報照合プログラム1031は、情報照合プロセス1011として機能するようになる。そして、情報照合プロセス1011は、情報照合関連情報1032から読み出した情報等を適宜RAM1010上の自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。
媒体読取装置1050は、情報照合プログラム1031や情報照合関連情報1032がHDD1030に格納されていない場合であっても情報照合プログラム1031や情報照合関連情報1032を記憶する媒体等から情報照合プログラム1031や情報照合関連情報1032を読み取る。媒体読取装置1050には、例えばCD−ROMや光ディスク装置がある。また、ネットワークインタフェース装置1020は、外部装置とネットワーク経由で接続する装置であり、有線、無線に対応するものである。
なお、上記の情報照合プログラム1031や情報照合関連情報1032は、必ずしもHDD1030に格納される必要はなく、CD−ROM等の媒体読取装置1050に記憶されたこのプログラムや情報を、コンピュータ1000が読み出して実行するようにしても良い。また、公衆回線、インターネット、LAN、WAN(Wide Area Network)等を介してコンピュータ1000に接続される他のコンピュータ(またはサーバ)等にこのプログラムや情報を記憶させておいても良い。この場合には、コンピュータ1000がネットワークインタフェース装置1020を介してこれらからプログラムや情報を読み出して実行する。
以上の実施例に係る実施形態に関し、さらに以下の付記を開示する。
(付記1)項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置であって、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定する教師例ルール設定部と、
照合元のレコードについて、前記教師例ルール設定部によって設定された、正例の教師データの条件を規定するルールである正例のルールを用いて照合先のレコードを検索することで正例の教師データを生成し、前記教師例ルール設定部によって設定された、負例の教師データの条件を規定するルールである負例のルールを用いて照合先のレコードを検索することで負例の教師データを生成する教師例生成部と
を有することを特徴とする情報照合装置。
(付記2)前記教師例ルール設定部は、
レコード間の照合対象の項目に対応した値が全て一致する旨の条件を正例の教師データの条件とし、レコード間の照合対象の項目に対応した値が全て不一致となる旨の条件を負例の教師データの条件とし、いずれかの条件を含むルールを設定することを特徴とする付記1に記載の情報照合装置。
(付記3)前記教師例生成部は、
生成された正例の教師データについて、前記負例のルールに合致しないことを判定し、生成された負例の教師データについて、前記正例のルールに合致しないことを判定し、前記判定でルールに合致した場合に、ルールに合致した教師データを削除することを特徴とする付記1または付記2に記載の情報照合装置。
(付記4)項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置であって、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定する教師例ルール設定部と、
正例または負例の教師データを取得し、取得した教師データについて、前記教師例ルール設定部によって設定されたルールであって、当該教師データが有する正例または負例の区別と逆の区別のルールに合致しないことを判定する教師例検証部と
を有することを特徴とする情報照合装置。
(付記5)前記教師例検証部は、
さらに、当該教師データが有する正例または負例の区別のルールに合致することを判定することを特徴とする付記4に記載の情報照合装置。
(付記6)項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置であって、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定する教師例ルール設定部と、
前記判定結果として判定不能と判定されたレコードの組について、前記教師例ルール設定部によって設定されたルールに基づいて、同一である、異なる、判定不能の区別を判定する名寄せ結果判定部と
を有することを特徴とする情報照合装置。
(付記7)項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置に実行させる情報照合方法であって、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定し、
照合元のレコードについて、該設定した、正例の教師データの条件を規定するルールである正例のルールを用いて照合先のレコードを検索することで正例の教師データを生成し、該設定した、負例の教師データの条件を規定するルールである負例のルールを用いて照合先のレコードを検索することで負例の教師データを生成する
ことを特徴とする情報照合方法。
(付記8)項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置に実行させる情報照合方法であって、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定し、
正例または負例の教師データを取得し、取得した教師データについて、該設定したルールであって、当該教師データが有する正例または負例の区別と逆の区別のルールに合致しないことを判定する
ことを特徴とする情報照合方法。
(付記9)項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置に実行させる情報照合方法であって、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定し、
前記判定結果として判定不能と判定されたレコードの組について、該設定したルールに基づいて、同一である、異なる、判定不能の区別を判定する
ことを特徴とする情報照合方法。
(付記10)項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置に、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定し、
照合元のレコードについて、該設定した、正例の教師データの条件を規定するルールである正例のルールを用いて照合先のレコードを検索することで正例の教師データを生成し、該設定した、負例の教師データの条件を規定するルールである負例のルールを用いて照合先のレコードを検索することで負例の教師データを生成する
処理を実行させる情報照合プログラム。
(付記11)項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置に、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定し、
正例または負例の教師データを取得し、取得した教師データについて、該設定したルールであって、当該教師データが有する正例または負例の区別と逆の区別のルールに合致しないことを判定する
処理を実行させる情報照合プログラム。
(付記12)項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置に、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定し、
前記判定結果として判定不能と判定されたレコードの組について、該設定したルールに基づいて、同一である、異なる、判定不能の区別を判定する
処理を実行させる情報照合プログラム。
1 情報照合装置
11 記憶部
12 制御部
111 名寄せ元DB
112 名寄せ先DB
113 名寄せ定義
114 教師例
121 教師例設定部
122 学習部
123 教師例ルール設定部
124 教師例生成部
125 教師例検証部
126 名寄せ部
127 名寄せ結果判定部

Claims (9)

  1. 複数の項目それぞれに対応するをそれぞれに含む複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性関連性の少なくともいずれかを判定する情報照合装置であって、
    前記判定で用いられる判定基準習に使用される教師データであって、同一レコードと判定すべきレコードの組である正例の教師データの条件として前記複数の項目のうちレコード間で値が一致すべき項目を規定する正例ルールと、異なるレコードと判定すべきレコードの組である負例の教師データの条件として前記複数の項目のうちレコード間で値が一致すべき項目とレコード間で値が不一致となるべき項目とを規定する負例ルールと、記憶する記憶部と、
    照合元のレコードについて、前記正例ルールを用いて照合先のレコードを検索して、前記正例ルールを用いた検索の結果抽出された照合先のレコードと前記照合元のレコードとを組とする正例の教師データを生成し、前記負例ルールを用いて前記照合先のレコードを検索して、前記負例ルールを用いた検索の結果抽出された照合先のレコードと前記照合元のレコードとを組とする負例の教師データを生成する教師例生成部と
    を有することを特徴とする情報照合装置。
  2. 前記負例ルールで規定される前記レコード間で値が一致すべき項目は、前記正例ルールで規定される前記レコード間で値が一致すべき項目に含まれることを特徴とする請求項1に記載の情報照合装置。
  3. 前記記憶部は、
    レコード間の照合対象の項目に対応した値が全て一致する旨の条件を正例の教師データの条件として、レコード間の照合対象の項目に対応した値が全て不一致となる旨の条件を負例の教師データの条件として、前記値が全て一致または不一致となる旨のいずれかの条件を含むルールをさらに記憶することを特徴とする請求項1または請求項2に記載の情報照合装置。
  4. 前記教師例生成部は、
    生成された正例の教師データについて、前記負例ルールに合致しないことを判定し、生成された負例の教師データについて、前記正例ルールに合致しないことを判定し、前記正例の教師データが前記負例ルールに合致した場合または前記負例の教師データが前記正例ルールに合致した場合に、前記合致した教師データを削除することを特徴とする請求項1〜請求項3のいずれか一つに記載の情報照合装置。
  5. 複数の項目それぞれに対応するをそれぞれに含む複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性関連性の少なくともいずれかを判定する情報照合装置であって、
    前記判定で用いられる判定基準習に使用される教師データであって、同一レコードと判定すべきレコードの組である正例の教師データの条件として前記複数の項目のうちレコード間で値が一致すべき項目を規定する正例ルールと、異なるレコードと判定すべきレコードの組である負例の教師データの条件として前記複数の項目のうちレコード間で値が一致すべき項目とレコード間で値が不一致となるべき項目とを規定する負例ルールと、記憶する記憶部と、
    正例または負例の教師データを取得し、取得した教師データについて、前記記憶部記憶されたルールであって、当該教師データが有する正例または負例の区別と逆の区別のルールに合致しないことを判定する教師例検証部と
    を有することを特徴とする情報照合装置。
  6. 前記教師例検証部は、
    さらに、当該教師データが有する正例または負例の区別のルールに合致することを判定することを特徴とする請求項に記載の情報照合装置。
  7. 複数の項目それぞれに対応するをそれぞれに含む複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性関連性の少なくともいずれかを判定する情報照合装置であって、
    前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定する教師例ルール設定部と、
    前記判定結果として判定不能と判定されたレコードの組について、前記教師例ルール設定部によって設定されたルールに基づいて、同一である、異なる、判定不能の区別を判定する名寄せ結果判定部と
    を有することを特徴とする情報照合装置。
  8. 複数の項目それぞれに対応するをそれぞれに含む複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性関連性の少なくともいずれかを判定する情報照合装置によって実行する情報照合方法であって、
    前記判定で用いられる判定基準習に使用される教師データであって、同一レコードと判定すべきレコードの組である正例の教師データの条件として前記複数の項目のうちレコード間で値が一致すべき項目を規定する正例ルールと、異なるレコードと判定すべきレコードの組である負例の教師データの条件として前記複数の項目のうちレコード間で値が一致すべき項目とレコード間で値が不一致となるべき項目とを規定する負例ルールと、記憶し、
    照合元のレコードについて、前記正例ルールを用いて照合先のレコードを検索して、前記正例ルールを用いた検索の結果抽出された照合先のレコードと前記照合元のレコードとを組とする正例の教師データを生成し、前記負例ルールを用いて前記照合先のレコードを検索して、前記負例ルールを用いた検索の結果抽出された照合先のレコードと前記照合元のレコードとを組とする負例の教師データを生成する
    ことを特徴とする情報照合方法。
  9. 複数の項目それぞれに対応するをそれぞれに含む複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性関連性の少なくともいずれかを判定する情報照合装置に、
    前記判定で用いられる判定基準習に使用される教師データであって、同一レコードと判定すべきレコードの組である正例の教師データの条件として前記複数の項目のうちレコード間で値が一致すべき項目を規定する正例ルールと、異なるレコードと判定すべきレコードの組である負例の教師データの条件として前記複数の項目のうちレコード間で値が一致すべき項目とレコード間で値が不一致となるべき項目とを規定する負例ルールと、記憶し、
    照合元のレコードについて、前記正例ルールを用いて照合先のレコードを検索して、前記正例ルールを用いた検索の結果抽出された照合先のレコードと前記照合元のレコードとを組とする正例の教師データを生成し、前記負例ルールを用いて前記照合先のレコードを検索して、前記負例ルールを用いた検索の結果抽出された照合先のレコードと前記照合元のレコードとを組とする負例の教師データを生成する
    処理を実行させる情報照合プログラム。
JP2011017220A 2011-01-28 2011-01-28 情報照合装置、情報照合方法および情報照合プログラム Active JP5640773B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011017220A JP5640773B2 (ja) 2011-01-28 2011-01-28 情報照合装置、情報照合方法および情報照合プログラム
US13/307,050 US20120197826A1 (en) 2011-01-28 2011-11-30 Information matching apparatus, method of matching information, and computer readable storage medium having stored information matching program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011017220A JP5640773B2 (ja) 2011-01-28 2011-01-28 情報照合装置、情報照合方法および情報照合プログラム

Publications (2)

Publication Number Publication Date
JP2012159884A JP2012159884A (ja) 2012-08-23
JP5640773B2 true JP5640773B2 (ja) 2014-12-17

Family

ID=46578197

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011017220A Active JP5640773B2 (ja) 2011-01-28 2011-01-28 情報照合装置、情報照合方法および情報照合プログラム

Country Status (2)

Country Link
US (1) US20120197826A1 (ja)
JP (1) JP5640773B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5640774B2 (ja) 2011-01-28 2014-12-17 富士通株式会社 情報照合装置、情報照合方法および情報照合プログラム
CN105095240B (zh) * 2014-05-04 2018-11-27 中国银联股份有限公司 数据库的数据样本采集
JP6775935B2 (ja) 2015-11-04 2020-10-28 株式会社東芝 文書処理装置、方法、およびプログラム
JP6602243B2 (ja) 2016-03-16 2019-11-06 株式会社東芝 学習装置、方法、及びプログラム
US10681391B2 (en) * 2016-07-13 2020-06-09 Oath Inc. Computerized system and method for automatic highlight detection from live streaming media and rendering within a specialized media player
CN106557747B (zh) * 2016-11-15 2018-06-22 平安科技(深圳)有限公司 识别保险单号码的方法及装置
JP6622172B2 (ja) * 2016-11-17 2019-12-18 株式会社東芝 情報抽出支援装置、情報抽出支援方法およびプログラム
CN108664497B (zh) * 2017-03-30 2020-11-03 大有秦鼎(北京)科技有限公司 数据匹配的方法和装置
JP7060369B2 (ja) * 2017-12-08 2022-04-26 Nttテクノクロス株式会社 名寄せ支援装置、名寄せ支援方法及びプログラム
JP7103868B2 (ja) * 2018-06-27 2022-07-20 Nttテクノクロス株式会社 管理装置、管理方法及びプログラム
CN109670190B (zh) * 2018-12-25 2023-05-16 北京百度网讯科技有限公司 翻译模型构建方法和装置
US11373298B2 (en) * 2019-03-28 2022-06-28 Canon Medical Systems Corporation Apparatus and method for training neural networks using small, heterogeneous cohorts of training data
JP7207143B2 (ja) * 2019-05-09 2023-01-18 富士通株式会社 ルール提示方法、ルール提示プログラムおよびルール提示装置
JP7123326B1 (ja) * 2021-10-22 2022-08-23 稔功 金子 情報処理方法、情報処理プログラム、情報処理装置及び学習モデルの生成方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2940933B2 (ja) * 1989-05-20 1999-08-25 株式会社リコー パターン認識方式
JPH08221275A (ja) * 1995-02-10 1996-08-30 Meidensha Corp 帰納学習における述語論理ルール生成方法
JP4065936B2 (ja) * 2001-10-09 2008-03-26 独立行政法人情報通信研究機構 機械学習法を用いた言語解析処理システムおよび機械学習法を用いた言語省略解析処理システム
JP5137567B2 (ja) * 2007-12-28 2013-02-06 三菱電機株式会社 検索フィルタリング装置及び検索フィルタリングプログラム
US8458520B2 (en) * 2008-12-01 2013-06-04 Electronics And Telecommunications Research Institute Apparatus and method for verifying training data using machine learning
JP5424001B2 (ja) * 2009-04-15 2014-02-26 日本電気株式会社 学習データ生成装置、固有表現抽出システム、学習データ生成方法、及びプログラム

Also Published As

Publication number Publication date
JP2012159884A (ja) 2012-08-23
US20120197826A1 (en) 2012-08-02

Similar Documents

Publication Publication Date Title
JP5640773B2 (ja) 情報照合装置、情報照合方法および情報照合プログラム
JP5640774B2 (ja) 情報照合装置、情報照合方法および情報照合プログラム
Uludag et al. Biometric template selection and update: a case study in fingerprints
Ortega-Garcia et al. The multiscenario multienvironment biosecure multimodal database (BMDB)
EP2073147B1 (en) Generic biometric filter
Poh et al. A user-specific and selective multimodal biometric fusion strategy by ranking subjects
EP2633445A1 (en) Cost-sensitive alternating decision trees for record linkage
US7813531B2 (en) Methods and apparatus for clustering templates in non-metric similarity spaces
US20070036398A1 (en) Apparatus and method for partial component facial recognition
WO2003030085A1 (en) System and method of face recognition using portions of learned model
US20070288452A1 (en) System and Method for Rapidly Searching a Database
Erbilek et al. Framework for managing ageing effects in signature biometrics
KR20070032117A (ko) 다중 생체 인식 시스템 및 그 방법
JP5764942B2 (ja) 情報照合装置、情報照合システム、情報照合方法および情報照合プログラム
EP2084677A1 (en) Biometric matching method and apparatus
US9436780B2 (en) Constructing incremental tree model for vein image recognition and authentication
WO2008062822A1 (fr) Dispositif d'exploration de texte, procédé d'exploration de texte et programme d'exploration de texte
Hassan et al. Comparison of distance metrics for hierarchical data in medical databases
Moulinier A framework for comparing text categorization approaches
JP6792751B2 (ja) 分類システム
JPH10240901A (ja) 文書ファイリング装置及び文書ファイリング方法
Stein et al. Density-based cluster algorithms in low-dimensional and high-dimensional applications
US20220156271A1 (en) Systems and methods for determining the probability of an invention being granted a patent
Ramadan Indexing techniques for real-time entity resolution
Dandekar et al. A survey: Verification of family relationship from parents and child facial images

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140609

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141013

R150 Certificate of patent or registration of utility model

Ref document number: 5640773

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150