面向丝绸领域的垂直搜索关键算法研究毕业答辩.ppt
面向丝绸领域的垂直搜索关键算法研究,答辩人:导 师:,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,2/32,内容概要,一、研究意义二、研究现状三、研究内容四、总结展望,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,3/32,内容概要,一、研究意义二、研究现状三、研究内容四、总结展望,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,4/32,一、研究意义,互联网的信息量呈爆炸趋势增长,数量的增加带来的是搜索服务品质的下降,并且查询的结果里存在大量的重复信息和垃圾信息,用户的查询效率非常低。网络的发展客观上就需要一批能够满足某一特定领域、特定人群或者说是某一特定需求的网站。,几十万,几百万,几千万,几十亿,网页信息量,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,5/32,一、研究意义(续),丝绸作为面料行业的一个种类,随着面料行业的科技含量逐步提高,企业的发展与网络的联系也越来越紧密。企业可以通过网络获得本行业的原料、加工、产品的最新信息,产业链上各个环节动态信息,可以发布自身的信息以获得更多的商机,可以通过网络平台进行交易。如何对通用搜索引擎技术进行改进,使查询的结果更加贴近用户的要求,成为搜索引擎行业近期的研究热点。,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,6/32,内容概要,一、研究意义二、研究现状三、研究内容四、总结展望,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,7/32,二、研究现状,国外现状:国外垂直搜索获得了1400万美元的融资,强力刺激了广告主对垂直搜索广告的认可和期待。垂直搜索引擎广告将会在未来几年借助垂直搜索引擎的发展迎来更大的发展空间和机遇。美国垂直搜索引擎的发展已经充分说明了这种经营模式的正确。M公司通过发布有关疾病和治疗的详细内容,每月赢得高达2500万次的点击,有260万患者和100万医生浏览。由此可见,专业化,垂直化已成为未来搜索引擎发展的一个潮流和方向。国内现状与美国方兴未艾的垂直搜索引擎发展相比,国内明显还处于落后状态,国内众多网站虽然在自己的发展过程中做了许多有益的探索,但在内容垂直化、服务集中化、访问经常化方面还有很长的路要走。,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,8/32,内容概要,一、研究意义二、研究现状三、研究内容四、特色创新五、总结展望,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,9/32,3.1 面向丝绸领域垂直搜索引擎的总体设计 功能需求分析,页面权值计算功能 网页信息的自动采集 信息的自动提取,存储爬行的网页URL列表存储各个网页的结构信息存储不同URL的权值存储产品相关信息,提供信息检索功能以页面的形式返回给用户,信息的自动采集,信息数据库的管理,信息的检索与显示,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,10/32,3.1 面向丝绸领域垂直搜索引擎的总体设计 系统的总体框架图,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,11/32,3.1面向丝绸领域垂直搜索引擎的总体设计 系统的关键技术分析,系统的效率,由于垂直搜索引擎是一个复杂的综合系统,各个子系统之间是相互协调,紧密相关。所以在设计时需要全面考虑,任何一个环节的效率都会影响到整个系统的效率。,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,12/32,3.2 面向丝绸领域的垂直搜索引擎的具体实现 自动搜索算法的具体实现,用户首先指定与丝绸产品信息相关的词表,利用元搜索引擎来查询与这些词相关的种子网址,用户也可以直接指定种子网址列表,得到需要搜索的URL列表后,利用spider去采集相关网页,经过去重后存入页面存储器,再经过网页分析和结构化信息的抽取后,把丝绸信息相关的内容存入数据库,供用户查询。,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,13/32,3.2面向丝绸领域的垂直搜索引擎的具体实现 自动搜索算法的具体实现(续),利用元搜索引擎来限定搜索范围的流程搜索函数部分相关代码:String Search(String str,String URL)/返回一个保存url地址字符串的字符串数组URL address=new URL(url);/建立http连接String host=url.getHost();/获取主机号 Int port=url.getport();/获取端口号 Socket socket=new Socket(host,port);/实例化socketInputStream in=socket.getInputstream();/获取输入流PrintWriter out=new PrintWriter(socket.getOutputStream();/输出流Out.Print(“POST”+“查询式”+);/向商用引擎提交查询式,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,14/32,3.2面向丝绸领域的垂直搜索引擎的具体实现 自动搜索算法的具体实现(续),为了提高搜索效率,在上述基础上我们编写了一个可以同时采用多个商用引擎的java函数。相关代码如下:Void MutiSearch(String str,String engaddress)/str为用户的查询关键字;engaddress 为商用引擎地址 String temp=;Temp=Search(str,engaddress);For(int i=0;i temp.length();j+)Boolean isin=false;For(int j=0;j list.length();j+)If(tempi.equals(listj)/判断是否在list中已经存在isin=true;/在list中找到已经存在的url Break;/找到而退出,否则继续往下找 If(!isin)listlist.length()=tempi;/将该url添加到list末尾,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,15/32,3.2面向丝绸领域的垂直搜索引擎的具体实现 自动搜索算法的具体实现(续),改进后的HITS算法描述如下:将所有初始站点网页的Authority权值和Hub权值都初始化为1;计算所有链接的Authority权值和Hub权值;循环对页面i的计算,直至收敛。,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,16/32,3.2面向丝绸领域的垂直搜索引擎的具体实现 自动搜索算法的具体实现(续),一个垂直搜索的spider一般将爬行全部链接的方式改为只爬行特定链接。这些特定链接可以通过正则表达式的方式来匹配,凡不符合匹配的不进行采集。,例如要添加如下一些网站:http:/http:/http:/http:/http:/,利用正则表达式表示如下:#accept hosts in MY.DOMAIN.NAME+http:/(a-z0-9*.)*,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,17/32,3.2面向丝绸领域的垂直搜索引擎的具体实现 自动搜索算法的具体实现(续),HTML标准化与页面解析 页面解析的任务是分析蜘蛛采集的HTML文档,建立查询服务所需的倒排索引表、页面重要性分析所需的链接表等。解析过程如下:ParseDocoment()while 还有未处理文档 读入一个HTML文档,以“”为分隔符分隔文档内容;去掉文档中无用内容和TAGS标记;提取文档中head,title,body等内容;If 是简体中文分词 建立文档倒排索引,提取文档中href,text等内容,并按照一定的优先算法加载到URL队列中去。更新链接表。,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,18/32,3.2面向丝绸领域的垂直搜索引擎的具体实现 自动搜索算法的具体实现(续),为了进一步确定我们设计的网页爬行控制模块的稳定,特地作了该模块的性能测试。我们设定的爬行测试条件如下:搜索深度为3(这样做的目的是为了防止搜索规模过大,而导致死机等现象的发生。),蜘蛛个数为3,起始种子为5个。,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,19/32,3.2面向丝绸领域的垂直搜索引擎的具体实现 自动搜索算法的具体实现(续),人工分析存储器中的URL与URL队列存储中的URL进行比对数据。,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,20/32,3.2面向丝绸领域的垂直搜索引擎的具体实现 页面分析与丝绸产品信息的自动抽取,通常对于页面信息的抽取方式有两种:手动抽取:需要人去阅读和分析该网页的信息,而且对所要抽取的页面的结构也要相当的熟悉后,再定位和抽取该页面中的数据。这种方式较耗费人力,对于某一些固定的网站,具有较高的查全率和查准率。自动抽取:由于领域本身的一些特点,使得该领域的页面文档普遍具有类似的结构。因此在本系统中我们采用的自动抽取规则。,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,21/32,3.2面向丝绸领域的垂直搜索引擎的具体实现 页面分析与丝绸产品信息的自动抽取(续),23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,22/32,3.2面向丝绸领域的垂直搜索引擎的具体实现 页面分析与丝绸产品信息的自动抽取(续),以后每次抽取之前先到数据库中去检索看看是不是存在相应的Url,利用SQL查询语句:Select*from siledetail where url=对应的url地址如果查找到了,则读取这些设置来抽取网页内容。如果没有的话,则手动(利用SQL语句中的insert into silkdetail()values()将抽取的配置信息存入到数据库中表sample里去。,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,23/32,3.2面向丝绸领域的垂直搜索引擎的具体实现 Lucene倒排文件索引结构,索引结构主要有以下三种:倒排索引,后缀数组和签名文件。其中,倒排索引技术在当前大多数的信息检索系统中得到了广泛的应用,它对于关键词的搜索非常有效。本课题是针对丝绸产品的,因此其主要内容是word格式和图像格式的,所以在数据库中我们专门设立了一个第一检索项的字段。它是由产品名称、生产厂家、产地组成。索引的单位是Document对象,每个Document对象包含多个字段Field对象,针对不同的字段属性和数据输出需求。,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,24/32,3.2面向丝绸领域的垂直搜索引擎的具体实现 用户查询功能的实现,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,25/32,3.2面向丝绸领域的垂直搜索引擎的具体实现 用户查询功能的实现(续),23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,26/32,3.2面向丝绸领域的垂直搜索引擎的具体实现 用户查询功能的实现(续),23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,27/32,3.2面向丝绸领域的垂直搜索引擎的具体实现 用户查询功能的实现(续),23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,28/32,内容概要,一、研究意义二、研究现状三、研究内容四、总结展望,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,29/32,五、总结展望 总结,从研究和设计的角度对垂直搜索引擎的相关技术作了详细的分析和讨论,论述了目前搜索引擎的国内外发展现状和趋势。分析了搜索引擎的工作原理及其各部分主要功能,抓住如何评价页面的主题相关性和设计高效的爬行策略这两个关键问题,提出一个基于丝绸信息的定题搜索器,完成了面向丝绸领域的垂直搜索引擎的设计与实现。,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,30/32,五、总结展望 下一步工作,搜索引擎的工作效率和准确度有待于进一步的提高,这样网页的爬行策略和选择算法必须再作进一步的改进和优化。在抽取丝绸产品信息时,虽然对于大多数网页可以实现有效抽取。但是由于网上信息形式多样、语法混乱等现象的存在,因此,系统在对不规范网页信息的抽取上还要有待改进。,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,31/32,五、总结展望 研究成果情况,以第一作者公开发表的论文:浅谈基于XML的web页面信息抽取方法的设计和实现,科技风.2008.1(上)总第91期,23.2.22,面向丝绸领域的垂直搜索引擎关键算法研究,32/32,感谢各位老师提出宝贵的意见和建议!,