当代人除了自我剥削外,还十分擅长自我阉割,其中尤以中国人为甚。有些东西和规则是客观存在的,明明都看得见,然后笑而不语,都用 「the」或者 「它」来指代。戳破这一点的人,常常会陷入孤立处境,并被带上清高或者孤傲的高帽。
最近北京下雪了,高帽上积了不少雪,自是京城一景,也难得可以看见不少人相互脱帽致敬,十分快乐。
不妨来做做考究党?何时人类才有了「敏感词」这一说呢?在文字和阅读尚未普及之前,人类社会鲜有童年的概念,在活字印刷的推动下,文字得以大规模传播,成年与童年的概念开始变得界限分明。许多词语对于孩子就是敏感的,由此演化出「儿童读物」这一细分领域,尽力创造出一个美好、纯洁和繁荣的世界。淫秽的词语不应出现,暴力的词语的不应出现,反人类的词语不应出现。
在印刷术发明之前,一切人际交流都发生在一定的社会环境下。甚至连阅读所采用的也是口语模式,一个读者大声朗读,其他人随后跟上。但自从有了印刷的书籍之后,另一种传统便开始了:孤立的读者和他自己的眼睛。口腔无须再发声音,读者及其反应跟社会环境脱离开来,读者退回到自己的心灵世界。从16世纪至今,大多数读者对别人只有一个要求:希望他们不在旁边;若不行,则请他们保持安静。整个阅读的过程,作者和读者仿佛达成共谋,对抗社会参与和社会意识。
简而言之,阅读成为反社会的行为。
既然如此,敏感词便越过色情和暴力的边界,开始侵蚀思想的多样性,为学说和政见站台。
历史古籍和壁画碑刻中那些被扣去的部分,应用程序和 Web 界面中那些「 xxoo 」的部分,文本输入框中无法被发送出去的部分,都在暗示人类长久以来实施的一种 xx 制度。
(快看,笔者在自我阉割!🌚)
如果你感兴趣他们都是些什么词语,
文末「阅读原文」
可直达小窥一眼。👨🏻💻
https://github.com/observerss/textfilter/blob/master/keywords
讲讲最简单的敏感词过滤方案。对要进行检测的文本,遍历所有敏感词,逐个检测输入的文本中是否含有指定的敏感词。这种方式是最简单的敏感词过滤方案了,实现起来不难,示例代码如下:
@Test
public void test1(){
Set sensitiveWords=new HashSet<>();
sensitiveWords.add("shit");
sensitiveWords.add("蠢蛋");
sensitiveWords.add("笨蛋");
String text="你是蠢蛋啊";
for(String sensitiveWord:sensitiveWords){
if(text.contains(sensitiveWord)){
System.out.println("输入的文本存在敏感词。——"+sensitiveWord);
break;
}
}
}
代码十分简单,但是这个方案有一个很大的问题是,随着敏感词数量的增多,敏感词检测的时间会呈线性增长。
破解起来也蛮简单,
空格、*、#、@等字符混用,或中英混用
,但显而易见,它提高了沟通的成本,妨碍了信息自由。