自然语言处理(Natural Language Processing,简称 NLP),是研究计算机处理人类语言的一门技术。随着深度学习在图像识别、语音识别领域的大放异彩,人们对深度学习在 NLP 的价值也寄予厚望。再加上 AlphaGo 的成功,人工智能的研究和应用变得炙手可热。自然语言处理作为人工智能领域的认知智能,成为目前大家关注的焦点。NLP 研究领域包括:

句法语义分析:对于给定的句子,进行分词、词性标记、命名实体识别和链接、句法分析、语义角色识别和多义词消歧。

信息抽取:从给定文本中抽取重要的信息,比如,时间、地点、人物、事件、原因、结果、数字、日期、货币、专有名词等等。通俗说来,就是要了解谁在什么时候、什么原因、对谁、做了什么事、有什么结果。涉及到实体识别、时间抽取、因果关系抽取等关键技术。

文本挖掘(或者文本数据挖掘):包括文本聚类、分类、信息抽取、摘要、情感分析以及对挖掘的信息和知识的可视化、交互式的表达界面。目前主流的技术都是基于统计机器学习的。

机器翻译:把输入的源语言文本通过自动翻译获得另外一种语言的文本。根据输入媒介不同,可以细分为文本翻译、语音翻译、手语翻译、图形翻译等。机器翻译从最早的基于规则的方法到二十年前的基于统计的方法,再到今天的基于神经网络(编码-解码)的方法,逐渐形成了一套比较严谨的方法体系。

信息检索:对大规模的文档进行索引。可简单对文档中的词汇,赋之以不同的权重来建立索引,也可利用 1,2,3 的技术来建立更加深层的索引。在查询的时候,对输入的查询表达式比如一个检索词或者一个句子进行分析,然后在索引里面查找匹配的候选文档,再根据一个排序机制把候选文档排序,最后输出排序得分最高的文档。

问答系统: 对一个自然语言表达的问题,由问答系统给出一个精准的答案。需要对自然语言查询语句进行某种程度的语义分析,包括实体链接、关系识别,形成逻辑表达式,然后到知识库中查找可能的候选答案并通过一个排序机制找出最佳的答案。

对话系统:系统通过一系列的对话,跟用户进行聊天、回答、完成某一项任务。涉及到用户意图理解、通用聊天引擎、问答引擎、对话管理等技术。此外,为了体现上下文相关,要具备多轮对话能力。同时,为了体现个性化,要开发用户画像以及基于用户画像的个性化回复。

以上引用微软亚洲研究院首席研究员周明博士在知乎的回答。

当前,用于自然语言处理(NLP)的 Python工具包括:

1.NLTK

NLTK 在使用 Python 处理自然语言的工具中处于领先的地位。它提供了超过50 个包括如: WordNet 这种方便处理词汇资源的数据接口。同时,还有一套用于分类、标记化、词干标记、解析和语义推理的文本处理库,以及工业级 NLP 库的封装器和一个活跃的讨论论坛。

统计语言学话题方面的手动编程指南加上全面的 API 文档,使得 NLTK 非常适用于语言学家、工程师、学生、教育家、研究人员以及行业用户等人群。NLTK 可以在 Windows、Mac OS X 以及 Linux 系统上使用。最好的一点是,NLTK 是一个免费、开源的社区驱动的项目。

因此,NLTK 被称为一个:

使用 Python 开发的用于统计语言学的教学和研究的有利工具,和一个自然语言处理的高效库。

2.Pattern

Pattern 拥有一系列的自然语言处理工具,比如说词性标注工具(Part-Of-Speech Tagger),N元搜索(n-gram search),情感分析(sentiment analysis),WordNet。它也支持机器学习的向量空间模型,聚类,向量机。

3.TextBlob

TextBlob 是一个处理文本数据的 Python 库。它提供了一个简单的 api 来解决一些常见的自然语言处理任务,例如词性标注、名词短语抽取、情感分析、分类、翻译等等。

4.Gensim

Gensim 是一个 Python 库,用于对大型语料库进行主题建模、文件索引、相似度检索等。它可以处理大于内存的输入数据。作者说它是:

纯文本上无监督的语义建模最健壮、高效、易用的软件。

5.PyNLPI

PyNLPI 全称是:Python 自然语言处理库(Python Natural Language Processing Library,音发作: pineapple) 是一个用于自然语言处理任务库。它集合了各种独立或松散互相关的,那些常见的、不常见的、对 NLP 任务有用的模块。PyNLPI 可以用来处理 N 元搜索,计算频率表和分布,建立语言模型。它还可以处理向优先队列这种更加复杂的数据结构,或者像 Beam 搜索这种更加复杂的算法。同时,该处理库还提供了完善的文档库。

6.spaCy

spaCy 是一个商业的开源软件。结合了 Python 和 Cython 优异的 NLP 工具。是快速的,最先进的自然语言处理工具。

7.Polyglot

Polyglot 支持大规模多语言应用程序的处理。它支持165 种语言的分词,196 中语言的辨识,40 种语言的专有名词识别,16 种语言的词性标注,136 种语言的情感分析,137 种语言的嵌入,135 种语言的形态分析,以及69 种语言的翻译。

8.MontyLingua

MontyLingua 是一个免费的、功能强大的、端到端的英文处理工具。在 MontyLingua 输入原始英文文本 ,输出就会得到这段文本的语义解释。它适用于信息检索和提取,请求处理,问答系统。从英文文本中,它能提取出主动宾元组,形容词、名词和动词短语,人名、地名、事件,日期和时间等语义信息。

9.BLLIP Parser

BLLIP Parser(也叫做 Charniak-Johnson parser)是一个集成了生成成分分析器和最大熵排序的统计自然语言分析器。它包括命令行和 Python 接口。

10.Quepy

Quepy 是一个 Python 框架,提供了将自然语言问题转换成为数据库查询语言中的查询。它可以方便地自定义自然语言中不同类型的问题和数据库查询。所以,通过 Quepy,仅仅修改几行代码,就可以构建你自己的自然语言查询数据库系统。

另外,上述工具大部分在处理英文自然语言上展示了良好的效果。同时,对于国内科研人员而言,自然语言处理往往需要考虑在中文应用中的差异处理。本文最后附上:复旦大学邱锡鹏教授整理并发布的中文自然语言处理工具列表,以供参考 ——

python自然语言处理库_Python自然语言处理工具库(含中文处理)相关推荐

  1. python自然语言处理路线图_python自然语言处理(一)

    自言语言处理基础知识 参考:https://blog.csdn.net/meihao5/article/details/79592667 英文资料: http://github.com/lovesof ...

  2. python调用matlab工具库_Python第三方常用工具、库、框架等

    Python ImagingLibrary(PIL):它提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换.打印和显示.还能进行一些图形效果的处理,如图形的放大.缩小和旋 ...

  3. Python超简单容易上手的画图工具库

    今天,在网上发现一款很棒的python画图工具库.很简单的api调用就能生成漂亮的图表.并且可以进行一些互动. pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开 ...

  4. python数据分析用什么库_Python数据分析常用的库总结

    Python之所以能够成为数据分析与挖掘领域的最佳语言,是有其独特的优势的.因为他有很多这个领域相关的库可以用,而且很好用,比如Numpy.SciPy.Matploglib.Pandas.Scikit ...

  5. python都需要安装哪些库_python常用到哪些库?

    Python作为一个设计优秀的程序语言,现在已广泛应用于各种领域,依靠其强大的第三方类库,Python在各个领域都能发挥巨大的作用. 下面我们就来看一下python中常用到的库: 数值计算库: 1. ...

  6. python怎么用第三方库_python怎么引用第三方库?

    Python及第三方库安装教程 一.Python安装教程 第一步:下载Python安装包 第二步:安装 第三步:测试 第四步:运行 二.第三方库安装教程 第一步:下载安装包 第二步:安装 第三步:测试 ...

  7. python打包库_Python 打包自己的库到 PYPI (可pip安装)

    背景 在我们安装 Python 库的时候,通常我们都是pip install xxx 真是又酷炫又方便 那么,当我们自己写了一些自认为不错的库,想要分享给大家使用(或者是想要装X时)能不能也能做到这样 ...

  8. python导入excel类库_Python中使用第三方库xlutils来追加写入Excel文件示例

    Python中使用第三方库xlutils来追加写入Excel文件示例 目前还没有更好的方法来追写Excel,lorinnn在网上搜索到以及之后用到的方法就是使用第三方库xlutils来实现了这个功能, ...

  9. python自然语言处理库_Python 自然语言处理(NLP)工具库汇总

    最近正在用nltk 对中文网络商品评论进行褒贬情感分类,计算评论的信息熵(entropy).互信息(point mutual information)和困惑值(perplexity)等(不过这些概念我 ...

最新文章

  1. 推荐 | 有三AI生态新的资源干货集中营,好书好工具好内容等你来淘
  2. recyclerview item点击无效_让你彻底掌握RecyclerView的缓存机制
  3. Debug equipment download的技巧
  4. python图书管理系统增删改查_图书管理系统---增删改查
  5. python输入圆的半径公式_【公布答案(【输入输出】练习题:Hello, C++)】
  6. Spring Cloud Config客户端使用
  7. 在free bsd上跑JMeter 的 plugin PerfMon Server Agent
  8. java ftl 模板 输出list_关于在freemarker模板中遍历数据模型ListJavaBean的经验
  9. 如何烧录程序_鸿蒙实战课堂 | 如何完成一次HarmonyOS操作系统移植?
  10. 跟着翁凯老师学Cday1#学习记录#
  11. ubuntu16如何开wifi
  12. js函数学习--用户输入年份判断当年是闰年还是平年,当年二月有多少天
  13. 【云IDE】CSDN云IDE的初探以及实战操作
  14. 如何发送gmail邮件_如何从R和Gmail发送电子邮件
  15. fiddler4在win7抓取https的配置整理
  16. POJ 1877 Flooded!
  17. 从外包测试到阿里巴巴,一位三本女生逆袭之路
  18. 学习java的第5天
  19. Data Modle:游戏对战模型
  20. JavaWeb实现餐厅点餐系统

热门文章

  1. 不同的S/4HANA系统,同一创建用户的功能,因为权限不同而造成的差异
  2. OPA 11 - how is check called in my iClickTheCreateButton
  3. QG3系统无法创建SAP employee的原因
  4. 设置断点检测控件何时创建和析构
  5. How change in Console is rendered back into UI
  6. apache2怎么知道从哪个默认文件夹下去查找网页
  7. One order OPPORT_H read的学习笔记
  8. CM: word template merge 工具
  9. Mockito框架学习之stub then return
  10. 更改软件typera的编辑页面背景色