嗯,我需要了解在 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,那么这很重要”
但是,当然,更聪明的东西:)
谢谢!!!