词性标注(二)

分词

词的概念

分词是自然语言处理的基础,分词准确度直接决定了后面的词性标注、句法分析、词向量以及文本分析的质量。英文语句使用空格将单词进行分隔,除了某些特定词,如how many,New York等外,大部分情况下不需要考虑分词问题。但中文不同,天然缺少分隔符,需要读者自行分词和断句。故在做中文自然语言处理时,我们需要先进行分词。

中文分词的三个难点

中文分词不像英文那样,天然有空格作为分隔。而且中文词语组合繁多,分词很容易产生歧义。因此中文分词一直以来都是NLP的一个重点,也是一个难点。难点主要集中在分词标准,切分歧义和未登录词三部分。
1.分词标准
比如人名,有的算法认为姓和名应该分开,有的认为不应该分开。这需要制定一个相对统一的标准。又例如“花草”,有的人认为是一个词,有的人认为应该划分开为两个词“花/草”。某种意义上,中文分词可以说是一个没有明确定义的问题。
2.切分歧义
1.组合型歧义:分词粒度不同导致的不同切分结果。比如“中华人民共和国”,粗粒度的分词结果为“中华人民共和国”,细粒度的分词结果为“中华/人民/共和国”。这种问题需.用场景来选择。
2.交集型歧义:不同切分结果共用相同的字,前后组合的不同导致不同的切分结果。比如“商务处女干事”,可以划分为“商务处/女干事”,也可以划分为“商务/处女/干事”。这也需要通过整句话来区分。
3.真歧义:本身语法或语义没有问题,即使人工切分也会产生歧义。比如“下雨天留客天天留人不留”,可以划分为“下雨天/留客天/天留/人不留”,也可以划分为“下雨天/留客天/天留人不/留”。此时通过整句话还没法切分,只能通过上下文语境来进行切分。如果是不想留客,则切分为前一个。否则切分为后一个。

3.未登录词

也叫新词发现,或者生词,未被词典收录的词。

中文分词算法

当前的分词算法主要分为两类,基于词典的规则匹配方法,和基于统计的机器学习方法。
基于词典的分词算法
基于词典的分词算法,本质上就是字符串匹配。将待匹配的字符串基于一定的算法策略,和一个足够大的词典进行字符串匹配,如果匹配命中,则可以分词。根据不同的匹配策略,又分为正向最大匹配法,逆向最大匹配法,双向匹配分词,全切分路径选择等。
基于统计的分词算法
本质上是一个序列标注问题。我们将语句中的字,按照他们在词中的位置进行标注。标注主要有:B(词开始的一个字),E(词最后一个字),M(词中间的字,可能多个),S(一个字表示的词)。例如“网商银行是蚂蚁金服微贷事业部的最重要产品”,标注后结果为“BMMESBMMEBMMMESBMEBE”,对应的分词结果为“网商银行/是/蚂蚁金服/微贷事业部/的/最重要/产品”。
这类算法基于机器学习或者现在火热的深度学习,主要有HMM,CRF,SVM,以及深度学习等。

总结

中文分词是中文自然语言处理中的一个重要环节,为后面的词向量编码,词性标注,句法分析以及文本分析打下了坚实的基础。同时,由于中文缺少空格等分隔符,并且汉字间的组合特别多,很容易产生歧义,这些都加大了中文分词的难度。基于词典的字符串匹配算法和基于统计的分词算法,二者各有优缺点,我们可以考虑结合使用。

相关学习连接

http://ssvideo.superlib.com/cxvideo/play/page?sid=1586&vid=28434&d=77edee6d216507e5ece667cef95799ea&cid=236
https://blog.csdn.net/u013510838/article/details/81673016

