Zautomatyzuj klasyfikację zgłoszeń serwisowych IT za pomocą niestandardowego klasyfikatora Amazon Comprehend PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Zautomatyzuj klasyfikację zgłoszeń serwisowych za pomocą niestandardowego klasyfikatora Amazon Comprehend

Przedsiębiorstwa często mają do czynienia z dużą liczbą zgłoszeń serwisowych IT. Tradycyjnie na zleceniodawcy spoczywa obowiązek wybrania właściwej kategorii dla każdego problemu. Ręczny błąd lub błędna klasyfikacja zgłoszenia zwykle oznacza opóźnienie w rozwiązaniu zgłoszenia serwisowego IT. Może to skutkować zmniejszeniem wydajności, zmniejszeniem zadowolenia klientów, wpływem na umowy dotyczące poziomu usług (SLA) i szerszymi skutkami operacyjnymi. Wraz z rozwojem przedsiębiorstwa problem z dostarczeniem odpowiedniego zgłoszenia serwisowego do właściwego zespołu staje się jeszcze ważniejszy. Korzystanie z podejścia opartego na uczeniu maszynowym (ML) i sztucznej inteligencji może pomóc w zaspokajaniu stale zmieniających się potrzeb przedsiębiorstwa.

Nadzorowana ML to proces, który wykorzystuje oznakowane zestawy danych i dane wyjściowe do uczenia algorytmów uczenia się, jak klasyfikować dane lub przewidywać wynik. Amazon Comprehend to usługa przetwarzania języka naturalnego (NLP), która wykorzystuje ML do odkrywania cennych informacji i połączeń w tekście. Udostępnia interfejsy API obsługiwane przez ML do wyodrębniania fraz kluczowych, encji, analizy nastrojów i nie tylko.

W tym poście pokazujemy, jak wdrożyć nadzorowany model ML, który może pomóc w automatycznej klasyfikacji zgłoszeń serwisowych IT za pomocą Niestandardowa klasyfikacja Amazon Comprehend. Niestandardowa klasyfikacja Amazon Comprehend pomaga dostosować Amazon Comprehend do konkretnych wymagań bez umiejętności wymaganych do tworzenia rozwiązań NLP opartych na ML. Dzięki automatycznej ML lub AutoML niestandardowa klasyfikacja Amazon Comprehend tworzy w Twoim imieniu niestandardowe modele NLP, korzystając z dostarczonych przez Ciebie danych treningowych.

Przegląd rozwiązania

Aby zilustrować klasyfikację zgłoszeń serwisowych IT, w tym rozwiązaniu zastosowano: Zbiór danych SEOSS. Ten zestaw danych jest systematycznie pobieranym zestawem danych składającym się z 33 projektów oprogramowania typu open source, które zawierają dużą liczbę wpisanych artefaktów i śledzenia powiązań między nimi. To rozwiązanie wykorzystuje dane problemów z tych 33 projektów typu open source, podsumowań i opisów zgłoszonych przez użytkowników końcowych do zbudowania niestandardowego modelu klasyfikatora przy użyciu Amazon Comprehend.

Ten post pokazuje, jak zaimplementować i wdrożyć rozwiązanie za pomocą Zestaw programistyczny AWS Cloud (AWS CDK) w izolowanym Wirtualna prywatna chmura Amazon (Amazon VPC) środowisko składające się wyłącznie z prywatnych podsieci. Używamy również kodu, aby zademonstrować, jak można korzystać z AWS CDK platforma dostawcy, mini-framework do wdrożenia dostawcy dla Tworzenie chmury AWS zasoby niestandardowe do tworzenia, aktualizowania lub usuwania zasobu niestandardowego, takiego jak punkt końcowy Amazon Comprehend. Punkt końcowy Amazon Comprehend zawiera zarządzane zasoby, dzięki którym Twój model niestandardowy jest dostępny do wnioskowania w czasie rzeczywistym na komputerze klienckim lub aplikacjach innych firm. The kod tego rozwiązania jest dostępny na Github.

AWS CDK służy do wdrażania infrastruktury, kodu aplikacji i konfiguracji rozwiązania. Potrzebujesz również konta AWS i możliwości tworzenia zasobów AWS. Używasz AWS CDK do tworzenia zasobów AWS, takich jak VPC z prywatnymi podsieciami, Punkty końcowe Amazon VPC, System plików Amazon Elastic (Amazon EFS) Usługa prostego powiadomienia Amazon (Amazon SNS) temat, an Usługa Amazon Simple Storage (Amazon S3) łyżka, Powiadomienia o zdarzeniach Amazon S3, AWS Lambda Funkcje. Łącznie te zasoby AWS stanowią stos treningowy, którego używasz do budowania i trenowania niestandardowego modelu klasyfikatora.

