Trang chủ Blog Khác

Chuẩn hóa tiếng Việt trong xử ...

Chuẩn hóa tiếng Việt trong xử lý ngôn ngữ tự nhiên

Rabiloo

03-12-2021

Trong bài viết này, chúng ta sẽ tiếp cận, tìm hiểu một số phương pháp tiền xử lý, chuẩn hóa Tiếng Việt phổ biến để giúp chuẩn hóa lại dữ liệu trong các tác vụ xử lý ngôn ngữ tự nhiên.

Tiền xử lý dữ liệu là một bước cực kỳ quan trọng giúp cải thiện hiệu quả của mọi tác vụ trong xử lý ngôn ngữ tự nhiên. Dữ liệu dạng văn bản, một trong những loại dữ liệu phi cấu trúc rất phong phú và rất nhiễu, có thể bao gồm các tài liệu, các đoạn văn bản, các câu dài ngắn khác nhau, khiến các phương pháp học máy khó có thể làm việc trực tiếp trên dữ liệu thô. Do đó, tiền xử lý là một bước tiên quyết cần phải có khi làm các tác vụ liên quan tới xử lý ngôn ngữ tự nhiên.

1. Khái niệm chung

Hình 1: Tổng quan các bước giải quyết bài toán trong Xử Lý Ngôn Ngữ Tự Nhiên

   Hình 1: Tổng quan các bước giải quyết bài toán trong Xử Lý Ngôn Ngữ Tự Nhiên

Nhìn chung để giải quyết một bài toán xử lý ngôn ngữ tự nhiên, cần các bước chính sau: Nhận đầu vào -> Tiền xử lý dữ liệu -> Các tác vụ đích.

Tùy thuộc vào từng bài toán mà các tác vụ đích sẽ khác nhau, có thể là machine translation, spell correction, speech to text... Nhưng trước đó một bước kiên quyết không thể thiếu là tiền xử lý dữ liệu. Với mỗi một ngôn ngữ sẽ có các tính chất ngôn ngữ riêng, và tiếng Việt không phải là một ngoại lệ. Dưới đây sẽ là một số phương pháp giúp tiền xử lý, chuẩn hóa tiếng Việt để sử dụng cho các tác vụ trong NLP (natural language processing).

2. Các phương pháp chuẩn hóa tiếng việt cho các tác vụ xử lý ngôn ngữ tự nhiên

2.1 Xóa HTML Tag

Nếu dữ liệu đang sử dụng không được thu thập từ các website thì bước này có thể là một bước không cần thiết.

Nhưng nếu dữ liệu được thu thập từ các website hoặc không rõ nguồn gốc thì không nên bỏ qua bước này, vì các dữ liệu được thu thập từ website đôi khi vẫn sẽ sót lại các thẻ HTML (HTML tag), các thẻ này không những không có tác dụng mà còn làm nhiễu dữ liệu. Nên cần phải loại bỏ nếu có.

Hình 2: loại bỏ HTML Tag khỏi câu

Hình 2: loại bỏ HTML Tag khỏi câu

2.2 Chuẩn hóa tiếng việt với bảng mã Unicode

Hiện nay, có 2 loại mã Unicode đang được sử dụng phổ biến có thể kể đến là Unicode tổ hợp và Unicode dựng sẵn

  • Unicode tổ hợp: Coi chữ + dấu mũ + dấu thanh là từng ký tự riêng lẻ, nên từ “Việt" sẽ bao gồm 6 ký tự

  • Unicode dựng sẵn: Coi chữ + dấu mũ + dấu thanh như là một tổ hợp và là ký tự duy nhất, nên từ “Việt" sẽ bao gồm 4 ký tự

Từ đó xảy ra vấn đề sau:

Hình 3: So sánh unicode tổ hợp và dựng sẵn

Vậy nên phải đưa tất cả về cùng 1 loại dựng sẵn hoặc tổ hợp, thường sẽ được đưa về dạng Unicode dựng sẵn.

2.3 Chuẩn hóa kiểu gõ dấu tiếng Việt

Hiện nay có hai quan điểm về cách đặt dấu thanh là “hòa" (kiểu cũ) và “hoà” (kiểu mới) (theo wikipedia). Sự khác biệt này hoàn toàn có thể nhận ra bằng mắt thường. Khi đó trước khi làm việc với các tác vụ sâu hơn trong xử lý ngôn ngữ tự nhiên, việc cần phải chuẩn hóa cách đặt dấu thanh về cùng một kiểu không thể thiếu.

2.4 Chuẩn hóa từ, cụm từ

Trong tiếng việt có nhiều từ, cụm từ được viết khác nhau tùy vào mỗi hoàn cảnh nhưng lại được hiểu giống nhau. Hoặc các từ, cụm từ được đọc giống nhau, nhưng chỉ có một kiểu viết mà người viết không nhận ra khi viết sai.

Ví dụ: “mỹ thuật và mĩ thuật”, “qui chế và quy chế”,...

Nếu một tác vụ như query hoặc tác vụ nào khác trong xử lý tiếng việt mà trực tiếp dựa trên từ, cụm từ (token) thì việc cần các token phải được chuẩn hóa về cùng một kiểu là một bước tiền xử lý rất cần thiết để có được kết quả tốt nhất.

Đối với các số đếm, thời gian, ngày tháng, website hay email và một số cụm khác là các cụm đặc biệt, nên được đưa về một token chung như “_number_, _date_, _time_..."

2.5 Đưa chữ viết hoa về viết thường (Lower)

Vì máy tính hiểu chữ viết hoa và chữ viết thường là hai loại khác nhau, nên việc đưa dữ liệu về chữ viết thường là rất cần thiết. Bởi vì điều đó sẽ đưa được các chữ về cùng một loại giúp giảm thiểu nhiễu khi làm việc với ngôn ngữ.

2.6 Xóa các ký tự đặc biệt và stopword

Sẽ tùy thuộc vào từng tác vụ trong xử lý ngôn ngữ tự nhiên mà các ký tự đặc biệt như dấu câu hay stopword (“bị”, “bởi”, “các”, “cái”,...) sẽ có hoặc không có tác dụng.

Ví dụ, tác vụ phân loại văn bản, trích rút thông tin... là các tác vụ mà ở đó các ký tự đặc biệt và stopword không mang lại nhiều ý nghĩa nên được loại bỏ để giảm độ phức tạp cho việc tính toán. Nhưng đối với các tác vụ như dịch máy, sửa lỗi chính tả cho câu..v.v. thì stopword lại là các ký tự cần thiết và không được lược bỏ để giữ lại ngữ nghĩa của câu.

3. Kết luận

Trên đây là một số phương pháp chuẩn hóa tiếng Việt trong xử lý ngôn ngữ tự nhiên, tuy nhiên, còn phụ thuộc vào các tác vụ đích để quyết định các phương pháp chuẩn hóa sao cho phù hợp nhất.

Cảm ơn mọi người đã theo dõi bài viết này. Để xem thêm những kiến thức khác về công nghệ, hãy truy cập Rabiloo blogs

Nếu độc giả quan tâm đến các dịch vụ như: phát triển website, phần mềm, game, trí tuệ nhân tạo, hãy liên hệ với Rabiloo, chúng tôi luôn sẵn sàng tư vấn miễn phí mọi thắc mắc của các bạn.

 

 

ĐẶT LỊCH TƯ VẤN NGAY