一种中文文本对抗样本生成的方法、系统及介质技术方案

技术编号:32856477 阅读:51 留言:0更新日期:2022-03-30 19:28
本发明专利技术公开了一种中文文本对抗样本生成的方法,包括如下步骤:获取原始文本数据,且所述原始文本数据为中文文本分类器的输入数据;构建一个深度学习攻击模型,使用数据聚集的方法迭代生成训练数据,并使用强化学习的方法训练模型;使用训练好的攻击模型,输入到所述原始文本数据,以获得对抗样本。本发明专利技术提供了一种带有深度学习的中文文本对抗样本生成的方法,通过学习模型,适应中文文本,实现多种攻击策略,相对现有技术中英文对抗样本生成的方法,流程更加简单。流程更加简单。流程更加简单。

【技术实现步骤摘要】
一种中文文本对抗样本生成的方法、系统及介质


[0001]本专利技术涉及信息对抗
,具体涉及一种中文文本对抗样本生成的方法、系统及介质。

技术介绍

[0002]随着计算设备的更新和算力的提高,深度神经网络(DNN)在人工智能(AI)领域得到了广泛的应用,特别是在计算机视觉(CV)和自然语言处理(NLP)两大任务中,取得了惊人的成就。在深度模型取得优秀成果和广泛应用的同时,深度学习模型的安全问题也日益严重。
[0003]对抗攻击(Adversarial Attack)即人们通过给正常样本添加某些噪声,利用人无法感知的扰动,使正常的模型做出异常的预测。虽然深度学习模型在各类任务中表现出色,但是在现实生活生产中,样本总是含有噪声的,模型在对某些噪声数据进行任务的时候就会遇到很多问题。面临现实普遍存在的噪声样本和恶意构造的对抗样本,表现卓越的DNN模型遭受极大的安全威胁。
[0004]目前,国内外在自然语言处理对抗攻击领域的研究,主要有基于梯度的白盒攻击,例如TextFool使用了快速梯度下降法;还有黑盒攻击,基于置信度的文本替换等如DeepWordBug、TextBugger等。
[0005]在现实场景中,我们无法获取模型结构和参数信息,可能获取到模型的分类置信度信息,甚至只能获取到模型的最终决策标签,因此基于梯度的攻击方法受到限制。现有攻击流程复杂,需要对目标模型进行多次查询;攻击方法大多只是按照一定算法进行组合优化,不具有学习能力;攻击策略并没有考虑到中文文本的特点,攻击策略单一,借鉴英文文本的攻击策略不适用于中文文本。

技术实现思路

[0006]鉴于上述问题,本专利技术的目的在于提供一种中文文本对抗样本生成的方法,以实现强化学习,且实现多种攻击策略,以及对中文文本的适应,攻击流程简单。
[0007]本专利技术通过下述技术方案实现:
[0008]一种中文文本对抗样本生成的方法,包括如下步骤:
[0009]获取原始文本数据,且所述原始文本数据为中文文本分类器的输入数据;
[0010]构建一个深度学习攻击模型,使用数据聚集的方法迭代生成训练数据,并使用强化学习的方法训练模型;
[0011]使用训练好的攻击模型,输入到所述原始文本数据,以获得对抗样本。
[0012]在一些实施方式中,所述步骤构建一个深度学习攻击模型,使用数据聚集的方法迭代生成训练数据,并使用强化学习的方法训练模型中,构建一个深度学习攻击模型包括如下子步骤:
[0013]初始化一个攻击模型架构,所述攻击模型架构包括有嵌入层、编码层、解码层和线
性层;
[0014]初始化攻击模型的参数。
[0015]在一些实施方式中,所述步骤初始化一个攻击模型架构,所述攻击模型架构包括有嵌入层、编码层、解码层和线性层中,所述嵌入层、编码层和解码层依次串联,且所述嵌入层长度最大为512,解码层和线性层之间用一个Dropout单元连接,所述线性层由768个输入神经单元和1个输出单元的多层感知机构成。
[0016]在一些实施方式中,所述步骤初始化攻击模型的参数中,包括如下子步骤:
[0017]使用预训练模型的参数来初始化嵌入层、编码层和解码层;
[0018]使用随机参数来初始化线性层。
[0019]在一些实施方式中,所述步骤构建一个深度学习攻击模型,使用数据聚集的方法迭代生成训练数据,并使用强化学习的方法训练模型中,使用数据聚集的方法迭代生成训练数据包括如下子步骤:
[0020]对原始文本数据的每一个句子,使用Jieba分词工具做分词操作,得到每个句子的词语集合s={w1,...,w
i
,...,w
n
},其中s表示当前句子,w
i
表示分词后的第i个词语;
[0021]对分词操作后的每个词语,计算其显著性,具体计算公式为对分词操作后的每个词语,计算其显著性,具体计算公式为s={w1,

,w
i


,w
n
}和其中S(s,w
i
)表示句子s中第i个词w
i
的显著性,P(y
true
|s)表示原句子被中文文本分类器分类为y
true
的概率,表示句子s删除w
i
词语之后剩余的文本,表示文本被中文文本分类器分类为y
true
的概率;
[0022]对分词操作后的每个词语w
i
,利用WordNet,构建其同义词集合,作为替换的候选词集合C
i
={c1,...,c
n
};
[0023]构建的候选词集合中的每一个候选词,计算其有效性,具体计算公式如下:E(s,w
i
,c
j
)=P(y
true
|s)

