(57)【要約】【課題】エンティティ間の関係性を適切に示すデータベースを構築すること。【解決手段】実施形態に係る更新装置は、変換部と、分類部と、更新部とを有する。変換部は、変換における所定のルールに基づいて、処理対象となるエンティティを、当該エンティティを説明するための要素と当該要素に対応する値とを含む所定のフォーマットに変換する。分類部は、変換部によって変換されたエンティティを、所定の基準に基づいてクラスタに分類する。更新部は、分類部によってクラスタに分類された複数のエンティティにおける、各エンティティが含む要素と値の組合せの共通性に基づいて、異なるデータベース間における所定のルールの対応関係が定義されたマッピングデータを更新する。【選択図】図４
2017208015.tif 000002
【特許請求の範囲】
【請求項１】
変換における所定のルールに基づいて、処理対象となるエンティティを、当該エンティティを説明するための要素と当該要素に対応する値とを含む所定のフォーマットに変換する変換部と、
前記変換部によって変換されたエンティティを、所定の基準に基づいてクラスタに分類する分類部と、
前記分類部によってクラスタに分類された複数のエンティティにおける、各エンティティが含む要素と値の組合せの共通性に基づいて、異なるデータベース間における前記所定のルールの対応関係が定義されたマッピングデータを更新する更新部と、
を備えたことを特徴とする更新装置。
【請求項２】
前記分類部は、
前記要素と値の組合せである組合せ情報の共通性に基づいて、複数のエンティティの中から、クラスタに分類するエンティティを抽出する、
ことを特徴とする請求項１に記載の更新装置。
【請求項３】
前記分類部は、
前記組合せ情報のうち、前記エンティティを一意に特定することのできる組合せ情報の重み値を重くして、クラスタに分類するエンティティを抽出する、
ことを特徴とする請求項２に記載の更新装置。
【請求項４】
前記分類部は、
前記組合せ情報の共通性として、組合せ情報が同一又は類似であるか否かに基づいて、クラスタに分類するエンティティを抽出する、
ことを特徴とする請求項２又は３に記載の更新装置。
【請求項５】
前記更新部は、
前記クラスタに分類された複数のエンティティが含む要素と値のうち、異なる２以上の要素が同一又は類似する値に対応する場合に、当該異なる２以上の要素を同一の要素と推定して前記所定のフォーマットに変換する処理が行われるように、前記マッピングデータを更新する、
ことを特徴とする請求項１〜４のいずれか一つに記載の更新装置。
【請求項６】
前記更新部は、
所定数の前記クラスタにおいて、前記複数のエンティティが含む要素と値の組合せのうち、異なる２以上の要素が同一又は類似する値に対応する組合せの数が所定の閾値を超える場合に、当該異なる２以上の要素を同一の要素と推定して前記所定のフォーマットに変換する処理が行われるように、前記マッピングデータを更新する、
ことを特徴とする請求項１〜５のいずれか一つに記載の更新装置。
【請求項７】
前記更新部は、
同義と推定される値同士、もしくは、編集距離が所定の値よりも少ない値同士を、前記類似する値として取り扱う、
ことを特徴とする請求項５又は６に記載の更新装置。
【請求項８】
前記更新部は、
前記クラスタに分類された複数のエンティティが含む要素について、要素同士の組を作成し、当該組に含まれる要素に対して同一又は類似する値が対応している数と、当該組に含まれる要素に対して同一又は類似する値が対応してない数とを比較することによって、前記組に含まれる要素は同一の要素と推定して前記所定のフォーマットに変換する処理が行われるように、前記マッピングデータを更新する、
ことを特徴とする請求項５〜７のいずれか一つに記載の更新装置。
【請求項９】
前記更新部は、
前記マッピングデータを更新する処理において、処理対象とされたエンティティに関する情報の変化量が所定の閾値を超えていない場合には、当該マッピングデータを更新したのちに、当該処理対象とされたエンティティを再び変換部に戻し、
前記変換部は、
前記更新部によって更新されたマッピングデータに基づいて、前記処理対象としたエンティティを再び前記所定のフォーマットに変換する、
ことを特徴とする請求項１〜８のいずれか一つに記載の更新装置。
【請求項１０】
前記変換部は、
前記処理対象となるエンティティを、当該エンティティを説明するための要素である述語と、当該述語に対応する目的語とを含む所定のフォーマットに変換し、
前記更新部は、
前記分類部によってクラスタに分類された複数のエンティティにおける、各エンティティが含む述語と目的語の組合せの共通性に基づいて、前記マッピングデータを更新する、
ことを特徴とする請求項１〜９のいずれか一つに記載の更新装置。
【請求項１１】
コンピュータが実行する変換方法であって、
変換におけるルールに基づいて、処理対象となるエンティティを、当該エンティティを説明するための要素と当該要素に対応する値とを含む所定のフォーマットに変換する変換工程と、
前記変換工程によって変換されたエンティティを、所定の基準に基づいてクラスタに分類する分類工程と、
前記分類工程によってクラスタに分類された複数のエンティティにおける、各エンティティが含む要素と値の組合せの共通性に基づいて、異なるデータベース間における前記所定のルールの対応関係が定義されたマッピングデータを更新する更新工程と、
を含んだことを特徴とする更新方法。
【請求項１２】
変換におけるルールに基づいて、処理対象となるエンティティを、当該エンティティを説明するための要素と当該要素に対応する値とを含む所定のフォーマットに変換する変換手順と、
前記変換手順によって変換されたエンティティを、所定の基準に基づいてクラスタに分類する分類手順と、
前記分類手順によってクラスタに分類された複数のエンティティにおける、各エンティティが含む要素と値の組合せの共通性に基づいて、異なるデータベース間における前記所定のルールの対応関係が定義されたマッピングデータを更新する更新手順と、
をコンピュータに実行させることを特徴とする更新プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、更新装置、更新方法、及び更新プログラムに関する。
【背景技術】
【０００２】
従来、ネットワーク上のリソースを記述する枠組みとして、ＲＤＦ（Resource  Description  Framework）が知られている。また、近年では、処理対象となるエンティティ（entity）を表現するモデルであって、ＲＤＦで定義しているメタデータのモデルの１つであるトリプル（triple）を、グラフ理論におけるグラフで表現することで、データソース群をグラフ構造化すること等が行われている。
【０００３】
さらに、ＲＤＦに関する技術として、ネットワーク上のオブジェクトのＵＲＩ（Uniform  Resource  Identifier）と、マッピングデータ（ＲＤＦ変換の依存関係や階層などのルールを規定するデータ）とに基づいて、当該オブジェクトをＲＤＦに変換する技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２１８６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、エンティティ間の関係性を適切に示すデータベースを構築することが困難である。グラフ構造化されたデータベース群を構築するためには、マッピングデータが、各エンティティに関する種々のデータフォーマットやスキーマ（schema）、オントロジ（Ontology）等の相違を吸収できることが望ましい。さらに、マッピングデータは、種々のエンティティ間の関係性の学習を経て、増強されることが望ましい。しかし、上記の従来技術では、このようなマッピングデータを生成することは難しい。また、マッピングデータを人手で生成するには、膨大な量のエンティティの関係性を解析することが必要となるため、現実的ではない。
【０００６】
本願は、上記に鑑みてなされたものであって、エンティティ間の関係性を適切に示すデータベースを構築することができる更新装置、更新方法、及び更新プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願に係る更新装置は、変換における所定のルールに基づいて、処理対象となるエンティティを、当該エンティティを説明するための要素と当該要素に対応する値とを含む所定のフォーマットに変換する変換部と、前記変換部によって変換されたエンティティを、所定の基準に基づいてクラスタに分類する分類部と、前記分類部によってクラスタに分類された複数のエンティティにおける、各エンティティが含む要素と値の組合せの共通性に基づいて、異なるデータベース間における前記所定のルールの対応関係が定義されたマッピングデータを更新する更新部と、を備えたことを特徴とする。
【発明の効果】
【０００８】
実施形態の一態様によれば、エンティティ間の関係性を適切に示すデータベースを構築することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る更新処理の一例を示す図である。
【図２】図２は、実施形態に係るナレッジベースの一例を示す図である。
【図３】図３は、実施形態に係る更新システムの構成例を示す図である。
【図４】図４は、実施形態に係る更新装置の構成例を示す図である。
【図５】図５は、実施形態に係るソースデータ記憶部の一例を示す図である。
【図６】図６は、実施形態に係るマッピングデータ記憶部の一例を示す図である。
【図７】図７は、実施形態に係るクラスタ情報記憶部の一例を示す図である。
【図８】図８は、実施形態に係るエンティティ記憶部の一例を示す図である。
【図９】図９は、実施形態に係る分類処理の一例を説明するための図である。
【図１０】図１０は、実施形態に係る更新処理の一例を説明するための図である。
【図１１】図１１は、実施形態に係る処理手順を示すフローチャートである。
【図１２】図１２は、更新装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【００１０】
以下に、本願に係る更新装置、更新方法及び更新プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る更新装置、更新方法及び更新プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１１】
〔１．更新処理の一例〕
まず、図１を用いて、実施形態に係る更新処理の一例について説明する。図１は、実施形態に係る更新処理の一例を示す図である。図１に示す例では、本願に係る更新装置に対応する更新装置１００が、所定のデータベースにおいて、エンティティ（entity）間の関係を示すマッピングデータを更新することにより、エンティティ間の関係性を増強する情報処理を行う一例について説明する。
【００１２】
更新装置１００は、世の中の事象や概念を示すエンティティと、エンティティ間の関係を構造化した形式で格納するデータベースを有する。ここで、エンティティ間の関係は、例えばＲＤＦなどの有向グラフの形式で示される。すなわち、更新装置１００は、エンティティの関係を主語（subject）、述語（predicate）、目的語（object）といった３つの項目を用いて示した、トリプルという形式を用いてデータベース化する。
【００１３】
このようにエンティティ間の関係性を有向グラフで示すデータベースは、一般にナレッジベース（Knowledge  Base）等と呼ばれる。ここで、図２を用いて、更新装置１００が構築するナレッジベースの一例について説明する。図２は、実施形態に係るナレッジベースの一例を示す図である。図２では、ナレッジベースに格納されているデータの概念を示しており、一例として、所定の建築家に関連するエンティティ間の関係性を概念として示している。
【００１４】
図２に示すエンティティＥ０１は、所定の建築家という事象又は概念を示すエンティティである。そして、図２に示す例では、エンティティＥ０１は、「氏名」が「ＡＡＡ」であることを示している。このことは、上述したトリプルにおいて、当該建築家を説明する要素である述語が「氏名」であり、述語に対応する値である目的語が「ＡＡＡ」である組の情報（以下、「組合せ情報」と表記する場合がある）を有していることから、読み取ることが可能である。同様に、図２に示す例では、エンティティＥ０１は、「生年月日」が「１９ＸＸ／ＸＸ／ＸＸ」であることを示している。この場合、当該建築家を説明する情報は、述語が「生年月日」であり、目的語が「１９ＸＸ／ＸＸ／ＸＸ」である組合せ情報が対応する。また、エンティティＥ０１には、画像データ「Ｐ０１」が紐づけられている。この場合、当該建築家を説明する情報は、述語が「画像」であり、目的語が「Ｐ０１」である組合せ情報が対応する。
【００１５】
さらに、図２に示すように、エンティティＥ０１は、他のエンティティＥ０２や、エンティティＥ０３や、エンティティＥ０４とのつながりを有する。例えば、エンティティＥ０１で示す建築家がエンティティＥ０２を設計したとする情報が、更新装置１００が保持するデータベースに記憶された場合に、図２で示すエンティティ間の関係性が構築される。言い換えれば、更新装置１００は、「エンティティＥ０１（建築家ＡＡＡ）は、エンティティＥ０２（作品ＢＢＢ）を設計した」とする情報を示すトリプルを記憶する。この場合、かかるトリプルは、述語が「設計」であり、目的語が「エンティティＥ０２」である組合せ情報により示される。
【００１６】
また、図２に示すように、更新装置１００が構築するナレッジベースでは、エンティティＥ０１とエンティティＥ０４がつながるとともに、エンティティＥ０４がエンティティＥ０５につながるといった関係性が構築される。例えば、エンティティＥ０１（建築家ＡＡＡ）は、エンティティＥ０４の審査に関わっており、かつ、エンティティＥ０４は、エンティティＥ０５（例えば、特定のイベントなど）の会場施設の１つであったとする。この場合、更新装置１００は、かかる情報を取得した場合に、図２に示すような、エンティティＥ０１とエンティティＥ０４がつながり、かつ、エンティティＥ０４とエンティティＥ０５がつながるといった情報を有するナレッジベースを構築することができる。
【００１７】
このようにして、更新装置１００は、種々のデータに基づいて、エンティティ間の関係性を構築することにより、ナレッジベースを生成する。そして、更新装置１００は、所定の処理においてナレッジベースを参照したり、外部装置や一般ユーザにナレッジベースを提供したりすることで、エンティティの周辺知識を活用することができる。
【００１８】
ところで、図２で示したような構造を有するデータベースの構築に関しては、エンティティや、エンティティ間の関係を示したソースデータ（source  data）を数多く取得することが望ましい。更新装置１００は、元となる情報を多く取得することにより、エンティティそのものの情報を強化したり、エンティティ間の関係性を的確に表現したりするといった補強をすることができるようになるからである。
【００１９】
しかしながら、データベースのソースとなるデータの形式は、必ずしもＲＤＦフォーマットに統一されているとは限らない。このため、データベースでの利用においては、ソースデータを適切なフォーマットに変換することを要する。
【００２０】
また、各データソースから取得されるデータにおいて、同じエンティティを示すはずの情報であっても、それらが同じエンティティを示すものと認識されないおそれがある。例えば、図２で示すエンティティＥ０１は、氏名が「ＡＡＡ」であっても、それが同姓同名の人物を示すエンティティと混同されたり、氏名の表記（日本語においては、漢字仮名表記の相違など）が異なるために、各データソース間のデータが同じエンティティを示すものと認識されなかったりするおそれがある。このため、ソースデータを取得できたとしても、望ましい形にデータベースを拡張することや、情報の信頼性を強化することができない場合がある。
【００２１】
そこで、実施形態に係る更新装置１００は、以下に説明する処理を用いてエンティティ間の関係性を示す情報（マッピングデータ）を増強することで、エンティティ間の関係性が適切に示されたデータベースを構築する。なお、マッピングデータは、例えば、異なるデータベースで使われる述語の種類と、変換先のナレッジベース（実施形態では、更新装置１００が構築するナレッジベース）で使われる同等の意味を持つ述語との対応関係を示すデータである。すなわち、更新装置１００は、異なるデータベースから取得したデータの共通性に基づいてマッピングデータを更新することで、より適切にエンティティ間の関係性が示されるナレッジベースを構築することができる。以下、図１を用いて、更新装置１００が行う更新処理の一例を、流れに沿って説明する。
【００２２】
図１に示す例において、更新装置１００は、まず、外部に備えられた各データベースから、処理対象となるソースデータを取得する（ステップＳ０１）。具体的には、更新装置１００は、通信ネットワーク（例えば、インターネット等）を介してアクセス可能なデータベース２０や、データベース３０や、データベース４０や、データベース５０にアクセスする。そして、更新装置１００は、各データベースから、ソースデータとなるデータを取得する。なお、図１に示したデータベースの数は一例に過ぎず、更新装置１００は、さらに多くのデータベースからソースデータを取得するようにしてもよい。
【００２３】
なお、データベース２０等の外部データベースは、例えば、ネットワーク上で一般ユーザが利用可能なサービスとして提供されているデータベースであってもよい。また、更新装置１００は、データベース２０等の外部データベースとして、上記したサービスを、ＲＤＦや、ＲＤＦに準拠するような形式（N-Triples、Notation3、Turtle等）に変換されたデータを有するデータベース（すなわち、構造化モデルとして定義されたデータを有するデータベース）を選択するようにしてもよい。このようなデータベースの一例としては、ＤＢｐｅｄｉａ等が存在する。
【００２４】
続いて、更新装置１００は、取得したデータの依存性を解消する処理を行う（ステップＳ０２）。かかる処理は、後述するフォーマット変換処理に先立って、ソース（各データベース）に保持されていたデータについて、各ソースにおける独自のデータ形式などを解消する処理となる。なお、かかる処理については、データ形式の依存を解消するための既知の処理が種々に組み合わされてもよい。例えば、更新装置１００は、ソースに保持されているソースデータのファイルのデータフォーマットを、更新装置１００が扱うことのできるデータフォーマットに変更するといった処理を行う。
【００２５】
また、更新装置１００は、かかる処理において、ソースとなったデータベースの信頼度をデータに付与する処理を行ってもよい。例えば、更新装置１００は、比較的古くから存在するような規模の大きなデータベースがソースである場合には、当該データベースから取得したデータの信頼度を高く設定する等の処理を行ってもよい。また、更新装置１００は、解析処理によって、ＲＤＦ等のデータ形式においてプロパティの単位が異なること等を検出した場合には、単位を統一する処理などを適宜行ってもよい。
【００２６】
そして、更新装置１００は、変換における所定のルールに基づいて、ソースデータのフォーマットを変換する（ステップＳ０３）。所定のルールは、異なるデータベース間において取得されたソースデータを、更新装置１００が扱うデータベースに対応する形式に変換する際のルールである。例えば、所定のルールは、上述したようなＲＤＦに準拠するような形式のファイルを、更新装置１００が処理対象とする形式に変換するプログラムであってもよく、また、既知のＲＤＦ変換プログラム等であってもよい。すなわち、更新装置１００は、データベース２０等から取得したソースデータを、自装置のデータベースに反映することのできる適切なフォーマットに変換する。この場合の変換とは、データ形式のみならず、更新装置１００が構築するナレッジベースで取り扱う形式へのフォーマットの変換処理の意味を含む。すなわち、更新装置１００は、かかるフォーマットについて、ＲＤＦに統一するようにしてもよいし、ＲＤＦに準拠する所定のフォーマット（エンティティを述語と目的語の組合せ情報で表現する任意のフォーマット）を採用するようにしてもよい。
【００２７】
更新装置１００は、フォーマット変換処理において、マッピングデータ記憶部１２２に記憶されたマッピングデータを用いる。マッピングデータには、変換における所定のルールに関する適用が記述される。すなわち、マッピングデータには、異なるデータベース間における所定のルールの対応関係が定義される。そして、マッピングデータは、更新装置１００が処理対象とするフォーマットにおいて、各データにおけるエンティティを定義付ける情報が含まれる。より具体的には、マッピングデータは、データベース２０等で使われる述語の種類と、更新装置１００が保持するデータベースで使われる同等の意味を持つ述語との対応関係を示すデータである。なお、マッピングデータは、更新装置１００が保持する独自のオントロジに則って記述される。オントロジには、例えば、エンティティに定義付けられるクラスやサブクラス等の階層情報や、各クラスが有する述語の種類や、各述語が目的語としてとりうる値（value）の定義や値域等の情報が含まれる。すなわち、ステップＳ０３におけるフォーマットの変換とは、更新装置１００が保持するマッピングデータに基づいて、データベース２０等において定義付けられていた述語を、更新装置１００が保持するデータベースに対応する述語に変換する処理を含む。
【００２８】
続いて、更新装置１００は、各ソースにおいて、同じエンティティを示すと想定されるデータをクラスタ化する（ステップＳ０４）。詳細は後述するが、更新装置１００は、エンティティに付与されている述語と目的語の組合せ情報に基づいて、あるエンティティ同士が、同じ事象又は概念を示すエンティティであると推定し、推定したエンティティをクラスタに分類する。言い換えれば、更新装置１００は、同じ対象を示すと考えられるソースデータごとにクラスタを生成する。
【００２９】
なお、更新装置１００は、同じ対象を示すと想定されるエンティティであっても、複数のクラスタを生成する場合がある。例えば、図１に示すように、更新装置１００は、クラスタＣＬ０１、クラスタＣＬ０２、及びクラスタＣＬ０３のような複数のクラスタを生成する場合がある。このような状況は、例えば、基準となる一つの組合せ情報に基づいて同じエンティティと想定したものの、他の組合せ情報を参照したときに、同じエンティティとしてクラスタに結合するには信頼性が足りない場合に起こり得る。具体的には、このような状況は、「氏名（名称）」に係る組合せ情報に基づいてエンティティを結合しようとした場合に、同姓同名のエンティティ間で起こり得る。
【００３０】
例えば、データベース２０から取得したデータが、エンティティＥ０１の人物を示すものであったとする。この場合、かかるデータは、「氏名がＡＡＡである」といった情報を有している。一方、データベース３０から取得したデータについても、「氏名がＡＡＡである」といった情報を有していたとする。この場合、これらの情報だけを参照した場合、これらは同じエンティティを示すものと推定される。しかし、これらのデータにおける他の組合せ情報を参照した場合、更新装置１００は、両者が異なるエンティティ（すなわち、異なる人物）を示していると判定する場合もある。例えば、更新装置１００は、組合せ情報の一致の度合いをスコアリングすること等によってクラスタすることによって、同じエンティティと想定されるデータを、一つのクラスタに分類したり、異なるクラスタに分類したりすることができる。
【００３１】
続けて、更新装置１００は、クラスタ化したエンティティにおいて、述語と目的語の組合せ情報の共通性に基づいて、マッピングデータを更新する（ステップＳ０５）。具体的には、更新装置１００は、クラスタ化したエンティティ間において、共通する目的語を有する述語であるにもかかわらず、異なる表記のされた述語を抽出する。このように、クラスタ内において、目的語が共通しているのにもかかわらず述語が異なる状況とは、例えば、ソースとなったデータベースにおいて、ある目的語を表現するために用いられた述語が互いに異なっていたこと等により起こり得る。そして、このような状況は、これらの相違が、ステップＳ０２やステップＳ０３の処理で取り除くことができなかった場合（例えば、ステップＳ０３の時点においては、当該述語に関する情報がマッピングデータに存在していなかった場合等）に起こり得る。
【００３２】
この場合、更新装置１００は、クラスタにおいて、共通する目的語を有する述語との組合せ情報が、例えば所定の閾値以上観測された場合に、当該述語を抽出する。そして、更新装置１００は、抽出した述語を、互いに同様の意味を有する述語であると判定し、それらの述語を統合する。そして、更新装置１００は、統合した述語と目的語の組合せ情報を、当該クラスタに対応するエンティティを説明する情報の１つとして、マッピングデータに追加する処理を行う。すなわち、更新装置１００は、クラスタにおいて観測される組合せ情報の共通性に基づいて、マッピングデータを更新し、更新したマッピングデータをマッピングデータ記憶部１２２に記憶する。これにより、更新装置１００は、もともとソースデータに付与されていた述語の記載を、更新装置１００独自の述語の記載に修正することができる。
【００３３】
例えば、データベース２０から取得されたソースデータであって、エンティティＥ０１を示すと想定されるソースデータにおいて、述語が「database20:work」であり、目的語が「architect」であったとする。また、データベース４０から取得されたソースデータであって、エンティティＥ０１を示すと想定されるソースデータにおいて、述語が「database40:career」であり、目的語が「architect」であったとする。また、他のデータベースから取得された組合せ情報においても、述語の表記内容や形式が異なるものの、目的語が「architect」である組合せ情報が、所定の閾値以上に観測されたとする。この場合、更新装置１００は、これらの述語が同じ目的語をとることから、エンティティＥ０１を説明する内容としては同じ述語を示しているものとして、これらの情報を統合する。そして、更新装置１００は、エンティティＥ０１に関する統合した情報として、「職業が建築家である」といった組合せ情報が対応付けられるよう、マッピングデータを更新する。具体的には、更新装置１００は、「database20:work」や「database40:career」といった各データベースの述語が、更新装置１００が保持するマッピングデータにおける述語「職業」と同じ目的語をとりうる述語であるものとして、これらを統合することで、マッピングデータを更新する。
【００３４】
なお、更新装置１００は、更新したマッピングデータを用いて、ステップＳ０３からステップＳ０５の処理を繰り返す（ループする）ようにしてもよい。これは、更新前のマッピングデータを用いてエンティティが処理された場合と、更新後のマッピングデータを用いてエンティティが処理された場合とでは、生成されるクラスタや、抽出される組合せ情報が異なる可能性があることによる。例えば、更新装置１００は、取得したソースデータに含まれている述語の数のうち、所定の数（割合）だけ更新装置１００が更新する処理を行うまで、かかるループ処理を続けるようにしてもよい。
【００３５】
なお、更新装置１００は、ループ処理によってマッピングデータを更新した後に、フォーマットに沿わない情報が含まれている場合には、かかる情報を除去してもよい（ステップＳ０６）。例えば、更新装置１００は、自装置が規定するオントロジに矛盾するトリプルや、自装置が対応するスキーマに変換できなかったトリプルを除去する処理を行う。そして、更新装置１００は、不要な情報を除去した後に、クラスタが含むエンティティに付与される組合せ情報を更新し、かかるエンティティに関する処理を終了する。なお、最終的にエンティティに付与される組合せ情報については、人手による確認処理が行われてもよい。これにより、更新装置１００は、瑕疵のない情報をエンティティに設定することができる。これらの処理により、更新装置１００は、自身のデータベースにおけるエンティティの関係性を強化し、より信頼のおけるデータベースを構築することができる。
【００３６】
上述してきたように、更新装置１００は、変換における所定のルールに基づいて、処理対象となるエンティティを、当該エンティティを説明するための要素である述語と当該述語に対応する目的語とを含む所定のフォーマットに変換する。そして、更新装置１００は、フォーマットが変換されたエンティティを所定のクラスタに分類する。さらに、更新装置１００は、クラスタに分類された複数のエンティティについて、各エンティティが含む述語と目的語の組合せの共通性に基づいて、異なるデータベース間における所定のルールの対応関係が定義されたマッピングデータを更新する。
【００３７】
このように、実施形態に係る更新装置１００は、複数のソース（例えば、異なる複数のデータベース）から取得されたデータについて、各ソースによって異なる形式を吸収しつつ、異なるデータベース間における述語の対応性を示したマッピングデータの増強を行うことができる。これにより、更新装置１００は、各エンティティの関係性の幅を拡張させることや、エンティティ間のつながりを示す情報の信頼度を高めることができるため、エンティティ間の関係性を適切に示すデータベースを構築することができる。
【００３８】
〔２．更新システムの構成〕
次に、図３を用いて、実施形態に係る更新装置１００が含まれる更新システム１の構成について説明する。図３は、実施形態に係る更新システム１の構成例を示す図である。図３に例示するように、実施形態に係る更新システム１には、更新装置１００と、データサーバ２１、３１、４１及び５１とが含まれる。これらの各種装置は、ネットワークＮ（例えば、インターネット）を介して、有線又は無線により通信可能に接続される。なお、図３に示した更新システム１に含まれる各装置の台数は、図示した数に限られない。
【００３９】
データサーバ２１、３１、４１及び５１は、それぞれデータベース２０、３０、４０、及び５０を有するサーバ装置である。例えば、データサーバ２１等は、ネットワークＮを介して、利用者に所定のデータを提供する。また、データサーバ２１等は、各々の管理者または利用者によって、データベース２０等で保持するデータの追加や更新を受け付けてもよい。また、データサーバ２１等は、保持するデータを提供するサービスを行うウェブサーバとしての処理を兼ねてもよい。
【００４０】
更新装置１００は、データサーバ２１等からソースデータを取得し、マッピングデータの更新処理を行うことによって、適切なデータベースを構築するサーバ装置である。上述のように、更新装置１００は、データサーバ２１等が保持するデータベース２０等から、ソースデータを取得する。そして、更新装置１００は、各ソースから取得したデータをクラスタ化することにより、各々のクラスタにおいて観測される情報の共通性に基づいて、マッピングデータを更新する。
【００４１】
なお、図３における図示は省略したが、更新システム１には、例えば、データサーバ２１等が保持するデータを更新する利用者によって利用される端末装置や、更新装置１００やデータサーバ２１等を管理する各管理者の端末装置等が含まれてもよい。
【００４２】
〔３．更新装置の構成〕
次に、図４を用いて、実施形態に係る更新装置１００の構成について説明する。図４は、実施形態に係る更新装置１００の構成例を示す図である。図４に示すように、更新装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、更新装置１００は、更新装置１００を利用する管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（例えば、液晶ディスプレイ等）を有してもよい。
【００４３】
（通信部１１０について）
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。かかる通信部１１０は、通信ネットワークと有線又は無線で接続され、通信ネットワークを介して、データサーバ２１等との間で情報の送受信を行う。
【００４４】
（記憶部１２０について）
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部１２０は、ソースデータ記憶部１２１と、マッピングデータ記憶部１２２と、クラスタ情報記憶部１２３と、エンティティ記憶部１２４とを有する。以下、各記憶部について順に説明する。
【００４５】
（ソースデータ記憶部１２１について）
ソースデータ記憶部１２１は、更新装置１００によって取得されるソースデータに関する情報を記憶する。ここで、図５に、実施形態に係るソースデータ記憶部１２１の一例を示す。図５は、実施形態に係るソースデータ記憶部１２１の一例を示す図である。図５に示した例では、ソースデータ記憶部１２１は、「データＩＤ」、「エンティティＩＤ」、「データソース」、「データ形式」、「述語」、「目的語」といった項目を有する。
【００４６】
「データＩＤ」は、ソースデータを識別する識別情報を示す。なお、実施形態では、各ソースデータは、一つのエンティティを示すデータであるものとする。
【００４７】
「エンティティＩＤ」は、所定の事象又は概念であるエンティティを識別する情報を示す。エンティティは、例えば、所定のＵＲＩで特定される主語（subject）であり、ネット上のリソースと言い換えてもよい。なお、以下の説明では、識別情報を参照符号として用いる場合がある。例えば、エンティティＩＤ「Ｅ１１」で識別されるエンティティは、「エンティティＥ１１」を表記する場合がある。
【００４８】
「データソース」は、取得先となったデータベースを識別する情報を示す。「データ形式」は、取得先となった各データベースで保持されていたデータの形式（フォーマット）を示す。なお、図５では、データ形式の項目には、「フォーマットＦ０２」や「フォーマットＦ０３」等のような概念的な情報が記憶される例を示しているが、具体的には、ＲＤＦや、ＲＤＦに準拠する所定のフォーマットなどが記憶される。
【００４９】
「述語」は、データを説明するための要素であり、当該データのプロパティの種別を示す。すなわち、図５に示す例において、データＩＤ「Ｄ２１」で示されるリソースが、ある特定の人物を示すＵＲＩで特定される場合、述語は、その人物を説明するプロパティに対応する。図５に示すように、述語は、人物であるリソースのプロパティを説明するための「氏名」や、「職業」や、「出生地」等が該当する。なお、図５では、各データベースにおける述語には、接頭語（prefix）が付与されている例を示している。かかる表現は、「氏名」や「職業」など同様の意味を含む述語であっても、各データベースによって、述語の記載そのものは異なる記載が用いられていることを概念的に示している。
【００５０】
また、述語は、「ＤＢ  ＩＤ」のように、ある特定のＤＢ（データベース）におけるＩＤを示すものでもよい。「ＤＢ  ＩＤ」とは、ソースデータを保持するデータサーバにおいて、構造化モデルを作成する際に利用した元データを識別する情報である。例えば、データサーバ２１が、データＩＤ「Ｄ２１」で識別される構造化モデルを作成する際に、あるデータベース（例えば、人物等の紹介が掲載された辞書データベース）のリソースを利用したとする。この場合、「ＤＢ  ＩＤ」には、当該辞書データベースにおけるデータＩＤ「Ｄ２１」に対応する人物を紹介するページを識別する情報が記憶される。すなわち、同一人物に関して、異なるデータサーバが構造化モデルを作成した場合、作成される構造化モデルはデータサーバごとに異なるが、元となったデータの識別情報である「ＤＢ  ＩＤ」は共通することになる。
【００５１】
「目的語」は、述語に対応する値を示す。例えば、述語が「氏名」である場合には、目的語は、実際の氏名を示す情報となる。すなわち、エンティティを説明するためのプロパティの項目が述語に対応する場合、目的語は、当該プロパティの値（value）となる。なお、目的語は、一つの述語に対して複数が存在する場合がある。例えば、ある女優を示すデータにおいて、述語が「出演作」である場合には、目的語は、当該女優が出演した複数の作品名が該当する。
【００５２】
すなわち、図５では、ソースデータ記憶部１２１に記憶される情報として、データＩＤ「Ｅ２１」で識別されるソースデータは、エンティティＩＤ「Ｄ２１」で識別されるエンティティを示すデータであり、「データベース２０」から取得されたものであり、データ形式は「フォーマットＦ０２」であることを示している。また、データＩＤ「Ｄ２１」で識別されるソースデータは、述語として、「ｄｂ２０＿氏名」や、「ｄｂ２０＿職業」や、「ｄｂ２０＿出生地」や、「ｄｂ２０＿ＤＢ  ＩＤ」や、「ｄｂ２０＿生年月日」や、「ｄｂ２０＿活動拠点」等を有する。また、データＩＤ「Ｄ２１」で識別されるソースデータは、それぞれの述語に対応する目的語として、「ＡＢＣ・ＤＥＦ」や、「女優」や、「ニューヨーク」や、「１１１１１１」や、「１９ＹＹ／ＹＹ／ＹＹ」や、「ロサンゼルス、サンフランシスコ」といった値を有する。
【００５３】
なお、図５に示すように、ソースデータは、取得されたデータベース毎にデータの表現や記載が異なる場合がある。例えば、データＩＤ「Ｄ２１」と、データＩＤ「Ｄ３１」とは、「ＤＢ  ＩＤ」が共通していることから、同じ人物を示したデータと想定される。しかし、図５に示すように、目的語の「ＡＢＣ・ＤＥＦ」や、「ＡＢＣ＝ＤＥＦ」などのように、記載が異なっている場合がある。また、図５に示すように、氏名が「ＡＢＣ・ＤＥＦ」という大文字で示されていたり、「ａｂｃ・ｄｅｆ」といった小文字で示されていたりする場合がある。また、表記によっては、同じ情報を示すと想定されるものでも、言語の相違や、仮名表記とローマ字表記の相違等が生じる場合がある。
【００５４】
（マッピングデータ記憶部１２２について）
マッピングデータ記憶部１２２は、マッピングデータに関する情報を記憶する。ここで、図６に、実施形態に係るマッピングデータ記憶部１２２の一例を示す。図６は、実施形態に係るマッピングデータ記憶部１２２の一例を示す図である。図６に示した例では、マッピングデータ記憶部１２２は、「定義ＩＤ」、「データ形式」、「クラス」、「述語対応」といった項目を有する。
【００５５】
「定義ＩＤ」は、データベース化にあたり、更新装置１００における所定の述語と、各データベースにおける述語との対応関係のデータを識別する情報を示す。「データ形式」は、データベースにおいて採用されるフォーマットを示す。
【００５６】
「エンティティＩＤ」は、図５に示した同様の項目に対応する。「クラス」は、エンティティに与えられる分類を示す。例えば、クラスは、「ｐｅｒｓｏｎ」といった値をとる。例えば、クラスが「ｐｅｒｓｏｎ」であるエンティティは、述語として「氏名」や「職業」を有するといった規定の下で、定義付けがなされる。
【００５７】
「述語対応」は、異なるデータベースで使われる述語と、更新装置１００におけるデータベースで使われる同等の意味を持つ述語との対応関係を示す。なお、図６に示す述語は、フォーマットＦ０１に対応するという点において、図５に示す述語と相違する。すなわち、図５に示すようなソースデータも述語を有するが、そのデータ形式は様々であり、同様の内容を示す述語であっても、異なるものと認識される場合がある。これに対して、図６に示す述語は、更新装置１００によって生成されたマッピングデータに係るものであり、更新装置１００が扱うフォーマットＦ０１に準拠していることを示している。
【００５８】
すなわち、図６では、マッピングデータ記憶部１２２に記憶される情報として、定義ＩＤ「Ｍ１１」で識別される定義は、データ形式が「フォーマットＦ０１」であり、また、クラスが「ｐｅｒｓｏｎ」に分類されていることを示している。そして、定義される述語は、「氏名」であり、この「氏名」に対応する述語は、「ｄｂ２０＿氏名」や、「ｄｂ３０＿氏名」や、「ｄｂ４０＿氏名」や、「ｄｂ５０＿氏名」であることを示している。
【００５９】
なお、図６で示したマッピングデータの例は、後述する更新処理が行われていない状態を示すものであり、例えば、図５で示したようなソースデータに対して後述する更新処理が行われた場合には、当該処理に応じて、マッピングデータ記憶部１２２に記憶されたマッピングデータは更新される。また、後述する変換部１３３によるソースデータの変換は、変換処理が行われる時点でのマッピングデータを利用して行われる。このため、ソースデータに含まれている述語（又は、述語に対応する要素）であっても、更新装置１００が扱うフォーマットに変換されない場合がある。このような述語は、後述する分類処理、更新処理を経て、マッピングデータに追加され、マッピングデータが更新されたのちに、変換処理が可能になる。
【００６０】
（クラスタ情報記憶部１２３について）
クラスタ情報記憶部１２３は、クラスタに分類されたエンティティに関する情報を記憶する。ここで、図７に、実施形態に係るクラスタ情報記憶部１２３の一例を示す。図７は、実施形態に係るクラスタ情報記憶部１２３の一例を示す図である。図７に示した例では、クラスタ情報記憶部１２３は、「クラスタＩＤ」、「エンティティＩＤ」、「データソース」、「組合せ情報」、「述語」、「目的語」といった項目を有する。
【００６１】
「クラスタＩＤ」は、クラスタを識別する情報を示す。なお、クラスタは、同じエンティティを示すと想定されるデータが分類されることにより、生成される。「エンティティＩＤ」、図５に示した同様の項目に対応する。「組合せ情報」は、述語と目的語の組からなる情報を示している。
【００６２】
なお、図７に示すクラスタは、例えば、エンティティを一意に特定することができると想定される組合せ情報や、エンティティ間で共通する組合せ情報の数に基づいて生成される。例えば、図７に示す例では、エンティティＥ２１と、エンティティＥ３１とが、共通するエンティティを示すデータであるものとして、クラスタリングされたことを示している。また、エンティティＥ４１や、エンティティＥ５１は、エンティティＥ２１や、エンティティＥ３１とは異なるエンティティを示すデータと推定され、別のクラスタとして生成されたことを示している。
【００６３】
（エンティティ記憶部１２４について）
エンティティ記憶部１２４は、更新されたマッピングデータに基づいた情報であって、更新装置１００で扱われるデータベースにおけるエンティティに関する情報を記憶する。ここで、図８に、実施形態に係るエンティティ記憶部１２４の一例を示す。図８は、実施形態に係るエンティティ記憶部１２４の一例を示す図である。図８に示した例では、エンティティ記憶部１２４は、「エンティティＩＤ」、「マージデータＩＤ」、「クラス」、「述語」、「目的語」といった項目を有する。
【００６４】
「エンティティＩＤ」は、図５に示した同様の項目に対応する。「マージデータＩＤ」は、マージ（結合）されたデータに関して各々のデータにおける識別情報を示す。なお、マージデータとは、更新装置１００の処理によって、ソースデータの取得先となった各データベースにおいて共通するエンティティを示していたと推定されたデータがマージされたものをいう。図８に示す例では、データＩＤ「Ｄ２１、Ｄ３１、Ｄ５１、・・・」等で識別されるデータは、共通するエンティティを示すものと推定され、マージされたことを示している。一方で、データＩＤ「Ｄ４１、・・・」等で識別されるデータは、データＩＤ「Ｄ２１、Ｄ３１、Ｄ５１、・・・」等で識別されるデータとは、異なるエンティティを示していたデータとして推定されたことを示している。「クラス」、「述語」、「目的語」の各々は、図６で示した同様の項目に対応する。
【００６５】
すなわち、図８では、エンティティ記憶部１２４に記憶される情報として、更新されたマッピングデータによって定義付けられたエンティティが記憶されることを示している。例えば、エンティティＩＤ「Ｅ１１」で識別されるエンティティは、データＩＤ「Ｄ２１、Ｄ３１、Ｄ５１、・・・」等で識別されるデータがマージされたものであり、クラスは「ｐｅｒｓｏｎ」であることを示している。また、エンティティＥ１１は、述語と目的語として、図８に示す各情報によって構造化されるデータであることを示している。
【００６６】
（制御部１３０について）
図４に戻って説明を続ける。制御部１３０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、更新装置１００内部の記憶装置に記憶されている各種プログラム（更新プログラムの一例に相当）がＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、コントローラであり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。
【００６７】
実施形態に係る制御部１３０は、図４に示すように、取得部１３１と、整形部１３２と、変換部１３３と、分類部１３４と、更新部１３５と、判定部１３６と、統合部１３７とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図４に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００６８】
（取得部１３１について）
取得部１３１は、各種情報を取得する。例えば、取得部１３１は、データサーバ２１等にアクセスすることにより、処理のソースとなるソースデータを取得する。具体的には、取得部１３１は、ネットワーク上において一般ユーザが利用可能なサービスとして提供されているデータベースであって、所定のエンティティをＲＤＦやＲＤＦに準拠するような形式で構造化したデータを有するデータベースから、構造化されたソースデータを取得する。
【００６９】
取得部１３１は、取得した情報をソースデータ記憶部１２１に適宜記憶する。なお、取得部１３１は、後述する更新部１３５等が行う処理によって得られるマッピングデータの他に、例えば、利用可能なマッピングデータ等（例えば、更新装置１００の管理者によって与えられる初期設定のマッピングデータ）を取得してもよい。
【００７０】
（整形部１３２について）
整形部１３２は、後述する処理部がデータを処理することが可能となるよう、ソースデータを整形する。例えば、整形部１３２は、取得部１３１によって取得されたソースデータの依存性を解消する処理を行う。
【００７１】
すなわち、整形部１３２は、ソースデータが保持されていた各データベースにおける独自のデータ形式などを解消する処理を行う。具体的には、整形部１３２は、各データベースにおいて構造化されたデータフォーマットにおける、データのプロパティが有する単位の相違等について、単位を統一する処理等を行う。
【００７２】
また、整形部１３２は、ソースデータを整形するにあたり、ソースとなったデータベースの信頼度をデータに付与する処理を行ってもよい。例えば、整形部１３２は、比較的古くから存在する、規模の大きなデータベースがソースである場合には、当該データベースから取得したデータの信頼度を高く設定する等の処理を行ってもよい。
【００７３】
（変換部１３３について）
変換部１３３は、変換における所定のルールに基づいて、処理対象となるエンティティを、当該エンティティを説明するための要素である述語と当該述語に対応する目的語とを含む所定のフォーマットに変換する。
【００７４】
例えば、変換部１３３は、整形部１３２によって整形されたデータについて、ＵＲＩ等に基づいてエンティティを特定する。そして、変換部１３３は、マッピングデータ記憶部１２２に記憶されている既存のマッピングデータを参照する。上述のように、マッピングデータには、更新装置１００が扱うフォーマット（例えば、ＲＤＦトリプル）に関する情報や、ソースデータであるエンティティが有する、各エンティティを説明するための要素（例えば、各データベースにおける述語）に対応する述語（更新装置１００が保持するデータベースにおける述語）の情報等が含まれる。また、変換部１３３は、更新装置１００が保持するオントロジを適宜参照する。
【００７５】
以下、図５乃至図６に示したデータの例を用いて、変換部１３３による変換処理を説明する。例えば、変換部１３３は、ソースデータＤ２１について、例えば、「ｄｂ２０＿氏名」と、更新装置１００のマッピングデータにおける「氏名」とが対応すると特定する。さらに、変換部１３３は、ソースデータＤ２１が含む他の述語について、マッピングデータに含まれる「職業」や「生年月日」や「ＤＢ  ＩＤ」で定義されている述語であると解析する。このように、マッピングデータに定義されている述語については、更新装置１００が保持するデータベースにおいて利用可能である。一方、変換部１３３は、「出生地」や「活動拠点」といった述語については、現時点におけるマッピングデータで定義されていないものと解析する。この場合、変換部１３３は、この時点では、「出生地」や「活動拠点」といった述語について、更新装置１００が保持するデータベースにおいて利用可能とせず、データとして保持し、後述する分類処理及び更新処理に送る。
【００７６】
（分類部１３４について）
分類部１３４は、変換部１３３によって変換されたエンティティを、所定の基準に基づいてクラスタに分類する。例えば、分類部１３４は、述語と目的語の組合せである組合せ情報の共通性に基づいて、複数のエンティティの中から、クラスタに分類するエンティティを抽出する。
【００７７】
この点について、図９を用いて説明する。図９は、実施形態に係る分類処理の一例を説明するための図である。図９では、図５に示したソースデータに対応するエンティティＥ２１、Ｅ３１、Ｅ４１、Ｅ５１がクラスタに分類される処理の流れについて示している。
【００７８】
図９において、分類部１３４は、エンティティＥ２１等における述語と目的語の組合せ情報の共通性を参照する。このとき、分類部１３４は、まず特定の組合せ情報を参照するようにしてもよい。例えば、分類部１３４は、組合せ情報のうち、エンティティを一意に特定することのできる組合せ情報を参照する。
【００７９】
なお、分類部１３４は、複数の組合せ情報を総合的に参照し、分類するエンティティを抽出するようにしてもよい。この場合、分類部１３４は、複数の組合せ情報のうち、例えば、エンティティを一意に特定することのできる組合せ情報の重み値を重くして、クラスタに分類するエンティティを抽出するようにしてもよい。
【００８０】
また、分類部１３４は、組合せ情報の共通性として、組合せ情報が同一又は類似であるか否かに基づいて、クラスタに分類するエンティティを抽出するようにしてもよい。分類部１３４は、述語や目的語が類似するか否かの判定としては、例えば、それらの語が同義語であるか、もしくは、互いの語の編集距離が所定の値よりも少ない語同士を、類似する語として取り扱うようにしてもよい。また、分類部１３４は、氏名等に含まれる文字のうち、記号を無視して語の同一性を判定する等の処理を行ってもよい。例えば、上記したように、ソースデータによっては、人名「ＡＢＣ・ＤＥＦ」が、「ＡＢＣ＝ＤＥＦ」と表記されている場合がある。分類部１３４は、このような場合、両者は類似するものであり、同じ意味を示す語と推定して、分類処理を行うようにしてもよい。
【００８１】
図９に示す例では、分類部１３４は、エンティティを一意に特定することのできる組合せ情報として、氏名と目的語との組合せ情報を参照したものとする（ステップＳ１１）。これは、クラスが「ｐｅｒｓｏｎ」であるエンティティにおいて、氏名が共通するということは共通するエンティティを示す可能性が高いこと、言い換えれば、エンティティを一意に特定することのできる可能性が高いためである。
【００８２】
ステップＳ１１において、分類部１３４は、氏名を基準として、氏名が共通すると想定されるエンティティ同士をブロック（Block）にまとめる。図９に示す例では、分類部１３４は、エンティティＥ２１、Ｅ３１及びＥ４１を同じブロックＢＬ１１にまとめ、エンティティＥ５１をブロックＢＬ１２にまとめたものとする。これは、分類部１３４が、氏名「ＡＢＣ・ＤＥＦ」と「ＡＢＣ＝ＤＥＦ」を同じ氏名と推定したが、「ＡＢＣ・ＤＥＦ」や「ＡＢＣ＝ＤＥＦ」と、「ａｂｃ・ｄｅｆ」とは、氏名が異なる可能性があると推定したことを示している。なお、このような分類処理における類似判定の基準は、例えば学習処理を経て、任意に調整されるようにしてもよい。
【００８３】
続けて、分類部１３４は、ブロックにまとめたエンティティにおいて、氏名以外の組合せ情報の共通性を検証する。例えば、分類部１３４は、全体の組合せ情報のうち、所定の割合よりも組合せ情報が共通するエンティティについて、クラスタに分類する（ステップＳ１２）。
【００８４】
図９に示す例では、分類部１３４が、エンティティＥ２１とエンティティＥ３１とに共通する組合せ情報が比較的多いと判定し、同じクラスタであるクラスタＣＬ１１にまとめたことを示している。一方、分類部１３４は、エンティティＥ４１は、エンティティＥ２１とエンティティＥ３１とは異なるクラスタとしてクラスタＣＬ１２を生成する。また、分類部１３４は、エンティティＥ５１についても、エンティティＥ２１及びエンティティＥ３１や、エンティティＥ４１とは異なるクラスタとしてクラスタＣＬ１３を生成する。このようなクラスタリングを経て、分類部１３４は、共通するエンティティを示していると想定されるエンティティを処理対象としてまとめることができる。
【００８５】
そして、分類部１３４は、生成したクラスタに関する情報をクラスタ情報記憶部１２３に記憶するとともに、クラスタに関する情報を更新部１３５に送る。
【００８６】
（更新部１３５について）
更新部１３５は、分類部１３４によってクラスタに分類された複数のエンティティにおける、各エンティティが含む述語と目的語の組合せの共通性に基づいて、変換における異なるデータベース間における所定のルールの対応関係が定義されたマッピングデータを更新する。
【００８７】
例えば、更新部１３５は、クラスタに分類された複数のエンティティが含む述語と目的語のうち、異なる２以上の述語が同一又は類似する目的語に対応する場合に、異なる２以上の述語を同一の述語と推定して所定のフォーマットに変換する処理が行われるように、マッピングデータを更新する。すなわち、更新部１３５は、ソースデータとして取得された述語について、同一又は類似する目的語（値）をとっているにもかかわらず、異なる表記のされた述語を抽出する。そして、更新部１３５は、抽出された述語について、ある共通する一つの述語に置き換えるとともに、当該述語と目的語を対応付けて、マッピングデータを更新する。かかる処理により、更新部１３５は、エンティティを説明するための述語及び目的語を、追加又は更新することができる。
【００８８】
なお、更新部１３５は、更新処理において、分類部１３４と同様、語の類似性を判定するようにしてもよい。例えば、更新部１３５は、述語に対応する目的語として、同義語と推定される目的語同士、もしくは、編集距離が所定の値よりも少ない目的語同士を、類似する目的語として取り扱うようにしてもよい。
【００８９】
なお、更新部１３５は、組合せ情報の判定において、一つのクラスタのみを判定するのではなく、共通するもの想定されていたエンティティにより生成されたクラスタを含めて、更新処理を行うようにしてもよい。すなわち、更新部１３５は、所定数のクラスタにおいて、複数のエンティティが含む述語と目的語の組合せのうち、異なる２以上の述語が同一又は類似する目的語に対応する組合せの数が所定の閾値を超える場合に、異なる２以上の述語を同一の述語と推定して所定のフォーマットに変換する処理が行われるように、マッピングデータを更新してもよい。
【００９０】
かかる処理において、更新部１３５は、クラスタに分類された複数のエンティティが含む述語について、述語同士の組を作成し、組に含まれる述語に対して同一又は類似する目的語が対応している数と、組に含まれる述語に対して同一又は類似する目的語が対応してない数とを比較することによって、組に含まれる述語は同一の述語と推定して所定のフォーマットに変換する処理が行われるように、マッピングデータを更新してもよい。この点について、図１０を用いて説明する。
【００９１】
図１０は、実施形態に係る更新処理の一例を説明するための図である。図１０では、説明のため、エンティティや述語や目的語を概念化した記載を用いる。図１０に示す例では、更新部１３５は、クラスタＣＬ２１に含まれるエンティティＥ６１、Ｅ６２、Ｅ６３に含まれる組合せ情報に基づいて、マッピングデータを更新する処理を行う。なお、図１０において、「Ｐ」は述語を、「Ｖ」は目的語（値）を、それぞれ示している。すなわち、図１０では、エンティティＥ６１は、（Ｐ０１：Ｖ０１）の組合せ情報を含み、エンティティＥ６２は、（Ｐ０３：Ｖ０２）の組合せ情報を含み、エンティティＥ６３は、（Ｐ０２：Ｖ０１）及び（Ｐ０２：Ｖ０３）の組合せ情報を含んでいることを示している。
【００９２】
まず、更新部１３５は、各クラスタ内に存在する述語（Ｐ）で組合せを生成する（ステップＳ２１）。すなわち、更新部１３５は、｛（Ｐ０１，Ｐ０２），（Ｐ０２，Ｐ０３），（Ｐ０３，Ｐ０１），・・・｝といったように、述語同士をペアとした組合せを生成する。
【００９３】
続いて、更新部１３５は、組に含まれる述語が、同一又は類似する目的語の値（Ｖ）を取った回数と、類似しない値を取った回数を計数する（ステップＳ２２）。例えば、図１０では、エンティティＥ６１に係る「Ｐ０１」は「Ｖ０１」を取るとともに、エンティティＥ６３に係る「Ｐ０２」も「Ｖ０１」を取る。また、エンティティＥ６３に係る「Ｐ０２」は「Ｖ０３」という値も取る。この場合、（Ｐ０１，Ｐ０２）は、（同一又は類似する値を取った回数，同一又は類似する値を取らない回数）という表記をする場合、（Ｐ０１，Ｐ０２）：（１，１）が成立する。同様に、（Ｐ０２，Ｐ０３）：（０，２）が成立し、（Ｐ０３，Ｐ０１）：（０，１）が成立する。
【００９４】
更新部１３５は、かかる処理を全クラスタに渡って行い、加算した値を算出する（ステップＳ２３）。そして、更新部１３５は、例えば、（Ｐ０１，Ｐ０２）：（８，２）や、（Ｐ０２，Ｐ０３）：（２，４）といった結果を得たとする。
【００９５】
そして、更新部１３５は、所定の閾値を用いて、マッピングを更新する処理を行う（ステップＳ２４）。例えば、更新部１３５は、ステップＳ２３において得られた結果について、処理数のうち７割（０．７）が「同一又は類似する値を取った」とする場合に、ペアとなった述語を同じものと推定するよう、マッピングデータを更新する。（Ｐ０１，Ｐ０２）：（８，２）の例で説明すると、全体の処理数は「８＋２＝１０」であり、「同一又は類似する値を取った」数は、「８」である。この場合、更新部１３５は、８／８＋２＝０．８を閾値（threshold）である「０．７」と比較する。そして、更新部１３５は、結果の値が閾値を超える場合に、組となったＰ０１とＰ０２とを同一の述語と推定する。
【００９６】
すなわち、更新部１３５は、Ｐ０１やＰ０２を含むソースデータとして得た場合には、両者が同一のものとして、また、同一の目的語をとるよう変換されるように、既存のマッピングデータを更新する。
【００９７】
このように、更新部１３５は、複数のソースから取得されたデータについて、各ソースによって異なる形式を吸収しつつ、述語の対応関係を定義するマッピングデータの増強を行うことができる。これによって、更新部１３５は、各エンティティの関係性の幅を拡張させることや、エンティティ間のつながりを示す情報の信頼度を高めることができる。
【００９８】
なお、更新部１３５は、マッピングデータを更新する処理において、処理対象とされたエンティティに関する情報の変化量が所定の閾値を超えていない場合には、マッピングデータを更新したのちに、処理対象とされたエンティティを再び変換部１３３に戻すようにしてもよい。この場合、変換部１３３は、更新部１３５によって更新されたマッピングデータを用いて、処理対象としたエンティティを再び所定のフォーマットに変換する。これにより、変換部１３３は、新たに定義された述語と目的語を有するエンティティを得ることができる。そして、分類部１３４及び更新部１３５は、上述した処理を繰り返す。すなわち、更新部１３５は、更新処理をループさせることによって、処理対象について、より正確な関係性を抽出するようにしてもよい。具体的には、更新部１３５は、ソースデータに含まれていた述語のうち所定の割合に対して変換処理が行われた場合に、ループ処理をやめて、処理を進めるなどの調整を行うようにしてもよい。
【００９９】
（判定部１３６について）
判定部１３６は、変換部１３３によって変換されたマッピングデータや、変換後のソースデータに関する判定を行う。例えば、判定部１３６は、上記変換処理において、ソースデータに含まれる述語であって、更新装置１００が保持するオントロジのスキーマに変換できなかった述語か否かを判定する。そして、判定部１３６は、変換できなかった述語に関して除外する処理を行う。
【０１００】
また、判定部１３６は、後述する統合部１３７によって、各クラスタにおいて目的語が統合された場合に、これらのトリプルが更新装置１００の保持するオントロジに適合するか否かを判定する。そして、判定部１３６は、オントロジの規定に矛盾するトリプルを排除する処理を行う。なお、これらの判定部１３６による処理については、人手による確認が行われてもよい。
【０１０１】
（統合部１３７について）
統合部１３７は、更新されたマッピングデータに基づいて、各クラスタにおける情報を統合する。具体的には、統合部１３７は、更新部１３５及び判定部１３６の処理後の各クラスタについて、各クラスタに識別情報（ＵＲＩ）を与える。そして、統合部１３７は、更新されたマッピングデータに基づいて、ＵＲＩに対応する述語を特定する。そして、統合部１３７は、各クラスタが持つ目的語の値を統合する。統合部１３７は、クラスタが統一された結果として、統合されたエンティティに関する情報をエンティティ記憶部１２４に記憶する。
【０１０２】
例えば、図８に示した例では、統合部１３７は、ソースデータＩＤがＤ２１、Ｄ３１、Ｄ５１であったデータについてマージして、エンティティＥ１１として統合している。この場合、統合部１３７は、エンティティＥ１１に対して一つのＵＲＩを付与していることになる。図１０に示すように、統合部１３７は、ソースデータＤ２１やＤ３１やＤ５１に対応していた述語や目的語をマージしている。なお、統合部１３７は、ソースデータＩＤ４１は、異なるエンティティとして統合している。これは、上述した変換、分類、更新処理において、ソースデータＤ４１が示すエンティティと、ソースデータＤ２１、Ｄ３１及びＤ５１が示すエンティティとが、異なるエンティティであったと判定されたことを示す。このことは、上述した処理では「氏名」を基準としてデータを抽出したことから、ソースデータＤ２１、Ｄ３１、Ｄ４１及びＤ５１が抽出されたものの、ソースデータＤ４１が示すエンティティは、ソースデータＤ２１、Ｄ３１及びＤ５１が示すエンティティとは異なる人物（例えば、同姓同名の他人）であったことを意味する。
【０１０３】
このように、データベース２０等から得られたソースデータが統合部１３７によって統合されることで、更新装置１００が保持するデータベース（ナレッジベース）におけるエンティティ間の関係性が強化される。また、当該データベースを構成するデータの情報量が増強される。
【０１０４】
〔４．処理手順〕
次に、図１１を用いて、実施形態に係る更新装置１００による処理の手順について説明する。図１１は、実施形態に係る処理手順を示すフローチャートである。
【０１０５】
図１１に示すように、更新装置１００に係る取得部１３１は、各データベース（例えば、データベース２０）からソースデータを取得する（ステップＳ１０１）。取得部１３１によって取得されたソースデータについて、整形部１３２は、ソースごとの依存性を解消する（ステップＳ１０２）。
【０１０６】
そして、変換部１３３は、既存のマッピングデータを用いてフォーマットを変換する（ステップＳ１０３）。具体的には、変換部１３３は、既存のマッピングデータを用いて変換可能な述語を特定し、対応する述語を変換する。続いて、分類部１３４は、所定の基準を用いてエンティティをクラスタに分類する（ステップＳ１０４）。
【０１０７】
そして、更新部１３５は、エンティティに関する述語と目的語による組合せ情報の共通性を検証する（ステップＳ１０５）。そして、更新部１３５は、検証した情報に基づいて、マッピングデータを更新する（ステップＳ１０６）。
【０１０８】
さらに、更新部１３５は、処理対象とするデータについて、所定量のデータが更新されたか否かを判定する（ステップＳ１０７）。所定量のデータが変換されていないと判定する場合には（ステップＳ１０７；Ｎｏ）、更新部１３５は、マッピングデータを更新したのち、処理を変換部１３３に戻す（ステップＳ１０３）。
【０１０９】
一方、更新部１３５は、所定量のデータが変換されたと判定する場合には（ステップＳ１０７；Ｙｅｓ）、マッピングデータを更新したのち、処理対象とするデータを判定部１３６に渡す。判定部１３６は、更新装置１００の保持するオントロジのルールに則って変換できなかったデータを判定する（ステップＳ１０８）。そして、判定部１３６は、変換できなかったデータを除外する（ステップＳ１０９）。
【０１１０】
続いて、統合部１３７は、判定部１３６による処理ののちのマッピングデータを用いて、各クラスタが持つ目的語の値を統合する（ステップＳ１１０）。そして、判定部１３６は、統合部１３７が統合した結果のデータ（すなわち、トリプルの形式で表現されるデータ）について、更新装置１００が保持するオントロジの規定に矛盾するトリプルを排除する（ステップＳ１１１）。これにより、更新装置１００が有するデータベースにおけるデータが、更新装置１００が保持するオントロジの規定に則ったデータに統一される。これにより、更新装置１００による処理は終了する。
【０１１１】
〔５．変形例〕
上述した更新装置１００による処理は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、更新装置１００の他の実施形態（変形例）について説明する。
【０１１２】
〔５−１．クラスの設定〕
上記実施形態では、あるデータに対応するエンティティについて、クラスが設定されている例を示した。クラスの設定については、ソースデータにおいて予め設定されているクラスを用いてもよいし、更新装置１００側の規定に則って、変換されてもよい。かかる処理については、例えば、エンティティが持つ述語や目的語の内容を判定し、例えば学習処理等によって、最適化されたクラスが設定されるようにしてもよい。また、更新装置１００は、自身が設定するクラスと他のデータサーバが設定するクラスとに関して、対応表のようなデータを保持していてもよい。
【０１１３】
〔５−２．情報の連結〕
上記実施形態では、エンティティを説明する要素として、述語と目的語との組合せ情報が存在する例を示した。ここで、エンティティを説明する要素として、当該エンティティに関する組合せ情報のみならず、エンティティとつながりを有するエンティティの組合せ情報を処理対象としてもよい。
【０１１４】
例えば、エンティティには、述語と目的語の関係を有して連結されるエンティティがありうる。例えば、図２では、エンティティＥ０１と、エンティティＥ０４とは連結されている。すなわち、上述する処理において、エンティティＥ０１と連結するエンティティＥ０４に関する情報は利用される。ここで、エンティティＥ０１を処理するに際して、エンティティＥ０４を介して連結しているエンティティＥ０５に関する情報を用いるようにしてもよい。このように、更新装置１００は、ナレッジベースにおいて更なる連結を有するエンティティの情報を用いることにより、よりエンティティ同士の関係性を強化するためのマッピングデータを生成することができる。
【０１１５】
〔５−３．処理する情報の限度〕
上記実施形態では、ある人物のエンティティに関して、述語と目的語の共通性を検証する処理を行う例を示した。ここで、例えば、処理対象とするエンティティが本や音楽等の作品であるときには、作品を説明する要素（作成者、編集者、出版会社、出版日、出版国など）が比較的多くなり、非常に多くの組合せ情報が発生する場合がある。さらに、上述したような述語同士のペアを作成すると、ペアの数が非常に多くなるため、処理に負担が生じる場合がある。
【０１１６】
このような場合、更新装置１００は、処理対象とするエンティティの述語の数の上限を予め設定しておき、それ以上の述語については処理対象から除外するなどの処理を行ってもよい。
【０１１７】
〔５−４．フォーマット〕
上記実施形態では、エンティティを説明するための要素としてＲＤＦにおける述語を例示し、述語に対応する値としてＲＤＦにおける目的語を例示した。しかし、述語や目的語といった用語は、ＲＤＦやＲＤＦ準拠のフォーマットにおいてエンティティを説明するために用いられるものであり、上記実施形態が説明した処理は、これらの用語を用いるフォーマットに限られるものではない。すなわち、上記実施形態で説明してきたような、エンティティを有向グラフとして表現する手法において、エンティティを説明する要素（述語）をまとめる処理は、ＲＤＦやＲＤＦ準拠のフォーマットに限らず適用可能である。
【０１１８】
〔６．ハードウェア構成〕
また、上述してきた実施形態に対応する更新装置１００は、例えば図１２に示すような構成のコンピュータ１０００によって実現される。図１２は、更新装置１００の機能を実現するコンピュータ１０００の一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ１３００、ＨＤＤ１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、及びメディアインターフェイス（Ｉ／Ｆ）１７００を有する。
【０１１９】
ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に記憶されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を記憶する。
【０１２０】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス１５００は、通信網５００（ネットワークＮに対応する）を介して他の機器からデータを受信してＣＰＵ１１００へ送り、ＣＰＵ１１００が作成したデータを、通信網５００を介して他の機器へ送信する。
【０１２１】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、入出力インターフェイス１６００を介して作成したデータを出力装置へ出力する。
【０１２２】
メディアインターフェイス１７００は、記録媒体１８００に記憶されたプログラム又はデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１２３】
例えば、コンピュータ１０００が実施形態に係る更新装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、制御部１３０の機能を実現する。また、ＨＤＤ１４００には、記憶部１２０内のデータが記憶される。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムを記録媒体１８００から読み取って実行するが、他の例として、他の装置から通信網５００を介してこれらのプログラムを取得してもよい。
【０１２４】
〔７．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１２５】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図４に示した整形部１３２と変換部１３３とは統合されてもよい。また、例えば、記憶部１２０に記憶される情報は、ネットワークＮを介して、外部に備えられた記憶装置に記憶されてもよい。
【０１２６】
また、例えば、上記実施形態では、更新装置１００が、ソースデータを取得する取得部１３１と、マッピングデータを更新する更新部１３５とを備える例を示した。しかし、更新装置１００は、ソースデータを取得する等、情報の送受信を行うフロントサーバと、マッピングデータを更新する等の処理を行うバックエンドサーバとに分離されてもよい。この場合、説明してきた更新装置１００による処理は、例えば、フロントエンドサーバとバックエンドサーバとを有する更新システム１によって実現される。
【０１２７】
また、上述してきた各実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１２８】
〔８．効果〕
上述してきたように、実施形態に係る更新装置１００は、変換部１３３と、分類部１３４と、更新部１３５とを有する。変換部１３３は、変換における所定のルールに基づいて、処理対象となるエンティティを、エンティティを説明するための要素（述語）と当該要素に対応する値（目的語）とを含む所定のフォーマットに変換する。分類部１３４は、変換部１３３によって変換されたエンティティを、所定の基準に基づいてクラスタに分類する。更新部１３５は、分類部１３４によってクラスタに分類された複数のエンティティにおける、各エンティティが含む述語と目的語の組合せの共通性に基づいて、異なるデータベース間における所定のルールの対応関係が定義されたマッピングデータを更新する。
【０１２９】
このように、実施形態に係る更新装置１００は、複数のソースから取得されたデータについて、各ソースによって異なる形式を吸収しつつ、エンティティの関係性を定義するマッピングデータの増強を行うことができる。具体的には、更新装置１００は、異なるデータベースである複数のソースから取得されたデータに基づいて、述語の変換に用いられるルールの対応関係を示したマッピングデータを更新する。これにより、更新装置１００は、各エンティティの関係性の幅を拡張させることや、エンティティ間のつながりを示す情報の信頼度を高めることができるため、エンティティ間の関係性を適切に示すデータベースを構築することができる。
【０１３０】
また、分類部１３４は、述語と目的語の組合せである組合せ情報の共通性に基づいて、複数のエンティティの中から、クラスタに分類するエンティティを抽出する。
【０１３１】
このように、実施形態に係る更新装置１００は、組合せ情報の共通性に基づいてエンティティをクラスタに分類することで、同一のエンティティを示していると想定されるデータを正確にクラスタに分類することができる。
【０１３２】
また、分類部１３４は、組合せ情報のうち、エンティティを一意に特定することのできる組合せ情報の重み値を重くして、クラスタに分類するエンティティを抽出する。
【０１３３】
このように、実施形態に係る更新装置１００は、一意に特定することのできる組合せ情報の重みを重くすることで、同一のエンティティを示していると想定されるデータを正確に分類することができる。
【０１３４】
また、分類部１３４は、組合せ情報の共通性として、組合せ情報が同一又は類似であるか否かに基づいて、クラスタに分類するエンティティを抽出する。
【０１３５】
このように、実施形態に係る更新装置１００は、同一な情報のみならず、類似性も含めて組合せ情報を判定する。これにより、更新装置１００は、データベース間で生じる表記ゆれの問題等を吸収して、共通するエンティティを示すデータを的確に分類することができる。
【０１３６】
また、更新部１３５は、クラスタに分類された複数のエンティティが含む述語と目的語のうち、異なる２以上の述語が同一又は類似する目的語に対応する場合に、異なる２以上の述語を同一の述語と推定して所定のフォーマットに変換する処理を行うように、マッピングデータを更新する。
【０１３７】
このように、実施形態に係る更新装置１００は、同様の目的語を有する述語に関して、それらの述語が同じものを示しているものと推定することで、述語をまとめる処理を行う。これによって、更新装置１００は、種々のデータベースから取得された種々の形式を有するソースデータであっても、同じエンティティを示すデータとして的確に表しうるマッピングデータに更新することができる。
【０１３８】
また、更新部１３５は、所定数のクラスタにおいて、複数のエンティティが含む述語と目的語の組合せのうち、異なる２以上の述語が同一又は類似する目的語に対応する組合せの数が所定の閾値を超える場合に、異なる２以上の述語を同一の述語と推定して所定のフォーマットに変換する処理が行われるように、マッピングデータを更新する。
【０１３９】
このように、実施形態に係る更新装置１００は、同一のエンティティと想定されていたデータから生成されたクラスタにおいて、所定の閾値を超える組合せが抽出される場合に、述語をまとめる処理を行う。例えば、あるクラスタにおいて述語と目的語との組合せが同じ値を有していたとしても、他のクラスタにおいて、同様の傾向が観測されるかは不明である。このため、更新装置１００は、複数のクラスタに渡って処理対象を抽出することにより、述語をまとめる処理、すなわち、マッピングデータの更新処理の精度を向上させることができる。
【０１４０】
また、更新部１３５は、同義語と推定される目的語同士、もしくは、編集距離が所定の値よりも少ない目的語同士を、類似する目的語として取り扱う。
【０１４１】
このように、実施形態に係る更新装置１００は、辞書的に類似するか、もしくは、語同士の相違量から導出される値である編集距離が所定の値よりも少ないか、といった判定基準によって、語の類似性を判定する。これにより、更新装置１００は、同一の意味を示しているが、データベース間で異なって表記されている語を的確に抽出することができるため、マッピングデータの更新処理の精度を向上させることができる。
【０１４２】
また、更新部１３５は、クラスタに分類された複数のエンティティが含む述語について、述語同士の組を作成し、組に含まれる述語に対して同一又は類似する目的語が対応している数と、組に含まれる述語に対して同一又は類似する目的語が対応してない数とを比較することによって、組に含まれる述語は同一の述語と推定して所定のフォーマットに変換する処理が行われるように、マッピングデータを更新する。
【０１４３】
このように、実施形態に係る更新装置１００は、述語の組を作成し、かかる組において類似する目的語を取るか否かを判定する。これにより、更新装置１００は、共通する意図を有した述語を的確に抽出できるため、マッピングデータの更新処理の精度を向上させることができる。
【０１４４】
また、更新部１３５は、マッピングデータを更新する処理において、処理対象とされたエンティティに関する情報の変化量が所定の閾値を超えていない場合には、マッピングデータを更新したのちに、処理対象とされたエンティティを再び変換部１３３に戻す。変換部１３３は、更新部１３５によって更新されたマッピングデータを用いて、処理対象としたエンティティを再び所定のフォーマットに変換する。
【０１４５】
このように、実施形態に係る更新装置１００は、変換から更新に至るまでの処理をループさせることができる。この過程により、更新装置１００は、同一のエンティティを説明する述語や目的語の抽出を、より正確に行うことができる。これにより、更新装置１００は、マッピングデータの更新処理の精度を向上させることができる。
【０１４６】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１４７】
また、上述してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【０１４８】
１  更新システム
１００  更新装置
１１０  通信部
１２０  記憶部
１２１  ソースデータ記憶部
１２２  マッピングデータ記憶部
１２３  クラスタ情報記憶部
１２４  エンティティ記憶部
１３０  制御部
１３１  取得部
１３２  整形部
１３３  変換部
１３４  分類部
１３５  更新部
１３６  判定部
１３７  統合部
【図１】
2017208015.tif 000003
【図２】
2017208015.tif 000004
【図３】
2017208015.tif 000005
【図４】
2017208015.tif 000006
【図５】
2017208015.tif 000007
【図６】
2017208015.tif 000008
【図７】
2017208015.tif 000009
【図８】
2017208015.tif 000010
【図９】
2017208015.tif 000011
【図１０】
2017208015.tif 000012
【図１１】
2017208015.tif 000013
【図１２】
2017208015.tif 000014
【手続補正書】
【提出日】平成29年1月12日(2017.1.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
変換における所定のルールに基づいて、処理対象となるエンティティを、当該エンティティを説明するための要素と当該要素に対応する値とを含む所定のフォーマットに変換する変換部と、
前記変換部によって変換されたエンティティを、所定の基準に基づいてクラスタに分類する分類部と、
前記分類部によってクラスタに分類された複数のエンティティであって、各々のクラスタに属するエンティティが含む要素と値の組合せの共通性に基づいて、異なるデータベース間における前記所定のルールの対応関係が定義されたマッピングデータを更新する更新部と、
を備えたことを特徴とする更新装置。
【請求項２】
前記分類部は、
前記要素と値の組合せである組合せ情報の共通性に基づいて、複数のエンティティの中から、クラスタに分類するエンティティを抽出する、
ことを特徴とする請求項１に記載の更新装置。
【請求項３】
前記分類部は、
前記組合せ情報のうち、前記エンティティを一意に特定することのできる組合せ情報の重み値を重くして、クラスタに分類するエンティティを抽出する、
ことを特徴とする請求項２に記載の更新装置。
【請求項４】
前記分類部は、
前記組合せ情報の共通性として、組合せ情報が同一又は類似であるか否かに基づいて、クラスタに分類するエンティティを抽出する、
ことを特徴とする請求項２又は３に記載の更新装置。
【請求項５】
前記更新部は、
前記各々のクラスタに属するエンティティが含む要素と値のうち、異なる２以上の要素が同一又は類似する値に対応する場合に、当該異なる２以上の要素を同一の要素と推定して前記所定のフォーマットに変換する処理が行われるように、前記マッピングデータを更新する、
ことを特徴とする請求項１〜４のいずれか一つに記載の更新装置。
【請求項６】
前記更新部は、
所定数の前記クラスタにおいて、前記各々のクラスタに属するエンティティが含む要素と値の組合せのうち、異なる２以上の要素が同一又は類似する値に対応する組合せの数が所定の閾値を超える場合に、当該異なる２以上の要素を同一の要素と推定して前記所定のフォーマットに変換する処理が行われるように、前記マッピングデータを更新する、
ことを特徴とする請求項１〜５のいずれか一つに記載の更新装置。
【請求項７】
前記更新部は、
同義と推定される値同士、もしくは、編集距離が所定の値よりも少ない値同士を、前記類似する値として取り扱う、
ことを特徴とする請求項５又は６に記載の更新装置。
【請求項８】
前記更新部は、
前記各々のクラスタに属するエンティティが含む要素について、要素同士の組を作成し、当該組に含まれる要素に対して同一又は類似する値が対応している数と、当該組に含まれる要素に対して同一又は類似する値が対応してない数とを比較することによって、前記組に含まれる要素は同一の要素と推定して前記所定のフォーマットに変換する処理が行われるように、前記マッピングデータを更新する、
ことを特徴とする請求項５〜７のいずれか一つに記載の更新装置。
【請求項９】
前記更新部は、
前記マッピングデータを更新する処理において、処理対象とされたエンティティに関する情報の変化量が所定の閾値を超えていない場合には、当該マッピングデータを更新したのちに、当該処理対象とされたエンティティを再び変換部に戻し、
前記変換部は、
前記更新部によって更新されたマッピングデータに基づいて、前記処理対象としたエンティティを再び前記所定のフォーマットに変換する、
ことを特徴とする請求項１〜８のいずれか一つに記載の更新装置。
【請求項１０】
前記変換部は、
前記処理対象となるエンティティを、当該エンティティを説明するための要素である述語と、当該述語に対応する目的語とを含む所定のフォーマットに変換し、
前記更新部は、
前記分類部によってクラスタに分類された複数のエンティティであって、各々のクラスタに属するエンティティが含む述語と目的語の組合せの共通性に基づいて、前記マッピングデータを更新する、
ことを特徴とする請求項１〜９のいずれか一つに記載の更新装置。
【請求項１１】
コンピュータが実行する更新方法であって、
変換における所定のルールに基づいて、処理対象となるエンティティを、当該エンティティを説明するための要素と当該要素に対応する値とを含む所定のフォーマットに変換する変換工程と、
前記変換工程によって変換されたエンティティを、所定の基準に基づいてクラスタに分類する分類工程と、
前記分類工程によってクラスタに分類された複数のエンティティであって、各々のクラスタに属するエンティティが含む要素と値の組合せの共通性に基づいて、異なるデータベース間における前記所定のルールの対応関係が定義されたマッピングデータを更新する更新工程と、
を含んだことを特徴とする更新方法。
【請求項１２】
変換における所定のルールに基づいて、処理対象となるエンティティを、当該エンティティを説明するための要素と当該要素に対応する値とを含む所定のフォーマットに変換する変換手順と、
前記変換手順によって変換されたエンティティを、所定の基準に基づいてクラスタに分類する分類手順と、
前記分類手順によってクラスタに分類された複数のエンティティであって、各々のクラスタに属するエンティティが含む要素と値の組合せの共通性に基づいて、異なるデータベース間における前記所定のルールの対応関係が定義されたマッピングデータを更新する更新手順と、
をコンピュータに実行させることを特徴とする更新プログラム。