开源开放 | DeepKE发布新版本:支持低资源、长篇章、多任务的图谱抽取开源框架(浙江大学)...
OpenKG地址:http://openkg.cn/tool/deepke
GitHub地址:https://github.com/zjunlp/deepke
Gitee地址:https://gitee.com/openkg/deepke
DeepKE網站:http://deepke.zjukg.org/CN/index.html
開放許可協議:GPL 3.0
貢獻者:浙江大學(張寧豫、陶聯寬、徐欣、余海洋、葉宏彬、謝辛、陳想、黎洲波、李磊、梁孝轉、姚云志、喬碩斐、鄧淑敏、張文、鄭國軸、陳華鈞),阿里巴巴(熊飛宇、陳輝、陳強),阿里巴巴達摩院(張珍茹、譚傳奇、黃非)
知識圖譜以結構化的形式描述真實世界中實體間的復雜關系,是人工智能的底層支撐。依托于行業數據和深度學習技術,知識圖譜已被廣泛應用于諸多產業核心的場景。知識抽取是構建知識圖譜的基石,一般由多個任務組成,包含如實體識別、關系抽取、屬性抽取等具體抽取任務。現有的知識圖譜構建工作大多假設知識圖譜中的實體或關系有充足的三元組實例來訓練向量表示,因此需要大量的人工標注樣本。但在實際場景的知識圖譜中,大量的實體或關系僅具有非常少的三元組,即存在低資源問題。對于大量垂直領域如醫療健康、金融風控等,大量的實體關系三元組知識蘊含在長篇章中不同句子的,且文檔中的多個實體之間,往往存在復雜的相互關系。
針對以上挑戰,基于原DeepKE工具,本文發布知識抽取工具包新版本。新增低資源、長篇章抽取能力,并擴展到實體識別、屬性抽取等多個任務,以統一的接口實現了實體識別、關系抽取、屬性抽取模型:
工具新增的主要功能有:
1.?重新封裝了全新的Pytorh訓練測試接口,并提供了詳細的Notebook?Tutorial
2.?新增低資源、長篇章(關系)抽取功能
3.?新增實體抽取、屬性抽取功能,覆蓋更多的知識抽取任務
工具總體設計架構圖如下:
1、應用場景
1.1 實體識別
實體識別的目的是從非結構化的文本中抽取出實體。比如對于句子“秦始皇兵馬俑位于陜西省西安市,是世界八大奇跡之一。”“秦始皇”為人物實體,“陜西省西安市”為地點實體。本文提供常規和少樣本這兩個模塊。
常規模塊,即常用的預訓練語言模型。少樣本模塊借鑒Prompt-tuning的思想,對于實體識別任務采用了低資源生成式的框架LightNER,通過增加模版來識別出實體,并且提出了一個全新的模版導向注意力層,即將模版加入到原有的自注意力層中。
1.2 關系抽取
關系抽取是從非結構化的文本中抽取出實體之間的關系。比如對于句子“《岳父也是爹》是王軍執導的電視劇”“岳父也是爹”和“王軍”這兩個實體所抽取出來的關系是導演。本文提供了常規、少樣本和文檔級這三個模塊。
常規模塊,包括了六種常用的深度學習模型,有CNN、RNN、Capsule、GCN、Transformer以及預訓練語言模型。
少樣本模塊借鑒prompt-tuning的思想,對于關系抽取任務采用KnowPrompt模型,將實體及其關系的這些知識注入到可學習的模版和答案的構造中,并且通過知識約束來協同優化模版和答案的表示。
文檔級模塊采用了DocuNet,首先將文本進行編碼并基于實體之間的相關性來計算實體之間的初始關系矩陣。然后該初始關系矩陣通過U形分割模塊得到最終的實體間關系矩陣,兩實體以及該關系矩陣能夠得到最終的關系。
1.3 屬性抽取
屬性抽取是從非結構化的文本中抽取出實體和屬性值之間的屬性。比如對于句子“楊纓,字綿公”需要抽取“楊纓”的屬性為“綿公”。本文提供了常規抽取模塊。常規抽取模塊包括了六種常用的深度學習模型,有CNN、RNN、Capsule、GCN、Transformer以及預訓練語言模型。
2、總體結構
DeepKE整體代碼結構如下圖所示:
3、基本用法
pip install deepke
1.?關系抽取
cd example/re/standard
模型配置
可根據自己需求修改conf文件夾中的參數,修改config.yaml中的model可以選擇使用的模型,model文件夾中可以修改具體模型的參數。
訓練模型
conf文件夾中各參數可修改,訓練過程可修改train.yaml中的參數,python run.py進行訓練。
預測
修改predict.yaml中的參數,python predict.py進行預測
2.?屬性抽取
cd example/ae/standard
剩下的流程同關系抽取
3.?實體抽取
cd example/ner/standard
剩下流程同關系抽取
4、實驗效果
我們對新版本的DeepKE在多個實體識別、關系抽取、屬性抽取數據集上進行了常規設定、低資源設定和長篇章設定測試,如下表所示,我們的工具可以達到甚至超越不少傳統的基線模型的效果。
如上表所示,DeepKE可以使用和各種不同的編碼器進行抽取。DeepKE還能夠基于優秀的低資源抽取模型實現較好的少樣本抽取性能和支持篇章級的關系抽取。如下表所示,DeepKE可以取得較好的少樣本和篇章級抽取性能。
5、小結和展望
新版本的DeepKE是一個基于Pytorch實現命名實體識別、關系抽取和屬性抽取功能,支持低資源、長篇章的知識抽取工具。我們同時也開發了一個在線demo展示頁面,對于部分功能,無需訓練和部署即可滿足實時的在線知識抽取功能。在使用過程中有任何問題或是意見和建議都歡迎提出,在今后我們還將繼續開發豐富模型,支持多模態知識抽取,使得未來的DeepKE功能變得更豐富更強大。
OpenKG
OpenKG(中文開放知識圖譜)旨在推動以中文為核心的知識圖譜數據的開放、互聯及眾包,并促進知識圖譜算法、工具及平臺的開源開放。
點擊閱讀原文,進入 OpenKG 網站。
總結
以上是生活随笔為你收集整理的开源开放 | DeepKE发布新版本:支持低资源、长篇章、多任务的图谱抽取开源框架(浙江大学)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文浅尝 | 从知识图谱流中学习时序规则
- 下一篇: 会议交流 | 大规模知识图谱的构建及应用