Po utworzeniu tych zasobów AWS pobierasz zestaw danych SEOSS i przesyłasz go do zasobnika S3 utworzonego przez rozwiązanie. Jeśli wdrażasz to rozwiązanie w regionie AWS us-east-2, format nazwy zasobnika S3 to comprehendcustom--us-east-2-s3stack. Rozwiązanie wykorzystuje wieloczęściowy wyzwalacz przesyłania Amazon S3 do wywołania funkcji Lambda, która rozpoczyna wstępne przetwarzanie danych wejściowych i wykorzystuje wstępnie przetworzone dane do trenowania niestandardowego klasyfikatora Amazon Comprehend w celu utworzenia niestandardowego modelu klasyfikatora. Następnie używasz nazwy zasobów Amazon (ARN) niestandardowego modelu klasyfikatora, aby utworzyć stos wnioskowania, który tworzy punkt końcowy Amazon Comprehend za pomocą AWS CDK platforma dostawcy, którego można następnie użyć do wnioskowania z aplikacji innej firmy lub komputera klienckiego.

Poniższy diagram ilustruje architekturę stosu szkoleniowego.

Kroki przepływu pracy są następujące:

  1. Prześlij zbiór danych SEOSS do zasobnika S3 utworzonego w ramach procesu wdrażania stosu szkoleniowego. Tworzy to wyzwalacz zdarzenia, który wywołuje etl_lambda funkcja.
  2. Połączenia etl_lambda funkcja pobiera surowy zestaw danych z Amazon S3 do Amazon EFS.
  3. Połączenia etl_lambda funkcja wykonuje zadanie wstępnego przetwarzania danych zbioru danych SEOSS.
  4. Po zakończeniu wykonywania funkcji przesyła przekształcone dane za pomocą prepped_data prefiks do wiadra S3.
  5. Po zakończeniu przesyłania przekształconych danych do Amazon SNS wysyłany jest komunikat o pomyślnym zakończeniu ETL.
  6. W Amazon Comprehend możesz klasyfikować swoje dokumenty przy użyciu dwóch trybów: wieloklasowego lub wieloetykietowego. Tryb wielu klas identyfikuje jedną i tylko jedną klasę dla każdego dokumentu, a tryb wielu etykiet identyfikuje jedną lub więcej etykiet dla każdego dokumentu. Ponieważ chcemy identyfikować pojedynczą klasę w każdym dokumencie, szkolimy niestandardowy model klasyfikatora w trybie wieloklasowym. Amazon SNS uruchamia train_classifier_lambda funkcja inicjująca szkolenie klasyfikatora Amazon Comprehend w trybie wieloklasowym.
  7. Połączenia train_classifier_lambda Funkcja inicjuje szkolenie niestandardowego klasyfikatora Amazon Comprehend.
  8. Amazon Comprehend pobiera przekształcone dane z prepped_data prefiks w Amazon S3 do trenowania niestandardowego modelu klasyfikatora.
  9. Po zakończeniu szkolenia modelowego Amazon Comprehend przesyła model.tar.gz plik do output_data przedrostek wiadra S3. Średni czas ukończenia trenowania tego niestandardowego modelu klasyfikatora wynosi około 10 godzin.
  10. Wyzwalacz przesyłania Amazon S3 wywołuje extract_comprehend_model_name_lambda funkcja, która pobiera niestandardowy model klasyfikatora ARN.
  11. Funkcja wyodrębnia niestandardowy model klasyfikatora ARN z ładunku zdarzenia S3 i odpowiedzi list-document-classifiers połączenie.
  12. Funkcja wysyła ARN niestandardowego modelu klasyfikatora na adres e-mail, który subskrybowałeś wcześniej w ramach procesu tworzenia stosu szkoleniowego. Następnie użyj tej ARN do wdrożenia stosu wnioskowania.

