問題タブ [tf-idf]
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.
algorithm - tf-idf とこれまでに見られなかった用語
TF-IDF (用語頻度 - 逆文書頻度)は、情報検索の定番です。ただし、これは適切なモデルではなく、新しい用語がコーパスに導入されると壊れてしまうようです。クエリや新しいドキュメントに新しい用語が含まれている場合、特にそれらが頻繁に使用される場合、人々はそれをどのように処理しますか? 従来のコサイン マッチングでは、それらは総一致に影響を与えません。
java - 2つのベクトルの余弦類似度を計算するにはどうすればよいですか?
ベクトル間の余弦の類似性を見つけるにはどうすればよいですか?
2行のテキスト間の関連性を測定するために類似性を見つける必要があります。
たとえば、次のような2つの文があります。
ユーザーインターフェースのためのシステム
ユーザーインターフェースマシン
…およびtF-idfの後のそれぞれのベクトル、続いてLSIを使用した正規
[1,0.5]
化[0.5,1]
。
これらのベクトル間の類似性を測定するにはどうすればよいですか?
frequency - Tf-idf: このアプローチは正しいですか?
tf-idf を使用して項頻度を計算したいと思います。左側の tf-idf 値を取得する式を作成しました。これは正しいです?
の Tf-idf DOCUMENT
:
occurrences(WORD,DOCUMENT)
WORD
: inの出現回数DOCUMENT
number-of-words(DOCUMENT)
: 単語数DOCUMENT
documents(ALL)
: データベース内のドキュメント数documents(WORD, ALL)
: を含むデータベース内のドキュメントの数WORD
お役に立てば幸いです。事前にどうもありがとうございました!
lucene - Luceneの2つのドキュメント間のコサイン類似度を取得する
Luceneでインデックスを作成しました。クエリを指定せずに、インデックス内の2つのドキュメント間のスコア(コサイン類似度または別の距離?)を取得したいだけです。
たとえば、以前に開いたIndexReaderirからID2および4のドキュメントを取得しています。Documentd1= ir.document(2); ドキュメントd2=ir.document(4);
これら2つのドキュメント間の余弦の類似性を取得するにはどうすればよいですか?
ありがとうございました
tf-idf - IDFの計算方法は?
このウェブサイトでTF/IDFを手伝ってくれてありがとう。これは、Javaでtf-idf関数を作成するのに大いに役立ちました。私はtfを作成しましたが、1つ質問があります。ウィキのように、彼らが書いたIDFは、いくつの文書がその用語を持っているかを計算することができます。しかし、私は混乱しています。
たとえば、「JosAH isgreat。JoshAHrocks」という文字列があるため、TFは2/5になり、IDFの場合は2つのドキュメントがあり、各ドキュメントにはJoshAHの用語が含まれています。では、その用語が他のドキュメントで発生するかどうかだけを確認するのでしょうか、それとも他のドキュメントで何回発生するのかを確認するのでしょうか。
java - tfidfの類似性
類似性の計算にTF/IDFを使用しています。たとえば、次の2つのドキュメントがあるとします。
通常、類似度は50%ですが、TF/IDFを計算すると。以下の通りです
DocAのTf値
DocBのTf値
DocAのIDF値
DocBのIDF値
DocAのTF/IDF値
DocBのTF/IDF値
これで、-0.20275の類似性があるように見えます。それは...ですか?それとも私は何かが足りないのですか?それとも次のステップはありますか?私も計算できるように教えてください。
ウィキペディアが言及したtf/idf式を使用しました
java - コサイン類似度
2 つのドキュメントの tf/idf 値を計算しました。tf/idf 値は次のとおりです。
ドキュメントは次のようなものです。
これらの値を使用してコサイン類似度を計算するにはどうすればよいですか?
内積を計算し、距離を求めて内積を割ります。自分の値を使用してこれを計算するにはどうすればよいですか?
もう 1 つの質問:両方の文書の単語数が同じであることが重要ですか?
python - PythonでのN-Gram、tf-idf、Cosineの類似性の簡単な実装
DBに保存されているドキュメントを比較し、0と1の間の類似度スコアを考え出す必要があります。
私が使用する必要がある方法は非常に単純でなければなりません。tf-idfとCosineの類似性の単純な実装とともに、バニラバージョンのn-gram(使用するグラム数を定義できる場合)を実装します。
これを実行できるプログラムはありますか?それとも、これを最初から書き始める必要がありますか?
algorithm - tf-idf: 私はそれを正しく理解していますか?
ドキュメントのクラスタリングに興味があり、現在、これに TF-IDF を使用することを検討しています。
私が間違っていなければ、TF-IDF は特に、クエリが与えられたドキュメントの関連性を評価するために使用されます。特定のクエリがない場合、どのように tf-idf をクラスタリングに適用できますか?
lucene - カスタム類似性クラスのLucenenumDocsとdoqFreq
Luceneでアプリケーションを実行しているim(im noob with it)であり、いくつかの問題に直面しています。私のアプリケーションでは、Lucene 2.4.0ライブラリとカスタム類似性実装を使用しています(jarがインポートされます)
私のアプリでは、doqFreqとnumDocsを手動で計算し(すべてのインデックスの値を追加してから、すべてのクエリで使用するためにグローバル値を計算します)、カスタム類似性実装でその値を使用して、新しいIDF。
問題は、この余分なクラスとは別にluceneのコードを変更したくないため、その新しい類似性の実装でアプリから新しいdoqFreqとnumDocsの値を使用(または送信)する方法がわからないことです。
何か提案や例はありますか?私はドキュメントを読みましたが、これにアプローチする方法は今はわかりません:s
ありがとう