论文阅读:A Unified Span-Based Approach for Opinion Mining with Syntactic Constituents
本文对观点挖掘任务提出一种基于span的端到端观点挖掘统一方法。作者分别来自苏州大学,阿里,唯品会。
paper
code
文章目录
- 任务定义
- 模型
- 模型特点
- 模型结构
- 集成外部知识
- MTL
- GCN
- 实验
- 度量方法
- 数据集
- 实验组
- 疑点
任务定义
给定句子s, 识别出 E ∗ O ∗ R E*O*R E∗O∗R,其中 E E E代表观点角色集合, O O O代表观点集合, R R R代表关系(持有者/评价对象)集合。
例如上图:
E={e1 = John, e2 = because he loves bing Enderly, e3 = he, e4 = being Enderly Park}
O = {o1 = happy, o2 = loves}
R = {
模型
模型特点
- 将观点抽取,观点角色抽取,关系分类统一成一个端到端模型框架
- 损失函数注意到了正负样本不均衡问题,使用了focal loss
- 由于数据量较少,加入外部知识(句法成分信息):1. MTL 2.GCN,实验证明两者结合可以发挥最好效果
模型结构
模型结构相对来说比较简单,作者将观点抽取、主体抽取和关系预测这三个任务统一到一起。
输入层:将word embeding、char representation、context word represntation拼接到一起。word embeding采用 300-dimension GloVe,char representation是用CNN对word中每个char进行卷积,context word represntation是BERT的输出编码
编码层:双向LSTM网络,每个词的隐层表示等于左右方向的隐层表示拼接
表示层:为了区分hi是观点和主体,作者设计了两个MLP分别编码编码层输出的隐层表示,并且枚举任意区间(共n*(n+1)/2个区间)两个端点,拼接成span向量
最后再经过MLP得到该区间是否是gold expression/role的分数
由于n*(n+1)/2个区间中只有很小的比例是gold span,所以正负样本比例过大,作者采用了focal loss作为损失函数
引用
Focal loss主要是为了解决目标检测one-stage中正负样本比例严重失衡的问题。该损失函数降低了大量简单负样本在训练中所占的权重,也可理解为一种困难样本挖掘。
例如gamma为2,对于正类样本而言,预测结果为0.95肯定是简单样本,所以(1-0.95)的gamma次方就会很小,这时损失函数值就变得更小。而预测概率为0.3的样本其损失相对很大。对于负类样本而言同样,预测0.1的结果应当远比预测0.7的样本损失值要小得多。对于预测概率为0.5时,损失只减少了0.25倍,所以更加关注于这种难以区分的样本。这样减少了简单样本的影响,大量预测概率很小的样本叠加起来后的效应才可能比较有效。
关系预测:
对提取出的 E 、 S E、S E、S集合做笛卡尔积,然后将候选对输入MLP输出得分
最终损失函数为三者之和
集成外部知识
MTL
在encoder层之后加入基于span的句法成分分类模块,该模块与OM抽取模块类似。数据集为OntoNotes。结合方式为将span的隐层表示与句法成分的embedding拼接
损失函数为
GCN
GCN编码句法成分树,将embedding与输入层输出拼接输入encoder层
实验
度量方法
- Exact F1: 与gold-standard完全匹配的F1值
- Binary F1:观点词与gold-standard部分匹配的F1值
- Proportional F1: 角色词与gold-standard部分匹配率最大值的F1值
数据集
- MPQA 2.0
- OntoNotes 5.0: 句法成分数据集
实验组
- 与base-line在MPQA 2.0 上的效果对比
- 抽取效果
- 在given-expression-setting下的效果(可能是为了比较关系预测效果)
- 比较MTL和GCN加入语法知识的效果,作者解释zhang加入依存分析知识效果比作者好的原因是目前依存分析准确率比句法分析要高
- 作者解释为什么base-line在Binary F1和Proportional F1要高:因为作者模型对完全匹配更有效,base-line的部分匹配占比较高
- 作者探究句法数据集怎样用才最有效
- 作者从观点长度和关系两词之间距离角度说明句法分析的有效性
疑点
- given-expression setting是指给定expression答案集合,从该集合中选定span是holder还是target吗?
- Binary F1、Proportional F1定义不清晰,计算方式是?
还没有评论,来说两句吧...