Otomatiskan klasifikasi permintaan layanan TI dengan pengklasifikasi khusus Amazon Comprehend, PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Mengotomatiskan klasifikasi permintaan layanan TI dengan pengklasifikasi khusus Amazon Comprehend

Perusahaan sering menangani permintaan layanan TI dalam jumlah besar. Secara tradisional, beban diletakkan pada pemohon untuk memilih kategori yang benar untuk setiap masalah. Kesalahan manual atau kesalahan klasifikasi tiket biasanya berarti keterlambatan dalam menyelesaikan permintaan layanan TI. Hal ini dapat mengakibatkan penurunan produktivitas, penurunan kepuasan pelanggan, dampak pada perjanjian tingkat layanan (SLA), dan dampak operasional yang lebih luas. Seiring pertumbuhan perusahaan Anda, masalah mendapatkan permintaan layanan yang tepat kepada tim yang tepat menjadi semakin penting. Menggunakan pendekatan berdasarkan pembelajaran mesin (ML) dan kecerdasan buatan dapat membantu kebutuhan perusahaan Anda yang terus berkembang.

Supervised ML adalah proses yang menggunakan kumpulan data dan keluaran berlabel untuk melatih algoritme pembelajaran tentang cara mengklasifikasikan data atau memprediksi hasil. Amazon Comprehend adalah layanan pemrosesan bahasa alami (NLP) yang menggunakan ML untuk mengungkap wawasan dan koneksi berharga dalam teks. Ini menyediakan API yang didukung oleh ML untuk mengekstrak frasa kunci, entitas, analisis sentimen, dan banyak lagi.

Dalam posting ini, kami menunjukkan kepada Anda cara menerapkan model ML yang diawasi yang dapat membantu mengklasifikasikan permintaan layanan TI secara otomatis menggunakan Amazon Memahami klasifikasi khusus. Klasifikasi kustom Amazon Comprehend membantu Anda menyesuaikan Amazon Comprehend untuk kebutuhan spesifik Anda tanpa keahlian yang diperlukan untuk membangun solusi NLP berbasis ML. Dengan ML otomatis, atau AutoML, klasifikasi kustom Amazon Comprehend membangun model NLP yang disesuaikan atas nama Anda, menggunakan data pelatihan yang Anda berikan.

Ikhtisar solusi

Untuk mengilustrasikan klasifikasi permintaan layanan TI, solusi ini menggunakan: kumpulan data SEOSS. Kumpulan data ini adalah kumpulan data yang diambil secara sistematis yang terdiri dari 33 proyek perangkat lunak sumber terbuka yang berisi sejumlah besar artefak yang diketik dan tautan jejak di antara mereka. Solusi ini menggunakan data masalah dari 33 proyek sumber terbuka, ringkasan, dan deskripsi seperti yang dilaporkan oleh pengguna akhir untuk membangun model pengklasifikasi kustom menggunakan Amazon Comprehend.

Posting ini menunjukkan bagaimana menerapkan dan menyebarkan solusi menggunakan Kit Pengembangan AWS Cloud (AWS CDK) dalam keadaan terisolasi Cloud Pribadi Virtual Amazon (Amazon VPC) lingkungan yang hanya terdiri dari subnet pribadi. Kami juga menggunakan kode untuk mendemonstrasikan bagaimana Anda dapat menggunakan AWS CDK kerangka kerja penyedia, kerangka kerja mini untuk mengimplementasikan penyedia untuk Formasi AWS Cloud sumber daya khusus untuk membuat, memperbarui, atau menghapus sumber daya khusus, seperti titik akhir Amazon Comprehend. Titik akhir Amazon Comprehend mencakup sumber daya terkelola yang membuat model kustom Anda tersedia untuk inferensi waktu nyata ke mesin klien atau aplikasi pihak ketiga. Itu kode untuk solusi ini tersedia di Github.

Anda menggunakan AWS CDK untuk menerapkan infrastruktur, kode aplikasi, dan konfigurasi untuk solusi. Anda juga memerlukan akun AWS dan kemampuan untuk membuat sumber daya AWS. Anda menggunakan AWS CDK untuk membuat sumber daya AWS seperti VPC dengan subnet pribadi, Titik akhir Amazon VPC, Sistem File Amazon Elastis (Amazon EFS), dan Layanan Pemberitahuan Sederhana Amazon (Amazon SNS) topik, dan Layanan Penyimpanan Sederhana Amazon (Amazon S3) ember, Pemberitahuan acara Amazon S3, dan AWS Lambda fungsi. Secara kolektif, sumber daya AWS ini merupakan tumpukan pelatihan, yang Anda gunakan untuk membangun dan melatih model pengklasifikasi khusus.

Setelah Anda membuat sumber daya AWS ini, Anda mengunduh dataset SEOSS dan mengunggah dataset ke bucket S3 yang dibuat oleh solusi. Jika Anda menerapkan solusi ini di Wilayah AWS us-east-2, format nama bucket S3 adalah comprehendcustom--us-east-2-s3stack. Solusinya menggunakan pemicu unggahan multi-bagian Amazon S3 untuk memanggil fungsi Lambda yang memulai pra-pemrosesan data input, dan menggunakan data yang telah diproses sebelumnya untuk melatih pengklasifikasi khusus Amazon Comprehend untuk membuat model pengklasifikasi khusus. Anda kemudian menggunakan Amazon Resource Name (ARN) dari model pengklasifikasi kustom untuk membuat tumpukan inferensi, yang membuat titik akhir Amazon Comprehend menggunakan AWS CDK kerangka kerja penyedia, yang kemudian dapat Anda gunakan untuk inferensi dari aplikasi pihak ketiga atau mesin klien.

Diagram berikut mengilustrasikan arsitektur tumpukan pelatihan.

Langkah-langkah alur kerjanya adalah sebagai berikut:

  1. Unggah set data SEOSS ke bucket S3 yang dibuat sebagai bagian dari proses penerapan tumpukan pelatihan. Ini menciptakan pemicu peristiwa yang memanggil etl_lambda fungsi.
  2. Grafik etl_lambda fungsi mengunduh kumpulan data mentah dari Amazon S3 ke Amazon EFS.
  3. Grafik etl_lambda fungsi melakukan tugas preprocessing data dari dataset SEOSS.
  4. Ketika eksekusi fungsi selesai, itu mengunggah data yang diubah dengan prepped_data awalan ke ember S3.
  5. Setelah pengunggahan data yang diubah selesai, pesan penyelesaian ETL yang berhasil dikirim ke Amazon SNS.
  6. Di Amazon Comprehend, Anda dapat mengklasifikasikan dokumen Anda menggunakan dua mode: multi-kelas atau multi-label. Mode multi-kelas mengidentifikasi satu dan hanya satu kelas untuk setiap dokumen, dan mode multi-label mengidentifikasi satu atau lebih label untuk setiap dokumen. Karena kami ingin mengidentifikasi satu kelas untuk setiap dokumen, kami melatih model pengklasifikasi khusus dalam mode multi-kelas. Amazon SNS memicu train_classifier_lambda fungsi, yang memulai pelatihan pengklasifikasi Amazon Comprehend dalam mode multi-kelas.
  7. Grafik train_classifier_lambda function memulai pelatihan pengklasifikasi kustom Amazon Comprehend.
  8. Amazon Comprehend mengunduh data yang diubah dari prepped_data awalan di Amazon S3 untuk melatih model pengklasifikasi khusus.
  9. Saat pelatihan model selesai, Amazon Comprehend mengunggah model.tar.gz file ke output_data awalan ember S3. Waktu penyelesaian rata-rata untuk melatih model pengklasifikasi khusus ini adalah sekitar 10 jam.
  10. Pemicu pengunggahan Amazon S3 memanggil extract_comprehend_model_name_lambda fungsi, yang mengambil model pengklasifikasi kustom ARN.
  11. Fungsi ini mengekstrak model pengklasifikasi khusus ARN dari payload acara S3 dan respons dari list-document-classifiers panggilan.
  12. Fungsi tersebut mengirimkan model pengklasifikasi kustom ARN ke alamat email yang telah Anda langgani sebelumnya sebagai bagian dari proses pembuatan tumpukan pelatihan. Anda kemudian menggunakan ARN ini untuk menyebarkan tumpukan inferensi.

Deployment ini membuat tumpukan inferensi, seperti yang ditunjukkan pada gambar berikut. Tumpukan inferensi memberi Anda REST API yang diamankan oleh Identitas AWS dan Manajemen Akses (IAM), yang kemudian dapat Anda gunakan untuk menghasilkan skor kepercayaan label berdasarkan teks input yang disediakan dari aplikasi pihak ketiga atau mesin klien.

Arsitektur tumpukan inferensi

Prasyarat

Untuk demo ini, Anda harus memiliki prasyarat berikut:

  • An Akun AWS.
  • Python 3.7 atau lebih baru, Node.js, dan pergi dalam mesin pengembangan. AWS CDK menggunakan versi Node.js tertentu (>=10.13.0, kecuali untuk versi 13.0.0 – 13.6.0). Versi dalam dukungan jangka panjang aktif (LTS) direkomendasikan.
    Untuk menginstal versi LTS aktif dari Node.js, Anda dapat menggunakan yang berikut: instal skrip untuk nvm Dan gunakan nvm untuk install versi Node.js LTS. Anda juga dapat menginstal LTS Node.js aktif saat ini melalui manajer paket tergantung pada sistem operasi pilihan Anda.

    Untuk macOS, Anda dapat menginstal Node.js melalui manajer paket menggunakan yang berikut: instruksi.

    Untuk Windows, Anda dapat menginstal Node.js melalui manajer paket menggunakan yang berikut: instruksi.

  • AWS CDK v2 sudah diinstal sebelumnya jika Anda menggunakan AWS Cloud9 ide. Jika Anda menggunakan AWS Cloud9 IDE, Anda dapat melewati langkah ini. Jika Anda belum menginstal AWS CDK di mesin pengembangan, instal AWS CDK v2 secara global menggunakan perintah Node Package Manager npm install -g aws-cdk. Langkah ini mengharuskan Node.js untuk diinstal di mesin pengembangan.
  • Konfigurasikan kredensial AWS Anda untuk mengakses dan membuat sumber daya AWS menggunakan AWS CDK. Untuk petunjuk, lihat Menentukan kredensial dan wilayah.
  • Download kumpulan data SEOSS terdiri dari persyaratan, laporan bug, riwayat kode, dan tautan jejak dari 33 proyek perangkat lunak sumber terbuka. Simpan filenya dataverse_files.zip di mesin lokal Anda.

kumpulan data SEOSS

Terapkan tumpukan pelatihan AWS CDK

Untuk penerapan AWS CDK, kita mulai dengan tumpukan pelatihan. Selesaikan langkah-langkah berikut:

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

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

Semua perintah berikut dijalankan dalam amazon-comprehend-custom-automate-classification-it-service-request direktori.

  1. Di direktori amazon-comprehend-custom-automate-classification-it-service-request, inisialisasi lingkungan virtual Python dan instal requirements.txt dengan pip:
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip install -r requirements.txt

  1. Jika Anda menggunakan AWS CDK di akun dan Wilayah AWS tertentu untuk pertama kalinya, lihat instruksi untuk bootstrap lingkungan AWS CDK Anda:
$ cdk bootstrap aws:///

  1. Sintesis template CloudFormation untuk solusi ini menggunakan cdk synth Dan gunakan cdk deploy untuk membuat sumber daya AWS yang disebutkan sebelumnya:
$ cdk synth
$ cdk deploy VPCStack EFSStack S3Stack SNSStack ExtractLoadTransformEndPointCreateStack --parameters SNSStack:emailaddressarnnotification=

Setelah Anda masuk cdk deploy, AWS CDK menanyakan apakah Anda ingin menerapkan perubahan untuk setiap tumpukan yang dipanggil dalam perintah penerapan cdk.

  1. Enter y untuk setiap permintaan pembuatan tumpukan, maka langkah penyebaran cdk membuat tumpukan ini. Berlangganan alamat email yang Anda berikan ke topik SNS yang dibuat sebagai bagian dari penyebaran cdk.
  2. Setelah penyebaran cdk selesai dengan sukses, buat folder bernama raw_data di ember S3 comprehendcustom---s3stack.
  3. Unggah kumpulan data SEOSS dataverse_files.zip yang Anda unduh sebelumnya ke folder ini.

Setelah pengunggahan selesai, solusinya memanggil etl_lambda berfungsi menggunakan pemicu peristiwa Amazon S3 untuk memulai proses ekstrak, transformasi, dan muat (ETL). Setelah proses ETL selesai dengan sukses, sebuah pesan dikirim ke topik SNS, yang memanggil train_classifier_lambda fungsi. Fungsi ini memicu pelatihan model pengklasifikasi kustom Amazon Comprehend. Bergantung pada apakah Anda melatih model Anda pada set data SEOSS lengkap, pelatihan bisa memakan waktu hingga 10 jam. Saat proses pelatihan selesai, Amazon Comprehend mengunggah model.tar.gz file ke output_data awalan di ember S3.

Unggahan ini memicu extract_comprehend_model_name_lambda fungsi menggunakan pemicu peristiwa S3 yang mengekstrak model pengklasifikasi kustom ARN dan mengirimkannya ke alamat email yang telah Anda langgani sebelumnya. Model pengklasifikasi kustom ARN ini kemudian digunakan untuk membuat tumpukan inferensi. Saat pelatihan model selesai, Anda dapat melihat metrik kinerja model pengklasifikasi kustom dengan menavigasi ke bagian detail versi di konsol Amazon Comprehend (lihat tangkapan layar berikut), atau dengan menggunakan Amazon Comprehend SDK Boto3.

Metrik kinerja

Terapkan tumpukan inferensi AWS CDK

Sekarang Anda siap untuk menerapkan tumpukan inferensi.

  1. Salin model pengklasifikasi khusus ARN dari email yang Anda terima dan gunakan yang berikut: cdk deploy perintah untuk membuat tumpukan inferensi.

Perintah ini menyebarkan API Gateway REST API yang diamankan oleh pembuat IAM, yang Anda gunakan untuk inferensi dengan ID pengguna AWS atau peran IAM yang hanya memiliki hak istimewa execute-api:Invoke IAM. Perintah penyebaran cdk berikut menyebarkan tumpukan inferensi. Tumpukan ini menggunakan AWS CDK kerangka kerja penyedia untuk membuat titik akhir Amazon Comprehend sebagai sumber daya khusus, sehingga membuat, menghapus, dan memperbarui titik akhir Amazon Comprehend dapat dilakukan sebagai bagian dari siklus hidup tumpukan inferensi menggunakan perintah cdk deploy dan cdk destroy.

Karena Anda perlu menjalankan perintah berikut setelah pelatihan model selesai, yang dapat memakan waktu hingga 10 jam, pastikan bahwa Anda berada di lingkungan virtual Python yang Anda inisialisasi pada langkah sebelumnya dan di amazon-comprehend-custom-automate-classification-it-service-request direktori:

$ cdk deploy APIGWInferenceStack --parameters APIGWInferenceStack:documentclassifierarn=

Sebagai contoh:

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

  1. Setelah cdk deploy perintah selesai dengan sukses, salin APIGWInferenceStack.ComprehendCustomClassfierInvokeAPI nilai dari output konsol, dan gunakan REST API ini untuk menghasilkan kesimpulan dari mesin klien atau aplikasi pihak ketiga yang memiliki execute-api:Invoke hak istimewa IAM. Jika Anda menjalankan solusi ini di us-east-2, format REST API ini adalah https://.execute-api.us-east-2.amazonaws.com/prod/invokecomprehendV1.

Atau, Anda dapat menggunakan klien uji apiclientinvoke.py dari repositori GitHub untuk mengirim permintaan ke model pengklasifikasi khusus. Sebelum menggunakan apiclientinvoke.py, pastikan prasyarat berikut sudah ada:

  • Kamu punya boto3 dan requests Paket Python diinstal menggunakan pip pada mesin klien.
  • Anda telah mengonfigurasi kredensial Boto3. Secara default, klien pengujian mengasumsikan bahwa profil bernama default ada dan memiliki execute-api:Invoke Hak istimewa IAM di REST API.
  • SigV4Auth menunjuk ke Wilayah tempat REST API di-deploy. Perbarui nilai untuk us-east-2 in apiclientinvoke.py jika REST API Anda di-deploy di us-east-2.
  • Anda telah menetapkan raw_data variabel dengan teks yang Anda inginkan untuk membuat prediksi kelas atau permintaan klasifikasi:
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."""

  • Anda telah menetapkan restapi variabel dengan REST API yang disalin sebelumnya:

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

  1. Jalankan apiclientinvoke.py setelah pembaruan sebelumnya:
$ python3 apiclientinvoke.py

Anda mendapatkan respons berikut dari model pengklasifikasi khusus:

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

Amazon Comprehend mengembalikan skor keyakinan untuk setiap label yang telah dikaitkan dengan benar. Jika layanan sangat yakin tentang suatu label, skor akan mendekati 1. Oleh karena itu, untuk model pengklasifikasi kustom Amazon Comprehend yang dilatih menggunakan set data SEOSS, model pengklasifikasi kustom memprediksi bahwa teks termasuk dalam kelas SPARK. Klasifikasi ini dikembalikan oleh model pengklasifikasi kustom Amazon Comprehend kemudian dapat digunakan untuk mengklasifikasikan permintaan layanan TI atau memprediksi kategori yang benar dari permintaan layanan TI, sehingga mengurangi kesalahan manual atau kesalahan klasifikasi permintaan layanan.

Membersihkan

Untuk membersihkan semua sumber daya yang dibuat dalam posting ini yang dibuat sebagai bagian dari tumpukan pelatihan dan tumpukan inferensi, gunakan perintah berikut. Perintah ini menghapus semua sumber daya AWS yang dibuat sebagai bagian dari perintah penerapan cdk sebelumnya:

$ cdk destroy --all

Kesimpulan

Dalam posting ini, kami menunjukkan kepada Anda bagaimana perusahaan dapat menerapkan model ML yang diawasi menggunakan klasifikasi kustom Amazon Comprehend untuk memprediksi kategori permintaan layanan TI berdasarkan subjek atau deskripsi permintaan yang diajukan oleh pengguna akhir. Setelah Anda membuat dan melatih model pengklasifikasi khusus, Anda dapat menjalankan analisis waktu nyata untuk klasifikasi khusus dengan membuat titik akhir. Setelah Anda menerapkan model ini ke titik akhir Amazon Comprehend, model ini dapat digunakan untuk menjalankan inferensi waktu nyata oleh aplikasi pihak ketiga atau mesin klien lainnya, termasuk alat manajemen layanan TI. Anda kemudian dapat menggunakan inferensi ini untuk memprediksi kategori cacat dan mengurangi kesalahan manual atau kesalahan klasifikasi tiket. Ini membantu mengurangi penundaan untuk resolusi tiket dan meningkatkan akurasi resolusi dan produktivitas pelanggan, yang pada akhirnya menghasilkan peningkatan kepuasan pelanggan.

Anda dapat memperluas konsep dalam posting ini ke kasus penggunaan lain, seperti merutekan tiket bisnis atau TI ke berbagai tim internal seperti departemen bisnis, agen layanan pelanggan, dan dukungan TI Tingkat 2/3, yang dibuat baik oleh pengguna akhir atau melalui otomatis cara.

Referensi

  • Rath, Michael; Mäder, Patrick, 2019, “Dataset SEOSS – Persyaratan, Laporan Bug, Riwayat Kode, dan Tautan Jejak untuk Seluruh Proyek”, https://doi.org/10.7910/DVN/PDDZ4Q, Harvard Dataverse, V1

Tentang Penulis

Otomatiskan klasifikasi permintaan layanan TI dengan pengklasifikasi khusus Amazon Comprehend, PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Arnab Chakraborty adalah Sr. Solutions Architect di AWS yang berbasis di Cincinnati, Ohio. Dia bersemangat tentang topik dalam arsitektur Perusahaan & Solusi, Analisis data, Tanpa Server, dan Pembelajaran Mesin. Di waktu luangnya, ia menikmati menonton film, acara perjalanan dan olahraga.

VirusOtomatiskan klasifikasi permintaan layanan TI dengan pengklasifikasi khusus Amazon Comprehend, PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai. Desai adalah Arsitek Solusi Utama di AWS. Dengan pengalaman lebih dari 25 tahun di bidang teknologi informasi, dia telah membantu pelanggan mengadopsi AWS dan memodernisasi arsitektur mereka. Dia suka mendaki, dan senang menyelam bersama pelanggan dalam semua hal tentang AWS.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS