当前位置:主页 > 科技论文 > 搜索引擎论文 >

基于文本挖掘的轻量级搜索引擎

发布时间:2017-05-23 20:02

  本文关键词:基于文本挖掘的轻量级搜索引擎,由笔耕文化传播整理发布。


【摘要】:互联网的信息总量在人类进入互联网时代后出现了爆炸式的增长,一般的跨国互联网的公司每天的数据吞吐量都在几十PB,如何有效的利用这些信息资源日益成为人们关注和研究的焦点。互联网的信息的数据格式也从web2.0时代可以呈现了多样化的发展,有视频,音频,链接和图像等等。如何在面对着这些海量信息时候,很好的利用这些信息,并且挖掘出对自己有用的资料或者信息是互联网IT公司所面临的重大问题,因此,一个性能优越可以承担数亿网名的访问量的的搜索引擎就显得非常必要。搜索引擎就是为了解决这样的难题应用而生。通过网络爬虫获取大量的相关资料和信息,采用机器学习或者数据挖掘的算法进行数据挖掘,进一步分类和提取,将用户最想要的搜索信息返回给用户。搜索引擎作为互联网发展至关重要的一种应用,已经成为互联网各个领域的制高点,搜索引擎领域也是互联网应用中不多见的以核心技术为其命脉的领域。当今时代比较成功的商业搜索引擎是美国的Google搜索引擎,其次紧随其后是最大的中文搜索引擎中国的百度公司。美国微软公司和雅虎合作推出的必应搜索引擎也在美国占据了30%的市场份额,目前中国奇虎公司在中国的市场份额仅次于百度,也是一个异军突起的新生搜索引擎,上述的搜索引擎基本构成了主流的成功的并且成熟的商业搜索引擎。目前主流搜索引擎主要使用的Memcache缓存系统已经出现了性能瓶颈,一些公司几千台的Memcached集群很常见Memcached和redis都基于内存,Memcached偏向cache,Redis更多扮演数据库的角色,支持更丰富的数据类型;论到单个核上的性能,在单条数据不大的情况下,Redis会更好。因为Redis是单线程的,只能使用一个核。而Memcached是多线程的,所以对一个实例来说,性能上肯定是Redis占优势。Redis和Memcached不同的地方在于前者并没有选择libevent。libevent为了迎合通用性造成代码庞大(目前Redis代码还不到libevent的1/3)及牺牲了在特定平台的不少性能。Redis用libevent中两个文件修改实现了自己的epoll event loop。所以本论文采用的Redis更多扮演的是数据库的功能,其自带数据持久化。在小型数据量和单线程模式的效率是远远领先于传统的数据库系统Memcached内存对象缓存系统。本论文的引擎属于目录式的搜索引擎,重点着力解决上述缓存和性能优化问题。主要用于为某中小学教育资源网站提供资源搜索服务。从架构设计模式到底层细节各个层次优化如下:(1) 系统架构层面,采用TCP传输协议和Epoll多路转接。传统的搜索引擎基于POSIX平台的服务器采用UDP传输协议和poll的I/O多路转接,连接不稳定,传输数据不可靠,系统层面因为poll多次执行系统态到内核态的拷贝,资源消耗巨大。而本论文的连接可靠稳定,监听轮询大大降低了服务器负载。从架构执行层面要优于传统的搜索引擎。(2)改进了距离编辑算法,并且应用到中文中,使得用户搜索词纠错机制可以实现中文文本纠错,进行纠错及联想推荐,提供候选词集,降低用户学习成本和提高用户的工作效率,而传统的搜索引擎没有提供纠错候选项和纠错功能。(3) 改进了传统的索引技术,提出了内存磁盘协同并行索引改进算法,可以迅速精准定位到网页库中的用户查询文档,同时在文本挖掘的过程中计算网页文档关联度上提高了效率,也节省了内存消耗。(4) 处理用户历史查询记录缓存时采用Redis这种基于内存可持久化,日志型的数据库取代传统的Memcached分布式高速缓存系统,提升缓存的处理效率。(5)采用Hash Map,处理数据库,相对于传统的Map,数据的存储和查找时间消耗大大降低。实验数据主要采用复旦大学语料库。实验测试方法为横向纵向对比测试,最后实验测试结果显示:单次服务平均时间从5ms以上缩短到不到1ms,实际性能提升近100倍。
【关键词】:Linux 搜索引擎 TCP 多线程 Redis
【学位授予单位】:西南大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP391.3
【目录】:
  • 摘要5-7
  • Abstract7-9
  • 第1章 绪论9-19
  • 1.1 研究背景和意义9-11
  • 1.2 国内外研究现状11-17
  • 1.2.1 微软必应搜索引擎11-12
  • 1.2.2 谷歌搜索引擎12-13
  • 1.2.3 360搜索引擎13-14
  • 1.2.4 百度搜索引擎14-17
  • 1.3 本论文研究内容和特色17
  • 1.4 论文组织结构17-19
  • 第2章 相关理论19-27
  • 2.1 文本挖掘19-20
  • 2.1.1 文本挖掘的概念19
  • 2.1.2 文本挖掘的过程19-20
  • 2.1.3 文本挖掘关键技术和文本关联分析20
  • 2.2 搜索引擎20-25
  • 2.2.1 倒排索引技术21-22
  • 2.2.2 关键词tf-idf权重22-23
  • 2.2.3 搜索引擎的性能评价指标23-25
  • 2.3 本章小结25-27
  • 第3章 基于文本挖掘的搜索引擎系统27-35
  • 3.1 文本相似度(关联度)的挖掘27-29
  • 3.1.1 分词27
  • 3.1.2 生成两篇文档的单词集合27-28
  • 3.1.3 合并两篇文档的单词集合28
  • 3.1.4 生成两篇文档的特征向量28
  • 3.1.5 计算两篇文档的余弦相似度28-29
  • 3.2 建立搜索引擎的索引29-32
  • 3.2.1 建立词典倒排索引29-30
  • 3.2.2 建立单词和网页的倒排索引30-31
  • 3.2.3 建立页面单词权重索引和页面模索引31-32
  • 3.3 处理用户查询32-33
  • 3.3.1 查询词纠错32
  • 3.3.2 找到包含用户查询词的文档集合32
  • 3.3.3 对候选文档集合进行排序32-33
  • 3.4 本章小结33-35
  • 第4章 轻量级搜索引擎的性能优化35-43
  • 4.1 利用epoll模型代替传统的select,poll模型35-36
  • 4.2 建立用户查询历史纪录缓存36-38
  • 4.2.1 查询词纠错结果缓存36-37
  • 4.2.2 查询词和标题摘要缓存37
  • 4.2.3 标题和标题对应的内容缓存37-38
  • 4.3 改进传统的距离编辑算法38-40
  • 4.4 改进搜索引擎的索引算法40-42
  • 4.4.1 实现方法和算法40-42
  • 4.4.2 改进算法试验结果与分析42
  • 4.5 使用多线程取代多进程42
  • 4.6 本章小结42-43
  • 第5章 搜索引擎系统实现43-53
  • 5.1 系统结构和运行流程图43-44
  • 5.2 相关类及其说明44-49
  • 5.3 功能说明49-52
  • 5.3.1 主线程49-50
  • 5.3.2 工作线程工作流程50-51
  • 5.3.3 缓存线程管理系统缓存51-52
  • 5.3.4 查询流程52
  • 5.4 本章小结52-53
  • 第6章 实验及结果分析53-57
  • 6.1 处理汉字的编辑距离53
  • 6.2 建立磁盘缓存文件53
  • 6.3 网页搜索53-54
  • 6.3.1 建立倒排索引53-54
  • 6.3.2 网页查询功能测试54
  • 6.3.3 加入缓存管理线程管理历史记录缓存54
  • 6.4 论文实验过程中遇到的疑难问题和解决方案54-55
  • 6.5 本章小结55-57
  • 第7章 总结和展望57-59
  • 参考文献59-63
  • 致谢63-65
  • 在校期间发表的论文65

【参考文献】

中国期刊全文数据库 前1条

1 庞剑锋,卜东波,白硕;基于向量空间模型的文本自动分类系统的研究与实现[J];计算机应用研究;2001年09期


  本文关键词:基于文本挖掘的轻量级搜索引擎,由笔耕文化传播整理发布。



本文编号:388939

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/sousuoyinqinglunwen/388939.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户c87d7***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com