14 facebook權重算法(騰訊算法高級研究員陳松堅:智能問答技術及其應用)

时间:2024-06-02 03:24:03 编辑: 来源:

p>

(2)從矩陣論出發,重新涉及算法。另M為用戶物品二分圖的轉移概率矩陣,即:

網絡社交是當今社會非常重要甚至可以說是必不可少的社交方式,用戶在互聯網上的時間有相當大的一部分都用在了社交網絡上。

當前國外最著名的社交網站是Facebook和Twitter,國內的代表則是買粉絲/QQ和微博。這些社交網站可以分為兩類:

需要指出的是,任何一個社交網站都不是單純的社交圖譜或興趣圖譜。如QQ上有些興趣愛好群可以認識不同的陌生人,而微博中的好友也可以是現實中認識的。

社交網絡定義了用戶之間的聯系,因此可以用圖定義社交網絡。我們用圖 G(V,E,w) 定義一個社交網絡,其中V是頂點集合,每個頂點代表一個用戶,E是邊集合,如果用戶va和vb有社交網絡關系,那么就有一條邊 e(v a , v b ) 連接這兩個用戶,而 w(v a , v b )定義了邊的權重。一般來說,有三種不同的社交網絡數據:

和一般購物網站中的用戶活躍度分布和物品流行度分布類似,社交網絡中用戶的入度(in degree,表示有多少人關注)和出度(out degree,表示關注多少人)的分布也是滿足長尾分布的。即大部分人關注的人都很少,被關注很多的人也很少。

給定一個社交網絡和一份用戶行為數據集。其中社交網絡定義了用戶之間的好友關系,而用戶行為數據集定義了不同用戶的歷史行為和興趣數據。那么最簡單的算法就是給用戶推薦好友喜歡的物品集合。即用戶u對物品i的興趣 p ui 可以通過如下公式計算。

用戶u和用戶v的熟悉程度描述了用戶u和用戶在現實社會中的熟悉程度。一般來說,用戶更加相信自己熟悉的好友的推薦,因此我們需要考慮用戶之間的熟悉度。下面介紹3中衡量用戶熟悉程度的方法。

(1)對于用戶u和用戶v,可以使用共同好友比例來計算他們的相似度:

上式中 out(u) 可以理解為用戶u關注的用戶合集,因此 out(u) ∩ out(v) 定義了用戶u、v共同關注的用戶集合。

(2)使用被關注的用戶數量來計算用戶之間的相似度,只要將公式中的 out(u) 修改為 in(u):

in(u) 是指關注用戶u的集合。在無向社交網絡中,in(u)和out(u)是相同的,而在微博這種有向社交網絡中,這兩個集合的含義就不痛了。一般來說,本方法適合用來計算微博大V之間的相似度,因為大v往往被關注的人數比較多;而方法(1)適用于計算普通用戶之間的相似度,因為普通用戶往往關注行為比較豐富。

(3)除此之外,還可以定義第三種有向的相似度:這個相似度的含義是用戶u關注的用戶中,有多大比例也關注了用戶v:

這個相似度有一個缺點,就是在該相似度下所有人都和大v有很大的相似度,這是因為公式中的分母并沒有考慮 in(v) 的大小,所以可以把 in(v) 加入到上面公式的分母,來降低大v與其他用戶的相似度:

上面介紹了3種計算用戶之間相似度(或稱熟悉度)的計算方法。除了熟悉程度,還需要考慮用戶之間的興趣相似度。我們和父母很熟悉,但很多時候我們和父母的興趣確不相似,因此也不會喜歡他們喜歡的物品。因此,在度量用戶相似度時,還需要考慮興趣相似度,而興趣相似度可以通過和UserCF類似的方法度量,即如果兩個用戶喜歡的物品集合重合度很高,兩個用戶的興趣相似度很高。

最后,我們可以通過加權的形式將兩種權重合并起來,便得到了各個好有用戶的權重了。

有了權重,我們便可以針對用戶u挑選k個最相似的用戶,把他們購買過的物品中,u未購買過的物品推薦給用戶u即可。打分公式如下:

其中 w' 是合并后的權重,s買粉絲re是用戶v對物品的打分。

node2vec的整體思路分為兩個步驟:第一個步驟是隨機游走(random walk),即通過一定規則隨機抽取一些點的序列;第二個步驟是將點的序列輸入至word2vec模型從而得到每個點的embedding向量。

隨機游走在前面基于圖的模型中已經介紹過,其主要分為兩步:(1)選擇起始節點;(2)選擇下一節點。起始節點選擇有兩種方法:按一定規則抽取一定量的節點或者以圖中所有節點作為起始節點。一般來說會選擇后一種方法以保證所有節點都會被選取到。

在選擇下一節點方法上,最簡單的是按邊的權重來選擇,但在實際應用中需要通過廣度優先還是深度優先的方法來控制游走范圍。一般來說,深度優先發現能力更強,廣度優先更能使社區內(較相似)的節點出現在一個路徑里。

斯坦福大學Jure Leskovec教授給出了一種可以控制廣度優先或者深度優先的方法。

以上圖為例,假設第一步是從t隨機游走到v,這時候我們要確定下一步的鄰接節點。本例中,作者定義了p和q兩個參數變量來調節游走,首先計算其鄰居節點與上一節點t的距離d,根據下面的公式得到α:

一般從每個節點開始游走5~10次,步長則根據點的數量N游走根號N步。如此便可通過random walk生成點的序列樣本。

得到序列之后,便可以通過word2vec的方式訓練得到各個用戶的特征向量,通過余弦相似度便可以計算各個用戶的相似度了。有了相似度,便可以使用基于用戶的推薦算法了。

推薦系統需要根據用戶的歷史行為和興趣預測用戶未來的行為和興趣,因此大量的用戶行為數據就成為推薦系統的重要組成部分和先決條件。如何在沒有大量用戶數據的情況下設計個性化推薦系統并且讓用戶對推薦結果滿意從而愿意使用推薦系統,就是冷啟動問題。

冷啟動問題主要分為三類:

針對用戶冷啟動,下面給出一些簡要的方案:

(1)有效利用賬戶信息。利用用戶注冊時提供的年齡、性別等數據做粗粒度的個性化;

(2)利用用戶的社交網絡賬號登錄(需要用戶授權),導入用戶在社交網站上的好友信息,然后給用戶推薦其好友喜歡的物品;

(3)要求用戶在登錄時對一些物品進行反饋,手機用戶對這些物品的興趣信息,然后給用推薦那些和這些物品相似的物品;

(4)提供非個性化推薦。非個性化推薦的最簡單例子就是熱門排行榜,我們可以給用戶推薦熱門排行榜,然后等到用戶數據收集到一定的時候,在切換為個性化推薦。

對于物品冷啟動,可以利用新加入物品的內容信息,將它們推薦給喜歡過和他們相似的物品的用戶。

對于系統冷啟動,可以引入專家知識,通過一定高效的方式快速建立起物品的相關度表。

在上面介紹了一些推薦系統的基礎算法知識,這些算法大都是比較經典且現在還在使用的。但是需要注意的是,在實踐中,任何一種推薦算法都不是單獨使用的,而是將多種推薦算法結合起來,也就是混合推薦系統,但是在這里并不準備介紹,感興趣的可以查閱《推薦系統》或《推薦系統與深度學習》等書籍。此外,在推薦中非常重要的點擊率模型以及基于矩陣的一些排序算法在這里并沒有提及,感興趣的也可自行學習。

雖然現在用的很多算法都是基于深度學習的,但是這些經典算法能夠讓我們對推薦系統的發展有一個比較好的理解,同時,更重要的一點——“推陳出新”,只有掌握了這些經典的算法,才能提出或理解現在的一些更好地算法。

騰訊算法高級研究員陳松堅:智能問答技術及其應用

隨著人工智能的飛速發展以及廣泛落地應用,越來越多的設備將會被植入智能問答技術,人機交互場景隨處可見,智能問答在未來將會成為一個非常重要的入口。

