社交軟件上「你可能認識的人」究竟是怎麼找到你的?

摘要:你老死不相往來的EX,早已記不起相貌的初中同窗、前同事、甚至你最不想見到的人——你的BOSS,這些人是怎麼出如今你社交軟件推薦用戶的名單裏的呢?這其中關鍵技術即是:知識庫的連接預測,又稱爲知識圖譜補全。

衆裏尋他千百度,驀然回首,那人卻在推薦名單處。算法

社交軟件最牛的地方之一,必定是用戶關係的深度挖掘。明明你已經拉黑了某些人的電話、微信、以及全部社交帳號,但TA仍是絕不例外地出如今頁面上「你可能認識的人」裏。這些人包括你老死不相往來的EX,早已記不起相貌的初中同窗、前同事、甚至你最不想見到的人——你的BOSS。微信

▲抖音-發現朋友機器學習

那麼,這些人是怎麼出如今你的名單裏的呢?分佈式

這其中關鍵技術即是:知識庫的連接預測,又稱爲知識圖譜補全函數

一圖理解什麼是知識圖譜?

知識圖譜是一種將知識寫成結構化三元組的多關係圖,包含了實體、概念和關係。學習

實體指的是現實世界中的事物好比人名、地名、機構等。概念指的是具備同種特性的實體構成的集合,以下圖中的「運動員」、「金球獎」等。關係則用來表達不一樣實體之間的某種聯繫。url

知識圖譜用實體和關係組成圖譜,爲真實世界的各個場景直觀建模。構建知識圖譜的過程本質是創建認知、理解世界的過程。spa

如何進行知識圖譜補全

以小明爲例,小明就任於位於五道口的新浪,系統能夠推測出小明在北京工做。並將一樣在北京新浪工做的小王推薦給了他。在下圖中,藍色的箭頭表示表示已存在的關係,紅色箭頭爲知識圖譜補全後的關係。.net

知識圖譜與知識表示學習的關係

知識圖譜是由實體和關係組成,一般採用三元組的形式表示——head(頭實體),relation(實體的關係),tail(尾實體),簡寫爲(h,r,t)。知識表示學習任務就是學習h,r,t的分佈式表示(也被叫作知識圖譜的嵌入表示(embedding))。能夠這麼說,有了知識圖譜的Embedding,AI式的知識圖譜應用才成爲可能。設計

如何理解嵌入表示Embedding?

簡單來講,embedding是對一個對象(詞、字、句子、文章…)在多個維度上的描述,至關於經過數據建模的方法來描述一個對象。

舉個例子,咱們常常用到的Photoshop裏關於顏色的RGB表示法就屬於一種非典型的embedding。在這裏顏色被拆成三個特徵緯度,R(紅色強度,取值範圍0-255),G(綠色強度,取值範圍0-255),B(藍色強度,取值範圍0-255)。RGB(0,0,0)就是黑色。RGB(41,36,33)就是象牙黑。經過這樣的方法,咱們能夠經過數字來描述顏色。

知識表示學習都有哪些方法

知識表示學習的關鍵是設計合理的得分函數,在給定事實三元組爲真的狀況下咱們但願最大化得分函數。它從實現形式上可分爲如下兩類:

基於結構的方法

該類模型的基本思想是從三元組的結構出發學習知識圖譜的實體和聯繫的表示,其中最爲經典的算法是TransE模型。該方法的基本想法是頭向量表示h與關係向量表示r之和與尾向量表示t越接近越好,即h+r≈t。這裏的「接近」可使用L1或L2範數進行衡量。原理圖以下:

該類知識表示學習模型還有:TransH, TransR, TransD,TransA等。

基於語義的方法

這類模型是從文本語義角度出發學習KG的實體和關係的表示。這類表示方法主要有LFM, DistMult, ComplEx, ANALOGY, ConvE等。

知識表示學習的應用

因爲基於表示學習,能夠將知識圖譜的實體和關係進行向量化表示,方便後續下游任務的計算,典型應用有如下幾種:

1)類似度計算:利用實體的分佈式表示,咱們能夠快速計算實體間的語義類似度,這對於天然語言處理和信息檢索的不少任務具備重要意義。

如何進行類似度計算呢?舉個例子。

假設"李白"這個詞的embedding一共是5維,其值爲[0.3, 0.5, 0.7, 0.03, 0.02],其中每一個維度表明和某個事物的相關性,這五個數值分別表明[詩人,做家, 文學家,自由職業者,俠士]的含義。

而"王維"=[0.3, 0.55, 0.7, 0.03, 0.02],"牛頓"=[0.01, 0.02, 0.06, 0.4, 0.01],咱們能夠用餘弦距離(幾何中,夾角餘弦可用來衡量兩個向量方向的差別;機器學習中,借用這一律念來衡量樣本向量之間的差別。)來計算這幾個詞的距離,顯而易見李白和王維的距離更近,和牛頓的距離更遠。 由此能夠判斷「李白」 和「王維」更爲類似。

2)知識圖譜補全。構建大規模知識圖譜,須要不斷補充實體間的關係。利用知識表示學習模型,能夠預測2個實體的關係,這通常稱爲知識庫的連接預測,又稱爲知識圖譜補全。上文中「五道口小明」的例子能夠很好的解釋。

3)其餘應用。知識表示學習已被普遍用於關係抽取、自動問答、實體連接等任務,展示出巨大的應用潛力。

自動問答是與知識表示學習深度結合的一大應用。對於智能問答產品來講,後臺設計時,通常分爲3層,輸入層、表示層、輸出層。輸入層簡而言之就是問題庫,這裏集合了全部用戶可能會問到的問題。再通過表示層的知識抽取,最終返回結果。

典型的智能問答產品有蘋果Siri、微軟小冰、百度、阿里小蜜等。這些問答產品的一大特點是,可使搜索結果更精準,而不是返回一堆類似的頁面讓你本身去篩選,達到「所答即所問」。好比,搜索「王思聰的身價多少」,返回來的結果就是具體的數字。

總結

簡而言之,社交產品基於知識圖譜知識補全技術,經過實體和關係的表示對缺失三元組進行預測,在已知頭實體以及頭實體間的關係,預測其尾實體。也就是說,它們是根據用戶畫像來進行朋友推薦的,若是你不想那些「老熟人」出如今你的推薦名單裏,最好的方法是,關掉社交產品上的地理定位、儘量少地透露我的信息。

參考資料

一、劉知遠,孫茂松,林衍凱,謝若冰《知識表示學習研究進展》

 

點擊關注,第一時間瞭解華爲雲新鮮技術~

相關文章
相關標籤/搜索