Abstract
本文介绍了我们提交到SemEval-2016基于方面的情绪分析任务5的系统。我们的系统由两部分组成: 用单层前馈网络训练的二进制分类器, 用于方面类别分类 (Slot 1) , 以及用于意见目标抽取的顺序标记分类器 (Slot 2) 。除了提取各种词汇特征、句法特征和集群特征外, 我们还探索了利用深层学习系统提供额外的神经网络特性。我们的系统达到了英语数据集的最佳性能, 四项评价上排名第一 (餐厅和笔记本电脑领域的Slot 1, Slot 2, Slot 1& 2)
Introduction
近年来, 由于互联网上用户生成的内容不断增长, 情绪分析和意见挖掘越来越引起人们的兴趣。传统上, 研究的主要重点是发现一个句子或段落的整体情绪。然而, 这种做法无法处理同一实体不同方面的冲突情绪。因此, 提出了一种更细粒度的方法, 称为基于方面的情绪分析 (ABSA)。目标是正确地识别实体的各个方面和每个方面表达的极性。
基于 SemEval-2016 方面的情绪分析 (SE-ABSA16) 任务是2015年同一个任务的延续 (Pontiki 等, 2015)。除了语句级 ABSA (子任务 1) 之外, 它还提供了数据集以允许参与者在文本级 ABSA (子任务 2) 上工作。此外, 还提供除英语以外的其他语言的其他数据集 (Pontiki 等) (2016)
我们参与了 SE-ABSA16 的子任务 1, 在这里我们提交了Slot 1 (方面类别分类)、Slot 2 (意见目标提取) 和Slot 1和 2 (评估系统是否同时正确标识了Slot 1和Slot 2) 的结果, 用于英语数据集
我们的工作是基于我们以前的机器学习系统描述的 2015, 使用从神经网络学到的附加功能来强化系统。对于Slot 1, 我们将问题看作是一个多类分类问题, 即通过一组二进制分类器预测方面类别。"一对多" 策略对数据中发现的每个类别用于训练一个二进制分类器。每个分类器都使用单层前馈网络进行训练。通过添加从深卷积神经网络系统中吸取的神经网络特征, 提高了系统的性能。对于Slot 2, 我们将问题视为顺序标记任务, 其中顺序标记分类器使用条件随机域 (CRF) 进行训练,递归神经网络系统的输出作为附加功能使用。另外对于Slot 1& Slot 2的预测,将进行组合生成Slot 1和2预测。
本文的其余部分按如下方式组织。在2节中, 描述了我们系统中使用的特性。3节介绍了详细的机器学习方法。4和5节分别显示官方评价结果和特征消融结果。最后, 6 节总结了我们的工作
2.Features
我们的系统使用了以下小节中简要描述的各种features 。所使用的大部分features 与在2015中使用的features 相同
Word
句子中的每个单词都用作一个特征。附加的 word 上下文用于不同的slots : 对于slots 1, 在一个句子中发现的所有单词 bigram 上下文也被使用;对于slots2, 还使用前一个单词和下一个单词上下文
Name List
从餐厅领域的培训数据中生成了两个意见目标列表。其中一个列表包含在培训数据中经常出现的意见目标。另一个列表包含经常在培训数据中作为意见目标的一部分出现的单词。
Head Word
对于每个单词, head 词从句子解析树中提取出来, 用作特征
Word Embeddings
词嵌入以前显示有益于观点目标提取, 只需要极小的特征工程学努力 (刘等, 2015)。我们从两个未标记的数据集培训 word 嵌入: 包含来自亚马逊 (布雷泽等) 产品评论的Multi-Domain Sentiment Dataset (2007) , 以及在Yelp
Phoenix Academic Dataset2 中发现的用户评论。在以上两个数据集的串联中还生成了其他单词嵌入。
用两种不同的方法训练单词嵌入。第一种方法使用 word2vec 工具的 gensim3 实现 (Mikolov 等, 2013) 4。我们实验不同的vector sizes, window sizes, minimum occurrences 和subsampling thresholds
第二种方法使用GloVe 工具 (边宁顿等, 2014) 5。通过改变minimum
count, window size and vector size , 生成不同的嵌入文件。使用5倍交叉验证选择要使用的最佳嵌入文件
Word Cluster
我们进一步处理了2.4 节中描述的嵌入文件, 通过它们生成了 K-means cluster 。具体来说, k 表示簇是使用Apache Spark MLlib 的 k means 手段实现生成的。尝试不同的cluster (簇)大小, 并使用5倍的交叉验证选择最佳的cluster 文件。
Double Propagation Name List
除了使用训练数据生成名称列表之外, 我们还使用无监督的双传播 (DP) 算法 (2011) 来生成候选的意见目标并将其收集到列表中。我们调整了刘等人(2013)中所述的逻辑规则,以推导出我们自己的传播规则。SWI-Prolog7 用作求解器。我们的规则有一个问题, 那就是它只能识别单个词的目标。因此, 我们检查每个确定的目标, 并包括任何连续的名词词在目标之前。
3 Approaches
本节介绍用于为不同插槽生成预测的方法。机器学习系统是基于我们以前的工作 (2015), 并扩展到使用额外的神经网络功能
Aspect Category Classification (Slot 1)
对于训练数据中发现的每个类别, 使用 Vowpal Wabbit tool8 对二进制分类器进行训练, 这为我们使用的单层前馈网络算法提供了实现。
除了使用以前报告的功能外, 我们还使用下面描述的深层学习系统中的附加功能来增强现有的系统。
一个句子矩阵 是为每个输入语句构建的, 其中每一行 i 是在句子中一个用向量表示的单词 i 。句子长度 | s|固定到数据集的最大句子长度, 以便所有句子矩阵具有相同的尺寸。(相应地用0s 行向量填充较短的句子。句子矩阵的每一行向量由对应于不同输入特征的列组成 (如word embedding feature, name list feature 等), 连接在一起
然后, 输入语句矩阵 S 通过一系列网络层转换传递, 如下小节所述。
3.1.1 Convolutional Layer
我们在输入语句矩阵 S 和过滤矩阵 (上下文窗口大小 m) 之间应用一个卷积运算, 从而产生一个列向量 。过滤矩阵 F 将沿着 S 的行维度滑动 (1 步), 为句子中的每个单词生成一个值。n 滤波矩阵不是单一的滤波矩阵, 而是应用于句子矩阵 S, 产生卷积特征矩阵。
为了学习非线性决策边界, C 的每个元素都经过双曲正切 tanh 激活函数。
3.1.2 Max-Pooling Layer
然后将输出矩阵 C 传递到 maxpooling 层。此层将返回每列的最大值。
3.1.3 Hidden Dense Layer
利用线性单元 (ReLU) 作为活化函数, 将具有 h 个隐藏单元的隐藏dense layer 应用于池化层的输出。
3.1.4 Softmax Layer
softmax 层接收上一个dense layer 的输出, 并计算可能的类别上的概率分布。我们包括一个额外的类别 "零" 的情况下, 该句子不包含任何方面的类别。由于一个句子可能包含多个类别, 所以我们输出类别的输出概率值大于阈值 t的类别们。
3.1.5 Network Training and Regularization
采用随机梯度下降 (SGD) 算法对 CNN 网络进行训练, 利用反向算法计算梯度。我们训练 e epochs次 SGD, 每次使用一个batch (大小为 b 个句子)。用分类交叉熵作为损失函数。为防止 overfitting, 对网络参数的 L2 正则化项 (l2) 增加了损耗函数。Adadelta 更新函数 (具有特定的衰减速率ρ和常量) 用于控制学习速率。
用于网络 hyperparameters 的特定值使用5倍 cross validation 进行调整。上下文窗口大小 m 设置为5。过滤矩阵 n 的个数设置为300。概率阈值 t 设置为0.2。隐藏单位 h 的数量设置为100。餐馆和laptop 计算机领域的epochs e 的数量被分别设置为50和100为。L2regularization l2 被设置到0.01。Adadelta 衰变速率ρ和常数分别设置为0.95 和1e−6
3.2 Slot 1 Features
除了2节所描述的特点外, CNN 系统的概率输出也被用作我们的多类分类系统的附加功能。CNN 系统接受了以下输入特征的训练:Word Embeddings, Name List (only for the restaurant domain) and Word Cluster 。
在添加每个特征组后, 我们进行了5倍的交叉验证实验, 以获得系统的性能。表1显示了实验结果。
如果我们只使用 CNN 系统输出进行评估 (最后一行), 我们还包括5倍的交叉验证性能。对于这两个领域, CNN 系统的性能都优于不带神经网络特征的多类分类系统。
然而, 当我们使用 CNN 概率输出作为多类分类系统的附加功能时, 就能获得最佳的性能。这表明我们将两种不同的机器学习系统结合起来的方法是一个可行的方法来完成任务。
3.3 Opinion Target Extraction (Slot 2)
我们把意见目标抽取作为一个连续的标签任务。顺序标记分类器使用条件随机域 (CRF) 进行训练。这种方法类似于以前的工作, 达到了最先进的表现 (2015)。CRF实施由CRFsuite tool (Okazaki, 2007) 提供。
类似于我们以前的工作, 对于不同的评估涉及插槽 2, 我们培训不同的模型。对于插槽1和2的评估 (multi setting ), 明确的意见目标可以归类在一个以上的类别。因此, 对培训数据中发现的每个 C 类都进行了单独的 CRF 模型培训, 每个模型都使用相应的BIO 标签进行培训:“B-C”, “I-C” 和“O” (对应于一项意见目标的开始、持续的意见目标和外部分别)
对于插槽2评估 (单个设置), 只需要目标范围。因此, 所有类别都折叠为一个类别 (例如 "目标")。使用标签“BTARGET”, “I-TARGET” 和“O” 来训练单一的 CRF 模型。
我们还通过将经常性的神经网络 (RNN) 系统的输出作为附加功能来增强现有的 CRF 系统。
具体来说, 我们实现了 RNN 中描述的双向 Elman-type 的模型(2015) 10。这样的模型允许从未来以及从过去被捕获的远程依赖, 这对于顺序标记任务是有益的。模型的最后一层是完全连接的 softmax 层, 允许模型输出概率
3.3.1 Network Training and Regularization
RNN 网络使用20个世纪的 SGD 进行培训, 使用涅斯捷罗夫动量, 学习率为 0.05, 动量为 0.9, 批大小为100句。分类交叉熵被使用作为损失作用, 以 L2 惩罚0.01 为正则化。两个方向的隐藏单元格数设置为250
3.4 Slot 2 Features
除了2节中描述的特性外, RNN 系统的概率输出也被用作我们的 CRF 系统的附加功能。RNN 系统对以下输入特性进行了培训: Word Embeddings, Name List 和Word Cluster.
在添加每个特征组后, 我们进行了5倍的交叉验证实验, 以获得系统的性能。表2显示了实验结果。我们调整系统的两个不同的设置: 插槽2预测用于插槽1和2评估 (多设置), 插槽2预测用于插槽2评估 (单一设置)。
3.4.1 Slot 1 & 2
为了生成插槽1和2评估的预测, 我们将插槽1和插槽2预测组合在一起。首先, 我们使用所有插槽2预测用于插槽1和2评估 (多设置)。这涵盖了明确目标的案例。要包含 NULL 目标, 我们检查上面的插槽2预测中找不到的插槽1预测中的类别, 假定这些类别属于 NULL 目标。
4 Results
我们参加了英语数据集的无约束和受限制的设置。表3列出了我们提交的正式结果。相比之下, 三强的表演系统和基线结果包括在内 (Pontiki 等, 2016)。
如表所示, 我们的系统排名第一, 我们所参加的所有四项评估 (包括餐厅和笔记本电脑领域的插槽 1, 插槽2和插槽1和2的英语数据集)。与以前的观测类似, 受限系统的结果比相应的无约束系统的效果低, 证明了外部资源的使用对任务有帮助
5 Feature Ablation
特征消融实验结果见表 4 (插槽 1) 和表 5 (插槽 2)。神经网络特性贡献了最大的性能增益。但是, 使用 Name 列表和 Word 群集功能似乎对测试数据没有特别有效: 插槽1的性能增益可忽略不计或负。由于这两项功能也在 CNN 系统中使用, 因此在本职分类系统中重新包含它们可能是多余的。此外, 神经网络特征可能已经成为训练中的主要特征, 影响其他功能的实用性。
可能需要进一步的调查, 以确定更好的方法将不同的机器学习系统结合在一起。例如, 改为
将神经网络概率输出添加到多类分类系统中, 可以将分类器概率输出作为附加功能添加到 CNN 系统中。
6 Conclusion
本文介绍了在分类方面 (插槽 1) 和提取意见目标 (插槽 2) 中使用的系统。我们探索使用深层学习系统为我们现有的系统提供额外的神经网络功能。在四的英语数据集评估中, 我们的系统排名第一。今后, 我们希望能发挥更好的功能工程, 并探讨如何进一步加强我们的深入学习系统的任务。