德克萨斯大学:基于分组权重共享将领域知识应用于文本分类

你和“懂AI”之间,只差了一篇论文

很多读者给芯君后台留言,说看多了相对简单的AI科普和AI方法论,想看点有深度、有厚度、有眼界……以及重口味的专业论文。

为此,在多位AI领域的专家学者的帮助下,我们解读翻译了一组顶会论文。每一篇论文翻译校对完成,芯君和编辑部的老师们都会一起笑到崩溃,当然有的论文我们看得抱头痛哭。

同学们现在看不看得懂没关系,但芯君敢保证,你终有一天会因此爱上一个AI的新世界。

这是读芯术解读的第25篇论文

ACL 2017 Short Papers

基于分组权重共享将领域知识应用于文本分类

Exploiting Domain Knowledge via Grouped Weight Sharing with Application to Text Categorization

德克萨斯大学奥斯汀分校

University of Texas at Austin

【摘要】NLP神经模型的一个基本优点是他们从头开始学习表示的能力。然而,在实践中,这通常意味着忽略现有的外部语言资源,例如WordNet或领域特定的本体,例如统一医学语言系统(UMLS)。我们提出了一种通过权重共享来开发这些资源的通用、新颖的方法。神经网络中权重共享的前人工作已经被认为是模型压缩的一种手段。相比之下,我们将权重共享视为将先验知识纳入神经模型的灵活机制。我们表明,与不利用权重共享的基准策略相比,该方法持续地提高了分类任务的性能。

1 引言

在学习原始文本输入表示方面,神经模型表现出了良好性能,同时缓和了对特定任务特征工程的需求(Collobert et al., 2011)。然而,从零开始学习的缺点是没有利用先验语言或语义知识,通常在诸如本体的现有资源中编码。这种先验知识在估计高度灵活的模型时可能特别有价值。在这项工作中,我们讨论如何在训练NLP任务的神经模型时利用词之间的已知关系。

我们提出利用特征哈希技术,最初是被提出作为神经网络压缩的手段(Chen et al., 2015)。在这里,我们将由特征散列引起的部分参数共享视为一种灵活的机制,将网络节点权重与先前相似的网络节点权重相结合。实际上,这充当了一种正则化器,限制模型来学习与外部资源(如本体)中编码的领域知识一致的权重。

图1 分组部分权重共享的示例。这里有两组。我们随机选择嵌入权重以在属于同一组的单词之间共享。

更具体地说,作为外部资源,我们使用Brown集群(Brown等人,1992),WordNet(Miller,1995)和统一医学语言系统(UMLS)(Bodenreider,2004)。从这些我们得出具有相似含义的单词组。然后,我们使用特征散列来共享属于相同语义组的单词向量表示之间的权重子集。这迫使模型尊重先前的领域知识,因为在给定本体论下类似的术语被迫具有类似的向量表示。

我们的贡献是提出了一种新颖、简单和灵活的方法,通过随机权重共享将领域知识注入到神经模型中。七个不同分类任务(三个情绪和四个生物医学)的结果表明,我们的方法持续改进了(1)不能利用领域知识的基线的性能,(2)使用改进的方法(Faruqui等,2014)作为在训练之前对领域知识进行编码的预处理步骤。

2分组权重共享

我们将在现有资源(这里从Brown群集、SentiWordNet和UMLS派生)中的相似关系合并为卷积神经网络(CNN)中的先验知识。为了实现这一点,我们构建了一个共享词向量矩阵,使得先前已知的词语类似的约束是分享词向量权重的一部分。

图2 提出的双通道模型。第一个通道输入的是一个标准的预训练词向量矩阵。 第二通道接收使用外部语言资源构建的部分共享词向量矩阵。

具体来说,假设我们有来自外部资源的N组词。请注意,人们可以通过几种方式获得这样的群体;例如使用SentiWordNet中的synsets。我们用表示组。每个组与一个词向量表示ggi相关联,我们通过对组中每个单词的预训练词向量进行平均来初始化。

为了利用分组和独立的单词权重,我们采用双通道CNN模型(Zhang et al., 2016b)。第一个通道的词向量矩阵用预先训练的字矢量进行初始化。我们用表示这个输入(V是词汇大小,d是词向量的维数)。第二个信道输入矩阵用我们提出的权重词向量初始化。 Es通过从Ep和外部资源绘制,根据我们在下面描述的过程进行初始化。

