Kiến thức chuyên đề

Bài #7: Embedding, vector database và semantic search là gì?

  • 30/06/2026
  • 5 lượt xem
Bài #7: Embedding, vector database và semantic search là gì?

Bài #7: Embedding, vector database và semantic search là gì?

Khi tìm kiếm thông thường, ta thường nghĩ máy tính chỉ so khớp từ khóa. Bạn gõ “cách học từ vựng”, hệ thống tìm những trang có chữ “cách”, “học”, “từ vựng”. Cách này vẫn hữu ích, nhưng nó có giới hạn: nếu một bài viết dùng cụm “ghi nhớ từ mới bằng flashcard” mà không dùng đúng cụm bạn gõ, kết quả có thể bị bỏ lỡ.

Embedding, vector databasesemantic search giúp giải quyết vấn đề đó. Thay vì chỉ hỏi “có đúng chữ này không?”, hệ thống cố gắng hỏi “ý nghĩa của câu hỏi này gần với nội dung nào?”. Đây là nền tảng rất quan trọng phía sau chatbot có khả năng tìm tài liệu, hệ thống gợi ý bài học, trợ lý nội bộ của công ty và cả kỹ thuật RAG sẽ học ở bài sau.

Bài #7: Embedding và Semantic Search Biến văn bản thành tọa độ ý nghĩa để tìm đúng nội dung, không chỉ đúng từ khóa 1. Văn bản "cách học từ vựng" "flashcard tiếng Anh" Tài liệu, câu hỏi, bài học 2. Embedding [0.12, -0.44, 0.87, ...] Vector nắm bắt ý nghĩa Không phải người đọc được, máy dùng để so sánh 3. Vector database Lưu vector + nội dung gốc Tìm các điểm gần nhau Trả về top-k kết quả liên quan nhất Không gian ý nghĩa từ vựng flashcard ôn tập Câu hỏi người dùng Semantic search trả lời Tìm theo ý nghĩa: "làm sao nhớ từ mới lâu hơn" có thể gặp bài về flashcard, ôn tập ngắt quãng, ví dụ câu. Từ khóa hỏi "mua laptop" khác "chọn máy học online", nhưng embedding giúp máy hiểu chúng có thể liên quan.
Sơ đồ tự tạo: embedding biến văn bản thành vector; vector database lưu các vector đó; semantic search tìm nội dung gần câu hỏi nhất về mặt ý nghĩa.

Mục tiêu bài học

Sau bài này, bạn cần hiểu embedding là gì, vì sao nó thường được mô tả như “tọa độ ý nghĩa”, vector database lưu trữ thứ gì, semantic search khác tìm kiếm từ khóa ra sao, và vì sao các khái niệm này là bước chuẩn bị quan trọng cho RAG.

Embedding là gì?

Embedding là cách biểu diễn một đối tượng thành một dãy số. Đối tượng đó có thể là một từ, một câu, một đoạn văn, một hình ảnh hoặc một sản phẩm. Với văn bản, embedding thường là một vector gồm nhiều số thập phân. Người đọc nhìn vào vector sẽ không hiểu ngay, nhưng máy tính có thể dùng vector để so sánh mức độ gần nhau giữa các nội dung.

Ví dụ đời thường: nếu ta xếp sách trong thư viện theo chủ đề, sách Toán nằm gần sách bài tập Toán, sách tiếng Anh nằm gần sách từ vựng, sách nấu ăn nằm khu khác. Embedding cũng tạo ra một kiểu “bản đồ” như vậy, chỉ khác là bản đồ nằm trong không gian số. Hai đoạn văn có ý nghĩa gần nhau thường có vector gần nhau hơn.

Vector là gì trong ngữ cảnh này?

Vector có thể hiểu đơn giản là một danh sách số có thứ tự. Trong hình học lớp dưới, bạn có thể thấy một điểm trên mặt phẳng có tọa độ như `(x, y)`. Với embedding, số chiều có thể lớn hơn rất nhiều, nên ta không thể vẽ đầy đủ trên giấy. Tuy vậy, ý tưởng chính vẫn giống nhau: mỗi đoạn văn được đặt vào một vị trí trong không gian, và vị trí đó phản ánh phần nào ý nghĩa của đoạn văn.

Khi người dùng hỏi “làm sao nhớ từ mới lâu hơn”, hệ thống tạo embedding cho câu hỏi. Sau đó nó so sánh vector của câu hỏi với vector của các bài viết đã lưu. Một bài có tiêu đề “Cách làm flashcard từ vựng tiếng Anh để nhớ lâu” có thể được xem là gần về ý nghĩa, dù không trùng từng chữ.

Vector database lưu cái gì?

Vector database là cơ sở dữ liệu được thiết kế để lưu và tìm kiếm vector hiệu quả. Mỗi bản ghi thường gồm hai phần: vector embedding và dữ liệu gốc đi kèm. Dữ liệu gốc có thể là đoạn văn, tiêu đề bài học, đường link, mã sản phẩm, tác giả hoặc ngày cập nhật.

