论文部分内容阅读
摘 要:互联网的普及,拓展了人们的信息获取途径,同时也增加了信息的冗余度和信息筛选的难度。RSS有效得聚合了信息,RSS搜索引擎弥补了传统搜索引擎的不足。本文将探讨RSS搜索引擎的技术背景、实现思路和发展趋势,以尽量简洁语言和实用的操作帮助读者了解RSS搜索引擎。
关键词:RSS;搜索引擎;信息;实现
一、技术背景
搜索引擎为网络信息检索提供了巨大的方便,使我們可以直接利用检索语法来获取自己想要的信息。但是随着互联网的发展与信息爆炸式增长,传统的搜索引擎逐渐暴露出更新速度慢、收录不完整等缺点,不能满足用户多样化、纯净化的需求,RSS搜索引擎应运而生。
顾名思义,RSS搜索引擎是对RSS信息的再次整合,用户可以通过关键字搜索检索自己需要信息。相比于传统搜索引擎,RSS源搜索引擎能够满足用户的时效性需求、信息定位更加精准、信息搜索更加全面以及更小的信息冗余和更高的搜索效率。
二、实现思路
(一)数据获取
RSS采用XML(可扩展标记语言)格式,使用特定标签将信息写入RSS。虽然不同的RSS数据源有自己的特点,但标签取名和标签数量基本一致。RSS信息中一般含有标题、摘要、链接和时间,部分RSS还有图片和正文等信息。
为减少工作量和开发难度,获取数据一般采用专用的RSS解析器,主流的解析器有RSSLibJ、Flock 、Informa 、ROME等,其功能大同小异。笔者以ROME为例,通过向解析器提供RSS地址,强大的解析器提取出、、和等信息,对于这些信息我们可以直接操作。
由于大多數RSS不提供正文,正文需要进一步的获取。以人民网RSS源为例,通过观察可知正文包含在一个指定的标签
关键词:RSS;搜索引擎;信息;实现
一、技术背景
搜索引擎为网络信息检索提供了巨大的方便,使我們可以直接利用检索语法来获取自己想要的信息。但是随着互联网的发展与信息爆炸式增长,传统的搜索引擎逐渐暴露出更新速度慢、收录不完整等缺点,不能满足用户多样化、纯净化的需求,RSS搜索引擎应运而生。
顾名思义,RSS搜索引擎是对RSS信息的再次整合,用户可以通过关键字搜索检索自己需要信息。相比于传统搜索引擎,RSS源搜索引擎能够满足用户的时效性需求、信息定位更加精准、信息搜索更加全面以及更小的信息冗余和更高的搜索效率。
二、实现思路
(一)数据获取
RSS采用XML(可扩展标记语言)格式,使用特定标签将信息写入RSS。虽然不同的RSS数据源有自己的特点,但标签取名和标签数量基本一致。RSS信息中一般含有标题、摘要、链接和时间,部分RSS还有图片和正文等信息。
为减少工作量和开发难度,获取数据一般采用专用的RSS解析器,主流的解析器有RSSLibJ、Flock 、Informa 、ROME等,其功能大同小异。笔者以ROME为例,通过向解析器提供RSS地址,强大的解析器提取出
由于大多數RSS不提供正文,正文需要进一步的获取。以人民网RSS源为例,通过观察可知正文包含在一个指定的标签
中。我们需要获取指定标签类中的信息,jsoup类库中的connect()可以帮助我们很好做到这一点。拿到信息后一般会存入数据库等待分词处理。
(二)分词处理
中文与英文在检索处理中最大的区别就是有更加复杂多变的构词原理,分词不当可能会使检索效能降低。所以,开源词库的选择与使用尤为重要。在对比了众多分词工具以后,笔者选择了IKAnalyzer。除了更快的速度以外,IKAnalyzer还采用了特有的“正向迭代最细粒度切分算法“,支持细粒度和智能分词两种切分模式。如:“我爱北京天安门”可以切分为“我|爱|北京|天安门|天安|安门”,从而涵盖了所有词与出现的可能性。
对于分词后的结果需要永久储存在数据库,数据库的表格布局以及每个数据项的空间大小决定着倒排索引表的构建速度。为了更好的配合索引表的构建,每一个元组都会对应编号(ID)、词语(w)文章编号(aID)和出现频数(num),其构建原理在后文将会提到。
(三)倒排表构建
倒排索引是用来记录全部文档下某个单词出现位置的一种映射,在编程中常借助散列表嵌套来实现,每个单词对应若干文章的编号和词频。我们在java中定义为“HashMap>()”。为了提高散列表查询速度,除了关键字我们均采用数值型数据。由于RSS是不断更新的,RSS搜索引擎也需要实时获取数据并更新倒排表,从而保证搜索信息的及时补充。
(四)搜索处理
我们不能保证每一次搜索请求都为单个词语,对于长句搜索的准确度也是衡量一个搜索引擎性能的重要标准。我们对搜索语句分词处理,采用与原文分词相同标准的最细粒度切分算法,此时无须担心分词处理对搜索准确度的影响,而且还能在索引语句无法完全匹配的情况下寻找出最大相关文章。但是,分词索引同时也增加了计算成本,需要对若干碎词多次请求。
(五)搜索结果排序
分词索引获取了大量与若干碎词相关文章,此时对文章的排序也更加复杂。根据实际请求需要,匹配率(索引碎词/原文出现索引碎词种类*100%)优先,在匹配率相同的情况下对文章词频(文章中出现索引碎词的次数)排序。运用Java中的TreeMap(),我们通过自定义排序方式实现对搜索结果双优先级排序。
三、未来趋势
伴随着RSS源的数量和种类越来越多,搜索技术越来越先进,RSS搜索引擎也将不断发展和完善,同时也将越来越普及,那么未来的RSS搜索引擎又将会有何种趋势呢。
一是在未来RSS搜索引擎的专业程度将越来越高,分类更加细化,检索精确度也更高,通过RSS搜索引擎我们可以直接定位到自己需要的信息。再者,随着RSS信息不再只局限于文字,RSS搜索引擎可搜索的信息也将多样化。同时,随着机器学习与数据分析等技术的成熟,RSS搜索引擎也将具备更加智能的服务功能,包括更加准确的信息聚类和信息推荐、更加多样信息检索和排序的指标。
参考文献:
[1] 王涛,吴洁明.搜索引擎建立倒排索引的算法研究[J].现代计算机(专业版),2008(01).
[2] 翟春红.中文RSS搜索引擎发展趋向探析[J].图书馆工作与研究,2012(01).
[3] 戚晶.基于RSS的搜索引擎的研究与实现[D].吉林:吉林大学,2006.
[4] 维基百科.RSS [EB/OL]. https://zh.wikipedia.org/wiki/RSS. 2016.
[5] 百度百科.简易信息聚合[EB/OL].
[6] 耿祥义.张跃平.java大学实用教程[M].北京:电子工业出版社,2011:139-143.
作者简介:
刘聪(1993-),男,山东济宁人,山东科技大学电气信息系信息管理与信息系统专业学生。
(二)分词处理
中文与英文在检索处理中最大的区别就是有更加复杂多变的构词原理,分词不当可能会使检索效能降低。所以,开源词库的选择与使用尤为重要。在对比了众多分词工具以后,笔者选择了IKAnalyzer。除了更快的速度以外,IKAnalyzer还采用了特有的“正向迭代最细粒度切分算法“,支持细粒度和智能分词两种切分模式。如:“我爱北京天安门”可以切分为“我|爱|北京|天安门|天安|安门”,从而涵盖了所有词与出现的可能性。
对于分词后的结果需要永久储存在数据库,数据库的表格布局以及每个数据项的空间大小决定着倒排索引表的构建速度。为了更好的配合索引表的构建,每一个元组都会对应编号(ID)、词语(w)文章编号(aID)和出现频数(num),其构建原理在后文将会提到。
(三)倒排表构建
倒排索引是用来记录全部文档下某个单词出现位置的一种映射,在编程中常借助散列表嵌套来实现,每个单词对应若干文章的编号和词频。我们在java中定义为“HashMap
(四)搜索处理
我们不能保证每一次搜索请求都为单个词语,对于长句搜索的准确度也是衡量一个搜索引擎性能的重要标准。我们对搜索语句分词处理,采用与原文分词相同标准的最细粒度切分算法,此时无须担心分词处理对搜索准确度的影响,而且还能在索引语句无法完全匹配的情况下寻找出最大相关文章。但是,分词索引同时也增加了计算成本,需要对若干碎词多次请求。
(五)搜索结果排序
分词索引获取了大量与若干碎词相关文章,此时对文章的排序也更加复杂。根据实际请求需要,匹配率(索引碎词/原文出现索引碎词种类*100%)优先,在匹配率相同的情况下对文章词频(文章中出现索引碎词的次数)排序。运用Java中的TreeMap(),我们通过自定义排序方式实现对搜索结果双优先级排序。
三、未来趋势
伴随着RSS源的数量和种类越来越多,搜索技术越来越先进,RSS搜索引擎也将不断发展和完善,同时也将越来越普及,那么未来的RSS搜索引擎又将会有何种趋势呢。
一是在未来RSS搜索引擎的专业程度将越来越高,分类更加细化,检索精确度也更高,通过RSS搜索引擎我们可以直接定位到自己需要的信息。再者,随着RSS信息不再只局限于文字,RSS搜索引擎可搜索的信息也将多样化。同时,随着机器学习与数据分析等技术的成熟,RSS搜索引擎也将具备更加智能的服务功能,包括更加准确的信息聚类和信息推荐、更加多样信息检索和排序的指标。
参考文献:
[1] 王涛,吴洁明.搜索引擎建立倒排索引的算法研究[J].现代计算机(专业版),2008(01).
[2] 翟春红.中文RSS搜索引擎发展趋向探析[J].图书馆工作与研究,2012(01).
[3] 戚晶.基于RSS的搜索引擎的研究与实现[D].吉林:吉林大学,2006.
[4] 维基百科.RSS [EB/OL]. https://zh.wikipedia.org/wiki/RSS. 2016.
[5] 百度百科.简易信息聚合[EB/OL].
[6] 耿祥义.张跃平.java大学实用教程[M].北京:电子工业出版社,2011:139-143.
作者简介:
刘聪(1993-),男,山东济宁人,山东科技大学电气信息系信息管理与信息系统专业学生。
其他文献
目的 探究全科医疗疾病诊疗的顺位情况。方法 收集500例患者的临床病例资料进行整理与统计学分析,对就诊患者的就诊原因、诊断情况以及就诊后的治疗效果进行有效的分析,对通
目的研究心理干预对慢性心力衰竭(CHF)合并心房颤动(房颤)患者生活质量的影响。方法 320例慢性心力衰竭合并房颤患者,按照入院先后顺序分为住院对照组和住院心理干预组,每组1
全国公共英语等级考试作为一种新型的考试,试图取代所有现有的英语考试,那么对于所有出于不同目的报考不同等级的考生来说该如何备考成为一个关键性问题.词汇是语言的基础.
目的 研究社区后续护理在日间手术中的应用效果,为临床提供依据。方法 60例日间进行手术的患者,随机分为对照组和实验组,每组30例。对照组采取家庭式后续护理模式,实验组采取
在配电网中,通过分布式电源的加入,有效减少了网损,在偏远地区中,节省了电网投资,这种放不是电源得到了高度重视,也是研究的热点。本文介绍分布式电源并网系统的种类,分析了
实施素质教育是当代中国教育改革和发展的主旋律,是科教兴国的根本举措,是一种新的教育理念.它有深刻的内涵和必要性,但是,在其引领下的大学外语教学中实施素质教育又存在着
为研究不同含泥量风积沙的压实特性,确定适合路基填料的风积沙,采取风积沙试样,制备7种不同含泥量的风积沙,运用重型击实法、干振法和水振法进行试验.试验结果表明,含泥量在8%以下的
针对现代设备网格化维护中体系平台开放、互联以及维护目标动态散耦合的系统设计要求,提出一种解决异构设备在网格化开放平台上动态集成和透明访问的网关中间件设计新方法.该方
针对通过外贴纤维片材和内嵌纤维材料加固混凝土构件易发生剥离破坏和粘结层破坏等问题,提出一种加固方法:首先对碳纤维增强聚合物筋施加预应力再嵌入混凝土结构表面已剔好的沟