NLP – Word Segmentation


Danh sách các bài viết về NLP:

  1. Part of Speech
  2. Word Segmentation
  3. Stemming và Lemmatization

Word Segmentation là một phần khá cơ bản trong các kỹ thuật xử lý của NLP, nhiệm vụ chính là tách một đoạn text (một chuỗi liên tiếp các ký tự) thành những từ (word hay token) riêng lẻ. Đối với tiếng Anh thì việc này khá dễ dàng vì mỗi từ trong tiếng Anh đều có ý nghĩa và đa số các trường hợp thì chỉ cần sử dụng khoảng trắng là có thể tách từ được. Tuy nhiên, các ngôn ngữ khác như tiếng Việt hay tiếng Nhật thì điều này không chính xác. 

Lấy một ví dụ đơn giản, chúng ta có câu sau bằng tiếng Anh.

I like doing research very much.

Các từ của câu này chúng ta sẽ phân tích ra là: [I, like, doing, research, very, much]. Như chúng ta thấy thì mỗi từ đều có ý nghĩa của nó. Vì thế trong tiếng Anh, khi nói “word” thì chúng ta sẽ hiểu đó là từ đơn. Tuy nhiên, với câu tiếng Việt:

Tôi rất thích nghiên cứu

Nếu tách từ đúng thì chúng ta sẽ có các từ: [Tôi, rất, thích, nghiên cứu]. Ở đây, nghiên cứu chỉ là một từ duy nhất và nó là từ ghép. Rõ ràng sử dụng cách thông thường bên tiếng Anh và áp dụng vào tiếng Việt sẽ không được. Đến đây thì chắc chúng ta cũng hiểu được lý do tại sao NLP nó phụ thuộc khá nhiều vào ngôn ngữ mà chúng ta nghiên cứu.

Tại sao lại cần thiết?

Vì hầu như xử lý gì trong NLP cũng cần phải tách riêng từng từ trong câu đó ra. Ví dụ các bạn muốn gán Part of Speech thì các bạn cũng phải tách đúng các từ rồi các bạn mới gán nhãn POS được. Nếu trong ví dụ trên mà chúng ta tách thành các từ [Tôi, rất, thích, nghiên, cứu] thì rõ ràng chúng ta đã mất đi một thông tin quan trọng là danh từ nghiên cứu mà thay vào đó bằng một từ không có ý nghĩa nghiên hoặc một từ mà đứng riêng thì nghĩa khác hoàn toàn cứu. Và tất nhiên nếu áp dụng trong Machine Translation, chúng ta sẽ thấy rằng tách từ đúng thì sẽ cho kết quả dịch chính xác hơn.

Hầu hết các kỹ thuật xử lý trong NLP hiện nay đều dựa trên thành phần cơ bản là từ, vì thế có thể nói việc phân chia từ trong text rất là quan trọng đối với một ngôn ngữ. Nếu các bạn có ý định nghiên cứu cho tiếng Việt, các bạn có thể tham khảo bột tách từ khá phổ biến trong cộng đồng NLP Việt Nam: http://mim.hus.vnu.edu.vn/phuonglh/softwares/vnTokenizer. Đối với tiếng Anh, các bạn có thể sử dụng module word_tokenize trong thư viện NLTK của python

 

Tác giả: xuanchien

Tran Xuan Chien. Japan Advanced Institute of Science and Technology - Japan. Senior Developer - NUS Technology.

5 thoughts on “NLP – Word Segmentation”

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s