Bedrifter håndterer ofte store mengder IT-tjenesteforespørsler. Tradisjonelt legges byrden på rekvirenten for å velge riktig kategori for hver sak. En manuell feil eller feilklassifisering av en billett betyr vanligvis en forsinkelse i å løse IT-tjenesteforespørselen. Dette kan resultere i redusert produktivitet, en reduksjon i kundetilfredshet, en innvirkning på servicenivåavtaler (SLA) og bredere operasjonelle effekter. Etter hvert som bedriften din vokser, blir problemet med å få riktig serviceforespørsel til det riktige teamet enda viktigere. Å bruke en tilnærming basert på maskinlæring (ML) og kunstig intelligens kan hjelpe med bedriftens stadig utviklende behov.
Supervised ML er en prosess som bruker merkede datasett og utdata for å trene læringsalgoritmer for å klassifisere data eller forutsi et utfall. Amazon Comprehend er en naturlig språkbehandlingstjeneste (NLP) som bruker ML for å avdekke verdifull innsikt og sammenhenger i tekst. Det gir APIer drevet av ML for å trekke ut nøkkelsetninger, enheter, sentimentanalyse og mer.
I dette innlegget viser vi deg hvordan du implementerer en overvåket ML-modell som kan bidra til å klassifisere IT-tjenesteforespørsler automatisk ved hjelp av Amazon Comprehend tilpasset klassifisering. Amazon Comprehend tilpasset klassifisering hjelper deg med å tilpasse Amazon Comprehend for dine spesifikke krav uten ferdighetssettet som kreves for å bygge ML-baserte NLP-løsninger. Med automatisk ML, eller AutoML, bygger Amazon Comprehend tilpasset klassifisering tilpassede NLP-modeller på dine vegne, ved å bruke opplæringsdataene du oppgir.
Oversikt over løsning
For å illustrere IT-tjenesteforespørselsklassifiseringen, bruker denne løsningen SEOSS datasett. Dette datasettet er et systematisk hentet datasett som består av 33 programvareprosjekter med åpen kildekode som inneholder et stort antall maskinskrevne artefakter og sporer koblinger mellom dem. Denne løsningen bruker problemdataene fra disse 33 åpen kildekode-prosjektene, sammendragene og beskrivelsene som rapportert av sluttbrukere for å bygge en tilpasset klassifiseringsmodell ved hjelp av Amazon Comprehend.
Dette innlegget viser hvordan du implementerer og distribuerer løsningen ved hjelp av AWS skyutviklingssett (AWS CDK) i en isolert Amazon Virtual Private Cloud (Amazon VPC) miljø som kun består av private undernett. Vi bruker også koden for å demonstrere hvordan du kan bruke AWS CDK leverandørens rammeverk, et minirammeverk for å implementere en leverandør for AWS skyformasjon tilpassede ressurser for å opprette, oppdatere eller slette en egendefinert ressurs, for eksempel et Amazon Comprehend-endepunkt. Amazon Comprehend-endepunktet inkluderer administrerte ressurser som gjør din egendefinerte modell tilgjengelig for sanntidsslutning til en klientmaskin eller tredjepartsapplikasjoner. De kode for denne løsningen er tilgjengelig på Github.
Du bruker AWS CDK til å distribuere infrastrukturen, applikasjonskoden og konfigurasjonen for løsningen. Du trenger også en AWS-konto og muligheten til å opprette AWS-ressurser. Du bruker AWS CDK til å lage AWS-ressurser som en VPC med private undernett, Amazon VPC-endepunkter, Amazon elastisk filsystem (Amazon EFS), en Amazon enkel varslingstjeneste (Amazon SNS) emne, en Amazon enkel lagringstjeneste (Amazon S3) bøtte, Amazon S3 hendelsesvarslerog AWS Lambda funksjoner. Til sammen utgjør disse AWS-ressursene treningsstakken, som du bruker til å bygge og trene den tilpassede klassifiseringsmodellen.
Etter at du har opprettet disse AWS-ressursene, laster du ned SEOSS-datasettet og laster opp datasettet til S3-bøtten som er opprettet av løsningen. Hvis du distribuerer denne løsningen i AWS Region us-east-2, er formatet på S3-bøttenavnet comprehendcustom--us-east-2-s3stack
. Løsningen bruker Amazon S3 flerdelt opplastingsutløser for å påkalle en Lambda-funksjon som starter forhåndsbehandlingen av inngangsdataene, og bruker de forhåndsbehandlede dataene til å trene Amazon Comprehend-tilpasset klassifikatoren til å lage den tilpassede klassifiseringsmodellen. Du bruker deretter Amazon Resource Name (ARN) til den tilpassede klassifiseringsmodellen for å lage inferensstakken, som lager et Amazon Comprehend-endepunkt ved å bruke AWS CDK leverandørens rammeverk, som du deretter kan bruke for slutninger fra en tredjeparts applikasjon eller klientmaskin.
Følgende diagram illustrerer arkitekturen til treningsstabelen.
Arbeidsflyttrinnene er som følger:
- Last opp SEOSS-datasettet til S3-bøtten som er opprettet som en del av implementeringsprosessen for opplæringsstabelen. Dette oppretter en hendelsestrigger som påkaller
etl_lambda
funksjon. - De
etl_lambda
funksjonen laster ned rådatasettet fra Amazon S3 til Amazon EFS. - De
etl_lambda
funksjonen utfører dataforbehandlingsoppgaven til SEOSS-datasettet. - Når funksjonskjøringen er fullført, laster den opp de transformerte dataene med
prepped_data
prefiks til S3-bøtten. - Etter at opplastingen av de transformerte dataene er fullført, sendes en vellykket ETL-fullføringsmelding til Amazon SNS.
- I Amazon Comprehend kan du klassifisere dokumentene dine ved å bruke to moduser: multi-class eller multi-label. Flerklassemodus identifiserer én og bare én klasse for hvert dokument, og multi-etikettmodus identifiserer én eller flere etiketter for hvert dokument. Fordi vi ønsker å identifisere en enkelt klasse for hvert dokument, trener vi den tilpassede klassifiseringsmodellen i flerklassemodus. Amazon SNS utløser
train_classifier_lambda
funksjon, som starter Amazon Comprehend-klassifiseringstreningen i en flerklassemodus. - De
train_classifier_lambda
funksjonen starter Amazon Comprehend tilpasset klassifiseringstrening. - Amazon Comprehend laster ned de transformerte dataene fra
prepped_data
prefiks i Amazon S3 for å trene den tilpassede klassifiseringsmodellen. - Når modellopplæringen er fullført, laster Amazon Comprehend opp
model.tar.gz
filen tiloutput_data
prefiks til S3-bøtta. Gjennomsnittlig gjennomføringstid for å trene denne tilpassede klassifiseringsmodellen er omtrent 10 timer. - Amazon S3-opplastingstriggeren påkaller
extract_comprehend_model_name_lambda
funksjon, som henter den tilpassede klassifiseringsmodellen ARN. - Funksjonen trekker ut den tilpassede klassifiseringsmodellen ARN fra S3-hendelsesnyttelasten og responsen til
list-document-classifiers
anrop. - Funksjonen sender den tilpassede klassifiseringsmodellen ARN til e-postadressen du hadde abonnert på tidligere som en del av prosessen for å lage treningsstabel. Du bruker deretter denne ARN for å distribuere inferensstakken.
Denne distribusjonen oppretter inferensstakken, som vist i følgende figur. Inferensstakken gir deg en REST API sikret av en AWS identitets- og tilgangsadministrasjon (IAM)-autorisator, som du deretter kan bruke til å generere konfidenspoeng for etikettene basert på inndatateksten fra en tredjepartsapplikasjon eller klientmaskin.
Forutsetninger
For denne demoen bør du ha følgende forutsetninger:
- An AWS-konto.
- Python 3.7 eller nyere, node.jsog gå i utviklingsmaskinen. AWS CDK bruker spesifikke versjoner av Node.js (>=10.13.0, bortsett fra versjon 13.0.0 – 13.6.0). En versjon i aktiv langtidsstøtte (LTS) anbefales.
For å installere den aktive LTS-versjonen av Node.js kan du bruke følgende installer skript forumnvm
Og bruknvm
til installere Node.js LTS-versjonen. Du kan også installere gjeldende aktive LTS Node.js via pakkebehandling avhengig av hvilket operativsystem du velger.For macOS kan du installere Node.js via pakkebehandling ved å bruke følgende instruksjoner.
For Windows kan du installere Node.js via pakkebehandling ved å bruke følgende instruksjoner.
- AWS CDK v2 er forhåndsinstallert hvis du bruker en AWS Cloud9 IDE. Hvis du bruker AWS Cloud9 IDE, kan du hoppe over dette trinnet. Hvis du ikke har AWS CDK installert i utviklingsmaskinen, installer AWS CDK v2 globalt ved å bruke kommandoen Node Package Manager
npm install -g aws-cdk
. Dette trinnet krever at Node.js er installert i utviklingsmaskinen. - Konfigurer AWS-legitimasjonen din for å få tilgang til og opprette AWS-ressurser ved å bruke AWS CDK. For instruksjoner, se Angi legitimasjon og region.
- Last ned SEOSS datasett bestående av krav, feilrapporter, kodehistorikk og sporkoblinger til 33 åpen kildekode-programvareprosjekter. Lagre filen
dataverse_files.zip
på din lokale maskin.
Distribuer AWS CDK-treningsstabelen
For AWS CDK-distribusjon starter vi med treningsstakken. Fullfør følgende trinn:
- Klon GitHub-depotet:
- Naviger til
amazon-comprehend-custom-automate-classification-it-service-request
mappe:
Alle følgende kommandoer kjøres i amazon-comprehend-custom-automate-classification-it-service-request
katalogen.
- I amazon-comprehend-custom-automate-classification-it-service-request-katalogen, initialiser det virtuelle Python-miljøet og installer requirements.txt med pip:
- Hvis du bruker AWS CDK i en bestemt AWS-konto og region for første gang, se instruksjonene for oppstart av AWS CDK-miljøet ditt:
- Syntetiser CloudFormation-malene for denne løsningen ved å bruke
cdk synth
Og brukcdk deploy
for å lage AWS-ressursene nevnt tidligere:
Etter at du har kommet inn cdk deploy
, spør AWS CDK om du vil distribuere endringer for hver av stablene som kalles opp i cdk deploy-kommandoen.
- Enter
y
for hver av stabelopprettingsmeldingene, oppretter cdk-distribusjonstrinnet disse stablene. Abonner på e-postadressen du oppgir til SNS-emnet opprettet som en del av cdk-implementeringen. - Etter at cdk-deployeringen er fullført, oppretter du en mappe som heter
raw_data
i S3-bøttacomprehendcustom---s3stack
. - Last opp SEOSS-datasettet
dataverse_files.zip
som du lastet ned tidligere til denne mappen.
Etter at opplastingen er fullført, påkaller løsningen etl_lambda
funksjon ved å bruke en Amazon S3-hendelsesutløser for å starte uttrekks-, transformasjons- og lastprosessen (ETL). Etter at ETL-prosessen er fullført, sendes en melding til SNS-emnet, som påkaller train_classifier_lambda
funksjon. Denne funksjonen utløser en Amazon Comprehend tilpasset klassifiseringsmodellopplæring. Avhengig av om du trener modellen din på det komplette SEOSS-datasettet, kan opplæring ta opptil 10 timer. Når opplæringsprosessen er fullført, laster Amazon Comprehend opp model.tar.gz
filen til output_data
prefiks i S3-bøtta.
Denne opplastingen utløser extract_comprehend_model_name_lambda
funksjon ved å bruke en S3-hendelsesutløser som trekker ut den tilpassede klassifiseringsmodellen ARN og sender den til e-postadressen du abonnerte på tidligere. Denne tilpassede klassifiseringsmodellen ARN brukes deretter til å lage inferensstakken. Når modellopplæringen er fullført, kan du se ytelsesberegningene til den tilpassede klassifiseringsmodellen ved å navigere til delen med versjonsdetaljer i Amazon Comprehend-konsollen (se følgende skjermbilde), eller ved å bruke Amazon Comprehend Boto3 SDK.
Distribuer AWS CDK-inferensstakken
Nå er du klar til å distribuere inferensstakken.
- Kopier den tilpassede klassifiseringsmodellen ARN fra e-posten du mottok, og bruk følgende
cdk deploy
kommando for å lage slutningsstabelen.
Denne kommandoen distribuerer en API Gateway REST API sikret av en IAM-autorisator, som du bruker til å slutte med en AWS-bruker-ID eller IAM-rolle som bare har execute-api:Invoke IAM-rettigheten. Følgende cdk deploy-kommando distribuerer inferensstakken. Denne stabelen bruker AWS CDK leverandørens rammeverk å opprette Amazon Comprehend-endepunktet som en tilpasset ressurs, slik at opprettelse, sletting og oppdatering av Amazon Comprehend-endepunktet kan gjøres som en del av livssyklusen for inferensstakken ved å bruke cdk-deploy og cdk destroy-kommandoer.
Fordi du må kjøre følgende kommando etter at modellopplæringen er fullført, noe som kan ta opptil 10 timer, sørg for at du er i det virtuelle Python-miljøet som du initialiserte i et tidligere trinn og i amazon-comprehend-custom-automate-classification-it-service-request
katalogen:
For eksempel:
- Etter
cdk deploy
kommandoen er fullført, kopierAPIGWInferenceStack.ComprehendCustomClassfierInvokeAPI
verdi fra konsollutgangen, og bruk denne REST API for å generere slutninger fra en klientmaskin eller en tredjepartsapplikasjon som harexecute-api:Invoke
IAM-privilegium. Hvis du kjører denne løsningen i us-east-2, er formatet til denne REST APIhttps://.execute-api.us-east-2.amazonaws.com/prod/invokecomprehendV1
.
Alternativt kan du bruke testklienten apiclientinvoke.py
fra GitHub-depotet for å sende en forespørsel til den tilpassede klassifiseringsmodellen. Før du bruker apiclientinvoke.py, sørg for at følgende forutsetninger er på plass:
- Du har
boto3
ogrequests
Python-pakken installert ved hjelp av pip på klientmaskinen. - Du har konfigurert Boto3-legitimasjon. Som standard antar testklienten at en profil kalt standard er til stede, og den har
execute-api:Invoke
IAM-privilegium på REST API. - SigV4Auth peker til regionen der REST API er distribuert. Oppdater
verdi til
us-east-2
inapiclientinvoke.py
hvis REST API er distribuert i us-east-2. - Du har tildelt
raw_data
variabel med teksten du vil lage klasseprediksjonen eller klassifiseringsforespørselen på:
- Du har tildelt
restapi
variabel med REST API kopiert tidligere:
restapi="https://.execute-api.us-east-2.amazonaws.com/prod/invokecomprehendV1"
- Kjør
apiclientinvoke.py
etter de foregående oppdateringene:
Du får følgende svar fra den tilpassede klassifiseringsmodellen:
Amazon Comprehend returnerer tillitspoeng for hver etikett som den har tilskrevet riktig. Hvis tjenesten er svært sikker på en etikett, vil poengsummen være nærmere 1. Derfor, for Amazon Comprehend tilpasset klassifiseringsmodell som ble trent ved bruk av SEOSS-datasettet, forutsier den tilpassede klassifiseringsmodellen at teksten tilhører klassen SPARK. Denne klassifiseringen returnert av Amazon Comprehends tilpassede klassifiseringsmodell kan deretter brukes til å klassifisere IT-tjenesteforespørslene eller forutsi riktig kategori av IT-tjenesteforespørsler, og dermed redusere manuelle feil eller feilklassifisering av tjenesteforespørsler.
Rydd opp
For å rydde opp i alle ressursene som er opprettet i dette innlegget som ble opprettet som en del av treningsstakken og slutningsstakken, bruk følgende kommando. Denne kommandoen sletter alle AWS-ressursene opprettet som en del av de forrige cdk-distribusjonskommandoene:
konklusjonen
I dette innlegget viste vi deg hvordan bedrifter kan implementere en overvåket ML-modell ved å bruke tilpasset Amazon Comprehend-klassifisering for å forutsi kategorien av IT-tjenesteforespørsler basert på enten emnet eller beskrivelsen av forespørselen sendt inn av sluttbrukeren. Etter at du har bygget og trent en tilpasset klassifiseringsmodell, kan du kjøre sanntidsanalyse for tilpasset klassifisering ved å opprette et endepunkt. Etter at du har distribuert denne modellen til et Amazon Comprehend-endepunkt, kan den brukes til å kjøre sanntidsslutning fra tredjepartsapplikasjoner eller andre klientmaskiner, inkludert IT-tjenesteadministrasjonsverktøy. Du kan deretter bruke denne slutningen til å forutsi defektkategorien og redusere manuelle feil eller feilklassifiseringer av billetter. Dette bidrar til å redusere forsinkelser for billettløsning og øker oppløsningsnøyaktigheten og kundeproduktiviteten, noe som til slutt resulterer i økt kundetilfredshet.
Du kan utvide konseptene i dette innlegget til andre brukstilfeller, for eksempel ruting av virksomhet eller IT-billetter til ulike interne team som forretningsavdelinger, kundeserviceagenter og Tier 2/3 IT-støtte, opprettet enten av sluttbrukere eller gjennom automatiserte midler.
Referanser
- Rath, Michael; Mäder, Patrick, 2019, "SEOSS-datasettet – krav, feilrapporter, kodehistorikk og sporingslenker for hele prosjekter", https://doi.org/10.7910/DVN/PDDZ4Q, Harvard Dataverse, V1
Om forfatterne
Arnab Chakraborty er en senior løsningsarkitekt ved AWS basert i Cincinnati, Ohio. Han er lidenskapelig opptatt av emner innen bedrifts- og løsningsarkitektur, dataanalyse, serverløs og maskinlæring. På fritiden liker han å se filmer, reiseserier og sport.
Viral Desai er en hovedløsningsarkitekt ved AWS. Med mer enn 25 års erfaring innen informasjonsteknologi, har han hjulpet kunder med å ta i bruk AWS og modernisere deres arkitekturer. Han liker å gå på tur, og liker å dykke dypt med kunder på alt som har med AWS å gjøre.
- Avansert (300)
- AI
- ai kunst
- ai art generator
- du har en robot
- Amazon Comprehend
- kunstig intelligens
- sertifisering av kunstig intelligens
- kunstig intelligens i bankvirksomhet
- kunstig intelligens robot
- kunstig intelligens roboter
- programvare for kunstig intelligens
- AWS maskinlæring
- blockchain
- blockchain konferanse ai
- coingenius
- samtale kunstig intelligens
- kryptokonferanse ai
- dall sin
- dyp læring
- google det
- Middels (200)
- maskinlæring
- plato
- plato ai
- Platon Data Intelligence
- Platon spill
- PlatonData
- platogaming
- skala ai
- syntaks
- Teknisk fremgangsmåte
- zephyrnet