Triple2Vec のバックアップ(No.3)


定義等

  • 知識グラフ:\( G=(V_G,E_G,T_G) \)
    • \( V_G \):エンティティ(頂点)の集合
    • \( E_G \):述語の集合
    • \( T_G \):トリプルの集合
  • \( G=(V_G,E_G) \):無向グラフ (undirected graph)または有向グラフ (directed graph)
  • \( \mathcal{G}_L=(V_L,E_L) \):線グラフ (line graph)
    • \( G \)のエッジを\( \mathcal{G}_L \)のノードにする
    • \( G \)のエッジが共通のノードを持つとき、\( \mathcal{G}_L \)の2頂点は隣接する
    • \( G \)が有向のとき\( \mathcal{G}_L \)も有向。

Triple Line Graph

  • 知識グラフからの線グラフ構築の問題点
    1. 意味が抜け落ちる
  • Triple Line Graphの定義
    • \( \mathcal{G}_L=(V_L,R_L,w) \)
    1. ノードは\( G \)のトリプルに対応
    2. \( \mathcal{G}_L \)の2つのノード\( s_1,p_1,o_1 \)\( s_2,p_2,o_2 \)は、\( \{s_1,o_1\}\cap\{s_2,o_2\}\neq\emptyset \)のとき接続
      • つまり、主語同士・目的語同士もしくは主語・目的語間に同じものがあれば接続。
    3. 関数\( w \)は値域\( [0,1] \)で、全てのエッジに重みづけをする。

Triple2Vecの手法

  1. Triple Line Graph の作成
  2. エッジの重みを計算する
  3. 重み付き Triple Line Graph の探索
  4. Skip-gram を利用したエンベッディングを行う