Sự kiện tìm thấy:

Embeddings là gì? Cách AI hiểu ngữ nghĩa văn bản

Embeddings là gì? Cách AI hiểu ngữ nghĩa văn bản

Embeddings là một trong những khái niệm nền tảng của AI hiện đại, đặc biệt khi bạn xây dựng AI agent, RAG hoặc hệ thống tìm kiếm thông minh. Nếu chỉ nhớ một ý, hãy nhớ thế này: embedding biến văn bản thành vector số sao cho những nội dung có ý nghĩa gần nhau cũng nằm gần nhau trong không gian toán học.

Máy tính không tự hiểu từ ngữ như con người. Nó cần một cách biểu diễn bằng số để nhận ra rằng cam và táo đều là trái cây, đều có thể ép lấy nước, dù hai từ này được viết hoàn toàn khác nhau.

Bắt đầu từ bài toán dự đoán từ tiếp theo

Hãy hình dung bạn đang xây dựng một hệ thống tự hoàn thành câu. Bạn đưa vào câu: “Tôi thích uống nước cam và sau đó là …”. Từ phù hợp ở chỗ trống là “nước ép”.

Bây giờ thay “cam” bằng “táo”: “Tôi thích uống nước táo và sau đó là …”. Một mô hình tốt vẫn nên dự đoán được “nước ép”, bởi táo và cam có quan hệ ngữ nghĩa tương tự trong bối cảnh này.

Đây chính là điểm khó. Nếu AI chỉ ghi nhớ từng câu riêng lẻ, nó có thể làm tốt với câu về cam nhưng thất bại với câu về táo. Để khái quát hóa, mô hình phải nhận ra ý nghĩa chung giữa các từ, thay vì chỉ nhìn vào mặt chữ.

Hai câu có từ orange và apple cùng dẫn đến từ juice được viết trên bảng
Mục tiêu không phải là nhớ nguyên câu, mà là hiểu sự tương đồng giữa cam và táo.

Vì sao cách biểu diễn một nóng không đủ?

Một cách đơn giản để biến từ thành số là tạo một từ điển, chẳng hạn gồm 10.000 từ. Mỗi từ được biểu diễn bằng một vector rất dài, gần như toàn số 0 và chỉ có một vị trí mang giá trị 1. Cách này thường được gọi là biểu diễn một nóng.

Ví dụ, từ “táo” có thể có số 1 ở vị trí thứ 150, còn “cam” có số 1 ở vị trí thứ 6.000. Về mặt toán học, hai vector này cách xa nhau, mặc dù về nghĩa chúng khá gần nhau.

Cách biểu diễn Mô hình nhìn thấy Vấn đề
Biểu diễn một nóng Mỗi từ là một vị trí độc lập trong từ điển Không phản ánh táo và cam đều là trái cây
Embedding Mỗi từ là tập hợp nhiều đặc trưng số Giữ được mức độ tương đồng về nghĩa

Vì vậy, nếu bạn huấn luyện bằng biểu diễn một nóng, mô hình khó suy ra rằng kiến thức học được từ câu có “cam” nên được áp dụng cho câu có “táo”. Nó thấy hai từ như hai đối tượng không liên quan.

Embedding lưu ý nghĩa bằng các đặc trưng

Thay vì chỉ gán một vị trí cố định cho mỗi từ, embedding mô tả từ bằng nhiều đặc trưng. Bạn có thể hình dung một bảng có các cột là từ như “cam”, “táo”, “đàn ông”, “phụ nữ”, còn mỗi hàng là một đặc trưng.

Chẳng hạn, một đặc trưng có thể phản ánh câu hỏi “có thể ăn được không?”. Cam và táo sẽ có điểm cao, trong khi đàn ông và phụ nữ có điểm thấp. Một đặc trưng khác có thể là “có phải trái cây không?”, và hai từ đầu tiếp tục có giá trị cao hơn hẳn.

