JP6578685B2 - 関係推定方法、関係推定プログラムおよび情報処理装置 - Google Patents

関係推定方法、関係推定プログラムおよび情報処理装置 Download PDF

Info

Publication number
JP6578685B2
JP6578685B2 JP2015052617A JP2015052617A JP6578685B2 JP 6578685 B2 JP6578685 B2 JP 6578685B2 JP 2015052617 A JP2015052617 A JP 2015052617A JP 2015052617 A JP2015052617 A JP 2015052617A JP 6578685 B2 JP6578685 B2 JP 6578685B2
Authority
JP
Japan
Prior art keywords
attribute
data
relationship
attributes
record
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
JP2015052617A
Other languages
English (en)
Other versions
JP2016173678A (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 JP2015052617A priority Critical patent/JP6578685B2/ja
Priority to US15/063,899 priority patent/US20160275181A1/en
Priority to CN201610144750.5A priority patent/CN105989189A/zh
Publication of JP2016173678A publication Critical patent/JP2016173678A/ja
Application granted granted Critical
Publication of JP6578685B2 publication Critical patent/JP6578685B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、関係推定方法、関係推定プログラムおよび情報処理装置に関する。
従来から、複数の事象について、属性ごとに、当該属性に関する属性データを対応付けて格納するデータ形式が用いられている。例えば、表形式のデータでは、各属性をそれぞれ列として、事象ごとにレコードを分けて、各属性に対応する列の領域に、事象の各属性に関する属性データを格納する。
このように、属性ごとに、当該属性に関する属性データを対応付けて格納されたデータは、属性間の意味関係が明確ではない。そこで、データの意味関係を明確にする技術が知られている。例えば、語の概念や、語と語の関係を示すオントロジーを用いて、意味関係を特定する技術である。
特開2010−262343号公報 特開2009−169840号公報 特開2006−48183号公報
従来の技術は、使用された語がどのような意味で使用されたかを特定するものであるが、属性間の意味関係を推定することはできない。
一つの側面では、属性間の意味関係の推定を支援できる関係推定方法、関係推定プログラムおよび情報処理装置を提供することを目的とする。
第1の案では、関係推定方法は、複数の事象について、属性ごとに、当該属性に関する属性データが対応付けて格納されたデータ群から各事象間の属性データの一致関係が所定の条件を満たす事象のデータを抽出する処理をコンピュータが実行する。関係推定方法は、抽出結果に基づき、属性間の意味関係の判定結果を出力する処理をコンピュータが実行する。
本発明の一の実施態様によれば、属性間の意味関係の推定を支援できるという効果を奏する。
図1は、情報処理装置の機能的な構成の一例を示す図である。 図2は、対象データのデータ構成の一例を示す図である。 図3Aは、集合の関係の一例を示す図である。 図3Bは、同値の関係の一例を示す図である。 図3Cは、階層の関係の一例を示す図である。 図3Dは、リストの関係の一例を示す図である。 図3Eは、無関係の状態の一例を示す図である。 図4Aは、集合の関係があるレコードの抽出の一例を示す図である。 図4Bは、同値の関係があるレコードの抽出の一例を示す図である。 図4Cは、リストの関係があるレコードの抽出の一例を示す図である。 図4Dは、階層の関係があるレコードの属性ごとの属性データの種類数の抽出の一例を示す図である。 図5は、判定結果画面の一例を示す図である。 図6Aは、関係推定処理の手順の一例を示すフローチャートである。 図6Bは、集合関係抽出処理の手順の一例を示すフローチャートである。 図6Cは、リスト関係抽出処理の手順の一例を示すフローチャートである。 図6Dは、反例抽出処理の手順の一例を示すフローチャートである。 図6Eは、種類数抽出処理の手順の一例を示すフローチャートである。 図6Fは、出力処理の手順の一例を示すフローチャートである。 図7は、関係推定プログラムを実行するコンピュータの一例を示す図である。
以下に、本発明に係る関係推定方法、関係推定プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[装置構成]
本実施例に係る情報処理装置10について説明する。情報処理装置10は、属性ごとに、当該属性に関する属性データが対応付けて格納されたデータの属性間の意味構造の推定を支援する装置である。情報処理装置10は、例えば、パーソナルコンピュータやサーバコンピュータなどのコンピュータなどである。情報処理装置10は、1台のコンピュータとして実装してもよく、また、複数台のコンピュータによるクラウドとして実装することもできる。本実施例では、情報処理装置10を1台のコンピュータとした場合を例として説明する。なお、情報処理装置10は、スマートフォンやタブレット端末などの携帯可能な端末装置であってもよい。
図1は、情報処理装置の機能的な構成の一例を示す図である。図1に示すように、情報処理装置10は、通信I/F(インタフェース)部20と、表示部21と、入力部22と、記憶部23と、制御部24とを有する。なお、情報処理装置10は、上記の機器以外の他の機器を有してもよい。
通信I/F部20は、他の装置との間で通信制御を行うインタフェースである。通信I/F部20としては、LANカードなどのネットワークインタフェースカードを採用できる。
通信I/F部20は、不図示のネットワークを介して他の装置と各種情報を送受信する。例えば、通信I/F部20は、意味関係の推定の対象とする対象データを他の装置から受信する。
表示部21は、各種情報を表示する表示デバイスである。表示部21としては、LCD(Liquid Crystal Display)などの表示デバイスが挙げられる。表示部21は、各種情報を表示する。例えば、表示部21は、各種の操作画面など各種の画面を表示する。
入力部22は、各種の情報を入力する入力デバイスである。例えば、入力部22としては、マウスやキーボードなどの操作の入力を受け付ける入力デバイス、情報処理装置10に設けられた各種のボタンや、表示部21上に設けられた透過型のタッチセンサなどの入力デバイスが挙げられる。入力部22は、各種の情報の入力を受け付ける。例えば、入力部22は、各種の操作入力を受け付ける。入力部22は、ユーザからの操作入力を受け付け、受け付けた操作内容を示す操作情報を制御部24に入力する。なお、図1の例では、機能的な構成を示したため、表示部21と入力部22を別に分けているが、例えば、タッチパネルなど表示部21と入力部22を一体的に設けたデバイスで構成してもよい。
記憶部23は、各種のデータを記憶する記憶デバイスである。例えば、記憶部23は、ハードディスク、SSD(Solid State Drive)、光ディスクなどの記憶装置である。なお、記憶部23は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)などのデータを書き換え可能な半導体メモリであってもよい。
記憶部23は、制御部24で実行されるOS(Operating System)や各種プログラムを記憶する。例えば、記憶部23は、後述する各種の処理を実行するプログラムを含む各種のプログラムを記憶する。さらに、記憶部23は、制御部24で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部23は、対象データ30と、抽出データ31とを記憶する。
対象データ30は、属性間の意味関係を推定する対象のデータである。対象データ30には、複数の事象について、属性ごとに、当該属性に関する属性データが対応付けて格納されている。事象とは、例えば、対象から各属性データが得られた状態や、対象に対して各属性データを対応付けた状態である。このように属性ごとに、当該属性に関する属性データが対応付けて格納可能なデータの形式は、様々ある。例えば、表形式やテーブル形式のデータでは、各属性をそれぞれ列として、事象ごとにレコードを分けて、各属性に対応する列の領域に、事象の各属性に関する属性データが格納される。また、例えば、CSV(Comma Separated Values)形式のデータでは、各属性に順番を定め、事象ごとにレコードを分けて、各属性の順番の順に、事象の属性に関する属性データがカンマで区切って格納される。
図2は、対象データのデータ構成の一例を示す図である。図2の例は、対象データ30をテーブル形式のデータとした場合の一例を示している。対象データ30には、ヘッダ30Aが設けられている。属性には、それぞれの属性を識別する識別情報として属性名が定められる。この属性名は、属性を表現した名称であってもよい。また、属性名は、「属性1」、「属性2」、「属性3」・・・などと属性を識別するために定めた名称であってもよい。ヘッダ30Aには、属性の属性名が格納する領域が設けられている。ヘッダ30Aには、属性名として「属性1」、「属性2」、「属性3」が設けられている。対象データ30は、各属性をそれぞれ列として、事象ごとにレコードを分けて、事象の各属性に対応する列の領域に各属性に関する属性データが格納されている。図2の例では、属性名「属性1」の属性データとして「データ1」が格納され、属性名「属性2」の属性データとして「データ2」が格納され、属性名「属性3」の属性データとして「データ3」が格納されている。
このように属性ごとに、当該属性に関する属性データを対応付けて格納されたデータは、属性間の意味関係が明確ではない。
ここで、属性間の意味関係について説明する。属性ごとに属性データを格納した場合、各属性データは、様々な関係を有する場合がある。このような属性データの関係としては、例えば、集合、同値、階層、リストがある。属性データの関係の例を説明する。
図3Aは、集合の関係の一例を示す図である。事象について同じ属性の複数の属性データがあり、複数の属性データの間に優先順位が無い場合、複数の属性データは、集合の関係がある。この集合の関係にある複数の属性データは、それぞれ別な対象を表す。このような属性の例として、例えば、キーワードが挙げられる。事象に関するキーワードとして、データ1、データ2およびデータ3がある場合、データ1、データ2、データ3は、集合の関係がある。
図3Bは、同値の関係の一例を示す図である。事象の属性としては単一であるが、表現が複数ある場合、複数の属性データは、同値の関係がある。この同値の関係にある複数の属性データは、同じ対象を表す。このような属性の例として、例えば、会社の名称などが挙げられる。例えば、会社の正式名称は、「富士通株式会社」であるが、略称として「富士通」や「富士通(株)」と記載される場合がある。この「富士通」および「富士通(株)」は、何れも「富士通株式会社」を表す。
図3Cは、階層の関係の一例を示す図である。例えば、事象は、ツリー構造など階層的に複数の属性が定められる場合がある。複数の属性にそれぞれの階層の属性データを格納する場合、複数の属性の属性データは、階層の関係がある。このように複数の属性にそれぞれの階層の属性データを格納した場合、下位の階層の属性データが定まると上位の階層の属性データが定まる。例えば、事象に関して、大まかに分類した大分類、大分類をそれぞれ分類した中分類、中分類をそれぞれ詳細に分類した小分類と階層的に分類を属性として定める。この場合、中分類は、何れかの大分類に含まれる。小分類は、何れかの中分類に含まれる。よって、小分類が定まると、階層構造から中分類および大分類が定まる。図3Cは、データ2がデータ1のサブクラスとされた、データ3がデータ2のサブクラスとされた階層的な属性であることを示している。図3Cの例では、事象に関して、データ3が定まると、階層の関係からデータ2、データ1が定まる。このような場合、データ1、データ2、データ3は、階層の関係がある。
図3Dは、リストの関係の一例を示す図である。例えば、事象の属性としては単一であるが、複数の属性データがあり、属性データの順番に意味がある場合、複数の属性データは、リストの関係がある。このような属性の例として、例えば、論文の著者名が挙げられる。図3Dは、事象の属性として最初の要素の属性データが先頭に対応付けられ、各要素の属性データが次の要素の属性データへ対応付けられることを示している。このような場合、データ1、データ2、データ3は、リストの関係がある。
なお、参考に、属性間に関係が無い無関係の状態を説明する。図3Eは、無関係の状態の一例を示す図である。事象について複数の属性があり、各属性の属性データが他の属性データの影響を受けずに独立して変化する場合、各属性は、無関係の状態である。図3Eの例では、事象に関して、属性1のデータ1、属性2のデータ2、属性3のデータ3がある。データ1、データ2、データ3がそれぞれ他の影響を受けずに独立して変化する場合、データ1、データ2、データ3は、無関係の状態がある。
図1に戻り、抽出データ31は、後述する抽出部41により抽出されたデータを記憶したデータである。
制御部24は、情報処理装置10を制御するデバイスである。制御部24としては、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路を採用できる。制御部24は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部24は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部24は、受付部40と、抽出部41と、出力部42とを有する。
受付部40は、各種の受け付けを行う。例えば、受付部40は、各種の操作指示を受け付ける。例えば、受付部40は、操作画面など各種の画面を表示部21に表示させて、入力部22から、属性間の関係の推定開始の指示などの操作指示を受け付ける。
抽出部41は、各種の抽出を行う。例えば、抽出部41は、対象データ30から各レコード間の属性データの一致関係が所定の条件を満たすレコードのデータを抽出する。例えば、抽出部41は、対象データ30の各レコード間で属性データの一致の関係や、属性データが一致する属性の順番から、属性間に集合、同値、階層、リストの関係があるレコードのデータを抽出する。抽出部41は、属性の関係ごとに、抽出したレコードのデータを抽出データ31に格納する。
例えば、抽出部41は、対象データ30から属性データを比較する比較対象の2つのレコードを順に選択する。例えば、抽出部41は、対象データ30から第1のレコードと第2のレコードを順に選択する。そして、抽出部41は、第1のレコードと第2のレコードの間で属性データの比較を行って属性間に集合の関係があるか判定する。抽出部41は、属性間に集合の関係があるレコードを抽出する。例えば、抽出部41は、第1のレコードの第1の属性の属性データが第2のレコードの第1の属性とは異なる第2の属性の属性データと一致し、第1のレコードの第2の属性の属性データが第2のレコードの第1の属性とは一致しないか判定する。抽出部41は、第1のレコードの第1の属性の属性データが第2のレコードの第2の属性の属性データと一致し、第1のレコードの第2の属性の属性データが第2のレコードの第1の属性とは一致しない場合、第1のレコードおよび第2のレコードを抽出する。
図4Aは、集合の関係があるレコードの抽出の一例を示す図である。図4Aに示す対象データ30には、3つのレコード61、62、63が格納されている。レコード61は、属性名「属性1」の属性データが「あああ」、属性名「属性2」の属性データが「いいい」、属性名「属性3」の属性データが「ううう」とされている。レコード62は、属性名「属性1」の属性データが「あああ」、属性名「属性2」の属性データが「ううう」、属性名「属性3」の属性データが空白(NULL)とされている。レコード63は、属性名「属性1」の属性データが「えええ」、属性名「属性2」の属性データが「おおお」、属性名「属性3」の属性データが空白とされている。図4Aの例では、レコード61の属性名「属性3」の属性データ「ううう」が、レコード62の属性名「属性2」の属性データ「ううう」と一致する。また、レコード62の属性名「属性3」は、属性データが空白とされ、レコード61の属性名「属性2」の属性データ「いいい」と一致しない。このレコード61、62は、属性名「属性2」、「属性3」に集合の関係がある。抽出部41は、レコード61、62を集合の関係があるレコードのデータとして抽出データ31に格納する。
また、抽出部41は、第1のレコードと第2のレコードの間で属性データの比較を行って属性間に同値の関係があるか判定する。抽出部41は、属性間に同値の関係があるレコードを抽出する。例えば、抽出部41は、第1のレコードと第2のレコードの間で属性データが空白以外の各属性で属性データが全て同じであるか判定する。抽出部41は、第1のレコードと第2のレコードの間で各属性の属性データが全て同じである場合、第1のレコードおよび第2のレコードを抽出する。
図4Bは、同値の関係があるレコードの抽出の一例を示す図である。図4Bに示す対象データ30には、4つのレコード71、72、73、74が格納されている。レコード71は、属性名「属性1」の属性データが「あああ」、属性名「属性2」の属性データが「いいい」、属性名「属性3」の属性データが「ううう」とされている。レコード72は、属性名「属性1」の属性データが「あああ」、属性名「属性2」の属性データが「いいい」、属性名「属性3」の属性データが「ううう」とされている。レコード73は、属性名「属性1」の属性データが「かかか」、属性名「属性2」の属性データが「ききき」、属性名「属性3」の属性データが空白とされている。レコード74は、属性名「属性1」の属性データが「かかか」、属性名「属性2」の属性データが「ききき」、属性名「属性3」の属性データが空白とされている。図4Bの例では、レコード71とレコード72は、属性名「属性1」、「属性2」、「属性3」の各属性で属性データが一致し、同値の関係がある。レコード73とレコード74は、属性名「属性1」、「属性2」の各属性で属性データが一致し、同値の関係がある。抽出部41は、レコード71、72およびレコード73、74を同値の関係があるレコードのデータとして抽出データ31に格納する。
ところで、対象データ30に格納されたデータが同値の関係があるデータの場合、全てのデータが抽出されてしまう。
そこで、本実施例に係る情報処理装置10では、対象データ30から同値の関係が無い反例のレコードを抽出する。これにより、対象データ30は、各レコードの属性間に同値の関係がある場合、レコードが抽出されない。よって、レコードが抽出されないことで、対象データ30は、格納されたデータが同値の関係があると判別できる。
このため、本実施例に係る抽出部41は、属性間に同値の関係があるレコードを抽出に代えて、同値の関係がない反例のレコードを抽出する。例えば、抽出部41は、第1のレコードと第2のレコードの間で、各属性の属性データの一部が一致し、他の一部が不一致であるか判定する。抽出部41は、第1のレコードと第2のレコードの間で各属性の属性データの一部が一致し、他の一部が不一致である場合、第1のレコードおよび第2のレコードを抽出する。図4Bの例では、レコード間で一部の属性のみで属性データが一致するものはないため、反例のレコードは抽出されない。
また、抽出部41は、第1のレコードと第2のレコードの間で属性データの比較を行って属性間にリストの関係があるか判定する。抽出部41は、属性間にリストの関係があるレコードを抽出する。例えば、抽出部41は、第1のレコードと第2のレコードの間の2以上の属性で属性データが入れ替わっているか判定する。抽出部41は、2以上の属性で属性データが入れ替わっている場合、第1のレコードおよび第2のレコードを抽出する。
図4Cは、リストの関係があるレコードの抽出の一例を示す図である。図4Cに示す対象データ30には、3つのレコード81、82、83が格納されている。レコード81は、属性名「属性1」の属性データが「あああ」、属性名「属性2」の属性データが「いいい」、属性名「属性3」の属性データが空白とされている。レコード82は、属性名「属性1」の属性データが「あああ」、属性名「属性2」の属性データが「ううう」、属性名「属性3」の属性データが空白とされている。レコード83は、属性名「属性1」の属性データが「いいい」、属性名「属性2」の属性データが「あああ」、属性名「属性3」の属性データが空白とされている。図4Cの例では、レコード81とレコード83は、属性名「属性1」、「属性2」の属性で属性データが入れ替わっており、リストの関係がある。抽出部41は、レコード81、83をリストの関係があるレコードのデータとして抽出データ31に格納する。
また、抽出部41は、対象データ30の各レコードの間で属性データの比較を行って属性間に階層の関係があるか判定に用いる情報を抽出する。例えば、抽出部41は、対象データ30の各レコードについて、属性ごとに、同じ属性データを1種類として、対象データ30の各レコードの格納される属性データの種類数を抽出する。
図4Dは、階層の関係があるレコードの属性ごとの属性データの種類数の抽出の一例を示す図である。図4Dに示す対象データ30には、属性名「カテゴリ1」、「カテゴリ2」、「カテゴリ3」、「カテゴリ4」、「カテゴリ5」の各属性が設けられており、5つのレコード91〜95が格納されている。レコード91は、属性名「カテゴリ1」の属性データが「あああ」、属性名「カテゴリ2」の属性データが「かかか」、属性名「カテゴリ3」の属性データが「さささ」、属性名「カテゴリ4」の属性データが「たたた」、属性名「カテゴリ5」の属性データが「ななな」とされている。レコード92は、属性名「カテゴリ1」の属性データが「あああ」、属性名「カテゴリ2」の属性データが「かかか」、属性名「カテゴリ3」の属性データが「さささ」、属性名「カテゴリ4」の属性データが「ちちち」、属性名「カテゴリ5」の属性データが「ににに」とされている。レコード93は、属性名「カテゴリ1」の属性データが「あああ」、属性名「カテゴリ2」の属性データが「ききき」、属性名「カテゴリ3」の属性データが「ししし」、属性名「カテゴリ4」の属性データが「つつつ」、属性名「カテゴリ5」の属性データが「ぬぬぬ」とされている。レコード94は、属性名「カテゴリ1」の属性データが「いいい」、属性名「カテゴリ2」の属性データが「くくく」、属性名「カテゴリ3」の属性データが「すすす」、属性名「カテゴリ4」の属性データが「ててて」、属性名「カテゴリ5」の属性データが空白とされている。レコード95は、属性名「カテゴリ1」の属性データが「いいい」、属性名「カテゴリ2」の属性データが「くくく」、属性名「カテゴリ3」の属性データが「すすす」、属性名「カテゴリ4」の属性データが「ととと」、属性名「カテゴリ5」の属性データが空白とされている。
対象データ30での属性の並び順に属性間に階層の関係がある場合、各属性の属性データの種類数は、対象データ30での並び順でそれぞれ1つ前に出現する属性の属性データの種類数以上となる。すなわち、対象データ30での属性の並び順に属性間に階層の関係がある場合、各属性の属性データの種類数は、対象データ30での並び順でそれぞれ1つ前に出現する属性より属性データの種類数が減少しない。例えば、レコード91〜93では、属性名「カテゴリ1」の属性は、属性データの種類が1種類である。属性名「カテゴリ2」の属性は、属性データの種類が2種類である。属性名「カテゴリ3」の属性は、属性データの種類が2種類である。属性名「カテゴリ4」の属性は、属性データの種類が3種類である。属性名「カテゴリ5」の属性は、属性データの種類が3種類である。よって、対象データ30での属性の並び順に、属性間に階層の関係がある場合、各属性の属性データの種類数は、対象データ30での属性の並び順に単調非減少となる。
一方、階層の関係がある属性の属性データに空白(Null)が認められている場合、各属性の属性データの種類数は、対象データ30での並び順でそれぞれ1つ前に出現する属性の属性データの種類数から減少する場合がある。例えば、レコード91〜95では、属性名「カテゴリ4」の属性は、属性データの種類が5種類であるが、属性名「カテゴリ5」の属性は、属性データの種類が3種類である。
そこで、階層の関係がある属性の属性データに空白が認められている場合、抽出部41は、次のように属性の属性データの種類数をカウントする。まず、抽出部41は、属性データの種類数を抽出する対象範囲とする属性を対象データ30での並び順に1つずつ追加する。そして、抽出部41は、対象範囲ごとに、対象範囲の何れかの属性で属性データが格納されていないレコードを除いて、対象範囲に含まれる属性ごとに、対象データ30の各レコードの格納される属性データの種類数を抽出する。
図4Dの例に属性データの種類数を抽出する流れを説明する。まず、抽出部41は、属性名「カテゴリ1」および「カテゴリ2」の属性を対象範囲する。そして、抽出部41は、属性名「カテゴリ1」および「カテゴリ2」の属性で属性データが格納されていないレコードを除いて、属性名「カテゴリ1」および「カテゴリ2」の属性ごとに、属性データの種類数を抽出する。図4Dの例では、属性名「カテゴリ1」および「カテゴリ2」の属性で属性データが格納されていないレコードは無い。このため、属性名「カテゴリ1」の属性は、属性データの種類数が2種類と求まる。属性名「カテゴリ2」の属性は、属性データの種類数が3種類と求まる。
次に、抽出部41は、属性名「カテゴリ1」〜「カテゴリ3」の属性を対象範囲する。そして、抽出部41は、属性名「カテゴリ1」〜「カテゴリ3」の属性で属性データが格納されていないレコードを除いて、属性名「カテゴリ1」〜「カテゴリ3」の属性ごとに、属性データの種類数を抽出する。図4Dの例では、属性名「カテゴリ1」〜「カテゴリ3」の属性で属性データが格納されていないレコードは無い。このため、属性名「カテゴリ1」の属性は、属性データの種類数が2種類と求まる。属性名「カテゴリ2」の属性は、属性データの種類数が3種類と求まる。属性名「カテゴリ3」の属性は、属性データの種類数が3種類と求まる。
次に、抽出部41は、属性名「カテゴリ1」〜「カテゴリ4」の属性を対象範囲する。そして、抽出部41は、属性名「カテゴリ1」〜「カテゴリ4」の属性で属性データが格納されていないレコードを除いて、属性名「カテゴリ1」〜「カテゴリ4」の属性ごとに、属性データの種類数を抽出する。図4Dの例では、属性名「カテゴリ1」〜「カテゴリ4」の属性で属性データが格納されていないレコードは無い。このため、属性名「カテゴリ1」の属性は、属性データの種類数が2種類と求まる。属性名「カテゴリ2」の属性は、属性データの種類数が3種類と求まる。属性名「カテゴリ3」の属性は、属性データの種類数が3種類と求まる。属性名「カテゴリ4」の属性は、属性データの種類数が5種類と求まる。
次に、抽出部41は、属性名「カテゴリ1」〜「カテゴリ5」の属性を対象範囲する。そして、抽出部41は、属性名「カテゴリ1」〜「カテゴリ5」の属性で属性データが格納されていないレコードを除いて、属性名「カテゴリ1」〜「カテゴリ5」の属性ごとに、属性データの種類数を抽出する。図4Dの例では、レコード94、95は、属性名「カテゴリ5」の属性で属性データが格納されていないため、レコード91〜93から属性ごとに属性データの種類数が求められる。この場合、属性名「カテゴリ1」の属性は、属性データの種類数が1種類と求まる。属性名「カテゴリ2」の属性は、属性データの種類数が2種類と求まる。属性名「カテゴリ3」の属性は、属性データの種類数が2種類と求まる。属性名「カテゴリ4」の属性は、属性データの種類数が3種類と求まる。属性名「カテゴリ5」の属性は、属性データの種類数が3種類と求まる。
このように、抽出部41は、対象データ30から各レコード間の属性データの一致関係から集合、同値、階層、リストの関係があるレコードのデータを抽出する。なお、対象データ30から集合、同値、階層、リストのレコードがそれぞれ抽出されてもよい。対象データ30が属性間に各種の意味関係があるレコードが混在する場合、対象データ30から集合、同値、階層、リストのレコードが抽出される。また、1つのレコードが複数の意味関係で抽出されてもよい。
出力部42は、各種の出力を行う。例えば、出力部42は、抽出部41による抽出結果に基づき、属性間の意味関係の判定結果を出力する。出力部42は、表示部21に判定結果画面を表示させ、属性間の意味関係の判定結果を表示する。例えば、出力部42は、抽出部41により属性間に集合の関係があるレコードが抽出された場合、属性間に集合の意味関係があるとの判定結果を出力する。また、出力部42は、抽出部41により属性間にリストの関係があるレコードが抽出された場合、属性間にリストの意味関係があるとの判定結果を出力する。また、出力部42は、抽出部41により抽出された何れの対象範囲においても、属性の並び順に、属性ごとの属性データの種類数が単調非減少である場合、属性間に階層の意味関係があるとの判定結果を出力する。また、出力部42は、抽出部41により属性間に同値の関係があるレコードが抽出された場合、属性間に同値の意味関係があるとの判定結果を出力する。ここで、本実施例では、抽出部41は、同値の関係がない反例のレコードを抽出する。このため、本実施例では、出力部42は、抽出部41により反例のレコードを抽出されない場合、属性間に同値の意味関係があるとの判定結果を出力する。
また、出力部42は、抽出部41により抽出されたレコードのデータを判定の根拠として出力する。
図5は、判定結果画面の一例を示す図である。判定結果画面100は、属性間の意味構造の判定結果を表示する表示領域101〜105を有する。
表示領域101は、対象データ30の属性間に階層の関係があるかの判定結果を表示する領域である。出力部42は、抽出部41により属性間に階層の関係があるレコードが抽出された場合、表示領域101に「yes」を表示させ、階層の関係があるレコードが抽出されない場合、表示領域101に「no」を表示させる。
表示領域102は、対象データ30の属性間に集合の関係があるかの判定結果を表示する領域である。出力部42は、抽出部41により属性間に集合の関係があるレコードが抽出された場合、表示領域102に「yes」を表示させ、集合の関係があるレコードが抽出されない場合、表示領域102に「no」を表示させる。
表示領域103は、対象データ30の属性間にリストの関係があるかの判定結果を表示する領域である。出力部42は、抽出部41により属性間にリストの関係があるレコードが抽出された場合、表示領域103に「yes」を表示させ、リストの関係があるレコードが抽出されない場合、表示領域103に「no」を表示させる。
表示領域105は、対象データ30の属性間に同値の関係があるかの判定結果を表示する領域である。出力部42は、抽出部41により属性間に同値の関係があるレコードが抽出された場合、表示領域105に「yes」を表示させ、同値の関係があるレコードが抽出されない場合、表示領域105に「no」を表示させる。ここで、本実施例では、抽出部41は、同値の関係がない反例のレコードを抽出する。このため、本実施例では、出力部42は、抽出部41により反例のレコードを抽出されない場合、表示領域105に「yes」を表示させ、反例のレコードが抽出された場合、表示領域105に「no」を表示させる。
表示領域104は、対象データ30の属性間が無関係であるかの判定結果を表示する領域である。出力部42は、階層、集合、リスト、同値の何れについても関係のデータが抽出されない場合、表示領域104に「yes」を表示させ、何れかの関係のデータが抽出された場合、表示領域104に「no」を表示させる。
判定結果画面100は、属性間の意味構造の判定の根拠となるデータの表示を指示するボタン111〜114を有する。
出力部42は、ボタン111が選択された場合、対象範囲ごとに、属性ごとの属性データの種類数を出力する。図5の例では、2つの属性を対象範囲とした場合、属性1での属性データの種類数が18と表示され、属性2での属性データの種類数が41と表示されている。また、図5の例では、3つの属性を対象範囲とした場合、属性1での属性データの種類数が12と表示され、属性2での属性データの種類数が34と表示され、属性3での属性データの種類数が53と表示されている。
出力部42は、ボタン112が選択された場合、抽出部41により抽出された属性間に集合の関係があるレコードを出力する。図5の例では、属性間に集合の関係があるレコードが表示されている。出力部42は、ボタン113が選択された場合、抽出部41により抽出された属性間にリストの関係があるレコードを出力する。図5の例では、属性間にリストの関係があるレコードが表示されている。出力部42は、ボタン114が選択された場合、抽出部41により抽出された属性間に同値の関係があるレコードを出力する。ここで、本実施例では、抽出部41は、同値の関係がない反例のレコードを抽出する。このため、本実施例では、出力部42は、ボタン114が選択された場合、反例のレコードが表示されている。
ユーザは、判定結果画面100の表示領域101〜105や、属性間の意味構造の判定の根拠となるデータを確認することで、対象データ30の属性間の意味関係を推定する。情報処理装置10は、属性間の意味構造の判定結果を表示した判定結果画面100を表示することにより、ユーザによる属性間の意味関係の推定を支援できる。
[処理の流れ]
実施例1に係る情報処理装置10が対象データ30の属性間の意味関係を推定する関係推定処理の流れについて説明する。図6Aは、関係推定処理の手順の一例を示すフローチャートである。この関係推定処理は、所定のタイミング、例えば、入力部22から意味関係の推定開始を指示する処理の操作を受け付けたタイミングで実行される。
図6Aに示すように、抽出部41は、対象データ30から属性間に集合の関係があるレコードを抽出する集合関係抽出処理を実行する(S10)。集合関係抽出処理の詳細は、後述する。次に、抽出部41は、対象データ30から属性間にリストの関係があるレコードを抽出するリスト関係抽出処理を実行する(S11)。リスト関係抽出処理の詳細は、後述する。次に、抽出部41は、属性間に同値の関係がない反例のレコードを抽出する反例抽出処理を実行する(S12)。反例抽出処理の詳細は、後述する。次に、抽出部41は、属性データの種類数を抽出する種類数抽出処理を実行する(S13)。種類数抽出処理の詳細は、後述する。
出力部42は、抽出部41による抽出結果に基づき、属性間の意味関係の判定結果を出力する出力処理を実行し(S14)、処理を終了する。出力処理の詳細は、後述する。
次に、集合関係抽出処理の詳細を説明する。図6Bは、集合関係抽出処理の手順の一例を示すフローチャートである。この集合関係抽出処理は、図6A示した関係推定処理のS10から実行される。
図6Bに示すように、抽出部41は、属性間に集合の関係があるレコードを格納する領域Xsetを空に初期化する(S20)。抽出部41は、変数iを0に初期化する(S21)。本実施例では、対象データ30のレコード数をNとした場合、各レコードに0〜N−1の番号を対応付ける。変数iの値は、比較を行う第1のレコードの番号を示す。
抽出部41は、変数iの値がN−1より小さいか否かを判定する(S22)。変数iの値がN−1より小さくない場合(S22否定)、抽出部41は、領域Xsetを記憶部23に格納し(S23)、図6Aに示した関係推定処理のS11へ移行する。
一方、変数iの値がN−1より小さい場合(S22肯定)、抽出部41は、変数jに変数i+1の値をセットする(S24)。この変数jの値は、比較を行う第2のレコードの番号を示す。
抽出部41は、変数jの値がNより小さいか否かを判定する(S25)。変数jの値がNより小さくない場合(S25否定)、抽出部41は、変数iの値を1加算し(S26)、上述のS22へ移行する。
一方、変数jの値がNより小さい場合(S25肯定)、抽出部41は、変数i番目の第1のレコードと、変数j番目の第2のレコードとの間で属性データの比較を行って属性間に集合の関係があるか判定する(S27)。例えば、抽出部41は、第1のレコードの第1の属性の属性データが第2のレコードの第1の属性とは異なる第2の属性の属性データと一致し、第1のレコードの第2の属性の属性データが第2のレコードの第1の属性とは一致しないか判定する。例えば、i番目のレコードのm番目の属性の属性データをV(i,m)と表記する。また、j番目のレコードのn番目の属性の属性データをV(j,n)と表記する。また、i番目のレコードのn番目の属性の属性データをV(i,n)と表記する。また、j番目のレコードのm番目の属性の属性データをV(j,m)と表記する。抽出部41は、V(i,m)=V(j,n)≠Null、かつ、V(i,n)≠V(j,m)、かつ、m≠nを満たすm、nが存在するか否かを判定する。
属性間に集合の関係がある場合(S27肯定)、抽出部41は、第1のレコードと第2のレコードを対応付けて領域Xsetに格納する(S28)。抽出部41は、変数jの値を1加算し(S29)、上述のS25へ移行する。
一方、属性間に集合の関係がない場合(S27否定)、上述のS29へ移行する。
次に、リスト関係抽出処理の詳細を説明する。図6Cは、リスト関係抽出処理の手順の一例を示すフローチャートである。このリスト関係抽出処理は、図6A示した関係推定処理のS11から実行される。
図6Cに示すように、抽出部41は、属性間にリストの関係があるレコードを格納する領域Xlistを空に初期化する(S30)。抽出部41は、変数iを0に初期化する(S31)。この変数iの値は、比較を行う第1のレコードの番号を示す。
抽出部41は、変数iの値がN−1より小さいか否かを判定する(S32)。変数iの値がN−1より小さくない場合(S32否定)、抽出部41は、領域Xlistを記憶部23に格納し(S33)、図6Aに示した関係推定処理のS12へ移行する。
一方、変数iの値がN−1より小さい場合(S32肯定)、抽出部41は、変数jに変数i+1の値をセットする(S34)。この変数jの値は、比較を行う第2のレコードの番号を示す。
抽出部41は、変数jの値がNより小さいか否かを判定する(S35)。変数jの値がNより小さくない場合(S35否定)、抽出部41は、変数iの値を1加算し(S36)、上述のS32へ移行する。
一方、変数jの値がNより小さい場合(S35肯定)、抽出部41は、変数i番目の第1のレコードと、変数j番目の第2のレコードとの間で属性データの比較を行って属性間にリストの関係があるか判定する(S37)。例えば、抽出部41は、第1のレコードと第2のレコードの間の2以上の属性で属性データが入れ替わっているか判定する。例えば、抽出部41は、V(i,m)=V(j,n)≠Null、かつ、V(i,n)=V(j,m)、かつ、m≠nを満たすm、nが存在するか否かを判定する。
属性間にリストの関係がある場合(S37肯定)、抽出部41は、第1のレコードと第2のレコードを対応付けて領域Xlistに格納する(S38)。抽出部41は、変数jの値を1加算し(S39)、上述のS35へ移行する。
一方、属性間に集合の関係がない場合(S37否定)、上述のS39へ移行する。
次に、反例抽出処理の詳細を説明する。図6Dは、反例抽出処理の手順の一例を示すフローチャートである。この反例抽出処理は、図6A示した関係推定処理のS12から実行される。
図6Dに示すように、抽出部41は、属性間に同値の関係がない反例のレコードを格納する領域Xeqを空に初期化する(S40)。抽出部41は、変数iを0に初期化する(S41)。この変数iの値は、比較を行う第1のレコードの番号を示す。
抽出部41は、変数iの値がN−1より小さいか否かを判定する(S42)。変数iの値がN−1より小さくない場合(S42否定)、抽出部41は、領域Xeqを記憶部23に格納し(S43)、図6Aに示した関係推定処理のS13へ移行する。
一方、変数iの値がN−1より小さい場合(S42肯定)、抽出部41は、変数jに変数i+1の値をセットする(S44)。この変数jの値は、比較を行う第2のレコードの番号を示す。
抽出部41は、変数jの値がNより小さいか否かを判定する(S45)。変数jの値がNより小さくない場合(S45否定)、抽出部41は、変数iの値を1加算し(S46)、上述のS42へ移行する。
一方、変数jの値がNより小さい場合(S45肯定)、抽出部41は、変数i番目の第1のレコードと、変数j番目の第2のレコードとの間で属性データの比較を行って属性間が同値の関係を満たさない反例の関係であるか判定する(S47)。例えば、抽出部41は、第1のレコードと第2のレコードの間で、各属性の属性データの一部が一致し、他の一部が不一致であるか判定する。例えば、抽出部41は、V(i,m)=V(j,m)≠Null、かつ、V(i,n)≠V(j,n)、かつ、m≠nを満たすm、nが存在するか否かを判定する。
属性間が反例の関係である場合(S47肯定)、抽出部41は、第1のレコードと第2のレコードを対応付けて領域Xeqに格納する(S48)。抽出部41は、変数jの値を1加算し(S49)、上述のS45へ移行する。
一方、属性間が反例の関係ではない場合(S47否定)、上述のS49へ移行する。
次に、種類数抽出処理の詳細を説明する。図6Eは、種類数抽出処理の手順の一例を示すフローチャートである。この種類数抽出処理は、図6A示した関係推定処理のS13から実行される。
図6Eに示すように、抽出部41は、変数aを2に初期化する(S50)。この変数aの値は、対象範囲とする属性数を示す。本実施例では、対象データ30の全属性数をMとする。
抽出部41は、変数aの値がM以下であるか否かを判定する(S51)。変数aの値がM以下ではない場合(S51否定)、抽出部41は、属性データの種類数を記憶する領域Xを記憶部23に格納し(S52)、図6Aに示した関係推定処理のS14へ移行する。
一方、変数aの値がM以下の場合(S51肯定)、抽出部41は、変数jを0に初期化する(S53)。この変数jの値は、属性データの種類をカウントする範囲の下限とするレコードの番号を示す。
抽出部41は、変数jの値が対象データ30のレコード数Nより小さいか否かを判定する(S54)。変数jの値がNより小さくない場合(S54否定)、抽出部41は、変数aの値を1加算し(S55)、上述のS51へ移行する。
一方、変数jの値がNより小さい場合(S54肯定)、抽出部41は、k=0〜a−1について領域X(a,k)を空に初期化する(S56)。抽出部41は、変数j番目までのレコードにおいて、属性の並び順に変数aまでの範囲の属性に空白(NULL)の属性データがあるか否かを判定する(S57)。例えば、j番目のレコードのl番目の属性の属性データをV(j,l)と表記する。抽出部41は、V(j,l)=Null、かつ、l<aを満たす属性データが存在するか否かを判定する。
空白の属性データがない場合(S57否定)、抽出部41は、属性の並び順に変数aまでの属性について、属性ごとに、対象データ30の変数j番目までのレコードに格納される属性データの種類数をカウントする(S58)。抽出部41は、変数aまでの範囲の各属性の属性データの種類数を記憶する(S59)。例えば、抽出部41は、並び順に変数aまでの属性の範囲で、k=0〜a−1の各属性の属性データの種類数を領域X(a,k)に記憶させる。これにより、領域X(a,k)には、並び順に変数aまでの属性の範囲での並び順にk番目の属性での属性データの種類数が記憶される。抽出部41は、変数jの値を1加算し(S60)、上述のS54へ移行する。
一方、空白の属性データがある場合(S57肯定)、上述のS60へ移行する。
次に、出力処理の詳細を説明する。図6Fは、出力処理の手順の一例を示すフローチャートである。この出力処理は、図6A示した関係推定処理のS14から実行される。
図6Fに示すように、出力部42は、抽出部41により属性間に集合の関係があるレコードが抽出されたか否かを判定する(S100)。例えば、出力部42は、領域Xsetにレコードが格納されているか否かにより、集合の関係があるレコードが抽出されたか否かを判定する。集合の関係があるレコードが抽出された場合(S100肯定)、出力部42は、集合の関係の有無を示すフラグZsetにtrueをセットする(S101)。一方、集合の関係があるレコードを抽出されていない場合(S100否定)、出力部42は、フラグZsetにfalseをセットする(S102)。
出力部42は、抽出部41により属性間にリストの関係があるレコードが抽出されたか否かを判定する(S103)。例えば、出力部42は、領域Xlistにレコードが格納されているか否かにより、リストの関係があるレコードが抽出されたか否かを判定する。リストの関係があるレコードが抽出された場合(S103肯定)、出力部42は、リストの関係の有無を示すフラグZlistにtrueをセットする(S104)。一方、リストの関係があるレコードを抽出されていない場合(S103否定)、出力部42は、フラグZlistにfalseをセットする(S105)。
出力部42は、抽出部41により属性間に同値の関係がない反例のレコードが抽出されたか否かを判定する(S106)。例えば、出力部42は、領域Xeqにレコードが格納されているか否かにより、反例のレコードが抽出されたか否かを判定する。反例のレコードが抽出された場合(S106肯定)、出力部42は、同値の関係の有無を示すフラグZeqにfalseをセットする(S107)。一方、反例のレコードを抽出されていない場合(S106否定)、出力部42は、フラグZeqにtrueをセットする(S108)。ここで、本実施例では、同値の関係がない反例のレコードを抽出しているため、反例のレコードが抽出されない場合、属性間に同値の関係があるものと判定している。
出力部42は、変数aを2に初期化する(S109)。この変数aの値は、対象範囲とする属性数を示す。出力部42は、変数aの値がM以下であるか否かを判定する(S110)。変数aの値がM以下である場合(S110肯定)、出力部42は、抽出部41により抽出された、属性の並び順に変数aまでの属性について、属性ごとに、属性データの種類数が単調非減少であるか判定する(S111)。例えば、出力部42は、k=0〜a−1について、X(a,k)≦X(a,k+1)が何れも成り立つか否かにより、単調非減少であるか判定する。単調非減少である場合(S111肯定)、出力部42は、変数aの値を1加算し(S112)、上述のS110へ移行する。一方、単調非減少ではない場合(S111否定)、属性間に階層の関係がないため、出力部42は、階層の関係の有無を示すフラグZhにfalseをセットする(S113)。一方、変数aの値がM以下ではない場合(S110否定)、変数aの値がMとなる全ての対象範囲で属性データの種類数が単調非減少であり、属性間に階層の関係があるため、出力部42は、フラグZhにtrueをセットする(S114)。
出力部42は、フラグZset、Zlist、Zeq、Zhが全てfalseであるか判定する(S115)。全てfalseである場合(S115肯定)、出力部42は、属性間が無関係であるか否かを示すフラグZnoにtrueをセットする(S116)。一方、全てfalseではない場合(S115否定)、出力部42は、フラグZnoにfalseをセットする(S117)。
出力部42は、判定結果画面100を表示させ、フラグZset、Zlist、Zeq、Zh、フラグZnoに基づいて、属性間の意味構造の判定結果を出力する(S118)。
[効果]
上述してきたように、情報処理装置10は、対象データ30から各レコード間の属性データの一致関係が所定の条件を満たす事象のデータを抽出する。情報処理装置10は、抽出結果に基づき、属性間の意味関係の判定結果を出力する。これにより、情報処理装置10は、ユーザによる属性間の意味関係の推定を支援できる。
また、情報処理装置10は、対象データ30から各レコード間で属性データが一致し、属性データが一致する属性の順番が所定の条件を満たすレコードを抽出する。これにより、情報処理装置10は、属性間の意味関係があるレコードを抽出できる。
また、情報処理装置10は、第1のレコードの第1の属性の属性データが第2のレコードの第1の属性とは異なる第2の属性の属性データと一致し、第1のレコードの第2の属性の属性データが第2のレコードの第1の属性とは一致しない第1および第2のレコードを抽出する。情報処理装置10は、レコードが抽出された場合、属性間の意味関係が集合との判定結果を出力する。これにより、情報処理装置10は、対象データ30の属性間に集合の関係があることをユーザに知らせることができる。
また、情報処理装置10は、各レコード間の2以上の属性で属性データが入れ替わるレコードを抽出する。情報処理装置10は、レコードが抽出された場合、属性間の意味関係がリストとの判定結果を出力する。これにより、情報処理装置10は、対象データ30の属性間にリストの関係があることをユーザに知らせることができる。
また、情報処理装置10は、属性ごとに、同じ属性データを1種類として、各レコードの格納される属性データの種類数を抽出する。情報処理装置10は、対象データ30での属性の並び順に、属性ごとの属性データの種類数が単調非減少である場合、属性間の意味関係が階層との判定結果を出力する。これにより、情報処理装置10は、対象データ30の属性間に階層の関係があることをユーザに知らせることができる。
また、情報処理装置10は、各レコード間で各属性の属性データが全て同じとなるレコードを抽出する。情報処理装置10は、各レコード間で各属性の属性データが全て同じとなるレコードが抽出された場合、当該各属性の意味関係が同値との判定結果を出力する。これにより、情報処理装置10は、対象データ30の属性間に同値の関係があることをユーザに知らせることができる。
また、情報処理装置10は、各レコード間で各属性の属性データの一部が一致し、他の一部が不一致となるレコードを抽出する。情報処理装置10は、各レコード間で各属性の属性データの一部が一致し、他の一部が不一致となるレコードが抽出されない場合、各属性の意味関係が同値との判定結果を出力する。これにより、情報処理装置10は、対象データ30の属性間に同値の関係があることをユーザに知らせることができる。また、情報処理装置10は、対象データ30の属性間に同値の関係がある場合、レコードが多量に抽出されて根拠の判別がし難くなることを抑制できる。
また、情報処理装置10は、抽出されたレコードを判定の根拠として出力する。これにより、情報処理装置10は、出力されたレコードから、ユーザによる対象データ30の属性間の関係の推定結果の妥当性の検討を支援できる。
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、以下では、本発明に含まれる他の実施例を説明する。
例えば、上記の実施例では、対象データ30の全ての属性について関係の推定を行う場合について説明したが、開示の装置はこれに限定されない。例えば、対象データ30の属性のうち、推定対象の属性についてのみ属性間の関係の推定を行ってもよい。抽出部41は、推定対象の属性についてのみ属性間に集合、同値、階層、リストの関係があるレコードのデータを抽出してもよい。推定対象の属性は、ユーザから指定させてもよい。例えば、受付部40が、対象データ30の全ての属性の属性名を表示した画面を表示部21に表示させて、入力部22から、推定対象の属性の選択を受け付けてもよい。また、所定の関係がある属性を推定対象の属性としてもよい。関連がある属性は、属性名に同一の名称部分を含む場合がある。例えば、関連がある属性は、属性名が同一の名称部分と連番の組み合わせとされる場合がある。例えば、図4A〜図4Cでは、属性名が「属性」と同一の名称部分と連番の組み合わせとされている。また、図4Dでは、属性名が「カテゴリ」と同一の名称部分と連番の組み合わせとされている。なお、連番は、「第1属性」、「第2属性」などと同一の名称部分の前にあってもよい。抽出部41は、属性名が同一の名称部分と連番の組み合わせとされた属性を推定対象の属性として、推定対象の属性ごとに、推定対象の属性に集合、同値、階層、リストの関係があるレコードのデータを抽出してもよい。例えば、対象データ30に属性名が「第1属性」、「第2属性」、「カテゴリ1」、「カテゴリ2」の属性がある場合、抽出部41は、属性名が「第1属性」、「第2属性」の属性の間に集合、同値、階層、リストの関係があるレコードのデータを抽出する。抽出部41は、属性名が「カテゴリ1」、「カテゴリ2」の属性の間に集合、同値、階層、リストの関係があるレコードのデータを抽出する。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、受付部40、抽出部41および出力部42の各処理部が適宜統合、適宜複数の処理部の処理に分離されてもよい。さらに、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[関係推定プログラム]
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図7は、関係推定プログラムを実行するコンピュータの一例を示す図である。
図7に示すように、コンピュータ300は、CPU(Central Processing Unit)310、HDD(Hard Disk Drive)320、RAM(Random Access Memory)340を有する。これら300〜340の各部は、バス400を介して接続される。
HDD320には上記の受付部40、抽出部41および出力部42と同様の機能を発揮する関係推定プログラム320Aが予め記憶される。なお、関係推定プログラム320Aについては、適宜分離しても良い。
また、HDD320は、各種情報を記憶する。例えば、HDD320は、OSや各種の処理に用いる各種データを記憶する。
そして、CPU310が、関係推定プログラム320AをHDD320から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、関係推定プログラム320Aは、受付部40、抽出部41および出力部42と同様の動作を実行する。
なお、上記した関係推定プログラム320Aは、必ずしも最初からHDD320に記憶させることを要しない。また、例えば、関係推定プログラム320Aは、コンピュータ300に挿入されるCD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させてもよい。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
10 情報処理装置
21 表示部
22 入力部
23 記憶部
24 制御部
30 対象データ
30A ヘッダ
31 抽出データ
40 受付部
41 抽出部
42 出力部
100 判定結果画面

