前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python NLP库top6的介绍和比较

Python NLP库top6的介绍和比较

作者头像
磐创AI
发布2018-08-03 14:30:35
3570
发布2018-08-03 14:30:35
举报
文章被收录于专栏:磐创AI技术团队的专栏

阅读将近3分钟

自然语言处理(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库,也可以在评论区告诉我们的读者。(编译自:medium)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 磐创AI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档