Bỏ qua tới nội dung

Embedding là gì? Hiểu cách AI tìm kiếm theo nghĩa

Embedding biến chữ thành dãy số để máy so được nghĩa gần hay xa. Hiểu cách tìm kiếm theo nghĩa hoạt động, dùng vào việc gì và những giới hạn cần biết.

Kiến thức AI10 phút đọc

Bạn gõ "xin nghỉ mấy hôm về quê" vào ô tìm kiếm tài liệu công ty, và kết quả đầu tiên là "Quy định ngày phép năm", dù hai câu không có chữ nào giống nhau. Thứ đứng sau kiểu tìm kiếm đó có thể là embedding. Đọc xong bài này, bạn sẽ hiểu embedding là gì mà không cần biết toán, nó khác tìm theo từ khoá ở đâu, dùng vào việc gì, và vì sao "gần nghĩa" chưa chắc đã "đúng".

Hiểu nhanh trong một câu

Embedding là cách biến một đoạn chữ (hoặc ảnh, âm thanh) thành một dãy số, sao cho những thứ có nghĩa gần nhau thì dãy số cũng gần nhau.

Tài liệu của OpenAI gọi dãy số này là một vector (danh sách số theo thứ tự). Khoảng cách giữa hai vector cho biết hai đoạn chữ liên quan nhiều hay ít: càng gần càng liên quan. Thứ tạo ra dãy số là mô hình embedding, thường là một mô hình riêng, khác mô hình chatbot bạn trò chuyện hằng ngày.

Bài Skill, RAG và MCP là gì? đã nhắc embedding như "tọa độ ý nghĩa" trong một cách làm RAG. Bài này đi sâu vào chính khái niệm đó.

Ví dụ minh hoạ: chữ thành tọa độ

Hình dung mỗi câu được đặt lên một tấm bản đồ. Câu nói về nghỉ phép nằm một khu, câu nói về máy lọc nước nằm khu khác. Embedding chính là tọa độ của câu trên bản đồ đó.

CâuDãy số (minh hoạ, chỉ 3 số)
"Xin nghỉ mấy hôm về quê"0,81 · 0,12 · 0,33
"Quy định ngày phép năm"0,78 · 0,15 · 0,30
"Bảng giá máy lọc nước"0,05 · 0,92 · 0,41

Các con số trên chỉ để minh hoạ, không phải kết quả của mô hình thật. Hai câu đầu có dãy số gần giống nhau vì cùng nói chuyện nghỉ phép, dù không trùng chữ nào. Câu thứ ba nằm xa hẳn.

Mỗi con số trong dãy gọi là một chiều (dimension). Mô hình thật dùng hàng trăm tới hàng nghìn chiều. Ví dụ theo tài liệu chính thức, kiểm tra ngày 17/10/2026:

  • OpenAI text-embedding-3-small: mặc định 1.536 chiều; text-embedding-3-large: 3.072 chiều.
  • Google gemini-embedding-2: mặc định 3.072 chiều, chọn được từ 128 tới 3.072.
  • Voyage AI voyage-4: mặc định 1.024 chiều. Anthropic không có mô hình embedding riêng và giới thiệu Voyage AI trong tài liệu của mình.

Dãy càng dài càng tốn chỗ lưu, nên một số mô hình cho chọn số chiều nhỏ hơn. Nhiều chiều hơn không tự động nghĩa là hợp hơn với việc của bạn.

"Gần" được đo thế nào?

Một cách đo phổ biến là độ tương đồng cosine (cosine similarity). Hình dung mỗi dãy số là một mũi tên xuất phát từ cùng một điểm: hai mũi tên càng chỉ cùng hướng thì nghĩa càng giống. Theo tài liệu Gemini, giá trị này chạy từ -1 (ngược nhau) tới 1 (giống nhất). Phần mềm tự tính, bạn không cần làm.

Tìm theo từ khoá và tìm theo nghĩa

Tìm theo từ khoáGõ: xin nghỉ về quêKhớp đúng chữBỏ sót tài liệuTìm theo nghĩaGõ: xin nghỉ về quêSo mức gần nghĩaRa “Quy định ngày phép năm”
Tìm theo từ khoá
Mạnh với mã số, tên riêng, số hiệu cần khớp chính xác.
Tìm theo nghĩa
Mạnh khi người hỏi và tài liệu dùng chữ khác nhau.
Ví dụ minh hoạ: câu gõ vào không trùng chữ nào với tên tài liệu. Tìm theo từ khoá đơn giản dễ bỏ sót, tìm theo nghĩa vẫn có thể tìm ra.

Tìm theo từ khoá (keyword search) là kiểu ô tìm kiếm quen thuộc: xem tài liệu có chứa đúng chữ bạn gõ không. Tìm theo nghĩa (semantic search) dùng embedding để so mức gần nghĩa. Tài liệu của OpenAI ghi rằng cách này có thể ra kết quả liên quan ngay cả khi trùng rất ít hoặc không trùng từ khoá nào.

Nhưng tìm theo nghĩa không thay thế hẳn từ khoá:

  • Microsoft lưu ý tìm theo từ khoá thường tốt hơn với mã sản phẩm, thuật ngữ chuyên ngành, ngày tháng và tên người, vì nó tìm được chỗ khớp chính xác.
  • Anthropic nêu ví dụ: tìm "Error code TS-999", embedding có thể ra tài liệu nói chung về mã lỗi nhưng bỏ sót đúng mã TS-999.

Vì vậy nhiều hệ thống kết hợp cả hai, gọi là tìm kiếm lai (hybrid search). Azure AI Search của Microsoft và công cụ tìm trong tệp của OpenAI đều có lựa chọn này. Anthropic cũng cho rằng ghép embedding với BM25 (một cách xếp hạng theo từ khoá) giúp kết quả đầy đủ và chính xác hơn.

Một hệ thống tìm theo nghĩa chạy ra sao?

RAG gồm ba bước: tìm, gửi kèm, trả lời. Ở đây ta phóng to riêng bước tìm, theo cách làm bằng embedding. Tài liệu của OpenAI tóm tắt: tệp đưa vào kho được tự động chia đoạn, tính embedding và lập chỉ mục.

  1. Chia đoạnCắt tài liệu thành từng đoạn ngắn
  2. EmbeddingMỗi đoạn thành một dãy số
  3. Lưu khoCất dãy số vào cơ sở dữ liệu vector
  4. Câu hỏiCâu hỏi cũng được đổi thành dãy số
  5. Tìm gần nhấtLấy vài đoạn có dãy số gần nhất
  6. Dùng kết quảHiện cho bạn xem hoặc gửi kèm cho AI
Ví dụ minh hoạ một cách làm phổ biến: tài liệu được đổi thành dãy số và cất sẵn; khi có câu hỏi, hệ thống so dãy số để lấy các đoạn gần nghĩa nhất.
  • Ba bước đầu làm khi nạp tài liệu, và làm lại khi tài liệu thay đổi. Ba bước sau chạy mỗi lần có câu hỏi.
  • Chia đoạn vì mô hình embedding có giới hạn độ dài đầu vào, tính bằng token: ví dụ gemini-embedding-001 nhận tối đa 2.048 token mỗi lần. Anthropic cho biết các đoạn thường không quá vài trăm token, và cách cắt ảnh hưởng tới chất lượng tìm.
  • Cơ sở dữ liệu vector là kho chuyên lưu và tìm nhanh các dãy số này, ví dụ Pinecone, Qdrant, Weaviate, ChromaDB.

Ở bước cuối, kết quả có thể chỉ hiện ra như trang tìm kiếm, hoặc được gửi kèm câu hỏi để AI trả lời. Trường hợp sau chính là RAG làm bằng embedding. RAG cũng có thể tìm bằng từ khoá, tìm trên web hay truy vấn cơ sở dữ liệu thông thường; embedding chỉ là một cách.

Embedding dùng vào việc gì?

Tài liệu của OpenAI và Google liệt kê những việc khá giống nhau:

ViệcVí dụ minh hoạ
Tìm kiếm theo nghĩaHỏi kho quy định nội bộ bằng câu tự nhiên
RAGLấy đoạn tài liệu liên quan cho AI đọc trước khi trả lời
Gợi ý"Bài viết tương tự", "sản phẩm tương tự"
Gom nhóm (clustering)Gom 2.000 góp ý của khách thành vài chủ đề
Phân loạiTự gắn nhãn email: hỏi giá, khiếu nại, bảo hành
Phát hiện bất thườngTìm những tin nhắn khác hẳn phần còn lại

Một số mô hình mới còn đặt nhiều loại dữ liệu lên chung một bản đồ. Google mô tả gemini-embedding-2 nhận chữ, ảnh, video, âm thanh và PDF, cho phép tìm chéo, như dùng chữ để tìm ảnh.

Embedding khác token thế nào?

Cả hai đều "biến chữ thành số", nên dễ nhầm.

TokenEmbedding
Là gìMẩu chữ nhỏ, mỗi mẩu ứng với một mã sốDãy hàng trăm, hàng nghìn số đại diện cho nghĩa
Con số nói lên gìChỉ là số thứ tự trong "từ điển" của bộ tách tokenVị trí trên "bản đồ nghĩa": gần nhau là gần nghĩa
Bạn gặp khiXem giới hạn độ dài, bảng giáTìm kiếm, gợi ý, RAG

