
把一摞新聞變成知識圖譜零基礎用DeepKE開源框架跑通全流程【免費下載鏈接】DeepKE[EMNLP 2022] An Open Toolkit for Knowledge Graph Extraction and Construction項目地址: https://gitcode.com/gh_mirrors/de/DeepKE假設你手上有幾百篇行業(yè)新聞想抽出里面的人名、機構名和事件關系拼成一張屬于自己的知識圖譜。純靠人工閱讀加表格整理一周都未必干得完自己寫正則規(guī)則又會不斷被各種反常識的句式打敗。DeepKE正是為這個場景而生的開源知識抽取框架——它基于深度學習把命名實體識別、關系抽取、屬性抽取甚至事件抽取收進同一套體系訓練、預測一條龍直接服務于知識圖譜構建。這篇文章是我自己從零跑通的實戰(zhàn)手記不堆概念只講步驟和踩過的坑。讀完你也能搭出第一張圖譜。出發(fā)前先看清這套框架的全貌DeepKE的定位一句話就能講清給知識圖譜的抽取環(huán)節(jié)提供開箱即用的深度學習方案。它由浙江大學團隊維護相關論文入選了EMNLP 2022系統(tǒng)展示軌道。最打動我的是它對場景的覆蓋相當完整任務 \ 場景標準少樣本文檔級多模態(tài)實體識別??—?關系抽取????屬性抽取??——事件抽取?———標準場景適合標注充足的項目少樣本場景Few-shot面向數(shù)據(jù)稀缺的低資源任務文檔級支持跨句子抽取長文本關系多模態(tài)則讓圖片與文本聯(lián)合發(fā)力。后面你會在實戰(zhàn)中一個個遇到它們。第一步10分鐘把環(huán)境跑起來環(huán)境搭建最勸退新手但DeepKE給了兩條退路任選其一。路線A源碼安裝我更推薦git clone https://gitcode.com/gh_mirrors/de/DeepKE conda create -n deepke python3.8 conda activate deepke cd DeepKE pip install -r requirements.txt python setup.py develop路線BDocker一鍵起docker pull zjunlp/deepke:latest docker run -it zjunlp/deepke:latest /bin/bash我選了路線A全程沒碰到依賴沖突。一個小提醒項目默認面向LinuxWindows用戶記得把配置文件里的路徑分隔符換成\\否則容易在讀取數(shù)據(jù)時報錯。第二步看一眼數(shù)據(jù)格式不用重新造輪子訓練前先搞懂數(shù)據(jù)長什么樣。以實體識別為例原始輸入就是一個文本文件一句話一行如上圖再配一個同結構的標簽文件即可關系抽取則支持JSON、CSV、XLSX等常見格式示例數(shù)據(jù)都放在 example 目錄下。就算你的數(shù)據(jù)和示例長得不一樣也別慌——倉庫里既有數(shù)據(jù)預處理腳本也有弱監(jiān)督自動標注腳本先讓程序打一批粗糙標簽你再人工校正能省下大量標注時間。第三步跑通第一個實體識別模型進入示例目錄直接開訓cd example/ner/standard python run.py所有可調參數(shù)都在 conf 文件夾里想換模型只需改一行配置就能在 BERT、BiLSTM-CRF、W2NER 之間切換。我用輕量的 BiLSTM-CRF 在CPU上先跑通了流程再換成 W2NER在人民日報中文語料上F1能到96以上識別效果相當能打。想盯著訓練過程開啟 wandb 就能實時看到loss曲線和各項指標。第四步拿新文本做預測訓練收尾后把 predict.yaml 里的模型路徑改成剛才的checkpoint運行python predict.py幾秒鐘后輸入文本里的人名、地名、機構名就被逐個框出來??吹阶约旱臄?shù)據(jù)被模型讀懂的那一刻成就感是真實的。同樣的套路切到 example/re/standard 就能做關系抽取——輸入換成實體對句子輸出是實體之間的關系類型。數(shù)據(jù)不夠它的后路比你想的多很多人做知識圖譜卡住不是因為不會用模型而是沒數(shù)據(jù)。DeepKE在這里給足了兜底方案少樣本模型LightNER、KnowPrompt 這類模型專為低資源場景設計幾十條標注也能出不錯的效果數(shù)據(jù)增強example/re/few-shot/DA 目錄提供了中英文數(shù)據(jù)增強腳本幫你把有限的標注變多大模型兜底example/llm 下的 DeepKE-LLM 支持調用 GPT 系列、ChatGLM、LLaMA 等大模型做抽取和數(shù)據(jù)生成還開源了 OneKE 抽取大模型配合 IEPile 指令數(shù)據(jù)集可以自己微調一套抽取能力。上面這張雷達圖是 OneKE 與 GPT-4 等多個大模型在中文文實體、關系、事件抽取任務上的對比——不依賴外部API你也能自己部署一整套抽取能力。三個新手高頻疑問Q沒有GPU能跑嗎能。BiLSTM-CRF這類輕量模型在CPU上就能訓練只是慢一些想上BERT或W2NER建議備一張消費級顯卡訓練時間能差出十幾倍。Q和手寫正則比深度學習抽取強在哪規(guī)則只對格式規(guī)整的文本有效換個說法立刻失效模型則能泛化到沒見過的表達而且同一套框架改改配置就能適配不同任務不必為每個任務重寫一遍解析邏輯。Q想快速上線驗證有現(xiàn)成模型嗎有。example/triple/cnschema 提供了基于中文知識體系cnSchema的現(xiàn)成抽取模型下載即用特別適合先跑產品Demo、再談優(yōu)化。寫在最后知識圖譜的構建難不在算法而在怎么把流程干凈地串起來。DeepKE已經把安裝、數(shù)據(jù)、訓練、預測、評估這條鏈路鋪好了你要做的只是決定抽取什么然后跑一遍。想深入的話倉庫里的 docs/ 目錄有完整文檔example/ 下每個任務都有可運行的示例pretrained/ 目錄整理了預訓練模型的下載指引。這篇文章里的每一步我都實際跑通過?,F(xiàn)在輪到你動手了——從 clone 倉庫開始把屬于你的第一張知識圖譜建出來。【免費下載鏈接】DeepKE[EMNLP 2022] An Open Toolkit for Knowledge Graph Extraction and Construction項目地址: https://gitcode.com/gh_mirrors/de/DeepKE創(chuàng)作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考