gpt4 book ai didi

java - lucene 索引中的单词重要性

转载 作者:行者123 更新时间:2023-11-30 11:58:12 24 4
gpt4 key购买 nike

嗯,我需要了解 在整个文档集合中的单词有多重要 在 lucene 索引中编制索引。我需要提取一些“可表示的词”,让我们说一些常见的并且可以表示整个集合的概念。或集合“关键词”。我做了全文索引,我使用的唯一字段是文本内容,因为文档的标题大多不可表示(数字、代码等....)

编辑:我正在阅读包含大约 60 个文档的索引....

 int numDocs = fReader.numDocs();
while(termEnum.next())
{
Term term = termEnum.term();
double df = fReader.docFreq(term);

TermDocs termDocs = indexReader.termDocs(term);

//HERE is what i mean when i say tfidf is per document,

while(termDocs.next())
{
double tf = termDocs.freq();
// Calculate tfidf.......
}

termDocs.close();

因此,我将获得该术语的 tfidf,但对于我们循环遍历的每个文档。我不需要这些结果:

tfidf(term1, doc1);

tfidf(term1, doc2);

tfidf(term1, doc3);……等等。
我需要衡量该术语在集合中的重要性。凭直觉,它类似于“如果术语“term1”在 5 个文档中具有良好的 tfidf,那么它很重要”

当然,更聪明的东西 :)

谢谢!!!

最佳答案

So, if i calculate tfidf, it gives me importance of single term with respect to single document.

不是真的。 IDF 在整个语料库中进行全局测量。 IDF 的全部意义在于提供一种简单的衡量标准,准确衡量您正在寻找的内容——术语的“重要性”。

因此,实现您的要求的一种简单方法是找到语料库中最常出现的术语,并按文档频率对它们进行加权。

关于java - lucene 索引中的单词重要性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3315028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com