Автоматизуйте класифікацію запитів на ІТ-послуги за допомогою спеціального класифікатора Amazon Comprehend PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Автоматизуйте класифікацію запитів на ІТ-послуги за допомогою спеціального класифікатора Amazon Comprehend

Підприємства часто мають справу з великими обсягами запитів на ІТ-послуги. Традиційно вибір правильної категорії для кожного питання покладається на запитувача. Помилка вручну або неправильна класифікація квитка зазвичай означає затримку у вирішенні запиту на ІТ-послуги. Це може призвести до зниження продуктивності, зниження задоволеності клієнтів, впливу на угоди про рівень обслуговування (SLA) і ширшого операційного впливу. У міру того як ваше підприємство росте, проблема отримання правильного запиту на послугу правильній команді стає ще важливішою. Використання підходу, заснованого на машинному навчанні (ML) і штучному інтелекті, може допомогти задовольнити потреби вашого підприємства, що постійно змінюються.

Контрольоване ML – це процес, який використовує позначені набори даних і результати для навчання алгоритмів навчання тому, як класифікувати дані або передбачити результат. «Амазонка» це служба обробки природної мови (NLP), яка використовує ML для виявлення цінних ідей і зв’язків у тексті. Він надає API на основі ML для вилучення ключових фраз, сутностей, аналізу настроїв тощо.

У цьому дописі ми покажемо вам, як реалізувати керовану модель ML, яка може допомогти автоматично класифікувати запити на ІТ-послуги за допомогою Спеціальна класифікація Amazon Comprehend. Спеціальна класифікація Amazon Comprehend допоможе вам налаштувати Amazon Comprehend відповідно до ваших конкретних вимог без набору навичок, необхідних для створення рішень NLP на основі машинного навчання. За допомогою автоматичного ML або AutoML спеціальна класифікація Amazon Comprehend створює налаштовані моделі NLP від ​​вашого імені, використовуючи навчальні дані, які ви надаєте.

Огляд рішення

Щоб проілюструвати класифікацію запитів на ІТ-послуги, це рішення використовує Набір даних SEOSS. Цей набір даних — це систематично отриманий набір даних, що складається з 33 проектів програмного забезпечення з відкритим кодом, який містить велику кількість типізованих артефактів і трасування зв’язків між ними. Це рішення використовує дані про проблеми з цих 33 проектів із відкритим вихідним кодом, підсумки й описи, як повідомляють кінцеві користувачі, для створення спеціальної моделі класифікатора за допомогою Amazon Comprehend.

Ця публікація демонструє, як реалізувати та розгорнути рішення за допомогою Набір хмарних розробок AWS (AWS CDK) в ізольованому Віртуальна приватна хмара Amazon (Amazon VPC), що складається лише з приватних підмереж. Ми також використовуємо код, щоб продемонструвати, як ви можете використовувати AWS CDK структура провайдера, міні-фреймворк для впровадження провайдера для AWS CloudFormation спеціальні ресурси для створення, оновлення або видалення спеціального ресурсу, наприклад кінцевої точки Amazon Comprehend. Кінцева точка Amazon Comprehend включає керовані ресурси, які роблять вашу спеціальну модель доступною для визначення в режимі реального часу на клієнтській машині або програмах сторонніх розробників. The код для цього рішення доступний на Github.

Ви використовуєте AWS CDK для розгортання інфраструктури, коду програми та конфігурації рішення. Вам також потрібен обліковий запис AWS і можливість створювати ресурси AWS. Ви використовуєте AWS CDK для створення ресурсів AWS, таких як VPC із приватними підмережами, Кінцеві точки Amazon VPC, Еластична файлова система Amazon (Amazon EFS), ан Служба простих сповіщень Amazon (Amazon SNS) тема, ан Служба простого зберігання Amazon (Amazon S3) відро, Сповіщення про події Amazon S3 та AWS Lambda функції. У сукупності ці ресурси AWS складають навчальний стек, який ви використовуєте для побудови та навчання спеціальної моделі класифікатора.

Після створення цих ресурсів AWS ви завантажуєте набір даних SEOSS і завантажуєте набір даних у сегмент S3, створений рішенням. Якщо ви розгортаєте це рішення в AWS Region us-east-2, формат назви сегмента S3 такий comprehendcustom--us-east-2-s3stack. Рішення використовує багатокомпонентний тригер завантаження Amazon S3 для виклику функції Lambda, яка починає попередню обробку вхідних даних, і використовує попередньо оброблені дані для навчання спеціального класифікатора Amazon Comprehend для створення спеціальної моделі класифікатора. Потім ви використовуєте назву ресурсу Amazon (ARN) спеціальної моделі класифікатора, щоб створити стек висновків, який створює кінцеву точку Amazon Comprehend за допомогою AWS CDK структура провайдера, який потім можна використовувати для висновків із програми третьої сторони або клієнтської машини.

