
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 }
}