قم ببناء نظام تنبيه في الوقت الفعلي قائم على الأخبار باستخدام Twitter و Amazon SageMaker و Hugging Face PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

أنشئ نظام تنبيه في الوقت الفعلي قائم على الأخبار باستخدام Twitter و Amazon SageMaker و Hugging Face

اليوم ، تعد وسائل التواصل الاجتماعي مصدرًا كبيرًا للأخبار. يعتمد المستخدمون على منصات مثل Facebook و Twitter لاستهلاك الأخبار. بالنسبة لبعض الصناعات مثل شركات التأمين ، والمستجيبين الأوائل ، وإنفاذ القانون ، والوكالات الحكومية ، فإن القدرة على معالجة الأخبار حول الأحداث ذات الصلة التي تحدث بسرعة يمكن أن تساعدهم في اتخاذ إجراءات أثناء استمرار هذه الأحداث.

ليس من غير المألوف بالنسبة للمؤسسات التي تحاول استخراج قيمة من البيانات النصية للبحث عن حل لا يتضمن تدريب نموذج معقد لمعالجة اللغة الطبيعية (NLP). بالنسبة لتلك المنظمات ، يعد استخدام نموذج البرمجة اللغوية العصبية المدربة مسبقًا أكثر عملية. علاوة على ذلك ، إذا كان النموذج المختار لا يرضي مقاييس نجاحها ، فإن المؤسسات تريد أن تكون قادرة بسهولة على اختيار نموذج آخر وإعادة التقييم.

في الوقت الحالي ، أصبح استخراج المعلومات من البيانات النصية أسهل من أي وقت مضى بفضل ما يلي:

  • ظهور أحدث هياكل البرمجة اللغوية العصبية للأغراض العامة مثل المحولات
  • قدرة المطورين وعلماء البيانات على إنشاء نماذج التعلم الآلي (ML) وتدريبها ونشرها بسرعة على نطاق واسع على السحابة باستخدام خدمات مثل الأمازون SageMaker
  • توفر الآلاف من نماذج البرمجة اللغوية العصبية المدربة مسبقًا بمئات اللغات وبدعم لأطر عمل متعددة يوفرها المجتمع في منصات مثل معانقة الوجه المحور

في هذا المنشور ، نوضح لك كيفية إنشاء نظام تنبيه في الوقت الفعلي يستهلك الأخبار من Twitter ويصنف التغريدات باستخدام نموذج مدرب مسبقًا من Hugging Face Hub. يمكنك استخدام هذا الحل لتصنيف التغريدات الصفرية ، مما يعني أنه يمكنك تصنيف التغريدات في أي مجموعة من الفئات تقريبًا ، ونشر النموذج مع SageMaker للاستدلال في الوقت الفعلي.

بدلاً من ذلك ، إذا كنت تبحث عن رؤى حول محادثات عميلك وتعميق الوعي بالعلامة التجارية من خلال تحليل تفاعلات الوسائط الاجتماعية ، فنحن نشجعك على التحقق من لوحة القيادة لوسائل التواصل الاجتماعي المدعومة بالذكاء الاصطناعي. يستخدم الحل فهم الأمازون، خدمة معالجة اللغات الطبيعية المُدارة بالكامل والتي تكشف عن رؤى واتصالات قيمة في النص دون الحاجة إلى خبرة تعلم الآلة.

التعلم من الصفر

تطورت مجالات البرمجة اللغوية العصبية وفهم اللغة الطبيعية (NLU) بسرعة لمعالجة حالات الاستخدام التي تتضمن تصنيف النص والإجابة على الأسئلة والتلخيص وإنشاء النص والمزيد. لقد كان هذا التطور ممكنًا ، جزئيًا ، بفضل ظهور أحدث البنى ذات الأغراض العامة مثل المحولات ، ولكن أيضًا توفر المزيد من مجموعات النصوص عالية الجودة المتاحة للتدريب على مثل هذه النماذج.

بنية المحولات عبارة عن شبكة عصبية معقدة تتطلب خبرة في المجال وكمية هائلة من البيانات ليتم تدريبها من البداية. من الممارسات الشائعة أن تأخذ مُحولًا مُدرَّبًا مسبقًا على أحدث طراز مثل BERT أو RoBERTa أو T5 أو GPT-2 أو DistilBERT وضبط النموذج (نقل التعلم) إلى حالة استخدام محددة.

ومع ذلك ، حتى إجراء تعلم النقل على نموذج البرمجة اللغوية العصبية المدربة مسبقًا يمكن أن يكون في كثير من الأحيان مهمة صعبة ، حيث تتطلب كميات كبيرة من البيانات النصية المصنفة وفريق من الخبراء لرعاية البيانات. يمنع هذا التعقيد معظم المؤسسات من استخدام هذه النماذج بفعالية ، لكن التعلم الفوري يساعد ممارسي ML والمنظمات على التغلب على هذا القصور.

