搜索 和 推荐,都是探索未知的方式。
如果说搜索是明确意图,“知道我不知道”;
那么推荐就是泛意图,“不知道我不知道”。
搜索和推荐就像是一把尺的两端,只有明确度的差异,而没有严格的不同。从服务理解的角度来看,搜索和推荐是能够互通的。
我们可以将推荐理解为:并发检索了( 一个query集合、不同query下有权重差异性) 的搜索,从而实现推荐和搜索的认知统一。
比如,对于一个对网球感兴趣的用户,可以同时通过搜索和推荐来满足自己的信息获取欲:
他可以搜索“纳达尔”,从而得到一个围绕球星“纳达尔”的搜索结果集合;
他也可以浏览网球相关的频道,系统基于他过去的行为,抽离出{“纳达尔”、“法网”、“诺瓦克”}等一系列的Query,并辅以权重{“纳达尔”:0.9、“法网”:0.5、“诺瓦克”:0.3},从而得到一个综合的推荐结果集,其中和纳达尔相关的信息多些,和法网、诺瓦克相关的信息稍微少一些。
又如,这个用户搜索了“网球”。
在这个泛化的query下,用户的搜索结果列表,是否应该和他的网球频道的推荐列表保持一致呢?
在用户没有提供额外意图信息的情况下,这个结果是显而易见的。
从提供服务的角度来看,我们也试图泛化或收敛用户的意图:
在搜索中,我们会通过相关Query,来不断拓展用户的意图,从一个点远航到更广阔的天地。我们可以观察百度搜索引擎的做法,在百度中检索“网球”,页面底部会出现如“网球打法”、“网球培训班”的相关query推荐,页面右侧也会出现其他体育赛事的推荐。
而在推荐中,我们也在通过一次次的触探,来收敛用户的偏好,从广阔的天地中找到用户的舒适区。并在推荐中,提供了筛选、正负反馈等方式,来引导用户更多的主动表达,对自己的意图进行收敛。
进一步,在今天的搜索中, 早已经不是千人一面,所有人搜索同一个Query得到同一个结果了。而是会结合用户的过往行为,去找寻可以应用在搜索结果集的重排序依据。例如,在淘宝搜索连衣裙的例子,会结合用户的过往消费水平 和 消费习惯,进行搜索结果的重排序。这种过往行为的利用,甚至可能是跨品类的。比如,用户过往在鞋上的消费较高,那么可以预估他对于服饰类能够承受的价格也相对较高;如果他过往偏好于某一风格或品牌,那么当进行“连衣裙”这个品类的检索时,就可以优先展示对应的风格或品牌。
回到上文提到的“网球”的例子,如果用户过往有查看网球赛事的行为、有查看球星“纳达尔”的行为,那么当用户重复搜索的时候,查看网球赛事、查看球星“纳达尔”的行为就都应该成为这次搜索动作可以依赖的前置信息,从而提升用户的搜索体感。
积累用户更多的信息,正确的理解和归因信息,有效的泛化利用信息,就成为了有效迭代推荐和搜索的前置条件。
当然,用户永远是懒的,用户永远有好奇心。这就使得搜索一定会是少数人使用的高门槛操作,对于更多的人来说,推荐 和 泛化品类词的搜索才是更好的解决方案。