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工具包的选择取决于用户必须解决的具体问题。

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

  1. Python NLP库top6的介绍和比较

    文章来源:ActiveWizards https://medium.com/activewizards-machine-learning-company/comparison-of-top-6-pyt ...

  2. 10个顶级Python实用库,推荐你试试!

    为什么我喜欢Python?对于初学者来说,这是一种简单易学的编程语言,另一个原因:大量开箱即用的第三方库,正是23万个由用户提供的软件包使得Python真正强大和流行. 在本文中,我挑选了15个最有用 ...

  3. 探讨2018年最受欢迎的15顶级Python库!

    近日,数据科学网站 KDnuggets 评选出了顶级 Python 库 Top15,领域横跨数据科学.数据可视化.深度学习和机器学习.如果本文有哪些遗漏,你可以在评论区补充. 图 1:根据 GitHu ...

  4. 顶级Python库

    绝不能错过的24个顶级Python库 Python有以下三个特点: · 易用性和灵活性 · 全行业高接受度:Python无疑是业界最流行的数据科学语言 · 用于数据科学的Python库的数量优势 事实 ...

  5. 3 个用于数据科学的顶级 Python 库

    使用这些库把 Python 变成一个科学数据分析和建模工具. Python 的许多特性,比如开发效率.代码可读性.速度等使之成为了数据科学爱好者的首选编程语言.对于想要升级应用程序功能的数据科学家和机 ...

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

    NumPy NumPy(数值 Python 的简称)是其中一个顶级数据科学库,它拥有许多有用的资源,从而帮助数据科学家把 Python 变成一个强大的科学分析和建模工具.NumPy 是在 BSD 许可 ...

  7. 常用python机器学习库总结

    开始学习Python,之后渐渐成为我学习工作中的第一辅助脚本语言,虽然开发语言是Java,但平时的很多文本数据处理任务都交给了Python.这些年来,接触和使用了很多Python工具包,特别是在文本处 ...

  8. Python NLP入门教程

    本文简要介绍Python自然语言处理(NLP),使用Python的NLTK库.NLTK是Python的自然语言处理工具包,在NLP领域中,最常使用的一个Python库. 什么是NLP? 简单来说,自然 ...

  9. python第三方库,你要的这里都有

    Python的第三方库多的超出我的想象. python 第三方模块 转 https://github.com/masterpy/zwpy_lst   Chardet,字符编码探测器,可以自动检测文本. ...

随机推荐

  1. 了解Java基本数据类型的取值范围

    拿byte类型做栗子 一个字节是8位二进制数,然后最高位会用来作为符号位.正数计算机是存的原码,负数是存的补码. 也就说byte正数最大是0111 1111,转化为十进制是:127(这就是byte的上 ...

  2. Javascript多线程

    最近项目中要用一个倒计时,但是当弹窗的时候倒计时会被阻塞,所以我想到使用Javascript多线程解决该问题. 虽然JavaScript是单线程的,但是通过worker可以让Javascript另外开 ...

  3. React.js 三周 -- 入门到搭建团队基础项目

    吐槽 公司自己的产品,由于历史遗留问题,前端一直是和java放到一个项目里写的. 导致了,前端就被死死的绑在了IDEA战车上.想要看页面效果,先起几个java服务.想要调试一个改动,重启个java服务 ...

  4. nRF52832 矩阵按键调试 同一列上的按键 任意两个按键 按下 检测不到低电平(电平拉不下来)

    参考链接:https://blog.csdn.net/zhanghuaishu0/article/details/78505045 调试过程中发现 同一列上的按键 任意两个按键 按下 检测不到低电平( ...

  5. [视频]K8飞刀 解密菜刀后门教程

    链接:https://pan.baidu.com/s/1raC1S_njxeqS7TaiTN6jLA 提取码:otmb

  6. Nginx + Keepalived负载均衡

    第一步: 下载keepalived地址:http://www.keepalived.org/download.html 解压安装: tar -zxvf keepalived-1.2.18.tar.gz ...

  7. docker 容器时间和系统时间不一致

    docker cp /etc/localtime 容器名:/etc/localtime cp /etc/localtime 24fe94504424:/etc/localtime date -s 09 ...

  8. GNum试用体验

    只需在GNum上注册一个用户名,填上自己的电话号码,它就会自动生成一个URL,你的朋友(可以不注册GNum)在浏览器上进入这个 URL,就可以给你的手机打电话,目前可以免费通话200分钟,而且如果你邀 ...

  9. Android开发之漫漫长途 XVII——动画

    该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...

  10. 深入理解String, StringBuffer, StringBuilder的区别(基于JDK1.8)

    String.StringBuffer.StringBuilder都是JAVA中常用的字符串操作类,对于他们的区别大家也都能耳熟能详,但底层到底是怎样实现的呢?今天就再深入分析下这三种字符串操作的区别 ...