لنقم بمراجعة التغيّر الذي طرأ على الإنترنت قبل 10 سنوات من الآن، لقد ولّد الإنترنت كميات هائلة من المعطيات تتوفّر في أشكال مختلفة: نصيّة، وصوتيّة، ومصوّرة، أمّا مصادر المعطيات النصيّة فيمكن أن تكون تقييمات المستخدمين أو العملاء حول منتجات معيّنة، المنشورات، التعليقات، التغريدات، مقالات إخبارية ومعلومات مختلفة على صفحات الويب، إلخ.
أبسط تعريف لمعالجة اللغات الطبيعية هو إجراء معالجة وتحليل للغات الطبيعية (المَحكية) المتمثّلة في نصوص؛ بهدف الوصول إلى تفاعل أمثل بين البشر والحاسوب.
بالعودة إلى موضوع المقالة الرئيس، فإن تحليل المشاعر أحد أهمّ فروع معالجة اللغات الطبيعية.
نقصد بتحليل المشاعر: عملية استخراج أنماط مفيدة من البيانات النصية، هذه الأنماط المفيدة تتضمّن تفسير وتصنيف المشاعر إلى: حيادية، أو إيجابية، أو سلبية، من تلك البيانات باستخدام تقنيات تحليل معيّنة.
من وجهة نظر تجارية، تستطيع الشركات من خلال تحليل آراء المستخدمين عبر استطلاعات الرأي أو تفاعلهم (منشوراتهم أو تعليقاتهم عن منتج معين) على مواقع التواصل الاجتماعي الاستجابةَ لحاجاتهم، وتحسين خدماتهم ومنتجاتهم كي تناسب تلك الاحتياجات.
على سبيل المثال، إحدى الشركات استخدمت تحليل المشاعر بتحليل أكثر من 4 آلاف رأي عن منتج معين خاص به، واكتشفت الشركة أن تلك الآراء كانت راضية عن سعر هذا المنتج لكنها في المقابل تشتكي من خدمة العملاء في الشركة.
ما تساعدنا به هذه المعلومات ليس فهم السياق الحالي لموضوع معين فحسب، وإنما تمكّننا من التنبؤ بالمستقبل أيضًا، بالإضافة إلى إمكانية استخدام تلك المعلومات المُضمّنة في النصوص لحساب مؤشر الإيجابية/السلبيّة، وهو مؤشر مهم في عملية اتخاذ القرار.
مثال على ذلك: استخدام بعض الحكومات نتائجَ تحليل المشاعر خلال حملاتهم الانتخابية.
تحليل المشاعر قائم على عدة نماذج (بحسب الهدف) انطلاقًا من النماذج التي تهتم بالقطبيّة فقط (إيجابي، سلبي، حيادي)، ومرورًا بالنماذج القادرة على تحديد العاطفة (غضب، حبّ، سعادة…)، انتهاءً بتلك التي تُعنى بكشف النوايا (مهتمّ، غير مهتمّ).
نستعرض في هذه المقالة أهم تلك النماذج.
في بعض المسائل تكون دقة القطبية مطلوبة، ومن ثم يتمّ توسيع أصناف القطبية كالآتي:
إيجابي جدًا
إيجابي
حيادي
سلبي
سلبي جدًا
ويمكن أيضًا مشاهدة أصناف هذا النموذج على شكل تقييم عددي، مثل تلك التقييمات التي تعتمد على خمس نجمات.
إيجابي جدّاً =
سلبي جدًا =
في هذا النموذج يكون الهدف تحديد العواطف، مثل: السعادة، الخوف، الغضب، إلخ، ويُستعمل هنا المعاجم عادةً (قائمة من الكلمات مع ما يقابلها من عواطف متعلقة بها)، ويمكن أيضًا استعمال خوارزميات التعلّم التلقائي.
هنا يجدر الإشارة إلى أنه عند استعمال تلك المعاجم، تظهر مشكلة اختلاف العواطف التي تحملها الكلمات وخصوصًا أن البشر يمكن أن يعبّروا عن عواطفهم بطرائق مختلفة.
مثال على ذلك: “يا سلام!”، فيمكن أن تحمل معنى الفرح أو معنًى سلبيًّا كالسخرية مثلاً.
عند تحليل المشاعر لنصوص خاصة بآراء المستخدمين عن منتج معين مثلاً، يكون من الضروري معرفة أي ميزة أو سمة أشار إليها المستخدمون بآرائهم سلبًا أو إيجابًا.
مثال على ذلك: “كاميرة الجهاز سيئة، أما البطارية فهي جيدة جدًا“.
في المثال السابق تكمن الحاجة لهذا النوع من النماذج، الذي يقوم بتحليل المشاعر المرتبطة بجوانب معينة من المنتج، وليس الحكم عليه كلِّه بجودته أو رداءته.
تعتمد أنظمة تحليل المشاعر على عدد من خوارزميات وطرائق معالجة اللغات الطبيعية، وسنقوم بذكرها فيما يلي:
المنهجيات المعتمدة على القواعد
المنهجيات المعتمدة على تقنيات تعلّم الآلة
المنهجيات الهجينة
تعتمد هذه المنهجيات على تعريف مجموعة من القواعد يدويًّا لتحديد القطبية والكيان المُستهدف (اسم المنتج مثلًا).
بعض التقنيات المُستخدمة لبناء تلك القواعد:
التجذيع (stemming)، وتقسيم الكلام (tokenization)، والتحليل (parsing).
المعاجم (مجموعة من الكلمات والتعابير مع ما يقابلها من المشاعر).
مثال:
إنشاء سلسلتين من الكلمات التي تحدد القطبية بشكل مباشر (الكلمات السلبية، مثل: سيئ، فاشل…، والكلمات الإيجابية، مثل: جيّد، رائع…).
عدّ الكلمات التي تحمل مشاعر إيجابية والكلمات التي تحمل مشاعر سلبية، الموجودة في سياق معيّن.
إن كان عدد الكلمات الإيجابية < عدد الكلمات السلبيّة، كانت النتيجة شعورًا إيجابيًّا، والعكس بالعكس، وفي حال التساوي فالنتيجة تكون “حيادي“.
مشكلة هذه المنهجيات أنها لا تعتد بالسياق أو تراكُب الكلمات. يمكن أن نفكر في زيادة عدد القواعد أو استخدام آليات معالجة متقدمة، إلا أن ذلك يترتب عليه زيادة كبيرة في تعقيد النظام، وكلفة زمنية كبيرة أيضًا.
على عكس المنهجية السابقة فإن هذه المنهجيات لا تعتمد على قواعد مكتوبة يدويًّا، وإنما على خوارزميات تعلّم الآلة. تعد مسألة تحليل المشاعر من مسائل التصنيف (classification problem)، فيكون مُدخَلُ هذا المصنف مُعطياتٍ نصيّة، ومُخرَجُه أحدَ أصناف المشاعر (مثلًا: إيجابي، سلبي، حيادي).
يوضّح الشكل الآتي آلية عمل مصنّف تحليل المشاعر:
مرحلتا التدريب والتنبّؤ
خلال مرحلة التدريب (أ) يتعلّم المصنِّف كيفية مقابلة (ربط) مُدخَل معيّن (نص أو جملة) مع المُخرَج الموافق (إيجابي مثلا)، وذلك من خلال عينة الاختبار المستخدمة للتدريب، ليصبح بعد عدد كافٍ من عيّنات التدريب قادرًا على تعميم النتائج على عينات لم يتدرب عليها سابقًا، وذلك في مرحلة التنّبؤ.
كيف يتمّ هذا الربط فعليًّا؟
في أي مسألة معالجة لغات طبيعية بواسطة إحدى خوارزميات تعلّم الآلة، نحتاج إلى تحويل النص إلى لغة يفهمها المصنّف، هذه اللغة أبجديتها أعداد، ومن ثم فإن المُدخَل يتحول إلى شعاع/أشعة عددية تمثل أشعة السّمات، فمُخرَج مرحلة استخراج السّمات هو أزواج من أشعة السّمات مع مقابلاتها من الأصناف (حيادي، سلبي…) وفق عيّنة الاختبار.
أما في مرحلة التنبؤ (ب) فتستخرج السمات كذلك لمعطيات جديدة لم يُعرف تصنيفها، على شكل أشعة عددية، لتُعمم النتائج التي تدرّب عليها في المرحلة السابقة (أ) وتحديد الأصناف.
السخرية
يمكن أن يقوم الناس بالتعبير عن استيائهم باستخدام كلمات إيجابية (يا سلام عليكم!)، فيكون من الصعب على الآلة فهم المشاعر المقصودة وراء هذه الجملة دون سياق.
الوجوه التعبيرية (Emojis)
تلعب الوجوه التعبيرية دورًا مهمًّا في تحديد المشاعر وخصوصًا في على منصات التواصل الاجتماعي، عادة يتم تحويل هذه الرموز إلى كلمات تحمل الشعور المقابل. مثلا: يتم تحويل (:D) إلى “وجه مبتسم” ومن ثم فإن كلمة مبتسم إيجابية.
https://monkeylearn.com/sentiment-analysis/