[英]Word importance in lucene index
嗯,我需要弄清楚在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,那么這很重要”
但是,當然,更聰明的東西:)
謝謝!!!
因此,如果我計算tfidf,它會給我關於單個文檔的單個術語的重要性。
不對。 IDF在整個語料庫中進行全局測量。 IDF的全部目的是提供一個精確的量度您正在尋找的東西-一個術語的“重要性”。
因此,一種簡單的方法是在語料庫中查找最頻繁出現的術語,並按文檔頻率對其進行加權。
您可以嘗試使用Luke打開索引,它為您提供了排名靠前的字詞。
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/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.