CN116911374B - 文本对抗样本的生成方法、装置、电子设备和存储介质 - Google Patents
文本对抗样本的生成方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116911374B CN116911374B CN202311179061.4A CN202311179061A CN116911374B CN 116911374 B CN116911374 B CN 116911374B CN 202311179061 A CN202311179061 A CN 202311179061A CN 116911374 B CN116911374 B CN 116911374B
- Authority
- CN
- China
- Prior art keywords
- sentence
- original
- sample
- sentences
- candidate
- 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
- 238000000034 method Methods 0.000 title claims abstract description 118
- 238000003860 storage Methods 0.000 title claims abstract description 28
- 238000012549 training Methods 0.000 claims abstract description 76
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000012216 screening Methods 0.000 claims abstract description 34
- 239000013598 vector Substances 0.000 claims description 176
- 238000003058 natural language processing Methods 0.000 claims description 99
- 230000015654 memory Effects 0.000 claims description 40
- 238000000605 extraction Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 29
- 238000013145 classification model Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 21
- 230000007246 mechanism Effects 0.000 claims description 10
- 238000004140 cleaning Methods 0.000 claims description 8
- 238000007781 pre-processing Methods 0.000 claims description 8
- 238000011158 quantitative evaluation Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 16
- 235000019580 granularity Nutrition 0.000 description 43
- 238000010586 diagram Methods 0.000 description 30
- 239000010410 layer Substances 0.000 description 24
- 238000013473 artificial intelligence Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 18
- 238000013528 artificial neural network Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 12
- 238000010801 machine learning Methods 0.000 description 12
- 238000010276 construction Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000013135 deep learning Methods 0.000 description 7
- 238000001914 filtration Methods 0.000 description 7
- 210000002569 neuron Anatomy 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 230000008451 emotion Effects 0.000 description 5
- 241000282414 Homo sapiens Species 0.000 description 4
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000002372 labelling Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003094 perturbing effect Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003042 antagnostic effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Classifications
-
- 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
- G06N3/094—Adversarial learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative 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/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及文本处理技术领域,尤其涉及一种文本对抗样本的生成方法、装置、电子设备和存储介质,用以解决目前对抗样本生成方法所存在的局限性,提出一种在句子粒度上的对抗样本的生成方法。其中,方法包括:获取预先构建的句子样本检索库,句子样本检索库中包含多个候选句子,以及每个候选句子各自对应的语义特征;对于每个原始句子,提取原始句子的语义特征;将原始句子分别与句子样本检索库中各个候选句子,进行语义特征匹配;根据特征匹配结果,从各个候选句子中筛选出至少一个目标候选句子;以每个原始句子各自对应的目标候选句子作为相应原始句子的对抗样本,构建训练样本集。本申请提出了一种在句子粒度上的对抗样本的生成方法。
Description
技术领域
本申请涉及文本处理技术领域,尤其涉及自然语言处理技术领域,提供一种文本对抗样本的生成方法、装置、电子设备和存储介质。
背景技术
对抗样本指的是经过微小调整就可以让机器学习算法输出错误结果的一种输入样本。
在自然语言处理任务中,自然语言处理模型的训练需要大量已标注数据,并需要关注模型的过拟合以及鲁棒性问题。通过对抗攻击方法生成对抗样本,并使用该对抗样本训练自然语言处理模型,可以有效缓解模型过拟合,提高模型的鲁棒性和安全性,管控模型投入实际应用的风险,同时也能提高对模型的深入理解。
在相关技术中,常见的生成对抗样本的方法,主要是基于字(char-level)和词粒度(word-level)的方法,在字词层级上增加扰动元素,生成对抗样本。然而,仅在字词层级上生成对抗样本,存在一定的局限性。
发明内容
本申请实施例提供一种文本对抗样本的生成方法、装置、电子设备和存储介质,用以解决目前对抗样本生成方法所存在的局限性,提出一种在句子粒度(sentence-level)上的对抗样本的生成方法。
本申请实施例提供的一种文本对抗样本的生成方法,包括:
获取预先构建的句子样本检索库,所述句子样本检索库中包含多个候选句子,以及每个候选句子各自对应的语义特征;
对于每个原始句子,提取所述原始句子的语义特征;将所述原始句子分别与所述句子样本检索库中各个候选句子,进行语义特征匹配;根据特征匹配结果,从所述各个候选句子中筛选出至少一个目标候选句子;
以所述每个原始句子各自对应的目标候选句子作为相应原始句子的对抗样本,构建训练样本集,其中,所述训练样本集用于训练自然语言处理模型,已训练的自然语言处理模型用于执行目标文本处理任务。
本申请实施例提供的一种文本对抗样本的生成装置,包括:
获取单元,用于获取预先构建的句子样本检索库,所述句子样本检索库中包含多个候选句子,以及每个候选句子各自对应的语义特征;
检索单元,用于对于每个原始句子,提取所述原始句子的语义特征;将所述原始句子分别与所述句子样本检索库中各个候选句子,进行语义特征匹配;根据特征匹配结果,从所述各个候选句子中筛选出至少一个目标候选句子;
生成单元,用于以所述每个原始句子各自对应的目标候选句子作为相应原始句子的对抗样本,构建训练样本集,其中,所述训练样本集用于训练自然语言处理模型,已训练的自然语言处理模型用于执行目标文本处理任务。
可选的,所述特征匹配结果包括两个句子所对应的语义特征的特征相似度;
则所述检索单元具体用于:
从所述各个候选句子中,筛选出与所述原始句子的特征相似度符合预设相似度条件的N个候选句子,作为所述原始句子对应的目标候选句子,N为正整数。
可选的,所述特征匹配结果包括两个句子所对应的语义特征的特征相似度;
则所述检索单元具体用于:
将所述各个候选句子按照预设检索顺序,依次与所述原始句子进行语义特征匹配,并在每次匹配后根据特征匹配结果进行筛选,直至目标候选句子集合中目标候选句子的数量为N时,停止筛选,N为正整数;其中,每次筛选执行如下过程:
将所述候选句子与所述原始句子之间的特征相似度,与已获得的各相似度值中的当前最小相似度进行比较;其中,在第一次筛选时,所述当前最小相似度为预设相似度;
若所述特征相似度小于所述当前最小相似度,则将所述候选句子作为目标候选句子加入所述目标候选句子集合。
可选的,所述语义特征为语义向量,则所述特征相似度为两个语义向量之间的余弦相似度,或者,所述特征相似度为两个语义向量之间的闵可夫斯基相似度。
可选的,所述语义特征为语义向量,则所述装置还包括特征提取单元,用于通过如下方式提取每个句子的语义向量:
基于已训练的编码器,对一个句子执行如下至少一次编码操作,并将最后一次编码操作所获得的第二编码向量,作为所述一个句子的语义向量;其中,每次编码操作执行如下过程:
获取所述一个句子的原始输入向量;
以所述原始输入向量作为所述一个句子的查询向量、键向量和值向量,结合所述编码器的自注意力机制对所述原始输入向量进行特征提取后,将第一提取结果与所述原始输入向量进行加和及归一化处理,获得所述一个句子的第一编码向量;
将所述第一编码向量经过所述编码器中的前馈网络进行特征提取后,将第二提取结果与所述第一编码向量进行加和及归一化处理,获得所述一个句子的第二编码向量。
可选的,在第一次编码操作过程中,所述句子的原始输入向量是由所述句子中包含的各个字的字向量组合得到的;在之后每一次编码操作过程中,所述句子的原始输入向量是上一次编码操作得到的所述句子的第二编码向量。
可选的,所述装置还包括检索库构建单元,用于通过如下方式预先构建所述句子样本检索库:
采集非结构化的自然语言语料;
对采集的自然语言语料进行数据清洗和预处理后,抽取所述自然语言语料中的句子,并作为候选句子;
经过已训练的编码器,对所述各个候选句子分别进行编码,获得所述各个候选句子各自的语义特征;
以候选句子和对应的语义特征对作为键值对,构建得到所述句子样本检索库。
可选的,所述生成单元还用于在以所述每个原始句子各自对应的目标候选句子作为相应原始句子的对抗样本,构建训练样本集之前,在所述原始句子或所述目标候选句子中增加扰动元素,获得所述原始句子对应的对抗句子;所述扰动元素为字层级扰动元素与词层级扰动元素中的至少一种;
所述生成单元具体用于:
以所述每个原始句子各自对应的目标候选句子和对抗句子作为相应原始句子的对抗样本,构建训练样本集。
可选的,所述装置还包括:
评估单元,用于基于所述训练样本集中的对抗样本,对待训练的自然语言处理模型进行对抗攻击训练,获得目标自然语言处理模型;
对所述目标自然语言处理模型进行测试,获取所述目标自然语言处理模型在至少一个维度的量化评估指标;
根据所述量化评估指标对所目标自然语言处理模型进行鲁棒性评估。
可选的,所述装置还包括:
训练单元,用于对于所述训练样本集中的每个对抗样本,将所述对抗样本与相应的原始句子对应的原始样本,分别输入待训练的自然语言处理模型,获取所述自然语言处理模型针对所述原始样本和所述对抗样本各自对应的输出结果;
若所述对抗样本的输出结果与所述原始样本的输出结果不一致,则将所述对抗样本进行标注,并对所述自然语言处理模型的模型参数进行微调。
可选的,所述自然语言处理模型为文本分类模型,所述目标文本处理任务为文本分类,则所述装置还包括:
文本分类单元,用于获取待分类的目标文本;将所述目标文本输入已训练的文本分类模型,获取所述已训练的文本分类模型输出的,所述目标文本的所属的文本类别。
本申请实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述任意一种文本对抗样本的生成方法的步骤。
本申请实施例提供一种计算机可读存储介质,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行上述任意一种文本对抗样本的生成方法的步骤。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当电子设备的处理器从计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述电子设备执行上述任意一种文本对抗样本的生成方法的步骤。
本申请有益效果如下:
本申请实施例提供了一种文本对抗样本的生成方法、装置、电子设备和存储介质。由于本申请中预先构建了句子样本检索库,对于原始句子而言,将该原始句子与句子样本检索库中的候选句子进行语义特征匹配,基于该方式,检索出语义相近的目标候选句子,并基于此构建对抗样本。不同于之前的对抗样本攻击方法,本申请提出了一种句粒度的文本攻击的实现方案,该方法在最大程度保持语义的前提下,基于语义检索来生成句粒度对抗样本,完善了对抗攻击方法的维度。并且,本申请基于句子语义检索生成句粒度对抗样本,是一种端到端概念的方法,不需要人工干预,可以自动化的批量生成目标句子的对应句粒度对抗攻击样本,在语义句子粒度的语义层面上检验模型的鲁棒性,应用于对抗攻击场景中。
此外,基于上述方式构建训练样本集后,可基于该训练样本集训练自然语言处理模型,提高自然语言处理模型的鲁棒性和安全性,在此基础上,进一步提高模型的准确性。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中的一种应用场景的一个可选的示意图;
图2为本申请实施例中的一种文本对抗样本的生成方法的实施流程图;
图3为本申请实施例中的一种构建句子样本检索库的逻辑示意图;
图4为本申请实施例中的一种基于编码器的语义向量的编码流程示意图;
图5为本申请实施例中的一种编码器的结构示意图;
图6为本申请实施例中的一种对抗样本的示意图;
图7为本申请实施例中的一种对抗攻击任务的示意图;
图8为本申请实施例中的一种模型鲁棒性评估的示意图;
图9为本申请实施例中的一种NLP任务的数据建设逻辑的示意图;
图10为本申请实施例中的一种文本分类方法的流程示意图;
图11为本申请实施例中的一种对抗样本构建逻辑示意图;
图12为本申请实施例中的另一种对抗样本构建逻辑示意图;
图13为本申请实施例中的一种文本分类方法的逻辑示意图;
图14为本申请实施例中的一种文本对抗样本的生成装置的结构示意图;
图15为应用本申请实施例的一种电子设备的一个硬件组成结构示意图;
图16为应用本申请实施例的另一种电子设备的一个硬件组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
对抗样本:用于对模型进行对抗攻击训练,以提高模型的鲁棒性和安全性的训练样本。对抗样本是在最大程度保持语义的前提下,通过在真实样本上加入扰动生成的,用于寻找模型弱点,进而调教模型,增强模型鲁棒性。常见的文本对抗样本,分为字/词/句三种粒度。
字粒度(char-level)攻击:指在真实样本上增加字层级的扰动元素,如对于英文字母或中文汉字,在字母或字的层级上,通过形近字/同音字替换,以及字粒度的增/删/改等方式增加扰动元素生成对抗样本,攻击模型寻找弱点。
词粒度(word-level)攻击:指在真实样本上增加词层级的扰动元素,如对于英文单词或中文词语,在单词或词组的层级上,通过同义词替换,以及词粒度的增/删/改等方式增加扰动元素生成对抗样本,攻击模型寻找弱点。
句粒度(sentence-level)攻击:指在真实样本上增加句子层级的扰动元素,如对于英文句子或中文句子,在句子层级上进行扰动,生成对抗样本,攻击模型寻找弱点。
文本对抗攻击:对于文本数据样本,加入不可感知的扰动元素而导致模型错误的预测,从而试探模型的鲁棒性和缺陷。文本对抗攻击分为字层级/词层级/句子层级三种攻击方式。
句子的语义向量:可简称句向量,指自然语言句子对应的向量化表示。自然语言句子可以通过编码器编码,获得对应的句向量,句向量中包含了句子的语义信息。
向量检索:在向量检索库中检索距离相近的向量,作为检索目标候选结果。在本申请所列举的自然语言领域中,可视目标候选结果(即目标候选句子)与原始输入(即原始句子)有较高语义相似性。
模型鲁棒性:鲁棒可理解为模型对数据变化的容忍度。假设数据出现较小偏差或模型内部出现较小的扰动,只对模型输出产生较小的影响并依旧能产生正确结果,则称模型是鲁棒的。
端到端(end-to-end):即从输入到输出的自动化流程,输入即原始输入,输出即为希望的结果。如将原始输入(input)输入模型,模型处理后输出结果(output),整个过程即为端到端的方法。
前馈网络:也称前馈神经网络(feedforward neural network),是人工神经网络的一种。在此种神经网络中,各神经元从输入层开始,接收前一级输入,并输入到下一级,直至输出层。整个网络中无反馈,可用一个有向无环图表示。按照前馈神经网络的层数不同,可以将其划分为单层前馈神经网络和多层前馈神经网络。常见的前馈神经网络有感知机(Perceptrons)、反向传播(Back Propagation,BP)网络、径向基核函数(Radial BasisFunction,RBF)网络等。
自然语言:通常是指一种自然地随文化演化的语言。例如,英语、汉语、日语为自然语言的例子,而世界语则为人造语言,即是一种为某些特定目的而创造的语言。不过,有时所有人类使用的语言(包括上述自然地随文化演化的语言,以及人造语言)都会被视为自然语言,以相对于如编程语言等为计算机而设的人造语言。
非结构化:一般指无法结构化的数据。相对于结构化数据(即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据)而言,不方便用数据库二维逻辑表来表现的数据即称为非结构化数据,包括所有格式的办公文档、文本、图片、可扩展标记语言(Extensible Markup Language,XML)、超文本标记语言(Hyper Text Markup Language,HTML)、各类报表、图像和音频/视频信息等等。
人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能是一门综合学科,涉及的领域广泛,既有硬件层面的技术,也有软件层面的技术。人工智能的基础技术一般包括传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作交互系统、机电一体化等技术;人工智能的软件技术一般包括计算机视觉技术、自然语言处理技术、以及机器学习/深度学习等几大方向。随着人工智能的发展与进步,人工智能在多个领域中进行研究和应用,如常见的智能家居、智能客服、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、机器人、智能医疗等,相信随着未来技术的进一步发展,人工智能将在更多的领域中得到应用,发挥出越来越重要的价值。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(MachineLearning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
机器学习是人工智能的核心,是使计算机具有智能的根本途径,那么深度学习则是机器学习的核心,是实现机器学习的一种技术。机器学习通常包括深度学习、强化学习、迁移学习、归纳学习等技术,深度学习则包括移动视觉神经网络Mobilenet、卷积神经网络(Convolutional Neural Networks,CNN)、深度置信网络、递归神经网络、自动编码器、生成对抗网络等技术。
在本申请实施例中,可基于自然语言处理技术和机器学习技术,生成句粒度的文本对抗样本,并基于这些样本,对模型进行对抗攻击训练。具体的,对抗攻击就是通过对抗样本来攻击神经网络,这些对抗样本,通常能够使得模型发生误判,因而,通过获取对抗攻击的对抗样本,并使用该对抗样本训练自然语言处理模型,可以提高自然语言处理模型的鲁棒性和安全性,管控自然语言处理模型投入实际应用的风险,同时也能提高对自然语言处理模型的深入理解。
随着人工智能的发展与进步,人工智能在多个领域中进行研究和应用,如常见的智能家居、智能客服、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、机器人、智能医疗等,相信随着未来技术的进一步发展,人工智能将在更多的领域中得到应用,发挥出越来越重要的价值。
下面对本申请实施例的设计思想进行简要介绍:
在互联网时代,随着海量数据积累、计算能力升级以及机器学习框架不断创新进化,深度神经网络(Deep Neural Networks,DNNs)在解决计算机视觉、语音识别、NLP等领域取得巨大成功,人工智能正在走向人类的历史性时刻。现如今,大量的深度学习技术日趋成熟,并逐步地应用于各行各业,极大地促进深度学习领域产业化发展。
在自然语言处理领域,基于深度学习的文本分类、机器翻译、智能问答等任务得到迅猛发展,形成了情感分析、有害内容检测、翻译助手、智慧客服等一系列具有现实意义的应用。然而,尽管深度神经网络模型在各个领域都有着出色的表现,但其自身也存在许多安全问题。据机器学习和安全领域的研究表明,在面对精心构造的恶意对抗性样本时,即使表现非常出色的深度神经网络模型也显现出极大的脆弱性。这类攻击在合法输入中通过添加精心设计且难以察觉的扰动,愚弄模型做出错误预测的同时又不会影响人的判断。
对抗攻击是机器学习模型,尤其是深度学习模型面临的最主要的安全威胁之一。对抗攻击指的是在模型的推断阶段,如果对输入进行轻微扰动,模型会有截然不同的输出。对抗攻击与深度学习模型的鲁棒性和可解释性息息相关,更涉及到深度学习模型在大规模实际应用中的安全性。
文本对抗攻击指的是针对自然语言处理模型的对抗攻击。随着垃圾邮件过滤、欺诈检测等基于深度学习的自然语言处理应用的普及,自然语言处理模型也面临上述攻击的威胁。通过获取对抗攻击的对抗样本,并使用该对抗样本训练自然语言处理模型,可以提高自然语言处理模型的鲁棒性和安全性,管控自然语言处理模型投入实际应用的风险,同时也能提高对自然语言处理模型的深入理解。
在相关技术中,常见的生成文本对抗样本的方法,主要是基于字(char-level)和词粒度(word-level)的方法,在字词层级上增加扰动元素,生成文本对抗样本。然而,仅在字词层级上生成对抗样本,存在一定的局限性。
有鉴于此,本申请实施例提出了一种文本对抗样本的生成方法、装置、电子设备和存储介质。由于本申请中预先构建了句子样本检索库,对于原始句子而言,将该原始句子与句子样本检索库中的候选句子进行语义特征匹配,基于该方式,检索出语义相近的目标候选句子,并基于此构建对抗样本。不同于之前的对抗样本攻击方法,本申请提出了一种句粒度的文本攻击的实现方案,该方法在最大程度保持语义的前提下,基于语义检索来生成句粒度对抗样本,完善了对抗攻击方法的维度。并且,本申请基于句子语义检索生成句粒度对抗样本,是一种端到端概念的方法,不需要人工干预,可以自动化的批量生成目标句子的对应句粒度对抗攻击样本,在语义句子粒度的语义层面上检验模型的鲁棒性,应用于对抗攻击场景中。
此外,基于上述方式构建训练样本集后,可基于该训练样本集训练自然语言处理模型,提高自然语言处理模型的鲁棒性和安全性,在此基础上,进一步提高模型的准确性。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示,其为本申请实施例的应用场景示意图。该应用场景图中包括两个终端设备110和一个服务器120。
在本申请实施例中,终端设备110包括但不限于手机、平板电脑、笔记本电脑、台式电脑、电子书阅读器、智能语音交互设备、智能家电、车载终端等设备;终端设备上可以安装有文本对抗样本的生成或是文本分类相关的客户端,该客户端可以是软件(例如浏览器、即时通讯软件等),也可以是网页、小程序等,服务器120则是与软件或是网页、小程序等相对应的后台服务器,或者是专门用于生成对抗样本或是文本分类的服务器,本申请不做具体限定。服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请各实施例中的文本对抗样本的生成方法可以由电子设备执行,该电子设备可以为终端设备110或者服务器120,即,该方法可以由终端设备110或者服务器120单独执行,也可以由终端设备110和服务器120共同执行。比如由服务器120单独执行时,由服务器120获取预先构建的句子样本检索库;进而,对于每个原始句子,由服务器120提取原始句子的语义特征后,将原始句子分别与句子样本检索库中各个候选句子,进行语义特征匹配;由服务器120根据特征匹配结果,从各个候选句子中筛选出至少一个目标候选句子;进而,由服务器120以每个原始句子各自对应的目标候选句子作为相应原始句子的对抗样本,构建训练样本集。
在本申请实施例中,该训练样本集用于训练自然语言处理模型,已训练的自然语言处理模型用于执行目标文本处理任务。因而,已训练的自然语言处理模型可以部署于服务器120上,进而,服务器120可以基于该已训练的自然语言处理模型,确定待分类文本所属的文本类别,并基于该分类结果执行其他任务。
在一种可选的实施方式中,终端设备110与服务器120之间可以通过通信网络进行通信。
在一种可选的实施方式中,通信网络是有线网络或无线网络。
需要说明的是,图1所示只是举例说明,实际上终端设备和服务器的数量不受限制,在本申请实施例中不做具体限定。
本申请实施例中,当服务器的数量为多个时,多个服务器可组成为一区块链,而服务器为区块链上的节点;如本申请实施例所公开的文本对抗样本的生成方法,其中所涉及的句子相关数据可保存于区块链上,例如,句子样本检索库、原始句子、原始句子的语义特征、特征匹配结果、训练样本集等。
此外,本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等场景。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的文本对抗样本的生成方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
参阅图2所示,为本申请实施例提供的一种文本对抗样本的生成方法的实施流程图,以服务器为执行主体为例,该方法的具体实施流程如下S21~S23:
S21:服务器获取预先构建的句子样本检索库,句子样本检索库中包含多个候选句子,以及每个候选句子各自对应的语义特征。
其中,句子样本检索库是预先构建的一种包含多个候选句子的样本库,在本申请实施例中,可将目标句子与该句子样本检索库中候选句子进行语义特征匹配,以实现句粒度的样本检索。
一种可选的实施方式为,通过如下方式预先构建该句子样本检索库:
首先,采集非结构化的自然语言语料。
进而,对采集的自然语言语料进行数据清洗和预处理后,抽取自然语言语料中的句子,并作为候选句子。
在本申请实施例中,所收集的非结构化的自然语言语料,包括但不限于下列的部分或全部:网页数据、公开数据集、书籍文本(如小说、散文、文集)等。
在收集到上述自然语言语料后,对上述自然语言语料进行数据清洗和预处理,抽取其中的句子,并将抽取的句子作为候选句子。
其中,数据清洗是指对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。
在本申请实施例中,自然语言语料这些文本数据在采集过程中可能会有遗漏,或者其本身数据就不完整,并且不是所有的文本数据都有用,相差较大的文本数据可能会对数据分析产生影响,因而,可以通过数据清洗将其清除。
此外,还可对自然语言语料进行预处理,如去除停用词、标点符号和特殊字符,进行词干化或词形还原等操作。
在本申请实施例中,对采集的自然语言语料进行数据清洗和预处理,这有助于减少噪声并提高后续候选句子提取的准确性。
继而,经过已训练的编码器,对各个候选句子分别进行编码,获得各个候选句子各自的语义特征。
最后,以候选句子和对应的语义特征对作为键值对,构建得到句子样本检索库。
在本申请实施例中,需要提取候选句子的语义特征,和原始句子的语义特征,而句子语义特征的提取需采用已训练的编码器来实现,因而,本申请还需要预先对编码器进行训练,当然,也可以采用目前已有的文本编码器,本文不做具体限定。
具体的,在获取已训练的编码器后,可将各个候选句子批量经过已训练的编码器进行编码,获得对应的语义特征,进而,将(语义特征,候选句子)对作为键值对,入库句子样本检索库,并对语义特征建立索引,以加速检索过程。
可选的,语义特征为向量形式,即语义特征为语义向量。该情况下,本申请实施例中的句子样本检索库,也可以称作向量检索库。
如图3所示,其为本申请实施例中的一种构建句子样本检索库的逻辑示意图。图3所示的构建逻辑同上述所列举的步骤相同,即首先需要采集非结构化的自然语言语料(即图3中的非结构化数据),如网络数据、公开数据集、书籍文本等;进而,基于这些非结构化数据进行数据清洗、预处理等后,提取候选句子(图3未示出);而后,将提取的句子经过已训练的编码器进行编码,获得各候选句子的语义向量后,将(语义向量,候选句子)对作为键值对,入库向量检索库,并对语义向量建立索引,以加速检索过程。
在上述实施方式中,预先通过编码器对自然语言句子(sentence)进行编码获得语义向量,进而构建向量检索库,以便基于向量检索库检索与原始句子语义匹配的目标候选句子,从而可以在最大程度保持语义的前提下,生成句粒度对抗攻击样本。
并且,样本数据源来真实的自然语言,因此保证了样本的真实性和语法语用的正确性,基于此生成的对抗样本,克服了前人基于规则和策略增/删/改的方案会产生错误语法以及不通顺等不足。
S22:服务器对于每个原始句子,提取原始句子的语义特征;将原始句子分别与句子样本检索库中各个候选句子,进行语义特征匹配;根据特征匹配结果,从各个候选句子中筛选出至少一个目标候选句子。
在本申请实施例中,可在句子粒度进行语义检索,以获取句子粒度层面的文本对抗样本。
具体的,将原始句子与句子样本检索库中的候选句子进行语义特征匹配,根据特征匹配结果,筛选出至少一个目标候选句子,并以此构建文本对抗样本,以获取句子粒度层面的文本对抗样本。
可选的,特征匹配结果包括两个句子所对应的语义特征的特征相似度;则在S22中,一种可选的筛选方式为:
从各个候选句子中,筛选出与原始句子的特征相似度符合预设相似度条件的N个候选句子,作为原始句子对应的目标候选句子,N为正整数。
例如,句子样本检索库中有100个候选句子,对于某一原始句子“精诚所至金石为开”,将该原始句子的语义特征,分别与这100个候选句子的语义特征计算特征相似度,并将获得的100个特征相似度进行排序,选取特征相似度符合预设相似度条件的N个候选句子。
其中,N可以为预设值,该预设相似度条件可以是:特征相似度排序在预设次序范围内,例如N=3,“筛选出与原始句子的特征相似度符合预设相似度条件的N个候选句子”即表示筛选与原始句子的特征相似度按照从高到低排序,位于TOP1~3的3个候选句子,也即取特征相似度位于前三的3个候选句子,作为目标候选句子。再比如,N=1即表示即取最相似的候选句子,作为目标候选句子,等等。
再比如,还可设置一个相似度阈值,取对应的特征相似度不小于该相似度阈值的N个候选句子,此时N可以是预设值,也可以是一个不固定的值(具体看有多个候选句子对应的特征相似度不小于该相似度阈值)。比如,N=2即表示从特征相似度不小于该相似度阈值的候选句子中筛选出2个候选句子,作为目标候选句子;而N是一个不固定的值时,可以理解为筛选出所有特征相似度不小于该相似度阈值的候选句子,作为目标候选句子等等。
需要说明的是,上述只是简单举例,任何一种预设相似度条件都适用于本申请实施例,在此不再一一赘述。
在上述实施方式中,根据特征相似度筛选目标候选句子时,该特征相似度反映的是句子的语义之间的相似度,而在实际对模型进行对抗攻击训练时,语义越接近的句子,所对应的模型输出结果则更应该一致,基于此,可在最大程度保持语义的前提下,生成句粒度对抗攻击样本。
可选的,特征匹配结果包括两个句子所对应的语义特征的特征相似度;则在S22中,另一种可选的筛选方式为:
将各个候选句子按照预设检索顺序,依次与原始句子进行语义特征匹配,并在每次匹配后根据特征匹配结果进行筛选,直至目标候选句子集合中目标候选句子的数量为N时,停止筛选,N为正整数;在该筛选方式下,N是一个预设值,例如N=3,即表示当目标候选句子集合中目标候选句子的数量达到3时,停止筛选。
其中,每次筛选都是根据本次句子匹配所得到的特征匹配结果,分析是否将某候选句子加入目标候选句子集合,具体的,每次筛选都执行如下过程S221~S222:
S221:将候选句子与原始句子之间的特征相似度,与已获得的各相似度值中的当前最小相似度进行比较;其中,在第一次筛选时,当前最小相似度为预设相似度;
S222:若特征相似度小于当前最小相似度,则将候选句子作为目标候选句子加入目标候选句子集合。
具体的,各个候选句子之间的预设检索顺序可以随机设置,可以按照各个候选句子的索引大小设置等,本文不做具体限定。
在确定各个候选句子的预设检索顺序之后,对于每个原始句子,则可按照上述预设检索顺序,从句子样本检索库中进行检索。
下面以原始句子为s为例,经过编码器输出的语义向量为v,从句子样本检索库中检索最接近s的N个目标候选句子时,可采用上述S221~S222所列举的方法进行筛选,该方法对应的一种检索算法如下:
当前最小相似度=最大整数float('inf')
目标候选句子集合 = 空
For(候选语义向量v,候选句子s') in 句子样本检索库中所有(语义向量,候选句子)样本对:
特征相似度=Distance(v',v)
if 特征相似度<当前最小相似度
目标候选句子集合=候选句子s'
当前最小相似度=特征相似度
在上述算法中,最大整数float('inf')即表示第一次筛选时的当前最小相似度,是一个预设相似度,表示正无穷。此外,该预设相似度还可以是其他数值,如特征相似度的取值范围为0~1时,该预设相似度还可以取1,或是0.9等,本文不做具体限定。
上述算法即表示,第一次筛选前,目标候选句子集合为空,然后每次筛选,将句子样本检索库中的一个候选句子s'与原始句子s进行匹配,计算特征相似度,该特征相似度可表示为Distance(v',v),计算公式可参考下述公式2或是公式3等,本文不再具体限定。若该特征相似度小于当前最小相似度,则可将该候选句子s'加入目标候选句子集合,并基于该特征相似度更新当前最小相似度。
也即,将当前最小相似度更新为本次计算得到的Distance(v',v)。
重复上述过程,直至目标候选句子集合中句子数量为N即可。
在上述实施方式中,按照预设检索顺序来对候选句子进行筛选,且通过比较特征相似度和当前最小相似度来筛选目标候选句子,在目标候选句子集合中句子数量为N时即可停止筛选,该方式下,无需计算原始句子与每个候选句子的特征相似度,可以有效提高筛选效率。
可选的,语义特征为语义向量,对于原始句子或是候选句子而言,每个句子的语义向量都可通过已训练的编码器编码得到。参阅图4所示,其为本申请实施例中的一种基于编码器的语义向量的编码流程示意图,具体编码流程如下步骤S41~S44:
S41:基于已训练的编码器,对一个句子执行如下至少一次编码操作,并将最后一次编码操作所获得的第二编码向量,作为一个句子的语义向量;其中,每次编码操作执行如下过程S42~S44:
S42:获取一个句子的原始输入向量。
S43:以原始输入向量作为一个句子的查询向量、键向量和值向量,结合编码器的自注意力机制对原始输入向量进行特征提取后,将第一提取结果与原始输入向量进行加和及归一化处理,获得一个句子的第一编码向量。
S44:将第一编码向量经过编码器中的前馈网络进行特征提取后,将第二提取结果与第一编码向量进行加和及归一化处理,获得一个句子的第二编码向量。
概括来说,本申请实施例中,对于每个句子,可基于已训练的编码器执行M次编码操作,M为正整数,即M最小取1。
在基于已训练的编码器对某句子执行编码操作时,每次编码操作该编码器的输入都可记作该句子的一个原始输入向量,而该编码器的输出都可记作该句子的一个第二编码向量。而最后一次编码得到的第二编码向量,即可记作是该句子最终的语义向量,也即该句子的语义特征的一种表现形式。
其中,在第一次编码操作过程中,该句子的原始输入向量是由句子中包含的各个字的字向量组合得到的;在之后每一次编码操作过程中,该句子的原始输入向量是上一次编码操作得到的句子的第二编码向量。
下面结合图5对上述编码流程进行举例说明:
参阅图5所示,其为本申请实施例中的一种编码器的结构示意图。如图5中的“*M”,即表示执行M次编码操作,M为正整数,M的具体数值可根据实际需求而定,本文不做具体限定。
其中,图5所示的编码器应用了自注意力机制,自注意力机制计算方式如下:
(公式1);
其中,Q是句子的原始输入向量表示。以对原始句子进行编码为例,如原始句子为“精诚所至,金石为开”,Q即对该句子的一种向量表示。在本申请实施例的自注意力机制中,K=Q,V=Q。
也即,Q(查询向量)、K(键向量)和V(值向量)都相同,都是该句子所对应的原始输入向量。
在第一次编码操作过程中,Q、K、V都是将“精诚所至,金石为开”中每个字的字向量组合得到的一个句向量,也即原始输入向量。
在本申请实施例中,每个字的字向量可通过查询字典得到。具体的,可查询预先构建的字向量语义字典,该字典中包含很多常用字的语义向量,也称字向量。
而后,基于上述所列举的公式1,提取得到该句子的第一提取结果,即Attention(Q, K, V)。
而后,将自注意力机制的输出(即第一提取结果Attention(Q, K, V))与原始输入向量(可记作Q)做加和,以增强原始信息,并做归一化。
其中,本次归一化后的结果即本申请实施例中的第一编码向量,可记作x1,x1即为Norm(Q+Attention(Q, K, V)),Norm为归一化函数。
在上述基础上,可将第一编码向量输入至图5所示的前馈网络进一步计算,以充分融合信息。
在本申请实施例中,前馈网络也称前馈神经网络(feedforward neuralnetwork),在该前馈网络中,各神经元分层排列。每个神经元只与前一层的神经元相连,即各神经元从输入层开始,接收前一层输出,并输入到下一层,直至输出层.各层间没有反馈。
具体的,前馈神经网络采用一种单向多层结构。其中每一层包含若干个神经元,同一层的神经元之间没有互相连接,层间信息的传送只沿一个方向进行。其中第一层称为输入层。最后一层为输出层.中间为隐含层,简称隐层。隐层可以是一层。也可以是多层。
在本申请实施例中,不对该前馈网络的结构做具体限定,可根据实际需求灵活设置,再或者,该前馈网络还可以是感知机、BP网络、RBF网络等,本文不做具体限定。
具体的,前馈网络输出的结果即为第二提取结果,可记作Feed_forward(x1),其中,Feed_forward为前馈网络的计算单元。
在获得第二提取结果后,可将第二提取结果与输入该前馈网络的第一编码向量加和并做归一化,得到第二编码向量,可记作x2,x2即为Norm(x1+ Feed_forward(x1))。
当M=1时,即表示仅对该句子执行一次编码操作,此时,该句子的语义向量即为x2。
当M=2时,即表示仅对该句子执行两次编码操作,在基于第一次编码操作获得x2的基础上,设置Q=K=V=x2,再次重复上述所列举的编码操作,获得新的x2,如记作,则在M=2的情况下,该句子的语义向量即为/>。
当M=3时,即表示仅对该句子执行三次编码操作,在基于第二次编码操作获得的基础上,设置/>,再次重复上述所列举的编码操作,获得新的x2,如记作,则在M=3的情况下,该句子的语义向量即为/>。
同理,M取其他数值时,依此类推即可。
在上述实施方式中,通过自注意力机制对句子进行特征提取,可以有效关注相关的信息而忽略不相关的信息;在此基础上,将第一提取结果与原始输入向量进行加和,可以有效增强原始信息。进一步地,在上述基础上再结合前馈网络进一步编码,可以充分融合信息,提高语义特征提取的准确性。
可选的,特征相似度为两个语义向量之间的余弦相似度,或者,特征相似度为两个语义向量之间的闵可夫斯基相似度。
下面分别对这两种相似度的计算方式进行举例说明:
方法一:余弦相似度,计算公式如下:
(公式2);
其中,上述公式2中的向量v表示一个原始句子的语义向量,表示一个候选句子的语义向量。
则在计算该原始句子与该候选句子的余弦相似度时,先计算向量v和的点积(Dot Product),然后将该点积除以v的向量长度与/>的向量长度的乘积,即可获得向量v和/>的余弦相似度。
方法二:闵可夫斯基(Minkowski)相似度,计算公式如下:
(公式3);
其中,上述公式3中的向量v表示一个原始句子的语义向量,表示一个候选句子的语义向量。
则在计算该原始句子与该候选句子的闵可夫斯基相似度(也称闵可夫斯基举例)时,即计算两个向量之间的p阶距离。其中,p=1时,p阶距离为曼哈顿距离,p=2时,p阶距离为欧式距离。
需要说明的是,除上述所列举的两种计算句子间特征相似度的方式外,任意一种计算向量之间的距离,并基于该距离确定句子间特征相似度的方式,都适用于本申请实施例,在此不再一一赘述。
在上述实施方式中,以句子向量间的距离、向量方向的夹角等表征句子的特征相似度,可以有效反映句子在语义上的关联。
S23:服务器以每个原始句子各自对应的目标候选句子作为相应原始句子的对抗样本,构建训练样本集,其中,训练样本集用于训练自然语言处理模型,已训练的自然语言处理模型用于执行目标文本处理任务。
其中,目标文本处理任务可以是任意一种与文本相关的自然语言处理任务,具体可分为两大类,第一类的模型的输入和输出都是文本序列,如机器翻译任务、文本转换任务、风格迁移任务等;第二类模型的输入序列,输出为类别,如文本分类任务(情感分类、新闻主题分类、垃圾邮件分类和问句分类等)、文本识别任务(如实体命名识别)等。
一种可选的实施方式为,自然语言处理模型为文本分类模型,目标文本处理任务为文本分类,则可获取待分类的目标文本;将目标文本输入已训练的文本分类模型,获取已训练的文本分类模型输出的,目标文本的所属的文本类别。
例如,在情感分类场景下,文本分类模型可用于分析目标文本是属于哪一种情感类别,如分析是正向、负向还是中性情感。例如,目标文本是“太好了!”,其对应的文本类别是“正向”;再比如,目标文本是“我一定要投诉你们!”,其对应的文本类别是“负向”,等等。
在本申请实施例中,基于上述方式构建训练样本集后,可基于该训练样本集训练文本分类模型,该方法应用于文本分类任务,可可有效找到了模型的弱点和对应样本,快速增加了模型的鲁棒性和安全性,并补充了模型漏洞,有助于进一步提高文本分类的准确性。
需要说明的是,任意一种文本处理相关的任务都适用于本申请实施例,在此不再一一赘述。
在本申请实施例中,基于S21~S22的过程,可以在句粒度层面,筛选出与原始句子语义相近的目标候选句子。
以对于每个原始句子,从句子样本检索库中筛选出与该原始句子语义最相近的一个目标候选句子为例,则对于每个原始句子而言,可基于该原始句子(如“精诚所至金石为开”)构建原始样本,基于相应的目标候选句子(如“心诚则灵”)构建与该原始样本对应的一个对抗样本(也称对抗攻击样本),如图6所示,其为本申请实施例中的一种对抗样本的示意图。进而,即可基于这些对抗样本构建训练样本集,对模型进行对抗攻击训练。
在本申请实施例中,上述所列举的句粒度的文本对抗样本的生成方法,可应用于多种与自然语言处理相关的场景,包括但不限于下列的部分或全部:
场景一、生成句粒度的对抗攻击样本,以执行文本对抗攻击任务,如当前主流对抗攻击算法基于字/词粒度的攻击方案,本申请基于句向量检索生成句粒度的攻击方案,可以增加文本攻击的多样性。
在基于上述方式获取每个原始句子对应的目标候选句子后,一种可选的实施方式如下:
在原始句子或目标候选句子中增加扰动元素,获得原始句子对应的对抗句子;其中,扰动元素为字层级扰动元素与词层级扰动元素中的至少一种。
以增加字层级扰动元素为例,可对目标候选句子中的部分字进行形近字/同音字替换,或者,对目标候选句子进行字粒度的增/删/改等。
例如,原始句子为“精诚所至金石为开”,其所对应的一个目标候选句子为“心诚则灵”,可将其中的“诚”字替换为同音字“成”,得到一个对抗句子“心成则灵”。
以增加词层级扰动元素为例,可对目标候选句子中的部分单词或词组进行同义词替换,或者,对目标候选句子进行词粒度的增/删/改等。
例如,原始句子为“心诚则灵”,其所对应的一个目标候选句子为“精诚所至金石为开”,可将其中的“精诚”替换为同义词“心诚”,得到一个对抗句子“心诚所至金石为开”。
进而,以每个原始句子各自对应的目标候选句子和对抗句子作为相应原始句子的对抗样本,构建训练样本集。最后,可基于该训练样本集对张自然语言处理模型进行对抗攻击训练。
在上述实施方式中,对于每个原始句子及其相应的目标候选句子,都可基于上述方式构建至少一个对抗句子,以丰富对抗样本,更好的执行对抗攻击任务,对目标语言模型进行对抗攻击训练。
参阅图7所示,其为本申请实施例中的一种对抗攻击任务的示意图。其中,数据样本可包括基于原始句子构建的原始样本,以及基于原始句子所对应的目标候选句子及对抗句子构建的对抗样本。此外,还可构建字粒度的原始样本和对抗样本,词粒度的原始样本和对抗样本。进而,可在字粒度、词粒度及句粒度等各种层级上,对任务模型(即自然语言处理模型)进行对抗攻击训练,获得攻击结果。
在上述实施方式中,为对抗攻击方法补充了新的角度和方法,提出了一种句子粒度的对抗样本生成方案,并且在此基础上,结合字/词粒度的扰动元素,以生成更多的对抗样本,对自然语言模型进行对抗攻击训练,提高模型鲁棒性。
场景二、从句粒度角度评估自然语言处理模型的鲁棒性。在模型训练结束或训练中,需要评估模型的效果(准确率/鲁棒性等),鲁棒性主要通过文本攻击之后的准确率等指标来衡量。本申请提出的方案可以为衡量句子粒度的鲁棒性提供技术解决方案。
在评估模型鲁棒性时,一种可选的实施方式如下:
首先,基于训练样本集中的对抗样本,对待训练的自然语言处理模型进行对抗攻击训练,获得目标自然语言处理模型。
具体的,在进行对抗攻击训练时,可将对抗样本与相应的原始句子对应的原始样本,分别输入待训练的自然语言处理模型,获取自然语言处理模型针对原始样本和对抗样本各自对应的输出结果;在对抗样本的输出结果与原始样本的输出结果不一致时,对该自然语言处理模型的模型参数进行微调。
其中,该目标语言处理模型可以是训练过程中的,也可以是训练完成的,本文不做具体限定。
进而,通过测试样本对目标自然语言处理模型进行测试,获取目标自然语言处理模型在至少一个维度的量化评估指标;根据量化评估指标对所目标自然语言处理模型进行鲁棒性评估。
其中,测试样本可以是上述所构建的训练样本集中的样本,也可以是通过非结构化的自然语言语料重新构建的句子样本,本文不做具体限定。
其中,量化评估指标可以是任意一种可以用于评估模型鲁棒性的指标,包括但不限于下列的部分或全部:
平均精确率(mean average precision,mAP)、上下文中的常见对象(CommonObjects in Context,COCO)评估指标、准确率、误分类率、查准率、查全率、F1值、受试者工作特征曲线(receiver operating characteristic curve,ROC曲线)、 ROC曲线下与坐标轴围成的面积(Area Under Curve,AUC)值、精确率召回率曲线(Precision Recall curve,PR曲线)。
参阅图8所示,其为本申请实施例中的一种模型鲁棒性评估的示意图。在模型训练过程中或者训练完成后,可基于上述所列举的一种或多种量化评估指标,对模型进行鲁棒性评估,在确定目标自然语言处理模型的鲁棒性达到预设条件后,即可将模型上线。
例如,将模型在上述至少一个维度的量化评估指标所对应的得分进行加权求和,获得总得分,若该总得分大于预设阈值,则可将该模型上线。
如目标自然语言处理模型为文本分类模型,则可将模型上线,以处理文本分类相关的任务。
在上述实施方式中,在语义句子粒度的语义层面上检验模型的鲁棒性,可有效提高模型的鲁棒性和安全性。
场景三、NLP任务的数据建设,基于对抗样本和原始样本通过模型后预测的结果应该一致,若结果不一致,则可认为对抗成功,因而,本申请中通过对抗攻击样本,可以发现模型弱点,收集这些对抗成功的样本,进行人工标注,并微调模型,可以有效提升模型的效果和鲁棒性。
一种可选的实施方式如下:
对于训练样本集中的每个对抗样本,将对抗样本与相应的原始句子对应的原始样本,分别输入待训练的自然语言处理模型,获取自然语言处理模型针对原始样本和对抗样本各自对应的输出结果;若对抗样本的输出结果与原始样本的输出结果不一致,则将对抗样本进行标注,并对自然语言处理模型的模型参数进行微调。
其中,对模型参数的微调,可以是对模型中的偏置、权重、卷积核大小等参数进行调整,具体根据模型结构而定,本文不再一一赘述。
在本申请实施例中,每个原始样本可以和相对应的一个对抗样本组成样本组,输入待训练的自然语言处理模型,如文本分类模型,获得模型基于各输入样本输出的结果,如原始样本对应的分类结果1,对抗样本对应的分类结果2,则分析这两个分类结果是否一致。若不一致,则表明对抗成功,可对该对抗样本进行人工标注,并对自然语言处理模型的模型参数进行一次微调。
其中,微调可以是冻结模型中的部分层,而调整剩余层的模型参数;再或者,是在预训练的模型的基础上进行调整等,本文不做具体限定。
参阅图9所示,其为本申请实施例中的一种NLP任务的数据建设逻辑的示意图。
其中,数据样本可包括基于原始句子构建的原始样本,以及基于原始句子所对应的目标候选句子及对抗句子构建的对抗样本。此外,还可构建字粒度的原始样本和对抗样本,词粒度的原始样本和对抗样本。进而,可在字粒度、词粒度及句粒度等各种层级上,对任务模型(即自然语言处理模型)进行对抗攻击训练,获得模型输出结果。
进而,分析对抗样本的输出结果与相对应的原始样本的输出结果是否一致,手机攻击成功的样本,并对这些样本进行人工审核和标注;最后,对模型进行微调,具体的,可迭代调整至少一次,获得已训练的自然语言处理模型。
具体的,已训练的自然语言处理模型可直接上线,或是采用上述所列举的方式进行鲁棒性评估,在评估通过后将模型上线,进行执行相应的目标文本处理任务,如文本分类、文本识别、文本转换等,在此不再重复赘述。
在上述实施方式中,在语义句子粒度的语义层面上构建攻击样本,训练模型,可有效提高模型的鲁棒性和安全性。
需要说明的是,上述所列举的几种应用场景只是简单示例,除此之外,任何一种与文本对抗攻击相关的应用场景都适用于本申请实施例,在此不再一一赘述。
下面以文本分类场景为例,对本申请实施例中的文本分类方法进行简单说明。
参阅图10所示,其为本申请实施例中的一种文本分类方法的流程示意图,包括如下步骤S1001~S1011:
S1001:采集非结构化的自然语言语料。
S1002:对采集的自然语言语料进行数据清洗和预处理后,抽取自然语言语料中的句子,并作为候选句子。
S1003:经过已训练的编码器,对各个候选句子分别进行编码,获得各个候选句子各自的语义向量。
S1004:以候选句子和对应的语义向量对作为键值对,构建得到向量检索库。
其中,S1001~S1004为本申请实施例中构建向量检索库的过程,具体可参见上述实施例,重复之处不再赘述。
S1005:对于每个原始句子,经过已训练的编码器,对各个原始句子分别进行编码,提取原始句子的语义向量。
具体的,对于原始句子,可通过已训练的编码器对原始句子进行编码,获得该原始句子的语义向量,如图11所示。
S1006:将原始句子分别与向量检索库中各个候选句子,进行语义向量匹配,获得相应的特征相似度。
S1007:从各个候选句子中,筛选出与原始句子的特征相似度符合预设相似度条件的N个候选句子,作为原始句子对应的目标候选句子。
其中,S1006~S1007为本申请实施例中检索目标候选句子的过程,具体可参见上述实施例,重复之处不再赘述。
具体的,对于每个原始句子,如古人云“精诚所至,金石为开”,可在向量检索库中检索距离相近样本,并作为该原始句子的目标候选句子,如古训“心诚则灵”,如图12所示。
S1008:以每个原始句子各自对应的目标候选句子作为相应原始句子的对抗样本,构建训练样本集。
S1009:基于训练样本集中的对抗样本,对待训练的文本分类模型进行对抗攻击训练,获得已训练的文本分类模型。
在本申请实施例中,可实现句粒度对抗样本的构建,基于此对模型训练对抗攻击训练,可以有效提高模型的鲁棒性。
S1010:获取待分类的目标文本。
S10911:将目标文本输入已训练的文本分类模型,获取已训练的文本分类模型输出的,目标文本的所属的文本类别。
参阅图13所示,其为本申请实施例中的一种文本分类方法的逻辑示意图。
具体的,对象在浏览新闻时,可对对象所浏览的新闻主题进行分类。具体的,终端设备上安装有浏览器,浏览器响应于对象的浏览操作,获取对象所浏览的新闻的新闻内容(或者也可以发送链接等信息,由服务器自行查询)并发送给服务器,服务器内部署有基于上述方式训练得到的文本分类模型,进而,将该新闻内容输入已训练的文本分类模型,基于该模型确定新闻主题类别.如文本分类模型识别到该新闻主题属于类别1的概率为0.8,属于类别2的概率为0.05,属于类别3的概率为0.15,通过对比确定,该新闻主题类别为:类别1。最后,服务器将该结果反馈给客户端,由客户端呈现给对象。
在本申请实施例中,提出了一种有效的基于检索的生成有效对抗样本的方案。相比于之前在字词粒度上的基于规则和策略增/删/改的文本对抗样本生成方法,本申请基于语义向量检索,通过端到端自动化的流程检索语义上最接近原始样的对抗样本,为对抗攻击提供了新的思路和实现方法。
基于相同的发明构思,本申请实施例还提供一种文本对抗样本的生成装置。如图14所示,其为文本对抗样本的生成装置1400的结构示意图,可以包括:
获取单元1401,用于获取预先构建的句子样本检索库,句子样本检索库中包含多个候选句子,以及每个候选句子各自对应的语义特征;
检索单元1402,用于对于每个原始句子,提取原始句子的语义特征;将原始句子分别与句子样本检索库中各个候选句子,进行语义特征匹配;根据特征匹配结果,从各个候选句子中筛选出至少一个目标候选句子;
生成单元1403,用于以每个原始句子各自对应的目标候选句子作为相应原始句子的对抗样本,构建训练样本集,其中,训练样本集用于训练自然语言处理模型,已训练的自然语言处理模型用于执行目标文本处理任务。
可选的,特征匹配结果包括两个句子所对应的语义特征的特征相似度;
则检索单元1402具体用于:
从各个候选句子中,筛选出与原始句子的特征相似度符合预设相似度条件的N个候选句子,作为原始句子对应的目标候选句子,N为正整数。
可选的,特征匹配结果包括两个句子所对应的语义特征的特征相似度;
则检索单元1402具体用于:
将各个候选句子按照预设检索顺序,依次与原始句子进行语义特征匹配,并在每次匹配后根据特征匹配结果进行筛选,直至目标候选句子集合中目标候选句子的数量为N时,停止筛选,N为正整数;其中,每次筛选执行如下过程:
将候选句子与原始句子之间的特征相似度,与已获得的各相似度值中的当前最小相似度进行比较;其中,在第一次筛选时,当前最小相似度为预设相似度;
若特征相似度小于当前最小相似度,则将候选句子作为目标候选句子加入目标候选句子集合。
可选的,语义特征为语义向量,则特征相似度为两个语义向量之间的余弦相似度,或者,特征相似度为两个语义向量之间的闵可夫斯基相似度。
可选的,语义特征为语义向量,则装置还包括特征提取单元1404,用于通过如下方式提取每个句子的语义向量:
基于已训练的编码器,对一个句子执行如下至少一次编码操作,并将最后一次编码操作所获得的第二编码向量,作为一个句子的语义向量;其中,每次编码操作执行如下过程:
获取一个句子的原始输入向量;
以原始输入向量作为一个句子的查询向量、键向量和值向量,结合编码器的自注意力机制对原始输入向量进行特征提取后,将第一提取结果与原始输入向量进行加和及归一化处理,获得一个句子的第一编码向量;
将第一编码向量经过编码器中的前馈网络进行特征提取后,将第二提取结果与第一编码向量进行加和及归一化处理,获得一个句子的第二编码向量。
可选的,在第一次编码操作过程中,句子的原始输入向量是由句子中包含的各个字的字向量组合得到的;在之后每一次编码操作过程中,句子的原始输入向量是上一次编码操作得到的句子的第二编码向量。
可选的,装置还包括检索库构建单元1405,用于通过如下方式预先构建句子样本检索库:
采集非结构化的自然语言语料;
对采集的自然语言语料进行数据清洗和预处理后,抽取自然语言语料中的句子,并作为候选句子;
经过已训练的编码器,对各个候选句子分别进行编码,获得各个候选句子各自的语义特征;
以候选句子和对应的语义特征对作为键值对,构建得到句子样本检索库。
可选的,生成单元1403还用于在以每个原始句子各自对应的目标候选句子作为相应原始句子的对抗样本,构建训练样本集之前,在原始句子或目标候选句子中增加扰动元素,获得原始句子对应的对抗句子;扰动元素为字层级扰动元素与词层级扰动元素中的至少一种;
生成单元1403具体用于:
以每个原始句子各自对应的目标候选句子和对抗句子作为相应原始句子的对抗样本,构建训练样本集。
可选的,装置还包括:
评估单元1406,用于基于训练样本集中的对抗样本,对待训练的自然语言处理模型进行对抗攻击训练,获得目标自然语言处理模型;
对目标自然语言处理模型进行测试,获取目标自然语言处理模型在至少一个维度的量化评估指标;
根据量化评估指标对所目标自然语言处理模型进行鲁棒性评估。
可选的,装置还包括:
训练单元1407,用于对于训练样本集中的每个对抗样本,将对抗样本与相应的原始句子对应的原始样本,分别输入待训练的自然语言处理模型,获取自然语言处理模型针对原始样本和对抗样本各自对应的输出结果;
若对抗样本的输出结果与原始样本的输出结果不一致,则将对抗样本进行标注,并对自然语言处理模型的模型参数进行微调。
可选的,自然语言处理模型为文本分类模型,目标文本处理任务为文本分类,则装置还包括:
文本分类单元1408,用于获取待分类的目标文本;将目标文本输入已训练的文本分类模型,获取已训练的文本分类模型输出的,目标文本的所属的文本类别。
由于本申请中预先构建了句子样本检索库,对于原始句子而言,将该原始句子与句子样本检索库中的候选句子进行语义特征匹配,基于该方式,检索出语义相近的目标候选句子,并基于此构建对抗样本。不同于之前的对抗样本攻击方法,本申请提出了一种句粒度的文本攻击的实现方案,该方法在最大程度保持语义的前提下,基于语义检索来生成句粒度对抗样本,完善了对抗攻击方法的维度。并且,本申请基于句子语义检索生成句粒度对抗样本,是一种端到端概念的方法,不需要人工干预,可以自动化的批量生成目标句子的对应句粒度对抗攻击样本,在语义句子粒度的语义层面上检验模型的鲁棒性,应用于对抗攻击场景中。
此外,基于上述方式构建训练样本集后,可基于该训练样本集训练自然语言处理模型,提高自然语言处理模型的鲁棒性和安全性,在此基础上,进一步提高模型的准确性。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式的文本对抗样本的生成方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种电子设备。在一种实施例中,该电子设备可以是服务器,如图1所示的服务器120。在该实施例中,电子设备的结构可以如图15所示,包括存储器1501,通讯模块1503以及一个或多个处理器1502。
存储器1501,用于存储处理器1502执行的计算机程序。存储器1501可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器1501可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1501也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器1501是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器1501可以是上述存储器的组合。
处理器1502,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器1502,用于调用存储器1501中存储的计算机程序时实现上述文本对抗样本的生成方法。
通讯模块1503用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器1501、通讯模块1503和处理器1502之间的具体连接介质。本申请实施例在图15中以存储器1501和处理器1502之间通过总线1504连接,总线1504在图15中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1504可以分为地址总线、数据总线、控制总线等。为便于描述,图15中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
存储器1501中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的文本对抗样本的生成方法。处理器1502用于执行上述的文本对抗样本的生成方法,如图2所示。
在另一种实施例中,电子设备也可以是其他电子设备,如图1所示的终端设备110。在该实施例中,电子设备的结构可以如图16所示,包括:通信组件1610、存储器1620、显示单元1630、摄像头1640、传感器1650、音频电路1660、蓝牙模块1670、处理器1680等部件。
通信组件1610用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(Wireless Fidelity,WiFi)模块,WiFi模块属于短距离无线传输技术,电子设备通过WiFi模块可以帮助用户收发信息。
存储器1620可用于存储软件程序及数据。处理器1680通过运行存储在存储器1620的软件程序或数据,从而执行终端设备110的各种功能以及数据处理。存储器1620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器1620存储有使得终端设备110能运行的操作系统。本申请中存储器1620可以存储操作系统及各种应用程序,还可以存储执行本申请实施例文本对抗样本的生成方法的计算机程序。
显示单元1630还可用于显示由用户输入的信息或提供给用户的信息以及终端设备110的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元1630可以包括设置在终端设备110正面的显示屏1632。其中,显示屏1632可以采用液晶显示器、发光二极管等形式来配置。显示单元1630可以用于显示本申请实施例中的浏览器界面等。
显示单元1630还可用于接收输入的数字或字符信息,产生与终端设备110的用户设置以及功能控制有关的信号输入,具体地,显示单元1630可以包括设置在终端设备110正面的触控屏1631,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
其中,触控屏1631可以覆盖在显示屏1632之上,也可以将触控屏1631与显示屏1632集成而实现终端设备110的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元1630可以显示应用程序以及对应的操作步骤。
摄像头1640可用于捕获静态图像,用户可以将摄像头1640拍摄的图像通过应用发布。摄像头1640可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器1680转换成数字图像信号。
终端设备还可以包括至少一种传感器1650,比如加速度传感器1651、距离传感器1652、指纹传感器1653、温度传感器1654。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路1660、扬声器1661、传声器1662可提供用户与终端设备110之间的音频接口。音频电路1660可将接收到的音频数据转换后的电信号,传输到扬声器1661,由扬声器1661转换为声音信号输出。终端设备110还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器1662将收集的声音信号转换为电信号,由音频电路1660接收后转换为音频数据,再将音频数据输出至通信组件1610以发送给比如另一终端设备110,或者将音频数据输出至存储器1620以便进一步处理。
蓝牙模块1670用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块1670与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
处理器1680是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1620内的软件程序,以及调用存储在存储器1620内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器1680可包括一个或多个处理单元;处理器1680还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器1680中。本申请中处理器1680可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的文本对抗样本的生成方法。另外,处理器1680与显示单元1630耦接。
在一些可能的实施方式中,本申请提供的文本对抗样本的生成方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在电子设备上运行时,计算机程序用于使电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的文本对抗样本的生成方法中的步骤,例如,电子设备可以执行如图2中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的计算机程序,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。计算机程序可以完全地在用户电子设备上执行、部分地在用户电子设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序命令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序命令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的命令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序命令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的命令产生包括命令装置的制造品,该命令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序命令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的命令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (13)
1.一种文本对抗样本的生成方法,其特征在于,所述方法包括:
获取预先构建的句子样本检索库,所述句子样本检索库中包含多个候选句子,以及每个候选句子各自对应的语义特征;
对于每个原始句子,提取所述原始句子的语义特征;将所述原始句子分别与所述句子样本检索库中各个候选句子,进行语义特征匹配;根据特征匹配结果,从所述各个候选句子中筛选出至少一个目标候选句子;
以所述每个原始句子各自对应的目标候选句子作为相应原始句子的对抗样本,构建训练样本集,其中,所述训练样本集用于训练自然语言处理模型,已训练的自然语言处理模型用于执行目标文本处理任务;
其中,所述语义特征为语义向量,则每个句子的语义向量是通过如下方式提取的:
基于已训练的编码器,对一个句子执行如下至少一次编码操作,并将最后一次编码操作所获得的第二编码向量,作为所述一个句子的语义向量;其中,每次编码操作执行如下过程:
获取所述一个句子的原始输入向量;
以所述原始输入向量作为所述一个句子的查询向量、键向量和值向量,结合所述编码器的自注意力机制对所述原始输入向量进行特征提取后,将第一提取结果与所述原始输入向量进行加和及归一化处理,获得所述一个句子的第一编码向量;
将所述第一编码向量经过所述编码器中的前馈网络进行特征提取后,将第二提取结果与所述第一编码向量进行加和及归一化处理,获得所述一个句子的第二编码向量。
2.如权利要求1所述的方法,其特征在于,所述特征匹配结果包括两个句子所对应的语义特征的特征相似度;
则所述根据特征匹配结果,从所述各个候选句子中筛选出至少一个目标候选句子,包括:
从所述各个候选句子中,筛选出与所述原始句子的特征相似度符合预设相似度条件的N个候选句子,作为所述原始句子对应的目标候选句子,N为正整数。
3.如权利要求1所述的方法,其特征在于,所述特征匹配结果包括两个句子所对应的语义特征的特征相似度;
则所述将所述原始句子分别与所述句子样本检索库中各个候选句子,进行语义特征匹配;根据特征匹配结果,从所述各个候选句子中筛选出至少一个目标候选句子,包括:
将所述各个候选句子按照预设检索顺序,依次与所述原始句子进行语义特征匹配,并在每次匹配后根据特征匹配结果进行筛选,直至目标候选句子集合中目标候选句子的数量为N时,停止筛选,N为正整数;其中,每次筛选执行如下过程:
将所述候选句子与所述原始句子之间的特征相似度,与已获得的各相似度值中的当前最小相似度进行比较;其中,在第一次筛选时,所述当前最小相似度为预设相似度;
若所述特征相似度小于所述当前最小相似度,则将所述候选句子作为目标候选句子加入所述目标候选句子集合。
4.如权利要求2或3所述的方法,其特征在于,所述语义特征为语义向量,则所述特征相似度为两个语义向量之间的余弦相似度,或者,所述特征相似度为两个语义向量之间的闵可夫斯基相似度。
5.如权利要求1所述的方法,其特征在于,在第一次编码操作过程中,所述句子的原始输入向量是由所述句子中包含的各个字的字向量组合得到的;在之后每一次编码操作过程中,所述句子的原始输入向量是上一次编码操作得到的所述句子的第二编码向量。
6.如权利要求1~3任一项所述的方法,其特征在于,所述句子样本检索库是通过如下方式预先构建的:
采集非结构化的自然语言语料;
对采集的自然语言语料进行数据清洗和预处理后,抽取所述自然语言语料中的句子,并作为候选句子;
经过已训练的编码器,对所述各个候选句子分别进行编码,获得所述各个候选句子各自的语义特征;
以候选句子和对应的语义特征对作为键值对,构建得到所述句子样本检索库。
7.如权利要求1~3任一项所述的方法,其特征在于,在所述以所述每个原始句子各自对应的目标候选句子作为相应原始句子的对抗样本,构建训练样本集之前,还包括:
在所述原始句子或所述目标候选句子中增加扰动元素,获得所述原始句子对应的对抗句子;所述扰动元素为字层级扰动元素与词层级扰动元素中的至少一种;
所述以所述每个原始句子各自对应的目标候选句子作为相应原始句子的对抗样本,构建训练样本集,包括:
以所述每个原始句子各自对应的目标候选句子和对抗句子作为相应原始句子的对抗样本,构建训练样本集。
8.如权利要求1~3任一项所述的方法,其特征在于,所述方法还包括:
基于所述训练样本集中的对抗样本,对待训练的自然语言处理模型进行对抗攻击训练,获得目标自然语言处理模型;
对所述目标自然语言处理模型进行测试,获取所述目标自然语言处理模型在至少一个维度的量化评估指标;
根据所述量化评估指标对所目标自然语言处理模型进行鲁棒性评估。
9.如权利要求1~3任一项所述的方法,其特征在于,所述方法还包括:
对于所述训练样本集中的每个对抗样本,将所述对抗样本与相应的原始句子对应的原始样本,分别输入待训练的自然语言处理模型,获取所述自然语言处理模型针对所述原始样本和所述对抗样本各自对应的输出结果;
若所述对抗样本的输出结果与所述原始样本的输出结果不一致,则将所述对抗样本进行标注,并对所述自然语言处理模型的模型参数进行微调。
10.如权利要求1~3任一项所述的方法,其特征在于,所述自然语言处理模型为文本分类模型,所述目标文本处理任务为文本分类,则所述方法还包括:
获取待分类的目标文本;
将所述目标文本输入已训练的文本分类模型,获取所述已训练的文本分类模型输出的,所述目标文本的所属的文本类别。
11.一种文本对抗样本的生成装置,其特征在于,包括:
获取单元,用于获取预先构建的句子样本检索库,所述句子样本检索库中包含多个候选句子,以及每个候选句子各自对应的语义特征;
检索单元,用于对于每个原始句子,提取所述原始句子的语义特征;将所述原始句子分别与所述句子样本检索库中各个候选句子,进行语义特征匹配;根据特征匹配结果,从所述各个候选句子中筛选出至少一个目标候选句子;
生成单元,用于以所述每个原始句子各自对应的目标候选句子作为相应原始句子的对抗样本,构建训练样本集,其中,所述训练样本集用于训练自然语言处理模型,已训练的自然语言处理模型用于执行目标文本处理任务;
其中,所述语义特征为语义向量,则所述装置还包括特征提取单元,用于通过如下方式提取每个句子的语义向量:
基于已训练的编码器,对一个句子执行如下至少一次编码操作,并将最后一次编码操作所获得的第二编码向量,作为所述一个句子的语义向量;其中,每次编码操作执行如下过程:
获取所述一个句子的原始输入向量;
以所述原始输入向量作为所述一个句子的查询向量、键向量和值向量,结合所述编码器的自注意力机制对所述原始输入向量进行特征提取后,将第一提取结果与所述原始输入向量进行加和及归一化处理,获得所述一个句子的第一编码向量;
将所述第一编码向量经过所述编码器中的前馈网络进行特征提取后,将第二提取结果与所述第一编码向量进行加和及归一化处理,获得所述一个句子的第二编码向量。
12.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~10中任一所述方法的步骤。
13.一种计算机可读存储介质,其特征在于,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行权利要求1~10中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311179061.4A CN116911374B (zh) | 2023-09-13 | 2023-09-13 | 文本对抗样本的生成方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311179061.4A CN116911374B (zh) | 2023-09-13 | 2023-09-13 | 文本对抗样本的生成方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116911374A CN116911374A (zh) | 2023-10-20 |
CN116911374B true CN116911374B (zh) | 2024-01-09 |
Family
ID=88356988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311179061.4A Active CN116911374B (zh) | 2023-09-13 | 2023-09-13 | 文本对抗样本的生成方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116911374B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427618A (zh) * | 2019-07-22 | 2019-11-08 | 清华大学 | 对抗样本生成方法、介质、装置和计算设备 |
CN113836192A (zh) * | 2021-08-13 | 2021-12-24 | 深译信息科技(横琴)有限公司 | 平行语料的挖掘方法、装置、计算机设备及存储介质 |
CN115688801A (zh) * | 2022-11-04 | 2023-02-03 | 重庆邮电大学 | 一种文本对抗样本生成方法、设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11113599B2 (en) * | 2017-06-22 | 2021-09-07 | Adobe Inc. | Image captioning utilizing semantic text modeling and adversarial learning |
-
2023
- 2023-09-13 CN CN202311179061.4A patent/CN116911374B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427618A (zh) * | 2019-07-22 | 2019-11-08 | 清华大学 | 对抗样本生成方法、介质、装置和计算设备 |
CN113836192A (zh) * | 2021-08-13 | 2021-12-24 | 深译信息科技(横琴)有限公司 | 平行语料的挖掘方法、装置、计算机设备及存储介质 |
CN115688801A (zh) * | 2022-11-04 | 2023-02-03 | 重庆邮电大学 | 一种文本对抗样本生成方法、设备及介质 |
Non-Patent Citations (1)
Title |
---|
基于对抗训练的文本表示和分类算法;张晓辉;于双元;王全新;徐保民;;计算机科学(第S1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116911374A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107066464B (zh) | 语义自然语言向量空间 | |
CN110083705A (zh) | 一种用于目标情感分类的多跳注意力深度模型、方法、存储介质和终端 | |
AU2016256753A1 (en) | Image captioning using weak supervision and semantic natural language vector space | |
CN117453921A (zh) | 一种大语言模型的数据信息标签处理方法 | |
Mehmood et al. | A precisely xtreme-multi channel hybrid approach for roman urdu sentiment analysis | |
CN110781302B (zh) | 文本中事件角色的处理方法、装置、设备及存储介质 | |
CN109344404A (zh) | 情境感知的双重注意力自然语言推理方法 | |
CN116720004B (zh) | 推荐理由生成方法、装置、设备及存储介质 | |
Sharma et al. | Supervised machine learning method for ontology-based financial decisions in the stock market | |
US11934787B2 (en) | Intent determination in a messaging dialog manager system | |
Zulqarnain et al. | An efficient two-state GRU based on feature attention mechanism for sentiment analysis | |
US20230087667A1 (en) | Canonicalization of data within open knowledge graphs | |
CN116975199A (zh) | 一种文本预测方法、装置、设备和存储介质 | |
Alsmadi et al. | Adversarial machine learning in text processing: a literature survey | |
Dangi et al. | An efficient model for sentiment analysis using artificial rabbits optimized vector functional link network | |
CN113255360A (zh) | 基于层次化自注意力网络的文档评级方法和装置 | |
Qiu et al. | Chinese Microblog Sentiment Detection Based on CNN‐BiGRU and Multihead Attention Mechanism | |
Feng et al. | Ontology semantic integration based on convolutional neural network | |
CN110781666A (zh) | 基于生成式对抗网络的自然语言处理文本建模 | |
Banerjee et al. | Relation extraction using multi-encoder lstm network on a distant supervised dataset | |
CN117033626A (zh) | 一种文本审核方法、装置、设备及存储介质 | |
Aljebreen et al. | Moth Flame Optimization with Hybrid Deep Learning based Sentiment Classification Towards ChatGPT on Twitter | |
Ermatita et al. | Sentiment Analysis of COVID-19 using Multimodal Fusion Neural Networks. | |
CN116911374B (zh) | 文本对抗样本的生成方法、装置、电子设备和存储介质 | |
She et al. | An interactive multi-head self-attention capsule network model for aspect sentiment classification |
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 |