Skip to content

ربط الكيانات

ربط توسيمات النطاقات بقواعد المعرفة الخارجية مثل Wikidata وUMLS أو APIs مخصصة.

ربط الكيانات

يتيح ربط الكيانات للموسِّمين ربط توسيمات النطاقات بقواعد المعرفة الخارجية مثل Wikidata أو UMLS. يُنشئ هذا روابط دلالية بين إشارات النص والكيانات المرجعية، وهو قيّم للتعرف على الكيانات المسماة، وتطبيع المفاهيم، وبناء رسوم المعرفة.

كيف يعمل

عندما يكون ربط الكيانات مفعلاً لمخطط توسيم نطاقات:

  1. يميّز الموسِّمون النص ويعينون تسمية (مثل "PERSON" أو "ORGANIZATION")
  2. يظهر رمز ربط على شريط التحكم في النطاق
  3. النقر على الرمز يفتح نافذة بحث للعثور على كيانات مطابقة في قاعدة المعرفة
  4. يتم تخزين معرّف الكيان المحدد مع توسيم النطاق
  5. تعرض النطاقات المرتبطة رمزًا ممتلئًا وتظهر تفاصيل الكيان عند التمرير

البدء السريع

فعّل ربط الكيانات بإضافة إعدادات entity_linking لمخطط نطاقات:

yaml
annotation_schemes:
  - annotation_type: span
    name: ner
    description: Named Entity Recognition with KB linking
    labels:
      - name: PERSON
        tooltip: "People's names"
      - name: ORGANIZATION
        tooltip: "Companies, agencies, institutions"
      - name: LOCATION
        tooltip: "Places, cities, countries"
    entity_linking:
      enabled: true
      knowledge_bases:
        - name: wikidata
          type: wikidata
          language: en

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

الخيارالنوعالافتراضيالوصف
enabledbooleanfalseتفعيل ربط الكيانات لهذا المخطط
knowledge_baseslist[]قائمة إعدادات قواعد المعرفة
auto_searchbooleantrueالبحث تلقائيًا عند فتح النافذة
requiredbooleanfalseطلب ربط الكيان قبل حفظ النطاق
multi_selectbooleanfalseالسماح بالربط بكيانات متعددة

إعدادات قاعدة المعرفة

الخيارالنوعالافتراضيالوصف
namestringمطلوبمعرّف فريد لقاعدة المعرفة
typestringمطلوبنوع قاعدة المعرفة: wikidata أو umls أو rest
api_keystringnullمفتاح API للخدمات المصادق عليها
base_urlstringnullعنوان URL الأساسي لـ REST APIs
languagestring"en"رمز اللغة لنتائج البحث
timeoutinteger10مهلة الطلب بالثواني

قواعد المعرفة المدعومة

Wikidata

قاعدة معرفة مفتوحة ومجانية تحتوي على أكثر من 100 مليون كيان. لا تتطلب مفتاح API.

yaml
entity_linking:
  enabled: true
  knowledge_bases:
    - name: wikidata
      type: wikidata
      language: en

تتميز بتسميات متعددة اللغات، وأسماء بديلة للكيانات (مثل "NYC" تجد "New York City")، وروابط لمقالات Wikipedia.

UMLS

مصطلحات طبية وبيولوجية شاملة. تتطلب مفتاح API مجاني من UTS.

yaml
entity_linking:
  enabled: true
  knowledge_bases:
    - name: umls
      type: umls
      api_key: ${UMLS_API_KEY}

تتضمن مفاهيم طبية، وأدوية، وأمراض، وإجراءات، وإشارات متبادلة لأكثر من 200 مفردات مصدرية (SNOMED CT، ICD-10، MeSH، RxNorm).

REST APIs مخصصة

اتصل بأي قاعدة معرفة عبر REST API:

yaml
entity_linking:
  enabled: true
  knowledge_bases:
    - name: internal_kb
      type: rest
      base_url: https://api.example.com
      api_key: optional_api_key
      extra_params:
        search_endpoint: /search
        entity_endpoint: /entity/{entity_id}
        search_query_param: q
        results_path: data.results
        entity_id_field: id
        label_field: name
        description_field: description

قواعد معرفة متعددة

أعدّ قواعد معرفة متعددة للسماح للموسِّمين باختيار المصدر الأنسب:

yaml
entity_linking:
  enabled: true
  knowledge_bases:
    - name: wikidata
      type: wikidata
      language: en
    - name: umls
      type: umls
      api_key: ${UMLS_API_KEY}
    - name: company_entities
      type: rest
      base_url: https://internal.company.com/api/entities

تتيح قائمة منسدلة في نافذة البحث للموسِّمين التبديل بين قواعد المعرفة المعدة.

وضع الاختيار المتعدد

فعّل الاختيار المتعدد للسماح بربط نطاق بكيانات متعددة، مفيد للإشارات الغامضة:

yaml
entity_linking:
  enabled: true
  multi_select: true
  knowledge_bases:
    - name: wikidata
      type: wikidata
      language: en

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

تتضمن النطاقات المرتبطة بالكيانات حقولاً إضافية في المخرجات:

json
{
  "id": "instance_001",
  "text": "Albert Einstein was born in Ulm, Germany in 1879.",
  "annotations": {
    "ner": {
      "spans": [
        {
          "text": "Albert Einstein",
          "start": 0,
          "end": 15,
          "label": "PERSON",
          "kb_id": "Q937",
          "kb_source": "wikidata",
          "kb_label": "Albert Einstein"
        },
        {
          "text": "Ulm",
          "start": 28,
          "end": 31,
          "label": "LOCATION",
          "kb_id": "Q3012",
          "kb_source": "wikidata",
          "kb_label": "Ulm"
        }
      ]
    }
  }
}

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

  1. فعّل البحث التلقائي للكفاءة - يملأ البحث مسبقًا بنص النطاق
  2. لا تطلب الربط إلا عند الضرورة - لا تعرقل التوسيم إذا لم يُعثر على الكيان
  3. حدد مهلات مناسبة للشبكات البطيئة
  4. طابق قاعدة المعرفة مع نوع الكيان - استخدم Wikidata للكيانات العامة، وUMLS للمصطلحات الطبية، وAPIs مخصصة للكيانات المتخصصة
  5. استخدم الاختيار المتعدد للإشارات الغامضة - الاختصارات، والأسماء الشائعة، والمصطلحات متعددة المعاني

قراءة إضافية

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