推薦系統(tǒng)綜述_第1頁(yè)
推薦系統(tǒng)綜述_第2頁(yè)
推薦系統(tǒng)綜述_第3頁(yè)
推薦系統(tǒng)綜述_第4頁(yè)
推薦系統(tǒng)綜述_第5頁(yè)
已閱讀5頁(yè),還剩117頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

推薦系統(tǒng)綜述推薦系統(tǒng)

推薦系統(tǒng)概述推薦系統(tǒng)的應(yīng)用推薦系統(tǒng)的產(chǎn)生與發(fā)展推薦算法

推薦系統(tǒng)的評(píng)判標(biāo)準(zhǔn)

推薦系統(tǒng)的評(píng)測(cè)標(biāo)準(zhǔn)數(shù)據(jù)集推薦系統(tǒng)的重點(diǎn)、難點(diǎn)問(wèn)題推薦系統(tǒng)研究發(fā)展的熱點(diǎn)方向結(jié)論

推薦系統(tǒng)概述

互聯(lián)網(wǎng)規(guī)模和覆蓋面的迅速增長(zhǎng)帶來(lái)了信息超載(informationoverload)問(wèn)題:過(guò)量信息同時(shí)呈現(xiàn)使得用戶無(wú)法從中獲取對(duì)自己有用的部分,信息使用效率反而降低?,F(xiàn)有的很多網(wǎng)絡(luò)應(yīng)用,如門戶網(wǎng)站、搜索引擎和專業(yè)數(shù)據(jù)索引本質(zhì)上都是幫助用戶過(guò)濾信息的手段。然而這些工具只滿足主流需求,沒(méi)有個(gè)性化的考慮,仍然無(wú)法很好地解決信息超載的問(wèn)題。

推薦系統(tǒng)概述

對(duì)于搜索引擎來(lái)說(shuō),用戶在搜索互聯(lián)網(wǎng)中的信息時(shí),需要在搜索引擎中輸入“查詢關(guān)鍵詞”,搜索引擎根據(jù)用戶的輸入,在系統(tǒng)后臺(tái)進(jìn)行信息匹配,將與用戶查詢相關(guān)的信息展示給用戶。但是,若用戶無(wú)法想到準(zhǔn)確描述自己需求的關(guān)鍵詞,搜索引擎就變得無(wú)能為力。

推薦系統(tǒng)不需要用戶提供明確的需求,而是通過(guò)分析用戶的歷史行為來(lái)對(duì)用戶的興趣進(jìn)行建模,從而主動(dòng)給用戶推薦可能滿足他們興趣和需求的信息。搜索引擎和推薦系統(tǒng)對(duì)用戶來(lái)說(shuō)是兩個(gè)互補(bǔ)的工具。推薦系統(tǒng)與搜索引擎的區(qū)別

推薦系統(tǒng)與以搜索引擎為代表的信息檢索(informationretrieval)系統(tǒng)的區(qū)別:搜索推薦注重結(jié)果(如網(wǎng)頁(yè))之間的關(guān)系和排序還研究用戶模型(userprofile)和用戶的喜好,基于社會(huì)網(wǎng)絡(luò)(socialnetwork)進(jìn)行個(gè)性化的計(jì)算(personalization)由用戶主導(dǎo),包括輸入查詢?cè)~和選擇結(jié)果,結(jié)果不好用戶會(huì)修改查詢?cè)俅嗡阉?。由系統(tǒng)主導(dǎo)用戶的瀏覽順序,引導(dǎo)用戶發(fā)現(xiàn)需要的結(jié)果。高質(zhì)量的推薦系統(tǒng)會(huì)使用戶對(duì)該系統(tǒng)產(chǎn)生依賴。推薦系統(tǒng)不僅能夠?yàn)橛脩籼峁﹤€(gè)性化的服務(wù),而且能夠與用戶建立長(zhǎng)期穩(wěn)定的關(guān)系,提高用戶忠誠(chéng)度,防止用戶流失。推薦系統(tǒng)概述

隨著互聯(lián)網(wǎng)的發(fā)展,把線下的推薦模式搬到線上成了大勢(shì)所趨,大大擴(kuò)展了推薦系統(tǒng)的應(yīng)用:亞馬遜的商品推薦,F(xiàn)acebook的好友推薦,Digg的文章推薦,豆瓣的豆瓣猜,Last.fm和豆瓣FM的音樂(lè)推薦,Gmail里的廣告

在如今互聯(lián)網(wǎng)信息過(guò)載的情況下,信息消費(fèi)者想方便地找到自己感興趣的內(nèi)容,信息生產(chǎn)者則想將自己的內(nèi)容推送給最合適的目標(biāo)用戶。推薦系統(tǒng)正充當(dāng)了這兩者的中介,一箭雙雕解決這兩個(gè)難題。

推薦系統(tǒng)(recommendersystem)作為一種信息過(guò)濾的重要手段,是當(dāng)前解決信息超載問(wèn)題的非常有潛力的方法。

推薦系統(tǒng)的應(yīng)用近幾年,隨著B(niǎo)2C(Business-to-Customer)電子商務(wù)的蓬勃發(fā)展,推薦系統(tǒng)在互聯(lián)網(wǎng)中的優(yōu)勢(shì)地位也越來(lái)越明顯。在國(guó)際方面,比較著名的電子商務(wù)網(wǎng)站有Amazon和eBay,其中Amazon平臺(tái)中采用的推薦算法被認(rèn)為是非常成功的。在國(guó)內(nèi),比較大型的電子商務(wù)平臺(tái)網(wǎng)站有淘寶網(wǎng)(包括天貓商城)、京東商城、當(dāng)當(dāng)網(wǎng)、蘇寧易購(gòu)等。在這些電子商務(wù)平臺(tái)中,網(wǎng)站提供的商品數(shù)量不計(jì)其數(shù),網(wǎng)站中的用戶規(guī)模也非常巨大。據(jù)不完全統(tǒng)計(jì),天貓商城中的商品數(shù)量已經(jīng)超過(guò)了4000萬(wàn)。在如此龐大的電商網(wǎng)站中,用戶根據(jù)自己的購(gòu)買意圖輸入關(guān)鍵字查詢后,會(huì)得到很多相似的結(jié)果,用戶在這些結(jié)果中也很難區(qū)分異同,用戶也難于選擇合適的物品。于是,推薦系統(tǒng)作為能夠根據(jù)用戶興趣為用戶推薦一些用戶感興趣的商品,從而為用戶在購(gòu)物的選擇中提供建議的需求非常明顯。目前比較成功的電子商務(wù)網(wǎng)站中,都不同程度地利用推薦系統(tǒng)在用戶購(gòu)物的同時(shí),為用戶推薦一些商品,從而提高網(wǎng)站的銷售額。電商推薦案例——亞馬遜推薦系統(tǒng)的應(yīng)用

另一方面,智能手機(jī)的發(fā)展推動(dòng)了移動(dòng)互聯(lián)網(wǎng)的發(fā)展。

在用戶使用移動(dòng)互聯(lián)網(wǎng)的過(guò)程中,其所處的地理位置等信息可以非常準(zhǔn)確地被獲取?;诖耍瑖?guó)內(nèi)外出現(xiàn)了大量的基于用戶位置信息的網(wǎng)站。

國(guó)外比較著名的有Meetup和Flickr。

國(guó)內(nèi)著名的有豆瓣網(wǎng)和大眾點(diǎn)評(píng)網(wǎng)。例如,在大眾點(diǎn)評(píng)這種基于位置服務(wù)的網(wǎng)站中,用戶可以根據(jù)自己的當(dāng)前位置搜索餐館、酒店、影院、旅游景點(diǎn)等信息服務(wù)。同時(shí),可以對(duì)當(dāng)前位置下的各類信息進(jìn)行點(diǎn)評(píng),為自己在現(xiàn)實(shí)世界中的體驗(yàn)打分,分享自己的經(jīng)驗(yàn)與感受。

當(dāng)用戶使用這類基于位置的網(wǎng)站服務(wù)時(shí),同樣會(huì)遭遇“信息過(guò)載”問(wèn)題。推薦系統(tǒng)可以根據(jù)用戶的位置信息為用戶推薦當(dāng)前位置下用戶感興趣的內(nèi)容,為用戶提供符合其真正需要的內(nèi)容,提升用戶對(duì)網(wǎng)站的滿意度。社交推薦案例——豆瓣推薦系統(tǒng)的應(yīng)用

隨著社交網(wǎng)絡(luò)的興起,用戶在互聯(lián)網(wǎng)中的行為不再限于獲取信息,更多的是與網(wǎng)絡(luò)上的其他用戶進(jìn)行互動(dòng)。國(guó)外著名的社交網(wǎng)絡(luò)有Facebook、LinkedIn、Twitter等,國(guó)內(nèi)的社交網(wǎng)絡(luò)有新浪微博、人人網(wǎng)、騰訊微博等。

在社交網(wǎng)站中,用戶不再是單個(gè)的個(gè)體,而是與網(wǎng)絡(luò)中的很多人具有了錯(cuò)綜復(fù)雜的關(guān)系。社交網(wǎng)絡(luò)中最重要的資源就是用戶與用戶之間的這種關(guān)系數(shù)據(jù)。在社交網(wǎng)絡(luò)中,用戶間的關(guān)系是不同的,建立關(guān)系的因素可能是現(xiàn)實(shí)世界中的親人、同學(xué)、同事、朋友關(guān)系,也可能是網(wǎng)絡(luò)中的虛擬朋友,比如都是有著共同愛(ài)好的社交網(wǎng)絡(luò)成員。在社交網(wǎng)絡(luò)中,用戶與用戶之間的聯(lián)系反映了用戶之間的信任關(guān)系,用戶不單單是一個(gè)個(gè)體,用戶在社交網(wǎng)絡(luò)中的行為或多或少地會(huì)受到這些用戶關(guān)系的影響。

因此,推薦系統(tǒng)在這類社交網(wǎng)站中的研究與應(yīng)用,應(yīng)該考慮用戶社交關(guān)系的影響。推薦系統(tǒng)的應(yīng)用同時(shí),推薦系統(tǒng)正在向零售網(wǎng)站以外的領(lǐng)域拓展:大學(xué)用它們來(lái)引導(dǎo)學(xué)生選課,移動(dòng)電話公司靠它們來(lái)預(yù)測(cè)哪些用戶有可能轉(zhuǎn)投另一家供應(yīng)商,會(huì)議主辦方也測(cè)試過(guò)用它們來(lái)分配論文給審稿專家。推薦系統(tǒng)的產(chǎn)生與發(fā)展

推薦系統(tǒng)這個(gè)概念是1995年在美國(guó)人工智能協(xié)會(huì)(AAAI)上提出的。當(dāng)時(shí)CMU大學(xué)(美國(guó)賓州的卡內(nèi)基梅隆大學(xué)CarnegieMellonUniversity)的教授RobertArmstrong提出了這個(gè)概念,并推出了推薦系統(tǒng)的原型系統(tǒng)——WebWatcher。在同一個(gè)會(huì)議上,美國(guó)斯坦福大學(xué)的MarkoBalabanovic等人推出了個(gè)性化推薦系統(tǒng)LIRA1。1996年,Yahoo網(wǎng)站推出了個(gè)性化入口MyYahoo,可以看作第一個(gè)正式商用的推薦系統(tǒng)。21世紀(jì)以來(lái),推薦系統(tǒng)的研究與應(yīng)用隨著電子商務(wù)的快速發(fā)展而異軍突起,各大電子商務(wù)網(wǎng)站都部署了推薦系統(tǒng),其中Amazon網(wǎng)站的推薦系統(tǒng)比較著名。有報(bào)告稱,Amazon網(wǎng)站中35%的營(yíng)業(yè)額來(lái)自于自身的推薦系統(tǒng)。2006年,美國(guó)的DVD租賃公司Netflix在網(wǎng)上公開(kāi)設(shè)立了一個(gè)推薦算法競(jìng)賽——NetflixPrize。Netflix公開(kāi)了真實(shí)網(wǎng)站中的一部分?jǐn)?shù)據(jù),包含用戶對(duì)電影的評(píng)分。Netflix競(jìng)賽有效地推動(dòng)了學(xué)術(shù)界和產(chǎn)業(yè)界對(duì)推薦算法的研究,期間提出了很多有效的算法。近幾年,隨著社會(huì)化網(wǎng)絡(luò)的發(fā)展,推薦系統(tǒng)在工業(yè)界廣泛應(yīng)用并且取得了顯著進(jìn)步。比較著名的推薦系統(tǒng)應(yīng)用有:Amazon和淘寶網(wǎng)的電子商務(wù)推薦系統(tǒng)、Netflix和MovieLens的電影推薦系統(tǒng)、Youtube的視頻推薦系統(tǒng)、豆瓣和Last.fm的音樂(lè)推薦系統(tǒng)、Google的新聞推薦系統(tǒng)以及Facebook和Twitter的好友推薦系統(tǒng)。學(xué)術(shù)界對(duì)推薦系統(tǒng)的研究

在學(xué)術(shù)界,自20世紀(jì)90年代中期出現(xiàn)第一批關(guān)于協(xié)同過(guò)濾的文章[1?3]以來(lái),推薦系統(tǒng)在電子商務(wù)、網(wǎng)絡(luò)經(jīng)濟(jì)學(xué)和人類社會(huì)學(xué)等領(lǐng)域一直保持很高的研究熱度并逐漸成為一門獨(dú)立的學(xué)科。各種推薦算法涵蓋包括認(rèn)知科學(xué)、近似性理論、信息檢索、管理科學(xué)、市場(chǎng)營(yíng)銷建模等在內(nèi)的眾多研究領(lǐng)域。國(guó)際數(shù)據(jù)分析領(lǐng)域的高階期刊(如IEEETrans.onKnowledgeandDataEngineering,ACMTrans.onInformationSystem等)刊載數(shù)篇推薦系統(tǒng)方面的文章。[1]ShardanandU,MaesP.Socialinformationfiltering:Algorithmsforautomating“WordofMouth”.In:Proc.oftheConf.onHumanFactorsinComputingSystems.NewYork:ACMPress,1995.210?217.

[2]HillW,SteadL,RosensteinM,FurnasG.Recommendingandevaluatingchoicesinavirtualcommunityofuse.In:Proc.oftheConf.onHumanFactorsinComputingSystems.NewYork:ACMPress,1995.194?201.

[3]ResnickP,IakovouN,SushakM,BergstromP,RiedlJ.GroupLens:Anopenarchitectureforcollaborativefilteringofnetnews.In:Proc.oftheComputerSupportedCooperativeWorkConf.NewYork:ACMPress,1994.175?186.

學(xué)術(shù)界對(duì)推薦系統(tǒng)的研究從1999年開(kāi)始,美國(guó)計(jì)算機(jī)學(xué)會(huì)每年召開(kāi)電子商務(wù)研討會(huì)(ACMConferenceonElectronicCommerce,ACMEC),越來(lái)越多的與推薦系統(tǒng)相關(guān)的論文發(fā)表在ACMEC上。ACM信息檢索專業(yè)組(ACMSpecialInterestGroupofInformationRetrieval,ACMSIGIR)在2001年開(kāi)始把推薦系統(tǒng)作為該會(huì)議的一個(gè)獨(dú)立研究主題。同年召開(kāi)的人工智能聯(lián)合大會(huì)(The17thInternationalJointConferenceonArtificialIntelligence)也將推薦系統(tǒng)作為一個(gè)單獨(dú)的主題。最近的10年間,學(xué)術(shù)界對(duì)推薦系統(tǒng)越來(lái)越重視。目前為止,數(shù)據(jù)庫(kù)、數(shù)據(jù)挖掘、人工智能、機(jī)器學(xué)習(xí)方面的重要國(guó)際會(huì)議(如SIGMOD、VLDB、ICDE、KDD、AAAI、SIGIR、ICDM、WWW、ICML等)都有大量與推薦系統(tǒng)相關(guān)的研究成果發(fā)表。同時(shí),第一個(gè)以推薦系統(tǒng)命名的國(guó)際會(huì)議ACMRecommenderSystemsConference(ACMRecSys)于2007年首次舉辦。在近幾年的數(shù)據(jù)挖掘及知識(shí)發(fā)現(xiàn)國(guó)際會(huì)議(KDD)舉辦的KDDCUP競(jìng)賽中,連續(xù)兩年的競(jìng)賽主題都是推薦系統(tǒng)。在KDDCUP2011年的競(jìng)賽中,兩個(gè)競(jìng)賽題目分別為“音樂(lè)評(píng)分預(yù)測(cè)”和“識(shí)別音樂(lè)是否被用戶評(píng)分”。在KDDCUP2012年的競(jìng)賽中,兩個(gè)競(jìng)賽題目分別為“騰訊微博中的好友推薦”和“計(jì)算廣告中的點(diǎn)擊率預(yù)測(cè)”。學(xué)術(shù)界對(duì)推薦系統(tǒng)的研究信息領(lǐng)域做推薦系統(tǒng)領(lǐng)先的研究單位(學(xué)者)包括:

紐約大學(xué)(AlexanderTuzhilin)明尼蘇達(dá)州立大學(xué)的GroupLens研究小組(JosephA.Konstan,JohnRiedl等)JosephA.Konstan和JohnRiedl都是美國(guó)明尼蘇達(dá)大學(xué)的計(jì)算機(jī)科學(xué)教授。身為IEEE高級(jí)會(huì)員的Konstan和IEEE會(huì)士的Riedl參與創(chuàng)建了MovieLens推薦系統(tǒng)。美國(guó)密歇根大學(xué)(PaulResnick)卡內(nèi)基梅隆大學(xué)(JaimeCallan)微軟研究院(RyenW.White)等其中,美國(guó)密歇根大學(xué)在2006年開(kāi)授了由PaulResnick主講的推薦系統(tǒng)的課程。推薦系統(tǒng)的概念

目前被廣泛引用的推薦系統(tǒng)的非形式化概念是Resnick和Varian[8]在1997年給出的:[8]ResnickP,VarianHR.Recommendersystems.CommunicationsoftheACM,1997,40(3):56?58.

——“它是利用電子商務(wù)網(wǎng)站向客戶提供商品信息和建議,幫助用戶決定應(yīng)該購(gòu)買什么產(chǎn)品,模擬銷售人員幫助客戶完成購(gòu)買過(guò)程”。推薦有3個(gè)組成要素:推薦候選對(duì)象、用戶、推薦方法。

用戶可以向推薦系統(tǒng)主動(dòng)提供個(gè)人偏好信息或推薦請(qǐng)求,或者用戶不提供,而是推薦系統(tǒng)主動(dòng)采集。推薦系統(tǒng)可以使用不同的推薦策略進(jìn)行推薦,如將采集到的個(gè)性化信息和對(duì)象數(shù)據(jù)進(jìn)行計(jì)算得到推薦結(jié)果,或者直接基于已建模的知識(shí)數(shù)據(jù)庫(kù)進(jìn)行推薦。推薦系統(tǒng)將推薦結(jié)果返回給用戶使用。推薦系統(tǒng)的概念用戶建模

用戶模型反映用戶的興趣偏好。用戶興趣的反饋可分為顯性反饋和隱性反饋。

顯性反饋包含兩種方式:用戶定制和用戶評(píng)分。

用戶定制是指用戶對(duì)系統(tǒng)所列問(wèn)題的回答,如年齡、性別、職業(yè)等。評(píng)分又分為兩級(jí)評(píng)分和多級(jí)評(píng)分。例如,在YahooNews中采用兩級(jí)評(píng)分:喜歡(morelikethis)和不喜歡(lesslikethis)。多級(jí)評(píng)分可以更詳細(xì)地描述對(duì)某個(gè)產(chǎn)品的喜歡程度,如GroupLens中用戶對(duì)新聞的喜好程度可評(píng)價(jià)為1~5分。NewsDude支持用戶的4級(jí)反饋:感興趣、不感興趣、已知道、想了解更多,然后進(jìn)行歸一化處理。很多時(shí)候用戶不能夠準(zhǔn)確地提供個(gè)人偏好或者不愿意顯性提供個(gè)人偏好,更不愿意經(jīng)常維護(hù)個(gè)人的偏好。隱性反饋往往能夠正確地體現(xiàn)用戶的偏好以及偏好的變化。常用的隱性反饋信息有:是否點(diǎn)擊、停留時(shí)間、點(diǎn)擊時(shí)間、點(diǎn)擊地點(diǎn)、是否加入收藏、評(píng)論內(nèi)容(可推測(cè)用戶的心情)、用戶的搜索內(nèi)容、社交網(wǎng)絡(luò)、流行趨勢(shì)、點(diǎn)擊順序等。在協(xié)同過(guò)濾推薦方法中,常常把用戶的隱性反饋轉(zhuǎn)化為用戶對(duì)產(chǎn)品的評(píng)分。例如,GoogleNews中用戶閱讀過(guò)的新聞?dòng)洖橄矚g,評(píng)分為1;沒(méi)有閱讀過(guò)的評(píng)分為0。DailyLearner系統(tǒng)中用戶點(diǎn)擊了新聞標(biāo)題評(píng)分為0.8分,閱讀完全文則評(píng)分上升到1分;若用戶跳過(guò)了系統(tǒng)推薦的新聞,則從系統(tǒng)預(yù)測(cè)評(píng)分中減去0.2分作為最終評(píng)分。用戶建模

