Hướng dẫn cài đặt SRILM trên Ubuntu

0
38

SRILM là bộ công cụ hỗ trợ đắc lực cho chúng ta trong việc xây dựng các mô hình ngôn ngữ thống kê (Language Model), bài toán này thường được sử dụng trong nhận dạng giọng nói(auto speech recognition), gắn thẻ(statistical tagging), phân đoạn(segmentation) và dịch máy(machine translation). Bài viết này Lập trình không khó xin chia sẻ cách cài đặt SRILM trên Ubuntu.

Cài đặt srilm trên Ubuntu
Cài đặt srilm trên Ubuntu

Cài đặt srilm trên Ubuntu

Để cài đặt srilm, việc đầu tiên là bạn vào đây để download(nên download phiên bản mới nhất, hiện tại là bản 1.7.2): http://www.speech.sri.com/projects/srilm/download.html

Sau khi download xong, bạn sẽ được một file nén. Giờ chúng ta sẽ cài nó vào trong /usr/share/srilm. Do vậy, bạn hãy mở Terminal tại nơi chứa file vừa tải về mà thực thi các command dưới đây:

Do chúng ta đang thao tác trong vùng nhớ hệ điều hành nên các command phải được thực thi với quyền super user.

Tiếp theo, bạn cần sửa đường dẫn cài đặt của nó, mở Makefile trong thư mục srilm vừa giải nén và sửa như sau:

 

Sau khi quay lại Terminal, tiếp tục thực hiện các lệnh sau:

Một số lỗi khi cài đặt srilm

Xây dựng mô hình ngôn ngữ với srilm

Bạn vừa mới cài thành công srilm trên Ubuntu. Bây giờ chúng ta sẽ đi build thử một cái language model và đánh giá nó nhé. Chúng ta sẽ sử dụng ngram-count để xây language model và sử dụng ngram để đánh giá perplexity của language model sau khi xây xong.

Máy mình là Ubuntu x64 nên đường dẫn tới ngram-countngram nằm trong thư mục /usr/share/srilm/bin/i686-m64/.

Bây giờ chúng ta sẽ cần có một bộ corpus(một file chứa nhiều câu văn) và bộ từ điển từ đơn tiếng việt(vocab) để chạy thử language model. Bạn có thể download dữ liệu demo của tôi tại đây.

Bạn có thể để 2 file này ở bất cứ thư mục nào, rồi mở terminal tại đó để thực thi lệnh sau để train language model trên tập dữ liệu train.txt:

Nếu như bước này thành công, thư mục này sẽ có thêm một file mới có tên model.lm. File này có định dạng ARPA. Bạn có thể mở lên bằng một text editer bất kỳ để xem.

Đánh giá language model có hoạt động tốt không trên tập dữ liệu mới test.txt như sau:

Sau đó bạn mở file eval.out để xem kết quả. Câu có điểm perplexity càng thấp thì chứng tỏ language model của chúng ta là tốt với câu đó. Kéo xuống cuối file để xem perplexity của cả tập test.

Tài liệu tham khảo thêm

  1. http://www.speech.sri.com/projects/srilm/manpages/ngram-count.1.html
  2. http://idiom.ucsd.edu/~rlevy/teaching/2015winter/lign165/lectures/lecture13/lecture13_ngrams_with_SRILM.pdf

Chúc các bạn thành công!

avatar
  Subscribe  
Notify of