問題タブ [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.
lucene - Lucene を使用した DF の計算が機能しない
現在、2 つのドキュメントを含むインデックスがあります (すべてが正常に機能した後にさらに追加します)。特定の用語を試してみましcalculate the df
たが、結果としてインデックス内のドキュメントの総数を常に取得しています。デバッグ目的で、1 つのドキュメントに一意の文字列を入力したため、df の結果は1になります。しかし、それは2を返します。プロセスの最後にtf/idf
、インデックス内のすべての単語のスコアが必要になります。
私は次のコードを試しました:
IndexSearcher searcher = new IndexSearcher(ir);
代わりに試してみましindexReader
たが、運がありませんでした。
PS:私は使用していますlucene 3.5
php - tf-idf の計算方法は?
問題があります。実際のコードで tf-idf を計算できません。
これは tf-idf の例です:
ドキュメントの総数はありますが、$documents_with_term と $term_frequency が必要です。
これは私の実際のコードです:
$total_document_count を持っていますが、TF と $documents_with_term を抽出する方法がわかりません。
どうすればそれらを抽出できますか?.
information-retrieval - Lucene - ドキュメント頻度の取得 - termsEnum.docFreq() は常に 1 を返します
現在、ルセン インデックスの用語の tf-idf マトリックスを計算しようとしています。私は次の関数でこれをやろうとします:
問題は次のとおりです。 noOfDocs = termsEnum.docFreq(); 常に 1 を返します。明らかに、複数のドキュメントに出現する用語があります(「用語」を印刷して手動でチェックしました)。
また、docsEnum を次のように取得することもわかりました。 docsEnum = termsEnum.docs(null, null); には常に 1 つのドキュメント (ドキュメント 0) のみが含まれます。
インデックスを作成するときは、ストップ ワード リストを備えた標準のアナライザーを使用したため、すべての用語が小文字になっています。
だから私の問題は何ですか?:/
ご協力いただきありがとうございます!
machine-learning - 感情分析/分類タスクにおけるバイナリと tfidf Ngram 機能の比較?
もう一度簡単な質問: Ngrams (unigram/bigrams など) を単純なバイナリ機能として使用する方が良いですか?それとも、感情分析やテキストの分類/分類などの NLP タスクを実行するための Support Vectory Machines などの ML モデルで Tfidf スコアを使用する方がよいでしょうか?
python - gensim で tf-idf モデルがどのように実装されているかについての少しの混乱
私は tf-idf モデルに取り組んでいます。このモデルがどのように実装されているかについて、私はほとんど混乱していません。同じ用語に対して異なる値を与えているモデルを印刷しようとしているときに、モデルを構築しました。次の 2 つの項については、これらの結果が得られます。
結果は次のとおりです。
用語0のtf-idf値がval1で0.5648、val2で1.0である理由を知りたいだけです。
solr - Solr data-config: TF-IDF に関するフィールドに関する質問
data-configでsolr 1.4を使用しています(私は知っています、哀れです:))
「説明」データは引き続き「スコア/tf-idf」値の計算に使用されますか?
classification - TFIDF:tfの実装
私は分類ツールを実装しており、さまざまなTFバージョンを試していました。2つの対数(対数呼び出しの内側/外側の補正)、正規化、拡張、および対数平均です。どうやら、これらによって変調された私の分類器の精度には大きな違いがあります-5%もあります。ただし、奇妙なことに、特定のデータセットでどちらが優れているかを事前に言うことはできません。私が見逃している仕事があるのだろうか、あるいは誰かがこれらの仕事の経験を共有できるのだろうか?
r - Rでtf-idf重み付けを機能させようとしています
tm パッケージを使用して非常に基本的なテキスト分析を行い、tf-idf スコアを取得しようとしています。OS X を実行しています (ただし、Debian Squeeze でこれを試してみましたが、同じ結果が得られました)。いくつかのテキスト ファイルを含むディレクトリ (作業ディレクトリ) があります (最初のファイルにはUlyssesの最初の 3 つのエピソードが含まれ、2 つ目のファイルには 2 番目の 3 つのエピソードが含まれます)。
R バージョン: 2.15.1 SessionInfo() tm について次のように報告します: [1] tm_0.5-8.3
関連するコードのビット:
重み付けは、私が望む重み付けされた tf-idf スコアではなく、デフォルトの用語頻度 (tf) のままであるように見えることに注意してください。
明らかな何かが欠けている場合はお詫びしますが、私が読んだドキュメントに基づいて、これはうまくいくはずです。過ちは、間違いなく、星にあるのではありません...
search - TF-IDF(コサイン類似性)とページランクを組み合わせる?
クエリが与えられた場合、ドキュメントのコサインスコアがあります。ドキュメントのページランクもあります。2つを組み合わせる標準的な良い方法はありますか?
私はそれらを増やすことを考えていました
ページランクまたはコサインスコアのいずれかが低くなると、ドキュメントは面白くなくなります。
それとも、加重和を持つことが望ましいですか?
これは良いですか?その場合、コサインスコアはゼロになる可能性がありますが、ページランクが高くなり、結果の中にページが表示されます。
python - TfidfVectorizer scikit-learn のカスタム語彙を使用する際の問題
いくつかのクラスタリング タスクのために scikit-learn でカスタム語彙を使用しようとしていますが、非常に奇妙な結果が得られます。
カスタム語彙を使用しない場合、プログラムは正常に実行され、クラスターの作成に満足しています。ただし、カスタム語彙として使用したい単語のグループ (約 24,000) を既に特定しています。
単語は SQL Server テーブルに格納されます。これまでに2つのアプローチを試しましたが、最後に同じ結果が得られます。1 つ目はリストの作成、2 つ目は辞書の作成です。ディクショナリを作成するコードは次のようになります。
次に、次のように TfidfVectorizer でボキャブラリ (リスト バージョンまたは辞書のいずれか、どちらも最後に同じ結果が得られます) を使用します。
X の形状は (651, 24321) です。これは、クラスター化するインスタンスが 651 個あり、語彙に 24321 個の単語があるためです。
X の内容を出力すると、次のようになります。
ご覧のとおり、ほとんどの場合、ボキャブラリの単語のみが存在し (少なくとも 10 個あるため、これは誤りです)、多くの場合、単語が 1 つも見つかりません。また、見つかった単語はインスタンス間で常に同じになる傾向があり、これは意味がありません。
を使用してfeature_namesを印刷すると:
私は得る:
使用されたボキャブラリが入力ドキュメントから決定されたものである場合、プログラムは完全に実行されていたと言わざるを得ないため、問題はカスタム ボキャブラリの使用に関連していると強く疑われます。
何が起こっているのか手がかりを持っている人はいますか?
(私はパイプラインを使用していないため、この問題は既に修正されている以前のバグとは関係ありません)