ドキュメントのクラスターが与えられた場合、コーパスとクラスター間の類似性を計算します

Qiwei Peng

コーパス内の各ドキュメントとクラスターの間の距離を計算することにより、類似性ランキングの仕事をしています。クラスターは、ドキュメントのリストとしても提供されます。私が困っているのは、類似性を計算できるように、クラスターの重心を計算する適切な方法を思い付くことができないということです。クラスターのtfidf行列の平均値を使用しようとしましたが、結果は良くありませんでした。

例:私のクラスターは次のとおりです。

['Line a baking pan with a sheet of parchment paper.',
 'Line the cake pan with parchment paper.',
 'Line the bottom with parchment paper.',
 'Line a baking pan with parchment paper.'
]

そして私のコーパスには次の3つのドキュメントが含まれています。

['Add vinegar and sugar.',
 'Remove pan from heat and let stand 5 minutes.',
 'Line the pan with parchment paper.'
]

すべてのドキュメントとクラスター間の類似性を計算したいのですが、次のような結果が得られる可能性があります。

[0.1, 0.1, 0.8]

何か提案はありますか?クラスターとコーパスの両方のドキュメントをtfidf行列として表現しようとしましたが、2つの行列間の類似性を計算して目的の結果を出すのは難しいようです。LSIを試しましたが、クラスターを表す重心を見つける必要があるのは、クラスタードキュメントではなくランク付けしたいコーパスです。

KRKirov
from sklearn.feature_extraction.text import TfidfVectorizer
import numpy as np

cluster = ['Line a baking pan with a sheet of parchment paper.',
            'Line the cake pan with parchment paper.',
            'Line the bottom with parchment paper.',
            'Line a baking pan with parchment paper.']

corpus = ['Add vinegar and sugar.',
          'Remove pan from heat and let stand 5 minutes.',
          'Line the pan with parchment paper.']

# Train tfidf on cluster
tfidf = TfidfVectorizer()
tfidf_cluster = tfidf.fit_transform(cluster)

# Tranform the corpus using the trained tfidf
tfidf_corpus = tfidf.transform(corpus)

# Cosine similarity
cos_similarity = np.dot(tfidf_corpus, tfidf_cluster.T).A
avg_similarity = np.mean(cos_similarity, axis=1)

cos_similarity
Out[271]: 
array([[0.        , 0.        , 0.        , 0.        ],
       [0.31452723, 0.36145869, 0.        , 0.43855558],
       [0.50673521, 0.8242027 , 0.7139548 , 0.70655744]])

avg_similarity
Out[272]: array([0.        , 0.27863537, 0.68786254])

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

クラスのセットが与えられた場合、メソッドパラメーターが一致するクラスを呼び出します

分類Dev

エンドポイントが非常に類似している場合のパスパラメータとクエリパラメータ

分類Dev

型以外のテンプレートパラメータを持つクラスが与えられた場合、引数の値の任意のペアについて、クラスが相互にフレンドになる可能性はありますか?

分類Dev

それらをクラスター化するための完全グラフ上のMST(コサイン類似性の場合)

分類Dev

この流動性スマートコントラクトコードをテストしようとしていますが、エラーが表示された場合。流動性は、tezosのスマートコントラクト言語であるocamlに似ています。

分類Dev

クラス変数がc#のコンストラクターによって受信された仮パラメーターと同じである場合、誰かがより良い命名スキームを提案できますか?

分類Dev

別のクラスのデータメンバーとしてオブジェクトが作成されている場合、パラメーター化されたコンストラクターに値を渡す方法は?

分類Dev

Python 3:子コンストラクターに親コンストラクターよりも多くの引数がある場合、継承されたメソッドから新しい子クラスインスタンスを返す

分類Dev

Redux-Observable-現在のパラメーターと同じパラメーターがある場合は次のリクエストをキャンセルしますが、パラメーターが異なる場合は実行します

分類Dev

分析の説明:タスクの実行に費やされた合計時間。ドキュメントエラーまたは私のエラー?

分類Dev

具象クラスではなくインターフェースに依存することで、具象クラスに変更が加えられた場合、Javaでのコンパイル時間が短縮されますか?

分類Dev

ブールパラメーターが与えられた場合、コントローラーで従業員のリストを返す方法fx api / employees?hasOvertime = true

分類Dev

スーパークラスからのものを指定した場合でも、コンストラクターでオーバーライド可能なメソッドを呼び出しますか?

分類Dev

TFIDFベクトルでコサイン類似度マトリックスを計算しようとしたときのメモリエラー

分類Dev

キーワード「this」がコンストラクター内で使用される場合のコピーコンストラクターを定義する

分類Dev

コンストラクターが実装されたインターフェースからのものとは異なるパラメータータイプを受け取った場合、Typescriptコンパイラーからのエラーはありません

分類Dev

各ステートメントがコレクションにクラッシュしたデータベースのプロパティ値の取得が変更されました列挙操作が実行されない場合があります

分類Dev

ヒストグラム間の類似性のパーセンテージを計算する方法(特徴ベクトル)

分類Dev

C ++ "<デフォルトのコンストラクター>からパラメーター化されたコンストラクターに変換するのに適したコンストラクターが存在しません

