Tên tiếng Anh:
A Vietnamese Drug Information Retrieval System Based on Hybrid Search and Large Language Models
Hiện nay, thông tin thuốc tại Việt Nam được quản lý tập trung thông qua Hệ thống Cơ sở dữ liệu về Dược của Bộ Y tế. Hệ thống cung cấp các thông tin chính thống liên quan đến thuốc như tên thuốc, số đăng ký, hoạt chất, hàm lượng, dạng bào chế, đường dùng, cơ sở sản xuất và các thông tin liên quan khác. Tuy nhiên, việc khai thác dữ liệu thông qua API chính thức yêu cầu đơn vị sử dụng phải được cấp quyền truy cập phù hợp.
Đề tài hướng đến xây dựng một hệ thống tra cứu thông tin thuốc tiếng Việt có khả năng khai thác dữ liệu chính thống từ Cơ sở dữ liệu về Dược của Bộ Y tế thông qua cơ chế truy cập được cấp phép hoặc môi trường sandbox khi có điều kiện. Trong trường hợp chưa được cấp quyền truy cập trực tiếp API, hệ thống sử dụng một bản dữ liệu snapshot hoặc tập dữ liệu chính thức được phép khai thác cho mục đích nghiên cứu và thử nghiệm.
Khác với các hệ thống tra cứu truyền thống chủ yếu dựa trên từ khóa chính xác, đề tài nghiên cứu kết hợp nhiều phương pháp truy xuất thông tin gồm tìm kiếm từ khóa, tìm kiếm ngữ nghĩa và các thuộc tính đặc thù của dữ liệu thuốc nhằm nâng cao chất lượng kết quả tìm kiếm.
Hệ thống dự kiến hỗ trợ các dạng truy vấn như:
tìm theo tên thương mại của thuốc;
tìm theo hoạt chất;
tìm theo hàm lượng;
tìm theo dạng bào chế;
tìm theo nhà sản xuất;
tìm bằng câu truy vấn tiếng Việt tự nhiên;
hỗ trợ một số trường hợp nhập sai chính tả hoặc tên thuốc không chuẩn.
Phương pháp tra cứu được xây dựng theo mô hình tìm kiếm lai:
Keyword/BM25 Retrieval + Dense Semantic Retrieval + Drug-aware Ranking.
Sau khi truy xuất được các tài liệu hoặc hồ sơ thuốc phù hợp, hệ thống sử dụng mô hình ngôn ngữ lớn theo kiến trúc Retrieval-Augmented Generation để tổng hợp câu trả lời dựa trên các bằng chứng được truy xuất và hiển thị nguồn dữ liệu tương ứng.
Mô hình ngôn ngữ lớn không được sử dụng như một nguồn tri thức độc lập mà chỉ thực hiện tổng hợp thông tin trên dữ liệu được cung cấp bởi bộ máy truy xuất. Trong trường hợp không có đủ bằng chứng, hệ thống phải từ chối suy đoán và thông báo không tìm thấy đủ thông tin.
Đề tài chỉ tập trung vào bài toán tra cứu và tổng hợp thông tin thuốc, không thực hiện chẩn đoán bệnh, kê đơn, đề xuất thuốc điều trị hoặc đưa ra quyết định y khoa thay thế bác sĩ/dược sĩ.
Sinh viên cần thực hiện các nội dung chính sau:
Khảo sát cấu trúc dữ liệu và đặc tả API của Hệ thống Cơ sở dữ liệu về Dược của Bộ Y tế.
Xây dựng lớp kết nối dữ liệu độc lập với nguồn dữ liệu thực tế.
Hỗ trợ tối thiểu hai chế độ:
kết nối API chính thức/sandbox khi được cấp quyền;
sử dụng tập dữ liệu snapshot phục vụ nghiên cứu.
Chuẩn hóa các trường thông tin thuốc như:
tên thương mại;
tên hoạt chất;
hàm lượng/nồng độ;
dạng bào chế;
đường dùng;
số đăng ký;
nhà sản xuất;
quốc gia sản xuất;
nguồn dữ liệu.
Cài đặt và đánh giá tối thiểu các phương pháp:
Exact/Keyword Search;
BM25;
Dense Semantic Retrieval;
Hybrid Retrieval kết hợp BM25 và Dense Retrieval;
phương pháp Drug-aware Hybrid Retrieval có xét thêm các thuộc tính đặc thù của thuốc.
Mô hình đề xuất cần tận dụng các thuộc tính như:
DrugEntity={Brand,Ingredient,Strength,DosageForm,Route}DrugEntity = \{ Brand, Ingredient, Strength, DosageForm, Route \}
để cải thiện thứ hạng của các thuốc phù hợp với truy vấn.
Ví dụ truy vấn:
“amlodipin 5 mg viên nén”
cần ưu tiên các thuốc vừa đúng hoạt chất, đúng hàm lượng và đúng dạng bào chế thay vì chỉ dựa trên độ tương đồng ngữ nghĩa tổng quát.
Xây dựng bước tiền xử lý và chuẩn hóa truy vấn, bao gồm:
chuẩn hóa chữ hoa/chữ thường;
chuẩn hóa dấu và khoảng trắng;
chuẩn hóa đơn vị mg, g, ml, %, IU...;
nhận diện tên thương mại và hoạt chất;
nhận diện hàm lượng;
nhận diện dạng bào chế;
xử lý một số lỗi chính tả hoặc cách viết không chuẩn.
Xây dựng module Retrieval-Augmented Generation theo quy trình:
Query → Retrieval → Top-K Evidence → LLM → Answer + Source.
Yêu cầu:
câu trả lời phải dựa trên tài liệu được truy xuất;
hiển thị nguồn dữ liệu;
không tự suy diễn khi dữ liệu không đủ;
hỗ trợ cơ chế từ chối trả lời khi thiếu bằng chứng.
Phát triển ứng dụng web hoặc mobile có các chức năng tối thiểu:
nhập truy vấn bằng tiếng Việt;
hiển thị danh sách thuốc phù hợp;
xem chi tiết thông tin thuốc;
đặt câu hỏi về thuốc đang xem;
hiển thị câu trả lời và nguồn tham chiếu;
hỗ trợ tìm kiếm gần đúng.
So sánh tối thiểu:
Keyword Search;
BM25;
Dense Retrieval;
Hybrid Retrieval;
Drug-aware Hybrid Retrieval.
Sử dụng các chỉ số:
Precision@K;
Recall@K;
MRR;
nDCG@K;
thời gian xử lý truy vấn.
Thực hiện thêm ablation study nhằm đánh giá ảnh hưởng của:
chuẩn hóa truy vấn;
thông tin hoạt chất;
hàm lượng;
dạng bào chế;
thành phần dense retrieval;
thành phần BM25.
Nguồn dữ liệu chính của đề tài là dữ liệu thuốc thuộc Hệ thống Cơ sở dữ liệu về Dược của Bộ Y tế.
Đề tài không xây dựng một cơ sở dữ liệu thuốc mới để thay thế CSDL Dược Quốc gia mà xây dựng một research corpus phục vụ nghiên cứu bài toán truy xuất thông tin.
Tập dữ liệu nghiên cứu dự kiến có thể được xây dựng theo một trong hai phương án:
Phương án 1 – ưu tiên:
Sử dụng API chính thức hoặc sandbox của Hệ thống Cơ sở dữ liệu về Dược khi nhóm nghiên cứu được cấp quyền truy cập.
Phương án 2 – dự phòng:
Sử dụng snapshot, dữ liệu xuất hoặc các tài liệu/danh mục chính thức được phép khai thác phục vụ mục đích nghiên cứu.
Tập dữ liệu sau khi chuẩn hóa dự kiến gồm khoảng:
5.000–20.000 hồ sơ thuốc
và được lập chỉ mục dưới cả hai dạng:
lexical index phục vụ BM25;
vector index phục vụ semantic retrieval.
Ngoài corpus thuốc, đề tài cần xây dựng một bộ dữ liệu đánh giá riêng, dự kiến đặt tên:
VNDrugIR Benchmark
gồm khoảng:
400–600 truy vấn tiếng Việt
với các nhóm:
truy vấn tên thuốc;
truy vấn hoạt chất;
truy vấn hoạt chất + hàm lượng;
truy vấn dạng bào chế;
truy vấn tên không dấu;
truy vấn có lỗi chính tả;
truy vấn ngôn ngữ tự nhiên;
truy vấn kết hợp nhiều thuộc tính.
Mỗi truy vấn được gán nhãn mức độ liên quan với các thuốc/tài liệu trong corpus để phục vụ đánh giá Recall, MRR và nDCG.
Đề tài hướng đến các đóng góp chính sau:
Thứ nhất, xây dựng VNDrugIR Benchmark, gồm tập truy vấn tiếng Việt và relevance judgments phục vụ đánh giá bài toán tra cứu thông tin thuốc. Đây là cơ sở để đánh giá định lượng các phương pháp retrieval thay vì chỉ đánh giá thông qua giao diện phần mềm.
Thứ hai, xây dựng pipeline Vietnamese Drug Query Normalization có khả năng nhận diện và chuẩn hóa các thành phần đặc thù của truy vấn thuốc như tên thương mại, hoạt chất, hàm lượng, dạng bào chế và đơn vị.
Thứ ba, đề xuất phương pháp Drug-aware Hybrid Retrieval, kết hợp:
Lexical Retrieval+Semantic Retrieval+Drug Attribute MatchingLexical\ Retrieval + Semantic\ Retrieval + Drug\ Attribute\ Matching
nhằm nâng cao khả năng truy xuất và xếp hạng thuốc so với BM25 hoặc Dense Retrieval riêng lẻ.
Thứ tư, xây dựng cơ chế Evidence-grounded RAG, trong đó mô hình ngôn ngữ lớn chỉ tổng hợp câu trả lời dựa trên thông tin được truy xuất, có hiển thị nguồn và hỗ trợ từ chối trả lời khi dữ liệu không đủ.
Thứ năm, thực hiện đánh giá thực nghiệm có hệ thống giữa các phương pháp:
Keyword→BM25→Dense→Hybrid→Drug-aware HybridKeyword \rightarrow BM25 \rightarrow Dense \rightarrow Hybrid \rightarrow Drug\text{-}aware\ Hybrid
đồng thời thực hiện ablation study nhằm xác định mức đóng góp của từng thành phần trong mô hình đề xuất.
Kết quả kỳ vọng của khóa luận không chỉ là một ứng dụng tra cứu thuốc mà còn là một quy trình nghiên cứu hoàn chỉnh gồm dữ liệu – benchmark – phương pháp retrieval – RAG – đánh giá thực nghiệm, có khả năng tái lập và mở rộng trong các nghiên cứu tiếp theo.
[1] Trung tâm Thông tin Y tế Quốc gia – Bộ Y tế, Quyết định số 232/QĐ-TTYQG ngày 17/07/2026 về việc ban hành “Tài liệu kỹ thuật đặc tả API Hệ thống cơ sở dữ liệu về Dược” phiên bản 1.1 và “Hướng dẫn sử dụng Hệ thống cơ sở dữ liệu về Dược”, Hà Nội, 2026.
Đây nên là tài liệu kỹ thuật chính của đề tài vì phiên bản 1.1 là bản cập nhật mới hơn so với đặc tả API 1.0.
[2] Trung tâm Thông tin Y tế Quốc gia – Bộ Y tế, Quyết định số 522/QĐ-TTYQG ngày 18/12/2025 về việc ban hành “Tài liệu kỹ thuật đặc tả API Hệ thống cơ sở dữ liệu về Dược” phiên bản 1.0, 2025.
[3] Bộ Y tế, Thông tư số 11/2025/TT-BYT ngày 16/05/2025 sửa đổi, bổ sung một số điều của các quy định về thực hành tốt cơ sở bán lẻ thuốc, phân phối thuốc và bảo quản thuốc, nguyên liệu làm thuốc, có hiệu lực từ ngày 01/07/2025.
[4] U.S. National Library of Medicine, RxNorm API Documentation, National Library of Medicine, National Institutes of Health.
RxNorm có thể được tham khảo cho chuẩn hóa tên hoạt chất, tên thuốc, synonym và approximate matching.
[5] U.S. National Library of Medicine, DailyMed RESTful Web Services, National Library of Medicine.
DailyMed cung cấp thông tin Structured Product Labeling và có thể được dùng như một nguồn bổ sung trong các thí nghiệm về drug information retrieval/RAG.
[6] U.S. Food and Drug Administration, openFDA Drug Labeling API, U.S. FDA.
Drug Label API cung cấp dữ liệu nhãn thuốc có cấu trúc, bao gồm các trường liên quan tới chỉ định, cảnh báo, tác dụng không mong muốn và các metadata của sản phẩm.
[7] S. Robertson and H. Zaragoza, “The Probabilistic Relevance Framework: BM25 and Beyond,” Foundations and Trends in Information Retrieval, vol. 4, no. 1–2, pp. 1–174, 2009. DOI: 10.1561/1500000019.
Đây là tài liệu nền tảng cho BM25 và nên được trích dẫn khi xây dựng lexical retrieval baseline.
[8] G. V. Cormack, C. L. A. Clarke, and S. Büttcher, “Reciprocal Rank Fusion Outperforms Condorcet and Individual Rank Learning Methods,” in Proceedings of the 32nd ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 758–759, 2009. DOI: 10.1145/1571941.1572114.
[9] V. Karpukhin, B. Oğuz, S. Min, P. Lewis, L. Wu, S. Edunov, D. Chen, and W.-t. Yih, “Dense Passage Retrieval for Open-Domain Question Answering,” in Proceedings of EMNLP, pp. 6769–6781, 2020. DOI: 10.18653/v1/2020.emnlp-main.550.
[10] N. Thakur, N. Reimers, A. Rücklé, A. Srivastava, and I. Gurevych, “BEIR: A Heterogeneous Benchmark for Zero-shot Evaluation of Information Retrieval Models,” in NeurIPS 2021 Datasets and Benchmarks Track, 2021.
BEIR đặc biệt hữu ích để tham khảo cách tổ chức corpus – query – qrels – retrieval evaluation cho VNDrugIR Benchmark.
[11] L. Wang, N. Yang, X. Huang, L. Yang, R. Majumder, and F. Wei, “Multilingual E5 Text Embeddings: A Technical Report,” arXiv preprint arXiv:2402.05672, 2024.
Multilingual-E5 là một ứng viên baseline phù hợp cho semantic retrieval trên truy vấn tiếng Việt.
[12] J. Chen, S. Xiao, P. Zhang, K. Luo, D. Lian, and Z. Liu, “BGE M3-Embedding: Multi-Lingual, Multi-Functionality, Multi-Granularity Text Embeddings Through Self-Knowledge Distillation,” arXiv preprint arXiv:2402.03216, 2024.
BGE-M3 hỗ trợ hơn 100 ngôn ngữ và nhiều cơ chế retrieval, do đó nên được xem xét là một trong các mô hình embedding chính của đề tài.
[13] P. Lewis, E. Perez, A. Piktus, F. Petroni, V. Karpukhin, N. Goyal, H. Küttler, M. Lewis, W.-t. Yih, T. Rocktäschel, S. Riedel, and D. Kiela, “Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks,” in Advances in Neural Information Processing Systems, vol. 33, 2020.
Đây là công trình nền tảng của Retrieval-Augmented Generation và nên được sử dụng để định nghĩa kiến trúc:
Query→Retrieval→Evidence→LLM→Answer.Query \rightarrow Retrieval \rightarrow Evidence \rightarrow LLM \rightarrow Answer.
[14] A. Asai, Z. Wu, Y. Wang, A. Sil, and H. Hajishirzi, “Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection,” in International Conference on Learning Representations – ICLR, 2024.
Công trình này có giá trị tham khảo cho cơ chế kiểm tra bằng chứng, factuality và quyết định khi nào cần retrieval.
[15] S. Es, J. James, L. Espinosa-Anke, and S. Schockaert, “RAGAS: Automated Evaluation of Retrieval Augmented Generation,” arXiv preprint arXiv:2309.15217, 2023.
Có thể tham khảo RAGAS khi xây dựng các tiêu chí đánh giá faithfulness, context relevance và answer quality cho module RAG.
[16] K. Järvelin and J. Kekäläinen, “Cumulated Gain-Based Evaluation of IR Techniques,” ACM Transactions on Information Systems, vol. 20, no. 4, pp. 422–446, 2002. DOI: 10.1145/582415.582418.
Đây là tài liệu nền tảng cần trích dẫn khi sử dụng DCG/nDCG để đánh giá chất lượng xếp hạng.
Trong giai đoạn đầu, sinh viên nên ưu tiên đọc theo thứ tự:
[1] API CSDL Dược Bộ Y tế → [7] BM25 → [9] Dense Retrieval → [8] RRF → [12] BGE-M3 → [13] RAG → [10] BEIR → [16] nDCG.
Tra cứu public: https://dichvucong.dav.gov.vn/congbothuoc/index