王 琳,张秀芳,赵占纯(.中国联通河北分公司,河北石家庄0500;.中讯邮电咨询设计院有限公司,北京00048)
随着各大运营商对垃圾短信治理力度的加大,垃圾短信投放者为了躲避监控和拦截,垃圾短信的投放方式和投放内容也在不断改进,导致垃圾短信系统的拦截效果越来越差,普通垃圾短信监控策略已不能适应垃圾短信的快速变化。垃圾短信内容的多变和趋常,已导致大量正常短信被误拦截,给用户的使用带来不便的同时增加了短信的投诉量,对运营商的品牌形象造成了恶劣影响。
为了保证用户正常短信业务的使用,更精确地识别处理日益频繁、不断变异的垃圾短信,对现有垃圾短信平台进行优化,增加基于“短信自动审核技术”“垃圾短信拦截策略滚动循环机制”等成熟的短信综合特征技术的智能分析模块,细化垃圾短信的监控识别,辅以人工仲裁,实现误拦截短信及时甄别和放通,有效改善用户短信业务体验。
短信综合特征识别技术的垃圾短信二次放通策略主要包括以下创新。
a)智能分析功能。
b)灰名单监控功能。
c)人工仲裁。
针对垃圾短息投放方式及内容的不断变化,智能分析模块利用当前领先的短信综合特征技术,通过“历史短信样本综合特征”快速匹配方案、短息相似内容聚类、新策略智能生成等方式,不断自动循环生成新的拦截策略,以应对不断变异的垃圾短信。
1.1.1 实现思路
本功能整体实现由2 部分组成:一是利用当前已有的拦截策略对现网垃圾短信进行拦截;二是利用已拦截的垃圾短信,通过分析其发送内容及方式的变化,生成新的拦截策略。通过这种智能化的循环可以及时有效地对垃圾短信进行动态拦截。
1.1.2 智能分析功能实现
1.1.2.1 垃圾短信内容自动审核
为了更精准地对垃圾短信进行识别,河北联通创新地提出了一种基于“历史短信样本综合特征”的快速自动匹配方案。在第一时间对疑似垃圾短信进行精准分类识别。
a)垃圾短信语义分析,算法分类。
(a)干扰字符剔除(如ξ、μ、ю、换行等),还原真实内容。
(b)变种字符转换(如:①39O1234567,将①转换为1、O转换为数字0等)。
(c)短信分词,按分词库提取分词(剔除白关键词),分词库可管理、维护。
(d)变种关键字词还原(如:发瞟→发票、车仑→轮、現网→现网)。
(e)分词结果积分计算,每分词对应不同短信类型的积分不同,分词及其积分值,可维护、调整。根据算法公式计算得出单条短信的所属类型。
b)相似短信排重。
(a)使用HASH 算法(散列值),对短信内容完全相同的数据进行排重。
(b)剔除干扰字符、还原变种关键字和广告主、剔除感叹词及助词等无意义内容后,剩余内容完全相同的短信进行相似短信排重。
(c)根据短信分词结果,按分词聚类系数(有×%黑关键字词(及其同义词)相同,可调整),对短信内容高度相似的数据进行聚类。
c)自动匹配审核。
(a)提取垃圾短信“综合特征”关键字、提取“黑关键字词”。
(b)依据历史短信样本池数据进行自动匹配审核,历史池通过人工二次补审不断补充积累。
(c)匹配条件:垃圾短信“综合特征”关键字相同、提取的“黑关键字词”(0~20 个字词,可设置调整)相同。
1.1.2.2 垃圾短信相似内容聚类
垃圾短信群发商在进行短信群发时,经常修改短信内容中的个别关键字词、新增关键字词变种,怎样快速识别相似短信,提取共性特征是“短信相似聚类”的一个重要目的。
a)按内容聚类:剔除“干扰字符”“还原变种关键字和广告主”,剔除“感叹词”及“助词”等“无意义关键字词”或“白关键字词”内容后,对剩余内容完全相同的短信进行相似短信排重。
b)按关键字词聚类:根据短信分词结果,按分词聚类系数(有×%的黑关键字词相同,可调整),对短信内容高度相似的数据进行聚类。
1.1.2.3 新策略智能生成
除现有策略优化外,新增策略也是以往策略维护工作中的难题,人工对7 个AND+7 个OR 的策略进行提取是一件非常复杂繁琐的工作,“垃圾短信监控策略生成模块”简而言之是为了将垃圾短信中提取出来的中文关键词作为拦截关键词而服务的,拦截系统可以利用此项技术来不断更新需要拦截的关键字策略组合。
a)提取的关键字可以是变种或非变种的组合。
b)提取垃圾短信中包含的“广告主号码”,并对广告主号码进行自动分类(如广告类、诈骗类、涉黄类等)。
c)中文关键字(短信分词)是循环自动提取的,通过对现有一定数量的已审核垃圾短信和正常短信样本进行分析,最后自动抽取出新的中文关键字词。
此功能支持对部分灰名单用户的拦截阈值单独配置。通过对不同灰名单用户垃圾短信发送情况的分析,设置不同的监控阈值可以更加有效地起到垃圾短信拦截作用。
1.2.1 实现思路
由于需要对灰名单进行分组,不同分组的灰名单可以配置不同的监控阈值。所以采用对号码进行用户分群的方式实现。利用现有垃圾短信监控系统的用户群功能。
1.2.2 用户群管理
支持对用户群的手工管理,包括添加、删除、修改用户群。用户群的名称可以自定义。在“用户群管理”页面上,可以创建多个不同的灰名单群。最多可以创建10个用户群。
1.2.3 用户群名单管理
支持为每个用户群添加自己的名单,可支持添加、删除、修改、导入、导出功能。在“用户群名单管理”页面上,将不同的灰名单添加到相应的灰名单用户群中。
1.2.4 用户群监控策略配置和监控
配置好用户群之后,可以在监控策略配置功能中,增加为每个用户群配置属于自己的监控策略,可以支持所有监控模型。每个用户群的策略,都可以设置自己的监控阈值和时间片。监控规则如下:
a)如果一个用户属于某个用户群,并且系统为这个用户群配置了监控策略,那么这个用户只受该用户群下的监控策略的约束;不会去匹配其他用户群或者一般号码的监控策略。
b)如果一个用户不属于任何用户群,则其匹配属于一般号码的监控策略。
c)如果一个用户属于某个用户群,但是并没有为这个用户群配置任意的监控策略,则该用户匹配一般号码的监控策略。
在智能分析的基础上,此功能可以实现对疑似垃圾短信和加黑号码的人工仲裁功能,一方面及时从嫌疑名单中发现真正的垃圾短信发送者,另一方面能将误抓的黑名单号码及时解黑,有效的保证用户短信业务的使用。
1.3.1 实现思路
从以下几点考虑,将人工仲裁功能集成在现有垃圾短信监控系统中。
a)减少投资:如果将人工仲裁单独设置为一套独立的系统,则需要增加单独的硬件资源,增大了投资。
b)统一管理,统一登录:如果是2套不同的系统,那么管理人员需要同时对2套系统进行管理,并且,对于部分系统用户,还会在同一时间登录2 套不同的系统。
c)仲裁实时性:如果是独立的仲裁系统,那么与现有垃圾短信监控系统中采用接口关联。垃圾短信监控系统在监控出疑似垃圾短信后,先将它们生成到一个文件中,然后上传到中间服务器上;人工仲裁系统需要从中间服务器上去下载文件,然后解析文件,存储到自身系统中,最后才推送到管理页面进行人工仲裁。在这个过程中,至少会有5~10 min以上的延迟。
1.3.2 人工仲裁用户管理
执行人工仲裁的用户,也即是客服人员,他们的用户名以及系统使用权限都集成到现有垃圾短信监控系统中,由垃圾短信监控系统的管理用户进行管理。
可以仅仅为这些人工仲裁的用户分配人工仲裁相关的权限,现有垃圾短信监控系统中的其他页面和功能他们都看不到。
1.3.3 人工仲裁实现
系统提供人工仲裁功能,按照短信内容对疑似垃圾短信进行审核,并展现每条短信的主叫号码和短信内容。仲裁的动作包括加黑、解黑。
a)任务分流。支持多人同时审核,系统自动将待审核的消息按照账户进行分流。每个在线的仲裁用户都可以获取到一份独立的待仲裁数据,每条消息在同一时间只会被一个用户取到。一批数据的仲裁时间为300 s,如果超过300 s,则这些数据自动回到数据库中,待下次或者其他审核人员获取。每个仲裁人员每次获取的待审核消息量可以配置。
b)仲裁数据源选择。待仲裁数据源可以选择以下3种类型。
黑名单:因为触发了监控系统中的“加黑”策略而被添加为黑名单的垃圾短信。
嫌疑名单:因为触发了监控系统中的“加嫌疑”策略而被添加为嫌疑名单的垃圾短信。
黑嫌疑名单:包括黑名单和嫌疑名单。
c)人工仲裁结果查询。
系统提供人工仲裁结果查询页面,可以查询经过人工仲裁后的短消息详细数据。包括审核人员、审核时间、审核结果等。
当用户从黑名单中解放出来的时候,二次放通策略功能可以将被误拦短信重新下发,保证正常短信的收发及正常资费的开展。
在垃圾短信监控系统中,存在部分被误拦截的数据。对于这部分数据,需要经过二次放通(人工审核后重新下发)功能来实现。该功能在垃圾短信监控系统中,单独采用一个页面实现。该功能需要短信中心配合完成。
图1示出的是二次放通实现思路。
图1 二次放通实现思路
a)数据来源。用于二次放通的数据来源为:在垃圾短信监控系统中,被监控策略拦截、被黑名单拦截的短消息记录。由于现有垃圾短信监控系统中的拦截表数据巨大,而二次放通功能只会用到2~3天的数据,所以本文提出的实现方式为:单独新增一个新的拦截信息表,将拦截消息拷贝一份存放在该表中,该表的最大存储时间为3天(短信最大有效期为3天)。二次放通功能使用新拦截表中的数据。
b)误拦截短信识别。提供专门的“短信特征识别”模块,该模块根据从垃圾短信拦截模块获取到的拦截信息进行一系列算法比对,识别出误拦截的短信内容同时送给二次放通模块进行处理。
c)误拦截短信提交。二次放通模块收到特征识别模块送来的消息后,根据原始主被叫号码、提交时间、短信内容等信息自动构造一条短信并通过和短信中心的接口提交给短信中心。
d)短信下发。短信中心收到从垃圾短信平台接口送来的消息后,对本消息不再进行垃圾短信鉴权,采取直接下发策略,下发流程与正常短信下发流程完全一样。
e)放通结果处理。当一条拦截消息被成功地下发到短信中心后,会在拦截表中去设置标识,表示该条拦截消息已经被二次放通过,避免下次再次查询时,查询到相同数据并且重复放通。
系统认为只要成功将短消息发送给短信中心,即认为该条短信二次放通成功,不管短信中心是否成功地将该短信发送给被叫号码。
垃圾短信监控系统在进行短信二次下发时,需要与短信中心之间建立连接,以便将这些需要放通的短信提交给短信中心,让短信中心将这些短消息发送给被叫号码。
2.3.1 接口实现
垃圾短信监控系统与短信中心间的接口采用SMPP 协议,用该协议中的Bind_Transmitter 和Sub⁃mit_SM消息完成。
这些二次放通的消息如果回到垃圾短信监控平台,可能会被再次拦截掉,因此,垃圾短信监控系统在提交二次放通短信给短信中心后,短信中心不能将这些消息再次转发给垃圾短信系统。
2.3.2 接口流量控制
为了避免同一时间发送给短信中心的二次放通短信量过大,给短信中心带来风险和影响,垃圾短信监控系统在发送二次放通短信时,需要做流量控制。
流量控制机制主要有以下2个。
a)一批二次放通的最大条数为1 000条。b)发往短信中心的速度为10~500条/s。这样,可以对短信中心的入口进行保护,避免大流量的短信对短信中心造成冲击。
另外,短信中心自身也有License 流量控制功能,从2个方面保证不会对短信中心造成影响。
2.3.3 短信中心路由配置
由于要求短信中心在收到垃圾短信监控平台提交的短信后,不能再将这些二次放通的消息转发给垃圾短信监控系统进行鉴权。所以,短信中心需要做相应的配置,根据垃圾短信监控平台登录的账号配置是否需要发送给SMMC(进行短信鉴权)。
按日、月统计一段时间内的放通条数、拦截总量以及放通率(见表1)。放通率以百分比的形式体现,精确到小数点后2位数。
表1 二次放通统计表
由于本次二次放通功能是将之前已经被拦截的短消息再次下发,所以,就存在最终用户体验的变化。比如,在现网短信中心上配置了如果某条短信被拦截之后,应答主叫号码的发送结果为发送失败,则第一次被拦截后,主叫号码收到的是发送失败的应答结果;然后,当客服人员审核后进行二次放通,这时之前被拦截的短消息又发送成功了,被叫号码收到了这条短信。
河北联通局点垃圾短信二次放通项目的开展,始于2012 年10 月,2013 年2 月完成了功能模块的开发,经验收合格后投入上线运营。该项目中基于垃圾短信智能语义分析的二次放通技术为国内首创,期间针对河北省垃圾短信监控数据建立了垃圾短信典型样本库,通过对样本数据的分析研究,通过规避传统关键字监控策略的方式,重点分析垃圾短信内容中的综合特征,将其作为垃圾短信的核心判断条件,创造性地实现了“垃圾短信自动审核技术”“垃圾短信拦截策略滚动循环机制”“策略有效性评估机制”等垃圾短信精细化治理应用模型,大幅降低了垃圾短信漏拦、误拦率;同时基于智能分析和人工辅助,误拦截短信实时二次放通技术的实现,不仅改善了短信业务体验,也直接带来了短信收入的提升,2013年增收100多万元,取得了良好的社会效益和经济价值。
本文仅是从几个基础的方面讨论了该技术的原理和应用,事实上,垃圾短信投放者为了躲避监控和拦截,对垃圾短信的投放方式和投放内容也在进行不断的变化和改进,垃圾短信的拦截,还有很长的路要走,需要理论与技术的不断创新。
[1] 吴世竞.垃圾短信过滤系统的设计与实现[D].北京:北京邮电大学,2012.
[2] 刘金岭.基于语义信息的中文短信文本相似度研究[J].计算机工程学报,2012,38(13).
[3] 刘化君. 计算机网络原理与技术[M]. 北京:电子工业出版社,2005.
[4] Randal E.Bryant.深入理解计算机系统[M].北京:机械工业出版社,2011.
[5] 中国联合通信公司短消息网关系统接口协议[S].北京:中国联合通信公司,2001.
[6] 杨杰.基于智能客户端的短信平台的设计与开发[J].微计算机信息,2008(3).
[7] 周学泳.短信息(SMS)与WAP开发与应用[M].北京:电子工业出版社,2000.
[8] 潘旭兵,林中.短信收发系统[J].电脑编程技巧与维护,2007(5).
[9] 王峰,林建辉.GSM短信平台的设计[J].中国测试技术,2005,31(3).
[10]赵巍,肖璋.短信平台的设计与维护[J].计算机工程与设计,2005(6).
[11]郑健. 短信平台在企业信息化建设中的应用[J]. 电力信息化,2007(5).
[12]蔡月茹,柳西玲.WEB SERVICE基础教程[M].北京:清华大学出版社.2005.
[13]谷和启.中间件技术及其应用[J].当代通信,2003(12).
[14]陈军,段良辉.基于J2EE的通用WEB信息系统框架设计与实现[J].计算机系统应用,2007(1).
[15]王鹏,董群.数据库技术及其应用[M].北京:人民邮电出版社,2001.