实验
详细的实验对比结果感兴趣的直接去看论文吧,这里放一个总表:
PTB和CTB结果
可以看出无论是单模型还是采用了BERT,我们的方法都达到了和SOTA完全一样的效果。那么速度怎么样呢?
速度对比
可以看出我们速度远远快于CKY算法,甚至超过很多序列方法,并且我们没有采用Cython来优化for循环。
一些思考
归一化方法比较
和全局归一化模型(CKY算法)相比,他们优化的是整棵句法树span得分之和,而我们优化的是所有的左孩子得分之和。因为我们认为,原来的优化目标是包含冗余的,左孩子得到之后,右孩子可以唯一确定。
和CKY算法的自顶向下贪心优化+张岳老师提出的两种局部模型结合相比,我认为我们的方法也是不同的。他们的方法会导致更加复杂的span表示,同一个span会被优化两次,因此需要更为复杂的表示来规避这个问题。同时我们的方法只需要矩阵运算来预测结构,span表示简单,速度也更快。
此外仍然有很多未完成的工作:
- 利用我这个序列方法,GNN可以用上了。
- 如果用所有的右孩子,可以产生出另一套等价的序列表示,如何结合这两套表示来准确解码?
- 其他句法分析任务(CCG,semantic等)都可以转化为我的序列表示,如何联合学习这些任务?
- 利用这套表示,其他很多下游任务(机器翻译等)都可以加入句法信息,能否增强它们的性能?
尾声
下一次分享不知道又会到什么时候了,秋招也进入尾声了,下面就是毕业论文了。如果有时间,我还会和大家分享我最近阅读的论文。有缘江湖再见!
Reference
[1]
论文地址:https://www.aclweb.org/anthology/2020.acl-main.299/
[2]
代码地址:https://github.com/AntNLP/span-linearization-parser
[3]
PPT地址:https://godweiyang.com/2020/08/30/acl20-yangwei-parsing/ACL2020.pdf
[4]
成分句法分析综述(第二版):https://godweiyang.com/2019/08/15/con-parsing-summary-v2/
[5]
Graph-based Dependency Parsing with Graph Neural Networks:https://www.aclweb.org/anthology/P19-1237/
作者简介:godweiyang,知乎同名,华东师范大学计算机系硕士在读,方向自然语言处理与深度学习。喜欢与人分享技术与知识,期待与你的进一步交流~