網易科技訊 9月8日消息,由CSDN主辦的2012中國軟體開發者大會今天在北京國家會議中心舉行,網易科技作為合作門戶在現場直播報導。
騰訊首席科學家孫國政做了主題為「超大規模用戶數據挖掘和推薦算法最新進展」的主題演講。
主持人:剛才蔣總PPT裡有很多圖,有一個共同特點都是指數系,這意味著速度越來越快,數據的增長不僅是多而且是越來越多,怎麼樣才能應對這樣的問題?我們下面有請騰訊首席科學家孫國政給我們介紹超大規模用戶數據挖掘和推薦算法最新進展。
孫國政:大家好,我來自騰訊公司,我今天演講的題目是超大規模用戶數據挖掘和推薦算法最新進展,並且從KDD—CUP2012談起。
剛才講到國際會議好多高手都參加,現在這個世界是一個網際網路時代,也可以說是一個大數據時代。比如說我們現在每天能出現2.5quintilion的數據,這就給大家一個挑戰,這些數據怎麼辦?如果現在開始每年能夠在將來10年中有50倍數據增長量,在第三年,現在世界五百強每個公司都有一個新的計劃就是怎麼來收集大數據,可見大數據現在很重要。究竟大數據問題是個煩惱還是商機,這是給所有公司和開發者的一個重要問題。我們現在所看到的好多公司一些管理層把大數據都當成煩惱,怎麼來處理?其實它孕育了很多商機,比如現在根據美國健康總署,他們估計如果把現在數據都用好了,他們相當於每年收入300萬美元,這相當於大數據處理好了有很大商機。
現在我們面臨的挑戰一個方面是大數據能夠看的著能夠存儲能夠處理,更重要的是大數據怎麼為我們造福,現在就有一個怎麼發展數據為用戶、為廣大網民服務的問題。在這樣的情況下,就出現了KDD—CUP的比賽,今年KDD—CUP選的題目有兩個,一個是根據騰訊微博數據,你推薦一個名人收不收聽,收聽了說明你感興趣,我們就給你所有數據讓你算一下用戶收聽這個人的機率。第二個是搜搜商業搜索的數據,每個搜尋引擎都有些廣告推薦,有些廣告對大家很有用,就會點擊。所以我們就是計算一下給個廣告給用戶被點擊機率有多大,我們今年都有很大的增加。比如說Track1,它出現了一個收聽一個人,有電極就是感興趣,我們給的數據是分兩個,一個是微博用戶,另外一個是名人。用戶有很多數據,包括年齡、性別等等詞語來描述,還有用戶在上面的動作,比如回複評論等等,還有一個是他們之間什麼關係,誰收聽誰這個數據。還有一個是每個人根據他過去的博文抽出一些關健詞,也給用戶提供。還有一個是每個推薦人屬於哪個方面的,我們把這個人推薦給一個用戶,算算被點擊的的機率有多大。我們的數據是有50天的記錄,包括用戶的描述等等。數不是怎麼分布的呢?橫軸是假如推薦的話有多少人多大機率收聽。被收聽多的人基本比較少,推薦人是藍色的、綠色是用戶,被收聽超過50%的基本沒有,大部分是收聽率很少。假如說我和被收聽人有關係的話,有多少路徑能通過中間人達到。比如說我的偶像是他,偶像的偶像是他,諸如此類,中間通過的路徑越多被收聽機率越大。
我們最終怎麼衡量比賽結果?我們有一個MAP,公式我就不再詳述了。
另外有Track2,我們每個Session是用戶、廣告、ads都給了,還有姓名、年齡、廣告等等都給了,因為參加人大部分都不懂中文,所以我們把中文部分用個數碼來表示,另外為了保護用戶隱私性,也用數碼來表示,究竟什麼意思不知道,所以在這裡懂中文的沒啥好處。點擊用戶記錄數據很大,縱軸是數目,橫軸是展現的次數,如果展現越多的話大約點擊越少。它的衡量標準我們用AUC,我們基本採用標準方式來衡量。
KDD—CUP基本有三個特點,第一數據比往年量大,直接來自真實產品運營日誌,沒有經過任何改變。第二參加人數與往年比也是最多的,traca1三千多人,traca2五千多人。第三數據集非常複雜,參賽者需要自己進行處理,形成緘默所需的特徵變量,且變量的最終數目還取決於參賽者處理方法,是沒有標準答案的。
KDD—CUP大賽結束之後評了三個得獎團隊,通過分析他們的結果,有些東西值得跟大家分享。首先介紹一下比賽數據特點,數據稀疏性是現在所有大用戶數據的一個問題,矩陣好多點都是空的,只有幾個點才有數據,雖然很多但是在矩陣上是很稀疏。另外有很多數據需要自己清理,你自己決定要不要這些數據,數據很複雜。另外也有嚴重的冷啟動問題,我們大家知道通常根據以往大家行為看你的興趣來推斷你下面對什麼感興趣,但是有可能我們在這裡所看的用戶,有77%的用戶做訓練的數據裡沒看到,他是新用戶,他們沒有行為歷史,這對冷啟動是一個大的挑戰。另外數據也不平衡,大部分沒有收聽,90%以上的都是沒收聽。後來我們把數據公布之後,每天可以上傳東西,大家來排寶,我們還提供了一個簡單的算法放在那兒,一開始沒人超過,但是過了幾天好的結果都排在前面了。在數據處理上是一個很大的特點,凡是能夠得到優勝的大部分對數據的理解是很到位的,比如說有些數據推薦其實就是沒收聽的並不等於用戶不喜歡它,因為你的前後時間太短了,他們分析了這些就去除了很多不需要的數據,另外把數據分類、噪音去除,這樣一處理數據精簡了很多。
這是一個數據處理圖,這個是很不成比例的,他們用一對對來比較,如果對不成比例就不好做。另外一個成功特點,大家都用matrix foctorization modeling,這是近幾年來做數據處理一個通用的辦法,解決Sparsity問題的有效算法。這個矩陣很稀疏,他可以分成兩個矩陣相乘,我在這裡沒有時間仔細結束了,大致體會是參數減少的工作,沒有這個工作數據稀疏性無法解決。成功算法還有一個特點是很好地解決了冷啟動的問題,比如說把用戶ID的年齡、性別分類,中山大學這方面做的比較好,他們通過這個關係來通過詞的關係挖掘用戶興趣,這種對數據的理解很好地解決了冷啟動的問題。另外他們都成功解決了Time dependence的問題,今年我們比賽跟時間有關係,我們都有一個時間窗幾月幾日幾點幾分推薦的,下一個時段他會不會火,下一部分發生什麼新聞事件,通常我們是沒有把時間因素加引來,現在就需要把時間因素加進來。這個是一個德國人在Track1得了的一名,他在把時間分成不同的Solutions,具體來說兩種方法,一種是Time oware modeling,你在推薦的時候除了其他算法,再加一個跟時間有關係的閾值,這種閾值參數是通過學習出來的,這就使得解決時間問題得到成功。再一個做法是用Seruential features,這跟時間有關,這個Solutions有多長,把跟時間有關係的詞都放進去發現非常有用,我們最後衡量MAP增加5.1%,這是很大的增長。
還有一個成功的特點是用Diverse models,這一點是臺大得了第一名,各種方式,千奇百怪的方法都試了,把推薦當成ranking、當成classification、regression等等方法,這樣每種解決方法都有結果了,最後合併到一塊兒叫Ensemble leaming,這也是許多參賽者在應用上的一個成功的特點。
Tarck1第二名和track2第三名,兩個都得獎,但是他不懂中文,他說我不管什麼問題我用統一辦法處理,叫Prediction with factorization Machines,本來是非常稀疏的二維矩陣被分解了,他這個好在把整個過程是統一的,這裡邊對用戶推薦的東西都是線性的,他引用了second order。不管是什麼factorization 都用0和1表示出來,整個都變成二進位,這一點非常有意思。我們大家都是數據挖掘的高手,KDD—CUP的我們兩個第一名都是中國的,一個臺灣的一個中國大陸的。
現在數據用途從廣告搜索、娛樂、內容等等都要服務用戶,所以推薦技術應運而生,但是推薦系統有幾個要關注的問題。第一個是Context aware的處理,Context包括時間、地點、涉及公司和用戶的情緒、屬性、社交網絡等等屬性,這個問題是我們要很好研究的課題,現在微博推薦也是這樣,就是不同場景下收聽率是不一樣的。再一個就是Heteragenity,有不同形式不同渠道的,你怎麼統一到一塊兒。另外你推薦應該跟它的內容,比如你了解不了解這個人的背景等等。第三個你要做推薦必須以用戶為中心,最重要的是用戶接不接受,你別推薦了半天人家不接受,那也沒用啊。在這裡有很多算法來研究,我們怎麼能讓用戶感到滿意,這樣界面交互很重要,你顯示不好人家不接受,或者寫的詞跟內容不搭界人家也不接受。這每一篇都代表了一篇文章,基本想解決冷啟動問題就是把用戶相關其他信息引進來。現在推薦都跟社區相關,基於社交網絡和用戶可信度的跟隨領導的模型聚類,這個也變成當今所研究的一個問題。再一個是Knowledge—based,你了解的東西你才推薦的清楚,你不了解的東西就推薦不好,所以推薦庫裡面有什麼、喜歡什麼、新穎的東西是什麼等等,這個弄好了才能做好推薦。再一個是Evaluation,你推薦是全部該推薦的都推薦了嗎?推薦的是不是有互相重複的?重複了第二次人家就不喜歡了,根據推薦的東西之間的關係有關,這方面Evaluation就變得更複雜一些,你推薦的東西必須有吸引性,人家才容易接收, 所以系統引進了多因素,有可能推薦不是一次,而是通過對話,這樣推薦才更有目的性。如果不是表示的很清楚,推薦效率就不大。
總之在推薦方面有很多挑戰,我總結了這幾點,主動對健不光是推薦什麼東西,怎麼推薦也很重要,另外隱私保護性也很重要,每個人都有個人行為,你每次推薦都是個性化的,怎麼個性化又怎麼保護隱私這是一個對立的問題,在移動網際網路下怎麼推薦這對我們提出很多挑戰。
最後我把這幾個得獎的人的數據公布一下,也謝謝大家。