nltk.tokenize.word_tokenize(text)只是一个瘦的

wrapper function,它调用

TreebankWordTokenizer类实例的tokenize方法,它显然使用简单的正则表达式来解析一个句子.

该类的文档声明:

This tokenizer assumes that the text has already been segmented into

sentences. Any periods — apart from those at the end of a string —

are assumed to be part of the word they are attached to (e.g. for

abbreviations,etc),and are not separately tokenized.

底层tokenize方法本身非常简单:

def tokenize(self,text):

for regexp in self.CONTRACTIONS2:

text = regexp.sub(r'\1 \2',text)

for regexp in self.CONTRACTIONS3:

text = regexp.sub(r'\1 \2 \3',text)

# Separate most punctuation

text = re.sub(r"([^\w\.\'\-\/,&])",r' \1 ',text)

# Separate commas if they're followed by space.

# (E.g.,don't separate 2,500)

text = re.sub(r"(,\s)",r' \1',text)

# Separate single quotes if they're followed by a space.

text = re.sub(r"('\s)",text)

# Separate periods that come before newline or end of string.

text = re.sub('\. *(\n|$)',' . ',text)

return text.split()

基本上,该方法通常做的是将句点标记为单独的标记,如果它落在字符串的末尾:

>>> nltk.tokenize.word_tokenize("Hello,world.")

['Hello',','world','.']

落在字符串中的任何句点都被标记为单词的一部分,假设它是缩写:

>>> nltk.tokenize.word_tokenize("Hello,world. How are you?")

['Hello','world.','How','are','you','?']

只要这种行为是可以接受的,你应该没事.

python tokenize_python – 滥用nltk的word_tokenize(已发送)的后果相关推荐

  1. 中文停用词文档_使用Python中的NLTK和spaCy删除停用词与文本标准化

    译者 | VK 来源 | Analytics Vidhya [磐创AI 导读]:本文介绍了如何使用Python中的NLTK和spaCy删除停用词与文本标准化,欢迎大家转发.留言.想要更多电子杂志的机器 ...

  2. python自然语言处理案例-Python自然语言处理 NLTK 库用法入门教程【经典】

    本文实例讲述了Python自然语言处理 NLTK 库用法.分享给大家供大家参考,具体如下: 在这篇文章中,我们将基于 Python 讨论自然语言处理(NLP).本教程将会使用 Python NLTK ...

  3. Python批量拆分Excel文件中已合并的单元格

    中国大学MOOC"Python程序设计基础"第4次开课 推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国,清华大 ...

  4. [转载] 使用Python中的NLTK和spaCy删除停用词与文本标准化

    参考链接: Python | 用NLTK进行词干分析 概述 了解如何在Python中删除停用词与文本标准化,这些是自然语言处理的基本技术  探索不同的方法来删除停用词,以及讨论文本标准化技术,如词干化 ...

  5. 使用Python中的NLTK和spaCy删除停用词与文本标准化

    概述 了解如何在Python中删除停用词与文本标准化,这些是自然语言处理的基本技术 探索不同的方法来删除停用词,以及讨论文本标准化技术,如词干化(stemming)和词形还原(lemmatizatio ...

  6. Python自然语言处理 NLTK 库用法入门教程【经典】

    @本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 本文实例讲述了Python自然语言处理 NLTK 库用法.分享给大家供大家参考,具体如下: 在这篇文章中,我们将基于 Python ...

  7. python基于条件、规则构建已有字典的子集

    python基于条件.规则构建已有字典的子集 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括 ...

  8. .Net MVC Redirect出现:服务器无法在已发送 HTTP 标头之后设置状态解决方案

    .Net MVC Redirect出现:服务器无法在已发送 HTTP 标头之后设置状态解决方案 参考文章: (1).Net MVC Redirect出现:服务器无法在已发送 HTTP 标头之后设置状态 ...

  9. python的工作方向-Python最有发展潜力的方向已出来,是否有你喜欢的职位?

    原标题:Python最有发展潜力的方向已出来,是否有你喜欢的职位? Python是一门面向对象的编程语言,编译速度超快,从诞生到现在已经25个年头了.其特点在于灵活运用,因为其拥有大量第三方库,所以开 ...

  10. 对于窗口大小为n个滑动窗口,最多可以有( )帧已发送但没有确认。

    对于窗口大小为n的滑动窗口,最多可以有( n-1 )帧已发送但没有确认. 在连续ARQ协议中,发送窗口大小<=窗口总数-1. 例如:窗口总数为8,编号为0 ~ 7,假设8个帧都已发出,下一轮又发 ...

最新文章

  1. hive查看表中列的信息命令_快速了解hive
  2. Altium Designer PCB快速布局
  3. js 和C# ashx之间数组参数传递问题
  4. java语音播报案例
  5. python打印生成word_使用python调用zabbix接口截取监控图并生成Word文档
  6. 以为来自东华理工大学学生的SCI投稿经验
  7. 一个普通二叉树的遍历
  8. Android学习——SharedPreferences
  9. 敏捷测试与传统测试的区别
  10. kubectl mysql 集群_mysql-kubernetes
  11. 【iOS开发-60】案例学习:多组数据的tableView设置、添加右側组索引、多层数据模型设置以及valueForKeyPath...
  12. java404_java这个404你能解决吗?
  13. linux机器crt连接不上,SecureCRT连不上Linux主机了,求破
  14. Excel:用VBA添加分页符
  15. 理论上讲,股市暴跌是不是要清仓?为什么?
  16. windows下网络测试工具
  17. image could not be accessed on a registry to record its digest
  18. 为什么AI公司都在一边融资,一边投资? | 甲子光年
  19. 如何实现自定义主题切换?
  20. 8086汇编工作环境_[C语言]什么是编辑器和编译器,什么是集成开发环境?编译原理又是什么?

热门文章

  1. caffe 6中优化方法并附带 对应的solver。prototxt代码
  2. MongoDB 3.4安装及配置
  3. 看计划排产软件在纺织业的应用
  4. 企业证书,不上app store的ipa下载方式
  5. Hexo+GithubPage搭建Fan主题的博客(7)配置自定义域名
  6. Python使用Win32和天行机器人API实现微信自动聊天机器人(自动敷衍机器人)
  7. 关于lcm,gcd的一些性质
  8. 卓有成效的管理者(珍藏版) (德鲁克管理经典)
  9. 基于微信小程序的毕业设计题目(36)PHP电影院售票小程序(含开题报告、任务书、中期报告、答辩PPT、论文模板)
  10. 事事有着落,件件有回音——MyAppsp平台督查督办管理系统