用Python做自然语言处理必知的八个工具【转载】

Python以其清晰简洁的语法、易用和可扩展性以及丰富庞大的库深受广大开发者喜爱。其内置的非常强大的机器学习代码库和数学库,使Python理所当然成为自然语言处理的开发利器。

那么使用Python进行自然语言处理,要是不知道这8个工具就真的Out了。

NLTK

NLTK是使用Python处理语言数据的领先平台。它为像WordNet这样的词汇资源提供了简便易用的界面。它还具有为文本分类(classification)、文本标记(tokenization)、词干提取(stemming)、词性标记(tagging)、语义分析(parsing)和语义推理(semantic reasoning)准备的文本处理库。

Pattern

Pattern具有用于词性标注(part-of-speech taggers)、n-gram搜索、情感分析和WordNet的一系列工具。它还支持矢量空间建模、聚类分析以及支持向量机。

TextBlob

TextBlob是处理文本数据的一个Python库。它为深入挖掘常规自然语言处理提供简单易用的API,例如词性标注(part-of-speech tagging)、名词短语提取(noun phrase extraction)、情感分析、文本分类、机器翻译等等。

Gensim

Gensim是一个用于主题建模、文档索引以及使用大规模语料数据的相似性检索。相比于RAM,它能处理更多的输入数据。作者称它是“根据纯文本进行非监督性建模最健壮、最有效的、最让人放心的软件”。

PyNLPl

PyNLPl:Python Natural Language Processing Library(发音为:pineapple)是一个用于自然语言处理的Python库。它由一系列的相互独立或相互松散独立的模块构成,用于处理常规或不太常规的NLP任务。PyNLPl可用于n-gram计算、频率列表和分布、语言建模。除此之外,还有更加复杂的数据模型,例如优先级队列;还有搜索引擎,例如波束搜索。

spaCy

spaCy是一个商业化开源软件,是使用Python和Cython进行工业级自然语言处理的软件。它是目前最快的、水平最高的自然语言处理工具。

Polyglot

Polyglot是一个支持海量多语言的自然语言处理工具。它支持多达165种语言的文本标记,196种语言的语言检测,40种语言的命名实体识别,16种语言的词性标注,136种语言的情感分析,137种语言的字根嵌入,135种语言的形态分析以及69种语言的音译。

MontyLingua

MontyLingua是一个免费的、常识丰富的、端对端的英语自然语言理解软件。用户只需要将原始英文文本输入MontyLingua,就能输出文本的语义解释。该软件完美适用于信息提取、需求处理以及问答。从给定的英语文本,它能提取主语/动词/形容词对象元组、名词短语和动词短语,并提取人的名字、地点、事件、日期和时间,以及其他语义信息。

作者:董志南

来源:NLP自然语言处理

转载自:http://mp.weixin.qq.com/s?__biz=MzAwNDc0MTUxMw==&mid=2649638920&idx=1&sn=1b62850ea3dec2401a6a3f61e946de38&scene=0#rd

时间: 2024-10-14 04:54:07

用Python做自然语言处理必知的八个工具【转载】的相关文章

五款Java开发者必知的错误跟踪工具

首先我们先看下什么是java? Java是由Sun Microsystems公司于 1995年5月推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称.由James Gosling和同事们共同研发,并在1995年正式推出.Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的.1995年更名为Java,并重新设计用于开发Internet应用程序.用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台.动态的We

软件测试工程师提升工作效率必知的28种工具!【附带图】

结合自己的工作经验分享给大家软件测试工程师必须知道的几种工具废话不多说直接上干货!一.app自动化工具1,appium 这个应该算是目前最流行的基于app的自动化测试框架了2,instruments ios平台下的自动化测试框架,用java语言写的3,uiautomator安卓自动化测试框架,基本上支持安卓的所有事件操作4,Monkey 安卓自带的测试工具5,Monkey Runner Monkey改进版,支持自己编写脚本测试,用Python语言6,Robotium 一款国外的Android自动

Web开发必知的八种隔离级别

