凌驾于算法之上:搜索体验的优化
通过更好的人机交互让搜索更加智能

我们生活在算法的黄金年代。尽管我们拥有搜索引擎、语音识别以及计算机视觉系统等技术长达数十年,但也只是在最近几年中它们才变得足够的优秀,好到可以走出实验室,并应用于我们日常使用的工具中,像Google Now(谷歌即时资讯,一款由谷歌开发的智能个人助理),Siri(苹果iOS系统中的人工智能助理)以及Cortana(微软为Windows Phone开发的智能个人助理)。

尽管我们的算法已经很优秀,它们仍然可能通过更好的人机交互进行改进。特别是,如今大部分搜索引擎都追求基于一次性交互的优化,而不是让人们参与到人机对话中来提高搜索体验。

在过去的十年中,信息科学家们一直提倡和拥护在信息寻找过程中让人们参与到更有意义的层面上来。尤其是,来自北卡罗来纳大学教堂山分校信息与图书馆系主任加里•马查尼尼(Gary Marchionini),他提倡“人机信息检索系统”来提高用户的责任和掌控力。

这听上去是个不错的主意。但是我们如何实行呢?

将搜索视作对话:基于交流的优化

自从比尔•马龙(Bill Maron)和拉力•库恩(Lary Kuhns)在1960年发表了他们的里程碑式的论文《关联性、概率检索和信息检索》。搜索引擎尝试去判定集合中的哪些文档是和用户相关的,并将搜索结果基于相关性由高到低降序排列。之后的五十多年,大部分人理所当然的认为搜索引擎一直是这样做的。但是科技的发展使得这一方法变得过时了。现在,搜索引擎可以向用户反馈与其自身相关的问题。举例来说,在亚马逊上搜索“松露”会返回相关的结果,此外还会建议“巧克力松露”和“松露油”作为备选搜索。搜索引擎也可以在用户查询输入的过程中提供查询建议甚至是立即给出答案。(比如说谷歌即时搜索Google Instant)。理想的搜索引擎是一个会话伙伴,它知道什么时候答案对用户来说已经足够,什么时候需要用户进一步的说明。

对话模型的应用使得对搜索引擎质量的关注点从结果的相关性转移到交流的有效性。传统的搜索质量评估指标,比如“折扣累积收益”假设了一种搜索引擎一次就可以给出最佳结果的模型。然而,如今用户拥有了进一步进行交互的机会,所以我们需要衡量其他的因素,比如用户能够多准确的理解为何搜索引擎返回这些特定的结果、搜索引擎给用户提供了多有效的控制权,以及搜索引擎引导进一步搜索机会的有效性等。换句话说,也就是改进搜索质量意味着提高搜索结果的透明度、用户的控制力以及对用户的引导能力。

我们已经看到这方面的初步进展:谷歌和必应上的搜索结果摘要所提供的透明性,大部分电子商务网站上由分面搜索带来的控制力和引导。但是我们还有更多可以做的。

聪明一点,但是不要牺牲可预测性

优化交流沟通的一个必然结果是我们的搜索引擎不应该太过聪明以至于给出那些会破坏用户肌肉记忆的不可预测的搜索体验。

比如说,如下面的截图所示,在谷歌上搜索“let it be 歌词”,返回将这首披头士经典曲目的歌词显示在最上面的搜索结果。但是搜索“let it go 歌词”并不会返回这样一个界面元素,尽管这首迪斯尼歌曲非常流行并且它的歌词到处可见。也许这一区别有一个很合理的原因,但对用户来说并不是显而易见的。界面元素不应该以不可预期的方式出现或消失,尽管有时候这一行为反映了基于某些规则的结果优化。

google_lyric_search-fb902e64b2ab2f9f05ba1c66d7acd146

在谷歌上搜索"Let it Be" 和 "Let it Go" 歌词的搜索结果截图

我并不是建议我们完全不发挥我们的算法的功效,而是说我们需要在我们的决定中将可预见性作为一个显式的因素来考虑。这是优化交流的核心关键。

帮助用户提出好的问题,而不是尽力去回答不好的问题。

传统的搜索方式是发送一个查询,获得一堆结果,将它们进行评分并且由高到低依次排序并返回搜索结果列表。而现代搜索引擎通过使用基于机器学习的排名方法来实现这一传统行为。毫无疑问,实现健壮的结果排名是重要的,但是更好的方法是通过帮助用户提出更好的问题从而在搜索的更早阶段提高搜索质量。

搜索引擎正在越来越多的投资在“查询理解”,从而帮助用户更确切的表达所需要的查询。查询理解的相关成果包括拼写校正、查询重写、智能搜索建议等。一个普遍的趋势是帮助用户得到一个结构化的查询,从而可以降低语言固有的模糊性并且更精确地表达对于信息搜寻的意图。我们来看一下领英上的这个搜索行为,在搜索框中输入“micr”会触发诸如“Microsoft的职位”以及“在Microsoft工作的人们”等搜索提示。

linkedin_micr-71bde8fdceccbe5a72ca8a7644ddb7be

在领英上输入“micr”触发的截图

提供一个搜索框,但是将搜索体验分段

我们已经习惯于使用通用搜索引擎,并且大部分面向消费者的搜索引擎都只向用户呈现一个搜索框,希望这一个框可以解决用户所有的信息搜寻需求。但是,只有一个输入入口并不意味着所有的搜索都应该有相同的搜索体验。

我们来看一下已知项搜索,即用户知道自己想要找的是什么。这类搜索与开放式探索式搜索是完全不同的。就算是在同类的搜索中,不同的垂直分类需要的是不同的搜索体验。这就是为什么当用户在亚马逊上搜索“代数”和“舞鞋”会有非常不同的搜索体验。

amazon_search_results-c0321da794bc4ab8c69e3bc222d2aeff

在亚马逊搜索“代数”和“舞鞋”的不同结果的截图

这里的诀窍在于将搜索体验基于搜索查询的理解进行分段化。查询理解发生在获取结果或对结果进行排序之前,在这一过程中搜索引擎建立起用户正在搜索什么种类的结果、用户是否已经知道了一些特定的结果或者用户是否只是想简单的探索查询的多种可能性。查询理解使得搜索引擎可以从单个用户输入界面接受查询之后将用户转发到恰当的搜索体验分段。

意识到最佳搜索结果并不足够好

搜索引擎旨在交付尽力而为的体验:它们获取结果并根据排名依次由上而下返回结果。这样很好,除非这样做并不是最佳的。不幸的是,如今的搜索引擎缺乏自我意识来感知到它们提供的所谓最佳结果并不足够的好。举例来说,在这么多年之后,谷歌对这类搜索仍然没有应对之策。当我搜索“NLP”时,我指的是自然语言处理(natural language processing)并不是神经语言处理(neuro-linguistic processing),如下图所示:

google_nlp_search-4f725def42cdd49b34219e90f44ccc66

在谷歌搜索“NLP”返回的搜索结果截图

查询性能预测相关的各领域在信息检索社区中得到越来越多的关注。各种各样的技术使得搜索引擎在搜素结果获取之前和之后都可以评估查询的难易程度。识别查询的难易度使得搜索引擎可以返回更简洁的搜索体验,甚至是简单到告诉用户:很抱歉我们不确定搜索引擎了解这次搜索的真正目的。一个经典的例子是,当搜索引擎询问用户,“你是不是要找……”,一个在谷歌流行起来并被广泛应用的问询模式。

查询性能预测也可以是更积极的方法的一部分。当搜索引擎要决定如何解释一个搜索查询或提出其他的可选搜索建议,它应该用查询性能预测对搜索的可能性空间进行剪枝。这是一大片未开发的领域,算法和界面创新的时机已经成熟。

最后,我们要重新审视我们是如何评估搜索引擎的。交互式信息检索系统的性能评估是一个热点研究领域,它将信息检索和人机交互的世界合而为一。而改进我们的系统的第一步就是改进我们评估它们的方法。

要明白,提高智力胜过人工智能

正如我在本文一开始所述,我们生活在一个算法的黄金年代。信息检索领域各方面的进展是非常惊人的。我们比任何时候都更接近于实现上一辈人仅在科幻小说中见到的那种人工智能系统。

但是我们不要忘记搜索是人和机器协同完成的。正如已故的道格•英格巴特(Doug Engelbart)所说的,解决问题最有效的方法是用计算来提高人类的智力水平。换句话说,最好的搜索引擎可以帮助和引导用户,使得用户可以帮助搜索引擎优化自身。

丹尼尔•顿克朗(Daniel Tunkelang)

丹尼尔•顿克朗是莱拉健康(Lyra Health)公司的CTO,该公司致力于心理健康护理的转型。之前他曾经在领英任职数据科学工程的总监,他也曾在谷歌带领一个搜索质量团队。他曾是恩徳加(Endeca)公司的创始员工之一,该公司2011年被甲骨文公司收购。他写了一部关于面搜索(faceted search)的教材,是人机交互和信息检索(HCIR)的知名倡导者。他曾在四次Strata会议上发言,是《大数据》期刊的编辑委员会成员。他拥有卡内基梅隆大学的计算机科学博士学位,以及美国麻省理工学院的学士和硕士学位。

A woman posed with a Hollerith pantograph: the keyboard is for the 1920 population card, and a 1940 census form. (source: U.S. National Archives and Records Administration on Wikimedia Commons).