【知识图谱】知识抽取与挖掘(I)
文章目錄
- 一、知識(shí)抽取任務(wù)定義和相關(guān)比賽
- 1、知識(shí)抽取任務(wù)定義
- 2、知識(shí)抽取的技術(shù)與難點(diǎn)
- 3、知識(shí)抽取的子任務(wù)
- (1)知識(shí)抽取 的 子任務(wù)
- 4、相關(guān)競(jìng)賽與數(shù)據(jù)集
- 二、面向非結(jié)構(gòu)化數(shù)據(jù)的知識(shí)抽取
- 1、實(shí)體抽取
- 2、實(shí)體識(shí)別與鏈接
- 3、關(guān)系抽取
- (1)基于模板的方法
- a、基于觸發(fā)詞的Pattern
- b、基于依存句法分析的Pattern
- c、小結(jié)
- (2)基于監(jiān)督學(xué)習(xí)方法
- a、基于機(jī)器學(xué)習(xí)的方法
- b、基于深度學(xué)習(xí)的方法
- c、小結(jié)
- (3)基于半監(jiān)督學(xué)習(xí)方法
- a、遠(yuǎn)程監(jiān)督方法
- b、Bootstrapping
- 4、事件抽取
- (1)概述
- (2)事件抽取任務(wù)
- (3)事件抽取的Pipeline方法
- (4)事件抽取的聯(lián)合方法
- a、Joint Inference(聯(lián)合推理方法):
- b、Joint Modeling
- (4)基于深度學(xué)習(xí)的事件抽取方法
- 三、面向結(jié)構(gòu)化數(shù)據(jù)的知識(shí)抽取
- 1、Direct Mapping
- 2、R2RML
- 四、面向半結(jié)構(gòu)化數(shù)據(jù)的知識(shí)抽取
- 1、百科類知識(shí)抽取
- 2、WEB網(wǎng)頁數(shù)據(jù)抽取:包裝器生成
- (1)包裝器簡(jiǎn)介及描述方式
- (2)包裝器生成:包裝器歸納
- (3)包裝器生成:自動(dòng)抽取
- (4)小結(jié)
- 3、WEB TABLE 抽取
一、知識(shí)抽取任務(wù)定義和相關(guān)比賽
1、知識(shí)抽取任務(wù)定義
從不同來源、不同結(jié)構(gòu)的數(shù)據(jù)中進(jìn)行抽取,形成知識(shí)存入到知識(shí)圖譜。
2、知識(shí)抽取的技術(shù)與難點(diǎn)
從結(jié)構(gòu)化數(shù)據(jù)庫中獲取知識(shí):D2R
- 難點(diǎn):復(fù)雜表數(shù)據(jù)的處理
從鏈接數(shù)據(jù)中獲取知識(shí):圖映射
- 難點(diǎn):數(shù)據(jù)對(duì)齊
從半結(jié)構(gòu)化(網(wǎng)站)數(shù)據(jù)中獲取知識(shí):使用包裝器
- 難點(diǎn):方便的包裝器定義方法,包裝器自動(dòng)生成、更新與維護(hù)
從文本中獲取知識(shí):信息抽取
- 難點(diǎn):結(jié)果的準(zhǔn)確率與覆蓋率
3、知識(shí)抽取的子任務(wù)
知識(shí)抽取:自動(dòng)化從文本中發(fā)現(xiàn)和抽取相關(guān)信息。將非結(jié)構(gòu)化轉(zhuǎn)化為結(jié)構(gòu)化數(shù)據(jù)。
(1)知識(shí)抽取 的 子任務(wù)
- 命名實(shí)體識(shí)別(NER)
- 檢測(cè):西瓜書的作者是周志華。→[西瓜書]:實(shí)體
- 分類:西瓜書的作者是周志華。→[西瓜書]:書籍
- 術(shù)語抽取
- 從語料中發(fā)現(xiàn)多個(gè)單詞組成的相關(guān)術(shù)語。
- 關(guān)系抽取:抽取出實(shí)體、屬性等之間的關(guān)系。
- eg:王思聰是萬達(dá)集團(tuán)董事長(zhǎng)王健林的獨(dú)子。→[王健林] <父子關(guān)系> [王思聰]
- 事件抽取:相當(dāng)于多元關(guān)系抽取
- eg:據(jù)路透社消息,英國(guó)當(dāng)?shù)貢r(shí)間9月15日早8時(shí)15分,位于倫敦西南地鐵線District Line的Parsons Green地鐵站發(fā)生爆炸,目前已確定有多人受傷,具體傷亡人數(shù)尚不明確。目前,英國(guó)警方已將此次爆炸與起火定性為恐怖襲擊。
- eg:據(jù)路透社消息,英國(guó)當(dāng)?shù)貢r(shí)間9月15日早8時(shí)15分,位于倫敦西南地鐵線District Line的Parsons Green地鐵站發(fā)生爆炸,目前已確定有多人受傷,具體傷亡人數(shù)尚不明確。目前,英國(guó)警方已將此次爆炸與起火定性為恐怖襲擊。
- 共指消解
4、相關(guān)競(jìng)賽與數(shù)據(jù)集
MUC(Message Understanding Conference):正規(guī)文本(新聞報(bào)告等)抽取
- 命名實(shí)體識(shí)別(Named Entity Recognition,NER)
- 共指消解(Co-reference Resolution,CR)
ACE(Automatic Content Extraction):對(duì)MUC的任務(wù)融合、分類、細(xì)化,涵蓋英語、阿拉伯語和漢語;
- 實(shí)體檢測(cè)與識(shí)別(Entity Detection And Recognition,EDR)
- 細(xì)化了實(shí)體分類(eg:person,organizations,locations……)
- 數(shù)值檢測(cè)與識(shí)別(Value Detection And Recognition,VAL)
- 分類:百分比、錢、郵箱、時(shí)間
- **時(shí)間表達(dá)檢測(cè)與識(shí)別(**Time Detection And Recognition,TERN)
- 關(guān)系檢測(cè)與識(shí)別(Relation Detection And Recognition,RDR)
- 事件檢測(cè)與識(shí)別(Event Detection And Recognition,VDR)
KBP(TAC Knowledge Base Population):對(duì)ACE的進(jìn)一步修訂,分為四個(gè)獨(dú)立任務(wù)和一個(gè)整合任務(wù)。
- 實(shí)體發(fā)現(xiàn)與鏈接(Entity Discovery and Linking,EDL):需要知識(shí)庫中唯一URI去鏈接實(shí)體
- 槽填充(Slot Filling,SF):事件/多元關(guān)系抽取;
- 事件抽取(Event)
- 信念和情感(Belief and Sentiment,BeSt):抽取知識(shí)的額外描述
- 整合任務(wù):端到端冷啟動(dòng)知識(shí)構(gòu)建:對(duì)數(shù)據(jù)層進(jìn)行學(xué)習(xí)和擴(kuò)充
SemEval(Semantic Evaluation):國(guó)際權(quán)威的詞義消歧評(píng)測(cè)
二、面向非結(jié)構(gòu)化數(shù)據(jù)的知識(shí)抽取
1、實(shí)體抽取
實(shí)體抽取:抽取文本中的原子信息元素。包括人名、組織/機(jī)構(gòu)名、地理位置、時(shí)間/日期、字符值、金額值等(原子根據(jù)場(chǎng)景來定義)
示例:
非結(jié)構(gòu)化數(shù)據(jù)的實(shí)體抽取可以認(rèn)為是一個(gè)序列標(biāo)注問題,則可使用序列標(biāo)注的方法,通過評(píng)價(jià)指標(biāo) F1值的比較如下:
- 人工特征:IOB標(biāo)注體系——O(Others)/B-ORG(組織開始字)/I-ORG(組織中間詞)….
- 詞本身的特征:邊界特征、詞性、依存關(guān)系等
- 前后綴特征:姓氏、地名等
- 字本身的特征:是否是數(shù)字、是否是字符等
- HMM
- 有向圖模型、生成式模型(找到使 P(X,Y)P(X,Y)P(X,Y) 最大的參數(shù))、假設(shè)特征之間是獨(dú)立的
- CRF
- 無向圖模型、判別式模型(找到使 P(Y∣X)P(Y|X)P(Y∣X) 最大的參數(shù))、沒有關(guān)于特征之間是獨(dú)立的
- LSTM+CRF(主流)
- 判別式模型、端到端網(wǎng)絡(luò)、自動(dòng)提取特征
- 模型:word embeddings->Bi-LSTM encoder->CRF Layer
2、實(shí)體識(shí)別與鏈接
示例:聊天機(jī)器人
- 如何處理大規(guī)模細(xì)粒度實(shí)體識(shí)別?
- 如何應(yīng)對(duì)新興實(shí)體或?qū)嶓w新說法?
實(shí)體鏈接的流程:
- 文本 =》實(shí)體指稱識(shí)別 =》候選實(shí)體生成 =》候選實(shí)體消歧 =》鏈接
開源工具:Wikipedia Miner、DBpedia Spotligth、OpenCalais
實(shí)體鏈接示例:
- eg:中國(guó)證券網(wǎng)訊(記者 王雪青)中國(guó)證券記者今日獲悉,萬達(dá)集團(tuán)的文明產(chǎn)業(yè)版圖將再添世界級(jí)新軍——傳奇影業(yè),具體收購情況或于下周二正式發(fā)布。
3、關(guān)系抽取
關(guān)系抽取:從文本中抽取兩個(gè)或多個(gè)實(shí)體之間的語義關(guān)系。它是信息抽取研究領(lǐng)域的任務(wù)之一。
示例1:王健林談兒子王思聰:我期望他穩(wěn)重一點(diǎn)。==》父子(王健林, 王思聰)
示例2:
方法分類:
- 基于模板的方法
- 基于觸發(fā)詞的Pattern
- 基于依存句法分析的Pattern
- 基于監(jiān)督學(xué)習(xí)方法
- 機(jī)器學(xué)習(xí)方法
- 深度學(xué)習(xí)方法
- 基于弱監(jiān)督學(xué)習(xí)方法
- 遠(yuǎn)程監(jiān)督
- Bootstrapping
(1)基于模板的方法
a、基于觸發(fā)詞的Pattern
首先確定觸發(fā)詞(trigger word),然后根據(jù)觸發(fā)詞做pattern的匹配及抽取,然后做一個(gè)映射。
分析:上述示例中的觸發(fā)詞為老婆、妻子、配偶等。根據(jù)這些觸發(fā)詞找出夫妻關(guān)系這種關(guān)系,同時(shí)通過命名實(shí)體識(shí)別給出關(guān)系的參與方。
b、基于依存句法分析的Pattern
文本一般具有一些句法結(jié)構(gòu),如主謂結(jié)構(gòu)、動(dòng)賓結(jié)構(gòu)、從句結(jié)構(gòu)、這些結(jié)構(gòu)可以是跨多個(gè)詞所產(chǎn)生的。最常見的情況是動(dòng)賓短語,所以通常以動(dòng)詞為起點(diǎn),構(gòu)建規(guī)則,對(duì)節(jié)點(diǎn)上的詞性和邊上的依存關(guān)系進(jìn)行限定(可以理解為泛化的正則表達(dá)式)。具體的流程如下:
示例:董卿現(xiàn)身國(guó)家博物館看展優(yōu)雅端莊大方。
+ 分析:上圖中,我們可以看出這個(gè)例子中的依存關(guān)系路徑中 -1 代表謂語,同時(shí)可以看出 董卿 這個(gè)詞依存關(guān)系路徑為 1,說明此處的董卿是和詞順序?yàn)?1 的現(xiàn)身關(guān)聯(lián),于是可以得到“董卿,現(xiàn)身”;接著看“國(guó)家博物館”也是和“現(xiàn)身”所關(guān)聯(lián),所以可以得出一個(gè)動(dòng)賓關(guān)系“現(xiàn)身,國(guó)家博物館”。
c、小結(jié)
優(yōu)點(diǎn)
- 人工規(guī)則有高準(zhǔn)確率(high-precision)
- 可以為特定領(lǐng)域定制(tailor)
- 在小規(guī)模數(shù)據(jù)集上容易實(shí)現(xiàn),構(gòu)建簡(jiǎn)單
缺點(diǎn)
- 低召回率(low-recall)
- 特定領(lǐng)域的模板需要專家構(gòu)建,要考慮周全所有可能的 pattern 很難,也很費(fèi)時(shí)間精力
- 需要為每條關(guān)系來定義 pattern
- 難以維護(hù)
- 可移植性差
(2)基于監(jiān)督學(xué)習(xí)方法
a、基于機(jī)器學(xué)習(xí)的方法
在給定實(shí)體對(duì)的情況下,根據(jù)句子上下文對(duì)實(shí)體關(guān)系進(jìn)行預(yù)測(cè),傳統(tǒng)的執(zhí)行流程為:
- 預(yù)先定義好關(guān)系的類別。
- 人工標(biāo)注一些數(shù)據(jù)(獲得數(shù)據(jù))。
- 設(shè)計(jì)特征表示(特征工程)。
- 選擇一個(gè)分類方法。(分類器:SVM、NN、樸素貝葉斯)
- 評(píng)估方法。
特征表示
- 輕量級(jí)特征——詞
- 實(shí)體前后的詞
- 實(shí)體的類型
- 實(shí)體之間的距離(也就是實(shí)體之間的相似度)
- 中等量級(jí)特征——詞組
- Chunk序列:如詞組
- 重量級(jí)特征——句子
- 實(shí)體間的依存關(guān)系路徑
- 實(shí)體間樹結(jié)構(gòu)的距離
- 特定的結(jié)構(gòu)信息
b、基于深度學(xué)習(xí)的方法
特征表示
- Position embeddings
- Word embeddings
- Knowledge embedding
- …
方法分類
- Pipeline:識(shí)別實(shí)體和關(guān)系分類是完全分離的兩個(gè)過程(即串聯(lián)方式),不會(huì)相互影響,關(guān)系的識(shí)別依賴于實(shí)體識(shí)別的效果
- Joint Model:實(shí)體識(shí)別和關(guān)系分類的過程是共同優(yōu)化的
典型的Pipeline方法——存在錯(cuò)誤傳遞的問題
- CR-CNN模型
- 僅使用詞向量和位置向量作為輸入
- F1值84.1,超過現(xiàn)有的非深度學(xué)習(xí)方法
- Att-CNN 模型
- 應(yīng)用注意力機(jī)制(表現(xiàn)為不同的詞對(duì)上下文來說有不同的權(quán)重)
- F1值88.0
- Att-BLSTM模型
典型的Joint Model方法——效果一般情況下優(yōu)于Pipeline,但是參數(shù)空間會(huì)提高。
- LSTM-RNNs模型
c、小結(jié)
- 優(yōu)點(diǎn):準(zhǔn)確率高,標(biāo)注數(shù)據(jù)越多越準(zhǔn)確
- 缺點(diǎn):標(biāo)注數(shù)據(jù)成本太高;不能擴(kuò)展新的關(guān)系
(3)基于半監(jiān)督學(xué)習(xí)方法
標(biāo)注數(shù)據(jù)不足 或 數(shù)據(jù)量又特別大的情況下 ==》半監(jiān)督學(xué)習(xí)的方法
a、遠(yuǎn)程監(jiān)督方法
遠(yuǎn)程監(jiān)督:知識(shí)庫與非結(jié)構(gòu)化文本對(duì)齊來自動(dòng)構(gòu)建大量訓(xùn)練數(shù)據(jù),減少模型對(duì)人工標(biāo)注數(shù)據(jù)的依賴,增強(qiáng)模型跨領(lǐng)域適應(yīng)能力。
基本假設(shè):若兩個(gè)實(shí)體在知識(shí)庫中存在某種關(guān)系,則包含該兩個(gè)實(shí)體的非結(jié)構(gòu)化句子均能表示出這種關(guān)系。
示例:
在某知識(shí)庫中存在: 創(chuàng)始人 (喬布斯, 蘋果公司) 則可構(gòu)建訓(xùn)練正例:喬布斯是蘋果公司的聯(lián)合創(chuàng)始人和CEO具體的步驟:
- 從知識(shí)庫中抽取存在關(guān)系的實(shí)體對(duì);
- 從非結(jié)構(gòu)化文本中抽取含有實(shí)體對(duì)的句子作為訓(xùn)練樣例。
小結(jié):
- 優(yōu)點(diǎn):可以利用豐富的知識(shí)庫信息,減少一定的人工標(biāo)注,
- 缺點(diǎn):假設(shè)過于肯定,引入大量的噪聲,存在語義漂移現(xiàn)象;很難發(fā)現(xiàn)新的關(guān)系。
b、Bootstrapping
Bootstrapping:
- 通過在文本中匹配實(shí)體對(duì)和表達(dá)關(guān)系短語模式,尋找和發(fā)現(xiàn)新的潛在關(guān)系三元組。
- 具體來講,主要是利用少量實(shí)例作為初始種子(seed tuples)的集合,然后利用 pattern 學(xué)習(xí)方法進(jìn)行學(xué)習(xí),通過不斷迭代從非結(jié)構(gòu)化數(shù)據(jù)中抽取實(shí)例,然后從新學(xué)到的實(shí)例中學(xué)習(xí)新的 pattern 并擴(kuò)充 pattern 集合,尋找和發(fā)現(xiàn)新的潛在關(guān)系三元組。
整體步驟:
- 假設(shè)給定了一個(gè)種子集合,種子詞一般都是實(shí)體對(duì),如:<姚明,葉莉>
- 從文檔中抽取出包含種子實(shí)體詞的新聞,eg:
姚明 老婆 葉莉 簡(jiǎn)歷身高曝光 ==》X 老婆 Y 簡(jiǎn)歷身高曝光
姚明 與妻子 葉莉 外出赴約 ==》X 與妻子 Y 外出赴約
- 將抽取出的Pattern去文檔集中匹配
小豬 與妻子 伊萬 外出赴約
- 根據(jù)Pattern抽取出的新文檔如種子庫,迭代多輪直到不符合條件
小結(jié)
- 優(yōu)點(diǎn):構(gòu)建成本低,適合大規(guī)模的構(gòu)建;同時(shí)還可以發(fā)現(xiàn)新的(隱含的)關(guān)系。
- 缺點(diǎn):對(duì)初始給定的種子集敏感;存在語義漂移現(xiàn)象;結(jié)果的準(zhǔn)確率較低等。
4、事件抽取
(1)概述
事件:指發(fā)生的事情,通常具有時(shí)間、地點(diǎn)、參與者等屬性,事件的發(fā)生可能因?yàn)橐粋€(gè)動(dòng)作的產(chǎn)生或者系統(tǒng)狀態(tài)的改變。
事件抽取:從自然語言中抽取出用戶感興趣的事件信息,并以結(jié)構(gòu)化的形式呈現(xiàn)出來,例如事件發(fā)生的時(shí)間、地點(diǎn)、發(fā)生原因、參與著等。
事件抽取的相關(guān)術(shù)語:
- 事件描述 (Event Mention):描述事件的詞組或句子;
- 事件觸發(fā) (Event Trigger):表明事件出現(xiàn)的主要詞匯;
- 事件元素 (Event Argument):事件的重要信息;
- 元素角色 (Argument Role):元素在句子中的語義角色。
示例:
事件嵌套:事件是可以嵌套的,可以做事件的檢測(cè)與跟蹤。
(2)事件抽取任務(wù)
事件抽取任務(wù)最基礎(chǔ)的部分包括:
- 識(shí)別事件觸發(fā)詞及事件類型
- 抽取事件元素同時(shí)判斷其角色
- 抽出描述事件的詞組或句子
此外,事件抽取任務(wù)還包括:
- 事件屬性標(biāo)注
- 事件共指消解
(3)事件抽取的Pipeline方法
有監(jiān)督的事件抽取方法的標(biāo)準(zhǔn)流程一種pipeline的方法,將事件抽取任務(wù)轉(zhuǎn)化為多階段的分類問題,
需要的分類器包括:
- 事件觸發(fā)次分類器(Trigger Classifier)
- 用于判斷詞匯是否是是事件觸發(fā)詞,以及事件的類別
- 元素分類器(Argument Classifier)
- 判別詞組是否是事件的元素
- 元素角色分類器(Role Classifier)
- 判定元素的角色類別
- 屬性分類器(attribute classifier)
- 判定事件的屬性
- 可報(bào)告性分類器(Reportable-Event Classifier)
- 判定是否存在值得報(bào)告的事件實(shí)例
分類器模型可以是機(jī)器學(xué)習(xí)方法中的各種分類器模型,比如MaxEnt、SVM等。
典型的分類特征:
存在問題:
- 誤差累積:誤差從前面的環(huán)節(jié)傳播到后面的環(huán)節(jié),使得性能急劇衰減
- 環(huán)節(jié)獨(dú)立:各個(gè)環(huán)節(jié)的預(yù)測(cè)任務(wù)是獨(dú)立的,之間沒有互動(dòng)
- 無法處理全局的依賴關(guān)系
(4)事件抽取的聯(lián)合方法
a、Joint Inference(聯(lián)合推理方法):
是一種集成學(xué)習(xí)的方法,構(gòu)建 nnn 個(gè)模型,最后對(duì) nnn 個(gè)模型的結(jié)果進(jìn)行求和等方法來預(yù)測(cè)。
可以基于以下方法:
- Constrained Conditional Models
- ILP Re-ranking (整形規(guī)劃重排序)
- Dual decomposition
b、Joint Modeling
實(shí)際上是一種多任務(wù)學(xué)習(xí),在不同任務(wù)中共享一些隱層特征,如word特征、embedding特征、句法特征等。
可以基于如下方法:
- Probabilistic Graphical Models
- Markov logic networks
(4)基于深度學(xué)習(xí)的事件抽取方法
優(yōu)勢(shì):
- 減少了對(duì)外部NLP工具的依賴,甚至不依賴NLP工具,建模成端到端的系統(tǒng)。
- 使用詞向量作為輸入,詞向量蘊(yùn)含豐富的語言特征。
- 自動(dòng)提取句子特征,避免人工設(shè)計(jì)特征的繁瑣工作。
基于動(dòng)態(tài)多池化卷積神經(jīng)網(wǎng)絡(luò)的事件抽取方法:
動(dòng)態(tài)多池化層:
- 傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)利用最大池化層
- 事件抽取中,一個(gè)句子可能包含多個(gè)事件
三、面向結(jié)構(gòu)化數(shù)據(jù)的知識(shí)抽取
結(jié)構(gòu)化數(shù)據(jù) ==》RDF或其他形式的知識(shí)庫內(nèi)容
- 一種常用的W3C推薦的映射語言是 R2RML(RDB2RDF) 。一種映射結(jié)果如下圖所示:
1、Direct Mapping
通過明確在關(guān)系模式中編碼的語義,將關(guān)系數(shù)據(jù)轉(zhuǎn)換為RDF。如下按照一些簡(jiǎn)單的規(guī)則創(chuàng)建 URIs: Map
- 數(shù)據(jù)庫的表作為本體中的類(Class)。比如我們?cè)趍ysql中保存的數(shù)據(jù),一共有5張表。那么通過映射后,我們的本體就有5個(gè)類了,而不是我們自己定義的三個(gè)類。
- 表的列作為屬性(Property)。
- 表的行作為實(shí)例/資源。
- 表的單元格值為字面量
- 如果單元格所在的列是外鍵,那么其值為IRI,或者說實(shí)體/資源。
示例:
2、R2RML
R2RML(RDB to RDF Mapping Language):映射的任務(wù)是將邏輯表作為輸入,然后依據(jù) triples map規(guī)則 將其轉(zhuǎn)換成三元組的集合。
- 邏輯表:一個(gè)數(shù)據(jù)庫表、一個(gè)數(shù)據(jù)庫視圖 或者 一個(gè)SQL查詢
- Triples Maps:通過主語、謂語、賓語映射產(chǎn)生Triples。
示例:
- The subject IRI is generated from the empno column by the template(http://data.example.com/employee/{empno})
- The predicate IRI is the constant ex:name
- The object is the literal "SMITH”, that is copied from the ENAME column
RDF Triples:
<http://data.example.com/employee/7369> rdf:type ex:Employee. <http://data.example.com/employee/7369> ex:name "SMITH". <http://data.example.com/employee/7369> ex:department <http://data.example.com/department/10>.<http://data.example.com/department/10> rdf:type ex:Department. <http://data.example.com/department/10> ex:name "APPSERVER". <http://data.example.com/department/10> ex:location "NEW YORK". <http://data.example.com/department/10> ex:staff 1.-
數(shù)據(jù)庫表映射:在Employee類上,將 ENAME 映射到 ex:name 上。
@prefix rr: <http://www.w3.org/ns/r2rml#>. @prefix ex: <http://example.com/ns#>. <#TriplesMap1>rr:logicalTable [ rr:tableName "EMP" ];rr:subjectMap [rr:template "http://data.example.com/employee/{EMPNO}";rr:class ex:Employee;];rr:predicateObjectMap [rr:predicate ex:name;rr:objectMap [ rr:column "ENAME" ];].#### 結(jié)果 # <http://data.example.com/employee/7369> rdf:type ex:Employee. # <http://data.example.com/employee/7369> ex:name "SMITH". -
視圖映射:
## 創(chuàng)建視圖 <#DeptTableView> rr:sqlQuery """ SELECT DEPTNO, DNAME,LOC, (SELECT COUNT(*) FROM EMP WHERE EMP.DEPTNO=DEPT.DEPTNO) AS STAFF FROM DEPT; """.## 視圖映射 <#TriplesMap2>rr:logicalTable <#DeptTableView>;rr:subjectMap [rr:template "http://data.example.com/department/{DEPTNO}";rr:class ex:Department;];rr:predicateObjectMap [rr:predicate ex:name;rr:objectMap [ rr:column "DNAME" ];].rr:predicateObjectMap [rr:predicate ex:location;rr:objectMap [ rr:column "LOC" ];].rr:predicateObjectMap [rr:predicate ex:staff;rr:objectMap [ rr:column "STAFF" ];].### 結(jié)果 # <http://data.example.com/department/10> rdf:type ex:Department. # <http://data.example.com/department/10> ex:name "APPSERVER". # <http://data.example.com/department/10> ex:location "NEW YORK". # <http://data.example.com/department/10> ex:staff 1. -
連接兩個(gè)邏輯表
<#TriplesMap1>rr:predicateObjectMap [rr:objectMap [rr:parentTriplesMap<#TriplesMap2>;rr:joinCondition [rr:child "DEPTNO";rr:parent "DEPTNO";];]; ].#### 結(jié)果 # <http://data.example.com/employee/7369> ex:department <http://data.example.com/department/10>.
四、面向半結(jié)構(gòu)化數(shù)據(jù)的知識(shí)抽取
1、百科類知識(shí)抽取
從百科里抽取知識(shí)的流程介紹:
示例:以從維基百科抽取圖靈獎(jiǎng)獲得者Tim Berners-Lee來介紹。對(duì)網(wǎng)頁進(jìn)行分析,抽取感興趣部分。
- 抽取出 Label,將短摘要(第一段)作為 comment,長(zhǎng)摘要作為 abstract;
- 通過Wikimedia Commons抽取出圖像信息作為depiction;
- 將infobox的數(shù)據(jù)轉(zhuǎn)換成一些property;
- 此外,還包括抽取內(nèi)鏈、類別、歧義以及重定向等數(shù)據(jù)。
2、WEB網(wǎng)頁數(shù)據(jù)抽取:包裝器生成
互聯(lián)網(wǎng)中的數(shù)據(jù)往往也具有一定的結(jié)構(gòu),我們可以通過包裝器等方法進(jìn)行知識(shí)的抽取。
(1)包裝器簡(jiǎn)介及描述方式
包裝器:一個(gè)能夠?qū)?shù)據(jù)從HTML網(wǎng)頁中抽取出來,并且將它們還原為結(jié)構(gòu)化的數(shù)據(jù)的軟件程序。包裝器抽取流程如下:
包裝器的生成方法:手工方法、包裝器歸納方法和自動(dòng)抽取的方法。
包裝器生成:手工方法
- 需要查看網(wǎng)頁結(jié)構(gòu)和代碼,通過人工分析,手工寫出適合這個(gè)網(wǎng)站的表達(dá)式,這個(gè)表達(dá)式的形式可以是XPath表達(dá)式,也可以是CSS選擇器的表達(dá)式等。
(2)包裝器生成:包裝器歸納
包裝器歸納:是基于有監(jiān)督學(xué)習(xí)的,它從標(biāo)注好的訓(xùn)練樣例集合中學(xué)習(xí)數(shù)據(jù)抽取規(guī)則,用于從其他用相同標(biāo)記或相同網(wǎng)頁模板抽取目標(biāo)數(shù)據(jù)。
主要步驟:
- 網(wǎng)頁清洗
- 清洗網(wǎng)頁結(jié)構(gòu)不規(guī)范網(wǎng)頁,eg:前后標(biāo)簽不對(duì)成,沒有結(jié)束標(biāo)簽符。不規(guī)范的網(wǎng)頁結(jié)構(gòu)容易在抽取的過程中產(chǎn)生噪聲。
- 清洗可以用 Tidy 來完成。
- 網(wǎng)頁標(biāo)注
- 標(biāo)注所需要抽取數(shù)據(jù)的過程。 標(biāo)注的過程可以是給網(wǎng)頁中的某個(gè)位置打上特殊的標(biāo)簽表明這是需要抽取的數(shù)據(jù)。
- 包裝器空間的生成
- 對(duì)標(biāo)注的數(shù)據(jù)生成XPath集合空間并進(jìn)行歸納,形成若干個(gè)子集。
- 歸納的規(guī)則是在子集中的XPath能夠覆蓋多個(gè)標(biāo)注的數(shù)據(jù)項(xiàng),具有一定的泛化能力。
- 包裝器評(píng)估
- 評(píng)估規(guī)則一:準(zhǔn)確率。 將篩選出來的包裝器對(duì)原先訓(xùn)練的網(wǎng)頁進(jìn)行標(biāo)注,統(tǒng)計(jì)與人工標(biāo)注的相同項(xiàng)的數(shù)量,除以當(dāng)前標(biāo)注的總數(shù)量。準(zhǔn)確率越高評(píng)分越高。
- 評(píng)估規(guī)則二:召回率。將篩選出來的包裝器對(duì)原先訓(xùn)練的網(wǎng)頁進(jìn)行標(biāo)注,統(tǒng)計(jì)與人工標(biāo)注的相同項(xiàng)的數(shù)量,除以人工標(biāo)注的總數(shù)量。召回率越高評(píng)分越高。
- 包裝器歸納結(jié)果
- 經(jīng)過前面一系列的工作之后,得到所需要抽取信息的XPath的路徑。
示例:
(3)包裝器生成:自動(dòng)抽取
網(wǎng)站中的數(shù)據(jù)通常是用很少的一些模板來編碼的,通過挖掘多個(gè)數(shù)據(jù)記錄中的重復(fù)模式來尋找這些模板是可能的。
- 包裝器訓(xùn)練:網(wǎng)頁聚類
自動(dòng)抽取網(wǎng)頁中的信息不需要任何的先驗(yàn)知識(shí)和人工數(shù)據(jù)的標(biāo)注。將一組網(wǎng)頁通過聚類將相似的網(wǎng)頁分成若干個(gè)組,每組相似的網(wǎng)頁將獲得不同的包裝器。 - 包裝器應(yīng)用
將需要抽取的網(wǎng)頁與之前生成包裝器的網(wǎng)頁進(jìn)行比較,在某個(gè)分類下則使用該分類下的包裝器來獲取網(wǎng)頁中的信息。
示例:
(4)小結(jié)
三種實(shí)現(xiàn)方法對(duì)比
挑戰(zhàn)
- 動(dòng)態(tài)生成的網(wǎng)頁中很多信息無法直接通過網(wǎng)頁獲取;
- 對(duì)包裝器的實(shí)時(shí)性要求越來越高,維護(hù)成本依舊很大。
3、WEB TABLE 抽取
為了解釋W(xué)eb table中隱含的語義,一些工作將其中的內(nèi)容標(biāo)注為RDF三元組。這種標(biāo)注的第一步就是實(shí)體鏈接 (entity linking ),即將表格中各單元格的字符串映射到給定知識(shí)庫的實(shí)體上。
表格實(shí)體鏈接步驟:
- 候選生成
針對(duì)表格單元格中的每個(gè)字符串,從給定的知識(shí)庫中識(shí)別候選實(shí)體。(token匹配 ,字符串匹配,同義詞匹配……)
示例:
- 實(shí)體消岐
從給定字符串所對(duì)應(yīng)的實(shí)體集中選擇唯一的一個(gè)實(shí)體作為鏈接實(shí)體。
示例: 位于相同行或者列的字符串可能相關(guān),換句話說,出現(xiàn)在同一表格中的任意兩個(gè)字符串都存在某種潛在的關(guān)聯(lián)。
ps:紅色方框?yàn)椤斑~克爾·喬丹”的相關(guān)字符串
構(gòu)建實(shí)體消岐圖:
對(duì)每張給定的表格建立一個(gè)實(shí)體消岐圖每個(gè)圖由如下的元素構(gòu)成:
- 字符串節(jié)點(diǎn), 實(shí)體節(jié)點(diǎn)
- 字符串-實(shí)體 邊: 字符串與候選實(shí)體間的無向邊,
- 實(shí)體-實(shí)體 邊: 實(shí)體間的無向邊。
示例:
計(jì)算實(shí)體鏈接影響因子(兩類)
- 每個(gè)字符串的初始重要性(importance of each mention);
- 不同節(jié)點(diǎn)間的語義相關(guān)度(semantic relatedness between different nodes)。
實(shí)體消岐算法—PageRank:
- PageRank算法 (Iterative probability propagation) 用來整合不同的實(shí)體鏈接影響因子從而做出最終的實(shí)體鏈接決定.
生成三元組:
總結(jié)
以上是生活随笔為你收集整理的【知识图谱】知识抽取与挖掘(I)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【知识图谱】知识表示与知识建模
- 下一篇: 【知识图谱】知识抽取与挖掘(Ⅱ)