Claims (4)

  1. 複数の事象について、属性ごとに、当該属性に関する属性データが対応付けて格納されたデータ群から各事象間の属性データの一致関係が、第1の事象の第1の属性の属性データが第2の事象の前記第1の属性とは異なる第2の属性の属性データと一致し、前記第1の事象の前記第2の属性の属性データが前記第2の事象の前記第1の属性とは一致しない集合の条件、各事象間の2以上の属性で属性データが入れ替わるリストの条件、および、属性ごとに同じ属性データを1種類として各事象の格納される属性データの種類数を抽出した際に前記データ群の属性の並び順に属性ごとの属性データの種類数が単調非減少となる階層の条件の何れかの条件を満たす事象のデータを抽出し、
    抽出結果に基づき、属性間の意味関係の判定結果を出力する
    処理をコンピュータが実行することを特徴とする関係推定方法。
  2. 前記出力する処理は、抽出された事象のデータを判定の根拠として出力する
    ことを特徴とする請求項1に記載の関係推定方法。
  3. 複数の事象について、属性ごとに、当該属性に関する属性データが対応付けて格納されたデータ群から各事象間の属性データの一致関係が、第1の事象の第1の属性の属性データが第2の事象の前記第1の属性とは異なる第2の属性の属性データと一致し、前記第1の事象の前記第2の属性の属性データが前記第2の事象の前記第1の属性とは一致しない集合の条件、各事象間の2以上の属性で属性データが入れ替わるリストの条件、および、属性ごとに同じ属性データを1種類として各事象の格納される属性データの種類数を抽出した際に前記データ群の属性の並び順に属性ごとの属性データの種類数が単調非減少となる階層の条件の何れかの条件を満たす事象のデータを抽出し、
    抽出結果に基づき、属性間の意味関係の判定結果を出力する
    処理をコンピュータに実行させることを特徴とする関係推定プログラム。
  4. 複数の事象について、属性ごとに、当該属性に関する属性データが対応付けて格納されたデータ群から各事象間の属性データの一致関係が、第1の事象の第1の属性の属性データが第2の事象の前記第1の属性とは異なる第2の属性の属性データと一致し、前記第1の事象の前記第2の属性の属性データが前記第2の事象の前記第1の属性とは一致しない集合の条件、各事象間の2以上の属性で属性データが入れ替わるリストの条件、および、属性ごとに同じ属性データを1種類として各事象の格納される属性データの種類数を抽出した際に前記データ群の属性の並び順に属性ごとの属性データの種類数が単調非減少となる階層の条件の何れかの条件を満たす事象のデータを抽出する抽出部と、
    前記抽出部による抽出結果に基づき、属性間の意味関係の判定結果を出力する出力部と、
    を有することを特徴とする情報処理装置。
