本博客將盡量從工具的使用語言、功能等方面進行彙總介紹。
1 斯坦福大學
語言:Java
功能:分詞、詞性標註、命名實體識別、語法解析、分類。
介紹:Stanford NLP Group是斯坦福大學自然語言處理的團隊,開發了多個NLP工具,官網網址。由於該團隊將該開源分爲多個子模塊,以下將逐一進行介紹。
1.1 Stanford Word Segmenter
- //設置分詞器屬性。
- Properties props = new Properties();
- //字典文件地址,可以用絕對路徑,如d:/data
- props.setProperty("sighanCorporaDict", "data");
- //字典壓縮包地址,可以用絕對路徑
- props.setProperty("serDictionary","data/dict-chris6.ser.gz");
- //輸入文字的編碼;
- props.setProperty("inputEncoding", "UTF-8");
- props.setProperty("sighanPostProcessing", "true");
- //初始化分詞器,
- CRFClassifier classifier = new CRFClassifier(props);
- //從持久化文件中加載分詞器設置;
- classifier.loadClassifierNoExceptions("data/ctb.gz", props);
- // flags must be re-set after data is loaded
- classifier.flags.setProperties(props);
- //分詞
- List words = classifier.segmentString("語句內容");
1.2 Stanford POS Tagger
1.3 Stanford Named Entity Recognizer
介紹:採用條件隨機場模型的命名實體工具,下載地址。
1.4 Stanford Parser
介紹:進行語法分析的工具,支持英文、中文、阿拉伯文和法語。下載地址。
1.5 Stanford Classifier
介紹:採用Java編寫的分類器,下載地址。
最後附上關於中文分詞器性能比較的一篇文章(2014.05.27更新)
1.6 Stanford CoreNLP
功能:分詞、詞性標註、命名實體識別、語法分析
介紹:採用Java編寫的面向英文的處理工具,下載網址。
用戶評價:採用它進行英語單詞的詞性還原,具體應用詳見文章《採用Stanford CoreNLP實現英文單詞詞形還原》。