序列标注模型算法比较

偶然浏览到一篇挺有实际参考价值的论文Nguyen and Guo(2007)。该文比较了一些模型和算法在词性标注和OCR任务上的性能,包括HMM、CRF、AP、Structured SVM、M3N、SEARN算法以及SLE算法,对算法选型很有指导意义。这篇博客随手记录一些要点。屏幕快照 2016-09-14 下午5.31.38.png

结构化学习模型

多分类SVM

在论文中用做基线模型,大意是把序列标注问题退化成多个分类问题。

屏幕快照 2016-09-14 下午4.25.36.png

这里的phi是特征函数。

结构化SVM

相较于多分类SVM,唯一的变化是在函数间隔的约束条件中引入损失函数delta:

屏幕快照 2016-09-14 下午4.37.27.png

作者这个目标函数是不是贴错了啊,少了一个分母n,难道不应该是下面这样的吗?

屏幕快照 2016-09-14 下午4.39.26.png

上式引用自《结构化支持向量机学习方法及应用研究》。

Maximum Margin Markov Networks

中文名叫最大间隔马尔可夫网,大意就是定义一个序列标注y上的完全图。给每条边定义一个势函数:

屏幕快照 2016-09-14 下午4.56.02.png

其中phi_k为第k个特征函数。由于边的数量是固定的,所以定义在整个实例上的特征函数:

屏幕快照 2016-09-14 下午5.01.46.png

马尔科夫网模型最大化如下联合条件概率分布:

屏幕快照 2016-09-14 下午5.08.22.png

M3N通过间隔最大化原则求解权值向量w,思想跟SVM的结构风险最小化是一样的,于是就具有SVM的优点。

国内有《基于最大间隔马尔可夫网模型的汉语分词方法.pdf》可供参考。

平均感知机

最近的新欢,请参考:

感知机

200行Python代码实现感知机词性标注器

基于结构化平均感知机的分词器Java实现

SEARN

从搜索的角度看待序列标注,用多分类标注器做序列标注。还没仔细看论文,感觉像是拍脑袋拍出来的算法。

CRF

大家都爱的CRF:

条件随机场

CRF++代码分析

HMM

隐马尔可夫模型

SLE

一种融合多个多类别分类器为结构化预测的算法。加了个转移矩阵,乘以对每个类别的表决票数,用viterbi搜一遍。

粗略看了看公式,大概就是这样了,实验室产物,我发明不了新模型,但我可以融合多个旧模型美其名曰SLE、stacked learning之类刷分数水论文啊。

试验

做了两组试验,一组词性标注,一组手写字母OCR。

调参

每个模型能调的参数调到最优:

屏幕快照 2016-09-14 下午5.30.27.png

词性标注试验结果

在不同的训练规模下的误差率,越低越好。

屏幕快照 2016-09-14 下午5.31.38.png

表格形式:

屏幕快照 2016-09-14 下午5.33.00.png

大出意料啊,你一个基线多分类SVM误差那么低让人情何以堪!这验证了《200行Python代码实现感知机词性标注器》作者“对词性标注而言不必操心搜索算法”的论点,如果一个分类器每次预测的误差都很小,那么转移矩阵的作用就可以忽略不计了。

还有训练时间:

SVMmulticlass 1.8m, SVMstruct 6.8m, M3N 12h, Perceptron 6.4m, SEARN 2.1m, CRF 0.53h, HMM 0.23s.

也体现了SVM的优势。

OCR结果

屏幕快照 2016-09-14 下午5.38.43.png

结论是类似的,除了论文作者的亲儿子,SVM的性能最好。

结论

忽略论文作者亲儿子后,结构化SVM是最棒的。

结构化SVM实现

康奈尔大学的C实现:https://www.cs.cornell.edu/people/tj/svm_light/svm_struct.html

有空看看,验证一下。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值