英語 | 簡體中文
基於深度學習的知識擷取工具包
用於知識圖譜構建
DeepKE是一個用於知識圖譜建構的知識擷取工具包,支援cnSchema 、低資源、文件層級和多模態場景的實體、關係和屬性擷取。我們為初學者提供文件、線上簡報、論文、幻燈片和海報。
\
;wisemodel
或modescape
。如果您在安裝DeepKE和DeepKE-LLM過程中遇到任何問題,請查看提示或及時提交問題,我們將協助您解決問題!
April, 2024
我們基於Chinese-Alpaca-2-13B發布了一個新的雙語(中文和英文)基於模式的資訊擷取模型OneKE。Feb, 2024
我們發布了一個名為IEPile的大規模(0.32B tokens)高品質雙語(中文和英文)資訊擷取(IE)指令資料集,以及使用IEPile
訓練的兩個模型:baichuan2-13b- iepile-lora和llama2 -13b-iepile-lora。Sep 2023
針對基於指令的知識圖建構任務(基於指令的 KGC)發布了名為InstructIE
雙語中英文資訊擷取 (IE) 指令資料集,詳細資訊請參閱此處。June, 2023
我們更新DeepKE-LLM以支援KnowLM、ChatGLM、LLaMA系列、GPT系列等知識擷取。Apr, 2023
我們增加了新模型,包括CP-NER(IJCAI'23)、ASP(EMNLP'22)、PRGC(ACL'21)、PURE(NAACL'21),提供事件擷取功能(中文和英文) ,並提供與更高版本的 Python 套件(例如 Transformers)的兼容性。Feb, 2023
我們支援使用 LLM (GPT-3) 進行情境學習(基於 EasyInstruct)和資料生成,新增了 NER 模型 W2NER(AAAI'22)。Nov, 2022
新增實體識別和關聯提取的資料標註指令,弱監督資料(實體提取和關聯提取)的自動標記,並優化多 GPU 訓練。
Sept, 2022
論文 DeepKE: A Deep Learning Based Knowledge Extraction Toolkit for Knowledge Base Population 已被 EMNLP 2022 System Demonstration Track 接收。
Aug, 2022
我們新增了低資源關係擷取的資料增強(中文、英文)支援。
June, 2022
我們新增了對實體和關係提取的多模式支援。
May, 2022
我們發布了 DeepKE-cnschema 和現成的知識擷取模型。
Jan, 2022
我們發布了論文DeepKE: A Deep Learning Based Knowledge Extraction Toolkit for Knowledge Base Population
Dec, 2021
我們新增了dockerfile
來自動建立環境。
Nov, 2021
DeepKE Demo發布,支援即時擷取,無需部署和訓練。
DeepKE的文檔已經發布,包含DeepKE的源代碼和資料集等詳細資訊。
Oct, 2021
pip install deepke
Deepke-v2.0代碼已發布。
Aug, 2019
Deepke-v1.0代碼已發布。
Aug, 2018
DeepKE計畫啟動,deepke-v0.1代碼已發布。
有預測演示。 GIF 檔案是由 Terminalizer 建立的。獲取代碼。
在大模型時代,DeepKE-LLM利用了全新的環境依賴。
conda create -n deepke-llm python=3.9
conda activate deepke-llm
cd example/llm
pip install -r requirements.txt
請注意, requirements.txt
檔案位於example/llm
資料夾中。
pip install deepke
。Step1下載基礎代碼
git clone --depth 1 https://github.com/zjunlp/DeepKE.git
Step2使用Anaconda
創建虛擬環境並進入。
conda create -n deepke python=3.8
conda activate deepke
使用原始碼安裝DeepKE
pip install -r requirements.txt
python setup.py install
python setup.py develop
使用pip
安裝DeepKE (不建議! )
pip install deepke
Step3進入任務目錄
cd DeepKE/example/re/standard
Step4下載資料集,或依標註說明取得數據
wget 120.27.214.45/Data/re/standard/data.tar.gz
tar -xzvf data.tar.gz
支援多種資料格式,各部分有詳細說明。
Step5訓練(訓練參數可在conf
資料夾中更改)
我們支持使用wandb進行視覺參數調整。
python run.py
Step6預測(預測參數可以在conf
資料夾中更改)
修改predict.yaml
中訓練模型的路徑,需要使用模型的絕對路徑,如xxx/checkpoints/2019-12-03_ 17-35-30/cnn_ epoch21.pth
。
python predict.py
Step1安裝Docker客戶端
安裝 Docker 並啟動 Docker 服務。
Step2拉取docker映像並運行容器
docker pull zjunlp/deepke:latest
docker run -it zjunlp/deepke:latest /bin/bash
其餘步驟與手動環境配置中的步驟3及以後的步驟相同。
蟒蛇==3.8
命名實體識別旨在定位非結構化文字中提到的命名實體並將其分類為預先定義的類別,例如人名、組織、位置、組織等。
資料儲存在.txt
檔案中。部分實例如下(使用者可以基於Doccano、MarkTool工具對資料進行標註,也可以使用DeepKE的弱監督自動取得資料):
句子 | 人 | 地點 | 組織 |
---|---|---|---|
本報北京9月4日訊記者楊湧報道:部分省區人民日報宣傳動員工作座談會9月3日於4日在京舉行。 | 楊湧 | 北京 | 人民日報 |
《紅樓夢》由王扶林導演,周汝昌、王蒙、週嶺等多位專家參與製作。 | 王扶林,周汝昌,王蒙,週嶺 | ||
秦始皇兵馬俑位於陝西省西安市,是世界八大奇蹟之一。 | 秦始皇 | 陝西省,西安市 |
詳細流程請閱讀具體README
標準(全程監督)
我們支援LLM並提供現成的模型DeepKE-cnSchema-NER,該模型無需訓練即可提取cnSchema中的實體。
步驟1輸入DeepKE/example/ner/standard
。下載資料集。
wget 120.27.214.45/Data/ner/standard/data.tar.gz
tar -xzvf data.tar.gz
Step2訓練
資料集和參數可以分別在data
資料夾和conf
資料夾中自訂。
python run.py
Step3預測
python predict.py
少射
步驟1輸入DeepKE/example/ner/few-shot
。下載資料集。
wget 120.27.214.45/Data/ner/few_shot/data.tar.gz
tar -xzvf data.tar.gz
Step2低資源環境下的訓練
conf
資料夾中可以自訂模型載入和儲存的目錄以及設定參數。
python run.py +train=few_shot
使用者可以修改conf/train/few_shot.yaml
中的load_path
來使用現有的載入模型。
Step3在conf/config.yaml
中加入- predict
,修改loda_path
為模型路徑, write_path
為conf/predict.yaml
中儲存預測結果的路徑,然後執行python predict.py
python predict.py
多式聯運
步驟1輸入DeepKE/example/ner/multimodal
。下載資料集。
wget 120.27.214.45/Data/ner/multimodal/data.tar.gz
tar -xzvf data.tar.gz
我們使用 RCNN 檢測到的物件和來自原始影像的視覺接地物件作為視覺局部訊息,其中 RCNN 透過 fast_rcnn 和透過 onestage_grounding 進行視覺接地。
Step2多模式環境下的訓練
data
資料夾和conf
資料夾中自訂。conf/train.yaml
中的load_path
為上次訓練的模型儲存路徑。並且可以透過log_dir
自訂訓練中產生的日誌保存路徑。 python run.py
Step3預測
python predict.py
關係提取是從非結構化文字中提取實體之間的語義關係的任務。
資料儲存在.csv
檔案中。部分實例如下(使用者可以基於Doccano、MarkTool工具對資料進行標註,也可以使用DeepKE的弱監督自動取得資料):
句子 | 關係 | 頭 | 頭部偏移量 | 尾巴 | 尾部偏移量 |
---|---|---|---|---|---|
《岳父也是爹》是王軍執導的電視劇,由馬恩然、范明主演。 | 導演 | 岳父亦爹 | 1 | 王軍 | 8 |
《九玄珠》是在縱橫中文網連載的一部小說,作者是龍馬。 | 連載網站 | 九玄珠 | 1 | 縱橫中文網 | 7 |
提起杭州的美景,西湖總是第一個映入腦海的字。 | 所在城市 | 西湖 | 8 | 杭州 | 2 |
!注意:如果一個關係有多個實體類型,則實體類型可以使用該關係作為輸入前綴。
詳細流程請閱讀具體README
標準(全程監督)
我們支援LLM並提供現成的模型DeepKE-cnSchema-RE,無需訓練即可提取cnSchema中的關係。
步驟1進入DeepKE/example/re/standard
資料夾。下載資料集。
wget 120.27.214.45/Data/re/standard/data.tar.gz
tar -xzvf data.tar.gz
Step2訓練
資料集和參數可以分別在data
資料夾和conf
資料夾中自訂。
python run.py
Step3預測
python predict.py
少射
步驟1輸入DeepKE/example/re/few-shot
。下載資料集。
wget 120.27.214.45/Data/re/few_shot/data.tar.gz
tar -xzvf data.tar.gz
步驟 2訓練
data
資料夾和conf
資料夾中自訂。conf/train.yaml
中的train_from_saved_model
為上次訓練的模型儲存路徑。並且可以透過log_dir
自訂訓練中產生的日誌保存路徑。 python run.py
Step3預測
python predict.py
文件
步驟1輸入DeepKE/example/re/document
。下載資料集。
wget 120.27.214.45/Data/re/document/data.tar.gz
tar -xzvf data.tar.gz
Step2訓練
data
資料夾和conf
資料夾中自訂。conf/train.yaml
中的train_from_saved_model
為上次訓練的模型儲存路徑。並且可以透過log_dir
自訂訓練中產生的日誌保存路徑。 python run.py
Step3預測
python predict.py
多式聯運
步驟1輸入DeepKE/example/re/multimodal
。下載資料集。
wget 120.27.214.45/Data/re/multimodal/data.tar.gz
tar -xzvf data.tar.gz
我們使用 RCNN 檢測到的物件和來自原始影像的視覺接地物件作為視覺局部訊息,其中 RCNN 透過 fast_rcnn 和透過 onestage_grounding 進行視覺接地。
Step2訓練
data
資料夾和conf
資料夾中自訂。conf/train.yaml
中的load_path
為上次訓練的模型儲存路徑。並且可以透過log_dir
自訂訓練中產生的日誌保存路徑。 python run.py
Step3預測
python predict.py
屬性提取是在非結構化文字中提取實體的屬性。
資料儲存在.csv
檔案中。部分事例如下:
句子 | 阿特 | 耳鼻喉科 | ent_offset | 瓦爾 | 值偏移量 |
---|---|---|---|---|---|
張冬梅,女,漢族,1968年2月生,河南奶油縣人 | 民族 | 張冬梅 | 0 | 漢族 | 6 |
諸葛亮,字孔明,三國時期傑出的軍事家、文學家、發明家。 | 朝代 | 諸葛亮 | 0 | 三國時期 | 8 |
2014年10月1日許鞍華執導的電影《黃金時代》上映 | 上映時間 | 黃金時代 | 19 | 2014年10月1日 | 0 |
詳細流程請閱讀具體README
標準(全程監督)
步驟1進入DeepKE/example/ae/standard
資料夾。下載資料集。
wget 120.27.214.45/Data/ae/standard/data.tar.gz
tar -xzvf data.tar.gz
Step2訓練
資料集和參數可以分別在data
資料夾和conf
資料夾中自訂。
python run.py
Step3預測
python predict.py
.tsv
檔案中,部分實例如下:句子 | 事件類型 | 扳機 | 角色 | 爭論 | |
---|---|---|---|---|---|
根據《歐洲時報》報道,當地時間27日,法國巴黎羅浮宮博物館員工因不滿工作惡化而罷工,導致博物館也因此閉門謝客一天。 | 組織行為-罷工 | 罷工者 | 罷工人員 | 法國巴黎羅浮宮博物館員工 | |
時間 | 昨天27日 | ||||
所屬組織 | 法國巴黎羅浮宮博物館 | ||||
中國外運2019年歸母成長17%:收購了少數股東股權 | 財經/交易-出售/收購 | 收購 | 銷售方 | 少數股東 | |
收購方 | 中國外運 | ||||
交易物 | 股權 | ||||
美國亞特蘭大航展13日一起表演機墜機事故,飛行員彈射出艙並安全著陸,事故沒有造成人員傷亡。 | 災難/意外-墜機 | 墜機 | 時間 | 13日 | |
地點 | 美國亞特蘭 |
詳細流程請閱讀具體README
標準(全程監督)
步驟1進入DeepKE/example/ee/standard
資料夾。下載資料集。
wget 120.27.214.45/Data/ee/DuEE.zip
unzip DuEE.zip
步驟 2訓練
資料集和參數可以分別在data
資料夾和conf
資料夾中自訂。
python run.py
步驟 3預測
python predict.py
1. Using nearest mirror
,中國的THU,將加快Anaconda的安裝速度;中國阿里雲,將加快pip install XXX
速度。
2.遇到ModuleNotFoundError: No module named 'past'
,執行pip install future
。
3.線上安裝預訓練語言模型速度慢。建議在使用前下載預訓練模型並將其保存在pretrained
資料夾中。閱讀每個任務目錄中的README.md
以檢查保存預訓練模型的特定要求。
4.舊版DeepKE位於deepke-v1.0分支。使用者可以更改分支以使用舊版本。舊版本已完全轉移到標準關係提取(example/re/standard)。
5.如果要修改源碼,建議使用源碼安裝DeepKE 。如果沒有,修改將不起作用。查看問題
6.更多相關的低資源知識抽取工作可以參考《低資源場景下的知識抽取:調查與展望》。
7.確保requirements.txt
中需求的確切版本。
在下一個版本中,我們計劃為 KE 發布更強大的 LLM。
同時,我們將提供長期維護來修復錯誤、解決問題並滿足新的要求。因此,如果您有任何問題,請向我們提出問題。
數據高效的知識圖譜構建,知識圖譜構建(CCKS 2022 上的高效教程)[幻燈片]
高效、穩健的知識圖譜建構(AACL-IJCNLP 2022 教程)[幻燈片]
PromptKG 系列:即時學習和 KG 相關研究作品、工具包和論文清單的畫廊 [資源]
低資源場景中的知識提取:調查與展望 [調查][論文列表]
Doccano、MarkTool、LabelStudio:資料標註工具包
LambdaKG:基於 PLM 的 KG 嵌入的函式庫和基準
EasyInstruct:一個易於使用的框架來指導大型語言模型
閱讀材料:
數據高效的知識圖譜構建,知識圖譜構建(CCKS 2022 上的高效教程)[幻燈片]
高效、穩健的知識圖譜建構(AACL-IJCNLP 2022 教程)[幻燈片]
PromptKG 系列:即時學習和 KG 相關研究作品、工具包和論文清單的畫廊 [資源]
低資源場景中的知識提取:調查與展望 [調查][論文列表]
相關工具包:
Doccano、MarkTool、LabelStudio:資料標註工具包
LambdaKG:基於 PLM 的 KG 嵌入的函式庫和基準
EasyInstruct:一個易於使用的框架來指導大型語言模型
如果您在工作中使用 DeepKE,請引用我們的論文
@inproceedings { EMNLP2022_Demo_DeepKE ,
author = { Ningyu Zhang and
Xin Xu and
Liankuan Tao and
Haiyang Yu and
Hongbin Ye and
Shuofei Qiao and
Xin Xie and
Xiang Chen and
Zhoubo Li and
Lei Li } ,
editor = { Wanxiang Che and
Ekaterina Shutova } ,
title = { DeepKE: {A} Deep Learning Based Knowledge Extraction Toolkit for Knowledge Base Population } ,
booktitle = { {EMNLP} (Demos) } ,
pages = { 98--108 } ,
publisher = { Association for Computational Linguistics } ,
year = { 2022 } ,
url = { https://aclanthology.org/2022.emnlp-demos.10 }
}
張寧宇、王浩芬、黃飛、熊飛宇、陶連寬、徐鑫、桂洪浩、張真如、譚傳奇、陳強、王小涵、奚澤坤、李新榮、於海洋、葉洪斌、喬碩飛、王鵬, 朱雨琪, 謝欣, 陳翔,李周博, 李雷, 梁小專, 姚雲智, 陳靜, 朱雨琪, 鄧淑敏, 張文, 鄭國洲, 陳華軍
社區貢獻者:thredreams、eltociear、Ziwen Xu、Rui Huang、Xiaolong Weng