CN113743110B - 一种基于微调生成式对抗网络模型的漏词检测方法及系统 - Google Patents
一种基于微调生成式对抗网络模型的漏词检测方法及系统 Download PDFInfo
- Publication number
- CN113743110B CN113743110B CN202111309983.3A CN202111309983A CN113743110B CN 113743110 B CN113743110 B CN 113743110B CN 202111309983 A CN202111309983 A CN 202111309983A CN 113743110 B CN113743110 B CN 113743110B
- Authority
- CN
- China
- Prior art keywords
- sequence
- word
- detected
- vector
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于微调生成式对抗网络模型的漏词检测方法及系统,将待检测的文本语料预处理后成为多个分词组成的序列,并将序列中的分词按照ERNIE的词表读取为嵌入向量Embedding,将多个分词的嵌入向量Embedding组成向量序列Eseq,使用距离公式计算得到生成序列与标准序列之间的距离作为阈值,对待检测序列进行预处理得到待检测输入序列,将待检测输入序列输入生成网络得到待检测生成序列,将待检测生成序列与标准序列的距离与阈值进行比较,若大于阈值则存在漏词,达到了快速且低计算成本地检测文本序列中异常情况的效果。
Description
技术领域
本发明属于人工智能领域,具体涉及一种基于微调生成式对抗网络模型的漏词检测方法及系统。
背景技术
漏词检测主要针对音近和形近,以及漏一字和多一字。针对漏一字或者多一字,例如“优化工作流”最后一个词“流程”漏掉了一个字“程”,这个主要校对依据是从候选词里面选出包含“流”的词。但如果整个词都没有了,例如此时句子若为“优化工作”则难以确定后面应该要用什么词,对于符合的搭配的概率计算预筛选成为了技术难题。
发明内容
本发明的目的在于提出一种基于微调生成式对抗网络模型的漏词检测方法及系统,以解决现有技术中所存在的一个或多个技术问题,至少提供一种有益的选择或创造条件。
对漏词检测的概率计算的时间成本极大,对于符合的搭配的概率计算预筛选成为了技术难题。
本发明提供了一种基于微调生成式对抗网络模型的漏词检测方法及系统,将待检测的文本语料预处理后成为多个分词组成的序列,并将序列中的分词按照ERNIE的词表读取为嵌入向量Embedding,将多个分词的嵌入向量Embedding组成向量序列Eseq,将Iseq输入生成网络得到生成序列,将Eseq输入判别网络得到标准序列,使用距离公式计算得到生成序列与标准序列之间的距离作为阈值,对待检测序列进行预处理得到待检测输入序列,将待检测输入序列输入生成网络得到待检测生成序列,将待检测生成序列与标准序列的距离与阈值进行比较,若大于阈值则存在漏词。
为了实现上述目的,根据本发明的一方面,提供一种基于微调生成式对抗网络模型的漏词检测方法,所述方法包括以下步骤:
S100,将两个不同的预训练语言模型ERNIE分别作为生成网络和判别网络;
S200,将待检测的文本语料预处理后成为多个分词组成的序列,并将序列中的分词按照ERNIE的词表读取为嵌入向量Embedding,将多个分词的嵌入向量Embedding组成向量序列Eseq;
S300,将向量序列Eseq进行复制并打乱元素顺序,进而进行预处理,得到输入序列Iseq;
S400,将Iseq输入生成网络得到生成序列,将Eseq输入判别网络得到标准序列;
S500,使用距离公式计算得到生成序列与标准序列之间的距离作为阈值;
S600,通过HBase实时获取少样本数据作为待检测序列,对待检测序列进行预处理得到待检测输入序列,将待检测输入序列输入生成网络得到待检测生成序列,将待检测生成序列与标准序列的距离与阈值进行比较,若大于阈值则存在漏词。
进一步地,在S100中,将两个不同的预训练语言模型ERNIE分别作为生成网络和判别网络的方法为:选取两个不同的ERNIE模型,所述ERNIE模型为公开的预训练语言模型,将其中一个ERNIE模型记作生成网络,将另一个ERNIE模型记作判别网络。
进一步地,在S200中,将待检测的文本语料预处理后成为多个分词组成的序列,并将序列中的分词按照ERNIE的词表读取为嵌入向量Embedding,将多个分词的嵌入向量Embedding组成向量序列Eseq的方法为:将待检测的文本语料读取为字符串并使用HanLP进行分词后得到多个分词组成的序列,并将序列中的分词按照ERNIE的词表读取为嵌入向量Embedding,将多个分词的嵌入向量Embedding组成向量序列Eseq。
进一步地,在S300中,将向量序列Eseq进行复制并打乱元素顺序,进而进行预处理,得到输入序列Iseq的方法为:将向量序列Eseq中元素的数量记作n,向量序列中元素的序号记作i,i∈[1,n],将向量序列Eseq复制出m-1个同样的向量序列,将m-1个同样的向量序列分别打乱各自的元素的顺序得到m-1个复制的向量序列,把向量序列Eseq与m-1个复制的向量序列作为m个向量序列,进而将m个向量序列组成一个大小为mⅹn的矩阵记作矩阵Mseq,其中,m为矩阵Mseq的行数,即矩阵Mseq的每一行为一个向量序列,矩阵Mseq中的行的序号为j,j∈[1,m],矩阵Mseq的列数同样为n,矩阵Mseq的列的序号同样为i,即矩阵Mseq中序号为i的列由m个向量序列中各自的序号为i的元素组成,记矩阵Mseq中列的序号为i的元素为Mseq(,i),记矩阵Mseq中序号为j的行的元素为Mseq(j,),记矩阵Mseq中行的序号为j、列的序号为i的元素为Mseq(j,i),令一个零嵌入为一个与嵌入向量Embedding大小相同但元素全为零的嵌入向量,记进行预处理的过程为:
S301,定义筛选因子,所述筛选因子为根据矩阵的一个元素在该矩阵中的行与列的序号计算所得的一个数值,记筛选因子函数为根据矩阵的一个元素在该矩阵中的行与列的序号计算出筛选因子的函数,记筛选因子函数为函数Fil(),Fil(j,i)表示通过函数Fil()计算Mseq(j,i)的筛选因子,Fil(j,i)的计算公式为:
其中,cos()为余弦函数,sin()为正弦函数,π为圆周率;
S302,利用函数Fil()将矩阵Mseq中各位置的元素转化为对应的筛选因子,由矩阵Mseq中各位置的元素对应的筛选因子组成的矩阵记为筛选因子矩阵Mfil,Fil(j,i)为筛选因子矩阵Mfil中行的序号为j、列的序号为i的元素,Mfil可记为:
筛选因子矩阵Mfil中各行、列的元素为0或1;
S303,将筛选因子矩阵Mfil中为0的元素的对应的在矩阵Mseq中相同行、列序号的位置的元素改变为零嵌入,并将矩阵Mseq部分的元素改变为零嵌入后所得的矩阵记为矩阵Mz;
S304,将矩阵Mz转化为输入序列Iseq的步骤如下:
S304-1, 设置空序列Iseq,序列Iseq具有有序性,序列Iseq中可加入的元素为向量;转到S304-2;
S304-2,令变量j的初始值为1;转到S304-3;
S304-3,获取矩阵Mz中序号为j的行中的各元素;转到S304-4;
S304-4,将矩阵Mz中序号为j的行中的各元素加入序列Iseq中;转到S304-5;
S304-5,将j的数值增加1;转到S304-6;
S304-6,判断j是否大于m,若是则转到S304-7,若否则转到S304-3;
S304-7,输出序列Iseq;
其中,输出的序列Iseq即为输入序列Iseq。
进一步地,在S400中,将Iseq输入生成网络得到生成序列,将Eseq输入判别网络得到标准序列的方法为:对生成网络进行微调,即把生成网络中的模型参数从静态计算图打开为动态计算图,并将Iseq输入生成网络,利用ERNIE模型的Mask Prediction掩盖生成机制,生成网络输出生成序列,生成序列为字符串组成的序列;
判别网络中的模型参数保持静态计算图,并将Eseq输入判别网络中,判别网络输出标准序列,标准序列为字符串组成的序列。
进一步地,在S500中,使用距离公式计算得到生成序列与标准序列之间的距离作为阈值的方法为:将生成序列中的各元素通过读取GloVe词向量转化为词向量,将生成序列中的各元素转化得到的词向量组成的序列记为Cseq;
将标准序列中的各元素通过读取GloVe词向量转化为词向量,将标准序列中的各元素转化得到的词向量组成的序列记为Rseq;
词向量中的维度的数量为k,词向量中的维度的序号为变量v,v∈[1,k];
记Cseq中元素的数量为cn,Cseq中元素的序号为ci,ci∈[1,cn],Cseq中序号为ci的元素记为Cseq(ci),将Cseq(ci)中的在词向量中序号为v的维度记为Cseq(ci,v);
记Rseq中元素的数量为rn,Rseq中元素的序号为ri,ri∈[1,rn],Rseq中序号为ri的元素记为Rseq(ri),将Rseq(ri)中的在词向量中序号为v的维度记为Rseq(ri,v);
令距离公式的计算函数记作函数Fus(),Fus(Cseq, Rseq)表示通过函数Fus()使用距离公式计算生成序列与标准序列之间的距离,函数Fus()的计算公式如下:
函数Fus()的计算公式即为距离公式,Fus(Cseq, Rseq)的计算结果即为阈值。
进一步地,在S600中,通过HBase实时获取少样本数据作为待检测序列,对待检测序列进行预处理得到待检测输入序列,将待检测输入序列输入生成网络得到待检测生成序列,将待检测生成序列与标准序列的距离与阈值进行比较,若大于阈值则存在漏词的方法为:从HBase的存储中获取少样本数据,所述少样本数据为字符串数据,将所述少样本数据使用分词算法进行分词得到多个分词并将各个分词组成的序列作为待检测序列,进而将待检测序列中的分词按照ERNIE的词表读取为嵌入向量并将各个分词的嵌入向量组成的向量序列作为待检测输入序列,将待检测输入序列输入生成网络得到待检测生成序列,待检测生成序列为字符串组成的序列,将待检测生成序列中各元素通过读取GloVe词向量转化为词向量得到的词向量的序列记作Tcseq;
将标准序列中的各元素通过读取GloVe词向量转化为词向量,将标准序列中的各元素转化得到的词向量组成序列Rseq;
使用距离公式计算得到待检测生成序列与标准序列之间的距离记作ρ,若ρ大于阈值,则判断该待检测序列存在漏词的错误。
本发明还提供了一种基于微调生成式对抗网络模型的漏词检测系统,所述一种基于微调生成式对抗网络模型的漏词检测系统包括:处理器、存储器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述一种基于微调生成式对抗网络模型的漏词检测方法中的步骤,所述一种基于微调生成式对抗网络模型的漏词检测系统可以运行于桌上型计算机、笔记本、掌上电脑及云端数据中心等计算设备中,可运行的系统可包括,但不仅限于,处理器、存储器、服务器集群,所述处理器执行所述计算机程序运行在以下系统的单元中:
预训练语言模型单元,用于将两个不同的预训练语言模型ERNIE分别作为生成网络、判别网络;
预处理嵌入单元,用于将待检测的文本语料预处理后成为多个分词组成的序列并将序列中的分词按照ERNIE的词表读取为嵌入向量Embedding,将多个分词的嵌入向量Embedding组成向量序列Eseq;
输入序列处理单元,用于将向量序列Eseq进行复制并打乱元素顺序进而进行预处理得到输入序列Iseq;
标准序列处理单元,用于将Iseq输入生成网络得到生成序列并将Eseq输入判别网络得到标准序列;
阈值计算单元,用于使用距离公式计算得到生成序列与标准序列之间的距离作为阈值;
漏词计算检测单元,用于通过HBase实时获取少样本数据作为待检测序列对待检测序列进行预处理得到待检测输入序列,将待检测输入序列输入生成网络得到待检测生成序列将待检测生成序列与标准序列的距离与阈值进行比较,若大于阈值则存在漏词。
本发明的有益效果为:本发明提供了一种基于微调生成式对抗网络模型的漏词检测方法及系统,将待检测的文本语料预处理后成为多个分词组成的序列,并将序列中的分词按照ERNIE的词表读取为嵌入向量Embedding,将多个分词的嵌入向量Embedding组成向量序列Eseq,使用距离公式计算得到生成序列与标准序列之间的距离作为阈值,对待检测序列进行预处理得到待检测输入序列,将待检测输入序列输入生成网络得到待检测生成序列,将待检测生成序列与标准序列的距离与阈值进行比较,若大于阈值则存在漏词,达到了快速且低计算成本地检测文本序列中异常情况的效果。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将更加明显,本发明附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:
图1所示为一种基于微调生成式对抗网络模型的漏词检测方法的流程图;
图2所示为一种基于微调生成式对抗网络模型的漏词检测系统的系统结构图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
如图1所示为根据本发明的一种基于微调生成式对抗网络模型的漏词检测方法的流程图,下面结合图1来阐述根据本发明的实施方式的一种基于微调生成式对抗网络模型的漏词检测方法及系统。
本发明提出一种基于微调生成式对抗网络模型的漏词检测方法,所述方法具体包括以下步骤:
S100,将两个不同的预训练语言模型ERNIE分别作为生成网络和判别网络;
S200,将待检测的文本语料预处理后成为多个分词组成的序列,并将序列中的分词按照ERNIE的词表读取为嵌入向量Embedding,将多个分词的嵌入向量Embedding组成向量序列Eseq;
S300,将向量序列Eseq进行复制并打乱元素顺序,进而进行预处理,得到输入序列Iseq;
S400,将Iseq输入生成网络得到生成序列,将Eseq输入判别网络得到标准序列;
S500,使用距离公式计算得到生成序列与标准序列之间的距离作为阈值;
S600,通过HBase实时获取少样本数据作为待检测序列,对待检测序列进行预处理得到待检测输入序列,将待检测输入序列输入生成网络得到待检测生成序列,将待检测生成序列与标准序列的距离与阈值进行比较,若大于阈值则存在漏词。
进一步地,在S100中,将两个不同的预训练语言模型ERNIE分别作为生成网络和判别网络的方法为:选取两个不同的ERNIE模型,所述ERNIE模型为公开的预训练语言模型,将其中一个ERNIE模型记作生成网络,将另一个ERNIE模型记作判别网络。
进一步地,在S200中,将待检测的文本语料预处理后成为多个分词组成的序列,并将序列中的分词按照ERNIE的词表读取为嵌入向量Embedding,将多个分词的嵌入向量Embedding组成向量序列Eseq的方法为:将待检测的文本语料读取为字符串并使用HanLP进行分词后得到多个分词组成的序列,并将序列中的分词按照ERNIE的词表读取为嵌入向量Embedding,将多个分词的嵌入向量Embedding组成向量序列Eseq。
进一步地,在S300中,将向量序列Eseq进行复制并打乱元素顺序,进而进行预处理,得到输入序列Iseq的方法为:将向量序列Eseq中元素的数量记作n,向量序列中元素的序号记作i,i∈[1,n],将向量序列Eseq复制出m-1个同样的向量序列,将m-1个同样的向量序列分别打乱各自的元素的顺序得到m-1个复制的向量序列,把向量序列Eseq与m-1个复制的向量序列作为m个向量序列,进而将m个向量序列组成一个大小为mⅹn的矩阵记作矩阵Mseq,其中,m为矩阵Mseq的行数,即矩阵Mseq的每一行为一个向量序列,矩阵Mseq中的行的序号为j,j∈[1,m],矩阵Mseq的列数同样为n,矩阵Mseq的列的序号同样为i,即矩阵Mseq中序号为i的列由m个向量序列中各自的序号为i的元素组成,记矩阵Mseq中列的序号为i的元素为Mseq(,i),记矩阵Mseq中序号为j的行的元素为Mseq(j,),记矩阵Mseq中行的序号为j、列的序号为i的元素为Mseq(j,i),令一个零嵌入为一个与嵌入向量Embedding大小相同但元素全为零的嵌入向量,记进行预处理的过程为:
S301,定义筛选因子,所述筛选因子为根据矩阵的一个元素在该矩阵中的行与列的序号计算所得的一个数值,记筛选因子函数为根据矩阵的一个元素在该矩阵中的行与列的序号计算出筛选因子的函数,记筛选因子函数为函数Fil(),Fil(j,i)表示通过函数Fil()计算Mseq(j,i)的筛选因子,Fil(j,i)的计算公式为:
其中,cos()为余弦函数,sin()为正弦函数,π为圆周率;
S302,利用函数Fil()将矩阵Mseq中各位置的元素转化为对应的筛选因子,由矩阵Mseq中各位置的元素对应的筛选因子组成的矩阵记为筛选因子矩阵Mfil,Fil(j,i)为筛选因子矩阵Mfil中行的序号为j、列的序号为i的元素,Mfil可记为:
筛选因子矩阵Mfil中各行、列的元素皆为0或1;
S303,将筛选因子矩阵Mfil中为0的元素的对应的在矩阵Mseq中相同行、列序号的位置的元素改变为零嵌入,并将矩阵Mseq部分的元素改变为零嵌入后所得的矩阵记为矩阵Mz;
其中,可优选地,实现的代码可包括:
from utils import *
class Mfil:
def removeNthFromEnd(self, mseq, j):
"""
将向量序列Eseq进行复制并打乱元素顺序,
"""
mseq0 = ListNode(0)
mseq0.next = mseq
mz = mseq0
stride = mseq0
#进而进行预处理,得到输入序列Iseq
for _ in range(j):
mz = mz.next
while mz.next:
stride = stride.next
mz = mz.next
node = stride.next
stride.next = node.next
node.next = None
return [mseq0.next];
S304,将矩阵Mz转化为输入序列Iseq的步骤如下:
S304-1, 设置空序列Iseq,序列Iseq具有有序性,序列Iseq中可加入的元素为向量;转到S304-2;
S304-2,令变量j的初始值为1;转到S304-3;
S304-3,获取矩阵Mz中序号为j的行中的各元素;转到S304-4;
S304-4,将矩阵Mz中序号为j的行中的各元素加入序列Iseq中;转到S304-5;
S304-5,将j的数值增加1;转到S304-6;
S304-6,判断j是否大于m,若是则转到S304-7,若否则转到S304-3;
S304-7,输出序列Iseq;
其中,输出的序列Iseq即为输入序列Iseq。
进一步地,在S400中,将Iseq输入生成网络得到生成序列,将Eseq输入判别网络得到标准序列的方法为:对生成网络进行微调,即把生成网络中的模型参数从静态计算图打开为动态计算图,并将Iseq输入生成网络,利用ERNIE模型的Mask Prediction掩盖生成机制,生成网络输出生成序列,生成序列为字符串组成的序列;
判别网络中的模型参数保持静态计算图,并将Eseq输入判别网络中,判别网络输出标准序列,标准序列为字符串组成的序列。
进一步地,在S500中,使用距离公式计算得到生成序列与标准序列之间的距离作为阈值的方法为:将生成序列中的各元素通过读取GloVe词向量转化为词向量,将生成序列中的各元素转化得到的词向量组成的序列记为Cseq;
将标准序列中的各元素通过读取GloVe词向量转化为词向量,将标准序列中的各元素转化得到的词向量组成的序列记为Rseq;
词向量中的维度的数量为k,词向量中的维度的序号为变量v,v∈[1,k];
记Cseq中元素的数量为cn,Cseq中元素的序号为ci,ci∈[1,cn],Cseq中序号为ci的元素记为Cseq(ci),将Cseq(ci)中的在词向量中序号为v的维度记为Cseq(ci,v);
记Rseq中元素的数量为rn,Rseq中元素的序号为ri,ri∈[1,rn],Rseq中序号为ri的元素记为Rseq(ri),将Rseq(ri)中的在词向量中序号为v的维度记为Rseq(ri,v);
令距离公式的计算函数记作函数Fus(),Fus(Cseq, Rseq)表示通过函数Fus()使用距离公式计算生成序列与标准序列之间的距离,函数Fus()的计算公式如下:
函数Fus()的计算公式即为距离公式,Fus(Cseq, Rseq)的计算结果即为阈值。
进一步地,在S600中,通过HBase实时获取少样本数据作为待检测序列,对待检测序列进行预处理得到待检测输入序列,将待检测输入序列输入生成网络得到待检测生成序列,将待检测生成序列与标准序列的距离与阈值进行比较,若大于阈值则存在漏词的方法为:从HBase的存储中获取少样本数据,所述少样本数据为字符串数据,将所述少样本数据使用分词算法进行分词得到多个分词并将各个分词组成的序列作为待检测序列,进而将待检测序列中的分词按照ERNIE的词表读取为嵌入向量并将各个分词的嵌入向量组成的向量序列作为待检测输入序列,将待检测输入序列输入生成网络得到待检测生成序列,待检测生成序列为字符串组成的序列,将待检测生成序列中各元素通过读取GloVe词向量转化为词向量得到的词向量的序列记作Tcseq;
将标准序列中的各元素通过读取GloVe词向量转化为词向量,将标准序列中的各元素转化得到的词向量组成序列Rseq;
使用距离公式计算得到待检测生成序列与标准序列之间的距离记作ρ,若ρ大于阈值,则判断该待检测序列存在漏词的错误。
所述一种基于微调生成式对抗网络模型的漏词检测系统包括:处理器、存储器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于微调生成式对抗网络模型的漏词检测方法实施例中的步骤,所述一种基于微调生成式对抗网络模型的漏词检测系统可以运行于桌上型计算机、笔记本、掌上电脑及云端数据中心等计算设备中,可运行的系统可包括,但不仅限于,处理器、存储器、服务器集群。
本发明的实施例提供的一种基于微调生成式对抗网络模型的漏词检测系统,如图2所示,该实施例的一种基于微调生成式对抗网络模型的漏词检测系统包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于微调生成式对抗网络模型的漏词检测方法实施例中的步骤,所述处理器执行所述计算机程序运行在以下系统的单元中:
预训练语言模型单元,用于将两个不同的预训练语言模型ERNIE分别作为生成网络、判别网络;
预处理嵌入单元,用于将待检测的文本语料预处理后成为多个分词组成的序列并将序列中的分词按照ERNIE的词表读取为嵌入向量Embedding,将多个分词的嵌入向量Embedding组成向量序列Eseq;
输入序列处理单元,用于将向量序列Eseq进行复制并打乱元素顺序进而进行预处理得到输入序列Iseq;
标准序列处理单元,用于将Iseq输入生成网络得到生成序列并将Eseq输入判别网络得到标准序列;
阈值计算单元,用于使用距离公式计算得到生成序列与标准序列之间的距离作为阈值;
漏词计算检测单元,用于通过HBase实时获取少样本数据作为待检测序列对待检测序列进行预处理得到待检测输入序列,将待检测输入序列输入生成网络得到待检测生成序列将待检测生成序列与标准序列的距离与阈值进行比较,若大于阈值则存在漏词。
所述一种基于微调生成式对抗网络模型的漏词检测系统可以运行于桌上型计算机、笔记本、掌上电脑及云端数据中心等计算设备中。所述一种基于微调生成式对抗网络模型的漏词检测系统包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种基于微调生成式对抗网络模型的漏词检测方法及系统的示例,并不构成对一种基于微调生成式对抗网络模型的漏词检测方法及系统的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种基于微调生成式对抗网络模型的漏词检测系统还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立元器件门电路或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种基于微调生成式对抗网络模型的漏词检测系统的控制中心,利用各种接口和线路连接整个一种基于微调生成式对抗网络模型的漏词检测系统的各个分区域。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种基于微调生成式对抗网络模型的漏词检测方法及系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明提供了一种基于微调生成式对抗网络模型的漏词检测方法及系统,将待检测的文本语料预处理后成为多个分词组成的序列,并将序列中的分词按照ERNIE的词表读取为嵌入向量Embedding,将多个分词的嵌入向量Embedding组成向量序列Eseq,使用距离公式计算得到生成序列与标准序列之间的距离作为阈值,对待检测序列进行预处理得到待检测输入序列,将待检测输入序列输入生成网络得到待检测生成序列,将待检测生成序列与标准序列的距离与阈值进行比较,若大于阈值则存在漏词,达到了快速且低计算成本地检测文本序列中异常情况的效果。
尽管本发明的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,从而有效地涵盖本发明的预定范围。此外,上文以发明人可预见的实施例对本发明进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本发明的非实质性改动仍可代表本发明的等效改动。
Claims (5)
1.一种基于微调生成式对抗网络模型的漏词检测方法,其特征在于,所述方法包括以下步骤:
S100,将两个不同的预训练语言模型ERNIE分别作为生成网络和判别网络;
S200,将待检测的文本语料预处理后成为多个分词组成的序列,并将序列中的分词按照ERNIE的词表读取为嵌入向量Embedding,将多个分词的嵌入向量Embedding组成向量序列Eseq;
S300,将向量序列Eseq进行复制并打乱元素顺序,进而进行预处理,得到输入序列Iseq;
S400,将Iseq输入生成网络得到生成序列,将Eseq输入判别网络得到标准序列;
S500,使用距离公式计算得到生成序列与标准序列之间的距离作为阈值;
S600,通过HBase实时获取少样本数据作为待检测序列,对待检测序列进行预处理得到待检测输入序列,将待检测输入序列输入生成网络得到待检测生成序列,将待检测生成序列与标准序列的距离与阈值进行比较,若大于阈值则存在漏词;
其中,在S300中,将向量序列Eseq进行复制并打乱元素顺序,进而进行预处理,得到输入序列Iseq的方法为:将向量序列Eseq中元素的数量记作n,向量序列中元素的序号记作i,i∈[1,n],将向量序列Eseq复制出m-1个同样的向量序列,将m-1个同样的向量序列分别打乱各自的元素的顺序得到m-1个复制的向量序列,把向量序列Eseq与m-1个复制的向量序列作为m个向量序列,进而将m个向量序列组成一个大小为mⅹn的矩阵记作矩阵Mseq,其中,m为矩阵Mseq的行数,即矩阵Mseq的每一行为一个向量序列,矩阵Mseq中的行的序号为j,j∈[1,m],矩阵Mseq的列数同样为n,矩阵Mseq的列的序号同样为i,即矩阵Mseq中序号为i的列由m个向量序列中各自的序号为i的元素组成,记矩阵Mseq中列的序号为i的元素为Mseq(,i),记矩阵Mseq中序号为j的行的元素为Mseq(j,),记矩阵Mseq中行的序号为j、列的序号为i的元素为Mseq(j,i),令一个零嵌入为一个与嵌入向量Embedding大小相同但元素全为零的嵌入向量,记进行预处理的过程为:
S301,定义筛选因子,所述筛选因子为根据矩阵的一个元素在该矩阵中的行与列的序号计算所得的一个数值,记筛选因子函数为根据矩阵的一个元素在该矩阵中的行与列的序号计算出筛选因子的函数,记筛选因子函数为函数Fil(),Fil(j,i)表示通过函数Fil()计算Mseq(j,i)的筛选因子,Fil(j,i)的计算公式为:
其中,cos()为余弦函数,sin()为正弦函数,π为圆周率;
S302,利用函数Fil()将矩阵Mseq中各位置的元素转化为对应的筛选因子,由矩阵Mseq中各位置的元素对应的筛选因子组成的矩阵记为筛选因子矩阵Mfil,Fil(j,i)为筛选因子矩阵Mfil中行的序号为j、列的序号为i的元素,Mfil可记为:
筛选因子矩阵Mfil中各行、列的元素为0或1;
S303,将筛选因子矩阵Mfil中为0的元素的对应的在矩阵Mseq中相同行、列序号的位置的元素改变为零嵌入,并将矩阵Mseq部分的元素改变为零嵌入后所得的矩阵记为矩阵Mz;
S304,将矩阵Mz转化为输入序列Iseq,步骤如下:
S304-1, 设置空序列Iseq,序列Iseq具有有序性,序列Iseq中可加入的元素为向量;转到S304-2;
S304-2,令变量j的初始值为1;转到S304-3;
S304-3,获取矩阵Mz中序号为j的行中的各元素;转到S304-4;
S304-4,将矩阵Mz中序号为j的行中的各元素加入序列Iseq中;转到S304-5;
S304-5,将j的数值增加1;转到S304-6;
S304-6,判断j是否大于m,若是则转到S304-7,若否则转到S304-3;
S304-7,输出序列Iseq;
其中,输出的序列Iseq即为输入序列Iseq;
其中,在S500中,使用距离公式计算得到生成序列与标准序列之间的距离作为阈值的方法为:将生成序列中的各元素通过读取GloVe词向量转化为词向量,将生成序列中的各元素转化得到的词向量组成的序列记为Cseq;
将标准序列中的各元素通过读取GloVe词向量转化为词向量,将标准序列中的各元素转化得到的词向量组成的序列记为Rseq;
词向量中的维度的数量为k,词向量中的维度的序号为变量v,v∈[1,k];
记Cseq中元素的数量为cn,Cseq中元素的序号为ci,ci∈[1,cn],Cseq中序号为ci的元素记为Cseq(ci),将Cseq(ci)中的在词向量中序号为v的维度记为Cseq(ci,v);
记Rseq中元素的数量为rn,Rseq中元素的序号为ri,ri∈[1,rn],Rseq中序号为ri的元素记为Rseq(ri),将Rseq(ri)中的在词向量中序号为v的维度记为Rseq(ri,v);
令距离公式的计算函数记作函数Fus(),Fus(Cseq, Rseq)表示通过函数Fus()使用距离公式计算生成序列与标准序列之间的距离,函数Fus()的计算公式如下:
函数Fus()的计算公式即为距离公式,Fus(Cseq, Rseq)的计算结果即为阈值;
其中,在S600中,通过HBase实时获取少样本数据作为待检测序列,对待检测序列进行预处理得到待检测输入序列,将待检测输入序列输入生成网络得到待检测生成序列,将待检测生成序列与标准序列的距离与阈值进行比较,若大于阈值则存在漏词的方法为:从HBase的存储中获取少样本数据,所述少样本数据为字符串数据,将所述少样本数据使用分词算法进行分词得到多个分词并将各个分词组成的序列作为待检测序列,进而将待检测序列中的分词按照ERNIE的词表读取为嵌入向量并将各个分词的嵌入向量组成的向量序列作为待检测输入序列,将待检测输入序列输入生成网络得到待检测生成序列,待检测生成序列为字符串组成的序列,将待检测生成序列中各元素通过读取GloVe词向量转化为词向量得到的词向量的序列记作Tcseq;
将标准序列中的各元素通过读取GloVe词向量转化为词向量,将标准序列中的各元素转化得到的词向量组成序列Rseq;
使用距离公式计算得到待检测生成序列与标准序列之间的距离记作ρ,若ρ大于阈值,则判断该待检测序列存在漏词的错误。
2.根据权利要求1所述的一种基于微调生成式对抗网络模型的漏词检测方法,其特征在于,在S100中,将两个不同的预训练语言模型ERNIE分别作为生成网络和判别网络的方法为:选取两个不同的ERNIE模型,所述ERNIE模型为预训练语言模型,将其中一个ERNIE模型记作生成网络,将另一个ERNIE模型记作判别网络。
3.根据权利要求1所述的一种基于微调生成式对抗网络模型的漏词检测方法,其特征在于,在S200中,将待检测的文本语料预处理后成为多个分词组成的序列,并将序列中的分词按照ERNIE的词表读取为嵌入向量Embedding,将多个分词的嵌入向量Embedding组成向量序列Eseq的方法为:将待检测的文本语料读取为字符串并使用HanLP进行分词后得到多个分词组成的序列,并将序列中的分词按照ERNIE的词表读取为嵌入向量Embedding,将多个分词的嵌入向量Embedding组成向量序列Eseq。
4.根据权利要求1所述的一种基于微调生成式对抗网络模型的漏词检测方法,其特征在于,在S400中,将Iseq输入生成网络得到生成序列,将Eseq输入判别网络得到标准序列的方法为:对生成网络进行微调,即把生成网络中的模型参数从静态计算图打开为动态计算图,并将Iseq输入生成网络,利用ERNIE模型的Mask Prediction掩盖生成机制,生成网络输出生成序列,生成序列为字符串组成的序列;
判别网络中的模型参数保持静态计算图,并将Eseq输入判别网络中,判别网络输出标准序列,标准序列为字符串组成的序列。
5.一种基于微调生成式对抗网络模型的漏词检测系统,其特征在于,所述一种基于微调生成式对抗网络模型的漏词检测系统包括:处理器、存储器及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1中的一种基于微调生成式对抗网络模型的漏词检测方法中的步骤,所述一种基于微调生成式对抗网络模型的漏词检测系统运行于桌上型计算机、笔记本、掌上电脑及云端数据中心计算设备中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111309983.3A CN113743110B (zh) | 2021-11-08 | 2021-11-08 | 一种基于微调生成式对抗网络模型的漏词检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111309983.3A CN113743110B (zh) | 2021-11-08 | 2021-11-08 | 一种基于微调生成式对抗网络模型的漏词检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113743110A CN113743110A (zh) | 2021-12-03 |
CN113743110B true CN113743110B (zh) | 2022-02-11 |
Family
ID=78727585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111309983.3A Active CN113743110B (zh) | 2021-11-08 | 2021-11-08 | 一种基于微调生成式对抗网络模型的漏词检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113743110B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905737A (zh) * | 2021-01-28 | 2021-06-04 | 平安科技(深圳)有限公司 | 文本纠错方法、装置、设备及存储介质 |
CN113094200A (zh) * | 2021-06-07 | 2021-07-09 | 腾讯科技(深圳)有限公司 | 一种应用程序的故障预测方法和装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109388565B (zh) * | 2018-09-27 | 2021-08-06 | 西安电子科技大学 | 基于生成式对抗网络的软件系统性能优化方法 |
CN110110318B (zh) * | 2019-01-22 | 2021-02-05 | 清华大学 | 基于循环神经网络的文本隐写检测方法及系统 |
CN110097085B (zh) * | 2019-04-03 | 2023-04-14 | 阿里巴巴集团控股有限公司 | 歌词文本生成方法、训练方法、装置、服务器及存储介质 |
WO2020234449A1 (en) * | 2019-05-23 | 2020-11-26 | Deepmind Technologies Limited | Generative adversarial networks with temporal and spatial discriminators for efficient video generation |
CN110309512A (zh) * | 2019-07-05 | 2019-10-08 | 北京邮电大学 | 一种基于生成对抗网络的中文语法错误更正方法 |
CN111291563B (zh) * | 2020-01-20 | 2023-09-01 | 腾讯科技(深圳)有限公司 | 词向量对齐方法和词向量对齐模型训练方法 |
CN111310464B (zh) * | 2020-02-17 | 2024-02-02 | 北京明略软件系统有限公司 | 词向量获取模型生成方法、装置及词向量获取方法、装置 |
CN113111174A (zh) * | 2020-04-28 | 2021-07-13 | 北京明亿科技有限公司 | 基于深度学习模型的群体识别方法与装置、设备及介质 |
CN112037760B (zh) * | 2020-08-24 | 2022-01-07 | 北京百度网讯科技有限公司 | 语音频谱生成模型的训练方法、装置及电子设备 |
CN113609843B (zh) * | 2021-10-12 | 2022-02-01 | 京华信息科技股份有限公司 | 一种基于梯度提升决策树的句词概率计算方法及系统 |
-
2021
- 2021-11-08 CN CN202111309983.3A patent/CN113743110B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905737A (zh) * | 2021-01-28 | 2021-06-04 | 平安科技(深圳)有限公司 | 文本纠错方法、装置、设备及存储介质 |
CN113094200A (zh) * | 2021-06-07 | 2021-07-09 | 腾讯科技(深圳)有限公司 | 一种应用程序的故障预测方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于词向量模型的中文序列比对研究;熊回香等;《图书情报工作》;20200603(第10期);第88-100页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113743110A (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110175454B (zh) | 一种基于人工智能的智能合约安全漏洞挖掘方法及系统 | |
KR100838981B1 (ko) | 패턴 인식을 용이하게 하는 시스템 및 방법 | |
EP1090275B1 (en) | A computer system and process for explaining behaviour of a model that maps input data to output data | |
US20140147034A1 (en) | Information processing apparatus, control method therefor, and electronic device | |
CN112633355A (zh) | 图像数据处理方法及装置、目标检测模型训练方法及装置 | |
US20210150335A1 (en) | Predictive model performance evaluation | |
WO2016175785A1 (en) | Topic identification based on functional summarization | |
CN116304307A (zh) | 一种图文跨模态检索网络训练方法、应用方法及电子设备 | |
CN113360911A (zh) | 恶意代码同源分析方法、装置、计算机设备和存储介质 | |
CN115473726A (zh) | 一种识别域名的方法及装置 | |
CN117131376A (zh) | 一种基于视变换结合生成对抗网络进行持续学习的高光谱跨域鲁棒异常检测方法、系统、设备及介质 | |
CN113435531B (zh) | 零样本图像分类方法、系统、电子设备及存储介质 | |
Lee et al. | Reinforced adaboost learning for object detection with local pattern representations | |
CN113627179A (zh) | 一种基于大数据的威胁情报预警文本分析方法及系统 | |
CN113936288A (zh) | 倾斜文本方向分类方法、装置、终端设备和可读存储介质 | |
CN111815627B (zh) | 遥感图像变化检测方法、模型训练方法及对应装置 | |
CN113743110B (zh) | 一种基于微调生成式对抗网络模型的漏词检测方法及系统 | |
CN110443007B (zh) | 一种多媒体数据的溯源检测方法、装置及设备 | |
Kim et al. | Image recognition accelerator design using in-memory processing | |
CN116958809A (zh) | 一种特征库迁移的遥感小样本目标检测方法 | |
He et al. | Deep visual semantic embedding with text data augmentation and word embedding initialization | |
CN118591828A (zh) | 用于分割的双级别模型 | |
CN109190467A (zh) | 一种基于关键点回归的多物体检测方法、系统、终端和存储介质 | |
KR20230097540A (ko) | 물체 경계 예측 불확실성 및 강조 신경망을 이용한 물체 검출 장치 및 방법 | |
CN110399984B (zh) | 一种信息的预测方法、系统以及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |