Atlas · Công nghệ AI

Cosine Similarity là gì — cách đo độ gần nghĩa giữa hai vector bằng góc thay vì độ dài

Máy tính không hiểu chữ, mà hiểu các con số. Khi một câu hay một đoạn văn được biến thành dãy số gọi là vector, câu hỏi đặt ra là làm sao đo hai dãy số đó gần nghĩa với nhau tới đâu. Cosine similarity là phép đo lõi cho việc này: nó nhìn góc giữa hai vector, không nhìn độ dài, nên hai nội dung cùng hướng được coi là rất giống dù dài ngắn khác nhau. Hiểu khái niệm này giúp doanh nghiệp biết vì sao máy tìm được nội dung theo nghĩa chứ không chỉ theo từ khoá. Bài này giải cho chủ doanh nghiệp và người quyết.

Sơ đồ cosine similarity do MONA minh hoạ: đo độ gần nghĩa giữa hai vector bằng góc giữa chúng, cùng hướng thì rất giống, vuông góc thì không liên quan
Cosine similarity đo độ gần nghĩa giữa hai vector bằng góc giữa chúng: cùng hướng là rất giống, vuông góc là không liên quan, không quan tâm độ dài.

Cosine similarity là gì — và vì sao bài này đáng đọc

Trong 30 giây. Cosine similarity là cách đo độ gần nghĩa giữa hai vector bằng góc giữa chúng, không quan tâm độ dài. Hai vector cùng hướng là rất giống, vuông góc là không liên quan, ngược hướng là trái nghĩa. Đây là phép đo lõi để máy tìm theo nghĩa và so khớp các dãy số biểu diễn nội dung.

Bài này dành cho chủ doanh nghiệp và người quyết. Cosine similarity được giải bằng ẩn dụ dễ hiểu, kèm khác với khoảng cách thường, cơ chế và cách dùng đúng.

Vì sao đáng quan tâm: đây là phép đo đứng sau tìm theo nghĩa và mọi so khớp embedding. Không hiểu nó thì khó hiểu vì sao máy biết hai nội dung gần nghĩa.

Ẩn dụ dễ hiểu: hai người cùng chỉ tay một hướng

Hình dung hai người đứng cạnh nhau, mỗi người chỉ tay về một hướng. Nếu cả hai cùng chỉ về một phía, họ đang đồng quan điểm, dù một người tay dài một người tay ngắn. Nếu một người chỉ sang ngang so với người kia, hai hướng không liên quan. Nếu một người chỉ về phía ngược lại, hai quan điểm trái nhau.

Điều quan trọng là hướng tay, không phải tay dài hay ngắn. Cosine similarity đo đúng cái hướng đó: nó so góc giữa hai vector và bỏ qua độ lớn.

Cùng một ý nghĩa, dù được diễn đạt dài hay ngắn, vẫn cho vector cùng hướng. Cosine similarity là đo hai vector có cùng chỉ một hướng tới đâu, để biết hai nội dung gần nghĩa thế nào.

Cosine similarity dưới góc kỹ thuật

Mỗi nội dung được biểu diễn thành một vector, tức một điểm có hướng trong không gian nhiều chiều. Cosine similarity tính cosin của góc giữa hai vector đó. Giá trị nằm trong khoảng từ trừ một tới một, càng gần một thì góc càng nhỏ và hai vector càng cùng hướng.

  • Cùng hướng. Góc gần không độ, giá trị gần một, hai nội dung rất giống nghĩa.
  • Vuông góc. Góc chín mươi độ, giá trị gần không, hai nội dung không liên quan.
  • Ngược hướng. Góc gần một trăm tám mươi độ, giá trị âm, hai nội dung trái nghĩa.

Điểm cốt lõi: phép đo chỉ nhìn hướng nên bỏ qua độ dài vector. Một câu ngắn và một đoạn dài cùng nói một ý vẫn có thể cùng hướng, vì vậy cosine hợp để so embedding của các nội dung dài ngắn khác nhau.

Vì sao chủ doanh nghiệp nên biết cosine similarity

