背景技術(shù):
:隨著在萬維網(wǎng)上生成的信息的指數(shù)增長,推薦者系統(tǒng)最近作為熱門研究課題中的一個(gè)出現(xiàn)。推薦者系統(tǒng)形成特定類型的信息過濾技術(shù),其嘗試建議可能使用戶感興趣的信息項(xiàng)目(博客、新聞、音樂、旅行計(jì)劃、web頁面、圖像、標(biāo)簽等)。推薦者系統(tǒng)已經(jīng)在學(xué)術(shù)方面和產(chǎn)業(yè)方面二者被研究和開發(fā)。最常用且成功部署的推薦方法中的一個(gè)是協(xié)作式過濾。廣泛地研究了兩種類型的此類方法。它們是基于鄰居的方法和基于模型的方法。基于鄰居的方法主要集中在找到類似用戶或項(xiàng)目以用于推薦上。基于模型的方法使用觀察到的用戶-項(xiàng)目評(píng)級(jí)來訓(xùn)練解釋給定數(shù)據(jù)的緊湊模型,使得評(píng)級(jí)可以經(jīng)由模型來預(yù)測而不是像基于鄰居的方法那樣直接地操縱原始評(píng)級(jí)數(shù)據(jù)庫。然而,用戶一般期望對其反饋的快速推薦響應(yīng)。而且,用戶還希望所推薦的信息或項(xiàng)目非常接近于他們所期望的事物,并且因此更高質(zhì)量的推薦是所期望的。附圖說明在以下描述中結(jié)合圖詳細(xì)地描述本公開。通過非限制性示例的方式來說明本公開的特征,其中:圖1是用于向用戶推薦有趣的項(xiàng)目的示例推薦者系統(tǒng)的圖;圖2是用于實(shí)時(shí)地向用戶在線推薦有趣的項(xiàng)目的示例方法的流程圖;圖3是示出了概率矩陣分解(factorization)(pmf)推薦算法的模型的圖;圖4是用于利用社會(huì)和/或位置信息向用戶在線推薦有趣的項(xiàng)目的示例方法的流程圖;圖5是具有權(quán)重的社會(huì)信任或朋友網(wǎng)絡(luò)的圖;圖6是用于使用集體矩陣分解算法的基于信任的推薦者系統(tǒng)的模型的圖;圖7是用于使用社會(huì)信任整體(ensemble)算法的基于信任的推薦者系統(tǒng)的模型的圖;以及圖8是用于實(shí)現(xiàn)本公開的示例的計(jì)算機(jī)系統(tǒng)的圖。貫穿圖,相同的參考號(hào)碼指定類似但不一定相同的元素。具體實(shí)施方式在本公開的示例的以下詳細(xì)描述中,闡述了許多特定細(xì)節(jié)以便提供對本公開的更徹底理解。然而,本公開可以在沒有這些特定細(xì)節(jié)的情況下被實(shí)踐將對本領(lǐng)域普通技術(shù)人員是顯而易見的。在其他實(shí)例中,尚未詳細(xì)描述公知的特征以避免使描述不必要地復(fù)雜化。一般地,本公開的示例提供用于向用戶推薦有趣的項(xiàng)目的系統(tǒng)和方法。圖1示出了用于向用戶推薦有趣的項(xiàng)目的示例推薦者系統(tǒng)100的圖。推薦者系統(tǒng)100可以包括用戶數(shù)據(jù)模塊101、推薦引擎102、知識(shí)倉庫103和項(xiàng)目模塊104。用戶數(shù)據(jù)模塊101存儲(chǔ)用戶的信息,諸如用戶的年齡、性別、愛好、興趣、最喜愛的運(yùn)動(dòng)、最喜愛的小說、歌曲以及用戶對項(xiàng)目的評(píng)級(jí)。用戶的信息被用作用于推薦可能使用戶感興趣的那些項(xiàng)目的參考基礎(chǔ)。通過推薦者系統(tǒng)從由用戶使用或操作的一個(gè)或多個(gè)終端105接收用戶的信息。終端105可以是任何類型的使能web的設(shè)備,諸如服務(wù)器、計(jì)算機(jī)、平板、智能電話等。在示例中,用戶可以以線纜或無線方式經(jīng)由諸如因特網(wǎng)之類的網(wǎng)絡(luò)將終端105連接到推薦者系統(tǒng)100的web站點(diǎn)以便訪問它來獲得對項(xiàng)目的推薦或者給出其對他們正在查看或購買或意圖購買的項(xiàng)目的評(píng)級(jí)或反饋。在另一個(gè)示例中,推薦者系統(tǒng)100可以裝備有其客戶端應(yīng)用,所述客戶端應(yīng)用可能已經(jīng)被針對各種類型的終端105而開發(fā)。終端105的用戶可以將客戶端應(yīng)用下載和安裝到終端105中以獲得對項(xiàng)目的推薦。在示例中,客戶端應(yīng)用可以嵌入到可以使用如由推薦者系統(tǒng)提供的推薦服務(wù)來向用戶推薦項(xiàng)目的任何其他應(yīng)用中。推薦引擎102從終端105接收如上面描述的用戶的信息或用戶的反饋并且然后生成用戶矩陣。用戶矩陣是包括若干用戶向量的矩陣。對于每個(gè)用戶,存在被稱作用戶向量的l維潛在(latent)特征向量。推薦引擎102基于用戶的信息或反饋或其他用戶針對相同項(xiàng)目的評(píng)級(jí)值來預(yù)測用于用戶可能感興趣的項(xiàng)目中的任一個(gè)的評(píng)級(jí)值。在另一個(gè)示例中,推薦引擎102可以合并用戶的社會(huì)信息與用戶-項(xiàng)目評(píng)級(jí)矩陣以生成向終端105的用戶所推薦的項(xiàng)目,所述用戶的社會(huì)信息諸如他/她的朋友關(guān)于相同項(xiàng)目或類似項(xiàng)目的信息、他/她的親戚的信息、他/她的同學(xué)的信息。用戶-項(xiàng)目評(píng)級(jí)矩陣包括用戶對相應(yīng)項(xiàng)目的若干評(píng)級(jí)。在又一個(gè)示例中,推薦引擎102可以合并用戶的位置信息與用戶-項(xiàng)目評(píng)級(jí)矩陣。位置信息可以涉及背景信息、位置、時(shí)間、天氣和來自移動(dòng)設(shè)備的用戶請求。位置信息可以用于推薦更好的優(yōu)選項(xiàng)目,例如包括服務(wù),其接近于用戶那時(shí)停留的地理位置。知識(shí)倉庫103存儲(chǔ)用戶矩陣、用戶-項(xiàng)目評(píng)級(jí)矩陣和項(xiàng)目矩陣中的任一個(gè)。所有矩陣可以存儲(chǔ)在推薦者系統(tǒng)外部或內(nèi)部的任何其他儲(chǔ)存器中。用戶-項(xiàng)目評(píng)級(jí)矩陣包括用戶對相應(yīng)項(xiàng)目的若干評(píng)級(jí)。項(xiàng)目矩陣是包括若干項(xiàng)目向量的矩陣。對于每個(gè)項(xiàng)目,存在表示該項(xiàng)目的潛在特征向量的向量,其被稱作項(xiàng)目向量。用戶-項(xiàng)目評(píng)級(jí)矩陣在本文中具有如用戶-項(xiàng)目矩陣的對應(yīng)短術(shù)語,并且在本文中它們可以與彼此交換。知識(shí)倉庫103中的所存儲(chǔ)的用戶矩陣、用戶-項(xiàng)目評(píng)級(jí)矩陣和項(xiàng)目矩陣用于進(jìn)一步預(yù)測評(píng)級(jí)值,作為通過推薦引擎102預(yù)測的結(jié)果。倉庫103還存儲(chǔ)來自推薦引擎102的所預(yù)測的結(jié)果。項(xiàng)目模塊104基本上存儲(chǔ)要推薦給用戶的項(xiàng)目的所有屬性,例如項(xiàng)目的名稱、項(xiàng)目的分類(諸如音樂、歌曲、小說、書籍、衣服、運(yùn)動(dòng)裝備、視頻、音頻、學(xué)習(xí)材料等)、項(xiàng)目的年齡(諸如創(chuàng)建項(xiàng)目的時(shí)間)、項(xiàng)目的語言,諸如英語、中文、法語等。在示例中,推薦引擎102基于諸如服務(wù)器訪問日志文件之類的歷史數(shù)據(jù)例如通過分析歷史數(shù)據(jù)以找到用戶的信息和/或用戶曾經(jīng)提供的反饋和/或要推薦的項(xiàng)目的信息來生成初始用戶-項(xiàng)目矩陣,并且然后將初始用戶-項(xiàng)目矩陣存儲(chǔ)到倉庫103中。歷史數(shù)據(jù)記錄用戶的舊信息以及用戶對項(xiàng)目的舊反饋。用戶的過去的信息或者反饋在其對web站點(diǎn)的瀏覽期間將由用戶更新或者將不由用戶更新,所述web站點(diǎn)示出項(xiàng)目或者為用戶提供接口以編輯其信息或修改其反饋。在另一個(gè)示例中,推薦引擎102基于所接收的來自用戶的終端105的用戶的信息而生成初始用戶-項(xiàng)目矩陣。在示例中,推薦引擎102響應(yīng)于對用戶對項(xiàng)目的反饋的接收而立即更新倉庫103中的用戶向量和項(xiàng)目向量(即,用戶和項(xiàng)目向量二者)使得給予用戶即時(shí)在線推薦。所期望的是,在線更新倉庫的與來自用戶的新到來數(shù)據(jù)對應(yīng)的相關(guān)用戶和項(xiàng)目向量。在另一個(gè)示例中,推薦系統(tǒng)100可以由一個(gè)或多個(gè)服務(wù)器實(shí)現(xiàn),所述一個(gè)或多個(gè)服務(wù)器可以通過網(wǎng)絡(luò)與彼此連接。推薦者系統(tǒng)中的所有模塊可以被包括在相同服務(wù)器或計(jì)算機(jī)中或者可以分布在不同服務(wù)器中。例如,推薦引擎102位于服務(wù)器中,而用戶數(shù)據(jù)模塊101、倉庫103和項(xiàng)目模塊104一起位于一個(gè)服務(wù)器中或者分別位于不同的服務(wù)器中。推薦者系統(tǒng)100的所有組件的不同配置可以取決于不同要求而變化。在又一個(gè)示例中,推薦者系統(tǒng)100的所有組件可以集成到一個(gè)組件中,所述組件諸如推薦引擎102。圖2是向用戶在線推薦有趣的項(xiàng)目的示例方法的流程圖??梢栽谟布?、軟件或固件或其任何組合中實(shí)現(xiàn)方法。方法在框201處開始。在示例中,方法例如在實(shí)現(xiàn)方法的推薦者系統(tǒng)啟動(dòng)之后開始。系統(tǒng)向用戶推薦項(xiàng)目,所述項(xiàng)目例如被示出在web站點(diǎn)頁面或應(yīng)用頁面或搜索引擎頁面上。項(xiàng)目可以被示出在用戶可以觀看的任何地方(例如,在顯示器的不同部分上)。在框202中,用戶使用由推薦者系統(tǒng)提供的推薦服務(wù)而在推薦者系統(tǒng)的web站點(diǎn)或者任何web站點(diǎn)上注冊(signin)。用戶輸入他/她的個(gè)人信息,諸如他/她的姓名、昵稱、可訪問電子郵件地址、賬戶名、密碼,他/她的最喜愛的偏好,諸如他/她的最喜愛的歌曲、歌手、電影類型、男演員或女演員、報(bào)紙、書籍、衣服品牌等。作為結(jié)果,接收用戶的信息。如果用戶不愿意提供這樣類型的信息,則將基于他/她對項(xiàng)目的反饋或者他/她對該項(xiàng)目的評(píng)級(jí)而為他/她推薦可能有趣的項(xiàng)目。在框203中,來自用戶對項(xiàng)目的立即反饋(諸如他/她對項(xiàng)目的觀看時(shí)間或者他/她對項(xiàng)目的評(píng)級(jí))被接收并且存儲(chǔ)在存儲(chǔ)構(gòu)件中,例如存儲(chǔ)在用戶數(shù)據(jù)模塊中。反饋可以包括但不限于例如用戶的評(píng)論、用戶的喜歡或討厭、用戶對項(xiàng)目的關(guān)注或不關(guān)注、用戶是否已經(jīng)將項(xiàng)目推薦給他/她的朋友或者反映用戶對項(xiàng)目的態(tài)度或偏好的任何其他表示。在框204中,在接收到用戶對項(xiàng)目的反饋時(shí),方法開始僅更新或預(yù)測針對剛剛提供反饋的用戶的用戶向量和項(xiàng)目向量。等待來自所有用戶的反饋是不必要的。例如,推薦引擎102將用戶的反饋存儲(chǔ)到用戶數(shù)據(jù)模塊中并且向用戶矩陣添加反映用戶的反饋或偏好的更新的新行。推薦引擎102或類似設(shè)備處理所接收的來自用戶的反饋,即來自用戶的新數(shù)據(jù)。實(shí)時(shí)地以在線模式完成更新。在線模式在本文中指在線推薦方式,根據(jù)所述在線模式響應(yīng)于對用戶對項(xiàng)目的反饋的接收而立即更新用戶和項(xiàng)目向量。以在線推薦方式,可以給予用戶即時(shí)在線推薦。利用該示例,用戶可以在他/她的反饋被完成之后很快獲得所推薦的項(xiàng)目。將如下詳細(xì)地描述由推薦引擎使用的作為推薦算法的在線更新或預(yù)測算法。接下來,將介紹推薦算法。所提出的如由推薦者系統(tǒng)在框204處使用的推薦算法的示例是基于分解的集體過濾方法。這里,在基于分解的集體過濾方法中使用的概率矩陣分解(pmf)可以被當(dāng)作經(jīng)典的基于分解的模型以示出推薦者系統(tǒng)或方法如何基于新到來的數(shù)據(jù)來預(yù)測用戶向量和項(xiàng)目向量。將領(lǐng)會(huì)到,在本文中,在本公開的精神和原理的范圍內(nèi),也可以應(yīng)用其他推薦算法。通過參考示出pmf的概率圖的圖3,假設(shè)存在m個(gè)用戶和n個(gè)項(xiàng)目。對于每個(gè)用戶和項(xiàng)目,存在l維潛在特征向量。表1(用戶矩陣)表1示出了被表示為u∈r1+m的示例用戶矩陣,其中存在如由相應(yīng)列表示的總共6個(gè)用戶并且每列表示用戶向量。用戶矩陣u的維度l是5。ui是列向量并且表示用戶ui的潛在特征向量,其中i=1、2、3……m?;谒邮盏膩碜杂脩舻男畔⒍舍槍τ脩舻乃邢蛄?。信息可以是來自用戶的新數(shù)據(jù)或者已經(jīng)被存儲(chǔ)在用戶數(shù)據(jù)模塊中。表2(項(xiàng)目矩陣)表2示出了包括針對要推薦給用戶的項(xiàng)目的項(xiàng)目向量的項(xiàng)目矩陣的示例,其被表示為v∈r1+n,其中存在如由相應(yīng)列表示的總共8個(gè)項(xiàng)目。特征向量v的維度l為5。vj是列向量,即項(xiàng)目向量,并且表示項(xiàng)目vj的潛在特征向量,其中j=1、2、3……n。基于項(xiàng)目的信息而生成所有項(xiàng)目向量。項(xiàng)目信息可以被新接收或者已經(jīng)存儲(chǔ)在項(xiàng)目模塊中。例如,項(xiàng)目信息可以包括項(xiàng)目的類型、項(xiàng)目的發(fā)行時(shí)間、項(xiàng)目的友好性、項(xiàng)目的價(jià)格、項(xiàng)目的產(chǎn)生地點(diǎn)、項(xiàng)目的語言、項(xiàng)目的流行度等。表3(初始用戶-項(xiàng)目評(píng)級(jí)矩陣)i1i2i3i4i5i6i7i8u15234u2435u34224u4u551243u6432435表3表示例如初始用戶-項(xiàng)目評(píng)級(jí)矩陣。在示例中,從如在框203處從用戶接收的反饋獲得用戶對相應(yīng)項(xiàng)目的初始評(píng)級(jí)。在另一個(gè)示例中,可以基于歷史數(shù)據(jù)(例如通過分析諸如訪問日志之類的歷史數(shù)據(jù))而獲得初始評(píng)級(jí)。例如,表3中的單元(u1,i1)指示用戶1對項(xiàng)目1給出評(píng)級(jí)5。在表1中存在某些空單元,用戶對于其沒有給出任何評(píng)級(jí)。表4(所預(yù)測的用戶-項(xiàng)目評(píng)級(jí)矩陣)i1i2i3i4i5i6i7i8u1522.534.842.24.8u2432.42.954.12.64.7u341.723.23.93.024u44.82.12.72.64.73.82.44.9u55123.4431.54.6u6432.9243.435表4示出了由推薦者引擎使用算法預(yù)測的用戶-項(xiàng)目評(píng)級(jí)矩陣的示例。在表4中,為空單元添加所預(yù)測的評(píng)級(jí)值。接下來,描述缺失評(píng)級(jí)值的預(yù)測。假定rij表示由用戶i給出的對項(xiàng)目j的評(píng)級(jí)(例如,如在表3和表4中所示),其中評(píng)級(jí)由評(píng)級(jí)值表示;并且所提出的推薦者系統(tǒng)可以使用從1到k的整數(shù)評(píng)級(jí)值,其中k在表3和表4中可以等于5。評(píng)級(jí)值的其他范圍取決于特定要求而是可選的。評(píng)級(jí)值表示用戶對項(xiàng)目的判定。評(píng)級(jí)1……k可以借助于歸一化而映射到間隔[0,1]。在圖3的圖中,rij的分布被限定為其中n(x|u,σ2)是具有均值u和方差σ2的高斯分布。g(x)是邏輯函數(shù)g(x)=1/(1+exp(-x))以將轉(zhuǎn)換成[0,1]標(biāo)度。iij是描述用戶i是否已經(jīng)對項(xiàng)目j評(píng)級(jí)的指示符。接下來,方法使用來預(yù)測(例如在表3中的)用戶-項(xiàng)目評(píng)級(jí)矩陣中的缺失評(píng)級(jí)值。在預(yù)測之前,可能首先要求使用某邏輯函數(shù)g(x)來轉(zhuǎn)變的值。因此,可以使用矩陣u和v預(yù)測所有評(píng)級(jí)缺失值。請注意,盡管用戶u4沒有對表3中的任何項(xiàng)目評(píng)級(jí),其中他/她的整行空白,但是所提出的在線預(yù)測算法也可以用于預(yù)測針對如表4中所示的那些缺失單元的合理評(píng)級(jí)。在線預(yù)測算法指由推薦者系統(tǒng)用來以在線模式預(yù)測用戶的評(píng)級(jí)值的算法。接下來,將介紹在線預(yù)測算法。為了預(yù)測評(píng)級(jí)值,可能要求使用pmf的目標(biāo)函數(shù)。目標(biāo)函數(shù)一般指要考慮到某些約束并且利用變量優(yōu)化的等式。pmf的目標(biāo)函數(shù)是通過最小化回歸損失和正則化之和來找到u、v,如等式(2)用于最小化回歸損失和正則化之和。等式(2)是數(shù)學(xué)優(yōu)化方法,其中λ是正則化因子并且可以取決于特定要求而改變。為了以在線模式預(yù)測用戶的評(píng)級(jí)值,等式(2)中的預(yù)測算法需要被如下改變。所提出的圖2的方法優(yōu)化局部目標(biāo)函數(shù)。局部目標(biāo)函數(shù)是損失函數(shù)或其否定式。損失函數(shù)是將事件(例如,事件預(yù)測用戶-項(xiàng)目評(píng)級(jí)矩陣中的評(píng)級(jí))或一個(gè)或多個(gè)變量的值映射到直觀地表示與事件相關(guān)聯(lián)的某“成本”的實(shí)數(shù)上的函數(shù)。所提出的局部目標(biāo)函數(shù)僅是一種損失函數(shù)。例如,在來自用戶的新到來的數(shù)據(jù)為rij的情況下,用于在線模式的局部目標(biāo)函數(shù)是這里,是具有要最小化的二次正則化項(xiàng)的局部目標(biāo)函數(shù)。通過比較等式(3)與等式(2)可以看出,依照等式(3)的預(yù)測算法沒有處置所有用戶和項(xiàng)目,而是僅處置剛剛提供其反饋的用戶。這將進(jìn)一步減少在更新用戶-項(xiàng)目矩陣上花費(fèi)的時(shí)間,同時(shí)減少對用戶的反饋的響應(yīng)時(shí)間。在等式(3)中,僅需要調(diào)整兩個(gè)向量(ui和vj)使得計(jì)算復(fù)雜性進(jìn)一步減少??紤]作為在線預(yù)測算法的pmf的目標(biāo)函數(shù)的上面定義,特征向量,即ui和vj,可以被更新為其中r是更新或預(yù)測速率。在示例中,在接收到用戶的反饋時(shí)僅動(dòng)態(tài)地更新兩個(gè)向量(ui和vj)。等式(4)和(5)可以通過諸如梯度下降、牛頓迭代等的不同的數(shù)學(xué)優(yōu)化方法而獲得。通過等式(4)和(5),迭代并更新ui和vj二者以獲得最佳。作為局部目標(biāo)函數(shù)的pmf中所使用的損失函數(shù)是均方根函數(shù)。依照等式(3)的局部目標(biāo)函數(shù)的通用函數(shù)為請注意,等式(6)是等式(3)的通用版本并且等式(3)是等式(6)的特定版本。除等式(3)之外,在本公開的精神和原理的范圍內(nèi),還可以使用其他目標(biāo)函數(shù)以僅更新針對用戶和項(xiàng)目的兩個(gè)向量。所提出的類似的局部目標(biāo)函數(shù)可以被表達(dá)為對于等式(7)中的局部目標(biāo)函數(shù),也可以使用相同的等式(4)和(5)來更新用戶向量ui和項(xiàng)目向量vj。等式(4)和(5)是數(shù)學(xué)優(yōu)化方法中的非常通用的迭代等式。繼續(xù)參考圖2,在更新兩個(gè)向量之后,方法轉(zhuǎn)到框205。在框205中,可以基于所預(yù)測的用戶和項(xiàng)目向量而向用戶推薦有趣的項(xiàng)目。例如,推薦者系統(tǒng)基于所預(yù)測的用戶和項(xiàng)目向量來更新用戶-項(xiàng)目矩陣,并且然后基于所預(yù)測的用戶-項(xiàng)目評(píng)級(jí)矩陣中的評(píng)級(jí)值的排名來向例如剛才發(fā)送關(guān)于類似項(xiàng)目的反饋或評(píng)級(jí)值或者已經(jīng)向系統(tǒng)提供他/她的信息的用戶推薦可接受的項(xiàng)目。等式(1)限定用戶-項(xiàng)目評(píng)級(jí)矩陣r的分布。請注意,在該等式中,r與用戶矩陣u和項(xiàng)目矩陣v相關(guān)。在(例如經(jīng)由等式(4)和等式(5))優(yōu)化u和v以(例如,經(jīng)由等式(3))最小化局部目標(biāo)函數(shù)之后,用戶-項(xiàng)目評(píng)級(jí)矩陣r可以經(jīng)由等式(1)而更新。在另一個(gè)示例中,當(dāng)要向用戶推薦可接受的項(xiàng)目時(shí),可以進(jìn)一步考慮用戶的偏好。例如,在將有趣的項(xiàng)目發(fā)送給用戶之前,可以做出檢查有趣的項(xiàng)目是否接近于偏好的確定。然后,方法返回到框202,其中將等待輸入用戶的進(jìn)一步反饋或者現(xiàn)有用戶可以更新或修改他/她的信息或者新的用戶輸入他/她的信息。圖4是利用社會(huì)和/或位置信息向用戶在線推薦有趣的項(xiàng)目的示例方法的流程圖。方法包括用戶之間的社會(huì)關(guān)系以及與用戶的物理位置相關(guān)的信息和服務(wù)。用戶的社會(huì)關(guān)系可以涉及用戶的社會(huì)信息,諸如與他/她的朋友、他/她的信任群體或人或他/她的親戚等相關(guān)的信息,并且可以在向用戶推薦有趣的項(xiàng)目時(shí)被考慮。用戶的位置信息可以涉及背景信息、位置、時(shí)間、天氣以及來自移動(dòng)設(shè)備的用戶請求,并且可以用于推斷最偏好的項(xiàng)目以向用戶提供適當(dāng)服務(wù)。在框401中,方法與框201基本上類似地操作。此外,例如,請求用戶授權(quán)推薦者系統(tǒng)訪問可以他/她的從其獲得他/她的朋友或信任人或群體的聯(lián)系人列表,或者訪問他/她的與他/她停留的位置相關(guān)的信息。在框402中,用戶使用由推薦者系統(tǒng)提供的推薦服務(wù)在推薦者系統(tǒng)的web站點(diǎn)或任何web站點(diǎn)上注冊。用戶輸入他/她的個(gè)人信息,諸如他/她的姓名、昵稱、可訪問電子郵件地址、賬戶名、密碼,他/她的最喜愛的偏好,諸如他/她的最喜愛的歌曲、歌手、電影類型、男演員或女演員、報(bào)紙、書籍、衣服品牌等。作為結(jié)果,接收用戶的信息。如果用戶不愿意提供這樣類型的信息,則將基于他/她對項(xiàng)目的反饋或者他/她對該項(xiàng)目的評(píng)級(jí)而為他/她推薦可能有趣的項(xiàng)目。在框403中,方法與框203基本上類似地操作,其中接收用戶對項(xiàng)目的立即反饋。在框404中,為了向用戶推薦更準(zhǔn)確的項(xiàng)目,方法考慮用戶的社會(huì)信息,諸如他/她的朋友的或他/她的親戚的信息,因?yàn)樗?她的社會(huì)信息將提供某些有幫助的信息作為推薦基礎(chǔ)。在框404中,例如,基于如由用戶在他/她注冊時(shí)所輸入的或者如從他/她在社會(huì)媒體web站點(diǎn)中的其他社會(huì)賬戶所獲得的用戶自己的信息來確定用戶具有任何社會(huì)信息。如果這樣,則方法轉(zhuǎn)到框405。在框405中,將分析用戶的社會(huì)信息以找到他/她的朋友的或親戚的偏好并且將其與用戶-項(xiàng)目評(píng)級(jí)矩陣合并。推薦者系統(tǒng)的用戶不是單獨(dú)的。他們在社會(huì)網(wǎng)絡(luò)中。信任或朋友關(guān)系由web上的用戶發(fā)出???05組合(如在示出社會(huì)信任或朋友網(wǎng)絡(luò)的表5中所示的)社會(huì)信息與如表5中示出的用戶-項(xiàng)目評(píng)級(jí)矩陣以便改進(jìn)推薦質(zhì)量。表5(用戶-項(xiàng)目評(píng)級(jí)矩陣)在示例中,用戶社會(huì)網(wǎng)絡(luò)矩陣和用戶-項(xiàng)目評(píng)級(jí)矩陣可以在相同時(shí)間通過共享相同的用戶潛在空間而被分解,如圖6中所示,圖6示出了用于使用集體矩陣分解算法的基于信任的推薦者系統(tǒng)的模型。針對模型的后驗(yàn)概率可以被下面表達(dá):其中u、v和c是用戶矩陣、項(xiàng)目矩陣和社會(huì)網(wǎng)絡(luò)矩陣。示例社會(huì)網(wǎng)絡(luò)圖在圖5中示出。在該圖中存在總共5個(gè)用戶(節(jié)點(diǎn),從u1到u5)以及用戶之間的9個(gè)關(guān)系(邊),并且每個(gè)關(guān)系與范圍[0,1]中的權(quán)重wij相關(guān)聯(lián)以指定用戶ui知道或信任用戶uj到什么程度。作為結(jié)果,c是5x5社會(huì)網(wǎng)絡(luò)矩陣,并且c中的每個(gè)權(quán)重wij(wij在[0,1]中)表示與從ui到uj的邊相關(guān)聯(lián)的權(quán)重。表6(社會(huì)網(wǎng)絡(luò)矩陣)u1u2u3u4u5u10.61.0u20.91.0u30.20.8u40.80.50.6u5表6示出了反映在圖5中示出的圖的社會(huì)網(wǎng)絡(luò)矩陣。在等式(8)中,z是具有表示因子特定的潛在特征向量的列向量zk的潛在因子(factor)特征矩陣,其中k=1、2、3……m。潛在因子特征矩陣z類似于表1中的用戶矩陣u和表2中的項(xiàng)目矩陣v。z的示例如下:每個(gè)列向量表示針對用戶的因子特定的潛在社會(huì)特征向量。根據(jù)等式(8),z與用戶矩陣u和社會(huì)網(wǎng)絡(luò)矩陣c相關(guān)。等式(8)等同于以下目標(biāo)函數(shù)的最小化:通過分解社會(huì)信任圖而將用戶的社會(huì)信任網(wǎng)絡(luò)集成到推薦者系統(tǒng)中。該模型的挑戰(zhàn)在于真實(shí)世界推薦過程沒有反映在模型中。該挑戰(zhàn)不僅引起模型中的可解釋性的缺少,而且影響推薦質(zhì)量。因此,基于真實(shí)世界推薦過程的觀察,可以如下做出三個(gè)假設(shè):·用戶具有他們自己的特性,并且他們對不同項(xiàng)目具有不同品味,所述不同項(xiàng)目諸如電影、書籍、音樂、文章、食品等。·用戶可以容易地被他們信任的朋友影響,并且優(yōu)選其朋友的推薦。·一個(gè)用戶的最終決定是他/她自己的品味與他/她的信任的朋友的喜愛之間的平衡。基于這三個(gè)動(dòng)機(jī),問題可以再用形式表示為社會(huì)信任整體問題并且被繪制如圖7中的圖模型,其示出了針對使用社會(huì)信任整體的基于信任的推薦者系統(tǒng)的模型。這將導(dǎo)致最小化以下目標(biāo)函數(shù):通過參數(shù)α(α在[0,1]中)使用戶的喜愛和所信任的朋友的喜愛平滑,所述參數(shù)α將適當(dāng)量的真實(shí)世界推薦過程自然地融合到推薦者系統(tǒng)中。參數(shù)α控制用戶信任他們本身或他們信任的朋友到什么程度。s是社會(huì)信任矩陣。s非常類似于c,但是在c中,關(guān)系可以是任何社會(huì)關(guān)系。在社會(huì)信任矩陣s中,僅可以考慮信任關(guān)系。社會(huì)信任矩陣s的示例如下:表8(社會(huì)信任矩陣s)u1u2u3u4u5u10.6u2u30.2u40.80.50.6u5請注意,該矩陣類似于表6。差異在于,在s中僅可以考慮信任關(guān)系。在s中,每個(gè)權(quán)重(例如,0.5)指定用戶信任另一個(gè)用戶(例如,他/她的朋友)到什么程度。繼續(xù)參考圖4,如果在框404處確定不存在針對用戶的社會(huì)信息,則方法分支到框406。在框406中,方法確定用戶是否具有任何位置信息,諸如國家、城市、購物、圖書館、電影院、學(xué)校、街道、用戶停留或旅行或訪問的有趣地點(diǎn)、時(shí)間、天氣,或者來自移動(dòng)設(shè)備或其他使能web的設(shè)備的用戶請求。位置信息可以是任何其他類型的位置信息。如果這樣,則方法繼續(xù)到框407。在框407中,分析用戶的位置信息并且然后將其與用戶-項(xiàng)目矩陣合并作為推薦參考。隨著無線通信進(jìn)步,對使用移動(dòng)設(shè)備的基于位置的服務(wù)(lbs)的研究已經(jīng)引起興趣,其提供與用戶的物理位置相關(guān)的信息和服務(wù)。示例收集豐富的信息,諸如背景信息、位置、時(shí)間、天氣和來自移動(dòng)設(shè)備的用戶請求。上面提及的集體矩陣分解框架可以被容易地?cái)U(kuò)展以合并用戶-項(xiàng)目評(píng)級(jí)矩陣與用戶的位置信息矩陣。鑒于用戶的評(píng)級(jí)信息和用戶的位置信息二者可以反映其關(guān)于web內(nèi)容的觀點(diǎn)的事實(shí),可以通過同時(shí)利用用戶的評(píng)級(jí)信息和位置信息二者來使用類似的因子分析方法。具體地,一方面,可以通過共享的用戶潛在特征空間將用戶的評(píng)級(jí)信息與用戶的位置信息連接。另一方面,可以通過共享的項(xiàng)目潛在特征空間將所接收的關(guān)于項(xiàng)目的評(píng)級(jí)信息與位置信息連接。假定g=(v,∈)是無方向網(wǎng)絡(luò)圖,其中頂點(diǎn)集合表示社會(huì)網(wǎng)絡(luò)中的所有用戶,并且邊集合表示位置信息(距離,例如從0km到tkm)。距離0km……tkm可以被映射到用戶之間的間隔[0,1]。假定l={lik}是g的位置網(wǎng)絡(luò)矩陣。對于一對頂點(diǎn),假定[0,1]中的lik表示與它們相關(guān)聯(lián)的位置權(quán)重。表7(位置網(wǎng)絡(luò)矩陣)u1u2u3u4u5u101u2100.5u30.500.8u40.800.7u50.70表7示出了示例位置網(wǎng)絡(luò)矩陣。位置權(quán)重的物理含義可以解釋為兩個(gè)用戶多么接近。位置權(quán)重越低,兩個(gè)用戶就越接近。請注意,l是對稱矩陣。假定y是潛在位置因子特征矩陣,其中列yk表示位置因子特定的潛在特征向量,則要最小化的目標(biāo)函數(shù)如下:除位置信息之外,還存在在線推薦者系統(tǒng)中所生成的某些其他用戶隱式數(shù)據(jù)或臨時(shí)數(shù)據(jù),諸如用戶的購買數(shù)據(jù)、點(diǎn)擊數(shù)據(jù)等。此外,如果在框406中確定不存在位置信息,則方法轉(zhuǎn)到框408。在框408中,推薦引擎或類似設(shè)備預(yù)測用戶向量和項(xiàng)目向量。首先,將在下面介紹通過考慮用戶的社會(huì)信息的對用戶向量和項(xiàng)目向量的預(yù)測。如在示例中描述的那樣,通過并入社會(huì)信息,與pmf模型的主要差異在于用于目標(biāo)函數(shù)的損失函數(shù)改變。因此,可以利用(如在等式7、等式4和等式5中所示的)相同的在線推薦框架來將這些批量社會(huì)推薦算法轉(zhuǎn)換成在線社會(huì)推薦算法。由等式(10)給定的目標(biāo)函數(shù)l的局部最小值可以通過如下執(zhí)行ui和vj中的梯度下降而找到:更新等式類似于等式(4)和(5)。使用社會(huì)信任關(guān)系,推薦結(jié)果(或所預(yù)測的用戶-項(xiàng)目評(píng)級(jí)矩陣)還類似于如在表4中所示的所預(yù)測的用戶-項(xiàng)目評(píng)級(jí)矩陣,但是由于考慮到用戶的社會(huì)信息,所預(yù)測的結(jié)果將變得不同。實(shí)際上,對于本公開中的所有推薦模型,推薦結(jié)果類似于如在表4中所示的所預(yù)測的用戶-項(xiàng)目評(píng)級(jí)矩陣。在本公開中,將信任關(guān)系和朋友關(guān)系分類成相同的種類,但是它們也可以以與上面解釋方式類似的方式而單獨(dú)地并入到用戶-項(xiàng)目矩陣中。接下來,將在下面介紹通過考慮用戶的位置信息的對用戶向量和項(xiàng)目向量的預(yù)測。由等式(11)給定的目標(biāo)函數(shù)l的局部最小值可以通過執(zhí)行如下面的ui,vj和yk中的梯度下降來找到其中g(shù)’(x)是邏輯函數(shù)g’(x)=exp(x)/(1+exp(x))的導(dǎo)數(shù)。在另一個(gè)示例中,為了降低模型復(fù)雜性,所提出的設(shè)置方式可以為λu=λv=λy。使用位置網(wǎng)絡(luò)矩陣,推薦結(jié)果(或所預(yù)測的用戶-項(xiàng)目評(píng)級(jí)矩陣)也類似于如在表4中所示的所預(yù)測的用戶-項(xiàng)目評(píng)級(jí)矩陣。實(shí)際上,對于本公開中的所有推薦模型,推薦結(jié)果類似于如在表4中示出的所預(yù)測的用戶-項(xiàng)目評(píng)級(jí)矩陣。繼續(xù)參考在圖4中描述的方法,在框409中,向用戶推薦具有最高評(píng)級(jí)值的有趣的項(xiàng)目,其通過合并用戶的社會(huì)信息和/或位置信息而生成。然后,方法返回到框402,其中將等待以輸入用戶的進(jìn)一步反饋或者舊用戶可以更新或修改他/她的信息或新用戶輸入他/她的信息。這里的信息還可以包括用戶的社會(huì)信息和/或位置信息。圖8是實(shí)現(xiàn)本公開的示例的計(jì)算機(jī)系統(tǒng)800的圖。本公開的示例可以在實(shí)際上任何類型的計(jì)算機(jī)上實(shí)現(xiàn)而不管所使用的平臺(tái)如何。例如,如圖8中所示,計(jì)算機(jī)系統(tǒng)800包括一個(gè)或多個(gè)處理器cpu801、相關(guān)聯(lián)的存儲(chǔ)器802(例如,隨機(jī)訪問存儲(chǔ)器(ram)、高速緩沖存儲(chǔ)器、閃存等)、存儲(chǔ)設(shè)備803(例如,硬盤、諸如壓縮盤驅(qū)動(dòng)或數(shù)字視頻盤(dvd)驅(qū)動(dòng)之類的光學(xué)驅(qū)動(dòng)、閃存棒等)、i/o設(shè)備804,諸如鍵盤、鼠標(biāo)、麥克風(fēng)(沒有示出)或監(jiān)控器,以及網(wǎng)絡(luò)接口805,其利用總線806與彼此耦合。除其他之外,存儲(chǔ)器802還包括存儲(chǔ)機(jī)器可讀指令的推薦者模塊807,所述機(jī)器可讀指令在由處理器801執(zhí)行時(shí)使處理器實(shí)行以下操作。存儲(chǔ)器802可以包括非暫時(shí)性機(jī)器可讀存儲(chǔ)介質(zhì)或任何其他類型的存儲(chǔ)器。在示例中,操作包括執(zhí)行如關(guān)于圖2解釋的方法。在另一個(gè)示例中,操作包括執(zhí)行如關(guān)于圖4解釋的方法。在又一個(gè)示例中,如圖1中所示的推薦者系統(tǒng)可以實(shí)現(xiàn)為推薦者模塊807。推薦者模塊807的另一個(gè)示例包括指令,所述指令使得一個(gè)或多個(gè)處理器801實(shí)現(xiàn)圖1中的推薦者系統(tǒng)100以及在圖2和圖4中圖示的方法。推薦者模塊807的另一個(gè)示例可以實(shí)現(xiàn)為圖1中的推薦者系統(tǒng)100的推薦引擎102,并且在該情況下,在圖1中描繪的用戶數(shù)據(jù)模塊101、倉庫103和項(xiàng)目模塊104中的至少一個(gè)可以實(shí)現(xiàn)為推薦者模塊807的部分。雖然已經(jīng)關(guān)于有限數(shù)目的示例描述了本公開,但是已經(jīng)獲益于本公開的本領(lǐng)域技術(shù)人員將領(lǐng)會(huì)到,可以設(shè)計(jì)出其他示例實(shí)施例,其不脫離如在本文中公開的本公開的范圍。相應(yīng)地,本公開的范圍應(yīng)當(dāng)僅由隨附權(quán)利要求書來限制。當(dāng)前第1頁12