计算机系统应用  2024, Vol. 33 Issue (6): 201-210   PDF    
语义和句法依赖增强的跨度级方面情感三元组抽取
李增伟, 刘帅     
华南师范大学 软件学院, 佛山 528225
摘要:本研究针对目前跨度级别的方面情感三元组抽取模型忽视词性和句法知识的问题且存在三元组冲突的情况, 提出了语义和句法依赖增强的跨度级方面情感三元组抽取模型SSES-SPAN (semantic and syntactic enhanced span-based aspect sentiment triplet extraction). 首先, 在特征编码器中引入词性知识和句法依赖知识, 使模型能够更精准地区分文本中的方面词和观点词, 并且更深入地理解它们之间的关系. 具体而言, 对于词性信息, 采用了一种加权求和的方法, 将词性上下文表示与句子上下文表示融合得到语义增强表示, 以帮助模型准确提取方面词和观点词. 对于句法依赖信息, 采用注意力机制引导的图卷积网络捕捉句法依赖特征得到句法依赖增强表示, 以处理方面词和观点词之间的复杂关系. 此外, 鉴于跨度级别的输入缺乏互斥性的保证, 采用推理策略以消除冲突三元组. 在基准数据集上进行的大量实验表明, 我们提出的模型在效果和鲁棒性方面超过了最先进的方法.
关键词: 方面情感三元组提取    方面提取    观点提取    词性信息    句法依赖关系    
Semantic and Syntactic Dependency Enhanced Span-based Aspect Sentiment Triplet Extraction
LI Zeng-Wei, LIU Shuai     
School of Software, South China Normal University, Foshan 528225, China
Abstract: This study aims to address the issues of current span-based aspect sentiment triplet extraction models, which ignore part-of-speech and syntactic knowledge and encounter conflicts in triplets. A semantic and syntactic enhanced span-based aspect sentiment triplet extraction model named SSES-SPAN is proposed. Firstly, part-of-speech and syntactic dependency knowledge is introduced into the feature encoder to enable the model to more accurately distinguish aspect and opinion terms in the text and gain a deeper understanding of their relationships. Specifically, for part-of-speech information, a weighted sum approach is employed to fuse part-of-speech contextual representation with sentence contextual representation to obtain semantic enhanced representation, aiding in the precise extraction of aspect and opinion terms. For syntactic dependency information, attention-guided graph convolution networks are used to capture syntactic dependency features and obtain syntactic dependency enhanced representation to handle complex relationships between aspect and opinion terms. Furthermore, considering the lack of a mutual exclusivity guarantee in span-level inputs, an inference strategy is employed to eliminate conflicting triplets. Extensive experiments on benchmark datasets demonstrate that the proposed model outperforms state-of-the-art methods in terms of effectiveness and robustness.
Key words: aspect sentiment triplet extraction     aspect extraction     opinion extraction     part-of-speech information     syntactic dependency relation    

随着网络和社交媒体的飞速发展, 人们纷纷涌入在线平台, 分享对产品评价、公众人物和新闻文章等话题的观点和情感. 在这个信息过载的时代, 挖掘人们的文本评论能够揭示人们真实的情感和态度.因此, 情感分析在自然语言处理领域受到广泛的关注[1].

本文专注于相对较细粒度的方面情感三元组抽取任务, 该方法旨在从句子中提取方面情感三元组, 每个三元组由3个部分组成: 方面词、观点词和情 感极性. 情感极性一般分为积极、中立、消极. 例如, “Gourmet food was fantastic but the service was dreadful !”这句话包含了两个三元组(Gourmet food, fantastic, positive)和(service, dreadful, negative).

先前的大多数方法将方面情感三元组抽取任务构建为序列标记问题, 尽管这些方法取得竞争性的结果, 但基于序列标记技术的模型仍然面临一些挑战. 首先, 由于序列标签构成的组合性, 它们必须考虑巨大的搜索空间, 从而限制了长实体的提取性能. 这背后的原因是, 序列标记方案为每个单词分配标签, 忽略了由多个单词组成的方面词或观点词的整体语义. 其次, 顺序解码会导致级联错误, 影响情感一致性. 因为多词实体的情感一致性无法保证. 例如, 方面词“Gourmet food”中的“Gourmet”和 “food”这两个词有可能被预测为不同的情感极性.

基于这一观点, 本文提出了一种语义和句法依赖增强的跨度级方面情感三元组抽取方法. 对于每个句子, 使用BERT[2]作为句子编码器, 以获得句子的上下文表示. 对于词性信息, 使用Stanza[3]获得句子的相应词性信息, 然后将其输入BERT以获取词性上下文表示. 接着, 通过对词性上下文表示和句子上下文表示进行加权求和来获取语义增强表示. 对于句法依赖信息, 同样使用Stanza获得句子的句法依赖信息, 然后通过注意力机制引导的图卷积网络提取句法依赖特征, 以加强相关单词之间的语义联系. 随后, 通过拼接语义增强表示和句法依赖增强表示得到语义和句法依赖增强表示, 这有助于捕获相关实体的准确含义, 并理解它们之间的关系. 此外, 在预测过程中引入推理策略以消除冲突三元组. 为了评估框架的有效性, 在四个基准数据集进行了一系列实验. 实验结果表明, 提出的模型非常有效, 优于其他基准模型.

