結果と品質を評価する

結果を理解する

Enterprise Knowledge Graph は、ジョブごとに新しい BigQuery テーブルに結果を書き込みます。これは、ジョブの実行時のデータのスナップショットです。デフォルトでは、ジョブごとにエンティティ クラスタごとにランダムな cluster_id が生成されます。ただし、ジョブの実行間で ID を安定させたい場合は、previous BigQuery result table 詳細オプションを使用します。

結果テーブルを確認する

出力スキーマ

フィールド名 タイプ 説明
cluster_id STRING このクラスタ ID は、このレコード クラスタに割り当てられたプライベート ナレッジグラフ マシン ID(MID)です。データセット内のレコードを一意に識別するために使用できます。詳細オプションの [以前の BigQuery テーブル] を使用すると、複数の実行でこの cluster_id を安定させ、一貫性を保つことができます。
source_name STRING データセットを結合するために、入力構成で指定されたソース名。
source_key STRING データセットを結合するために、ソーステーブル内の一意のキー。
confidence FLOAT これらのレコードがこのクラスタに属する可能性を判断する信頼度スコア。
assignment_age INTEGER 異なるジョブ間で cluster_id(MID)を安定させるために内部的に使用されます。
cloud_kg_mid STRING リンクされた Google Cloud ナレッジグラフ エンティティ MID。この MID を永続 ID として使用することも、Cloud Knowledge Graph API から追加の詳細情報を検索することもできます。

SQL を使用してデータセットを結合する

Enterprise Knowledge Graph は、グループ化されたエンティティをクラスタ ID 別に出力します。結果を表示する最も簡単な方法は、クラスタ ID を使用して結果を「グループ化」することです。次の例では、出力テーブルを元のテーブルと結合して、簡単な健全性チェックを行います。

# get all entity clusters
SELECT distinct (cluster_id) FROM `ekg-test.<dataset>.clusters_9425187210682344597` order by cluster_id LIMIT 1000;
 
# join data with original table
SELECT confidence, RS., SRC. FROM `ekg-test.<dataset>.clusters_9425187210682344597` as RS join `ekg-api-test.demo.organization` as SRC
on RS.source_key = SRC.source_key where cluster_id = "r-02b72jsgrbws18";

このエンティティ クラスタは、同じクラスタに属する 2 つの異なるレコードを表します。この同じ cluster_id は、これら 2 つのレコードを結合してマージする必要があることを示します。

SQL を使用して結果を結合する

成果の測定

ペアごと

  • 適合率: 類似していると誤って識別された個別のエンティティの比率(手動検査で検出されやすい偽陽性)。

  • 再現率: 偽陰性として識別されない類似エンティティの比率、または検出が難しい類似エンティティの比率。

クラスタ V 測定

  • クラスタ V 測定: (1 + ベータ) * 同質性 * 完全性 / (ベータ * 同質性 + 完全性)(ベータ=1)。

  • クラスタの同質性: 同じエンティティに属するエンティティを持つクラスタの比率。

  • クラスタの完全性: 同じエンティティに属するすべてのエンティティが同じクラスタに配置されるクラスタの比率。