闫兴龙,刘奕群,马少平,张敏,茹立云
(1.清华大学计算机科学与技术系,北京100084;2.清华大学智能技术与系统国家重点实验室,北京100084;3.清华大学清华信息科学与技术国家实验室(筹),北京100084)
自21世纪以来,随着互联网的不断发展,我国网民人数稳定增加.据中国互联网信息中心测算,截至2011年12月,中国网民规模达到5.13亿,全年新增网民5 580万,互联网普及率较2010年提升4个百分点,达到38.3%.越来越多的人通过互联网获取各种信息,网络资源正逐渐成为人们获得知识的主要渠道,截至2011年12月底,中国网页数量为866亿个,比2010年同期增长44.3%.从网民数和网页数来看,现在网民从互联网获取信息存在信息过载的问题.过量的信息呈现在用户面前,用户很难快速地获取自己需要的信息,这样就降低了用户的信息使用效率.现在用户提高信息使用效率,过滤无用信息的主要方法是通过门户网站和搜索引擎.门户网站和搜索引擎在一定程度上满足了用户信息过滤的需求,但是门户网站和搜索引擎都有其存在的问题,门户网站的主要问题就是网页的过滤是通过人工的方法进行,这样会费时费力,而且并不能满足每个人的信息需求.搜索引擎是当前非常重要的用户获取信息的途径[1],其主要的问题有2个方面:1)无法提供用户的个性化需求;2)用户需要较为繁琐地提供需求来获取信息.为了给用户提供更好、便捷和个性化的服务,推荐系统应运而生.推荐系统和搜索引擎的主要区别在于:1)搜索引擎面向的是所有的用户,提供主流的结果,推荐系统更重要地是研究用户模型,利用用户的历史记录或者社交网络提供用户的个性化服务;2)搜索引擎是用户主导的,需要用户主动提供和修改查询词,推荐系统是由系统主导用户浏览,能够提供更好的推荐结果.高质量的推荐系统能够使用户更加依赖该系统,提高用户的忠诚度.
当前网页推荐系统基本上可以分为3种方法:基于日志挖掘的推荐方法、基于知识的推荐方法和基于内容的推荐方法.
1)基于日志挖掘的推荐方法.基于日志挖掘的推荐方法[2-6]主要是根据用户的Web访问日志信息,划分出用户的会话,通过模式匹配以及关联规则等数据挖掘的方法,推荐出用户需要的网页.这种方法很好地利用了用户行为,能够更好地实现个性化需求,但是由于互联网的扩散性和数据的稀疏性,这种方法只能应用于小规模的封闭集合.
2)基于知识的推荐方法.该方法更多的是利用知识工程的方法对网页进行分析,在某种程度上可以看成是一种推理技术.它主要是通过语义Web的分析[7-11],得到各个网页之间的关系,从而由系统推荐出网页.
3)基于内容的推荐方法.该方法[2,12]是当前网页推荐系统最主要的方法,它首先提取网页中用户的信息需求,然后通过一系列的数据挖掘方法得到推荐的对象.所提取的用户信息需求特征主要通过关键词来表示,关键词的质量是影响这种方法最主要的因素.当前基于内容的关键词提取主要通过以下2种方法实现:①基于已有的分词程序中的词语集合[2];②基于已有的词语词典[9].但是上述 2 种方法同样存在各自的问题,在第1种方法中,分词程序中的词语往往很短,无法得到更能反映用户需求的长关键词;第2种方法并不针对网页文本,网页文本和书面文本存在一定的差异,并不一定能表征用户的信息需求.本文对这2种方法得到的关键词候选集进行对比实验,结果表明,基于用户行为信息的领域关键词提取技术有更好的效果.
领域关键词抽取方法的流程如图1所示.
图1 基于Web资源领域关键词提取方法框架Fig.1 Framework of domain-specific term extraction based on Web resource
本文主要通过4步运算,可以得到最终领域关键词的集合.
1)网页标注.网页标注主要通过归纳总结找到某个领域的网页url的规律和特点,最终总结出基于url的网页筛选方法.通过该方法可以得到某领域相关的Web资源.大型新闻门户网站中某领域网页的url均是在某个子域名下,而某领域专业网站下的网页一般为该领域的相关文本.
2)预处理.预处理为新词发现算法处理语料库,对原有的网络文本进行整理,如对网页正文进行抽取,以及对原有文本不规则内容进行整理,然后对句子进行切分,得到多字集合,用于新词发现算法处理.
3)新词发现.新词发现基于上一步得到的候选多字集合.该方法首先统计候选多字集合中每个候选多字出现的频率,将低于某频率阈值的多字滤除出候选集合;然后分别计算每个候选多字的左右信息熵,将低于某熵值的多字滤除.
假设词语w属于候选集,另外,A={a1,a2,…,am}和 B={b1,b2,…,bk}分别为该词语对应的左右单字集合,则左右熵的定义为:
式中:C(w,ai)和C(w,bi)分别是词语w的左单字ai和右单字bi出现的次数.
对于一个实际存在的词而言,如果它的出现频率较高且左右单字集的频率也很高,则可以通过其左信息熵和右信息熵的方法进行过滤.
通过上一步的过滤,仍然有部分非词语无法过滤,如“化股份”这个词,从语义的角度来讲,该候选词中的“股份”应该和“化”分开,之前没有分开的原因是由于该词的左信息熵过大,这样依据上一步的规则无法被滤除.根据已有的信息熵和候选词的出现频率,提出基于递推的耦合度过滤算法,具体算法如下.
①对于字长为3的w,如果存在w1∈T2(T2为长度为2的候选词集合),w可分解为p+w1,p为单字.计算p和w1的耦合度为
如果存在w1∈T2(T2为长度为2的候选词集合),w可分解为w1+p,p为单字.计算p和w1的耦合度公式为
式中:γ和λ为参数阈值.如果耦合度的值等于1,则认为w不应该为词.
②对于字长为4的w,如果存在w1∈T3(T3为长度为3的候选词集合),w可分解为p+w1,p为单字.计算p和w1的耦合度公式为
如果存在w1∈T3(T3为长度为3的候选词集合),w可分解为w1+p,p为单字.计算p和w1的耦合度公式为
式中:γ和λ为参数阈值.在耦合度计算中,如果交集中的每个不等式都成立,则耦合度的值等于1,否则耦合度为0.如果耦合度的值为1,则认为w不应该为词,将w滤除.
对于参数的估计,采用最小二乘法实现,首先抽取已过滤候选集中的1 000个样本,对样本进行标注,根据抽取出样本的数据,计算出值和ER(w)或者EL(w)值,对已得到的数据进行组合,得到候选参数集合,通过计算每对候选参数所对应的样本正确率,将最高正确率的参数对作为估计出的参数.实验表明,该算法可以有效地滤除候选集合中的非词语,并保留实际存在的词语.
以此类推,可以得到更长长度的词.进行耦合度过滤之后,将得到的结果放入搜索引擎进一步过滤,最后得到候选关键词集合.
4)TF/IDF筛选.TF/IDF是一种常用的计算某个词在某篇文档或部分文档集合中重要程度的方法.基于TF/IDF筛选是为了更好地得到与领域相关的关键词,通过计算每个候选关键词在文本语料库中的TF/IDF值,得到每个候选关键词在领域文本语料库的重要程度.TF/IDF值的定义如下.
对于文档d,候选关键词w对应的词频及文档频度倒数特征的计算公式为:
式中:f(w)为词w在文档d中出现的次数,Σ f(w)为一篇文档的总词数,|D|为语料库中的文件总数,|Σ f(w)|为包含词语w的文件数目.使用类别的TF/IDF作为候选词的评价函数,其公式为
以上述领域关键词提取技术得到的领域关键词为候选集合,对于每个候选词,提取其在网页中的以下特征:标题中出现的次数、标题中第一次出现的位置、正文中出现的次数和在正文中第一次出现的位置,并且结合关键词本身的一些特征,如关键词的长度、其在领域关键词提取时的频率以及TF/IDF值.依据这7个特征,利用线性拟合的方法得到各个特征的参数,根据这些特征的特征值,得到排序较高的前3位结果作为推荐的关键词,即用户的兴趣点所在.
当前用户在浏览网页时获取所需信息的重要方式便是通过搜索引擎提交查询词,所以用户提交的查询词是反应用户兴趣的重要信息,以查询词为候选集合,对用户进行关键词推荐,能够很好地表征用户的信息需求.
基于用户查询词集合的关键词推荐方法,首先需要对查询词的候选集合进行选取,采用的查询词选取方法的步骤分为以下3步(如图2所示).
图2 用户查询词候选集合选取方法Fig.2 Framework of selecting query candidate
1)预处理.因为查询词中有部分噪音的存在,比如标点符号、不成词的查询.首先去除存在的标点符号,因为一般正常的查询都不存在符号.接下来去除查询频率过低和过高的查询词,频率过低的查询词一般不是真实存在的词语,而频率过高的查询词又没有真正的区分度,用户往往只是为了利用搜索引擎引导到某个网站,如“新浪”、“搜狐”等.
2)利用领域关键词提取技术中的新词发现算法,主要针对查询中小于等于4个字的结果,去除查询词中非词语,从而提高检索的速度,该算法能很好地滤除非词语.
3)建立基于长查询词和短查询词的映射关系.一方面,由于查询词的集合过于庞大,为了提高查询词匹配的速度,所以采用2级索引的方法.另一方面,短查询词反映的含义简单扼要,但是有部分查询词无法全面反映用户的意图,所以采用2级索引,能更加全面地反映用户的信息需求.
利用上述方法得到的短查询词集合为候选集合,对于每个候选词,提取其在网页中的以下特征:标题中出现的次数、标题中第一次出现的位置、正文中出现的次数和在正文中第一次出现的位置,并且结合查询词本身的一些特征,如查询词的长度、其查询的频率以及TF/IDF值.根据这些特征,利用线性拟合的方法,得到各个特征的参数值,通过计算得到排序靠前的查询候选词.
将得到的排序靠前的短查询词索引下的长查询词作为长查询词候选集合,对于这个候选集合中的候选词,以对应的短查询词的得分为基础,加入长查询词的查询频率这个特征.最后根据上述2个特征值,排序得到推荐的长查询词.从实验的结果可以看出,长查询词往往是与文本内容相关的信息内容.
关键词的质量是影响基于内容的网页推荐系统效果的重要因素,使用计算不同准确率的方法评价关键词的推荐方法,准确率P的定义为
由于领域关键词提取技术只能提取出单个领域的关键词,因此本文主要针对单个领域的网页进行推荐,下面以财经领域的网页为例进行实验.
利用用户浏览行为信息,抽取用户在浏览过程中点击的锚文本信息,以该信息作为提取关键词的背景语料库.锚文本是指由网页制作者编写的,用于描述对应的超链接网页内容的文本样式.数据是在“用户体验改进计划”中抽取的,数据收集经过了用户的同意,并删除了用户的IP、用户名等个人信息.查询集合采用某商业搜索引擎18 d(2010-10-08—10-25)的查询日志,对于锚文本,采用同一时期的用户浏览日志信息.
随机选取10 000个网页url,从中提取出财经领域的网页,并且筛选出不合格的网页,共提取出134个与财经相关的网页,利用领域关键词提取方法对相关网页进行推荐,然后通过人工标注,计算出该方法的前1位和前3位的准确率.
基于用户查询集合的关键词推荐方法的实验则是从10 000个url中随机抽取1 000个进行推荐,并计算相应的前1位和前3位的准确率.
通过标注,得到基于领域关键词提取技术和基于查询词集合的关键词推荐方法在不同网页下的实验结果,如表1所示.从实验结果可以看出,这2种方法得到的关键词推荐都能得到较好的推荐效果,但是基于领域关键词提取技术的关键词推荐效果更为显著,具有更高的准确率.
表1 2种方法的实验结果Table 1 Results of two methods %
对实验的结果进行具体的分析,造成基于领域关键词提取技术推荐错误的主要原因在于不存在相对应的候选关键词.例如:网页标题为“主力研究”,正文为“沪深两市依旧是小盘股全面活跃,大盘股不涨反跌.虽然不少投资者……”,基于领域关键词提取技术的推荐方法得到的结果为“主力”.通过分析,候选集合中没有“主力研究”这个词,但在该网页中,只有“主力研究”能够很好地反映该网页的内容.对于基于查询集合的关键词推荐方法而言,导致推荐结果不对的原因主要是某些关键词在查询
词中并没有出现,导致候选集合中并没有这些关键词.有如下的例子:网页标题为“Q友乐园”,网页正文为“Q友乐园,专注分享精品头像与个性素材的专业性网……”,查询词候选集合中,并没有“Q友乐园”这个候选词,所以最终的推荐结果中,只推荐了“乐园”这个词.由于领域关键词提取技术主要针对单个领域的词
进行相应的过滤和提取,所以能够更好地获取某个领域的关键词.而基于用户查询集合的关键词推荐方法则主要依据用户提交的查询词,造成查询词候选集合词汇不足的主要原因有:1)用户提交的查询词无法涵盖所有关键
词;2)由于查询词集合过大,对长尾查询词进行过滤,导致丢失了部分有用的查询词数据.
基于领域关键词提取技术的关键词推荐方法可以更好地把握用户的信息需求,但是其有一定的局限性,只能在单个领域中发挥较好的作用.而基于查询词集合的关键词推荐方法可以在各个领域推荐出用户需求的信息,虽然在准确率和召回率方面有一定的缺陷,但是其普适性对于推广该方法有很大的帮助.接下来的工作中,将结合这2种方法的优缺点,得到更高效、准确的关键词推荐方法.
[1]许海玲,吴潇,李晓东,等.互联网推荐系统比较研究[J].软件学报,2009,20(2):350-362.XU Hailing,WU Xiao,LI Xiaodong,et al.Comparison study of internet recommendation system[J].Journal of Software,2009,20(2):350-362.
[2]张培颖.基于Web内容和日志挖掘的个性化网页推荐系统[J].计算机系统应用,2008,17(9):9-12.ZHANG Peiying.Personalized web page recommendation system based on web content and log mining[J].Computer System and Applications,2008,17(9):9-12.
[3]YANG Qingyan,FAN Ju,WANG Jianyong,et al.Personalizing web page recommendation via collaborative filtering and topic-aware Markov model[C]//IEEE International Conference on Data Mining.Sydeny, Australia,2010:1145-1150.
[4]SUMATHI C P,VALLI R P,SANTHANAM T.Automatic recommendation of web pages in web usage mining[J].International Journal of Computer Science and Engineering,2010,2(9):3046-3052.
[5]刘强,郭景峰.基于用户访问路径分析的页面推荐模型[J].计算机技术与发展,2007,17(1):151-154.LIU Qiang,GUO Jingfeng.A web page recommendation model based on analyzing user access pattern[J].Computer Technology and Development,2007,17(1):151-154.
[6]WU Y H,CHEN Y C,CHEN A L P.Enabling personalized recommendation on the web based on user interests and behaviors[C]//Proceedings of the 11th International Workshop on Research Issues in Data Engineering.Washington,DC,USA:IEEE Computer Society,2001:17-24.
[7]邵华,高凤荣,邢春晓,等.基于VSM的分层网页推荐算法[J].计算机科学,2006,33(11):85-88,105.SHAO Hua,GAO Fengrong,XING Chunxiao,et al.A hi-erarchical webpage recommendation algorithm based on vector space model[J].Computer Science,2006,33(11):85-88,105.
[8]杨学明,蒋云良.基于语义的自适应个性化网页推荐[J].情报理论与实践,2009,32(3):93-96.YANG Xueming,JIANG Yunliang.Based on semantic adaptive personalized pages recommendation[J].Information Studies:Theory and Application,2009,32(3):93-96.
[9]梁邦勇,李涓子,王克宏.基于语义Web的网页推荐模型[J].清华大学学报:自然科学版,2004,44(9):1272-1276,1281.LIANG Bangyong,LI Juanzi,WANG Kehong.Web page recommendation model for the semantic web[J].Journal of Tsinghua University:Science and Technology,2004,44(9):1272-1276,1281.
[10]袁燚,张璟,李军怀.基于网页关键词的个性化Web推荐算法[J].西安理工大学学报,2007,23(1):59-61.YUAN Yan,ZHANG Jing,LI Junhuai.A personal web recommendation algorithm based on web page key words[J].Journal of Xi'an University of Technology,2007,23(1):59-61.
[11]杨学明.基于本体学习的个性化网页推荐[J].情报杂志,2009,28(3):171-174,198.YANG Xueming.Personalized web recommending based on ontology learning[J].Journal of Intelligence,2009,28(3):171-174,198.
[12]赵银春,付关友,朱征宇.基于Web浏览内容和行为相结合的用户兴趣挖掘[J].计算机工程,2005,31(12):93-94,198.ZHAO Yinchun,FU Guanyou,ZHU Zhengyu.User interest mining of combining web content and behavior analysis[J].Computer Engineering,2005,31(12):93-94,198.