開發與維運

阿里巴巴飛天大數據平臺OpenSearch最新特性

摘要:阿里雲開放搜索(OpenSearch)是一款結構化數據搜索託管服務,其能夠提供簡單、高效、穩定、低成本和可擴展的搜索解決方案。OpenSearch以平臺服務化的形式,將專業搜索技術簡單化、低門檻化和低成本化,讓搜索引擎技術不再成為客戶的業務瓶頸,以低成本實現產品搜索功能並快速迭代。本文將為大家介紹OpenSearch的最新推出的電商查詢語義理解和搜索算法平臺兩個新功能。
本文整理自直播分享以及PPT。
本次分享將主要圍繞以下三個方面:

  1. OpenSearch產品簡介
  2. 新功能介紹-電商查詢語義理解
  3. 新功能介紹-搜索算法平臺和人氣模型

一、OpenSearch產品簡介

OpenSearch產品上雲之前在阿里巴巴集團內部一直都扮演著搜索中臺的角色。除了淘寶、天貓之外,阿里巴巴集團的其他核心業務產品比如飛豬、菜鳥等也都是通過OpenSearch接入的。其實OpenSearch和淘寶、天貓所使用的搜索引擎原理基本相同,只不過OpenSearch在其基礎之上實現了多租戶邏輯。
image.png

OpenSearch上雲之後的主打方向就是為外部的企業客戶提供具有高搜索質量的一站式內容智能搜索服務。OpenSearch的主要優勢可以大致總結為以下四個方面:

  1. 淘寶主要算法功能原生集成:OpenSearch不僅基於了阿里巴巴自主研發的大規模分佈式搜索引擎,其在搜索引擎之上還集成了業界領先的淘系算法功能,包括了電商領域的語義查詢與理解、排序等,藉助這些算法能力就能夠助力GMV轉化率、CTR等業務指標的快速提升。
  2. 無需開發就能實現索引秒級更新:OpenSearch支持與雲上的RDS和PolarDB兩個數據庫無縫對接。在OpenSearch的控制檯只需要配置幾個關鍵參數,比如數據庫名、用戶名以及密碼就可以直接對接數據庫和OpenSearch,實現數據實時更新,整個過程非常簡單,無需任何開發。
  3. 0運維,免部署:OpenSearch是雲端全託管服務,因此無需運維和部署,非常方便。
  4. 服務搭建更簡單:開發者無需瞭解OpenSearch複雜的原理,就能夠快速上手使用,並將關鍵路徑流程化、可視化出來,僅需要幾步就能夠完成基礎服務的搭建。如果業務經常會出現波峰波谷情況,比如618或者雙11大促,都可以在OpenSearch上隨時擴縮容,並且能夠及時生效,無需提前申請配額,因此也非常方便。

二、新功能介紹-電商查詢語義理解

首先為大家介紹OpenSearch的電商查詢語義理解這個新功能。之所以要實現電商查詢語義理解這個功能,是因為在電商場景裡面,搜索引導的成交往往佔比達到60%以上,因此電商對於搜索的精準度要求非常嚴格。但是在實際的搜索場景中,用戶輸入的關鍵詞往往非常口語化,而站內商品的標題、詳情描述、類目以及標籤等都屬於比較書面化和規範化的文本,因此就導致查詢詞和商品信息無法匹配。如果站點沒有實現語義的Mapping,用戶往往搜不到其想要的商品,對於平臺而言,這就使得無結果率或者少結果率都會非常高。基於上述的背景,OpenSearch就把淘寶搜索內部的智能語義Mapping功能集成到了OpenSearch內部,稱之為查詢語義理解,該功能專門為電商領域提供服務,因此垂直性也非常強。
image.png

淘寶搜索和OpenSearch的解決方案
這裡為大家介紹一個實際案例,來幫助大家理解電商場景的語義查詢Mapping功能對於實際業務的具體作用。下圖中,用戶在搜索框輸入了“NKIE新款運動鞋”,這裡的“NKIE”其實是輸入錯誤的“NIKE”,而搜索返回的結果其實都是符合用戶實際需求的NIKE的新款運動鞋。那麼,在這個過程中系統做了哪些工作呢?首先,系統會對於用戶輸入的關鍵詞進行拼寫糾錯,將其修改為正確的關鍵詞,並做一個大小寫的歸一化處理。之後使用分詞器對其進行處理,對於分詞的語義單元實現實體的標籤識別,這裡的作用就是抓住核心的東西來進行搜索,保證搜索結果既豐富又不會跑題。系統在最後還會進行同義詞的拓展來擴大搜索結果的召回量。因此,系統在最後實際進行查詢的詞並不是用戶所輸入的“NKIE新款運動鞋”,而是如圖中所示的實際執行的查詢詞。這就是電商查詢語義理解在實際業務中的作用。
image.png

核心功能亮點
本次OpenSearch所集成的電商查詢語義理解功能具有以下的三個核心亮點。這裡之所以強調電商領域,是因為OpenSearch在原本通用的查詢語義理解基礎之上提供了針對於電商場景的縱深優化。
• 電商拼寫糾錯:OpenSearch系統會對於用戶輸入的查詢串進行拼寫錯誤檢查,計算查詢詞是否需要進行糾錯,並給出糾錯建議。對於明確的拼寫錯誤會直接改寫原始查詢串,然後進行檢索;對於可能的拼寫錯誤將仍然使用原始查詢串進行檢索。
• 電商命名實體識別(NER):OpenSearch系統將查詢詞分詞後對每個語義單元進行需求識別,每個實體會被打上一個類型標籤(共36種標籤),比如品牌、品類、新品等。在系統中,標籤重要性大致分為三檔:高、中、低。標籤重要性低的實體在查詢中會被忽略,以擴大召回率;標籤重要性高的實體會直接影響文本相關性的計算和類目預測訓練。比如“耐克修身連衣裙”,實體識別的結果為“耐克/品牌/中”、“修身/款式元素/低”、“連衣裙/品類/高”。並且如果系統中默認的標籤重要性不符合用戶預期,用戶也可以直接進行調配。
• 靈活幹預:電商場景中查詢語義理解功能是基於淘寶搜索多年沉澱的大數據訓練,絕大多數情況下會為電商場景提供良好的查詢分析效果,但是不同的業務場景都會有自身垂直的查詢詞可能未覆蓋或者分析錯誤,所以開放搜索也支持可視化上傳、管理干預詞條,支持自定義詞庫的上傳,支持靈活配置,即干預即生效,簡單快捷,方便用戶在業務中更加靈活地使用這一功能。
image.png

電商查詢語義理解客戶案例
這裡為大家分享一個使用OpenSearch電商查詢語義理解的實際客戶案例,該客戶的業務屬於垂直領域的電商行業,搜索引導的成交佔比全部成交的60%以上,因此搜索是站內最重要的功能。而用戶在站內搜索的無結果率卻接近60%,也就是說每天海量搜索PV都是0轉化,這是非常巨大的浪費。基於上述背景,該客戶內部明確立項對於在兩個月的時間內對於搜索效果進行優化,而其面對的最大挑戰就是業務非常垂直並且圈子內用戶輸入的查詢詞和商品的官方名稱往往千差萬別。此外,該客戶所售賣的商品很多來自海外,最開始名字為英文,而當引入國內之後,客戶的用戶有時會直接音譯成為中文來稱呼商品名稱,所以站內的熱搜詞往往會是商品的別名、縮寫、音譯詞等。而且客戶原本自建的開源服務沒有對搜索關鍵詞做智能的語義理解,甚至有些實體名詞分詞還是錯誤的,因此造成了搜索無結果率居高不下。
image.png

基於上述問題,客戶方的技術人員開始調研解決方案。客戶內部明確要求對於搜索效果的優化週期要在兩個月之內完成,而技術人力卻只有一個。解決搜索結果召回問題的主要路徑就是建立起搜索關鍵詞的智能語義理解服務,而從0到1的實現該能力不僅需要多個精通NLP的算法專家,還需要至少幾十萬量級有人工標註的數據物料做訓練,而現階段,客戶方面既沒人也沒數據,市面上也沒有現成的開源插件。基於這樣的效率和投入成本的考慮,客戶就選擇使用OpenSearch對於之前的搜索功能進行改造和升級。該客戶使用了OpenSearch的電商分詞、電商查詢語義理解之外,還將一些自定義的補丁詞庫放到了OpenSearch上,而詞庫可以由運營同學直接上傳,而不需要為技術人員增加額外的開發工作量。經過不到2個月的時間,全流程實現完成之後,使用OpenSearch的部分服務的結果召回率基本達到了90%左右,而自建服務的結果召回率只有31%左右,兩者進行對比就能夠發現使用OpenSearch在結果召回率方面具有較大的優勢。除此之外,使用OpenSearch使得搜索引導成交轉化率相比於原本的開源自建服務提升了9%。

三、新功能介紹-搜索算法平臺和人氣模型

搜索算法平臺
之所以要實現搜索算法平臺功能,是因為當搜索業務發展到一定階段,用戶行為數據對於搜索排序效果的提升將會承擔重要的角色。受限於行為日誌數據的龐大和繁雜,這個時候往往需要機器通過統計學習算法,對大量的歷史數據進行學習從而生成經驗模型。利用經驗模型將行為數據量化為合理的分數,最終在排序中使用。想要在業務中高效實現這一整套機器學習流程,往往會面臨以下兩個問題:
• 繁雜的數據採集和預處理工作:每天億級的數據都需要通過自動化的方式進行採集、存儲和處理,對於這些原始數據還需要進行統計、分析和處理來發現用戶行為的基本規律,這就要求開發者具備長分析能力和長期經驗積累,比如發現原始數據正負不均衡時,如何構建出正負樣本數均衡的樣本數據,這些還需要一定的算法工作經驗。
• 大海撈針般的算法調參:面對錯綜複雜的算法參數,開發者們往往需要花費非常多的時間進行調試,而這就如同大海撈針一般。當找到一個看似靠譜的參數組合之後,這個參數組合是否最優還會存在一定不確定性。
image.png

基於以上兩個令人極為頭疼的問題,OpenSearch通過一個高可視化的方式來支持用戶直接完成數據預處理、特徵工程、算法調參、模型評估、模型管理模型上線等一系列繁雜的算法日常工作,並且還集成了阿里巴巴集團內部比較成熟的排序算法模型。用戶可以通過整個算法平臺自行訓練高質量的算法排序模型並且應用到OpenSearch的算法排序中,之後將模型上線到實際業務並進行AB Test對比,得到整體實驗效果並且回收,實現全鏈路OpenSearch的完全打通,並且以可視化、流程式地進行呈現。對於沒有接觸過這些算法的開發者而言,也可以直接上手這個OpenSearch平臺。並且該平臺專注於搜索算法模型訓練,因此會內置一些阿里巴巴集團已經經過多年實戰經驗沉澱下來的模型,比如比較成熟的人氣模型。並且在未來,類目預測等模型也會陸續上線到OpenSearch平臺上。總之,用戶可以在平臺上完成整個算法模型訓練以及上下游的流程。
image.png

此外,對於上線的模型是否優秀而言,平臺還會產出一個較為專業的評估報告,通過這些評估報告和指標使得模型的效果可以一目瞭然。對於模型上線之後用戶是否買單而言,OpenSearch還支持一鍵生成對比AB Test實驗,能夠支持用戶快速迭代模型和改善效果。對於模型上線效果的迴歸而言,平臺還能提供業務指標分析的報表。
人氣模型
人氣模型簡單而言就是衡量用戶對於站內每個商品或者每個文件的受歡迎程度,也就是靜態質量分數。可以將其加入排序,使其成為排序的一個因子,通過這個因子來直接影響排序效果。OpenSearch會將四個維度的特徵加入訓練,包括了實體維度、時間維度、行為維度以及統計維度。
image.png

模型評估報告
OpenSearch會針在每個模型在訓練完成後自動產出一個模型評估報告,通過這個質量來評估模型的效果,比如分類算法模型的評估報告中就會包括以下指標,比如整個模型是否適合在業務中使用,此外還有一些細化的指標如AUC值、ROC曲線、混淆矩陣、特徵權重等。對於一些有算法經驗的同學也可以直接通過這些指標值來發現問題,並進行模型的下一輪調優。
image.png

如何使用
如果想要使用搜索算法平臺,首先需要通過OpenSearch的SDK上傳行為數據,之後就可以直接在算法平臺上創建和訓練模型,模型訓練完成之後就可以查看模型評估報告。如果模型評估報告建議使用該模型,就可以直接將模型部署到OpenSearch的應用中,進而將其應用到排序表達式中。
image.png

搜索業務效果評估
將模型應用到排序表達式中之後就需要對於搜索業務效果進行評估了,傳統方式往往是結合線下人工評估和線上流量測試。線下人工評估往往會抽取一些具有代表性的查詢關鍵詞,組成一個規模適當的關鍵詞集合。針對這個關鍵詞集合,從排序模型的產出結果中查詢對應的結果,進行人工標註相關性。對人工評測的結果數據,使用預定義好的評價計算公式比如DCG等,用數值化的方法來評價模型的結果和標註的理想結果的接近程度。如果人工評估認為搜索業務的效果是變好的,此時就可以進行線上流量測試。為了真實驗證一個排序模型的好壞,就需要使用剛才提到的AB Test機制來檢驗和對比。在用戶搜索時,由測試機制根據一定的策略來自動決定用戶的分組號,保證自動抽取導入不同分組的流量具有可對比性,然後讓不同分組的用戶看到的不同排序模型所提供的結果,用戶在不同模型下的行為將被記錄下來,這些行為數據通過數據分析形成一系列指標,通過比較,最後就形成了不同模型之間孰優孰劣的結論。
image.png

對於OpenSearch而言,其無法支持第一種線下人工評估,因此用戶只能自己抽取Query來進行人工評估。當人工評估完成之後,OpenSearch可以支持線上的AB Test端到端一鍵配置,可以支持多場景多分組下流量劃分進行試驗,充分滿足了單一應用但覆蓋多樣業務場景的實驗需求。並且使得實驗配置和上下線狀態可以靈活調整,即操作即生效。並且可以實現報表的天級產出,幫助客戶進行決策。並且能夠實現全流程可視化界面操作,能夠使得用戶實現快速接入,簡單無門檻,並且產品和運營人員也可以直接使用。
image.png

當整個優化完成之後,OpenSearch還提供了一套專業搜索業務質量報表指標體系,該體系針對於電商場景劃分了5個體系,即流量指標、點擊指標、用戶分析指標、Query分析指標以及成交指標。
image.png

藉助於這些效果評估指標,客戶可以非常專業並且直接地看到經過自己的一輪又一輪的優化,搜索效果的提升能夠體現在哪裡以及存在的問題在哪裡。

Leave a Reply

Your email address will not be published. Required fields are marked *