
DELFT ( de ep l ramwork for t ext)는 시퀀스 라벨링 (예 : 명명 된 엔티티 태깅, 정보 추출) 및 텍스트 분류 (예 : 댓글 분류)에 중점을 둔 텍스트 처리를위한 keras 및 tensorflow 프레임 워크입니다. 이 라이브러리는 텍스트 처리 작업과 관련된 표준 최첨단 딥 러닝 아키텍처를 다시 이식합니다.
델프트에는 세 가지 주요 목적이 있습니다.
텍스트와 풍부한 텍스트를 다루기 : NLP에서 대부분의 기존 딥 러닝은 간단한 텍스트 만 입력으로 간주합니다. 간단한 텍스트 외에도 토큰이 레이아웃 정보 (글꼴 스타일 등), 구조화 된 문서의 위치 및 기타 어휘 또는 상징적 상황 정보와 관련된 풍부한 텍스트를 대상으로합니다. 텍스트는 일반적으로 문장이나 단락과 같은 세그먼트뿐만 아니라 PDF 또는 HTML과 같은 큰 문서에서 나오며 상황에 맞는 특징은 매우 유용합니다. 풍부한 텍스트는 인간이 의사 소통하고 일하기 위해 사용하는 가장 일반적인 텍스트 콘텐츠입니다.
재현성 및 벤치마킹 : 시퀀스 라벨링 및 텍스트 분류 작업에 대한 여러 참조/최신 모델을 구현함으로써보고 된 결과를 쉽게 검증하고 동일한 조건 및 기준 하에서 여러 방법을 벤치마킹 할 수있는 용량을 제공하려고합니다.
생산 수준은 최적의 성능, 견고성 및 통합 가능성을 제공함으로써 더 나은 엔지니어링 결정/트레이드 오프 및 성공적인 생산 수준 응용 프로그램을 지원하는 것을 목표로합니다.
일부 기여에는 다음이 포함됩니다.
RNN, Elmo 및 Transformers를 포함하여 동일한 API 및 입력 형식에 따라 사용되는 다양한 최신 NLP 아키텍처 및 작업.
RNN 모델의 크기, 특히 단어 임베딩을 제거하여 RNN 모델의 크기를 줄입니다. 예를 들어, 독성 주석 분류기 모델은 임베딩으로 1.8MB로 230MB 크기에서 내려 갔다. 실제로 델프트의 모든 모델의 크기는 4.7MB 인 Ontonotes 5.0 NER 모델을 제외하고 2MB 미만입니다.
다양한 아키텍처에서 사용할 수있는 범주 적 기능의 일반적인 지원 구현.
훈련 데이터가 완전히 메모리에 서있을 필요가 없도록 동적 데이터 생성기 사용.
무제한 양의 정적 미리 훈련 된 임베딩의 효율적인 로딩 및 관리.
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 기본 모델을 실행하는 데 매우 효과적입니다. Bert 대형 모델 사용은 배치 크기가 적은 훈련을 포함하여 Geforce GTX 1080 Ti (11GB)에 문제가되지 않습니다. 다중 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우울한 파이썬 의존성 습지 중 하나에 빠지지 않도록 먼저 가상 환경을 설정하는 것이 좋습니다.
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 }
}