導語

標籤爲用戶提供了一種新的檢索方式,用戶和信息通過標籤進行關聯,信息的標籤化、行爲的標籤化,在提供個性召回能力的同時,也有助於幫我梳理和挖掘業務品類的特徵,做相關業務屬性的聚合。

背景

當下全連接的信息場景,所有對於有助於連接轉化效率提升的內容和考慮尤爲重要,這就要求我們在實際業務場景中,結合用戶行爲的每個關鍵的行爲節點進行深入的分析和思考。通過用戶全鏈路的分析並結合平臺用戶業務數據的不斷沉澱,在不同的行爲環節進行輔助和提效,我們將feed(信息流)場景中用戶的關鍵行爲分拆爲4個階段:1流量的接入、2檢索、3點擊、4電話,首先來整體看下,我們在用戶的四個關鍵行爲節點都做了哪些內容?(內容摘要參考圖1)

(圖 1 - 關鍵節點的技術內容摘要)

1、在流量的接入環節,我們希望具備兩種能力:一種是對用戶身份的預估與分層,另一種是我們需要對已有歷史行爲的用戶進行相對準確的興趣描述。用戶身份的預估是後續多個業務場景策略干預的基礎,興趣的準確描述是提供準確召回能力的基礎。

2、在檢索的這個環節我們嘗試了一種新的方式,對信息(車)進行標籤化的表述,信息通過標籤聚合,可以幫助提升長尾信息的曝光能力,通過用戶的行爲我們可以將用戶 - 標籤 - 信息串聯,做到標籤的個性化展示,通過持續完善標籤的質量(召回能力)、標籤 - 車系的關聯準確度,進而帶來對轉化效率提升的正向刺激。

3、在點擊環節 - feed場景下ctr的提升是各業務的重點,在持續優化基礎的體驗的同時會加入智能的干預,通用的做法是介入模型的干預,對ctr進行預估,並結合召回模塊在下一個階段做信息的精排,過程中會加入策略、規則及算法的融合,另外也需要考慮的一個問題是ctr導向與商業的收入導向的目標需要結合考慮。

4、電話這部分主要是考慮系統的高可用與提升號碼資源的使用效率,並降低不同spm(渠道)的接入成本,同時針對不同的數據緯度進行分析。今年圍繞電話這個環節我們也做了一些賦能的場景,結合用戶的身份預估做智能AxB的綁定,結合用戶的身份及歷史行爲進行模型的訓練 - 做cvr撥打的預估,這些在提升號碼資源的使用效率&降低串號率方面都獲得的不錯的效果。

- 今天文章整理的是關於第二個行爲環節的內容 - 關於信息標籤的挖掘。

爲什麼要挖掘業務品類的標籤?

面前提到,在檢索的這個環節我們嘗試了一種新的方式,對信息(車)進行標籤化的表述,信息通過標籤聚合,這有別於傳統按業務規則固定的檢索方式,可以幫助我們提升長尾信息的曝光能力;通過用戶的歷史行爲我們可以將「用戶 - 標籤 - 信息」串聯,做到標籤的個性化展示,通過持續完善標籤的質量、標籤 - 車系的準確度,進而帶來對ctr提升的正向刺激。

信息的標籤化,在提升信息個性化展示、體驗的同時,也有助於幫助我們發掘品類基本檢索屬性之外的個性內容,如描述感官的、描述價值的、描述體驗的,如:“年輕化、耐造、買菜、動力澎湃、外形炫酷”,這也會極大的豐富我們商品特徵的表現形式,結合不同人羣興趣、特徵的劃分,考慮從信息特徵的維度將用戶的興趣進行聚合(這個思路在前面關於用戶興趣描述中也提到過),可以做相對精準的信息召回,進而也會帶來對ctr提升的正向刺激。

搭建二手車的標籤系統需要對業務有相對深入地瞭解,在前期語料處理、分詞部分需要投入一定的人工成本進行標註、分類和挑選,並結合場景實驗的反饋進行持續的優化。標籤的種類可以按照業務品類的屬性進行區分,比如:“描述外觀”、“描述配置”、“描述操控”、“描述情感”、或其他的屬性詞。

二手車業務標籤挖掘這部分包含幾塊主要的內容:語料的獲取、分詞、車品類分詞模型的訓練、詞向量、及分層的實驗並結合場景的反饋提升標籤的質量(召回能力、ctr)標籤-車系的準確度,分詞模型與詞向量的計算很大程度上受限與語料的質量,所以在前期對於語料的處理也會投入不小的精力。

具體內容部分

1、我們先來整體瞭解標籤與業務場景的結合點: 如下圖

(圖 2 - 標籤與業務場景的結合方式)

場景:

1) 爲列表頁固定位置提供個性篩選標籤區域 - 此區域可以理解爲穿插在feed中的一塊固定的位置,如圖所示該部分標籤內容的組成包括:用戶的篩選條件、熱門標籤、個性標籤、創意標籤等。該場景實驗的指標是對標上下車源信息的點擊率,目前二手車第一版標籤的實驗也是在這個場景上進行的,通過持續的迭代觀測效果。

2) 發佈場景 - 個性標籤選擇&單元參數,在規範和格式化的發佈場景中,我們希望針對目標車系、車型召回個性的標籤,用於車源信息的補充說明,在豐富信息個性展示的同時,這些標籤也會作爲單元參數,同上面提到的用戶興趣描述-召回的場景進行協同,關注用戶在某個業務屬性上的興趣專注度,高效的召回相關的信息。

3) item信息的標籤展示(個性內容)- feed場景中item標籤的展示可以體現信息的個性,個性的標籤也會match用戶的屬性,做個性的召回展示。

4) 優質的標籤或無命中的檢索詞,進行階段性的彙總,提供給中臺檢索部門支持搜索框檢索,這部分是對高頻、業務特殊屬性詞、無命中檢索能力的一個補充和支持。

2、處理階段(語料的處理 -> 詞向量 -> 關聯關係 -> 實驗):

1) 語料的處理 - 標籤工程對抓取的語料做分詞處理,分詞的過程也是訓練車品類分詞模型的過程(需要先期人工的標註),對分詞的結果進行人工的篩選,選定備用的標籤,存儲標籤庫,關於標籤庫的設計在後續內容中進行說明。

2) 詞向量 - 對標籤做詞向量的計算,這有助於幫助我們擴展標籤的召回能力(這個地方我們起初犯過一個錯誤,我們過分依賴詞向量對召回的擴展能力,但不知標籤詞向量的計算是依賴語料的,我們先期選定的語料是某口碑的數據,語料本身的形式、內容會有很多的侷限性,這就造成計算的詞向量並不具備廣泛認知的代表性,也就造成了最初線上標籤召回能力差和準確度低的問題)。

3) 關聯關係 - 前面的內容已經提到用戶興趣的描述,在標籤的召回環節也會依賴用戶的興趣基礎做標籤子集的召回,信息 - 標籤 - 人存在穩定的映射關係,做到標籤的個性展示。

4) 實驗 - 第四部分是關於實驗的對照,標籤工程的兩個核心的指標是:1 標籤的召回能力 2 標籤到車系的對應關係準確度,所以通過線上用戶在標籤點擊和信息點擊環節的數據回溯,可以幫助我們去觀測這批選定標籤的質量,這也是實驗的重點。

3、二手車標籤工程詳細流程展開如下:

(圖 3 - 二手車標籤工程整體流程)

流程描述:    

階段1 - 語料的收集

語料的收集可以有多種渠道,我們可以挖掘站內車源信息本身的內容、可以從車相關的新聞/媒體文章中截取相關的內容、可以統計站內搜索的內容/熱詞、也可以收集公開的口碑/評價信息進行標籤的提取,受限於資源和精力的投入,目前我們通過最後一種方式進行語料的收集和完善(這邊也會涉及到一些爬蟲性能的優化,不做展開)。

階段2 - 分詞

分詞是提取標籤的過程,是NLP的一個環節,起初關於分詞工具的選擇,我們對標了jieba、HanLP和LTP,針對相同的語料分詞系效果基本一致,受限於商業應用的限制及開發語言的支持,最終考慮使用HanLP作爲我們的分詞工具,分詞的結果經過規則的過濾產出粗選詞,這邊是人工標註的環節,將業務類的詞組進行標註,避免分詞過度,也會摒棄問題語料或干擾詞,處理後的語料會放回到模型中繼續參與分詞,分詞的過程本身也是訓練車品類分詞模型的過程。

關於詞向量的計算前面也稍微提了一下,詞向量的計算結果很大程度上受限於語料的來源,如word2Vec會通過固定窗口長度的上下文預測詞條的概率,計算詞向量,相同的詞條在媒體類文章和口碑類評論兩種語料中計算出的詞向量是差別很大的,所以後面我們也弱化了通過詞向量計算擴展標籤的召回能力這種方式,並加入一定的人力成本去做詞條的整理和歸類(先驗知識)。

階段3 - 標籤庫

標籤庫的內容是個持續更新和完善的過程,接收分詞的結果,並針對備選詞作人工的篩選與分類,去掉無用的詞條、錯誤的詞條。

我們會將不同品類的詞條進行劃分,相近含有的詞條會參考線上實驗的效果(標籤ctr)做取捨,如 “動力嗷嗷 0.00048、動力澎湃 0.00167、動力強勁 0.001164”,參考ctr最終會保留詞條“動力澎湃”。

我們也會去掉一些ctr很高但詞意表述或者召回含義並不清晰的詞條,如“小轎車、顏值、穩重”這類的詞條,這些詞條不利於我們後續從標籤到車系準確關係的建立,詞條召回的含義過於發散,相對優質的標籤是可以準確表述一類或幾類商品,並且這種表述符合大多數人的認知。

從標籤的質量角度考慮,我們也儘量不會選擇2個字詞條,主要以4個字及以上的詞條爲主,如“動力澎湃、外觀拉風、城市穿梭利器、路感清晰、省心省油”等。

標籤的篩選需要4個階段:1 從標籤的個性代表度進行篩選、2 從標籤到信息的召回能力進行篩選、3 對標籤按屬性進行分類,比如我們依賴這些詞條的描述內容進行劃分:描述駕駛體驗、感官、配置、商品特徵等、4 最後階段做標籤的檢查處理。

總體來說,標籤庫的工作需要對業務有相對深入的理解,帶有業務特性的先驗知識和決策在這個環節中起到了非常關鍵的作用。

階段4 - 場景的反饋

在標籤的召回環節,我們同之前第一部分用戶興趣的描述-模型相結合,依託中臺的日晷平臺進行多組的線上實驗,日晷系統支持多層的多策略的實驗組合,與工程的接入有良好的切合,配置成本也相對不高。實驗的結果結合曝光和用戶的點擊行爲對不同標籤的線上效果進行反饋,主要是圍繞標籤的召回能力和準確率進行的,這個環節的反饋會幫助我們不斷迭代標籤庫內容,在項目較成熟後期,我們也會考慮將這個環節開放產品配置的模塊。

4、分詞效果的迭代 關於分詞部分,大體經歷了三個階段的迭代「語料 - 寶馬品牌業務口碑數據」,如下圖4描述:

(圖 4 - 分詞的迭代)

第一版的分詞實驗是按詞性進行的,觀測結果並不理想,分詞效果如下:
「顏/ 值/ ,/ 還是/ 顏/ 值/ 。/ 新/ X3/ 的/ 前/ 臉/ 很/ 凌厲/ ,/ 側面/ 比例/ 和/ 腰/ 線/ 也/ 不錯/ 。/ 操控/ 讓/ 人/ 極其/ 滿意/ ,/ 尤其/ 高速/ 時/ 的/ 表現/ ,/ 簡直/ 就是/ 越/ 快/ 越/ 穩/ ,/ 開/ 寶馬/ 看來/ 的確/ 不是/ 吹/ 的/ 。」
已有的分詞器是單純按照詞性進行分詞的,接下來,我們需要針對不同詞性的組合來進行第二版的分詞。
第二版的分詞引入了結構化感知機標註框架進行輔助分詞,該框架是通過感知機做序列標註任務,配置起來也相對簡單和實用,針對類似語料分詞的效果如:
「顏值/nz ,/w 還是/c 顏值/nz 。/w 新/a X3/n 的/u 前臉/n 很/d 凌厲/a ,/w 側面/f 比例/n 和/c 腰線/n 也/d 不錯/a 。/w 操控/v 讓/v 人/n 極其/d 滿意/v ,/w 尤其/d 高速/d 時/Ng 的/u 表現/vn ,/w 簡直/d 就/d 是/v 越/d 快/a 越/d 穩/a ,/w 開寶/v 馬看來/nr 的確/d 不/d 是/v 吹/v 的/u 。/w」。
從分詞的效果來看,如“新X3”、“開寶馬”、“高速時”等這類的領域詞彙沒有被標註出來,從而認爲降低了分詞的效果。
分詞效果的提升是個不斷迭代的過程,在標準模型的基礎上加大人工標註的投入,分階段篩選出可用詞條,做有放回的語料補充,或通過詞性做詞組的擴展。在hanlp的基礎上我們新加了chelib(車型庫)中的品牌車系和汽車的專用詞庫,並對不影響句子整體表達的副詞、連詞等詞性的分詞做了過濾,同時也增加了對負面詞語的判定邏輯,在分詞質量上有了較大的提升。

(圖 5 - 業務品類的標籤詞)


5、關於分詞與工程部分的結合流程,如下圖6:

(圖 6 - 與工程部分的結合的流程)

說明:

1) 基礎的語料經過格式的規整存儲mysql,規整後的語料數據包含:id、time、city、品牌、車系、內容。

2) 通過人工標註的方式將業務品類相對固定的詞條生成字典,提供hanlp初始化。

3) 經過初步的分詞後的結果產出10w量級的詞條,經過去重、過濾及業務側個性的篩選規則要求,有效分詞爲5.7w。

4) 通過詞性的標註和詞組的擴展流程,產出可用詞組,針對這些詞組做業務相關性的分析和篩選,並針對篩選後的結果集做聚合,這部分可以認定爲基礎標籤,基礎標籤結合先線上實驗效果的反饋最終會進行評估,篩選穩定優質的線上使用標籤。

5) 配合階段4也會做詞向量的計算,產出詞向量矩陣,擴展標籤的召回能力,並加入一定量的人工成本進行干預。      

6、關於詞向量部分

關於詞向量:

1) 詞向量描述了目標詞組在固定語料基礎集上訓練的空間位置(多維空間)。

2) 可以通過歐式或cos計算標籤之間的空間距離,幫助我們找到距離相近的標籤。

3) 距離相近的標籤一定程度上可以幫助我們擴展標籤詞的信息召回能力,提升召回率,並在信息返回上提供了一定新穎信息的探索能力。

4) 目前我們採用word2vec進行詞向量的計算,word2vec是目前比較普遍的詞向量算法,word2vector 輸出的結果可以理解爲當前的詞在固定語料中的空間位置,很多人都有一些瞭解,它包含CBOW/Skip-gram兩種訓練模式,是一個結構簡單的神經網絡,通過上下文預測當前詞、或者通過當前詞預測上下文,感興趣的可以參考下word2vector的原理、訓練過程。

【詞向量的生成過程】:

(圖 7 - 詞向量的生成)

前面提到詞向量可以理解爲:目標詞條在當前語料中的空間位置,以“我”字爲例在我們語料中訓練後100維的詞向量可表示爲如下:

(圖 8)

通過詞向量擴展標籤的召回能力:

通過對已選標籤詞向量的計算,生成詞向量矩陣,這可以幫助我們發現當前語料基礎上的相似標籤,以擴展標籤的召回能力,如下圖9:標籤3與標籤2、標籤4詞向量接近,那麼我們可以認識車型2、車型3、車型6也在標籤3的召回能力中,當然這個過程也需要介入一定量的人力查驗的工作,check相關車系、車型的符合度,進而調整標籤同車、車型的映射關係。

(圖 9 - 標籤相似性的擴展) 

7、標籤庫 標籤庫的數據層級的設計對應了二手車的車型庫的基本層級結構,映射關係分了3層:品牌 → 車系 → 車型,從數據的層級結構來看,標籤依次對應了品牌、車系、車系,可以按不同的維度層級進行聚合,生成相關的檢索條件,從標籤數據的存儲格式:ID | name | 車型ids | 車系ids | 品牌ids 可以發現標籤的召回順序依次是車型、車系、品牌,在後來的實際應用中,可以認定準確描述車型級別的標籤很少,並且不具備良好的召回能力和泛化能力,所有我們目前考慮的召回層級只到車系這一級別。如圖10:

(圖 10 - 標籤庫的層級關係)

標籤庫本身是個不斷迭代和自我學習的過程,清晰的層級映射服務於線上的召回場景,並結合線上效果的反饋提升和優化標籤子集,主要參考的指標仍然是召回能力和準確率,本身用戶的行爲就是一個很好的反饋,所以標籤庫的實驗也是一個ctr和質量提升相互促進的過程。另外目前二手車標籤挖掘的內容相對比較基礎,初步搭建工程的同時實現了關於上面全流程的幾個核心的節點,但可參考的指標還沒有明顯的提升,後續如果資源允許,我們也考慮加大這部分的投入,將這部分配置工具化,提供給產品同學可操作與觀察的配置平臺,這這部分實驗的工作快速有效的流程化進行。

(圖 11 - 標籤庫的更新)

8、從場景、標籤服務、用戶模型三個模塊來簡單說明目前我們線上標籤召回的時序: 用戶的基礎行爲topN會映射爲標籤,通過相似度擴展標籤的範圍,這樣我們將人和info通過標籤建立關聯,標籤映射ses查詢條件,直接用於相關info的召回,召回時序如下圖12:

(圖 12 - 標籤召回的時序)

說明:
1) 流量入口我們選取的是二手車m頁的第二頁曝光內容,在feed流中插入實驗的標籤區域,該區域的曝光會攜帶用戶信息(cookie、設備信息等)首先從標籤服務拉取標籤信息,用戶的身份信息會結合用戶的模型進行興趣召回,這個點是同之前我們的說到的用戶興趣描述相結合的,基礎用戶數據是IDMapping與相關設備信息、cookie、tel的映射,保存了IDMapping到用戶興趣的模型,標籤服務通過用戶興趣描述的topN(檢索條件)反向查詢標籤,作爲標籤的召回子集反饋給場景。針對無行爲用戶(新客)或行爲較少的用戶,就需要考慮標籤的補足,補足的標籤主要是從按地域熱門標籤中抽取。
2) 標籤曝光後,用戶通過標籤的點擊做車源信息的召回,召回的順序是從車型 → 車系 → 品牌,這邊的信息召回也會結合廣告貼策略有所側重,召回能力不足時,同樣需要考慮補足的能力,比如通過詞向量召回相似或熱門召回更多的信息,相同屬性及語意相似的標籤,我們也會保存關聯的關係,如:動力澎湃 - 動力強勁、外觀拉風 - 外觀拉轟、外形威猛 - 肌肉車,後者雖然不在線上召回的子集,但卻可以幫助提升召回的能力。
3) 車源信息的曝光結合用戶的點擊行爲作爲我們回溯模型的數據進行記錄和分析。
基於場景的反饋始終也是以提升ctr爲核心的,所以標籤應用部分提高標籤的質量和召回能力本質上就是提高對ctr的轉化效率,目前我們正在做的手段:1 選取優質標籤子集 2 人工干預和調整,分析看標籤召回能力分佈 3 結合用戶特徵做標籤的展示策略(歷史查詢行爲 形容詞 高熱詞 相關高匹配次 探索詞) 4 監控效果行程反饋-快速實驗  5 提高位置爭取資源。
並且在後面的實驗場景中,我們也需要建立從:1 標籤召回 → 2標籤點擊 → 3 信息檢索 → 4 信息點擊 → 5 電話轉化完整鏈路的數據分析能力。
標籤是2019年團隊新啓動的技術項目,目前不是特別的成熟,從標籤的召回到信息的曝光到ctr提升的指向完整鏈路的數據在後面會和大家分享。

總結分析與設計

整體來看,標籤的挖掘爲用戶提供了一種新的檢索方式,用戶和車源通過標籤進行關聯,這有別於傳統固定規則的檢索方式,信息的標籤化、行爲的標籤化,在提供個性召回能力的同時,也有助於幫我梳理和挖掘業務品類的特徵,這些內容和後面的業務品類的「特徵工程」相輔相成。

至此關於《數據智能在二手車業務場景中的探索與沉澱 - Part2 關於業務標籤挖掘》部分的內容整理結束,在後面的分享中機會針對第三個關鍵行爲節點“用戶的點擊”進行技術內容的整理與分享,涉及的技術內容:業務品類特徵工程的搭建、排序、相關算法的應用(lr、XGBOOST、FM、DeepFM、GBDT等)。

目前技術團隊在持續引進優秀的人才,感興趣的同學歡迎簡歷至:[email protected] ,也可以通過這種方式同我建立交流。

作者簡介

李曉東 - 2015年1月加入58集團二手車技術團隊,現任二手車技術部高級技術經理,負責二手車商業技術團隊、拍賣技術團隊,開發及管理工作。

穆文斌 - 58同城ABG資深研發工程師,負責二手車電話、聲紋、NLP等技術在二手車業務中的實踐與應用。

閱讀推薦

相關文章