Наступна діаграма ілюструє архітектуру навчального стеку.

Етапи робочого процесу такі:

  1. Завантажте набір даних SEOSS у сегмент S3, створений як частина процесу розгортання навчального стеку. Це створює тригер події, який викликає etl_lambda функції.
  2. Команда etl_lambda функція завантажує набір необроблених даних з Amazon S3 в Amazon EFS.
  3. Команда etl_lambda функція виконує завдання попередньої обробки даних набору даних SEOSS.
  4. Після завершення виконання функції вона завантажує перетворені дані prepped_data префікс до відра S3.
  5. Після завершення завантаження перетворених даних на Amazon SNS надсилається повідомлення про успішне завершення ETL.
  6. В Amazon Comprehend ви можете класифікувати свої документи за допомогою двох режимів: багатокласового або багатоміткового. Багатокласовий режим визначає один і тільки один клас для кожного документа, а режим кількох міток визначає одну або більше міток для кожного документа. Оскільки ми хочемо ідентифікувати окремий клас для кожного документа, ми навчаємо спеціальну модель класифікатора в багатокласовому режимі. Amazon SNS запускає train_classifier_lambda функція, яка ініціює навчання класифікатора Amazon Comprehend у багатокласовому режимі.
  7. Команда train_classifier_lambda ініціює навчання спеціального класифікатора Amazon Comprehend.
  8. Amazon Comprehend завантажує перетворені дані з prepped_data префікс в Amazon S3 для навчання спеціальної моделі класифікатора.
  9. Після завершення навчання моделі Amazon Comprehend завантажує model.tar.gz файл до output_data префікс відра S3. Середній час завершення навчання цієї спеціальної моделі класифікатора становить приблизно 10 годин.
  10. Тригер завантаження Amazon S3 викликає extract_comprehend_model_name_lambda функція, яка отримує власну модель класифікатора ARN.
  11. Функція витягує спеціальну модель класифікатора ARN із корисного навантаження події S3 і відповіді list-document-classifiers дзвінок.
  12. Функція надсилає настроювану модель класифікатора ARN на адресу електронної пошти, яку ви підписали раніше, як частину процесу створення навчального стека. Потім ви використовуєте цей ARN для розгортання стеку висновків.

Це розгортання створює стек висновків, як показано на малюнку нижче. Стек висновків надає вам REST API, захищений за допомогою Управління ідентифікацією та доступом AWS (IAM), який потім можна використовувати для генерування балів надійності міток на основі вхідного тексту, наданого сторонньою програмою або клієнтською машиною.

Архітектура стеку висновків

Передумови

Для цієї демонстрації ви повинні мати наступні передумови:

  • An Обліковий запис AWS.
  • Python 3.7 або новішої версії, Node.js та Git в машині розробки. AWS CDK використовує певні версії Node.js (>=10.13.0, за винятком версій 13.0.0 – 13.6.0). Рекомендується версія з активною довгостроковою підтримкою (LTS).
    Щоб установити активну LTS-версію Node.js, ви можете скористатися наступним скрипт встановлення та цінності nvm І використовувати nvm до встановлювати версія Node.js LTS. Ви також можете інсталювати поточний активний LTS Node.js через менеджер пакунків залежно від операційної системи, яку ви вибрали.

    Для macOS ви можете встановити Node.js через менеджер пакунків, використовуючи наступне інструкції.

    Для Windows ви можете інсталювати Node.js через менеджер пакунків, використовуючи наступне інструкції.

  • AWS CDK v2 попередньо встановлено, якщо ви використовуєте AWS Cloud9 IDE. Якщо ви використовуєте AWS Cloud9 IDE, ви можете пропустити цей крок. Якщо у вас не встановлено AWS CDK на машині розробки, інсталюйте AWS CDK v2 глобально за допомогою команди Node Package Manager npm install -g aws-cdk. Цей крок вимагає встановлення Node.js на машині розробки.
  • Налаштуйте свої облікові дані AWS для доступу та створення ресурсів AWS за допомогою AWS CDK. Інструкції див Вказівка ​​облікових даних і регіону.
  • Завантажити Набір даних SEOSS складається з вимог, звітів про помилки, історії коду та трасування посилань 33 проектів програмного забезпечення з відкритим кодом. Збережіть файл dataverse_files.zip на локальній машині.

Набір даних SEOSS

Розгорніть навчальний стек AWS CDK

Для розгортання AWS CDK ми починаємо з навчального стеку. Виконайте наступні дії:

  1. Клонуйте репозиторій GitHub:
$ git clone https://github.com/aws-samples/amazon-comprehend-custom-automate-classification-it-service-request.git

  1. перейдіть до amazon-comprehend-custom-automate-classification-it-service-request папка:
$ cd amazon-comprehend-custom-automate-classification-it-service-request/

Усі наступні команди виконуються всередині amazon-comprehend-custom-automate-classification-it-service-request каталог.

  1. У каталозі amazon-comprehend-custom-automate-classification-it-service-request ініціалізуйте віртуальне середовище Python і встановіть requirements.txt з pip:
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip install -r requirements.txt

  1. Якщо ви вперше використовуєте AWS CDK у певному обліковому записі AWS і регіоні, перегляньте інструкції для завантаження середовища AWS CDK:
$ cdk bootstrap aws:///

  1. Синтезуйте шаблони CloudFormation для цього рішення за допомогою cdk synth І використовувати cdk deploy щоб створити ресурси AWS, згадані раніше:
$ cdk synth
$ cdk deploy VPCStack EFSStack S3Stack SNSStack ExtractLoadTransformEndPointCreateStack --parameters SNSStack:emailaddressarnnotification=

Після входу cdk deploy, AWS CDK підкаже, чи бажаєте ви розгорнути зміни для кожного зі стеків, викликаних командою cdk deploy.

  1. Що натомість? Створіть віртуальну версію себе у y для кожного із запитів створення стека, тоді крок розгортання cdk створює ці стеки. Підпишіться на надану вами адресу електронної пошти на тему SNS, створену в рамках розгортання cdk.
  2. Після успішного завершення розгортання cdk створіть папку під назвою raw_data у відрі S3 comprehendcustom---s3stack.
  3. Завантажте набір даних SEOSS dataverse_files.zip які ви завантажили раніше в цю папку.

Після завершення завантаження рішення викликає etl_lambda за допомогою тригера події Amazon S3 для запуску процесу вилучення, перетворення та завантаження (ETL). Після успішного завершення процесу ETL до теми SNS надсилається повідомлення, яке викликає train_classifier_lambda функція. Ця функція запускає навчання моделі спеціального класифікатора Amazon Comprehend. Залежно від того, чи навчаєте ви модель на повному наборі даних SEOSS, навчання може тривати до 10 годин. Після завершення процесу навчання Amazon Comprehend завантажує файл model.tar.gz файл до output_data префікс у відрі S3.

Це завантаження ініціює extract_comprehend_model_name_lambda за допомогою тригера події S3, який витягує спеціальну модель класифікатора ARN і надсилає її на адресу електронної пошти, на яку ви підписалися раніше. Ця спеціальна модель класифікатора ARN потім використовується для створення стеку висновків. Після завершення навчання моделі ви можете переглянути показники продуктивності спеціальної моделі класифікатора, перейшовши до розділу деталей версії на консолі Amazon Comprehend (перегляньте наступний знімок екрана) або за допомогою Amazon Comprehend Boto3 SDK.

Показники ефективності

Розгорніть стек висновків AWS CDK

Тепер ви готові до розгортання стеку висновків.

  1. Скопіюйте спеціальну модель класифікатора ARN з отриманого вами електронного листа та використовуйте наступне cdk deploy команда для створення стека висновків.

Ця команда розгортає API REST API Gateway, захищений авторизатором IAM, який ви використовуєте для висновку з ідентифікатором користувача AWS або роллю IAM, яка має лише привілей execute-api:Invoke IAM. Наступна команда cdk deploy розгортає стек висновків. Цей стек використовує AWS CDK структура провайдера щоб створити кінцеву точку Amazon Comprehend як спеціальний ресурс, щоб створення, видалення та оновлення кінцевої точки Amazon Comprehend можна було виконувати як частину життєвого циклу стеку висновків за допомогою команд cdk deploy і cdk destroy.

Оскільки вам потрібно виконати наступну команду після завершення навчання моделі, яке може тривати до 10 годин, переконайтеся, що ви перебуваєте у віртуальному середовищі Python, яке ви ініціалізували на попередньому кроці, і в amazon-comprehend-custom-automate-classification-it-service-request каталог:

$ cdk deploy APIGWInferenceStack --parameters APIGWInferenceStack:documentclassifierarn=

Наприклад:

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

  1. Після cdk deploy команда успішно завершена, скопіюйте APIGWInferenceStack.ComprehendCustomClassfierInvokeAPI значення з виводу консолі та використовуйте цей REST API для створення висновків із клієнтської машини або сторонньої програми, яка execute-api:Invoke привілей IAM. Якщо ви використовуєте це рішення в us-east-2, формат цього REST API є https://.execute-api.us-east-2.amazonaws.com/prod/invokecomprehendV1.

Крім того, ви можете використовувати тестовий клієнт apiclientinvoke.py зі сховища GitHub, щоб надіслати запит до спеціальної моделі класифікатора. Перш ніж використовувати apiclientinvoke.py, переконайтеся, що виконано такі передумови:

  • У вас є boto3 та requests Пакет Python інстальовано за допомогою pip на клієнтській машині.
  • Ви налаштували облікові дані Boto3. За замовчуванням тестовий клієнт припускає, що присутній профіль із назвою default і він має execute-api:Invoke Привілеї IAM для REST API.
  • SigV4Auth вказує на регіон, де розгорнуто REST API. Оновити цінність до us-east-2 in apiclientinvoke.py якщо ваш REST API розгорнуто в us-east-2.
  • Ви призначили raw_data змінна з текстом, для якого ви хочете зробити прогноз класу або запит класифікації:
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."""

  • Ви призначили restapi змінна з REST API, скопійованим раніше:

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

  1. Запустіть apiclientinvoke.py після попередніх оновлень:
$ python3 apiclientinvoke.py

Ви отримуєте таку відповідь від спеціальної моделі класифікатора:

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

Amazon Comprehend повертає оцінки надійності для кожної мітки, яку він правильно присвоїв. Якщо служба дуже впевнена щодо мітки, оцінка буде ближчою до 1. Тому для спеціальної моделі класифікатора Amazon Comprehend, яка була навчена за допомогою набору даних SEOSS, модель спеціального класифікатора передбачає, що текст належить до класу SPARK. Цю класифікацію, яку повертає користувацька модель класифікатора Amazon Comprehend, можна використовувати для класифікації запитів на ІТ-послуги або прогнозування правильної категорії запитів на ІТ-послуги, тим самим зменшуючи помилки вручну або неправильну класифікацію запитів на обслуговування.

Прибирати

Щоб очистити всі ресурси, створені в цьому дописі, які були створені як частина стека навчання та стека висновків, скористайтеся такою командою. Ця команда видаляє всі ресурси AWS, створені в рамках попередніх команд cdk deploy:

$ cdk destroy --all

Висновок

У цій публікації ми показали вам, як підприємства можуть запровадити керовану модель ML за допомогою спеціальної класифікації Amazon Comprehend для прогнозування категорії запитів на ІТ-послуги на основі теми або опису запиту, надісланого кінцевим користувачем. Після того, як ви побудуєте та навчите модель спеціального класифікатора, ви зможете запустити аналіз у реальному часі для спеціальної класифікації, створивши кінцеву точку. Після розгортання цієї моделі на кінцевій точці Amazon Comprehend її можна буде використовувати для запуску висновків у реальному часі програмами сторонніх розробників або іншими клієнтськими машинами, включаючи інструменти керування ІТ-послугами. Потім ви можете використовувати цей висновок, щоб передбачити категорію дефекту та зменшити помилки вручну або неправильну класифікацію квитків. Це допомагає зменшити затримки для вирішення запитів і підвищує точність вирішення та продуктивність клієнтів, що в кінцевому підсумку призводить до підвищення задоволеності клієнтів.

Ви можете поширити концепції в цій публікації на інші випадки використання, такі як маршрутизація бізнес-замовлень або ІТ-квитків до різних внутрішніх груп, таких як бізнес-відділи, агенти з обслуговування клієнтів та ІТ-підтримка рівня 2/3, створені або кінцевими користувачами, або за допомогою автоматизованих засоби.

посилання

  • Рат, Майкл; Медер, Патрік, 2019, «Набір даних SEOSS – вимоги, звіти про помилки, історія коду та відстеження посилань для цілих проектів», https://doi.org/10.7910/DVN/PDDZ4Q, Harvard Dataverse, V1

Про авторів

Автоматизуйте класифікацію запитів на ІТ-послуги за допомогою спеціального класифікатора Amazon Comprehend PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Арнаб Чакраборті є старшим архітектором рішень в AWS із Цинциннаті, штат Огайо. Він захоплений темами корпоративної архітектури та рішень, аналітики даних, безсерверного використання та машинного навчання. У вільний час він любить дивитися фільми, подорожі та спорт.

ВіруснийАвтоматизуйте класифікацію запитів на ІТ-послуги за допомогою спеціального класифікатора Amazon Comprehend PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai. Desai є головним архітектором рішень в AWS. Маючи понад 25 років досвіду в інформаційних технологіях, він допомагає клієнтам адаптувати AWS і модернізувати їхні архітектури. Він любить піші прогулянки та занурюється з клієнтами на все, що стосується AWS.

Часова мітка:

Більше від AWS Машинне навчання