APP下载

基于RSS的层次结构用户兴趣模型的分析与设计

2011-11-23张文欣

关键词:子类向量节点

刘 珺, 张文欣

(1.河南工程学院 计算机科学与工程系,河南 郑州 451191;2.郑州大学 信息工程学院,河南 郑州 450001)

随着互联网信息服务的快速推广,个性化信息服务技术也得到了越来越多的关注,在很多领域都开始了探索性的应用.国外的很多网站都可以提供个性化搜索的定制服务,如Google的网站用户通过注册后,可以将检索历史存储在服务器上,实现个性化检索.个性化数字图书馆也已经成为广大学生、教师和科研人员最方便、高效的信息查询平台[1].

RSS是一种基于XML语言的数据交换规范,是站点与站点之间称为“聚合内容”的一种内容共享的简易方式[2].通过RSS的联合与聚合,用户只需在客户端安装支持RSS的信息推送软件,登录网站后就可以根据站点提供的信息列表直接选择自己需要的文章[3].无论是何种应用,RSS聚合器实现的前提就是通过对客户端的Web访问日志进行数据挖掘,建立用户兴趣模型,才能聚合并生成关于用户感兴趣的信息的RSS Feed[4],并据此进行信息的推送,所以用户兴趣模型的质量直接决定了个性化信息服务系统的整体工作效果.

本文通过研究用户兴趣模型的结构与形式化表示法,结合兴趣节点的向量表示法,提出了多层树形结构的用户兴趣模型以及用户兴趣模型的更新方案,设计了一套高效的、可动态更新的用户兴趣集的建模方法.

1 层次结构用户模型的设计

1.1 功能设计

对于大部分单机上网的用户而言,经过一段时间的累积,会逐步形成以个人兴趣为核心的信息访问习惯,而且,用户访问的页面所涉及的信息内容非常丰富,时效性也很强,这就要求所设计的用户兴趣模型必须包括对用户的兴趣文本内容以及相应的用户兴趣度的反映[5].用户兴趣模型的核心功能包括2个方面:

(1)设计多层次树形结构的用户兴趣结构

通过对大量用户的兴趣分析可知,人的兴趣结构非常适合用层次化的树形结构来描述.在这种结构中,用户的兴趣被层层分解,逐级细化为一个兴趣树.根节点代表大的用户兴趣类别,细化的分支代表在该类别中用户更偏好其中的哪个领域.在为用户提供个性化服务时,可以通过从根节点开始遍历整个兴趣树的方式,给用户提供逐级细化的兴趣内容描述.

(2)用户兴趣集的遗忘

最初,用户兴趣模型的初始化信息来源于用户注册账号时填写的RSS订阅列表,随着日后访问量的增加,可以根据用户的Web访问日志对已有的用户兴趣模型进行更新.但是,随着时间的推移,用户曾经浏览过的历史记录中的文本内容不断增加,用户的兴趣模型数据集也会因此不断膨胀,为了避免存储空间的浪费和访问效率的降低,有必要定期地对用户兴趣集进行过滤和转移.

本设计在用户兴趣模型中特意添加了“遗忘因子”的使用,所谓的“遗忘因子”是一个随时间递增的标识数值,它用来表示从第一次访问后,用户已经有多长时间没有再浏览这个关键词,初始值为0,随着系统的运行和时间的推移自动增值.当某个兴趣类别遗忘因子的值增加到设定的阈值时,系统会自动将其从用户兴趣模型数据集的二维链表中移出.

1.2 模型的形式化设计

如前所述,这里把用户的兴趣模型看作一个树状的层次结构,具体进行形式化描述时,各个细化的兴趣节点都选择使用向量空间的方式来描述,即根据已经存在的关键字类别以及相应的用户兴趣度的值来确定该兴趣节点的向量.

由网页中提取文本的基础是文本信息的表示法.文本的表示通常有基于向量、基于语义和基于概念3种方法.结合本文的设计,这里选用目前应用最为广泛的向量空间模型(Vector Space Model,VSM)表示法.该方法首先将Web访问日志中的所有文本进行分词处理,然后提取特征词、建立特征词空间,最后将每个文本表示成该空间上的向量[6].页面中所有的文本信息都可以分解为字、词、词组或短语中最基本的语言构成单元,这些分解后的构成单元的集合常常用来表示一段文本的内容特征.这些标识文本内容特征的构成单元被统称为文本的项,那么任何一段文本都可以用自己的特征项集(Term List)表示为D(t1,t2,…tk…,tn),其中tk是项,1≤k≤n.

使用RSS聚合器采集到用户感兴趣的信息之后,就可以对页面中文本信息的内容进行分词化处理,将文本解析为其特征项集合,然后据此将该文本用向量的形式表示出来.分词处理是指将文档中的内容进行切分,依据其词性进行标注,如使用词法分析ICTCLAS系统[7]等方法,经过词性标注,整个句子会被划分为几个独立的部分,以便于从中找出关键字.该模型如图1所示,顶层节点为模型标识,第2层为分支层,第3层为项目层,下面2层表示扩展层.

图1 用户兴趣模型层次结构示意图Fig.1 User′s interest model with multi-level structure diagram

以下列出了层次模型的各层次的节点的形式化表示.

U=(USER-ID,USER-Name,…)

顶节点

Im=(IDm,IDfm,Dm,Wm,Tm)

第2层节点

Ix=(IDx,IDfx,Dx,Wx,Tx)

第3层节点

Iy=(IDy,IDfy,Dy,Wy,Ty)

第4层节点

Iz=(IDz,IDfz,DZ,WZ,Tz)

第5层节点

其中,m、x、y、z均为正整数变量,I为兴趣类名,D为子兴趣类的文本向量表示,W是兴趣权重,T表示“遗忘因子”.

一个兴趣项的权重表示用户对这个兴趣项的认可程度.它可以用1~9的正整数来表示.权重小于5表示相应的项对这个兴趣起否定作用,大于5表示对这个兴趣起支持作用,这与著名专家系统MYCIN的证据可信度表示法类似,比较符合人们的思维习惯[8].

将文本以向量形式表示并将其合理地分解成若干项集,从而转换到实数域中,这种兴趣模型的形式化表示方法有效地提高了自然语言文本的可计算性和可操作性,使模式识别等各种成熟的计算方法得以应用.只有了解用户对不同Web页面的感兴趣程度,才能建立准确的用户兴趣模型.我们把用户对浏览过的不同页面的兴趣关注度用“用户兴趣度”来表示.在文本的向量表示格式中再引入文本项权重W,使得文本的表示成为:

D(t1,W1:t2,w2;…tk,wk;…tn,wn),

简单表示为D(w1,w2,…wk……,wn),也就是可以将(t1,t2,…tk…,tn)看作一个n维向量,将w1,w2,…wk…,wn理解为n个值.

图2 文本的向量空间模型示意图Fig.2 VSM of text diagram

相似度指2个文本Dm和Dn之间的内容相关程度,常常用Sim(Dm,Dn)来度量.当文本被表示为向量空间模型时,可以使用向量之间的内积对文本间的相似度进行计算,也可借助于向量空间中向量之间的某种距离来表示文本间的相似度,如图2所示.

Sim(Dm,Dn)=Dm1*Dn1+Dm2*Dn2+…+Dmx*Dny,

其中,x和y分别代表2个文本向量的维数.这里可以给Sim设定一个上限值,当文本相似度大于这个值时,表示2个文档高度相似,或者可以说2个文档实为同一文档.这说明,用户在反复访问内容非常相似的文本,也就是说该文本和用户的兴趣集很接近.相反,则认为2个文本完全不同,或者说用户对此毫无兴趣.

1.3 用户兴趣模型建立的流程设计

用户兴趣模型建立的流程如图3所示.

图 3 用户兴趣模型构建的流程示意图Fig.3 Process flow diagram of building user′s interest model

模型构建的算法流程先从用户兴趣子类的划分开始.用户兴趣子类是文本分类的最终结果,因此,用户兴趣子类的结构直接决定了进行文本分类时应该采用何种方式.

进行用户兴趣子类结构划分时,首先将所有需要分类的文本进行预处理以及分词处理,然后删去消极关键字,进行词频统计,最后将文档向量化.关键词的抽取就是从有待分类处理的信息中提取其特征项的过程.文本的向量化完成之后,文本向量就成为系统所使用的层次化分类体系的主体.

对于RSS订阅中用户兴趣模型的初始化,可直接进行文本的向量化及其分类,省去了预处理及分词处理等过程.当用户的访问量有了一定的累积,通过Web挖掘也获得了一定量的用户兴趣信息时,就可以对用户的兴趣模型进行调整和丰富了,两者相结合,完整的用户兴趣模型就可以建立起来.在用户兴趣信息不断扩充的过程中,可以根据用户兴趣类的划分及对应的用户兴趣度,再结合用户兴趣集的遗忘因子,对已经存在的用户兴趣模型不断进行优化和更新,使该模型能够尽可能全面地反映用户的兴趣及其变化.

2 用户兴趣模型的更新

要想让用户的兴趣模型及时反映该用户的最新状态,用户兴趣模型就必须能够及时更新.应用系统必须定期捕捉新的用户访问信息,更新对用户访问记录的分析,与用户模型中已经保存的数据比对整合,形成新的用户模型.

用户兴趣模型的更新分为2个部分,分别是用户访问类别子集兴趣度的更新和用户访问类别子集本身的更新.其中,兴趣度的更新主要是通过对点击行为的跟踪记录来实现的.也就是说,用户有点击行为代表该用户对当前兴趣子集的文本特征项的兴趣度数值需要增加,而无点击行为则表示该兴趣度数值需要减少.而用户兴趣子集本身的更新则是对用户的点击行为所涉及的页面进行处理,再次进行分词处理并从中提取文本特征项集合,也将其表示为向量,并与原有的兴趣子集向量空间进行合并.这时,可以将原先的用户兴趣子集的中心向量进行更新,也可以直接添加建立新的兴趣子集.

2.1 用户兴趣度的更新

某个用户兴趣的各个项的权重值可用于标记用户对该项的兴趣程度,而各个项的权重值形成的数据集合很重要,根据这个数据集合可以来合并类似的兴趣,以便区分不同的兴趣分类.之后,系统会搜索用户兴趣库中与之对应的兴趣集,并生成1个网页链接序列在用户界面显示出来.

这里,采用比较成熟的比例——微分——积分模型来模拟并跟踪用户的兴趣,该模型对用户兴趣指标函数做了二阶近似,即用户在某一时刻对某一子类的兴趣度指标可以表示为其上一时刻的兴趣指标的函数,即指标变化和其指标变化加速度的加权和.

设用户在某一时刻n对某一特定子类的兴趣指标为In,则其对该类下一时刻的兴趣指标为:

In+1=In+△In,同时记:△2In=△In-△In-1,

此时,用户在(n+1)时刻的兴趣函数可以用n时刻之前的兴趣度来描述:

In+1=aIn+b△In+c△2In,

其中,a,b,c分别是积分、比例和微分环节的系数.对于不同的用户,可以设置不同的参数以体现其特点,并控制跟踪曲线的变化来捕捉用户的兴趣.

2.2 用户子集本身的更新

在最初建立扩展的用户兴趣模型时,主要参考用户在进行RSS订阅时提供的信息.随着系统的运行,用户会不断访问新的页面并产生各种用户行为,这时就必须不断地更新用户的兴趣模型,才能使用户的兴趣模型始终符合用户的真实兴趣,用户兴趣模型的更新流程如图4所示.

图4 用户兴趣模型更新流程示意图Fig.4 Process flow diagram of updating user’s interest model

用户兴趣模型的更新除了包括用户兴趣类别常规的添加、修改和删除,还包括用户兴趣度的改变以及对用户兴趣类的遗忘和回忆.目前,各种用户兴趣模型的更新机制普遍存在的一个问题,就是如何解决用户兴趣模型的冗余和用户兴趣的丢失问题.为此,这里引入了用户兴趣遗忘和回忆的概念.

