Skip to content
Esta página aún no está disponible en su idioma. Se muestra la versión en inglés.

Event Annotation

Information extraction के लिए trigger और typed argument के साथ N-ary event संरचनाएँ बनाएँ।

Event Annotation

Event annotation information extraction कार्यों के लिए N-ary event संरचनाओं के निर्माण को सक्षम बनाता है। Event में एक trigger span (वह शब्द या वाक्यांश जो event को इंगित करता है) और argument span (typed semantic role वाले entity span) होते हैं।

यह annotation प्रकार आमतौर पर information extraction, event detection, semantic role labeling, और knowledge graph निर्माण के लिए उपयोग किया जाता है।

बुनियादी कॉन्फ़िगरेशन

Event annotation के लिए पहले एक span annotation स्कीमा परिभाषित करना आवश्यक है, जो trigger और argument के रूप में उपयोग किए जाने वाले entity span प्रदान करती है।

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

कॉन्फ़िगरेशन विकल्प

Event प्रकार

प्रत्येक event प्रकार परिभाषित करता है:

गुणप्रकारआवश्यकविवरण
typestringहाँEvent प्रकार का नाम (जैसे, "ATTACK", "HIRE")
colorstringनहींविज़ुअलाइज़ेशन के लिए रंग (डिफ़ॉल्ट: स्वत: असाइन)
trigger_labelslistनहींTrigger के रूप में अनुमत span लेबल (खाली = कोई भी span)
argumentslistहाँArgument परिभाषाओं की सूची

Arguments

प्रत्येक argument परिभाषित करता है:

गुणप्रकारआवश्यकविवरण
rolestringहाँSemantic role का नाम (जैसे, "attacker", "target")
entity_typeslistनहींइस role के लिए अनुमत span लेबल (खाली = कोई भी span)
requiredbooleanनहींक्या यह argument भरा होना चाहिए (डिफ़ॉल्ट: 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. Entity span बनाएँ: Span annotation टूल का उपयोग करके entity span को एनोटेट करें (टेक्स्ट चुनने के लिए क्लिक करें और खींचें, फिर लेबल चुनें)
  2. Event प्रकार चुनें: Event निर्माण मोड में प्रवेश करने के लिए event प्रकार बटन पर क्लिक करें (जैसे, "ATTACK")
  3. Trigger चुनें: Event trigger सेट करने के लिए किसी span पर क्लिक करें। यदि trigger_labels कॉन्फ़िगर है, तो केवल मिलान करने वाले लेबल वाले span ही चुने जा सकते हैं
  4. Argument असाइन करें: प्रत्येक argument role के लिए, role बटन पर क्लिक करके उसे सक्रिय करें, फिर असाइन करने के लिए किसी span पर क्लिक करें। Event बनाने से पहले आवश्यक argument भरे जाने चाहिए
  5. Event बनाएँ: सभी आवश्यक argument भर जाने के बाद, सहेजने के लिए "Create Event" पर क्लिक करें
  6. Event देखें: बनाए गए event "Existing Events" अनुभाग में उनके trigger और argument सूचीबद्ध के साथ दिखाई देते हैं

डेटा फॉर्मेट

इनपुट

Event annotation किसी भी टेक्स्ट-आधारित डेटा फॉर्मेट के साथ काम करता है:

json
[
  {
    "id": "event_1",
    "text": "John attacked the building with a rifle."
  }
]

आउटपुट

Event निम्न संरचना के साथ संग्रहीत होते हैं:

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"
      }
    }
  ]
}

दृश्य प्रदर्शन

Arc विज़ुअलाइज़ेशन दिखाता है:

  • Trigger स्थिति पर एक hub (भरा हुआ वृत्त)
  • प्रत्येक argument से जुड़ने वाले spoke (तीर)
  • प्रत्येक spoke पर role लेबल
  • Event को प्रकार के अनुसार रंग-कोड किया गया है

ओवरलैप से बचने के लिए एकाधिक event लंबवत स्टैक होते हैं।

पूर्ण उदाहरण

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. वर्णनात्मक प्रकार नाम उपयोग करें - स्पष्ट, स्पष्ट event प्रकार नाम चुनें जो semantic अर्थ दर्शाएँ
  2. Trigger को उचित रूप से सीमित करें - कौन से span trigger हो सकते हैं, इसे सीमित करने के लिए trigger_labels का उपयोग करें। क्रिया-आधारित event के लिए, एक समर्पित "EVENT_TRIGGER" लेबल बनाएँ
  3. आवश्यक बनाम वैकल्पिक argument को संतुलित करें - मुख्य argument को आवश्यक चिह्नित करें, लेकिन वैकल्पिक argument की अनुमति दें जो हमेशा मौजूद नहीं हो सकते
  4. Entity प्रकार बाधाओं का उपयोग करें - argument पर semantic बाधाएँ लागू करें (जैसे, एक "attacker" को PERSON या ORGANIZATION होना चाहिए)

अधिक पढ़ें

  • Span Annotation - Entity span परिभाषित करने के लिए आवश्यक
  • Span Linking - बाइनरी संबंधों के लिए विकल्प
  • Coreference Chains - Entity coreference के लिए

कार्यान्वयन विवरण के लिए, स्रोत दस्तावेज़ीकरण देखें।