Nội dung bài viết
© 2025 AI VIET NAM. All rights reserved.
Tác giả: AI VIET NAM (AI VIET NAM)
Keywords: SemanticChunker, Text Splitter, chunking văn bản, RAG, NLP, semantic splitting
Khi bắt đầu làm việc với văn bản dài (document, ebook, báo cáo, transcript…), một trong những bước quan trọng là chunking – chia nhỏ văn bản thành các đoạn vừa phải để mô hình dễ xử lý.
Nhưng người học NLP thường gặp một vấn đề:
Kết quả là mô hình embedding hoặc retrieval (RAG) hoạt động kém khả năng hiểu ngữ nghĩa – điều ảnh hưởng trực tiếp đến các bài toán ở Module NLP (Module 10) và GenAI/LLMs (Module 11–12).
Đây là lý do SemanticChunker được chú ý gần đây.
Text Splitter chia theo hình thức, SemanticChunker chia theo ngữ nghĩa.
Text Splitter truyền thống dùng những quy tắc đơn giản:
Điểm mạnh:
Điểm hạn chế:
SemanticChunker hoạt động bằng cách:
Nói cách khác, thay vì
cứ đủ 500 ký tự thì cắtthấy nội dung đã chuyển ýĐiểm mạnh:
Điểm này liên quan trực tiếp tới nhóm kiến thức embedding, tokenization và semantic similarity trong Module 10 (NLP) và Module 12 (LLMs).
Điểm hạn chế:
Giả sử văn bản:
“Deep Learning xuất hiện sau Machine Learning. Một số mô hình phổ biến là CNN, RNN và Transformer. Trong khi đó, Data Engineering tập trung vào pipeline và ETL.”
Nếu cấu hình chia 50 ký tự, bạn có thể nhận được:
Các câu bị cắt giữa chừng → mất mạch.
Có thể tạo 2 chunk rõ ràng:
Nội dung gọn, đủ ý, dễ dùng cho embedding.
Trong các dự án sử dụng LLM để truy vấn tài liệu:
Các nhóm triển khai RAG thực tế (Module 12 – LLMs) thường ưu tiên SemanticChunker vì giúp cải thiện tính chính xác khi truy vấn tài liệu.
SemanticChunker đặc biệt hữu ích cho:
| Tiêu chí | Text Splitter | SemanticChunker |
|---|---|---|
| Cách chia | Theo độ dài, ký tự, câu | Theo ý nghĩa, chủ đề |
| Mục tiêu | Dễ chia | Giữ trọn ngữ nghĩa |
| Kết quả | Chunk rời rạc | Chunk liền mạch, giàu nội dung |
| Tốc độ | Nhanh | Chậm hơn |
| Chất lượng RAG | Trung bình | Cao |
| Tài nguyên | Thấp | Cao hơn |
Bạn có thể thử:
Những thử nghiệm nhỏ này giúp hiểu rõ hành vi của mô hình khi xử lý văn bản dài.
SemanticChunker có chia theo độ dài không?
Không, nó ưu tiên chia theo ý nghĩa trước.
Text Splitter có giữ được ngữ nghĩa không?
Không chắc, vì chỉ chia theo quy tắc hình thức.
SemanticChunker có phù hợp mọi loại văn bản không?
Có, đặc biệt văn bản dài và nhiều chủ đề.
SemanticChunker có tốn tài nguyên hơn không?
Có, vì cần mô hình hiểu ngữ nghĩa.
Q: Mình con số 0 thì học nổi không?
A: Chỉ cần có thời gian học mỗi ngày. Kiến thức và tài liệu team admin lo.
Q: Ai dạy AIO?
A: Toàn bộ admin AIO trực tiếp dạy và hỗ trợ trong suốt hành trình.
Q: Admin có “xịn” không?
A: Admin đều là người làm nghề thật. Không dám nói xịn, chỉ dạy bằng hết sức mình.
Q: AIO khác gì trung tâm khác?
A: AIO không phải trung tâm. Đây là dự án học tập cộng đồng với tinh thần “Cùng nhau học – cùng nhau khổ – cùng nhau lớn”.