首页> 中国专利> 面向自然语言处理的数据投毒防御方法及系统

面向自然语言处理的数据投毒防御方法及系统

摘要

面向自然语言处理的数据投毒防御方法及系统涉及信息技术领域,本发明由由词提取器、距离字库生成器、错误词距离计算器、候选正确词集计算器、正确词替换模块、离群样本清洗器和分类器比较器组成;实现本发明的步骤包括:1)单词纠错2)离群样本清洗3)分类器更新,本发明对中文文本攻击数据投毒起到有效的防御效果。

著录项

  • 公开/公告号CN113822338A

    专利类型发明专利

  • 公开/公告日2021-12-21

    原文格式PDF

  • 申请/专利权人 北京亚鸿世纪科技发展有限公司;

    申请/专利号CN202110964492.6

  • 申请日2021-08-23

  • 分类号G06K9/62(20060101);G06F40/232(20200101);

  • 代理机构

  • 代理人

  • 地址 100095 北京市海淀区高里掌路3号院2号楼2层201-1至201-8号

  • 入库时间 2023-06-19 13:46:35

说明书

技术领域

本发明涉及信息技术领域。

背景技术

深度学习的安全性问题已经逐渐被学术界、工业界所认识到并且重视,就文本领域而言,垃圾邮件检测、有害文本检测、恶意软件查杀等实用系统已经大规模部署了深度学习模型,安全性对于这些系统尤为重要。深度学习算法无法有效地处理对抗样本。这些伪造的样本对人类的判断没有太大影响,但会使深度学习模型输出意想不到的结果。

比如当前市面上的问答式机器人和智能交互AI,它们通过庞大的语料库来学习,还会将用户和它的对话数据收纳进自己的语料库里,黑客可以在和它们对话时进行调教,从而实现让其说脏话甚至发表敏感言论的目的,这是一种典型的数据中毒情况。

数据中毒的根本原因,其实是机器学习方法并没有假设输入模型的数据可能有误,甚至有人会故意搅乱数据的分布。通常情况下,如果我们通过训练的方式来生成模型,我们期望的是数据准确率较高,较好地引导模型对数据的特征进行了解和认识,而这个假设恰好就让攻击者有机可乘。

近年来,基于数据污染和篡改操作的对抗攻击频频发生,诸如人脸解锁、人脸支付、智能安防等基于人脸识别的智能系统已不再安全,图像领域攻击也逐步迁移到文本分析领域,而产生类似的情况,如一条电影的差评,可以被基于LSTM的情感分析模型正确判断其情感倾向为负面,然而如果将其中的某些词做同义替换,如terrible替换为horrific或horrifying,原来的情感分析模型却给出了情感为正面的错误答案。为了进一步探索深度神经网络模型的脆弱性和安全盲点,增强深度学习模型针对对抗样例的鲁棒性,提高智能模型的稳定性,本发明给出了面向自然语言处理的数据投毒防御方法及系统。

数据投毒是人工智能自身数据安全风险,即通过在训练数据里加入伪装数据、恶意样本等行为可破坏数据的完整性,进而导致训练的算法模型决策出现偏差。对于一辆无人驾驶汽车,不同于逃逸攻击直接构造对抗样本对模型和系统发起攻击,由于智能汽车的识别模型通常是基于历史数据进行训练定期生成的,那么黑客就可以产生一些实时的数据或者说一些黑客以前已经习惯于走这些道路的数据,把这些数据输入到云端或者智能汽车系统中,从而实现让智能汽车按照黑客想要的路径去前进,利用数据投毒的方式来攻击人工智能系统。

数据投毒方式:

一种是采用模型偏斜方式,主要攻击目标是训练数据样本,通过污染训练数据达到改变分类器分类边界的目的。例如,Google反滥用研究团队的主管曾经介绍过发生在Google垃圾邮件分类器上的数据投毒攻击案例。一些最高级的垃圾邮件制造者试图通过将大量垃圾邮件提交为非垃圾邮件来使 Gmail 邮件分类器发生偏斜。

