Laboratorul Amazon Machine Learning Solutions (MLSL) a creat recent un instrument pentru adnotarea textului cu recunoașterea entității numite (NER) și etichete de relații folosind Amazon SageMaker Ground Adevăr. Adnotatorii folosesc acest instrument pentru a eticheta textul cu entități denumite și a lega relațiile acestora, creând astfel un set de date pentru antrenarea modelelor de învățare automată (ML) de procesare a limbajului natural (NLP) de ultimă generație. Cel mai important, acesta este acum disponibil public pentru toți clienții AWS.
Caz de utilizare pentru clienți: Booking.com
Booking.com este una dintre cele mai importante platforme de călătorie online din lume. Înțelegerea a ceea ce spun clienții despre cele peste 28 de milioane de proprietăți ale companiei de pe platformă este esențială pentru menținerea unei experiențe de top pentru clienți. Anterior, Booking.com putea utiliza doar analiza tradițională a sentimentelor pentru a interpreta recenziile generate de clienți la scară. În căutarea de a îmbunătăți specificul acestor interpretări, Booking.com a apelat recent la MLSL pentru ajutor pentru construirea unui set de date adnotate personalizat pentru antrenarea unui model de analiză a sentimentelor bazat pe aspecte.
Analiza tradițională a sentimentelor este procesul de clasificare a unui text ca pozitiv, negativ sau neutru ca a sentiment singular. Acest lucru funcționează pentru a înțelege în linii mari dacă utilizatorii sunt mulțumiți sau nemulțumiți de o anumită experiență. De exemplu, cu analiza tradițională a sentimentelor, următorul text poate fi clasificat drept „neutru”:
Şederea noastră la hotel a fost plăcută. Personalul a fost prietenos și camerele curate, dar paturile noastre erau destul de inconfortabile.
Analiza sentimentelor bazată pe aspecte oferă o înțelegere mai nuanțată a conținutului. În cazul Booking.com, în loc să ia o recenzie a clientului în ansamblu și să o clasifice categoric, poate prelua sentimentul din interiorul unei recenzii și îl poate atribui unor aspecte specifice. De exemplu, recenziile clienților pentru un anumit hotel ar putea lăuda piscina și zona de fitness impecabile, dar oferă feedback critic despre restaurant și lounge.
Declarația care ar fi fost clasificată drept „neutră” de analiza tradițională a sentimentelor va deveni, cu analiza sentimentului bazată pe aspecte:
Şederea noastră la hotel a fost plăcută. Personalul a fost prietenos și camerele curate, dar paturile noastre erau destul de inconfortabile.
- Hotel: Pozitiv
- Personal: pozitiv
- Camera: Pozitiv
- Paturi: Negativ
Booking.com a căutat să construiască un model personalizat de analiză a sentimentelor, bazat pe aspecte, care să le spună care părți specifice ale experienței oaspeților (dintr-o listă de peste 50 de aspecte) au fost pozitiv, negativ, Sau neutru.
Înainte ca Booking.com să poată construi un set de date de antrenament pentru acest model, avea nevoie de o modalitate de adnotare. Instrumentul de adnotare al MLSL a oferit soluția personalizată atât de necesară. Evaluarea umană a fost efectuată pe o colecție mare de recenzii hoteliere. Apoi, adnotatorii au completat adnotări cu entități denumite pe secțiunile de text și expresiile despre sentiment și experiența oaspeților înainte de a lega intervalele corespunzătoare.
Noul model bazat pe aspecte permite Booking.com să personalizeze atât locurile de cazare, cât și recenziile pentru clienții săi. Evidențierea aspectelor pozitive și negative ale fiecărei unități de cazare permite clienților să aleagă potrivirea perfectă. În plus, diferiților clienți le pasă de diferite aspecte ale cazării, iar noul model deschide posibilitatea de a arăta fiecăruia cele mai relevante recenzii.
Cerințe de etichetare
Deși Ground Truth oferă o capacitate de adnotare a textului NER încorporată, nu oferă posibilitatea de a lega entitățile între ele. Având în vedere acest lucru, Booking.com și MLSL au elaborat următoarele cerințe de nivel înalt pentru un nou instrument de etichetare a textului de recunoaștere a entității cu nume care:
- Acceptă ca intrare: a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match. , etichete de entitate, etichete de relații, și etichete de clasificare.
- Opțional acceptă ca intrare date pre-adnotate cu eticheta și adnotări de relație anterioare.
- Prezintă adnotatorul fie cu text neadnotat, fie cu text preadnotat.
- Permite adnotatorilor să evidențieze și să adnoteze text arbitrar cu o etichetă de entitate.
- Permite adnotatorilor să creeze relații între două adnotări de entități.
- Permite adnotatorilor să navigheze cu ușurință într-un număr mare de etichete de entități.
- Acceptă gruparea etichetelor de entități în categorii.
- Permiteți relații de suprapunere, ceea ce înseamnă că același segment de text adnotat poate fi asociat cu mai mult de un alt segment de text adnotat.
- Permite suprapunerea adnotărilor etichetelor de entitate, ceea ce înseamnă că două adnotări se pot suprapune pe aceeași bucată de text. De exemplu, textul „Seattle Space Needle” poate avea atât adnotările „Seattle” → „locations”, cât și „Seattle Space Needle” → „atractii”.
- Formatul de ieșire este compatibil cu formatul de intrare și poate fi reintrodus în sarcinile ulterioare de etichetare.
- Acceptă text codificat UTF-8 care conține emoji și alte caractere pe mai mulți octeți.
- Acceptă limbi de la stânga la dreapta.
Exemplu de adnotare
Luați în considerare următorul document:
Ne-a plăcut locația acestui hotel! Lounge-ul de pe acoperiș ne-a oferit priveliștea perfectă a space needle. De asemenea, se află la o scurtă călătorie cu mașina de piața Pike Place și de malul apei.
Mâncarea era disponibilă doar prin room service, ceea ce a fost puțin dezamăgitor, dar are sens în această lume post-pandemie.
Per total, o experiență la preț rezonabil.
Încărcarea acestui document în noua adnotare NER prezintă un lucrător cu următoarea interfață:
În acest caz, sarcina lucrătorului este:
- Etichetați entitățile legate de proprietate (locație, preț, alimente etc.)
- Etichetați entitățile legate de sentiment (pozitiv, negativ sau neutru)
- Conectați entitățile numite legate de proprietate la cuvinte cheie legate de sentimente pentru a surprinde cu exactitate experiența oaspeților
Viteza de adnotare a fost un aspect important al instrumentului. Folosind o secvență de comenzi rapide intuitive de la tastatură și gesturi ale mouse-ului, adnotatorii pot conduce interfața și:
- Adăugați și eliminați adnotări pentru entități denumite
- Adăugați relații între entitățile numite
- Salt la începutul și la sfârșitul documentului
- Trimiteți documentul
În plus, există suport pentru etichete suprapuse. De exemplu, Seattle Space Needle
: în această frază, Seattle
este adnotat atât ca locație în sine, cât și ca parte a numelui atracției.
Adnotarea completată oferă o analiză mai completă și nuanțată a datelor:
Relațiile pot fi configurate pe mai multe niveluri, de la categorii de entități la alte categorii de entități (de exemplu, de la „hrană” la „sentiment”) sau între tipuri individuale de entități. Relațiile sunt direcționate, astfel încât adnotatorii pot lega un aspect precum mâncarea de un sentiment, dar nu și invers (dacă nu este activat în mod explicit). Când desenați relații, instrumentul de adnotare va deduce automat eticheta și direcția relației.
Configurarea instrumentului de adnotare NER
În această secțiune, discutăm cum să personalizați instrumentul de adnotare NER pentru cazuri de utilizare specifice clientului. Aceasta include configurarea:
- Textul introdus de adnotat
- Etichete de entitate
- Etichete de relație
- Etichete de clasificare
- Date pre-adnotate
- Instrucțiuni pentru lucrător
Vom acoperi specificul formatelor de document de intrare și de ieșire și vom oferi câteva exemple pentru fiecare.
Format document de intrare
Instrumentul de adnotare NER așteaptă următorul document de intrare formatat JSON (câmpurile cu un semn de întrebare lângă nume sunt opționale).
Pe scurt, formatul de intrare are următoarele caracteristici:
- Fie
entityLabels
orclassificationLabels
(sau ambele) sunt necesare pentru adnotare. - If
entityLabels
sunt date, atuncirelationshipLabels
poate fi adăugat. - Relațiile pot fi permise între diferite etichete de entități/categorii sau o combinație a acestora.
- „Sursa” unei relații este entitatea cu care începe săgeata direcționată, în timp ce „ținta” este spre locul în care se îndreaptă.
Câmp | Tip | Descriere |
a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match. | şir | Necesar. Introduceți text pentru adnotare. |
tokenRows | şir[][] | Opțional. Tokenizare personalizată a textului introdus. Matrice de matrice de șiruri. Matricea de nivel superior reprezintă fiecare rând de text (încărcări de linie), iar matricea de al doilea nivel reprezintă jetoane pe fiecare rând. Toate caracterele/runele din textul introdus trebuie să fie luate în considerare în tokenRows, inclusiv orice spațiu alb. |
documentId | şir | Opțional. Valoare opțională pentru clienți pentru a urmări documentul adnotat. |
entityLabels | obiect[] | Obligatoriu dacă classificationLabels este necompletat. Matrice de etichete de entități. |
entityLabels[].nume | şir | Necesar. Numele afișat al etichetei entității. |
entityLabels[].category | şir | Opțional. Numele categoriei etichetei entității. |
entityLabels[].shortName | şir | Opțional. Afișați acest text peste entitățile adnotate, mai degrabă decât numele complet. |
entityLabels[].shortCategory | şir | Opțional. Afișați acest text în meniul drop-down de selectare a adnotării entității în loc de primele patru litere ale numelui categoriei. |
entityLabels.color | şir | Opțional. Cod de culoare hexadecimal cu prefixul „#”. Dacă este gol, atunci va atribui automat o culoare etichetei entității. |
etichete de relație | obiect[] | Opțional. Gamă de etichete de relații. |
relationLabels[].nume | şir | Necesar. Numele afișat al etichetei relației. |
relationLabels[].allowedRelationships | obiect[] | Opțional. Matrice de valori care restricționează tipurile de etichete de entități sursă și destinație cărora le poate fi atribuită această relație. Fiecare element din matrice este „SAU” împreună. |
relationLabels[].allowedRelationships[].sourceEntityLabelCategories | şir[] | Este necesar să setați fie sourceEntityLabelCategories, fie sourceEntityLabels (sau ambele). Lista tipurilor de categorii de etichete de entitate sursă juridică pentru această relație. |
relationLabels[].allowedRelationships[].targetEntityLabelCategories | şir[] | Necesar pentru a seta fie targetEntityLabelCategories, fie targetEntityLabels (sau ambele). Lista tipurilor de categorii de etichete de entitate țintă juridică pentru această relație. |
relationLabels[].allowedRelationships[].sourceEntityLabels | şir[] | Este necesar să setați fie sourceEntityLabelCategories, fie sourceEntityLabels (sau ambele). Lista tipurilor de etichete de entitate sursă juridică pentru această relație. |
relationLabels[].allowedRelationships[].sourceEntityLabels | şir[] | Necesar pentru a seta fie targetEntityLabelCategories, fie targetEntityLabels (sau ambele). Lista tipurilor de etichete de entitate țintă juridică pentru această relație. |
clasificareEtichete | şir[] | Obligatoriu dacă entityLabels este necompletat. Lista etichetelor de clasificare la nivel de document. |
entityAdnotations | obiect[] | Opțional. Gamă de adnotări de entități cu care să pre-adnoteze textul introdus. |
entityAdnotations[].id | şir | Necesar. Identificator unic pentru această adnotare de entitate. Folosit pentru a face referire la această entitate în relationshipAnnotations. |
entityAdnotations[].start | număr | Necesar. Începeți decalajul runelor pentru această adnotare de entitate. |
entityAdnotations[].end | număr | Necesar. Sfârșit decalaj rune a acestei adnotări de entitate. |
entityAdnotations[].text | şir | Necesar. Conținut text între decalajul runei de început și de sfârșit. |
entityAdnotations[].label | şir | Necesar. Numele etichetei entității asociate (din numele din entityLabels). |
entityAnnotations[].labelCategory | şir | Opțional.Categoria etichetă de entitate asociată (din categoriile din entityLabels). |
adnotări de relație | obiect[] | Opțional. Gamă de adnotări pentru relații. |
relationshipAnnotations[].sourceEntityAnnotationId | şir | Necesar. ID-ul adnotării entității sursă pentru această relație. |
relationshipAnnotations[].targetEntityAnnotationId | şir | Necesar. ID-ul adnotării entității țintă pentru această relație. |
relationAdnotations[].label | şir | Necesar. Numele etichetei relației asociate. |
clasificareAdnotări | şir[] | Opțional. Matrice de clasificări cu care să pre-adnoteze documentul. |
meta | obiect | Opțional. Parametri de configurare suplimentari. |
meta.instrucțiuni | şir | Opțional. Instrucțiuni pentru adnotatorul de etichetare în format Markdown. |
meta.disableSubmitConfirmation | boolean | Opțional. Setați la adevărat pentru a dezactiva modulul de confirmare a trimiterii. |
meta.multiClasificare | boolean | Opțional. Setați la true pentru a activa modul cu mai multe etichete pentru clasificationLabels. |
Iată câteva exemple de documente pentru a înțelege mai bine acest format de intrare
Documentele care aderă la această schemă sunt furnizate către Ground Truth ca elemente rând individuale într-un manifest de intrare.
Format document de ieșire
Formatul de ieșire este conceput pentru a transmite cu ușurință o nouă sarcină de adnotare. Câmpurile opționale din documentul de ieșire sunt setate dacă sunt setate și în documentul de intrare. Singura diferență între formatele de intrare și de ieșire este meta
obiect.
Câmp | Tip | Descriere |
meta.respins | boolean | Este setat la true dacă adnotatorul a respins acest document. |
meta.rejectedReason | şir | Motivul indicat de adnotator pentru respingerea documentului. |
meta.rune | şir[] | Matrice de rune care reprezintă toate caracterele din textul introdus. Folosit pentru a calcula decalajele de început și de sfârșit ale adnotărilor entității. |
Iată un exemplu de document de ieșire care a fost adnotat:
Notă rune:
O „rună” în acest context este un singur caracter care poate fi evidențiat în text, inclusiv caractere pe mai mulți octeți, cum ar fi emoji.
- Deoarece diferitele limbaje de programare reprezintă diferit caracterele pe mai mulți octeți, folosirea „Runelor” pentru a defini fiecare caracter care poate fi evidențiat ca un singur element atomic înseamnă că avem o modalitate clară de a descrie orice selecție de text dată.
- De exemplu, Python tratează steagul suedez ca patru caractere:
Dar JavaScript tratează același emoji ca două caractere
Pentru a elimina orice ambiguitate, vom trata steagul suedez (și toate celelalte emoji și caractere pe mai mulți octeți) ca pe un singur element atomic.
- Offset: poziția runei în raport cu textul de intrare (începând cu indicele 0)
Efectuarea de adnotări NER cu Ground Truth
Ca serviciu de etichetare a datelor complet gestionat, Ground Truth construiește seturi de date de antrenament pentru ML. Pentru acest caz de utilizare, folosim Ground Truth pentru a trimite o colecție de documente text unui grup de lucrători pentru adnotare. În cele din urmă, analizăm calitatea.
Ground Truth poate fi configurat pentru a construi un job de etichetare a datelor folosind noul instrument NER ca șablon personalizat.
Mai exact, vom:
- Creați o forță de muncă de etichetare privată a lucrătorilor pentru a efectua sarcina de adnotare
- Creați un manifest de intrare Ground Truth cu documentele pe care vrem să le adnotăm și apoi încărcați-l Serviciul Amazon de stocare simplă (Amazon S3)
- Creați sarcini de pre-etichetare și sarcini de post-etichetare funcții Lambda
- Creați o lucrare de etichetare Ground Truth folosind șablonul NER personalizat
- Adnotă documentele
- Examinați rezultatele
Resurse instrumente NER
O listă completă a resurselor la care se face referire și a documentelor eșantion poate fi găsită în următorul grafic:
Etichetarea Crearea forței de muncă
Ground Truth folosește forța de muncă de etichetare SageMaker pentru a gestiona lucrătorii și a distribui sarcini. Creați o forță de muncă privată, o echipă de muncitori numită ner-worker-team și atribuiți-vă echipei utilizând instrucțiunile găsite în Creați o forță de muncă privată (consola Amazon SageMaker).
După ce v-ați adăugat la o forță de muncă privată și v-ați confirmat e-mailul, notați adresa URL a portalului pentru lucrători din Consola de management AWS:
- Navigheaza catre
SageMaker
- Navigheaza catre
Ground Truth → Labeling workforces
- selectaţi
Private
fila - Notați adresa URL
Labeling portal sign-in URL
Conectați-vă la portalul lucrătorilor pentru a vedea și a începe lucrul la sarcinile de etichetare.
Manifest de intrare
Manifestul de date de intrare Ground Truth este un fișier cu linii JSON în care fiecare linie conține o singură sarcină de lucru. În cazul nostru, fiecare linie va conține un singur document de intrare codificat JSON, care conține textul pe care dorim să-l adnotăm și schema de adnotare NER.
Descărcați un exemplu de manifest de intrare reviews.manifest
din https://assets.solutions-lab.ml/NER/0.2.1/sample-data/reviews.manifest
notițe: fiecare rând din manifestul de intrare are nevoie de o cheie de nivel superior source
or source-ref
. Puteți afla mai multe în Utilizați un fișier manifest de intrare în Ghidul dezvoltatorului Amazon SageMaker.
Încărcați Manifestul de intrare pe Amazon S3
Încărcați acest manifest de intrare într-o găleată S3 utilizând AWS Management Console sau din linia de comandă, înlocuind astfel your-bucket
cu un nume real de găleată.
Descărcați șablonul de lucrător personalizat
Descărcați șablonul de lucrător personalizat al instrumentului NER de la https://assets.solutions-lab.ml/NER/0.2.1/worker-template.liquid.html prin vizualizarea sursei și salvarea conținutului local sau din linia de comandă:
Creați sarcini de pre-etichetare și sarcini de post-etichetare funcții Lambda
Descărcați eșantion de sarcină de pre-etichetare funcție Lambda: smgt-ner-pre-labeling-task-lambda.py
din https://assets.solutions-lab.ml/NER/0.2.1/sample-scripts/smgt-ner-pre-labeling-task-lambda.py
Descărcați eșantion de sarcină de pre-etichetare funcție Lambda: smgt-ner-post-labeling-task-lambda.py
din https://assets.solutions-lab.ml/NER/0.2.1/sample-scripts/smgt-ner-post-labeling-task-lambda.py
- Creați funcția Lambda a sarcinii de preetichetare din Consola de management AWS:
- Navigheaza catre
Lambda
- Selectați
Create function
- Specifica
Function name
assmgt-ner-pre-labeling-task-lambda
- Selectați
Runtime
→Python 3.6
- Selectați
Create function
- In
Function code
→lambda_hanadler.py
, lipiți conținutulsmgt-ner-pre-labeling-task-lambda.py
- Selectați
Deploy
- Navigheaza catre
- Creați funcția Lambda pentru sarcini post-etichetare din Consola de management AWS:
- Navigheaza catre
Lambda
- Selectați
Create function
- Specifica
Function name
assmgt-ner-post-labeling-task-lambda
- Selectați
Runtime
→Python 3.6
- Extinde
Change default execution role
- Selectați
Create a new role from AWS policy templates
- Introduceţi
Role name
:smgt-ner-post-labeling-task-lambda-role
- Selectați
Create function
- selectaţi
Permissions
fila - selectaţi
Role name
:smgt-ner-post-labeling-task-lambda-role
pentru a deschide consola IAM - Adăugați două politici la rol
- Selectați
Attach policies
- Atașați
AmazonS3FullAccess
Politica - Selectați
Add inline policy
- selectaţi
JSON
fila - Inserați următoarea politică inline:
- Selectați
- Navigați înapoi la
smgt-ner-post-labeling-task-lambda
Pagina de configurare a funcției Lambda - selectaţi
Configuration
fila - In
Function code
→ lambda_hanadler.py
, lipiți conținutulsmgt-ner-post-labeling-task-lambda.py
- Selectați
Deploy
- Navigheaza catre
Creați o lucrare de etichetare Ground Truth
Din Consola de management AWS:
- Navigați către
Amazon SageMaker
serviciu - Navigheaza catre
Ground Truth
→Labeling Jobs
. - Selectați
Create labeling job
- Specificați a
Job Name
- Selectați
Manual Data Setup
- Specificați locația setului de date de intrare în care ați încărcat manifestul de intrare anterior (de exemplu, s
3://your-bucket/ner-input/sample-smgt-input-manifest.jsonl
) - Specificați locația setului de date de ieșire pentru a indica un folder diferit din aceeași găleată (de exemplu,
s3://your-bucket/ner-output/
) - Specificați un
IAM Role
prin selectareaCreate new role
- Permiteți acestui rol să acceseze orice grup S3 selectând
S3 buckets you specify
→Any S3 bucket
la crearea politicii - Într-o nouă fereastră AWS Management Console, deschideți
IAM
console și selectațiRoles
- Căutați numele rolului pe care tocmai l-ați creat (de exemplu,
AmazonSageMaker-ExecutionRole-20210301T154158
) - Selectați numele rolului pentru a deschide rolul în consolă
- Atașați următoarele trei politici:
- Selectați Atașați politici
- Atașați
AWSLambda_FullAccess
la rol - Selectați
Trust Relationships
→Edit Trust Relationships
- Editați relația de încredere JSON,
- Înlocui
YOUR_ACCOUNT_NUMBER
cu numărul dvs. numeric de cont AWS, pentru a citi: - Salvează relația de încredere
- Permiteți acestui rol să acceseze orice grup S3 selectând
- Reveniți la noua lucrare Ground Truth din fereastra anterioară AWS Management Console: sub
Task Category
, SelectațiCustom
- Selectați
Next
- Selectați
Worker types
:Private
- selectaţi
Private team
:ner-worker-team
care a fost creat în secțiunea precedentă - În
Custom labeling task setup
zona de text, ștergeți conținutul implicit și inserați conținutulworker-template.liquid.html
dosar obținut anterior - Se specifică
Pre-labeling task Lambda function
cu funcția creată anterior:smgt-ner-pre-labeling
- Se specifică
Post-labeling task Lambda function
cu funcția creată mai devreme:smgt-ner-post-labeling
- Selectați
Create
Adnotă documentele
Odată ce jobul Ground Truth este creat, putem începe adnotarea documentelor. Deschideți portalul pentru lucrători pentru forța de muncă creată mai devreme (În AWS Management Console, navigați la SageMaker
, Ground Truth → Labeling workforces
, Private
, și deschideți fișierul Labeling portal sign-in URL
)
Conectați-vă și selectați prima sarcină de etichetare din tabel, apoi selectați „Începeți lucrul” pentru a deschide adnotatorul. Efectuați adnotările și selectați Trimiteți pe toate cele trei documente eșantion.
Examinați rezultatele
Pe măsură ce adnotatorii Ground Truth completează sarcinile, rezultatele vor fi disponibile în compartimentul S3 de ieșire:
Odată ce toate sarcinile pentru o lucrare de etichetare sunt finalizate, rezultatul consolidat este disponibil în output.manifest
fisierul aflat aici:
Acest manifest de ieșire este un fișier cu linii JSON cu un document text adnotat pe linie în „Format document de ieșire” specificat anterior. Acest fișier este compatibil cu „Format document de intrare” și poate fi introdus direct într-o lucrare Ground Truth ulterioară pentru o altă rundă de adnotare. Alternativ, poate fi analizat și trimis la un job de formare ML. Câteva scenarii în care am putea folosi o a doua rundă de adnotări sunt:
- Împărțirea procesului de adnotare în două etape în care primul adnotator identifică adnotările entităților, iar al doilea adnotator desenează relații
- Luând un eșantion al nostru
output.manifest
și trimiterea acestuia la un al doilea, mai experimentat adnotator pentru a fi examinat ca verificare a controlului calității
Șabloane personalizate de adnotare pentru adevărul teren
Instrumentul de adnotare NER descris în acest document este implementat ca un șablon personalizat de adnotare Ground Truth. Clienții AWS își pot construi propriile interfețe de adnotare personalizate folosind instrucțiunile de aici:
Concluzie
Lucrând împreună, Booking.com și Amazon MLSL au reușit să dezvolte un instrument puternic de adnotare a textului care este capabil să creeze adnotări complexe de recunoaștere a entităților cu nume și relații.
Încurajăm clienții AWS cu un caz de utilizare cu adnotare text NER să încerce instrumentul descris în această postare. Dacă doriți ajutor pentru accelerarea utilizării ML în produsele și serviciile dvs., vă rugăm să contactați Laboratorul de soluții Amazon Machine Learning Solutions.
Despre Autori
Dan Noble este inginer de dezvoltare software la Amazon, unde ajută la construirea unor experiențe încântătoare pentru utilizatori. În timpul liber, îi place să citească, să facă mișcare și să aibă aventuri cu familia sa.
Pri Nonis este arhitect Deep Learning la Amazon ML Solutions Lab, unde lucrează cu clienții din diverse verticale și îi ajută să-și accelereze călătoria de migrare în cloud și să-și rezolve problemele ML folosind soluții și tehnologii de ultimă generație.
Niharika Jayanthi este inginer front-end la AWS, unde dezvoltă soluții de adnotare personalizate pentru clienții Amazon SageMaker. În afara serviciului, îi place să meargă la muzee și să se antreneze.
Amit Beka este Manager de învățare automată la Booking.com, cu peste 15 ani de experiență în dezvoltarea de software și învățarea automată. El este fascinat de oameni și limbi și de modul în care computerele sunt încă nedumerite de ambele.
- '
- 100
- 11
- 7
- Despre Noi
- acces
- Cont
- Contabilitate
- peste
- Acțiune
- plus
- Suplimentar
- TOATE
- Amazon
- Învățare automată Amazon
- Amazon SageMaker
- Ambiguitate
- analiză
- ZONĂ
- disponibil
- Disponibil tuturor
- AWS
- Început
- fiind
- construi
- Clădire
- pasă
- cazuri
- clasificare
- Cloud
- cod
- colectare
- complex
- Calculatoare
- Configuraţie
- considerare
- Consoleze
- conţinut
- conținut
- ar putea
- Crearea
- critic
- experienta clientului
- clienţii care
- de date
- învățare profundă
- dezvolta
- Dezvoltator
- Dezvoltare
- diferit
- documente
- Nu
- cu ușurință
- efect
- emoji,
- încuraja
- inginer
- etc
- exemplu
- execuție
- se așteaptă
- experienţă
- Experiențe
- familie
- fed-
- feedback-ul
- Domenii
- În cele din urmă
- First
- fitness
- alimente
- format
- găsit
- Complet
- funcţie
- gif
- merge
- Oaspete
- ghida
- ajutor
- ajută
- aici
- Evidențiați
- hotel
- Cum
- Cum Pentru a
- HTTPS
- IAM
- implementat
- important
- Inclusiv
- index
- individ
- IT
- JavaScript
- Loc de munca
- călătorie
- Cheie
- etichetarea
- etichete
- limbă
- Limbă
- mare
- conducere
- AFLAȚI
- învăţare
- Legal
- Nivel
- nivelurile de
- Linie
- LINK
- Lichid
- Listă
- înregistrări
- la nivel local
- locaţie
- cautati
- masina de învățare
- administrare
- marca
- Piață
- Meci
- meta
- minte
- ML
- model
- mai mult
- muzee
- nume
- Limbajul natural
- Procesarea limbajului natural
- necesar
- nlp
- numere
- promoții
- compensa
- on-line
- deschide
- deschide
- Oportunitate
- Altele
- oameni
- Expresii
- platformă
- Platforme
- Politicile
- Politica
- piscină
- Portal
- post-pandemie
- puternic
- preţ
- Principal
- privat
- proces
- Produse
- Programare
- limbaje de programare
- proprietate
- furniza
- furnizează
- Piton
- calitate
- întrebare
- Citind
- Relaţii
- Cerinţe
- resursă
- Resurse
- restaurant
- REZULTATE
- revizuiască
- Recenzii
- Camere
- sagemaker
- economisire
- Scară
- sens
- sentiment
- Servicii
- set
- Pantaloni scurți
- simplu
- So
- Software
- de dezvoltare de software
- soluţii
- REZOLVAREA
- Spaţiu
- viteză
- Începe
- Declarație
- şedere
- depozitare
- a sustine
- Ţintă
- Tehnologii
- Sursa
- timp
- împreună
- tokenizarea
- indicativele
- instrument
- top
- nivel superior
- urmări
- tradiţional
- Pregătire
- călătorie
- trata
- tratează
- Încredere
- us
- utilizatorii
- valoare
- versiune
- Vizualizare
- Ce
- în
- Apartamente
- a lucrat
- muncitorii
- Forta de munca
- de lucru
- lucrează
- fabrică
- lume
- lume
- ar
- ani