簡單理解就是一個圖,節點是各類各樣的現實當中的實體,如人、物、組織等,線是反應節點之間的關係或者屬性。如圖所示。 算法
現在知識圖譜普遍應用於聊天機器人,推薦系統等方面,而在金融、農業、電商、醫療健康、環境保護、工業製造場景等各類不一樣的垂直領域,得益於知識圖譜的先驗知識的特性,均獲得了普遍的應用。說的抽象點,知識圖譜就是把離散的符號表述,變成了連續的向量表示的巨大的知識網絡圖。數據庫
目前有兩種方法,一種是 RDF ,它是由不少三元組組成的,優勢是易於發佈分享,缺點是不支持實體或者關係擁有屬性,若是非要加屬性則須要作特殊的修改,目前多用於學術場景,常見的有 Jena 。另外一種方法是圖數據庫,主要是由高校的查詢和搜索,,如 Neo4j 應用最普遍,界面比較清晰,更容易表達現實的業務場景中的關係,數據量在不過億級的狀況下效果仍是能夠的,惟一的缺點就是不支持分佈式。markdown
構建知識圖譜的數據無非就兩個來源:一個是公司內部的業務數據,通常都存在結構化的數據庫中,能夠直接拿來用。另外一種是須要經過爬蟲從網上抓取的網頁,或者外部提供的數據,此類數據比較雜亂無結構,須要進行必要的處理。因此難點主要來源於後者。主要涉及到天然語言的相關技術,如實體命名識別,關係抽取,實體統一,指代消解。以下圖使用非結構化的文本構建知識圖譜。網絡
上面的涉及的幾項 NLP 技術都用到了 分佈式
常見誤區:在不涉及數據的重要性狀況下,不少人認爲搭建一個知識圖譜系統的重點在於算法和開發。但事實並非想象中的那樣,其實最重要的核心在於對業務的理解以及對知識圖譜自己的設計,而且還要對將來業務有必定的預估,這就相似於對於一個業務系統,數據庫表的設計尤爲關鍵,並且這種設計絕對離不開對業務的深刻理解以及對將來業務場景變化的預估。oop
主要的步驟:學習
明確自身業務需不須要知識圖譜的支持人工智能
定義具體的業務問題spa
數據的收集和預處理.net
常見問題:
1. 咱們已經有哪些數據?
2. 雖然如今沒有,但有可能拿到哪些數據?
3. 其中哪部分數據能夠用來下降風險?
4. 哪部分數據能夠用來構建知識圖譜?
5. 注意並非全部跟目標相關的數據都要進入知識圖譜
複製代碼
知識圖譜的設計
常見問題:
1. 須要哪些實體、關係和屬性?
2. 哪些屬性能夠作爲實體,哪些實體能夠做爲屬性?
3. 哪些信息不須要放在知識圖譜中?
複製代碼
設計原則:
業務原則:一切要從業務邏輯出發,而且經過觀察知識圖譜的設計也很容易推測其背後業務的邏輯,並且設計時也要想好將來業務可能的變化。好的設計很容易讓人從圖譜中看到業務自己的邏輯。
分析原則:不須要把跟關係分析無關的實體放在圖譜當中。
效率原則:在於把知識圖譜設計成小而輕的存儲載體,對關係分析可有可無的信息放在傳統的關係型數據庫當中。
冗餘原則:有些重複性信息、高頻信息能夠放到傳統數據庫當中。
複製代碼
知識圖譜的存儲
存儲上咱們要面臨存儲系統的選擇,但因爲咱們設計的知識圖譜帶有屬性,圖數據庫能夠做爲首選。但至於選擇哪一個圖數據庫也要看業務量以及對效率的要求。若是數據量特別龐大,則 Neo4j 極可能知足不了業務的需求,這時候不得不去選擇支持準分佈式的系統好比 OrientDB , JanusGraph(原 Titan) 等,或者經過效率、冗餘原則把信息存放在傳統數據庫中,從而減小知識圖譜所承載的信息量。 一般來說 Neo4j 已經足夠了。
上層應用的開發以及系統的評估
構建好知識圖譜,根據需求,從圖譜中挖掘有價值的信息。從算法的角度來說,有下面三種不一樣的場景:一種是基於規則的,常見的應用分別是不一致性驗證、基於規則的特徵提取、基於模式的判斷;另外一種是基於機率的,常見的應用有社區挖掘、聚類等;還有一種是基於動態網絡的,常見的應用有 T 時刻到 T+1 時刻風險變化等。
相比規則的方法論,基於機率的方法的缺點在於:須要足夠多的數據。若是數據量不多,並且整個圖譜比較稀疏(Sparse),基於規則的方法能夠成爲咱們的首選。尤爲是對於金融領域來講,數據標籤會比較少,這也是爲何基於規則的方法論仍是更廣泛地應用在金融領域中的主要緣由。
鑑於目前 AI 技術的現狀,基於規則的方法論仍是在垂直領域的應用中佔據主導地位,但隨着數據量的增長以及方法論的提高,基於機率的模型也將會逐步帶來更大的價值。
首先,知識圖譜的主要做用仍是在於分析關係,尤爲是深度的關係。因此在業務上,首先要確保它的必要性,其實不少問題能夠用非知識圖譜的方式來解決。
知識圖譜領域一個最重要的話題是知識的推理。 並且知識的推理是走向強人工智能的必經之路。但很遺憾的,目前不少語義網絡的角度討論的推理技術(好比基於深度學習,機率統計)很難在實際的垂直應用中落地。其實目前最有效的方式仍是基於一些規則的方法論,除非咱們有很是龐大的數據集。
最後,仍是要強調一點,知識圖譜工程自己仍是業務爲重心,以數據爲中心。不要低估業務和數據的重要性。