Phân tích tần suất văn bản đếm số lần mỗi từ hoặc ký tự xuất hiện. Trong tiếng Việt, dấu thanh gắn liền với từng nguyên âm khiến việc định nghĩa "một chữ cái" cho mục đích thống kê tần suất phức tạp hơn nhiều so với các ngôn ngữ không có thanh điệu.
Dấu thanh nhân số lượng "chữ cái" cần đếm
Một nguyên âm như "a" trong tiếng Việt có thể mang một trong sáu thanh điệu (a, á, à, ả, ã, ạ), mỗi biến thể là một ký tự Unicode khác nhau về mặt kỹ thuật. Nếu phân tích tần suất coi mỗi tổ hợp nguyên âm-thanh điệu là một "chữ cái" riêng biệt, bảng tần suất sẽ có nhiều mục hơn hẳn so với tiếng Anh, và chữ "a" không dấu chỉ là một trong nhiều biến thể của cùng một chữ cái gốc.
Chuẩn hóa Unicode trước khi đếm
Vì một ký tự có dấu như "ế" có thể được lưu dưới dạng một điểm mã dựng sẵn hoặc nhiều điểm mã kết hợp riêng biệt, hai văn bản trông giống hệt nhau có thể cho ra kết quả phân tích tần suất khác nhau nếu không được chuẩn hóa Unicode (NFC) về cùng một dạng biểu diễn trước khi đếm.
Tần suất chữ cái và mật mã học cổ điển
Các mật mã thay thế đơn giản không thay đổi phân bố tần suất của chữ cái, chỉ sắp xếp lại chữ cái nào tương ứng với chữ cái nào. Bằng cách so sánh phân bố tần suất của một văn bản mã hóa với phân bố đã biết của ngôn ngữ gốc, người ta có thể khôi phục ánh xạ ký tự và phá mật mã mà không cần thử mọi khóa có thể — miễn là cả hai bên đều được chuẩn hóa nhất quán.
Vì sao cần đến điều này
- Nắm bắt nhanh các chủ đề chính của một tài liệu dài từ những từ xuất hiện thường xuyên nhất.
- Kiểm tra xem một văn bản có phân bố chữ cái tự nhiên hay không (bài tập giáo dục về mật mã học).
- Hiểu vì sao cùng một văn bản tiếng Việt có thể cho kết quả phân tích tần suất khác nhau nếu chuẩn hóa Unicode không nhất quán.
Định luật Zipf
Trong các ngôn ngữ tự nhiên, tần suất của một từ tỷ lệ nghịch với thứ hạng của nó trong danh sách sắp xếp giảm dần theo tần suất: từ phổ biến nhất xuất hiện gần gấp đôi từ phổ biến thứ hai, gấp ba từ phổ biến thứ ba, và cứ thế tiếp tục. Quy luật này (định luật Zipf) ổn định đến mức đối với văn bản thông thường, một độ lệch đáng kể so với nó là một tín hiệu: văn bản có thể được tạo ra một cách nhân tạo, bị nhồi nhét từ khóa nghiêm trọng, hoặc được viết bằng ngôn ngữ khác với dự kiến.