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.
   13   14   15   16   17   18   19   20   21   22   23