Áp dụng mạng nơ-ron cho việc sửa từ tiếng Khmer phần I

Tram Ho

Vào năm 2019, có một thuật toán đột phá trong lĩnh vực NLP do Google phát triển có tên là BERT (Đại diện bộ mã hóa hai chiều từ Transformers). Bằng cách sử dụng kỹ thuật mạng thần kinh và đào tạo hàng triệu câu, BERT có thể lưu trữ kết quả tốt nhất có thể được sử dụng cho nhiều nhiệm vụ NLP khác bằng cách chỉ cần thêm một vài lớp vào mô hình cốt lõi (chuyển giao học tập). Hơn nữa là tốt nhất cho Dự đoán câu tiếp theo (NSP) trong đó google chủ yếu triển khai nó để giải quyết đề xuất văn bản trong công cụ tìm kiếm của họ. Tuy nhiên, chúng tôi sẽ không áp dụng BERT cho vấn đề của mình, nhưng hy vọng chúng tôi có thể sử dụng kỹ thuật của nó để giải quyết việc sửa từ tiếng Khmer.

Kế hoạch tấn công

Hãy chia nhỏ các bước để giải quyết thách thức này:

  1. Thu thập dữ liệu
  2. Chọn một mô hình học máy
  3. Chuẩn bị dữ liệu
  4. Xây dựng và đào tạo một mô hình
  5. Kiểm tra mô hình

Trong bài viết này, chúng tôi sẽ đi qua thu thập dữ liệu, chọn mô hình học máy và chuẩn bị dữ liệu.

1.1 Dữ liệu dữ liệu

Như chúng ta đã biết, trong dữ liệu trường máy là vua, do đó, chúng ta cần thu thập dữ liệu trước. Rất may, chúng tôi đã có một số dữ liệu trong bài viết trước của chúng tôi tuy nhiên dữ liệu này có thể cần phải chuẩn bị theo mô hình học máy đã chọn của chúng tôi.

1.2.Chọn mô hình học máy

Có nhiều thuật toán mà chúng ta có thể sử dụng để giải quyết vấn đề này. Tuy nhiên, BERT đã truyền cảm hứng cho tôi để thử kỹ thuật mạng thần kinh cho mô hình chính tả của chúng tôi, nhưng làm thế nào chúng ta có thể sử dụng NN để sửa lỗi chính tả? Mục tiêu của thuật toán của chúng tôi là tìm từ đúng khi viết sai chính tả. Ex: សួស្ត => សួស្តី . Như chúng ta biết, các từ trong từ điển hiếm khi thay đổi, vì vậy chúng ta có thể nghĩ nó là nhãn trong mô hình NN của chúng ta. Do đó, chúng tôi sẽ sử dụng mạng nơ ron đa lớp, nơi chúng tôi sẽ dự đoán các nhãn (từ) có khả năng được sửa nhiều nhất dựa trên đầu vào đã cho (từ không chính xác).

Chuẩn bị 1.3.

Như chúng ta biết, học sâu cần rất nhiều dữ liệu, tuy nhiên chúng ta chỉ có khoảng 8000 từ được sửa, trong đó sẽ biến nó thành nhãn (Y) để đào tạo mô hình NN của chúng ta. Hơn nữa, chúng ta cũng có thể sử dụng những từ chính xác đó để tạo đầu vào (X) cho mô hình của mình. Chúng tôi có thể tạo đầu vào (X) bằng cách:

  • xóa từ dạng ký tự (tại vị trí ngẫu nhiên): Ví dụ: សួស្តី => សស្តី
  • thêm charrecter vào word (ở vị trí ngẫu nhiên): Ex: សួស្តី => សួស្តីរ
  • thay thế charater Bằng chữ: Ex: បួស្តី => សួស្តី
  • Kết hợp: Ví dụ: បួស្តី => សួស្តីរ

Hãy thực hiện mã python cho điều đó.

Sau đó chạy nó để kiểm tra các phương thức của chúng tôi và nhận được:

Bây giờ, chúng ta có thể tạo ra tấn đầu vào (X) cho mô hình học sâu của mình.

Tài nguyên

Tiếp theo là gì?

Trong bài viết tiếp theo, chúng tôi sẽ triển khai mô hình mạng nơ-ron đa lớp và chúng tôi sẽ đào tạo mô hình của chúng tôi với bộ dữ liệu mà chúng tôi đã chuẩn bị trong bài đăng này. Sau đó kiểm tra kết quả của mô hình được đào tạo của chúng tôi. Đồng thời, bạn có thể nhận xét nhận xét của mình và đề xuất thuật toán học máy đã chọn của tôi. Chúng tôi có thể sử dụng thuật toán đề xuất của bạn trong bài viết tiếp theo của tôi. Hãy bình tĩnh.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo