实验对比了一下三种切分方式:

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 - 将句子切分为单词的更多相关文章

  1. 学习NLP:《精通Python自然语言处理》中文PDF+英文PDF+代码

    自然语言处理是计算语言学和人工智能之中与人机交互相关的领域之一. 推荐学习自然语言处理的一本综合学习指南<精通Python自然语言处理>,介绍了如何用Python实现各种NLP任务,以帮助 ...

  2. 转-Python自然语言处理入门

      Python自然语言处理入门 原文链接:http://python.jobbole.com/85094/ 分享到:20 本文由 伯乐在线 - Ree Ray 翻译,renlytime 校稿.未经许 ...

  3. Python自然语言处理工具小结

    Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 目录 [Python NLP]干货!详述Python NLTK下如何使用stanford NLP工具包(1) [ ...

  4. 《Python自然语言处理》

    <Python自然语言处理> 基本信息 作者: (美)Steven Bird    Ewan Klein    Edward Loper 出版社:人民邮电出版社 ISBN:97871153 ...

  5. Python自然语言处理(1):初识NLP

    由于我们从美国回来就是想把医学数据和医学人工智能的事认真做起来,所以我们选择了比较扎实的解决方法,想快速出成果的请绕道.我们的一些解决方法是:1.整合公开的所有医学词典,尽可能包含更多的标准医学词汇: ...

  6. 《Python自然语言处理》中文版-纠错【更新中。。。】

    最近在看<Python自然语言处理>中文版这本书,可能由于是从py2.x到py3.x,加上nltk的更新的原因,或者作者的一些笔误,在书中很多代码都运行不能通过,下面我就整理一下一点有问题 ...

  7. python要点简要-一日精通python

    Python2.x是历史,Python3.x是这门语言的现在和未来.Python2和3大约90%的地方都很相似的. 1.注释 单行注释:在注释的前面输入#号,如下: # 这是一条注释 多行注释:使用三 ...

  8. 《精通python网络爬虫》笔记

    <精通python网络爬虫>韦玮 著 目录结构 第一章 什么是网络爬虫 第二章 爬虫技能概览 第三章 爬虫实现原理与实现技术 第四章 Urllib库与URLError异常处理 第五章 正则 ...

  9. Python 自然语言处理笔记(一)

    一. NLTK的几个常用函数 1. Concordance 实例如下: >>> text1.concordance("monstrous") Displaying ...

随机推荐

  1. 使用 input[type=file]上传文件

    var $file = $('#file'); $('#btn').click(function() { var data = new FormData(); data.append('file', ...

  2. 关于nodejs下载组件经常失败的问题

    由于最近在刚开始做一个前台element和mybatisplus的项目,但是在使用nodejs下载vue的脚手架和各种组件时,会经常出现下载失败的问题,进而导致前台无法启动. 在网上查询之后发现在下载 ...

  3. SpringBoot整合Mybatis,TypeAliases配置失败的问题

    SpringBoot整合Mybatis,TypeAliases配置失败的问题 问题描述 在应用MyBatis时,使用对象关系映射,将对象和Aliase映射起来. 在Mybatis的文档明确写出,如果你 ...

  4. 登录验证码的生成Java代码

    package example7; import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java. ...

  5. PHP Mysql数据库连接

    1,date_default_timezone_set('PRC');//获取北京时区      header("Content-Type:text/html;charset=utf-8&q ...

  6. python应用:日期时间

    计算时间差时,注意天数差引发的问题,获取天数差为 (date2-date1).days 此处,需谨记date2>date1,以保证结果的正确性 具体应用如下: # -*-coding:utf8- ...

  7. 前端css之float浮动

    浮动的准则,先找前一个块标签,在确认有否清除浮动的条件或者是距离的情况下,如果这一行能摆得下,就继续紧贴前一个标签 如果摆不下,就会另起一行 浮动只有左边和右边 如果是块标签,设置浮动,先把displ ...

  8. BZOJ1588_营业额统计_KEY

    题目传送门 分析题意可得,希望求与每个数最相近的数. 二叉搜索树的简单题,因为可能被卡成O(N),考虑平衡树. 因为Treap较简单,此处用Treap编写代码. code: #include < ...

  9. 苏州Uber人民优步奖励政策

    人民优步(People's Uber)资费标准 起步价(Base Fare):¥0.00 每公里(Per KM):¥1.65 每分钟(Per Min):¥0.30 最低价(Min Fare):¥9.0 ...

  10. 厦门Uber优步司机奖励政策(1月4日~1月10日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...