影響推薦系統(tǒng)效果5個(gè)因素

2 評(píng)論 8675 瀏覽 53 收藏 15 分鐘

影響推薦系統(tǒng)的因素有哪些?文章總結(jié)了5個(gè)要素,一起來(lái)看看。

在一個(gè)網(wǎng)站或者app中,推薦系統(tǒng)通常會(huì)和整個(gè)大系統(tǒng)的多個(gè)方面有交互,推薦系統(tǒng)本身也有很多的組成部分,再加上整個(gè)系統(tǒng)所處的大環(huán)境,綜合起來(lái)會(huì)有很多因素影響著一個(gè)推薦系統(tǒng)最終效果的好壞,這里的效果指的是包括準(zhǔn)確率、召回率、多樣性等等指標(biāo)在內(nèi)的一個(gè)整體整體效果,不做具體區(qū)分。在這里我們?cè)噷?duì)其中一些主要的因素做一討論。需要指出的是,這些因素里面并不是所有的我們都可以左右,但是了解它們究竟是什么對(duì)我們開(kāi)發(fā)和優(yōu)化系統(tǒng)還是非常有用的。

一、用戶因素

與廣告系統(tǒng)需要同時(shí)面對(duì)用戶和廣告主不同,推薦系統(tǒng)的服務(wù)對(duì)象只有一個(gè),那就是用戶,所以用戶的因素很大程度會(huì)影響系統(tǒng)的效果。具體來(lái)講,系統(tǒng)中新用戶和老用戶的比例可以說(shuō)是對(duì)效果影響最大的因素之一。大家知道推薦系統(tǒng)是高度依賴用戶行為的,而對(duì)于無(wú)任何行為或者行為非常少的新用戶,效果肯定是不會(huì)太好的,所以整個(gè)系統(tǒng)中新用戶的比例越高,系統(tǒng)的整體表現(xiàn)就會(huì)越差。

這就是一個(gè)典型的推薦系統(tǒng)本身無(wú)法左右的因素,而是需要整個(gè)系統(tǒng)共同努力來(lái)解決。對(duì)于這個(gè)問(wèn)題,有兩種解決思路:一種是努力優(yōu)化推薦系統(tǒng)的冷啟動(dòng)算法,這種方法肯定會(huì)有效,但是其天花板也是非常低的;而另一種方法,是努力將平臺(tái)上的新用戶轉(zhuǎn)化為老用戶,也就是說(shuō)努力讓他們與平臺(tái)多交互,產(chǎn)生行為,從而脫離冷啟動(dòng)的階段。這兩種方法相比,可能第二種的效果要更好,這主要是因?yàn)槔鋯?dòng)算法的優(yōu)化空間實(shí)在有限,而將其轉(zhuǎn)為“熱”用戶之后,各種優(yōu)化策略就都可以派上用場(chǎng)了。這也是一種可以在多種場(chǎng)景下借鑒的思路:將未知問(wèn)題轉(zhuǎn)化為已知問(wèn)題,而不是創(chuàng)造新問(wèn)題。

二、產(chǎn)品設(shè)計(jì)因素

所謂產(chǎn)品設(shè)計(jì)因素,指的是推薦出的物品在什么位置、以何種形式展示給用戶。如果說(shuō)推薦算法是一個(gè)人的內(nèi)在,那么產(chǎn)品設(shè)計(jì)就是一個(gè)人的臉。在現(xiàn)在這個(gè)看臉的時(shí)代,長(zhǎng)得好不好看會(huì)很大程度上影響算法能量的釋放程度。最常見(jiàn)的影響效果的外在因素包括但不限于:

圖片的質(zhì)量。互聯(lián)網(wǎng)早已進(jìn)入讀圖時(shí)代,無(wú)論任何物品的推薦,例如商品、資訊等,有圖片的吸引力一定是大于無(wú)圖片的。而對(duì)于都有圖片的情況,圖片的大小和清晰度則會(huì)對(duì)用戶是否感興趣產(chǎn)生很大影響。除了大小和清晰度這種基礎(chǔ)的質(zhì)量以外,圖片本身傳達(dá)出來(lái)的信息的質(zhì)量也很關(guān)鍵,例如對(duì)于商品的圖片,如果不能在圖片中展示出該商品的主要信息和用戶關(guān)心的內(nèi)容,那么用戶點(diǎn)擊的概率就會(huì)大大降低,畢竟大家都很忙,點(diǎn)一下也是有代價(jià)的。所以對(duì)于C2C市場(chǎng)這樣以用戶自己拍攝的照片為主的場(chǎng)景,引導(dǎo)用戶拍出高質(zhì)量的商品圖片就顯得尤為重要,這個(gè)問(wèn)題上Airbnb自費(fèi)給房東拍照片的故事已經(jīng)足夠證明其重要性和意義了。

