Kunstig intelligens (AI) og maskinlæring (ML) har sett utbredt bruk på tvers av bedrifter og offentlige organisasjoner. Behandling av ustrukturerte data har blitt enklere med fremskrittene innen naturlig språkbehandling (NLP) og brukervennlige AI/ML-tjenester som amazontekst, Amazon Transcribeog Amazon Comprehend. Organisasjoner har begynt å bruke AI/ML-tjenester som Amazon Comprehend for å bygge klassifiseringsmodeller med deres ustrukturerte data for å få dyp innsikt som de ikke hadde før. Selv om du kan bruke forhåndstrente modeller med minimal innsats, uten riktig datakurering og modelljustering, kan du ikke realisere de fulle fordelene med AI/ML-modeller.
I dette innlegget forklarer vi hvordan du bygger og optimaliserer en tilpasset klassifiseringsmodell ved hjelp av Amazon Comprehend. Vi demonstrerer dette ved å bruke en tilpasset Amazon Comprehend-klassifisering for å bygge en tilpasset klassifiseringsmodell med flere etiketter, og gir retningslinjer for hvordan du forbereder treningsdatasettet og justerer modellen for å møte ytelsesmålinger som nøyaktighet, presisjon, tilbakekalling og F1-poengsum. Vi bruker Amazon Comprehend-modellens treningsutgangsartefakter som en forvirringsmatrise for å justere modellens ytelse og veilede deg til å forbedre treningsdataene dine.
Løsningsoversikt
Denne løsningen presenterer en tilnærming til å bygge en optimalisert tilpasset klassifiseringsmodell ved hjelp av Amazon Comprehend. Vi går gjennom flere trinn, inkludert dataforberedelse, modelloppretting, modellytelsesmålinger og optimalisering av slutninger basert på analysen vår. Vi bruker en Amazon SageMaker bærbare og AWS-administrasjonskonsoll for å fullføre noen av disse trinnene.
Vi går også gjennom beste praksis og optimaliseringsteknikker under dataforberedelse, modellbygging og modellinnstilling.
Forutsetninger
Hvis du ikke har en SageMaker notatbokforekomst, kan du opprette en. For instruksjoner, se Opprett en Amazon SageMaker Notebook-forekomst.
Forbered dataene
For denne analysen bruker vi datasettet Toxic Comment Classification fra kaggle. Dette datasettet inneholder 6 etiketter med 158,571 10 datapunkter. Hver etikett har imidlertid bare mindre enn 1 % av de totale dataene som positive eksempler, og to av etikettene har mindre enn XNUMX %.
Vi konverterer det eksisterende Kaggle-datasettet til Amazon Comprehend to-kolonne CSV-format med etikettene delt ved hjelp av en røravgrensning (|). Amazon Comprehend forventer minst én etikett for hvert datapunkt. I dette datasettet møter vi flere datapunkter som ikke faller inn under noen av de angitte etikettene. Vi oppretter en ny etikett kalt ren og tildeler alle datapunktene som ikke er giftige til å være positive med denne etiketten. Til slutt delte vi de kuraterte datasettene i trenings- og testdatasett ved å bruke en 80/20-forholdsdeling per etikett.
Vi vil bruke notatboken for dataforberedelse. De følgende trinnene bruker Kaggle-datasettet og forbereder dataene for modellen vår.
- Velg på SageMaker-konsollen Notatboksforekomster i navigasjonsruten.
- Velg den bærbare forekomsten du har konfigurert og velg Åpne Jupyter.
- På Ny meny, velg terminal.
- Kjør følgende kommandoer i terminalen for å laste ned de nødvendige artefaktene for dette innlegget:
- Lukk terminalvinduet.
Du bør se tre notatbøker og train.csv filer.
- Velg notatboken Data-Preparation.ipynb.
- Kjør alle trinnene i notatboken.
Disse trinnene forbereder det rå Kaggle-datasettet til å fungere som kuraterte trenings- og testdatasett. Kurserte datasett vil bli lagret i notatboken og Amazon enkel lagringstjeneste (Amazon S3).
Vurder følgende retningslinjer for dataforberedelse når du arbeider med store datasett med flere etiketter:
- Datasett må ha minimum 10 prøver per etikett.
- Amazon Comprehend godtar maksimalt 100 etiketter. Dette er en myk grense som kan økes.
- Sørg for at datasettfilen er riktig formatert med riktig skilletegn. Feil skilletegn kan introdusere tomme etiketter.
- Alle datapunktene må ha etiketter.
- Opplærings- og testdatasett bør ha balansert datafordeling per etikett. Ikke bruk tilfeldig distribusjon fordi det kan introdusere skjevhet i opplærings- og testdatasettene.
Bygg en tilpasset klassifiseringsmodell
Vi bruker de kuraterte opplærings- og testdatasettene vi opprettet under dataforberedelsestrinnet for å bygge modellen vår. Følgende trinn oppretter en Amazon Comprehend multi-label tilpasset klassifiseringsmodell:
- Velg på Amazon Comprehend-konsollen Tilpasset klassifisering i navigasjonsruten.
- Velg Lag ny modell.
- Til Modellnavn, skriv inn giftig-klassifiseringsmodell.
- Til Versjonsnavn, skriv inn 1.
- Til Merknad og dataformat, velg Bruke Multi-label-modus.
- Til Opplæringsdatasett, skriv inn plasseringen til det kuraterte opplæringsdatasettet på Amazon S3.
- Velg Kunden leverte testdatasett og skriv inn plasseringen av de kurerte testdataene på Amazon S3.
- Til Utdata, skriv inn Amazon S3-posisjonen.
- Til IAM-rolle, plukke ut Opprett en IAM-rolle, spesifiser navnetsuffikset som "comprehend-blog".
- Velg Opprett for å starte den tilpassede klassifiseringsmodellen opplæring og modelloppretting.
Følgende skjermbilde viser detaljene for den tilpassede klassifiseringsmodellen på Amazon Comprehend-konsollen.
Still inn etter modellytelse
Følgende skjermbilde viser modellens ytelsesberegninger. Den inkluderer nøkkeltall som presisjon, tilbakekalling, F1-poengsum, nøyaktighet og mer.
Etter at modellen er trent og opprettet, vil den generere filen output.tar.gz, som inneholder etikettene fra datasettet samt forvirringsmatrisen for hver av etikettene. For å justere modellens prediksjonsytelse ytterligere, må du forstå modellen din med prediksjonssannsynlighetene for hver klasse. For å gjøre dette må du opprette en analysejobb for å identifisere poengsummene som Amazon Comprehend har tildelt hvert av datapunktene.
Fullfør følgende trinn for å opprette en analysejobb:
- Velg på Amazon Comprehend-konsollen Analyse jobber i navigasjonsruten.
- Velg Lag jobb.
- Til Navn, Tast inn
toxic_train_data_analysis_job
. - Til Analysetype, velg Tilpasset klassifisering.
- Til Klassifikasjonsmodeller og svinghjul, spesifiser
toxic-classification-model
. - Til Versjon, spesifiser 1.
- Til Inndata S3 plassering, skriv inn plasseringen til den kurerte treningsdatafilen.
- Til Input format, velg Ett dokument per linje.
- Til Utdata S3 plassering, skriv inn plasseringen.
- Til Få tilgang til tillatelser, plukke ut Bruk en eksisterende IAM-rolle og velg rollen opprettet tidligere.
- Velg Lag jobb for å starte analysejobben.
- Velg Analyse jobber for å se jobbdetaljene. Vennligst noter jobb-ID-en under Jobbdetaljer. Vi vil bruke jobb-ID-en i vårt neste trinn.
Gjenta trinnene for å starte analysejobben for de kurerte testdataene. Vi bruker prediksjonsresultatene fra analysejobbene våre for å lære om modellens prediksjonssannsynligheter. Vennligst noter jobb-ID-er for opplærings- og testanalysejobber.
Vi bruker Model-Threshold-Analysis.ipynb notatbok for å teste utdataene på alle mulige terskler og score utdataene basert på prediksjonssannsynligheten ved å bruke scikit-learn's precision_recall_curve
funksjon. I tillegg kan vi beregne F1-poengsummen ved hver terskel.
Vi trenger Amazon Comprehend-analysejobb-ID-ene som input for Modell-Terskel-Analyse notisbok. Du kan få jobb-ID-ene fra Amazon Comprehend-konsollen. Utfør alle trinnene i Modell-Terskel-Analyse notatbok for å overholde terskelene for alle klassene.
Legg merke til hvordan presisjonen øker når terskelen går opp, mens det omvendte skjer med tilbakekalling. For å finne balansen mellom de to bruker vi F1-skåren der den har synlige topper i kurven deres. Toppene i F1-poengsummen tilsvarer en bestemt terskel som kan forbedre modellens ytelse. Legg merke til hvordan de fleste etikettene faller rundt 0.5-merket for terskelen bortsett fra trusseletiketten, som har en terskel rundt 0.04.
Vi kan deretter bruke denne terskelen for spesifikke etiketter som ikke presterer med bare standardgrensen på 0.5. Ved å bruke de optimaliserte tersklene forbedres resultatene av modellen på testdataene for etiketttrusselen fra 0.00 til 0.24. Vi bruker maks. F1-poengsum ved terskelen som en referanse for å bestemme positiv vs. negativ for den etiketten i stedet for en felles referanseverdi (en standardverdi som > 0.7) for alle etikettene.
Håndtering av underrepresenterte klasser
En annen tilnærming som er effektiv for et ubalansert datasett er sampling. Ved å oversample den underrepresenterte klassen, ser modellen den underrepresenterte klassen oftere og understreker viktigheten av disse prøvene. Vi bruker Oversampling-underrepresented.ipynb notatbok for å optimalisere datasettene.
For dette datasettet testet vi hvordan modellens ytelse på evalueringsdatasettet endres etter hvert som vi gir flere prøver. Vi bruker oversamplingsteknikken for å øke forekomsten av underrepresenterte klasser for å forbedre ytelsen.
I dette spesielle tilfellet testet vi på 10, 25, 50, 100, 200 og 500 positive eksempler. Legg merke til at selv om vi gjentar datapunkter, forbedrer vi iboende ytelsen til modellen ved å understreke viktigheten av den underrepresenterte klassen.
Kostnad
Med Amazon Comprehend betaler du mens du går basert på antall behandlede teksttegn. Referere til Amazon Comprehend Pricing for faktiske kostnader.
Rydd opp
Når du er ferdig med å eksperimentere med denne løsningen, rydde opp i ressursene dine for å slette alle ressursene som er distribuert i dette eksemplet. Dette hjelper deg å unngå vedvarende kostnader på kontoen din.
konklusjonen
I dette innlegget har vi gitt beste praksis og veiledning om dataforberedelse, modelljustering ved bruk av prediksjonssannsynligheter og teknikker for å håndtere underrepresenterte dataklasser. Du kan bruke disse beste fremgangsmåtene og teknikkene for å forbedre ytelsesberegningene til din tilpassede klassifiseringsmodell for Amazon Comprehend.
For mer informasjon om Amazon Comprehend, besøk Amazon Forstå utviklerressurser for å finne videoressurser og blogginnlegg, og referere til AWS Forstå vanlige spørsmål.
Om forfatterne
Sathya Balakrishnan er en Sr. Customer Delivery Architect i Professional Services-teamet hos AWS, og spesialiserer seg på data- og ML-løsninger. Han jobber med amerikanske føderale finansklienter. Han brenner for å bygge pragmatiske løsninger for å løse kundenes forretningsproblemer. På fritiden liker han å se filmer og gå tur med familien.
Prins Mallari er en NLP Data Scientist i Professional Services-teamet ved AWS, og spesialiserer seg på anvendelser av NLP for offentlige kunder. Han brenner for å bruke ML som et verktøy for å la kundene bli mer produktive. På fritiden liker han å spille videospill og utvikle et sammen med vennene sine.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang her.
- kilde: https://aws.amazon.com/blogs/machine-learning/improve-prediction-quality-in-custom-classification-models-with-amazon-comprehend/
- : har
- :er
- :hvor
- $OPP
- 1
- 10
- 100
- 200
- 24
- 25
- 50
- 500
- 7
- 9
- a
- Om oss
- godtar
- Logg inn
- nøyaktighet
- tvers
- faktiske
- I tillegg
- Adopsjon
- fremskritt
- AI
- AI / ML
- Alle
- tillate
- også
- Selv
- Amazon
- Amazon Comprehend
- Amazon SageMaker
- Amazon Web Services
- an
- analyse
- og
- noen
- søknader
- Anvendelser av NLP
- tilnærming
- ER
- rundt
- AS
- Eiendeler
- tildelt
- At
- unngå
- AWS
- Balansere
- basert
- BE
- fordi
- bli
- før du
- benchmark
- Fordeler
- BEST
- beste praksis
- mellom
- Bias
- Blogg
- Blogginnlegg
- bygge
- Bygning
- virksomhet
- by
- som heter
- CAN
- Kan få
- saken
- Endringer
- tegn
- Velg
- klasse
- klasser
- klassifisering
- klienter
- kommentere
- Felles
- fullføre
- fatte
- Beregn
- konfigurert
- forvirring
- Konsoll
- inneholder
- fortsetter
- konvertere
- Kostnader
- skape
- opprettet
- skaperverket
- kuratert
- konservering
- skjøger
- skikk
- kunde
- Kunder
- dato
- datapunkter
- Dataklargjøring
- dataforsker
- datasett
- håndtering
- dyp
- Misligholde
- levering
- demonstrere
- utplassert
- detaljer
- Bestem
- Utvikler
- utvikle
- distribusjon
- do
- dokument
- ikke
- nedlasting
- under
- hver enkelt
- enklere
- Effektiv
- innsats
- legger vekt på
- streker
- Enter
- Enterprise
- evaluering
- eksempel
- eksempler
- Unntatt
- henrette
- eksisterende
- forventer
- Forklar
- f1
- Fall
- familie
- Federal
- filet
- Filer
- Endelig
- finansiell
- Finn
- etter
- Til
- venner
- fra
- fullt
- funksjon
- videre
- Games
- generere
- få
- Go
- Går
- Regjeringen
- veiledning
- veilede
- retningslinjer
- håndtere
- Ha
- å ha
- he
- hjelper
- hans
- Hvordan
- Hvordan
- Men
- HTML
- http
- HTTPS
- ID
- identifisere
- ids
- betydning
- forbedre
- bedre
- in
- inkluderer
- Inkludert
- Øke
- økt
- informasjon
- iboende
- inngang
- innsikt
- f.eks
- i stedet
- instruksjoner
- Intelligens
- inn
- introdusere
- IT
- Jobb
- Jobb
- bare
- nøkkel
- Etiketten
- etiketter
- Språk
- storskala
- LÆRE
- læring
- minst
- mindre
- i likhet med
- BEGRENSE
- plassering
- maskin
- maskinlæring
- gjøre
- ledelse
- merke
- Matrix
- max
- maksimal
- Møt
- Meny
- metrisk
- Metrics
- kunne
- minimal
- minimum
- ML
- modell
- modeller
- mer
- mest
- Filmer
- må
- navn
- Naturlig
- Natural Language Processing
- Navigasjon
- Trenger
- negativ
- Ny
- neste
- nlp
- bærbare
- Legge merke til..
- Antall
- observere
- forekomst
- of
- ofte
- on
- ONE
- bare
- optimalisering
- Optimalisere
- optimalisert
- optimalisere
- organisasjoner
- vår
- produksjon
- brød
- Spesielt
- lidenskapelig
- Betale
- for
- ytelse
- plukke
- rør
- plato
- Platon Data Intelligence
- PlatonData
- spiller
- vær så snill
- Point
- poeng
- positiv
- mulig
- Post
- innlegg
- praksis
- pragmatisk
- Precision
- prediksjon
- forberedelse
- Forbered
- gaver
- tidligere
- problemer
- Bearbeidet
- prosessering
- produktiv
- profesjonell
- ordentlig
- gi
- forutsatt
- offentlig
- kvalitet
- tilfeldig
- ratio
- Raw
- realisere
- referere
- påkrevd
- Ressurser
- Resultater
- Rolle
- sagemaker
- Forsker
- Resultat
- sektor
- se
- sett
- Sees
- betjene
- Tjenester
- flere
- bør
- Viser
- Enkelt
- Soft
- løsning
- Solutions
- LØSE
- noen
- spesialisert
- spesifikk
- splittet
- Standard
- Begynn
- startet
- Trinn
- Steps
- lagring
- lagret
- slik
- Ta
- lag
- teknikk
- teknikker
- terminal
- test
- testet
- tekst
- enn
- Det
- De
- deres
- deretter
- Disse
- de
- denne
- De
- trussel
- tre
- terskel
- Gjennom
- tid
- til
- verktøy
- Totalt
- trent
- Kurs
- to
- etter
- underrepresenterte
- forstå
- us
- US Federal
- bruke
- brukervennlig
- ved hjelp av
- verdi
- video
- videospill
- Se
- synlig
- Besøk
- vs
- se
- we
- web
- webtjenester
- VI VIL
- når
- hvilken
- mens
- utbredt
- vil
- vindu
- med
- uten
- virker
- Du
- Din
- zephyrnet
- Zip