05-Document Representation

5 Document Representation

文件通常是自然语言的最高语言单位。文档表示旨在将整个文档的语义信息编码为实值表示向量,可进一步用于下游任务。近年来,文档表示已成为自然语言处理中的一项重要任务,并已广泛应用于许多文档级的现实世界应用中,如信息检索和问题回答。在本章中,我们首先介绍文档的一个热表示。接下来,我们将广泛地介绍学习单词和文档的主题分布的主题模型。此外,我们还介绍了分布式文档表示,包括段落向量和神经文档表示。最后,我们介绍了几个典型的文档表示的真实应用,包括信息检索和问题回答。

5.1 introduction

最近,神经网络模型在在机器翻译或解析等序列生成任务中生成有意义和具有语法的文档方面显示出了引人注目的结果。这部分归因于这些系统捕获局部组合的能力:相邻的单词通过语义和语法组合,形成它们想要表达的意义。基于神经网络模型,许多研究工作已经开发了多种方法来整合文档级的上下文信息。这些模型都是混合架构,因为它们在句子层次上是循环的,但是使用不同的结构来总结句子之外的上下文。此外,一些模型探索了在语言建模中结合局部和全局信息的多层循环架构。

在本章中,我们首先介绍文档的一个热表示。接下来,我们将广泛地介绍旨在学习单词和文档的潜在主题分布的主题模型。此外,我们还介绍了分布式文档表示,包括段落向量和神经文档表示。最后,我们介绍了几种典型的文档表示的真实应用,包括信息检索和问题回答。

5.2 One-Hot Document Representation

大多数机器学习算法都以一个固定长度的向量作为输入,因此需要将文档表示为向量。词袋模型是文档中最常见、最简单的表示方法。类似于一个热句表示,对于文档d = {w1,w2,…,wl},可以使用一个包单词表示d来表示这个文档。具体来说,对于词汇表V = [w1,w2,…,w|V|],单词w的一个热门表示是w = [0, 0,0,…, 1,…, 0].基于单热字表示和vocabV,它可以扩展为将文档表示为 d = ∑ k = 1 l w i \mathbf{d}=\sum_{k=1}^l\mathbf{w}_i d=k=1lwi

实际上,词袋表示主要用作特征生成的工具,而从该方法计算出的最常见的特征类型是文档中出现的词频。这种方法简单而有效,有时可以在许多实际应用程序中达到优异的性能。但是,词袋表示仍然完全忽略了词序信息,这意味着只要使用相同的单词,不同的文档就可以有相同的表示。此外,词袋表示对单词的语义,或者更正式地说,单词之间的距离没有什么意义,这意味着这种方法不能利用隐藏在单词表示中的丰富信息。

5.3 Topic Model

随着我们的集体知识继续数字化,并以新闻、博客、网页、科学文章、书籍、图像、音频、视频和社交网络的形式存储,发现我们正在寻找的东西变得更加困难。我们需要新的计算工具来帮助组织、搜索和理解这些大量的信息。

现在,我们使用两种主要工具来处理在线信息——搜索和链接。我们在搜索引擎中输入关键字,然后找到一组与它们相关的文档。我们将查看该集合中的文档,可能会导航到其他链接的文档。这是一种与我们的在线档案互动的强大方式,但我们缺少了一些东西。

想象一下,基于贯穿文档的主题来搜索和探索文档。我们可以“放大”和“缩小”来找到特定的或更广泛的主题;我们可以看看这些主题是如何随着时间的推移而变化的,或者它们是如何联系在一起的。我们可能只通过关键字搜索来查找文档,而是首先找到我们感兴趣的主题,然后检查与该主题相关的文档

例如,考虑使用主题来探索《纽约时报》的完整历史。在广泛的层面上,其中一些主题可能与报纸的章节相对应,如外交政策、国家事务和体育运动。我们可以放大一个令人感兴趣的主题,如外交政策,来揭示它的各个方面,如中国的外交政策、中东的冲突和美国与俄罗斯的关系。然后,我们可以通过时间来揭示这些具体的主题是如何变化的,例如,追踪过去50年里中东冲突的变化。并且,在所有这些探索中,我们将被指向与主题相关的原始文章。主题结构将是探索和消化文集的一种新的窗口。

但我们不会以这种方式与电子档案进行互动。虽然越来越多的文本可以在网上获得,但我们没有人力来阅读和研究它们来提供上述描述的浏览体验。为此,机器学习研究人员开发了概率主题建模,这是一套旨在发现并用主题信息注释大量文档档案的算法。主题建模算法是一种分析原始文本中的单词,以探索贯穿它们的主题,这些主题是如何连接的,以及它们是如何随时间变化的统计方法。主题建模算法不需要事先对文档进行任何注释或标记。这些主题来自于对原始文本的分析。主题建模使我们能够以一种人类注释不可能实现的规模来组织和总结电子档案。

5.3.1 Latent Dirichlet Allocation

这里我们专门的博客,可以去看。

各种概率主题模型已被用来分析文档的内容和词语的意义。霍夫曼首先在他的概率潜在语义索引方法(pLSI)中引入了概率主题方法来进行文档建模。pLSI模型没有对混合物的权重是如何产生的做出任何假设,这使得测试模型对新文档的泛化能力变得困难。因此,通过在模型之前引入狄利克雷,扩展了潜在狄利克雷分配(LDA)。LDA被认为是一个简单但有效的主题模型。我们首先描述了LDA [6]的基本思想。

LDA背后的直觉是,文档显示了多个主题。LDA是一个文档集合的统计模型,它试图捕捉到这种直觉。它最容易描述的生成过程,即模型假设文档产生的想象随机过程。

我们正式地将一个主题定义为在一个固定的词汇表上的分布。我们假设这些主题是在生成任何数据之前指定的。现在,对于集合中的每个文档,我们在两个阶段的过程中生成单词。

1.随机选择一个分布的主题。

2.对于文档中的每个单词,从步骤#1中的主题之上的分布中随机选择一个主题。•从相应的词汇表分布中随机选择一个词汇

我们强调,算法没有关于这些主题的信息,文章也没有标注主题或关键词。可解释的主题分布是通过计算可能生成所观察到的文档集合的隐藏结构而产生的

5.3.1.1 LDA and Probabilistic Models

LDA和其他主题模型是更广泛的概率建模领域的一部分。在生成概率建模中,我们将我们的数据视为来自于一个包含隐藏变量的生成过程。这个生成过程定义了一个关于观察到和隐藏随机变量的联合概率分布。给定观察到的变量,我们通过使用该联合分布来计算隐藏变量的条件分布来执行数据分析。这种条件分布也被称为后验分布。

LDA正好属于这个框架之中。观察到的变量是文档中的单词,隐藏的变量是主题结构,生成过程如上所述。从文档中推断隐藏主题结构的计算问题是计算文档中隐藏变量的后验分布和条件分布。

#####5.3.1.2 Posterior Computation for LDA

现在我们转向计算问题,计算给定观察文档的主题结构的条件分布。(正如我们上面提到的,这叫做后路。)用我们的符号,后验是

P ( β 1 : K , θ 1 : D , z 1 : D ∣ ν 1 : D ) = P ( β 1 : K , θ 1 : D , z 1 : D , ν 1 : D ) P ( ν 1 : D ) . P(\beta_{1:K},\theta_{1:D},z_{1:D}|\nu_{1:D})=\frac{P(\beta_{1:K},\theta_{1:D},z_{1:D},\nu_{1:D})}{P(\nu_{1:D})}. P(β1:K,θ1:D,z1:Dν1:D)=P(ν1:D)P(β1:K,θ1:D,z1:D,ν1:D).

分子是所有随机变量的联合分布,它可以很容易地计算出隐藏变量的任何设置。分母是观察到的边际概率,即在任何主题模型下看到观察到的语料库的概率。在理论上,它可以通过对隐藏的主题结构的每一个可能的实例化上的联合分布求和来计算。

主题建模算法通过在潜在的主题结构上形成一个替代分布,以接近真实的后验,从而形成上述方程的近似。主题建模算法通常可分为两类:基于抽样的算法和变分算法。

基于抽样的算法试图通过用经验分布近似后验来收集样本。主题建模中最常用的抽样算法是吉布斯抽样,其中我们构造一个马尔可夫链,一个随机变量序列,每个变量依赖于前一个变量,其极限分布是后验的。在特定语料库的隐主题变量上定义了马尔可夫链,算法是长期运行该链,从极限分布中收集样本,然后与收集的样本近似分布。

变分方法是基于抽样的算法的一种确定性替代方法。变分方法不是用样本来近似后验,而是在隐藏结构上假设一个参数化的分布族,然后找到最接近后验的家族成员。因此,推理问题转化为优化问题。变分方法为优化方面的创新对概率建模的实际影响打开了大门。

5.4 Distributed Document Representation

