Giới thiệu dự án
Trong lĩnh vực giáo dục và khảo thí y khoa quốc tế, kỳ thi Cấp phép Y tế Hoa Kỳ (USMLE - The United States Medical Licensing Examination) Bước 2 Kỹ năng Lâm sàng (Step 2 Clinical Skills) đóng vai trò then chốt trong việc đánh giá năng lực thực hành của sinh viên y khoa và bác sĩ nội trú. Thí sinh phải trực tiếp tương tác với Bệnh nhân chuẩn hóa (Standardized Patients - SP), sau đó viết lại phiếu ghi chú bệnh nhân (Patient Notes) mô tả tiền sử bệnh, triệu chứng cơ năng, thực thể và chẩn đoán phân biệt. Theo thống kê từ Hội đồng Giám định Y khoa Quốc gia Hoa Kỳ (NBME - National Board of Medical Examiners), hàng năm có hàng chục nghìn bài thi ghi chú lâm sàng cần được chấm điểm bởi các hội đồng bác sĩ chuyên gia. Chi phí vận hành, nhân lực và thời gian chấm thủ công tiêu tốn hàng triệu USD, đồng thời dễ phát sinh sai lệch chủ quan giữa các giám khảo.
+-----------------------------------------------------------------------------+
| NBME USMLE STEP 2 CS |
| [Standardized Patient] ---> [Medical Student/Doctor] ---> [Patient Notes] |
| | |
| v |
| [Clinical Concept Extraction Engine (DeBERTa)] <---------- [Clinical Rubric|
| Features] |
| | |
| v |
| [Predicted Character Spans: "diminished appetite", "lost 10 lbs"] |
| | |
| v |
| [Automated Scoring & Precision Clinical Feedback] |
+-----------------------------------------------------------------------------+
Vấn đề kỹ thuật cốt lõi (Problem Statement)
Thách thức lớn nhất trong việc tự động hóa chấm điểm ghi chú lâm sàng là sự bất đồng bộ giữa danh mục khái niệm chuẩn (Clinical Rubric Features - ví dụ: "giảm cảm giác thèm ăn", "tiền sử bệnh tim mạch") và biểu đạt ngôn ngữ tự nhiên tự do của thí sinh (ví dụ: "ăn ít hơn", "quần áo mặc rộng hơn", "chán ăn"). Ngoài ra, các thách thức đặc thù bao gồm:
- Biểu đạt phân tán (Non-contiguous text spans): Một khái niệm lâm sàng có thể nằm rải rác ở nhiều cụm từ không liền nhau trong văn bản (ví dụ: "shortness of breath... on exertion").
- Cấu trúc phủ định và ngữ cảnh phức tạp: Sự xuất hiện của các triệu chứng phủ định (ví dụ: "không sốt, không khó thở, không đau ngực") dễ khiến mô hình nhận diện sai thành triệu chứng dương tính nếu không nắm bắt được phụ thuộc ngữ cảnh hai chiều.
- Hiện tượng lệch biên token (Token-to-character boundary mismatch): Việc trích xuất vị trí ký tự (character offset) đòi hỏi độ chính xác tuyệt đối ở mức ký tự bắt đầu và kết thúc (start/end spans).
Mục tiêu dự án
- Xây dựng Pipeline NLP chuyển đổi bài toán: Tái cấu trúc bài toán gán nhãn khái niệm lâm sàng thành bài toán phân loại token (Token Classification) kết hợp trích xuất vị trí ký tự (Character Span Extraction).
- Khảo sát và ứng dụng kiến trúc Transformer SOTA: Đánh giá chuyên sâu các mô hình ngôn ngữ tiên tiến: BERT, RoBERTa và DeBERTa (Decoding-enhanced BERT with Disentangled Attention).
- Tối ưu hóa độ chính xác: Tinh chỉnh siêu tham số và cấu trúc mô hình DeBERTa để đạt chỉ số Micro-Averaged F1 score trên 0.88 trên tập dữ liệu chuẩn NBME.
- Chuẩn hóa giải pháp công nghệ: Xây dựng quy trình tiền xử lý, ánh xạ vị trí (
offset_mapping), hàm mất mát phân loại và hậu xử lý có khả năng ứng dụng thực tế trong hệ thống thi cử và hồ sơ bệnh án điện tử (EHR).
Phạm vi và giới hạn
- Phạm vi dữ liệu: Tập dữ liệu chuẩn gồm hàng nghìn ghi chú bệnh nhân và bảng tính chất lâm sàng do NBME công bố (ngôn ngữ tiếng Anh).
- Giới hạn kỹ thuật: Đề tài tập trung giải quyết bài toán trích xuất biểu đạt đơn ngữ lâm sàng dạng văn bản; chưa xử lý tiếng nói trực tiếp (Speech-to-Text) hoặc nhận dạng chữ viết tay thô (OCR).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Trước khi kiến trúc Transformer ra đời, bài toán trích xuất thực thể y sinh (Biomedical Named Entity Recognition - BioNER) chủ yếu dựa vào các luật biểu thức chính quy (Regex), từ điển y khoa (UMLS, SNOMED-CT) hoặc mô hình học máy chuỗi như BiLSTM kết hợp Conditional Random Fields (CRF).
| Phương pháp | Ưu điểm | Nhược điểm | F1-Score trung bình |
|---|---|---|---|
| Rule-based & Regex | Thực thi nhanh, dễ giải thích | Không hiểu ngữ cảnh, độ bao phủ kém với từ đồng nghĩa | ~0.52 - 0.60 |
| BiLSTM-CRF + Word2Vec | Nắm bắt cấu trúc chuỗi cơ bản | Khó xử lý quan hệ phụ thuộc xa, không có cơ chế chú ý tự thân | ~0.71 - 0.76 |
| BERT-Base (Devlin et al., 2018) | Biểu diễn ngữ cảnh 2 chiều | Chưa tách rời vị trí và nội dung, token masking tĩnh | ~0.81 - 0.84 |
| DeBERTa (He et al., 2020) | Cơ chế Disentangled Attention, Enhanced Mask Decoder | Chi phí tính toán huấn luyện cao hơn | > 0.88 |
Yêu cầu hệ thống theo mô hình MoSCoW
- Must-have (Bắt buộc):
- Khả năng mã hóa cặp văn bản đầu vào:
[Feature Text]+[Patient Note]. - Cơ chế ánh xạ ngược từ vị trí Token sang vị trí Ký tự gốc (
offset_mapping). - Đánh giá mô hình bằng chỉ số Micro-Averaged F1 chuẩn xác theo quy chuẩn cuộc thi NBME.
- Khả năng mã hóa cặp văn bản đầu vào:
- Should-have (Nên có):
- Kỹ thuật xác thực chéo 5-Fold Stratified Group K-Fold theo từng ca bệnh (
case_num) để chống rò rỉ dữ liệu. - Huấn luyện với độ chính xác hỗn hợp (Mixed Precision FP16) nhằm tối ưu VRAM.
- Kỹ thuật xác thực chéo 5-Fold Stratified Group K-Fold theo từng ca bệnh (
- Could-have (Có thể có):
- Cơ chế Ensemble đa mô hình (DeBERTa-v1, DeBERTa-v2, RoBERTa-Large).
- Won't-have (Chưa thực hiện):
- Giao diện web thời gian thực với chức năng nhận diện giọng nói bác sĩ.
Thiết kế hệ thống và Technology Stack
Hệ thống được thiết kế theo dạng Pipeline xử lý module hóa cao, đảm bảo tính tái sử dụng và khả năng mở rộng:
- Ngôn ngữ lập trình: Python 3.9.12
- Deep Learning Framework: PyTorch 1.11.0 / TensorFlow 2.8.0
- NLP & Transformer Ecosystem: HuggingFace
transformers==4.18.0,tokenizers==0.12.1,datasets==2.1.0 - Xử lý dữ liệu & Tính toán số học:
pandas==1.4.2,numpy==1.22.3,scipy==1.8.0 - Học máy & Đánh giá:
scikit-learn==1.0.2 - Xử lý ngôn ngữ tự nhiên phụ trợ:
spacy==3.2.4 - Trực quan hóa:
matplotlib==3.5.1,seaborn==0.11.2
Methodology (Phương pháp luận)
Dự án áp dụng quy trình phát triển lặp theo tiêu chuẩn CRISP-DM kết hợp mô hình huấn luyện Fine-tuning mô hình ngôn ngữ lớn:
- Data Exploration & Alignment: Phân tích phân phối độ dài văn bản, số lượng tính chất trên mỗi ghi chú bệnh nhân và cấu trúc nhãn offset.
- Feature Engineering & Token Formatting: Nối chuỗi đặc trưng lâm sàng với ghi chú bệnh nhân qua định dạng
[CLS] Feature [SEP] Patient Note [SEP]. - Fine-tuning DeBERTa: Tối ưu hóa hàm mất mát nhị phân đa nhãn Binary Cross-Entropy with Logits (BCEWithLogitsLoss) trên từng vị trí token.
- Span Reconstruction: Chuyển đổi xác suất token vượt ngưỡng ($Threshold \ge 0.5$) thành các đoạn vị trí ký tự liên tục hoặc gián đoạn trên chuỗi gốc.
Implementation và kết quả
Development Process & Key Algorithms
Bài toán được mô hình hóa thành việc phân loại xem từng token trong đoạn ghi chú bệnh nhân có thuộc về khái niệm lâm sàng đầu vào hay không. Việc ánh xạ chuẩn xác giữa sub-tokens và văn bản gốc được giải quyết thông qua thuộc tính offset_mapping của bộ tiền xử lý HuggingFace.
import torch
import torch.nn as nn
from transformers import AutoModel, AutoConfig, AutoTokenizer
class ClinicalDebertaModel(nn.Module):
def __init__(self, model_checkpoint: str, num_labels: int = 1):
super(ClinicalDebertaModel, self).__init__()
self.config = AutoConfig.from_pretrained(model_checkpoint)
self.config.update({"output_hidden_states": True, "hidden_dropout_prob": 0.2})
self.deberta = AutoModel.from_pretrained(model_checkpoint, config=self.config)
self.dropout = nn.Dropout(0.2)
self.classifier = nn.Linear(self.config.hidden_size, num_labels)
def forward(self, input_ids, attention_mask, token_type_ids=None):
outputs = self.deberta(
input_ids=input_ids,
attention_mask=attention_mask,
token_type_ids=token_type_ids
)
sequence_output = outputs[0] # Shape: [batch_size, seq_len, hidden_size]
sequence_output = self.dropout(sequence_output)
logits = self.classifier(sequence_output) # Shape: [batch_size, seq_len, 1]
return logits.squeeze(-1)
def prepare_input_data(tokenizer, feature_text, patient_note, max_length=512):
"""Chuẩn hóa dữ liệu đầu vào và ánh xạ offset token"""
inputs = tokenizer(
feature_text,
patient_note,
max_length=max_length,
padding="max_length",
truncation="only_second",
return_offsets_mapping=True,
return_tensors="pt"
)
return inputs
Thuật toán hậu xử lý và chuyển đổi xác suất logits thành chuỗi ký tự (character offset spans):
import numpy as np
def extract_character_spans(logits, offset_mapping, sequence_ids, threshold=0.5):
"""
Trích xuất vị trí ký tự bắt đầu và kết thúc từ logits của mô hình.
Chỉ xét các token thuộc chuỗi văn bản ghi chú bệnh nhân (sequence_id == 1).
"""
probabilities = torch.sigmoid(torch.tensor(logits)).numpy()
predictions = (probabilities >= threshold).astype(int)
char_spans = []
for pred, offsets, seq_id in zip(predictions, offset_mapping, sequence_ids):
spans = []
for p, (start_char, end_char), s_id in zip(pred, offsets, seq_id):
if s_id == 1 and p == 1 and start_char < end_char:
spans.append((start_char, end_char))
# Gộp các khoảng ký tự liên tiếp hoặc liền kề
merged_spans = []
if spans:
current_start, current_end = spans[0]
for start, end in spans[1:]:
if start <= current_end + 1:
current_end = max(current_end, end)
else:
merged_spans.append(f"{current_start} {current_end}")
current_start, current_end = start, end
merged_spans.append(f"{current_start} {current_end}")
char_spans.append(";".join(merged_spans))
return char_spans
Testing và Validation
Mô hình được kiểm thử theo quy trình nghiêm ngặt:
- Chiến lược phân chia: 5-Fold GroupKFold dựa trên mã bệnh nhân (
pn_num) nhằm đảm bảo các ghi chú của cùng một bệnh nhân không xuất hiện đồng thời trong tập huấn luyện và tập kiểm định. - Tối ưu hóa siêu tham số (Hyperparameters):
- Tốc độ học (Learning Rate): $2 \times 10^{-5}$ kết hợp Linear Decay Scheduler với Warmup Ratio = 0.1.
- Kích thước Batch (Batch Size): 8 trên mỗi GPU (kèm Gradient Accumulation Steps = 2).
- Tối ưu hóa: AdamW, Weight Decay = 0.01.
- Số lượng Epoch: 5 epochs.
F1-Score Tracking qua 5 Epochs:
Epoch 1: Loss: 0.0412 | Val Loss: 0.0215 | Val Micro-F1: 0.8124
Epoch 2: Loss: 0.0189 | Val Loss: 0.0162 | Val Micro-F1: 0.8540
Epoch 3: Loss: 0.0135 | Val Loss: 0.0148 | Val Micro-F1: 0.8755
Epoch 4: Loss: 0.0098 | Val Loss: 0.0142 | Val Micro-F1: 0.8892
Epoch 5: Loss: 0.0076 | Val Loss: 0.0145 | Val Micro-F1: 0.8918
Kết quả đạt được
Chỉ số đánh giá chính là Micro-Averaged F1 Score được tính toán trực tiếp trên từng ký tự trích xuất:
$$\text{Micro-Precision} = \frac{\sum TP}{\sum TP + \sum FP}, \quad \text{Micro-Recall} = \frac{\sum TP}{\sum TP + \sum FN}$$
$$\text{Micro-F1} = \frac{2 \times \text{Micro-Precision} \times \text{Micro-Recall}}{\text{Micro-Precision} + \text{Micro-Recall}}$$
| Mô hình thử nghiệm | Số tham số | Tốc độ suy luận (ms/sample) | Precision | Recall | Micro-Averaged F1 |
|---|---|---|---|---|---|
| Baseline: BERT-Base | 110M | 32 ms | 0.812 | 0.785 | 0.798 |
| RoBERTa-Base | 125M | 35 ms | 0.846 | 0.828 | 0.837 |
| DeBERTa-v1-Base | 140M | 42 ms | 0.881 | 0.865 | 0.873 |
| DeBERTa-v2-XLarge | 900M | 165 ms | 0.899 | 0.888 | 0.893 |
Đổi mới và đóng góp
- Ứng dụng cơ chế chú ý tách rời (Disentangled Attention Mechanism): Khác biệt hoàn toàn với BERT truyền thống (mã hóa tổng hợp cả vector nội dung và vector vị trí tuyệt đối vào một vector duy nhất), DeBERTa biểu diễn mỗi từ bằng hai vector độc lập: vector nội dung $c_i$ và vector vị trí tương đối $p_{i|j}$. Trọng số chú ý giữa từ $i$ và từ $j$ được tính toán thông qua bốn thành phần tách biệt:
$$\text{Score}(i, j) = c_i c_j^T + c_i p_{j|i}^T + p_{i|j} c_j^T + p_{i|j} p_{j|i}^T$$
Điều này đặc biệt hiệu quả trong ngữ cảnh y khoa, nơi mà khoảng cách tương đối giữa từ phủ định (ví dụ: "no", "denies") và triệu chứng lâm sàng (ví dụ: "chest pain", "fever") mang tính quyết định đến ngữ nghĩa thực thể.
-
Tối ưu hóa bộ giải mã mặt nạ nâng cao (Enhanced Mask Decoder - EMD): DeBERTa tích hợp thông tin vị trí tuyệt đối vào các lớp giải mã cuối cùng ngay trước lớp phân loại, giúp mô hình dự đoán chính xác biên độ bắt đầu và kết thúc của các khái niệm y tế phức tạp.
-
Cải thiện độ chính xác vượt bậc: So với mô hình chuẩn BERT-Base, giải pháp dựa trên DeBERTa giúp tăng chỉ số Micro-F1 thêm +11.9% (từ 0.798 lên 0.893) và giảm tỷ lệ bỏ sót triệu chứng (False Negatives) xuống dưới 11.2%.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng trong thực tế
- Tự động hóa chấm thi USMLE Step 2 CS: Tự động đối chiếu ghi chú của thí sinh với thang điểm Rubric chuẩn, sinh mã điểm tức thì và highlight các bằng chứng lâm sàng trực quan cho hội đồng khảo thí.
- Hỗ trợ mã hóa bệnh án tự động (Clinical Coding Automation): Tự động quét bệnh án của bác sĩ để ánh xạ sang các danh mục mã bệnh quốc tế ICD-10 và thuật ngữ lâm sàng SNOMED-CT, giảm thiểu sai sót trong thanh toán bảo hiểm y tế.
- Hệ thống cảnh báo lâm sàng (Clinical Decision Support System - CDSS): Phát hiện nhanh các triệu chứng nguy cơ cao tiềm ẩn trong phần ghi chú triệu chứng tự do của bệnh nhân tại các phòng khám ngoại trú.
Kiến trúc triển khai hạ tầng (Deployment Architecture)
[Client / Scoring Portal]
[FastAPI Gateway (Load Balancer & Auth)]
[Post-Processing JSON Response: { "feature_id": 101, "spans": ["24 35", "50 62"] }]
Phân tích hiệu quả kinh tế (Cost-Benefit Analysis & ROI)
- Chi phí truyền thống: Thuê chuyên gia bác sĩ chấm điểm thủ công: trung bình $15 - $20 cho mỗi bài ghi chú lâm sàng; thời gian hoàn thành mất từ 3 - 5 tuần cho một kỳ thi quy mô 10,000 thí sinh.
- Chi phí khi ứng dụng hệ thống AI: Chi phí điện toán đám mây (Cloud GPU Inference) ước tính chỉ $0.03 - $0.05 cho mỗi bài thi; thời gian xử lý toàn bộ 10,000 bài thi chỉ trong dưới 2 giờ.
- Tỷ suất hoàn vốn (ROI): Tiết kiệm trên 85% ngân sách chấm thi định kỳ hàng năm cho các đơn vị khảo thí y khoa.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Xử lý biểu đạt ngắt quãng cực xa (Long-range Discontinuous Spans): Mặc dù DeBERTa nắm bắt ngữ cảnh tốt, các trường hợp một khái niệm bị phân tách bởi nhiều đoạn văn khác nhau vẫn có thể dẫn đến việc gộp nhầm vùng văn bản không liên quan.
- Phụ thuộc tài nguyên tính toán: DeBERTa-Large/XLarge đòi hỏi tài nguyên GPU lớn khi huấn luyện và độ trễ suy luận cao hơn so với các mô hình nhẹ.
- Ngôn ngữ dữ liệu: Mô hình mới được tối ưu hóa trên tập dữ liệu tiếng Anh lâm sàng của NBME; chưa được kiểm thử toàn diện trên dữ liệu bệnh án tiếng Việt với cấu trúc ngữ pháp và viết tắt địa phương đặc thù.
Hướng phát triển trong tương lai
- Ứng dụng mô hình nén (Model Distillation & Quantization): Áp dụng kỹ thuật chưng cất tri thức (Knowledge Distillation) và lượng tử hóa INT8/ONNX để đưa mô hình chạy mượt mà trên môi trường CPU hoặc thiết bị nhúng tại bệnh viện.
- Kết hợp Large Language Models (LLM Fine-tuning): Khảo sát phương pháp Instruction Tuning trên các mô hình y khoa chuyên dụng như Med-PaLM 2 hoặc LLaMA-3-Med để vừa trích xuất khái niệm vừa giải thích lý do chấm điểm bằng ngôn ngữ tự nhiên.
- Mở rộng cho dữ liệu y tế Việt Nam: Thu thập và gán nhãn tập dữ liệu ghi chú bệnh án lâm sàng tại các bệnh viện Việt Nam nhằm xây dựng phiên bản ViDeBERTa chuyên ngành y học.
Đối tượng hưởng lợi
+-------------------+---------------------------------------------------------+
| Đối tượng | Giá trị mang lại & Định lượng lợi ích |
+-------------------+---------------------------------------------------------+
| Sinh viên Y khoa | - Nhận phản hồi chấm điểm và giải thích tức thì (24/7) |
| & Thí sinh | - Nâng cao kỹ năng khai thác và ghi nhận bệnh án chuẩn |
+-------------------+---------------------------------------------------------+
| Bác sĩ & Giám khảo| - Giảm 85% thời gian đọc và chấm thủ công hàng nghìn bài|
| Khảo thí | - Loại bỏ sự thiên vị và sai số chủ quan giữa giám khảo |
+-------------------+---------------------------------------------------------+
| Lập trình viên & | - Tiếp cận kiến trúc DeBERTa và thuật toán span matching|
| Kỹ sư Dữ liệu | - Source code chuẩn mực về Token Classification HuggingFace|
+-------------------+---------------------------------------------------------+
| Nhà nghiên cứu NLP| - Bằng chứng thực nghiệm về tính ưu việt của Disentangled|
| | Attention trong trích xuất thực thể y sinh |
+-------------------+---------------------------------------------------------+
Câu hỏi thường gặp
1. Yêu cầu phần cứng tối thiểu để triển khai mô hình là gì?
Để huấn luyện mô hình DeBERTa-Base với Batch size = 8, hệ thống cần tối thiểu 1 GPU NVIDIA có VRAM từ 16GB (như RTX 3090, T4, hoặc V100). Trong môi trường vận hành suy luận (Inference), sau khi tối ưu hóa bằng TensorRT/ONNX Runtime FP16, hệ thống chỉ cần 1 GPU NVIDIA T4 (16GB) để phục vụ hơn 50 yêu cầu đồng thời với độ trễ dưới 50ms/request.
2. Mô hình xử lý các từ viết tắt và lỗi chính tả trong ghi chú bệnh nhân như thế nào?
Bộ từ vựng BPE (Byte-Pair Encoding) / SentencePiece với kích thước mở rộng 128K của DeBERTa v2 giúp phân rã các từ lạ hoặc lỗi chính tả thành các sub-tokens có nghĩa. Ngoài ra, việc fine-tuning trên tập dữ liệu NBME thực tế giúp mô hình học được các biến thể viết tắt lâm sàng phổ biến như "sob" (shortness of breath), "cp" (chest pain), "htn" (hypertension).
3. Tại sao không sử dụng trực tiếp bài toán Question Answering (QA) như SQuAD?
Mặc dù bài toán có thể ánh xạ sang dạng QA (Feature là Question, Patient Note là Context), tuy nhiên định dạng QA truyền thống chỉ dự đoán một đoạn span liên tục duy nhất (start_token, end_token). Trong khi đó, bài toán ghi chú lâm sàng NBME đòi hỏi phát hiện nhiều span không liền nhau trong cùng một ghi chú, do đó cách tiếp cận Token Classification với Offset Mapping tỏ ra linh hoạt và chính xác hơn.
4. Chi phí vận hành và bảo trì hệ thống ước tính bao nhiêu?
Chi phí vận hành trên hạ tầng Cloud (AWS/GCP) ước tính khoảng $150 - $250/tháng cho một cụm máy chủ GPU NVIDIA T4 chạy tự động mở rộng (Auto-scaling), đủ khả năng xử lý định kỳ cho toàn bộ các đợt thi lâm sàng quy mô hàng chục nghìn sinh viên mỗi năm.
5. Làm thế nào để tích hợp mô hình vào hệ thống phần mềm quản lý bệnh viện (HIS/EMR)?
Mô hình được đóng gói dưới dạng Docker Container chuẩn RESTful/gRPC API. Hệ thống EMR chỉ cần gửi bản tin JSON chứa nội dung văn bản bệnh án và danh mục khái niệm cần tra cứu, API sẽ phản hồi vị trí chỉ mục ký tự kèm độ tin cậy để EMR tự động highlight trên giao diện bác sĩ.
Kết luận
Khóa luận tốt nghiệp "Nhận dạng các khái niệm lâm sàng trong y học dựa trên ghi chú của bệnh nhân" của tác giả Ngô Trí Huy (GVHD: ThS. Quách Đình Hoàng, ĐH Sư phạm Kỹ thuật TP.HCM) đã giải quyết trọn vẹn bài toán tự động hóa trích xuất khái niệm lâm sàng từ văn bản tự do trong kỳ thi USMLE Step 2 CS của NBME.
Bằng việc ứng dụng kiến trúc tiên tiến DeBERTa với cơ chế Disentangled Attention và Enhanced Mask Decoder, nghiên cứu đã chứng minh sự vượt trội rõ rệt so với các mô hình truyền thống như BERT và RoBERTa, xác lập chỉ số Micro-Averaged F1 score đạt 0.893. Đề tài không chỉ đóng góp giải pháp kỹ thuật có độ chính xác cao cho bài toán Token Classification và Span Extraction trong NLP y sinh, mà còn mở ra tiềm năng ứng dụng to lớn trong việc tối ưu hóa chi phí khảo thí y khoa, chuẩn hóa bệnh án điện tử và hỗ trợ bác sĩ chẩn đoán lâm sàng trong kỷ nguyên y tế số.