تعليق النطاقات
تحديد نطاقات النص وتصنيفها في Potato لاستخراج الكيانات المسماة والعلاقات والمشاعر. اضبط أنواع النطاقات والألوان والنطاقات المتداخلة واختصارات لوحة المفاتيح.
يتيح تعليق النطاقات للمُعلّقين تحديد أجزاء من النص وتصنيفها، ويُستخدم عادةً في التعرّف على الكيانات المسماة (NER)، ووسم أقسام الكلام، ومهام تظليل النص.
تعليق النطاقات مع تصنيفات كيانات ملوّنة في Potato
الإعداد الأساسي
annotation_schemes:
- annotation_type: span
name: entities
description: "Highlight named entities in the text"
labels:
- PERSON
- ORGANIZATION
- LOCATIONخيارات الإعداد
تصنيفات الكيانات
حدّد أنواع النطاقات التي يمكن للمُعلّقين إنشاؤها:
labels:
- PERSON
- ORGANIZATION
- LOCATION
- DATE
- EVENTالألوان
خصّص الألوان لتمييز بصري أوضح:
colors:
PERSON: "#3b82f6"
ORGANIZATION: "#10b981"
LOCATION: "#f59e0b"
DATE: "#8b5cf6"
EVENT: "#ec4899"يمكن أن تكون الألوان بصيغة hex (#ff0000) أو RGB (rgb(255, 0, 0)).
اختصارات لوحة المفاتيح
سرّع التعليق بربط المفاتيح:
keyboard_shortcuts:
PERSON: "1"
ORGANIZATION: "2"
LOCATION: "3"
DATE: "4"التلميحات
قدّم إرشادًا لكل تصنيف:
tooltips:
PERSON: "Names of people, characters, or personas"
ORGANIZATION: "Companies, agencies, institutions"
LOCATION: "Physical locations, addresses, geographic regions"النطاقات المتداخلة
السماح بالتداخل
فعّل النطاقات التي يمكن أن تتداخل:
- annotation_type: span
name: entities
labels:
- PERSON
- ROLE
allow_discontinuous: trueهذا مفيد حين يمكن أن يحمل النص نفسه أكثر من تصنيف (مثلًا "Dr. Smith" هو PERSON وله ROLE في الوقت نفسه).
تعطيل التداخل (الافتراضي)
- annotation_type: span
name: entities
labels:
- PERSON
- ORGANIZATION
allow_discontinuous: false # Default behaviorأوضاع تحديد النطاق
التحديد على مستوى الكلمة
تحديد الكلمات الكاملة فقط:
- annotation_type: span
name: entities
labels:
- ENTITYالتحديد على مستوى الحرف
السماح بتحديد أجزاء من الكلمات:
- annotation_type: span
name: entities
labels:
- ENTITYالنطاقات المُعلّقة مسبقًا
حمّل تعليقات موجودة للمراجعة أو التصحيح:
{
"id": "doc1",
"text": "John Smith works at Microsoft in Seattle.",
"spans": [
{"start": 0, "end": 10, "label": "PERSON"},
{"start": 20, "end": 29, "label": "ORGANIZATION"},
{"start": 33, "end": 40, "label": "LOCATION"}
]
}اضبط الإعداد لتحميل التعليقات المسبقة:
- annotation_type: span
name: entitiesإعدادات NER الشائعة
NER القياسي (4 أنواع)
- annotation_type: span
name: ner
description: "Label named entities"
labels:
- PER # Person
- ORG # Organization
- LOC # Location
- MISC # Miscellaneous
sequential_key_binding:
PER: "1"
ORG: "2"
LOC: "3"
MISC: "4"NER الموسّع (بأسلوب OntoNotes)
- annotation_type: span
name: ner_extended
labels:
- PERSON
- NORP # Nationalities, religious/political groups
- FAC # Facilities
- ORG
- GPE # Geopolitical entities
- LOC
- PRODUCT
- EVENT
- WORK_OF_ART
- LAW
- LANGUAGE
- DATE
- TIME
- PERCENT
- MONEY
- QUANTITY
- ORDINAL
- CARDINALNER الطبي الحيوي
- annotation_type: span
name: bio_ner
labels:
- GENE
- PROTEIN
- DISEASE
- DRUG
- SPECIESNER لوسائل التواصل الاجتماعي
- annotation_type: span
name: social_ner
labels:
- PERSON
- ORGANIZATION
- LOCATION
- PRODUCT
- CREATIVE_WORK
- GROUPالنطاق مع سمات إضافية
أضف سمات إلى النطاقات للحصول على تعليق أغنى:
annotation_schemes:
- annotation_type: span
name: entities
labels:
- PERSON
- ORGANIZATION
- annotation_type: radio
name: entity_type
description: "What type of entity is this?"
labels:
- Named
- Nominal
- Pronominalمخططات نطاق متعددة
علّق جوانب مختلفة كلًّا على حدة:
annotation_schemes:
# Named entities
- annotation_type: span
name: entities
description: "Label named entities"
labels:
- PERSON
- ORGANIZATION
- LOCATION
# Sentiment expressions
- annotation_type: span
name: sentiment_spans
description: "Highlight sentiment expressions"
labels:
- POSITIVE
- NEGATIVEتعليق النطاقات متعدد الحقول
جديد في الإصدار 2.1.0
يمكن لتعليق النطاقات أن يستهدف حقول نص محددة في البيانات متعددة الحقول باستخدام الخيار target_field. هذا مفيد حين تحتوي بياناتك على عدة حقول نصية وتريد تعليق النطاقات في حقل بعينه.
الإعداد
annotation_schemes:
- annotation_type: span
name: source_entities
description: "Label entities in the source text"
labels:
- PERSON
- ORGANIZATION
- annotation_type: span
name: summary_entities
description: "Label entities in the summary"
labels:
- PERSON
- ORGANIZATIONصيغة البيانات متعددة الحقول
يجب أن تتضمن بياناتك الحقول النصية المنفصلة:
{
"id": "doc1",
"source_text": "John Smith works at Microsoft in Seattle.",
"summary": "Smith is employed by Microsoft."
}صيغة المخرجات
عند استخدام target_field، تُفهرَس التعليقات حسب الحقل:
{
"id": "doc1",
"source_entities": {
"source_text": [
{"start": 0, "end": 10, "text": "John Smith", "label": "PERSON"},
{"start": 20, "end": 29, "text": "Microsoft", "label": "ORGANIZATION"}
]
},
"summary_entities": {
"summary": [
{"start": 0, "end": 5, "text": "Smith", "label": "PERSON"},
{"start": 22, "end": 31, "text": "Microsoft", "label": "ORGANIZATION"}
]
}
}للاطلاع على مثال كامل يعمل، انظر project-hub/simple_examples/simple-multi-span/ في مستودع Potato.
خيارات العرض
إظهار التصنيف داخل النطاق
اعرض نص التصنيف داخل النطاقات المظللة:
- annotation_type: span
name: entitiesنمط التسطير
استخدم التسطير بدلًا من تظليل الخلفية:
- annotation_type: span
name: entitiesصيغة المخرجات
تُحفَظ تعليقات النطاقات مع إزاحات الأحرف:
{
"id": "doc1",
"entities": [
{
"start": 0,
"end": 10,
"text": "John Smith",
"label": "PERSON"
},
{
"start": 20,
"end": 29,
"text": "Microsoft",
"label": "ORGANIZATION"
}
]
}مثال كامل: مهمة NER
annotation_task_name: "Named Entity Recognition"
data_files:
- path: data/documents.json
text_field: text
annotation_schemes:
- annotation_type: span
name: entities
description: "Highlight and label all named entities"
labels:
- PERSON
- ORGANIZATION
- LOCATION
- DATE
- MONEY
sequential_key_binding:
PERSON: "1"
ORGANIZATION: "2"
LOCATION: "3"
DATE: "4"
MONEY: "5"
allow_discontinuous: false
- annotation_type: radio
name: difficulty
description: "How difficult was this document to annotate?"
labels:
- Easy
- Medium
- Hardالنطاقات غير المتصلة
جديد في الإصدار 2.2.0
فعّل نطاقات النص غير المتجاورة عبر المعامل allow_discontinuous. يسمح هذا للمُعلّقين بتحديد عدة مقاطع نصية غير متجاورة بوصفها تعليق نطاق واحدًا، وهو مفيد للكيانات غير المتصلة أو التعبيرات المقسّمة.
- annotation_type: span
name: entities
labels:
- PERSON
- ORGANIZATION
allow_discontinuous: trueعند تفعيله، يمكن للمُعلّقين الضغط على مفتاح تعديل أثناء تحديد مقاطع نصية إضافية لإضافتها إلى النطاق الحالي. تتضمن المخرجات أزواج بداية/نهاية متعددة لكل مقطع.
التكامل مع ربط الكيانات
جديد في الإصدار 2.2.0
يمكن ربط تعليقات النطاقات بقواعد معرفة خارجية (Wikidata أو UMLS أو واجهات REST مخصصة) بإضافة كتلة إعداد entity_linking إلى مخطط النطاق:
- annotation_type: span
name: entities
labels:
- PERSON
- ORGANIZATION
- LOCATION
entity_linking:
enabled: true
knowledge_bases:
- name: wikidata
type: wikidata
language: enعند تفعيل ربط الكيانات، تظهر أيقونة رابط في شريط تحكم كل نطاق. والنقر عليها يفتح نافذة بحث للعثور على كيانات قاعدة المعرفة المطابقة وربطها. انظر توثيق ربط الكيانات للتفاصيل الكاملة.
أفضل الممارسات
- استخدم ألوانًا متمايزة لتسهيل التمييز البصري
- قدّم تلميحات واضحة مع أمثلة لكل نوع كيان
- فعّل اختصارات لوحة المفاتيح لتعليق أسرع
- استخدم التحديد على مستوى الكلمة ما لم تكن بحاجة إلى دقة على مستوى الحرف
- فكّر في التعليق المسبق لتسريع سير عمل التصحيح
- اختبر إعدادات التداخل بناءً على إرشادات التعليق لديك
قراءات إضافية
- ربط الكيانات - اربط النطاقات بقواعد المعرفة
- سلاسل الإشارة المرجعية المشتركة - جمّع الإشارات المتطابقة المرجع
- تعليق الأحداث - بنى أحداث متعددة الوسائط مع وسائط نطاقية
- ربط النطاقات - أنشئ علاقات بين النطاقات
- عرض العنصر - عرض محتوى متعدد الحقول مع أهداف نطاقية
- إعداد الواجهة - خصّص ألوان النطاقات
- ميزات الإنتاجية - اختصارات لوحة المفاتيح
للاطلاع على تفاصيل التنفيذ، انظر التوثيق المصدري.