تقرير لوحة القيادة - المشاعر العامة

هذا هو إصدار SQL لتقرير لوحة المعلومات للمشاعر العام.

:discourse: يتطلب هذا التقرير تمكين المكون الإضافي Discourse AI و تحليل المشاعر.

يقارن تقرير لوحة المعلومات هذا عدد المنشورات المصنفة على أنها إيجابية أو سلبية باستخدام الذكاء الاصطناعي “المشاعر”، على مدى فترة زمنية محددة.

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

-- [params]
-- date :start_date = 2024-01-13
-- date :end_date = 2024-02-14
-- double :threshold = 0.60

SELECT
    DATE_TRUNC('day', p.created_at)::DATE AS date,
    COUNT(CASE WHEN (classification->>'positive')::float > :threshold THEN 1 ELSE NULL END) AS positive_sentiment_posts,
    COUNT(CASE WHEN (classification->>'negative')::float > :threshold THEN 1 ELSE NULL END) AS negative_sentiment_posts,
    COUNT(CASE WHEN (classification->>'positive')::float > :threshold THEN 1 ELSE NULL END) - COUNT(CASE WHEN (classification->>'negative')::float > :threshold THEN 1 ELSE NULL END) AS overall_sentiment
FROM
    classification_results AS cr
    INNER JOIN posts p ON p.id = cr.target_id AND cr.target_type = 'Post'
    INNER JOIN topics t ON t.id = p.topic_id
    INNER JOIN categories c ON c.id = t.category_id
WHERE
    t.archetype = 'regular' AND
    p.user_id > 0 AND
    cr.model_used = 'cardiffnlp/twitter-roberta-base-sentiment-latest' AND
    (p.created_at > :start_date AND p.created_at < :end_date)
GROUP BY
    DATE_TRUNC('day', p.created_at)

شرح استعلام SQL

يعمل استعلام SQL عن طريق تنفيذ الخطوات التالية:

  • تعريف المعلمات: يبدأ بتعريف ثلاث معلمات:
    • :start_date و :end_date لتحديد النطاق الزمني للتحليل.
    • :threshold لتعيين الحد الأدنى للدرجة لتصنيف المشاعر على أنها إيجابية أو سلبية. القيمة الافتراضية لـ :threshold مضبوطة على 60 لتتوافق مع تقرير لوحة المعلومات.
  • اختيار البيانات وربطها:
    • يختار الاستعلام البيانات من جدول classification_results، الذي يخزن نتائج تحليل المشاعر على المنشورات.
    • يربط classification_results بجدول posts لتصفية المنشورات بناءً على تاريخ إنشائها ويضمن أن التحليل مخصص للمنشورات فقط (cr.target_type = 'Post').
    • تضمن الروابط الإضافية مع جدولي topics و categories أن يقتصر التحليل على المنشورات العادية في فئات معينة.
  • تصنيف المشاعر:
    • لكل منشور، يتحقق من درجة المشاعر من جدول classification_results. إذا كانت درجة المشاعر الإيجابية أكبر من العتبة، فإنه يعد المنشور إيجابيًا. وبالمثل، فإنه يعد المنشور سلبيًا إذا تجاوزت درجة مشاعره السلبية العتبة.
  • التجميع:
    • ثم يقوم الاستعلام بتجميع النتائج حسب اليوم، بناءً على الطابع الزمني created_at لكل منشور. لكل يوم، يقوم بحساب:
      • إجمالي عدد المنشورات الإيجابية.
      • إجمالي عدد المنشورات السلبية.
      • المشاعر العام، وهو الفرق بين إجمالي عدد المنشورات الإيجابية والسلبية.

نتائج مثال

date positive_sentiment_posts negative_sentiment_posts overall_sentiment
2024-01-13 10 21 -11
2024-01-14 11 20 -9
2024-01-15 23 7 16
2024-01-16 27 10 17
2024-01-17 47 22 25
5 إعجابات

تم تقسيم 9 مشاركات إلى موضوع جديد: مشاكل مع الملء العاطفي

لقد حاولت تشغيل هذا، وحصلت على 0 نتيجة، ومع ذلك لدينا تحليل للمشاعر وتذاكر الذكاء الاصطناعي، يمكنني رؤيتها في تقرير الواجهة الأمامية هذا ولكن ليس من هذا الاستعلام.

مرحباً صوفي،

متى قمت بتمكين تحليل المشاعر على موقعك؟

إذا اخترت فبراير 2024 كتاريخ نهاية في هذا الاستعلام، فهل تم تمكين التحليل قبل ذلك؟

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

قد تحتاج إلى تعديل المعلمات التالية في الاستعلام لمطابقة التواريخ التي تتطلع إلى عرض المشاعر عليها في موقعك:

-- date :start_date = 2024-01-13
-- date :end_date = 2024-02-14