التعلم بدون طلقة هو مهمة تعلّم آلي محددة يتعلم فيها المصنف على مجموعة واحدة من الملصقات أثناء التدريب ، ثم يتم تقييمها أثناء الاستدلال على مجموعة مختلفة من الملصقات التي لم يسبق للمصنف رؤيتها من قبل. في البرمجة اللغوية العصبية (NLP) ، يمكنك استخدام مُصنِّف تسلسل بدون طلقة مدرَّب على مهمة استدلال اللغة الطبيعية (NLI) لتصنيف النص دون أي ضبط دقيق. في هذا المنشور ، نستخدم NLI الشهير بارت نموذج bart-large-mnli لتصنيف التغريدات. هذا نموذج كبير مُدرَّب مسبقًا (1.6 جيجابايت) ، ومتاح في محور نموذج Hugging Face.

Hugging Face هي شركة تعمل بالذكاء الاصطناعي تدير منصة مفتوحة المصدر (Hugging Face Hub) مع الآلاف من نماذج البرمجة اللغوية العصبية (المحولات) المدربة مسبقًا بأكثر من 100 لغة مختلفة وبدعم لأطر مختلفة مثل TensorFlow و PyTorch. تساعد مكتبة المحولات المطورين وعلماء البيانات على البدء في مهام NLP و NLU المعقدة مثل التصنيف واستخراج المعلومات والإجابة على الأسئلة والتلخيص والترجمة وإنشاء النص.

AWS و Hugging Face يتعاونون لتبسيط وتسريع اعتماد نماذج البرمجة اللغوية العصبية. تتوفر الآن مجموعة من حاويات التعلم العميق (DLC) للتدريب والاستدلال في PyTorch أو TensorFlow ، ومقدرات وتنبؤات Hugging Face لـ SageMaker Python SDK. تساعد هذه الإمكانات المطورين على اختلاف مستوياتهم في بدء استخدام البرمجة اللغوية العصبية بسهولة.

نظرة عامة على الحل

نحن نقدم حلاً عمليًا يجلب التغريدات في الوقت الفعلي من حسابات Twitter المختارة. لعرض الحل الذي نقدمه ، نستخدم ثلاثة حسابات ، Amazon Web Services (تضمين التغريدة) ، أمان AWS (تضمين التغريدة) و Amazon Science (تضمين التغريدة) ، وصنف المحتوى الخاص بهم إلى إحدى الفئات التالية: الأمان وقاعدة البيانات والحساب والتخزين والتعلم الآلي. إذا قام النموذج بإرجاع فئة بدرجة ثقة أكبر من 40٪ ، فسيتم إرسال إشعار.

في المثال التالي ، صنف النموذج تغريدة من Amazon Web Services في فئة التعلم الآلي ، مع درجة ثقة تبلغ 97٪ ، مما أدى إلى إنشاء تنبيه.

يعتمد الحل على نموذج محول مُدرب مسبقًا من Hugging Face (من Hugging Face Hub) لتصنيف التغريدات بناءً على مجموعة من الملصقات التي يتم توفيرها في وقت الاستدلال - لا يحتاج النموذج إلى التدريب. تعرض لقطات الشاشة التالية المزيد من الأمثلة وكيف تم تصنيفها.
بعض الأمثلة ذات الصلة
نحن نشجعك على تجربة الحل بنفسك. ما عليك سوى تنزيل الكود المصدري من ملف مستودع جيثب واتبع تعليمات النشر في الملف التمهيدي.

هندسة الحل

يحافظ الحل على اتصال مفتوح بنقطة نهاية Twitter ، وعندما تصل تغريدة جديدة ، يرسل رسالة إلى قائمة انتظار. يقرأ المستهلك الرسائل من قائمة الانتظار ، ويستدعي نقطة نهاية التصنيف ، وبناءً على النتائج ، يقوم بإعلام المستخدم النهائي.

