一种基于RoBERTa模型的长文本语义相似度计算方法技术

技术编号:33243232 阅读:44 留言:0更新日期:2022-04-27 17:49
本发明专利技术提出了一种基于RoBERTa模型的长文本语义相似度计算方法,所述方法包括以下步骤:进行数据预处理,首先对两个文本进行分词,然后过滤掉停用词,再将过滤后的词进行合并,最后将两个文本按照标点符号进行分句;构建基于RoBERTa的句子语义相似度计算的模型;训练和评估基于RoBERTa的句子语义相似度计算的模型;使用基于RoBERTa的句子语义相似度计算的模型,求解两个文本的分句计算相似度而得的相似度矩阵;求出相似度矩阵每行或每列最大值构成的最大相似度向量;计算最大相似度向量各元素的平均值,即为两个文本的语义相似度。采用该基于RoBERTa模型的长文本语义相似度计算方法,能够计算任意长度的文本之间的相似度,从而可以从数据库中检索出与已知文本最相关的文档。文档。

【技术实现步骤摘要】
一种基于RoBERTa模型的长文本语义相似度计算方法


[0001]本专利技术涉及一种基于RoBERTa模型的长文本语义相似度计算方法,属于自然语言处理领域。

技术介绍

[0002]语义相似度计算是人工智能自然语言处理领域的基础任务之一,是文本查重、智能问答、搜索引擎等上层应用的基础支撑技术。语义相似度意在对于给定的两个文本,从语义的角度度量二者之间的相似性,通常会给出一个0到1之间的语义相似度分值,分值越高代表二者越相似。
[0003]现有的语义相似度方案有的基于字面进行计算,无法考虑语义上的相似性;有的方案基于Word2Vec等静态词向量计算语义相似度,无法考虑一词多义的情况;由于需要先进行分词,可能存在分词错误的情况,导致语义相似度计算的精确度较低。一个更重要的问题是,目前计算语义相似度的方法基本都是对词语或句子进行计算,很少会针对长篇文本进行计算。本专利技术基于上述问题进行了全面的改进,可以较准确地计算出长文本之间的相似度。

技术实现思路

