我想用Lucene獲取一些經常出現的短語。我從TXT文件中獲得一些信息,並且由於沒有關於短語的信息而丟失了很多上下文。 「信息檢索」被索引爲兩個單獨的詞。如何用Lucene獲取經常出現的短語
獲得這樣的短語的方法是什麼?我無法在互聯網上找到任何有用的東西,所有的建議,鏈接,提示尤其是例子,非常感謝!
編輯:我存儲我的文檔只是標題和內容:爲我做的最重要的,因爲
Document doc = new Document();
doc.add(new Field("name", f.getName(), Field.Store.YES, Field.Index.NOT_ANALYZED));
doc.add(new Field("text", fReader, Field.TermVector.WITH_POSITIONS_OFFSETS));
是該文件的內容。標題通常根本不具描述性(例如,我有許多標題爲代碼或數字的PDF學術論文)。
我迫切需要從文本內容中索引出現的頂級短語,剛纔我看到這個簡單的「包字」方法效率不高。
是的,我需要的是ngrams ....我希望我不會過多地進入NLP:/ ..但我可以問你,請在我走之前在本書的章節中,如果我使用的是你推薦的工具(如果我管理的話),在搜索時間內找到ngrams,而不是在索引時間內? 作爲最終結果,我可以獲得一個索引,和頻繁的ngram? 因爲我正在做一些概念與本體匹配,並且這將是最好的解決方案(如果可能的話) Thanx! – Julia 2010-06-29 12:57:13
+1正確識別問題m ... :) – Favonius 2010-06-29 13:20:16
@Julia:我認爲你可以在索引期間應用ShingleFilterFactory。也許你可以使用Luke(http://wiki.apache.org/solr/LukeRequestHandler)查看結果。希望你現在有足夠的能力讓你走。 – 2010-06-30 12:36:25