【IJCAI-2017】KPCNN: 将知识与深度卷积神经网络相结合用于短文本分类


论文链接: Combining Knowledge with Deep Convolutional Neural Networks for Short Text Classification
作者:加州大学计算机科学系、Facebook、微软研究院
来源:IJCAI-17

摘要

文本分类是自然语言处理应用中的一项基本任务。现有的大多数工作都依赖于显式或隐式文本表示来解决这个问题。虽然这些技巧适用于句子,但由于短小精悍,它们不太容易应用于短文本。在本文中,我们提出了一个基于卷积神经网络的框架,结合短文本的显式和隐式表示进行分类。我们首先使用一个大型分类学知识库将一个短文本概念化为一组相关概念。然后在预先训练好的词向量基础上合并词和相关概念,得到短文本的嵌入。我们进一步将字符级别特征合并到我们的模型中,以捕获细粒度子词信息。在5个常用数据集上的实验结果表明,我们提出的方法明显优于最先进的方法。

1 引言

文本分类是网络搜索、广告匹配、情感分析等诸多应用中的一项关键技术。以往的文本分类研究要么依赖于人类设计的特征[Wang and Manning, 2012],要么使用深度神经网络对文本进行分布式表示[Conneau等人,2016]。尽管在句子和文档方面取得了令人印象深刻的进步,但对于短文来说,这些方法仍然存在局限性:

  • 与段落或文档不同,短文本并不总是遵循自然语言的语法。
  • 短文本缺少上下文。
  • 短文本通常有歧义,因为它们包含多义词和拼写错误。
    这些特征是短文本分类的主要挑战。为了克服这些问题,研究者需要从短文本中获取更多的语义和语法信息。达成这一目标的关键方法是使用更先进的文本表示模型。根据利用外部资源的不同方式,以往的文本表示模型可分为显式表示和隐式表示两类。
    单独使用显式或隐式表示进行短文本分类是无效的。对于显式模型,短文本中的语法和语义信息过于微妙,传统的NLP方法无法捕捉。有时,隐式模型也不能很好地工作。在许多实际应用中,像专有名词这样的罕见词经常出现在短文中。此外,正如之前的研究[Hua等人,2015]所述,隐性模型中缺失的IsA关系对短文本理解至关重要。尽管它们有缺陷,如之前的研究[Hu et ., 2016]所示,显式和隐式表示是相互补充的:逻辑规则等显式知识可以整合到深度神经网络中来调节学习过程。我们可以将它们组合起来,将显性知识转化为神经模型。
    在这项工作中,我们提出了一个深度神经网络,使显式和隐式表示的短文本融合。我们首先利用显性知识库来丰富短文本的信息。具体来说,我们将每个短文与其知识库中的相关概念联系起来。接下来,我们结合单词和相关概念的短文本生成它的嵌入使用预先训练的词嵌入。然后我们将这个词-概念嵌入到卷积神经网络(CNN)中,从联合嵌入中学习明确的知识。据我们所知,这是首次结合了显性和隐性表示来理解短文本的工作。
    隐式和显式表示模型为短文本的理解提供了丰富的语义特征,但它们仍然遗漏了一些语义信息。例如,给定一个短文本购买苹果iPhone7,由于“iPhone7”是一个新词,无论是知识库还是预先训练的词嵌入都无法识别它。受字符级语言模型的启发[Kim et al., 2016],我们将输入的词-概念嵌入与字符级嵌入相结合,获得更多的语义特征。我们使用一个单独的只包含字符嵌入的CNN作为输入,将其输出与全连接层主网络的输出连接,作为输出层的特征向量。这样,我们可以获得更多的子词信息,如在词级嵌入中缺失的语素等。在上面的例子中,单词“iPhone7”会提出类似于“iPhone”的特征特征。因为“i-Phone”是包含在知识库中的,所以我们可以通过这种方式来捕捉新词“iPhone7”的含义。
    我们使用单独的卷积神经网络,只嵌入字符作为输入,并将其输出连接到全连接层主网络的输出,作为输出层的特征向量。这样,我们可以获得更多的子词信息,如在词级嵌入中缺失的语素等。

本文的主要贡献总结如下:

  • 我们将相关概念与短文本联系起来,利用显性知识和生成短文本的隐式表示。为了捕获细粒度语义信息,我们还将字符级特征集成到联合嵌入中。
  • 我们利用卷积神经网络建立联合模型来学习合并后的嵌入并进行分类。
  • 我们在五个常用的数据集上进行了大量的实验。结果表明,我们的模型明显优于最先进的方法。

2 相关工作

2.1 短文本理解

