0

Embedding Model – Chuyển văn bản thành vector bằng Sentence-Transformers

Trong các hệ thống AI hiện đại, đặc biệt là AI Agent, RAG hay công cụ phân tích ngữ nghĩa, Embedding Model là tầng xử lý cốt lõi giúp “dịch” dữ liệu thô thành dạng vector số học mà máy có thể thao tác. Nhờ cơ chế này, mô hình có thể đo tương đồng, so khớp ngữ nghĩa và trích xuất thông tin nhanh theo thời gian thực.

Embedding là gì

Vấn đề

Máy tính chỉ nhìn thấy chuỗi ký tự, không hiểu được ý nghĩa hay ngữ cảnh. Hai câu:

  • “Tôi thích học AI”
  • “Tôi yêu trí tuệ nhân tạo”

…về mặt string hoàn toàn khác nhau, nhưng về mặt ngữ nghĩa thì gần như tương đương. Nếu không có cách biểu diễn thống nhất, mô hình không thể xác định mức độ liên quan giữa các câu. embedding-la-gi-17610352117278.png

Giải pháp của Embedding

Embedding Model chuyển mỗi câu thành một vector thực nhiều chiều. Các câu mang nghĩa gần nhau sẽ nằm gần nhau trong không gian vector:

Câu Vector (rút gọn)
Tôi thích học AI [0.21, 0.45, -0.32, …]
Tôi yêu trí tuệ nhân tạo [0.22, 0.47, -0.31, …]
Tôi thích ăn phở [-0.88, 0.13, 0.75, …]

→ Hai câu đầu nằm gần nhau → tương đồng ngữ nghĩa → Câu “ăn phở” lệch hẳn → khác nội dung

Embedding Model vận hành như thế nào?

Các mô hình phổ biến như BERT, MPNet, T5, GPT… hoạt động theo pipeline đơn giản:

  1. Nhận input: câu, đoạn văn, hình ảnh…
  2. Tokenization: tách dữ liệu thành token.
  3. Embedding Layer: mỗi token được ánh xạ thành vector.
  4. Tính toán positional + attention: mô hình “học” quan hệ ngữ nghĩa.
  5. Xuất vector cuối: đại diện cho câu hoặc đoạn văn.

Vector cuối cùng này là cơ sở cho semantic search, RAG, clustering, recommendation,…

Tạo embedding bằng thư viện Sentence-Transformers

Dưới đây là phần quan trọng nhất dành cho dev: cách triển khai thực tế.

Cài đặt

pip install sentence-transformers

Khởi tạo mô hình

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("all-MiniLM-L6-v2")

all-MiniLM-L6-v2 → vector 384 chiều, tốc độ nhanh, phù hợp môi trường sản phẩm.

Encode câu thành vector

sentences = [
    "Bizfly Chatbot giúp doanh nghiệp tự động hóa CSKH",
    "Bizfly CRM quản lý dữ liệu và khách hàng hiệu quả"
]

embeddings = model.encode(sentences)
print(embeddings.shape)

Output: (2, 384) → tức là 2 câu, mỗi câu thành vector 384 chiều.

Xem giá trị vector

print(embeddings[0][:10])

Đo độ tương đồng bằng Cosine Similarity

from sklearn.metrics.pairwise import cosine_similarity

score = cosine_similarity([embeddings[0]], [embeddings[1]])[0][0]
print("Similarity:", round(score, 3))

Model đa ngôn ngữ (phù hợp tiếng Việt)

model = SentenceTransformer("paraphrase-multilingual-MiniLM-L12-v2")

Ứng dụng thực tế của Embedding trong hệ thống AI

Bài toán Vai trò của Embedding
Semantic Search So sánh vector truy vấn + tài liệu
Chatbot AI (RAG) Tìm đoạn nội dung liên quan trước khi gửi cho LLM
Recommendation engine Tìm sản phẩm có vector gần với vector hành vi người dùng
Clustering Gom nhóm văn bản bằng KMeans trên vector
Sentiment Analysis Vector hóa câu → input cho classifier

Tích hợp Embedding vào RAG Pipeline

Một hệ thống RAG điển hình gồm:

  1. Chuẩn hóa dữ liệu → chunking nội dung

  2. Sinh embedding cho từng chunk

  3. Lưu vector vào vector DB (FAISS, ChromaDB, Pinecone…)

  4. Khi có truy vấn:

    • Encode câu hỏi
    • Tìm top-k vector gần nhất
    • Gửi + context vào LLM để tạo câu trả lời chính xác

Pseudo-flow:

Query → Encode → Semantic Search → Retrieve top-k → LLM → Output

Tích hợp với LangChain

from langchain.embeddings import HuggingFaceEmbeddings

emb = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2")

Danh sách các mô hình Embedding phổ biến

Model Dim Ghi chú
all-MiniLM-L6-v2 384 Nhanh, nhẹ, hiệu quả
multi-qa-MiniLM-L6-cos-v1 384 Tối ưu cho QA
paraphrase-multilingual-MiniLM-L12-v2 384 Hỗ trợ tiếng Việt
sentence-t5-base 768 Chất lượng cao
e5-large-v2 1024 Chuẩn cho semantic search quy mô lớn

Kết luận

Embedding Model là nền tảng của hầu hết các hệ thống AI có hiểu ngữ nghĩa hiện nay. Bằng việc chuyển dữ liệu thành vector, developer có thể triển khai các bài toán như semantic search, RAG, phân loại và gợi ý nội dung với độ chính xác cao. Sentence-Transformers là lựa chọn đơn giản, mạnh mẽ và dễ tích hợp trong mọi pipeline.

Nguồn tham khảo: https://bizfly.vn/techblog/huong-dan-tich-hop-chunking-vao-pipeline-huan-luyen-ai.html


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí