【知识图谱】知识抽取与挖掘(Ⅱ)
文章目錄
- 一、面向文本的知識抽取
- 1、DeepDive關系抽取實戰
- 2、開放域關系抽取
- (1)信息抽取(IE)概述
- (2)信息抽取(IE)系統發展
- ① 第一代OpenIE系統
- ② 第二代OpenIE系統:更深入研究句子的語法特性
- ③ 更多進展
- (3)OpenIE的應用
- 二、知識挖掘
- 1、實體消歧與鏈接
- (1)實體鏈接
- (2)基于 entity-mention 模型:生成概率模型
- (3)構建實體關聯圖與標簽傳播算法消歧
- (4)基于實體關聯圖和動態PageRank算法消歧
- (5)小結
- 2、知識規則挖掘
- (1)主要方法
- (2)關聯規則挖掘(ARM)
- ① OWL2公理 =》關聯規則
- (3)統計關系學習(SRL)
- ① 基于圖的方法
- ② 路徑排序算法(Path Ranking Algorithm)
- 3、知識圖譜表示學習
- (1)知識圖譜表示學習的意義
- (2)TransE
- (3)TransE改進
- ① 實體語義空間投影
- ② 屬性表示:分而治之
- (4)路徑的表示學習
- (5)加入規則的表示學習
- (6)多模態的表示學習
- (7)基于知識圖譜結構的表示學習
- 總結與挑戰
一、面向文本的知識抽取
1、DeepDive關系抽取實戰
2、開放域關系抽取
(1)信息抽取(IE)概述
IE的發展趨勢
主要系統
傳統IE和OpenIE互相補充:
- 可以按當前知識庫的規范數據,鏈接更多網絡數據。
- OpenIE所得到的三元組可以用擴充知識庫。
(2)信息抽取(IE)系統發展
① 第一代OpenIE系統
TextRunner
- 抽取特征:NER、POS、Dependency Parsing
- 學習模型:Navie Bayes、CRF
WOE
- 將核心語法路徑也作為一個關系(涉及依存句法分析技術)
示例
面臨的挑戰
- 關系不一致、不準確(例如:從句)
E.g. Peter thought that John began his career as a scientist- True: (John, began, his career as a scientist)
- False: (Peter, began, his career as a scientist)
- 提取的關系不包含有效信息(例如:多元關系)
E.g. Al-Qaeda claimed responsibility for the 9/11 attacks- True: (AI-Qaeda, claimed responsibility, for the 9/11 attacks)
- False: (Al-Qaeda, claimed, responsibility)
② 第二代OpenIE系統:更深入研究句子的語法特性
Reverb
- 基于動詞的關系抽取:圍繞動詞詞組抽取以下關系V | VP | VW * PV = verb particle? adv?W = (noun | adj | adv | pron | det)P = (prep | particle | inf.marker)
OLLIE
- 增加抽取名詞和形容詞中包含的語義信息;
示例:Microsoft co-founder Bill Gates spoke at ...
OLLIE可以抽取 (Bill Gates, be co-founder of, Microsoft),Reverb不可以 - 把 Reverb 中抽取的關系作為種子,來學習更多的模板。
ClauseIE
- 基于子句的抽取
- 將句子拆分成各個從句,定義從句類型
- 用語法規則和句法依賴判斷從句類型(Decision Tree)
- 過程:抽取從句集合->識別從句類型->抽取關系
③ 更多進展
模型
- 聯合訓練:訓練一個統一模型,同時抽取實體和關系
- 模板匹配方法與深度學習方法相結合
- 矩陣因式分解 等所有好用的分類器
源數據
- 結構化的知識庫:可以依賴知識庫進行更好的鏈接和特征抽取
(3)OpenIE的應用
直接回答問題:回答不同用戶提出的不同領域形如 (A1, ?, A2) 的問題
作為其他NLP任務的特征
- 文本理解
- 相似度比較
二、知識挖掘
1、實體消歧與鏈接
實體消歧可以通過實體鏈接的方式完成
(1)實體鏈接
實體鏈接:給定一篇文本中的實體指稱(mention),確定這些指稱在給定知識庫中的目標實體 (entity)
實體鏈接基本流程:
- 實體引用表: 從 mention 到 entity ID 的映射表。
- 示例:將喬丹與ID為2的實體的映射就是實體引用表中的一個示例。
- 作用:查找出某一實體在知識庫中對應的別名、簡稱、和同義詞等。(可能存在錯誤)
實體的鏈接主要工作:
- 候選實體的生成(圖中藍色的即為候選實體)
- 候選實體的消歧(如區分出UCB的喬丹和籃球之神喬丹)。
(2)基于 entity-mention 模型:生成概率模型
簡述:基于百科型知識庫,適用于長、短文本場景。
該模型的流程如上圖所示,其過程如下:假設有兩個句子,其中的實體分別為 Jordan(左) 和 Michael Jordan(右),即模型中的 Mention。問題:要判斷這兩個 Jordan 指的到底是 籃球大神 還是 ML大神 ? 這個問題可以用公式表述為:
e=argmax?eP(m,e)P(m)e=arg\max_{e}\frac{P(m,e)}{P(m)}e=argemax?P(m)P(m,e)?
等價于:e=argmax?eP(m,e)=argmax?eP(e)P(s∣e)P(c∣e)e=arg\max_{e}P(m,e)=arg\max_{e}P(e)P(s|e)P(c|e)e=argemax?P(m,e)=argemax?P(e)P(s∣e)P(c∣e)
- 其中,eee 為entity(目標實體),sss 為name,ccc 為mention。
- P(e)P(e)P(e) 表示該目標實體的先驗概率(實體流行度),
- P(s∣e)P(s|e)P(s∣e) 來自前面流程圖中的實體引用表,它表示s作為目標實體e的毛文本出現的概率,s表示name。
- P(c∣e)P(c|e)P(c∣e) 表示的是翻譯概率,由目標實體可以生成該mention的概率。
這樣可以將上述例子描述為:給定一個 mmm 求生成 eee 的概率,此處即為給定一個文本“Jordan joins Bulls in 1984.”,其中提及為 “Jordan”,通過計算由 Jordan 生成 Michael Jeffrey Jordan 的概率和 Michael I. Jordan 的概率,概率大的為最終的結果。即,根據 mention 所處的句子和上下文來判斷該 mention 是某一實體的概率。
(3)構建實體關聯圖與標簽傳播算法消歧
簡述:基于百科型知識庫,適用于長文本場景。
實體關聯圖由三個部分組成:
- 每個頂點 Vi=<mi,ei>V_i=<m_i,e_i>Vi?=<mi?,ei?>由 mention-entity 對構成;
- 每個頂點得分 :代表實體指稱 mim_imi? 的目標實體為 eie_iei? 概率可能性大小;
- 每條邊的權重:代表語義關系計算值,表明頂點 ViV_iVi? 和 VjV_jVj? 的關聯程度。
基于實體關聯圖消歧具體過程如下:
- 1、頂點的得分的初始化
- 若頂點 VVV 實體不存在歧義,則頂點得分設置為 1,如圖中最左邊的兩個結點,即加粗表示;
- 若頂點中 mention 和 entity 滿足 p(e∣m)>=0.95\mathrm{p}(e|m)>=0.95p(e∣m)>=0.95,則頂點得分也設置為 1。
- 其余頂點的得分設置為 p(e∣m)\mathrm{p}(e|m)p(e∣m)。
- 2、邊的權重的初始化:基于深度語義關系模型
- 此處可以使用Wikipedia作為知識庫,由于Wikipedia既包含結構化數據有包括非結構化數據,很適合作為訓練數據來訓練。
- 符號定義:E: entity, R: relation, ET: entity type, D: word.
- 過程:首先通過 Word Hashing 將上述變量轉換為特征向量(類似于embedding?),接著做多層非線性投影(如使用 sigmoidsigmoidsigmoid 等函數)得到語義層 yyy;最后計算語義的相似度(如計算余弦相似度)作為兩個實體之間的權重。
- 3、基于圖的標簽傳播算法
- 步驟:(1)構造相似矩陣;(2)迭代傳播直到收斂算法結束。
- 若某些 mention 沒有多個候選實體,則可認為它是 labeled;
- 例如:圖中 nba 可認為是 labeled,而 new york 有兩個候選實體所以認為是 unlabeled;
- 將 labeled 數據(一般多個)的影響向外傳播,形成了一種協同傳播,相當于構建了一個相似矩陣;
對圖進行 regulation,直到每一個標簽都穩定了,起到協同消歧的作用。
(4)基于實體關聯圖和動態PageRank算法消歧
簡述:基于百科型知識庫,適用于長文本場景。
基本流程:
- 基于RDF三元組的數據庫,離線將RDF三元組轉換成實體向量(eg:woed2vec、知識圖譜表示學習等方法);
- 根據實體向量計算相似度,并構建實體關聯圖;
- 使用基于圖的動態PageRank算法更新圖。
候選實體語義相似度計算:
- 基本思想:先將 RDF 轉換成 vector,接著計算 vector 之間的相似度。
- Weisfeiler-Lehman Algorithm:將RDF圖轉換成子圖,再將子圖轉換成序列;
- Skip-gram model:詞向量。The Skip-gram model architecture usually tries to achieve the reverse of what the CBOW model does. It tries to predict the source context words (surrounding words) given a target word (the center word);
- 計算余弦相似度。
構建實體關聯圖:
-
實體關聯圖的組成(四個部分):
- 實體指稱節點
- 候選實體節點
- 候選實體節點頂點值:代表該候選實體是實體指稱的目標實體概率大小
- 候選實體節點邊權值:代表兩個候選實體間的轉化概率大小
-
構建過程:
- 各候選實體節點值:初始化均相等,之后每一輪更新為上一輪PageRank得分。
- 候選實體節點邊權值:
- 計算兩個實體之間相似度大小(cos函數):
SM(eai,ebj)=cos(v(eai),v(ebj))SM(e^i_a,e^j_b)=cos(v(e^i_a),v(e^j_b))SM(eai?,ebj?)=cos(v(eai?),v(ebj?)) - 計算兩個候選實體之間轉換概率:
ETP(eai,ebj)=SM(eai,ebj)∑kη(v,vi)SM(eai,k)ETP(e^i_a,e^j_b)=\frac{SM(e^i_a,e^j_b)}{\sum_{kη}(v,v_i)SM(e^i_a,k)}ETP(eai?,ebj?)=∑kη?(v,vi?)SM(eai?,k)SM(eai?,ebj?)?
- 計算兩個實體之間相似度大小(cos函數):
更新實體關聯圖:
過程:首先根據PageRank算法計算未消歧實體指稱實體的得分,取得分最高的未消歧實體。而后刪除其他候選實體及相關的邊,更新圖中的邊權值。
其流程如下圖所示:
(5)小結
- 知識庫的變更:從百科知識庫發展到特定領域知識庫;
- 實體鏈接的載體:從長文本到短文本,甚至到列表和表格數據;
- 候選實體生成追求同義詞、簡稱、各種縮寫等的準備和高效從Mention到實體候選的查找;
- 實體消歧則考慮相似度計算的細化和聚合,以及基于圖計算協同消歧;
2、知識規則挖掘
(1)主要方法
- 基于歸納邏輯編程 (Inductive Logic Programming, ILP)的方法
- 使用精化算子 (refinement operators)
- 基于統計關系學習 (Statistical Relational Learning, SRL)的方法
- 主要對貝葉斯網絡進行擴展
- 基于關聯規則挖掘 (Association Rule Mining,ARM)的方法
- 構建事務表
- 挖掘規則
- 將規則轉換為OWL公理
- 構建本體
(2)關聯規則挖掘(ARM)
① OWL2公理 =》關聯規則
| C∈D\mathrm{C}\in\mathrm{D}C∈D | {C}?{D}\{\mathrm{C}\}\Rightarrow\{\mathrm{D}\}{C}?{D} |
規則 {C}?{D}\{\mathrm{C}\}\Rightarrow\{\mathrm{D}\}{C}?{D} 意味著:概念 C 的實例同時屬于概念 D,規則的置信度越高,則公理 C∈D\mathrm{C}\in\mathrm{D}C∈D 的可能性越大。
支持度: 指某頻繁項集在整個數據集中的比例。假設數據集有 10 條記錄,包含{‘雞蛋’, ‘面包’}的有 5 條記錄,那么{‘雞蛋’, ‘面包’}的支持度就是 5/10 = 0.5。
置信度: 是針對某個關聯規則定義的。有關聯規則如 {‘雞蛋’, ‘面包’} -> {‘牛奶’},它的置信度計算公式為{‘雞蛋’,‘面包’,‘牛奶’}的支持度{‘雞蛋’,‘面包’}的支持度\frac{\{‘雞蛋’, ‘面包’, ‘牛奶’\}的支持度}{\{‘雞蛋’, ‘面包’\}的支持度}{‘雞蛋’,‘面包’}的支持度{‘雞蛋’,‘面包’,‘牛奶’}的支持度?。假設{‘雞蛋’, ‘面包’, ‘牛奶’}的支持度為 0.45,{‘雞蛋’, ‘面包’}的支持度為 0.5,則{‘雞蛋’, ‘面包’} -> {‘牛奶’}的置信度為 0.45 / 0.5 = 0.9。
support(Airport, Building)=2
support(Airport)=2
confidence(Airport=>Building)=1
Airport ∈\in∈ Building
==》結果:可以推出Airport屬于Building。
(3)統計關系學習(SRL)
輸入:(實際上就是一個KG)
- 實體集合 {ei}\{e_i\}{ei?}
- 關系集合 {rk}\{r_k\}{rk?}
- 已知三元組集合 {(ei,rk,ej)}\{(e_i,r_k,e_j)\}{(ei?,rk?,ej?)}
目標:根據已知三元組對未知三元組成立的可能性進行預測,可用于知識圖譜補全。
ps:若 ei,eje_i,e_jei?,ej? 之間沒有申明關系 rkr_krk?,而計算出來的P(ei,rk,ej)\mathrm{P}(e_i, r_k, e_j)P(ei?,rk?,ej?)很高(如 P=1P=1P=1),則認為可以補全這條關系。
① 基于圖的方法
基本思想:將連接兩個實體的路徑作為特征來預測其間可能存在的關系。
示例:下面的圖譜中的邊是一個有向的圖,為了使圖中可以形成路徑,在圖中定義了一些逆關系(如IsA?1IsA^{?1}IsA?1)。在這個圖中我們希望可以通過其他的三元組推出 Charlotte 也是一個 Writer。
通用關系學習框架如下:
② 路徑排序算法(Path Ranking Algorithm)
在基于圖的方法中采用了的Relational Learning Algorithm是路徑排序算法(Path Ranking Algorithm)。
相關定義:
-
定義 G=(N,E,R)G=(N,E,R)G=(N,E,R):
- N: nodes (instances or concepts)
- E: edges
- R: edge types,note:r?1r^{-1}r?1——reverse of edge type rrr
-
接著定義Path type π:?r1,r2,...,rn?\pi:\langle r_1, r_2,..., r_n \rangleπ:?r1?,r2?,...,rn??
- eg:<HasFather, Profrssion>
實體對概念計算:
在前面給出的圖中,我們可以通過如 <HasFather, Profession> 的一些路徑將 Charlotte 和 Writer 進行關聯起來。我們可以將在圖中已經定義的節點、邊和邊的類型作為上下文來表示實體對 (Charlotte Bonte, Writer),同時可以抽取出一些特征供后面學習。
對于這個實體對的概率可以通過如下公式計算:
score(s,t)=∑π∈QP(s→t;π)θπscore(s,t)=\sum_{\pi\in{Q}}P(s\to t;\pi)\theta_{\pi}score(s,t)=π∈Q∑?P(s→t;π)θπ?
- QQQ:是所有起始為 sss 終點為 ttt 的路徑集合(限制路徑的最大長度為 nnn)
- θπ\theta_{\pi}θπ?:通過訓練得到的路徑權重
路徑概率的計算:
P(s→t;π)=∑P(s→z;π′)P(z→t;r)P(s\to{t};\pi)=\sum P(s\to{z};\pi')P(z\to{t};r)P(s→t;π)=∑P(s→z;π′)P(z→t;r)
- PPP:將 sss 到 ttt 的路徑細化成 sss 到 zzz 和 zzz 到 ttt 兩條路徑,其中 zzz 到 ttt 是存在關系 rrr 的單跳路徑;
- 具體使用動態規劃的方法求解
?
訓練權重的計算(離線計算):
- 可以將路徑作為特征,進行邏輯回歸來求得權重。
最后通過計算出來的 PPP 的大小判斷出 (Charlotte Bonte, Writer) 是成立的。
3、知識圖譜表示學習
(1)知識圖譜表示學習的意義
在自然語言處理中我們可以通過 word embedding、sentence embedding甚至是document embedding等嵌入表示的方式來建立一個低維的統一的語義空間,使得語義可以計算。
在知識圖譜中也類似,具體應用為:
-
實體預測與推理
給定一個實體和一個關系來預測另外一個實體。- eg:若給定一個電影實體《臥虎藏龍》和一個關系“觀影人群”,來預測另外一個實體是什么。
-
關系推理
-
推薦系統
(2)TransE
基本思想:TransE(Translation Embedding)是基于實體和關系的分布式向量表示,將三元組(head,relation,tail)看成向量 hhh 通過 rrr 翻譯到 ttt 的過程,通過不斷的調整向量 h、r和th、r 和 th、r和t,使 h+rh+rh+r 盡可能與 ttt 相等。
- 示例:如給出三元組 Capital of(Beijing, China) 和 Capital of(Pairs, France),則可以得出如下向量表示:
Beijing?China=Pairs?France=Capital of
TransE的優化目標:
- 勢能函數:f(h,r,t)=∣∣h+r?t∣∣2f(h,r,t)=||h+r-t||_2f(h,r,t)=∣∣h+r?t∣∣2?
f(Beijing,Capital?of,China)<f(Shanghai,Capital?of,China)f(Beijing,Capital?of,China)<f(Shanghai,Capital?of,China)f(Beijing,Capital?of,China)<f(Shanghai,Capital?of,China) - 目標函數:最小化整體勢能。即使知識庫中定義的勢能比不在知識庫中的三元組的勢能低。
min?∑(h,r,t)∈Δ∑(h′,r′,t′)∈Δ′[γ+f(h,r,t)?f(h′,r′,t′)]+\min\sum_{(h,r,t)\in\Delta}\sum_{(h',r',t')\in\Delta'}[\gamma+f(h,r,t)-f(h',r',t')]_+min(h,r,t)∈Δ∑?(h′,r′,t′)∈Δ′∑?[γ+f(h,r,t)?f(h′,r′,t′)]+?
其中,[x]+=max?(0,x)[x]_+=\max(0,x)[x]+?=max(0,x)
TransE的缺陷:
- 無法處理一對多、多對一和多對多問題。
- 關系的性質。
(3)TransE改進
① 實體語義空間投影
TransH:將頭尾實體映射到一個超平面
TransR:通過矩陣變換,將頭、尾實體映射到一個新的語義空間,使得這個空間的關系盡量保持一對一。
② 屬性表示:分而治之
對于知識圖譜的邊既可以是屬性(data type property)也可以是關系(object property)。對于屬性來說,很容易產生一對多(如喜好)和多對一(性別),若將關系和屬性的表示會出現困難。
分而治之:將對屬性的學習和對關系的學習做了一個區分,同時基于屬性的學習可以推進對關系的學習。
(4)路徑的表示學習
PRA vs. TransE: 兩種方法存在互補性
- PRA:可解釋性強;能夠從數據中挖掘出推理規則;難以處理稀疏關系;路徑特征提取效率不高。
- TransE:能夠表示數據中蘊含的潛在特征;參數較少,計算效率較高;模型簡單,難以處理多對一、一對多、多對多的復雜關系可解釋性不強。
評價指標:
- 三元組分類任務:accuracy
- 鏈接預測任務:hits10
(5)加入規則的表示學習
學習推理的規則:推理的規則似然最大化。
(6)多模態的表示學習
助力Zero-Shot和長尾鏈接預測:
- 對于在KG中出現很少,甚至沒有出現過,而在長文本中出現較多的長尾數據來做實體鏈接預測。
- hsh_shs?:KG中結構的學習
- hdh_dhd?:在文本中的描述的學習,這里使用了Bi-LSTM模型
(7)基于知識圖譜結構的表示學習
考慮哪些數據可以用來描述實體:
- Neighbor Context:實體周圍的實體;
- Path Context:從一個實體到這個實體的聯通路徑;
Triple Context = Triple + Path Context + Neighbor Context
- 勢能函數
f(h,r,t)=P((h,r,t)∣C(h,r,t);Θ)f(h,r,t)=P((h,r,t)∣C(h,r,t);Θ)f(h,r,t)=P((h,r,t)|C(h,r,t);\Theta) f(h,r,t)=P((h,r,t)∣C(h,r,t);Θ)f(h,r,t)=P((h,r,t)∣C(h,r,t);Θ)f(h,r,t)=P((h,r,t)∣C(h,r,t);Θ)
f(h,r,t)=P(h∣C(h,r,t);Θ)=P(t∣C(h,r,t),h;Θ)=P(r∣C(h,r,t),h,t;Θ)\begin{aligned}f(h,r,t)&=P(h|C(h,r,t);\Theta) \\ &=P(t|C(h,r,t),h;\Theta) \\ &=P(r|C(h,r,t),h,t;\Theta)\end{aligned}f(h,r,t)?=P(h∣C(h,r,t);Θ)=P(t∣C(h,r,t),h;Θ)=P(r∣C(h,r,t),h,t;Θ)?
f(h,r,t)≈P(h∣CN(h);Θ)?P(t∣CP(h,t),h;Θ)?P(r∣h,t;Θ)f(h,r,t)\approx P(h|C_N(h);\Theta) \cdot P(t|C_P(h,t),h;\Theta) \cdot P(r|h,t;\Theta)f(h,r,t)≈P(h∣CN?(h);Θ)?P(t∣CP?(h,t),h;Θ)?P(r∣h,t;Θ)
- 目標函數
P(K∣Θ)=Π(h,r,t)∈Kf(h,r,t)P(\mathcal{K}|\Theta) = \Pi_{(h,r,t)\in \mathcal{K}}f(h,r,t)P(K∣Θ)=Π(h,r,t)∈K?f(h,r,t)
總結與挑戰
- 融合更多本體特征的知識圖譜表示學習算法研發
- 知識圖譜表示學習與本體推理之間的等價性分析
- 知識圖譜學習與網絡表示學習之間的異同
- 神經符號系統
總結
以上是生活随笔為你收集整理的【知识图谱】知识抽取与挖掘(Ⅱ)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【知识图谱】知识抽取与挖掘(I)
- 下一篇: 【知识图谱】知识存储