Umetna inteligenca (AI) in strojno učenje (ML) sta doživela široko sprejetje v podjetjih in vladnih organizacijah. Obdelava nestrukturiranih podatkov je postala lažja z napredkom pri obdelavi naravnega jezika (NLP) in uporabniku prijaznimi storitvami AI/ML, kot je Amazonovo besedilo, Amazonski prepisin Amazonsko razumevanje. Organizacije so začele uporabljati storitve AI/ML, kot je Amazon Comprehend, za izgradnjo klasifikacijskih modelov s svojimi nestrukturiranimi podatki, da bi pridobile globoke vpoglede, ki jih prej niso imele. Čeprav lahko vnaprej usposobljene modele uporabljate z minimalnim naporom, brez ustreznega urejanja podatkov in prilagajanja modela ne morete izkoristiti vseh prednosti modelov AI/ML.
V tej objavi razlagamo, kako zgraditi in optimizirati model klasifikacije po meri z uporabo Amazon Comprehend. To prikazujemo z uporabo klasifikacije po meri Amazon Comprehend za izgradnjo modela klasifikacije po meri z več oznakami in zagotavljamo smernice o tem, kako pripraviti nabor podatkov za usposabljanje in prilagoditi model, da bo izpolnjeval meritve uspešnosti, kot so točnost, natančnost, priklic in rezultat F1. Uporabljamo izhodne artefakte usposabljanja modela Amazon Comprehend, kot je matrika zmede, da prilagodimo zmogljivost modela in vas vodimo pri izboljšanju vaših podatkov o usposabljanju.
Pregled rešitev
Ta rešitev predstavlja pristop k izdelavi optimiziranega modela klasifikacije po meri z uporabo Amazon Comprehend. Gremo skozi več korakov, vključno s pripravo podatkov, ustvarjanjem modela, analizo metrike uspešnosti modela in optimizacijo sklepanja na podlagi naše analize. Uporabljamo an Amazon SageMaker prenosnik in Konzola za upravljanje AWS da dokončate nekatere od teh korakov.
Pregledamo tudi najboljše prakse in tehnike optimizacije med pripravo podatkov, gradnjo modela in prilagajanjem modela.
Predpogoji
Če nimate primerka prenosnika SageMaker, ga lahko ustvarite. Za navodila glejte Ustvarite primerek prenosnika Amazon SageMaker.
Pripravite podatke
Za to analizo uporabljamo nabor podatkov o klasifikaciji strupenih komentarjev iz Kaggle. Ta nabor podatkov vsebuje 6 oznak s 158,571 podatkovnimi točkami. Vendar ima vsaka oznaka le manj kot 10 % vseh podatkov kot pozitivnih primerov, pri čemer imata dve oznaki manj kot 1 %.
Obstoječi nabor podatkov Kaggle pretvorimo v Amazon Comprehend dvostolpčni format CSV z nalepkami, razdeljenimi z navpično črto (|). Amazon Comprehend pričakuje vsaj eno oznako za vsako podatkovno točko. V tem naboru podatkov naletimo na več podatkovnih točk, ki ne spadajo pod nobeno od navedenih oznak. Ustvarimo novo oznako, imenovano čisto, in kateri koli podatkovni točki, ki ni strupena, dodelimo pozitivno vrednost s to oznako. Nazadnje smo izbrane nabore podatkov razdelili na nabore podatkov za usposabljanje in testne z uporabo razdelitve v razmerju 80/20 na oznako.
Uporabljali bomo zvezek za pripravo podatkov. Naslednji koraki uporabljajo nabor podatkov Kaggle in pripravijo podatke za naš model.
- Na konzoli SageMaker izberite Primeri prenosnih računalnikov v podoknu za krmarjenje.
- Izberite primerek prenosnika, ki ste ga konfigurirali, in izberite Odprite Jupyter.
- o Novo izberite meni terminal.
- Zaženite naslednje ukaze v terminalu, da prenesete zahtevane artefakte za to objavo:
- Zaprite okno terminala.
Morali bi videti tri zvezke in vlak.csv datotek.
- Izberite zvezek Priprava podatkov.ipynb.
- Izvedite vse korake v zvezku.
Ti koraki pripravijo neobdelani nabor podatkov Kaggle, da bo služil kot izbrani nabor podatkov za usposabljanje in testiranje. Pripravljeni nabori podatkov bodo shranjeni v zvezku in Preprosta storitev shranjevanja Amazon (Amazon S3).
Pri delu z obsežnimi nizi podatkov z več oznakami upoštevajte naslednje smernice za pripravo podatkov:
- Nabori podatkov morajo vsebovati najmanj 10 vzorcev na etiketo.
- Amazon Comprehend sprejme največ 100 oznak. To je mehka meja, ki jo je mogoče povečati.
- Prepričajte se, da je datoteka nabora podatkov pravilno formatiran z ustreznim ločilom. Nepravilna ločila lahko ustvarijo prazne oznake.
- Vse podatkovne točke morajo imeti oznake.
- Podatkovni nizi za usposabljanje in testiranje morajo imeti uravnoteženo porazdelitev podatkov na oznako. Ne uporabljajte naključne porazdelitve, ker lahko povzroči pristranskost v naborih podatkov za usposabljanje in preizkuse.
Zgradite model klasifikacije po meri
Za izdelavo našega modela uporabljamo kurirane nabore podatkov za usposabljanje in teste, ki smo jih ustvarili med korakom priprave podatkov. Naslednji koraki ustvarijo model klasifikacije po meri Amazon Comprehend z več oznakami:
- Na konzoli Amazon Comprehend izberite Razvrstitev po meri v podoknu za krmarjenje.
- Izberite Ustvari nov model.
- za Ime modela, vnesite toksični-razvrstitveni model.
- za Ime različice, vnesite 1.
- za Anotacija in oblika podatkov, izberite Uporaba načina z več oznakami.
- za Nabor podatkov o usposabljanju, vnesite lokacijo kuriranega nabora podatkov o usposabljanju na Amazon S3.
- Izberite Testni nabor podatkov, ki ga zagotovi stranka in vnesite lokacijo kuriranih testnih podatkov na Amazon S3.
- za Izhodni podatki, vnesite lokacijo Amazon S3.
- za Vloga IAMtako, da izberete Ustvarite vlogo IAM, določite pripono imena kot “comprehend-blog”.
- Izberite ustvarjanje za začetek usposabljanja in ustvarjanja modela klasifikacije po meri.
Naslednji posnetek zaslona prikazuje podrobnosti modela klasifikacije po meri na konzoli Amazon Comprehend.
Prilagodi se zmogljivosti modela
Naslednji posnetek zaslona prikazuje meritve zmogljivosti modela. Vključuje ključne meritve, kot so natančnost, priklic, rezultat F1, natančnost in več.
Ko je model usposobljen in ustvarjen, bo ustvaril datoteko output.tar.gz, ki vsebuje oznake iz nabora podatkov in matriko zmede za vsako od oznak. Če želite dodatno prilagoditi zmogljivost napovedovanja modela, morate razumeti svoj model z verjetnostmi napovedi za vsak razred. Če želite to narediti, morate ustvariti opravilo analize za identifikacijo rezultatov, ki jih je Amazon Comprehend dodelil vsaki od podatkovnih točk.
Izvedite naslednje korake, da ustvarite opravilo analize:
- Na konzoli Amazon Comprehend izberite Opravila za analizo v podoknu za krmarjenje.
- Izberite Ustvari službo.
- za Ime, vnesite
toxic_train_data_analysis_job
. - za Vrsta analize, izberite Razvrstitev po meri.
- za Klasifikacijski modeli in vztrajniki, navedite
toxic-classification-model
. - za različica, navedite 1.
- za Vhodni podatki S3 lokacija, vnesite lokacijo izbrane datoteke s podatki o vadbi.
- za Vhodna oblika, izberite En dokument na vrstico.
- za Izhodni podatki S3 lokacija, vnesite lokacijo.
- za Dovoljenja za dostoptako, da izberete Uporabite obstoječo vlogo IAM in izberite prej ustvarjeno vlogo.
- Izberite Ustvari službo za začetek analize.
- Izberite Opravila za analizo za ogled podrobnosti delovnega mesta. Zabeležite si ID delovnega mesta pod Podrobnosti delovnega mesta. V naslednjem koraku bomo uporabili ID opravila.
Ponovite korake do začetnega opravila analize za kurirane testne podatke. Izhode napovedi iz naših analitičnih opravil uporabljamo, da se seznanimo z verjetnostmi napovedi našega modela. Zabeležite si ID-je delovnih mest za usposabljanje in analizo testov.
Mi uporabljamo Model-Threshold-Analysis.ipynb prenosni računalnik za testiranje rezultatov na vseh možnih pragovih in točkovanje rezultatov na podlagi verjetnosti napovedi z uporabo scikit-learn's precision_recall_curve
funkcijo. Poleg tega lahko izračunamo rezultat F1 na vsakem pragu.
Potrebovali bomo ID-je opravil analize Amazon Comprehend kot vhod za Model-prag-analiza zvezek. ID-je delovnih mest lahko dobite na konzoli Amazon Comprehend. Izvedite vse korake v Model-prag-analiza zvezek za opazovanje pragov za vse razrede.
Opazite, kako se natančnost povečuje, ko se prag dviguje, medtem ko se obratno zgodi s priklicem. Da bi našli ravnotežje med obema, uporabimo rezultat F1, kjer so vidni vrhovi v njuni krivulji. Vrhovi v rezultatu F1 ustrezajo določenemu pragu, ki lahko izboljša zmogljivost modela. Opazite, kako večina oznak pade okoli oznake 0.5 za prag, razen oznake grožnje, ki ima prag okoli 0.04.
Ta prag lahko nato uporabimo za določene oznake, ki so neučinkovite samo s privzetim pragom 0.5. Z uporabo optimiziranih pragov se rezultati modela na testnih podatkih izboljšajo za oznako nevarnosti z 0.00 na 0.24. Kot merilo uspešnosti za določitev pozitivnega v primerjavi z negativnim za to oznako uporabljamo najvišji rezultat F1 na pragu namesto skupnega merila uspešnosti (standardna vrednost, kot je > 0.7) za vse oznake.
Ravnanje s premalo zastopanimi razredi
Drug pristop, ki je učinkovit za neuravnotežen nabor podatkov, je Oversampling. S prevelikim vzorčenjem premalo zastopanega razreda model pogosteje vidi premalo zastopani razred in poudarja pomembnost teh vzorcev. Uporabljamo Prekomerno vzorčenje-premalo.ipynb prenosni računalnik za optimizacijo naborov podatkov.
Za ta nabor podatkov smo preizkusili, kako se uspešnost modela na naboru ocenjevalnih podatkov spreminja, ko zagotovimo več vzorcev. Uporabljamo tehniko prevelikega vzorčenja, da povečamo pojav premalo zastopanih razredov in tako izboljšamo uspešnost.
V konkretnem primeru smo testirali na 10, 25, 50, 100, 200 in 500 pozitivnih primerih. Upoštevajte, da čeprav ponavljamo podatkovne točke, sami po sebi izboljšujemo učinkovitost modela s poudarjanjem pomena premalo zastopanega razreda.
strošek
Z Amazon Comprehend plačate sproti glede na število obdelanih besedilnih znakov. Nanašati se na Amazonske celovite cene za dejanske stroške.
Čiščenje
Ko končate s preizkušanjem te rešitve, počistite svoje vire, da izbrišete vse vire, razporejene v tem primeru. Tako se boste izognili nenehnim stroškom na vašem računu.
zaključek
V tej objavi smo zagotovili najboljše prakse in smernice za pripravo podatkov, prilagajanje modela z uporabo verjetnosti napovedi in tehnike za obravnavo premalo zastopanih razredov podatkov. S temi najboljšimi praksami in tehnikami lahko izboljšate meritve uspešnosti vašega modela klasifikacije po meri Amazon Comprehend.
Za več informacij o Amazon Comprehend obiščite Viri za razvijalce Amazon Comprehend za iskanje video virov in objav v spletnih dnevnikih ter se sklicujte na AWS Comprehend Pogosta vprašanja.
O avtorjih
Sathya Balakrishnan je starejši arhitekt dostave strankam v skupini za profesionalne storitve pri AWS, specializiran za podatke in rešitve ML. Dela z ameriškimi zveznimi finančnimi strankami. Navdušen je nad gradnjo pragmatičnih rešitev za reševanje poslovnih težav strank. V prostem času z družino rad gleda filme in hodi na pohode.
Princ Mallari je NLP Data Scientist v skupini za profesionalne storitve pri AWS, specializiran za aplikacije NLP za stranke v javnem sektorju. Navdušen je nad uporabo ML kot orodja, ki strankam omogoča večjo produktivnost. V prostem času rad igra videoigre in jih razvija s prijatelji.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- PlatoData.Network Vertical Generative Ai. Opolnomočite se. Dostopite tukaj.
- PlatoAiStream. Web3 Intelligence. Razširjeno znanje. Dostopite tukaj.
- PlatoESG. Ogljik, CleanTech, Energija, Okolje, sončna energija, Ravnanje z odpadki. Dostopite tukaj.
- PlatoHealth. Obveščanje o biotehnologiji in kliničnih preskušanjih. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/machine-learning/improve-prediction-quality-in-custom-classification-models-with-amazon-comprehend/
- :ima
- : je
- :kje
- $GOR
- 1
- 10
- 100
- 200
- 24
- 25
- 50
- 500
- 7
- 9
- a
- O meni
- Sprejema
- Račun
- natančnost
- čez
- dejanska
- Poleg tega
- Sprejetje
- napredek
- AI
- AI / ML
- vsi
- omogočajo
- Prav tako
- Čeprav
- Amazon
- Amazonsko razumevanje
- Amazon SageMaker
- Amazon Web Services
- an
- Analiza
- in
- kaj
- aplikacije
- Aplikacije NLP
- pristop
- SE
- okoli
- AS
- Sredstva
- dodeljena
- At
- izogniti
- AWS
- Ravnovesje
- temeljijo
- BE
- ker
- postanejo
- pred
- merilo
- Prednosti
- BEST
- najboljše prakse
- med
- pristranskosti
- Blog
- Blog Prispevkov
- izgradnjo
- Building
- poslovni
- by
- se imenuje
- CAN
- Lahko dobiš
- primeru
- Spremembe
- znaki
- Izberite
- razred
- razredi
- Razvrstitev
- stranke
- komentar
- Skupno
- dokončanje
- razumeti
- Izračunajte
- konfigurirano
- zmeda
- Konzole
- Vsebuje
- nadaljevati
- pretvorbo
- stroški
- ustvarjajo
- ustvaril
- Oblikovanje
- kurirano
- kuracija
- krivulja
- po meri
- stranka
- Stranke, ki so
- datum
- podatkovne točke
- Priprava podatkov
- podatkovni znanstvenik
- nabor podatkov
- deliti
- globoko
- privzeto
- dostava
- izkazati
- razporejeni
- Podrobnosti
- Ugotovite,
- Razvojni
- razvoju
- distribucija
- do
- dokument
- dont
- prenesi
- med
- vsak
- lažje
- Učinkovito
- prizadevanje
- poudarja
- poudarjajo
- Vnesite
- Podjetje
- Ocena
- Primer
- Primeri
- Razen
- izvršiti
- obstoječih
- pričakuje
- Pojasnite
- f1
- Padec
- družina
- Zvezna
- file
- datoteke
- končno
- finančna
- Najdi
- po
- za
- prijatelji
- iz
- polno
- funkcija
- nadalje
- Games
- ustvarjajo
- dobili
- Go
- goes
- vlada
- Navodila
- vodi
- Smernice
- ročaj
- Imajo
- ob
- he
- Pomaga
- njegov
- Kako
- Kako
- Vendar
- HTML
- http
- HTTPS
- ID
- identificirati
- ID-ji
- Pomembnost
- izboljšanje
- izboljšanju
- in
- vključuje
- Vključno
- Povečajte
- povečal
- Podatki
- inherentno
- vhod
- vpogledi
- primer
- Namesto
- Navodila
- Intelligence
- v
- uvesti
- IT
- Job
- Delovna mesta
- samo
- Ključne
- label
- Oznake
- jezik
- obsežne
- UČITE
- učenje
- vsaj
- manj
- kot
- LIMIT
- kraj aktivnosti
- stroj
- strojno učenje
- Znamka
- upravljanje
- znamka
- Matrix
- max
- največja
- Srečati
- Meni
- meritev
- Meritve
- morda
- minimalna
- minimalna
- ML
- Model
- modeli
- več
- Najbolj
- filmi
- morajo
- Ime
- naravna
- Obdelava Natural Language
- ostalo
- Nimate
- negativna
- Novo
- Naslednja
- nlp
- prenosnik
- Opaziti..
- Številka
- opazujejo
- pojav
- of
- pogosto
- on
- ONE
- samo
- optimizacija
- Optimizirajte
- optimizirana
- optimizacijo
- organizacije
- naši
- izhod
- podokno
- zlasti
- strastno
- Plačajte
- za
- performance
- kramp
- cevi
- platon
- Platonova podatkovna inteligenca
- PlatoData
- igranje
- prosim
- Točka
- točke
- pozitiven
- mogoče
- Prispevek
- Prispevkov
- vaje
- pragmatično
- Precision
- napoved
- Priprava
- Pripravimo
- darila
- prej
- Težave
- Predelano
- obravnavati
- produktivno
- strokovni
- pravilno
- zagotavljajo
- če
- javnega
- kakovost
- naključno
- razmerje
- Surovi
- uresničitev
- glejte
- obvezna
- viri
- Rezultati
- vloga
- sagemaker
- Znanstvenik
- rezultat
- sektor
- glej
- videl
- vidi
- služijo
- Storitve
- več
- shouldnt
- Razstave
- Enostavno
- Soft
- Rešitev
- rešitve
- SOLVE
- nekaj
- specializacijo
- specifična
- po delih
- standardna
- Začetek
- začel
- Korak
- Koraki
- shranjevanje
- shranjeni
- taka
- Bodite
- skupina
- tehnika
- tehnike
- terminal
- Test
- Testiran
- besedilo
- kot
- da
- O
- njihove
- POTEM
- te
- jih
- ta
- tisti,
- Grožnja
- 3
- Prag
- skozi
- čas
- do
- orodje
- Skupaj za plačilo
- usposobljeni
- usposabljanje
- dva
- pod
- premalo zastopani
- razumeli
- us
- ameriška zvezna
- uporaba
- Uporabniku prijazen
- uporabo
- vrednost
- Video
- video igre
- Poglej
- vidna
- obisk
- vs
- gledanju
- we
- web
- spletne storitve
- Dobro
- kdaj
- ki
- medtem
- razširjen
- bo
- okno
- z
- brez
- deluje
- Vi
- Vaša rutina za
- zefirnet
- Zip