更全的杂志信息网

基于AHP的全文搜索算法优化

更新时间:2016-07-05

0 引言

随着互联网+时代到来,信息的高速增长,人们对信息获取的要求越来越高.传统的搜索引擎提供的搜索服务往往是基于广度的,对个个行业领域的专业性搜索传统的搜索引擎很难直接有效地满足用户需求.另外由于各部门对信息的保密性的个性化等要求,对于局域网内部资料的搜索,传统搜索引擎的信息抓取也往往被禁止,因此企事业单位的内部信息资源搜索系统的设计,对于优化内部信息资源检索显得尤为重要.其主要应用是面向特定领域定向采集信息,对这些信息进行加工后再以用户需要的形式快速地返回给用户.

针对上述需求,本文设计并开发了针对企事业单位局域网的桌面搜索引擎.系统采用一款高性能的、可扩展的信息检索(IR)工具库Lucene[1],实现了对常见文本格式(word/pdf/txt)的分析转换、索引查找和排序功能.通过分析Lucene默认文档相似度排序算法存在的问题,重点优化了二次检索排序算法,并通过SSH框架实现用户管理、文档索引管理和文档搜索.

互联网经济下中国目前校园O2O经济的市场现状和发展前景良好,但仍需要努力的是使线上与线下的资源得到更好的共享与融合,从而促进校园O2O经济的发展。

1 基于Lucene全文搜索引擎系统架构

基于Lucene全文搜索系统可架构在单机或分布式系统中,服务器端分为文件服务器、搜索服务器,本系统依据服务器性能,把搜索服务和文件服务架构在同一服务器,局域网客户端可以通过SSH框架分权限实现对文档索引存储和搜索服务.其中索引服务根据用户上传文档的实时动态,监控索引文档路径,定时抓取实现文档的索引存储,如图1所示.

图1 全文搜索引擎系统架构

系统采用Lucene实现文档的索引存储及搜索功能.Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供.Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻.因此Lucene在近年来已经成为最受欢迎的开源信息检索工具库 [2].Lucene主要的源码子包和功能如表1所示.

Lucene实现检索的过程如图1,整个检索系统可以分为信息的索引存储、信息检索两大模块.实现信息的索引存储,首先检索系统通过第三方工具包对原始文档(word、pdf)转换构造为 Document对象,然后通过org.apache.lucene.analysis包对Document语言分析与分词,再次,org.apache.lucene.index包对所有文档分析得出的语汇单元创建索引,最后通过org.apache.lucene.store实现存储.信息检索模块的流程主要是,用户输入检索表达式,org.apache.lucene.analysis实现语法分析与分词;org.apache.lucene.Se-arch实现信息搜索;org.apache.lucene.Similarity完成检索结果排序算法 [3].Lucene检索流程如图2所示.

表1 Lucene开发子包功能

组件包 功能org.apache.lucene.store 解决底层IO存储结构org.apache.lucene.index 选择索引方式完成对文档的索引org.apache.lucene.analysis 用于文本分词org.apache.lucene.queryParser对用户输入内容进行逻辑关系分析org.apache.lucene.search 查询管理,根据查询条件搜索结果org.apache.lucene.Similarity 完成检索结果排序算法

图2 检索流程图

3 Lucene的检索模型与文档排序算法

使用Lucene框架能够高效构建全文检索系统,但在检索文档相似度的算法方面存在不足.Lucene的相似度算法采用向量空间模型.lucene的相似度计算公式如公式1所示,

其中dj和q分别是文档j和查询矢量,Lucene相似度得分的核心是比较所有文档集中每篇文档矢量与查询矢量相关度,依据文档的相似度得分排序搜索结果集.对于文档得分的实际计算公式如公式2[4][5]所示.

在中小型企事业单位,由于网络信息资源的复杂性,对文档的搜索排序要求,除了考虑Lucene文档自身得分因素,还需要考虑以下因素:

1.搜索文档的下载量与最后更新时间

公式2中主要的参数因子含义如下 [7]:q表示一个用户查询,通过分词处理建立q矢量;f表示文档,通过分词索引建立文档矢量;矢量由若干t词项组成.

tf(t in d)表示词项t在文档d中出现的频率数值,一般频率高重要性大,但也存在词频过高的情况,如果词频过高则可能该词普遍性强,则通过idf(t)(invert document frequency)即与文档频数成反比的值来降低该词在文档集中的重要性.boost指的是在对文档建立索引时,赋予文档的激励因子.lengthNorm:长度归一化(Length norm):基于域的一个归一化因子.其值由给定域中Term的个数决定(在索引文档的时候已经计算出来了,并且存储到了索引中).域越的文本越长,因子的权重越低.这表明Lucene打分公式偏向于域包含Term少的文档.

1.4.2 植保无人机雾滴飘移情况调查 分别在离无人机飞行边界垂直距离2.5、5.0、7.5 m处的地面上放置水敏纸,飞行完成后取回水敏纸,拍照并利用Image J软件统计水敏纸上雾滴的分布情况。

基于lucene的排序算法的特点是,文档与查询的相似度主要取决于词频重要性,与查询q中的词在文档中出现的位置无关,如果一个文档d中所包含的查询q中的词项越多,那么文档d的排序得分就越高,反之得分越低,所以Lucene得分的主要缺点是仅仅考虑了文档索引词项的词频重要性,忽视了词项的位置特征、语义特征以及网络链接操作的重要性,不能体现专业个性化[6].

4 Lucene文档排序算法优化

4.1 文档排序算法得分因子

(4)一致性检验.一致性指标CI=(λmax-n)/(n-1)=0.0741.CI≤0.10所以判断矩阵具有一致性.

其中f为检索文档,DTR(f)为文档f的重要性得分,T(f)表示文档f被检索到的周期次数,1/T(f)越小说明文档最新检索;C(f)表示文档上一周期检索下载量;C(f)MAX表示上一周期文档集中检索下载最大量值.公式3较好的解决了下载量与更新时间的矛盾.

WANG Xiaoli, GUO Jungang, MA Chi, et al. Study on the gemological characteristics of an illite-imitated Dushan jade[J]. Conservation and utilization of mineral resources, 2018(6):70-72, 76.

随着移动互联技术的不断进步,微信公众平台的功能进一步开放,小程序、API数据接口不断丰富,各种第三方开发平台应运而生。在这不断的技术变革中积极探索,转变教学思维,以大众常用的微信公众平台为切入点,打造轻量、易用的移动端学习平台,改变旧有的教学模式,满足了学生自主学习、个性化学习的需求,更适应了社会与技术发展的趋势,有着广泛的应用前景。

搜索文档的查看次数往往反应文档的关注度和重要性,在搜索排序时应该考虑适当加权.

3.搜索文档的查看率

4.2 优化的排序算法

结合Lucene原有的向量相似度排序算法,修改后的文档得分排序公式如公式4所示:

第三,将向量归一化,W=[W1,W2,…Wn]T为所求特征向量.

2.基于AHP的权重系数设计

在多因素的综合评估问题中,各个因素对评估目标的影响程度有大小之分,因此需要对不同因素赋予不同权重.层次分析法将定性与定量分析相结合,特别适应于系统中某些因素缺乏定量数据或者难以用完全定量分析方法处理的政策性较强或带有个人偏好的决策问题[7].其基本思路是分析复杂问题所包含的因素及其相互关系,将问题分解为多个层次和多个要素,并在每一层次按照一定准则对该层元素进行比较,再按标度定量化形成判断矩阵.通过计算判断矩阵的最大特征值以及相对应的正交化特征向量,得出该元素对该准则的权重.本文采用AHP方法确定公式4中四个因子系数K1,K2,,K3,K4 的权重,具体步骤如下:

(1)分析系统各因素间的关系,建立递阶层次结构.如图4.1

这以后,唐小芹上学路过河坝子,就没有人再敢捻她那颗美人痣了,而且那群孩子还主动跟她套近乎说,先前不知道你那颗痣是美人痣,怪不得我们都想要摸的哩。唐小芹听了也暗地高兴,似乎从这时起她才知道自己原来是个美人坯子。她要把这美好的突变记在张清元的头上,好像自从他来了以后,她的一切都变了。

最高层设计成总目标的比重程度;准则层的准则分别设计为:Lucene向量空间算法得分Score(f),文档下载量和更新时间得分DTR(f),文档f标题摘要加权得分TitleKey(f),文档f浏览量得分VNum(f).最低层为由4个准则而计算出来的的不同权重系数向量.

美国益生菌知名品牌Culturelle康萃乐益生菌含丰富LGGTM益生菌,实验证明,Culturelle康萃乐益生菌进入肠道以后,可有效促进有益菌群的生长,促进维生素D、钙和铁离子等营养元素的吸收,更好地维持宝宝肠道健康状态。还可维护肠黏膜屏障完整性,促进肠道自我修复能力,同时降低食物过敏的发生率,增强宝宝身体抵抗力。

图4.1 层次结构模型

(2)对同一层个元素关于上一层中某一准则重要性进行两两比较,构造判断矩阵;根据表4.1的准则可以得到判断矩阵A.

表4.1 倒数标度法

标度值 含义1两个元素相比具有相同重要性3两个元素相比一个比另外一个稍重要5两个元素相比一个比另外一个明显重要7两个元素相比一个比另外一个强烈重要9 两个元素相比一个比另外一个极端重要2,4,6,8 如果成对实物的差别介于两者之间,取上述相邻判断中间值倒数 元素i与元素j重要性之比为eij,则元素j与元素i重要性之比为eji=1/eij

(3)由判断矩阵计算被比较元素对于该准则的相对权重.方根法计算系数权重.第一,计算判断矩阵每一行元素乘积

刘小枫认为:“卡夫卡的受苦是自己性情中的两个世界的紧张引起的,他的信仰就是这两个世界的紧张之间的绳索”。[18]184-229的确如此,卡夫卡像一个孩子,一个不愿意妥协的未成年,在这两个世界中辗转,无法像英雄一样面对其中任何一个,承担生命的责任。卡夫卡找不到自己的位置和身份。卡夫卡一直在这种矛盾中痛苦着,在归宿中挣扎着,直到无家可归,无路可走。卡夫卡用敏锐的眼睛看到了这个世界;用柔软的内心感知到了这个世界,可是上下求索而不得的他最后却给不出答案——“这世界是我们的迷雾。”[19]132

2.搜索文档标题字段搜索词的加权

第二,计算Mi的n次方根n);

其中N_Score(f)为文档f最终文档排序得分,Score(f)为文档f的Lucene向量空间算法得分,DTR(f)为文档下载量和更新时间得分,TitleKey(f)为文档f标题加权得分,VNum(f)为文档f浏览量得分.K1,K2,K3,K4为每一项的权重系数.

天然气中C6+组成分析不同定量方式对计算烃露点的影响……………………………………………………………(6):80

一般情况下,文档的标题是针对文档具体内容的精准概括,文档的详细内容与标题必然相关,所以搜索词在标题当中,应该比在文档内容当中出现更为重要.

第四,计算最大特征根由此得出W=[0.6343,0.2056,0.1052,0.0550]T;最大特征根λmax=4.2230.

文档的下载次数体现了文档的查看和使用度,在全文搜索中,它的权值比查看率更为重要;另外,文档的修改时间体现的是文档的最新执行,往往对文档质量有很大影响,所以结合两种因素,采用Download-throughRank(DTR)算法,来提升文档更新时间和下载数量对搜索结果的影响.Download-throughRank(DTR)算法公式 3:

5 测试环境及结果分析

