返回介绍

数学基础

统计学习

深度学习

工具

Scala

十七、PTE [2015]

发布于 2023-07-17 23:38:24 字数 86583 浏览 0 评论 0 收藏 0

  1. 学习有意义且有效的文本(例如worddocument)的 representation ,是许多机器学习任务(例如文本分类、文本聚类、文本检索)的关键前提条件。传统上,每个word都相互独立地表示,并且每个document都表示为 bag-of-words。然而,这两种representation 都存在数据稀疏、多义性polysemy 、同义性synonymy 等问题,因为在这两种representation 中不同word之间的语义相关性semantic relatedness 通常被忽略。

    worddocument的分布式representation 通过在低维空间中表达worddocument,从而有效地解决了这个问题。在这个低维空间中,相似的word/document彼此紧密地嵌入。这些方法的基本思想来自于分布式假设 distributional hypothesis :一个单词的意义是由它的使用环境所形成的 (you shall know a word by the company it keeps )。 《Distributed representations of words and phrases and their compositionality》 提出了一种简单而优雅的 word embedding 模型,称作 SkipGramSkipGram 使用 target wordembedding 来预测局部窗口 local window 中每个单独的 context wordembedding《Distributed representations of sentences and documents》 进一步扩展了这一思想,并提出了 Paragraph Vector 从而嵌入任意的文本片段,例如sentencedocument。其基本思想是:使用 sentence/documentembedding 来预测 sentence/documentwordembedding 。和也利用 word context 的分布式相似性distributional similarity 的其它经典方法(如布朗聚类 Brown clustering、最近邻法)相比,这些 text embedding 方法已被证明是非常有效的,可以在单台机器上扩展到数百万个 document

    由于采用无监督学习,通过这些 text embedding 模型学到的 representation 足够通用,可以应用于分类classification 、聚类clustering、以及排序ranking 等各种任务。然而,和端到端的复杂的深度学习方法(如卷积神经网络)相比时,text embedding 的性能通常在特定任务上达不到要求。这毫不奇怪,因为深度神经网络在学习数据 representation 时充分利用了可用于任务的 label 信息。大多数 text embedding 方法在学习 representation 时都无法考虑 label 信息。只有在使用训练好的 representation 作为特征来训练分类器时,label 才会被使用。换句话讲,无监督的 text embedding 对于不同的任务是可泛化generalizable 的,但是对于特定任务的预测能力较弱。

    尽管存在这一缺陷,但是和深度神经网络相比,text embedding 方法仍有相当大的优势。

    • 首先,深度神经网络(尤其是卷积神经网络)的训练是计算密集型的,在处理大量数据的时候通常需要多个 GPUCPU 集群。
    • 其次,卷积神经网络通常假设大量的标记样本可用,这在许多任务中是不现实的。对于容易获取的未标记数据,卷积神经网络通常使用预训练的方式来间接利用。
    • 第三,卷积神经网络的训练需要多许多超参数进行详尽的调优,即使对于专家而言也是非常耗时的,而对于非专家而言是不可行的。

    另一方面,像 SkipGram 这样的 text embedding 方法效率更高、更容易调优、并且天然地适应于未标记数据。

    在论文 《PTE:Predictive Text Embedding through Large-scale Heterogeneous Text Networks》 中,作者通过提出 predictive text embedding: PTE 来填补这一空白。PTE 具有无监督 text embedding 的优点,但是在 representation learning 过程中自然地利用了标记信息。通过 PTE,我们可以从有限的标记样本和大量的未标记样本中联合学习有效的低维 representation 。与无监督 embedding 相比,这种 representation 针对特定任务进行了优化,就像卷积神经网络所作的那样。即,PTE 学到的 representation 对特定的分类任务具有很强的预测能力。

    PTE 自然地扩展了作者之前的无监督信息网络 embedding 工作(《Line: Large-scale information network embedding》),并首先提出通过异质文本网络heterogeneous text networt 学习word 的低维 embedding 。该网络对 word-wordword-documentword-label 之间不同 level 的共现信息co-occurrence information 进行编码。该网络被嵌入到一个低维向量空间中,该空间保留了网络中顶点之间的二阶邻近性second-order proximity 。任意一段文本(例如 sentencedocument)的 representation 可以简单地推断为 word representation 的均值,结果证明这是非常有效的。整个优化过程仍然非常高效,在单台机器上可以扩展到数百万个 document 和数十亿个 token

    论文对现实世界的文本语料库进行了广泛的实验,包括 long documentshort document 。实验结果表明:PTE 在各种文本分类任务中显著优于 state-of-the-art 的无监督 embedding。与用于文本分类的端到端卷积神经网络相比,PTElong document 上表现更好、在 short document 上表现相当。与卷积神经网络相比,PTE 具有各种优势,因为它更高效、有效地利用大规模未标记数据,并且对模型超参数不太敏感。作者相信PTE 的探索指向了一个学习 text embedding 的方向,该方向可以在特定任务中与深度神经网络进行正面竞争。

    总而言之,论文的贡献如下:

    • 论文提出以半监督的方式学习 predictive text embedding。未标记数据和标记信息被集成到一个异质文本网络中,该网络包含不同 level 的文本共现信息。
    • 论文提出了一种高效的算法 PTE,它通过将异质文本网络嵌入到低维空间中来学习文本的分布式 representation 。该算法非常有效,几乎没有需要调优的超参数。
    • 论文使用各种真实世界的数据集进行了广泛的实验,并将 PTE 与无监督 text embedding、卷积神经网络进行了比较。
  2. 相关工作:我们的工作主要涉及分布式文本 representation learning 和信息网络 embedding

    • Distributed Text Embedding:文本的分布式 representation 已被证明在许多自然语言处理任务中非常有效,例如单词类比 word analogy、词性标注 POS taggingparsing、语言建模 language modeling 、以及情感分析sentiment analysis 。现有的方法通常可以分为两类:无监督方法、监督方法。

      • 最近提出的无监督方法通常通过在局部上下文 local context (例如 SkipGram)或者 document 级别(例如 Paragraph Vector ),利用 word co-occurrence 来学习 word/documentembedding 。这些方法非常有效,可以扩展到数百万个 document
      • 监督方法通常基于深度神经网络架构,例如 recursive neural tensor network: RNTNconvolutional neural network: CNN。在 RNTN 中,每个 word 都嵌入到一个低维向量中,并且通过在 parse tree 中的子短语 sub-phrase 或者 word 上应用相同的、基于张量tensor-based 的组合函数composition function 来递归学习短语 phraseembedding 。在 CNN 中,每个 word 也用一个向量来表示,并且在 sentence 的不同位置的上下文窗口上应用相同的卷积核,然后是一个最大池化层和一个全连接层。

      这两类方法之间的主要区别在于它们如何在 representation learning 阶段利用标记信息和未标记信息。无监督方法在 representation learning 时不包含标记信息,仅在将数据转换为学到的 representation 之后,才使用 label 来训练分类器。RNTNCNNlabel 直接结合到 representation learning 中,因此学到的 representation 特别针对分类任务进行了调优。然而,为了融合未标记的样本,这些神经网络通常必须使用间接方法,例如使用无监督方法预训练 word embedding 。和这两类方法相比,PTE 以半监督方式学习 text embeddingrepresentation learning 算法直接利用标记信息和大量的未标记数据。

      predictive word embedding 类似的另一项工作是 《Learning word vectors for sentiment analysis》,该工作学习特别针对情感分析调优的 word embedding 。然而,他们的方法无法扩展到数百万个 document,也无法推广到其它分类任务。

    • Information Network Embedding:我们的工作还与 network/graph embedding 问题有关,因为 PTEword representation 是通过异质文本网络 heterogeneous text network 学到的。

      network/graph 嵌入到低维空间,这在各种应用中非常有用,例如节点分类、链接预测。MDSIsoMapLaplacian eigenmap 等经典 graph embedding 算法不适用于嵌入包含数百万个顶点、数十亿条边的大型网络。

      最近有一些工作试图嵌入非常大的现实世界网络。《Deepwalk: Online learning of social representations》 提出了一种叫做 DeepWalknetwork embedding 模型,该模型在网络上使用截断的随机游走,并且仅适用于具有二元边的网络。我们先前的工作提出了一种新的大规模网络嵌入模型,称作 LINELINE 适用于任意类型的信息网络,无向或有向、二元边或者带权边。LINE 模型优化了一个目标函数,该目标函数旨在保持局部网络结构 local network structure 和全局网络结构 global network structureDeepWalkLINE 都是无监督的,只能处理同质网络homogeneous networkPTE 使用的 network embedding 算法扩展了 LINE 从而处理异质网络(网络中存在多种类型的顶点和边)。

17.1 模型

17.1.1 基本概念

  1. 让我们从正式定义 predictive text embedding 问题(通过异质文本网络)来开始。与学习文本的通用语义representation 的无监督 text embedding 方法(包括 SkipGramParagraph Vector )相比,我们的目标是学习针对给定文本分类任务优化的文本 representation 。换句话讲,我们期待 text embedding 对给定任务的性能具有很强的预测能力。基本思想是:在学习 text embedding 时结合标记信息和未标记信息。为了实现这一点,首先需要有一个统一的 representation 对这两类信息(标记的和未标记的)进行编码。在本文中,我们提出了不同类型的网络来实现这一点,包括 word-word co-occurrence networkword-document networkword-label network

  2. word-word co-occurrence networkword-word 共现网络表示为Gw,w=(V,Ew,w)$ G_{w,w} = (\mathcal V, \mathcal E_{w,w}) $ ,它捕获了未标记数据的局部上下文local context 中的 word 共现信息。V$ \mathcal V $ 为 word 的词表 vocabularyEw,w$ \mathcal E_{w,w} $ 为 word 之间的边的集合(共现关系)。wordvi$ v_i $ 和vj$ v_j $ 之间的边的权重wi,j$ w_{i,j} $ 定义为:这两个word 在给定窗口大小的上下文窗口中同时出现的次数。

  3. word-word 网络捕获局部上下文中的 word 共现,这是现有 word embedding 方法(如 SkipGram )使用的基本信息。除了局部上下文之外,document levelword 共现也在经典的文本 representation 中被广泛探索,例如统计主题模型 statistical topic model(如 latent Dirichlet allocation: LDA)。为了捕获 document levelword 共现,我们引入了另一个网络,即 word-document 网络。

  4. word-document networkword-document 网络表示为二部图Gw,d=(VD,Ew,d)$ G_{w,d} = ( \mathcal V\cup \mathcal D , \mathcal E_{w,d}) $ ,其中D$ \mathcal D $ 为 document 的集合,V$ \mathcal V $ 为 word 的集合,Ew,d$ \mathcal E_{w,d} $ 为 worddocument 的链接构成的边集合。wordvi$ v_i $ 和 documentdj$ d_j $ 之间的边的权重wi,j$ w_{i,j} $ 定义为:wordvi$ v_i $ 出现在 documentdj$ d_j $ 中的频次。

  5. word-word 网络和 word-document 网络对大规模语料库中的未标记信息进行编码,在局部上下文 leveldocument level 捕获 word 共现。为了对标记信息进行编码,我们引入了 word-label 网络,该网络在 category-level 捕获 word 共现。

  6. word-label networkword-label 网络表示为二部图Gw,l=(VL,Ew,l)$ G_{w,l} = (\mathcal V\cup \mathcal L,\mathcal E_{w,l}) $ ,其中L$ \mathcal L $ 为 class 的集合,V$ \mathcal V $ 为 word 的集合,Ew,l$ \mathcal E_{w,l} $ 为 wordclass 的链接构成边的集合。Gw,l$ G_{w,l} $ 捕获了 category-levelword 共现。wordvi$ v_i $ 和 classcj$ c_j $ 之间的边的权重wi,j$ w_{i,j} $ 定义为:wi,j=(d:ld=j)nd,i$ w_{i,j} = \sum_{(d:l_d = j)} n_{d,i} $ ,其中nd,i$ n_{d,i} $ 为 documentd$ d $ 中 wordvi$ v_i $ 出现的频次,ld$ l_d $ 为 documentd$ d $ 的 class label

  7. 上述三种网络可以进一步融合为一个异质文本网络heterogeneous text network (如下图所示)。

    Heterogeneous Text Network:异质文本网络是由标记文本数据和未标记文本数据共同构建的 word-word 网络、word-document 网络、word-label 网络的组合。它捕获不同 levelword 共现,并同时包含标记信息和未标记信息。

    注意,异质文本网络的定义可以推广到融合其它类型的网络,例如 word-sentence 网络、word-paragraph 网络、document-label 网络等等。在这项工作中,我们使用三种类型的网络(word-wordword-documentword-label)作为说明性示例。我们特别关注 word 网络,以便首先将 word 表示为低维空间。然后可以通过聚合 word representation 来计算其它文本单元(如 stentenceparagraph)的 representation

    子网的构建需要结合具体任务,并且对任务性能产生重大影响。但是论文并未给出子网构建的原则。可以借鉴的是:这里的 word-word 捕获局部共现、word-document 捕获全局共现。

  8. 最后,我们正式定义 predictive text embedding 问题如下:

    Predictive Text Embedding:给定具有标记信息和未标记信息的大量文本数据,predictive text embedding 问题旨在通过将由文本数据构建的异质文本网络嵌入到低维向量空间中从而学习 word 的低维 representation

  9. 接下来我们将介绍通过异质文本网络学习 predictive text embedding 的方法。我们的方法首先将异质文本网络嵌入到低维空间来学习 word 的向量 representation ,然后根据学到的 word embedding 推断 text embedding 。由于异质文本网络由三个二部图组成,我们首先介绍一种嵌入单个二部图的方法。

17.1.2 二部图 Embedding

  1. 在我们之前的工作中,我们引入了 LINE 模型来学习大规模信息网络的 embeddingLINE 主要是为同质网络而设计的,即具有相同类型节点的网络。LINE 无法直接应用于异质网络,因为不同类型边的权重不具有可比性。在这里,我们首先将 LINE 模型用于嵌入二部图。基本思想是:利用顶点之间的二阶邻近性,假设具有相似邻域的顶点彼此相似,因此应该在低维空间中紧密地表示。

    对于二部图,假设顶点A$ A $ 和顶点B$ B $ 具有相似的邻域,则暗示了A$ A $ 和B$ B $ 的顶点类型相同。

  2. 给定一个二部图G=(VAVB,E)$ G=(\mathcal V_A\cup \mathcal V_B, \mathcal E) $ ,其中VA$ \mathcal V_A $ 和VB$ \mathcal V_B $ 是不同类型的、两个不相交的顶点集合,E$ \mathcal E $ 是它们之间的边的集合(相同类型顶点之间不存在边,只有不同类型顶点之间才存在边)。我们首先将集合VB$ \mathcal V_B $ 中顶点vj$ v_j $ 生成集合VA$ \mathcal V_A $ 中顶点vi$ v_i $ 的条件概率定义为:

    p(vivj)=exp(uiuj)viVAexp(uiuj)

    其中:ui$ \mathbf{\vec u}_i $ 为VA$ \mathcal V_A $ 中顶点vi$ v_i $ 的 embedding 向量,uj$ \mathbf{\vec u}_j $ 为VB$ \mathcal V_B $ 中顶点vj$ v_j $ 的 embedding 向量。

    对于VB$ \mathcal V_B $ 中的每个顶点vj$ v_j $ ,上式给出了一个定义在VA$ \mathcal V_A $ 中所有顶点上的条件分布p(vj)$ p(\cdot\mid v_j) $ 。对于VB$ \mathcal V_B $ 中的每对顶点vj,vj$ v_j,v_{j^\prime} $ ,它们的二阶邻近性second-order proximity 可以由它们的条件分布p(vj)$ p(\cdot\mid v_j) $ 、p(vj)$ p(\cdot\mid v_{j^\prime}) $ 来决定。为了保持二阶邻近性,我们可以使条件分布p(vj)$ p(\cdot\mid v_j) $ 接近其经验分布p^(vj)$ \hat p (\cdot\mid v_j) $ ,这可以通过最小化以下目标函数来实现:

    O=vjVBλjdist(p^(vj),p(vj))

    其中:

    • dist(,)$ \text{dist}(\cdot,\cdot) $ 为两个分布之间的距离函数,这里采用 KL-divergence 函数。
    • λj$ \lambda_j $ 为顶点vj$ v_j $ 在网络中的重要性,我们设置为顶点的 degreedegj=iwi,j$ \text{deg}_j = \sum_i w_{i,j} $ 。
    • 经验分布p^(vj)$ \hat p (\cdot\mid v_j) $ 定义为p^(vivj)=wi,jdegj$ \hat p (v_i\mid v_j) = \frac{w_{i,j}}{\text{deg}_j} $ 。

    忽略常数项,则上述目标函数重写为:

    O=(vi,vj)Ewi,jlogp(vivj)

    我们可以采用带边采样edge sampling 和负采样 nagative sampling 的随机梯度下降法来求解该最优化问题。在梯度下降的每一步:

    • 首先以正比于权重wi,j$ w_{i,j} $ 的概率随机采样一条二元边 binary edgee=(vi,vj)$ e=(v_i,v_j) $ ,即 edge sampling
    • 然后通过noise distributionpn(j)$ p_n(j) $ 来随机采样若干条负边,即 nagative sampling

    采样过程解决了学习 network embedding 中随机梯度下降的重大缺陷。详细的优化过程可以参考 LINE 的原始论文。

  3. word-word 网络、word-document 网络、word-label 网络的 embedding 都可以通过上述模型来学习。注意,word-word 网络本质上是一个二部图,可以将每条无向边视为两条有向边,并且将VA$ \mathcal V_A $ 视为源顶点的集合、VB$ \mathcal V_B $ 视为目标顶点的集合。因此,我们可以定义条件概率p(vivj),p(vidj),p(vilj)$ p(v_i\mid v_j), p(v_i\mid d_j),p(v_i\mid l_j) $ ,然后通过优化目标函数来学习 embedding

17.1.2 异质文本网络 Embedding

  1. 异质文本网络由三个二部图组成:word-word 网络、word-document 网络、word-label 网络,其中 word 顶点在三个网络之间共享。为了学习异质文本网络的 embedding,一种直观的方法是共同嵌入三个二部图,这可以通过最小化以下目标函数来实现:

    Opte=Ow,w+Ow,d+Ow,lOw,w=(vi,vj)Ew,wwi,jlogp(vivj)Ow,d=(vi,vj)Ew,dwi,jlogp(vidj)Ow,l=(vi,vj)Ew,lwi,jlogp(vilj)

    上述目标函数可以通过不同的方式进行优化,具体取决于如何使用标记信息(即 word-label 网络)。

    • 一种解决方案是同时使用未标记数据(word-word 网络和 word-document 网络)和标记数据训练模型。我们称这种方法为联合训练 joint training
    • 另一种解决方案是首先使用未标记数据来学习 embedding,然后使用 word-label 网络来微调 embedding 。这是受到深度学习文献中预训练和微调 pre-training and fine-tuning 思想的启发。
  2. 在联合训练中,所有三种类型的网络一起使用。优化目标Opte$ O_\text{pte} $ 的直接解决方案是合并三个集合Ew,w,Ew,d,Ew,l$ \mathcal E_{w,w},\mathcal E_{w,d},\mathcal E_{w,l} $ 中的所有边,然后执行边采样 edge sampling (在每个 step 中对边进行采样从而进行模型更新,采样概率与边的权重成正比)。然而,当网络是异质的时候,不同类型顶点之间的边的权重是不可比的。更合理的解决方案是从三组边中交替采样。

  3. PTE 联合训练算法:

    • 输入:

      • 异质文本网络的三个子网Gw,w,Gw,d,Gw,l$ G_{w,w},G_{w,d},G_{w,l} $
      • 采样数量T$ T $
      • 负采样比例K$ K $
    • 输出:所有单词的 embeddingU$ \mathbf U $

    • 算法步骤:

      循环迭代,直到迭代了T$ T $ 个 step 。迭代过程为:

      • Ew,w$ \mathcal E_{w,w} $ 采样一条正边和K$ K $ 个负边,更新 word embedding
      • Ew,d$ \mathcal E_{w,d} $ 采样一条正边和K$ K $ 个负边,更新 word embeddingdocument embedding
      • Ew,l$ \mathcal E_{w,l} $ 采样一条正边和K$ K $ 个负边,更新 word embeddinglabel embedding
  4. PTE 预训练和微调算法:

    • 输入:

      • 异质文本网络的三个子网Gw,w,Gw,d,Gw,l$ G_{w,w},G_{w,d},G_{w,l} $
      • 采样数量T$ T $
      • 负采样比例K$ K $
    • 输出:所有单词的 embeddingU$ \mathbf U $

    • 算法步骤:

      预训练阶段:循环迭代,直到迭代了T$ T $ 个 step 。迭代过程为:

      • Ew,w$ \mathcal E_{w,w} $ 采样一条正边和K$ K $ 个负边,更新 word embedding
      • Ew,d$ \mathcal E_{w,d} $ 采样一条正边和K$ K $ 个负边,更新 word embeddingdocument embedding

      微调阶段:循环迭代,直到迭代了T$ T $ 个 step 。迭代过程为:

      • Ew,l$ \mathcal E_{w,l} $ 采样一条正边和K$ K $ 个负边,更新 word embeddinglabel embedding
  5. Text Embedding:异质文本网络对不同 levelword co-occurrence 进行编码,这些编码是从未标记数据和特定分类任务的标记信息中提取的。因此,通过嵌入异质文本网络学习的 word representation 不仅更加鲁棒,而且针对该特定任务进行了优化。一旦学到了 word vector,就可以通过简单地对这段文本中 word 的向量求均值来获得任意一段文本的 representation 。即,一段文本d={w1,w2,,wn}$ d=\{w_1,w_2,\cdots,w_n\} $ 的向量 representation 可以计算为:

    d=1ni=1nui

    其中ui$ \mathbf{\vec u}_i $ 为 wordwi$ w_i $ 的 embedding 向量。

    事实上,word embedding 的均值是最小化以下目标函数的最优解:

    O=i=1nloss(ui,d)

    其中loss(,)$ \text{loss}(\cdot,\cdot) $ 为 word embeddingtext embedding 之间的、欧式距离的损失函数。

    与之相关的是 paragraph vector 的推断过程,它的目标函数相同但是具有不同的损失函数:

    loss(ui,d)=11+exp(uid)

    然而这个损失函数对应的目标函数没有闭式解close form solution ,因此必须通过梯度下降算法来优化。

