微比恩 > 信息聚合 > 看不见的 Unicode 码让敏感词轻松逃过审核,谷歌、IBM 都中招

看不见的 Unicode 码让敏感词轻松逃过审核,谷歌、IBM 都中招

2021-08-11 08:36:53来源: IT之家

Unicode 码作为全世界文字的统一编码,使用范围广,用它去对 NLP 模型做对抗攻击,可谓中招一大片。就比如下面这个谷歌翻译:文字部分都没有啥问题,注意到账户数字 4321 翻译前后不一样吗?为什么会发生这样的情况?来看 Unicode 码是怎么捣的乱吧。其实原句中就是 1234,问题出现在左边:英文句子中数字前面插入了一个不可见的字符 0x202E。这是一个可以把字符的文本方向倒转的 Unicode 码。这样一来,左边的解析系统就会将该 1234 显示成 4321。而谷歌翻译引擎的机制是忽略 Unicode 码,也就是右边还显示原来的 1234。因此,两边就不一样了。这个例子虽然没啥杀伤力,如果万一真有人将它用在了真实转账场景,后果会如何呢?使用 Unicode 码对 NLP 模型进行对抗攻击事实上,这种情况在真实场景中并不少见,通过在输入文本中插入一些看不见的 Unicode 码进行对抗攻击,就有可能骗过 AI 的语言处

关注公众号
标签: 谷歌 IBM