Avtomatizirajte klasifikacijo zahtevkov za storitve IT s klasifikatorjem po meri Amazon Comprehend PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Avtomatizirajte klasifikacijo zahtevkov za storitve IT s klasifikatorjem po meri Amazon Comprehend

Podjetja se pogosto ukvarjajo z velikimi količinami zahtevkov za storitve IT. Običajno je vlagatelju naloženo, da izbere pravo kategorijo za vsako zadevo. Ročna napaka ali napačna klasifikacija vstopnice običajno pomeni zamudo pri reševanju zahteve za IT storitev. To lahko povzroči zmanjšano produktivnost, zmanjšanje zadovoljstva strank, vpliv na sporazume o ravni storitev (SLA) in širše operativne vplive. Ko vaše podjetje raste, postane težava, kako pravo ekipo dobiti pravo zahtevo za storitev, še pomembnejša. Uporaba pristopa, ki temelji na strojnem učenju (ML) in umetni inteligenci, lahko pomaga pri nenehno razvijajočih se potrebah vašega podjetja.

Nadzorovano ML je proces, ki uporablja označene nabore podatkov in izhode za urjenje učnih algoritmov o tem, kako razvrstiti podatke ali napovedati izid. Amazonsko razumevanje je storitev za obdelavo naravnega jezika (NLP), ki uporablja ML za odkrivanje dragocenih vpogledov in povezav v besedilu. Zagotavlja API-je, ki jih poganja ML, za pridobivanje ključnih besednih zvez, entitet, analizo razpoloženja in več.

V tej objavi vam pokažemo, kako implementirati nadzorovani model ML, ki lahko pomaga samodejno razvrstiti zahteve za storitve IT z Amazon Comprehend klasifikacija po meri. Klasifikacija po meri Amazon Comprehend vam pomaga prilagoditi Amazon Comprehend vašim specifičnim zahtevam brez nabora spretnosti, potrebnih za izdelavo NLP rešitev, ki temeljijo na ML. S samodejnim ML ali AutoML klasifikacija po meri Amazon Comprehend v vašem imenu zgradi prilagojene modele NLP z uporabo podatkov o usposabljanju, ki jih posredujete.

Pregled rešitve

Za ponazoritev klasifikacije zahtevkov za storitve IT ta rešitev uporablja Nabor podatkov SEOSS. Ta nabor podatkov je sistematično pridobljen nabor podatkov, sestavljen iz 33 projektov odprtokodne programske opreme, ki vsebuje veliko število tipiziranih artefaktov in sledi povezavam med njimi. Ta rešitev uporablja podatke o težavah iz teh 33 odprtokodnih projektov, povzetkov in opisov, kot so jih sporočili končni uporabniki, za izdelavo modela klasifikatorja po meri z uporabo Amazon Comprehend.

Ta objava prikazuje, kako implementirati in uvesti rešitev z uporabo Komplet za razvoj oblaka AWS (AWS CDK) v izolirani Navidezni zasebni oblak Amazon (Amazon VPC), sestavljeno samo iz zasebnih podomrežij. Kodo uporabljamo tudi za prikaz, kako lahko uporabljate AWS CDK ogrodje ponudnika, mini okvir za implementacijo ponudnika za Oblikovanje oblaka AWS vire po meri za ustvarjanje, posodabljanje ali brisanje vira po meri, kot je končna točka Amazon Comprehend. Končna točka Amazon Comprehend vključuje upravljane vire, s katerimi je vaš model po meri na voljo za sklepanje v realnem času odjemalskemu računalniku ali aplikacijam tretjih oseb. The kodo za to rešitev je na voljo na Githubu.

AWS CDK uporabljate za uvajanje infrastrukture, kode aplikacije in konfiguracije za rešitev. Potrebujete tudi račun AWS in možnost ustvarjanja virov AWS. AWS CDK uporabljate za ustvarjanje virov AWS, kot je VPC z zasebnimi podomrežji, Končne točke Amazon VPC, Elastični datotečni sistem Amazon (Amazon EFS), an Amazon Simple notification Service (Amazon SNS) tema, an Preprosta storitev shranjevanja Amazon (Amazon S3) vedro, Obvestila o dogodkih Amazon S3in AWS Lambda funkcije. Ti viri AWS skupaj sestavljajo sklad za usposabljanje, ki ga uporabljate za izdelavo in usposabljanje modela klasifikatorja po meri.

Ko ustvarite te vire AWS, prenesete nabor podatkov SEOSS in naložite nabor podatkov v vedro S3, ki ga ustvari rešitev. Če uvajate to rešitev v regiji AWS us-east-2, je oblika imena vedra S3 comprehendcustom--us-east-2-s3stack. Rešitev uporablja večdelni sprožilec nalaganja Amazon S3 za priklic funkcije Lambda, ki začne predhodno obdelavo vhodnih podatkov, in uporablja vnaprej obdelane podatke za usposabljanje klasifikatorja po meri Amazon Comprehend za ustvarjanje modela klasifikatorja po meri. Nato uporabite ime vira Amazon (ARN) modela klasifikatorja po meri, da ustvarite sklop sklepanja, ki ustvari končno točko Amazon Comprehend z uporabo AWS CDK ogrodje ponudnika, ki ga lahko nato uporabite za sklepanje iz aplikacije ali odjemalskega računalnika tretje osebe.

Naslednji diagram ponazarja arhitekturo vadbenega sklada.

Koraki poteka dela so naslednji:

  1. Naložite nabor podatkov SEOSS v vedro S3, ustvarjeno kot del postopka uvajanja vadbenega sklada. To ustvari sprožilec dogodka, ki prikliče etl_lambda Funkcija.
  2. O etl_lambda funkcija prenese nabor neobdelanih podatkov iz Amazon S3 v Amazon EFS.
  3. O etl_lambda funkcija izvaja nalogo predprocesiranja podatkov nabora podatkov SEOSS.
  4. Ko je izvajanje funkcije končano, naloži transformirane podatke z prepped_data predpono za vedro S3.
  5. Ko je nalaganje transformiranih podatkov končano, se Amazon SNS pošlje sporočilo o uspešnem zaključku ETL.
  6. V Amazon Comprehend lahko razvrstite svoje dokumente z uporabo dveh načinov: večrazredni ali večoznačni. Način z več razredi identificira en in samo en razred za vsak dokument, način z več oznakami pa identificira eno ali več oznak za vsak dokument. Ker želimo vsakemu dokumentu identificirati en razred, urimo model klasifikatorja po meri v večrazrednem načinu. Amazon SNS sproži train_classifier_lambda funkcija, ki sproži usposabljanje klasifikatorja Amazon Comprehend v večrazrednem načinu.
  7. O train_classifier_lambda funkcija sproži usposabljanje klasifikatorja po meri Amazon Comprehend.
  8. Amazon Comprehend prenese preoblikovane podatke iz prepped_data predpono v Amazon S3 za usposabljanje modela klasifikatorja po meri.
  9. Ko je usposabljanje modela končano, Amazon Comprehend naloži model.tar.gz datoteko na output_data predpono vedra S3. Povprečni dokončani čas za usposabljanje tega modela klasifikatorja po meri je približno 10 ur.
  10. Sprožilec nalaganja Amazon S3 prikliče extract_comprehend_model_name_lambda funkcijo, ki pridobi model klasifikatorja po meri ARN.
  11. Funkcija ekstrahira model klasifikatorja po meri ARN iz tovora dogodka S3 in odziva list-document-classifiers klic.
  12. Funkcija pošlje ARN modela klasifikatorja po meri na e-poštni naslov, na katerega ste se prej naročili kot del postopka ustvarjanja učnega sklada. Ta ARN nato uporabite za razmestitev sklepnega sklada.

Ta uvedba ustvari sklepni sklad, kot je prikazano na naslednji sliki. Sklad sklepanja vam nudi API REST, zaščiten z AWS upravljanje identitete in dostopa (IAM), ki ga lahko nato uporabite za generiranje rezultatov zaupanja oznak na podlagi vhodnega besedila, posredovanega iz aplikacije tretje osebe ali odjemalskega stroja.

