图的表达2

十七、PTE[2015]

  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),它捕获了未标记数据的局部上下文local context 中的 word 共现信息。Vword 的词表 vocabularyEw,wword 之间的边的集合(共现关系)。word vivj 之间的边的权重 wi,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) ,其中 Ddocument 的集合,Vword 的集合,Ew,dworddocument 的链接构成的边集合。word vidocument dj 之间的边的权重 wi,j 定义为:word vi 出现在 document dj 中的频次。

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

  6. word-label networkword-label 网络表示为二部图 Gw,l=(VL,Ew,l),其中 Lclass 的集合,Vword 的集合,Ew,lwordclass 的链接构成边的集合。Gw,l 捕获了 category-levelword 共现。word viclass cj 之间的边的权重 wi,j 定义为: wi,j=(d:ld=j)nd,i ,其中 nd,idocument dword vi 出现的频次,lddocument dclass 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 和顶点 B 具有相似的邻域,则暗示了 AB 的顶点类型相同。

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

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

    其中:uiVA 中顶点 viembedding 向量,ujVB 中顶点 vjembedding 向量。

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

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

    其中:

    • dist(,) 为两个分布之间的距离函数,这里采用 KL-divergence 函数。
    • λj 为顶点 vj 在网络中的重要性,我们设置为顶点的 degreedegj=iwi,j
    • 经验分布 p^(vj) 定义为 p^(vivj)=wi,jdegj

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

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

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

    • 首先以正比于权重 wi,j 的概率随机采样一条二元边 binary edge e=(vi,vj) ,即 edge sampling
    • 然后通过noise distribution pn(j) 来随机采样若干条负边,即 nagative sampling

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

  3. word-word 网络、word-document 网络、word-label 网络的 embedding 都可以通过上述模型来学习。注意,word-word 网络本质上是一个二部图,可以将每条无向边视为两条有向边,并且将 VA 视为源顶点的集合、VB 视为目标顶点的集合。因此,我们可以定义条件概率 p(vivj),p(vidj),p(vilj) ,然后通过优化目标函数来学习 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 的直接解决方案是合并三个集合 Ew,w,Ew,d,Ew,l 中的所有边,然后执行边采样 edge sampling (在每个 step 中对边进行采样从而进行模型更新,采样概率与边的权重成正比)。然而,当网络是异质的时候,不同类型顶点之间的边的权重是不可比的。更合理的解决方案是从三组边中交替采样。

  3. PTE 联合训练算法:

    • 输入:

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

    • 算法步骤:

      循环迭代,直到迭代了 Tstep 。迭代过程为:

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

    • 输入:

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

    • 算法步骤:

      预训练阶段:循环迭代,直到迭代了 Tstep 。迭代过程为:

      • Ew,w 采样一条正边和 K 个负边,更新 word embedding
      • Ew,d 采样一条正边和 K 个负边,更新 word embeddingdocument embedding

      微调阶段:循环迭代,直到迭代了 Tstep 。迭代过程为:

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

    d=1ni=1nui

    其中 uiword wiembedding 向量。

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

    O=i=1nloss(ui,d)

    其中 loss(,)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

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

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

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

    • 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)。另外,我们也考虑联合学习 word-word 网络和 word-document 网络,记作 LINE(Gw,w,Gw,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) 为仅使用 word-label 的版本。
      • PTE(Gw,w,Gw,l) 为使用 word-wordword-label 的版本。
      • PTE(Gw,d,Gw,l) 为仅使用 word-documentword-label 的版本。
      • PTE(pretrain) 为使用 word-wordword-document 进行无监督训练,然后使用 word-label 来微调的版本。
      • PTE(joint) 为联合训练异质文本网络的版本。
  2. 实验配置:

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

      • 随机梯度下降的 mini-batch size 设为 1
      • 学习率设为 ρt=ρ0(1t/T) ,其中 T 为总的迭代步数,ρ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 ,它可以较为安全地设为较大的值。

  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 指标。每一种配置我们都执行十次,并报告指标的均值和方差。

  4.  

17.2.1 实验结果

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

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

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

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

    • PTE(Gw,d,Gw,l) 或者PTE(joint) 效果最好。
    • 所有带 word-label 网络PTE 方法都超越了对应的无监督方法(即 LINE 模型),这表明了在监督学习下 predictive text embedding 的强大能力。
    • PTE(joint) 超越了 PTE(Gw,l) ,这表明了使用未标记数据可以显著改善监督学习的质量。
    • PTE(joint) 也超越了PTE(pretrain),这表明联合训练未标记数据和标记数据,要比将它们分别独立训练并微调更有效。
    • 另外我们通过 LINE(Gw,l+Gw,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) 效果最好。
    • 使用局部上下文级别 word 共现的 LINE(Gw,w) 要优于使用document级别 word 共现的 LINE(Gw,d) 。这和长文本实验中结论相反。这是因为在短文本中,document 级别的 word 共现非常稀疏。我们在主题模型中也观察到了类似的结果。
    • PVDM 性能仍然不如 PVDBOW 性能,这和长文本中结论一致。

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

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

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

    • PTE(joint) 超越了 PTE(Gw,l) ,这证明了融合未标记数据的有效性。

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

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

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

17.2.2 标记数据 & 未标记数据

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

    • 监督学习:不包含未标记数据。如 PTE(Gw,l)CNN
    • 半监督学习:包含未标记数据。如 PTE(joint)CNN 等。

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

    可以看到:

    • CNNPTE 随着标记数据规模的增加,性能持续改善。
    • 在监督学习的 CNNPTE(Gw,l) 之间,PTE(Gw,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) 作为 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) 为代表)和 predictive embedding (以 PTE(Gw,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 embedding
      • 在短文本上使用 LINE(Gw,w,Gw,d) 来学习无监督 text embedding
    • 当只有少量标记数据时:

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

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

十八、HNE[2015]

  1. 向量化的 data representation 经常出现在许多数据挖掘 application 中。向量化的 data representation 更容易处理,因为每个数据都可以被视为驻留在欧式空间中的一个 point 。因此,可以通过一个合适的指标来直接衡量不同 data point 之间的相似性,从而解决分类、聚类、检索等传统任务。如 《Data Classification: Algorithms and Applications》 所示,学习良好的 representation 是数据挖掘和 web 搜索中的基本问题之一。与设计更复杂的模型相比,学习良好的 representation 对任务效果的影响通常更大。

    不幸的是,许多network 数据源(如 Facebook, YouTube, Flickr, Twitter)无法自然地表示为向量化的输入。这些社交网络和社交媒体数据通常以图数据 graph data 和关系数据 relational data 二者组合的形式来表示。当前的研究集中在预定义pre-defined 的特征向量、或者复杂的 graph-based 的算法来解决底层任务。人们在各种主题上完成了大量的研究,例如协同分类 collective classification、社区检测community detection 、链接预测link prediction 、社交推荐social recommendation 、定向广告targeted advertising 等等。对于内容和链接而言,网络数据network dataembedding 形式开发的 unified representation 非常重要。 unified representation 的基本假设是:一旦获得向量化的 representation,网络挖掘任务就可以很容易地通过现有的机器学习算法来解决。

    然而,网络数据的 feature learning 并不是一项简单的任务,因为网络数据具有许多特有的特性,例如网络的规模、动态性、噪声、以及异质性heterogeneity 。首先,社交网站上的多媒体数据量呈指数级增长。到 2011 年年中,Facebook 上的照片估计数量已达 1000 亿张,并且每天上传的新照片数量高达 3.5 亿张。其次,鉴于用户的不同背景background ,社交媒体往往噪音很大。而且研究人员注意到,垃圾邮件发送者产生的数据比合法用户更多,这使得网络挖掘更加困难。最后,社交媒体数据包含多样diverse 的、异质的信息。例如,当事件发生时,不同类型的媒体数据都会进行报道。如下图所示,当在谷歌中搜索 “马航 MH17” 时,相关结果中不仅包含文本文档,还包含图像和视频。

    此外,社交媒体数据不是孤立存在的,而是由各种类型的数据组合而成的。这些交互可以通过它们之间的链接显式或隐式地形成。例如,在同一网页中同时出现的图像和文本提供了它们之间的显式链接,而文本到文本的链接是通过不同 web document 之间的超链接显式形成的。另一方面,用户的交互活动可以被视为隐式反馈,它链接了不同的社交媒体部分social media component 。如果用户以相似的标签tag 描述多张图像,那么一个合理的假设是:这些图像之间存在语义关系。很明显,如此庞大的数据量导致了复杂的异质网络,这给学习 uniform representation 带来了巨大的挑战。

    为了应对上述挑战,论文 《Heterogeneous Network Embedding via Deep Architectures》 提出了一种关于 network representation learning 的新思想,称作 Heterogeneous Network Embedding: HNEHNE 同时考虑了内容信息 content information 和关系信息relational informationHNE 将不同的异质对象映射到一个统一unified 的潜在空间中,以便可以直接比较来自不同空间的对象。

    与传统的线性 embedding 模型不同,HNEfeature learning 过程分解为深层的多个非线性层。HNE 通过迭代求解关于 feature learningobjective minimization 的问题,从而协调并相互加强这两个部分。HNE 同时建模了底层网络的全局链接结构global linkage structure 和局部链接结构local linkage structure,这使得它在捕获网络链接方面比浅层 embedding 方案更强大,特别是当链接信息在揭示不同对象之间的语义相关性方面起关键作用时。沿着这个研究方向,论文利用网络链接来设计一个损失函数,从而迫使网络中存在链接的不同对象在 embedding 空间是相似的。network-preserved embedding 的思想如下图所示。

    事实上根据 HNE 的模型公式,HNE 仅建模了局部链接结构(即,保留一阶邻域),并未建模全局链接结构。

    HNE 框架的主要优点如下:

    • 鲁棒性:HNE 探索不同异质对象之间的全局一致性 global consistency ,从而学习由网络结构指导 guideunified feature representation
    • 无监督:HNE 是无监督并且独立于任务的,这使其适用于许多面向网络的数据挖掘 application
    • out-of-sampleHNE 能够处理 out-of-sample 问题(即 unseen 顶点)。这解决了动态网络相关的挑战,其中随着时间的推移可能会在网络中添加新顶点。
  2. 相关工作:

    • Network Embeddingfeature embedding 的一个分支是由网络中的协同过滤和链接预测等 application 所推动的。这些 application 根据潜在属性对实体之间的关系进行建模。这些模型通常将问题迁移 transfer 为学习实体的 embedding,这在数学上对应于对观察到的关系矩阵的矩阵分解问题。

      • 《Combining content and link for classification using matrix factorization》 提出了一种在链接邻接矩阵linkage adjacency matrixdocument-term frequency 矩阵上联合分解的方法,从而用于网页分类。
      • 此外,《Structure preserving embedding》 提出了一种 structure preservingembedding 框架,该框架将图嵌入到低维欧式空间中,并保持了全局拓扑属性。
      • 此外,DeepWalk 从截断的随机游走中学习网络中顶点的潜在 representation

      然而,这些模型仅关注单一关系single relation,这无法应用于异质网络。而且这些模型中的大多数很难泛化到 unseen sample (即训练期间未见过的顶点)。

      这些方法对异质网络的自然扩展是将多个关系矩阵堆叠在一起,然后应用传统的张量分解。这种 multi-relational embedding 的缺点是不同 term 之间共享参数,这无法扩展到大型网络。《Latent feature learning in social media network》 提出的非线性 embedding 模型使用 Restricted Boltzmann Machine: RBM 进行跨模型链接分析 crossmodel link analysis 。但是,它没有利用原始数据中的所有社交信息,这导致了次优的解决方案。此外,计算机视觉和语音方面的工作表明,与 DNNCNN 相比,layer-wiseRBM 训练对于大规模数据而言效率低下。

    • 深度学习:近年来,机器学习研究已经从基于人工制作的特征显著转向为基于原始数据学到的特征,这主要归功于深度学习的成功。深度学习模型在语音识别、图像识别/检测、以及最近的自然语言处理中变得越来越重要。深度学习技术是通用函数的逼近器approximator。然而,从历史上来看,训练具有两层以上隐层的深度神经网络很难成功。困难在于高维的参数空间、以及高度非凸的目标函数,这使得基于梯度的方法受到局部极小值的困扰。

      深度学习的最新进展得益于多种因素的推动,例如大规模数据集的使用、算力的增长、以及无监督和监督训练算法的进步。

      • 无监督深度学习(通常被称为预训练 pre-training),借助大量可用的未标记数据来提供鲁棒的初始化和正则化。例如,《Reducing the dimensionality of data with neural networks》 首次使用 RBM 对深度神经网络进行 layer-wise 初始化。《Greedy layer-wise training of deep network》 也提出了类似的方法,采用自编码器来进行权重初始化。
      • 最近,多层神经网络的监督学习已经成为可能。dropout 的方法已经展示出特别的前景。《Imagenet classification with deep convolutional neural networks》 提出的七层卷积神经网络在 ImageNet 大规模视觉识别挑战赛上取得了 state-of-the-art 的性能。该挑战赛是计算机视觉中最具挑战性的任务之一。来自这个七层卷积神经网络的中间层的特征,后来被证明是其它计算机视觉任务(如对象检测object detection )的良好的 feature representation

      在深度学习架构的背景下,人们对利用来自多模态multiple modalities 的数据越来越感兴趣。自编码器和 RBM 等无监督深度学习方法被部署并联合重建(部分共享的网络partially shared network)音频和视频来执行 feature learning,从而成功应用于多模态任务multimodal task 。另一种方案,也有人努力学习具有多个任务的联合 representation 。对于图像和文本,一种特别有用的场景是通过将语义上有意义的 embedding 空间与图像 label 相结合,从而实现对 unseenlabel 进行图像分类的 zero-shot learning

      据我们所知,之前很少有人尝试利用网络中的链接结构进行 representation learning 。在《A deep learning approach to link prediction in dynamic network》 中,它使用条件conditional 的动态 temporaryRBM 对网络链接的动态性进行建模,主要任务是使用历史数据预测未来的链接。与我们最相似的工作是 《Latent feature learning in social media network》,其中它在多媒体链接数据上训练一个 content RBM 。我们在几个方面与他们的工作不同:我们在无监督环境中使用监督学习的方案,我们的方法可以扩展到大规模数据集,我们执行多任务学习从而融合来自不同模态的形式。

18.1 模型

  1. 异质网络 heterogeneous network 指的是具有不同类型对象、和/或具有不同类型链接的网络。从数学上讲,我们定义一个无向图 G=(V,E),其中 V={v1,,vn} 为顶点集合,E 为边集合。一条边 ei,jE 当且仅当顶点 vivj 之间存在无向链接。

    此外,图 G 还关联了对象类型映射函数 fv:VO、以及链接类型映射函数 fe:ER,其中 O 代表对象类型集合、R 代表关系类型集合。每个顶点 viV 属于一个特定的对象类型 fv(vi)O。类似地,每个链接 ei,jE 属于一个特定的关系类型 fe(ei,j)R 。值得一提的是,边的链接类型自动地定义了其端点的顶点类型。

    网络的异质性分别由集合 OR 的大小所反映。当 |O|=|R|=1 的情况下,网络是同质heterogeneous 的。否则网络是异质heterogeneous 的。下图说明了一个异质网络的示例,其中包含两种对象类型和三种链接类型。为了进一步便于理解,我们将假设对象类型为 image: Itext: T 。链接关系 R 包含 image-to-image(红色点虚线)、text-to-text (绿色短虚线)、image-to-text(蓝色实线),分别用 RII, RTT, RIT 表示。因此,在这种情况下,我们有 |O|=2,|R|=3 。虽然在文本域和图像域的这种简单抽象仅仅是为了便于在本文中进一步讨论,但是这个假设并未失去一般性,因为这些思想很容易推广到任意数量的类型。

    因此,任何顶点 viV 都可以被划分到两个不相交的子集 VIVT ,分别对应于文本域和图像域。因此,我们有:VIVT=V ,以及 VIVT=ϕ 。 类似地,边集 E 可以划分为三个不相交的子集,分别记作 EI,I,ET,T,EI,T 。此外,每个顶点都聚合了 unique 的内容信息。具体而言:

    • 对于每个图像顶点 viVI,我们给出图像张量的内容 XiRdI×dI×3,其中 dI 为图像的尺寸。
    • 对于每个文本顶点 viVT,我们给出文本向量的内容 zjRdT,其中 dT 为文本的长度。

    例如,图像的内容是 RGB 颜色空间中的原始像素格式,文本的内容是文档的 Term Frequency - Inverse Document Frequency: TF-IDF 得分。我们将链接关系表示为一个对称的邻接矩阵 ARn×n,如果 ei,jEAi,j=1,否则 Ai,j=1 (为了模型简单)。

    注意,这里的邻接矩阵元素取值为 {+1, -1},这和经典的 {+1, 0} 不同。这是为了后面的损失函数服务,给 “负边”(即,未链接的顶点对)一个非零值可以在损失函数中引入 “负边” 的信息。虽然这种邻接矩阵是完全稠密的矩阵,但是我们可以仅存储“正边”,从而仍然存储一个稀疏版本的邻接矩阵。

  2. 接下来,我们首先引入一种新的损失函数来衡量跨网络的相关性,并以数学方式展示我们的 HNE 框架。本质上,embedding 过程为每个对象同时将异质内容和异质链接编码到一个 representation 中。

    然后我们提出了一种 linkage-guided 的深度学习框架,从而同时对潜在空间 embeddingfeature learning 进行联合建模。这可以通过使用反向传播技术有效地求解。

    最后,我们讨论了将 HNE 算法直接扩展到多于两种对象类型的一般情况。

18.1.1 线性 HNE

  1. 异质 embedding 任务的主要目标是学习映射函数,从而将不同模态的数据映射到公共空间,以便直接衡量对象之间的相似性。假设与图像顶点相关联的原始内容 XiRdI×dI×3 可以转换为向量representation xiRdI 。原始输入数据到 xi 的转换将在下一节内容中描述。一种朴素的方法是将图像的每一列拼接起来,或者通过feature machine 。值得一提的是,dIdT 不必相同,因为图像和文本是完全不同领域的特征。

    我们使用两个线性变换矩阵 URdI×rVRdT×r 将两种类型的样本变换到一个均匀的潜在空间,其中 U 用于图像域、V 用于文本域。对于图像和文本,变换后的represetnation 分别为 x~Rr,z~Rr。因此我们有:

    x~=Ux,z~=Vz

    尽管图像和文本可能在不同维度的空间中表示,但是变换矩阵 UV 将它们映射到一个共同的 r 维空间。相同类型的两个 data point 之间的相似性可以表示为投影空间中的内积,即:

    s(xi,xj)=x~ix~j=(Uxi)Uxj=xiMI,Ixjs(zi,zj)=z~iz~j=(Vzi)Vzj=ziMT,Tzj

    注意,由于嵌入到公共空间,不同类型对象(如文本和图像)之间也可以进行相似度计算,即:

    s(xi,zj)=x~iz~j=(Uxi)Vzj=xiMI,Tzj=z~jx~i=(Vzj)Uxi=zjMI,Txi

    这里 MI,I=UURdI×dIMT,T=VVRdT×dT 为半正定矩阵,而 MI,T=UVRdI×dT

    潜在 embedding 与文献 《Learning locally-adaptive decision functions for person verification》 中已被广泛研究的相似性学习 similarity learning和度量学习 metric learning 密切相关。即,两个顶点之间的相关性correlation 可以通过投影矩阵 UV 进行参数化,也可以通过矩阵 MI,I,MT,T,MI,T 定义的双线性函数进行参数化。 这提供了 application-specific 的方式来建模异质关系的灵活性。

  2. 对象之间的交互被表示为网络中的异质链接。我们假设:如果两个对象是连接的,则它们之间的相似性应该比孤立对象之间的相似性更大,从而反映这一事实(即,对象是连接的)。

    注意,这里仅考虑一阶邻近性,即直接连接关系。

    考虑两个图像 xixj。为了对链接信息进行编码,我们设计了一个 pairwise 决策函数 d(xi,xj)

    d(xi,xj){>0,if Ai,j=1<0,else

    注意,要推断 d(,),我们不需要知道 A 的相应元素值,也不要求异质顶点为 in-sample 。这意味着该方法具有泛化能力从而嵌入 unseen 顶点。

    这句话的意思是,d(,) 的计算仅与 xixj 本身有关,与链接权重无关、也与是否存在链接无关。对于 unseen 的顶点,我们也可以计算 d(,) ,从而预测它与其它顶点之间是否存在链接。

    对于所有顶点 vi,vjVI,考虑 d(xi,xj)=s(xi,xj)tI,I ,其中 tI,I 为基于关系的 bias 值。则损失函数可以定义为:

    L(xi,xj)=log(1+exp(Ai,j×d(xi,xj)))

    这可以视为由网络链接引导 guided 的二元逻辑回归。text-text 损失函数和 image-text 损失函数也是类似的,只需要将 s() 替换为相应模态的损失函数即可。类似地,tT,TtI,T 表示相应的、基于关系的 bias 值。

    该损失函数仅捕获一阶邻近性(即局部网络结构),没有捕获高阶邻近性(既全局网络结构)。

    该损失函数迫使相连的顶点之间的 embedding 是相似的、不相连的顶点之间的 embedding 是不相似的。这就是为什么