電商搜尋演算法技術的演進

阿里技術發表於2018-12-05

作者簡介:青峰,搜尋推薦演算法技術負責人,阿里巴巴研究員

一 、淘寶搜尋的一些特點

淘寶有幾十億商品,掛靠在幾千個葉子類目,上百個一級類目,十幾個行業下面。如何能讓使用者找到符合意圖的商品,是淘寶搜尋需要解決的首要問題。

淘寶搜尋從大的架構或流程上來說,與傳統的搜尋引擎有不少相似的地方。包括對資料的整理、分析、索引產生索引庫,如何根據使用者輸入的關鍵詞在索引倒排表中進行檢索,完成商品與檢索之間的相關度評價,對將要輸出的結果進行排序,並實現某種使用者相關性反饋機制等。

當然作為電商的商品搜尋來說,它天然的商業屬性帶來的更多是自身獨特的技術特點。

從資料更新角度來看,淘寶的資料變化和更新非常快。每天大量的新商品資料被上傳到網站,一旦新商品被上傳,這個商品就需要被搜尋到。不像網頁搜尋,任何人可以釋出新的網頁,但是否被搜尋引擎收錄是另一回事。同時在淘寶每天有大量的商品不停地在做更新,包括商品標題描述的變化,商品價格的改變,商品圖片的更新,商品的上下架等等,這些變化也需要實時的更新到搜尋中,以便讓使用者及時找到更新後的商品資訊。而在全網搜尋中,很多網頁是靜態不變,網頁之間的相互關係也變化緩慢,大量索引的更新沒有類似淘寶搜尋這種實時性的需求。

從搜尋資料來源來看,淘寶商品的圖片在使用者研究和購買過程中起到了很大作用,搜尋的展現結果中有很大一部分被圖片所佔據。如何更有效地利用圖片的資訊,無論是根據圖片來做檢索,或是考慮圖片的質量,圖片與文字的相互關係等都是淘寶搜尋需要考慮和處理的。

另外一個特點是全鏈路特性。搜尋,比較以及購買都發生在淘寶站內,不像一般的全網搜尋引擎,使用者搜尋完後就跳離到其它網站,搜尋前和搜尋後的使用者行資料是很難拿到的。而在淘寶搜尋,使用者搜尋完後,會點選其中一些商品,然後比較這些商品,和賣家進行溝通,然後下單購買,或者返回來繼續搜尋,搜尋前,搜尋中和搜尋後的資料和資訊非常豐富,有全鏈路的使用者行為資料能幫助我們設計一個更好的搜尋排序演算法

最後更重要的一點淘寶是一個生態系統。而搜尋排序演算法的設計不只是體現了搜尋本身的技術追求,也包含了更多的商業訴求。在全網搜尋中,一般的網頁是不是被索引,被索引後是不是能展現,對網頁的擁有者來說並不是一個事關生活的決定點。在淘寶上則完全不同,很多商家依賴於淘寶來解決民生就業問題,網店的流量以及成交關係到很多人的生活。在淘寶搜尋的演算法設計中,既要考慮使用者的搜尋體驗,也要考慮商業規則來保障公平性和流量的分散性。很多的搜尋演算法原理,規則或演算法結果都會向賣家宣導,引導賣家向更好的方向發展。電商搜尋演算法技術的演進

二、搜尋演算法技術演進

作為淘寶海量消費者與平臺的互動行為,大量商家在平臺進行的商業活動的最主要承載者,淘寶搜尋是大資料智慧化應用的最佳場景;在淘寶搜尋演算法多年的發展過程中,依託於工程架構體系的逐步完善,逐步實現從簡單人工運營加簡單演算法規則的時代,到形成完整的離線線上與實時的深度學習與智慧決策體系,成為阿里電商平臺流量分發與商業驅動的智慧中樞,總結搜尋演算法技術的迭代進步,大概可以分成如下四個階段:

2.1檢索時代

這個階段和業務相對應,搜尋排序主要圍繞規則和輪播展開。這個階段資料量和使用者量還處於可控程度,具有領域知識的專業運營和產品往往充當資訊展示規則的制定者,根據主觀的判斷和對市場的敏銳度來制定查詢詞背後的商品展示邏輯。當然這個階段搜尋也會運用一些基本的演算法邏輯來保證資訊匹配的正確性和人貨匹配的公平性,基於傳統搜尋引擎技術的相關性模型,保證使用者查詢詞語商品標題的有效匹配;基於商品成交與否的銷售人氣模型,保證有助於被消費者接受的商品得到更多的展示機會。

但總體來說還是基於人工規則把各種相關因子進行組合,得出最後的排序。“人工規則”的好處是容易理解和操控,壞處則不言而喻,隨著平臺規模的增大,簡單規則無法精細的表達人貨匹配的效率,並且容易被一些不良商家利用規則來擾亂市場秩序;

2.2大規模機器學習時代

隨著平臺規模的擴大,大規模商家入駐,積極地在平臺上打理店鋪,釋出商品,相對結構化的商品組織體系,類目結構,屬性資訊,基於商品為key 的銷量的累積,評論的累積,這些為更好地理解商品積累了重要的原始資料資料;消費者透過搜尋產品的各級頁面與平臺的互動越來越頻繁;資料的組織形成了以人為key 的結構體系,反饋訊號也得以在閉環系統中有效的流轉;所有的這些都為理解使用者積累了重要的資料資料。

有效資料的積累為大規模運用機器學習技術解決問題提供了必要的土壤。搜尋也進入到各種大規模模型的研究和開發,比如點選預估模型等,研究資料特徵規模大、特徵複雜度高、資料時效性高、模型訓練頻繁等相關的問題,利用不斷增強的計算處理能力,對百萬乃至十億量級以上的超大規模資料進行分析和挖掘。這時候參與排序的因子也越來越多,從一開始的類目相關性與文字相關性,商品人氣分;再後來為了平衡賣家流量,加入的賣家分;再後來為了更好的使用者體驗,加入了個性化人與商品的點選預估,影像質量等因素等等,開始使用類似Learning to Rank(LTR)方法,根據商品的點選、成交資料構造學習樣本,學習迴歸出排序權重

2.3大規模實時線上學習時代

首先,相比通用搜尋,電商搜尋中對於實時計算/學習有著更高的要求,使用者會有著更豐富的多維度的互動,更長的瀏覽鏈路。因此,如果使用者在鏈路前期的行為可以實時地被系統捕捉並且建模到引擎中並且作用於鏈路後期,對整個鏈路的效率以及使用者體驗都是及其關鍵的。

其次,使用者的行為分佈也不是一成不變的,從而打破離線訓練的監督學習演算法所依賴的獨立同分布假設,尤其是在雙11這樣的大促場景,一天的流量和日常數天的相當,分佈變化會更加的劇烈。

最後,由於搜尋展示商品的有限,能夠進入日誌系統得到使用者反饋的商品集合只佔商品全集的一部分,因此離線訓練和線上會有不一致性,這個不一致性在一定程度上可以透過線上學習系統緩解。

於是,我們建設了一套實時計算和線上學習系統,支援在秒級別內對海量使用者行為及其相關聯的海量商品作實時分析處理,從中提取多維度的使用者/商品資料特徵,並採用分散式Parameter Server架構進行線上學習,從而使使用者行為可以在幾秒內影響搜尋排序等線上服務。

我們逐步實現了“實時特徵”->“實時排序因子模型”->“實時頂層LTR/Bandit模型”,完成了三位一體的實時化建設。我們先後實現了秒級更新的基於pointwise的FTRL、基於pairwise的實時矩陣分解模型和實時雙線性模型等一系列微觀特徵,並在此基礎之上實現了實時Learning to rank,以及實時Multi-Armed Bandit等宏觀調控模型,實現了雙鏈路實時系統的升級。

與此同時,線上學習系統強有力地支援了對流量的精準調控,可以更迅速有效地實現商業決策。此外,我們還將線上學習的演算法部分抽象出來,建立了一個通用的一站式線上機器學習演算法平臺AOP(Algorithm One-stop Platform),使得建立和部署線上學習模型更加得便捷和高效,同時具有高度可擴充套件性。到目前為止,線上學習系統已經成為搜尋架構中的基礎元件之一,在提升使用者搜尋體驗,支援商業決策,以及支撐雙11等大促效果方面發揮了巨大作用。

2.4深度學習與智慧決策時代

深度學習強化學習為代表的人工智慧給搜尋技術帶來了全新的變化,特別是在語義搜尋,搜尋個性化和智慧決策三個方向。

在語義搜尋領域,我們設計並實現了Query表徵學習框架,透過多工學習和協同訓練等技術,為Query的打標、類目預測、改寫以及推薦等一系列應用提供統一的表徵向量。與此同時,我們還實現了商品的表徵學習框架,為商品內容理解,商品智慧創意,商品語義召回和語義匹配提供統一的商品表徵。在Query和商品的表徵框架基礎之上,我們實現了語義召回和語義相似度模型,從而完成了從字面匹配到語義匹配的這一質的突變。此外,語義搜尋除了增加搜尋結果相關性,提升使用者體驗外,也可以一定程度上遏制淘寶商品標題堆砌熱門關鍵詞的問題。

在搜尋個性化領域,我們透過多項技術對原先的個性化系統進行了升級:透過多工學習的深度使用者感知模型,我們可以從海量使用者行為日誌中學習使用者的通用表達,從而用於使用者行為識別、偏好預估、個性化召回、個性化排序等任務;透過多模態融合學習,我們可以將商品的文字、影像、標籤、品牌、類目、店鋪及統計特徵等多維度特徵自動的融合在一起形成統一的商品表徵;透過線上深度排序學習,我們融合了使用者狀態實現更加精準的千人千面的排序模型;透過向量召回引擎,我們得到了泛化更好的召回結果,有效提升了關鍵字和個性化匹配深度;透過深度遷移學習,我們將搜尋個性化技術在搜尋之外的多個場景得到廣泛應用。隨著這些深度模型在個性化領域的廣泛使用,個性化系統的精準度得到了顯著性的提升。

在智慧決策領域,我們針對使用者在搜尋過程中和引擎的互動特點,對使用者的決策序列進行建模,提出了提出搜尋會話馬爾科夫決策過程模型,將強化學習引導到搜尋排序。同時在針對不同場景下搜尋結果趨同,浪費曝光問題,我們提出了基於多智慧體協同學習實現了搜尋多個異構場景間的環境感知、場景通訊、單獨決策和聯合學習,實現聯合收益最大化,而不是此消彼長。

經過了“檢索時代->大規模機器學習時代->大規模實時線上學習時代->深度學習與智慧決策時代”這4個歷史階段的耕耘和積累,我們逐漸形成了今天的搜尋演算法排序體系(如下圖)。

電商搜尋演算法技術的演進

三、未來發展:認知智慧的探索

如上所示,經過多年的發展,搜尋和推薦作為阿里電商兩個最大的自然流量入口,已經All in AI,並形成了完整的使用者偏好線上學習,流量的精細化匹配,以及基於強化學習等智慧決策能力的購物決策體系。

但在這個過程中,搜尋排序或者推薦學習到的知識更多都是透過已有的商品標籤資料和使用者行為資料來獲取的,還缺少對商品和使用者更深層次的認知,還無法完全理解使用者的多元意圖表達的真實需求。比如,使用者搜尋了“性感連衣裙”,可能是想找“去參加晚場party的低胸晚裝裙”,也可能是想找“去海邊度假的露肩沙灘裙”;使用者收藏了“登山鞋”和“柺杖”,可能有“登山裝備”的需求,需要發現更多的和登山裝備相關的其它品類商品;一個有孩子的爸爸,在暑假剛開始時,挑選“轉換接頭”,檢視“大英博物館門票”,可能是想帶著家人一起“暑期英國親子游”,需要發現更多相關的其它品類商品。

究其原因,目前人工智慧技術特別是以深度學習為代表的模型,在現實應用中快速發展,最主要受益於海量大資料以及大規模計算能力,透過對物理世界的數字化抽象和程式化學習,使得人工智慧具備很強的限定知識的獲取能力,而很難獲得資料之外的知識,就更不用說知識的類比、遷移和推理了。而機器的認知智慧,比如自主學習和發現,甚至創造能力才是人工智慧的更高境界。當然通用的人工智慧還有很多工作要做,但在這個過程中,怎麼樣首先結合人類知識和機器智慧做到初步的認知智慧,讓淘寶搜尋和推薦擁有智慧化的體驗是我們目前在探索的方向。

實現認知智慧,首先需要我們對使用者,商品,賣家等有更深入的認知,系統化的建立起電商領域的認知知識體系。下圖展示了我們定義的電商人-貨-場三維的認知圖譜,由四部分組成,包括使用者、場景、類目(淘寶類目/虛擬類目)和商品。這些不同型別的概念構建成了一個異構圖,來實現使用者-場景-商品的關聯以及各維度資料的深刻認知。

電商搜尋演算法技術的演進

圖:人-貨-場三維組成的電商認知圖譜示例

其中場景是商品關係的語義化描述,是使用者需求的概念化表示,是連線使用者與商品的橋樑。從商品端來看,場景可以理解為一種具有語義解釋的商品關係描述,例如同屬“中秋送禮”這一個場景的商品具備在中秋節作為禮物的商品屬性。從使用者端來看,場景可以看作是對使用者需求的概念化描述,例如“戶外燒烤”、“度假穿搭”等。因此我們也可以說,場景是連線使用者與商品的橋樑。這些場景關係既可以是透過行為資料探勘獲得,也可以是行業或專家知識的輸入。場景,類目與商品最終組成統一的場景圖譜。

有了這樣的認知圖譜體系後,再透過推理計算識別使用者真實場景訴求,就可以逐步實現搜尋和推薦的認知智慧化。這就涉及到認知智慧體系中另一個重要的部分:基於認知圖譜的線上圖計算與推理引擎。有了計算和推理引擎後就可以實現:在使用者需求已有行為表達時,認知使用者需求場景,挖掘並滿足使用者更深層的需求;在使用者需求沒有行為表達時,根據時間地點、使用者圖譜等資訊,擴充套件和激發使用者需求;同時根據線上投放資料和使用者反饋,最佳化認知圖譜的場景挖掘和建設,持續不斷修正和發現場景,提升推理能力。

認知圖譜和線上圖計算與推理引擎的背後,一方面是一系列我們已經有沉澱和積累的技術的深度應用,包括知識表示儲存與推理、資訊檢索自然語言處理等一些傳統技術;另一方面,認知圖譜可以和深度學習強化學習等近年來取得突破性進展的技術進行深度融合,例如實體和關係的向量化表示(embedding),使得實體的檢索和關係的推理從離散走向連續;認知圖譜作為最佳化約束同現有的深度監督網路進行融合,將領域知識更加平滑的應用到模型中,而不是簡單的規則生效;知識的推理過程中引入序列決策過程建模,使用強化學習減少搜尋空間以加速推理過程等等。

有了認知圖譜和線上推理引擎之後,在全域的搜尋推薦導購、智慧互動和內容生成等各領域上,都會發生各種精妙的化學反應,並且在認知應用過程中,根據使用者對認知推理結果的反饋,系統持續迭代最佳化的認知圖譜以及推理演算法,從而提升認知計算能力。逐漸地,我們可以建設完成具備自學習能力、推理能力和驗證能力的全方位的電商認知智慧化體系。

四 、小結

搜尋推薦演算法多年的發展,就是圍繞著商品與人的連線以及相應的商業訴求,從最初簡單的統計模型機器學習到形成完整的離線線上與實時的深度學習與智慧決策體系,不斷突破自我,讓連線匹配的質量更高,連線的廣度更寬,同時透過機制設計促進整個商業和生態的健康發展,成為整個新商業發展的引擎驅動。站在今天總結過去的演算法演進,看未來電商搜尋推薦演算法的發展,期待從機器智慧到如何結合機器智慧與人類智慧做到真正的認知智慧實現搜尋推薦新的互動和新的體驗。

相關文章