NLP 工具类库

NLPIR  http://www.nlpir.org/

HanLP  https://github.com/hankcs

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

Apache UIMA  http://uima.apache.org/

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。

下载链接:http://alias-i.com/lingpipe/web/download.html

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

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

Stanford CoreNLP

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

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

Stanford Word Segmenter

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

简单的示例程序:

  1. //设置分词器属性。

  2. Properties props = new Properties();

  3. //字典文件地址,可以用绝对路径,如d:/data

  4. props.setProperty("sighanCorporaDict", "data");

  5. //字典压缩包地址,可以用绝对路径

  6. props.setProperty("serDictionary","data/dict-chris6.ser.gz");

  7. //输入文字的编码;

  8. props.setProperty("inputEncoding", "UTF-8");

  9. props.setProperty("sighanPostProcessing", "true");

  10. //初始化分词器,

  11. CRFClassifier classifier = new CRFClassifier(props);

  12. //从持久化文件中加载分词器设置;

  13. classifier.loadClassifierNoExceptions("data/ctb.gz", props);

  14. // flags must be re-set after data is loaded

  15. classifier.flags.setProperties(props);

  16. //分词

  17. List words = classifier.segmentString("语句内容");

Stanford POS Tagger

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

Stanford Named Entity Recognizer

采用条件随机场模型的命名实体工具,下载地址为:http://nlp.stanford.edu/software/CRF-NER.shtml。还没有接触过,需要以后学习研究。

Stanford Parser

进行语法分析的工具,支持英文、中文、阿拉伯文和法语。下载地址为:http://nlp.stanford.edu/software/lex-parser.shtml。具体的使用介绍见《采用Stanford Parser进行中文语法解析》。

Stanford Classifier

采用Java编写的分类器,下载地址为:http://nlp.stanford.edu/software/classifier.shtml。还没有接触过,需要以后学习研究。

GATE  https://gate.ac.uk/

NLTK  http://www.nltk.org/

http://www.oschina.net/project/tag/305/nlp

学习资料

我爱自然语言处理  http://www.52nlp.cn

码农场  http://www.hankcs.com/nlp/

上一篇:不用winio直接用c#函数实现模拟键盘


下一篇:C++模拟键盘消息