武汉大学提出软模板SoftProto框架,大幅增强方面词抽取任务
本文介绍一篇我们发表于 EMNLP-2020 的论文《Enhancing Aspect Term Extraction with Soft Prototypes》,该工作提出基于软模板的 SoftProto 框架来增强方面词抽取任务,旨在解决评论文本中方面词和环境词具有长尾分布的问题。
SoftProto 框架几乎可以与所有的序列标注器进行结合。在多个 SemEval 数据集上的实验表明,软模板的引入大幅度地提升了几个经典序列标注器在方面词抽取任务上的性能。
方面词抽取任务(Aspect Term Extraction,ATE)是方面级情感分析中的一个基础性子任务。给定一个评论文本,ATE 的目标是抽取被用户表达了情感的方面短语。例如对于评论“The Bombay style bhelpuri is very palatable.”,ATE 希望抽取出方面词“bhelpuri”。
ATE 在过去二十年间已被广泛研究。早期的研究多致力于设计规则或是手工特征实现抽取。随着深度学习的发展,目前多数研究都将 ATE 当作一个序列标注任务,并设计序列标注器为评论生成对应的标签序列。
虽然现有的序列标注方法在 ATE 任务上已经取得了优良的性能,但它们仍然面对一个严峻的挑战:由于缺少包含尾部词的样本,序列标注器可能会收敛到较差的状态。如图 1 所示,在常用的 SemEval 数据集中,大约 80% 的方面词和环境词(即非方面词)都出现不超过 5 次。根据相关研究,在训练样本不足的情况下,神经网络模型很难收敛到最优状态。
▲ 图1 SemEval数据集中方面词(左图)与环境词(右图)的分布
为了解决上述问题,我们的基本设想是将样本相互关联起来,从而帮助罕见词的抽取。例如,如果我们将前例中的罕见方面词“bhelpuri”与常见方面词“food”关联起来,与“bhelpuri”相关的样本就会变得很丰富。
为了建立这种关联,寻找同义词是一个直观的想法,但该方法存在两个问题:首先,词典中只有小部分词能找到确定的同义词,虽然可以采用词向量寻找最近邻,但其语义相似性并不能得到保证;其次,方面词的存在是动态的,需要根据是否有针对该词的观点来确定。因此,我们需要建立一种动态的关联关系,且要从单词的上下文而非单词本身入手。
本文提出了一种软检索方法以建立单词级的关联。如图2所示,在进行软检索之后,我们可以得到一个生成的样本,其与原样本在词级一一对应。我们将其称为“软模板”,因为其可以作为一个参考点来指导模型对于原样本的学习过程。
▲ 图2 软检索过程示意图
我们借助语言模型 LM 实现软检索的过程。作为一个自监督的任务,语言模型的建模过程不需要额外标注,且能吸收领域内的全局知识。此外,现有研究表明,语言模型倾向于生成常见的输出,这恰好满足了我们将罕见词与常见词关联起来的需求。
具体地,我们首先根据给定的语料预训练双向语言模型(语料可以来自训练集或外部无标注数据),接着固定语言模型,再根据单词的上下文来推断其对应的模板词。我们将生成的软模板当作标注方面词的辅助证据,从而为模型判别长尾词提供助力。
如图 3 所示,SoftProto 框架由三部分组成:(1)模板生成器,用于实现软检索过程,并为样本生成对应的软模板;(2)门控调制器,用于融合样本与软模板的知识,并生成融合后表示;(3)序列标注器,用于预测标签序列。
▲ 图3 SoftProto框架
模板生成器的工作过程分为两部分,如图 4 所示。首先根据给定的语料预训练双向的语言模型。随后,固定语言模型的参数,就可以根据某一位置的前文或后文推断该处可能的词。
语言模型在某一位置的输出为一个词表大小的概率分布,我们取出 top-K 个候选词(本文称作 Oracle Words),并按照其对应的概率,对词向量进行加权求和,可计算出该位置上前向或后向的软模板向量,最终软模板向量取前后向模板向量的均值。将每一位置的软模板向量按顺序排列,即可获得样本对应的软模板序列。
▲ 图4 语言模型的预训练与推断过程
门控调制器通过对样本表示和软模板表示进行两方面的操作来促进融合:第一,软模板自身包含了可以作为支撑证据的信息,因此先将每个单词的向量与其对应的软模板向量进行拼接;第二,软模板向量可以提纯原样本的表示,因此再对拼接向量的每一维做门控操作,最终可获得融合后向量。
如下式,其中 x 为原样本中的单词向量,p 为对应的模板词向量,f 为融合后向量。
序列标注器的目标是从融合后向量中提出高层语义特征,并据此预测标签序列。由于软模板独立于序列标注器,因此可以选用任意现存的标注器作为基准。根据标注器的预测结果,与真实标签计算交叉熵损失,即可端到端地训练 SoftProto 框架(语言模型的预训练不包含在训练过程中)。
为了验证软模板对于 ATE 任务的作用,我们在 SemEval 2014~2016 的四个数据集上进行了实验,其统计信息如表 1 所示。所有数据集都有固定的训练/测试划分,我们从训练集中随机选取 150 个样本作为验证集,在验证集上取得最优 F1 的模型被用于测试。
我们使用 Fairseq 工具包进行语言模型的预训练操作。预训练语言模型的语料有两种来源:1)使用 ATE 数据集中的训练/验证集作为语料。针对四个数据集,我们就获得了四组语言模型(每一组包含前向和后向两种)。这样的设置利用了数据集的内部(internal)知识,因此称作 SoftProtoI;2)使用外部的无标注数据作为语料。由于四个数据集分别属于 Restaurant 和 Laptop 领域,因此我们使用 Yelp 和 Amazon 的大规模无标注数据进行预训练,这样就获得了两组语言模型,分别对应两个领域。这样的设置利用了数据集外部(external)的知识,因此称作 SoftProtoE。
我们选取了 BiLSTM、DECNN 和 Seq2Seq4ATE 三种模型作为 SoftProto 框架中的序列标注器,分别使用 SoftProtoI 和 SoftProtoE 对其进行增强。
同时,我们还对比了两种常用的增强方式:第一种是 Synonym,使用同义词替代语言模型生成的 Oracle Words;第二种是 Replacement,按照一定概率随机将原样本中的单词用其对应的模板词替换。最后,我们还选取了 SemEval 各数据集的优胜模型和一些常用的神经网络模型作为 baseline 进行对比。
如表 2 的实验结果所示,在 SoftProto 的增强下,所有三个序列标注器都得到了较大的提升。例如对于 Seq2Seq4ATE 模型,SoftProtoE 在 Res14 数据集上实现了 3.30% 的提升。
我们还发现 SoftProto 带来的提升在小数据集(Res15 和 Res16)上更为明显,这是因为在小数据集中没有足够的样本来训练一个好的神经网络序列标注器。
同时,SoftProtoE 的性能优于 SoftProtoI,这是因为外部语料库要比 ATE 自身的数据集大得多,在其上训练的语言模型也包含了更多的信息,可以生成质量更高的软模板。显然,Synonym 和 Replacement 的方法不适用于增强 ATE 任务,它们在某些场景下甚至带来了性能的下降。
▲ 表2 实验结果
样例分析:如表 3 所示,我们选取了测试集中的六个样本,深入观察 SoftProto 的作用。
1. S1 和 S2 是相似的场景,原模型 DECNN 都只抽取了词组的一部分,其原因是这些词组在训练集中并没有出现过,其语义特征不够强烈。SoftProto 为 [Pastor] 引入了 [nachos, burrito, salsa, food] 等词,为 [touch] 引入了 [DSLR, cable,camera, projector] 等词。这些词提供了很强的指示作用,从而帮助模型进行了正确地抽取。
2. S3 也是个很有趣的例子。[surfuring] 是 [surfing]的一个稀有变体,原模型难以识别。而 SoftProto 为其引入了 [browsing, management, interface, search] 等词,使得模型很容易识别出整体的词组。
3. S4 体现了 SoftProto 的另一个功能,即识别形容词是属于描述性 descriptive 还是情感性 sentimental 的。[internal] 作为 [CD] 的描述词,其本身并不是情感词,而是方面词的一部分。原模型认为其是情感词而不对其进行抽取,而 SoftProto 为其引入了 [AC, on/off, wire, cable] 等词,这些名词性信息可以帮助模型判断 [internal] 为方面词。
4. S5 和 S6 证明了 SoftProtoE 相对于 SoftProtoI 的优势。由于 SoftProtoI 中语言模型包含的信息量较少,其存在较多的噪声干扰,为原模型带来的帮助有限,而 SoftProtoE 的软模板质量则高得多。
▲ 表3 样例分析
尾部方面词抽取分析:为了证明 SoftProto 对于尾部方面词的抽取确实有帮助,我们保持训练集不变,从测试集中挑选出包含尾部方面词的样本,这些方面词在训练集上出现的次数不超过三次。如表 4 结果所示,SoftProto 有效地增强了原模型对于尾部方面词的识别。
▲ 表4 尾部方面词抽取结果
本文提出了一种通用的 SoftProto 框架来增强 ATE 任务。相较于设计复杂的序列标注器,我们转向将样本通过软模板相互关联。为此,我们借助语言模型来自动生成软模板,并设计了一个简单而有效的门控调制器来利用软模板。
在 SemEval 四个数据集上的实验表明,SoftProto 显著地提升了三种经典 ATE 模型的性能,并同时维持了较低的计算开销。在引入如 Yelp 和 Amazon 的外部大规模语料后,SoftProto 的性能还可以进一步提升。未来,我们将尝试将软模板的方法拓展到更多的自然语言处理任务上。
更多阅读
#投 稿 通 道#
让你的论文被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得或技术干货。我们的目的只有一个,让知识真正流动起来。
📝 来稿标准:
• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
📬 投稿邮箱:
• 投稿邮箱:hr@paperweekly.site
• 所有文章配图,请单独在附件中发送
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。