知識圖譜學習與實踐(2)——知識圖譜數據模型的構建

數據模型就是數據組織方式,是構建知識圖譜首要解決的問題,不管是開放域的知識圖譜仍是行業的知識圖譜,都須要收集大量的數據,這些數據的收集是有選擇性的,這個選擇的依據就是數據模型。數據模型,也能夠稱爲知識表達模型,解決知識圖譜如何組織數據的問題,是數據的底層架構,是一個知識體系框架,可以涵蓋住知識圖譜全部的數據,決定了數據收集的範圍。架構

1 數據的分類問題。框架

通用知識圖譜,它收集的數據比較全,涉及到各類各樣的知識。咱們能夠把通用知識圖譜認爲是一個大而全的知識圖譜,它基本能涵蓋全部的知識,固然,這類通用知識圖譜,因爲涵蓋的知識範圍廣,全部對於某一個知識點,可能不會說的特別細,也就是深度不夠。行業知識圖譜和通用知識圖譜,正好是一個互補的關係,行業知識圖譜是對某一個行業的知識,組織的很專業,研究的很深刻。3d

不管是通用知識圖譜仍是行業知識圖譜,都存在數據的組織問題,首要的就是數據如何分類,能夠畫一個樹狀圖,根節點爲物體或者對象,就是包含萬物,而後再一層層的進行分類,知識圖譜中的全部知識均可以在樹狀圖中找到對應的節點。對象

下面咱們以百科數據爲例,介紹一下知識圖譜的分類問題。其它通用知識圖譜,也有本身的分類體系,和百科的分類大同小異,但也有本身的一些特色。blog

百科知識的組織,第一層分類爲藝術、科學、天然、文化、地理、生活、社會、人物、經濟、體育、歷史等。字符串

 

選擇一個分類,好比科學分類,就能看到第二層分類科學的分類體系,包括健康醫療、航空航天、天文學、環境生態、農業科學、生命科學、數理科學、心理學、信息科學、工程技術、化學、地球科學、其它等。基礎

 

再繼續選擇,好比健康醫療,就能夠看到第三層的分類,醫學知識庫的知識分類狀況,從醫療症狀、藥物、中醫藥、診斷技術等幾個維度來組織醫學知識。百度

 

經過這種分類體系,就會發現,不管收集什麼知識,咱們均可以在體系中找到對應的分類,這樣有利於你們在這個知識圖譜中查找知識,也有利於添加知識,擴展知識圖譜的數據內容。擴展

2 數據的屬性方法

對於數據組織體系,在分類到末端節點,也就是葉子節點,就須要對這個葉子節點(具體知識點)進行描述,如何將一個知識點描述清楚,在知識圖譜中,須要使用屬性來描述知識點。這些屬性能夠從多個方面,多個層次來描述事物。

咱們仍是以百科數據爲例,在醫學知識庫中,找到葉子知識點,好比糖尿病, 詞條中最重要的一個是定義或者叫作簡介,說明什麼是糖尿病,而後是幾個主要屬性,英文名稱、常見症狀、就診科室、傳染性等。把這些屬性放到最開始的位置,人們看到後,就能夠對糖尿病有一個大體的瞭解,這些屬性也可以簡單反映糖尿病這個知識點的基本狀況。

 

除了基本的屬性,對於糖尿病這個知識點,還有更多的描述,百科是從病因、檢查、鑑別診斷、臨牀表現、診斷、治療這幾個維度,來闡述糖尿病,經過這些更進一步的屬性,人們就會對糖尿病有一個更深刻的瞭解。

 

下面咱們再繼續來看一下,檢查這個屬性,都包括哪些內容。百科中列出了比較多的檢查項目或者稱爲檢查內容,血糖、尿糖、尿酮體、糖基化血紅蛋白(HbA1c)、糖化血清蛋白等等,並且對於每一項檢查內容,都有一個簡短的說明。

 

上面的屬性,就是百科對於疾病症狀的知識組織方式,咱們能夠看一下其餘的疾病症狀,基本上都是按照這個方式,來組織屬性數據。糖尿病這個疾病症狀,經過一些屬性,還能夠關聯到其它詞條,好比檢查內容中的血糖。這樣就能夠在知識點之間創建關聯,造成一個網狀的知識圖譜。

 

3 數據模型的構建過程

在構建數據模型的實踐中,基本上都會找一個相似的知識體系,或者粗略的數據分類體系,而後以其爲基礎,再進行擴展。固然,在收集數據的過程當中,也可能會收集到大量脫離數據模型的數據,這時候,就能夠根據這些數據進行數據模型的修改和完善。

構建數據模型的初始階段,能夠找一個知識圖譜的中心數據,好比構建一個音樂知識圖譜,能夠以歌曲爲中心,先考慮歌曲的屬性,好比演唱者、做詞、做曲、分類、歌詞、曲譜等等,對於這些屬性,一方面是考慮在知識圖譜中是否合適,須要不斷地斟酌,修改、增長或者刪除一些屬性,從而達到完善屬性的目的。另外一方面,還要肯定這些屬性對應的屬性值,好比演唱者、做詞、做曲都是對應的人,人也是一種實體,也會有不少屬性,好比出生日期、性別、姓名、籍貫、主要事蹟、做品等等,對於人的屬性,又能夠開啓屬性論證工做,肯定使用哪些屬性,屬性值的範圍等。

在不斷肯定屬性和屬性值範圍的過程當中,咱們還要明確一個邊界。由於對於這種關聯關係,能夠一直作下去,最後都會變成一個萬物互聯的通用知識圖譜。咱們有的時候,多是構建一個行業知識圖譜,這時候,邊界的肯定就很重要,好比出生日期,對於古代人,就不能寫成年月日的形式,可能就是一個朝代,這個朝代也是一個實體,咱們就沒有必要再對朝代進行屬性和屬性值的肯定。由於朝代對於咱們知識圖譜來講,已是相關性很小的知識了。對於朝代這類和知識圖譜相關性比較弱的知識實體來講,咱們才以爲辦法,最簡單的處理就是直接寫一個名稱,將它看做一個字符串或者是一個枚舉值,做爲枚舉值的話,須要羅列出全部的朝代。另一種處理方法就是將包含的朝代連接到通用知識圖譜,好比百度百科或者dbPedia等公認的通用知識圖譜。咱們專一於行業知識圖譜中,關聯性比較強的數據。

4 數據模型須要注意的問題

咱們最終構建的數據模型,須要注意兩個方面的問題。

一個是體系的完備性。有類、子類這樣的層次關係,實體都能劃分到這個層次關係中。類的屬性,子屬性,每一個類都有什麼屬性,屬性之間存在什麼樣的關係,對於一個屬性來講,它能夠看做是謂語,主語和賓語的範圍如何界定。將類、子類、屬性、子屬性之間的關係描述清楚,可以把知識圖譜中的相關實體都歸入到這個體系中,而且經過屬性敘述清楚實體,就表示這個數據模型知足了知識圖譜的完備性要求。

另外一個須要注意的是數據模型度的把握。雖然有完備性的要求,但也不能將全部的內容都羅列到數據模型中。對於數據模型中的類和屬性,要有所取捨,只選取那些和知識圖譜相關性強的類和屬性,一開始能夠選的粗一些,而後再逐漸細化。也能夠一開始就作的比較細緻,後面再進行刪減,最後造成一個內容適當的數據模型。

5 結語

如今構建知識圖譜數據模型,都有必定的依據,通常不會從零開始,有一個雛形做爲數據模型的基礎,再進行完善。基本模式是以自頂向下爲主,再根據收集的數據,對數據模型進行修正,也就是自底向上爲輔,這樣的構建方式比較廣泛。

相關文章
相關標籤/搜索