Embedding và tương đồng
Embedding và tương đồng
Mỗi từ được đặt thành một điểm trên mặt phẳng. Từ gần nghĩa nằm gần nhau, và bạn có thể cộng trừ chúng như những mũi tên.
Máy tính không đọc chữ, nó chỉ tính số. Để máy hiểu nghĩa của một từ, ta biến từ đó thành một dãy số, gọi là vector nhúng hay embedding. Ở đây mỗi từ chỉ có hai số nên ta vẽ được nó thành một điểm trên mặt phẳng, còn embedding thật thường có hàng trăm chiều.
Ý tưởng cốt lõi là khoảng cách bằng khác nghĩa. Nếu hai từ có nghĩa gần nhau thì hai điểm được đặt gần nhau và hai mũi tên từ gốc tọa độ chỉ gần cùng một hướng. Vì thế ba cụm vua, hoàng hậu, đàn ông, đàn bà, rồi pháp, paris, nhật, tokyo, rồi mèo, chó, mèo con, chó con tự gom lại thành ba vùng riêng.
Thử ngay
Thử điều này:
- Ở chế độ Tương đồng, chọn hai từ cùng cụm như
vuavàhoàng hậu, xem cosine gần1và góc giữa hai mũi tên rất nhỏ. - Vẫn chế độ đó, chọn hai từ khác cụm như
vuavàchó con, cosine tụt xuống số âm vì hai mũi tên chỉ về hai phía. - Bấm Loại suy, giữ nguyên
vuatrừđàn ôngcộngđàn bà, xem điểm kết quả rơi trúnghoàng hậu. - Vẫn chế độ loại suy, đổi sang
paristrừphápcộngnhật, kết quả nhảy sangtokyo, cùng một kiểu quan hệ thủ đô với quốc gia.
Cosine và số học vector
Cosine là cosin của góc giữa hai vector, luôn nằm trong khoảng từ -1 tới 1. Bằng 1 khi hai vector cùng hướng, bằng 0 khi vuông góc, và âm khi ngược hướng, nên nó đo mức cùng nghĩa mà không quan tâm mũi tên dài hay ngắn. Phép loại suy lấy a - b + c để dời theo đúng hướng của một quan hệ, ví dụ hướng từ đàn ông sang đàn bà cũng chính là hướng từ vua sang hoàng hậu, rồi tìm từ có cosine lớn nhất với điểm vừa tính.
Khi nghĩa của từ đã thành tọa độ, so nghĩa trở thành đo góc và suy luận trở thành cộng trừ vector.
- 1Trong một embedding, hai từ có nghĩa rất gần nhau thì cosine giữa hai vector của chúng thường như thế nào?
- 2Phép loại suy vua trừ đàn ông cộng đàn bà trong sim cho kết quả gần nhất là từ nào?
- 3Vì sao ta dùng cosine thay vì chỉ so độ dài của vector khi đo mức giống nghĩa?