[0004]本专利技术提出一种基于RoBERTa模型的长文本语义相似度计算方法。本专利技术的目的在于提供一种计算任意长度的文本之间的相似度的方法,从而可以从数据库中检索出与已知文本最相关的文档。
[0005]本专利技术技术方案如下:
[0006]进行数据预处理,首先对两个文本进行分词,然后过滤掉停用词,再将过滤后的词进行合并,最后将两个文本按照标点符号进行分句;
[0007]构建基于RoBERTa的句子语义相似度计算的模型;r/>[0008]训练和评估基于RoBERTa的句子语义相似度计算的模型;
[0009]使用基于RoBERTa的句子语义相似度计算的模型,求解两个文本的分句计算相似度而得的相似度矩阵;
[0010]求出相似度矩阵每行或每列最大值构成的最大相似度向量;
[0011]计算最大相似度向量各元素的平均值,即为两个文本的语义相似度。
[0012]本专利技术的有益效果为:语义相似度意在对于给定的两个文本,从语义的角度度量二者之间的相似性,给出一个0到1之间的语义相似度分值,分值越高代表二者越相似。本专利技术针对目前此类问题的解决方案中出现的问题,如只基于字面而未语义相似性、没有考虑一词多义、分词错误、基本没有针对长篇文本进行计算相似度的方案,提出了自己的求解方案,可以较准确地计算出长文本之间的相似度。
[0013]附图和附表说明
[0014]图1为本专利技术的算法整体流程图;
[0015]图2为数据预处理的流程图;
[0016]图3为Transformer模型的结构图;
[0017]图4为BERT模型预训练和微调的结构图;
[0018]图5为基于RoBERTa的句子语义相似度计算的模型图。
[0019]图6为基于RoBERTa的句子语义相似度计算的模型评估结果。
[0020]图7为两个文本的相似度矩阵示意图。
具体实施方式
[0021]下面将会描述该算法的思路,并给出算法的具体步骤。
[0022]步骤一:数据预处理
[0023]进行数据预处理,可以有效地去除掉文本中的无关信息,提高有效信息所占的比例,从而提高句子相似度计算的准确性。
[0024]在本专利技术中,数据预处理的步骤如下:首先对两个文本进行分词,然后过滤掉停用词,再将过滤后的词进行合并,最后将两个文本按照标点符号进行分句。具体的停用词可以通过分析语料来确定。
[0025]步骤二:构建基于RoBERTa的句子语义相似度计算的模型
[0026]2.1Transformer和BERT
[0027]在介绍RoBERTa模型之前,需要先介绍其基础的模型Transformer和BERT。与基于RNN的方法相比,Transformer不需要循环,而是并行处理序列中的所有单词或符号,同时利用自注意力机制将上下文与较远的单词结合起来。通过并行处理所有单词,并让每个单词在多个处理步骤中注意到句子中的其他单词。 Transformer的训练速度比RNN快很多,而且处理许多自然语言处理任务的效果也比RNN好得多。Transformer模型的结构图见图3。
[0028]BERT包含了两层双向Transfomer模型,仍然用多头注意力层作为其核心处理层。训练分为两个步骤:预训练(pre training)和微调(find

tuning)。预训练是为了在输入的词向量中融入上下文特征;微调是为了使BERT模型能适应不同的下游任务,包括分类、问答、序列标注等。经过预训练后的BERT模型,可以直接通过微调的方式用在各种具体的NLP任务中。两个步骤的结构图见图4。
[0029]BERT模型用两个无监督子任务训练出了两个子模型,它们分别是:遮蔽语言模型(Masked Language Model,MLM)和下一句预测(Next Sentence Prediction, NSP)模型。MLM模型的原理是先把待预测的子词抠掉,再根据上下文中提供的其他非屏蔽子词来预测被屏蔽子词的原始值。NSP模型的原理是输入一句话,让模型预测其下一句话。
[0030]2.2 RoBERTa模型
[0031]RoBERTa模型是人们在对原始BERT模型预训练的研究中,通过评估超参数调整和训练集大小的影响,针对其不足之处进行改进而得来的。RoBERTa模型与BERT模型一样,都属于预训练模型。不同的是,RoBERTa模型使用了更多的训练数据、更久的训练时间和更大的训练批次,对超参数和训练集也有修改,具体包括:
[0032]1.动态掩码:使用动态掩码策略(Dynamic Masking)的预训练过程,需要依赖随机掩盖和预测被掩盖的子词。RoBERTa模型为每个输入序列单独生成一个掩码,让训练的数据不重复。而在BERT模型的MLM子模型中,只执行一次随机掩盖和替换,并在训练期间保存这
种静态掩码策略,使得每次都使用相同掩码的训练数据,从而影响了数据的多样性。
[0033]2.训练数据:RoBERTa使用了160GB的训练数据,远超BERT所使用的16GB 的训练数据,具体包括:书籍文本及英文维基百科的文本,即BERT使用的 16GB训练集;2016年9月至2019年2月爬取的630万篇英文新闻稿的文本,共计75GB;从Reddi的高赞URL上爬取的网页文本,删除HTMIL标签后共计38GB;取自CommonCrawl数据集的一个故事集合,共计31GB。
[0034]3.取消了BERT模型中的NSP(下一个句子预测)子任务。经过RoBERTa模型和XLNet模型的验证,NSP子任务在BERT模型的预训练过程中是可以去掉的。
[0035]4.调整了优化器的参数。
[0036]5.使用了更大的字符编码(Byte

Pair Encoding,BPE),它是“字符”级和“单词”级表示的混合体,可以处理自然语言语料库中常见的大词本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于RoBERTa模型的长文本语义相似度计算方法,其特征在于,包括:步骤一,进行数据预处理,首先对两个文本进行分词,然后过滤掉停用词,再将过滤后的词进行合并,最后将两个文本按照标点符号进行分句;步骤二,构建基于RoBERTa的句子语义相似度计算的模型;步骤三,训练和评估基于RoBERTa的句子语义相似度计算的模型;步骤四,使用基于RoBERTa的句子语义相似度计算的模型,求解两个文本的分句计算相似度而得的相似度矩阵;步骤五,求出相似度矩阵每行或每列最大值构成的最大相似度向量;步骤六,计算最大相似度向量各元素的平均值,即为两个文本的语义相似度。2.如权利要求1所属方法,其特征在于,步骤一的数据预处理,首先对两个文本进行分词,然后过滤掉停用词,再将过滤后的词进行合并,最后将两个文本按照标点符号进行分句。使用此方法可以有效地去除掉文本中的无关信息,提高有效信息所占的比例,从而提高句子语义相似度计算的准确性...

【专利技术属性】
技术研发人员:周焕来唐小龙李家伟张博阳林思远孙靖哲陈璐贾海涛
申请(专利权)人:成都量子矩阵科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1