17.2 实验

  1. 数据集:我们选择了长文document、短document两种类型的数据集:

    • document数据集:

      • 20newsgroup 数据集:广泛使用的文本分类数据集,包含 20 个类别。
      • wiki 数据集:20104 月的维基百科数据集,包含大约 200 万篇英文文章。我们仅保留 2010 年维基百科中出现的常见词汇。我们选择了七种不同类别,包括 Art, History, Human, Mathematics, Nature, Technology, Sports 。每种类别我们随机选择 9000 篇文章作为标记的document 来训练。
      • Imdb 数据集:一个情感分类数据集。为避免训练数据和测试数据之间的分布偏差,我们随机混洗了训练数据和测试数据。
      • RCV1 数据集:一个大型文本分类基准语料库。我们从数据集中抽取了四个子集,包括 Corporate, Economics, Government, Market 。在 RCV1 数据集中,文档已经被处理为 bag-of-word: BOW 的格式,因此 word 的顺序已经被丢失。
    • document数据集:

      • DBLP 数据集:包含来自计算机科学领域论文的标题。我们选择了六个领域的论文,包括 database, arti cial intelligence, hardware, system, programming languages, theory 等。对于每个领域,我们选择该领域具有代表性的会议并收集该会议中发表的论文作为标记的 document
  • MR 数据集:一个电影评论数据集,每条评论仅包含一个 sentence

    • Twitter 数据集:用于情感分类的 Tweet 语料库。我们从中随机抽取了 120Tweets 然后拆分为训练集和测试集。

