百度应用开放平台以“框计算”技术和理念为基础,通过与广大优质应用开发者或版权运营者开放对接合作,为用户实现了“即搜即用”的一站式在线应用服务。它的推出,源于用户的搜索需求正呈现出新的发展趋势——分析百度的搜索关键词,我们发现,网民与应用相关的query数量正不断攀升,目前已经占到总搜索数量的30%。因此,推出应用开放平台,推动更多优质的应用资源与用户需求直接对接,是大势所趋,也是百度对“让人们更便捷地获取信息,找到所求”理念、不断提升用户搜索体验的最好诠释。

作为百度大开放平台体系的一部分,百度应用开放平台和早在08年就推出的百度数据开放平台(即阿拉丁平台)共同承担着为第三方提供专业的优质资源对接合作与运营平台的任务,是百度框计算技术架构中的一个重要组成部分,如下图:

 

要实现应用资源与用户需求的精准对接,如何解决用户需求的精准分析与智能识别是搜索引擎端的首要任务,这涉及query语义分析、用户行为分析、海量计算与智能人机交互等方面技术。而对于应用开放平台而言,则首先需要解决应用资源如何被提交上来并进入搜索引擎的索引信息库中。与传统应用开放平台类似,我们也是通过一个面向第三方的开发者后台,让第三方可以将各种优质资源的相关信息提交到百度应用开放平台中。但与传统应用开放平台不同的是,首先,我们所面向的第三方并不仅仅局限于有技术开发能力的应用开发者和服务提供商,还面向广大的无技术开发能力的版权内容资源(如书籍类内容、音视频类内容等)提供者,针对后者,平台通过提供各种资源封装工具来帮助其在平台上自动生成应用。其次,因为通过搜索引擎与用户对接的应用更多的时候是面向非登录用户的,必须解决应用相关信息及应用内可能存在的不良信息的可传播扩散化问题,因此我们的平台与传统的仅面向登录用户的应用平台有一个很大的不同点,就是所有应用信息都是双版本维护的,第三方可以随时修改应用相关信息,但其修改内容在未被后台审核通过之前,都只对管理员、第三方自身及其指定账号可见,普通用户所看到和使用的都是经过严格审核并通过后的版本。

应用通过开发者后台被提交上来并通过机器+人工严格审核后,其相关信息(包括其可满足的用户需求的需求匹配规则表达式等信息)会被搜索引擎端的Spider通过sitemap协议定期抓取走,这些信息经过严格的数据Scheme校验后,最终流入一个面向应用的mini垂搜系统的建库端做结构化数据的存储和索引工作,从而完成应用开放平台与搜索引擎的对接,其数据流示意图如下图所示:

 

接下去,就是要解决应用如何展现给用户的问题。与传统应用开放平台不同的是,除了通过单独的完整页面来展现用户确定的应用,从框计算角度出发,我们更关注的是,如何通过搜索引擎将用户需要的应用展现给用户,以满足搜索用户越来越多的应用需求,这里面有很多问题需要解决。

首先是需求识别,需要通过语义分析、用户行为分析等技术识别出用户需求中是否有应用需求的存在,以及在有应用需求的情况下进一步识别其更细粒度的需求成分(如“红楼梦”这样的query就有书籍类需求和影视类需求等成分之分)及其需求强度的大小,这涉及到多个应用结果之间及应用结果与传统网页搜索结果之间的排序等问题。

其次是人机交互设计,如何让应用类搜索结果列表与传统搜索结果列表有机融合,以及在搜索结果列表这样一个有限尺寸的位置上完美地展现具有丰富交互性的应用,营造良好的用户体验,关系到在搜索引擎中出应用结果是否能够为用户所接受的问题。

然后是应用展现的内容如何获取并展现的问题。与传统搜索结果只展现摘要不同,应用搜索结果需要在搜索结果中直接展现其正文,而这些应用的正文大多数时候是完全动态的,无法通过目前的搜索引擎进行收录索引,需要在用户使用时实时获取。通过搜索引擎端服务器直接访问应用资源所在第三方服务来获取应用页面会直接影响搜索引擎自身的响应速度、吞吐量、后端服务压力等,因此一般来说,我们会采取异步的方式,搜索引擎只从自身索引库中返回与应用相关的基本信息,而应用正文则是根据搜索引擎返回的基本信息由浏览器端的代码再次发起一次http请求来获取,如通过IFrame的方式,这与传统应用开放平台的处理方式基本相同,如下图:

 

因为与搜索引擎相结合,因此多个应用结果之间的rank策略问题也是大多数第三方所关心的主要问题之一。与网页不一样,应用不存在所谓的pagerank或超链分析之类的概念,因此其rank策略必然与传统网页搜索结果的rank策略有很大不同的地方。事实上,百度应用开放平台更多的是基于用户行为、应用被使用情况的统计数据(如日有效用户量、有效运行量等)、应用自身的技术指标(如稳定性、响应速度等)等十几项数据指标来计算每个应用的初始rank值,同时根据用户需求识别过程中识别出来需求匹配度、需求强度以及同类资源聚合等原则对应用结果做最终排序。与传统网页结果类似,对于应用搜索结果,我们同样需要采取点击调权、应用初始权值补偿等方法来解决新加入平台的应用与老应用之间的公平竞争问题。

另外,因为搜索引擎具有快速传播的作用,如何有效监控第三方应用的稳定性及对出现稳定性问题的第三方应用的快速处理、合理退场机制,以及如何解决第三方应用的安全性问题,如何解决第三方应用页面的高度自适应等在传统应用开放平台中都应该解决但并不迫切需要解决的问题,在应用开放平台与搜索引擎相结合后,都会显得尤为重要。

by passport zhujianting