Inteligența artificială (AI) și învățarea automată (ML) au fost adoptate pe scară largă în întreprinderi și organizații guvernamentale. Procesarea datelor nestructurate a devenit mai ușoară odată cu progresele în procesarea limbajului natural (NLP) și a serviciilor AI/ML ușor de utilizat, cum ar fi Text Amazon, Transcriere Amazon, și Amazon Comprehend. Organizațiile au început să folosească servicii AI/ML precum Amazon Comprehend pentru a construi modele de clasificare cu datele lor nestructurate pentru a obține informații profunde pe care nu le aveau înainte. Deși puteți utiliza modele pre-antrenate cu un efort minim, fără curatarea adecvată a datelor și reglarea modelului, nu puteți realiza toate beneficiile modelelor AI/ML.
În această postare, explicăm cum să construiți și să optimizați un model de clasificare personalizat folosind Amazon Comprehend. Demonstrăm acest lucru folosind o clasificare personalizată Amazon Comprehend pentru a construi un model de clasificare personalizată cu mai multe etichete și pentru a oferi instrucțiuni despre cum să pregătiți setul de date de antrenament și să reglați modelul pentru a îndeplini valorile de performanță, cum ar fi acuratețea, precizia, retragerea și scorul F1. Folosim artefactele de ieșire a antrenamentului model Amazon Comprehend ca o matrice de confuzie pentru a regla performanța modelului și pentru a vă ghida în îmbunătățirea datelor de antrenament.
Prezentare generală a soluțiilor
Această soluție prezintă o abordare pentru construirea unui model de clasificare personalizat optimizat folosind Amazon Comprehend. Trecem prin mai mulți pași, inclusiv pregătirea datelor, crearea modelului, analiza valorilor performanței modelului și optimizarea inferenței pe baza analizei noastre. Folosim un Amazon SageMaker caiet si Consola de administrare AWS pentru a finaliza unii dintre acești pași.
De asemenea, parcurgem cele mai bune practici și tehnici de optimizare în timpul pregătirii datelor, construcției modelului și reglajului modelului.
Cerințe preliminare
Dacă nu aveți o instanță de blocnotes SageMaker, puteți crea una. Pentru instrucțiuni, consultați Creați o instanță de notebook Amazon SageMaker.
Pregătiți datele
Pentru această analiză, folosim setul de date Clasificarea comentariilor toxice de la Kaggle. Acest set de date conține 6 etichete cu 158,571 de puncte de date. Cu toate acestea, fiecare etichetă are doar mai puțin de 10% din totalul datelor ca exemple pozitive, două dintre etichete având mai puțin de 1%.
Convertim setul de date Kaggle existent în Amazon Comprehend format CSV cu două coloane cu etichetele împărțite folosind un delimitator pipe (|). Amazon Comprehend se așteaptă la cel puțin o etichetă pentru fiecare punct de date. În acest set de date, întâlnim mai multe puncte de date care nu se încadrează în niciuna dintre etichetele furnizate. Creăm o nouă etichetă numită curat și atribuim oricare dintre punctele de date care nu sunt toxice să fie pozitiv cu această etichetă. În cele din urmă, am împărțit seturile de date organizate în seturi de date de antrenament și de testare folosind o împărțire de 80/20 pe etichetă.
Vom folosi caietul de pregătire a datelor. Următorii pași folosesc setul de date Kaggle și pregătesc datele pentru modelul nostru.
- Pe consola SageMaker, alegeți Instanțe de notebook în panoul de navigare.
- Selectați instanța de notebook pe care ați configurat-o și alegeți Deschideți Jupyter.
- Pe Nou meniu, alegeți Terminal.
- Rulați următoarele comenzi în terminal pentru a descărca artefactele necesare pentru această postare:
- Închideți fereastra terminalului.
Ar trebui să vezi trei caiete și tren.csv fișiere.
- Alege caietul Pregătirea datelor.ipynb.
- Rulați toți pașii din blocnotes.
Acești pași pregătesc setul de date Kaggle brut pentru a servi ca seturi de date de testare și de instruire organizate. Seturile de date selectate vor fi stocate în blocnotes și Serviciul Amazon de stocare simplă (Amazon S3).
Luați în considerare următoarele instrucțiuni de pregătire a datelor atunci când aveți de-a face cu seturi de date cu mai multe etichete la scară largă:
- Seturile de date trebuie să aibă minimum 10 mostre pe etichetă.
- Amazon Comprehend acceptă maximum 100 de etichete. Aceasta este o limită slabă care poate fi mărită.
- Asigurați-vă că fișierul setului de date este corect formatat cu delimitatorul potrivit. Delimitatorii incorecți pot introduce etichete goale.
- Toate punctele de date trebuie să aibă etichete.
- Seturile de date de instruire și de testare ar trebui să aibă o distribuție echilibrată a datelor pe etichetă. Nu utilizați distribuția aleatorie, deoarece ar putea introduce părtinire în seturile de date de antrenament și de testare.
Construiți un model de clasificare personalizat
Folosim seturile de date de instruire și de testare organizate pe care le-am creat în timpul pasului de pregătire a datelor pentru a ne construi modelul. Următorii pași creează un model de clasificare personalizată cu mai multe etichete Amazon Comprehend:
- În consola Amazon Comprehend, alegeți Clasificare personalizată în panoul de navigare.
- Alege Creați un model nou.
- Pentru Numele modelului, introduceți toxic-clasificare-model.
- Pentru Numele versiunii, introduceți 1.
- Pentru Adnotare și format de date, alege Folosind modul Multi-etichetă.
- Pentru Set de date de antrenament, introduceți locația setului de date de antrenament organizat pe Amazon S3.
- Alege Setul de date de testare furnizat de client și introduceți locația datelor de testare selectate pe Amazon S3.
- Pentru Date de ieșire, introduceți locația Amazon S3.
- Pentru Rolul IAM, Selectați Creați un rol IAM, specificați sufixul numelui ca „comprehend-blog”.
- Alege Crea pentru a începe instruirea modelului de clasificare personalizat și crearea modelului.
Următoarea captură de ecran arată detaliile modelului de clasificare personalizat pe consola Amazon Comprehend.
Reglați-vă pentru performanța modelului
Următoarea captură de ecran arată valorile de performanță a modelului. Include valori cheie precum precizie, reamintire, scor F1, acuratețe și multe altele.
După ce modelul este antrenat și creat, acesta va genera fișierul output.tar.gz, care conține etichetele din setul de date, precum și matricea de confuzie pentru fiecare dintre etichete. Pentru a regla în continuare performanța de predicție a modelului, trebuie să înțelegeți modelul dvs. cu probabilitățile de predicție pentru fiecare clasă. Pentru a face acest lucru, trebuie să creați un job de analiză pentru a identifica scorurile atribuite de Amazon Comprehend fiecăruia dintre punctele de date.
Parcurgeți următorii pași pentru a crea un job de analiză:
- În consola Amazon Comprehend, alegeți Joburi de analiză în panoul de navigare.
- Alege Creați loc de muncă.
- Pentru Nume si Prenume, introduce
toxic_train_data_analysis_job
. - Pentru Tipul analizei, alege Clasificare personalizată.
- Pentru Clasificare modele și volante, specifica
toxic-classification-model
. - Pentru Versiune, specificați 1.
- Pentru Date de intrare S3 locație, introduceți locația fișierului de date de antrenament organizat.
- Pentru formatul de intrare, alege Un document pe linie.
- Pentru Date de ieșire Locația S3, introduceți locația.
- Pentru Permisiuni de acces, Selectați Utilizați un rol IAM existent și alegeți rolul creat anterior.
- Alege Creați loc de muncă pentru a începe munca de analiză.
- selectaţi Joburi de analiză pentru a vizualiza detaliile postului. Vă rugăm să luați notă despre ID-ul jobului sub Detalii job. Vom folosi ID-ul jobului în următorul pas.
Repetați pașii până la începerea lucrării de analiză pentru datele de testare organizate. Folosim rezultatele de predicție din lucrările noastre de analiză pentru a afla despre probabilitățile de predicție ale modelului nostru. Vă rugăm să luați notă de ID-urile locurilor de muncă ale joburilor de instruire și analiză a testelor.
Noi folosim Model-Threshold-Analysis.ipynb notebook pentru a testa ieșirile pe toate pragurile posibile și a nota rezultatul pe baza probabilității de predicție folosind scikit-learn precision_recall_curve
funcţie. În plus, putem calcula scorul F1 la fiecare prag.
Vom avea nevoie de ID-ul jobului de analiză Amazon Comprehend ca intrare pentru Model-Prag-Analiză caiet. Puteți obține ID-urile jobului din consola Amazon Comprehend. Executați toți pașii din Model-Prag-Analiză caiet pentru a respecta pragurile pentru toate clasele.
Observați cum crește precizia pe măsură ce pragul crește, în timp ce inversul are loc cu rechemarea. Pentru a găsi echilibrul între cele două, folosim scorul F1 unde are vârfuri vizibile în curba lor. Vârfurile din scorul F1 corespund unui anumit prag care poate îmbunătăți performanța modelului. Observați cum majoritatea etichetelor se situează în jurul valorii de 0.5 pentru prag, cu excepția etichetei de amenințare, care are un prag de aproximativ 0.04.
Apoi putem folosi acest prag pentru anumite etichete care au performanțe slabe doar cu pragul implicit de 0.5. Prin utilizarea pragurilor optimizate, rezultatele modelului privind datele de testare se îmbunătățesc pentru amenințarea etichetei de la 0.00 la 0.24. Folosim scorul maxim F1 la prag ca punct de referință pentru a determina pozitiv față de negativ pentru acea etichetă, în loc de un benchmark comun (o valoare standard, cum ar fi > 0.7) pentru toate etichetele.
Gestionarea claselor subreprezentate
O altă abordare care este eficientă pentru un set de date dezechilibrat este supraeșantionare. Prin supraeșantionarea clasei subreprezentate, modelul vede clasa subreprezentată mai des și subliniază importanța acelor eșantioane. Noi folosim Supraeșantionare-subreprezentată.ipynb notebook pentru a optimiza seturile de date.
Pentru acest set de date, am testat modul în care se modifică performanța modelului în setul de date de evaluare, pe măsură ce oferim mai multe mostre. Folosim tehnica de supraeșantionare pentru a crește apariția claselor subreprezentate pentru a îmbunătăți performanța.
În acest caz particular, am testat pe 10, 25, 50, 100, 200 și 500 de exemple pozitive. Observați că, deși repetăm puncte de date, îmbunătățim în mod inerent performanța modelului, subliniind importanța clasei subreprezentate.
A costat
Cu Amazon Comprehend, plătiți pe măsură ce mergeți în funcție de numărul de caractere text procesate. A se referi la Prețurile Amazon Comprehend pentru costurile reale.
A curăța
Când ați terminat de experimentat cu această soluție, curățați-vă resursele pentru a șterge toate resursele implementate în acest exemplu. Acest lucru vă ajută să evitați costurile continue în contul dvs.
Concluzie
În această postare, am oferit cele mai bune practici și îndrumări privind pregătirea datelor, reglarea modelului folosind probabilități de predicție și tehnici pentru a gestiona clasele de date subreprezentate. Puteți folosi aceste bune practici și tehnici pentru a îmbunătăți valorile de performanță ale modelului dvs. de clasificare personalizat Amazon Comprehend.
Pentru mai multe informații despre Amazon Comprehend, vizitați Amazon Comprehend resurse pentru dezvoltatori pentru a găsi resurse video și postări pe blog și pentru a consulta Întrebări frecvente AWS Comprehend.
Despre Autori
Sathya Balakrishnan este un arhitect Sr. Customer Delivery în echipa de Servicii profesionale de la AWS, specializat în soluții de date și ML. Lucrează cu clienți financiari federali din SUA. Este pasionat de construirea de soluții pragmatice pentru a rezolva problemele de afaceri ale clienților. În timpul liber, îi place să se uite la filme și să facă drumeții cu familia.
Prințul Mallari este un Data Scientist NLP în echipa de Servicii profesionale de la AWS, specializat în aplicații de NLP pentru clienții din sectorul public. Este pasionat de utilizarea ML ca instrument care să permită clienților să fie mai productivi. În timpul liber, îi place să joace jocuri video și să dezvolte unul cu prietenii săi.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/improve-prediction-quality-in-custom-classification-models-with-amazon-comprehend/
- :are
- :este
- :Unde
- $UP
- 1
- 10
- 100
- 200
- 24
- 25
- 50
- 500
- 7
- 9
- a
- Despre Noi
- acceptă
- Cont
- precizie
- peste
- curent
- În plus,
- Adoptare
- progresele
- AI
- AI / ML
- TOATE
- permite
- de asemenea
- Cu toate ca
- Amazon
- Amazon Comprehend
- Amazon SageMaker
- Amazon Web Services
- an
- analiză
- și
- Orice
- aplicatii
- Aplicații ale NLP
- abordare
- SUNT
- în jurul
- AS
- Bunuri
- alocate
- At
- evita
- AWS
- Sold
- bazat
- BE
- deoarece
- deveni
- înainte
- Benchmark
- Beneficiile
- CEL MAI BUN
- Cele mai bune practici
- între
- părtinire
- Blog
- Blog
- construi
- Clădire
- afaceri
- by
- denumit
- CAN
- Poate obține
- caz
- Modificări
- caractere
- Alege
- clasă
- clase
- clasificare
- clientii
- comentariu
- Comun
- Completă
- înţelege
- Calcula
- configurat
- confuzie
- Consoleze
- conține
- continuarea
- converti
- Cheltuieli
- crea
- a creat
- creaţie
- curator
- custozi
- curba
- personalizat
- client
- clienţii care
- de date
- puncte de date
- Pregătirea datelor
- om de știință de date
- seturi de date
- abuzive
- adânc
- Mod implicit
- livrare
- demonstra
- dislocate
- detalii
- Determina
- Dezvoltator
- în curs de dezvoltare
- distribuire
- do
- document
- Dont
- Descarca
- în timpul
- fiecare
- mai ușor
- Eficace
- efort
- subliniază
- subliniind
- Intrați
- Afacere
- evaluare
- exemplu
- exemple
- Cu excepția
- a executa
- existent
- se așteaptă
- Explica
- f1
- Cădea
- familie
- federal
- Fișier
- Fişiere
- În cele din urmă
- financiar
- Găsi
- următor
- Pentru
- Prietenii lui
- din
- Complet
- funcţie
- mai mult
- Jocuri
- genera
- obține
- Go
- Merge
- Guvern
- îndrumare
- ghida
- orientări
- manipula
- Avea
- având în
- he
- ajută
- lui
- Cum
- Cum Pentru a
- Totuși
- HTML
- http
- HTTPS
- ID
- identifica
- ID-uri
- importanță
- îmbunătăţi
- îmbunătățirea
- in
- include
- Inclusiv
- Crește
- a crescut
- informații
- în mod inerent
- intrare
- perspective
- instanță
- in schimb
- instrucțiuni
- Inteligență
- în
- introduce
- IT
- Loc de munca
- Locuri de munca
- doar
- Cheie
- Etichetă
- etichete
- limbă
- pe scară largă
- AFLAȚI
- învăţare
- cel mai puțin
- mai puțin
- ca
- LIMITĂ
- locaţie
- maşină
- masina de învățare
- face
- administrare
- marca
- Matrice
- max
- maxim
- Întâlni
- Meniu
- metric
- Metrici
- ar putea
- minim
- minim
- ML
- model
- Modele
- mai mult
- cele mai multe
- Filme
- trebuie sa
- nume
- Natural
- Procesarea limbajului natural
- Navigare
- Nevoie
- negativ
- Nou
- următor
- nlp
- caiet
- Înștiințare..
- număr
- observa
- apariţie
- of
- de multe ori
- on
- ONE
- afară
- optimizare
- Optimizați
- optimizate
- optimizarea
- organizații
- al nostru
- producție
- pâine
- special
- pasionat
- Plătește
- pentru
- performanță
- alege
- ţeavă
- Plato
- Informații despre date Platon
- PlatoData
- joc
- "vă rog"
- Punct
- puncte
- pozitiv
- posibil
- Post
- postări
- practicile
- pragmatic
- Precizie
- prezicere
- pregătire
- Pregăti
- cadouri
- în prealabil
- probleme
- Procesat
- prelucrare
- productiv
- profesional
- adecvat
- furniza
- prevăzut
- public
- calitate
- aleator
- raport
- Crud
- realiza
- trimite
- necesar
- Resurse
- REZULTATE
- Rol
- sagemaker
- Om de stiinta
- scor
- sector
- vedea
- văzut
- vede
- servi
- Servicii
- câteva
- să
- Emisiuni
- simplu
- Moale
- soluţie
- soluţii
- REZOLVAREA
- unele
- specializata
- specific
- împărţi
- standard
- Începe
- început
- Pas
- paşi
- depozitare
- stocate
- astfel de
- Lua
- echipă
- tehnică
- tehnici de
- Terminal
- test
- testat
- 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.
- decât
- acea
- lor
- apoi
- Acestea
- ei
- acest
- aceste
- amenințare
- trei
- prag
- Prin
- timp
- la
- instrument
- Total
- dresat
- Pregătire
- Două
- în
- subreprezentat
- înţelege
- us
- Federal SUA
- utilizare
- ușor de utilizat
- folosind
- valoare
- Video
- jocuri video
- Vizualizare
- vizibil
- Vizita
- vs
- vizionarea
- we
- web
- servicii web
- BINE
- cand
- care
- în timp ce
- pe scară largă
- voi
- fereastră
- cu
- fără
- fabrică
- Tu
- Ta
- zephyrnet
- Zip