lucene指数中的词重要性

时间:2010-07-23 02:40:29

标签: java lucene indexing keyword frequency

嗯,我需要了解重要的是整个文档集中的单词 在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); ...........等等。
我需要在集合中使用这个术语的一些重要性。通过直觉,它会像“if term”term1“在5个文档中有良好的tfidf然后它是重要的”

但是,当然,更聪明的事情:)

谢谢!!!

4 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您可以尝试使用Luke打开索引,它会为您提供排名靠前的字词。

答案 2 :(得分:0)

答案 3 :(得分:0)

contrib /文件夹有一个类,用于生成最常用术语的列表:http://svn.apache.org/repos/asf/lucene/dev/trunk/lucene/contrib/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java

如果您正在寻找语义特征提取,则可以查看http://project.carrot2.org/