
delft ( de ep l ที่ได้รับ f ramework สำหรับ t ext) เป็นกรอบ keras และ tensorflow สำหรับการประมวลผลข้อความโดยเน้นไปที่การติดฉลากลำดับ (เช่นการติดแท็กเอนทิตีชื่อการสกัดข้อมูล) และการจำแนกประเภทข้อความ (เช่นการจำแนกความคิดเห็น) ห้องสมุดนี้นำเสนอสถาปัตยกรรมการเรียนรู้เชิงลึกที่ทันสมัยมาตรฐานที่เกี่ยวข้องกับงานการประมวลผลข้อความ
Delft มีจุดประสงค์หลักสามประการ:
การครอบคลุมข้อความและข้อความที่หลากหลาย : การเรียนรู้ลึกที่มีอยู่ส่วนใหญ่ทำงานใน NLP พิจารณาข้อความง่ายๆเป็นอินพุตเท่านั้น นอกเหนือจากข้อความที่เรียบง่ายแล้วเรายังกำหนดเป้าหมาย ข้อความที่หลากหลาย ซึ่งโทเค็นเชื่อมโยงกับข้อมูลเค้าโครง (รูปแบบรูปแบบ ฯลฯ ) ตำแหน่งในเอกสารที่มีโครงสร้างและข้อมูลบริบทคำศัพท์หรือสัญลักษณ์อื่น ๆ ข้อความมักมาจากเอกสารขนาดใหญ่เช่น PDF หรือ HTML และไม่เพียง แต่จากเซ็กเมนต์เช่นประโยคหรือย่อหน้าและคุณสมบัติตามบริบทมีประโยชน์มาก ข้อความที่หลากหลายเป็นเนื้อหาที่เป็นข้อความที่พบบ่อยที่สุดที่มนุษย์ใช้ในการสื่อสารและทำงาน
ความสามารถในการทำซ้ำและการเปรียบเทียบ : โดยการใช้โมเดลการอ้างอิง/แบบล้ำสมัยหลายแบบสำหรับการติดฉลากลำดับและงานการจำแนกประเภทข้อความเราต้องการเสนอความสามารถในการตรวจสอบผลลัพธ์ที่รายงานได้อย่างง่ายดายและเปรียบเทียบวิธีการหลายวิธีภายใต้เงื่อนไขและเกณฑ์เดียวกัน
ระดับการผลิต โดยการนำเสนอประสิทธิภาพที่เหมาะสมความแข็งแกร่งและความเป็นไปได้ในการบูรณาการเรามุ่งมั่นที่จะสนับสนุนการตัดสินใจทางวิศวกรรมที่ดีขึ้น/การแลกเปลี่ยนและแอปพลิเคชันระดับการผลิตที่ประสบความสำเร็จ
ผลงานบางอย่างรวมถึง:
ความหลากหลายของสถาปัตยกรรม NLP ที่ทันสมัยและงานที่จะใช้ตามรูปแบบ API และอินพุตเดียวกันรวมถึง RNN, Elmo และ Transformers
การลดขนาดของโมเดล RNN โดยเฉพาะอย่างยิ่งโดยการลบคำที่ฝังตัวออกจากพวกเขา ตัวอย่างเช่นแบบจำลองสำหรับตัวจําแนกความคิดเห็นที่เป็นพิษลดลงจากขนาด 230 MB โดยมีการฝังอยู่ที่ 1.8 MB ในทางปฏิบัติขนาดของแบบจำลองทั้งหมดของ Delft น้อยกว่า 2 MB ยกเว้นรุ่น Ontonotes 5.0 Ner ซึ่งเป็น 4.7 MB
การใช้งานการสนับสนุนทั่วไปของคุณสมบัติหมวดหมู่ที่มีอยู่ในสถาปัตยกรรมต่างๆ
การใช้เครื่องกำเนิดข้อมูลแบบไดนามิกเพื่อให้ข้อมูลการฝึกอบรมไม่จำเป็นต้องยืนในหน่วยความจำอย่างสมบูรณ์
การโหลดและการจัดการที่มีประสิทธิภาพของปริมาณการฝังที่ผ่านการฝึกอบรมล่วงหน้าแบบคงที่
กรอบการประเมินที่ครอบคลุมพร้อมตัวชี้วัดมาตรฐานสำหรับการติดฉลากลำดับและงานการจำแนกประเภทรวมถึงการตรวจสอบ N-fold Cross
การบูรณาการของ Transformers HuggingFace เป็นเลเยอร์ Keras
การรวม Java ดั้งเดิมของห้องสมุดได้รับการตระหนักใน Grobid ผ่าน JEP
Delft Release ล่าสุด 0.3.4 ได้รับการทดสอบสำเร็จด้วย Python 3.8 และ TensorFlow 2.9.3 เช่นเคยต้องใช้ GPU สำหรับเวลาฝึกอบรมที่เหมาะสม ตัวอย่างเช่น GeForce GTX 1050 TI (4GB) ทำงานได้ดีมากสำหรับการใช้งานรุ่น RNN และรุ่น Bert หรือ Roberta Base การใช้แบบจำลองขนาดใหญ่ของ 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ขอแนะนำให้ตั้งค่าสภาพแวดล้อมเสมือนจริงก่อนเพื่อหลีกเลี่ยงการตกอยู่ในหนึ่งในที่พึ่งพาอาศัยของ 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 }
}