最有前途的软件开发技术——搜索引擎技术

搜索技术发展及未来趋势      

搜索技术仍不能满足需求   

Internet的迅速发展和广泛应用导致了网上信息爆炸性地增长。据权威机构统计,网上约有数十亿的网页,甚至有些专家宣称网页总数已达5500亿,这一数字仍然在不断地快速增长。因此,如何在庞大的Internet上获得有价值的信息已成为网民日益关注的问题。搜索技术的出现为网民从Internet上快速找到所需信息带来了福音。搜索引擎是一种用于帮助Internet用户查询信息的搜索工具,它以一定的策略在Internet中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务,从而起到信息导航的目的。   

1993年,Internet上出现了最早的Web浏览器Mosaic,次年Netscape推出了Navigator。浏览器的发展促使Web得到迅速推广,同时也推动了搜索引擎的发展。

  早期的搜索引擎是把Internet中资源服务器的地址收集起来,由其提供资源的类型不同而分成不同的目录,再一层层地进行分类。人们要找自己想要的信息可按它们的分类一层层进入,就能最后到达目的地,找到自己想要的信息。这其实是最原始的方式,只适用于Internet信息并不多的时候。

  随着Internet信息按几何式增长,出现了最早的真正意义上的搜索引擎——Lycos,它创建于1994年的春天,当时Michael Mauldin将John Leavitt的Spider程序接入到其索引程序中。随着Yahoo!的出现,搜索引擎的发展也进入了黄金时代,其性能也更加优越。

  搜索服务提供者在研发搜索技术方面已经花费了大量的时间和精力,但是网民对于现有的搜索技术是否满意呢?

  2001年,Roper Starch的调查指出,36%的Internet用户一个星期花了超过2个小时时间在网上搜索;71%的用户在使用搜索引擎的时候遇到过麻烦;平均搜索12分钟以后发现搜索受挫;搜索受挫中46%都是因为链接错误;绝大部分(86%)的Internet用户感到应当出现更有效的、准确的信息搜索技术。   另一项由Keen所做的调查显示,人们平均每天有四个问题需要从外界获取答案;其中31%的人使用搜索引擎寻找答案;平均每周花费8.75个小时找寻答案;53.3%的时间花在从旁人那里获得答案,29%的时间花在亲戚朋友身上,24.3%的时间花在销售商那里;网上查找答案的,半数以上都不成功;他们每周将花费14.5美元以上,以获取正确的信息。

  从这些调查数据中不难看出,目前的搜索引擎仍然存在不少的局限性。传统的搜索引擎技术有哪些局限性呢?主要有信息丢失、返回过多无用信息及信息无关等几方面的局限性。造成上述信息检索困难的原因的实质在于传统的搜索引擎对要检索的信息仅仅采用机械的关键词匹配来实现,缺乏知识处理能力和理解能力,也就是说搜索引擎无法处理在用户看来是非常普通的常识性知识,更不能处理随用户不同而变化的个性化知识、随地域不同而变化的区域性知识以及随领域不同而变化的专业性知识等等。   这使得网民仍然在期盼更完美的搜索技术的出现。网民需要搜索服务提供者研制更完美的搜索技术来满足更快、更准、更方便的查询需要。是的,这些正是搜索技术发展的最终目标:跟上Internet的发展速度,为网民提供更准确的查询结果。下面将就目前几大新兴技术在搜索技术中的应用做展望,以设想更具完美的搜索技术的未来。

  

