一年多来,百度开放平台已经和400多家合作伙伴实现了合作,覆盖了人们出行、娱乐、商务、工作等方方面面。面对每天超过一亿次的海量搜索请求,如何精确地理解用户需求,将最优质恰当的资源用最优的样式展现给用户,这都需要一个优秀的检索架构来支撑。
对于一次检索请求,搜索框需要完成以下三步:
1.需求识别、精准分析
茴香豆的“茴”字有四种写法,而一个简单的天气查询需求却有上百种不同的表达形式,可见要准确的识别出用户的需求是一项很有挑战性的工作。
通过每天海量的检索请求,我们可以通过机器学习的方法将用户的各种表达方式,包括各地惯用的表达习惯和一些生僻的表达进行分析和学习。
百度框计算的需求分析,是通过对query的语义分析和户行为分析实现的。在拿到了大量的机器学习结果之后,通过语义模板、规则匹配等等方式实现了用户需求的精确识别。
2.从大量站长提交数据中取回用户所需
目前与框计算合作的站点已经达到了400多家,每天有上百个新资源提交申请。面对大量的站长数据,如何审核、配置、线上展示这些都有开放平台来管理。站长数据会经过抓取、分析、入库等环节然后被索引,等待用户检索。
对于用户的一次检索请求,经过了需求分析识别后,我们就能够根据分析找到满足需求的站长资源。从特定的索引库中取回检索结果后,可能会遇到同时有多个资源能够满足用户需求。我们还会对这些资源进行一个评价,将最为优质的资源放在最前面。
3.不同类型的数据用最恰当的方式展现给用户
针对不同类型的资源,我们用有针对性的样式展现给用户。我们来看一下几个特殊展现的例子:
对于站长来说,他可以在提交数据的时候自主决定使用怎样的样式来展现自己的资源,做到所见即所得。
对于用户来说,多样性可浏览化的搜索结果对于用户体验来说是很好的。
对于后台,我们是采用了一套通用的模板引擎来实现这样的效果,模板引擎实现了资源展现的预览、后台可配置、即插即用等功能。
---------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------
cite:http://stblog.baidu-tech.com/?p=354
--------------------------------------------------------------------------