本文的主要贡献如下.

(1)鉴于词性信息和句法依赖信息对方面情感三元组抽取的重要性, 设计了语义和句法依赖增强模块, 在句子上下文融入词性信息和句法依赖信息, 以捕获相关实体的准确含义并理解它们之间的关系, 从而提高方面情感三元组提取的准确性.

(2)由于跨度级别的输入缺乏互斥性的保证, 采用推理策略以消除冲突三元组

(3)实验结果显示, 本文提出的模型在多词实体识别方面表现出色, 并且在解析方面词和观点词之间复杂的对应关系方面也有显著提升.

1 相关工作

方面级情感分析(aspect-based sentiment analysis, ABSA)是自然语言处理中的一个重要研究领域. 它侧重于提取与特定方面相关的观点和情感. 方面级情感分析包含多个核心子任务, 包括方面词提取(aspect term extraction, ATE)[4,5]、观点词提取(opinion term extraction, OTE)[6,7]和方面情感分类(aspect-level sentiment classification, ASC)[8,9]. 通常情况下, 之前的研究都是单独或成对地处理这些任务. 例如, 方面词极性协同提取(aspect term polarity co-extraction, APCE)[10]、方面-点协同提取(aspect opinion co-extraction, AOCE)[11,12]和方面-观点成对提取(aspect-opinion pair extraction, AOPE)[13,14]. 然而, 这些研究都没有同时识别方面词、观点词及情感极性. 基于此, Peng等人[15]提出方面情感三元组抽取任务(aspect sentiment triplet extraction, ASTE).

目前, 针对方面情感三元组抽取任务, 存在3种主要的模型方法: 流水线模型[15]、端到端模型[1619]以及将其转化为阅读理解任务[20,21]或文本生成任务[22]的模型.

Peng等人[15]提出了一种双阶段流水线框架, 将方面词抽取、方面情感分类和观点词抽取结合在一起. 然而, 该模型在判断情感极性时没有考虑到观点词, 并且也没有解决方面词重叠的问题. Xu等人[16]设计了位置感知标记方案, 以增强三元组元素之间的交互. Wu等人[17]提出了网格标记方案, 对句子中的单词进行两两标注, 既可以标注两个单词是否属于同一方面词或观点词, 还可以标注两个单词之间的情感极性. Chen等人[18]设计了一个多通道图卷积神经网络结构, 以学习语言学特征, 并采用网格标记方案来建模词对间的不同关系类型. 然而, 上述模型只利用了单词级别的信息, 没有考虑长实体的整体语义.

为了解决这个问题, Xu等人[19]提出了Span-ASTE(span-level for ASTE)模型, 采用跨度枚举并识别句子的方面词和观点词, 并对方面词和观点词进行配对和情感极性判别.然而, 该模型忽视了词性和句法知识, 并且可能存在三元组冲突的情况.

一些学者将该任务转化为机器阅读理解任务. Chen等人[20]提出了BMRC (bidirectional machine reading comprehension)模型, 首先查询句子中的方面词和观点词, 然后对方面词和观点词进行配对, 最后进行查询情感极性. Mao等人[21]提出了Dual-MRC (dual machine reading comprehension)模型, 其中左侧的MRC用于识别句子中的方面词, 右侧的MRC用于识别方面词对应的观点词并进行情感极性分类. 另一些学者将该任务转化为文本生成任务. Yan等人[22]首先生成句子中方面词和观点词的开始位置和结束位置, 以及情感极性类别索引, 然后采用解码算法识别出句子中的三元组. 然而, 上述基于阅读理解和文本生成的模型均没有考虑长实体整体语义以及语言学知识.

相比于序列标记方案, 跨度级别模型能够考虑长实体的整体语义, 并在判别情感极性时避免级联错误.然而, 现有的跨度级别方面情感三元组抽取模型存在一些问题, 比如忽视词性和句法依赖知识以及存在冲突三元组的情况.

为了解决这些问题, 本文提出了SSES-ASTE模型. 该模型设计了语义和句法依赖增强模块在跨度级别引入词性特征和句法依赖特征.此外, 在推理阶段通过推理策略消除冲突三元组.

2 语义和句法依赖增强的跨度级方面情感三元组抽取模型