中文词性标注学习笔记(二)---分词相关推荐

  1. 中文词性标注学习笔记(三)---词性标注

    词性标注 词性标注(part-of-speech tagging),又称为词类标注或者简称标注,是指为分词结果中的每个单词标注一个正确的词性的程序,也即确定每个词是名词.动词.形容词或者其他词性的过程 ...

  2. 中文词性标注学习笔记(一)---词性标注概念

    词性标注(一) 前言 词性标注也被称为语法标注或词类消疑,是语料库语言学中将语料库内单词的词性按其含义和上下文内容进行标记的文本数据处理技术. 词性标注可以由人工或特定算法完成,使用机器学习方法实现词 ...

  3. amazeui学习笔记二(进阶开发4)--JavaScript规范Rules

    amazeui学习笔记二(进阶开发4)--JavaScript规范Rules 一.总结 1.注释规范总原则: As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性. ...

  4. 二维码学习笔记(二) | 数据分析与数据编码

    唠唠闲话 二维码笔记系列(原文地址): 『二维码学习笔记(一) | 二维码概述』 『二维码学习笔记(二) | 数据分析与数据编码』 『二维码学习笔记(三) | 纠错编码』 『二维码学习笔记(四) | ...

  5. wxpython应用程序对象与顶级窗口_wxPython学习笔记(二)

    如何创建和使用一个应用程序对象? 任何wxPython应用程序都需要一个应用程序对象.这个应用程序对象必须是类wx.App或其定制的子类的一个实例.应用程序对象的主要目的是管理幕后的主事件循环. 父类 ...

  6. 码匠社区学习笔记(二)

    所需资料 教程视频地址 Bootstrap spring模板 elasticsearch中文社区(想模仿的效果) 码云aAuth 获取授权用户的资料 github第三方授权文档 码匠社区学习笔记(二) ...

  7. qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...

  8. [转载]dorado学习笔记(二)

    原文地址:dorado学习笔记(二)作者:傻掛 ·isFirst, isLast在什么情况下使用?在遍历dataset的时候会用到 ·dorado执行的顺序,首先由jsp发送请求,调用相关的ViewM ...

  9. PyTorch学习笔记(二)——回归

    PyTorch学习笔记(二)--回归 本文主要是用PyTorch来实现一个简单的回归任务. 编辑器:spyder 1.引入相应的包及生成伪数据 import torch import torch.nn ...

最新文章

  1. java aio_java中的AIO
  2. go语言学习(2)rune以及strings
  3. 深度操作系统 15 发布 —— 不忘初心,追逐梦想
  4. oracle USER 与 Schema 的关系与区别
  5. 仍然不安全:变成了Java 9功能的Java 6中的主要错误
  6. python读取tiff数据_opencv-python读取tiff影像,并展示
  7. 历城职专学前计算机专业,历城职专学前教育专业2020学年第一学期技能运动会拉开帷幕...
  8. 弹出框 每次打开 滚动条置顶_微信置顶文字怎么弄?微信置顶一句话教程
  9. 第五天、LAMP架构
  10. PageHelper 分页Total总是为pageSize的问题
  11. 又一个查询,哥整了一天,NND有点受不鸟了
  12. c++入门之类继承初步
  13. 透明色的rgb值是多少_一文掌握PPT主题色原理及使用技巧
  14. Nginx开启gzip压缩功能
  15. Js显示Struts2中的内容之escape和escapeHtml
  16. java对象拷贝——PropertyUtils copyProperties 用法和性能
  17. FishC笔记—26 讲 字典:当索引不好用时2
  18. PicGO + 阿里云对象存储OSS 个人图床入门教程
  19. Linux系统无网络安装nginx
  20. 2.4 旋转曲面 (1)

热门文章

  1. paypal是怎么收费的?
  2. 央视气象女主播王蓝一揭秘天气预报潜规则
  3. Flutter仿美团应用开发笔记-首页 (1)
  4. word中插入手写的电子签名
  5. dw实时视图与网页不一样_视图窗口和oc实时预览内容显示范围不一样,不完全同步。...
  6. 华为云服务器客户端,华为终端云服务带来全场景云体验让用户办公更便捷
  7. 前端云原生——微信小程序云服务配置
  8. git教程(涵盖GitHub\Gitee\Gitlab)
  9. 线性代数:矩阵列空间 和 方程的解 [中]
  10. 一行Python都可以做什么?这35行看懂十行就算入门,全能看懂必是高手