4. Kiến thức nền tảng

Các kiến thức cần nắm vững cho Track 2


🏥 Medical Named Entity Recognition (NER)

NER = trích xuất thực tử có ý nghĩa từ văn bản tự do.

Đặc thù y khoa:

  • Thuật ngữ chuyên ngành, viết tắt
  • Đồng nghĩa, đa nghĩa
  • Lỗi chính tả
  • Abbreviation không chuẩn

Kiến trúc phổ biến:

  • PhoBERT (BERT for Vietnamese) — chuẩn cho NER tiếng Việt (135M params, chạy CPU được)
  • BioBERT — pre-trained trên PubMed articles
  • PubMedBERT — pre-trained từ đầu trên PubMed

📋 ICD-10 (International Classification of Diseases, 10th Revision)

  • Chuẩn quốc tế về mã bệnh
  • Cấu trúc: [A-Z][0-9]{2}(.[0-9]{1,2})?
  • VD: K21.0 = Trào ngược thực quản có viêm, K21.9 = Trào ngược thực quản không viêm
  • Nguồn dữ liệu:

Mapping strategy:

Entity text → Chuẩn hóa (lowercase, remove stopwords)
    → Fuzzy match ICD-10 description
    → Top-k candidates
    → Hoặc: embedding → cosine similarity

💊 RxNorm

  • Chuẩn mã thuốc của Hoa Kỳ
  • Mỗi concept có RxCUI (RxNorm Concept Unique Identifier)
  • Các Term Type (TTY) quan trọng:
    TTYÝ nghĩaVí dụ
    INIngredient (hoạt chất)nystatin (7597)
    PINPrecise Ingredient
    SCDSemantic Clinical Drugnystatin 100000 UNT/ML Oral Suspension
    SBDSemantic Branded DrugMycostatin 100000 UNT/ML Oral Suspension
    BNBrand NameMycostatin

Các vấn đề khi mapping:

  1. Ingredient vs Clinical Drug — BTC output mẫu dùng IN (7597) thay vì SCD (373136) cho nystatin
  2. Range liều — 325-650 mg: chọn lower bound (325mg)
  3. Generic vs Brand — ưu tiên generic
  4. Multi-ingredient — thuốc phối hợp → cần làm rõ span và candidate

Nguồn dữ liệu:


🔗 Ontological Reasoning

Ontology = biểu diễn tri thức dưới dạng:

  • Concepts (khái niệm)
  • Relations (quan hệ)
  • Properties (thuộc tính)

Trong bài toán này:

  • Concept: disease, drug, symptom, lab test
  • Relation: Treats (thuốc → bệnh), HasSymptom (bệnh → triệu chứng)
  • Context: isNegated, isFamily, isHistorical

🧪 Contextual Reasoning (Negation Detection)

Có thể implement bằng:

  1. Rule-based (dependency parsing):
    (negation_word) + (entity) → isNegated
    
  2. Model-based: Fine-tune NER model với BIO tags mở rộng
  3. LLM-based: Prompt LLM để xác định context

📊 Metrics (cần confirm từ BTC)

Các metric thường dùng cho bài toán này:

  • Entity-level F1 — span + type accuracy
  • Code mapping accuracy — ICD-10 / RxNorm match rate
  • Assertion accuracy — F1 cho negation/family/history
  • Levenshtein-based — cho span boundary

⏳ Cần chờ BTC công bố evaluation metric chính thức


🗂️ Public medical datasets (tham khảo)

DatasetLanguageTask
i2b2 2010ENConcept extraction + assertion
n2c2ENClinical NER + relation
MedMentionsENBiomedical NER
VNMedNERVIVietnamese medical NER
PhoNERVIVietnamese NER (general)