从用户反馈的可解释性提升推荐模型
當(dāng)我們在做推薦系統(tǒng)模型時,有考慮過模型推薦結(jié)果的可解釋性嗎?比方說推薦系統(tǒng)給用戶推薦了item A,并在推薦結(jié)果后標(biāo)明該用戶最要好的朋友喜歡item A,或者和該用戶有著相似興趣(協(xié)同過濾)的人喜歡A,這使得推薦結(jié)果非常透明且具有說服力,能夠提升用戶的接受度.這篇論文<Learning from User Feedback on Explanations to Improve Recommender Models>就從可解釋性出發(fā),提出了一個新的框架ELIXIR,來提升推薦系統(tǒng)的效果.
簡介
推薦要得到用戶的信任,就要讓用戶理解到當(dāng)前推薦結(jié)果是和之前行為(搜索,點(diǎn)擊,喜歡,評論等)有著關(guān)聯(lián),這樣用戶就可以對推薦結(jié)果給出肯定或反對的反饋,從而影響下一次的推薦結(jié)果.這篇論文就是通過一個Active Learning的框架,通過用戶在可解釋性的推薦結(jié)果上的行為線索,提升推薦效果.如下圖所示,Alice收到一個電影推薦Fight Club,基于歷史觀看和item2item,該推薦結(jié)果伴隨著3個相關(guān)的電影(Alice之前喜歡的),出于以下原因:
- exp1 有著喜歡的演員
- exp2 結(jié)局有驚喜
- exp3 有著暴力的內(nèi)容
我們看到alice喜歡前兩部推薦的電影不喜歡包含暴力內(nèi)容的推薦,當(dāng)給予alice有解釋性的推薦結(jié)果后,alice會給出不同類型的反饋結(jié)果,這就是推薦系統(tǒng)需要學(xué)習(xí)的.不過Alice也可能不喜歡推薦系統(tǒng)的解釋,也有可能她之前這些電影都喜歡,現(xiàn)在不喜歡了,這也會使得推薦系統(tǒng)更加"困惑".如果alice能告訴推薦系統(tǒng)她喜歡演員Brad Pitt,喜歡有驚喜的結(jié)局和討厭暴力,然而現(xiàn)實(shí)是用戶不愿意花時間去填寫這種信息.這篇論文就是探討如何使用用戶在可解釋推薦結(jié)果的反饋.主要有以下兩個問題:
- 反饋:如何引導(dǎo)用戶在可解釋性的推薦結(jié)果上做反饋,而不給用戶增加負(fù)擔(dān)?
- 可行性:如何使用這些反饋,影響用戶的下一次推薦?
該文提出的方法給用戶兩個反饋的選擇,對可解釋的與推薦item相關(guān)的的選擇喜歡/不喜歡,這樣就能形成推薦和可解釋item的pair對<rec, exp>.需要注意的是,用戶對exp的item需要非常熟悉,并且這種反饋方式讓用戶體驗(yàn)非常好,不用思考rec和exp之間的關(guān)聯(lián),而且能產(chǎn)生大量<rec,exp>的pairs.有了這些pairs就可以構(gòu)建user-feedback矩陣了,該矩陣不可避免是稀疏的.為了解決這個問題論文還做了數(shù)據(jù)增強(qiáng),用LSH為每個<rec,exp>pair找最近鄰擴(kuò)充樣本.該論文提出的核心方法就是通過用戶反饋矩陣和先驗(yàn)的相似度矩陣學(xué)習(xí)用戶潛在的向量.
ELIXIR框架
首先定義所有的items集合I = {v1, v2, ..., v|i|},和用戶歷史交互Hu, 以往的推薦系統(tǒng)只用了用戶歷史交互數(shù)據(jù)Hu,該框架使用了pair-level的用戶反饋Fu = {-1, 0, +1}|I|*|I|,Fu(vi, vj)表示用戶u推薦的vi和可解釋的item vj, 1表示喜歡它們之間的相似度,0表示沒反饋,-1表示不喜歡他們之間的相似度.
因?yàn)閕tem極為稀疏,所以該文在圖上使用了label propagation(LP) algorithm去緩解數(shù)據(jù)稀疏,節(jié)點(diǎn)表示items,邊表示item之間的相似度,假節(jié)點(diǎn)vij表示有標(biāo)簽的pair對<vi, vj>, Fu(vi, vj) != 0,并有下式:
vi向量表示物品i的特征,vij的向量表示兩物品的幾何平均.然后我們就可以為這樣的假節(jié)點(diǎn)使用cos相似度尋找k近鄰.最終我們就要優(yōu)化下式:
生成推薦結(jié)果:該文使用了RECWALK,一個基于隨機(jī)游走的方法,該模型的輸入是一個異質(zhì)圖。
節(jié)點(diǎn)有兩種類型,用戶和item,邊表達(dá)了用戶和item的關(guān)系和item之間的相似度.
在RECWALK中,為用戶u推薦item vi的分?jǐn)?shù)由下式計(jì)算, PPR(u, vi)表示個性化的pagerank分:
alpha表示restart概率,eu向量表示用戶one-hot向量,beta表示走一條邊的概率,由上式我們可以看到,一次游走有1-alpha的概率返回用戶節(jié)點(diǎn)u ,item中PPR(u,v)分最高的將被推薦給用戶u.
生成exp:
rec已經(jīng)被選出推薦給用戶u,Item-level的exp推薦用了PRINCE算法.我們需要計(jì)算每個exp的item對推薦rec的貢獻(xiàn)度,找出topk貢獻(xiàn)度的作為exp,如下式所示:
在RECWALK,item之間相似度用矩陣S顯示表達(dá):
為了包含用戶反饋Fu,式(2)引入了用戶向量矩陣wu,式(2)中的g將item的統(tǒng)一向量表達(dá)轉(zhuǎn)變成了用戶表達(dá):
代入到式(2)就是:
最終我們的推薦模型如下:
從實(shí)驗(yàn)看,融合用戶反饋的方法的推薦離線指標(biāo)還是不錯的,更多細(xì)節(jié)參考原文.
參考文獻(xiàn):
ELIXIR: Learning from User Feedback on Explanations to Improve Recommender Models
從用戶反饋的可解釋性提升推薦模型總結(jié)
以上是生活随笔為你收集整理的从用户反馈的可解释性提升推荐模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 炼丹秘术:给Embedding插上翅膀
- 下一篇: 不加样本就能做数据增强?还能提效?