淺談領域知識
通用知識,通常需要處理的數據通常多屬於非結構化數據,技術挑戰較高。
因此,這裡僅針對領域知識及相關問題進行探討:
領域知識
需要較依賴於結構化數據,將該領域的相關知識聚集並且分類。
這些數據可以用時間和空間來作為基本維度,並且基本上都會具有幾種類型的數據
- 實體數據
- 關係數據
- 軌跡數據
上述的實體數據及關係數據,主要是用來提供領域基本訊息,並且進行結構話
但容易遇到質量差,標準不一致的情況,
因此如何透過資料探勘,數據格式化,標準化,映射,關聯,融合等過程,將數據質量提升
軌跡數據的時間和時空特徵會比較明顯,但是這些原始的顯性軌跡數據無法直接與實體數據及關係數據連結。
通常,軌跡數據必須再經過大量的計算及資料探勘,才能獲取有價值的動態關係數據,與實體數據及關係數據產生有效連結,這些數據關聯稱之為隱性關係。
例如,下圖說明,如何將自然語言轉換成為結構化實體:
傳統的知識系統,通常都是基於統計及演算法來達成。
例如: CWS 用於識別名字、地名、機構名稱;使用 biLSTM/DRF 負責進行語言學習訓練,提升識別精準度。
目前,在人工智慧則多數是使用深度學習演算法來解決問題,
例如,透過 CNN/LSTM 來學習詞語位置所處在的位置,並且以向量的方式表示。透過 sliding windows 演算法,用神經網路學習並且預測句子。深度學習方法,通常是透過端對端,不需要進行人工標的出相關的特徵,就能進行。
深度學習所遇到的困境
在使用深度學習解決問題時,需要相對大量的知識庫,以及大量的增強這些知識,在實際應用時,純粹透過完全深度學習的方式往往在領域知識所萃取出的知識規則比率相當低,成本太高。
領域知識的海量數據中,通常有關係的實體會散佈在不同的位置,這些有關係的實體也可能存在多種不同的表達方式,非常難以獲取。因此,多數機器學習仍會結合半監督的方式來達成,透過人工標記的方式來高校的提高知識庫的質量,讓這些關係可以立基於一些可預先定義的標靶上。
如何達到高效標記
透過標記,可以將非結構數據進行結構化數據集,再用這些數據集用來培訓出 NLP 模型,但是標記的工作,需要依賴大量的人力,因此如何高效標記,就成為能否大量節省人力的關鍵。
高效標記,可以透過一些標注工具來輔助,提升標記效率,例如,在標記過程可以及時提供詞語建議,自動完成建議,來幫助標記人員完成資料結構話。
遷移學習
Transfer Learning 遷移學習,是把訓練好的模型,遷移到新的模型,幫助訓練新模型。透過這種分享的方式來加速優化新模型的學習效率。有許多公司會使用遷移學習來解決一些數據缺乏訓練的問題。在人工智慧訓練過程中,資源匱乏時,往往都會將遷移學習設定為首選。
但是,遷移學習也有缺點,通常新模型訓練過程,在實際應用時,仍需要大量的進行領域參數調整,降低數據噪音的工作。
圖形資料庫
在建構大規模的領域知識,通常會搭配圖形資料庫,例如 : Neo4j, Microsoft Azure Cosmos DB, Datastax Enterprise, OrientDB, ArangoDB…
圖形資料庫,架構非常適合用於紀錄實體與實體之間的關係,也可用於儲存及分析軌跡,標籤,規則數據等模型
超級節點與關係爆炸的挑戰
在分析領域知識時,可能會遇到一些超級節點或關係爆炸的問題,導致演算過程遇到這些節點,會被癱瘓掉的問題,一直都是現有演算系統會遇到的挑戰。