توسيم الحوار
توسيم المحادثات والنصوص متعددة العناصر مع خيارات عرض خاصة.
توسيم الحوار والقوائم
يدعم Potato توسيم البيانات متعددة العناصر حيث يحتوي كل عنصر على قائمة من العناصر النصية. يُستخدم هذا عادةً لـ:
- توسيم الحوار: المحادثات ذات الأدوار المتعددة
- المقارنة الزوجية: مقارنة نسختين أو أكثر من النص
- مهام المستندات المتعددة: تقييم أو توسيم نصوص متعددة مرتبطة
صيغة البيانات
بيانات الإدخال
يتم تمثيل البيانات متعددة العناصر كقائمة من النصوص في حقل text:
{"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!"]}كل نص في القائمة يمثل عنصرًا واحدًا (مثل دور حوار أو نسخة مستند).
الإعدادات
الإعداد الأساسي
# 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 في كيفية عرض عناصر القائمة:
list_as_text:
text_list_prefix_type: alphabet # Prefix type for items
horizontal: false # Layout direction
alternating_shading: false # Shade alternate turnsأنواع البادئات
| الخيار | المثال | الأفضل لـ |
|---|---|---|
alphabet | A. B. C. | المقارنات الزوجية، الخيارات |
number | 1. 2. 3. | الأدوار المتتالية، القوائم المرتبة |
bullet | . . . | العناصر غير المرتبة |
none | (بدون بادئة) | الحوار مع أسماء المتحدثين في النص |
خيارات التخطيط
| الخيار | الوصف |
|---|---|
horizontal: false | تخطيط عمودي (افتراضي) - عناصر متراصة |
horizontal: true | تخطيط جنبًا إلى جنب - للمقارنة الزوجية |
alternating_shading: true | تظليل كل دور آخر للحوار |
أمثلة الإعدادات
توسيم الحوار
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مقارنة النصوص الزوجية
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/:
python potato/flask_server.py start project-hub/dialogue_analysis/configs/dialogue-analysis.yaml -p 8000صيغة البيانات النموذجية:
{"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!"]}نصائح
-
أسماء المتحدثين: ضمّن أسماء المتحدثين في النص (مثل "Tom: Hello") عند استخدام
text_list_prefix_type: noneللحوار -
توسيم النطاقات: عند استخدام توسيم النطاقات مع بيانات الحوار، يمكن للموسِّمين تمييز النص في أي من الأدوار المعروضة
-
اختيار البادئة:
- استخدم
noneللحوار حيث تكون أسماء المتحدثين مضمنة في النص - استخدم
numberعندما يكون ترتيب التسلسل مهمًا - استخدم
alphabetلمهام المقارنة الزوجية
- استخدم
-
سهولة القراءة: فعّل
alternating_shadingللحوارات الطويلة لمساعدة الموسِّمين على تتبع الدور الذي يقرأونه -
مهام المقارنة: استخدم
horizontal: trueمع بادئاتalphabetللمقارنة جنبًا إلى جنب
قراءة إضافية
- المقارنة الزوجية - توسيم المقارنة جنبًا إلى جنب
- توسيم النطاقات - تمييز النص في أدوار الحوار
- Radio والاختيار المتعدد - تصنيف المحادثات
لمزيد من التفاصيل التقنية، راجع الوثائق المصدرية.