随着科技的发展,网络已逐渐深人人们的生活中,人们已不再局限于仅用传统的电话和邮件保持联系•即时通信(instantmessage,简称IM)是基于互联网网络通信协议产生的点对点或者点对面的通讯服务,可以提供即时文件、文字、图像、语音、视频等多种格式的数据,方便人们进行沟通,如基于Web的Facebook、Twitter,以及基于客户端的QQ、Skype等.据CNNIC(中国互联网络信息中心)统计数据,截止2015年6月,我国网民中即时通信用户的规模达到6.06亿,较去年底增长了1850万人,占网民总体的90.8%,其中手机即时通信用户5.40亿,较去年底增长了3256万人,占手机网民的91%[1]•与此同时,犯罪分子也可利用即时通信进行信息窃取、经济诈骗、色情服务、毒品交易等犯罪活动.
针对即时通信取证,现有的研究主要集中于即时通信数据的获取和恢复[2〜4],但这样不能满足要求,还需从大量的即时通信数据中找到与案件相关的有效数据.而聊天记录是最重要的即时通信数据,它不仅可以作为侦查破案的直接线索,而且可以作为证据在诉讼中起到认定罪犯的作用,对其取证分析技术主要有关键字搜索、人工查阅等方法.人们在使用即时通信进行社交活动时产生大量的数据,当案件中涉及到即时通信时,往往需要对众多的电脑和手机终端进行调查取证,获取的即时聊天记录动辄上万份.由于即时通信在人们生活中扮演极其重要的作用,其聊天记录中包含各种数据,如网络交友聊天、工作办公交流、活动组织协商等数据,取证人员要对这些繁杂的数据逐一分析是低效而乏味的.因此,司法取证人员要在有限时间内从海量数据中找出与案件相关的可疑数据,需要一种快速有效的方法.
而近年来,由于犯罪分子反取证意识不断提高,在使用即时通信进行犯罪活动时往往采用“暗语”或者“行话”来阻碍司法部门的调查取证,如毒品交易中:出肉”、“嘎嘎”等指冰毒,“溜冰”指吸食冰毒,“四号”代表海洛因;虚拟财产盗窃中:信封、信”指银行卡账号密码,“洗信人”指购买信封的人等等,而这些“暗语”、“行话”往往在不同时期爆发式地出现和改变.因而,如若司法部门仅利用关键字搜索、人工分析等传统取证分析方法,要在有效的时间内从所获取大量数据中辨析出关键证据变得异常困难.
因此,取证分析人员面对日益增长的待分析数据,急需一种自动分析方法来帮助司法部门自动挖掘出与案件相关的数据以做进一步分析,从而使得司法部门在有效时间内获取与案件相关的数据.主题挖掘技术可根据文本内容获取其文本所表达的主题,同样对于即时通信聊天内容,其会话内容往往是围绕一个主题进行的,如教育学习、体育赛事、房产物业等等,尤其通过即时通信建立的兴趣群组或讨论组,其会话内容往往是围绕某一主题.因此,通过主题挖掘技术获取即时通信聊天会话的主题,从而让司法部门高效地分析与案件相关的数据.
主题挖掘常用的算法有K-meanS、LSA、PLSA等等.K-means算法是一种典型的聚类挖掘算法,但是其在高维的稀疏文本空间上不能有效计算其文本之间的主题距离,所以其在文本主题挖掘上并不实用[7];LSA(latentsemanticanalysis)算法用潜在的语义类别来平滑词汇的分布,大大降低了“词袋”模型的维度,但不能解决一词多义的问题[8];PLSA(probabilitylatentsemanticanalysis)算法[9]是Hofmann于1999年提出的,它通过计算文档中共现词的分布来分析文档语义,能在向量空间模型中处理一词多义和一义多词的问题,因此PLSA被广泛应用于自然语言处理、文本的机器学习等领域.利用PLSA算法分析微博的词项及其词项关系矩阵,并对所挖掘的热点主题进行排序,实验结果表明PLSA算法可有效挖掘微博的主题[1°];通过利用PLSA算法分析文档之间强相关的部分可以对文本进行聚类,并利用EM(expectationmaximization)算法计算聚类结果[11];文献[2]采用一种改进的PLSA算法,即利用SDD(semanti。dependencydistance)算法和PLSA算法分两个阶段对文本进行主题挖掘,有效解决了PLSA算法在识别语句和语法的缺陷.由此可见,PLSA算法在主题挖掘中具有重要的作用.
即时通信作为人们社交通信的主要手段之一,拥有巨大的用户量.本文提出了一种基于PLSA主题挖掘算法的即时通信取证方法,利用主题挖掘算法对即时通信的聊天记录进行主题挖掘,并计算聊天会话主题的矢量值,从大量的聊天记录中自动挖掘出会话主题;通过建立自定义词库并动态调整自定义词库中词项的矢量权重,提高会话主题挖掘的准确率,为取证人员提供一种有效的即时通信取证方法.
词是语言中最小的能够独立活动的有意义的语言成分,是信息处理的基本单位,即逻辑语言中的特征项.例如与某人的会话表示为C:(1,2,…,Q),其中Q代表会话C中第i个特征项,特征项的权重代表该特征项在会话C中语义能力的大小.然而一个词往往可以作为不同主题的特征项,其在不同主题会话中的权重也各不相同,为了使特征项的权重能恰当的表示其在不同主题中能力的大小,因此采用矢量权重来表示特征项在会话中的能力,即狑=(工1,X2,…X犼,…Xn),其中狑i指会话中第i个特征项的权重,;指特征项在第犼个主题上的权重分量.一般通过布尔权重的方法来计算权重分量,即该词项出现在第犼个主题会话中,则该权重分量为1,否则为0.但布尔权重的计算方式无法表达特征词项在不同主题中的语义倾斜度,所以本文采用项频率逆由于网络犯罪常常使用一些“行话”来阻碍司法部门的调查取证,因此在不同时期的“行话”和“网络术语”也在发生潜在的变化.因此自定义词库也应该是随着对“网络术语”和案件所涉及新词的掌握情况不断补充词库,以及特征项在语义上的倾斜,运用公式(6)动态调整特征项在不同主题方向上的权重分量.
1)预处理:预处理的任务是去掉会话中与主题挖掘无关的部分,如停用词、无意义的符号等.对于会话中的中文文本,不像英文中单词之间有明显的分割标志,所以需对中文文本进行分词处理.目前的分词方法主要分为基于理解的方法、基于字符串匹配的方法及基于统计的方法.本文采用基于字符串匹配和基于统计相结合的方法对会话进行切词,并针对在切词过程中一些语句存在多种切法,应根据自定义词库中词项的权重,优先切取出权值较大的词项.
2)建立自定义词库:根据已知主题的会话语料,进行PLSA主题挖掘,将所获得的特征词进行词频分析,并根据不同时期“网络术语”和“行话”的爆发以及特征项的语义倾斜,运用公式(6)对自定义词库中词项的权重进行动态调整.
3)使用PLSA算法对测试会话集进行主题挖掘,获取具有代表性的特征项,并及时将所挖掘出的特征项补充到自定义词库和动态调整词库中词项的矢量权重.
4)计算所挖掘主题的矢量值,将所挖掘的主题结果进行可视化显示.
采用PLSA算法+自定义词库比仅仅采用PLSA算法在准确率、召回率、F1值各方面都有明显提高.因为通过建立自定义词库,不仅在对文本预处理时可较好的切分出时下流行的“网络术语”和“行话”,同时对所挖掘主题的特征词进行矢量计算,根据不同时期特征词的词义倾斜,动态调整特征项的矢量权重,从而提高PLSA算法对主题挖掘的准确率.
本文提出一种基于PLSA的即时通信取证方法,利用PLSA算法对即时通信聊天记录进行主题挖掘,并通过建立自定义词库和动态调整自定义词库中词项的矢量权重来提高基于PLSA的主题挖掘算法的准确性,并将结果图形化显示,能够快速有效地获取与案件相关的可疑数据,从而有效解决现有取证方法的不足.但由于聊天记录中往往混杂一些含有语义的图片和表情,而PLSA算法无法获取图片和表情所表达的语义内涵,因此下一步的研究工作主要是针对即时通信中含有语义交流图片内涵和表情的取证分析.