给定长度l的输入文本序列,使用相应的词向量矩阵构造序列嵌入表示和。然后我们对这两个矩阵应用独立的线性卷积滤波器集合。每个滤波器将生成特征映射矢量(h是滤波器高度)。我们在每个v上执行1-max pooling,每个要素图提取一个标量。最后,我们将所有特征图(从两个通道)的标量连接到一个特征向量中,该特征向量被馈送到softmax函数以预测标签(图2)。

我们如下初始化Es。 Es的每行是词i的词向量表示。单词可能属于一个或多个组。映射函数G(i)检索单词i属于的组,即G(i)返回的子集,我们用,其中K是包含单词i的组的数量。为了初始化Es,对于词向量ei的每个单词的每个维度j,我们使用哈希函数hi将索引j映射(散列)到K组ID之一:。以下(Weinberger等人,2009; Shi等人,2009),我们使用第二个哈希函数b来消除由散列引起的偏移。这是一个签名功能,即将(i,j)元组映射为{+1,-1}。然后,将ei,j设置为和的乘积。h和b都是大致均匀的哈希函数。算法1提供了完整的初始化过程。

说明见图1。这里g1包含三个词:good,nice和amazing,而g2有两个词:good和interseting。词向量组gg1,gg2被初始化为其包含词的预训练词向量的平均值。这里,词向量参数e1,1和e2,1都映射到gg1,1,因此共享该值。类似地,e1,3和e2,3将在gg1,3上共享权值。为了简化,我们从这个图中省略了第二个哈希函数b。

在训练过程中,我们像往常一样使用反向传播来更新Ep(Rumelhart et al., 1986)。我们以类似于Chen等人(2015)的方式更新Es和词向量组g。在每个训练步骤(小批量)之前的向前传播中,我们从g得到ei,j的值:

我们使用这个新更新的ei,j在CNN中执行正向传播。

在反向传播期间,我们首先计算Es的梯度,然后我们使用它来导出梯度w.r.t gs。为此,对于ggk中的每个维度j,我们将其元素映射到此维度的渐变w.r.t Es进行聚合:

其中当时,否则为0。每个训练步骤涉及执行等式1和2。一旦计算了共享梯度,梯度下降就像往常一样进行。我们以标准方式更新共享权重之外的所有参数。

我们的方法中的参数数量与通道数呈线性关系。但是,渐变可以实际上以每个通道的分布式方式反向传播,因为卷积和嵌入层在这些通道之间是独立的。因此,训练时间与一个通道中的参数数量(如果梯度以分布式方式反向传播)大致呈线性关系。

3 实验设置

3.1 数据集

我们使用三个情绪数据集:电影评论(MR)数据集(Pang和Lee,2005); 顾客评价(CR)数据集(Hu and Liu,2004); 和意见数据集(MPQA)(Wiebe等,2005)。

表1 数据集统计

我们还使用四个涉及系统评价的生物医学数据集。这里的任务是将发表的描述临床试验的文章分类为与指定的临床问题相关或不相关。被认为相关的文章包括在相应的评论中,这是所有相关证据的综合(Wallace等,2010)。我们使用有关评估的数据:氯吡格雷(CL)用于心血管疾病(Dahabreh等,2013); 用于评估肾脏疾病患者贫血(AN)缺铁的生物标志物(Chung et al., 2012); 他汀类(ST)(Cohen等,2006); 和质子束(PB)治疗(Terasawa等, 2009)。

3.2 实施细节和基线

我们使用SentiWordNet(Baccianella et al., 2010)了解情感分析任务。SentiWordNet为 wordnet的每个synset分配三个情绪评分:积极性,消极性和客观性,总和被限制为1。我们只保留积极性或消极性分数大于0的synset,即我们删除被认为是客观的synsets。SentiWordNet中的synsets组成我们的组。我们还在三个情绪数据集上使用Brown聚类算法。我们生成1000个聚类,并将其视为一个群组。

对于生物医学数据集,我们使用每个摘要附带的医学主题标题(MeSH)术语对其进行分类。每个MeSH术语都有一个树形号,表示来自UMLS中根的路径。例如,“Alagille综合征”的树号为“C06.552.150.125”;周期表示树分裂,数字是节点。我们诱导包含MeSH术语的组,其共享相同的前三个父节点,例如具有'C06.552.150'的所有术语,因为它们的树数前缀构成一个组。

我们将方法与几个基线进行比较。所有这些都使用预先训练的词向量表示来初始化Ep,但是我们探索了几种利用Es的方法:(1)随机初始化Es; (2)初始化Es以反映词向量组g,但是在训练过程中不共享权重,即当我们执行反向传播时,不约束其权重等; (3)使用语言资源进行修改(Faruqui et al., 2014)预先的词向量表示,并使用这些来初始化Es。为了进行修改,我们首先构造一个派生自SentiWordNet的图。然后,我们在图上运行置信传播(belief-propagation),以使链接的单词具有相似的向量。这只是一个预处理步骤;我们在训练过程中不施加权重共享限制。

