6个顶级Python NLP库的比较!

http://blog.itpub.net/31509949/viewspace-2212320/

自然语言处理(NLP)如今越来越流行,在深度学习开发的背景下变得尤为引人注目。在人工智能领域中,自然语言处理(NLP)从文本中理解和提取重要信息,并基于文本数据进行进一步的数据训练,其主要任务包括语音识别和生成、文本分析、情感分析、机器翻译等。

在过去的几十年中,只有那些精通语言教育的专家才能从事自然语言处理。除了具有数学和机器学习知识以外,他们还精通一些关键的语言概念。而现在,我们可以使用已编译好的自然语言处理(NLP)库。它们的主要目的是简化文本预处理,使我们可以专注于构建机器学习模型和超参数微调。

有许多工具和库可以解决自然语言处理(NLP)问题。我们现在希望根据经验,对用户最受欢迎和最有帮助的自然语言处理库进行概述和比较。用户应该了解我们介绍的所有工具和库只有部分重叠的任务。所以,有时很难对它们直接进行比较。我们将介绍一些功能,并对人们可能常用的自然语言处理(NLP)库进行比较。

总体概述

·NLTK(Python自然语言工具包)用于诸如标记化、词形还原、词干化、解析、POS标注等任务。该库具有几乎所有NLP任务的工具。

·Spacy是NLTK的主要竞争对手。这两个库可用于相同的任务。

·Scikit-learn为机器学习提供了一个大型库。此外还提供了用于文本预处理的工具。

·Gensim是一个主题和向量空间建模、文档集合相似性的工具包。

·Pattern库的一般任务是充当Web挖掘模块。因此,它仅支持自然语言处理(NLP)作为辅助任务。

·Polyglot是自然语言处理(NLP)的另一个Python工具包。它不是很受欢迎,但也可以用于各种NLP任务。

为了让比较更加直观,以下列出展示各个NLP库优缺点的表格:

结论

在文中,我们比较了几个流行的自然语言处理库的一些功能。虽然它们中的大多数都提供了重叠任务的工具,但有一些可以使用独特的方法来解决具体的问题。当然,目前NLP库中最受欢迎的软件包是NLTK和Spacy。他们在NLP领域是主要竞争对手。在我们看来,它们之间的区别在于解决问题的方法不同。

NLTK更具学术性。用户可以使用它来尝试不同的方法和算法,将它们组合起来。

相反,Spacy为每个问题提供了一个开箱即用的解决方案。用户不必考虑哪种方法更好:Spacy的编写者已经解决了这个问题。此外,Spacy的执行速度非常快(比NLTK快几倍)。但Spacy的一个缺点是所支持的语言数量有限。但其支持的语言数量将会一直增加。

所以,我们认为Spacy在大多数情况下是用户的最佳选择,但如果用户想尝试一些特别的东西,可以使用NLTK。

尽管这两个库很受欢迎,但还有许多不同的选项,NLP工具包的选择取决于用户必须解决的具体问题。

原文地址:https://www.cnblogs.com/DicksonJYL/p/9541433.html

时间: 2024-08-30 07:36:02

6个顶级Python NLP库的比较!的相关文章

程序员用于机器学习数据科学的3个顶级 Python 库

NumPy NumPy(数值 Python 的简称)是其中一个顶级数据科学库,它拥有许多有用的资源,从而帮助数据科学家把 Python 变成一个强大的科学分析和建模工具.NumPy 是在 BSD 许可证的许可下开源的,它是在科学计算中执行任务的基础 Python 库.SciPy 是一个更大的基于 Python 生态系统的开源工具,而 NumPy 是 SciPy 非常重要的一部分. NumPy 为 Python 提供了大量数据结构,从而能够轻松地执行多维数组和矩阵运算.除了用于求解线性代数方程和其

常用python机器学习库总结

开始学习Python,之后渐渐成为我学习工作中的第一辅助脚本语言,虽然开发语言是Java,但平时的很多文本数据处理任务都交给了Python.这些年来,接触和使用了很多Python工具包,特别是在文本处理,科学计算,机器学习和数据挖掘领域,有很多很多优秀的Python工具包可供使用,所以作为Pythoner,也是相当幸福的.如果仔细留意微博和论坛,你会发现很多这方面的分享,自己也Google了一下,发现也有同学总结了"Python机器学习库",不过总感觉缺少点什么.最近流行一个词,全栈工

Python NLP入门教程

本文简要介绍Python自然语言处理(NLP),使用Python的NLTK库.NLTK是Python的自然语言处理工具包,在NLP领域中,最常使用的一个Python库. 什么是NLP? 简单来说,自然语言处理(NLP)就是开发能够理解人类语言的应用程序或服务. 这里讨论一些自然语言处理(NLP)的实际应用例子,如语音识别.语音翻译.理解完整的句子.理解匹配词的同义词,以及生成语法正确完整句子和段落. 这并不是NLP能做的所有事情. NLP实现 搜索引擎: 比如谷歌,Yahoo等.谷歌搜索引擎知道

Python 标准库一览(Python进阶学习)

转自:http://blog.csdn.net/jurbo/article/details/52334345 写这个的起因是,还是因为在做Python challenge的时候,有的时候想解决问题,连应该用哪个类库都不知道,还要去百度(我不信就我一个人那么尴尬TvT) 好像自从学习了基础的Python 语法,看了几本Python经典的书,知道了一些常见的类库.在几本语法应用熟练的情况下,如果不做题,像是无法显著的提高自己的知识储备了(所以叫你去做python challenge啊,什么都不会~~

python标准库Beautiful Soup与MongoDb爬喜马拉雅电台的总结

Beautiful Soup标准库是一个可以从HTML/XML文件中提取数据的Python库,它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式,Beautiful Soup将会节省数小时的工作时间.pymongo标准库是MongoDb NoSql数据库与python语言之间的桥梁,通过pymongo将数据保存到MongoDb中.结合使用这两者来爬去喜马拉雅电台的数据... Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,其中一个是

基于协程的Python网络库gevent

import gevent def test1(): print 12 gevent.sleep(0) print 34 def test2(): print 56 gevent.sleep(0) print 78 gevent.joinall([ gevent.spawn(test1), gevent.spawn(test2), ]) 解释下,"gevent.spawn()"方法会创建一个新的greenlet协程对象,并运行它."gevent.joinall()"

Python标准库 (pickle包,cPickle包)

在之前对Python对象的介绍中 (面向对象的基本概念,面向对象的进一步拓展),我提到过Python"一切皆对象"的哲学,在Python中,无论是变量还是函数,都是一个对象.当Python运行时,对象存储在内存中,随时等待系统的调用.然而,内存里的数据会随着计算机关机和消失,如何将对象保存到文件,并储存在硬盘上呢? 计算机的内存中存储的是二进制的序列 (当然,在Linux眼中,是文本流).我们可以直接将某个对象所对应位置的数据抓取下来,转换成文本流 (这个过程叫做serialize),

Python标准库14 数据库 (sqlite3)

Python标准库14 数据库 (sqlite3) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.SQLite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具.SQLite还在其它领域有广泛的应用,比如HTML5和移动端.Python标准库中的sqlite3提供该数据库的接口. 我将创建一个简单的关系型数据库,为一个书店存

Python Requests库:HTTP for Humans

Python标准库中用来处理HTTP的模块是urllib2,不过其中的API太零碎了,requests是更简单更人性化的第三方库. 用pip下载: pip install requests 或者git: git clone git://github.com/kennethreitz/requests.git 发送请求: GET方法 >>> import requests >>> r = requests.get('https://api.github.com/event