自然语言理解技术

  随着社会的日益信息化,人们越来越强烈地希望用自然语言同计算机交流。自然语言理解是计算机科学中一个引人入胜、富有挑战性的课题。从计算机科学,特别是从人工智能的观点看,自然语言理解的任务是建立一种计算机模型,这种计算机模型能够给出像人那样理解、分析并回答自然语言(即人们日常使用的各种通俗语言)的结果。

  现在计算机的智能还远远没有达到能够像人一样理解自然语言的水平,而且在可预见的将来也难以达到这样的水平。因此,关于计算机对自然语言的理解一般是从实用的角度进行评判的。如果计算机实现了人机会话、机器翻译或自动文摘等语言信息处理功能,则认为计算机具备了自然语言的理解能力。   以自然语言理解技术为基础的新一代搜索引擎,我们称之为智能搜索引擎。由于它将信息检索从目前基于关键词层面提高到基于知识(或概念)层面,对知识有一定的理解与处理能力,能够实现分词技术、同义词技术、概念搜索、短语识别以及机器翻译技术等。因而这种搜索引擎具有信息服务的智能化、人性化特征,允许网民采用自然语言进行信息的检索,为他们提供更方便、更确切的搜索服务。

  与传统的目录查询、关键词查询模式相比,自然语言查询的优势体现在:一是使网络交流更加人性化;二是使信息查询变得更加方便、快速和准确。现在,已经有越来越多的搜索引擎宣布支持自然语言搜索特性,但是要建立真正的基于自然语言理解的智能查询系统,还存在很多的技术难点。如:如何理解自然语言及所代表的实际含义;如何根据问题找出用户实际想要的答案;如何建立大规模知识库等。   目前,智能搜索引擎的研发主要有两大方向,其一是基于机器翻译技术,比如Google;其二是基于语义理解技术,国内有尤里卡、问一问,国外的主要代表是Ask Jeeves。

  机器翻译(Machine Translation,MT)又称机译,它是利用计算机把一种自然语言转变成另一种自然语言的过程。智能搜索引擎在这一领域的研究将使得用户可以使用母语搜索非母语的网页,并以母语浏览搜索结果。

  语义理解通过将语言学的研究成果和搜索引擎技术结合在一起,实现了搜索引擎对搜索词在语义层次上的理解,为用户提供最确切的搜索服务。

  

P2P对等网络

  引发P2P革命的当推美国的Napster,2000年7月份的一场官司将Napster的声望推到顶点,用户数也在短短一年内激增至4000万,成为Internet史上一大奇迹。P2P是Peer-to-Peer的缩写,意为对等网络。其在加强网络上人的交流、文件交换、分布计算等方面大有前途。P2P被认为是Internet实现下一次飞跃的关键,但它将如何浮出水面仍然是个谜。长久以来,人们习惯的Internet是以服务器为中心,人们向服务器发送请求,然后浏览服务器回应的信息。

  P2P所包含的技术就是使联网电脑能够进行数据交换,但数据是存储在每台电脑里,而不是存储在既昂贵又容易受到攻击的服务器里。网络成员可以在网络数据库里自由搜索、更新、回答和传送数据。所有人都共享了他们认为最有价值的东西,这将使Internet上信息的价值得到极大的提升。

  P2P引导网络计算模式从集中式向分布式转移,也就是说网络应用的核心从中央服务器向网络边缘的终端设备扩散:服务器到服务器、服务器到PC机、PC机到PC机、PC机到WAP手机……所有网络节点上的设备都可以建立P2P对话。

  P2P给Internet的分布、共享精神带来了无限的遐想,有观点认为至少有100种应用能被开发出来,但从目前的应用来看,P2P的威力还主要体现在大范围的共享、搜索的优势上。P2P技术的一个优势是开发出强大的搜索工具。P2P技术使用户能够深度搜索文档,而且这种搜索无需通过Web服务器,也可以不受信息文档格式和宿主设备的限制,可达到传统目录式搜索引擎(只能搜索到20%~30%的网络资源)无可比拟的深度(理论上将包括网络上所有开放的信息资源)。以P2P技术发展先锋Gnutella进行的搜索为例:一台PC上的Gnutella软件可将用户的搜索请求同时发给网络上另外10台PC,如果搜索请求未得到满足,这10台PC中的每一台都会把该搜索请求转发给另外10台PC,这样,搜索范围将在几秒钟内以几何级数增长,几分钟内就可搜遍几百万台PC上的信息资源。

  基于P2P对等搜索理念的搜索技术会为Internet的信息搜索提供全新的解决之道。它使人们在Internet上的共享行为被提到一个更高的层次,使人们以更主动深刻的方式参与到网络中去。

  

XML可扩展标记语言

  XML将使Web的搜索非常方便。XML可扩展标记语言是Web数据使用的通用语言,具有结构化、规范性、可扩展性及简洁的特点。XML 能让开发人员将来自各种应用程序的结构化数据传送给桌面以在本地计算和表示。XML 允许为特定应用程序创建独特的数据格式,它还是结构化数据从服务器到服务器传输的理想格式。XML是在超级分布式系统之间实现多数据集传输的一种手段。它同时可以使开发人员以更具价值的新型方式聚集和组合各种来源的数据。XML将成为Internet上最重要的基础性语言。

  XML通过DTD定义了文档的词法、语法和部分语义,XML规定了文档的表现形式,而XLink和XPointer定义了文档之间的关系,从而为基于Web的各种应用提供了一个描述数据和交换数据的有效手段。如果说,HTML提供了显示全球数据的通用方法,那么XML进一步提供了处理全球数据的通用方法。XML继承了SGML的强大功能,又充分采取了HTML的“易用”原则。它实现了国际性的媒体无关的电子出版,使工业界能够定义平台无关的数据交换协议,特别是电子商务中的数据交换协议。资源标注、编目和描述是信息查找的基础,结构化的资源(XML)和资源的描述框架(RDF)互相配合,将大大提高信息查找效率。XML简化元数据的提取工作,从而协助人们寻找信息,并协助信息生产者和信息消费者的相互发现。如果说在网络的支持下,HTML语言解决了在异构平台间传送数据和文档,那么,基于XML的VRML和SMIL解决了在异构平台间传送感受的可能性问题。使用XML,人们可以利用设备的智能去访问不同的网站,并对信息进行集中。XML使我们迈向将控制信息的权利交给那些需要信息的人们。由于所有文件都以XML格式存在,所有的用户都可以方便地查找和使用其中的信息,任何规模的文化机构都可以使用相同的工具与资源。内容供应者、合作伙伴和信息内容消费者可以高效地沟通和共享信息,这样就创造出了一种全新的协同工作模式。

  由于给网民提供更完美的搜索结果不仅仅需要新兴的技术支持,更涉及搜索技术的发展方向问题。下面笔者就搜索引擎的发展趋势谈几点个人见解。

  更方便易用的搜索

  搜索过程的方便易用,需要搜索服务提供更好的人机交互界面技术和关联式的综合搜索结果。

  1. 人机交互界面技术

  人机界面技术的不同往往使得搜索引擎表现出不同的特色。当前搜索引擎涉及的人机界面技术主要有四类:搜索请求提交技术、搜索结果表现技术、搜索向导技术、搜索行为分析技术。

  搜索请求提交技术中有几个很有用的技术,包括多语言查询技术、编码转换技术、模糊语义查询、精确语义查询以及采用自然语言的搜索请求提交界面。

  搜索结果表现技术包括搜索结果的准确度及相关度、搜索结果的母语评价等。

  搜索向导技术则纯粹是网站设计上的界面技术。它通过具有亲和力、易用的界面,即时的帮助来方便网民的搜索。

  搜索行为分析技术的核心是跟踪、分析用户的搜索行为,充分利用这些信息来提高用户的搜索效率。搜索行为分析技术提高搜索效率的途径主要有两种:群体行为分析和个性化搜索。

  2. 关联式的综合搜索

  以往的搜索经验大都是在甲网站找图片,到乙网站找新闻,到丙网站找股票资讯。这种方式十分麻烦而浪费时间。那为何不考虑将这些图片、新闻、股票等等各种有关联的信息整合在同一界面,让网民一次查询,全部满足呢?所谓关联式综合搜索就是这样一种一站式的搜索服务,它使得网民在搜索时只需输入一次查询目标,即可在同一界面得到各种有关联的查询结果。这项服务的关键在于有一架构建在XML基础上的整合资讯平台。

更精确的搜索

  搜索引擎技术本身一个最重要的发展方向是提供更精确的搜索。要想大幅度地提高搜索引擎的效率和搜索结果准确度,应考虑这样几个方向:智能化搜索、个性化搜索、结构化搜索、垂直化搜索、本土化搜索等。

  1. 智能化搜索

  准确的搜索应建立在对收集信息和搜索请求的理解之上,也就是说,必须处理语义信息。显然,基于自然语言理解技术的搜索引擎,由于可以同用户使用自然语言交谈,并深刻理解用户的搜索请求,因此查询的结果也更加准确。

  2. 个性化搜索

  提高搜索精确度的另一个途径是提供个性化的搜索,也就是将搜索建立在个性化的搜索环境之下,通过对用户的不断了解、分析,使得个性化搜索更符合每个用户的需求,而不仅仅是准确。

  3. 结构化搜索

  所谓结构化搜索,是指充分利用XML等技术使信息结构化,同时使查询结构化,从而使搜索的准确度大大提高。

  4. 垂直化专业领域搜索

  由于社会分工的加大,网民从事的职业有很大不同,不同网民对信息搜索也往往有自己的专业要求。比如信息技术类从业人员最希望有面向信息技术的专业搜索引擎,金融证券从业人员则希望使用金融证券类的搜索引擎。从调查结果看:一半网民认为目前搜索引擎死链接太多,四成以上的网民认为目前的搜索结果中不相关信息太多,而专业垂直引擎可解决以上问题,它只针对某领域,可保证此领域信息的收录齐全与更新非常及时。另外,六成左右的网民认为面向某领域的搜索引擎非常或比较重要。

  垂直类搜索引擎面向某一特定专业领域,专注于自己的特长和核心技术,保证了对该领域信息的完全收录与及时更新。因此,基于专业领域的“垂直搜索引擎”开始成为搜索引擎发展的一个新趋势。

  专业化的搜索引擎在提供专业信息方面有着大型综合引擎无法比拟的优势。专业搜索引擎和专门信息搜索引擎所采用的基本技术同综合引擎一样,而且基本上都是成熟的技术(某些专门信息搜索引擎可能还需要一些特殊技术),它们的发展没有技术障碍,同时正符合了Internet发展的一个趋势:Internet将更专业化、分工更细。

  5. 本土化的搜索

  世界上许多著名的搜索引擎都在美国,他们以英语为基础,完全按他们的思维方式和观点搜集和检索资料,这对于全球不同国家的用户来说显然是不适合的。各国的文化传统、思维方式和生活习惯不同,在对网站内容的搜索要求上也就存在差异。搜索结果要符合当地用户的要求,搜索引擎就必须本土化。 以上我们大致了解了一些新兴技术在搜索技术中的应用以及搜索引擎的发展趋势。随着搜索技术的不断完善与发展,我们有理由相信将来的搜索引擎一定会朝向更方便易用的人机界面,更准确的搜索结果方向发展。

文章相关课程 基于Lucene4.6+Solr4.6+Heritrix1.14+S2SH实战开发从无到有垂直搜索引擎

时间: 2024-08-31 16:30:27

最有前途的软件开发技术——搜索引擎技术的相关文章

中文搜索引擎技术揭密:排序技术-搜索引擎技术

     随着"眼球经济"席卷互联网,成千上万的资金迅速流向最能吸引浏览着眼球的搜索引擎市场.有大量调查显示搜索引擎市场正处在高速发展时期,成为了未来几年内最具发展潜力的产业之一.随着Google.百度.中国搜索等各具特色的搜索引擎逐渐成为人们最常用的网络工具,企业对搜索引擎的注意力也从"观察"升级为"动武".     随着市场容量和使用者人数的不断激增,如何完善搜索功能使之更加公平.公开.标准和人性化也就随之成为了一个备受关注的话题.但是有一个

搜索引擎中的“自动转向”技术-搜索引擎技术

      一:什么是自动转向技术(Auto-Redirecting)?       自动转向,也叫自动重定向.自动跳转,指当访问用户登陆到某网站时,自动将用户转向其它网页地址的一种技术.转向的网页地址可以是网站内的其它网页,也可以是其它网站.       通常情况下,浏览器会收到一个网页,该页面含有自动加载一其它网页的代码.该页面有可能在服务器端被转换,这样的话,浏览器只收到一个页面,而自动转向往往意味着浏览器收到的页面具有自动将访问用户送至其它页面的功能.      对自动转向技术的合理应用

搜索引擎垃圾技术-搜索引擎技术

搜索引擎垃圾技术是利用不道德的技巧去提高自己搜索引擎上的排名.不诚实的网站管理员就是利用这样的手段去欺骗搜索引擎从而获得较高的排名.这样的做法会让你的网站在短期内排名得到提高,但是后果却是十分严重的.有可能导致搜索引擎把你的网站从他的数据库里永久删除!以下是九个经常使用到的搜索引擎垃圾技术: 1. 隐藏文本:利用文本与背景色的相同来达到隐藏关键字的目的.这样,用户是看不到这样字,不影响用户的正常阅读,但是搜索引擎却一目了然.这是一种最常用的搜索引擎垃圾技术.2. 重复关键字:经常与隐藏文本一起使

搜索引擎优化—“自动转向”技术-搜索引擎技术

