データ判定システム及びデータ判定方法
【課題】連続的な特性を有するデータ間の関連付けを行うこと。
【解決手段】レコード記憶部が、連続的な特性を有する複数のデータごとに、当該データの種類を示す属性情報と、当該データと他のデータとの関連を示す関連情報と、連続的な特性における当該データの位置づけを示す連続情報とを関係付けて記憶する。そして、レコード抽出部が、レコード記憶部によって記憶された複数のデータから、同一の属性情報を有し、かつ、連続情報において連続的な特性を有する2つのデータを抽出する。そして、レコード同一性判定部が、レコード抽出部によって抽出された2つのデータに関係付けされた関連情報について所定の条件を満たす場合に、当該2つのデータが関連すると判定する。
【解決手段】レコード記憶部が、連続的な特性を有する複数のデータごとに、当該データの種類を示す属性情報と、当該データと他のデータとの関連を示す関連情報と、連続的な特性における当該データの位置づけを示す連続情報とを関係付けて記憶する。そして、レコード抽出部が、レコード記憶部によって記憶された複数のデータから、同一の属性情報を有し、かつ、連続情報において連続的な特性を有する2つのデータを抽出する。そして、レコード同一性判定部が、レコード抽出部によって抽出された2つのデータに関係付けされた関連情報について所定の条件を満たす場合に、当該2つのデータが関連すると判定する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、データ判定システム及びデータ判定方法に関する。
【背景技術】
【0002】
従来、企業などの多くの組織内では、個々の業務は一定の期間や空間で区切られて実行される。例えば、個々の業務は、年度ごとや地域ごとなどに区切られて実行される。このように、組織においては、連続的な特性を有するデータセットが発行される。しかしながら、このようなデータセット間において、データスキーマ(data schema)やレコード(record)自体に関連性や整合性が取られていない場合がある。
【0003】
例えば、レコード投入時に社名に法人格を入れる・入れない等の表記揺れや、ある同一製品に対する社内プロジェクトにおいて、企画フェーズ(phase)と開発フェーズとで別名のプロジェクトで管理されている場合などがある。
【0004】
そこで、近年、様々な分散したデータソースから情報を統合して分析することによって、戦略立案や経営計画に役立てるBI(Business Intelligence)が再度注目を集めている。例えば、BIを実現するための技術の一部として、データクレンジング技術や、名寄せ技術が知られている。一例を挙げると、上述した技術では、Webページや、データベースから得られたデータに対して、ドメイン知識を用いた確率的な制約を定義し、確率モデルに基づいたデータセット間の同一性を推定するためのアルゴリズムを設計する。
【0005】
また、例えば、BIの一部の技術として、個別に管理され、分散しているシステムのデータベースや、スプレッドシート(spread sheet)等のファイルで管理されているデータ等を統合して有効利用することを支援するソフトウェアが知られている。さらに、このような異なる複数のデータソースから得られた情報を統一的に扱う枠組みとして、グラフ表現できるデータモデルであるRDF(Resource Description Framework)を用いたセマンティック(semantic)Web技術も知られている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Shen, W. and Li, X. and Doan, A., “Constraint-Based Entity Matching” In AAAI 05, pp. 862-867, 2005
【非特許文献2】アプレッソ社 DataSpider、インフォテリア社 Asteria MDM One等のデータ連携ソフトウェア、[online]、平成23年1月20日、 [平成23年2月14日検索]、DataSpider:インターネット<http://dataspider.appresso.com/>、Asteria MDM One:インターネット<http://www.infoteria.com/jp/asteriamdmone/index.php>
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した従来技術では、連続的な特性を有するデータ間の関連付けを行うことができない場合があった。具体的には、上述した従来技術では、表記揺れデータの同一性を推定することを目的としているため、全く異名義のデータ間に関しては考慮されておらず、連続的な特性を有するデータ間の関連付けを行うことができない場合があった。
【0008】
そこで、本願に開示する技術は、上述した従来技術の問題に鑑みてなされたものであって、連続的な特性を有するデータ間の関連付けを行うことを可能にするデータ判定システム及びデータ判定方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するため、開示のシステムは、連続的な特性を有する複数のデータを記憶する記憶装置と、前記記憶装置によって記憶された前記複数のデータにおいて連続するデータ間に関連があるか否かを判定する判定装置とを備えたデータ判定システムであって、前記判定装置が、前記記憶装置によって記憶された前記複数のデータごとに、当該データの種類を示す属性情報と、当該データと他のデータとの関連を示す関連情報と、前記連続的な特性における当該データの位置づけを示す連続情報とを関係付けて記憶する関係情報記憶部と、前記関係情報記憶部によって記憶された複数のデータから、同一の属性情報を有し、かつ、前記連続情報において連続的な特性を有する2つのデータを抽出する抽出部と、前記抽出部によって抽出された2つのデータに関係付けされた関連情報について所定の条件を満たす場合に、当該2つのデータが関連すると判定する判定部とを備えたことを特徴とする。
【発明の効果】
【0010】
開示のシステムは、連続的な特性を有するデータ間の関連付けを行うことを可能にする。
【図面の簡単な説明】
【0011】
【図1】図1は、実施例1に係るデータ判定システムの構成の一例を説明するための図である。
【図2】図2は、実施例1に係るレコード記憶部によって記憶される情報の一例を説明するための図である。
【図3】図3は、実施例1に係るデータセット内レコード連結部による処理の例1を説明するための図である。
【図4】図4は、実施例1に係るデータセット内レコード連結部による処理の例2を説明するための図である。
【図5】図5は、実施例1に係るレコード抽出部による処理の一例を説明するための図である。
【図6】図6は、実施例1に係るレコード同一性判定部によって用いられるSPARQLの一例を示す図である。
【図7】図7は、実施例1に係るレコード同一性判定部による処理の一例を説明するための図である。
【図8】図8は、実施例1に係るレコード同一性判定部による関連情報の抽出処理の一例を説明するための図である。
【図9】図9は、実施例1に係るレコード同一性判定部による判定処理の一例を説明するための図である。
【図10】図10は、実施例1に係るデータセット間レコード連結部による処理の一例を説明するための図である。
【図11】図11は、実施例1に係るデータ判定システムによる処理の手順を示すシーケンス図である。
【図12】図12は、実施例1に係るレコード同一性判定部による判定処理の手順を示すフローチャートである。
【図13】図13は、変形例を説明するための図である。
【発明を実施するための形態】
【0012】
以下に添付図面を参照して、本願の開示するデータ判定システム及びデータ判定方法の実施例を詳細に説明する。なお、本願の開示するデータ判定システム及びデータ判定方法は、以下の実施例により限定されるものではない。
【実施例1】
【0013】
[実施例1に係るデータ判定システムの構成]
以下では、まず、実施例1に係るデータ判定システムの構成について説明する。図1は、実施例1に係るデータ判定システム1の構成の一例を説明するための図である。図1に示すように、実施例1に係るデータ判定システム1は、判定装置100と記憶装置200とを備える。
【0014】
記憶装置200は、例えば、ハードディスク、光ディスクなどの記憶装置であり、連続的な特性を有するデータを記憶する。具体的には、記憶装置200は、図示しない端末などによって時間的又は空間的に連続して発行された複数のデータセットを記憶する。例えば、記憶装置200は、年度ごとに発行されたプロジェクトに関するデータセットを記憶する。なお、記憶装置200によって記憶されるデータは、データベース化されたものであってもいいし、スプレッドシート等のファイルであってもよい。また、図1においては、記憶装置200のみが図示されているが、本願の開示するデータ判定システムは、これに限定されるものではなく、記憶装置を有するものであればどのようなものでもよい。例えば、データベースサーバや、ユーザ端末などであってもよい。
【0015】
判定装置100は、図1に示すように、I/F(Interface)部10と、入力部20と、表示部30と、記憶部40と、制御部50とを備え、記憶装置200と接続される。そして、判定装置100は、記憶装置200によって記憶された連続的な特性を有するデータセットに含まれるレコード間に関連があるか否かを判定して、関連があるレコード間の関連付けを行う。一例を挙げると、判定装置100は、ある年度のデータセットに含まれるプロジェクトのレコードと翌年度のデータセットに含まれるプロジェクトのレコードとが関連があるか否か(例えば、同一のプロジェクトに関するデータであるか否か)を判定して、レコード間の関連付けを行う。さらに、判定装置100は、入力部20を介してユーザから入力された検索キーワードに関するデータを表示部30に表示する。なお、判定装置100は、例えば、PC(Personal Computer)、ワークステーション又はデータ判定用の専用装置である。
【0016】
I/F部10は、制御部50と、入力部20、表示部30及び記憶部40との間での各種情報のやり取りを制御する。入力部20は、例えば、キーボードやマウスなどであり、ユーザによる種々の情報の入力処理を受付ける。一例を挙げると、入力部20は、ユーザによる検索キーワードの入力処理を受付ける。表示部30は、例えば、ディスプレイなどであり、ユーザに対して処理結果を表示出力する。一例を挙げると、表示部30は、ユーザによって入力部20から入力された検索キーワードを用いて検索されたデータ検索の検索結果を表示出力する。
【0017】
記憶部40は、図1に示すように、レコード記憶部41と、同一性判定ルール記憶部42とを有する。記憶部40は、例えば、ハードディスク、光ディスクなどの記憶装置、または、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子である。
【0018】
レコード記憶部41は、記憶装置200によって記憶されたデータごとに、当該データの種類を示す属性情報と、当該データと他のデータとの関連を示す関連情報と、連続性における当該データの位置づけを示す連続情報とを関連付けて記憶する。具体的には、レコード記憶部41は、後述する制御部50によって記憶装置200から収集されたデータセットにおいて、レコードごとに、当該レコードの種類を示す属性情報と、当該レコードの特徴を示すメタデータと、当該レコードが連続性においてどの位置のレコードであるかを示す連続情報とを関連付けて記憶する。なお、上述するレコードとは、データセットに含まれる個々のデータを意味する。また、以下では、属性情報を単に属性と記載する場合がある。また、レコード記憶部41は、後述する制御部50による処理結果を記憶する。
【0019】
ここで、レコード記憶部41によって記憶される情報の詳細について説明する。図2は、実施例1に係るレコード記憶部41によって記憶される情報の一例を説明するための図である。図2においては、図2の(A)が、スプレッドシートにより情報を記憶する場合について示す。また、図2においては、図2の(B)が、RDFを用いたグラフ表現により情報を記憶する場合について示す。
【0020】
例えば、スプレッドシートにより情報を記憶する場合には、レコード記憶部41は、図2の(A)に示すように、2003年度のデータセットとして、属性ごとにテーブルを設け、各行をレコード、各列をメタデータとした情報を記憶する。一例を挙げると、レコード記憶部41は、図2の(A)に示すように、「属性:社員」のテーブルに、レコードのメタデータ「ID:101」、「Name:山田一郎」、「Phone:704」、「Org:701」及び「年度:2003」が格納された情報を記憶する。ここで、図2の(A)に示す「年度」が連続情報に相当する。同様に、レコード記憶部41は、「属性:社員」のテーブルに、レコードのメタデータ「ID:102」、「Name:鈴木二郎」、「Phone:809」、「Org:701」及び「年度:2003」が格納された情報を記憶する。
【0021】
ここで、レコード記憶部41に記憶される情報は、属性間のレコードについても関連付けられる。例えば、図2の(A)に示すように、レコード記憶部41に記憶される情報では、「属性:社員」の「メタデータ:Org」を外部キーとして、「属性:組織」の「メタデータ:ID」が関連付けられる。すなわち、図2の(A)に示すように、「属性:組織」の「ID:701」が、「属性:社員」の「Org:701」に格納される。同様に、「属性:組織」の「メタデータ:Leader」を外部キーとして、「属性:社員」の「メタデータ:ID」が関連付けられる。すなわち、図2の(A)に示すように、「属性:社員」の「ID:102」が、「属性:組織」の「Leader:102」に格納される。
【0022】
上述したように、各レコードは、自身の特徴を示すメタデータと、レコード間を関連付けるメタデータとを有する。以下では、例えば、図2の(A)に示す「ID」、「Name」、「Phone」、「年度」などの自身の特徴を示すメタデータを特徴メタデータと記す。また、例えば、図2の(A)に示す「Org」及び「Leader」などのレコード間を関連付けるメタデータを関連メタデータと記す。なお、IDは、各属性におけるレコードを一意に識別するための識別子であり、各レコードがレコード記憶部41に格納される際にシーケンシャルに付与される。
【0023】
また、例えば、RDFを用いたグラフ表現により情報を記憶する場合には、レコード記憶部41は、図2の(B)に示すように、グラフ構造を有する情報を記憶する。すなわち、レコード記憶部41は、図2の(B)に示すように、ラベル付き有向グラフデータを記憶する。例えば、レコード記憶部41は、図2の(B)に示すように、レコードの実体を示すノードと、レコードの属性を示すノード(レコードからrdf:typeラベルで結ばれたノード)と、メタデータを示す複数のノード(矩形のノード)とを有するラベル付き有向グラフデータを記憶する。各ノードは、RDFの仕様に基づいてリソース(resource)、クラス(class)、リテラル(literal)と称される。
【0024】
例えば、レコード記憶部41は、図2の(B)に示すように、特徴メタデータ(リテラル)である「ID:102」、「Name:鈴木二郎」、「Phone:809」及び「年度:2003」が結ばれた「属性:社員」のレコードと、特徴メタデータである「ID:701」、「Name:組織D」及び「年度:2003」が結ばれた「属性:組織」のレコードとが関連メタデータの「Org」及び「Leader」により結ばれたグラフ構造を記憶する。
【0025】
図1に戻って、同一性判定ルール記憶部42は、連続的な特性を有するデータ間で関連するか否かを判定するためのルールを記憶する。具体的には、同一性判定ルール記憶部42は、後述する制御部50によって参照される時間的又は空間的に連続するレコード間が関連するか否かを判定するためのルールを属性ごとに記憶する。例えば、同一性判定ルール記憶部42は、「属性:プロジェクト」のレコードを判定するためのルールとして、「プロジェクトP1、P2について,それぞれに関連する共通人物が2人以上,関連する共通技術が3つ以上あれば,そのプロジェクトは同一のプロジェクトである」とするルールを記憶する。なお、同一性判定ルール記憶部42によって記憶されるルールは、データ判定システム1の管理者によって任意に決定され、予め同一性判定ルール記憶部42に格納される。
【0026】
制御部50は、図1に示すように、レコード収集部51と、データセット内レコード連結部52と、レコード抽出部53と、レコード同一性判定部54と、データセット間レコード連結部55と、レコード検索部56とを有する。制御部50は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路やASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路である。
【0027】
レコード収集部51は、I/F部10を介して、記憶装置200から連続的な特性を有する複数のデータを収集する。具体的には、レコード収集部51は、時間的又は空間的に連続して発行され、記憶装置200によって記憶された複数のデータセットを収集する。例えば、レコード収集部51は、記憶装置200によって記憶された年度ごとに発行されたデータセットのプロジェクトに関するレコードを収集する。なお、レコード収集部51によるレコードの収集のタイミングは、管理者によって任意に決定することができる。例えば、記憶装置200に新たなデータセットが格納されるたびに収集する場合であってもよいし、定期的に収集する場合であってもよい。
【0028】
データセット内レコード連結部52は、記憶装置200によって記憶された連続的な特性を有する複数のデータごとに、当該データの種類を示す属性情報と、当該データの特徴を示す特徴情報と、連続的な特性における当該データの位置づけを示す連続情報とを関連付ける。具体的には、データセット内レコード連結部52は、レコード収集部51によって収集された複数のレコードごとに、属性情報と、メタデータと、連続性を示す連続情報との関連を示す情報を生成して、レコード記憶部41に格納する。図3は、実施例1に係るデータセット内レコード連結部52による処理の例1を説明するための図である。
【0029】
例えば、データセット内レコード連結部52は、図3に示すように、レコード収集部51によって収集された2003年度のレコードについて、属性情報と、メタデータと、連続情報との関連を示すRDFのグラフ構造を生成してレコード記憶部41に格納する。一例を挙げると、データセット内レコード連結部52は、まず、図3に示すように、レコード収集部51によって収集されたレコード「#2003 研究プロジェクトA」について、レコードと属性「project:プロジェクト」とをrdf:typeラベルで結び、さらに、レコードと特徴メタデータとを、「project:プロジェクト名」や、「project:データ年度」などのラベルで結ぶ。
【0030】
さらに、データセット内レコード連結部52は、同一年度内で関連付けられているレコード間を関連メタデータのラベルにより連結する。例えば、データセット内レコード連結部52は、図3に示すように、「データ年度」が「2003年度」であるレコード「http://ntt.co.jp/project #2003_研究プロジェクトA」と「http://ntt.co.jp/person #2003_山田太郎」とを関連メタデータ「Project:責任者」により連結する。ここで、データセット内レコード連結部52は、年度に依存しない情報には年度情報を連結しない。例えば、データセット内レコード連結部52は、「http://ntt.co.jp/word #A技術」や、「http://ntt.co.jp/word #B技術」などには年度情報を連結しない。そして、データセット内レコード連結部52は、属性情報、特徴メタデータ、レコード間を連結したグラフ構造をレコード記憶部41に格納する。
【0031】
なお、データセット内レコード連結部52は、図3に示すグラフ構造だけではなく、XML形式でデータにより各レコードの関連を示す情報を生成することも可能である。図4は、実施例1に係るデータセット内レコード連結部52による処理の例2を説明するための図である。図4においては、2003年度データをRDF/XML形式データで表現した例を示す。
【0032】
例えば、データセット内レコード連結部52は、図4に示すように、レコード「研究プロジェクトA、責任者:山田太郎、プロジェクトID:200301A、技術キーワード:A技術、B技術」の関連をXML形式で表現した情報を生成する。同様に、データセット内レコード連結部52は、図4に示すように、レコード「山田太郎、社員ID:X123456、役職:部長、生年月日:1955/01/01」の関連をXML形式で表現した情報を生成する。
【0033】
図1に戻って、レコード抽出部53は、レコード記憶部41によって記憶された複数のデータから、同一の属性情報を有し、かつ、連続情報において連続することが示される2つのデータを抽出する。具体的には、レコード抽出部53は、レコード記憶部41によって記憶された時間的又は空間的に連続して発行されたデータセット間において、同一の属性情報を有するレコードを抽出する。図5は、実施例1に係るレコード抽出部53による処理の一例を説明するための図である。
【0034】
例えば、レコード抽出部53は、図5の(A)に示すように、rdf:typeラベルで結ばれた属性が「project:プロジェクト」であり、発行された年度を示す「project:データ年度」が「2003」のレコード「http://ntt.co.jp/project #2003_研究プロジェクトA」と、「project:データ年度」が「2004」のレコード「http://ntt.co.jp/project #2004_開発プロジェクトA」とをレコード記憶部41から抽出する。
【0035】
ここで、レコード抽出部53は、抽出した2つのレコードの組合せの情報を自身が有するメモリに保存する。例えば、レコード抽出部53は、図5の(B)に示すように、抽出したレコード「http://ntt.co.jp/project #2003_研究プロジェクトA」とレコード「http://ntt.co.jp/project #2004_開発プロジェクトA」とを対応付けた情報をメモリに保存する。そして、レコード抽出部53は、レコード記憶部41からさらに2つのレコードを抽出した際に、メモリ内の情報を参照して、既に抽出済みであるか否かを判定する。ここで、抽出した2つのレコードが抽出済みではなかった場合に、抽出した2つのレコードを後述するレコード同一性判定部54に送信する。一方、抽出した2つのレコードが既に抽出済みであった場合には、レコード抽出部53は、抽出した2つのレコードを後述するレコード同一性判定部54に送信しない。すなわち、レコード抽出部53は、未抽出のレコードのみを抽出することで、後述するレコード間の関連の有無の判定を重複して実行することを抑止する。
【0036】
図1に戻って、レコード同一性判定部54は、レコード抽出部53によって抽出された2つのデータに関連付けされた関連情報について所定の条件を満たす場合に、当該2つのデータが関連すると判定する。具体的には、レコード同一性判定部54は、同一性判定ルール記憶部42によって記憶された属性ごとのルールを参照して、レコード抽出部53によって抽出された2つのレコードの関連メタデータ及び/又は特徴メタデータについて所定の条件を満たす場合に、当該2つのレコードが関連すると判定する。例えば、レコード同一性判定部54は、2つのレコードに関係付けされた関連メタデータ及び/又は特徴メタデータが所定の類似条件を満たす場合に、当該2つのレコードが関連すると判定する。
【0037】
一例として、「属性」が「プロジェクト」である2つのレコードについて判定する場合について説明する。かかる場合には、レコード同一性判定部54は、まず、同一性判定ルール記憶部42によって記憶された「属性:プロジェクト」のレコードを判定するためのルールである「プロジェクトP1、P2について,それぞれに関連する共通人物が2人以上,関連する共通技術が3つ以上あれば,そのプロジェクトは同一のプロジェクトである」を参照する。そして、レコード同一性判定部54は、参照したルールに基づいて、プロジェクトに関連する共通の人物及び技術を抽出する。
【0038】
ここで、抽出方法の一例を説明する。例えば、上述したようにレコード及びメタデータがRDFによって表現されている場合には、RDFクエリ言語であるSPARQLをルールとして利用することが可能である。図6は、実施例1に係るレコード同一性判定部54によって用いられるSPARQLの一例を示す図である。図6においては、プロジェクトに共通の関連人物を出力するSPARQLについて示す。
【0039】
例えば、ルールとして図6に示すSPARQLが用いられた場合には、レコード同一性判定部54は、2つのプロジェクトに関連する責任者の論理積を抽出することとなる。すなわち、レコード同一性判定部54は、2つのプロジェクトの両方に関連する人物を抽出することとなり、例えば、共通人物が2人以上の場合には、結果が2行以上抽出されれば、共通人物に関する条件を満たしたと判定する。同様に、レコード同一性判定部54は、関連技術に関する条件についてもSPARQLを用いて判定する。
【0040】
さらに、レコード同一性判定部54は、レコードに関連する人物及び技術を抽出する方法として、RDFのグラフ構造を用いることも可能である。具体的には、レコード同一性判定部54は、人物及び技術がレコードに関連するか否かについて、RDFのグラフ構造におけるレコードに対するつながりによって判定する。図7は、実施例1に係るレコード同一性判定部54による処理を説明するための図である。図7においては、データ年度が「2004」のレコード間の関連を示す。
【0041】
例えば、レコード同一性判定部54は、図7に示すレコード「http://ntt.co.jp/project #2004_開発プロジェクトA」に関連する技術を判定する場合には、当該レコードから到達できる技術で、経由する関連メタデータの数(d)が2以下であるものを関連する技術として判定する。すなわち、レコード同一性判定部54は、図7に示すように、「d=1」である「http://ntt.co.jp/word #A技術」と、「d=2」である「http://ntt.co.jp/word #B技術」及び「http://ntt.co.jp/word #C技術」とをレコード「http://ntt.co.jp/project #2004_開発プロジェクトA」に関連する技術として判定する。なお、経由する関連メタデータの数については管理者が任意に設定することが可能である。例えば、属性ごとに経由数を設定する場合であってもよく、また、特定の関連メタデータを除いて、レコードに関連する周辺情報を収集するようにしてもよい。
【0042】
図7に示すように、実施例1に係るレコード同一性判定部54は、同一性の判定の対象となっている「http://ntt.co.jp/project #2004_開発プロジェクトA」とは直接関連していない「http://ntt.co.jp/word #B技術」及び「http://ntt.co.jp/word #C技術」を関連する技術として用いることで、同一性の判定の対象レコード以外からの情報を用いてレコード間の同一性の判定を行うことができる。
【0043】
上述したように、RDFのグラフ構造を用いてレコード間の同一性を判定する場合には、レコード同一性判定部54は、まず、各レコードにおける関連する人物及び技術をそれぞれ抽出する。図8は、実施例1に係るレコード同一性判定部54による関連情報の抽出処理の一例を説明するための図である。図8においては、レコード「http://ntt.co.jp/project #2004_開発プロジェクトA」に関連する人物及び技術を抽出する際の処理を模式的に示す。例えば、レコード同一性判定部54は、図8に示すように、レコード「http://ntt.co.jp/project #2004_開発プロジェクトA」から到達できる人物及び技術において、経由する関連メタデータの数(d)が2以下であるものを関連する人物及び技術として抽出する。
【0044】
すなわち、レコード同一性判定部54は、図8に示す「d=1」である「http://ntt.co.jp/person #2004_山田太郎」と、「d=2」である「http://ntt.co.jp/person #2004_山本八郎」及び「http://ntt.co.jp/person #2004_伊藤七郎」とをレコード「http://ntt.co.jp/project #2004_開発プロジェクトA」に関連する人物として抽出する。ここで、図8に示すように、「伊藤七郎」及び「山本八郎」は、「#2004_組織F」と直接関連したものであり、「#2004_開発プロジェクトA」とは直接的な関連はしていない。すなわち、レコード同一性判定部54は、グラフ構造において判定の対象となるレコードの周辺に配置された周辺情報を判定に用いる。同様に、レコード同一性判定部54は、レコード「http://ntt.co.jp/project #2004_開発プロジェクトA」に関連する技術として「http://ntt.co.jp/word #A技術」、「http://ntt.co.jp/word #B技術」及び「http://ntt.co.jp/word #C技術」を抽出する。
【0045】
また、レコード同一性判定部54は、レコード「http://ntt.co.jp/project #2003_研究プロジェクトA」に関連する人物及び技術を抽出する。ここで、レコード同一性判定部54は、各レコードにおいてそれぞれ抽出した人物及び技術がルールを満たすか否かを判定する。図9は、実施例1に係るレコード同一性判定部による判定処理の一例を説明するための図である。
【0046】
例えば、レコード同一性判定部54は、図9に示すように、レコード「http://ntt.co.jp/project #2003_研究プロジェクトA」とレコード「http://ntt.co.jp/project #2004_開発プロジェクトA」とから抽出した人物及び技術を照合して、ルールである「共通人物が2人以上」、「共通技術が3つ以上」であるか否かを判定する。
【0047】
ここで、レコード同一性判定部54は、共通人物が2人以上いるか否かを判定する際に、まず、年度をまたいで抽出された同一名の人物が同一人物であるか否かを判定する。具体的には、レコード同一性判定部54は、年度をまたいで同一名の人物を抽出した場合には、まず、属性「Person:人」を判定するためのルールを同一性判定ルール記憶部42から読み出して、人物の同一性を判定する。なお、属性「Person:人」を判定するためのルールは、例えば、「社員ID及びメールアドレスが同一である」又は「所属組織が同一である」や、「関連する技術に3つ以上の重複がある」などである。
【0048】
例えば、レコード同一性判定部54は、図9に示す「http://ntt.co.jp/person #2004_佐藤三郎」と「http://ntt.co.jp/person #2003_佐藤三郎」との同一性をルールに基づいて判定する。そして、同一人物であると判定した場合には、レコード同一性判定部54は、判定結果をレコード記憶部41に格納して、レコード間を判定する際に、格納した判定結果を用いる。例えば、「http://ntt.co.jp/person #2004_佐藤三郎」と「http://ntt.co.jp/person #2003_佐藤三郎」とが同一人物であった場合には、レコード同一性判定部54は、「http://ntt.co.jp/person #2004_佐藤三郎」と「http://ntt.co.jp/person #2003_佐藤三郎」とを関連メタデータ「person:newVersion」で連結してレコード記憶部41に格納する。そして、レコード同一性判定部54は、レコード間の同一性を判定する際に、レコード記憶部41に記憶された情報を参照して、関連メタデータ「person:newVersion」で連結された人物を2つのレコードに関連する共通の人物であると判定する。
【0049】
上述したように、実施例1に係るレコード同一性判定部54は、再帰的な判定処理を実行するが、この再帰的な判定は、同一性を判定するごとに実行される。すなわち、上述した人物の同一性を判定する際に、判定のルールが「社員ID及びメールアドレスが同一である」又は「所属組織が同一である」の場合には、レコード同一性判定部54は、所属組織の同一性をさらに判定して、判定結果を人物の同一性の判定に用いる。
【0050】
ここで、例えば、組織の同一性を判定するためのルールが「所属する人物に5人以上の重複がある」の場合には、組織の判定と人物の判定とがループする可能性がある。そこで、実施例1に係るレコード同一性判定部54は、同一性の判定を実行した組合せに関する情報を自身が有する内部メモリに格納し、同一の組合せに関して再度判定を実行することがないように制御する(以下、ループ抑止制御と記す)。具体的には、レコード同一性判定部54は、同一性を判定する際に、自身が有する内部メモリに格納した情報を参照して、格納済みの組合せと同一の組合せが判定対象となる場合には、ルールの適用を中断する。
【0051】
ループ抑止制御の一例として、「#2004_佐藤三郎」と「#2003_佐藤三郎」との同一性の判定に際して、組織の同一性を判定する状況であり、組織の同一性を判定するためのルールが「所属する人物に5人以上の重複がある」場合について説明する。レコード同一性判定部54は、まず、「#2004_佐藤三郎」と「#2003_佐藤三郎」との組合せを自身のメモリに記憶する。そして、レコード同一性判定部54は、組織の同一性を判定するために、再度、「#2004_佐藤三郎」と「#2003_佐藤三郎」との同一性を判定することになった場合には、ルール「所属する人物に5人以上の重複がある」の適用を中断する。かかる場合には、レコード同一性判定部54は、組織の同一性に関する判定を実行せず、人物の同一性を判定することとなる。すなわち、レコード同一性判定部54は、予め設定されたルールに用いられた選言により、「社員ID及びメールアドレスが同一である」とするルールを用いて人物の同一性を判定する。
【0052】
上述したように、レコード同一性判定部54は、レコード間の関連を判定する際に、再帰的な判定を実行する。そして、レコード同一性判定部54は、レコード間が関連すると判定した場合には、判定結果を後述するデータセット間レコード連結部55に送信する。例えば、レコード同一性判定部54は、図9に示すように、2つのレコード間で「鈴木二郎」及び「佐藤三郎」が共通し、「A技術」、「B技術」及び「C技術」が共通している場合に、「#2003_研究プロジェクトA」と「#2004_開発プロジェクトA」とが同一のプロジェクトであると判定して、判定結果を後述するデータセット間レコード連結部55に送信する。
【0053】
図1に戻って、データセット間レコード連結部55は、レコード同一性判定部54によって関連があると判定されたレコード間を関連付けた情報をレコード記憶部41に格納する。図10は、実施例1に係るデータセット間レコード連結部55による処理の一例を説明するための図である。例えば、データセット間レコード連結部55は、図10の(A)に示すように、レコード「http://ntt.co.jp/project #2003_研究プロジェクトA」とレコード「http://ntt.co.jp/project #2004_開発プロジェクトA」とをレコード間が同一であることを示す「project:newVersion」により結んだ情報をレコード記憶部41に格納する。また、データセット間レコード連結部55は、図10の(B)に示すように、RDFの情報を3つのカラムで表現したリレーショナルデータベースに格納することも可能である。かかる場合には、例えば、RDFの情報を「主語」、「述語」、「目的語」の3つのカラムに格納するようにする。なお、RDFの情報をスプレッドシートにより格納することも可能である。
【0054】
図1に戻って、レコード検索部56は、ユーザが入力部20を介して入力した検索キーワードに関連するレコードを表示部30に表示させるように制御する。例えば、レコード検索部56は、ユーザが2004年度の開発プロジェクトAを検索キーワードとして入力した場合には、2004年度の開発プロジェクトAのレコードと共に、2003年度の研究プロジェクトAのレコードを表示部30に表示するように制御する。
【0055】
このように、本願のデータ判定システム1は、グラフ構造において同一性を判定する対象となるレコード間の周辺情報を用いて同一性の判定を行うことから、例えば、対象のレコード間で全くの異名義であったとしても、当該レコードが関連しているか否かを精度よく判定することができる。その結果、本願のデータ判定システム1は、連続的な特性を有するデータ間の関連付けを行うことを可能にする。
【0056】
[実施例1に係るデータ判定システムによる処理の手順]
次に、実施例1に係るデータ判定システム1による処理の手順について、図11を用いて説明する。図11は、実施例1に係るデータ判定システム1による処理の手順を示すシーケンス図である。
【0057】
図11に示すように、実施例1に係るデータ判定システム1においては、レコード抽出部53は、連続する期間の関係であり、同じ属性の2つのレコードを抽出して(ステップS101)、レコード同一性判定部54に2つのレコードを送信する(ステップS102)。
【0058】
そして、レコード同一性判定部54は、2つのレコードを受信すると、2つのレコードの属性に関係するルールを抽出して(ステップS103)、ルールに関係するメタデータを2つのレコードからそれぞれ抽出して(ステップS104)、2つのレコードの同一性を判定する(ステップS105)。
【0059】
ここで、2つのレコードに同一性がある場合には(ステップS106肯定)、レコード同一性判定部54は、2つのレコードをデータセット間レコード連結部55に送信する(ステップS107)。そして、データセット間レコード連結部55は、2つのレコードを受信すると、2つのレコードの関連付け情報を登録する(ステップS108)。
【0060】
そして、2つのレコードの関連付け情報を登録後、又は、ステップS106において2つのレコードに同一性が無かった場合(ステップS106否定)、レコード抽出部53は、可能なレコードの組合せを全て選択したか否かを判定する(ステップS109)。ここで、全ての組合せを選択していない場合には(ステップS109否定)、レコード抽出部53は、ステップS101に戻って、2つのレコードを抽出する。一方、全ての組合せを選択した場合には(ステップS109肯定)、実施例1に係るデータ判定システムは処理を終了する。
【0061】
[実施例1に係るレコード同一性判定部による判定処理の手順]
次に、実施例1に係るレコード同一性判定部54による判定処理の手順について、図12を用いて説明する。図12は、実施例1に係るレコード同一性判定部54による判定処理の手順を示すフローチャートである。
【0062】
図12に示すように、実施例1に係るレコード同一性判定部54は、レコード間の同一性を判定する際に、同一性判定ルールrを、レコード・メタデータを扱える形式tに変換する(ステップS201)。そして、レコード同一性判定部54は、レコードp1、p2の周辺情報c1、c2に対してtを実行し(ステップS202)、tが真になるか否かを判定する(ステップS203)。
【0063】
ここで、tが真である場合には(ステップS203肯定)、レコード同一性判定部54は、レコードp1、p2をデータセット間レコード連結部55に送信して(ステップS204)、処理を終了する。一方、tが真ではない場合には(ステップS203否定)、レコード同一性判定部54は、処理を終了する。
【0064】
[実施例1の効果]
上述したように、実施例1によれば、レコード記憶部41が、連続的な特性を有する複数のレコードごとに、当該レコードの種類を示す属性情報と、当該レコードと他のレコードとの関連を示す関連メタデータと、連続的な特性における当該データの位置づけを示す連続情報とを関係付けて記憶する。そして、レコード抽出部53が、レコード記憶部41によって記憶された複数のレコードから、同一の属性情報を有し、かつ、連続情報において連続することが示される2つのレコードを抽出する。そして、レコード同一性判定部54が、レコード抽出部53によって抽出された2つのレコードに関係付けされた関連メタデータについて所定の条件を満たす場合に、当該2つのレコードが関連すると判定する。従って、実施例1に係るデータ判定システム1は、グラフ構造において同一性を判定する対象となるレコード間の周辺情報を用いて同一性の判定を行うことから、例えば、対象のレコード間で全くの異名義であったとしても、当該レコードが関連しているか否かを精度よく判定することができる。その結果、実施例1に係るデータ判定システム1は、連続的な特性を有するデータ間の関連付けを行うことを可能にする。
【0065】
また、実施例1によれば、レコード同一性判定部54は、レコード抽出部53によって抽出された2つのレコードに関係付けされた関連メタデータが所定の類似条件を満たす場合に、当該2つのレコードが関連すると判定する。従って、実施例1に係るデータ判定システム1は、人間の知識を、レコード間の関連の有無の判定のための制約条件として利用することを可能にする。
【0066】
また、実施例1によれば、データセット内レコード連結部52は、記憶装置200によって記憶された連続的な特性を有する複数のレコードごとに、当該データの種類を示す属性情報と、当該レコードと他のレコードとの関連を示す関連メタデータと、当該メタデータの特徴を示す特徴メタデータと、連続的な特性における当該データの位置づけを示す連続情報との関連を示す所定の情報を生成する。従って、実施例1に係るデータ判定システム1は、時間的、又は、空間的な連続性を考慮してレコードを管理することができることから、レコードの時間的、空間的な推移を可視化することができ、情報の探索及び利用の効率を向上させることを可能にする。
【0067】
また、実施例1によれば、レコード同一性判定部54は、2つのレコードが関連するか否かを判定する際に、当該レコードとメタデータとの関係をグラフ構造で表現し、当該レコードから所定のノード数以内に配置された関連メタデータを用いる。従って、実施例1に係るデータ判定システム1は、レコードに直接関連するメタデータ以外のメタデータを用いてレコード間の関連の有無を判定することができ、異なる名義のレコード間の関連の有無を判定することを可能にする。
【0068】
また、実施例1によれば、レコード同一性判定部54は、2つのレコードに関係付けられた関連メタデータが連続的な特性を有し、かつ、同一の関連メタデータである第1の関連メタデータである場合には、2つのレコードが関連するか否かを判定する前に、第1の関連メタデータにさらに関係付けられた第2の関連メタデータについての所定の類似条件を満たすか否かを判定することで、第1の関連メタデータが同一であるか否かを判定する。従って、実施例1に係るデータ判定システム1は、精度の高い判定を実行することを可能にする。
【0069】
また、実施例1によれば、レコード同一性判定部54は、第1の関連メタデータにさらに関係付けられた第2の関連メタデータが連続的な特性を有し、かつ、同一である場合に、第1の関連メタデータが同一であるか否かを判定する前に、第2の関連メタデータにさらに関係付けられた第3の関連メタデータについての所定の類似条件を満たすか否かを判定することで、第2の関連メタデータが同一であるか否かを判定するとともに、第3の関連メタデータが第1の関連メタデータと同一である場合には、当該第3の関連メタデータについての所定の類似条件を満たすか否かの判定を中断する。従って、実施例1に係るデータ判定システムは、同一性の判定におけるループを抑止することを可能にする。
【0070】
また、実施例1によれば、レコード抽出部53は、一連の判定において、2つのレコードの組が未抽出であることを条件に、レコード記憶部41から当該2つのレコードを抽出する。従って、実施例1に係るデータ判定システム1は、判定処理がループすることを抑止し、効率よく判定処理を実行することを可能にする。
【実施例2】
【0071】
これまで実施例1を説明したが、本願が開示する技術はこれらの実施例1に限定されるものではない。すなわち、これらの実施例は、その他の様々な形態で実施されることが可能であり、種々の省略、置き換え、変更を行うことができる。
【0072】
上述した実施例1では、連続的な特性を有するデータとして時間(年度)を用いる場合について説明した。しかしながら、開示の技術はこれに限定されるものではなく、例えば、空間的に位置が連続するものとして都道府県などを用いる場合であってもよい。かかる場合には、例えば、隣接する東京都と神奈川県とで発行されたデータの同一性を判定する場合であってもよい。
【0073】
また、上述した実施例1では、データが発行される期間(頻度、粒度)が同一であるレコードを用いる場合について説明した。しかしながら、開示の技術はこれに限定されるものではなく、例えば、発行期間の異なる複数のレコードを用いる場合であってもよい。かかる場合には、例えば、最も短い期間単位でレコードを管理する。図13は、変形例を説明するための図である。図13に示すように、発行期間が異なるプロジェクトDBと、外部投稿DBと、社員DBとを管理する場合には、例えば、図13に示すように、社員DBの発行期間に合わせて、プロジェクトDBのレコード及び外部投稿DBのレコードをコピーするようにする。このとき、データセット内連結部52は、社員DBのレコードだけではなく、プロジェクトDB及び外部投稿DBのコピーされたレコードに対しても連続性を示す情報を付与して管理する。
【0074】
また、例えば、各装置の分散・統合の具体的形態(例えば、図1の形態)は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合することができる。一例を挙げると、レコード記憶部41と同一性判定ルール記憶部42とを一つの記憶部として統合してもよく、一方、レコード検索部56を、レコードを検索する検索部と、表示部30への表示を制御する表示制御部とに分散してもよい。
【0075】
また、制御部50を判定装置の外部装置としてネットワーク経由で接続するようにしてもよく、或いは、レコード抽出部53、レコード同一性判定部54を別の装置がそれぞれ有し、ネットワークに接続されて協働することで、上述した判定装置100の機能を実現するようにしてもよい。
【0076】
これらの実施例やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0077】
1 データ判定システム
10 I/F部
20 入力部
30 表示部
40 記憶部
41 レコード記憶部
42 同一性判定ルール記憶部
50 制御部
52 データセット内レコード連結部
53 レコード抽出部
54 レコード同一性判定部
55 データセット間レコード連結部
100 判定装置
200 記憶装置
【技術分野】
【0001】
この発明は、データ判定システム及びデータ判定方法に関する。
【背景技術】
【0002】
従来、企業などの多くの組織内では、個々の業務は一定の期間や空間で区切られて実行される。例えば、個々の業務は、年度ごとや地域ごとなどに区切られて実行される。このように、組織においては、連続的な特性を有するデータセットが発行される。しかしながら、このようなデータセット間において、データスキーマ(data schema)やレコード(record)自体に関連性や整合性が取られていない場合がある。
【0003】
例えば、レコード投入時に社名に法人格を入れる・入れない等の表記揺れや、ある同一製品に対する社内プロジェクトにおいて、企画フェーズ(phase)と開発フェーズとで別名のプロジェクトで管理されている場合などがある。
【0004】
そこで、近年、様々な分散したデータソースから情報を統合して分析することによって、戦略立案や経営計画に役立てるBI(Business Intelligence)が再度注目を集めている。例えば、BIを実現するための技術の一部として、データクレンジング技術や、名寄せ技術が知られている。一例を挙げると、上述した技術では、Webページや、データベースから得られたデータに対して、ドメイン知識を用いた確率的な制約を定義し、確率モデルに基づいたデータセット間の同一性を推定するためのアルゴリズムを設計する。
【0005】
また、例えば、BIの一部の技術として、個別に管理され、分散しているシステムのデータベースや、スプレッドシート(spread sheet)等のファイルで管理されているデータ等を統合して有効利用することを支援するソフトウェアが知られている。さらに、このような異なる複数のデータソースから得られた情報を統一的に扱う枠組みとして、グラフ表現できるデータモデルであるRDF(Resource Description Framework)を用いたセマンティック(semantic)Web技術も知られている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Shen, W. and Li, X. and Doan, A., “Constraint-Based Entity Matching” In AAAI 05, pp. 862-867, 2005
【非特許文献2】アプレッソ社 DataSpider、インフォテリア社 Asteria MDM One等のデータ連携ソフトウェア、[online]、平成23年1月20日、 [平成23年2月14日検索]、DataSpider:インターネット<http://dataspider.appresso.com/>、Asteria MDM One:インターネット<http://www.infoteria.com/jp/asteriamdmone/index.php>
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した従来技術では、連続的な特性を有するデータ間の関連付けを行うことができない場合があった。具体的には、上述した従来技術では、表記揺れデータの同一性を推定することを目的としているため、全く異名義のデータ間に関しては考慮されておらず、連続的な特性を有するデータ間の関連付けを行うことができない場合があった。
【0008】
そこで、本願に開示する技術は、上述した従来技術の問題に鑑みてなされたものであって、連続的な特性を有するデータ間の関連付けを行うことを可能にするデータ判定システム及びデータ判定方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するため、開示のシステムは、連続的な特性を有する複数のデータを記憶する記憶装置と、前記記憶装置によって記憶された前記複数のデータにおいて連続するデータ間に関連があるか否かを判定する判定装置とを備えたデータ判定システムであって、前記判定装置が、前記記憶装置によって記憶された前記複数のデータごとに、当該データの種類を示す属性情報と、当該データと他のデータとの関連を示す関連情報と、前記連続的な特性における当該データの位置づけを示す連続情報とを関係付けて記憶する関係情報記憶部と、前記関係情報記憶部によって記憶された複数のデータから、同一の属性情報を有し、かつ、前記連続情報において連続的な特性を有する2つのデータを抽出する抽出部と、前記抽出部によって抽出された2つのデータに関係付けされた関連情報について所定の条件を満たす場合に、当該2つのデータが関連すると判定する判定部とを備えたことを特徴とする。
【発明の効果】
【0010】
開示のシステムは、連続的な特性を有するデータ間の関連付けを行うことを可能にする。
【図面の簡単な説明】
【0011】
【図1】図1は、実施例1に係るデータ判定システムの構成の一例を説明するための図である。
【図2】図2は、実施例1に係るレコード記憶部によって記憶される情報の一例を説明するための図である。
【図3】図3は、実施例1に係るデータセット内レコード連結部による処理の例1を説明するための図である。
【図4】図4は、実施例1に係るデータセット内レコード連結部による処理の例2を説明するための図である。
【図5】図5は、実施例1に係るレコード抽出部による処理の一例を説明するための図である。
【図6】図6は、実施例1に係るレコード同一性判定部によって用いられるSPARQLの一例を示す図である。
【図7】図7は、実施例1に係るレコード同一性判定部による処理の一例を説明するための図である。
【図8】図8は、実施例1に係るレコード同一性判定部による関連情報の抽出処理の一例を説明するための図である。
【図9】図9は、実施例1に係るレコード同一性判定部による判定処理の一例を説明するための図である。
【図10】図10は、実施例1に係るデータセット間レコード連結部による処理の一例を説明するための図である。
【図11】図11は、実施例1に係るデータ判定システムによる処理の手順を示すシーケンス図である。
【図12】図12は、実施例1に係るレコード同一性判定部による判定処理の手順を示すフローチャートである。
【図13】図13は、変形例を説明するための図である。
【発明を実施するための形態】
【0012】
以下に添付図面を参照して、本願の開示するデータ判定システム及びデータ判定方法の実施例を詳細に説明する。なお、本願の開示するデータ判定システム及びデータ判定方法は、以下の実施例により限定されるものではない。
【実施例1】
【0013】
[実施例1に係るデータ判定システムの構成]
以下では、まず、実施例1に係るデータ判定システムの構成について説明する。図1は、実施例1に係るデータ判定システム1の構成の一例を説明するための図である。図1に示すように、実施例1に係るデータ判定システム1は、判定装置100と記憶装置200とを備える。
【0014】
記憶装置200は、例えば、ハードディスク、光ディスクなどの記憶装置であり、連続的な特性を有するデータを記憶する。具体的には、記憶装置200は、図示しない端末などによって時間的又は空間的に連続して発行された複数のデータセットを記憶する。例えば、記憶装置200は、年度ごとに発行されたプロジェクトに関するデータセットを記憶する。なお、記憶装置200によって記憶されるデータは、データベース化されたものであってもいいし、スプレッドシート等のファイルであってもよい。また、図1においては、記憶装置200のみが図示されているが、本願の開示するデータ判定システムは、これに限定されるものではなく、記憶装置を有するものであればどのようなものでもよい。例えば、データベースサーバや、ユーザ端末などであってもよい。
【0015】
判定装置100は、図1に示すように、I/F(Interface)部10と、入力部20と、表示部30と、記憶部40と、制御部50とを備え、記憶装置200と接続される。そして、判定装置100は、記憶装置200によって記憶された連続的な特性を有するデータセットに含まれるレコード間に関連があるか否かを判定して、関連があるレコード間の関連付けを行う。一例を挙げると、判定装置100は、ある年度のデータセットに含まれるプロジェクトのレコードと翌年度のデータセットに含まれるプロジェクトのレコードとが関連があるか否か(例えば、同一のプロジェクトに関するデータであるか否か)を判定して、レコード間の関連付けを行う。さらに、判定装置100は、入力部20を介してユーザから入力された検索キーワードに関するデータを表示部30に表示する。なお、判定装置100は、例えば、PC(Personal Computer)、ワークステーション又はデータ判定用の専用装置である。
【0016】
I/F部10は、制御部50と、入力部20、表示部30及び記憶部40との間での各種情報のやり取りを制御する。入力部20は、例えば、キーボードやマウスなどであり、ユーザによる種々の情報の入力処理を受付ける。一例を挙げると、入力部20は、ユーザによる検索キーワードの入力処理を受付ける。表示部30は、例えば、ディスプレイなどであり、ユーザに対して処理結果を表示出力する。一例を挙げると、表示部30は、ユーザによって入力部20から入力された検索キーワードを用いて検索されたデータ検索の検索結果を表示出力する。
【0017】
記憶部40は、図1に示すように、レコード記憶部41と、同一性判定ルール記憶部42とを有する。記憶部40は、例えば、ハードディスク、光ディスクなどの記憶装置、または、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子である。
【0018】
レコード記憶部41は、記憶装置200によって記憶されたデータごとに、当該データの種類を示す属性情報と、当該データと他のデータとの関連を示す関連情報と、連続性における当該データの位置づけを示す連続情報とを関連付けて記憶する。具体的には、レコード記憶部41は、後述する制御部50によって記憶装置200から収集されたデータセットにおいて、レコードごとに、当該レコードの種類を示す属性情報と、当該レコードの特徴を示すメタデータと、当該レコードが連続性においてどの位置のレコードであるかを示す連続情報とを関連付けて記憶する。なお、上述するレコードとは、データセットに含まれる個々のデータを意味する。また、以下では、属性情報を単に属性と記載する場合がある。また、レコード記憶部41は、後述する制御部50による処理結果を記憶する。
【0019】
ここで、レコード記憶部41によって記憶される情報の詳細について説明する。図2は、実施例1に係るレコード記憶部41によって記憶される情報の一例を説明するための図である。図2においては、図2の(A)が、スプレッドシートにより情報を記憶する場合について示す。また、図2においては、図2の(B)が、RDFを用いたグラフ表現により情報を記憶する場合について示す。
【0020】
例えば、スプレッドシートにより情報を記憶する場合には、レコード記憶部41は、図2の(A)に示すように、2003年度のデータセットとして、属性ごとにテーブルを設け、各行をレコード、各列をメタデータとした情報を記憶する。一例を挙げると、レコード記憶部41は、図2の(A)に示すように、「属性:社員」のテーブルに、レコードのメタデータ「ID:101」、「Name:山田一郎」、「Phone:704」、「Org:701」及び「年度:2003」が格納された情報を記憶する。ここで、図2の(A)に示す「年度」が連続情報に相当する。同様に、レコード記憶部41は、「属性:社員」のテーブルに、レコードのメタデータ「ID:102」、「Name:鈴木二郎」、「Phone:809」、「Org:701」及び「年度:2003」が格納された情報を記憶する。
【0021】
ここで、レコード記憶部41に記憶される情報は、属性間のレコードについても関連付けられる。例えば、図2の(A)に示すように、レコード記憶部41に記憶される情報では、「属性:社員」の「メタデータ:Org」を外部キーとして、「属性:組織」の「メタデータ:ID」が関連付けられる。すなわち、図2の(A)に示すように、「属性:組織」の「ID:701」が、「属性:社員」の「Org:701」に格納される。同様に、「属性:組織」の「メタデータ:Leader」を外部キーとして、「属性:社員」の「メタデータ:ID」が関連付けられる。すなわち、図2の(A)に示すように、「属性:社員」の「ID:102」が、「属性:組織」の「Leader:102」に格納される。
【0022】
上述したように、各レコードは、自身の特徴を示すメタデータと、レコード間を関連付けるメタデータとを有する。以下では、例えば、図2の(A)に示す「ID」、「Name」、「Phone」、「年度」などの自身の特徴を示すメタデータを特徴メタデータと記す。また、例えば、図2の(A)に示す「Org」及び「Leader」などのレコード間を関連付けるメタデータを関連メタデータと記す。なお、IDは、各属性におけるレコードを一意に識別するための識別子であり、各レコードがレコード記憶部41に格納される際にシーケンシャルに付与される。
【0023】
また、例えば、RDFを用いたグラフ表現により情報を記憶する場合には、レコード記憶部41は、図2の(B)に示すように、グラフ構造を有する情報を記憶する。すなわち、レコード記憶部41は、図2の(B)に示すように、ラベル付き有向グラフデータを記憶する。例えば、レコード記憶部41は、図2の(B)に示すように、レコードの実体を示すノードと、レコードの属性を示すノード(レコードからrdf:typeラベルで結ばれたノード)と、メタデータを示す複数のノード(矩形のノード)とを有するラベル付き有向グラフデータを記憶する。各ノードは、RDFの仕様に基づいてリソース(resource)、クラス(class)、リテラル(literal)と称される。
【0024】
例えば、レコード記憶部41は、図2の(B)に示すように、特徴メタデータ(リテラル)である「ID:102」、「Name:鈴木二郎」、「Phone:809」及び「年度:2003」が結ばれた「属性:社員」のレコードと、特徴メタデータである「ID:701」、「Name:組織D」及び「年度:2003」が結ばれた「属性:組織」のレコードとが関連メタデータの「Org」及び「Leader」により結ばれたグラフ構造を記憶する。
【0025】
図1に戻って、同一性判定ルール記憶部42は、連続的な特性を有するデータ間で関連するか否かを判定するためのルールを記憶する。具体的には、同一性判定ルール記憶部42は、後述する制御部50によって参照される時間的又は空間的に連続するレコード間が関連するか否かを判定するためのルールを属性ごとに記憶する。例えば、同一性判定ルール記憶部42は、「属性:プロジェクト」のレコードを判定するためのルールとして、「プロジェクトP1、P2について,それぞれに関連する共通人物が2人以上,関連する共通技術が3つ以上あれば,そのプロジェクトは同一のプロジェクトである」とするルールを記憶する。なお、同一性判定ルール記憶部42によって記憶されるルールは、データ判定システム1の管理者によって任意に決定され、予め同一性判定ルール記憶部42に格納される。
【0026】
制御部50は、図1に示すように、レコード収集部51と、データセット内レコード連結部52と、レコード抽出部53と、レコード同一性判定部54と、データセット間レコード連結部55と、レコード検索部56とを有する。制御部50は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路やASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路である。
【0027】
レコード収集部51は、I/F部10を介して、記憶装置200から連続的な特性を有する複数のデータを収集する。具体的には、レコード収集部51は、時間的又は空間的に連続して発行され、記憶装置200によって記憶された複数のデータセットを収集する。例えば、レコード収集部51は、記憶装置200によって記憶された年度ごとに発行されたデータセットのプロジェクトに関するレコードを収集する。なお、レコード収集部51によるレコードの収集のタイミングは、管理者によって任意に決定することができる。例えば、記憶装置200に新たなデータセットが格納されるたびに収集する場合であってもよいし、定期的に収集する場合であってもよい。
【0028】
データセット内レコード連結部52は、記憶装置200によって記憶された連続的な特性を有する複数のデータごとに、当該データの種類を示す属性情報と、当該データの特徴を示す特徴情報と、連続的な特性における当該データの位置づけを示す連続情報とを関連付ける。具体的には、データセット内レコード連結部52は、レコード収集部51によって収集された複数のレコードごとに、属性情報と、メタデータと、連続性を示す連続情報との関連を示す情報を生成して、レコード記憶部41に格納する。図3は、実施例1に係るデータセット内レコード連結部52による処理の例1を説明するための図である。
【0029】
例えば、データセット内レコード連結部52は、図3に示すように、レコード収集部51によって収集された2003年度のレコードについて、属性情報と、メタデータと、連続情報との関連を示すRDFのグラフ構造を生成してレコード記憶部41に格納する。一例を挙げると、データセット内レコード連結部52は、まず、図3に示すように、レコード収集部51によって収集されたレコード「#2003 研究プロジェクトA」について、レコードと属性「project:プロジェクト」とをrdf:typeラベルで結び、さらに、レコードと特徴メタデータとを、「project:プロジェクト名」や、「project:データ年度」などのラベルで結ぶ。
【0030】
さらに、データセット内レコード連結部52は、同一年度内で関連付けられているレコード間を関連メタデータのラベルにより連結する。例えば、データセット内レコード連結部52は、図3に示すように、「データ年度」が「2003年度」であるレコード「http://ntt.co.jp/project #2003_研究プロジェクトA」と「http://ntt.co.jp/person #2003_山田太郎」とを関連メタデータ「Project:責任者」により連結する。ここで、データセット内レコード連結部52は、年度に依存しない情報には年度情報を連結しない。例えば、データセット内レコード連結部52は、「http://ntt.co.jp/word #A技術」や、「http://ntt.co.jp/word #B技術」などには年度情報を連結しない。そして、データセット内レコード連結部52は、属性情報、特徴メタデータ、レコード間を連結したグラフ構造をレコード記憶部41に格納する。
【0031】
なお、データセット内レコード連結部52は、図3に示すグラフ構造だけではなく、XML形式でデータにより各レコードの関連を示す情報を生成することも可能である。図4は、実施例1に係るデータセット内レコード連結部52による処理の例2を説明するための図である。図4においては、2003年度データをRDF/XML形式データで表現した例を示す。
【0032】
例えば、データセット内レコード連結部52は、図4に示すように、レコード「研究プロジェクトA、責任者:山田太郎、プロジェクトID:200301A、技術キーワード:A技術、B技術」の関連をXML形式で表現した情報を生成する。同様に、データセット内レコード連結部52は、図4に示すように、レコード「山田太郎、社員ID:X123456、役職:部長、生年月日:1955/01/01」の関連をXML形式で表現した情報を生成する。
【0033】
図1に戻って、レコード抽出部53は、レコード記憶部41によって記憶された複数のデータから、同一の属性情報を有し、かつ、連続情報において連続することが示される2つのデータを抽出する。具体的には、レコード抽出部53は、レコード記憶部41によって記憶された時間的又は空間的に連続して発行されたデータセット間において、同一の属性情報を有するレコードを抽出する。図5は、実施例1に係るレコード抽出部53による処理の一例を説明するための図である。
【0034】
例えば、レコード抽出部53は、図5の(A)に示すように、rdf:typeラベルで結ばれた属性が「project:プロジェクト」であり、発行された年度を示す「project:データ年度」が「2003」のレコード「http://ntt.co.jp/project #2003_研究プロジェクトA」と、「project:データ年度」が「2004」のレコード「http://ntt.co.jp/project #2004_開発プロジェクトA」とをレコード記憶部41から抽出する。
【0035】
ここで、レコード抽出部53は、抽出した2つのレコードの組合せの情報を自身が有するメモリに保存する。例えば、レコード抽出部53は、図5の(B)に示すように、抽出したレコード「http://ntt.co.jp/project #2003_研究プロジェクトA」とレコード「http://ntt.co.jp/project #2004_開発プロジェクトA」とを対応付けた情報をメモリに保存する。そして、レコード抽出部53は、レコード記憶部41からさらに2つのレコードを抽出した際に、メモリ内の情報を参照して、既に抽出済みであるか否かを判定する。ここで、抽出した2つのレコードが抽出済みではなかった場合に、抽出した2つのレコードを後述するレコード同一性判定部54に送信する。一方、抽出した2つのレコードが既に抽出済みであった場合には、レコード抽出部53は、抽出した2つのレコードを後述するレコード同一性判定部54に送信しない。すなわち、レコード抽出部53は、未抽出のレコードのみを抽出することで、後述するレコード間の関連の有無の判定を重複して実行することを抑止する。
【0036】
図1に戻って、レコード同一性判定部54は、レコード抽出部53によって抽出された2つのデータに関連付けされた関連情報について所定の条件を満たす場合に、当該2つのデータが関連すると判定する。具体的には、レコード同一性判定部54は、同一性判定ルール記憶部42によって記憶された属性ごとのルールを参照して、レコード抽出部53によって抽出された2つのレコードの関連メタデータ及び/又は特徴メタデータについて所定の条件を満たす場合に、当該2つのレコードが関連すると判定する。例えば、レコード同一性判定部54は、2つのレコードに関係付けされた関連メタデータ及び/又は特徴メタデータが所定の類似条件を満たす場合に、当該2つのレコードが関連すると判定する。
【0037】
一例として、「属性」が「プロジェクト」である2つのレコードについて判定する場合について説明する。かかる場合には、レコード同一性判定部54は、まず、同一性判定ルール記憶部42によって記憶された「属性:プロジェクト」のレコードを判定するためのルールである「プロジェクトP1、P2について,それぞれに関連する共通人物が2人以上,関連する共通技術が3つ以上あれば,そのプロジェクトは同一のプロジェクトである」を参照する。そして、レコード同一性判定部54は、参照したルールに基づいて、プロジェクトに関連する共通の人物及び技術を抽出する。
【0038】
ここで、抽出方法の一例を説明する。例えば、上述したようにレコード及びメタデータがRDFによって表現されている場合には、RDFクエリ言語であるSPARQLをルールとして利用することが可能である。図6は、実施例1に係るレコード同一性判定部54によって用いられるSPARQLの一例を示す図である。図6においては、プロジェクトに共通の関連人物を出力するSPARQLについて示す。
【0039】
例えば、ルールとして図6に示すSPARQLが用いられた場合には、レコード同一性判定部54は、2つのプロジェクトに関連する責任者の論理積を抽出することとなる。すなわち、レコード同一性判定部54は、2つのプロジェクトの両方に関連する人物を抽出することとなり、例えば、共通人物が2人以上の場合には、結果が2行以上抽出されれば、共通人物に関する条件を満たしたと判定する。同様に、レコード同一性判定部54は、関連技術に関する条件についてもSPARQLを用いて判定する。
【0040】
さらに、レコード同一性判定部54は、レコードに関連する人物及び技術を抽出する方法として、RDFのグラフ構造を用いることも可能である。具体的には、レコード同一性判定部54は、人物及び技術がレコードに関連するか否かについて、RDFのグラフ構造におけるレコードに対するつながりによって判定する。図7は、実施例1に係るレコード同一性判定部54による処理を説明するための図である。図7においては、データ年度が「2004」のレコード間の関連を示す。
【0041】
例えば、レコード同一性判定部54は、図7に示すレコード「http://ntt.co.jp/project #2004_開発プロジェクトA」に関連する技術を判定する場合には、当該レコードから到達できる技術で、経由する関連メタデータの数(d)が2以下であるものを関連する技術として判定する。すなわち、レコード同一性判定部54は、図7に示すように、「d=1」である「http://ntt.co.jp/word #A技術」と、「d=2」である「http://ntt.co.jp/word #B技術」及び「http://ntt.co.jp/word #C技術」とをレコード「http://ntt.co.jp/project #2004_開発プロジェクトA」に関連する技術として判定する。なお、経由する関連メタデータの数については管理者が任意に設定することが可能である。例えば、属性ごとに経由数を設定する場合であってもよく、また、特定の関連メタデータを除いて、レコードに関連する周辺情報を収集するようにしてもよい。
【0042】
図7に示すように、実施例1に係るレコード同一性判定部54は、同一性の判定の対象となっている「http://ntt.co.jp/project #2004_開発プロジェクトA」とは直接関連していない「http://ntt.co.jp/word #B技術」及び「http://ntt.co.jp/word #C技術」を関連する技術として用いることで、同一性の判定の対象レコード以外からの情報を用いてレコード間の同一性の判定を行うことができる。
【0043】
上述したように、RDFのグラフ構造を用いてレコード間の同一性を判定する場合には、レコード同一性判定部54は、まず、各レコードにおける関連する人物及び技術をそれぞれ抽出する。図8は、実施例1に係るレコード同一性判定部54による関連情報の抽出処理の一例を説明するための図である。図8においては、レコード「http://ntt.co.jp/project #2004_開発プロジェクトA」に関連する人物及び技術を抽出する際の処理を模式的に示す。例えば、レコード同一性判定部54は、図8に示すように、レコード「http://ntt.co.jp/project #2004_開発プロジェクトA」から到達できる人物及び技術において、経由する関連メタデータの数(d)が2以下であるものを関連する人物及び技術として抽出する。
【0044】
すなわち、レコード同一性判定部54は、図8に示す「d=1」である「http://ntt.co.jp/person #2004_山田太郎」と、「d=2」である「http://ntt.co.jp/person #2004_山本八郎」及び「http://ntt.co.jp/person #2004_伊藤七郎」とをレコード「http://ntt.co.jp/project #2004_開発プロジェクトA」に関連する人物として抽出する。ここで、図8に示すように、「伊藤七郎」及び「山本八郎」は、「#2004_組織F」と直接関連したものであり、「#2004_開発プロジェクトA」とは直接的な関連はしていない。すなわち、レコード同一性判定部54は、グラフ構造において判定の対象となるレコードの周辺に配置された周辺情報を判定に用いる。同様に、レコード同一性判定部54は、レコード「http://ntt.co.jp/project #2004_開発プロジェクトA」に関連する技術として「http://ntt.co.jp/word #A技術」、「http://ntt.co.jp/word #B技術」及び「http://ntt.co.jp/word #C技術」を抽出する。
【0045】
また、レコード同一性判定部54は、レコード「http://ntt.co.jp/project #2003_研究プロジェクトA」に関連する人物及び技術を抽出する。ここで、レコード同一性判定部54は、各レコードにおいてそれぞれ抽出した人物及び技術がルールを満たすか否かを判定する。図9は、実施例1に係るレコード同一性判定部による判定処理の一例を説明するための図である。
【0046】
例えば、レコード同一性判定部54は、図9に示すように、レコード「http://ntt.co.jp/project #2003_研究プロジェクトA」とレコード「http://ntt.co.jp/project #2004_開発プロジェクトA」とから抽出した人物及び技術を照合して、ルールである「共通人物が2人以上」、「共通技術が3つ以上」であるか否かを判定する。
【0047】
ここで、レコード同一性判定部54は、共通人物が2人以上いるか否かを判定する際に、まず、年度をまたいで抽出された同一名の人物が同一人物であるか否かを判定する。具体的には、レコード同一性判定部54は、年度をまたいで同一名の人物を抽出した場合には、まず、属性「Person:人」を判定するためのルールを同一性判定ルール記憶部42から読み出して、人物の同一性を判定する。なお、属性「Person:人」を判定するためのルールは、例えば、「社員ID及びメールアドレスが同一である」又は「所属組織が同一である」や、「関連する技術に3つ以上の重複がある」などである。
【0048】
例えば、レコード同一性判定部54は、図9に示す「http://ntt.co.jp/person #2004_佐藤三郎」と「http://ntt.co.jp/person #2003_佐藤三郎」との同一性をルールに基づいて判定する。そして、同一人物であると判定した場合には、レコード同一性判定部54は、判定結果をレコード記憶部41に格納して、レコード間を判定する際に、格納した判定結果を用いる。例えば、「http://ntt.co.jp/person #2004_佐藤三郎」と「http://ntt.co.jp/person #2003_佐藤三郎」とが同一人物であった場合には、レコード同一性判定部54は、「http://ntt.co.jp/person #2004_佐藤三郎」と「http://ntt.co.jp/person #2003_佐藤三郎」とを関連メタデータ「person:newVersion」で連結してレコード記憶部41に格納する。そして、レコード同一性判定部54は、レコード間の同一性を判定する際に、レコード記憶部41に記憶された情報を参照して、関連メタデータ「person:newVersion」で連結された人物を2つのレコードに関連する共通の人物であると判定する。
【0049】
上述したように、実施例1に係るレコード同一性判定部54は、再帰的な判定処理を実行するが、この再帰的な判定は、同一性を判定するごとに実行される。すなわち、上述した人物の同一性を判定する際に、判定のルールが「社員ID及びメールアドレスが同一である」又は「所属組織が同一である」の場合には、レコード同一性判定部54は、所属組織の同一性をさらに判定して、判定結果を人物の同一性の判定に用いる。
【0050】
ここで、例えば、組織の同一性を判定するためのルールが「所属する人物に5人以上の重複がある」の場合には、組織の判定と人物の判定とがループする可能性がある。そこで、実施例1に係るレコード同一性判定部54は、同一性の判定を実行した組合せに関する情報を自身が有する内部メモリに格納し、同一の組合せに関して再度判定を実行することがないように制御する(以下、ループ抑止制御と記す)。具体的には、レコード同一性判定部54は、同一性を判定する際に、自身が有する内部メモリに格納した情報を参照して、格納済みの組合せと同一の組合せが判定対象となる場合には、ルールの適用を中断する。
【0051】
ループ抑止制御の一例として、「#2004_佐藤三郎」と「#2003_佐藤三郎」との同一性の判定に際して、組織の同一性を判定する状況であり、組織の同一性を判定するためのルールが「所属する人物に5人以上の重複がある」場合について説明する。レコード同一性判定部54は、まず、「#2004_佐藤三郎」と「#2003_佐藤三郎」との組合せを自身のメモリに記憶する。そして、レコード同一性判定部54は、組織の同一性を判定するために、再度、「#2004_佐藤三郎」と「#2003_佐藤三郎」との同一性を判定することになった場合には、ルール「所属する人物に5人以上の重複がある」の適用を中断する。かかる場合には、レコード同一性判定部54は、組織の同一性に関する判定を実行せず、人物の同一性を判定することとなる。すなわち、レコード同一性判定部54は、予め設定されたルールに用いられた選言により、「社員ID及びメールアドレスが同一である」とするルールを用いて人物の同一性を判定する。
【0052】
上述したように、レコード同一性判定部54は、レコード間の関連を判定する際に、再帰的な判定を実行する。そして、レコード同一性判定部54は、レコード間が関連すると判定した場合には、判定結果を後述するデータセット間レコード連結部55に送信する。例えば、レコード同一性判定部54は、図9に示すように、2つのレコード間で「鈴木二郎」及び「佐藤三郎」が共通し、「A技術」、「B技術」及び「C技術」が共通している場合に、「#2003_研究プロジェクトA」と「#2004_開発プロジェクトA」とが同一のプロジェクトであると判定して、判定結果を後述するデータセット間レコード連結部55に送信する。
【0053】
図1に戻って、データセット間レコード連結部55は、レコード同一性判定部54によって関連があると判定されたレコード間を関連付けた情報をレコード記憶部41に格納する。図10は、実施例1に係るデータセット間レコード連結部55による処理の一例を説明するための図である。例えば、データセット間レコード連結部55は、図10の(A)に示すように、レコード「http://ntt.co.jp/project #2003_研究プロジェクトA」とレコード「http://ntt.co.jp/project #2004_開発プロジェクトA」とをレコード間が同一であることを示す「project:newVersion」により結んだ情報をレコード記憶部41に格納する。また、データセット間レコード連結部55は、図10の(B)に示すように、RDFの情報を3つのカラムで表現したリレーショナルデータベースに格納することも可能である。かかる場合には、例えば、RDFの情報を「主語」、「述語」、「目的語」の3つのカラムに格納するようにする。なお、RDFの情報をスプレッドシートにより格納することも可能である。
【0054】
図1に戻って、レコード検索部56は、ユーザが入力部20を介して入力した検索キーワードに関連するレコードを表示部30に表示させるように制御する。例えば、レコード検索部56は、ユーザが2004年度の開発プロジェクトAを検索キーワードとして入力した場合には、2004年度の開発プロジェクトAのレコードと共に、2003年度の研究プロジェクトAのレコードを表示部30に表示するように制御する。
【0055】
このように、本願のデータ判定システム1は、グラフ構造において同一性を判定する対象となるレコード間の周辺情報を用いて同一性の判定を行うことから、例えば、対象のレコード間で全くの異名義であったとしても、当該レコードが関連しているか否かを精度よく判定することができる。その結果、本願のデータ判定システム1は、連続的な特性を有するデータ間の関連付けを行うことを可能にする。
【0056】
[実施例1に係るデータ判定システムによる処理の手順]
次に、実施例1に係るデータ判定システム1による処理の手順について、図11を用いて説明する。図11は、実施例1に係るデータ判定システム1による処理の手順を示すシーケンス図である。
【0057】
図11に示すように、実施例1に係るデータ判定システム1においては、レコード抽出部53は、連続する期間の関係であり、同じ属性の2つのレコードを抽出して(ステップS101)、レコード同一性判定部54に2つのレコードを送信する(ステップS102)。
【0058】
そして、レコード同一性判定部54は、2つのレコードを受信すると、2つのレコードの属性に関係するルールを抽出して(ステップS103)、ルールに関係するメタデータを2つのレコードからそれぞれ抽出して(ステップS104)、2つのレコードの同一性を判定する(ステップS105)。
【0059】
ここで、2つのレコードに同一性がある場合には(ステップS106肯定)、レコード同一性判定部54は、2つのレコードをデータセット間レコード連結部55に送信する(ステップS107)。そして、データセット間レコード連結部55は、2つのレコードを受信すると、2つのレコードの関連付け情報を登録する(ステップS108)。
【0060】
そして、2つのレコードの関連付け情報を登録後、又は、ステップS106において2つのレコードに同一性が無かった場合(ステップS106否定)、レコード抽出部53は、可能なレコードの組合せを全て選択したか否かを判定する(ステップS109)。ここで、全ての組合せを選択していない場合には(ステップS109否定)、レコード抽出部53は、ステップS101に戻って、2つのレコードを抽出する。一方、全ての組合せを選択した場合には(ステップS109肯定)、実施例1に係るデータ判定システムは処理を終了する。
【0061】
[実施例1に係るレコード同一性判定部による判定処理の手順]
次に、実施例1に係るレコード同一性判定部54による判定処理の手順について、図12を用いて説明する。図12は、実施例1に係るレコード同一性判定部54による判定処理の手順を示すフローチャートである。
【0062】
図12に示すように、実施例1に係るレコード同一性判定部54は、レコード間の同一性を判定する際に、同一性判定ルールrを、レコード・メタデータを扱える形式tに変換する(ステップS201)。そして、レコード同一性判定部54は、レコードp1、p2の周辺情報c1、c2に対してtを実行し(ステップS202)、tが真になるか否かを判定する(ステップS203)。
【0063】
ここで、tが真である場合には(ステップS203肯定)、レコード同一性判定部54は、レコードp1、p2をデータセット間レコード連結部55に送信して(ステップS204)、処理を終了する。一方、tが真ではない場合には(ステップS203否定)、レコード同一性判定部54は、処理を終了する。
【0064】
[実施例1の効果]
上述したように、実施例1によれば、レコード記憶部41が、連続的な特性を有する複数のレコードごとに、当該レコードの種類を示す属性情報と、当該レコードと他のレコードとの関連を示す関連メタデータと、連続的な特性における当該データの位置づけを示す連続情報とを関係付けて記憶する。そして、レコード抽出部53が、レコード記憶部41によって記憶された複数のレコードから、同一の属性情報を有し、かつ、連続情報において連続することが示される2つのレコードを抽出する。そして、レコード同一性判定部54が、レコード抽出部53によって抽出された2つのレコードに関係付けされた関連メタデータについて所定の条件を満たす場合に、当該2つのレコードが関連すると判定する。従って、実施例1に係るデータ判定システム1は、グラフ構造において同一性を判定する対象となるレコード間の周辺情報を用いて同一性の判定を行うことから、例えば、対象のレコード間で全くの異名義であったとしても、当該レコードが関連しているか否かを精度よく判定することができる。その結果、実施例1に係るデータ判定システム1は、連続的な特性を有するデータ間の関連付けを行うことを可能にする。
【0065】
また、実施例1によれば、レコード同一性判定部54は、レコード抽出部53によって抽出された2つのレコードに関係付けされた関連メタデータが所定の類似条件を満たす場合に、当該2つのレコードが関連すると判定する。従って、実施例1に係るデータ判定システム1は、人間の知識を、レコード間の関連の有無の判定のための制約条件として利用することを可能にする。
【0066】
また、実施例1によれば、データセット内レコード連結部52は、記憶装置200によって記憶された連続的な特性を有する複数のレコードごとに、当該データの種類を示す属性情報と、当該レコードと他のレコードとの関連を示す関連メタデータと、当該メタデータの特徴を示す特徴メタデータと、連続的な特性における当該データの位置づけを示す連続情報との関連を示す所定の情報を生成する。従って、実施例1に係るデータ判定システム1は、時間的、又は、空間的な連続性を考慮してレコードを管理することができることから、レコードの時間的、空間的な推移を可視化することができ、情報の探索及び利用の効率を向上させることを可能にする。
【0067】
また、実施例1によれば、レコード同一性判定部54は、2つのレコードが関連するか否かを判定する際に、当該レコードとメタデータとの関係をグラフ構造で表現し、当該レコードから所定のノード数以内に配置された関連メタデータを用いる。従って、実施例1に係るデータ判定システム1は、レコードに直接関連するメタデータ以外のメタデータを用いてレコード間の関連の有無を判定することができ、異なる名義のレコード間の関連の有無を判定することを可能にする。
【0068】
また、実施例1によれば、レコード同一性判定部54は、2つのレコードに関係付けられた関連メタデータが連続的な特性を有し、かつ、同一の関連メタデータである第1の関連メタデータである場合には、2つのレコードが関連するか否かを判定する前に、第1の関連メタデータにさらに関係付けられた第2の関連メタデータについての所定の類似条件を満たすか否かを判定することで、第1の関連メタデータが同一であるか否かを判定する。従って、実施例1に係るデータ判定システム1は、精度の高い判定を実行することを可能にする。
【0069】
また、実施例1によれば、レコード同一性判定部54は、第1の関連メタデータにさらに関係付けられた第2の関連メタデータが連続的な特性を有し、かつ、同一である場合に、第1の関連メタデータが同一であるか否かを判定する前に、第2の関連メタデータにさらに関係付けられた第3の関連メタデータについての所定の類似条件を満たすか否かを判定することで、第2の関連メタデータが同一であるか否かを判定するとともに、第3の関連メタデータが第1の関連メタデータと同一である場合には、当該第3の関連メタデータについての所定の類似条件を満たすか否かの判定を中断する。従って、実施例1に係るデータ判定システムは、同一性の判定におけるループを抑止することを可能にする。
【0070】
また、実施例1によれば、レコード抽出部53は、一連の判定において、2つのレコードの組が未抽出であることを条件に、レコード記憶部41から当該2つのレコードを抽出する。従って、実施例1に係るデータ判定システム1は、判定処理がループすることを抑止し、効率よく判定処理を実行することを可能にする。
【実施例2】
【0071】
これまで実施例1を説明したが、本願が開示する技術はこれらの実施例1に限定されるものではない。すなわち、これらの実施例は、その他の様々な形態で実施されることが可能であり、種々の省略、置き換え、変更を行うことができる。
【0072】
上述した実施例1では、連続的な特性を有するデータとして時間(年度)を用いる場合について説明した。しかしながら、開示の技術はこれに限定されるものではなく、例えば、空間的に位置が連続するものとして都道府県などを用いる場合であってもよい。かかる場合には、例えば、隣接する東京都と神奈川県とで発行されたデータの同一性を判定する場合であってもよい。
【0073】
また、上述した実施例1では、データが発行される期間(頻度、粒度)が同一であるレコードを用いる場合について説明した。しかしながら、開示の技術はこれに限定されるものではなく、例えば、発行期間の異なる複数のレコードを用いる場合であってもよい。かかる場合には、例えば、最も短い期間単位でレコードを管理する。図13は、変形例を説明するための図である。図13に示すように、発行期間が異なるプロジェクトDBと、外部投稿DBと、社員DBとを管理する場合には、例えば、図13に示すように、社員DBの発行期間に合わせて、プロジェクトDBのレコード及び外部投稿DBのレコードをコピーするようにする。このとき、データセット内連結部52は、社員DBのレコードだけではなく、プロジェクトDB及び外部投稿DBのコピーされたレコードに対しても連続性を示す情報を付与して管理する。
【0074】
また、例えば、各装置の分散・統合の具体的形態(例えば、図1の形態)は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合することができる。一例を挙げると、レコード記憶部41と同一性判定ルール記憶部42とを一つの記憶部として統合してもよく、一方、レコード検索部56を、レコードを検索する検索部と、表示部30への表示を制御する表示制御部とに分散してもよい。
【0075】
また、制御部50を判定装置の外部装置としてネットワーク経由で接続するようにしてもよく、或いは、レコード抽出部53、レコード同一性判定部54を別の装置がそれぞれ有し、ネットワークに接続されて協働することで、上述した判定装置100の機能を実現するようにしてもよい。
【0076】
これらの実施例やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0077】
1 データ判定システム
10 I/F部
20 入力部
30 表示部
40 記憶部
41 レコード記憶部
42 同一性判定ルール記憶部
50 制御部
52 データセット内レコード連結部
53 レコード抽出部
54 レコード同一性判定部
55 データセット間レコード連結部
100 判定装置
200 記憶装置
【特許請求の範囲】
【請求項1】
連続的な特性を有する複数のデータを記憶する記憶装置と、
前記記憶装置によって記憶された前記複数のデータにおいて連続するデータ間に関連があるか否かを判定する判定装置とを備えたデータ判定システムであって、
前記判定装置が、
前記記憶装置によって記憶された前記複数のデータごとに、当該データの種類を示す属性情報と、当該データと他のデータとの関連を示す関連情報と、前記連続的な特性における当該データの位置づけを示す連続情報とを関係付けて記憶する関係情報記憶部と、
前記関係情報記憶部によって記憶された複数のデータから、同一の属性情報を有し、かつ、前記連続情報において連続的な特性を有する2つのデータを抽出する抽出部と、
前記抽出部によって抽出された2つのデータに関係付けられた関連情報について所定の条件を満たす場合に、当該2つのデータが関連すると判定する判定部と、
を備えたことを特徴とするデータ判定システム。
【請求項2】
前記判定部は、前記抽出部によって抽出された2つのデータに関係付けされた関連情報が所定の類似条件を満たす場合に、当該2つのデータが関連すると判定することを特徴とする請求項1に記載のデータ判定システム。
【請求項3】
前記判定装置が、
前記記憶装置によって記憶された連続的な特性を有する複数のデータごとに、当該データの種類を示す属性情報と、当該データと他のデータとの関連を示す関連情報と、前記連続的な特性における当該データの位置づけを示す連続情報との関係を示す所定の情報を生成する関連情報生成部をさらに備えたことを特徴とする請求項1又は2に記載のデータ判定システム。
【請求項4】
前記判定部は、前記2つのデータが関連するか否かを判定する際に、当該データと前記関連情報との関係をグラフ構造で表現し、当該データから所定のノード数以内に配置された関連情報を用いることを特徴とする請求項1又は2に記載のデータ判定システム。
【請求項5】
前記判定部は、前記2つのデータに関係付けられた関連情報が前記連続的な特性を有し、かつ、同一の関連情報である第1の関連情報である場合には、前記2つのデータが関連するか否かを判定する前に、前記第1の関連情報にさらに関係付けられた第2の関連情報についての前記所定の類似条件を満たすか否かを判定することで、前記第1の関連情報が同一であるか否かを判定することを特徴とする請求項2〜4のいずれか1つに記載のデータ判定システム。
【請求項6】
前記判定部は、前記第1の関連情報にさらに関係付けられた第2の関連情報が前記連続的な特性を有し、かつ、同一である場合に、前記第1の関連情報が同一であるか否かを判定する前に、前記第2の関連情報にさらに関係付けられた第3の関連情報についての前記所定の類似条件を満たすか否かを判定することで、前記第2の関連情報が同一であるか否かを判定するとともに、前記第3の関連情報が前記第1の関連情報と同一である場合には、当該第3の関連情報についての前記所定の類似条件を満たすか否かの判定を中断することを特徴とする請求項5に記載のデータ判定システム。
【請求項7】
前記抽出部は、一連の判定において、前記2つのデータの組が未抽出であることを条件に、前記関係情報記憶部から当該2つのデータを抽出することを特徴とする請求項1〜6のいずれか1つに記載のデータ判定システム。
【請求項8】
データ判定システムで実行されるデータ判定方法であって、
前記データ判定システムは、連続的な特性を有する複数のデータを記憶する記憶装置と、前記記憶装置によって記憶された前記複数のデータにおいて連続するデータ間に関連があるか否かを判定する判定装置とを備え、
前記判定装置が、前記記憶装置に記憶された前記複数のデータごとに、当該データの種類を示す属性情報と、当該データと他のデータとの関連を示す関連情報と、前記連続的な特性における当該データの位置づけを示す連続情報とを関係付けて記憶する関係情報記憶部を参照して、同一の属性情報を有し、かつ、前記連続情報において連続的な特性を有する2つのデータを抽出する抽出工程と、
前記判定装置が、前記抽出工程によって抽出された2つのデータに関係付けされた関連情報について所定の条件を満たす場合に、当該2つのデータが関連すると判定する判定工程と、
を含んだことを特徴とするデータ判定方法。
【請求項1】
連続的な特性を有する複数のデータを記憶する記憶装置と、
前記記憶装置によって記憶された前記複数のデータにおいて連続するデータ間に関連があるか否かを判定する判定装置とを備えたデータ判定システムであって、
前記判定装置が、
前記記憶装置によって記憶された前記複数のデータごとに、当該データの種類を示す属性情報と、当該データと他のデータとの関連を示す関連情報と、前記連続的な特性における当該データの位置づけを示す連続情報とを関係付けて記憶する関係情報記憶部と、
前記関係情報記憶部によって記憶された複数のデータから、同一の属性情報を有し、かつ、前記連続情報において連続的な特性を有する2つのデータを抽出する抽出部と、
前記抽出部によって抽出された2つのデータに関係付けられた関連情報について所定の条件を満たす場合に、当該2つのデータが関連すると判定する判定部と、
を備えたことを特徴とするデータ判定システム。
【請求項2】
前記判定部は、前記抽出部によって抽出された2つのデータに関係付けされた関連情報が所定の類似条件を満たす場合に、当該2つのデータが関連すると判定することを特徴とする請求項1に記載のデータ判定システム。
【請求項3】
前記判定装置が、
前記記憶装置によって記憶された連続的な特性を有する複数のデータごとに、当該データの種類を示す属性情報と、当該データと他のデータとの関連を示す関連情報と、前記連続的な特性における当該データの位置づけを示す連続情報との関係を示す所定の情報を生成する関連情報生成部をさらに備えたことを特徴とする請求項1又は2に記載のデータ判定システム。
【請求項4】
前記判定部は、前記2つのデータが関連するか否かを判定する際に、当該データと前記関連情報との関係をグラフ構造で表現し、当該データから所定のノード数以内に配置された関連情報を用いることを特徴とする請求項1又は2に記載のデータ判定システム。
【請求項5】
前記判定部は、前記2つのデータに関係付けられた関連情報が前記連続的な特性を有し、かつ、同一の関連情報である第1の関連情報である場合には、前記2つのデータが関連するか否かを判定する前に、前記第1の関連情報にさらに関係付けられた第2の関連情報についての前記所定の類似条件を満たすか否かを判定することで、前記第1の関連情報が同一であるか否かを判定することを特徴とする請求項2〜4のいずれか1つに記載のデータ判定システム。
【請求項6】
前記判定部は、前記第1の関連情報にさらに関係付けられた第2の関連情報が前記連続的な特性を有し、かつ、同一である場合に、前記第1の関連情報が同一であるか否かを判定する前に、前記第2の関連情報にさらに関係付けられた第3の関連情報についての前記所定の類似条件を満たすか否かを判定することで、前記第2の関連情報が同一であるか否かを判定するとともに、前記第3の関連情報が前記第1の関連情報と同一である場合には、当該第3の関連情報についての前記所定の類似条件を満たすか否かの判定を中断することを特徴とする請求項5に記載のデータ判定システム。
【請求項7】
前記抽出部は、一連の判定において、前記2つのデータの組が未抽出であることを条件に、前記関係情報記憶部から当該2つのデータを抽出することを特徴とする請求項1〜6のいずれか1つに記載のデータ判定システム。
【請求項8】
データ判定システムで実行されるデータ判定方法であって、
前記データ判定システムは、連続的な特性を有する複数のデータを記憶する記憶装置と、前記記憶装置によって記憶された前記複数のデータにおいて連続するデータ間に関連があるか否かを判定する判定装置とを備え、
前記判定装置が、前記記憶装置に記憶された前記複数のデータごとに、当該データの種類を示す属性情報と、当該データと他のデータとの関連を示す関連情報と、前記連続的な特性における当該データの位置づけを示す連続情報とを関係付けて記憶する関係情報記憶部を参照して、同一の属性情報を有し、かつ、前記連続情報において連続的な特性を有する2つのデータを抽出する抽出工程と、
前記判定装置が、前記抽出工程によって抽出された2つのデータに関係付けされた関連情報について所定の条件を満たす場合に、当該2つのデータが関連すると判定する判定工程と、
を含んだことを特徴とするデータ判定方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−174009(P2012−174009A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−35709(P2011−35709)
【出願日】平成23年2月22日(2011.2.22)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願日】平成23年2月22日(2011.2.22)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]