Automatiser klassificering af it-serviceanmodninger med en tilpasset Amazon Comprehend-klassifikator PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Automatiser klassificering af IT-serviceanmodninger med en tilpasset Amazon Comprehend-klassifikator

Virksomheder håndterer ofte store mængder IT-serviceanmodninger. Traditionelt lægges byrden på rekvirenten for at vælge den korrekte kategori for hvert problem. En manuel fejl eller fejlklassificering af en billet betyder normalt en forsinkelse i løsningen af ​​IT-serviceanmodningen. Dette kan resultere i reduceret produktivitet, et fald i kundetilfredshed, en indvirkning på serviceniveauaftaler (SLA'er) og bredere operationelle påvirkninger. Efterhånden som din virksomhed vokser, bliver problemet med at få den rigtige serviceanmodning til det rigtige team endnu vigtigere. Brug af en tilgang baseret på maskinlæring (ML) og kunstig intelligens kan hjælpe med din virksomheds stadigt skiftende behov.

Supervised ML er en proces, der bruger mærkede datasæt og output til at træne læringsalgoritmer i, hvordan man klassificerer data eller forudsiger et resultat. Amazon Comprehend er en NLP-tjeneste (natural language processing), der bruger ML til at afdække værdifuld indsigt og sammenhænge i tekst. Det giver API'er drevet af ML til at udtrække nøglesætninger, entiteter, sentimentanalyse og mere.

I dette indlæg viser vi dig, hvordan du implementerer en overvåget ML-model, der kan hjælpe med at klassificere it-serviceanmodninger automatisk vha. Amazon Comprehend brugerdefineret klassificering. Amazon Comprehend brugerdefineret klassificering hjælper dig med at tilpasse Amazon Comprehend til dine specifikke krav uden de færdigheder, der kræves til at bygge ML-baserede NLP-løsninger. Med automatisk ML eller AutoML bygger Amazon Comprehend tilpasset klassificering tilpassede NLP-modeller på dine vegne ved hjælp af de træningsdata, du leverer.

Oversigt over løsning

For at illustrere IT-serviceanmodningsklassifikationen bruger denne løsning SEOSS datasæt. Dette datasæt er et systematisk hentet datasæt bestående af 33 open source softwareprojekter, der indeholder et stort antal maskinskrevne artefakter og spore links mellem dem. Denne løsning bruger problemdataene fra disse 33 open source-projekter, resuméer og beskrivelser som rapporteret af slutbrugere til at bygge en tilpasset klassificeringsmodel ved hjælp af Amazon Comprehend.

Dette indlæg demonstrerer, hvordan man implementerer og implementerer løsningen ved hjælp af AWS Cloud Development Kit (AWS CDK) i en isoleret Amazon Virtual Private Cloud (Amazon VPC) miljø bestående af kun private undernet. Vi bruger også koden til at demonstrere, hvordan du kan bruge AWS CDK udbyderens rammer, en mini-ramme for implementering af en udbyder til AWS CloudFormation tilpassede ressourcer til at oprette, opdatere eller slette en tilpasset ressource, såsom et Amazon Comprehend-slutpunkt. Amazon Comprehend-slutpunktet inkluderer administrerede ressourcer, der gør din brugerdefinerede model tilgængelig til realtidsslutning til en klientmaskine eller tredjepartsapplikationer. Det kode for denne løsning er tilgængelig på Github.

Du bruger AWS CDK til at implementere infrastrukturen, applikationskoden og konfigurationen til løsningen. Du har også brug for en AWS-konto og evnen til at oprette AWS-ressourcer. Du bruger AWS CDK til at oprette AWS-ressourcer såsom en VPC med private undernet, Amazon VPC-endepunkter, Amazon Elastic File System (Amazon EFS), en Amazon Simple Notification Service (Amazon SNS) emne, et Amazon Simple Storage Service (Amazon S3) spand, Amazon S3-begivenhedsmeddelelserog AWS Lambda funktioner. Tilsammen udgør disse AWS-ressourcer træningsstakken, som du bruger til at bygge og træne den tilpassede klassificeringsmodel.

Når du har oprettet disse AWS-ressourcer, downloader du SEOSS-datasættet og uploader datasættet til S3-bøtten, der er oprettet af løsningen. Hvis du implementerer denne løsning i AWS Region us-east-2, er formatet på S3-bøttenavnet comprehendcustom--us-east-2-s3stack. Løsningen bruger Amazon S3 multi-part upload-udløseren til at påkalde en Lambda-funktion, der starter forbehandlingen af ​​inputdataene, og bruger de forbehandlede data til at træne Amazon Comprehend brugerdefinerede klassificeringsværktøj til at skabe den tilpassede klassificeringsmodel. Du bruger derefter Amazon Resource Name (ARN) af den brugerdefinerede klassificeringsmodel til at oprette inferensstakken, som opretter et Amazon Comprehend-slutpunkt ved hjælp af AWS CDK udbyderens rammer, som du derefter kan bruge til slutninger fra en tredjepartsapplikation eller klientmaskine.

Følgende diagram illustrerer træningsstakkens arkitektur.

Workflow-trinene er som følger:

  1. Upload SEOSS-datasættet til S3-bøtten, der er oprettet som en del af implementeringsprocessen for træningsstakken. Dette skaber en hændelsesudløser, der påkalder etl_lambda funktion.
  2. etl_lambda funktionen downloader rådatasættet fra Amazon S3 til Amazon EFS.
  3. etl_lambda funktion udfører dataforbehandlingsopgaven for SEOSS-datasættet.
  4. Når funktionsudførelsen er fuldført, uploades de transformerede data med prepped_data præfiks til S3-spanden.
  5. Efter upload af de transformerede data er fuldført, sendes en vellykket ETL-afslutningsmeddelelse til Amazon SNS.
  6. I Amazon Comprehend kan du klassificere dine dokumenter ved hjælp af to tilstande: multi-class eller multi-label. Multi-class mode identificerer én og kun én klasse for hvert dokument, og multi-label mode identificerer en eller flere labels for hvert dokument. Fordi vi ønsker at identificere en enkelt klasse til hvert dokument, træner vi den tilpassede klassificeringsmodel i multi-class mode. Amazon SNS udløser train_classifier_lambda funktion, som starter Amazon Comprehend-klassificeringstræningen i en multi-klasse-tilstand.
  7. train_classifier_lambda funktionen starter Amazon Comprehend tilpasset klassificeringstræning.
  8. Amazon Comprehend downloader de transformerede data fra prepped_data præfiks i Amazon S3 for at træne den brugerdefinerede klassificeringsmodel.
  9. Når modeluddannelsen er færdig, uploader Amazon Comprehend model.tar.gz fil til output_data præfiks på S3-spanden. Den gennemsnitlige færdiggørelsestid for at træne denne brugerdefinerede klassificeringsmodel er cirka 10 timer.
  10. Amazon S3-uploadtriggeren påberåber sig extract_comprehend_model_name_lambda funktion, som henter den brugerdefinerede klassificeringsmodel ARN.
  11. Funktionen udtrækker den tilpassede klassificeringsmodel ARN fra S3-hændelsesnyttelasten og svaret på list-document-classifiers opkald.
  12. Funktionen sender den tilpassede klassificeringsmodel ARN til den e-mailadresse, som du tidligere havde abonneret på som en del af processen til oprettelse af træningsstak. Du bruger derefter denne ARN til at implementere inferensstakken.

Denne implementering opretter inferensstakken, som vist i den følgende figur. Inferensstakken giver dig en REST API sikret af en AWS identitets- og adgangsstyring (IAM)-autorisator, som du derefter kan bruge til at generere konfidensscore for etiketterne baseret på inputteksten leveret fra en tredjepartsapplikation eller klientmaskine.

Inferens stak arkitektur

Forudsætninger

For denne demo skal du have følgende forudsætninger:

  • An AWS-konto.
  • Python 3.7 eller nyere, node.jsog Git i udviklingsmaskinen. AWS CDK bruger specifikke versioner af Node.js (>=10.13.0, undtagen version 13.0.0 – 13.6.0). En version i aktiv langtidssupport (LTS) anbefales.
    For at installere den aktive LTS-version af Node.js kan du bruge følgende installere script forum nvm Og brug nvm til installere Node.js LTS-versionen. Du kan også installere den aktuelle aktive LTS Node.js via pakkehåndtering afhængigt af det valgte operativsystem.

    For macOS kan du installere Node.js via pakkehåndtering ved at bruge følgende anvisninger.

    For Windows kan du installere Node.js via pakkehåndtering ved at bruge følgende anvisninger.

  • AWS CDK v2 er forudinstalleret, hvis du bruger en AWS Cloud9 IDE. Hvis du bruger AWS Cloud9 IDE, kan du springe dette trin over. Hvis du ikke har AWS CDK installeret på udviklingsmaskinen, skal du installere AWS CDK v2 globalt ved hjælp af kommandoen Node Package Manager npm install -g aws-cdk. Dette trin kræver, at Node.js er installeret i udviklingsmaskinen.
  • Konfigurer dine AWS-legitimationsoplysninger for at få adgang til og oprette AWS-ressourcer ved hjælp af AWS CDK. For instruktioner, se Angivelse af legitimationsoplysninger og område.
  • Download SEOSS datasæt bestående af krav, fejlrapporter, kodehistorik og sporingslinks til 33 open source softwareprojekter. Gem filen dataverse_files.zip på din lokale maskine.

SEOSS datasæt

Implementer AWS CDK-træningsstakken

Til AWS CDK-implementering starter vi med træningsstakken. Udfør følgende trin:

  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 folder:
$ cd amazon-comprehend-custom-automate-classification-it-service-request/

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

  1. I mappen amazon-comprehend-custom-automate-classification-it-service-request skal du initialisere det virtuelle Python-miljø og installere requirements.txt med pip:
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip install -r requirements.txt

  1. Hvis du bruger AWS CDK i en bestemt AWS-konto og region for første gang, skal du se instruktionerne til bootstrapping af dit AWS CDK-miljø:
$ cdk bootstrap aws:///

  1. Syntetiser CloudFormation-skabelonerne til denne løsning ved hjælp af cdk synth Og brug cdk deploy for at oprette de tidligere nævnte AWS-ressourcer:
$ cdk synth
$ cdk deploy VPCStack EFSStack S3Stack SNSStack ExtractLoadTransformEndPointCreateStack --parameters SNSStack:emailaddressarnnotification=

Efter du er kommet ind cdk deploy, spørger AWS CDK, om du ønsker at implementere ændringer for hver af de stakke, der kaldes ud i cdk deploy-kommandoen.

  1. Indtast y for hver af stack-oprettelsesprompterne, opretter cdk-deployeringstrinnet disse stakke. Abonner på den e-mailadresse, du har angivet til SNS-emnet, der er oprettet som en del af cdk-implementeringen.
  2. Når cdk-implementeringen er fuldført, skal du oprette en mappe kaldet raw_data i S3 spanden comprehendcustom---s3stack.
  3. Upload SEOSS-datasættet dataverse_files.zip som du tidligere har downloadet til denne mappe.

Når uploaden er fuldført, kalder løsningen på etl_lambda funktion ved hjælp af en Amazon S3-hændelsesudløser til at starte udtrækning, transformation og indlæsning (ETL) processen. Efter at ETL-processen er fuldført, sendes en besked til SNS-emnet, som kalder på train_classifier_lambda fungere. Denne funktion udløser en Amazon Comprehend tilpasset klassificeringsmodeltræning. Afhængigt af om du træner din model på det komplette SEOSS-datasæt, kan træning tage op til 10 timer. Når træningsprocessen er afsluttet, uploader Amazon Comprehend model.tar.gz fil til output_data præfiks i S3-spanden.

Denne upload udløser extract_comprehend_model_name_lambda funktion ved hjælp af en S3-hændelsesudløser, der udtrækker den tilpassede klassificeringsmodel ARN og sender den til den e-mail-adresse, du tidligere havde abonneret på. Denne brugerdefinerede klassificeringsmodel ARN bruges derefter til at skabe inferensstakken. Når modeltræningen er afsluttet, kan du se præstationsmålingerne for den tilpassede klassificeringsmodel ved at navigere til afsnittet versionsdetaljer i Amazon Comprehend-konsollen (se følgende skærmbillede) eller ved at bruge Amazon Comprehend Boto3 SDK.

Ydeevnemålinger

Implementer AWS CDK-inferensstakken

Nu er du klar til at implementere inferensstakken.

  1. Kopiér den tilpassede klassificeringsmodel ARN fra den e-mail, du har modtaget, og brug følgende cdk deploy kommando for at oprette inferensstakken.

Denne kommando implementerer en API Gateway REST API, der er sikret af en IAM-autorisator, som du bruger til at slutte med et AWS-bruger-id eller en IAM-rolle, der netop har execute-api:Invoke IAM-privilegiet. Følgende cdk deploy-kommando implementerer inferensstakken. Denne stak bruger AWS CDK udbyderens rammer at oprette Amazon Comprehend-endepunktet som en brugerdefineret ressource, så oprettelse, sletning og opdatering af Amazon Comprehend-slutpunktet kan udføres som en del af inferensstakkens livscyklus ved hjælp af cdk deploy og cdk destroy-kommandoer.

Fordi du skal køre følgende kommando, efter at modeltræningen er afsluttet, hvilket kan tage op til 10 timer, skal du sikre dig, at du er i det virtuelle Python-miljø, som du initialiserede i et tidligere trin og i amazon-comprehend-custom-automate-classification-it-service-request vejviser:

$ 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. Efter cdk deploy kommandoen er fuldført korrekt, kopier APIGWInferenceStack.ComprehendCustomClassfierInvokeAPI værdi fra konsoloutputtet, og brug denne REST API til at generere slutninger fra en klientmaskine eller en tredjepartsapplikation, der har execute-api:Invoke IAM privilegium. Hvis du kører denne løsning i us-east-2, er formatet på denne REST API https://.execute-api.us-east-2.amazonaws.com/prod/invokecomprehendV1.

Alternativt kan du bruge testklienten apiclientinvoke.py fra GitHub-lageret for at sende en anmodning til den tilpassede klassificeringsmodel. Før du bruger apiclientinvoke.py, skal du sikre dig, at følgende forudsætninger er på plads:

  • Du har boto3 , requests Python-pakken installeret ved hjælp af pip på klientmaskinen.
  • Du har konfigureret Boto3-legitimationsoplysninger. Som standard antager testklienten, at en profil med navnet default er til stede, og den har execute-api:Invoke IAM-privilegium på REST API.
  • SigV4Auth peger på den region, hvor REST API'en er installeret. Opdater værdi til us-east-2 in apiclientinvoke.py hvis din REST API er implementeret i us-east-2.
  • Du har tildelt raw_data variabel med den tekst, som du vil lave klasseforudsigelsen eller klassificeringsanmodningen 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 kopieret tidligere:

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

  1. Kør apiclientinvoke.py efter de foregående opdateringer:
$ python3 apiclientinvoke.py

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

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

Amazon Comprehend returnerer tillidsscore for hver etiket, som den har tildelt korrekt. Hvis tjenesten er meget sikker på en etiket, vil scoren være tættere på 1. Derfor, for Amazon Comprehend brugerdefinerede klassificeringsmodellen, der blev trænet ved hjælp af SEOSS-datasættet, forudsiger den tilpassede klassificeringsmodel, at teksten tilhører klassen SPARK. Denne klassifikation, der returneres af Amazon Comprehend-brugerdefinerede klassificeringsmodellen, kan derefter bruges til at klassificere it-serviceanmodningerne eller forudsige den korrekte kategori af it-serviceanmodningerne, og derved reducere manuelle fejl eller fejlklassificering af serviceanmodninger.

Ryd op

For at rydde op i alle de ressourcer, der er oprettet i dette indlæg, der blev oprettet som en del af træningsstakken og inferensstakken, skal du bruge følgende kommando. Denne kommando sletter alle de AWS-ressourcer, der er oprettet som en del af de tidligere cdk-implementeringskommandoer:

$ cdk destroy --all

Konklusion

I dette indlæg viste vi dig, hvordan virksomheder kan implementere en overvåget ML-model ved hjælp af tilpasset Amazon Comprehend-klassificering til at forudsige kategorien af ​​it-serviceanmodninger baseret på enten emnet eller beskrivelsen af ​​anmodningen indsendt af slutbrugeren. Når du har bygget og trænet en tilpasset klassificeringsmodel, kan du køre realtidsanalyse til tilpasset klassificering ved at oprette et slutpunkt. Når du har implementeret denne model til et Amazon Comprehend-slutpunkt, kan den bruges til at køre realtidsslutning fra tredjepartsapplikationer eller andre klientmaskiner, inklusive IT-servicestyringsværktøjer. Du kan derefter bruge denne slutning til at forudsige defektkategorien og reducere manuelle fejl eller fejlklassificeringer af billetter. Dette hjælper med at reducere forsinkelser for billetopløsning og øger opløsningsnøjagtighed og kundeproduktivitet, hvilket i sidste ende resulterer i øget kundetilfredshed.

Du kan udvide koncepterne i dette indlæg til andre use cases, såsom routing af forretnings- eller IT-billetter til forskellige interne teams såsom forretningsafdelinger, kundeserviceagenter og Tier 2/3 IT-support, oprettet enten af ​​slutbrugere eller gennem automatiseret midler.

Referencer

  • Rath, Michael; Mäder, Patrick, 2019, "SEOSS-datasættet – krav, fejlrapporter, kodehistorik og sporingslinks for hele projekter", https://doi.org/10.7910/DVN/PDDZ4Q, Harvard Dataverse, V1

Om forfatterne

Automatiser klassificering af it-serviceanmodninger med en tilpasset Amazon Comprehend-klassifikator PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Arnab Chakraborty er en Sr. Solutions Architect hos AWS baseret i Cincinnati, Ohio. Han brænder for emner inden for Enterprise & Solution-arkitektur, Dataanalyse, Serverløs og Machine Learning. I sin fritid nyder han at se film, rejseprogrammer og sport.

ViralAutomatiser klassificering af it-serviceanmodninger med en tilpasset Amazon Comprehend-klassifikator PlatoBlockchain Data Intelligence. Lodret søgning. Ai. Desai er Principal Solutions Architect hos AWS. Med mere end 25 års erfaring inden for informationsteknologi har han hjulpet kunder med at adoptere AWS og modernisere deres arkitekturer. Han kan lide at vandre og nyder at dykke i dybden med kunder på alt, hvad AWS har.

Tidsstempel:

Mere fra AWS maskinindlæring