تتوفر الآن خدمات تصنيف المشاعر عبر الإنترنت الآن. يقدم عمالقة مثل Google أو Amazon أو Microsoft حلولها السحابية لمعالجة اللغة الطبيعية. ولكن إذا كنت لا تخطط لدفع 1-2 $ مقابل 1000 مكالمة API (زيادة الأسعار عندما يكون للمراجعة أكثر من 1000 حرف) و/أو تكون جاهزًا لإعداد خدمة التصنيف المحلية أو برنامجك ، فيمكنك استخدام المصنفات غير المتصلة بالإنترنت. هناك العديد من مصنفات .NET للحالة غير المتصلة بالإنترنت التي ستتم مناقشتها في هذا المنشور. سيتم تغطية الموضوعات التالية هنا:
-[ما هو تحليل المشاعر؟] (#ما هو التحليل الجنسي)
ما هو تصنيف المشاعر (التحليل)؟
يعد تصنيف المشاعر طريقة قوية لفهم ما يشعر به العملاء تجاه منتجك (منتجاتك) أو الخدمة (الخدمات). يمكن أن يساعدك أيضًا في مهمة مراقبة العلامة التجارية. يتيح لك تصنيف المشاعر تصنيف مشاعر الناس وتعليقاتهم التي ينشرونها على وسائل التواصل الاجتماعي أو المدونات أو المقالات. هناك العديد من التصنيفات الشائعة التي تستخدم لتصنيف المشاعر.
- الثنائية:
- سلبي؛
- إيجابي؛
- 3 فئات:
- سلبي؛
- حيادي؛
- إيجابي؛
- 5 فصول
- من 1 إلى 5 نجوم في جميع الحالات ، تكون المشاعر السلبية هي الأكثر أهمية للتحليل. لذا فإن المهمة الرئيسية التي يجب أن يحلها مصنف المشاعر “هل هذا النص سلبي؟” و “كم هو سلبي؟”.
Metrics
الدقة هي مقياس بسيط وواضح. لديها عيوب معروفة عندما تكون الطبقات غير متوازنة. ومع ذلك ، يمكن استخدامه في حالتنا من الطبقات المتوازنة. كما أنه يستخدم على نطاق واسع في الأدب العلمي. لا يمكن مقارنة المصنفات المدرجة أدناه إلا في مهام التصنيف الثنائية لأن أحدها ليس لديه فئة “محايدة”.
تصنيف المشاعر في وضع عدم الاتصال (C#)
هناك العديد من المكتبات C# يمكن العثور عليها عبر Google و Nuget E.T.C. ولكن يجب فحصها يدويًا لأن العديد منهم في الواقع مجرد SDKs لواجهة برمجة التطبيقات السحابية. تم جمع الحزم التالية بعد التحقق اليدوي لتصنيف المشاعر C# المكتبات:
- groupdocs.classification ؛
- Vadersharp ؛
- Stanfordnlp ؛
- العاطفي المحلل ؛
- wikiled. انهم جميعا تصنيف المشاعر في وضع عدم الاتصال C# مكتبات. دعونا نصفهم بمزيد من التفصيل.
groupdocs.classification
الترخيص: ملف ترخيص
تعقيد التثبيت: سهل ** الدقة:**93.3 (التقييم) / 96.3 (مرخص) {.wp-block-heading} GroupDocs.Classification هي مكتبة مع محركها المدمج الخاص به للتصنيف النصوص والوثائق. النماذج هي أيضا جزء من حزمة nuget. التثبيت بسيط: تحتاج فقط إلى تثبيت حزمة nuget. هناك فرق بين التقييم والإصدارات المرخصة. بالنسبة لإصدار التقييم ، يجب عليك تقسيم النص إلى أجزاء من 100 حرف ثم متوسط النتائج. GroupDocs.Classification يُظهر دقة 93.3 ٪ في وضع التقييم و 96.3 ٪ عند تطبيق الترخيص.
Vadersharp
الترخيص: معهد ماساتشوستس للتكنولوجيا
تعقيد التثبيت: سهل الدقة: 77.6 ٪ {.wp-block-heading} Vadersharp هو حل شائع لتصنيف المشاعر C# (تحليل). إنه يعمل بسرعة كبيرة ويعالج الرسائل في الثانية على جهاز كمبيوتر منزلي منتظم ، وليس حول آلات الخادم. التثبيت بسيط أيضًا (فقط قم بتثبيت nuget حزمة). ومع ذلك ، هناك أيضًا عيب مهم: الدقة ليست مثالية مثل وقت المعالجة. يحقق دقة 78 ٪ على مجموعة بيانات الاختبار.
StanfordNLP
الترخيص: GPL V2
تعقيد التثبيت: صعب. الدقة: 70 ٪ {.wp-block-heading} Stanford NLP مكتبة C# تستند إلى مكتبة Java المقابلة لمعالجة اللغة الطبيعية. هناك بعض الصعوبات في التثبيت. من الضروري تثبيت إصدار Java من Stanford NLP ونسخ النماذج إلى الدليل الحالي للبرنامج إذا لزم الأمر. هناك أيضًا مشكلات مع .NET Core 3.0 التوافق. دقة ووقت المعالجة غير مستقرة لهذه المكتبة ويبدو أنها تعتمد على طول النص. بالنسبة للنصوص القصيرة من مجموعة بيانات SST-2 ، فإنه يحقق دقة 80.2 ٪ مع ثوانٍ على سبيل المثال وقت المعالجة. للنصوص الأطول من النطاق عبر المجال ، تنخفض الدقة إلى 70 ٪. ويزيد وقت المعالجة إلى 1 دقيقة أو أكثر لكل نص.
superimentanalyzer
الترخيص: معهد ماساتشوستس للتكنولوجيا
تعقيد التثبيت: متوسط الدقة: 79.1 ٪ {.wp-block-heading} هذه المكتبة هي ml.net. أثناء التثبيت ، قد تكون هناك مشاكل تتعلق بعمل ML.NET. هذه مكتبة غير آمنة ، فهي تتطلب التكوين (x86 / x64) بشكل صريح ، وقد تحتاج إلى تثبيت بعض التبعيات أيضًا. SumentAnalyzer يعيد الطبقة الإيجابية أو السلبية والنتيجة المقابلة. هذا هو السبب في استخدام مهمة التصنيف الثنائي لهذه المقارنة. يمكن تحقيق أفضل نتيجة مع عتبة محددة بدقة. وصلت الدقة 79 ٪ بعد تحسين قيمة العتبة.
wikiled
الترخيص: ترخيص Apache 2.0
تعقيد التثبيت: بسيط الدقة: لا شيء {.wp-block-heading} مكتبة تصنيف المشاعر C# أخرى هي wikiled. يجب تدريب هذه المكتبة قبل الاختبار لإنتاج نتائج كافية. لذلك لا يمكن حساب الدقة للمكتبة.
مجموعات البيانات
استخدمنا مجموعة بيانات عبر المجال لأغراض الاختبار. GroupDocs.Classification لم يتم تدريبه على ذلك. على الأرجح لم يستخدمها بقية المكتبات في التدريب أيضًا. سنرسل النتيجة إلى أي طرف مهتم عن طريق البريد الإلكتروني. يرجى إنشاء مشكلة في repo github. 14: Stanford Sentiment Treebank (Socher et al. 2013. Recursive deep models for semantic compositionality over a sentiment treebank. In proc. EMNLP).
نتائج
يوضح الجدول 1 الدقة (٪) للمصنفات التي تم تجربتها. الجدول 1.
SST-2 | النطاق المتقاطع | |
---|---|---|
GroupDocs.Classification | 93.3 (مرخص: 94.7) | 93.3 (مرخص: 96.3) |
العاطفة الحداثة | 58.5 | 79.1 |
ستانفورد NLP | 80.7 | ~ 70 |
Vadersharp | 68.7 | 77.6 |
معظمهم يظهر نتائج مختلفة لهذه البيانات 2. يبدو أن سبب مثل هذا السلوك هو أن نصوص SST-2 أقصر من النصوص عبر المجال. كان هناك أيضًا بعض الشنق خلال اختبار Stanford NLP على CrossDomain للنص أطول من 500 حرف. هذا هو السبب في دقة المجال المتقاطع مع “~”. |
تحليل الأخطاء الشائعة
التصنيفات الخاطئة التالية نموذجية: _ “كما هي نجمها ، وموقفها ونسيانها.” _ - من الصعب فهم ما يعنيه الشخص. _ “snoozer جيدًا وذات نية جيدة.” _ أو _ “Gee ، قاتل ثانٍ أطلق عليه Kennedy؟” _ - السخرية أو المفارقة. _ “نقاش نقطة” _ - نصوص قصيرة جدًا. تحدث مثل هذه المشكلات في جميع منتجات تصنيف المشاعر (تحليل). على سبيل المثال ، السخرية ، إنه شخصي. لذلك ، من الصعب تدريب نموذج السخرية ويصعب تصنيفه بشكل صحيح. ولكن دعونا نأمل أن يتم القضاء على نقاط الضعف هذه في المستقبل القريب.
خاتمة
في حين أن جميع المكتبات المذكورة أعلاه قابلة للتصنيف المشاعر في C#، فإن GroupDocs.Classification هو الأكثر دقة. لذلك ، إنه أفضل ما في البحث عن المشاعر السلبية أو الإيجابية في الحجم الكبير من الإشارات و/أو المراجعات. في الختام ، تجدر الإشارة إلى أن هناك أيضًا حالة مهمة من التصنيف السلبي/المحايد/الإيجابي. وسيعتبر أيضا في المستقبل.
شفرة
نحن نقدم رمزًا تم استخدامه لهذا المدونة: {{LINE_90}}