JP7087904B2 - ノード探索方法及びノード探索プログラム - Google Patents

ノード探索方法及びノード探索プログラム Download PDF

Info

Publication number
JP7087904B2
JP7087904B2 JP2018192131A JP2018192131A JP7087904B2 JP 7087904 B2 JP7087904 B2 JP 7087904B2 JP 2018192131 A JP2018192131 A JP 2018192131A JP 2018192131 A JP2018192131 A JP 2018192131A JP 7087904 B2 JP7087904 B2 JP 7087904B2
Authority
JP
Japan
Prior art keywords
node
link
ontology
search
nodes
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.)
Active
Application number
JP2018192131A
Other languages
English (en)
Other versions
JP2020060981A (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 JP2018192131A priority Critical patent/JP7087904B2/ja
Priority to US16/583,952 priority patent/US11436226B2/en
Publication of JP2020060981A publication Critical patent/JP2020060981A/ja
Application granted granted Critical
Publication of JP7087904B2 publication Critical patent/JP7087904B2/ja
Active 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • 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/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Description

本発明は、ノード探索方法及びノード探索プログラムに関する。
近年、様々なデータセットがRDF(Resource Description Framework)によって記述され、異なるデータセット同士がRDFによってリンクされている。したがって、異なるデータセット同士を組み合わせて分析することができる。
RDFでは、主語、述語、及び目的語の3つの要素が最小単位として用いられ、この最小単位は、トリプルと呼ばれる。例えば、(FJ社,業種,電気機器)というトリプルの場合、主語が「FJ社」であり、述語が「業種」であり、目的語が「電気機器」である。このトリプルは、「FJ社の業種は電気機器である」という情報を記述している。
主語及び述語は、URI(Uniform Resource Identifier)で表現され、目的語は、URI又はリテラル(文字列)で表現される。URIは、<>で囲んで記述され、リテラレルは、“”で囲んで記述される。URIとして、URL(Uniform Resource Locator)が用いられることもある。述語は、属性又はプロパティと呼ばれることがあり、目的語は、属性の値又はプロパティの値と呼ばれることがある。
RDFによって記述されたデータセットは、トリプルの集合である。データセットをグラフとして記述する場合、トリプルの主語及び目的語はノードと呼ばれ、述語はリンク又はエッジと呼ばれる。
図1は、RDFによって記述されたデータセットの例を示している。_:fのように、下線“_”とコロン“:”の組み合わせで始まる値は、任意のURIを表す。_:f、“FJ社”、“神奈川県川崎市”、及び“電気機器”は、ノードを表し、<名称>、<所在地>、及び<業種>の矢印は、リンクを表す。リンクの矢印は参照方向を示し、矢印の起点のノードは、リンクによって矢印の終点のノードを参照している。このデータセットは、ある会社の名称が“FJ社”であり、所在地が“神奈川県川崎市”であり、業種が“電気機器”であることを表している。
図1のデータセットをN-Triples形式で記述すると、次のようになる。
(_:f,<名称>,“FJ社”)
(_:f,<所在地>,“神奈川県川崎市”)
(_:f,<業種>,“電気機器”)
また、図1のデータセットをTurtle形式で記述すると、次のようになる。
_:f<名称>“FJ社”;
<所在地>“神奈川県川崎市”;
<業種>“電気機器”.
RDFでは、何らかのオントロジーの定義に従って情報が記述される。例えば、法人についてRDFで記述する場合は、法人に関するオントロジーが用いられる。同じ情報に関する複数のオントロジーが存在することもある。例えば、法人に関するオントロジーとして、Organizationオントロジー、共通語彙基盤等が存在する。異なるオントロジーに基づいて記述された情報は、同じ情報であっても、異なる構造とリンクを用いて記述されている。
図2は、異なるオントロジーに基づいて記述されたデータセットの例を示している。図2(a)は、Organizationオントロジーに基づいて記述されたデータセットの例を示している。_:f、●、“FJ社”、及び“神奈川県”は、ノードを表し、<ラベル>、<登記住所>、<場所>、及び<地域>の矢印は、リンクを表す。●はブランクノードを表す。このデータセットは、ある会社の名称が“FJ社”であり、住所が属する都道府県が“神奈川県”であることを表している。
図2(b)は、共通語彙基盤に基づいて記述されたデータセットの例を示している。_:f、●、“FJ社”、及び“神奈川県”は、ノードを表し、<名称>、<表記>、<住所>、及び<都道府県>の矢印は、リンクを表す。このデータセットは、図2(a)のデータセットと同じ情報を記述している。
単一のデータセットは、複数のオントロジーを組み合わせて記述されることがあり、複数のデータセットをリンクによって連結することで、複合的なデータセットが生成されることもある。
図3は、複合的なデータセットの例を示している。データセット311は、オントロジー321~オントロジー324に基づいて記述され、データセット312は、オントロジー321、オントロジー325、及びオントロジー326に基づいて記述される。そして、データセット301は、データセット311及びデータセット312を含む複数のデータセットを連結することで生成される。
また、オントロジーの中には、特定のデータセットのみを記述するために用いられる特殊なオントロジーもあり、様々なデータセットを記述するために用いられる基本的なオントロジーもある。
RDFに関して、オープンデータを用いて薬物の間の類似性を計算する類似性計算装置、非概念的データ項目をデータグラフに統合するコンピュータ装置、及び平坦データの階層情報を取得する方法が知られている(例えば、特許文献1~特許文献3を参照)。
特開2016-212853号公報 特開2016-15124号公報 特開2012-141955号公報
上述したように、RDFによって記述された複数のデータセットは、リンクによって連結することができ、それらのデータセットを組み合わせて分析することができる。
しかしながら、すべてのデータセットがRDFによって記述されているとは限らない。例えば、企業の正式名称、所在地、電話番号等の属性を含む顧客企業一覧が、CSV(Comma-Separated Values)によって記述されており、各企業のオープンデータがRDFによって記述されている場合もある。この場合、CSVによって記述された顧客企業一覧と、RDFによって記述されたデータセットとの間の対応関係が不明であり、これらのデータを組み合わせて分析することは困難である。
なお、かかる問題は、RDFによって記述されたデータセットとCSVによって記述されたデータセットとを対応付ける場合に限らず、複数のオントロジーに基づいて記述されたデータセットと他のデータセットとを対応付ける場合においても生ずるものである。
1つの側面において、本発明は、複数のオントロジーに基づいて記述されたデータセットにおいて、他のデータセットに関連するデータ部分を特定することを目的とする。
1つの案では、コンピュータは、以下の処理を実行する。
(1)コンピュータは、複数のオントロジーに基づいて記述された第1データセットに含まれるノードの中から、第2データセットに含まれる複数のデータそれぞれに対応するノードを特定する。
(2)コンピュータは、特定された複数のノードそれぞれから第1データセットに含まれるリンクを辿る経路上において、移動元ノードのオントロジーと移動先ノードのオントロジーとの間の関連性を判定する。
(3)コンピュータは、関連性を判定した結果に基づいて、移動元ノードと移動先ノードとの間のリンクを辿ることで、第1経路と第2経路とが交わる共通ノードを探索する。第1経路は、特定された複数のノードのうち第1ノードからリンクを辿る経路であり、第2経路は、特定された複数のノードのうち第2ノードからリンクを辿る経路である。
(4)コンピュータは、共通ノードを示す情報と第1ノードを示す情報と第2ノードを示す情報とを含む、探索結果を出力する。
実施形態によれば、複数のオントロジーに基づいて記述されたデータセットにおいて、他のデータセットに関連するデータ部分を特定することができる。
RDFによって記述されたデータセットを示す図である。 異なるオントロジーに基づいて記述されたデータセットを示す図である。 複合的なデータセットを示す図である。 顧客企業一覧と企業のオープンデータとを対応付ける処理を示す図である。 複合的なRDFデータセットにおける探索処理を示す図である。 ノード探索装置の機能的構成図である。 ノード探索処理のフローチャートである。 ノード探索装置の具体例を示す機能的構成図である。 RDFデータセット群に含まれるRDFデータセットを示す図である。 PMI(x,y)の計算に用いられるRDFデータセットを示す図である。 tfidf(i,j)の計算に用いられるRDFデータセットを示す図である。 ノード探索処理の具体例を示すフローチャートである。 ノード検出処理のフローチャートである。 探索ノードキューを示す図である。 ノード移動処理のフローチャートである。 経路を示す図である。 経路リストを示す図である。 共通ノードを含む経路リストを示す図である。 情報処理装置の構成図である。
以下、図面を参照しながら、実施形態を詳細に説明する。
以下では、RDFによって記述されたデータセットをRDFデータセットと記載し、RDFによって記述されていないデータセットを非RDFデータセットと記載することがある。
図4は、顧客企業一覧と企業のオープンデータとを対応付ける処理の例を示している。図4(a)は、CSVによって記述された顧客企業一覧の例を示している。この例では、FJ社の名称、所在地、及び電話番号が顧客企業一覧に記録されている。
図4(b)は、RDFによって記述された企業のオープンデータの例を示している。_:f、_:n1、_:n2、“FJ社”、“神奈川県川崎市”、及び“aaaa-bbb-ccc”は、ノードを表し、<名称>、<本社>、<所在地>、及び<電話番号>の矢印は、リンクを表す。このRDFデータセットは、企業の名称が“FJ社”であり、本社の所在地が“神奈川県川崎市”であり、本社の電話番号が“aaaa-bbb-ccc”であることを表している。
図4(c)は、図4(a)の顧客企業一覧と図4(b)のオープンデータとを対応付けた結果の例を示している。対応ノードは、RDFデータセットにおいて、顧客企業一覧に含まれるデータに対応するリテラルを有するノードを表し、共通ノードは、2つ以上の対応ノードを直接又は間接的に参照するノードを表す。
共通ノードが対応ノードを直接参照する場合、共通ノードから対応ノードへ向かう1つのリンクが存在し、共通ノードが対応ノードを間接的に参照する場合、共通ノードから1つ以上の別のノードを経由して対応ノードへ向かう2つ以上のリンクが存在する。
例えば、共通ノード‘_:n1’は、リンク<所在地>によって、対応ノード“神奈川県川崎市”を直接参照するとともに、ノード‘_:n2’を経由して、対応ノード“aaaa-bbb-ccc”を間接的に参照している。
一方、共通ノード‘_:f’は、リンク<名称>によって、対応ノード“FJ社”を直接参照するとともに、ノード‘_:n1’を経由して、対応ノード“神奈川県川崎市”を間接的に参照している。さらに、共通ノード‘_:f’は、ノード‘_:n1’及びノード‘_:n2’を経由して、対応ノード“aaaa-bbb-ccc”を間接的に参照している。
コンピュータは、図4(a)の顧客企業一覧に含まれる各データの文字列と、図4(b)のRDFデータセットに含まれる各ノードが有するリテラルの文字列とが一致するか否かをチェックすることで、対応ノードを検出することができる。これにより、RDFデータセットから、“FJ社”、“神奈川県川崎市”、及び“aaaa-bbb-ccc”の3つの対応ノードが検出される。
次に、コンピュータは、各対応ノードから参照方向とは逆方向にリンクを辿る探索処理を、辿れるリンクがなくなるまで再帰的に行うことで、RDFデータセットから共通ノードを検出することができる。探索処理において、複数の対応ノードそれぞれからリンクを辿る経路が交わった場合、経路の交点に対応するノードが共通ノードとして検出される。例えば、コンピュータは、以下の手順で探索処理を行う。
(P1)コンピュータは、対応ノード“FJ社”を起点とする経路上で、“FJ社”を参照するリンク<名称>を逆方向に辿り、ノード‘_:f’を検出する。
(P2)コンピュータは、対応ノード“神奈川県川崎市”を起点とする経路上で、“神奈川県川崎市”を参照するリンク<所在地>を逆方向に辿り、ノード‘_:n1’を検出する。
(P3)コンピュータは、対応ノード“aaaa-bbb-ccc”を起点とする経路上で、“aaaa-bbb-ccc”を参照するリンク<電話番号>を逆方向に辿り、ノード‘_:n2’を検出する。
(P4)コンピュータは、対応ノード“神奈川県川崎市”を起点とする経路上で、‘_:n1’を参照するリンク<本社>を逆方向に辿り、ノード‘_:f’を検出する。
(P5)コンピュータは、対応ノード“aaaa-bbb-ccc”を起点とする経路上で、‘_:n2’を参照するリンクを逆方向に辿り、ノード‘_:n1’を検出する。
(P6)コンピュータは、対応ノード“aaaa-bbb-ccc”を起点とする経路上で、‘_:n1’を参照するリンク<本社>を逆方向に辿り、ノード‘_:f’を検出する。
この場合、“FJ社”、“神奈川県川崎市”、及び“aaaa-bbb-ccc”それぞれを起点とする3本の経路がノード‘_:f’で交わるため、ノード‘_:f’が共通ノードとして検出される。また、“神奈川県川崎市”及び“aaaa-bbb-ccc”それぞれを起点とする2本の経路がノード‘_:n1’で交わるため、ノード‘_:n1’も共通ノードとして検出される。
このように、RDFデータセットにおいて対応ノード及び共通ノードを特定することで、共通ノードから直接又は間接的に参照されるノードの範囲を、非RDFデータセットに関連するデータ部分として特定することができる。これにより、非RDFデータセットがRDFデータセットに対応付けられ、これらのデータセットを組み合わせて分析することが可能になる。
一例として、図4(b)のRDFデータセットにおいて、ノード‘_:f’、ノード‘_:n1’、又はノード‘_:n2’が、不図示の別のリンクによって別のノードを参照している場合を想定する。別のノードが有する情報は、顧客企業一覧には含まれていない営業拠点、事業所、工場等に関する情報であってもよい。この場合、コンピュータは、別のリンクを参照方向に辿ることで、別のノードが有する情報を取得して分析することが可能になる。
ところで、図3に示した複合的なRDFデータセットでは、連結されているすべてのデータセットのうち、非RDFデータセットに関連するデータ部分は高々1個又は2個のデータセットであることが多い。この場合、連結されているすべてのデータセットを探索すると、無関係なデータセットも探索されるため、時間計算量及び空間計算量が膨大になる。
図5は、図4(b)のRDFデータセットを含む複合的なRDFデータセットにおける探索処理の例を示している。図5のRDFデータセットでは、企業DB(database)と略称DBの情報が混在している。“略称DB”、“FJ”、及び“F”は、ノードを表し、<略称>の矢印は、リンクを表す。
この場合、コンピュータは、図4(a)の顧客企業一覧に関連するデータ部分を特定するために、以下の手順で探索処理を行う。
(P11)コンピュータは、対応ノード“FJ社”を起点とする第1の経路上で、“FJ社”を参照するリンク<正式名称>を逆方向に辿り、ブランクノード●を検出する。
(P12)コンピュータは、対応ノード“FJ社”を起点とする第2の経路上で、“FJ社”を参照するリンク<名称>を逆方向に辿り、ノード‘_:f’を検出する。
(P13)コンピュータは、対応ノード“神奈川県川崎市”を起点とする経路上で、“神奈川県川崎市”を参照するリンク<所在地>を逆方向に辿り、ノード‘_:n1’を検出する。
(P14)コンピュータは、対応ノード“aaaa-bbb-ccc”を起点とする経路上で、“aaaa-bbb-ccc”を参照するリンク<電話番号>を逆方向に辿り、ノード‘_:n2’を検出する。
(P15)コンピュータは、対応ノード“FJ社”を起点とする第1の経路上で、●を参照するリンクを逆方向に辿る。
(P16)コンピュータは、対応ノード“神奈川県川崎市”を起点とする経路上で、‘_:n1’を参照するリンク<本社>を逆方向に辿り、ノード‘_:f’を検出する。
(P17)コンピュータは、対応ノード“aaaa-bbb-ccc”を起点とする経路上で、‘_:n2’を参照するリンクを逆方向に辿り、ノード‘_:n1’を検出する。
(P18)コンピュータは、対応ノード“FJ社”を起点とする第1の経路上で、●を参照するリンクの次のリンクを逆方向に辿る。
(P19)コンピュータは、対応ノード“aaaa-bbb-ccc”を起点とする経路上で、‘_:n1’を参照するリンク<本社>を逆方向に辿り、ノード‘_:f’を検出する。
(P20)コンピュータは、対応ノード“FJ社”を起点とする第1の経路上で、さらに次のリンクを逆方向に辿る。
図4(b)のRDFデータセットの場合と同様に、共通ノード‘_:f’から直接又は間接的に参照されるノードの範囲が、顧客企業一覧に関連するデータ部分である。このため、本来であれば、ブランクノード●を含む経路上のリンクを辿る手順(P11)、手順(P15)、手順(P18)、及び手順(P20)の処理は、不要である。特に、ブランクノード●を含む経路に多数のリンクが含まれている場合、それらのリンクを辿るための計算量が膨大になる。探索処理において、仮に、対応ノードが属するデータセットのみを探索することができれば、無関係なデータセットを探索する必要がなくなる。
図3に示したように、各データセットは、特定のオントロジーの集合に基づいて記述される。そこで、対応ノードが属するデータセットを求め、求めたデータセットにおいてよく利用されるオントロジーの集合を求め、そのオントロジーの集合に属するノードのみを探索対象として選択する方法が考えられる。しかし、各データセットにおいてよく利用されるオントロジーの集合を特定することは難しい。
図6は、実施形態のノード探索装置の機能的構成例を示している。図6のノード探索装置601は、記憶部611、探索部612、及び出力部613を含む。記憶部611は、複数のオントロジーに基づいて記述された第1データセット621と、第2データセット622とを記憶する。探索部612は、第1データセット621及び第2データセット622を用いて、ノード探索処理を行う。
図7は、図6のノード探索装置601が行うノード探索処理の例を示すフローチャートである。まず、探索部612は、第1データセット621に含まれるノードの中から、第2データセット622に含まれる複数のデータそれぞれに対応するノードを特定する(ステップ701)。
次に、探索部612は、特定された複数のノードそれぞれから第1データセット621に含まれるリンクを辿る経路上において、移動元ノードのオントロジーと移動先ノードのオントロジーとの間の関連性を判定する(ステップ702)。
次に、探索部612は、関連性を判定した結果に基づいて、移動元ノードと移動先ノードとの間のリンクを辿ることで、第1経路と第2経路とが交わる共通ノードを探索する(ステップ703)。第1経路は、特定された複数のノードのうち第1ノードからリンクを辿る経路であり、第2経路は、特定された複数のノードのうち第2ノードからリンクを辿る経路である。
次に、出力部613は、共通ノードを示す情報、第1ノードを示す情報、及び第2ノードを示す情報を含む、探索結果を出力する(ステップ704)。
図6のノード探索装置601によれば、複数のオントロジーに基づいて記述されたデータセットにおいて、他のデータセットに関連するデータ部分を特定することができる。
図8は、図6のノード探索装置601の具体例を示している。図8のノード探索装置801は、記憶部811、計算部812、探索部813、及び出力部814を含む。記憶部811、探索部813、及び出力部814は、図6の記憶部611、探索部612、及び出力部613にそれぞれ対応する。
記憶部811は、RDFデータセット群821、オントロジー群822、RDFデータセット825、及び非RDFデータセット826を記憶する。RDFデータセット825及び非RDFデータセット826は、図6の第1データセット621及び第2データセット622にそれぞれ対応する。
非RDFデータセット826は、CSV、TSV(Tab-Separated Values)、SSV(Space-Separated Values)、XML(Extensible Markup Language)、リレーショナルデータモデル等によって記述されたデータセットであってもよい。
例えば、非RDFデータセット826は、銀行が保持する融資先企業の財務情報であってもよく、RDFデータセット825は、その企業のオープンデータであってもよい。この場合、これらのデータセットを対応付けることで、融資先企業の財務情報及びオープンデータを統合的に分析して、銀行による融資の可否を判断することが可能になる。
また、非RDFデータセット826は、企業の役員の個人情報であってもよく、RDFデータセット825は、その企業のオープンデータであってもよい。この場合、これらのデータセットを対応付けることで、役員の個人情報及び企業のオープンデータを統合的に分析して、その企業との取引の可否を判断することが可能になる。
RDFデータセット群821は、リンクに関する統計量の計算に用いられる複数のRDFデータセットであり、オントロジー群822は、それらのRDFデータセットを記述するための複数のオントロジーである。RDFデータセット群821に含まれる各リンクは、オントロジー群822に含まれる各オントロジーによって定義される。
計算部812は、RDFデータセット群821の各RDFデータセットに含まれる2つのリンクの組み合わせについて、それらのリンクが同時に出現する出現回数を求める。そして、計算部812は、求めた出現回数を用いて、それらのリンクに対する共起統計量823を計算し、共起統計量823を記憶部811に格納する。
また、計算部812は、オントロジー群822に含まれる各オントロジーから、各リンクのラベル及びコメントに含まれる単語を抽出し、各リンクのラベル及びコメントに出現する各単語の出現回数を求める。そして、計算部812は、求めた出現回数を用いて、各単語の重要度を示す重要度統計量824を計算し、重要度統計量824を記憶部811に格納する。
探索部813は、RDFデータセット825に含まれるノードの中から、非RDFデータセット826に含まれる複数のデータそれぞれに対応する対応ノードを特定する。そして、探索部813は、特定した複数の対応ノードを含む探索ノードキュー827を生成し、探索ノードキュー827を記憶部811に格納する。探索ノードキュー827に登録されたノードは、移動元ノードとして用いられる。
次に、探索部813は、探索ノードキュー827に含まれる複数の対応ノードそれぞれから、RDFデータセット825に含まれるリンクを参照方向とは逆方向に辿る経路上において、移動元ノード及び移動先ノードのオントロジー間の関連性を判定する。このとき、探索部813は、共起統計量823及び重要度統計量824に基づいて、オントロジー間の関連性を判定する。
探索部813は、オントロジー間に関連性があると判定した場合、移動元ノードと移動先ノードとの間のリンクを逆方向に辿り、移動先ノードを新たな移動元ノードとして探索ノードキュー827に設定する。そして、探索部813は、新たな移動元ノードを含む経路上の探索を継続する。
探索部813は、複数の対応ノードそれぞれからRDFデータセット825に含まれるリンクを辿る経路を含む、経路リスト828を生成し、経路リスト828を記憶部811に格納する。そして、探索部813は、探索ノードキュー827及び経路リスト828を更新しながら探索を継続することで、第1対応ノードからリンクを辿る第1経路と、第2対応ノードからリンクを辿る第2経路とが交わる、共通ノードを探索する。
探索部813は、探索の途中で、オントロジー間に関連性がないと判定した場合、移動元ノードを含む経路上の探索を打ち切る。そして、探索部813は、探索された共通ノードを示す情報、第1ノードを示す情報、及び第2ノードを示す情報を含む探索結果829を生成し、探索結果829を記憶部811に格納する。出力部814は、探索結果829を出力する。
オントロジーは、どのようなリンクをどのような構造で用いるかを定義する情報であると考えられる。そこで、計算部812は、オントロジー及びオントロジー間の関係を直接扱う代わりに、リンク及びリンク間の関係を用いて、共起統計量823及び重要度統計量824を計算する。これにより、共起統計量823及び重要度統計量824に基づいて、同じデータセットにおいて一緒に用いることが可能なオントロジーの集合を特定することが可能になる。
探索部813は、経路上でリンクを辿る際、共起統計量823及び重要度統計量824に基づいて、移動元ノードのオントロジーと移動先ノードのオントロジーとが同じデータセットにおいて一緒に用いることが可能か否かを推定する。そして、探索部813は、それらのオントロジーを一緒に用いることが可能である場合にのみ、それらのノード間のリンクを辿って、経路リスト828の経路を更新する。
図8のノード探索装置801によれば、RDFデータセット825において対応ノード及び共通ノードを特定することで、共通ノードから対応ノードまでの範囲を、非RDFデータセット826に関連するデータ部分として特定することができる。これにより、共通ノードから参照される、関連するデータ部分以外のデータを取得することが可能になる。
一例として、RDFデータセット825において、共通ノードが対応ノード以外の別のノードを直接又は間接的に参照しており、別のノードが非RDFデータセット826に含まれていない情報を有する場合を想定する。この場合、共通ノードからリンクを参照方向に辿ることで、別のノードが有する情報を取得して分析することが可能になる。
また、経路上の探索において、移動元ノード及び移動先ノードのオントロジー間に関連性がないと判定した場合、その経路上の探索を打ち切ることで、非RDFデータセット826と無関係なデータ部分の探索が省略される。これにより、RDFデータセット825と非RDFデータセット826とを対応付けるための計算量を削減することができる。
例えば、図5のRDFデータセットにおいて、対応ノード“FJ社”及びブランクノード●のオントロジー間に関連性がないと判定された場合、それらのノードを含む経路上の探索が打ち切られる。これにより、ブランクノード●を含む経路上のリンクを辿る処理が省略されるため、RDFデータセットと顧客企業一覧とを対応付けるための計算量が削減される。
図9は、RDFデータセット群821に含まれるRDFデータセットの例を示している。_:b、_:a、l4a:100001100xxxx、“ABC”、“ABC Library”、“100001100xxxx”、“国の機関”、及び“新規”は、ノードを表す。dbo:aaa、dbo:nnn、skos:ppp、org:iii、dct:sss、及びorg:cccの矢印は、リンクを表す。
RDFのTurtle形式において、“dbo:”、“skos:”、“org:”、及び“dct:”はプレフィクスと呼ばれ、URIの先頭部分を省略するために用いられる。慣習として、同じオントロジーには同じプレフィクスが使用されるため、図9の例では、プレフィクスによってオントロジーを区別することができる。したがって、図9のRDFデータセットは、“dbo:”、“skos:”、“org:”、及び“dct:”が示す4つのオントロジーに基づいて記述されていることが分かる。
共起統計量823としては、例えば、次式の自己相互情報量(Pointwise Mutual Information,PMI)を用いることができる。
Figure 0007087904000001
式(1)において、PMI(x,y)は、リンクx及びリンクyが共起する確率を表し、p(x)は、リンクxが出現する出現確率を表し、p(y)は、リンクyが出現する出現確率を表す。c(x)は、リンクxが出現する出現回数を表し、c(y)は、リンクyが出現する出現回数を表し、c(x,y)は、リンクx及びリンクyが同時に出現する出現回数を表す。Nは、すべてのリンクの出現回数を表し、Kは、2つのリンクのすべての組み合わせ(すべての共起)の出現回数を表す。
まず、計算部812は、RDFデータセット群821に含まれるすべてのRDFデータセットを用いて、c(x)、c(y)、及びNを求める。次に、計算部812は、リンクx及びリンクyを含む単一のRDFデータセットを用いて、c(x,y)を求める。そして、計算部812は、式(1)を用いてPMI(x,y)を計算する。
図10は、PMI(x,y)の計算に用いられるRDFデータセットの例を示している。図10(a)は、ノードn01を含むRDFデータセットの例を示している。このRDFデータセットは、ノードn01~ノードn07及びリンクL1~リンクL3を含む。図10(b)は、ノードn11を含むRDFデータセットの例を示している。このRDFデータセットは、ノードn11~ノードn17、リンクL2、リンクL4、及びリンクL5を含む。
この場合、各リンクの出現回数と2つのリンクが同時に出現する出現回数は、次のようになる。
c(L1)=2
c(L2)=4
c(L3)=2
c(L4)=2
c(L5)=2
c(L1,L2)=4
c(L1,L3)=4
c(L1,L4)=0
c(L1,L5)=0
c(L2,L3)=4
c(L2,L4)=4
c(L2,L5)=4
c(L3,L4)=0
c(L3,L5)=0
c(L4,L5)=4
N=12であるから、式(1)のlogとして、底を10とする対数を用いた場合、P(L1,L2)、P(L1,L3)、及びP(L1,L4)は、次式のように計算される。
Figure 0007087904000002
式(4)のNaNは、非数を表す。他のリンクの組み合わせに対するPMI(x,y)も、式(2)~式(4)と同様にして計算される。
各RDFデータセットにおいてリンクx及びリンクyが同時に出現する出現回数が多いほど、式(1)のPMI(x,y)が大きくなる。このため、PMI(x,y)が大きいほど、リンクxを定義するオントロジーとリンクyを定義するオントロジーとが、同じRDFデータセットにおいて一緒に用いられる可能性が高くなる。したがって、PMI(x,y)を利用して、それらのオントロジー間の関連性を判定することができる。
重要度統計量824としては、例えば、次式のtfidf(i,j)を用いることができる。
Figure 0007087904000003
式(12)のn(i,j)は、リンクd(j)における単語t(i)の出現回数を表し、
Figure 0007087904000004
は、リンクd(j)におけるすべての単語の出現回数の和を表す。式(13)の|D|は、RDFデータセット群821に含まれる、異なるリンクの個数を表し、|{d:d∋t(i)}|は、単語t(i)を含むリンクの個数を表す。
まず、計算部812は、RDFデータセット群821に含まれるすべてのRDFデータセットからリンクd(j)を抽出し、オントロジー群822の中から、リンクd(j)を定義するオントロジーを選択する。次に、計算部812は、選択したオントロジーから、リンクd(j)のラベル及びコメントに含まれる単語を抽出し、抽出したラベル及びコメントに出現する単語t(i)の出現回数を求める。そして、計算部812は、求めた出現回数をn(i,j)として用いて、式(11)~式(13)により、tfidf(i,j)を計算する。
図11は、tfidf(i,j)の計算に用いられるRDFデータセットの例を示している。l4a:100001100xxxx、“ABC Library”、“100001100xxxx”、及び“新規”は、ノードを表し、skos:ppp、org:iii、及びorg:cccの矢印は、リンクを表す。各リンクのラベル及びコメントとしては、例えば、次のようなテキストが抽出される。
skos:ppp
label: ppp lll
comment: skos:ppp, skos:aaa and skos:hhh are p1 d1 p2. T12 r3 of skos:ppp is t12 c4 of R5 p6 l7. A r8 h13 no m14 t15 one v9 of skos:ppp p16 l10 t11.

org:iii
label: iii
comment: G1 an iii, s28 as a c2 r3 n4, t29 c30 be u31 to u32 to u5 i6 the organization. M7 d7 n9 and i10 iii s11 are a12. The o13 o14 is n15 to w33 s16 are u36. The p17 iii s11 s37 be i18 by the d19 of the iii v20. U38 d19 to d21 the n22 s11 u39 is c23 w40 r24 b25 p25 for ‘skos:nnn’ of w34 t35 p26 is a s27.

org:ccc
label: ccc bbb
comment: I1 a c2 event w3 r4 in a c5 to t6 organization. D7 on the event the organization may or may not h12 c8 to e9 a10 the event. I11 of ‘org:ooo’.
ただし、これらのラベル(label)及びコメント(comment)は、実施形態を説明するための仮想的なテキストである。
RDFデータセット群821に図11のRDFデータセットのみが含まれており、リンクd(j)がorg:cccであり、単語t(i)が“organization”である場合、n(i,j)は2となる。また、org:cccのラベルに含まれる単語は2個であり、コメントに含まれる単語は32個であるため、すべての単語の出現回数の和は34である。
図11のRDFデータセットに含まれる異なるリンクの個数は3個であり、ラベル及びコメントに“organization”が含まれるリンクは、org:iii及びorg:cccの2個である。したがって、式(13)のlogとして自然対数を用いた場合、tfidf(i,j)は、次式のように計算される。
Figure 0007087904000005
また、リンクd(j)がorg:cccであり、単語t(i)が“event”である場合、n(i,j)は3となり、ラベル及びコメントに“event”が含まれるリンクは、org:cccの1個のみである。この場合、tfidf(i,j)は、次式のように計算される。
Figure 0007087904000006
他のリンク及び単語の組み合わせに対するtfidf(i,j)も、式(14)及び式(15)と同様にして計算される。
式(11)のtfidf(i,j)が大きいほど、リンクd(j)における単語t(i)の重要度が大きくなる。このため、同じ単語のtfidf(i,j)が2つのリンクにおいて大きな値を示す場合、それらのリンクを定義する2つのオントロジーが同じRDFデータセットにおいて一緒に用いられる可能性が高いと考えられる。したがって、tfidf(i,j)を利用して、それらのオントロジー間の関連性を判定することができる。
次に、図12から図18までを参照しながら、図8のノード探索装置801の動作について、より詳細に説明する。
図12は、図8のノード探索装置801が行うノード探索処理の具体例を示すフローチャートである。まず、計算部812は、RDFデータセット群821の各RDFデータセットに含まれる2つのリンクの組み合わせについて、共起統計量823を計算する(ステップ1201)。
次に、計算部812は、RDFデータセット群821に含まれる各リンクのラベル及びコメントに含まれる単語を抽出し、各単語について重要度統計量824を計算する(ステップ1202)。そして、探索部813は、共起統計量823及び重要度統計量824を用いて、ノード検出処理を行う(ステップ1203)。
図13は、図12のステップ1203におけるノード検出処理の例を示すフローチャートである。まず、探索部813は、RDFデータセット825に含まれるノードの中から、非RDFデータセット826に含まれる複数のデータそれぞれに対応する対応ノードを特定する(ステップ1301)。
このとき、探索部813は、非RDFデータセット826に含まれる各データの文字列と、RDFデータセット825に含まれる各ノードが有するリテラルの文字列とが一致するか否かをチェックする。そして、探索部813は、各データの文字列と一致するリテラルを有するノードを、対応ノードとして特定し、複数の対応ノードを含む探索ノードキュー827を生成する(ステップ1302)。
図14は、探索ノードキュー827の例を示している。図14の探索ノードキュー827には、対応ノードn1~対応ノードn4が登録されている。
次に、探索部813は、探索ノードキュー827が空であるか否かをチェックする(ステップ1303)。探索ノードキュー827が空でない場合(ステップ1303,NO)、探索部813は、探索ノードキュー827から1つのノードを移動元ノードとして抽出し(ステップ1304)、ノード移動処理を行う(ステップ1305)。
次に、探索部813は、経路リスト828を参照して、ステップ1301において特定されたすべての対応ノードを直接又は間接的に参照する、共通ノードが存在するか否かをチェックする(ステップ1306)。すべての対応ノードを直接又は間接的に参照する共通ノードが存在しない場合(ステップ1306,NO)、探索部813は、ステップ1303以降の処理を繰り返す。
一方、すべての対応ノードを直接又は間接的に参照する共通ノードが存在する場合(ステップ1306,YES)、探索部813は、それまでに検出された共通ノードを示す情報を含む探索結果829を生成する。そして、出力部814は、探索結果829を出力する(ステップ1307)。この場合、探索結果829には、それまでに検出されたすべての共通ノードについて、共通ノードを示す情報と、その共通ノードが直接又は間接的に参照する対応ノードを示す情報とが含まれる。
探索ノードキュー827が空である場合(ステップ1303,YES)、ノード探索装置801は、ステップ1307の処理を行う。
図15は、図13のステップ1305におけるノード移動処理の例を示すフローチャートである。まず、探索部813は、RDFデータセット825において、移動元ノードを参照するリンクの両端のノードのうち、移動元ノードではない方のノードを、移動先ノードとして特定する(ステップ1501)。そして、探索部813は、移動元ノードから移動先ノードへ探索位置を移動させるか否かを判定する(ステップ1502)。
例えば、探索部813は、以下の条件(C1)又は条件(C2)のうちいずれかが満たされる場合、移動元ノード及び移動先ノードのオントロジー間に関連性があると判定する。この場合、移動元ノードから移動先ノードへ探索位置を移動させると判定される。
(C1)移動元ノードを参照するリンクと移動先ノードを参照するリンクとに対する共起統計量823が所定値αよりも大きい。
例えば、αは、ユーザにより指定される値であり、α=0であってもよい。移動先ノードを参照するリンクが存在しない場合、共起統計量823は非常に大きな値に設定される。この場合、64ビット浮動小数点数の最大値を共起統計量823として用いてもよい。
(C2)移動元ノードを参照するリンクのラベル及びコメントに含まれる重要単語と、移動先ノードを参照するリンクのラベル及びコメントに含まれる重要単語とが重複している。
リンクのラベル及びコメントに含まれる重要単語は、そのラベル及びコメントに含まれる単語のうち、所定値βよりも大きな重要度統計量824を有する単語である。移動元ノードを参照するリンクの少なくとも1つの重要単語が、移動先ノードを参照するリンクの少なくとも1つの重要単語と同じである場合、それらのリンクの重要単語が重複していると判定される。例えば、βは、ユーザにより指定される値である。
一方、条件(C1)又は条件(C2)のいずれも満たされない場合、探索部813は、移動元ノード及び移動先ノードのオントロジー間に関連性がないと判定する。この場合、移動元ノードから移動先ノードへ探索位置を移動させないと判定される。
なお、RDFデータセット825において、複数のリンクが移動元ノードを参照している場合、探索部813は、それらのリンクの端点の移動先ノードそれぞれについて、探索位置を移動させるか否かを判定する。
また、複数のリンクが移動先ノードを参照している場合、探索部813は、それらのリンクと移動元ノードを参照するリンクのすべての組み合わせについて、条件(C1)又は条件(C2)が満たされるか否かを判定する。そして、探索部813は、いずれかの組み合わせについて条件(C1)又は条件(C2)が満たされる場合、探索位置を移動させると判定する。
探索位置を移動させる場合(ステップ1502,YES)、探索部813は、経路リスト828を更新し(ステップ1503)、更新された経路リスト828に基づいて共通ノードを検出する(ステップ1504)。そして、探索部813は、探索ノードキュー827に移動先ノードを追加する(ステップ1505)。追加された移動先ノードは、図13のステップ1304において、新たな移動元ノードとして抽出される。
一方、探索位置を移動させない場合(ステップ1502,NO)、探索部813は、経路リスト828を更新することなく、処理を終了する。
経路リスト828には、ノード検出処理で検出された各ノードの経路を示すエントリが含まれている。ノードmの経路を示すエントリは、RDFデータセット825において、いずれかの対応ノードからノードmまでの間に存在する1つ以上のノードの識別情報を含む。ノードmが対応ノードである場合、そのエントリはノードmの識別情報のみを含む。ステップ1503において、探索部813は、例えば、以下のような手順で経路リスト828を更新する。
(P31)探索部813は、経路リスト828から移動元ノードの経路を示すエントリE0を取得する。
(P32)探索部813は、経路リスト828からエントリE0を削除する
(P33)探索部813は、エントリE0に移動先ノードの識別情報を追加して、移動先ノードの経路を示すエントリE1を生成する。複数の移動先ノードが存在する場合、各移動先ノードについてエントリE1が生成される。
(P34)探索部813は、エントリE1を経路リスト828に追加する。
(P35)探索部813は、経路リスト828に含まれるエントリをチェックし、同じノードの経路を示す複数のエントリが存在する場合、経路リスト828からそれらのエントリを削除する。そして、探索部813は、削除したエントリを結合して新たなエントリE2を生成し、経路リスト828に追加する。
図16は、RDFデータセット825に含まれる経路の例を示している。n0、n1、n00、n11、n000、n001、及びn002はノードを表し、ノード間の矢印は、リンクを表す。n0及びn1は、対応ノードである。
図17は、図16の経路を示す経路リスト828の例を示している。図17(a)は、経路リスト828から取得されるエントリE0の例を示している。エントリ1701は、移動元ノードn00の経路を示しており、p(n0,n00)は、対応ノードn0から移動元ノードn00までの経路上に存在するノードを表す。
図17(b)は、図17(a)のエントリE0から生成されるエントリE1の例を示している。この場合、移動元ノードn00から移動可能な移動先ノードは、ノードn000~ノードn002である。このうち、移動先ノードn001及び移動先ノードn002が探索位置の移動先に決定された場合、エントリE1として、これらの移動先ノードの経路を示すエントリ1702及びエントリ1703が生成される。
エントリ1702のp(n0,n00,n001)は、対応ノードn0から移動先ノードn001までの経路上に存在するノードを表す。また、エントリ1703のp(n0,n00,n002)は、対応ノードn0から移動先ノードn002までの経路上に存在するノードを表す。
図18は、共通ノードを含む経路リスト828の例を示している。図18(a)は、経路リスト828から取得されるエントリE0の例を示している。エントリ1801は、移動元ノードn00の経路を示し、エントリ1802は、移動元ノードn11の経路を示している。エントリ1801のp(n0,n00)は、対応ノードn0から移動元ノードn00までの経路上に存在するノードを表し、エントリ1802のp(n1,n11)は、対応ノードn1から移動元ノードn11までの経路上に存在するノードを表す。
図18(b)は、図18(a)のエントリE0から生成されるエントリE1の例を示している。移動元ノードn00から移動可能な移動先ノードのうち、移動先ノードn000及び移動先ノードn001が探索位置の移動先に決定された場合、エントリE1として、これらの移動先ノードの経路を示すエントリ1803及びエントリ1804が生成される。
エントリ1803のp(n0,n00,n000)は、対応ノードn0から移動先ノードn000までの経路上に存在するノードを表す。また、エントリ1804のp(n0,n00,n001)は、対応ノードn0から移動先ノードn001までの経路上に存在するノードを表す。
さらに、移動元ノードn11から移動可能な移動先ノードn001が探索位置の移動先に決定された場合、エントリE1として、移動先ノードn001の経路を示すエントリ1805が生成される。エントリ1805のp(n1,n11,n001)は、対応ノードn1から移動先ノードn001までの経路上に存在するノードを表す。
図18(c)は、手順(P35)において、図18(b)のエントリ1804及びエントリ1805から生成される新たなエントリE2の例を示している。エントリ1804及びエントリ1805は、同じノードn001の経路を示しているため、経路リスト828から削除される。そして、エントリ1804及びエントリ1805を結合することで、エントリ1806が生成される。
エントリ1806は、ノードn001の識別情報と、対応ノードn0からノードn001までの経路を示すp(n0,n00,n001)と、対応ノードn1からノードn001までの経路を示すp(n1,n11,n001)とを含んでいる。
したがって、探索部813は、ステップ1504においてエントリ1806をチェックすることで、対応ノードn0からリンクを辿る経路と、対応ノードn1からリンクを辿る経路とが、ノードn001において交わることを検出できる。これにより、ノードn001が共通ノードとして検出される。この場合、探索部813は、共通ノードn001、対応ノードn0、及び対応ノードn1の識別情報(n001,n0,n1)を含む探索結果829を生成する。
図6のノード探索装置601及び図8のノード探索装置801の構成は一例に過ぎず、ノード探索装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、図8のノード探索装置801において、共起統計量823及び重要度統計量824が外部の装置によって計算される場合、又は共起統計量823及び重要度統計量824を用いない場合は、計算部812を省略することができる。
図7、図12、図13、及び図15のフローチャートは一例に過ぎず、ノード探索装置の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、図12のノード探索処理において、共起統計量823及び重要度統計量824が外部の装置によって計算される場合は、ステップ1201及びステップ1202の処理を省略することができる。図12のノード探索処理において、共起統計量823及び重要度統計量824を用いない場合も、ステップ1201及びステップ1202の処理を省略することができる。
図15のステップ1502において、探索部813は、条件(C1)又は条件(C2)の一方のみを用いて、探索位置を移動させるか否かを判定してもよく、別の条件を用いて探索位置を移動させるか否かを判定してもよい。例えば、ユーザは、オントロジー間の関連性がある2つのリンクの組み合わせを示すリストを、記憶部811に記憶させておくことも可能である。この場合、探索部813は、移動元ノードを参照するリンクと移動先ノードを参照するリンクの組み合わせが、そのリストに含まれているか否かをチェックすることで、探索位置を移動させるか否かを決定する。
図1~図3、図4(b)、図5、及び図9~図11に示したRDFデータセットは一例に過ぎず、RDFデータセットは、RDFによって記述される情報と、記述に用いられるオントロジーとに応じて変化する。図4(a)に示した非RDFデータセットは一例に過ぎず、非RDFデータセットは、記述される情報に応じて変化する。
図14に示した探索ノードキュー827は一例に過ぎず、探索ノードキュー827に含まれる対応ノードは、RDFデータセット825及び非RDFデータセット826に応じて変化する。図16に示した経路と図17及び図18に示した経路リスト828は一例に過ぎず、経路及び経路リスト828は、RDFデータセット825及び非RDFデータセット826に応じて変化する。
式(1)~式(15)は一例に過ぎず、探索部813は、別の計算式を用いて共起統計量823及び重要度統計量824を計算してもよい。
図19は、図6のノード探索装置601及び図8のノード探索装置801として用いられる情報処理装置(コンピュータ)の構成例を示している。図19の情報処理装置は、CPU(Central Processing Unit)1901、メモリ1902、入力装置1903、出力装置1904、補助記憶装置1905、媒体駆動装置1906、及びネットワーク接続装置1907を含む。これらの構成要素はバス1908により互いに接続されている。
メモリ1902は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ1902は、図6の記憶部611又は図8の記憶部811として用いることができる。
CPU1901(プロセッサ)は、例えば、メモリ1902を利用してプログラムを実行することにより、図6の探索部612、図8の計算部812、及び探索部813として動作する。
入力装置1903は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。出力装置1904は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。出力装置1904は、図6の出力部613又は図8の出力部814として用いることができる。処理結果は、探索結果829であってもよい。
補助記憶装置1905は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置1905は、ハードディスクドライブ又はフラッシュメモリであってもよい。情報処理装置は、補助記憶装置1905にプログラム及びデータを格納しておき、それらをメモリ1902にロードして使用することができる。補助記憶装置1905は、図6の記憶部611又は図8の記憶部811として用いることができる。
媒体駆動装置1906は、可搬型記録媒体1909を駆動し、その記録内容にアクセスする。可搬型記録媒体1909は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体1909は、CD-ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体1909にプログラム及びデータを格納しておき、それらをメモリ1902にロードして使用することができる。
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ1902、補助記憶装置1905、又は可搬型記録媒体1909のような、物理的な(非一時的な)記録媒体である。
ネットワーク接続装置1907は、LAN(Local Area Network)、WAN(Wide Area Network)等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェース回路である。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置1907を介して受信し、それらをメモリ1902にロードして使用することができる。ネットワーク接続装置1907は、図6の出力部613又は図8の出力部814として用いることができる。
情報処理装置は、ネットワーク接続装置1907を介して、ユーザ端末からRDFデータセット825、非RDFデータセット826、及び処理要求を受信し、探索結果829をユーザ端末へ送信することもできる。
なお、情報処理装置が図19のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、情報処理装置がユーザ端末から処理要求を受信する場合は、入力装置1903及び出力装置1904を省略してもよい。可搬型記録媒体1909又は通信ネットワークを使用しない場合は、媒体駆動装置1906又はネットワーク接続装置1907を省略してもよい。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
図4乃至図19を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
コンピュータにより実行されるノード探索方法であって、
前記コンピュータが、
複数のオントロジーに基づいて記述された第1データセットに含まれるノードの中から、第2データセットに含まれる複数のデータそれぞれに対応するノードを特定し、
特定された複数のノードそれぞれから前記第1データセットに含まれるリンクを辿る経路上において、移動元ノードのオントロジーと移動先ノードのオントロジーとの間の関連性を判定し、
前記関連性を判定した結果に基づいて、前記移動元ノードと前記移動先ノードとの間のリンクを辿ることで、前記複数のノードのうち第1ノードからリンクを辿る第1経路と、前記複数のノードのうち第2ノードからリンクを辿る第2経路とが交わる、共通ノードを探索し、
前記共通ノードを示す情報と前記第1ノードを示す情報と前記第2ノードを示す情報とを含む、探索結果を出力する、
ことを特徴とするノード探索方法。
(付記2)
前記コンピュータは、前記移動元ノードのオントロジーと前記移動先ノードのオントロジーとの間に関連性があると判定した場合、前記移動元ノードと前記移動先ノードとの間のリンクを辿り、前記移動先ノードを新たな移動元ノードに設定して、前記新たな移動元ノードを含む経路上の探索を継続し、前記移動元ノードのオントロジーと前記移動先ノードのオントロジーとの間に関連性がないと判定した場合、前記移動元ノードを含む経路上の探索を打ち切ることを特徴とする付記1記載のノード探索方法。
(付記3)
前記コンピュータは、複数のデータセット各々に含まれる2つのリンクの組み合わせについて、前記2つのリンクが同時に出現する出現回数を求め、求めた出現回数を用いて前記2つのリンクに対する共起統計量を計算し、前記移動元ノードを参照する第1リンクと前記移動先ノードを参照する第2リンクとに対する共起統計量に基づいて、前記移動元ノードのオントロジーと前記移動先ノードのオントロジーとの間の関連性を判定することを特徴とする付記1又は2記載のノード探索方法。
(付記4)
前記コンピュータは、複数のデータセットに含まれる各リンクを定義したオントロジーから、各リンクのラベル及びコメントに含まれる単語を抽出し、各リンクのラベル及びコメントに出現する各単語の出現回数を求め、求めた出現回数を用いて各単語の重要度を示す重要度統計量を計算し、前記移動元ノードを参照する第1リンクのラベル及びコメントに含まれる各単語の重要度を示す第1重要度統計量と、前記移動先ノードを参照する第2リンクのラベル及びコメントに含まれる各単語の重要度を示す第2重要度統計量とを用いて、前記移動元ノードのオントロジーと前記移動先ノードのオントロジーとの間の関連性を判定することを特徴とする付記1又は2記載のノード探索方法。
(付記5)
複数のオントロジーに基づいて記述された第1データセットに含まれるノードの中から、第2データセットに含まれる複数のデータそれぞれに対応するノードを特定し、
特定された複数のノードそれぞれから前記第1データセットに含まれるリンクを辿る経路上において、移動元ノードのオントロジーと移動先ノードのオントロジーとの間の関連性を判定し、
前記関連性を判定した結果に基づいて、前記移動元ノードと前記移動先ノードとの間のリンクを辿ることで、前記複数のノードのうち第1ノードからリンクを辿る第1経路と、前記複数のノードのうち第2ノードからリンクを辿る第2経路とが交わる、共通ノードを探索し、
前記共通ノードを示す情報と前記第1ノードを示す情報と前記第2ノードを示す情報とを含む、探索結果を出力する、
処理をコンピュータに実行させるためのノード探索プログラム。
(付記6)
前記コンピュータは、前記移動元ノードのオントロジーと前記移動先ノードのオントロジーとの間に関連性があると判定した場合、前記移動元ノードと前記移動先ノードとの間のリンクを辿り、前記移動先ノードを新たな移動元ノードに設定して、前記新たな移動元ノードを含む経路上の探索を継続し、前記移動元ノードのオントロジーと前記移動先ノードのオントロジーとの間に関連性がないと判定した場合、前記移動元ノードを含む経路上の探索を打ち切ることを特徴とする付記5記載のノード探索プログラム。
(付記7)
前記コンピュータは、複数のデータセット各々に含まれる2つのリンクの組み合わせについて、前記2つのリンクが同時に出現する出現回数を求め、求めた出現回数を用いて前記2つのリンクに対する共起統計量を計算し、前記移動元ノードを参照する第1リンクと前記移動先ノードを参照する第2リンクとに対する共起統計量に基づいて、前記移動元ノードのオントロジーと前記移動先ノードのオントロジーとの間の関連性を判定することを特徴とする付記5又は6記載のノード探索プログラム。
(付記8)
前記コンピュータは、複数のデータセットに含まれる各リンクを定義したオントロジーから、各リンクのラベル及びコメントに含まれる単語を抽出し、各リンクのラベル及びコメントに出現する各単語の出現回数を求め、求めた出現回数を用いて各単語の重要度を示す重要度統計量を計算し、前記移動元ノードを参照する第1リンクのラベル及びコメントに含まれる各単語の重要度を示す第1重要度統計量と、前記移動先ノードを参照する第2リンクのラベル及びコメントに含まれる各単語の重要度を示す第2重要度統計量とを用いて、前記移動元ノードのオントロジーと前記移動先ノードのオントロジーとの間の関連性を判定することを特徴とする付記5又は6記載のノード探索プログラム。
301、311、312 データセット
321~326 オントロジー
601、801 ノード探索装置
611、811 記憶部
612、813 探索部
613、814 出力部
621 第1データセット
622 第2データセット
812 計算部
821 RDFデータセット群
822 オントロジー群
823 共起統計量
824 重要度統計量
825 RDFデータセット
826 非RDFデータセット
827 探索ノードキュー
828 経路リスト
829 探索結果
1701~1703、1801~1806 エントリ
1901 CPU
1902 メモリ
1903 入力装置
1904 出力装置
1905 補助記憶装置
1906 媒体駆動装置
1907 ネットワーク接続装置
1908 バス
1909 可搬型記録媒体

Claims (5)

  1. コンピュータにより実行されるノード探索方法であって、
    前記コンピュータが、
    複数のオントロジーに基づいて記述された第1データセットに含まれるノードの中から、第2データセットに含まれる複数のデータそれぞれに対応するノードを特定し、
    特定された複数のノードそれぞれから前記第1データセットに含まれるリンクを辿る経路上において、移動元ノードのオントロジーと移動先ノードのオントロジーとの間の関連性を判定し、
    前記関連性を判定した結果に基づいて、前記移動元ノードと前記移動先ノードとの間のリンクを辿ることで、前記複数のノードのうち第1ノードからリンクを辿る第1経路と、前記複数のノードのうち第2ノードからリンクを辿る第2経路とが交わる、共通ノードを探索し、
    前記共通ノードを示す情報と前記第1ノードを示す情報と前記第2ノードを示す情報とを含む、探索結果を出力する、
    ことを特徴とするノード探索方法。
  2. 前記コンピュータは、前記移動元ノードのオントロジーと前記移動先ノードのオントロジーとの間に関連性があると判定した場合、前記移動元ノードと前記移動先ノードとの間のリンクを辿り、前記移動先ノードを新たな移動元ノードに設定して、前記新たな移動元ノードを含む経路上の探索を継続し、前記移動元ノードのオントロジーと前記移動先ノードのオントロジーとの間に関連性がないと判定した場合、前記移動元ノードを含む経路上の探索を打ち切ることを特徴とする請求項1記載のノード探索方法。
  3. 前記コンピュータは、複数のデータセット各々に含まれる2つのリンクの組み合わせについて、前記2つのリンクが同時に出現する出現回数を求め、求めた出現回数を用いて前記2つのリンクに対する共起統計量を計算し、前記移動元ノードを参照する第1リンクと前記移動先ノードを参照する第2リンクとに対する共起統計量に基づいて、前記移動元ノードのオントロジーと前記移動先ノードのオントロジーとの間の関連性を判定することを特徴とする請求項1又は2記載のノード探索方法。
  4. 前記コンピュータは、複数のデータセットに含まれる各リンクを定義したオントロジーから、各リンクのラベル及びコメントに含まれる単語を抽出し、各リンクのラベル及びコメントに出現する各単語の出現回数を求め、求めた出現回数を用いて各単語の重要度を示す重要度統計量を計算し、前記移動元ノードを参照する第1リンクのラベル及びコメントに含まれる各単語の重要度を示す第1重要度統計量と、前記移動先ノードを参照する第2リンクのラベル及びコメントに含まれる各単語の重要度を示す第2重要度統計量とを用いて、前記移動元ノードのオントロジーと前記移動先ノードのオントロジーとの間の関連性を判定することを特徴とする請求項1又は2記載のノード探索方法。
  5. 複数のオントロジーに基づいて記述された第1データセットに含まれるノードの中から、第2データセットに含まれる複数のデータそれぞれに対応するノードを特定し、
    特定された複数のノードそれぞれから前記第1データセットに含まれるリンクを辿る経路上において、移動元ノードのオントロジーと移動先ノードのオントロジーとの間の関連性を判定し、
    前記関連性を判定した結果に基づいて、前記移動元ノードと前記移動先ノードとの間のリンクを辿ることで、前記複数のノードのうち第1ノードからリンクを辿る第1経路と、前記複数のノードのうち第2ノードからリンクを辿る第2経路とが交わる、共通ノードを探索し、
    前記共通ノードを示す情報と前記第1ノードを示す情報と前記第2ノードを示す情報とを含む、探索結果を出力する、
    処理をコンピュータに実行させるためのノード探索プログラム。
JP2018192131A 2018-10-10 2018-10-10 ノード探索方法及びノード探索プログラム Active JP7087904B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018192131A JP7087904B2 (ja) 2018-10-10 2018-10-10 ノード探索方法及びノード探索プログラム
US16/583,952 US11436226B2 (en) 2018-10-10 2019-09-26 Identification of data related to another data set within a data set described based on plural ontologies

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018192131A JP7087904B2 (ja) 2018-10-10 2018-10-10 ノード探索方法及びノード探索プログラム

Publications (2)

Publication Number Publication Date
JP2020060981A JP2020060981A (ja) 2020-04-16
JP7087904B2 true JP7087904B2 (ja) 2022-06-21

Family

ID=70160038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018192131A Active JP7087904B2 (ja) 2018-10-10 2018-10-10 ノード探索方法及びノード探索プログラム

Country Status (2)

Country Link
US (1) US11436226B2 (ja)
JP (1) JP7087904B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11120082B2 (en) 2018-04-18 2021-09-14 Oracle International Corporation Efficient, in-memory, relational representation for heterogeneous graphs

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014166A (ja) 1999-06-29 2001-01-19 Fujitsu Ltd オントロジー対応付け情報生成装置
US20060053098A1 (en) 2004-09-03 2006-03-09 Bio Wisdom Limited System and method for creating customized ontologies
JP2008084114A (ja) 2006-09-28 2008-04-10 Toshiba Corp オントロジー統合支援装置、オントロジー統合支援方法及びオントロジー統合支援プログラム
JP2012252693A (ja) 2011-06-03 2012-12-20 Korea Institute Of Science & Technology Infomation インスタンス経路の探索及び視覚化方法、並びにその装置
WO2014083655A1 (ja) 2012-11-29 2014-06-05 株式会社日立製作所 ネットワークグラフ生成方法及び意思決定支援システム
WO2014207827A1 (ja) 2013-06-25 2014-12-31 株式会社日立製作所 データ分析装置、rdfデータの拡張方法、およびデータ分析プログラム
JP2016212853A (ja) 2015-04-30 2016-12-15 富士通株式会社 類似性計算装置、薬の類似性を計算し及び類似性を用いて副作用を推定する副作用決定装置及びシステム
JP2018085056A (ja) 2016-11-25 2018-05-31 ヤフー株式会社 算出装置、算出方法、及び算出プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493333B2 (en) * 2004-09-03 2009-02-17 Biowisdom Limited System and method for parsing and/or exporting data from one or more multi-relational ontologies
US7644052B1 (en) * 2006-03-03 2010-01-05 Adobe Systems Incorporated System and method of building and using hierarchical knowledge structures
US8112416B2 (en) * 2007-05-25 2012-02-07 International Business Machines Corporation Method and system for semantic publish-subscribe services
US8401991B2 (en) * 2008-08-08 2013-03-19 Oracle International Corporation Database-based inference engine for RDFS/OWL constructs
US8090729B2 (en) * 2009-03-03 2012-01-03 Microsoft Corporation Large graph measurement
US8793208B2 (en) * 2009-12-17 2014-07-29 International Business Machines Corporation Identifying common data objects representing solutions to a problem in different disciplines
CN102567394B (zh) 2010-12-30 2015-02-25 国际商业机器公司 获取平面数据的层级信息的方法和装置
US9471875B2 (en) * 2013-12-31 2016-10-18 International Business Machines Corporation Using ontologies to comprehend regular expressions
EP2963563A1 (en) 2014-06-30 2016-01-06 Fujitsu Limited Computing apparatus and method for managing a graph database
US11042537B2 (en) * 2016-06-19 2021-06-22 Data.World, Inc. Link-formative auxiliary queries applied at data ingestion to facilitate data operations in a system of networked collaborative datasets

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014166A (ja) 1999-06-29 2001-01-19 Fujitsu Ltd オントロジー対応付け情報生成装置
US20060053098A1 (en) 2004-09-03 2006-03-09 Bio Wisdom Limited System and method for creating customized ontologies
JP2008084114A (ja) 2006-09-28 2008-04-10 Toshiba Corp オントロジー統合支援装置、オントロジー統合支援方法及びオントロジー統合支援プログラム
JP2012252693A (ja) 2011-06-03 2012-12-20 Korea Institute Of Science & Technology Infomation インスタンス経路の探索及び視覚化方法、並びにその装置
WO2014083655A1 (ja) 2012-11-29 2014-06-05 株式会社日立製作所 ネットワークグラフ生成方法及び意思決定支援システム
WO2014207827A1 (ja) 2013-06-25 2014-12-31 株式会社日立製作所 データ分析装置、rdfデータの拡張方法、およびデータ分析プログラム
JP2016212853A (ja) 2015-04-30 2016-12-15 富士通株式会社 類似性計算装置、薬の類似性を計算し及び類似性を用いて副作用を推定する副作用決定装置及びシステム
JP2018085056A (ja) 2016-11-25 2018-05-31 ヤフー株式会社 算出装置、算出方法、及び算出プログラム

Also Published As

Publication number Publication date
JP2020060981A (ja) 2020-04-16
US11436226B2 (en) 2022-09-06
US20200117662A1 (en) 2020-04-16

Similar Documents

Publication Publication Date Title
WO2021004333A1 (zh) 基于知识图谱的事件处理方法、装置、设备和存储介质
US8412653B2 (en) Knowledge extraction and transformation
US8229883B2 (en) Graph based re-composition of document fragments for name entity recognition under exploitation of enterprise databases
US9519706B2 (en) Multiple rule development support for text analytics
US9183286B2 (en) Methodologies and analytics tools for identifying white space opportunities in a given industry
US8352496B2 (en) Entity name matching
JP6849741B2 (ja) モデル駆動型ドメイン固有検索を実行する方法及びシステム
AU2016228246B2 (en) System and method for concept-based search summaries
US20230169129A1 (en) Method and system for providing alternative result for an online search previously with no result
US20120179709A1 (en) Apparatus, method and program product for searching document
US8862609B2 (en) Expanding high level queries
JP7087904B2 (ja) ノード探索方法及びノード探索プログラム
US10896227B2 (en) Data processing system, data processing method, and data structure
US9195940B2 (en) Jabba-type override for correcting or improving output of a model
JP2022045416A (ja) データ処理プログラム、データ処理装置、及びデータ処理方法
US20080033953A1 (en) Method to search transactional web pages
EP3977310A1 (en) Method for consolidating dynamic knowledge organization systems
JP2001101184A (ja) 構造化文書生成方法及び装置及び構造化文書生成プログラムを格納した記憶媒体
JP4468608B2 (ja) 意味情報推定装置、意味情報推定方法、及びプログラム
Dymora et al. Performance Assessment of Selected Techniques and Methods Detecting Duplicates in Data Warehouses
Pamungkas et al. Performance Improvement of Business Process Similarity Calculation using Word Sense Disambiguation
CN116541071A (zh) 一种基于提示学习的应用编程接口迁移方法
WO2023204724A1 (ru) Способ анализа юридического документа
JP6476638B2 (ja) 固有用語候補抽出装置、固有用語候補抽出方法、及び固有用語候補抽出プログラム
JP6172447B2 (ja) 関連性判定システム、方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220428

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220523

R150 Certificate of patent or registration of utility model

Ref document number: 7087904

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150