我们并没有在原始数据上执行进一步的文本归一化text normalization ,如删除停用词或者词干化。下表给出了数据集的详细统计信息。

  1. baseline 方法:我们将 PTE 算法和其它的文本数据 representation learning 算法进行比较,包括经典的 BOW 算法、 state-of-the-art 的无监督 text embedding 、以及 state-of-the-art 的监督 text embedding 方法。

    • BOW:经典的 BOW 方法。每篇文档使用一个|V|$ |\mathcal V| $ 维的向量来表达,向量第i$ i $ 个元素为wordvi$ v_i $ 的 TFIDF 值。

    • SkipGram:根据 SkipGram 训练得到 word embedding,然后我们使用word embedding 的均值来作为 document embedding

    • PVDBOW:一种 paragraph embedding 模型,其中documentword 的顺序被忽略。

    • PVDM :另一种paragraph embedding 模型,其中documentword 的顺序被考虑。

    • LINE:我们之前的工作提出的大规模信息网络 embedding 模型。我们使用 LINE 模型分别学习 word-word 网络和 word-dococument 网络,分别记作LINE(Gw,w),LINE(Gw,d)$ \text{LINE}(G_{w,w}),\text{LINE}(G_{w,d}) $ 。另外,我们也考虑联合学习 word-word 网络和 word-document 网络,记作LINE(Gw,w,Gw,d)$ \text{LINE}(G_{w,w},G_{w,d}) $ 。

    • CNN:基于卷积神经网络 CNN 模型来监督学习 text embedding。尽管原始论文用于建模sentence,我们这里将其改编为适用于长文本在内的一般word 序列。尽管CNN 通常适用于完全标记的 documnet,但是它也可以通过无监督的 word embedding 从而对模型进行预训练来利用未标记数据,这被记作 CNN(pretrain)

    • PTE:我们提出的、学习predictive text embedding 的方法。PTE 有多种变体,它们使用 word-wordword-documentword-label 的不同组合。

      • PTE(Gw,l)$ \text{PTE}(G_{w,l}) $ 为仅使用 word-label 的版本。
      • PTE(Gw,w,Gw,l)$ \text{PTE}(G_{w,w}, G_{w,l}) $ 为使用 word-wordword-label 的版本。
      • PTE(Gw,d,Gw,l)$ \text{PTE}(G_{w,d},G_{w,l}) $ 为仅使用 word-documentword-label 的版本。
      • PTE(pretrain)$ \text{PTE(pretrain)} $ 为使用 word-wordword-document 进行无监督训练,然后使用 word-label 来微调的版本。
      • PTE(joint) 为联合训练异质文本网络的版本。
  2. 实验配置:

    • SkipGram, PVDBOW, PVDM, PTE, PTE 模型:

      • 随机梯度下降的 mini-batch size 设为 1
      • 学习率设为ρt=ρ0(1t/T)$ \rho_t = \rho_0(1-t/T) $ ,其中 T 为总的迭代步数,ρ0=0.025$ \rho_0 = 0.025 $ 。
      • 负采样次数为 K=5
    • SkipGram, PVDBOW, PVDM, PTE 模型:word-word 网络共现窗口大小为 5

    • CNN 模型:我们使用 《Convolutional neural networks for sentence classi cation》 中的 CNN 结构。该结构使用一个卷积层,然后是最大池化层和全连接层。卷积层的窗口大小设为 3feature map 数量设为 100,随机选择训练集的 1% 作为验证集来执行早停。

    • 所有embedding 模型的词向量维度为 100

    注意:对于 PTE 模型,默认情况下在不同数据集上,超参数均按照上述设置。唯一需要调整的超参数的边采样中的样本数T$ T $ ,它可以较为安全地设为较大的值。

  3. 评估方式:一旦构建或学习了 document 的向量representation,我们就会使用相同的训练数据集应用相同的分类过程。具体而言,训练集中的所有文档都用于 representation learning 阶段和classifier learning 阶段。

    • 如果使用无监督 embedding 方法,则在 representation learning 阶段不使用 document 的类别标签,仅在classifier learning 阶段使用类别标签。
    • 如果使用 predictive embedding 方法,则同时在这两个阶段都使用类别标签。

    对于测试数据集,我们在这两个阶段都留出 hold-out 标签数据和 document 文本。

    注意:在 representation learning阶段保留所有测试数据,即这一阶段模型看不到测试数据的标签、也看不到测试数据的文本。

    在分类阶段,我们使用 LibLinear package 中的 one-vs-rest 逻辑回归模型,并评估 micro-Fmacro-F1 指标。每一种配置我们都执行十次,并报告指标的均值和方差。

17.2.1 实验结果

  1. 我们在 20NG,Wiki,IMDB 数据集上的长文本效果对比如下。

    首先我们比较无监督 text embedding 方法,可以看到:

    • 具有 document-levelword 共现的LINE(Gw,d)$ \text{LINE}(G_{w,d}) $ 的效果,在无监督 embedding 中表现最好。
    • PVDM 性能不如 PVDBOW,这和原始论文中的结论不同。不幸的是我们始终无法得出他们的结论。

    然后我们比较 predictive embedding 方法,可以看到:

    • PTE(Gw,d,Gw,l)$ \text{PTE}(G_{w,d},G_{w,l}) $ 或者PTE(joint) 效果最好。
    • 所有带 word-label 网络PTE 方法都超越了对应的无监督方法(即 LINE 模型),这表明了在监督学习下 predictive text embedding 的强大能力。
    • PTE(joint) 超越了PTE(Gw,l)$ \text{PTE}(G_{w,l}) $ ,这表明了使用未标记数据可以显著改善监督学习的质量。
    • PTE(joint) 也超越了PTE(pretrain),这表明联合训练未标记数据和标记数据,要比将它们分别独立训练并微调更有效。
    • 另外我们通过LINE(Gw,l+Gw,d)$ \text{LINE}(G_{w,l} + G_{w,d}) $ 学到的单词 embedding 来对 CNN进行预训练,然后使用 label 信息对其进行微调。出乎意料的是:预训练 CNN20NGIMDB 数据集上显著提高,并且在 Wiki 上几乎保持不变。这意味着训练良好的无监督 embeddingCNN 进行预训练非常有用。
    • 但是,即使是预训练的 CNN,其性能仍然不如 PTE(joint) 。这可能的因为 PTE 模型可以联合训练标记数据和未标记数据,而 CNN 只能通过预训练和微调两阶段来各自独立的使用标记数据和未标记数据。
    • PTE(joint) 也始终优于经典的 BOW 模型,尽管 PTE(joint)embedding 向量维度远小于 BOW 的向量维度。

  2. 我们在 RCV1 数据集上的长文本效果对比如下。由于word 之间的顺序丢失,因此要求保留word 顺序信息的 embedding 方法不适用。这里我们观察到了类似的结论:

    • predictive embedding 方法超越了无监督 embedding
    • PTE(joint) 方法比 PTE(pretrain) 方法更有效。

  3. 我们比较了 CNNPTE(joint)IMDB 数据集上的训练实践。我们采用异步随机梯度下降算法,在 1T 内存、2.0G HZ40CPU 上执行。平均而言 PTE(joint) 要比 CNN10 倍以上。当使用 pretrain 时,CNN 虽然训练速度加快,但是仍然比 PTE(joint) 慢 5倍以上。

  4. 我们在短文本上比较了模型性能如下。

    首先我们比较无监督 text embedding 方法,可以看到:

    • 结合了 document-levellocal-context levelword 共现的LINE(Gw,w,Gw,d)$ \text{LINE}(G_{w,w},G_{w,d}) $ 效果最好。
    • 使用局部上下文级别 word 共现的LINE(Gw,w)$ \text{LINE}(G_{w,w}) $ 要优于使用document级别 word 共现的LINE(Gw,d)$ \text{LINE}(G_{w,d}) $ 。这和长文本实验中结论相反。这是因为在短文本中,document 级别的 word 共现非常稀疏。我们在主题模型中也观察到了类似的结果。
    • PVDM 性能仍然不如 PVDBOW 性能,这和长文本中结论一致。

    然后我们比较 predictive embedding 方法,可以看到:

    • PTEDBLP,MR 数据集上性能最佳,CNNTwitter 数据集上性能最好。

    • 融合了word-label 网络的 PTE 方法超越了对应的无监督embedding 方法(即 LINE 模型),这和长文本中结论一致。

    • PTE(joint) 超越了PTE(Gw,l)$ \text{PTE}(G_{w,l}) $ ,这证明了融合未标记数据的有效性。

    • PTE(joint) 超越了 PTE(pretrain),这证明了对标记数据和未标记数据联合训练的优势。

    • 我们观察到 PTE(joint) 并不能始终超越 CNN。原因可能是单词歧义 ambiguity 问题,这类问题在短文本中更为严重。

      CNN 通过在卷积核中使用局部上下文的word 顺序来减少单词歧义问题,而 PTE 抛弃了word 顺序。我们相信:如果利用了word 顺序,则 PTE 还有很大提升空间。

