הפוך סיווג אוטומטי של בקשות לשירותי IT עם סיווג מותאם אישית של Amazon Comprehend PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

הפוך סיווג אוטומטי של בקשות לשירותי IT עם מסווג מותאם אישית של Amazon Comprehend

ארגונים מתמודדים לעתים קרובות עם כמויות גדולות של בקשות לשירותי IT. באופן מסורתי, הנטל מוטל על המבקש לבחור את הקטגוריה הנכונה לכל נושא. שגיאה ידנית או סיווג שגוי של כרטיס פירושו בדרך כלל עיכוב בפתרון בקשת שירות ה-IT. זה יכול לגרום להפחתת הפרודוקטיביות, ירידה בשביעות רצון הלקוחות, השפעה על הסכמי רמת השירות (SLAs), והשפעות תפעוליות רחבות יותר. ככל שהארגון שלך גדל, הבעיה של קבלת בקשת השירות הנכונה לצוות הנכון הופכת חשובה עוד יותר. שימוש בגישה המבוססת על למידת מכונה (ML) ובינה מלאכותית יכול לעזור עם הצרכים ההולכים ומתפתחים של הארגון שלך.

ML מפוקח הוא תהליך המשתמש במערכי נתונים ובפלטים מסומנים כדי לאמן אלגוריתמי למידה כיצד לסווג נתונים או לחזות תוצאה. אמזון להתבונן הוא שירות עיבוד שפה טבעית (NLP) המשתמש ב-ML כדי לחשוף תובנות וקשרים חשובים בטקסט. הוא מספק ממשקי API המופעלים על ידי ML ​​כדי לחלץ ביטויי מפתח, ישויות, ניתוח סנטימנטים ועוד.

בפוסט זה, אנו מראים לך כיצד ליישם מודל ML מפוקח שיכול לעזור לסווג בקשות שירות IT באופן אוטומטי באמצעות אמזון הבנה סיווג מותאם אישית. סיווג מותאם אישית של Amazon Comprehend עוזר לך להתאים אישית את Amazon Comprehend לדרישות הספציפיות שלך ללא מערך הכישורים הנדרש לבניית פתרונות NLP מבוססי ML. עם ML אוטומטי, או AutoML, סיווג מותאם אישית של Amazon Comprehend בונה מודלים מותאמים אישית של NLP בשמך, תוך שימוש בנתוני ההדרכה שאתה מספק.

סקירה כללית של הפיתרון

כדי להמחיש את סיווג הבקשות לשירותי IT, פתרון זה משתמש ב- מערך נתונים של SEOSS. מערך נתונים זה הוא מערך נתונים מאוחזר באופן שיטתי המורכב מ-33 פרויקטי תוכנה בקוד פתוח המכיל מספר רב של חפצים מוקלדים ומעקב אחר קישורים ביניהם. פתרון זה משתמש בנתוני הבעיות מ-33 הפרויקטים, הסיכומים והתיאורים הללו בקוד פתוח כפי שדווחו על ידי משתמשי קצה כדי לבנות מודל מסווג מותאם אישית באמצעות Amazon Comprehend.

פוסט זה מדגים כיצד ליישם ולפרוס את הפתרון באמצעות ה ערכת פיתוח ענן AWS (AWS CDK) במבודד ענן וירטואלי פרטי של אמזון סביבת (Amazon VPC) המורכבת מרשתות משנה פרטיות בלבד. אנו גם משתמשים בקוד כדי להדגים כיצד אתה יכול להשתמש ב-AWS CDK מסגרת ספק, מיני-מסגרת להטמעת ספק עבור AWS CloudFormation משאבים מותאמים אישית ליצירה, עדכון או מחיקה של משאב מותאם אישית, כגון נקודת קצה של Amazon Comprehend. נקודת הקצה של Amazon Comprehend כוללת משאבים מנוהלים שהופכים את המודל המותאם אישית שלך לזמין להסקה בזמן אמת למחשב לקוח או ליישומי צד שלישי. ה קוד לפתרון זה זמין ב-Github.

