Page 18 - 《软件学报》2026年第4期
P. 18
赵传君 等: 基于高质量样本选择的跨领域方面级情感分析 1459
能. 采用反向传播算法来更新模型的参数, 通过计算损失函数来衡量模型的预测结果与真实标签之间的差异. 在
Data Select 上完成模型训练后, 在目标领域数据集上对各模型的效果进行验证. 通过计算 F1 值来评估模型在目标领
域的表现, 反映模型在目标领域的分类任务上的能力.
4 主要实验结果
4.1 实验数据
为了评估所提方法的性能, 在共 6 个领域的 ABSA 数据集上进行了实验. 针对 ATE 及 ABSC 任务, 所使用数
据集来自 4 个不同的领域: 餐厅 (R)、笔记本电脑 (L)、设备 (D) 和服务 (S), 其统计数据如表 1 所示. 餐厅数据集
由 SemEval-2014 [39] 、SemEval-2015 [40] 和 SemEval-2016 [41] 的餐厅评论组成. 笔记本电脑数据集包含了 SemEval-
2014 的笔记本电脑评论. 设备数据集由 Hu 等人 [42] 创建, 包含了来自 5 种不同数字产品的评论数据. 服务数据集包
含来自 Web 服务的评论, 并由 Toprak 等人 [43] 标注.
针对 ACD 任务, 所使用数据集来自 3 个不同的领域: 餐厅 (R ACD )、旅馆 (H ACD ) 和街道 (S ACD ), 其统计数据如
表 2 所示. 餐厅数据集由 SemEval-2016 的餐厅评论组成. 旅馆数据集包含了 SemEval-2015 的旅馆领域评论. 街道
数据集由 Saeidi 等人 [44] 创建, 包含了针对街区领域的评论数据.
表 1 ATE 及 ABSC 任务数据集统计数据 表 2 ACD 任务数据集统计数据
Dataset Domain #Sentences #Train #Test Dataset Domain #Sentences #Train #Test
R Restaurant 6 035 3 877 2 158 R ACD Restaurant 2 676 2 000 676
L Laptop 3 845 3 045 800 Sentihood 4 468 2 977 1 491
S ACD
D Device 3 836 2 557 1 279
H ACD Hotel 1 330 1 064 266
S Service 2 239 1 492 747
本文在实验中使用 F1 分数作为评价指标, F1 分数的计算公式如下:
2×Precision×Recall
F1 = (15)
Precision+Recall
其中, Precision 为准确率, Recall 为召回率, 计算公式如下:
TP
Precision = (16)
TP+ FP
TP
Recall = (17)
TP+ FN
其中, TP 表示真正例, 即模型正确预测为正例的数量; FP 表示假正例, 即模型错误地将负例预测为正例的数量;
FN 表示假负例, 即模型错误地将正例预测为负例的数量.
4.2 实验设置及基准模型
本文使用 PyTorch 的 Embedding 模块及 BERT 预训练模型来获取词嵌入表示, 其中向量维数设定为 100. 输
入数据的批次处理大小设置为 32. 在模型结构方面, 实验中各基线模型分类器的隐藏层大小为 128, 为避免模型过
拟合, 在隐藏层两侧设置 dropout 层, dropout 率为 0.2. 针对 ATE、ACD 及 ABSC 任务, 分类器的输出维度分别为
2、7、4. 在评估标准方面, 当对某条文本的所有分词标签预测均准确时, 判定为对该文本标签序列的预测正确.
模型参数优化采用 Adam 算法, 学习率设定为 0.001. 为确保实验结果的可靠性与稳定性, 对每个迁移任务均
进行了 5 次独立实验, 并取 5 次实验结果的平均值作为最终结果. 实验运行环境为 Windows 系统, 硬件配置包括
NVIDIA RTX A4000 GPU (16 GB×2) 和 Intel (R) Xeon (R) W-2175 CPU (@ 2.50 GHz), 软件采用 PyTorch 2.1.2 框架.
为了全面评估所提方法对不同类型深度学习模型性能的增强效果, 本文针对 ABSA 任务在以下 5 种基线模
型上进行了比较.
(1) RNN [45] : 一种处理序列数据的神经网络模型, 通过隐藏状态传递历史信息, 适合时间序列任务, 但存在梯度
消失问题, 难以捕捉长距离依赖关系. 本实验中, RNN 的隐藏层维度设置为 128, 层数为 1, 激活函数采用 tanh.