To wdrożenie tworzy stos wnioskowania, jak pokazano na poniższym rysunku. Stos wnioskowania zapewnia interfejs API REST zabezpieczony przez AWS Zarządzanie tożsamością i dostępem Autoryzator (IAM), którego można następnie użyć do wygenerowania ocen ufności etykiet na podstawie tekstu wejściowego dostarczonego z aplikacji innej firmy lub komputera klienckiego.

Architektura stosu wnioskowania

Wymagania wstępne

W przypadku tego demo powinieneś mieć następujące wymagania wstępne:

  • An Konto AWS.
  • Python 3.7 lub nowszy, node.js, git w maszynie deweloperskiej. AWS CDK używa określonych wersji Node.js (>=10.13.0, z wyjątkiem wersji 13.0.0 – 13.6.0). Zalecana jest wersja z aktywnym wsparciem długoterminowym (LTS).
    Aby zainstalować aktywną wersję LTS Node.js, możesz użyć następującego zainstaluj skrypt dla nvm I użyć nvm do zainstalować wersja Node.js LTS. Możesz także zainstalować aktualnie aktywny LTS Node.js za pomocą menedżera pakietów, w zależności od wybranego systemu operacyjnego.

    W przypadku macOS możesz zainstalować Node.js za pomocą menedżera pakietów, korzystając z następującego instrukcje.

    W systemie Windows możesz zainstalować Node.js za pomocą menedżera pakietów, korzystając z poniższych instrukcje.

  • AWS CDK v2 jest preinstalowany, jeśli używasz Chmura AWS9 IDE. Jeśli używasz AWS Cloud9 IDE, możesz pominąć ten krok. Jeśli nie masz zainstalowanego pakietu AWS CDK na komputerze deweloperskim, zainstaluj AWS CDK v2 globalnie za pomocą polecenia Node Package Manager npm install -g aws-cdk. Ten krok wymaga zainstalowania Node.js na maszynie deweloperskiej.
  • Skonfiguruj swoje poświadczenia AWS, aby uzyskać dostęp do zasobów AWS i tworzyć je za pomocą AWS CDK. Aby uzyskać instrukcje, zobacz Określanie poświadczeń i regionu.
  • Pobierz Zbiór danych SEOSS składający się z wymagań, raportów o błędach, historii kodu i linków śledzenia 33 projektów oprogramowania typu open source. Zapisz plik dataverse_files.zip na twojej lokalnej maszynie.

Zbiór danych SEOSS

Wdróż stos treningowy AWS CDK

W przypadku wdrożenia AWS CDK zaczynamy od stosu szkoleniowego. Wykonaj następujące kroki:

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

  1. Nawiguj do amazon-comprehend-custom-automate-classification-it-service-request folder:
$ cd amazon-comprehend-custom-automate-classification-it-service-request/

Wszystkie poniższe polecenia są uruchamiane w ramach amazon-comprehend-custom-automate-classification-it-service-request katalogiem.

  1. W katalogu amazon-comprehend-custom-automate-classification-it-service-request zainicjuj środowisko wirtualne Python i zainstaluj plik Requirements.txt za pomocą pip:
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip install -r requirements.txt

  1. Jeśli po raz pierwszy używasz AWS CDK na określonym koncie i regionie AWS, zapoznaj się z instrukcjami dla ładowanie środowiska AWS CDK:
$ cdk bootstrap aws:///

  1. Zsyntetuj szablony CloudFormation dla tego rozwiązania za pomocą cdk synth I użyć cdk deploy do tworzenia wspomnianych wcześniej zasobów AWS:
$ cdk synth
$ cdk deploy VPCStack EFSStack S3Stack SNSStack ExtractLoadTransformEndPointCreateStack --parameters SNSStack:emailaddressarnnotification=

Po wejściu cdk deploy, AWS CDK pyta, czy chcesz wdrożyć zmiany dla każdego stosu wywołanego w poleceniu wdrażania cdk.

  1. Wchodzę y dla każdego monitu o utworzenie stosu, krok wdrażania cdk tworzy te stosy. Zasubskrybuj adres e-mail podany przez Ciebie w temacie SNS utworzonym w ramach wdrażania cdk.
  2. Po pomyślnym zakończeniu wdrażania z cdk utwórz folder o nazwie raw_data w wiadrze S3 comprehendcustom---s3stack.
  3. Prześlij zbiór danych SEOSS dataverse_files.zip pobranych wcześniej do tego folderu.

Po zakończeniu przesyłania rozwiązanie wywołuje etl_lambda za pomocą wyzwalacza zdarzeń Amazon S3, aby rozpocząć proces wyodrębniania, przekształcania i ładowania (ETL). Po pomyślnym zakończeniu procesu ETL do tematu SNS wysyłana jest wiadomość, która wywołuje train_classifier_lambda funkcjonować. Ta funkcja uruchamia uczenie niestandardowego modelu klasyfikatora Amazon Comprehend. W zależności od tego, czy trenujesz swój model na pełnym zbiorze danych SEOSS, trenowanie może potrwać do 10 godzin. Po zakończeniu procesu szkoleniowego Amazon Comprehend przesyła model.tar.gz plik do output_data prefiks w wiadrze S3.

To przesyłanie uruchamia extract_comprehend_model_name_lambda funkcja wykorzystująca wyzwalacz zdarzenia S3, który wyodrębnia niestandardowy model klasyfikatora ARN i wysyła go na wcześniej zasubskrybowany adres e-mail. Ten niestandardowy model klasyfikatora ARN jest następnie używany do tworzenia stosu wnioskowania. Po zakończeniu szkolenia modelu można wyświetlić metryki wydajności niestandardowego modelu klasyfikatora, przechodząc do sekcji szczegółów wersji w konsoli Amazon Comprehend (patrz poniższy zrzut ekranu) lub korzystając z Amazon Comprehend Pakiet SDK Boto3.

Wskaźniki wydajności

Wdróż stos wnioskowania AWS CDK

Teraz jesteś gotowy do wdrożenia stosu wnioskowania.

  1. Skopiuj model klasyfikatora niestandardowego ARN z otrzymanej wiadomości e-mail i użyj następującego cdk deploy polecenie, aby utworzyć stos wnioskowania.

To polecenie wdraża interfejs API REST bramy interfejsu API zabezpieczony przez autoryzację uprawnień, którego używasz do wnioskowania z identyfikatorem użytkownika AWS lub rolą uprawnień, która ma tylko uprawnienie execute-api:Invoke IAM. Następujące polecenie wdrożenia cdk wdraża stos wnioskowania. Ten stos używa AWS CDK platforma dostawcy aby utworzyć punkt końcowy Amazon Comprehend jako zasób niestandardowy, tak aby tworzenie, usuwanie i aktualizowanie punktu końcowego Amazon Comprehend można było wykonać w ramach cyklu życia stosu wnioskowania za pomocą poleceń cdk deploy i cdk destroy.

Ponieważ musisz uruchomić następujące polecenie po zakończeniu uczenia modelu, co może potrwać do 10 godzin, upewnij się, że znajdujesz się w środowisku wirtualnym Python, które zostało zainicjowane we wcześniejszym kroku i w amazon-comprehend-custom-automate-classification-it-service-request katalog:

$ cdk deploy APIGWInferenceStack --parameters APIGWInferenceStack:documentclassifierarn=

Na przykład:

$ 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 polecenie zakończy się pomyślnie, skopiuj APIGWInferenceStack.ComprehendCustomClassfierInvokeAPI wartości z danych wyjściowych konsoli i użyj tego interfejsu API REST do generowania wniosków z komputera klienckiego lub aplikacji innej firmy, która ma execute-api:Invoke Uprawnienie do uprawnień. Jeśli używasz tego rozwiązania w us-east-2, format tego interfejsu API REST to https://.execute-api.us-east-2.amazonaws.com/prod/invokecomprehendV1.

Alternatywnie możesz użyć klienta testowego apiclientinvoke.py z repozytorium GitHub, aby wysłać żądanie do niestandardowego modelu klasyfikatora. Przed użyciem apiclientinvoke.py upewnij się, że spełnione są następujące wymagania wstępne:

  • Masz boto3 i requests Pakiet Pythona zainstalowany przy użyciu pip na maszynie klienta.
  • Skonfigurowałeś poświadczenia Boto3. Domyślnie klient testowy zakłada, że ​​istnieje profil o nazwie domyślny i ma on: execute-api:Invoke Uprawnienia do REST API.
  • SigV4Auth wskazuje region, w którym wdrożono interfejs API REST. Zaktualizuj wartość druga us-east-2 in apiclientinvoke.py jeśli Twój REST API jest wdrożony w us-east-2.
  • Przypisałeś raw_data zmienna z tekstem, na którym chcesz wykonać prognozę klasy lub żądanie klasyfikacji:
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."""

  • Przypisałeś restapi zmienna z wcześniej skopiowanym REST API:

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

  1. Uruchom apiclientinvoke.py po poprzednich aktualizacjach:
$ python3 apiclientinvoke.py

Otrzymasz następującą odpowiedź z modelu klasyfikatora niestandardowego:

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

Amazon Comprehend zwraca ocenę zaufania dla każdej etykiety, którą prawidłowo przypisał. Jeśli usługa ma dużą pewność co do etykiety, wynik będzie bliższy 1. Dlatego w przypadku niestandardowego modelu klasyfikatora Amazon Comprehend, który został wytrenowany przy użyciu zestawu danych SEOSS, niestandardowy model klasyfikatora przewiduje, że tekst należy do klasy SPARK. Ta klasyfikacja zwrócona przez niestandardowy model klasyfikatora Amazon Comprehend może być następnie wykorzystana do klasyfikacji zgłoszeń serwisowych IT lub przewidywania prawidłowej kategorii zgłoszeń serwisowych IT, redukując w ten sposób błędy ręczne lub błędną klasyfikację zgłoszeń serwisowych.

Sprzątać

Aby wyczyścić wszystkie zasoby utworzone w tym poście, które zostały utworzone jako część stosu szkoleniowego i stosu wnioskowania, użyj następującego polecenia. To polecenie usuwa wszystkie zasoby AWS utworzone w ramach poprzednich poleceń wdrażania cdk:

$ cdk destroy --all

Wnioski

W tym poście pokazaliśmy, jak przedsiębiorstwa mogą wdrożyć nadzorowany model ML przy użyciu niestandardowej klasyfikacji Amazon Comprehend do przewidywania kategorii zgłoszeń usług IT na podstawie tematu lub opisu zgłoszenia przesłanego przez użytkownika końcowego. Po skompilowaniu i wytrenowaniu niestandardowego modelu klasyfikatora możesz uruchomić analizę w czasie rzeczywistym dla klasyfikacji niestandardowej, tworząc punkt końcowy. Po wdrożeniu tego modelu w punkcie końcowym Amazon Comprehend można go używać do uruchamiania wnioskowania w czasie rzeczywistym przez aplikacje innych firm lub inne komputery klienckie, w tym narzędzia do zarządzania usługami IT. Następnie możesz użyć tego wnioskowania, aby przewidzieć kategorię defektu i zmniejszyć liczbę błędów ręcznych lub błędnej klasyfikacji zgłoszeń. Pomaga to zmniejszyć opóźnienia w rozwiązywaniu zgłoszeń i zwiększa dokładność rozwiązywania oraz produktywność klientów, co ostatecznie skutkuje większą satysfakcją klientów.

Możesz rozszerzyć koncepcje zawarte w tym poście na inne przypadki użycia, takie jak kierowanie zgłoszeń biznesowych lub IT do różnych zespołów wewnętrznych, takich jak działy biznesowe, agenci obsługi klienta i wsparcie IT na poziomie 2/3, tworzone przez użytkowników końcowych lub przez zautomatyzowane oznacza.

Referencje

  • Rath, Michael; Mäder, Patrick, 2019, „Zestaw danych SEOSS — wymagania, raporty o błędach, historia kodu i linki śledzenia dla całych projektów”, https://doi.org/10.7910/DVN/PDDZ4Q, Harvard Dataverse, V1

O autorach

Zautomatyzuj klasyfikację zgłoszeń serwisowych IT za pomocą niestandardowego klasyfikatora Amazon Comprehend PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Arnaba Chakraborty’ego jest starszym architektem rozwiązań w AWS z siedzibą w Cincinnati w stanie Ohio. Pasjonuje się tematami związanymi z architekturą korporacyjną i rozwiązaniami, analizą danych, bezserwerowym i uczeniem maszynowym. W wolnym czasie lubi oglądać filmy, programy podróżnicze i sport.

WirusowyZautomatyzuj klasyfikację zgłoszeń serwisowych IT za pomocą niestandardowego klasyfikatora Amazon Comprehend PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI. Desai jest głównym architektem rozwiązań w AWS. Dzięki ponad 25-letniemu doświadczeniu w technologii informacyjnej pomaga klientom wdrażać AWS i modernizować ich architektury. Lubi piesze wędrówki i lubi nurkować z klientami na wszystkie tematy związane z AWS.

Znak czasu:

Więcej z Uczenie maszynowe AWS