CN110427618B - 对抗样本生成方法、介质、装置和计算设备 - Google Patents
对抗样本生成方法、介质、装置和计算设备 Download PDFInfo
- Publication number
- CN110427618B CN110427618B CN201910662406.9A CN201910662406A CN110427618B CN 110427618 B CN110427618 B CN 110427618B CN 201910662406 A CN201910662406 A CN 201910662406A CN 110427618 B CN110427618 B CN 110427618B
- Authority
- CN
- China
- Prior art keywords
- word
- words
- replaceable
- original sample
- characters
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明提供了一种对抗样本生成方法,包括:从数据集中获取原始样本;确定所述原始样本中可替换的词/字;基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字;采用所述候选替换词/字替换原始样本中相应的可替换的词/字,以生成对抗样本。本方法可以根据数据集中的文本数据生成替换原始样本中特定词的对抗样本,在将所述对抗样本输入目标模型后,能够令目标模型减轻受“困难共同词”干扰的影响,减轻在在其他部分上判断的偏差,以便于提高目标模型的性能(鲁棒性)。另外,根据本发明生成的对抗样本中的两个句子之间具有更低的词袋相似性。此外,本发明还提供了一种对抗样本生成装置、介质和计算设备。
Description
技术领域
本发明的实施方式涉及自然语言处理领域,更具体地,本发明的实施方式涉及一种对抗样本生成方法、介质、装置和计算设备。
背景技术
相似度计算用于衡量对象之间的相似程度。在自然语言处理技术领域,相似度计算一个基础性运算,被广泛应用于数据挖掘、数据分类、信息检索和信息采集等技术场景中。文本相似度计算是自然语言处理技术领域中常涉及到的相似度计算类型,通过计算不同文本之间的相似度能够实现对大规模的文本语料进行聚类分析、文本匹配或去重处理等。
近几年来,机器学习在图像、语音和自然语言等领域取得突破性成果。但是,对于一些可以达到很高准确识别率的深度神经网络模型,在对抗环境中却也很容易受到攻击。在对抗环境中,深度神经网络模型会被输入一些基于正常样本恶意构造的对抗样本(例如,图片、文本或者语音信息),在对抗样本的攻击下,神经网络模型会做出错误的预测。因此,采用对抗样本对神经网络进行攻击可以检测出神经网络模型潜在的漏洞,继而用于评估和提升神经网络模型的性能。
现有技术生成的对抗样本基本与原始样本的语义相近,难以衡量目标模型的泛化能力。
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,该概述并不是关于本发明的穷举性概述,它并非意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为后文的具体实施方式部分的铺垫。
在本发明实施方式的第一方面中,提供了一种对抗样本生成方法,包括:
从数据集中获取原始样本;
确定所述原始样本中可替换的词/字;
基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字;
采用所述候选替换词/字替换原始样本中相应的可替换的词/字,以生成对抗样本。
在本发明的一个实施例中,所述原始样本包括一组由两个匹配或不匹配的语句构成的语句对文本。
在本发明的一个实施例中,所述数据集中包括多组由两个匹配的语句构成的语句对文本。
在本发明的一个实施例中,所述数据集中还包括多组由不匹配的两个语句构成的语句对文本。
在本发明的一个实施例中,从所述数据集中获取不匹配的语句对文本,包括:
从数据集中采样不同的多个句子对;
分别获取两个不同的句子对中的一个句子,以组成不匹配的语句对文本。
在本发明的一个实施例中,分别获取两个不同的句子对中的一个句子后,计算两个句子的长度差,若所述长度差满足预设限制条件,则基于所述两个句子组成不匹配的语句对文本。
在本发明的一个实施例中,基于所述原始样本中的词/字的性质确定所述词/字是否可替换。
在本发明的一个实施例中,确定词性为名词或动词或形容词的词/字为可替换词/字。
在本发明的一个实施例中,同一语句对文本中的可替换词/字的词性一致。
在本发明的一个实施例中,由匹配的两个语句构成的语句对文本中的分别位于不同语句中的可替换词/字一致。
在本发明的一个实施例中,基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字,包括:
基于所述可替换的词/字在所述原始样本中的上下文确定预设词汇表中所有词/字出现在所述可替换的词/字所在位置的概率分布;
基于所述概率分布选取所述词汇表中概率排序在前的一个或多个词/字作为所述候选替换词/字。
在本发明的一个实施例中,采用预设的预测模型确定所述概率分布。
在本发明的一个实施例中,所述预测模型为BERT(双向编码器)语言模型。
在本发明的一个实施例中,确定所述原始样本中可替换的词/字之后,所述方法还包括:
从所述原始样本中可替换的词/字中选取最佳可替换词/字;
相应的,基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字,包括:
基于所述最佳可替换词/字在所述原始样本中的上下文确定候选替换词/字;
从所述候选替换词/字中选取最佳替换词/字;
相应的,采用所述最佳替换词/字替换原始样本中相应的可替换词/字,以生成对抗样本。
在本发明的一个实施例中,从所述原始样本中可替换的词/字中选取最佳可替换词/字,包括:
执行以下步骤直到所述原始样本中的可替换的词/字枚举完毕:
采用特定的字符替换所述原始样本中的一个可替换的词/字以生成第一候选中间文本;
将所述第一候选中间文本输入目标模型以得到匹配或不匹配分数;
选取使得所述目标模型输出的匹配或不匹配分数最大的可替换的词/字作为最佳可替换词/字。
在本发明的一个实施例中,从所述候选替换词/字中选取最佳替换词/字,包括:
执行以下步骤直到所述原始样本中的可替换的词/字的候选替换词/字枚举完毕:
选取所述候选替换词/字中的一个替换所述原始样本中相应的可替换的词/字以生成第二候选中间文本;
将所述第二候选中间文本输入目标模型以得到匹配或不匹配分数;
选取使得所述目标模型输出的匹配或不匹配分数最大的候选替换词/字作为最佳候选替换词/字。
在本发明的一个实施例中,采用集束搜索的方法选取最佳可替换词/字以及最佳替换词/字。
在本发明的一个实施例中,在选取最佳可替换词/字以及最佳替换词/字时,若目标模型输出的匹配或不匹配分数达到预设阈值,则确定当前的可替换词/字或候选替换词/字为最佳。
在本发明的一个实施例中,在由两个匹配的语句构成的语句对文本中,原始样本中的可替换的词/字对为两个分别位于不同语句中的相同的可替换词/字;在由两个不匹配的语句构成的语句对文本中,所原始样本中的可替换的词/字对为两个分别位于不同语句中的词性相同的可替换词/字,对于分别位于原始样本中不同位置处的可替换词/字对,基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字,包括:
分别基于所述不同位置处的可替换词/字在所述原始样本中的上下文确定候选替换词/字集合;
将确定的两个候选替换词/字集合中都存在的候选替换词/字作为所述可替换词/字的候选替换词/字。
在本发明的一个实施例中,从所述原始样本中可替换的词/字中选取最佳可替换词/字时,枚举所述原始样本中的可替换的词/字对。
在本发明的一个实施例中,对于原始样本中分别不同位置处的可替换词/字对,基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字,包括:
分别基于所述可替换词/字在所述原始样本中的上下文确定预设词汇表中所有词/字出现在所述可替换的词/字所在位置的概率分布;
基于所述概率分布构建联合概率分布;
基于所述联合概率分布选取所述词汇表中概率排序在前的一个或多个词/字作为所述候选替换词/字。
在本发明实施方式的第二方面中,提供了一种对抗样本生成装置,包括:
原始样本采样模块,被配置为从数据集中获取原始样本;
可替换词/字确定模块,被配置为确定所述原始样本中可替换的词/字;
候选替换词/字确定模块,被配置为基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字;
对抗样本生成模块,被配置为采用所述候选替换词/字替换原始样本中相应的可替换的词/字,以生成对抗样本。
在本发明的一个实施例中,所述原始样本包括一组由两个匹配或不匹配的语句构成的语句对文本。
在本发明的一个实施例中,所述数据集中包括多组由两个匹配的语句构成的语句对文本。
在本发明的一个实施例中,所述数据集中还包括多组由不匹配的两个语句构成的语句对文本。
在本发明的一个实施例中,所述原始样本采样模块还被配置为从所述数据集中获取不匹配的语句对文本,包括:
句子对采样单元,被配置为从数据集中采样不同的多个句子对;
语句对生成单元,被配置为分别获取两个不同的句子对中的一个句子,以组成不匹配的语句对文本。
在本发明的一个实施例中,所述语句对生成单元还被配置为在分别获取两个不同的句子对中的一个句子后,计算两个句子的长度差,若所述长度差满足预设限制条件,则基于所述两个句子组成不匹配的语句对文本。
在本发明的一个实施例中,所述可替换词/字确定模块,还被配置为基于所述原始样本中的词/字的性质确定所述词/字是否可替换。
在本发明的一个实施例中,确定词性为名词或动词或形容词的词/字为可替换词/字。
在本发明的一个实施例中,同一语句对文本中的可替换词/字的词性一致。
在本发明的一个实施例中,由匹配的两个语句构成的语句对文本中的分别位于不同语句中的可替换词/字一致。
在本发明的一个实施例中,所述候选替换词/字确定模块还被配置为基于所述可替换的词/字在所述原始样本中的上下文确定预设词汇表中所有词/字出现在所述可替换的词/字所在位置的概率分布;以及基于所述概率分布选取所述词汇表中概率排序在前的一个或多个词/字作为所述候选替换词/字。
在本发明的一个实施例中,采用预设的预测模型确定所述概率分布。
在本发明的一个实施例中,所述预测模型为BERT(双向编码器)语言模型。
在本发明的一个实施例中,所述可替换词/字确定模块包括:
最佳可替换词/字选取单元,被配置为从所述原始样本中可替换的词/字中选取最佳可替换词/字;
所述候选替换词/字确定模块包括:
候选替换词/字确定单元,被配置为基于所述最佳可替换词/字在所述原始样本中的上下文确定候选替换词/字;
最佳候选替换词/字确定单元,被配置为从所述候选替换词/字中选取最佳替换词/字;
所述对抗样本生成模块还被配置为采用所述最佳替换词/字替换原始样本中相应的可替换词/字,以生成对抗样本。
在本发明的一个实施例中,所述最佳可替换词/字确定单元,被配置为:
执行以下步骤直到所述原始样本中的可替换的词/字枚举完毕:
采用特定的字符替换所述原始样本中的一个可替换的词/字以生成第一候选中间文本;
将所述第一候选中间文本输入目标模型以得到匹配或不匹配分数;
选取使得所述目标模型输出的匹配或不匹配分数最大的可替换的词/字作为最佳可替换词/字。
在本发明的一个实施例中,所述最佳候选替换词/字确定单元,被配置为:
执行以下步骤直到所述原始样本中的可替换的词/字的候选替换词/字枚举完毕:
选取所述候选替换词/字中的一个替换所述原始样本中相应的可替换的词/字以生成第二候选中间文本;
将所述第二候选中间文本输入目标模型以得到匹配或不匹配分数;
选取使得所述目标模型输出的匹配或不匹配分数最大的候选替换词/字作为最佳候选替换词/字。
在本发明的一个实施例中,采用集束搜索的方法选取最佳可替换词/字以及最佳替换词/字。
在本发明的一个实施例中,在选取最佳可替换词/字以及最佳替换词/字时,若目标模型输出的匹配或不匹配分数达到预设阈值,则确定当前的可替换词/字或候选替换词/字为最佳。
在本发明的一个实施例中,在由两个匹配的语句构成的语句对文本中,原始样本中的可替换的词/字对为两个分别位于不同语句中的相同的可替换词/字;在由两个不匹配的语句构成的语句对文本中,所原始样本中的可替换的词/字对为两个分别位于不同语句中的词性相同的可替换词/字,对于分别位于原始样本中不同位置处的可替换词/字对,所述候选替换词/字确定模块还被配置为:
分别基于所述不同位置处的可替换词/字在所述原始样本中的上下文确定候选替换词/字集合;
将确定的两个候选替换词/字集合中都存在的候选替换词/字作为所述可替换词/字的候选替换词/字。
在本发明的一个实施例中,从所述原始样本中可替换的词/字中选取最佳可替换词/字时,枚举所述原始样本中的可替换的词/字对。
在本发明的一个实施例中,所述候选替换词/字确定模块还被配置为:
分别基于所述可替换词/字在所述原始样本中的上下文确定预设词汇表中所有词/字出现在所述可替换的词/字所在位置的概率分布;
基于所述概率分布构建联合概率分布;
基于所述联合概率分布选取所述词汇表中概率排序在前的一个或多个词/字作为所述候选替换词/字。
本发明还提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行前述任一对抗样本生成方法。
本发明还提供一种计算设备,所述计算设备包括:处理器;用于存储所述处理器可执行指令的存储器;
所述处理器,用于执行前述任一对抗样本生成方法。
根据本发明实施方式的对抗样本生成方法、装置、介质和计算设备,可以根据数据集中的文本数据生成替换原始样本中特定词的对抗样本,在将所述对抗样本输入目标模型后,能够令目标模型减轻受“困难共同词”干扰的影响,减轻在在其他部分上判断的偏差,以便于提高目标模型的性能(鲁棒性)。另外,根据本发明生成的对抗样本中的两个句子之间具有更低的词袋相似性,和现有技术生成的对抗样本具有本质上的区别,由此,本方法可以与现有技术结合来综合地提升目标模型的泛化能力。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1为本发明实施例提供的一种对抗样本生成方法的流程示意图;
图2为本发明实施例提供的一组匹配的语句对文本以及基于其确定的POS标签和可替换词对的示意图;
图3为本发明实施例提供的一组不匹配的语句对文本以及基于其确定的POS标签和可替换词对的示意图;
图4为为本发明实施例提供的一组扣除原始文本中可替换词形成的待填充文本的示意图;
图5为本发明实施例提供的另一种对抗样本生成方法的流程示意图;
图6为本发明实施例提供的一种对抗样本生成装置的模块示意图;
图7为本发明实施例提供的一种计算设备的示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
现参照附图对本发明的实施方式进行详细描述。应注意,以下描述仅仅是示例性的,而并不旨在限制本发明。此外,在以下描述中,将采用相同的附图标记表示不同附图中的相同或相似的部件。在以下描述的不同实施方式中的不同特征,可彼此结合,以形成本发明范围内的其他实施方式。
在本文中,需要理解的是,所涉及的术语:
Quora:数据集包含用标签注释的问题对,表明这两个问题是否相似。
MRPC:微软研究释义语料库由从在线新闻中收集的句子对组成。每对都注明了一个标签,表明这两个句子是否在语义上是等价的。
下面结合图1来描述根据本发明示例性实施方式的对抗样本生成方法,所述方法包括:
步骤S110,从数据集中获取原始样本;
本发明所公开的对抗样本生成方法主要应用于文本类数据的对抗样本生成,所述数据集可以是现有的任一文本数据集(例如Quora和MRPC等数据集),也可以是在网络等环境收集的符合需求的数据集,其中所述数据集至少符合以下要求之一:
1)所述数据集中包括多组由两个匹配的语句构成的语句对文本;
2)所述数据集中包括多组由不匹配的两个语句构成的语句对文本。
另外,在所述数据集中仅包括多组由两个匹配的语句构成的语句对文本时,所述由不匹配的两个语句构成的语句对文本可以基于以下步骤生成:
从数据集中采样不同的多个句子对;
分别获取两个不同的句子对中的一个句子,以组成不匹配的语句对文本。
例如,所述数据集中包括多个由两个匹配的语句构成的语句对文本(P1,Q1)、(P2,Q2)···(PN,QN),那么首先可以从所述数据集中采样不同的多个句子对,在本实施例中,具体为采样两个句子对,例如采样句子对(P1,Q1)和(P2,Q2),然后分别从所述句子对中获取一个句子,例如,从句子对(P1,Q1)中获取句子P1,相应的,则从句子对(P2,Q2)中获取Q2,然后可以基于所述句子P1和Q2组成新的句子对(P1,Q2),在生成所述句子对(P1,Q2)的同时,给所述句子对(P1,Q2)标注不匹配(unmatched)的标签,具体的,可以将所述语句对文本构建为(P1;Q2;unmatched)。
需要说明的是,在生成所述由不匹配的两个语句构成的语句对文本时,从不同的句子对中采样的句子也可以是不对应的,例如从句子对(P1,Q1)中获取句子P1以及从句子对(P2,Q2)中获取P2,然后可以基于所述句子P1和P2组成新的句子对(P1,P2)。
另外,由于不同的句子对文本的可能存在长度差异,而较大的长度差异也会对目标模型的识别结果以及接下来的对抗样本生成产生影响,在本实施方式的一个实施例中,对采样的来自不同句子对的句子进行长度差异限制,即不同的句子间的长度差异满足预设限制条件时,才以采样到的句子为基础构建语句对文本,例如从句子对(P1,Q1)中获取句子P1以及从句子对(P2,Q2)中获取Q2,然后可以基于所述句子P1和Q2计算长度差:||P1|-|Q2||,在所述长度差||P1|-|Q2||满足限制条件时,才构建所述语句对文本(P1,Q2)或(P1;Q2;unmatched)。
由此,可以得知所述原始样本包括一组由两个匹配语句构成的语句对文本或一组由两个不匹配的语句构成的语句对文本,另外,所述原始样本也可以包括多组语句对文本,其中,可以全部是匹配或不匹配的语句对文本,也可以同时包括匹配或不匹配的语句对文本,本发明对此不作限定。
步骤S120,确定所述原始样本中可替换的词/字;
在采样得到原始样本后,确定所述原始样本中可替换的词/字,具体的,可以基于所述原始样本中的词/字的性质(性质为非停止词的其他类单词,停止词为使用频率很高的字或词,常为冠词、介词、副词或连词等,例如英文单词a,the,or)确定所述词/字是否可替换,例如,可以确定原始样本中词性为名词或动词或形容词的词/字为可替换词/字,参考图2,其中,将词性为名词的单词设置为可替换词/字,具体的,P1中的单词purpose以及life被选定为可替换词/字;另外,在本实施方式的一个实施例中,同一语句对文本中的可替换词/字的词性一致,即将原始样本中某一词性的单词设置为可替换词/字,例如,在上个示例中,Q1中的单词purpose以及life也被选定为可替换词/字;需要注意的是,由匹配的两个语句构成的语句对文本中的分别位于不同语句中的可替换词/字一致,例如P1和Q1中,不同位置处的单词purpose以及life均被设置为可替换词/字。
对于由不匹配的句子组成的语句对文本,选取可替换词/字的原则与上述步骤一致,在此不做说明。
在本实施方式的一个实施例中,采用自然语言工具包Natural Language Toolkit(NLTK)确定所述原始文本中每个词/字的性质,并给其中的非停止词标注相应的性质(POS)标签(在另外一个实施例中也可以仅给文本中的所有可替换词/字相应的POS标签),参照图2和3,图中两个句子中非停止词下均标注有相应的词性标签,即[]中的内容。
步骤S130,基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字;
在确定可替换的词/字之后,即可根据所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字,具体的,可以将所述可替换的词/字从所述原始样本的相应位置处扣出,预测相应位置处可能填入的词/字,参照图4,然后使用预设的语言模型预测其中的候选替换词/字,所述语言模型可以选用现有的任一模型,例如LSTM和BERT等神经网络模型。需要说明的是,所述语言模型可以基于上下文生成任意数量的单词,因此在进行候选替换词/字的确定时,需要对要生成的单词数量进行限制,例如,图,4中第一个空白位置被扣出的单词为一个,则相应生成的单词也为一个;另外,所述语言模型可以同时对多处的缺失文本进行生成,也即,可以同时扣出原始样本中的多个可替换词/字,然后输入到预设语言模型中进行候选替换词/字的确定。
在本发明的一个实施例中,提供了另外一种候选替换词/字方式,具体的:
基于所述可替换的词/字在所述原始样本中的上下文确定预设词汇表中所有词/字出现在所述可替换的词/字所在位置的概率分布;
所述概率分布可以基于预设的预测模型,例如BERT(双向编码器)语言模型,所述模型能够基于预设的词汇表给出出现在相应的可替换词/字所在位置处的词/字的概率:
P(xk|x1…xk-1,xk+1…xl),
其中,x为代表词/字的变量,k表示句子(原始样本)中可替换词/字的位置,x1…xk-1,xk+1…xl表示所述句子(原始样本)。
基于所述概率分布选取所述词汇表中概率排序在前的一个或多个词/字作为所述候选替换词/字。
由于前述的一个实施例中描述了选取原始样本中词性一致的词/字作为所述原始样本的可替换词/字,因此,在本实施方式的一个实施例中,将所述原始样本中分别位于不同句子的词性一致的可替换词/字(对于由匹配的两个句子组成的语句对文本而言,为分别位于不同句子中一致的两个单词)作为可替换词/字对来确定候选替换词/字,具体的,参照图2和图3,其中红线连接的两个单词即为可替换词对,图2中显示的是匹配的两个句子,其中,P1中的单词purpose(life)和Q1中的单词purpose(life)组成所述可替换词对,图3显示的是不匹配的两个句子,其中,P2中的单词Gmail、account可以分别与Q2中的单词school、management、software组成所述可替换词对。
相应的,基于所述可替换的词/字对在所述原始样本中的上下文确定候选替换词/字,具体的,可以分别基于所述可替换词/字对中每一个词/字在所述原始样本中的上下文确定候选替换词/字集合;
将确定的两个候选替换词/字集合中都存在的候选替换词/字作为所述可替换词/字的候选替换词/字。
另外,前述的一个实施例中还提供了一种基于概率分布的方式确定候选替换词/字,在基于所述可替换的词/字对在所述原始样本中的上下文确定候选替换词/字时,分别基于所述可替换的词/字对在所述原始样本中的上下文确定预设词汇表中所有词/字出现在所述可替换的词/字所在位置的概率分布;
基于所述概率分布构建联合概率分布;
例如,对于可替换词/字对(pi,qj),确定替换pi和qj的候选替换词w的概率分布为P(w|pi′,qj′,i′≠i,j′≠j)=P(w|pi′,i′≠i)·P(w|qj′,j′≠j)。
基于所述联合概率分布选取所述词汇表中概率排序在前的一个或多个词/字作为所述候选替换词/字。
步骤S140,采用所述候选替换词/字替换原始样本中相应的可替换的词/字,以生成对抗样本。
考虑到,基于所述原始样本中确定的不同的可替换的词/字生成的对抗样本输入目标模型后的结果存在差异,因此,确定所述原始样本中可替换的词/字之后,所述方法还包括:
从所述原始样本中可替换的词/字中选取最佳可替换词/字;
具体的,执行以下步骤直到所述原始样本中的可替换的词/字枚举完毕:
采用特定的字符替换所述原始样本中的一个可替换的词/字以生成第一候选中间文本;
将所述第一候选中间文本输入目标模型以得到匹配或不匹配分数;
在本发明的一个实施例中,执行上述步骤直到枚举完毕所述原始样本中的可替换的词/字对。
相应的,基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字,包括:
基于所述最佳可替换词/字在所述原始样本中的上下文确定候选替换词/字;
从所述候选替换词/字中选取最佳替换词/字;
在本发明的一个实施例中,从所述候选替换词/字中选取最佳替换词/字,包括:
执行以下步骤直到所述原始样本中的可替换的词/字(对)的候选替换词/字枚举完毕:
选取所述候选替换词/字中的一个替换所述原始样本中相应的可替换的词/字以生成第二候选中间文本;
将所述第二候选中间文本输入目标模型以得到匹配或不匹配分数;
选取使得所述目标模型输出的匹配或不匹配分数最大的候选替换词/字作为最佳候选替换词/字。
为了减少循环,避免占用过多的时间和空间,在本发明的一个实施例中,采用集束搜索的方法选取最佳可替换词/字以及最佳替换词/字,以剪除质量较差的结点。
在本发明的一个实施例中,在选取最佳可替换词/字以及最佳替换词/字时,若目标模型输出的匹配或不匹配分数达到预设阈值,则确定当前的可替换词/字或候选替换词/字为最佳。
在本实施例中,所述预设阈值根据不同的目标模型确定,例如,只要所述目标模型基于所述第一/二候选中间文本输出的结果与原始样本相反,即可视为当前的可替换词/字或候选替换词/字为最佳,另外,在确定最佳候选替换词/字时,只要所述目标模型基于所述第二候选中间文本输出的结果与原始样本相反,即可视为所述第二候选中间文本为对抗样本。
相应的,采用所述最佳替换词/字替换原始样本中相应的可替换词/字,以生成对抗样本。
可选地,在本实施方式的一个实施例中,还设置有相应的步长限制以免在进行对抗样本构造时因无法选取到最佳的可替换词/字或候选替换词/字而进行无意义的迭代,具体的,参照图5,在执行以上方法中的循环步骤之前,判断是否达到了预设步长或目标模型基于所述第二候选中间文本是否输出与原始样本相反的结果(即目标模型基于所述第二候选中间文本识别失败)。
本方法可以根据数据集中的文本数据生成替换原始样本中特定词的对抗样本,在将所述对抗样本输入目标模型后,能够令目标模型减轻受“困难共同词”干扰的影响,减轻在在其他部分上判断的偏差,以便于提高目标模型的性能(鲁棒性)。另外,根据本发明生成的对抗样本中的两个句子之间具有更低的词袋相似性,和现有技术生成的对抗样本具有本质上的区别,由此,本方法可以与现有技术结合来综合地提升目标模型的泛化能力。
参照图6,本发明的实施方式还提供了一种对抗样本生成装置,包括:
原始样本采样模块610,被配置为从数据集中获取原始样本;
可替换词/字确定模块620,被配置为确定所述原始样本中可替换的词/字;
候选替换词/字确定模块630,被配置为基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字;
对抗样本生成模块640,被配置为采用所述候选替换词/字替换原始样本中相应的可替换的词/字,以生成对抗样本。
在本发明的一个实施例中,所述原始样本包括一组由两个匹配或不匹配的语句构成的语句对文本。
在本发明的一个实施例中,所述数据集中包括多组由两个匹配的语句构成的语句对文本。
在本发明的一个实施例中,所述数据集中还包括多组由不匹配的两个语句构成的语句对文本。
在本发明的一个实施例中,所述原始样本采样模块610还被配置为从所述数据集中获取不匹配的语句对文本,包括:
句子对采样单元,被配置为从数据集中采样不同的多个句子对;
语句对生成单元,被配置为分别获取两个不同的句子对中的一个句子,以组成不匹配的语句对文本。
在本发明的一个实施例中,所述语句对生成单元还被配置为在分别获取两个不同的句子对中的一个句子后,计算两个句子的长度差,若所述长度差满足预设限制条件,则基于所述两个句子组成不匹配的语句对文本。
在本发明的一个实施例中,所述可替换词/字确定模块620,还被配置为基于所述原始样本中的词/字的性质确定所述词/字是否可替换。
在本发明的一个实施例中,确定词性为名词或动词或形容词的词/字为可替换词/字。
在本发明的一个实施例中,同一语句对文本中的可替换词/字的词性一致。
在本发明的一个实施例中,由匹配的两个语句构成的语句对文本中的分别位于不同语句中的可替换词/字一致。
在本发明的一个实施例中,所述候选替换词/字确定模块630还被配置为基于所述可替换的词/字在所述原始样本中的上下文确定预设词汇表中所有词/字出现在所述可替换的词/字所在位置的概率分布;以及基于所述概率分布选取所述词汇表中概率排序在前的一个或多个词/字作为所述候选替换词/字。
在本发明的一个实施例中,采用预设的预测模型确定所述概率分布。
在本发明的一个实施例中,所述预测模型为BERT(双向编码器)语言模型。
在本发明的一个实施例中,所述可替换词/字确定模块620包括:
最佳可替换词/字选取单元,被配置为从所述原始样本中可替换的词/字中选取最佳可替换词/字;
所述候选替换词/字确定模块包括:
候选替换词/字确定单元,被配置为基于所述最佳可替换词/字在所述原始样本中的上下文确定候选替换词/字;
最佳候选替换词/字确定单元,被配置为从所述候选替换词/字中选取最佳替换词/字;
所述对抗样本生成模块640还被配置为采用所述最佳替换词/字替换原始样本中相应的可替换词/字,以生成对抗样本。
在本发明的一个实施例中,所述最佳可替换词/字确定单元,被配置为:
执行以下步骤直到所述原始样本中的可替换的词/字枚举完毕:
采用特定的字符替换所述原始样本中的一个可替换的词/字以生成第一候选中间文本;
将所述第一候选中间文本输入目标模型以得到匹配或不匹配分数;
选取使得所述目标模型输出的匹配或不匹配分数最大的可替换的词/字作为最佳可替换词/字。
在本发明的一个实施例中,所述最佳候选替换词/字确定单元,被配置为:
执行以下步骤直到所述原始样本中的可替换的词/字的候选替换词/字枚举完毕:
选取所述候选替换词/字中的一个替换所述原始样本中相应的可替换的词/字以生成第二候选中间文本;
将所述第二候选中间文本输入目标模型以得到匹配或不匹配分数;
选取使得所述目标模型输出的匹配或不匹配分数最大的候选替换词/字作为最佳候选替换词/字。
在本发明的一个实施例中,采用集束搜索的方法选取最佳可替换词/字以及最佳替换词/字。
在本发明的一个实施例中,在选取最佳可替换词/字以及最佳替换词/字时,若目标模型输出的匹配或不匹配分数达到预设阈值,则确定当前的可替换词/字或候选替换词/字为最佳。
在本发明的一个实施例中,在由两个匹配的语句构成的语句对文本中,原始样本中的可替换的词/字对为两个分别位于不同语句中的相同的可替换词/字;在由两个不匹配的语句构成的语句对文本中,所原始样本中的可替换的词/字对为两个分别位于不同语句中的词性相同的可替换词/字,对于分别位于原始样本中不同位置处的可替换词/字对,所述候选替换词/字确定模块630还被配置为:
分别基于所述不同位置处的可替换词/字在所述原始样本中的上下文确定候选替换词/字集合;
将确定的两个候选替换词/字集合中都存在的候选替换词/字作为所述可替换词/字的候选替换词/字。
在本发明的一个实施例中,从所述原始样本中可替换的词/字中选取最佳可替换词/字时,枚举所述原始样本中的可替换的词/字对。
在本发明的一个实施例中,所述候选替换词/字确定模块630还被配置为:
分别基于所述可替换词/字在所述原始样本中的上下文确定预设词汇表中所有词/字出现在所述可替换的词/字所在位置的概率分布;
基于所述概率分布构建联合概率分布;
基于所述联合概率分布选取所述词汇表中概率排序在前的一个或多个词/字作为所述候选替换词/字。
另外,这里尚需指出的是,上述系统中各个组成部件可以通过软件、固件、硬件或其组合的方式进行配置。配置可使用的具体手段或方式为本领域技术人员所熟知,在此不再赘述。在通过软件或固件实现的情况下,从存储介质或网络向具有专用硬件结构的计算机(例如图7所示的通用计算机700)安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等。
图7示出了可用于实施根据本发明实施例的方法和系统的计算机的示意性框图。
在图7中,中央处理单元(CPU)701根据只读存储器(ROM)702中存储的程序或从存储部分708加载到随机存取存储器(RAM)703的程序执行各种处理。在RAM 703中,还根据需要存储当CPU 701执行各种处理等时所需的数据。CPU 701、ROM 702和RAM 703经由总线704彼此连接。输入/输出接口705也连接到总线704。
下述部件连接到输入/输出接口705:输入部分706(包括键盘、鼠标等等)、输出部分707(包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等)、存储部分708(包括硬盘等)、通信部分709(包括网络接口卡比如LAN卡、调制解调器等)。通信部分709经由网络比如因特网执行通信处理。根据需要,驱动器710也可连接到输入/输出接口705。可拆卸介质711比如磁盘、光盘、磁光盘、半导体存储器等等可以根据需要被安装在驱动器710上,使得从中读出的计算机程序根据需要被安装到存储部分708中。
在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质711安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图7所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质711。可拆卸介质711的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM 702、存储部分708中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
本发明还提出一种存储有机器可读取的指令代码的程序产品。所述指令代码由机器读取并执行时,可执行上述根据本发明实施方式的方法。
相应地,用于承载上述存储有机器可读取的指令代码的程序产品的存储介质也包括在本发明的范围内。所述存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。
应当注意,本发明的方法不限于按照说明书中描述的时间顺序来执行,也可以按照其他的次序顺序地、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本发明的技术范围构成限制。
以上对本发明各实施方式的描述是为了更好地理解本发明,其仅仅是示例性的,而非旨在对本发明进行限制。应注意,在以上描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。本领域技术人员可以理解,在不脱离本发明的发明构思的情况下,针对以上所描述的实施方式进行的各种变化和修改,均属于本发明的范围内。
综上,在根据本发明的实施例中,本发明提供了如下技术方案:
1.一种对抗样本生成方法,包括:
从数据集中获取原始样本;
确定所述原始样本中可替换的词/字;
基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字;
采用所述候选替换词/字替换原始样本中相应的可替换的词/字,以生成对抗样本。
2.如方案1所述的方法,其中,所述原始样本包括一组由两个匹配或不匹配的语句构成的语句对文本。
3.如方案2所述的方法,其中,所述数据集中包括多组由两个匹配的语句构成的语句对文本。
4.如方案3所述的方法,其中,所述数据集中还包括多组由不匹配的两个语句构成的语句对文本。
5.如方案3所述的方法,其中,从所述数据集中获取不匹配的语句对文本,包括:
从数据集中采样不同的多个句子对;
分别获取两个不同的句子对中的一个句子,以组成不匹配的语句对文本。
6.如方案5所述的方法,其中,分别获取两个不同的句子对中的一个句子后,计算两个句子的长度差,若所述长度差满足预设限制条件,则基于所述两个句子组成不匹配的语句对文本。
7.如方案2-6任一所述的方法,其中,基于所述原始样本中的词/字的性质确定所述词/字是否可替换。
8.如方案7所述的方法,其中,确定词性为名词或动词或形容词的词/字为可替换词/字。
9.如方案8所述的方法,其中,同一语句对文本中的可替换词/字的词性一致。
10.如方案9所述的方法,其中,由匹配的两个语句构成的语句对文本中的分别位于不同语句中的可替换词/字一致。
11.如方案10所述的方法,其中,基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字,包括:
基于所述可替换的词/字在所述原始样本中的上下文确定预设词汇表中所有词/字出现在所述可替换的词/字所在位置的概率分布;
基于所述概率分布选取所述词汇表中概率排序在前的一个或多个词/字作为所述候选替换词/字。
12.如方案11所述的方法,其中,采用预设的预测模型确定所述概率分布。
13.如方案12所述的方法,其中,所述预测模型为BERT(双向编码器)语言模型。
14.如方案8-13任一所述的方法,其中,确定所述原始样本中可替换的词/字之后,所述方法还包括:
从所述原始样本中可替换的词/字中选取最佳可替换词/字;
相应的,基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字,包括:
基于所述最佳可替换词/字在所述原始样本中的上下文确定候选替换词/字;
从所述候选替换词/字中选取最佳替换词/字;
相应的,采用所述最佳替换词/字替换原始样本中相应的可替换词/字,以生成对抗样本。
15.如方案14所述的方法,其中,从所述原始样本中可替换的词/字中选取最佳可替换词/字,包括:
执行以下步骤直到所述原始样本中的可替换的词/字枚举完毕:
采用特定的字符替换所述原始样本中的一个可替换的词/字以生成第一候选中间文本;
将所述第一候选中间文本输入目标模型以得到匹配或不匹配分数;
选取使得所述目标模型输出的匹配或不匹配分数最大的可替换的词/字作为最佳可替换词/字。
16.如方案15所述的方法,其中,从所述候选替换词/字中选取最佳替换词/字,包括:
执行以下步骤直到所述原始样本中的可替换的词/字的候选替换词/字枚举完毕:
选取所述候选替换词/字中的一个替换所述原始样本中相应的可替换的词/字以生成第二候选中间文本;
将所述第二候选中间文本输入目标模型以得到匹配或不匹配分数;
选取使得所述目标模型输出的匹配或不匹配分数最大的候选替换词/字作为最佳候选替换词/字。
17.如方案16所述的方法,其中,采用集束搜索的方法选取最佳可替换词/字以及最佳替换词/字。
18.如方案17所述的方法,其中,在选取最佳可替换词/字以及最佳替换词/字时,若目标模型输出的匹配或不匹配分数达到预设阈值,则确定当前的可替换词/字或候选替换词/字为最佳。
19.如方案15-18任一所述的方法,其中,在由两个匹配的语句构成的语句对文本中,原始样本中的可替换的词/字对为两个分别位于不同语句中的相同的可替换词/字;在由两个不匹配的语句构成的语句对文本中,所原始样本中的可替换的词/字对为两个分别位于不同语句中的词性相同的可替换词/字,对于分别位于原始样本中不同位置处的可替换词/字对,基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字,包括:
分别基于所述不同位置处的可替换词/字在所述原始样本中的上下文确定候选替换词/字集合;
将确定的两个候选替换词/字集合中都存在的候选替换词/字作为所述可替换词/字的候选替换词/字。
20.如方案19所述的方法,其中,从所述原始样本中可替换的词/字中选取最佳可替换词/字时,枚举所述原始样本中的可替换的词/字对。
21.如方案20所述的方法,其中,对于原始样本中分别不同位置处的可替换词/字对,基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字,包括:
分别基于所述可替换词/字在所述原始样本中的上下文确定预设词汇表中所有词/字出现在所述可替换的词/字所在位置的概率分布;
基于所述概率分布构建联合概率分布;
基于所述联合概率分布选取所述词汇表中概率排序在前的一个或多个词/字作为所述候选替换词/字。
22.一种对抗样本生成装置,包括:
原始样本采样模块,被配置为从数据集中获取原始样本;
可替换词/字确定模块,被配置为确定所述原始样本中可替换的词/字;
候选替换词/字确定模块,被配置为基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字;
对抗样本生成模块,被配置为采用所述候选替换词/字替换原始样本中相应的可替换的词/字,以生成对抗样本。
23.如方案22所述的装置,其中,所述原始样本包括一组由两个匹配或不匹配的语句构成的语句对文本。
24.如方案23所述的装置,其中,所述数据集中包括多组由两个匹配的语句构成的语句对文本。
25.如方案24所述的装置,其中,所述数据集中还包括多组由不匹配的两个语句构成的语句对文本。
26.如方案24所述的装置,其中,所述原始样本采样模块还被配置为从所述数据集中获取不匹配的语句对文本,包括:
句子对采样单元,被配置为从数据集中采样不同的多个句子对;
语句对生成单元,被配置为分别获取两个不同的句子对中的一个句子,以组成不匹配的语句对文本。
27.如方案26所述的装置,其中,所述语句对生成单元还被配置为在分别获取两个不同的句子对中的一个句子后,计算两个句子的长度差,若所述长度差满足预设限制条件,则基于所述两个句子组成不匹配的语句对文本。
28.如方案23-27任一所述的装置,其中,所述可替换词/字确定模块,还被配置为基于所述原始样本中的词/字的性质确定所述词/字是否可替换。
29.如方案28所述的装置,其中,确定词性为名词或动词或形容词的词/字为可替换词/字。
30.如方案29所述的装置,其中,同一语句对文本中的可替换词/字的词性一致。
31.如方案30所述的装置,其中,由匹配的两个语句构成的语句对文本中的分别位于不同语句中的可替换词/字一致。
32.如方案31所述的装置,其中,所述候选替换词/字确定模块还被配置为基于所述可替换的词/字在所述原始样本中的上下文确定预设词汇表中所有词/字出现在所述可替换的词/字所在位置的概率分布;以及基于所述概率分布选取所述词汇表中概率排序在前的一个或多个词/字作为所述候选替换词/字。
33.如方案32所述的装置,其中,采用预设的预测模型确定所述概率分布。
34.如方案33所述的装置,其中,所述预测模型为BERT(双向编码器)语言模型。
35.如方案29-34任一所述的装置,其中,所述可替换词/字确定模块包括:
最佳可替换词/字选取单元,被配置为从所述原始样本中可替换的词/字中选取最佳可替换词/字;
所述候选替换词/字确定模块包括:
候选替换词/字确定单元,被配置为基于所述最佳可替换词/字在所述原始样本中的上下文确定候选替换词/字;
最佳候选替换词/字确定单元,被配置为从所述候选替换词/字中选取最佳替换词/字;
所述对抗样本生成模块还被配置为采用所述最佳替换词/字替换原始样本中相应的可替换词/字,以生成对抗样本。
36.如方案35所述的装置,其中,所述最佳可替换词/字确定单元,被配置为:
执行以下步骤直到所述原始样本中的可替换的词/字枚举完毕:
采用特定的字符替换所述原始样本中的一个可替换的词/字以生成第一候选中间文本;
将所述第一候选中间文本输入目标模型以得到匹配或不匹配分数;
选取使得所述目标模型输出的匹配或不匹配分数最大的可替换的词/字作为最佳可替换词/字。
37.如方案36所述的装置,其中,所述最佳候选替换词/字确定单元,被配置为:
执行以下步骤直到所述原始样本中的可替换的词/字的候选替换词/字枚举完毕:
选取所述候选替换词/字中的一个替换所述原始样本中相应的可替换的词/字以生成第二候选中间文本;
将所述第二候选中间文本输入目标模型以得到匹配或不匹配分数;
选取使得所述目标模型输出的匹配或不匹配分数最大的候选替换词/字作为最佳候选替换词/字。
38.如方案37所述的装置,其中,采用集束搜索的方法选取最佳可替换词/字以及最佳替换词/字。
39.如方案38所述的装置,其中,在选取最佳可替换词/字以及最佳替换词/字时,若目标模型输出的匹配或不匹配分数达到预设阈值,则确定当前的可替换词/字或候选替换词/字为最佳。
40.如方案36-39任一所述的装置,其中,在由两个匹配的语句构成的语句对文本中,原始样本中的可替换的词/字对为两个分别位于不同语句中的相同的可替换词/字;在由两个不匹配的语句构成的语句对文本中,所原始样本中的可替换的词/字对为两个分别位于不同语句中的词性相同的可替换词/字,对于分别位于原始样本中不同位置处的可替换词/字对,所述候选替换词/字确定模块还被配置为:
分别基于所述不同位置处的可替换词/字在所述原始样本中的上下文确定候选替换词/字集合;
将确定的两个候选替换词/字集合中都存在的候选替换词/字作为所述可替换词/字的候选替换词/字。
41.如方案40所述的装置,其中,从所述原始样本中可替换的词/字中选取最佳可替换词/字时,枚举所述原始样本中的可替换的词/字对。
42.如方案41所述的装置,其中,所述候选替换词/字确定模块还被配置为:
分别基于所述可替换词/字在所述原始样本中的上下文确定预设词汇表中所有词/字出现在所述可替换的词/字所在位置的概率分布;
基于所述概率分布构建联合概率分布;
基于所述联合概率分布选取所述词汇表中概率排序在前的一个或多个词/字作为所述候选替换词/字。
43.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述方案1-21任一所述的对抗样本生成方法。
44.一种计算设备,所述计算设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于执行上述方案1-21任一所述的对抗样本生成方法。
Claims (32)
1.一种对抗样本生成方法,包括:
从数据集中获取原始样本;
确定所述原始样本中可替换的词/字;
基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字;
采用所述候选替换词/字替换原始样本中相应的可替换的词/字,以生成对抗样本;
所述原始样本包括一组由两个匹配或不匹配的语句构成的语句对文本;
基于所述原始样本中的词/字的性质确定所述词/字是否可替换;
确定词性为名词或动词或形容词的词/字为可替换词/字;
同一语句对文本中的可替换词/字的词性一致;
由匹配的两个语句构成的语句对文本中的分别位于不同语句中的可替换词/字一致;
基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字,包括:
基于所述可替换的词/字在所述原始样本中的上下文确定预设词汇表中所有词/字出现在所述可替换的词/字所在位置的概率分布;
基于所述概率分布选取所述词汇表中概率排序在前的一个或多个词/字作为所述候选替换词/字。
2.如权利要求1所述的方法,其中,所述数据集中包括多组由两个匹配的语句构成的语句对文本。
3.如权利要求2所述的方法,其中,所述数据集中还包括多组由不匹配的两个语句构成的语句对文本。
4.如权利要求2所述的方法,其中,从所述数据集中获取不匹配的语句对文本,包括:
从数据集中采样不同的多个句子对;
分别获取两个不同的句子对中的一个句子,以组成不匹配的语句对文本。
5.如权利要求4所述的方法,其中,分别获取两个不同的句子对中的一个句子后,计算两个句子的长度差,若所述长度差满足预设限制条件,则基于所述两个句子组成不匹配的语句对文本。
6.如权利要求1所述的方法,其中,采用预设的预测模型确定所述概率分布。
7.如权利要求6所述的方法,其中,所述预测模型为BERT语言模型。
8.如权利要求1-7任一所述的方法,其中,确定所述原始样本中可替换的词/字之后,所述方法还包括:
从所述原始样本中可替换的词/字中选取最佳可替换词/字;
相应的,基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字,包括:
基于所述最佳可替换词/字在所述原始样本中的上下文确定候选替换词/字;
从所述候选替换词/字中选取最佳替换词/字;
相应的,采用所述最佳替换词/字替换原始样本中相应的可替换词/字,以生成对抗样本。
9.如权利要求8所述的方法,其中,从所述原始样本中可替换的词/字中选取最佳可替换词/字,包括:
执行以下步骤直到所述原始样本中的可替换的词/字枚举完毕:
采用特定的字符替换所述原始样本中的一个可替换的词/字以生成第一候选中间文本;
将所述第一候选中间文本输入目标模型以得到匹配或不匹配分数;
选取使得所述目标模型输出的匹配或不匹配分数最大的可替换的词/字作为最佳可替换词/字。
10.如权利要求9所述的方法,其中,从所述候选替换词/字中选取最佳替换词/字,包括:
执行以下步骤直到所述原始样本中的可替换的词/字的候选替换词/字枚举完毕:
选取所述候选替换词/字中的一个替换所述原始样本中相应的可替换的词/字以生成第二候选中间文本;
将所述第二候选中间文本输入目标模型以得到匹配或不匹配分数;
选取使得所述目标模型输出的匹配或不匹配分数最大的候选替换词/字作为最佳候选替换词/字。
11.如权利要求10所述的方法,其中,采用集束搜索的方法选取最佳可替换词/字以及最佳替换词/字。
12.如权利要求11所述的方法,其中,在选取最佳可替换词/字以及最佳替换词/字时,若目标模型输出的匹配或不匹配分数达到预设阈值,则确定当前的可替换词/字或候选替换词/字为最佳。
13.如权利要求9-12任一所述的方法,其中,在由两个匹配的语句构成的语句对文本中,原始样本中的可替换的词/字对为两个分别位于不同语句中的相同的可替换词/字;在由两个不匹配的语句构成的语句对文本中,所原始样本中的可替换的词/字对为两个分别位于不同语句中的词性相同的可替换词/字,对于分别位于原始样本中不同位置处的可替换词/字对,基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字,包括:
分别基于所述不同位置处的可替换词/字在所述原始样本中的上下文确定候选替换词/字集合;
将确定的两个候选替换词/字集合中都存在的候选替换词/字作为所述可替换词/字的候选替换词/字。
14.如权利要求13所述的方法,其中,从所述原始样本中可替换的词/字中选取最佳可替换词/字时,枚举所述原始样本中的可替换的词/字对。
15.如权利要求14所述的方法,其中,对于原始样本中分别不同位置处的可替换词/字对,基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字,包括:
分别基于所述可替换词/字在所述原始样本中的上下文确定预设词汇表中所有词/字出现在所述可替换的词/字所在位置的概率分布;
基于所述概率分布构建联合概率分布;
基于所述联合概率分布选取所述词汇表中概率排序在前的一个或多个词/字作为所述候选替换词/字。
16.一种对抗样本生成装置,包括:
原始样本采样模块,被配置为从数据集中获取原始样本;
可替换词/字确定模块,被配置为确定所述原始样本中可替换的词/字;
候选替换词/字确定模块,被配置为基于所述可替换的词/字在所述原始样本中的上下文确定候选替换词/字;
对抗样本生成模块,被配置为采用所述候选替换词/字替换原始样本中相应的可替换的词/字,以生成对抗样本;
所述原始样本包括一组由两个匹配或不匹配的语句构成的语句对文本;
所述可替换词/字确定模块,还被配置为基于所述原始样本中的词/字的性质确定所述词/字是否可替换;
确定词性为名词或动词或形容词的词/字为可替换词/字;
同一语句对文本中的可替换词/字的词性一致;
由匹配的两个语句构成的语句对文本中的分别位于不同语句中的可替换词/字一致;
其中,所述候选替换词/字确定模块还被配置为基于所述可替换的词/字在所述原始样本中的上下文确定预设词汇表中所有词/字出现在所述可替换的词/字所在位置的概率分布;以及基于所述概率分布选取所述词汇表中概率排序在前的一个或多个词/字作为所述候选替换词/字。
17.如权利要求16所述的装置,其中,所述数据集中包括多组由两个匹配的语句构成的语句对文本。
18.如权利要求17所述的装置,其中,所述数据集中还包括多组由不匹配的两个语句构成的语句对文本。
19.如权利要求17所述的装置,其中,所述原始样本采样模块还被配置为从所述数据集中获取不匹配的语句对文本,包括:
句子对采样单元,被配置为从数据集中采样不同的多个句子对;
语句对生成单元,被配置为分别获取两个不同的句子对中的一个句子,以组成不匹配的语句对文本。
20.如权利要求19所述的装置,其中,所述语句对生成单元还被配置为在分别获取两个不同的句子对中的一个句子后,计算两个句子的长度差,若所述长度差满足预设限制条件,则基于所述两个句子组成不匹配的语句对文本。
21.如权利要求16所述的装置,其中,采用预设的预测模型确定所述概率分布。
22.如权利要求21所述的装置,其中,所述预测模型为BERT语言模型。
23.如权利要求16-22任一所述的装置,其中,所述可替换词/字确定模块包括:
最佳可替换词/字选取单元,被配置为从所述原始样本中可替换的词/字中选取最佳可替换词/字;
所述候选替换词/字确定模块包括:
候选替换词/字确定单元,被配置为基于所述最佳可替换词/字在所述原始样本中的上下文确定候选替换词/字;
最佳候选替换词/字确定单元,被配置为从所述候选替换词/字中选取最佳替换词/字;
所述对抗样本生成模块还被配置为采用所述最佳替换词/字替换原始样本中相应的可替换词/字,以生成对抗样本。
24.如权利要求23所述的装置,其中,所述最佳可替换词/字确定单元,被配置为:
执行以下步骤直到所述原始样本中的可替换的词/字枚举完毕:
采用特定的字符替换所述原始样本中的一个可替换的词/字以生成第一候选中间文本;
将所述第一候选中间文本输入目标模型以得到匹配或不匹配分数;
选取使得所述目标模型输出的匹配或不匹配分数最大的可替换的词/字作为最佳可替换词/字。
25.如权利要求24所述的装置,其中,所述最佳候选替换词/字确定单元,被配置为:
执行以下步骤直到所述原始样本中的可替换的词/字的候选替换词/字枚举完毕:
选取所述候选替换词/字中的一个替换所述原始样本中相应的可替换的词/字以生成第二候选中间文本;
将所述第二候选中间文本输入目标模型以得到匹配或不匹配分数;
选取使得所述目标模型输出的匹配或不匹配分数最大的候选替换词/字作为最佳候选替换词/字。
26.如权利要求25所述的装置,其中,采用集束搜索的方法选取最佳可替换词/字以及最佳替换词/字。
27.如权利要求26所述的装置,其中,在选取最佳可替换词/字以及最佳替换词/字时,若目标模型输出的匹配或不匹配分数达到预设阈值,则确定当前的可替换词/字或候选替换词/字为最佳。
28.如权利要求24-27任一所述的装置,其中,在由两个匹配的语句构成的语句对文本中,原始样本中的可替换的词/字对为两个分别位于不同语句中的相同的可替换词/字;在由两个不匹配的语句构成的语句对文本中,所原始样本中的可替换的词/字对为两个分别位于不同语句中的词性相同的可替换词/字,对于分别位于原始样本中不同位置处的可替换词/字对,所述候选替换词/字确定模块还被配置为:
分别基于所述不同位置处的可替换词/字在所述原始样本中的上下文确定候选替换词/字集合;
将确定的两个候选替换词/字集合中都存在的候选替换词/字作为所述可替换词/字的候选替换词/字。
29.如权利要求28所述的装置,其中,从所述原始样本中可替换的词/字中选取最佳可替换词/字时,枚举所述原始样本中的可替换的词/字对。
30.如权利要求29所述的装置,其中,所述候选替换词/字确定模块还被配置为:
分别基于所述可替换词/字在所述原始样本中的上下文确定预设词汇表中所有词/字出现在所述可替换的词/字所在位置的概率分布;
基于所述概率分布构建联合概率分布;
基于所述联合概率分布选取所述词汇表中概率排序在前的一个或多个词/字作为所述候选替换词/字。
31.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-15任一所述的对抗样本生成方法。
32.一种计算设备,所述计算设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于执行上述权利要求1-15
任一所述的对抗样本生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910662406.9A CN110427618B (zh) | 2019-07-22 | 2019-07-22 | 对抗样本生成方法、介质、装置和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910662406.9A CN110427618B (zh) | 2019-07-22 | 2019-07-22 | 对抗样本生成方法、介质、装置和计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110427618A CN110427618A (zh) | 2019-11-08 |
CN110427618B true CN110427618B (zh) | 2021-03-16 |
Family
ID=68411702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910662406.9A Active CN110427618B (zh) | 2019-07-22 | 2019-07-22 | 对抗样本生成方法、介质、装置和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110427618B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111046176B (zh) * | 2019-11-25 | 2023-04-07 | 百度在线网络技术(北京)有限公司 | 对抗样本生成方法、装置、电子设备及存储介质 |
CN111078892B (zh) * | 2019-11-25 | 2023-05-23 | 百度在线网络技术(北京)有限公司 | 对抗样本生成方法、装置、电子设备及存储介质 |
CN113283249B (zh) * | 2020-02-19 | 2024-09-27 | 阿里巴巴集团控股有限公司 | 机器翻译方法、装置及计算机可读存储介质 |
CN111507093A (zh) * | 2020-04-03 | 2020-08-07 | 广州大学 | 一种基于相似字典的文本攻击方法、装置及存储介质 |
CN112232057B (zh) * | 2020-09-21 | 2024-03-01 | 清华大学 | 基于文本扩展的对抗样本生成方法、装置、介质和设备 |
CN113254930B (zh) * | 2021-05-28 | 2022-08-05 | 北京理工大学 | 一种pe恶意软件检测模型的后门对抗样本生成方法 |
CN113408272B (zh) | 2021-06-30 | 2023-08-18 | 北京百度网讯科技有限公司 | 摘要生成模型的训练方法、装置、设备和存储介质 |
CN113806490B (zh) * | 2021-09-27 | 2023-06-13 | 中国人民解放军国防科技大学 | 一种基于bert采样的文本通用触发器生成系统和方法 |
CN113642678B (zh) * | 2021-10-12 | 2022-01-07 | 南京山猫齐动信息技术有限公司 | 一种对抗消息样本生成的方法、装置及存储介质 |
CN115277065B (zh) * | 2022-06-15 | 2024-01-23 | 北京信息科技大学 | 一种物联网异常流量检测中的对抗攻击方法及装置 |
CN115146623A (zh) * | 2022-07-26 | 2022-10-04 | 北京有竹居网络技术有限公司 | 文本词替换方法、装置、存储介质及电子设备 |
CN116911374B (zh) * | 2023-09-13 | 2024-01-09 | 腾讯科技(深圳)有限公司 | 文本对抗样本的生成方法、装置、电子设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133209B (zh) * | 2017-03-29 | 2020-11-03 | 北京百度网讯科技有限公司 | 基于人工智能的评论生成方法及装置、设备与可读介质 |
EP3499429A1 (en) * | 2017-12-12 | 2019-06-19 | Institute for Imformation Industry | Behavior inference model building apparatus and method |
CN108563624A (zh) * | 2018-01-03 | 2018-09-21 | 清华大学深圳研究生院 | 一种基于深度学习的自然语言生成方法 |
CN108629043B (zh) * | 2018-05-14 | 2023-05-12 | 平安科技(深圳)有限公司 | 网页目标信息的提取方法、装置及存储介质 |
CN109582799B (zh) * | 2018-06-29 | 2020-09-22 | 北京百度网讯科技有限公司 | 知识样本数据集的确定方法、装置及电子设备 |
CN109829164B (zh) * | 2019-02-01 | 2020-05-22 | 北京字节跳动网络技术有限公司 | 用于生成文本的方法和装置 |
-
2019
- 2019-07-22 CN CN201910662406.9A patent/CN110427618B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110427618A (zh) | 2019-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427618B (zh) | 对抗样本生成方法、介质、装置和计算设备 | |
CN105988990B (zh) | 汉语零指代消解装置和方法、模型训练方法和存储介质 | |
Mohtaj et al. | Parsivar: A language processing toolkit for Persian | |
US20050216253A1 (en) | System and method for reverse transliteration using statistical alignment | |
JP2021518027A (ja) | セマンティックテキストデータをタグとマッチングさせる方法、装置、及び命令を格納するコンピュータ読み取り可能な記憶媒体 | |
CN112256860A (zh) | 客服对话内容的语义检索方法、系统、设备及存储介质 | |
US11941361B2 (en) | Automatically identifying multi-word expressions | |
Na | Conditional random fields for Korean morpheme segmentation and POS tagging | |
Chen et al. | A study of language modeling for Chinese spelling check | |
Zhao et al. | A hybrid model for Chinese spelling check | |
CN111814493A (zh) | 机器翻译方法、装置、电子设备和存储介质 | |
Pająk et al. | Multilingual fine-tuning for grammatical error correction | |
JP5678774B2 (ja) | テキストデータの冗長性を解析する情報解析装置 | |
Wibowo et al. | Indocollex: A testbed for morphological transformation of indonesian word colloquialism | |
Hao et al. | SCESS: a WFSA-based automated simplified chinese essay scoring system with incremental latent semantic analysis | |
Putri et al. | Software feature extraction using infrequent feature extraction | |
Hemmer et al. | Estimating Post-OCR Denoising Complexity on Numerical Texts | |
Saini et al. | Intrinsic plagiarism detection system using stylometric features and DBSCAN | |
Mekki et al. | Tokenization of Tunisian Arabic: a comparison between three Machine Learning models | |
Khalid et al. | Reference terms identification of cited articles as topics from citation contexts | |
CN114548075A (zh) | 文本处理方法、文本处理装置、存储介质与电子设备 | |
JP2017021523A (ja) | 用語意味コード判定装置、方法、及びプログラム | |
Naemi et al. | Informal-to-formal word conversion for persian language using natural language processing techniques | |
Kaur et al. | Roman to gurmukhi social media text normalization | |
CN114676699A (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 |