首页> 中国专利> 一种改进中文自动文本摘要自注意力计算的方法

一种改进中文自动文本摘要自注意力计算的方法

摘要

本发明公开了一种改进中文自动文本摘要自注意力计算的方法,本方法将中文自动文本摘要attention机制运用在中文文本摘要时计算的复杂度。首先对数据集划分为训练集与测试集。可用的摘要不仅需要保证生成的摘要是语言通顺的,还需要保证摘要表达的意思是文章的主要内容,且摘要表达了一个完整的语义。本发明除了关注改进attention的计算复杂度的同时,让其能够更好的运用在中文文本摘要领域方向。在原attention计算矩阵的时间复杂度为O(n2)的基础上,将时间复杂度降低至O(n),同时该方法通用型也较强,能够运用在多种任务,不限于中文文本摘要。

著录项

  • 公开/公告号CN112733498A

    专利类型发明专利

  • 公开/公告日2021-04-30

    原文格式PDF

  • 申请/专利权人 北京工业大学;

    申请/专利号CN202011226337.6

  • 发明设计人 刘博;徐宽;

    申请日2020-11-06

  • 分类号G06F40/126(20200101);G06F40/242(20200101);G06F40/44(20200101);G06F40/58(20200101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构11203 北京思海天达知识产权代理有限公司;

  • 代理人沈波

  • 地址 100124 北京市朝阳区平乐园100号

  • 入库时间 2023-06-19 10:48:02

说明书

技术领域

本发明属于计算机自然语言处理技术领域。其中主要涉及的知识包括一些attention运用、词向量表示、句子抽取生成、Transformer模型使用方法、深度学习自动文本摘要方法等。

背景技术

随着互联网产生的文本数据越来越多,文本信息过载问题日益严重,近几年文本信息的爆发式增长,人们每天能接触到海量的文本信息,如新闻、博客、聊天、报告、论文、微博等。从大量文本信息中提取重要的内容,已成为我们的一个迫切需求,而自动文本摘要(automatic text summarization),对各类文本进行一个“降维”处理,为文本的简约化提供了良好的手段。

自动文本摘要有非常多的应用场景,如自动报告生成、新闻标题生成、搜索结果预览等。

在自然语言处理领域,Bahdanau等人在14年发表的论文《Neural MachineTranslation by Jointly Learning to Align and Translate》中,第一次将Attention机制应用于NLP中。Attention机制是一种注意力(资源)分配机制,在某个特定时刻,总是重点关注跟它相关的内容,其他内容则进行选择性忽视,这样的对齐能让文本翻译或者摘要生成更具针对性。Romain Paulus等人在2017年提出了内注意力机制(intra-attentionmechanism)和新的训练方法,通过架构创新和若干tricks提升模型概括长文本的能力,在CNN/Daily Mail、New York Times数据集上达到了新的state-of-the-art,有效地提升了文本摘要的生成质量。Google团队2017年发布了名为《Attention Is All You Need》的文章,即不用CNN和RNN单元,只用Self-Attention和Encoder-Decoder Attention,就完全实现了端到端的翻译任务。并且在WMT-14英德、英法翻译任务中,BLEU值达到了28.4和41.0的高分。因为同样可以并行计算,模型的训练及生成速度也有所提升。Self-Attention相比于之前的模型更加关注句子的内部结构。

目前,传统的Transformer模型以及attention机制运用在文本摘要方向仍然存在一些问题。Tranformer-based模型在处理长文本时有着天然的劣势。因为传统模型采用的是“全连接”型的attention机制,即每一个“token”都要与其他所有“token”进行交互。其attention复杂度高达O(n

发明内容

基于上述分析,本发明主要设计了一种进行中文文本摘要时,改进attention注意力计算的方法。整体网络模型借助Transformer模型,主要包含两个部分:文本编码器以及文本解码器。本发明希望将中文自动文本摘要attention机制运用在中文文本摘要时计算的复杂度。在对模型进行训练时,为了弥补训练数据的不足,需要进行多组微博数据的标注补充。模型训练与测试所用的数据来自于LCSTS开源数据集

首先对数据集划分为训练集与测试集。可用的摘要不仅需要保证生成的摘要是语言通顺的,还需要保证摘要表达的意思是文章的主要内容,且摘要表达了一个完整的语义。

在训练集上,对文本数据首先去除空格以及特殊字符,并根据频率去除低频词或字,然后构建出我们所需要的字典,字典的key为词,value为每个词的对应的id。然后将需要处理的文章根据字典转换为相应的id,根据transformer模型规则构建文本位置信息。Attention方法的设计机制是对于每一个token,只对固定窗口大小的附近token计算localattention,同时运用空洞卷积的理论以及添加随机attention分布进行计算在对每一个进行token编码时,普通机制只能考虑到长度为s的上下文。本发明改进借鉴了空洞卷积的思想,提出空洞随机滑窗机制,在不增加计算负荷的前提下,拓宽模型视野。其做法中被attend到的两个相邻token之间会存在大小为d的间隙。当transformer的层数为n时,则视场范围可达到s*d*n。由于考虑了更加丰富的上下文信息,空洞随机窗口机制比普通attention机制表现更佳。计算attention矩阵时先建立空洞窗口注意力矩阵以及随机注意力矩阵,之后将两个矩阵结合得到试验用矩阵。

为个实现上述目的,本发明采用以下技术方案:为了更好的实现整个方法,首选Python作为方法编写语言。模型的实现与训练主要使用了PyTorch进行实现。在设计空洞卷积矩阵时,规定空洞率为2,对每一个“token”随机两个随机注意力。在原有的attention计算公式,

Attention(Q,K,V)=Softmax(Q,K

上进行加工,模型的输入序列为X,

X=(x

其中Q

最后再利用ROUGE-N来进行结果优劣的评分,ROUGE是评估自动文摘以及机器翻译的一组指标。它通过将自动生成的摘要或翻译与一组参考摘要(通常是人工生成的)进行比较计算,得出相应的分值,以衡量自动生成的摘要或翻译与参考摘要之间的“相似度”。其中ROUGE-N的公式,

一种改进中文自动文本摘要自注意力计算的方法主要包括:

步骤1、收集微博文章摘要数据集,并对微博文本摘要数据进行清洗。

步骤2、构建attention计算矩阵。

步骤3、fine-tuning新的attention-based网络,直至模型收敛。

步骤4、对步骤3构建的模型进行训练相同数据集,分别使用原有attention和改进后的空洞随机窗口attention进行训练

步骤5、使用步骤4的训练结果,选择在测试集上Rouge评分最优作为结果并计算。

作为优选,步骤1采取以下步骤:

步骤1.1、将微博文章摘要划分为训练集和测试集。

步骤1.2、在训练集上,对文本数据首先去除空格以及特殊字符,并根据频率去除低频词或字,然后构建出我们所需要的字典,字典的key为词,value为每个词的对应的id。

步骤1.3、使用词嵌入向量对数据进行编码。

步骤1.4、根据Transformer模型规则添加position id。

作为优选,步骤2具体包括以下步骤:

步骤2.1、使用在Transformer定义的Attention矩阵的基础上建立attention计算矩阵。

步骤2.2、借助空洞卷积的思想对于每个“token”定义空洞率为2的空洞卷积局部attention矩阵

步骤2.3、对每个“token”给予随机2-3个attention计算块,得到随机attention矩阵。

步骤2.4、将每个“token”的空洞卷积attention矩阵和随机attention矩阵相结合得到空洞窗口随机矩阵

作为优选,步骤3具体包括以下步骤

步骤3.1、选择损失函数为交叉熵损失函数(Cross Entropy Loss):

步骤3.2、加载预训练模型,训练新的attention-based网络

步骤3.3、设置预训练模型后接的全连接网络节点个数为1024

步骤3.4、Dropout值设置为0.8

步骤3.5、观察Loss和Accuracy,当Loss与Accuracy收敛时停止迭代

作为优选,步骤4具体包括以下步骤

步骤4.1、对于每一个input做embedding,得到n个embedding矩阵后分别计算attention。

步骤4.2、使用相同的embedding,换成本发明的空洞随机窗口attention计算矩阵计算attention。

作为优选,步骤5具体包括以下步骤

步骤5.1、使用ROUGE-N评分作为两种attention计算矩阵得到的最终结果的优劣。

步骤5.2、对比两种attention矩阵模型训练结果的ROUGE-N评分,得到最终结论。

与现有技术相比,本发明具有以下优势:

本发明除了关注改进attention的计算复杂度的同时,让其能够更好的运用在中文文本摘要领域方向。改进了Transformer的传统attention机制对于每一个token,只对空洞窗口大小的附近token计算local attention以及添加随机attention,虽然只计算localattention会让计算稍简单,但是增加随机attention能更好的提升上下文的关联度。在原attention计算矩阵的时间复杂度为O(n

附图说明:

图1:本发明流程结构图

图2:encoder-decoder结构图

图3:attention计算矩阵示例以及形成过程

表1:不同attention矩阵计算出的结果在ROUGE-N上的评分结果

具体实施方式:

以下结合具体网络模型实例,并参照附图,对本发明进一步详细说明。

本发明所用到的硬件设备有PC机一台,1080显卡1块;这一部分,我们进行了广泛的实验,以探讨我们提出的方法的影响。本发明设计的网络架构运行流程图如图1所示,具体包括以下步骤:

步骤1、收集微博文章摘要数据集,并对微博文本摘要数据进行清洗。

步骤2、构建attention计算矩阵。

步骤3、fine-tuning新的attention-based网络,直至模型收敛。

步骤4、对步骤3构建的模型进行训练相同数据集,分别使用原有attention和改进后的空洞随机窗口attention进行训练

步骤5、使用步骤4的训练结果,选择在测试集上Rouge评分最优作为结果并计算。

作为优选,步骤1采取以下步骤:

步骤1.1、将微博文章摘要划分为训练集和测试集。

步骤1.2、在训练集上,对文本数据首先去除空格以及特殊字符,并根据频率去除低频词或字,然后构建出我们所需要的字典,字典的key为词,value为每个词的对应的id。

步骤1.3、使用词嵌入向量对数据进行编码。

步骤1.4、根据Transformer模型规则添加position id。

作为优选,步骤2具体包括以下步骤:

步骤2.1、使用在Transformer定义的Attention矩阵的基础上建立attention计算矩阵。

步骤2.2、借助空洞卷积的思想对于每个“token”定义空洞率为2的空洞卷积局部attention矩阵

步骤2.3、对每个“token”给予随机2-3个attention计算块,得到随机attention矩阵。

步骤2.4、将每个“token”的空洞卷积attention矩阵和随机attention矩阵相结合得到空洞窗口随机矩阵

作为优选,步骤3具体包括以下步骤

步骤3.1、选择损失函数为交叉熵损失函数(Cross Entropy Loss):

步骤3.2、加载预训练模型,训练新的attention-based网络

步骤3.3、设置预训练模型后接的全连接网络节点个数为1024

步骤3.4、Dropout值设置为0.8

步骤3.5、观察Loss和Accuracy,当Loss与Accuracy收敛时停止迭代

作为优选,步骤4具体包括以下步骤

步骤4.1、对于每一个input做embedding,得到n个embedding矩阵后分别计算attention。

步骤4.2、使用相同的embedding,换成本发明的空洞随机窗口attention计算矩阵计算attention。

作为优选,步骤5具体包括以下步骤

步骤5.1、使用ROUGE-N评分作为两种attention计算矩阵得到的最终结果的优劣。

步骤5.2、对比两种attention矩阵模型训练结果的ROUGE-N评分,得到最终结论。

图1表示了本发明的研究方法,图2表现了Transformer中的Encoder-Decoder核心结构。本发明研究核心在图3展现,图3左上方为原Transformer的attention计算矩阵,右上方为随机attention计算矩阵,左下方为空洞窗口attention计算矩阵,右下方为两矩阵结合得到的空洞窗口随机attention计算矩阵。表1展示了不同attention计算矩阵在ROUGE-N上的表现,能够看出本发明在LCSTS数据集上ROUGE-N评分超越了Transformer原有的attention机制,同时在训练中复杂度也从O(n

表1

以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号