图1所示, SSES-ASTE模型由语义和句法依赖增强模块、提及实体模块, 三元组抽取模块组成. 首先, 对于给定的句子, 输入到预训练语言模型BERT得到句子上下文的表示, 接着语义增强模块利用加权求和对词性上下文的表示与句子上下文的表示融合得到语义增强表示, 句法依赖增强模块利用注意力引导的图卷积神经网络对句法依赖增强表示和句子上下文表示融合得到句法依赖增强表示, 然后利用聚合器对语义增强表示和句法依赖增强表示进行特征拼接生成语义和句法依赖增强表示. 其次, 提及实体层对语义和句法依赖增强表示按照跨度区间进行枚举生成跨度表示并进行实体分类得到方面词表示和观点词表示.最后, 三元组模块对方面词表示和观点词表示进行两两配对, 得到方面-观点跨度对的表示, 并进行情感极性分类, 接着采用推理策略来消除冲突三元组.

图 1 SSES-ASTE模型架构图

2.1 任务描述

在方面级情感三元组抽取任务中, 给定一个包含$n$个词的句子$X = \left\{ {{w_1}, {w_2}, \cdots , {w_n}} \right\}$, 识别三元组集合$T = \{ {t_1}, {t_2}, \cdots , {t_n}\} $, ${t_i} = \left( {{a_i}, {o_i}, {s_i}} \right)$, 其中${a_i}$表示方面词, ${o_i}$表示观点词, ${s_i}$表示情感极性, $ T $表示三元组数量. 情感极性可为积极、中性、消极的.

2.2 语义和句法依赖增强模块

为了更好地捕获实体语义和实体间的关联, 在特征编码层引入词性信息和句法依赖信息, 语义和句法依赖增强模块如图2所示. 具体而言, 采用了一种加权求和的策略, 将词性上下文表示与句子上下文表示融合得到语义增强表示, 以协助模型准确地提取方面词和观点词. 此外, 引入注意力引导的图卷积网络以捕捉句法依赖特征得到句法依赖增强表示, 以更好地处理方面词和观点词之间的复杂关系. 通过聚合器对语义增强表示和句法依赖增强表示进行特征拼接生成语义和句法依赖增强表示.

图 2 语义和句法增强模块

2.2.1 句子编码层

给定一个包含$n$个词的句子$X = \left\{ {{w_1}, {w_2}, \cdots , {w_n}} \right\}$, 句子上下文表示$ H = \{ {h_1}, {h_2}, \cdots , {h_n}\} $是模型 BERT 的输出. 具体而言, 将每个单词${w_i}$转换为单词片段, 然后将单词片段到一个模型 BERT 中. 在模型BERT 计算之后, 每个单词可能涉及多个单词片段的向量表示. 在本文中, 采用单词的第1个单词片段的向量表示作为整个单词的向量表示. 例如, 如果“walking”被分割为“walk”和“##ing”, 则使用“walk”的向量表示作为整个单词的向量表示.

2.2.2 语义增强

词性信息是根据其上下文注释单词的词汇性质. 我们观察到, 方面词通常是名词和名词短语, 观点词通常是形容词. 如图3中的示例句子所示, 方面词“Gourmet food”和“service”都被注释为名词, 观点词“fantastic”和“dreadful”都被注释为形容词. 因此, 词性信息能够帮助模型更好地区分方面词和观点词.

为了获得语义增强表示, 首先使用Stanza对输入句子进行词性标注. 然后, 将词性信息输入模型BERT以获得其词性上下文表示$P = \{ {p_1}, {p_2}, \cdots , \;{p_n}\} $. 最后, 对词性上下文表示和句子上下文表示进行加权求和以获得语义增强表示.

$ {H^p} = H + \alpha P $ (1)

其中, ${H^p}$是语义增强表示, 词性权重$\alpha $取值范围为0–1.

图 3 句法依赖解析图

然而, 词性信息不能用于理解方面-观点词对的关联关系. 因此, 我们引入句法依赖关系以进一步理解词对之间的关联关系.

2.2.3 句法依赖增强

句法依赖关系是通过分析单词之间的依赖类型来揭示输入句子的句法结构. 如图3所示, “Gourmet”和“food”是名词短语, 因为它们之间的依赖类型是复合关系, 而“fantastic”是一个形容词, 用于修饰“food”, 它们之间的依赖类型为形容词修饰名词. 此外, 通过挖掘不同单词之间存在各种依赖关系, 可以探索不同单词之间的关联性, 从而提高模型识别三元组的准确率.

为了获得句法依赖增强表示, 首先使用 Stanza 构建输入句子的句法依赖树. 然后, 将句法依赖树转换为邻接矩阵${A^{}} \in {R^{n \times n}}$. 最后, 使用AGGCN (attention guided graph convolutional network)[23]在句子上下文表示和邻接矩阵进行多头注意力和图卷积运算以获得句法依赖增强表示.

