Python NLP库top6的介绍和比较
文章来源:ActiveWizards
译者 | Revolver
编辑 | 磐石
出品 | 磐创AI技术团队
自然语言处理(NLP)在今天已经变得越来越流行,尤其是在深度学习迅猛发展的大背景下变得更加引人注目。NLP属于人工智能的一个领域,旨在理解文本和从中提取重要信息,并在文本数据上做进一步的训练。NLP的主要任务包括了语音识别和生成,文本分析,情感分析,机器翻译等。
现下已经有许多工具库被设计来解决NLP问题。今天,我们根据我们的经验列举概述了六个最实用最受欢迎的自然语言处理库,并对它们进行比较。不过我们列举的这几个库在功能上,在解决的任务目标上,只有部分的重叠,所以有时很难对它们进行直接比较。我们将围绕一些每个NLP库共有的特性来进行比较。
一、综述
NLTK (Natural Language Toolkit) 用于执行诸如分词,词形还原,词干提取,解析,词性标注等任务。该库包含的工具可用于几乎所有NLP任务。
Spacy NLTK的主要竞争对手。这两个库可用于相同的任务。
Scikit-learn 为机器学习提供了一个包罗万象的工具库,这其中就包含了用于文本预处理的工具。
Gensim 一个被用于主题和向量空间建模,计算文档相似性的工具包。
Pattern 主要作为Web挖掘模块被使用。因此,它仅被用来执行NLP的辅助类任务。
Polyglot NLP的另一个python包。它不是很受欢迎,但也可以用于各种NLP任务。
为了使比较更加清晰具体,我们制作了一张表格来展示每个库的优缺点。

二、结论
在本文中,我们比较了六个十分流行的自然语言处理库的部分功能。虽然它们大多数提供了解决相同任务的工具,但有些也使用独特的方法来解决特定问题。当然,今天NLP最受欢迎的软件包依然是NLTK和Spacy。他们彼此也是NLP领域的主要竞争对手。在我们看来,它们之间的区别主要在于解决问题的方法论不一样。
NLTK更具学术性。您可以使用它来尝试不同的方法和算法,或将它们组合起来等等。相反,Spacy为每个问题提供了一个开箱即用的解决方案。你不必考虑哪种方法更好:Spacy的作者已经给你想好了。此外,Spacy非常快(比NLTK快几倍)。一个缺点是Spacy支持的语言数量有限,但是支持的语言数量一直在增加。所以,我们认为Spacy在大多数情况下都是最佳选择,但如果你想尝试一些特别的东西,你可以使用NLTK。
尽管这两个库很受欢迎,但你依然还有许多其他不同的选择,如何选择NLP包取决于您希望解决的具体问题是什么。所以,如果你碰巧知道其他有用的NLP库,也可以在评论区告诉我们的读者。
Python NLP库top6的介绍和比较的更多相关文章
- 6个顶级Python NLP库的比较!
6个顶级Python NLP库的比较! http://blog.itpub.net/31509949/viewspace-2212320/ 自然语言处理(NLP)如今越来越流行,在深度学习开发的背景下 ...
- python标准库之glob介绍
python标准库之glob介绍 glob 文件名模式匹配,不用遍历整个目录判断每个文件是不是符合. 1.通配符 星号(*)匹配零个或多个字符 import glob for name in glob ...
- python第三方库requests简单介绍
一.发送请求与传递参数 简单demo: import requests r = requests.get(url='http://www.itwhy.org') # 最基本的GET请求 print(r ...
- Python标准库:1. 介绍
标准库包括了几种不同类型的库. 首先是那些核心语言的数据类型库,比方数字和列表相关的库.在核心语言手冊里仅仅是描写叙述数字和列表的编写方式,以及它的排列,而未定义它的语义. 换一句话说,核心语言手冊仅 ...
- Python图表库Matplotlib 组成部分介绍
图表有很多个组成部分,例如标题.x/y轴名称.大刻度小刻度.线条.数据点.注释说明等等. 我们来看官方给的图,图中标出了各个部分的英文名称 Matplotlib提供了很多api,开发者可根据需求定制图 ...
- python标准库之collections介绍
collections----容器数据类型 collections模块包含了除list.dict.和tuple之外的容器数据类型,如counter.defaultdict.deque.namedtup ...
- Python图像处理库:PIL中Image,ImageDraw等基本模块介绍
Python图像处理库:PIL中Image,ImageDraw等基本模块介绍 标签: 图像处理PILPYTHON 2016-08-19 10:58 461人阅读 评论(0) 收藏 举报 分类: 其他 ...
- 常用python机器学习库总结
开始学习Python,之后渐渐成为我学习工作中的第一辅助脚本语言,虽然开发语言是Java,但平时的很多文本数据处理任务都交给了Python.这些年来,接触和使用了很多Python工具包,特别是在文本处 ...
- Python NLP入门教程
本文简要介绍Python自然语言处理(NLP),使用Python的NLTK库.NLTK是Python的自然语言处理工具包,在NLP领域中,最常使用的一个Python库. 什么是NLP? 简单来说,自然 ...
随机推荐
- Jstorm执行task报错windows CONFIG SET protected-mode no
windows CONFIG SET protected-mode no报错说redis受保护模式,redis使用的是Redis-x64-3.2.100,参考博文说是redis3.2之后加入的特性, ...
- SQL Server 最小日志记录
SQL Server之所以记录事务日志,首要目的是为了把失败或取消的操作还原到最原始的状态,但是,并不是所有的操作都需要完全记录事务日志,比如,在一个空表上放置排他锁,把大量的数据插入到该空表中.即使 ...
- 不要写很酷但同事看不懂的Java代码
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员.为了提高 Java 编程的技艺,我最近在 GitHub 上学习一些高手编写的代码.下面这一行代码(出自大牛之手)据说可以征服你的朋 ...
- 简单说 通过CSS的滤镜 实现 火焰效果
说明 上次我们了解了一些css滤镜的基础知识, 简单说 CSS滤镜 filter属性 这次我们就来用css的滤镜实现一个 火焰的效果. 解释 要实现上面的火焰效果,我们先来了解一些必要的东西. 上次我 ...
- 利用pandas选取某个属性符合指定条件的所有行
最近遇到利用pandas选取指定行的需求,经常忘记,在此做下记录 选取某个属性等于特定值的所有行记录 df[(df[‘column_name’] == target_value)] 注:等于用 '== ...
- JZOJ 1736. 扑克游戏 (Standard IO)
1736. 扑克游戏 (Standard IO) Time Limits: 1000 ms Memory Limits: 128000 KB Description 有一棵无穷大的满二叉树,根为sta ...
- Linux进程操作记录
关于Gunicorn如何终止进程: 1.用进程树显示主进程PID: pstree -ap | grep gunicorn 2.如果有daemon进程无法用kill -9删除(可能是因为daemon屏蔽 ...
- 【面试必备】硬核!30 张图解 HTTP 常见的面试题
每日一句英语学习,每天进步一点点: 前言 在面试过程中,HTTP 被提问的概率还是比较高的.小林我搜集了 5 大类 HTTP 面试常问的题目,同时这 5 大类题跟 HTTP 的发展和演变关联性是比较大 ...
- hibernate中cascade属性以及inverse属性
级联操作 cascadecascade的常用属性值 none 默认值 不做任何变动 save-update 保存或修改 delete 删除 all 包含save-update 和delete等行为 c ...
- oracle单机数据库搭建巨详细文档
规划 环境:redhat6.9 安装包:p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip 数据 ...