发明内容
鉴于以上存在的问题,本发明的目的在于:提供一种通过人工智能专家系统构建的基于“URL清洗知识库”的“垃圾”内容过滤方法,旨在解决电信运营商百亿级海量“垃圾”内容(页面URL)清洗的问题。
本发明的目的是通过如下技术方案实现:
一种基于专家系统的URL清洗知识库的“垃圾”内容过滤方法,其特征在于,包括如下步骤:
(1)格式验证:完整性验证,即访问记录的核心字段是否包括用户ID,URL格式,访问时间(包括日期YYYY-MM-DD和时间HH:MM:SS),只要不包括其中一个字段,即为数据不完整,则清洗掉该条记录;一致性验证是验证用户ID、URL和访问时间格式是否规范,若不规范,则清洗掉该条记录;
(2)“完全URL”垃圾清洗推理:从“URL清洗知识库”读取清洗知识,在完全URL特征的Hash散列表中,推理在原始的访问记录页面URL中是否存在“完全URL”为“垃圾”页面特征?若存在,执行步骤(7)推理。若不存在,则进行步骤(3)推理;
(3)“含一级域名”垃圾清洗推理;从原始URL中截取“一级域名”,构造为特征容器包装类TSDL,在“一级域名”特征的Hash散列表中,推理是否存在TSDL为“垃圾”页面的特征。若存在“一级域名”,则进行步骤(5)推理。若不存在,则执行步骤(4)推理;
(4)“不含一级域名”垃圾清洗推理:若不存在“一级域名”,则获取不含一级域名“垃圾”页面特征知识的List,在List中包括后缀、左侧、左右和包含四类匹配知识,按照知识特征的置信度降幂顺序进行匹配推理。若匹配成功,则执行步骤(7)推理。若匹配失败,则数据清洗结束。
(5)“完整域名”垃圾清洗推理:从原始URL中截取“完整域名”,构造为特征容器包装类DOMAIN,在完整域名特征的Hash散列表中,推理是否存在DOMAIN为“垃圾”页面的特征;若存在“完整域名”,则获取完整域名“垃圾”页面特征知识的List,在List中有右侧匹配知识和包含匹配知识,如果匹配成功,执行步骤(7)推理,如果匹配失败,执行步骤(6)推理;
(6)“不完整域名”垃圾清洗推理:若在Hash散列表中不存在“完整域名”,则获取不完整域名“垃圾”特征的知识List,在List中包括左侧、左右和包含三类匹配知识,按照“不完整域名”知识特征的置信度降幂顺序进行匹配推理。若匹配成功,则执行步骤(7)推理。若匹配失败,则执行步骤(4)推理;
(7)若清洗推理匹配成功,则对“URL清洗知识库”进行更新,同时在原始“移动互联网访问记录”中删除“垃圾”数据,数据清洗结束。
其中步骤(2)中的“URL清洗知识库”的初始集建立,其特征在于:是通过一天的“基于客户移动互联网访问行为分析”Top排名的“垃圾”页面作为训练集,通过下一天Top排名的“垃圾”页面作为测试集,反复测试,直至达到要求的覆盖率后而建立完成,其是一个机器分析人工验证的过程。
所述步骤(7)中的“URL清洗知识库”知识更新,其步骤包括:
(1)根据客户移动互联网访问行为分析,计算出“垃圾”页面URL的PV值(Page View值)和置信度,并给出“垃圾”页面和对应的URL特征的Top排名;
(2)新增URL清洗知识的添加:根据“垃圾”页面的置信度,经人工确认,将新URL清洗知识添加到规则中,即将完全匹配、一级域名和完整域名Hash特征包装类中的知识添加到“URL清洗知识库”中,和将特征包装类构造下的List中的后缀规则、右侧规则、左侧规则、包含规则和左右规则中的知识添加到“URL清洗知识库”中;
(3)URL清洗推理规则的更新:实时更新基于URL清洗的推理规则,即在完全匹配、一级域名和完整域名Hash特征包装类中更新检索序列,在特征包装类构造下的List中更新后缀规则、右侧规则、左侧规则、包含规则和左右规则中更新URL清洗知识的推理优先级别;
(4)URL清洗陈旧知识的删除:根据客户移动互联网访问行为分析,若URL清洗知识N天没有被使用过,则认定为陈旧知识,从“URL清洗知识库”中删除。N为预先设置的阈值。
本发明方案的工作原理及技术效果:
本发明涉及到一个专家系统(ExpertSystem),起源于20世纪60年代,属于人工智能的一个发展分支,是一个或一组能在某些特定领域内,应用大量的专家知识和推理方法求解复杂问题的一种人工智能计算机程序。通常由人机交互界面、知识库、推理机、解释器、综合数据库、知识获取等6个部分构成。本发明只涉及基于“URL清洗知识库”的页面URL的内容分类推理方法,不涉及专家系统的人机交互界面、解释器、综合数据库和知识获取。
本发明是涉及到一个完整URL构成:协议://用户名:密码子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志。顶级域名分为国际和国内,如,.com为国际顶级域名,.cn为国家顶级域名。一级域名是在顶级域名前再加一级,如baidu.com、sina.com.cn;二级域名是在一级域名前再加一级,如music.baidu.com、sports.sina.com.cn,以此类推N级域名。本发明中的完整域名=子域名+域名+顶级域名。
本发明对如此复杂的、海量的访问数据,首先要根据“URL清洗知识库”,然后调用“URL清洗推理机”对数据进行清洗,清洗掉图片、导航、功能、统计、天气、错误、流量、登录、下载、版权、接口、脚本等不是“有效”访问内容的“垃圾”页面信息。
本发明涉及到的“URL清洗知识库”中的知识由两种形式组成:
1)“完整URL”、“一级域名”和“完整域名”构成的Hash Table知识
2)由通配符组成URL集合的左侧匹配、右侧匹配、左右匹配和包含匹配等List知识
“URL清洗知识库”初始集的建立是通过移动互联网客户行为分析,获取一天“垃圾”页面URL浏览数(PV值)的Top N排名作为训练集,再用下一天“垃圾”页面URL浏览数的Top N排名作为测试集,来检查分析“垃圾”页面抽取的准确性和覆盖程度是否达到预想的M%。当覆盖程度达到M%以上时,则“URL清洗知识库”初始集建立完成。当覆盖程度达不到M%时,则再取下一天的Top N“垃圾”页面数据作为训练集继续训练,直至达到为止。其中:N和M%为预先设置的经验阈值。
本发明中的“URL清洗推理机”是基于Hash散列表数据结构架构下,其清洗推理过程如下:
格式验证:验证访问数据的完整性和一致性,完整性是验证访问记录的核心字段是否包括用户ID,URL格式,访问时间(包括日期YYYY-MM-DD和时间HH:MM:SS)等,只要不包括其中一个字段,即为数据不完整,则清洗掉该条记录。一致性是验证用户ID和访问时间格式是否规范,若不规范,则清洗掉该条记录。
在格式验证的基础上,从“URL清洗知识库”中读取清洗知识,在“完全URL”特征的Hash散列表中,进行“完全URL”推理,即推理在原始的访问记录页面URL中是否存在“完全URL”为“垃圾”页面特征?例如:在某一时间段内,在Hash散列表中存储的“完全URL”为“垃圾”页面特征的知识如下:
索引值 |
Hash列表中的“完整URL”清洗规则 |
类别 |
置信度 |
0 |
Entry=222.186.14.3/ |
搜索引擎 |
5.78% |
1 |
Entry=mob.3g.cn/sorry/404/error.html |
错误 |
4.96% |
2 |
Entry=222.186.14.5/ |
搜索引擎 |
4.52% |
3 |
Entry=mob.3g.cn/sorry/404/404.wml |
错误 |
3.89% |
4 |
Entry=www.umeng.com/check_config_update |
软件升级 |
3.57% |
|
…… |
|
|
若在完全URL特征的Hash散列表中存在“完全URL”,则从原始访问记录中清洗掉该条访问记录,重新计算该条清洗知识的置信度,更新“URL清洗知识库”中的清洗知识,数据清洗完毕。
若在“完全URL”特征的Hash散列表中不存在“完全URL”,则进行“含一级域名”的推理,从原始URL中截取“一级域名”,构造为特征容器包装类TSDL,在“一级域名”特征的Hash散列表中,匹配是否存在TSDL为“垃圾”页面的特征。例如:在某一时间段内,在Hash散列表中存储的“含一级域名”为“垃圾”特征的知识如下:
索引值 |
Hash列表中的“一级域名”清洗规则 |
频置信度 |
0 |
Entry=qq.com |
9.25% |
1 |
Entry=cnzz.net |
8.36% |
2 |
Entry=baidu.com |
7.25% |
3 |
Entry=taobao.com |
4.37% |
4 |
Entry5=qlogo.cn |
3.58% |
|
…… |
|
若在Hash散列表中不存在“一级域名”,则进行“不含一级域名”的推理,获取不含一级域名“垃圾”特征的知识List,在List中包括后缀、左侧、左右和包含四类匹配知识。例如,在不含“一级域名”List下的后缀匹配知识如下:
例如,在“不含一级域名”List下的左侧匹配知识如下:
例如,在“不含一级域名”List下的左右匹配知识如下:
例如,在“不含一级域名”List下的包含匹配知识如下:
然后,按照List下知识特征的置信度降幂顺序进行匹配推理,若匹配成功,则从原始访问记录中清洗掉该条记录,同时重新计算该条清洗知识的置信度,并更新“URL清洗知识库”中的清洗知识。若推理失败,则数据清洗结束。
若在Hash散列表中存在“一级域名”,则进行“含一级域名”推理,即“完整域名”推理:从原始URL中截取“完整域名”,构造为特征容器包装类DOMAIN,在“完整域名”特征的Hash散列表中,推理是否存在DOMAIN为“垃圾”特征?例如:在某一时间段内,在Hash散列表中存储的“完整域名”为“垃圾”特征的知识如下:
若在Hash散列表中存在“完整域名”,则获取完整域名“垃圾”特征的知识List,在List中有右侧匹配和包含匹配两类知识。例如,在存在“完整域名”List下的右侧匹配知识如下:
例如,在存在“完整域名”List下的包含匹配知识如下:
然后,按照List下知识特征的置信度降幂顺序进行匹配推理。如果匹配成功,则从原始访问记录中清洗掉该条记录,同时重新计算该条清洗知识的置信度,并更新“URL清洗知识库”中的清洗知识。若推理失败,转向在Hash散列表中不存在“完整域名”的情况。
若在Hash散列表中不存在“完整域名”,则获取不完整域名“垃圾”特征的知识List,在List中包括左侧、左右和包含三类匹配知识。例如,在不存在“完整域名”List下的右侧匹配知识如下:
例如,在不存在“完整域名”List下的左右匹配知识如下:
例如,在不存在“完整域名”List下的包含匹配知识如下:
然后,按照List下知识特征的置信度降幂顺序进行匹配推理。如果匹配成功,则从原始访问记录中清洗掉该条记录,同时重新计算该条清洗知识的置信度,并更新“URL清洗知识库”中的清洗知识。若匹配失败,转向“不含一级域名”推理。
本发明中的“URL清洗知识库”更新包括三个模块,添加、更新和删除三个模块。首先,是添加新的清洗知识,通过移动互联网用户行为分析,计算出“垃圾”页面URL的置信度,根据置信度的Top排名,经人工确认,将新URL清洗知识添加到规则中,即在完全匹配、一级域名和完整域名Hash特征包装类中添加清洗知识到“URL清洗知识库”中,和在特征包装类构造下的List中的后缀规则、右侧规则、左侧规则、包含规则和左右规则中添加清洗知识到“URL清洗知识库”中;
其次,是实时更新基于URL清洗的推理规则,即在完全匹配、一级域名和完整域名Hash特征包装类中更新检索序列,在特征包装类构造下的List中更新后缀规则、右侧规则、左侧规则、包含规则和左右规则的推理优先级别。
最后,根据移动互联网用户行为分析,来判断是否删除陈旧的知识。若URL清洗知识N天没有被使用过,则认定为陈旧的知识,从“URL清洗知识库”中删除,天数N为预先设置的阈值。
本发明采用的技术方案,其特点在于通过专家确认的“URL清洗知识库”,通过完全URL、含一级域名、不含一级域名、完整域名和不完整域名等清晰规则的推理,以及与其下List的左侧、右侧、左右和包含等清洗知识的匹配,将不是用户最终浏览的“垃圾”页面URL清洗掉,其数据清洗的速度、效率、准确率方面与其他数据清洗方法相比,有了极大地提高。
具体实施方式
本发明是在专家系统下,基于URL清洗知识库,将不能代表用户兴趣特征的“垃圾”内容清洗掉,下面结合附图进行详细说明:
在图1中,基于专家系统“URL清洗知识库”,在Hash散列表数据结构架构下,其清洗推理过程如下:
步骤1:调用101模块从102“移动互联网访问记录”数据文件中读取原始数据,即访问记录。
步骤2:根据103模块验证数据格式,即验证验证访问数据的完整性和一致性,完整性是验证访问记录的核心字段是否包括用户ID,URL格式,访问时间(包括访问日期)等,只要不包括其中一个字段,即为数据不完整,则调用104模块在“移动互联网访问访问记录”102原始数据中清洗掉该条记录。一致性是验证用户ID和访问时间格式是否规范,若不规范,则调用104模块在“移动互联网访问访问记录”102原始数据中清洗掉该条记录。
步骤3:调用105模块从106“URL清洗知识库”读取清洗知识,然后在“完全URL”特征的Hash散列表中,进行第一级推理,即推理在原始的访问记录页面是否存在“完全URL”为“垃圾”页面特征。
步骤4:根据107模块判断原始的访问记录页面URL在“完全URL”特征的Hash散列表中是否存在“完全URL”?若存在,则调用104模块从102“移动互联网访问数据”中清洗掉该条访问记录,再调用118模块重新计算该条清洗知识的置信度,更新106“URL清洗知识库”中的清洗知识,数据清洗结束。若不存在,则进行步骤5推理。
步骤5:调用108模块,从原始的访问记录页面URL中截取“一级域名”,构造为特征容器包装类TSDL,在“一级域名”特征的Hash散列表中,根据109模块推理是否存在TSDL为“垃圾”特征?若不存在“一级域名”,即“不含一级域名”,则执行步骤6推理。若存在,则执行步骤7推理;
步骤6:调用110模块获取不含一级域名“垃圾”页面特征知识的List,在List中包括后缀、左侧、左右和包含四类匹配知识。按照List下知识特征的置信度降幂顺序进行匹配推理。若匹配成功,调用104模块从原始访问记录中清洗掉该条访问记录,再调用118模块重新计算该条清洗知识的置信度,更新106“URL清洗知识库”中的清洗知识。若匹配失败,则推理完成、清洗结束。
步骤7:若存在“一级域名”,则进行“完整域名”垃圾页面清洗推理:调用111模块从原始的访问记录页面URL中截取“完整域名”,构造为特征容器包装类DOMAIN,在“完整域名”特征的Hash散列表中,根据112模块推理是否存在DOMAIN为“垃圾”页面特征?若存在,则执行步骤8推理。若不存在,则执行步骤9推理;
步骤8:存在“完整域名”推理,则调用113模块获取完整域名“垃圾”页面特征知识的List,在List中有右侧匹配知识和包含匹配知识。根据114模块判断“完整域名”是否匹配成功?若匹配成功,调用104模块从原始访问记录中清洗掉该条访问记录,再调用118模块重新计算该条清洗知识的置信度,更新106“URL清洗知识库”中的清洗知识,数据清洗结束。若匹配失败,则执行步骤9;
步骤9:不存在“完整域名”推理,调用115模块获取不完整域名“垃圾”页面特征知识的List,在List中包括左侧、左右和包含三类匹配知识,按照“不完整域名”知识特征的置信度降幂顺序进行匹配推理。根据116模块判断是否匹配成功?若匹配成功,则调用104模块从原始访问记录中清洗掉该条访问记录,再调用118模块重新计算该条清洗知识的置信度,更新106“URL清洗知识库”中的清洗知识;若匹配失败,则执行步骤6推理;
在图2中,“URL清洗知识库”的添加、维护和删除维护过程如下:
步骤1,调用201模块进行基于移动互联网中“垃圾”页面的客户访问行为分析,即根据202“垃圾URL特征数据”中间文件的新增知识,分析客户在移动互联网上访问“垃圾”页面行为呈现出来的规律,计算出“垃圾”页面知识的置信度。
步骤2,调用203模块进行新增URL清洗知识的添加,根据新增“垃圾”页面URL知识特征的置信度,即在Hash表中添加完全URL、一级域名、完整域名等“垃圾”检索特征.在各特征下List里的左侧、左右、包含和右侧规则中添加清洗知识,并根据置信度确定优先级别。经205人工确认后,调用206模块将新增URL清洗知识添加到204“URL清洗知识库”中。
步骤3,调用207模块进行“垃圾”URL清洗推理规则的更新,从204“URL清洗知识库”中调出全部的清洗知识,在“垃圾”页面URL清洗过程中,实时维护在各特征下List里的左侧、左右、包含和右侧规则中的清洗知识,计算其置信度重新确定推理的优先级别。然后调用208模块对204“URL清洗知识库”进行更新。
步骤4,调用209模块删除陈旧的知识,从204“URL清洗知识库”中调出全部的清洗知识,挖掘出N天没有使用过“垃圾”URL清洗的知识,调用210模块从204“URL清洗知识库”中删除。天数N为预先设置的阈值。