ブロックリファレンス

BLOCKS Reference

文書(限定公開)

文書のクラスタリング(DBSCAN)

概要

このブロックは、DBSCAN 方式で文書をクラスタリングします。ここで言う文書とは、[文書のベクトル化(TF-IDF)]ブロックや[文書のベクトル化(doc2vec)]ブロックで、ベクトル化された値を指します。

対応する言語は、日本語と英語のみです。

文書のクラスタリング(DBSCAN)ブロックの概要図
  • 「クラスタリング対象 BigQuery テーブル」には、文書を特定するキーを持つ列と文書のベクトル値を持つ列が必要です。
  • 「結果出力先 BigQuery テーブル」は、key 列と label 列で構成されます。

    • key 列:各文書へのキーです。
    • label 列:key が示す文書のクラスタリング結果のラベルです。ラベル値の意味は、以下の通りです。
      • -1:ノイズ(外れ値、どのクラスタにも属さない)
      • 0 〜:クラスタごとの番号

セルフサービスプラン(無料トライアル含む)の場合は、このブロックを使用する前に、Dataflow API を有効にしてください。詳しくは、「基本操作ガイド > ヒント > Google API を有効にする」を参照してください。

文書カテゴリーのブロックはすべて限定公開です。文書カテゴリー各ブロックの利用を希望される場合は、「お問い合わせ」ページより問い合わせ願います。

プロパティ

プロパティ名 説明
ブロック名 ブロックの名前を指定します。ブロックに表示されます。
GCP サービスアカウント このブロックで使用する GCP サービスアカウントを選択します。
クラスタリング対象 BigQuery データセット

クラスタリング対象 BigQuery テーブル]プロパティで指定する BigQuery テーブルが属する BigQuery データセットの ID を指定します。

「クラスタリング対象 BigQuery データセット」・「結果出力先 BigQuery データセット」・「一時フォルダー GCS URL」のロケーションは合わせる必要があります。BigQuery のデータセットが US マルチリージョンの場合は、この限りではありません。

変数展開の指定が可能][% 形式の文字列書式の指定が可能]
クラスタリング対象 BigQuery テーブル

クラスタリングしたい文書(ベクトルデータ)が格納されている BigQuery テーブルの ID を指定します。

変数展開の指定が可能][% 形式の文字列書式の指定が可能]
結果出力先 BigQuery データセット

結果出力先 BigQuery テーブル]プロパティで指定する BigQuery テーブルが属する BigQuery データセットの ID を指定します。

「クラスタリング対象 BigQuery データセット」・「結果出力先 BigQuery データセット」・「一時フォルダー GCS URL」のロケーションは合わせる必要があります。BigQuery のデータセットが US マルチリージョンの場合は、この限りではありません。

変数展開の指定が可能][% 形式の文字列書式の指定が可能]
結果出力先 BigQuery テーブル

文書のクラスタリング結果のラベルを出力する BigQuery テーブルの ID を指定します。

空でないテーブルが存在する場合は、空にして上書きします。

変数展開の指定が可能][% 形式の文字列書式の指定が可能]
一時フォルダー GCS URL

このブロックの内部処理で一時的に使用する GCS 上のフォルダーを指定します。

内部処理中に、このフォルダーに一時的なファイルが作成されますが、処理終了後は削除されます。

「クラスタリング対象 BigQuery データセット」・「結果出力先 BigQuery データセット」・「一時フォルダー GCS URL」のロケーションは合わせる必要があります。BigQuery のデータセットが US マルチリージョンの場合は、この限りではありません。

変数展開の指定が可能][% 形式の文字列書式の指定が可能]
ブロックメモ ブロックに対するコメントを指定します。
キーの列名

クラスタリング対象 BigQuery テーブル]で各文書を一意に識別する値が格納された列名を指定します。

ベクトルの列名

クラスタリング対象 BigQuery テーブル]で文書のベクトル値が格納された列名を指定します。

近傍探索半径ε

近傍探索半径 ε を指定します。

DBSCAN の特徴として、近傍半径 ε はクラスタリング結果に大きな影響を与える数値です。

一般的に、ε が非常に小さい値だと、データの大部分はクラスタリングされません(0.0 や負の値は指定できません)。一方で大きな値だと、クラスタは併合され、データの多くが同一のクラスタに属することとなります。

このため、ε 値は小さな値が好ましいといえます。

具体的にどのような値にすべきかは、対象データの分布によるため、各データ間の相互距離(密度)がどのくらいなのかを分析する必要があります。

これは、Vector Viewer で EUCLIDEAN での近傍距離を調べることで、おおよその密度を知ることができます。ただし、文書のベクトル化(TF-IDF)ブロックでベクトル化したデータは参照できません。

Vector Viewer で近傍距離を調べる様子
  1. 点をクリック
  2. EUCLIDEAN をクリック
  3. 1 の点と各点との近傍距離を参照

ここで得た値を参考に基準値を決め ε 値を設定し、適切なクラスタリング結果となるよう試行を繰り返して、値を調整していく必要があります。

この情報は役に立ちましたか?