凌駕於演算法之上:搜尋體驗的優化
我們生活在演算法的黃金年代。儘管我們擁有搜尋引擎、語音識別以及計算機視覺系統等技術長達數十年,但也只是在最近幾年中它們才變得足夠的優秀,好到可以走出實驗室,並應用於我們日常使用的工具中,像 Google Now
(谷歌即時資訊,一款由谷歌開發的智慧個人助理),Siri(蘋果iOS系統中的人工智慧助理)以及Cortana(微軟為Windows Phone開發的智慧個人助理)。
儘管我們的演算法已經很優秀,它們仍然可能通過更好的人機互動進行改進。特別是,如今大部分搜尋引擎都追求基於一次性互動的優化,而不是讓人們參與到人機對話中來提高搜尋體驗。
在過去的十年中,資訊科學家們一直提倡和擁護在資訊尋找過程中讓人們參與到更有意義的層面上來。尤其是,來自北卡羅來納大學教堂山分校資訊與圖書館系主任加里•馬查尼尼(Gary Marchionini),他提倡“人機資訊檢索系統”來提高使用者的責任和掌控力。
這聽上去是個不錯的主意。但是我們如何實行呢?
將搜尋視作對話:基於交流的優化
自從比爾•馬龍(Bill Maron)和拉力•庫恩(Lary Kuhns)在1960年發表了他們的里程碑式的論文《關聯性、概率檢索和資訊檢索》。搜尋引擎嘗試去判定集合中的哪些文件是和使用者相關的,並將搜尋結果基於相關性由高到低降序排列。之後的五十多年,大部分人理所當然的認為搜尋引擎一直是這樣做的。但是科技的發展使得這一方法變得過時了。現在,搜尋引擎可以向使用者反饋與其自身相關的問題。舉例來說,在亞馬遜上搜尋“松露”會返回相關的結果,此外還會建議“巧克力松露”和“松露油”作為備選搜尋。搜尋引擎也可以在使用者查詢輸入的過程中提供查詢建議甚至是立即給出答案。(比如說谷歌即時搜尋Google Instant)。理想的搜尋引擎是一個會話夥伴,它知道什麼時候答案對使用者來說已經足夠,什麼時候需要使用者進一步的說明。
對話模型的應用使得對搜尋引擎質量的關注點從結果的相關性轉移到交流的有效性。傳統的搜尋質量評估指標,比如“折扣累積收益”假設了一種搜尋引擎一次就可以給出最佳結果的模型。然而,如今使用者擁有了進一步進行互動的機會,所以我們需要衡量其他的因素,比如使用者能夠多準確的理解為何搜尋引擎返回這些特定的結果、搜尋引擎給使用者提供了多有效的控制權,以及搜尋引擎引導進一步搜尋機會的有效性等。換句話說,也就是改進搜尋質量意味著提高搜尋結果的透明度、使用者的控制力以及對使用者的引導能力。
我們已經看到這方面的初步進展:谷歌和必應上的搜尋結果摘要所提供的透明性,大部分電子商務網站上由分面搜尋帶來的控制力和引導。但是我們還有更多可以做的。
聰明一點,但是不要犧牲可預測性
優化交流溝通的一個必然結果是我們的搜尋引擎不應該太過聰明以至於給出那些會破壞使用者肌肉記憶的不可預測的搜尋體驗。
比如說,如下面的截圖所示,在谷歌上搜尋“let it be 歌詞”,返回將這首披頭士經典曲目的歌詞顯示在最上面的搜尋結果。但是搜尋“let it go 歌詞”並不會返回這樣一個介面元素,儘管這首迪斯尼歌曲非常流行並且它的歌詞到處可見。也許這一區別有一個很合理的原因,但對使用者來說並不是顯而易見的。介面元素不應該以不可預期的方式出現或消失,儘管有時候這一行為反映了基於某些規則的結果優化。
在谷歌上搜尋"Let it Be" 和 "Let it Go" 歌詞的搜尋結果截圖
我並不是建議我們完全不發揮我們的演算法的功效,而是說我們需要在我們的決定中將可預見性作為一個顯式的因素來考慮。這是優化交流的核心關鍵。
幫助使用者提出好的問題,而不是盡力去回答不好的問題。
傳統的搜尋方式是傳送一個查詢,獲得一堆結果,將它們進行評分並且由高到低依次排序並返回搜尋結果列表。而現代搜尋引擎通過使用基於機器學習的排名方法來實現這一傳統行為。毫無疑問,實現健壯的結果排名是重要的,但是更好的方法是通過幫助使用者提出更好的問題從而在搜尋的更早階段提高搜尋質量。
搜尋引擎正在越來越多的投資在“查詢理解”,從而幫助使用者更確切的表達所需要的查詢。查詢理解的相關成果包括拼寫校正、查詢重寫、智慧搜尋建議等。一個普遍的趨勢是幫助使用者得到一個結構化的查詢,從而可以降低語言固有的模糊性並且更精確地表達對於資訊搜尋的意圖。我們來看一下領英上的這個搜尋行為,在搜尋框中輸入“micr”會觸發諸如“Microsoft的職位”以及“在Microsoft工作的人們”等搜尋提示。
在領英上輸入“micr”觸發的截圖
提供一個搜尋框,但是將搜尋體驗分段
我們已經習慣於使用通用搜尋引擎,並且大部分面向消費者的搜尋引擎都只向使用者呈現一個搜尋框,希望這一個框可以解決使用者所有的資訊搜尋需求。但是,只有一個輸入入口並不意味著所有的搜尋都應該有相同的搜尋體驗。
我們來看一下已知項搜尋,即使用者知道自己想要找的是什麼。這類搜尋與開放式探索式搜尋是完全不同的。就算是在同類的搜尋中,不同的垂直分類需要的是不同的搜尋體驗。這就是為什麼當使用者在亞馬遜上搜尋“代數”和“舞鞋”會有非常不同的搜尋體驗。
在亞馬遜搜尋“代數”和“舞鞋”的不同結果的截圖
這裡的訣竅在於將搜尋體驗基於搜尋查詢的理解進行分段化。查詢理解發生在獲取結果或對結果進行排序之前,在這一過程中搜尋引擎建立起使用者正在搜尋什麼種類的結果、使用者是否已經知道了一些特定的結果或者使用者是否只是想簡單的探索查詢的多種可能性。查詢理解使得搜尋引擎可以從單個使用者輸入介面接受查詢之後將使用者轉發到恰當的搜尋體驗分段。
意識到最佳搜尋結果並不足夠好
搜尋引擎旨在交付盡力而為的體驗:它們獲取結果並根據排名依次由上而下返回結果。這樣很好,除非這樣做並不是最佳的。不幸的是,如今的搜尋引擎缺乏自我意識來感知到它們提供的所謂最佳結果並不足夠的好。舉例來說,在這麼多年之後,谷歌對這類搜尋仍然沒有應對之策。當我搜尋“NLP”時,我指的是自然語言處理(natural language processing)並不是神經語言處理(neuro-linguistic processing),如下圖所示:
在谷歌搜尋“NLP”返回的搜尋結果截圖
查詢效能預測相關的各領域在資訊檢索社群中得到越來越多的關注。各種各樣的技術使得搜尋引擎在搜素結果獲取之前和之後都可以評估查詢的難易程度。識別查詢的難易度使得搜尋引擎可以返回更簡潔的搜尋體驗,甚至是簡單到告訴使用者:很抱歉我們不確定搜尋引擎瞭解這次搜尋的真正目的。一個經典的例子是,當搜尋引擎詢問使用者,“你是不是要找……”,一個在谷歌流行起來並被廣泛應用的問詢模式。
查詢效能預測也可以是更積極的方法的一部分。當搜尋引擎要決定如何解釋一個搜尋查詢或提出其他的可選搜尋建議,它應該用查詢效能預測對搜尋的可能性空間進行剪枝。這是一大片未開發的領域,演算法和介面創新的時機已經成熟。
最後,我們要重新審視我們是如何評估搜尋引擎的。互動式資訊檢索系統的效能評估是一個熱點研究領域,它將資訊檢索和人機互動的世界合而為一。而改進我們的系統的第一步就是改進我們評估它們的方法。
要明白,提高智力勝過人工智慧
正如我在本文一開始所述,我們生活在一個演算法的黃金年代。資訊檢索領域各方面的進展是非常驚人的。我們比任何時候都更接近於實現上一輩人僅在科幻小說中見到的那種人工智慧系統。
但是我們不要忘記搜尋是人和機器協同完成的。正如已故的道格•英格巴特(Doug Engelbart)所說的,解決問題最有效的方法是用計算來提高人類的智力水平。換句話說,最好的搜尋引擎可以幫助和引導使用者,使得使用者可以幫助搜尋引擎優化自身。
作者:丹尼爾•頓克朗(Daniel Tunkelang)
丹尼爾•頓克朗是萊拉健康(Lyra Health)公司的CTO,該公司致力於心理健康護理的轉型。之前他曾經在領英任職資料科學工程的總監,他也曾在谷歌帶領一個搜尋質量團隊。他曾是恩徳加(Endeca)公司的創始員工之一,該公司2011年被甲骨文公司收購。他寫了一部關於面搜尋(faceted search)的教材,是人機互動和資訊檢索(HCIR)的知名倡導者。他曾在四次Strata會議上發言,是《大資料》期刊的編輯委員會成員。他擁有卡內基梅隆大學的電腦科學博士學位,以及美國麻省理工學院的學士和碩士學位。
閱讀原文(read more) 獲得更多資訊。
相關文章
- BookStack v1.6 釋出,實現全文搜尋並優化體驗優化
- 直播軟體搭建,利用精準搜尋最佳化使用者搜尋體驗
- 搜尋引擎優化(SEO)優化
- solr搜尋分詞優化Solr分詞優化
- 微信全文搜尋優化之路優化
- 搜尋結果頁優化優化
- 基本演算法——深度優先搜尋(DFS)和廣度優先搜尋(BFS)演算法
- 【演算法】深度優先搜尋(DFS)演算法
- 啟發式搜尋的方式(深度優先,廣度優先)和 搜尋方法(Dijkstra‘s演算法,代價一致搜尋,貪心搜尋 ,A星搜尋)演算法
- Windows搜尋功能最佳化:啟用全新Related解決和改善Windows搜尋體驗Windows
- conversity:社交媒體以及它對搜尋引擎優化的作用優化
- 關於 SAP 產品 UI 的搜尋引擎優化 SEO - Search Engine OptimizationUI優化
- 百度和優酷的搜尋體驗改善,類似Google Instant搜尋Go
- 機票垂直搜尋引擎之效能優化優化
- 搜尋引擎優化內容及方法優化
- 任意列搜尋之列儲存優化優化
- Meta 標籤與搜尋引擎優化優化
- 網站搜尋引擎優化問題網站優化
- 0基礎學演算法 搜尋篇第一講 深度優先搜尋演算法
- 苗大東:京東基於強化學習的電商搜尋排序演算法強化學習排序演算法
- 演算法筆記(廣度優先搜尋)演算法筆記
- 深度和廣度優先搜尋演算法演算法
- 深度優先搜尋演算法-dfs講解演算法
- 《圖論》——深度優先搜尋演算法(DFS)圖論演算法
- 深度優先搜尋演算法(DFS)講解演算法
- 0演算法基礎學演算法 搜尋篇第二講 BFS廣度優先搜尋的思想演算法
- 基於 SAP Spartacus 的 SAP 電商雲 SEO 搜尋引擎優化的一個例子優化
- 基於策略搜尋的強化學習方法強化學習
- Flutter 網路搜尋引擎SEO優化友好Flutter優化
- Nebula 基於 ElasticSearch 的全文搜尋引擎的文字搜尋Elasticsearch
- 詳細說明搜尋引擎優化的過程優化
- Econsultancy:站內搜尋優化的5點提示優化
- 深度優先搜尋(DFS)思路及演算法分析演算法
- 演算法競賽——BFS廣度優先搜尋演算法
- 【演算法】廣度/寬度優先搜尋(BFS)演算法
- 尋路之 A* 搜尋演算法演算法
- 演算法(三):圖解廣度優先搜尋演算法演算法圖解
- 圖的廣度優先搜尋和深度優先搜尋Python實現Python