Skip to content

محرك القياس النفسي

نظرية استجابة المفردة للتعليق التوضيحي. يحصل كل تصنيف على احتمال بعدي وفترة ثقة بدل تصويت أغلبية مجرّد، ولا يحتاج النموذج إلى تصنيفات ذهبية ولا إلى LLM كي يُلائَم.

جديد في الإصدار v2.7.0

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

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

قدرة المعلّق مقدَّرة لحظياً مع فترات ثقة، فيحصل كل تصنيف على احتمال بعدي بدل تصويت مجرّد.

التهيئة

yaml
# Adaptive routing is opt-in via the standard assignment strategy key.
# Omit this line to keep your existing strategy and use psychometrics
# as a pure analytics layer.
assignment_strategy: psychometric
 
# Give items a redundancy target so early-stopped items translate into
# concrete saved judgments on the dashboard.
num_annotators_per_item: 4
 
psychometrics:
  enabled: true
  schema: sarcasm            # scheme to model; default: first radio/likert scheme
  refit_interval: 5          # refit after this many new labels (fits are ~ms)
  min_observations: 20       # cold-start gate before adaptive routing engages
  min_annotators_per_item: 2 # never early-stop an item below this many annotators
  confidence_threshold: 0.95 # posterior at which an item counts as resolved
  cost_per_judgment: 0.08    # optional: expresses savings in currency
  discrimination_flag_threshold: -0.2  # codebook-bug flag sensitivity

المخططات المدعومة فئوية أحادية الاختيار: radio وlikert (تُعامَل نقاط likert فئات اسمية). أما المخططات متعددة الاختيار فغير منمذجة.

تصنيفات بأشرطة خطأ

بدل sarcastic (2 of 3 votes)، يقول التصدير sarcastic, p = 0.94 [0.88 – 0.97]. الاحتمال هو الاحتمال البعدي للنموذج، وهو يزن من صوّت لا عددهم وحده، والفترة شريط حساسية بمقدار ±1 خطأ معياري فوق تقديرات القدرة.

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

قدرة المعلّق، معروضة بصدق

تُقدَّر القدرة θ من أنماط الاتفاق. القيمة 1.0 هي المسبق لمعلّق جديد، و0 تعني أن تصنيفاته لا تحمل أي معلومة، والقيم السالبة تعني الخطأ المنهجي. ويأتي كل تقدير مصحوباً بخطئه المعياري: فالمعلّق الذي أنجز 12 تصنيفاً له شارب عريض، ولوحة التحكم تقول ذلك.

لا تتخذ قرارات تتعلق بالأشخاص بناءً على شارب عريض. فالأخطاء المعيارية تقريبية (معلومات Fisher عند المنوال) ومتفائلة قليلاً بحكم بنائها.

كاشف أخطاء دليل الترميز

تُقدَّر صعوبة العنصر مع القدرة في آن واحد، لكن الإشارة الأنفع هي التمييز: الارتباط بين قدرة المعلّق وصواب الإجابة على كل عنصر.

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

التوجيه التكيّفي

مع assignment_strategy: psychometric، حين يطلب معلّق عملاً تُرتَّب العناصر المتبقية بحسب مكسب المعلومات المتوقع بخطوة واحدة تماماً من تصنيف ذلك المعلّق لـذلك العنصر. فتذهب العناصر عالية اللايقين إلى المعلّقين الأعلى قدرة أولاً، وتتوقف العناصر التي تجاوز احتمالها البعدي confidence_threshold (بعدد معلّقين لا يقل عن min_annotators_per_item) عن استهلاك الميزانية. ومقارنةً بتصميم ثابت بعدد N لكل عنصر، تُحتسب الأحكام الموفَّرة على لوحة التحكم، وتُسعَّر إن ضبطت cost_per_judgment.

ملاحظتان تشغيليتان:

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

تحليل القوة قبل أن تنفق

كل مشروع تعليق توضيحي يخمّن الإجابة عن سؤال "كم معلّقاً لكل عنصر؟" ويجيب عنه مصمّم الدراسة بمحاكاة مونت كارلو ببذرة ثابتة:

bash
python -m potato.psychometrics.design --items 500 --accuracy 0.75 \
    --classes 3 --target-ci 0.10 --cost 0.08
text
ann/item   alpha     95% interval   width  majority acc  judgments       cost
       2   0.392 [ 0.330,  0.439]   0.109         0.751       1000      80.00
       3   0.388 [ 0.338,  0.431]   0.093         0.864       1500     120.00  <- recommended

التوصية هي أصغر تكرار تكون فترة الثقة 95% لقيمة Krippendorff's α عنده أضيق من --target-ci، أي أرخص تصميم ما زال يعطي تقدير اتفاق دقيقاً بما يمكن الدفاع عنه. ويُقاس مُدخَل --accuracy على أفضل وجه بدراسة تجريبية صغيرة. والتحليل نفسه متاح على لوحة التحكم وعبر واجهة برمجة تطبيقات المشرف (GET /psychometrics/api/design).

ويمكنك أيضاً تشغيل هذا تفاعلياً في المتصفح عبر حاسبة قوة التعليق التوضيحي.

نقاط النهاية

تتطلب كل نقاط النهاية صلاحية مشرف (RBAC عبر VIEW_ADMIN_DASHBOARD؛ ويمرّ كذلك وضع التصحيح ومفتاح API المشترك للمشرف).

نقطة النهايةالغرض
GET /psychometrics/dashboardلوحة التحكم الحية
GET /psychometrics/api/statsتجميعات لوحة التحكم (تفرض ملاءمة جديدة)
GET /psychometrics/api/exportتصدير مثرى: احتمالات بعدية وأشرطة وقدرات
GET /psychometrics/api/designتحليل القوة

علاقة هذا بـ MACE

يتضمن Potato أيضاً MACE، التي تقدّر كفاءة المعلّقين والتصنيفات المتوقعة بوصفها تحليلات لاحقة. والاثنتان قريبتان من الأدبيات نفسها لكن بوظيفتين مختلفتين.

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

استخدم MACE لقراءة سريعة للكفاءة على أي مخطط فئوي (فهي تغطي multiselect أيضاً). واستخدم القياس النفسي حين تريد قياساً واعياً بالصعوبة يتصرّف في الدراسة أثناء جريانها.

استكشاف الأخطاء وإصلاحها

  • لوحة التحكم تقول "قيد الإحماء" بلا نهاية. يحتاج النموذج إلى تصنيفين متمايزين على الأقل وإلى تداخل بين المعلّقين. فمع معلّق واحد أو تصنيفات إجماعية تكون الملاءمة منحلّة بحكم التصميم. أضف معلّقين أو اخفض min_observations.
  • assignment_strategy: psychometric مضبوطة لكن التوجيه يبدو عشوائياً. هذا هو الرجوع إلى العشوائي في البداية الباردة. راجع مقياس الإحماء وmin_observations.
  • القدرات كلها قريبة من 1.0 بشوارب عريضة. التداخل غير كافٍ بعد. وتتمايز القدرات كلما راكم المعلّقون عناصر مشتركة.
  • خطأ 404 على /psychometrics/.... كتلة psychometrics.enabled: true غير موجودة في ملف التهيئة.

قراءات إضافية