騰訊小知憑借著業界領先的智能AI引擎算法和海量大數據倉庫,已將智能問答技術落地實施,并且經過大量的業務考驗和優化,知識點匹配度和準確率都已達到90%以上,在2018 年 GITC 全球互聯網技術大會上,騰訊小知榮獲年度互聯網最具價值產品獎。

騰訊小知算法負責人陳松堅也在會場發表了關于智能問答技術原理及其在To B場景下的應用的專題演講,從自己的角度為我們展現智能問答技術的最新成果。

他首先從智能問答是什么,為什么和怎么做的三個問題出發,闡明了他對當前智能問答技術的定位和價值,首先,現階段的智能問答是信息檢索技術的升級,是量變而未達到質變。但是無論在To B還是To C的場景下,當前的技術都能夠切實解決一些用戶的痛點,提升用戶體驗,是亟待推進和充滿想象的方向。

此后他還分享了小知團隊將上述技術產品化的經驗,包括智能客服機器人和電話機器人兩大塊,主要分享了當前產品的形態,亮點和實際項目中取得的一些成果。

最后,他簡單總結了小知目前完成的工作以及就智能問答的發展提出了自己的幾點看法。

--------------------------------------------------------------

以下是演講稿全文:

各位下午好,很高興今天能在這里給大家做分享報告。先介紹一下,我們騰訊小知是致力于為政府和各行業提供一攬子智能問答解決方案的團隊,目前已經落地的包括基于文本的智能客服機器人和基于語音的電話機器人等。

在大多數人的認知里,智能問答很可能是以上的3個印象,2011年打敗了人類取得問答競賽冠軍的waston;2017年被沙特授予公民身份的機器人sofia;更為大家熟知的鋼鐵俠中的機器人管家jarvis。在大家心目中,智能就意味著能夠像真人一樣交流。然而作為從業者,很遺憾地告訴大家,目前的技術還遠沒有達到這個目標,我認為本質上目前的智能問答技術是對信息檢索技術的一次升級,是量變而未到質變。這個皇冠上的明珠還等待我們去摘取。

那如何實現智能問答機器人呢?我們先來看最基本的單輪問答機器人的實現原理。

熟悉搜索引擎的朋友會發現這個架構跟搜索引擎的很類似。單輪問答一般來說就是FAQ問答,是基于業務問答對組成的問答庫進行檢索匹配。其中FAQ問題集包含多個相似問法供用戶問題去匹配。預處理階段一般會進行文本糾錯,標準化和底層NLP特征提取;召回階段會在倒排索引中召回若干個候選問題(粗排),而最后的匹配階段會基于各種模型進行匹配打分并返回得分最高的結果(精排)。匹配階段還會引入其他模塊,如知識圖譜和拒識模型,目的是輔助提升匹配的最終準確率。

retrieval中的匹配可以看做是naive solution,詞袋+VSM, 篩選候選夠用了,但是精排需要更精致的策略,第一,要利用監督信息做擬合,我們構建基于問題對的訓練語料,擬合是否匹配這個二分類目標。第二,特征上拋棄稀疏的詞袋模型,而是構造各種相似度來做base s買粉絲rer,然后利用非線性的抗噪能力強的xgboost來做融合,比如我們用到詞bigram, 字bigram, 核心詞,名詞等特征集合的相似度。這種方法的優缺點是一體的,由于模型只學習字面相似的特征,因此不受領域影響,通用性強,適合用在冷啟動階段;但也因為只考慮字面相似,無法處理更深層的語義匹配。

那如何度量語義的相似呢。詞向量技術的興起是語義匹配的前提,所謂詞向量,是將孤立的傳統的token表示映射到相互關聯的向量空間中,這種關聯性,或者說是相似性,是通過詞語的上下文的來描述的。也就是說,上下文越相似的詞語,他們的語義就越相似,詞向量的歐式距離就越近。這是很容易理解的,更妙的是,通過對向量進行簡單加減運算,能夠

搜索关键词: