文本的处理方法及装置转让专利

申请号 : CN202110852574.1

文献号 : CN115700510A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 何瑞丹张琰邴立东李海洲

申请人 : 阿里巴巴新加坡控股有限公司新加坡国立大学

摘要 :

本发明公开了一种文本的处理方法及装置。其中,该方法包括:获取待处理文本;基于文本向量模型,生成所述待处理文本对应的目标文本向量;其中,所述文本向量模型基于未标注的样本数据,通过训练网络对预设的初始文本向量网络进行训练得到,所述训练网络由所述初始文本向量网络和预设的目标文本向量网络构成。本发明解决了相关技术中生成的文本向量准确度较低的技术问题。

权利要求 :

1.一种文本的处理方法,其特征在于,包括:

获取待处理文本;

基于文本向量模型,生成所述待处理文本对应的目标文本向量;

其中,所述文本向量模型基于未标注的样本数据,通过训练网络对预设的初始文本向量网络进行训练得到,所述训练网络由所述初始文本向量网络和预设的目标文本向量网络构成。

2.根据权利要求1所述的方法,其特征在于,所述初始文本向量网络至少包括:第一编码模型和预测模型,所述目标文本向量网络包括第二编码模型;

所述方法还包括:获取所述文本向量模型,其中,获取所述文本向量模型的步骤包括:获取未标注的所述样本数据和所述目标文本向量网络;

获取所述样本数据的两种增强表示,其中,所述两种增强表示通过对所述样本数据进行不同语种的反向翻译得到;

将所述两种增强表示分别输入至所述初始文本向量网络和所述目标文本向量网络,得到所述预测模型预测的预测文本向量和所述目标文本向量网络输出的输出文本向量;

基于所述预测文本向量和所述输出文本向量确定所述初始文本向量网络的损失函数;

基于所述损失函数优化所述初始文本向量网络的网络参数。

3.根据权利要求1所述的方法,其特征在于,获取所述样本数据的两种增强表示,包括:通过预设的第一翻译模型将第一语种的所述样本数据翻译为第二语种的样本数据,并将所述第二语种的样本数据翻译回所述第一语种,得到所述两种增强表示中的第一增强表示;

通过预设的第二翻译模型将第一语种的所述样本数据翻译为第三语种的样本数据,并将所述第三语种的样本数据翻译回所述第一语种,得到所述两种增强表示中的第二增强表示。

4.根据权利要求2所述的方法,其特征在于,获取所述文本向量模型的步骤还包括:获取预设的超参数,其中,所述超参数用于确定所述目标文本向量网络的参数更新速度;

基于所述初始文本向量网络的网络参数和所述超参数优化所述目标文本向量网络的网络参数。

5.根据权利要求2所述的方法,其特征在于,基于所述预测文本向量和所述输出文本向量确定所述初始文本向量网络的损失函数,包括:所述预测文本向量的第一范数和所述输出文本向量的第二范数;

获取所述预测文本向量与所述第一范数的第一商值,并获取所述输出文本向量与所述第二范数的第二商值;

确定所述第一商值与所述第二商值的点积为所述损失函数。

6.根据权利要求2所述的方法,其特征在于,

将所述两种增强表示分别输入至所述初始文本向量网络和所述目标文本向量网络,得到所述预测模型预测的预测文本向量和所述目标文本向量网络输出的输出文本向量,包括:将所述两种增强表示中的第一增强表示输入至所述初始文本向量网络,并将所述两种增强表示中的第二增强表示输入至所述目标文本向量网络,得到所述预测模型预测的第一预测文本向量和所述目标文本向量网络输出的第一输出文本向量;

将所述第二增强表示输入至所述初始文本向量网络,并将所述第一增强表示输入至所述目标文本向量网络,得到所述预测模型预测的第二预测文本向量和所述目标文本向量网络输出的第二输出文本向量;

基于所述预测文本向量和所述输出文本向量确定所述初始文本向量网络的损失函数,包括:基于所述第一预测文本向量和所述第一输出文本向量确定第一子损失函数,并基于所述第二预测文本向量和所述第二输出文本向量确定第二子损失函数;

将所述第一子损失函数和所述第二子损失函数进行加权,得到所述初始文本向量网络的损失函数。

7.根据权利要求2所述的方法,其特征在于,所述初始文本向量网络还包括第一池化层,所述目标文本向量网络还包括第二池化层,其中,所述第一池化层用于将所述第一编码模型输出的结果进行降维得到所述预测文本向量,所述第二池化层用于将所述第二编码模型输出的结果进行降维得到所述输出文本向量。

8.根据权利要求2所述的方法,其特征在于,所述预测模型由多层感知器构成。

9.根据权利要求1所述的方法,其特征在于,在基于文本向量模型,生成所述待处理文本对应的目标文本向量之后,所述方法还包括:基于所述目标文本向量在文本池中搜索与所述待处理文本的相似度参数高于预设值的候选文本。

10.一种文本的处理装置,其特征在于,包括:

获取模块,用于获取待处理文本;

生成模块,用于基于文本向量模型,生成所述待处理文本对应的目标文本向量;

其中,所述文本向量模型基于未标注的样本数据,通过训练网络对预设的初始文本向量网络进行训练得到,所述训练网络由所述初始文本向量网络和预设的目标文本向量网络构成。

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至9中任意一项所述文本的处理方法。

12.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至9中任意一项所述文本的处理方法。

说明书 :

文本的处理方法及装置

技术领域

[0001] 本发明涉及文本处理领域,具体而言,涉及一种文本的处理方法及装置。

背景技术

[0002] 在自然语言处理(NLP,Natural Language Processing)领域中,文本匹配技术通常以文本相似度计算、文本相关性计算的形式,在一些应用系统中起核心支撑作用。目前,可以通过无监督方法将句子映射到向量空间,这样语义相似的句子就会离的很近,可以用余弦距离来衡量句子间的相似度,研究人员将单个的句子输入到现有的模型中,并生成固定大小的文本向量,但是研究表示采用该方式得到文本向量准确度较低。
[0003] 针对上述的问题,目前尚未提出有效的解决方案。

发明内容

[0004] 本发明实施例提供了一种文本的处理方法及装置,以至少解决相关技术中生成的文本向量准确度较低的技术问题。
[0005] 根据本发明实施例的一个方面,提供了一种文本的处理方法,包括:获取待处理文本;基于文本向量模型,生成待处理文本对应的目标文本向量;其中,文本向量模型基于未标注的样本数据,通过训练网络对预设的初始文本向量网络进行训练得到,训练网络由初始文本向量网络和预设的目标文本向量网络构成。
[0006] 根据本发明实施例的另一个方面,提供了一种文本的处理装置,包括:获取模块,用于获取待处理文本;生成模块,用于基于文本向量模型,生成待处理文本对应的目标文本向量;其中,文本向量模型基于未标注的样本数据,通过训练网络对预设的初始文本向量网络进行训练得到,训练网络由初始文本向量网络和预设的目标文本向量网络构成。
[0007] 根据本申请实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述的文本的处理方法。
[0008] 根据本申请实施例的另一方面,还提供了一处理器,处理器用于运行存储器中存储的程序,其中,程序运行时执行上述的文本的处理方法。
[0009] 在本发明实施例中,可以获取待处理文本,并基于文本向量模型,生成待处理文本对应的目标文本向量,其中,文本向量模型基于未标注的样本数据,通过训练网络对预设的初始文本向量网络进行训练得到,训练网络由初始文本向量网络和预设的目标文本向量网络构成,实现了利用无监督方法训练得到准确度较高的文本向量模型,容易想到的是,采用无监督方法训练文本向量模型,可以使其不受数据标注和数据领域限制的同时保证文本向量模型处理时的效率以及准确率,进而解决了相关技术中生成的文本向量准确度较低的技术问题。
[0010] 进一步地,相对于现有技术中采用无监督的方法对模型进行训练,本申请中利用由初始文本向量网络和预设的目标文本向量网络构成的训练网络进行训练的过程不依赖于长文本,也不需要麻烦的负采样,其训练得到的文本向量模型效果提升非常显著,可以用于丰富的文本匹配应用,包括文本相似度计算、自然语言推理、智能问答系统、信息检索等。

附图说明

[0011] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0012] 图1是根据本发明实施例的一种用于实现文本的处理方法的计算机终端(或移动设备)的硬件结构框图;
[0013] 图2是根据本发明实施例的一种文本的处理方法的流程图;
[0014] 图3是根据本发明实施例的一种交互界面的示意图;
[0015] 图4是根据本发明实施例的一种训练网络的结构示意图;
[0016] 图5是根据本发明实施例的另一种文本的处理方法的流程图;
[0017] 图6是根据本发明实施例的另一种文本的处理装置的示意图;
[0018] 图7是根据本发明实施例的一种计算设备的结构框图。

具体实施方式