GCN (graph convolutional network)是一个多层结构, 其基本思想是通过结合节点自身表示和邻居节点的表示来迭代更新节点的表示. 因此, 利用图卷积网络以捕捉句法依赖特征, 以更好地处理方面词和观点词之间的复杂关系. 如图4所示, 为了解决由句法依赖信息引起的噪音问题, AGGCN直接将完整的依赖树作为输入, 并通过多头注意力机制关注不同表示子空间的信息, 有选择性地关注对三元组抽取有用的相关子结构, 学习句法依赖的关键信息.

图 4 图卷积神经网络模型图

给定句子上下文表示$ H = \{ {h_1}, {h_2}, \cdots , {h_n}\} $, 图卷积通过结合节点自身表示和邻居节点的表示来迭代更新节点的表示:

$ h_i^{(l)} = \sigma \left( {\sum\limits_{j = 1}^N {{A_{ij}}} {W^{(l)}}h_j^{(l - 1)} + {b^{(l)}}} \right) $ (2)

其中, ${W^{\left( l \right)}}$是权重矩阵, ${b^{\left( l \right)}}$是偏置矩阵, $\sigma $是激活函数, 节点的初始表示$h_i^{\left( 0 \right)}$对应于输入特征${{{h}}_i}$, $A \in {R^{N \times N}}$是句法依赖关系对应的邻接矩阵. 如果单词对$\left( {{w_i}, {w_j}} \right)$之间存在句法依赖关系, 则设置$A_{ij}^{}$为1, 反之设置$A_{ij}^{}$为0. 为了保留节点自身的相互作用, 对$\left( {{w_i}, {w_i}} \right)$添加自依赖权重, 即设置$A_{ii}$为1.

注意力引导层使用多头注意力机制在节点之间引入关系, 具体如下:

$ \tilde{{A}}^t = {\mathit{Softmax}}\left( {\frac{{{H^t}W_Q^t \times {{\left( {{H^t}W_K^t} \right)}^{\mathrm{T}}}}}{{\sqrt {{d_{\rm head}}} }}} \right) $ (3)

其中, $ W_Q^t $$ W_K^t $$ {H^t} \in {R^{N \times {d_{\rm head}}}} $$ \left( {{d_{\rm head}} = {d_h}/{N_{\rm head}}} \right) $分别映射为第t个注意力头的查询和键值. $ {d_h} $是输入特征${{{h}}_i}$的维度, $ {N_{\rm head}} $是注意力头的数量, $\tilde{{A}}^t = {R^{N\; \times N}}$是第t个注意力头的更新邻接矩阵.

接着, AGGCN通过$\tilde{{A}}^t$和密集连接层更新节点表示, 其中$\tilde {{H}}^t\; \in {R^{N\; \times {d_h}}}$是密集连接层的输出. 最后, 使用线性组合层将每个注意力头的输出合并, 具体如下:

$ \tilde H\; = \left[ {\tilde {H}^1, \cdots , \tilde{H}^{{N_{\rm head}}}} \right]{W_1} $ (4)

其中, $ {W_1} \in {R^{\left( {{N_{\rm head}} \times {d_h}} \right) \times {d_h}}} $为权重, $ \tilde{H}\; \in {R^{N \times {d_h}}} $为AGGCN的最终输出.

之后, 将$ \tilde H $与原始单词表示$ H $连接起来形成最终的单词表示, 具体如下:

$ {H^s} \in {R^{N \times \left( {{d_h} + {d_f}} \right)}} = \left[ {H, {\tilde{H}}{W_2}} \right] $ (5)

其中, $ {W_2} \in {R^{{d_h} \times {d_f}}} $为降维的线性转换.

为了捕捉词性和句法依赖信息的关键信息, 聚合器对语义增强表示和句法依赖增强表示进行特征拼接得到语义和句法依赖增强表示. 具体如下:

$ R = {H^p} \oplus {H^s} $ (6)

其中, $ \oplus $是一个拼接操作.

2.3 提及实体层 2.3.1 跨度生成

采用跨度枚举来生成文本跨度. 以“Gourmet food was fantastic but the service was dreadful”为例, 生成的文本跨度将会是:[“Gourmet”, “Gourmet food”, $ \cdots $, “dreadful”]. 跨度表示由两部分组成, 分别是首尾特征表示和跨度长度嵌入表示. 具体如下:

$ {s_{i, j}} = \left[ {{R_i};{R_j};{f_{\rm width}}\left( {i, j} \right)} \right] $ (7)

其中, ${f_{\rm width}}\left( {i, j} \right)$表示可训练的跨度长度嵌入表示, 例如$j - i + 1$.

2.3.2 实体分类

提及实体模块将列举的跨度表示作为输入, 并预测提及实体类型m$ \in ${Target, Opinion, Invalid}.

$ P\left( {m\mid{s_{i, j}}} \right) = {\mathit{Softmax}}\left( {{\mathit{FFN}}{{{N}}_{{m}}}\left( {{s_{i, j}}} \right)} \right) $ (8)

