Trước khi bắt đầu biểu diễn văn bản, cần tiến hành bước tiền xử lý văn bản. Tiền xử lý văn bản giúp làm giảm số từ cĩ trong biểu diễn văn bản.
Hình 2.1 Hình ảnh mơ tả bước tiền xử lý.
(Nguồn: Deep learning for computational biology ) Tiền xử lý văn bản bao gồm các bước:
1. Làm sạch dữ liệu
- Xử lý dữ liệu bị thiếu (dữ liệu khơng cĩ sẵn khi cần được sử dụng): Đối với dữ liệu bị thiếu, ta cĩ thể khắc phục bằng việc xử lý bằng tay, dùng giá trị thay thế (tự động) hoặc ngăn chặn ngay từ đầu việc thiếu dữ liệu bằng cách thiết kế tốt cơ sở dữ liệu và các thủ tục nhập liệu.
- Nhận diện phần tử biên (outliers) và giảm thiểu nhiễu (noisy data):
o Giải pháp nhận diện phần tử biên (dữ liệu khơng tuân theo đặc tính/ hành vi chung của tập dữ kiệu):
Dựa trên phân bố thống kê Dựa trên khoảng cách Dựa trên mật độ Dựa trên độ lệch
o Giải pháp giảm thiểu nhiễu (outliers bị loại bỏ như là những trường hợp ngoại lệ)
Binning Hồi quy Phân tích cụm - Xử lý dữ liệu khơng nhất quán:
o Đối với các dữ liệu khơng nhất quán (Dữ liệu được ghi nhận khác nhau cho cùng một đối tượng hoặc dữ liệu được ghi nhận khơng phản ánh đúng ngữ nghĩa cho các đối tượng), giải pháp để xử lý là:
Tận dụng siêu dữ liệu, ràng buộc dữ liệu, sự kiểm tra của nhà phân tích dữ liệu cho việc nhận diện. Điều chỉnh dữ liệu khơng nhất quán bằng tay Các giải pháp biến đổi/ chuẩn hĩa dữ liệu tự
2. Tách từ
Trong tiếng Việt, dấu cách (space) khơng được sử dụng như 1 kí hiệu phân tách từ, nĩ chỉ cĩ ý nghĩa phân tách các âm tiết với nhau. Vì thế, để xử lý tiếng Việt, cơng đoạn tách từ (word segmentation) là 1 trong những bài tốn cơ bản và quan trọng bậc nhất.
Ví dụ : từ “quần áo” được tạo ra từ 2 âm tiết “quần” và “áo”, cả 2 âm tiết này đều cĩ nghĩa riêng khi đứng độc lập, nhưng khi ghép lại sẽ mang một nghĩa khác. Vì đặc điểm này, bài tốn tách từ trở thành 1 bài tốn tiền đề cho các ứng dụng xử lý ngơn ngữ tự nhiên khác như phân loại văn bản, tĩm tắt văn bản, máy dịch tự động, …
Tách từ chính xác hay khơng là cơng việc rất quan trọng, nếu khơng chính xác rất cĩ thể dẫn đến việc ý nghĩa của câu sai, ảnh hưởng đến tính chính xác của chương trình.
3. Chuẩn hĩa từ
Mục đích của bước này là đưa văn bản từ các dạng khơng đồng nhất về cùng một dạng. Dưới gĩc độ tối ưu bộ nhớ lưu trữ và tính chính xác cũng rất quan trọng.
Ngồi ra trong một số trường hợp, đối với các ký tự đặc biệt như: số - thường bị loại ra trong khi phân tích vì nĩ khơng mang lại ý nghĩa đối với tài liệu văn bản ; dấu chấm câu – cũng thường được loại ra vì khơng ảnh hưởng đến nội dung của tài liệu.
4. Loại bỏ từ dừng (stop – worlds), loại bỏ từ cĩ tần số thấp, loại bỏ tiền tố và hậu tố
Loại bỏ từ dừng
Đối với các từ xuất hiện nhiều trong các văn bản của tập kết quả, thường khơng giúp ích gì trong việc phân biệt nội dung của tài liệu ví dụ như: “web”, “site”, “a”, “the”, “in”, “but”,.. và một số trạng từ, tính từ. Đối với các từ loại này, việc loại bỏ sẽ khơng làm ảnh hưởng đến cơng việc biểu diễn của văn bản.
Loại bỏ từ cĩ tần số thấp
Trong văn bản, cĩ nhiều từ ít xuất hiện và cũng cĩ ít ảnh hưởng đối với nội dung văn bản. Do đĩ, vấn đề đặt ra là cần loại bỏ những từ cĩ tần xuất nhỏ. Áp dụng phương pháp quan sát tần xuất xuất hiện của các từ trong văn bản của Zipf (1949):
Gọi tần số xuất hiện của từ khĩa 𝑘 trong tập X là 𝑓𝑘. Sắp xếp các từ khĩa trong tập hợp theo chiều giảm dần của tần số 𝑓. Gọi thứ hạng của mỗi từ khĩa 𝑘 là ℎ𝑘. Định luật Zipf được phát biểu dưới dạng cơng thức [20]:
𝑓𝑘. ℎ𝑘 ≈ 𝐾 (2.1)
Trong đĩ: 𝐾 là một hằng số.
Nếu N là tổng số từ trong tập văn bản, 𝐾 ≈ 𝑁 10
Vậy tần số xuất hiện và thứ hạng của một từ khĩa là hai đại lượng tỉ lệ nghịch với nhau. Cơng thức định luật Zipf được biểu diễn lại như sau:
ℎ𝑘 ≈ 𝐾 𝑓𝑘
(2.2)
Loại bỏ tiền tố và hậu tố
Loại bỏ tiền tố và hậu tố (Stemming) loại bỏ tiền tố và hậu tố của từ để biến đổi nĩ về từ gốc do thực tế, một từ gốc cĩ nhiều hình thái biến đổi ví dụ từ “clusters”, “clustering”, “clustered” cĩ cùng quan hệ với từ “clus- ter”. Do vậy cần loại bỏ các tiền tố và hậu tố cĩ thể làm giảm số lượng từ mà khơng ảnh hưởng đến nội dung văn bản.
5. Vector hĩa từ
Bước này mục đích là vector hố từ trong từng câu. Thơng thường chúng ta nên vector hố theo từng câu chứ khơng vector hố cả đoạn. Vì nếu vector hố theo đoạn văn dài sẽ dẫn đến vector của bạn nhiều chiều quá, nếu dữ liệu của bạn nhiều chiều, sẽ dẫn đến tình trạng thiếu tính chính xác, khĩ xử lý.