問題タブ [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.

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

java - Lucene スコアリング関数 - 短いドキュメントへのバイアス

ドキュメントの長さに基づいて、Lucene Scoring 関数に偏りがないようにしたい。これは実際には、文書に基づいてスコアを計算するためのフォローアップの質問であり、lucene での用語の出現が多い

Field.setOmitNorms(true) がどのように機能するのか疑問に思っていましたか? 短いドキュメントのスコアが高くなる要因は 2 つあります。

  1. より短い長さの投稿を「ブースト」 - doc.getBoost() を使用
  2. norm(t,d) の定義の「lengthNorm」

ここにドキュメントがあります

私は疑問に思っていました-短いドキュメントに偏りがないようにしたい場合、 Field.setOmitNorms(true) で十分ですか?

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

machine-learning - ユニグラムとバイグラム(tf-idf)は、単なるユニグラム(ff-idf)よりも精度が低くなりますか?

これは、Tf-IDF(項頻度-逆ドキュメント頻度)を使用したngramによる線形回帰に関する質問です。これを行うために、線形回帰にnumpyスパース行列とsklearnを使用しています。

ユニグラムを使用すると、53のケースと6000を超える機能があります。予測は、LeaveOneOutを使用した相互検証に基づいています。

ユニグラムスコアのみのtf-idfスパース行列を作成すると、ユニグラム+バイグラムスコアのtf-idfスパース行列を作成する場合よりもわずかに良い予測が得られます。行列に追加する列(トリグラム、クアッドグラム、クイントグラムなどの列)が多いほど、回帰予測の精度は低くなります。

これは一般的ですか?これはどのように可能ですか?機能が多ければ多いほど良いと思いました。

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

svm - SVM線形カーネルにおけるTF-IDFとTFの違い

IDF は定数だからです。1 つの次元のすべての値に定数を掛けます。

SVM 線形カーネルでは、結果は異なりますか?

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

nlp - TF-IDF の計算方法

TF-IDF を使用したコサイン類似度法を使用して、2 つの単語の意味的類似度を取得したいと考えています。そのために、最初にウィキペディアまたはワードネットからこれらの単語の意味を取得したいと考えています。その後、テキストを前処理して TF-IDF を見つけたいと考えています。問題をググったところ、TF-IDF を見つけるには、トレーニング セットとテスト セットが必要であることがわかりました。私の場合、どちらが列車セットでどちらがテスト セットですか? 計算結果を使用してコサイン類似度を計算するにはどうすればよいですか?

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

feature-extraction - tf-idf で非常に珍しい用語を扱う方法は?

素朴な「キーワード抽出アルゴリズム」を実装しています。私は独学なので、オンライン文献で一般的な用語や数学が不足しています。

ドキュメントの「最も関連性の高いキーワード」を次のように見つけています。

  1. 各用語が現在のドキュメントで使用されている頻度を数えます。これをtfとしましょう。
  2. これらの各用語がドキュメントのデータベース全体でどのくらいの頻度で使用されているかを調べます。これをdfとしましょう。
  3. r = tf / dfによって、各用語の関連性の重みrを計算します。

各ドキュメントはコーパスの適切なサブセットであるため、コーパスにない用語を含むドキュメントはありません。これは、ゼロ除算について心配する必要がないことを意味します。

すべての用語をrで並べ替え、上位の用語の多くを保持します。これらは、このドキュメントに最も密接に関連する上位のキーワードです。このドキュメントで一般的に使用される用語は、より重要です。ドキュメントのデータベース全体に共通する用語は、それほど重要ではありません。

これは単純な形式のtf-idfだと思います。

問題は、用語がデータベース全体で非常にまれであるが、現在のドキュメントで使用されている場合、 r値が高すぎるように見えることです。

これは、サンプル サイズが小さいため、ある種のアーティファクトと考えることができます。これを補うための最善の方法または通常の方法は何ですか?

  • データベース全体で特定のしきい値よりも一般的でない用語を破棄します。もしそうなら、そのしきい値はどのように計算されますか? ハードコードされた値になるには、あまりにも多くの要因に依存しているようです。
  • 逆二乗やコサインなどの数学関数で加重または平滑化できますか?

私はウェブを検索してtf-idfを読んでみましたが、私が興味を持っていないドキュメントの比較を扱っていることがわかりました。さらに、それらのほとんどは、説明と専門用語や公式の比率が低くなっています。

(実際、私のプロジェクトはこの問題の一般化です。私は実際に Stack Exchange サイトのタグを扱っているので、用語の総数は少なく、ストップワードは無関係であり、使用頻度の低いタグは使用頻度の低い単語よりも一般的かもしれません。通常のケースです。)

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

java - solrj を使用して solr termVectorComponent の結果を取得する方法

このクエリを作成しようとしています。

solrjを使用。

以下の tf と idf の値を取得したい。

今まで;

クエリを作成しましたが、QueryResponse オブジェクトが必要になると思います。それは本当だと思います。しかし、 を使用してこれらの tf-idf 値を取得する次の方法はわかりませんsolrj

ありがとう

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

java - SolrおよびJavaでドキュメント内の単語のTF-IDFを計算する

ドキュメント内の用語の数を数えることで TF を簡単に取得できます。ドキュメントの頻度、つまりこの用語を含むドキュメントの数を計算する方法を知りたいです。

これまでに到達したことは、多数の行を使用して solr にクエリを実行し、結果をカウントし直すことですが、これには非常に時間とメモリがかかります。用語だけを数えたい

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

php - tf-idf のエラー

こんにちは、tf-idf に問題があります。コードは私を示しています:「0」

これはコードです:

70 は、存在しない変数を置き換える番号です。

ご挨拶

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

nlp - ドキュメント分類のための最良の特徴選択アルゴリズム

私は文書分類プロジェクトに取り組んでいます。私は tf-idf と重心アルゴリズムを使用しています。しかし、そのアルゴリズムを使用するには、辞書が必要です。辞書作成のための情報取得を試みましたが、十分ではないと思います。情報獲得よりも優れた特徴選択アルゴリズムについて何か提案はありますか?