
Delft ( DE EP L menghasilkan f Ramework untuk t ext) adalah kerangka keras dan tensorflow untuk pemrosesan teks, fokus pada pelabelan urutan (misalnya penandaan entitas yang disebutkan, ekstraksi informasi) dan klasifikasi teks (misalnya klasifikasi komentar). Perpustakaan ini mengimplementasikan kembali arsitektur pembelajaran mendalam standar yang relevan dengan tugas pemrosesan teks.
Delft memiliki tiga tujuan utama:
Meliputi teks dan teks yang kaya : Sebagian besar pembelajaran mendalam yang ada berfungsi di NLP hanya menganggap teks sederhana sebagai input. Selain teks -teks sederhana, kami juga menargetkan teks kaya di mana token dikaitkan dengan informasi tata letak (gaya font., Dll.), Posisi dalam dokumen terstruktur, dan mungkin informasi kontekstual leksikal atau simbolik lainnya. Teks biasanya berasal dari dokumen besar seperti PDF atau HTML, dan tidak hanya dari segmen seperti kalimat atau paragraf, dan fitur kontekstual tampak sangat berguna. Teks kaya adalah konten tekstual yang paling umum digunakan oleh manusia untuk berkomunikasi dan bekerja.
Reproduksibilitas dan Benchmarking : Dengan mengimplementasikan beberapa referensi/model canggih untuk tugas pelabelan dan klasifikasi teks, kami ingin menawarkan kapasitas untuk dengan mudah memvalidasi hasil yang dilaporkan dan untuk membandingkan beberapa metode dalam kondisi dan kriteria yang sama.
Tingkat produksi , dengan menawarkan kinerja yang dioptimalkan, kekokohan dan kemungkinan integrasi, kami bertujuan mendukung keputusan rekayasa yang lebih baik/pertukaran dan aplikasi tingkat produksi yang sukses.
Beberapa kontribusi meliputi:
Berbagai arsitektur dan tugas NLP modern yang akan digunakan mengikuti API dan format input yang sama, termasuk RNN, Elmo dan Transformers.
Pengurangan ukuran model RNN, khususnya dengan menghilangkan embeddings kata dari mereka. Misalnya, model untuk pengklasifikasi komentar beracun turun dari ukuran 230 MB dengan embedding menjadi 1,8 MB. Dalam praktiknya ukuran semua model DELFT kurang dari 2 MB, kecuali untuk model Ontonotes 5.0 NER yang 4,7 MB.
Implementasi dukungan generik dari fitur kategorikal, tersedia di berbagai arsitektur.
Penggunaan generator data dinamis sehingga data pelatihan tidak perlu berdiri sepenuhnya dalam memori.
Pemuatan yang efisien dan pengelolaan volume embeddings pra-terlatih statis yang tidak terbatas.
Kerangka evaluasi yang komprehensif dengan metrik standar untuk tugas pelabelan dan klasifikasi urutan, termasuk validasi silang n-fold.
Integrasi Transformer Huggingface sebagai Lapisan Keras.
Integrasi Java asli perpustakaan telah direalisasikan dalam Grobid melalui Jep.
Rilis DELFT terbaru 0.3.4 telah berhasil diuji dengan Python 3.8 dan TensorFlow 2.9.3. Seperti biasa, GPU diperlukan untuk waktu pelatihan yang layak. Misalnya, GeForce GTX 1050 Ti (4GB) bekerja dengan sangat baik untuk menjalankan model RNN dan model dasar Bert atau Roberta. Menggunakan Model Besar Bert tidak masalah dengan GeForce GTX 1080 Ti (11GB), termasuk pelatihan dengan ukuran batch sederhana. Menggunakan beberapa GPU (pelatihan dan inferensi) didukung.
Kunjungi dokumentasi DELFT untuk informasi terperinci tentang instalasi, penggunaan, dan model.
Paket PYPI tersedia untuk versi stabil. Versi stabil terbaru adalah 0.3.4 :
python3 -m pip install delft==0.3.4
Untuk menginstal Delft dan gunakan versi master saat ini, dapatkan repo GitHub:
git clone https://github.com/kermitt2/delft
cd delftDisarankan untuk mengatur lingkungan virtual terlebih dahulu untuk menghindari jatuh ke dalam salah satu rawa -rawa ketergantungan ularahan yang suram ini:
virtualenv --system-site-packages -p python3.8 env
source env/bin/activateInstal dependensi:
python3 -m pip install -r requirements.txtAkhirnya instal proyek, lebih disukai di negara bagian yang dapat diedit
python3 -m pip install -e .Lihat dokumentasi Delft untuk digunakan.
Didistribusikan di bawah lisensi Apache 2.0. Ketergantungan yang digunakan dalam proyek ini sendiri juga didistribusikan di bawah lisensi Apache 2.0 atau didistribusikan di bawah lisensi yang kompatibel.
Jika Anda berkontribusi pada Delft, Anda setuju untuk membagikan kontribusi Anda mengikuti lisensi ini.
Hubungi: Patrice Lopez ([email protected]) dan Luca Foppiano (@lfoppiano).
Jika Anda ingin pekerjaan ini, silakan merujuk ke proyek GitHub saat ini, bersama dengan pengidentifikasi permanen tingkat proyek Heritage perangkat lunak. Misalnya, dengan Bibtex:
@misc { DeLFT ,
title = { DeLFT } ,
howpublished = { url{https://github.com/kermitt2/delft} } ,
publisher = { GitHub } ,
year = { 2018--2024 } ,
archivePrefix = { swh } ,
eprint = { 1:dir:54eb292e1c0af764e27dd179596f64679e44d06e }
}