logo资料库

基于自然语言处理的垃圾信息过滤研究综述(word版).docx

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
摘 要
1 垃圾信息过滤概述
2 垃圾信息过滤技术
2.1 黑白名单过滤技术
2.2 基于规则的过滤技术
2.2.1 基于关键字匹配的过滤方法
2.2.2 基于数据挖掘的过滤方法
2.3 基于统计机器学习的过滤技术
2.3.1 朴素贝叶斯算法
2.3.2 K近邻算法
2.3.3 逻辑回归算法
2.2.4 支持向量机算法
3 总结
参考文献
基于自然语言处理的垃圾信息过滤研究综述 摘 要 随着互联网的迅猛发展,各种数据飞速增长的同时垃圾信息也不断出现,且 形式多种多样,垃圾信息严重影响用户的正常交流,消耗大量的网络资源,损害 用户利益,传统垃圾信息过滤方法应对时存在诸多不足,迫切需要一种技术来提 高垃圾信息过滤质量和过滤效率,营造健康良好的社交体系。因此,垃圾信息过 滤也一直是自然语言处理的重要研究方向。本文基于自然语言处理的角度,综述 了目前垃圾信息过滤研究的各种方法。 目前,垃圾信息过滤通常采用以下几种技术:黑白名单过滤技术、基于规则 的过滤技术和基于统计机器学习的过滤技术。其中,使用最多的是基于统计机器 学习的过滤技术,本文介绍了常用的过滤算法如:朴素贝叶斯算法、K 近邻算法 (KNN)、逻辑回归算法(LR)、支持向量机算法(SVM)。 关键词: 垃圾信息过滤;自然语言处理;朴素贝叶斯;KNN;LR;SVM;
目录 摘 要......................................................................................................... 1 1 垃圾信息过滤概述.................................................................................3 2 垃圾信息过滤技术.................................................................................3 2.1 黑白名单过滤技术........................................................................3 2.2 基于规则的过滤技术....................................................................4 2.2.1 基于关键字匹配的过滤方法.............................................. 4 2.2.2 基于数据挖掘的过滤方法.................................................. 4 2.3 基于统计机器学习的过滤技术................................................... 5 2.3.1 朴素贝叶斯算法...................................................................5 2.3.2 K 近邻算法.........................................................................6 2.3.3 逻辑回归算法.......................................................................7 2.2.4 支持向量机算法...................................................................8 3 总结......................................................................................................... 8 参考文献..................................................................................................... 9
1 垃圾信息过滤概述 随着网络与信息技术的快速发展,人们每天通过电脑、手机等各种通信工具 接收到许多各式各样的信息。信息爆炸在给人们工作和生活带来便捷的同时,也 带来了信息选择难度的问题,信息中包含的诸如各式广告、恶意链接、诈骗短信、 虚假消息等不良的垃圾信息也充斥其中,给人们的生活带来了诸多不便和困扰。 垃圾信息并未有统一的定义,本文中主要指具有盈利行为、恶意行为或虚假行为 的文本信息。 垃圾信息已经是当前互联网的一个顽疾,很多国家和地区己经为此立法。然 而,由于网络具有特殊性,如信息匿名发送、危害的认定困难等都给立法和执法 带来了很多不便。采用计算机技术解决垃圾信息的过滤是当前应对该问题的主要 办法。本文将基于自然语言处理的角度,综述目前垃圾信息过滤研究的各种方法。 2 垃圾信息过滤技术 1982 年,Denning[1]首次提出垃圾信息过滤的概念。垃圾信息过滤是指通过 一定技术手段识别出垃圾信息,并将其阻挡在外。到目前为止,垃圾信息过滤经 历了文本信息、图片信息、视频信息几个阶段。在技术上,通常采用以下几种方 法:黑白名单过滤技术、基于规则的过滤技术和基于统计机器学习的过滤技术。 2.1 黑白名单过滤技术 所谓黑白名单过滤技术,是指当信息发送到接收方时,接收方根据系统设定 的黑名单和白名单对信息进行“正常接收”或者“阻挡”,而黑白名单的建立可 预先 根据一定的信息地址建立,也可以随时更新名单。黑名单过滤技术是指通 过建立一个或多个知识库,这些知识库中保存着从大量垃圾信息中得到的发送者 的用户账号等信息。利用这个知识库匹配接收到的待过滤文本,若该文本包含知 识库中的对应字段,则认为是垃圾信息并将其过滤。该方法的优点是便于实施, 容易实现。缺点是只要存在于黑名单中,不论发送的是否是正常信息,都视为垃 圾信息。白名单过滤技术是相对于黑名单过滤技术而言的,通过建立白名单知识 库,对接收到的信息判断其发送者用户信息是否在白名单中,若在则认为是正常 信息直接发送,若不在则认为是垃圾信息过滤掉。白名单过滤技术过于限定发送
者,只要不在白名单中即视为垃圾信息,该方法缺点较多,例如随着用户的增长, 白名单会越来越庞大,占用大量存储空间,难以管理等。 黑白名单过滤技术在垃圾信息发送方 IP 地址固定时是有效的,但一般情况 下垃圾信息发送方都会通过不断改变自己的 IP 地址来绕过黑名单,这就使得传 统的黑白名单方式因地址过时而效率降低或出错。 2.2 基于规则的过滤技术 基于规则的方法通过训练得到显式规则。规则方法学习的过程实际上是归纳 总结的过程,通过分析一个个训练样本,归纳总结出其中规律性的东西来形成过 滤规则,通过查找信息是否匹配规则来判断其是否为垃圾信息。过滤规则是通过 人工或数据挖掘技术从大量的垃圾信息中得到的普遍存在的规律性的模式。一般 包括基于关键词匹配的过滤方法和基于数据挖掘的过滤方法。基于规则的方法主 要优点是可以生成人类容易理解的规则,比较容易推广。缺点是在规律性不明显 的应用领域效果较差。 2.2.1 基于关键字匹配的过滤方法 基于关键字匹配的过滤方法是指通过创建一些关键词列表,之后根据该列表 判断信息是否为垃圾信息,列表是从大量垃圾信息中归纳总结出的出现频率较高 的词语。如包含“促销”、“中奖”等词语的通常判定其为垃圾信息。若使用这 种方法则需要创建一个庞大的过滤关键词列表并不断更新它。关键词匹配过滤方 法的优点是规则容易理解和修改,易推广。缺点是简单的关键词匹配容易造成误 判。另外,该方法需要进行字符匹配,消耗的系统资源较多,手工设定过滤规则 不仅费时费力,垃圾信息发送者还可以通过拆词、转换词语形式等方式来绕过过 滤,准确率无法保证。该方法在规律性不明显的应用领域效果不显著。 2.2.2 基于数据挖掘的过滤方法 基于数据挖掘的过滤方法是指使用数据挖掘技术从深层次挖掘垃圾信息中 的普遍特征,分析其中的规则,然后利用这些规则去匹配新的信息,完成对垃圾 信息的过滤。采用该方法得出的规则通常是 if-then 的显式规则形式,通常用产 生式表示,如:if 文本包含 sales Then 该文本为垃圾信息。目前,该方法经常
使用的挖掘算法有 Boosting 算法、决策树、Ripper 算法等。该方法优点是规则 易理解,缺点是在规律性弱的应用领域效果较差。 2.3 基于统计机器学习的过滤技术 随着反垃圾信息的技术的不断提高,传统的过滤技术对垃圾信息的识别越来 越难,基于统计机器学习的过滤技术由于准确率较高、速度较快、人工成本低, 受到了越来越多的研究者的欢迎,具有广泛的应用前景。常用的过滤算法有朴素 贝叶斯、逻辑回归、K 近邻、逻辑回归、支持向量机等。 2.3.1 朴素贝叶斯算法 朴素贝叶斯分类算法是简单、易理解的一种分类算法,它的分类基础是贝叶 斯定理。具体使用在过滤垃圾信息中,是把已经获取到的信息首先划分成两类, 包括垃圾信息和正常信息,建立两种信息类型的贝叶斯概率模型,通过这个模型 再去判断要测试的信息是不是垃圾信息。Androutsopoulos[2]利用朴素贝叶斯来 判别垃圾邮件。他采用了公开语料 Ling-spam 进行实验。实验中考查了不同文本 预处理形式对过滤结果的影响,得出的结论如果对原始文本除去停用词和进行词 汇还原,能得出最佳的实验结果。Schneider[3]、潘文峰也利用朴素贝叶斯模型 来判别垃圾邮件,他们使用了两种不同的概率估计方法:贝努利分布模型和多项 式分布模型。比较发现,前者不仅计算上更简便,效果上也略优于后者。 该方法优点:一次性扫描训练样本后进行统计分析,存储空间占用较少,效 率较好,对小量数据很有效,可以处理多类,该算法得到广泛的应用。缺点:依 赖于数据的准备,处理中文信息的效果不明显[4]。 假设文本内容中包含的词汇为 Wi,垃圾信息 S,正常信息 H。 现有一个文本,内容包含的词汇为 Wi,判断该文本是否是垃圾信息,即计算 P (S|Wi)这个条件概率。根据贝叶斯定理得: (Pr WS | )  其中: Pr( Pr(  SW S  | ) )  Pr( Pr( ) HW S | )  Pr( H ) (3-1) ) Pr( SW | Pr(S|Wi):出现词汇 Wi 的文本是垃圾信息的条件概率(即后验概率); Pr(S):训练阶段文本数据集中是垃圾信息的概率,或实际调查的是垃圾信
息的概率(即先验概率); Pr(Wi|S):是垃圾信息中词汇 Wi 出现的概率; Pr(H):训练阶段文本数据集中正常信息的概率,或实际调查的正常信息的 概率; Pr(Wi|H):正常文本中词汇 Wi 出现的概率; 对于文本中出现的所有词汇,考虑每个词汇出现事件的独立性,计算 Pr(S|Wi)的联合概率 Pr(S|W),W={W1,W2,…Wn}:    p  pp 1 2  p N pp 1 2 1( p  1 p  N 1)(  p 2 ) 1(  p N ) (3-2) 其中: P 即 Pr(S|W),出现词汇 W={W1,W2……Wn}的文本是垃圾信息的条件概率; Pi 即 Pr(S|Wi),出现词汇 Wi 的文本是垃圾信息的条件概率; 2.3.2 K 近邻算法 K 近邻(k-Nearest Neighbor,KNN)是最常用的基于实例的方法。KNN 的原理 非常直观,它没有训练过程,分类时直接将待分类文本与训练集合中的每个文本 进行比较,然后根据最相似的 k 篇文本得到新文本的类别。一般利用欧氏距离、 余弦相似度或皮尔逊相关系数计算距离,根据 k 篇文本中有最多文本数的类别判 定其为新文本的类别。KNN 算法在应用时有三大要素:距离的度量、k 值的选取、 分类决策规则的决定。k 的选择会对结果产生较大的影响,如果 k 值较小,近似 误差小,估计误差大,模型整体变复杂,容易发生过拟合。k 值较大,近似误差 大,估计误差小,整体模型变简单。在文本分类中,KNN 常常能够取得较好的结 果。但是由于其分类速度的局限性,不太适用于对分类速度要求较高的垃圾信息 过滤场合。尽管如此,出于研究的目的,一些文献仍然将它应用于垃圾信息过滤 领域。Androutsopoulos[5]使用了一种类 KNN 方法,该方法使用七组最近的距离 而不是 k 个最近的样本来计算,如果多个样本同待过滤文本距离相差不大的话, 则这些样本都将用于确定最后的结果,此时,过滤中真正使用的样本数目大于 k。 如图 3-1,绿色圆要被决定赋予哪个类,是红色三角形还是蓝色正方形。如 果 K=3,由于红色三角形所占比例为 2/3,绿色圆将被赋予红色三角形那个类, 如果 K=5,由于蓝色正方形比例为 3/5,因此绿色圆被赋予蓝色正方形类。根据
这个思路,假设绿色圆代表待检测文本,红色三角形代表垃圾信息,蓝色正方形 代表正常信息,就可以通过 KNN 算法来判别垃圾信息。 2.3.3 逻辑回归算法 图 3-1 K 近邻算法 逻辑回归(Logistic regression)是以 sigmoid 公式为基础,通过计算样 本的可能性来判断样本属于哪一类别。当创建模型时,对数据进行一次性扫描, 新加入的每一个样本都可能更新模型。通过梯度下降法来更新每一维特征的权 重,所以,最后的模型类似于一个特征权重库。当对样本进行分类时,查找出与 特征相对的权重值带入公式来计算。优点:计算量不大,较易实现。缺点:容易 欠拟合,精确度可能不高。 在基于逻辑回归的垃圾信息过滤中,影响一个文本是垃圾信息还是正常信息 的因素是该文本中的特征。应用逻辑回归,可以根据文本的特征判断该文本是垃 圾信息的概率。如公式所示: ( yP  Spam )| t  exp( exp(  ) tw  tw  ) 1 (3-3) 其中:t 是该文本的所有特征组成的只包含 0 或 1 的向量,即(1,0,……, 0,1), w 是该文本的所有特征相对应的特征权重向量。判断某文本为正常信 息的概率如公式所示: ( yP  Ham -1)t|  P( y  Spam 1)t|  1  exp exp  )tw( )tw(  (3-4)
2.2.4 支持向量机算法 支持向量机(Support Vector Machine , SVM),该方法是由 Cortes 和 Vapnik 在 1995 年提出的一种二分类学习方法,基于结构风险最小化原理和统 计学习理论的 VC 维理论建立,引进高维度的特征空间,利用核函数,把输入到 模型的数据转变为高维度空间的数据,从而构造一个超平面。SVM 可以直接用于 线性可分问题,而对于线性不可分的情形,可以构造一个变换,将问题转换到一 个新的空间,在这个新空间中线性可分。在文本分类中,SVM 是较好的方法之一。 Druckerts[6]将线性 SVM 用于垃圾信息过滤,得到的结果再次印证了这一点。 Drucker 还指出,采用二值表示的 SVM 的性能稍高于采用多值表示的 SVM。Kolcz[7] 采用了多种 SVM 方法的变形进行垃圾信息过滤。优点:解决非线性问题,在小样 本机器学习上的二值分类问题上有较好的效果,提高泛化性能[8]。缺点:针对于 非线性的问题没有普遍使用的解决方法,要慎重选取核函数去处理非线性的问 题,对缺失数据敏感。 3 总结 本文基于自然语言处理的角度,介绍了垃圾信息过滤研究的各种方法。目前, 垃圾信息过滤的研究主要使用机器学习的方法,从已有的训练语料中学习垃圾信 息的规律来指导后续信息的判断。包括朴素贝叶斯、K 近邻(KNN)、逻辑回归(LR)、 支持向量机(SVM)等在内的很多方法都被应用到垃圾信息过滤中。
分享到:
收藏