8个Python自然语言处理NLP工具

最后编辑于 2019年03月23日 人工智能

自然语言处理(Natural language processing, NLP),是人工智能和语言学领域的一个分支学科,它包括多个方面和步骤,基本的有认知、理解、生成等。


Photo by Deanna Ritchie on Unsplash

当前我们使用的各种工具,包括聊天机器人、语音助理以及输入时的文本预测,都基于NLP。NLP已经是一个现代交互式应用必备的基础功能,有很多第三方的NLP工具可供使用,省去了自己开发的麻烦。下面是8个Python自然语言处理工具。

1、NLTK
http://www.nltk.org/
NLTK是Natural Language Toolkit,即自然语言工具包,是一个使用比较多的Python自然语言处理工具,它以字符串的形式来表示数据,支持多种语言,有50多种语料库和词汇资源,同时具有分类、标记、词干提取、语义推理等各种功能,比较全面。

2、TextBlob
https://textblob.readthedocs.io/en/dev/
TextBlob是NLTK的扩展,是一个用于处理文本数据的Python库,为常见的自然语言处理任务提供了一个简单的API,例如词性标注、名词短语提取、情感分析、分类、翻译等,适合小型项目。

3、PyNLPIR
https://pynlpir.readthedocs.io/en/latest/
PyNLPIR是一个中科院开发的NLPIR/ICTCLAS的Python包装器,是一个中文分词工具,支持UTF-8、GBK和BIG5编码的字符串(以及unicode),主要是通过ctypes访问NLPIR的C函数。

4、spaCy
https://spacy.io/
spaCy用Python和Cython编程语言编写,目前提供英语、德语、西班牙语、葡萄牙语、法语、意大利语、荷兰语支持,在生产使用的比较多,因为相比NLTK,它使用对象来表示内容,而不是字符串,并且界面简单、文档简单。

5、Textacy
https://readthedocs.org/projects/textacy/
Textacy用于执行高级自然语言处理任务,它的核心NLP功能基于spaCy,但它做了大量工作,使你可以轻松地引入许多类型的数据,而无需编写额外的程序代码。

6、PyTorch-NLP
https://pytorchnlp.readthedocs.io/en/latest/
PyTorch-NLP是一个可以快速制作原型的工具,带有预先训练好的采样器、数据集加载器、神经网络模块和文本编码器等,会根据最新的研究进行更新,以提供最先进的算法,适合研究人员。

7、Gensim
https://radimrehurek.com/gensim/
Gensim是一个用Python和Cython实现的免费开源库,用于无监督的主题建模和自然语言处理,使用现代统计机器学习,适合于使用数据流和增量型在线算法处理大型文本集合的场景。

8、Pattern
https://www.clips.uantwerpen.be/pages/pattern
Pattern是Python编程语言的Web挖掘模块,具有数据挖掘工具(谷歌,Twitter和维基百科API,网络爬虫,HTML DOM解析器),自然语言处理(词性标注,n-gram搜索,情感分析,WordNet),机器学习(矢量) 空间模型,聚类,SVM),网络分析和可视化。

登录注册后才能评论。