Kunstmatige intelligentie (AI) en machinaal leren (ML) zijn wijdverspreid toegepast binnen ondernemingen en overheidsorganisaties. Het verwerken van ongestructureerde gegevens is eenvoudiger geworden door de vooruitgang op het gebied van natuurlijke taalverwerking (NLP) en gebruiksvriendelijke AI/ML-diensten zoals Amazon T-extract, Amazon Transcribe en Amazon begrijpt het. Organisaties zijn AI/ML-services zoals Amazon Comprehend gaan gebruiken om classificatiemodellen te bouwen met hun ongestructureerde gegevens om diepgaande inzichten te krijgen die ze voorheen niet hadden. Hoewel u met minimale inspanning vooraf getrainde modellen kunt gebruiken, kunt u zonder de juiste gegevensbeheer en modelafstemming niet de volledige voordelen van AI/ML-modellen benutten.
In dit bericht leggen we uit hoe je een aangepast classificatiemodel kunt bouwen en optimaliseren met Amazon Comprehend. We demonstreren dit met behulp van een aangepaste classificatie van Amazon Comprehend om een โโaangepast classificatiemodel met meerdere labels te bouwen, en geven richtlijnen voor het voorbereiden van de trainingsdataset en het afstemmen van het model om te voldoen aan prestatiestatistieken zoals nauwkeurigheid, precisie, herinnering en F1-score. We gebruiken de Amazon Comprehend-modeltrainingsuitvoerartefacten zoals een verwarringsmatrix om de modelprestaties af te stemmen en u te begeleiden bij het verbeteren van uw trainingsgegevens.
Overzicht oplossingen
Deze oplossing biedt een aanpak voor het bouwen van een geoptimaliseerd aangepast classificatiemodel met behulp van Amazon Comprehend. We doorlopen verschillende stappen, waaronder gegevensvoorbereiding, het maken van modellen, metrische analyse van modelprestaties en het optimaliseren van gevolgtrekkingen op basis van onze analyse. Wij gebruiken een Amazon Sage Maker notitieboekje en AWS-beheerconsole om enkele van deze stappen te voltooien.
We nemen ook best practices en optimalisatietechnieken door tijdens het voorbereiden van gegevens, het bouwen van modellen en het afstemmen van modellen.
Voorwaarden
Als u geen SageMaker-notebookinstantie heeft, kunt u er een maken. Voor instructies, zie Maak een Amazon SageMaker Notebook-instantie.
Bereid de gegevens voor
Voor deze analyse gebruiken we de dataset Toxic Comment Classification van Kaggle. Deze dataset bevat 6 labels met 158,571 datapunten. Elk label heeft echter slechts minder dan 10% van de totale gegevens als positief voorbeeld, waarbij twee van de labels minder dan 1% hebben.
We converteren de bestaande Kaggle-dataset naar de Amazon Begrijp het CSV-formaat met twee kolommen waarbij de labels worden gesplitst met behulp van een scheidingsteken (|). Amazon Comprehend verwacht ten minste รฉรฉn label voor elk datapunt. In deze dataset komen we verschillende datapunten tegen die niet onder een van de opgegeven labels vallen. We maken een nieuw label met de naam schoon en wijzen alle gegevenspunten die niet giftig zijn toe om positief te zijn met dit label. Ten slotte hebben we de samengestelde datasets opgesplitst in trainings- en testdatasets met behulp van een verhouding van 80/20 per label.
We zullen het Data-Preparation-notebook gebruiken. De volgende stappen gebruiken de Kaggle-gegevensset en bereiden de gegevens voor ons model voor.
- Kies op de SageMaker-console Notebook-exemplaren in het navigatievenster.
- Selecteer het notebookexemplaar dat u hebt geconfigureerd en kies Jupyter openen.
- Op de New menu, kies terminal.
- Voer de volgende opdrachten uit in de terminal om de vereiste artefacten voor dit bericht te downloaden:
- Sluit het terminalvenster.
Je zou drie notitieboekjes moeten zien en trein.csv bestanden.
- Kies het notitieboekje Gegevensvoorbereiding.ipynb.
- Voer alle stappen in het notitieblok uit.
Met deze stappen wordt de onbewerkte Kaggle-gegevensset voorbereid om te dienen als samengestelde trainings- en testgegevenssets. Samengestelde datasets worden opgeslagen in de notebook en Amazon eenvoudige opslagservice (Amazone S3).
Houd rekening met de volgende richtlijnen voor gegevensvoorbereiding als u te maken heeft met grootschalige datasets met meerdere labels:
- Gegevenssets moeten minimaal 10 monsters per label bevatten.
- Amazon Comprehend accepteert maximaal 100 labels. Dit is een zachte limiet die kan worden verhoogd.
- Zorg ervoor dat het gegevenssetbestand correct geformatteerd met het juiste scheidingsteken. Onjuiste scheidingstekens kunnen blanco labels introduceren.
- Alle gegevenspunten moeten labels hebben.
- Trainings- en testdatasets moeten een evenwichtige gegevensverdeling per label hebben. Gebruik geen willekeurige verdeling, omdat dit vertekening in de trainings- en testgegevenssets kan veroorzaken.
Bouw een aangepast classificatiemodel
We gebruiken de samengestelde trainings- en testgegevenssets die we tijdens de gegevensvoorbereidingsstap hebben gemaakt om ons model te bouwen. Met de volgende stappen maak je een aangepast Amazon Comprehend-classificatiemodel met meerdere labels:
- Kies op de Amazon Comprehend-console Aangepaste classificatie in het navigatievenster.
- Kies Nieuw model maken.
- Voor Modelnaam, voer het toxische classificatiemodel in.
- Voor Versie naam, voer 1 in.
- Voor Annotatie en gegevensformaat, kiezen Multi-labelmodus gebruiken.
- Voor TrainingsgegevenssetVoer de locatie in van de samengestelde trainingsdataset op Amazon S3.
- Kies Door de klant verstrekte testgegevensset en voer de locatie van de samengestelde testgegevens op Amazon S3 in.
- Voor Gegevens uitvoeren, voer de Amazon S3-locatie in.
- Voor IAM-rolselecteer Creรซer een IAM-rol, specificeer het achtervoegsel van de naam als "comprehend-blog".
- Kies creรซren om de aangepaste classificatiemodeltraining en het maken van modellen te starten.
De volgende schermafbeelding toont de details van het aangepaste classificatiemodel op de Amazon Comprehend-console.
Stem af op modelprestaties
De volgende schermafbeelding toont de prestatiestatistieken van het model. Het bevat belangrijke statistieken zoals precisie, herinnering, F1-score, nauwkeurigheid en meer.
Nadat het model is getraind en gemaakt, genereert het het bestand output.tar.gz, dat de labels uit de dataset bevat, evenals de verwarringsmatrix voor elk van de labels. Om de voorspellingsprestaties van het model verder af te stemmen, moet u uw model begrijpen met de voorspellingskansen voor elke klasse. Om dit te doen, moet u een analysetaak maken om de scores te identificeren die Amazon Comprehend aan elk van de datapunten heeft toegewezen.
Voer de volgende stappen uit om een โโanalysetaak te maken:
- Kies op de Amazon Comprehend-console Analyse banen in het navigatievenster.
- Kies Baan creรซren.
- Voor Naam, ga naar binnen
toxic_train_data_analysis_job
. - Voor Type analyse, kiezen Aangepaste classificatie.
- Voor Classificatiemodellen en vliegwielen, specificeer
toxic-classification-model
. - Voor Versie, specificeer 1.
- Voor Invoergegevens S3-locatieVoer de locatie in van het samengestelde trainingsgegevensbestand.
- Voor invoer formaat, kiezen Eรฉn document per regel.
- Voor Uitvoergegevens S3 locatie, voer de locatie in.
- Voor Toegangsrechtenselecteer Gebruik een bestaande IAM-rol en kies de eerder gemaakte rol.
- Kies Baan creรซren om de analysetaak te starten.
- Selecteer het Analyse banen om de taakdetails te bekijken. Noteer het vacature-ID onder Vacaturedetails. We zullen de taak-ID gebruiken in onze volgende stap.
Herhaal de stappen voor de startanalysetaak voor de samengestelde testgegevens. We gebruiken de voorspellingsresultaten van onze analysetaken om meer te weten te komen over de voorspellingskansen van ons model. Noteer de taak-ID's van trainings- en testanalysetaken.
We maken gebruik van de Model-drempelanalyse.ipynb notebook om de output op alle mogelijke drempels te testen en de output te scoren op basis van de voorspellingswaarschijnlijkheid met behulp van de scikit-learn's precision_recall_curve
functie. Bovendien kunnen we bij elke drempel de F1-score berekenen.
We hebben de Amazon Comprehend-analysetaak-ID's nodig als invoer voor Model-drempelanalyse notitieboekje. U kunt de taak-ID's verkrijgen via de Amazon Comprehend-console. Voer alle stappen uit Model-drempelanalyse notitieboekje om de drempels voor alle klassen te observeren.
Merk op hoe de precisie toeneemt naarmate de drempel hoger wordt, terwijl het omgekeerde gebeurt bij het terugroepen. Om de balans tussen de twee te vinden, gebruiken we de F1-score, waar deze zichtbare pieken in hun curve vertoont. De pieken in de F1-score komen overeen met een bepaalde drempel die de prestaties van het model kan verbeteren. Merk op dat de meeste labels rond de 0.5 voor de drempel vallen, behalve het dreigingslabel, dat een drempel van rond de 0.04 heeft.
We kunnen deze drempel vervolgens gebruiken voor specifieke labels die ondermaats presteren met alleen de standaarddrempel van 0.5. Door gebruik te maken van de geoptimaliseerde drempelwaarden verbeteren de resultaten van het model op de testgegevens voor de labeldreiging van 0.00 naar 0.24. We gebruiken de maximale F1-score bij de drempel als benchmark om positief versus negatief voor dat label te bepalen in plaats van een gemeenschappelijke benchmark (een standaardwaarde zoals > 0.7) voor alle labels.
Omgaan met ondervertegenwoordigde klassen
Een andere aanpak die effectief is voor een onevenwichtige dataset is oversampling. Door de ondervertegenwoordigde klasse te oversamplen, ziet het model de ondervertegenwoordigde klasse vaker en wordt het belang van die steekproeven benadrukt. Wij gebruiken de Oversampling-ondervertegenwoordigd.ipynb notebook om de datasets te optimaliseren.
Voor deze dataset hebben we getest hoe de prestaties van het model op de evaluatiedataset veranderen naarmate we meer voorbeelden leveren. We gebruiken de oversamplingtechniek om het voorkomen van ondervertegenwoordigde klassen te vergroten en zo de prestaties te verbeteren.
In dit specifieke geval hebben we getest op 10, 25, 50, 100, 200 en 500 positieve voorbeelden. Merk op dat, hoewel we datapunten herhalen, we inherent de prestaties van het model verbeteren door het belang van de ondervertegenwoordigde klasse te benadrukken.
Kosten
Met Amazon Comprehend betaalt u per gebruik op basis van het aantal verwerkte teksttekens. Verwijzen naar Amazon begrijpt prijzen voor werkelijke kosten.
Opruimen
Wanneer u klaar bent met het experimenteren met deze oplossing, ruimt u uw resources op om alle resources te verwijderen die in dit voorbeeld zijn geรฏmplementeerd. Zo vermijdt u dat er voortdurend kosten op uw rekening blijven staan.
Conclusie
In dit artikel hebben we best practices en richtlijnen gegeven over datavoorbereiding, modelafstemming met behulp van voorspellingskansen en technieken om ondervertegenwoordigde dataklassen te verwerken. U kunt deze best practices en technieken gebruiken om de prestatiestatistieken van uw aangepaste classificatiemodel van Amazon Comprehend te verbeteren.
Ga voor meer informatie over Amazon Comprehend naar Bronnen voor Amazon Comprehend-ontwikkelaars om videobronnen en blogberichten te vinden en te verwijzen naar AWS Begrijp veelgestelde vragen.
Over de auteurs
Sathya Balakrishnan is Sr. Customer Delivery Architect in het Professional Services-team van AWS, gespecialiseerd in data- en ML-oplossingen. Hij werkt met Amerikaanse federale financiรซle klanten. Hij heeft een passie voor het bouwen van pragmatische oplossingen om de zakelijke problemen van klanten op te lossen. In zijn vrije tijd kijkt hij graag films en wandelt hij met zijn gezin.
Prins Mallari is een NLP Data Scientist in het Professional Services-team bij AWS, gespecialiseerd in toepassingen van NLP voor klanten in de publieke sector. Hij is gepassioneerd over het gebruik van ML als hulpmiddel om klanten productiever te laten zijn. In zijn vrije tijd speelt hij graag videogames en ontwikkelt hij er graag een met zijn vrienden.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoData.Network Verticale generatieve AI. Versterk jezelf. Toegang hier.
- PlatoAiStream. Web3-intelligentie. Kennis versterkt. Toegang hier.
- PlatoESG. carbon, CleanTech, Energie, Milieu, Zonne, Afvalbeheer. Toegang hier.
- Plato Gezondheid. Intelligentie op het gebied van biotech en klinische proeven. Toegang hier.
- Bron: https://aws.amazon.com/blogs/machine-learning/improve-prediction-quality-in-custom-classification-models-with-amazon-comprehend/
- : heeft
- :is
- :waar
- $UP
- 1
- 10
- 100
- 200
- 24
- 25
- 50
- 500
- 7
- 9
- a
- Over
- Accepteert
- Account
- nauwkeurigheid
- over
- daadwerkelijk
- Daarnaast
- Adoptie
- vooruitgang
- AI
- AI / ML
- Alles
- toelaten
- ook
- Hoewel
- Amazone
- Amazon begrijpt het
- Amazon Sage Maker
- Amazon Web Services
- an
- analyse
- en
- elke
- toepassingen
- Toepassingen van NLP
- nadering
- ZIJN
- rond
- AS
- Activa
- toegewezen
- At
- vermijd
- AWS
- Balance
- gebaseerde
- BE
- omdat
- worden
- vaardigheden
- criterium
- betekent
- BEST
- 'best practices'
- tussen
- vooringenomenheid
- Blog
- Blog Posts
- bouw
- Gebouw
- bedrijfsdeskundigen
- by
- Dit betekent dat we onszelf en onze geliefden praktisch vergiftigen.
- CAN
- Kan krijgen
- geval
- Wijzigingen
- tekens
- Kies
- klasse
- klassen
- classificatie
- klanten
- commentaar
- Gemeen
- compleet
- begrijpen
- Berekenen
- geconfigureerd
- verwarring
- troosten
- bevat
- voortgezette
- converteren
- Kosten
- en je merk te creรซren
- aangemaakt
- het aanmaken
- curated
- curation
- curve
- gewoonte
- klant
- Klanten
- gegevens
- data punten
- Data voorbereiding
- data scientist
- datasets
- omgang
- deep
- Standaard
- levering
- tonen
- ingezet
- gegevens
- Bepalen
- Ontwikkelaar
- het ontwikkelen van
- distributie
- do
- document
- Dont
- Download
- gedurende
- elk
- gemakkelijker
- effectief
- inspanning
- benadrukt
- nadruk te leggen op
- Enter
- Enterprise
- evaluatie
- voorbeeld
- voorbeelden
- Behalve
- uitvoeren
- bestaand
- verwacht
- Verklaren
- f1
- Vallen
- familie
- Federaal
- Dien in
- Bestanden
- Tot slot
- financieel
- VIND DE PLEK DIE PERFECT VOOR JOU IS
- volgend
- Voor
- vrienden
- oppompen van
- vol
- functie
- verder
- Spellen
- voortbrengen
- krijgen
- Go
- Goes
- Overheid
- leiding
- gids
- richtlijnen
- handvat
- Hebben
- met
- he
- helpt
- zijn
- Hoe
- How To
- Echter
- HTML
- http
- HTTPS
- ID
- identificeren
- ids
- belang
- verbeteren
- het verbeteren van
- in
- omvat
- Inclusief
- Laat uw omzet
- meer
- informatie
- inherent
- invoer
- inzichten
- instantie
- verkrijgen in plaats daarvan
- instructies
- Intelligentie
- in
- voorstellen
- IT
- Jobomschrijving:
- Vacatures
- voor slechts
- sleutel
- label
- labels
- taal
- grootschalig
- LEARN
- leren
- minst
- minder
- als
- LIMIT
- plaats
- machine
- machine learning
- maken
- management
- Mark
- Matrix
- max
- maximaal
- Maak kennis met
- Menu
- metriek
- Metriek
- macht
- minimaal
- minimum
- ML
- model
- modellen
- meer
- meest
- Films
- Dan moet je
- naam
- Naturel
- Natural Language Processing
- Navigatie
- Noodzaak
- negatief
- New
- volgende
- nlp
- notitieboekje
- Merk op..
- aantal
- waarnemen
- voorval
- of
- vaak
- on
- EEN
- Slechts
- optimalisatie
- Optimaliseer
- geoptimaliseerde
- optimaliseren
- organisaties
- onze
- uitgang
- brood
- bijzonder
- hartstochtelijk
- Betaal
- voor
- prestatie
- kiezen
- pijp
- Plato
- Plato gegevensintelligentie
- PlatoData
- spelen
- dan
- punt
- punten
- positief
- mogelijk
- Post
- Berichten
- praktijken
- pragmatisch
- precisie
- voorspelling
- voorbereiding
- Voorbereiden
- cadeautjes
- die eerder
- problemen
- Verwerkt
- verwerking
- productief
- professioneel
- gepast
- zorgen voor
- mits
- publiek
- kwaliteit
- willekeurige
- verhouding
- Rauw
- realiseren
- verwijzen
- nodig
- Resources
- Resultaten
- Rol
- sagemaker
- Wetenschapper
- partituur
- sector
- zien
- gezien
- ziet
- dienen
- Diensten
- verscheidene
- moet
- Shows
- Eenvoudig
- Soft /Pastel
- oplossing
- Oplossingen
- OPLOSSEN
- sommige
- gespecialiseerd
- specifiek
- spleet
- standaard
- begin
- gestart
- Stap voor
- Stappen
- mediaopslag
- opgeslagen
- dergelijk
- Nemen
- team
- techniek
- technieken
- terminal
- proef
- getest
- tekst
- neem contact
- dat
- De
- hun
- harte
- Deze
- ze
- dit
- die
- bedreiging
- drie
- drempel
- Door
- niet de tijd of
- naar
- tools
- Totaal
- getraind
- Trainingen
- twee
- voor
- ondergerepresenteerd
- begrijpen
- us
- Amerikaans federaal
- .
- gebruiksvriendelijke
- gebruik
- waarde
- Video
- video games
- Bekijk
- zichtbaar
- Bezoek
- vs
- kijken
- we
- web
- webservices
- GOED
- wanneer
- welke
- en
- wijd verspreid
- wil
- venster
- Met
- zonder
- Bedrijven
- You
- Your
- zephyrnet
- Postcode