JP2015052617A 2015-03-16 2015-03-16 関係推定方法、関係推定プログラムおよび情報処理装置 Expired - Fee Related JP6578685B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015052617A JP6578685B2 (ja) 2015-03-16 2015-03-16 関係推定方法、関係推定プログラムおよび情報処理装置
US15/063,899 US20160275181A1 (en) 2015-03-16 2016-03-08 Method of relation estimation and information processing apparatus
CN201610144750.5A CN105989189A (zh) 2015-03-16 2016-03-14 关系推定方法、关系推定程序以及信息处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015052617A JP6578685B2 (ja) 2015-03-16 2015-03-16 関係推定方法、関係推定プログラムおよび情報処理装置

Publications (2)

Publication Number Publication Date
JP2016173678A JP2016173678A (ja) 2016-09-29
JP6578685B2 true JP6578685B2 (ja) 2019-09-25

Family

ID=56925386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015052617A Expired - Fee Related JP6578685B2 (ja) 2015-03-16 2015-03-16 関係推定方法、関係推定プログラムおよび情報処理装置

Country Status (3)

Country Link
US (1) US20160275181A1 (ja)
JP (1) JP6578685B2 (ja)
CN (1) CN105989189A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110377694A (zh) * 2019-06-06 2019-10-25 北京百度网讯科技有限公司 标注文本对逻辑关系的方法、装置、设备和计算机存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06176076A (ja) * 1992-12-08 1994-06-24 Toshiba Corp データ処理装置
JP3379179B2 (ja) * 1993-11-30 2003-02-17 凸版印刷株式会社 概念的データの構造化方法および装置
US6725227B1 (en) * 1998-10-02 2004-04-20 Nec Corporation Advanced web bookmark database system
US6654734B1 (en) * 2000-08-30 2003-11-25 International Business Machines Corporation System and method for query processing and optimization for XML repositories
WO2009017158A1 (ja) * 2007-08-01 2009-02-05 Nec Corporation 変換プログラム探索システムおよび変換プログラム探索方法
US8301633B2 (en) * 2007-10-01 2012-10-30 Palo Alto Research Center Incorporated System and method for semantic search
DE112010000947T5 (de) * 2009-03-02 2012-06-14 Borys Evgenijovich Panchenko Verfahren zur völlig modifizierbaren Framework-Datenverteilung im Data-Warehouse unter Berücksichtigung der vorläufigen etymologischen Separation der genannten Daten
JP4890585B2 (ja) * 2009-04-30 2012-03-07 沖電気工業株式会社 対話制御システム及びプログラム、並びに、多次元オントロジー処理システム及びプログラム
US8880537B2 (en) * 2009-10-19 2014-11-04 Gil Fuchs System and method for use of semantic understanding in storage, searching and providing of data or other content information
JP5505234B2 (ja) * 2010-09-29 2014-05-28 富士通株式会社 文字列比較プログラム、文字列比較装置及び文字列比較方法
US8489650B2 (en) * 2011-01-05 2013-07-16 Beijing Uniwtech Co., Ltd. System, implementation, application, and query language for a tetrahedral data model for unstructured data
JP5526057B2 (ja) * 2011-02-28 2014-06-18 株式会社東芝 データ分析支援装置およびプログラム
US9552334B1 (en) * 2011-05-10 2017-01-24 Myplanit Inc. Geotemporal web and mobile service system and methods
US8856129B2 (en) * 2011-09-20 2014-10-07 Microsoft Corporation Flexible and scalable structured web data extraction
US9081834B2 (en) * 2011-10-05 2015-07-14 Cumulus Systems Incorporated Process for gathering and special data structure for storing performance metric data
US20130091266A1 (en) * 2011-10-05 2013-04-11 Ajit Bhave System for organizing and fast searching of massive amounts of data
US9081829B2 (en) * 2011-10-05 2015-07-14 Cumulus Systems Incorporated System for organizing and fast searching of massive amounts of data
US8914419B2 (en) * 2012-10-30 2014-12-16 International Business Machines Corporation Extracting semantic relationships from table structures in electronic documents
US9495395B2 (en) * 2013-04-11 2016-11-15 Oracle International Corporation Predictive diagnosis of SLA violations in cloud services by seasonal trending and forecasting with thread intensity analytics
US20150039623A1 (en) * 2013-07-30 2015-02-05 Yogesh Pandit System and method for integrating data
US9681145B2 (en) * 2013-10-14 2017-06-13 Qualcomm Incorporated Systems and methods for inter-layer RPS derivation based on sub-layer reference prediction dependency

