Cấu trúc dữ liệu · #pandavicuocsongtothon

Bộ dữ liệu VMAD.

Dữ liệu VMAD được phát hành dưới các định dạng tiêu chuẩn JSONL và Parquet, cùng với 2 định dạng chuyển đổi Alpaca & ShareGPT sẵn sàng cho huấn luyện LLM.

6 Nguồn dữ liệu chính

Dữ liệu được thu thập từ đâu.

PubMed APIsrc/crawlers/pubmed_crawler.py

Tóm tắt bài báo và báo cáo lâm sàng y khoa (Case Reports) từ PubMed Entrez API, lọc theo từ khóa y tế Việt Nam.

PMC Open Accesssrc/crawlers/pmc_open_access.py

Toàn văn các bài báo y sinh học truy cập mở có giấy phép phù hợp cho nghiên cứu AI.

BV Bạch Mai & BV Chợ Rẫysrc/crawlers/hospital_spider.py

Bài viết chuyên môn, kiến thức y học và báo cáo bệnh án công khai thu thập qua Scrapy & Playwright.

VinBigDatasrc/crawlers/vinbigdata_loader.py

Tập dữ liệu chẩn đoán hình ảnh X-quang ngực và ghi chú y tế công khai trên Hugging Face.

Open Medical Datasetssrc/crawlers/open_dataset_loader.py

Các tập dữ liệu y tế tiếng Việt mở được cộng đồng kiểm định và đóng góp.

Bulk Medical Crawlersrc/crawlers/bulk_medical_crawler.py

Module thu thập song song quy mô lớn cho các nguồn dữ liệu văn bản y tế công cộng.

Định dạng & Cấu trúc Schema

Định dạng bản ghi chuẩn hóa và Fine-tuning LLM.

Bản ghi chuẩn hóaVMADDataLoader

Cấu trúc bản ghi cơ bản (Standardized Schema)

Được chuẩn hóa qua `VMADDataLoader.standardize()` trước khi đi qua module ẩn danh PHI.

{
  "text": "Bệnh nhân nam, [NGÀY SINH], tiền sử tiểu đường...",
  "source": "pubmed",
  "title": "Báo cáo ca bệnh lâm sàng...",
  "metadata": {
    "pmid": "38192014",
    "journal": "Vietnam Medical Journal",
    "pub_date": "2024",
    "authors": ["Nguyen V. A", "Tran T. B"]
  },
  "char_count": 482,
  "word_count": 78
}
Định dạng Fine-TuningAlpaca & ShareGPT

Cấu trúc cặp Instruction-Output (LLM Export)

Được tạo tự động qua `src/export_dataset.py` chia thành các tập Train / Val / Test.

// ShareGPT Format (sharegpt_train.jsonl)
{
  "system": "Bạn là VMAD-AI Health, trợ lý y khoa AI...",
  "conversations": [
    {
      "from": "human",
      "value": "Hãy phân tích triệu chứng lâm sàng sau..."
    },
    {
      "from": "gpt",
      "value": "Dựa trên triệu chứng được mô tả..."
    }
  ]
}
Tải xuống & Sử dụng trong Python

Tích hợp vào dự án của bạn.

# 1. Tải qua thư viện Hugging Face Datasets
from datasets import load_dataset

ds = load_dataset("Panda-Lab-VN/VMAD", split="train")
print(ds[0])

# 2. Hoặc load dữ liệu cục bộ bằng VMADDataLoader
from src.data_loader import VMADDataLoader

loader = VMADDataLoader(raw_dir="data/raw")
df = loader.load_all()  # Load và gộp tất cả nguồn
std_df = VMADDataLoader.standardize(df)
print(f"Tổng số bản ghi: {len(std_df)}")