为了解决单词袋文档表示的缺点,[31]提出了段落向量模型,包括使用分布式内存的版本(PV-DM)和使用分布式单词袋的版本(PV-DBOW)。此外,研究人员还提出了几种层次神经网络模型来表示文档。在本节中,我们将详细介绍这些模型。

5.4.1 Paragraph Vector

如图5.2所示,段落向量将每个段落映射到一个唯一的向量,由矩阵P中的一列表示,将每个单词映射到一个唯一的向量,由单词嵌入矩阵e表示。段落向量和单词向量的平均或连接来预测上下文中的下一个词。更正式地说,与单词向量框架相比,这个模型中唯一的变化是在下面的方程中,他由E和P构造。

y = Softmax ( h ( w t − k , … , w t + k ; E , P ) ) , y=\text{Softmax}(h(w_{t-k},\ldots,w_{t+k};\mathbf{E},\mathbf{P})), y=Softmax(h(wtk,,wt+k;E,P)),

其中,h由从E和P中提取的词向量的连接或平均值构造。

image-20230906161425300

该模型的另一部分是,给定一系列训练单词w1、w2、w3、…,wl,段落向量模型的目标是最大化平均对数概率:

O = 1 l ∑ i = k l − k log ⁡ P ( w i ∣ w i − k , … , w i + k ) . \mathscr{O}=\dfrac{1}{l}\sum_{i=k}^{l-k}\log P(w_i\mid w_{i-k},\dots,w_{i+k}). O=l1i=klklogP(wiwik,,wi+k).

预测任务通常通过多类分类器来完成,如softmax。因此,概率方程为

P ( w i ∣ w i − k , … , w i + k ) = e y w i ∑ j e y j . P(w_i\mid w_{i-k},\ldots,w_{i+k})=\frac{e^{y_{w_i}}}{\sum_je^{y_j}}. P(wiwik,,wi+k)=jeyjeywi.

段落标记可以被认为是另一个词。它充当一个记忆,记住当前上下文或段落的主题中缺少的内容。因此,这个模型通常被称为段落向量的分布式记忆模型(PV-DM)。

上述方法考虑了段落向量与单词向量的连接,以预测文本窗口中的下一个单词。另一种方法是忽略输入中的上下文词,但强制模型预测从输出中的段落中随机抽样的单词。在现实中,这意味着在随机梯度下降的每次迭代中,我们采样一个文本窗口,然后从文本窗口中采样一个随机单词,并形成一个给定段落向量的分类任务。该技术如图5.3所示。这个版本被命名为段落向量(PV-DBOW),而不是前一节中的段落向量(PV-DM)。

image-20230906161449154

除了概念上的简单之外,这个模型还需要存储更少的数据。只需要存储的数据是软max权值,而不是在之前的模型中同时存储softmax权值和单词向量。该模型也类似于在词向量上的Skip-gram模型。

5.4.2 Neural Document Representation

在这部分中,我们介绍了两种主要的文档表示神经网络,包括文档-上下文语言模型和分层文档自动编码器。

5.4.2.1 Document-Context Language Model

循环体系结构可以用于在文档语言建模中结合本地信息和全局信息。最简单的模型是训练一个RNN,忽略上面提到的句子边界;前一个句子t−1的最后一个隐藏状态用于初始化句子t中的第一个隐藏状态。在这样的架构中,RNN的长度等于文档中标记的数量;在典型的类型如新闻文本,这意味着训练RNN序列的几百个标记,这引入了两个问题: (1)信息衰减在一个句子三十标记新闻文本(不罕见),从前面的句子必须通过循环动态传播三十次之前可以达到当前句子的最后一个令牌。有意义的文档级信息不太可能在如此长的管道中存活下来。(2)学习,训练涉及许多时间步骤的循环架构是众所周知的困难。在在整个文档上训练RNN的情况下,反向传播必须运行数百个步骤,从而带来严重的数值挑战。

为了解决这两个问题,[28]建议使用多级循环结构来表示文档,从而成功地在语言建模中有效地利用了文档级上下文。他们首先提出了上下文到上下文文档上下文语言模型(ccDCLM),该模型假设来自先前句子的上下文信息需要能够“短路”标准RNN,以便更直接地影响更长文本跨度的单词生成。正式来说,我们有

image-20230906161526175

此外,他们还提出了上下文到输出的文档-上下文语言模型(coDCLM)。coDCLM模型没有将文档上下文合并到隐藏状态的循环定义中,而是将其直接推到输出中,如图5.5所示。设ht,n是句子t的常规RNNLM中的隐藏状态,

