בנה מערכת התראה בזמן אמת מבוססת חדשות עם Twitter, Amazon SageMaker ו-Huging Face PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

בנה מערכת התראה בזמן אמת מבוססת חדשות עם Twitter, Amazon SageMaker ו-Huging Face

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

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

נכון לעכשיו, קל מתמיד לחלץ מידע מנתוני טקסט הודות לפריטים הבאים:

  • עלייתן של ארכיטקטורות NLP חדישות, לשימוש כללי, כגון שנאים
  • היכולת שיש למפתחים ומדעני נתונים לבנות, לאמן ולפרוס במהירות מודלים של למידת מכונה (ML) בקנה מידה על הענן עם שירותים כמו אמזון SageMaker
  • הזמינות של אלפי דגמי NLP מאומנים מראש במאות שפות ועם תמיכה במספר מסגרות המסופקות על ידי הקהילה בפלטפורמות כמו חיבוק Face Hub

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

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

למידה אפסית

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

ארכיטקטורת השנאים היא רשת עצבית מורכבת הדורשת מומחיות בתחום וכמות עצומה של נתונים על מנת להיות מאומן מאפס. נוהג נפוץ הוא לקחת שנאי מתקדם מאומן מראש כמו BERT, RoBERTa, T5, GPT-2 או DistilBERT ולכוונן עדין (למידת העברה) של הדגם למקרה שימוש ספציפי.

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

למידה ב-Zero-shot היא משימת ML ספציפית שבה מסווג לומד על קבוצה אחת של תוויות במהלך האימון, ולאחר מכן במהלך ההסקה מוערך על קבוצה אחרת של תוויות שהמסווג מעולם לא ראה קודם לכן. ב-NLP, אתה יכול להשתמש במסווג רצף אפס מאומן במשימת הסקת שפה טבעית (NLI) כדי לסווג טקסט ללא כל כוונון עדין. בפוסט זה, אנו משתמשים ב-NLI הפופולרי BART דגם bart-large-mnli לסיווג ציוצים. זהו דגם גדול שהוכשר מראש (1.6 ג'יגה-בייט), זמין במרכז הדגמים Hugging Face.

Hugging Face היא חברת בינה מלאכותית המנהלת פלטפורמת קוד פתוח (Hugging Face Hub) עם אלפי דגמי NLP (רובוטריקים) מאומנים מראש ביותר מ-100 שפות שונות ועם תמיכה במסגרות שונות כמו TensorFlow ו-PyTorch. ספריית השנאים מסייעת למפתחים ומדעני נתונים להתחיל במשימות NLP ו-NLU מורכבות כמו סיווג, מיצוי מידע, מענה לשאלות, סיכום, תרגום ויצירת טקסט.

AWS ו-Huging Face שיתפו פעולה כדי לפשט ולהאיץ את האימוץ של מודלים של NLP. קבוצה של מיכלי למידה עמוקה (DLC) להדרכה והסקת מסקנות ב- PyTorch או TensorFlow, ומעריכים וחיזויים של Hugging Face עבור SageMaker Python SDK זמינים כעת. יכולות אלו עוזרות למפתחים עם כל רמות המומחיות להתחיל עם NLP בקלות.

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

אנו מספקים פתרון עובד שמביא ציוצים בזמן אמת מחשבונות טוויטר נבחרים. להדגמת הפתרון שלנו, אנו משתמשים בשלושה חשבונות, Amazon Web Services (@awscloud), AWS Security (@AWSSecurityInfo), ואמזון סיינס (@AmazonScience), ולסווג את התוכן שלהם לאחת מהקטגוריות הבאות: אבטחה, מסד נתונים, מחשוב, אחסון ולמידת מכונה. אם המודל מחזיר קטגוריה עם ציון ביטחון גבוה מ-40%, נשלחת הודעה.

בדוגמה הבאה, המודל סיווג ציוץ משירותי האינטרנט של אמזון בקטגוריית למידת מכונה, עם ציון ביטחון של 97%, ויוצר התראה.

הפתרון מסתמך על דגם שנאי מיומן מראש של Hugging Face (מ-Hugging Face Hub) כדי לסווג ציוצים על סמך קבוצה של תוויות הניתנות בזמן ההסקה - אין צורך להכשיר את הדגם. צילומי המסך הבאים מציגים דוגמאות נוספות וכיצד הם סווגו.
כמה דוגמאות רלוונטיות
אנו ממליצים לך לנסות את הפתרון בעצמך. כל שעליך לעשות הוא להוריד את קוד המקור מה- מאגר GitHub ופעל לפי הוראות הפריסה בקובץ README.

ארכיטקטורת הפתרונות

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

להלן תרשים הארכיטקטורה של הפתרון.
היקף הפתרון
זרימת העבודה של הפתרון מורכבת מהרכיבים הבאים:

  1. הפתרון מסתמך על Stream API של טוויטר כדי לקבל ציוצים התואמים את הכללים המוגדרים (ציוצים מהחשבונות המעניינים) בזמן אמת. לשם כך, יישום הפועל בתוך קונטיינר שומר על חיבור פתוח לנקודת הקצה של טוויטר. מתייחס ממשק API של טוויטר לקבלת פרטים נוספים.
  2. המכולה פועלת הלאה שירות מיכלים אלסטי של אמזון (Amazon ECS), שירות תזמור קונטיינרים מנוהל במלואו המקל עליך לפרוס, לנהל ולהרחיב יישומים עם מיכל. משימה בודדת פועלת על תשתית ללא שרת המנוהלת על ידי AWS פרגייט.
  3. אסימון Twitter Bearer מאוחסן בצורה מאובטחת חנות פרמטרים של מנהל מערכות AWS, יכולת של מנהל מערכות AWS המספק אחסון מאובטח והיררכי עבור נתוני תצורה וסודות. תמונת המכולה מתארחת ב מרשם מיכל אלסטי של אמזון (Amazon ECR), רישום קונטיינרים מנוהל במלואו המציע אירוח בעל ביצועים גבוהים.
  4. בכל פעם שמגיע ציוץ חדש, אפליקציית המכולה מכניסה את הציוץ לתוך שירות תורים פשוט של אמזון (Amazon SQS) תור. Amazon SQS הוא שירות תורי הודעות מנוהל במלואו המאפשר לך לנתק ולהרחיב מיקרו-שירותים, מערכות מבוזרות ויישומים ללא שרתים.
  5. ההיגיון של הפתרון נמצא ב-an AWS למבדה פוּנקצִיָה. Lambda הוא שירות מחשוב נטול שרתים מונע אירועים. הפונקציה צורכת ציוצים חדשים מהתור ומסווגת אותם על ידי קריאה לנקודת קצה.
  6. נקודת הסיום מסתמכת על דגם Hugging Face ומתארחת ב- SageMaker. נקודת הקצה מפעילה את ההסקה ומוציאה את המעמד של הציוץ.
  7. בהתאם לסיווג, הפונקציה מייצרת הודעה דרך שירות התראה פשוט של אמזון (Amazon SNS), שירות הודעות מנוהל במלואו. אתה יכול להירשם לנושא SNS, ויעדים מרובים יכולים לקבל הודעה זו (ראה יעדי אירועי אמזון SNS). לדוגמה, אתה יכול להעביר את ההודעה לתיבות הדואר הנכנס כהודעות דואר אלקטרוני (ראה הודעות דוא"ל).

פרוס דגמי Hugging Face עם SageMaker

אתה יכול לבחור כל אחד מיותר מ-10,000 הדגמים הזמינים לציבור מה- רכזת דוגמניות פנים מחבקות ולפרוס אותם עם SageMaker באמצעות DLCs ​​של מסקנות פנים מחבקות.

כשמשתמש AWS CloudFormation, אתה בוחר אחד מהזמינים לציבור מיכלי מסקנות פנים מחבקים ולהגדיר את הדגם ואת המשימה. פתרון זה משתמש ב- facebook/bart-large-mnli מודל ומשימת סיווג אפס-זריקה, אבל אתה יכול לבחור כל אחד מהדגמים שמתחתיו סיווג אפס זריקה ב-Hugging Face Model Hub. אתה מגדיר את אלה על ידי הגדרת משתני הסביבה HF_MODEL_ID ו-HF_TASK בתבנית CloudFormation שלך, כמו בקוד הבא:

SageMakerModel:
  Type: AWS::SageMaker::Model
  Properties:
    ExecutionRoleArn: !GetAtt SageMakerModelRole.Arn
    PrimaryContainer:
      Image: 763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-inference:1.7-transformers4.6-cpu-py36-ubuntu18.04
      Environment:
        HF_MODEL_ID: facebook/bart-large-mnli
        HF_TASK: zero-shot-classification
        SAGEMAKER_CONTAINER_LOG_LEVEL: 20
        SAGEMAKER_REGION: us-east-1

לחלופין, אם אינך משתמש ב-AWS CloudFormation, תוכל להשיג את אותן תוצאות עם כמה שורות קוד. מתייחס פרוס דגמים באמזון SageMaker לקבלת פרטים נוספים.

כדי לסווג את התוכן, אתה פשוט מתקשר לנקודת הקצה של SageMaker. להלן קטע קוד של Python:

endpoint_name = os.environ['ENDPOINT_NAME']
labels = os.environ['ENDPOINT_NAME']

data = {
    'inputs': tweet,
    'parameters': {
        'candidate_labels': labels,
        'multi_class': False
    }
}

response = sagemaker.invoke_endpoint(EndpointName=endpoint_name,
                                     ContentType='application/json',
                                     Body=json.dumps(data))

response_body = json.loads(response['Body'].read())

הערה לא נכון ערך עבור multi_class פרמטר כדי לציין שסכום כל ההסתברויות עבור כל מחלקה יסתכם ב-1.

שיפורים בפתרון

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

אתה יכול להשתמש בהיסטוריה לא רק כדי לחלץ תובנות אלא גם כדי להכשיר מודל מותאם אישית. אתה יכול להשתמש בתמיכה של Hugging Face כדי לאמן דוגמנית עם הנתונים שלך עם SageMaker. למידע נוסף על הפעל אימון באמזון SageMaker.

מקרי שימוש בעולם האמיתי

לקוחות כבר מתנסים בדגמי Hugging Face ב- SageMaker. סגורוס בוליבר, חברת פיננסים וביטוח קולומביאנית שנוסדה ב-1939, היא דוגמה לכך.

"פיתחנו פתרון להודעות איומים עבור לקוחות וסוכני ביטוח. אנו משתמשים במודלים של NLP שעברו הכשרה מראש של Hugging Face כדי לסווג ציוצים מחשבונות רלוונטיים כדי ליצור הודעות ללקוחות שלנו בזמן כמעט אמת כאסטרטגיית מניעה כדי לסייע בהפחתת תביעות. תביעה מתרחשת מכיוון שלקוחות אינם מודעים לרמת הסיכון שהם חשופים אליה. הפתרון מאפשר לנו לייצר מודעות אצל הלקוחות שלנו, ולהפוך את הסיכון למשהו מדיד במצבים קונקרטיים".

– ג'וליאן ריקו, ראש מחקר וידע בסגורוס בוליבר.

Seguros Bolívar עבד עם AWS כדי לעצב מחדש את הפתרון שלהם; כעת הוא מסתמך על SageMaker ודומה לזה המתואר בפוסט זה.

סיכום

סיווג זריקת אפס הוא אידיאלי כאשר יש לך מעט נתונים להכשרת סיווג טקסט מותאם אישית או כאשר אינך יכול להרשות לעצמך להכשיר מודל NLP מותאם אישית. למקרי שימוש מיוחדים, כאשר טקסט מבוסס על מילים או מונחים ספציפיים, עדיף ללכת עם מודל סיווג מפוקח המבוסס על ערכת הדרכה מותאמת אישית.

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

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

אנא נסה זאת ותן לנו לדעת מה אתה חושב. כמו תמיד, אנו מצפים למשוב שלך. אתה יכול לשלוח אותו לאנשי התמיכה הרגילים של AWS, או אל פורום AWS עבור SageMaker.


על המחברים

בנה מערכת התראה בזמן אמת מבוססת חדשות עם Twitter, Amazon SageMaker ו-Huging Face PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.דיוויד לארדו הוא אדריכל אבות טיפוס ב-AWS Envision Engineering ב-LATAM, שם הוא עזר בפיתוח אבות טיפוס מרובים של למידת מכונה. בעבר הוא עבד כמהנדס למידת מכונה ועסק בלמידת מכונה כבר למעלה מ-5 שנים. תחומי העניין שלו הם NLP, סדרות זמן ו-ML מקצה לקצה.

בנה מערכת התראה בזמן אמת מבוססת חדשות עם Twitter, Amazon SageMaker ו-Huging Face PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.רפאל ורנק הוא אדריכל בכיר ביצירת אב טיפוס ב-AWS Envision Engineering, שבסיסה בברזיל. בעבר הוא עבד כמהנדס פיתוח תוכנה ב-Amazon.com.br וב-Amazon RDS Performance Insights.

בנה מערכת התראה בזמן אמת מבוססת חדשות עם Twitter, Amazon SageMaker ו-Huging Face PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.ויקראם אלנגו הוא ארכיטקט פתרונות מומחה בינה מלאכותית/ML בשירותי האינטרנט של אמזון, שבסיסה בווירג'יניה, ארה"ב. Vikram עוזרת ללקוחות הפיננסיים והביטוחים עם תכנון ומנהיגות מחשבתית לבנות ולפרוס יישומי למידת מכונה בקנה מידה. כרגע הוא מתמקד בעיבוד שפה טבעית, בינה מלאכותית אחראית, אופטימיזציה של מסקנות ושינוי קנה מידה של ML ברחבי הארגון. בזמנו הפנוי, הוא נהנה לטייל, לטייל, לבשל ולקמפינג עם משפחתו.

בול זמן:

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