基于分布式主体协作的知识检索研究及实现
发布时间:2015-07-11 10:02
摘 要 本文首先分析了智能主体的基本概念、结构及其工作原理,在此基础上,建立了基于分布式主体协作的知识检索模型,详细分析了模型的工作过程,各功能模块的实现方法,提出了智能主体的协作策略。
关键词 分布式主体;知识检索
1 引言
主体又叫代理(Agent),从广义上讲,主体指的是人和一个物理的或抽象的实体,能作用于自身和环境,并与其它主体通信。它可以指一个专家系统、一个过程、一个模式或一个求解单元等。因此所有在完成知识检索任务的整个过程中发挥一定的作用,起到主要或是辅助功能的检索系统组成部件均可以看成一个主体;同时任何一个部件所进行的局部任务也离不开众多的下层主体的协作。因此知识检索任务事实上是由各种具有等级层次关系的主体相互协作、共同完成的。随着计算机技术的发展不断加强,主体能够模拟越来越多的人的思维和行为,具有越来越强的智能性和协作能力。
2 智能主体技术
2.1 智能主体的概念和属性
智能主体(智能Agent)广义上包括人类、物理世界中的移动机器人和信息世界中的软件机器人,狭义的智能Agent则指信息世界中的软件机器人。它是代表用户或其它程序,以主动服务的方式完成一组操作的计算实体。智能主体(Intelligent Agent)是一种能为用户提供人性化服务的自治计算机系统。它能在无用户参与的情况下,独立完成用户定制的任务。
智能Agent有如下一些特性。
(1)代理性(Agent)
代理性体现在:①它是"代表用户"工作的;②它可以把其他资源包装起来,引导并代替用户对这些资源进行访问,成为便于通达这些资源的枢纽和中介。
(2)智能性(Intelligence)
在这方面,智能Agent可以做很多有高技术含量的工作。例如,理解用户用自然语言表达的对信息资源和计算资源的需求;帮助用户在一定程度上克服信息内容的语言障碍;捕捉用户的偏好和兴趣;推测用户的意图并为其代劳;等等。
(3)自主性(Autonomy)
一个智能Agent应该是一个独立自主的计算实体。它应能在无法事先建模的、动态变化的信息环境中,独立规划复杂的操作步骤,解决实际问题,在用户不参与的情况下,独立发现和索取符合用户需求的可利用资源与服务。
(4)机动性(Mobility)
在网络计算环境下,一个Agent可以看成是代表用户驻网络的常设机构,它可以在网络上灵活机动地访问各种资源和服务,还可以就完成特定任务同其他智能Agent进行协商和合作,甚至把自己"迁移"到网络中的其他主机上去执行任务。
2.2 智能主体的结构
主体的体系结构是研究如何用软件或硬件的方式实现主体。在实现一个主体时,传统的方式是将它作为一个基于知识的系统。这是从符号人工智能直接沿袭过来的。这种主体的体系结构称为"慎思主体" 。与之相对的有一种不使用符号知识的主体体系结构,被称为"反应主体"。而综合了两者长处的主体结构则被称为"混合主体"。
智能主体则是通过人工智能技术而实现的计算实体,它能在特定环境中连续、自主运行,无需人的引导与干预,它通常具有学习能力,并能与其它主体协作完成问题求解。智能主体的主要智能源自于它内部的知识库。同时,智能主体不是一个与外界隔绝的实体,它要在与外界的交互中捕获要解决的问题并更新自我的知识,这些功能由感知器、通信模块以及反作用于外部环境的效应器共同完成,另外,智能主体还具有根据共同目标及自己的职责所产生的目标模块,而其核心的功能单元则是对信息进行加工的问题求解单元,智能主体的基本结构如图1所示。
图1 智能主体的基本结构
实际的智能主体往往被作为一个大系统的功能单元来使用,所以它还应有网络接口、通信管理模块、协作管理模块、协议模块、实体接口等多个组成部分,但为了使结构图简洁明了,这些具体的功能模块都被抽象化、隐含到图1中的基本构件中了。
2.3 智能主体的工作原理
智能主体的一切行为是受任务驱使的,以任务表的形式来表示,初始由用户静态建立,然后通过通信而动态地改变。任务表只是指明智能主体必须做的事,并不是怎样做。任务的实现由效应器与其他智能主体合作的形式来完成。
感知器表示智能主体的感知能力。当触发事件被满足时,它被激活并接收外部信号/信息流。智能主体有两种行为:认知行为及效应行为。内部执行机制实现认知行为(包括学习),它们改变智能主体的内部状态及智能主体的知识库。
协作管理模块负责接受工作,当有新任务到达智能主体时,协作管理模块根据捕获的网络信息,判断该智能主体是否具有解决当前问题的能力,若有,则接受该项任务,并将其放入任务池中待随后处理;否则,协作管理模块根据协作知识库中的知识和数据进行推理,以找到可以解决当前问题的智能主体(协作智能主体),并将该任务提交给这个协作智能主体的协作管理模块。
问题求解单元在从任务池中获取新的任务后,它将在知识库的协助下,通过推理,寻求问题的解。同时,能力登记器记录该智能主体自身和它所代理实体的属性和功能,为人机交互和其他智能主体了解其情况提供依据。
在问题求解单元找到解决问题的方法之后,智能主体将通过控制执行模块将决策结果转换成控制信息,产生相应的数据,一方面控制自己的行为活动,另一方面通过实体接口控制实体的运行。
智能主体真正的智能性在于它总能够通过与周围环境之间的交互学到新的知识,从而不断提高自身解决问题的能力。在智能主体中完成学习任务的是学习模块。学习模块学习的素材主要来自网络环境、它所代理的实体、它完成任务时的协作伙伴以及它自身的状态,然后在学习模块执行一定的学习算法,并将学习得到的知识存入知识库或用以覆盖知识库中的陈旧知识。
无论是接受任务,还是获取知识,都离不开与环境的交互。通信是交互的手段,由通信原语及通信内容两部分组成,发送任务,表达各智能主体对任务的态度及传递被处理的信息。智能主体的交互是通信管理模块在一组协议的支持下完成的。智能主体的协议为智能主体提供了与其他智能主体和外部环境相互交互的基本机制和规范。它规定了各智能主体间所共享信息的种类、格式和实现,以及怎样响应从其他智能主体和外部环境接收信息。所有智能主体和协议一起构成多自主系统的协调机制。
3 基于分布式主体协作的知识检索模型与方法
图2显示了一个基于分布式主体协作的知识检索模型,该模型中的智能主体可以按照功能划分为构件接口主体、构件主体、代理主体、网关主体及中心主体。
图2
(1) 构件接口主体
构件接口主体提供构件与用户之间的接口。当一个用户通过代理主体向元组空间提出申请,并找到相匹配的构件主体时,此构件主体会将其所在构件主体组中的构件接口主体通过申请用户的代理主体传送到用户的界面。
(2) 构件主体
通过构件接口主体接收用户操作命令,执行具体的服务功能。此类主体又可分为两种:一种是可以和用户直接交互的构件主体;另一种不能与用户直接交互,只能和别的构件主体通信,并向其提供协作服务的构件主体。这些主体可能分布于不同机器上,甚至可能在不同的主体群中。通过各类主体自身内部的协作关系实现复杂的构件服务。当可交互的构件主体接收到由构件接口主体发来的用户操作指令时,它会根据指令的要求,通过相应构件服务程序的代理主体指示程序运行申请的功能服务。对于自身不能提供的服务可能还需要向构件主体组中的别的构件主体提出服务申请,当此主体位于同一主体群中时可以通过共享空间直接交互通信提供服务,如果位于别的主体群中则还需网关主体参与通信协作。
构件接口主体、构件主体组成的构件主体组的内部协作是建立分布应用构件的关键。其中构件接口主体必须能够一致地反映构件能够提供的服务和用户的申请,同时还必须对起所代表的构件表示忠诚。其中的构件主体具有一致性、忠诚性、自主性、内省性、诚实性等特性。
(3)代理主体
代理主体是一个用户在元组空间中的代理。用户通过代理主体参与协作。代理主体内部是一个多主体的协作体,它包括有总管主体GA(接受用户申请或提请用户服务功能)、学习主体LA(对以前搜索到的知识进行学习和记忆)、搜索主体SA(进行在元组空间中寻找匹配元组的工作)和管理主体MA(当用户暂时脱离网络时,由管理主体来管理所有用户提出的申请或对用户提出的服务请求,并负责在用户返回时有序地将它们传送给用户)。代理主体也要求具有一定的自主性、忠诚性、诚实性等。
(4)网关主体
网关主体主要用于网际之间的交互,实现主体群之间的协作。要求网关主体既能够解释和传送对外部主体群的构件主体的服务请求,又能够接受合适的对于本主体群的服务申请,并将其发送给合适的构件主体执行服务,并能将服务结果通过网关主体返回申请者。
(5)中心主体
中心主体提供调控服务,它们执行对元组空间环境中的所有主体的管理和控制任务。中心主体的管理方式描述首先,中心主体与元组空间通过一定的原语操作交互,获取有关匹配状况的消息;当存在匹配元组时直接启动对应的构件主体组提供服务,当无匹配元组时指示网关主体向别的主体群寻求服务;启动代理主体接收服务返回的结果。
该模型可以基于多主体的对等协作实现动态分布式知识检索方法,其过程
(1)用户提出构件任务申请。首先,用户通过界面中的可视化软件描述输入申请,并将其翻译成代理主体能够理解的描述规范发送给代理主体。代理主体的GA接收申请,然后将申请转送给LA,由LA在其记忆库中查询是否曾经对此构件有过访问以及访问结果如何等信息。如果存在已有访问,则直接连接构件主体组;否则,将申请传送给SA,由SA在元组空间搜索匹配构件主体。若存在匹配元组,则连接构件主体组,并将结果写回LA学习记忆体。否则,由中心主体控制向别的元组空间征询匹配构件主体组,超时未响应,则返回失败信息。
(2)寻找匹配元组和预处理响应。可以分为两种情况:一种是当在本地主体群中找到匹配元组时,立刻通知中心主体,由其控制其对应的构件主体组,并由此构件主体组向提出申请的代理主体发送此构件主体组中的构件接口主体,由代理主体中的GA接收,并在MA的管理下,由GA将其送回用户界面;另一种情况是当本地主体群中没有匹配元组时,中心主体会指示网关主体接收代理主体的任务申请,并将其分别解释为不同系统平台能够理解的描述发送到别的主体群搜索匹配构件主体组。
(3)构件主体组响应任务请求的执行。对用户服务请求的响应是通过那些可能分布于不同的机器站点上,甚至是不同主体群中的多个构件主体相互协同来完成。任务可由与用户交互的构件主体直接执行,并通过代理主体将结果送到用户界面。当任务不能由可与用户交互的构件主体执行的功能时,则将由该主体识别分配,以交互方式转送给构件主体组中相应的不可与用户交互构件主体执行。交互方式也随着不可与用户交互构件主体所处的位置不同而不同,即当处于同一主体群中时,交互以元组空间为中介;当处于不同的主体群中时,需网关主体的参与。
4 知识检索中智能主体的协作策略
协作是非对抗的主体之间保持行为协调的一个特例。而协调是指一组智能主体完成一些集体活动时相互作用的性质,它是对环境的适应,在这个环境中存在多个主体并且都在执行某个动作,协调的原因是由于其他主体意图的存在而改变主体的意图。
在知识检索系统中,主体也不是孤立存在的,主体之间存在着相互依赖的关系。大多数任务在时间或空间上的复杂性超越了个体的能力,许多任务需要由多种主体共同完成,同时在任务进行的任一阶段也需要多主体之间的协作。协作不仅能够提高单个主体以及由多个主体所形成的系统整体行为的性能,增强主体及主体系统解决问题的能力,还能使系统具有更好的灵活性,能通过协作来参与在多主体检索系统中,主体群体协作行为的协调程度、系统的全局连贯性和多主体组织是否具有自适应性,都是关系到整个系统性能和开放性的核心研究内容,同时也是衡量系统智能水平的重要指标。
协同过程的组成元素包括共同的目标、完成目标需要执行的活动、活动的执行者及活动之间的相关性。协同理论主要研究如何管理活动之间的相关性,在此基础上,Malone等提出了以下四种基本的协作策略: (1) 层次(上、下级)。协作活动的参加者中有一个知道如何管理活动间的相关性,并且能使其他人接受他提出的解决方法。
(2) 主体协作。协作活动的参加者中有一个人知道如何管理活动间的相关性,他将解决方法公布给其他参与者,如果大家同意,就采用这一解决方法。这个协作方法称为主体协作,即一个参与者提出方案,其他人选择是否接受。
(3) 多维伙伴。参与者之间通过协商找到解决问题的方法。
(4) 代理。所有的参与者同意由一个代理来决定最后的解决方法。这通常是在多维伙伴经过多次协作不能达成一致意见的情况下,由代理来完成方案的选择。
5 结语
智能主体技术是当前人工智能研究的一个重点,它将为软件的发展带来突破性的进展。随着主体技术的发展,同样也能使我们的主动信息服务成为现实。例如网上的Push技术是搜索信息的一种很有用的工具,如果它能与主体技术相结合,就可以将Push技术提高到主动信息服务的水平。
参考文献
[1]武成岗,焦文品,田启家,等.基于本体论和多主体的信息检索服务器[J].计算机研究与发展,2001,38(6):641-646
姜华. 基于本体的多主体网络协作学习模型研究[J].《计算机工程与设计》, 2007年02期
黄荣怀.关于协作学习的结构化模型研究[D].北京师范大学,2000