אתה משתמש ב-AWS CDK כדי לפרוס את התשתית, קוד היישום והתצורה של הפתרון. אתה צריך גם חשבון AWS ויכולת ליצור משאבי AWS. אתה משתמש ב-AWS CDK כדי ליצור משאבי AWS כגון VPC עם רשתות משנה פרטיות, נקודות קצה של Amazon VPC, מערכת הקבצים של אמזון אלסטית (אמזון EFS), א שירות התראה פשוט של אמזון (Amazon SNS) נושא, א שירות אחסון פשוט של אמזון (אמזון S3) דלי, התראות על אירועים של אמזון S3, ו AWS למבדה פונקציות. ביחד, משאבי AWS אלו מהווים את מחסנית ההדרכה, שבה אתה משתמש כדי לבנות ולהכשיר את מודל הסיווג המותאם אישית.

לאחר יצירת משאבי AWS אלה, אתה מוריד את מערך הנתונים של SEOSS ומעלה את מערך הנתונים לדלי S3 שנוצר על ידי הפתרון. אם אתה פורס פתרון זה ב-AWS Region us-east-2, הפורמט של שם הדלי S3 הוא comprehendcustom--us-east-2-s3stack. הפתרון משתמש בטריגר ההעלאה מרובה חלקים של Amazon S3 כדי להפעיל פונקציית Lambda שמתחילה את העיבוד המקדים של נתוני הקלט, ומשתמשת בנתונים המעובדים מראש כדי להכשיר את המסווגן המותאם אישית של Amazon Comprehend ליצירת מודל הסיווג המותאם אישית. לאחר מכן אתה משתמש בשם המשאב של אמזון (ARN) של מודל הסיווג המותאם אישית כדי ליצור את מחסנית ההסקה, שיוצרת נקודת קצה של Amazon Comprehend באמצעות AWS CDK מסגרת ספק, שבו תוכל להשתמש לאחר מכן עבור מסקנות מיישום צד שלישי או מחשב לקוח.

התרשים הבא ממחיש את הארכיטקטורה של מחסנית האימונים.

שלבי זרימת העבודה הם כדלקמן:

  1. העלה את מערך הנתונים של SEOSS לדלי S3 שנוצר כחלק מתהליך פריסת מחסנית ההדרכה. זה יוצר טריגר לאירוע שמפעיל את etl_lambda פונקציה.
  2. אל האני etl_lambda הפונקציה מורידה את מערך הנתונים הגולמי מאמזון S3 לאמזון EFS.
  3. אל האני etl_lambda הפונקציה מבצעת את משימת עיבוד הנתונים המקדים של מערך הנתונים SEOSS.
  4. כאשר ביצוע הפונקציה מסתיים, הוא מעלה את הנתונים שעברו טרנספורמציה עם prepped_data קידומת לדלי S3.
  5. לאחר השלמת העלאת הנתונים שעברו שינוי, הודעת השלמת ETL מוצלחת נשלחת לאמזון SNS.
  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 ושולח אותו לכתובת הדוא"ל שנרשמת קודם לכן. לאחר מכן נעשה שימוש בדגם המסווגן המותאם אישית הזה ליצירת מחסנית ההסקה. לאחר השלמת הכשרת המודל, תוכל להציג את מדדי הביצועים של מודל הסיווג המותאם אישית על ידי ניווט לקטע פרטי הגרסה בקונסולת Amazon Comprehend (ראה את צילום המסך הבא), או באמצעות Amazon Comprehend SDK של Boto3.

מדדי ביצועים

פרוס את ערימת ההסקות של AWS CDK

עכשיו אתה מוכן לפרוס את מחסנית ההסקות.

  1. העתק את דגם הסיווג המותאם אישית ARN מהמייל שקיבלת והשתמש בדברים הבאים cdk deploy פקודה כדי ליצור את מחסנית ההסקה.

פקודה זו פורסת API Gateway REST API מאובטח על ידי גורם 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 Directory:

$ 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. כברירת מחדל, לקוח הבדיקה מניח שקיים פרופיל בשם ברירת מחדל ויש לו את execute-api:Invoke הרשאת IAM ב- REST API.
  • SigV4Auth מצביע על האזור שבו פרוס ממשק API של REST. עדכן את ערך 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 כדי לסווג את בקשות שירות ה-IT או לחזות את הקטגוריה הנכונה של בקשות שירות ה-IT, ובכך להפחית שגיאות ידניות או סיווג שגוי של בקשות שירות.

לנקות את

כדי לנקות את כל המשאבים שנוצרו בפוסט הזה שנוצרו כחלק מחסנית ההדרכה ומערימת ההסקות, השתמש בפקודה הבאה. פקודה זו מוחקת את כל משאבי ה-AWS שנוצרו כחלק מפקודות הפריסה הקודמות של cdk:

$ cdk destroy --all

סיכום

בפוסט זה, הראינו לכם כיצד ארגונים יכולים ליישם מודל ML מפוקח באמצעות סיווג מותאם אישית של Amazon Comprehend כדי לחזות את הקטגוריה של בקשות לשירותי IT בהתבסס על הנושא או על תיאור הבקשה שהוגשה על ידי משתמש הקצה. לאחר שתבנה ותאמן מודל מסווג מותאם אישית, תוכל להריץ ניתוח בזמן אמת לסיווג מותאם אישית על ידי יצירת נקודת קצה. לאחר פריסת מודל זה לנקודת קצה של Amazon Comprehend, ניתן להשתמש בו כדי להפעיל הסקת מסקנות בזמן אמת על ידי יישומי צד שלישי או מכונות לקוח אחרות, כולל כלי ניהול שירותי IT. לאחר מכן תוכל להשתמש בהסקה זו כדי לחזות את קטגוריית הפגמים ולהפחית שגיאות ידניות או סיווג שגוי של כרטיסים. זה עוזר לצמצם עיכובים לפתרון הכרטיסים ומגביר את דיוק הרזולוציה ואת פרודוקטיביות הלקוחות, מה שבסופו של דבר מביא להגברת שביעות רצון הלקוחות.

אתה יכול להרחיב את המושגים בפוסט זה למקרי שימוש אחרים, כגון ניתוב כרטיסים עסקיים או IT לצוותים פנימיים שונים כגון מחלקות עסקיות, סוכני שירות לקוחות ותמיכת IT ברמה 2/3, שנוצרה על ידי משתמשי קצה או באמצעות אוטומטיות אומר.

הפניות

  • ראת', מייקל; Mäder, Patrick, 2019, "מערך הנתונים של SEOSS - דרישות, דוחות באגים, היסטוריית קוד וקישורי מעקב עבור פרויקטים שלמים", https://doi.org/10.7910/DVN/PDDZ4Q, הרווארד Dataverse, V1

על הכותבים

הפוך סיווג אוטומטי של בקשות לשירותי IT עם סיווג מותאם אישית של Amazon Comprehend PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.ארנאב צ'קרובורטי הוא Sr. Solutions Architect ב-AWS שבסיסו מסינסינטי, אוהיו. הוא נלהב לגבי נושאים בארכיטקטורת ארגונים ופתרונות, ניתוח נתונים, ללא שרת ולמידת מכונה. בזמנו הפנוי, הוא נהנה לצפות בסרטים, תוכניות טיולים וספורט.

נגיפיםהפוך סיווג אוטומטי של בקשות לשירותי IT עם סיווג מותאם אישית של Amazon Comprehend PlatoBlockchain Data Intelligence. חיפוש אנכי. איי. דסאי הוא אדריכל פתרונות ראשי ב-AWS. עם יותר מ-25 שנות ניסיון בטכנולוגיית מידע, הוא עזר ללקוחות לאמץ את AWS ולחדש את הארכיטקטורות שלהם. הוא אוהב טיולים, ונהנה לצלול לעומק עם לקוחות בכל הקשור ל-AWS.

בול זמן:

עוד מ למידת מכונות AWS