自然语言处理开源工具整理

在上网查阅几篇博客之后,整理和汇总了一下自然语言处理常用的开源工具。(中文的我就略过了)
在正文之前,首先要明确下面这个技术概要(这些来自前两天看的一本科普自然语言处理的书,实际上这也是目前我对NLP唯一了解的东西):

  • 自然语言处理的三项基本技术(按先后顺序来):
    • 单词切分(又叫词素切分)
    • 句法分析
    • 语义理解

1.Natural Language Toolkit(NLTK)

http://www.nltk.org/
python的,简单易用
这个也是我最近再看的书上建议使用的处理工具。它配有许多现成的文本集,适合用来入门NLP。
英文单词的词性表

2. The Stanford Natural LanguageProcessing Group

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

2.1 Stanford CoreNLP

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

2.2 Stanford Word Segmenter

采用CRF(条件随机场)算法进行分词,也是基于Java开发的,同时可以支持中文和Arabic,官方要求Java版本1.6以上。

2.3 Stanford POS Tagger

采用Java编写的面向英文、中文、法语、阿拉伯语、德语的命名实体识别工具。

2.4 Stanford Named Entity Recognizer

采用条件随机场模型的命名实体工具。

2.5 Stanford Parser

进行语法分析的工具,支持英文、中文、阿拉伯文和法语。

2.6 Stanford Classifier

采用Java编写的分类器,下载地址为:http://nlp.stanford.edu/software/classifier.shtml。

3. Apache OpenNLP–2014.12.29更新

OpenNLP是Apache下的一个自然语言处理工具包,提供了分词、分句、词性标注、命名实体识别等 功能。官网地址为:http://opennlp.apache.org/ 官方提供了文档说明以及API,有命令行调用和程序代码使用两种方式。

看了几份示例程序,发现这个和以前很喜欢做的一件事 ------调API很类似。。。

最后放一张看到的英文单词词性表。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/AngryDog1024/article/details/82969917