为了看懂论文里的策略梯度,又去把强化学习看了一遍。。。
论文地址:
Better, Faster, Stronger Sequence Tagging Constituent Parsers
介绍
这篇论文主要是在之前的那篇论文
Constituent Parsing as Sequence Labeling
基础上解决了如下三个问题:
- 太长的短语预测错误率高。
- 输出空间太大导致label稀疏性。
- 贪心解码导致的错误传播。
本文提出的解决方法分别是:
- 采用融合了相对编码和绝对编码的动态编码。
- 将预测任务分解为多个子任务。
- 采用辅助任务和策略梯度。
三大问题以及解决方法
过长短语预测的高错误率![[NAACL19]一个更好更快更强的序列标注成分句法分析器_辅助任务](https://file.cfanz.cn/uploads/png/2022/07/27/9/SOFX2Tf6bf.png)
解决方法就是采用动态编码,如下图所示:
第一行是相对值编码,第二行是绝对值编码,之前文章都已经解释过了。第三行是结合了上面两种编码的动态编码,具体取值情况是大多数时候都还采用相对值编码,因为毕竟相对值编码空间比较小,可以适当缓解数据稀疏性。但是当满足如下两种情况的时候,就采用绝对值编码:
实验结果
首先测试了不同设置的影响:
最后再来看一下模型在负数预测上的准确率,可以看出有了非常大的提升:
总结
这篇论文提出了不少的小Tips来提升序列模型的准确率,但是效果却还是远远低于syntactic distances那篇论文(F1值91.8),具体原因我也不得而知,我猜测跟树到序列映射编码关系可能不是特别大,可能还是跟序列建模有关,那篇论文的序列采用了两次LSTM,中间还夹杂了一次CNN卷积操作。所以编码器的好坏还是直接决定了最后性能的好坏,怪不得Elmo和Bert的效果那么的突出。