Content text [SGU][Tiểu luận] Xử lý ngôn ngữ tự nhiên [2024-2025]
TIỂU LUẬN XỬ LÝ NGÔN NGỮ TỰ NHIÊN (DCT121C1 - DCT121C2 - DCT1223) Năm học: 2024-2025 GVPT: PGS. TS. NGUYỄN TUẤN ĐĂNG QUY ĐỊNH Hình thức thực hiện - Cá nhân Bài nộp - File tiểu luận (PDF) - Bản in Thời gian nộp - 15/12/2024: file PDF (hoctructuyen.sgu.edu.vn, Google Classroom) - Tuần 16: Bản giấy (sẽ có thông báo cụ thể)
TRƯỜNG ĐẠI HỌC SÀI GÒN KHOA CÔNG NGHỆ THÔNG TIN —-------------------------------------------------------------------------------------------------------------------------- ĐỀ TÀI: CÀI ĐẶT VÀ HUẤN LUYỆN MÔ HÌNH SKIP-GRAM TRÊN NGỮ LIỆU TIẾNG VIỆT Mục Tiêu Sinh viên cần cài đặt và huấn luyện mô hình Skip-gram để học các embedding vector từ một tập dữ liệu văn bản tiếng Việt. Mô hình sẽ được xây dựng từ đầu bằng Python mà không sử dụng các thư viện có sẵn. Yêu cầu kỹ thuật - Ngôn ngữ lập trình: Python - Không sử dụng các thư viện sau: Gensim, SpaCy, FastText, TensorFlow/Keras, PyTorch, scikit-learn, và các thư viện tương tự có sẵn mô hình Skip-gram hoặc xử lý embedding. - Các thư viện được phép: NumPy, Pandas, NLTK (chỉ để tiền xử lý văn bản), matplotlib (để vẽ đồ thị). Các nội dung thực hiện 1. Tiền xử lý dữ liệu - Thu thập dữ liệu: Sinh viên có thể tự chọn một tập dữ liệu văn bản tiếng Việt hoặc sử dụng một tập dữ liệu mẫu được cung cấp trong đề bài. - Các bước tiền xử lý bắt buộc: - Chuyển đổi chữ thường. - Loại bỏ dấu câu, ký tự đặc biệt. - Tách từ (sinh viên có thể sử dụng các công cụ tách từ tiếng Việt như pyvi hoặc vncorenlp...). - Tạo từ điển từ vựng (vocabulary) từ tập dữ liệu. 1
TRƯỜNG ĐẠI HỌC SÀI GÒN KHOA CÔNG NGHỆ THÔNG TIN —-------------------------------------------------------------------------------------------------------------------------- 2. Thiết kế mô hình Skip-gram - Sinh viên phải triển khai từ đầu mô hình Skip-gram như sau: - Lớp nhúng (embedding layer): - Vector nhúng với kích thước được định nghĩa trước (ví dụ: 100 hoặc 300). - Ma trận nhúng có kích thước [|V| x d], trong đó |V| là kích thước từ vựng và d là kích thước của vector nhúng. - Lớp đầu ra: - Ma trận trọng số đầu ra có kích thước `[d x |V|]`. - Áp dụng softmax để tính xác suất của các từ trong ngữ cảnh. - Hàm mất mát: sử dụng hàm cross-entropy để tính mất mát giữa từ trung tâm và các từ trong ngữ cảnh. 3. Huấn luyện mô hình - Huấn luyện mô hình trên tập dữ liệu văn bản tiếng Việt với các tham số: - Batch size: tự chọn. (Nếu dùng batch size = 1 thì huấn luyện theo từng mẫu dữ liệu.) - Epochs: ít nhất 10 epochs. - Learning rate: tự chọn 4. Đánh giá embedding vector - Phương pháp đánh giá: sử dụng tương đồng từ vựng (word similarity): - Chọn một bộ từ đôi (ví dụ: từ đồng nghĩa, từ trái nghĩa) để kiểm tra tính tương đồng của các vector embedding. - Tính toán cosine similarity giữa các cặp từ này. 2
TRƯỜNG ĐẠI HỌC SÀI GÒN KHOA CÔNG NGHỆ THÔNG TIN —-------------------------------------------------------------------------------------------------------------------------- - Đánh giá tính hợp lý của vector embedding dựa trên tính chính xác của cosine similarity với kỳ vọng thực tế (ví dụ: từ đồng nghĩa có cosine similarity cao hơn so với từ không liên quan). 4. Nội dung tiểu luận - Thiết kế mô hình Skip-gram: Sinh viên phải trình bày chi tiết về kiến trúc mạng đã cài đặt, bao gồm kích thước vector, ma trận trọng số, và lý do chọn các tham số này. - Kết quả huấn luyện: sinh viên phải cung cấp bảng kết quả mất mát qua các epoch, biểu đồ mất mát theo thời gian, và giải thích sự thay đổi của mất mát. - Đánh giá: sinh viên phải phân tích và trình bày rõ ràng kết quả đánh giá embedding vector qua phương pháp tính cosine similarity. - Khó khăn và bài học kinh nghiệm: trình bày những thách thức gặp phải trong quá trình triển khai mô hình từ đầu và các bài học rút ra. 5. Tiêu chí chấm điểm - Độ hoàn thiện của mô hình Skip-gram: 40% - Kết quả huấn luyện: 30% - Đánh giá embedding vector: 20% - Chất lượng báo cáo: 10% Cách đánh giá các tiêu chí chấm điểm: 1. Độ hoàn thiện của mô hình Skip-gram (40%) Đánh giá mức độ hoàn chỉnh và đúng đắn trong việc triển khai mô hình Skip-gram: - 10% - Đúng cấu trúc mô hình: - Mô hình phải có hai lớp chính: 3