摘要是自然语言处理领域中最具挑战性和最有趣的问题之一。它是一个从多种文本资源(如书籍、新闻文章、博客文章、研究论文、电子邮件和tweet)中生成简洁而有意义的文本摘要的过程。现在,随着大量的文本文档的可用性,摘要是一个更加重要的任务。 萃取总结 这些方法依赖于从一段文本中提取几个部分,比如短语和句子,然后将它们堆在一起创建摘要。因此,在提取方法中,识别出用于总结的正确句子是至关重要的。让我们通过一个例子来理解这一点。 Text: Messi and Ronaldo have better records than their counterparts. Performed exceptionally across all competitions. They are considered as the best in our generation.* Abstractive summary: Messi and Ronaldo have better records than their counterparts. Best in our generation. 正如你在上面看到的,这些粗体的单词被提取出来并加入到一个摘要中——尽管有时这些摘要在语法上可能很奇怪。 摘要式的总结 这些方法使用先进的NLP技术产生一个全新的总结。本摘要的某些部分甚至可能不会出现在原文中。让我们通过一个例子来理解这一点。 Text: Messi and Ronaldo have better records than their counterparts. Performed exceptionally across all competitions. They are considered as the best in our generation. Abstractive summary: Messi and Ronaldo have better records than their counterparts, so they are considered as the best in our generation. 摘要文本摘要算法创建新的短语和句子,从原始文本中传递最有用的信息——就像人类一样。 在本文中,我们将重点研究抽象摘要技术,并将利用编解码器架构来解决这一问题。 常用的序列-序列模型(编码器-解码器)的整体结构如下图所示 编码器 该编码器基本上由一系列LSTM/GRU单元组成(请查看LSTM/GRU文档以更好地理解架构)。 中间(编码器)向量 这是模型的编码器部分产生的最终隐藏状态。用上面的公式计算。 译码器 一种由几个循环单元组成的堆栈,其中每个单元在一个时间步长t预测输出y_t。 t时刻的输出y_t用公式计算: 我们使用当前时间步长的隐藏状态和各自的权值W(S)来计算输出。Softmax用于创建一个概率向量,它将帮助我们确定最终的输出(例如回答问题中的单词)。 首先,我们需要了解什么是注意力。 为了在时间步长t生成一个单词,我们需要对输入序列中的每个单词给予多少关注?这就是注意力机制概念背后的关键直觉。 让我们用一个简单的例子来理解这一点: Question: In the last decade, *who* is the best *Footballer*? Answer: *Lionel Messi* is the best *player*. 在上面的例子中,问题中的第五个单词和梅西有关,第九个单词足球运动员和第六个单词球员有关。 因此,我们可以增加源序列中产生目标序列的特定部分的重要性,而不是查看源序列中的所有单词。这是注意力机制背后的基本思想。 根据被关注上下文向量的推导方式,有两种不同的注意机制: Global Attention 在这里,注意力被放在所有的源位置上。换句话说,为了得到参与的上下文向量,我们考虑了编码器的所有隐藏状态。在这个总结任务中,我们将使用Global Attention。 Local Attention 在这里,注意力只放在几个源位置上。在推导参与上下文向量时,只考虑编码器的少数隐藏状态。 现在让我们了解这种注意力是如何真正起作用的: 编码器输出源序列中每个时间步长j的隐藏状态(hj) 其中eij为目标时间步长i和源时间步长j的对齐得分。 我们使用softmax函数对对齐分数进行归一化,以检索注意力权重(aij): 计算编码器hj的注意权值aij与隐藏状态的乘积的线性和,得到上下文向量Ci: 让我们通过一个示例来理解上面的注意机制步骤。假设源文本序列为[x1, x2, x3, x4],目标摘要序列为[y1, y2]。 编码器读取整个源序列并输出每个时间步长的隐藏状态,例如h1, h2, h3, h4 目标timestep i = 1 利用score函数从源隐藏状态hi和目标隐藏状态s1计算对齐得分e1j: 使用softmax对对齐分数e1j进行归一化,得到注意力权重a1j: 由编码器隐藏状态hj与对齐得分a1j的乘积的线性和得到上下文向量C1: 然后将注意力隐藏向量S1输入到稠密层,产生y1 我们可以用同样的方法计算Y2。 在本文中,我们将使用亚马逊食品评论数据集。让我们来看看数据: https://www.kaggle.com/snap/amazon-fine-food-reviews 数据清洗 我们首先需要清理我们的数据,所以我们需要遵循的步骤是: 将所有内容转换为小写字母 数据分布 然后,我们将分析评语和总结的长度,从而对文章的长度分布有一个总体的认识。这将帮助我们确定序列的最大长度。 标记数据: 记号赋予器构建词汇表并将单词序列转换为整数序列。我们将使用Keras’ Tokenizer来标记句子。 模型建立 我们终于到了模型制作部分。但在此之前,我们需要熟悉一些术语,这些术语在构建模型之前是必需的。 训练和Early Stopping: 这就是在训练过程中验证损失减少的原因,我们可以推断在 epoch10之后验证损失略有增加。因此,在这个 epoch之后,我们将停止训练模型。 现在,我们将为编码器和解码器建立推断。在这里,编码器和解码器将一起工作,以产生摘要。所述解码器将堆叠在所述编码器之上,所述解码器的输出将再次馈入所述解码器以产生下一个字。 在本文中,我们了解了如何使用序列到序列模型总结文本。我们可以通过增加数据集、使用双向LSTM、 Beam Search策略等方法进一步改进该模型。 本文代码:https://gist.github.com/sayakmisra/6133be0554ce916d8cae4cdb83d475d8 作者:Sayak Misra那么有哪些不同的方法呢?
什么是编码器-解码器架构?
该模型由编码器、中间矢量和解码器三部分组成。
编码器接受输入序列并将信息封装为内部状态向量。
解码器使用编码器的输出和内部状态。
在我们的文本摘要问题中,输入序列是文本中需要汇总的所有单词的集合。每个单词都表示为x_i,其中i是单词的顺序。
这个向量旨在封装所有输入元素的信息,以帮助解码器做出准确的预测。
它作为模型的解码器部分的初始隐藏状态。
每个循环单元从前一个单元接受一个隐藏状态,并产生和输出它自己的隐藏状态。
在摘要问题中,输出序列是来自摘要文本的所有单词的集合。每个单词都表示为y_i,其中i是单词的顺序。
任意隐藏状态h_i的计算公式为:
正如你所看到的,我们只是用前一个隐藏状态来计算下一个。添加一些注意力
同样,解码器输出目标序列中每一个时间步长i的隐藏状态(si)
我们计算一个称为对齐分数(eij)的分数,在这个分数的基础上,使用一个评分函数将源单词与目标单词对齐。利用score函数从源隐藏状态hj和目标隐藏状态si计算对齐得分。由:
将所述解码器在时间步长i时的参与上下文向量与目标隐藏状态连接,生成参与隐藏向量Si,其中Si= concatenate([Si;Ci)
然后将参与的隐藏向量Si送入稠密层产生yi, yi=dense(Si)。
解码器读取由一个时间步长偏移的整个目标序列,并输出每个时间步长(例如s1、s2、s3)的隐藏状态e11= score(s1, h1) e12= score(s1, h2) e13= score(s1, h3) e14= score(s1, h4)
a11= exp(e11)/((exp(e11)+exp(e12)+exp(e13)+exp(e14)) a12= exp(e12)/(exp(e11)+exp(e12)+exp(e13)+exp(e14)) a13= exp(e13)/(exp(e11)+exp(e12)+exp(e13)+exp(e14)) a14= exp(e14)/(exp(e11)+exp(e12)+exp(e13)+exp(e14))
C1= h1 * a11 + h2 * a12 + h3 * a13 + h4 * a14
连接上下文向量C1和目标隐藏状态s1,生成隐藏向量s1S1= concatenate([s1; C1])
y1= dense(S1)
实施
删除HTML标记
收缩映射
删除(的)
删除括号()内的任何文本
消除标点和特殊字符
删除stopwords。
删除短词
推理
Review: right quantity japanese green tea able either drink one sitting save later tastes great sweet Original summary: great japanese product Predicted summary: great teaReview: love body wash smells nice works great feels great skin add fact subscribe save deal great value sold Original summary: great product and value Predicted summary: great productReview: look like picture include items pictured buy gift recipient disappointed Original summary: very disappointed Predicted summary: not what expected
总结
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算