近日,自然语言处理(NLP)领域的顶级会议ACL 2021(Annual Meeting of the Association for Computational Linguistics)揭晓了论文录用结果,腾讯博通内容理解团队共有2篇长文被ACL 2021主会录取,1篇长文被Findings of ACL录用,内容包括了错别字纠错、文本层次分类和关键词抽取等经典NLP研究方向。
博通是腾讯内部一个专注于包括图文和视频在内的多模态内容理解平台,目前提供40+余种能力,涵盖了分类标签、内容质量、特定属性和基础能力等四个大类,支持图文、短(小)视频和直播等主要内容形态,广泛应用在腾讯信息流推荐、搜索、广告等业务中。
ACL是计算语言学和自然语言处理领域影响力最大、最具活力的国际学术会议之一,由国际计算语言学协会主办,被中国计算机学会(CCF)列为A类国际学术会议,每年都会有众多顶级学术机构和科技企业参加,涵盖了语言分析、信息抽取、机器翻译与自动问答等各个领域。2021年ACL共收到3350篇长文投稿,主会录用率为21.3%。
三篇论文进行详细的技术解读如下:
PLOME: Pre-training with Misspelled Knowledge for Chinese Spelling Correction
- 任务介绍
中文拼写纠错也叫错别字纠错,目标是识别给定文本中的错别字并对其进行纠正。上图展示了一个例子,其中标红的是错别字,标绿的是改正字。文本中错别字的数量是不定的,可能没有错别字,也可能有多个错别字。
- 研究动机
中文纠错主要有两类错误:近音错误(phonological error)和形近错误(visual error),其中近音错误是指读音相同或相近的汉字误用,形近错误是指字形相近的汉字误用。图1展示了两类拼写错误的例子。
图1:中文拼写错误示例
语言模型对中文纠错来说非常重要,无论是传统的pipline纠错(基于单向LM)还是近两年兴起的end2end纠错模型(基于BERT,masked LM)都离不开语言模型。然而,这些方法用到的语言模型在训练时完全没有考虑纠错任务,因此对于纠错任务来说这些语言模型并不是最优的。为了解决这个问题,我们提出了一种针对中文纠错的预训练语言模型PLOME,在预训练过程中建模纠错知识。
另一方面,中文拼写错误主要由近音字误用和形近字误用引起,因此汉字之间的读音相似性和字形相似性对该任务至关重要。已有方法主要通过混淆集建模这类知识,然而混淆集一般通过启发式规则或人工总结的方式构建,因此并不完备。为了解决这一问题,我们将汉字的拼音序列和笔画序列也作为模型输入,并分别用两个子网络来计算它们的表示向量,让模型可以自动学习任意两个汉字在读音和字形上的相似度。另外,为了让模型更好地学习读音和汉字之间的关系,预训练阶段同时优化汉字预测和拼音预测两个任务。
本工作的主要贡献总结如下:1)PLOME是第一个针对纠错的预训练语言模型,我们提出了一种基于混淆集的MASK策略让模型在预训练时学习到纠错相关的知识;2)PLOME将汉字的拼音序列和笔画序列作为输入,能够建模任意两个汉字的相似度;3)PLOME是第一个联合汉字预测和拼音预测的中文纠错模型。
- 方法
模型架构如下图所示,和BERT类似,我们通过优化MLM的损失对模型进行预训练(去除NSP任务)。
图2:PLOME模型框架图
为了在预训练阶段学习错别字知识,我们提出了一种基于混淆集的MASK策略。具体地,和原始BERT不同,我们并非使用特殊符号[MASK]去替换被选中的token,而是从token对应的混淆集中随机选择一个进行替换。我们有两类混淆集:拼音混淆集和形近混淆集。经过统计发现,文本中超过70%的错误是由于近音字引起的,因此在mask时我们让拼音混淆集有更大概率被选中。
表1:基于混淆集的MASK策略示例 图3:拼音GRU和笔画GRU网络
为了建模汉字在发音和字形上的相似性,模型中引入了两个GRU子网络分别计算汉字的拼音向量和笔画向量,图3展示了这两个子网络的计算过程。模型的编码层和BERT base结构完全相同,由12层Transformer组成,向量维度768。如图2所示,模型为每个输入位置同时预测其真实汉字和拼音。
- 实验
本文实现了两个模型版本:
- PLOME: 本文提出的模型,模型结构在上文已经进行了详细的介绍。
- cBERT: PLOME的简化版本,去除拼音和笔画模块,保留基于混淆集的MASK策略。
为了证明模型的有效性,在公开数据集SIGHAN上进行了一系列实验。对比了最近几年的SOTA模型,实验结果如下:
其中以Pretrain结尾的模型表示没有在SIGHAN数据上进行finetuning。从实验结果可以看到:1)本文提出的cBERT和PLOME,在不进行finetuning的情况下,仍然能够取得不错的效果,说明我们提出的预训练方法在预训练阶段能够很好地学习到纠错知识。2) PLOME效果比cBERT好,证明了拼音序列和笔画序列对纠错任务的有效性。3)经过finetuning,PLOME在各个指标上都显著高于所有SOTA模型。
- 总结
本文提出了一个针对纠错的预训练模型,在预训练阶段融入了纠错知识。另外,我们还显式建模了拼音和笔画序列,让模型能够自动学习任意两个汉字在发音和字形上的相似度。代码和模型已开源:https://github.com/liushulinle/PLOME。
Concept-Based Label Embedding via Dynamic Routing for Hierarchical Text Classification
- 任务介绍
文本分类是一项经典的自然语言处理任务。在现实场景中,文本分类通常具象为一个层次文本分类(HTC)问题,如专利收集、web内容收集和病历编码。在这些场景中,HTC任务旨在将文本描述分类到一组类别标签中,这些标签结构化地被组织在一个类别层次体系结构中。
- 研究动机
在大部分前人工作中,研究者主要关注于文本的建模,类别标签被简单地表示为一个one-hot向量(Zhu和Bain,2017)。在这里one-hot向量实为没有任何语义信息的ID表示。如何更好地建模类别信息也是十分值得研究的。于是,研究者们开始转向探索将类别标签嵌入到包含更多语义信息的向量空间中。与one-hot向量的表示方法相比,类别标签嵌入方法在获取领域特异信息和导入外部知识方面更具有优势。在文本分类领域(包括HTC任务),研究人员提出了几种类别标签嵌入方法,编码了不同类型的信息,例如1)锚定点(Du等人,2019),该方法使用分类层的权重矩阵作为类别标签的向量表示,编码了各个类别的在分类空间中的锚点信息;2)兼容性(Wang等人,2018),这种方法独立随机初始化了类别向量,并在训练中更新学习,以捕捉类别标签和文本之间的兼容性信息;3)类别体系(Zhou等人,2020),这种方法通过双曲空间编码器或图模型来编码的层次类别体系结构,4)外部知识融合(Rivas Rojas等人,2020),这种方法通过对各类别进行定义阐释,来引入外部知识信息。
图一、类间概念举例(左图,Qiu等人,2011)以及WOS数据集中的概念(右图)
虽然外部知识被证明对HTC是有效的,但它一般来源于定义实体的词典或知识库,并不是为某个特定HTC任务所做的解释。从这个角度看,外部知识是一种任务领域无关的信息。类别层次体系结构编码可以捕获类别的任务领域特异性结构信息。然而,实际上它只对类别层次结构中的上下位关系进行了隐式地建模。除类与类之间的结构关系外,我们还发现,以往的工作忽略了相邻类之间共享的概念信息。例如(图一),有一个名为“运动”的父节点(Qiu等人,2011)。子类“冲浪”和“游泳”是与“水”相关的运动。“篮球”和“足球”是与“球”有关的运动。“水”和“球”是父类“运动”中包含的一种抽象概念,可以由子类共享。如图1所示,在WOS数据集中也有类似的观察结果。相比之下,概念更具有语义性和细粒度性。前人工作对此少有研究。 为了进一步探索HTC中的概念信息,我们提出了一种新的基于概念的标签嵌入方法,该方法可以显式地表示概念,并对类间的共享机制进行建模。
- 方法
在我们的模型CLED(Figure 2)中,首先,我们构建了一个基于层次注意的框架。每层都有一个基于概念的分类器。将先前的分类结果(即预测的软类别标签向量)反馈到下一级。利用类别标签注意机制来度量文本和类别之间的兼容性。然后在模型中设计了一个概念共享模块。它首先在语料库中显式地提取概念,并表示成向量。受CapsNet(Sabour等人,2017)的启发,我们采用了动态路由机制。该机制起到了将信息从低层次网络分享给更高层网络的作用。考虑到HTC的特点,我们改进了动态路由机制,以利用HTC的类别层次体系结构。然后通过衡量父类概念向量与子类标签向量的一致性,迭代地优化路由系数。由此模块对概念共享过程进行建模,并输出一种新的类别标签表示向量,该向量由其父类的概念构造而成。最后,我们模型在注意力机制中利用这样的类别标签向量来表示输入文档并进行分类。
- 实验结果
实验中我们与近年来的几种最新的HTC模型进行了比较。实验结果如表2所示。对比的SOTA模型大多都采用基于层次注意力的网络作为其模型框架。层次结构框架可以有效地利用前一层的分类结果辅助下一层分类。类别标签向量注意机制有助于导入外部知识信息和编码类别层次体系结构。在这两个数据集上,SOTA方法都获得了较好的效果。在一个类似的层次注意力框架基础上,我们的模型侧重于建模类间的共享概念,在各层级和总体的精度指标上超过了SOTA方法。
- 结论
在本工作中,我们探索了HTC中的概念,这是一种在类别层次体系中被共享的领域特异性的细粒度信息。我们提出了一种基于概念的类别标签向量化模型,以提取概念并显式地建模概念的共享机制。在两个广泛使用的公开数据集上的实验结果表明模型的有效性。可视化结果显示了所提出的模型具有较好的可解释性。
UniKeyphrase: A Unified Extraction and Generation Framework for Keyphrase Prediction
一、任务介绍
Keyphrase预测旨在为文章提取出能代表文章核心内容的短语集合,如上图所示,一篇文章的keyphrase可按照其是否出现在文章划分为present keyphrase(出现在原文中)与absent keyphrase(未出现在原文中)两大类。Keyphrase预测的结果可用于诸多下游NLP任务,如摘要、文本聚类、检索等。在推荐系统的内容理解中,keyphrase预测结果作为文章的标签用于构建用户画像,用于排序、召回等模块。
二、研究动机
在早期的工作中,通常将该问题作为抽取式任务去解决,即为文中连续出现的片段进行分类,判断其是否属于keyphrase,该类方法通常只能解决present keyphrase的预测,无法处理absent keyphrase。随着sequence-to-sequence模型的出现,在该任务上出现了一系列基于生成模型的方法,该方法将两类keyphrase拼接成一个序列,将其作为生成模型的预测目标,从而较好的解决absent keyphrase的预测任务。
基于生成的keyphrase预测方法将所有的keyphrase拼接成一个序列,并未显式的区分两类keyphrase。事实上,这两类keyphrase间往往存语义差异。以上图中的文章为例,present keyphrase(如wavelet transform)是具体的方法,而absent keyphrase(如singularity detection)是抽象的任务。因此,出现了一些通过其划分为present keyphrase extraction(PKE) 和absent keyphrase generation (AKG) 两个子任务进行多任务学习的方案。该类方法通过将不同的keyphrase预测视为不同的任务,进而区分了这两种keyphrase的语义差异。但已有的多任务方法通常采用共享编码器来完成两个任务,对 PKE 和 AKG 之间潜在语义关系建模较弱,但这种关系对于该任务较为重要。如前述例子,present keyphrase是特定的技术,都用于absent keyphras中的singularity detection, traffic data analysis任务中。 PKE 和 AKG 之间的这种语义关系可以为keyphrase预测任务带来好处。实际上,类似的语义关系在该任务中很常见。
为了解决上述问题,本文提出了一种新的端到端联合模型 UniKeyphrase,它采用预训练语言模型作为backbone,明确建模了这两个任务之间的相互关系。这为不同类型的keyphrase预测带来帮助:present keyphrase可以为 AKG 提供文档的重要信息,而absent keyphrase则被视为高级潜在主题,而这种信息可以为 PKE任务提供全局语义信息。
三、方法
本文提出的UniKeyphrase方法整体结构如上图所示,本文提出的方法包括三个部分。首先是抽取与生成的backbone部分:UniKeyphrase 将 PKE 视为序列标记任务,将 AKG 视为文本生成任务。 UniKeyphrase 采用 UNILM作为骨干网络。 UNILM 是一种预训练的语言模型,它可以利用特定的自注意力掩码得到文本的编码表示与序列的生成。对于一篇文档,所有的absent keyphrase将连接为一个序列。在此基础上对序列随机选择token用[Mask]替换。源文档和与被mask的absent keyphrase序列将被拼接输入到UNILM中。在此基础上,我们可以获得文章与absent keyphrase序列被mask的隐层的输出。我们没有直接使用UNILM的隐层用于PKE和AKG两个任务,而是使用Stacked Relation Layer (SRL)对这两个任务之间的关系进行显式建模。SRL 将初始共享表示作为输入,通过全连接层与Co-Attention层获得交互后的任务表示。 SRL 通过堆叠以重复融合 PKE 和 AKG 任务表示,以更好地捕获相互关系。最终我们将对应位置的隐层进行相应的抽取与生成任务。UniKeyphrase 将 KP 任务分为两个子任务后是单独优化的,因此模型缺乏对整个keyphrase集合的全局信息的认识。 因此,我们将词袋(Bag-of-Word, BoW)作为描述全局信息的媒介指导模型的训练。我们计算模型预测的keyphrase组成的BoW 和ground truth短语 BoW 之间的差距,并将其添加到损失中。 因此 UniKeyphrase 可以获得keyphrase分配到present与absent的全局视角并在训练期间调整两个任务。最终词袋约束将作为损失函数的一项,与抽取及生成损失一起作为最终的损失函数训练模型。
四、实验
与前人工作类似,我们在该任务的主流数据集上对模型预测的present短语与absent短语预测的效果分别进行了评估,结果如下所示:
通过上述结果我们可以发现,我们的方法与已有的生成式的方法以及多任务形式的方法相比,在present短语预测及absent短语预测上都有着较好的效果。进一步证明了我们方法的有效性。
五、总结
UniKeyphrase聚焦于为 PKE 和 AKG 建立一个端到端的统一模型。具体来说,它包含堆叠关系层来建模两个子任务之间的交互和关系。 此外,我们设计了一种词袋约束来联合训练这两个任务,实验表明了所提出模型的有效性。