
DELFT ( t ext的de ep l ramework f ramework)是用於文本處理的KERAS和TENSORFLOW框架,重點是序列標籤(例如命名命名實體標記,信息提取)和文本分類(例如註釋分類)。該庫重新實現標準與文本處理任務相關的最先進的深度學習體系結構。
代爾夫特有三個主要目的:
涵蓋文本和豐富的文本:NLP中的大多數現有深度學習作品僅將簡單的文本視為輸入。除了簡單的文本外,我們還針對富文本,其中令牌與佈局信息(字體樣式等),結構化文檔中的位置以及可能的其他詞彙或像徵性上下文信息相關聯。文本通常來自PDF或HTML等大型文檔,而不僅僅是來自句子或段落之類的段,上下文功能似乎非常有用。豐富的文本是人類用來交流和工作的最常見的文本內容。
可重複性和基準測試:通過為序列標籤和文本分類任務實施幾種參考/最先進的模型,我們希望提供容易驗證報告結果的能力,並在相同條件和標準下基準幾種方法。
生產水平,通過提供最佳的性能,魯棒性和整合可能性,我們旨在支持更好的工程決策/權衡和成功的生產水平應用程序。
一些貢獻包括:
按照相同的API和輸入格式(包括RNN,Elmo和Transformers)使用的各種現代NLP體系結構和任務。
降低了RNN模型的大小,特別是通過刪除其中的單詞嵌入。例如,有毒評論分類器的模型從230 MB的尺寸下降到1.8 MB。實際上,DELFT所有模型的大小小於2 MB,除了4.7 MB的Ontonotes 5.0 NER模型。
實施各種體系結構中可用的分類特徵的通用支持。
使用動態數據生成器,以便訓練數據不需要完全站在內存中。
無限量的靜態預訓練嵌入的有效加載和管理。
具有序列標籤和分類任務的標準指標的全面評估框架,包括N折交叉驗證。
擁抱面變壓器作為keras層的集成。
圖書館的本地Java集成已通過JEP在Grobid中實現。
最新的DELFT版本0.3.4已成功測試了Python 3.8和Tensorflow 2.9.3。與往常一樣,GPU是不錯的訓練時間所必需的。例如,GeForce GTX 1050 Ti(4GB)在運行RNN模型和BERT或Roberta基本模型方面非常有效。 GEFORCE GTX 1080 Ti(11GB)使用Bert大型模型沒有問題,包括具有適度批次尺寸的訓練。支持使用多個GPU(訓練和推理)。
請訪問DELFT文檔以獲取有關安裝,使用和模型的詳細信息。
PYPI軟件包可用於穩定版本。最新穩定版本為0.3.4 :
python3 -m pip install delft==0.3.4
要安裝DELFT並使用當前的主版本,請獲取GitHub repo:
git clone https://github.com/kermitt2/delft
cd delft建議首先設置一個虛擬環境,以避免陷入這些陰沉的python依賴沼澤地之一:
virtualenv --system-site-packages -p python3.8 env
source env/bin/activate安裝依賴項:
python3 -m pip install -r requirements.txt最後安裝項目,最好是在可編輯狀態
python3 -m pip install -e .請參閱DELFT文檔以獲取使用。
根據Apache 2.0許可分發。項目中使用的依賴項本身也是根據Apache 2.0許可證分配的,或者根據兼容許可分配。
如果您為代爾夫特(Delft)做出貢獻,則同意在這些許可證後分享您的貢獻。
聯繫人:Patrice Lopez([email protected])和Luca Foppiano(@lfoppiano)。
如果您想完成這項工作,請參考當前的GitHub項目,以及軟件遺產項目級永久標識符。例如,與Bibtex:
@misc { DeLFT ,
title = { DeLFT } ,
howpublished = { url{https://github.com/kermitt2/delft} } ,
publisher = { GitHub } ,
year = { 2018--2024 } ,
archivePrefix = { swh } ,
eprint = { 1:dir:54eb292e1c0af764e27dd179596f64679e44d06e }
}