12月14日,騰訊廣點通高級研究員靳志輝在2014中國大數(shù)據(jù)技術(shù)大會上發(fā)表演講,題為《Peacock: 大規(guī)模主題模型及其在騰訊業(yè)務(wù)中的應(yīng)用》。騰訊廣點通高級研究員靳志輝(Rickjin)所在的廣點通部門,承接的流量一天接近150億,他希望用技術(shù)幫助騰訊更好地處理這些流量,具體而言就是通過大規(guī)模主題模型學(xué)習(xí)系統(tǒng) Peacock找出用戶在網(wǎng)絡(luò)數(shù)據(jù)深層的密碼?!拔覀冇X得互聯(lián)網(wǎng)需要挖掘長尾的語義,主題模型能夠突破傳統(tǒng)處理的一些限制挖掘數(shù)據(jù)里面深層的隱含的語義。以下為作者演講實錄。
相關(guān)閱讀:
21頁PPT重磅發(fā)布:Mariana——騰訊深度學(xué)習(xí)平臺的進(jìn)展與應(yīng)用
33頁PPT|騰訊社交網(wǎng)絡(luò)的大數(shù)據(jù)建??蚣芴剿鲌蟾?/p>
重磅推薦:129頁PPT講述移動時代創(chuàng)業(yè)黃金法則 via:騰訊企鵝智酷
重磅!50頁PPT揭秘騰訊大數(shù)據(jù)平臺與推薦應(yīng)用架構(gòu)
36頁PPT│大數(shù)據(jù)分析關(guān)鍵技術(shù)在騰訊的應(yīng)用服務(wù)創(chuàng)新
大家好,我來自騰訊的效果廣告平臺部,參與開發(fā)的廣告平臺是廣點通,廣點通目前是騰訊最大的效果廣告平臺,每天承接的流量接近150億PV,未來其實應(yīng)該會達(dá)到200億PV的流量,這是非常海量的流量。作為技術(shù)人員,我們在騰訊的夢想就是希望騰訊變成更加技術(shù)型的公司。我們團隊在廣告部門所負(fù)責(zé)的主要工作是各種機器學(xué)習(xí)工具的開發(fā),以及利用機器學(xué)習(xí)工具處理騰訊的用戶數(shù)據(jù)挖掘。之前互聯(lián)網(wǎng)廣告業(yè)務(wù)有兩大機器學(xué)習(xí)系統(tǒng),第一大系統(tǒng) Logistic Regression,廣泛用于廣告點擊率預(yù)估;第二大系統(tǒng)就是隱含主題建模(Latent Topic Model)。這兩大系統(tǒng)早期都是由谷歌推動的,然后傳播到國內(nèi)的各個互聯(lián)網(wǎng)公司。當(dāng)然,現(xiàn)在由于深度學(xué)習(xí)的興起,最近廣告業(yè)務(wù)中又增加了一套基于 DNN 的系統(tǒng)。
在隱含主題模型方向上,我們從 2010 年開始就不斷的做一些探索,我今天要講的Peacock 系統(tǒng)就是我們團隊在主題模型建模上的工作。今天的報告主要分成如下幾個部分:我先Demo一下我們Peacock系統(tǒng)是如何工作的,隨后簡單介紹一下主題模型的背景,接著介紹Peacock是怎么來實現(xiàn)大規(guī)模并行計算的,最后我們講一下主題模型在騰訊業(yè)務(wù)中的應(yīng)用。
先來講幾個例子。用戶在網(wǎng)絡(luò)上的行為會留下很多的數(shù)據(jù),其中最典型是一些文本數(shù)據(jù),你搜索的一些文章,你發(fā)的微博,我們通過自然語言處理技術(shù)理解這些詞。第一個例子是用戶搜索了“紅酒木瓜湯”,這樣的Query給它展示什么廣告? 單純的從關(guān)健詞來說,多是酒或者水果。第二個詞是“蘋果”,蘋果實際上是多義詞,可以是水果也可以是手機。第三個詞“莫代爾”,在座的估計很多人不知道這個詞是什么意思。
如果我們把這些詞輸入Peacock系統(tǒng),我們看看系統(tǒng)會產(chǎn)生什么樣的輸出。我們可以看到Peacock 系統(tǒng)打印出很多行,每一行其實代表一個主題(topic),“紅酒木瓜湯”系統(tǒng)給出的第一個主題的語義解釋是 “減肥、豐胸、美容” ,從廣告系統(tǒng)的角度,如果能夠展現(xiàn)跟女性減肥、豐胸更相關(guān)廣告,這個點擊率可能高。我們發(fā)現(xiàn)整個Peacock的系統(tǒng)處理文本語義的時候,不同的主題有不同的權(quán)重,展現(xiàn)的時候按照主題權(quán)重排序,而每個主題用一包詞描述。
我們看下一個例子,我們?nèi)绻选碧O果”輸入Peacock,我們打印出來幾行,第一行 ” 蘋果、收集、iphone、電腦…” 基本上講蘋果手機,第二行”范冰冰、蘋果、電影、佟大為…”,這一行就是講范冰冰和佟大為拍的《蘋果》電影。第三行還是講手機,第四行” 千克、大米、蘋果…”,這個是講水果。 所以系統(tǒng)對”蘋果” 給出了多義詞的解釋。我們改一下輸入,比如說輸入”蘋果大尺度”,我們會發(fā)現(xiàn)這時候排在第一位不再是蘋果手機,排在第一位是范冰冰《蘋果》電影。從語義排序來說,傳統(tǒng)的排序處理方式很難發(fā)現(xiàn)這個語義是跟電影相關(guān)的。如果把輸入修改為”蘋果價格”,我們發(fā)現(xiàn),這個系統(tǒng)排在第一位就是蘋果手機。
最后一個例子”莫代爾”,Peacock 輸出的第一個語義是什么?”內(nèi)衣、飽暖、性感…”, 之前我并懂這個詞,這個詞我們在網(wǎng)絡(luò)上搜一下才發(fā)現(xiàn),莫代爾是一種內(nèi)衣的材料,一般男性都不太清楚,女性可能知道。所以對于一些長尾語義,系統(tǒng)也能挖掘出來。
總體上這是我們系統(tǒng)做的事,我們把系統(tǒng)命名為Peacock,孔雀,原因我們是覺得互聯(lián)網(wǎng)需要挖掘長尾的語義,主題模型能夠突破傳統(tǒng)處理的一些限制,挖掘數(shù)據(jù)里面深層的隱含語義。這個系統(tǒng)是由王益博士主導(dǎo)設(shè)計的,我們團隊從2010年開始陸續(xù)折騰了四年,在這個方向有很大投入。
接下來我們講一下主題模型一些背景。在座的來自各行各業(yè),有可能有人不太清楚什么是隱含主題模型,我用幾張幻燈片介紹一下主題模型背后的含義。傳統(tǒng)的文本建模,譬如語言模型建模,基本假設(shè)是一個詞按照概率跳躍到下一個詞再跳躍到下一個詞,這種 NGram模型解決語音識別、機器翻譯的時候非常有效。另外一種文本建模的方式就是隱含主題模型,這個假設(shè)是怎么樣的?是說人寫文章的時候其實先設(shè)定主題,然后由主題生成詞的,而不是第一個詞生成下一個詞。舉一個例子,假設(shè)一個記者想寫一篇文章報道我們技術(shù)大會,文章可能有不同的幾個主題,我們把不同的主題理解為用詞的不同,講到計算機這個主題,可能會用到”內(nèi)存、硬盤、CPU、編程語言、C++ …”等這些詞,講到晚宴這個主題的時候,可能會用到 “晚宴、酒…” 這些詞。 在建模的時候,主體模型認(rèn)為,不同的主題是用詞的概率分布來描述的。
基于上面的假設(shè),我們實際上是使用一個三層結(jié)構(gòu)(幻燈片上的)在寫文章的:黑節(jié)點代表文檔,中間的不同顏色節(jié)點是不同的主題, 藍(lán)色節(jié)點代表詞。每個詞在文檔中的生成過程是:文檔先選定一個主題,然后由主題選定一個詞,這就是最傳統(tǒng)的主題模型。這里面問題是這樣的:我們做了這個模型假設(shè)以后,其實我們觀察到是文檔和詞,左邊和右邊的節(jié)點是我們觀察到的,中間這一層節(jié)點是隱含層我們觀察不到。文檔和主題之間的邊上有概率分布,主題和詞之間的邊上也有概率分布,每一條邊粗細(xì)的區(qū)分意思是說概率不一樣。
這個模型中我們假設(shè)每一條邊表示一個概率值,對應(yīng)一個模型參數(shù)。 這個是傳統(tǒng)頻率派的模型,叫 PLSA 模型,在貝葉斯統(tǒng)計理論框架下,任何一個參數(shù)都是隨機變量,每一個概率邊對應(yīng)的模型參數(shù)都有一個先驗分布,引入這個先驗后PLSA模型就被改造成了LDA 模型。在主題模型中,整個文檔生成過程就是走概率路徑選詞的過程。譬如,這個詞可以從紅色這條路徑生成,也可以從綠色、藍(lán)色這條路徑走。如果說文檔生成的時候,中間的隱含主題層能夠被觀察到,模型訓(xùn)練實際上就變得特別簡單:參數(shù)預(yù)估的時候統(tǒng)計數(shù)數(shù)就行了,把數(shù)數(shù)出來頻率計數(shù)放在每條邊上,最后做一個 Normalization 就變成一個參數(shù)概率預(yù)估值。
問題是中間的隱含層是觀察不到的,觀察不到的時候應(yīng)該怎么做?這個模型怎么訓(xùn)練?數(shù)學(xué)家給我們提供了一種漂亮的方式:分三步就可以把模型訓(xùn)練出來。
第一步,中間的隱含主題我們不知道,那首先每個詞的主題隨機給。譬如第一篇文章,我們讓第一個詞走紅色這條路徑生成出來,第二個詞也走紅色路徑,第三個詞走藍(lán)色路徑,每一個詞走哪個路徑先隨機給。隨機給完以后我們可以數(shù)數(shù)了。左邊的邊上數(shù)出文檔到主題的計數(shù),右邊的邊上數(shù)出主題到詞的計數(shù),有了這些計數(shù)就可以估計模型的兩類參數(shù):文檔到主題的概率值和主題到詞的概率值。于是每一條邊上都有模型參數(shù)的概率估計值。
第二步,就是重新的采樣每個詞對應(yīng)的主題,物理含義就是按照概率分布重新走路徑。對每一個詞我重新選一條路徑,第一個詞剛開始走紅色這條路徑,現(xiàn)在評估一下走紅色這個路徑好不好,這個詞有三條路徑走到這里,走紅色、綠色、藍(lán)色,我們把三條路徑概率都算出來,原來走紅色的路徑我重新采樣之后變成走藍(lán)色的這條路徑。整個模型訓(xùn)練里面就是對每一個詞重新走一下路徑,如果原來走紅色現(xiàn)在走藍(lán)色了,紅色路徑的頻率計數(shù)減1,藍(lán)色路徑變成加1。第三步,重復(fù)上面的采樣過程,這直到模型收斂。 只要不斷簡單迭代每一個詞,確定一下應(yīng)該走哪個路徑,然后整個語料大約迭代200遍,這個模型就能收斂,非常簡單。所以這個模型訓(xùn)練我們其實做什么事情?每一個詞我們只要隨機給完以后,我們對每一個詞的主題做重新的采樣,確定一下原來路徑好不好,不好我就調(diào)整一下,唯一做的事情就是在所對應(yīng)的路徑的邊的上做統(tǒng)計計數(shù),這個就是LDA 主題模型的直觀解釋。
就是這么一個簡單的模型要把它做大規(guī)模并不容易。去年之前沒有人把這個模型中間層做大,做到100萬的主題,我們實際的工業(yè)應(yīng)用中遇到了很多問題,我們團隊遇到很多的問題,有三個問題我們列在這里。
第一個問題就是如何提升采樣的速度,也就是說你從一條路徑換到另外一條路徑的時候,換的速度太慢了,我們需要有一個更好的算法,把這條路徑切換到另一條路徑。傳統(tǒng)的算法里面,我要算每一條路徑的概率值,然后從中挑一個路徑,如果有100萬個主題就需要一百萬次計算,這個太慢了,工程上受不了。
第二個如何支持大數(shù)據(jù)大模型,我們互聯(lián)網(wǎng)都是以億、百億論,左邊文檔是億級,右邊詞匯是百萬級,中間我們希望是百萬級,兩年前學(xué)術(shù)界最多做到一萬,當(dāng)時我們團隊開發(fā)Peacock 的時候,定位就是說我們做到一百萬主題。
第三個問題就是說如何提升模型的質(zhì)量,我們做工業(yè)的應(yīng)用一定把這個模型質(zhì)量提升,超參數(shù) α和β在模型質(zhì)量提升中有重要影響。
整個Peacock對這三個問題的解答。第一個對于速度,我們用了一個新的算法叫做SparseLDA,速度可以比標(biāo)準(zhǔn)算法快30倍;第二個怎么支持大數(shù)據(jù)大模塊,我們說矩陣分塊并行計算。我們支持中間的隱層達(dá)到100萬個; 第三個問題是模型質(zhì)量問題,每一個迭代中我們對α和β做一些優(yōu)化,后期我們做細(xì)節(jié)討論會對模型質(zhì)量有很大提升。
第一個問題我展開講一下,標(biāo)準(zhǔn)LDA采樣,如果有100萬個主題我要做100萬次計算,但是一個文檔通常是10 個詞左右,你去隨機化的時候每一個詞打一個顏色也就是你這個文檔有十幾個顏色,這是sparse的結(jié)構(gòu),利用這個 sparse 的結(jié)構(gòu)就可以大大提升計算速度,于是工程應(yīng)用上就不是問題了。 當(dāng)然現(xiàn)在 SparseLDA 已經(jīng)不是最快的算法了,今年研究界又一次把采樣算法提升了。
第二個問題是我們有十億篇文檔、百萬的詞匯,百萬的主題,我們怎么做模型的并行和數(shù)據(jù)的并行。我們把整個的數(shù)據(jù)用一個矩陣來表示,我們希望去做數(shù)據(jù)并行和模型并行,數(shù)據(jù)并行上在機器學(xué)習(xí)界早就解決了問題,簡單的做法是,整個數(shù)據(jù)并行的過程當(dāng)中,數(shù)據(jù)分塊以后每一個數(shù)據(jù)生成局部模型,然后歸并為一個全局模型,最后把全局模型回傳回來更新每一個局部模型。這里面有一個問題有可能我們模型太大了,無法存在單機的內(nèi)存里。所以我們要考慮對模型也并行化。 我們做一個更好的設(shè)計就是把模型和數(shù)據(jù)同時做,切片成 3*3 九宮格的格式,然后我們按照網(wǎng)格對角線的方式進(jìn)行并行,所以這時候我們發(fā)現(xiàn)至少三個worke可以并行工作不相互干擾,沒有任何加鎖的困擾。我們現(xiàn)在在這邊實際上畫了三個,在實際的過程當(dāng)中把數(shù)據(jù)和模型都切成N份。這條對角線上的三個可以并行工作,同樣第二條對角線和第三條對角線上的worker 也是可以并行工作的。所以這就大大提高了計算的并行性,提升了計算效率。
第三個問題我們講模型質(zhì)量的優(yōu)化,標(biāo)準(zhǔn)LDA訓(xùn)練過程中,對于α和β的數(shù)參是人工指定的,譬如α= 0.01。 這個代表什么含義?我們做模型訓(xùn)練的時候?qū)嶋H上對每條邊做頻率計數(shù),數(shù)完以后,如果說一條邊沒有計數(shù)那么這個概率就是零。不過在貝葉斯學(xué)派認(rèn)為這個不應(yīng)該是零,應(yīng)該填一個很小的值做一個概率平滑,我們可以填一個0.01很小的數(shù)值,這樣這個路徑還是走得通的,這個走得通代表模型具有探索能力。α和β在模型中就是起了這樣的作用。給一個α= 0.01使得模型有探索的能力,會探索這個路徑好不好,下次更新模型,這個路徑好就把老的丟掉了,未來可以重新不斷的走這個更好的路徑,好的路徑概率質(zhì)量越來越高,差的路徑概率越來越低,于是模型質(zhì)量有自我提升的能力。每個訓(xùn)練迭代中我們對α做一個優(yōu)化做一個最大似然估計,然后可以觀察到整個模型質(zhì)量非常大的提升。
我最后一部分講一下Peacock在騰訊業(yè)務(wù)中的應(yīng)用,我們把隱含主題模型應(yīng)用到了騰訊的多個業(yè)務(wù)中。 騰訊有大量的用戶數(shù)據(jù),我們在廣點通做用戶行為的挖掘,從兩個角度看用戶行為數(shù)據(jù),第一個傳統(tǒng)的NLP的角度,文本處理的角度;第二個從推薦系統(tǒng)的角度。從文本的角度,我們把Peacock輸出放到每個文本里面,使得每個文本可以表示出更好的語義特征,用新的語義特征處理文本的相似度計算,效果會好得多。在騰訊里面我們有NLP的工具,我們開發(fā)分詞,我們同時要做分類,topic可以認(rèn)為是一種聚類,把 topic 加到模型中作為特征,提升整個語義處理的能力。在實際業(yè)務(wù)中的應(yīng)用,我們曾經(jīng)優(yōu)化過廣告相關(guān)性,把 topic 加到整個相關(guān)性計算中,搜索的相關(guān)性準(zhǔn)確度提升很顯著。
另外一點從推薦系統(tǒng)角度理解語義挖掘。騰訊業(yè)務(wù)中的一個更大的矩陣就是QQ到QQ群矩陣,預(yù)處理之后的規(guī)模大約是 7億X2億。我們用 Peacock 分解這個大矩陣。 可以發(fā)現(xiàn)分解出來的很多主題是有意義的。 在這里我們沒有做任何文本的處理,我們按照用戶加入QQ群的拓?fù)浣Y(jié)構(gòu)鏈接關(guān)系來做挖掘的。 我們看這3個挖掘到的主題的含義, 這是關(guān)于股票的,這是關(guān)于游戲的,這些是關(guān)于媽媽群的,語義都非常明確。
最后我們再談一些QQ群的應(yīng)用。我們把 Peacock分解出來的一些主題作為特征,加入分類器中進(jìn)行訓(xùn)練,顯著提升分類效果。 Peacock 在QQ群的應(yīng)用中,最后講一點是 QQ 群推薦。 最早QQ群推薦是基于朋友關(guān)系鏈的方式做的,即把你的朋友喜歡的 QQ 群推薦給你。現(xiàn)在我們用推薦系統(tǒng)的思路,基于Peacock做 QQ-QQ群矩陣分解,然后利用分解后的矩陣做推薦計算。 線上實驗效果非常好,原來點擊率本來不低可以到20%,我們優(yōu)化以后提高了接近3 倍。
最后簡單總結(jié)一下,LDA 是簡單、優(yōu)雅、實用的模型,我們實現(xiàn)Peacock 就是希望這個模型能夠應(yīng)對當(dāng)今互聯(lián)網(wǎng)的大數(shù)據(jù),同時把它推向產(chǎn)品應(yīng)用,謝謝!
End.
- 《GTA 6》或許已經(jīng)可以試玩,但需等待完善,揭示游戲品質(zhì)究竟如何
- ChatGPT新功能:OpenAI推出“深度研究”,復(fù)雜信息查詢與分析成AI新挑戰(zhàn)
- 三星財報不及預(yù)期,2024年Q4營收3774億,前景堪憂
- 華為AR構(gòu)圖引擎引爆駕駛新體驗:駕駛不再單調(diào),科技讓駕駛更有趣!
- 2025年春節(jié)檔戰(zhàn)火紛飛,哪吒歸來破70億,新星崛起成最大贏家
- AI犯罪抬頭,韓國投資巨額研發(fā)新系統(tǒng)應(yīng)對深度偽造威脅
- 微信員工揭秘:微信視頻通話并非人人效果不同,卻有輕度美顏,真實不虛
- DeepSeek沖擊波:英偉達(dá)市值一周縮水5520億美元,科技巨頭面臨市場變革?
- 美國華盛頓特區(qū)撞機事故調(diào)查揭新篇章:數(shù)據(jù)揭示真相
- 騰訊云NodeJS SDK打包體積過大引發(fā)熱議,官方致歉并承諾后續(xù)優(yōu)化
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實,并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。