推薦系統(tǒng)的目標(biāo)是為用戶推薦可能會(huì)感興趣的標(biāo)的物。通過算法推薦達(dá)到節(jié)省用戶時(shí)間、提升用戶滿意度、為公司創(chuàng)造更多的商業(yè)價(jià)值的目的。
要想達(dá)到這個(gè)目的就需要讓用戶信任你的推薦系統(tǒng),只有信任了,用戶才會(huì)經(jīng)常使用推薦系統(tǒng)。
那么我們?cè)鯓幼龅阶層脩粜湃文兀?/p>
一種比較好的方法是為用戶推薦標(biāo)的物的同時(shí)給用戶提供推薦的理由,向用戶解釋清楚是基于什么原因給他推薦的。
那怎樣在推薦的同時(shí)提供推薦的理由呢?
這就是本文的主題,下面作者會(huì)給大家提供一套構(gòu)建可解釋推薦系統(tǒng)的策略和方法。
本文會(huì)從可解釋性推薦系統(tǒng)簡介、構(gòu)建可解釋性推薦系統(tǒng)的方法、常用工業(yè)級(jí)推薦產(chǎn)品的推薦解釋、更好的理解和落地推薦解釋需要思考的問題、構(gòu)建可解釋性推薦系統(tǒng)面臨的挑戰(zhàn)與機(jī)遇等5個(gè)部分來講解。
希望讀者讀完本文后對(duì)可解釋性推薦系統(tǒng)有一個(gè)大致了解,并且知道有哪些方法可以用來構(gòu)建可解釋性推薦系統(tǒng)。
1
可解釋性推薦系統(tǒng)簡介
▌01.什么是推薦解釋
所謂推薦解釋,就是在為用戶提供推薦的同時(shí),給出推薦的理由。
人類是一個(gè)非常好奇的物種,不滿足于只知道結(jié)論,一定會(huì)對(duì)引起結(jié)論的原因感興趣,往往特別想知道個(gè)中的理由。小孩從會(huì)說話時(shí)起就會(huì)問各種為什么。對(duì)社會(huì)和環(huán)境的好奇,才會(huì)引起人類的探索欲,從而更好的理解和認(rèn)知這個(gè)世界,這可能是生物進(jìn)化的自然選擇吧。
在現(xiàn)實(shí)生活中,我們經(jīng)常會(huì)為朋友做推薦或者讓別人幫我們推薦,比如推薦旅游地、推薦電影、推薦書籍、推薦餐廳等。現(xiàn)實(shí)生活中的推薦,大家都會(huì)給出推薦原因的,比如推薦餐廳,我們會(huì)說這家環(huán)境好、好吃、衛(wèi)生等等。
對(duì)于互聯(lián)網(wǎng)上的推薦產(chǎn)品,相信大家不陌生。你在亞馬遜上買書時(shí),系統(tǒng)會(huì)給你推薦書,你在頭條上看新聞時(shí),系統(tǒng)會(huì)為你推薦其他的新聞。隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展和成熟,個(gè)性化推薦無處不在,變成了任何一個(gè)toC互聯(lián)網(wǎng)公司的標(biāo)配技術(shù)。
下面圖1是我們公司一個(gè)推薦產(chǎn)品,“看過該電影的人還喜歡”就是一類推薦解釋。
圖1:互聯(lián)網(wǎng)視頻行業(yè)的推薦解釋
其實(shí)解釋可以拓展到更廣泛的互聯(lián)網(wǎng)業(yè)務(wù)場景中,比如搜索中的高亮顯示,讓用戶一眼就可以看到展示的搜索內(nèi)容跟用戶輸入的關(guān)鍵詞的聯(lián)系,也算是一種解釋。
▌02.推薦解釋的價(jià)值
我們?cè)跒閯e人提供推薦時(shí)如果給出推薦的理由,會(huì)增加別人的認(rèn)可度和接受度,沒有解釋和理由的推薦是缺乏足夠說服力的。
互聯(lián)網(wǎng)上的虛擬物品的推薦,如果能夠做到像線下推薦那樣,不光給出推薦并且能夠提供推薦的解釋,說明推薦的原因時(shí),就可以提升推薦系統(tǒng)的透明度,還能夠提升用戶對(duì)推薦系統(tǒng)的信任度和接受度,進(jìn)而提升用戶對(duì)推薦產(chǎn)品的滿意度。
很多特殊行業(yè),是必須要對(duì)算法模型具備解釋能力的,比如金融、醫(yī)學(xué)、風(fēng)控等,不然用戶是無法接受你的推薦的。這里舉個(gè)例子說明解釋的重要性和必要性:一個(gè)用戶得了很嚴(yán)重的病,你推薦一個(gè)藥物給他,你說這個(gè)藥物療效很好,但是說不出它為什么有效,用戶是不會(huì)接受你的推薦的。
▌03.互聯(lián)網(wǎng)推薦產(chǎn)品的推薦解釋模型
對(duì)于互聯(lián)網(wǎng)的推薦模塊,我們可以在推薦業(yè)務(wù)流(不熟悉的讀者可以參考《推薦系統(tǒng)的工程實(shí)現(xiàn)》)的哪些階段為用戶生成推薦解釋呢?
我們從推薦業(yè)務(wù)流的次序上可以將推薦解釋分為在模型訓(xùn)練過程中生成解釋(事先解釋)和推薦結(jié)果生成后做解釋(事后解釋),具體參考下面圖2:
圖2:在推薦算法的不同階段做推薦解釋
其中,在模型訓(xùn)練過程中生成推薦解釋又分為兩種情況:
一種是將推薦和解釋看成是兩個(gè)優(yōu)化目標(biāo),通過協(xié)同訓(xùn)練來同時(shí)優(yōu)化兩個(gè)目標(biāo)。
另一種情況是解釋過程嵌入到推薦過程中,解釋和推薦過程耦合在一起,融為一體,集成為一個(gè)模型訓(xùn)練。往往這類解釋方法會(huì)讓整個(gè)系統(tǒng)更加復(fù)雜,讓整個(gè)建模過程難度加大,訓(xùn)練消耗的資源更多,訓(xùn)練時(shí)間更長,但是可以提升整個(gè)模型的可解釋性。
在計(jì)算推薦結(jié)果后生成推薦解釋,基于給用戶的推薦結(jié)果,從中找出用戶跟推薦標(biāo)的物之間的某種內(nèi)在聯(lián)系,基于該關(guān)系做推薦解釋。該方案基本將推薦過程和解釋過程解耦,工程實(shí)現(xiàn)上更加簡單,也更加容易讓用戶理解和接受。
▌04.推薦解釋的形式
推薦解釋可以是具備強(qiáng)烈的因果關(guān)系的,也可能是邏輯性沒那么強(qiáng)的“牽強(qiáng)附會(huì)”。比如,“因?yàn)槟阆矚gA,而A和B很相似,所以給你推薦B”就是邏輯很嚴(yán)密的一種推薦解釋。而“因?yàn)榻裉煜掠辏越o你推薦A”這就是一類比較隨意的推薦解釋。
推薦解釋的展現(xiàn)形式可以是文字、圖片、視頻、音頻等,文字是最常用的方式。不同的產(chǎn)品形態(tài)可以采用不同的形式,比如如果是電臺(tái),可以采用音頻的方式給用戶做推薦解釋。
推薦系統(tǒng)一般會(huì)為用戶生成一個(gè)標(biāo)的物列表。在具體做推薦解釋時(shí),可以為每個(gè)推薦的標(biāo)的物做不同的解釋,當(dāng)用戶聚焦在推薦的標(biāo)的物時(shí),可以展現(xiàn)出推薦解釋的理由,或者對(duì)這一系列標(biāo)的物做統(tǒng)一一致的解釋,上面圖1就是對(duì)整個(gè)推薦模塊做統(tǒng)一的推薦解釋。
▌05.推薦解釋的現(xiàn)狀
不論是推薦系統(tǒng)的工程實(shí)踐還是學(xué)術(shù)研究,在推薦解釋上的研究和投入較少,在真實(shí)的推薦產(chǎn)品落地上也不太關(guān)注推薦解釋。
之所以出現(xiàn)這種情況,主要是大家都將精力放到提升推薦系統(tǒng)的精準(zhǔn)性上,比較少的站在用戶的角度來思考問題。對(duì)用戶來說,他不光希望給出推薦,還要說明為什么這么給他推薦,只有這樣用戶才更加認(rèn)可和信賴推薦系統(tǒng)。
有很多機(jī)器學(xué)習(xí)算法可以用于推薦系統(tǒng),有些算法模型解釋性好,有些模型是很難做解釋的。
如logistic回歸,線性模型,是很好做解釋的,而深度學(xué)習(xí)目前基本是一個(gè)黑盒,很難做解釋。
不是所有人都是算法專家,能夠理解得了推薦原理的,這就要求在必須要求做解釋的業(yè)務(wù)場景,采用易于解釋的方法。比如金融反欺詐領(lǐng)域,一般就是用的logistic回歸模型,雖然它的效果不一定比深度學(xué)習(xí)方法好,但是很容易解釋最終結(jié)果和特征之間的依賴及變化關(guān)系。
推薦系統(tǒng)是一個(gè)非常復(fù)雜的工程體系,包含非常多的功能模塊,因此設(shè)計(jì)一個(gè)可解釋的推薦系統(tǒng)不是一件簡單的事情,需要我們投入足夠多的精力和聰明才智。下面我們就來說明怎么對(duì)推薦系統(tǒng)做解釋。
2
構(gòu)建可解釋性推薦系統(tǒng)的方法
推薦系統(tǒng)涉及到用戶、標(biāo)的物、用戶對(duì)標(biāo)的物的操作行為(點(diǎn)擊、購買、觀看、瀏覽等)三要素,而標(biāo)的物是具備一些顯式的特征的,用戶對(duì)標(biāo)的物的行為代表了用戶某種程度對(duì)具備該特征的標(biāo)的物的興趣。
基于上面的分析,推薦系統(tǒng)的解釋可以有如下三種具體實(shí)現(xiàn)方案。
參考下面圖3,可以更好地幫你理解下面的三種解釋方案。
圖3:基于推薦系統(tǒng)中標(biāo)的物與用戶的關(guān)系的三種可行的推薦解釋方案
▌01.基于用戶關(guān)系來做推薦解釋
我們可以通過各種方式建立兩個(gè)用戶之間的相互關(guān)系,如果我們能夠挖掘出這種聯(lián)系,就可以用這種關(guān)系做推薦解釋。下面是常見的三種基于用戶關(guān)系做推薦解釋的方法。
a.基于真實(shí)社交關(guān)系做推薦解釋
對(duì)于社交類產(chǎn)品,如微信、脈脈等,好友關(guān)系是可以很自然地用于推薦解釋的。
微信“看一看”中的“朋友在看”就是一種基于社交關(guān)系的推薦解釋(見下面圖4)。因?yàn)槟愕暮糜芽催^,所以你至少對(duì)該推薦不會(huì)反感,也一眼就知道微信為什么給你推薦這個(gè),這種推薦解釋非常直接、一目了然,無需多解釋,并且朋友的親密程度越高推薦被用戶接受的可能性越大。
圖4:微信“看一看”中基于社交關(guān)系的推薦解釋,打碼的地方就是朋友點(diǎn)過“在看”的
b.基于用戶的行為建立兩個(gè)用戶之間的關(guān)系,進(jìn)而做推薦解釋
對(duì)于非社交類產(chǎn)品,我們可以通過用戶在產(chǎn)品上的行為來構(gòu)建用戶關(guān)系,比如兩個(gè)用戶喜歡同樣的標(biāo)的物,有同樣的行為特征,我們可以認(rèn)為這兩個(gè)用戶是相似的用戶,雖然可能他們根本不認(rèn)識(shí)。
我們可以利用“跟你興趣相似的用戶也喜歡B”或者“喜歡A的用戶也喜歡B”等文字描述來做推薦解釋。
上面的圖1就是這類推薦解釋。
c.基于用戶畫像做推薦解釋
如果我們對(duì)用戶有比較好的了解,構(gòu)建了一套完善的用戶畫像系統(tǒng),基于用戶畫像我們就可以找到與該用戶相似的用戶,這樣就可以利用b中的方式來做推薦解釋。
比如,美團(tuán)在給你推薦餐廳時(shí),會(huì)基于你當(dāng)前所在的位置來做推薦,你當(dāng)前所在的位置就是一類畫像信息。
▌02.基于標(biāo)的物相似關(guān)系來做推薦解釋
如果用戶喜歡某個(gè)標(biāo)的物A,標(biāo)的物A跟B又相似,那么我們就可以利用A與B的相似性來做推薦解釋,這時(shí)解釋的邏輯就是“因?yàn)槟阆矚gA,A和B是相似的,所以我們猜你也喜歡B”。
我們可以有如下兩類方法來構(gòu)建標(biāo)的物之間的相似關(guān)系:
a.基于內(nèi)容特征構(gòu)建標(biāo)的物之間的關(guān)系
例如視頻的標(biāo)題,演職員,標(biāo)簽等metadata信息。我們可以利用TF-IDF、主題模型等算法構(gòu)建標(biāo)的物之間的相似關(guān)系。
b.基于用戶的行為構(gòu)建標(biāo)的物之間的關(guān)系
基于用戶對(duì)標(biāo)的物的操作(觀看、購買、點(diǎn)擊等)行為,利用嵌入模型可以構(gòu)建標(biāo)的物之間的相似關(guān)系。另外,可以從用戶的評(píng)論信息中提取出標(biāo)簽、關(guān)鍵詞等信息,利用a中的方法構(gòu)建標(biāo)的物之間的相似關(guān)系。
▌03.基于標(biāo)簽來解釋
從上面圖3可以看到,標(biāo)的物是包含一些特征標(biāo)簽的,可以基于用戶對(duì)標(biāo)的物的行為為用戶打上偏好標(biāo)簽。
因此我們可以通過顯示的標(biāo)簽來建立用戶和標(biāo)的物之間的聯(lián)系,進(jìn)而通過這些標(biāo)簽來做推薦解釋,具體的實(shí)現(xiàn)方案有如下4類。
a.通過標(biāo)簽建立用戶與標(biāo)的物之間的關(guān)系,從而做推薦解釋
用戶喜歡什么標(biāo)簽,他自己肯定是知道的,他在產(chǎn)品上的行為就是他真實(shí)興趣的反饋。
比如用戶喜歡看科幻、恐怖電影,那么“科幻”、“恐怖”就是用戶的興趣標(biāo)簽。那么我們就可以將這類電影推薦給用戶。我們只要以文字的形式,在推薦中展示這些標(biāo)簽,就起到了推薦解釋的作用。
下面圖5是電視貓電影頻道首頁的主題推薦,基于用戶的標(biāo)簽偏好來為用戶生成推薦結(jié)果,這里只是將標(biāo)簽直接展示出來(見下圖的紅色橢圓圈)作為推薦解釋,其實(shí)可以有更好的方式.
比如“因?yàn)槟憬?jīng)常看愛情電影”就是一句較完整的推薦解釋話術(shù),比單純展示標(biāo)簽更有說服力。
圖5:利用標(biāo)簽做推薦解釋的主題推薦
b.通過用戶自身的標(biāo)簽做推薦解釋
用戶自身是具備一些標(biāo)簽的,比如年齡,學(xué)習(xí),受教育程度等,我們可以利用這類標(biāo)簽來生成推薦解釋。
比如你是金牛座,“金牛座的人都愛看電影A”就是這類推薦解釋,這類解釋可能比較牽強(qiáng)。
c.基于標(biāo)的物自身的標(biāo)簽做推薦解釋
與b類似,標(biāo)的物自身的一些標(biāo)簽也可以作為生成推薦解釋的理由。
比如,這箱水果很便宜,便宜就是水果的標(biāo)簽,系統(tǒng)在推薦給你時(shí),可以用“這箱水果很便宜,所以推薦給你”做為推薦解釋。這類推薦不涉及用戶行為,直接基于標(biāo)的物特性做推薦解釋。
d.基于用戶瀏覽標(biāo)的物后的評(píng)論做推薦解釋
很多互聯(lián)網(wǎng)產(chǎn)品都具備評(píng)論的功能,如果將每個(gè)標(biāo)的物的評(píng)論信息收集起來,通過NLP技術(shù)處理,從中提取出關(guān)鍵詞標(biāo)簽,并根據(jù)用戶評(píng)論的正負(fù)反饋及評(píng)論次數(shù),可以給提取的關(guān)鍵詞賦予權(quán)重。
那么我們就可以利用這些權(quán)重大的關(guān)鍵詞來作為標(biāo)的物的推薦解釋,因?yàn)檫@些關(guān)鍵詞標(biāo)簽是用戶的真實(shí)反饋,往往具備非常好的解釋效果。
除了這三類在推薦系統(tǒng)中涉及到的“當(dāng)事方”作為推薦解釋外,我們還可以采用各種其他的推薦解釋方式。
下面列舉幾類可行的推薦解釋策略。
▌04.基于環(huán)境來解釋
這類基于環(huán)境的推薦解釋,可以結(jié)合時(shí)間、天氣、地域、用戶心情、場所、上下文等各類環(huán)境來做推薦解釋。
比如“你在人民廣場附近,給你推薦附近的美食店”、“適合深夜看的電影”等這類推薦解釋就是基于環(huán)境的解釋。
▌05.基于科學(xué)知識(shí)、科學(xué)實(shí)驗(yàn)結(jié)果的解釋
有科學(xué)證據(jù)表明晚上“睡前喝點(diǎn)紅酒有助于睡眠”,我們可以用這類被驗(yàn)證或者被大多數(shù)人認(rèn)可的科學(xué)知識(shí)來作為推薦解釋。比如你晚上在瀏覽淘寶,淘寶給你推薦了一瓶紅酒,其實(shí)可以用“晚上喝一點(diǎn)紅酒、有利于睡眠”來作為推薦解釋。
▌06.基于權(quán)威人士、明星效應(yīng)的解釋
權(quán)威人士的觀點(diǎn)大家更愿意信任,這就是為什么很多牙膏廣告不是請(qǐng)明星,而是一個(gè)穿白大褂的醫(yī)生打扮的人做廣告,是為了提升大家對(duì)該牙膏效果的認(rèn)可。同樣,明星有很大的光環(huán)效應(yīng),大眾更容易追隨。因此,我們可以利用權(quán)威人士及明星的這種效應(yīng)來做推薦解釋。比如你女朋友在瀏覽淘寶看到一條裙子,系統(tǒng)可以用“這款裙子趙麗穎穿起來很好看,所以推薦給你”作為推薦解釋。
▌07.基于大眾行為的推薦解釋
人都是有從眾心理的,大家都喜歡的,你也喜歡的可能性會(huì)很大。基于這個(gè)原則也可以做推薦解釋,我們可以用標(biāo)的物被用戶喜歡(觀看視頻、購買商品等)的次數(shù)來作為推薦解釋的理由。
比如“這部電影有2000萬人看過,所以推薦給你”,“該商品有589人購買,所以推薦給你”等。作者最近在淘寶上買了一個(gè)防藍(lán)光眼睛,下圖中的“總銷量:298”其實(shí)就是一種推薦解釋。
圖6:基于用戶行為統(tǒng)計(jì)的推薦解釋
上面我們介紹完了可行的推薦解釋方法,那么下面我們結(jié)合工業(yè)上的推薦產(chǎn)品形態(tài)講解怎么利用上面的推薦解釋方法來做推薦解釋。
3
常用工業(yè)級(jí)推薦產(chǎn)品的推薦解釋
作者在《推薦系統(tǒng)的工程實(shí)現(xiàn)》第五節(jié)中講到推薦系統(tǒng)在工業(yè)上的應(yīng)用一般有五種范式:完全個(gè)性化范式、群組個(gè)性化范式、非個(gè)性化范式、標(biāo)的物關(guān)聯(lián)標(biāo)的物范式、笛卡爾積范式。
這五種范式基本囊括了絕大多數(shù)推薦產(chǎn)品形態(tài)。我們下面分別根據(jù)不同的推薦范式來說明怎么做推薦解釋。
▌01.完全個(gè)性化范式
完全個(gè)性化推薦范式就是為每個(gè)用戶生成不同的推薦結(jié)果。個(gè)性化推薦主要有“基于內(nèi)容的推薦”、“協(xié)同過濾”、“基于模型的推薦”三大類推薦算法。這里我們分別說說怎么對(duì)他們做推薦解釋。
a.基于內(nèi)容的推薦
該類推薦算法不依賴于其他用戶的行為,只根據(jù)用戶自己的歷史行為,為用戶推薦與自己曾經(jīng)“喜歡過”(播放過的視頻、購買過的物品等等)的標(biāo)的物相似的標(biāo)的物。這時(shí)推薦解釋可以基于用戶對(duì)內(nèi)容的喜好來做解釋。
這類推薦解釋是在構(gòu)建推薦模型時(shí)就可以生成推薦解釋的,因?yàn)槲覀兪腔谟脩粝矚g的標(biāo)的物相似的標(biāo)的物來為用戶做推薦的。形式上可以描述為“用戶喜歡過標(biāo)的物A,而A跟B很相似,所以推薦B給用戶”。
還有一種形式是從文本信息中抽提出標(biāo)簽,基于標(biāo)簽做內(nèi)容推薦,而不是直接基于標(biāo)的物之間的相似關(guān)系。形式上可以描述為“用戶喜歡具備特征X的標(biāo)的物,而B剛好具備特征X,所以推薦B給用戶”。
常用的形式是主題推薦(參考上面的圖5),將用戶最喜歡的標(biāo)簽計(jì)算出來,為每個(gè)標(biāo)簽關(guān)聯(lián)一個(gè)標(biāo)的物列表,最終形成用戶的推薦。Netflix首頁上即是采用這種推薦形式,Netflix首頁的PVR算法,在每個(gè)用戶的首頁生成約40行推薦,每行是一個(gè)主題,這個(gè)主題即是用戶的興趣“基因”,可以完美地作為該行推薦的推薦解釋語(參考后面的文獻(xiàn)11)。
基于內(nèi)容的推薦解釋采用的策略就是第二部分的2.a和3.a策略。可以采用事先解釋的方法,在構(gòu)建推薦模型時(shí)生成解釋。
b.協(xié)同過濾
協(xié)同過濾是最有名的推薦算法了,算法相對(duì)簡單,效果還不錯(cuò),目前在工業(yè)界也大量使用。主要分為基于用戶的協(xié)同過濾和基于物品(標(biāo)的物)的協(xié)同過濾。我們用下圖來說明這兩類協(xié)同過濾算法。
圖7:基于用戶的協(xié)同過濾與基于標(biāo)的物的協(xié)同過濾
基于用戶的協(xié)同過濾,先找到與該用戶最相似的用戶,將相似用戶喜歡但是該用戶未產(chǎn)生行為的標(biāo)的物推薦給該用戶。可以采用“跟你興趣相似的人都喜歡A,所以給你推薦A”這種方式做推薦解釋。
即是利用第二部分的1.a策略來做推薦解釋。可以采用事后解釋的方法,在生成推薦結(jié)果后給出推薦解釋。
基于物品的協(xié)同過濾,先計(jì)算標(biāo)的物之間的相似度,將與用戶喜歡的標(biāo)的物相似的標(biāo)的物推薦給用戶。
我們?cè)跇?gòu)建協(xié)同過濾模型時(shí),可以知道待推薦的標(biāo)的物A是跟用戶曾經(jīng)喜歡過的B是相似的,所以在做推薦解釋時(shí),解釋語可以描述為“你曾經(jīng)喜歡過B,所以給你推薦相似的A”。
即是利用第二部分的2.b策略來做推薦解釋,可以采用事先解釋的方法,在構(gòu)建推薦模型時(shí)生成解釋。
c.基于模型的推薦
基于模型的推薦算法有很多,比如logistic回歸、矩陣分解、深度學(xué)習(xí)等。像深度學(xué)習(xí)這類偏黑盒的模型解釋性會(huì)比較困難,我們這里不做介紹,有興趣的讀者可以參考后面的參考文獻(xiàn)。矩陣分解算法原理雖然簡單,但是分解后的矩陣包含的隱式特征是很難跟現(xiàn)實(shí)中的實(shí)體概念對(duì)應(yīng)的,也較難做出推薦解釋,這里也不介紹。在這里我只對(duì)logistic回歸推薦算法做推薦解釋,他們也是常用的推薦算法模型。
logistic回歸的推薦解釋
利用logistic回歸構(gòu)建推薦算法模型,具體模型如下面公式,其中p是用戶喜歡某個(gè)標(biāo)的物的概率,是權(quán)重,是需要學(xué)習(xí)的模型參數(shù),是特征i的值。
其中包括3大類特征(拿視頻推薦來舉例),用戶相關(guān)特征(用戶年齡、性別、地域、是否是會(huì)員等),標(biāo)的物相關(guān)特征(如導(dǎo)演、演職員、標(biāo)簽、年代、是否獲獎(jiǎng)、豆瓣評(píng)分、是否是會(huì)員節(jié)目等),其他特征(如用戶是否看過該視頻、用戶是否收藏、是否點(diǎn)贊、用戶手機(jī)型號(hào)等)。
我們可以通過下述公式計(jì)算待推薦標(biāo)的物的p值來決定是否推薦A,比如如果p>0.5(當(dāng)然可以選擇0.6等其他值),就認(rèn)為用戶喜歡A。
當(dāng)我們訓(xùn)練好logistic回歸推薦模型后,我們可以用如下方式做推薦解釋:
如果給用戶推薦了標(biāo)的物A,而標(biāo)的物A取值非空的特征為
而對(duì)應(yīng)的權(quán)重為
我們可以選擇權(quán)重最大的那個(gè)特征作為給用戶推薦A的解釋。比如權(quán)重最大的特征是導(dǎo)演姜文,你可以用“因?yàn)槟阆矚g姜文,該片是姜文拍的,所以給你推薦”作為推薦解釋的話術(shù)。
logistic算法的推薦解釋采用的策略本質(zhì)上是3.a策略。可以采用事先解釋的方法,在構(gòu)建推薦模型時(shí)生成解釋。
▌02.群組個(gè)性化范式
群組個(gè)性化推薦,首先會(huì)將用戶按照某種方法或規(guī)則聚類(同一類的用戶在某些特性上相同或者相似),得到用戶組。我們可以將用戶組看成一個(gè)個(gè)體,可以采用跟上面1類似的算法及解釋方法,這里不再細(xì)說。
▌03.非個(gè)性化范式
非個(gè)性化范式就是為所有用戶生成一樣的推薦,常見的有排行榜等推薦形態(tài)。一般推薦的是熱門的標(biāo)的物或者最新上線的標(biāo)的物。
這類推薦的解釋非常簡單,可以直接用“熱門推薦”或者“最新款推薦”等話術(shù)。用戶也非常容易理解和認(rèn)可。
▌04.標(biāo)的物關(guān)聯(lián)標(biāo)的物范式
該范式就是當(dāng)用戶訪問某個(gè)標(biāo)的物的詳情頁時(shí),推薦一組可能存在相關(guān)關(guān)系的標(biāo)的物。這組標(biāo)的物可能是跟原標(biāo)的物相似的標(biāo)的物。
最常見的產(chǎn)品形態(tài)就是相似推薦。如下圖就是電視貓上“雙重約會(huì)”的相似推薦。這里給出的標(biāo)題是“相似影片”,其實(shí)這4個(gè)字也可以看成是推薦解釋。這里如果要對(duì)列表中的每個(gè)節(jié)目做推薦解釋,需要生成“雙重約會(huì)”跟下面推薦的所有節(jié)目之間的相似關(guān)系。
該范式就是利用第二部分2的策略來做推薦解釋。
圖8:視頻節(jié)目的相似推薦
作者最近在亞馬遜上買了一本《從一到無窮大:科學(xué)中的事實(shí)和臆測(中譯本)》,下面就是瀏覽該書購買后的頁面亞馬遜給出的推薦。這里可以看到亞馬遜給出了兩類推薦,“經(jīng)常一起購買的商品”和“瀏覽此上面的顧客也同時(shí)瀏覽”。
這兩類推薦都屬于標(biāo)的物關(guān)聯(lián)標(biāo)的物范式,“經(jīng)常一起購買的商品”和“瀏覽此商品的顧客也同時(shí)瀏覽”這兩句話可以認(rèn)為是推薦解釋語,它是基于用戶行為的解釋。
圖9:兩類標(biāo)的物關(guān)聯(lián)標(biāo)的物推薦范式的推薦解釋
▌05.笛卡爾積范式
笛卡爾積范式的推薦產(chǎn)品形態(tài),為每個(gè)用戶在每個(gè)標(biāo)的物詳情頁上給出不一樣的推薦列表。所以可以結(jié)合完全個(gè)性化范式和標(biāo)的物關(guān)聯(lián)標(biāo)的物范式的推薦解釋策略做推薦。這里不再詳細(xì)介紹。
4
更好地理解及落地推薦解釋需要思考的問題
在構(gòu)建推薦系統(tǒng)解釋時(shí),特別是將推薦解釋落地到現(xiàn)實(shí)業(yè)務(wù)中時(shí),會(huì)遇到很多問題。要想很好的解決這些問題,真正讓推薦解釋產(chǎn)生業(yè)務(wù)價(jià)值,需要考慮很多工程落地的事情。下面對(duì)可能遇到的問題提供一些參考建議。
▌01.需要通過AB測試來驗(yàn)證推薦解釋的有效性
推薦解釋是對(duì)推薦產(chǎn)品功能的一種增補(bǔ)或者優(yōu)化,只要是推薦產(chǎn)品功能的優(yōu)化都需要驗(yàn)證優(yōu)化效果,這時(shí)就需要做AB測試了。
可以在具備推薦解釋和沒有推薦解釋之間做AB測試,在不同推薦解釋方案對(duì)比上也需要做AB測試。
總之,通過設(shè)定評(píng)估指標(biāo),利用AB測試來驗(yàn)證指標(biāo)是否有提升,最終驗(yàn)證推薦解釋方案的有效性。
▌02.推薦解釋強(qiáng)依賴于推薦產(chǎn)品形態(tài),不是任何推薦形態(tài)都必須要做解釋
推薦解釋是強(qiáng)依賴于推薦產(chǎn)品形態(tài)的,像相似推薦,是很容易做推薦解釋的,而對(duì)于個(gè)性化推薦就會(huì)更難一些。
個(gè)人覺得推薦解釋是個(gè)性化推薦產(chǎn)品的高級(jí)功能和特性,拙劣的推薦解釋是無法真正促進(jìn)推薦系統(tǒng)價(jià)值提升的。對(duì)于個(gè)性化推薦直接可以用“猜你喜歡”、“興趣推薦”這樣的詞匯(這些詞匯也算是一種抽象的推薦解釋)來描述你是為用戶做個(gè)性化推薦,讓用戶對(duì)你的推薦產(chǎn)品形成一種品牌效應(yīng)。如果推薦效果足夠好,用戶就能夠從推薦列表中找到自己喜歡的東西。
效果好的話用戶也是愿意經(jīng)常“光顧”的,沒有推薦解釋,也不會(huì)影響用戶對(duì)你的個(gè)性化推薦產(chǎn)品的認(rèn)可。特別是當(dāng)你的產(chǎn)品交互不是那么友好時(shí)(比如智能電視上的視頻推薦就是通過遙控器交互,交互體驗(yàn)較差),很難在個(gè)性化產(chǎn)品中嵌入自然交互的方式,讓用戶感受到推薦解釋的存在。
▌03.從對(duì)模型解釋切換到對(duì)用戶角度來思考推薦解釋
推薦解釋可以從兩個(gè)角度來描述。
一個(gè)角度是解釋你的推薦模型是怎么做推薦的,讓用戶理解你推薦生成的機(jī)制,這類推薦解釋對(duì)于科研人員及推薦算法開發(fā)人員來說是有價(jià)值的,可以更好的知道算法的運(yùn)作原理,它可以幫助我們回答諸如為什么給我推薦這些、怎么改進(jìn)推薦效果、有哪些數(shù)據(jù)或者特征可以影響推薦的結(jié)果之類的問題。
但是,如果解釋的過程很復(fù)雜,不是“不用動(dòng)腦經(jīng)”就能想清楚的,你是無法在用戶訪問推薦服務(wù)時(shí)給用戶解釋清楚的,因?yàn)橛脩舳际恰皯械摹保辉敢馊ニ伎紡?fù)雜的問題。
這就引出了另外一個(gè)思考的維度,我們?cè)谡嬲龉I(yè)級(jí)推薦系統(tǒng)的推薦解釋時(shí),是需要站在用戶角度思考的,畢竟我們做的東西是給用戶看的,對(duì)用戶有幫助,用戶覺得好才是真的好。對(duì)用戶來說,對(duì)推薦解釋直觀易懂是最重要的,用戶要能夠不加思考就能感受到解釋與推薦的標(biāo)的物之間的外在聯(lián)系。
▌04.推薦解釋的“價(jià)值觀“
我們做推薦解釋的意圖是什么?
即推薦解釋的“價(jià)值觀”是什么?
算法是人開發(fā)的,因此反映的是背后設(shè)計(jì)推薦解釋算法的人的“價(jià)值觀”。
如果你設(shè)計(jì)算法是KPI導(dǎo)向的,為了提升用戶對(duì)推薦的點(diǎn)擊,你可以用一些嘩眾取寵的方式來做解釋,解釋與推薦的標(biāo)的物也可以沒有啥邏輯關(guān)系,這種設(shè)計(jì)哲學(xué)有可能短期提升你的KPI,但是長期一定是不利于你的產(chǎn)品的。
我個(gè)人推崇的推薦解釋的價(jià)值觀是“輔助用戶決策”,什么意思呢?就是真的站在用戶的立場思考問題,幫助用戶決策,將推薦標(biāo)的物最真實(shí)的一面告訴用戶,包括好的一面和不好的一面,不要讓用戶點(diǎn)擊后感受到被騙的感覺。
現(xiàn)在很多做公眾號(hào)運(yùn)營的人,采用標(biāo)題黨,或者暴露的海報(bào)圖的方式,確實(shí)是“騙”用戶進(jìn)去了,用戶可能一時(shí)有一點(diǎn)點(diǎn)不爽,這個(gè)不爽很微小,不至于讓用戶馬上對(duì)你的公眾號(hào)反感,但是如果每次都是這樣,我相信日積月累,“微小的不爽”通過時(shí)間的沉淀,一定會(huì)爆發(fā)出來,最終用戶會(huì)放棄你的產(chǎn)品。
▌05.推薦解釋的說服力
其實(shí)推薦解釋的過程就是一次論證的過程,你將標(biāo)的物推薦給用戶,并且給出推薦的理由,如果用戶相信你的理由,用戶就會(huì)接受你的推薦。
所以,我們?cè)谧鐾扑]解釋時(shí),理由一定是可以支撐結(jié)論的,可以讓用戶很容易感受到這種邏輯推理的關(guān)系。同時(shí),理由本身也需要科學(xué)客觀。只有這樣,推薦解釋才有說服力。
▌06.其他維度的輔助用戶決策
除了給出推薦解釋理由外,還有很多其他的信息可以輔助用戶決策。我們可以從標(biāo)的物的詳情頁著手,在詳情頁增加足夠多的關(guān)鍵描述信息幫助用戶來判斷。
對(duì)于視頻推薦來說,海報(bào)圖、標(biāo)題、是否是會(huì)員、評(píng)分、有多少人看過、年代等信息是可輔助用戶做決策的。
我們不光是要展示正面的信息、對(duì)于不好的消息也要有所體現(xiàn),如果這些信息可以在海報(bào)圖上全面的展示出來,就可以快速幫助用戶做決策,是否有必要點(diǎn)擊進(jìn)去看看。
下圖中用紅色圈標(biāo)出的信息及海報(bào)圖都是輔助用戶決策的要素。
圖10:輔助用戶決策的信息
5
構(gòu)建可解釋性推薦系統(tǒng)面臨的挑戰(zhàn)與機(jī)遇
為推薦系統(tǒng)生成推薦解釋是一個(gè)非常復(fù)雜的過程,也很有挑戰(zhàn),目前也沒有非常有效統(tǒng)一的解決方案。下面是構(gòu)建推薦解釋可能會(huì)遇到的問題,以及推薦解釋未來的機(jī)遇。
▌01.混合推薦算法
目前很多推薦算法不是采用單一的推薦算法模型,是用很多模型通過級(jí)聯(lián)或者集成的方式為用戶提供個(gè)性化推薦,同時(shí)在特殊情況下(比如無行為的新用戶采用默認(rèn)推薦、接口請(qǐng)求失敗時(shí)采用備選策略等)會(huì)有一些特殊的處理。
這些復(fù)雜的現(xiàn)實(shí)情況,大大復(fù)雜化了推薦解釋的設(shè)計(jì)和實(shí)現(xiàn)。
▌02.實(shí)時(shí)個(gè)性化推薦
隨著頭條、抖音、快手等信息流/視頻流產(chǎn)品大行其道,目前很多產(chǎn)品都會(huì)采用近實(shí)時(shí)推薦策略,更加實(shí)時(shí)的反饋用戶興趣的變化。
這類推薦產(chǎn)品對(duì)時(shí)效性要求很高,要想在實(shí)時(shí)情況下給用戶做推薦的同時(shí)生成推薦理由,對(duì)整個(gè)系統(tǒng)的設(shè)計(jì)、處理提出了非常高的要求。
▌03.老板/數(shù)據(jù)產(chǎn)品經(jīng)理會(huì)更關(guān)注精準(zhǔn)度而不太重視解釋性
絕大多數(shù)公司老板或者數(shù)據(jù)產(chǎn)品經(jīng)理更在乎的是短期指標(biāo)的提升,很少意識(shí)到好的推薦體驗(yàn)會(huì)對(duì)用戶的留存有累積的價(jià)值,通過長期的好的推薦解釋體驗(yàn),是可以提升用戶對(duì)推薦系統(tǒng)的信賴的。
由于這種提升需要做大量的AB測試及額外的算法開發(fā),往往會(huì)被拒之門外。
▌04.黑盒推薦算法很難做解釋
隨著深度學(xué)習(xí)的流行,有越來越多的公司將深度學(xué)習(xí)算法應(yīng)用到推薦系統(tǒng)上,并且產(chǎn)生了非常不錯(cuò)的效果。深度學(xué)習(xí)最大的缺點(diǎn)是一個(gè)黑盒模型,對(duì)深度學(xué)習(xí)模型做出的決策,很難從模型內(nèi)部的數(shù)據(jù)交互及處理邏輯給出比較直觀易懂的解釋。
因此,這類推薦模型也非常難給出好的推薦解釋,當(dāng)前可解釋的機(jī)器學(xué)習(xí)是學(xué)術(shù)上一個(gè)比較熱門的研究課題。
▌05.普適的推薦解釋框架
從上面的介紹可以看到,推薦解釋目前還沒有一套完善的框架,基本是不同的算法,采用不同的推薦解釋策略,推薦解釋是強(qiáng)依賴于具體的推薦算法模型和業(yè)務(wù)場景的。
那么我們是否可以構(gòu)建一類通用的推薦解釋框架,可以適用于一大類或者所有的推薦算法模型呢?這確實(shí)是一個(gè)非常難并且相當(dāng)有挑戰(zhàn)的問題,也是一個(gè)很好的研究課題。
▌06.知識(shí)圖譜做解釋
前面講到推薦系統(tǒng)可以基于標(biāo)的物、用戶、特征為媒介來做推薦解釋(見上面的圖3),對(duì)這三類媒介之間的關(guān)聯(lián)挖掘得還不夠。
其實(shí)利用知識(shí)圖譜,打通這三類媒介之間的關(guān)聯(lián),根據(jù)具體情況靈活選擇其中最合適的媒介對(duì)用戶進(jìn)行推薦解釋。這樣,我們還可以產(chǎn)生形式更豐富的推薦解釋。
▌07.生成對(duì)話式解釋
目前的推薦解釋往往形式是預(yù)先設(shè)定、千篇一律的。
這樣盡管可以根據(jù)用戶心理給出解釋,但是在溝通方式上還過于呆板,跟日常生活中對(duì)話交互式的推薦解釋還有很大差距。
如果能用生成式模型讓推薦系統(tǒng)“生成”一句通順甚至高情商的話,就可以在與用戶互動(dòng)的過程中進(jìn)行靈活、多變的推薦解釋了。特別是隨著NLP技術(shù)的發(fā)展及語音交互場景的開拓,未來語音交互一定是最重要的一類交互方式。
到那時(shí),利用推薦系統(tǒng)與人類進(jìn)行交互式推薦和解釋,可以大大提升用戶的滿意度。
6
寫在最后
本文基于作者多年推薦系統(tǒng)實(shí)踐經(jīng)驗(yàn)的理解并參考了相關(guān)文章,對(duì)推薦系統(tǒng)解釋做了較全面的梳理。
希望可以幫助讀者更好的理解推薦系統(tǒng)解釋的原理與背后的價(jià)值,讀完后能夠利用本文提供的方法去實(shí)踐推薦系統(tǒng)的解釋體系。
推薦系統(tǒng)解釋目前是一個(gè)偏學(xué)術(shù)的研究課題(附件是一些關(guān)于機(jī)器學(xué)習(xí)及推薦系統(tǒng)解釋的材料及論文,有興趣的讀者可以自行學(xué)習(xí)參考),在工業(yè)實(shí)踐上也沒有這么重視。
雖然作者以前在真實(shí)產(chǎn)品中落地過推薦解釋系統(tǒng),但自認(rèn)為對(duì)這一塊還只知道一點(diǎn)皮毛,不當(dāng)之處在所難免,歡迎大家一起交流探討。
-
移動(dòng)互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
5文章
598瀏覽量
34050 -
推薦系統(tǒng)
+關(guān)注
關(guān)注
1文章
43瀏覽量
10073 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5493瀏覽量
120998
原文標(biāo)題:如何構(gòu)建可解釋的推薦系統(tǒng)?| 深度
文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論