用戶的興趣可分為長(zhǎng)期興趣和短期興趣。長(zhǎng)期興趣反映用戶的真實(shí)興趣;短期興趣常與熱點(diǎn)話題相關(guān)聯(lián)且經(jīng)常改變,從最近的歷史行為中學(xué)習(xí)到的短期興趣模型可快速反映用戶興趣的變化。常用的模型有向量空間模型、語(yǔ)義網(wǎng)絡(luò)模型、基于分類器的模型等。由于用戶的興趣常受物品本身周期性、熱點(diǎn)事件、突發(fā)事件的影響,變化性很大。所以,需要經(jīng)常更新用戶模型。推薦算法

推薦算法是整個(gè)推薦系統(tǒng)中最核心、最關(guān)鍵的部分,很大程度上決定了推薦系統(tǒng)性能的優(yōu)劣。目前,主要的推薦方法包括:基于人口統(tǒng)計(jì)學(xué)的推薦

協(xié)同過(guò)濾推薦基于內(nèi)容的推薦基于關(guān)聯(lián)規(guī)則的推薦基于效用的推薦基于知識(shí)的推薦混合推薦基于人口統(tǒng)計(jì)學(xué)的推薦

最為簡(jiǎn)單的一種推薦算法,只是簡(jiǎn)單的根據(jù)系統(tǒng)用戶的基本信息發(fā)現(xiàn)用戶的相關(guān)程度,然后將相似用戶喜愛(ài)的其他物品推薦給當(dāng)前用戶。

系統(tǒng)首先會(huì)根據(jù)用戶的屬性建模,如年齡,性別,興趣等信息。根據(jù)這些特征計(jì)算用戶間的相似度。若系統(tǒng)通過(guò)計(jì)算發(fā)現(xiàn)用戶A和C比較相似。就會(huì)把A喜歡的物品推薦給C。

優(yōu)勢(shì):

a不需要?dú)v史數(shù)據(jù),沒(méi)有冷啟動(dòng)問(wèn)題

b不依賴于物品的屬性,因此其他領(lǐng)域的問(wèn)題都可無(wú)縫接入。

不足:算法比較粗糙,效果很難令人滿意,只適合簡(jiǎn)單的推薦。協(xié)同過(guò)濾算法協(xié)同過(guò)濾技術(shù)是由DavidGoldberg在1992年提出的,是目前個(gè)性化推薦系統(tǒng)中應(yīng)用最為成功和廣泛的技術(shù)。核心思想:如果兩個(gè)用戶對(duì)于一些項(xiàng)(item)的評(píng)分相似程度較高,那么一個(gè)用戶對(duì)于一個(gè)新項(xiàng)的評(píng)分很有可能類似于

另一個(gè)用戶。簡(jiǎn)介:通過(guò)在用戶的一系列行為中尋找特定模式來(lái)產(chǎn)生用戶特殊推薦輸入:僅僅依賴于慣用數(shù)據(jù)(例如評(píng)價(jià)、購(gòu)買、下載等用戶偏好行為)注意:該算法不依賴于項(xiàng)的任何附加信息或者用戶的任何附加信息(例如人口統(tǒng)計(jì)相關(guān)數(shù)據(jù))。類型:

基于鄰域的協(xié)同過(guò)濾(基于用戶的、基于項(xiàng)的)——即基于內(nèi)存的CF,是使用用戶對(duì)已有項(xiàng)的評(píng)分直接預(yù)測(cè)該用戶對(duì)新項(xiàng)的評(píng)分。

基于模型的協(xié)同過(guò)濾(矩陣因子分解、貝葉斯網(wǎng)絡(luò)、基于聚類的方法、基于回歸的方法)——利用歷史評(píng)分?jǐn)?shù)據(jù),學(xué)習(xí)出預(yù)測(cè)模型,預(yù)測(cè)對(duì)新項(xiàng)的評(píng)分。通常的方式是使用機(jī)器學(xué)習(xí)算法,

找出用戶與項(xiàng)的相互作用模型,從而找出數(shù)據(jù)中的特定模式。

基于鄰域的協(xié)同過(guò)濾算法預(yù)測(cè)過(guò)程是預(yù)測(cè)用戶對(duì)沒(méi)有購(gòu)買過(guò)的物品的可能打分值。

推薦是根據(jù)預(yù)測(cè)階段的結(jié)果推薦用戶最可能喜歡的一個(gè)或Top-N個(gè)物品。基于鄰域的協(xié)同過(guò)濾算法

基于鄰域的協(xié)同過(guò)濾算法可分為基于用戶(UserCF)的和基于項(xiàng)(ItemCF)的兩種。

基于用戶的算法:適用于item更新頻繁的應(yīng)用。根據(jù)用戶對(duì)物品的行為,找出興趣愛(ài)好相似的一些用戶,將其中一個(gè)用戶喜歡的東西推薦給另一個(gè)用戶?!?,老張喜歡看的書(shū)有A,B,C,D;老王喜歡看的書(shū)有A,B,C,E。通過(guò)這些數(shù)據(jù)我們可以判斷老張和老王的口味略相似,于是給老張推薦E這本書(shū),同時(shí)給老王推薦D這本書(shū)。

基于項(xiàng)的算法:適用于item的增長(zhǎng)速度遠(yuǎn)小于user的增長(zhǎng)速度的情況。根據(jù)用戶的喜好先找出相似的物品,如果同時(shí)喜歡兩個(gè)物品的人比較多的話,就認(rèn)為這兩個(gè)物品相似。并給用戶推薦和他原有喜好類似的物品。這種相似是基于項(xiàng)的共同出現(xiàn)幾率(例如用戶買了X,同時(shí)時(shí)也買了Y)?!?,我們發(fā)現(xiàn)喜歡看《從一到無(wú)窮大》的人大都喜歡看《什么是數(shù)學(xué)》,那么如果你剛津津有味地看完《從一到無(wú)窮大》,我們就可以立馬給你推薦《什么是數(shù)學(xué)》?;卩徲虻膮f(xié)同過(guò)濾算法基于用戶的協(xié)同過(guò)濾(UserCF)基于項(xiàng)的協(xié)同過(guò)濾(ItemCF)基于鄰域的協(xié)同過(guò)濾算法基于用戶的協(xié)同過(guò)濾算法(UserCF)

該算法于1992年被提出并用于郵件過(guò)濾系統(tǒng),兩年后(1994年)被GroupLens用于新聞過(guò)濾。一直到2000年,該算法都是推薦系統(tǒng)領(lǐng)域最著名的算法。

UserCF算法是以人為本,可以分為兩個(gè)步驟:1.找到與目標(biāo)用戶興趣相似的用戶集合;2.找到這個(gè)集合中用戶喜歡的、并且目標(biāo)用戶沒(méi)有聽(tīng)說(shuō)過(guò)的物品推薦給目標(biāo)用戶。該算法最大的問(wèn)題是如何判斷并量化兩個(gè)用戶的相似性。

例如,有3首歌:《最炫民族風(fēng)》,《晴天》,《Hero》。

A君,收藏了《最炫民族風(fēng)》,而遇到《晴天》,《Hero》則總是跳過(guò);

B君,經(jīng)常單曲循環(huán)《最炫民族風(fēng)》,《晴天》會(huì)播放完,《Hero》則拉黑了;

C君,拉黑了《最炫民族風(fēng)》,而《晴天》《Hero》都收藏了。

可見(jiàn),A,B二位品味接近,C和他們很不一樣。

那么問(wèn)題來(lái)了,A,B到底有多相似,如何量化?

把三首歌想象成三維空間的三個(gè)維度,《最炫民族風(fēng)》是x軸,《晴天》是y軸,《Hero》是z軸,對(duì)每首歌的喜歡程度即該維度上的坐標(biāo),并且對(duì)喜歡程度做量化(比如:?jiǎn)吻h(huán)=5,分享=4,收藏=3,主動(dòng)播放=2,聽(tīng)完=1,跳過(guò)=-1,拉黑=-5)。

那么每個(gè)人的總體口味就是一個(gè)向量,A君是(3,-1,-1),B君是(5,1,-5),C君是(-5,3,3)

用向量夾角的余弦值來(lái)表示兩個(gè)向量的相似程度,0度角(表示兩人完全一致)的余弦是1,180度角(表示兩人截然相反)的余弦是-1。

基于用戶的協(xié)同過(guò)濾算法(UserCF)

可見(jiàn),A君B君夾角的余弦是0.81,A君C君夾角的余弦是-0.97.

假設(shè)選取一百首種子歌曲,算出了各君之間的相似值,那么當(dāng)發(fā)現(xiàn)A君還喜歡聽(tīng)的《小蘋果》,而B(niǎo)君居然沒(méi)聽(tīng)過(guò),就可以向B君推薦了。Pearson相關(guān)系數(shù)

ItemCF算法以物為本,直接建立各商品之間的相似度關(guān)系矩陣。

最簡(jiǎn)單的就是

斜率=1(SlopeOne)算法。如,amazon發(fā)明了‘買了這個(gè)商品的人,也買了xxx’。基于項(xiàng)的協(xié)同過(guò)濾算法(ItemCF)例:假設(shè)對(duì)新來(lái)的D君,只知道她喜歡最炫民族風(fēng),那么應(yīng)給她推薦那首歌曲呢?可以預(yù)測(cè)D君對(duì)晴天的喜歡程度為4+0=4,對(duì)Hero的喜歡程度為4+(-2)=2。因此,向D君推薦晴天。

