ROAI-proba-2-NLP
Dediu Ștefan-Alexandru
Feature engineering
Pentru această problemă a fost nevoie de crearea unor propoziții "greșite" astfel încât modelul să poată fi antrenat, având la dispoziție setul de date Wikipedia România.
În ideea de a simula eventualele erori în scris, am luat următoarele lucruri în calcul:
- schimbări de litere
- dublarea sau inserarea unor caractere
- ratarea sau ștergerea unor caractere
- substituția unui caracter cu un altul
Astfel am creat funcția introduce_errors
care are ca parametrii textul care urmează să fie modificat și un anume error_rate
, care default este setat la 25%. Am să revin asupra importanța studierii acestui parametru în procesul de antrenare mai târziu în document.
De menționat faptul că am luat în considerare atât literele mici și mari ale alfabetului român, semnele de punctuație precum ? ! , . ' " ( ) [ ] { }
, dar nu am luat în calcul caracterele speciale din alte alfabete, considerând irelevant cu autocorectarea în limba română. Acest lucru ar putea fi studiat ulterior cât de mult impactează performanța modelului.
Fine-tuning
Privind procesul de antrenare, am rămas cu head-ul modelului mt5-base
deoarece este pre-antrenat pentru astfel de taskuri, nefiind necesară schimbarea acestuia pentru îmbunătățirea performanței.
Dimensiunea datelor de antrenament și evaluare l-am setat de la 32 la 8 deoarece GPU-ul Colab Free iese din memoria alocată, așadar timpii de antrenare și evaluare au crescut.
Mici îmbunătățiri
Din cauza procesului greu de antrenare nu am reușit să implementez următoarele în procesul de fine-tuning al modelului, astfel găsind hiper-parametri mai buni:
- Vizualizare a impactului variației
error_rate
-ului din funcțiaintroduce_errors
asupra performanței modelului - Optimizare Bayesiană a hiper-parametrilor
- Diferite modele Seq2Seq (XLNet, mBART, ALBERT etc.) și analiza performanțelor lor
- Îmbunătățirea funcției
introduce_errors
pentru a simula mai bine erorile umane în scriere folosind atât un dicționar de spell-checking românesc, erori în tiparele part-of-speech (POS) sau Back-Translation (din română în engleză și invers corect) 1 - Utilizarea unei alte metode de tokenizare mult mai bine potrivite limbii române
IMPORTANT
Din păcate am rămas fără credite pentru Colab și prin urmare modelul uploadat nu este corespunzător cu ceea ce este scris în notebook. Din această cauză performanța modelului poate să fie diferită față de cea actuală, dar nesalvată.
Bibliografie:
- Downloads last month
- 0