Nếu chỉ lưu vector mà không lưu thông tin gốc, hệ thống biết có một điểm gần với câu hỏi nhưng không biết phải trả về bài nào. Vì vậy vector database thường lưu cả “tọa độ ý nghĩa” lẫn metadata. Khi tìm kiếm, nó trả về danh sách kết quả gần nhất, thường gọi là top-k, ví dụ top 5 đoạn liên quan nhất.

Semantic search khác tìm kiếm từ khóa thế nào?

Tìm kiếm từ khóa tập trung vào chữ xuất hiện trong tài liệu. Semantic search tập trung vào ý nghĩa. Điều này không có nghĩa semantic search luôn tốt hơn. Với những truy vấn cần đúng mã số, tên riêng, điều khoản chính xác hoặc câu trích dẫn, tìm từ khóa vẫn rất quan trọng. Nhưng với câu hỏi tự nhiên, cách diễn đạt đa dạng, hoặc nhu cầu tìm tài liệu “cùng ý”, semantic search mạnh hơn.

Ví dụ bạn gõ “máy học online không bị lag”. Tài liệu phù hợp có thể viết “cách chọn laptop cho lớp học trực tuyến”. Hai câu không giống chữ, nhưng ý nghĩa gần nhau. Embedding giúp hệ thống nhận ra mối liên hệ này.

Ví dụ kỹ thuật đơn giản

Giả sử Lopmoi có 1.000 bài học. Hệ thống có thể cắt mỗi bài thành các đoạn nhỏ, gọi là chunk. Mỗi chunk được đưa qua một mô hình embedding để tạo vector. Vector và thông tin như tiêu đề bài, URL, số thứ tự đoạn được lưu vào vector database.

Khi học sinh hỏi “em hay quên công thức sau một tuần thì học sao?”, hệ thống tạo embedding cho câu hỏi, tìm các chunk gần nhất, rồi trả về các đoạn nói về ôn tập ngắt quãng, flashcard và cách tự kiểm tra. Nếu kết hợp với LLM, các đoạn này có thể được đưa vào context để mô hình trả lời dựa trên tài liệu thật. Đó chính là cầu nối sang RAG.

Lỗi hiểu nhầm thường gặp

Hiểu nhầm 1: Embedding hiểu nghĩa giống con người. Không hẳn. Embedding là biểu diễn thống kê học được từ dữ liệu. Nó rất hữu ích, nhưng vẫn có thể nhầm nếu câu hỏi mơ hồ, dữ liệu thiếu hoặc mô hình không phù hợp với tiếng Việt/chuyên ngành.

Hiểu nhầm 2: Vector database thay thế cơ sở dữ liệu thường. Không đúng. Cơ sở dữ liệu quan hệ vẫn rất tốt cho dữ liệu có cấu trúc như tài khoản, đơn hàng, điểm số. Vector database phù hợp hơn khi cần tìm nội dung gần nhau về ý nghĩa.

Hiểu nhầm 3: Semantic search luôn trả lời đúng. Semantic search chỉ giúp tìm tài liệu liên quan. Nó không tự chứng minh tài liệu đúng, không thay người kiểm duyệt, và không loại bỏ hoàn toàn hallucination nếu phía sau còn có LLM sinh câu trả lời.

Bài tập nhỏ

Hãy viết ba câu: “cách học từ vựng tiếng Anh”, “làm flashcard để nhớ từ mới”, và “công thức tính diện tích hình tròn”. Theo trực giác, hai câu đầu nên gần nhau hơn câu thứ ba. Đó là tinh thần của embedding: không cần giống chữ hoàn toàn, chỉ cần gần về ý nghĩa.

Sau đó thử đổi câu đầu thành “làm sao nhớ vocabulary lâu hơn”. Bạn sẽ thấy một hệ thống semantic search tốt vẫn nên liên hệ nó với flashcard hoặc ôn tập từ vựng, dù có trộn tiếng Việt và tiếng Anh.

Ghi nhớ

Embedding biến văn bản thành vector để máy tính so sánh ý nghĩa. Vector database lưu các vector cùng dữ liệu gốc và giúp tìm nhanh những nội dung gần nhất. Semantic search dùng các vector đó để tìm theo nghĩa, không chỉ theo chữ. Ba khái niệm này là nền móng cho nhiều ứng dụng AI thực tế: tìm tài liệu nội bộ, gợi ý bài học, hỏi đáp trên kho tri thức và RAG.

Xem lại series AI & LLM

Làm bài trắc nghiệm để tăng kỹ năng mỗi ngày

Làm trắc nghiệm ngay
  • Mouse Move Image
  • Mouse Move Image
  • Mouse Move Image
  • Mouse Move Image