
في السنوات الأخيرة ، شهدت معالجة اللغة الطبيعية (NLP) نموًا سريعًا في الجودة وسهولة الاستخدام ، وقد ساعد ذلك في زيادة اعتماد حلول الذكاء الاصطناعي (AI). في السنوات القليلة الماضية ، يطبق الباحثون أساليب التعلم العميقة الأحدث على NLP. بدأ علماء البيانات في الانتقال من الطرق التقليدية إلى خوارزميات الشبكة العصبية العميقة (SOTA) التي تستخدم نماذج اللغة التي تم تجهيزها على شركة نصية كبيرة.
يحتوي هذا المستودع على أمثلة وأفضل الممارسات لبناء أنظمة NLP ، المقدمة كداعية جوبتر ووظائف الأداة المساعدة. ينصب تركيز المستودع على الأساليب الحديثة والسيناريوهات الشائعة التي تحظى بشعبية بين الباحثين والممارسين الذين يعملون على المشكلات التي تنطوي على النص واللغة.
الهدف من هذا المستودع هو بناء مجموعة شاملة من الأدوات والأمثلة التي تستفيد من التطورات الحديثة في خوارزميات NLP ، والبنية العصبية ، وأنظمة التعلم الآلي الموزعة. يعتمد المحتوى على ارتباطاتنا المستقبلية السابقة والمحتملة مع العملاء بالإضافة إلى التعاون مع الشركاء والباحثين ومجتمع المصدر المفتوح.
نأمل أن تتمكن الأدوات من تقليل "وقت التسويق" بشكل كبير من خلال تبسيط التجربة من تحديد مشكلة العمل إلى تطوير الحل من خلال أوامر الحجم. بالإضافة إلى ذلك ، ستعمل دفاتر الملاحظات على سبيل المثال كإرشادات ويعرض أفضل الممارسات واستخدام الأدوات في مجموعة واسعة من اللغات.
في عصر التعلم النقل والمحولات والبنية العميقة ، نعتقد أن النماذج المسبقة توفر حلاً موحدًا للعديد من مشاكل العالم الحقيقي وتسمح بمعالجة المهام واللغات المختلفة بسهولة. وبالتالي ، سنعطي الأولوية لمثل هذه النماذج ، لأنها تحقق نتائج أحدث على العديد من معايير NLP مثل ألواح المتصدرين الغراء والفرق . يمكن استخدام النماذج في عدد من التطبيقات التي تتراوح من تصنيف النص البسيط إلى روبوتات الدردشة الذكية المتطورة.
لاحظ أنه لنوع معين من مشاكل NLP ، قد لا تحتاج إلى إنشاء النماذج الخاصة بك. بدلاً من ذلك ، توجد حلول مصممة مسبقًا أو قابلة للتخصيص بسهولة لا تتطلب أي خبرة مخصصة في التعلم أو تعلم الآلة. نوصي بشدة بتقييم ما إذا كانت هذه يمكن أن تحل مشكلتك بما فيه الكفاية. إذا كانت هذه الحلول غير قابلة للتطبيق ، أو أن دقة هذه الحلول ليست كافية ، فقد يكون اللجوء إلى الأساليب المخصصة الأكثر تعقيدًا وتستغرق وقتًا طويلاً. توفر الخدمات المعرفية التالية حلولًا بسيطة لمعالجة مهام NLP المشتركة:
التحليلات النصية هي مجموعة من واجهات برمجة تطبيقات REST التي تم تدريبها مسبقًا والتي يمكن استدعاؤها لتحليل المشاعر ، واستخراج العبارة الرئيسية ، والكشف عن اللغة والكشف عن الكيان المسماة والمزيد. تعمل واجهات برمجة التطبيقات هذه خارج الصندوق وتتطلب الحد الأدنى من الخبرة في التعلم الآلي ، ولكن لديها قدرات تخصيص محدودة.
QNA Maker هي خدمة واجهة برمجة تطبيقات قائمة على السحابة تتيح لك إنشاء طبقة أسئلة وأجوبة محادثة فوق بياناتك الحالية. استخدمه لإنشاء قاعدة للمعرفة عن طريق استخراج الأسئلة والأجوبة من محتواك شبه منظم ، بما في ذلك الأسئلة الشائعة ، والأدلة ، والوثائق.
فهم اللغة هي خدمة SaaS لتدريب ونشر نموذج كأوبر واجهة برمجة تطبيقات REST نظرًا لمجموعة تدريب مقدمة من المستخدم. يمكنك القيام بتصنيف النوايا بالإضافة إلى استخراج الكيان المسماة من خلال إجراء خطوات بسيطة لتوفير كلام مثال ووضع العلامات عليها. إنه يدعم التعلم النشط ، لذلك يحافظ النموذج دائمًا على التعلم والتحسن.
بالنسبة لهذا المستودع ، يشمل جمهورنا المستهدف علماء البيانات ومهندسي التعلم الآلي الذين لديهم مستويات مختلفة من المعرفة NLP لأن المحتوى لدينا هو المصدر فقط ويستهدف نمذجة التعلم الآلي المخصص. تهدف المرافق والأمثلة المقدمة إلى أن تكون مسرعات حل لمشاكل NLP في العالم الحقيقي.
يهدف المستودع إلى توسيع قدرات NLP على طول ثلاثة أبعاد منفصلة
نهدف إلى الحصول على أمثلة شاملة للمهام والسيناريوهات الشائعة مثل تصنيف النص ، والتعرف على الكيان المسماة وما إلى ذلك.
نهدف إلى دعم نماذج متعددة لكل من السيناريوهات المدعومة. حاليًا ، يتم دعم النماذج القائمة على المحولات عبر معظم السيناريوهات. لقد عملنا على دمج حزمة Transformers من Hugging Face والتي تتيح للمستخدمين تحميل النماذج المسبقة بسهولة وضبطها لمهام مختلفة.
نشترك بقوة في المبادئ المتعددة اللغات التي وضعتها "إميلي بندر"
يهدف المستودع إلى دعم اللغات غير الإنجليزية في جميع السيناريوهات. النماذج المدربة مسبقًا المستخدمة في المستودع مثل Bert ، تدعم FastText 100+ لغة خارج الصندوق. هدفنا هو توفير أمثلة شاملة في أكبر عدد ممكن من اللغات. نشجع مساهمات المجتمع في هذا المجال.
فيما يلي ملخص لسيناريوهات NLP شائعة الاستخدام المغطاة في المستودع. يتم توضيح كل سيناريو في واحد أو أكثر من أمثلة دفتر Jupyter التي تستخدم قاعدة التعليمات البرمجية الأساسية للنماذج ومرافق المستودع.
| سيناريو | النماذج | وصف | اللغات |
|---|---|---|---|
| تصنيف النص | Bert ، Distillbert ، XLNET ، Roberta ، Albert ، XLM | تصنيف النص هو طريقة تعليمية خاضعة للإشراف للتعلم والتنبؤ بالفئة أو فئة المستند الممنوح محتوى النص. | الإنجليزية ، الصينية ، الهندية ، العربية ، الألمانية ، الفرنسية ، اليابانية ، الإسبانية ، الهولندية |
| اسم التعرف على الكيان | بيرت | التعرف على الكيان المسماة (NER) هو مهمة تصنيف الكلمات أو العبارات الرئيسية للنص إلى كيانات محددة مسبقًا ذات أهمية. | إنجليزي |
| تلخيص النص | Bertsumext بيرتسوماب Unilm (S2S-FT) وميد | تلخيص النص هو مهمة توليد اللغة لتلخيص نص الإدخال في فقرة نصية أقصر. | إنجليزي |
| استنتج | بيرت ، xlnet ، روبرتا | الاستفادة النصية هي مهمة تصنيف العلاقة الثنائية بين نصين باللغة الطبيعية والنص والفرضية ، لتحديد ما إذا كان النص يتفق مع الفرضية أم لا. | إنجليزي |
| إجابة سؤال | Bidaf ، Bert ، XLNET | الإجابة على الأسئلة (QA) هي مهمة استرداد أو إنشاء إجابة صالحة لاستعلام معين باللغة الطبيعية ، مزودًا بمقطع يتعلق بالاستعلام. | إنجليزي |
| تشابه الجملة | بيرت ، جنسن | تشابه الجملة هو عملية حساب درجة التشابه بالنظر إلى زوج من المستندات النصية. | إنجليزي |
| التضمين | Word2Vec fasttext قفاز | التضمين هو عملية تحويل كلمة أو قطعة من النص إلى مساحة متجه مستمر من العدد الحقيقي ، عادة ، في البعد المنخفض. | إنجليزي |
| تحليل المشاعر | محلل التبعية قفاز | يوفر مثالًا على تحليل المشاعر القائمة على الجوانب مع Azure ML و Intel NLP Architect. | إنجليزي |
أثناء حل مشكلات NLP ، من الجيد دائمًا البدء بالخدمات المعرفية المسبقة. عندما تكون الاحتياجات خارج حدود الخدمة المعرفية المسبقة ، وعندما تريد البحث عن أساليب التعلم الآلي المخصص ، ستجد هذا المستودع مفيدًا للغاية. للبدء ، انتقل إلى دليل الإعداد ، والذي يسرد الإرشادات حول كيفية إعداد بيئتك وتبعياتك.
Azure Machine Learning Service هي خدمة سحابية تستخدم لتدريب نماذج التعلم الآلي ونشرها وأتمتة وإدارة الآلة ، وكلها على نطاق واسع توفرها السحابة. يتم تقديم AzureMl في دفاتر الملاحظات عبر سيناريوهات مختلفة لتعزيز كفاءة تطوير أنظمة اللغة الطبيعية على نطاق واسع ومختلف المهام المتعلقة بتطوير نموذج الذكاء الاصطناعي مثل:
لتشغيل دفاتر الملاحظات هذه بنجاح ، ستحتاج إلى اشتراك Azure أو يمكنك تجربة Azure مجانًا . قد تكون هناك خدمات أو منتجات Azure الأخرى المستخدمة في دفاتر الملاحظات. سيتم تقديم مقدمة و/أو مرجع لتلك في دفاتر الملاحظات نفسها.
نأمل أن يساهم مجتمع المصدر المفتوح في المحتوى وجلب أحدث خوارزمية SOTA. يرحب هذا المشروع بالمساهمات والاقتراحات. قبل المساهمة ، يرجى الاطلاع على إرشادات المساهمة الخاصة بنا.
Bootstrap حل ملخص النص الخاص بك مع أحدث إصدار من NLP-Recipes
أصبح التعليق التوضيحي للنص سهلاً مع Doccano
JumpStart تحليل بيانات النص الهندية الخاصة بك باستخدام مستودع NLP
تسريع تطور حلول معالجة اللغة الطبيعية مع التعلم الآلي Azure
فيما يلي قائمة بالمستودعات ذات الصلة التي نحبها ونعتقد أنها مفيدة لمهام NLP.
| مستودع | وصف |
|---|---|
| محولات | مكتبة Pytorch رائعة من معانقة الوجه مع تطبيقات النماذج الشعبية القائمة على المحولات. لقد استخدمنا حزمةهم على نطاق واسع في هذا الريبو ونقدر كثيرًا جهودهم. |
| Azure Machine Learning Notebooks | ML وأمثلة التعلم العميق مع التعلم الآلي Azure. |
| Azureml-bert | الوصفات من طرف إلى طرف ل BERT قبل التدريب وضبط الأزياء باستخدام خدمة التعلم الآلي Azure. |
| كتلة | الكتلة: تسلسل ملثمين للتسلسل قبل التدريب لتوليد اللغة. |
| Mt-Dnn | متعددة المهام الشبكات العصبية العميقة لفهم اللغة الطبيعية. |
| يونيلم | نموذج اللغة الموحدة قبل التدريب. |
| حوار | مربع الحوار: التدريب الواسع النطاق قبل التدريب لتوليد الاستجابة للمحادثة |
| يبني | فرع | حالة |
|---|---|---|
| Linux CPU | يتقن | |
| Linux CPU | التدريج | |
| Linux GPU | يتقن | |
| Linux GPU | التدريج |