专栏名称: 混乱博物馆
都是些你不知道的。
目录
相关文章推荐
完美Excel  ·  MIN函数和MAX函数竟然能够查找日期 ·  3 天前  
Excel之家ExcelHome  ·  几个高效Excel公式的典型应用 ·  4 天前  
Excel之家ExcelHome  ·  COUNTIF函数,这些用法会不会? ·  5 天前  
GiantPandaCV  ·  图解大模型训练系列:序列并行3,Ring ... ·  5 天前  
完美Excel  ·  限制Excel工作表滚动区域 ·  6 天前  
51好读  ›  专栏  ›  混乱博物馆

如何科学地消灭敏感内容 | 回形针

混乱博物馆  · 公众号  ·  · 2018-05-19 08:15

正文



-文字稿-


中国网民第一次发现敏感词的存在,是在 2000 年的 qq 聊天室。



用于结交陌生朋友的聊天室功能,让敏感内容第一次有了大规模传播的可能,因此,禁词表出现了。


禁词表的规则相当粗暴——只要文本内容包含禁用词,则无法发送,或发送后仅自己可见。直到今天,微信也仍然沿用这一规则。



好在微信环境相对封闭,审查级别并不高。多伦多大学一份 2016 年 11 月发布的报告中,只发现 178 个禁词,且仅针对用中国大陆手机号码。



而在 web 2.0 时代,随着博客、论坛、社交网络开始成为主流产品,任何信息都有可能一夜间传遍全网。传统禁词方案的缺陷开始暴露出来。


首先,词库只能做到精准匹配,无法处理对原词的演绎。


假设金正恩为敏感词,那么可以演绎出三胖、鑫,以及英文、拼音、字符版本的几十个替代词,甚至直接用“金”以指代,而这些词显然无法被禁词表囊括。



另一方面,许多敏感内容是事件,无法仅用单个词描述。


以“金正男机场遇刺”为例,需要“机场”、“金正男”、“遇刺”其中两个词同时出现才能触发清除机制。这就给了其中单个词相当大的替换空间,例如“机场金大胖”、“胖熊机场一日游”,都可以让人联想到该事件。



面对这些问题,各种消灭敏感内容的计算机算法开始被研究出来。


分词是分析文本的第一步。


传统的“正向最大匹配法”即从左到右扫描文本,将匹配成功的词切分,直到无法匹配为止。



但这种方法并不可靠,如“一台独立服务器”就还是会被分为“一/台独/立/服务器”。



为了解决歧义问题,需要对大量真实语料进行统计,计算每个词的出现概率,再计算不同分词方案下的总概率。


在这个例子中,因为“立”作为词的出现概率极低,因此“一台/独立/服务器”的概率将明显高于“一/台独/立/服务器”。更进一步,还可计算两个词同时出现的概率,以得到更精确的分词结果。



今天的分词算法可以成功识别插入特殊符号的敏感词。而配合扩展词表,也可以处理以同音字或拼音替代的敏感词。



但对于联想类敏感词和事件类敏感内容,还是需要其他算法的加持。


贝叶斯方法就是其中之一。


1763 年,英国学者托马斯·贝叶斯(Thomas Bayes)提出了著名的贝叶斯公式:



贝叶斯方法的核心在于通过已知事件的概率(先验概率)计算未知事件的概率(后验概率)。


以“金正男机场遇刺”举例,假设抽取十万条包含“机场”的文本,其中七万条为正常内容,三万条为需要清除的敏感内容。


即正常评论的概率 P(g)=70%,敏感评论的概率 P(b)=30%。



再对所有文本进行分词,计算每个词出现的概率。


以“遇刺”为例,假设在七万条正常内容中,有七十条“遇刺”,即出现概率概率 P(W|g)为 0.1%;而三万条敏感内容中,有三百条“遇刺”,即出现概率 P(W|b) 为 1%。“遇刺”一词出现的总概率 P(W) 为 0.37%。



那么,一条提到了机场的内容里出现了“遇刺”,该内容是敏感内容的概率 P(b|W) 是多大呢?将上面的结果带入贝叶斯公式中,可以算出概率为 P(b|W) = P(W|b)P(b) / P(W) = 81.1%。



按此方法可以计算出每个词的敏感概率,根据这个公式就可以计算出该文本为敏感内容的期望,再根据实际情况设定阈值进行处理。



以“金大胖在机场遇刺”为例,根据「金大胖」、「机场」和「遇刺」三个词的敏感概率,可计算出这句话是敏感内容的概率为 93.9%。



贝叶斯方案的缺陷是需要大量语料数据作为其先验概率的支撑。但在深度学习算法逐渐成熟的今天,距离完全消灭敏感内容的最后屏障就是样本的数量。


为了实现这一伟大目标,官方也许可以定期举办“敏感词放心说”等活动,号召人民群众一起为消灭敏感词贡献数据。


-



   ▼ 点击阅读原文,观看往期视频。