稀土掘金 稀土掘金

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

本文首发自 easyAI - 产品经理的AI知识库

原文地址:《 一文看懂NLP里的分词-Tokenization(中英文区别+3大难点+3种典型方法)》

一文看懂分词

分词是 NLP 的基础任务,将句子,段落分解为字词单位,方便后续的处理的分析。

本文将介绍分词的原因,中英文分词的3个区别,中文分词的3大难点,分词的3种典型方法。最后将介绍中文分词和英文分词常用的工具。

什么是分词?

分词是 自然语言理解 - NLP 的重要步骤。

分词就是将句子、段落、文章这种长文本,分解为以字词为单位的数据结构,方便后续的处理分析工作。

什么是分词?

为什么要分词?

  1. 将复杂问题转化为数学问题

在 机器学习的文章 中讲过,机器学习之所以看上去可以解决很多复杂的问题,是因为它把这些问题都转化为了数学问题。

而 NLP 也是相同的思路,文本都是一些「非结构化数据」,我们需要先将这些数据转化为「结构化数据」,结构化数据就可以转化为数学问题了,而分词就是转化的第一步。

为什么要分词?

  1. 词是一个比较合适的粒度

词是表达完整含义的最小单位。

字的粒度太小,无法表达完整含义,比如”鼠“可以是”老鼠“,也可以是”鼠标“。

而句子的粒度太大,承载的信息量多,很难复用。比如”传统方法要分词,一个重要原因是传统方法对远距离依赖的建模能力较弱。”

词是合适的粒度

3. 深度学习时代,部分任务中也可以「分字」

深度学习时代,随着数据量和算力的爆炸式增长,很多传统的方法被颠覆。

分词一直是 NLP 的基础,但是现在也不一定了,感兴趣的可以看看这篇论文:《 Is Word Segmentation Necessary for Deep Learning of Chinese Representations?》。

Is Word Segmentation Necessary for Deep Learning of Chinese Representations?

不过在一些特定任务中,分词还是必要的。如:关键词提取、命名实体识别等。

中英文分词的3个典型区别

中英文分词的3个典型区别

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

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

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

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

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

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

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

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

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

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

中文分词的3大难点

中文分词的3大难点

难点 1:没有统一的标准

目前中文分词没有统一的标准,也没有公认的规范。不同的公司和组织各有各的方法和规则。

难点 2:歧义词如何切分

例如「兵乓球拍卖完了」就有2种分词方式表达了2种不同的含义:

  • 乒乓球 \ 拍卖 \ 完了
  • 乒乓 \ 球拍 \ 卖 \ 完了

难点 3:新词的识别

信息爆炸的时代,三天两头就会冒出来一堆新词,如何快速的识别出这些新词是一大难点。比如当年「蓝瘦香菇」大火,就需要快速识别。

3种典型的分词方法

3种典型的分词方法

分词的方法大致分为 3 类:

  1. 基于词典匹配
  2. 基于统计
  3. 基于深度学习

给予词典匹配的分词方式

优点:速度快、成本低

缺点:适应性不强,不同领域效果差异大

基本思想是基于词典匹配,将待分词的中文文本根据一定规则切分和调整,然后跟词典中的词语进行匹配,匹配成功则按照词典的词分词,匹配失败通过调整或者重新选择,如此反复循环即可。代表方法有基于正向最大匹配和基于逆向最大匹配及双向匹配法。

基于统计的分词方法

优点:适应性较强

缺点:成本较高,速度较慢

这类目前常用的是算法是HMM、CRF、SVM、深度学习等算法,比如stanford、Hanlp分词工具是基于CRF算法。以CRF为例,基本思路是对汉字进行标注训练,不仅考虑了词语出现的频率,还考虑上下文,具备较好的学习能力,因此其对歧义词和未登录词的识别都具有良好的效果。

基于深度学习

优点:准确率高、适应性强

缺点:成本高,速度慢

例如有人员尝试使用双向LSTM+CRF实现分词器,其本质上是序列标注,所以有通用性,命名实体识别等都可以使用该模型,据报道其分词器字符准确率可高达97.5%。

常见的分词器都是使用机器学习算法和词典相结合,一方面能够提高分词准确率,另一方面能够改善领域适应性。

中文分词工具

下面排名根据 GitHub 上的 star 数排名:

  1. Hanlp
  2. Stanford 分词
  3. ansj 分词器
  4. 哈工大 LTP
  5. KCWS分词器
  6. jieba
  7. IK
  8. 清华大学THULAC
  9. ICTCLAS

英文分词工具

  1. Keras
  2. Spacy
  3. Gensim
  4. NLTK

总结

分词就是将句子、段落、文章这种长文本,分解为以字词为单位的数据结构,方便后续的处理分析工作。

分词的原因:

  1. 将复杂问题转化为数学问题
  2. 词是一个比较合适的粒度
  3. 深度学习时代,部分任务中也可以「分字」

中英文分词的3个典型区别:

  1. 分词方式不同,中文更难
  2. 英文单词有多种形态,需要词性还原和词干提取
  3. 中文分词需要考虑粒度问题

中文分词的3大难点

  1. 没有统一的标准
  2. 歧义词如何切分
  3. 新词的识别

3个典型的分词方式:

  1. 基于词典匹配
  2. 基于统计
  3. 基于深度学习

产品经理的 AI 知识库

代做工资流水公司泉州查询房贷流水孝感查询企业对公流水宜昌薪资流水单模板滁州入职工资流水办理东莞贷款工资流水 报价保定消费贷流水办理合肥查询入职流水临沂制作个人流水临沂打薪资银行流水中山办离职证明扬州做入职银行流水黄冈车贷流水办理济宁工资流水图片开封代做贷款流水阜阳查对公银行流水兰州代办工资流水鞍山做转账银行流水海口车贷流水价格长春对公账户流水开具青岛贷款银行流水查询三亚工资银行流水代开南通个人流水公司沈阳代办企业流水打印镇江个人银行流水代开许昌办理车贷银行流水咸阳工资流水app截图代办湖州流水单办理贵阳办理日常消费流水上海代办入职银行流水镇江企业对公流水代做香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化