文章目录
- NLP 打卡Day2
- Lesson 3 理论课:词法分析及其应用 学习笔记
- 1. 词法分析概念
- 2. 词法分析技术的发展
- 2.1 字符串匹配
- 3. 实践案例LAC
- 写在最后
本文基于百度飞浆Paddle平台
项目地址:
『NLP打卡营』实践课1:词向量应用演示
VisualDL官方说明文档
Embedding源码地址
NLP 打卡Day2
Lesson 3 理论课:词法分析及其应用 学习笔记
1. 词法分析概念
词法分析指对计算机语言心态进行分析,并判断词的结构和类别等
主要有下面三个任务:
- 分词
- 词性标注
- 实体识别
具体任务如下所示:
句法分析、文本分类、信息抽取等应用
?如果以字为粒度:对于词语来说太小了,如“张”含有张开或者姓氏之意
2. 词法分析技术的发展
- 基于词典
- 字符串匹配:向前、向后最大匹配
- 统计语言模型:N-Gram
- 基于序列标注
- 统计方法:HMM, CRF等
- 深度学习方法:LSTM+CRF, FLAT等
2.1 字符串匹配
- 基于字符串匹配方法
- 前向/后向/最大匹配、最少词数、策略组合
- 戴表应用:MMSEG分词、IK分词
- 优点:简单可控
- 缺点:难以解决歧义、新词的问题
- 基于语言的模型
- 先基于词表匹配
- 将所有可能的路径画出来(包括单字的)
- 计算所有路径中概率最大的路径出来
- 应用:jieba、ICTCLAS(NLPIR)
- 缺点:难以解决新词的问题
如上图,两项的乘积,虽然上面的P概率大,但是对应有惩罚项(/n)
- 基于序列标注的方法
- 一开始不知道那个分词,我们可以对词语中的每个字打上一个标签
- 对于每一个字,只需要分辨是否是词头还是词序即可
- BIO转换
B
:序列词头
I
:序列词序(相当于一个短语里面除第一个字之外的字)
O
:在序列中表示Other,在命名体识别中我们不关心的词
- RNN实现序列标注
仅仅使用RNN的问题:标签有顺序的,会有以下逻辑错误
为解决这一问题,引出了CRF的线性链条件随机场
OOV
:Out Of Vocabulary
一般训练使用Bi-LSTM+CRF
3. 实践案例LAC