分類Dev

ボタンがストーリーボードから作成された場合、サブクラスのUIButtonタイプを変更します

分類Dev

同一で類似しているが異なるメソッドを共有する2つのクラスのJava設計パターン

分類Dev

ASPX-パラメーター化されたコンストラクターをスキップして、パラメーターなしのコンストラクターが呼び出されるのはなぜですか?

分類Dev

クラスのコピーコンストラクタが削除されたときに、クラスの配列メンバーを初期化します

分類Dev

「この Intel 汎用グラフィック ドライバーをインストールすると、コンピューター メーカー (OEM) からカスタマイズされたドライバーが上書きされます」

分類Dev

クラス内のstd :: mapまたはstd :: vectorに類似したコンストラクター

分類Dev

コンストラクターにつまようじのパラメーターがある場合にファクトリを介して注入する

分類Dev

「ソースコード」からのスクリプトの場合、パラメータは置き換えられません

分類Dev

ドライバクラスパスまたはエグゼキュータクラスパスが設定されていない場合、-py-filesを指定したspark-submitコマンドは失敗します

分類Dev

ベースと派生の両方が派生型パラメーターでテンプレート化されている場合にベースコンストラクターを呼び出すときのコンパイラエラー

Related 関連記事

  1. 1

    クラスのセットが与えられた場合、メソッドパラメーターが一致するクラスを呼び出します

  2. 2

    エンドポイントが非常に類似している場合のパスパラメータとクエリパラメータ

  3. 3

    型以外のテンプレートパラメータを持つクラスが与えられた場合、引数の値の任意のペアについて、クラスが相互にフレンドになる可能性はありますか?

  4. 4

    それらをクラスター化するための完全グラフ上のMST(コサイン類似性の場合)

  5. 5

    この流動性スマートコントラクトコードをテストしようとしていますが、エラーが表示された場合。流動性は、tezosのスマートコントラクト言語であるocamlに似ています。

  6. 6

    クラス変数がc#のコンストラクターによって受信された仮パラメーターと同じである場合、誰かがより良い命名スキームを提案できますか?

  7. 7

    別のクラスのデータメンバーとしてオブジェクトが作成されている場合、パラメーター化されたコンストラクターに値を渡す方法は?

  8. 8

    Python 3:子コンストラクターに親コンストラクターよりも多くの引数がある場合、継承されたメソッドから新しい子クラスインスタンスを返す

  9. 9

    Redux-Observable-現在のパラメーターと同じパラメーターがある場合は次のリクエストをキャンセルしますが、パラメーターが異なる場合は実行します

  10. 10

    分析の説明:タスクの実行に費やされた合計時間。ドキュメントエラーまたは私のエラー?

  11. 11

    具象クラスではなくインターフェースに依存することで、具象クラスに変更が加えられた場合、Javaでのコンパイル時間が短縮されますか?

  12. 12

    ブールパラメーターが与えられた場合、コントローラーで従業員のリストを返す方法fx api / employees?hasOvertime = true

  13. 13

    スーパークラスからのものを指定した場合でも、コンストラクターでオーバーライド可能なメソッドを呼び出しますか?

  14. 14

    TFIDFベクトルでコサイン類似度マトリックスを計算しようとしたときのメモリエラー

  15. 15

    キーワード「this」がコンストラクター内で使用される場合のコピーコンストラクターを定義する

  16. 16

    コンストラクターが実装されたインターフェースからのものとは異なるパラメータータイプを受け取った場合、Typescriptコンパイラーからのエラーはありません

  17. 17

    各ステートメントがコレクションにクラッシュしたデータベースのプロパティ値の取得が変更されました列挙操作が実行されない場合があります

  18. 18

    ヒストグラム間の類似性のパーセンテージを計算する方法(特徴ベクトル)

  19. 19

    C ++ "<デフォルトのコンストラクター>からパラメーター化されたコンストラクターに変換するのに適したコンストラクターが存在しません

  20. 20

    ボタンがストーリーボードから作成された場合、サブクラスのUIButtonタイプを変更します

  21. 21

    同一で類似しているが異なるメソッドを共有する2つのクラスのJava設計パターン

  22. 22

    ASPX-パラメーター化されたコンストラクターをスキップして、パラメーターなしのコンストラクターが呼び出されるのはなぜですか?

  23. 23

    クラスのコピーコンストラクタが削除されたときに、クラスの配列メンバーを初期化します

  24. 24

    「この Intel 汎用グラフィック ドライバーをインストールすると、コンピューター メーカー (OEM) からカスタマイズされたドライバーが上書きされます」

  25. 25

    クラス内のstd :: mapまたはstd :: vectorに類似したコンストラクター

  26. 26

    コンストラクターにつまようじのパラメーターがある場合にファクトリを介して注入する

  27. 27

    「ソースコード」からのスクリプトの場合、パラメータは置き換えられません

  28. 28

    ドライバクラスパスまたはエグゼキュータクラスパスが設定されていない場合、-py-filesを指定したspark-submitコマンドは失敗します

  29. 29

    ベースと派生の両方が派生型パラメーターでテンプレート化されている場合にベースコンストラクターを呼び出すときのコンパイラエラー

ホットタグ

アーカイブ