[0019] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0020] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0021] 首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
[0022] BERT(Bidirectional Encoder Representations from Transformers,基于变化器的双向编码器表示技术):是一种预训练的语言模型。
[0023] SBERT(Sentence Bidirectional Encoder Representations from Transformers,基于变化器的双向编码器的句子表示技术):是预训练语言模型BERT的拓展,可以用于有监督情况下的句子表示学习,以及迁移学习。
[0024] GloVe(Global Vectors for Word Representation,全局词向量):是一个基于全局词频统计的词表征(word representation)工具。
[0025] CNN(Cable News Network,卷积神经网络):一种基于卷积操作的神经网络结构。
[0026] 池化(Pooling):一种降采样的形式。
[0027] 表示学习(Representation Learning):又称特征学习,一般指的是自动学习有用的数据特征。
[0028] 无监督学习(Unsupervised Learning):是一种机器学习的训练方式,本质上是一个统计手段,在没有标签的数据里可以发现潜在的一些结构的一种训练方式。
[0029] 预训练(Pretrain):其是通过大量无标注的语言文本进行语言模型的训练,得到一套模型参数,利用这套参数对模型进行初始化,再根据具体任务在现有语言模型的基础上进行精调。
[0030] 孪生网络(Siamese network):是一种连体的神经网络,神经网络的连体是通过共享权值来实现的。
[0031] n‑gram:是一种基于统计语言模型的算法。
[0032] 目前,在NLP领域中,文本匹配技术通常以文本相似度计算、文本相关性计算的形式,在一些应用系统中起核心支撑作用,包括搜索引擎、智能问答、知识检索、信息流推荐等。例如,智能问答系统一般是从大量存储的文档(doc)中,选取与用户输入的查询(query)最匹配的文档,“doc”对应FAQ(Frequently Asked Questions,常见问题解答)中的问题(question),“query”对应用户的问题,“最匹配”对应语义相似度最高。BERT已经在句子对回归任务上取得了较好的效果,然而BERT使用交叉编码器,这需要将两个句子都输入到transformer(利用注意力机制来提高模型训练速度的模型)对目标值进行预测,但是这将引起大量的计算消耗,从1万个句子中找相似对,就需要使用BERT进行5千万推力计算,在现代的V100GPU(graphics processing unit,图形处理器)上操作耗时约65小时。另一个缺点是,这样训练BERT 是需要标注数据的,然而标注数据在很多领域都是基本没有的。
[0033] 对于上述的问题常用的解决方法就是使用无监督方法将句子映射到向量空间,这样语义相似的句子就会离的很近,可以用余弦距离来衡量句子间的相似度。研究人员已经开始将单个句子输入到BERT中,然后生成固定大小的句向量。一般是将BERT的输出层(也即BERT的向量)平均化或者通过使用第一个token(令牌)作为句向量,也即[CLS]token,其中,[CLS]这个标记的最终向量表示用来表征整个句子的向量。然而研究表示这种常见的方法会产生效果很差的句向量,通常比GloVe向量的平均更差。
[0034] 近几年有一些基于transformer(eg,BERT)进行无监督自学习的方法被提出,但是总的来说现有的无监督方法的效果都比有监督训练差很多,还有很大的提升空间。
[0035] 预训练BERT的改进版SBERT,使用二元或者三元网络结构来获得有语义意义的句向量,该向量可用于预选相似度计算。这能使寻找相似对的工作从BERT的65小时减少到SBERT的5秒,同时保证BERT的正确率。但是,此类改进是由高质量的监督学习引起的,并且我们发现,在目标任务的标记数据极为匮乏或测试集的分布与用于训练的数据集明显不同的情况下,其性能会显着下降。如何使用无监督的方法改进预训练 BERT,能不受数据标注和数据领域的限制同时保证BERT在比如语义文本相似等任务上的正确率和效率是一个很关键的问题。
[0036] 在2020年,有两个基于transformer的无监督句子表示学习被提出。Giorgiet al 提出最小化从同一个文档中采样出的文本片段的向量表示之间的距离。但是,该方法需要一个很长的文档(2048个token)作为输入才可以保证采样的丰富性,然而很多领域并没有符合要求的长文本,所以该方法的应用范围很有限。我们在EMNLP2020的一个工作(Zhang et al.2020)提出了基于最大化全局表示(句子表示)与局部表示(n‑gram 表示)之间互信息的自学习方法,然而该方法需要较费时的负采样,且局部表示可能不能很好捕捉句子级语义,即,采用该方法得到的结果准确度较低,固其结果仍有很大优化空间。
[0037] 为了解决上述问题,本申请提供了如下实现方案,通过由初始文本向量网络和预设的目标文本向量网络构成的训练网络训练得到文本向量模型,并基于文本向量模型,生成待处理文本对应的目标文本向量,能够使用无监督的方法改进文本向量模型,能不受数据标注和数据领域的限制同时保证文本向量模型在语义文本相似等任务上的正确率和效率。另外,相比于上述提到的无监督方法,本申请不依赖于长文本,也不需要麻烦的负采样,且效果提升非常显著,可以用于丰富的文本匹配应用,包括文本相似度计算、自然语言推理、智能问答系统、信息检索等。
[0038] 实施例1
[0039] 根据本发明实施例,还提供了一种文本的处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0040] 本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现文本的处理方法的计算机终端(或移动设备) 的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个 (图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口 (I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。
例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
[0041] 应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
[0042] 存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的文本的处理方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104 内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的漏洞检测方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0043] 传输模块106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
[0044] 显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
[0045] 此处需要说明的是,在一些可选实施例中,上述图1所示的计算机终端(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机终端(或移动设备)中的部件的类型。
[0046] 在图1所示的运行环境下,本申请提供了如图2所示的方法。图2是根据本发明实施例一的文本的处理方法的流程图。如图2所示,该方法可以包括以下步骤:
[0047] 步骤S202,获取待处理文本。
[0048] 具体的,待处理文本为待进行相似度匹配的文本,在不同的领域可以为不同的内容。
[0049] 在电商领域的应用场景中,上述的待处理文本可以是用户在网站购买商品之后反馈的评论,还可以是用户在购买商品时在智能客服的会话端输入的内容。
[0050] 在医疗领域的应用场景中,上述的待处理文本可以病例的文本。
[0051] 在教育领域的应用场景中,上述待处理文本可以为在学习辅导的应用程序中输入的题目,或者是智能问答系统中输入的问题。
[0052] 在文娱领域的应用场景中,上述待处理文本可以为影视资源中的台词。
[0053] 步骤S204,基于文本向量模型,生成待处理文本对应的目标文本向量。
[0054] 其中,文本向量模型基于未标注的样本数据,通过训练网络对预设的初始文本向量网络进行训练得到,训练网络由初始文本向量网络和预设的目标文本向量网络构成。
[0055] 上述的初始文本向量网络可以为在线网络(online network),上述的预设的目标文本向量网络可以为目标网络(target network)。
[0056] 上述的未标注的样本数据可以根据所需要的应用的场景进行获取。
[0057] 在一种可选的实施例中,若要利用文本向量模型对电商领域中用户反馈的评论进行相似度分类,则可以获取大量的用户评论作为样本数据输入至训练网络中,训练得到能够用于对评论进行分类的文本向量模型。
[0058] 在另一种可选的实施例中,若要利用文本向量模型对医疗领域中的病例文本进行相似度匹配,则可以获取大量的病例文本作为样本数据输入至训练网络中,训练得到能够用于获取到相似病例文本的文本向量模型。
[0059] 在另一种可选的实施例中,若要利用文本向量模型对教育领域中的智能问答系统中输入的问题进行相似度匹配,则可以获取大量用户所提出的问题作为样本数据输入至训练网络中,训练得到能够用于获取到与智能问答系统中存储的问题相似的问题。
[0060] 在另一种可选的实施例中,若要利用文本向量模型对文娱领域中的台词做相似度匹配,以便匹配到与该台词相对应的影视资源名称,则可以获取大量台词作为样本数据输入至训练网络中,训练得到能够用于获取到与该台词对应的影视资源名称。
[0061] 上述的初始文本向量网络和预设的目标文本向量网络可以是一对孪生网络,即训练网络的结构可以为孪生网络结构。
[0062] 在又一种可选的实施例中,在训练的过程中,为了避免得到没有意义的结果,可以只将初始文本向量网络进行更新,而预设的目标文本向量网络的更新可以根据初始文本向量网络的指数平均移动数进行更新,这样相当于预设的目标文本向量网络的输出被不断的优化,提供给了初始文本向量更好的学习目标,从而达到一个良好的训练效果,以便训练得到的文本向量模型精确度更高。
[0063] 可选地,初始文本向量网络至少包括:第一编码模型和预测模型,目标文本向量网络包括第二编码模型;该方法还包括:获取文本向量模型,其中,获取文本向量模型的步骤包括:获取未标注的样本数据和目标文本向量网络;获取样本数据的两种增强表示,其中,两种增强表示通过对样本数据进行不同语种的反向翻译得到;将两种增强表示分别输入至初始文本向量网络和目标文本向量网络,得到预测模型预测的预测文本向量和目标文本向量网络输出的输出文本向量;基于预测文本向量和输出文本向量确定初始文本向量网络的损失函数;基于损失函数优化初始文本向量网络的网络参数。
[0064] 上述的第一编码模型和第二编码模型可以将输入的文本变成向量。
[0065] 在一种可选的实施例中,可以先获取未标注的样本数据,并对样本数据进行处理,具体的,可以使用翻译系统先将样本数据翻译为其他的语种,然后再利用反向的翻译系统将其他语种的样本数据反向翻译为原先的语种,这样就可以得到一种增强表示;在得到另一种增强表示时,其翻译的语种可以与第一种增强表示中所翻译的语种不同。
[0066] 进一步地,将两种增强表示分别输入至初始文本向量网络和目标文本向量网络中,得到预测模型预测的预测文本向量和目标文本向量网络输出的输出文本向量;其中,预测文本向量为初始文本向量模型对样本数据的预测,并非是真实的文本向量,而目标文本向量中并没有增加预测模型,其输出文本向量为真实的文本向量,因此,可以基于预测文本向量和输出文本向量确定初始文本向量网络的损失函数,以便能够根据该损失函数优化初始文本向量网络的网络参数,使得训练得到的文本向量模型准确度更高。
[0067] 需要说明的是,损失函数是用来评价模型的预测值和真实值不一样的程度,损失函数越好,通常模型的性能越好。
[0068] 在一种可选的实施例中,为了更好的对文本向量模型进行训练,可以将获取到的未标注的样本数据传输给相应的处理设备进行处理,例如,直接传输给用户的计算机终端(例如,笔记本电脑、个人电脑等)进行处理,或者通过用户的计算机终端传输给云服务器进行处理。需要说明的是,由于未标注的样本数据需要大量的计算资源,在本申请实施例中以处理设备为云服务器为例进行说明。
[0069] 例如,为了方便用户上传未标注的样本数据,可以提供给用户一个交互界面,如图3所示,用户可以通过点击“选择数据”控件从已存储的大量未标注的样本数据中依次选择用于训练模型的未标注的样本数据,或者批量选择多个用于训练模型的未标注的样本数据,然后通过点击“上传”控件将用于训练模型的未标注的样本数据上传至云服务器进行训练。另外,为了方便用户确认上传至云服务器的样本数据是否为用于训练模型的样本数据,可以在“数据显示”区域中显示选择好的样本数据,在用户确认无误之后,通过点击“上传”控件进行数据上传。
[0070] 可选地,获取样本数据的两种增强表示,包括:通过预设的第一翻译模型将第一语种的样本数据翻译为第二语种的样本数据,并将第二语种的样本数据翻译回第一语种,得到两种增强表示中的第一增强表示;通过预设的第二翻译模型将第一语种的样本数据翻译为第三语种的样本数据,并将第三语种的样本数据翻译回第一语种,得到两种增强表示中的第二增强表示。
[0071] 在一种可选的实施例中,可以先通过预设的第一翻译模型将第一语种的样本数据翻译为第二语种的样本数据,然后将第二语种的样本数据翻译回第一语种,这样,就可以获得与原本的样本数据相似度差别较小的第一增强表示。
[0072] 示例性地,翻译模型可以为英文‑德文的翻译模型,使用英文‑德文的翻译模型还可以将英文的样本数据翻译为德文的样本数据,然后将德文的样本数据翻译回英文的样本数据,由于翻译模型会存在一定的偏差,导致返回英文样本数据与之前的英文样本数据存在一定的区别,但是由于是基于相同意义但是语种不同的文本进行翻译得到的,因此,样本数据的第一增强表示不会出现较大的偏差,有利于模型的训练。
[0073] 进一步地,可以通过预设的第二翻译模型将第一语种的样本数据翻译为第三语种的样本数据,并将第三语种的样本数据翻译回第一语种,得到第二增强表示,由于第二翻译模型翻译的与第一翻译模型翻译的语种存在不同,因此,所得到的第二增强表示与第一增强表示也会存在偏差。
[0074] 示例性地,翻译模型可以为英文‑法文的翻译模型,使用英文‑法文的翻译模型将英文的样本数据翻译为法文的样本数据,然后将法文的样本数据翻译回英文的样本数据,由于翻译模型会存在一定的偏差,导致返回英文样本数据与之前的英文样本数据存在一定的区别,但是由于是基于相同意义但是语种不同的文本进行翻译得到的,因此,样本数据的第二增强表示不会出现较大的偏差,另外,由于第二增强表示与第一增强表示并不相同,因此,可以基于两种不同的增强表示输入至训练网络中,以便训练网络可以基于两种不同的增强表示输出的预测值和真实值构成的损失函数对初始文本向量网络进行优化,从而使训练得到的文本向量模型精确度更好。
[0075] 可选地,获取文本向量模型的步骤还包括:获取预设的超参数,其中,超参数用于确定目标文本向量网络的参数更新速度;基于初始文本向量网络的网络参数和超参数优化目标文本向量网络的网络参数。
[0076] 上述预设的超参数可以为EMA(exponential moving average,指数平均移动数)。
[0077] 可以用如下式子表示优化目标文本向量网络的网络参数过程:
[0078] ξt←δξt‑1+(1‑δ)θt.
[0079] 其中,ξt和ξt‑1表示初始文本向量网络的参数,θ表示目标文本向量网络的参数,δ表示超参数。
[0080] 上述的δ为动量,当δ设置为1时,目标文本向量网络不会更新;当δ设置为0时,在每一步训练时,目标文本向量网络与初始文本向量网络同步。
[0081] 可选地,基于预测文本向量和输出文本向量确定初始文本向量网络的损失函数,包括:预测文本向量的第一范数和输出文本向量的第二范数;获取预测文本向量与第一范数的第一商值,并获取输出文本向量与第二范数的第二商值;确定第一商值与第二商值的点积为损失函数。
[0082] 可以将两种增强表示分别输入训练网络后得到损失函数:
[0083]
[0084] 其中,z1为预测文本向量,||z1||为第一范数, 为预测文本向量与第一范数的第一商值,h2为输出文本向量,||h2||为第二范数, 为输出文本向量与第二范数的第二商值。
[0085] 可选地,将两种增强表示分别输入至初始文本向量网络和目标文本向量网络,得到预测模型预测的预测文本向量和目标文本向量网络输出的输出文本向量,包括:将两种增强表示中的第一增强表示输入至初始文本向量网络,并将两种增强表示中的第二增强表示输入至目标文本向量网络,得到预测模型预测的第一预测文本向量和目标文本向量网络输出的第一输出文本向量;将第二增强表示输入至初始文本向量网络,并将第一增强表示输入至目标文本向量网络,得到预测模型预测的第二预测文本向量和目标文本向量网络输出的第二输出文本向量。
[0086] 在一种可选的实施例中,可以将两种增强表示分别输入训练网络后,在将两种增强表示互换后分别输入至训练网络,可以得到如下损失函数:
[0087]
[0088] 其中,z1为第一预测文本向量,h2为第一输出文本向量, 为第二预测文本向量,为第一输出文本向量。
[0089] 可选地,基于预测文本向量和输出文本向量确定初始文本向量网络的损失函数,包括:基于第一预测文本向量和第一输出文本向量确定第一子损失函数,并基于第二预测文本向量和第二输出文本向量确定第二子损失函数;将第一子损失函数和第二子损失函数进行加权,得到初始文本向量网络的损失函数。
[0090] 在一种可选的实施例中,可以将第一子损失函数和第二子损失函数的权值分别设置为0.5。
[0091] 在另一种可选的实施例中,可以基于第一预测文本向量和第一输出文本向量确定第一子损失函数为 基于第二预测文本向量和第二输出文本向量确定出第二子损失函数为
[0092] 可选地,初始文本向量网络还包括第一池化层,目标文本向量网络还包括第二池化层,其中,第一池化层用于将第一编码模型输出的结果进行降维得到预测文本向量,第二池化层用于将第二编码模型输出的结果进行降维得到输出文本向量。
[0093] 在一种可选的实施例中,通过第一池化层对第一编码模型输出的结果进行降维,以及通过第二池化层对第一编码模型输出的结果进行降维,可以简化网络计算的复杂度,并在一定程度上避免过拟合的出现,还可以对特征向量进行压缩,提取出主要的特征。
[0094] 可选地,预测模型由多层感知器构成。
[0095] 上述的多层感知器是一种前向结构的人工神经网络,可以映射一组输入向量到一组输出向量。
[0096] 可选地,在基于文本向量模型,生成待处理文本对应的目标文本向量之后,该方法还包括:基于目标文本向量在文本池中搜索与待处理文本的相似度参数高于预设值的候选文本。
[0097] 在一种可选的实施例中,在得到目标文本向量后,还可以基于目标文本向量在文本池中搜索与待处理文本的相似度参数高于预设值的候选文本,以便目标文本向量无法满足用户的使用需求时,可以选择候选文本,给予用户更多的选择。
[0098] 下面结合图4至图5对本申请一种优选的实施例进行详细说明。
[0099] 如图4所示,给定一个Original sentence x,即,无标注语料中采样的句子x,旨在学习一个函数f(x)可以将x映射到一个低维向量h=f(x)。可以孪生网络结构作为训练网络,其两个分支分别被叫做在线网络和目标网络,其中,在线网络为上述的初始文本向量网络,目标网络为上述的目标文本向量网络。
[0100] 如图4所示,第一分支中的在线网络由第一编码模型和预测模型构成,第二分支中的目标网络由第二编码模型构成。其中,在线网络的预测模型由一个三层的线性层构成。其中,fθ为第一编码器,fξ为第二编码器,pθ为预测模型, 为损失函数,z1为预测文本向量,h1和h2为分别为在线网络和目标网络的输出文本向量,x1和x2为分别输入至在线网络和目标网络的句子,EMA表示超参数,Stop‑grad表示禁止降维。
[0101] 如图5所示,图4中所示的模型的工作步骤如下:
[0102] 步骤S501,对于给定的x,可以采用反向翻译的方法得到两个增强表示;
[0103] 具体的,若x为英文文本,可以利用英文翻德文的翻译模型将x从英文翻译到德文,然后再使用一个德文翻译英文的翻译模型将得到的x的德文翻译翻回到英文由此可以得到一个增强表示,类似的,可以使用英文翻法文和法文翻英文的翻译模型得到另外的一个增强表示。
[0104] 步骤S502,将两个增强表示分别输入到在线网络和目标网络,并对输出的两个结果分别做池化得到h1和h2,使在线网络的侧的h1通过预测器得到一个和h1同样维度的 z1;
[0105] 步骤S503,训练得到z1和h2之间余弦距离;
[0106] 具体的,可以训练在线网络,使其能够预测目标网络的输出。为了避免得到无意义的结果,在训练过程中,只有在线网路一侧的参数会使用降维的方式进行更新,目标网络一侧的参数不针对降维进行更新,而是在线网络对应参数的超参数控制目标网络参数更新的速度。
[0107] 步骤S504,利用在线网络的文本向量作为最后的句子表示,即上述的目标文本向量。
[0108] 具体的,可以给定一个句子,通过池化在线网络的向量可以得到该句子的目标文本向量。
[0109] 通过上述步骤,本申请提出了一种无监督的对预训练语言模型进行微调进而学习句子表示的方法。相比于有监督的SBERT,本申请的文本向量模型不依赖于标注数据,不受领域限制。在多个基准测试中,效果能接近SBERT。
[0110] 相比于现有的无监督方法训练,本申请的文本向量模型不依赖于长文本,不需要麻烦的负采样,且效果提升非常显著。在相似度匹配的任务上平均超过之前较好的方法5.45%,在分类任务上超过0.93%。此外,上述的文本向量模型还可以轻松地应用到跨语言的场景下。
[0111] 上述步骤中的输入一个增强表示到在线网络,训练在线网络使其预测目标网络生成的另一个增强表示的结果。在线网络的参数通过目标网络进行更新,目标网络的参数通过EMA更新,这样相当于目标网络的输出不断被优化,提供给在线网络更好的学习目标。本申请所提出的方案限制少,基准任务上正确率和效率都更高,且可以用于丰富的文本匹配应用,包括文本相似度计算、自然语言推理、智能问答系统、信息检索等。
[0112] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0113] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的文本的处理方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
[0114] 实施例2
[0115] 根据本发明实施例,还提供了一种用于实施上述文本的处理方法的文本的处理装置,如图6所示,该装置600包括:获取模块62、生成模块64。
[0116] 其中,获取模块,用于获取待处理文本;生成模块,用于基于文本向量模型,生成待处理文本对应的目标文本向量;其中,文本向量模型基于未标注的样本数据,通过训练网络对预设的初始文本向量网络进行训练得到,训练网络由初始文本向量网络和预设的目标文本向量网络构成。
[0117] 此处需要说明的是,上述获取模块62、生成模块64对应于实施例1中的步骤S202 至步骤S204,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例 1提供的计算机终端10中。
[0118] 需要说明的是,本申请上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
[0119] 实施例3
[0120] 本发明的实施例可以提供一种计算设备,该计算设备可以是计算设备群中的任意一个计算设备设备。可选地,在本实施例中,上述计算设备也可以替换为移动终端等终端设备。
[0121] 可选地,在本实施例中,上述计算设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
[0122] 在本实施例中,上述计算设备可以执行应用程序的漏洞检测方法中以下步骤的程序代码:获取待处理文本;基于文本向量模型,生成待处理文本对应的目标文本向量;其中,文本向量模型基于未标注的样本数据,通过训练网络对预设的初始文本向量网络进行训练得到,训练网络由初始文本向量网络和预设的目标文本向量网络构成。
[0123] 可选地,图7是根据本发明实施例的一种计算设备的结构框图。如图7所示,该计算设备A可以包括:一个或多个(图中仅示出一个)处理器、存储器。
[0124] 其中,存储器可用于存储软件程序以及模块,如本发明实施例中的安全漏洞检测方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的系统漏洞攻击的检测方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0125] 处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取待处理文本;基于文本向量模型,生成待处理文本对应的目标文本向量;其中,文本向量模型基于未标注的样本数据,通过训练网络对预设的初始文本向量网络进行训练得到,训练网络由初始文本向量网络和预设的目标文本向量网络构成。
[0126] 可选地,上述处理器还可以执行如下步骤的程序代码:获取文本向量模型。
[0127] 可选地,上述处理器还可以执行如下步骤的程序代码:获取未标注的样本数据和目标文本向量网络;获取样本数据的两种增强表示,其中,两种增强表示通过对样本数据进行不同语种的反向翻译得到;将两种增强表示分别输入至初始文本向量网络和目标文本向量网络,得到预测模型预测的预测文本向量和目标文本向量网络输出的输出文本向量;基于预测文本向量和输出文本向量确定初始文本向量网络的损失函数;基于损失函数优化初始文本向量网络的网络参数。
[0128] 可选地,上述处理器还可以执行如下步骤的程序代码:通过预设的第一翻译模型将第一语种的样本数据翻译为第二语种的样本数据,并将第二语种的样本数据翻译回第一语种,得到两种增强表示中的第一增强表示;通过预设的第二翻译模型将第一语种的样本数据翻译为第三语种的样本数据,并将第三语种的样本数据翻译回第一语种,得到两种增强表示中的第二增强表示。
[0129] 可选地,上述处理器还可以执行如下步骤的程序代码:获取预设的超参数,其中,超参数用于确定目标文本向量网络的参数更新速度;基于初始文本向量网络的网络参数和超参数优化目标文本向量网络的网络参数。
[0130] 可选地,上述处理器还可以执行如下步骤的程序代码:预测文本向量的第一范数和输出文本向量的第二范数;获取预测文本向量与第一范数的第一商值,并获取输出文本向量与第二范数的第二商值;确定第一商值与第二商值的点积为损失函数。
[0131] 可选地,上述处理器还可以执行如下步骤的程序代码:将两种增强表示中的第一增强表示输入至初始文本向量网络,并将两种增强表示中的第二增强表示输入至目标文本向量网络,得到预测模型预测的第一预测文本向量和目标文本向量网络输出的第一输出文本向量;将第二增强表示输入至初始文本向量网络,并将第一增强表示输入至目标文本向量网络,得到预测模型预测的第二预测文本向量和目标文本向量网络输出的第二输出文本向量。
[0132] 可选地,上述处理器还可以执行如下步骤的程序代码:基于第一预测文本向量和第一输出文本向量确定第一子损失函数,并基于第二预测文本向量和第二输出文本向量确定第二子损失函数;将第一子损失函数和第二子损失函数进行加权,得到初始文本向量网络的损失函数。
[0133] 可选地,上述处理器还可以执行如下步骤的程序代码:初始文本向量网络还包括第一池化层,目标文本向量网络还包括第二池化层,其中,第一池化层用于将第一编码模型输出的结果进行降维得到预测文本向量,第二池化层用于将第二编码模型输出的结果进行降维得到输出文本向量。
[0134] 可选地,上述处理器还可以执行如下步骤的程序代码:预测模型由多层感知器构成。
[0135] 可选地,上述处理器还可以执行如下步骤的程序代码:基于目标文本向量在文本池中搜索与待处理文本的相似度参数高于预设值的候选文本。
[0136] 本领域普通技术人员可以理解,图7所示的结构仅为示意,计算设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备 (Mobile Internet Devices,MID)、PAD等终端设备。图7其并不对上述电子装置的结构造成限定。例如,计算设备10还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图10所示不同的配置。
[0137] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,计算机可读存储介质可以包括:闪存盘、只读存储器(Read‑Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
[0138] 实施例4
[0139] 本发明的实施例还提供了一种计算机可读存储介质。可选地,在本实施例中,上述计算机可读存储介质可以用于保存上述实施例一所提供的文本的处理方法所执行的程序代码。
[0140] 可选地,在本实施例中,上述计算机可读存储介质可以位于计算机网络中计算设备群中的任意一个计算设备中,或者位于移动终端群中的任意一个移动终端中。
[0141] 可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:获取待处理文本;基于文本向量模型,生成待处理文本对应的目标文本向量;其中,文本向量模型基于未标注的样本数据,通过训练网络对预设的初始文本向量网络进行训练得到,训练网络由初始文本向量网络和预设的目标文本向量网络构成。
[0142] 可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:获取文本向量模型。
[0143] 可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:获取未标注的样本数据和目标文本向量网络;获取样本数据的两种增强表示,其中,两种增强表示通过对样本数据进行不同语种的反向翻译得到;将两种增强表示分别输入至初始文本向量网络和目标文本向量网络,得到预测模型预测的预测文本向量和目标文本向量网络输出的输出文本向量;基于预测文本向量和输出文本向量确定初始文本向量网络的损失函数;基于损失函数优化初始文本向量网络的网络参数。
[0144] 可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:通过预设的第一翻译模型将第一语种的样本数据翻译为第二语种的样本数据,并将第二语种的样本数据翻译回第一语种,得到两种增强表示中的第一增强表示;通过预设的第二翻译模型将第一语种的样本数据翻译为第三语种的样本数据,并将第三语种的样本数据翻译回第一语种,得到两种增强表示中的第二增强表示。
[0145] 可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:获取预设的超参数,其中,超参数用于确定目标文本向量网络的参数更新速度;基于初始文本向量网络的网络参数和超参数优化目标文本向量网络的网络参数。
[0146] 可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:预测文本向量的第一范数和输出文本向量的第二范数;获取预测文本向量与第一范数的第一商值,并获取输出文本向量与第二范数的第二商值;确定第一商值与第二商值的点积为损失函数。
[0147] 可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:将两种增强表示中的第一增强表示输入至初始文本向量网络,并将两种增强表示中的第二增强表示输入至目标文本向量网络,得到预测模型预测的第一预测文本向量和目标文本向量网络输出的第一输出文本向量;将第二增强表示输入至初始文本向量网络,并将第一增强表示输入至目标文本向量网络,得到预测模型预测的第二预测文本向量和目标文本向量网络输出的第二输出文本向量。
[0148] 可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:基于第一预测文本向量和第一输出文本向量确定第一子损失函数,并基于第二预测文本向量和第二输出文本向量确定第二子损失函数;将第一子损失函数和第二子损失函数进行加权,得到初始文本向量网络的损失函数。
[0149] 可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:初始文本向量网络还包括第一池化层,目标文本向量网络还包括第二池化层,其中,第一池化层用于将第一编码模型输出的结果进行降维得到预测文本向量,第二池化层用于将第二编码模型输出的结果进行降维得到输出文本向量。
[0150] 可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:预测模型由多层感知器构成。
[0151] 可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:基于目标文本向量在文本池中搜索与待处理文本的相似度参数高于预设值的候选文本。
[0152] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0153] 在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0154] 在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0155] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0156] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0157] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括: U盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0158] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。