Also Published As

Publication number Publication date
CN105989189A (zh) 2016-10-05
US20160275181A1 (en) 2016-09-22
JP2016173678A (ja) 2016-09-29

Similar Documents

Publication Publication Date Title
US7974992B2 (en) Segmentation model user interface
EP3168795A1 (en) Method and apparatus for evaluating relevance of keyword to asset price
US20110181522A1 (en) Onscreen keyboard assistance method and system
CN109558538B (zh) 输入联想词的构建方法、装置、存储介质及电子设备
EP1547000A4 (en) METHOD AND APPARATUS FOR PROVIDING PRICE UPDATES
US9952838B2 (en) Methods, systems, and computer readable media for generating a visual overlay
JP2018536937A (ja) プッシュ情報粗選択ソーティングの方法、デバイス、およびコンピュータ記憶媒体
WO2017048296A1 (en) Determining output presentation type
JP5717921B2 (ja) フォントを推奨するためのシステムおよび方法
JP6464604B2 (ja) 検索支援プログラム、検索支援方法および検索支援装置
US20230142519A1 (en) Interactive Display of Data Distributions
CN109918678B (zh) 一种字段含义识别方法和装置
EP2801918A1 (en) Information processing device, category display method, program, and information storage medium
CN105378604B (zh) 趋势建议
JP5419292B2 (ja) 時系列データを表示するユーザインタフェースプログラム、システム及び方法
JP6578685B2 (ja) 関係推定方法、関係推定プログラムおよび情報処理装置
US10339559B2 (en) Associating social comments with individual assets used in a campaign
US20200089685A1 (en) Search device, method and program recording medium
JP2018005403A (ja) 課題推定装置、課題推定方法および課題推定プログラム
JP2006323636A (ja) プロジェクトリスク管理支援システム
US20150310092A1 (en) Attribute histograms for providing data access
US10896224B2 (en) System and method for determining and displaying a list of suggested search items for a search field based on prior user interaction
CN103649986A (zh) 保证馈给中的多样性
US10467322B1 (en) System and method for highly scalable data clustering
CN111026981A (zh) 热点话题的可视化展示方法、装置和设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190412

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: 20190730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190812

R150 Certificate of patent or registration of utility model

Ref document number: 6578685

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees