『壹』 個性化推薦系統的基本框架
個性化推薦是一種功能,它會通過用戶的個性化需求給他推薦符合其需求的內容, 如果選配助聽器可以去專業的助聽器驗配中心,結合自己的聽力和聽力需求來驗配,找到合適自己聽力參數的助聽器。
『貳』 php,想實現滾動新聞效果。
滾動可以用html代碼<marquee></marquee>實現。
可點擊飢世新聞用<a href=""></a>,要在新窗口打開的話targer參數要用blank,
至於新聞在資料庫中,那資料庫中應該有id,標題,日期,內容行櫻等欄位吧。
讀取資料庫,顯示標題,新聞內容要重新寫一個頁面,把id作為參數傳遞過去,就很輕鬆了。示例下:
<marquee><a href="新聞頁面連接.php?id=<?=$id?>" target="blank"><?=$biaoti?></a></marquee>檔肢叢
要顯示多條的話可以用循環。思路這樣肯定沒錯。具體代碼要你自己完成了。
『叄』 今日頭條的個性化推薦是基於哪些具體數據
今日頭條的slogan很清楚的告訴了我們,它的文章推薦機制是個性化推薦機制,最大化保證推送的精準度,盡量保證對的文章推薦給對的人,歸根到底這個推薦演算法關鍵是還在於對海量用戶行為的數據分析與挖掘,個性化推薦的平台有很多,也許各家演算法略有不同,但最終目的都是殊途同歸,為實現最精準的內容推薦。
今日頭條的文章個性化推薦機制主要是:
相似文章主題相似性的推薦:通過獲取與用戶閱讀過文章的相似文章來進行推薦。
基於相同城市的新聞:對於擁有相同地理信息的用戶,會推薦與之相匹配的城市的熱門文章。
基於文章關鍵詞的推薦:對於每篇文章,提取關鍵詞,作為描述文章內容的一種特徵。然後與用戶動作歷史的文章關鍵詞進行匹配推薦。
基於站內熱門文章的普適性推薦:根據站內用戶閱讀習慣,找出熱門文章,對所有沒有閱讀過該文章的用戶進行推薦。
基於社交好友關系的閱讀習慣推薦:根據用戶的站外好友,獲取站外好友轉發評論或發表過的文章進行推薦。
基於用戶長期興趣關鍵詞的推薦:通過比較用戶短期和長期的閱讀興趣主題和關鍵詞進行推薦。
基於相似用戶閱讀習慣的列表推薦:計算一定時期內的用戶動作相似性,進行閱讀內容的交叉性推薦。
基於站點分布來源的內容推薦:通過用戶閱讀的文章來源分布為用戶計算出20個用戶喜歡的新聞來源進行推薦。
麻煩請採納,謝謝。
『肆』 實現功能:MySQL+php實現新聞列表以及瀏覽功能,簡單就可以,謝謝了!!!
For a description of your Implementation features: MySQL php achieving News and browsing, simple can be ...,
如有進一步需求,請我們聯系,
給我留一個你的問題和Email,
有時間可以幫你,絕對救急,
請用BaiHi為我留言,
此回復針對所有來訪者和需求者有效,
ES:\\
『伍』 個性化推薦是怎麼做的
各種推薦演算法不能僅僅是研發涉獵領域,作為PM,也要深入到演算法內部,了解演算法的設計,以及結合內容對演算法不斷「調教」,才能讓產品的推薦演算法不斷完善,才能符合用戶的口味。
目前比較流行的個性化推薦演算法有以下幾種:
基於內容的推薦:根據內容本身的屬性(特徵向量)所作的推薦。
基於關聯規則的推薦:「啤酒與尿布」的方式,是一種動態的推薦,能夠實時對用戶的行為作出推薦。是基於物品之間的特徵關聯性所做的推薦,在某種情況下會退化為物品協同過濾推薦。
協同過濾推薦:與基於關聯規則的推薦相比是一種靜態方式的推薦,是根據用戶已有的歷史行為作分析的基礎上做的推薦。可分為物品協同過濾、用戶協同過濾、基於模型的協同過濾。其中,基於模型的協同又可以分為以下幾種類型:基於距離的協同過濾;基於矩陣分解的協同過濾,即Latent
Factor Model(SVD)或者ALS;基於圖模型協同,即Graph,也叫社會網路圖模型。
1、產品冷啟動通過熱度演算法進行內容推薦
產品發展初期,由於一方面沒有用戶行為、用戶喜好、用戶畫像,另外也沒有大量的內容樣本基礎,是很難開展個性化推薦的。所以在產品初期,一般採取「熱度演算法」,顧名思義就是把熱點的內容優先推薦給用戶。雖然無法做到基於興趣和習慣為每一個用戶做到精準化的推薦,但能覆蓋到大部分的內容需求,而且啟動成本比個性化推薦演算法低太多。
熱度演算法基本原理:
新聞熱度分 = 初始熱度分 + 用戶交互產生的熱度分 – 隨時間衰減的熱度分
Score = S0 + S(Users) – S(Time)
1)以新聞或視頻較有時效性的內容舉例,熱度隨內容陳舊而分值衰減。
2)初始熱度分不要一視同仁。
按照新聞類別給予新聞不同的初始熱度,讓用戶關注度高的類別獲得更高的初始熱度分,從而獲得更多的曝光。軍事>娛樂>體育>財經....
對於重大事件的報道,如何讓它入庫時就有更高的熱度,我們採用的是熱詞匹配的方式。
即對大型新聞站點的頭條,Twitter熱點,競品的頭條做監控和扒取,並將這批新聞的關鍵詞維護到熱詞庫並保持更新;每條新聞入庫的時候,讓新聞的關鍵詞去匹配熱詞庫,匹配度越高,就有越高的初始熱度分。這樣處理後,重大事件發生時,Twitter和門戶網站的爭相報道會導致熱詞集中化,所有匹配到這些熱詞的新聞,即報道同樣事件的新聞,會獲得很高的初始熱度分。
3)用戶交互的熱度分值比重不一。首先明確用戶的的哪些行為會提高新聞的熱度值,然後對這些行為賦予一定的得分規則。
例如對於單條新聞,用戶可以點擊閱讀(click),收藏(favor),分享(share),評論(comment)這四種行為,我們為不同的行為賦予分數,就能得到新聞的實時用戶行為分為:
S(Users) = 1*click + 5*favor + 10*comment + 20*share
這里對不同行為賦予的分數為1,5,10,20,但這個值不能是一成不變的;當用戶規模小的時候,各項事件都小,此時需要提高每個事件的行為分來提升用戶行為的影響力;當用戶規模變大時,行為分也應該慢慢降低,因此做內容運營時,應該對行為分不斷調整。
當然也有偷懶的辦法,那就是把用戶規模考慮進去,算固定用戶數的行為分,即:
S(Users) = (1*click + 5*favor + 10*comment + 20*share)/ DAU * N(固定數)
這樣就保證了在不同用戶規模下,用戶行為產生的行為分基本穩定。
2、基於內容特徵與用戶特徵進行個性化推薦
對於此種推薦,有兩個實體:內容和用戶,因此需要有一個聯系這兩者的東西,即為標簽。內容轉換為標簽即為內容特徵化,用戶則稱為用戶特徵化。對於此種推薦,主要分為以下幾個關鍵部分:
標簽庫
內容特徵化
用戶特徵化
隱語義推薦
綜合上面講述的各個部分即可實現一個基於內容和用戶畫像的個性化推薦系統。
標簽庫
標簽是聯系用戶與物品、內容以及物品、內容之間的紐帶,也是反應用戶興趣的重要數據源。標簽庫的最終用途在於對用戶進行行為、屬性標記。是將其他實體轉換為計算機可以理解的語言關鍵的一步。
標簽庫則是對標簽進行聚合的系統,包括對標簽的管理、更新等。
一般來說,標簽是以層級的形式組織的。可以有一級維度、二級維度等。
標簽的來源主要有:
已有內容的標簽
網路抓取流行標簽
對運營的內容進行關鍵詞提取
對於內容的關鍵詞提取,使用結巴分詞+TFIDF即可。此外,也可以使用TextRank來提取內容關鍵詞。
這里需要注意的一點是對於關聯標簽的處理,比如用戶的標簽是足球,而內容的標簽是德甲、英超,那麼用戶和內容是無法聯系在一起的。最簡單的方式是人工設置關聯標簽,此外也可以使用word2vec一類工具對標簽做聚類處理,構建主題模型,將德甲、英超聚類到足球下面。
內容特徵化
內容特徵化即給內容打標簽。目前有兩種方式:
人工打標簽
機器自動打標簽
針對機器自動打標簽,需要採取機器學習的相關演算法來實現,即針對一系列給定的標簽,給內容選取其中匹配度最高的幾個標簽。這不同於通常的分類和聚類演算法。可以採取使用分詞 +Word2Vec來實現,過程如下:
將文本語料進行分詞,以空格,tab隔開都可以,使用結巴分詞。
使用word2vec訓練詞的相似度模型。
使用tfidf提取內容的關鍵詞A,B,C。
遍歷每一個標簽,計算關鍵詞與此標簽的相似度之和。
取出TopN相似度最高的標簽即為此內容的標簽。
此外,可以使用文本主題挖掘相關技術,對內容進行特徵化。這也分為兩種情況:
通用情況下,只是為了效果優化的特徵提取,那麼可以使用非監督學習的主題模型演算法。如LSA、PLSI和GaP模型或者LDA模型。
在和業務強相關時,需要在業務特定的標簽體系下給內容打上適合的標簽。這時候需要使用的是監督學習的主題模型。如sLDA、HSLDA等。
用戶特徵化
用戶特徵化即為用戶打標簽。通過用戶的行為日誌和一定的模型演算法得到用戶的每個標簽的權重。
用戶對內容的行為:點贊、不感興趣、點擊、瀏覽。對用戶的反饋行為如點贊賦予權值1,不感興趣賦予-1;對於用戶的瀏覽行為,則可使用點擊/瀏覽作為權值。
對內容發生的行為可以認為對此內容所帶的標簽的行為。
用戶的興趣是時間衰減的,即離當前時間越遠的興趣比重越低。時間衰減函數使用1/[log(t)+1], t為事件發生的時間距離當前時間的大小。
要考慮到熱門內容會干預用戶的標簽,需要對熱門內容進行降權。使用click/pv作為用戶瀏覽行為權值即可達到此目的。
此外,還需要考慮雜訊的干擾,如標題黨等。
另,在非業務強相關的情況下,還可以考慮使用LSA主題模型等矩陣分解的方式對用戶進行標簽化。
隱語義推薦
有了內容特徵和用戶特徵,可以使用隱語義模型進行推薦。這里可以使用其簡化形式,以達到實時計算的目的。
用戶對於某一個內容的興趣度(可以認為是CTR):
其中i=1…N是內容c具有的標簽,m(ci)指的內容c和標簽i的關聯度(可以簡單認為是1),n(ui)指的是用戶u的標簽i的權重值,當用戶不具有此標簽時n(ui)=0,q©指的是內容c的質量,可以使用點擊率(click/pv)表示。
3、其他運用
除了個性化推薦,基於內容的相關性演算法能精準地給出一篇新聞的相關推薦列表,對相關閱讀的實現非常有意義。此外,標簽系統對新聞分類的實現和提升准確性,也有重要的意義。
4、優缺點
基於內容的推薦演算法有幾個明顯優點:
對用戶數量沒有要求,無論日活幾千或是幾百萬,均可以採用;因此個性化推薦早期一般採用這種方式。
每個用戶的特徵都是由自己的行為來決定的,是獨立存在的,不會有互相干擾,因此惡意刷閱讀等新聞不會影響到推薦演算法。
而最主要的缺點就是確定性太強了,所有推薦的內容都是由用戶的閱讀歷史決定,所以沒辦法挖掘用戶的潛在興趣;也就是由於這一點,基於內容的推薦一般與其他推薦演算法同時存在。
基於用戶的協同推薦
終於,經過團隊的努力,你的產品已經有了大量活躍用戶了,這時候你開始不滿足於現有的演算法。雖然基於內容的推薦已經很精準了,但總是少了那麼一點性感。因為你所有給用戶的內容都是基於他們的閱讀習慣推薦的,沒能給用戶「不期而遇」的感覺。
於是,你就開始做基於用戶的協同過濾了。
基於用戶的協同過濾推薦演算法,簡單來講就是依據用戶A的閱讀喜好,為A找到與他興趣最接近的群體,所謂「人以群分」,然後把這個群體里其他人喜歡的,但是A沒有閱讀過的內容推薦給A。
舉例我是一個足球迷,系統找到與我類似的用戶都是足球的重度閱讀者,但與此同時,這些「足球群體」中有一部分人有看NBA新聞的習慣,系統就可能會給我推薦NBA內容,很可能我也對NBA也感興趣,這樣我在後台的興趣圖譜就更完善了。
1、用戶群體劃分
做基於用戶的協同過濾,首先就要做用戶的劃分,可以從三方面著手:
(1)外部數據的借用
這里使用社交平台數據的居多,現在產品的登錄體系一般都借用第三方社媒的登錄體系,如國外的Facebook、Twitter,國內的微信、微博,借用第三方賬戶的好處多多,例如降低門檻,方便傳播等,還能對個性化推薦起到重要作用。
因為第三方賬戶都是授權獲取部分用戶信息的,往往包括性別,年齡,工作甚至社交關系等,這些信息對用戶群劃分很有意義。
此外還有其他的一些數據也能借用,例如IP地址,手機語種等。
使用這些數據,你很容易就能得到一個用戶是北京的還是上海的,是大學生還是創業者,並依據這些屬性做准確的大類劃分。
比如一篇行業投資分析出來後,「上海創業圈」這個群體80%的用戶都看過,那就可以推薦給剩下的20%。
(2)產品內主動詢問
常見在產品首次啟動的時候,彈框詢問用戶是男是女,職業等,這樣能對內容推薦的冷啟動提供一些幫助。但總體來說,性價比偏低,只能詢問兩三個問題並對用戶的推薦內容做非常粗略的劃分,同時要避免打擾到用戶;這種做法算是基於用戶個性化的雛形。
(3)對比用戶特徵
新聞的特徵加用戶的閱讀數據能得到用戶的特徵,那就可以通過用戶特徵的相似性來劃分群體。
最後總結,沒有一款完美的個性化推薦演算法,畢竟用戶的心裡你別猜別猜別猜,但是產品經理還是要結合自身產品不斷打磨演算法。