語義網(知識圖譜)是什麼?有什麼好處?
整理自原始回答 鮑捷:語義網是什麼?有什麼好處?最早寫於2012-02-16,主要更新2014-07-31
現在語義網領域已經改名叫知識圖譜,下面說的內容對知識圖譜也都是適用的。我的觀點比較非官方,不一定對。我不是從「它具體是什麼技術」來定義的,而是「它要解決什麼問題」。只要解決這個問題的,就是語義網、知識圖譜的技術。
--------------------
我試著來問答一下我的理解。當然這個問題問三個這個領域的人可能能得到五個不同的答案。我講的這個是從我狹隘的世界觀出發的,請懂行的輕拍。
簡短的總結
說來話長。不同的學派在這個問題上差距太大了。如果我們過濾掉各種學術理想的「雜訊」,看現實工業應用有的語義技術,可能可以總結出如下特點——當然,哲學的討論永遠看不到結束的跡象。
- 語義網有所謂的W3C模式(就是RDF,OWL, SPARQL等)。這個模式發展很慢,很多人質疑。越來越多的人在探索其他模式。
- 很多所謂做語義網技術的公司核心技術都是別的,比如NLP,比如檢索,比如資料庫。語義網是他們數據的一層皮。看宣傳一定要小心。
- 目前全世界做語義網技術提供方案的公司,排得上號的大概有150家左右。
那 語義網到底有什麼用。用非常不精確的語言講:
- 動態的數據建模,不需要什麼schema或者shema可以快速演進(這是和資料庫和XML比的好處)
- 讓數據流動起來,而不是封固在一個個的網站或者應用里。
- 支持更多的任務自動化。(怎麼做到?一些數據可機器處理,一些推理,一些查詢)
深入解讀:語義網的目的和手段
語義網界研究早期有很多現在已經被糾正的概念(比如語義網的目的就是讓機器讀網頁)——早期,大多數人都低估了它的困難程度。按Nova Spivack的說法,傳統意義上的語義網(ca 2000定義)大概要到2030年才能實現。到2020年左右,如果運氣好的話可能能實現Data Web,也就是讓Web的上數據能自由流動起來。推理啊,機器理解啊,不是這個階段的核心任務。
我覺得可以從目的和手段兩個角度來解釋。
*目的*
從目的的角度,語義網是一套減少數據摩擦,加快數據流動速度的方法。
為什麼要加快數據流動速度呢?信息就和貨物一樣,慢速的系統和快速的系統創造出來的價值是完全不一樣的。快的系統在單位時間內可以讓更多的人參與到決策和行動中來,就可以打敗那些更慢的系統。網頁10秒打開和1秒打開,問題1分鐘內被回答和1天被回答,效果完全不同。火雲邪神說,天下武功,唯快不破,就是這個道理。
那數據流動為什麼會慢呢?有人機界面的摩擦,和機器-機器界面的摩擦。其中人機界面的摩擦是主要的。
人機界面的摩擦,就是人本身產生信息,從機器那裡消費信息,它的帶寬是很小的。比如語音,只有幾個比特。打字,也只有幾個比特。圖片看起來多,但最後落實到腦子裡,還是要一個理解的過程,最後變成語言可描述的形式。大多數人又是很懶的,依賴一些信息直覺來選擇最省力的信息,HCI裡面很多這種研究,不多說了。
舉例說,比如電子表格(比如Lotus123, Excel)的出現就是減小人機界面的摩擦的好樣板。在電子表格之前,也有資料庫,電子表格能幹的事情資料庫都能幹,那為什麼電子表格會更加流行呢?因為電子表格這種形式,更加符合人類認知的直覺,它不需要實現定義一個表結構,它可以把看起來相似的數據在屏幕上相近的組織在一起,它可以允許人們去實驗數據的各種組織方式。當然這些也都是資料庫都能幹的,可是資料庫軟體不友好,它關注的是機器效率問題,不是人和機器一起工作的效率問題。
機器和機器的摩擦,就是機器怎麼有效地把一個信息傳送給另一個機器?各種網路協議都在不同層次上解決這個問題。和語義網特別相關的有兩個。一個是XML,幫助機器建立一個交換數據的語言。一個是RSS,讓博客的傳播變得自動化。各個不同的領域都有自己的這種語言,比如金融領域的XBRL,醫療領域有HL7,圖書館領域都DC,等等。這些語言有些人叫模式(schema),有些人叫元數據(metadata),有些人叫本體(ontology),本質上都是促進機器之間通信的手段。
*手段*
語義網減少數據流動摩擦,加快數據流動速度的手段,也就是著眼減少人機界面的摩擦和機器與機器的摩擦這兩個方面。這兩個方面都是依靠為網頁添加可查詢的注釋。大家聽到說模式、元數據、本體,或者現在更時髦的鏈數據(linked data),知識圖譜(knowledge graph),本質上就是一個東西。
減少機器和機器的摩擦很好理解,網路界一直都在做的事情。打個比方說,我要寄一個包裹給張三。但是我沒有張三家的地址,我的包裹也沒有信封。我就要托一個郵遞員,告訴他張三住在東邊山腳下第四棵大樹下面。然後我托的這個人可能要找很久才能找到這個地方。現在可以做兩件事加快這個過程。第一,我要有張三的門牌號碼地址。在語義網裡,這就是給每個網路資源一個網址URI——如果本來沒有的就創造一個。第二,我要有一個寫地址的信封,這個地址最好是機器可處理且自描述的。什麼意思呢?比如這個地址是二維碼,郵遞員可以把這個地址往GPS里一掃,一下子就知道了,哦,原來這是個居民區,某個地方,我該怎麼走。
自描述的網路可定址資源, self-describing dereferenceable URI,這個是我理解的語義網的技術核心。說白了,就是要給東西起名字,然後再解釋這些名字是什麼。這個解釋就是所謂的元數據。最重要的元數據是名字之間的關係,這就構成了一張圖。現在火爆到hype的知識圖譜,就是這麼個東西。在這上面可以有很多更上層的操作,如查詢,如推理。
那減少人機界面的摩擦呢?這個就是強調,如何利用元數據讓用戶來探索,來發現。比如寄包裹那個例子,如果信封上只印二維碼可以嗎?不可以,大多數人不會寫二維碼的(對應到語義網,大多數人不會去寫元數據的),也看不懂。你必須提供工具讓寄信的人、郵遞員、收信的人都一眼就明白,哦,這個包裹從哪裡來到哪裡去。比如Faceted Browser,就是讓用戶在交互的過程中逐漸找到最需要的信息。還有各種可視化Visualization,特別是互動式的可視化,把數據變成特別容易理解的形式。再有社交媒體上現在越來越多的元數據,如Facebook Open Graph, Twitter Card,這些都是幫助用戶集成信息,更直接地看到信息,發現信息的手段。
*學派*
但是很不幸,語義網內部分裂成兩派,減少「人機界面的摩擦」和減少「機器與機器的摩擦」這兩派在鬥爭中合作,在合作中鬥爭,已經內耗了十幾年了。
用Jim Hendler (disclaimer:我以前的老闆)的話說:這就是強調「語義」呢(SEMANTIC web),還是強調「網」(Semantic WEB)
減少「機器和機器的摩擦」,也就是SEMANTIC web,更多找眼於機器的效率。坦白說,大多數這個領域的人開始都是在關注這個問題,有原罪。所以從RDF, OWL, OWL2, RIF下來,發明了一系列這種語言,越來越邏輯,越來越沒人懂,越來越被歷史唾棄。後來就變成一些邏輯學家的遊戲了。現在他們在幾個會議里,如KR, AAAI,還在堅持。大多數工業界的實踐已經和這些沒有關係了。可惜很多教科書還由於歷史原因,在這麼教。
減少「人機界面的摩擦」,就是Semantic WEB,更多著眼於如何更好的服務於人。從Web現有的技術出發,比如博客啊,比如圖片啊,比如JSON啊,怎麼加上一點點結構化數據,每加一點就讓用戶感受到價值? 現在大家發明了很多輪子,很多不冠以語義網的名字。怎麼從這些實踐中總結(而不是設計)出一個最優實踐來?這個是前沿現在關心的問題。
還有一些實踐是介乎兩者中間的,比如Watson, 比如Siri,既提供了智能的人機界面,又實踐了大規模的機器處理。
*結語*
語義網是利用結構化數據,加快數據流動速度的方法。通俗解釋請看文中寄信那個例子。
推薦閱讀:
※探索「意識」的起源:從RNA世界假說到人類大腦糾纏網路
※有一種未來科技叫作還人類以本真
※小愛同學已具備的【公共能力】
※DeX-Platform 助力工業機器人應用解決方案開發
※AI在餐飲服務行業的4大應用,你看好哪個?