|
當(dāng)我們?cè)诎倏凭W(wǎng)站中打開一個(gè)百科詞條時(shí),會(huì)發(fā)現(xiàn)每個(gè)詞條頁(yè)面都是按照特定格式是組織的,例如大多都包括了多義區(qū)(一個(gè)詞往往會(huì)有多個(gè)義項(xiàng): 如蘋果一詞有22個(gè)義項(xiàng))、 簡(jiǎn)介區(qū)(對(duì)該詞條進(jìn)行了摘要式總結(jié)) 信息框(也稱infobox,為半結(jié)構(gòu)化數(shù)據(jù),通過(guò)表格方式上進(jìn)行屬性鍵值對(duì)進(jìn)行展示) 正文區(qū)(關(guān)于該詞條的詳細(xì)介紹以及超鏈接) 標(biāo)簽區(qū)(與該詞條相關(guān)的標(biāo)簽和類型信息) 參考來(lái)源區(qū)(該百科詞條中引文信息的出處)。 這些信息為結(jié)構(gòu)化的知識(shí)提供了直接數(shù)據(jù)來(lái)源。例如,從多義區(qū)中可以獲取詞條的上位概念和相關(guān)概念信息, 可以將簡(jiǎn)介區(qū)中抽取出剪短的句子作為該詞條的描述,可以從信息框中得到豐富的屬性信息, 可以從正文區(qū)中獲取標(biāo)記詞條與本詞條之間的共現(xiàn)或相關(guān)信息,也可以從標(biāo)簽區(qū)中獲取該詞條的類型和標(biāo)簽關(guān)系。 當(dāng)然,也可以通過(guò)獲取百科分類schema體系的方式來(lái)獲取實(shí)體類別或者概念上下位信息。 當(dāng)前,基于百科知識(shí)圖譜的構(gòu)建方式大體上可以分成兩種范式,一種是基于已有的百科知識(shí)平臺(tái),利用知識(shí)結(jié)構(gòu)化的手段,進(jìn)行抽取、轉(zhuǎn)換,形成結(jié)構(gòu)化知識(shí)圖譜,另一種是直接設(shè)計(jì)知識(shí)圖譜的眾包構(gòu)建平臺(tái),直接完成構(gòu)建。 本文以具有代表性的DBpedia、Freebase項(xiàng)目進(jìn)行介紹,可以從中看到百科類圖譜的兩種重要構(gòu)建方法。 一、基于本體映射的DBpedia知識(shí)圖譜DBpedia是較為早期的語(yǔ)義網(wǎng)項(xiàng)目,從字面意思上看來(lái),為從wikipedia中抽取出來(lái)的一個(gè)鏈接數(shù)據(jù)集,該數(shù)據(jù)集采用一個(gè)包含人、地點(diǎn)、音樂(lè)、電影、組織機(jī)構(gòu)、物種、疾病在內(nèi)的嚴(yán)格本體,并遵從RDF的語(yǔ)義數(shù)據(jù)模型結(jié)構(gòu)進(jìn)行存儲(chǔ)。 1、DBpedia的由來(lái) 維基百科是廣受歡迎的百科類網(wǎng)站,也是使用最廣泛的多語(yǔ)言百科全書,287種不同語(yǔ)言的官方版本,百科文章中的信息,既包括自由的文本,也包括不同類型的結(jié)構(gòu)化數(shù)據(jù),如信息框、表格、列表和分類數(shù)據(jù)。 不過(guò),維基百科并不能提供結(jié)構(gòu)化的查詢需求,而只向用戶提供自由文本搜索功能。例如,使用維基百科搜索,很難找到所有流入萊茵河且長(zhǎng)度超過(guò)100英里的河流,或者所有出生于18世紀(jì)的意大利作曲家,因此,為了能夠滿足這種需求,2012年,DBpedia項(xiàng)目提出通過(guò)從多種語(yǔ)言的維基百科版本中提取結(jié)構(gòu)化數(shù)據(jù),建立了一個(gè)大規(guī)模、多語(yǔ)言的知識(shí)庫(kù)。 2、DBpedia的實(shí)現(xiàn) 維基百科的文章主要由自由文本組成,但也包括以維基標(biāo)記形式的各種結(jié)構(gòu)化信息。這些信息包括信息框模板、分類信息、圖像、地理坐標(biāo)、外部網(wǎng)頁(yè)鏈接、消除歧義頁(yè)面、頁(yè)面之間的重定向以及不同語(yǔ)言版本的維基百科鏈接。 1)Dbpedia的系統(tǒng)構(gòu)成 DBpedia提取框架從維基百科中提取這些結(jié)構(gòu)化信息,包括摘要、內(nèi)鏈、標(biāo)簽、類別等,并將其轉(zhuǎn)化為一個(gè)豐富的知識(shí)庫(kù),該系統(tǒng)包括輸入、解析、提取和輸出5個(gè)步驟構(gòu)成,如下圖所示: 首先,在輸入階段,從維基百科轉(zhuǎn)儲(chǔ)或者使用MediaWiki API直接從MediaWiki安裝中獲取百科頁(yè)面數(shù)據(jù)作為輸入; 其次,并利用wiki解析器將維基百科頁(yè)面的源代碼轉(zhuǎn)換為抽象語(yǔ)法樹,然后,將語(yǔ)法樹轉(zhuǎn)發(fā)給提取器,針對(duì)不同的要素(標(biāo)簽、摘要或地理坐標(biāo)等)進(jìn)行提?。?/p> 接著,通過(guò)本體匹配的方式產(chǎn)生一組RDF語(yǔ)句,最后輸出到不同格式(如N-Triples)的數(shù)據(jù)槽當(dāng)中。信息框(infobox)信息是整個(gè)DBpedia信息提取的重點(diǎn),包括信息解析以及信息標(biāo)準(zhǔn)化兩個(gè)部分。 2)信息框的解析 信息框經(jīng)常用于將一篇文章中最相關(guān)的事實(shí)以屬性-值對(duì)的表格形式列在維基百科頁(yè)面進(jìn)行展示,而這種信息框是基于一種模板形成的,該模板指定了可以形成信息框的屬性列表,因此可以使用解析器進(jìn)行提取。 3)基于mapping映射文件的信息標(biāo)準(zhǔn)化 隨著更多人的參與以及維基百科的編輯者們并沒(méi)有嚴(yán)格遵循描述模板的頁(yè)面上給出的建議,不同社區(qū)的維基百科編輯使用不同的模板來(lái)描述同一類型的實(shí)體或者對(duì)同一屬性使用不同的名稱,導(dǎo)致屬性值的表達(dá)有多種不同的格式或者計(jì)量單位,即面臨著明顯的知識(shí)標(biāo)準(zhǔn)化問(wèn)題。 為了使知識(shí)庫(kù)中的信息描述能夠統(tǒng)一,2010年,社區(qū)發(fā)起了開發(fā)本體模式和維基百科信息框?qū)傩耘c本體的映射的工作(DBpedia Mappings),旨在利用社區(qū)提供的映射來(lái)實(shí)現(xiàn)維基百科信息框和本體之間的匹配,以應(yīng)對(duì)規(guī)范屬性和類的名稱變化。 該工作開發(fā)形成了一個(gè)MediaWiki安裝程序,使用戶能夠協(xié)作創(chuàng)建和編輯映射,該映射語(yǔ)言利用MediaWiki模板定義DBpedia本體類和屬性,以及模板/表到本體的映射,一個(gè)映射將DBpedia本體中的一個(gè)類型分配給相關(guān)信息框所描述的實(shí)體,信息框中的屬性被映射到DBpedia本體中的屬性。 4)基于DBpedia本體的多語(yǔ)言信息映射 DBpedia通過(guò)眾包的方式構(gòu)建了一個(gè)本體ontology,然后又通過(guò)眾包的方式建立起了Wikipedia infobox模板名稱和ontology中概念的等價(jià)關(guān)系,這個(gè)知識(shí)本體,本體由320個(gè)類組成,這些類形成了一個(gè)分層結(jié)構(gòu),由1650個(gè)不同的屬性來(lái)描述,最大深度為5。 DBpedia Mapping Wiki通過(guò)預(yù)先定義好的本體,將維基百科單一語(yǔ)言版本中的不同模板映射到DBpedia本體,還用于將維基百科所有語(yǔ)言版本的模板映射到共享的DBpedia本體。 如此一來(lái),DBpedia所有語(yǔ)言版本的信息都可以被合并,小語(yǔ)種的DBpedias可以從較大的DBpedias(如英文版)的知識(shí)中得到補(bǔ)充。 此外,為了進(jìn)一步提升映射工作的準(zhǔn)確性,DBpedia還提供了映射語(yǔ)法驗(yàn)證器(檢查語(yǔ)法的正確性,并突出顯示不一致的地方,如丟失的屬性定義)、提取測(cè)試器(每個(gè)映射頁(yè)面上鏈接的提取測(cè)試都會(huì)根據(jù)一組維基百科示例頁(yè)面來(lái)測(cè)試映射,以直接反饋映射是否有效,以及產(chǎn)生的數(shù)據(jù)是如何結(jié)構(gòu)化的)以及映射工具(一個(gè)圖形用戶界面,支持用戶創(chuàng)建和編輯映射),這些都可以為知識(shí)圖譜標(biāo)準(zhǔn)化構(gòu)建工具的建設(shè)帶來(lái)啟發(fā)。 3、DBpedia的總結(jié) DBpedia目前成為了規(guī)模巨大的知識(shí)圖譜數(shù)據(jù)集,英文版本描述了458萬(wàn)個(gè)事物,其中422萬(wàn)個(gè)事物以一致的本體分類,包括1,445,000個(gè)人、735,000個(gè)地方、411,000個(gè)創(chuàng)意作品(包括123,000張音樂(lè)專輯、87,000部電影和19,000個(gè)視頻游戲)、241,000個(gè)組織(包括58,000個(gè)公司和49,000個(gè)教育機(jī)構(gòu))、251,000個(gè)物種和6,000種疾病,并且提供125種語(yǔ)言的DBpedia本地化版本,完整的DBpedia數(shù)據(jù)集有125種不同語(yǔ)言的3800萬(wàn)個(gè)標(biāo)簽和摘要。 2014年發(fā)布的DBpedia共包含30億條信息,其中5.8億條是從維基百科英文版中提取的,24.6億條是從其他語(yǔ)言版本中提取的。 在使用上,DBpedia知識(shí)庫(kù)的用例非常廣泛,從企業(yè)知識(shí)管理、網(wǎng)絡(luò)搜索到基于維基百科的搜索上均有大量應(yīng)用,開發(fā)者可以使用SPARQL語(yǔ)句來(lái)實(shí)現(xiàn)數(shù)據(jù)訪問(wèn)。 通過(guò)制定統(tǒng)一的本體,并將這也是目前知識(shí)圖譜構(gòu)建中知識(shí)融合的一種常見(jiàn)處理手段,制定映射規(guī)則集合,供后續(xù)使用,對(duì)同一類型的實(shí)體使用不同的信息框,或者對(duì)同一屬性使用不同的屬性名進(jìn)行整理映射。 二、基于眾包編輯的Freebase知識(shí)圖譜Freebase是后續(xù)被收購(gòu)并遷移至wikidata的一個(gè)大型通用知識(shí)庫(kù),由美國(guó)軟件公司Metaweb于2000年開始構(gòu)建的一個(gè)語(yǔ)義網(wǎng)項(xiàng)目,采用與wikipedia類似的創(chuàng)作共享類思想,所有內(nèi)容都由用戶添加,采用創(chuàng)意共用許可證,可以自由引用,其中的所有條目都采用結(jié)構(gòu)化數(shù)據(jù)的形式,使得數(shù)據(jù)之間通過(guò)關(guān)系就可以很容易地聯(lián)系在一起,為信息的查詢和處理提供方便。 Freebase主要來(lái)源于開放社區(qū)的貢獻(xiàn),包括維基百科Wikipedia、世界名人數(shù)據(jù)庫(kù)NNDB、開放音樂(lè)數(shù)據(jù)庫(kù)MusicBrainz等,目前已經(jīng)涵蓋超過(guò)4000中類別、超過(guò)7000種屬性,截止到2014年年底,包含了6800萬(wàn)個(gè)實(shí)體,10億條關(guān)系信息,超過(guò)24億條事實(shí)三元組信息。 1、Freebase的由來(lái) 以互聯(lián)網(wǎng)作為信息展現(xiàn)形態(tài)的方式缺乏圍繞信息項(xiàng)目?jī)?nèi)容或元數(shù)據(jù)的本質(zhì)特征,語(yǔ)義網(wǎng)則希望可以利用 '意義 '而不是關(guān)鍵詞來(lái)索引和組織信息。而隨著語(yǔ)義網(wǎng)的發(fā)展,這種面向網(wǎng)頁(yè)和信息庫(kù)添加豐富的、深層的、結(jié)構(gòu)化的語(yǔ)義方法已經(jīng)發(fā)展到包括一套標(biāo)準(zhǔn)的工具、協(xié)議和組織慣例,允許創(chuàng)建本體結(jié)構(gòu)和使用這些結(jié)構(gòu)組織基于Web的信息。雖然在語(yǔ)義網(wǎng)的研究和實(shí)施方面已經(jīng)取得了實(shí)質(zhì)性的進(jìn)展,但語(yǔ)義索引技術(shù)的穩(wěn)定的、大規(guī)模的基礎(chǔ)數(shù)據(jù)庫(kù)還相對(duì)欠缺。 Freebase整個(gè)系統(tǒng)預(yù)先定義好數(shù)據(jù)模型、數(shù)據(jù)填充以及數(shù)據(jù)存儲(chǔ),是實(shí)現(xiàn)Freebase的幾個(gè)核心步驟,下面分別從這三個(gè)方面進(jìn)行介紹。 2、數(shù)據(jù)模型的定義 在數(shù)據(jù)模型的設(shè)計(jì)上,F(xiàn)reebase不對(duì)頂層本體做非常嚴(yán)格的控制,用戶可以創(chuàng)建和編輯類和關(guān)系的定義。 Freebase是個(gè)典型的三層結(jié)構(gòu),F(xiàn)reeBase包含3層結(jié)構(gòu):Domain-->Type-->Instance(Topic):People-->Person-->somebody。 例如: Topic:主題,表示實(shí)例或?qū)嶓w,相當(dāng)于是類的實(shí)例化,對(duì)應(yīng)圖中的結(jié)點(diǎn),例如物理實(shí)體、抽象概念以及思想流派等; Type:類型或概念,表示每個(gè)Topic所屬的類型,可以屬于多個(gè)Type,對(duì)實(shí)體進(jìn)行歸類;Domain:域,對(duì)類型進(jìn)行分組,相當(dāng)于小類對(duì)應(yīng)的大類,便于schema進(jìn)行管理; Property:屬性,表示每個(gè)類型或概念所具有的屬性類型,每個(gè)Type類型都帶有一組與該類型相關(guān)的不同屬性,屬性值的類型可以是整型、文本等基本類型,也可以是CVT復(fù)合類型,用于表示每個(gè)條目由多個(gè)字段組成的數(shù)據(jù); MID:主題的唯一機(jī)器標(biāo)識(shí)符,使用MID對(duì)實(shí)體進(jìn)行編號(hào),由 /m 和一個(gè)基數(shù)為 32 的唯一標(biāo)識(shí)符組成,當(dāng)主題被合并或拆分時(shí),MID 可以發(fā)揮關(guān)鍵作用,允許外部應(yīng)用跟蹤邏輯主題; 屬性約束:對(duì)屬性的取值范圍進(jìn)行約束,比如:類型約束(整型、文本、浮點(diǎn)型、datetime、CVT等)、條件約束(是否單值、是否去重、主屬性、逆屬性等)。 例如,上圖描述了Arnold Schwarzenegger、Austria、Republic、Terminator共4個(gè)topic, 屬于Person(人物)、Body Builder(健美運(yùn)動(dòng)員)、Actor(演員)和Politician(政治家)共4種Type,'Arnold Schwarzenegger'同時(shí)屬于這幾種Type,其中: Type:Person有一個(gè)屬性Country of Birth(出生國(guó)),它的值是Austria(奧地利); Type:Politician有一個(gè)屬性Party(黨派),它的值是Republic(共和黨); Type:Actor有一個(gè)屬性Films(演出的電影),它的值是Terminator(終結(jié)者)。 從中,我們可以發(fā)現(xiàn),這一點(diǎn)對(duì)本體設(shè)計(jì)中屬性類型和實(shí)體類型的設(shè)計(jì)可以帶來(lái)啟發(fā),例如,通過(guò)類型及其配置的屬性,可結(jié)構(gòu)化一個(gè)Topic,如果Topic屬于多個(gè)Type,則其結(jié)構(gòu)為這些Type屬性的集合。如果屬性是基本類型則存儲(chǔ)在該topic本身,即作為屬性類型;若是CVT則作為另一個(gè)topic存儲(chǔ),即作為實(shí)體類型,通過(guò)邊進(jìn)行關(guān)聯(lián)。 3、基于數(shù)據(jù)模型的眾包編輯 在對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)模式定義之后,則需要進(jìn)行數(shù)據(jù)實(shí)例填充。與wikipedia類似,F(xiàn)reebase采用了眾包編輯的方法,并提供了輕便實(shí)用的編輯工具,涵蓋編輯實(shí)體、編輯Schema、 Review以及DataGame等幾個(gè)環(huán)節(jié)。 1)實(shí)體編輯 實(shí)體編輯包括創(chuàng)建實(shí)體、將實(shí)體分到類別、增加/修改屬性/關(guān)系、上傳圖片等步驟。如下圖中,用戶正在編輯 'Richard Feynman '主題。 2)Schema編輯 編輯Schema包括定義新類別和定義類別的屬性。Freebase提供了一套用于創(chuàng)建和演變模式的模式編輯器,圖中用戶正在編輯 '藥用植物 '的schema,以添加一個(gè) '衍生藥物 '屬性,當(dāng)創(chuàng)建該屬性實(shí)例時(shí),系統(tǒng)會(huì)自動(dòng)地推薦與該屬性期相關(guān)的實(shí)例。 3)Schema的審核 Review環(huán)節(jié)中,由用戶來(lái)驗(yàn)證知識(shí)的準(zhǔn)確性,進(jìn)行投標(biāo),將錯(cuò)誤的知識(shí)進(jìn)行刪除。在DataGame中,用戶通過(guò)尋找其別名,并使用Yahoo圖片搜索來(lái)加入圖片。 4、Freebase的數(shù)據(jù)存儲(chǔ)樣例 在完成知識(shí)數(shù)據(jù)的填充之后,F(xiàn)reebase使用RDF格式進(jìn)行存儲(chǔ),如下圖所示,F(xiàn)reebase的Dump文件為三元組格式,整個(gè)Dump文件中,還存在一些特殊的邊,定義了Freebase屬性(Properties)、類型(Types)、域(Domains)以及Namespace的相關(guān)信息,這些信息同樣以三元組形式組織,對(duì)Freebase中其他數(shù)據(jù)進(jìn)行了定義說(shuō)明。 圖-Freebase的數(shù)據(jù)樣例 每一行都是一個(gè)三元組,從左至右依次是Subject(主語(yǔ))、Predicate(謂詞)、Object(“賓語(yǔ)”或者“客體'),謂詞中體現(xiàn)出了概念之間的層級(jí)結(jié)構(gòu),如“people/person/gender”中描述“person”是“people”的一個(gè)子類,“gender”是“person”的一個(gè)屬性,從整體來(lái)看,“person”這個(gè)類別包括“place_of_birth”、“nationality”、“gender”等屬性類型。 5、Freebase與wikidata 維基百科媒體基金會(huì)于2013年啟動(dòng)了一個(gè)新項(xiàng)目叫WikiData,組織了一個(gè)相對(duì)小眾的專業(yè)群體采用維基協(xié)作的方式,試圖構(gòu)建全球最大規(guī)模的結(jié)構(gòu)化知識(shí)庫(kù),作為Wikipedia、Wikivoyage、Wikisource中結(jié)構(gòu)化數(shù)據(jù)的中央存儲(chǔ)器旨在為維基百科、維基共享資源以及其他的維基媒體項(xiàng)目提供支持。 Wikidata中的數(shù)據(jù)主要以文檔的形式進(jìn)行存儲(chǔ),目前已包含了超過(guò)1700萬(wàn)個(gè)文檔,其中的每個(gè)文檔都有一個(gè)主題或一個(gè)管理頁(yè)面,且被唯一的數(shù)字標(biāo)識(shí)。谷歌于2016年5月正式關(guān)閉了Freebase,轉(zhuǎn)而支持WikiData,并逐步把Freebase的數(shù)據(jù)導(dǎo)入到WikiDataFreebase。 WikiData繼承了Wikipedia的眾包協(xié)作的機(jī)制,但與Wikipedia不同,WikiData支持的是以三元組為基礎(chǔ)的知識(shí)條目(Items)的自由編輯。在構(gòu)成上,Wikidata的核心概念為entity(實(shí)體),用于表示現(xiàn)實(shí)生活中的一個(gè)對(duì)象或者抽象概念,每個(gè)具體的項(xiàng)目都有標(biāo)簽(label)、描述(description)、別名(alias),使得不同的item可以加一區(qū)分,item中包括多種數(shù)據(jù),每一條數(shù)據(jù)被稱為稱為聲明statement,由聲明、數(shù)值、修飾成分以及參考資料等部分內(nèi)容組成。 6、Freebase的總結(jié) 有人評(píng)價(jià)Freebase是2007年迄今互聯(lián)網(wǎng)上最激動(dòng)人心的東西。Freebase主要是從維基抽取結(jié)構(gòu)化數(shù)據(jù)并發(fā)布成RDF,是完全結(jié)構(gòu)化的,但數(shù)據(jù)來(lái)源不局限維基百科,還導(dǎo)入了數(shù)量眾多的專業(yè)數(shù)據(jù)集,并提供數(shù)據(jù)查詢和錄入機(jī)制。 Freebase最強(qiáng)大的地方就在于,它里面的元數(shù)據(jù)是可變的,具有彈性,這里的元數(shù)據(jù)包含F(xiàn)reebase自身平臺(tái)所需的基礎(chǔ)模型的元數(shù)據(jù)。Freebase提供的不僅是一個(gè)數(shù)據(jù)集或數(shù)據(jù)庫(kù),還有較為便捷的訪問(wèn)方式,其支持MQL面向?qū)ο蟮牟樵冋Z(yǔ)言與結(jié)構(gòu)化的查詢對(duì)象,還支持HTTPweb端的訪問(wèn)和JSON數(shù)據(jù)格式的API接口。 目前,領(lǐng)域的應(yīng)用都可以直接使用freebase的數(shù)據(jù)進(jìn)行分析、挖掘以及技術(shù)評(píng)測(cè),F(xiàn)reebase 官網(wǎng)提供 N-Triple RDF格式(.nt文件)的數(shù)據(jù)壓縮包的下載,例如,F(xiàn)B13是Freebase的子集,包含13種關(guān)系和75k種實(shí)體,經(jīng)常用于知識(shí)圖譜相關(guān)的評(píng)測(cè)任務(wù)。 由于Freebase是基于圖數(shù)據(jù)庫(kù)Metaweb開發(fā)的,Metaweb數(shù)據(jù)庫(kù)的圖結(jié)構(gòu)是由一系列的節(jié)點(diǎn)和反映節(jié)點(diǎn)間關(guān)系的有向連線組成,因此這個(gè)與屬性圖模型Neo4j十分類似。 三、總結(jié)本文以具有代表性的DBpedia、Freebase項(xiàng)目進(jìn)行了介紹,可以從中看到百科類圖譜的兩種重要構(gòu)建方法。 一方面,從DBPedia的構(gòu)建方法來(lái)看,通過(guò)制定統(tǒng)一的本體,并將這也是目前知識(shí)圖譜構(gòu)建中知識(shí)融合的一種常見(jiàn)處理手段,制定映射規(guī)則集合,供后續(xù)使用,對(duì)同一類型的實(shí)體使用不同的信息框,或者對(duì)同一屬性使用不同的屬性名進(jìn)行整理映射。 另一方面,F(xiàn)reebase的數(shù)據(jù)建模思想也在業(yè)界也廣受歡迎,其< Subject,Predicate,Object>的三元組形式將海量知識(shí)存儲(chǔ)在分布式數(shù)據(jù)倉(cāng)庫(kù)中,并以CVT(Compound Value Type)設(shè)計(jì)承載多元數(shù)據(jù),即抽象一個(gè)CVT的實(shí)例來(lái)攜帶多元信息,具有較好的表達(dá)能力。 |
|
|