1. 程式人生 > >知識圖譜的技術與應用-筆記

知識圖譜的技術與應用-筆記

知識圖譜的技術與應用

原文連結

概論

只要有關係分析的需求,就能用上“知識圖譜”

場景

  • 社交網路圖譜
  • 風控知識圖譜

知識圖譜應用的前提是已經構建好了知識圖譜

知識圖譜是一個比較新的工具,主要作用在於分析關係,尤其是深度的關係。

知識圖譜領域最重要的是知識的推理。

知識圖譜工程本身還是業務為中心,以資料為中心。

什麼是知識圖譜

知識圖譜本質上是語義網路的知識庫

  • 知識圖譜也可以認為是一個知識庫

知識圖譜也可以算是 多關係圖。

  • 多關係圖:包含多種型別的節點和多種型別的邊

實體:現實世界中的事物。

  • 比如人、地名、概念、藥物、公司等

關係

  • 表達不同實體之間的某種聯絡

當一個知識圖譜擁有屬性時,可以用屬性圖來表示

儲存方式

  • RDF
    • 學術界
    • 很多三元組來組成
    • 特點
    • 易於釋出和分享資料,但不支援實體或關係擁有屬性
  • 圖資料庫
    • 工業界
    • 儲存屬性圖
    • 增長最快的儲存系統
  • RDF和圖資料庫對比
    • RDF
    • 儲存三元組
    • 標準的推理引擎
    • W3C標準
    • 易於釋出資料
    • 代表框架:Jena
    • 圖資料庫
    • 節點和關係可以帶有屬性
    • 沒有標準的推理引擎
    • 圖的遍歷效率高
    • 事務管理
    • 代表框架:Neo4j、OrientDB、Janus Graph

知識抽取

難點在於處理非結構化資料

資料來源渠道

  • 業務本身的資料,公司內部資料庫
  • 網路上公開抓取的資料,網頁資料
    • NLP
    • 實體命名識別
      • 從文本里提取出實體,並對每個實體做分類/打標籤
      • 比較成熟的技術,有現成的工具
    • 關係抽取
      • 把實體間的關係從文字中提取出來
      • 兩個問題
      • 實體統一(實體對齊)
        • 作用:降低稀疏性
      • 指代消解
    • 實體統一
    • 指代消解

金融知識圖譜的搭建

搭建一個知識圖譜,最重要的核心在於對業務的理解以及對知識圖譜本身的設計

構建知識圖譜的步驟

  • 1、定義具體的業務問題
  • 2、資料的收集和預處理
  • 3、知識圖譜的設計
  • 4、把資料存入知識圖譜
  • 5、上層應用的開發以及系統的評估

步驟一:定義具體的業務問題

  • 需明確:業務問題到底需不需要知識圖譜系統的支援
  • 如果滿足下列條件,用更簡單的方式~
    • 對視覺化需求不高
    • 很少涉及到關係的深度搜索
    • 關係查詢效率要求不高
    • 資料缺乏多樣性
    • 暫時沒有人力或者成本不夠
  • 如果滿足下列條件,選擇知識圖譜
    • 有強烈的視覺化需求
    • 經常涉及到關係的深度搜索
    • 對關係查詢效率有實時性要求
    • 資料多樣化、解決資料孤島問題
    • 有能力、有成本搭建系統

步驟二:資料的收集和預處理

  • 確定資料來源
    • 我們已經有哪些資料?
    • 雖然現在沒有,但是可能拿到哪些資料?
    • 其中哪部分資料可以用來降低風險?
    • 哪部分資料可以用來構建知識圖譜?

步驟三:知識圖譜的設計

  • 先考慮三個問題
    • 1、需要哪些實體、關係和屬性?
    • 2、哪些屬性可以作為實體,哪些實體可以作為屬性?
    • 3、哪些資訊不需要放在知識圖譜中?
  • 設計知識圖譜原則-BAEF
    • 業務原則 Business Principle
    • 一切要從業務邏輯出發,並且通過觀察知識圖譜的設計也很容易推測其背後業務的邏輯,而且設計時也要想好未來業務可能的變化。
    • 分析原則 Analytics Principle
    • 關係分析無關的實體不需要放在知識圖譜中
    • 效率原則 Efficiency Principle
    • 效率原則讓知識圖譜儘量輕量化,並決定哪些資料放在知識圖譜,哪些資料不需要放在知識圖譜。
    • 把常用的資訊放在知識圖譜中,把那些訪問頻率不高,對關係分析無關緊要的資訊放在傳統的關係型資料庫中。
    • 效率原則的核心在於把知識圖譜設計成小而輕的儲存載體。
    • 冗餘原則 Redundancy Principle
    • 有些重複性資訊、高頻資訊可以放到傳統資料庫中

10億節點以下規模的知識圖譜,用Neo4j圖形資料庫就夠了

知識圖譜在金融領域上層應用的開發

靜態圖譜分析

  • 靜態關係圖譜
    • 不考慮圖譜結構本身隨時間的變化,只聚焦在當前知識圖譜結構上。
  • 從演算法的角度,有2種不同的場景
    • 基於規則的應用
    • 不一致性驗證
      • 通過一些規則去找出潛在的矛盾點。
      • 規則是人為提前定義好的,需要一定的業務知識
    • 基於規則提取特徵
      • 基於深度的搜尋提取的特徵,可以作為模型的輸入。
      • 如果特徵不涉及深度的關係,傳統的關係型資料庫可以滿足需求
    • 基於模式的判斷
      • 適用於找出團體欺詐,通過一些模式來找到有可能存在風險的團體或者子圖,對這部分子圖做進一步的分析。
      • 多點共享資訊,共享了多個實體
      • 強連通圖,標記出來,做進一步的分析
        • 強連通圖:每一個節點都可以通過某種路徑達到其他的點,這些節點之間有很強的關係。
    • 基於概率的應用
    • 社群挖掘
      • 社群挖掘演算法的目的在於從圖中找出一些社群。
      • 社群內節點之間關係的密度要明顯大於社群之間的關係密度。
    • 標籤傳播
      • 標籤傳播演算法的核心思想在於節點之間資訊的傳遞。通過這種關係會不斷地吸取高質量的資訊。
    • 聚類
    • 基於規則的方法和基於概率的方法比較
    • 基於概率的方法需要足夠多的資料。如果資料量很少,而且整個圖譜比較稀疏,基於規則的方法會更加適用。

動態圖譜分析

  • 在兩個時刻中間,圖譜結構(或部分結構)發生了很明顯的變化。
  • 如何判斷結構變化?
    • dynamic network mining

知識圖譜在其他行業中的應用

教育行業

  • 個性化教育
    • 理解學生當前的知識體系,知識體系依賴於我們所獲取到的資料(互動資料、評測資料、互動資料等)
    • 為了分析學習路徑以及知識結構,需要針對於一個領域的概念知識圖譜
    • 知識圖譜的好處就是把我們所需要關注的範圍很快給我們圈定。