Aveți probleme cu inteligența artificială sau cu dezvoltarea full-stack? Experții noștri sunt aici pentru a vă ghida: consiliere personalizată, integrare tehnică și multe altele. Contactați-ne la [email protected].

Procesarea multilingvă a limbajului natural: NLP în alte limbi decât engleza

Prelucrarea limbajului natural în limbi care nu sunt în limba engleză reprezintă o provocare. În prezent, este posibil să se obțină rezultate foarte bune prin procesarea multilingvă a limbajului natural. În sfârșit, oricine poate efectua procesarea limbajului natural în franceză, japoneză, spaniolă, rusă, chineză, germană... și multe altele.

Multilingv

De ce procesarea multilingvă a limbajului natural este o provocare

În prezent, în lume se vorbesc aproape 7000 de limbi diferite! Fiecare limbă are propriile reguli, iar unele limbi pot funcționa foarte diferit. De exemplu, franceza, spaniola și italiana sunt foarte asemănătoare, dar nu au nimic de-a face cu limbile asiatice. bazate pe ideograme sau simboluri, cum ar fi chineza și japoneza.

Consecința este că trebuie utilizate tehnici diferite pentru a crea modele lingvistice care să poată fi utilizate în toate aceste limbi.

Pe scurt, diferite limbi ar putea necesita spații vectoriale diferite, chiar dacă există deja unele incluziuni lingvistice preinstruite. Acesta este un domeniu de cercetare activ.

Deci, care sunt soluțiile?

Formarea modelelor specifice non-engleze

O primă abordare este de a antrena un model pentru o anumită limbă. De exemplu, mai multe versiuni noi ale BERT au fost antrenate în diferite limbi. German BERT, de la Deepset AI, este un bun exemplu de versiune nouă a BERT antrenată pe limba germană din de la zero: a se vedea BERT german aici.

Problema este că această tehnică nu se adaptează bine. Instruirea unui nou model necesită timp și costă mulți bani. Antrenarea mai multor modele este încă accesibilă pentru modele mici precum spaCy, iar Explosion AI (compania din spatele spaCy) face o treabă foarte bună în menținerea mai multor modele pre-antrenate în multe limbi: vezi mai multe aici. But natural language processing models are getting bigger and bigger, and training these big models is very costly. For example, training the brand new GPT models (GPT-3, GPT-J and GPT-NeoX) took several weeks and cost million dollars. Training new versions of these models is not something everybody can do.

De asemenea, nu se adaptează bine din perspectiva inferenței. Dacă o companie trebuie să utilizeze procesarea limbajului natural în producție în mai multe limbi, va trebui să mențină mai multe modele și să aprovizioneze mai multe servere și GPU-uri. Acest lucru se poate dovedi extrem de costisitor. Acest lucru este unul dintre motivele pentru care, la NLP Cloud, încercăm să evităm cât mai mult posibil această strategie.

Modele multilingve

O a doua abordare constă în utilizarea de modele multilingve.

În ultimii ani, au apărut noi modele multilingve care s-au dovedit a fi foarte precise. Uneori, chiar mai precise decât modelele specifice non-engleze. Cele mai populare sunt mBERT, XLM și XLM Roberta. XLM Roberta pare a fi cel mai precis model multilingv și se comportă foarte bine pe setul de date de evaluare XNLI (o serie de evaluări pentru a evalua calitatea modelelor multilingve).

Sunt disponibile câteva modele preformulate foarte bune bazate pe XLM Roberta. De exemplu, pentru clasificarea textului în multe limbi, cel mai bun model este XLM Roberta Large XNLI: vedeți acest model aici.

Deocamdată nu există un model multilingv bun pentru generarea de text. De exemplu, GPT este excelent în limba engleză și nu atât de rău în mai multe limbi non-engleze, dar este departe de a fi impresionant. Big Science lucrează în prezent la modele multilingve foarte mari de generare de text. Pare promițător! Vedeți mai multe aici..

Big Science multilingvă 176 miliarde de parametri model de transformatoare Big Science
Big Science tocmai a anunțat un model multilingv de transformatoare de 176 de miliarde de parametri multilingve

Traducere la salvare

Ultima strategie constă în utilizarea traducerii. Ideea este că ar trebui să vă traduceți conținutul care nu este în limba engleză în limba engleză, să trimiteți conținutul în limba engleză la model și să traduceți rezultatul înapoi în limba originală.

Această tehnică ar putea părea un truc, dar are avantaje. Menținerea unui flux de lucru pentru traduceri poate fi mai puțin costisitoare decât antrenarea unor modele dedicate, iar toate limbile din lume pot fi suportate cu ușurință.

În ultimii ani, au fost create modele avansate de traducere bazate pe învățare profundă. Acestea sunt atât rapide, cât și oferă rezultate foarte bune. De exemplu, Helsinki NLP a lansat o serie de modele de traducere bazate pe învățare profundă. Puteți utiliza cele mai cele mai populare pe NLP Cloud: vezi mai multe aici.

Adăugarea traducerii la fluxul de lucru va crește totuși timpul de răspuns general. Așadar, s-ar putea să nu fie potrivit dacă sunteți în căutare de rezultate foarte rapide.

Concluzie

Prelucrarea multilingvă a limbajului natural nu este o problemă rezolvată, dar în ultimii ani s-au făcut multe progrese. În prezent, este posibil să se realizeze procesarea limbajului natural în alte limbi decât engleza cu rezultate foarte bune, datorită unor modele specifice, modele multilingve și traducere.

La NLP Cloud, credem că înțelegerea și generarea de text în mai multe limbi este crucială, așa că am lansat un add-on specific numit "multilingual add-on". Odată activat, toate modelele noastre de inteligență artificială pot funcționa bine în peste 20 de limbi, inclusiv modelele GPT precum GPT-J și GPT-NeoX: vezi aici.. We also propose advanced multilingual models like spaCy and XLM Roberta. tr%}

Julien Salinas
CTO la NLP Cloud