TensorFlowNews 2018-08-13
点击上方关注,All in AI中国
自然语言处理(NLP)如今越来越流行,在深度学习开发的背景下变得尤为引人注目。在人工智能领域中,自然语言处理(NLP)从文本中理解和提取重要信息,并基于文本数据进行进一步的数据训练,其主要任务包括语音识别和生成、文本分析、情感分析、机器翻译等。
在过去的几十年中,只有那些精通语言教育的专家才能从事自然语言处理。除了具有数学和机器学习知识以外,他们还精通一些关键的语言概念。而现在,我们可以使用已编译好的自然语言处理(NLP)库。它们的主要目的是简化文本预处理,使我们可以专注于构建机器学习模型和超参数微调。
有许多工具和库可以解决自然语言处理(NLP)问题。我们现在希望根据经验,对用户最受欢迎和最有帮助的自然语言处理库进行概述和比较。用户应该了解我们介绍的所有工具和库只有部分重叠的任务。所以,有时很难对它们直接进行比较。我们将介绍一些功能,并对人们可能常用的自然语言处理(NLP)库进行比较。
总体概述
为了让比较更加直观,以下列出展示各个NLP库优缺点的表格:
结论
在文中,我们比较了几个流行的自然语言处理库的一些功能。虽然它们中的大多数都提供了重叠任务的工具,但有一些可以使用独特的方法来解决具体的问题。当然,目前NLP库中最受欢迎的软件包是NLTK和Spacy。他们在NLP领域是主要竞争对手。在我们看来,它们之间的区别在于解决问题的方法不同。
NLTK更具学术性。用户可以使用它来尝试不同的方法和算法,将它们组合起来。相反,Spacy为每个问题提供了一个开箱即用的解决方案。用户不必考虑哪种方法更好:Spacy的编写者已经解决了这个问题。此外,Spacy的执行速度非常快(比NLTK快几倍)。但Spacy的一个缺点是所支持的语言数量有限。但其支持的语言数量将会一直增加。所以,我们认为Spacy在大多数情况下是用户的最佳选择,但如果用户想尝试一些特别的东西,可以使用NLTK。
尽管这两个库很受欢迎,但还有许多不同的选项,NLP工具包的选择取决于用户必须解决的具体问题。
ActiveWizards是一个由数据科学家和工程师组成的团队,专注于数据项目(大数据、数据科学、机器学习、数据可视化)。其核心专业领域包括数据科学(研究、机器学习算法、可视化和工程),数据可视化(d3.js、Tableau和其他),大数据工程(Hadoop、Spark、Kafka、Cassandra、HBase、MongoDB等),以及数据密集型Web应用程序开发(RESTful API、Flask、Django、Meteor)。