- 從零構建知識圖譜:技術、方法與案例
- 邵浩 張凱 李方圓 張云柯 戴錫強
- 1628字
- 2021-08-06 17:17:16
1.3 知識圖譜的模式
前文一直在實際數據的層面談論知識圖譜,也談到了本體被用于為知識圖譜定義模式。作為知識圖譜中的重要概念,本節我們將深入討論知識圖譜的知識體系——模式的含義和構建。
人類一直在探尋世間真理,嘗試建立知識體系。從亞里士多德開始,就有很多人對世間的萬事萬物進行分類。比如亞里士多德將元素分為土、水、火、空氣和以太(構成天體的神圣物質),在中國最早的古漢語辭書《爾雅》中則將世間萬物分為了天地山水、草木鳥獸等19個門類,并對每一個門類都進行了詳細的講解。例如在“釋獸”中有這樣的描述:“狗四尺為獒”。也就是說,獒是狗的一種,而且是身長四尺以上的狗。
上文我們提到,在知識圖譜的圖結構表示中,結點代表語義實體或概念,邊代表結點間的各種語義關系。那么,實體和概念又該如何區分呢?
舉一個簡單的例子。在三元組<姚明,國籍,中國>中,“姚明”和“中國”是兩個實體,而姚明是一個人(Human)或者籃球運動員(Basketball Player),中國是一個地點(Location)或者一個國家(Country)。這里,人、籃球運動員、地點、國家,都可以看作概念。前文提到,由概念組成的體系稱為本體,本體的表達能力比模式強,且包含各種規則(Axiom),而模式這個詞匯則來源于數據庫領域,可視為一個輕量級的本體。實體和概念之間通常是“是”的關系,也就是“isA”關系,比如“中國是一個國家”。而概念和概念之間通常是子集關系,如“subClassOf”,比如“籃球運動員是人的一個子集”,“國家是地點的一個子集”。一個簡單的由本體所描述的模式如圖1-9所示。

圖1-9 模式示例
總體來看,本體強調了概念之間的相互關系,描述了知識圖譜的模式,而知識圖譜是在本體的基礎上增加了更豐富的實體信息。通俗來講,模式是骨架,而知識圖譜是血肉。有了模式,我們可以更好地推理和聯想。例如,樹是一種植物,柳樹是樹的一種實例化,則可以推斷出“柳樹是植物”。
接下來我們談一下由Google、Microsoft和Yahoo!三大巨頭于2011年推出的模式規范體系:Schema.org[1]。這個規范體系是一個消費驅動的嘗試,其指導數據發布者和網站構建者在網頁中嵌入并發布結構化數據,當用戶使用特定關鍵字搜索時,可以免費為這些網頁提升排名,從而起到搜索引擎優化(SEO)的作用。Schema.org支持各個網站采用語義標簽(Semantic Markup)的方式將語義化的鏈接數據嵌入網頁中。它的核心模式由專家自頂向下定義,截至目前[2],這個詞匯本體已經包含700多個類和1300多種屬性,覆蓋范圍包括個人、組織機構、地點、時間、醫療、商品等。通過SEO的明確價值導向,Schema.org得到了廣泛應用,目前全互聯網有超過30%的網頁增加了基于它的數據體系的數據標注。
舉一個簡單的例子,對于一個電影門戶網站的站長來說,如果現在一位用戶正在搜索電影《八佰》,該站長希望能夠通過SEO提升自己網站的排名,從而讓用戶更加傾向點進站內的相關電影界面。傳統的HTML標簽只會告訴瀏覽器如何渲染網頁上的信息,例如<h1>The Eight Hundred</h1>僅僅告訴瀏覽器以大標題形式顯示文本文字“The Eight Hundred”,沒有明確給出這些文本文字的信息。而Schema.org可以理解為一份共享詞匯表,一種語義化的網頁結構標記。對于搜索引擎而言,使用Schema.org規范,可以讓搜索更準確,生成豐富的網頁摘要。采用Schema.org規范的網頁標簽示例如下:
1. <div itemscope itemtype="http://schema.org/Movie"> 2. <h1 itemprop="name">The Eight Hundred</h1> 3. <div itemprop="director" itemscope itemtype="http://schema.org/Person"> 4. Director: <span itemprop="name">Hu Guan</span> 5. (born <time itemprop="birthDate" datetime="1968-08-01">August 01, 1968</time>) 6. </div> 7. <span itemprop="genre">War</span> 8. <a href=" .../trailer/the-eight-hundred-trailer.html"itemprop="trailer"> Trailer</a> 9. </div>
無論是程序員、搜索引擎還是網絡爬蟲,都可以很輕松地通過Schema.org獲取到結構非常清晰的信息:
類型:電影(Movie)
名稱:八佰(The Eight Hundred)
導演姓名:管虎(Hu Guan)
導演生日:1968年08月01日
影片類型:戰爭片(War)
當然,Schema.org也有體系覆蓋度不足、局限于英文、細致化不足等缺點。尤其是在構建特定領域模式的過程中,經常需要融合多種知識體系。由于這些不同體系關于類別、屬性的定義并不統一,例如GeoNames、DBpedia Ontology、Schema.org等都有各自獨特的體系定義,因此,體系融合也是一個非常大的難題。在工業實踐中,開發人員一般會根據一個成熟的知識體系,結合特定需求,構建適合自身需求的模式。例如,狗尾草智能科技有限公司推出的百科知識圖譜“七律”[3]及其相應的模式,就是基于AI虛擬生命開發的知識體系,如圖1-10所示。

圖1-10 狗尾草知識圖譜——七律示例
[1] https://schema.org/。
[2] 截至2021年4月30日。
[3] https://ai.gowild.cn/kg。
- 軟件項目管理(第2版)
- 三維圖形化C++趣味編程
- Unity 5.x By Example
- Scala Reactive Programming
- Domain-Driven Design in PHP
- HTML5+CSS3+jQuery Mobile APP與移動網站設計從入門到精通
- Django Design Patterns and Best Practices
- Python硬件編程實戰
- Mobile Forensics:Advanced Investigative Strategies
- INSTANT Lift Web Applications How-to
- Scratch超人漫游記:創意程序設計:STEAM創新教育指南
- Scratch編程入門與算法進階(第2版)
- Getting Started with Hazelcast
- 精通Rust(第2版)
- 寫給所有人的編程思維