基于三层Agent的个性化主动服务系统的探索,本文主要内容关键词为:主动论文,系统论文,Agent论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
随着互联网的发展和普及,Internet已成为人们工作、生活、学习中获取信息的重要场所。但随着网上信息的急剧增长,人们要快速、准确地查找自己所需的信息却越来越难,其原因是:网上的信息纷繁复杂、分布分散、缺乏统一的组织和管理,而传统的网上信息服务模式面对这种局面显得很乏力,暴露出越来越多的缺点。
(1)无法针对用户的个性化需求提供个性化的信息服务。传统的搜索引擎一般基于关键词或分类主题来组织信息,用户在进行信息查询时,如果提供相同的检索主题或关键词,就能得到相同的结果,无法反映用户的个人兴趣和需求。
(2)传统的服务是一种“拉”服务,即用户向服务器提出请求,服务器响应用户的请求,将相关的查询结果或服务提供给用户。因为网上的信息是按IP地址、以超链接的方式进行组织的,所以,这种“拉”服务要求用户知道所需服务或信息的准确地址,而在一般情况下,用户是难以准确知道这些地址的。
针对上述问题,本文在当今飞速发展的Agent技术的基础上,提出了基于Agent的个性化主动服务,并给出了一种具体的实现方案。
1 基于三层Agent的个性化主动服务系统的结构和特点
基于Agent的个性化主动服务系统需要解决以下三个问题:①帮助用户表达个性化信息需求。人们在进行信息查找时,往往难以准确表达自己的信息需求,这就需要系统利用智能Agent的自主学习的功能对用户的信息需求进行分析,主动搜集用户平时感兴趣的信息,从中分析用户需求的个性化特点,建立用户个性化需求模式。②主动搜集网上信息资源。基于Agent的个性化主动服务要求系统发挥Agent具有自治性的功能,自动跟踪网上信息变化,主动搜集网上更新的用户感兴趣的信息。③实现网上信息和用户个性化需求模式的匹配,体现信息服务个性化的特点。针对以上要求,我们设计的基于三层Agent的个性化主动服务系统具有如下的结构和特点。
1.1 系统的结构和功能
该系统采用如图1所示的三层Agent结构。
(1)第一层是用户Agent,位于用户的PC机上。主要负责依据用户提供的目标样本和反馈信息生成和维护用户的个性化需求模式。
(2)第二层是用户代理Agent,位于系统的服务器上,其主要功能是作为用户的代理,对网上用户需求信息进行实时监控。
(3)第三层是信息检索Agent,与用户代理Agent位于同一服务器上。主要负责处理与WWW上的各种商业化信息检索系统的交互,即根据信息资源分布的特点,选择商业化的搜索引擎,并将来自不同搜索引擎的信息进行集成归并,然后推送给用户代理Agent。
图1
1.2 系统的特点
(1)实现了信息服务的个性化。用户Agent采用多种机制,随时对用户的信息查找和信息利用进行监控,全面地分析用户的个性化需求模式,然后将这种模式信息传递给用户代理Agent,用户代理Agent将信息检索Agent推送过来的信息与用户的个性化需求模式进行匹配过滤,使得过滤后的信息满足用户的个性化需求,实现了针对不同的用户提供不同的信息。
(2)实现了主动的信息服务。由于Agent具有自治性,即具有自主行为的能力,所以用户代理Agent和信息检索Agent都能在没有用户干预的情况下(比如用户离线的情况下)对网上信息变化实施实时的监控,自动搜集用户所需的更新信息,并贮存下来,在用户登录网络时,主动推送到用户桌面。实现了信息服务由被动的“拉”到主动的“推”的转变。
(3)减少了系统对用户的限制。在用户Agent和信息检索Agent之间,设立用户代理Agent,可以减少系统对用户的限制。由于用户代理Agent位于系统的服务器上,并且,在用户代理Agent上贮存了用户个人的需求信息,这就使用户不至于在更换个人机器时丢失自己的个性化需求模式信息,用户可以通过任一台PC机登录网络,与自己的用户代理Agent建立联系,接收自己所需的信息。因此,用户代理Agent应该由用户向系统服务器申请,应该给每个用户设定单独的用户名和密码。
(4)减少了网上信息传输量和用户上网时间。信息推送技术很早就开始研究,但没能在网上推广开来,其中的一个重要原因就是:由系统服务器主动推送过来的信息量过大。我们设计的由三层Agent构成的个性化主动服务系统可以通过以下两种措施尽量减少网上不相关信息的传输。
①由于在信息检索Agent上建立了相关信息更新的历史档案,所以,从信息检索Agent传递给用户代理Agent的信息,只是更新后的信息,而不会将用户过去已检索过的信息重复传递给用户。
②网上信息经信息检索Agent过滤后,其信息量一般仍然较大,多个信息检索Agent传递过来的信息经用户代理Agent集成,再经过个性化滤波,滤波后的信息量一般来说会大大减少。由于用户代理Agent和信息检索Agent位于同一台服务器上,所以,较大的信息量的传输过程是在服务器的内部完成,而在网上传输的是经用户代理Agent个性化滤波后的相对较少量的信息。
2 系统模块的实现
在进行系统模块的分析前,我们首先要说明各模块功能实现中需要利用的检索目标和文档的表示模型。表示的模型有多种,常用的有布尔逻辑型、向量空间型、概率型等。本文使用的是向量空间模型(Vector Space Model,VSM)法[1]。在VSM中,每一篇文档都可映射为由一组词条矢量张成的向量空间中的一个点,其坐标矢量可以表示为(X[,1],
x[,1],X[,2],x[,2],X[,3],x[,3],……X[,n],x[,n])。其中,每一维坐标X[,i]表示从文档中抽取的一个特征项(如词条或描述),该矢量在坐标轴X[,i]的取值x[,i]是根据特征项X[,i]在文档中出现的频数和出现的位置给与的权重系数。
2.1 用户Agent模块
在一般的检索系统中,由用户提供关键词形式的简单检索目标,而在基于Agent的检索系统中,可由Agent从用户提供的样本形式的复杂模糊目标中提取目标信息的特征,以这些特征项(如词条或描述)来代表目标信息,即挖掘出用户的个性化需求模式。由于用户的兴趣以及由此产生的信息需求往往是多方面的,因此,针对一个用户的信息需求,可能需要生成多个目标特征矢量。用户个性化需求模式的生成和维护可采用以下两种方法。
(1)系统自动生成和维护。
系统自动生成用户个性化需求特征矢量需要采用基于Agent的聚类分析算法。聚类分析是指:在给定n维空间R中的m个向量,把每个向量归属于C个聚类中的某一个,使得每个向量与聚类中心的距离最小[2]。利用用户给定的目标文本信息集,进行聚类分析得到的每一个聚类中心代表用户个性化需求的一个目标,即用户在某一方面的兴趣。常用的聚类分析算法有K均值法和遗传算法[3]。遗传算法具有计算简单、全局优化效果好的特点,如图2给出了基于遗传算法的聚类分析的基本流程。
图2
其中,个体的适应度可用适应度函数fitness定义:
n为目标样本文档的总数,C为聚类中心的数目,m为一常数,d[,ij]为第i个样本到第j个聚类中心的欧氏空间距离,u[,ij]为第i个样本对第j个聚类中心的隶属度。
由于信息环境和用户的兴趣变化不定,用户的个性化需求可能发生改变。这时,可由用户向系统提供反馈文档,系统根据用户提供的反馈文档,对用户的个性化需求特征矢量进行修改和维护。可以设计一种定时定量的机制,如间隔多长时间或在用户提供多少数量的反馈文献后,系统将用户提供的所有目标样本文档和所有反馈文档进行新的聚类分析,生成更新的目标特征矢量。当用户只提供少量反馈文档或在在线的情况下,可采用如下方式进行目标特征矢量的修改:
假设用户原来的目标特征矢量为U,由系统提取反馈文档的多个关键词,生成反馈文档的特征矢量V,则新的目标特征矢量为U+σV,σ为反馈系数,当用户反馈某文档为感兴趣文档时,σ为正值,反之,σ为负值。σ的大小可由系统给定,也可由用户根据反馈文档的重要性人为修改。
(2)人工辅助生成和维护。
系统自动生成的目标特征矢量,可能并不完全符合用户的信息需求,或者用户产生了与系统存储的文档毫不相干的某方面兴趣,这时可采取人工生成和修改目标特征矢量的方法。系统自动生成的目标特征矢量对用户而言应该是可视的,用户可以对其直接进行修改:增加或删除某些特征项,或者修改某些特征项的权值。对于用户提出的全新的检索兴趣,可由用户向系统直接提供检索的关键词,用户Agent依据用户提供的关键词进行分类决策树学习,转化决策树为检索目标特征矢量[4],然后交给用户代理Agent进行网上信息检索,根据检索的结果,不断修改该目标特征矢量,直到用户对检索的结果满意。
2.2 用户代理Agent模块
如上文所述,每个用户由于有多方面的兴趣,因而拥有多个检索目标特征矢量,因此,一个用户代理Agent其实应该包括多个子代理Agent,每个子代理Agent分管用户的一个目标特征矢量的信息检索。每个子代理Agent主要包括以下的几个功能模块:
(1)任务细分、信息检索Agent选择模块。
(2)将多个信息检索Agent反馈的信息进行归并模块。
(3)个性化滤波模块。
(4)主动通信模块。
在子代理Agent上贮存的用户个性化需求模式是以特征矢量的形式存在,而信息检索Agent为适应商业化搜索引擎的检索模式,建立的是基于分类主题或关键词的检索目标,如何将一个子代理Agent的一个特征矢量细分成几个信息检索Agent的检索目标,需要利用相关领域的专业知识和相关的算法。子代理Agent在完成任务的细分工作以后,与多个信息检索Agent建立联系,并将检索的任务交给它们。
所谓个性化滤波,就是指根据检索文档提供的主题词,生成该文档的主题域词矢量,然后计算该矢量与用户个性化需求特征矢量的相似度,由相似度阈值过滤检索文档,并按相似度的大小对检索文档进行排序。相似度的计算方法如下:
假设用户的目标特征矢量为U,检索文档的主题域词矢量为V,则两矢量的相似度为
其中X[,vk]、X[,uk]为检索文档矢量和目标特征矢量在向量空间中的坐标。
2.3 信息检索Agent
信息检索Agent可看成是具有一定检索目标(分类主题或关键词)的智能化封装的元搜索引擎[5],它将从多个商业化搜索引擎和文档服务器检索到的结果条目进行归并,并与其保存的历史档案进行比较。如果某个条目在历史档案中有,但在查询结果中没有,则说明该条信息已被其它信息更新,应从历史档案中删除;如果某个条目在历史档案中没有,但在查询结果中有,则该条目为更新后的条目,应将其标记为更新信息,并按其更新的时间为其建立索引,添加到历史档案中。同时,信息检索Agent对每个与之相连的用户代理Agent及其子代理进行登记。如果某个用户代理Agent首次与该信息检索Agent建立联系,或者在应用户的要求的条件下,信息检索Agent可将其所贮存的所有历史信息传递给该用户代理Agent的相应子代理,否则,由信息检索Agent定时地将更新后的信息主动发送给所有与之相连的老用户,在信息推送完后,将已推送的信息标记为历史信息。根据信息检索Agent的功能要求,我们设计的信息检索Agent具有如图3所示的体系结构。
其中,查询管理部分的主要任务是根据该信息检索Agent的检索目标生成不同搜索引擎服务器或文档服务器的特定检索表达式,并定时的激发检索的请求。查询代理是信息检索Agent和搜索引擎或文档服务器交互的部件,每个搜索引擎或文档服务器对应一个查询代理。系统通过它们获得多个搜索引擎或文档服务器的查询结果,信息汇总部分根据所有查询代理提供的检索结果整理出一次查询的若干条目。信息储存模块保存该信息检索Agent的历史档案。推送模块负责在用户提出要求的条件下或定时地向用户代理Agent推送信息。登记模块则对所有与之相连的用户代理Agent及其子代理进行登记,为信息检索Agent主动推送信息提供目标。
图3
本文针对现在的网络信息检索服务中存在的缺陷,提出了基于三层Agent的个性化主动服务系统的模型框架,并分析各模块的功能实现。Agent的技术在网络信息服务中的应用是未来网络技术的一个发展方向,在网络信息服务的个性化和智能化中,Agent起着重要作用。但由于Agent具有自治性和复杂性,基于Agent的系统,其性能在设计阶段往往是难以预料的,需要在系统实施和运行的过程中,根据运行的效果不断地优化其功能算法、丰富其知识库。
收稿日期:2001-1-16