system: [SYSTEM]

user: 4. 实验 本文将融合自注意力机制下的要素类特征的门控卷积神经网络模型先后应用在要素类提取和要素类情感分类任务上，首先在keras环境下通过结合自注意力机制的神经网络模型来确定文本的要素类及要素类的向量表示，然后在pytorch环境下运行带要素类嵌入的门控卷积神经网络模型来确定文本在某一要素类上反映出的情感极性。本文采用word2vec预训练的300维词向量对文本输入进行初始化，对词典中未出现的词则采用均匀分布 U ( − 0.25 ， 0.25 ) 进行随机初始化。 4.1. 实验数据 本文实验采用的英文数据来自于SemEvalABSA任务下的2014年至2016年的restaurant评论下的训练集和带标注的测试集，以XML格式标记。每条评论都包含一系列的要素类和要素类相关的情感极性，< text >对应句子的文本内容、< aspectCategory >或是< Opinion >中的category和polarity分别表示句子的要素类和在该要素类上的情感极性。所有评论一共包含positive、neutral、negative和conflict四种情感，{restaurant， food， drinks， ambience， service， price， anecdotes/miscellaneous， location}八种要素类。鉴于情感极性为“conflict”的文本数据量过少且“conflict”这一情感极性较难识别，相关文献都不考虑这类情感，因此本文将情感标签中的“conflict”用“neutral”替代。经过将3年的数据进行整理与整合，每一条评论对应存入一个字典，字典的三个键“sentence”、“aspect”和“sentiment”分别存放评论的文本内容、要素类和在该要素类上的情感极性。若一条评论文本中含有多个要素类，则句子中的文本内容以及不同的要素类和对应的情感极性将被分别存放进不同的字典。 原训练集和原测试集最终分别形成3542个字典和2192个字典，记作数据集1和数据集2。出于评估本文模型在多要素类情感分类任务上的表现的需要，本文将两份数据集中的含有多个要素类的句子提取出来并单独存放进字典，分别创建了复杂数据集1和复杂数据集2。经过整理，四份数据集的统计分布结果如表2所示。在要素类提取任务中，数据集1和数据集2将分别作为训练集和测试集；在要素类情感分类任务中，数据集1、数据集2和复杂数据集2将分别作为训练集、验证集和测试集。 Table 2 Data distribution of the dataset Positive Negative Neutral 总计 数据集1 2173 999 370 3542 复杂数据集1 924 325 105 1354 数据集2 1378 639 175 2192 复杂数据集2 545 201 50 796 表2. 数据集统计分布结果 在整合数据后，本文对评论文本进行了无词义符号替换、大写转小写、词性还原、要素类筛选等预处理操作。即便是人工对anecdotes和miscellaneous进行要素类标注，相关界定也很模糊，因此将含有“misc”要素类的字典在预处理阶段从数据中剔除。考虑到去停用词不可避免地会丢失文本的部分信息，众多研究也表明去停用词比保留停用词在情感分类任务上获得的精度更低，本文不进行去停用词的预处理操作。此外，本文还进行了建立词典、torchtext分词、文本数值化、文本长度补全、数据分批等操作。 4.2. 实验参数设置 文本中词向量的维度、要素类词向量的维度都为300。要素类提取实验以keras作为实验框架，以Adam作为优化器，负采样样本数为6，dropout为0.5，初始学习率为0.01，训练轮数为50轮，批数据大小为256，正则项权重为0.001。要素类情感分类实验以pytorch作为实验框架，以Adam作为优化器，设置窗口大小为2、3、4的滤波器各100个，dropout为0.5，初始学习率为0.01，训练轮数为30轮，批数据大小为256。 4.3. 要素类提取实验结果与实验分析 本文通过结合注意力机制的神经网络(ABAE)模型或结合自注意力机制的神经网络(SABAE)模型提取要素类，学习要素类的词向量表示。要素类的代表性词语可以通过与该要素类经常一起出现在评论文本中的词语来表示，因此可以通过同一词嵌入空间中的要素类的邻近词语来解释所提取的要素类向量，从而与要素类的名称映射。例如，当代表性词主要是各种食物及与食物相关的形容词时，可以为该要素类向量指定“food”这一要素类名称。实验的理想状态是能将提取出的8个要素类向量一一映射至restaurant、food、drinks、ambience、service、price、misc和location这8个要素类名称上。 将ABAE模型和SABAE模型训练所得的8个要素类向量，根据在词嵌入空间中余弦距离最近的前30个词语的词向量进行降维，分别得到如图3与图4所示的可视化结果图。与大多数研究常用的主成分分析方法不同的是，本文采用的t-SNE属于非线性降维方法，首先将数据点之间的相似度转换为概率，然后通过原始空间和嵌入空间的联合概率的KL散度来评估可视化效果的好坏。t-SNE是目前效果最好的数据降维与可视化方法之一，尤其适合不确定数据集是否有较好的可分性的情况。 图3. ABAE模型的要素类代表词可视化图 图4. SABAE模型的要素类代表词可视化图 就可视化的聚类效果而言，SABAE模型提取的要素类的代表性词语的词向量聚类效果优于ABAE模型。以SABAE模型所在的图4的部分要素类及其代表词为例，色阶为1的代表词包括“traditional (传统的)”、“casual (休闲的)”、“cute (可爱的)”、“attractive (有吸引力的)”、“terrific (极好的)”等形容词和“lunch (午餐)”、“buffet (自助餐)”、“reservations (预订)”、“neighborhood (附近地区)”等名词，对应要素类restaurant；色阶为2的代表词包括kielbasa (波兰香肠)、apples (苹果)、seafood (海鲜)、stock (食物存货)、glaze (糖浆)、asparagus (芦笋)、dumplings (饺子)、omakase (日料——无菜单料理)等食物的要素项词语和“poor (糟糕的)”、“awesome (好吃的)”、“awful (难吃的)”、“aesthetic (有美感的)”、“decent (不错的)”、“artisanal (手工的)”等形容词，对应要素类food。 鉴于要素类提取的目标之一是识别出的要素类能符合人类用户的标准，因此对模型识别出的要素类进行用户评估是有必要的，本文通过人工裁判来判定是否每个要素类的TopN代表词中的大多数都能较一致地表示该要素类。根据Chen等人 [ 24 ] 和He等人 [ 13 ] 的实验设置，本文招募了三名人类裁判，分别对ABAE模型和SABAE模型所识别出的8个要素类及其代表词进行用户评估。对单个要素类而言，如果有不少于2个人类裁判都认为该要素类的前30个代表词中的大多数都一致地表示同一个要素类，则将该要素类标记为具有一致性的要素类。ABAE模型的一致性要素类的用户评估数量为4，SABAE模型的一致性要素类的用户评估数量为6。 对于被裁定为一致性要素类来说，人类裁判同样需要对一致性要素类的代表词进行评估，如果有不少于2个人类裁判都认为该代表词与要素类是有关联的，则将该代表词标记为准确的代表词。在不同的N值下，本文分别统计了ABAE模型和SABAE模型中的各个一致性要素类的代表词的准确比例，然后联合所有一致性要素类，计算代表词的平均准确率。图5显示了ABAE模型及SABAE模型，在N值分别为10、30和50时，代表词的平均准确率。由图可知，无论代表词的数量为多少，SABAE模型的代表词的平均准确率均高于ABAE模型。 图5. 基于用户评估的代表词平均准确率 4.4. 要素类情感分类实验结果 要素类情感分类采用准确率(accuracy)作为评价指标，准确率越高说明模型的分类精度越高。 消融实验是深度学习常用的一种控制变量实验，即通过单变量控制来验证某个条件或参数的改变对模型的实验结果的影响，最早出现在Faster R-CNN模型 [ 25 ] 的对比实验中。由于深度学习一般采用随机初始化的方法指定模型参数，固定随机种子使得实验运行时每次产生相同的随机数从而在一定程度上降低算法结果的随机性，因此，本文的消融实验固定了超参数和随机种子。出于了解基于上下文优化后的要素类嵌入是否能提高要素类情感分类精度的目的，将本文提出的融合自注意力机制下的要素类特征的门控卷积神经网络模型与以下两种方法在Restaurant数据集上进行实验。 实验1：GCAE模型。尽管要素类词向量和文本词向量都由word2vec预训练的词向量进行初始化，但无论是在单要素类文本数据集上还是多要素类文本数据集上，其分类精度都优于将要素类词向量连接到文本词向量上的结合注意力机制的LSTM (ATAE-LSTM)模型、标准的卷积神经网络(CNN)模型与不含要素类嵌入的门控卷机神经网络(GCN)模型 [ 2 ]。 实验2：GCAE_ATT模型。输入门控卷积神经网络模型的要素类向量和文本词向量由结合注意力机制的神经网络模型提取出的要素类嵌入矩阵和优化后的文本词向量进行初始化。 实验3：GCAE_SelfATT模型。输入门控卷积神经网络模型的要素类向量和文本词向量由结合自注意力机制的神经网络模型提取出的要素类嵌入矩阵和优化后的文本词向量进行初始化。 表3展示了消融实验的结果，即3个模型分别在验证集和测试集上获得的分类准确率和耗费的训练时间。其中，验证集的数据即含有单个要素类及其情感极性的简单句子，也包含由多个要素类及其情感极性组成的复杂句子；测试集的数据则全部由复杂句子构成。 Table 3 Accuracy and training time of aspect category sentiment classification under the ablation experimen 模型名称 验证集分类准确率 测试集分类准确率 训练时间 GCAE 79.4708% 81.1558% 569.0483s GCAE_ATT 80.8850% 83.4171% 598.7766s GCAE_SelfATT 82.2080% 85.0503% 581.7217s 提升幅度 2.74% 3.89% / 表3. 消融实验下的要素类情感分类准确率与训练时间 实验结果说明，GCAE_SelfATT模型在验证集和测试集上的分类精度均最高，其次是GCAE_ATT模型，最后是GCAE模型。要素类情感分类的精度高低与对应的要素类提取模型得到的代表词可视化聚类效果呈现正相关，也就是说要素类代表词的聚类效果越好，则将优化后的要素类向量和文本词向量对GCAE模型的输入进行初始化，得到的要素类情感分类精度越高。