本文实现的桌面搜索引擎系统,采用SSI(Struts2+Spring+ibatis)框架实现对用户的登录权限管理以及对搜索文档的索引维护管理;数据库采用mysql,主要实现用户信息存储以及文档索引数据等信息存储.检索系统基于lucene版本为3.6开发工具包,实现索引以及检索服务,文档解析word采用POI,PDF采用Xpdf实现,中文分词采用paoding,开发IDE为myeclipse10,开发java包为jdk1.6.检索系统分为前台一般、高级查询;后台功能主要包括索引初始化、pdf/word文档索引.文档以四篇包含 title、abstract、text、date、Download 等域进行索引查询.

空间点P在直角坐标系下表示更加直观(特别是在多视角的情况下);而声纳图像的映射关系一般被描述在球形坐标系下(图1)。球形坐标系变换到直角坐标系存在如下关系[13]:

为了测试修改后的排序算法对搜索结果的影响,本文企业搜索系统中的pdf文档为搜索集,在默认Lucene排序的前四篇文档进行对比分析,如表5.1所示

综上,对帕金森病痴呆患者实施美金刚联合多巴丝肼治疗,可有效缓解患者症状,安全性较高,临床疗效较为理想,对患者生活质量干扰程度较小,值得临床推荐。

表5.1 排序得分主要指标

原有排序原得分Score DTR TitleKey VNum 新得分1 0.6751246 1.0 0 22 1.2448607 2 0.6485723 0.4666667 1.0 24 1.3416221 3 0.5936581 0.3333333 0.5 12 0.9066523 4 0.5189537 0.3333333 0 2 0.2462111

图3中,score为Lucene vsm原排序算法得分,DTR(f)为用户下载率评分,new_score为综合得分.按照测试前文档得分排序标记为f1/f2/f3/f4,加入用户因子DTR(f)后new_score为综合得分排序为f4/f2/f1/f3,其中对文档设定的下载次数通过后台数据库修改,分别为 8、5、15、50;从图 3 说明,改进后的算法对用户下载量较大的文档进行加权排名,排序结果因受到用户点击下载的影响提升了相关文档的相似度,较以前有较大改善改进后的搜索结果.

图3 两种算法对搜索结果排序的对比

图4为查询反馈页面,用户搜索关键词“搜索引擎”后,系统反馈的word文档排序页面,其中图中文档f4数据挖掘在只能搜索引擎中的应用由原来排名第4升为第1,排序达到了设计的预期目.

图4 搜索排序结果

6 结论

本项目基于Lucene架构,结合第三方开发工具实现了对文档的分词、索引存储与检索功能,优化全文搜索引擎先建立磁盘文件索引再进行搜索的机制的同时,重点优化了结果排序算法,实现了基于B/S的全文搜索引擎系统,能满足用户对站内搜的个性化功能需求,对比测试表明,搜索系统比一般搜索引擎更具优势.

从内部网络中的打印机和多功能一体机上收集工作日志,然后生成对管理员和管理层有用的报告。能保存所有用户的打印、复印、扫描、传真记录,并可以随时搜索,可以追踪及监视用户用量,可以生成各种报表(列表,图形)制作及分析。包括以下:服务类型、色彩模式、纸张尺寸、单/双面选择、什么时间、输出设备型号等信息。

参考文献

〔1〕葛帅.开放源代码的全文检索引擎Lucene[EB/OL].http://www.lucene.com.cn/abou.t htm_Toc43005313,2010-08-15.

〔2〕百度百科.Lucene[EB/OL].http://baike.baidu.com/view/371811.htm·fr=aladdin,2012-08-18.

〔3〕(美)MichaelMcCandless等.Lucene 实战 (第二版)[M].北京:人民邮电出版社,2011.81-82.

〔4〕罗刚.解密搜索引擎技术实战[M].北京:电子工业出版,2011.396-400.

〔5〕王知津.信息存储与检索[M].北京:机械工业出版社,2011.115-119.

〔6〕孙宏才,田平,王莲芬.网络层次分析法与决策科学[M].北京:国防工业出版社,2011,6-7.

李臣龙,陶皖,窦易文
《赤峰学院学报(自然科学版)》2018年第4期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号