資源簡介
1:中文分詞
2:詞頻統計
3:羅列出要自動提取的關鍵字
----------------------------------------
具有60 萬字/秒的高速處理能力。

代碼片段和文件信息
package?com.market.common.paoding;
import?java.io.IOException;
import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.Comparator;
import?java.util.HashMap;
import?java.util.List;
import?java.util.Map;
import?org.apache.lucene.index.CorruptIndexException;
import?org.apache.lucene.search.Query;
import?org.apache.lucene.store.LockObtainFailedException;
import?org.wltea.analyzer.lucene.IKQueryParser;
/**
?*?自動提取關鍵字
?*?步驟:
?*?1:使用中文分詞技術,得到所以詞組
?*?2:根據每個詞組在文章中檢索出現的次數
?*?3:采用HashMap進行詞頻統計(注意:HashMap效率不是很高.網上有很多詞頻統計算法,這里不一一列舉)
?*?@author?zhugf?2010-04-13
?*
?*/
public?class?IKAnalyzer?{
static?Map?map?=new?HashMap();
public?static?String?getKeyword(String?title){
String?keyword=““;
try?{
//使用IKQueryParser查詢分析器構造Query對象
Query?query1?=?IKQueryParser.parse(““?title);
String?str=query1.toString();
str=str.replace(“?“?“+“);
str=str.replace(“(“?““);
str=str.replace(“)“?““);
str=str.replace(“++“?“+“);
String[]?words=str.split(“\\+“);/**?\\+?**/
for(int?j=0;j if(words[j].length()>1){
keyword=keyword+words[j]+““;
//查找字符串key在words中出現的次數的程序
getCount(titlewords[j]);
//System.out.println(words[j]);
}
}
return?keyword;
}?catch?(CorruptIndexException?e)?{
e.printStackTrace();
}?catch?(LockObtainFailedException?e)?{
e.printStackTrace();
}?catch?(IOException?e)?{
e.printStackTrace();
}
return?keyword;
}
public?static?int?getCount(String?wordsString?key){
????????int?count=0;
????????int?temp;
????????if(words.length()>=key.length()){
????????????for(int?i=0;i<=words.length();i++){
????????????????temp=words.indexOf(key);
????????????????if(temp>=0){
????????????????????++count;
????????????????????words=words.substring(temp+1);
????????????????}
????????????}
????????}
????????map.put(keycount);
????????return?count;
????}
public?static?String?sort(){
String?keys=““;
List>?infoIds?=?new?ArrayList>(map.entrySet());????
//排序前????
for?(int?i?=?0;?i? String?id?=?infoIds.get(i).toString();????
//System.out.println(id);????
}????
//排序????
Collections.sort(infoIds?new?Comparator>()?{????
public?int?compare(Map.Entry?o1????
Map.Entry?o2)?{????
return?(o2.getValue()?-?o1.getValue());????
}????
});????
//排序后????
for?(int?i?=?0;?i? //String?id?=?infoIds.get(i).toString();????
String?id?=?infoIds.get(i).getKey();
keys=keys+id+““;
//System.out.println(id);????
}??
return?keys;
}
public?static?void?main(String[]?args)?{
//----中文分詞----
String?words=getKeyword(“2010年3月25日,團團城市之窗品牌易式形態系列在團團網全面上線,敬請關注?。 埃?
System.out.println(“----------關鍵字------------“);
System.out.println(words
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2010-04-13?10:47??中文分詞+關鍵字提取\
?????文件??????125860??2010-04-13?10:45??中文分詞+關鍵字提取\(1)功能使用手冊.pdf
?????文件??????441273??2009-12-06?22:07??中文分詞+關鍵字提取\(2)IKAnalyzer中文分詞器V3.2.0使用手冊.pdf
?????文件?????????153??2009-09-22?10:54??中文分詞+關鍵字提取\ext_stopword.dic
?????文件?????????479??2009-09-22?11:37??中文分詞+關鍵字提取\IKAnalyzer.cfg.xm
?????文件????????3460??2010-04-13?10:36??中文分詞+關鍵字提取\IKAnalyzer.java
?????文件?????1166203??2009-12-08?15:47??中文分詞+關鍵字提取\IKAnalyzer3.2.0Stable.jar
?????文件????????3508??2010-04-13?10:36??中文分詞+關鍵字提取\IKAnalyzerDemo.java
?????文件?????1109923??2010-02-21?23:51??中文分詞+關鍵字提取\lucene-core-2.9.2.jar
- 上一篇:Multisim恒流源電路仿真
- 下一篇:客房管理系統軟件工程所有報告
評論
共有 條評論