NLP 工具类库

HanLP  https://github.com/hankcs

Apache OpenNLP   https://opennlp.apache.org/

Apache UIMA  

LingPipe

LingPipe 是一个自然语言处理的Java开源工具包。LingPipe目前已有很丰富的功能,包括主题分类(Top Classification)、命名实体识别(Named Entity Recognition)、词性标注(Part-of Speech Tagging)、句题检测(Sentence Detection)、查询拼写检查(Query Spell Checking)、兴趣短语检测(Interseting Phrase Detection)、聚类(Clustering)、字符语言建模(Character Language Modeling)、医学文献下载/解析/索引(MEDLINE Download, Parsing and Indexing)、数据库文本挖掘(Database Text Mining)、中文分词(Chinese Word Segmentation)、情感分析(Sentiment Analysis)、语言辨别(Language Identification)等API。 

下载链接:

The Stanford NLP Group  https://nlp.stanford.edu/

Stanford NLP Group是斯坦福大学自然语言处理的团队,开发了多个NLP工具,官网网址为:。其开发的工具包括以下内容:

Stanford CoreNLP

采用Java编写的面向英文的处理工具,下载网址为:。主要功能包括分词、词性标注、命名实体识别、语法分析等。

我曾经采用它进行英语单词的词性还原,具体应用详见文章《采用Stanford CoreNLP实现英文单词词形还原》。

Stanford Word Segmenter 

采用CRF(条件随机场)算法进行分词,也是基于Java开发的,同时可以支持中文和Arabic,官方要求Java版本1.6以上,推荐内存至少1G。下载地址为。

简单的示例程序:

//设置分词器属性。  

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("语句内容");  

Stanford POS Tagger

采用Java编写的面向英文、中文、法语、阿拉伯语、德语的命名实体识别工具,下载地址为:。还没有接触过,需要以后学习研究。

Stanford Named Entity Recognizer

采用条件随机场模型的命名实体工具,下载地址为:。还没有接触过,需要以后学习研究。

Stanford Parser 

进行语法分析的工具,支持英文、中文、阿拉伯文和法语。下载地址为:。具体的使用介绍见《采用Stanford Parser进行中文语法解析》。 

Stanford Classifier 

采用Java编写的分类器,下载地址为:。还没有接触过,需要以后学习研究。

GATE  https://gate.ac.uk/

NLTK  

学习资料

我爱自然语言处理  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzgxwz.html