其中, FFNN表示前馈神经网络, 如图5所示.

图 5 前馈神经网络模型图

由于在实际操作中考虑所有潜在的跨度交互是不切实际的, 因为这将导致巨大的计算负担和庞大的搜索空间. 按照 Xu等人[19]的方法, 每个句子中考虑相应数量的候选项, 剪枝后的方面词和观点词候选项的选择数量均为nz, 其中$n$是句子长度, z是术语剪枝阈值.

基于每个跨度的提及实体类型得分, 优先筛选得分高的方面词表示和观点词表示, 得到方面词候选池${S^t} = \{ \cdots , s_{a, b}^t, \cdots \} $和观点词候选池${S^o} = \{ \cdots , s_{c, d}^o, \cdots \} $, 具体取决于如下方程:

$ {\Phi _{\mathit{target}}}({s_{i, j}}) = P(m = {\mathit{target}}\mid {s_{i, j}}) $ (9)
$ {\Phi _{\mathit{opinion}}}({s_{i, j}}) = P(m = {\mathit{opinion}}\mid{s_{i, j}}) $ (10)
2.4 三元组模块 2.4.1 方面-观点跨度对表示

方面-观点跨度对表示由3部分组成, 分别是方面词表示、观点词表示以及方面观点跨度间的距离嵌入表示. 具体如下:

$ {{{g}}_{{{s}}_{a, b}^t, {{s}}_{c, d}^o}} = [{{s}}_{a, b}^t;\;{{s}}_{c, d}^o;{f_{\rm distance}}\left( {a, b, c, d} \right)] $ (11)

其中, ${f_{\rm distance}}\left( {a, b, c, d} \right)$表示可训练的方面-观点跨度间的距离嵌入表示, 例如$\min\left( {\left| {b - c} \right|, \left| {a - d} \right|} \right)$.

2.4.2 情感极性分类

将方面-观点跨度对表示输入到一个前馈神经网络中, 以确定方面词表示和观点词表示的情感极性$r \in ${Positive, Negative, Neural, Invalid}. 其中, Invalid表示方面-观点词配对无效.

2.4.3 推理策略

与序列标记方法中三元组的互斥性相反, 跨度枚举方法无法保证任意两个三元组之间没有冲突. 受到Chen等人[24]的启发, 在推理过程中, 采用一种推理策略消除冲突三元组来获得更准确的三元组.

为了消除冲突三元组, 采用推理策略, 如算法1.

算法1. 推理策略

1) 获取三元组集合$\scriptstyle \mathcal{T}$;

2) 首先取出$ \scriptstyle {t_i} \in \mathcal{T} $, 然后取出$ \scriptstyle {t_j} \in (\mathcal{T} - {t_i}) $, 其中$\scriptstyle {t_i} = ({a_i}, {o_i}, {c_i}, {s_i})$, $\scriptstyle {t_j} = ({a_j}, {o_j}, {c_j}, {s_j})$, 其中$\scriptstyle {c_i}$$\scriptstyle {c_j}$分别表示对应三元组的置信分数.

3) 如果$\scriptstyle {a_i} \cap {a_j} \ne \varnothing $$\scriptstyle {a_i} \cap {o_j} \ne \varnothing $结果为true, 则说明三元组冲突, 否则说明三元组不冲突.

4) 对于冲突三元组$\scriptstyle {t_i} \in \mathcal{T} $, $\scriptstyle {t_j} \in \left( {\mathcal{T} - {t_i}} \right) $, 如果$\scriptstyle {t_i} $的置信度$\scriptstyle {c_i} $大于$ \scriptstyle {t_j} $的置信度$\scriptstyle {c_j}$, 则保留$\scriptstyle {t_i} $, 即$\scriptstyle \mathcal{T} = \mathcal{T} - {t_j}$. 否则保留$\scriptstyle {t_j} $, 即$\scriptstyle \mathcal{T} = \mathcal{T} - {t_i} $.

正如上述算法所示, 消除冲突三元组具体步骤为: 获取三元组集合$\mathcal{T}$, 对于三元组集合$\mathcal{T}$存在冲突的两两三元组, 保留具有较高置信度分数的三元组.

2.5 训练目标

训练目标被定义为来自提及实体模块和三元组模块的负对数似然的总和.

$ {\mathcal{L}_1} = - \sum\limits_{{s_{i, j}} \in S} {\log } {\text{ }}P(m_{i, j}^*\mid{s_{i, j}}) $ (12)
$ {\mathcal{L}_2} = - \sum\limits_{s_{a, b}^t \in {S^t}, s_{c, d}^o \in {S^o}} {\log }P({r^*}\mid s_{a, b}^t, s_{c, d}^o) $ (13)
$ \mathcal{L}=\mathcal{L}_{1}+\mathcal{L}_{2} $ (14)

其中, $\mathcal{L}$是训练目标, ${\mathcal{L}_1}$是提及实体模块负对数似然函数, ${\mathcal{L}_2}$是三元组模块负对数似然函数. $m_{i, j}^ * $是跨度${s_{i, j}}$的期望提及实体类型, $\;{r^ * }$是方面-观点词对$ (s_{a, b}^t, s_{c, d}^o) $的期望情感极性. $ {S} $表示列举的提及实体池, $ {S^t} $$ {S^o} $分别是裁剪过的方面词和观点词候选池.

3 实验分析 3.1 数据集

为验证SSES-ASTE模型的有效性, 在包括Lap14、Res14、Res15和Res16在内的ASTE-Data-v2中4个流行的基准数据集[16]上进行实验. 每个样本都包含了1个或多个三元组 每个三元组包含方面词, 观点词和情感极性. 实验数据统计信息如表1所示.

表 1 实验数据统计信息表

3.2 评价指标

本文使用精确度(Precision)、召回率(Recall)和F1分数(F1-score)作为评估指标评估不同方法的性能. 只有在方面词、观点词和情感极性都被正确预测时, 方面情感三元组预测才算正确.

3.3 参数设置和实验环境

在实验中, 使用BERT-base-uncased版本作为句子编码器, 词性权重系数$\alpha $设置为0.5, 词嵌入初始化为768维向量. 此外, 使用768维的词性(part-of-speech, Pos)嵌入, 语义增强层和句法依赖增强层的隐藏状态维度分别设置为768和20. 模型经过20个epoch的训练, 其中有10%的训练步骤采用线性warm-up, 然后学习率线性衰减至0. 使用了AdamW优化器, Transformer权重的最大学习率为2E–5, 权重衰减为1E–2. 对于其他参数组, 使用学习率为1E–3, 没有权重衰减. 同时, 小批量大小设置为8, 最大跨度长度${{L}}$设置为8. 术语剪枝阈值$ \textit{z} $设置为0.5. 在NVIDIA Tesla A40 GPU上总共训练了20个epoch .

3.4 基准方法

为了展示SSES-ASTE模型的有效性, 本文将该模型与以下基准方法进行比较.

Peng-two-stage: 设计了一个两阶段流水线模型. 第1阶段识别方面-情感对和观点词. 第2阶段将两者进行配对确定三元组.

GTS: 设计了一个网格标记模式来提取重叠三元组. GTS首先独立地预测所有可能的词对之间的关系, 然后使用解码算法生成三元组.

EMC-GCN: 首先设计网络标注方案, 其次采用通道图卷积网络来学习词性、句法等语言学特征学习并生成词对间关系进行预测, 最后采用解码算法得到三元组.

Span-ASTE: 首先列举所有可能的文本跨度预测方面和观点词, 然后配对方面和观点词提取三元组.

Dual-MRC: 基于机器阅读理解方法, 由两个MRC组成, 一个MRC用于方面词提取, 另一个MRC在方面词的基础上进行观点词提取和情感分类.

3.5 实验结果

SSES-ASTE模型在ASTE-Data-v2[16]的4个数据集上的对比实验结果如表2所示. 实验结果表明: SSES-ASTE在F1分数相比其他模型均有所提升, 这表明SSES-ASTE能够在跨度特征基础上充分利用词性信息和句法依赖信息.

表 2 对比实验结果表(%)

Dual-MRC的性能优于JET和Peng-two-stage. 这可能是因为Dual-MRC将ASTE任务形式化为多轮机器阅读理解任务, 能更好地处理实体交互, 从而更好地识别出重叠三元组.

EMC-GCN的性能优于Dual-MRC, 这可能是因为EMC-GCN能够利用单词之间的关系和语言知识进行单词表示学习.

与这些方法不同, Span-ASTE和SSES-ASTE都利用了跨度级别的交互处理ASTE任务, 考虑了长实体的整体语义, 避免情感极性的不一致性. SSES-ASTE优于Span-ASTE, 主要归因它利用词性特征和句法依赖特征来找出句子中的三元组, 并采用推理策略来消除冲突三元组.

3.6 消融实验

为了调查SSES-ASTE中不同模块的有效性, 本文设计一系列消融实验, 单独去掉语义增强模块和句法依赖增强模块和推理策略. 如表3所示, 本文设计的3大模块对均能提升模型性能. 其中, 语义增强模块和句法依赖增强模块相比推理策略对模型性能的提升更明显, 这充分说明挖掘词性特征和句法依赖特征有助于增强方面词和观点词的特征表示及增强方面词和观点词间的特征交互. 此外, 推理策略对于模型的提升相对较小, 这可能是因为冲突三元组只存在于多词实体中.

3.7 参数分析 3.7.1 词性权重系数$\alpha $的影响

为了探究不同的词性权重系数$\alpha $对SSES-ASTE模型性能的影响, 本文在Lap14、Res14、Res15和Res16数据集上进行了实验, 设置不同的词性权重系数$\alpha $, 从0开始并逐步增加至1, 步长为0.25, 以分析其对模型性能的影响. 如图6所示, 当词性权重系数$\alpha $=0.5, 模型的性能最好. 这可能是因为当词性权重系数$\alpha $过小时, 模型会忽视词性上下文表示, 导致无法准确捕捉到词性对于语义的贡献. 另一方面, 当词性权重系数$\alpha $过大时, 模型会过度关注词性信息, 而忽视了句子上下文信息.

表 3 F1分数消融实验结果表 (%)

图 6 不同词性权重系数$\alpha $实验结果图

3.7.2 跨度表示方法的影响

为了研究不同跨度表示方法对SSES-ASTE模型性能的影响, 本文在Lap14、Res14、Res15和Res16数据集上进行了实验, 设置了3种不同类型的跨度表示方法, 分别是端点跨度表示、均值池化跨度表示和最大池化跨度表示, 以分析其对模型性能的影响. 如图7所示, 端点跨度表示的效果优于均值池化跨度表示和最大池化跨度表示.

3.7.3 术语剪枝阈值z的影响

为了探究不同的术语剪枝阈值z对SSES-ASTE模型性能的影响, 本文在Lap14、Res14、Res15和Res16数据集上进行了实验, 设置5个不同的术语剪枝阈值, 即 6.25%、12.5%、25%、50%、100%, 以分析其对模型性能的影响. 如图8所示, 当术语剪枝阈值z为6.25%、12.5%、25%时, 模型表现不佳, 主要是因为许多正确的方面和观点词被过滤掉, 因此三元组提取性能下降. 当剪枝阈值z为50%、100%时, 模型在它们之间表现出轻微的差异. 当z大于50%, 随着z的增加, 计算成本的提高并没有带来三元组提取性能的提升.

图 7 不同跨度表示方法实验结果图

图 8 不同术语剪枝阈值$ \textit{z} $实验结果图

3.8 案例分析

为了检测SSES-ASTE是否能够有效地捕捉词性信息和句法依赖信息, 并且是否能够通过采用推理策略来消除冲突三元组以改进ASTE, 针对一些样本句子进行案例研究. 如表4所示, 将SSES-ASTE与Span-ASTE进行了比较.

对于第1句话, 在Span-ASTE模型能够正确提取方面词“keyboard”并与其观点词“roomy”进行配对, 但是情感极性被错误地预测为消极. 然而, SSES-ASTE模型通过引入词性信息和句法依赖信息, 增强了对方面词和观点词语义的理解, 从而可以避免这种情况.

对于第2句话, 虽然Span-ASTE模型成功预测了三元组, 但它错误地输出了一个额外的三元组(“device”, “useless”, “NEG”). 与此不同的是, SSES-ASTE模型通过有效地整合句法依赖数据, 能够更好地理解各种词之间的复杂关系.

对于第3句话, Span-ASTE模型未能完全提取方面词 “stunning colors”, 导致了错误的三元组. 相比之下, SSES-ASTE模型通过利用词性信息和句法依赖信息, 能够更精确地定位方面和观点词的范围.

对于第4句话, Span-ASTE模型错误地将“new Window 8”标识方面词. SSES-ASTE模型采用推理策略消除冲突三元组解决了这个问题.

表 4 案例分析表

4 结论与展望

在本文中, 我们提出了一种语义和句法依赖增强的跨度级方面情感三元组抽取模型, 该模型能够有效区分方面词、观点词以及处理它们之间的复杂对应关系. 对于词性信息, 采用了一种加权求和的方法, 将词性上下文表示与句子上下文表示融合得到语义增强表示, 以帮助模型准确提取方面词和观点词. 对于句法依赖信息, 采用注意力机制引导的图卷积网络捕捉句法依赖特征得到句法依赖增强表示, 以处理方面词和观点词之间的复杂关系. 聚合器对语义增强表示和句法依赖增强表示进行特征拼接得到语义和句法依赖增强表示. 此外, 采用推理策略来消除冲突的三元组. 在4个公开的数据集实验结果表明, 语义和句法依赖增强模块能有效地提高方面情感三元组模型的性能, 而且推理策略能有效消除冲突三元组. 未来工作可以探索采用多通道图卷积来挖掘丰富的语言学知识并结合跨度表示来实现方面情感三元组抽取任务, 也可以将SSES-ASTE模型应用于实体抽取和分类的其他自然语言处理任务.

