問題タブ [cosine-similarity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
487 参照

cosine-similarity - コサイン類似性-1対多

コサイン類似性を使用して単一のドキュメントを一連のドキュメントと比較する良い方法があるかどうか疑問に思っています。明らかに、単一のドキュメントとセット内のすべてのドキュメントの間の余弦の類似性を計算できますが、これを実行した場合、平均を取りますか?元のドキュメントと比較している他の各ドキュメントのサイズで重み付けしますか?また、比較しているドキュメントのセット内のすべての単語数を組み合わせて、最終的にコサイン類似度を1回だけ計算する方法があるかどうか疑問に思っています。元のドキュメントと「集約された」ドキュメントの間。私が尋ねている理由は、約50,000のドキュメントの個別のセットと比較したい約200,000のドキュメントがあるためです.200,000のそれぞれを50のそれぞれと比較すると、000は多くの計算であり、とにかく最終的にある種の平均を取るつもりである場合、それが実際に必要かどうかはわかりません。私の集約されたドキュメントのアイデアは大したことではありませんか?

0 投票する
7 に答える
118945 参照

python - 2 つの文の文字列を指定してコサイン類似度を計算する

Pythonから: tf-idf-cosine: to find document similarity、tf-idf cosine を使用してドキュメントの類似性を計算できます。外部ライブラリをインポートせずに、2 つの文字列間のコサイン類似度を計算する方法はありますか?

0 投票する
1 に答える
852 参照

java - MahoutのRandomAccessSparseVectorsのコサイン距離

私はMahoutを初めて使用し、最近、以前の機械学習コードの多くをこのフレームワークに変換しています。多くの場所で、クラスタリングや分類などのためにベクトル間の余弦類似性を使用しています。しかし、Mahoutの距離法を調査すると、非常に驚​​きました。次のコードスニペットでは、ディメンションとフロートの値は、私のプログラムの1つの実際の出力から取得されています(ここでは重要ではありません)。

出力は1.0です。そうではない0.0ですか?

これをの出力と組み合わせると、cosineDistanceMeasure.distance(u, u)私が探しているのはであることがわかり1 - cosineDistanceMeasure.distance(u, v)ます。しかし、この逆転は私には意味がありません。なぜそれがこのように実装されたのか、何か考えはありますか?それとも私は非常に明白な何かを見逃していますか?

0 投票する
1 に答える
714 参照

java - コサイン類似度が間違った距離を返す

HashMap として表される 2 つのベクトルがあり、それらの間の類似性を測定したいと考えています。次のコードのように、コサイン類似度メトリックを使用します。

不思議なことに、似ていないはずの 2 つのベクトルが 0.9999 の結果に近くなりましたが、これはまったくの間違いです!

キーは両方のマップでまったく同じであることに注意してください。

データファイルはここにあります: file

ファイル形式:

FeatureId vector1_value vector2_value

0 投票する
1 に答える
814 参照

vector - コンテキスト ベクトルの比較

ベクトルを使用して単語の前後のコンテキストを表現しており、コンテキストを相互に比較する必要があります。以下は、私の問題の簡略版です。

vector があるとしましょうa=[1,1,15,2,0]。次に、ベクトルb=[0,0,15,0,0]とがありc=[1,1,11,0,1]ます。2 つのベクトルをコサイン類似度で比較すると、 にb最も近くなりaます。ただし、ベクトルはコンテキストを表しているため、私の場合は、元の単語と共通の単語が1つあり、同じスコアを持つコンテキストにすぎないcため、より意味があります。b

どうすればc最も類似したものとして返すことができますか? 別の類似性測定?それとも私の推論がどこか間違っているのでしょうか?

私が言ったように、これは私の問題を単純化したものです。私はすでにベクトルを正規化しており、コンテキストワードをスコアリングするために対数尤度を使用しています。

ありがとう!

0 投票する
1 に答える
706 参照

similarity - マルチタイプデータのコサイン類似度を計算するには?

データベースにレコード (行) があり、類似のレコードを識別したいと考えています。コサイン類似度を使用するという制約があります。変数 (属性、列) の型が異なり、次の形式である場合:

コサイン類似度を適用するためにベクトル化に進むにはどうすればよいですか? 文字列には、単純な tf-idf を使用できます。しかし、数値とブール値の場合は?. そして、これをどのように組み合わせることができますか?私の考えでは、ベクトルの長さは 1+1+1+20 になります。しかし、レコードの数値をベクトルの係数に変換し、それらを文字列の tf-idf と連結してコサイン類似度を計算することは、意味的に「効率的」ですか? または、数字を単語として扱い、tf-idf を数字にも適用できます。別のテクニックはありますか?

0 投票する
1 に答える
75 参照

java - lucene の getTermFrequencyVector

2 つのドキュメント間のコサイン シータ類似度距離を計算する際に、lucene 関数 getTermFreqVector() がどのように機能するかを理解しています。getTermFreqVector(doc number, field-name) で「フィールド名」が何を意味するのか、誰でも光を当てることができますか

0 投票する
1 に答える
694 参照

nlp - 2 つの副詞または 2 つの形容詞の類似度を計算する

2 つの副詞または 2 つの形容詞の類似度を計算するプログラムを書きたいのですが、WordNet には副詞と形容詞のオントロジー構造がありません。

最初の試行では、Adapt-lesk アルゴリズムを使用しました。このアルゴリズムの結果は、副詞または形容詞にとって非常に残念です。これらの類似性を計算する最良の方法は何ですか? この問題を解決するのを手伝ってください。

皆さんありがとう。

0 投票する
1 に答える
10936 参照

java - Lucene で tf-idf とコサインの類似性を実装するにはどうすればよいですか?

Lucene で tf-idf とコサインの類似性を実装するにはどうすればよいですか? Lucene 4.2 を使用しています。私が作成したプログラムは、tf-idf と Cosine の類似性を使用せず、TopScoreDocCollector のみを使用します。

tf-idf と余弦類似度を使用して計算結果を表示するにはどうすればよいですか?

0 投票する
1 に答える
4064 参照

php - PHP のコサイン類似度

PHPで1(ID1)と3(ID1)のコサイン類似度を計算したいです。式は次のようになります。

私のデータセットは次のようになります。

このためにPHPでコサイン類似度を計算するアルゴリズムはありますか?