Automatiser klassifisering av IT-tjenesteforespørsler med en tilpasset Amazon Comprehend-klassifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Automatiser klassifisering av IT-tjenesteforespørsler med en tilpasset Amazon Comprehend-klassifisering

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:

  1. 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.
  2. De etl_lambda funksjonen laster ned rådatasettet fra Amazon S3 til Amazon EFS.
  3. De etl_lambda funksjonen utfører dataforbehandlingsoppgaven til SEOSS-datasettet.
  4. Når funksjonskjøringen er fullført, laster den opp de transformerte dataene med prepped_data prefiks til S3-bøtten.
  5. Etter at opplastingen av de transformerte dataene er fullført, sendes en vellykket ETL-fullføringsmelding til Amazon SNS.
  6. 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.
  7. De train_classifier_lambda funksjonen starter Amazon Comprehend tilpasset klassifiseringstrening.
  8. Amazon Comprehend laster ned de transformerte dataene fra prepped_data prefiks i Amazon S3 for å trene den tilpassede klassifiseringsmodellen.
  9. Når modellopplæringen er fullført, laster Amazon Comprehend opp model.tar.gz filen til output_data prefiks til S3-bøtta. Gjennomsnittlig gjennomføringstid for å trene denne tilpassede klassifiseringsmodellen er omtrent 10 timer.
  10. Amazon S3-opplastingstriggeren påkaller extract_comprehend_model_name_lambda funksjon, som henter den tilpassede klassifiseringsmodellen ARN.
  11. Funksjonen trekker ut den tilpassede klassifiseringsmodellen ARN fra S3-hendelsesnyttelasten og responsen til list-document-classifiers anrop.
  12. 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.

Inferensstabelarkitektur

Forutsetninger

For denne demoen bør du ha følgende forutsetninger:

  • An AWS-konto.
  • Python 3.7 eller nyere, node.jsog 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 forum nvm Og bruk nvm 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.

SEOSS datasett

Distribuer AWS CDK-treningsstabelen

For AWS CDK-distribusjon starter vi med treningsstakken. Fullfør følgende trinn:

  1. Klon GitHub-depotet:
$ git clone https://github.com/aws-samples/amazon-comprehend-custom-automate-classification-it-service-request.git

  1. Naviger til amazon-comprehend-custom-automate-classification-it-service-request mappe:
$ cd amazon-comprehend-custom-automate-classification-it-service-request/

Alle følgende kommandoer kjøres i amazon-comprehend-custom-automate-classification-it-service-request katalogen.

  1. I amazon-comprehend-custom-automate-classification-it-service-request-katalogen, initialiser det virtuelle Python-miljøet og installer requirements.txt med pip:
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip install -r requirements.txt

  1. 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:
$ cdk bootstrap aws:///

  1. Syntetiser CloudFormation-malene for denne løsningen ved å bruke cdk synth Og bruk cdk deploy for å lage AWS-ressursene nevnt tidligere:
$ cdk synth
$ cdk deploy VPCStack EFSStack S3Stack SNSStack ExtractLoadTransformEndPointCreateStack --parameters SNSStack:emailaddressarnnotification=

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.

  1. 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.
  2. Etter at cdk-deployeringen er fullført, oppretter du en mappe som heter raw_data i S3-bøtta comprehendcustom---s3stack.
  3. 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.

Ytelsesmålinger

Distribuer AWS CDK-inferensstakken

Nå er du klar til å distribuere inferensstakken.

  1. 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:

$ cdk deploy APIGWInferenceStack --parameters APIGWInferenceStack:documentclassifierarn=

For eksempel:

$ cdk deploy APIGWInferenceStack --parameters APIGWInferenceStack:documentclassifierarn=arn:aws:comprehend:us-east-2:111122223333:document-classifier/ComprehendCustomClassifier-11111111-2222-3333-4444-abc5d67e891f/version/v1

  1. Etter cdk deploy kommandoen er fullført, kopier APIGWInferenceStack.ComprehendCustomClassfierInvokeAPI verdi fra konsollutgangen, og bruk denne REST API for å generere slutninger fra en klientmaskin eller en tredjepartsapplikasjon som har execute-api:Invoke IAM-privilegium. Hvis du kjører denne løsningen i us-east-2, er formatet til denne REST API https://.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 og requests 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 in apiclientinvoke.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å:
raw_data="""Spark is a unified analytics engine for large-scale data processing. It provides high-level APIs in Scala, Java, Python, and R, and an optimized engine that supports general computation graphs for data analysis."""

  • Du har tildelt restapi variabel med REST API kopiert tidligere:

restapi="https://.execute-api.us-east-2.amazonaws.com/prod/invokecomprehendV1"

  1. Kjør apiclientinvoke.py etter de foregående oppdateringene:
$ python3 apiclientinvoke.py

Du får følgende svar fra den tilpassede klassifiseringsmodellen:

{
 "statusCode": 200,
 "body": [
	{
	 "Name": "SPARK",
	 "Score": 0.9999773502349854
	},
	{
	 "Name": "HIVE",
	 "Score": 1.1613215974648483e-05
	},
	{
	 "Name": "DROOLS",
	 "Score": 1.1110682862636168e-06
	}
   ]
}

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:

$ cdk destroy --all

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

Automatiser klassifisering av IT-tjenesteforespørsler med en tilpasset Amazon Comprehend-klassifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.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.

ViralAutomatiser klassifisering av IT-tjenesteforespørsler med en tilpasset Amazon Comprehend-klassifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai. 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.

Tidstempel:

Mer fra AWS maskinlæring