本體學習 是什麼?
Ontology Learning:本體學習 的完整解釋
從非結構化文本或現有數據自動發現和學習本體及概念關係。
核心概念
本體學習的目標是自動化的本體構建。傳統的本體構建往往由領域專家手工定義,耗時費力且容易出現遺漏。本體學習通過機器學習和自然語言處理技術,從數據中自動抽取本體結構。
本體學習涉及多個任務的組合:
概念抽取:從文本中識別應該成為本體類的概念。例如,從醫學文獻中識別「疾病」、「症狀」、「治療」等概念。
概念關係挖掘:發現概念間的關係,如「糖尿病是內分泌疾病」(包含關係)、「胰島素是治療糖尿病的藥物」(相關關係)。
屬性和約束學習:識別概念的屬性及其值域限制。例如,疾病的屬性包括「患病人口」、「平均年齡」等。
本體學習不同於簡單的詞彙提取。它要求識別概念的語義層次和邏輯關係,建立可用於推理的知識結構。
運作原理
本體學習的方法分為多個層級:
基於語言規律和頻率統計的方法:利用語言的語法和詞頻特徵識別候選概念。例如,頻繁出現的名詞短語往往是重要概念。通過名詞共現分析識別關係,如果兩個詞經常在同一句或同一文檔中出現,它們可能相關。
基於種子和模式的方法:給定少數種子概念,通過 bootstrapping 逐步發現相關概念。例如,給定「癌症」作為種子,可以用「X 是一種疾病」的模式查找其他疾病。這需要設計好的模式,模式質量直接影響效果。
基於機器學習的方法:訓練分類器識別概念和關係。例如,訓練二分類器判斷兩個詞是否存在包含關係,訓練多分類器區分不同的關係類型。特徵包括詞的語言特徵(詞性、句法)、文本統計特徵和知識庫特徵。
基於深度學習的方法:使用神經網絡自動學習特徵。RNN 或 Transformer 能捕捉長距離的語言依賴,提高關係識別的準確度。
基於圖論的方法:將概念和關係看作圖的節點和邊,利用圖的拓撲特性(如聚類係數)識別重要概念和關係。
在實現中,本體學習通常是一個迭代過程,初期根據上述方法學習粗略的本體結構,然後逐步精化和驗證。
實際應用
在生物醫學領域,本體學習被廣泛用於從生物醫學文獻中自動構建領域本體。例如,美國國立衛生研究院(NIH)的 BioPortal 包含數百個生物醫學本體,其中許多通過半自動的本體學習生成。這些本體支持藥物發現、臨床決策支持等應用。
在電子商務中,平台用本體學習從商品描述和用戶標籤中自動發現商品分類和屬性。這比人工分類更快更全面,能及時應對新品上線和市場變化。
在知識圖譜初始構建中,許多公司用本體學習快速建立初期的本體框架,然後通過人工驗證和細化。DBpedia 的本體部分是從 Wikipedia 的信息框模板通過本體學習生成的。
在法律領域,律師事務所和司法機構用本體學習從法律文檔中發現法律概念和它們的關係,支持案例檢索和法律推理。
在企業知識管理中,組織用本體學習從員工手冊、項目文檔等內部文檔中自動發現組織知識的概念框架。
常見誤區
一個誤區是認為本體學習可以完全自動化。實際上,自動學習的本體往往包含噪聲和錯誤,需要領域專家進行驗證和修正。完全自動化的本體質量通常不理想。
另一個誤區是以為用更多文本就能學出更好的本體。實際上,文本的質量比數量更重要。高質量、專業的文本(如教科書、技術規範)學出的本體往往比低質量、混雜的文本更好。
有人認為本體學習得出的概念關係就是真實的語義關係。實際上,統計共現可能反映的是巧合或語言習慣,而非真實的語義關係。需要專家判斷和驗證。
與相關技術的比較
本體學習 vs 信息抽取:信息抽取提取具體的實體和事實,本體學習抽取抽象的概念和通用規則。抽取得到的是具體實例,本體學習得到的是類型和模式。
本體學習 vs 知識圖譜補全:補全預測已有本體中缺失的關係,本體學習發現本體本身的結構。補全假設本體已存在,學習建立本體。
本體學習 vs 聚類:聚類按相似度分組對象,本體學習識別概念的層次和邏輯關係。聚類產生扁平的分組,本體學習產生層次化的知識結構。
本體學習 vs 文本分類:分類將文本分為預定義的類別,本體學習從文本中自動發現類別體系。分類假設類別已知,學習發現類別。