我们几乎每天都在使用百度、谷歌等搜索引擎,不过在实际使用中,大家是不是觉得这些搜索引擎仍然不够智能?如百度和谷歌对自然语言的搜索结果效率就比较低,搜索的结果往往和我们实际搜索意愿不符。为了解决这个问题,“深度搜索”技术应运而生了。
在了解深度搜索之前,我们先来了解一下什么是搜索.搜索过程简单理解就是用户键入搜索关键字,然后搜索服务器返回符合关键字要求的结果,这样一个交互过程。提供搜索服务的主体如百度、谷歌服务器,或者系统自带的搜索服务。它首先根据用户经常搜索的关键字对搜索资料建立索引,当用户键入的关键字符合索引要求时,就将数据库中所有符合要求的结果展示给用户选择。
虽然搜索过程看似简单.但是在实际使用中服务器返回的搜素结果却经常不如人意。比如在实际使用中我们经常要进行组合搜索,比如要在文档库中搜索包含“A”或“B”关健字的文章,此时就要用到高级搜索语法。对于一般用户来说,高级搜索语法显得晦涩难懂,作为普通用户,他们更倾向于使用自然语言进行搜索,现在深度搜索即可解决这些传统搜索引擎遇到的难题。
在结果中筛选的“分面搜索”
经常在淘宝购物的朋友都会使用淘宝提供的搜索服务,比如我们想购买价格最低并且包邮的小米手机,一般就在搜索框直接输入“小米手机”然后勾选价格从低到高排序和包邮,这里的“价格排序”和“包邮”选项就是过滤条件,这样可以更精确地得到我们需要的结果。
在搜索术语中,淘宝提供的就叫分面搜索(Faceted Search ),它可以实现更精准的搜索。深度搜索使用类似的分面搜索技术,但是那些过滤条件是内置在搜索引擎中的,而不是像淘宝那样显示放置在搜索页面中。深度搜索引擎具有卓越的检索词解析和自然语言理解能力,用户输入简单的搜索关键字,深度搜索则返回更接近用户需求的搜索结果。比如虽然直接输入的只是“小米手机”,但是返回的结果中默认会按价格排序,并且包含包邮选项。当然这些都是分析的结果,深度搜索服务器需要分析大量用户的搜索习惯,然后将最佳结果推送给用户。
为搜索资料做深度索引
资料的索引是搜索的基础,搜索服务器必须为被搜索的资料建立详细的索引。传统的搜索引擎建立的索引包含的倍息不够丰富,比如通过传统搜索引擎搜索一场演唱会的信息,一般得到的搜索结果就是演唱会举办地、价格、参加明星等信息。
不过对于深度搜索,它建立的索引信息就要复杂得多,除了上述信息外还要分析很多元素,比如乐队以前的演出内容是否和最新演唱会类似?人们是否喜欢以前的演出?乐队粉丝呈现什么样的人口分布?演唱会会场如何等。深度索引通过建立搜索资料详尽的索引信息来满足用户的搜索需求。当然具体包含哪些索引信息,需要搜索服务器很据用户的地理信息、人口特征、兴趣点信息和位置数据库,以及社交网络等进行分析和处理。这样用户只要在前台简单输入“XX演唱会”作为搜索关键字,其他关于该演唱会的丰富索引信思,会全部被纳入深度搜索服务器的后台运算当中,从而给用户返回一个丰富而适当的搜索结果,比传统搜索要精确得多。
深度理解用户的搜索企图
深度搜索引擎在前台只需要用户使用他们熟悉的自然语言进行搜索,这样后台服务器就需要有强大的自然语言学习能力,涉及到查询解析和自然语言理解技术。比如用户输入“哪一家餐厅适合Mike的结婚周年纪念日”作为关键字进行搜索。搜索引擎首先要理解用户搜索需求,比如上述例子,深度搜索要先解析出是“Mike结婚纪念日”+“餐厅”,解析出结果后,搜索引擎就需要在后台进行分析并推送检索结果。
但是深度搜索并非像传统搜索那样,直接推送XX餐厅。它使用了深度查询,比如会分析谁在搜索(如从搜索关键字判断可能是Mike的朋友)? 他们在哪(可以通过IP地址确定)? 天气怎样? 他们过去搜索了什么? 他们的亲人朋友是谁等因素进行后台复杂的分析,然后向用户推送查询结果。
文章评论 本文章有个评论