什么是自动转向技术(Auto-Redirecting)? 自动转向,也叫自动重定向.自动跳转,指当访问用户登陆到某网站时,自动将用户转向其它网页地址的一种技术.转向的网页地址可以是网站内的其它网页,也可以是其它网站. 通常情况下,浏览器会收到一个网页,该页面含有自动加载一其它网页的代码.该页面有可能在服务器端被转换,这样的话,浏览器只收到一个页面,而自动转向往往意味着浏览器收到的页面具有自动将访问用户送至其它页面的功能. 对自动转向技术的合理应用包括:将用户转向到指定浏览器的网页版本:当网站的域

Raghuraman认为软件开发是一种艺术,而不是一门科学

你可以学习软件开发的各种技术,不过还需要对编码有着充分的热情.如果你是这样的人,那么就可以成为"伟大的开发者".Raghuraman列出了优秀的开发人员应该具有的态度: 态度1:缺陷表明我编写优秀代码的能力出现了问题 修改缺陷是软件开发人员的日常活动.显然,缺陷是开发人员最大的敌人.当修改缺陷的时候,又有多少人能想到以下几点呢: 起初的时候,我能做些什么来避免这个缺陷呢? 我怎么能让这个缺陷逃过我的眼睛呢? 好了,既然问题已经产生了.我下次该如何避免相同的错误呢?下一步该做些什么呢?

《软件工艺师:专业、务实、自豪》一2.7 敏捷软件开发与软件工艺的关系

2.7 敏捷软件开发与软件工艺的关系 经常有人误解软件工艺,认为它与敏捷开发是互斥的,是用来取代敏捷开发的.事实完全不是这样,它们能相互补充.时下的敏捷开发可以给软件组织及软件行业提供一套新思路.敏捷开发方式关注软件产品的价值.提倡根据价值排定优先级.简化繁琐的规章制度.减少浪费.扩大开发人员的参与范围,并提供快速反馈.这使得公司能够更迅速地应对变化,从而变得更加敏捷.敏捷开发方式帮助软件公司做正确的事.而软件工艺则涉及软件开发的专业技术层面.软件工艺是一种理念,许多开发者采用这种理念来激励自己

Chris Dixon:软件吞噬软件开发

摘要: 软件正在吞噬世界,而且吞噬世界所需要的团队越来越小.Whatsapp仅靠几十名工程师就颠覆了全球的短信业务.小团队能够取得如此大的影响,得益于近几十年来迅速发展的软件开发和 软件正在吞噬世界,而且吞噬世界所需要的团队越来越小.Whatsapp仅靠几十名工程师就颠覆了全球的短信业务.小团队能够取得如此大的影响,得益于近几十年来迅速发展的软件开发和部署技术.其中改善比较显著的包括以下几点: 基础设施:十年前,部署一个商业网站需要很大的前期投资.现在,你只需要花几分钟时间配置一下虚拟主机就可以

评审技术在高质量软件开发中的应用分析(下)

接评审技术在高质量软件开发中的应用分析(上) 三.评审在高质量软件开发的实际应用 3.1 高质量软件开发项目介绍 高质量软件,如电信软件.金融证券类软件等,有较严格的要求:可用性要求非常高,并且不会因为系统维护和扩展而带来运营中断:支持使用现有管理工具和标准进行远程管理:能够提供更出色的性能以及运营在高可用性集群上的能力,减少任何单点的软硬件失效现象.五个九(99.999%)意味着一个系统的宕机时间一年不超过5分26秒.因此高质量软件项目是一种对可用性.可靠性.稳定性要求非常高的软件项目,要求软

《基于模型的软件开发》——1.4 技术革新

1.4 技术革新 在OO范式之前,即使是编程的"黑暗时代",也并非一片混沌.学术界一直致力于调整数学运算使其能够应用于计算环境下的实践.经过认真思考,学术界提供了一种数学通用语言作为软件开发的基础.这是一个特别适用于计算环境的理论和模型集合.今天这些数学运算仍然是软件开发时一切工作的基础. 本书的重点为软件开发的工程方法,因此不会涉及很多理论.然而,主要的相关数学元素以及它们对软件开发的影响很值得用几个小节高屋建瓴地描述.因为这些理论现在仍然存在于OO范式背后,尽管是以一种非常隐秘的方