[精通Python自然语言处理] Ch1 - 将句子切分为单词
实验对比了一下三种切分方式:
1,2 : nltk.word_tokenize : 分离缩略词,(“Don't” =>'Do', "n't") 表句子切分的“,” "." 单独成词。
3 : TreebankWordTokenizer: 分离缩略词, 表句子切分的 “,"单独成词,句号“.”被删去。
4 : PunktWordTokenizer: 报错: cannot import name 'PunktWordTokenizer'
5 : WordPunctTokenizer: 将标点转化为全新标识符实现切分。(“Don't” =>'Don', "'", 't')
import nltk
text = "We're excited to let you know that. Harry, 18 years old, will join us on Nov. 29. Don't tell him." text_tokenized = nltk.word_tokenize(text)
print("1: word_tokenize:", text_tokenized)
print("length: ", len(text_tokenized)) from nltk import word_tokenize
text_tokenized_2 = word_tokenize(text)
print("2: word_tokenize:", text_tokenized_2)
print("length: ", len(text_tokenized_2)) from nltk.tokenize import TreebankWordTokenizer
tokenizer3 = TreebankWordTokenizer()
text_tokenized_3 = tokenizer3.tokenize(text)
print("3: TreebankWordTokenizer", text_tokenized_3)
print("length: ", len(text_tokenized_3)) # from nltk.tokenize import PunktWordTokenizer
# tokenizer4 = PunktWordTokenizer()
# text_tokenized_4 = tokenizer4.tokenize(text)
# print("4: PunktWordTokenizer", text_tokenized_4)
# print("length: ", len(text_tokenized_4)) from nltk.tokenize import WordPunctTokenizer
tokenizer5 = WordPunctTokenizer()
text_tokenized_5 = tokenizer5.tokenize(text)
print("5: WordPunctTokenizer", text_tokenized_5)
print("length: ", len(text_tokenized_5))
输出:
: word_tokenize: ['We', "'re", 'excited', 'to', 'let', 'you', 'know', 'that', '.', 'Harry', ',', '', 'years', 'old', ',', 'will', 'join', 'us', 'on', 'Nov.', '', '.', 'Do', "n't", 'tell', 'him', '.']
length:
: word_tokenize: ['We', "'re", 'excited', 'to', 'let', 'you', 'know', 'that', '.', 'Harry', ',', '', 'years', 'old', ',', 'will', 'join', 'us', 'on', 'Nov.', '', '.', 'Do', "n't", 'tell', 'him', '.']
length:
: TreebankWordTokenizer ['We', "'re", 'excited', 'to', 'let', 'you', 'know', 'that.', 'Harry', ',', '', 'years', 'old', ',', 'will', 'join', 'us', 'on', 'Nov.', '29.', 'Do', "n't", 'tell', 'him', '.']
length:
: WordPunctTokenizer ['We', "'", 're', 'excited', 'to', 'let', 'you', 'know', 'that', '.', 'Harry', ',', '', 'years', 'old', ',', 'will', 'join', 'us', 'on', 'Nov', '.', '', '.', 'Don', "'", 't', 'tell', 'him', '.']
length:
[精通Python自然语言处理] Ch1 - 将句子切分为单词的更多相关文章
- 学习NLP:《精通Python自然语言处理》中文PDF+英文PDF+代码
自然语言处理是计算语言学和人工智能之中与人机交互相关的领域之一. 推荐学习自然语言处理的一本综合学习指南<精通Python自然语言处理>,介绍了如何用Python实现各种NLP任务,以帮助 ...
- 转-Python自然语言处理入门
Python自然语言处理入门 原文链接:http://python.jobbole.com/85094/ 分享到:20 本文由 伯乐在线 - Ree Ray 翻译,renlytime 校稿.未经许 ...
- Python自然语言处理工具小结
Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 目录 [Python NLP]干货!详述Python NLTK下如何使用stanford NLP工具包(1) [ ...
- 《Python自然语言处理》
<Python自然语言处理> 基本信息 作者: (美)Steven Bird Ewan Klein Edward Loper 出版社:人民邮电出版社 ISBN:97871153 ...
- Python自然语言处理(1):初识NLP
由于我们从美国回来就是想把医学数据和医学人工智能的事认真做起来,所以我们选择了比较扎实的解决方法,想快速出成果的请绕道.我们的一些解决方法是:1.整合公开的所有医学词典,尽可能包含更多的标准医学词汇: ...
- 《Python自然语言处理》中文版-纠错【更新中。。。】
最近在看<Python自然语言处理>中文版这本书,可能由于是从py2.x到py3.x,加上nltk的更新的原因,或者作者的一些笔误,在书中很多代码都运行不能通过,下面我就整理一下一点有问题 ...
- python要点简要-一日精通python
Python2.x是历史,Python3.x是这门语言的现在和未来.Python2和3大约90%的地方都很相似的. 1.注释 单行注释:在注释的前面输入#号,如下: # 这是一条注释 多行注释:使用三 ...
- 《精通python网络爬虫》笔记
<精通python网络爬虫>韦玮 著 目录结构 第一章 什么是网络爬虫 第二章 爬虫技能概览 第三章 爬虫实现原理与实现技术 第四章 Urllib库与URLError异常处理 第五章 正则 ...
- Python 自然语言处理笔记(一)
一. NLTK的几个常用函数 1. Concordance 实例如下: >>> text1.concordance("monstrous") Displaying ...
随机推荐
- 一招搞定css页面布局
如何做出漂亮的页面: 1. 多写页面,多改. 2. 多写页面,多改. 3. 多写页面,多改. 大致的思想步骤: 写页面的时候先规划好大致的分块,无论是用定位或者浮动,首先要确定要应用的场景,使用完浮动 ...
- 微信小程序禁止刷新之后苹果端还可以下拉的问题
一.问题描述 最近在做一个小程序项目,需要禁止下拉刷新,于是在page.json里面添加了这段话 "enablePullDownRefresh":false 全局关闭下拉刷新,这段 ...
- Linux -- 用户篇
Linux -- 用户与用户组 1.Linux 系统中有三种角色:所有者(用户),用户组与其他人,一张图可以说明用户与用户组的关系. 如图,某公司相当于一个用户组,该用户组下有A,B两个用户,用户拥有 ...
- Oracle模糊查询
通配符 % 匹配零个或更多的任意字符 _ 匹配一个任意字符 [ ] 匹配指定范围中的一个字符([a-z],[0-9]) [^ ] 不属于指定范围,不包含其中的字符 escape转义 --查询 ...
- SSH整合(一)
一.ssh原始整合方式 不需要任何整合包,就是简单的将三个框架集合到一起 hibernate 导入jar包: hibernate-release-5.0.7.Fin ...
- 搭建Extjs框架(一)
搭建Extjs框架 pc端 github https://github.com/Status400/Extjs-6.2.0-demo 欢迎start 准本工作: 官方下载Extjs ...
- 开发类似"音速启动"的原创工具简码"万能助手"的过程中对ztree.js与win标准控件treeview、HTMLayout树形框等优缺点的比较
在开发类似"音速启动"的桌面快捷方式管理软件简码"万能助手"的早期规划中,曾经考虑过几种树形框方案: ztree.js.win标准控件treeview.HTML ...
- mysql碰到的问题总结
1.问题描述: 连接数据库出现大约10s延迟后才能连接,排除网络问题 解决方案: 通过抓包工具tcpdump抓包分析mysql在连接开始有近10s的空白请求,问题原因就在这 ,不知道在执行什么请求,后 ...
- CYQ MAction,子表 新增,删除,修改 集合
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore[转]
[转载]http://www.cnblogs.com/dolphin0520/p/3920397.html 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDow ...