1. 程式人生 > >各分詞工具介紹

各分詞工具介紹

NLPIR

是一套專門針對原始文字集進行處理和加工的軟體,提供了中介軟體處理效果的視覺化展示,也可以作為小規模資料的處理加工工具。使用者可以使用該軟體對自己的資料進行處理。

關鍵詞提取;同時支援使用者詞典。,可以視覺化介面操作和API方式呼叫

採用了層疊隱馬爾可夫模型

全部採用C/C++編寫,支援Linux、FreeBSD及Windows系列作業系統,支援C/C++/C#/Delphi/Java等主流的開發語言

支援GBK編碼(Guo-BiaoKuozhan,簡體中文)分詞,同時支援UTF-8編碼和Big5編碼(大五碼,繁體中文)分詞;支援繁體中文分詞;支援多執行緒分詞。 


官網:http://ictclas.nlpir.org/

NLPIR網路搜尋與挖掘共享開發平臺的十一種功能:

n 1. 全文精準檢索

支援文字、數字、日期、字串等各種資料型別,多欄位的高效搜尋,支援AND/OR/NOT以及NEAR鄰近等查詢語法,支援維語、藏語、蒙語、阿拉伯、韓語等多種少數民族語言的檢索。可以無縫地與現有文字處理系統與資料庫系統融合。

n 2. 新詞發現:

從檔案集合中挖掘出內涵的新詞語列表,可以用於使用者專業詞典的編撰;還可以進一步編輯標註,匯入分詞詞典中,從而提高分詞系統的準確度,並適應新的語言變化。

n 3. 分詞標註:

對原始語料進行分詞、自動識別人名地名機構名等未登入詞、新詞標註以及詞性標註。並可在分析過程中,匯入使用者定義的詞典。

n 4. 統計分析與術語翻譯

針對切分標註結果,系統可以自動地進行一元詞頻統計、二元詞語轉移概率統計(統計兩個詞左右連線的頻次即概率)。針對常用的術語,會自動給出相應的英文解釋。

n 5. 文字聚類及熱點分析

能夠從大規模資料中自動分析出熱點事件,並提供事件話題的關鍵特徵描述。同時適用於長文字和簡訊、微博等短文字的熱點分析。

n 6. 分類過濾

針對事先指定的規則和示例樣本,系統自動從海量文件中篩選出符合需求的樣本。

n 7. 自動摘要

能夠對單篇或多篇文章,自動提煉出內容的精華,方便使用者快速瀏覽文字內容。

n 8. 關鍵詞提取

能夠對單篇文章或文章集合,提取出若干個代表文章中心思想的詞彙或短語,可用於精化閱讀、語義查詢和快速匹配等。

n 9. 文件去重

能夠快速準確地判斷檔案集合或資料庫中是否存在相同或相似內容的記錄,同時找出所有的重複記錄。

n 10. HTML正文提取

自動剔除導航性質的網頁,剔除網頁中的HTML標籤和導航、廣告等干擾性文字,返回有價值的正文內容。適用於大規模網際網路資訊的預處理和分析。

n 11. 編碼自動識別與轉換

自動識別文件內容的編碼,並進行自動轉換,目前支援Unicode/BIG5/UTF-8等編碼自動轉換為簡體的GBK,同時將繁體BIG5和繁體GBK進行繁簡轉化。

n 12. 正負面分析

自動分析文字內涵的正負面情感,並對情感分析物件進行綜合。

注:2015版測試的函式NLPIR_IsWord(String str)方法判斷某一個詞是否在核心庫中,使用JNA方法總是返回1,可能是個bug

Ansj

Ansj 是一個開源的 Java 中文分詞工具,基於中科院的 ictclas 中文分詞演算法,比其他常用的開源分詞工具(如mmseg4j)的分詞準確率更高。
線上演示:http://ansj.sdapp.cn/demo/seg.jsp
官網地址:http://www.ansj.org/

使用手冊:http://nlpchina.github.io/ansj_seg/

單獨使用ansj:

把兩個包(ansj_seg-0.9.jar和tree_split-1.0.1.jar)新增到工程下,在專案下建立library資料夾,加入兩個字典檔案,最後把library.properties新增到bin目錄下即可。

匯入使用者字典:

1)動態載入:
如:UserDefineLibrary.insertWord(“谷歌公司”,”userDefine”,1000) ;
2)通過檔案載入:

可以在default.dic的最後新增。

Stanford Word Segmenter

採用CRF(條件隨機場)演算法進行分詞,也是基於Java開發的,同時可以支援中文和Arabic,官方要求Java版本1.6以上,推薦記憶體至少1G。下載地址為http://nlp.stanford.edu/software/segmenter.shtml

自然語言處理工具 OpenNLP

OpenNLP 是一個機器學習工具包,用於處理自然語言文字。支援大多數常用的 NLP 任務,例如:標識化、句子切分、部分詞性標註、名稱抽取、組塊、解析等。

IKAnalyzer

IK支援細粒度和智慧分詞兩種切分模式,支援英文字母、數字、中文詞彙等分詞處理,相容韓文、日文字元。可以支援使用者自定義的詞典,通過配置IKAnalyzer.cfg.xml檔案來實現,可以配置自定義的擴充套件詞典和停用詞典。詞典需要採用UTF-8BOM格式編碼,並且每個詞語佔一行。

IKAnalyzer 是一個開源的,基於java語言開發的輕量級的中文分詞工具包。從200612月推出1.0版開始, IKAnalyzer已經推出了4個大版本。最初,它是以開源專案Luence為應用主體的,結合詞典分詞和文法分析演算法的中文分片語件。從3.0版本開始,IK發展為面向Java的公用分片語件,獨立於Lucene專案,同時提供了對Lucene的預設優化實現。在2012版本中,IK實現了簡單的分詞歧義排除演算法,標誌著IK分詞器從單純的詞典分詞向模擬語義分詞衍化。

IK Analyzer 2012特性:

1.採用了特有的“正向迭代最細粒度切分演算法“,支援細粒度和智慧分詞兩種切分模式;

2.在系統環境:Core2 i7 3.4G雙核,4G記憶體,window 7 64位, Sun JDK 1.6_29 64位 普通pc環境測試,IK2012具有160萬字/秒(3000KB/S)的高速處理能力。

3.2012版本的智慧分詞模式支援簡單的分詞排歧義處理和數量詞合併輸出。

4.採用了多子處理器分析模式,支援:英文字母、數字、中文詞彙等分詞處理,相容韓文、日文字元

5.優化的詞典儲存,更小的記憶體佔用。支援使用者詞典擴充套件定義。特別的,在2012版本,詞典支援中文,英文,數字混合詞語。