SlopeOne算法是由DanielLemire教授在2005年提出的。DanielLemire,AnnaMaclachlan,SlopeOnePredictorsforOnlineRating-BasedCollaborativeFiltering,InSIAMDataMining(SDM’05),NewportBeach,California,April21-23,2005.其基本的想法來(lái)自于簡(jiǎn)單的一元線性模型w=f(v)=v+b。已知一組訓(xùn)練點(diǎn)(vi,wi),(i=1,…,n),利用此線性模型最小化預(yù)測(cè)誤差的平方和,可以獲得對(duì)于新的數(shù)據(jù)點(diǎn)vnew,可以利用wnew=vnew+b獲得它的預(yù)測(cè)值。直觀上我們可以把上面求偏移b的公式理解為wi和vi差值的平均值。定義itemi相對(duì)于itemj的平均偏差:其中Sj,i()表示同時(shí)對(duì)itemi和j給予了評(píng)分的用戶集合,而card()表示集合包含的元素?cái)?shù)量。有了上面的定義后,我們可以使用獲得目標(biāo)用戶u對(duì)itemj的預(yù)測(cè)值。當(dāng)把所有這種可能的預(yù)測(cè)平均起來(lái),可以得到:其中Rj

表示用戶u已經(jīng)給予評(píng)分且滿足條件(i≠j)的所有item的集合。對(duì)于足夠稠密的數(shù)據(jù)集,可以使用近似把上面的預(yù)測(cè)公式簡(jiǎn)化為

SlopeOne算法可以預(yù)測(cè)D君對(duì)晴天的喜歡程度為:

((4+0)+(2+2))/2=4。SlopeOne中在計(jì)算itemi相對(duì)于itemj的平均偏差devj,i

時(shí)沒(méi)有考慮到使用不同的用戶數(shù)量平均得到的devj,i,其可信度不同。假設(shè)有2000個(gè)用戶同時(shí)評(píng)分了itemj和k,而只有20個(gè)用戶同時(shí)評(píng)分了itemj和l,那么顯然獲得的devj,k

比devj,l

更具有說(shuō)服力。所以可以通過(guò)對(duì)最終的平均進(jìn)行加權(quán)來(lái)修正預(yù)測(cè)值:其中,WeightedSlopeOne算法首先計(jì)算item1和item2的平均差值,((5-3)+(3-4))/2=0.5,

還有item1和item3的平均差值,5-2=3,

然后推算lucy對(duì)item1的評(píng)分,根據(jù)item1和item2的平均差值來(lái)看lucy對(duì)item1的評(píng)分可能為2+0.5=2.5,

同理根據(jù)item1和item3的平均差值,lucy對(duì)item1的評(píng)分可能為5+3=8.使用加權(quán)平均數(shù)進(jìn)行計(jì)算:

(因?yàn)?.5是根據(jù)兩個(gè)值推算的,8是通過(guò)一個(gè)只推算的)Bi-PolarSlopeOne進(jìn)一步將用戶已經(jīng)給予評(píng)分的item劃分為兩類——like和dislike,劃分的方法是判斷對(duì)應(yīng)的評(píng)分是否大于此用戶的平均評(píng)分:

類似地,可以定義對(duì)itemi和j具有相同喜好的用戶集合:

進(jìn)而可給出like(或dislike)的item的偏差值:這樣可以從itemi計(jì)算得到itemj的預(yù)測(cè)值:

最終Bi-PolarSlopeOne的預(yù)測(cè)公式為:雙極SlopeOne算法可以預(yù)測(cè)D君對(duì)晴天的喜歡程度為:(0+4+2)/3=2

優(yōu)點(diǎn):該算法很簡(jiǎn)單,易于實(shí)現(xiàn),執(zhí)行效率高,在只有很少數(shù)據(jù)的時(shí)候也能得到一個(gè)相對(duì)準(zhǔn)確的推薦,這一點(diǎn)可以解決ColdStart的問(wèn)題。

缺點(diǎn):該算法的效果不是很理想。因?yàn)?,該算法總是把用戶的口味和大眾的平均口味作?duì)等,推薦出來(lái)的東西很難是非常個(gè)性化的。很容易讓很多用戶的推薦結(jié)果趨向一致。SlopeOne算法的優(yōu)缺點(diǎn)

假設(shè)有一組用戶,他們表現(xiàn)出了對(duì)一組圖書(shū)的喜好。用戶對(duì)一本圖書(shū)的喜好程度越高,就會(huì)給其更高的評(píng)分,范圍是從1到5。通過(guò)一個(gè)矩陣來(lái)展示它,行代表用戶,列代表圖書(shū)。使用余弦相似性,把第一個(gè)用戶和其他五個(gè)用戶進(jìn)行比較,就能直觀地看到他和其他用戶的相似程度。

基于用戶的協(xié)同過(guò)濾算法(UserCF)更一般地,可以計(jì)算出每?jī)蓚€(gè)用戶之間的相似性,并且在相似矩陣中表示它們。

這是一個(gè)對(duì)稱矩陣。單元格的背景顏色表明用戶相似度的高低,更深的紅色表示他們之間更相似。

基于用戶的協(xié)同過(guò)濾算法(UserCF)在一般情況下,為一個(gè)給定用戶生成推薦,意味著找到與其最相似的用戶,根據(jù)用戶相似度對(duì)這些相似用戶欣賞的項(xiàng)進(jìn)行加權(quán)。

以第一個(gè)用戶為例。首先,找到與第一個(gè)用戶最相似的另一用戶,刪除第一個(gè)用戶已經(jīng)評(píng)價(jià)過(guò)的書(shū)籍,給最相似用戶正在閱讀的書(shū)籍加權(quán),然后計(jì)算出總和。

假設(shè)n=2,表示為了產(chǎn)生推薦,需要找出與目標(biāo)用戶最相似的兩個(gè)用戶。這兩個(gè)用戶分別是2和3。由于第一個(gè)用戶已經(jīng)評(píng)價(jià)了1和5,所產(chǎn)生的推薦書(shū)是3(4.5分)和4(3分)。

基于用戶的協(xié)同過(guò)濾算法(UserCF)類似于UserCF,在ItemCF中,第一件事也是計(jì)算相似矩陣(商品而非用戶的相似性)。要計(jì)算一本書(shū)和其它書(shū)的相似性,使用評(píng)價(jià)過(guò)一本書(shū)的用戶向量(或數(shù)組)表示這本圖書(shū),并比較他們的余弦相似性函數(shù)。

對(duì)于第一本書(shū)來(lái)說(shuō),與之最類似的是第五本書(shū),因?yàn)樵u(píng)價(jià)他們的用戶大致相同。第三本書(shū)與第一本書(shū)有兩個(gè)相同的評(píng)價(jià)用戶,第四和第二本書(shū)與之只有一個(gè)共同評(píng)價(jià)用戶,而最后一本書(shū)則不認(rèn)為是相似的,因?yàn)樗c第一本書(shū)沒(méi)有共同的評(píng)價(jià)用戶。

基于項(xiàng)的協(xié)同過(guò)濾算法(ItemCF)右圖表示所有圖書(shū)之間相似度的相似矩陣。

在ItemCF中,我們采用被用戶評(píng)價(jià)過(guò)的項(xiàng),推薦與之最相似的項(xiàng)。對(duì)于第一個(gè)用戶,首先將被推薦第三本書(shū),其次是第六本書(shū)。且只推薦和用戶已經(jīng)評(píng)價(jià)過(guò)的圖書(shū)最相似的前n本書(shū)。

基于項(xiàng)的協(xié)同過(guò)濾算法(ItemCF)UsefCF和ItemCF可以產(chǎn)生不同的推薦結(jié)果。即使使用的數(shù)據(jù)相同,這兩種方法對(duì)于同一用戶產(chǎn)生的推薦結(jié)果也不相同,為用戶提供了不同的體驗(yàn)?;卩徲虻膮f(xié)同過(guò)濾算法

UserCF更接近于社會(huì)化推薦,比較精準(zhǔn),適用于用戶少,物品多,時(shí)效性較強(qiáng)的場(chǎng)合,具有推薦新信息的能力,可以發(fā)現(xiàn)用戶潛在但自己尚未察覺(jué)的興趣愛(ài)好,能夠推薦藝術(shù)品、音樂(lè)、電影等難以進(jìn)行內(nèi)容分析的產(chǎn)品。代價(jià)是運(yùn)算量很大,而且對(duì)于新來(lái)的人(聽(tīng)得少,動(dòng)作少),也不太好用。ItemCF則更接近個(gè)性化推薦,適用于用戶多,物品少的場(chǎng)合,比如豆瓣的豆瓣猜、豆瓣FM,同時(shí)ItemCF還可以給出靠譜的推薦理由,例如豆瓣的「喜歡OO的人也喜歡XX」和亞馬遜的「買了XX的人也買了OO」。

協(xié)同過(guò)濾算法最明顯的一個(gè)缺點(diǎn)就是熱門物品的干擾,即該算法經(jīng)常會(huì)導(dǎo)致兩個(gè)不同領(lǐng)域的最熱門物品之間具有較高的相似度?!缃o喜歡《算法導(dǎo)論》的同學(xué)推薦《哈利波特》,顯然是不科學(xué)的!要避免這種情況就得從物品的內(nèi)容數(shù)據(jù)入手.基于模型的協(xié)同過(guò)濾算法

基于模型的方法會(huì)在使用評(píng)分去學(xué)習(xí)預(yù)測(cè)模型的基礎(chǔ)上,去預(yù)測(cè)新項(xiàng)。一般的想法是使用機(jī)器學(xué)習(xí)算法建立用戶和項(xiàng)的相互作用模型,從而找出數(shù)據(jù)中的模式。在一般情況下,基于模型的CF被認(rèn)為是建立CF推薦系統(tǒng)的更先進(jìn)的算法。有許多不同的算法可用于構(gòu)建模型并基于這些模型進(jìn)行預(yù)測(cè),例如,貝葉斯網(wǎng)絡(luò)、聚類、分類、回歸、矩陣分解、受限玻爾茲曼機(jī)等等。這些技術(shù)在為了最終贏得Netflix獎(jiǎng)的解決方案中扮演了關(guān)鍵角色。Netflix發(fā)起了一個(gè)競(jìng)賽,從2006年到2009年提供一百萬(wàn)美元獎(jiǎng)金,頒發(fā)給產(chǎn)生的推薦比他們自己的推薦系統(tǒng)精確10%以上的推薦系統(tǒng)團(tuán)隊(duì)。成功獲獎(jiǎng)的解決方案是Korbell的團(tuán)隊(duì)研發(fā)的一個(gè)集成(即混合)了超過(guò)100種算法模型,這些算法模型都采用了矩陣分解和受限玻爾茲曼機(jī)?;谀P偷膮f(xié)同過(guò)濾算法NetFlix的實(shí)時(shí)推薦系統(tǒng)系統(tǒng)架構(gòu)圖基于模型的協(xié)同過(guò)濾算法

基于低秩矩陣分解的方法是最近一類成功的基于模型的方法。

例如,SVD和SVD++將評(píng)價(jià)矩陣分解為3個(gè)低秩的矩陣,這3個(gè)矩陣的乘積能對(duì)原始矩陣進(jìn)行某種程度的復(fù)原,從而可以評(píng)估出缺失值。另一種方法是非負(fù)矩陣分解,其不同之處在于,矩陣分解的結(jié)果不得出現(xiàn)負(fù)值?;诘椭染仃嚪纸獾姆椒◤脑u(píng)分矩陣中抽取一組潛在的(隱藏的)因子,并通過(guò)這些因子向量描述用戶和物品。

在電影領(lǐng)域,這些自動(dòng)識(shí)別的因子可能對(duì)應(yīng)一部電影的常見(jiàn)標(biāo)簽,比如風(fēng)格或者類型(戲劇片或者動(dòng)作片),也可能是無(wú)法解釋的?;谀P偷膮f(xié)同過(guò)濾算法

矩陣因子分解(如奇異值分解)將項(xiàng)和用戶都轉(zhuǎn)化成了相同的潛在空間,即將用戶偏好矩陣分解成一個(gè)用戶-潛在因子矩陣乘以一個(gè)潛在因子-項(xiàng)矩陣,代表用戶和項(xiàng)之間的潛相互作用。

矩陣分解背后的原理是潛在特征代表了用戶如何給項(xiàng)進(jìn)行評(píng)分。給定用戶和項(xiàng)的潛在描述,我們可以預(yù)測(cè)用戶將會(huì)給還未評(píng)價(jià)的項(xiàng)多少評(píng)分。矩陣因子分解用戶-潛在因子矩陣Q:表示不同的用戶對(duì)于不用元素的偏好程度,1代表很喜歡,0代表不喜歡。如:潛在因子-音樂(lè)矩陣P:表示每種音樂(lè)含有各種元素的成分。如下表中,音樂(lè)A是一個(gè)偏小清新的音樂(lè),含有小清新這個(gè)LatentFactor的成分是0.9,重口味的成分是0.1,優(yōu)雅的成分是0.2……矩陣因子分解利用這兩個(gè)矩陣,我們能得出張三對(duì)音樂(lè)A的喜歡程度是:張三對(duì)小清新的偏好*音樂(lè)A含有小清新的成分+對(duì)重口味的偏好*音樂(lè)A含有重口味的成分+對(duì)優(yōu)雅的偏好*音樂(lè)A含有優(yōu)雅的成分+……即:張三對(duì)音樂(lè)A的喜歡程度=0.6*0.9+0.8*0.1+0.1*0.2+0.1*0.4+0.7*0=0.68每個(gè)用戶對(duì)每首歌都這樣計(jì)算可以得到不同用戶對(duì)不同歌曲的評(píng)分矩陣。因此我們?yōu)閺埲扑]四首歌中得分最高的B,為李四推薦得分最高的C,為王五推薦B。矩陣因子分解問(wèn)題:潛在因子(latentfactor)是怎么得到的呢?由于面對(duì)海量的音樂(lè),讓用戶自己給音樂(lè)分類并給出自己的偏好系數(shù)顯然是不現(xiàn)實(shí)的,事實(shí)上我們能獲得的數(shù)據(jù)只有用戶行為數(shù)據(jù)。如:?jiǎn)吻h(huán)=5,分享=4,收藏=3,主動(dòng)播放=2,聽(tīng)完=1,跳過(guò)=-2,拉黑=-5,在分析時(shí)能獲得的實(shí)際評(píng)分矩陣R,也就是輸入矩陣大概如下:矩陣因子分解

事實(shí)上這是個(gè)非常非常稀疏的矩陣,因?yàn)榇蟛糠钟脩糁宦?tīng)過(guò)全部音樂(lè)中很少一部分。

如何利用這個(gè)矩陣去找潛在因子?這里主要應(yīng)用到的是矩陣的奇異值分解。即將上面的評(píng)分矩陣分解為兩個(gè)低維度的矩陣,用Q和P兩個(gè)矩陣的乘積去估計(jì)實(shí)際的評(píng)分矩陣,而且我們希望估計(jì)的評(píng)分矩陣和實(shí)際的評(píng)分矩陣不要相差太多。矩陣因子分解這里涉及到最優(yōu)化理論,在實(shí)際應(yīng)用中,往往還要在后面加上2范數(shù)的罰項(xiàng),然后利用梯度下降法就可以求得P,Q兩個(gè)矩陣的估計(jì)值。例如上面給出的那個(gè)例子可以分解成為這樣兩個(gè)矩陣:矩陣因子分解這兩個(gè)矩陣相乘就可以得到估計(jì)的得分矩陣。將用戶已經(jīng)聽(tīng)過(guò)的音樂(lè)剔除后,選擇分?jǐn)?shù)最高的音樂(lè)推薦給用戶即可。實(shí)際評(píng)分矩陣R估計(jì)的得分矩陣矩陣因子分解在這個(gè)例子里面用戶7和用戶8有強(qiáng)的相似性:從推薦的結(jié)果來(lái)看,正好推薦的是對(duì)方評(píng)分較高的音樂(lè):協(xié)同過(guò)濾算法

協(xié)同過(guò)濾算法僅依賴于用戶的慣用數(shù)據(jù),需要最低限度專業(yè)工程的努力,以產(chǎn)生足夠好的結(jié)果,但是,也有局限性。

例如,CF傾向于推薦流行的項(xiàng),很難推薦給有獨(dú)特口味的人(即感興趣的項(xiàng)并沒(méi)有產(chǎn)生足夠多的慣用數(shù)據(jù))。這被稱為流行性偏見(jiàn),它通常是用基于內(nèi)容的過(guò)濾方法加以解決。CF方法的一個(gè)更重要的限制是“冷啟動(dòng)問(wèn)題”,系統(tǒng)是不能夠給沒(méi)有(或非常少)慣用活動(dòng)的用戶進(jìn)行推薦,又稱新用戶問(wèn)題,或推薦新項(xiàng)問(wèn)題。新用戶的“冷啟動(dòng)問(wèn)題”可以通過(guò)流行性和混合方法進(jìn)行解決,而新項(xiàng)問(wèn)題可以通過(guò)使用基于內(nèi)容的過(guò)濾或multi-armedbandits(多臂賭博機(jī))進(jìn)行解決。協(xié)同過(guò)濾算法的特點(diǎn)

優(yōu)勢(shì):

a它不需要對(duì)物品或者用戶進(jìn)行嚴(yán)格的建模,而且不要求物品的描述是機(jī)器可理解的,所以這種方法也是領(lǐng)域無(wú)關(guān)的。b這種方法計(jì)算出來(lái)的推薦是開(kāi)放的,可以共用他人的經(jīng)驗(yàn),很好的支持用戶發(fā)現(xiàn)潛在的興趣偏好。不足:

a方法的核心是基于歷史數(shù)據(jù),所以對(duì)新物品和新用戶都有“冷啟動(dòng)”的問(wèn)題。

b推薦的效果依賴于用戶歷史偏好數(shù)據(jù)的多少和準(zhǔn)確性。

c在大部分的實(shí)現(xiàn)中,用戶歷史偏好是用稀疏矩陣進(jìn)行存儲(chǔ)的,而稀疏矩陣上的計(jì)算有些明顯的問(wèn)題,包括可能少部分人的錯(cuò)誤偏好會(huì)對(duì)推薦的準(zhǔn)確度有很大的影響等等。

d對(duì)于一些特殊品味的用戶不能給予很好的推薦。

e由于以歷史數(shù)據(jù)為基礎(chǔ),抓取和建模用戶的偏好后,很難修改或根據(jù)用戶的使用演變,從而導(dǎo)致這個(gè)方法不夠靈活。協(xié)同過(guò)濾算法的數(shù)據(jù)稀疏問(wèn)題

協(xié)同過(guò)濾算法的關(guān)鍵是找尋用戶(物品)的最近鄰居。當(dāng)數(shù)據(jù)稀疏時(shí),用戶購(gòu)買過(guò)的物品很難重疊,協(xié)同推薦的效果就不好。例如,在Mendeley中有數(shù)以百萬(wàn)計(jì)的文章而一個(gè)用戶可能只讀了其中幾百篇文章。兩個(gè)讀過(guò)100篇文章的用戶有一篇相同文章的概率(共5000萬(wàn)篇文章)是0.0002。

改進(jìn)辦法1:除了直接鄰居之外,間接鄰居的行為也可以對(duì)當(dāng)前用戶的決策行為構(gòu)成影響。改進(jìn)辦法2:可以添加一些缺省值,人為地將數(shù)據(jù)變得稠密一些。改進(jìn)辦法3:采用迭代補(bǔ)全的方法,先補(bǔ)充部分?jǐn)?shù)值,在此基礎(chǔ)上再進(jìn)一步補(bǔ)充其他數(shù)值。改進(jìn)辦法4:利用遷移學(xué)習(xí)的方法來(lái)彌補(bǔ)數(shù)據(jù)稀疏的問(wèn)題。但這些方法只能在某種程度上部分解決數(shù)據(jù)稀疏的問(wèn)題,并不能完全克服。在真實(shí)應(yīng)用中,由于數(shù)據(jù)規(guī)模很大,數(shù)據(jù)稀疏的問(wèn)題更加突出。數(shù)據(jù)稀疏性使協(xié)同過(guò)濾方法的有效性受到制約。甄別出與數(shù)據(jù)稀疏程度相匹配的算法,以便能根據(jù)具體應(yīng)用情況做出正確選擇,是非常有價(jià)值的研究課題?;趦?nèi)容的推薦

基于內(nèi)容的推薦算法總是為用戶推薦那些與用戶過(guò)去喜歡的item類似的item。通常使用用戶模型的向量特征來(lái)描述用戶的興趣愛(ài)好,同樣對(duì)于每個(gè)物品進(jìn)行特征提取,作為物品模型的內(nèi)容特征。然后計(jì)算用戶模型的向量特征和候選物品模型的向量特征兩者之間的匹配度,匹配度較高的候選物品就可作為推薦結(jié)果推送給目標(biāo)用戶。它不同于協(xié)同過(guò)濾,它是基于item的內(nèi)容(例如標(biāo)題、年份、描述)比較item之間的相似度。并沒(méi)有考慮用戶過(guò)去如何使用item的情況。

例如,如果一個(gè)用戶喜歡電影“指環(huán)王:魔戒再現(xiàn)”和“指環(huán)王:雙塔奇兵”,然后使用電影的標(biāo)題信息,推薦系統(tǒng)可以向用戶推薦電影“指環(huán)王:王者無(wú)敵”。在基于內(nèi)容的推薦中,假設(shè)可以獲取到item的描述信息,并將其作為item的特征向量(例如標(biāo)題、年份、描述)。這些特征向量被用于創(chuàng)建一個(gè)反映用戶偏好的模型。各種信息檢索(如TF-IDF——termfrequency–inversedocumentfrequency,詞頻-倒排文檔頻率)和機(jī)器學(xué)習(xí)技術(shù)(例如樸素貝葉斯、支持向量機(jī)、決策樹(shù)等)可被用于創(chuàng)建用戶模型,從而為用戶產(chǎn)生推薦?;趦?nèi)容的推薦

CB的過(guò)程一般包括以下三步:1.ItemRepresentation:為每個(gè)item抽取出一些特征(即item的content)來(lái)表示此item;2.ProfileLearning:利用一個(gè)用戶過(guò)去喜歡(及不喜歡)的item的特征數(shù)據(jù),來(lái)學(xué)習(xí)出此用戶的喜好特征(profile);3.RecommendationGeneration:通過(guò)比較上一步得到的用戶profile與候選item的特征,為此用戶推薦一組相關(guān)性最大的item?;趦?nèi)容的推薦

系統(tǒng)首先對(duì)物品的屬性進(jìn)行建模,如用電影的類型作為屬性。在實(shí)際應(yīng)用中,只根據(jù)類型顯然過(guò)于粗糙,還需要考慮演員,導(dǎo)演等更多信息。通過(guò)相似度計(jì)算,發(fā)現(xiàn)電影A和C相似度較高,因?yàn)樗麄兌紝儆趷?ài)情類。系統(tǒng)還會(huì)發(fā)現(xiàn)用戶A喜歡電影A,由此得出結(jié)論,用戶A很可能對(duì)電影C也感興趣。于是將電影C推薦給A。

優(yōu)勢(shì):對(duì)用戶興趣可以很好的建模,并通過(guò)對(duì)物品屬性維度的增加,獲得更好的推薦精度

不足:

a物品的屬性有限,很難有效的得到更多數(shù)據(jù)

b物品相似度的衡量標(biāo)準(zhǔn)只考慮到物品本身,有一定的片面性

c需要用戶的物品的歷史數(shù)據(jù),有冷啟動(dòng)的問(wèn)題基于內(nèi)容的推薦例:假設(shè)有一些用戶表達(dá)過(guò)對(duì)于一系列書(shū)籍的偏好。他們?cè)较矚g一本書(shū),他們對(duì)書(shū)籍的評(píng)分就會(huì)越高,通常劃分為從1到5的5個(gè)等級(jí)??梢詫⒂脩魧?duì)于書(shū)籍的偏好表示為一個(gè)矩陣,其中行代表用戶,列表示書(shū)籍?;趦?nèi)容的推薦在基于內(nèi)容的推薦中,要做的第一件事是基于內(nèi)容計(jì)算書(shū)籍之間的相似度。為了方便理解該算法的工作原理,本例中僅僅使用了書(shū)籍標(biāo)題中的詞匯。在實(shí)際應(yīng)用中,可以使用更多的屬性。基于內(nèi)容的推薦首先,從內(nèi)容中刪除停止詞(例如語(yǔ)法詞語(yǔ)、常見(jiàn)的詞語(yǔ)),然后將書(shū)籍用一個(gè)向量(或數(shù)組)表示,代表使用了哪些詞,這被稱為矢量空間表示。使用書(shū)籍標(biāo)題中詞匯作為描述書(shū)籍的向量表示。當(dāng)相應(yīng)的詞匯在標(biāo)題中,對(duì)應(yīng)的單元格中標(biāo)注1,否則為空白。基于內(nèi)容的推薦

給定每本書(shū)的表示之后,可以使用一系列的相似度度量來(lái)對(duì)書(shū)籍進(jìn)行比較。本例中,選擇余弦相似性度量。把第一本書(shū)與其他的五本書(shū)進(jìn)行比較,就能得到該書(shū)與其他書(shū)之間的相似程度。第一本書(shū)與其中三本書(shū)非常類似,因?yàn)樗鼈兊谋硎局g有兩個(gè)詞匯相同(recommender和systems),由于第五本書(shū)的描述的詞匯最少,因此它與第一本書(shū)最相似,因?yàn)樗凶钌俚亩嘤嗟脑~匯。而剩下的兩本書(shū)與第一本書(shū)沒(méi)有共同的描述詞匯,因此可以當(dāng)做一點(diǎn)都不相似?;趦?nèi)容的推薦

更進(jìn)一步,可以在一個(gè)相似度矩陣中顯示所有書(shū)籍之間的相似程度。單元格的背景顏色表示兩本書(shū)之間的相似程度,紅顏色越深,它們之間越相似。每個(gè)相似度是基于書(shū)籍的詞匯向量表示用余弦相似性度量進(jìn)行計(jì)算的?;趦?nèi)容的推薦

在知道書(shū)籍之間的相似度后,就可以對(duì)用戶推薦書(shū)籍了。

選取一個(gè)用戶此前評(píng)分過(guò)的書(shū)籍,并推薦與它們最相似的書(shū)籍。與協(xié)同過(guò)濾方法不同的是,這里的相似性度量是基于書(shū)籍的內(nèi)容,準(zhǔn)確來(lái)說(shuō)是標(biāo)題,而不是使用用戶過(guò)去的行為數(shù)據(jù)。第一個(gè)用戶將會(huì)被推薦第六本書(shū),之后是第四本書(shū)。在此,我們僅僅選取了最相似的兩本書(shū)?;趦?nèi)容的推薦

對(duì)于個(gè)性化閱讀來(lái)說(shuō),一個(gè)item就是一篇文章。首先要從文章內(nèi)容中抽取出代表它們的屬性。常用的方法就是利用出現(xiàn)在一篇文章中的詞來(lái)代表這篇文章,而每個(gè)詞對(duì)應(yīng)的權(quán)重往往使用信息檢索中的tf-idf來(lái)計(jì)算。這樣,一篇抽象的文章就可以使用具體的一個(gè)向量來(lái)表示了。第二步就是根據(jù)用戶過(guò)去喜歡什么文章來(lái)產(chǎn)生刻畫(huà)此用戶喜好的profile了,最簡(jiǎn)單的方法可以把用戶所有喜歡的文章對(duì)應(yīng)的向量的平均值作為此用戶的profile。

比如某個(gè)用戶經(jīng)常關(guān)注與推薦系統(tǒng)有關(guān)的文章,那么他的profile中“CB”、“CF”和“推薦”對(duì)應(yīng)的權(quán)重值就會(huì)較高。在獲得了一個(gè)用戶的profile后,CB就可以利用所有item與此用戶profile的相關(guān)度對(duì)他進(jìn)行推薦文章了。一個(gè)常用的相關(guān)度計(jì)算方法是cosine。最終把候選item里與此用戶最相關(guān)(cosine值最大)的N個(gè)item作為推薦返回給此用戶?;趦?nèi)容的推薦Step1.ItemRepresentation真實(shí)應(yīng)用中的item往往都會(huì)有一些可以描述它的屬性,通??梢苑譃閮煞N:結(jié)構(gòu)化的(structured)屬性——屬性的意義比較明確,其取值限定在某個(gè)范圍;非結(jié)構(gòu)化的(unstructured)屬性——往往其意義不太明確,取值也沒(méi)什么限制,不好直接使用。比如在交友網(wǎng)站上,item就是人,一個(gè)item會(huì)有結(jié)構(gòu)化屬性如身高、學(xué)歷、籍貫等,也會(huì)有非結(jié)構(gòu)化屬性(如item自己寫(xiě)的交友宣言,博客內(nèi)容等等)。對(duì)于結(jié)構(gòu)化數(shù)據(jù),可以直接拿來(lái)就用;但對(duì)于非結(jié)構(gòu)化數(shù)據(jù)(如文章),往往要先把它轉(zhuǎn)化為結(jié)構(gòu)化數(shù)據(jù)后才能在模型里加以使用?;趦?nèi)容的推薦真實(shí)場(chǎng)景中碰到最多的非結(jié)構(gòu)化數(shù)據(jù)可能就是文章了(如個(gè)性化閱讀中)。如何把非結(jié)構(gòu)化的一篇文章結(jié)構(gòu)化?——向量空間模型(VectorSpaceModel,簡(jiǎn)稱VSM)基于內(nèi)容的推薦

用的最多的計(jì)算方法是信息檢索中常用的詞頻-逆文檔頻率(termfrequency–inversedocumentfrequency,簡(jiǎn)稱tf-idf)。第j篇文章中與詞典里第k個(gè)詞對(duì)應(yīng)的tf-idf為:做歸一化的好處是不同文章之間的表示向量被歸一到一個(gè)量級(jí)上,便于之后的操作。基于內(nèi)容的推薦Step2.ProfileLearning

假設(shè)用戶u已經(jīng)對(duì)一些item給出了他的喜好判斷,喜歡其中的一部分item,不喜歡其中的另一部分。那么,這一步要做的就是通過(guò)用戶u過(guò)去的這些喜好判斷,為他產(chǎn)生一個(gè)模型。有了這個(gè)模型,就可以判斷用戶u是否會(huì)喜歡一個(gè)新的item。這是一個(gè)典型的有監(jiān)督分類問(wèn)題,理論上機(jī)器學(xué)習(xí)里的分類算法都可以照搬進(jìn)這里。CB里常用的一些學(xué)習(xí)算法:最近鄰方法(k-NearestNeighbor,簡(jiǎn)稱kNN)Rocchio算法決策樹(shù)算法(DecisionTree,簡(jiǎn)稱DT)線性分類算法(LinearClassifer,簡(jiǎn)稱LC)樸素貝葉斯算法(NaiveBayes,簡(jiǎn)稱NB)基于內(nèi)容的推薦Step3.RecommendationGeneration

如果ProfileLearning中使用的是分類模型(如DT、LC和NB),那么只要把模型預(yù)測(cè)的用戶最可能感興趣的n個(gè)item作為推薦返回給用戶即可。

如果ProfileLearning中使用的直接學(xué)習(xí)用戶屬性的方法(如Rocchio算法),那么只要把與用戶屬性最相關(guān)的n個(gè)item作為推薦返回給用戶即可。其中的用戶屬性與item屬性的相關(guān)性可以使用如cosine等相似度度量獲得?;趦?nèi)容的推薦CB的優(yōu)點(diǎn):1.用戶之間的獨(dú)立性(UserIndependence):每個(gè)用戶的profile都是依據(jù)他本身對(duì)item的喜好獲得的,與他人的行為無(wú)關(guān)。而CF剛好相反,CF需要利用很多其他人的數(shù)據(jù)。CB的這種用戶獨(dú)立性帶來(lái)的一個(gè)顯著好處是別人不管對(duì)item如何作弊(比如利用多個(gè)賬號(hào)把某個(gè)產(chǎn)品的排名刷上去)都不會(huì)影響到自己。2.好的可解釋性(Transparency):如果需要向用戶解釋為什么推薦了這些產(chǎn)品給他,你只要告訴他這些產(chǎn)品有某某屬性,這些屬性跟你的品味很匹配等等。3.新的item可以立刻得到推薦(NewItemProblem):只要一個(gè)新item加進(jìn)item庫(kù),它就馬上可以被推薦,被推薦的機(jī)會(huì)和老的item是一致的。而CF對(duì)于新item就很無(wú)奈,只有當(dāng)此新item被某些用戶喜歡過(guò)(或打過(guò)分),它才可能被推薦給其他用戶。所以,如果一個(gè)純CF的推薦系統(tǒng),新加進(jìn)來(lái)的item就永遠(yuǎn)不會(huì)被推薦?;趦?nèi)容的推薦

基于內(nèi)容的方法克服了協(xié)同過(guò)濾方法的很多不足??傮w來(lái)說(shuō),基于內(nèi)容的推薦算法可以克服流行度偏離和新item的冷啟動(dòng)問(wèn)題。值得注意的是,純粹基于內(nèi)容的推薦算法的性能通常不如協(xié)同過(guò)濾算法。基于內(nèi)容的推薦算法通常還存在過(guò)度專業(yè)化(over-specialisation)的問(wèn)題,即用戶可能會(huì)得到過(guò)多相同類型的item(如推薦所有的“指環(huán)王”系列電影),而不會(huì)推薦其他不同的、但用戶可能感興趣的item?;趦?nèi)容的推薦算法中,僅僅使用了包含在item元數(shù)據(jù)中的詞匯(如標(biāo)題、描述年份),這限制了推薦算法的實(shí)用性,不能幫助用戶探索和發(fā)現(xiàn)詞匯之外的內(nèi)容。基于內(nèi)容的推薦CB的缺點(diǎn):

1.item的特征抽取一般很難(LimitedContentAnalysis):如果系統(tǒng)中的item是文檔(如個(gè)性化閱讀中),那么我們現(xiàn)在可以比較容易地使用信息檢索里的方法來(lái)“比較精確地”抽取出item的特征。但很多情況下我們很難從item中抽取出準(zhǔn)確刻畫(huà)item的特征,比如電影推薦中item是電影,社會(huì)化網(wǎng)絡(luò)推薦中item是人,這些item屬性都不好抽。其實(shí),幾乎在所有實(shí)際情況中我們抽取的item特征都僅能代表item的一些方面,不可能代表item的所有方面。這樣帶來(lái)的一個(gè)問(wèn)題就是可能從兩個(gè)item抽取出來(lái)的特征完全相同,這種情況下CB就完全無(wú)法區(qū)分這兩個(gè)item了。比如如果只能從電影里抽取出演員、導(dǎo)演,那么兩部有相同演員和導(dǎo)演的電影對(duì)于CB來(lái)說(shuō)就完全不可區(qū)分了。2.無(wú)法挖掘出用戶的潛在興趣(Over-specialization):既然CB的推薦只依賴于用戶過(guò)去對(duì)某些item的喜好,它產(chǎn)生的推薦也都會(huì)和用戶過(guò)去喜歡的item相似。如果一個(gè)人以前只看與推薦有關(guān)的文章,那CB只會(huì)給他推薦更多與推薦相關(guān)的文章,它不會(huì)知道用戶可能還喜歡數(shù)碼。3.無(wú)法為新用戶產(chǎn)生推薦(NewUserProblem):新用戶沒(méi)有喜好歷史,自然無(wú)法獲得他的profile,所以也就無(wú)法為他產(chǎn)生推薦了。當(dāng)然,這個(gè)問(wèn)題CF也有。基于內(nèi)容的推薦

基于用戶的協(xié)同過(guò)濾VS基于人口統(tǒng)計(jì)學(xué)的推薦聯(lián)系:都是計(jì)算用戶的相似度,并基于“鄰居”用戶群計(jì)算推薦。區(qū)別:用戶相似度計(jì)算的方法不一樣,前者是在用戶的歷史偏好的數(shù)據(jù)上計(jì)算用戶的相似度,它的基本假設(shè)是,喜歡類似物品的用戶可能有相同或者相似的口味和偏好,而后者只考慮用戶本身的特征?;谖锲返膮f(xié)同過(guò)濾VS基于內(nèi)容的推薦聯(lián)系:都是基于物品相似度預(yù)測(cè)推薦,區(qū)別:相似度計(jì)算的方法不一樣,前者是從用戶歷史的偏好推斷,而后者是基于物品本身的屬性特征信息。混合推薦方法由于各種推薦方法都有其自身的優(yōu)缺點(diǎn),因此在實(shí)際中經(jīng)常使用混合推薦(HybridRecommendation)的方法。混合推薦的一個(gè)最重要原則就是通過(guò)組合后應(yīng)能避免或彌補(bǔ)各自推薦技術(shù)的弱點(diǎn)。研究和應(yīng)用最多的是內(nèi)容推薦和協(xié)同過(guò)濾推薦的組合。最簡(jiǎn)單的做法就是分別用基于內(nèi)容的方法和協(xié)同過(guò)濾推薦方法去產(chǎn)生一個(gè)推薦預(yù)測(cè)結(jié)果,然后用某方法組合其結(jié)果。盡管從理論上有很多種推薦組合方法,但在某一具體問(wèn)題中并不見(jiàn)得都有效,不同的組合思路適用于不同的應(yīng)用場(chǎng)景?;旌贤扑]方法

將多種基本的推薦技術(shù)進(jìn)行組合形成一個(gè)混合推薦系統(tǒng)的不同方式1)加權(quán)(Weight):加權(quán)多種推薦技術(shù)結(jié)果。

2)變換(Switch):根據(jù)問(wèn)題背景和實(shí)際情況或要求決定變換采用不同的推薦技術(shù)。

3)混合(Mixed):同時(shí)采用多種推薦技術(shù)給出多種推薦結(jié)果為用戶提供參考。

4)特征組合(Featurecombination):組合來(lái)自不同推薦數(shù)據(jù)源的特征被另一種推薦算法所采用。

5)層疊(Cascade):先用一種推薦技術(shù)產(chǎn)生一種粗糙的推薦結(jié)果,第二種推薦技術(shù)在此推薦結(jié)果的基礎(chǔ)上進(jìn)一步作出更精確的推薦。

6)特征擴(kuò)充(Featureaugmentation):一種技術(shù)產(chǎn)生附加的特征信息嵌入到另一種推薦技術(shù)的特征輸入中。

7)元級(jí)別(Meta-level):用一種推薦方法產(chǎn)生的模型作為另一種推薦方法的輸入?;旌贤扑]方法

現(xiàn)在,組合基于用戶的協(xié)同過(guò)濾技術(shù)、基于item的協(xié)同過(guò)濾技術(shù)以及基于內(nèi)容的過(guò)濾技術(shù)來(lái)構(gòu)建一個(gè)新的混合推薦系統(tǒng)。使用加權(quán)方法來(lái)組合這幾種不同技術(shù)的結(jié)果,通過(guò)考慮不同結(jié)果的重要性(即權(quán)重)來(lái)產(chǎn)生新的推薦。下面為第一個(gè)用戶產(chǎn)生一些推薦。首先,提取使用基于用戶的協(xié)同過(guò)濾技術(shù)和基于item的協(xié)同過(guò)濾技術(shù)(CF)所得到的推薦結(jié)果,以及使用基于內(nèi)容的過(guò)濾技術(shù)(CB)所得到的推薦結(jié)果。值得注意的是,在這個(gè)小的例子中,即使三種方法的輸入相同,但它們卻為相同用戶產(chǎn)生了略微不同的推薦結(jié)果?;旌贤扑]方法使用一個(gè)加權(quán)混合推薦系統(tǒng)為給定的用戶產(chǎn)生推薦,基于用戶的協(xié)同過(guò)濾的權(quán)重為40%,基于item的協(xié)同過(guò)濾的權(quán)重為30%,基于內(nèi)容的過(guò)濾技術(shù)的權(quán)重為30%。相比使用單個(gè)算法的例子中僅僅向用戶推薦兩本書(shū),在這個(gè)例子中,用戶將被推薦所有他們未評(píng)分過(guò)的三本書(shū)。混合推薦方法

通過(guò)舉一個(gè)簡(jiǎn)單的例子,提供了一個(gè)綜合的闡述,當(dāng)有相同的輸入數(shù)據(jù)時(shí),這四種不同的算法將為相同的用戶產(chǎn)生如何不同的推薦結(jié)果。在算法被應(yīng)用到大的、真實(shí)的數(shù)據(jù)中時(shí),這種差異會(huì)一直存在,所以在決定要使用哪種算法時(shí)需要考慮它們的優(yōu)點(diǎn)和缺點(diǎn),并且在評(píng)價(jià)它們的時(shí)候,還要考慮它們執(zhí)行的好壞程度。

在實(shí)際應(yīng)用中,如果利用協(xié)同過(guò)濾算法作為推薦模型,一般不會(huì)出什么問(wèn)題。協(xié)同過(guò)濾容易比其他算法產(chǎn)生更好的結(jié)果,但是它不能很好地處理新用戶和新item的冷啟動(dòng)問(wèn)題,如果要處理這些問(wèn)題,基于內(nèi)容的推薦算法是一個(gè)很好的備選。

如果有時(shí)間,那么可以將這些方法進(jìn)行組合,這樣就可以同時(shí)利用協(xié)同過(guò)濾算法和基于內(nèi)容的推薦算法的優(yōu)點(diǎn)。即使需要考察更為先進(jìn)的推薦算法,在此之前,先好好考慮一下這些基本的算法也不失為一個(gè)好主意?;旌贤扑]方法

雖然混合方法可以解決CF方法和CB方法中存在的一些局限性,但它們同時(shí)也需要大量的工作來(lái)獲取系統(tǒng)中的不同算法之間的平衡。

組合單個(gè)的推薦算法的另一種技術(shù)是集成方法,它需要學(xué)習(xí)一個(gè)函數(shù)(即集成器)來(lái)確定不同推薦算法組合的權(quán)重。

值得注意的是,通常集成方法不僅僅結(jié)合了不同的算法,同時(shí)也組合了基于相同算法的不同變種(模型)。例如,在贏得Netflix競(jìng)賽的解決方案中,研究者使用了來(lái)自于超過(guò)10種不同算法(流行度、領(lǐng)域方法、矩陣因子分解、受限玻爾茲曼機(jī)、回歸等)的100多種模型,并通過(guò)使用梯度boosted決策樹(shù)將它們組合到一個(gè)集成器中。

值得補(bǔ)充的是,基于流行度的方法對(duì)于新用戶的冷啟動(dòng)問(wèn)題也是一個(gè)很好的解決方法。這種方法在對(duì)item進(jìn)行評(píng)分時(shí)使用某種形式流行度度量,例如最多的下載次數(shù)或購(gòu)買量,然后向新用戶推薦這些受歡迎的item。當(dāng)你有一個(gè)好的流行度度量的時(shí)候,這是一個(gè)基本的、但功能強(qiáng)大的方法,而且在與其他推薦算法進(jìn)行比較時(shí)提供一個(gè)好的基線。

在可以切換到其他能夠更好地建模用戶偏好的方法(協(xié)同過(guò)濾技術(shù)和基于內(nèi)容的過(guò)濾技術(shù))之前,流行度度量本身可以作為一種算法來(lái)增強(qiáng)一個(gè)推薦系統(tǒng),以獲得足夠的活躍度和使用量。

流行度的模型也可以組合在混合方法中,以幫助解決推薦系統(tǒng)的新用戶冷啟動(dòng)問(wèn)題?;旌贤扑]的組合思路后融合:融合兩種或兩種以上的推薦方法各自產(chǎn)生的推薦結(jié)果。

如使用基于內(nèi)容的方法和協(xié)同過(guò)濾方法分別得到推薦列表,融合列表的結(jié)果決定最后推薦的對(duì)象。中融合:以一種推薦方法為框架,融合另一種推薦方法。

如以基于內(nèi)容的方法為框架,融合協(xié)同過(guò)濾的方法,或者以協(xié)同過(guò)濾的方法為框架,融合基于內(nèi)容的方法。前融合:直接融合各種推薦方法。

如將基于內(nèi)容和協(xié)同過(guò)濾的方法整合到一個(gè)統(tǒng)一的框架模型下。組合推薦后融合組合推薦(結(jié)果層次上的融合)在后融合組合推薦中,最簡(jiǎn)單的做法就是分別用基于內(nèi)容的方法和協(xié)同過(guò)濾推薦方法去產(chǎn)生一個(gè)推薦預(yù)測(cè)結(jié)果,然后用某種方法組合其結(jié)果。文獻(xiàn)[37]使用了評(píng)分結(jié)果的線性組合。[37]ClaypoolM,GokhaleA,MirandaT,MurnikovP,NetesD,SartinM.Combiningcontent-basedandcollaborativefiltersinanonlinenewspaper.In:Proc.oftheACMSIGIR’99WorkshopRecommenderSystems:AlgorithmsandEvaluation.NewYork:ACMPress,1999.

文獻(xiàn)[38]使用了投票機(jī)制來(lái)組合推薦結(jié)果。[38]PazzaniM.Aframeworkforcollaborative,content-based,anddemographicfiltering.ArtificialIntelligenceReview,1999,13(5-6):393?408.

也可以分別考察兩個(gè)推薦列表,判斷使用其中的哪個(gè)推薦結(jié)果。如,DailyLearnersystem[39]通過(guò)計(jì)算推薦結(jié)果的可信度,然后選擇一個(gè)列表的結(jié)果。[39]BillsusD,PazzaniM.Usermodelingforadaptivenewsaccess.UserModelingandUser-AdaptedInteraction,2000,10(2-3):147?180.

組合推薦中融合組合推薦

以基于內(nèi)容的方法為框架,融合協(xié)同過(guò)濾的方法利用降維技術(shù)把基于內(nèi)容的對(duì)象特征進(jìn)行精簡(jiǎn)化。如,文獻(xiàn)[40]使用了LSI(latentsemanticindexing)算法,在基于內(nèi)容的框架中使用精化的用戶特征向量。[40]SoboroffI,NicholasC.Combiningcontentandcollaborationintextfiltering.In:Proc.oftheInt’lJointConf.onArtificialIntelligenceWorkshop:MachineLearningforInformationFiltering.Stockholm,1999.86?91.

以協(xié)同過(guò)濾的方法為框架,融合基于內(nèi)容的方法為了克服協(xié)同過(guò)濾的稀疏問(wèn)題,把用戶當(dāng)作對(duì)象,使用基于內(nèi)容的特征提取方法把用戶本身的特征(如年齡、工作情況等人口統(tǒng)計(jì)學(xué)特征)使用到相似度計(jì)算中,而不是僅僅依賴用戶的點(diǎn)擊行為。文獻(xiàn)[41]引入多種不同的用戶描述符來(lái)歸類用戶,挖掘用戶的內(nèi)在聯(lián)系,從而得到更好的推薦效果。[41]GoodN,SchaferJB,KonstanJA,BorchersA,SarwarB,HerlockerJL,RiedlJ.Combiningcollaborativefilteringwithpersonalagentsforbetterrecommendations.In:Proc.ofthe16thNationalConf.onArtificialIntelligence.MenloPark:AAAIPress,1999.439?446.

文獻(xiàn)[42]使用獨(dú)立的基于內(nèi)容的特征來(lái)補(bǔ)償用戶提供的簡(jiǎn)單的rating。

[42]MelvilleP,MooneyRJ,NagarajanR.Content-Boostedcollaborativefilteringforimprovedrecommendations.In:Proc.ofthe18thNationalConf.onArtificialIntelligence.MenloPark:AmericanAssociationforArtificialIntelligence,2002.187?192.

組合推薦前融合組合推薦(方法層次上的融合)近年來(lái),這類推薦方法最受學(xué)者的關(guān)注。文獻(xiàn)[36]把用戶的年齡和電影的類型放到一個(gè)統(tǒng)一的分類器中訓(xùn)練學(xué)習(xí)。[36]BasuC,HirshH,CohenW.Recommendationasclassification:Usingsocialandcontent-basedinformationinrecommendation.In:Proc.oftheAAAI’98.MenloPark:AAAIPress.1998.714?720.

文獻(xiàn)[43]使用了貝葉斯混合效果回歸模型,將用戶和對(duì)象的特征都放到一個(gè)統(tǒng)計(jì)模型下來(lái)計(jì)算效用函數(shù),并通過(guò)馬爾可夫蒙特卡洛方法得到這個(gè)模型的參數(shù)。[43]AnsariA,EssegaierS,KohliR.Internetrecommendationssystems.JournalofMarketingResearch,2000,37(3):363?375.

基于關(guān)聯(lián)規(guī)則的推薦

基于關(guān)聯(lián)規(guī)則的推薦(AssociationRule-basedRecommendation)是以關(guān)聯(lián)規(guī)則為基礎(chǔ),把已購(gòu)商品作為規(guī)則頭,規(guī)則體為推薦對(duì)象。

關(guān)聯(lián)規(guī)則就是在一個(gè)交易數(shù)據(jù)庫(kù)中統(tǒng)計(jì)購(gòu)買了商品集X的交易中有多大比例的交易同時(shí)購(gòu)買了商品集Y,其直觀的意義就是用戶在購(gòu)買某些商品的時(shí)候有多大傾向去購(gòu)買另外一些商品。比如購(gòu)買牛奶的同時(shí)很多人也會(huì)購(gòu)買面包。關(guān)聯(lián)規(guī)則“X->Y”表示對(duì)于購(gòu)買了商品X的用戶,系統(tǒng)將給他推薦商品Y。關(guān)聯(lián)規(guī)則挖掘可以發(fā)現(xiàn)不同商品在銷售過(guò)程中的相關(guān)性,在零售業(yè)中已經(jīng)得到了成功的應(yīng)用。關(guān)聯(lián)規(guī)則的發(fā)現(xiàn)是算法的第一步也是最為關(guān)鍵且最耗時(shí)的,是算法的瓶頸,但可以離線進(jìn)行。其次,商品名稱的同義性問(wèn)題也是關(guān)聯(lián)規(guī)則的一個(gè)難點(diǎn)?;谛в玫耐扑]

基于效用的推薦(Utility-basedRecommendation)是建立在對(duì)用戶使用項(xiàng)目的效用情況上計(jì)算的,其核心問(wèn)題是怎么樣為每一個(gè)用戶去創(chuàng)建一個(gè)效用函數(shù)。用戶資料模型很大程度上是由系統(tǒng)所采用的效用函數(shù)決定的?;谛в猛扑]的好處是它能把非產(chǎn)品的屬性,如提供商的可靠性(VendorReliability)和產(chǎn)品的可得性(ProductAvailability)等考慮到效用計(jì)算中。基于知識(shí)的推薦基于知識(shí)的推薦(Knowledge-basedRecommendation)在某種程度是可以看成是一種推理(Inference)技術(shù),它不是建立在用戶需要和偏好基礎(chǔ)上進(jìn)行推薦的。而是利用針對(duì)特定領(lǐng)域制定規(guī)則(rule)來(lái)進(jìn)行基于規(guī)則和實(shí)例的推理(case-basedreasoning)。效用知識(shí)(functionalknowledge)是一種關(guān)于一個(gè)對(duì)象如何滿足某一特定用戶的知識(shí),能夠解釋需求和推薦的關(guān)系,用于推薦系統(tǒng)。效用知識(shí)在推薦系統(tǒng)中必須以機(jī)器可讀的方式存在(ontology本體知識(shí)庫(kù))。文獻(xiàn)[34]中利用飯店的菜式方面的效用知識(shí),推薦飯店給顧客;[34]BurkeR.Knowledge-Basedrecommendersystems.EncyclopediaofLibraryandInformationSystems,2000,69(32):180?200.

文獻(xiàn)[35]使用關(guān)于學(xué)術(shù)論文主題的ontology本體知識(shí)庫(kù)向讀者作推薦

[35]MiddletonSE,ShadboltNR,deRoureDC.Ontologicaluserprofilinginrecommendersystems.ACMTrans.onInformationSystems,2004,22(1):54?88.

主要推薦算法對(duì)比推薦方法優(yōu)點(diǎn)缺點(diǎn)基于內(nèi)容推薦推薦結(jié)果直觀,容易解釋;要求特征

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論