著录项信息
专利名称 | 一种短信过滤的方法和装置 |
申请号 | CN200910136156.1 | 申请日期 | 2009-04-30 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2010-11-03 | 公开/公告号 | CN101877837A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04W4/14 | IPC分类号 | H;0;4;W;4;/;1;4;;;G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 华为技术有限公司;北京邮电大学 | 申请人地址 | 广东省深圳市龙岗区坂田华为总部办公楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 华为技术有限公司,北京邮电大学 | 当前权利人 | 华为技术有限公司,北京邮电大学 |
发明人 | 徐蔚然;刘东鑫;王占一;杜家春 |
代理机构 | 深圳市深佳知识产权代理事务所(普通合伙) | 代理人 | 彭愿洁;李文红 |
摘要
本发明实施例公开了一种短信过滤方法,分类器由包含复数个特征项的向量组成,包括:分类过滤接收到的短信,获取所述短信为垃圾短信的概率和正常短信的概率;如果所述垃圾短信的概率和所述正常短信的概率之差的绝对值小于预设阈值,则获取所述短信的反馈结果;根据所述反馈结果进行自适应学习后,更新分类器;如果所述短信有不在热点词库中的新词,则根据预置条件进行词频排序后,更新分类器。还公开了一种短信过滤装置,利用本发明实施例,能够动态跟进短信信息内容的变化,调整短信过滤方式,提高短信的过滤能力。
1.一种短信过滤方法,分类器由包含复数个特征项的向量组成,其特征在于,包括:
分类过滤接收到的短信,获取所述短信为垃圾短信的概率和正常短信的概率;
如果所述垃圾短信的概率和所述正常短信的概率之差的绝对值小于预设阈值,则获取所述短信的反馈结果;
根据所述反馈结果进行自适应学习后,更新分类器;
如果所述短信有不在热点词库中的新词,则根据预置条件进行词频排序后,更新分类器;
所述分类过滤接收到的短信,获取所述短信为垃圾短信的概率和正常短信的概率包括:黑白名单过滤和内容过滤:
如果所述短信所属号码在黑名单中,则将所述短信属性设为垃圾短信;
如果所述短信所属号码在白名单中,则将所述短信属性设为正常短信;
如果所述短信所属号码既不在黑名单中也不在白名单中,则根据下式进行内容过滤:
其中,
表示在短信属性为cj,垃圾短信或正常短信的前提下,某个词ti出现的概率,P(Cj|dx)为所述短信为垃圾短信的概率或正常短信的概率,所述dx表示短信。
2.如权利要求1所述的方法,所述获取所述短信的反馈结果包括:
获取用户在主动反馈模式下反馈的短信属性;或
获取用户在被动反馈模式下反馈的短信属性;或
获取用户在间接反馈模式下反馈的短信属性。
3.如权利要求1所述的方法,其特征在于,所述根据所述反馈结果进行自适应学习后,更新分类器包括:
对于反馈结果中出现频率最高的预定比例的特征项,对于每个特征项ti,重新计算对应的权重P’(ti|Cj);
使用所述权重P’(ti|Cj),更新分类器中向量的特征权重Wi。
4.如权利要求1所述的方法,其特征在于,根据预置条件进行词频排序包括:
预定时间阈值到达或新词词频超过预设阈值;
对在热点词库中存在的旧词和所述新词,按词频大小,从大到小依次排列。
5.如权利要求4所述的方法,其特征在于,所述词频排序后,更新分类器包括:
获取词频最大的新词new_word、正常短信模型中词频最小的词ham_word和垃圾短信模型中词频最小的词spam_word;
如果new_word的词频大于ham_word和spam_word的词频,则将new_word代替正常短信模型中的ham_word,垃圾短信模型中的spam_word;
如果new_word的词频大于ham_word,而小于spam_word的词频,则将new_word代替正常短信模型中的ham_word;
如果new_word的词频大于spam_word,而小于ham_word的词频,则将new_word代替垃圾短信模型中的spam_word;
如果new_word的词频小于ham_word和spam_word的词频,则不更新分类器。
6.如权利要求4所述的方法,其特征在于,如果所述短信有不在热点词库中的新词,则更新分类器之前还包括:
将所述新词加入热点词库;
所述更新分类器之后,还包括:
清空所述热点词库。
7.一种短信过滤装置,其特征在于,包括:
分类器,由包含复数个特征项的向量组成,用于分类过滤接收到的短信,获取所述短信为垃圾短信的概率和正常短信的概率;
反馈获取单元,用于如果所述垃圾短信的概率和所述正常短信的概率之差的绝对值小于预设阈值,则获取所述短信的反馈结果;
自适应学习单元,用于根据所述反馈结果进行自适应学习后,指示更新分类器;
进化学习单元,用于如果所述短信有不在热点词库中的新词,则根据预置条件进行词频排序后,指示更新分类器;
所述分类器包括:黑白名单过滤模块和内容过滤模块;
所述黑白名单过滤模块用于:如果所述短信所属号码在黑名单中,则将所述短信属性设为垃圾短信,
如果所述短信所属号码在白名单中,则将所述短信属性设为正常短信,如果所述短信所属号码既不在黑名单中也不在白名单中,则指示进行内容过滤模块工作;
所述内容过滤模块用于:根据如下公式进行内容过滤:
其中,
其中,P(ti|cj)表示在短信属性为cj的前提下,某个词ti出现的概率,P(Cj|dx)为所述短信为垃圾短信的概率或正常短信的概率,所述dx表示短信。
8.如权利要求7所述的装置,所述反馈获取单元包括:
主动反馈模块,用于获取用户在主动反馈模式下反馈的短信属性;或被动反馈模块,用于获取用户在被动反馈模式下反馈的短信属性;或间接反馈模块,用于获取用户在间接反馈模式下反馈的短信属性。
9.如权利要求7所述的装置,其特征在于,所述自适应学习单元包括:
第一权重确定模块,用于对于反馈结果中出现频率最高的预定比例的特征项,对于每个特征项ti,重新计算对应的权重P’(ti|Cj);
所述分类器包括:
第一更新模块,用于使用所述权重P’(ti|Cj),更新分类器中向量的特征权重Wi。
10.如权利要求7所述的装置,其特征在于,所述进化学习单元包括:
启动模块,用于预定时间阈值到达或新词词频超过预设阈值时,指令排序模块工作;
排序模块,用于对所述新词和旧词,按词频大小,从大到小依次排列。
11.如权利要求10所述的装置,其特征在于,所述进化学习单元还包括:
词频获取模块,用于获取词频最大的新词new_word、正常短信模型中词频最小的词ham_word和垃圾短信模型中词频最小的词spam_word;
所述分类器还包括第二更新模块,用于:
如果new_word的词频大于ham_word和spam_word的词频,则将new_word代替正常短信模型中的ham_word,垃圾短信模型中的spam_word;
如果new_word的词频大于ham_word,而小于spam_word的词频,则将new_word代替正常短信模型中的ham_word;
如果new_word的词频大于spam_word,而小于ham_word的词频,则将new_word代替垃圾短信模型中的spam_word;
如果new_word的词频小于ham_word和spam_word的词频,则不更新分类器。
12.如权利要求10所述的装置,其特征在于,还包括:
加入单元,用于将所述新词加入热点词库;
清空单元,用于清空所述热点词库。
一种短信过滤的方法和装置\n技术领域\n[0001] 本发明涉及移动通信技术领域,特别是一种短信过滤的方法和装置。\n背景技术\n[0002] 移动短信息监控和过滤是判断短信内容是否符合用户内在需要的过程,主要解决文本分类和增量学习的技术问题。\n[0003] 文本分类需要解决正常短信和垃圾短信的二分问题,但是目前使用于邮件过滤的支持向量机(Support Vector Machine,SVM)技术最突出的缺点在于在大数据集上的训练收敛速度较慢,需要大量的存储资源和很高的计算能力,无法即时反馈,很难应用于移动终端。邮件过滤与短信过滤是不同的技术领域,终端处理能力差异巨大,处理对象也不相同,不能简单移植。\n[0004] 而现有的分布式垃圾短信过滤方式却不具备演进式学习能力,无法动态支持新词的出现,并进而调整短信过滤方式。\n[0005] 发明人在实现本发明的过程中,发现现有技术中至少存在如下问题:\n[0006] 现有技术垃圾短信过滤技术不具备演进式学习能力,无法根据短信信息的变化,来调整短信过滤方式。\n发明内容\n[0007] 有鉴于此,本发明一个或多个实施例的目的在于提供一种短信过滤的方法和装置,以实现可以动态跟进短信信息内容的变化,调整短信过滤方式。\n[0008] 为解决上述问题,本发明实施例提供了一种短信过滤方法,分类器由包含复数个特征项的向量组成,包括:\n[0009] 分类过滤接收到的短信,获取所述短信为垃圾短信的概率和正常短信的概率;\n[0010] 如果所述垃圾短信的概率和所述正常短信的概率之差的绝对值小于预设阈值,则获取所述短信的反馈结果;\n[0011] 根据所述反馈结果进行自适应学习后,更新分类器;\n[0012] 如果所述短信有不在热点词库中的新词,则根据预置条件进行词频排序后,更新分类器。还公开了一种短信过滤装置,分类器由包含复数个特征项的向量组成,包括:\n[0013] 分类器,用于分类过滤接收到的短信,获取所述短信为垃圾短信的概率和正常短信的概率;\n[0014] 反馈获取单元,用于如果所述垃圾短信的概率和所述正常短信的概率之差的绝对值小于预设阈值,则获取所述短信的反馈结果;\n[0015] 自适应学习单元,用于根据所述反馈结果进行自适应学习后,指示更新分类器;\n[0016] 进化学习单元,用于如果所述短信有不在热点词库中的新词,则根据预置条件进行词频排序后,指示更新分类器。\n[0017] 与现有技术相比,本发明实施例具有以下优点:本发明实施例通过对短信进行分类过滤后,对可信度阈值低的短信进行属性获取,以进行自适应学习后,更新分类器中的短信模型;并且还对出现的新词达到进化学习条件的,一并进行进化学习,根据进化学习结果增加或删除短信模型中的特征项及其权重,使得短信过滤即能够通过自适应学习,快速跟上短信内容的变化;通过进化学习不断调整短信模型的特征项,使得短信过滤能够稳定地演化,自适应学习和进化学习相结合,共同调整短信模型,使得整体的短信过滤达到三方面的技术效果:\n[0018] 1、快速收敛,这是由于分类器同时采用了两种更新方式所导致的,单纯采用进化学习进行短信分类不能适应快速变化的信息内容;单纯采用自适应学习的情况下,无法根据短信内容的进化,完成对分类器中特征向量的增加或删除,只有同时采用这两种学习方式,共同调整分类器中的短信模型,才能保证又快又准确地收敛到正确分类结果。\n[0019] 2、对终端的计算能力要求低,通过自适应学习,使得终端随时可以跟踪用户反馈,更新分类器,其对处理能力要求不高,而进化学习是在一个较长时间段或较大量短信的基础上进行的,不需要时时进行进化学习,也降低了终端的计算能力需要。\n[0020] 3、过滤的准确性高,通过自适应学习和进化学习相结合,使得本发明实施例在用户反馈和长期学习的基础上,不断修正分类器,使其处理结果的准确性明显提高。\n附图说明\n[0021] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。\n[0022] 图1所示,是本发明实施例的一种结构框图;\n[0023] 图2所示,是本发明实施例的自适应学习流程图;\n[0024] 图3和图3-1所示,分别为本发明实施例中收到正常短信和垃圾短信后的终端收件箱容量变化示意图;\n[0025] 图4所示,是本发明实施例的进化学习流程图;\n[0026] 图5所示,是本发明实施例的短信过滤的方法流程图;\n[0027] 图6所示,是本发明实施例的短信过滤的装置框图;\n[0028] 图7所示,是本发明实施例又一短信过滤的装置框图。\n具体实施方式\n[0029] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。\n[0030] 在本发明实施例提供的短信过滤有关的技术方案中,有两个基本前提:\n[0031] 一是用户所接受的短信会随时间而发生变化,这是演进式学习的必要性所在,例如,2008年用户可能接收到众多与地震和奥运会有关的信息,而2009年可能金融危机首当其冲。\n[0032] 二是假定用户对短信的分类标准也是会随着时间而不断变化,例如,在用户选购汽车的时间段内,可能汽车广告短信对他非常有用,而在购买之后,与汽车销售有关的广告短信可能就成为了垃圾短信。\n[0033] 正是在上述前提下,发明人构思了本发明有关实施例。\n[0034] 在本发明实施例中,对短信过滤的功能可以进行如下方式的划分:\n[0035] 第一功能单元,主要用于使用训练集,训练出一个分类器,当终端收到一条新短信后,对其进行垃圾短信或正常短信的分类,作为分类结果输出。\n[0036] 本发明实施例中的第一功能单元区别于现有技术的分类器之处在于,能够与本发明实施例中的第二功能单元和第三功能单元相互作用,接收第二功能单元和第三功能单元的输出,根据第二功能单元和第三功能单元的输出的参数,对分类器的特征参数进行调整,改变分类器的短信模型,以使得其能够适应前述两个前提的要求。\n[0037] 本发明实施例的第二功能单元主要用于进行自适应学习,即通过接收用户对新短信的反馈,以新短信为学习样本,进行自适应学习,根据自适应学习的结果,指示第一功能单元的分类器进行更新,调整包括垃圾短信和正常短信在内的短信模型。\n[0038] 本发明实施例的第三功能单元主要用于短信进化学习,即根据终端短信内容的变化,提取新的信息,当新的信息的阀值达到预设值时,根据新的信息增加或删除词库中的词语,调整词频的大小顺序,并指示第一功能单元据此更新分类器中的短信模型。\n[0039] 需要说明的是,上述功能模块的划分是相对的,主要用于帮助所属领域的技术人员从整体上理解本发明的原理,本发明实施例还可以以其他的功能模块及其组合来实现本发明的原理,达到相同的技术效果,这都没有超出本发明的保护范围。\n[0040] 如图1所示,是本发明实施例的一种结构框图,包括:\n[0041] 第一功能单元101,第二功能单元102和第三功能单元103,第一功能单元分别与第二功能单元和第三功能单元相连接,其中,第一功能单元101包括训练集1011和分类器\n1012;第二功能单元102包括反馈获取模块1021和自适应学习模块1022,第三功能单元包括短信集1031和进化学习模块1032,短信集中存储了终端的所有短信,\n[0042] 本发明实施例第二功能单元可以有三种获取反馈的方式:(1)主动反馈模式,(2)被动反馈模式,(3)间接反馈模式。\n[0043] 主动反馈模式是指用户收到短信后,操作终端,主动反馈短信的属性。如用户阅读短信后将短信放入垃圾箱或保存在收信箱中,就可以相应地将此用户对此短信的反馈识别为“垃圾短信”或“正常短信”。\n[0044] 被动反馈模式是指终端先分析收到的短信的内容,如果需要反馈则向用户发出请求,希望用户反馈短信属性,否则不做处理。\n[0045] 间接反馈模式是指假设用户对正常短信和垃圾短信都有固定的操作习惯,根据其操作习惯就可以间接得到用户的反馈。\n[0046] 通过三种反馈方式,能够在多种情况下尽可能多地获取用户反馈。\n[0047] 第三功能单元用于存储终端所保存的短信,进行进化学习。\n[0048] 下面,结合图2-图4,说明本发明实施例所提供的短信过滤的方法[0049] 如图2所示,是本发明实施例中通过自适应学习的方式更新分类器的流程图,包括:\n[0050] 201、短信缓存,在接收到一条新短信后,可以暂存在缓冲区,用户处理以后,可以保存在存储区中,以作为获取反馈的基础。\n[0051] 202、分类器进行分类过滤,分类过滤包括黑白名单过滤和内容过滤;\n[0052] 黑白名单过滤是判断短信所代表的发件人号码是否在黑名单中,如果在黑名单中则将其作为垃圾短信处理,如果在白名单中,则是正常短信;\n[0053] 如果不在黑白名单中,就需要对这些短信进行自适应学习,然后判断用户是否需要反馈。对于文本短信和传统终端短信业务而言,普通用户使用基于黑白名单过滤的短信过滤方式的效率比较高。\n[0054] 内容过滤是对短信文本进行分类,文本分类的方法主要用基于规则和基于统计两类。基于统计的分类算法包括朴素贝叶斯,支持向量机等,其性能与长度和样本量等因素有关。随着移动互联网业务的发展,对于像终端广告和终端短信捆绑网络终端计算机的即时通信软件的方式,用户对基于内容的短信过滤产生了越来越大的需求。对于属于白名单中的短信,不进行内容过滤,这是考虑到白名单中的短信通常可以认为是正常短信,其被误判为垃圾短信的可能性很低,将其判断为垃圾的风险却很高。\n[0055] 本发明实施例可以选择这些算法中的一种或多种,以达到最优过滤的目的。\n[0056] 文本模型通常采用向量空间模型来表达,将文本表述为若干特征项或关键词的向量的形式,这样便于对文本的计算。向量空间模型用来表示短信与特征项的关系,而向量中的权重元素可以用贝叶斯公式来计算。\n[0057] 短信内容用向量形式表示,假设训练集中包含的特征项集T={t1,---,tn},特征项是字、词或短语,某条短信的向量权重经计算分别为W={w1,---,wn},那么该短信可以用向量 表示。\n[0058] 设当前的短信训练集,采用特征项选择方法得到其特征项为:T={发票,免费,交友}。对于接收到的某个当前短信,经计算其权重为:W={0.5,0.3,0.2},则该短信可以用向量e1={0.5,0.3,0.2}表示。\n[0059] 下面以贝叶斯模型为例,说明短信文本分类的原理。\n[0060] 贝叶斯公式如下:\n[0061] 设全集Ω包括n个事件:B1,B2,...,Bn。则有下列公式:\n[0062] \n[0063] 对事件A:\n[0064] \n[0065] P(Bi|A)表示A属于Bi的概率,P(Bi)表示Bi的概率,P(A|Bi)表示在Bi确定的前提下,出现事件A的概率。\n[0066] 先验概率:是在缺乏某个事实的情况下描述一个变量,通常是指根据以往经验和分析得到的概率,即P(Bi)。\n[0067] 后验概率:是在考虑了一个事实之后的条件概率,可以通过Bayes定理,由先验概率计算出来,即P(B1|A)和P(B2|A)。\n[0068] 贝叶斯模型的建立是通过将贝叶斯公式中的事件A、B与短信和短信分类对应起来,在本发明实施例中,可以将待测短信dx作为事件A,垃圾短信和正常短信两个分类ci作为B,则在本发明实施例中,贝叶斯模型为:\n[0069] \n[0070] 其中,cj表示短信属性;dx表示文档;P(cj|dx)表示在已知文档dx条件下其类别为cj的概率。\n[0071] 在判断垃圾短信的过程中,通过比较垃圾短信或者正常短信(即正常短信)两类别的后验概率大小,即可得到错误概率最小的贝叶斯模型。对于输入的文档dx,其决策规则如下:\n[0072] \n[0073] 其中,c1表示垃圾短信属性,c0表示正常短信属性。\n[0074] 取对数是为了比较两类后验概率的大小。P(c1|dx)表示dx属于c1类的概率,即是垃圾短信的概率。P(c0|dx)表示dx属于c0类的概率,即短信是正常短信的概率。P(c1)表示垃圾短信的概率,P(c0)表示正常短信的概率。\n[0075] 由于 这一项和输入文档dx无关,所以可以作为常数项,这样决策规则改写为:\n[0076] \n[0077] 其中threshold表示一个判断阈值,理想情况下 P(dx|c1)\n表示短信dx作为垃圾短信的出现概率。P(dx|c0)表示短信dx作为正常短信出现的概率。\n[0078] 上式中的先验概率P(cj),j=0,1的实际含义就是垃圾短信和正常短信在全部短信中所占有的比例,其值可以由经验值得到,或者利用训练样本集估计得到:\n[0079] \n[0080] 从上述过程可见,决策规则与P(dx)无关,而与计算短信的类条件概率P(dx|cj)有关。实际应用中,P(dx|cj)的值是由表示待测短信dx的向量和训练集对cj的统计信息求得。\n[0081] 统计分类技术中都是基于词语特征来表示短信dx,即dx是一个向量,而P(dx|cj)表示一个联合概率密度分布。本发明实施例中使用朴素贝叶斯模型获取上述概率密度分布。\n[0082] 朴素贝叶斯模型先根据训练得到的特征项,将待分类的文本向量化;然后再根据训练得到的分类器,计算该向量的属于垃圾短信或正常短信的概率,计算公式是:\n[0083] 在朴素贝叶斯模型中,假设构成待测文本向量的各个特征项彼此独立,从而有如下公式:\n[0084] \n[0085] ti是一条短信中的特征项(也可以理解为词)。P(ti|cj)表示在短信属性为cj(垃圾短信或正常短信)的前提下,某个词ti出现的概率。一条短信可以用由P(ti|cj)组成的向量来表示:(P(t1|cj),P(t2|cj),......,P(tn|cj))。\n[0086] 上述公式中的P(dx|cj)即为所述短信为垃圾短信的概率或正常短信的概率。\n[0087] 203、对短信进行可信度阈值分析;\n[0088] 经过上述步骤202中的分类过滤,分别统计了新短信是正常短信和垃圾短信的概率值,从两者中选择概率值大的作为分类过滤的结果。有理由认为,当作为正常短信的概率值和垃圾短信的概率值差的绝对值小于某一阈值时,此时分类器的判断结果可靠性较低,因此,有必要对小于某一设定阈值的短信进行进一步分析,而对于大于某一设定阈值的短信,可以认为内容过滤的结果正确,结束流程。\n[0089] 204、获取用户对新短信属性的反馈;\n[0090] 本发明实施例通过设定三种反馈方式的优先级,使得三种反馈方式有机组合,共同得到新短信的属性。包括如下三种方式:\n[0091] 方式1:主动反馈模式\n[0092] 用户在看完短信后主动将属性(垃圾短信或正常短信)提交给系统,这就是主动反馈模式。其具体方式可以参见前文第二功能单元部分的描述,这种方式的优点在于可靠性高,缺点在于操作步骤较多,用户体验度差。\n[0093] 模式2:被动反馈模式\n[0094] 通过对新短信进行内容分析,如果从中发现新信息,如新词或者新话题,就要求用户给出该短信的属性,这就是被动反馈模式。其具体方式可以参见前文第二功能单元部分的描述。\n[0095] 模式3:间接反馈模式\n[0096] 假设用户对正常短信和垃圾短信都有固定的操作习惯,根据其操作习惯就可以间接得到用户的反馈。\n[0097] 例如:如果用户收到短信后立刻回复或者回电,那么该短信可能属于正常短信。这时,可以基于用户的行为,获取此短信的属性。还可以根据终端状态,得到反馈。假设用户对正常短信留存,对垃圾短信见之即删,那么通过监控终端收件箱内存容量的变化,也可以获取用于对短信属性的反馈。\n[0098] 如图3所示,是正常短信时的终端收件箱内存变化图,图3-1所示,是收到垃圾短信后的终端收件箱内存变化图;\n[0099] 从图3和图3-1中可以看出,如果该短信被分类器判决为正常短信,用户看完后将不进行删除操作,即将其属性设置为正常短信,如果该短信被分类器判决为垃圾短信,用户看完后将进行删除操作,即将其属性设置为垃圾短信;如果该短信被分类器判决为垃圾短信,用户看完后不进行删除操作,即将其属性设置为正常短信,并可用于分类器更新;如果该短信被分类器判决为正常短信,用户看完后进行删除操作,即将其属性设置为垃圾短信,并可用于分类器更新。\n[0100] 205、自适应学习;\n[0101] 根据步骤204中的反馈结果,将必须用于分类器更新的样本重新用分类器过滤学习。假设现在获得了一定数量短信的反馈,如50条,需要根据反馈信息进行再学习,使得对这50条短信的分类更接近于实际情况。或者是达到某一时间阈值,如24小时,需要根据反馈结果对分类器进行再学习;\n[0102] 分类器模型通常包括不同特征项所组成的权重:\n[0103] (P(教育|正常短信),P(大学|正常短信),......,P(考研|正常短信));\n[0104] 某些特征的权重取值不当,如可能P(考研|正常短信)的权重可能取得太大了,将导致有些类似考研报班的推销短信被误判为正常短信。通过自适应学习,能够找出这些需要调整权重的特征项,并重新确定它的值。即:重新计算P(ti|Cj),同时改变其它特征项的权重。\n[0105] 例如,对反馈信息作统计后发现其中特征项ti出现频率相对较高,则重新计算ti的权重。统计Cj类中ti的频率,计算出P’(ti|Cj),从而得到新的短信向量:(P’(t1|Cj),P’(t2|Cj),......,P’(ti|Cj),......,P’(tn|Cj))。\n[0106] 206、分类器更新;\n[0107] 分类器更新是指分类器完成对垃圾短信和正常短信的短信模型的调整。设在自适应学习前,短信向量为:(W1,W2,......,Wn)。其中,Wi=P(ti|Cj),通过自适应学习后,如果某些特征项的权重改变,如特征项i的权重作了调整,那么短信向量即变化为:(W1,W2,......,Wi’,......,Wn),通过这种方式就可以更新分类器。\n[0108] 通过前述的自适应学习过程,本发明实施例能够对短信进行分类过滤后,对可信度阈值低于预设值的短信,进一步获取其短信属性反馈,再根据反馈结果,更改短信模型中特征项的权重,从而达到更新分类器的目的,从而动态提高短信分类过滤的准确性,提高收敛速度。\n[0109] 如图4所示,是本发明实施例中系统进化学习的流程图,包括:\n[0110] 401、对接收到的短信进行预处理;\n[0111] 包括去噪,对短信息的统计,格式的修改等步骤。排除短信中可能存在的一些无意义的符号或乱码,如“#$^&”和多余的字母、空格等。\n[0112] 402、分词之后,判断是否出现有新词;\n[0113] 通过与短信模型中的热点词库进行比较,判断是否属于热点词库中的词,如果属于热点词库则不属于新词,如果不属于热点词库,则是新词;\n[0114] 短信模型是指贝叶斯分类器用以分类的短信模型,是通过特征来描述类别属性的表示方式,每1维特征是指一个关键词,权重是关键词的概率权重,可以以下式表示:\n[0115] (P(t1|Cj),P(t2|Cj),……,P(tn|Cj))\n[0116] 从正常短信模型和垃圾短信模型中都可以提取关键词,热点词库可以有多种结构形式,一种可行的结构可以包括缓存区和存储区,每个数据元素的格式为<词,词频>。从短信模型中提取词,设所有的词频的初始值为1,构成热点词库的初始状态。热点词库的动态更新过程可以是对新短信分词后,将每个词与热点词库比较,当发现某词在热点词库时,其词频加1;当发现某词不在热点词库时,将其添加到缓存,标识为新词。经过一定的时间阈值后,或当词频大于某个阈值时,如50,将其及词频添加到热点词库,同时在缓存清空该词。\n[0117] 存储区数据的维护可以包括:设定为在元素个数达到一定数量时,如10000个词,将热点词库清零,再从短信模型中提取词,并统一设置词频为1,在此基础上再进行词频调整,模型更新。\n[0118] 403、分类器更新;\n[0119] 分类器更新可以按照预设的时间间隔进行,如每过20天做一次更新等。包含词频排序和短信模型更新。词频排序是:对热点词库中的新词和旧词按词频从大到小依次排列。\n短信模型更新具体方法:\n[0120] 找到词频最大的新词new_word,如果有几个新词的词频都相同,且同为在新词中词频最大,则随机选取一个,找到正常短信模型中词频最小的词ham_word,找到垃圾短信模型中词频最小的词spam_word。\n[0121] A、如果nwe_word的词频大于ham_word和spam_word的词频,则将new_word代替正常短信模型中的ham_word,替代垃圾短信模型中的spam_word。\n[0122] 则正常短信模型(P(t1|C1),P(t2|C1),......,P(ham_word|C1),......,P(tn|C1))[0123] 变成\n[0124] (P’(t1|C1),P’(t2|C1),......,P(new_word|C1),......,P’(tn|C1))。\n[0125] 其中\n[0126] P’(ti|C1) = P(ti|C1)+(P(ham_word|C1)-minValue)/(n-1),P(new_word|C1) =minValue,minValue为接近0的小数。\n[0127] 垃圾短信模型(P(w1|C2),P(w2|C2),......,P(spam_word|C2),......,P(wm|C2))[0128] 变成\n[0129] (P’(w1|C2),P’(w2|C2),......,P(new_word|C2),......,P’(wn|C2))。\n[0130] 其中\n[0131] P’(ti|C2)=P(ti|C2)+(P(spam_word|C2)-minValue)/(n-1),P(new_word|C2)=minValue。\n[0132] 其中,m是垃圾短信模型中关键词的个数,n是正常短信模型中的关键词个数。m和n可以相等,也可以不相等。\n[0133] 然后,将new_word添加到热点词库。上述过程利用了人类语言的这一特性:最近使用频率高的词,其频率容易变得更高;使用频率越少的词,容易变得更加冷僻。\n[0134] 新词的词频比ham_word和spam_word的词频都大,此时还很难说清楚该词的类别属性,所以把它都代替原来频率低的旧词。随着训练的进行,逐渐可以把这个新词的类别属性明确。\n[0135] B、如果new_word的词频大于ham_word,而小于spam_word的词频,则将new_word代替正常短信模型中的ham_word。\n[0136] 正常短信模型(P(t1|C1),P(t2|C1),......,P(ham_word|C1),......,P(tn|C1))[0137] 变成\n[0138] (P’(t1|C1),P’(t2|C1),......,P(new_word|C1),......,P’(tn|C1))。\n[0139] 其中\n[0140] P’(ti|C1) = P(ti|C1)+(P(ham_word|C1)-minValue)/(n-1),P(new_word|C1) =minValue。\n[0141] 然后,将new_word添加到热点词库。\n[0142] C、如果new_word的词频大于spam_word,而小于ham_word的词频,则将new_word代替正常垃圾模型中的spam_word,\n[0143] 垃圾短信模型(P(w1|C2),P(w2|C2),......,P(spam_word|C2),......,P(wm|C2))[0144] 变成\n[0145] (P’(w1|C2),P’(w2|C2),......,P(new_word|C2),......,P’(wm|C2))。\n[0146] 其中\n[0147] P’(ti|C2)=P(ti|C2)+(P(spam_word|C2)-minValue)/(m-1),P(new_word|C2)=minValue。\n[0148] 将所述新词加入热点词库。\n[0149] D、如果new_word的词频同时小于ham_word和spam_word的词频。则分类器维持不变。不将new_word添加到热点词库。\n[0150] 下面以具体的例子说明分类器更新的过程:此处的分类器更新是由进化学习引起的,包括词频排序和短信模型更新。\n[0151] 就词频排序而言,以热点词库{新东方,雅芳,考研,北邮、华为、促销、打折......}为例,如果词频排序的结果为:\n[0152] 1促销\n[0153] 2打折\n[0154] 3新东方\n[0155] 4华为\n[0156] 5北邮\n[0157] 6考研\n[0158] 7雅芳\n[0159] 从中找到一个词频最高的新词“新东方”,“新东方”不存在于正常短信和垃圾短信的模型中。\n[0160] A、在正常短信模型中(P(华为|正常短信),P(北邮|正常短信),......,P(通信|正常短信))中选择特征所对应的词频最小的词,如“通信”。如果“通信”的词频小于“新东方”,则用“新东方”代替其成为正常短信模型中的特征,P(新东方|正常短信)初始置为MINVALUE,并对其余的特征权重重新计算。计算方法请参考前面的公式。\n[0161] 在垃圾短信模型(P(促销|垃圾短信),P(打折|垃圾短信),......,P(雅芳|垃圾短信))中选择特征所对应的词频最小的词,如“雅芳”。如果“雅芳”的词频小于“新东方”,则用“新东方”代替其成为垃圾短信模型中的特征,P(新东方|垃圾短信)初始置为\n0,并对其余的特征权重重新计算。计算方法请前述参考公式。\n[0162] B、在正常短信模型中(P(华为|正常短信),P(北邮|正常短信),......,P(通信|正常短信))中选择特征所对应的词频最小的词,如“通信”。如果“通信”的词频小于“新东方”,则用“新东方”代替其成为正常短信模型中的特征,P(新东方|正常短信)初始置为MINVALUE,并对其余的特征权重重新计算。计算方法请参考前述公式。\n[0163] 在垃圾短信模型(P(促销|垃圾短信),P(打折|垃圾短信),......,P(雅芳|垃圾短信))中选择特征所对应的词频最小的词,如“雅芳”。如果“雅芳”的词频大于“新东方”,则垃圾短信模型不变。\n[0164] C、在正常短信模型中(P(华为|正常短信),P(北邮|正常短信),......,P(通信|正常短信))中选择特征所对应的词频最小的词,如“通信”。如果“通信”的词频大于“新东方”,则正常短信模型不变。\n[0165] 在垃圾短信模型(P(促销|垃圾短信),P(打折|垃圾短信),......,P(雅芳|垃圾短信))中选择特征所对应的词频最小的词,如“雅芳”。如果“雅芳”的词频小于“新东方”,则用“新东方”代替其成为垃圾短信模型中的特征,P(新东方|垃圾短信)初始置为\n0,并对其余的特征权重重新计算。计算方法请参考前述公式。\n[0166] D、在正常短信模型中(P(华为|正常短信),P(北邮|正常短信),......,P(通信|正常短信))中选择特征所对应的词频最小的词,如“通信”。如果“通信”的词频大于“新东方”,则正常短信模型不变。\n[0167] 在垃圾短信模型(P(促销|垃圾短信),P(打折|垃圾短信),......,P(雅芳|垃圾短信))中选择特征所对应的词频最小的词,如“雅芳”。如果“雅芳”的词频大于“新东方”,则垃圾短信模型不变。\n[0168] 本发明实施例通过前述的进化式学习,能够对短信中的新词的词频与热点词库进行动态对比,选择词频高的新词加入到热点词库,进而更新正常模型和垃圾模型,从而使得分类器能够随着时间和短信内容的变化而不断更新,使得垃圾短信的分类和过滤能力更强。\n[0169] 对于新词,可以将所述新词加入热点词库;\n[0170] 在词频排序之后,更新分类器之后,还可以包括:\n[0171] 清空所述热点词库。\n[0172] 通过将新词加入热点词库,并在使用更新分类器之后,清空热点词库,使得分类器能够始终保持对新词的学习进化。在更新分类器之后,通过清空热点词库,还可以使得热点词库的容量始终维持在合理的范围内,有利保持进行学习的前提下,保持合理的收敛速度。\n[0173] 如图5所示,在上述实施例的基础上,本发明实施例提供了一种短信过滤方法,分类器由包含复数个特征项的向量组成,包括:\n[0174] 501、分类过滤接收到的短信,获取所述短信为垃圾短信的概率和正常短信的概率;\n[0175] 其中,分类过滤接收到的短信,获取所述短信为垃圾短信的概率和正常短信的概率包括:黑白名单过滤和内容过滤:\n[0176] 如果所述短信所属号码在黑名单中,则将所述短信属性设为垃圾短信;\n[0177] 如果所述短信所属号码在白名单中,则将所述短信属性设为正常短信;\n[0178] 如果所述短信所属号码既不在黑名单中也不在白名单中,则根据下式进行内容过滤:\n[0179] ,j=0,1,其中, ,j=0,1,\nP(ti|cj)表示在短信属性为cj(垃圾短信或正常短信)的前提下,某个词ti出现的概率,P(Cj|dx)为所述短信为垃圾短信的概率或正常短信的概率。\n[0180] 502、如果所述垃圾短信的概率和所述正常短信的概率之差的绝对值小于预设阈值,则获取所述短信的反馈结果;\n[0181] 其中,所述获取所述短信的反馈结果包括:\n[0182] 获取用户在主动反馈模式下反馈的短信属性;或\n[0183] 获取用户在被动反馈模式下反馈的短信属性;或\n[0184] 获取用户在间接反馈模式下反馈的短信属性。\n[0185] 503、根据所述反馈结果进行自适应学习后,更新分类器;\n[0186] 其中,所述根据所述反馈结果进行自适应学习后,更新分类器包括:\n[0187] 对于反馈结果中出现频率最高的预定比例的特征项,例如10%-40%,对于每个特征项ti,重新计算对应的权重P’(ti|Cj);具体的预定比例的特征项可以根据具体情况进行设定。\n[0188] 使用所述权重P’(ti|Cj),更新分类器中向量的特征权重Wi。\n[0189] 504、如果所述短信有不在热点词库中的新词,则根据预置条件进行词频排序后,更新分类器。更新分类器可以参考前述实施例中自适应学习和进化学习过程中对分类器中短信模型的更新过程,通过包括对正常短信模型和垃圾短信模型中特征向量权重的调整,以及特征向量增加或删除等。\n[0190] 其中,根据预置条件进行词频排序包括:\n[0191] 预定时间阈值到达或新词词频超过预设阈值;\n[0192] 对所述新词和旧词,按词频大小,从大到小依次排列。\n[0193] 其中,所述词频排序后,更新分类器包括:\n[0194] 获取词频最大的新词new_word、正常短信模型中词频最小的词ham_word和垃圾短信模型中词频最小的词spam_word;\n[0195] 如果new_word的词频大于ham_word和spam_word的词频,则将new_word代替正常短信模型中的ham_word,垃圾短信模型中的spam_word,;\n[0196] 如果new_word的词频大于ham_word,而小于spam_word的词频,则将new_word代替正常短信模型中的ham_word;\n[0197] 如果new_word的词频大于spam_word,而小于ham_word的词频,则将new_word代替垃圾短信模型中的spam_word;\n[0198] 如果new_word的词频小于ham_word和spam_word的词频,则不更新分类器。\n[0199] 对于新词,可以将所述新词加入热点词库;\n[0200] 在词频排序之后,更新分类器之后,还可以包括:\n[0201] 清空所述热点词库。\n[0202] 通过将新词加入热点词库,并在使用更新分类器之后,清空热点词库,使得分类器能够始终保持对新词的学习进化。在更新分类器之后,通过清空热点词库,还可以使得热点词库的容量始终维持在合理的范围内,有利保持进行学习的前提下,保持合理的收敛速度。\n[0203] 本发明实施例通过对短信进行分类过滤后,对可信度阈值低的短信进行属性获取,以进行自适应学习后,更新分类器中的短信模型;并且还对出现的新词达到进化学习条件的,一并进行进化学习,根据进化学习结果增加或删除短信模型中的特征项及其权重,使得短信过滤即能够通过自适应学习,快速跟上短信内容的变化;通过进化学习不断调整短信模型的特征项,使得短信过滤能够稳定地演化,自适应学习和进化学习相结合,共同调整短信模型,使得整体的短信过滤通过达到三方面的技术效果:\n[0204] 1、快速收敛,这是由于分类器同时采用了两种更新方式所导致的,单纯采用进化学习进行短信分类不能适应快速变化的信息内容;单纯采用自适应学习的情况下,无法根据短信内容的进化,完成对分类器中特征向量的增加或删除,只有同时采用这两种学习方式,共同调整分类器中的短信模型,才能保证又快又准确地收敛到正确分类结果。\n[0205] 2、对终端的计算能力要求低,通过自适应学习,使得终端随时可以跟踪用户反馈,更新分类器,其对处理能力要求不高,而进化学习是在一个较长时间段或较大量短信的基础上进行的,不需要时时进行进化学习,也降低了终端的计算能力需要。\n[0206] 3、过滤的准确性高,通过自适应学习和进化学习相结合,使得本发明实施例在用户反馈和长期学习的基础上,不断修正分类器,使其处理结果的准确性明显提高。\n[0207] 如图6所示,本发明实施例还提供了一种短信过滤装置,分类器由包含复数个特征项的向量组成,包括:\n[0208] 分类器601,用于分类过滤接收到的短信,获取所述短信为垃圾短信的概率和正常短信的概率;\n[0209] 反馈获取单元602,用于如果所述垃圾短信的概率和所述正常短信的概率之差的绝对值小于预设阈值,则获取所述短信的反馈结果;\n[0210] 自适应学习单元603,用于根据所述反馈结果进行自适应学习后,指示更新分类器\n601;\n[0211] 进化学习单元604,用于如果所述短信有不在热点词库中的新词,则根据预置条件进行词频排序后,指示更新分类器601。\n[0212] 更新分类器可以参考前述实施例中自适应学习和进化学习过程中对分类器中短信模型的更新过程,通过包括对正常短信模型和垃圾短信模型中特征向量权重的调整,以及特征向量增加或删除等。\n[0213] 其中,所述分类器包括:黑白名单过滤模块和内容过滤模块;\n[0214] 所述黑白名单过滤模块用于:如果所述短信所属号码在黑名单中,则将所述短信属性设为垃圾短信,\n[0215] 如果所述短信所属号码在白名单中,则将所述短信属性设为正常短信,[0216] 如果所述短信所属号码既不在黑名单中也不在白名单中,则指示进行内容过滤模块工作;\n[0217] 所述内容过滤模块用于:根据如下公式进行内容过滤:\n[0218] ,j=0,1,其中, j=0,1;\n其中,P(ti|cj)表示在短信属性为cj(垃圾短信或正常短信)的前提下,某个词ti出现的概率,P(Cj|dx)为所述短信为垃圾短信的概率或正常短信的概率。\n[0219] 其中,所述反馈获取单元包括:\n[0220] 主动反馈模块,用于获取用户在主动反馈模式下反馈的短信属性;或[0221] 被动反馈模块,用于获取用户在被动反馈模式下反馈的短信属性;或[0222] 间接反馈模块,用于获取用户在间接反馈模式下反馈的短信属性。\n[0223] 其中,如果所述自适应学习单元包括:\n[0224] 第一权重确定模块,用于对于反馈结果中出现频率最高的预定比例的特征项,例如10%-40%),对于每个特征项ti,重新计算对应的权重P’(ti|Cj);具体的预定比例的特征项可以根据具体情况进行设定。\n[0225] 则所述分类器包括:\n[0226] 第一更新模块,用于使用所述权重P’(ti|Cj),更新分类器中向量的特征权重Wi。\n[0227] 其中,参考图7所示,本发明实施例又一短信过滤的装置框图,所述进化学习单元\n604包括:\n[0228] 启动模块6041,用于预定时间阈值到达或新词词频超过预设阈值时,指令排序模块工作;\n[0229] 排序模块6042,用于对所述新词和旧词,按词频大小,从大到小依次排列。\n[0230] 其中,所述进化学习单元还包括:\n[0231] 词频获取模块,用于获取词频最大的新词new_word、正常短信模型中词频最小的词ham_word和垃圾短信模型中词频最小的词spam_word;\n[0232] 所述分类器还包括第二更新模块,用于:\n[0233] 如果new_word的词频大于ham_word和spam_word的词频,则将new_word代替正常短信模型中的ham_word,垃圾短信模型中的spam_word;\n[0234] 如果new_word的词频大于ham_word,而小于spam_word的词频,则将new_word代替正常短信模型中的ham_word;\n[0235] 如果new_word的词频大于spam_word,而小于ham_word的词频,则将new_word代替垃圾短信模型中的spam_word;\n[0236] 如果new_word的词频小于ham_word和spam_word的词频,则不更新分类器。\n[0237] 其中,所述装置还可以包括:\n[0238] 加入单元701,用于将所述新词加入热点词库;\n[0239] 清空单元702,用于清空所述热点词库。\n[0240] 通过将新词加入热点词库,并在使用更新分类器之后,清空热点词库,使得分类器能够始终保持对新词的学习进化。在更新分类器之后,通过清空热点词库,还可以使得热点词库的容量始终维持在合理的范围内,有利保持进行学习的前提下,保持合理的收敛速度。\n[0241] 本发明装置实施例具有与方法实施例相同的技术效果,不再重复。\n[0242] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。\n[0243] 以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
法律信息
- 2013-11-06
- 2011-07-27
实质审查的生效
IPC(主分类): H04W 4/14
专利申请号: 200910136156.1
申请日: 2009.04.30
- 2010-11-03
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-09-03
|
2007-07-06
| | |
2
| |
2008-05-21
|
2007-11-01
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |