(57)【要約】【課題】複数レコードの比較に用いる関数の決定を容易に行うことを可能とする学習プログラム及び学習方法を提供する。【解決手段】記憶部に記憶された教師データに基づき、教師データに含まれる第１データ及び第２データの項目対の類似度を算出する際に用いられる複数の関数のそれぞれに対応する重み付け値について、項目対ごとの機械学習を行い、複数の関数と、複数の関数のそれぞれに対応する重み付け値とに基づき、類似度を算出する評価関数を項目対ごとに特定する。【選択図】図７
2019185244.tif 000002
【特許請求の範囲】
【請求項１】
記憶部に記憶された教師データに基づき、前記教師データに含まれる第１データ及び第２データの項目対の類似度を算出する際に用いられる複数の関数のそれぞれに対応する重み付け値について、前記項目対ごとに機械学習を行い、
前記複数の関数と、前記複数の関数のそれぞれに対応する重み付け値とに基づき、前記類似度を算出する評価関数を前記項目対ごとに特定する、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【請求項２】
請求項１において、
前記項目対は、前記第１データに含まれる１以上の項目と、前記第２データに含まれる１以上の項目との対である、
ことを特徴とする学習プログラム。
【請求項３】
請求項１において、
前記評価関数を特定する処理では、前記複数の関数のそれぞれによって算出された値と、前記複数の関数のそれぞれに対応する重み付け値との積和を算出する関数を、前記評価関数として特定する、
ことを特徴とする学習プログラム。
【請求項４】
請求項１において、
前記教師データは、前記第１データと前記第２データとが類似するデータであるか否かを示す類似情報を含み、
前記重み付け値の機械学習を行う処理では、
前記複数の関数のそれぞれを用いることにより、前記項目対ごとであって前記複数の関数ごとに前記類似度を算出し、
前記類似情報を目的変数とし、前記項目対ごとであって前記複数の関数ごとの前記類似度を説明変数とする関数を用いることにより、前記項目対ごとであって前記複数の関数ごとの前記重み付け値の機械学習を行う、
ことを特徴とする学習プログラム。
【請求項５】
請求項１において、
前記教師データは、前記第１データと前記第２データとが類似するデータであるか否かを示す類似情報を含み、さらに、
前記評価関数を用いることにより、前記項目対ごとに前記類似度を算出し、
算出した前記類似度と前記類似情報とから、複数のデータが類似するデータであるか否かの判定結果の信頼度を算出する際に用いられるパラメータの機械学習を行い、
機械学習を行った前記パラメータを用いることにより、記憶部に記憶された第３データ及び第４データに対応する前記信頼度を算出し、
算出した前記信頼度が所定の条件を満たす場合、前記第３データと前記第４データとが類似するデータであるか否かのユーザによる判断結果を示す情報の入力を受け付け、
入力を受け付けた前記情報と前記第３データと前記第４データとを含むデータを、新たな教師データとして記憶部に記憶する、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【請求項６】
請求項５において、さらに、
前記新たな教師データに対応する前記評価関数を特定する、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【請求項７】
請求項５において、
前記重み付け値の機械学習を行う処理では、
各項目対の重要度を示す情報が記憶された記憶部を参照し、前記第１データ及び前記第２データの項目対から、前記重要度が高い所定数の項目対を特定し、
特定した前記所定数の項目対ごとに、前記複数の関数のそれぞれに対応する重み付け値の機械学習を行い、
前記評価関数を特定する処理では、特定した前記所定数の項目対ごとに、前記評価関数の特定を行い、
前記類似度を算出する処理では、特定した前記所定数の項目対ごとに、前記類似度の算出を行う、
ことを特徴とする学習プログラム。
【請求項８】
請求項７において、さらに、
前記記憶する処理の後、前記第１データ及び前記第２データの項目対のうち、前記所定数以上の数の項目対を前記重要度が高い順に特定し、
前記教師データに基づき、特定した前記所定数以上の数の項目対のうち、前記重み付け値の機械学習が行われていない項目対ごとに、前記複数の関数のそれぞれに対応する重み付け値の機械学習を行い、
特定した前記所定数以上の数の項目対のうち、前記重み付け値の機械学習が行われていない項目対ごとに、前記評価関数を特定し、
特定した前記所定数以上の数の項目対のうち、前記重み付け値の機械学習が行われていない項目対ごとに、前記類似度を算出し、
特定した前記所定数以上の数の項目対ごとの前記類似度と前記類似情報とから、前記パラメータの機械学習を行い、
前記信頼度を算出する処理と、前記入力を受け付ける処理と、前記新たな教師データを記憶する処理とを再度行う、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【請求項９】
請求項７において、
前記重要度は、前記教師データにおいて、情報が設定されていない割合が大きい項目からなる項目対ほど低い値になる、
ことを特徴とする学習プログラム。
【請求項１０】
記憶部に記憶された教師データに基づき、前記教師データに含まれる第１データ及び第２データの項目対の類似度を算出する際に用いられる複数の関数のそれぞれに対応する重み付け値について、前記項目対ごとに機械学習を行い、
前記複数の関数と、前記複数の関数のそれぞれに対応する重み付け値とに基づき、前記類似度を算出する評価関数を前記項目対ごとに特定する、
ことを特徴とする学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習プログラム及び学習方法に関する。
【背景技術】
【０００２】
例えば、利用者にサービスを提供する事業者（以下、単に事業者とも呼ぶ）は、サービスの提供を行うための業務システム（以下、情報処理システムとも呼ぶ）を構築して稼働させる。具体的に、事業者は、例えば、異なるデータベースにそれぞれ格納されたレコードから、同じ内容を示すレコードの組み合わせ（以下、レコード対とも呼ぶ）を特定して対応付ける処理（以下、名寄せ処理とも呼ぶ）を行う業務システムの構築を行う。
【０００３】
このような名寄せ処理では、例えば、各データベースにそれぞれ格納されたレコードの内容を、同じ意味を有する項目の組み合わせ（以下、項目対とも呼ぶ）ごとに比較する。そして、名寄せ処理では、例えば、予め機械学習を行った二値分類機（例えば、サポートベクトルマシンやロジスティック回帰等）を用いることによって、項目対ごとの類似関係が所定の条件を満たすと判定したレコード対を、同じ内容を示すレコード対として特定する（例えば、特許文献１乃至３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１５９８８６号公報
【特許文献２】特開２０１２−１５９８８４号公報
【特許文献３】特開２０１６−１１８９３１号公報
【非特許文献】
【０００５】
【非特許文献１】Peter Christen “Data Matching Concepts and Techniques for Record Linkage, Entity Resolution, and Duplicate Detection”2012 Springer
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、上記のような名寄せ処理を行う場合、事業者は、例えば、レコード対の比較に用いる関数を項目対ごとに予め決定する。具体的に、事業者は、この場合、例えば、各項目対に設定される情報の性質等に応じた関数の選択を項目対ごとに行う。これにより、事業者は、レコード対の内容が同一であるか否かの判定を精度良く行うことが可能になる。
【０００７】
しかしながら、比較を行う必要がある項目対の数が多い場合、関数の決定に伴う事業者の作業負担が増大する。そのため、事業者は、レコード対の比較に用いる関数の決定を容易に行うことができない場合がある。
【０００８】
そこで、一つの側面では、本発明は、複数レコードの比較に用いる関数の決定を容易に行うことを可能とする学習プログラム及び学習方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
実施の形態の一態様では、記憶部に記憶された教師データに基づき、前記教師データに含まれる第１データ及び第２データの項目対の類似度を算出する際に用いられる複数の関数のそれぞれに対応する重み付け値について、前記項目対ごとに機械学習を行い、前記複数の関数と、前記複数の関数のそれぞれに対応する重み付け値とに基づき、前記類似度を算出する評価関数を前記項目対ごとに特定する、処理をコンピュータに実行させる。
【発明の効果】
【００１０】
一つの側面によれば、複数レコードの比較に用いる関数の決定を容易に行うことを可能とする。
【図面の簡単な説明】
【００１１】
【図１】図１は、情報処理システム１０の構成を示す図である。
【図２】図２は、情報処理装置１によって行われる名寄せ処理の概略について説明を行う図である。
【図３】図３は、情報処理装置１によって行われる名寄せ処理の概略について説明を行う図である。
【図４】図４は、情報処理装置１によって行われる名寄せ処理の概略について説明を行う図である。
【図５】図５は、情報処理装置１及び情報処理装置２のハードウエア構成を示す図である。
【図６】図６は、情報処理装置１の機能のブロック図である。
【図７】図７は、第１の実施の形態における学習処理の概略を説明するフローチャート図である。
【図８】図８は、第１の実施の形態における学習処理の詳細を説明するフローチャート図である。
【図９】図９は、第１の実施の形態における学習処理の詳細を説明するフローチャート図である。
【図１０】図１０は、第１の実施の形態における学習処理の詳細を説明するフローチャート図である。
【図１１】図１１は、第１の実施の形態における学習処理の詳細を説明するフローチャート図である。
【図１２】図１２は、第１の実施の形態における学習処理の詳細を説明するフローチャート図である。
【図１３】図１３は、第１の実施の形態における学習処理の詳細を説明するフローチャート図である。
【図１４】図１４は、第１の実施の形態における学習処理の詳細を説明するフローチャート図である。
【図１５】図１５は、第１の実施の形態における学習処理の詳細を説明するフローチャート図である。
【図１６】図１６は、第１マスタデータ１３１の具体例について説明する図である。
【図１７】図１７は、第２マスタデータ１３２の具体例について説明する図である。
【図１８】図１８は、教師データ１３３の具体例について説明する図である。
【図１９】図１９は、重要度情報１３４の具体例について説明する図である。
【図２０】図２０は、教師データ１３３の具体例について説明する図である。
【図２１】図２１は、第１の実施の形態における学習処理の詳細を説明する図である。
【図２２】図２２は、第１の実施の形態における学習処理の詳細を説明する図である。
【図２３】図２３は、第１の実施の形態における学習処理の詳細を説明する図である。
【図２４】図２４は、第１の実施の形態における学習処理の詳細を説明する図である。
【図２５】図２５は、第１の実施の形態における学習処理の詳細を説明する図である。
【図２６】図２６は、第１の実施の形態における学習処理の詳細を説明する図である。
【図２７】図２７は、第１の実施の形態における学習処理の詳細を説明する図である。
【図２８】図２８は、第１の実施の形態における学習処理の詳細を説明する図である。
【発明を実施するための形態】
【００１２】
［情報処理システムの構成］
図１は、情報処理システム１０の構成を示す図である。図１に示す情報処理システム１０は、情報処理装置１と、記憶装置２ａ、２ｂ及び２ｃと、事業者が情報の入力等を行う操作端末３とを有する。以下、記憶装置２ａ、２ｂ及び２ｃを総称して記憶装置２とも呼ぶ。なお、記憶装置２ａ、２ｂ及び２ｃは、単一の記憶装置からなるものであってもよい。
【００１３】
記憶装置２ａ及び記憶装置２ｂには、名寄せ処理の対象である複数のレコードからなる第１マスタデータ１３１及び第２マスタデータ１３２がそれぞれ記憶されている。
【００１４】
また、記憶装置２ｃには、名寄せ処理を行うために予め機械学習を行う必要がある教師データ１３３が記憶されている。教師データ１３３には、例えば、第１マスタデータ１３１と同じ項目を有するレコード（以下、第１データとも呼ぶ）と、第２マスタデータと同じ項目を有するレコード（以下、第２データとも呼ぶ）と、そのレコード対が類似しているか否かを示す情報（以下、類似情報）とが含まれる。
【００１５】
情報処理装置１は、記憶装置２ｃに記憶された教師データ１３３を入力とすることによって、二値分類機の機械学習を行う。そして、情報処理装置１は、機械学習を行った二値分類機を用いることによって、記憶装置２ａに記憶された第１マスタデータ１３１に含まれる各レコード（以下、第３データとも呼ぶ）と、記憶装置２ｂに記憶された第２マスタデータ１３２に含まれる各レコード（以下、第４データとも呼ぶ）とが類似するか否かをそれぞれ判定し、類似すると判定したレコード対の対応付けを行う処理（名寄せ処理）を行う。以下、情報処理装置１における名寄せ処理の概略について説明を行う。
【００１６】
［名寄せ処理の概略］
図２から図４は、情報処理装置１における名寄せ処理の概略について説明を行う図である。具体的に、図２から図４は、能動学習による教師データ１３３の機械学習が行われる場合の名寄せ処理について説明を行う図である。能動学習は、事業者が入力した情報を含む新たな教師データ１３３を順次生成しながら機械学習を行うことにより、機械学習を行う必要がある教師データ１３３の数を抑える手法である。なお、図２から図４に示す例では、教師データ１３３に含まれるレコード対が項目対Ａ及び項目対Ｂのみを有する場合について説明を行う。
【００１７】
情報処理装置１は、例えば、記憶装置２ｃに記憶された教師データ１３３に含まれるレコード対ごとに、各レコード対に含まれる項目対Ａ及び項目対Ｂの類似度を算出する。具体的に、情報処理装置１は、事業者が項目対ごとに予め定めた関数をそれぞれ用いることによって、各レコード対に含まれる項目対Ａ及び項目対Ｂの類似度の算出を行う。
【００１８】
そして、情報処理装置１は、例えば、図２に示すように、教師データ１３３のそれぞれに対応する点を、各次元が各項目対の類似度に対応する高次元空間（図２に示す例では２次元平面）にそれぞれ表現する。図２に示す例では、レコード対が類似することを示す類似情報を含む教師データ１３３に対応する点が「〇」で表現され、レコード対が類似しないことを示す類似情報を含む教師データ１３３に対応する点が「△」で表現されている。
【００１９】
その後、情報処理装置１は、高次元空間に表現された各点（教師データ１３３のそれぞれに対応する各点）の情報を入力とすることにより、二値分類機の機械学習を行う。そして、情報処理装置１は、例えば、図３に示すように、「〇」で表現された点と「△」で表現された点との境界面（以下、判断面ＳＲとも呼ぶ）を取得する。なお、以下、図３に示すように、判断面ＳＲによって区分けされる領域のうち、原点から遠い領域を領域ＡＲ１とも呼び、原点から近い領域を領域ＡＲ２とも呼ぶ。
【００２０】
続いて、情報処理装置１は、図４に示すように、判断面ＳＲを用いることにより、第１マスタデータ１３１に含まれるレコードと第２マスタデータ１３２に含まれるレコードとからなるレコード対ごとに、各レコード対が類似するか否かを判定し、さらに、その判定結果の信頼度の算出を行う。具体的に、情報処理装置１は、図４に示すように、例えば、領域ＡＲ１に含まれる領域において判断面ＳＲから遠い位置に表現された点ＰＯ１に対応するレコード対を、高い信頼度（例えば、１に近い信頼度）で内容が類似するレコード対であると判定する。また、情報処理装置１は、例えば、領域ＡＲ１に含まれる領域において判断面ＳＲから近い位置に表現された点ＰＯ２に対応するレコード対を、低い信頼度（例えば、０に近い信頼度）で内容が類似するレコード対であると判定する。さらに、情報処理装置１は、例えば、領域ＡＲ２に含まれる領域において判断面ＳＲから遠い位置に表現された点ＰＯ３に対応するレコード対を、高い信頼度（例えば、１に近い信頼度）で内容が類似しないレコード対であると判定する。
【００２１】
なお、情報処理装置１は、以下の式１を用いることによって信頼度を算出するものであってよい。式１におけるＸは、判断面ＳＲから各点までの距離を示す変数である。
【００２２】
信頼度  ＝  ０．５＊ｔａｎｈ（Ｘ）＋０．５      （式１）
【００２３】
さらに、情報処理装置１は、第１マスタデータ１３１に含まれるレコードと第２マスタデータ１３２に含まれるレコードとからなるレコード対のうち、信頼度が所定の値に最も近いレコード対（例えば、信頼度が０．５に最も近いレコード対）を特定する。そして、情報処理装置１は、特定したレコード対が類似するか否かの情報を事業者が入力した場合、特定したレコード対と、特定したレコード対が類似するか否かを示す情報（事業者が入力した情報）とを含む新たな教師データ１３３を生成して機械学習を行う。
【００２４】
すなわち、情報処理装置１は、事業者が判断した情報を含む新たな教師データ１３３を順次生成しながら二値分類機の機械学習を行う。これにより、情報処理装置１は、二値分類機の精度を向上させることが可能な新たな教師データ１３３を効率的に生成することが可能になる。そのため、情報処理装置１は、二値分類機の精度を必要なレベルまで向上させるために機械学習を行う必要がある教師データ１３３の数を抑えることが可能になる。
【００２５】
その後、情報処理装置１は、必要な数の教師データ１３３の機械学習が完了した後の判断面ＳＲを用いることにより、第１マスタデータ１３１に含まれる各レコードと第２マスタデータ１３２に含まれる各レコードとからなるレコード対のそれぞれが類似するか否かを判定し、類似すると判定したレコード対の対応付け（名寄せ処理）を行う。
【００２６】
ここで、上記のような名寄せ処理を行う場合、事業者は、例えば、レコード対の比較に用いる関数を項目対ごとに予め決定する。具体的に、事業者は、例えば、各項目対の性質等に対応した関数の選択をそれぞれ行う。これにより、事業者は、レコード対の比較を精度良く行うことが可能になる。
【００２７】
しかしながら、比較を行う必要がある項目対の数が多い場合、関数の決定に伴う事業者の作業負担が増大する。そのため、事業者は、レコード対の比較に用いる関数の決定を容易に行うことができない場合がある。
【００２８】
そこで、本実施の形態における情報処理装置１は、記憶装置２に記憶された教師データ１３３に基づき、教師データ１３３のレコード対に含まれる各項目対の類似度を算出する際に用いられる複数の関数のそれぞれに対応する重み付け値の機械学習を行う。そして、情報処理装置１は、複数の関数と、複数の関数のそれぞれに対応する重み付け値とに基づき、類似度を算出する評価関数を項目対ごとに特定する。
【００２９】
すなわち、本実施の形態における情報処理装置１は、例えば、教師データ１３３に含まれる類似情報を目的変数とし、レコード対に含まれる項目対ごとの類似度を説明変数とする関数（例えば、ロジスティック回帰）の機械学習を行うことにより、項目対ごとであって複数の関数ごとの重み付け値を取得する。そして、情報処理装置１は、取得した重み付け値のそれぞれを項目対ごとに用いた関数を、項目対ごとの評価関数として算出する。
【００３０】
これにより、情報処理装置１は、項目対ごとに、類似度の算出に用いる各関数の重み付け値を取得することが可能になる。そのため、情報処理装置１は、項目対ごとに各関数の重み付けを変えることで、全ての項目対について同じ関数（複数の関数）を用いることによる類似度の算出を行うことが可能になる。したがって、事業者は、項目対ごとに関数の決定を行う必要がなくなり、名寄せ処理の実行に伴う作業負担を軽減させることが可能になる。
【００３１】
［情報処理システムのハードウエア構成］
次に、情報処理システム１０のハードウエア構成について説明する。図５は、情報処理装置１のハードウエア構成を示す図である。
【００３２】
情報処理装置１は、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００３３】
記憶媒体１０４は、例えば、教師データ１３３の機械学習を行う処理（以下、学習処理とも呼ぶ）を行うためのプログラム１１０を記憶する。
【００３４】
また、記憶媒体１０４は、例えば、学習処理を行う際に用いられる情報を記憶する情報格納領域１３０（以下、記憶部１３０とも呼ぶ）を有する。なお、図１で説明した記憶装置２は、例えば、情報格納領域１３０に対応するものであってもよい。
【００３５】
ＣＰＵ１０１は、記憶媒体１０４からメモリ１０２にロードされたプログラム１１０を実行して学習処理を行う。
【００３６】
外部インターフェース１０３は、例えば、操作端末３と通信を行う。
【００３７】
［情報処理システムの機能］
次に、情報処理システム１０の機能について説明を行う。図６は、情報処理装置１の機能のブロック図である。
【００３８】
情報処理装置１は、ＣＰＵ１０１やメモリ１０２等のハードウエアとプログラム１１０とが有機的に協働することにより、類似度算出部１１１と、重み付け学習部１１２と、関数特定部１１３と、分類機学習部１１４と、データ選択部１１５と、入力受付部１１６と、情報管理部１１７とを含む各種機能を実現する。
【００３９】
そして、情報処理装置１は、図６に示すように、第１マスタデータ１３１と、第２マスタデータ１３２と、教師データ１３３と、重要度情報１３４とを情報格納領域１３０に記憶する。
【００４０】
類似度算出部１１１は、情報格納領域１３０に記憶された教師データ１３３のレコード対ごとに、各レコード対に含まれる項目対それぞれの類似度を、複数の関数のそれぞれを用いることによって算出する。
【００４１】
重み付け学習部１１２は、情報格納領域１３０に記憶された教師データ１３３に基づき、教師データ１３３のレコード対に含まれる各項目対の類似度を算出する際に用いられる複数の関数のそれぞれに対応する重み付け値の機械学習を行う。具体的に、重み付け学習部１１２は、教師データ１３３に含まれる類似情報を目的変数とし、項目対ごとであって複数の関数ごとの類似度（類似度算出部１１１が算出した類似度）を説明変数とする関数（例えば、ロジスティック回帰）を用いることにより、項目対ごとであって複数の関数ごとの重み付け値の機械学習を行う。
【００４２】
関数特定部１１３は、複数の関数と、複数の関数のそれぞれに対応する重み付け値とに基づき、類似度を算出する評価関数を項目対ごとに特定する。
【００４３】
分類機学習部１１４は、情報格納領域１３０に記憶された教師データ１３３に基づき、二値分類機の機械学習を行う。
【００４４】
データ選択部１１５は、分類機学習部１１４が機械学習を行った二値分類機を用いることにより、情報格納領域１３０に記憶された第１マスタデータ１３１及び第２マスタデータ１３２に含まれるレコード対ごとに、各レコード対が類似するか否かの判定と、その判定結果の信頼度の算出とを行う。そして、データ選択部１１５は、算出した信頼度が所定の値に最も近いレコード対を特定（選択）する。
【００４５】
入力受付部１１６は、例えば、事業者が情報処理装置１に対して入力した情報であって、データ選択部１１５が選択したレコード対が類似するか否かを示す情報の入力を受け付ける。
【００４６】
情報管理部１１７は、情報格納領域１３０に記憶され第１マスタデータ１３１、第２マスタデータ１３２及び教師データ１３３等の取得を行う。また、情報管理部１１７は、データ選択部１１５が選択したレコード対と、入力受付部１１６が入力を受け付けた情報とを含む新たな教師データ１３３を生成する。重要度情報１３４についての説明は後述する。
【００４７】
［第１の実施の形態の概略］
次に、第１の実施の形態の概略について説明する。図７は、第１の実施の形態における学習処理の概略を説明するフローチャート図である。
【００４８】
情報処理装置１は、図７に示すように、処理開始タイミングまで待機する（Ｓ１のＮＯ）。処理開始タイミングは、例えば、事業者が情報処理装置１に対して学習処理を開始する旨の情報を入力したタイミングであってよい。
【００４９】
そして、処理開始タイミングになった場合（Ｓ１のＹＥＳ）、情報処理装置１は、情報格納領域１３０に記憶された教師データ１３３に基づき、教師データ１３３におけるレコード対の各項目対の類似度を算出する際に用いられる複数の関数のそれぞれに対応する重み付け値の機械学習を行う（Ｓ２）。
【００５０】
その後、情報処理装置１は、複数の関数と、Ｓ２の処理で機械学習を行った重み付け値とに基づき、類似度を算出する評価関数を項目対ごとに特定する（Ｓ３）。
【００５１】
すなわち、本実施の形態における情報処理装置１は、例えば、教師データ１３３に含まれる類似情報を目的変数とし、レコード対に含まれる項目対ごとの類似度を説明変数とする関数（例えば、ロジスティック回帰）の機械学習を行うことにより、項目対ごとであって複数の関数ごとの重み付け値を取得する。そして、情報処理装置１は、取得した重み付け値のそれぞれを項目対ごとに用いた関数を、項目対ごとの評価関数として算出する。
【００５２】
これにより、情報処理装置１は、項目対ごとに、類似度の算出に用いる各関数の重み付け値を取得することが可能になる。そのため、情報処理装置１は、項目対ごとに各関数の重み付けを変えることで、全ての項目対について同じ関数（複数の関数）を用いることによる類似度の算出を行うことが可能になる。したがって、事業者は、項目対ごとに関数の決定を行う必要がなくなり、名寄せ処理の実行に伴う作業負担を軽減させることが可能になる。
【００５３】
［第１の実施の形態の詳細］
次に、第１の実施の形態の詳細について説明する。図８から図１５は、第１の実施の形態における学習処理の詳細を説明するフローチャート図である。また、図１６から図２８は、第１の実施の形態における学習処理の詳細を説明する図である。図１６から図２８を参照しながら、図８から図１５に示す学習処理の詳細を説明する。
【００５４】
情報処理装置１は、図８に示すように、処理開始タイミングまで待機する（Ｓ１１のＮＯ）。そして、処理開始タイミングになった場合（Ｓ１１のＹＥＳ）、情報処理装置１の情報管理部１１７は、第１マスタデータ１３１、第２マスタデータ１３２及び教師データ１３３を情報格納領域１３０から取得する（Ｓ１２）。以下、第１マスタデータ１３１、第２マスタデータ１３２及び教師データ１３３の具体例について説明を行う。
【００５５】
［第１マスタデータの具体例］
初めに、第１マスタデータ１３１の具体例について説明を行う。図１６は、第１マスタデータ１３１の具体例について説明する図である。
【００５６】
図１６に示す第１マスタデータ１３１は、第１マスタデータ１３１に含まれる各レコードを識別する「項番」と、顧客の識別情報が設定される「顧客ＩＤ」と、顧客の名前が設定される「名前」と、顧客の電話番号が設定される「電話番号」と、顧客の住所が設定される「住所」と、顧客の郵便番号が設定される「郵便番号」とを項目として有している。
【００５７】
具体的に、図１６に示す第１マスタデータ１３１において、「項番」が「１」である情報には、「顧客ＩＤ」として「Ｃ００１」が設定され、「名前」として「武田商社」が設定され、「電話番号」として「４０１９」が設定され、「住所」として「神奈川」が設定されている。また、図１６に示す第１マスタデータ１３１において、「項番」が「１」である情報には、「郵便番号」として、情報が設定されていないことを示す「−」が設定されている。図１６に含まれる他の情報についての説明は省略する。
【００５８】
［第２マスタデータの具体例］
次に、第２マスタデータ１３２の具体例について説明を行う。図１７は、第２マスタデータ１３２の具体例について説明する図である。
【００５９】
図１７に示す第２マスタデータ１３２は、第２マスタデータ１３２に含まれる各レコードを識別する「項番」と、顧客の識別情報が設定される「Ｃｕｓｔｏｍｅｒ  ＩＤ」と、顧客の名前が設定される「Ｃｕｓｔｏｍｅｒ  Ｎａｍｅ」と、顧客の住所が設定される「Ａｄｄｒｅｓｓ」と、顧客の郵便番号が設定される「Ｐｏｓｔａｌ  Ｃｏｄｅ」と、顧客の電話番号が設定される「Ｔｅｌ」とを項目として有している。
【００６０】
具体的に、図１７に示す第２マスタデータ１３２において、「項番」が「１」である情報には、「Ｃｕｓｔｏｍｅｒ  ＩＤ」として「１０１」が設定され、「Ｃｕｓｔｏｍｅｒ  Ｎａｍｅ」として「田中造船」が設定され、「Ａｄｄｒｅｓｓ」として「東京都千代田区」が設定され、「Ｐｏｓｔａｌ  Ｃｏｄｅ」として「０３」が設定されている。また、図１７に示す第２マスタデータ１３２において、「項番」が「１」である情報には、「Ｔｅｌ」として「−」が設定されている。図１７に含まれる他の情報についての説明は省略する。
【００６１】
ここで、図１６に示す第１マスタデータ１３１における「顧客ＩＤ」、「名前」、「電話番号」、「住所」及び「郵便番号」は、図１７に示す第２マスタデータ１３２における「Ｃｕｓｔｏｍｅｒ  ＩＤ」、「Ｃｕｓｔｏｍｅｒ  Ｎａｍｅ」、「Ｔｅｌ」、「Ａｄｄｒｅｓｓ」及び「Ｐｏｓｔａｌ  Ｃｏｄｅ」のそれぞれと同じ内容の情報が設定される項目である。そのため、情報処理装置１は、この場合、「顧客ＩＤ」と「Ｃｕｓｔｏｍｅｒ  ＩＤ」との組み合わせと、「名前」と「Ｃｕｓｔｏｍｅｒ  Ｎａｍｅ」との組み合わせと、「電話番号」と「Ｔｅｌ」との組み合わせと、「住所」と「Ａｄｄｒｅｓｓ」との組み合わせと、「郵便番号」と「Ｐｏｓｔａｌ  Ｃｏｄｅ」との組み合わせとを、名寄せ処理を行う際の項目対としてそれぞれ特定する。
【００６２】
［教師データの具体例］
次に、教師データ１３３の具体例について説明を行う。図１８及び図２０は、教師データ１３３の具体例について説明する図である。
【００６３】
図１８等に示す教師データ１３３は、教師データ１３３に含まれる各レコードを識別する「項番」と、第１マスタデータ１３１に含まれるレコードと同じ項目を有するレコードが設定される「第１マスタデータ」とを項目として有する。また、図１８等に示す教師データ１３３は、第２マスタデータ１３２に含まれるレコードと同じ項目を有するレコードが設定される「第２マスタデータ」と、「第１マスタデータ」に設定されたレコードと「第２マスタデータ」に設定されたレコードとのレコード対の類似情報が設定される「類似情報」とを項目として有する。「類似情報」には、レコード対が類似であることを示す類似情報である「１」、または、レコード対が類似でないことを示す類似情報である「０」が設定される。
【００６４】
具体的に、図１８に示す教師データ１３３において、「項番」が「１」である情報には、「第１マスタデータ」として、図１６で説明した第１マスタデータ１３１における「項番」が「１」である情報に対応する情報が設定されており、「第２マスタデータ」として、図１７で説明した第２マスタデータ１３２における「項番」が「１」である情報に対応する情報が設定されている。また、図１８に示す教師データ１３３において、「項番」が「１」である情報には、「類似情報」として「１」が設定されている。図１８に含まれる他の情報についての説明が省略する。
【００６５】
図８に戻り、情報管理部１１７は、情報格納領域１３０に記憶された生成データ数情報（図示しない）が示す値を変数Ｐに設定する（Ｓ１３）。生成データ数情報は、例えば、事業者によって予め定められた情報であり、後述する変数Ｍに同じ値が設定されている間に生成される教師データ１３３の数を示す情報である。
【００６６】
そして、情報管理部１１７は、変数Ｍ及び変数Ｐ１に初期値として「１」を設定する（Ｓ１４）。
【００６７】
また、情報管理部１１７は、Ｓ１２の処理で取得した教師データ１３３のレコード対に含まれる項目対の数を変数Ｎに設定する（Ｓ１５）。
【００６８】
具体的に、図１８で説明した教師データ１３３には、「顧客ＩＤ」と「Ｃｕｓｔｏｍｅｒ  ＩＤ」との組み合わせを含む５つの項目対が含まれている。そのため、情報管理部１１７は、この場合、変数Ｎの初期値として「５」を設定する。
【００６９】
続いて、情報管理部１１７は、図９に示すように、情報格納領域１３０に記憶された重要度情報１３４を取得する（Ｓ２１）。
【００７０】
具体的に、情報管理部１１７は、Ｓ１２の処理で取得した教師データ１３３に含まれる項目対ごとの重要度情報１３４を取得する。重要度情報１３４は、例えば、事業者によって予め設定される情報であって、教師データ１３３に含まれる各項目対の重要度を示す情報である。各項目対の重要度は、例えば、第１マスタデータ１３１及び第２マスタデータ１３２において、情報が設定されていない欄の割合が少ない項目からなる項目対ほど高い値を示し、情報が設定されていない欄の割合が多い項目からなる項目対ほど低い値を示すものであってよい。また、各項目対の重要度は、例えば、事業者によって予め定められるものであってもよい。以下、重要度情報１３４の具体例について説明を行う。
【００７１】
［重要度情報の具体例］
図１９は、重要度情報１３４の具体例について説明する図である。
【００７２】
図１９に示す重要度情報１３４は、重要度情報１３４に含まれる各情報を識別する「項番」と、第１マスタデータ１３１に含まれる項目が設定される「第１項目」と、第２マスタデータ１３２に含まれる項目のうち、「第１項目」に設定された項目と同じ項目対に含まれる項目が設定される「第２項目」とを項目として有する。また、図１９に示す重要度情報１３４は、「第１項目」に設定された項目と「第２項目」に設定された項目とからなる項目対の重要度が設定される「重要度」を項目として有する。
【００７３】
具体的に、図１９に示す重要度情報１３４において、「項番」が「１」である情報には、「第１項目」として「名前」が設定され、「第２項目」として「Ｃｕｓｔｏｍｅｒ  Ｎａｍｅ」が設定され、「重要度」として「１０」が設定されている。また、図１９に示す重要度情報１３４において、「項番」が「２」である情報には、「第１項目」として「電話番号」が設定され、「第２項目」として「Ｔｅｌ」が設定され、「重要度」として「７」が設定されている。図１９に含まれる他の情報についての説明は省略する。
【００７４】
図９に戻り、情報管理部１１７は、Ｓ２１の処理で取得した教師データ１３３ごとに、各教師データ１３３のレコード対に含まれる項目対を、Ｓ２１の処理で取得した重要度情報１３４に対応する値の高い順に並び替える（Ｓ２２）。
【００７５】
これにより、情報処理装置１は、後述するように、教師データ１３３に含まれる項目対のうち、重要度が高い項目対を優先した機械学習を行うことが可能になる。
【００７６】
具体的に、図１９で説明した重要度情報１３４の「重要度」には、値が高い順に「１０」、「９」、「８」、「７」及び「６」が設定されている。そして、図１９で説明した重要度情報１３４において、「重要度」がそれぞれ「１０」、「９」、「８」、「７」及び「６」である情報の「第１項目」に設定された情報は、それぞれ「名前」、「住所」、「郵便番号」、「電話番号」及び「顧客ＩＤ」である。
【００７７】
そのため、情報管理部１１７は、図２０に示すように、図１８で説明した教師データ１３３における「第１マスタデータ」に設定された各情報を、「名前」、「住所」、「郵便番号」、「電話番号」及び「顧客ＩＤ」のそれぞれに対応する情報の順に並び替える。同様に、情報管理部１１７は、図１８で説明した教師データ１３３における「第２マスタデータ」に設定された各情報を、「Ｃｕｓｔｏｍｅｒ  Ｎａｍｅ」、「Ａｄｄｒｅｓｓ」、「Ｐｏｓｔａｌ  Ｃｏｄｅ」、「Ｔｅｌ」及び「Ｃｕｓｔｏｍｅｒ  ＩＤ」のそれぞれに対応する情報の順に並び替える。
【００７８】
そして、情報管理部１１７は、変数Ｍに設定されている値と変数Ｎに設定されている値との比較を行う（Ｓ２３）。
【００７９】
その結果、変数Ｍに設定されている値が変数Ｎに設定されている値以下である場合（Ｓ２３のＮＯ）、情報管理部１１７は、変数Ｐ１に設定されている値と変数Ｐに設定されている値との比較を行う（Ｓ２４）。
【００８０】
そして、変数Ｐ１に設定されている値が変数Ｐに設定されている値よりも大きい場合（Ｓ２４のＮＯ）、情報管理部１１７は、図１０に示すように、処理対象の教師データ１３３ごとに、先頭からＭ個の項目対を取得する（Ｓ３１）。
【００８１】
具体的に、図２０で説明した教師データ１３３（Ｓ１２の処理で取得した教師データ１３３）における「項番」が「１」であるレコードには、「第１マスタデータ」として「名前：武田商社，住所：神奈川，・・・」が設定されている。また、図２０で説明した教師データ１３３における「項番」が「１」であるレコードには、「第２マスタデータ」として「Ｃｕｓｔｏｍｅｒ  Ｎａｍｅ：武田商社，Ａｄｄｒｅｓｓ：神奈川県，・・・」が設定されている。そのため、情報管理部１１７は、変数Ｍが１である場合、「項番」が「１」であるレコードについての先頭から１個の項目対として、「名前：武田商社」と「Ｃｕｓｔｏｍｅｒ  Ｎａｍｅ：武田商社」とからなる項目対を特定する。
【００８２】
同様に、情報管理部１１７は、例えば、「項番」が「２」であるレコードについての先頭から１個の項目対として、「名前：武田商社」と「Ｃｕｓｔｏｍｅｒ  Ｎａｍｅ：田中造船」とからなる項目対を特定する。
【００８３】
続いて、情報処理装置１の類似度算出部１１１は、処理対象の教師データ１３３ごとに、Ｓ３１の処理で取得したＭ個の項目対の類似度を、Ｋ個の関数をそれぞれ用いることによって算出する（Ｓ３２）。Ｋ個の関数は、例えば、編集距離、条件付き確率場及びユークリッド距離等であってよい。
【００８４】
そして、情報処理装置１の重み付け学習部１１２は、重み付け学習処理を行う（Ｓ３３）。以下、重み付け学習処理について説明を行う。
【００８５】
［重み付け学習処理］
図１１及び図１２は、重み付け学習処理を説明するフローチャート図である。
【００８６】
重み付け学習部１１２は、図１１に示すように、処理対象の教師データ１３３の数を変数Ｒに設定する（Ｓ４１）。具体的に、重み付け学習部１１２は、Ｓ１２の処理で取得した教師データ１３３のレコード数を変数Ｒに設定する。また、重み付け学習部１１２は、変数Ｍ１に初期値として１を設定する（Ｓ４２）。
【００８７】
そして、重み付け学習部１１２は、処理対象の教師データ１３３ごとに、Ｓ３２の処理で算出した類似度をリストＳに設定する（Ｓ４３）。具体的に、重み付け学習部１１２は、Ｓ１２の処理で取得した教師データ１３３ごとに、Ｓ３２の処理で算出した類似度をリストＳに設定する。以下、変数Ｍに設定された値が１である場合におけるリストＳの具体例について説明を行う。
【００８８】
［リストＳの具体例（１）］
図２１（Ａ）は、変数Ｍに設定された値が１である場合におけるリストＳの具体例を説明する図である。
【００８９】
具体的に、Ｓ３２の処理において、図２０で説明した教師データ１３３における「項番」が「１」であるレコードに対応する類似度として「０．２」、「３．０」及び「０．４」が算出され、「項番」が「２」であるレコードに対応する類似度として「１．４」、「７．０」及び「１．３」が算出され、「項番」が「３」であるレコードに対応する類似度として「０．１」、「５．０」及び「０．８」が算出された場合、重み付け学習部１１２は、図２１（Ａ）に示すように、リストＳとして「（０．２，３．０，０．４），（１．４，７．０，１．３），（０．１，５．０，０．８），・・・」を生成する。
【００９０】
図１１に戻り、重み付け学習部１１２は、処理対象の教師データ１３３のそれぞれに含まれる類似情報をリストＦに設定する（Ｓ４４）。具体的に、重み付け学習部１１２は、Ｓ１２の処理で取得した教師データ１３３に含まれる各レコードに含まれる類似情報をリストＦに設定する。以下、リストＦの具体例について説明を行う。
【００９１】
［リストＦの具体例（１）］
図２１（Ｂ）は、変数Ｍに設定された値が１である場合におけるリストＦの具体例を説明する図である。
【００９２】
具体的に、図２０で説明した教師データ１３３において、例えば、「項番」が「１」から「３」である情報の「類似情報」には、それぞれ「１」、「０」及び「１」が設定されている。そのため、重み付け学習部１１２は、図２１（Ｂ）に示すように、リストＦとして「（１，０，１・・・）」を生成する。
【００９３】
図１１に戻り、重み付け学習部１１２は、変数Ｍ１に設定されている値と変数Ｍに設定されている値との比較を行う（Ｓ４５）。
【００９４】
その結果、変数Ｍ１に設定されている値が変数Ｍに設定されている値以下である場合（Ｓ４５のＹＥＳ）、重み付け学習部１１２は、図１２に示すように、処理対象の教師データ１３３ごとに、リストＳに含まれる類似度のうち、（Ｍ１−１）＊Ｋ＋１番目からＭ１＊Ｋ番目の類似度（Ｋ個の類似度）を取得する（Ｓ５１）。
【００９５】
具体的に、例えば、変数Ｍ１に設定されている値が１である場合、重み付け学習部１１２は、Ｓ１２の処理で取得した教師データ１３３に含まれるレコードごとに、リストＳにおける１番目から３番目までの類似度を取得する。
【００９６】
そして、重み付け学習部１１２は、処理対象の教師データ１３３ごとに、Ｓ５１の処理で取得したＫ個の類似度を説明変数として、Ｓ４４の処理で設定したリストＦに含まれる類似情報のうち、Ｓ５１の処理で取得したＫ個の類似度に対応する類似情報を目的関数とするロジスティック回帰の機械学習を行う（Ｓ５２）。
【００９７】
具体的に、重み付け学習部１１２は、以下の式２の機械学習を行う。式２におけるＸ１、Ｘ２・・・ＸＫには、Ｓ５１の処理で取得した類似度（Ｋ個の類似度）がそれぞれ設定される。すなわち、重み付け学習部１１２は、Ｓ１２の処理で取得した教師データ１３３に含まれる各レコードのそれぞれについて、式２の機械学習を繰り返し行う。
【００９８】
類似情報＝１／（１−ｅｘｐ（−（ｂ１＊Ｘ１＋ｂ２＊Ｘ２＋・・・＋ｂＫ＊ＸＫ＋ｂ０）      （式２）
【００９９】
続いて、情報処理装置１の関数特定部１１３は、Ｓ５２の処理で機械学習を行ったロジスティック回帰の傾きのそれぞれを、Ｓ３１の処理で取得したＭ個の項目対における、先頭からＭ１番目の項目対に対応する関数のそれぞれの重み付け値として特定する（Ｓ５３）。
【０１００】
具体的に、重み付け学習部１１２は、式２の機械学習を行うことによって取得されるパラメータ（傾き）であるｂ１、ｂ２・・・ｂＫを、Ｓ５１の処理で取得した類似度に対応する各関数の重み付け値として特定する。
【０１０１】
その後、重み付け学習部１１２は、変数Ｍ１に設定された値に１を加算する（Ｓ５４）。そして、重み付け学習部１１２は、Ｓ４５以降の処理を再度行う。
【０１０２】
一方、変数Ｍ１に設定されている値が変数Ｍに設定されている値よりも大きい場合（Ｓ４５のＮＯ）、重み付け学習部１１２は、重み付け学習処理を終了する。
【０１０３】
図１０に戻り、情報処理装置１の分類機学習部１１４は、二値分類機学習処理を行う（Ｓ３４）。以下、二値分類機学習処理について説明を行う。
【０１０４】
［二値分類機学習処理］
図１３は、二値分類機学習処理を説明するフローチャート図である。
【０１０５】
分類機学習部１１４は、図１３に示すように、Ｓ５３の処理で特定した重み付け値をリストＴに設定する（Ｓ６１）。具体的に、分類機学習部１１４は、Ｍ＊Ｋ個の重み付け値をリストＴに設定する。以下、変数Ｍに設定された値が１である場合におけるリストＴの具体例について説明を行う。
【０１０６】
［リストＴの具体例（１）］
図２２（Ａ）は、変数Ｍに設定された値が１である場合におけるリストＴの具体例を説明する図である。
【０１０７】
具体的に、Ｓ５３の処理において、図２０で説明した教師データ１３３における先頭の項目対に対応する重み付け値として「１．３」、「−３．９」及び「０．３」が算出された場合、分類機学習部１１４は、図２２（Ａ）に示すように、リストＴとして「（１．３，−３．９，０．３）」を生成する。
【０１０８】
そして、分類機学習部１１４は、処理対象の教師データ１３３ごとに、Ｓ４３の処理で設定したリストＳに含まれる類似度と、Ｓ６１の処理で設定したリストＴに含まれる重み付け値のうち、各類似度に対応する重み付け値とをそれぞれ乗算して算出した値をリストＳ１に設定する（Ｓ６２）。具体的に、分類機学習部１１４は、Ｓ１２の処理で取得した教師データ１３３に含まれるレコードごとに、リストＳ１に対する値の設定を行う。以下、変数Ｍに設定された値が１である場合におけるリストＳ１の具体例について説明を行う。
【０１０９】
［リストＳ１の具体例（１）］
図２２（Ｂ）は、変数Ｍに設定された値が１である場合におけるリストＳ１の具体例を説明する図である。
【０１１０】
具体的に、リストＳとして「（０．２，３．０，０．４），（１．４，７．０，１．３），（０．１，５．０，０．８），・・・」が生成され、リストＴとして「（１．３，−３．９，０．３）」が生成されている場合、分類機学習部１１４は、図２２（Ｂ）に示すように、リストＳ１として「（１．３＊０．２，−３．９＊３．０，０．３＊０．４），（１．３＊１．４，−３．９＊７．０，０．３＊１．３），（１．３＊０．１，−３．９＊５．０，０．３＊０．８），・・・」を生成する。
【０１１１】
図１３に戻り、分類機学習部１１４は、処理対象の教師データ１３３ごとに、Ｓ６２の処理で設定したリストＳ１に含まれる値（Ｍ＊Ｋ個の値）を説明変数とし、Ｓ４４の処理で設定したリストＦに含まれる類似情報のうち、Ｓ６２の処理で設定したリストＳ１に対応する類似情報を目的関数とする二値分類機の機械学習を行う（Ｓ６３）。具体的に、分類機学習部１１４は、Ｓ６３の処理において、ロジスティック回帰や決定木やランダムフォレスト等の機械学習を行う。
【０１１２】
図１０に戻り、情報処理装置１のデータ選択部１１５は、データ選択処理を行う（Ｓ３５）。以下、データ選択処理について説明を行う。
【０１１３】
［データ選択処理］
図１４及び図１５は、データ選択処理を説明するフローチャート図である。
【０１１４】
データ選択部１１５は、図１４に示すように、Ｓ１２の処理で取得した第１マスタデータ１３１に含まれるレコードと、Ｓ１２の処理で取得した第２マスタデータに含まれるレコードとのレコード対のそれぞれをリストＣに設定する（Ｓ７１）。以下、リストＣの具体例について説明を行う。
【０１１５】
［リストＣの具体例（１）］
図２３は、リストＣの具体例を説明する図である。
【０１１６】
具体的に、データ選択部１１５は、図２３に示すように、例えば、図１６で説明した第１マスタデータ１３１における「項番」が「１」であるレコードに対応する情報と、図１７で説明した第２マスタデータ１３２における「項番」が「１」であるレコードに対応する情報とを含むレコード対をリストＣに設定する。また、データ選択部１１５は、例えば、図１６で説明した第１マスタデータ１３１における「項番」が「２」であるレコードに対応する情報と、図１７で説明した第２マスタデータ１３２における「項番」が「２」であるレコードに対応する情報とを含むレコード対をリストＣに設定する。図２３に含まれる他の情報についての説明は省略する。
【０１１７】
図１４に戻り、データ選択部１１５は、リストＣが空であるか否かを判定する（Ｓ７２）。
【０１１８】
その結果、リストＣが空でないと判定した場合（Ｓ７２のＹＥＳ）、データ選択部１１５は、Ｓ７１の処理で設定したリストＣからレコード対を１つ取り出す（Ｓ７４）。そして、データ選択部１１５は、Ｓ７４の処理で取り出したレコード対における、重要度が高い順にＭ個の項目対を取得する（Ｓ７５）。
【０１１９】
具体的に、データ選択部１１５は、変数Ｍに設定された値が１である場合において、図２３で説明したリストＣにおける「項番」が「１」であるレコード対をＳ７４の処理において取得している場合、情報格納領域１３０に記憶された重要度情報１３４を参照し、取得したレコード対のうち、重要度が最も高い項目対である「名前：武田商社」と「Ｃｕｓｔｏｍｅｒ  Ｎａｍｅ：武田商社」とからなる項目対を取得する。
【０１２０】
そして、データ選択部１１５は、Ｓ７５の処理で取得した項目対の類似度を、Ｋ個の関数をそれぞれ用いることによって算出する（Ｓ７６）。具体的に、データ選択部１１５は、例えば、「名前：武田商社」と「Ｃｕｓｔｏｍｅｒ  Ｎａｍｅ：武田商社」とからなる項目対の類似度を、Ｓ３２の処理で説明したＫ個の関数のそれぞれを用いることによって算出する。
【０１２１】
続いて、データ選択部１１５は、図１５に示すように、Ｓ７６の処理で算出した類似度をリストＳ２に設定する（Ｓ８１）。そして、データ選択部１１５は、Ｓ８１の処理で設定したリストＳ２に含まれる類似度と、Ｓ６１の処理で設定したリストＴに含まれる重み付け値のうち、各類似度に対応する重み付け値とをそれぞれ乗算して算出した値をリストＳ３に設定する（Ｓ８２）。すなわち、データ選択部１１５は、Ｓ７５の処理で取得した項目対について、Ｓ６２の処理等と同様の処理を行う。
【０１２２】
その後、データ選択部１１５は、Ｓ６３の処理で機械学習を行った二値分類機を用いることにより、Ｓ８２の処理で設定したリストＳ３に含まれる値のそれぞれから、Ｓ８２の処理で設定したリストＳ３に対応する信頼度を算出する（Ｓ８３）。具体的に、データ選択部１１５は、例えば、上記の式１を用いることによって信頼度の算出を行う。
【０１２３】
そして、データ選択部１１５は、Ｓ８２の処理で設定したリストＳ３と、Ｓ８３の処理で算出した信頼度との組み合わせをリストＣ１に設定する（Ｓ８４）。以下、変数Ｍに設定された値が１である場合におけるリストＣ１の具体例について説明を行う。
【０１２４】
［リストＣ１の具体例（１）］
図２４は、変数Ｍに設定された値が１である場合におけるリストＣ１の具体例を説明する図である。
【０１２５】
具体的に、Ｓ７５の処理において「名前：武田商社」と「Ｃｕｓｔｏｍｅｒ  Ｎａｍｅ：田中造船」とからなる項目対が取得され、Ｓ８３の処理において信頼度として「０．９」が算出された場合、データ選択部１１５は、例えば、図２４に示すように、リストＣ１として「（{名前：武田商社}，{Ｃｕｓｔｏｍｅｒ  Ｎａｍｅ：武田商社}，０．９）」を生成する。図２４に含まれる他の情報についての説明は省略する。
【０１２６】
図１５に戻り、データ選択部１１５は、Ｓ８４の処理の後、Ｓ７２以降の処理を再度行う。
【０１２７】
そして、Ｓ７２の処理において、リストＣが空であると判定した場合（Ｓ７２のＮＯ）、データ選択部１１５は、Ｓ８４の処理で設定したリストＣ１に含まれるレコード対のうち、信頼度が所定値に最も近いレコード対を出力する（Ｓ７３）。具体的に、データ選択部１１５は、Ｓ８４の処理で設定したリストＣ１に含まれるレコード対のうち、例えば、信頼度が０．５に最も近いレコード対の出力を行う。その後、データ選択部１１５は、データ選択処理を終了する。
【０１２８】
図１０に戻り、情報処理装置１の入力受付部１１６は、Ｓ７３の処理で選択されたレコード対を出力する（Ｓ３６）。具体的に、入力受付部１１６は、Ｓ７３の処理で選択されたレコード対を操作端末３の出力装置（図示しない）に出力する。
【０１２９】
その後、入力受付部１１６は、Ｓ７３の処理で選択されたレコード対が類似するレコード対であるか否かの情報が事業者によって入力されるまで待機する（Ｓ３７のＮＯ）。
【０１３０】
そして、Ｓ７３の処理で選択されたレコード対が類似するレコード対であるか否かの情報が入力された場合（Ｓ３７のＹＥＳ）、情報管理部１１７は、Ｓ３６の処理で出力したレコード対と、Ｓ３７の処理で受け付けた情報とを含む新たな教師データ１３３を生成する（Ｓ３８）。
【０１３１】
さらに、情報管理部１１７は、この場合、変数Ｐ１に設定された値に１を加算する（Ｓ３９）。
【０１３２】
その後、情報管理部１１７は、Ｓ２４以降の処理を再度行う。なお、情報処理装置１は、変数Ｐ１に２以上の値が設定されている場合、直前に行われたＳ３８の処理において生成された新たな教師データ１３３のみを処理対象の教師データ１３３としてＳ２４以降の処理を行う。
【０１３３】
そして、変数Ｐ１に設定されている値が変数Ｐに設定されている値以下である場合（Ｓ２４のＹＥＳ）、情報管理部１１７は、変数Ｍに設定された値に１を加算する（Ｓ２５）。
【０１３４】
すなわち、情報処理装置１は、例えば、情報格納領域１３０に記憶された教師データ１３３における先頭の項目対のみの類似度を用いることによって、変数Ｐに設定された値に対応する数の新たな教師データ１３３の生成を行った後、情報格納領域１３０に記憶された教師データ１３３における先頭の項目対だけでなく、先頭から２番目の項目対の類似度を用いることによって、変数Ｐに設定された値に対応する数の新たな教師データ１３３の生成を行う。
【０１３５】
これにより、情報処理装置１は、図２から図４で説明した高次元空間（図２から図４で説明した高次元空間）の次元を段階的に増やすことが可能になる。そのため、情報処理装置１は、重要度が高い項目対の類似度を優先して用いることが可能になり、名寄せ処理の精度を向上させることが可能な新たな教師データ１３３を効率的に生成することが可能になる。したがって、情報処理装置１は、名寄せ処理の精度を必要なレベルまで向上させるために機械学習を行う必要がある教師データ１３３の数をより抑えることが可能になる。
【０１３６】
続いて、情報管理部１１７は、変数Ｐ１に初期値である１を設定する（Ｓ２６）。その後、情報管理部１１７は、Ｓ２３以降の処理を再度行う。
【０１３７】
そして、変数Ｍに設定されている値が変数Ｎに設定されている値よりも大きい場合（Ｓ２３のＹＥＳ）、情報処理装置１は、学習処理を終了する。
【０１３８】
なお、情報処理装置１は、変数Ｍに設定されている値が変数Ｎに設定されている値よりも大きくなる前に、学習処理を終了してもよい。すなわち、情報処理装置１は、例えば、重要度が低い項目対の類似度を用いることなく、学習処理を終了するものであってもよい。
【０１３９】
［変数Ｍに設定された値が４である場合の具体例］
次に、変数Ｍに設定された値が４である場合の具体例について説明を行う。図２５から図２８は、変数Ｍに設定された値が４である場合の具体例を説明する図である。
【０１４０】
［リストＳの具体例（２）］
初めに、変数Ｍに設定された値が４である場合におけるリストＳの具体例について説明を行う。具体的に、変数Ｍに設定された値が１である場合の処理から変数Ｍに設定された値が３である場合の処理が完了した後、Ｓ４３の処理において設定されるリストＳの具体例について説明を行う。図２５（Ａ）は、変数Ｍに設定された値が４である場合に設定されるリストＳの具体例を説明する図である。
【０１４１】
具体的に、Ｓ３２の処理において、図２０で説明した教師データ１３３における「項番」が「１」であるレコードに対応する類似度として「０．２」、「３．０」、「０．４」、「５．２」、「０．２」及び「０．６」等が算出され、「項番」が「２」であるレコードに対応する類似度として「１．４」、「７．０」、「１．３」、「９．２」、「２．５」及び「０．８」等が算出され、「項番」が「３」であるレコードに対応する類似度として「０．１」、「５．０」、「０．８」、「３．８」、「０．２」及び「０．６」等が算出された場合、重み付け学習部１１２は、図２５（Ａ）に示すように、リストＳとして「（０．２，３．０，０．４，５．２，０．２，０．６，・・・），（１．４，７．０，１．３，９．２，２．５，０．８，・・・），（０．１，５．０，０．８，３．８，０．２，０．６，・・・），・・・」を生成する。
【０１４２】
すなわち、変数Ｍに設定された値が４である場合、重み付け学習部１１２は、例えば、Ｓ３２の処理において、処理対象の教師データ１３３ごとに１２個の類似度の算出を行う。そのため、重み付け学習部１１２は、Ｓ４３の処理において、１２個の類似度の組が処理対象の教師データ１３３の数だけ含まれるリストＳの生成を行う。
【０１４３】
［リストＦの具体例（２）］
次に、変数Ｍに設定された値が４である場合におけるリストＦの具体例について説明を行う。具体的に、変数Ｍに設定された値が１である場合の処理から変数Ｍに設定された値が３である場合の処理が完了した後、Ｓ４４の処理において設定されるリストＦの具体例について説明を行う。図２５（Ｂ）は、変数Ｍに設定された値が４である場合に設定されるリストＦの具体例を説明する図である。
【０１４４】
具体的に、図２０で説明した教師データ１３３において、例えば、「項番」が「１」から「３」である情報の「類似情報」には、それぞれ「１」、「０」及び「１」が設定されている。そのため、重み付け学習部１１２は、図２５（Ｂ）に示すように、リストＦとして「（１，０，１・・・）」を生成する。
【０１４５】
［リストＴの具体例（２）］
次に、変数Ｍに設定された値が４である場合におけるリストＴの具体例について説明を行う。具体的に、変数Ｍに設定された値が１である場合の処理から変数Ｍに設定された値が３である場合の処理が完了した後、Ｓ６１の処理において設定されるリストＴの具体例について説明を行う。図２６（Ａ）は、変数Ｍに設定された値が４である場合に設定されるリストＴの具体例を説明する図である。
【０１４６】
具体的に、Ｓ５３の処理において、図２０で説明した教師データ１３３における「項番」が「１」であるレコードに含まれる項目対のそれぞれに対応する重み付け値として「１．３」、「−３．９」、「０．３」、「９．０」、「−９．２」及び「０．４」等（１２個の重み付け値）が算出された場合、分類機学習部１１４は、図２６（Ａ）に示すように、リストＴとして「（１．３，−３．９，０．３，９．０，−９．２，０．４，・・・）」を生成する。
【０１４７】
［リストＳ１の具体例（２）］
次に、変数Ｍに設定された値が４である場合におけるリストＳ１の具体例について説明を行う。具体的に、変数Ｍに設定された値が１である場合の処理から変数Ｍに設定された値が３である場合の処理が完了した後、Ｓ６２の処理において設定されるリストＳ１の具体例について説明を行う。図２６（Ｂ）は、変数Ｍに設定された値が４である場合に設定されるリストＳ１の具体例を説明する図である。
【０１４８】
具体的に、Ｓ４３の処理において、図２５（Ａ）で説明したリストＳが生成され、Ｓ６１の処理において、図２６（Ａ）で説明したリストＴが生成されている場合、分類機学習部１１４は、図２６（Ｂ）に示すように、リストＳ１として「（１．３＊０．２，−３．９＊３．０，０．３＊０．４，９．０＊０．２，−９．２＊０．４，０．４＊１．５，・・・），（１．３＊１．４，−３．９＊７．０，０．３＊１．３，９．０＊０．９，−９．２＊０．９，０．４＊１．６，・・・），（１．３＊０．１，−３．９＊５．０，０．３＊０．８，９．０＊０．１，−９．２＊０．１，０．４＊１．８，・・・），・・・」を生成する。
【０１４９】
［リストＣ１の具体例（２）］
次に、変数Ｍに設定された値が４である場合におけるリストＣ１の具体例について説明を行う。具体的に、変数Ｍに設定された値が１である場合の処理から変数Ｍに設定された値が３である場合の処理が完了した後、Ｓ８４の処理において設定されるリストＣ１の具体例について説明を行う。図２７及び図２８は、変数Ｍに設定された値が４である場合に設定されたリストＣ１の具体例を説明する図である。
【０１５０】
具体的に、Ｓ７５の処理において、「名前：武田商社」と「Ｃｕｓｔｏｍｅｒ  Ｎａｍｅ：武田商社」とからなる項目対、「住所：神奈川」と「Ａｄｄｒｅｓｓ：神奈川県」とからなる項目対、「郵便番号：」と「Ｐｏｓｔａｌ  ｃｏｄｅ：」とからなる項目対及び「電話番号：４０１９」と「Ｔｅｌ：０４５−９８３０」とからなる項目対が取得され、Ｓ８３の処理において、信頼度として「０．９」が算出された場合、データ選択部１１５は、図２７に示すように、リストＣ１として「（{名前：武田商社，住所：神奈川，郵便番号：，電話番号：４０１９}，{Ｃｕｓｔｏｍｅｒ  Ｎａｍｅ：武田商社，Ａｄｄｒｅｓｓ：神奈川県，Ｐｏｓｔａｌ  ｃｏｄｅ：，Ｔｅｌ：０４５−９８３０}，０．９）」を生成する。
【０１５１】
そして、リストＣが空になった場合、データ選択部１１５は、例えば、図２８に示すリストＣ１を参照し、信頼度として「０．５」に最も近い値が設定されたレコード対(例えば、上から２番目のレコード対)の出力を行う（Ｓ７２のＮＯ、Ｓ７３）。その後、情報管理部１１７は、出力したレコード対を含む新たな教師データ１３３の生成を行う（Ｓ３８）。
【０１５２】
このように、本実施の形態における情報処理装置１は、記憶装置２に記憶された教師データ１３３に基づき、教師データ１３３のレコード対に含まれる各項目対の類似度を算出する際に用いられる複数の関数のそれぞれに対応する重み付け値の機械学習を行う。そして、情報処理装置１は、複数の関数と、複数の関数のそれぞれに対応する重み付け値とに基づき、類似度を算出する評価関数を項目対ごとに特定する。
【０１５３】
すなわち、本実施の形態における情報処理装置１は、例えば、教師データ１３３に含まれる類似情報を目的変数とし、レコード対に含まれる項目対ごとの類似度を説明変数とする関数（例えば、ロジスティック回帰）の機械学習を行うことにより、項目対ごとであって複数の関数ごとの重み付け値を取得する。そして、情報処理装置１は、取得した重み付け値のそれぞれを項目対ごとに用いた関数を、項目対ごとの評価関数として算出する。
【０１５４】
これにより、情報処理装置１は、項目対ごとに、類似度の算出に用いる各関数の重み付け値を取得することが可能になる。そのため、情報処理装置１は、項目対ごとに各関数の重み付けを変えることで、全ての項目対について同じ関数（複数の関数）を用いることによる類似度の算出を行うことが可能になる。したがって、事業者は、項目対ごとに関数の決定を行う必要がなくなり、名寄せ処理の実行に伴う作業負担を軽減させることが可能になる。
【０１５５】
以上の実施の形態をまとめると、以下の付記のとおりである。
【０１５６】
（付記１）
記憶部に記憶された教師データに基づき、前記教師データに含まれる第１データ及び第２データの項目対の類似度を算出する際に用いられる複数の関数のそれぞれに対応する重み付け値について、前記項目対ごとに機械学習を行い、
前記複数の関数と、前記複数の関数のそれぞれに対応する重み付け値とに基づき、前記類似度を算出する評価関数を前記項目対ごとに特定する、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【０１５７】
（付記２）
付記１において、
前記項目対は、前記第１データに含まれる１以上の項目と、前記第２データに含まれる１以上の項目との対である、
ことを特徴とする学習プログラム。
【０１５８】
（付記３）
付記１において、
前記評価関数を特定する処理では、前記複数の関数のそれぞれによって算出された値と、前記複数の関数のそれぞれに対応する重み付け値との積和を算出する関数を、前記評価関数として特定する、
ことを特徴とする学習プログラム。
【０１５９】
（付記４）
付記１において、
前記教師データは、前記第１データと前記第２データとが類似するデータであるか否かを示す類似情報を含み、
前記重み付け値の機械学習を行う処理では、
前記複数の関数のそれぞれを用いることにより、前記項目対ごとであって前記複数の関数ごとに前記類似度を算出し、
前記類似情報を目的変数とし、前記項目対ごとであって前記複数の関数ごとの前記類似度を説明変数とする関数を用いることにより、前記項目対ごとであって前記複数の関数ごとの前記重み付け値の機械学習を行う、
ことを特徴とする学習プログラム。
【０１６０】
（付記５）
付記１において、
前記教師データは、前記第１データと前記第２データとが類似するデータであるか否かを示す類似情報を含み、さらに、
前記評価関数を用いることにより、前記項目対ごとに前記類似度を算出し、
算出した前記類似度と前記類似情報とから、複数のデータが類似するデータであるか否かの判定結果の信頼度を算出する際に用いられるパラメータの機械学習を行い、
機械学習を行った前記パラメータを用いることにより、記憶部に記憶された第３データ及び第４データに対応する前記信頼度を算出し、
算出した前記信頼度が所定の条件を満たす場合、前記第３データと前記第４データとが類似するデータであるか否かのユーザによる判断結果を示す情報の入力を受け付け、
入力を受け付けた前記情報と前記第３データと前記第４データとを含むデータを、新たな教師データとして記憶部に記憶する、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【０１６１】
（付記６）
付記５において、さらに、
前記新たな教師データに対応する前記評価関数を特定する、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【０１６２】
（付記７）
付記５において、
前記重み付け値の機械学習を行う処理では、
各項目対の重要度を示す情報が記憶された記憶部を参照し、前記第１データ及び前記第２データの項目対から、前記重要度が高い所定数の項目対を特定し、
特定した前記所定数の項目対ごとに、前記複数の関数のそれぞれに対応する重み付け値の機械学習を行い、
前記評価関数を特定する処理では、特定した前記所定数の項目対ごとに、前記評価関数の特定を行い、
前記類似度を算出する処理では、特定した前記所定数の項目対ごとに、前記類似度の算出を行う、
ことを特徴とする学習プログラム。
【０１６３】
（付記８）
付記７において、さらに、
前記記憶する処理の後、前記第１データ及び前記第２データの項目対のうち、前記所定数以上の数の項目対を前記重要度が高い順に特定し、
前記教師データに基づき、特定した前記所定数以上の数の項目対のうち、前記重み付け値の機械学習が行われていない項目対ごとに、前記複数の関数のそれぞれに対応する重み付け値の機械学習を行い、
特定した前記所定数以上の数の項目対のうち、前記重み付け値の機械学習が行われていない項目対ごとに、前記評価関数を特定し、
特定した前記所定数以上の数の項目対のうち、前記重み付け値の機械学習が行われていない項目対ごとに、前記類似度を算出し、
特定した前記所定数以上の数の項目対ごとの前記類似度と前記類似情報とから、前記パラメータの機械学習を行い、
前記信頼度を算出する処理と、前記入力を受け付ける処理と、前記新たな教師データを記憶する処理とを再度行う、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【０１６４】
（付記９）
付記７において、
前記重要度は、前記教師データにおいて、情報が設定されていない割合が大きい項目からなる項目対ほど低い値になる、
ことを特徴とする学習プログラム。
【０１６５】
（付記１０）
記憶部に記憶された教師データに基づき、前記教師データに含まれる第１データ及び第２データの項目対の類似度を算出する際に用いられる複数の関数のそれぞれに対応する重み付け値について、前記項目対ごとに機械学習を行い、
前記複数の関数と、前記複数の関数のそれぞれに対応する重み付け値とに基づき、前記類似度を算出する評価関数を前記項目対ごとに特定する、
ことを特徴とする学習方法。
【０１６６】
（付記１１）
付記１０において、
前記教師データは、前記第１データと前記第２データとが類似するデータであるか否かを示す類似情報を含み、
前記重み付け値の機械学習を行う工程では、
前記複数の関数のそれぞれを用いることにより、前記項目対ごとであって前記複数の関数ごとに前記類似度を算出し、
前記類似情報を目的変数とし、前記項目対ごとであって前記複数の関数ごとの前記類似度を説明変数とする関数を用いることにより、前記項目対ごとであって前記複数の関数ごとの前記重み付け値の機械学習を行う、
ことを特徴とする学習方法。
【０１６７】
（付記１２）
付記１０において、
前記教師データは、前記第１データと前記第２データとが類似するデータであるか否かを示す類似情報を含み、さらに、
前記評価関数を用いることにより、前記項目対ごとに前記類似度を算出し、
算出した前記類似度と前記類似情報とから、複数のデータが類似するデータであるか否かの判定結果の信頼度を算出する際に用いられるパラメータの機械学習を行い、
機械学習を行った前記パラメータを用いることにより、記憶部に記憶された第３データ及び第４データに対応する前記信頼度を算出し、
算出した前記信頼度が所定の条件を満たす場合、前記第３データと前記第４データとが類似するデータであるか否かのユーザによる判断結果を示す情報の入力を受け付け、
入力を受け付けた前記情報と前記第３データと前記第４データとを含むデータを、新たな教師データとして記憶部に記憶する、
ことを特徴とする学習方法。
【符号の説明】
【０１６８】
１：情報処理装置            ２ａ：記憶装置
２ｂ：記憶装置              ２ｃ：記憶装置
３：操作端末                １３１：第１マスタデータ
１３２：第２マスタデータ    １３３：教師データ
【図１】
2019185244.tif 000003
【図２】
2019185244.tif 000004
【図３】
2019185244.tif 000005
【図４】
2019185244.tif 000006
【図５】
2019185244.tif 000007
【図６】
2019185244.tif 000008
【図７】
2019185244.tif 000009
【図８】
2019185244.tif 000010
【図９】
2019185244.tif 000011
【図１０】
2019185244.tif 000012
【図１１】
2019185244.tif 000013
【図１２】
2019185244.tif 000014
【図１３】
2019185244.tif 000015
【図１４】
2019185244.tif 000016
【図１５】
2019185244.tif 000017
【図１６】
2019185244.tif 000018
【図１７】
2019185244.tif 000019
【図１８】
2019185244.tif 000020
【図１９】
2019185244.tif 000021
【図２０】
2019185244.tif 000022
【図２１】
2019185244.tif 000023
【図２２】
2019185244.tif 000024
【図２３】
2019185244.tif 000025
【図２４】
2019185244.tif 000026
【図２５】
2019185244.tif 000027
【図２６】
2019185244.tif 000028
【図２７】
2019185244.tif 000029
【図２８】
2019185244.tif 000030