Embedding là cách biểu diễn văn bản (hoặc ảnh, âm thanh) thành một dãy số, gọi là vector, sao cho những nội dung có ý nghĩa gần nhau thì có vector gần nhau. Nhờ embedding, máy tính có thể tìm kiếm theo nghĩa thay vì khớp từ khóa, ví dụ hiểu “máy in không lên giấy” và “máy in kẹt giấy” là cùng chủ đề. Đây là thành phần cốt lõi của RAG và chatbot đọc tài liệu.
Hình dung embedding như tọa độ trên bản đồ ý nghĩa
Hãy tưởng tượng một bản đồ mà mỗi câu văn là một điểm. Các câu nói về sửa máy in nằm gần nhau, các câu về kế toán thuế nằm ở vùng khác. Embedding chính là tọa độ của câu trên bản đồ đó, chỉ khác là bản đồ có hàng trăm đến hàng nghìn chiều thay vì hai chiều.
Khi người dùng đặt câu hỏi, hệ thống tính tọa độ của câu hỏi rồi tìm những đoạn tài liệu có tọa độ gần nhất. Kết quả là tìm đúng nội dung dù người hỏi dùng từ khác với tài liệu.
Tìm kiếm từ khóa và tìm kiếm ngữ nghĩa
Hai cách tìm kiếm có điểm mạnh riêng, hệ thống tốt thường kết hợp cả hai.
| Tiêu chí | Tìm theo từ khóa | Tìm theo embedding |
|---|---|---|
| Cách khớp | Trùng chữ | Gần nghĩa |
| Câu hỏi dùng từ khác tài liệu | Dễ trượt | Vẫn tìm được |
| Mã sản phẩm, số hiệu chính xác | Rất tốt | Có thể kém |
| Không dấu, viết tắt | Kém nếu không xử lý | Tốt hơn, tùy mô hình |
Ứng dụng của embedding
- Tìm kiếm ngữ nghĩa: tìm tài liệu nội bộ, câu hỏi thường gặp theo ý nghĩa.
- RAG: chọn đoạn tài liệu liên quan đưa cho mô hình ngôn ngữ trả lời.
- Gợi ý: sản phẩm, bài viết tương tự.
- Phân nhóm: gom hàng nghìn phản hồi khách hàng thành các chủ đề.
- Phát hiện trùng lặp: tìm ticket, bài viết, sản phẩm trùng ý.
Lưu ý khi dùng embedding
- Chọn mô hình embedding hỗ trợ tốt tiếng Việt, thử trên dữ liệu thật.
- Chia tài liệu thành đoạn vừa phải; đoạn quá dài làm loãng ý nghĩa, quá ngắn mất ngữ cảnh.
- Khi đổi mô hình embedding, phải tính lại toàn bộ vector vì tọa độ của các mô hình khác nhau không dùng chung được.
- Kết hợp với tìm kiếm từ khóa cho mã sản phẩm, số hợp đồng, tên riêng.
Chi phí
Tạo embedding thường rẻ hơn nhiều so với gọi mô hình ngôn ngữ để sinh câu trả lời, và chỉ cần tính một lần cho mỗi đoạn tài liệu, trừ khi tài liệu thay đổi. Chi phí đáng kể hơn nằm ở việc lưu trữ và tìm kiếm khi kho dữ liệu lớn, thường dùng cơ sở dữ liệu vector hoặc tính năng vector có sẵn trong các hệ quản trị cơ sở dữ liệu phổ biến.
Khi xây chatbot đọc tài liệu, đặt tiêu đề mục và tên tài liệu vào đầu mỗi đoạn trước khi tạo embedding. Mẹo nhỏ này giúp tìm đúng đoạn hơn hẳn, nhất là với các đoạn ngắn thiếu ngữ cảnh.
Muốn đưa AI vào công việc của doanh nghiệp? PCTech tư vấn, đánh giá mức sẵn sàng AI và triển khai chatbot, AI agent, tự động hóa cho doanh nghiệp.
10 câu hỏi, 2 phút, nhận mức độ và việc nên làm tiếp theo. Dùng thử ngay
Câu hỏi thường gặp
Embedding và token khác nhau thế nào?
Token là mảnh văn bản mà mô hình đọc. Embedding là dãy số biểu diễn ý nghĩa của một token, câu hoặc đoạn văn.
Có cần GPU để tạo embedding không?
Dùng qua API thì không cần. Tự chạy mô hình embedding cho khối lượng lớn thì GPU giúp nhanh hơn, nhưng mô hình nhỏ vẫn chạy được trên CPU.
Embedding có lộ nội dung gốc không?
Vector không phải bản sao văn bản nhưng vẫn chứa thông tin về nội dung, nên cần bảo vệ như dữ liệu gốc.
Embedding dùng cho ảnh được không?
Được. Có mô hình tạo embedding cho ảnh, thậm chí chung không gian với văn bản để tìm ảnh bằng câu mô tả.
Bài viết liên quan
- Vector database là gì? Nền tảng cho AI đọc tài liệu nội bộ
- RAG là gì? Cho AI đọc tài liệu nội bộ
- Xây kho tri thức (knowledge base) cho AI trả lời nội bộ
- NLP là gì? Xử lý ngôn ngữ tự nhiên và tiếng Việt
- Token trong AI là gì? Vì sao AI tính phí theo token