image-20230906161626574

5.4.2.2 Hierarchical Document Autoencoder

参考文献[33]还提出了分层的文档自动编码器来表示文档。该模型利用了一种直觉,即就像单词的并置创造了句子的联合意义一样,句子的并置也创造了段落或文档的联合意义。

他们首先通过将一层LSTM(记为LSTMwor d编码)放在句子级上获得表示向量:

h t w ( enc ) = LSTM e n c o d e w o r d ( w t , h t − 1 ν ( enc ) ) . h_t^w(\text{enc})=\text{LSTM}_{encode}^{word}(\textbf{w}_t,h_{t-1}^\nu(\text{enc})). htw(enc)=LSTMencodeword(wt,ht1ν(enc)).

在结束时间步长时的向量输出用于将整个句子表示为

s = h e n d s w . \mathbf{s}=h_{end_s}^w. s=hendsw.

为了构建当前文档/段落的表示eD,在所有句子上放置另一层LSTM(记为LSTM句子编码),依次计算每个时间步的表示:

h t s ( enc ) = LSTM e n c o d e s e n t e n c e ( s , h t − 1 s ( enc ) ) . h_t^s(\text{enc})=\text{LSTM}_{encode}^{sentence}(\textbf{s},h_{t-1}^s(\text{enc})). hts(enc)=LSTMencodesentence(s,ht1s(enc)).

初始时间步长hs0(d)=(d)=,即编码过程hs t (d)的端到端输出作为LSTMwor d解码的原始输入,用于随后预测句子t + 1内的标记。LSTMwor d解码依次预测每个位置的标记,然后将其嵌入与之前的隐藏向量相结合,进行下一个时间步长预测,直到预测结束标记。该程序可总结如下:

h t w ( dec ) = LSTM d e c o d e s e n t e n c e ( w t , h t − 1 w ( dec ) ) , P ( w ∣ ⋅ ) = Softmax ( w , h t − 1 w ( dec ) ) . \begin{aligned}h_t^w(\text{dec})&=\text{LSTM}_{decode}^{sentence}(\textbf{w}_t,h_{t-1}^w(\text{dec})),\\\\P(w|\cdot)&=\text{Softmax}(\textbf{w},h_{t-1}^w(\text{dec})).\end{aligned} htw(dec)P(w)=LSTMdecodesentence(wt,ht1w(dec)),=Softmax(w,ht1w(dec)).

image-20230906161712548

注意模型采用了一种回顾策略,即将当前的解码阶段与输入的句子联系起来,试图考虑输入的哪一部分对当前的解码状态最负责

image-20230906161726971

5.5 Applications

在本节中,我们将介绍一些基于表示学习的文档级分析的应用程序。

5.5.1 Neural Information Retrieval

信息检索旨在从大规模的信息资源收集中获取相关资源。如图5.8所示,以查询“SteveJobs”作为输入,搜索引擎(信息检索的典型应用程序)为用户提供了相关的网页。传统的信息检索数据由搜索查询和文档收集d组成,基本真相是通过显式的人类判断或隐含的用户行为数据,如点击率。

对于给定的查询q和文档d,传统的信息检索模型通过词汇匹配来估计它们的相关性。神经信息检索模型更注重从语义匹配中获取查询和文档的相关性。词汇匹配和语义匹配都是神经信息检索的关键。通过神经网络黑魔法的发展,帮助信息检索模型捕捉到更复杂的匹配特征,达到了信息检索任务[17]的先进水平。

目前的神经排序模型可以分为两组:基于表示的[23]和基于交互的[23]。早期的工作主要关注基于表示的模型。它们学习良好的表示,并在学习到的查询和文档的表示空间中匹配它们。另一方面,基于交互的方法根据它们的术语的交互对查询文档匹配进行建模。

5.5.1.1 Representation-Based Neural Ranking Models

基于表示的方法通过分别学习两种分布式表示,直接将查询和文档进行匹配,然后根据它们之间的相似性计算匹配分数。近年来,一些基于暹罗架构的深度神经模型被探索出来,它们可以通过前馈层、卷积神经网络或递归神经网络来完成。

参考[26]提出了深度结构语义模型(DSSM),首先将单词散列到基于字母三字的表示。然后使用多层完全连接的神经网络将查询(或文档)编码为向量。查询和文档之间的相关性可以简单地用余弦相似度来计算。参考[26]通过最小化点击数据上的交叉熵损失来训练模型,其中每个训练样本由一个查询q、一个正文档d+和一个均匀采样的负文档集D组成