对于情绪数据集,我们为两个CNN通道中的每一个使用三个滤波器高度(3,4,5)。对于生物医学数据集,我们只使用一个过滤器高度(1),因为输入是非结构化的MeSH术语。在这两种情况下,我们使用每个独特高度的100个过滤器。对于情绪数据集,我们使用Google word2vec(Mikolov等,2013)初始化Ep。对于生物医学数据集,我们使用受生物医学文本训练的word2vec(Moen and Ananiadou,2013)来初始化Ep。对于参数估计,我们使用Adadelta(Zeiler,2012)。由于生物医学数据集不平衡,我们采用下采样(Zhang et al., 2016a; Zhang and Wallace,2015)来有效训练数据平衡子集。

我们使用MR情绪数据集开发了我们的方法,调整了我们从可用资源构建组的方法。在完成了模型和超参数之后,对其他情绪数据集进行了实验。同样,我们使用贫血(AN)评估作为生物医学任务的发展,特别是w.r.t.使用UMLS从MeSH术语构建组。

4 结果

我们将每个实验复制五次(每次进行10次交叉验证),并报告这些重复的平均值(最小值,最大值)。情绪和生物医学语料库的结果分别列于表2和表3中。这些利用不同的外部资源来对词分组,反过来启发权重共享。我们报告生物医学数据集的AUC,因为它们是非常不平衡的(见表1)。

表2 情绪数据集的精度度平均值(最小值,最大值)。 'p':通过预先训练的词向量Ep进行通道初始化。 'r':频道随机初始化。 'retro':使用retofitted嵌入进行初始化。 'S / B(无共享)':通过Es初始化信道(使用SentiWordNet或Brown群集),但训练期间权重不共享。 'S / B(共享)':本文提的出权重共享方法。

表3 AUC在生物医学数据集上的平均值(min,max)。缩写如表2所示,除了这里外部资源是UMLS MeSH本体('U')。'U(s)'是利用ULMS提出的权重共享方法。

在所有相关基线(包括通过融入外部知识的一种方法)中,我们的方法在七种情况中,有六种都提高了性能。使用外部资源进行信息权重初始化可以独立改善性能,但通过在训练中实施共享来实现额外的收益。

我们注意到,我们的目标不一定是在任何给定的数据集上实现最先进的结果,而是评估通过权重共享将外部语言资源纳入神经模型的方法。因此,我们比较了使我们能够评估这一点的基线。

5 相关工作

NLP的神经模型。最近NLP研究中一般对神经模型有很大的兴趣(Collobert et al., 2011; Goldberg,2016)。与这项工作最相关的是,简单的基于CNN的模型(我们在这里建立的)已被证明对文本分类非常有效(Kim,2014; Zhang和Wallace,2015)。

开发语言资源。在端对端神经模型中从头开始学习的潜在缺点是无法利用现有知识来源。一直在努力利用这些资源来诱导更好的词向量量(Yu和Dredze,2014; Faruqui et al., 2014; Yu et al., 2016; Xu et al., 2014)。但是,这些模型并不会像在我们这里那样在特定的下游任务(使用单词嵌入作为输入)的训练期间共同利用外部资源。

过去对稀疏线性模型的工作已经显示出在统计NLP模型中利用语言知识的潜力。例如,Yogatama和Smith(2014)使用外部资源来通知对数线性文本分类模型的结构化,分组正则化,产生了超过标准正则化方法的改进。在其他地方,Doshi-Velez等(2015)提出了在主题建模中利用先验已知分词(例如,从UMLS派生的)结构化关系的LDA变体。

神经元共享权重。最近的工作已经考虑了在神经模型中随机分配权重。值得注意的是Chen et al.(2015)提出在神经网络中随机分配权重。在其他地方,Han et al.(2015)提出量化权重共享作为其深度压缩模型的中间步骤。在这些作品中,主要动机是模型压缩,而在这里我们将哈希技巧视为编码领域知识的一种机制。

6 结论

我们提出了一种通过随机权重共享将先验语义知识纳入神经模型的新方法。 我们已经表明,与不利用外部资源的模型变体和改进前人训练模式的方法相比,它大大提高了文本分类性能。在未来的工作中,我们将调查将我们的方法扩展到分类任务以外的领域,并在其他种类和来源的语言知识中实施权重共享。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180420G0HR9R00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券