N-gram
Phương pháp chia văn bản thành các chuỗi con liên tiếp gồm N ký tự hoặc từ, được sử dụng trong tìm kiếm và tính độ tương đồng văn bản.
N-gram là chuỗi con liên tiếp gồm N ký tự hoặc từ được trích xuất từ văn bản. Khi N=1 gọi là unigram, N=2 là bigram và N=3 là trigram. Ví dụ, các bigram ký tự của "hello" là "he", "el", "ll" và "lo". Ngoài N-gram cấp ký tự, còn có N-gram cấp từ: các bigram từ của "I love Tokyo" là "I love" và "love Tokyo". Kỹ thuật cơ bản này đã được sử dụng trong xử lý ngôn ngữ tự nhiên và truy xuất thông tin trong nhiều thập kỷ và tiếp tục là thành phần cốt lõi trong nhiều hệ thống hiện đại.
N-gram cũng được sử dụng rộng rãi để tính toán độ tương đồng văn bản. Bằng cách so sánh sự trùng lặp của các tập N-gram được tạo từ hai văn bản sử dụng các chỉ số như hệ số Jaccard hoặc độ tương đồng cosine, mức độ tương đồng giữa các tài liệu có thể được định lượng. Phương pháp này được áp dụng trong nhiều tình huống bao gồm kiểm tra chính tả, tìm kiếm mờ, phát hiện đạo văn và công cụ đề xuất. Tính năng gợi ý tìm kiếm của Google là một ví dụ sử dụng dự đoán dựa trên N-gram cho các truy vấn đang nhập.
N-gram cũng đóng vai trò quan trọng như công nghệ nền tảng cho mô hình ngôn ngữ. Trong mô hình ngôn ngữ N-gram, xác suất của từ tiếp theo được ước tính từ N-1 từ trước đó. Trước khi deep learning trở nên phổ biến, đây là công nghệ cốt lõi trong dịch máy và nhận dạng giọng nói. Ngày nay, mô hình N-gram vẫn hữu ích cho các tác vụ phân loại và lọc văn bản nhẹ nhờ chi phí tính toán thấp và khả năng diễn giải.
Tuy nhiên, N-gram có một số lưu ý. Khi N tăng, kích thước chỉ mục tăng nhanh, đẩy chi phí lưu trữ và tính toán lên cao. Còn có vấn đề dương tính giả khi các chuỗi con không liên quan về ngữ nghĩa khớp nhau - ví dụ, tìm kiếm "Tokyo" có thể khớp với "Kyoto" trong bigram ký tự tiếng Nhật. Để giảm thiểu điều này, nhiều hệ thống áp dụng phương pháp kết hợp N-gram với phân tích hình thái học.
Từ góc độ đếm ký tự, kết quả phân đoạn N-gram phụ thuộc trực tiếp vào độ dài văn bản. Văn bản có độ dài L tạo ra L-N+1 N-gram ký tự, nghĩa là văn bản ngắn hơn cho ít N-gram hơn. Sử dụng công cụ đếm ký tự để xác định độ dài văn bản trước giúp ước tính độ chi tiết và chính xác của phân tích N-gram.