P(y
true
|s

i
),s={w1,

,w
i


,w
n
}和s

i
={w1,

,w
i
‑1,c
j
,w
i+1

,w
n
};其中E(s,w
i
,c
j
)表示句子s中第i个词w
i
的候选词c
j
的有效性,其中s

i
表示句子s使用候选词c
j
替换词语w
i
之后的文本,P(y
true
|s

i
)表示文本s

i
被中文文本分类器分类为y
true
的概率;
[0024]对每一个w
i
,和每个词的候选词,给出一个替换的评分Score=S(s,w
i
)*E(s,w
i
,c
j
),选择其评分最高的候选词c

替换w
i
,定义为一次替换tp
i
(s,w
i
,c

),对整个句子合构成一个文本处理集合TP={tp1,

,tp
n
};
[0025]遍历集合TP,迭代地对原句子进行替换,生成的s

i
数据构成对抗样本候选集;对抗样本候选集即训练数据集的文本数据;遍历对抗样本候选集,并且查询中文文本分类器,如果迭代完攻击策略,受害者模型的输出与原标签一致,则以最后一次迭代的索引作为标签添加进数据集;如果分类结果与原标签不一致,以当前句子在数据集中的索引作为标签添加进数据集;
[0026]遍历原数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种中文文本对抗样本生成的方法,其特征在于,包括如下步骤:获取原始文本数据,且所述原始文本数据为中文文本分类器的输入数据;构建一个深度学习攻击模型,使用数据聚集的方法迭代生成训练数据,并使用强化学习的方法训练模型;使用训练好的攻击模型,输入到所述原始文本数据,以获得对抗样本。2.根据权利要求1所述的中文文本对抗样本生成的方法,其特征在于,所述步骤构建一个深度学习攻击模型,使用数据聚集的方法迭代生成训练数据,并使用强化学习的方法训练模型中,构建一个深度学习攻击模型包括如下子步骤:初始化一个攻击模型架构,所述攻击模型架构包括有嵌入层、编码层、解码层和线性层;初始化攻击模型的参数。3.根据权利要求2所述的中文文本对抗样本生成的方法,其特征在于,所述步骤初始化一个攻击模型架构,所述攻击模型架构包括有嵌入层、编码层、解码层和线性层中,所述嵌入层、编码层和解码层依次串联,且所述嵌入层长度最大为512,解码层和线性层之间用一个Dropout单元连接,所述线性层由768个输入神经单元和1个输出单元的多层感知机构成。4.根据权利要求2所述的中文文本对抗样本生成的方法,其特征在于,所述步骤初始化攻击模型的参数中,包括如下子步骤:使用预训练模型的参数来初始化嵌入层、编码层和解码层;使用随机参数来初始化线性层。5.根据权利要求2所述的中文文本对抗样本生成的方法,其特征在于,所述步骤构建一个深度学习攻击模型,使用数据聚集的方法迭代生成训练数据,并使用强化学习的方法训练模型中,使用数据聚集的方法迭代生成训练数据包括如下子步骤:对原始文本数据的每一个句子,使用Jieba分词工具做分词操作,得到每个句子的词语集合s={w1,...,w
i
,...,w
n
},其中s表示当前句子,w
i
表示分词后的第i个词语;对分词操作后的每个词语,计算其显著性,具体计算公式为对分词操作后的每个词语,计算其显著性,具体计算公式为s={w1,...,w
i
,...,w
n
}和其中S(s,w
i
)表示句子s中第i个词w
i
的显著性,P(y
trhe
|s)表示原句子被中文文本分类器分类为y
trhe
的概率,表示句子s删除w
i
词语之后剩余的文本,表示文本被中文文本分类器分类为y
trhe
的概率;对分词操作后的每个词语w
i
,利用WordNet,构建其同义词集合,作为替换的候选词集合C
i
={c1,...,c
n
};构建的候选词集合中的每一个候选词,计算其有效性,具体计算公式如下:E(s,w
i
,c
j
)=P(y
true
|s)

P(y
true
|s

i
),s={w1,

,w
i


,w
n
}和s

i
={w1,

,w
i
‑1,c
j
,w
i+1

,w
n
};其中E(s,w
i
,c
j
)...

【专利技术属性】
技术研发人员:吴渝蓝康宁杨杰
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

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

1