JP6028656B2 - データ抽出方法、装置及びプログラム - Google Patents

データ抽出方法、装置及びプログラム Download PDF

Info

Publication number
JP6028656B2
JP6028656B2 JP2013070231A JP2013070231A JP6028656B2 JP 6028656 B2 JP6028656 B2 JP 6028656B2 JP 2013070231 A JP2013070231 A JP 2013070231A JP 2013070231 A JP2013070231 A JP 2013070231A JP 6028656 B2 JP6028656 B2 JP 6028656B2
Authority
JP
Japan
Prior art keywords
attribute
records
record
data
attribute value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013070231A
Other languages
English (en)
Other versions
JP2014194609A (ja
Inventor
太田 唯子
唯子 太田
照宣 粂
照宣 粂
井形 伸之
伸之 井形
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013070231A priority Critical patent/JP6028656B2/ja
Publication of JP2014194609A publication Critical patent/JP2014194609A/ja
Application granted granted Critical
Publication of JP6028656B2 publication Critical patent/JP6028656B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、名寄せに関する。
名寄せとは、同じ対象を表す複数のレコードを統合する技術である。複数のレコードが同じ対象を表しているか否かは、例えば、レコードに含まれる特定の属性の属性値が一致するか否かによって判定される。
但し、レコード間で属性の名称が異なるような場合には、上記のような判定を簡単には行うことはできない。例えば図1に示すように、同じ対象を表す2つのレコードが存在し、一方のレコードにおける特定の属性の名称が「都市」であり、もう一方のレコードにおける特定の属性の名称が「市」であるとする。単純に属性の名称だけを見ると、両者は同じ属性ではないため、上記のような属性値の対応付けを行うことはできない。
また、同じ対象を表す2つのレコードのうち一方のレコードに、複数の属性に関連し得る、属性が不明な値が含まれる場合がある。例えば「千葉」という値は、「都道府県」という属性、「都市」という属性、「市」という属性又は「名字」という属性の属性値である可能性がある。このような場合には、もう一方のレコードにおけるどの属性の属性値に「千葉」を対応付ければよいかがわからない。
異なる複数のデータソースから得られたデータを統合するような場合には、本来単一の属性とすべき複数の属性がそのまま残り、また、属性値が同じであっても意味が異なるものが発生しやすいため、上記のような問題が起こりやすい。なお、複数のデータソースから得られたデータを統合したデータとは、例えば、複数の企業或いは官公庁が保有するデータを統合したようなデータである。
上で述べたような問題に関して、以下のような技術が存在する。具体的には、属性毎に属性データの特徴を抽出し、属性データの特徴の類似度に基づき、属性を分類する。これにより、名称が異なっていたとしても実質的に同一である属性を検出する。
この技術においては、少なくとも属性データの特徴を抽出するのに十分な量のデータを要するが、複数のデータソースから得られたデータを統合したデータにはデータの欠損が多く、十分な量のデータを得られないことがある。また、複数のデータソースから得られたデータを統合したデータからデータを抽出する際、クエリには、ユーザの事情(例えば情報漏洩の防止)により最低限のデータしか含ませないことがあるため、クエリに含まれるデータの量も十分でない場合がある。
また、以下のような技術が存在する。具体的には、データベースにおけるカラム毎に、レコード間の第1のデータ類似度を算出し、カラムの組合せの各々について第1のデータ類似度の相関係数を算出する。また、注目レコード内のデータに類似する又は類似するとされるデータを有するレコードを特定し、注目レコードと特定されたレコードとの間の各々における、カラム毎の第2のデータ類似度を算出又は特定する。そして、注目カラムと他のカラムとの組合せの各々について第2のデータ類似度の相関係数を近傍相関係数として算出し、正の相関係数が算出され且つ所定の有意水準を超える正の近傍相関係数又はデータ欠損が発生していないレコードの割合が乗じられた正の近傍相関係数が算出されたカラムの組合せを抽出する。
しかし、この技術は、名寄せの対象となるデータが、例えば企業リスト同士であるなど、同質である(例えば、同じ属性について属性値が含まれる)場合に有効である。従って、名寄せの対象となるデータが同質ではない場合には有効ではない。また、この技術は、クエリに含まれる属性値の属性が分からない場合或いはクエリに含まれる属性の属性値がデータベースへの問い合わせ毎に異なるような場合には有効ではない。
特開2006−99236号公報 特開2012−14684号公報
従って、本発明の目的は、1つの側面では、複数のデータソースから得られたデータが統合されたデータを格納するデータベースから、クエリにおいて指定されたデータに対応するデータを適切に抽出するための技術を提供することである。
本発明に係るデータ抽出方法は、第1の属性について複数の属性値を含むクエリを取得し、検索対象のレコードを格納するデータベースから、複数の属性値のうちいずれかの属性値に一致する属性値を含むレコードを特定し、複数の属性値のうちいずれかの属性値に一致する属性値の属性が同じであるレコードが同じグループに属するように、特定されたレコードをグループ化し、グループ化により得られたレコードの集合のうち少なくともいずれかの集合を特定し、特定された当該集合に含まれるレコード又は当該レコードの識別情報を含む検索結果を出力する処理を含む。
複数のデータソースから得られたデータが統合されたデータを格納するデータベースから、クエリにおいて指定されたデータに対応するデータを適切に抽出できるようになる。
図1は、属性の名称が異なる場合における問題について説明するための図である。 図2は、本実施の形態に係る情報処理装置の機能ブロック図である。 図3は、統合データ格納部に格納されるデータの一例を示す図である。 図4は、メインの処理フローを示す図である。 図5は、クエリの一例を示す図である。 図6は、クエリによって特定されるレコードの一例を示す図である。 図7は、追加処理の処理フローを示す図である。 図8は、第1候補データ格納部に格納されるデータの一例を示す図である。 図9は、判定処理の処理フローを示す図である。 図10は、除去処理の処理フローを示す図である。 図11は、第2候補データ格納部に格納されるデータの一例を示す図である。 図12は、出力されるデータの一例を示す図である。 図13は、統合データ格納部に格納されるデータの一例を示す図である。 図14は、入力データ格納部に格納されるデータの一例を示す図である。 図15は、統合データ格納部におけるレコードに含まれる属性値のうちクエリに含まれる属性値に角括弧を付した図である。 図16は、統合データ格納部から抽出されたレコードの一例を示す図である。 図17は、第1候補データ格納部に格納されるデータの一例を示す図である。 図18は、第2候補データ格納部に格納されるデータの一例を示す図である。 図19は、出力されるデータの一例を示す図である。 図20は、統合データ格納部に格納されるデータの一例を示す図である。 図21は、統合データ格納部に格納されるデータの一例を示す図である。 図22は、入力データ格納部に格納されるデータの一例を示す図である。 図23は、クエリによって特定されるレコードの一例を示す図である。 図24は、第1候補データ格納部に格納されるデータの一例を示す図である。 図25は、第1候補データ格納部におけるレコードに含まれる属性値のうち一部の属性値に山括弧を付した図である。 図26は、第2候補データ格納部に格納されるデータの一例を示す図である。 図27は、出力されるデータの一例を示す図である。 図28は、出力されるデータが評価値を含む例を示す図である。 図29は、第2候補データ格納部に格納されるデータの一例を示す図である。 図30は、出力されるデータが評価値を含む例を示す図である。 図31は、コンピュータの機能ブロック図である。
図2に、本実施の形態における情報処理装置1の機能ブロック図を示す。情報処理装置1は、入力部101と、入力データ格納部102と、第1候補抽出部103と、統合データ格納部104と、第1候補データ格納部105と、第2候補抽出部106と、第2候補データ格納部107と、出力部108とを含む。
入力部101は、複数の属性値を含むクエリの入力を受け付け、クエリを入力データ格納部102に格納する。第1候補抽出部103は、入力データ格納部102に格納されているデータ及び統合データ格納部104に格納されているデータを用いて処理を行い、処理結果を第1候補データ格納部105に格納する。第2候補抽出部106は、第1候補データ格納部105に格納されているデータを用いて処理を行い、処理結果を第2候補データ格納部107に格納する。出力部108は、第2候補データ格納部107に格納されているデータを、図示しない表示装置等に出力する。
図3に、統合データ格納部104に格納されるデータの一例を示す。図3の例では、複数の企業或いは官公庁が保有する複数のデータソースから得られたデータを統合したデータが格納されている。具体的には、IDが0000から0005までのレコードと、IDが1000から1004までのレコードと、IDが2000から2004までのレコードとは、データソースが異なる。そのため、統合データ格納部104に格納されるデータは、通常のデータと比較して属性の数が多く、また、属性値の欠損が多い。さらに、同じ属性値が複数のカラムに格納される場合がある。図3の例では、「千葉」という属性値が、「市」という属性のカラムと、「都道府県」という属性のカラムと、「港海岸」という属性のカラムと、「氏」という属性のカラムとに含まれる。なお、ハイフンはデータが欠損していることを表す。
次に、図4乃至図30を用いて、情報処理装置1の動作について説明する。入力部101は、特定の企業における従業員等であるユーザから、検索処理の開始指示を受け付けると、入力データ格納部102に格納されているデータ、第1候補データ格納部105に格納されているデータ及び第2候補データ格納部107に格納されているデータを削除する(図4:ステップS1)。すなわち、初期化を実行する。
入力部101は、ユーザから、特定の属性について複数の属性値を含むクエリの入力を受け付け(ステップS3)、入力データ格納部102に格納する。ステップS3において入力を受け付けるクエリは、例えば図5に示すようなデータである。図5の例では、「市」という属性について、「甲府」、「岐阜」、「三崎」、「焼津」及び「松本」という属性値が含まれる。このように、本実施の形態においては、クエリに含まれる複数の属性値の間には何らかの共通性(ここでは、街の名前であるという共通性)があるとする。
例えば、ユーザが、各取引企業について自社からの総購入高を知っている状態において、各取引企業について従業員一人あたりの自社からの購入高を計算するため、各取引企業の従業員数を知りたいとする。この場合、各取引企業のレコードを統合データ格納部104から抽出するため、ユーザは、クエリに「A社」、「B社」、「C社」及び「D社」という属性値を含ませる。このような場合には、複数の属性値の間には「企業の名前」に関する属性の値であるという共通性を有する。
なお、ユーザは、情報漏洩防止等の観点から、保有する属性値の全てをクエリに含ませるわけではない。ユーザは、例えば企業名或いは企業の所在地など、対応付けに寄与する可能性が高いと考えられる属性値をクエリに含ませる。
そして、本実施の形態においては、統合データ格納部104に格納されるデータとクエリに含まれるデータとの間に以下のような関係があるとする。(1)同一の対象を表すレコードであることを特定するためのIDは無い。よって、同一の対象を表すレコードをIDの対応付けによって抽出することはできない。(2)クエリに含まれる属性値に対応するレコードが、統合データ格納部104に含まれていない場合がある。
図4の説明に戻り、第1候補抽出部103は、入力データ格納部102に格納されている複数の属性値の各々について、その属性値と一致する属性値を有するレコードを統合データ格納部104から特定し(ステップS5)、メインメモリ等の記憶装置に格納する。
図6に、ステップS5の処理によって特定されるレコードの一例を示す。図6に示したレコードは、「甲府」、「岐阜」、「三崎」、「焼津」又は「松本」という属性値のうち少なくともいずれかを含む。図を見やすくするため、これらの属性値には角括弧を付している。
第1候補抽出部103は、複数の属性値のいずれも、特定されたレコードの数が1以下であるか判定する(ステップS7)。すなわち、1対1の対応付けができたか、又は、1対1の対応付けができた属性値と対応するレコードが特定されなかった属性値とが混在するか判定する。
複数の属性値のいずれも、特定されたレコードの数が1以下である場合(ステップS7:Yesルート)、第1候補抽出部103は、追加処理を実行する(ステップS9)。追加処理については、図7及び図8を用いて説明する。
まず、第1候補抽出部103は、クエリに含まれる属性値に一致する属性値の属性を特定する(図7:ステップS21)。例えば図6に示したレコードがステップS5の処理によって特定された場合、ステップS21において特定される属性は「市」、「都道府県」及び「港海岸」である。
第1候補抽出部103は、特定された属性毎にレコードを分類する(ステップS23)。図8に、ステップS23の処理によって生成されるレコードの集合を示す。図8の例では、IDが「0003」であるレコード及びIDが「0005」であるレコードを含む集合(以下、集合1とする)と、IDが「0005」であるレコードを含む集合(以下、集合2とする)と、IDが「1002」であるレコード及びIDが「1005」であるレコードを含む集合(以下、集合3とする)とが含まれる。図8の例では、IDが「0005」であるレコードが集合1及び集合2のいずれにも含まれる。これは、IDが「0005」であるレコードには、クエリに含まれる属性値が2つ含まれているからである。このように、本実施の形態においては、レコードの重複を許容するようにレコードの分類を行う。
第1候補抽出部103は、ステップS23の処理によって分類されたレコードを第1候補データ格納部105に格納する(ステップS25)。第1候補データ格納部105には、図8に示したようなデータが格納される。そして元の処理に戻る。
以上のような処理を実行すれば、クエリに含まれる属性値に対応するレコードを属性毎に整理することができるようになる。
図4の説明に戻り、ステップS9の処理が終了すると、ステップS15の処理に移行する。
一方、複数の属性値のいずれかが、特定されたレコードの数が2以上である場合(ステップS7:Noルート)、第1候補抽出部103は、追加処理を実行する(ステップS11)。追加処理については、図7及び図8を用いて説明したとおりである。第1候補抽出部103は、追加処理が終了すると、第2候補抽出部106に処理の実行を要求する。
第2候補抽出部106は、判定処理を実行する(ステップS13)。判定処理については、図9を用いて説明する。
まず、第2候補抽出部106は、ステップS21において特定された属性のうち未処理の属性(以下、処理対象の属性と呼ぶ)を1つ特定する(図9:ステップS31)。
第2候補抽出部106は、第1候補データ格納部105における、処理対象の属性の属性値がクエリに含まれる属性値と一致するレコードの集合において、その属性以外の属性において属性値が共通しているか判断する(ステップS33)。処理対象の属性が例えば「市」である場合、集合1において、「市」以外のいずれかの属性において属性値が共通しているか判断する。ここでは、「市種類」及び「地方」という属性において属性値が共通していると判断される。なお、ステップS33における「共通している」とは、集合に含まれる全てのレコードの属性値が同じであることを意味する。
共通していないと判断された場合(ステップS35:Noルート)、ステップS39の処理に移行する。一方、共通していると判断された場合(ステップS35:Yesルート)、第2候補抽出部106は、処理対象の属性の属性値がクエリに含まれる属性値と一致するレコードの集合を第2候補データ格納部107に格納する(ステップS37)。処理対象の属性が例えば「市」である場合、集合1を第2候補データ格納部107に格納する。
第2候補抽出部106は、未処理の属性が有るか判断する(ステップS39)。未処理の属性が有る場合(ステップS39:Yesルート)、次の属性について処理をするため、ステップS31の処理に戻る。一方、未処理の属性が無い場合(ステップS39:Noルート)、元の処理に戻る。
以上のような処理を実行すれば、属性毎に分類されたレコードの集合のうち、集合に含まれるレコードが共通性を有している集合のみに絞り込むことができる。このように、包含するレコードが共通性を有している集合のみに絞り込むのは、クエリにおいて指定された属性値は上で述べたように共通性を有しているため、属性値に対応するレコード同士も共通性を有していると考えられるからである。
図4の説明に戻り、ステップS13の処理が終了すると、ステップS15の処理に移行する。第2候補抽出部106は、除去処理を実行する(ステップS15)。除去処理については、図10及び図11を用いて説明する。
まず、第2候補抽出部106は、第2候補データ格納部107から、集合の組合せのうち未処理の組合せを1つ特定する(図10:ステップS41)。ステップS41においては、2つの集合からなる組合せを特定する。例えば図8に示したデータが第2候補データ格納部107に格納されている場合、集合1及び集合2という組合せと、集合2及び集合3という組合せと、集合1及び集合3という組合せとがある。
なお、判定処理を実行していない(すなわち、ステップS7のYesルートを進んだ)には、第2候補データ格納部107にはデータが格納されていない。そこで、第2候補抽出部106は、第1候補データ格納部105に格納されているデータを読み出し、第2候補データ格納部107に格納する。その後、第2候補抽出部10は、ステップS15の処理を実行する。
第2候補抽出部106は、特定された組合せに含まれる一方の集合が他方の集合を包含するか判断する(ステップS43)。ステップS43においては、IDの包含関係等に基づき集合の包含関係を特定する。なお、ステップS43における「包含」とは、一部を包含することではなく完全に包含することを意味する。
一方の集合が他方の集合を包含していない場合(ステップS43:Noルート)、ステップS47の処理に移行する。一方の集合が他方の集合を包含する場合(ステップS43:Yesルート)、包含される集合を第2候補データ格納部107から除去する(ステップS45)。
第2候補抽出部106は、第2候補データ格納部107に未処理の組合せが有るか判断する(ステップS47)。未処理の組合せが有る場合(ステップS47:Yesルート)、次の組合せについて処理するため、ステップS41の処理に戻る。一方、未処理の組合せが無い場合(ステップS47:Noルート)、元の処理に戻る。
以上のような処理を実行すれば、複数の集合に重複して含まれる、ユーザに提示しなくてもよい冗長なレコードを検索結果から除去できるようになる。
図11に、除去処理の後に第2候補データ格納部107に格納されるデータの一例を示す。図11の例では、図8における集合1と集合3とが格納される。集合2は集合1に包含されるため、ステップS45の処理によって除去される。
図4の説明に戻り、出力部108は、第2候補データ格納部107に格納されているレコード又はレコードのIDを図示しない表示装置等に出力する(ステップS17)。そして処理を終了する。
図12に、出力されるデータの一例を示す。図12の例では、出力されるデータには、クエリに含まれる属性値と、レコードのIDとが含まれる。レコードのIDは、属性毎にまとめて出力される。ID「0003」及びID「0005」は、「市」という属性についてまとめられたIDである。ID「1002」及び「1005」は、「港海岸」という属性についてまとめられたIDである。「甲府」という属性値にはIDが「0003」であるレコードが対応付けられており、「岐阜」という属性値にはIDが「0005」であるレコードが対応付けられており、「三崎」という属性値にはIDが「1002」であるレコードが対応付けられており、「焼津」という属性値にはIDが「1005」であるレコードが対応付けられており、「松本」という属性値に対応付けられているレコードは無い。なお、図12に示したように、クエリに含まれる属性値を出力する場合、出力部108は、入力データ格納部102に格納されているデータを利用する。
以上のような処理を実行すれば、クエリに含まれる複数の属性値に対応する可能性があるレコードを、属性毎に整理したうえで出力できるようになる。これにより、対応する属性の組を予め把握していない場合であっても、複数のデータソースから得られたデータを格納するデータベースから、対応するレコードを適切に抽出できるようになる。
図13乃至図27に、本実施の形態の処理に関係するデータの具体例を示す。
図13に、統合データ格納部104に格納されるデータの他の例を示す。図13の例では、複数のデータソースから得られたデータを統合したデータが格納されている。具体的には、IDが0000から0005までのレコードと、IDが0020であるレコード及びIDが0021であるレコードと、IDが1004であるレコード及びIDが1005であるレコードとは、データソースが異なる。
図14に、入力データ格納部102に格納されるデータの他の例を示す。図14の例では、「千葉」という属性値、「名古屋」という属性値、「長崎」という属性値及び「宮崎」という属性値が入力データ格納部102に格納される。
図13に示したデータにおいて、図14に示したクエリに含まれる4つの属性値のうちいずれかに一致する属性値に角括弧を付すと、図15に示すようになる。図15の例においては、IDが「0002」であるレコードに含まれる属性値と、IDが「0004」であるレコードに含まれる属性値と、IDが「0020」であるレコードに含まれる属性値と、IDが「0021」であるレコードに含まれる属性値とに角括弧が付されている。
図15に示したデータから、ステップS5の処理によって特定されるレコードのみを抽出すると、図16に示すようなデータになる。図16に示したデータには、IDが「0002」であるレコードと、IDが「0004」であるレコードと、IDが「0020」であるレコードと、IDが「0021」であるレコードとが含まれる。
図16に示したデータに対して追加処理を実行すると、図17に示すようなデータが第1候補データ格納部105に格納される。図17の例では、IDが「0002」であるレコード、IDが「0004」であるレコード、IDが「0020」であるレコード及びIDが「0021」であるレコードを含む集合(以下、集合4とする)と、IDが「0002」であるレコード、IDが「0020」であるレコード及びIDが「0021」であるレコードを含む集合(以下、集合5とする)と、IDが「0002」であるレコード、IDが「0004」であるレコード、IDが「0020」であるレコード及びIDが「0021」であるレコードを含む集合(以下、集合6とする)とが含まれる。
判定処理を実行すると、いずれの集合も第2候補データ格納部107に格納される。しかし、集合5は集合4及び集合6に包含されるため、除去処理において除去される。また、集合4と集合6とは同一であるため、除去処理においていずれかの集合が除去される。
その結果、最終的に図18に示すようなデータが第2候補データ格納部107に格納される。図18の例では、IDが「0002」であるレコードと、IDが「0004」であるレコードと、IDが「0020」であるレコードと、IDが「0021」であるレコードとが含まれる。
図19に、図18に示したデータが第2候補データ格納部107に格納されている場合に出力されるデータの一例を示す。図19の例では、ID「0002」、ID「0004」、ID「0020」及びID「0021」は、「市」又は「港海岸」という属性についてまとめられたIDである。「千葉」という属性値にはIDが「0002」であるレコードが対応付けられており、「名古屋」という属性値にはIDが「0004」であるレコードが対応付けられており、「長崎」という属性値にはIDが「0020」であるレコードが対応付けられており、「宮崎」という属性値にはIDが「0021」であるレコードが対応付けられている。
図20及び図21に、統合データ格納部104に格納されるデータの他の例を示す。図20及び図21の例では、複数のデータソースから得られたデータを統合したデータが格納されている。具体的には、IDが0000から0005までのレコード、IDが0020であるレコード及びIDが0021であるレコードと、IDが1000から1008までのレコードと、IDが2000から2006までのレコードとは、データソースが異なる。なお、図20に示したデータと図21に示したデータとは連結されるものであるが、紙面の都合上分割されている。
図22に、入力データ格納部102に格納されるデータの他の例を示す。図22の例では、「千葉」という属性値、「名古屋」という属性値、「長崎」という属性値、「宮崎」という属性値及び「松本」という属性値が入力データ格納部102に格納される。
図20及び図21に示したデータから、図22に示したクエリを用いてレコードを特定すると、図23に示すようになる。図23に示したデータには、IDが「0002」であるレコードと、IDが「0004」であるレコードと、IDが「0020」であるレコードと、IDが「0021」であるレコードと、IDが「1004」であるレコードと、IDが「1006」であるレコードと、IDが「1007」であるレコードと、IDが「1008」であるレコードと、IDが「2000」であるレコードと、IDが「2003」であるレコードと、IDが「2004」であるレコードと、IDが「2006」であるレコードとが含まれる。なお、図22に示したクエリに含まれる5つの属性値のうちいずれかに一致する属性値には、角括弧が付されている。
図23に示したデータに対して追加処理を実行すると、図24に示すようなデータが第1候補データ格納部105に格納される。図24の例では、IDが「0002」であるレコード、IDが「0004」であるレコード、IDが「0020」であるレコード及びIDが「0021」であるレコードを含む集合(以下、集合7とする)と、IDが「0002」であるレコード、IDが「0020」であるレコード、IDが「0021」であるレコード、IDが「1004」であるレコード、IDが「1007」であるレコード及びIDが「1008」であるレコードを含む集合(以下、集合8とする)と、IDが「1004」であるレコード、IDが「1006」であるレコード、IDが「1007」であるレコード及びIDが「1008」であるレコードを含む集合(以下、集合9とする)と、IDが「2000」であるレコード、IDが「2003」であるレコード、IDが「2004」であるレコード及びIDが「2006」であるレコードを含む集合(以下、集合10とする)とが含まれる。
図24に示したデータにおいて、クエリに含まれる属性値と一致する属性値を含む属性のカラム以外から、属性値が共通する属性のカラムを特定し、特定されたカラムにおける属性値に山括弧を付すと、図25に示すようになる。図25の例では、集合7における「市種類」という属性の属性値と、集合9における「種類」という属性及び「港種類」という属性の属性値とに山括弧が付されている。
判定処理を実行すると、集合7及び集合9が第2候補データ格納部107に格納される。そして、集合7と集合9との間に包含関係は無いため、除去処理において集合7及び集合9が除去されることはない。
その結果、最終的に図26に示すようなデータが第2候補データ格納部107に格納される。図26の例では、集合7と、集合9とが含まれる。
図27に、図26に示したデータが第2候補データ格納部107に格納されている場合に出力されるデータの一例を示す。図27の例では、ID「0002」、ID「0004」、ID「0020」及びID「0021」は、「市種類」という属性についてまとめられたIDであり、ID「1004」、ID「1006」、ID「1007」及びID「1008」は、「種類」及び「港種類」という属性についてまとめられたIDである。「千葉」という属性値にはIDが「0002」であるレコード及びIDが「1004」であるレコードが対応付けられており、「名古屋」という属性値にはIDが「0004」であるレコード及びIDが「1006」であるレコードが対応付けられており、「長崎」という属性値にはIDが「0020」であるレコード及びIDが「1007」であるレコードが対応付けられており、「宮崎」という属性値にはIDが「0021」であるレコード及びIDが「1008」であるレコードが対応付けられており、「松本」という属性値に対応付けられているレコードは無い。
図27に示したように、1つの属性値に対して複数のレコードが対応付けられた場合には、例えば、ユーザが出力されたデータを確認することにより、複数のレコードのうちいずれのレコードが最も確からしいかを確認すればよい。
なお、1つの属性値に対して複数のレコードが対応付けられた場合には、各集合について評価値を算出することにより、複数のレコードのうちいずれのレコードが最も確からしいかをユーザが確認すればよい。評価値として、例えば以下のような値を用いることができる。(1)集合に含まれるレコードの数。(2)ステップS33の処理において属性値が共通していると判断された属性の数。(3)クエリに含まれる属性値と一致する属性値のうち他の集合におけるレコードに含まれていない属性値の数。
例えば図26に示したデータについて(2)の方法で評価値を算出すると、集合7は「市種類」という属性のみであるから評価値は1であり、集合9は「種類」及び「港種類」という属性があるので評価値は2である。従って、例えば図28に示すようなデータを出力する。このようなデータを出力すれば、ユーザは、集合9の方が評価値が高いため好ましいと判断できるようになる。
また、図29に示したデータが第2候補データ格納部107に格納されている場合に(3)の方法で評価値を算出することを考える。図29の例では、集合291と、集合292と、集合293とが含まれる。クエリに含まれる属性値と一致する属性値には角括弧が付されている。クエリに含まれる属性値と一致する属性値は、集合291においては「千葉」、「甲府」、「京都」及び「宮崎」であり、集合292においては「川崎」、「千葉」及び「釧路」であり、集合293においては「宮崎」、「甲府」及び「京都」である。集合291の評価値は、「千葉」、「甲府」、「京都」及び「宮崎」が集合292と集合293との和集合に含まれるため、評価値は4−4=0である。集合292の評価値は、「千葉」が集合291に含まれるため、評価値は3−1=2である。集合293の評価値は、「宮崎」、「甲府」及び「京都」が集合291に含まれるため、評価値は3−3=0である。従って、例えば図30に示すような出力データを提示すれば、ユーザは、集合292の評価値が最も高いため集合292が最も好ましいと判断できるようになる。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した情報処理装置1の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
なお、上ではスタンドアローン型のシステムを示したが、クライアントサーバ型のシステムによって本実施の形態の処理を実行してもよい。
なお、上で述べた例においては、説明を簡単にするため属性値の一致のみを対象としたが、属性値の類似についても同様の処理によって実現することができる。属性値が類似するか否かを判定する技術は、よく知られているので、ここでは詳細な説明を省略する。
また、(1)から(3)の方法で求めた評価値を単独で用いるのではなく、複数の評価値を組み合わせて新たな評価値を算出してもよい。
なお、上で述べた情報処理装置1は、コンピュータ装置であって、図31に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係るデータ抽出方法は、(A)第1の属性について複数の属性値を含むクエリを取得し、(B)検索対象のレコードを格納するデータベースから、複数の属性値のうちいずれかの属性値に一致する属性値を含むレコードを特定し、(C)複数の属性値のうちいずれかの属性値に一致する属性値の属性が同じであるレコードが同じグループに属するように、特定されたレコードをグループ化し、(D)グループ化により得られたレコードの集合のうち少なくともいずれかの集合を特定し、特定された当該集合に含まれるレコード又は当該レコードの識別情報を含む検索結果を出力する処理を含む。
このようにすれば、クエリに含まれる複数の属性値に対応する可能性があるレコードを、属性毎に整理したうえで出力できるようになる。これにより、複数のデータソースから得られたデータを格納するデータベースから、対応するレコードを適切に抽出できるようになる。
また、上で述べた検索結果を出力する処理において、(d1)グループ化により得られたレコードの集合のうち、当該集合に含まれる複数のレコードが特定の属性において同じ属性値を有する集合を特定してもよい。ユーザは、何らかの共通性を想定してクエリに含まれる複数の属性値を指定すると考えられる。そこで、上で述べたようにすれば、共通性があるレコードを含む集合を特定できるので、指定に対応するレコードを抽出する可能性が高くなる。
また、上で述べた検索結果を出力する処理において、(d2)グループ化により得られた複数の集合の包含関係に基づき、当該複数の集合のうち他の集合に包含される集合を特定し、特定された当該集合に含まれるレコードを除去してもよい。このようにすれば、複数の集合に重複して含まれる、ユーザに提示しなくてもよいレコードを検索結果から除外できるようになる。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1の属性について複数の属性値を含むクエリを取得し、
検索対象のレコードを格納するデータベースから、前記複数の属性値のうちいずれかの属性値に一致する属性値を含むレコードを特定し、
前記複数の属性値のうちいずれかの属性値に一致する属性値の属性が同じであるレコードが同じグループに属するように、特定された前記レコードをグループ化し、
グループ化により得られたレコードの集合のうち少なくともいずれかの集合を特定し、特定された当該集合に含まれるレコード又は当該レコードの識別情報を含む検索結果を出力する
処理をコンピュータが実行するデータ抽出方法。
(付記2)
前記検索結果を出力する処理において、
前記グループ化により得られたレコードの集合のうち、当該集合に含まれる複数のレコードが特定の属性において同じ属性値を有する集合を特定する
ことを特徴とする付記1記載のデータ抽出方法。
(付記3)
前記検索結果を出力する処理において、
グループ化により得られた複数の集合の包含関係に基づき、当該複数の集合のうち他の集合に包含される集合を特定し、特定された当該集合に含まれるレコードを除去する
ことを特徴とする付記1記載のデータ抽出方法。
(付記4)
第1の属性について複数の属性値を含むクエリを取得する第1処理部と、
検索対象のレコードを格納するデータベースから、前記複数の属性値のうちいずれかの属性値に一致する属性値を含むレコードを特定すると共に、前記複数の属性値のうちいずれかの属性値に一致する属性値の属性が同じであるレコードが同じグループに属するように、特定された前記レコードをグループ化する第2処理部と、
グループ化により得られたレコードの集合のうち少なくともいずれかの集合を特定する第3処理部と、
特定された当該集合に含まれるレコード又は当該レコードの識別情報を含む検索結果を出力する第4処理部と、
を有するデータ抽出装置。
(付記5)
第1の属性について複数の属性値を含むクエリを取得し、
検索対象のレコードを格納するデータベースから、前記複数の属性値のうちいずれかの属性値に一致する属性値を含むレコードを特定し、
前記複数の属性値のうちいずれかの属性値に一致する属性値の属性が同じであるレコードが同じグループに属するように、特定された前記レコードをグループ化し、
グループ化により得られたレコードの集合のうち少なくともいずれかの集合を特定し、特定された当該集合に含まれるレコード又は当該レコードの識別情報を含む検索結果を出力する
処理をコンピュータに実行させるためのデータ抽出プログラム。
1 情報処理装置 101 入力部
102 入力データ格納部 103 第1候補抽出部
104 統合データ格納部 105 第1候補データ格納部
106 第2候補抽出部 107 第2候補データ格納部
108 出力部

Claims (5)

  1. 第1の属性について複数の属性値を含むクエリを取得し、
    検索対象のレコードを格納するデータベースから、前記複数の属性値のうちいずれかの属性値に一致する属性値を含むレコードを特定し、
    前記複数の属性値のうちいずれかの属性値に一致する属性値の属性が同じであるレコードが同じグループに属するように、特定された前記レコードをグループ化し、
    グループ化により得られたレコードの集合のうち少なくともいずれかの集合を特定し、特定された当該集合に含まれるレコード又は当該レコードの識別情報を含む検索結果を出力する
    処理をコンピュータが実行するデータ抽出方法。
  2. 前記検索結果を出力する処理において、
    前記グループ化により得られたレコードの集合のうち、当該集合に含まれる複数のレコードが特定の属性において同じ属性値を有する集合を特定する
    ことを特徴とする請求項1記載のデータ抽出方法。
  3. 前記検索結果を出力する処理において、
    グループ化により得られた複数の集合の包含関係に基づき、当該複数の集合のうち他の集合に包含される集合を特定し、特定された当該集合に含まれるレコードを除去する
    ことを特徴とする請求項1記載のデータ抽出方法。
  4. 第1の属性について複数の属性値を含むクエリを取得する第1処理部と、
    検索対象のレコードを格納するデータベースから、前記複数の属性値のうちいずれかの属性値に一致する属性値を含むレコードを特定すると共に、前記複数の属性値のうちいずれかの属性値に一致する属性値の属性が同じであるレコードが同じグループに属するように、特定された前記レコードをグループ化する第2処理部と、
    グループ化により得られたレコードの集合のうち少なくともいずれかの集合を特定する第3処理部と、
    特定された当該集合に含まれるレコード又は当該レコードの識別情報を含む検索結果を出力する第4処理部と、
    を有するデータ抽出装置。
  5. 第1の属性について複数の属性値を含むクエリを取得し、
    検索対象のレコードを格納するデータベースから、前記複数の属性値のうちいずれかの属性値に一致する属性値を含むレコードを特定し、
    前記複数の属性値のうちいずれかの属性値に一致する属性値の属性が同じであるレコードが同じグループに属するように、特定された前記レコードをグループ化し、
    グループ化により得られたレコードの集合のうち少なくともいずれかの集合を特定し、特定された当該集合に含まれるレコード又は当該レコードの識別情報を含む検索結果を出力する
    処理をコンピュータに実行させるためのデータ抽出プログラム。
JP2013070231A 2013-03-28 2013-03-28 データ抽出方法、装置及びプログラム Expired - Fee Related JP6028656B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013070231A JP6028656B2 (ja) 2013-03-28 2013-03-28 データ抽出方法、装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013070231A JP6028656B2 (ja) 2013-03-28 2013-03-28 データ抽出方法、装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2014194609A JP2014194609A (ja) 2014-10-09
JP6028656B2 true JP6028656B2 (ja) 2016-11-16

Family

ID=51839838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013070231A Expired - Fee Related JP6028656B2 (ja) 2013-03-28 2013-03-28 データ抽出方法、装置及びプログラム

Country Status (1)

Country Link
JP (1) JP6028656B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111563118B (zh) * 2019-02-14 2023-09-12 桂林电子科技大学 一种实时获得数据的数据自动录入方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0567155A (ja) * 1991-09-09 1993-03-19 Nippon Telegr & Teleph Corp <Ntt> 情報検索装置
JP4398992B2 (ja) * 2007-03-29 2010-01-13 株式会社東芝 情報検索装置、情報検索方法及び情報検索プログラム

Also Published As

Publication number Publication date
JP2014194609A (ja) 2014-10-09

Similar Documents

Publication Publication Date Title
GB2513472A (en) Resolving similar entities from a database
CN106462633B (zh) 将相关的稀疏数据高效存储在搜索索引中
JP5398663B2 (ja) データ処理装置及びデータ処理方法及びプログラム
WO2019123703A1 (ja) データ分析支援装置、データ分析支援方法およびデータ分析支援プログラム
JP6028656B2 (ja) データ抽出方法、装置及びプログラム
JP6507880B2 (ja) 資産管理装置、資産管理システム及びプログラム
WO2019123704A1 (ja) データ分析支援装置、データ分析支援方法およびデータ分析支援プログラム
JP2018005633A (ja) 関連コンテンツ抽出装置、関連コンテンツ抽出方法及び関連コンテンツ抽出プログラム
JP5647509B2 (ja) 重複画像除去時の代表画像の選択方法及びシステム
JP5148157B2 (ja) 顧客情報管理装置
JP2012164028A (ja) レコード対選択装置、プログラム及び方法
JP6402600B2 (ja) データベース装置、データ管理方法、及びプログラム
JP6017055B2 (ja) データ連携支援装置及びデータ連携支援方法
JP5585489B2 (ja) 検索支援装置、プログラム及び方法
JP6677624B2 (ja) 分析装置、分析方法、および分析プログラム
JP5358981B2 (ja) 情報処理装置、情報処理装置の制御方法および情報処理装置の制御用プログラム
JP2015069551A (ja) 顧客分析プログラム、方法及び装置
KR101638048B1 (ko) 맵리듀스를 이용한 sql 질의처리방법
JP2014174921A (ja) 情報処理システム、名寄せ判定方法及びプログラム
JP6984147B2 (ja) 情報管理装置、情報管理方法、及びプログラム
JP6413597B2 (ja) 分析プログラム、分析方法及び分析装置
US20220253529A1 (en) Information processing apparatus, information processing method, and computer readable medium
JP5606303B2 (ja) 情報処理装置及び情報処理方法及びプログラム
JP6664306B2 (ja) 類似文書抽出装置、類似文書抽出方法及び類似文書抽出プログラム
JP2010271959A (ja) 業務プロセス間の類似度算出方法、プログラム及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160822

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160920

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161003

R150 Certificate of patent or registration of utility model

Ref document number: 6028656

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees