基于改进用户Agent的个性化检索系统实现方法的研究,本文主要内容关键词为:系统实现论文,方法论文,用户论文,Agent论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
【分类号】TP311
1 引言
Internet应用过程中“认知过载”和“信息迷航”问题使得用户想要准确、快速查找自己所需的信息变得越来越困难[1],人们迫切需要一种个性化检索系统,一改以往“人找信息”的传统查询模式,实现一种“信息找人”的服务模式,提高查找信息的针对性。笔者在智能多Agent系统(Multi-Agent)以及黑板协作机制的基础上,对用户Agent进行改进,并以此为核心,开发了一种基于用户Agent的多介质知识源下的个性化信息检索系统(User Agent based Personalized Information Retrieval System,UAPIRS)。该系统采用面向用户的观点,运用了MAS的布局,并利用黑板系统达到了协作的目的,在个性化信息服务领域进行了探索。
2 黑板结构与Multi-Agent体系
黑板结构首先在口语理解系统HEARSAY-Ⅱ中实现,以后逐渐抽象为一种通用的问题求解模型[2]。它可以认为是一个共享信息存储区,由输入数据、部分解、备选方案、最终解和控制数据等对象组成。各个Agent通过直接对黑板内容进行读和写来获得消息、结果或过程信息。它按层次组织问题空间,在不同的抽象级上描述问题,为在问题求解过程中使用抽象技术提供了方便;知识源是相互独立的,可以表示不同来源的知识,有利于在系统中组合和利用多专家知识;另外,没规定知识源的表示方式,为在系统中使用多种知识表示提供了方便;而且黑板模型中智能Agent不需要一直运行在已访问的站点,它所做的只需留下信息,因而可以减少网络负载,更有利于多介质知识源下,并行、分布式Agent系统的实现,并能够有效地改善松散耦合的Multi-Agent System(MAS)。
3 基于改进用户Agent的个性化检索系统设计
3.1 个性化检索系统的设计要求
个性化信息检索追求的目标是:根据用户的请求,从可以获得的网络资源中检索出对用户最有价值的信息。因此个性化检索系统的设计应当达到以下要求:
(1)用户模型在系统中的核心性[3];
(2)自适应用户的能力。智能Agent根据用户的评价或动作来调整自己的行为[4];
(3)处理异质Agent的必要性。不同应用领域中的资源描述存在差异,从而需要克服基于它们构建的MAS系统之间存在的通信障碍[5];
(4)支持分布处理;
(5)适合于并行处理[6]。
3.2 系统模型结构划分
对个性化检索的需求导致了两个基本的组织情况:需要坚持系统中用户模型的核心与基础地位,以作为应对检索效果的途径;同时希望进行Agent的有效协调,以满足异质信息源并行处理。本文以结合黑板系统的用户Agent为核心,各Agent在黑板中进行信息共享,在多重抽象级上描述与处理问题,达到了协同工作的目的,有效解决多异质信息源组合问题,支持分布式、并行性问题,提高了信息检索效率和针对性。
整个系统结构主要由引入黑板系统的用户模型Agent、信息搜索Agent、信息过滤Agent和个性化推荐Agent结合而成(如图1所示)。图1中各模块功能如下:
图1 系统模型架构
(1)用户Agent
该模块引进黑板结构,负责跟踪和学习用户的兴趣和行为,利用合适的表达方式组织好资源,选取资源的特征,并采用合适的推荐方式把资源推荐给用户。主要由用户知识库(User Knowledge Base)、资源描述文件(Resource Profile)、黑板系统和Agent交互界面组成。用户知识库用于跟踪用户的兴趣与行为,刻画用户的特征与用户之间的关系。它将用户的信息需求和背景知识,包括用户兴趣、偏好、习惯、思维方式等知识以本体论等组织方式加以表达,对用户兴趣信息进行有效的存储、维护。资源描述文件与用户知识库密切相关,负责对信息检索领域所决定的检索资源以基于内容的方法或基于分类的方法进行充分组织,以利于用户的检索。
黑板系统在本系统中作为一种协作方式,承担了问题求解模型的角色。它有3个部分组成:黑板、知识源和控制机制。黑板是一个全局数据库,用来存放原始数据,问题求解过程中的部分解及完整解。登记用户当前的检索要求,用户浏览行为状态,最佳访问路径和站点可达状态等信息。知识源则表示了求解问题所需的知识,本系统中包括用户知识库、资源描述文件等。控制机制负责监视黑板上信息变化状态并不断检查各知识源的前提,一旦某个知识源的前提成立,该知识源就被激活,就执行它的动作部分,引起黑板上信息的变化,控制机制据此又可以激活其它知识源。如此,黑板信息不断变化,直到出现完整解。当多个知识源的前提符合黑板信息变化状态时,控制机制总是选择最有利于解决问题的知识源优先执行,从而使内嵌黑板结构达到多异质知识源分布式协同的目的。在运行过程中代理都遵循TCP/IP协议,利用输入输出队列和多线程机制,通过通讯管理器中的通信引擎进行信息传递。Agent交互界面主要定义了一些Agent之间通信和交互的规则和方式。用户模型Agent的结构如图2所示:
图2 引入黑板结构的用户Agent结构框图
(2)信息搜索Agent
信息搜索Agent实现对网络上相关Web资源的搜索与获取,是用户个性化搜索服务的前提与基础。信息搜索Agent从知识库中获取知识或者得到用户指示,首先解析用户请求,进行数据查询,优选搜索策略和搜索范围,防止盲目搜索。通过知识推理、知识挖掘进行信息的进一步分析、筛选后,最后系统通过获得搜索引擎的查询结果,经过网页分析把查找结果提交给信息检索个性化推荐Agent。
(3)信息过滤Agent
信息过滤Agent根据用户模型中的兴趣值,在动态的信息流中抽取出符合用户个性化需求的信息,为每一个信息搜索Agent提交的文献确定一个相关值,然后将文献介绍给用户。它根据用户需求的表达方式差异利用关键词、规则或分类信息匹配信息,因而具有较高的可扩展性,能适应大规模用户群和海量信息。可以为用户提供及时、个性化的信息服务,具有一定的智能和较高的自动化程度。
(4)个性化推荐Agent
个性化推荐Agent接受用户查询信息,并根据用户模型寻找与其匹配的信息,体现了个性化检索“信息找人”服务模式的实质。以用户界面的形式作为获取用户信息,展现资源的窗口,一方面对用户提供帮助,引导用户兴趣;另一方面允许用户对推荐的资源进行反馈和评价。接受信息过滤Agent采用基于规则的技术、基于内容过滤的技术和协作过滤技术进行过滤得到的推荐网页,根据用户的兴趣特点向用户推荐其感兴趣的信息,将信息按照每个用户的特定要求,在适当的时候传递至用户指定的“地点”。
4 基于改进用户Agent的个性化检索系统的实现
4.1 用户Agent黑板结构的实现
(1)分区及数据格式
由于MAS的松散耦合结构,在管理方面有一定的难度,而且Agent间的通信也会消耗不必要的系统资源。本系统充分结合黑板系统与MAS,给每一个用户Agent配置一个黑板子系统,不同用户在检索时拥有不同的用户Agent,不同用户Agent之间可以互相学习。各个用户Agent与其他Agent之间的通信采用内部黑板结构来达到方便管理及通信的目的。黑板分为任务信息区、通信信息区、共享信息区3个区,通过Agent通信语言进行通信,其基本数据格式为
共享信息区主要存储系统各智能体的能力、名字、位置、状态等需要各智能体共享的知识和信息,以及在协同设计中设计的中间结果信息。
通信信息区存放智能体之间的通信过程信息,通过读写黑板上的信息来进行通信。主要由包括服务线程、消息线程、客户线程和计时器组成的Socket接口完成通信方式。将信息按一定的方式事先组织起来,便于监督,提高处理消息的并发度,节省系统资源。
任务信息区的主要功能是将提交的任务分解成多个具有尽可能高度并行的子任务,并决定由哪些Agent在何时执行它们。笔者把任务定义为一个四元数组:Task=
(2)分区信息组织
①任务分解
将用户的一次检索处理作为一个总任务,按照前面的分析可知,它可以分为4大部分:用户模型Agent、信息搜索Agent、信息过滤Agent和个性化推荐Agent。
将用户检索处理(Information Retrieve Process,IRP)作为一个任务,下面包含4个子任务:用户Agent处理(Information Retrieve Process with User Agent,IRPUA)部分、信息搜索处理(Information Retrieve Process with Search Agent,IRPSA)部分、信息过滤处理(Information Retrieve Process with Filting Agent,IRPFA)部分和个性化推荐(Information Retrieve Process with Personalized Agent,IRPPA)处理部分。
表示为:IRP=(IRPUA,IRPSA,IRPFA,IRPPA)
由于用户Agent实质是通过用户的信息归纳出的系统可读、可计算知识,并以这些知识作为个性化检索系统的基础。因此,用户模型Agent处理部分又可以分为:用户模型构建与维护(User Model Build and Uphold,UMBU)、关键词分析(Keywords Analysis,KA)、针对每次检索问题的用户兴趣推导(User Interests Derivation,UID)。以Pre(x,y)表示前序关系,子任务之间的关系为:Pre(UMBU,KA)、Pre(KA,UID)。
信息搜索处理部分又可进一步分解为用户搜索请求解析(Search Request Analyze,SRA),搜索执行(Search Implement,SI)、搜索控制(Search Control,SC)3个子任务。其中SRA与SI之间的关系为Pre(SRA,SI),搜索执行和搜索控制之间为协商关系。
信息过滤处理部分用来从动态的信息流中抽取出符合用户个性化需求的信息。包括用户偏好记录(User Interests Record,UIR)和动态信息推荐(Dynamic Information Recommend,DIR)两个子任务,两者之间的关系为协商关系。
个性化推荐处理部分负责用户与系统间的交互,可分为信息获取(Get Information,GI)和检索反馈(Retrieval Feedback,RF)两个子任务,子任务之间的关系为:Pre(GI,RF)。
用户Agent黑板任务分区信息如图3所示:
图3 用户Agent黑板任务分区信息
在执行任务时,Agent之间需要进行一定的通信来交换信息,交换的信息可以看成是任务执行的前提条件,也就是任务的执行要满足一定的约束条件,也就限定了任务执行的先后顺序。
②通信信息
这里根据一定的任务求解过程来组织通信信息,通信信息按照
③控制Agent
控制Agent负责监视黑板上信息变化状态并不断检查各知识源的前提,一旦某个知识源的前提成立,该知识源就被激活,就执行它的动作部分。监控Agent根据消息的编号进行判断处理,产生一个从消息到所执行动作的映射表。
4.2 系统的协作机制
协作机制是MAS实现协同、协作、冲突消解和矛盾处理的关键环节[7]。本系统采用基于范例推理(CaseBased Reasoning,CBR)技术,用户Agent在每次协调时回忆并搜索记忆中的源范例(存储于用户知识库中),由源范例来指导当前目标问题的求解过程。结合CBR的黑板结构协商算法如下:
输入:用户检索关键词;
输出:推荐网页;
步骤:
①用户输入检索关键词;
②如果用户Agent找到可用范例(用户曾经有相同的搜索经历),则在范例的指导下直接对相关Agent进行任务指派;并执行步骤⑧;
③如果无法找到可用范例,则向用户Agent提交任务发布(Task Announcement);
④用户Agent根据各Agent自身功能和能力,制定标书,进行投标;
⑤各Agent进行任务指派;
⑥接收到任务指派的Agent最终确认;
⑦用户Agent根据投标状态协商检索过程;
⑧协商过程结束,提交推荐网页;
⑨用户Agent进行范例库更新,算法结束。
5 结语
笔者在智能多Agent系统以及黑板协作机制的基础上,对用户模型Agent进行改进,开发了一种多介质知识源下的基于用户模型的个性化信息检索系统。它不仅体现了MAS分布式的优点,也充分发挥了黑板系统易于协同的特点。另外,在提出系统框架结构的基础上,进一步分析了用户Agent黑板结构分区及数据格式,并研究了该系统实现的任务分解、任务分区信息、通信信息分区的组织及监控机制的实现,最后基于范例推理技术,对系统的协作机制进行了描绘,在个性化信息服务领域进行了有益探索。
收稿日期:2007-09-20
收修改稿日期:2007-09-30