日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

让机器搞懂100万种隐含语义 腾讯Peacock模型全揭秘

發布時間:2025/7/25 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 让机器搞懂100万种隐含语义 腾讯Peacock模型全揭秘 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

讓機器搞懂100萬種隱含語義 騰訊Peacock模型全揭秘

騰訊模型

36大數據?· 2015-02-28 17:21



Peacock通過并行計算對10億x1億級別的大規模矩陣進行分解,從海量樣本數據中學習10萬到100萬量級的隱含語義。現應用到文本語義理解、QQ群的推薦、用戶商業興趣挖掘、相似用戶擴展、廣告點擊率轉化率預估等騰訊業務。


編者按:LDA是一個簡潔、優雅、實用的隱含主題模型,騰訊效果廣告平臺部(廣點通)的工程師們為了應對互聯網的大數據處理,開發了大規模隱含主題模型建模系統Peacock,通過并行計算對10億x1億級別的大規模矩陣進行分解,從而從海量樣本數據中學習10萬到100萬量級的隱含語義。Peacock已應用在騰訊的文本語義理解、QQ群的推薦、用戶商業興趣挖掘、相似用戶擴展、廣告點擊率轉化率預估等多個業務數據中。本文節選自Peacock團隊的論文《Peacock:大規模主題模型及其在騰訊業務中的應用》,分享了廣點通Peacock研發和訓練的技術思想和技術細節,以及Peacock在騰訊業務中的應用,供讀者參考。以下為節選章節:


三、十億文檔、百萬詞匯、百萬主題?


LDA 的訓練算法貌似并不復雜,主要的工作就是在維護兩個頻率計數矩陣N_td 和N_wt。然而在這個時代,我們要面對的是互聯網的海量數據,想象一下,如果在圖15中,左邊的文檔節點是十億、中間的主題個數是百萬、右邊不同的詞的個數也是百萬,我們將需要處理一張多大的圖!

圖15文檔d_1中詞w主題重新采樣


在實際應用中,我們希望使用更多的數據訓練更大的模型,這包含了兩重意思:


“更多的數據”,我們希望訓練器能處理海量的訓練數據,因為更多的數據蘊含著更加豐富的隱含語義,同時模型也更加準確,效果更好。上一小節提到單機版LDA訓練器顯然是處理不了海量數據的,使用它訓練模型,我們估計要等到天荒地老了。


“更大的模型”,我們希望訓練器能歸納出更多更具體更長尾的隱含語義,比如一百萬主題。拋開標準LDA算法本身的問題,更大的模型意味著N_wt矩陣規模更大。N_wt的大小為V×K,V表示詞表大小,K表示主題個數。取V=1,000,000且K=1,000,000,N_wt需要消耗3000G以上內存(假設int型密集存儲,因為模型隨機初始化并不稀疏),顯然單機內存是無法滿足需求的,必須對模型進行切分。


下面分別從數據并行和模型并行兩個方面來介紹怎樣解決上述兩個問題。“數據并行”和“模型并行“是Google大神Jeff Dean在深度學習訓練系統DistBelief[13]中新提出的兩個概念,盡管Peacock系統開發的時候,DistBelief還沒有真正對外公布。隨著深度學習的持續升溫,大家現在已經逐漸熟悉了這兩個形象的名詞,此處請允許我們借用一下這兩個概念。


3.1 數據并行——處理更多的數據


“數據并行”通俗的理解:通過多任務(每個任務都包含一份完整的模型)并行的處理數據訓練模型,任務之間的模型或同步或異步的進行融合。借用王益[3]的說法,“如果一個算法可以做數據并行,很可能就是可擴展的了”。幸運的是,David Newman團隊發現基于吉布斯采樣的LDA訓練算法可以“數據并行”,并給這個算法取了一個名字叫AD-LDA[14]。


注意,AD-LDA算法是吉布斯采樣的近似算法,因為嚴格的吉布斯采樣要求串行采樣,不能并行。直觀的理解就是語料中前一個詞w_1采樣更新后的N_wt和N_t應該應用于后一個詞w_2的采樣,而不是w_1和w_2的采樣都基于相同狀態的N_wt和N_t。AD-LDA算法會使得LDA的訓練收斂速度變慢,但在多幾輪迭代后,AD-LDA算法可以收斂到與串行吉布斯采樣相同的點。


圖17給出了AD-LDA算法的示意圖:


假設我們有三個可執行單元,每個都啟動一個采樣任務,每個任務中都有一個完整的“本地”模型L N_wt;


任務并行的處理訓練語料數據塊(W,T)和N_td,更新模型L N_wt,同時序列化更新后的訓練語料數據塊(W,T)和N_td到磁盤;


在迭代結束或任務處理訓練語料數據塊過程中,任務之間或同步或異步的融合模型。模型融合的方式可以類似MPI中的AllReduce,也可以借助全局的參數服務器G N_wt。


AD-LDA算法的整個過程和MapReduce的執行過程非常一致,所以早期有非常多的團隊使用MapReduce來實現AD-LDA算法[5]:

MapReduce的一個Job進行AD-LDA算法的一個迭代;


訓練語料數據塊(W,T)和N_td作為Job輸入,Mapper加載上個迭代生成的G N_wt作為 L N_wt,對數據塊中的詞進行主題采樣;

Reducer融合各個L N_wt,生成下一個迭代需要加載的G N_wt。


因為MapReduce使用磁盤進行數據交換,同時整個訓練任務需要調度幾百個Jobs,所以基于MapReduce的AD-LDA實現是非常低效的。

圖17 AD-LDA算法


3.2 模型并行——訓練更大的模型

圖18 模型并行1


上文提到,訓練大模型時,N_wt太大而無法整體放入任務的內存,直觀的解決方法如圖18所示,將N_wt沿詞的維度進行分片,每個采樣任務只加載一個模型分片N_wt^((i))。相應的,語料數據塊也需要做對應的詞維度切分,因為單個任務i只能采樣N_wt^((i))包含的詞w。細心的童鞋可能已經發現,圖18所示的模型并行方式在N_td上采用了類似AD-LDA算法的近似,L N_td間的融合與L N_wt間的融合類似,相應的算法也會減緩收斂(因為N_wt是所有訓練語料上的聚合結果,而N_td只和具體文檔d有關,后者變化比前者更加“快速”, N_td的并行近似采樣更加“危險”,很容易造成訓練不收斂)。

圖19 模型并行2

有沒有辦法不進行N_td的并行近似采樣,同時保持上述的模型切片方式呢?Peacock系統設計了圖19所示的并行采樣方式:加載了不同N_wt^((i))切片的任務并行的沿對角線方向對訓練語料數據塊(W,T)進行采樣,一條對角線采樣完成后,依次進行下一條對角線。這樣在對同一個文檔的不同數據塊間的詞進行采樣時,仍然保持了“串行性”,應用了之前數據塊中的詞對N_td的更新。圖19的模型并行采樣方式收斂性同AD-LDA是一致的。


3.3 大規模主題模型訓練系統Peacock

圖20 Peacock中的數據并行和模型并行


為了“利用更多的數據訓練更大的模型”,Peacock系統結合了上述的“數據并行”和“模型并行”(圖20):


多組“模型并行”任務之間采用“數據并行”的方式工作,“模型并行”任務組內部,依然保持圖19所示的并行采樣方式;


在迭代結束或任務處理訓練語料數據塊過程中,不同“模型并行”任務組之間或同步或異步的融合模型分片L N_wt^i。模型融合的方式可以類似MPI中的AllReduce,也可以借助全局的參數服務器G N_wt^i。


同上一小節“模型并行”的分析類似,Peacock系統的采樣方式收斂性同AD-LDA是一致的。Max Welling團隊提出的Async-LDA[6]證明了異步融合L N_wt^i方式的收斂性。當Peacock采用異步方式融合L N_wt^i時,相當于同時結合了AD-LDA和Async-LDA算法,實踐證明收斂性是沒有問題的。


當然,Peacock系統在具體實現上除了上述的主要設計思想,還有很多的實用技巧,比如:


數據傳輸和文檔采樣之間的流水線。


圖19所示的模型并行方式在每條對角線并行采樣結束后都需要同步,怎樣去掉這種同步?


怎樣的模型N_wt分片方式,能盡可能的保證采樣服務器之間的負載均衡?


我們是否需要每個迭代都重采樣所有詞的主題?


怎樣快速的計算對數似然度?


怎樣將模型的超參數α_t和β優化融入Peacock系統?


除了標準的吉布斯采樣,是否有更加快速的采樣算法?


主題數K從100到1,000,000,系統的內部數據結構都保持不變么?


四、Peacock在騰訊都有哪些應用?


4.1 文本語義分析

圖21 文本分析示例


為了理解互聯網上海量、多樣化、非結構化的自然語言描述的文本,我們通常會從詞法、句法、語義等維度進行分析。受限于文本字面信息量小,存在歧義現象,詞法和句法分析容易遭遇 Vocabulary Gap的問題,從海量文本數據中歸納 “知識”,從語義角度幫助理解文本,是一種非常重要的途徑。


例如,對于輸入文本 “紅酒木瓜湯效果怎么樣?”,根據人的背景知識,很容易猜到這是一位女性用戶在詢問豐胸產品“紅酒木瓜靚湯”的效果。對于機器而言,通常會先進行詞法分析,對原始文本做切詞、詞性標注、命名實體識別等,然后使用詞袋模型(Bag of Words,BOW)或提取關鍵詞來表示文本。不難發現,從字面抽取的信息,很容易理解成“紅酒”、“木瓜”等餐飲類語義,并非原始文本真實的意思。當然,我們可以對關鍵詞做擴展,給出一些相似的詞條,但是,更好的是直接理解語義。一種常見的方法是文本分類,由于對標注語料庫的依賴,類別規模一般不會太大,粒度較粗。還有一種方法就是文本聚類,挖掘語義主題標簽,更細粒度的理解文本意思,隱含語義分析技術逐漸發展成為常用的解決方案。能夠從十億級別的文檔中歸納上百萬語義的Peacock系統更是在騰訊廣點通廣告系統扮演著核心角色。這些不同維度的文本分析模塊,包括詞袋、關鍵詞提取、關鍵詞擴展、文本分類和Peacock等(圖21),整合在一起構成了我們理解語言的基礎文本分析平臺TextMiner(圖22)。

圖22 文本分析平臺TextMiner


4.1.1 文本分類器


文本分類是一個典型的有監督的機器學習任務,我們在做在線廣告系統過程中遇到的任務就有許多,包括網頁分類、廣告分類、QQ群分類、用戶興趣分類等。在使用相同的標注數據集和機器學習算法情況下,如何找到有區分力的特征無疑是最為關鍵的。


以QQ群分類為例,使用群名稱、群簡介、群公告等文本描述,類別體系是二級層次結構,共100+節點,標注訓練數據80,000。以BOW作為基礎特征,新增Peacock主題特征后,一級行業準確率和召回率均有顯著提升,達5%左右,二級行業在召回率降低不到1%的情況下,準確率提升達3.86%,達到了實際應用的需求。具體數據如圖23所示。

圖23 QQ群分類器效果


4.1.2 相關性計算


對給定的查詢語句,搜索引擎會將檢索到的網頁進行排序,把相關性好的排在前面。同樣的,在線廣告系統應該保證展示給用戶的廣告與頁面內容、用戶興趣相關,以盡量不影響用戶體驗。這里都涉及到一個共同的任務:排序學習。此問題通常被形式化為有監督的學習問題,我們會將查詢、網頁、用戶、廣告表示成語義特征向量,從而在語義空間里比較用戶意圖(查詢、網頁內容、用戶歷史行為)和網頁、廣告的相關性。


Peacock已成功應用在騰訊搜索廣告和情境廣告中,用于分析文本數據,歸納自然語言的語義,從而更好地匹配查詢詞和廣告,以及頁面內容和廣告。在情境廣告 Learning To Rank 相關性計算框架下,增加Peacock語義特征后,NDCG@5提升達8.92%,線上A/B Test實驗 AdCTR 提升 8.82%。相關性評估效果圖24所示。

圖24 情境廣告相關性(相關性標注樣本包括4,000 查詢,200,000對(查詢, 廣告),標注0~3四檔打分)


4.2 廣告 CTR 預估


廣告點擊率預估是預測給定場景下一個廣告被點擊的概率:P(click=1 | ad, user, context),user 表示當前用戶,context 表示當前的環境信息,譬如當前所在的網頁。點擊率預估是在線廣告系統最核心的技術之一,它決定著廣告的排序和計價。


業界一般做法是將廣告展示、點擊日志作為訓練數據,抽取特征,通過機器學習方法擬合訓練數據得到預估模型,進而做在線點擊率預估。選取有效的特征對得到一個精準的點擊率預估模型起著至關重要的作用。


Peacock 是我們理解廣告語義的關鍵技術,被引入到廣告點擊率預估模型中提升效果。具體的,與 KDD Cup 2012 Track2 的數據集產生過程類似,我們使用了騰訊情境廣告系統的廣告展示、點擊日志,使用L1范數正則的邏輯回歸訓練預估模型,通過 AUC 評估模型精度。 Baseline 使用一些基礎特征,優化實驗分別在 baseline 特征集合的基礎上引入主題規模為 1000、10,000 和 100,000 的 Peacock Top-N語義特征。

圖25 pCTR增加不同粒度topic特征模型AUC的提升


從圖25可以看出,加入Peacock 語義特征后 AUC得到了顯著提升,尤其當增加 topic 規模為 100,000的Peacock語義特征時,AUC 提升最大,約為1.8%,線上 A/B Test 實驗AdCTR 有 8.82% 的提升。


4.3 精準廣告定向


在騰訊效果廣告平臺廣點通系統里,Peacock被用于理解用戶行為數據,從中歸納用戶興趣,提供廣告精準定向技術。


騰訊豐富的產品線擁有中國互聯網公司最多的用戶,有著海量、豐富的用戶關系和行為數據,如QQ好友關系,QQ 群關系,電商瀏覽、交易,新聞瀏覽,查詢 Query,UGC 內容(如微博、說說等),移動App 安裝,微信公眾號文章閱讀和廣告點擊行為等。通過用戶行為數據的挖掘可以幫助我們更好的了解用戶,以推送精準的廣告。而這些數據都可以形式化為用戶-物品矩陣,如用戶-用戶、QQ-QQ群,用戶-應用(Apps),用戶-搜索詞(或搜索Session),用戶-URLs等。我們利用Peacock系統對上述用戶-物品做矩陣分解(如圖3),從不同數據來源,多視角理解用戶興趣,進而挖掘相似用戶,提供給廣告主豐富的定向策略,如用戶商業興趣定向、關鍵詞定向和Look-Alike定向等。同時,獲取到的用戶特征,也可以作為廣告CTR、CVR預估系統的重要特征。


4.4 QQ 群推薦

圖26 QQ群推薦


根據用戶已加QQ群社交關系數據,利用Peacock對QQ-QQ群做矩陣分解,我們發現語義相近的QQ群被比較好的歸到了相同的主題下,如圖8、9、10所示。非常直觀的,我們將Peacock 模型應用在QQ群消息面板推薦產品中(如圖26),相比基于QQ好友關系鏈的推薦算法,推薦群的點擊率和轉化率(即點擊后是否加入了該群)均有2~3倍的提升(圖27)。

圖27 QQ群推薦效果


論文《Peacock:大規模主題模型及其在騰訊業務中的應用》由趙學敏、王莉峰、王流斌執筆,靳志輝、孫振龍等修訂,相關工作由騰訊SNG效果廣告平臺部(廣點通)質量研發中心Peacock團隊王益、趙學敏、孫振龍、嚴浩、王莉峰、靳志輝、王流斌為主完成,蘇州大學曾嘉教授、實習生高洋等持續大力支持,是多人合作的結果。


via:CSDN

36大數據

36大數據微信號:dashuju36

36大數據是一個專注大數據、大數據技術、大數據應用案例和數據可視化的科技網站。從數據角度出發,講述大數據電子商務、網絡游戲、征信、互聯網金融、工/農/商業等多個領域的應用。36大數據是百度大數據戰略合作媒體,我們只提供最權威最干貨最接地氣最具價值的內容。

微信公眾號:36大數據(dashuju36)

網站地址:36dsj.com

投稿郵箱:dashuju36@qq.com 36大數據讀者QQ千人群:80958753

36大數據是WeMedia自媒體成員之一,WeMedia是自媒體第一聯盟,覆蓋1000萬人群。詳情搜索“wemedia2013

建議你點擊“閱讀原文”查看更多文章……

總結

以上是生活随笔為你收集整理的让机器搞懂100万种隐含语义 腾讯Peacock模型全揭秘的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。