依前文所述,用户兴趣的遗忘是依靠遗忘因子的增值来控制的,判断是否需要将用户兴趣子类移出,要考虑到遗忘因子是否达到阈值、兴趣模型的冗余度是否过高以及可用存储空间是否充裕等诸多因素.如果用户兴趣模型的冗余程度还没有到达临界值,即使是用户兴趣遗忘因子达到了一定的阈值,也完全没有必要将用户兴趣类移出.而用户兴趣的回忆则要解决2个问题,一个是将用户兴趣子类移出链表后如何处理,另一个是在什么情况下允许将用户兴趣模型的兴趣子类重新复位.

在将用户兴趣子类移出用户兴趣模型之前,首先要记录其在模型中的位置,即该用户兴趣子类所属的父类的ID.在以后的用户兴趣模型更新时,需要追踪原先兴趣模型的父类关键词的变化,以确定其新的链接位置.如发现其父类兴趣类的关键词已经被合并,由新的类别取代,那么就用合并后的用户兴趣类别的ID取代原先的父类ID,确保需要的时候能够将被移出的兴趣类从“遗忘集”链表中取回.其次,当用户再次访问到与已经移出的兴趣类别相同或者相似的兴趣类别的时候,就在“遗忘集”链表中重新查找该兴趣类别,由于该链表采用和兴趣集完全相同的结构,所以只需修改结点的链接关系、重新插入就可以复位了,同时还要将其遗忘因子重新设为初始值0.用户兴趣模型回忆机制的建立很好地解决了用户兴趣容易丢失的问题,使用户兴趣模型既能够保持较少的冗余、节约大量空间,又能够确保不会轻易丢失用户的兴趣集,从而使用户兴趣模型兴趣子类的更新机制更加完善.

3 结论

本系统针对目前信息推送技术中建模方法的弊端进行了改造,大大提高了信息获取的效率和准确度.在RSS信息推送模块的设计中,将用户的初始化订阅与日后的兴趣建模相结合,采用层次化的向量形式来描述用户的兴趣模型,对用户兴趣的表示和预测更加细致、真实、准确.考虑到用户访问量的增加虽然使Web挖掘和用户兴趣模型的建立有了更好的数据基础,但是也会造成生成的兴趣模型数据集的不断膨胀,这里提出了基于遗忘因子的兴趣集移出和复位的解决方案,模拟了人的兴趣遗忘和回忆的过程,既有效避免了数据的冗余,又不易造成用户历史兴趣集的丢失.随着技术的发展和手机网络用户的增加,日后可以将该系统与手机网络平台进行连接,更方便地实现与用户的互动.

参考文献:

[1] 郭海明,刘桂珍.面向用户的数字信息服务方式探讨[J].图书馆建设,2005(2) :66-68.

[2] 胡潜,汪会玲.基于RSS的个性化推送服务[J].情报杂志,2008(10):32-33.

[3] 郭军城,于金海.RSS的版本演变[J].科技情报开发与经济,2007(33):191-192.

[4] 萨支斌.RSS技术研究[J].情报探索,2006(9):71-72.

[5] 张玉莲,王权.基于浏览行为和浏览内容的用户兴趣建模[J].现代图书情报技术,2007(6):52-55.

[6] 费洪晓,蒋翀,徐丽娟.基于树状向量空间模型的用户兴趣建模[J].计算机技术与发展,2009(5):85-87.

[7] 赖茂生,屈鹏.搜索引擎查询日志的词性标注和挖掘研究[J].现代图书情报技术,2009(4):55-61.

[8] 张宗平.一种更新关联规则的方法[J].计算机工程,2008(1):70-71.

猜你喜欢

子类向量节点
CM节点控制在船舶上的应用
向量的分解
Analysis of the characteristics of electronic equipment usage distance for common users
聚焦“向量与三角”创新题
卷入Hohlov算子的某解析双单叶函数子类的系数估计
基于AutoCAD的门窗节点图快速构建
关于对称共轭点的倒星象函数某些子类的系数估计
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
抓住人才培养的关键节点