因此,在设计 AI 防御机制时,需要考虑以下事实:

攻击者一定会非常积极地将正常数据和异常数据之间的那条分界线转移到对他们有利的位置。

另一种则是采用反馈误导方式,主要攻击目标是人工智能的学习模型本身,利用模型的用户反馈机制发起攻击,直接向模型注入伪装的数据或信息,误导人工智能模型做出错误判断。反馈武器化是指将用户反馈系统武器化,来攻击合法用户和内容。一旦攻击者意识到模型利用了用户反馈对模型进行惩罚,他们就会基于此为自己谋利。比如说如果我们想攻击一个交互系统,比如说智能客服,每次它回答问题后,下面会弹出一个服务评分选项。那只要我们持续地给正确答案打1星,错误答案打5星。如果背后的模型没有对数据投毒攻击有所防范,那这个智能客服模型就会被成功干扰。

现有技术中对抗攻击的研究存在数据离散难优化、对抗扰动易感知以及可用性难保持等难点,而现有的研究工作均无法很好的解决这些技术难点,因而无法有效地用于探测实际部署应用的自然语言处理系统的安全盲点。本发明给出的面向自然语言处理的数据投毒防御方法及系统对提高文本对抗攻击的有效性、高效性有一定现实意义。

公知技术说明

编辑距离就是从一个字符串变到另外一个字符串所需要最小的步骤。在信息论、语言学和计算机科学中,编辑距离是用于测量两个字符串之间差异的字符串度量。非正式的说就是两个单词之间的编辑距离是将一个单词更改为另一个单词所需的单字符编辑的最小步骤。它以苏联数学家弗拉基米尔·莱文斯坦的名字命名,作者在1965年提出的这个算法,叫编辑距离算法。

DBSCAN具有噪声的基于密度的聚类方法是一种很典型的密度聚类算法,和K-Means,BIRCH这些一般只适用于凸样本集的聚类相比,DBSCAN既可以适用于凸样本集,也可以适用于非凸样本集。

人工智能训练模型:在机器学习中,经常听到一个词:模型训练,不禁疑惑:模型是什么东西,怎么样训练的,训练后得到的结果是什么,在人工智能中,面对大量用户输入的数据素材,要在杂乱无章的内容准确、容易地识别,输出我们期待输出的数据,并不是那么容易的。因此算法就显得尤为重要了。算法就是我们所说的模型,即人工智能训练模型,根据不同的应用领域,人工智能训练模型具有适合于该领域的独特数学建模,形成独特的人工智能训练模型。人工智能训练模型即算法的内容,除了核心识别引擎,也包括各种配置参数,例如:语音智能识别的比特率、采样率、音色、音调、音高、音频、抑扬顿挫、方言、噪音等参数。成熟的识别引擎,核心内容一般不会经常变化的,为实现识别成功这一目标,我们只能对配置参数去做调整。对于不同的输入,我们会配置不同参数值,最后在结果统计取一个各方比较均衡、识别率较高的一组参数值,这组参数值,就是我们训练后得到的结果,这就是训练的过程,也叫模型训练。人工智能训练模型训练后得到的结果,即算法加上参数集合,就是训练完成得到的分类器。得到分类器后就可以用这个分类器代替人工进行数据识别工作。用来进行人工智能训练的样本的集合,叫做训练样本库。分类器进行工作时接收到的新数据,叫做反馈数据,通常分类器会将反馈数据当作训练样本的一种,根据反馈数据继续学习和更新。对人工智能进行攻击的方法,就是通过用错误的反馈数据使分类器进化到错误的训练结果。

发明内容

鉴于现有技术的不足,本发明提供的面向自然语言处理的数据投毒防御方法及系统由词提取器、距离字库生成器、错误词距离计算器、候选正确词集计算器、正确词替换模块、离群样本清洗器和分类器比较器组成;

实现本发明的具体步骤包括:

1)单词纠错

a、由词提取器提取训练样本库中的词,形成正确词集合;由词提取器反馈数据中的词形成反馈词集合;

b、由距离字库生成器生成距离字集合,距离字集合的内容为所有的字符和单字,每行一个;

c、错误词距离计算器读取距离字集合、正确词集合和反馈词集合生成编辑距离词集,生成的方法为:第一步,输入一个反馈词集合中的单词,使用编辑距离算法计算反馈词集合中的单词对比正确词集合中的单词的编辑距离,生成编辑距离词集;第二步,对反馈词集合中的单词进行删除字操作后再次对比正确词集合中的单词计算编辑距离,将计算结果添加到编辑距离词集,对反馈词集合中的单词进行增加字操作后再次对比正确词集合中的单词计算编辑距离,将计算结果添加到编辑距离词集,对反馈词集合中的单词进行修改字操作后再次对比正确词集合中的单词计算编辑距离,将计算结果添加到编辑距离词集,对反馈词集合中的单词进行替换字操作后再次对比正确词集合中的单词计算编辑距离,将计算结果添加到编辑距离词集;增加字操作和修改字操作及替换字操作均使用距离字集合中的字;

d、由候选正确词集计算器读取正确词集合和编辑距离词集,找到同时处于正确词集合和编辑距离词集的词,生成候选正确词集;对候选正确词进行分级,读取一个反馈词集合中的单词的拼音,遍历候选正确词集的单词,求取得拼音;根据候选正确词集的单词的拼音对其重要性进行排序,当候选正确词集的单词的拼音与反馈词集合中的单词的拼音完全匹配时,将候选正确词集的单词放入一级数组;仅当候选正确词集的单词的第一个字的拼音与反馈词集合中的单词的第一个字的拼音匹配时,将候选正确词集的单词放入二级数组;其余候选正确词集的单词放入三级数组;

e、由正确词替换模块使用候选正确词集替换反馈数据中的词,优先使用候选正确词集的一级数组中的词进行替换;当候选正确词集的一级数组中没有词可以替换反馈数据中的词时,使用候选正确词集的二级数组中的词替换反馈数据中的词;当候选正确词集的一级数组中和二级数组中均没有词可以替换反馈数据中的词时,使用候选正确词集的三级数组中的词替换反馈数据中的词;由正确词替换模块使用候选正确词集替换反馈数据中的词后生成单词纠错后的反馈数据;

2)离群样本清洗

由离群样本清洗器使用DBSCAN具有噪声的基于密度的聚类算法对训练样本库进行聚类,并将单词纠错后的反馈数据带入DBSCAN具有噪声的基于密度的聚类算法,清洗掉离群样本;当单词纠错后的反馈数据被当作离群样本时,已经完成对数据投毒的防御;当单词纠错后的反馈数据没有当作离群样本时,离群样本清洗器将清洗后的反馈数据,发送给人工智能训练模型;清洗后的反馈数据与单词纠错后的反馈数据比缺少了单词纠错后的反馈数据中的离群样本;

3)分类器更新

a、人工智能训练模型使用训练样本库经过训练得出第一分类器;人工智能训练模型使用清洗后的反馈数据和训练样本库经过训练得出第二分类器;

b、由分类器比较器使用训练样本库分别输入第一分类器和第二分类器,并对第一分类器的错误率和第二分类器的错误率进行比较;当第二分类器的错误率比第一分类器的错误率高出阈值时,判定清洗后的反馈数据为恶意数据,进行剔除;当第二分类器的错误率等于小于第一分类器的错误率时,将清洗后的反馈数据加入训练样本库。

有益效果

本发明对中文文本攻击数据投毒起到有效的防御效果。

附图说明

图1是本发明的系统结构图。

具体实施方式

实施例一