近年来,短文本理解已成为一个热门话题。理解短文本最关键的一步是概念化。以往的研究依赖于两种外部知识库[Song等,2011;Wang et al., 2015]或词汇信息[Hua et al., 2015]来获取与短文本相关的概念。要理解短文本,另一个重要任务是评估两篇短文之间的相似度。这个问题已经通过显式表示(Li等,2013)或隐式表示(Kenter和de Rijke, 2015)得到了解决。

2.2 文本分类

传统的文本分类方法依赖于人为设计的特征。最广泛使用的特征是将文本表示为术语向量,即“词袋模型”。其他研究主要集中在生成更复杂的特征上,例如POS tagging and tree kernel。分类器可以使用机器学习算法,如朴素贝叶斯和支持向量机。对于短文本分类任务,以往的研究侧重于利用搜索引擎的上下文信息进行特征扩展[Shen et ., 2006]。然而,这类方法存在严重的数据稀疏性问题。

2.3 神经语言模型

随着分布式词表示和深度神经网络的迅速发展,传统的自然语言处理任务有了许多新的思路。神经语言模型通过用密集向量表示单词来解决数据稀疏问题[Bengio et al., 2003;Pennington等,2014[。通过NLMs得到的嵌入向量能够捕获有意义的句法语义信息,并将语义相近的词映射到诱导的向量空间中。最近有很多关于学习不同粒度文本表征的研究:[Hill等,2016]侧重于学习短语的嵌入,而[Palangi等,2016],[Kalchbrenneret al., 2014]和[Le and Mikolov, 2014]侧重于学习句子的嵌入。文本嵌入使得我们可以通过简单计算嵌入向量之间的距离来测量不同文本之间的相似度。
以固定长度的嵌入向量作为输入,将深度神经网络用于各种类型的自然语言处理任务逐渐成为一种流行的方法。[Socher et al., 2011]介绍了一种使用递归神经网络来捕获句子语法信息的自动编码器。[Socher et al., 2013]提出了用于情感分析的递归神经张量网络。[Collobert et al., 2011]首次使用带有预先训练词嵌入的CNN进行文本分类。[Kim, 2014]通过使用多通道嵌入进一步提高了性能。[Zhang et ., 2015]和[Conneau et ., 2016]提出了仅以字符级信息作为输入的非常深度神经网络。虽然这些方法在大型文档中工作得很好,但由于它们提供的信息有限,它们在短文本中表现不佳。

3 模型设计

在本节中,我们提出了一个名为知识驱动卷积神经网络(KPCNN)的联合模型,使用两个子网络来提取词-概念和字符特征。首先介绍了利用知识库对短文本进行概念化的方法。然后对模型进行了描述,并说明了如何从嵌入的词汇、概念和字符信息中学习特征。

3.1短文本概念化

我们工作的第一步是短文本概念化。我们使用现有的知识库来实现这个目标,例如DBpedia、Yago、Freebase和Probase [Wu等人,2012]。我们将在本文中使用Probase 1。因为与其他知识库相比,Probase对世界事实的概念覆盖更广。此外,Probase还包含了大量的概率信息,可以对短文本的流行度、典型化和分类等进行量化。通过在Probase中利用大量的IsA关系,我们可以得到一个概念列表以及它们与短文的相关性。

3.2 模型的总体架构

在这里插入图片描述
在得到概念化结果后,我们可以将概念知识与短文本的嵌入结合起来。对于词和概念的嵌入,我们使用预先训练的词嵌入,并保持它们的静态。但是由于没有预先训练过的字符层次的嵌入,所以我们应该允许在训练过程中修改字符的嵌入。这样,在训练模型时可以很好地调整字符嵌入。为此,我们提出了一个如图1所示的两分支模型。它由两个部分组成:上子网络用于短文本的词、概念嵌入,下子网络用于字符嵌入。他们都是cnn。通过该模型,我们可以分别从词层和字符层学习到丰富的特征。
上层组件由7层组成:1个输入层、2个卷积层、2个池化层和2个隐藏层。
输入层
卷积层
池化层 池化层的功能是通过聚合每个过滤器的分数来进一步抽象卷积层产生的特征。在这项工作中,我们在每个特征映射上应用了随时间增加的最大池操作。这个想法是在每个维度上选择最高的值来捕捉最重要的特征。使用池化层,我们可以从特征映射中归纳出一个固定长度的向量。

3.1 短文本概念化

我们工作的第一步是短文本概念化。我们使用现有的知识库来实现这个目标,例如DBpedia、Yago、Freebase和Probase [Wu等人,2012]。我们将在本文中使用Probase。因为与其他知识库相比,Probase对世界事实的概念覆盖更广。此外,Probase还包含了大量的概率信息,可以对短文本的流行度、典型化和分类等进行量化。通过在Probase中利用大量的IsA关系,我们可以得到一个概念列表以及它们与短文的相关性。

4 评价

4.1 实验设置

为了证明我们的模型的有效性,我们在五个广泛使用的数据集上进行了实验:TREC, Twitter, AG news, Bing和Movie Review。
在这里插入图片描述

  • TREC:它是Q&A数据集。它涉及6种不同类型的问题,比如问题是关于地点,关于人还是数字信息。
  • Twitter:这是一组推文,包含三种情绪:积极的、中性的和消极的,由数据集的原始作者标记。为了方便使用,我们对数据集进行了预处理:我们删除了tweets中的垃圾信息和引用。对于用其他语言写的推文,我们使用谷歌翻译器将其翻译成英语。我们还删除了不在消息末尾的# hashtag

在我们的模型中有几个超参数。我们是根据经验来设定的。
在这里插入图片描述

4.2 基线

我们比较了我们的方法与几种最先进的方法:两种基于特征的方法和两种基于深度学习的方法。评估每个模型的标准是预测的准确性。

  • Word-Concept Embedding + LR.该基线使用加权词嵌入和概念嵌入来表示每个短文本。对于嵌入Vw∈Rm的加权词,我们使用每个词的tf-idf值作为权重。给定概念向量C,概念嵌入Vc∈Rm是每个概念嵌入的加权平均值
  • BoW + SVM
  • CNN
  • CharCNN
  • WCCNN:这个基线是我们提出的。我们只使用我们所提出模型的上层子网。嵌入矩阵是词嵌入矩阵和概念嵌入矩阵的连接。

4.3 结果讨论

在这里插入图片描述
虽然字符级特征是有用的,但是值得注意的是CharCNN模型[Zhang et al., 2015]在我们的实验中表现不佳。这是因为由于短文本的短性和稀疏性,CharCNN无法捕捉到足够多的仅包含字符级信息的特征。因此,虽然CharCNN可以很好地处理文档级数据集,但它不能有效地解决短文本分类问题。
从以上结果中,我们也可以看到卷积神经网络方法与传统方法相比,取得了更好的效果。主要原因是CNN能够在卷积层中捕捉到不同滤波器大小的更丰富的特征,并从池化层中选择出更多有区别性的特征。
我们的模型也可以与其他词嵌入集成。这里我们使用两种不同的词嵌入方法进行了一些实验:word - concept [Cheng等人,2015]和Glove [Pennington等人,2014]。为了显示不同特性的贡献,我们用三种方法进行测试。CNN是一种只在短文本中嵌入单词的方法。WC是只有上子网的WCCNN模型。KP是我们的KPCNN模型。结果如图2所示。
在这里插入图片描述
我们可以看到,使用Glove和WordConcept嵌入的整体效果不如word2vec嵌入的好。主要原因是与word2vec相比,这两种嵌入方法的生词太多。每个数据集中未知单词的数量如表4所示。我们可以看到,在所有的数据集中,word2vec中的未知单词较少。在TREC数据集中,词-概念嵌入不能识别超过三分之一的单词。在这种情况下,大部分单词的嵌入向量被随机初始化,将严重影响短文本表示的质量。
从图2的结果中,我们可以进一步得出结论,概念化和角色级别信息确实有助于提高整体性能。在词-概念嵌入方面,KP的准确率比CNN高12%。这是因为word - concept利用额外的知识来源来学习上下文词的表示。词汇的隐式表征包括词汇的内在向量和最符合语境的概念向量的组合。因此KP模型可以充分利用短文本的联合表示,比CNN模型获得更好的精度。
最后,从图2可以看出KPCNN的准确率比其他两个模型提高了7%。这是因为字级嵌入不能处理词汇量外的单词。当Glove和Word-Concept嵌入中未知词的数量较大时,这一现象更加明显。在字符级信息的帮助下,我们可以很容易地解决这个问题。

5 结论

在本文中,我们提出了一种新的模型,利用显式和隐式表示来进行短文本分类。我们在一个众所周知的知识库的帮助下,通过概念化它们来丰富短文本特性。我们将相关的概念和单词结合起来,生成短文本的嵌入。我们还利用字符级别信息来增强短文本的嵌入。以这样的嵌入作为输入,我们在CNN的基础上建立一个联合模型来进行分类。在真实数据上的实验表明,我们的方法在短文本分类方面取得了显著的改进。


总结

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值