安装和使用nltk
安装
参考:https://www.cnblogs.com/zrmw/p/10869325.html
分词:注意先分句再分词,这些对象均来自nltk.tokenize库
- word_tokenize
导入nltk的tokenize库后,tokens = nltk.word_tokenize(sentence)语句进行分词操作,sentence为待处理的字符串。返回一个列表。该方法要求被处理的字符串本身各个词语之间有空格,能处理如don't, they'll等缩写词的情况。 - TweetTokenizer
Twitter-aware,按空格进行分词,同时针对推文一些特性,去除@用户名,保留表情等一些特殊符号。
分两种:
(1)不带参数token=TweetTokenizer().tokenize(sentence)处理。
输入"This is a coooool #dummysmiley: :-) :-P <3 and some arrows < > -> <--"
输出['This', 'is', 'a', 'cooool', '#dummysmiley', ':', ':-)', ':-P', '<3', 'and', 'some', 'arrows', '<', '>', '->', '<--']能够拆分无效用的标点符号。
(2)带参数token = TweetTokenizer(strip_handles=True, reduce_len = True).
输入@remy: This is waaaaayyyy too much for you!!!!!!
输出[':', 'This', 'is', 'waaayyy', 'too', 'much', 'for', 'you', '!', '!', '!']
当一个词中相同字符连续出现3次以上,就只保留3个。设置strip_handles = True会删去@xxx。 - MWETokenizer
tokenizer = MWETokenizer([('a', 'little'), ('a', 'little', 'bit'), ('a', 'lot')])
输入tokenizer.tokenize('In a litte or a litte bit or a lot in spite of'.split()); tokenizer.add_mwe(('in', 'spite', 'of'))
输出['In', 'a_little', 'or', 'a_little_bit', 'or', 'a_lot', 'in_spite_of']
该方法可对已经先保留的一些短语,或者组合,进行重组(对一些专有词可以先进行保留,如F-16,最后重组已保留-)。 - RegexpTokenizer
使用到正则表达式进行分词,如对一些金钱表示或者其他非空白序列。
tokenizer = RegexpTokenizer('\w+|$[\d.]+|\S+')
输入"Good muffins cost $3.88\n in New York. Please buy me\n two of them.\n\n Thanks."
输出['Good', 'muffins', 'cost', '$3.88', 'in', 'New', 'York', '.', 'Please', 'buy', 'me', 'two', 'of', 'them', '.', 'Thanks', '.'] - StanfordTokenizer
按空格进行分词,对于$4.28之类的,将符号与数字分开。
输入“Good muffins cost \(3.88\n in New York. Please buy me\n two of them.\n Thanks." 输出['Good', 'muffins', 'cost', '\)', '3.88', 'in', 'New', 'York', '.', 'Please', 'buy', 'me', 'two', 'of', 'them', '.', 'Thanks', '.']
词性标注
具体的符号意义,参考:https://www.cnblogs.com/elpsycongroo/p/9369111.html
情感词典
nltk集成了情感词典SentiwordNet,使用方法参考:https://stackoverflow.com/questions/38263039/sentiwordnet-scoring-with-python
参考
https://www.cnblogs.com/kylinsblog/p/7762675.html
吐槽
感觉官方文档写的是真烂,连一个详细的API说明文档都没有。
安装和使用nltk的更多相关文章
- 安装numpy、nltk问题汇总
系统环境是win7(64bit)+python3.4(64bit)+numpy1.82+vs2012 1.假设用sourceforge上编译好的32bit的exe安装,会提示'python versi ...
- windows 10安装gensim、nltk
一.安装gensim 1.什么事gensim gensim是一个python的科学库,gensim包含了TF-IDF.随机投影.word2vec和document2vec算法的实现,分层Dirchle ...
- win安装NLTK出现的问题
一.今天学习Python自然语言处理(NLP processing) 需要安装自然语言工具包NLTK Natural Language Toolkit 按照教程在官网https://pypi.pyth ...
- Mac OS10.9 下python开发环境(eclipse)以及自然语言包NLTK的安装与注意
折腾了大半天,终于把mbp上python自然语言开发环境搭建好了. 第一步,安装JDK1.7 for mac MacOS10.9是自带python2.7.5的,够用,具体的可以打开终端输入python ...
- Centos6.4 安装NLTK
NLTK 安装链接 http://www.nltk.org/install.html 不知道什么原因打不开pypi 的网站 http://pypi.python.org/pypi/setuptool ...
- python中nltk的下载安装方式
首先去http://nltk.org/install.html下载相关的安装程序,然后 在cmd窗口中,进入到python的文件夹内的 Scripts内,运行easy_install pip 安装Py ...
- Python自然语言处理工具NLTK的安装FAQ
1 下载Python 首先去python的主页下载一个python版本http://www.python.org/,一路next下去,安装完毕即可 2 下载nltk包 下载地址:http://www. ...
- NLTK的安装与简单测试
1.NLTK简介 Natural Language Toolkit,自然语言处理工具包,在NLP领域中,最常使用的一个Python库.NLTK是一个开源的项目,包含:Python模块,数据集和教程,用 ...
- 在 NLTK 中使用 Stanford NLP 工具包
转载自:http://www.zmonster.me/2016/06/08/use-stanford-nlp-package-in-nltk.html 目录 NLTK 与 Stanford NLP 安 ...
随机推荐
- linux设备驱动程序——将驱动程序编译进内核
linux驱动程序--将驱动程序编译进内核 模块的加载 通常来说,在驱动模块的开发阶段,一般是将模块编译成.ko文件,再使用 sudo insmod module.ko 或者 depmod -a mo ...
- Httpd服务入门知识-Httpd服务常见配置案例之DSO( Dynamic Shared Object)加载动态模块配置
Httpd服务入门知识-Httpd服务常见配置案例之DSO( Dynamic Shared Object)加载动态模块配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.加载动 ...
- php抽象工厂模式(Abstract factory pattern)
练代码 <?php interface Button { public function render(); } interface GUIFactory { public function c ...
- KVM管理工具
Ovirt:功能强大,RHEV的开源版本 WebVirtMgr:virt-manager的WEB模式的替代品 ConVirt:分为开源版.商业版 Openstack:开源框架,复杂程度较高
- 软件测试之Monkey 初步了解(入门级)
monkey 介绍 Monkey是Google提供的一个用于稳定性与压力测试的命令行工具.可以运行在模拟器或者实际设备中.它向系统发送伪随机的用户事件(如按键.手势.触摸屏等输入),对软件进行稳定性与 ...
- spark读写Oracle、hive的艰辛之路(一)
前两天工作需求,要通过给的几个Oracle的视图把数据入到hive库中,很遗憾,使用的华为云平台的集区环境中并没有sqoop1,当然也并没有sqoop2,所以,想到的解决方案是使用spark读取Ora ...
- pandas IO
pd.read_csv("../data/user_info.csv", index_col="name") #假设csv里包含这几列: name, age, ...
- Oracle 实现自增主键
废话不多讲,直接上代码 //1.创建表 Create Table testZcm( Id Number(2) Not Null Primary Key, postCode Nu ...
- 洛谷P2038 无线网络发射器选址
题目描述 随着智能手机的日益普及,人们对无线网的需求日益增大.某城市决定对城市内的公共场所覆盖无线网. 假设该城市的布局为由严格平行的 \(129\) 条东西向街道和 \(129\) 条南北向街道所形 ...
- 第03组 Alpha冲刺(4/4)
队名:不等式方程组 组长博客 作业博客 团队项目进度 组员一:张逸杰(组长) 过去两天完成的任务: 文字/口头描述: 制定了初步的项目计划,并开始学习一些推荐.搜索类算法 GitHub签入纪录: 暂无 ...