ما يلي هو مخطط هندسة الحل.
نطاق الحل
يتكون سير عمل الحل من المكونات التالية:

  1. يعتمد الحل على Twitter's Stream API للحصول على التغريدات التي تتوافق مع القواعد التي تم تكوينها (التغريدات من الحسابات ذات الأهمية) في الوقت الفعلي. للقيام بذلك ، فإن التطبيق الذي يتم تشغيله داخل حاوية يحتفظ باتصال مفتوح بنقطة نهاية Twitter. تشير إلى تويتر API لمزيد من التفاصيل.
  2. الحاوية تعمل خدمة الأمازون المرنة للحاويات (Amazon ECS) ، خدمة تنسيق حاويات مُدارة بالكامل تسهل عليك نشر التطبيقات المعبأة في حاويات وإدارتها وتوسيع نطاقها. يتم تشغيل مهمة واحدة على بنية تحتية بدون خادم يديرها AWS فارجيت.
  3. يتم تخزين رمز Twitter Bearer المميز بأمان في متجر معلمات مدير أنظمة AWS، قدرة مدير أنظمة AWS يوفر تخزينًا هرميًا وآمنًا لبيانات التكوين والأسرار. صورة الحاوية مستضافة على سجل الأمازون المرنة للحاويات (Amazon ECR) ، سجل حاويات مُدار بالكامل يوفر استضافة عالية الأداء.
  4. عندما تصل تغريدة جديدة ، يضع تطبيق الحاوية التغريدة في ملف خدمة Amazon Simple Queue Service قائمة انتظار (Amazon SQS). Amazon SQS هي خدمة انتظار مُدارة بالكامل للرسائل تتيح لك فصل الخدمات المصغرة والأنظمة الموزعة والتطبيقات التي لا تحتوي على خادم وتوسيع نطاقها.
  5. منطق الحل يكمن في AWS لامدا وظيفة. Lambda هي خدمة حوسبة بدون خوادم تعتمد على الأحداث. تستهلك الوظيفة التغريدات الجديدة من قائمة الانتظار وتصنفها عن طريق استدعاء نقطة النهاية.
  6. تعتمد نقطة النهاية على نموذج Hugging Face ويتم استضافتها على SageMaker. تقوم نقطة النهاية بتشغيل الاستدلال وإخراج فئة التغريدة.
  7. اعتمادًا على التصنيف ، تقوم الوظيفة بإنشاء إشعار من خلال خدمة إعلام أمازون البسيطة (Amazon SNS) ، خدمة مراسلة مُدارة بالكامل. يمكنك الاشتراك في موضوع SNS ، ويمكن أن تتلقى وجهات متعددة هذا الإخطار (انظر وجهات أحداث Amazon SNS). على سبيل المثال ، يمكنك تسليم الإشعار إلى صناديق البريد الوارد كرسائل بريد إلكتروني (انظر اشعارات البريد الالكتروني).

انشر نماذج Hugging Face باستخدام SageMaker

يمكنك تحديد أي من أكثر من 10,000 طراز متاح للجمهور من معانقة الوجه النموذجي المحور ونشرها مع SageMaker باستخدام ملفات تعانق استدلال الوجه DLCs.

عند استخدام تكوين سحابة AWS، يمكنك تحديد واحد من المتاح للجمهور تعانق حاويات استدلال الوجه وتكوين النموذج والمهمة. يستخدم هذا الحل ملف فيسبوك / بارت لارج منلي النموذج ومهمة التصنيف الصفري ، ولكن يمكنك اختيار أي من النماذج الموجودة أسفله تصنيف Zero-Shot على 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 ، فيمكنك تحقيق نفس النتائج ببضعة سطور من التعليمات البرمجية. تشير إلى انشر النماذج على Amazon 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())

لاحظ ال خطأ قيمة متعدد_الفئات معلمة للإشارة إلى أن مجموع كل الاحتمالات لكل فئة سيضيف ما يصل إلى 1.

تحسينات الحل

يمكنك تحسين الحل المقترح هنا من خلال تخزين التغريدات ونتائج النموذج. خدمة تخزين أمازون البسيطة (Amazon S3) ، خدمة تخزين الكائنات ، هي أحد الخيارات. يمكنك كتابة التغريدات والنتائج والبيانات الوصفية الأخرى ككائنات JSON في حاوية S3. يمكنك بعد ذلك إجراء استعلامات مخصصة لهذا المحتوى باستخدام أمازون أثينا، خدمة استعلام تفاعلية تسهل تحليل البيانات في Amazon S3 باستخدام SQL القياسي.

يمكنك استخدام السجل ليس فقط لاستخراج الرؤى ولكن أيضًا لتدريب نموذج مخصص. يمكنك استخدام دعم Hugging Face لتدريب نموذج باستخدام بياناتك الخاصة باستخدام SageMaker. تعلم المزيد عن قم بتشغيل التدريب على Amazon SageMaker.

حالات الاستخدام في العالم الحقيقي

يقوم العملاء بالفعل بتجربة نماذج Hugging Face على SageMaker. سيجوروس بوليفار، وهي شركة مالية وتأمينية كولومبية تأسست عام 1939 ، على سبيل المثال.