5.5.1.2 Interaction-Based Neural Ranking Models

基于交互的神经排序模型从查询-文档对中学习单词级的交互模式,如图5.9所示。它们还提供了一个单独比较查询的不同部分与文档的不同部分的机会并汇总了相关性的部分证据。ARC-II [25]和匹配金字塔[45]利用卷积神经网络从单词级交互中捕获复杂的模式。深度相关性匹配模型(DRMM)使用金字塔池化(直方图)将单词级的相似性总结为排序模型[23]。也有一些工作建立了排序模型[27,46]的位置依赖的交互作用。

image-20230906161746307

5.5.2 Question Answering

问答(QA)是最重要的任务之一,NLP中的文档级应用程序也是如此。在QA方面已经投入了许多努力,特别是在机器阅读理解和开放领域QA方面。在本节中,我们将分别介绍这两个任务的进展

5.5.2.1 Machine Reading Comprehension

一般来说,当前的机器阅读理解任务可以根据[10]的回答类型分为四类,即封闭风格、多重选择、跨度预测和自由形式的回答。像CNN/每日邮报[24]这样的结尾处风格的任务由填写空白的句子组成,其中问题包含一个要填写的占位符。答案a可以从预定义的候选集|A|中选择,或者从词汇表|V|中选择。RACE [30]和MCTest [50]等多项选择任务的目的是从一组答案选择中选择最佳答案。通常使用准确性来衡量这两个任务的表现:在整个示例集中正确回答问题的百分比,因为问题可以从给定的假设答案集中正确回答或不正确回答。

大多数机器阅读理解模型遵循相同的范式来定位答案跨度的起点和终点。如图5.12所示,该模型在对段落进行编码时,保留了序列的长度,并将问题编码为一个固定长度的隐藏表示q。然后,问题的隐藏向量被用作一个指针,扫描段落表示{pi}i n =1,并计算段落中每个位置的分数。在保持类似的架构的同时,大多数机器阅读理解模型在段落和问题之间的交互方法上都有所不同。下面,我们将介绍几个遵循此范例的经典阅读理解架构

image-20230906161802884

5.5.2.2 Open-Domain Question Answering

开放域QA(OpenQA)最早由[21]提出。该任务旨在使用外部资源回答开放领域的问题,如文档集合[58]、网页[14,29]、结构化知识图[3,7]或自动提取的关系三元组[20]。近年来,随着机器阅读理解技术[11,16,19,55,63]的发展,研究人员试图通过对普通文本进行阅读理解来回答开放领域的问题。参考文献[12]提出使用基于神经的模型来回答开放领域的问题。如图5.14所示,基于神经的OpenQA系统通常从一个大规模的语料库中检索问题的相关文本,然后使用阅读理解模型从这些文本中提取答案。

DrQA系统由两个组成部分组成: (1)用于查找相关文章的文档检索器模块和(2)用于从给定的上下文中提取答案的文档读者模型。

文档检索器被用作第一次快速浏览,以缩小搜索空间,并关注可能相关的文档。检索器为文档和问题构建TF-IDF加权词袋向量,并计算相似度得分进行排序。为了进一步利用局部词序信息,检索器使用带有散列的双格符计数,同时保持了速度和内存效率。文档阅读器模型选取了由文档检索器生成的维基百科上的前5篇文章,并提取了这个问题的最终答案。对于每一篇文章,文档阅读器用一个信心分数来预测答案跨度。最终的预测是通过最大化整个文档中的预测分数的非标准化指数来实现的

5.6 Summary

计算相似度得分进行排序。为了进一步利用局部词序信息,检索器使用带有散列的双格符计数,同时保持了速度和内存效率。文档阅读器模型选取了由文档检索器生成的维基百科上的前5篇文章,并提取了这个问题的最终答案。对于每一篇文章,文档阅读器用一个信心分数来预测答案跨度。最终的预测是通过最大化整个文档中的预测分数的非标准化指数来实现的

5.6 Summary

在本章中,我们引入了文档表示学习,它将整个文档的语义信息编码为实值表示向量,为利用文档信息进行下游任务提供了一种有效的方法,并显著提高了这些任务的性能。首先,我们介绍了文档的一个热表示。接下来,我们广泛地介绍主题模型来使用潜在的主题分布来表示单词和文档。此外,我们还介绍了分布式文档表示,包括段落向量和神经文档表示。最后,我们介绍了几种典型的文档表示的真实应用,包括信息检索和问题回答。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值