首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Tokenize

Tokenize

作者头像
Hsinyan
发布2022-06-19 17:32:55
发布2022-06-19 17:32:55
1.1K00
代码可运行
举报
运行总次数:0
代码可运行

Tokenize

进行nlp任务都需要进行Tokenize,Tokenize可以理解为是把长句子拆分成有”意义"的小部件,这里的有"意义"是指最终能够使得计算机理解。

使用nltk进行tokenize

代码语言:javascript
代码运行次数:0
运行
复制
import nltk
sentence = = 'hello,world'
tokens = nltk.word_tokenize(sentence)
print(tokens)
#['hello',',','world']

中英文NLP的区别

区别1:分词方式不同,中文更难

英文有天然的空格作为分隔符,但是中文没有。所以如何切分是一个难点,再加上中文里一词多意的情况非常多,导致很容易出现歧义。下文中难点部分会详细说明。

区别2:英文单词有多种形态

英文单词存在丰富的变形变换。为了应对这些复杂的变换,英文NLP相比中文存在一些独特的处理步骤,我们称为词形还原(Lemmatization)和词干提取(Stemming)。中文则不需要

词性还原:does,done,doing,did 需要通过词性还原恢复成 do。

词干提取:cities,children,teeth 这些词,需要转换为 city,child,tooth”这些基本形态

区别3:中文分词需要考虑粒度问题

例如「中国科学技术大学」就有很多种分法:

  • 中国科学技术大学
  • 中国 科学技术 大学
  • 中国 科学 技术 大学

粒度越大,表达的意思就越准确,但是也会导致召回比较少。所以中文需要不同的场景和要求选择不同的粒度。这个在英文中是没有的。

社交网络上文本数据的Tokenize

有时候Tokenize没那么简单,在社交网络上,乱七八糟的不合语法不合正常逻辑的语言很多:比如@某人,表情符号,URL,#话题符号

这种情况下应该使用正则表达式辅助进行文本的预处理

参考资料

一文看懂NLP里的分词(中英文区别+3 大难点+3 种典型方法)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Tokenize
  • 中英文NLP的区别
  • 社交网络上文本数据的Tokenize
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档