(57)【特許請求の範囲】
【請求項１】
複数の項目それぞれに対応する値をそれぞれに含む複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性、関連性の少なくともいずれかを判定する情報照合装置であって、
前記判定で用いられる判定基準の学習に使用される教師データであって、同一レコードと判定すべきレコードの組である正例の教師データの条件として前記複数の項目のうちレコード間で値が一致すべき項目を規定する正例ルールと、異なるレコードと判定すべきレコードの組である負例の教師データの条件として前記複数の項目のうちレコード間で値が一致すべき項目とレコード間で値が不一致となるべき項目とを規定する負例ルールと、を記憶する記憶部と、
照合元のレコードについて、前記正例ルールを用いて照合先のレコードを検索して、前記正例ルールを用いた検索の結果抽出された照合先のレコードと前記照合元のレコードとを組とする正例の教師データを生成し、前記負例ルールを用いて前記照合先のレコードを検索して、前記負例ルールを用いた検索の結果抽出された照合先のレコードと前記照合元のレコードとを組とする負例の教師データを生成する教師例生成部と
を有することを特徴とする情報照合装置。 
【請求項２】
前記負例ルールで規定される前記レコード間で値が一致すべき項目は、前記正例ルールで規定される前記レコード間で値が一致すべき項目に含まれることを特徴とする請求項１に記載の情報照合装置。
【請求項３】
前記記憶部は、
レコード間の照合対象の項目に対応した値が全て一致する旨の条件を正例の教師データの条件として、レコード間の照合対象の項目に対応した値が全て不一致となる旨の条件を負例の教師データの条件として、前記値が全て一致または不一致となる旨のいずれかの条件を含むルールをさらに記憶することを特徴とする請求項１または請求項２に記載の情報照合装置。 
【請求項４】
前記教師例生成部は、
生成された正例の教師データについて、前記負例ルールに合致しないことを判定し、生成された負例の教師データについて、前記正例ルールに合致しないことを判定し、前記正例の教師データが前記負例ルールに合致した場合または前記負例の教師データが前記正例ルールに合致した場合に、前記合致した教師データを削除することを特徴とする請求項１〜請求項３のいずれか一つに記載の情報照合装置。 
【請求項５】
複数の項目それぞれに対応する値をそれぞれに含む複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性、関連性の少なくともいずれかを判定する情報照合装置であって、
前記判定で用いられる判定基準の学習に使用される教師データであって、同一レコードと判定すべきレコードの組である正例の教師データの条件として前記複数の項目のうちレコード間で値が一致すべき項目を規定する正例ルールと、異なるレコードと判定すべきレコードの組である負例の教師データの条件として前記複数の項目のうちレコード間で値が一致すべき項目とレコード間で値が不一致となるべき項目とを規定する負例ルールと、を記憶する記憶部と、
正例または負例の教師データを取得し、取得した教師データについて、前記記憶部に記憶されたルールであって、当該教師データが有する正例または負例の区別と逆の区別のルールに合致しないことを判定する教師例検証部と
を有することを特徴とする情報照合装置。 
【請求項６】
前記教師例検証部は、
さらに、当該教師データが有する正例または負例の区別のルールに合致することを判定することを特徴とする請求項５に記載の情報照合装置。 
【請求項７】
複数の項目それぞれに対応する値をそれぞれに含む複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性、関連性の少なくともいずれかを判定する情報照合装置であって、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定する教師例ルール設定部と、
前記判定結果として判定不能と判定されたレコードの組について、前記教師例ルール設定部によって設定されたルールに基づいて、同一である、異なる、判定不能の区別を判定する名寄せ結果判定部と
を有することを特徴とする情報照合装置。 
【請求項８】
複数の項目それぞれに対応する値をそれぞれに含む複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性、関連性の少なくともいずれかを判定する情報照合装置によって実行する情報照合方法であって、
前記判定で用いられる判定基準の学習に使用される教師データであって、同一レコードと判定すべきレコードの組である正例の教師データの条件として前記複数の項目のうちレコード間で値が一致すべき項目を規定する正例ルールと、異なるレコードと判定すべきレコードの組である負例の教師データの条件として前記複数の項目のうちレコード間で値が一致すべき項目とレコード間で値が不一致となるべき項目とを規定する負例ルールと、を記憶し、
照合元のレコードについて、前記正例ルールを用いて照合先のレコードを検索して、前記正例ルールを用いた検索の結果抽出された照合先のレコードと前記照合元のレコードとを組とする正例の教師データを生成し、前記負例ルールを用いて前記照合先のレコードを検索して、前記負例ルールを用いた検索の結果抽出された照合先のレコードと前記照合元のレコードとを組とする負例の教師データを生成する
ことを特徴とする情報照合方法。 
【請求項９】
複数の項目それぞれに対応する値をそれぞれに含む複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性、関連性の少なくともいずれかを判定する情報照合装置に、
前記判定で用いられる判定基準の学習に使用される教師データであって、同一レコードと判定すべきレコードの組である正例の教師データの条件として前記複数の項目のうちレコード間で値が一致すべき項目を規定する正例ルールと、異なるレコードと判定すべきレコードの組である負例の教師データの条件として前記複数の項目のうちレコード間で値が一致すべき項目とレコード間で値が不一致となるべき項目とを規定する負例ルールと、を記憶し、
照合元のレコードについて、前記正例ルールを用いて照合先のレコードを検索して、前記正例ルールを用いた検索の結果抽出された照合先のレコードと前記照合元のレコードとを組とする正例の教師データを生成し、前記負例ルールを用いて前記照合先のレコードを検索して、前記負例ルールを用いた検索の結果抽出された照合先のレコードと前記照合元のレコードとを組とする負例の教師データを生成する
処理を実行させる情報照合プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報照合装置、情報照合方法および情報照合プログラムに関する。
【背景技術】
【０００２】
近年、様々な分野において、教師あり学習が利用される。教師あり学習とは、ラベルが付いたデータを教師データとして機械学習器に学習させたうえで、テストデータのラベルを予測する学習方式をいう。教師あり学習の機械学習器として、サポートベクターマシン（ＳＶＭ）が知られている。
【０００３】
例えば、テキストの要約に関して教師あり学習を利用した技術がある。かかる技術では、既存のテキストと要約と評価（解）とを事例（教師データ）として学習することによって、テキストの特徴である素性と要約結果との関連性を求め、求めた関連性を未知のテキストに適用することで当該テキストの要約を導出する（例えば、特許文献１参照）。
【０００４】
また、動画等のコンテンツ識別に関して教師あり学習を利用した技術がある。かかる技術では、予め識別対象の正例のコンテンツの特徴量（素性）と識別対象外の負例のコンテンツの特徴量（素性）を教師データとして学習を行うことにより学習モデルを構築し、構築した学習モデルに基づいて未知のコンテンツが正例のコンテンツであるか否かを識別する（例えば、特許文献２参照）。
【０００５】
ところで、値の集合から構成されるレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する機能として名寄せ機能がある。名寄せ機能では、例えば、名寄せするレコードの集合（照合元）を名寄せ元、名寄せ相手となるレコードの集合（照合先）を名寄せ先と称する。図１２は、名寄せ機能を説明する図である。図１２に示すように、名寄せ機能を実現する名寄せ処理は、名寄せ元と同じレコード、名寄せ元と類似するレコードまたは名寄せ元と関連するレコードを名寄せ先から検出し、検出結果を名寄せ結果として出力する。この名寄せ機能に関して、教師あり学習を応用した名寄せの技術がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２５３０１１号公報
【特許文献２】特開２００６−９９５６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
まず、従来の名寄せ機能について、図１３〜図１５を参照しながら説明する。図１３は、名寄せ機能の動作を説明する図である。図１３に示すように、名寄せ機能を実現する名寄せ処理は、名寄せ元のレコードＪ１について、名寄せ先のレコードＭ（Ｍ１〜Ｍｎ）との照合を行い、名寄せを実行する。
【０００８】
名寄せ処理は、名寄せ元のレコードＪ１および名寄せ先のレコードＭ１の各名寄せ対象の項目（「名寄せ対象項目」という。）の値について、予め名寄せ対象項目毎に規定される評価関数を適用して照合を行う。ここでは、名寄せ対象項目が氏名、住所および生年月日であるものとし、名寄せ処理は、名寄せ対象項目のうち氏名をｆａ（）、住所をｆｂ（）、生年月日をｆｃ（）とする各評価関数を適用して照合を行う。そして、名寄せ処理は、照合の結果として導出される各名寄せ対象項目の評価値に名寄せ対象項目毎の重み付けを行い、得られた各値を加算することによって、総合評価値を導出する。さらに、名寄せ処理は、名寄せ元のレコードＪ１に対する残り全ての名寄せ先のレコードＭ２〜Ｍｎについて、総合評価値を導出する。名寄せ処理は、これら名寄せ元のレコードＪ１および名寄せ先のレコードＭ１〜Ｍｎの組についての総合評価値を含む名寄せ候補集合を作成する。
【０００９】
そして、名寄せ処理は、予め規定された閾値に基づいて、名寄せ候補集合に属するレコードの組について名寄せに関する判定を行う。例えば、名寄せ処理は、予め規定された上位の閾値以上である場合に、完全に一致していると判定し、該判定したレコードの組を「Ｗｈｉｔｅ」として自動判定を行い、名寄せ結果に出力する。また、名寄せ処理は、予め規定された下位の閾値以下である場合に、完全に一致していないと判定し、該判定したレコードの組を「Ｂｌａｃｋ」として自動判定を行い、名寄せ結果に出力する。名寄せ処理は、予め規定された下位の閾値より大きく上位の閾値未満である場合に、自動判定できないと判定し、自動判定できない組を「Ｇｒａｙ」として候補リストに出力する。そして、候補リストに出力された組の判定が人により任せられる。なお、人による設定が必要な名寄せ定義として、名寄せ対象項目の選定、評価関数の選定、重みおよび閾値の設定がある。
【００１０】
次に、名寄せ処理の具体例について、図１４および図１５を参照しながら説明する。図１４は、名寄せ定義のデータ構造の一例を示す図であり、図１４（Ａ）が、名寄せ定義の内容を示し、図１４（Ｂ）が、名寄せ定義の具体例を示す。図１５は、名寄せの具体例を説明する図である。
【００１１】
図１４（Ａ）に示すように、名寄せ定義は、名寄せ方法ｄ１、名寄せ元指定ｄ２、名寄せ先指定ｄ３、名寄せ対象項目指定ｄ４および閾値ｄ５を対応付けて定義される。名寄せ方法ｄ１には、名寄せの方法が指定される。例えば、名寄せの方法には、１つのレコード集合を対象として集合内のレコード間の総当りで名寄せを行い、一致しているレコードを検出して重複するレコードを除去する「自己名寄せ」がある。自己名寄せは、名寄せ元と名寄せ先が同じ集合なので、その構造（レコードの項目）も同じであるという特徴を有する。また、名寄せの方法には、名寄せ元および名寄せ先として異なるレコード集合を対象として名寄せ元レコードと名寄せ先レコードの組み合わせによる名寄せを行い、一致しているレコードを検出して該当するレコード間の関連付けを行う「他者名寄せ」がある。他者名寄せは、名寄せ元と名寄せ先が異なる集合なので、一般的にその構造（レコードの項目）が異なるという特徴を有する。名寄せ元指定ｄ２には、名寄せ元のデータベース名等のアクセス情報および名寄せ元のレコードの項目が指定される。名寄せ先指定ｄ３には、名寄せ先のデータベース名等のアクセス情報および名寄せ先のレコードの項目が指定される。名寄せ対象項目指定ｄ４には、名寄せ対象項目が名寄せ元の項目と名寄せ先の項目の組み合わせとして指定され、名寄せ対象項目毎に適用される評価関数および重みが指定される。閾値ｄ５には、Ｗｈｉｔｅ判定用の上位の閾値およびＢｌａｃｋ判定用の下位の閾値が指定される。
【００１２】
図１４（Ｂ）に示すように、例えば、名寄せ方法ｄ１には、「自己名寄せ」が指定される。名寄せ元指定ｄ２のアクセス情報には、「顧客表」が指定され、名寄せ元指定ｄ２のレコード情報には、ＩＤ（identification）、氏名、郵便番号、住所および生年月日の項目が指定される。なお、名寄せ先指定ｄ３は、名寄せ方法が「自己名寄せ」の場合には、名寄せ元の情報と同様であるので定義が不要となる。名寄せ対象項目指定ｄ４には、名寄せ対象項目を氏名：氏名、郵便番号：郵便番号、住所：住所および生年月日：生年月日として指定される。これは、名寄せ元の項目：名寄せ先の項目の組として名寄せ対象項目を指定しており、名寄せ方法が「自己名寄せ」の場合には、同じレコード構成なので一般的に同じ項目名となる。この名寄せ対象項目に対して、適用する評価関数と重みを指定する。例えば名寄せ対象項目が氏名：氏名の場合には、評価関数に「編集距離」、重みに０．３が指定される。名寄せ対象項目が郵便番号：郵便番号の場合には、評価関数に「完全一致」、重みに０．２が指定される。閾値ｄ５には、上位の閾値に０．７２、下位の閾値に０．２６が指定される。以下では、同じ項目名を対とする名寄せ対象項目について、１つの項目名で表現することとする。例えば、「名寄せ対象項目氏名：氏名」を「名寄せ対象項目氏名」と表現する。なお、「編集距離」とは、名寄せ元と名寄せ先との名寄せ対象項目の値の照合において名寄せ先の値を名寄せ元の値に変形させる際の最小編集回数を距離として表す評価関数である。例えば、変形不要の場合には１．０を返し、全ての変形が必要な場合には０を返し、一部の変形で良い場合には変形回数に応じて変形回数が多くなる程小さくなる値であって０から１．０までの値を返す。また、「完全一致」とは、名寄せ元と名寄せ先との名寄せ対象項目の値の照合において２つの値が完全に一致するか否かを表す評価関数である。２つの値が完全に一致する場合には１．０を返し、それ以外は０を返す。なお、評価関数には、これらのみならず、名寄せ元の値について隣り合うＮ文字が名寄せ先の値に含まれる度合いを評価する「Ｎ−ｇｒａｍ」等がある。
【００１３】
図１５では、図１４で定義された名寄せ処理の一部として、名寄せ元の１件のレコードＭ１に対する名寄せ先との名寄せ処理の途中経過と結果を示す。名寄せ先の顧客表Ｍには、例えば２００万件のレコードが格納される。そして、名寄せ処理は、これら各レコードを名寄せ先として名寄せ元のレコードＭ１との間で照合を行う。例えば、名寄せ処理は、照合の途中結果として、名寄せ元のレコードＭ１および名寄せ先のレコードＭ１〜Ｍ６の組毎に、評価関数の適用結果、重み付け結果および総合評価値を対応付けて出力する。そして、名寄せ処理は、照合後に、名寄せ元のレコードＭ１および名寄せ先のレコードＭ１〜Ｍ６の組毎に、名寄せに関する判定をし、判定結果を出力する。
【００１４】
次に、機械学習器に相当する学習器による名寄せ機能について、図１６を参照しながら説明する。図１６は、学習器による名寄せを説明する図である。図１６に示すように、名寄せ機能を実現する名寄せ処理は、教師あり学習を実現する学習器を備える。学習器は、正しい判定結果となるレコード対の例を示す教師データである教師例を取得し、取得した教師例を用いて名寄せ処理で使用される判定基準を学習する。この判定基準が、名寄せ対象項目毎の重みおよび名寄せ対象レコードの判定に適用される閾値となる。
【００１５】
そして、名寄せ処理は、名寄せ元のレコードについて、名寄せ先のレコードとの間で照合し、学習により得られた判定基準を用いて名寄せに関する判定をして判定結果を出力する。このとき、名寄せ処理は、名寄せに関して自動判定できない組を候補リストに出力し、人による判定に任せる。そして、候補リストに出力された組について、人による判定に応じて教師例が適切にフィードバックされることで、名寄せ処理は、教師あり学習により高い精度の判定を実現する。
【００１６】
しかしながら、従来の名寄せに関する教師あり学習では、教師例を効率的且つ実用的に作成することが困難であるという問題があった。すなわち、教師例を人手で作成していたので、教師例の作成にコストがかかってしまい、教師例を効率的に作成することが困難であった。また、名寄せ処理を利用する業務では、業務に特化したルール（業務ルール）を教師例に反映することが難しく、教師例を実用に即して作成することが困難であった。さらに、自動判定できないＧｒａｙ判定部分に対する人の判断コストも大きく、人の判断を教師例にフィードバックする際に教師例に矛盾があっても判らないという課題もあった。
【００１７】
１つの側面では、名寄せに関する教師あり学習において、教師例を効率的且つ実用的に作成することを可能とすることを目的とする。
【課題を解決するための手段】
【００１８】
第１の案では、情報照合装置は、項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置であって、前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、一致と判定すべきレコードの組である正例の教師データおよび不一致と判定すべきレコードの組である負例の教師データの条件を規定するルールを設定する教師例ルール設定部と、照合元のレコードについて、前記教師例ルール設定部によって設定された、正例の教師データの条件を規定するルールである正例のルールを用いて照合先のレコードを検索することで正例の教師データを生成し、前記教師例ルール設定部によって設定された、負例の教師データの条件を規定するルールである負例のルールを用いて照合先のレコードを検索することで負例の教師データを生成する教師例生成部とを備える。
【発明の効果】
【００１９】
名寄せに関する教師あり学習において、教師例を効率的且つ実用的に作成することができ、人によるＧｒａｙ判定を助け、教師例への適切なフィードバックを可能とする。
【図面の簡単な説明】
【００２０】
【図１】図１は、実施例に係る情報照合装置の構成を示す機能ブロック図である。
【図２】図２は、実施例に係る教師例生成処理の手順を示すフローチャートである。
【図３】図３は、実施例に係る教師例検証処理の手順を示すフローチャートである。
【図４】図４は、実施例に係る名寄せ結果判定処理の手順を示すフローチャートである。
【図５Ａ】図５Ａは、実施例に係る教師例の保守手順の一例を示すフローチャートである。
【図５Ｂ】図５Ｂは、実施例に係る判定不能の名寄せ結果を教師例に反映して教師例を保守する手順の一例を示すフローチャートである。
【図６】図６は、教師例生成部によって生成された教師例を用いた名寄せについて説明する図である。
【図７】図７は、教師例検証部による教師例矛盾検出を説明する図である。
【図８】図８は、教師例の矛盾解消の効果を確認するための実験例を説明する図である。
【図９】図９は、実施例に係る教師例検証の具体例を説明する図である。
【図１０】図１０は、実施例に係る教師例生成の具体例を説明する図である。
【図１１】図１１は、情報照合プログラムを実行するコンピュータを示す図である。
【図１２】図１２は、名寄せ機能を説明する図である。
【図１３】図１３は、名寄せ機能の動作を説明する図である。
【図１４】図１４は、名寄せ定義のデータ構造の一例を示す図である。
【図１５】図１５は、名寄せの具体例を説明する図である。
【図１６】図１６は、学習器による名寄せを説明する図である。
【図１７】図１７は、学習による照合を説明する図である。
【図１８】図１８は、ＳＶＭによる学習について説明する図である。
【図１９】図１９は、学習による名寄せの処理手順を示すフローチャートである。
【図２０】図２０は、学習のモデル（ＳＶＭの例）を説明する図である。
【図２１】図２１は、学習の効果を説明する図である。
【発明を実施するための形態】
【００２１】
以下に、本願の開示する情報照合装置、情報照合方法および情報照合プログラムの実施例を図面に基づいて詳細に説明する。以下の実施例では、情報照合装置に教師あり学習を行う学習器としてサポートベクトルマシン（ＳＶＭ）を採用した場合について説明することとし、実施例の説明に先立って、ＳＶＭを用いた名寄せの技術について説明を行う。なお、実施例によりこの発明が限定されるものではない。
【００２２】
［ＳＶＭを用いた名寄せの技術］
図１７は、学習による照合を説明する図である。図１７に示すように、学習部（ＳＶＭ）１００は、名寄せ対象項目毎の評価関数ｆａ〜ｆｃの結果（評価値）を素性として教師例ｓ０による学習を行い、識別面を求めることによって、素性とした各評価値に対する重みａ１〜ａ３と総合評価値に対する判定に用いる閾値ｖ０を導出する。ＳＶＭ１００は、導出した重みａ１〜ａ３および閾値ｖ０を学習結果として出力する。そして、名寄せ処理は、名寄せ元Ｊについて、名寄せ先Ｍとの間の学習結果を使用した名寄せを行う。すなわち、名寄せ処理は、名寄せ対象項目毎に学習結果として出力された重みａ１〜ａ３を使用した照合を行い、照合の結果得られた判定対象となる総合評価値を学習で導出した識別面との距離として計算し、総合評価値に対して閾値による判定を行う。なお、識別面については、後述するものとする。
【００２３】
次に、ＳＶＭ１００による学習について、より詳細に説明する。図１８は、ＳＶＭによる学習について説明する図である。図１８に示すように、一致すると判定すべきレコードの組を正例の教師例、不一致と判定すべきレコードの組を負例の教師例とした教師例集合がＳＶＭ１００に入力される。そして、ＳＶＭ１００は、入力された教師例集合に属する教師例を用いて名寄せ元Ｊおよび名寄せ先Ｍの名寄せ対象項目の値を評価関数ｆａ〜ｆｃにより評価し、評価で得られた結果（評価値）に対する判定の際に当該教師例として予め与えられた判定結果（正例＝Ｗｈｉｔｅ，負例＝Ｂｌａｃｋ）と一致するような判定を実現する判定基準を導出する。導出された判定基準は、名寄せ対象項目毎の重みａ１〜ａ３、識別面ｓ０および閾値ｖ０となる。ＳＶＭ１００が重みａ１〜ａ３や閾値ｖ０を導出し、人による重みや閾値の設定を不要とする。この結果、名寄せ機能では、教師例を基準とした名寄せを行うことが可能となる。なお、人による設定が必要な名寄せ定義として、名寄せ対象項目の選定、評価関数の選定、教師例の選定がある。
【００２４】
次に、学習による名寄せの処理手順について、図１９を参照しながら説明する。図１９は、学習による名寄せの処理手順を示すフローチャートである。
【００２５】
まず、人（例えばユーザ）が名寄せ対象項目と名寄せ対象項目毎の評価関数を設定する（ステップＳ１００）。そして、ユーザが、初期学習用の教師例を作成する（ステップＳ１０１）。すなわち、ユーザは、正例となる教師例および負例となる教師例を作成する。
【００２６】
続いて、ＳＶＭ１００が、作成された教師例を用いて学習し、重みと閾値を導出する（ステップＳ１０２）。そして、ＳＶＭ１００は、導出した重みと閾値を学習結果として名寄せ処理に設定する（ステップＳ１０３）。
【００２７】
続いて、名寄せ処理は、設定された重みと閾値に従って名寄せを行う（ステップＳ１０４）。そして、名寄せ処理は、名寄せ結果を示す総合評価値について、設定された閾値による判定を行う（ステップＳ１０５）。閾値による判定が不一致である場合には（ステップＳ１０５；Ｂｌａｃｋ）、名寄せ処理は、名寄せ結果をＢｌａｃｋとして出力する（ステップＳ１０６）。閾値による判定が一致である場合には（ステップＳ１０５；Ｗｈｉｔｅ）、名寄せ処理は、ステップＳ１０８に移行する。
【００２８】
閾値による判定が判定不能である場合には（ステップＳ１０５；Ｇｒａｙ）、名寄せ処理は、ユーザに判断を任せる（ステップＳ１０７）。ユーザによる判断が不一致である場合には（ステップＳ１０７；Ｂｌａｃｋ）、ユーザは、名寄せ結果をＢｌａｃｋとすべく、ステップＳ１０６に移行する。一方、ユーザによる判断が一致である場合には（ステップＳ１０７；Ｗｈｉｔｅ）、名寄せ処理は、ステップＳ１０８に移行する。ここで、人による判定処理(ステップＳ１０７)において教師例へのフィードバックが必要と判断した場合には、ユーザは、名寄せ結果をフィードバックすべく、ステップＳ１０１に移行する。この際、不一致（Ｂｌａｃｋ）と判断した組は負例の教師例に、一致（Ｗｈｉｔｅ）と判断した組は正例の教師例に登録する。
【００２９】
続いて、ユーザが、一致すると判定された名寄せ結果を検証する（ステップＳ１０８）。そして、ユーザは、一致すると判定された名寄せ結果が妥当であるか否かを判断する（ステップＳ１０９）。名寄せ結果が妥当でないと判定された場合には（ステップＳ１０９；Ｎｏ）、名寄せ対象項目、評価関数または教師例を修正すべく、ステップＳ１００またはステップＳ１０１に移行する。一方、名寄せ結果が妥当であると判定された場合には（ステップＳ１０９；Ｙｅｓ）、名寄せ先等に名寄せ結果が反映される（ステップＳ１１０）。尚、Ｂｌａｃｋと判定した組の出力が不要な場合には、ステップＳ１０６は省略可能である。
【００３０】
次に、ＳＶＭを例とした学習のモデルについて説明する。まず、学習のモデルの説明に必要となる前提について説明する。名寄せ対象となるレコードの組について、名寄せ対象項目毎の評価関数の算出結果を素性ｘとしてベクトル（ｘ１、・・、ｘｄ）とし、「特徴ベクトル」というものとする。例えば、名寄せ対象項目が氏名、郵便番号、住所および生年月日の４項目であり、氏名、郵便番号、住所および生年月日のそれぞれの評価関数をｆａ（）、ｆｂ（）、ｆｃ（）、ｆｄ（）とする。すると、この例では、ｄが「４」となり、特徴ベクトルは（ｆａ（）による評価値、ｆｂ（）による評価値、ｆｃ（）による評価値、ｆｄ（）による評価値）となる。
【００３１】
ここで、特徴ベクトルＸＴを（ｘ１、・・、ｘｄ）とした場合、識別面ｇ（ｘ）は式１のように定義される。
【数１】
0005640773.tif 000002
なお、Ｗは、重みベクトルを示し、（ｗ１、・・、ｗｄ）の各素性に対する重みにより構成されるベクトルで表わされる。また、ｂは、定数項を示す。
【００３２】
また、学習用のサンプルデータ（教師例）として、次の情報が与えられる。
【数２】
0005640773.tif 000003
なお、Ｚｉは、各教師例の特徴ベクトルであり、名寄せの照合の組み合わせ集合Ｒｎの要素である。ｙｉは、名寄せの判定結果であり、例えば正例の場合は＋１、負例の場合は−１を値とする。すなわち、名寄せの判定結果として同じとみなす（Ｗｈｉｔｅ判定）場合には、正例として＋１を定義し、名寄せの判定結果として異なるとみなす（Ｂｌａｃｋ判定）場合には、負例として−１を定義する。
【００３３】
このような前提のもと、学習のモデルにおける学習は、複数の教師例が与えられたとき、ｇ（ｘ）＝０を満たす点の集合を超平面とした識別面を求めることを意味する。すなわち、学習は、ｄ次元空間に分布する教師例について予め指定された正または負の判定結果となるように分離（識別）するための識別面を導出するために、識別面ｇ（ｘ）の重みベクトルＷｉ（１≦ｉ≦ｄ）と定数項ｂを導出する。識別面は、ｄ次元空間におけるｄ−１次元の超平面となる。
【００３４】
図２０は、学習のモデル（ＳＶＭの例）を説明する図である。図２０（Ａ）に示すように、学習を行うＳＶＭは、正例の教師例と負例の教師例が与えられたとき、各教師例の特徴ベクトルをｄ次元空間にプロットする。なお、図２０は２次元の図なので、名寄せ対象項目が２件の場合を示している。そして、ＳＶＭは、各教師例の正負と一致するように教師例を識別するための識別面ｓ１を求めるのである。ここで、識別面により近い有効な教師例を「サポートベクタ」という。ＳＶＭは、識別面とサポートベクタとのユークリッド空間上の最小距離（マージン）を最大化するようなサポートベクタの選定と超平面の導出を行うことによって、より確実に各教師例の正負を分離できる識別面を導出する。
【００３５】
図２０（Ｂ）に示すように、ＳＶＭは、識別面とサポートベクタとのマージンｍを最大化するように、負のサポートベクタＶ１および正のサポートベクタＶ２の選定を行い、識別面ｓ２の導出を行う。具体的には、マージンｍの最大化とは、総合評価値が１（＝ＷＴ・Ｘ＋ｂ）のとき、特徴ベクトルＸを最大化する重みＷを求めるという意味である。ｂが０であると仮定すると、Ｘは、１／Ｗとなる。したがって、特徴ベクトルＸを最大化するためには、重みＷを最小化することとなる。具体的には図２０（Ａ）よりも図２０（Ｂ）の方が、マージンｍが大きいので、ＳＶＭは図２０（Ｂ）のような識別面を導出することになる。
【００３６】
なお、ＳＶＭがマージンを最大化するように識別面を導出する際、教師例が線形分離可能とならない場合もある。すなわち、教師例が自己の正負と一致しないような場合である。このような場合であっても、ＳＶＭは、多少の識別誤りを許容し、識別誤りを最小化しつつ、マージンを最大化するように識別面を導出する方法（「ソフトマージン」という。）を採用する。
【００３７】
上述したように、ＳＶＭによる学習によって、学習結果として識別面および最大化したマージンが得られる。この学習結果を利用して、名寄せ対象のレコードの組の特徴ベクトルについて、名寄せの評価を行うことができる。図２１は、学習の効果を説明する図である。図２１に示すように、学習は、マージンを最大化するように、Ｗ・Ｘ＋ｂ＝０となる識別面ｓ３を導出し、Ｗ・Ｘ＋ｂ＝−１となる負側の限界面およびＷ・Ｘ＋ｂ＝１となる正側の限界面を選定する。特徴ベクトルＸと重みＷおよび定数ｂとから算出される総合評価値は、当該特徴ベクトルと識別面ｓ３との最小距離として−∞〜＋∞の値で表されることとなり、正側の限界面に接する教師データであるサポートベクタ（正）の総合評価値は＋１となり、負側の限界面に接する教師データであるサポートベクタ（負）の総合評価値は−１となる。したがって、名寄せ処理では、学習結果である重みＷおよび定数ｂを使用して教師データとは異なる名寄せ対象のレコードの組の特徴ベクトルの総合評価値を算出すると（図２１の○印や◇印）、算出した総合評価値によってＷｈｉｔｅ、ＢｌａｃｋまたはＧｒａｙを判定することができる。この性質を汎化と呼び、ＳＶＭの大きな特徴である。即ち、総合評価値が＋１より大きい場合にＷｈｉｔｅと判定し、総合評価値が−１より小さい（−∞の方向になる）場合にＢｌａｃｋと判定し、総合評価値の絶対値が１より小さい場合にＧｒａｙと判定することによって、教師例に即した判定を実現できる。
【００３８】
また、上述の総合評価値は特徴ベクトルＸと重みＷおよび定数ｂとから算出され、閾値は上限閾値＝Ｗ・Ｘ＋ｂ＝＋１、下限閾値＝Ｗ・Ｘ＋ｂ＝−１で固定値であるものとしてＳＶＭの原理を説明しているが、定数項ｂを右辺に移動することによって、上限閾値＝Ｗ・Ｘ＝＋１−ｂ、下限閾値＝Ｗ・Ｘ＝−１−ｂとして閾値を可変値にすることもでき、この場合の総合評価値はＷ・Ｘとして算出でき、上限閾値＝＋１−ｂ、下限閾値＝−１−ｂとして算出できる。
【００３９】
以下に示す実施例では、ＳＶＭによる学習を利用した情報照合装置、情報照合方法および情報照合プログラムについて説明する。
【実施例】
【００４０】
［実施例に係る情報照合装置の構成］
図１は、実施例に係る情報照合装置の構成を示す機能ブロック図である。情報照合装置１は、項目に対応する値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する装置である。図１に示すように、情報照合装置１は、記憶部１１および制御部１２を有する。
【００４１】
記憶部１１は、名寄せ元ＤＢ（database）１１１、名寄せ先ＤＢ１１２、名寄せ定義１１３および教師例１１４を有する。なお、記憶部１１は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（flash  memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置である。
【００４２】
名寄せ元ＤＢ１１１は、名寄せするレコード（名寄せ元レコード）を複数記憶するＤＢである。名寄せ先ＤＢ１１２は、名寄せ相手となるレコード（名寄せ先レコード）を複数記憶するＤＢである。なお、名寄せ元ＤＢ１１１および名寄せ先ＤＢ１１２は、項目が完全に一致している場合であっても、項目が一部一致である場合であっても、項目が完全に一致していなくても一部の項目に関連性がある場合であっても良い。また、名寄せ元ＤＢ１１１および名寄せ先ＤＢ１１２が同じ情報を有するＤＢであっても良いし、１つのＤＢであっても良い。さらに名寄せ元ＤＢ１１１は必ずしもＤＢ（Ｄａｔａｂａｓｅ）である必要はなく、レコードを順次取り出す機能を有すればＸＭＬやＣＳＶファイル等でも良い。同様に名寄せ先ＤＢ１１２は必ずしもＤＢ（Ｄａｔａｂａｓｅ）である必要はなく、レコードを順次取り出す機能とキー（ＩＤ）による検索機能を有すればＸＭＬやＣＳＶファイル等でも良い。
【００４３】
名寄せ定義１１３は、名寄せを行うために必要な名寄せ方法、名寄せ元指定、名寄せ先指定、名寄せ対象項目指定および閾値を対応付けて定義される。名寄せ方法には、自己名寄せまたは他者名寄せ等の名寄せの方法が指定される。名寄せ元指定には、名寄せ元ＤＢ１１１のデータベース名等のアクセス情報および名寄せ元ＤＢ１１１のレコードの項目が指定される。名寄せ先指定には、名寄せ先ＤＢ１１２のデータベース名等のアクセス情報および名寄せ先ＤＢ１１２のレコードの項目が指定される。名寄せ対象項目指定には、名寄せ対象項目が指定され、名寄せ対象項目毎に適用される評価関数および重みが指定される。閾値には、Ｗｈｉｔｅ判定用の上位の閾値およびＢｌａｃｋ判定用の下位の閾値が指定される。なお、重みおよび閾値は、デフォルトの値であり、名寄せで実際に用いられるのは、後述する学習部１２２によって学習された結果である学習結果に含まれる重みおよび閾値となる。
【００４４】
教師例１１４は、予め名寄せの結果が自明である名寄せ元レコードおよび名寄せ先レコードを１組とした教師データであり、両者の名寄せ結果が一致であることを示す正例の教師例と両者の名寄せ結果が不一致であることを示す負例の教師例がある。なお、以降、教師データを「教師例」というものとする。
【００４５】
制御部１２は、名寄せの判定基準をＳＶＭで学習するために使用される教師例を、正例および負例の教師例の条件を規定するルールに基づいて生成する。なお、教師例の条件を規定するルールを「教師例ルール」というものとする。教師例ルールには、正例の教師例ルール（以降、「正例ルール」という。）と負例の教師例ルール（以降、「負例ルール」という。）がある。
【００４６】
さらに、制御部１２は、教師例設定部１２１、学習部１２２、教師例ルール設定部１２３、教師例生成部１２４、教師例検証部１２５、名寄せ部１２６および名寄せ結果判定部１２７を有する。なお、制御部１２は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路である。
【００４７】
教師例設定部１２１は、名寄せ結果の判定で用いられる判定基準を学習する機械学習器に教師例を設定する。本実施例では、機械学習器が、後述する学習部１２２に相当し、ＳＶＭとなる。教師例設定部１２１は、教師例生成部１２４によって生成された正例の教師例および負例の教師例を取得し、取得した正例の教師例および負例の教師例を学習部１２２に設定する。また、教師例設定部１２１は、検証すべき正例の教師例または負例の教師例を記憶部１１の教師例１１４から取得し、取得した教師例を後述する教師例検証部１２５に設定する。
【００４８】
学習部１２２は、教師例設定部１２１から正例の教師例および負例の教師例を取得し、取得した教師例を用いて名寄せ処理で使用される判定基準を学習する。この判定基準が、名寄せ対象項目毎の重みおよび名寄せ対象の判定に適用される閾値となる。すなわち、学習部１２２は、名寄せ対象項目毎の評価関数の結果（評価値）を素性として、教師例による学習を行い、素性毎の重みとともに識別面として閾値を導出し、導出した重みおよび閾値を学習結果として名寄せ部１２６に出力する。
【００４９】
教師例ルール設定部１２３は、教師例の条件を規定する教師例ルールを設定する。教師例ルールのうち正例ルールは、正例の教師例の条件を規定する。一方、教師例ルールのうち負例ルールは、負例の教師例の条件を規定する。具体的には、教師例ルール設定部１２３は、教師例ルールを情報照合装置１と接続したキーボード等の入力装置から取得し、後述する教師例生成部１２４、教師例検証部１２５および名寄せ結果判定部１２７に設定する。なお、教師例ルールを予め記憶部１１に記憶させておき、教師例ルール設定部１２３は、教師例ルールを記憶部１１から取得し、後述する教師例生成部１２４、教師例検証部１２５および名寄せ結果判定部１２７に設定するように構成しても良い。
【００５０】
ここで、名寄せ対象項目が氏名、住所および生年月日である場合の教師例ルールの具体例について説明する。例えば、正例ルールは、氏名と住所が一致しているレコードの組は同一であると判定されるものとする。さらに具体的に、正例ルールは、以下のように記述される。
名寄せ元．氏名＝名寄せ先．氏名  ＡＮＤ  名寄せ元．住所＝名寄せ先．住所
名寄せ元．氏名とは、名寄せ元ＤＢ１１１の氏名の項目を指す。名寄せ先．氏名とは、名寄せ先ＤＢ１１２の氏名の項目を指す。名寄せ元．住所は、名寄せ元ＤＢ１１１の住所の項目を指す。名寄せ先．住所は、名寄せ先ＤＢ１１２の住所の項目を指す。
【００５１】
また、負例ルールは、氏名が一致していても、生年月日が不一致のレコードの組は異なると判定されるものとする。さらに具体的に、負例ルールは、以下のように記述される。
名寄せ元．氏名＝名寄せ先．氏名  ＡＮＤ  名寄せ元．生年月日≠名寄せ先．生年月日
名寄せ元．生年月日とは、名寄せ元ＤＢ１１１の生年月日の項目を指す。名寄せ先．生年月日とは、名寄せ先ＤＢ１１２の生年月日の項目を指す。また、複数の教師例ルールを含む場合には、各教師例ルールをＯＲで結合して記述（解釈）される。
【００５２】
さらに、教師例ルールには、暗黙のルールがデフォルトで存在する。すなわち、教師例ルール設定部１２３が、教師例ルールをキーボード等の入力装置を介しなくても、予め規定された暗黙の教師例ルールを教師例生成部１２４、教師例検証部１２５および名寄せ結果判定部１２７に設定する。この暗黙の教師例ルールのうち正例ルールは、名寄せ対象項目の全項目が一致しているレコードの組は同一であると判定されるものとする。また、暗黙の教師例ルールのうち負例ルールは、名寄せ対象項目の全項目が不一致であるレコードの組は異なると判定されるものとする。なお、暗黙の教師例ルールを含む教師例ルールは、名寄せを利用する業務に応じて業務上のルールを反映して規定されることが望ましい。
【００５３】
教師例生成部１２４は、名寄せ元のレコードについて、教師例ルール設定部１２３によって設定された教師例ルールを条件に名寄せ先ＤＢ１１２を検索することで教師例を生成する。かかる教師例生成部１２４は、教師例を最初に自動的に生成する場合、または既に生成された全教師例を自動的に再生成する場合に有効である。具体的には、教師例生成部１２４は、名寄せ元のレコードについて、教師例ルール設定部１２３によって設定された正例ルールを条件に名寄せ先ＤＢ１１２を検索することで正例の教師例を生成する。また、教師例生成部１２４は、名寄せ元のレコードについて、教師例ルール設定部１２３によって設定された負例ルールを条件に名寄せ先ＤＢ１１２を検索することで負例の教師例を生成する。
【００５４】
なお、教師例生成部１２４は、生成した教師例について、他の教師例ルールの条件に合致しないことを判定し、教師例と教師例ルールの矛盾を解消するようにしても良い。すなわち、教師例生成部１２４は、生成した教師例について、他の教師例ルールの条件に合致すると判定した場合には、検索した教師例に矛盾があると判断し、この教師例を削除する。具体的に、教師例生成部１２４は、正例ルールを条件に生成された正例の教師例について、他の教師例ルールとしての負例ルールの条件に合致しないことを判定する。そして、教師例生成部１２４は、正例の教師例について、負例ルールの条件に合致しないと判定した場合には、正例の教師例に矛盾がないと判断する。一方、教師例生成部１２４は、正例の教師例について、負例ルールの条件に合致すると判定した場合には、正例の教師例に矛盾があると判断し、この正例の教師例を削除する。また、教師例生成部１２４は、負例ルールを条件に生成された負例の教師例について、他の教師例ルールとしての正例ルールの条件に合致しないことを判定する。そして、教師例生成部１２４は、負例の教師例について、正例ルールの条件に合致しないと判定した場合には、負例の教師例に矛盾がないと判断する。一方、教師例生成部１２４は、負例の教師例について、正例ルールの条件に合致すると判定した場合には、負例の教師例に矛盾があると判断し、この負例の教師例を削除する。
【００５５】
教師例検証部１２５は、教師例を取得し、取得した教師例について、当該教師例が有する正例または負例の区別と逆の区別の教師例ルールの条件に合致しないことを判定する。すなわち、教師例検証部１２５は、取得した教師例について、当該教師例が有する正例または負例の区別と逆の区別の教師例ルールの条件に合致すると判定した場合には、取得した教師例に矛盾があると判断する。かかる教師例検証部１２５は、ユーザが最初に生成した教師例を取得したり、既に存在する教師例を取得したり、人による判定不能（Ｇｒａｙ）である組を判定した結果を教師例に反映したりして、取得した教師例を検証する場合に有効である。
【００５６】
具体的には、教師例検証部１２５は、教師例設定部１２１から教師例を取得し、取得した教師例が正例である場合には、負例ルールの条件に合致しないことを判定する。そして、教師例検証部１２５は、正例の教師例について、負例ルールの条件に合致しないと判定した場合には、正例の教師例に矛盾がないと判断する。一方、教師例検証部１２５は、正例の教師例について、負例ルールの条件に合致すると判定した場合には、正例の教師例に矛盾があると判断し、例えば当該正例の教師例について削除したり、警告したりする。また、教師例検証部１２５は、取得した教師例が負例である場合には、正例ルールの条件に合致しないことを判定する。そして、教師例検証部１２５は、負例の教師例について、正例ルールの条件に合致しないと判定した場合には、負例の教師例に矛盾がないと判断する。一方、教師例検証部１２５は、負例の教師例について、正例ルールの条件に合致すると判定した場合には、負例の教師例に矛盾があると判断し、例えば当該負例の教師例について削除したり、警告したりする。
【００５７】
名寄せ部１２６は、学習部１２２により学習して得られた学習結果を使って名寄せを行い、名寄せの判定結果（以降、「名寄せ結果」という。）を算出する。具体的には、名寄せ部１２６は、学習部１２２から学習結果を取得し、取得した学習結果および名寄せ定義１１３を使って名寄せを行い、名寄せ結果を算出する。なお、名寄せ結果には、同一とみなすＷｈｉｔｅ判定を示す値、異なるとみなすＢｌａｃｋ判定を示す値または判定不能とみなすＧｒａｙ判定を示す値が含まれる。
【００５８】
名寄せ結果判定部１２７は、名寄せ結果として判定不能とされたレコードの組について、教師例ルールに基づいて、一致（Ｗｈｉｔｅ）、一致しない（Ｂｌａｃｋ）または判定不能（Ｇｒａｙ）の区別を判定する。すなわち、名寄せ結果判定部１２７は、名寄せ結果がＧｒａｙ判定となったレコードの組について、教師例ルールによる判定を行うことによって、人による判定が必要なレコードの組を減らすことができる。具体的には、名寄せ結果判定部１２７は、名寄せ部１２６から名寄せ結果がＧｒａｙ判定であるレコードの組を取得し、取得したレコードの組が正例ルールの条件に合致するか否かを判定する。そして、名寄せ結果判定部１２７は、取得したレコードの組が正例ルールの条件に合致すると判定した場合には、当該レコードの組が負例ルールの条件に合致するか否かを判定する。これは、正例ルールの条件に合致したレコードの組について、一致（Ｗｈｉｔｅ）と判定不能（Ｇｒａｙ）の区別を判定するためである。そして、名寄せ結果判定部１２７は、取得したレコードの組が負例ルールの条件に合致しないと判定した場合には、当該レコードの組は同一とみなすＷｈｉｔｅと判定する。一方、名寄せ結果判定部１２７は、取得したレコードの組が負例ルールの条件に合致すると判定した場合には、当該レコードの組は判定不能とみなすＧｒａｙと判定する。
【００５９】
また、名寄せ結果判定部１２７は、取得したレコードの組が正例ルールの条件に合致しないと判定した場合には、当該レコードの組が負例ルールの条件に合致するか否かを判定する。これは、正例ルールの条件に合致しないレコードの組について、異なる（Ｂｌａｃｋ）と判定不能（Ｇｒａｙ）の区別を判定するためである。そして、名寄せ結果判定部１２７は、取得したレコードの組が負例ルールの条件に合致すると判定した場合には、当該レコードの組は異なるとみなすＢｌａｃｋと判定する。一方、名寄せ結果判定部１２７は、取得したレコードの組が負例ルールの条件に合致しないと判定した場合には、当該レコードの組は判定不能とみなすＧｒａｙと判定する。
【００６０】
［実施例に係る教師例生成処理の手順］
次に、実施例に係る教師例生成処理の手順を、図２を参照しながら説明する。図２は、実施例に係る教師例生成処理の手順を示すフローチャートである。
【００６１】
まず、教師例生成部１２４は、例えば記憶部１１から目標導出数（Ｍ）を取得する（ステップＳ１２）。そして、教師例生成部１２４は、導出数カウンタ（ｉ）を「０」に設定する（ステップＳ１３）。
【００６２】
続いて、教師例生成部１２４は、名寄せ元ＤＢ１１１から名寄せ元のレコードをランダムにサンプリングする（ステップＳ１４）。そして、教師例生成部１２４は、サンプリングされた名寄せ元のレコードについて、教師例ルールを条件に名寄せ先ＤＢ１１２の名寄せ先を検索することで教師例を生成する（ステップＳ１５）。具体的には、教師例生成部１２４は、名寄せ元のレコードについて、教師例ルール設定部１２３により設定された正例ルールを条件に名寄せ先ＤＢ１１２の名寄せ先のレコードを検索し、検索した名寄せ先のレコードおよび名寄せ元のレコードを組にした正例の教師例を生成する。また、教師例生成部１２４は、名寄せ元のレコードについて、教師例ルール設定部１２３により設定された負例ルールを条件に名寄せ先ＤＢ１１２の名寄せ先のレコードを検索し、検索した名寄せ先のレコードおよび名寄せ元のレコードを組にした負例の教師例を生成する。ここで、名寄せ先から複数のレコードが検索された場合には、先頭レコードやＮＵＬＬ値がより少ないレコードを１つだけ選択して１組の教師例を生成することにより、教師例をより分散させることができる。
【００６３】
そして、教師例生成部１２４は、教師例が生成された結果数（例えばｎ、ｎは自然数）分、導出数カウンタをインクリメントする（ステップＳ１６）。
【００６４】
その後、教師例生成部１２４は、導出数カウンタ（ｉ）が目標導出数（Ｍ）に到達したか否かを判定する（ステップＳ１７）。導出数カウンタが目標導出数に到達していないと判定された場合には（ステップＳ１７；Ｎｏ）、教師例生成部１２４は、次の名寄せ元のレコードをサンプリングするためにステップＳ１４に移行する。一方、導出数カウンタが目標導出数に到達していると判定された場合には（ステップＳ１７；Ｙｅｓ）、教師例生成部１２４は、教師例生成処理を終了する。
【００６５】
なお、教師例生成部１２４は、ステップＳ１５の後に、生成された教師例について、他の教師例ルールの条件に合致しないことを判定し、判定した結果、他の教師例の条件に合致すると判定された場合には、この教師例を削除するようにしても良い。この場合、教師例生成部１２４は、ステップＳ１６では、削除した教師例について、導出数カウンタにカウントしないようにする。
【００６６】
［実施例に係る教師例検証処理の手順］
次に、実施例に係る教師例検証処理の手順を、図３を参照しながら説明する。図３は、実施例に係る教師例検証処理の手順を示すフローチャートである。
【００６７】
まず、教師例検証部１２５は、教師例設定部１２１から未検証の教師例を１組取得する（ステップＳ２２）。
【００６８】
そして、教師例検証部１２５は、取得した教師例が正例の教師例であるか否かを判定する（ステップＳ２３）。取得した教師例が正例の教師例であると判定された場合には（ステップＳ２３；Ｙｅｓ）、教師例検証部１２５は、正例の教師例について、負例ルールの条件に合致するか否かを判定する（ステップＳ２４）。正例の教師例について、負例ルールの条件に合致しないと判定された場合には（ステップＳ２４；Ｎｏ）、教師例検証部１２５は、正例の教師例に矛盾がないと判断し、ステップＳ２７に移行する。一方、正例の教師例について、負例ルールの条件に合致すると判定された場合には（ステップＳ２４；Ｙｅｓ）、教師例検証部１２５は、正例の教師例に矛盾があると判断し、教師例ルール違反として出力する（ステップＳ２６）。例えば、教師例検証部１２５は、矛盾があった教師例について矛盾がある旨を警告する。
【００６９】
また、取得した教師例が正例の教師例でないと判定された場合には（ステップＳ２３；Ｎｏ）、教師例検証部１２５は、負例の教師例であると判断し、負例の教師例について、正例ルールの条件に合致するか否かを判定する（ステップＳ２５）。負例の教師例について、正例ルールの条件に合致しないと判定された場合には（ステップＳ２５；Ｎｏ）、教師例検証部１２５は、負例の教師例に矛盾がないと判断し、ステップＳ２７に移行する。一方、負例の教師例について、正例ルールの条件に合致すると判定された場合には（ステップＳ２５；Ｙｅｓ）、教師例検証部１２５は、負例の教師例に矛盾があると判断し、ステップＳ２６に移行する。
【００７０】
教師例検証部１２５は、教師例設定部１２１に未検証の教師例があるか否かを判定する（ステップＳ２７）。未検証の教師例があると判定された場合には（ステップＳ２７；Ｙｅｓ）、教師例検証部１２５は、未検証の教師例を取得すべく、ステップＳ２２に移行する。一方、未検証の教師例がないと判定された場合には（ステップＳ２７；Ｎｏ）、教師例検証部１２５は、教師例検証処理を終了する。
【００７１】
なお、教師例検証部１２５は、さらに厳しいチェックをしたい場合に負例の教師例について、ステップＳ２５；Ｎｏの後に負例のルールに合致していることを判定するようにしても良い。そして、教師例検証部１２５は、負例のルールに合致しないと判定された場合に、教師例違反とすべくステップＳ２６に移行し、負例のルールに合致すると判定された場合に、ステップＳ２７に移行する。また、正例の教師例についても負例の教師例の場合と同様に、教師例検証部１２５は、ステップＳ２４；Ｎｏの後に自己が有する正例負例の区別と同じ区別の教師例ルール、すなわち負例ルールに合致していることを判定するようにしても良い。
【００７２】
［実施例に係る名寄せ結果判定処理の手順］
次に、実施例に係る名寄せ結果判定処理の手順を、図４を参照しながら説明する。図４は、実施例に係る名寄せ結果判定処理の手順を示すフローチャートである。
【００７３】
まず、名寄せ結果判定部１２７は、名寄せ部１２６から判定不能の名寄せ結果を１組取得する（ステップＳ３２）。
【００７４】
そして、名寄せ結果判定部１２７は、取得したレコードの組が正例ルールに合致するか否かを判定する（ステップＳ３３）。取得したレコードの組が正例ルールに合致すると判定された場合には（ステップＳ３３；Ｙｅｓ）、名寄せ結果判定部１２７は、当該レコードの組が負例ルールに合致するか否かを判定する（ステップＳ３４）。当該レコードの組が負例ルールに合致しないと判定された場合には（ステップＳ３４；Ｎｏ）、名寄せ結果判定部１２７は、当該レコードの組は同一（Ｗｈｉｔｅ）と判定する（ステップＳ３５）。一方、当該レコードの組が負例ルールに合致すると判定された場合には（ステップＳ３４；Ｙｅｓ）、名寄せ結果判定部１２７は、当該レコードの組は判定不能（Ｇｒａｙ）と判定する（ステップＳ３６）。
【００７５】
また、取得したレコードの組が正例ルールに合致しないと判定された場合には（ステップＳ３３；Ｎｏ）、名寄せ結果判定部１２７は、当該レコードの組が負例ルールに合致するか否かを判定する（ステップＳ３７）。当該レコードの組が負例ルールに合致すると判定された場合には（ステップＳ３７；Ｙｅｓ）、名寄せ結果判定部１２７は、当該レコードの組は異なる（Ｂｌａｃｋ）と判定する（ステップＳ３８）。一方、当該レコードの組が負例ルールに合致しないと判定された場合には（ステップＳ３７；Ｎｏ）、名寄せ結果判定部１２７は、当該レコードの組は判定不能（Ｇｒａｙ）と判定する（ステップＳ３６）。
【００７６】
その後、名寄せ結果判定部１２７は、結果判定処理をしていない残りの判定不能とされた名寄せ結果があるか否かを判定する（ステップＳ３９）。結果判定処理をしていない残りの判定不能とされた名寄せ結果があると判定された場合には（ステップＳ３９；Ｙｅｓ）、名寄せ結果判定部１２７は、判定不能とされた次の名寄せ結果の１組を取得すべく、ステップＳ３２に移行する。一方、結果判定処理をしていない残りの判定不能とされた名寄せ結果がないと判定された場合には（ステップＳ３９；Ｎｏ）、名寄せ結果判定部１２７は、名寄せ結果判定処理を終了する。
【００７７】
［教師例の保守手順］
次に、教師例の保守手順について、図５Ａおよび図５Ｂを参照しながら説明する。図５Ａは、実施例に係る教師例の保守手順の一例を示すフローチャートであり、図５Ｂは、実施例に係る判定不能の名寄せ結果を教師例に反映して教師例を保守する手順の一例を示すフローチャートである。
【００７８】
まず、教師例の保守が開始されると、教師例ルール設定部１２３が、教師例ルール設定処理を実行し（ステップＳ４１）、正例および負例の教師例ルールを教師例生成部１２４、教師例検証部１２５および名寄せ結果判定部１２７に設定する。次に、制御部１２は、過去に生成された教師例を全て削除する（ステップＳ４２）。この教師例を全て削除する処理（ステップＳ４２）は、教師例を新規に作成する場合、または新たに作り直す場合に実行され、既存の教師例を活かす場合には省略されるオプションである。さらに、教師例生成部１２４は、教師例生成処理を実行し（ステップＳ４３）、教師例ルール設定部１２３によって設定された教師例ルールを条件に教師例を生成する。
【００７９】
続いて、制御部１２は、生成した教師例を新規追加したり、既存の教師例が存在する場合には既存の教師例に上書きまたは追加したりして、教師例に反映する（ステップＳ４４）。
【００８０】
続いて、教師例検証部１２５は、教師例設定部１２１から教師例を取得すると、取得した教師例を検証すべく教師例検証処理を実行し（ステップＳ４５）、教師例に違反があるか否かを判定する（ステップＳ４６）。そして、教師例検証部１２５によって教師例に違反があると判定された場合には（ステップＳ４６；Ｙｅｓ）、人によって当該教師例に違反があるか否かが判定される（ステップＳ４７）。
【００８１】
そして、当該教師例に違反がないと判定された場合には（ステップＳ４７；修正不要）、教師例候補として人に最終確認を委ねるべく、ステップＳ５０に移行する。また、当該教師例に違反があると判定された場合であって教師例ルールの修正が必要であると判定された場合には（ステップＳ４７；ルール修正）、人が教師例ルールを修正し（ステップＳ４８）、ステップＳ４１に移行する。また、当該教師例に違反があると判定された場合であって教師例を個別に修正が必要であると判定された場合には（ステップＳ４７；個別修正）、人が該当教師例を削除し（ステップＳ４９）、ステップＳ４３に移行する。
【００８２】
教師例検証部１２５によって教師例に違反がないと判定された場合には（ステップＳ４６；Ｎｏ）、当該教師例について教師例候補として人に提示され、人による最終選定および確認が行われる（ステップＳ５０）。そして、人により教師例に異常があるか否かが判定され（ステップＳ５１）、異常があると判定された場合には（ステップＳ５１；Ｙｅｓ）、人による原因の判断をさせるべく、ステップＳ４７に移行する。一方、異常がないと判定された場合には（ステップＳ５１；Ｎｏ）、教師例の保守を終了する。
【００８３】
次に、名寄せ部１２６によって名寄せ結果が判定不能とされた場合に、名寄せ結果判定部１２７は、名寄せ部１２６から判定不能とされたレコードの組を取得し、取得したレコードの組について名寄せ結果判定処理を実行する（ステップＳ６１）。ここで、名寄せ結果判定部１２７は、取得したレコードの組について、教師例ルール設定部１２３で設定された教師例ルールを適用して、一致（Ｗｈｉｔｅ）、異なる（Ｂｌａｃｋ）または判定不能の区別を判定する。そして、判定不能の区別と判定されたレコードの組について、人が一致（Ｗｈｉｔｅ）、異なる（Ｂｌａｃｋ）の区別を示す最終判定結果を決定する（ステップＳ６２）。そして、人が、決定した最終判定結果を選定し、選定した最終判定結果のレコードの組を教師例に反映すべく、教師例にフィードバックする（ステップＳ６３）。その後、ステップＳ４４で教師例に反映されると、引き続き反映された教師例が保守されることとなる。
【００８４】
［教師例生成部によって生成された教師例を用いた名寄せ］
次に、教師例生成部１２４によって生成された教師例を用いた名寄せについて、図６を参照しながら説明する。図６は、教師例生成部によって生成された教師例を用いた名寄せについて説明する図であり、図６（Ａ）では、教師例生成部によって生成された教師例を用いた学習結果を示し、図６（Ｂ）では、学習結果を用いた照合結果を示す。図６（Ａ）に示すように、正例の教師例ルールには、正例ルールＡおよび正例ルールＢが設定され、負例の教師例ルールには、負例ルールＣおよび負例ルールＤが設定される。これらの教師例ルールは、教師例ルール設定部１２３によって教師例生成部１２４に設定される。そして教師例生成部１２４は、設定された教師例ルールから教師例を生成する。ここでは、正例ルールＡから教師例Ａ１、Ａ２が生成され、正例ルールＢから教師例Ｂ１、Ｂ２が生成され、負例ルールＣから教師例Ｃ１、Ｃ２が生成され、負例ルールＤから教師例Ｄ１、Ｄ２が生成される。そして、学習部１２２が、生成された正例の教師例および負例の教師例を用いて学習を行い、教師例の正例および負例をより適切に判別できる識別面Ｓ３に基づく学習結果を導出する。
【００８５】
図６（Ｂ）に示すように、学習部１２２によって導出された学習結果を用いて名寄せ部１２６は、名寄せ元のレコードと名寄せ先のレコードとの組について照合を行う。この結果、１つのレコードの組Ｚ１は、何れの正例ルールＡ、Ｂにも該当せず正例ルール間の隙間にあっても、生成された教師例に基づく学習と汎化によって、正例に相当するＷｈｉｔｅと判定される。また、１つのレコードの組Ｚ２は、何れの負例ルールＣ、Ｄにも該当せず負例ルール間の隙間にあっても、生成された教師例に基づく学習と汎化によって、負例に相当するＢｌａｃｋと判定される。
【００８６】
次に、教師例検証部１２５による教師例の矛盾の検出について、図７を参照しながら説明する。図７は、教師例検証部による教師例矛盾検出を説明する図であり、図７（Ａ）では、教師例生成部によって生成された教師例を用いた学習結果を示し、図７（Ｂ）では、さらに教師例が追加された場合の教師例を用いた学習結果を示す。図７（Ａ）は、図６（Ａ）と同様であるので、その説明を省略する。図７（Ｂ）に示すように、正例の教師例Ｚ３、Ｚ４が追加されたものとする。この場合、学習結果は新たに追加された正例の教師例の影響を受けてサポートベクタが変化して、識別面が変化し、マージンも狭くなっている。教師例検証部１２５は、正例の教師例について、負例ルールの条件に合致しないことを判定する。ここでは、教師例検証部１２５は、正例の教師例Ｚ３について、負例ルールＣの条件に合致するので、正例の教師例Ｚ３に矛盾があることを検出する。また、教師例検証部１２５は、正例の教師例Ｚ４について、負例ルールＣ、Ｄの条件に合致しないので、矛盾がないと判断する。
【００８７】
さらに厳しいチェックをしたい場合には、教師例検証部１２５が、負例ルールに合致しない（矛盾がないと判断した）正例の教師例について、正例ルールの条件に合致していることを判定する。ここでは、教師例検証部１２５は、正例の教師例Ｚ４について、いずれの正例ルールＡ、Ｂの条件にも合致しないので、正例の教師例Ｚ４に矛盾があることを検出する。
【００８８】
［教師例の矛盾解消の効果を確認するための実験例］
ここで、教師例の矛盾解消の効果を確認するための実験例について、図８を参照しながら説明する。図８は、教師例の矛盾解消の効果を確認するための実験例を説明する図である。図８（Ａ）は、名寄せ対象のデータを示す。実験で使用されたデータベースは、２００万件の顧客表１１１Ａのデータベースである。実験では、名寄せ元および名寄せ先を同じ対象データとして、対象データの重複を除去する目的で、学習を利用した自己名寄せが行われる。なお、名寄せ対象項目は、氏名、住所および生年月日であるものとする。
【００８９】
まず、予め作成された教師例について、図８（Ｂ）に示すような矛盾のある教師例を用いた学習および名寄せを行う。図８（Ｂ）の例では、ＩＤが「１００００００」および「１０００１００」のレコードの組ｒ１は、氏名および生年月日が一致し住所の後方だけが異なるので、同一人物であり住所変更の可能性が高いので、本来正例としたいところ負例として登録されている矛盾のある教師例である。また、ＩＤが「１０００００２」および「１０００２００」のレコードの組ｒ２は、名寄せ対象項目の全項目が完全一致の同一人物で、本来正例となるべきところ負例として登録されている矛盾のある教師例である。
【００９０】
次に、予め作成された教師例の中から教師例検証部１２５によって矛盾のある教師例を検出し、検出した教師例の矛盾を解消する。この結果、図８（Ｃ）に示すように、図８（Ｂ）の例で示した矛盾のある負例の教師例が削除される。そして、矛盾のない教師例について、学習および名寄せを行う。
【００９１】
実験では、比較しやすいように名寄せ結果の総合評価値を総合評価点に正規化により換算する。そして、総合評価点は、０〜１００点で表され、総合評価値が０となる識別面を５０点とし、総合評価値が＋１となる上位のサポートベクタ面を７２点とし、総合評価値が−１となる下位のサポートベクタ面を２８点となるように正規化する。矛盾のある教師例と矛盾のない教師例の２つのケースについて、実験を行った結果、以下の傾向があった。
【００９２】
傾向１として、矛盾のない教師例の総合評価点の最高値が高くなった。すなわち、矛盾のある教師例では、総合評価点の最高値が７３．０９点であるところ、矛盾のない教師例では、総合評価点の最高値が９４．２９点であり、矛盾のない教師例の総合評価点の最高値が、矛盾のある教師例のものより＋２１．２０点高い。また、傾向２として、名寄せ結果の精度が向上した。すなわち、同一とみなすＷｈｉｔｅ判定の正解率が矛盾のある教師例を用いた場合より矛盾のない教師例を用いた場合の方が約１０％増加し、判定不能のＧｒａｙ判定の数も矛盾のある教師例を用いた場合より矛盾のない教師例を用いた場合の方が６％減少した。この結果、名寄せにおける判定の分解能力が高くなり、正確な判定が可能となることが判る。この原理は、学習のソフトマージンにおいて、教師例の誤りがなくなることによって、ソフトマージンのペナルティが０になるため分解能力が高まり、より厳密な識別面を導出することが可能となることによる。そして、マージンが大きくなる結果として、汎化したときの総合評価値（識別面との距離）の最大値も大きくなるのである。
【００９３】
［実施例に係る教師例検証の具体例を説明する図］
図８（Ａ）で示された名寄せ対象のデータおよび図８（Ｂ）で示される矛盾のある教師例を用いた、教師例検証部１２５による教師例検証の具体例を、図９を参照しながら説明する。図９は、実施例に係る教師例検証の具体例を説明する図である。ここで、図９では、教師例ルール設定部１２３によって設定される正例ルールは、氏名が一致し、かつ生年月日が一致しているものとする。さらに、暗黙の正例ルールとして、名寄せ対象項目の全項目の一致を正例とする旨を適用する。また、教師例ルール設定部１２３によって設定される負例ルールは、氏名が一致していても、生年月日が不一致であるものとする。さらに、暗黙の負例ルールとして、名寄せ対象項目の全項目の不一致を負例とする旨を適用する。したがって、教師例ルールのうち正例ルールは、教師例ルール設定部１２３によって設定される正例ルールａ１および暗黙の正例ルールａ２を含むルールとなり、以下のようになる。
「（元．氏名＝先．氏名  ＡＮＤ  元．生年月日＝先．生年月日）  ＯＲ  （元．氏名＝先．氏名  ＡＮＤ  元．生年月日＝先．生年月日  ＡＮＤ  元．住所＝先．住所）」
また、教師例ルールのうち負例ルールは、教師例ルール設定部１２３によって設定される負例ルールｂ１および暗黙の負例ルールｂ２を含むルールとなり、以下のようになる。
「（元．氏名＝先．氏名  ＡＮＤ  元．生年月日≠先．生年月日）  ＯＲ  （元．氏名≠先．氏名  ＡＮＤ  元．生年月日≠先．生年月日  ＡＮＤ  元．住所≠先．住所）」
なお、教師例ルールの中で使用される「元」は名寄せ元、「先」は名寄せ先を略記したものであり、ここでは、名寄せ元、名寄せ先とも顧客表１１１Ａを指す。
【００９４】
まず、教師例検証部１２５は、矛盾のある教師例のうち正例の教師例について、負例ルールの条件に該当しないことを検証する。ここでは、教師例検証部１２５は、正例の教師例について、負例ルールｂ１および負例ルールｂ２の条件に該当しないので、正例の教師例に矛盾がないと判断する。
【００９５】
次に、教師例検証部１２５は、矛盾のある教師例のうち負例の教師例について、正例ルールの条件に該当しないことを検証する。ここでは、教師例検証部１２５は、負例の教師例のうちＩＤが「１００００００」および「１０００１００」のレコードの組ｒ１は、正例ルールａ１に該当するので、矛盾があると判断する。すなわち、レコードの組ｒ１は、正例ルールに合致するので正例の教師例とすべきところ負例の教師例となっているので、正例ルールに違反している。また、教師例検証部１２５は、負例の教師例のうちＩＤが「１０００００２」および「１０００２００」のレコードの組ｒ２は、正例ルールａ２に該当するので、矛盾があると判断する。すなわち、レコードの組ｒ２は、正例ルールに違反している。このため、教師例検証部１２５は、矛盾があると判断されたレコードの組ｒ１、ｒ２を削除し、適正な負例の教師例を生成する。
【００９６】
［実施例に係る教師例生成の具体例を説明する図］
図８（Ａ）で示された名寄せ対象のデータを用いた、教師例生成部１２４による教師例生成の具体例を、図１０を参照しながら説明する。図１０は、実施例に係る教師例生成の具体例を説明する図である。ここで、図１０では、正例ルールおよび負例ルールを図９と同じルールとし、その説明を省略する。
【００９７】
まず、教師例生成部１２４は、名寄せ元である顧客表１１１Ａのレコードについてランダムにサンプリングを行い選定した名寄せ元レコードについて、正例ルールを条件に名寄せ先である顧客表１１１Ａを検索する。ここでは、教師例生成部１２４は、正例ルールａ１と正例ルールａ２を含むルールを条件に顧客表１１１Ａを検索する。さらに、教師例生成部１２４は、検索したレコードおよび名寄せ元のレコードの組について、負例ルールに該当しないことを検証する。ここでは、教師例生成部１２４は、当該レコードの組について、負例ルールｂ１および負例ルールｂ２を含むルールを条件に該当しないことを検証する。検証の結果、教師例生成部１２４は、適正な正例の教師例を生成する。この結果、ＩＤが「１００００００」および「１０００１００」のレコードの組ｒ１は、住所の後方だけが異なるものの氏名および生年月日が一致しているので、正例の教師例として生成される。また、ＩＤが「１０００００２」および「１０００２００」のレコードの組ｒ２は、名寄せ対象項目が完全一致であるので、正例の教師例として生成される。残りは自分自身（同一レコード）を名寄せ対象項目が完全一致する正例の教師例として導出している。
【００９８】
次に、教師例生成部１２４は、名寄せ元である顧客表１１１Ａのレコードについてランダムにサンプリングを行い選定した名寄せ元レコードについて、負例ルールを条件に名寄せ先である顧客表１１１Ａを検索する。ここでは、教師例生成部１２４は、負例ルールｂ１および負例ルールｂ２を含むルールを条件に顧客表１１１Ａを検索する。さらに、教師例生成部１２４は、検索したレコードおよび名寄せ元のレコードの組について、正例ルールに該当しないことを検証する。ここでは、教師例生成部１２４は、当該レコードの組について、正例ルールａ１および正例ルールａ２を含むルールを条件に該当しないことを検証する。検証の結果、教師例生成部１２４は、適正な負例の教師例を生成する。この結果、ＩＤが「１００００００」および「１０００００１」のレコードの組ｒ３は、氏名、生年月日および住所が異なり、正例ルールに該当しないので、負例の教師例として生成される。「１０００００１」および「１０００００２」のレコードの組ｒ４は、氏名、生年月日および住所が異なり、正例ルールに該当しないので、負例の教師例として生成される。「１０００００１」および「１０００１００」のレコードの組ｒ５は、氏名、生年月日および住所が異なり、正例ルールに該当しないので、負例の教師例として生成される。ＩＤが「１０００００２」および「１０００２１０」のレコードの組ｒ７は、氏名、生年月日および住所が異なり、正例ルールに該当しないので、負例の教師例として生成される。ＩＤが「１０００００２」および「１０００１００」のレコードの組ｒ６は、氏名が一致しているが生年月日が異なり、正例ルールに該当しないので、負例の教師例として生成される。
【００９９】
なお、ここでは説明を簡素化するために教師例の目標導出数には触れず、図８（Ａ）に示す対象データの同図に例示したレコードについて処理対象の名寄せ元レコードを先頭から順次サンプリングする例として説明しているが、実際の処理では処理対象の名寄せ元レコードの選定に際して２００万レコードに対するランダムサンプリングを行い、目標導出数に達した時点で教師例生成処理を終了する。
【０１００】
次に、教師例ルール間に矛盾が有る場合の動作について図８および図１０により説明する。仮に図１０に示す正例ルールａ１と同じルールが負例ルールにも存在すると仮定すると、負例ルールにはａ１、ｂ１、ｂ２の３つのルールが存在することになる。このとき、図１０の正例の教師例を生成する処理は、最初の正例ルールで顧客表１１１Ａを検索する処理を行い、その検索結果について負例ルールに該当しないことを検証して該当する教師例を削除するため、正例ルールａ１で検索された教師例の全てが負例ルールａ１に該当して削除されるので、結果として正例ルールａ１に該当する正例ルールは１件も検出されないことは明らかである。このように特定の教師例ルールに該当する教師例が１件も生成されない等期待と異なる結果になるので、生成された教師例を分析することによって、教師例ルール間の矛盾を検出することが可能である。さらに矛盾の有る教師例ルールについては、該当するルールに関する教師例が生成されない方向に働くので、矛盾の有る教師例ルールの影響を最小化することもできる。
【０１０１】
［実施例の効果］
上記実施例によれば、情報照合装置１が、名寄せの判定基準を教師あり学習で学習するために使用される教師例の条件を規定する教師例ルールを設定する。すなわち、情報照合装置１は、同一と判定すべきレコードの組である正例の教師例および異なると判定すべきレコードの組である負例の教師例の条件を規定する教師例ルールを設定する。そして、情報照合装置１が、名寄せ元のレコードについて、正例の教師例の条件を規定する教師例ルールである正例ルールを用いて名寄せ先のレコードを検索することで正例の教師例を生成する。また、情報照合装置１が、名寄せ元のレコードについて、負例の教師例の条件を規定する教師例ルールである負例ルールを用いて名寄せ先のレコードを検索することで負例の教師例を生成する。
【０１０２】
かかる構成によれば、情報照合装置１は、教師例ルールを用いて正例および負例の教師例を自動的に生成するので、人手によらないで正例および負例の教師例を効率的に生成できる。この結果、情報照合装置１は、名寄せを簡単に開始できる。また、情報照合装置１は、教師例ルールを用いて正例および負例の教師例を生成するので、業務に特化したルールを教師例ルールとして適用できることとなり、教師例を実用的に生成できる。
【０１０３】
また、上記実施例によれば、教師例ルール設定部１２３は、レコード間の名寄せ対象項目に対応した値が全て一致する旨の条件を正例の教師例の条件とする。また、教師例ルール設定部１２３は、レコード間の名寄せ対象項目に対応した値が全て不一致となる旨の条件を負例の教師例の条件とする。そして、教師例ルール設定部１２３は、いずれかの条件を含む教師例ルールを教師例生成部１２４、教師例検証部１２５および名寄せ結果判定部１２７に設定する。かかる構成によれば、教師例ルール設定部１２３は、正例の教師例の条件または負例の教師例の条件をデフォルトで備え、教師例の条件を規定しなくても正例ルールまたは負例ルールを備えることとなるので、備えられたルールに対する教師例を迅速且つ確実に生成できる。
【０１０４】
また、上記実施例によれば、教師例生成部１２４は、正例ルールを用いて生成された正例の教師例について、負例ルールに合致しないことを判定する。また、教師例生成部１２４は、負例ルールを用いて生成された負例の教師例について、正例ルールに合致しないことを判定する。そして、教師例生成部１２４は、正例の教師例について、負例ルールに合致したと判定された教師例を削除し、負例の教師例について、正例ルールに合致したと判定された教師例を削除する。かかる構成によれば、教師例生成部１２４は、正例ルールを用いて生成された正例の教師例を、正例ルールとは異なる負例ルールで検証するので、生成された正例の教師例の矛盾を解消できるとともに、教師例ルール間の矛盾も解消できる。また、教師例生成部１２４は、負例ルールを用いて生成された負例の教師例を、負例ルールとは異なる正例ルールで検証するので、生成された負例の教師例の矛盾を解消できるとともに、教師例ルール間の矛盾も解消できる。
【０１０５】
また、上記実施例によれば、教師例検証部１２５は、検証対象となる正例または負例の教師例を取得し、取得した教師例について、当該教師例が有する正例または負例の区別と逆の区別のルールに合致しないことを判定する。かかる構成によれば、教師例検証部１２５は、取得した正例の教師例を、正例ルールとは異なる負例ルールで判定するので、取得した正例の教師例の矛盾を検証できるとともに、正例ルールおよび負例ルール間の矛盾を検証できる。また、教師例検証部１２５は、取得した負例の教師例を、負例ルールとは異なる正例ルールで判定するので、取得した負例の教師例の矛盾を検証できるとともに、負例ルールおよび正例ルール間の矛盾を検証できる。
【０１０６】
また、上記実施例によれば、教師例検証部１２５は、当該教師例が有する正例または負例の区別と逆の区別のルールに合致しないことを判定した後でさらに、教師例が有する正例または負例と同じ区別のルールに合致することを判定する。かかる構成によれば、教師例検証部１２５は、教師例の正負の矛盾を正確に検証することができる。
【０１０７】
また、上記実施例によれば、名寄せ結果判定部１２７は、名寄せの判定結果として判定不能とされたレコードの組について、教師例ルール設定部１２３によって設定された教師例ルールに基づいて、一致（Ｗｈｉｔｅ）、異なる（Ｂｌａｃｋ）または判定不能（Ｇｒａｙ）の区別を判定する。かかる構成によれば、名寄せ結果判定部１２７は、名寄せ部１２６の判定結果として判定不能とされたレコードの組について、教師例ルールに基づいて一致（Ｗｈｉｔｅ）、異なる（Ｂｌａｃｋ）または判定不能（Ｇｒａｙ）の区別を判定することで、人手による判定コストを削減できる。さらに、名寄せ結果判定部１２７が、名寄せ部１２６の判定結果として判定不能とされたレコードの組についての、教師例ルールに基づく判定結果を教師例に反映させると、反映後の名寄せの判定結果の精度を向上させることができる。
【０１０８】
なお、教師例の保守手順の一例として、教師例ルール設定部１２３、教師例生成部１２４および教師例検証部１２５を連続して実行する場合について説明した。しかしながら、教師例の保守手順の一例として、教師例ルール設定部１２３、教師例生成部１２４または教師例検証部１２５を個別に実行させるようにしても良い。また、判定不能の名寄せ結果を教師例に反映して教師例を保守する手順の一例として、教師例ルール設定部１２３、名寄せ結果判定部１２７および教師例検証部１２５を連続して実行する場合について説明した。しかしながら、判定不能の名寄せ結果を教師例に反映して教師例を保守する手順の一例として、教師例ルール設定部１２３、名寄せ結果判定部１２７または教師例検証部１２５を個別に実行させるようにしても良い。
【０１０９】
また、名寄せ結果判定部１２７は、名寄せ結果が判定不能であるレコードの組を名寄せ部１２６から１組ずつ取得し、取得したレコードの組を教師例ルールに基づいて、一致（Ｗｈｉｔｅ）、異なる（Ｂｌａｃｋ）または判定不能（Ｇｒａｙ）の区別を判定するものと説明した。しかしながら、名寄せ結果判定部１２７は、名寄せ結果が判定不能であるレコードの組を名寄せ部１２６から複数組ずつ取得し、取得した複数個のレコードの組を一度に教師例ルールに基づいて、一致（Ｗｈｉｔｅ）、異なる（Ｂｌａｃｋ）または判定不能（Ｇｒａｙ）の区別を判定するものとしても良い。これにより、名寄せ結果判定部１２７は、名寄せ結果が判定不能であるレコードの組を一度に判定するので、かかるレコードの組が多数ある場合には、一致（Ｗｈｉｔｅ）、異なる（Ｂｌａｃｋ）または判定不能（Ｇｒａｙ）の区別を迅速に判定できる。
【０１１０】
［プログラム等］
なお、情報照合装置１は、既知のパーソナルコンピュータ、ワークステーション等の情報照合装置に、上記した記憶部１１、制御部１２等の各機能を搭載することによって実現することができる。
【０１１１】
また、情報照合装置１は、教師例ルール設定部１２３、教師例生成部１２４、教師例検証部１２５および名寄せ結果判定部１２７を含むものとして説明したが、これに限定されるものではない。情報照合装置１の外部装置である情報照合装置が、教師例ルール設定部１２３、教師例生成部１２４、教師例検証部１２５および名寄せ結果判定部１２７を含むものとし、情報照合装置１とネットワーク経由で接続するようにしても良い。
【０１１２】
また、図示した情報照合装置１の各構成要素は、必ずしも物理的に図示の如く構成されることを要しない。すなわち、情報照合装置１の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、教師例ルール設定部１２３および教師例生成部１２４、教師例ルール設定部１２３および教師例検証部１２５、教師例ルール設定部１２３および名寄せ結果判定部１２７をそれぞれ１個の部として統合しても良い。一方、教師例生成部１２４を、正例の教師例を生成する正例教師例生成部と負例の教師例を生成する負例教師例生成部とに分散しても良い。また、名寄せ先ＤＢ１１２や名寄せ元ＤＢ１１１等の各種ＤＢを情報照合装置１の外部装置としてネットワーク経由で接続するようにしても良い。
【０１１３】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図１１を用いて、図１に示した情報照合装置１の制御部１２と同様の機能を有する情報照合プログラムを実行するコンピュータの一例を説明する。
【０１１４】
図１１は、情報照合プログラムを実行するコンピュータを示す図である。図１１に示すように、コンピュータ１０００は、ＲＡＭ１０１０と、ネットワークインタフェース装置１０２０と、ＨＤＤ１０３０と、ＣＰＵ１０４０、媒体読取装置１０５０およびバス１０６０とを有する。ＲＡＭ１０１０、ネットワークインタフェース装置１０２０、ＨＤＤ１０３０、ＣＰＵ１０４０、媒体読取装置１０５０は、バス１０６０によって接続される。
【０１１５】
そして、ＨＤＤ１０３０には、図１に示した制御部１２と同様の機能を有する情報照合プログラム１０３１が記憶される。また、ＨＤＤ１０３０には、図１に示した名寄せ先ＤＢ１１２、名寄せ元ＤＢ１１１、名寄せ定義１１３および教師例１１４に対応する情報照合関連情報１０３２が記憶される。
【０１１６】
そして、ＣＰＵ１０４０が情報照合プログラム１０３１をＨＤＤ１０３０から読み出してＲＡＭ１０１０に展開することにより、情報照合プログラム１０３１は、情報照合プロセス１０１１として機能するようになる。そして、情報照合プロセス１０１１は、情報照合関連情報１０３２から読み出した情報等を適宜ＲＡＭ１０１０上の自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。
【０１１７】
媒体読取装置１０５０は、情報照合プログラム１０３１や情報照合関連情報１０３２がＨＤＤ１０３０に格納されていない場合であっても情報照合プログラム１０３１や情報照合関連情報１０３２を記憶する媒体等から情報照合プログラム１０３１や情報照合関連情報１０３２を読み取る。媒体読取装置１０５０には、例えばＣＤ−ＲＯＭや光ディスク装置がある。また、ネットワークインタフェース装置１０２０は、外部装置とネットワーク経由で接続する装置であり、有線、無線に対応するものである。
【０１１８】
なお、上記の情報照合プログラム１０３１や情報照合関連情報１０３２は、必ずしもＨＤＤ１０３０に格納される必要はなく、ＣＤ−ＲＯＭ等の媒体読取装置１０５０に記憶されたこのプログラムや情報を、コンピュータ１０００が読み出して実行するようにしても良い。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮ（Wide  Area  Network）等を介してコンピュータ１０００に接続される他のコンピュータ（またはサーバ）等にこのプログラムや情報を記憶させておいても良い。この場合には、コンピュータ１０００がネットワークインタフェース装置１０２０を介してこれらからプログラムや情報を読み出して実行する。
【０１１９】
以上の実施例に係る実施形態に関し、さらに以下の付記を開示する。
【０１２０】
（付記１）項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置であって、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定する教師例ルール設定部と、
照合元のレコードについて、前記教師例ルール設定部によって設定された、正例の教師データの条件を規定するルールである正例のルールを用いて照合先のレコードを検索することで正例の教師データを生成し、前記教師例ルール設定部によって設定された、負例の教師データの条件を規定するルールである負例のルールを用いて照合先のレコードを検索することで負例の教師データを生成する教師例生成部と
を有することを特徴とする情報照合装置。
【０１２１】
（付記２）前記教師例ルール設定部は、
レコード間の照合対象の項目に対応した値が全て一致する旨の条件を正例の教師データの条件とし、レコード間の照合対象の項目に対応した値が全て不一致となる旨の条件を負例の教師データの条件とし、いずれかの条件を含むルールを設定することを特徴とする付記１に記載の情報照合装置。
【０１２２】
（付記３）前記教師例生成部は、
生成された正例の教師データについて、前記負例のルールに合致しないことを判定し、生成された負例の教師データについて、前記正例のルールに合致しないことを判定し、前記判定でルールに合致した場合に、ルールに合致した教師データを削除することを特徴とする付記１または付記２に記載の情報照合装置。
【０１２３】
（付記４）項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置であって、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定する教師例ルール設定部と、
正例または負例の教師データを取得し、取得した教師データについて、前記教師例ルール設定部によって設定されたルールであって、当該教師データが有する正例または負例の区別と逆の区別のルールに合致しないことを判定する教師例検証部と
を有することを特徴とする情報照合装置。
【０１２４】
（付記５）前記教師例検証部は、
さらに、当該教師データが有する正例または負例の区別のルールに合致することを判定することを特徴とする付記４に記載の情報照合装置。
【０１２５】
（付記６）項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置であって、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定する教師例ルール設定部と、
前記判定結果として判定不能と判定されたレコードの組について、前記教師例ルール設定部によって設定されたルールに基づいて、同一である、異なる、判定不能の区別を判定する名寄せ結果判定部と
を有することを特徴とする情報照合装置。
【０１２６】
（付記７）項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置に実行させる情報照合方法であって、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定し、
照合元のレコードについて、該設定した、正例の教師データの条件を規定するルールである正例のルールを用いて照合先のレコードを検索することで正例の教師データを生成し、該設定した、負例の教師データの条件を規定するルールである負例のルールを用いて照合先のレコードを検索することで負例の教師データを生成する
ことを特徴とする情報照合方法。
【０１２７】
（付記８）項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置に実行させる情報照合方法であって、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定し、
正例または負例の教師データを取得し、取得した教師データについて、該設定したルールであって、当該教師データが有する正例または負例の区別と逆の区別のルールに合致しないことを判定する
ことを特徴とする情報照合方法。
【０１２８】
（付記９）項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置に実行させる情報照合方法であって、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定し、
前記判定結果として判定不能と判定されたレコードの組について、該設定したルールに基づいて、同一である、異なる、判定不能の区別を判定する
ことを特徴とする情報照合方法。
【０１２９】
（付記１０）項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置に、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定し、
照合元のレコードについて、該設定した、正例の教師データの条件を規定するルールである正例のルールを用いて照合先のレコードを検索することで正例の教師データを生成し、該設定した、負例の教師データの条件を規定するルールである負例のルールを用いて照合先のレコードを検索することで負例の教師データを生成する
処理を実行させる情報照合プログラム。
【０１３０】
（付記１１）項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置に、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定し、
正例または負例の教師データを取得し、取得した教師データについて、該設定したルールであって、当該教師データが有する正例または負例の区別と逆の区別のルールに合致しないことを判定する
処理を実行させる情報照合プログラム。
【０１３１】
（付記１２）項目に対応した値の集合から構成される複数のレコードについて、レコード間を照合し、レコード間の同一性、類似性および関連性を判定する情報照合装置に、
前記判定で用いられる判定基準を教師あり学習で学習するために使用される教師データであって、同一と判定すべきレコードの組である正例の教師データおよび異なると判定すべきレコードの組である負例の教師データの条件を規定するルールを設定し、
前記判定結果として判定不能と判定されたレコードの組について、該設定したルールに基づいて、同一である、異なる、判定不能の区別を判定する
処理を実行させる情報照合プログラム。
【符号の説明】
【０１３２】
１  情報照合装置
１１  記憶部
１２  制御部
１１１  名寄せ元ＤＢ
１１２  名寄せ先ＤＢ
１１３  名寄せ定義
１１４  教師例
１２１  教師例設定部
１２２  学習部
１２３  教師例ルール設定部
１２４  教師例生成部
１２５  教師例検証部
１２６  名寄せ部
１２７  名寄せ結果判定部
【図１】
0005640773.tif 000004
【図２】
0005640773.tif 000005
【図３】
0005640773.tif 000006
【図４】
0005640773.tif 000007
【図５Ａ】
0005640773.tif 000008
【図５Ｂ】
0005640773.tif 000009
【図６】
0005640773.tif 000010
【図７】
0005640773.tif 000011
【図８】
0005640773.tif 000012
【図９】
0005640773.tif 000013
【図１０】
0005640773.tif 000014
【図１１】
0005640773.tif 000015
【図１２】
0005640773.tif 000016
【図１３】
0005640773.tif 000017
【図１４】
0005640773.tif 000018
【図１５】
0005640773.tif 000019
【図１６】
0005640773.tif 000020
【図１７】
0005640773.tif 000021
【図１８】
0005640773.tif 000022
【図１９】
0005640773.tif 000023
【図２０】
0005640773.tif 000024
【図２１】
0005640773.tif 000025