日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IKAnalyzer进行中文分词和去停用词

發布時間:2023/11/30 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IKAnalyzer进行中文分词和去停用词 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近學習主題模型pLSA、LDA,就想拿來試試中文。首先就是找文本進行切詞、去停用詞等預處理,這里我找了開源工具IKAnalyzer2012,下載地址:(:(注意:這里盡量下載最新版本,我這里用的IKAnalyzer2012.zip 這本版本后來測試時發現bug,這里建議IKAnalyzer2012_u6.zip))

https://code.google.com/p/ik-analyzer/

由于太多,而且名稱我也搞不清楚,不知道下載哪個。后來我下載了IKAnalyzer2012.zip 壓縮文件。

?

?壓縮后,按照說明說,需要配置

?

然而這里開始我連IKAnalyzer2012.jar安裝部署否不清楚,后來慢慢摸索才弄清楚:

首先在Eclipse中建一個Java工程,我這里名稱是“FC”,然后右鍵JRE System Library.jar ,點擊Build Path-->Configure Build Path

?

添加上IKAnalyzer2012.jar,確定。

stopwords.dic 是停用詞文件,可以自己建一個ext.dic 即自定義詞典,以及分詞擴張配置文件(主要用于調取stopwords.dic, ext.dic), 我們將其加入到FC--scr下

由于會經常配合lucene-core使用,這個jar包可以從這里下載:http://grepcode.com/snapshot/repo1.maven.org/maven2/org.apache.lucene/lucene-core/3.6.1

安裝如上進行配置。

我這里的配置后的工程目錄如下:

另外,雙擊scr下IKAnalyzer.cfg.xml文件,配置如下:

?

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>IK Analyzer 擴展配置</comment><!--用戶可以在這里配置自己的擴展字典 --><entry key="ext_dict">ext.dic;</entry> <!--用戶可以在這里配置自己的擴展停止詞字典--><entry key="ext_stopwords">stopwords.dic;</entry> </properties>

  

這里給一個分詞演示程序:IKAnalyzerTest.java

在C盤根目錄下,見一個需要分詞的txt文檔(注意,這里需要用軟件Notepad2 對該內容轉成UTF-8編碼格式,將內容復制到Notepad中,點擊文件 --編碼--UTF-8--保存成txt文件即可):

李天一,現名李冠豐。著名歌唱家李雙江和知名歌唱家夢鴿之子。根據司法機關公布資料顯示,李天一出生于1996年4月。曾就讀北京海淀區中關村第三小學、人民大學附中、美國Shattuck-St. Mary's School(沙特克圣瑪麗學院)冰球學校。2011年9月6日,因與人斗毆被拘留教養1年。2012年9月19日,李天一被解除教養。2013年2月22日,因涉嫌輪奸案被刑事拘留,后因可查資料顯示未成年,移交少管所。3月7日,中央電視臺新聞中心官方微博發布了一條消息,稱李天一因涉嫌強奸罪,已被檢察機關批捕。2013年9月,李雙江一篇舊文證實李天一成年。

?

在ext.dic中設置個性詞典為:李雙江、李天一、夢鴿。 stopwords.dic中用的是中文的常用停用詞,這里可以在百度文庫中下載(注意,用notepad轉成UTF-8后保存)。

?

import java.io.*;import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.StringReader; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.wltea.analyzer.core.IKSegmenter; import org.wltea.analyzer.core.Lexeme; import org.wltea.analyzer.lucene.IKAnalyzer;public class Text1 {public static void main(String[] args) throws IOException {String filePath = "C:\\test.txt";String news=new String();BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), "UTF8"));String str;while ((str = in.readLine()) != null) {news+=str;}in.close();System.out.println(news);IKAnalyzer analyzer = new IKAnalyzer(true);StringReader reader = new StringReader(news);TokenStream ts = analyzer.tokenStream("", reader);CharTermAttribute term = ts.getAttribute(CharTermAttribute.class);while(ts.incrementToken()){System.out.print(term.toString()+"|");}analyzer.close();reader.close();System.out.println();StringReader re = new StringReader(news);IKSegmenter ik = new IKSegmenter(re,true);Lexeme lex = null;File f = new File("C://jieguo.txt"); f.delete();String path="C://jieguo.txt"; //%%%%%%while((lex=ik.next())!=null){System.out.print(lex.getLexemeText()+"|");try { FileWriter fw=new FileWriter(path,true);PrintWriter pw=new PrintWriter(fw); pw.print(lex.getLexemeText()+"|"); pw.close(); //bw.close(); fw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }} }

分詞后的文件,我這里仍然放在C盤根目錄下,結果:

李天一|現名|李|冠|豐|著名|歌唱家|李雙江|知名|歌唱家|夢鴿|之子|司法機關|公布|資料|顯示|李天一|出生于|1996年|4月|曾|就讀|北京|海淀區|中關村|第三|小學|人民大學|附中|美國|shattuck-st.|mary|s|school|沙特|克|圣瑪麗|學院|冰球|學校|2011年|9月|6日|與人|斗毆|拘留|教養|1年|2012年|9月|19日|李天一|解除|教養|2013年|2月|22日|因涉嫌|輪奸案|刑事拘留|后|可查|資料|顯示|未成年|移交|少管所|3月|7日|中央電視臺|新聞中心|官方|微|博|發布|一條|消息|稱|李天一|因涉嫌|強奸罪|已被|檢察機關|批捕|2013年|9月|李雙江|一篇|舊|文|證實|李天一| 

?

轉載于:https://www.cnblogs.com/huadongw/p/4222866.html

總結

以上是生活随笔為你收集整理的IKAnalyzer进行中文分词和去停用词的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。