参考文献
[1]
刘全, 梁斌, 徐进, 等. 一种用于基于方面情感分析的深度分层网络模型. 计算机学报, 2018, 41(12): 2637-2652. DOI:10.11897/SP.J.1016.2018.02637
[2]
Devlin J, Chang MW, Lee K, et al. BERT: Pre-training of deep bidirectional Transformers for language understanding. Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers). Minneapolis: Association for Computational Linguistics, 2019. 4171–4186.
[3]
Qi P, Zhang YH, Zhang YH, et al. Stanza: A Python natural language processing toolkit for many human languages. Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics: System Demonstrations. Association for Computational Linguistics, 2020. 101–108.
[4]
Ma DH, Li SJ, Wu FZ, et al. Exploring sequence-to-sequence learning in aspect term extraction. Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. Florence: Association for Computational Linguistics, 2019. 3538–3547.
[5]
Chen Z, Qian TY. Bridge-based active domain adaptation for aspect term extraction. Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers). Association for Computational Linguistics, 2021. 317–327.
[6]
Pereg O, Korat D, Wasserblat M. Syntactically aware cross-domain aspect and opinion terms extraction. Proceedings of the 28th International Conference on Computational Linguistics. Barcelona: International Committee on Computational Linguistics, 2020. 1772–1777.
[7]
Feng YH, Rao YH, Tang YY, et al. Target-specified sequence labeling with multi-head self-attention for target-oriented opinion words extraction. Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Association for Computational Linguistics, 2021. 1805–1815.
[8]
Zhang M, Qian TY. Convolution over hierarchical syntactic and lexical graphs for aspect level sentiment analysis. Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP). Association for Computational Linguistics, 2020. 3540–3549.
[9]
Li X, Bing LD, Lam W, et al. Transformation networks for target-oriented sentiment classification. Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Melbourne: Association for Computational Linguistics, 2018. 946–956.
[10]
Luo HS, Li TR, Liu B, et al. DOER: Dual cross-shared RNN for aspect term-polarity co-extraction. Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. Florence: Association for Computational Linguistics, 2019. 591–601.
[11]
Wang WY, Pan SJ. Recursive neural structural correspondence network for cross-domain aspect and opinion co-extraction. Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Melbourne: Association for Computational Linguistics, 2018. 2171–2181.
[12]
Dai HL, Song YQ. Neural aspect and opinion term extraction with mined rules as weak supervision. Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. Florence: Association for Computational Linguistics, 2019. 5268–5277.
[13]
Chen SW, Liu J, Wang Y, et al. Synchronous double-channel recurrent network for aspect-opinion pair extraction. Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. Association for Computational Linguistics, 2020. 6515–6524.
[14]
Zhao H, Huang LT, Zhang R, et al SpanMlt: A span-based multi-task learning framework for pair-wise aspect and opinion terms extraction. Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. Association for Computational Linguistics, 2020. 3239–3248.
[15]
Peng HY, Xu L, Bing LD, et al. Knowing what, how and why: A near complete solution for aspect-based sentiment analysis. Proceedings of the 34th AAAI Conference on Artificial Intelligence. New York: AAAI, 2020. 8600–8607.
[16]
Xu L, Li H, Lu W, et al. Position-aware tagging for aspect sentiment triplet extraction. Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP). Association for Computational Linguistics, 2020. 2339–2349.
[17]
Wu Z, Ying CC, Zhao F, et al. Grid tagging scheme for aspect-oriented fine-grained opinion extraction. Findings of the Association for Computational Linguistics: EMNLP 2020. Association for Computational Linguistics, 2020. 2576–2585.
[18]
Chen H, Zhai ZP, Feng FX, et al. Enhanced multi-channel graph convolutional network for aspect sentiment triplet extraction. Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Dublin: Association for Computational Linguistics, 2022. 2974–2985.
[19]
Xu L, Chia YK, Bing LD. Learning span-level interactions for aspect sentiment triplet extraction. Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers). Association for Computational Linguistics, 2021. 4755–4766.
[20]
Chen SW, Wang Y, Liu J, et al. Bidirectional machine reading comprehension for aspect sentiment triplet extraction. Proceedings of the 35th AAAI Conference on Artificial Intelligence. AAAI, 2021. 12666–12674.
[21]
Mao Y, Shen Y, Yu C, et al. A joint training dual-MRC framework for aspect based sentiment analysis. Proceedings of the 35th AAAI Conference on Artificial Intelligence. AAAI, 2021. 13543–13551.
[22]
Yan H, Dai JQ, Ji T, et al. A unified generative framework for aspect-based sentiment analysis. Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers). Association for Computational Linguistics, 2021. 2416–2429.
[23]
Guo ZJ, Zhang Y, Lu W. Attention guided graph convolutional networks for relation extraction. Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. Florence: Association for Computational Linguistics, 2019. 241–251.
[24]
Chen YQ, Chen KM, Sun X, et al. A span-level bidirectional network for aspect sentiment triplet extraction. Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing. Abu Dhabi: Association for Computational Linguistics, 2022. 4300–4309.