Bảng đặc trưng và từ với các giá trị số cho orange apple man woman
Các giá trị số đại diện cho tập đặc trưng giúp mô hình phân biệt và liên hệ ý nghĩa giữa các từ.

Trên thực tế, không phải bạn tự viết từng câu hỏi như vậy cho từng từ. Mô hình học các đặc trưng từ dữ liệu. Sau khi xem rất nhiều ngữ cảnh, nó hình thành một vector nhiều chiều cho mỗi từ, trong đó các chiều mã hóa những mẫu quan hệ có ích cho việc hiểu ngôn ngữ.

1.1 Từ đặc trưng đến vector nhiều chiều

  1. Chọn nhiều đặc trưng để mô tả từ.
    • Mỗi đặc trưng đóng góp một giá trị số vào vector của từ.
    • Ví dụ minh họa cho thấy đặc trưng có thể liên quan đến khả năng ăn được hoặc thuộc nhóm trái cây.
  2. Tạo một vector có kích thước cố định cho mỗi từ.
    • Nếu có 300 đặc trưng, mỗi từ sẽ được biểu diễn bằng vector 300 chiều.
    • Táo, cam, đàn ông và phụ nữ đều có vector cùng số chiều, nhưng các giá trị bên trong khác nhau.
  3. Để vị trí vector phản ánh ngữ nghĩa.
    • Vector của táo và cam thường gần nhau hơn vì có nhiều đặc trưng tương đồng.
    • Vector của con người sẽ nằm ở một vùng khác trong không gian biểu diễn.

Tại sao khoảng cách vector lại quan trọng?

Khi nén một không gian nhiều chiều xuống sơ đồ hai chiều để dễ hình dung, bạn sẽ thấy táo và cam nằm gần nhau. Đàn ông và phụ nữ cũng có thể tạo thành một cụm riêng. Dù hệ thống thực tế vận hành trong hàng trăm hoặc hàng nghìn chiều, trực giác này vẫn giữ nguyên.

Khoảng cách gần không có nghĩa hai từ giống hệt nhau. Nó cho biết chúng có sự tương đồng về nghĩa hoặc xuất hiện trong những ngữ cảnh liên quan. Nhờ vậy, mô hình có thể chuyển kiến thức từ “cam” sang “táo” và dự đoán đúng từ “nước ép” trong câu mới.

Đó là định nghĩa thực dụng nhất: embedding là cách biểu diễn từ, câu hoặc đoạn văn thành vector nhiều chiều, được thiết kế để giữ lại ý nghĩa ngữ nghĩa.

Từ văn bản đến embedding trong hệ thống AI

Embedding không chỉ dùng cho từng từ. Bạn có thể gửi cả một câu hoặc đoạn văn vào embedding model. Mô hình sẽ đọc ý nghĩa của nội dung và trả về một vector có số chiều cố định.

Các kích thước thường gặp có thể là 786, 1.536 hoặc 3.079 chiều, tùy embedding model. Con số cụ thể không phải trọng tâm. Điều quan trọng là văn bản cần được chuyển thành vector theo cùng một mô hình để các vector có thể so sánh với nhau.

Sentence Transformers, OpenAI và Anthropic đều có các embedding model. Khi bạn đưa vào một câu giới thiệu, mô hình sẽ trả về một dãy số đại diện cho ý nghĩa của câu đó, thay vì trả về bản dịch hay câu trả lời tự nhiên.

Các số 786 1536 và 3079 được khoanh trên bảng cùng mũi tên tới vector
Embedding model có thể trả về vector với nhiều kích thước khác nhau, nhưng mọi vector trong cùng quy trình phải tương thích.

Embedding hoạt động thế nào trong RAG?

RAG là cách kết hợp mô hình ngôn ngữ với khả năng truy xuất thông tin bên ngoài. Embedding chính là lớp kết nối giúp hệ thống tìm được nội dung liên quan trước khi tạo câu trả lời.

2.1 Quy trình lưu trữ và truy xuất

  1. Chuyển nội dung thành vector.
    • Các đoạn văn bản được gửi qua embedding model.
    • Vector kết quả được lưu trong vector database cùng với nội dung gốc.
  2. Chuyển câu hỏi thành vector cùng kiểu.
    • Khi có truy vấn mới, hệ thống không chỉ tìm từ khóa theo mặt chữ.
    • Nó tạo embedding cho câu hỏi bằng cùng cách biểu diễn đã dùng khi lưu dữ liệu.
  3. Tìm các vector gần nhất.
    • Vector database so sánh vector câu hỏi với các vector đã lưu.
    • Cosine similarity là một cách đo phổ biến để xác định mức độ tương đồng giữa các vector.
  4. Truy xuất nội dung phù hợp cho RAG.
    • Các đoạn có vector tương tự nhất được lấy ra làm ngữ cảnh.
    • Nhờ đó, hệ thống có cơ sở thông tin liên quan để xử lý yêu cầu.
Sơ đồ vector với mũi tên và chữ cosine similarity trên bảng
Cosine similarity giúp hệ thống tìm các vector có hướng gần với vector của câu hỏi.

Điểm đáng chú ý là truy xuất bằng embedding có thể tìm sự tương đồng về ý nghĩa. Một câu hỏi không cần lặp lại đúng từng từ trong tài liệu vẫn có thể dẫn đến nội dung liên quan, miễn là embedding của chúng nằm gần nhau.

Những nhầm lẫn cần tránh khi giải thích embeddings

  • Embedding không phải là bản thân văn bản. Nó là dãy số biểu diễn thông tin ngữ nghĩa của văn bản.
  • Nhiều chiều không đồng nghĩa khó dùng. Bạn không cần tự đọc hàng nghìn con số, vì embedding model và vector database đảm nhiệm phần tính toán.
  • Embedding không phải mô hình sinh câu trả lời. Nó chủ yếu phục vụ biểu diễn, so sánh và truy xuất thông tin.
  • Vector gần nhau không có nghĩa là cùng từ. Chúng chỉ cho thấy mức tương đồng theo cách mô hình đã học từ dữ liệu.
  • Không thể tùy tiện so sánh mọi vector. Để đo tương đồng đáng tin cậy, hãy dùng các vector được tạo theo cùng một embedding model và cùng không gian biểu diễn.

FAQ

Embedding là gì theo cách đơn giản nhất?

Embedding là việc biến từ, câu hoặc đoạn văn thành một vector số nhiều chiều. Vector này giữ lại phần nào ý nghĩa, để nội dung giống nhau về ngữ nghĩa có thể được đặt gần nhau.

Vì sao AI cần embeddings thay vì chỉ dùng từ khóa?

Từ khóa chỉ phản ánh mặt chữ và có thể bỏ lỡ các cách diễn đạt khác nhau nhưng cùng ý. Embeddings giúp mô hình nhận ra mối liên hệ ngữ nghĩa, như táo và cam đều liên quan đến trái cây và nước ép.

Cosine similarity dùng để làm gì?

Cosine similarity đo mức độ tương đồng giữa các vector. Trong RAG, nó giúp tìm những đoạn đã lưu có vector gần với vector của câu hỏi.

Nếu bạn cần đưa tìm kiếm ngữ nghĩa, RAG hoặc AI agent vào một nền tảng số ổn định, dịch vụ thiết kế website và SEO của MintStack có thể giúp bạn xây dựng nền tảng phù hợp với mục tiêu kinh doanh.

 

Hotline Zalo Zalo
AI Avatar

Trợ lý ảo AI

Sẵn sàng hỗ trợ

AI Avatar
Xin chào! Em là trợ lý ảo của MintStack, sẵn sàng hỗ trợ anh/chị tìm hiểu về dịch vụ thiết kế website, SEO, content marketing và các giải pháp công nghệ phù hợp. Anh/chị đang quan tâm đến vấn đề gì ạ?
01:48