توسيم الحوار
توسيم المحادثات والنصوص متعددة العناصر مع خيارات عرض خاصة.
يدعم 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 والاختيار المتعدد - تصنيف المحادثات
لمزيد من التفاصيل التقنية، راجع الوثائق المصدرية.