摘要:什么是分类检索?就是检索之后再分类,简单的讲,就是根据用户定义的类别信息,对搜索引擎返回的结果再分类,以方便用户快速定位到自己真正感兴趣的信息。本文介绍了我最近一段时间来开发的一个分类检索系统,欢迎大家提出宝贵意见。

当前搜索引擎系统的缺点

诚然,Google、百度等搜索引擎的出现极大的方便了我们获取信息的活动,然而,当今存在的任何一个搜索引擎还都不能称得上是智能化的搜索引擎,很多时候我们还是觉得他们太笨了点儿,我们经常发现搜索引擎返回的结果并不是用户真正关心的信息,相信很多用户都遇到过一次又一次点击“下一页”的痛苦。

原因何在呢?我们知道,当前的搜索引擎大多数是基于关键词进行查询,然而,在这里关键字仅仅是出现在网页中的符号而已,它所指代的语义并没有被使用。页面分析所依据的也是存在于页面之间的链接关系,它不能表示这些页面本身包含什么信息。这就决定了搜索引擎还不能还好地处理页面信息的语义,因此,目前搜索引擎出现了一系列的困难。根据中国互联网网络信息中心(CNNIC)的报告称,用户认为在互联网上查询信息时遇到的最大问题是重复信息太多(44.6%)、信息太陈旧更新缓慢(27.5%)、得到的有用信息太少(10.7%)、信息查找不方便(10.2%)。这些问题中的第一项和第三项的主要根源都是搜索引擎不能理解存在于网页中的信息的语义。为了解决这些问题,搜索引擎必须能够表达和处理语义信息。

因此,针对当今搜索引擎的缺点,国内外各研究机构、公司都进行了很多研究,提出了诸如“问答式信息检索”等很多新的概念,希望能够使搜索服务变得更加智能、更加人性化。当然,要想让计算机真的变得如同人类一样聪明,其难度可想而知。

分类检索是什么

首先澄清,分类检索只是我对自己开发的这个系统临时起的一个名字。其实,分类检索是自然语言研究领域的“文本分类”技术在信息检索方面的一个应用。什么是文本分类?顾名思义,就是对于一段文本,给出一个它的类别信息,它是通过分类器程序,对待分类的文本进行语义的分析而给出类别。试想,如果有一次我们在搜索引擎中键入了“刘易斯”,大家知道,体育界名为“刘易斯”的不在少数,有拳王、篮球运动员、足球运动员等,如果用户只是关心拳王“刘易斯”,则他不得不无奈的面对很多无用的信息。如果用户幸运的:)使用了分类检索系统并且预先定义了体育类别,则只要他点击一下“拳击”,则我们的系统就根据分类器对检索结果的分类信息,将“拳击”类别的检索结果反馈给用户,以缩小用户的检索范围,下图是这一过程的效果图:

 


几点说明:

1、 该系统是建立在现有搜索引擎基础上的,它对现有搜索引擎的返回结果进行分类,并根据用户选择将满足类别的结果显示出来。

2、 在每个类别之下提供了“满意”、“不满意”复选框以供用户提供反馈,这样可以对分类器进行在学习,以提高分类的精度。

3、 系统以IE插件的形式开发,随IE的启动而启动。

若干关键技术

1、 文本分类技术

文本分类技术是自然语言处理领域一个重要的研究方向,对于它的实现不是三言两语能够说清楚的,而且我也没有掌握(老师前两天还和我面谈,说如果我读博士就让师兄将它传授给我 T T),所以尽管它是这个系统的核心技术,我却不能作更多的介绍了。

2IE插件技术

本系统作为IE插件进行开发。作为IE的插件,随IE的启动而启动,该部分需要实现如下功能:

a)      监视浏览器,获取浏览器消息,在用户使用百度等搜索引擎进行访问前捕获该事件;

b)      进行必要的参数调整:由于百度默认一页只有十个返回结果,对如此少的信息进行分类是没有必要的,所以调整参数,令百度一次返回100个结果,然后发出查询请求;

c)      捕获百度返回全部页面结果的时间,对页面进行分析,提取100个返回结果中的每一个结果,调用分类函数,对每一个结果进行分类;

d)      根据用户选择的类别,重新组织页面,将只属于该类别的信息显示给用户;

 

为实现上述功能,必须调用IE提供的各种接口。IE的核心模块是以COM组件的形式提供给用户的,因此系统使用ATL、遵循COM标准进行开发。

Windows操作系统上,我们最常见的浏览器有两种:文件浏览器(exploer.exe,应用于文件系统)和Internet浏览器(iexplore.exe,应用于互联网资源)。由于这两个浏览器功能强大,而且又与Windows操作系统捆绑销售,最终也就成为了浏览器的标准。但有时候,为了给浏览器加入一些新的特性,我们往往会重新设计一个自己的浏览器。新的浏览器模仿标准浏览器的大部分功能,同时加入新特性。这种做法最直观,但实际上也是相对于微软的重复劳动,且工作量比较大。其实,使用BHO插件,一切都变得很简单。

BHOBrowser Help Objects),是实现了特定接口的COM组件。开发好的BHO插件在注册表特定的位置注册好后,每当微软的浏览器启动,BHO实例就会被创建。在浏览器工作的工程中,BHO会接收到很多事件,比如浏览器浏览新的地址、前进或后退、生成新的窗口、浏览器退出等等;BHO可以在这些事件的响应中实现与浏览器的交互。关于BHO的文章网上有一些,这里我就不再赘述了。

最后想说的话

由于这个系统还只是一个DEMO,各方面还存在很多问题需要不断的完善,所以这次就不提供下载了,等系统比较成熟以后,我还会对其进行更详细的介绍的。另外开发的过程中我发现关于IE插件的文章还是比较难找,这里我想想园子里的高手们讨教个问题:

如何实现IE浏览器只下载文件而不显示,有两个具体问题:

1、 当用户浏览一个网页时,如何做到只下载网页而不在浏览器中显示该网页。

2、 当用户下载一个文件时,如何做到不弹出“保存”对话框,而自动下载文件到一个指定目录下。

希望高手能给与指导,谢谢!!


posted on 2006-12-02 21:57  Arthur_QA  阅读(2641)  评论(7编辑  收藏  举报