2. 四川大学 网络空间安全学院, 成都 610065
2. College of Cyber Space Security, Sichuan University, Sichuan Chengdu 610065, China
随着微博平台的流行, 微博平台上产生了大量难于验证的谣言信息, 给用户体验、平台发展和国家稳定带来巨大危害。微博谣言问题主要表现为以下几个方面:第一, 由于微博平台的谣言来自不同领域, 用户受限于有限的背景知识, 在难以甄别谣言信息真假的情况下可能会相信谣言微博中的虚假事实, 或者接受了其中的观点, 误信虚假信息不仅会助长了谣言信息的传播, 还可能给个人带来不可预料的财产、名誉等损失。第二, 微博允许用户自由地发布信息以及缺少有效的信息发布监管措施, 致使散布在微博上的谣言数量急剧上升。微博中谣言信息的泛滥降低了正常信息的可信度, 由于一时难以分辨真假, 可能致使用户对传播有益信息的微博持怀疑态度, 从而从整体上损害微博平台的信息可靠度; 第三, 由于某些危害国家社会稳定的谣言得到大肆传播, 会对国家长治久安带来隐患。
由于上述微博谣言的危害, 谣言治理工作正变得日益重要。其中微博谣言检测引起了业界相关工作者和学界相关研究者的关注。现有谣言检测方法一般分为两类:人工检测和基于机器学习的自动检测[1]。
1 相关工作 1.1 人工谣言检测在人工识别方面, 新浪微博提供了官方辟谣账号“@微博辟谣”, 通过微博辟谣团队的辟谣专家人工确定微博真实性, 然后发布辟谣信息, 但由于微博平台谣言检测工作量大、人工资源不足等, 该账号目前为止仅发布了2 775条微博, 其中2011年3月—2017年3月期间, 发表微博总数为1 765条, 难以反映实际的辟谣规模;另外由于该辟谣服务是以微博用户账号的方式存在的, 辟谣信息的传播直接依赖于账号本身的粉丝数, 目前粉丝数为101万, 相对于2016年微博发布的月活跃用户总数2.97亿[2], 仅占比约0.34%, 因此该辟谣服务能够发挥的谣言检测和辟谣作用有限。新浪微博官方同时提供了基于众包的辟谣平台“微博不实信息举报中心”, 所有微博用户可以向其举报疑似谣言微博, 在社区管理员审核之后, 公告审核结果。对该平台调研发现, 目前已完成判定举报数仅为31 464条, 其中包含大量重复举报, 且平均判定周期多于24 h, 因此该平台也很难发挥谣言检测作用。
由于无法提供足够的人力资源以供可疑谣言感知和可疑谣言检测, 人工谣言检测方法具有以下局限性:
1) 对信息的覆盖率不足。主要表现为两个方面:第一, 对谣言信息的覆盖率不足, 以前文提到的两种工业界的谣言检测方案为例, 它们对谣言信息的感知都来自于用户举报和专家手工搜索, 而举报谣言信息的用户数量和专家数量难以匹配实际的谣言检测规模, 因此人工方法的谣言感知能力较弱; 第二, 辟谣信息的覆盖率不足, “@微博辟谣”依赖于粉丝数来传播辟谣信息, “微博不实信息举报中心”则依赖于该网址的访客数, 辟谣信息的传播速度都难以匹配谣言信息的传播速度。
2) 谣言检测周期长。在检测周期内, 在谣言带来大量危害之前仍然无法检测到谣言, 那么谣言检测工作将失去意义。
综上, 现有的人工检测方法难以胜任实际的谣言检测任务。
1.2 基于机器学习自动谣言检测在自动识别方面, 学界广泛使用的是机器学习方法, 现有相关工作主要从机器学习算法的选择和创新、区分谣言和非谣言的谣言检测特征的选择和抽取两方面作出贡献。文献[3]提出基于信息、用户、话题、传播的四类谣言检测特征, 并使用J48算法来构建谣言检测模型, 以下相关工作则基于文献[3]对谣言检测特征作了扩展, 并探索选用了多种机器学习算法; 文献[4]提取了基于内容和网络的特征, 结合推特上面的特定模因训练贝叶斯分类器自动检测谣言; 文献[5]提出了基于客户端和基于位置的两类新特征, 使用支持向量机(Support Vector Machine, SVM)在新浪微博平台上自动检测谣言; 文献[6]将微博所附的多媒体资源和微博发文时间差作为特征来检测事件谣言, 并基于微博配图来源的文字描述和微博文本之间的相似性来判断图文不匹配类型的谣言; 文献[7]提出时序、结构、语言三类特征, 指出谣言信息和正常信息的微博数目-时间图波动和传播网络图之间的差异, 并以此作为谣言检测特征, 在SVM、决策树、随机森林三种算法上做了对比实验, 最终选择了随机森林; 文献[8]从群众响应的角度来挖掘特征, 抽取了转发和评论中的文本特征, 据此使用分层聚类算法来发现样本中更多的谣言; 文献[9]指出谣言事件的演变过程早期会出现关于事件的询问信息, 提出了通过检测事件询问信息来检测谣言的思路, 使用文本特征作为聚类算法的特征, 结合正则表达式和聚类算法来判断未知信息的可靠度; 文献[10]发现了谣言和非谣言数据的谣言检测特征在时间序列上存在可区分的差异, 建立了一种动态时序结构用以描述对时间敏感的谣言检测特征在时间序列上的变化, 将其作为特征, 并使用决策树、随机森林、SVM作为基础算法来做对比实验; 文献[11]则从用户行为的角度出发提出了新的基于用户行为的谣言检测特征, 并对逻辑斯谛回归、SVM、朴素贝叶斯、决策树、K近邻五种算法做了对比实验; 文献[12]提出一种基于随机游走图内核和常规的径向基内核的混合SVM检测算法, 使用随机游走图内核算法度量两棵传播树的相似度, 而在常规径向基内核算法中则提出8个新的谣言检测特征; 文献[13]在时序上以事件为最小粒度检测谣言, 提出16个新特征, 同时, 由于动态生成实验数据和动态地给特征赋值, 因此支持实时检测; 文献[14]集成了基于内容、传播、信息源的三种模型, 实现了一种实时谣言检测系统; 文献[1]提出了一种基于权威媒体的数据标注方法以及3个新的谣言检测特征, 并使用5种主流机器学习算法做了对比实验。
基于机器学习的自动谣言检测方法具有自动检测谣言的优点, 同时也存在一些问题:1) 已标注谣言数据难于获取。该方法需要在模型训练阶段提供谣言数据和非谣言数据, 而能够满足谣言检测需要的谣言数据的获取比较困难。常用的方式包括:爬取已标注数据和手工标注数据。以新浪微博不实信息举报中心为例, 其提供完成判定的谣言微博数为31 850条, 但其中存在大量重复举报, 并且被举报内容中绝大多数鲜少引起关注, 其转发数和评论数偏低(以评论数大于100来筛选, 只得到了1/9的微博), 显然只选择该中心为谣言数据获取来源不能满足谣言检测的需要。为模型训练需要, 研究人员还需要手工标注大量数据, 需要耗费巨大的时间和人力资源;此外, 模型一经训练完成就不再更改, 只能对符合训练数据特征的数据进行谣言检测, 如果要求对于训练数据特征不一致的新样本进行检测, 只有重新获取或标注符合新样本特征的训练数据, 这无疑使模型丧失了灵活性。2) 这种谣言检测方法对用于检测的谣言数据具有达到一定传播程度的要求。首先, 基于机器学习的自动检测方法属于一种回顾性检测(Retrospective Investigation), 要使这类方法输出一定准确率的检测结果, 必须提供足够多的训练数据, 因此需要收集足够多的谣言数据, 而谣言数据量大意味着存在大量关于谣言的转发和评论, 间接要求该谣言必须经过一定程度的扩散; 其次, 这类模型使用的部分特征, 比如微博评论数、转发数、用户粉丝数等的取值已经对应了谣言的一定传播阶段, 例如形成不久的谣言的各类特征取值接近为0, 随着在传播周期上时间的推移, 相应数值会不断增大, 即要使模型能够以要求的准确率检测谣言, 需要谣言和非谣言数据的以上特征取值呈现出足够区分的差异, 这意味着谣言已经得到一定程度的扩散。使用满足上述条件的数据和特征训练的模型固然可以自动检测已广泛散布开来的谣言, 但在检测处在生命周期初期的谣言时准确率不高, 具有冷启动现象, 表现为对谣言检测的滞后性, 因此难以有效应用在实际的谣言检测情景中。
1.3 本文工作综合人工谣言检测方法的信息覆盖率低、检测周期长和自动谣言检测方法的难于获取已标注数据,以及对训练数据规模和传播程度的要求的缺陷, 可以归结出现有谣言检测工作的两大问题:1) 数据难以获取, 主要表现为训练模型的数据标注问题和待检测数据的获取问题; 2) 谣言检测滞后, 人工检测受限于人力资源限制, 自动检测受限于所基于的机器学习方法本身对数据和特征的要求, 对传播初期的谣言的检测存在冷启动的现象, 二者都无法以可接受的准确率检测处在传播周期初期的谣言。
针对如上问题, 本文专注于提高模型对属于谣言检测聚焦范围的信息获取的覆盖率和及时性, 以及缩短谣言检测周期以使模型具有检测初始传播谣言的能力, 提出基于突发话题检测和专家发现的人工谣言检测方法。
2 问题定义为了应对现有人工检测和基于机器学习的自动检测的上述问题, 本文综合考虑人工谣言检测和基于机器学习的自动谣言检测各自的优势和局限, 以及谣言检测工作的重点, 将谣言检测工作分为两部分:感知和检测, 即待检测谣言的感知和待检测谣言的检测。在感知部分需要解决的问题有:1) 确定待检测信息的主要对象; 2) 提高模型对待检测信息的感知能力, 包括覆盖率和效率。在检测部分需要解决:1) 缩短谣言检测周期; 2) 提高对处在谣言检测周期初期的谣言的检测能力。
在感知部分, 首先, 不是所有的微博都需要用来作谣言甄别[5], 比如, 用户之间的日常聊天和小规模传播的社会新闻类虚假信息的辟谣价值就不高, 前者无关社会生活, 后者得不到大规模传播, 最终都不会带来大规模损失。其次, 谣言的传播与话题的扩散联系紧密, 在社交网络中, 谣言的兴起、传播和消亡和以谣言为内容的话题的生命周期是一致的, 谣言在微博平台上短时间内的兴起表现为相应突发话题的产生, 而对于没有形成话题的不实信息, 虽然也符合谣言的定义, 但由于信息内容没有引起广泛的关注而转发数和评论数都较低, 所能造成的不利影响微乎其微, 不在谣言检测工作重点范围内。基于以上考虑, 本文将谣言检测的对象定位为话题。为提高话题检测的覆盖率, 选择粉丝数多和影响力大的社会新闻领域代表用户作为检测话题的原始信息来源, 同时作为用户层面的筛选, 过滤对谣言检测不是特别重要的微博信息, 降低了模型需要的数据量, 进而间接提高了模型的效率。为提高模型对待检测信息的感知效率, 以话题的突发特性作为特征, 检测微博平台上短时间内的突发话题, 使模型具有了对突发谣言, 即刚刚开始传播的谣言的感知能力, 使得及时检测谣言成为可能, 同时作为话题层面的数据筛选, 进一步降低数据量, 提高模型效率。相关文献[15]指出可以使用物理动力学模型对话题的发展过程建模, 利用动力学物理量, 如加速度和动量等, 描述话题的演变趋势和热门程度, 进而可以通过对相关物理量的观测来发现突发话题。文献[16]将动量模型对突发话题的检测思想运用在新浪微博上, 在微博平台上定义了话题的相关动量模型的物理量。本文基于文献[16]的工作, 使用工具pull-word抽取微博中的词语作为话题识别特征, 建立基于动量模型的突发话题检测模型, 主要包括突发特征检测和突发特征聚合。
在检测部分, 由于不需要人工资源做待检测信息感知, 并且感知部分已从用户和话题两个层面降低了模型的数据处理量, 整个模型需要的人工资源量相对于传统人工检测方法大为减少, 这使应用人工方式检测谣言成为可能。此外, 相对于自动检测, 基于领域专家的人工检测对用于检测的谣言数据没有数量和提取特征的要求, 对新产生的谣言可以达到较高的检测准确率, 因此本文采用人工检测方法来作谣言检测。为应对传统谣言检测方法中因人力资源不足而带来的检测周期长的问题, 提出主动利用群众智慧的策略, 挖掘和度量待检测信息和微博用户的领域相关性, 把待检测谣言推送给领域最相关的微博用户(即领域专家)作信息真实性的甄别。相关文献[17]选择所有微博用户作为候选专家池, 为谣言检测提供了充足的专家资源的同时, 存在以下两个问题:1) 所有微博用户量巨大, 难于获取; 2) 由于基数太大, 所有微博用户中能作为谣言检测人工资源的专家比例低, 专家发现工作量大。本文基于文献[17]提出适应于实际情景的建立候选专家池和度量话题和用户领域相关性的方法。
综上, 本文余下部分聚焦于识别处在传播扩散过程早期的待检测话题信息和发现与话题信息相关的人工专家。
3 系统模型图 1为本文提出的基于突发话题检测和领域专家发现的谣言检测模型的结构和处理流程。如图 1所示, 整个模型由基于动量模型的突发话题检测模型和基于用户个人信息的领域专家发现模型两个子块构成。处理流程如下:1) 确定待检测微博的监控点用户和用于构建候选专家池的微博各领域专家; 2) 爬虫获取监控点用户在实验所涉及的所有时间窗口内的微博集合, 对其分词、去停用词, 再结合实验用微博数据的全集, 得到每个时间窗口内每个话题特征的质量、加速度、动量值, 据此提取每个时间窗口内的突发特征集合; 3) 通过特征聚合得到每个时间窗口内的突发话题集合, 输出至领域专家发现模型; 4) 流程进入领域专家发现模型, 基于实验开始时构建的候选专家池, 为每个时间窗口内的突发话题集合发现用于识别突发话题真实性的领域相关专家, 至此模型流程结束。
话题的发展过程和物理学中物体的静止、开始运动、运动加快、运动变缓、回归静止的过程的相似性, 使得使用动力学模型发现突发特征成为可能。在动力学模型中, 动量反映了物体的运动方向和能量, 加速度反映了物体位置的二阶变化率;对于话题特征而言, 动量反映了特征的变化趋势和能量大小, 加速度反映了特征的突发程度。在时间序列上, 特征的动量和加速度不断变化, 通过设置加速度和动量的阈值, 可以筛选得到指定时间点上的突发特征。
突发特征检测的第一步工作是特征选择, 文献[16]检测微博文本中的有意义串作为特征, 指出由于粒度更大, 有意义串相比词语更能够反映话题信息。本文通过对分词工具pull-word的调研, 发现其能够以较高的出词概率输出较长的词, 比如对“人民公园”这段文本, 能够以0.95的概率输出“人民公园”, 而输出“人民”和“公园”的概率分别仅为0.86和0.78, 这说明该工具优先输出较长的词, 并且具有识别较长词语的能力, 因此基于其提供在线接口的优点和发现新词的能力, 本文利用该工具对新浪微博进行分词、去停用词之后, 选取高于一定出词概率阈值的词语作为话题特征。
对话题特征的加速度和动量的计算需要选取合适的时间刻度, 定义同时满足物理学要求和符合实际应用情景的物理学属性。基于对话题演化过程以及动量模型的理解, 结合新浪微博所能提供的数据, 选取一个时间窗口作为动量模型中的一个时刻, 并如下定义了特征的质量和位置这两个基本属性:
定义1 质量属性需要满足较长时间内不变, 以及能够代表特征在语料集中的重要程度, 话题特征的质量可经式(1) 计算得到:
${m_i} = t{f_i} \times id{f_i}$ | (1) |
其中:tfi表示在大规模语料集中特征i的词频;idfi表示特征i在该语料集中的逆向文件频率。逆向文件频率的计算公式如下:
$id{f_i} = {\rm{lb}}\frac{{\left| D \right|}}{{\left| {{D_w}} \right|}}$ | (2) |
其中:
定义2 位置属性要求能够反映特征在当前时间窗口内的热门程度。逐渐变得热门的特征必然频繁出现, 包含该特征的微博数也迅速上升, 为了避免极少部分用户恶意重复发文的干扰, 也应考虑发文中包含该特征的用户数, 特征i在t时刻的位置的计算公式如下:
${x_{(t,i)}} = \alpha \times t{f_{(t,i)}} + \beta \times d{f_{(t,i)}} + \gamma \times a{f_{(t,i)}}$ | (3) |
其中:tf(t, i)表示时刻窗口t内词i的频率;df(t, i)表示时间窗口t内包含词i的文档频率;af(t, i)代表时间窗口t内的发表微博内容包含特征i的微博用户比例;α、β和γ为权重系数, α+β+γ=1。这样计算出的特征的位置属性, 能够反映特征i在时刻t的热度。
基于以上特征质量和特征位置的定义, 可以计算出特征i在特定时刻t的加速度a(t, i)和动量p(t, i):
${a_{(t,i)}} = \frac{{{v_{(t,i)}} - {v_{(t - \Delta t,i)}}}}{{\Delta t}}$ | (4) |
${p_{(t,i)}} = {m_i} \times {v_{(t,i)}}$ | (5) |
速度v(t, i)计算公式为:
${v_{(t,i)}} = \frac{{{x_{(t,i)}} - {x_{(t - \Delta t,i)}}}}{{\Delta t}}$ | (6) |
其中Δt表示趋于零的时间变化量。
3.1.2 突发特征聚合在3.1.1节工作的基础上, 得到时间窗口T内的突发特征集合, 由于词语的多义性和表达的局限性, 无法直接用来表示一个话题, 考虑多个词语的组合可以相互补充含义和消除单个词语出现的歧义, 比如“塑料”和“紫菜”单独出现含义比较局限, 但把二者结合在一起看, 就可以代表“紫菜是用塑料做的”这一谣言。本文将突发特征聚合起来共同表征一个话题。能够表征一个话题的突发特征必然频繁出现在同一观察窗口中, 基于突发话题特征的这一特性, 采用特征之间的互信息[16]来描述两个特征属于同一个话题的可能性, 互信息值越高, 两个特征相关度越高, 属于同一个话题的可能性越大。互信息的计算如下:
$MI(i,j) = {\rm{lb}}\frac{{P(i,j)}}{{P(i)P(j)}}$ | (7) |
其中:P(i)代表特征i在当前时间窗口微博中出现的概率;P(i, j)代表特征i和j共同出现在同一时间窗口内的概率。
为了聚合出能代表话题的特征集合, 采用如上定义的互信息作为两个特征之间的距离, 使用自下而上的层级聚类算法[17]聚合相关度高的特征成为话题。
综上, 突发话题检测算法描述如下。
算法1 基于动量模型的突发话题检测算法。
输入 实验微博集合D, 实验数据覆盖的时间窗口数Nt, 时间窗口大小Tw, 加速度阈值Ta, 动量阈值Tp。
输出 Htl突发话题集合。
begin
for T ← 1 to Tw do
words=WP(Dt) /*WP为分词函数, Dt为时刻t之前发布的微博*/
for i 0 to Nw and count←0do /*Nw为words长度*/
if words[i] in Fl then /*Fl为特征列表*/
continue
else
count ← count+1
Fl[count] ←words[i]
end if
end for
for i ←0 to Nf and j←0 do /*Nf为Fl长度*/
for t←0 to Tw do
compute a(t, i), p(t, i)
if a(t, i)←Ta and p(t, i)←Tp then
Hfl[j]←Nf[i] /*Hfl[]为话题列表*/
j ← j+1
break
end if
end for
htl ← Hc(Hfl) /*Hc()为分层聚类算法函数*/
return htl
end
算法1开始时, 对每个时间窗口内的样本数据分词、去重, 提取得到当前时间窗口内的话题特征集合。为当前时间窗口内的每一个话题特征计算加速度值、动量值, 并分别与设置的加速度阈值和动量阈值相比较, 提取加速度和动量同时高于阈值的话题特征作为突发话题特征, 最后对突发话题特征集合使用层级聚类算法聚合得到话题集合, 算法最终为每个时间窗口输出一个突发话题集合。
3.2 基于微博用户个人信息的领域专家发现通过对微博平台的调研, 发现微博提供了验证用户的影响力榜, 涵盖的用户满足权威性的认定, 因此本文将榜单内用户作为候选专家, 方便数据获取。
基于用户个人信息的领域专家发现模型基于如下假设:话题信息和用户个人信息都能在一定程度上反映出所属领域。本文将突发话题检测模型输出的聚合后的话题特征集合看作一个话题信息, 将微博平台提供的昵称、所在地、简介、工作信息、用户标签等诸多内容作为用户个人信息。对于指定话题信息的领域专家发现的思路就是:在候选专家中选择个人信息与话题信息相关度最高的用户作为相关领域专家。至此, 对于指定话题的专家发现问题转化为:根据用户个人信息与话题特征的相关性对用户的排序问题, 本文采用话题特征在用户个人信息中的查找命中率fr(i, a)作为度量指标对用户排序, 选取fr(i, a)大于阈值的用户集合, 作为针对话题i的人工检测专家, 定义如下:
$f{r_{(i,a)}} = {N_{(i,a)}}/{N_i}$ | (8) |
其中:N(i, a)代表在用户a个人信息中包含话题i特征的个数; Ni代表话题i的特征个数。
综上, 领域专家发现算法描述如下。
算法2 基于微博用户个人信息的领域专家发现。
输入 突发话题集合Htl, 微博专家信息集合E, 相关性阈值Tfr。
输出 为每个突发话题找到的专家集合eli。
begin
E ← Wp(E)
for i ← 0 to Nt do /*Nt表示Htl长度* /
for j ← 0 to Ne and m ← 0 do /* Ne表示E长度*/
compute fr(i, a)
if fr(i, a)←Tfr then
eli[m]← fr(i, a)
m←m+1
end if
end for
end for
end
算法2为每个突发话题集合中的突发话题和微博专家信息池中的专家信息计算查找命中率, 并用预先设置的阈值筛选, 算法2最终为每一个突发话题输出一组领域相关的人工谣言检测专家。
4 实验和结果分析 4.1 数据获取和处理本文实验数据包括三部分:1) 用于检测时间窗口内突发话题的微博文本; 2) 用于验证突发话题检测结果的话题验证集; 3) 用于建立候选专家池的微博用户信息。
微博日活跃用户数量庞大, 对每日产生的全部微博进行检测不切实际, 因此需要对微博数据进行采样。谣言中占比最大的是能引起广泛关注的社会新闻类型, 也是谣言检测工作聚焦的重点, 本文从微博中采样社会新闻类型的微博作为突发话题的源数据。工具“艾薇盒子”提供了国内传媒类微博账号的榜单, 编写网络爬虫获取榜单内账号ID作为监控点, 经人工验证处理之后共计得到55个监控点用户, 编写微博爬虫获取监控点每天的微博, 建立突发话题检测数据集。另外, 微博发现频道提供了24 h内的话题集合, 在每个时间窗口内爬取这些话题, 作为话题验证集。
为满足谣言检测需要, 候选专家必须具有一定的权威性和活跃度, 微博“发现”频道提供了验证用户的影响力排行榜单, 作为基于权威性和活跃度对微博用户的一次筛选, 本文选择该榜单内用户作为候选专家, 编写爬虫爬取用户“基本信息”“工作信息”“教育信息”“标签信息”等个人信息, 经筛选处理后, 共得到492位专家。
4.2 评价指标本文使用F1-measure度量突发话题检测和专家发现的准确度, 除此之外计算了突发话题检测时间Tb, 以描述模型检测突发话题的周期, 计算公式为:
${F_1} = \frac{{2TP}}{{2TP + FP + FN}}$ | (9) |
${T_b} = {t_e} - {t_f}$ | (10) |
其中:TP表示将正类检测为正类数; FN表示将正类检测为负类数; FP表示将负类检测为正类数; TN表示将负类检测为负类数; te表示首次检测到话题的时刻; tf表示第一条属于该话题的微博发布的时刻, 时间单位为一个时间窗口。
4.3 实验步骤 4.3.1 突发话题检测从所采集的微博数据发现样本集平均每2 h产生一个话题, 因此本文设置时间窗口为2 h, 作为突发话题检测的最小时间粒度。使用工具pull-word对获取到的每个时间窗口内的微博分词、去停用词, 保留出词概率大于阈值的词语作为特征, 其中以步长0.1, 范围0~1.0尝试选择分词阈值Tw, 使得到的保留词语数量尽可能多、字串重复率尽可能低、词语长度尽可能长, 以利于突发话题检测, 对共10个Tw的取值依次尝试, 依据保留词语的以上三个属性, 最终选择Tw=0.9。
对分词结果以自建停用词表去停用词, 所得词语作为特征, 在对9天时间内共8 766条微博的处理之后得到了39 929个待检测突发话题特征。为每个特征在每个时间窗口下计算加速度和动量值, 筛选加速度和动量大于阈值的特征。其中参数α、β和γ按步长0.1, 范围0~1.0尝试取值, 约束条件为γ=1-α-β。以10%为步长, 分别确定加速度和动量的比例阈值Ta、Tp。将突发特征集合按互信息层次聚类之后得到话题集合, 再与话题验证集比较, 得到模型突发话题检测的F1和话题检测周期Tb。
调参思路:选择最优的α、β、γ、Ta和Tp阈值组合以使突发话题检测F1值最大, 检测周期Tb最短。图 2给出其中的12组参数组合取值作为示例, 其中:每组参数取值都能得到一组F1、Tb取值, 选取使F1-Tb最大的一组参数为最优参数。
根据上述思路, 训练得到突发话题检测模型参数为:α=0.4, β=0.3, γ=0.3, Ta=0.9, Tp=0.9, 在测试集上测试模型评价指标, 得到F1为89.46%, 话题的最早检测时长为10个时间窗口, 说明突发话题检测模型能够以较高的F1在话题生命周期的初期检测到突发话题。
4.3.2 专家发现对候选专家池中的用户个人信息分词去停用词, 然后计算话题特征在用户个人信息中的查找命中率fr(i, a), 按其大小对候选专家排序, 取大于比例阈值Tfr的专家集合作为该话题的人工谣言检测专家, 根据对话题数据专家发现的人工标注结果, 以步长0.1, 范围0.1~1.0来选取使专家发现模型F1最高的Tfr。
图 3为阈值Tfr的调参示意, 在F1-Tfr曲线中选择最大值点对应的Tfr作为专家发现模型的查找命中率阈值。从图 3可看出, 取阈值Tfr=0.7时, 得到最大F1值为85.61%。
在Tfr参数确定完毕, 模型训练完成后, 使用测试集验证领域专家发现模型的专家发现能力。在测试集上模型表现出84.28%的F1值, 说明模型具备良好的领域专家发现能力。
本文提出的谣言检测模型结合了机器学习方法和人工检测方法, 模型自动化部分最终的输出是关于每一个检测到的突发话题的人工谣言检测专家集合, 而系列相关文献方法的输出是关于微博文本或者话题的可靠度或者信息类别(是否属于谣言), 因此无法直接使用本文方法和相关文献方法作对比实验。由于本文方法对于特定话题的检测准确率直接来自于人工专家的识别, 因此使用人工标注代替实际应用中算法对领域专家的自动选择, 将人工标注结果作为本文谣言检测准确率的结果与文献[5]做对比实验, 采用十折交叉验证, 得到图 4结果。此外, 对比实验还比较了本文方法和“@微博辟谣”以及“微博不实信息举报中心”的最早检测时间。对本文方法取4.3.1中的结果作为最早检测时间, 对“@微博辟谣”和“微博不实信息举报中心”则采用随机抽取100条已判定谣言信息的最早判定时间。对比实验显示, 本文方法最早检测检测到谣言用时为20 h, “微博不实信息举报中心”为38 h, “微博辟谣”为53 h。
由于谣言检测阶段由人工专家负责, 所以本文方法检测准确率远远高于基于机器学习的谣言检测方法, 图 4实验结果反映了这一点, 其中最小差值为13%。谣言检测时间对比实验反映出本文方法谣言检测用时低于其他两个人工检测方法, 这反映了本文利用突发话题检测来捕捉待检测谣言的思想的有效性。
本文提出结合基于动量模型的突发话题检测和基于领域相似性的领域专家发现来解决现有谣言检测工作存在问题的方法。与传统的单纯人工检测和现有的基于机器学习的自动检测方法相比, 本文提出的谣言检测方法具有如下优点:1) 由于突发话题检测模型只需要获取指定监控点用户的时序微博且所需时间窗口数较少, 同时专家发现模型中需要的领域专家信息属于静态数据, 只需要定期爬取更新, 因此不存在数据采集困难的问题; 2) 由于对于谣言的辨识是通过领域专家人工识别, 不受自动谣言检测中选取的谣言检测特征的影响, 因而谣言检测准确率高; 3) 由于能够检测突发话题, 并为之发现领域内专家, 因此相对于单纯人工方法, 扩展了谣言感知范围和人力资源, 使得该方法具有更高的谣言检测效率和更大的谣言检测覆盖范围; 4) 以较小的时间窗口来捕获微博信息, 可以检测处在生命周期早期的谣言, 解决了谣言检测工作的及时性问题, 能够有效应用于实际的谣言检测任务。同时, 本文也存在不足之处, 比如爬虫速率过快会被封禁的问题, 有待进一步改进。
[1] | LIANG G, YANG J, XU C. Automatic rumors identification on Sina Weibo[C]//Proceedings of the 2016 12th International Conference on Natural Computation, Fuzzy Systems and Knowledge Discovery. Piscataway, NJ: IEEE, 2016: 1523-1531. |
[2] | 樊博. 2016微博用户发展报告[EB/OL]. [2017-04-28]. http://data.weibo.com/report/reportDetail?id=346. (FAN B. 2016 microblog user development report[EB/OL]. [2017-04-28]. http://data.weibo.com/report/reportDetail?id=346.) |
[3] | CASTILLO C, MENDOZA M, POBLETE B. Information credibility on twitter[C]//Proceedings of the 20th International Conference on World Wide Web. New York: ACM, 2011: 675-684. |
[4] | QAZVINIAN V, ROSENGREN E, RADEV D R, et al. Rumor has it: identifying misinformation in microblogs[C]//EMNLP 2011: Proceedings of the 2011 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA, USA: Association for Computational Linguistics, 2011: 1589-1599. |
[5] | YANG F, LIU Y, YU X, et al. Automatic detection of rumor on Sina Weibo[C]//Proceedings of the 2012 ACM SIGKDD Workshop on Mining Data Semantics. New York: ACM, 2012: 13. |
[6] | SUN S, LIU H, HE J, et al. Detecting event rumors on sina weibo automatically[C]//APWeb 2013: Proceedings of the 15th Asia-Pacific Web Conference on Web Technologies and Applications. Berlin: Springer, 2013: 120-131. |
[7] | KWON S, CHA M, JUNG K, et al. Prominent features of rumor propagation in online social media[C]//Proceedings of the 2013 IEEE 13th International Conference on Data Mining. Piscataway, NJ: IEEE, 2013: 1103-1108. |
[8] | CAI G, WU H, LV R. Rumors detection in Chinese via crowd responses[C]//Proceedings of the 2014 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining. Piscataway, NJ: IEEE, 2014: 912-917. |
[9] | ZHAO Z, RESNICK P, MEI Q. Enquiring minds: early detection of rumors in social media from enquiry posts[C]//Proceedings of the 24th International Conference on World Wide Web. New York: ACM, 2015: 1395-1405. |
[10] | MA J, GAO W, WEI Z, et al. Detect rumors using time series of social context information on microblogging websites[C]//Proceedings of the 24th ACM International on Conference on Information and Knowledge Management. New York: ACM, 2015: 1751-1754. |
[11] | LIANG G, HE W, XU C, et al. Rumor identification in microblogging systems based on users' behavior[J]. IEEE Transactions on Computational Social Systems, 2015, 2(3): 99-108. DOI:10.1109/TCSS.2016.2517458 |
[12] | WU K, YANG S, ZHU K Q. False rumors detection on sina weibo by propagation structures[C]//Proceedings of the 2015 IEEE 31st International Conference on Data Engineering. Piscataway, NJ: IEEE, 2015: 651-662. |
[13] | LIU X, NOURBAKHSH A, LI Q, et al. Real-time rumor debunking on twitter[C]//Proceedings of the 24th ACM International on Conference on Information and Knowledge Management. New York: ACM, 2015: 1867-1870. |
[14] | ZHOU X, CAO J, JIN Z, et al. Real-time news certification system on Sina Weibo[C]//Proceedings of the 24th International Conference on World Wide Web. New York: ACM, 2015: 983-988. |
[15] | HE D, PARKER D S. Topic dynamics: an alternative model of bursts in streams of topics[C]//Proceedings of the 16th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2010: 443-452. |
[16] | 贺敏, 杜攀, 张瑾, 等. 基于动量模型的微博突发话题检测方法[J]. 计算机研究与发展, 2015, 52(5): 1022-1028. (HE M, DU P, ZHANG J, et al. Microblog bursty topic detection method based on momentum model[J]. Journal of Computer Research and Development, 2015, 52(5): 1022-1028. DOI:10.7544/issn1000-1239.2015.20131549) |
[17] | LIANG C, LIU Z, SUN M. Expert finding for microblog misinformation identification[EB/OL]. [2017-01-10]. http://www.personal.psu.edu/cul226/files/coling2012_expert.pdf. |
[18] | MAIMON O, ROKACH L. Data Mining and Knowledge Discovery Handbook[M]. Berlin: Springer, 2005: 321-352. |