[Hỏi] Xây dựng tập dữ liệu training cho n-gram language model phục vụ bài toán tách từ


#1

Xin chào mọi người. Em đang đọc tài liệu A Hybrid Approach to Word Segmentation of Vietnamese Texts. Em hình dung được là chia dữ liệu thành 3 tập train, develop và test, sau đó việc training sẽ được thực hiện trên 2 tập train và develop. Cái em đang chưa rõ là định dạng của các tập dữ liệu sẽ như thế nào để đồng nhất với các công thức tính toán? Mong được mọi người giúp đỡ ạ. Em xin cảm ơn.


#2

Mình vẫn chưa rõ câu hỏi của bạn lắm. :slight_smile:


#3

Vâng ạ. Lúc trước em chưa hiểu rõ vấn đề nên đặt câu hỏi hơi mơ hồ. Em đang muốn tìm cách tiền xử lý tập dữ liệu (giả sử dữ liệu là các đoạn văn bản trích từ các bài báo) để thu được dữ liệu phù hợp với phương pháp xử lý.


#4

Mình không rõ cụ thể bạn muốn hỏi gì, và ngôn ngữ xử lý là tiếng Anh hay tiếng Việt? Mình thấy có một số từ khóa trong bài đó mà bạn có thể tham khảo thêm.

  1. n-gram: biểu diễn từ ngữ bằng cách tách câu thành các cụm n từ. Ví dụ: “Tôi đi học” tách thành 1-gram sẽ là {“Tôi”, “đi”, “học”}, 2-gram {“Tôi đi”, “đi học”}.
  2. Tokenizer: từ 1 text sẽ nhận dạng các thành phần trong đó: tiếng, dấu, ngày tháng,… Ví dụ: “Ngày 15/12, Việt Nam vô địch” sẽ được tác thành các token {“Ngày”, 15/12, “,”, “Việt”, “Nam”, “vô”, “địch”}
  3. Hình như trong bài viết đó có 1 bước sẽ là kết hợp các từ nhiều tiếng thành 1 cụm. Ví dụ: “la bàn” thành “la_bàn”. Bổ sung thêm: Vì tiếng Việt khác tiếng Anh ở chỗ là 1 từ có thể cấu tạo từ nhiều tiếng như từ “la bàn” ở trên, vì thế trong phần xử lý phải có 1 phần gộp các token thành 1 từ, có nhiều cách hiện thực, bạn có thể tham khảo ở VNLP core: Bài 1, trong tiếng Anh thì khác, các từ có thể có nhiều thể, thì bạn sẽ phải dùng Lemmatization.

Bạn có thể tham khảo thêm các bài viết trên diễn đàn:

  1. [VNLP core] của forum: Bài 1, Bài 2 & Bài 3
  2. Học biểu diễn ngôn ngữ cho máy tính

Có nhiều cách để biểu diễn dữ liệu để train: one-hot, word embeding, bag-of-word. Bạn xem trong bài viết đề cập đến cách biểu diễn nào. Theo mình bạn nên mở rộng các bài báo mà bạn phải tìm hiểu, mở rộng từ các bài báo trong tài liệu tham khảo của bài bạn đang xem


#5

Cái này thì bạn chỉ gần dùng regex để tiền xử lý để cho các trường hợp đặc biệt chứ dấu, ngày tháng năm, số thực,… thành các âm tiết. Sau đó dựng ma trận chuyển trạng thái và ma trận quan sát của chuỗi trạng thái ẩn là tính được là tính được.