zoukankan      html  css  js  c++  java
  • 论文阅读 | Generating Natural Language Adversarial Examples through Probability Weighted Word Saliency

    论文地址:https://www.aclweb.org/anthology/P19-1103/

    已有研究工作:

    在文本的对抗样本领域,因为有词嵌入的存在,很难将特征空间的扰动向量映射到词汇表中的有效单词。因此在CV领域的方法不能直接用于NLP领域,一般的方法是在词级别或者字符级别直接修改原始样本,来实现对抗性攻击。

    本文的工作和创新点:

    关注的是文本分类的对抗样本的问题。其主要难点在于,句子空间是离散的,沿梯度方向做小的扰动是比较困难的。挑战在于,生成的结果保证词汇的正确性、语法上的正确性、语义的相似性。本文在同义词替换策略的基础上,引入了一种由词性显著性和分类概率共同决定的一种新的词汇替换方法,在此基础上提出PWWS算法。

    研究方法:

    问题定义:

    首先定义问题,对于文本分类,有输入空间X,包含了所有可能的输入文本,一个输出空间Y,包含了K个可能的标签。分类器要做的就是学习X到Y的映射。

    对抗样本示例:

    一个对抗样本应满足以下条件,即对于x,给予一个较小的扰动,使模型的分类结果变化。

     

    下面的式子给出了关于扰动的p-norm要求:

     

    公式中的w是输入x的单词或字符。为了让干扰足够小以至于人类察觉不到,对抗性样本需要满足词汇、语法、语义上的限制。词汇也就是说,输入样本中的单词不能出现拼写错误,在语法上也应该正确,因为这些是很容易检查出来的,同时语义不能发生重大变化。

    为了满足上述约束,做法是将输入文本的单词替换为同义词,并将命名实体替换为类似的命名实体,同义词是在一个wordnet中找到的,命名实体即特定含义的实体,比如人名、位置、专有名词等。

    单词替换策略:

    对于X中的每一个单词w,使用WordNet来建立一个同义词组。如果w是一个命名实体的话,选择与w同类的词加入到同义词组中。从同义词组中选择一个词w‘来替换w,得到X‘,替换的x‘和原始的x之间的分类概率的变化表示用w‘来替换w所能达到的最佳攻击效果,将这个词记为w*。公式描述如下:

     

     

    替换策略:

    因为在文本分类任务中,输入样本中每个单词可能对最终的分类产生不同程度的影响,因此加入单词显著性(word saliency),含义是如果一个单词被设为未知(词汇表以外的单词),分类器输出概率的变化程度。公式描述如下:

     

    计算x中所有单词的显著性,记为显著性向量。

    那么在考虑替换词的优先级时,需要考虑替换后分类概率的变化程度每个词的显著性两个因素。综合的替换策略公式如下:

     

    实验结果如下:

     

    评价:

    在文本分类的对抗样本领域一个非常优秀的模型。单词的替换使用同义词替换,在单词替换策略上考虑了替换单词或分类概率的变化程度和单词显著性两个因素。同样属于基于统计的模型,从实验结果上来看,效果的提升相当明显。同义词替换的想法也比较自然。从一些实例上可以看到,比如将“funny”替换为“laughable”,将“nuclear”替换为“atomic”。

  • 相关阅读:
    go引入包一直是红色,没有引入的解决办法
    php 把抛出错误记录到日志中
    亚马逊查询接口
    git 合并指定文件到另一个分支
    content-type
    Echarts(饼图Pie)
    DIN 模型速记
    DeepFM 要点速记
    youtube DNN 模型要点速记
    java设计模式之迭代器
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/12741598.html
Copyright © 2011-2022 走看看