编程派微信号:codingpy
Python以其清晰简洁的语法、易用和可扩展性以及丰富庞大的库深受广大开发者喜爱。其内置的非常强大的机器学习代码库和数学库,使Python理所当然成为自然语言处理的开发利器。
那么使用Python进行自然语言处理,要是不知道这8个工具就真的Out了。
NLTK
NLTK是使用Python处理语言数据的领先平台。它为像WordNet这样的词汇资源提供了简便易用的界面。它还具有为文本分类(classification)、文本标记(tokenization)、词干提取(stemming)、词性标记(tagging)、语义分析(parsing)和语义推理(semantic reasoning)准备的文本处理库。
Pattern
Pattern具有用于词性标注(part-of-speech taggers)、n-gram搜索、情感分析和WordNet的一系列工具。它还支持矢量空间建模、聚类分析以及支持向量机。
TextBlob
TextBlob是处理文本数据的一个Python库。它为深入挖掘常规自然语言处理提供简单易用的API,例如词性标注(part-of-speech tagging)、名词短语提取(noun phrase extraction)、情感分析、文本分类、机器翻译等等。
Gensim
Gensim是一个用于主题建模、文档索引以及使用大规模语料数据的相似性检索。相比于RAM,它能处理更多的输入数据。作者称它是“根据纯文本进行非监督性建模最健壮、最有效的、最让人放心的软件”。
PyNLPl
PyNLPl:Python Natural Language Processing Library(发音为:pineapple)是一个用于自然语言处理的Python库。它由一系列的相互独立或相互松散独立的模块构成,用于处理常规或不太常规的NLP任务。PyNLPl可用于n-gram计算、频率列表和分布、语言建模。除此之外,还有更加复杂的数据模型,例如优先级队列;还有搜索引擎,例如波束搜索。
spaCy
spaCy是一个商业化开源软件,是使用Python和Cython进行工业级自然语言处理的软件。它是目前最快的、水平最高的自然语言处理工具。
Polyglot
Polyglot是一个支持海量多语言的自然语言处理工具。它支持多达165种语言的文本标记,196种语言的语言检测,40种语言的命名实体识别,16种语言的词性标注,136种语言的情感分析,137种语言的字根嵌入,135种语言的形态分析以及69种语言的音译。
MontyLingua
MontyLingua是一个免费的、常识丰富的、端对端的英语自然语言理解软件。用户只需要将原始英文文本输入MontyLingua,就能输出文本的语义解释。该软件完美适用于信息提取、需求处理以及问答。从给定的英语文本,它能提取主语/动词/形容词对象元组、名词短语和动词短语,并提取人的名字、地点、事件、日期和时间,以及其他语义信息。