参看图1,本发明提供的面向自然语言处理的数据投毒防御系统由词提取器1、距离字库生成器2、错误词距离计算器3、候选正确词集计算器4、正确词替换模块5、离群样本清洗器6和分类器比较器7组成;

实现本发明的具体步骤包括:

1)单词纠错

a、由词提取器1提取训练样本库10中的词,形成正确词集合11;由词提取器1反馈数据12中的词形成反馈词集合13;

b、由距离字库生成器2生成距离字集合,距离字集合的内容为所有的字符和单字,每行一个;

c、错误词距离计算器3读取距离字集合、正确词集合11和反馈词集合13生成编辑距离词集,生成的方法为:第一步,输入一个反馈词集合中的单词,使用编辑距离算法计算反馈词集合中的单词对比正确词集合中的单词的编辑距离,生成编辑距离词集;第二步,对反馈词集合中的单词进行删除字操作后再次对比正确词集合中的单词计算编辑距离,将计算结果添加到编辑距离词集,对反馈词集合中的单词进行增加字操作后再次对比正确词集合中的单词计算编辑距离,将计算结果添加到编辑距离词集,对反馈词集合中的单词进行修改字操作后再次对比正确词集合中的单词计算编辑距离,将计算结果添加到编辑距离词集,对反馈词集合中的单词进行替换字操作后再次对比正确词集合中的单词计算编辑距离,将计算结果添加到编辑距离词集;增加字操作和修改字操作及替换字操作均使用距离字集合中的字;

d、由候选正确词集计算器4读取正确词集合11和编辑距离词集,找到同时处于正确词集合和编辑距离词集的词,生成候选正确词集;对候选正确词进行分级,读取一个反馈词集合中的单词的拼音,遍历候选正确词集的单词,求取得拼音;根据候选正确词集的单词的拼音对其重要性进行排序,当候选正确词集的单词的拼音与反馈词集合中的单词的拼音完全匹配时,将候选正确词集的单词放入一级数组;仅当候选正确词集的单词的第一个字的拼音与反馈词集合中的单词的第一个字的拼音匹配时,将候选正确词集的单词放入二级数组;其余候选正确词集的单词放入三级数组;

e、由正确词替换模块5使用候选正确词集替换反馈数据12中的词,优先使用候选正确词集的一级数组中的词进行替换;当候选正确词集的一级数组中没有词可以替换反馈数据中的词时,使用候选正确词集的二级数组中的词替换反馈数据中的词;当候选正确词集的一级数组中和二级数组中均没有词可以替换反馈数据中的词时,使用候选正确词集的三级数组中的词替换反馈数据中的词;由正确词替换模块5使用候选正确词集替换反馈数据中的词后生成单词纠错后的反馈数据50;

2)离群样本清洗

由离群样本清洗器6使用DBSCAN具有噪声的基于密度的聚类算法对训练样本库10进行聚类,并将单词纠错后的反馈数据50带入DBSCAN具有噪声的基于密度的聚类算法,清洗掉离群样本;当单词纠错后的反馈数据50被当作离群样本时,已经完成对数据投毒的防御;当单词纠错后的反馈数据50没有当作离群样本时,离群样本清洗器6将清洗后的反馈数据60,发送给人工智能训练模型A;

3)分类器更新

a、人工智能训练模型A使用训练样本库10经过训练得出第一分类器A1;人工智能训练模型A使用清洗后的反馈数据60和训练样本库10经过训练得出第二分类器A2;

b、由分类器比较器7使用训练样本库10分别输入第一分类器A1和第二分类器A2,并对第一分类器A1的错误率和第二分类器A2的错误率进行比较;当第二分类器A2的错误率比第一分类器A1的错误率高时,判定清洗后的反馈数据60为恶意数据,进行剔除;当第二分类器A2的错误率等于小于第一分类器A1的错误率时,将清洗后的反馈数据60加入训练样本库10。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号