1、学习任务学习任务WEBWEB搜索引擎工作原理搜索引擎工作原理 物联网搜索引擎物联网搜索引擎 服务发现技术服务发现技术 Click to add title in here 123本章主要涉及:本章主要涉及:10.1 搜索引擎技术概述搜索引擎技术概述搜索引擎搜索引擎(search engine)是指根据一定的)是指根据一定的策略、运用特定的计算机程序搜集互联网上的策略、运用特定的计算机程序搜集互联网上的信息,在对信息进行组织和处理后,并将处理信息,在对信息进行组织和处理后,并将处理后的信息显示给用户,是为用户提供检索服务后的信息显示给用户,是为用户提供检索服务的系统。的系统。10.1.1 搜索引
2、擎的发展搜索引擎的发展 1990年,加拿大麦吉尔大学(年,加拿大麦吉尔大学(University of McGill)计算机学院的师生想到了开发一个可以)计算机学院的师生想到了开发一个可以用文件名查找文件的系统,开发出用文件名查找文件的系统,开发出Archie。当时,万维网(当时,万维网(World Wide Web)还没有出现,)还没有出现,人们通过人们通过FTP来共享交流资源。来共享交流资源。Archie能定期搜集并分析能定期搜集并分析FTP服务器上的文件名服务器上的文件名信息,提供查找分别在各个信息,提供查找分别在各个FTP主机中的文件。主机中的文件。用户必须输入精确的文件名进行搜索,用
3、户必须输入精确的文件名进行搜索,Archie告告诉用户哪个诉用户哪个FTP服务器能下载该文件。服务器能下载该文件。10.1.1 搜索引擎的发展搜索引擎的发展 虽然虽然Archie搜集的信息资源不是网页(搜集的信息资源不是网页(HTML文件),但和搜索引擎的基本工作方式是一样文件),但和搜索引擎的基本工作方式是一样的:自动搜集信息资源、建立索引、提供检索的:自动搜集信息资源、建立索引、提供检索服务。服务。所以,所以,Archie被公认为现代搜索引擎的鼻祖。被公认为现代搜索引擎的鼻祖。由于由于Archie深受欢迎,受其启发,深受欢迎,受其启发,1993年又年又开发了一个开发了一个Gopher搜索工
4、具。搜索工具。10.1.2 搜索引擎分类搜索引擎分类(1)全文索引)全文索引 全文搜索引擎是名副其实的搜索引擎,国外代全文搜索引擎是名副其实的搜索引擎,国外代表有表有Google,国内则有著名的百度搜索。,国内则有著名的百度搜索。它们从互联网提取各个网站的信息,建立起数它们从互联网提取各个网站的信息,建立起数据库,并能检索与用户查询条件相匹配的记录,据库,并能检索与用户查询条件相匹配的记录,按一定的排列顺序返回结果按一定的排列顺序返回结果10.1.2 搜索引擎分类搜索引擎分类 根据搜索结果来源的不同,全文搜索引擎可根据搜索结果来源的不同,全文搜索引擎可分为两类分为两类:一类拥有自己的检索程序(
5、一类拥有自己的检索程序(Indexer),俗称),俗称“爬虫爬虫”(Spider)程序或)程序或“机器人机器人”(Robot)程序,能自建网页数据库,搜索结果)程序,能自建网页数据库,搜索结果直接从自身的数据库中调用,上面提到的直接从自身的数据库中调用,上面提到的Google和百度就属于此类;和百度就属于此类;另一类则是租用其他搜索引擎的数据库,并按另一类则是租用其他搜索引擎的数据库,并按自定的格式排列搜索结果,如自定的格式排列搜索结果,如Lycos搜索引擎。搜索引擎。10.1.2 搜索引擎分类搜索引擎分类(2)目录索引)目录索引 目录索引虽然有搜索功能,但严格意义上不能称目录索引虽然有搜索功
6、能,但严格意义上不能称为真正的搜索引擎,只是按目录分类的网站链接为真正的搜索引擎,只是按目录分类的网站链接列表而已。列表而已。用户完全可以按照分类目录找到所需要的信息,用户完全可以按照分类目录找到所需要的信息,不依靠关键词(不依靠关键词(Keywords)进行查询。)进行查询。目录索引中最具代表性的有目录索引中最具代表性的有Yahoo、新浪分类目、新浪分类目录搜索。录搜索。10.1.2 搜索引擎分类搜索引擎分类(3)元搜索引擎)元搜索引擎 元搜索引擎(元搜索引擎(META Search Engine)接受用)接受用户查询请求后,同时在多个搜索引擎上搜索,户查询请求后,同时在多个搜索引擎上搜索,
7、并将结果返回给用户。并将结果返回给用户。著名的元搜索引擎有著名的元搜索引擎有InfoSpace、Dogpile、Vivisimo等。等。10.2 WEB搜索引擎工作原理搜索引擎工作原理web搜索引擎的原理通常为:搜索引擎的原理通常为:首先是用爬虫(首先是用爬虫(Spider)进行全网搜索,自动抓取)进行全网搜索,自动抓取网页;网页;然后将抓取的网页进行索引,同时也会记录与检索然后将抓取的网页进行索引,同时也会记录与检索有关的属性,中文搜索引擎中还需要首先对中文进有关的属性,中文搜索引擎中还需要首先对中文进行分词;行分词;最后,接受用户查询请求,检索索引文件并按照各最后,接受用户查询请求,检索索
8、引文件并按照各种参数进行复杂的计算,产生结果并返回给用户。种参数进行复杂的计算,产生结果并返回给用户。10.2.1 Web搜索引擎的组成搜索引擎的组成 搜索引擎一般由搜索器、索引器、检索器搜索引擎一般由搜索器、索引器、检索器和用户接口四个部分组成:和用户接口四个部分组成:搜索器搜索器:其功能是在互联网中漫游,发现和搜集信息;其功能是在互联网中漫游,发现和搜集信息;索引器索引器:其功能是理解搜索器所搜索到的信息,从中抽其功能是理解搜索器所搜索到的信息,从中抽取出索引项,用于表示文档以及生成文档库的取出索引项,用于表示文档以及生成文档库的索引表;索引表;10.2.1 Web搜索引擎的组成搜索引擎的
9、组成检索器检索器:其功能是根据用户的查询在索引库中快速检索其功能是根据用户的查询在索引库中快速检索文档,进行相关度评价,对将要输出的结果排文档,进行相关度评价,对将要输出的结果排序,并能按用户的查询需求合理反馈信息;序,并能按用户的查询需求合理反馈信息;用户接口用户接口:其作用是接纳用户查询、显示查询结果、提供其作用是接纳用户查询、显示查询结果、提供个性化查询项。个性化查询项。10.2.1 Web搜索引擎的组成搜索引擎的组成搜索引擎组成搜索引擎组成 10.2.2 Web搜索引擎的工作模式搜索引擎的工作模式 利用网络爬虫获取网络资源利用网络爬虫获取网络资源。网络爬虫访问资源的过程,是对互联网上信
10、息网络爬虫访问资源的过程,是对互联网上信息遍历的过程。遍历的过程。在实际的爬虫程序中,为了保证信息收集的全在实际的爬虫程序中,为了保证信息收集的全面性,及时性,还有多个爬虫程序的分工和合面性,及时性,还有多个爬虫程序的分工和合作问题,往往有复杂的控制机制。作问题,往往有复杂的控制机制。10.2.2 Web搜索引擎的工作模式搜索引擎的工作模式基本搜索器流程图基本搜索器流程图 10.2.2 Web搜索引擎的工作模式搜索引擎的工作模式 利用索引器从搜索器获取的资源中抽取信利用索引器从搜索器获取的资源中抽取信息,并建立利于检索的索引表息,并建立利于检索的索引表:当用网络爬虫获取资源后后,需要对这些进行
11、当用网络爬虫获取资源后后,需要对这些进行加工过滤,去掉网控制代码及无用信息,提取加工过滤,去掉网控制代码及无用信息,提取出有用的信息,并把信息用一定的模型表示,出有用的信息,并把信息用一定的模型表示,使查询结果更为准确。使查询结果更为准确。其中信息的表示模型一般有布尔模型,向量模其中信息的表示模型一般有布尔模型,向量模型,概率模型和神经网络模型等。型,概率模型和神经网络模型等。10.2.2 Web搜索引擎的工作模式搜索引擎的工作模式 Web上的信息一般表现为网页,对每个网页,上的信息一般表现为网页,对每个网页,须生成一个摘要,此摘要将显示在查询结果的须生成一个摘要,此摘要将显示在查询结果的页面
12、中,告诉查询用户各网页的内容概要。页面中,告诉查询用户各网页的内容概要。模型化的信息将存放在临时数据库中,由于模型化的信息将存放在临时数据库中,由于web数据的数据量极为庞大,为了提高检索效数据的数据量极为庞大,为了提高检索效率,须按照一定规则建立索引。率,须按照一定规则建立索引。不同搜索引擎在建立索引时会考虑不同的选项,不同搜索引擎在建立索引时会考虑不同的选项,如是否建立全文索引,是否过滤无用词汇,是如是否建立全文索引,是否过滤无用词汇,是否使用否使用meta信息等。信息等。10.2.2 Web搜索引擎的工作模式搜索引擎的工作模式索引的建立包括:索引的建立包括:分析过程,处理文档中可能的错误
13、;分析过程,处理文档中可能的错误;文档索引,完成分析的文档被编码进存储桶,文档索引,完成分析的文档被编码进存储桶,有些搜索引擎还会使用并行索引;有些搜索引擎还会使用并行索引;排序,将存储桶按照一定的规则排序,排序,将存储桶按照一定的规则排序,生产全文存储桶。最终形成的索引一般按照生产全文存储桶。最终形成的索引一般按照倒排文件的格式存放。倒排文件的格式存放。10.2.2 Web搜索引擎的工作模式搜索引擎的工作模式 检索及用户交互检索及用户交互:用户查询(用户查询(query)理解,即最大可能贴近的理解)理解,即最大可能贴近的理解用户通过查询串想要表达的查询目的,并将用户用户通过查询串想要表达的查
14、询目的,并将用户查询转换化为后台检索使用的信息模型;查询转换化为后台检索使用的信息模型;根据用户查询的检索模型,在索引库中检索出结根据用户查询的检索模型,在索引库中检索出结果集;果集;结果排序:通过特定的排序算法,对检索结果集结果排序:通过特定的排序算法,对检索结果集进行排序。进行排序。10.2.2 Web搜索引擎的工作模式搜索引擎的工作模式现在用的的排序因素一般有查询相关度,现在用的的排序因素一般有查询相关度,google发明的发明的pagerank计术,计术,baidu的竞价的竞价技术等。技术等。由于由于web数据的海量性和用户初始查询的模糊数据的海量性和用户初始查询的模糊性,检索结果集一
15、般很大,而用户一边不会有性,检索结果集一般很大,而用户一边不会有足够的耐性逐个查看所有的结果,所以怎样设足够的耐性逐个查看所有的结果,所以怎样设计结果集的排序算法,把用户感兴趣的结果排计结果集的排序算法,把用户感兴趣的结果排在前面就十分重要。在前面就十分重要。10.2.2 Web搜索引擎的工作模式搜索引擎的工作模式Web搜索引擎的工作模式搜索引擎的工作模式 10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法搜索引擎的评价指标有响应时间、查全率、查准搜索引擎的评价指标有响应时间、查全率、查准率和用户满意度等。率和用户满意度等。其中响应时间是从用户提交查询请求到搜索引擎其中响应时间是从
16、用户提交查询请求到搜索引擎给出查询结果的时间间隔,响应时间必须在用户给出查询结果的时间间隔,响应时间必须在用户可以接受的范围之内。可以接受的范围之内。查全率是指查询结果集信息的完备性。查全率是指查询结果集信息的完备性。查准率是指查询结果集中符合用户要求的数目与查准率是指查询结果集中符合用户要求的数目与结果总数之比。结果总数之比。10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法用户满意度是一个难以量化的概念,除了搜索用户满意度是一个难以量化的概念,除了搜索引擎本身的服务质量外,它还和用户群体,网引擎本身的服务质量外,它还和用户群体,网络环境有关系。络环境有关系。在搜索引擎可以控制的
17、范围内,其核心是搜索在搜索引擎可以控制的范围内,其核心是搜索结果的排序,即前文提到的如何把最合适的结结果的排序,即前文提到的如何把最合适的结果排到前面。果排到前面。10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法总的来说,总的来说,Web搜索引擎的搜索引擎的3个重要问题是:个重要问题是:响应时间:一般来说合理的响应时间在秒这响应时间:一般来说合理的响应时间在秒这个数量级个数量级 关键词搜索:得到合理的匹配结果关键词搜索:得到合理的匹配结果 搜索结果排序:如何对海量的结果数据排序搜索结果排序:如何对海量的结果数据排序10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法 所
18、以搜索引擎的体系结构得设计时需要考虑信息所以搜索引擎的体系结构得设计时需要考虑信息采集、索引技术和搜索服务三个模块的设计。采集、索引技术和搜索服务三个模块的设计。1.信息采集信息采集 Web搜索引擎的信息采集模块的主要功能是:搜索引擎的信息采集模块的主要功能是:执行基于超文本传输协议(执行基于超文本传输协议(Hypertext Transfer Protocol,简称简称HTTP),从),从Web上收集页面信上收集页面信息,即息,即Web机器人(爬虫)程序。机器人(爬虫)程序。10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法基于超文本传输协议的网络应答图基于超文本传输协议的网络应
19、答图 10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法2.索引技术索引技术 网络爬虫程序的工作模式网络爬虫程序的工作模式 网络爬虫程序根据网络爬虫程序根据HTTP协议,发送请求,并通协议,发送请求,并通过过TCP连接接受服务器的应答。连接接受服务器的应答。由于由于Web搜索引擎需要抓取数以亿计的页面,搜索引擎需要抓取数以亿计的页面,所以建立快速分布式的网络爬虫程序才能满足搜所以建立快速分布式的网络爬虫程序才能满足搜索引擎对性能和服务的要求,其物理实现可能是索引擎对性能和服务的要求,其物理实现可能是一组终端。一组终端。10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法爬
20、虫程序物理设备架构图爬虫程序物理设备架构图 10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法 网络爬虫程序的基础结构网络爬虫程序的基础结构 首先网络爬虫程序从首先网络爬虫程序从URL链接库读取一个或多链接库读取一个或多个个URL作为初始输入并进行域名解析作为初始输入并进行域名解析 然后根据域名解析结果(然后根据域名解析结果(IP)访问)访问Web服务器,服务器,建立建立TCP连接,发送请求,接受应答,储存接连接,发送请求,接受应答,储存接受数据,并分析提取链接信息(受数据,并分析提取链接信息(URL)放入)放入URL连接库里。连接库里。爬虫程序递归执行该过程直到爬虫程序递归执行该
21、过程直到URL链接库为空。链接库为空。网络爬虫程序的基础结构如下图:网络爬虫程序的基础结构如下图:10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法网络爬虫程序的基础结构网络爬虫程序的基础结构 10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法3.信息采集优化信息采集优化 信息采集优化需要考虑到:信息采集优化需要考虑到:网络连接优化策略、持久性连接和多进程并发网络连接优化策略、持久性连接和多进程并发设计等方面的问题。设计等方面的问题。同时由于网络爬虫程序会频繁调用域名系统,同时由于网络爬虫程序会频繁调用域名系统,域名系统缓存可提高爬虫程序性能需要使用域名系统缓存可提高爬
22、虫程序性能需要使用Web缓存技术缓存技术.10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法相关域名系统的缓存策略:相关域名系统的缓存策略:LRU(Least Recently Used)算法:将最)算法:将最近最少使用的内容替换出近最少使用的内容替换出Cache缓存;缓存;LFU(Lease Frequently Used)算法:将)算法:将访问次数最少的内容替换出访问次数最少的内容替换出Cache缓存;缓存;FIFO(First-In,First-Out)算法:在)算法:在Cache缓存中执行数据的先进先出流程方法。缓存中执行数据的先进先出流程方法。10.2.3 搜索引擎的技术
23、设计与算法搜索引擎的技术设计与算法4.网页抓取算法网页抓取算法 深度优先算法深度优先算法 在在Web收集页面信息时,使用一个或一组预定义收集页面信息时,使用一个或一组预定义URL地址开始,然后根据页面内容中的超链接深地址开始,然后根据页面内容中的超链接深度抓取页面,直到搜索结束(没有新的度抓取页面,直到搜索结束(没有新的URL)。)。广度优先算法广度优先算法 在在Web收集页面信息时,使用一个或一组预定义收集页面信息时,使用一个或一组预定义URL地址开始,然后根据页面内容中的超链接广地址开始,然后根据页面内容中的超链接广度抓取页面,抓取下一层的度抓取页面,抓取下一层的URL直到这一层的直到这一
24、层的URL完全被抓取,直到搜索结束时返回。完全被抓取,直到搜索结束时返回。10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法基于内容算法基于内容算法 根据关键字、主题文档的相似度和链接文本(根据关键字、主题文档的相似度和链接文本(Linked texts)估计链接值,并确定相应搜索策略的算法。)估计链接值,并确定相应搜索策略的算法。链接文本是包含对链接文本是包含对URL链接解释说明和内容摘要的文链接解释说明和内容摘要的文字信息。字信息。基于基于HITS的算法的算法 主要思想:在抓取主要思想:在抓取Web页面时,采用页面时,采用Authority/Hub抓取策略。抓取策略。Autho
25、rity表示该页面被其他页面所引用的次数(页面表示该页面被其他页面所引用的次数(页面入度值,入度值,in-degree value)。)。Hub表示其他页面引用表示其他页面引用该页面的次数(页面出度值,该页面的次数(页面出度值,out-degree value)。)。10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法 PageRank(Google的专利技术)的专利技术)Google的的PageRank根据网站的外部链接和内根据网站的外部链接和内部链接的数量和质量来衡量网站的价值。部链接的数量和质量来衡量网站的价值。PageRank背后的概念是,每个到页面的链接背后的概念是,每个到
26、页面的链接都是对该页面的一次投票,被链接的越多,就都是对该页面的一次投票,被链接的越多,就意味着被其他网站投票越多。意味着被其他网站投票越多。10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法 这个就是所谓的这个就是所谓的“链接流行度链接流行度”衡量多少衡量多少人愿意将他们的网站和你的网站挂钩。人愿意将他们的网站和你的网站挂钩。PageRank这个概念引自学术中一篇论文的被这个概念引自学术中一篇论文的被引述的频度引述的频度 即被别人引述的次数越多,一即被别人引述的次数越多,一般判断这篇论文的权威性就越高。般判断这篇论文的权威性就越高。10.2.3 搜索引擎的技术设计与算法搜索引擎的
27、技术设计与算法Google有一套自动化方法来计算这些投票。有一套自动化方法来计算这些投票。Google的的PageRank分值从分值从0到到10;PageRank为为10表示最佳,但非常少见,类似里氏震级表示最佳,但非常少见,类似里氏震级(Richter scale),),PageRank级别也不是线性级别也不是线性的,而是按照一种指数刻度。的,而是按照一种指数刻度。这是一种奇特的数学术语,意思是这是一种奇特的数学术语,意思是PageRank4不不是比是比PageRank3好一级好一级而可能会好而可能会好6到到7倍。因倍。因此,一个此,一个PageRank5的网页和的网页和PageRank8的
28、网的网页之间的差距会比你可能认为的要大的多页之间的差距会比你可能认为的要大的多10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法PageRank的定义的定义:假设有假设有T1Tn个页面指向页面个页面指向页面A(即(即 引用)。引用)。参数参数d是一个阻尼因子,其取值区间属于是一个阻尼因子,其取值区间属于(0,1),我,我们通常取值为们通常取值为0.85。C(A)定义为指向页面定义为指向页面A的其他页面的连接数,的其他页面的连接数,页面页面A的的PageRank或或PR(A)值可以通过下面的公值可以通过下面的公式得到:式得到:10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与
29、算法5.索引技术索引技术 索引建立:预处理索引建立:预处理 当当Web搜索引擎获得数据信息以后,首先需要对搜索引擎获得数据信息以后,首先需要对数据进行预处理,如将句子切分成有意义的词汇。数据进行预处理,如将句子切分成有意义的词汇。由于中文的特殊性在切分句子时会产生二义性,由于中文的特殊性在切分句子时会产生二义性,如何合理的切分词汇是一个技术难题。如何合理的切分词汇是一个技术难题。中文分词完全不同于英文分词,英文行文中,单中文分词完全不同于英文分词,英文行文中,单词间以空格分隔;而中文只有字词间以空格分隔;而中文只有字/句句/段有明显分段有明显分隔符,唯独词没有形式上的分隔符存在。隔符,唯独词没
30、有形式上的分隔符存在。10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法 索引建立:倒排文件模型索引建立:倒排文件模型 倒排文件倒排文件(inverted file),是指一个词汇集合),是指一个词汇集合W和一个文档集合和一个文档集合D之间对应关系的数据结构。之间对应关系的数据结构。10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法6.搜索服务搜索服务 结果显示结果显示 接受用户的输入,提交用户搜索请求。接受用户的输入,提交用户搜索请求。然后根据搜索结果列表合理的展示给用户。然后根据搜索结果列表合理的展示给用户。并在在保护隐私的前提下,记录用户使用行为的并在在保护隐私的
31、前提下,记录用户使用行为的详细信息,以便提高下次服务的满意度。详细信息,以便提高下次服务的满意度。10.2.3 搜索引擎的技术设计与算法搜索引擎的技术设计与算法 网页快照网页快照 Web上的数据每时每刻都在变化着,所以随时存上的数据每时每刻都在变化着,所以随时存在着检索到的页面信息已经不存在的可能。在着检索到的页面信息已经不存在的可能。Web搜索引擎为了提高服务质量,需要对搜索到搜索引擎为了提高服务质量,需要对搜索到的页面信息进行快照,以便在原来页面信息失效的页面信息进行快照,以便在原来页面信息失效的情况下,保证用户能够通过快照功能查看页面。的情况下,保证用户能够通过快照功能查看页面。10.3
32、 物联网搜索引擎物联网搜索引擎在物联网时代,搜索引擎的新思考需要考虑到:在物联网时代,搜索引擎的新思考需要考虑到:首先需要从智能物体角度思考搜索引擎与物体首先需要从智能物体角度思考搜索引擎与物体之间的关系,主动识别物体并提取有用信息。之间的关系,主动识别物体并提取有用信息。其次需要从用户角度上的多模态信息利用,使其次需要从用户角度上的多模态信息利用,使查询结果更精确,更智能,更定制化。查询结果更精确,更智能,更定制化。10.3.1基于物品的搜索引擎技术基于物品的搜索引擎技术物联网中存在海量的分布式资源(包括传感器、物联网中存在海量的分布式资源(包括传感器、探测设备和驱动装置等)探测设备和驱动装
33、置等),未来物联网中的物品可未来物联网中的物品可以根据以根据:自身的特定能力、自身的特定能力、所处的环境情况(传感器的类型、驱动装置的状所处的环境情况(传感器的类型、驱动装置的状态以及服务的提供情况等)态以及服务的提供情况等)他们的位置他们的位置 对这些普遍存在的信息和数据进行独立的或对这些普遍存在的信息和数据进行独立的或者类别化的搜索与发现。者类别化的搜索与发现。10.3.1基于物品的搜索引擎技术基于物品的搜索引擎技术物联网的搜索与发现服务将不仅服务于我们人类,物联网的搜索与发现服务将不仅服务于我们人类,方便我们进行各种操作。方便我们进行各种操作。同时,这些搜索与发现服务也将为各种软件、系同
34、时,这些搜索与发现服务也将为各种软件、系统、应用以及自动化的物品所使用统、应用以及自动化的物品所使用.帮助他们收集各种分布于成千上万组织、机构、帮助他们收集各种分布于成千上万组织、机构、地点位置的完整信息和状态数据,帮助他们明确地点位置的完整信息和状态数据,帮助他们明确所处环境中的基础设施配备情况,满足智慧物品所处环境中的基础设施配备情况,满足智慧物品的运动、操作、加热或者制冷,以及网络通信与的运动、操作、加热或者制冷,以及网络通信与数据处理等的需求。数据处理等的需求。10.3.1基于物品的搜索引擎技术基于物品的搜索引擎技术通用身份验证机制与细粒度的访问控制机制整通用身份验证机制与细粒度的访问
35、控制机制整合到一起将可以允许物联网中的资源持有者限合到一起将可以允许物联网中的资源持有者限制具体物品的发现权限,制具体物品的发现权限,控制哪些物品或者人员可以使用他们的资源或控制哪些物品或者人员可以使用他们的资源或者和他们所持有的特定物品(比如一个存在唯者和他们所持有的特定物品(比如一个存在唯一标识的物品)之间建立起关联。一标识的物品)之间建立起关联。10.3.1基于物品的搜索引擎技术基于物品的搜索引擎技术出于搜索与发现效率的考虑,未来物联网中的信出于搜索与发现效率的考虑,未来物联网中的信息将很可能是存在元数据结构或者语义标记的。息将很可能是存在元数据结构或者语义标记的。但是这样做将使我们面对
36、重大的挑战,那就是如但是这样做将使我们面对重大的挑战,那就是如何保证未来物联网中海量的自动生成信息可以被何保证未来物联网中海量的自动生成信息可以被自动的、可靠的发现和查找出来,而无需人为参自动的、可靠的发现和查找出来,而无需人为参与其中。与其中。10.3.1基于物品的搜索引擎技术基于物品的搜索引擎技术 还有几件同样重要的事情,那就是:还有几件同样重要的事情,那就是:如何在地球地理数据(当可用的时候)与逻辑如何在地球地理数据(当可用的时候)与逻辑位置和地址(比如,邮政编码、地名等)之间位置和地址(比如,邮政编码、地名等)之间建立交叉引用关系;建立交叉引用关系;如何通过搜索和发现服务处理标准的几何
37、概念如何通过搜索和发现服务处理标准的几何概念和位置规则(比如,空间位置的重叠、区域的和位置规则(比如,空间位置的重叠、区域的分割或者分离,等),等等。分割或者分离,等),等等。10.3.2 基于简单标识的对象查找技术基于简单标识的对象查找技术基于数据对象和到标识目的的用户连接之间的确定基于数据对象和到标识目的的用户连接之间的确定关系生成搜索结果,关系生成搜索结果,其中一种搜索系统基于将用户上下文应用于信息上其中一种搜索系统基于将用户上下文应用于信息上下文和连接上下文来生成包括标识个人和数据对象下文和连接上下文来生成包括标识个人和数据对象的目的目标的排序列表。的目的目标的排序列表。使用用户上下文
38、标识与用户的身份有关的搜索用户使用用户上下文标识与用户的身份有关的搜索用户正查找的信息,并且使用信息上下文标识用户可访正查找的信息,并且使用信息上下文标识用户可访问的目的(包括数据对象和基于通信的动作,例如问的目的(包括数据对象和基于通信的动作,例如语音电话呼叫、即时通信会话记录等)。语音电话呼叫、即时通信会话记录等)。10.3.2 基于简单标识的对象查找技术基于简单标识的对象查找技术根据根据连接上下文标识遍及系统的所选择目的之连接上下文标识遍及系统的所选择目的之间的关系,以及从所选择目的的现象确定的那间的关系,以及从所选择目的的现象确定的那些关系的强度:基于现象检测来更新连接上下些关系的强度
39、:基于现象检测来更新连接上下文。文。连接上下文中的与用户上下文有关的部分用于连接上下文中的与用户上下文有关的部分用于对信息上下文中的与用户上下文有关的部分进对信息上下文中的与用户上下文有关的部分进行排序,从而产生目的目标的排序列表。行排序,从而产生目的目标的排序列表。10.4.1 Web服务发现服务发现(1)直接搜索)直接搜索 形式最简单的服务发现是向服务提供者索要服务形式最简单的服务发现是向服务提供者索要服务描述的副本。描述的副本。服务提供者接收到请求后,只要把服务描述作为服务提供者接收到请求后,只要把服务描述作为附件用电子邮件发送给服务请求者,或者将其放附件用电子邮件发送给服务请求者,或者
40、将其放在可传递介质在可传递介质(例如磁盘例如磁盘)上提供给服务请求者。上提供给服务请求者。服务请求者可以从以下几个方式得到服务描述:服务请求者可以从以下几个方式得到服务描述:本地文件;本地文件;FTP站点;站点;Web站点站点10.4.1 Web服务发现服务发现(2)集中式架构搜索)集中式架构搜索 集中式架构提供一个中心目录,服务提供者在其集中式架构提供一个中心目录,服务提供者在其中注册服务,发布服务公告及引用。典型的架构中注册服务,发布服务公告及引用。典型的架构是是UDDI。UDDI 是一种目录服务,企业可以使用它对是一种目录服务,企业可以使用它对 Web services 进行注册和搜索。
41、进行注册和搜索。UDDI,英文为,英文为 Universal Description,Discovery and Integration,可译为,可译为“通用描述、发现与集成通用描述、发现与集成服务服务”。10.4.1 Web服务发现服务发现 UDDI 始于始于2000年年,由由 Ariba,IBM,Microsoft 和和其他其他33家公司创立家公司创立.UDDI registries 提供了一个提供了一个机制机制,以一种有效的方式来浏览以一种有效的方式来浏览,发现发现Web Services 以及它们之间的相互作用以及它们之间的相互作用.UDDI作为作为Web服务体系中的元服务服务体系中的
42、元服务(Meta Service),为,为Web服务体系提供基本的商业服务体系提供基本的商业Web服务的注册和发现机制。服务的注册和发现机制。UDDI规范利用了规范利用了W3C和和IETF的很多标准作为实的很多标准作为实现基础,比如扩展标注语言现基础,比如扩展标注语言(XML)、HTTP等。等。10.4.1 Web服务发现服务发现(3)分布式架构搜索分布式架构搜索 分布式服务发现方法,提供对服务提供者提供点处分布式服务发现方法,提供对服务提供者提供点处的服务描述的引用。的服务描述的引用。通过指定检查通过指定检查Web站点获得可用站点获得可用Web服务的方法,服务的方法,Web服务检查语言提供了
43、这种分布式发现方法。服务检查语言提供了这种分布式发现方法。WS-Inspection提供此类分布式方法的方式,是通提供此类分布式方法的方式,是通过指定如何探察过指定如何探察Web服务提供站点来获得可用的服务提供站点来获得可用的Web服务技术信息。服务技术信息。WS-Inspection规范定义了如规范定义了如何在何在Web服务提供站点上查找服务提供站点上查找Web服务技术描述的服务技术描述的位置。位置。10.4.2 传感数据的语义发现技术传感数据的语义发现技术1.语义传感器网络语义传感器网络(Semantic Sensor Networks)语义语义Web预示着一种连接和标注的预示着一种连接和
44、标注的Web、一种充、一种充满自动和半自动软件代理的满自动和半自动软件代理的Web。这些软件代理可以对标注、连接和数据进行解释、这些软件代理可以对标注、连接和数据进行解释、推理并且动作。推理并且动作。语义语义Web技术能够使不同的域获利,这些域中如:技术能够使不同的域获利,这些域中如:量大、复杂度和特异性等问题能够克服传统技术。量大、复杂度和特异性等问题能够克服传统技术。10.4.2 传感数据的语义发现技术传感数据的语义发现技术据估计目前有四十亿移动设备作为传感器使用,据估计目前有四十亿移动设备作为传感器使用,固定传感器的数目更大,美国研究机构预测到固定传感器的数目更大,美国研究机构预测到20
45、20年该数目将增长到万亿。年该数目将增长到万亿。这些传感器设备越来越多的具有访问这些传感器设备越来越多的具有访问Web的能力,的能力,由由OGC制定的制定的SWE(传感器(传感器Web访问,访问,Sensor Web Enablement)标准,已经被应用到工业、)标准,已经被应用到工业、政府和学术界。政府和学术界。10.4.2 传感数据的语义发现技术传感数据的语义发现技术另一方面,数据另一方面,数据Web的概念成为启动语义的概念成为启动语义Web的牵引力,它的目标是设计复杂、动态、多样的牵引力,它的目标是设计复杂、动态、多样性和分布式开放的信息系统。性和分布式开放的信息系统。语义被认为是将传
46、感器数据集成到语义被认为是将传感器数据集成到Web中的主中的主要技术。由语义要技术。由语义Web提供的分析和推理能力对提供的分析和推理能力对于从观察数据的获取到事件认知和对复杂环境于从观察数据的获取到事件认知和对复杂环境的完全感知是非常重要的。的完全感知是非常重要的。10.4.2 传感数据的语义发现技术传感数据的语义发现技术2.语义搜索的局限语义搜索的局限 完全采用语法和词汇原则来理解文字信息完全采用语法和词汇原则来理解文字信息的语义搜索的一大局限,是不能处理例如双关的语义搜索的一大局限,是不能处理例如双关语、多义词等模糊信息。语、多义词等模糊信息。这是因为计算机本身缺乏理解能力,尤其是缺这是
47、因为计算机本身缺乏理解能力,尤其是缺乏理解不确定性信息或模糊信息的能力,所以乏理解不确定性信息或模糊信息的能力,所以当计算机尝试通过解析整段话来提取含义时,当计算机尝试通过解析整段话来提取含义时,就会颇为棘手。就会颇为棘手。10.4.2 传感数据的语义发现技术传感数据的语义发现技术 与基于关键字的搜索方法一样,语义搜索方法也与基于关键字的搜索方法一样,语义搜索方法也不能确定思想的相对重要性。计算机会给一句话不能确定思想的相对重要性。计算机会给一句话中的不同词汇分配相同的重要性值,而这与自然中的不同词汇分配相同的重要性值,而这与自然语言的实际内涵可能大相径庭。语言的实际内涵可能大相径庭。语义搜索
48、方法可以处理少数简单的句子,但在采语义搜索方法可以处理少数简单的句子,但在采用包含大量概念的大型文件时,要从整段话、整用包含大量概念的大型文件时,要从整段话、整篇文章中提取含义,其语言模式就只能望洋兴叹篇文章中提取含义,其语言模式就只能望洋兴叹了。了。10.4.2 传感数据的语义发现技术传感数据的语义发现技术此外,语义分析都是基于特定语言及其语法结此外,语义分析都是基于特定语言及其语法结构的,这意味着它在俚语或语法方面非常容易构的,这意味着它在俚语或语法方面非常容易出错。出错。而且一旦有新单词或者变更出现,则必须对系而且一旦有新单词或者变更出现,则必须对系统进行调整,从而保证系统能够理解这些新
49、单统进行调整,从而保证系统能够理解这些新单词或变更,对系统进行拓展是一项复杂的工程。词或变更,对系统进行拓展是一项复杂的工程。10.4.2 传感数据的语义发现技术传感数据的语义发现技术3.另一种方法另一种方法 与完全基于语法结构分析的语义搜索不同,以与完全基于语法结构分析的语义搜索不同,以Autonomy为代表的核心概念匹配技术并不单纯为代表的核心概念匹配技术并不单纯依赖于一种语言的语法结构,依赖于一种语言的语法结构,而是把文字当作语意的抽象符号或者另一种而是把文字当作语意的抽象符号或者另一种“类类型型”的信息,采用可预测的统计词方式表示概念的信息,采用可预测的统计词方式表示概念和功能,和功能
50、,并通过有意义的概念词出现的上下文环境并通过有意义的概念词出现的上下文环境(而不是而不是通过严格的语法定义通过严格的语法定义)来形成对该概念词的理解,来形成对该概念词的理解,以此确定文档中每个主题的相关性及重要性。以此确定文档中每个主题的相关性及重要性。10.4.2 传感数据的语义发现技术传感数据的语义发现技术 由于其系统由所输入的实际数据驱动,而不是由与内由于其系统由所输入的实际数据驱动,而不是由与内容无关的辅助规则所驱动,所以,容无关的辅助规则所驱动,所以,Autonomy的系统的系统可以支持基于俚语、行业术语、自然语言的检索。可以支持基于俚语、行业术语、自然语言的检索。还能够不受语言语种