Amazon Comprehend anunță limite mai mici de adnotare pentru recunoașterea personalizată a entităților PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Amazon Comprehend anunță limite mai mici de adnotare pentru recunoașterea personalizată a entităților

Amazon Comprehend este un serviciu de procesare a limbajului natural (NLP) pe care îl puteți utiliza pentru a extrage automat entități, expresii cheie, limbaj, sentimente și alte informații din documente. De exemplu, puteți începe imediat să detectați entități precum persoane, locuri, articole comerciale, date și cantități prin intermediul Consola Amazon Comprehend, Interfața liniei de comandă AWS, Sau API-urile Amazon Comprehend. În plus, dacă trebuie să extrageți entități care nu fac parte din Tipuri de entități încorporate Amazon Comprehend, puteți crea un model personalizat de recunoaștere a entităților (cunoscut și ca entitate personalizată recunoaștetor) pentru a extrage termeni care sunt mai relevanți pentru cazul dvs. de utilizare specific, cum ar fi numele articolelor dintr-un catalog de produse, identificatori specifici domeniului și așa mai departe. Crearea unui dispozitiv de recunoaștere a entităților precis, folosind biblioteci și cadre de învățare automată poate fi un proces complex și consumator de timp. Amazon Comprehend vă simplifică în mod semnificativ munca de formare a modelului. Tot ce trebuie să faceți este să vă încărcați setul de date de documente și adnotări și să utilizați consola Amazon Comprehend, AWS CLI sau API-urile pentru a crea modelul.

Pentru a instrui un dispozitiv de recunoaștere a entităților personalizate, puteți furniza date de instruire către Amazon Comprehend ca adnotări sau liste de entități. În primul caz, furnizați o colecție de documente și un fișier cu adnotări care specifică locația în care apar entitățile în setul de documente. Alternativ, cu listele de entități, furnizați o listă de entități cu eticheta de tip de entitate corespunzătoare și un set de documente neadnotate în care vă așteptați să fie prezente entitățile dvs. Ambele abordări pot fi folosite pentru a antrena un model de recunoaștere personalizat de succes a entităților; cu toate acestea, există situații în care o metodă poate fi o alegere mai bună. De exemplu, atunci când semnificația anumitor entități ar putea fi ambiguă și dependentă de context, se recomandă furnizarea de adnotări, deoarece acest lucru vă poate ajuta să creați un model Amazon Comprehend care este capabil să utilizeze mai bine contextul la extragerea entităților.

Adnotarea documentelor poate necesita destul de mult efort și timp, mai ales dacă aveți în vedere că atât calitatea, cât și cantitatea adnotărilor au impact asupra modelului de recunoaștere a entității rezultat. Adnotările imprecise sau prea puține pot duce la rezultate slabe. Pentru a vă ajuta să configurați un proces de achiziție de adnotări, vă oferim instrumente precum Amazon SageMaker Ground Adevăr, pe care îl puteți folosi pentru a adnota documentele mai rapid și pentru a genera un fișier de adnotări de manifest augmentat. Cu toate acestea, chiar dacă utilizați Ground Truth, trebuie totuși să vă asigurați că setul de date de antrenament este suficient de mare pentru a vă construi cu succes dispozitivul de recunoaștere a entității.

Până astăzi, pentru a începe antrenamentul unui dispozitiv de recunoaștere a entităților personalizate Amazon Comprehend, trebuia să furnizați o colecție de cel puțin 250 de documente și un minim de 100 de adnotări pe tip de entitate. Astăzi, anunțăm că, datorită îmbunătățirilor recente ale modelelor care stau la baza Amazon Comprehend, am redus cerințele minime pentru formarea unui dispozitiv de recunoaștere cu fișiere de adnotare CSV cu text simplu. Acum puteți construi un model personalizat de recunoaștere a entităților cu doar trei documente și 25 de adnotări pe tip de entitate. Puteți găsi mai multe detalii despre noile limite de servicii în Orientări și cote.

Pentru a arăta modul în care această reducere vă poate ajuta să începeți cu crearea unui dispozitiv de recunoaștere a entităților personalizate, am efectuat câteva teste pe câteva seturi de date open-source și am colectat valori de performanță. În această postare, vă prezentăm procesul de evaluare comparativă și rezultatele pe care le-am obținut în timp ce lucram la seturi de date subeșantionate.

Pregătirea setului de date

În această postare, explicăm cum am antrenat un dispozitiv de recunoaștere a entităților personalizate Amazon Comprehend folosind documente adnotate. În general, adnotările pot fi furnizate ca a Fișier CSV, O fișier manifest augmentat generat de Ground Truth, Sau un Fisier PDF. Ne concentrăm pe adnotările CSV în text simplu, deoarece acesta este tipul de adnotare afectat de noile cerințe minime. Fișierele CSV ar trebui să aibă următoarea structură:

File, Line, Begin Offset, End Offset, Type
documents.txt, 0, 0, 13, ENTITY_TYPE_1
documents.txt, 1, 0, 7, ENTITY_TYPE_2

Câmpurile relevante sunt următoarele:

  • Fișier – Denumirea dosarului care conține documentele
  • Linie – Numărul liniei care conține entitatea, începând cu rândul 0
  • Începe Compensa – Decalajul caracterelor din textul introdus (relativ la începutul liniei) care arată unde începe entitatea, având în vedere că primul caracter se află în poziția 0
  • Sfârșit offset – Decalajul caracterelor din textul introdus care arată unde se termină entitatea
  • Tip – Numele tipului de entitate pe care doriți să-l definiți

În plus, atunci când utilizați această abordare, trebuie să furnizați o colecție de documente de instruire ca fișiere .txt cu un document pe linie sau un document pe fișier.

Pentru testele noastre, am folosit Benchmark pentru înțelegerea limbajului natural SNIPS, un set de date de enunțuri crowdsource distribuite între șapte intenții ale utilizatorilor (AddToPlaylist, BookRestaurant, GetWeather, PlayMusic, RateBook, SearchCreativeWork, SearchScreeningEvent). Setul de date a fost publicat în 2018 în contextul lucrării Snips Voice Platform: un sistem încorporat de înțelegere a limbii vorbite pentru interfețe de voce private prin design de Coucke, et al.

Setul de date SNIPS este format dintr-o colecție de fișiere JSON care condensează atât adnotări, cât și fișiere text brut. Următorul este un fragment din setul de date:

{
   "annotations":{
      "named_entity":[
         {
            "start":16,
            "end":36,
            "extent":"within the same area",
            "tag":"spatial_relation"
         },
         {
            "start":40,
            "end":51,
            "extent":"Lawrence St",
            "tag":"poi"
         },
         {
            "start":67,
            "end":70,
            "extent":"one",
            "tag":"party_size_number"
         }
      ],
      "intent":"BookRestaurant"
   },
   "raw_text":"I'd like to eat within the same area of Lawrence St for a party of one"
}

Înainte de a ne crea dispozitivul de recunoaștere a entităților, am transformat adnotările SNIPS și fișierele text brut într-un fișier de adnotări CSV și un fișier de documente .txt.

Următorul este un extras din nostru annotations.csv fișier:

File, Line, Begin Offset, End Offset, Type
documents.txt, 0, 16, 36, spatial_relation
documents.txt, 0, 40, 51, poi
documents.txt, 0, 67, 70, party_size_number

Următorul este un extras din nostru documents.txt fișier:

I'd like to eat within the same area of Lawrence St for a party of one
Please book me a table for three at an american gastropub 
I would like to book a restaurant in Niagara Falls for 8 on June nineteenth
Can you book a table for a party of 6 close to DeKalb Av

Configurarea eșantionării și procesul de evaluare comparativă

Pentru experimentele noastre, ne-am concentrat pe un subset de tipuri de entități din setul de date SNIPS:

  • BookRestaurant - Tipuri de entități: spatial_relation, poi, party_size_number, restaurant_name, city, timeRange, restaurant_type, served_dish, party_size_description, country, facility, state, sort, cuisine
  • GetWeather - Tipuri de entități: condition_temperature, current_location, geographic_poi, timeRange, state, spatial_relation, condition_description, city, country
  • Reda muzică - Tipuri de entități: track, artist, music_item, service, genre, sort, playlist, album, year

Mai mult, am subeșantionat fiecare set de date pentru a obține diferite configurații în ceea ce privește numărul de documente eșantionate pentru instruire și numărul de adnotări per entitate (cunoscut și ca fotografii). Acest lucru a fost realizat prin utilizarea unui script personalizat conceput pentru a crea seturi de date subeșantionate în care fiecare tip de entitate apare cel puțin k ori, în termen de minim de n documente.

Fiecare model a fost antrenat folosind un subeșantion specific din seturile de date de antrenament; cele nouă configurații de model sunt ilustrate în tabelul următor.

Numele setului de date subeșantionat Numărul de documente prelevate pentru instruire Numărul de documente prelevate pentru testare Numărul mediu de adnotări pe tip de entitate (capturi)
snips-BookRestaurant-subsample-A 132 17 33
snips-BookRestaurant-subsample-B 257 33 64
snips-BookRestaurant-subsample-C 508 64 128
snips-GetWeather-subsample-A 91 12 25
snips-GetWeather-subsample-B 185 24 49
snips-GetWeather-subsample-C 361 46 95
snips-PlayMusic-subsample-A 130 17 30
snips-PlayMusic-subsample-B 254 32 60
snips-PlayMusic-subsample-C 505 64 119

Pentru a măsura acuratețea modelelor noastre, am colectat valori de evaluare pe care Amazon Comprehend le calculează automat atunci când antrenează un instrument de recunoaștere a entității:

  • Precizie – Aceasta indică fracțiunea de entități detectate de dispozitiv de recunoaștere care sunt corect identificate și etichetate. Dintr-o perspectivă diferită, precizia poate fi definită ca tp / (tp + fp), În cazul în care tp este numărul de pozitive adevărate (identificări corecte) și fp este numărul de fals pozitive (identificări incorecte).
  • Rechemare – Aceasta indică fracțiunea de entități prezente în documente care sunt corect identificate și etichetate. Se calculează ca tp / (tp + fn), În cazul în care tp este numărul de pozitive adevărate și fn este numărul de fals negative (identificări ratate).
  • Scor F1 – Aceasta este o combinație a măsurătorilor de precizie și reamintire, care măsoară acuratețea generală a modelului. Scorul F1 este media armonică a măsurătorilor de precizie și reamintire și este calculat ca 2 * Precizie * Recall / (Precizie + Recall).

Pentru a compara performanța instrumentelor noastre de recunoaștere a entităților, ne concentrăm pe scorurile F1.

Având în vedere că, având în vedere un set de date și o dimensiune a sub-eșantionului (în termeni de număr de documente și fotografii), puteți genera diferite sub-eșantioane, am generat 10 sub-eșantioane pentru fiecare dintre cele nouă configurații, am instruit modelele de recunoaștere a entităților, am colectat metrici de performanță și le-a mediat folosind micro-medierea. Acest lucru ne-a permis să obținem rezultate mai stabile, în special pentru subprobele cu câteva injecții.

REZULTATE

Următorul tabel arată scorurile F1 micromedie calculate pe valorile de performanță returnate de Amazon Comprehend după antrenarea fiecărui instrument de recunoaștere a entității.

Numele setului de date subeșantionat Scorul F1 cu micromedie pentru recunoașterea entității (%)
snips-BookRestaurant-subsample-A 86.89
snips-BookRestaurant-subsample-B 90.18
snips-BookRestaurant-subsample-C 92.84
snips-GetWeather-subsample-A 84.73
snips-GetWeather-subsample-B 93.27
snips-GetWeather-subsample-C 93.43
snips-PlayMusic-subsample-A 80.61
snips-PlayMusic-subsample-B 81.80
snips-PlayMusic-subsample-C 85.04

Următorul grafic în coloană arată distribuția scorurilor F1 pentru cele nouă configurații pe care le-am antrenat așa cum este descris în secțiunea anterioară.

Putem observa că am reușit să antrenăm cu succes modele personalizate de recunoaștere a entităților chiar și cu doar 25 de adnotări pe tip de entitate. Dacă ne concentrăm asupra celor mai mici trei seturi de date subeșantionate (snips-BookRestaurant-subsample-A, snips-GetWeather-subsample-A, și snips-PlayMusic-subsample-A), vedem că, în medie, am reușit să obținem un scor F1 de 84%, ceea ce este un rezultat destul de bun având în vedere numărul limitat de documente și adnotări pe care le-am folosit. Dacă dorim să îmbunătățim performanța modelului nostru, putem colecta documente și adnotări suplimentare și putem antrena un nou model cu mai multe date. De exemplu, cu subprobele de dimensiuni medii (snips-BookRestaurant-subsample-B, snips-GetWeather-subsample-B, și snips-PlayMusic-subsample-B), care conțin de două ori mai multe documente și adnotări, am obținut în medie un scor F1 de 88% (îmbunătățire de 5% față de subsample-A seturi de date). În cele din urmă, seturi de date mai mari subeșantionate (snips-BookRestaurant-subsample-C, snips-GetWeather-subsample-C, și snips-PlayMusic-subsample-C), care conțin și mai multe date adnotate (de aproximativ patru ori numărul de documente și adnotări utilizate pentru subsample-A seturi de date), au oferit o îmbunătățire suplimentară de 2%, ridicând scorul mediu F1 la 90%.

Concluzie

În această postare, am anunțat o reducere a cerințelor minime pentru formarea unui dispozitiv de recunoaștere a entităților personalizate cu Amazon Comprehend și am rulat câteva benchmark-uri pe seturi de date open-source pentru a arăta cum această reducere vă poate ajuta să începeți. Începând de astăzi, puteți crea un model de recunoaștere a entității cu cel puțin 25 de adnotări pe tip de entitate (în loc de 100) și cel puțin trei documente (în loc de 250). Prin acest anunț, reducem bariera de intrare pentru utilizatorii interesați să folosească tehnologia de recunoaștere personalizată a entităților Amazon Comprehend. Acum puteți începe să rulați experimentele cu o colecție foarte mică de documente adnotate, să analizați rezultatele preliminare și să repetați prin includerea de adnotări și documente suplimentare dacă aveți nevoie de un model de recunoaștere a entităților mai precis pentru cazul dvs. de utilizare.

Pentru a afla mai multe și pentru a începe cu un instrument de recunoaștere personalizat de entități, consultați Recunoașterea entității personalizate.

Mulțumesc în mod special colegilor mei Jyoti Bansal și Jie Ma pentru ajutorul lor prețios în pregătirea datelor și evaluarea comparativă.


Despre autor

Amazon Comprehend anunță limite mai mici de adnotare pentru recunoașterea personalizată a entităților PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Luca Guida este arhitect de soluții la AWS; are sediul la Milano și sprijină ISV-urile italiene în călătoria lor în cloud. Cu o pregătire academică în informatică și inginerie, a început să-și dezvolte pasiunea AI/ML la universitate. În calitate de membru al comunității de procesare a limbajului natural (NLP) din cadrul AWS, Luca îi ajută pe clienți să aibă succes în timp ce adoptă serviciile AI/ML.

Timestamp-ul:

Mai mult de la Învățare automată AWS