knowledge base のバックアップ(No.12)


knowledge base (KB)
知識ベース
カテゴリCategory/Info

知識グラフ (Knowledge Graph)

知識ベースの有力な方式は知識グラフ (knowledge graph) である。これは、「事実」を物事と物事をつなぐ「関係」で表す。多くの物事が「関係」でつながれるため、ネットワーク状になる。それぞれの「事実」は主語・述語・目的語のような形で表現される。
例えば、
【Japan】―(包含地域)―【Tokyo】
のような形であり、これをトリプルと呼ぶ。

主語 (Subject)・述語 (Object)にあたるものはエンティティ (entity) あるいは頂点 (vertex) と呼ばれる。DBpedia、yago等の知識ベースでは、エンティティはURIまたはリテラル(数値・文字列等)にあたる。

述語 (predicate) は関係 (relation) とも呼ばれ、エンティティ同士をつないでその関係を示す。

事実 (Fact) は2つのエンティティとそれらをつなぐ関係 (relation) で成り立つ。

このとき知識グラフ全体は、エンティティの集合\( V \)、関係の集合\( R \)、事実の集合\( E \)からなる。

エンティティ (entity) のなかでも、エンティティを分類するためのエンティティであるクラス (Class) がある。subClassOfといった述語で上下関係を示す。また、クラス分類の末端は、通常のエンティティであるインスタンス (instance) である。

知識グラフの問題

知識グラフには、構築、補完、追加修正、利用の問題がある。

知識グラフ補完 (Knowledge Graph Completion)

知識グラフは不完全であることが多いため、他の関係から類推して補完する必要がある。これを知識グラフ補完 (Knowledge Graph Completion) という。
例えば、

  • 「長野市が日本に属している。」
  • 「長野市が長野県の県庁所在地である。」
  • 「長野県が日本に属している。」
  • 「水戸市が日本に属している。」
  • 「水戸市が茨城県の県庁所在地である。」
    という5つの事実から、
  • 「茨城県が日本に属している。」
    という事実を推測する問題である。

知識グラフの追加修正

日々情報は増えていくため、知識グラフを追加修正する需要がある。このとき、以下の複数の問題が発生する。

  • 新たな事実を追加する(ある関係でエンティティ同士を結ぶ)
  • 新たなエンティティを追加する
    • エンティティの重複を確認する
  • 新たな関係を追加する
  • 新たなクラスを追加する