主題的吸引程度。除了圖片以外,以文字形式描述的主題也是非常重要的,畢竟文字還是人們獲取信息的一個(gè)主要途徑。在轉(zhuǎn)轉(zhuǎn)平臺(tái)上,會(huì)有一些偷懶的用戶在文字描述中只寫(xiě)類(lèi)似“如圖,私聊”這樣的信息,可想而知這樣的描述競(jìng)爭(zhēng)力是比較弱的,同時(shí)也會(huì)讓人覺(jué)得賣(mài)家對(duì)這個(gè)商品并不是很上心,所以除非你的商品在其他方面極具競(jìng)爭(zhēng)力,否則是很難得到轉(zhuǎn)化的。

主題吸引人固然重要,但是過(guò)于“頭重腳輕”,只關(guān)注主題質(zhì)量,而忽略物品本身質(zhì)量的話,反而會(huì)起到反作用,引起用戶的反感。這里面最典型的例子就是現(xiàn)在充斥屏幕的各種標(biāo)題黨文章了,為了吸引用戶的點(diǎn)擊而在起標(biāo)題上面大做文章,但用戶點(diǎn)進(jìn)去之后發(fā)現(xiàn)要么文章質(zhì)量低下,要么文不對(duì)題,長(zhǎng)期以往下去,會(huì)對(duì)平臺(tái)的信譽(yù)度產(chǎn)生很大的負(fù)面影響,是一種殺雞取卵的做法。

所以說(shuō),在文字內(nèi)容描述方面,要盡量信息周全,但也不能背離事實(shí),單純?yōu)榱艘粫r(shí)的點(diǎn)擊率,而犧牲了平臺(tái)的長(zhǎng)遠(yuǎn)發(fā)展。

關(guān)鍵信息是否露出。所謂關(guān)鍵信息,指的是能夠左右或影響用戶產(chǎn)生點(diǎn)擊、轉(zhuǎn)化的信息,除了上面提到的圖片和文字描述以外,各個(gè)業(yè)務(wù)場(chǎng)景下都有一些有特點(diǎn)的關(guān)鍵信息 ,例如銷(xiāo)量、評(píng)論數(shù)等等。一部分是因?yàn)檫@些信息本身就會(huì)對(duì)用戶的轉(zhuǎn)化產(chǎn)生影響,另一方面,推薦算法在召回或排序時(shí)可能用到了這些信息,那么將這些信息展現(xiàn)出來(lái),一定程度上充當(dāng)了推薦解釋的功能。

是否有干擾信息。這個(gè)指的是模塊周?chē)欠裼杏绊懹脩糇⒁饬Φ钠渌麅?nèi)容,能否讓用戶比較專(zhuān)心地瀏覽推薦模塊。典型的如一些亮閃閃的廣告或者促銷(xiāo)/活動(dòng)banner之類(lèi)的,放在推薦位的旁邊會(huì)對(duì)用戶的注意力產(chǎn)生不同程度的影響,進(jìn)而影響轉(zhuǎn)化。如果推薦系統(tǒng)在你的業(yè)務(wù)中是重要的一部分,那么就應(yīng)該給予它足夠?qū)Wⅲ╠edicated)的空間和位置,而盡量不要將其與其他內(nèi)容混在一起。在這個(gè)紛繁復(fù)雜的世界里,很多時(shí)候,少就是多(less is more)。

三、數(shù)據(jù)因素

推薦系統(tǒng)是典型算法驅(qū)動(dòng)的系統(tǒng),而如果說(shuō)算法是系統(tǒng)的骨架,那么數(shù)據(jù)就是系統(tǒng)的血液。如果數(shù)據(jù)質(zhì)量和數(shù)量不夠,那么任何算法的效果都會(huì)打折扣。數(shù)據(jù)的數(shù)量不足是很容易理解的,而且數(shù)據(jù)量是否充足很多時(shí)候和整個(gè)網(wǎng)站或APP的發(fā)展?fàn)顩r有關(guān),不是我們所能左右的,但數(shù)據(jù)質(zhì)量則不同,是可以通過(guò)人為的努力而不斷加強(qiáng)的。所以這里就簡(jiǎn)單說(shuō)一下數(shù)據(jù)質(zhì)量方面常見(jiàn)的可能存在的問(wèn)題。

關(guān)鍵信息缺失。信息缺失是數(shù)據(jù)質(zhì)量方面最大的問(wèn)題之一,尤其是影響到算法策略或排序模型的關(guān)鍵信息。例如曝光數(shù)據(jù)中沒(méi)有具體曝光位置信息,展現(xiàn)日志中沒(méi)有用戶停留時(shí)長(zhǎng)的信息等等,這些信息的確實(shí)會(huì)直接導(dǎo)致算法效果的下降,進(jìn)而影響最終效果。類(lèi)似這些問(wèn)題的出現(xiàn),很多時(shí)候是因?yàn)樵谧畛醯臄?shù)據(jù)系統(tǒng)建設(shè)時(shí),沒(méi)有算法相關(guān)的人員參與,導(dǎo)致沒(méi)有把這些相關(guān)信息設(shè)計(jì)進(jìn)去。不過(guò)這類(lèi)問(wèn)題也相對(duì)好解決,只要在發(fā)現(xiàn)有缺失之后盡快補(bǔ)充進(jìn)去就好了。

數(shù)據(jù)設(shè)計(jì)欠佳,使用復(fù)雜。還有一種情況,就是關(guān)鍵信息都有,沒(méi)有嚴(yán)重缺失,但是數(shù)據(jù)結(jié)構(gòu)或表結(jié)構(gòu)設(shè)計(jì)不夠合理,導(dǎo)致獲取一個(gè)信息要join多張表,或經(jīng)過(guò)復(fù)雜的運(yùn)算邏輯。這種情況下,雖然關(guān)鍵信息都可以獲取到,但是由于獲取成本高,很有可能在工程實(shí)現(xiàn)中被不同程度地做折中,導(dǎo)致數(shù)據(jù)質(zhì)量打折扣,影響最終效果。這類(lèi)問(wèn)題的解決方法,從大的思路上來(lái)講是要做好算法相關(guān)的數(shù)據(jù)倉(cāng)庫(kù)/數(shù)據(jù)集市建設(shè),使得數(shù)據(jù)的獲取、變動(dòng)和維護(hù)都盡量簡(jiǎn)單化,減少數(shù)據(jù)建設(shè)的成本,從而提高數(shù)據(jù)的使用效率。

推薦系統(tǒng)使用到的數(shù)據(jù)通常是整個(gè)網(wǎng)站的數(shù)據(jù)系統(tǒng)中的一個(gè)子集,所以這部分?jǐn)?shù)據(jù)質(zhì)量的把控需要推薦系統(tǒng)的開(kāi)發(fā)人員和數(shù)據(jù)系統(tǒng)的開(kāi)發(fā)人員共同的努力,才能保證數(shù)據(jù)的可用性和易用性。

四、算法策略因素

上面說(shuō)了這么多,終于說(shuō)到了推薦系統(tǒng)最核心的算法策略部分。算法策略對(duì)效果的影響是毋庸置疑的,但是其影響也是多方面的,具體來(lái)講,算法可能會(huì)從以下幾個(gè)方面影響效果。

算法復(fù)雜度影響準(zhǔn)確性。復(fù)雜度越高的算法整體上準(zhǔn)確性較高,無(wú)論使用什么具體算法,這個(gè)大趨勢(shì)整體來(lái)說(shuō)是正確的。例如簡(jiǎn)單的排序模型可能干不過(guò)非線性模型,連續(xù)值特征有可能干不過(guò)離散化后的非線性特征,時(shí)序問(wèn)題上vanilla rnn干不過(guò)LSTM等等。在保證數(shù)據(jù)質(zhì)量的前提下,用復(fù)雜度高的模型是一種能夠確保收益的效果提升方式,當(dāng)然前提是算法要與業(yè)務(wù)相契合,不能為了復(fù)雜而復(fù)雜。

算法的穩(wěn)定性影響效果的穩(wěn)定性。我們知道在機(jī)器學(xué)習(xí)模型中有一類(lèi)模型具有低偏差但同時(shí)也具有高方差,這里的高方差,指的是在訓(xùn)練出來(lái)的模型,在不同的數(shù)據(jù)集上表現(xiàn)差異會(huì)比較大,這種現(xiàn)象還有另外一個(gè)名字就是過(guò)擬合。如果數(shù)據(jù)量足夠大的話,再加上合理的正則化手段,過(guò)擬合是比較容易避免的。所以問(wèn)題更容易出現(xiàn)在數(shù)據(jù)量不足的情況下,在這種情況下,應(yīng)該選擇例如線性模型這樣簡(jiǎn)單模型來(lái)保證結(jié)果的穩(wěn)定性,甚至可以考慮使用基于規(guī)則的算法來(lái)保證穩(wěn)定性。

為什么要關(guān)注結(jié)果的穩(wěn)定性呢?這里的原因和我們?cè)趯W(xué)習(xí)算法設(shè)計(jì)分析時(shí)要關(guān)注算法的平均復(fù)雜度是類(lèi)似的。我們雖然希望得到一個(gè)非常準(zhǔn)確的模型,但是更希望這個(gè)模型在線上運(yùn)行時(shí)穩(wěn)定的,是可預(yù)期的,不會(huì)今天效果好,明天效果差。在實(shí)際使用中,無(wú)論準(zhǔn)確率如何,都希望穩(wěn)定性是有保證的。

五、工程架構(gòu)因素

最后,我們?cè)賮?lái)簡(jiǎn)單說(shuō)一下工程架構(gòu)方面的因素。無(wú)論什么樣的數(shù)據(jù),什么樣的算法,最終呈獻(xiàn)給用戶之前都需要具體的工程落地,那么這個(gè)落地過(guò)程中選擇的具體工程架構(gòu)也會(huì)對(duì)效果產(chǎn)生影響。

效應(yīng)耗時(shí)的影響。接口的響應(yīng)速度無(wú)疑是工程架構(gòu)對(duì)用戶的最直接體現(xiàn),響應(yīng)速度慢肯定會(huì)導(dǎo)致用戶的不耐煩,可能就直接流失掉了。要提高速度,通常會(huì)有幾類(lèi)方法,一類(lèi)是對(duì)算法進(jìn)行優(yōu)化,減少不必要的計(jì)算;二是選擇簡(jiǎn)單算法;三是使用緩存的思路,只在在線部分進(jìn)行盡量少的計(jì)算,其余的計(jì)算都放到離線或近線層去做,減少實(shí)時(shí)計(jì)算的負(fù)擔(dān)。

架構(gòu)設(shè)計(jì)對(duì)問(wèn)題排查監(jiān)控的影響。老司機(jī)們都知道,只能跑不能修的車(chē)是肯定不能上路的。同理,推薦系統(tǒng)的整體架構(gòu)設(shè)計(jì)要對(duì)問(wèn)題的排查比較友好,能夠在出現(xiàn)問(wèn)題或者需要驗(yàn)證猜想的時(shí)候能夠快速在系統(tǒng)中進(jìn)行定位,而不是現(xiàn)加debug信息現(xiàn)上線,導(dǎo)致問(wèn)題排查過(guò)程被拖長(zhǎng)。優(yōu)秀的工程師會(huì)在系統(tǒng)設(shè)計(jì)的時(shí)候就給自己留好后路,而不是在出了問(wèn)題時(shí)才臨時(shí)抱佛腳。

架構(gòu)設(shè)計(jì)對(duì)迭代速度的影響。除了響應(yīng)速度這種較為表面的影響以外,整個(gè)架構(gòu)的設(shè)計(jì)能否支持快速的策略迭代對(duì)效果的隱形影響也是極大的。如果整體架構(gòu)比較臃腫,模塊分離不清晰,基礎(chǔ)邏輯缺乏適當(dāng)抽象同一,會(huì)導(dǎo)致數(shù)據(jù)和策略的迭代無(wú)法快速進(jìn)行,每迭代一次都要走很復(fù)雜的流程,而且還不能保證正確性。這樣的問(wèn)題會(huì)拖累系統(tǒng)的發(fā)展速度,最終影響效果。

總結(jié)

除了上面提到的因素,還有很多細(xì)節(jié)會(huì)影響推薦系統(tǒng)的最終效果,所以說(shuō)我們?cè)谔嵘扑]系統(tǒng)效果時(shí),眼睛不能只盯著一處,而是要具有一定的全局觀,能夠從全局的角度找到當(dāng)前對(duì)效果影響最大的是什么,進(jìn)而進(jìn)行針對(duì)性優(yōu)化。對(duì)于那些暫時(shí)不能改變的因素,也要做到心里有數(shù),在適當(dāng)?shù)臅r(shí)機(jī)進(jìn)行干預(yù)。

End.

 

作者:張相於

來(lái)源:http://www.36dsj.com/archives/100047

本文來(lái)源于人人都是產(chǎn)品經(jīng)理合作媒體@36大數(shù)據(jù),作者@張相於

題圖來(lái)自PEXELS,基于CC0協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 從底層到應(yīng)用層,各個(gè)方面都說(shuō)得很清楚,贊

    來(lái)自廣東 回復(fù)