一种个性化信息检索服务界面的设计与实现

时间:2022-06-22 11:28:07

一种个性化信息检索服务界面的设计与实现

[摘要]设计一种个性化的信息检索服务界面,介绍实现该界面的主要支撑模块,阐述数据异步处理、聚类计算方法、检索日志挖掘以及相关文献推荐技术的应用,给出界面的实现形式。在具体实现中,采用后台脱机计算和前机计算相结合的方式,并使用异步处理技术,减少时间延迟,保证实用性。

[关键词]检索服务主题聚类检索日志挖掘相关文献推荐

[分类号]G354,4 TP393,4

1 引言

随着电子信息资源的日渐膨胀,如何科学有效地对其进行组织和揭示已成为业界的研究热点。对科技文献检索平台来说,在既有海量文献资源的基础上,提供高效便捷的检索服务,使用户快速找到目标文献,是其必须具备的核心功能。但目前绝大多数检索系统通常按某种排序方式(如相关度、时间等)线性排列返回结果,存在明显不足:

·在用户所给的检索表达式比较宽泛的情况下,检索系统返回给用户的结果往往是大量的,用户不可能把所有的结果都浏览一遍,这样就可能导致用户无法获取真正符合其要求的文献。用户对要检索的文献领域不是很了解以及不知道如何给出精确的检索表达式都将导致用户给出宽泛的检索表达式。通常检索系统既无法进一步缩小检索结果内容的范围,也无法给用户推荐更精确的检索表达式,从而无法帮助用户更准确地定位目标文件。

·用户可能想在检索结果中了解文献作者的情况(如哪些作者相关文献比较多),或者想了解某些特定作者的文献内容。然而通常的检索系统由于没有对检索结果进行合理地组织,因此无法满足用户通过作者姓名精炼检索结果的特定需求。虽然高级检索中,可以选定某个作者的文章,但是无法查看有关作者的统计信息。另外,在检索结果中缩小检索范围更能体现用户友好度。

·由于知识之间的关联性,文献数据之间也是存在关联的,但在目前的检索结果呈现中,每篇文献都是孤立的,无法看到其与其他文献之间的关系。不同的用户使用相同的检索表达式获得的检索结果是一样的,而使用相同检索式的用户有可能具有不同的文献检索需求。因此,如果用户在关注某一篇文献时,系统能自动推荐给用户与该文献具有高度相似性的一些其他文献,便能更好地满足用户的文献检索需求,这也就是所谓的相关文献推荐服务。

为了解决上述三个问题,笔者以NSTL(NationalScience and Technology Library)嵌入式系统为实验平台,结合语义资源库构建、日志挖掘技术和个性化推荐技术,设计一种个性化的信息检索服务界面(以下简称个性化界面),实现了一个可以对用户检索结果进行聚类、相关文献推荐、相关关键词推荐的个性化信息检索结果界面。该界面对嵌入式系统的结果显示页面进行了改进,增加了检索结果的聚类显示、作者统计显示、相关检索词推荐、类似检索词推荐、同类用户使用的检索词推荐等界面元素。同时,在检索结果界面中增加了“相关文献”服务项,可以将用户引导至新增的相关文献展示界面。

2 个性化界面的支撑模块

笔者设计的个性化界面是对NSTL嵌入式系统界面的改进,为支持新的界面,增加了缓冲渲染模块、聚类计算模块、文献作者统计模块以及个性化推荐模块。这4个支撑模块位于嵌入式系统原有功能模块与个性化界面之间,与嵌入式的原有功能模块相配合,实现了个性化界面的显示。个性化界面支撑模块与嵌入式系统原有模块之间的关系,点划线部分是嵌入式系统的原有模块,有关它们的细节,请参阅。

参考文献[2]:

2.1 嵌入式系统检索引擎

嵌入式系统检索引擎是原嵌入式系统的功能模块,主要功能是查询处理、查询执行和结果整合。查询处理的主要功能是对用户输入的检索式进行归一化处理,将处理后的检索式分派给远程NSTL系统和信息服务机构的本地系统。由于不同的目标系统可能使用不同的元数据方案,因此不同目标系统提供的检索项也可能会有所不同,因此需要将用户检索式自动转换成目标系统可以接受的形式。查询执行的主要功能是将转换后的检索式发送给NSTL数据库或本地数据库,实现集成检索。结果整合的主要功能是将NSTL检索结果集和本地检索结果集进行融合并返回。

2.2 缓冲渲染模块

对于个性化检索服务界面来说,并不是简单地将检索引擎返回的结果直接展示给用户,而是需要将检索引擎得到的结果发送给聚类计算模块、文献作者统计模块以及个性化推荐模块,由这些模块根据返回结果信息做相应的计算,得到相关的个性化信息,再连同检索结果一起提供给用户。为达到这一目的,增加了一个缓冲渲染模块,该模块位于嵌入式系统检索引擎与聚类计算模块、文献作者统计模块和个性化推荐模块之间。该缓冲渲染模块主要有两个功能:①缓存嵌入式检索引擎得到的结果,并将结果发送给聚类计算模块、文献作者统计模块以及个性化推荐模块,以方便进行聚类计算和统计计算;②接受上述三个模块的处理结果,将得到的个性化信息与检索结果一道返回给用户。同时,该模块还负责异步在服务界面上展示结果,起到减少用户等待时间、提高界面友好性的作用。

2.3 聚类计算模块

聚类计算模块的主要功能是根据检索引擎返回的结果集进行聚类计算,实现检索结果的自动聚类,从而对检索结果作进一步地精炼,帮助用户针对文献主题进行筛选,进一步缩小检索的范围,找到真正符合其需求的文献。在实验中,聚类计算的基础是语义资源库,根据事先建立的语义资源库提供的信息,实现更为精确的检索结果聚类。

2.4 文献作者统计模块

文献作者统计模块的主要功能是对检索结果集中的文献按作者进行分类。这个模块的实现机制与聚类计算模块不同,它主要执行的是简单统计计算,因此可以进行“增量统计计算”。所谓“增量统计计算”,是指每次获取到新的数据就同时进行统计计算,而不是等待获取所有的文献信息之后再进行计算。嵌入式系统后台需要通过多次的请求才能获取全部的结果集,因此,增量统计计算对于基于嵌入式系统的个性化服务界面是非常适合的。

具体的实现方案利用了一个哈希表,哈希表的key值表示作者的名字,value值表示该作者的作品,用一个线性表list来存储。当获取到一个新文献信息时,先依次读取该文献的所有作者姓名,如果目前的哈希表中存在与当前作者姓名相同的key值,则根据该key值找到存储当前作者所有作品的list,并把当前的文献信息追加在list中。如果哈希表中不存在与当前作者姓名相同的key值,则新增一个key-value对,将当前作者姓名作为key值,value值则是当前文献的相关信息。由于采用的是增量统计计算,因此当嵌入式检索引擎完成了所有数据的获取操作后,文献作者的统计计算也就完成了。并且,这种方式还有一个重要优点,即在嵌入式检索引擎获取数据时,可以把统计计算作为一个线程,在系统后台运行。也就是说,嵌入式检索引擎在获取下一条数据的过程中,作者统计模块可以同时

上一篇:专业知识嵌入信息检索课教学的探索与实践 下一篇:文后参考文献著录规范发展趋势探析