Skip to content

توسيم الحوار

توسيم المحادثات والنصوص متعددة العناصر مع خيارات عرض خاصة.

توسيم الحوار والقوائم

يدعم Potato توسيم البيانات متعددة العناصر حيث يحتوي كل عنصر على قائمة من العناصر النصية. يُستخدم هذا عادةً لـ:

  • توسيم الحوار: المحادثات ذات الأدوار المتعددة
  • المقارنة الزوجية: مقارنة نسختين أو أكثر من النص
  • مهام المستندات المتعددة: تقييم أو توسيم نصوص متعددة مرتبطة

صيغة البيانات

بيانات الإدخال

يتم تمثيل البيانات متعددة العناصر كقائمة من النصوص في حقل text:

json
{"id": "conv_001", "text": ["Tom: Isn't this awesome?!", "Sam: Yes! I like you!", "Tom: Great!", "Sam: Awesome! Let's party!"]}
{"id": "conv_002", "text": ["Tom: I am so sorry for that", "Sam: No worries", "Tom: Thanks for your understanding!"]}

كل نص في القائمة يمثل عنصرًا واحدًا (مثل دور حوار أو نسخة مستند).

الإعدادات

الإعداد الأساسي

yaml
# Data configuration
data_files:
  - data/dialogues.json
 
item_properties:
  id_key: id
  text_key: text
 
# Configure list display
list_as_text:
  text_list_prefix_type: none  # No prefix since speaker names are in text
  alternating_shading: true    # Shade every other turn for readability
 
# Annotation schemes
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    description: "What is the overall sentiment of this conversation?"
    labels:
      - positive
      - neutral
      - negative

خيارات العرض

يتحكم إعداد list_as_text في كيفية عرض عناصر القائمة:

yaml
list_as_text:
  text_list_prefix_type: alphabet  # Prefix type for items
  horizontal: false                # Layout direction
  alternating_shading: false       # Shade alternate turns

أنواع البادئات

الخيارالمثالالأفضل لـ
alphabetA. B. C.المقارنات الزوجية، الخيارات
number1. 2. 3.الأدوار المتتالية، القوائم المرتبة
bullet. . .العناصر غير المرتبة
none(بدون بادئة)الحوار مع أسماء المتحدثين في النص

خيارات التخطيط

الخيارالوصف
horizontal: falseتخطيط عمودي (افتراضي) - عناصر متراصة
horizontal: trueتخطيط جنبًا إلى جنب - للمقارنة الزوجية
alternating_shading: trueتظليل كل دور آخر للحوار

أمثلة الإعدادات

توسيم الحوار

yaml
annotation_task_name: Dialogue Analysis
 
data_files:
  - data/dialogues.json
 
item_properties:
  id_key: id
  text_key: text
 
list_as_text:
  text_list_prefix_type: none
  alternating_shading: true
 
annotation_schemes:
  - annotation_type: span
    name: certainty
    description: Highlight phrases expressing certainty or uncertainty
    labels:
      - certain
      - uncertain
    sequential_key_binding: true
 
  - annotation_type: radio
    name: sentiment
    description: What sentiment does the conversation hold?
    labels:
      - positive
      - neutral
      - negative
    sequential_key_binding: true

مقارنة النصوص الزوجية

yaml
annotation_task_name: Text Comparison
 
data_files:
  - data/pairs.json
 
item_properties:
  id_key: id
  text_key: text
 
list_as_text:
  text_list_prefix_type: alphabet
  horizontal: true
 
annotation_schemes:
  - annotation_type: radio
    name: preference
    description: Which text is better?
    labels:
      - A is better
      - B is better
      - Equal

مثال عملي

يتوفر مثال عملي كامل في project-hub/dialogue_analysis/:

bash
python potato/flask_server.py start project-hub/dialogue_analysis/configs/dialogue-analysis.yaml -p 8000

صيغة البيانات النموذجية:

json
{"id":"1","text":["Tom: Isn't this awesome?!", "Sam: Yes! I like you!", "Tom: great!", "Sam: Awesome! Let's party!"]}
{"id":"2","text":["Tom: I am so sorry for that", "Sam: No worries", "Tom: thanks for your understanding!"]}

نصائح

  1. أسماء المتحدثين: ضمّن أسماء المتحدثين في النص (مثل "Tom: Hello") عند استخدام text_list_prefix_type: none للحوار

  2. توسيم النطاقات: عند استخدام توسيم النطاقات مع بيانات الحوار، يمكن للموسِّمين تمييز النص في أي من الأدوار المعروضة

  3. اختيار البادئة:

    • استخدم none للحوار حيث تكون أسماء المتحدثين مضمنة في النص
    • استخدم number عندما يكون ترتيب التسلسل مهمًا
    • استخدم alphabet لمهام المقارنة الزوجية
  4. سهولة القراءة: فعّل alternating_shading للحوارات الطويلة لمساعدة الموسِّمين على تتبع الدور الذي يقرأونه

  5. مهام المقارنة: استخدم horizontal: true مع بادئات alphabet للمقارنة جنبًا إلى جنب

قراءة إضافية

لمزيد من التفاصيل التقنية، راجع الوثائق المصدرية.