机器人搜索引擎_教育图像资源搜索引擎智能机器人设计与实现

  【摘要】教育图像资源搜索引擎智能机器人的设计与开发是基于内容的教育图像资源智能搜索引擎的核心工作之一。该文从线程池技术的角度给出了CBIR教育图像资源搜索引擎智能机器人的总体设计与详细设计,讨论了智能机器人中线程池技术的优化及其基于Agent的通信,最后给出了基于线程池的CBIR教育图像资源搜索引擎智能机器人的实现。
  【关键词】搜索引擎;CBIR;线程池;Agent;智能机器人
  【中图分类号】G40-057 【文献标识码】A 【论文编号】1009―8097 (2009) 02―0092―04
  
  引言
  
  物质资源、能源资源和信息资源是现代社会经济与技术发展的三大支柱性资源。教育信息资源作为信息资源的重要组成部分,在提高教育教学质量,挖掘教育的发展潜力上发挥着重要的作用。为此,各个国家都成立了自己的国家级教育资源中心,如美国的国家教育资源信息中心,我国教育部基础教育课程教材发展心和中央电化教育馆主办国家基础教育资源网等。国之源、K12、科利华、中教育星、同方思科、腾图、清华同方等资源库的建设也日益成熟,教育资源已经成为网络资源中的一个重要部分,用户在通过教育资源库获取海量信息的同时,解决对信息的筛选、信息的辨识、信息的消化以及信息的质量、信息的个性化等问题已显得日趋重要。
  对文本、图像、视频、动画、课件等教育资源的聚类、分类、检索[1]-[5]是十分活跃的研究领域,是有效地利用海量教育资源、实现个性化智能寻找教育资源的必然之路。我们在传统算法中引入一种自适应的参数选择机制,对关键参数进行动态设置,以满足互联网上复杂多变的应用环境和资源智能搜索引擎这一网上特定主题的服务,CBIR教育图像资源搜索引擎智能机器人的设计与开发则是基于内容的教育图像资源智能搜索引擎的核心工作之一[6]。
  
  一 CBIR教育图像资源搜索引擎智能机器人设计
  
  1总体设计方案
   图像内容搜索引擎机器人采用Spider程序进行构造。构造时采用基于多任务、多线程的线程池模式,即采用非递归的设计方案,Spider程序在发现每个新网页或图像URL时,它将使用一个不调用自身的方法,而是使用线程池。为得到Spider程序的处理,每一个新发现的网页或图像URL必须在线程池中等待。给定Spider程序一个要访问的网页或图像URL,把这一网页或图像URL加入到线程池中去;当Spider程序发现新的网页或图像URL时,把它们加入到线程池;当Spider程序处理完当前的URL,在线程池中查找要处理的下一URL。总体设计方案如图1。
  
  2 系统模块设计方案
  基于内容的教育图像资源搜索引擎智能机器人主体由多线程池循环模块构成,系统模块设计方案如图2所示。
  
  
  二 教育图像资源搜索引擎机器人中的线程池技术
  
   多线程池循环模块是基于内容的教育图像资源搜索引擎智能机器人的主控模块,负责在网络上循环搜索教育图像资源。教育图像资源搜索引擎智能机器人同时也就是知识库专家系统中的推理机,与知识库专家系统成为一体,以线程池的方式工作,多个Agent相互协作,这对提高机器人的搜索效率有着重要的作用。据此我们开发了以知识库为后台支持的,以中间件技术为支持的基于内容的教育图像资源搜索引擎。
  1 教育图像资源搜索引擎机器人线程池技术优越性
  教育图像资源搜索引擎智能机器人使用图像的获取、图像的下载、图像的匹配等Agent并行地协同工作,使得搜索工作持续进行,采用多线程技术进行处理。我们发现,这样处理存在以下问题:
  其一,图像的获取、图像的下载、图像的匹配等Agent自身的线程创建和销毁很费时间,创建一个对象要获取内存资源或者其它更多资源。提高智能机器人效率的方式就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。
  其二,智能机器人采用多线程技术创建的线程花费了大量时间在睡眠状态来等待事件的发生,还有一些线程进入睡眠状态后定期被唤醒以轮询工作方式来改变或者更新状态信息。这样降低整个搜索的吞吐量, 导致系统性能的下降而不是最初设计时期望要提高系统性能。
  采用线程池技术可以更有效地使用线程,它为智能机器人提供一个由系统管理的工作者线程池。至少会有一个线程来监听放到线程池的所有等待操作,当等待操作完成后,线程池中将会有一个工作者线程来执行相应的回调函数。在系统启动或空闲时创建一定量的线程保存在线程池中, 在系统关闭时销毁线程及其资源。当有任务来时不需要创建就从线程池中取一线程执行任务, 执行完任务后又放回至空闲线程池中。如果长时间没有任务执行也可销毁一定量的线程, 使线程池中保持一定的线程数。当有任务来时线程池中没有空闲线程, 且此时线程数没有达到最大线程数时, 创建新线程。如果达到最大线程数而没有空闲线程时, 任务等待, 直到池中有空闲线程。采用线程池技术解决了的获取、图像的下载、图像的匹配等多Agent地协同工作的效率问题,特别是图像匹配与的获取、图像的下载不同速度的协同问题,具有相当的优越性。
  2 教育图像资源搜索引擎机器人线程池技术的优化
  简单线程池存在一些问题,如果有大量的线程要求智能机器人为其服务,但由于线程池的工作线程是有限的,智能机器人只能为部分线程服务,其它线程提交的任务,只能在任务队列中等待处理。但智能机器人的响应时间要求不能太长,则需要调整优化线程池尺寸[7],主要有下列优化措施:
  其一,动态增加工作线程。在智能机器人线程池中提供一个可以动态改变的工作线程数目的功能,以适应线程变化的需要。一旦请求变少了将逐步减少线程池中工作线程的数目。线程增加采用超前方式,即批量增加一批工作线程。同时在线程池中限制线程池中工作线程数目的上限和下限,以防止这种灵活的方式也就变成一种错误的方式或者灾难,因为频繁的创建线程或者短时间内产生大量的线程将会背离使用线程池原始初衷――减少创建线程的次数。
  其二,优化工作线程数目。根据统计学的原理来统计线程的请求数目,比如高峰时段平均一秒钟内有多少任务要求处理,并根据系统的承受能力及客户的忍受能力来平衡估计一个合理的线程池尺寸。线程池的尺寸确实很难确定,智能机器人中采用实验结果的经验值来做为线程池的尺寸。
  其三,智能机器人提供多个线程池。智能机器人根据不同任务或者任务优先级来采用不同线程池处理。图像的获取、图像的下载、图像的匹配等Agent采用不同的线程池进行处理,分而治之,体现不同任务的任务优先级。
  智能机器人中替换成图像的获取、图像的下载、图像的匹配等Agent需要大量的线程来完成任务,且完成任务的时间比较短,使用线程池技术取得了较好的效果。
  3 教育图像资源搜索引擎机器人线程池的通信
  消息对话通信是实现灵活和复杂的协调策略的基础[8]。Agent使用规定的协议相互交换信息,用于建立通信和协调机制。其具体通信过程如图3所示。
  
  教育图像资源搜索引擎智能机器人中替换成图像的获取、图像的下载、图像的匹配等各Agent相互通知该世界中已经探索过的部分, 使每个Agent可能少做一些探索,向其他Agent询问世界特定部分的情况,回答问题,请求或者命令其他Agent采取行动,许诺做某事或者提供帮助,确认请求和提议,分享感受和经验。在面向消息的智能机器人多Agent系统中,发送Agent把特定消息传送至另一Agent(接收Agent),两Agent之间的消息是直接交换的,执行中没有缓冲。
  教育图像资源搜索引擎智能机器人中线程池间各Agent的通信存在以下问题:每个Agent对于所要完成的任务拥有全面的信息或能力,系统的宏观的问题求解;Agent成员之间以及与系统的目标、意愿和行为的一致;合作对象的明确选择;冲突的检测和协调;通信的协商的合时合理;对分散的共享数据和资源的有效分配和管理;系统的安全机制;Agent的灵活管理方式;有效及时地对环境的变化做出反应等。为了有效地解决这些问题,我们采用集中式管理的通信机制,负责对所有或部分Agent成员的行为、协作、任务分配以及共享资源等进行统一的协调和管理,可以是管理Agent、协调Agent、监督Agent等,与各Agent成员之间具有一定程度的管理和被管理的关系,如图4所示。
  
  智能机器人中集中式MAS机制在一定程度上推理成员Agent的能力行为,判断成员Agent之间行为的相互影响,帮助成员Agent更为迅速和准确地确定协作对象,组织成员Agent之间的相互合作,协调成员Agent之间的矛盾和冲突,使成员Agent通过学习产生对整体行为有益的影响 。集中式MAS机制推测协作对象的行为和通信,减少了协调和通信代价,提高了成员之间协作的有效性。
  
  三 教育图像资源搜索引擎智能机器人实现
  
  根据输入的URL建立多IP数组到获取线程池;依据各个IP建立各自的线程;各个线程完成每个IP的教育图像资源搜索;通过各线程池协作,反复,至规定宽度与深度页面全部搜索完成。教育图像资源CBIR Robot系统运行结果如图5所示。
  
  线程池技术对CBIR教育图像资源搜索引擎智能机器人的性能有着显著的改善。但因整个系统还涉及到知识库、图像内容的表示、图像内容的搜索等多方面的技术,多文种技术等,如何更好地优化搜索系统,是进一步需要解决的问题。
  
  参考文献
  [1] María Pinto, Dora Sales, Anne-Vinciane Doucet, et al.Metric analysis of the information visibility and diffusion about the European Higher Education Area on Spanish University websites[J]. Scientometrics 2007, 72: 345-370.
  [2]Stefan Rank, Paolo Petta.Basing Artificial Emotion on Process and Resource Management[J].Lecture Notes in Computer Science 2007,4738: 350-361.
  [3]Olivier Motelet, Benjamin Piwowarski, Georges Dupret, et al.Enhancing Educational-Material Retrieval Using Authored-Lesson Metadata[J].Lecture Notes in Computer Science 2007, 4726: 254-263 .
  [4]Dongwon Jeong, Myounghoi Choi, Keunhwan Jeon. Semantic Classification Model for Educational Repositories[J].Lecture Notes in Computer Science 2007, 4489:508-515 .
  [5]Xia Li, Jianlin Zhang, Tao Huang. A Standardized Learning Resources Retrieval System Based on Ontology Matching[J]. Lecture Notes in Computer Science 2007, 4469: 411-421.
  [6]ShiXi Tang, WeiLan Wang, HuaMing Liu, et al.Further Study on the Design of Multi-language Web CBIR Searching Engine Based on MAS[J].IEEE The First International Symposium on Pervasive Computing and Applications, 2006, 1109:658-662.
  [7]John Calcote . Thread Pools and Server Performance [J] . Dr. Dobb"s Journal ,1997,7: 60-64.
  [8]Zhongzhi Shi. Intelligent Agent and Application[M]. Beijing:Science Press, 2000: 7-18.

推荐访问:机器人 图像 搜索引擎 智能