問題タブ [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 に答える
2074 参照

php - コサイン類似度 PHP

1 と 4、3 と 4 についても同様に、PHP で 1 (ID1) と 3 (ID1) の間のコサイン類似度を計算したいと思います。式は次のようになります。

類似度 = (1.1 * 3.1 + 1.4 * 3.4)/(((1.1)^2+(1.3)^2+(1.4)^2)^0.5)(((3.1)^2+ (3.4)^2)^ 0.5) = (4*4+8*4)/(((16+16+64)^0.5)(16+16)^0.5))

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

このためにPHPでコサイン類似度を計算するコードはありますか?

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

python - 類似度numpy.ndarrayから上位Kの関連ドキュメントを取得する

ここで定義されているドキュメントの類似性を使用しています。

私の質問は、numpy.ndarrayIs there a way to sort the numpy array and get the top-K related documents that are similar から最も関連性の高いドキュメントを取得する方法です。

これがサンプルコードです。

0 投票する
5 に答える
7084 参照

java - コサイン類似度をより速く計算する

IR プロジェクトでコサイン類似度を使用したいのですが、ベクトルのサイズが大きく、float を何度も乗算する必要があるため、時間がかかります。

コサイン類似度をより速く計算する方法はありますか?

ここに私のコードがあります:

0 投票する
9 に答える
142404 参照

python - 疎行列データを指定して、Python でコサイン類似度を計算する最速の方法は何ですか?

疎行列のリストが与えられた場合、行列の各列 (または行) 間のコサイン類似度を計算する最良の方法は何ですか? n-choose-two を 2 回繰り返すのは避けたいと思います。

入力行列は次のとおりです。

スパース表現は次のとおりです。

Python では、行列入力形式を使用するのは簡単です。

与えます:

完全な行列の入力では問題ありませんが、(行列のサイズとスパース性のため) スパース表現から始めたいと思います。これをどのように達成するのが最善かについてのアイデアはありますか? 前もって感謝します。

0 投票する
2 に答える
2696 参照

matlab - Matlabで複雑な余弦の類似性を取得するには?

このようにMatlabでコサイン類似度を実装しました。実際、50 行 50 列の 2 次元行列があります。コサインを取得するには、行ごとにアイテムを比較する必要があります。

これは正しいです?問題はこれです: この状態での複雑さまたは O(n) は何ですか?

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

hadoop - 魔法使いの行類似度

ウィキペディア ドキュメント間の行の類似性を計算しようとしています。format の tf-idf ベクトルがありますKey class: class org.apache.hadoop.io.Text Value Class: class org.apache.mahout.math.VectorWritable。ここからテキスト分析のクイック ツアーに従っています: https://cwiki.apache.org/confluence/display/MAHOUT/Quick+tour+of+text+analysis+using+the+Mahout+command+line

次のように mahout マトリックスを作成しました。

生成された行と列の数を取得しました:

行列の形式はKey class: class org.apache.hadoop.io.IntWritable Value Class: class org.apache.mahout.math.VectorWritable

docIndex次の形式のドキュメントもあります。Key class: class org.apache.hadoop.io.IntWritable Value Class: class org.apache.hadoop.io.Text

次に、rowsimilarity ジョブを実行すると

次のエラーが表示されます。

誰かが私にエラーを手伝ってくれますか? org.apache.hadoop.io.Text入力行列が次の形式の場合、これがどこから来たのかわかりません Key class: class org.apache.hadoop.io.IntWritable Value Class: class org.apache.mahout.math.VectorWritable

どうもありがとうございました。

ベスト、ドラガン

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

python - scikit Learnを使用してテキストの類似性を計算する際のエラー

私はベクトル空間モデル (VSM) の初心者です。そして、このサイトのコードを試しました 。これは VSM の非常に優れた紹介ですが、どうにかして著者とは異なる結果を得ることができました。導入が書かれてからscikit Learnが大きく変更されたように見えるので、互換性の問題が原因である可能性があります。私も説明を誤解していたのかもしれません。
以下のコードを使用して間違った答えを得ました。誰かがそれの何が悪いのか理解できますか? 以下のコードの結果と下の正しい答えを投稿します

私は手で計算を行ったので、ウェブサイトの結果が良いことを知っています. 同じコードを使用する別のStackoverflow の質問がありますが、Web サイトと同じ結果は得られません。

tf-idf
#[ 2.09861229 1. 1.40546511 1. ]の結果ベクトル

tf-idf
#[0.69314718, -0.40546511, -0.40546511, 0]の右ベクトル

結果 tf_idf_matrix
#[[ 0. 0.50154891 0.70490949 0.50154891]
#[ 0. 0.50854232 0. 0.861037 ]]

正解
# [[ 0. -0.70710678 -0.70710678 0. ]
# [ 0. -0.89442719 -0.4472136 0. ]]