ACID性质是数据库理论中的奠基石,它定义了一个理论上可靠数据库所必须具备的四个性质:原子性,一致性,隔离性和持久性.虽然这四个性质都很重要,但是隔离性最为灵活.大部分数据库都提供了一些可供选择的隔离级别,且现在许多库都增加了附加层来创建颗粒度更细的隔离.隔离级别应用范围如此之广主要是因为放宽隔离约束往往会使得可扩展性和性能提高几个数量级. 串行一致性是可用的最古老最高的隔离级别之一,它之所以倍受青睐是因为其提供的简单编程模型,即每次仅能有一个事务对给定的资源进行操作,这就避免了很多潜在的资源问

师傅叮嘱要下山的徒弟必知必做的江湖规矩!

时间过的很快一晃又一个班毕业了.看到大家一个个找到了满意的工作,老男孩老师也是感觉很有成就啊,为了让大家再工作中发展的更好,给大家整理了10篇博文 1.linux运维高薪就业指导(0基础新手获得10K+高薪必备) http://oldboy.blog.51cto.com/2561410/1655600 老男孩超级强的就业指导课程,使得0基础运维班平均工资达到了12K. 2.初入运维职场菜鸟必知必做的工作心态! http://oldboy.blog.51cto.com/2561410/141451

用python做中文自然语言预处理

这篇博客根据中文自然语言预处理的步骤分成几个板块.以做LDA实验为例,在处理数据之前,会写一个类似于实验报告的东西,用来指导做实验,OK,举例: 一,实验数据预处理(python,结巴分词)1.对于爬取的评论做分词和词性标注处理(mac-result.txt)2.对于结果只用公版的停用词表去停用词,不进行人工筛选(mac-result1.txt)3.保留:名词,名词短语(两者为评论描述主题) 形容词,动词,动词短语(对主题的描述)以及其他可能有实意的词   去除:副词,标点,拟声词等无实意词包括

用Python做一个知乎沙雕问题总结

用Python做一个知乎沙雕问题总结 松鼠爱吃饼干2020-04-01 13:40 前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 数据森麟 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun 这两天偶然上网的时候,被知乎上一个名为“玉皇大帝住在平流层还是对流层”的问题吸引,本以为只是小打小闹,殊不知这个问题却在知乎上引发了强烈共鸣,浏览次数500W+,

基础入门_Python-模块和包.深入Celery之常用架构/方案选型/必知必会?

简单介绍: 说明: 此模块是一个专注于分布式消息传递的异步任务队列,所谓任务就是消息,消息中的有效载荷中包含要执行的任务需要的全部数据 几大特性: 1. Celery易于使用和维护,且不需要配置文件,默认配置启动时自动写入消息代理. 2. Celery高可用,连接丢失或失败时客户端或消费者会自动重试,并且可通过消息代理的双主/主从模式来提高高可用性 3. Celery快速,单个进程每分钟可处理百万任务,且优化后可保持往返延迟在亚毫秒级别 4. Celery灵活,几乎所有部分都支持扩展或单独使用,

必知必会JVM垃圾回收——对象搜索算法与回收算法

垃圾回收(GC)是JVM的一大杀器,它使程序员可以更高效地专注于程序的开发设计,而不用过多地考虑对象的创建销毁等操作.但是这并不是说程序员不需要了解GC.GC只是Java编程中一项自动化工具,任何一个工具都有它适用的范围,当超出它的范围的时候,可能它将不是那么自动,而是需要人工去了解与适应地适用. 拥有一定工作年限的程序员,在工作期间肯定会经常碰到像内存溢出.内存泄露.高并发的场景.这时候在应对这些问题或场景时,如果对GC不了解,很可能会成为个人的发展瓶颈. 接下来的两文将详细学习下JVM中垃圾

一个老师程序员说:这是学Java 必知必会的 20 种常用类库和 API

一个有经验的Java开发人员特征之一就是善于使用已有的轮子来造车.<Effective Java>的作者Joshua Bloch曾经说过:"建议使用现有的API来开发,而不是重复造轮子".在本文中,我将分享一些Java开发人员应该熟悉的最有用的和必要的库和API.顺便说一句,这里不包括框架,如Spring和Hibernate因为他们非常有名,都有特定的功能.最后,如果大家如果在自学遇到困难,想找一个java的学习环境,可以加入我们的java学习圈,点击我加入吧,会节约很多时