Dung lƣợng Số câu Số từ vựng Số từ 1MB 10,000 8,611 167,075 2MB 20,000 12,183 335,587 4MB 40,000 16,699 668,842 5MB 50,000 18,538 834,422 12MB 122,131 40,569 2,068,528 1GB 980,040 160,747,083
3.3 Công cụ sử dụng chạy thực nghiệm
3.3.1 Cài đặt mô hình ngôn ngữ dựa trên mạng nơron hồi quy
Công cụ đƣợc học viên viết trên ngôn ngữ lập trình C# nhằm cài đặt lại thuật toán và hiểu sâu về mô hình ngôn ngữ mạng nơron hồi quy. Giao diện chƣơng trình xem trong Hình 3.1. Trƣớc khi xây dựng mô hình cần phải thiết lập một số tham số cho mạng nhƣ kích thƣớc tầng ẩn, số phân lớp, số lần quay lui, tốc độ học, v.v. Sau đó thực hiện huấn luyện dữ liệu để sinh ra mô hình (Hình 3.2). Kết thúc việc huấn luyện chƣơng trình cho phép lƣu lại mô hình để sử dụng cho lần sau. Để đánh giá, chƣơng trình yêu cầu đầu vào là tập dữ liệu kiểm tra, kết quả trả về giá trị perplexity trên tập
Hình 3.1: Thiết lập các tham số cho mạng
Hình 3.3: Kiểm tra mô hình
Công cụ đƣợc đặt tên là VN-RNNLM để thuận tiện trong khi trình bày thực nghiệm.
3.3.2 Công cụ mã nguồn mở RNNLM Toolkit
Quá trình chạy thử nghiệm sử dụng công cụ Recurrent Neural Network Based Language Model Toolkit2. Đây là công cụ mã nguồn mở sử dụng cho nhận dạng tiếng nói và dịch máy thống kê do Tomas Mikolov phát triển năm 2010-2012. Công cụ RNNLM Toolkit đƣợc xây dựng bằng ngôn ngữ C++ chạy trên nền Linux.
Câu lệnh huấn luyện mô hình
./rnnlm -train ./corpus/train.langmodel.lower.vn -valid
./corpus/dev.lower.vn -rnnlm TED2015_En_120K.rnnlm.model -hidden 80 -rand- seed 1 -debug 2 -class 100 -bptt 3 -bptt-block 0 -direct-order 0 -direct 0 -text > TED2015_En_120K_out.txt
Câu lệnh kiểm tra mô hình
/rnnlm -rnnlm TED2015_En_120K.rnnlm.model -test ./corpus/test.lower.vn > ./result/ TED2015_En_120K_rnnlm.ppl
3.3.3 Công cụ mã nguồn mở SRILM
Sử dụng công cụ SRILM3 (The SRI Language Modeling Toolkit) để thực nghiệm các bộ dữ liệu trên các mô hình ngôn ngữ chuẩn. Đây là bộ công cụ dùng để xây dựng mô hình ngôn ngữ thống kê và đƣợc sử dụng nhiều trong bài toán về xử lý ngôn ngữ tự nhiên và nhận dạng tiếng nói. Công cụ này đƣợc phát triển bởi Phòng nghiên cứu và công nghệ tiếng nói SRI từ năm 1995, cho đến nay vẫn tiếp tục cải tiến. Công cụ SRILM cài đặt các mô hình ngôn ngữ chuẩn, dựa trên thống kê N- gram nhƣ: Modified Kneser-Ney, Kneser-Ney, Good-Turing, Intepolation, Add-one, Witten-Bell. Công cụ SRILM dùng để xây dựng mô hình ngôn ngữ N-gram, từ đó lấy kết quả so sánh với mô hình ngôn ngữ mạng nơron hồi quy. Chạy công cụ này trên hệ điều hành Linux.
Câu lệnh chạy thực nghiệm với công cụ SRILM
/ngram-count -order 3 -kndiscount -text /data/train.txt -lm /lm/kn_model.lm
Câu lệnh đánh giá Perplexity
/ngram -lm /lm/kn_model.lm -ppl /corpus/test.lower.vn >/ result/kn.ppl
3.4 Đánh giá mô hình ngôn ngữ mạng nơron hồi quy
Học viên sử dụng ba công cụ trình bày trong mục 3.3 để chạy thực nghiệm:
- RNNLM Toolkit: xây dựng mô hình mạng nơron hồi quy
- VN-RNNLM: xây dựng mô hình ngôn ngữ mạng nơron hồi quy
- SRILM: dùng để xây dựng mô hình ngôn ngữ N-gram với các phƣơng pháp làm mịn khác nhau.
3
3.4.1 Đánh giá các tham số của mạng Đánh giá theo số nơron tầng ẩn Đánh giá theo số nơron tầng ẩn
Sử dụng dữ liệu tại Bảng 3.2 với hai ngôn ngữ để đánh giá mô hình mạng nơron hồi quy theo số lƣợng các nơron ở tầng ẩn. Chạy thử nghiệm cho kết quả perplexity
nhƣ trong Bảng 3.5 và biểu diễn trên hình 3.4.