开篇:润墨网以专业的文秘视角,为您筛选了一篇基于事件驱动模型的搜索引擎设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:介绍了搜索引擎个性化服务的主要技术,结合离散事件驱动模型的思想、DWR和现有搜索引擎的基本架构,设计了基于事件驱动模型的搜索引擎的系统结构,提出了一种新的搜索引擎算法,算法中,基于用户停留时间来分析用户对打开页面主题的关注程度,并结合HTML文档特点和中文写作习惯等特征,对算法中的关键词权重计算公式进行了改进,从而进一步提高了搜索引擎的性能。
关键词:事件驱动模型;搜索引擎;主题分析
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2011)28-6866-03
Design of Search Engine Based on Event Driven Model
LUO Xing-jun1, BAI Xiao-bo2
(1.Forestry Department of Nanping,Nanping 353021 China; 2.Software School of Hunan University, Fuzhou 350003,China)
Abstract: The paper introduces the main technology of search engine personalized service. Combine with the concept of event driven model, DWR and basic framework of search engine, design of the system framework for the search engine based on event driven model as well as the idea of design is provided. Meanwhile, the algorithm of analysis of users’ interest in page by users’ time on page is proposed; the algorithm of key words weight is improved in comply with HTML file's features and Chinese writing habits; so as to improve the performance of the search engine.
Key words: event driven model; search engine; theme analysis
1 个性化搜索引擎概述
个性化搜索引擎[1],使用自动获得的领域模型(如Web 知识、信息处理、与用户兴趣相关的信息资源、领域组织结构)、用户模型(如用户背景、兴趣、行为、风格)知识进行信息搜集、索引、过滤(包括兴趣过滤和不良信息过滤),并自动地将用户感兴趣的、对用户有用的信息提交给用户。也就是针对同一搜索关键字能根据不同用户返回不同的结果。
2004年3月,Google推出了个性化搜索引擎测试版(Google Personalized), 用户可以设定自己感兴趣的领域, 让它只返回与该领域有关的链接;中国搜索提供了12个一级目录,102个二级目录,供用户添加感兴趣的类别[2]。
1.1 个性化搜索服务的主要技术
个性化搜索引擎考虑到不同用户的差异性,为用户提供更符合自身需要的服务。其涉及的主要技术有推荐技术、用户建模技术等。
目前主流的推荐技术主要有基于项目推荐[3]、基于用户推荐的协同过滤[4]等。其主要内容又分为两个方面:一是用户资源关系,二是推荐算法。其中用户资源关系是基础,推荐算法是核心。
用户兴趣建模是产生推荐结果的基础,其技术主要有用户手工输入、用户浏览的页面分析、Web日志分析等。
1.2 个性化服务技术存在的主要问题
1)维护用户与资源关系矩阵的开销大。例如,对于100万个用户和1000万个资源,个性化服务中需要维护的用户与资源的关系矩阵维护将非常庞大,其存储和计算过程的时间开销将非常巨大,而作为搜索引擎,响应时间是一个很重要的技术指标,巨大的开销必将严重影响搜索引擎的性能和应用。
2)用户潜在兴趣难以挖掘。用户的生活丰富多彩,在网上所需的信息具有随机性。而目前的个性化服务技术难以适用对用户潜在兴趣的充分挖掘。
因此,本文研究一种新的基于事件驱动模型的搜索引擎设计方法,以解决个性化服务技术中存在的主要问题。
2 事件驱动模型及DWR技术
2.1 事件驱动模型三要素
事件驱动模型思想在很多程序开发语言的GUI中都有应用,其主要内容如下:
事件源:能够接收外部事件的源体, 如按钮、单选框和复选框等。
监听器:能够接收事件源的通知的对象。
事件处理方法 用于处理事件的对象, 事件源接收一个事件, 并把这个事件发送到一个或多个监听程序, 监听程序只是等待这个事件并处理它, 然后返回. 即程序把事件的处理“委托”给一段“代码”。这段代码就是事件处理方法, 也叫事件处理程序。
2.2 DWR异步更新技术
DWR(Direct Web Remoting)是一个开源的Java类库,应用该架构的Web应用程序,能够在浏览器中直接调用Java程序。其原理较为简单,就是通过配置文件(dwr.xml)完成路径映射,以确定JavaScript要调用的Java类,再使用XMLHttpReuqest请求,将请求参数转化并调用相应的Java方法处理,然后将处理结果以异步的方式返回并转化为JavaScript代码,因此该框架非常适合模拟事件驱动模型。
3 基于事件驱动模型的搜索引擎设计
结合事件驱动模型思想、DWR技术和搜索引擎现有技术,设计基于事件驱动模型的搜索引擎系统,基本思想如下:
1)在用户第一次输入关键词查询以后,将结果在页面显示,设为各项目为I,初始显示页面为P;
2)当用户对项目I“单击”以后,此处将I看作事件源;
3)单击以后,通过JavaScript和DWR的设置调用执行相应的Java代码,也就是调用图1的主题分析器的方法,将该方法作为“事件处理方法”,根据公式(1)计算的结果决定是否进行异步更新。
3.1 基于事件驱动模型的搜索引擎系统结构设计
结合事件驱动模型和DWR框架,设计基于事件驱动模型的搜索引擎系统的结构如图1所示。
其中,过滤器主要完成查询器返回的文档与查询条件的主题相似度的计算;主题分析器完成用户随机关注主题的分析。
3.2 基于事件驱动模型的搜索引擎算法设计
1)将搜索关键字提交给“查询器”;
2)“查询器”根据用户输入的查询条件在索引数据库中搜索;
3)“查询器”将查询到的结果集经过过滤器以后返回给用户接口显示。
4)用户“单击”打开相应的Web页面的同时,通过DWR框架对用户的“单击”事件做出响应;
5)通过DWR框架,调用“主题分析器”的方法对打开页面的“主题”进行分析,从而获得用户随机的关注主题,同时计算用户在该页面的实际停留时间(St)和理论停留时间(Pt)。理论停留时间可采用公式(1)计算得出。
(1)
互联网行业有一个比较流行的“八秒钟规则”[5],如果Web站点在8秒钟后没有反应,那么访问者一般会弃之而去。所以,这里Pt(理论停留时间)就加上了其平均时间α=4.5; β=2.5为平均阅读速度;TFki为词汇ki在文档D中的词频。
6)如果 ,说明该页主题不符合用户的需求,则不进行结果集(RS)
的异步更新;否则,结合用户的查询关键字和分析所得的主题传递给“查询器”进行查询,也就是执行第2步;
7)经过过滤器,将新的结果集返回给DWR框架。
8)通过DWR框架对原页面进行更新。
以上八个步骤中的核心是主题的分析算法,通常采用空间向量模型VSM(Vector Space Model)[6-8]来表达文档主题特征,向量中的各项是文档中关键词汇的权重,词汇权重计算的一般公式为W=TFIDF,Salton给出了一个词汇权重计算公式[9]:
(2)
其中,W(t,i):词汇t在文档i中的权重;fti :词汇t在文档i中的词频,即词汇出现的次数;N:所有的文档数;nt:所有文档中,出现词汇t的文档数;ti:文档i中,所有的词汇数。
3.3 对算法中词汇权重计算公式的改进
为了更好地进行主题分析,在对关键词汇权重的计算中需要考虑HTML页面的文档结构和中文的写作习惯等特征,因此,对词汇权重计算公式(2)进行如下改进。
根据HTML页面的文档结构和中文的写作习惯,把词汇出现在HTML页面的位置分为以下7个等级:
1)〈title〉〈title〉标签中的词汇,通常都直观的反映了页面的主题,所以给其位置重权为P1远大于其他等级的权重;
2)〈strong〉〈strong〉、〈B〉〈B〉、〈I〉〈I〉、〈H1〉〈H1〉、〈meta〈meta〉等强调性的标签中的词汇,例如〈meta name=“keywords” content=“业务” ,/〉或者标点符号《》和“”之间的文字更有可能是关键词汇,给其位置权重为P2;
3)〈a〉〈a〉锚或超链接中的词汇给其位置权重为P3;
4)正文的第一段中词汇给其位置权重为P4;
5)正文最后一段中词汇给其位置权重为P5;
6)其他段落中首句或尾句的词汇给其位置权重为P6;
7)其他位置的词汇给其位置权重为P7,其中,P1〉P2〉P3〉P4〉P5〉P6〉P7,如果没有在相应位置j处出现,则Pj(1〈=j〈=7)为0。
通过对用户打开文档D的解析和分词,得到网页中词汇集,各个词汇权重可通过公式(3)计算。
(3)
其中,W(kt :D)词汇kt在页面D中的权重;TF(kt :D)词汇kt在打开文档D中出现的次数;DF(kt :D)所有文档中,出现词汇kt的文档数,例如“业务”在100篇文档中的50篇出现过,则DF(Document Frequence,文档频率)就是50;N :所有文档数;Pj :位置权重(1〈=j〈=7),表示同一个词汇在不同的位置的不同权重。
计算完各词汇的权重之后,按词汇排序,文档D的向量为词汇, Wn为词汇Kn 的权重。下一步就是计算各页面与主题的相似度,通常都采用向量余弦来表示,T为用户关注主题向量,D为所查询到的文档,其公式如下:
(4)
考虑HTML页面的文档结构和中文的写作习惯等特征,对词汇权重计算公式进行改进,可以更准确地分析用户关注的主题,从而进一步提高了搜索引擎中主题分析器的性能,进而提高搜索引擎的性能。
4 结束语
本文结合已有的DWR技术和搜索引擎基本结构,设计了一个基于事件驱动模型思想的搜索引擎系统,提出了基于用户停留时间来分析用户对打开页面主题关注程度的搜索引擎算法,并对算法中关键词权重的计算公式进行了改进,以期能够解决用户搜索需求的随机性问题及大量的用户兴趣特征需要维护的问题。
然而,在异步更新后,计算页面内容与用户随机主题相似度时需要大量的计算的问题,以致响应速度较慢。所以,如何提高响应速度是下一步研究的主要目标。
参考文献:
[1] 李晓明,陈建国.搜索引擎技术及趋势[J].IT聚焦:搜索引擎,1992(2):83.
[2] 张立彬,杨军花,杨琴茹.第三代搜索引擎的研究现状及其发展趋向探析[J].信息系统:情报理论与实践,2008,31(5):788.
[3] 陈健,印鉴.基于影响集的协作过滤推荐算法[J].软件学报,2007,18(7):1685-1694.
[4] Konstan J,Miller B,Maltz D.GroupLens:Applying Collaborative Filtering to Usenet News[J].Communications of the ACM,1997,40(3):77-87.
[5] 常庆.风险主题搜索引擎相关技术的研究与应用[D].西安:西北大学,2008.
[6] 王颧,黄厚宽,田盛丰.文本分类实现技术[J].广西师范大学学报:自然科学,2003(1):173-179.
[7] 张东礼,江东升,郑纬民.基于VSM的中文文本分类系统的设计与实现二[J].清华大学学报:自然科学版,2003(9):1288-1291.
[8] 李雪雷,张冬茉.一种基于空间向量模型的文本分类方法[J].计算机工程,2003(17):90-92.
[9] Salton C,Bucklev.Term Weighting Approaches in Automatic Text Relrieval[J].Information Processing and Management,1998,24(5):13-52.