Hai mã token đứng liền nhau không có nghĩa hai mẩu chữ gần nghĩa; embedding thì được tạo ra chính để so nghĩa. Bên trong mô hình ngôn ngữ cũng có vector cho từng token, nhưng trong bài này, "embedding" là dãy số cho cả đoạn do mô hình embedding tạo ra.

Giới hạn cần biết

  • Chất lượng tuỳ mô hình và ngôn ngữ. Nhóm tác giả bộ đánh giá VN-MTEB (07/2025) nhận xét tiếng Việt còn thiếu bộ đánh giá embedding quy mô lớn; khi họ chấm 18 mô hình mở, điểm chênh nhau khá rõ. Cách chắc nhất là thử với tài liệu và câu hỏi tiếng Việt của chính bạn.
  • Đổi mô hình thường phải tính lại. Dãy số của hai mô hình khác nhau thường không so trực tiếp được, nên đổi mô hình hay kéo theo việc tính lại cả kho.
  • Không phải câu hỏi nào cũng hợp. "Tháng 9 ký bao nhiêu hợp đồng?" cần đếm và lọc theo ngày. Tìm theo nghĩa chỉ trả về vài đoạn gần nghĩa, không đếm hộ bạn.
  • Quyền riêng tư. Dùng dịch vụ embedding của một hãng nghĩa là tài liệu được gửi lên máy chủ của hãng để tính. Xem lưu ý trong bài Quyền riêng tư khi dùng AI; tài liệu nhạy cảm có thể cân nhắc mô hình mở tự chạy.

Bạn có thể gặp embedding ở đâu?

Không lập trình, bạn vẫn có thể đang dùng một bước tìm kiếm nằm sau công cụ AI. Nhưng hãng không phải lúc nào cũng công bố họ tìm bằng cách nào, nên đừng mặc định "tải tài liệu lên là có embedding". Hai ví dụ theo tài liệu chính thức, kiểm tra ngày 17/10/2026:

  • Dự án (Projects) trong Claude: khi tài liệu dự án gần chạm giới hạn cửa sổ ngữ cảnh, Claude tự bật chế độ RAG, dùng một công cụ tìm trong tài liệu dự án để chỉ lấy phần liên quan (gói trả phí). Trang trợ giúp không nói công cụ này tìm bằng embedding hay cách khác.
  • Công cụ tìm trong tệp (file search) của OpenAI, dành cho lập trình viên qua API: tệp được tự động chia đoạn, tính embedding, lập chỉ mục trong một "vector store", rồi được tìm bằng cả nghĩa lẫn từ khoá.

Nếu nhờ người làm kỹ thuật dựng trợ lý trả lời theo tài liệu riêng, bạn có thể hỏi: tìm theo nghĩa, theo từ khoá hay kết hợp? Dùng mô hình embedding nào? Đã thử với câu hỏi tiếng Việt thật chưa?

Tóm lại

  • Embedding biến chữ (và ảnh, âm thanh…) thành dãy số; gần nghĩa thì gần số.
  • Nó giúp tìm theo nghĩa, gợi ý, gom nhóm, phân loại, và là một cách làm bước tìm trong RAG. Từ khoá vẫn mạnh với mã số, tên riêng.
  • Gần nghĩa chưa chắc đúng: thử với dữ liệu tiếng Việt thật và cẩn trọng với tài liệu nhạy cảm.

Nguồn tham khảo

Kiểm tra ngày 17/10/2026.

  • Vector embeddings: OpenAI, định nghĩa, các ứng dụng, số chiều mặc định của text-embedding-3-small và text-embedding-3-large.
  • Retrieval và File search: OpenAI, tìm theo nghĩa khi không trùng từ khoá, vector store tự chia đoạn, tính embedding, lập chỉ mục, tìm kết hợp.
  • Embeddings: Google Gemini API, các ứng dụng, số chiều, giới hạn token, embedding nhiều loại dữ liệu, cosine similarity, cơ sở dữ liệu vector.
  • Embeddings: Anthropic, định nghĩa, việc Anthropic không có mô hình embedding riêng, bảng mô hình Voyage AI.
  • Introducing Contextual Retrieval: Anthropic, 19/09/2024, ví dụ mã lỗi TS-999, độ dài đoạn, kết hợp embedding với BM25.
  • Hybrid search: Microsoft Azure AI Search, điểm mạnh của tìm theo từ khoá và theo nghĩa.
  • Retrieval augmented generation (RAG) for projects: Anthropic, chế độ RAG trong Projects của Claude.
  • VN-MTEB: Vietnamese Massive Text Embedding Benchmark: Pham và cộng sự, arXiv, 07/2025.

Viết bởi Thế cho AI247. Thấy hữu ích? Hãy chia sẻ cho người cần.

FacebookX