# Appendix Code Snippets Các đoạn mã nên đưa vào phụ lục báo cáo: 1. `src/preprocess.py`: chuẩn hóa schema, map nhãn, tạo `node_id`. 2. `src/split_data.py`: chia `train/val/test` theo `stratified split`. 3. `src/extract_embeddings.py`: trích xuất embedding PhoBERT cho toàn bộ tiêu đề. 4. `src/build_graph.py`: xây đồ thị `k-NN` từ cosine similarity. 5. `src/model_fusion.py`: mô hình fusion giữa nhánh text và nhánh graph. 6. `src/train_fusion.py`: vòng lặp train, early stopping và lưu checkpoint. Có thể đặt nhãn minh họa theo dạng: - `Listing A.1 Data preprocessing` - `Listing A.2 Graph construction` - `Listing A.3 Fusion model` - `Listing A.4 Training procedure`