轉(zhuǎn)移
利用上下文信息進(jìn)行推薦添怔,利用用戶訪問推薦系統(tǒng)的時(shí)間湾戳、地點(diǎn)、心情等進(jìn)行推薦广料。用戶上班下班的興趣不一樣砾脑,周末和上班興趣不一樣,上廁所閱讀和在辦公室閱讀不一樣艾杏。
時(shí)間:賣衣服的系統(tǒng)冬天跟夏天推薦的衣服韧衣;地點(diǎn):中關(guān)村附近不需要深圳的信息。
以看視頻為例购桑,上班時(shí)間看下班后看畅铭,在家看還是在父母家看,一個(gè)人看和朋友一起看勃蜘,都是上下文信息硕噩,結(jié)合上下文信息推薦會(huì)差別很大。
將上下文信息缭贡,尤其是地點(diǎn)和時(shí)間信息加到推薦算法中炉擅,讓推薦系統(tǒng)能準(zhǔn)確預(yù)測(cè)某個(gè)特定時(shí)間以及特定地點(diǎn)的興趣。
對(duì)于時(shí)間而言阳惹,對(duì)于用戶的影響表現(xiàn)在以下:
1坑资、用戶的興趣是變化的,用戶自身的原因穆端。隨著年齡的增長(zhǎng)袱贮,小時(shí)候動(dòng)畫片,長(zhǎng)大以后文藝片。
一個(gè)人參加工作攒巍,他的興趣也會(huì)發(fā)生變化嗽仪。我們要預(yù)測(cè)用戶現(xiàn)在的興趣就要關(guān)注他最近的行為∑饫颍考慮用戶最近的興趣只能是漸變的興趣闻坚,對(duì)于突變的興趣很難起作用,如中彩票兢孝。
2窿凤、物品也有生命周期。如新聞事件跨蟹,當(dāng)我們決定某個(gè)時(shí)間給某個(gè)用戶推薦某個(gè)物品的時(shí)候雳殊,也許它已經(jīng)過時(shí)了。不同的物品具有不同的周期窗轩,如電影的周期長(zhǎng)于新聞的周期夯秃。
3、季節(jié)效應(yīng)痢艺,某個(gè)時(shí)段的效應(yīng)仓洼。夏天穿短袖,冬天厚外套堤舒,圣誕季購(gòu)物色建,奧斯卡頒獎(jiǎng)期間關(guān)注電影。
用戶的興趣是不斷變化的舌缤,變化體現(xiàn)在用戶不斷增長(zhǎng)的新行為中镀岛。一個(gè)實(shí)時(shí)的推薦提供需要能響應(yīng)用戶的新行為,讓推薦列表不斷變化友驮,滿足用戶不斷變化的新興趣漂羊。
實(shí)時(shí)推薦系統(tǒng)除了對(duì)于用戶行為的存取有實(shí)時(shí)的要求,還對(duì)推薦算法本身具有實(shí)時(shí)性要求卸留。推薦系統(tǒng)不能每天給所有用戶離線計(jì)算推薦結(jié)果走越,需要根據(jù)用戶這個(gè)時(shí)間點(diǎn)的行為計(jì)算實(shí)時(shí)推薦列表。推薦算法需要平衡用戶的近期行為和長(zhǎng)期行為耻瑟,既要反映出用戶近期行為所體現(xiàn)的興趣變化旨指,又不能讓推薦列表完全受用戶近期行為影響,保證推薦列表對(duì)用戶興趣預(yù)測(cè)的連續(xù)性喳整。
很多推薦系統(tǒng)面臨的問題是谆构,每天給用戶推薦的結(jié)果都差不多,沒什么變化框都,即推薦系統(tǒng)的時(shí)間多樣性不高搬素。推薦系統(tǒng)時(shí)間的多樣性對(duì)于推薦系統(tǒng)有正面意義。精度優(yōu)先,適當(dāng)提高時(shí)間多樣性熬尺。
如果你不知道推薦什么摸屠,推薦最近最熱門準(zhǔn)沒錯(cuò)。
近期的行為比遠(yuǎn)期的行為更能體現(xiàn)用戶的興趣粱哼,所以預(yù)測(cè)用戶行為的時(shí)候季二,加重近期行為的權(quán)重。
基于用戶的協(xié)同規(guī)律算法基本思想是給用戶推薦和他感興趣的用戶喜歡的物品揭措。如果加上了時(shí)間信息胯舷,我們有優(yōu)化方向。1绊含、如果用戶A06年喜歡C桑嘶,07年java;用戶BA07年喜歡C艺挪,06年java不翩;用戶C和A相同兵扬。那么如果沒有時(shí)間參數(shù)的情況下麻裳,用戶ABC是一樣的興趣度,實(shí)際上器钟,我們更會(huì)認(rèn)為是不一樣的津坑。根據(jù)用戶興趣發(fā)展路徑定義決策路徑圖。2傲霸、找到和當(dāng)前用戶興趣相似的一組用戶以后疆瑰,向用戶推薦相似用戶最近喜歡的物品捺僻。
利用社交網(wǎng)絡(luò)的數(shù)據(jù)給用戶推薦物品商佑,推薦理由加入了社交因素窒所,如朋友也認(rèn)同岛抄,朋友關(guān)注了礁遵,信任度大大提升险毁。
社交關(guān)系:雙向確認(rèn)的社交關(guān)系翠胰,單向關(guān)注的社交關(guān)系棺聊,社區(qū)的社交關(guān)系(通過位置韧拒、共屬一個(gè)群等淹接,如豆瓣小組,一個(gè)公司一個(gè)學(xué)校的人)
社交化推薦的優(yōu)勢(shì):增加推薦的信任度叛溢,用戶不相信計(jì)算機(jī)塑悼,但是相信好朋友的推薦。還可以直接解決冷啟動(dòng)的問題楷掉。
基于好友的推薦需要考量好友之間關(guān)系的權(quán)重厢蒜,興趣的權(quán)重關(guān)系。
推薦系統(tǒng)數(shù)據(jù)存儲(chǔ),根據(jù)數(shù)據(jù)規(guī)模和是否需要實(shí)時(shí)存取來決定存儲(chǔ)媒介郭怪。需要實(shí)時(shí)存取的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫和緩存中支示,大規(guī)模的非實(shí)時(shí)存取數(shù)據(jù)存儲(chǔ)在分布式文件系統(tǒng)中HDFS。數(shù)據(jù)能否實(shí)時(shí)存取對(duì)于推薦系統(tǒng)十分重要鄙才,因?yàn)橹挥写罅靠焖佾@取到用戶新行為颂鸿,才能實(shí)時(shí)適應(yīng)用戶當(dāng)前的需求,才能實(shí)時(shí)推薦攒庵。
推薦系統(tǒng)是聯(lián)系用戶和物品的媒介嘴纺。而聯(lián)系用戶和物品的方式有三種。用戶喜歡物品浓冒,物品與其他物品相似栽渴,建立用戶與后面物品的聯(lián)系;用戶有相似興趣的用戶或好友用戶稳懒,后面的用戶喜歡物品闲擦,建立用戶與物品的關(guān)系;用戶具有喜歡某些特征场梆,某些物品具有某些特征墅冷,建立用戶與物品的關(guān)系。實(shí)際上三種方式都可以抽象成一種或油,基于特征的推薦系統(tǒng)架構(gòu)寞忿。
當(dāng)用戶來了,為用戶生成特征顶岸,然后根據(jù)特征找到關(guān)聯(lián)的物品腔彰,最終生成推薦列表。推薦系統(tǒng)的任務(wù)有兩個(gè)辖佣,一個(gè)是為用戶生成特征霹抛,二是根據(jù)特征找物品。
用戶特征有很多種卷谈,1杯拐、人口統(tǒng)計(jì)學(xué)特征,如年齡性別國(guó)家等注冊(cè)信息雏搂。2藕施、行為特征,瀏覽過的物品凸郑,收藏裳食,評(píng)分等行為。3芙沥、話題特征诲祸,根據(jù)用戶的歷史行為浊吏,計(jì)算出用戶對(duì)什么話題感興趣。
推薦系統(tǒng)的任務(wù)有很多:1救氯、將新加入的物品推薦給用戶找田;2、將商業(yè)上需要宣傳的物品推薦給用戶着憨;3墩衙、給用戶推薦不同種類的物品;4甲抖、給用戶推薦不同新穎度的物品漆改,如首頁推薦熱門,到了推薦系統(tǒng)頁面推薦長(zhǎng)尾的物品准谚;5考慮用戶訪問推薦系統(tǒng)的上下文挫剑。
如果要考慮上面的所有特征所有任務(wù)會(huì)使系統(tǒng)非常復(fù)雜, 很難通過配置文件方便的配置不同的特征和任務(wù)的權(quán)重柱衔。因此推薦系統(tǒng)的模式是樊破,多個(gè)引擎,每個(gè)引擎負(fù)責(zé)一類的特征和一類的任務(wù)唆铐,然后將結(jié)果按照一定的權(quán)重或者優(yōu)先級(jí)合并哲戚,排序然后返回。
這種做法的好處還有或链,1惫恼、可以方便的增加刪除引擎档押,控制不同引擎對(duì)推薦結(jié)果的影響澳盐,對(duì)于絕大多數(shù)的需求,只需要組合不同的引擎令宿。2叼耙、可以實(shí)現(xiàn)推薦引擎級(jí)別的用戶反饋,每個(gè)引擎實(shí)際是一種策略粒没,而不同的用戶喜歡不同的策略筛婉。通過分析用戶對(duì)于推薦結(jié)果的反饋了解用戶比較喜歡哪些策略的推薦,從而對(duì)引擎組裝權(quán)重癞松。
推薦引擎的架構(gòu)分為三部分:
第一部分爽撒,從數(shù)據(jù)庫或緩存中拿到用戶數(shù)據(jù),通過不同的分析行為响蓉,輸出用戶的特征向量硕勿。
第二部分,將用戶的特征向量通過相關(guān)處理變?yōu)槌跫?jí)推薦物品列表枫甲。特征-物品相關(guān)推薦源武,離線表的形式(特征id扼褪,物品id,權(quán)重)
第三部分粱栖,對(duì)初始推薦列表進(jìn)行過濾话浇,排名等處理,從而生成最終的推薦結(jié)果闹究。
一個(gè)特征向量包括特征和特征權(quán)重幔崖。用戶的特征向量,一種是人口統(tǒng)計(jì)學(xué)特征渣淤,第二種是從用戶行為中計(jì)算出來的岖瑰。用戶的行為有很多種,不同的種類權(quán)重不同砂代。用戶行為時(shí)間也不同蹋订,相對(duì)來說,近期的行為比較重要刻伊。如果用戶對(duì)于熱門物品進(jìn)行了操作露戒,并不能反映出個(gè)性,對(duì)于非熱門物品尤其是冷門的真實(shí)行為提高權(quán)重捶箱。
對(duì)于一個(gè)搜索引擎智什,可以在配置文件中配置很多的離線表以及它們的權(quán)重,在線服務(wù)時(shí)丁屎,將這些相關(guān)表按照配置的權(quán)限相加荠锭,最后將最終的相關(guān)表保存在內(nèi)存中,給用戶推薦的時(shí)候已經(jīng)是加權(quán)以后的相關(guān)表了晨川。特征-物品相關(guān)推薦還接受一個(gè)候選物品集合证九,候選物品集合的目的是保證推薦結(jié)果只包含候選物品集合中的物品。它的應(yīng)用場(chǎng)景是產(chǎn)品需求希望把某些類型的電視劇推薦給用戶共虑,如有些產(chǎn)品是要求給用戶推薦最近一周加入的新物品愧怜,那么候選物品集合中包含最近一周添加的物品。
得到初始的推薦列表以后妈拌,不能直接呈現(xiàn)給用戶拥坛,還需要進(jìn)行過濾。用戶已經(jīng)產(chǎn)生行為的物品不要尘分,候選物品以外的物品不需要猜惋,某些質(zhì)量很差的物品不需要。
排名模塊培愁,1新穎度排名著摔,向用戶推薦他們不知道的,長(zhǎng)尾中的物品竭钝。2多樣性梨撞,將推薦結(jié)果按照不同的類型氛圍積累雹洗,然后選擇類中排名最高的組合成為推薦列表,或者根據(jù)推薦理由來組織卧波。3時(shí)間多樣性时肿,保證用戶不要每天來看推薦系統(tǒng)的時(shí)候都是同樣的推薦結(jié)果,用戶沒有新的行為推薦列表內(nèi)容也更新港粱。