免疫系统在搜索引擎中的应用的制作方法

文档序号:6469563阅读:137来源:国知局

专利名称::免疫系统在搜索引擎中的应用的制作方法
技术领域
:本发明涉及信息处理领域,具体的说,涉及免疫系统在搜索引擎中的应用。
背景技术
:近年来,随着Internet规模的迅速增长,网络上的信息资源也随之迅速膨胀。为了快速、有效地获得网上信息,信息检索技术得以迅速发展,人们开发了各种不同的搜索引擎。它们能以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务。传统搜索引擎按其工作方式主要可分为如下三种1、全文搜索引擎(FullTextSearchEngine)全文搜索引擎的典型代表有Google、Fast/AllTheWeb、AltaVista、Inktomi、Teoma、WiseNut、百度(Baidu)等。它们都通过从互联网上所提取的各个网站的信息(以网页文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户。该类搜索引擎搜集保存的是互联网上各网站的每一个网页的全部内容,服务方式是面向网页的全文检索服务,其优点是信息量大、更新及时、毋需人工干预,缺点是返回信息过多,有很多无关信息,用户必须从结果中进行筛选。2、目录索引(SearchIndex/Directory)目录索引虽然有搜索功能,但不是真正的搜索引擎,仅仅是按目录分类的网站链接列表而已。目录索引中最具代表性的是Yahoo(雅虎)、0penDirectoryProject(DM0Z)、LookSmart、About、搜狐、新浪、网易搜索等。该类搜索引擎只保存互联网上各网站的站名、网址和内容提要,以人工方式或半自动方式搜集信息,由编辑员查看信息之后,人工形成信息摘要,并将信息置于事先确定的分类框架中,其信息大多面向网站,提供目录浏览服务和直接检索服务。该类搜索引擎因为加入了人的智能,所以信息准确、导航质量高,缺点是需要人工介入、维护量大、信息量少、信息更新不及时。3、元搜索引擎(METASearchEngine)元搜索引擎在接受用户查询请求的同时,也能在其它多个引擎上进行搜索,并将结果返回给用户。著名的元搜索引擎有InfoSpace、Dogpile、Vivisimo、搜星搜索引擎等。这类搜索引擎没有自己的数据,它先将用户的查询请求同时递交给多个搜索引擎,再对返回的结果进行重复排除、重新排序等处理,最后作为自己的结果返回给用户。其服务方式为面向网页的全文检索,主要优点是返回结果的信息量更大、更全,缺点是不能够充分使用所使用搜索引擎的功能,用户需要做更多的筛选。传统的全文检索技术是基于关键词匹配的检索,往往存在查不全、查不准、检索质量不高的现象,特别是在网络信息时代,利用关键词匹配很难满足人们检索的要求。因此,人们开始研究智能检索技术,开发出了一些具有智能能力的搜索引擎。智能型搜索引擎运用人工智能技术把信息检索从目前基于关键词检索的层面提高到基于知识(或概念)检索的层面,突破了关键词检索限于形式的缺陷,可准确定位搜索结果的范围,从而提高了检索效率并能对用户检索请求实现合理的联想、扩充和检验,这是通过对搜索内容相关性的自动学习,不断提高搜索结果的可用度来实现的。但是目前的搜索引擎并不能完全满足人们检索信息的要求,一方面搜索引擎对信息的检准率、检全率不能令人满意,搜索引擎对搜索结果的排序也不够客观、科学。往往对一个关键词的搜索,动辄就能得到数以百计的结果。另一方面,当前的搜索引擎在学习、识别用户的信息检索模式等方面能力还比较欠缺,并不能为用户提供很好的个性化服务。信息过载使得用户对相关信息的获取越来越困难,为了查找有用的信息,用户不得不逐一查看每一条信息。信息过滤系统根据用户的反馈建立用户模板,通过屏蔽无关信息提高信息查询的效率,可有效降低用户的负担。MaloneT.W.等人提出了信息过滤的3种方式内容过滤、协作过滤和经济过滤[2]。基于内容的过滤方式通过查找文档中有趣的词条实现,通过发现用户感兴趣的词条历史记录查询新的用户感兴趣的文档;协作过滤通过用户推荐实现,如果一篇文档被用户推荐,则该文档将被赋予更高的权重;经济过滤主要是基于代价估算的思想。WidyantoroD.H.等人提出了一个动态学习用户兴趣的模型。将用户的兴趣分为短期和长期两种,短期兴趣变化较快,长期兴趣变化较慢。长期兴趣用l个向量描述,短期兴趣用2个向量描述。综合模型为短期兴趣和长期兴趣按照一定权重的叠加。但是,人为地将用户兴趣进行分割,违反了信息的公平性,是不可取的。deKroonH.C.M.等人利用多模板实现对文档的预测。综合模板通过Rocchio方法学习获得,其它子模板通过手工设置对文档进行分类,对文档的最终评价是各个模板评价的综合。因而,该模型缺乏灵活性,需要耗费大量的人力,不适合普通用户使用。免疫是机体针对外源物质的一种反应,其作用是识别和排除抗原性异物,从而维持机体的生理平衡。免疫系统由免疫细胞、淋巴组织、淋巴器官以及单核吞噬细胞组成,具有防御、监视、消除外来异体物质(抗原)和监视、清除体内衰老细胞及突变细胞的生理作用,并可稳定和保持机体内环境的平衡统一,即在体内实现免疫防御、免疫监视和免疫稳定的三大功能[3]。免疫系统的主要成分是免疫细胞中的淋巴细胞,淋巴细胞不仅经血液和淋巴环流全身引起免疫的分子水平、细胞水平及器官的功能活动,而且将免疫系统连成一个功能整体实现免疫的作用。当机体受抗原剌激时,由淋巴细胞识别抗原,引起淋巴细胞发生一系列的反应过程,对抗原进行杀伤或产生抗体而出现特异性效应,称为免疫应答。免疫应答是免疫功能的基本形式。淋巴组织又称免疫组织,是以网状组织为基础,网孔中充满大量的淋巴细胞和一些巨噬细胞、浆细胞等。淋巴组织中的淋巴细胞具有特异性、转化性和记忆性。按其个体产生、表面分子和功能的不同,可将淋巴细胞分为B细胞和T细胞。T细胞是在胸腺中成熟的淋巴细胞,是血液和再循环中的主要淋巴细胞。B细胞是在骨髓中发育成熟的淋巴细胞,B细胞受抗原剌激后,可产生抗体。生物免疫系统具有强大的信息处理机制,这些机制对于解决信息检索和过滤提供了基本的手段,主要表现在(1)分布性。生物免疫系统没有中央控制器,它由广泛分布于全身的免疫细胞组成,互联网中的信息也是分布于世界各地的,我们的信息检索也需要分布在各地的服务器来提供快捷的服务。分布式系统有很多优点,不但可以容错而且可以并行处理。(2)自适应性。自然界中存在的抗原种类远远多于生物体内的抗体种类,并且侵入生物体内的抗原具有个不可预知性。但是免疫系统能通过免疫细胞的增殖和分化作用不断地产生新的抗体,最终生成适合的抗体消灭抗原,从而动态地适应外界环境的变化。网上的信息以及用户的喜好也在不停的变化,系统应该能自动地调整以适应用户的要求。(3)动态平衡性。在免疫应答过程中,免疫系统内部各免疫细胞之间、抗原与抗体、抗体与抗体之间形成一个相互作用的动态平衡网络体系,使免疫应答维持在合适的强度。我们的信息检索往往面对的结果是大量的,可其中对用户有用的可能只有几条,因此信息免疫系统也应该能对搜索结果进行必要处理,并保持动态平衡。(4)具有学习和记忆功能。当抗原第一次侵入生物体内就会引发初次免疫应答,使免疫系统产生抗体消灭抗原,在这个过程中,免疫系统通过学习抗原产生记忆细胞。当相同类型的抗原再次入侵时,二次免疫应答就被触发,免疫系统通过唤醒记忆细胞,在比初次免疫应答短的时间周期内产生大量的抗体消灭抗原。一个成功的信息免疫系统也应该能够学习用户的查询模式和喜好,并对用户的行为进行记忆。(5)具有自我识别功能。生物免疫系统具有辨认"自己"和"非已"的特殊识别能力,对于"非己"的抗原,免疫系统能启动免疫应答予以排除,而对于"自己"的组织细胞,免疫系统能保持免疫无应答,形成免疫耐受(immunetolerance),维护生物体内环境的稳定。在信息检索中,需要对查到的结果进行识别过滤,只把用户感兴趣、所需要的信息反馈给用户;同时也可通过不断学习,提取出用户的检索模式和感兴趣的内容。生物免疫系统具有分布性、自适应性、动态平衡性、学习和记忆能力、自我识别能力等特性,这为实现信息的智能化处理提供了有效的途径。
发明内容本发明提出一种新的基于免疫算法的信息免疫系统(InformationImmuneSyetem:IIS),根据免疫细胞的特异性,利用不同的染色体描述用户需求,并专注于对无关信息的处理,引入了向量空间模型,并通过实验与其他过滤方法进行了对比。本发明所述的技术方案如下所述。本发明所述的免疫系统在搜索引擎中的应用主要采用如下步骤来实现问题定义,把信息检索中存在的问题,用免疫系统的免疫思想来解决,本发明把检索系统中的概念和操作同免疫系统中的概念和操作对应起来,初步确定免疫系统的变量、常量、函数和参数;信息预处理,本发明的信息免疫系统是基于搜索引擎来实现的,面向的对象都是半结构化的网页,对这些网页信息进行免疫处理之前,首先需要对这些网页进行预处理,主要包括特征提取、分词和网页特征化表示。设计信息免疫算法,将所描述的问题和要使用的免疫原理结合起来,设计模型、过程和算法,算法中包括亲和力计算、抗原样本训练、克隆变异和否定选择。系统设计,对预处理后的网页信息进行训练,生成免疫规则,在免疫规则的指导下,利用信息免疫算法对搜索结果进行免疫过滤,得到用户感兴趣的搜索结果。本发明主要把免疫系统的信息处理机制引入信息检索系统中,利用免疫系统的学习、记忆和自我识别机理来解决信息检索中存在的搜索结果过多的问题。通过实验测试,取5得了较好的效果'图l是本发明图2是本发明图3是本发明图4是本发明图5是本发明图6是本发明图7是本发明实施例中信实施例中信实施例中信实施例中信实施例中信实施例中信实施例中信息免疫系统的模型结构息免疫系统的类息免疫系统的实现框架;息免疫系统的特征词索引图息免疫系统的免疫搜索界面息免疫系统的百度搜索界面息免疫系统的用户反馈界面,具体实施例方式现依据附图,对本发明做进一步的描述。实施例1问题定义检索系统检索到的信息中包含用户感兴趣的信息和用户不感兴趣的信息,往往用户感兴趣的信息只占很小一部分,这必然给用户寻找自己感兴趣的信息增加了难度。免疫系统保护机体免受外部细菌、病毒等的侵袭,能够识别外来细胞或分子,然后从机体内消除这些外部有害物质,同时观察身体内异常细胞的出现,并清除已经变异的细胞。如果把免疫系统引入信息检索中,把用户不感兴趣的信息作为外来有害物质,系统就可以对用户不感兴趣的信息进行清除,方便用户查找自己感兴趣的信息。和免疫系统一样,本发明所面临的首要问题是如何定义自体/非自体,并进行识别。自体/非自体在不同的领域内有着不同的定义对于问题域D=U),ir,抗原集合AgGD,自体集合SelfGAg,非自体集合NoselfGAg,有SelfUNoself=Ag,SelfnNonself=①。对于信息免疫系统而言,非自体代表用户不感兴趣的网页信息,自体为用户感兴趣的网页信息。检测过程就是对一个模式IGD的分类,判断它是自体还是非自体。对一个IGD,一个检测器集合(免疫细胞、抗体等)BC:BC二{ai,a2,*",ai},aiG{0,l}k,k《1,iGN,N为自然数集合。一个匹配函数f:f(1,a)-MpGR|p>0Ap《l},其中aGBC,R为实数集合,e为匹配阈值,由式(2_1)完成分类。'非自体,/(/,fl)2l-S、自体,o^zerw&e借鉴于生物免疫系统的信息处理机制,本发明建立了生物免疫系统与信息免疫系统的概念对应关系。生物免疫系统和信息免疫系统的映射关系如表1所示。表1生物免疫系统和信息免疫系统的映射关系(2-1)生物免疫系统信息免疫系统抗原互联网中的网页(包括用户感兴趣和不感兴趣网页)6<table>tableseeoriginaldocumentpage7</column></row><table>本发明对生物免疫系统中所涉及的定义都可以通过以上映射关系映射到信息免疫系统。为方便下述的算法设计,这里先给出免疫系统的一些初始设定BC-初始为空的B细胞集〃bc为B细胞集中的B细胞,代表用户不感兴趣的信息,主要由网页网址、标题和关键字组成;B细胞分泌抗体MC-初始为空的记忆B细胞集〃mc为记忆B细胞集中的记忆细胞,代表被用户确认的不感兴趣的信息,主要由网页网址和标题组成R-抗体二进制表示Kt-初始记忆细胞数目Ka-亲和力阀值e_匹配阈值Kl-克隆常量Km-变异常量Ag-抗原;代表用户所面对的网页信息自体集合SelfGAg,非自体集合NoselfGAg在信息免疫系统中,抗原即是网页特征,其中非自体抗原为用户不感兴趣的网页,自体抗原为用户需要的网页。因此,设计抗原特征结构以及如何表示抗原是构建本信息免疫系统的主要挑战之一。抗原特征集是对网页特征的抽象,特征集的选取直接影响信息免疫模型的性能。特征集的选取必须遵循以下原则(l)特征集必须能够精确地描述网页特征;(2)特征集能够区分自体(self,表示用户需要的网页)和非自体(nonself,表示用户不感兴趣的网页)的行为;(3)特征集能够容易编码。因为本发明研究的是基于网络信息的信息免疫系统,而网络信息的基本单元是网页,所以本发明所使用的抗原特征集是根据网页的特征来构建的。网络信息往往表现出以下特性(l)随机性由于网络业务量的复杂多变以及用户访问网络的随意性,使得这些信息呈现很强的随机性。(2)相关性单纯的某个网页往往不能完整地反映网络信息,在较大的范围内表现出较强的相关性。因此,对网络数据的处理,不能仅仅孤立地对某个网页信息进行处理,而必须综合考虑某个范围内的特征,才能真正反映它们的具体属性。因此,本发明采用多维向量空间表示抗原。下面给出抗原特征集的一些定义定义2.l可测度集设F为一组属性值集合,包含所有网页数据中可能出现的属性值,例如网页地址、标题、关键字等,称之为可测度集。可测度集表明一个网页数据的属性集合,例如一个网页数据的可测度集为(ur1,ti11e,key),分别表示网页的网址、标题、关键字等属性。网页信息可以由一个三元组组成〈url,title,key〉,我们将重要的信息作为记录属性。用户搜索形成网页记录后,网页信息主要由网址、标题、关键字组成,这些是网页数据的必要属性。为了挖掘属性之间的关联规则,并尽可能地减少规则冗余,本发明引入参考量集的概念,用以表示网络数据中重要的属性。参考量集一般由网址、标题组成。例如对于某种垃圾网页,可以设定网址为参考量,然后计算其他网页与参考量的关系。如果这种关系满足一定的规则(例如网址相同),则可认为是非自体抗原。由此可见,参考量集的选择十分重要。定义2.2参考量集设R为可测度集F的子集,其中包含的元素为可测度集的重要特征,称之为参考量集。在本发明的信息免疫系统中记忆细胞可以作为抗原的参考量集。根据上述定义本发明给出抗原、B细胞和记忆细胞的形式化表示抗原文档Ag二〈url,title,key〉,其中url,title,key即为抗原的基因;B细胞为用户收集到的不感兴趣的网页信息,本发明表示为BC=〈url,title,key>Url=〈word!,word2,...,wordn>Title=〈word!,word2,...,wordn>key=〈word!,word2,...,wordm>记忆细胞也即参考量集MC=〈url,title〉。主要记忆一些用户初始收集以及用户后来反馈的垃圾网页信息或用户肯定不感兴趣的网页信息。用户知识库是提高对于指定检索信息查准率的关键技术,不同的用户对于同一个检索词会有不同的理解和要求。若事先为每个用户建立一个用户模型,由用户自己给出他所理解的一些关键词的相关词汇,这样,在每次检索时,搜索模块就能综合考虑用户提交的关键词和已存在于用户模型中相应的拓展开了的检索词,前者保证了检索范围不会太小,而后者则能保证检索结果的相关性。用户模型的获取包括用户主动定制和系统自动提取两部分。用户特征包括用户经常性的网络行为特征和对信息需求的特征,用户特征表中记录下用户感兴趣的主题和不感兴趣的主题,对每一个主题会赋予一个权值,表明用户的关心程度。用一个关联词典存放关联词,包括与主题词内涵相同的近似性关联词和对主题词外延加以限制的限制性关联词。用户知识库存放结果信息,知识库中有相关信息资源(KEYWORD,URL),用权值表征用户对它的满意程度及访问频度。8基因库中存放着用户不感兴趣的各种网址、标题和关键字,这些信息是信息免疫系统的基因,可以生成系统的各类抗体,组成系统的抗体规则库。借鉴于生物免疫系统所具有的辨认"自体"和"非自体"的特殊识别能力,可在信息免疫系统中为用户提供识别感兴趣和不感兴趣信息的能力。用户感兴趣的信息可看作信息免疫系统的"自体",不感兴趣的信息则为系统的"非自体"。当系统遇到"非自体"的不感兴趣信息时,可启动免疫过滤机制自动予以排除。本发明采用抗原和抗体同时进行亲和力比较的方法进行识别"非自体"信息。同时为使系统能及时反映出用户动态变化的信息需求,系统也应具有不断学习和记忆不感兴趣的信息的能力。为此,在系统设计中要解决好如下几个问题(l)根据给定的用户不感兴趣信息作为训练抗原训练生成基本的免疫规则库,使系统可对用户不感兴趣信息进行过滤。规则库中一般有两类规则一类是用户规定一定要起过滤作用的规则。当信息进入系统时,首先按照此类过滤规则排除不感兴趣的信息,并将其存入特定保存区域,然后用户可以对该区域的信息进行检查,反馈的结果将作为进一步更新规则的基本依据。另一类是与用户检索要求相对应的过滤规则,这类规则产生初始抗体并对"非自体"抗原进行过滤。(2)为了识别出"自体"和"非自体"信息,则需要对网页信息进行特异识别。其基本思想是计算网页信息与由基因库中产生的免疫细胞的亲和力,将亲和力超过给定阈值的信息作为"非自体"抗原,否则作为"自体"抗原。(3)系统将用户感兴趣的"自体"抗原直接传给用户,在此基础上用户可对免疫结果进行反馈。如果用户对查询结果感到满意的话,则系统自动对规则库中相应规则进行分裂克隆,提升该规则的作用;反之则更新规则库,降低相应规则的作用。本发明所设计的信息免疫系统主要集中在两个方面一个方面是信息免疫算法的设计,通过采用抗原和抗体同时进行亲和力比较的方法来识别"非自体"信息,可以提高系统的处理速度;另一方面为了使系统能及时反映出用户动态变化的信息需求,系统增加了记忆细胞,使系统具有学习和记忆的功能,极大地减少了用户对系统的干涉。根据上述的思想,发明人已经构建出了一个基本的信息免疫系统构架,其中主要包括信息预处理部分、免疫规则生成、信息免疫应答和免疫记忆等功能,经过实际运行取得良好的效果。图1和图2分别是系统的模型结构和类图。基于图1的免疫模型,发明人对各个模块的功能做了些细化,画除了信息免疫系统的类图。下面简述各模块的主要功能。信息采集模块信息的自动采集是信息免疫系统的数据来源,它的功能是负责向远程服务器(即目标网站)发送一个请求,然后取回相应的网页。读取网页的工作常常是根据用户的需求建立目标样本,然后利用搜索引擎选择待采集的站点,最后交由后台的网站下载工具(离线浏览器)来完成。本发明采用互联网上广泛应用的离线浏览器——WebRe即er。通过离线浏览器下载下来的Web页面被分别存储在指定的目录下供预处理模块分词、提取特征信息。学习模块首先由用户提供用户不感兴趣的网页信息,并通过学习模块来进行初始化用户模板(Profile),然后由网络信息免疫系统不断地从用户那里直接或间接地获得反馈信息,并对用户模板(Profile)进行修正。传统的方法中,一是利用概率模型进行Profile中Term的权值调整;二是利用向量空间法修正Profile方向。修改后的用户模板可以对生成免疫规则模块进行规则更新。预处理模块预处理模块的功能是负责把信息采集模块所读取的网页,先进行分词处理,然后进行特征提取,最后网页特征化表示并存入用户知识库。免疫规则生成模块通过学习模块对用户不感兴趣的网页信息的学习,生成了免疫规则模块。免疫规则模块可以生成初始的免疫规则,随后随着用户反馈对学习模块的作用,生成免疫规则模块可以对规则进行更新。免疫应答模块免疫应答模块是在生成免疫规则模块所生成的规则控制下对经过预处理的网页信息进行特异识别。对亲和力高的"非自体"网页抗原我们调用免疫规则进行清除,并保存记忆细胞存入基因库中。另外本发明对免疫规则的变异和克隆也是在免疫应答模块的指导下进行的。免疫系统运作流程用户首先通过信息采集器收集训练抗原,经过预处理后通过特征提取可以生成B细胞集组成初始基因库。用户搜索到的网页经过分词处理后可以初步表示为抗原网页,并通过对不感兴趣网页进行学习可以制定免疫规则,在免疫规则的指导下,免疫应答模块对经过预处理的网页抗原进行特异识别。根据本发明的计算亲和力算法计算网页抗原与B细胞抗体的亲和力从而识别出"非自体"的抗原。对亲和力高的"非自体"网页抗原调用免疫规则进行清除,并将记忆细胞保存到基因库中。在下次遇到同类网页抗原时,可以直接调用记忆细胞中记录的免疫规则对网页进行清除,从而减少应答时间。对网页抗原具有高亲和力的抗体可以产生免疫活化和克隆变异,对免疫规则进行反馈。实施例2预处理预处理步骤可以分为以下几步(1)通过信息抽取算法从多记录结构的Web页面中抽取各信息记录。主要是分析网页标记,提取正文内容。(2)对文本内容进行分词处理。这里主要通过选用中科院计算所耗时一年研制的汉语词法分析系统ICTCLAS来实现分词处理。(3)构造"词——文本"矩阵。每一文本d都被映像为由一组规范化正交词条向量所构成的向量空间中的一个点,将文本看作相互独立的词条组(1=(tpt2,...t》,对于每一词条ti都根据其在文本中的重要程度赋以一定的权值W工。W工这里被定义为ti在文档中的出现频率tfi(d)的函数,即Wi(d)二IF(tfi(d))。然后对所有的特征词按照其权值大小进行排序,选取前预定数目个最佳特征词形成特征子集。最后按照每一个不同的词对应于矩阵里的一行,而每一个文本则对应于矩阵的一列的方法构造词——文本矩阵。(4)在"词——文本"矩阵建立之后,利用奇异值分解(SingularValueDecomposition:SVD)计算该矩阵的k_秩近似阵。一方面,消减了原词——文本矩阵中包含的"噪声"因素,从而更加凸显出词和文本之间的语义关系另一方面,使得词、文本向量空间大大縮减,因而可以提高免疫系统的效率。(5)文本信息表示。经过奇异值分解后得到词条组d=(tpt2,...tn),如果将t2....tn看成一个N维坐标中的坐标轴,WnW2....Wn就是对应的坐标值。这样由(tpt2,...tn)分解而成的正交词条矢量就构成了一个文本向量空间,文本则映射为空间中的一个点。对于所有文本,都可用此空间中的词条矢量(、W"t2,W2,...tn,Wn)表示,从而将文本信息的匹配问题转化为向量空间中矢量匹配问题处理。实施例3算法设计和信息反馈基于关键词匹配的过滤方法建立在关键词的基础上,通过加权、相关性判断等控制手段来体现概念因素。它将文本内容转换成向量方式,易于数学处理,可操作性强,执行速度快,易于理解。但这种方法受关键词选取准确度的限制,并且,它是基于词间关系相互独立的基本假设(正交假设),这在实际环境中是很难满足的。采用潜在语义索引法过滤,过滤精度要高于按关键词匹配方法进行的过滤,可获得更好的过滤效果。但这种方法采用潜在的语义结构,缺乏直观意义,不便理解,而且潜在语义索引法算法比较复杂,过滤操作执行速度慢,随着大量新词语的加入,会使概念空间上的查询、过滤性能下降,因而它要求初始的训练集足够大,也可当新词语太多时重新进行SVD计算。信息免疫算法依照人们的长期实践经验,模仿了免疫细胞对抗原进行免疫的原理,并结合各种数学算法来实现它的功能。它的最大优点是具有很强的自学习功能和自适应能力,并有一定的容错性和柔韧性,使之在减少人为干预的情况下,实现系统的自我更新和完善。信息免疫算法把每个文档表示为一个三维向量,分为网址、标题和关键字三部分Vector=〈url,title,key>其中Url=〈wordl,word2,…,wordn〉Title=〈wordl,word2,…,wordn〉Key=〈wordl,word2,…,wordm〉有关正文文本特征向量表示的数据结构如下typedefstructt_term_weight{charterm[MAX_TERM_LEN]:〃特征项floatweight;〃特征项的权值TF*1DF}t_term_weight;typedefstructt_doc_vsm{t_doc」dcont」d;〃文本在训练集中的唯一标识intterm_num;〃文本向量中所含特征项的数目t_term_weghtvsm_arr[MAX_VSM_LEN];〃文本的向量数组}t_doc_vsm;信息免疫算法如下Programmain//主禾呈序{Train(trainingset)〃训练规则,生成几类抗体,对应一类抗体就有一系列行为就是一个规则Waituntil(atextarrives)Ag〈-converttextintoantigen〃通过分词,转化为4.3.1中的抗原向量表示K〈-affinity(ag,mc)〃与记忆细胞进行匹配,相符则移除该抗原网页IFK=1Agwillberemovedelse11K〈-affinity(ag,be)R=(Con,Par)〃生成二进制抗体,见4.3.2C(ag)=(Z画'*"/(戸W-1),戸2,.)("g))〃抗体的亲和力,详见4.3.2,coni的取值由K决定If(C(ag)>=Ka)MoveagintouseraccessiblestorageStorage〃存入用户不感兴趣缓冲数据库ElseAllowtexttopassthrough〃网页文本直接提交用户;抗体规则越多,这里的操作也会分的越细,这里假设只有两个操作If(userhasgivenfeedbackonag)Update(ag)〃提升与该抗原亲和力大于阀值的抗体规则(规则clone提升)}在免疫算法中本发明用到了计算亲和力算法,计算亲和力算法本发明设计如下先计算网址、标题的亲和力,即url,title向量,如果亲和力大于ka,直接返回;反之进一步计算关键字的亲和力;该算法之前把文档经过预处理,用概念类代表同义词和近义词。procedureaffinity(ag,be)〃计算亲禾口力(If(aghasashorterurlfeaturevectorthanbe)Bshort〈_ag.url,Blong〈_bc.urlElseBshort〈_bc.url,Blong〈_ag.urlCo皿t〈—thenumberofwordsinbshortpresentinblongBs_len〈_thelengthofbshort'sfeaturevectorAf〈_coimt/bs_lenIf(Af>=Ka)ReturnAfElseIf(aghasashortertitlefeaturevectorthanbe)Bshort〈_ag.title,Blong〈_bc.titleElseBshort〈_bc.title,Blong〈_ag.titleCo皿t〈—thenumberofwordsinbshortpresentinblongBs_len〈_thelengthofbshort'sfeaturevectorAf〈_coimt/bs_len12If(Af>=Ka)ReturnAfElse〃前面为计算网址、标题的亲和力,即url,title向量;后面计算关键字的亲和力如果ag和be含有相同的关键字则按其权重进行比较endifIf(aghasthesamekeyfeaturevectorinbe)J/=J力(Bo-Agim)2〃这里Agim(Be,)表示关键词tm在文档Agi(BCj)中的权重,0《Agim《1ReturnAf}在信息免疫算法中,本发明在一开始就用到了Train子程序,Train(trainingset)是一个训练算法,该算法对样本免疫库中的抗原进行训练,生成B细胞集;抗原已进行过分词处理,在算法中表现为一类训练集合,在这里叫做TE。算法如下ProcedureTrain(trainingset){Foreach(teGTE)AddtitlewordsandkeywordstoappropriatelibraryRemoveKtrandomelementsfromTEandinsertintoMCForeach(mcGMC)If(affinity(mc,te)>Ka)Clones—clone—mutate(mc,te)〃克隆变异生成新抗体Foreach(cloGclones)If(affinity(clo,te)>=affinity(mc,te))BC—BCU{clo}Negachoose(BC)〃否定选择算法}否定选择算法否定免疫算法是对免疫细胞的成熟过程的模拟,经历耐受的检测器模拟成熟的免疫细胞。ProcedureNegachoose(BC){从BC中随机生成大量的侯选检测器bc(即免疫细胞);〃初始化while—个给定大小的检测器集合还没有被产生do〃耐受Foreach(self)If(affinity(self,bc)>e)〃选择ThenRemovebefromBC}13克隆变异算法用户的兴趣是会发生变化的,有时用户对自己的信息需求模糊不清,或很难选择准确的关键词,以致提交的信息需求不一定准确,本发明提供了克隆变异的算法来结合多个用户的信息需求,进行交叉变异可以生成新的抗体。Procedureclone—mutate(bcl,bc2){aff—affinity(bcl,bc2)clones—①〃亲和力越大克隆的数目就越多,相应变异的就越少;反之则克隆的少变异的多;皿m—clones—aff氺kl皿m—mutate—(1-aff)氺bc,sfeaturevectorlength氺kmFor(I=1;1<=皿m—clones;I++)bcx—acopyofbclFor(j=1;j<=皿m—mutate;j++)〃对克隆中的随机关键词进行替换;p—arandompointinbcx,sfeaturevectorw—arandomwordfromtheappropriategenelibraryreplacewordinbcx,sfeaturevectoratlocationpwithwclones—clonesU{bcx}returnclones}针对用户的反馈,要对规则进行提升,规则的提升算法系统内的规则克隆变异和系统外的用户反馈共同决定规则的变化。ProcedureUpdate(ag){Foreach(bcGBC)If(affinity(ag,be)>Ka)Incrementbe'sstimulationcount〃找出与该抗原亲和力最高的抗体,如果该抗体与抗原的亲和力高于记忆细胞与抗原的亲和力,则在提升规则的同时更新记忆细胞Bc_best—elementofBCwithhighestaffinitytoag〃系统内B细胞克隆变异BC—BCUclone—mutate(bc_best,ag)Bc_best—elementofBCwithhighestaffinitytoagMc_best—elementofMCwithhighestaffinitytoagIf(affinity(bc_best,ag)>affinity(mc_best,ag))BC—BCU{bc_best}MC—MCU{mc_best}U{bc_best}Foreach(mcGMC)If(affinity(bc_best,mc)>Ka)Decrementmcstimulationcountandaddwordsfromag'sfeaturevectortogenelibraries}通常情况下,通过用户填写表单的方式束获取其信息需求其方法最简单、经济,也是现在网络信息服务提供商最常用的一种方式。这种方法的缺点是有时用户对自己的信息需求模糊不清,或很难选择准确的关键词。另外,由于是用户主动填写需求单,而系统不能主动跟踪用户的兴趣变化,其服务仍然是被动式的。为了解决这些问题,主要有如下方法采用固定文章集了解用户需求的信息过滤方法;基于示例的用户信息需求获取方法;主动跟踪用户的信息需求;借鉴面向对象程序设计中类树及生物免疫的思想,先由系统管理员定义类的框架。在本系统中采用的借鉴面向对象程序设计中类树及生物免疫的思想,用户可以通过一个可视化的界面来完成对自己信息需求内容的定义描述。接着系统把用户的需求描述内容转化成为一种内部信息需求描述格式,同时发给免疫系统完成用户所需信息的查询。由于有时用户对自己的信息需求模糊不清,或很难选择准确的关键词,所以提交的信息需求不一定准确。随着多个用户信息需求的提交,系统对多个需求的交叉变异会生成新的需求。当需求与外来信息进行匹配后,免疫系统会对正确的需求进行克隆扩增,从而获取一个较高质量的信息需求文件(Profile)。需求描述格式定义如下UserProfile=0bjectDescrptionl,...,0bjectDescrptionn〃需求整体定义说明,即该需求描述是由若干数据对象的定义描述构成ObjectDescriptionj=(ObjiectFieldDefinationj,0bjectDataFilterCondictionj)〃对各个数据对象的定义描述细化,包括数据对象(数据表)、数据对象的属性(所需列)、数据对象包含的数据(所需行)的描述说明ObjectFieldDefination=0bjectNamej(fieldjl,...fieldjk)〃具体说明所要求的各数据对象(数据表)及其所需的各属性(字段)0bjectDataFilterCondition=BoolenExpression(fieldjl,…,fieldjk)〃数据表中数据记录(行)的过滤条件网络中的用户信息需求是处于动态变化之中,并且潜在需求会随着文档的提供逐渐明确。这就需要网络信息过滤系统不断地从用户那里直接或间接地获得反馈信息,并对用户模板(Profile)进行修改。传统的方法中,一是利用概率模型进行Profle中Term的权值调整;二是利用向量空间法修正Profile方向。当前,随着人工智能技术的发展,机器学习的方法在信息过滤中得到广泛的应用。如Bayes学习方法,以及神经网络方法、决策树、KNN(KNearestNeighbor),SVM(SupportVectorMachine)方法等,都能提供信息相关反馈,动态了解用户的兴趣并能跟踪其兴趣的变化,并具有自我学习和自我适应的机制。因而,这些技术在信息过滤理论与实施中受到广泛的关注。在生物免疫系统中也存在反馈的原理。在免疫反馈过程中,T细胞又细分为抑制T细胞(TS)和辅助T细胞(TH)[8],用于抑制和帮助B细胞对某种剌激的反应。当抗原被抗原提呈细胞消化后,抗原提呈细胞将关于抗原的信息传递给辅助T细胞,分泌IL+(—种白细胞介素)激活免疫反应,IL+能剌激B细胞大量克隆增殖,促进反应激烈。这个阶段称为反馈期。当B细胞的数目大到一定程度时,抑制性T细胞就会分泌大量IL-(也是一种白细胞介素,对B细胞的克隆增殖具有抑制作用),进而抑制免疫反应,使之趋于平静,这个阶段称为抑制期。免疫反馈的这些机理,能促进免疫系统对抗原的快速应答,并同时保持免疫系统的相对稳定性。免疫反馈的原理可以帮我们完善信息反馈技术。进化式信息需求定义文件(E-Profile)中每个E-Profile包含多个信息需求的描述(B-Profile)。它们从不同角度反映用户的信息需求,用户可对过滤后的文档集中按照与其信息需求的相关程度按5个级别打分,最低为0,最高为1。系统通过用户的打分来获得反馈信息;通过隐式学习策略、奖惩策略、淘汰策略等使每个B-Profile在每次反馈后都向用户的实际信息需求作一次小小的移动,由此对它们的信任度不断更新。当用户提供的反馈次数达到一定值后,信任度低的B-Profile即被淘汰,信任度高的可进行克隆变异。这样,通过多个个体的竞争和合作,经过类似于生物界中自然选择的过程,使系统性能达到最优。系统的反馈主要是通过协同剌激来实现,主要来自人为的协同剌激。对于一个模型是否准确地预测了数据或挖掘了信息,是需要一定的反馈和评估函数的,有了反馈数据可以对模型的参数进行动态的调整,使得模型能够既不过度拟合数据,又不模糊处理数据。对于信息免疫系统的反馈数据主要是通过对系统数据的监测和人为的反馈。总的来说,系统数据的监测主要是对系统中一些有用参数的监测来调整系统,使之处在一个平衡而高效的状态。比如,当在一个限定的时间段中一些类似或者同一个查询频繁发生,而到达了一定的浓度时,系统就应该使得响应的B细胞进行变异、遗传和克隆,来应付这些查询,使得对于这些查询的响应更高效,而一旦这些查询不再频繁了,系统就会通知TH细胞来对这些活跃B细胞进行抑制,减少这些B细胞的数量,同时使一些到期的B细胞进行代谢和死亡,使另一些激活率高的B细胞加入免疫记忆细胞行列。同时,新生成优秀的新代B细胞,以保持系统中B细胞的一定浓度。而人为的协同剌激主要是用来对系统数据分类的一种判断,或是对于查询的进一步精确化。系统在自动分类过程中就需要人为的协同剌激来进行确认和对系统进行调整。用户可以通过一个可视化的界面来对系统数据进行反馈。实施例4发明人在Windows2000Server环境下实现该系统,采用VB.net作为主要编程工具,通过IIS发布ASP网页文件,DBMS采用SQLServer2000,用于保存词典、文档索引库、类别词及基因库等信息。由于系统需要使用搜索引擎,为了提高系统的查全率和查准率,在实际应用中应该采用元搜索引擎进行搜索,不过由于时间和精力的原因,发明人在实验中采用自己架设网站借用百度搜索引擎进行测试。测试文档取自中国新闻社网站。该网站每天产生200字以上的各类新闻180条左右,取IOOO条新闻作为学习样本,再取其后IOOO条作为测试数据。网页由软件自动获取,并抽取其中的新闻主体,删除标签等无关数据后进行分词处理,再进行特征选择,构造基因16库。在学习阶段,由用户提供比较反感的网页,系统自动下载该网页,抽取其中的文本,分词后消除停用词,进行特征选择。经过特征选择后,去除文档中高达98%的无效词条。这里实验采用改进的基于词频统计的方法计算词条的权重,计算式为<formula>formulaseeoriginaldocumentpage17</formula>(6-1)式中Wt,d为词条t在文档d中的权重;lt是词条t的字数;ft,d是词条t在文档d中出现的次数;ld是文档d的字数。通过对中国新闻社大量网页的统计表明,该方法比TF-IDF方法更简洁、高效。基于信息免疫算法架构的搜索引擎主要分为三层架构,实现框架见图3所示。关于亲和力阈值的确定,本系统先在系统初始状态给定一个初始阈值零,在经过对正例(用户感兴趣的网页信息)、反例(用户不感兴趣的网页信息)与初始用户不感兴趣信息的亲和力计算后,用正例亲和力的均值和反例亲和力的均值的中点作为新的阈值。可以按照下面的公式计算反馈阈值<formula>formulaseeoriginaldocumentpage17</formula>其中SimPi、Simrij分别为第i个正例,第j个反例与基因库中用户不感兴趣的信息的亲和力;m、n分别为正例和反例的数量。在一系列无阈值反馈和有阈值反馈的对比实验中,有阈值反馈的正确率和召回率都要优于无阈值反馈的结果。见下表。<table>tableseeoriginaldocumentpage17</column></row><table>从上表可以看出,进化方法所提取的规则数较多,但准确率相对较低;信息免疫算法所提取的规则数较少,但准确率较高。这在一定程度上说明,信息免疫算法相对于进化方法而言较适于求解一些精练的规则。在进化算法和信息免疫算法的对比方面,二者在求解结果方面的差异不少,后者的计算速度较快。这主要是因为信息免疫算法可以减弱进化算法在计算过程中出现的退化现象,有利于群体的相对稳定,从而促进演化过程。信息免疫算法比进化算法所搜索到的网页数量要少很多,会不会造成查全率较低呢?答案是否定的,因为我们的搜索是基于相同的搜索引擎,只不过信息免疫算法有个基于记忆细胞的规则可以很大的降低搜索到的网页数量。我们的记忆细胞里记忆的是用户感兴趣的网页的基本信息,包括网页的网址,系统对该网址的首页进行免疫过滤,这主要是考虑,首页主要存在的是该目的网页的简介或导航信息,不具有实用价值,系统可以予以过滤。实验过程中由于要过滤的文本比较多,而在预处理过程中对关键词的权值是按词频统计的,如何快速统计特征词在文档中的出现次数,成为影响系统过滤器效率的一个重要因素。为了加快统计速度,本发明以每个特征词的首字为索引,将特征词散列在6763个汉字组成的散列表中,对于首字相同的特征词,本发明用链表将它们组织起来。如图4所示。在图4中特征词节点可以记录该词在文档中出现的次数,这样极大地提高了统计速度。图5是程序运行的部分界面。同样的搜索关键词"计算机免疫"在百度的搜索结果见图6。通过比较我们可以看出对相同关键词的检索本发明的免疫搜索获得了比百度搜索要少的多的记录,运行时间也和百度检索相当。下面是程序中的部分代码。/*------------创建用于保存全站索引的数据表-----------*/CREATETABLE—detail—(—ID—INTNOTNULLAUTO_INCREMENTPRIMARYKEY,—title—VARCHAR(100)NOTNULL,—keyword—TEXTNOTNULL,—filename—VARCHAR(250)NOTNULL,—dtime—DATETMENOTNULL—url—varchar(100)NOTNULL,);〃下面是从收集到的网页详细信息表detail中删除满足规定条件的网站记录;〈%by=request(〃by")word=request(〃word")pn=request(〃pn〃)ifby=〃url"thensql=〃select*fromdetailwhereurllike'%〃&word&〃%'〃6ls6sql=,endif%>〈%deleteifdelete〈〉"co皿.executeresponse,writeselect*fromdetailwheretitlelike'%〃&word&〃%'delete")andsession(〃lastdeleted"deletefromdetailwhereidthen〈bigXbigXfontcolor为"&delete&〃的网站记录!〈/font>〈/big>〈/bigsession(〃lastdeleted")=deleteendif%>=〃&deletered'>已删除一条编号图7是用户反馈的系统界面。用户反馈的信息会直接被插入过滤表单中,并且被用户反馈的关键词和标题信息都会引起相关免疫规则的更新。过滤表单的生成#创建时间2005年9月13日17:58#最后更新时间2005年9月13日17:58#DROPTABLEIFEXISTS—banlist—;CREATETABLE—banlist—(—icTint(ll)墜ignedNOTNULLauto_increment,—bankey—varchar(lOO)NOTNULL,—reason—varchar(100)NOT亂L,—title—varchar(100)NOTNULL,—url—varchar(100)NOTNULL,PRIMARYKEY(—icf))TYPE=MyISAMAUTO_INCREMENT=9;##导出表中的数据—banlist—#INSERTINTO—banlist—(—idcom','黄色网站');INSERTINTO—banlist—Cidnet','黄色网站');INSERTINTO—banlist—Cicfcom','黄色网站');INSERTINTO—banlist—Cicf测试');INSERTINTO—banlist—Cicf危险网站');INSERTINTO—banlist—Cicf危险网站');INSERTINTO—banlist—icf,—bankey—,—reason—)VALUES(7,'ad.fr.doubleclick.net','危险网站');INSERTINTO—banlist—(—icf,—bankey—,—reason—)VALUES(8,'ad08.focalink.com','危险网站');这里是初始化的过滤表单的生成,用户反馈可以对该表单进行更新。本实验主要通过把预先训练好的用户不感兴趣的网页特征集建成数据库,然后与搜索到的网页特征集进行比较,主要是进行网址、标题和关键字的亲和力计算。实验中只对亲和力等于1的网页进行过滤。发明人在实验中也针对当前流行的过滤规则建立过滤数据库表单,对网页进行双重过滤,成功的提高了搜索效率。bankey,reason)VALUES(1,'www.xxxx.'bankey','reason')VALUES(2,'aisa-girl.bankey,reason)VALUES(3,'www.mmgirls.bankey^,reason)VALUES(4,'sss.com','bankey^,reason)VALUES(5,'qq520.com','bankey^,^reasorT)VALUES(6,'sexhu.com','19用户反馈系统采用了系统在过滤中通过对亲和力等于1的规则进行克隆更新和用户通过系统界面进行反馈两种方法进行反馈的方式,即使不通过用户反馈系统也可以进行进化,减轻了用户的工作。权利要求一种免疫系统在搜索引擎中的应用。2.如权利要求1所述的免疫系统在搜索引擎中的应用方法,其采用如下步骤来实现问题定义,把信息检索中存在的问题,用免疫系统的免疫思想来解决,把检索系统中的概念和操作同免疫系统中的概念和操作对应起来,确定免疫系统的变量、常量、函数和参数;信息预处理,用搜索引擎对信息进行预处理,因其面向的对象都是半结构化的网页,对这些网页信息进行免疫处理之前,首先需要对这些网页进行预处理,主要包括特征提取、分词和网页特征化表示;设计信息免疫算法,将所描述的问题和要使用的免疫原理结合起来,设计模型、过程和算法,算法中包括亲和力计算、抗原样本训练、克隆变异和否定选择;系统设计,对预处理后的网页信息进行训练,生成免疫规则,在免疫规则的指导下,利用信息免疫算法对搜索结果进行免疫过滤,得到用户感兴趣的搜索结果。全文摘要本发明主要把免疫系统的信息处理机制引入信息检索系统中,利用免疫系统的学习、记忆和自我识别机理来解决信息检索中存在的搜索结果过多的问题。通过实验测试,取得了较好的效果。文档编号G06N3/00GK101751409SQ20081020360公开日2010年6月23日申请日期2008年11月28日优先权日2008年11月28日发明者赵孟德申请人:上海电机学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1