توسيم الأحداث
إنشاء هياكل أحداث متعددة العلاقات مع محفزات وحجج مصنفة لاستخراج المعلومات.
توسيم الأحداث
يتيح توسيم الأحداث إنشاء هياكل أحداث متعددة العلاقات لمهام استخراج المعلومات. تتكون الأحداث من نطاق محفز (الكلمة أو العبارة التي تشير إلى الحدث) ونطاقات حجج (نطاقات كيانات بأدوار دلالية مصنفة).
يُستخدم هذا النوع من التوسيم عادةً لاستخراج المعلومات، وكشف الأحداث، وتوسيم الأدوار الدلالية، وبناء رسوم المعرفة.
الإعداد الأساسي
يتطلب توسيم الأحداث تعريف مخطط توسيم نطاقات أولاً، يوفر نطاقات الكيانات المستخدمة كمحفزات وحجج.
yaml
annotation_schemes:
# Step 1: Define entity spans
- annotation_type: span
name: entities
description: "Label entities in the text"
labels:
- name: PERSON
color: "#3b82f6"
- name: ORGANIZATION
color: "#10b981"
- name: LOCATION
color: "#f59e0b"
- name: WEAPON
color: "#ef4444"
- name: EVENT_TRIGGER
color: "#8b5cf6"
tooltip: "Words indicating events"
# Step 2: Define event types and arguments
- annotation_type: event_annotation
name: events
description: "Annotate events with triggers and arguments"
span_schema: entities
event_types:
- type: "ATTACK"
color: "#dc2626"
trigger_labels: ["EVENT_TRIGGER"]
arguments:
- role: "attacker"
entity_types: ["PERSON", "ORGANIZATION"]
required: true
- role: "target"
entity_types: ["PERSON", "ORGANIZATION", "LOCATION"]
required: true
- role: "weapon"
entity_types: ["WEAPON"]
required: falseخيارات الإعدادات
أنواع الأحداث
يحدد كل نوع حدث:
| الخاصية | النوع | مطلوب | الوصف |
|---|---|---|---|
type | string | نعم | اسم نوع الحدث (مثل "ATTACK" أو "HIRE") |
color | string | لا | لون التصور (افتراضي: تعيين تلقائي) |
trigger_labels | list | لا | تسميات النطاقات المسموح بها كمحفزات (فارغ = أي نطاق) |
arguments | list | نعم | قائمة تعريفات الحجج |
الحجج
يحدد كل حجة:
| الخاصية | النوع | مطلوب | الوصف |
|---|---|---|---|
role | string | نعم | اسم الدور الدلالي (مثل "attacker" أو "target") |
entity_types | list | لا | تسميات النطاقات المسموح بها لهذا الدور (فارغ = أي نطاق) |
required | boolean | لا | ما إذا كان يجب ملء هذه الحجة (افتراضي: false) |
العرض المرئي
yaml
visual_display:
enabled: true # Show arc visualization (default: true)
arc_position: above # Position of arcs: "above" (default)
show_labels: true # Show role labels on arcs (default: true)سير عمل الاستخدام
- إنشاء نطاقات الكيانات: وسِّم نطاقات الكيانات باستخدام أداة توسيم النطاقات (انقر واسحب لتحديد النص، ثم اختر تسمية)
- اختيار نوع الحدث: انقر على زر نوع الحدث (مثل "ATTACK") للدخول في وضع إنشاء الحدث
- اختيار المحفز: انقر على نطاق لتعيينه كمحفز للحدث. إذا كان
trigger_labelsمعدًا، فقط النطاقات ذات التسميات المطابقة يمكن اختيارها - تعيين الحجج: لكل دور حجة، انقر على زر الدور لتفعيله، ثم انقر على نطاق لتعيينه. يجب ملء الحجج المطلوبة قبل إنشاء الحدث
- إنشاء الحدث: بمجرد ملء جميع الحجج المطلوبة، انقر على "إنشاء حدث" للحفظ
- عرض الأحداث: تظهر الأحداث المنشأة في قسم "الأحداث الموجودة" مع محفزاتها وحججها
صيغة البيانات
المدخلات
يعمل توسيم الأحداث مع أي صيغة بيانات نصية:
json
[
{
"id": "event_1",
"text": "John attacked the building with a rifle."
}
]المخرجات
يتم تخزين الأحداث بالهيكل التالي:
json
{
"event_annotations": [
{
"id": "event_abc123",
"schema": "events",
"event_type": "ATTACK",
"trigger_span_id": "span_xyz789",
"arguments": [
{"role": "attacker", "span_id": "span_def456"},
{"role": "target", "span_id": "span_ghi012"},
{"role": "weapon", "span_id": "span_jkl345"}
],
"properties": {
"color": "#dc2626",
"trigger_text": "attacked",
"trigger_label": "EVENT_TRIGGER"
}
}
]
}العرض المرئي
يعرض تصور الأقواس:
- محور (دائرة ممتلئة) في موقع المحفز
- أذرع (أسهم) تتصل بكل حجة
- تسميات الأدوار على كل ذراع
- الأحداث مرمزة بالألوان حسب النوع
يتم تكديس الأحداث المتعددة عموديًا لتجنب التداخل.
مثال كامل
yaml
annotation_schemes:
- annotation_type: span
name: entities
description: "Label entities in the text"
labels:
- name: PERSON
color: "#3b82f6"
- name: ORGANIZATION
color: "#10b981"
- name: LOCATION
color: "#f59e0b"
- name: WEAPON
color: "#ef4444"
- name: EVENT_TRIGGER
color: "#8b5cf6"
- annotation_type: event_annotation
name: events
description: "Annotate events"
span_schema: entities
event_types:
- type: "ATTACK"
color: "#dc2626"
trigger_labels: ["EVENT_TRIGGER"]
arguments:
- role: "attacker"
entity_types: ["PERSON", "ORGANIZATION"]
required: true
- role: "target"
entity_types: ["PERSON", "ORGANIZATION", "LOCATION"]
required: true
- role: "weapon"
entity_types: ["WEAPON"]
required: false
- type: "HIRE"
color: "#2563eb"
trigger_labels: ["EVENT_TRIGGER"]
arguments:
- role: "employer"
entity_types: ["ORGANIZATION"]
required: true
- role: "employee"
entity_types: ["PERSON"]
required: true
- type: "TRAVEL"
color: "#059669"
trigger_labels: ["EVENT_TRIGGER"]
arguments:
- role: "traveler"
entity_types: ["PERSON"]
required: true
- role: "destination"
entity_types: ["LOCATION"]
required: true
- role: "origin"
entity_types: ["LOCATION"]
required: falseأفضل الممارسات
- استخدم أسماء أنواع وصفية - اختر أسماء أنواع أحداث واضحة وغير غامضة تعكس المعنى الدلالي
- قيّد المحفزات بشكل مناسب - استخدم
trigger_labelsلتحديد النطاقات التي يمكن أن تكون محفزات. للأحداث القائمة على الأفعال، أنشئ تسمية "EVENT_TRIGGER" مخصصة - وازن بين الحجج المطلوبة والاختيارية - حدد الحجج الأساسية كمطلوبة، لكن اسمح بحجج اختيارية للسياق الذي قد لا يكون موجودًا دائمًا
- استخدم قيود أنواع الكيانات - فرض قيود دلالية على الحجج (مثل "attacker" يجب أن يكون PERSON أو ORGANIZATION)
قراءة إضافية
- توسيم النطاقات - مطلوب لتعريف نطاقات الكيانات
- ربط النطاقات - بديل للعلاقات الثنائية
- سلاسل الإشارة المرجعية المشتركة - للإشارة المرجعية المشتركة للكيانات
لمزيد من التفاصيل التقنية، راجع الوثائق المصدرية.