段落/ doc2vecベクトルをクラスタリングする場合の適切な距離メトリックは何ですか?

綿毛

私の意図は、HDBSCANを使用してdoc2vecからドキュメントベクトルをクラスター化することです。セマンティックとテキストの重複がある小さなクラスターを見つけたいと思います。

これを行うために、私はgensimを使用してドキュメントベクトルを生成しています。結果のdocvecsの要素はすべて[-1,1]の範囲にあります。

2つのドキュメントを比較するために、角度の類似性を比較したいと思います。これを行うには、ベクトルのコサイン類似度を計算します。これは正常に機能します。

ただし、ドキュメントをクラスター化するには、HDBSCANには、類似性マトリックスではなく、距離マトリックスが必要です。コサイン類似度からコサイン距離へのネイティブ変換sklearn1-similarityです。ただし、この式を使用すると、三角不等式が破られ、真の距離メトリックになることができなくなる可能性があることを理解しています。同様のタスクについて他の人のコードを検索して見ると、ほとんどの人がsklearn.metrics.pairwise.pairwise_distances(data, metric='cosine')コサイン距離を定義するものを使用しているよう1-similarityです。適切な結果が得られるようです。

これが正しいのか、それとも代わりに角距離を使用する必要があるのか​​、として計算されnp.arccos(cosine similarity)/piます。また、l2で正規化されたドキュメントベクトルでユークリッド距離を使用する人もいます。これはコサイン類似度と同等のようです。

クラスタリングのためにドキュメントベクトル間の距離を計算するための最も適切な方法を教えてください:)

ゴジョモ

適切なメトリックではないコーナーケースがあるにもかかわらず、実際にはコサイン距離が使用されていると思います。

「結果のドキュメントの要素はすべて[-1,1]の範囲にあります」とおっしゃっています。通常、これが当てはまるとは限りません。ただし、すべての生のdocベクトルをすでにユニット正規化した場合はそうなります。

その単位正規化を実行した場合、または実行したい場合、そのような正規化の後、ユークリッド距離は常にコサイン距離と同じ最近傍のランク付けされた順序を与えます。絶対値、およびそれらの間の相対的な比率は少し異なりますが、すべての「XはZよりもYに近い」テストは、コサイン距離に基づくテストと同じになります。したがって、クラスタリングの品質は、コサイン距離を直接使用する場合とほぼ同じである必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Doc2Vec文を段落ベクトルに結合する

分類Dev

doc2vec段落表現をトレーニング後のクラスタグにマッピングする

分類Dev

単語ベクトルは、doc2vec DBOWの段落ベクトルとどのように共同トレーニングされますか?

分類Dev

データの段落を含むXMLファイルの要素を設計(適切にタグ付け)するためのベストプラクティスは何ですか?

分類Dev

ifステートメントでボタンクリックの段落コンテンツを変更するにはどうすればよいですか?

分類Dev

InDesignスクリプトは、段落スタイルの場合にストーリーを抽出します

分類Dev

sed段落タグ

分類Dev

2列の段落

分類Dev

複数の段落

分類Dev

クリック後に他のページの要素(テキスト段落の場合もあります)を強調表示することはできますか?

分類Dev

翡翠:段落内のリンク

分類Dev

段落内のテキストは、<p>タグを省略した場合、フレックスボックスの垂直方向の中央にのみ配置されます。その背後にある理由は何ですか?

分類Dev

リンクではない段落のすべての最初の文字のスタイルを設定する方法

分類Dev

pythonをトリプルクリックして段落を選択する方法は?

分類Dev

段落のOnclickイベントは、段落の下でトリガーされます

分類Dev

HTML / CSS段落タグ

分類Dev

Rの段落で分割

分類Dev

ブックダウンを使用するときに、リストアイテム内の段落を適切にインデントする

分類Dev

ブックダウンを使用するときに、リストアイテム内の段落を適切にインデントする

分類Dev

AngularNativeScriptの段落にルーターリンクを追加する

分類Dev

Divの右下の段落

分類Dev

Elmの段落の幅

分類Dev

段落行の配置XML

分類Dev

ボタンをクリックして段落テキストを変更するJavascriptイベントリスナーが機能しませんか?

分類Dev

ボタンクリックで段落のサイズを変更する

分類Dev

何かをクリックした後に別の段落を表示する方法

分類Dev

特定の段落をクリックしてイベントをアクティブ化する方法

分類Dev

ボタンをクリックするだけで、5つの段落のうち3番目の段落を非表示にします。段落にクラスやIDを割り当てる必要はありません。

分類Dev

スクリプトを使用してSolrで段落を個別のドキュメントに解析する

Related 関連記事

  1. 1

    Doc2Vec文を段落ベクトルに結合する

  2. 2

    doc2vec段落表現をトレーニング後のクラスタグにマッピングする

  3. 3

    単語ベクトルは、doc2vec DBOWの段落ベクトルとどのように共同トレーニングされますか?

  4. 4

    データの段落を含むXMLファイルの要素を設計(適切にタグ付け)するためのベストプラクティスは何ですか?

  5. 5

    ifステートメントでボタンクリックの段落コンテンツを変更するにはどうすればよいですか?

  6. 6

    InDesignスクリプトは、段落スタイルの場合にストーリーを抽出します

  7. 7

    sed段落タグ

  8. 8

    2列の段落

  9. 9

    複数の段落

  10. 10

    クリック後に他のページの要素(テキスト段落の場合もあります)を強調表示することはできますか?

  11. 11

    翡翠:段落内のリンク

  12. 12

    段落内のテキストは、<p>タグを省略した場合、フレックスボックスの垂直方向の中央にのみ配置されます。その背後にある理由は何ですか?

  13. 13

    リンクではない段落のすべての最初の文字のスタイルを設定する方法

  14. 14

    pythonをトリプルクリックして段落を選択する方法は?

  15. 15

    段落のOnclickイベントは、段落の下でトリガーされます

  16. 16

    HTML / CSS段落タグ

  17. 17

    Rの段落で分割

  18. 18

    ブックダウンを使用するときに、リストアイテム内の段落を適切にインデントする

  19. 19

    ブックダウンを使用するときに、リストアイテム内の段落を適切にインデントする

  20. 20

    AngularNativeScriptの段落にルーターリンクを追加する

  21. 21

    Divの右下の段落

  22. 22

    Elmの段落の幅

  23. 23

    段落行の配置XML

  24. 24

    ボタンをクリックして段落テキストを変更するJavascriptイベントリスナーが機能しませんか?

  25. 25

    ボタンクリックで段落のサイズを変更する

  26. 26

    何かをクリックした後に別の段落を表示する方法

  27. 27

    特定の段落をクリックしてイベントをアクティブ化する方法

  28. 28

    ボタンをクリックするだけで、5つの段落のうち3番目の段落を非表示にします。段落にクラスやIDを割り当てる必要はありません。

  29. 29

    スクリプトを使用してSolrで段落を個別のドキュメントに解析する

ホットタグ

アーカイブ