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

cosine-similarity - コサイン類似度を計算する際のドキュメントの長さが異なりますか?

単語数が異なる 2 つの文書間でコサイン類似度を見つけたい場合、規則はありますか?

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

r - Rを使用してコサイン類似度によって上位のK類似ベクトルを効率的に取得するにはどうすればよいですか?

私は高次元の問題 (〜 4k 項) に取り組んでおり、(コサイン類似度によって) 最上位の k 類似を取得したいと考えており、ペアごとの計算を行う余裕がありません。

私のトレーニング セットは 600 万 x 4k マトリックスで、600k x 4k マトリックスの予測を行いたいと考えています。

600k x 4k マトリックスの各アイテムの k 類似アイテムを取得する最も効率的な方法は何ですか?

理想的には、600k x 10 のマトリックスを取得したいと考えています (つまり、600k の各アイテムの上位 10 個の類似アイテム)。

ps: SO Web サイトを調査したところ、ほぼすべての「R のコサイン類似性」の質問が参照されていることがわかりましたcosine_sim(vector1, vector2)。しかし、この質問はcosine_sim(matrix1, matrix2).

更新 次のコードは、単純な方法を使用して、テストセットの各行とトレーニング セットのすべての行の間のコサイン類似度を見つけます。

トレーニング用に 5000x200 マトリックス、テスト用に 2000x200 マトリックスで同じ関数を実行すると、380 秒以上かかりました。

理想的には、すべての行の類似性を計算する必要がないいくつかのアイデアを見たいと思っています。それが不可能な場合は、上記のコードをベクトル化する方法に関するいくつかの指針が役立ちます。

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

probability - ベクトル間の距離の測定

何らかの方法で比較したい 300.000 程度のベクトルのセットがあり、1 つのベクトルを指定して、3 つの方法で考えた最も近いベクトルを見つけたいと考えています。

  • 単純なユークリッド距離
  • コサイン類似度
  • グラム行列を計算するには、カーネル (ガウスなど) を使用します。
  • ベクトルを離散確率分布として扱い(これは理にかなっています)、発散測度を計算します。

どちらか一方を実行する方が便利な場合はよくわかりません。私のデータにはゼロ要素がたくさんあります。それを念頭に置いて、3 つの方法のうちどれが最適かについての一般的な経験則はありますか?

弱い質問で申し訳ありませんが、どこかから始めなければなりませんでした...

ありがとうございました!

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

python - TF-IFcosine 類似度の実行中に stop_words を追加

コサイン類似度を実行するために sklearn を使用しています。

大文字で始まるすべての単語をストップ ワードと見なす方法はありますか?

0 投票する
0 に答える
222 参照

r - クラスタリング、ただし条件あり (R)

各ドキュメント間のコサイン類似度を使用して、ドキュメントのクラスタリングを行っています。これで問題ありません。ただし、私の問題は、すべてのドキュメントを互いにクラスター化するのではなく、特定のドキュメントのみをクラスター化するという点で少し奇妙です。ここに例があります...

それぞれ 3 つのラベルを持つ 2 つのスプレッドシートがあります。ドキュメント間で互いに類似しているが、ドキュメントの内部ではなく、互いに類似しているラベルをクラスター化したいので、たとえば

  • Doc1: ラベルがあります: 性別と性別、喫煙年数、現在の年齢

  • Doc2: ラベルがあります: 性別、現在の年齢、使用時間

ドキュメント内ではなく 2 つのドキュメント間のラベルをクラスター化したいので、次のような類似度マトリックスを作成しました。

ここで、同じドキュメント内のラベル間のコサイン類似度は NA として設定されます。問題は、agnes やその他の階層的クラスタリング手法が NA 値を受け入れないことです。それで、私は何をすべきですか?私はこれについて間違った方法で考えていますか?

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

java - ドキュメントの類似性を見つける最良の方法

NLP は初めてです。2 つのドキュメントの類似点を見つけたいです。

私はググって、それを行う方法がいくつかあることを発見しました。

これを行うための最良の方法は何ですか(私は他の方法にも対応しています)、これにより高精度が得られます。Javaにこれを行うためのAPIがある場合は、私にも知らせてください

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

hadoop - ユーザー類似性マトリックスを計算する mapreduce 方法

多くのユーザー (1,000 万人以上) のリストがあります。各ユーザーは、ユーザー ID とそれに続く 10 個の浮動小数点数 (好みを示す) で表されます。mapreduce に基づくコサイン類似度を使用して、ユーザー類似度行列を効率的に計算したいと考えています。ただし、値は浮動小数点数であるため、mapreduce フレームワークでキーを決定するのは困難です。助言がありますか?