Skip to content

توسيم الأحداث

إنشاء هياكل أحداث متعددة العلاقات مع محفزات وحجج مصنفة لاستخراج المعلومات.

توسيم الأحداث

يتيح توسيم الأحداث إنشاء هياكل أحداث متعددة العلاقات لمهام استخراج المعلومات. تتكون الأحداث من نطاق محفز (الكلمة أو العبارة التي تشير إلى الحدث) ونطاقات حجج (نطاقات كيانات بأدوار دلالية مصنفة).

يُستخدم هذا النوع من التوسيم عادةً لاستخراج المعلومات، وكشف الأحداث، وتوسيم الأدوار الدلالية، وبناء رسوم المعرفة.

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

يتطلب توسيم الأحداث تعريف مخطط توسيم نطاقات أولاً، يوفر نطاقات الكيانات المستخدمة كمحفزات وحجج.

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

خيارات الإعدادات

أنواع الأحداث

يحدد كل نوع حدث:

الخاصيةالنوعمطلوبالوصف
typestringنعماسم نوع الحدث (مثل "ATTACK" أو "HIRE")
colorstringلالون التصور (افتراضي: تعيين تلقائي)
trigger_labelslistلاتسميات النطاقات المسموح بها كمحفزات (فارغ = أي نطاق)
argumentslistنعمقائمة تعريفات الحجج

الحجج

يحدد كل حجة:

الخاصيةالنوعمطلوبالوصف
rolestringنعماسم الدور الدلالي (مثل "attacker" أو "target")
entity_typeslistلاتسميات النطاقات المسموح بها لهذا الدور (فارغ = أي نطاق)
requiredbooleanلاما إذا كان يجب ملء هذه الحجة (افتراضي: 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)

سير عمل الاستخدام

  1. إنشاء نطاقات الكيانات: وسِّم نطاقات الكيانات باستخدام أداة توسيم النطاقات (انقر واسحب لتحديد النص، ثم اختر تسمية)
  2. اختيار نوع الحدث: انقر على زر نوع الحدث (مثل "ATTACK") للدخول في وضع إنشاء الحدث
  3. اختيار المحفز: انقر على نطاق لتعيينه كمحفز للحدث. إذا كان trigger_labels معدًا، فقط النطاقات ذات التسميات المطابقة يمكن اختيارها
  4. تعيين الحجج: لكل دور حجة، انقر على زر الدور لتفعيله، ثم انقر على نطاق لتعيينه. يجب ملء الحجج المطلوبة قبل إنشاء الحدث
  5. إنشاء الحدث: بمجرد ملء جميع الحجج المطلوبة، انقر على "إنشاء حدث" للحفظ
  6. عرض الأحداث: تظهر الأحداث المنشأة في قسم "الأحداث الموجودة" مع محفزاتها وحججها

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

المدخلات

يعمل توسيم الأحداث مع أي صيغة بيانات نصية:

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

أفضل الممارسات

  1. استخدم أسماء أنواع وصفية - اختر أسماء أنواع أحداث واضحة وغير غامضة تعكس المعنى الدلالي
  2. قيّد المحفزات بشكل مناسب - استخدم trigger_labels لتحديد النطاقات التي يمكن أن تكون محفزات. للأحداث القائمة على الأفعال، أنشئ تسمية "EVENT_TRIGGER" مخصصة
  3. وازن بين الحجج المطلوبة والاختيارية - حدد الحجج الأساسية كمطلوبة، لكن اسمح بحجج اختيارية للسياق الذي قد لا يكون موجودًا دائمًا
  4. استخدم قيود أنواع الكيانات - فرض قيود دلالية على الحجج (مثل "attacker" يجب أن يكون PERSON أو ORGANIZATION)

قراءة إضافية

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