袁宜霞
關鍵詞:推薦系統(tǒng);模型離線實驗;A/B Test在線實驗
0 引言
在互聯(lián)網(wǎng)信息爆炸式增長的今天,人們通過多種渠道隨時隨地能接收到各種類型的新聞資訊信息,呈現(xiàn)給所有用戶一樣資訊內(nèi)容的方式已經(jīng)不適應于當前時代,發(fā)展個性化推薦是提升內(nèi)容消費用戶體驗和業(yè)務指標的重要手段,面對浩如煙海的信息,如何更加精準地將用戶感興趣的資訊推薦給用戶,提高用戶黏度,做到“千人千面”的推薦,這就需要研發(fā)團隊提高推薦系統(tǒng)的效果[1]。但是與傳統(tǒng)評測有所不同,推薦系統(tǒng)采用的不是傳統(tǒng)意義上的輸入與輸出,測試人員難以介入推薦系統(tǒng)的模型和算法等中間過程,這給評測帶來了較大難度。
本文通過分析資訊推薦系統(tǒng)架構,制定了一套推薦系統(tǒng)評測方案,介紹了具體的測試方法和實踐過程,并給出提升推薦系統(tǒng)研發(fā)效率的舉措。
1 資訊推薦系統(tǒng)評測框架
如圖1所示,用戶通過手機進入資訊類軟件查看資訊內(nèi)容,資訊類軟件會通過用戶畫像Profile和特征進行資訊內(nèi)容推薦,同時在后臺收集用戶在軟件內(nèi)的各種操作行為,并進行日志存儲,以便于優(yōu)化推薦效果。
接下來本文將從如下幾個方面闡述資訊類推薦系統(tǒng)的評測點和具體方法,其中1.1到1.4是資訊推薦系統(tǒng)的基礎數(shù)據(jù)評測,1.5是推薦系統(tǒng)效果的評測?;A數(shù)據(jù)評測是推薦系統(tǒng)效果評測的基礎,只有保證基礎數(shù)據(jù)準確無誤才能正確地評測推薦系統(tǒng)效果。在基礎數(shù)據(jù)評測中會采用到眾測、用戶調研和競爭產(chǎn)品分析對比測試等測試手段。
眾測是指將軟件測試任務發(fā)布給一批真實的用戶執(zhí)行,這些用戶來自不同行業(yè),年齡不一,具有不同的軟件使用習慣,呈現(xiàn)出用戶信息的多樣性,與雇傭的專業(yè)測試人員有很大區(qū)別[2]。用戶在參與測試的過程中根據(jù)參與任務數(shù)量、反饋問題價值和配合度等獲得相應的獎勵積分,從而提高測試質量。研發(fā)團隊利用眾測在短時間內(nèi)完成大量的產(chǎn)品體驗,使軟件在不同的真實場景下充分被測試,增強了軟件的可靠性,也讓研發(fā)團隊能更快地收集到來自用戶的意見和反饋,低成本地發(fā)現(xiàn)軟件缺陷,這種方式在很大程度上緩解了用戶數(shù)量不足,測試成本高等問題。目前流行的眾測平臺有百度眾測、騰訊眾測等。
用戶調研是了解用戶在特定場景下的要求與意愿,從而產(chǎn)生對應產(chǎn)品需求的活動。用戶調研方法問卷法、觀察法、實驗法、單人訪談法、頭腦風暴法、焦點小組和自我陳述法等[3],不同的方法有不同的優(yōu)勢,團隊根據(jù)自身產(chǎn)品特點和調研對象去選擇合適的調研方法。
競爭產(chǎn)品分析對比測試是指從各個維度將自身產(chǎn)品與其他競爭產(chǎn)品進行對比測試,并分析結果數(shù)據(jù)來優(yōu)化自身產(chǎn)品,提高自身產(chǎn)品的品質和競爭力。不同角色的側重點不一樣,軟件測試人員更關注競爭產(chǎn)品的主要功能和性能、架構、頁面細節(jié)、交互流程、視覺表現(xiàn)、用戶體驗、用戶反饋和特色功能等。競爭產(chǎn)品分析測試包括客觀數(shù)據(jù)對比和主觀用戶流程模擬測試,列出競爭產(chǎn)品和自身產(chǎn)品的優(yōu)勢與不足。
1.1 用戶畫像Profile 評測
對于個性化推薦系統(tǒng)來說,用戶畫像是否準確,直接影響到推薦效果。如果用戶畫像Profile不準確,用戶會收到很多不喜歡甚至是反感的資訊,進而帶來用戶的流失。
對用戶畫像Profile評測,主要分為兩個部分。
1) 靜態(tài)Profile
1) 靜態(tài)Profile靜態(tài)Profile包括性別、年齡、星座、居住地、家鄉(xiāng)等,對于靜態(tài)Profile,測試人員主要評估用戶信息的覆蓋度、準確性。
①覆蓋度評測的重點在于個人基本信息的覆蓋是否全面,基于足夠全面的用戶信息才能提供更精準的內(nèi)容推薦。除了年齡和性別等基本信息,還要盡量覆蓋職業(yè)、收入、婚姻狀態(tài)等信息。
②準確性評測的重點在于收集的用戶信息是否準確,對有誤的信息要進行追蹤解決。
靜態(tài)Profile評測可以采用用戶調研的問卷方式進行,測試人員需要提前做好用戶的選取,可以通過眾測方式來進行用戶招募、任務分發(fā)和數(shù)據(jù)收集。測試過程中采取交叉驗證,混合已知正確答案等方式。
2) 動態(tài)特征
動態(tài)特征是用戶積累的興趣特征,每款軟件都有各自的特征積累方法,對于資訊類軟件,用戶點擊、滾動瀏覽、收藏、點贊、評論和分享文章等以及搜索某些關鍵字,都會積累相關特征到用戶畫像Profile里面。
對于動態(tài)特征,測試人員主要評估特征積累的及時性、準確性。
①及時性在于分析各個場景下上報特征是否及時。在線實時行為的特征需要立即上報,如近30分鐘內(nèi)的操作記錄及時上報,離線中長期行為的特征在特定時間后確認特征是否上報,如近7天/30天的閱讀類目等。
②準確性在于特征的積累是否準確。例如用戶閱讀的文章具有“王者榮耀”的標簽,那么需要確認在特征中“王者榮耀”的權重是否有相應的增加。
動態(tài)特征積累評測主要采用手工測試,根據(jù)場景的測試優(yōu)先級進行排期,覆蓋用戶常用路徑以及網(wǎng)絡切換和快捷入口等特殊場景。
1.2 UI 交互評測
UI交互是指對軟件的人機交互、操作邏輯和界面美觀的整體設計,對資訊類用戶體驗產(chǎn)生的影響非常大。UI交互的評測更多是主觀的用戶感受,所以,評測主要是采用競爭產(chǎn)品分析對比測試,以及收集本產(chǎn)品真實用戶反饋的方式,測試人員需要從如下兩個方面進行評測:
1) UI方面
測試人員評估信息展現(xiàn)方式是否使用當下流行的方式,圖文排版是否采用合理的展示方式,界面主色調是否符合與產(chǎn)品和品牌定位等。
2) 交互方面
測試人員評估資訊刷新方式是否好用,瀏覽信息方式是否合理,如視頻類資訊是否在Wi-Fi下自動播放,播放結束后是否自動播放推薦的下一個視頻等。
1.3 內(nèi)容質量評測
對于資訊類軟件而言,內(nèi)容質量評測至關重要。內(nèi)容質量主要包括文章質量好、時效性高、文章的分類準確和文章標簽提取準確。
1) 文章質量
對于外部轉載的文章,判斷文章質量優(yōu)劣的一個重要因素是來源,優(yōu)質賬號的文章質量較高,也很容易獲得分享和點贊。對于原創(chuàng)的文章,優(yōu)質的文章讓讀者讀完后覺得有價值和意義,而低質的文章主要是標題黨、錯別字多、偽科學、夾帶廣告、低俗色情等,也很容易被人舉報。文章質量可以結合真實用戶行為來進行評測,測試人員在作評測時,把文章來源、用戶的正面和負面反饋、用戶評論等作為輸入條件進行建模分析,進而對線上的文章質量進行評測。
2) 時效性
對于熱點資訊,時效性高是至關重要的。在實際評測過程中,無法一直采用人工測試,所以進行自動化腳本監(jiān)控是十分必要的。通過爬蟲等手段實時監(jiān)控幾家頭部資訊軟件的熱點新聞,如果熱門新聞沒在自身產(chǎn)品中推送,說明熱點新聞更新不夠及時,需要進行改進。
3) 文章分類
文章分類的準確性直接影響了推薦的準確性。在文章分類評測時,首先明確每個分類的含義以及邊界,方便用戶理解,然后抽樣出熱門分類的多篇文章通過眾測平臺發(fā)布任務給多個用戶進行標注,最后對人工標注結果進行分析后得出評測結論。
4) 文章標簽
文章標簽是指關鍵詞,系統(tǒng)根據(jù)標簽來推薦文章給有興趣閱讀的用戶。測試人員通過腳本抓取標簽詞,進行粗略分析,再由人工進行評測。
1.4 日志統(tǒng)計上報評測
任何產(chǎn)品都會進行日志統(tǒng)計上報,一方面可以通過上報數(shù)據(jù)觀察當前產(chǎn)品的使用情況,另一方面,可以依據(jù)上報數(shù)據(jù)來關注產(chǎn)品的KPI指標,比如對于資訊產(chǎn)品,關鍵的指標有訪問量PV、用戶數(shù)UV、點擊率CTR、瀏覽時長等。如果日志統(tǒng)計數(shù)據(jù)失真,那么研發(fā)團隊基于這些用戶數(shù)據(jù)所做的算法調整和產(chǎn)品策略優(yōu)化等都將是無效的。
對于日志統(tǒng)計上報功能的測試,測試人員首先需要確定哪些場景應該要有日志上報,對于資訊產(chǎn)品,用戶的曝光、點擊、閱讀時長、評論、分享、收藏等都是需要統(tǒng)計的,而且要細致地分入口進行統(tǒng)計;其次,除了測試正常場景的上報,還需要注意覆蓋不同機型、不同網(wǎng)絡切換場景、信號弱場景、地域相關場景等是否正常上報。在日志統(tǒng)計上報功能測試時,測試人員要重點關注的是上報數(shù)據(jù)是否全面、準確和及時可靠。
1.5 推薦系統(tǒng)效果評測
1) 模型離線實驗
算法和模型是推薦系統(tǒng)的核心,直接決定了推薦效果的好壞。模型離線實驗是指模型沒有部署到生產(chǎn)環(huán)境之前從實際的日志統(tǒng)計上報系統(tǒng)提取數(shù)據(jù)集來訓練一個模型,對訓練好的模型進行離線評估來確定模型的效果。推薦系統(tǒng)中包含多種算法,以常見的推薦算法為例,此算法將用戶靜態(tài)Profile和用戶資訊瀏覽的動態(tài)特征等作為輸入數(shù)據(jù),預測用戶組對具有特定屬性的資訊會感興趣并進行召回和排序,最終推送給特定的用戶組。推薦算法主要有協(xié)同過濾算法、流行度推薦算法、基于內(nèi)容推薦算法和混合推薦算法等,不同的推薦任務需要不同的用戶信息并采用不同的推薦算法。推薦算法的多樣性導致推薦效果評測具有較大挑戰(zhàn)性。當前對于推薦算法的評測方法是利用用戶數(shù)據(jù)集對算法進行離線實驗[4],即在給定用戶數(shù)據(jù)集后,評測人員會將數(shù)據(jù)分成訓練集和測試集,然后根據(jù)訓練集建立資訊推薦模型來預測測試集中的用戶行為。其中用戶的數(shù)據(jù)集可以包含多種用戶行為,例如用戶點擊CTR信息、點擊信息、時長信息等。模型離線實驗是推薦系統(tǒng)中包含算法評測的基石,它為算法迭代提供兜底依據(jù),并且具有路徑短,可以方便地完成閉環(huán)進行快速迭代、不會影響線上真實用戶體驗、效率高可快速驗證大量算法的優(yōu)勢。
模型離線實驗的評測指標包括預測準確度、覆蓋率、多樣性和新穎性、驚喜度、信任度、實時性和健壯性等。模型離線實驗的目標是需要在覆蓋率、多樣性和新穎性不低于團隊設定的基準值的情況下,盡可能地提高預測準確率。預測準確度是評價推薦算法最基本的指標,在推薦系統(tǒng)中常用的準確度指標為評分預測和Top-N推薦,其中評分預測中通常使用均方根誤差RMSE或者平均絕對誤差MAE等評測指標,而Top-N推薦更多地使用標準化折扣累積收益NDCG或者平均精度均值MAP的衡量方法[5];覆蓋率指標是指算法向用戶推薦的文章占全部符合條件文章的比例,也就是能否將所有文章推送到適合的用戶,而不是對于所有用戶只推薦全局熱點文章,增大推薦范圍的局限性,其可以被分為預測覆蓋率、推薦覆蓋率及準確覆蓋率,在資訊推薦中最為關鍵的是預測覆蓋率,其表示系統(tǒng)可以預測評分的文章占所有符合露出條件文章的比例;多樣性和新穎性重要性在于推薦系統(tǒng)中常見的問題是用戶如果大量長時間地點擊同一個主題或者是分類,其后推薦的資訊會呈現(xiàn)漏斗狀,限制了用戶的閱讀,這時候就需要推薦系統(tǒng)進行獵奇的多樣、新穎推薦以彌補這些缺陷。信任度、實時性和健壯性等指標目前大多數(shù)還是采用用戶調研打分的方式進行評分。
綜上,模型離線實驗依賴于提前給定的用戶數(shù)據(jù)集,并不能展示出算法對線上真實環(huán)境下產(chǎn)品關鍵性指標的影響,所以離線實驗只能作為衡量算法效果的輔助指標。
2) A/B Test在線實驗
為了解決模型離線實驗不能展示出算法對線上真實環(huán)境下產(chǎn)品關鍵性指標影響的缺點,推薦系統(tǒng)效果評測引入A/B Test在線實驗。A/B Test在線實驗的評測指標是線上真實用戶數(shù)據(jù)指標,例如活躍用戶數(shù)量、用戶點擊率、訪問量PV、用戶數(shù)UV、評論量、負反饋率和瀏覽時長等。A/B Test可以用來測試產(chǎn)品的新功能特性和算法,通過在真實線上生產(chǎn)環(huán)境設置兩組相同數(shù)量的用戶進行實驗,其中一組用戶為對照組,應用的是當前產(chǎn)品的功能特性或算法,另一組用戶為實驗組,應用產(chǎn)品的新功能特性或算法,然后統(tǒng)計分析實驗數(shù)據(jù),確認實驗組數(shù)據(jù)是否更好。如果實驗組數(shù)據(jù)更好則可以在線上生產(chǎn)環(huán)境中逐漸全量發(fā)布新功能特性或算法,否則,調整新功能特性或者優(yōu)化算法后再重新開始實驗。對于資訊推薦系統(tǒng),A/B Test能支持基于用戶畫像Profile下發(fā)會事半功倍。
在進行A/B Test在線實驗時,選取樣本量是最重要的一步。如果選取的樣本量太小,那么實驗結果會有很大的波動,不可信。如果選取的樣本量太大,對真實用戶的影響面也就越大,對于一些有可能帶來負面影響的探索性實驗,把過多的真實用戶納入實驗范圍是不合理的,而且樣本量過大也會帶來資源和流量的浪費。在參考文獻[6]中給出了實驗所需最小樣本量和比例類數(shù)值所需最小樣本量的計算公式,測試人員可以利用Python 的科學計算庫來計算出最小樣本量。
2 總結
一個優(yōu)秀的推薦系統(tǒng)是數(shù)據(jù)、UI交互、架構和算法等環(huán)節(jié)的有機結合,推薦系統(tǒng)的質量依賴于各個組成環(huán)節(jié)的質量以及環(huán)節(jié)間配合的順暢度。從評測的角度提升推薦系統(tǒng)效果,測試人員不僅需要提供各個環(huán)節(jié)相關評測指標、發(fā)現(xiàn)產(chǎn)品缺陷,還應該關注競爭產(chǎn)品的對比分析、真實用戶行為觀察以及產(chǎn)品缺陷的快速追查,從而保證整體推薦系統(tǒng)的可用、高效、準確。
1) 競爭產(chǎn)品分析對比測試從文章來源、分類到文章標簽提取質量,都可以通過自動化抓取競爭產(chǎn)品的數(shù)據(jù)進行對比評測,評測過程中不僅可以評估系統(tǒng)效果,同時也可以反饋產(chǎn)品缺陷、獲取較好的訓練數(shù)據(jù)集,從而推動推薦系統(tǒng)不斷優(yōu)化。
2) 在大數(shù)據(jù)的評測中由于推薦系統(tǒng)實現(xiàn)鏈路較長,對于缺陷的追查過程較為煩瑣,所以可以開發(fā)缺陷追查系統(tǒng),將資訊推薦路徑日志自動化過濾出來以方便研發(fā)團隊定位問題和進行排查。
3) 真實用戶行為觀察旨在彌補用戶調研中可能存在的用戶不了解自身真實興趣或行為的情況,通過觀察真實用戶行為可以了解用戶點擊模型和瀏覽習慣,進一步增加推薦算法的參數(shù)維度,提高推薦點擊率。
綜上,推薦系統(tǒng)的評測需要深入到每一個環(huán)節(jié),才能更好地提升推薦系統(tǒng)效果,將用戶真正感興趣的資訊精準地推送到用戶。