"قمنا بتطوير حل الإخطار بالتهديدات للعملاء ووسطاء التأمين. نستخدم نماذج البرمجة اللغوية العصبية المدربة مسبقًا على Hugging Face لتصنيف التغريدات من الحسابات ذات الصلة لإنشاء إشعارات لعملائنا في الوقت الفعلي تقريبًا كإستراتيجية وقائية للمساعدة في تخفيف المطالبات. تحدث المطالبة لأن العملاء ليسوا على دراية بمستوى المخاطر التي يتعرضون لها. يتيح لنا الحل زيادة الوعي لدى عملائنا ، وتحويل المخاطر إلى شيء يمكن قياسه في مواقف ملموسة ".

- جوليان ريكو ، رئيس قسم الأبحاث والمعرفة في Seguros Bolívar.

عمل Seguros Bolívar مع AWS لإعادة تصميم حلولهم ؛ يعتمد الآن على SageMaker ويشبه الذي تم وصفه في هذا المنشور.

وفي الختام

يعتبر تصنيف Zero-shot مثاليًا عندما يكون لديك القليل من البيانات لتدريب مصنف نص مخصص أو عندما لا يمكنك تحمل تكلفة تدريب نموذج NLP مخصص. بالنسبة لحالات الاستخدام المتخصصة ، عندما يعتمد النص على كلمات أو مصطلحات محددة ، فمن الأفضل استخدام نموذج تصنيف خاضع للإشراف يعتمد على مجموعة تدريب مخصصة.

في هذا المنشور ، أوضحنا لك كيفية إنشاء مصنف أخبار باستخدام نموذج Hugging Face zero-shot على AWS. استخدمنا Twitter كمصدر أخبار خاص بنا ، ولكن يمكنك اختيار مصدر إخباري أكثر ملاءمة لاحتياجاتك الخاصة. علاوة على ذلك ، يمكنك بسهولة تغيير النموذج ، فقط حدد النموذج الذي اخترته في قالب CloudFormation.

للحصول على كود المصدر ، ارجع إلى مستودع جيثب يتضمن تعليمات الإعداد الكاملة. يمكنك استنساخه وتغييره ونشره وتشغيله بنفسك. يمكنك أيضًا استخدامه كنقطة بداية وتخصيص الفئات ومنطق التنبيه أو إنشاء حل آخر لحالة استخدام مماثلة.

يرجى المحاولة ، وإعلامنا برأيك. كما هو الحال دائمًا ، نتطلع إلى تلقي ملاحظاتك. يمكنك إرسالها إلى جهات اتصال AWS Support المعتادة ، أو في ملف منتدى AWS لـ SageMaker.


عن المؤلفين

قم ببناء نظام تنبيه في الوقت الفعلي قائم على الأخبار باستخدام Twitter و Amazon SageMaker و Hugging Face PlatoBlockchain Data Intelligence. البحث العمودي. عاي.ديفيد لاريدو هو مهندس النماذج الأولية في AWS Envision Engineering في أمريكا اللاتينية ، حيث ساعد في تطوير نماذج أولية متعددة للتعلم الآلي. عمل سابقًا كمهندس للتعلم الآلي وقام بالتعلم الآلي لأكثر من 5 سنوات. مجالات اهتمامه هي البرمجة اللغوية العصبية ، والسلاسل الزمنية ، و ML من طرف إلى طرف.

قم ببناء نظام تنبيه في الوقت الفعلي قائم على الأخبار باستخدام Twitter و Amazon SageMaker و Hugging Face PlatoBlockchain Data Intelligence. البحث العمودي. عاي.رافائيل ويرنيك هو كبير مهندسي النماذج الأولية في AWS Envision Engineering ، ومقرها في البرازيل. عمل سابقًا كمهندس تطوير برمجيات في Amazon.com.br و Amazon RDS Performance Insights.

قم ببناء نظام تنبيه في الوقت الفعلي قائم على الأخبار باستخدام Twitter و Amazon SageMaker و Hugging Face PlatoBlockchain Data Intelligence. البحث العمودي. عاي.فيكرام إيلانجو هو مهندس حلول متخصص في الذكاء الاصطناعي / التعلم الآلي في Amazon Web Services ، ومقرها في فرجينيا ، الولايات المتحدة الأمريكية. يساعد Vikram عملاء الصناعة المالية والتأمينية في التصميم والقيادة الفكرية لبناء ونشر تطبيقات التعلم الآلي على نطاق واسع. يركز حاليًا على معالجة اللغة الطبيعية ، والذكاء الاصطناعي المسؤول ، وتحسين الاستدلال ، وتوسيع ML عبر المؤسسة. في أوقات فراغه ، يستمتع بالسفر والتنزه والطهي والتخييم مع عائلته.

الطابع الزمني:

اكثر من التعلم الآلي من AWS