【导读】我们在上一节的内容中已经为大家介绍了台大李宏毅老师的机器学习课程的Structured learning-Structured SVM,这一节将主要针对讨论Structured learning-sequence labeling。本文内容主要针对机器学习中Structured learning- sequence labeling的POS tagging,Hidden Markov Model以及Conditional Random Field分别详细介绍。话不多说,让我们一起学习这些内容吧
课件网址:
http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html
http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17.html
视频网址:
https://www.bilibili.com/video/av15889450/index_1.html
李宏毅机器学习笔记24 Structured learning-Sequence Labeling(part 1)
今天讲述Structured learning的序列标注问题
1.POS tagging
我们以词性标注作为例子
所谓词性标注,指的找出一个句子中每个词语的词汇类型
总体会介绍四个部分的内容
2.Hidden Markov Model
人产生句子的过程第一步是在脑中产生POS sequence,是对于grammar的理解,然后根据pos sequence产生对应的句子。
所以HMM也类似,先根据文法产生POS sequence
然后根据词汇类型找出对应的词汇。
于是产生一个句子“John saw the saw”的概率为
公式一般化为如下所示
P(V|PN)类似的条件概率从数据集中获得
P(yl+1|yl)的概率也可以统计得到
我们要求的就是已知x得到y的概率,实际上我们可通过计算P(x,y)来得到最终结果
所以要做的就是穷举所有y,看哪个y使得P(x,y)几率最大,但这听起来不太靠谱。Viterbi algorithm可以做到这件事情。
以下是HMM的总结
但HMM也是有缺点的
当training data中只有一笔data:N->D->a,在test data遇到这种情况,填D是比较合理的。然而HMM会选N->V->a,这就矛盾了。
所以HMM会脑补它没有看到的东西
3. Conditional Random Field
CRF可以解决这个问题
CRF是将P(x,y)的形式改变了
将logP(x,y)继续化简可以得到
下面是一个具体的例子来解释logP(xl|yl)
其余的式子也可以表示为类似的形式
然后将上面所有的式子向量化我们会得到CRF的最终结果
因为无法保证训练时候w一定在某个范围内,所以不能直接等于,相当于成正比
请关注专知公众号