Sơ đồ lợi ích cosine similarity với doanh nghiệp của MONA: tìm theo nghĩa, so khớp ổn định, không lệch vì độ dài, dễ xếp hạng, nền của RAG, mở rộng quy mô
Cosine similarity mang lại: tìm theo nghĩa, so khớp ổn định, không lệch vì độ dài nội dung, dễ xếp hạng kết quả, là nền của RAG và mở rộng được ở quy mô.
  • Tìm theo nghĩa. Máy khớp nội dung gần nghĩa, không phụ thuộc trùng từ khoá.
  • So khớp ổn định. Một thước đo duy nhất cho mọi cặp nội dung, dễ so sánh.
  • Không lệch vì độ dài. Câu ngắn và đoạn dài cùng ý vẫn được coi là gần nhau.
  • Dễ xếp hạng. Điểm tương đồng dùng để sắp kết quả từ gần nhất tới xa nhất.
  • Nền của tìm kiếm AI. Là phép đo đứng sau semantic search và RAG.

Cosine similarity là cách máy biến nghĩa thành một con số để so. Đây là phép đo lõi của mọi hệ thống tìm theo nghĩa và gợi ý nội dung liên quan.

Cơ chế: từ hai vector tới một điểm tương đồng

Sơ đồ kiến trúc cosine similarity của MONA: biến nội dung thành vector, đo góc giữa hai vector, ra điểm tương đồng rồi xếp hạng kết quả
Đường đi: nội dung thành vector → đo góc giữa hai vector → ra điểm tương đồng từ trừ một tới một → xếp hạng kết quả gần nghĩa nhất lên trước.

Một luồng đo cosine đi qua bốn nhịp:

  • Biến nội dung thành vector. Câu hỏi và các nội dung đều được chuyển thành dãy số.
  • Đo góc giữa vector. Tính cosin góc giữa vector câu hỏi và từng vector nội dung.
  • Ra điểm tương đồng. Mỗi cặp cho một giá trị, càng gần một càng gần nghĩa.
  • Xếp hạng kết quả. Sắp nội dung theo điểm, đưa cái gần nghĩa nhất lên trước.

Vì vector thường được chuẩn hoá về cùng độ dài, cosine và phép nhân hướng cho cùng thứ tự xếp hạng. Bước biến nội dung thành vector phụ thuộc mô hình embedding, còn cosine lo phần so góc. Sau khi có thứ hạng thô, hệ thống có thể thêm bước reranking để tinh chỉnh.

Ví dụ chạy thật: tìm câu trả lời gần nghĩa nhất

Nhật ký minh hoạ của MONA: một câu hỏi khách được biến thành vector rồi đo cosine với kho nội dung để tìm đoạn gần nghĩa nhất
Nhật ký mô phỏng: câu hỏi khách thành vector, đo cosine với từng đoạn trong kho, đoạn cùng hướng nhất được chọn làm câu trả lời gần nghĩa nhất.

Giả sử khách hỏi cách đổi mật khẩu, nhưng kho tài liệu lại viết là khôi phục mật khẩu. Tìm theo từ khoá có thể trượt vì câu chữ khác nhau.

Với cosine similarity, câu hỏi được biến thành vector rồi đo góc với từng đoạn trong kho. Đoạn nói về khôi phục mật khẩu có vector cùng hướng với câu hỏi nên cho điểm tương đồng cao, dù không trùng chữ. Hệ thống chọn đoạn đó để trả lời.

Kết quả là máy tìm được nội dung gần nghĩa chứ không chỉ nội dung trùng từ. Đó là cách cosine similarity giúp tìm kiếm hiểu ý người hỏi thay vì so từng chữ.

So sánh: cosine similarity vs khoảng cách thường

Bảng so sánh khoảng cách thường và cosine similarity của MONA: từ đo độ xa bị ảnh hưởng độ dài sang đo hướng không lệch vì độ lớn
Khác biệt: khoảng cách thường đo độ xa giữa hai điểm và bị độ dài chi phối; cosine đo hướng nên không lệch vì độ lớn, hợp so nội dung dài ngắn khác nhau.

Hai cách đo phục vụ hai góc nhìn khác nhau:

Tiêu chíKhoảng cách thườngCosine similarity
Đo cái gìĐộ xa giữa hai điểmGóc giữa hai hướng
Ảnh hưởng độ dàiBị độ lớn chi phốiBỏ qua độ lớn
Nội dung dài ngắn khác nhauDễ bị coi là xaVẫn coi là gần nếu cùng ý
Hợp vớiSo các điểm cùng thang đoSo nghĩa của nội dung văn bản

Khoảng cách thường vẫn hữu ích khi cần đo độ xa vật lý hay dữ liệu cùng thang. Cosine hợp khi cần so hướng nghĩa của nội dung. Khi vector đã chuẩn hoá độ dài, hai cách cho cùng thứ tự xếp hạng.

Trục đánh đổi: hướng nghĩa và độ lớn nội dung

Biểu đồ trục đánh đổi của cosine similarity do MONA minh hoạ: đo hướng nghĩa rất tốt nhưng bỏ qua mức độ và phụ thuộc chất lượng embedding
Trục đánh đổi: cosine đo hướng nghĩa rất tốt và không lệch vì độ dài, nhưng bỏ qua mức độ đậm nhạt và phụ thuộc chất lượng embedding đầu vào.

Chọn cosine similarity cần cân vài điểm:

  • Đo hướng nghĩa. Rất tốt cho so nghĩa, không bị độ dài nội dung làm lệch.
  • Bỏ qua mức độ. Chỉ nhìn hướng nên không phân biệt đậm nhạt hay cường độ.
  • Phụ thuộc embedding. Vector kém chất lượng thì điểm tương đồng cũng kém tin cậy.

Cách làm đúng là dùng cosine cho phần so hướng nghĩa, còn cường độ hay thứ tự ưu tiên thì xử lý ở bước sau như xếp hạng lại, chứ không trông đợi một mình cosine lo hết.

Đi sâu một nhịp: đọc giá trị tương đồng nghĩa là gì

Giá trị cosine nằm từ trừ một tới một. Đọc đúng dải giá trị giúp hiểu kết quả so khớp:

Mức tương đồngHướng hai vectorÝ nghĩa nội dung
Cao, gần mộtGần như cùng hướngHai nội dung rất gần nghĩa, gần như trùng ý
Trung bình, quanh giữaLệch một góc vừaCó liên quan một phần, cùng chủ đề nhưng khác ý
Thấp, gần khôngGần vuông gócHầu như không liên quan về nghĩa
Âm, dưới khôngLệch về phía ngượcTrái hướng nhau, có thể đối nghịch ý

Lưu ý dải giá trị nào là cao hay thấp còn tuỳ mô hình embedding và loại dữ liệu, nên doanh nghiệp thường đặt một ngưỡng riêng sau khi đo trên dữ liệu thật của mình, thay vì lấy một con số cố định.

Những hiểu nhầm thường gặp về cosine similarity

  • Tưởng điểm cao là chắc chắn đúng. Cosine chỉ đo gần nghĩa, vẫn cần kiểm nội dung thật.
  • Tưởng cosine biết phân biệt đậm nhạt. Phép đo bỏ qua độ lớn nên không xét cường độ.
  • Tưởng có một ngưỡng chung cho mọi việc. Ngưỡng tốt phụ thuộc mô hình và dữ liệu, phải đo riêng.
  • Tưởng cosine tự hiểu nghĩa. Hiểu nghĩa nằm ở embedding, cosine chỉ so hai vector có sẵn.
  • Tưởng cosine thay được mọi phép đo. Có việc cần khoảng cách thật, không phải lúc nào cũng dùng hướng.

Phần lớn lỗi với cosine similarity đến từ tin một con số là đủ và quên rằng chất lượng phụ thuộc embedding phía trước. Cosine lo so hướng, embedding lo hiểu nghĩa, cần cả hai chuẩn.

Góc thực chiến MONA khi dùng cosine similarity

Lộ trình dùng cosine similarity của MONA: chọn mô hình embedding, đo tương đồng, đặt ngưỡng theo dữ liệu, xếp hạng và kiểm rồi mở rộng
Lộ trình MONA: chọn mô hình embedding phù hợp → đo cosine giữa câu hỏi và kho → đặt ngưỡng theo dữ liệu thật → xếp hạng, kiểm và mở rộng dần.

MONA dùng cosine similarity như cách cho máy so nghĩa một cách ổn định và đo được:

  • Chọn mô hình embedding phù hợp. Vector tốt thì điểm tương đồng mới đáng tin.
  • Đo cosine giữa câu hỏi và kho. Tính điểm tương đồng cho từng đoạn nội dung.
  • Đặt ngưỡng theo dữ liệu thật. Xác định mức tương đồng đủ gần trên dữ liệu doanh nghiệp.
  • Xếp hạng và kiểm. Sắp kết quả theo điểm, soát các trường hợp ranh giới.

Nội dung đưa vào để so có thể chứa thông tin cá nhân của khách hàng. MONA tuân thủ nguyên tắc dữ liệu theo Nghị định 13/2023 trong cả khâu biến nội dung thành vector lẫn khâu lưu và so khớp.

Khi nào doanh nghiệp cần cosine similarity

Cosine similarity cần khi doanh nghiệp muốn máy so và tìm nội dung theo nghĩa, không chỉ theo từ:

  • Tìm theo nghĩa. Khách hỏi một kiểu, tài liệu viết kiểu khác mà vẫn khớp đúng ý.
  • Gợi ý nội dung liên quan. Tìm bài, sản phẩm, câu hỏi gần nghĩa với cái đang xem.
  • Gom nhóm và lọc trùng. Phát hiện nội dung gần giống để gộp hoặc loại trùng.
  • Nền cho trả lời dựa tri thức. Lấy đoạn gần nghĩa nhất làm ngữ cảnh cho RAG.

Khi chỉ cần dò trùng từ khoá, tìm kiếm theo từ là đủ. Khi cần máy hiểu ý người hỏi và khớp theo nghĩa, cosine similarity là phép đo nền tảng.

Khi nào nên để MONA đồng hành

Cosine similarity dễ hiểu nhưng chọn embedding đúng, đặt ngưỡng hợp và nối an toàn vào hệ thống cần kinh nghiệm. Doanh nghiệp nên cân nhắc MONA khi:

  • Muốn máy tìm theo nghĩa trên kho tài liệu, sản phẩm hay câu hỏi của mình.
  • Cần chọn mô hình embedding và đặt ngưỡng tương đồng hợp với dữ liệu thật.
  • Cần nối tìm kiếm theo nghĩa vào hệ thống có vector database và xếp hạng.
  • Muốn đưa so khớp theo nghĩa vào quy trình một cách an toàn và đo được.

MONA chọn embedding, thiết kế cách đo và đặt ngưỡng theo dữ liệu doanh nghiệp, kiểm soát được kết quả. Tham khảo Sale AI cho tìm và gợi ý theo nghĩa, LMS AI cho tra cứu tài liệu học theo ý hỏi.

Câu hỏi thường gặp

Cosine similarity là gì một cách ngắn gọn?
Cosine similarity là cách đo độ gần nghĩa giữa hai vector bằng góc giữa chúng, không quan tâm độ dài. Cùng hướng là rất giống, vuông góc là không liên quan, ngược hướng là trái nghĩa.
Vì sao cosine bỏ qua độ dài vector?
Vì nó chỉ đo hướng. Hai nội dung cùng một ý, dù diễn đạt dài hay ngắn, vẫn cho vector cùng hướng, nên cosine coi chúng là gần nhau mà không bị độ dài làm lệch.
Giá trị cosine nằm trong khoảng nào?
Từ trừ một tới một. Gần một là rất giống nghĩa, gần không là hầu như không liên quan, dưới không là trái hướng và có thể đối nghịch ý.
Cosine similarity và embedding liên quan gì nhau?
Embedding biến nội dung thành vector mang nghĩa, còn cosine đo hai vector đó gần hướng tới đâu. Cosine không tự hiểu nghĩa, chất lượng so khớp phụ thuộc embedding phía trước.
Có một ngưỡng tương đồng chung cho mọi việc không?
Không. Mức tương đồng nào là đủ gần phụ thuộc mô hình embedding và loại dữ liệu, nên doanh nghiệp thường đo trên dữ liệu thật của mình rồi đặt ngưỡng riêng.
Cosine similarity dùng cho việc gì?
Tìm theo nghĩa, gợi ý nội dung liên quan, gom nhóm và lọc trùng, và làm nền lấy ngữ cảnh cho trả lời dựa tri thức như RAG. Đây là phép đo lõi của tìm kiếm theo nghĩa.
MONA hỗ trợ gì về cosine similarity?
MONA chọn mô hình embedding phù hợp, đo tương đồng giữa câu hỏi và kho, đặt ngưỡng theo dữ liệu thật rồi xếp hạng và kiểm, nối an toàn vào hệ thống theo Nghị định 13/2023.

Trải nghiệm thật

MONA Sale AI → Tìm và gợi ý theo nghĩa cho khách trên kho nội dung MONA LMS AI → Tra cứu tài liệu học theo ý người hỏi

Nguồn tham khảo

  • [object Object]
  • [object Object]
  • [object Object]
  • [object Object]
  • [object Object]

Hệ sinh thái MONA

MONA Software xây phần mềm theo yêu cầu và sản phẩm AI cho doanh nghiệp. Trong cùng hệ sinh thái MONA Group: mona.media phụ trách thiết kế websitedịch vụ SEO tổng thể; mona.host lo hosting, VPS, domain.