羅景:連接效率優化實踐

来源:https://www.cnblogs.com/datafuntalk/archive/2022/06/11/16365598.html
-Advertisement-
Play Games

分享嘉賓:羅景 58同城 高級架構師 編輯整理:洪鵬飛 內容來源:DataFun AI Talk《連接效率優化實踐》 出品社區:DataFun **導讀:**本次分享由以下幾個部分構成—— 58的業務背景 綜合排序框架 效率優化框架 基礎數據流程(數據) 策略優化路徑(演算法) 效率優化平臺(工程) ...


分享嘉賓:羅景 58同城 高級架構師

編輯整理:洪鵬飛

內容來源:DataFun AI Talk《連接效率優化實踐》

出品社區:DataFun


導讀:本次分享由以下幾個部分構成——

  • 58的業務背景
  • 綜合排序框架
  • 效率優化框架
  • 基礎數據流程(數據)
  • 策略優化路徑(演算法)
  • 效率優化平臺(工程)
  • 總結和思考

file

--

01 58的業務背景

file

這是58app端的業務展示,可以看出58的業務場景豐富且複雜,產品形態多樣,涵蓋了租房、二手房、二手車、招聘、本地服務以及二手物品等多種業務,針對每個業務,又分為置頂,精品,普通等多種不同的產品形態。

--

02 綜合排序框架

file

如上圖所示,整個演算法層分為三個階段:粗排、精排和調序。

粗排階段,主要考慮減小模型壓力,篩選出一部分排序候選集。主要採用時效性策略以及質量因數的降權策略。分別根據不同周期進行分層處理,用於時間降權;同時對質量因數,採用價格偏離、類目錯發、位置虛假等因數進行降權排序。

精排階段,主要考慮列表點擊率、有效轉化率、個性化以及相關性信息,對粗排後的集合進行精細化排序。

調序階段,根據業務相關以及過濾相關等策略進行重新排序。

在上述粗排、精排以及調序三個階段中,演算法團隊重點輸出了質量治理,效率優化以及流量調控三種核心能力。

--

03 效率優化框架

file

效率優化框架由三部分組成:數據、演算法以及工程。在進行效率優化框架設計和迭代過程中,主要結合相關業務,對策略的相關優化路徑進行迭代更新,最後對相關技術以及方案進行相關積累,形成平臺化沉澱,方便以後復用。

file

優化路徑,包括:策略優化路徑和效率優化平臺。

關於策略優化路徑,主要分為四個階段:

  • 反饋策略。這主要運用於業務建模初期,採用平滑策略,位置消偏,時間衰減,流量反作弊策略進行初期模型的相關排序;
  • 基礎模型。主要進行基礎流程建設,涉及LR、GBDT模型,用戶個性化,帖子結構化這幾方面進行優化;
  • 特征升級。主要針對組合特征,時效性升級,文本特征以及圖像特征幾個方面,使模型效果更佳;
  • 模型升級。主要針對融合模型,深度學習模型,以及線上學習方面進行相關迭代。

關於效率優化平臺,主要針對日誌合併清洗,特征工程,模型訓練評估以及上線驗證四個階段進行優化。

file

進一步對效率優化平臺進行介紹:主要針對日誌系統,日誌樣本,機器學習,上線試驗以及線上系統進行相關優化。

  • 日誌系統:針對日誌樣本、機器學習、上線試驗這幾個方面進行平臺化整合,包括流程執行、流程管理、特征開放以及配置管理等。
  • 日誌樣本:涉及日誌預處理,帖子特征抽取,個性化生成,樣本生成等;
  • 機器學習:涉及樣本採樣,特征工程,模型訓練,評估分析等;
  • 上線試驗:涉及推送流程,實驗系統,報表系統等。

接下來對涉及到的相關技術點進行介紹:

  • 數據:日反作弊、特征開放平臺、樣本選取;
  • 演算法:反饋策略、基礎模型、特征升級、模型升級;
  • 工程:特征組件化、融合模型框架化、平臺化整合。

1. 基礎數據流程(數據)

file

關於數據,主要涉及日誌反作弊和特征開放平臺。

數據的生成分為兩個階段,第一個階段為原始樣本生成,第二個階段為樣本生成。

原始樣本主要來自於曝光、點擊以及轉化日誌,在相關日誌的合併以及清洗之後可以獲得原始樣本數據。

樣本生成,主要是在特征開放平臺上生成。涉及到帖子特征庫,用戶個性化特征,以及相關的特征描述文件。

其中,帖子特征庫由帖子結構化,反饋特征,文本圖像特征三個方面組成;用戶個性化特征,主要由帖子特征庫和點擊轉化日誌而來。

對於樣本新特征問題,平臺採用自動合併機制,對新增加的帖子新特征以及用戶新特征進行合併。

經過上述兩步的處理,樣本數據便形成了。

file

在數據日誌反作弊階段,主要針對IP,用戶進行相關日誌反作弊處理,主要涉及到多指標判斷機制以及作弊標記機制:

  • 在多指標判斷機制中,主要有曝光量、點擊量、轉化量、點擊率、轉化率這多個指標進行相關的判斷;
  • 在作弊標記機制中,主要對特征的欄位進行相關的作弊類型標識。

下麵是針對IP反作弊規則的例子:

  • 採用曝光大於某個閾值,CTR小於某個閾值,對曝光異常但是點擊合理的IP數據進行相關的過濾;
  • 採用曝光大於某個閾值,轉化小於某個閾值,過濾掉曝光異常但轉化量偏低的IP數據;
  • 採用CTR大於某個閾值,過濾掉CTR異常的IP數據;
  • 採用轉化除以點擊大於某個閾值,過濾掉點擊到轉化異常的IP數據;
  • 採用CVR大於某個閾值,過濾掉CVR異常的IP數據等等。

file

模型的效果主要由特征,特征工程以及演算法組成,特征工程在模型效果方面表現的異常重要。數據特征開放平臺是主要為了簡化新特征嘗試流程,降低嘗試代價,並快速支持試驗。特征開放平臺採用規範化元數據描述、管理,自定義合併機制,支持時效性對齊,自動觸發,以及定製化回溯機制,其基本流程為,首先在特征註冊平臺上進行註冊,完善特征的元數據描述;接著按規範格式與約定時效性在給定的存儲位置生成數據;最後根據樣本生成流程基於特征描述緊張自動化合併。

2.策略優化路徑(演算法)

file

反饋策略在建模初期使用,主要採用平滑策略,位置消偏,時間衰減三種策略進行優化迭代,對準實時反饋以及歷史反饋分別進行7天為周期分鐘級滾動統計點擊率和轉化率以及30天為周期按天滾動的點擊率與轉化率。在實行反饋策略後,實時點擊率有10%的提升,而歷史轉化率方面,轉化效果有一定提升。

file

在數據樣本選取方面,支持多種場景,例如模型類型、業務類型、產品形態,並實現了靈活配置樣本的選取機制,大致有以下四種機制:

  • 基於表達式
  • 預定義預設組件(Raito,Pos,Neighbor,Random,Unique..)
  • 組合方式(and,or,not)
  • 自定義組件

同時可以採用標準方式選取,相關實例採樣以及樣本過濾操作。

file

在基礎階段模型上,通常採用14天的數據做訓練,並採樣成1:15的正負樣本比例,使用3天數據做為測試,並以AUC作為主要離線評測指標。原始特征在150維左右,針對LR模型採用離散化編碼處理方式,特征超高維度。模型方面,對原始特征主要採用XGB進行訓練。

在效果方面,針對租房普通列表頁面上,有20%以上的轉化率提升;而在租房精選上實現了30%以上的ECPM提升;而在普通列表頁面上,電話接通率提升10%以上。

3.效率優化平臺(工程)

file

在特征工程組件化方面,採用組件名(輸入,配置)到輸出的配置方案,其中涉及1對1的特征變換,1對n的特征編碼,n對n的特征組合,同時還滿足各種適配條件進行相關組件化配置。

在工程融合模型框架化方面,可以擁有以下兩種功能:

第一種,支持表達式配置,靈活,支持多種形式的組合;
第二種,樣本標識機制下,保證了批處理框架下的樣本對齊。

同時模型融合方面,主要採用結果融合以及特征融合,結果融合主要將模型預測結果作為特征,而特征融合方面,利用訓練好的模型來構建特征,例如GBDT編碼特征,NN編碼,FM隱向量等方式。

融合流程:

  • 第一步,在效率優化平臺按照正常流程訓練好待融合模型;
  • 第二步,準備目標模型樣本數據;
  • 第三步,基於樣本數據生成基於待融合模型提取的特征;
  • 第四步,將初始樣本數據與根據帶融合模型提取的特征進行合併,形成融合模型樣本;
  • 第五步,訓練目標模型。

file

特征升級主要包括:

  • 時效性升級:反饋特征按周期滾動,分鐘級更新,同時還提取了相應周期的個性化特征;
  • 特征組合:採用笛卡爾組合和匹配組合方式,例如價格面積組合,價格性別組合,個性化偏好等;
  • 文本圖像特征:採用詞向量,關鍵詞,圖像飽和度,圖像全連接模型輸出特征等。

file

關於模型升級,主要採用LR的預測結果接入GBDT,或者GBDT的結果接入LR;而在深度學習方面,採用Wide&Deep以及DeepFM等技術實現演算法迭代。

file

在WideDeep實現方面,主要將wide部分的連續特征進行離散化,相關特征有RCrctr,HCtagfhgectrap等特征;並將枚舉離散化特征,主要用於離散特征個數較少的情況;而Hash離散特征,主要用戶離散值數量較大的特征,離散分桶最大值為5000;在交叉特征方面,主要由帖子維度組合,帖子與用戶基礎屬性組合。而在deep部分,連續特征主要採用離散化最大最小歸一化處理,枚舉離散特征和wide部分一致,而Hash離散特征採用embedding_size方式,而在Embedding特征方面,採用個性化加個性化組合的方式。

file

而在平臺整合方面,主要由三個大的模塊組成:

  • 第一個模塊為基礎模塊,包括日誌樣本、機器學習以及上線試驗;
  • 第二個模塊為用戶工作空間,主要用於數據相關的配置;
  • 第三個模塊為基礎數據,主要涉及流程資料庫,樣本數據,日誌數據,和效果數據。

通過這三個模塊,平臺擁有流程創建,流程配置,運行監控,模型轉換,推送上線,報表關聯等功能,同時應對了特征開放平臺,數據管理,流程管理,實驗管理,報表管理等方面。

file

上圖為機器學習平臺的配置頁面,可以看出從基礎配置,訓練採樣,測試採樣,特征以及訓練,可以看出模型測試和訓練簡潔便利,做到了5+專屬的流程切換,全效率優化流程管理,策略成電分享復用,也降低了維護代價,降低優化的門檻。

4.效果和下一步

經過整個流程的優化,可以看出效果:房產精選(二手房精選、租房精選)實現了相比基線40%到60%的ECPM(千次展現收入)提升。而在普通業務方面,租房,二手房,二手車上實現10%的轉化率提升。

下一階段,將對深度學習進行相關的探索,嘗試多種深度模型,並集成Tensorflow到模型訓練流程,探索線上、離線學習一體化平臺,同時要利用豐富的數據,例如有效轉化數據,文本圖像視頻特征等。

--

04 總結&思考

在策略優化上,要儘可能循序漸進,關註數據豐富度與質量,同時明確業務優化目標,兵保證線下線上的一致性,此外還要保證新技術探索與優化目標的權衡。在平臺建設上,要重視工程能力,監控預警機制,同時進行迭代優化。


今天的分享就到這裡,謝謝大家。
本文首發於微信公眾號“DataFunTalk”。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 現在有些客戶的業務數據還在使用傳統Excel來彙總信息,使用Email實現數據的傳遞與交互。iNeuOS線上報表工具的開發與發佈基本上可以替代傳統Excel的使用,並且用戶可以自定義模板、隨意查詢數據等。 ...
  • 1.前言 hi,大家好,我是三合。作為一名程式猿,日常開發中,我們在接到需求以後,一般都會先構思一個模型,然後根據模型寫實體類,寫完實體類後在資料庫里建表,接著進行增刪改查, 也有第二種情況,就是有些人喜歡先在資料庫里建表,然後再添加實體類。前者是code First,後者是db First,如果數 ...
  • DS18B20 是一個常見的數字溫度計晶元, 因為測溫準確, 廉價且接線簡單, 實際應用廣泛, 在各種教學實驗套裝中出鏡率也很高. 在寫STC8H GPIO示例的時候寫了一下 DS18B20, 這個型號雖然簡單古老, 但是內容比較有意思, 一個篇幅寫不下, 所以把內容抽出來單獨介紹. ...
  • 在日常開發中,郵件發送是個比較常見的場景。因此出現了很多相關的軟體和服務,各大雲廠商也推出自己的郵件服務。今天筆者就像大家介紹一種常見的組合,AWS的郵件服務 SES 與郵件伺服器 postfix 的配置和使用方法。 概述 什麼是 AWS-SES Amazon Simple Email Servic ...
  • 寫在前面 令人愉快又頹廢的周日馬上就要到了,正在計劃這周博客寫什麼的我,突然收到導師發給我的消息,What?要給我發補助? 這樣中午不得去食堂加一個餐,很快啊,我就說了聲:謝謝。 但後續證明我還是太嫩了些,天上是沒有免費午餐的。 不過對於這種專業相關,而且能從中學到不少東西的任務,我還是十分樂意去乾 ...
  • 1.下載安裝包 1.1 下載elasticsearch 7.13.3 curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.3-linux-x86_64.tar.gz 1.2 解壓文件 t ...
  • SQL的語法 SQL通用語法 SQL語句可以單行或多行書寫,以分號(“;”)結尾。 SQL語句可以使用空格或縮進增強可讀性。 MySQL資料庫的SQL語句不區分大小寫(建議關鍵字大寫)。 註釋 單行註釋: -- 內容 # 內容(MySQL特有) 多行註釋: /* 內容 */ SQL語句分類 分類 全 ...
  • MyBatisPlus(簡稱MP)是基於MyBatis框架基礎上開發的增強型工具,旨在簡化開發、提高效率 - 無侵入:只做增強不做改變,不會對現有工程產生影響 - 強大的 CRUD 操作:內置通用 Mapper,少量配置即可實現單表CRUD 操作 - 支持 Lambda:編寫查詢條件無需擔心欄位寫錯... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...