17.2.2 标记数据 & 未标记数据

  1. 我们考察标记样本规模的变化对 CNNPTE 的影响。我们考虑两种模式:

    • 监督学习:不包含未标记数据。如PTE(Gw,l)$ \text{PTE}(G_{w,l}) $ 、CNN
    • 半监督学习:包含未标记数据。如 PTE(joint)CNN 等。

    在半监督学习中,我们还比较了经典的半监督方法:带 EM 的朴素贝叶斯NB+EM、标签传播算法 label propagation:LP

    可以看到:

    • CNNPTE 随着标记数据规模的增加,性能持续改善。
    • 在监督学习的 CNNPTE(Gw,l)$ \text{PTE}(G_{w,l}) $ 之间,PTE(Gw,l)$ \text{PTE}(G_{w,l}) $ 均优于CNN 或可与 CNN 媲美。
    • 在半监督学习的 CNN(pretrain)PTE(joint) 之间,PTE(joint) 始终优于 CNN(pretrain)
    • PTE(joint) 还始终优于经典的 NB+EMLP 方法。

    另外我们还注意到:

    • 当标记数据规模不足时,使用无监督 embedding 的预训练 CNN非常有效,尤其是在短文本上。当训练样本太少时,它甚至优于所有的 PTE
    • 当标记数据规模增加时,预训练 CNN 并不总是能够改善其性能,如 DBLPMR 数据集。
    • 对于 SkipGram 模型,增加标记数据规模几乎不会进一步改善其性能。
    • DBLP 数据集上,当标记样本太少时 PTE 性能甚至不如 SkipGram 。原因是当标记数据太少时,word-label 网络的噪音太多。PTEword-label 网络与噪音较少的 word-word, word-document 网络同等对待。一种解决办法是:在标签数据不足时,调整 word-label, word-word, word-document 网络的采样概率。

  2. 我们考察未标记数据规模的变化对 CNN(pretrain)PTE 的影响。由于篇幅有限,这里我们仅给出 20NGDBLP 数据集的效果。对于 CNN,未标记数据可用于预训练。对于 PTE,未标记数据可用于预训练或联合训练。

    20NG 数据集上,我们使用 10% 文档作为标记数据,剩余文档作为未标记数据;在 DBLP 数据集上,我们随机抽取其它会议发表的 20 万篇论文的标题作为未标记数据。

    我们使用LINE(Gw,w,Gw,d)$ \text{LINE}(G_{w,w},G_{w,d}) $ 作为 CNN 的预训练模型。可以看到:

    • 当未标记数据规模增加时,CNNPTE 性能都有改善。
    • 对于 PTE 模型,未标记数据和标记数据联合训练的效果要优于“预训练和微调”的方式。

17.2.3 参数敏感性与可视化

  1. PTE 模型除了训练步数 T 之外,大多数超参数对于不同训练集都是不敏感的(如学习率、batch size ),所以可以使用默认配置。

    我们在 20NGDBLP 数据集上考察了 PTE(joint) 对于参数 T 的敏感性。可以看到:当 T 足够大时,PTE(joint) 性能会收敛。

    实际应用中,我们可以将 T 的数量设置称足够大。经验表明:T 的合理范围是异质文本网络中所有边的数量的几倍。

  2. 我们给出了无监督 embedding (以LINE(Gw,d)$ \text{LINE}(G_{w,d}) $ 为代表)和 predictive embedding (以PTE(Gw,l)$ \text{PTE}(G_{w,l}) $ 为代表)在 20NG 数据集上采用 tSNE 可视化的结果。

    我们对训练集和测试集的文档均进行了可视化,其中 document embeddingdocument 内所有word embedding的均值。可以看到:在训练集和测试集上,predictive embedding 均比无监督 embedding 更好地区分了不同的类别。这直观表明了 predictive embedding 在文本分类任务中的强大能力。

17.2.4 讨论

  1. 无监督 embedding 使用的基本信息是局部上下文级别或者document级别的word 共现。

    • 在长文本中,我们可以看到document级别的word 共现比局部上下文级别的word 共现效果更好,并且二者的结合并不能进一步改善效果。
    • 在短文本中,局部上下文级别的word 共现比document级别的word 共现效果更好,并且二者的结合可以进一步改善效果。这是因为document级别的word 共现受到文本长度太短的困扰,即文本太稀疏。
  2. predictive embedding 中:

    • PTE 相比, CNN 模型可以更有效地处理标记信息,尤其是在短文本上。这是因为 CNN 的模型结构比 PTE 复杂得多,尤其时 CNN 可以在局部上下文中利用词序从而解决word 的歧义问题。因此,在标记数据非常稀疏的情况下,CNN 可以超越 PTE,尤其是在短文本上。但是这个优势是以大量的计算、详尽的超参数调优为代价的。

    • CNN 相比,PTE 训练速度更快、超参数调整更容易(几乎没有需要调整的超参数)。当标记数据更为丰富时,PTE 的性能至少和 CNN 一样好并且通常更好。

      PTE 模型的一个明显优势是它可以联合训练标记数据和未标记数据。相比之下 CNN 只能通过预训练来间接利用未标记数据。当标记数据非常丰富时,这种预训练并不总是有帮助的。

  3. 实践指南:基于上述讨论,我们提供以下实践指南。

    • 当没有标记数据时:

      • 在长文本上使用LINE(Gw,d)$ \text{LINE}(G_{w,d}) $ 来学习无监督 text embedding
      • 在短文本上使用LINE(Gw,w,Gw,d)$ \text{LINE}(G_{w,w},G_{w,d}) $ 来学习无监督 text embedding
    • 当只有少量标记数据时:

      • 在长文本上使用 PTE 来学习text embedding
      • 在短文本上使用 CNN(pretrain) ,其中预训练采用LINE(Gw,w,Gw,d)$ \text{LINE}(G_{w,w},G_{w,d}) $ 。
    • 当有大量标记数据时:

      • 在长文本上使用 PTE(joint) 来学习 text embedding
      • 在短文本上从 PTE(joint)CNN 或者 CNN(pretrain) 三者之间选择,其中主要考虑训练效率和模型效果之间的平衡。
  4. 未来方向:PTE 中考虑 word 的词序。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文