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:
- 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. - Połączenia
etl_lambda
funkcja pobiera surowy zestaw danych z Amazon S3 do Amazon EFS. - Połączenia
etl_lambda
funkcja wykonuje zadanie wstępnego przetwarzania danych zbioru danych SEOSS. - Po zakończeniu wykonywania funkcji przesyła przekształcone dane za pomocą
prepped_data
prefiks do wiadra S3. - Po zakończeniu przesyłania przekształconych danych do Amazon SNS wysyłany jest komunikat o pomyślnym zakończeniu ETL.
- 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. - Połączenia
train_classifier_lambda
Funkcja inicjuje szkolenie niestandardowego klasyfikatora Amazon Comprehend. - Amazon Comprehend pobiera przekształcone dane z
prepped_data
prefiks w Amazon S3 do trenowania niestandardowego modelu klasyfikatora. - Po zakończeniu szkolenia modelowego Amazon Comprehend przesyła
model.tar.gz
plik dooutput_data
przedrostek wiadra S3. Średni czas ukończenia trenowania tego niestandardowego modelu klasyfikatora wynosi około 10 godzin. - Wyzwalacz przesyłania Amazon S3 wywołuje
extract_comprehend_model_name_lambda
funkcja, która pobiera niestandardowy model klasyfikatora ARN. - Funkcja wyodrębnia niestandardowy model klasyfikatora ARN z ładunku zdarzenia S3 i odpowiedzi
list-document-classifiers
połączenie. - 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.
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 dlanvm
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.
Wdróż stos treningowy AWS CDK
W przypadku wdrożenia AWS CDK zaczynamy od stosu szkoleniowego. Wykonaj następujące kroki:
- Sklonuj repozytorium GitHub:
- Nawiguj do
amazon-comprehend-custom-automate-classification-it-service-request
folder:
Wszystkie poniższe polecenia są uruchamiane w ramach amazon-comprehend-custom-automate-classification-it-service-request
katalogiem.
- W katalogu amazon-comprehend-custom-automate-classification-it-service-request zainicjuj środowisko wirtualne Python i zainstaluj plik Requirements.txt za pomocą pip:
- 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:
- Zsyntetuj szablony CloudFormation dla tego rozwiązania za pomocą
cdk synth
I użyćcdk deploy
do tworzenia wspomnianych wcześniej zasobów AWS:
Po wejściu cdk deploy
, AWS CDK pyta, czy chcesz wdrożyć zmiany dla każdego stosu wywołanego w poleceniu wdrażania cdk.
- 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. - Po pomyślnym zakończeniu wdrażania z cdk utwórz folder o nazwie
raw_data
w wiadrze S3comprehendcustom---s3stack
. - 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.
Wdróż stos wnioskowania AWS CDK
Teraz jesteś gotowy do wdrożenia stosu wnioskowania.
- 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:
Na przykład:
- Po
cdk deploy
polecenie zakończy się pomyślnie, skopiujAPIGWInferenceStack.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 maexecute-api:Invoke
Uprawnienie do uprawnień. Jeśli używasz tego rozwiązania w us-east-2, format tego interfejsu API REST tohttps://.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
irequests
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
inapiclientinvoke.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:
- Przypisałeś
restapi
zmienna z wcześniej skopiowanym REST API:
restapi="https://.execute-api.us-east-2.amazonaws.com/prod/invokecomprehendV1"
- Uruchom
apiclientinvoke.py
po poprzednich aktualizacjach:
Otrzymasz następującą odpowiedź z modelu klasyfikatora niestandardowego:
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:
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
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.
Wirusowy 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.
- Zaawansowane (300)
- AI
- ai sztuka
- generator sztuki ai
- masz robota
- Amazon Comprehend
- sztuczna inteligencja
- certyfikacja sztucznej inteligencji
- sztuczna inteligencja w bankowości
- robot sztucznej inteligencji
- roboty sztucznej inteligencji
- oprogramowanie sztucznej inteligencji
- Uczenie maszynowe AWS
- blockchain
- konferencja blockchain ai
- pomysłowość
- sztuczna inteligencja konwersacyjna
- konferencja kryptograficzna
- Dall's
- głęboka nauka
- google to
- Średni (200)
- uczenie maszynowe
- plato
- Platon Ai
- Analiza danych Platona
- Gra Platona
- PlatoDane
- platogaming
- skala ai
- składnia
- Instrukcje techniczne
- zefirnet