(57)【要約】【課題】第１データモデルのカラムに対する同義カラム候補を第２データモデルから容易かつ適切に選出できるようにする。【解決手段】データ統合サーバ１０のＣＰＵ１０１は、工場データモデル２１０の自テーブル以外のテーブルの構成に係る語として存在する個数が所定数以下である第１希少語を検出するとともに、共通データモデル１４０における自テーブル以外のテーブルの構成に係る語として存在する個数が所定数以下である第２希少語を検出し、共通データモデル１４０に含まれる第２カラムが、工場データモデル２１０の第１カラムの同義カラム候補であることを判定するための判定条件を満たすか否かを判定し、判定条件を満たす場合に、第２カラムを第１カラムの同義カラム候補として選出する。判定条件は、第１カラムの周囲における第１希少語のいずれかと、第２カラムの周囲における第２希少語のいずれかと、が一致することである条件を含む。【選択図】図１
2018106400.tif 000002
【特許請求の範囲】
【請求項１】
第１データモデルのカラムと同義であるカラムの候補である同義カラム候補を第２データモデルから検出する同義カラム候補選出装置であって、
前記同義カラム候補選出装置のプロセッサは、
前記第１データモデルにおける各テーブルの構成に係る語であって、前記第１データモデルにおける自テーブル以外のテーブルの構成に係る語として存在する個数が所定数以下である１以上の第１希少語を検出するとともに、前記第２データモデルにおける各テーブルの構成に係る語であって、前記第２データモデルにおける自テーブル以外のテーブルの構成に係る語として存在する個数が所定数以下である１以上の第２希少語を検出する希少語検出処理を実行し、
前記第２データモデルの第２カラムが、前記第１データモデルの第１カラムの同義カラム候補であることを判定するための所定の判定条件を満たすか否かを判定する判定処理を実行し、
前記判定条件を満たす場合に、前記第２カラムを前記第１カラムの同義カラム候補として選出する選出処理を実行し、
前記判定条件は、前記第１カラムの周囲における前記第１希少語のいずれかと、前記第２カラムの周囲における前記第２希少語のいずれかと、が一致することである希少語判定条件を含む
同義カラム候補選出装置。
【請求項２】
前記プロセッサは、
前記第１カラムと、前記第１カラムの同義カラム候補として選定された前記第２カラムと、を表示出力する
請求項１に記載の同義カラム候補選出装置。
【請求項３】
前記プロセッサは、
前記第１カラムと前記第２カラムとのカラムの特徴の類似度であるカラム特徴類似度を特定し、
前記判定条件は、前記カラム特徴類似度が所定の閾値以上であることである条件を含む
請求項１又は請求項２に記載の同義カラム候補選出装置。
【請求項４】
前記プロセッサは、
前記カラム特徴類似度が所定の閾値以上である第１カラムと第２カラムとを対象に、前記判定処理を実行する
請求項３に記載の同義カラム候補選出装置。
【請求項５】
前記プロセッサは、
同一の第１カラムとの前記カラム特徴類似度が所定の閾値以上であると特定された所定数以上の第２カラムと、前記第１カラムとを対象に、前記判定処理を実行する
請求項４に記載の同義カラム候補選出装置。
【請求項６】
前記判定条件は、前記第１カラムの周囲における前記第１希少語のいずれかと、前記第２カラムの周囲における前記第２希少語のいずれかと、が一致することには、前記第１希少語のいずれかと、前記第２希少語のいずれかとが部分一致する場合も含む
請求項１から請求項５のいずれか一項に記載の同義カラム候補選出装置。
【請求項７】
前記所定数は、０である
請求項１から請求項６のいずれか一項に記載の同義カラム選出装置。
【請求項８】
前記第１カラムの周囲とは、前記第１カラムを含む第１テーブル、又は前記第１テーブルと前記第１テーブルの上位又は下位の少なくとも一方のテーブルを含む範囲であり、前記第２カラムの周囲とは、前記第２カラムを含む第２テーブル、又は前記第２テーブルと前記第２テーブルの上位又は下位の少なくとも一方のテーブルを含む範囲である
請求項１から請求項７のいずれか一項に記載の同義カラム選出装置。
【請求項９】
前記プロセッサは、
ユーザからの、判定条件として、希少語判定条件を含めるか否かの指定を受け付け、
前記希少語判定条件を含めないとの指定を受け付けた場合には、前記判定処理において、前記希少語判定条件以外の条件を満たすか否かを判定する
請求項１から請求項８のいずれか一項に記載の同義カラム候補選出装置。
【請求項１０】
前記プロセッサは、
ユーザからの同一の希少語とみなす語の組の指定を受け付け、
前記受け付けた語の組を記憶装置に記憶させ、
前記第１カラムの周囲における前記第１希少語のいずれかと、前記第２カラムの周囲における前記第２希少語のいずれかと、が一致することには、前記第１希少語のいずれかと、前記第２希少語のいずれかとの組が、前記語の組と一致する場合も含む
請求項１から請求項９のいずれか一項に記載の同義カラム候補選出装置。
【請求項１１】
前記プロセッサは、
ユーザからの、第１カラムと、前記第１カラムの同義カラムとする第２カラムとを指定する同義カラム確定情報を取得し、
前記同義カラム確定情報に基づいて、前記第２テーブルに前記第１テーブルの第１カラムの同義カラム候補となる第２カラムが存在する可能性を示すテーブル類似度を特定し、
前記テーブル類似度が所定値以上である前記第１テーブル及び前記第２テーブルについて、同義カラムが確定していない第１カラムに対する同義カラム候補として、同義カラムとして指定されていない第２カラムを選出する
請求項１から請求項１０のいずれか一項に記載の同義カラム候補選出装置。
【請求項１２】
前記プロセッサは、
前記第１データモデル又は前記第２データモデルの一方のテーブル構成に係る語を、他方のテーブル構成に係る語の言語に翻訳し、
前記翻訳後のテーブル構成に係る語を利用して、前記希少語検出処理、前記判定処理を実行する
請求項１から請求項１１のいずれか一項に記載の同義カラム候補選出装置。
【請求項１３】
前記プロセッサは、
前記第１カラムと、前記第２カラムとのカラム特徴類似度を所定の計算式に基づいて特定し、
ユーザからの、第１カラムと、前記第１カラムの同義カラムとする第２カラムとを指定する同義カラム確定情報を取得し、
前記同義カラム確定情報に含まれる前記第１カラムと、前記第２カラムとの前記カラム特徴類似度が高く特定されるように、前記計算式を調整する
請求項１から請求項１２のいずれか一項に記載の同義カラム候補選出装置。
【請求項１４】
第１データモデルのカラムと同義であるカラムの候補である同義カラム候補を第２データモデルから検出する同義カラム候補選出装置による同義カラム候補選出方法であって、
前記同義カラム候補選出装置が、
前記第１データモデルにおける各テーブルの構成に係る語であって、前記第１データモデルにおける自テーブル以外のテーブルの構成に係る語として存在する個数が所定数以下である１以上の第１希少語を検出するとともに、前記第２データモデルにおける各テーブルの構成に係る語であって、前記第２データモデルにおける自テーブル以外のテーブルの構成に係る語として存在する個数が所定数以下である１以上の第２希少語を検出する希少語検出処理を実行し、
前記第２データモデルの第２カラムが、前記第１データモデルの第１カラムの同義カラム候補であることを判定するための所定の判定条件を満たすか否かを判定する判定処理を実行し、
前記判定条件を満たす場合に、前記第２カラムを前記第１カラムの同義カラム候補として選出する選出処理を実行し、
前記判定条件は、前記第１カラムの周囲における前記第１希少語のいずれかと、前記第２カラムの周囲における前記第２希少語のいずれかと、が一致することである希少語判定条件を含む
同義カラム候補選出方法。
【請求項１５】
第１データモデルのカラムと同義であるカラムの候補である同義カラム候補を第２データモデルから検出する同義カラム候補選出装置を構成するコンピュータに実行させるための同義カラム候補選出プログラムであって、
前記コンピュータに、
前記第１データモデルにおける各テーブルの構成に係る語であって、前記第１データモデルにおける自テーブル以外のテーブルの構成に係る語として存在する個数が所定数以下である１以上の第１希少語を検出するとともに、前記第２データモデルにおける各テーブルの構成に係る語であって、前記第２データモデルにおける自テーブル以外のテーブルの構成に係る語として存在する個数が所定数以下である１以上の第２希少語を検出する希少語検出処理を実行させ、
前記第２データモデルの第２カラムが、前記第１データモデルの第１カラムの同義カラム候補であることを判定するための所定の判定条件を満たすか否かを判定する判定処理を実行させ、
前記判定条件を満たす場合に、前記第２カラムを前記第１カラムの同義カラム候補として選出する選出処理を実行させ、
前記判定条件は、前記第１カラムの周囲における前記第１希少語のいずれかと、前記第２カラムの周囲における前記第２希少語のいずれかと、が一致することである希少語判定条件を含む
同義カラム候補選出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１データモデルのカラムに対する同義カラムの候補を第２データモデルから選出する同義カラム候補選出装置等に関する。
【背景技術】
【０００２】
工場のリソース（人、設備）の非稼働時間が長く、設備維持費のために、利益が少なくなることが問題になっており、複数の工場間でリソース共有したいという要求が近年提唱されている。そこで、リソース共有を仲介するサービス（リソース共有仲介サービス）が求められている。工場設備や人手などのリソースを工場間で共有することで、設備稼働率を向上させることが可能となる他、いくつかの利点が生まれる。
【０００３】
例えば、或る工場において、稼働率１００％の設備の処理完了を待って作業が滞っている工程がある場合、他工場のリソースを借りることによってリードタイムを削減できる。また、例えば、高価な製造設備を一時利用したい場合、他工場から借りることで設備購入コストを削減することが可能である。
【０００４】
リソース共有仲介サービスの実現に向けて、工場現場から設備情報や生産計画などのデータ（ＣＳＶ、Ｅｘｃｅｌ、ＲＤＢなど）を収集し、リソース共有サービスで利用される共通データモデル（ＲＤＢ、ＸＭＬなど）に格納する必要があるが、工場現場データのデータモデルと、共通データモデルとが異なるために、工場現場データを共通データに変換する必要がある。
【０００５】
データ変換を支援する技術として、例えば、特許文献１には、データベースへの検索クエリを用いて同義カラムを検出する技術が記載されている。また、非特許文献１には、カラム特徴量を用いて同義カラムを検出する技術が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２３２８７９号公報
【非特許文献】
【０００７】
【非特許文献１】Ｅｍｂｌｙ，Ｄａｖｉｄ  Ｗ．，Ｄａｖｉｄ  Ｊａｃｋｍａｎ，ａｎｄ  Ｌｉ  Ｘｕ．  “Ｍｕｌｔｉｆａｃｅｔｅｄ  Ｅｘｐｌｏｉｔａｔｉｏｎ  ｏｆ  Ｍｅｔａｄａｔａ  ｆｏｒ  Ａｔｔｒｉｂｕｔｅ  Ｍａｔｃｈ  Ｄｉｓｃｏｖｅｒｙ  ｉｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｉｎｔｅｇｒａｔｉｏｎ．”  Ｗｏｒｋｓｈｏｐ  ｏｎ  ｉｎｆｏｒｍａｔｉｏｎ  ｉｎｔｅｇｒａｔｉｏｎ  ｏｎ  ｔｈｅ  Ｗｅｂ，  ２００１．
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１の技術では、データベースへの検索クエリが存在しない場合、利用できないといった課題がある。例えば、新規にデータモデルを導入する場合には、検索クエリは、まだ発行されていないので、特許文献１の技術を使用することはできない。
【０００９】
非特許文献１の技術では、名前や型が類似している（もしくは同じ）カラム（例:ＩＤや開始・終了時刻など）が同データモデル内に頻出する際、それら頻出カラムを区別することが難しく、データ変換に労力を要するといった課題がある。
【００１０】
本発明は、上記事情に鑑みなされたものであり、その目的は、第１データモデルのカラムに対する同義カラム候補を第２データモデルから容易かつ適切に選出することのできる技術を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、一観点に係る同義カラム候補選出装置は、第１データモデルのカラムと同義であるカラムの候補である同義カラム候補を第２データモデルから検出する同義カラム候補選出装置であって、同義カラム候補選出装置のプロセッサは、第１データモデルにおける各テーブルの構成に係る語であって、第１データモデルにおける自テーブル以外のテーブルの構成に係る語として存在する個数が所定数以下である１以上の第１希少語を検出するとともに、第２データモデルにおける各テーブルの構成に係る語であって、第２データモデルにおける自テーブル以外のテーブルの構成に係る語として存在する個数が所定数以下である１以上の第２希少語を検出する希少語検出処理を実行し、第２データモデルの第２カラムが、第１データモデルの第１カラムの同義カラム候補であることを判定するための所定の判定条件を満たすか否かを判定する判定処理を実行し、判定条件を満たす場合に、第２カラムを第１カラムの同義カラム候補として選出する選出処理を実行し、判定条件は、第１カラムの周囲における第１希少語のいずれかと、第２カラムの周囲における第２希少語のいずれかと、が一致することである希少語判定条件を含む。
【発明の効果】
【００１２】
本発明によれば、第１データモデルのカラムに対する同義カラム候補を第２データモデルから容易かつ適切に選出することができる。
【図面の簡単な説明】
【００１３】
【図１】実施例１に係る計算機システムの一例を示す構成図である。
【図２】実施例１に係るマッピング候補選出処理の概要を示すフローチャートである。
【図３】実施例１に係る工場データモデル及び共通データモデルの一例を示す図である。
【図４】実施例１に係る工場データテーブルの一例を示す図である。
【図５】実施例１に係る共通データテーブルの一例を示す図である。
【図６】実施例１に係るデータ統合サーバの一部の機能構成図である。
【図７】実施例１に係るマッピング候補選出処理のフローチャートである。
【図８】実施例１に係るカラム特徴マッチによるマッピング候補選出処理のフローチャートである。
【図９】実施例１に係るカラム特徴管理情報の一例を示す図である。
【図１０】実施例１に係るカラム特徴マッチ度管理情報の一例を示す図である。
【図１１】実施例１に係る希少語マッチによるマッピング候補選出処理のフローチャートである。
【図１２】実施例１に係る希少語抽出処理のフローチャートである。
【図１３】実施例１に係る希少語管理情報の一例を示す図である。
【図１４】実施例１に係るテーブルマッチによるマッピング候補選出処理のフローチャートである。
【図１５】実施例１に係るテーブルマッチ度算出処理のフローチャートである。
【図１６】実施例１に係るテーブルマッチ度管理情報の一例を示す図である。
【図１７】実施例１に係るテーブルマッチ度の算出の具体例を説明する図である。
【図１８】実施例１に係るマッピング候補表示画面の一例を示す図である。
【図１９】実施例１に係る希少語調整画面の一例を示す図である。
【図２０】実施例２に係るデータ統合サーバの一部の機能構成図である。
【図２１】実施例２に係るマッピング候補選出処理のフローチャートである。
【図２２】実施例２に係る算出式重み調整処理のフローチャートである。
【図２３】実施例３に係る希少語マッチによるマッピング候補選出処理のフローチャートである。
【発明を実施するための形態】
【００１４】
いくつかの実施例について、図面を参照して説明する。なお、以下に説明する実施例は特許請求の範囲に係る発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１５】
なお、以下の実施例の構成図における制御線や情報線は、説明上必要と考えられるものを示しており、必ずしもすべての制御線や情報線を示しているとは限らない。
【実施例１】
【００１６】
図１は、実施例１に係る計算機システムの一例を示す構成図である。
【００１７】
計算機システムは、データ統合サーバ１０と、複数（図では、３）の工場サーバ２０、２１、２２と、複数（図では、３）のクライント３０、３１、３２とを備えている。
【００１８】
データ統合サーバ１０と工場サーバ（２０、２１、２２）とは、ネットワーク１１を介して接続され、データ統合サーバ１０とクライント（３０、３１、３２）とは、ネットワーク１２を介して接続されている。なお、ネットワーク１１，１２は、例えば、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であってもよく、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やその他のいかなるネットワークであってもよい。
【００１９】
データ統合サーバ１０は、同義カラム候補選出装置の一例であり、工場サーバ（２０、２１、２２）から送信される工場データモデル２１０（第１データモデル）と、共通データモデル１４０（第２データモデル）とに基づいて、工場データモデル２１０のカラムと同義である共通データモデル１４０のカラムの候補（同義カラム候補）を選出するための処理を実行する。工場データモデル２１０は、工場データを格納するデータモデルである。工場データは、工場に勤務する作業者、製造設備や製品に関する情報を含む。データモデルは、複数のテーブルを含む。テーブルは、複数のカラムを含む。カラムは、情報を格納するためのフィールドであり、例えば、作業者の氏名、設備の稼動日時、製品の部品等が設定される。共通データモデル１４０は、工場データを用いたサービスで利用されるデータを共通化して格納するためのデータモデルである。例えば、リソース共有サービスで工場データを利用する場合には、共通データとしては、工場に勤務する作業者の氏名、設備の稼働時間等を含む。同義カラムは、或るカラムとは異なるデータモデルに属するカラムであって、或るカラムと同義のデータを格納するカラムのことをいう。
【００２０】
データ統合サーバ１０は、ＣＰＵ１０１、主記憶装置１０２、ストレージ１０３、及びネットワークＩ／Ｆ（インターフェース）１０４を含む。ネットワークＩ／Ｆ１０４は、ネットワーク１１，１２を介して他の装置（工場サーバ２０、クライアント３０）と通信するためインターフェースである。ＣＰＵ１０１は、主記憶装置１０２に格納されているプログラムに従って各種処理を実行する。
【００２１】
ストレージ１０３は、例えばバードディスクやフラッシュメモリなどであり、ＣＰＵ１０１で実行されるプログラムや、ＣＰＵ１０１に利用されるデータを記憶する。本実施形態では、ストレージ１０３は、共通データモデル１４０を記憶する。
【００２２】
主記憶装置１０２は、例えば、ＲＡＭであり、ＣＰＵ１０１で実行されるプログラムや、必要な情報を記憶する。本実施形態では、主記憶装置１０２は、カラム特徴マッチ部１１０、希少語マッチ部１２０、及びテーブルマッチ部１３０を実現するためのプログラムを記憶する。
【００２３】
カラム特徴マッチ部１１０は、カラム特徴マッチによってマッピング候補を選出する処理（カラム特徴マッチによるマッピング候補選出処理）を実行する。カラム特徴は、カラム名やカラムが属するテーブル名など、カラムを特徴付ける情報である。カラム特徴マッチは、異なるデータモデルの一対のカラム（カラムペア）に関してカラム特徴の類似度（カラム特徴マッチ度）を計算等する処理である。マッピング候補（同義カラム候補）とは、或るカラムに対して同義カラムの候補となるカラムのことをいう。
【００２４】
希少語マッチ部１２０は、希少語マッチによってマッピング候補を選出する処理（希少語マッチによるマッピング候補選出処理）を実行する。希少語は、テーブルの構成を特徴付けるテーブル内の語（テーブルの構成に係る語）であって、他のテーブルに所定数以下しか存在していない語である。所定数としては、ゼロ、すなわち、希少語を、他のテーブルには全く存在しない語としてもよい。所定数をどのようにするかは、対象とするデータモデルに応じて決定してもよく、所定数をどのようにするかによって、マッピング候補の数を多くするのか、マッピング候補の精度を高くするのかを調整することができる。テーブルの構成を特徴付けるテーブル内の語とは、例えば、テーブルの名称や、カラム名称に含まれる語である。希少語マッチは、工場データモデル２１０中のカラムと、共通データモデル１４０中のカラムとの一対のカラム（カラムペア）に関して、それぞれのカラム周囲の希少語が一致しているか否かを判定する処理である。カラム周囲としては、カラムが属するテーブル内としてもよく、カラムが属するテーブルと、その上位又は下位のテーブルの少なくとも一方を含んだ範囲としてもよい。カラム周囲をどのように設定するかは、対象とするデータモデルに応じて決定すればよく、カラム周囲を狭く設定すれば、精度が上がるが、マッピング候補の数は下がる傾向となる一方、カラム周囲を広く設定すれば、精度は下がるが、マッピング候補の数は上がる傾向となる。
【００２５】
テーブルマッチ部１３０は、テーブルマッチによりマッピング候補を選出する処理（テーブルマッチによるマッピング候補選出処理）を実行する。テーブルマッチとは、工場データモデル２１０中のテーブルと、共通データモデル１４０中のテーブルとの一対のテーブル（テーブルペア）のテーブル間の類似度（テーブルマッチ度）を計算する処理である。なお、カラム特徴マッチ部１１０、希少語マッチ部１２０、及びテーブルマッチ部１３０が有する機能は、一つの機能部にまとめてもよいし、また、複数の機能部に分割してもよい。例えば、カラム特徴マッチ部１１０が、希少語マッチ部１２０及びテーブルマッチ部１３０の機能を有してもよい。
【００２６】
工場サーバ２０は、ＣＰＵ２０１、主記憶装置２０２、ネットワークＩ／Ｆ２０３、及びストレージ２０４を含む。工場サーバ２１及び２２の構成は、工場サーバ２０と同様である。
【００２７】
ネットワークＩ／Ｆ２０３は、ネットワーク１１を介して他の装置（データ統合サーバ１０等）と通信するためインターフェースである。ＣＰＵ２０１は、主記憶装置２０２に格納されているプログラムに従って各種処理を実行する。
【００２８】
ストレージ２０４は、例えばバードディスクやフラッシュメモリなどであり、ＣＰＵ２０１で実行されるプログラムや、ＣＰＵ２０１に利用されるデータを記憶する。本実施形態では、ストレージ２０４は、工場データモデル２１０を記憶する。
【００２９】
主記憶装置２０２は、例えば、ＲＡＭであり、ＣＰＵ２０１で実行されるプログラムや、必要な情報を記憶する。
【００３０】
クライアント３０は、ＣＰＵ３０１、主記憶装置３０２、ユーザＩ／Ｆ３０３、ネットワークＩ／Ｆ３０４、及びストレージ３０５を含む。クライアント３１及び３２は、クライアント３０と同様の構成である。
【００３１】
ネットワークＩ／Ｆ３０４は、ネットワーク１２を介して他の装置（データ統合サーバ１０等）と通信するためインターフェースである。ＣＰＵ３０１は、主記憶装置３０２に格納されているプログラムに従って各種処理を実行する。主記憶装置３０２は、例えば、ＲＡＭであり、ＣＰＵ３０１で実行されるプログラムや、必要な情報を記憶する。ストレージ３０５は、例えばバードディスクやフラッシュメモリなどであり、ＣＰＵ３０１で実行されるプログラムや、ＣＰＵ３０１に利用されるデータを記憶する。ユーザインターフェース（ユーザＩ／Ｆ）３０３は、データ統合サーバ１０での処理における出力結果を表示し、また、ユーザからの入力を受け付ける。
【００３２】
次に、マッピング候補選出処理の概要について説明する。
【００３３】
図２は、実施例１に係るマッピング候補選出処理の概要を示すフローチャートである。
【００３４】
まず、クライント３０は、工場データモデル２１０及び共通データモデル１４０の取得を、ネットワーク１２を介してデータ統合サーバ１０に指示する。指示を受け取ったデータ統合サーバ１０は、ネットワーク１１を介して工場データモデル２１０の送信を工場サーバ２０に依頼する。工場サーバ２０は、ストレージ２０４から工場データモデル２１０を取得し、ネットワーク１１を介してデータ統合サーバ１０に送信する。データ統合サーバ１０は、工場データモデル２１０を受信し、主記憶装置１０２に保持する。また、データ統合サーバ１０は、ストレージ１０３から共通データモデル１４０を取得し、主記憶装置１０２に保持する（ステップＳ１０）。
【００３５】
次いで、データ統合サーバ１０のカラム特徴マッチ部１１０は、ステップＳ１０で取得した工場データモデル２１０と、共通データモデル１４０とについて、カラム特徴マッチによるマッピング候補選出処理を行う（ステップＳ２０）。このカラム特徴マッチによるマッピング候補選出処理によると、工場データモデル２１０のカラムのマッピング候補となる共通データモデル１４０のカラムが選出される。
【００３６】
次いで、データ統合サーバ１０は、ステップＳ２０で選出されたマッピング候補の多いカラムを対象に、希少語マッチによるマッピング候補選出処理を実行する（ステップＳ３０）。この希少語マッチによるマッピング候補選出処理によると、カラム特徴が類似するためにステップＳ２０においてマッピング候補が多く検出されたカラムに関して、マッピング候補を減らすことができる。
【００３７】
次いで、データ統合サーバ１０は、テーブルマッチによるマッピング候補選出処理を実行する（ステップＳ４０）。このマッピング候補選出処理によると、カラム特徴が類似しないためにステップＳ２０でマッピング候補として検出されなかったカラムの中からマッピング候補を検出することができる。
【００３８】
図３は、実施例１に係る工場データモデル及び共通データモデルの一例を示す図である。
【００３９】
工場データモデル２１０は、複数の工場データテーブル２１０１を含む。工場データテーブル２１０１は、１以上の工場データカラム２１０２を含む。工場データカラム２１０２は、工場データに関する情報（具体的な、データの値）を保持するカラムである。工場データテーブル２１０１の詳細に関しては、図４を用いて説明する。例えば、工場データモデル２１０は、工場データテーブル２１０１として「ＭｓｔＰｒｏｄ」、「ＳｈｉｆｔＩｎｆｏ」、及び「Ｔｏｏｌ」のテーブルを含む。「ＳｈｉｆｔＩｎｆｏ」テーブルは、工場データカラム２１０２として、「ＩＤ」、「ＳｔａｒｔＴｉｍｅ」、及び「ＥｎｄＴｉｍｅ」を含む。
【００４０】
共通データモデル１４０は、複数の共通データテーブル１４０１を含む。共通データテーブル１４０１は、１以上の共通データカラム１４０２を含む。共通データカラム１４０２は、共通データに関する情報を保持するカラムである。共通データテーブル１４０１の詳細に関して、図５を用いて説明する。例えば、共通データモデル１４０は、共通データテーブル１４０１として「Ｃａｌｅｎｄａｒ」、「Ｓｈｉｆｔ」、「ＳｃｈｅｄｕｌｅＩｔｅｍ」、「Ｓｃｈｅｄｕｌｅ」、「Ｊｏｂ」、及び「Ｐａｒｔ」のテーブルを含む。「Ｃａｌｅｎｄａｒ」のテーブルは、共通データカラム１４０２として、「ＩＤ」、「ＥｆｆｅｃｔｉｖｅＳｔａｒｔＴｉｍｅ」、及び「ＥｆｆｅｃｔｉｖｅＥｎｄＴｉｍｅ」を含む。
【００４１】
図４は、実施例１に係る工場データテーブルの一例を示す図である。
【００４２】
工場データテーブル２１０１は、テーブル名２１０３、カラム名２１０２、型２１０４、及びデータ２１０５を含む。テーブル名２１０３は、工場データテーブル２１０１の名前である。カラム名２１０４は、カラムの名前である。型２１０４は、カラムに含まれるデータの型である。データ２１０５は、カラムについての具体的なデータの値である。
【００４３】
例えば、テーブル名２１０３が「ＳｈｉｆｔＩｎｆｏ」であるテーブルは、カラム名２１０２が「ＩＤ」であるカラムを含み、「ＩＤ」であるカラムの型２１０４はＩｎｔｅｇｅｒであり、「ＩＤ」であるカラムのデータ２１０５は、「１」、「２」、「３」などである。
【００４４】
図５は、実施例１に係る共通データテーブルの一例を示す図である。
【００４５】
共通データテーブル１４０１は、テーブル名１４０３、カラム名１４０２、型１４０４、及びデータ１４０５を含む。テーブル名１４０３は、共通データテーブル１４０１の名前である。カラム名１４０２は、カラムの名前である。型１４０４は、カラムに含まれるデータの型である。データ１４０４は、カラムについての具体的なデータである。
【００４６】
例えば、テーブル名１４０３が「Ｃａｌｅｎｄａｒ」であるテーブルは、カラム名１４０２が「ＥｆｆｅｃｔｉｖｅＳｔａｒｔＴｉｍｅ」であるカラムを含み、「ＥｆｆｅｃｔｉｖｅＳｔａｒｔＴｉｍｅ」であるカラムの型１４０４はＴｉｍｅｓｔａｍｐであり、「ＥｆｆｅｃｔｉｖｅＳｔａｒｔＴｉｍｅ」であるカラムのデータ１４０５は、「７：００：００」などである。
【００４７】
図６は、実施例１に係るデータ統合サーバの一部の機能構成図である。図６は、主記憶装置１０２に格納されているプログラムをＣＰＵ１０１が実行することにより構成される機能部と、主記憶装置１０２に格納されている各種情報とを示している。
【００４８】
主記憶装置１０２に格納されているプログラムがＣＰＵ１０１に実行されると、入出力部１６０と、カラム特徴マッチ部１１０と、希少語マッチ部１２０と、テーブルマッチ部１３０とが構成される。また、主記憶装置１０２は、確定マッピング管理情報１４１及びデータモデル管理情報１５１を記憶する。
【００４９】
確定マッピング管理情報１４１は、同義カラムであると確定したカラムのペア（確定カラムペア）の情報である。データモデル管理情報１５１は、工場サーバ２０から取得した工場データモデル２１０及びストレージ１０３から取得した共通データモデル１４０の情報である。
【００５０】
入出力部１６０は、マッピング候補選出の際の入力の受付、及び結果の出力を行う。入出力部１６０は、例えば、クライアント３０のユーザＩ／Ｆ３０３に、マッピング候補表示画面８００（図１８参照）、希少語調整画面９００（図１９参照）等を表示させ、クライアント３０のユーザＩ／Ｆ３０３が受け付けたユーザによる画面に対する各種入力を受け付ける。入出力部１６０は、マッピング受付部１６１、データモデル受付部１６２、候補選出条件変更受付部１６３、希少語調整受付部１６４、及び結果出力部１６５を含む。マッピング受付部１６１は、ネットワークＩ／Ｆ１０４を介してクライアント３０から受信したユーザによる確定カラムペアの指定を受け付け、受け付けた確定カラムペアを確定マッピング管理情報１４１に格納する。データモデル受付部１６２は、ネットワークＩ／Ｆ１０４を介してクライアント３０から受信したユーザからのデータモデルの指定を受け付け、受け付けたデータモデルをデータモデルの格納先から取得してデータモデル管理情報１５１に格納する。
【００５１】
候補選出条件変更受付部１６３は、ネットワークＩ／Ｆ１０４を介してクライアント３０から受信したユーザからの設定値（ユーザ設定値）を受け付け、ユーザ設定値を希少語マッチ部１２０のユーザ設定値管理情報１２６に格納する。ユーザ設定値としては、希少語によるマッピング候補選出機能のＯＮ／ＯＦＦ、希少語マッチの際の部分一致の許容ＯＮ／ＯＦＦ等がある。希少語調整受付部１６４は、ネットワークＩ／Ｆ１０４を介してクライアント３０から受信したユーザの指定に従った希少語調整情報を受け付け、希少語マッチ部１２０の希少語マッチルール管理情報１２４に格納する。結果出力部１６５は、カラム特徴マッチ部１１０、希少語マッチ部１２０、及びテーブルマッチ部１３０で選出されたマッピング候補をネットワークＩ／Ｆ１０４を介してクライアント３０に出力する。
【００５２】
カラム特徴マッチ部１１０は、カラム特徴マッチによりマッピング候補を選出する処理（カラム特徴マッチによるマッピング候補選出処理）を実行する。カラム特徴マッチ部１１０は、特徴抽出部１１１、特徴マッチ度算出部１１２、マッピング候補選出部１１３、重み管理情報１１６、カラム特徴管理情報４００、及びカラム特徴マッチ度管理情報４１０を含む。
【００５３】
重み管理情報１１６は、カラム特徴マッチに用いるカラム特徴マッチ算出式の重みを格納する。カラム特徴管理情報４００は、カラム特徴に関する情報を格納する。カラム特徴管理情報４００の詳細については、後述する。カラム特徴マッチ度管理情報４１０は、カラム特徴マッチ度を格納する。カラム特徴マッチ度管理情報４１０の詳細については、後述する。
【００５４】
特徴抽出部１１１は、データモデル管理情報１５１からカラム特徴を抽出し、抽出したカラム特徴をカラム特徴管理情報４００に格納する。特徴マッチ度算出部１１２は、カラム特徴管理情報４００に基づいてカラム間の類似度（カラム特徴マッチ度）を算出し、カラム特徴マッチ度管理情報４１０に格納する。マッピング候補選出部１１３は、カラム特徴マッチ度管理情報４１０に基づいて、マッピング候補を選出する。例えば、マッピング候補選出部１１３は、カラム特徴マッチ度が閾値以上であることをマッピング候補であることの１つの条件としてマッピング候補を選出する。
【００５５】
希少語マッチ部１２０は、希少語マッチによってマッピング候補を選出する処理（希少語マッチによるマッピング候補選出処理）を実行する。希少語マッチ部１２０は、希少語抽出部１２１、希少語一致判定部１２２、マッピング候補選出部１２３、希少語マッチルール管理情報１２４、希少語管理情報５００、及びユーザ設定値管理情報１２６を含む。
【００５６】
希少語マッチルール管理情報１２４は、同一とみなす希少語のペア（希少語ペア）を格納する。希少語管理情報５００は、抽出された希少語を格納する。希少語管理情報５００の詳細については後述する。ユーザ設定値管理情報１２６は、ユーザ設定値を記憶する。
【００５７】
希少語抽出部１２１は、データモデル管理情報１５１から希少語を抽出し、希少語管理情報５００に格納する。希少語一致判定部１２２は、希少語管理情報５００を用いて、対象となるカラムペアについて、希少語が一致するか否かを判定する。マッピング候補選出部１２３は、希少語一致判定部１２２により希少語が一致したカラムをマッピング候補として選出する。
【００５８】
テーブルマッチ部１３０は、テーブルマッチによってマッピング候補を選出する処理（テーブルマッチによるマッピング候補選出処理）を実行する。テーブルマッチ部１３０は、テーブルマッチ度算出部１３１、マッピング候補選出部１３２、及びテーブルマッチ度管理情報６００を含む。
【００５９】
テーブルマッチ度管理情報６００は、テーブルマッチ度を格納する。テーブルマッチ度管理情報６００の詳細については後述する。
【００６０】
テーブルマッチ度算出部１３１は、確定マッピング管理情報１４１から確定カラムペアを受信し、受信した確定カラムペアに基づいてテーブルマッチ度を算出し、テーブルマッチ度管理情報６００に格納する。ここで、確定カラムペアは、ユーザにより同義カラムであると判定されたカラムペアである。マッピング候補選出部１３２は、テーブルマッチ度管理情報６００からテーブルマッチ度を取得し、取得したテーブルマッチ度に基づいて、マッピング候補を選出する。例えば、マッピング候補選出部１３２は、テーブルマッチ度が閾値以上であることをマッピング候補であることの１つの条件としてマッピング候補を選出する。
【００６１】
次に、カラム特徴マッチ部１１０のカラム特徴管理情報４００について詳細に説明する。
【００６２】
図９は、実施例１に係るカラム特徴管理情報の一例を示す図である。
【００６３】
カラム特徴管理情報４００は、データ統合サーバ１０の特徴抽出部１１１がデータモデル管理情報１５１から抽出した情報であり、マッピング元フラグ４０１、カラム名４０２、テーブル名４０３、カラムの型４０４、及びデータ値の範囲４０５のカラムを有するエントリを複数含む。本実施例では、カラム特徴管理情報４００には、工場データモデル及び共通データモデルのそれぞれのカラムに対して１つのエントリが存在する。なお、エントリの構成はこれに限られず、他のカラム、例えば、データ値の平均値、データ値の最頻値等のカラムを含んでもよい。
【００６４】
マッピング元フラグ４０１には、エントリに対応するカラムがマッピング元のカラムであるか否かを示すフラグが格納される。マッピング元フラグ４０１には、エントリに対応するカラムがマッピング元のカラムである場合には、Ｔが格納され、そうでない場合（マッピング先のカラムである場合）には、Ｆが格納される。本実施例においては、工場データモデルのカラムは、マッピング元カラムであり、共通データモデルのカラムは、マッピング先カラムである。
【００６５】
カラム名４０２には、エントリに対応するカラムの名前が格納される。テーブル名４０３には、カラム名４０２の名前のカラムが属するテーブルの名前が格納される。カラムの型４０４には、エントリに対応するカラムのデータの型が格納される。データ値の範囲４０５には、カラムに格納されるデータの値の範囲が格納される。
【００６６】
例えば、カラム特徴管理情報４００の一番上のエントリは、工場データモデル２１０のＳｈｉｆｔＩｎｆｏのテーブルのカラム「ＩＤ」に対応し、マッピング元フラグ４０１に「Ｔ」が格納され、カラム名４０２に「ＩＤ」が格納され、テーブル名４０３に「ＳｈｉｆｔＩｎｆｏ」が格納され、カラムの型４０４に「Ｉｎｔｅｇｅｒ」が格納され、データ値の範囲４０５に「１−１００」が格納される。
【００６７】
次に、カラム特徴マッチ部１１０のカラム特徴マッチ度管理情報４１０について詳細に説明する。
【００６８】
図１０は、実施例１に係るカラム特徴マッチ度管理情報の一例を示す図である。
【００６９】
カラム特徴マッチ度管理情報４１０は、データ統合サーバ１０の特徴マッチ度算出部１１２が算出したカラム特徴マッチ度（カラム特徴類似度）を管理する情報であり、マッピング元カラムパス４１１、マッピング先カラムパス４１２、及びカラム特徴マッチ度４１３のカラムを有するエントリを複数含む。本実施例では、カラム特徴マッチ度管理情報４１０には、マッピング元カラムとマッピング先カラムとのペアに対して一つのエントリが存在する。
【００７０】
マッピング元カラムパス４１１には、マッピング元のカラムの識別子が格納される。本実施例では、マッピング元のカラムの識別子は、マッピング元カラムが属するテーブル名と、マッピング元カラムのカラム名とをドットで繋いで表現されている。マッピング先カラムパス４１２には、マッピング先のカラムの識別子が格納される。本実施例では、マッピング先のカラムの識別子は、マッピング先カラムが属するテーブル名と、マッピング先カラムのカラム名とをドットで繋いで表現されている。マッピング元のカラムの識別子と、マッピング先のカラムの識別子と、をテーブル名とカラム名とをドットで接続した文字列としているので、同データモデル内に同一の名前を持つカラムが存在した場合であっても、カラムを一意に特定することができる。
【００７１】
カラム特徴マッチ度４１３には、マッピング元カラムパス４１１が示すカラムと、マッピング先カラムパス４１２が示すカラムとのカラム特徴マッチ度が百分率で設定される。
【００７２】
例えば、カラム特徴マッチ度管理情報４１０の一番上のエントリは、マッピング元カラムパス４１１に設定されている「ＳｈｉｆｔＩｎｆｏ．ＩＤ」のカラム、すなわち、工場データモデル２１０のＳｈｉｆｔＩｎｆｏテーブルに属する「ＩＤ」カラムと、マッピング先カラムパス４１２に設定されている「Ｓｃｈｅｄｕｌｅ．ＩＤ」のカラム、すなわち、共通データモデル１４０のＳｃｈｅｄｕｌｅテーブルに属する「ＩＤ」カラムのカラム特徴マッチ度が８０％であることを示している。
【００７３】
次に、希少語マッチ部１２０の希少語管理情報５００について詳細に説明する。
【００７４】
図１３は、実施例１に係る希少語管理情報の一例を示す図である。
【００７５】
希少語管理情報５００は、希少語抽出部１２１がデータモデル管理情報１５１から抽出した情報であり、マッピング元フラグ５０１、テーブル名５０２、語５０３、及び希少語フラグ５０４のカラムを有するエントリを複数含む。希少語管理情報５００には、例えば、データモデル管理情報１５１（すなわち、工場データモデル、共通データモデル）のテーブル名、カラム名から得られたそれぞれの語に対して一つのエントリが格納されている。
【００７６】
マッピング元フラグ５０１には、エントリに対応するカラムがマッピング元のカラムであるか否かを示すフラグが格納される。テーブル名５０２には、エントリに対応する語が格納されているテーブルの名称が格納される。語５０３には、希少語抽出部１２１がデータモデル管理情報１５１のテーブル名、カラム名に形態素解析を適用して得られた語のいずれかが格納される。希少語フラグ５０４には、語５０３に格納された語が希少語であるか否かを示すフラグが格納される。希少語フラグ５０４には、語５０３に格納された語が希少語である場合には、Ｔが格納され、そうでない場合には、Ｆが格納される。
【００７７】
次に、テーブルマッチ部１３０のテーブルマッチ度管理情報６００について詳細に説明する。
【００７８】
図１６は、実施例１に係るテーブルマッチ度管理情報の一例を示す図である。
【００７９】
テーブルマッチ度管理情報６００は、テーブルマッチ度に関する情報であり、マッピング元テーブル６０１、マッピング先テーブル６０２、テーブル内カラム寄与率６０３、確定カラム寄与率６０４、希少語マッチ率６０５、及びテーブルマッチ度６０６のカラムを有するエントリを複数含む。本実施例では、テーブルマッチ度管理情報６００には、工場データモデルのテーブルと、共通データモデルのテーブルとの組み合わせからなるそれぞれのテーブルペアに対して一つのエントリが存在する。
【００８０】
マッピング元テーブル６０１には、マッピング元となるテーブルのテーブル名が格納される。マッピング先テーブル６０２には、マッピング先となるテーブルのテーブル名が格納される。テーブル内カラム寄与率６０３には、マッピング元テーブルに関する、マッピング先テーブルへの寄与率が格納される。確定カラム寄与率６０４には、マッピング元テーブルの確定マッピングカラムに関する、マッピング先テーブルへの寄与率が格納される。希少語マッチ率６０５には、テーブルペア内の希少語総数における、テーブルペア内の共通する希少語数の割合が格納される。テーブルマッチ度６０６には、テーブルペアのテーブルマッチ度が格納されるである。テーブル内カラム寄与率６０３、確定カラム寄与率６０４、希少語マッチ度６０５、及びテーブルマッチ度６０６のそれぞれには、「０」〜「１．０」までの間の数が格納される。
【００８１】
次に、入出力部１６０が、クライアント３０のユーザＩ／Ｆ３０３に表示させるマッピング候補表示画面について説明する。
【００８２】
図１８は、実施例１に係るマッピング候補表示画面の一例を示す図である。
【００８３】
マッピング候補表示画面８００は、終了ボタン８０１、マッピング元データモデル入力フォーム８０２、マッピング先データモデル入力フォーム８０３、マッピング候補選出ボタン８０４、マッピング元カラム一覧確認欄８０５、マッピング先カラム一覧確認欄８０６、希少語調整ボタン８０７、テーブルマッチによるマッピング候補選出ボタン８０８、希少語を用いたマッピング候補選出ＯＮ／ＯＦＦボタン８０９、希少語の部分一致ＯＮ／ＯＦＦボタン８１０、及びマッピング確定チェックボックス８１１を含む。
【００８４】
終了ボタン８０１は、マッピング候補選出処理（マッピング候補選出プログラム）を終了するための操作ボタンである。マッピング元データモデル入力フォーム８０２は、マッピング元となるデータモデルを指定するための入力フォームである。マッピング先データモデル入力フォーム８０３は、マッピング先となるデータモデルを指定するための入力フォームである。マッピング候補選出ボタン８０４は、マッピング元データモデルのカラムに関する同義カラムをマッピング先データモデルから選出するための処理を開始させるためのボタンである。
【００８５】
マッピング元カラム一覧確認欄８０５には、マッピング元データモデルのカラム一覧が表示される。マッピング先カラム一覧確認欄８０６には、マッピング元カラムに関するマッピング候補一覧が表示される。マッピング先カラム一覧確認欄８０６には、マッピング元カラム一覧確認欄８０５に表示されたカラムの中からいずれかのカラムがクリックされると、クリックされたカラムに対するマッピング候補の一覧が表示される。
【００８６】
希少語調整ボタン８０７は、ユーザが希少語を調整するための操作ボタンである。希少語調整ボタン８０７がクリックされると、希少語調整画面９００（図１９参照）が表示される。
【００８７】
テーブルマッチによるマッピング候補選出ボタン８０８は、テーブルマッチによるマッピング候補を選出する処理を実行させるためのボタンである。希少語を用いたマッピング候補選出ＯＮ／ＯＦＦボタン８０９は、マッピング候補選出処理において、希少語を用いたマッピング候補選出処理（図７のステップＳ３０）を実行させるか否かを選択するためのボタンである。同義カラムの中には、希少語が一致しないものも存在する可能性があり、希少語を用いたマッピング候補選出ＯＮ／ＯＦＦボタン８０９をＯＦＦにすることによって、このような場合において、同義カラムを検出することができる。
【００８８】
希少語の部分一致ＯＮ／ＯＦＦボタン８１０は、希少語の一致判断をする際（図１１のステップＳ３０５）において、希少語の一致に、希少語の部分一致を含めるか否かを選択するためのボタンである。ここで、部分一致とは、二つの文字列を比較した際に文字列の一部分が一致することをいう。希少語の部分一致ＯＮ／ＯＦＦボタン８１０をＯＮにすることにより、希少語の一致判断に部分一致を含めることができ、一部分の表記が異なる、同じ意味合いを持つ希少語同士を一致と判断することができる。例えば、「Ｐｒｏｄ」及び「Ｐｒｏｄｕｃｔｉｏｎ」という二つの希少語に関して、「Ｐｒｏｄ」は「Ｐｒｏｄｕｃｔｉｏｎ」の略語であり、「Ｐｒｏｄ」と「Ｐｒｏｄｕｃｔｉｏｎ」との意味は一致するが、文字列は異なる。このような場合に、希少語の部分一致ＯＮ／ＯＦＦボタン８１０をＯＮにすることにより、希少語が部分一致しているので、結果として希少語が一致すると判断されるようになり、このような関係にあるカラムペアがマッピング候補として適切に選出されることとなる。
【００８９】
マッピング確定チェックボックス８１１は、ユーザが同義カラムであると判定したカラムを確定する指示を行うためのチェックボックスであり、このチェックボックスが選択されると、チェックボックスに対応するカラムが、マッピング元の所定のカラムの同義カラムであることを示す確定マッピング情報（同義カラム確定情報）がデータ統合サーバ１０に送信される。マッピング確定チェックボックス８１１は、マッピング先カラム一覧８０６に表示されるカラムのそれぞれに対して一つずつ表示される。
【００９０】
次に、入出力部１６０が、クライアント３０のユーザＩ／Ｆ３０３に表示させる希少語調整画面について説明する。
【００９１】
図１９は、実施例１に係る希少語調整画面の一例を示す図である。
【００９２】
希少語調整画面９００は、希少語をクライアント３０のユーザが調整するための画面であり、終了ボタン９０１、マッピング元希少語一覧表示欄９０２、マッピング先希少語一覧表示欄９０３、希少語マッピングリンク９０４、及び希少語マッチング確定ボタン９０５を含む。
【００９３】
終了ボタン９０１は、希少語の調整処理を終了するためのボタンである。マッピング元希少語一覧表示欄９０２には、マッピング元データモデルの希少語の一覧が表示される。マッピング先希少語一覧表示欄９０３には、マッピング先データモデルの希少語の一覧が表示される。希少語マッチングリンク９０４は、マッピング元の希少語と、マッピング先の希少語とについて、一致する希少語を結びつけるためのリンクである。希少語マッチングリンク９０４は、ユーザＩ／Ｆ３０３を介してのユーザの操作により、追加及び削除することができる。希少語マッチング確定ボタン９０５は、希少語マッチングリンク９０４により結びつけた希少語の組を一致する希少語として確定させるためのボタンである。希少語マッチング確定ボタン９０５が押下されると、その際に設定されている希少語マッチングリンク９０４に対応する希少語の組を含む希少語調整情報がデータ統合サーバ１０に送信されることとなる。
【００９４】
希少語調整画面９００によると、希少語の表記自体が異なっていても、ユーザが指定した希少語の組を一致するものとして、希少語マッチによるマッピング候補の選出の処理に使用することができるようになる。
【００９５】
次に、マッピング候補選出処理について詳細に説明する。
【００９６】
図７は、実施例１に係るマッピング候補選出処理のフローチャートである。
【００９７】
データ統合サーバ１０のデータモデル受付部１６２は、クライアント３０から同義カラムを選出する対象となるマッピング元とマッピング先のデータモデル（本例では、工場データモデル２１０及び共通データモデル１４０）の指定を受け付ける。データモデルの指定を受け付けると、データ統合サーバ１０のデータモデル受付部１６２は、ネットワーク１１を介して工場サーバ２０に、工場データモデル２１０の送信を依頼する。これに対して、工場サーバ２０は、ストレージ２０４から工場データモデル２１０を取得し、ネットワーク１１を介してデータ統合サーバ１０に送信する。データ統合サーバ１０のデータモデル受付部１６２は、工場データモデル２１０を受信し、主記憶装置１０２にデータモデル管理情報１５１として格納する。また、データ統合サーバ１０のデータモデル受付部１６２は、ストレージ１０３から共通データモデル１４０を取得し、主記憶装置１０２にデータモデル管理情報１５１として格納する（ステップＳ１０）。
【００９８】
次いで、データ統合サーバ１０のカラム特徴マッチ部１１０は、データモデル管理情報１５１を受信して、カラム特徴マッチによりマッピング候補を選出するカラム特徴マッチによるマッピング候補選出処理（図８参照）を行い、選出したマッピング候補を希少語マッチ部１２０に送信する（ステップＳ２０）。
【００９９】
次いで、データ統合サーバ１０の希少語マッチ部１２０は、ステップＳ２０で選出されたマッピング候補を受信して、希少語マッチによりマッピング候補を選出する希少語マッチによるマッピング候補選出処理（図１１参照）を行い、選出したマッピング候補を結果出力部１６５に送信する（ステップＳ３０）。
【０１００】
結果出力部１６５は、希少語マッチ部１２０から受信したマッピング候補に基づいて、マッピング候補表示画面８００のマッピング先カラム一覧確認欄８０６に、マッピング候補一覧を表示させる（ステップＳ６１）。
【０１０１】
次いで、マッピング受付部１６１は、クライアント３０から同義カラムを確定した指示を示す確定マッピング情報を受け付けたか否かを判定し（ステップＳ６２）、確定マッピング情報を受け付けた場合（ステップＳ６２：ＹＥＳ）には、受信した確定マッピング情報を確定マッピング管理情報１４１に格納し（ステップＳ５０）、処理をステップＳ６２に移す。一方、確定マッピング情報を受け付けていない場合（ステップＳ６２：ＮＯ）には、マッピング受付部１６１は、処理をステップＳ６３に進める。
【０１０２】
次いで、希少語調整受付部１６４は、クライアント３０から希少語調整情報を受け付けたか否かを判定し（ステップＳ６３）、希少語調整情報を受け付けた場合（ステップＳ６３：ＹＥＳ）には、希少語調整受付部１６４は、希少語調整情報を希少語マッチルール管理情報１２４に格納し（ステップＳ６０）、処理をステップＳ６２に移す。一方、希少語調整情報を受信していない場合（ステップＳ６３：ＮＯ）には、希少語調整受付部１６４は、処理をステップＳ６４に移す。
【０１０３】
ステップＳ６４では、入出力部１６０がクライアント３０からテーブルマッチによるマッピング候補選出の要求を受けたか否かを判定し（ステップＳ６４）、テーブルマッチによるマッピング候補選出の要求を受け付けた場合（ステップＳ６４：ＹＥＳ）には、テーブルマッチ部１３０は、確定マッピング情報１４１を取得し、テーブルマッチによりマッピング候補を選出するテーブルマッチによるマッピング候補選出処理（図１４参照）を実行し（ステップＳ４０）、処理をステップＳ６１に移す。一方、テーブルマッチによるマッピング候補選出の要求を受け付けていない場合（ステップＳ６４：ＮＯ）には、テーブルマッチ部１３０は、処理をステップＳ６５に移す。
【０１０４】
ステップＳ６５では、入出力部１６０がクライアント３０からマッピング候補の再選出の要求を受け付けたか否かを判定し（ステップＳ６５）、マッピング候補の再選出の要求を受け付けた場合（ステップＳ６５：ＹＥＳ）には、処理をステップＳ２０に移す。一方、マッピング候補の再選出の要求を受け付けていない場合（ステップＳ６５：ＮＯ）には、入出力部１６０は、処理をステップＳ６６に移す。
【０１０５】
ステップＳ６６では、入出力部１６０は、クライアント３０からプログラム終了を要求されたか否かを判定し、プログラム終了を要求されている場合（ステップＳ６６：ＹＥＳ）には、データ統合サーバ１０はマッピング候補選出処理を終了させる一方、プログラム終了を要求されていない場合（ステップＳ６６：ＮＯ）には、処理をステップＳ６１に移す。
【０１０６】
次に、カラム特徴マッチによるマッピング候補選出処理（図７のステップＳ２０）について説明する。
【０１０７】
図８は、実施例１に係るカラム特徴マッチによるマッピング候補選出処理のフローチャートである。
【０１０８】
データ統合サーバ１０の特徴抽出部１１１は、データモデル情報１５１を受信し、マッピング元とマッピング先のデータモデルのすべてのカラム特徴を抽出する（ステップＳ２００）。カラム特徴とは、例えば、カラム名、テーブル名、カラムの型、データ値の範囲を含む。テーブル名は、カラムが属するテーブルの名前であり、データ値の範囲は、カラムに格納されるデータの値の範囲である。なお、カラム特徴は、カラム名、テーブル名、カラムの型、及びデータ値の範囲に限られず、例えば、カラム名とテーブル名とで構成してもよいし、また、カラム名、テーブル名、カラムの型、及びデータ値の範囲に、データの平均値やデータの最頻値などの他の特徴を加えるようにしてもよい。
【０１０９】
次いで、特徴マッチ度算出部１１２は、マッピング元データモデル（本例では、工場データモデル）のカラムと、マッピング先データモデル（共通データモデル）のカラムとの組（カラムペア）の中で、カラム特徴マッチ度を算出していないカラムペアが存在するか否かを判定する（ステップＳ２０１）。
【０１１０】
この結果、カラム特徴マッチ度を算出していないカラムペアが存在する場合（ステップＳ２０１：ＹＥＳ）には、特徴マッチ度算出部１１２は、カラム特徴マッチ度を算出していないカラムペアを選出し（ステップＳ２０２）、選出したカラムペアのカラム特徴マッチ度を算出し、算出した特徴マッチ度をカラム特徴マッチ度管理情報４１０に格納する（ステップＳ２０３）。
【０１１１】
特徴マッチ度算出部１１２は、例えば、カラムＸとカラムＹとのカラム特徴マッチ度（ＭａｔｃｈＦｅａｔｕｒｅ（Ｘ，Ｙ））を以下の式（１）により算出する。
【０１１２】
ＭａｔｃｈＦｅａｔｕｒｅ（Ｘ，Ｙ）＝
ｗ１＊ＭａｔｃｈＣＮａｍｅ（ｘ１，ｙ１）
＋ｗ２＊ＭａｔｃｈＴＮａｍｅ（ｘ２，ｙ２）
＋ｗ３＊ＭａｔｃｈＣＴｙｐｅ（ｘ３，ｙ３）
＋ｗ４＊ＭａｔｃｈＤａｔａＲａｎｇｅ（ｘ４，ｙ４）・・・（１）
【０１１３】
ここで、Ｘは、カラムＸのカラム特徴であり、ｘ１、ｘ２、ｘ３、ｘ４の集合である。ｘ１、ｘ２、ｘ３、及びｘ４は、それぞれ、カラムＸのカラム名、テーブル名、カラムの型、及びデータ値範囲である。また、ＹはカラムＹのカラム特徴であり、ｙ１、ｙ２、ｙ３、ｙ４の集合である。ｙ１、ｙ２、ｙ３、及びｙ４はそれぞれ、カラムＹのカラム名、テーブル名、カラムの型、及びデータ値範囲である。
【０１１４】
ＭａｔｃｈＣＮａｍｅ（ｘ１，ｙ１）は、カラム名マッチ度算出式であり、例えば、ｘ１とｙ１とが一致すれば１となり、そうでなければ０となる。
ＭａｔｃｈＴＮａｍｅ（ｘ２，ｙ２）は、テーブル名マッチ度算出式であり、例えば、ｘ２とｙ２とが一致すれば１となり、そうでなければ０となる。
ＭａｔｃｈＣＴｙｐｅ（ｘ３，ｙ３）は、カラム型マッチ度算出式であり、例えば、ｘ3とｙ3とが一致すれば１となり、そうでなければ０となる。
ＭａｔｃｈＤａｔａＲａｎｇｅ（ｘ４，ｙ４）は、データ値範囲マッチ度算出式であり、例えば、ｘ4とｙ4とが一致すれば１となり、そうでなければ０となる。
【０１１５】
ｗ１、ｗ２、ｗ３、及びｗ４は、それぞれカラム名マッチ度算出式、テーブル名マッチ度算出式、カラム型マッチ度算出式、及びデータ値範囲マッチ度算出式における重みであり、それぞれの値は、０から１までの範囲の値となっている。なお、これらの重みは、重み管理情報１１６に格納されている。
【０１１６】
ここで、カラム特徴マッチ度を算出する具体例として、図４の一列目のカラムであるＳｈｉｆｔＩｎｆｏテーブルのＩＤカラムと、図５の一列目のカラムであるＣａｌｅｎｄａｒテーブルのＩＤカラムとのカラム特徴マッチ度の算出方法について説明する。なお、式（１）の重みｗ１、ｗ２、ｗ３、及びｗ４がそれぞれ、０．６、０．２、０．１、及び０．１であるとする。
【０１１７】
ＳｈｉｆｔＩｎｆｏテーブルのＩＤカラムのカラム特徴は、カラム名が「ＩＤ」、テーブル名が「ＳｈｉｆｔＩｎｆｏ」、カラムの型が「Ｉｎｔｅｇｅｒ」、データ値の範囲が「１−１００」となっている。一方、ＣａｌｅｎｄａｒテーブルのＩＤカラムのカラム特徴は、カラム名が「ＩＤ」、テーブル名が「Ｃａｌｅｎｄａｒ」、カラムの型が「Ｉｎｔｅｇｅｒ」、及びデータ値の範囲が「１−１００」となっている。
【０１１８】
この場合には、式（１）において、ＭａｔｃｈＣＮａｍｅ（“ＩＤ”，“ＩＤ”）＝１、ＭａｔｃｈＴＮａｍｅ（“Ｓｈｉｆｔ”，“Ｃａｌｅｎｄａｒ”）＝０、ＭａｔｃｈＣＴｙｐｅ（“Ｉｎｔｅｇｅｒ”，“Ｉｎｔｅｇｅｒ”）＝１、及びＭａｔｃｈＤａｔａＲａｎｇｅ（“１−１００”、“１−１００”）＝１であるために、カラム特徴マッチ度は、０．６＊１＋０．２＊０＋０．１＊１＋０．１＊１＝０．８（８０％）となる。
【０１１９】
なお、カラム特徴マッチ度を算出する式は、式（１）に限定されない。例えば、テーブル名マッチ度算出式において、ｘ２とｙ２が部分的に一致する場合に１となり、そうでなければ０となるようにしてもよく、他のいかなる算出方法を用いてよい。
【０１２０】
次いで、マッピング候補検出部１１３は、算出したカラム特徴マッチ度が閾値以上であるか否かを判定し（ステップＳ２０４）、算出したカラム特徴マッチ度が閾値以上であれば（ステップＳ２０４：ＹＥＳ）、処理の対象としたカラムペアをマッピング候補として選出し、選出されたマッピング候補を希少語マッチ部１２０に渡し（ステップＳ２０５）、処理をステップＳ２０１に移す。一方、算出したカラム特徴マッチ度が閾値以上でなければ（ステップＳ２０４：ＮＯ）、マッピング候補検出部１１３は、処理をステップＳ２０１に移す。
【０１２１】
そして、ステップＳ２０１で、カラム特徴マッチ度を算出していないカラムペアが存在しない場合（ステップＳ２０１：ＮＯ）には、すべてのカラムペアを対象にカラム特徴マッチ度を算出し、マッピング候補か否かを判定する処理を行ったことを意味するのでカラム特徴マッチによるマッピング候補選出処理を終了する。
【０１２２】
カラム特徴マッチによるマッピング候補選出処理によると、カラム特徴マッチ度が高いマッチング候補を適切に選出することができる。
【０１２３】
次に、希少語マッチによるマッピング候補選出処理（図７のステップＳ３０）について説明する。
【０１２４】
図１１は、実施例１に係る希少語マッチによるマッピング候補選出処理のフローチャートである。
【０１２５】
希少語抽出部１２１は、データモデル管理情報１５１を受信し、希少語を抽出する希少語抽出処理（図１２参照）を実行する（ステップＳ３００）。
【０１２６】
次いで、希少語一致判定部１２２は、カラム特徴マッチ部１１０で選出されたマッピング候補をマッピング候補選出部１１３から受信し（ステップＳ３０１）、受信したマッピング候補に基づいて、マッピング候補件数が閾値以上のマッピング元カラム、すなわち、閾値以上のマッピング先カラムが候補として選出されているマッピング元カラムを抽出する（ステップＳ３０２）。
【０１２７】
次いで、希少語一致判定部１２２は、抽出したマッピング元カラムにおいて、希少語によるマッピング候補選出の判定処理の対象としていないカラムが存在するか否かを判定する（ステップＳ３０３）。
【０１２８】
この結果、希少語によるマッピング候補選出の判定処理の対象としていないカラムが存在する場合（ステップＳ３０３：ＹＥＳ）には、希少語一致判定部１２２は、希少語によるマッピング候補選出の判定処理の対象としていないカラムを一つ選出し（ステップＳ３０４）、選出したカラムと、そのカラムについてのカラム特徴マッチによるマッピング候補のカラム（マッピング先カラム）とに対して、それぞれのカラム周囲の希少語を比較し、カラム周囲の希少語が一致するか否かを判定する（ステップＳ３０５）。この判定においては、カラムと、そのカラムについてのカラム特徴マッチによるマッピング候補のカラム（マッピング先カラム）とのそれぞれのカラム周囲の希少語が一致することが、希少語を考慮した際に、カラム特徴マッチによるマッピング候補のカラムが、マッピング元カラムの同義カラム候補であることを判定するための判定条件（希少語判定条件）となっている。
【０１２９】
カラム周囲の希少語が一致するカラムペアが存在する場合（ステップＳ３０５：ＹＥＳ）には、マッピング候補選出部１２３は、そのカラムペアのマッピング先カラムを希少語によるマッピング候補として選出して（ステップ３０６）、処理をステップＳ３０３に移す。一方、カラム周囲の希少語が一致するカラムペアが存在しない場合（ステップＳ３０５：ＮＯ）には、希少語一致判定部１２２は、処理をステップＳ３０３に移す。
【０１３０】
そして、ステップＳ３０３で、希少語によるマッピング候補選出の判断を行う処理の対象としていないカラムが存在しない場合（ステップＳ３０３：ＮＯ）には、ステップＳ３０２で抽出した全てのマッピング元カラムを対象に希少語によるマッピング候補選出の判定を行ったことを意味するので希少語マッチによるマッピング候補選出処理を終了する。
【０１３１】
ここで、例えば、図３に示す工場データモデル２１０と、共通データモデル１４０とに対して、カラム特徴マッチによるマッピング候補選出処理が行われて、ＳｈｉｆｔＩｎｆｏテーブルのＩＤカラムのマッピング候補として、ＳｃｈｅｄｕｌｅテーブルのＩＤカラム、ＳｈｉｆｔテーブルのＩＤカラム、ＣａｌｅｎｄａｒテーブルのＩＤカラム、及びＳｈｃｅｄｕｌｅＩｔｅｍテーブルのＩＤカラムが選出されている場合を例にあげて、希少語マッチによるマッピング候補選出処理を説明する。
【０１３２】
ステップＳ３０４では、希少語一致判定部１２２は、ＳｈｉｆｔＩｎｆｏテーブルのＩＤカラムを選出し、ＳｈｉｆｔＩｎｆｏテーブルのＩＤカラムに関するマッピング候補であるＳｃｈｅｄｕｌｅテーブルのＩＤカラム、ＳｈｉｆｔテーブルのＩＤカラム、ＣａｌｅｎｄａｒテーブルのＩＤカラム、及びＳｈｃｅｄｕｌｅＩｔｅｍテーブルのＩＤカラムを受信する。
【０１３３】
次いで、ステップＳ３０５において、希少語一致判定部１２２は、ＳｈｉｆｔＩｎｆｏテーブルのＩＤカラムに関する希少語である「Ｓｈｉｆｔ」及び「Ｅｎｄ」を、ＳｃｈｅｄｕｌｅテーブルのＩＤカラムに関する希少語である「Ｓｃｈｅｄｕｌｅ」及び「Ｃｒｅａｔｉｏｎ」、ＳｈｉｆｔテーブルのＩＤカラムに関する希少語である「Ｓｈｉｆｔ」及び「Ｄｕｒａｔｉｏｎ」、ＣａｌｅｎｄａｒテーブルのＩＤカラムに関する希少語である「Ｃａｌｅｎｄａｒ」及び「Ｅｆｆｅｃｔｉｖｅ」、及びＳｃｈｅｄｕｌｅＩｔｅｍテーブルのＩＤカラムに関する希少語である「Ｉｔｅｍ」、「Ａｓｓｏｃｉａｔｅ」、及び「Ｐｒｏｃｅｓｓ」と比較した結果、ＳｈｉｆｔＩｎｆｏテーブルのＩＤカラムに関する希少語「Ｓｈｉｆｔ」とＳｈｉｆｔテーブルのＩＤカラムに関する希少語「Ｓｈｉｆｔ」が一致するため、一致する希少語が存在すると判定することとなる。
【０１３４】
この結果、ステップＳ３０６において、マッピング候補選出部１２３は、ＳｈｉｆｔＩｎｆｏテーブルのＩＤカラムの同義カラム（マッピング候補）としてＳｈｉｆｔテーブルのＩＤカラムを選出する。
【０１３５】
以上説明したように、希少語を用いてマッピング候補を選出することにより、カラム特徴マッチによるマッピング候補選出処理では、識別できなかった頻出カラムを含むマッピング候補の中から適切なマッピング候補を選出することができる。ここで、頻出カラムは、同一データモデル内に頻出するカラム名であり、例えば、図３に示す工場データモデル２１０と、共通データモデル１４０とにおいては、「ＩＤ」カラムや「ＳｔａｒｔＴｉｍｅ」カラムなどである。
【０１３６】
次に、希少語抽出処理（図１１のステップＳ３００）について説明する。
【０１３７】
図１２は、実施例１に係る希少語抽出処理のフローチャートである。
【０１３８】
希少語抽出部１２１は、データモデル管理情報１５１を受信し、受信したデータモデル管理情報１５１に格納されているデータモデルのテーブル構成に係る名称（テーブル名、カラム名）に形態素解析を適用し、語（テーブル内の語という）を抽出し、抽出結果を希少語管理情報５００に登録する（ステップＳ３１０）。形態素解析を利用した語の抽出方法の一例としては、小文字の前にある大文字を区切り目として、その大文字を語頭とした語に分割することにより語を抽出する方法が考えられる。例えば、この方法によると、「ＳｈｉｆｔＩｎｆｏ」から「Ｓｈｉｆｔ」、及び「Ｉｎｆｏ」の２語が抽出される。
【０１３９】
次いで、希少語抽出部１２１は、ステップＳ３１０で抽出した語の中で希少語判定をしていない語が存在するか否かを判定する（ステップＳ３１１）。この結果、希少語判定をしていない語が存在する場合（ステップＳ３１１：ＹＥＳ）には、希少語抽出部１２１は、希少誤判定していない語を一つ選択し（ステップＳ３１２）、同一のデータモデルにおける、選択した語が属するテーブルとは異なるテーブル（他テーブル）に存在するか否かを判定する（ステップ３１３）。
【０１４０】
この結果、選択した語が他テーブルに存在しない場合（ステップＳ３１３：ＹＥＳ）には、希少語抽出部１２１は、選択した語を希少語として選出して、希少語管理情報５００の対応する語のエントリにおける希少語フラグ５０４に希少語であることを示す「Ｔ」を設定し（ステップＳ３１４）、処理をステップＳ３１１に移す。一方、選択した語が他テーブルに存在する場合（ステップＳ３１３：ＮＯ）には、選択した語は、希少語ではないので、希少語抽出部１２１は、処理をステップＳ３１１に移す。なお、上記例では、希少語として選出する基準として、同一のデータモデルの他テーブルに存在しないものを希少語としているが、本発明はこれに限られず、例えば、同一データモデルの他のテーブルに存在する数が１以上の所定数以下の語を希少語としてもよく、要は、同一データモデルの他のテーブルに存在する数が所定数（０以上の数）以下のものとすればよい。所定数については、対象とするデータモデル等に応じて任意に設定してもよい。
【０１４１】
そして、ステップＳ３１１で、抽出した語の中で希少語判定をしていない語が存在しない場合（ステップＳ３１１：ＮＯ）には、ステップＳ３１０で抽出した全ての語を対象として希少語判定を行ったことを意味するので、希少語抽出部１２１は、希少語抽出処理を終了する。
【０１４２】
ここで、図３に示す工場データモデル２１０に対して、希少語抽出処理を行った例について説明する。工場データモデル２１０は、ＳｈｉｆｔＩｎｆｏテーブル、ＭｓｔＰｒｏｄテーブル、及びＴｏｏｌテーブルを含んでいる。ステップＳ３１０では、希少語抽出部１２１が工場データモデル２１０を形態素解析すると、ＳｈｉｆｔＩｎｆｏテーブルの語として「Ｓｈｉｆｔ」、「Ｉｎｆｏ」、「ＩＤ」、「Ｓｔａｒｔ」、「Ｔｉｍｅ」、及び「Ｅｎｄ」が抽出され、ＭｓｔＰｒｏｄテーブルの語として、「Ｍｓｔ」、「Ｐｒｏｄ」、「ＩＤ」、「Ａｔｔｒ」、「Ｔｙｐｅ」、及び「Ｖａｌ」が抽出され、Ｔｏｏｌテーブルの語として、「Ｔｏｏｌ」、「ＩＤ」、「Ｎａｍｅ」、「Ｌｏｔ」、「Ａｔｔｒ」、及び「Ｔｙｐｅ」が抽出される。
【０１４３】
この場合、ＳｈｉｆｔＩｎｆｏテーブルの語「Ｓｈｉｆｔ」は、工場データモデル２１０の他のテーブルであるＭｓｔＰｒｏｄテーブル及びＴｏｏｌテーブルには存在しないため、ステップＳ３１４では、希少語抽出部１２１は、「Ｓｈｉｆｔ」をＳｈｉｆｔＩｎｆｏテーブルの希少語として抽出する。同様にして、希少語抽出部１２１は「Ｐｒｏｄ」（ＭｓｔＰｒｏｄテーブルの希少語）や「Ｔｏｏｌ」（Ｔｏｏｌテーブルの希少語）を希少語として抽出する。
【０１４４】
次に、テーブルマッチによるマッピング候補選出処理（図７のステップＳ４０）について説明する。
【０１４５】
図１４は、実施例１に係るテーブルマッチによるマッピング候補選出処理のフローチャートである。
【０１４６】
データ統合サーバ１０のテーブルマッチ度算出部１３１は、確定マッピング管理情報１４１及びデータモデル管理情報１５１を受信する（ステップＳ４００）。
【０１４７】
次いで、テーブルマッチ度算出部１３１は、データモデル管理情報１５１に含まれる工場データモデル２１０及び共通データモデル１４０のそれぞれ一つずつのテーブルを組み合わせた全テーブルペアに関して、テーブルマッチ度を算出していないテーブルペアが存在するか否かを判定する（ステップＳ４０１）。この結果、テーブルマッチ度を算出していないテーブルペアが存在する場合（ステップＳ４０１：ＹＥＳ）には、テーブルマッチ度算出部１３１は、テーブルマッチ度を算出していないテーブルペアを選出し（ステップＳ４０２）、選出したテーブルペアのテーブルマッチ度を算出するテーブルマッチ度算出処理（図１５参照）を実行する（ステップＳ４０３）。
【０１４８】
次いで、マッピング候補選出部１３２は、算出されたテーブルマッチ度が閾値以上であるか否かを判定し（ステップＳ４０４）、テーブルマッチ度が閾値以上である場合（ステップＳ４０４：ＹＥＳ）には、このテーブルペアに関して、マッピングが確定していないカラム同士をマッピング候補として選出し（ステップＳ４０５）、処理をステップＳ４０１に移す。一方、テーブルマッチ度が閾値以上でない、すなわち、閾値未満である場合（ステップＳ４０４：ＮＯ）には、マッピング候補選出部１３２は、処理をステップＳ４０１に移す。
【０１４９】
そして、ステップＳ４０１で、テーブルマッチ度を算出していないテーブルペアが存在しない場合（ステップＳ４０１：ＮＯ）には、全てのテーブルペアを対象にテーブルマッチ度の算出を行ったことを意味するので、テーブルマッチ度算出部１３１は、テーブルマッチによるマッピング候補選出処理を終了する。
【０１５０】
このテーブルマッチによるマッピング候補選出処理によると、カラム特徴が類似していない同義カラムの候補を適切に選出することができる。具体的には、例えば、図３に示す工場データモデル２１０のＳｈｉｆｔＩｎｆｏテーブルのＥｎｄＴｉｍｅカラムの同義カラムが共通データモデル１４０のＳｈｉｆｔテーブルのＵｎｉｔカラムとＶａｌｕｅカラムである場合、ＥｎｄＴｉｍｅカラムとＵｎｉｔカラム、または、ＥｎｄＴｉｍｅカラムとＶａｌｕｅカラムとのカラム特徴が似ていないために、これらのカラムペアに関するカラム特徴マッチ度が低く、ＳｈｉｆｔテーブルのＵｎｉｔカラムと、Ｖａｌｕｅカラムとを、ＳｈｉｆｔＩｎｆｏテーブルのＥｎｄＴｉｍｅカラムの同義カラムの候補として選出することができない。しかしながら、ＳｈｉｆｔＩｎｆｏテーブルとＳｈｉｆｔテーブルとのテーブルマッチ度が高い場合には、ＳｈｉｆｔテーブルのＵｎｉｔカラムとＶａｌｕｅカラムをＳｈｉｆｔＩｎｆｏテーブルのＥｎｄＴｉｍｅカラムの同義カラム候補として選出することができる。
【０１５１】
次に、テーブルマッチ度算出処理（図１４のステップＳ４０３）について説明する。
【０１５２】
図１５は、実施例１に係るテーブルマッチ度算出処理のフローチャートである。
【０１５３】
テーブルマッチ度算出部１３１は、ステップＳ４０２で取得したテーブルペアに関して、テーブル内カラム寄与率を算出し、テーブルマッチ度管理情報６００にテーブルペアに対応するエントリを作成し、算出したテーブル内カラム寄与率を、作成したエントリのテーブル内カラム寄与率６０３に格納する（ステップＳ４１０）。ここで、テーブル内カラム寄与率は、例えば、マッピング元テーブル内のカラム数における、取得したテーブルペア内の同義カラムが確定したカラムペアの数（確定カラムペア数）の割合である。このテーブル内カラム寄与率は、高い値になるほどテーブルペアのテーブル同士が類似している可能性が高いことを意味する。
【０１５４】
次いで、テーブルマッチ度算出部１３１は、確定カラム寄与率を算出し、算出した確定カラム寄与率をテーブルマッチ度管理情報６００のテーブルペアに対応するエントリの確定カラム寄与率６０４に格納する（ステップＳ４１１）。ここで、確定カラム寄与率は、マッピング元テーブル内の確定マッピングカラム数における、取得したテーブルペア内の確定カラムペア数の割合である。また、確定マッピングカラム数は、マッピング先（マッピングする同義カラム）が確定しているカラムの数である。この確定カラム寄与率は、高い値になるほどテーブルペアのテーブル同士が類似している可能性が高いことを意味する。
【０１５５】
次いで、テーブルマッチ度算出部１３１は、希少語マッチ率を算出し、算出した希少語マッチ率をテーブルマッチ度管理情報６００のテーブルペアに対応するエントリの希少語マッチ率６０５に格納する（ステップＳ４１２）。ここで、希少語マッチ率は、テーブルペア内希少語総数における、テーブルペア内共通希少語数の割合である。ここで、テーブルペア内希少語総数は、マッピング先テーブルの希少語とマッピング元テーブルの希少語との重複を除いた希少語の総和であり、テーブルペア内共通希少語数は、マッピング先テーブルの希少語とマッピング元テーブルの希少語とで共通する希少語の数である。この希少語マッチ率は、高い値になるほどテーブルペアのテーブル同士が類似している可能性が高いことを意味する。
【０１５６】
次いで、テーブルマッチ度算出部１３１は、テーブルマッチ度を算出し、算出したテーブルマッチ度をテーブルマッチ度管理情報６００のテーブルペアに対応するエントリのテーブルマッチ度６０６に格納する（ステップＳ４１３）。具体的には、テーブルマッチ度算出部１３１は、ステップＳ４１０で算出したテーブル内カラム寄与率、ステップＳ４１１で算出した確定カラム寄与率、及びステップＳ４１２で算出した希少語マッチ率の積を算出することにより、テーブルマッチ度を算出する（ステップＳ４１３）。このテーブルマッチ度は、高い値になるほどテーブルペアのテーブル同士が類似している可能性が高いことを意味する。すなわち、テーブルペアのカラム同士が同義カラムとなる可能性が高いことを意味する。
【０１５７】
次に、テーブルマッチ度の算出の具体例について説明する。
【０１５８】
図１７は、実施例１に係るテーブルマッチ度の算出の具体例を説明する図である。
【０１５９】
例えば、テーブルマッチ度算出部１３１は、ステップＳ４０２で、工場データテーブル２１０１としてＳｈｉｆｔＩｎｆｏテーブルを、共通データテーブル１４０１としてＳｈｉｆｔテーブルを取得し、確定マッピングペア１０００として、ＳｈｉｆｔＩｎｆｏテーブルのＩＤカラムと、ＳｈｉｆｔテーブルのＩＤカラムとのペア、及びＳｈｉｆｔＩｎｆｏテーブルのＳｔａｒｔＴｉｍｅカラムと、ＳｈｉｆｔテーブルのＩＤカラムと、のペアを取得する。ここで、確定マッピングペア１０００は、ユーザによって同義カラムと判断（確定）された工場データカラム２１０２と共通データカラム１４０２とのペアである。
【０１６０】
ＳｈｉｆｔＩｎｆｏテーブルは、マッピング元テーブルであり、ＩＤカラム、ＳｔａｒｔＴｉｍｅカラム、及びＥｎｄＴｉｍｅカラムを含む。ＳｈｉｆｔＩｎｆｏテーブルの希少語は、ＳｈｉｆｔとＥｎｄとである。Ｓｈｉｆｔテーブルは、マッピング先テーブルであり、ＩＤカラム、ＳｔａｒｔＴｉｍｅカラム、Ｕｎｉｔカラム、Ｖａｌｕｅカラム、Ｄｅｓｃｒｉｐｔｉｏｎカラムを含む。Ｓｈｉｆｔテーブルの希少語は、ＳｈｉｆｔとＵｎｉｔとである。
【０１６１】
ステップＳ４１０では、ＳｈｉｆｔＩｎｆｏテーブルのカラム数が３件、及びＳｈｉｆｔＩｎｆｏテーブルとＳｈｉｆｔテーブルとの確定マッピングペア１０００の数が、ＳｈｉｆｔＩｎｆｏテーブルのＩＤカラムとＳｈｉｆｔテーブルのＩＤカラムとのペア、及びＳｈｉｆｔＩｎｆｏテーブルのＳｔａｒｔＴｉｍｅカラムとＳｈｉｆｔテーブルのＩＤカラムとのペアとの２件であるために、テーブル内カラム寄与率は２／３と算出される。
【０１６２】
ステップＳ４１１では、ＳｈｉｆｔＩｎｆｏテーブルの確定マッピングペア１０００の数が２件、及びＳｈｉｆｔＩｎｆｏテーブルとＳｈｉｆｔテーブルの確定カラムペアの数が２件であるために、確定カラム寄与率は１と算出される。
【０１６３】
ステップＳ４１２では、テーブルペア内希少語総数は３件（「Ｓｈｉｆｔ」、「Ｅｎｄ」、及び「Ｕｎｉｔ」）であり、テーブル内共通希少語数は１件（「Ｓｈｉｆｔ」）であるので、希少語マッチ率は、１／３と算出される。
【０１６４】
この結果、ステップＳ４１３では、算出されたテーブル内カラム寄与率、確定カラム寄与率、及び希少語マッチ率から、テーブルマッチ率が２／９と算出される。
【０１６５】
以上説明したように、本実施例に係るデータ統合サーバ１０によると、カラム特徴マッチ部１１０がカラム特徴に基づいて同義カラムの候補を選出し、希少語マッチ部１２０がカラム特徴マッチ部１１０で選出された同義カラムの候補のうち同義カラムの候補が多いカラムを対象に、希少語マッチにより同義カラムの候補を絞り込み、入出力受付部１６０が絞り込んだ同義カラムの候補をクライアント３０に送信し、同義カラムの候補をクライアント３０に表示させる。これにより、カラム特徴に基づいて選出された複数の同義カラムの候補を適切に絞り込んでユーザに提示することができるこれにより、ユーザは、限られた同義カラムの候補から適切な同義カラムを容易に選択することができる。
【０１６６】
また、本実施例に係るデータ統合サーバ１０によると、テーブルマッチ部１３０が希少語に基づいて、テーブルペアについてのテーブルマッチ度を算出し、テーブルマッチ度の高いテーブルペアにおけるカラムの中から同義カラムの候補を選出してクライアント３０に表示させる。これにより、カラム特徴が類似していない同義カラムの候補を適切に選出して、ユーザに提示することができる。
【実施例２】
【０１６７】
次に、実施例２に係る計算機システムについて説明する。なお、実施例２については、主に、実施例１との差異について説明する。実施例２に係る計算機システムでは、実施例１に係る計算機システムに対して、データモデルの翻訳の機能と、カラム特徴マッチ度の計算式における重みを自動調整する機能とをさらに備えるようにしている。
【０１６８】
図２０は、実施例２に係るデータ統合サーバの一部の機能構成図である。図２０は、主記憶装置１０２に格納されているプログラムをＣＰＵ１０１が実行することにより構成される機能部と、主記憶装置１０２に格納されている各種情報とを示している。なお、図２０では、図６に示す実施例１に係る機能要素と同様な部分については、同一の符号を付している。
【０１６９】
主記憶装置１０２に格納されているプログラムがＣＰＵ１０１に実行されると、実施例１と同様な構成要素に加えて、重み調整部１１４と、翻訳部１７１とが構成される。
【０１７０】
重み調整部１１４は、確定マッピング管理情報１４１を受信し、式（１）に示すカラム特徴マッチ度算出式の重みを自動的に調整する処理を実行する。
【０１７１】
翻訳部１７１は、データモデル受付部１６２から工場データモデル２１０及び共通データモデル１４０を受信し、工場データモデル２１０内で使用されている言語と、共通データモデル１４０内で使用されている言語とが異なる場合、工場データモデル２１０内で使用されている言語と、共通データモデル１４０内で使用されている言語とが同一となるように、工場データモデル２１０内で使用されている言語、または共通データモデル１４０内で使用されている言語を翻訳する。例えば、工場データモデル１４０が日本語で表記され、共通データモデル２１０が英語で表記されている場合には、翻訳部１７１は、工場データモデル１４０内の日本語を英語に翻訳する。これにより、同一の意味を表している異なる言語で表記されている語、例えば、「製品」と「Ｐｒｏｄｕｃｔ」とのような語を同一の表記にすることができ、言語の違いのみに起因する表記の違いによるカラム特徴マッチにおける不一致や、希少語マッチにおける不一致を防ぐことができる。
【０１７２】
次に、実施例２に係るマッピング候補選出処理について詳細に説明する。
【０１７３】
図２１は、実施例２に係るマッピング候補選出処理のフローチャートである。なお、図７に示す実施例１に係るマッピング候補選出処理と同様なステップには、同一の符号を付し、重複する説明を省略する。
【０１７４】
実施例２に係るマッピング候補選出処理においては、実施例１に係るマッピング候補選出処理に対して、データモデルの翻訳処理（ステップＳ１１及びステップＳ１２）及び算出式重み調整処理Ｓ５１をさらに含む。
【０１７５】
ステップＳ１１では、データ統合サーバ１０の翻訳部１７１は、マッピング元データモデル内で使用されている言語と、マッピング先データモデル内で使用されている言語とが異なるか否かを判定し（ステップＳ１１）、それらの言語が異なる場合（ステップＳ１１：ＹＥＳ）には、マッピング元データモデル内で使用されている言語、またはマッピング先データモデル内で使用されている言語を翻訳し、翻訳後のデータモデルをデータモデル管理情報１５１として主記憶装置１０２に格納する。なお、以降の処理ステップにおいては、翻訳後のデータモデルを使用して、処理が行われることとなる。
【０１７６】
ステップＳ６２において、確定マッピング情報を受け付けた場合（ステップＳ６２：ＹＥＳ）には、受信した確定マッピング情報を確定マッピング管理情報１４１に格納し、重み調整部１３４が、式（１）に示すカラム特徴マッチ度算出式の重みを自動的に調整する算出式重み調整処理（図２２参照）を実行する（ステップＳ５１）。
【０１７７】
次に、算出式重み調整処理（図２１のステップＳ５１）について説明する。
【０１７８】
図２２は、実施例２に係る算出式重み調整処理のフローチャートである。
【０１７９】
データ統合サーバ１０のマッピング受付部１６１は、受け付けた確定マッピング情報を確定マッピング管理情報１４１に格納し（ステップＳ５００）、確定マッピング管理情報１４１を重み調整部１１４に送信する（ステップＳ５０１）。
【０１８０】
重み調整部１１４は、受信した確定マッピング管理情報１４１に含まれるカラムペアに関して、カラム名マッチ度、カラム型マッチ度、テーブル名マッチ度、及びデータ値範囲マッチ度を算出する（ステップＳ５０２）。ここで、カラム名マッチ度、カラム型マッチ度、テーブル名マッチ度、及びデータ値範囲マッチ度は、式（１）における、カラム名マッチ度算出式、カラム型マッチ度算出式、テーブル名マッチ度算出式、及びデータ値範囲マッチ度算出式によって算出される値である。
【０１８１】
次いで、重み調整部１１４は、ステップＳ５０２で算出したカラム名マッチ度、カラム型マッチ度、テーブル名マッチ度、及びデータ値範囲マッチ度を尤度関数に代入し、最尤推定法により尤度関数を最大化する（ステップＳ５０３）。次いで、重み調整部１１４は、尤度関数が最大のときの重みを重み管理情報１１６に格納する（ステップＳ５０４）。
【０１８２】
使用する尤度関数は、例えば、以下の式（２）及び式（３）で表現される。
【０１８３】
Ｌ（Ｗ｜Ｘ，Ｙ）＝Πｉ＝１Ｎ（ｆ（Ｗ｜Ｘｉ，Ｙｉ））・・・（２）
【０１８４】
ｆ（Ｗ｜Ｘｉ，Ｙｉ）＝
ｗ１＊ＭａｔｃｈＣＮａｍｅ（ｘｉ１，ｙｉ１）
＋ｗ２＊ＭａｔｃｈＴＮａｍｅ（ｘｉ２，ｙｉ２）
＋ｗ３＊ＭａｔｃｈＣＴｙｐｅ（ｘｉ３，ｙｉ３）
＋ｗ４＊ＭａｔｃｈＤａｔａＲａｎｇｅ（ｘｉ４，ｙｉ４）・・・（３）
【０１８５】
ここで、Ｌ（Ｗ｜Ｘ，Ｙ）は、尤度関数であり、ｆ（Ｗ｜Ｘｉ，Ｙｉ）は、確定マッピング管理情報１４１に含まれるｉ番目のカラムペアのカラム特徴マッチ度である。Ｎは、確定マッピング管理情報１４１に含まれるカラムペアの数である。Ｘは、マッピング元のカラム特徴であり、Ｘ１、Ｘ２、…、ＸＮの集合である。Ｘｉは、ｉ番目のカラムに関するカラム特徴であり、ｘｉ１、ｘｉ２、ｘｉ３、ｘｉ４の集合である。ｘｉ１、ｘｉ２、ｘｉ３、及びｘｉ４はそれぞれ、カラム名、テーブル名、カラムの型、及びデータ値範囲である。Ｙは、マッピング先のカラム特徴であり、Ｙ１、Ｙ２、…、ＹＮの集合である。Ｙｉは、ｉ番目のカラムに関するカラム特徴であり、yｉ１、yｉ２、yｉ３、yｉ４の集合である。yｉ１、yｉ２、yｉ３、及びyｉ４はそれぞれ、カラム名、テーブル名、カラムの型、及びデータ値範囲である。
【０１８６】
ＭａｔｃｈＣＮａｍｅ（ｘｉ１，ｙｉ１）は、カラム名マッチ度算出式であり、例えば、ｘｉ１とｙｉ１が一致すれば１となり、そうでなければ０となる。
ＭａｔｃｈＴＮａｍｅ（ｘｉ２，ｙｉ２）は、テーブル名マッチ度算出式であり、例えば、ｘｉ２とｙｉ２が一致すれば１となり、そうでなければ０となる。
ＭａｔｃｈＣＴｙｐｅ（ｘｉ３，ｙｉ３）は、カラム型マッチ度算出式であり、例えば、ｘｉ３とｙｉ３が一致すれば１となり、そうでなければ０となる。
ＭａｔｃｈＤａｔａＲａｎｇｅ（ｘｉ４，ｙｉ４）は、データ値範囲マッチ度算出式であり、例えば、ｘｉ４とｙｉ４が一致すれば１となり、そうでなければ０となる。
【０１８７】
Ｗは、重みであり、ｗ１、ｗ２、ｗ３、ｗ４の集合である。ｗ１、ｗ２、ｗ３、ｗ４はそれぞれカラム名マッチ度算出式、テーブル名マッチ度算出式、カラム型マッチ度算出式、及びデータ値範囲マッチ度算出式に対する重みであり、それぞれの値の範囲は０から１である。なお、重みｗ１、ｗ２、ｗ３、ｗ４の総和は１である。
【０１８８】
また、最尤推定法は、重みを決定する手法であり、例えば、グリッドサーチを用いることができる。グリッドサーチとは、一定の間隔刻みで重みの値を尤度関数に入力し、尤度関数の出力値が最も大きくなる時の重みの値を決定する方法である。重み調整部１１４は、尤度関数の出力値が最も大きくなる時の重みの値をカラム特徴マッチ式の重みとする。
【０１８９】
例えば、カラムマッチ式がｆ（Ｘ，Ｙ）＝ｗ１＊ＭａｔｃｈＣＮａｍｅ（ｘ１，ｙ１）＋ｗ２＊ＭａｔｃｈＴＮａｍｅ（ｘ２，ｙ２）であり、確定マッピング管理情報１４１が２種類のカラムペアＡ、カラムペアＢを格納し、確定マッピング管理情報１４１に格納されているカラムペアＡのＭａｔｃｈＣＮａｍｅ（ｘ１，ｙ１）、ＭａｔｃｈＴＮａｍｅ（ｘ２，ｙ２）の値がそれぞれ０．１、０．８、カラムペアＢのＭａｔｃｈＣＮａｍｅ（ｘ１，ｙ１）、ＭａｔｃｈＴＮａｍｅ（ｘ２，ｙ２）の値がそれぞれ０．６、０．２である場合、尤度関数は、Ｌ（Ｗ｜Ｘ、Ｙ）＝（ｗ１＊０．１＋ｗ２＊０．８）＊（ｗ１＊０．６＋ｗ２＊０．２）である。また、尤度関数を用いてグリッドサーチで重みを決定する場合、尤度関数のｗ１、ｗ２に０．１間隔で値を入力し、尤度関数の出力値が最も大きくなる時の値（ｗ１，ｗ２）＝（０．３，０．７）が検出される。この値がカラム特徴マッチ式の重みとなる。
【０１９０】
以上説明したように、実施例２に係るデータ統合サーバ１０では、ユーザの指示に基づく確定マッピング情報に基づいて、重み調整部１１４が、カラム特徴マッチ度算出式の重みを調整するようにしたので、以降におけるカラム特徴マッチ度の算出精度を向上することができ、適切な同義カラムの候補を選出して、ユーザに提供することができるようになる。
【実施例３】
【０１９１】
次に、実施例３に係る計算機システムについて説明する。なお、実施例３については、主に、実施例１との差異について説明する。実施例３に係る計算機システムでは、実施例１に係る計算機システムに対して、過去にユーザによって一致すると判定された希少語ペアを利用して希少語の一致を判定する機能をさらに備えるようにしている。
【０１９２】
次に、実施例３に係る希少語マッチによるマッピング候補選出処理（図７のステップＳ３０）について詳細に説明する。
【０１９３】
図２３は、実施例３に係る希少語マッチによるマッピング候補選出処理のフローチャートである。なお、図１１に示す実施例１に係る希少語マッチによるマッピング候補選出処理と同様なステップには、同一の符号を付し、重複する説明を省略する。
【０１９４】
実施例３に係る希少語マッチによるマッピング候補選出処理においては、実施例１に係る希少語マッチによるマッピング候補選出処理に対して、希少語マッチルール管理情報１２４の取得処理（ステップＳ３２０）、及びユーザの指示により作成された希少語マッチルールの中に一致する希少語が存在するか否かの判定処理（ステップＳ３２１）をさらに含む。
【０１９５】
ステップＳ３２０では、希少語一致判定部１２２は、希少語マッチルール管理情報１２４を受信する（ステップＳ３２０）。
【０１９６】
ステップＳ３０５では、カラム周囲の希少語が一致するカラムペアが存在しない場合（ステップＳ３０５：ＮＯ）には、希少語一致判定部１２２は、ステップＳ３０４で選出されたカラムペアに関する希少語のペアが希少語マッチルール管理情報１２４に含まれる希少語ペアと一致するか否かを判定する（ステップＳ３２１）。
【０１９７】
この結果、希少語マッチルール管理情報１２４に含まれる希少語ペアと一致する場合（ステップＳ３２１：ＹＥＳ）には、マッピング候補選出部１２３がステップＳ３０４で選出されたカラムペアをマッピング候補として選出する（ステップ３０６）。一方、希少語マッチルール管理情報１２４に含まれる希少語ペアと一致しない場合（ステップＳ３２１：ＮＯ）には、希少語一致判定部１２２は、処理をステップＳ３０３に進める。
【０１９８】
ここで、希少語マッチルール管理情報１２４に、「Ｐｒｏｄ」と「Ｐｒｏｄｕｃｔｉｏｎ」とのペアが希少語ペアとして登録されている場合において、希少語マッチによるマッピング候補選出処理のステップＳ３０４において、カラムペアとして、図３に示すＭｓｔＰｒｏｄテーブルのＰｒｏｄＩＤカラムと、ＰａｒｔテーブルのＩＤカラムとが取得された場合を例にとって説明する。
【０１９９】
ステップＳ３０５では、希少語一致判定部１２２は、一致する希少語が存在するかを判定する。ＰｒｏｄテーブルのＰｒｏｄＩＤカラムの希少語は「Ｐｒｏｄ」であり、ＰａｒｔテーブルのＩＤカラムの希少語は「Ｐａｒｔ」、「Ｐｒｏｄｕｃｔｉｏｎ」、及び「ＢｉｌｌＯｆＭａｔｅｒｉａｌｓ」の３つであるが、ＰｒｏｄテーブルのＰｒｏｄＩＤカラムの希少語は、ＰａｒｔテーブルのＩＤカラムのいずれの希少語とも一致しないために、一致する希少語が存在しないと判定されて、処理は、ステップＳ３２１へ移る。
【０２００】
ステップＳ３２１では、希少語一致判定部１２２により、希少語マッチルール管理情報１２４に含まれる「Ｐｒｏｄ」と「Ｐｒｏｄｕｃｔｉｏｎ」との希少語ペアと、ＰｒｏｄテーブルのＰｒｏｄＩＤカラムの希少語「Ｐｒｏｄ」と、ＰａｒｔテーブルのＩＤカラムの希少語「Ｐｒｏｄｕｃｔｉｏｎ」のペアとが一致していると判定されて、ステップＳ３０６において、ＰｒｏｄテーブルのＰｒｏｄＩＤカラムと、ＰａｒｔテーブルのＩＤカラムとがマッピング候補として選出されることとなる。
【０２０１】
以上説明したように、実施例３に係るデータ統合サーバ１０では、ユーザの指示によって希少語ペアとして希少語マッチルール管理情報１２４に格納された希少語ペアについては、同一の希少語として判断されることとなるので、ユーザの意図に沿ったマッピング候補を適切に選出することができる。
【０２０２】
なお、本発明は、上述の実施例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
【０２０３】
例えば、上記実施形態では、カラム特徴によりマッピング候補として選択されたカラムのカラムペアに対して、希少語マッチによりマッピング候補か否かを判断するようにしていたが、本発明はこれに限られず、マッピング元データモデルのカラムと、マッピング先データモデルのカラムとの任意のカラムペアに対して、希少語マッチによるマッチングを行ってマッピング候補であるか否かを判断するようにしてもよい。すなわち、希少語マッチによる判定条件だけを満たす場合にマッピング候補であるとして選出するようにしてもよい。
【０２０４】
また、上記した各機能部について、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、機能部を構成するプログラムは、プログラムコードを記録した記録媒体により提供されてもよい。この場合には、記録媒体のプログラムをコンピュータのプロセッサが読み出して実行することにより、機能部を実現することができる。プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ，ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いてよい。また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装してもよい。
【０２０５】
また、実施例の機能部を実現するためのプログラムコードを、ネットワークを介して配信することによって、コンピュータのハードディスクやメモリ等の記憶部又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるプロセッサが記憶部や記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【符号の説明】
【０２０６】
１０…データ統合サーバ、２０…工場サーバ、３０…クライアント、１０１…ＣＰＵ、１０２…主記憶装置、１０３…ストレージ、１１０…カラム特徴マッチ部、１１４…重み調整部、１１６…重み管理情報、１２０…希少語マッチ部、１２１…希少語抽出部、１２２…希少語一致判定部、１２４…希少語マッチルール管理情報、１３０…テーブルマッチ部、１４０…共通データモデル、１４１…確定マッピング管理情報、１５１…データモデル管理情報、１７１…翻訳部、２１０…工場データモデル
【図１】
2018106400.tif 000003
【図２】
2018106400.tif 000004
【図３】
2018106400.tif 000005
【図４】
2018106400.tif 000006
【図５】
2018106400.tif 000007
【図６】
2018106400.tif 000008
【図７】
2018106400.tif 000009
【図８】
2018106400.tif 000010
【図９】
2018106400.tif 000011
【図１０】
2018106400.tif 000012
【図１１】
2018106400.tif 000013
【図１２】
2018106400.tif 000014
【図１３】
2018106400.tif 000015
【図１４】
2018106400.tif 000016
【図１５】
2018106400.tif 000017
【図１６】
2018106400.tif 000018
【図１７】
2018106400.tif 000019
【図１８】
2018106400.tif 000020
【図１９】
2018106400.tif 000021
【図２０】
2018106400.tif 000022
【図２１】
2018106400.tif 000023
【図２２】
2018106400.tif 000024
【図２３】
2018106400.tif 000025