官术网_书友最值得收藏!

2.2 知識(shí)抽取的方法

由于信息的結(jié)構(gòu)和數(shù)據(jù)源比較復(fù)雜,且涉及的對(duì)象、屬性和性質(zhì)以及表達(dá)形式也各有不同,因此造成了知識(shí)載體類(lèi)型的千差萬(wàn)別。針對(duì)不同的知識(shí)載體類(lèi)型,我們要采用不同的抽取模式與技術(shù)方法。具體的知識(shí)抽取架構(gòu)圖如圖2-4所示,該架構(gòu)包含了對(duì)結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)以及非結(jié)構(gòu)化數(shù)據(jù)的抽取。

圖2-4 知識(shí)抽取架構(gòu)圖

結(jié)構(gòu)化數(shù)據(jù)的知識(shí)抽取包括從數(shù)據(jù)庫(kù)中抽取和從鏈接數(shù)據(jù)中抽取。其中,從數(shù)據(jù)庫(kù)中抽取知識(shí)使用D2R轉(zhuǎn)換工具將關(guān)系型數(shù)據(jù)庫(kù)映射到RDF[2](Resource Description Framework,資源描述框架),其難點(diǎn)在于復(fù)雜表數(shù)據(jù)的處理,包括嵌套表、多列、外鍵關(guān)聯(lián)等;而從鏈接數(shù)據(jù)中抽取知識(shí)主要使用圖映射方法進(jìn)行數(shù)據(jù)對(duì)齊。

對(duì)于半結(jié)構(gòu)化數(shù)據(jù)的知識(shí)抽取,我們通常使用包裝器的方法(后面將有詳細(xì)的介紹)。獲取知識(shí)的過(guò)程也就是我們廣義上說(shuō)的信息抽取。

下面對(duì)3種不同類(lèi)型數(shù)據(jù)的知識(shí)抽取方法進(jìn)行詳細(xì)講解。

2.2.1 面向結(jié)構(gòu)化數(shù)據(jù)

結(jié)構(gòu)化數(shù)據(jù)是指類(lèi)似于關(guān)系型數(shù)據(jù)庫(kù)中表格形式的數(shù)據(jù),數(shù)據(jù)之間往往存在著明確的關(guān)系名稱(chēng)和對(duì)應(yīng)關(guān)系。對(duì)于一般的表格,我們可以使用如Python、Java等工具編寫(xiě)簡(jiǎn)單代碼對(duì)表格數(shù)據(jù)進(jìn)行知識(shí)抽取,處理成知識(shí)圖譜具體場(chǎng)景所需要的格式;而對(duì)于復(fù)雜一點(diǎn)的表格,我們需要使用轉(zhuǎn)換工具將關(guān)系型數(shù)據(jù)庫(kù)映射到RDF。RDF本質(zhì)是一個(gè)數(shù)據(jù)模型,提供了描述實(shí)體或資源的統(tǒng)一的標(biāo)準(zhǔn)。簡(jiǎn)單來(lái)說(shuō),RDF就是表示事物的一種方法和手段。RDF形式上表示為SPO三元組,有時(shí)候也稱(chēng)為一條語(yǔ)句,在知識(shí)圖譜中也稱(chēng)其為一條知識(shí)。

我們以關(guān)系型數(shù)據(jù)庫(kù)為例,表2-1總結(jié)了面向結(jié)構(gòu)化數(shù)據(jù)抽取知識(shí)的方法,根據(jù)這些規(guī)則可將關(guān)系型數(shù)據(jù)庫(kù)轉(zhuǎn)化為一個(gè)知識(shí)庫(kù)。

表2-1 結(jié)構(gòu)化數(shù)據(jù)抽取知識(shí)方法總結(jié)

接下來(lái),我們來(lái)講解面向關(guān)系型數(shù)據(jù)庫(kù)知識(shí)抽取的直接映射、R2RML映射方法。

1.直接映射

直接映射通過(guò)明確在關(guān)系模式中編碼的語(yǔ)義,將關(guān)系數(shù)據(jù)轉(zhuǎn)換為RDF。如下按照一些簡(jiǎn)單的規(guī)則創(chuàng)建URI(Uniform Resource Identifier,統(tǒng)一資源標(biāo)識(shí)符)進(jìn)行映射。

?數(shù)據(jù)庫(kù)的表作為本體中的RDF類(lèi)。

?表的列作為RDF屬性。

?表的行作為實(shí)例/資源。

?表的單元格值為字面量。

?如果單元格所在的列是外鍵,那么其值為IRI(Internationalized Resource Identifier,國(guó)際化資源標(biāo)識(shí)符),或者說(shuō)實(shí)體/資源。

由于URI規(guī)定只能使用英文字符,而Unicode字符集包括了當(dāng)今世界上所有書(shū)寫(xiě)文字的字符,所以資源標(biāo)識(shí)符可以使用Unicode字符。

2.R2RML映射

R2RML(RDB to RDF Mapping Language)映射是將邏輯表作為輸入,然后依據(jù)三元組映射(Triple Map)規(guī)則將其轉(zhuǎn)換成三元組的集合。

?邏輯表:一個(gè)數(shù)據(jù)庫(kù)表、一個(gè)數(shù)據(jù)庫(kù)視圖或SQL查詢(xún)語(yǔ)句。

?三元組映射:通過(guò)主語(yǔ)、謂語(yǔ)、賓語(yǔ)映射產(chǎn)生三元組。

以直接映射方法得到的RDF在結(jié)構(gòu)上直接映射了關(guān)系型數(shù)據(jù)庫(kù)的結(jié)構(gòu),RDF詞語(yǔ)也直接映射了關(guān)系型數(shù)據(jù)庫(kù)架構(gòu)的元素,但這樣的映射并不能改變RDF的結(jié)構(gòu)或詞語(yǔ)。而使用R2RML的話,映射文件的作者可以自由地定義關(guān)系型數(shù)據(jù)的視圖,然后由視圖來(lái)映射RDF。所以每一個(gè)R2RML映射都是基于實(shí)際項(xiàng)目需要而描述的,它連接了作為輸入端的關(guān)系型數(shù)據(jù)庫(kù)架構(gòu)域以及作為輸出端的RDF詞語(yǔ)。

一般來(lái)說(shuō),R2RML的映射包括數(shù)據(jù)庫(kù)中的表、視圖(一個(gè)或多個(gè))或SQL查詢(xún)語(yǔ)句、一個(gè)或多個(gè)映射規(guī)則文件。R2RML還包括一個(gè)負(fù)責(zé)連接數(shù)據(jù)庫(kù)以及執(zhí)行映射與結(jié)果輸出的處理器。R2RML也可以通過(guò)映射來(lái)完成對(duì)實(shí)體屬性、外鍵、特殊數(shù)據(jù)類(lèi)型等元素的處理。

相比其他數(shù)據(jù),結(jié)構(gòu)化數(shù)據(jù)的知識(shí)抽取方法和應(yīng)用場(chǎng)景相對(duì)簡(jiǎn)單。下面就來(lái)了解半結(jié)構(gòu)化數(shù)據(jù)以及非結(jié)構(gòu)化數(shù)據(jù)的知識(shí)抽取內(nèi)容。

2.2.2 面向半結(jié)構(gòu)化數(shù)據(jù)

半結(jié)構(gòu)化數(shù)據(jù)是指類(lèi)似百科、商品列表、網(wǎng)頁(yè)等本身存在一定結(jié)構(gòu),但需要進(jìn)一步提取整理的數(shù)據(jù)。本節(jié)以半結(jié)構(gòu)化文本數(shù)據(jù)為例講解。

與其他類(lèi)型數(shù)據(jù)相比,半結(jié)構(gòu)化文本數(shù)據(jù)的知識(shí)抽取受到結(jié)構(gòu)與語(yǔ)義的雙重約束。首先,半結(jié)構(gòu)化文本數(shù)據(jù)的現(xiàn)有結(jié)構(gòu)不足以支撐抽取工具直接解析相關(guān)內(nèi)容,它受文本載體形式的制約較大;其次是語(yǔ)義相關(guān)性與復(fù)雜性,大量語(yǔ)義信息存在相關(guān)性并隱含在文本中,內(nèi)容表征復(fù)雜。

半結(jié)構(gòu)化數(shù)據(jù)的知識(shí)抽取主要通過(guò)包裝器進(jìn)行,包裝器學(xué)習(xí)半結(jié)構(gòu)化數(shù)據(jù)的抽取規(guī)則,以將數(shù)據(jù)從HTML網(wǎng)頁(yè)中抽取出來(lái),進(jìn)而將它們轉(zhuǎn)換為結(jié)構(gòu)化的數(shù)據(jù)。

注意:在實(shí)踐中,我們對(duì)網(wǎng)頁(yè)信息(半結(jié)構(gòu)化文本數(shù)據(jù))的抽取處理可以采用XPath(XML Path Language, XML路徑語(yǔ)言)定位DOM(Document Object Model,文檔對(duì)象模型)中的節(jié)點(diǎn),并基于節(jié)點(diǎn)生成XPath集合空間,進(jìn)一步歸納成可泛化的規(guī)則。XPath是一種基于XML的樹(shù)狀結(jié)構(gòu),它提供了在數(shù)據(jù)結(jié)構(gòu)樹(shù)中找尋節(jié)點(diǎn)的能力,即確定XML文檔中某部分內(nèi)容位置的能力。

我們使用包裝器進(jìn)行知識(shí)抽取的步驟主要包括網(wǎng)頁(yè)清洗、網(wǎng)頁(yè)標(biāo)注、包裝器空間生成、包裝器評(píng)估,具體如下。

1)網(wǎng)頁(yè)清洗:網(wǎng)頁(yè)清洗主要解決網(wǎng)頁(yè)代碼不規(guī)范的問(wèn)題,比如網(wǎng)頁(yè)中的標(biāo)簽沒(méi)有閉合,個(gè)別標(biāo)簽使用不規(guī)范等,網(wǎng)頁(yè)結(jié)構(gòu)代碼不嚴(yán)謹(jǐn)就會(huì)造成在抽取過(guò)程中的噪聲,而使用一些工具對(duì)網(wǎng)頁(yè)進(jìn)行規(guī)范化處理,可以在后期的抽取過(guò)程中減少噪聲的影響。

2)網(wǎng)頁(yè)標(biāo)注:網(wǎng)頁(yè)標(biāo)注就是在網(wǎng)頁(yè)上標(biāo)注所需要抽取的數(shù)據(jù),具體方式可以是在需要抽取的數(shù)據(jù)位置上打上特殊的標(biāo)簽,表示這個(gè)數(shù)據(jù)是需要抽取的。

3)包裝器空間生成:為標(biāo)注的數(shù)據(jù)生成XPath集合空間,并對(duì)生成的集合進(jìn)行歸納,形成若干個(gè)子集。歸納的規(guī)則要能匹配子集中XPath的多個(gè)標(biāo)注數(shù)據(jù)項(xiàng),具有一定的泛化能力。

4)包裝器評(píng)估:對(duì)包裝器進(jìn)行評(píng)估需要采用一定的標(biāo)準(zhǔn),主要有準(zhǔn)確率和召回率。準(zhǔn)確率是指用篩選出來(lái)的包裝器對(duì)原先訓(xùn)練的網(wǎng)頁(yè)進(jìn)行標(biāo)注,統(tǒng)計(jì)與人工標(biāo)注項(xiàng)相同的數(shù)量,除以當(dāng)前標(biāo)注項(xiàng)的總數(shù)量;召回率則是用篩選出來(lái)的包裝器對(duì)原先訓(xùn)練的網(wǎng)頁(yè)進(jìn)行標(biāo)注,統(tǒng)計(jì)與人工標(biāo)注項(xiàng)相同的數(shù)量,除以人工標(biāo)注項(xiàng)的總數(shù)量。準(zhǔn)確率越高、召回率越高,則評(píng)分越高。

得到包裝器的抽取規(guī)則后就可以從網(wǎng)頁(yè)中抽取數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)換成結(jié)構(gòu)化數(shù)據(jù)。

接下來(lái),我們?cè)O(shè)計(jì)一個(gè)簡(jiǎn)單的例子輔助理解。

假設(shè)我們?cè)诰W(wǎng)頁(yè)上同時(shí)標(biāo)注了n1、n2兩個(gè)標(biāo)簽信息,它們的XPath分別如下。

?n1的XPath:/html[1]/body[1]/table[1]/tbody[1]/tr[2]/td[1]。

?n2的XPath:/html[1]/body[1]/table[1]/tbody[1]/tr[3]/td[1]。

我們根據(jù)n1、n2生成XPath集合空間,并對(duì)生成的集合進(jìn)行歸納,將tr[2]、tr[3]歸納成tr[r‘[0-9]*’],然后泛化后得到XPath的兩個(gè)可能結(jié)果:

A:/html[1]/body[1]/table[1]/tbody[1]/tr[r‘[0-9]*’]/td[1];

B://*/td。

完成包裝器空間生成之后,我們按準(zhǔn)確率和召回率進(jìn)行包裝器的評(píng)估。

1)準(zhǔn)確率:若包裝器A的準(zhǔn)確率高于包裝器B的準(zhǔn)確率,則A優(yōu)于B。

2)召回率:若包裝器A的召回率和包裝器B的召回率一樣,則A等于B。

綜合比較后,選擇包裝器A。

值得一提的是,有監(jiān)督的包裝器維護(hù)開(kāi)銷(xiāo)會(huì)很大,比如網(wǎng)站改變了模板,之前生成的包裝器就需要進(jìn)行相應(yīng)的修改才能使用。因此,我們針對(duì)半結(jié)構(gòu)化數(shù)據(jù)具有大量重復(fù)性結(jié)構(gòu)的特點(diǎn),可以對(duì)數(shù)據(jù)進(jìn)行少量的標(biāo)注,讓機(jī)器學(xué)習(xí)出一定的規(guī)則,進(jìn)而在整個(gè)站點(diǎn)下使用這些規(guī)則對(duì)同類(lèi)型或者符合某種關(guān)系的數(shù)據(jù)進(jìn)行抽取,從而節(jié)省資源。除了使用有監(jiān)督的包裝器抽取規(guī)則之外,我們還可以通過(guò)挖掘網(wǎng)站中的模板來(lái)實(shí)現(xiàn)自動(dòng)抽取。通常,網(wǎng)站中的數(shù)據(jù)會(huì)使用很少的模板來(lái)編碼,我們可以通過(guò)挖掘多個(gè)數(shù)據(jù)記錄中的重復(fù)模式來(lái)找出這些模板,進(jìn)而通過(guò)這些模板實(shí)現(xiàn)網(wǎng)站數(shù)據(jù)的自動(dòng)抽取。

對(duì)待抽取信息的網(wǎng)頁(yè),我們需要進(jìn)行數(shù)據(jù)預(yù)處理(數(shù)據(jù)清洗)。預(yù)處理后的自動(dòng)抽取環(huán)節(jié)可分為包裝器訓(xùn)練和包裝器應(yīng)用兩個(gè)步驟。

1)包裝器訓(xùn)練:預(yù)處理后的網(wǎng)頁(yè)需要進(jìn)行聚類(lèi)處理,通過(guò)聚類(lèi)算法將特征相近的網(wǎng)頁(yè)歸為一組,訓(xùn)練生成相應(yīng)的包裝器,使得每組相似的網(wǎng)頁(yè)獲得一個(gè)包裝器。

2)包裝器應(yīng)用:將待抽取網(wǎng)頁(yè)與生成包裝器的網(wǎng)頁(yè)進(jìn)行比較,根據(jù)分類(lèi)使用該類(lèi)別下的包裝器對(duì)相應(yīng)的網(wǎng)頁(yè)進(jìn)行信息抽取,以獲取網(wǎng)頁(yè)中的目標(biāo)數(shù)據(jù),并將得到的數(shù)據(jù)保存在數(shù)據(jù)庫(kù)中。

下面介紹知識(shí)抽取研究中最多的非結(jié)構(gòu)化數(shù)據(jù)的抽取。

2.2.3 面向非結(jié)構(gòu)化數(shù)據(jù)

非結(jié)構(gòu)化數(shù)據(jù)是指社交網(wǎng)絡(luò)、網(wǎng)頁(yè)、新聞、論文,甚至一些多模態(tài)數(shù)據(jù)。本節(jié)以文本數(shù)據(jù)抽取為例,從實(shí)體抽取、實(shí)體鏈接、關(guān)系抽取以及事件抽取幾個(gè)方面來(lái)講解面向非結(jié)構(gòu)化數(shù)據(jù)的知識(shí)抽取。其中,知識(shí)抽取的任務(wù)中提到的屬性抽取與關(guān)系抽取概念相近,使用的方法也十分類(lèi)似,不再贅述。

1.實(shí)體抽取

實(shí)體抽取是抽取文本中的信息元素得到實(shí)體指稱(chēng),具體的標(biāo)簽定義可根據(jù)抽取任務(wù)的不同而進(jìn)行調(diào)整。一般來(lái)說(shuō),文本中的信息元素包含了時(shí)間、地點(diǎn)、組織或機(jī)構(gòu)名稱(chēng)、人名、字符值等標(biāo)簽。如圖2-5所示,我們給出了一個(gè)可供實(shí)體抽取的例句。通過(guò)抽取文中的實(shí)體,我們可以得到時(shí)間(2020年5月16日)、地點(diǎn)(德國(guó))、組織(多特、沙爾克)等實(shí)體指稱(chēng)。

圖2-5 實(shí)體抽取例句

單純的實(shí)體抽取可作為一個(gè)序列標(biāo)注問(wèn)題,因此可以使用機(jī)器學(xué)習(xí)中的HMM(Hidden Markov Model,隱馬爾可夫模型)、CRF(Conditional Random Field,條件隨機(jī)場(chǎng))、LSTM(Long Short-Term Memory,長(zhǎng)短期記憶)等諸多算法解決。其中,HMM用來(lái)描述一個(gè)含有隱含未知參數(shù)的馬爾可夫過(guò)程,是一種進(jìn)行有效信息處理的數(shù)學(xué)手段;CRF是一種判別式概率模型,常用于標(biāo)注或分析序列資料,如自然語(yǔ)言文字或生物序列;LSTM是為解決RNN的長(zhǎng)期依賴(lài)問(wèn)題而專(zhuān)門(mén)設(shè)計(jì)出來(lái)的一種時(shí)間循環(huán)神經(jīng)網(wǎng)絡(luò)。由于LSTM可以運(yùn)用過(guò)去的特征,而CRF可以利用句子的標(biāo)注信息,因此一般會(huì)將LSTM與CRF結(jié)合起來(lái)使用。

利用機(jī)器學(xué)習(xí)方法進(jìn)行實(shí)體抽取的基本流程如下。

?輸入可供訓(xùn)練、具有代表性的文本數(shù)據(jù)。

?找出文本中的指稱(chēng)詞語(yǔ)(即Token),標(biāo)記命名實(shí)體標(biāo)簽。

?分析文本和類(lèi)別,并設(shè)計(jì)合適的特征提取方法。

?訓(xùn)練一個(gè)句子分類(lèi)器來(lái)預(yù)測(cè)數(shù)據(jù)的標(biāo)簽。

?對(duì)測(cè)試集文本使用分類(lèi)器,自動(dòng)為指稱(chēng)詞語(yǔ)做標(biāo)記。

?輸出標(biāo)記結(jié)果,即測(cè)試集文本的命名實(shí)體。

接下來(lái),我們以CRF算法抽取文本“中華人民共和國(guó)教育部是中華人民共和國(guó)國(guó)務(wù)院主管教育事業(yè)和語(yǔ)言文字工作的國(guó)務(wù)院組成部門(mén)。位于北京市西城區(qū)西單大木倉(cāng)胡同37號(hào)。”中的實(shí)體為例,介紹實(shí)體抽取的基本思路,具體流程如圖2-6所示。

圖2-6 CRF實(shí)體抽取流程圖

基于CRF的實(shí)體抽取基本思路如下。

1)將待抽取的文本數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理及分詞處理,隨后進(jìn)行轉(zhuǎn)換標(biāo)記處理,將文本數(shù)據(jù)中分詞語(yǔ)料的標(biāo)記符號(hào)轉(zhuǎn)換成用于實(shí)體識(shí)別的標(biāo)記。

2)根據(jù)上下文,對(duì)不同的命名實(shí)體識(shí)別采用不同的特征模板,對(duì)簡(jiǎn)單的時(shí)間、地點(diǎn)以及組織名進(jìn)行命名實(shí)體識(shí)別(如國(guó)務(wù)院、教育部等)。

3)識(shí)別文本中存在的復(fù)合地名、復(fù)合組織機(jī)構(gòu)名(如北京市西城區(qū)西單大木倉(cāng)胡同37號(hào)、中華人民共和國(guó)教育部等)。

4)我們可以利用現(xiàn)有的CRF程序包得到模型訓(xùn)練參數(shù),再使用訓(xùn)練好的模型對(duì)測(cè)試集進(jìn)行實(shí)驗(yàn)得到模型的F1值[3]

2.實(shí)體鏈接

實(shí)體鏈接是根據(jù)給定的實(shí)體知識(shí)庫(kù)與標(biāo)注好的指稱(chēng)項(xiàng)語(yǔ)料,將指稱(chēng)項(xiàng)與知識(shí)庫(kù)進(jìn)行匹配,從知識(shí)庫(kù)中選出一組候選實(shí)體對(duì)象,然后通過(guò)相似度計(jì)算將指稱(chēng)項(xiàng)鏈接到正確的實(shí)體對(duì)象。實(shí)體鏈接主要解決實(shí)體名的歧義性和多樣性問(wèn)題,涉及了實(shí)體消歧、共指消解等技術(shù),如圖2-7所示。

圖2-7 實(shí)體鏈接流程圖

實(shí)體鏈接流程包括輸入、實(shí)體指稱(chēng)識(shí)別、候選實(shí)體生成、候選實(shí)體消歧、輸出等步驟。

一般來(lái)說(shuō),在經(jīng)過(guò)實(shí)體抽取得到實(shí)體指稱(chēng)之后,需要為文本中給定的實(shí)體名稱(chēng)生成可能鏈接的候選實(shí)體集合,即候選實(shí)體生成。候選實(shí)體生成的方法有基于名稱(chēng)字典的構(gòu)建方法、基于上下文的擴(kuò)充法、基于搜索引擎的構(gòu)建方法等。其中基于名稱(chēng)字典的構(gòu)建方法在實(shí)體鏈接中的應(yīng)用十分廣泛,主要做法是利用維基百科提供的各類(lèi)信息,構(gòu)建實(shí)體名稱(chēng)與所有可能鏈接的實(shí)體的映射關(guān)系字典D,然后利用D中的信息生成候選實(shí)體集合。

D={<mi,ei>|i=1, 2, ··· ,|D|}

其中,從非結(jié)構(gòu)化文本數(shù)據(jù)中得到的實(shí)體指稱(chēng)集合M={mi|i=1, 2,…,|D|},包含了大量實(shí)體名稱(chēng)變種,如縮略語(yǔ)、昵稱(chēng)、別名等,與實(shí)體指稱(chēng)集合M對(duì)應(yīng)的候選實(shí)體集合用E=(e1,e2,…,en)表示。實(shí)體指稱(chēng)mi對(duì)應(yīng)的映射值ei={eij|j=1, 2,…,|ei|},即mi可能鏈接的候選實(shí)體集合。此時(shí)實(shí)體鏈接的任務(wù)是將給定的指稱(chēng)mi鏈接到候選實(shí)體集合ei中的某個(gè)無(wú)歧義實(shí)體eij,此過(guò)程即候選實(shí)體消歧候選實(shí)體消歧主要是進(jìn)行實(shí)體消歧、屬性消歧、上下文消歧,通過(guò)基于圖的方法、基于概率主題模型、基于主題模型、基于詞向量分類(lèi)和基于深度學(xué)習(xí)等方法實(shí)現(xiàn)。

為了方便理解,我們對(duì)2.1節(jié)中提到的輸入文本數(shù)據(jù)“北京時(shí)間2020年4月15日深夜,蘋(píng)果發(fā)布了最新款iPhone X,3299元起售的iPhone X正式上架。”做進(jìn)一步處理,圖2-8給出了該文本數(shù)據(jù)實(shí)體鏈接的實(shí)例。經(jīng)過(guò)屬性消歧、上下文消歧,當(dāng)我們最終可以根據(jù)實(shí)體鏈接流程將文本數(shù)據(jù)中的“蘋(píng)果”鏈接到蘋(píng)果公司時(shí),實(shí)體鏈接的任務(wù)即順利完成。

圖2-8 實(shí)體鏈接實(shí)例

3.關(guān)系抽取

