
廣點通背后的大數(shù)據(jù)技術(shù)秘密_大規(guī)模主題模型建模及其在騰訊業(yè)務(wù)中的應(yīng)用(附PPT)二
我們看下一個例子,我們?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ù)。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計的實用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動決策的時代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報考到取證的全攻略? 在數(shù)字經(jīng)濟蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03