审查制度的速度:对微博删帖的高保真检测
來源:The Velocity of Censorship: High-Fidelity Detection of Microblog Post Deletions
微博和其他流行的中国微博网站以行使内部审查制度而闻名,以符合中国政府的要求。这项研究试图量化这种审查机制:帖子被删除的速度和全面程度。我们的分析考虑了2012年大约两个月内收集的238万个帖子,我们的注意力集中在重复访问的 “敏感 “用户上。这让我们在审查事件发生的几分钟内就能看到它们,尽管代价是我们的数据不再代表一般微博人群的随机样本。我们还有一个更大的4.7亿条微博公共时间线的抽样,取自更长的时间段,更能代表随机样本。
我们发现,在帖子提交后的第一个小时内,删除的情况最为严重。专注于原始帖子,而不是转帖/转发,我们观察到近30%的删除事件发生在5-30分钟内。近90%的删除事件发生在头24小时内。利用我们的数据,我们还考虑了关于微博审查机制的各种假设,例如微博审查员使用基于关键词的回顾性审查的程度,以及转帖/转发流行度与审查的互动情况。我们还使用自然语言处理技术来分析哪些话题更有可能被审查。
介紹
几乎所有对互联网审查制度的测量都有某种程度的偏差,原因很简单,因为测试每个关键词或在小时间段内检查每个帖子是不可行的。在本文中,我们描述了我们在中国流行的微博平台上跟踪审查制度的方法,以及我们测量的结果。我们的系统专注于一组核心用户,这些用户通过他们的社交图谱相互联系,并倾向于发布敏感话题。这使我们对这些特定用户发布的内容有偏见,但使我们能够高保真地测量审查的速度,并发现审查行为的有趣模式。
新浪微博(weibo.com,本文简称为 “微博”)在中国的所有微博网站中拥有最活跃的用户社区[39]。微博提供的服务类似于Twitter,有@用户名、#标签、转帖和URL缩短。在2012年2月,微博有超过3亿用户,每天发送约1亿条信息[3]。与其他国家的Twitter一样,微博在中国围绕时事的讨论中发挥着重要作用。专业记者和业余爱好者都可以在事件发生时提供即时的第一手资料和意见。与Twitter一样,微博将帖子限制在140个字符,但140个字符的中文可以传达比英文多得多的信息。微博还允许嵌入照片和视频,以及在帖子上附加评论线。
中国采用了IP数据包的骨干级过滤[5, 6, 11, 23, 37, 43],以及在博客平台[15, 20, 28]、聊天程序[13, 29]和搜索引擎[30, 41]等软件中实施的高级过滤。针对微博的工作[2, 9]将在第2节详细讨论。据我们所知,我们是第一个关注微博帖子被删除的速度的工作–以帖子发布后几分钟为尺度。这种测量的保真度使我们不仅能够准确地测量审查的速度,而且能够比较审查速度与主题、审查方法、审查工作时间表和其他有启发性的模式。
我们的结果说明,微博在过滤内容的策略上采用了 “深度防御”。互联网审查制度代表了审查者和受审查的用户之间的冲突,审查者试图根据某些政策来过滤内容。审查制度可以直接压制对话,也可以用国家监控的威胁来冷落未来的讨论。我们在本文中的目标是对微博审查员采用的各种机制进行分类。
这项研究有几个主要贡献。
- 我们描述了一种能够在审查事件发生后1-2分钟内检测到该事件的方法的实施。通过两个API[26]不断收集大量的微博帖子。在我们的数据库中,有超过4.7亿条来自公共时间线的帖子和238万条来自用户时间线的帖子。
- 为了进一步了解微博系统如何能够在删除敏感内容的帖子方面做出如此快速的反应,我们提出了四个假设,并试图用我们的数据来支持每一个假设。我们还描述了几个实验,这些实验揭示了微博上的审查做法。我们在本文中阐明的总体情况是,微博采用了一种分布式的深度防御策略来删除敏感内容。
- 我们使用自然语言处理技术来克服新词、命名实体和中国社交媒体典型的非正式语言的使用,对被删除的帖子进行专题分析,并比较不同主题的删除速度。我们发现,大规模删除发生得最快的话题是那些在整个微博中的热门话题(例如,北京的暴雨或性丑闻)。我们还发现,我们的敏感用户群体在所有的话题中都有总体性的主题,暗示着对国家权力的讨论(例如,北京、政府、中国和警察)。
本文的其余部分结构如下。第2节给出了一些关于中国的微博和互联网审查的基本背景信息。然后第3节描述了我们用于测量和分析的方法,接着第4节描述了审查事件的时间。第5节介绍了我们应用于数据的自然语言处理,并介绍了主题分析的结果。最后,我们在第6节中对各种微博过滤机制进行了讨论。
背景
从2010年微博在中国首次亮相开始,不仅出现了许多由社会媒体推动的热门新闻报道,而且社会媒体也成为一些重要事件本身的一部分[21, 38],包括乌坎抗议[33]、邓玉娇事件[32]、药家鑫谋杀案[35]和什邡抗议[36]。也有一些事件是社会媒体迫使政府直接解决问题的,比如2012年7月的北京暴雨。
中国的社会媒体分析具有挑战性[27]。阻碍这项工作的许多顾虑之一是机械地处理中文文本的普遍困难。西方人(和算法)希望通过空白或标点符号来分隔单词。然而,在书面中文中,并没有这样的词的边界划分符。中文中的单词分割问题由于未知单词的存在而变得更加严重,例如命名的实体(如人、公司、电影)或新词(替换与其他字符相似的字符,或以其他方式创造新的委婉语或俚语表达,以击败基于关键词的审查制度)[12]。此外,由于社交媒体在很大程度上围绕着当前的事件,它很可能包含不会出现在任何静态词汇表中的新的命名实体[8]。
尽管有这些担忧,微博审查一直是以前研究的主题。Bamman等人[2]对被删除的帖子进行了统计分析,显示一些敏感词汇的存在表明帖子被删除的概率更高。他们的工作还显示了帖子删除的一些地理模式,来自西藏和青海省的帖子显示出比其他省份更高的删除率。WeiboScope[9]也收集了微博中被删除的帖子,但是他们的策略是关注所有拥有大量粉丝的用户。这与我们的策略相反,我们的策略是关注一组核心用户,这些用户的删帖率很高,其中有些用户有很多粉丝,有些则很少。这些作品中的删除事件是以几小时或几天的分辨率来衡量的。我们的系统能够检测到以分钟为分辨率的删除事件。
方法
为了更好地了解微博系统针对哪些内容进行审查删除,以及他们这样做的速度,我们开发了一个系统,几乎实时地收集目标用户的删除帖子。
识别敏感用户组
在微博中,每个IP地址和应用编程接口(API)都有一个访问服务的速率限制。这迫使我们做出一些工程上的妥协,特别是将我们的注意力集中在我们认为可以找到那些最可能受到审查的帖子的地方。我们决定把注意力集中在我们过去看到的被审查的用户身上,假设他们在未来更有可能被审查。我们把这组用户称为敏感组。
我们从25个敏感用户开始,利用中国数字时代[4]的敏感关键词列表,这些关键词不允许在微博的服务器上被搜索到,这是我们手动发现的。为了找到我们的初始样本,我们使用后来被解禁的过时的关键词进行搜索。例如,”党产共 “在2011年4月4日被禁止,但在2011年10月20日却没有被禁止,这意味着我们在2011年10月20日之后搜索这个关键词时,能够获得一些包含党产共的帖子。从搜索结果中,我们挑选了25个因发表敏感话题而脱颖而出的用户。
接下来,我们需要将搜索范围扩大到更大的用户群体。我们假设,任何被我们的敏感用户转贴超过五次的人,一定也是敏感的。我们跟踪他们一段时间,并手动测量他们的帖子被删除的频率。任何被删除的帖子超过5次的用户都被加入到我们的敏感用户库中。
在这个过程进行了15天之后,我们的敏感组包括了3567个用户,在这个组中,我们观察到每天有超过4500个帖子被删除,包括大约1500个 “被拒绝许可 “的删除。(关于不同类型的删除事件的讨论,见第3.3节。)大约有12%的敏感用户的帖子最终被删除。此外,我们有足够多的这些帖子,能够运行主题分析算法,让我们提取微博审查员在任何一天似乎关注的主要议题。
我们将这些统计数据与WeiboScope[9]进行对比,后者由香港大学开发,目的是在我们的研究中同时追踪微博的趋势。我们的工作与blogScope的核心区别在于,他们追踪的是一个大样本:大约30万个用户,每个用户都有超过1000个粉丝。尽管如此,他们报告说每天观察到的 “拒绝许可 “的删除不超过100条。因此,WeiboScope的结果也许更能代表微博审查制度的整体影响,因为它是微博总流量的一部分,而我们的工作在考虑微博审查者的速度和技术方面具有更强的分辨率。
由于我们无法获得WeiboScope的数据,我们对我们的数据集进行直接比较的能力有限。他们确实短暂地支持数据下载,我们在2012年7月20日提取了他们的 “2500个最后被拒绝许可的数据”。这项服务后来被关闭了。我们的系统在同一天按照用户的时间线上线,给了我们一个可以比较我们数据的单日。在2012年7月20日,WeiboScope观察到54个被拒绝的帖子,而我们的系统观察到1,056个。
(我们自己的系统还不支持公开、实时下载我们的数据,除其他问题外,这可能使微博更容易关闭它。传播实时结果或定期总结的适当手段是我们小组未来的工作)。)
虽然我们的方法不能被认为是产生了一个有代表性的微博用户的整体样本,但我们相信它能代表讨论敏感话题的用户将如何体验微博的审查制度。我们也相信我们的方法能让我们衡量微博在任何一天审查的话题。
爬蟲
一旦我们确定了要关注的用户名单,我们就想以足够的保真度来关注他们,以便看到他们所发的帖子,并衡量他们在被删除之前持续了多长时间。我们的目标采样分辨率是一分钟。
我们使用微博提供的两个API,允许我们查询单个用户的时间线以及公共时间线。从2012年7月开始,我们对3,500个用户中的每一个进行查询,每分钟一次,微博返回最近的50个帖子。在这50个帖子的窗口之外的被删除的帖子不会被我们的系统发现,这意味着我们可能低估了被删除的旧帖子的数量。
我们还大约每四秒查询一次公共时间线,微博会返回200个最近的帖子。这些帖子中的一半似乎比实时的要早1-5分钟,另一半则是几个小时的。
微博不支持对其服务器的匿名查询,要求我们在该服务上创建假账户。微博还对这些用户的查询和源IP地址都实施了速率限制,而不管查询使用的是什么用户账户。为了克服这些问题,我们使用了大约300个并发的Tor电路[24],由我们的研究计算集群驱动。我们得到的数据被存储在一个使用Hadoop和HBase[1]的四节点集群上并进行处理。
如果以及当微博可能做出协调一致的努力来阻止我们时,很容易想象出一个持续的游戏,他们发明新的检测策略,而我们发明新的变通方法。到目前为止,这还不是一个问题。
探測技術
一个缺席的帖子可能已被审查,或可能因其他各种原因而被删除。用户账户也可以被关闭,可能是出于审查的目的。用户不能删除自己的账户,只有系统可以删除账户。我们进行了各种简短的经验测试,看看我们是否能区分不同的情况。我们的结论是,我们可以检测到两种删除行为。
如果一个用户删除了他或她自己的帖子,对该帖子的唯一标识符的查询将返回一个 “帖子不存在 “的错误。我们观察到从审查事件中返回的这种错误代码,我们在本文的其余部分中把这些称为一般删除。然而,还有另一个错误代码,”权限拒绝”,这似乎表明相关的数据库记录仍然存在,但已经被一些审查事件标记了。我们把这些称为权限拒绝的删除或系统删除。在这两种情况下,微博用户都不再能看到该帖子。
在我们的用户时间轴数据集中,系统删除和一般删除的比例大约是1:2。在本文中,我们通常专注于被系统删除的帖子,因为用户似乎没有办法诱发这种状态。它只能是审查事件的结果(也就是说,在我们的系统删除数据集中没有审查假阳性)。因为我们跟踪了一组核心用户,他们在敏感话题上发帖,所以我们发现没有必要在我们的用户时间线数据集中说明垃圾邮件。
我们的爬虫,反复获取每个敏感用户的个人时间线,正在搜索出现后又被删除的帖子。如果一个帖子在我们的数据库中,但没有从微博上返回,那么我们就会对该帖子的唯一ID进行二次查询,以确定返回的错误信息是什么。最终,以我们爬虫的速度,我们可以在审查事件发生的1-2分钟内检测到它。
对于每个从微博返回的帖子,有一个字段记录了帖子的创建时间。一个帖子的寿命是我们的系统检测到该帖子被删除的时间和创建时间之间的时间差。因此,我们的系统所记录的一个帖子的寿命永远不会比它的真实寿命短,也不会比它的真实寿命长两分钟以上。
审查的时间安排
为了便于解释,我们首先给出一些定义。一个帖子可以是另一个帖子的转帖,并且可以有嵌入的图片。其他用户也可以转贴转帖。如果帖子A是帖子B的转帖,我们把帖子A称为子帖,帖子B为父帖。如果帖子A不是另一个帖子的转帖,我们称帖子A为普通帖子。
使用我们的用户跟踪方法,从2012年7月20日至2012年9月8日,我们已经收集了238万个用户时间轴帖子,总删除率为12.8%(4.5%为系统删除,8.3%为一般删除)。请注意
这个删除率是针对我们的用户的,并
不代表微博的整体情况。通过简单的分析,我们发现82%的总删除量是子帖,75%的总删除量本身或其父帖中有图片。
为了证明一个帖子在被删除之前能存活多久,我们分析了系统的删除数据集(见第3.3节)。图1给了我们一个大的画面,说明微博系统在审查方面的工作速度。x轴是分为5分钟的寿命长度,y轴是在相应的bin中具有寿命的被删除帖子的数量。我们注意到,这些数字具有独特的幂律或长尾分布的形状,这意味着微博的审查活动没有特定的时间界限,尽管大部分活动发生得很快,而且像平均值和中位数这样的指标并不像在正常分布中那样有意义。
我们可以看到,寿命小的帖子区间很大。我们把头2个小时的数据放大,绘制在图1(c)和(d)中。这告诉我们,系统删除在5分钟内开始,与纯文本的普通帖子相同。对于这两种情况来说,模态的删除年龄似乎是在5-10分钟之间。
在我们的数据集中,5%的删除发生在前8分钟,而在30分钟内,几乎30%的删除已经完成。超过90%的删除发生在帖子提交后的一天内。这说明了为什么测量的保真度是以分钟为单位,而不是以天为单位,是至关重要的。
考虑到微博需要处理的大数据集,这个速度,尤其是5到10分钟的峰值,是很快的,特别是考虑到数据不能以完全自动化的方式处理。微博系统如何能找到敏感的帖子并如此迅速地删除它们?另一方面,长长的尾巴表明,即使过了很长一段时间,敏感帖子仍然可以被删除。一个月后,版主是如何在他们庞大的数据库中找到这些敏感帖子的?哪些因素会影响一个帖子的寿命?
在本节中,为了找到这些问题的答案,我们提出了四个假设,然后用我们的数据对它们进行测试。假设1和2试图解释微博上的审查速度为何会如此之快。假设3解释了为什么我们在图1中看到被审查的帖子寿命的长尾。假设4告诉我们,删除速度似乎与特定的对话主题没有密切关系,而是与热门话题(即根据我们的公开时间线,在微博上整体讨论的那些话题)有关,在这些话题中,我们的核心敏感用户正在对涉及政府权力主题的讨论进行旋转(见第5节)。
後壽命回歸
在我们给出假设之前,我们首先考虑哪些因素会影响一个帖子的寿命,无论帖子的内容如何。
对于每个帖子,除了帖子本身的基本信息外,我们还可以看到嵌入的图片(如果有的话),以及父帖子的标识(如果是转帖)。此外,我们还知道每个用户的关注者和朋友的数量,以及任何父帖子的用户的数量。
从图1的图表中,我们决定从经验上对其进行负二项回归,看看哪些因素会影响一个帖子的寿命。表1和表2分别显示了普通帖子和子帖子的结果。三个星号(’**’)表示有统计学意义,一个星号(’‘)表示系数没有统计学意义,而没有系数的则用破折号(’-‘)表示。我们可以通过以下方式对普通帖子或儿童帖子的生活时间对数进行回归。
我们研究了以下因素对帖子寿命的影响:图片的存在,朋友和追随者的数量,以及该用户所发帖子的数量。我们发现,对于普通帖子和儿童帖子,图片的存在对帖子的寿命影响最大。也就是说,有图片的帖子比没有图片的帖子寿命短。一些用户属性,如朋友的数量或帖子的数量,也影响帖子的寿命。我们注意到,这些的系数相对较小,但对于拥有大量好友或写了大量帖子的用户来说,这些因素会对该用户的帖子被审查的速度产生重大影响。然而,一个用户的其他属性,例如一个微博用户是否被微博 “验证”(即微博知道他们是谁,这是中国打击与现实世界身份无关的假名的新要求的一部分),或者一个用户的粉丝数量,在统计上不是一个帖子寿命的重要因素。
假设
作为一个每分钟有70,000个帖子的分布式系统,微博在公共时间线上有超过10%的删除率(由Bamman等人首次观察到[2];我们也看到类似的行为)。这种高删除率可能是许多过程的结果,包括反垃圾邮件功能、用户删除,以及反审查功能。在我们认为是审查事件的删除中,我们注意到在我们的用户时间轴数据集中,40%的删除发生在帖子出现后的第一个小时内。很明显,微博对其内容进行了重大控制。
在审查员处理已经在系统中的敏感帖子之前,是否有过滤器不允许某些帖子进入微博系统?这个问题引出了我们的第一个假设。
假设1 微博有过滤机制作为一种主动的、自动的防御。
为了了解是否存在过滤机制,我们尝试发布了中国数字时代[4]和Tao等人[41]中含有敏感词的帖子。在此,我们根据观察总结了微博被发现应用的过滤机制。
- 明确过滤。微博会通知发帖人,他们的帖子因为敏感内容而不能发布。
例如,2012年8月1日,我们试图发布 “政法委书记” (政法委书记)。当我们提交含有这个字符串的帖子时,一个警告信息说:”对不起,由于该内容违反了’新浪微博监管规则’或相关法规或政策,该操作不能被处理。如果你需要帮助,请联系客服。” - 隐性过滤。微博有时会暂停帖子,直到它们可以被手动检查,告诉用户延迟是由于 “服务器数据同步”。
例如,当我们在2012年8月1日的同一天提交帖子 “youshenmefalundebanfa “时,微博回应说 “您的帖子已成功提交。目前,由于服务器的数据同步,有一个延迟。请等待1至2分钟。非常感谢”。这个延迟,经常比微博建议的1-2分钟要长得多,是由于我们使用了与法轮功宗教有关的子串 “法轮 “而引发的。在这个例子中,该帖子花了5个多小时才出现。 - 伪装的帖子。微博有时也会让用户觉得他们的帖子被成功发布,但其他用户却无法看到该帖子。在这种情况下,发帖人不会收到警告信息。
2012年8月1日,我们提交了一个包含子串 “cgc”(陈光诚[31])的帖子,没有收到任何警告信息,因此对我们的用户来说,它似乎被成功发布。然而,当我们试图从另一个用户账户访问该帖子时,我们被重定向到微博的错误页面,声称该帖子不存在。
我们发现这些现象是可以重复的。在我们的实验过程中,我们从《中国数字时代》[4]发布的关键词列表中选择了一些不同的子集,试图将它们手动发布到微博。我们一直发现所有这些相同的现象,尽管任何名单上的具体关键词都会随着时间的推移而变化。
图1显示,对于一个普通的帖子来说,在其发布后的5到10分钟内,删除的情况最为严重。虽然我们认为这个过程主要是通过自动化发生的,但估计一下在其他情况下需要多少无人帮助的人力是有意义的。假设一个高效的工人每分钟可以阅读50个帖子,包括转帖和帖子中的数字。那么要在一分钟内读完微博的全部70,000个新帖子[34],就需要1,400名工人同时工作。假设8小时轮班,那么就需要4,200名工人。我们可以想象,由于其工作的重复性,这样的员工会有很高的错误率。与自动化相比,这样的劳动力也将是相对昂贵的。我们的结论是,微博必须使用大量的自动化,也许像在中国的其他系统(如TOM-Skype[16])中发现的那样,以关键词为基础。这很可能与人类的努力相辅相成,以发展和完善过滤过程。
这种完善肯定有一部分是来自于集中的主题列表。其他细化可能发生在内部,通过数量较少的审查员来寻找用户找到拼写错误的新方法或以其他方式绕过现有的过滤器。我们随后的假设考虑了这种细化是如何发生的,并深入研究了微博的自动化如何运作。
假设2 我们的目标是特定用户,例如那些经常发布敏感内容的用户。
另一个实现对敏感帖子及时回应的方法是使用类似于我们正在做的技术,跟踪那些可能发布敏感内容的用户。然后,这些敏感用户的帖子可以比其他用户的帖子更经常、更及时地被版主阅读。
为了验证这一假设,我们绘制了图2。我们把那些帖子发生审查事件数量相同的用户归为一组。X轴是每组用户的此类删除事件的数量。Y轴显示了这些要被审查的帖子的寿命。明显的下降趋势证明,删除频率较高的用户往往观察到他们的作品被更快地审查,这支持了我们的假设。
尽管这个数字告诉我们,一个用户的删除帖子越多,用户的帖子往往被删除得越快,但我们不能排除这些用户有其他的共同特征,这些特征可能导致快速删除。例如,他们可能倾向于使用相同的关键词,从相同的地理区域发帖,使用相同类型的客户端平台,等等。帖子寿命和帖子删除数之间有明显的相关性,但相关性并不意味着因果关系。
如果监视关键词列表和针对特定用户是删除敏感帖子的唯一机制,那么图1中的柱状图就会在某个时间停止,例如1或2天。然而,10%的删除发生在一天之后,有些删除发生在帖子发布后一个月或更长时间。显然,对于这些长尾审查事件,还有其他机制在起作用,这导致了我们下一个假设。
假设3 当发现一个敏感帖子时,版主会使用自动搜索工具找到其所有相关的转帖(父、子等),并一次性删除它们。
如果这个假设是真的,那么转贴被审查的父帖的子帖应该同时被删除。为了验证这一假设,我们在图3中绘制了共享相同转帖识别码(rpid)的帖子的删除时间的标准偏差柱状图。在我们的系统删除的帖子数据集中,超过82%的转帖帖子的删除时间标准差小于5分钟,这意味着一个敏感的帖子被检测到,然后在转帖链中的大多数其他帖子被立即删除。
有一些标准偏差高达5天的离群值,这表明这里提到的大规模删除策略并不是微博用来删除敏感转帖的唯一方法。这就引出了我们的下一个假设。
假设4 删除速度与主题有关。也就是说,特定的主题是根据它们的敏感程度来确定删除的目标。
我们对被删除的帖子进行了主题分析。我们使用的主题分析方法在第5.1节中有所描述。在此,为了节省篇幅,我们只在表3中列出了最主要的话题。(关于进一步的主题讨论,请参考我们的技术报告[42]。) 第三列是审查员发现敏感话题的响应时间。具体来说,这里的响应时间指的是在我们的用户时间轴数据集中出现第一个关于这个话题的帖子的时间和微博系统开始大量删除这个话题的帖子的时间。这些时间是通过人工分析确定的。即使一个话题仍然被积极审查,它也不一定会消失。人们可能仍然在讨论这个话题,只是他们的帖子被删除。这就是为什么有些话题在表中出现了两次或更多。当一个话题再次出现时,没有对它的回应时间,我们用破折号(’-‘)表示。
通过独立成分分析(ICA,见第5节)提取的主要五个主题是。启东、钱云会、北京暴雨、钓鱼岛2和群体性别。从表3中,我们可以看出,与其他话题相比,这些话题的寿命相对较短。这五个话题也是这一时期我们公众时间线上的热门话题。
这表明,当敏感用户和大量普通微博用户在讨论同一个一般性话题时,即该话题在用户时间线和公共时间线中都很受欢迎,那么就会有额外的资源用于寻找和删除此类帖子3。在第5节中,我们将表明,用户时间线中的敏感用户结合了与国家权力相关的共同主题(北京、政府、中国、国家、警察和人民)。这表明审查员认为这些主题与一般流行的主题相结合,需要额外的资源。
主题提取
尽管我们关注的微博作者数量相对较少,但我们捕捉到的文本量仍然太多,无法人工处理。我们需要自动方法来对我们看到的帖子进行分类,特别是那些被删除的帖子。
自动主题提取是指识别文本中代表整个语料库的重要术语的过程。主题提取最初是由Luhn[19]在1958年提出的。其基本思想是根据术语和句子的频率和其他一些统计信息为其分配权重。
然而,当涉及到微博文本时,标准的语言处理工具变得不适用了[18, 40]。微博通常包含短句子和休闲语言[7]。未知的词,如命名实体和新词,往往会给这些基于termb的模型带来问题。从亚洲语言(如中文、韩文和日文)中提取主题尤其具有挑战性,因为这些语言的单词之间没有空格。
我们应用Pointillism方法[27]和TFIDF来提取热点话题。在Pointillism模型中,一个语料库被划分为n-grams;单词和短语是利用外部信息(具体来说,就是grams出现的时间相关性)从grams中重构出来的,为管理语言的非正式使用(如新词)提供必要的背景。Salton的TFIDF[10]根据术语与整个语料库相比对该文档的相对重要性,为文档中的术语分配权重。
接下来我们将解释这些技术是如何共同发挥作用的。
算法
TF-IDF是一种常用的方法,用于确定词对语料库中的文档的重要性。在我们的案例中,TF-IDF值的计算方法是:
这里,f(t,d)指的是术语t在文档d中的频率。我们用三角词作为t,而文档d是一定时期内的帖子集。dday是我们在当天抓到的被删除的帖子。f(t,dmonth)是术语t在2012年7月的公共时间轴上的频率。
首先,我们计算所有在一天内出现超过20次的卦的TFIDF得分。TFIDF得分最高的前1000个三元組将被送入我们的三元組连接算法,以下简称 “连接器”。我们把这前1000个三元組称为1000-TFIDF列表。
为了将三元組连接成更长的短语,Connector找到两个有两个重叠字符的三元組。例如,如果有ABC和BCD,Connector将把它们连接起来,成为ABCD。有时,连接卦的选择不止一个,例如,也可以有BCE和BCF。有时,三叉线甚至可以形成一个循环。为了解决这些问题,我们首先为具有高TF*IDF得分的三元組建立有向图。每个节点是一个三元組,边表示两个三元組之间的重叠信息。例如,如果ABC和BCD可以连接成ABCD,那么就有一条从 “ABC “到 “BCD “的边。在所有三角图被选中后,我们使用DFT(深度优先遍历)来输出节点。在DFT过程中,我们检查一个节点是否已经被遍历过。如果是的话,我们就不会再遍历它。在图形被遍历之后,我们得到一组短语。
例如,2012年8月4日的第三大热门话题的连接器输出是。
在这个例子中,Connector的7个输出被翻译成了英文,这句话被写在了中文原话的下一行。输出4和6的连接是不正确的。这是因为相同的三元組被不同的故事共享,而这些故事在同一天有很高的TF*IDF分数。这个问题可以通过检查每个结果的第一个三元組和最后一个三元組的出现频率的余弦相似度来解决。
余弦相似度是用来判断两个三元組是否有相关的趋势:
其中<, >表示两个向量之间的内积。详情请参考Song等人的研究[27]。
从上面列出的关联句子,我们可以开始了解推动微博上主要敏感话题讨论的一般事件。表3列出了2012年7月20日至2012年8月18日期间被删除帖子的首要话题。(2012年8月6日的电脑故障使我们无法收集数据。)请注意,我们只是翻译了每个主题群的帖子,我们并没有确认我们所翻译的微博用户帖子中的任何说法的真实性。
有趣的是,除了命名实体,我们还提取了三个新词。它们是李旺阳,来自李旺阳;六圌四,来自六四;胡()涛,来自胡锦涛,用开括号和闭括号替换中间的字;启东,启东和启/东,来自启东,在两个字之间插入标点符号。这些新词变得足够流行,以至于它们在我们的TF*IDF分析中脱颖而出。
热点敏感话题
表3告诉我们每天拥有最高TF*IDF分数的顶级话题–然而,它并没有告诉我们其中哪些话题被我们的用户讨论的时间最长。此外,这些独立的主题背后是否有一些共同的主题?
以下是2012年7月20日至2013年8月20日期间在1000-TFIDF列表中出现频率最高的50个词,由人工翻译成英文。
北京市,刘福堂,书记,庐江县,郭金龙,钱云会,市政府,周克华,红十字会,钓鱼岛,副县长,水渠,老百姓,纳税人,房山区,哈根斯,罗湖派出所,办公室,北京,启东,政府,中国,日本,公民。县长专员,再搬运工,市长,贪官,自由,国家,再应变,锁孔报告,手表,警察,国家,建议,美国,镇压,爱国,民主,尸体,人民,捐赠,取消,意见,劳教,废除,卡车
我们使用独立分量分析(ICA),从上面显示的那些最重要的术语中提取 “独立信号”。ICA[14]是一种将线性混合信号x分离成相互独立的成分s的方法。
让X = [x1 , x2 , …, xm ]T为观察混合矩阵,由m个观察信号xi组成。由于X是独立成分s的线性组成,X可以被建模为:
混合矩阵A给出了独立信号的线性组合的系数,即S的行数。
这里,每个词由长度为864(36×24)的行向量表示,它包含了从2012年7月22日至2012年9月2日的36天的小时频率。50×864矩阵X被送入一个ICA程序[25]。独立成分的数量被设定为5,这几乎保留了100%的特征值。
有六个词几乎出现在每个独立的信号中。北京、政府、中国、国家、警察和人民。这意味着我们的用户时间线中的敏感用户群有这些一般的主题,贯穿于他们讨论的许多单独的话题,这可能解释了为什么他们的帖子经常受到审查。
討論
微博似乎有各种其他机制,并不完全适合我们的假设,但讨论这些机制是很有趣的。我们首先考虑微博过滤的其他方面,然后看一下昼夜(时间)的审查行为,最后我们试图综合我们的一些观察。
微博的过滤机制
新浪微博有各种复杂的审查机制,包括主动和追溯机制。这里我们总结一下微博可能应用的机制。主动机制,正如我们在假设1中讨论的那样,可能包括:显性过滤、隐性过滤和伪装的帖子。删除已经发布的内容的追溯性机制可能包括。
逆向转帖搜索。在我们的删除帖子数据集中,超过82%的回贴帖子的删除时间标准差小于5分钟,这意味着一个敏感的帖子被检测到,然后一连串的回贴中的大多数其他帖子就被删除了(假设3)。
逆向关键词搜索。我们还观察到,微博有时会以追溯的方式删除帖子,从而导致某个关键词的删除率在短时间内出现峰值。
在此,我们举出两个例子(兲朝和37人),在我们目睹的许多例子中,包含该关键词的帖子的删除率出现了强烈的峰值。
我们首先考虑兲朝,”天朝 “的新名词,其中兲朝是天的替代形式;替代字在视觉上与原字相似,也似乎是由两个不同的字王八构成,意思是 “杂种”。) 从2012年7月28日到2012年8月25日,兲朝在被删除的帖子中出现的频率分别为(6,3,0,0,2,2,0,3,0,2,1,2,0,1,0,0,5,4,4,2,14,3,6,4)的序列。在2012年8月22日的几分钟内,有一个集中删除(14个审查事件)的带有这个词的帖子,影响了当时几周前的帖子。很可能是审查员发现了这个新词,并下令在全球范围内将其删除。
另一个例子是关键词 “37人”(37人)。有44个包含这个关键词的帖子,这些帖子是在审查事件前2天至5天创建的,在5分钟内(2012年7月27日03:25至03:30)全部被删除。这44个帖子来自不同的用户,没有共同的父帖子,也没有共同的图片。对这种集中删除的唯一合理的解释似乎是基于关键词的删除。北京时间凌晨3点25分的删除时间也强烈表明,有版主在清晨工作。为了了解这个工作团队及其分布的性质,我们在第6.2节中进行进一步的分析。
监测特定的用户。假设2显示,微博的审查员明显倾向于更多地关注那些似乎喜欢讨论审查话题的用户。
关闭账户。微博也会关闭用户的账户。在大约两个月的时间里,有超过300个来自我们敏感用户群的用户账户被系统关闭(超过3500个用户),而当我们收集他们的用户时间线数据时。
搜索过滤:为了防止用户在微博上找到敏感信息,微博也有一个经常更新的不能搜索的词语列表[4]。
公共时间线过滤。我们认为,敏感话题被过滤出了公共时间线。这种过滤似乎只限于一般的话题,这些话题在相对较长的时间内被称为敏感话题。在本文中,所有的主要结果都是基于用户时间线的,我们只使用公共时间线来获得关于微博中主要趋势话题的一般结果。
用户信用点。2012年5月,新浪微博宣布了一个 “用户信用 “积分系统[22],用户可以通过该系统向管理员举报敏感或基于谣言的帖子。我们不知道这个积分系统与我们已经描述过的审查机制有多大的互动。这些报告有可能 “冒出来”,帮助微博调整其自动过滤器,但我们没有办法观察到这一点。
一天中的时间行为
在我们的数据中,审查员工作和删除帖子的时间与普通用户的使用模式更相关,而不是与典型的白天工作时间表(例如,北京时间上午8点到下午5点)相关。图4显示了2012年7月20日至9月8日期间不同种类的帖子每小时的总删除量(以对数为单位)。一般性删除 “和 “系统性删除 “都发生在很晚的时候。
那么,审查员在夜间的反应是否和白天一样快?我们在图5中绘制了帖子的中位寿命与删除时间的函数。上午的峰值表明,审查员在上午落后,既要赶上过夜的帖子,又要处理早上起床者涌入的新帖子。他们在上午晚些时候或下午早些时候赶上了。
从图4和图5可以看出,虽然有相当一部分审查员似乎在正常工作时间内工作,但很多人并没有。
综合
根据我们所看到和观察到的一切,我们可以开始了解微博审查制度的运作方式。显然,他们正在使用强大的自动化程度来帮助他们删除那些被宣布为敏感的帖子。同样明显的是,这个过程是相对 “宽松 “的,也就是说,没有什么明确的规则来界定什么被删除,什么被允许保留。考虑到我们在审查前观察到的帖子寿命的长尾分布,很明显,一些帖子不被认为是审查的高度优先事项,例如,如果两个朋友开始使用一个新的新名词、委婉语或其他硬币的对话,否则就值得审查。然而,当这些新词传播和增长时,它们会被主动和追溯性地审查。
这表明,微博正试图在满足其运作的法律要求和运行一个精细的政治审查工具的成本之间取得平衡。微博必须进行足够的审查,以满足政府的规定,同时又不能太过干涉,以免影响用户使用其服务。在其他问题中,他们肯定非常关注假阳性的问题。如果真正无害的帖子经常消失,微博的用户可能会投奔到其他竞争服务。
目前还不清楚微博在多大程度上使用了自然语言处理(NLP)算法来帮助他们的工作,而不是有一个稳定的审查员来观察病毒性的东西,然后使用搜索工具来阻止它们。当然,我们使用相当简单的NLP技术有助于减少分析趋势性话题的工作量,所以微博很可能也在使用类似的技术。审查员手中的NLP技术可以被认为是一个 “力量倍增器”,但目前还不清楚它们是否从根本上改变了游戏。考虑到英语垃圾邮件,垃圾邮件发送者将试图逃避自动垃圾邮件分类系统的程度。这些技术和更多的技术完全可以应用于自动或手动改写的帖子,目的是为了避免自动审查。其结果可能不那么容易阅读,但人类在阅读杂乱无章的文本方面可能会有优势,至少在NLP算法被扩展到处理这些文本之前。相反,NLP技术可以将相关的术语聚在一起,协助审查员克服这种技术。至少到目前为止,我们还没有看到任何证据表明,在越来越复杂的避免审查的方法和越来越强大的审查技术之间存在着军备竞赛。
在许多方面,互联网审查与入侵检测有关。当我们把本文的结果与相关的工作(见第1节),包括IP层过滤和应用层面的审查进行比较时,中国的互联网审查就会出现一幅 “深度防御 “被提升到一个新的水平。入侵检测研究长期以来一直关注假阳性与假阴性的权衡、病毒传播模式、多态内容以及不同抽象层(如IP数据包与应用层数据)之间的区别等问题。所谓的 “中国长城 “和伴随的应用层审查,中国国内的网络服务,如微博,为我们提供了一个研究真正的、国家规模的入侵检测系统的机会。
主要注意事项
在解释我们的结果时,最重要的注意事项是,我们收集了一组非常具体的核心用户的帖子,这些帖子是由发布敏感话题的 “种子 “用户群体建立的,我们称之为 “用户时间线”。除非另有说明,例如当结果来自公共时间线时,本文的所有结果都来自用户时间线,因此可能会因这组核心用户与普通微博用户之间的差异而产生偏差。所有的删除率、删除时间等都必须从这个角度进行解释。换句话说,我们的样本用户不应该被认为是代表了微博的一般人群。
另一个重要的注意事项是,如果被删除的帖子不是用户最近的50个帖子之一,我们的系统不会检测到用户时间线中的帖子删除(见第3节)。这可能会影响我们在第4节中关于删除帖子的时间分布的结果。
結論
我们的研究发现,在帖子发出后的第一个小时内,删除的情况最为严重(见图1)。特别是对于非转贴的原创帖子,大多数删除发生在30分钟内,占这类帖子总删除量的30%。近90%的此类帖子的删除发生在帖子发出后的头24小时内。
关于第4节中列举的假设,我们做出以下结论:
- 假设1:微博系统保留了一个以上的关键词列表,每个列表都会触发不同的审查行为。
- 假设2:图2中的下降趋势可能是某些用户被标记为更严格审查的证据,但我们在本文中没有排除其他原因。
- 假设3:图3显示,超过82%的转帖帖子的标准偏差小于5分钟的删除时间,这意味着一个敏感的帖子被发现,然后在转帖链中的大多数其他帖子被删除。
- 假设4:如第4节所述,使用第5节所述的方法,我们发现,在用户时间轴上的趋势,以及根据公共时间轴,在我们的数据收集月期间发生的事件(启东、钱云会、北京暴雨、钓鱼岛和群体性丑闻)的公共讨论整体上的热门话题,其寿命非常短。回顾一下,用户时间轴中被删除的帖子包括与国家权力有关的主题(北京、政府、中国、国家、警察和人民)。这表明,这种广泛讨论的主题是以更多的审查资源为目标,以限制对事件的某些种类的讨论。
未来的工作可能会揭示出我们在这里描述的机制之外的许多机制,以及微博用来优先删除哪些内容的许多不同策略。我们的结果表明,微博采用了一种分布式的、异质的审查策略,具有大量的 “深度防御”。
在我们的分析中没有考虑到审查制度的一个方面,但对于未来的工作来说是一个有趣的话题,那就是社会媒体和传统媒体之间的相互作用。Leskovec等人[17]对2008年美国总统选举期间博客和传统媒体之间的相互作用做了有趣的分析。与微博相关的传统媒体可能包括受到严格审查的国营媒体,或未经审查但可用性有限的境外新闻机构,有时还因时差而与中国的新闻周期相抵。