問題タブ [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.
text - 非常に単純でグラフィカルな方法で、誰かがコサインの類似性の例を挙げてもらえますか?
ここにベクトルを (リストか何かで) 示してから、計算を行って、それがどのように機能するかを見てもらえますか?
algorithm - キーワードの交差に基づくマッチングのアルゴリズム
市場でお互いを見つけようとしている買い手と売り手がいるとします。バイヤーはキーワードで自分のニーズにタグを付けることができます。売り手は、販売しているものに対して同じことを行うことができます。2 つのキーワード セットに基づいて、特定の購入者との関連性に関して販売者をランク付けするアルゴリズムを見つけることに興味があります。
次に例を示します。
次に、関連性の観点から順序をランク付けする必要がある 2 つの潜在的な売り手があります。
キーワードの交差のみを使用する場合、あまり差別化されません。両方が 2 つのキーワードで交差します。交差数を集合和集合のサイズで割ると、キーワードの数が多いため、実際には売り手 2 の方が悪いです。これにより、キーワード セットのサイズを修正しないメソッドに対して自動的にペナルティが発生するように思われます (キーワードの追加にペナルティを科したくはありません)。
問題をもう少し構造化するために、キーワード属性の強さの正確な測定値があるとします (各販売者の合計が 1 になる必要があります)。たとえば、次のようになります。
これで、ヒットの値を合計できます。つまり、売り手 1 のスコアは 0.1 しかありませんが、売り手 2 のスコアは 0.9 です。これまでのところ、非常に良いですが、非常に限定的で説明のないキーワード セットを持つ 3 番目のセラーを獲得する可能性があります。
これにより、唯一のキーワードがヒットした場合にトップに躍り出ますが、これは良くありません。
とにかく、私の推測 (そして希望) は、これはかなり一般的な問題であり、既知の長所と制限を持つさまざまなアルゴリズム ソリューションが存在するということです。これはおそらく CS101 でカバーされているものなので、この質問に対する適切な回答は、関連する参考文献へのリンクであると思います。
information-retrieval - コサイン類似度とtf-idf
TF-IDFとコサイン類似性についての次のコメントに混乱しています。
私は両方を読んでいて、ウィキのコサイン類似性の下でこの文を見つけました。「情報検索の場合、2つのドキュメントのコサイン類似性は0から1の範囲になります。これは、用語の頻度(tf-idfの重み)が負。2つの項の頻度ベクトル間の角度は90を超えることはできません。」
今、私は疑問に思っています....彼らは2つの異なるものではありませんか?
tf-idfはすでにコサイン類似性の中にありますか?もしそうなら、一体何なのか-私は内側の内積とユークリッドの長さしか見ることができません。
tf-idfは、テキストでコサイン類似性を実行する前にできることだと思いました。私は何か見落としてますか?
ruby - Solr/Luceneでコサインの類似性をモデル化することは可能ですか?
Solr を使用してコサイン類似度アルゴリズムをモデル化する方法に興味があります。ベクトルが割り当てられたアイテムがあります。たとえば、次のようになります。
そして、他のものをランク付けする必要がある検索ベクトル。
現在、すべてのアイテムを実行し、入力ベクトルに対してランクを割り当てることにより、これを Ruby でモデル化しています。私が使用しているコサイン類似度の実装は次のとおりです。
次に、ランク付けされたリストを取得するには、次のようにします。
Solr については、これがどのようにモデル化されるのか、あるいはそれが可能かどうかを知るのに十分な知識はありませんが、そこに放り出そうと思いました。
python - Pythonでコサイン類似度を使用して、クエリドキュメントと比較して最も類似したドキュメントを返します
私は一連のファイルとクエリ doc を持っています。私の目的は、各ドキュメントのクエリ doc と比較して、最も類似したドキュメントを返すことです。最初にコサイン類似度を使用するには、ドキュメント文字列をベクトルにマップする必要があります。ドキュメントごとに計算する tf-idf 関数を作成しました。
文字列のインデックスを取得するには、そのような関数があります。
コサイン類似度の場合、私の機能は次のとおりです。
TF-IDFは;
私の問題は、インデックスと語彙リスト、およびこの関数内の tf-idf を使用して makevector を作成するにはどうすればよいかということです。どんな答えでも大歓迎です。
r - R でベクトルベースのクラスタリングを行うための関数とデータ形式
データ行ベクトルの相関に対してクラスタリングを実行する必要があります。つまり、個々の変数をクラスタリング予測変数として使用する代わりに、データ行間の変数のベクトル間の相関を使用するつもりです。
ベクトルベースのクラスタリングを行う R の関数はありますか。そうでない場合、手動で行う必要がある場合、cmeans や kmeans などの関数に入力する適切なデータ形式は何ですか? たとえば、m 個の変数と n 個のデータ行があり、m 個の変数は各データ行に対して 1 つのベクトルを構成します。そのため、相関または余弦の X n 行列があります。このマトリックスをクラスタリング機能に直接組み込むことはできますか、それとも特定の処理が必要ですか?
どうもありがとう。
lucene - より大きな tf は常に Lucene のドキュメント スコアを向上させますか?
デフォルトの用語頻度 (tf) は、検索対象の特定の用語がフィールドに出現する回数の sqrt として単純に計算されることを理解しています。そのため、検索対象の用語が複数回出現するドキュメントは、より高い tf を持ち、したがって重みが高くなります。
私が確信が持てないのは、これが重みが高いためにドキュメントスコアを上げるのに役立つのか、それともドキュメントベクトルをクエリベクトルから遠ざけるためにドキュメントスコアを下げるのかということです。 . ドキュメントベクターモデルが lucene スコアリング方程式にどのように適合するかを確認するのに本当に苦労していることを告白します
java - LuceneとJavaを使用してtf-idfとの余弦類似度を計算する方法
クエリと一連のドキュメントがあります。tf-idfとのコサイン類似性に基づいてこれらのドキュメントをランク付けする必要があります。誰かがこれを計算するためにLuceneからどのようなサポートを得ることができるか教えてもらえますか?Luceneから直接計算できるパラメーター(luceneのメソッドを介してtf、idfを直接取得できますか?)およびLuceneとの余弦類似度の計算方法(クエリの2つのベクトルを渡した場合に余弦類似度を直接返す関数はありますか?ドキュメント?)
よろしくお願いします
performance - (nxdxt) 行列のポイント間のペアワイズ コサイン方向距離の高速計算
Matlab の pdist(X,distance) が点の (nxd) 行列を取得し、それらの間のペアごとの距離を計算することを認識しています。また、行列にポイントではなくベクトルが含まれている場合、コサイン距離を計算する追加のオプションがあることも認識しています。
私がしたいのは、(nxdxt) 行列を取得することです。これは、時間 t にわたってサンプルのさまざまな位置を保持し、すべてのペア/すべてのフレーム間のコサイン方向距離を効率的/迅速に計算します。ここで、av(t) は方向として定義されます。 p(t+1) - p(t) で計算され、p(t) は行 M(p,:,t) を参照します。
明らかに、助けがあればループを使用したくありません。助言がありますか?
どんな助けでも大歓迎です。
dataset - TF-IDF とベクトル モデルのデータセットのヘルプ
TF-IDF、ベクトル モデル、および TF-IDF アルゴリズムのいくつかの最適化を比較したいと思います。そのためには、データセット (少なくとも 100 個の英語テキストのドキュメント) が必要です。私はそれを見つけることができません。助言がありますか ?