摘 要:互聯(lián)網(wǎng)中的HTML表格蘊含著豐富的結構化或半結構化知識,是知識庫構建與擴充的重要數(shù)據(jù)資源。然而如何對HTML表格進行正確解析并獲得三元組知識用于擴充知識庫,則是一個很有挑戰(zhàn)的問題。首先,HTML表格的結構各有不同。其次,表格與知識庫中的實體和屬性的表示不同,需要統(tǒng)一,即實體鏈接與屬性對齊。本文首先提出了一個基于知識庫的在線百科表格解析與知識融合框架,該框架可針對不同類別的表格進行知識抽取;并提出了基于知識庫的表格實體鏈接和屬性對齊方法,用以將表格中的知識與知識庫進行匹配與融合。實驗使用了126萬在線百科表格數(shù)據(jù)為CN-DBpedia擴充約1000萬三元組。
關鍵詞:HTML表格;知識抽取;知識融合
《軟件導刊·教育技術》是湖北省電教館與由湖北省信息學會聯(lián)合主辦的教育技術類全國公開刊物。作為業(yè)內直接面向全國中小學信息技術教育的媒體。
1 引言(Introduction)
迄今為止,所有基于在線百科構建的通用知識圖譜[1-4]并未提出一種完全自動化的方法從在線百科的表格中挖掘知識,擴充知識庫。現(xiàn)有的工作,如CN-DBpedia[4],加入了端到端的深度學習模型從百科文本中挖掘知識,但是它并未挖掘百科表格知識。還有很多工作[5-9]致力于從整個互聯(lián)網(wǎng)的表格中挖掘知識進行知識庫的擴充,但是,他們僅僅使用單一類型的表格數(shù)據(jù)集[10,11]。比如這兩個數(shù)據(jù)集ACSDb[10]和WDC Web Tables corpus[11]分別是英文和跨語言數(shù)據(jù)集,它們只含有關系表。關系表包含了多個實體(以行為單位),一個實體有多個屬性(以列為單位)。現(xiàn)有的表格數(shù)據(jù)集在類型不上并不完備,并且其中蘊含的知識可信度低。對此,我們研究了如何充分地使用在線百科表格擴充知識庫。
2 問題分析(Framework overview)
使用百科表格擴充知識庫面臨的第一個挑戰(zhàn)是表格類型的多樣性問題。現(xiàn)有的工作[12]將互聯(lián)網(wǎng)表格分成了10種類型,包括八種類型的知識表和兩種類型的非知識表。而我們發(fā)現(xiàn)百科表格主要含有一種類型的非知識表和三種類型的知識表。其中,知識表如圖1—圖3所示,分為關系表、鍵值對表和枚舉列表。目前最有效的表格分類方法[12,13],選取表格特征信息和樣本集來訓練分類(識別)器。雖然它們能夠精準地區(qū)別知識表和用于布局或導航的非知識表,但是在區(qū)分知識表的具體類型時,表現(xiàn)并不理想。
為了精準地識別知識表的具體類型,需要構造相應表格的特征。我們發(fā)現(xiàn)百科表格中的屬性與infobox的屬性相似,屬性集合與由知識庫中屬性構成的模式庫有交集。因此,可以利用這個性質構造模式特征。與此同時,我們利用表格屬性擴充模式庫,更新特征值,這是一個迭代的過程。進而,我們提出了一種迭代擴充模式庫、在線更新特征的表格識別器訓練算法。
使用百科表格擴充知識庫面臨的第二個挑戰(zhàn)是如何將表格中抽取的知識與知識庫中的知識融合的挑戰(zhàn)。從鍵值對表中抽取知識時,每個三元組(即)的主語(s)即所在百科頁面的標題,通常一對一映射到知識庫實體名稱,不需要實體鏈接。謂語(p)和賓語(o),對應表中每一行的鍵值對。比如圖2中抽取的三元組<華為Mate 20,運行內存,6GB>。對于枚舉列表,百科頁面的標題作為主語,同樣不需要實體鏈接。然而,關系表則需要進行實體鏈接和屬性對齊。現(xiàn)有的將關系表與知識庫匹配的算法框架TableToKnowledge,簡稱T2K[11],采用迭代的方式進行實體鏈接與屬性對齊。
然而,它有兩個不足:第一,T2K算法框架中并未考慮將表格內容整合[14,15],它僅僅將單獨的關系表與知識庫進行匹配。然而,由于單一的表格實體數(shù)量少,屬性稀疏,并且屬性值常有缺失,這些表格不能直接與知識庫匹配。于是,我們在T2K框架的基礎上加入了整合表格內容的過程,提出了一個基于概念(本體)樹的表格聚類算法。第二,T2K算法框架未采用有效方法生成實體鏈接候選集。它選擇每個實體的候選實體集所屬頻率最高的概念,過濾不屬于這些概念的候選實體。由此帶來的后果是,長尾概念下的實體不能有效地進行實體鏈接,而這些實體對應的三元組往往是知識庫所需要擴充的知識。于是,我們提出了基于“公共上位概念”的實體鏈接候此外,本文針對在線百科表格數(shù)據(jù)集提出了一個知識融合策略。現(xiàn)有的互聯(lián)網(wǎng)表格數(shù)據(jù)集體量大,熱點知識出現(xiàn)次數(shù)多并形成偏態(tài)分布,通常以知識的交疊數(shù)量為特征訓練知識融合模型。因此,同一條知識被抽取的次數(shù)越多,它的可信度越高。而百科表格中的知識分布均勻,有交疊的知識數(shù)量少,不能將交疊數(shù)作為特征。于是,我們提出了一種基于表格識別和實體鏈接準確率的融合策略。
綜上,本文的主要貢獻有:
我們提出了一種面向知識庫擴充的在線百科表格知識獲取與融合框架,可以一站式處理各類百科表格,抽取相關知識并融入知識庫中。
為了對各種類型的表格進行對應的解析與處理,我們提出了一種表格識別算法。該算法可基于特征在線更新的表格識別器進行訓練。
我們在T2K[11]算法框架的基礎上增加了表格內容整合的過程,并利用“公共上位概念”生成實體鏈接候選集。
在本文的實驗中,我們首先整合了百度百科和互動百科中126萬個HTML表格,并將這些表格最終融入CN-DBpedia知識庫中,實驗表明本文的方法能夠擴充約1000萬三元組知識。
3 框架概述(Key techniques analysis)
如圖4所式,我們提出了一種用于知識庫擴充的在線百科表格知識獲取與融合框架,主要分為:
(1)網(wǎng)絡爬蟲:爬取不提供轉儲文件的在線百科,獲取每個百科實體頁面中的表格。由于百科表格的格式規(guī)范,以標記的表格對象為主,因而百科表格數(shù)據(jù)集未考慮非標記的表格對象。
(2)非知識表過濾:以標記的表格對象分為帶有知識的表格,和用于頁面布局或導航的非知識表格,互聯(lián)網(wǎng)中88%的HTML表不含有知識。借鑒互聯(lián)網(wǎng)表格分類工作中的方法[12,13],我們使用梯度提升樹模型GBDT,作為非知識表過濾器。
(3)表格解析:將HTML格式的表格解析為csv格式,在內存中以二維數(shù)組的形式表示。同時在另外的數(shù)組中存儲了單元格中的屬性,如span和href。我們把帶span屬性,跨行跨列的單元格拆分。對于帶href屬性的單元格,我們使用其所指頁面的標題作為鏈接實體。
(4)知識表類型識別:關系表和鍵值對的識別,采用了我們提出的基于模式特征在線更新的識別器訓練算法,在識別的過程中,在線更新特征值,重新訓練識別器。枚舉列表的識別采取基于概念(分類)樹輔助的啟發(fā)式方法。
(5)關系表與知識庫匹配:我們使用T2K[11]算法對關系表進行實體鏈接和屬性對齊。此外,加入了我們提出的表格聚類算法,以及使用我們提出的“公共上位概念”進行候選集生成。
(6)三元組抽取:根據(jù)表1給出的三種表格的定義,按照相應的規(guī)則抽取知識。對于鍵值對表,所在百科頁面的標題就是每個三元組的主語,表中每一行的鍵值對就是三元組的謂語和賓語。對于關系表,表格實體以行為單位,所鏈接的實體是每個三元組的主語,除主鍵所在列外每一列對齊到的屬性是謂語,屬性值是賓語。對于枚舉列表,百科頁面的標題就是每個三元組的主體,而表格中的每個實體名稱則是每個關系三元組的賓語(尾實體),尾實體鏈接采用與關系表實體鏈接相同的方法。謂語通過每個實體對在知識庫中存在謂語的數(shù)量投票決定。
(7)融合模型:采用我們提出的針對百科表格數(shù)據(jù)集的融合策略。
4 關鍵技術分析(Key technical analysis)
在這一節(jié),我們介紹了框架中三個關鍵技術的細節(jié),它們是(1)知識表類型識別;(2)關系表與知識庫匹配;(3)融合模型。
4.1 知識表類型識別
這一節(jié)中我們提出了識別三種表格類型的方法。表格中有兩種類型的信息,屬性信息和屬性值信息。如果已知一些表格屬性,那么我們可以利用它來識別表格的結構,從而能夠幫助我們把屬性對應到正確的屬性值單元。由于表格是半結構化的數(shù)據(jù),它的屬性通常連續(xù)地出現(xiàn)在一整行或一整列。定位表格的屬性會幫助我們識別表格正確的結構。對于鍵值對表和關系表,我們發(fā)現(xiàn),表格屬性與知識庫中的屬性有相同處,并且表格屬性集合與由知識庫屬性構成的模式庫存在交集。對此,我們將表格屬性屬于模式庫的比例和個數(shù)作為模式得分特征,為鍵值對表和關系表分別訓練了一個單層決策樹,作為初始的表格識別器。在使用表格識別器識別表格后,將會含有一些不屬于模式庫的屬性出現(xiàn)在表格中,但這些屬性可能是其他表格的屬性。于是,我們使用這些屬性擴充模式庫。模式庫擴充后,訓練集中表格的模式得分特征可能發(fā)生變化,需要更新,進而分類器模型又需要重新訓練。如此往復,這是一個迭代的過程。如算法1所示,我們提出了基于特征在線更新的表格識別器訓練算法。
算法1基于模式特征在線更新的識別器訓練
輸入:模式庫predictkg,知識表模式集合Predicttable,單層決策樹DStump
輸出:單層決策樹DStump,擴充后的模式庫predictkg
1.next_iteration=False
2.for predicttable in Predicttable? do
3. computer Scoretable
4. if DStump(Scoretable) is True then
5. if then
6.
7. next_iteration=True
8. end if
9. end if
10.end for選集生成方法。利用“公共上位概念”,我們不僅能夠過濾無關概念下的實體,還能不遺漏長尾概念下的實體。
11.if next_iteration is True then
12. update training set with new Scoretable and resume the training
13. if DStump performs better in testing set then
14. repeat 1 to 10
15 end if
16.else return DStump and predictkg
17.end if
在算法1的輸入中,模式庫初始化為知識庫中屬性的集合;每個知識表的模式按行或按列獲得(以屬性表為例,它的模式由第一列中的每個屬性構成);識別器采用單層決策樹模型,使用初始的得分特征進行訓練。算法1的第3行計算了表格的兩個模式得分,一個是屬性屬于模式庫的比例,即,另一個是屬性屬于模式庫的個數(shù)。算法的第2行到第10行,計算每個未識別知識表的模式得分,如果有新的表被識別,則擴充模式庫。每經(jīng)過一輪迭代,都會重新訓練一次識別器,原來的假負例在模式得分提高后會被識別為真正例,識別器的召回率會得到提升。當經(jīng)過若干輪迭代后,模式庫屬性數(shù)量不再增加或識別器F1值不再提高時,我們將識別器和模式庫返回。另外,可以在使用算法1完成弱學習器的訓練后引入剩下的表格特征(如布局特征和內容特征),通過boosting的方式訓練一個更強的識別器。考慮到需要多次重復訓練,于是我們選擇單層決策樹這樣一個弱學習器作為識別模型,并且不引入其他特征。
在剩下未識別的知識表中,我們使用強規(guī)則識別枚舉列表。我們把表格中每個單元格的內容假設為實體名稱,通過知識庫查找該實體名稱對應的實體(實體和實體別稱滿足多對多的關系),若每個實體別稱都能映射到至少一個實體,則啟發(fā)性地認為該表格為枚舉列表。
4.2 關系表與知識庫匹配
這一節(jié),在T2K算法框架[11]中加入我們提出的基于概念(本體)樹的表格聚類和基于公共上位概念的候選集生成方法。
4.2.1 T2K匹配框架
T2K算法框架將每個關系表視為一個小型關系型數(shù)據(jù)庫,將關系表中的實體、屬性和概念與知識庫匹配。圖5描述了T2K算法框架的主要步驟。它首先從知識庫中獲得候選實體,通過基于屬性值的匹配得到候選實體的實體鏈接得分。然后以列為單位,選擇屬性值相似度的和最高的屬性作為屬性相似度,并計算這個屬性對應的每個概念的得分,用得分最高的概念過濾候選實體。在過濾掉一些實體后,屬性相似度發(fā)生了變化,需要重新選擇,這是一個迭代的過程。T2K算法的先進之處在于,不同于傳統(tǒng)數(shù)據(jù)庫模式匹配,它在匹配過程中加入了概念(本體)的匹配,而概念(本體)是實體和屬性的迭代匹配的橋梁。
論文指導 >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >