需求分析设计:框计算中的需求分析实例
框计算的目标是为用户提供基于搜索框的一站式搜索服务。举例来说,当用户在搜索框中输入“非诚勿扰”时,系统就能明确该query有寻求电视节目视频、电影视频、查找影评、参与讨论及查看相关新闻等需求,然后将这些不同的需求分配给最优的内容资源或应用进行处理,最终精准高效地将满足这些需求的结果展现给用户。图1展示了“框”对query“非诚勿扰”的满足情况。从上面的分析中,我们不难看出,框计算的第一步,就是识别出一个query具有哪些需求,而这正是需求分析要完成的任务。
图1 “非诚勿扰”的框计算结果
需求分析是框计算的入口,因为只有分析出query的需求,才能更好地展现出相应的结果来满足用户的需求。因此对query的需求分析得越准确、覆盖的query准多,用户的满意度则越大。需求分析是框计算中最重要也是难度最大的地方之一。
识别query的需求,最容易想到的方法是查词表。比如将所有的电影、电视剧名都事先收集起来,放到词表中,只要用户输入该词表中的词,就能识别出一个query是否有寻找视频的需求。这种方法的优点是快,但缺点非常明显:首先,这种方法只能将query划分为2个维度,要么有视频需求,要么没有视频需求。但很多视频的名字,具有多方面的含义,在视频上面只是其中一个微弱的含义,如果直接出视频需求,则会极大地伤害用户。比如,有一个广告片的名字叫“百度一下”,这个广告片可能60%以上的用户都不熟悉,如果这60%以上的用户输入“百度一下”,直接给出一个名为“百度一下”的视频观看结果,则这60%以上的用户会感觉非常困惑。其次,这种方法不能很好地满足大部分用户的需求。用户在寻找视频时,表述方法是多种多样的,比如:士兵突击全集、士兵突击 高清、士兵突击全集在线观看等,这3个query都具有强烈的寻找视频需求,但通过查表的方法,却无法识别出该需求。再次,这种方法对电影、电视剧外的视频需求无法满足。有视频需求的往往不止电影、电视剧,流行或新闻时效性的很多东西,都具有强烈的视频需求。比如:西单女孩、中关村男孩、钓鱼岛撞船、朝韩炮击等,多数用户往往都有查看相关视频的需求。最后,这种方法缺乏预测性,识别出的query数量有限。即对于词表中的词条,能够识别出视频需求,但词表外词条,无法识别出视频需求。因此,如果词表的规模为N,则最多只能识别出N个query具有视频需求。
从上面的分析中,我们可以总结出,一个好的需求分析方法,至少要满足如下需求:1)具有很高的准确率以及召回率,即能在识别出90%以上query需求的同时,又能保证识别出来的需求,95%以上都是正确无误的;2)具有良好的预测能力,即能够准确地预测出未知query的需求;3)具有识别需求与解析字段功能,即在识别出query需求的同时,还能高效地从中解析出所需信息。
下面是几个典型的例子。通过这些例子,大家就能对需求分析要完成的任务有一些大体的了解了。
在图2中,需求分析需要完成的任务就是解析出query具有汇率转换的需求,并解析出数额56.7,以及源货币为美元,目标货币为人民币。
图2 直接展现汇率结果
在图3中,需求分析需要识别出该query具有查找火车时刻表的需求,并解析出起点站为北京,终点站为上海。进而直接为用户展现出从北京到上海的火车时刻表,极大地方便了用户获取相关信息。
图3 直接展现火车车次相关信息
图4、图5分别展示了需求分析如何通过识别出query具有查找生僻字以及单位换算的需求,并直接给出答案的过程。这个过程对用户而言是不可见的,但是对系统而言,却需要进行一系列复杂的识别、解析与展现。
图4 满足生僻字查询需求
图5 满足单位换算需求
图6显示了需求分析识别出了用户的query具有寻求招聘职位信息的需求,并解析出公司名,职位2个字段,而后系统直接从相关数据源中检索出所需职位展示给用户的示例。
图6 满足用户搜索招聘职位需求
从上述分析与示例中可以知道,query需求分析的目标是识别出query的意图或感兴趣的领域,并从中抽取出所需字段。要完成这项任务,是一件非常有挑战性的工作。首先,用户query表述方式的多样性给需求分析带来了不少困难。比如,关于寻找天气这一种需求,用户就有上百种不同的表达方式。其次,相近query可能具有截然不同的需求。比如:“从北京到上海车距”与“从北京到上海车票”,前者具有较强的自驾需求,而后者具有较强的火车时刻查询需求。而同样为明星,王菲、张学友,都具有强烈的视频、图片等需求,而李开复、张亚勤等科技明星,从用户的需求来看,最强烈的需求是寻找百科信息,而非视频、图片。最后,用户输入的query往往使用自然语言进行表述,有时还包含缩略与拼写错误,比如:5新加坡元=?美元、5人名币等于多少美元等。这些客观存在的问题,都加大了需求分析的难度。
为更好地满足用户各式各样的需求,强大的需求分析是必须具有的。百度框计算的需求分析,是通过对query的语义分析,结合用户行为分析以及海量计算技术实现的。通过各种手段评估,目前已经达到了很好的效果。举例来说,通过对一天几百亿次用户检索query的分析,使用机器学习的方法,我们就能自动从中学习出用户的各种惯用或冷僻的表述方式,再结合语义分析、信息抽取等技术,就能准确高效地实时识别出query的需求并解析出所需信息,为广大网民提供最便捷的搜索服务以及搜索体验。