Arhitektura sklepnega sklada

Predpogoji

Za to predstavitev bi morali imeti naslednje predpogoje:

  • An AWS račun.
  • Python 3.7 ali novejši, Node.jsin git v razvojnem stroju. AWS CDK uporablja posebne različice Node.js (>=10.13.0, razen različice 13.0.0 – 13.6.0). Priporočena je različica v aktivni dolgoročni podpori (LTS).
    Če želite namestiti aktivno LTS različico Node.js, lahko uporabite naslednje namestiti skript za nvm in uporaba nvm do namestitev različica Node.js LTS. Trenutno aktivno LTS Node.js lahko namestite tudi prek upravitelja paketov, odvisno od operacijskega sistema po vaši izbiri.

    Za macOS lahko Node.js namestite prek upravitelja paketov z naslednjim Navodila.

    Za Windows lahko Node.js namestite prek upravitelja paketov z naslednjim Navodila.

  • AWS CDK v2 je vnaprej nameščen, če uporabljate AWS Cloud9 IDE. Če uporabljate AWS Cloud9 IDE, lahko ta korak preskočite. Če v razvojni napravi nimate nameščenega AWS CDK, namestite AWS CDK v2 globalno z ukazom Node Package Manager npm install -g aws-cdk. Ta korak zahteva, da je Node.js nameščen v razvojni stroj.
  • Konfigurirajte svoje poverilnice AWS za dostop in ustvarjanje virov AWS z uporabo AWS CDK. Za navodila glejte Določanje poverilnic in regije.
  • Prenos Nabor podatkov SEOSS ki ga sestavljajo zahteve, poročila o napakah, zgodovina kode in povezave za sledenje 33 projektov odprtokodne programske opreme. Shranite datoteko dataverse_files.zip na vašem lokalnem računalniku.

Nabor podatkov SEOSS

Razmestite vadbeni sklad AWS CDK

Za uvedbo AWS CDK začnemo z učnim skladom. Izvedite naslednje korake:

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

  1. Pomaknite se na amazon-comprehend-custom-automate-classification-it-service-request mapa:
$ cd amazon-comprehend-custom-automate-classification-it-service-request/

Vsi naslednji ukazi se izvajajo znotraj amazon-comprehend-custom-automate-classification-it-service-request imenik.

  1. V imeniku amazon-comprehend-custom-automate-classification-it-service-request inicializirajte virtualno okolje Python in namestite requirements.txt s pipom:
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip install -r requirements.txt

  1. Če prvič uporabljate AWS CDK v določenem računu AWS in regiji, si oglejte navodila za zagon vašega okolja AWS CDK:
$ cdk bootstrap aws:///

  1. Sintetizirajte predloge CloudFormation za to rešitev z uporabo cdk synth in uporaba cdk deploy za ustvarjanje prej omenjenih virov AWS:
$ cdk synth
$ cdk deploy VPCStack EFSStack S3Stack SNSStack ExtractLoadTransformEndPointCreateStack --parameters SNSStack:emailaddressarnnotification=

Ko vstopite cdk deploy, vas AWS CDK pozove, ali želite razmestiti spremembe za vsakega od skladov, priklicanih v ukazu cdk deploy.

  1. Vnesite y za vsak od pozivov za ustvarjanje sklada, potem korak razmestitve cdk ustvari te sklade. Naročite se na e-poštni naslov, ki ste ga posredovali, na temo SNS, ustvarjeno kot del uvedbe cdk.
  2. Po uspešni uvedbi cdk ustvarite mapo z imenom raw_data v vedru S3 comprehendcustom---s3stack.
  3. Naložite nabor podatkov SEOSS dataverse_files.zip ki ste jih prej prenesli v to mapo.

Ko je nalaganje končano, rešitev prikliče etl_lambda funkcijo z uporabo sprožilca dogodka Amazon S3 za zagon postopka ekstrahiranja, preoblikovanja in nalaganja (ETL). Ko se postopek ETL uspešno zaključi, se temi SNS pošlje sporočilo, ki prikliče train_classifier_lambda funkcijo. Ta funkcija sproži usposabljanje modela klasifikatorja po meri Amazon Comprehend. Usposabljanje lahko traja do 10 ur, odvisno od tega, ali svoj model usposabljate na celotnem nizu podatkov SEOSS. Ko je proces usposabljanja končan, Amazon Comprehend naloži model.tar.gz datoteko na output_data predpono v vedru S3.

Ta prenos sproži extract_comprehend_model_name_lambda funkcijo z uporabo sprožilca dogodka S3, ki izvleče model klasifikatorja po meri ARN in ga pošlje na e-poštni naslov, na katerega ste se prej naročili. Ta model klasifikatorja po meri ARN se nato uporabi za ustvarjanje sklada sklepanja. Ko je usposabljanje za model končano, si lahko ogledate meritve učinkovitosti modela klasifikatorja po meri tako, da se pomaknete do razdelka s podrobnostmi o različici v konzoli Amazon Comprehend (glejte naslednji posnetek zaslona) ali z uporabo Amazon Comprehend Boto3 SDK.

Meritve uspešnosti

Razmestite sklepni sklad AWS CDK

Zdaj ste pripravljeni na uvedbo sklada sklepanja.

  1. Kopirajte model klasifikatorja po meri ARN iz prejetega e-poštnega sporočila in uporabite naslednje cdk deploy ukaz za ustvarjanje sklepnega sklada.

Ta ukaz razmesti API Gateway REST, zaščiten z avtorizatorjem IAM, ki ga uporabljate za sklepanje z ID-jem uporabnika AWS ali vlogo IAM, ki ima samo privilegij execute-api:Invoke IAM. Naslednji ukaz cdk deploy razmesti sklepni sklad. Ta sklad uporablja AWS CDK ogrodje ponudnika ustvariti končno točko Amazon Comprehend kot vir po meri, tako da je ustvarjanje, brisanje in posodabljanje končne točke Amazon Comprehend mogoče izvesti kot del življenjskega cikla sklada sklepanja z ukazoma cdk deploy in cdk destroy.

Ker morate naslednji ukaz zagnati po končanem usposabljanju modela, kar lahko traja do 10 ur, zagotovite, da ste v virtualnem okolju Python, ki ste ga inicializirali v prejšnjem koraku, in v amazon-comprehend-custom-automate-classification-it-service-request imenik:

$ cdk deploy APIGWInferenceStack --parameters APIGWInferenceStack:documentclassifierarn=

Na primer:

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

  1. Po cdk deploy ukaz uspešno dokončan, kopirajte APIGWInferenceStack.ComprehendCustomClassfierInvokeAPI vrednost iz izhoda konzole in uporabite ta REST API za ustvarjanje sklepov iz odjemalskega računalnika ali aplikacije tretje osebe, ki ima execute-api:Invoke IAM privilegij. Če uporabljate to rešitev v us-east-2, je format tega API-ja REST https://.execute-api.us-east-2.amazonaws.com/prod/invokecomprehendV1.

Lahko pa uporabite testnega odjemalca apiclientinvoke.py iz repozitorija GitHub, da pošljete zahtevo modelu klasifikatorja po meri. Pred uporabo apiclientinvoke.py se prepričajte, da so izpolnjeni naslednji predpogoji:

  • Imate boto3 in requests Paket Python, nameščen z uporabo pip na odjemalskem računalniku.
  • Konfigurirali ste poverilnice Boto3. Testni odjemalec privzeto predpostavlja, da je prisoten profil z imenom default in ima execute-api:Invoke Privilegij IAM na API-ju REST.
  • SigV4Auth kaže na regijo, kjer je razporejen REST API. Posodobite vrednost v us-east-2 in apiclientinvoke.py če je vaš REST API nameščen v us-east-2.
  • Dodelili ste raw_data spremenljivka z besedilom, na katerem želite narediti napoved razreda ali zahtevo za klasifikacijo:
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."""

  • Dodelili ste restapi spremenljivka s predhodno kopiranim API-jem REST:

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

  1. Zaženi apiclientinvoke.py po prejšnjih posodobitvah:
$ python3 apiclientinvoke.py

Od modela klasifikatorja po meri prejmete naslednji odgovor:

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

Amazon Comprehend vrne ocene zaupanja za vsako oznako, ki jo je pravilno dodelil. Če je storitev zelo prepričana o oznaki, bo rezultat bližje 1. Zato za model klasifikatorja po meri Amazon Comprehend, ki je bil usposobljen z naborom podatkov SEOSS, model klasifikatorja po meri predvideva, da besedilo pripada razredu SPARK. To razvrstitev, ki jo vrne model klasifikatorja po meri Amazon Comprehend, je nato mogoče uporabiti za razvrščanje zahtevkov za storitve IT ali napovedovanje pravilne kategorije zahtevkov za storitve IT, s čimer se zmanjšajo ročne napake ali napačna klasifikacija zahtevkov za storitve.

Čiščenje

Če želite počistiti vse vire, ustvarjene v tej objavi, ki so bili ustvarjeni kot del učnega sklada in sklada sklepanja, uporabite naslednji ukaz. Ta ukaz izbriše vse vire AWS, ustvarjene kot del prejšnjih ukazov za uvedbo cdk:

$ cdk destroy --all

zaključek

V tej objavi smo vam pokazali, kako lahko podjetja implementirajo nadzorovani model ML z uporabo klasifikacije po meri Amazon Comprehend za predvidevanje kategorije zahtevkov za storitve IT glede na predmet ali opis zahteve, ki jo predloži končni uporabnik. Ko zgradite in usposobite model klasifikatorja po meri, lahko zaženete analizo v realnem času za klasifikacijo po meri, tako da ustvarite končno točko. Ko ta model uvedete v končno točko Amazon Comprehend, ga lahko uporabite za izvajanje sklepanja v realnem času s strani aplikacij tretjih oseb ali drugih odjemalskih strojev, vključno z orodji za upravljanje storitev IT. To sklepanje lahko nato uporabite za napovedovanje kategorije napake in zmanjšanje ročnih napak ali napačnih klasifikacij vstopnic. To pomaga zmanjšati zamude pri reševanju zahtevkov ter poveča natančnost reševanja in produktivnost strank, kar na koncu povzroči večje zadovoljstvo strank.

Koncepte v tej objavi lahko razširite na druge primere uporabe, kot je usmerjanje poslovnih ali IT vstopnic za različne notranje ekipe, kot so poslovni oddelki, agenti za pomoč uporabnikom in IT podpora stopnje 2/3, ki jih ustvarijo končni uporabniki ali prek avtomatiziranih pomeni.

Reference

  • Rath, Michael; Mäder, Patrick, 2019, »Nabor podatkov SEOSS – zahteve, poročila o napakah, zgodovina kode in povezave za sledenje za celotne projekte«, https://doi.org/10.7910/DVN/PDDZ4Q, Harvard Dataverse, V1

O avtorjih

Avtomatizirajte klasifikacijo zahtevkov za storitve IT s klasifikatorjem po meri Amazon Comprehend PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Arnab Chakraborty je starejši arhitekt rešitev pri AWS s sedežem v Cincinnatiju v Ohiu. Navdušen je nad temami arhitekture podjetij in rešitev, podatkovne analitike, brezstrežniškega in strojnega učenja. V prostem času rad gleda filme, popotniške oddaje in šport.

VirusnaAvtomatizirajte klasifikacijo zahtevkov za storitve IT s klasifikatorjem po meri Amazon Comprehend PlatoBlockchain Data Intelligence. Navpično iskanje. Ai. Desai je glavni arhitekt rešitev pri AWS. Z več kot 25-letnimi izkušnjami na področju informacijske tehnologije strankam pomaga pri sprejemanju AWS in posodobitvi njihovih arhitektur. Rad ima pohodništvo in uživa v globokem potapljanju s strankami o vsem, kar zadeva AWS.

Časovni žig:

Več od Strojno učenje AWS