您的当前位置:首页正文

企业内基于数据库搜索引擎的可行性研究

来源:帮我找美食网
企业内基于数据库搜索引擎的可行性研究

前言

面对越来越多的数据报告冲击,繁杂的数据,获得数据的不便以及定制数据的繁琐,用户(特别是高阶用户)感觉到无法适。 简单访问,就如同自然语言检索一样,完成最快的获得需要的数据,而现状就是,用户可以通过文档级检索,很快的获得相关情报资料(虽然存在着查全和查准的矛盾),而基于数据库的简单检索,还没有真正的实现,其相关症结所在,就是用户的输入条件的不确定性和数据库的相对刚性这个冲突,用户很难按照数据的要求完成自己需要数据的描述,而数据库也很难根据用户的自然语言进行判读,所以通常的解决方法就就是高阶的用户将向关想法描述给专业人士,然后专业人士从数据库中获得再提交给高阶用户,这种状况非常不能满足越来越多的快速数据要求

提出了基于数据库搜索引擎的方案,其目的就是有限度解决此中状况,因为在世界范围内,自然语言的解析还处于研究状态,所以这里讲的是用户在一定范围内采用自然语言关键字的方法,而搜索引擎对用户的输入进行解释,提交数据库,从而完成比较适合用户需要的解决方法

第一章 功能流程描述

在以上系统中,搜索引擎起到一个枢纽的作用,是整个系统实现成败与否的关键,其主要完成以下功能:

一)要有一个初步的词汇表,从而定义出数据库当前数据项的所有描述性短语,结合数据归类等方法分别整理存放

二)对描述性短语结合自然语言和用户习惯,增加语义解释层,组织出相应用户命中区域,提高用户的搜索有效性

三)引擎要有学习功能,就是能够对用户的输入进行跟踪统计,并修正引擎的搜索命中规则,从而提高用户的搜索正确和有效性

四)根据用户的搜索正确次数以及使用频率,对一些常用数据进行固化,提高系统的相应能力

五)根据搜索引擎的用户搜索成功次数统计,结合系统权限管理办法,整理出用户的搜索偏好,进一步提高用户的搜索输入速度

六)最终结合显示的需要,建立显示支撑系统,对不同的数据的展示方式进行定义,用户可以结合文字、图形等方式获得数据,接口定义

第二章 技术点分析

2.1纠错容错

中文分词问题的研究已有二十多年历史,其间已提出了多种分词算法.总的来说,这些算法可分为三类:第一类为基于词典的机械分词算法;第二类为基于统计的分词算法;第三类为基于知识的分词专家系统。鉴于本系统的词汇范围有限,所以采用第一类为主,第三类为辅的方法来进行分词。

纠错容错是要有一定前提的,即用户的输入要接受一定规则的约束,比如语言种类的约定(中文??英文?)、分隔符的约定、短语之间的逻辑关系表达约定(“and” “or” “not” )等方面,因为在目前技术情况下,尚未有针对任何自然语言的机器判读研究的成功,所以要进行一定的约束,主要体现在可以控制的范围内进行用户的表达分析,主要能够考虑到的范围如下表所示: 范围 日期 解决方法 对各种日期表达方式进行定义,然后采用优化的算法进行判断 文字 对同音 同码等文字和专业词汇表以及地域词汇表等进行比对 特有词汇 对相应领域内的专业术语,即不同叫法是指同一事务的方法进行容错 如:SP CP 服务提供商 内容提供商等 缺条件短语 系统对缺少的条件可以设置不同情况,不同人员的缺省值 顺序容错 即能够按照约定完成指定语言逻辑关系的判读,如“9月 10月 用户数 收入”和“9月用户数 10月收入”其实是两种意思 特殊领域 如完成法定假日的定义和判别,如“2005年 假日收入 工作日收入”“今年国庆”等词汇的判读 2.2 业务规则判读

主要是结合某行业特点,定制若干条行业规则,例如801001表示某SP编号、数据业务代表在移动通讯领域短信、彩信、IVR和WAP,而在电信行业则代表宽带、专线等,在此功能中完成该类判读只是完成万里长征第一步,关键所在主要是针对当前生产系统的数据库结构情况,给出一个能够直接在数据库中可以被识别的一系列SQL语言的集合 2.3获得数据

将一系列SQL语言逐个执行,并返回一系列展现系统能够识别的数据集合。 2.4数据展现

根据业务判读的结果以及获得的数据集合,根据用户喜好或者某种定义(比如折线图和饼图适合不同的表达),完成数据的最终展现,也可以选择将数据固化为文件或者email展示给用户

第三章 搜索引擎支撑系统说明

鉴于搜索引擎的复杂性,在此提出将搜索引擎分解为以下5个功能模块 3.1 自然语言语义解释 3.2 专有词汇转换

3.3 潜规则定义

3.4 情报搜索及其统计优化功能 3.5 数据展示规则定义

在以上功能模块中,所有规则的定义必须具有独立性(可以分别部署)、开放性(便于添加或者修正规则)、高效性(提高对于用户的相应速度)

第四章 搜索引擎现状

4.1.1 成功案例:google、百度

4.1.2 特点:主要实现基于互联网文档的自然语言搜索 4.1.3 技术实现:

google 主要采用一套庞大的机器人体制和数据库归类功能,基于当前页面的文章主题和特征字典,以及网页的点击率等相关因素,由机器人定期到互联网上对相关网页完成归类,比采用一些缓存快照、对一些语言辅助词汇,比如“的”采用评比等功能,达到比较快的相应能力,从其支持拼音搜索功能来看,自身也有一定的自然语言容错机制。

同样,另一个侧面,在一定复杂度内,用户可以随意使用google,但是由于其提供的功能过于强大,也有自己的一套搜索语法,最近网上就出现一系列关于搜索技巧的帮助型说明文档,,比如google的自带页面(http://www.google.com/intl/zh-CN/help.html),比如《Google技巧:100个工业级技巧与工具》,由此看出,想享受一些高级功能,用户还是需要掌握一定的规则的 4.1.4 技术发展

1)web2.0的出现,已经在一定意义上,预示着下一代搜索引擎的提高,参见:http://news.csdn.net/news/newstopic/24/24447.shtml,主要加强

相关网页的特征描述

2)“语义网”,也越来越多的被相关领域所提到,参见http://www.china.org.cn/chinese/zhuanti/xxsb/699474.htm,http://blog.itpub.net/post/860/41344等等,很多说明的页面,但是当然只是一个理想状况,还有很长的路要走。经典示例:“一江春水向东流”“滚滚长江东逝水”“黄河之水由西而来,流入渤海” 这三句都涉及到“江河向东流”这一共同属性,但是目前尚未能够实现识别

3)国内产生一个搜索联盟(中国搜索联盟(www.chinasearch.com.cn),2002年产生仅一年多的时间,该联盟的成员网站就已达420多家,成为中国最大的跨行业、跨区域的中文搜索服务平台)

4)在一些行业内已经有语义识别的提法和要求,空中交通管制指挥监测系统的语音识别,参见(http://www.cims.tsinghua.edu.cn/application/anli/atccms/atccms.htm),其相比IBM的语音录入软件,就是缩小范围,指定一定的词汇表,然后计算机在词汇表范围内进行识别

5)重要的相关基础研究 中文信息处理丛书 参见http://www.cipsc.org.cn/chn/kanwu/t20031031_0803.htm

第五章 目前系统的症结

5.1 词汇表的约束范围

问题所在就是一个度的问题,对用户的容错限制以及用户检索时短语数量和长度的限制,对短语数量建议设置在10个以内,对搜索长度建议设置在100个汉字以内

5.2 词汇表到数据库的映射处理

问题在于数据库的设计和定义,主要是能够明确的定义出每个字段的含义,风险所在就是系统确定后,数据库结构的下一次调整的代价比较大 5.3 数据获得后与显示模块的接口定义

需要综合考虑很多情况 5.4搜索效率问题

可以考虑实行华存技术或者分级体系,完成搜索任务或者难易度的分解,能够相对快速的保证80%的搜索问题都能够处于比较高效的情况下完成,如果系统相应比较慢,则可以考虑异步提供数据。或者结合权限管理限制艰难搜索的次数

也可以考虑对一些搜索频度比较高的搜索短语进行预搜索,然后将搜索结果固化后存放,以提高搜索效率 第六章 结论

同样基于以上系统进行开发的前提下,因为该系统所针对的是数据库,这样就可以将很多基于internet文档的搜索公司排除在外,原因如下:

当前搜索引擎的考核标准是“查准”和“查全”,引申为技术领域对应的就是知识库的建设和搜索引擎效率的提高以在一定时间内覆盖更广泛的内容。

知识库,相对应于该系统的短语体系,该系统的短语是限制在极小范围(中国移动的数据业务术语+地点)内,其工作量类似完成一个智能搜索的范畴,最低标准该系统可以考虑通过穷举法完成短语体系的初始化;

搜索效率方面来考虑,该系统面对的也不是查全增加覆盖面的问题,而是在条件一定的情况下,结果也是唯一确定的,查出来就已经全面了。搜索效率主要应该考虑整个系统的结构优化,以尽量可能短的时间内完成对确定结果的查询

有鉴于此,个人认为,似乎尚没有需要借助外力(和其他公司合作)的必要。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top