關(guān)系抽取是指從非結(jié)構(gòu)化文本中抽取出兩個(gè)或多個(gè)實(shí)體之間的語(yǔ)義關(guān)系,構(gòu)成知識(shí)圖譜的邊。這在知識(shí)抽取中是非常關(guān)鍵的一步,也是知識(shí)抽取研究領(lǐng)域的重點(diǎn)任務(wù)之一。關(guān)系抽取也很好理解,例如,從“姜山為妻子李娜的日常訓(xùn)練提供了很多幫助”可以得出{夫妻(姜山,李娜)}這個(gè)關(guān)系。

目前根據(jù)關(guān)系抽取方法的不同,可以將其具體分為基于模板的方法、基于監(jiān)督學(xué)習(xí)的方法、基于弱監(jiān)督學(xué)習(xí)的方法,我們將在下面給出這些方法的詳細(xì)內(nèi)容。

(1)基于模板的方法

基于模板的方法主要通過(guò)基于觸發(fā)詞、基于依存句法分析等實(shí)現(xiàn)。

基于觸發(fā)詞:首先確定觸發(fā)詞,然后根據(jù)觸發(fā)詞進(jìn)行規(guī)律的匹配及抽取,然后進(jìn)行映射。如圖2-9所示,其中的觸發(fā)詞為丈夫、妻子等。根據(jù)這些觸發(fā)詞找出夫妻關(guān)系,同時(shí)通過(guò)命名實(shí)體識(shí)別出關(guān)系的參與方。

圖2-9 觸發(fā)詞匹配

基于依存句法分析:以動(dòng)詞為起點(diǎn),構(gòu)建規(guī)則,對(duì)節(jié)點(diǎn)上的詞性和邊上的依存關(guān)系進(jìn)行限定。一般情況下,語(yǔ)句符合形容詞+名詞或動(dòng)賓短語(yǔ)等情況,因此這相當(dāng)于以動(dòng)詞為中心結(jié)構(gòu)總結(jié)的規(guī)律。其執(zhí)行流程如下。

?對(duì)句子進(jìn)行分詞、詞性標(biāo)注、命名實(shí)體識(shí)別、依存分析等處理。

?根據(jù)句子依存語(yǔ)法樹(shù)結(jié)構(gòu)來(lái)匹配規(guī)則,每匹配一條規(guī)則就生成一個(gè)三元組,也可以匹配多條規(guī)則生成多個(gè)三元組。

?對(duì)三元組實(shí)體和觸發(fā)詞進(jìn)一步處理,以抽取出關(guān)系。

同樣,我們給出一個(gè)例子來(lái)說(shuō)明基于依存句法分析是如何進(jìn)行的:“李娜登頂法網(wǎng),賽場(chǎng)彰顯霸氣。”對(duì)該句子進(jìn)行詞性標(biāo)注、依存分析等前置處理后,可獲得該句的依存句法結(jié)構(gòu),如圖2-10所示。其中,“登頂”為該句的核心詞,在句子中的成分為“謂語(yǔ)”,其父節(jié)點(diǎn)為依存樹(shù)的根節(jié)點(diǎn);“李娜”“法網(wǎng)賽場(chǎng)”“彰顯”均與“登頂”相關(guān)聯(lián),表示在句子中與核心詞的依存關(guān)系分別為“主語(yǔ)”“賓語(yǔ)”“連謂”,此時(shí)可應(yīng)用依存樹(shù)的主謂結(jié)構(gòu)匹配規(guī)則,獲取(李娜,登頂,法網(wǎng)賽場(chǎng))三元組;最后,由于“彰顯”與核心詞存在“連謂”關(guān)系,并且與“李娜”“霸氣”相關(guān)聯(lián),因此還可應(yīng)用規(guī)則獲取(李娜,彰顯,霸氣)三元組,但因“霸氣”作為形容詞,其自身不能作為命名實(shí)體,因此該三元組不具備實(shí)際意義。

圖2-10 基于依存句法分析的示例

綜上,該例句最終的關(guān)系抽取結(jié)果為:(李娜,登頂,法網(wǎng)賽場(chǎng))→奪冠(李娜,法網(wǎng)賽場(chǎng))。

以上就是基于模板方法的具體內(nèi)容,它具有在小規(guī)模數(shù)據(jù)集上容易實(shí)現(xiàn)、構(gòu)建簡(jiǎn)單、人工規(guī)則準(zhǔn)確率高、可以為特定領(lǐng)域定制等優(yōu)點(diǎn)。缺點(diǎn)是,特定領(lǐng)域的模板需要專(zhuān)家構(gòu)建;需要為每條關(guān)系定義規(guī)律,規(guī)律很難考慮周全且費(fèi)時(shí)費(fèi)力;難以維護(hù)、可移植性差、低召回率。

(2)基于監(jiān)督學(xué)習(xí)的方法

基于監(jiān)督學(xué)習(xí)的關(guān)系抽取方法將關(guān)系抽取轉(zhuǎn)化為分類(lèi)問(wèn)題。在給定實(shí)體對(duì)的情況下,使用機(jī)器學(xué)習(xí)的方法根據(jù)句子上下文對(duì)實(shí)體關(guān)系進(jìn)行預(yù)測(cè)。它的執(zhí)行流程如下。

1)預(yù)先定義好關(guān)系的類(lèi)別。

2)人工標(biāo)注一些數(shù)據(jù),并設(shè)計(jì)特征表示。

3)選擇一個(gè)分類(lèi)方法,最后進(jìn)行評(píng)估。

傳統(tǒng)的基于監(jiān)督學(xué)習(xí)的關(guān)系抽取是一種依賴(lài)特征工程的方法。首先,對(duì)每個(gè)任務(wù)可以使用特定的特征。基于實(shí)體的特征,包括實(shí)體前后的詞、實(shí)體類(lèi)型、實(shí)體之間的距離等;基于短語(yǔ)的特征,比如NP、VP、PP(句法學(xué)中的縮寫(xiě),例如NP=noun phrase)等。在實(shí)際操作中,為了提高效率,通常會(huì)訓(xùn)練兩個(gè)分類(lèi)器:第一個(gè)分類(lèi)器是yes/no的二分類(lèi),判斷命名實(shí)體間是否有關(guān)系,如果有關(guān)系,再送到第二個(gè)分類(lèi)器,為實(shí)體分配關(guān)系類(lèi)別。這樣做的好處是通過(guò)排除大多數(shù)的實(shí)體對(duì)來(lái)加快分類(lèi)器的訓(xùn)練過(guò)程,可以采用的分類(lèi)器是MaxEnt、樸素貝葉斯、SVM等。

基于深度學(xué)習(xí)的關(guān)系抽取能夠自動(dòng)學(xué)習(xí)有效特征,常用的特征包括位置嵌入(Position Embedding)、詞嵌入(Word Embedding)、知識(shí)嵌入(Knowledge Embedding)等,常用的深度學(xué)習(xí)方法包括串聯(lián)模型(Pipeline)和聯(lián)合模型(Joint Model)等。

1)串聯(lián)模型:識(shí)別實(shí)體和關(guān)系分類(lèi)是完全分離的兩個(gè)過(guò)程(即串聯(lián)方式),不會(huì)相互影響,關(guān)系的識(shí)別依賴(lài)實(shí)體識(shí)別的效果。

2)聯(lián)合模型:在一個(gè)模型中通過(guò)共享參數(shù)來(lái)表示實(shí)體及關(guān)系,對(duì)句子同時(shí)做實(shí)體識(shí)別和關(guān)系抽取,得到一個(gè)有關(guān)系的實(shí)體三元組。

用串聯(lián)模型訓(xùn)練的好處是各模型相互獨(dú)立,設(shè)計(jì)上較為容易,但誤差會(huì)逐層傳遞累積,步驟太多有可能導(dǎo)致模型后續(xù)不可用。而一般情況下,聯(lián)合模型方法的效果優(yōu)于串聯(lián)模型,但是所需的參數(shù)空間會(huì)增大。

(3)基于弱監(jiān)督學(xué)習(xí)的方法

基于監(jiān)督學(xué)習(xí)的方法效果雖然好,但是需要獲取有標(biāo)注的數(shù)據(jù)集,這一點(diǎn)在實(shí)際操作中有一定的難度。當(dāng)標(biāo)注數(shù)據(jù)集不大或者數(shù)據(jù)量又特別大的情況下,就可以借助弱監(jiān)督學(xué)習(xí)的方法。基于弱監(jiān)督學(xué)習(xí)的方法又分為遠(yuǎn)程監(jiān)督學(xué)習(xí)和Bootstrapping方法兩種。

遠(yuǎn)程監(jiān)督學(xué)習(xí)方法是將知識(shí)圖譜與非結(jié)構(gòu)化文本對(duì)齊之后,自動(dòng)構(gòu)建大量訓(xùn)練數(shù)據(jù),從而減少模型對(duì)人工標(biāo)注數(shù)據(jù)的依賴(lài),增強(qiáng)模型跨領(lǐng)域適應(yīng)能力。該方法認(rèn)為若兩個(gè)實(shí)體在知識(shí)圖譜中存在某種關(guān)系,則包含這兩個(gè)實(shí)體的非結(jié)構(gòu)化句子均能表示出這種關(guān)系。例如,在某知識(shí)圖譜中存在“奪冠(李娜,法網(wǎng)賽場(chǎng))”,那么就認(rèn)為出現(xiàn)李娜和法網(wǎng)的句子就是表述奪冠關(guān)系。因此可構(gòu)建訓(xùn)練正例:李娜在法網(wǎng)奪冠。

一般來(lái)說(shuō),遠(yuǎn)程監(jiān)督學(xué)習(xí)抽取知識(shí)的流程如下。

?從知識(shí)庫(kù)中抽取存在關(guān)系的實(shí)體對(duì);

?從非結(jié)構(gòu)化文本中抽取含有實(shí)體對(duì)的句子作為訓(xùn)練樣例;

?訓(xùn)練監(jiān)督學(xué)習(xí)模型。

雖然遠(yuǎn)程監(jiān)督可以利用豐富的知識(shí)庫(kù)信息減少一定的人工標(biāo)注,但它的假設(shè)會(huì)引入大量的噪聲,存在語(yǔ)義漂移現(xiàn)象。語(yǔ)義漂移是指在迭代過(guò)程中會(huì)產(chǎn)生一些與種子不相關(guān)的實(shí)例,然后這些不相關(guān)實(shí)例再次進(jìn)入迭代,頻繁產(chǎn)生其他不相關(guān)實(shí)例。例如,“李娜法網(wǎng)遭‘黑馬’舍夫多娃逆轉(zhuǎn)”這句話表達(dá)的就不是法網(wǎng)奪冠的意思。同時(shí),由于是在知識(shí)庫(kù)中抽取存在的實(shí)體關(guān)系對(duì),因此很難發(fā)現(xiàn)新的關(guān)系。

Bootstrapping是通過(guò)在文本中匹配實(shí)體對(duì)和表達(dá)關(guān)系短語(yǔ)模式,尋找和發(fā)現(xiàn)新的潛在關(guān)系三元組,其執(zhí)行流程為:

1)從文檔中抽取出包含種子實(shí)體的文本。

2)將抽取出的規(guī)律(Pattern)匹配文檔集。

3)將基于規(guī)律抽取出的新文檔作為種子庫(kù),迭代多輪,直至規(guī)律模型擬合。

這種方法構(gòu)建成本低,適合大規(guī)模的構(gòu)建,同時(shí)可以發(fā)現(xiàn)新的(隱含的)關(guān)系。但是這種方法存在對(duì)初始給定的種子集敏感、語(yǔ)義漂移現(xiàn)象、結(jié)果的準(zhǔn)確率較低等問(wèn)題。

4.事件抽取

事件抽取就是把含有事件信息的非結(jié)構(gòu)化文本以結(jié)構(gòu)化的形式呈現(xiàn)出來(lái)。事件信息包括事件發(fā)生的時(shí)間、地點(diǎn)、原因、參與者等。事件抽取是一個(gè)比較綜合的任務(wù),一個(gè)標(biāo)準(zhǔn)的事件抽取任務(wù)可以進(jìn)一步分解為觸發(fā)詞識(shí)別、事件類(lèi)型分類(lèi)、論元識(shí)別和角色分類(lèi)等子任務(wù)。每個(gè)事件都會(huì)有一個(gè)事件類(lèi)型及相應(yīng)的觸發(fā)詞,并且配有不同角色的論元。事件類(lèi)型和論元角色是在約定的有限集合中選擇,而觸發(fā)詞和論元一般情況下都是輸入句子的片段。

我們以2022年北京冬奧會(huì)的一段新聞為例進(jìn)行分析:“2月5日,由范可新、曲春雨、張雨婷、任子威、武大靖組成的中國(guó)隊(duì)以2分37秒348的成績(jī)獲得冠軍,并在2022年北京冬奧會(huì)上獲得了中國(guó)隊(duì)的首枚金牌。”圖2-11所示為事件抽取任務(wù)分解圖。

圖2-11 事件抽取任務(wù)分解圖

在事件抽取實(shí)踐中,我們通常使用機(jī)器學(xué)習(xí)或深度學(xué)習(xí)來(lái)實(shí)現(xiàn)對(duì)事件的抽取。

基于機(jī)器學(xué)習(xí)的方法可以將事件抽取任務(wù)轉(zhuǎn)化為實(shí)體抽取任務(wù)和多標(biāo)簽分類(lèi)任務(wù)。

1)由于轉(zhuǎn)化為實(shí)體抽取任務(wù)的方法的事件類(lèi)型和對(duì)應(yīng)的論元角色是在有限集合(Schema)中預(yù)定義好的,因此可以將(事件類(lèi)型、論元角色)雙元組整體作為概念,繼而抽取對(duì)應(yīng)的論元實(shí)體。

2)轉(zhuǎn)化為多標(biāo)簽分類(lèi)的方法先將事件類(lèi)型抽取、轉(zhuǎn)化為一個(gè)多標(biāo)簽分類(lèi)任務(wù),使用模型得到每個(gè)文本包含的事件類(lèi)型,然后進(jìn)行論元抽取,包括任務(wù)問(wèn)題構(gòu)建、模型構(gòu)建以及范圍(Span)預(yù)測(cè)。

基于深度學(xué)習(xí)的方法能夠自動(dòng)提取句子特征,使用詞向量作為輸入。詞向量蘊(yùn)含豐富的語(yǔ)言特征,并且能夠自動(dòng)提取句子特征,避免了人工設(shè)計(jì)特征的煩瑣工作,且大大降低了對(duì)外部NLP工具的依賴(lài)。

主站蜘蛛池模板: 盐边县| 自治县| 万宁市| 永吉县| 上虞市| 浦城县| 陆川县| 泸州市| 余庆县| 威海市| 灌南县| 呼和浩特市| 寻乌县| 濮阳县| 利川市| 武夷山市| 潞西市| 澄迈县| 余干县| 垦利县| 鲜城| 永靖县| 齐河县| 多伦县| 铁岭市| 马边| 米林县| 郸城县| 武夷山市| 邻水| 彰化县| 南安市| 普安县| 乐清市| 绥江县| 瑞金市| 福鼎市| 南陵县| 平武县| 惠安县| 南乐县|