Embedding (NLP) (VI)
Embedding (từ tiếng Anh embedding — "nhúng") — là một công nghệ nền tảng trong lĩnh vực Machine Learning và xử lý ngôn ngữ tự nhiên, chuyển đổi các đối tượng rời rạc hoặc phức tạp (như từ, câu, hình ảnh) thành biểu diễn vector số có số chiều cố định. Các vector này, hay còn gọi là embedding, được sắp xếp trong không gian đa chiều sao cho các đối tượng có nghĩa tương đồng nằm gần nhau.
Định nghĩa và khái niệm
Về mặt hình thức, embedding là một hàm ánh xạ , trong đó là không gian đối tượng gốc (ví dụ: từ điển các từ), còn là không gian vector đa chiều (không gian embedding) với số chiều . Số chiều nhỏ hơn đáng kể so với số chiều của không gian gốc, khiến các biểu diễn này trở nên dày đặc (dense).
Cơ sở lý thuyết cho biểu diễn vector của từ là ngữ nghĩa phân phối, khẳng định rằng ý nghĩa của một từ được xác định bởi ngữ cảnh sử dụng của nó. Nghĩa là, các từ xuất hiện trong các ngữ cảnh tương tự sẽ có ý nghĩa gần nhau và do đó có biểu diễn vector gần nhau.
Các nguyên tắc cơ bản của embedding
- Số chiều cố định: Tất cả các đối tượng được ánh xạ thành các vector có độ dài bằng nhau, bất kể kích thước của dữ liệu gốc (ví dụ: độ dài câu).
- Gần gũi ngữ nghĩa: Khoảng cách giữa các vector (thường đo bằng cosine similarity) phản ánh sự gần gũi ngữ nghĩa của các đối tượng gốc.
- Hỗ trợ các phép toán: Các vector bảo toàn quan hệ ngữ nghĩa, cho phép thực hiện các phép toán đại số trên chúng. Ví dụ kinh điển: .
Lịch sử và quá trình phát triển
Các phương pháp ban đầu (1980–2000)
Những ý tưởng đầu tiên về biểu diễn vector xuất hiện vào những năm 1980 trong khuôn khổ nghiên cứu về Neural Network. Các phương pháp ban đầu dựa trên phân tích thống kê về sự đồng xuất hiện của các từ.
Kỷ nguyên Word2Vec (2013)
Một bước ngoặt mang tính cách mạng là sự ra đời của Word2Vec bởi nhóm Google dưới sự dẫn dắt của Tomáš Mikolov vào năm 2013. Word2Vec đề xuất hai kiến trúc hiệu quả và tiết kiệm tính toán để huấn luyện embedding từ:
- CBOW (Continuous Bag of Words): Dự đoán từ trung tâm dựa trên ngữ cảnh xung quanh nó.
- Skip-gram: Dự đoán các từ ngữ cảnh dựa trên từ trung tâm.
Word2Vec trở thành triển khai phổ biến đầu tiên của biểu diễn vector, phần lớn nhờ mã nguồn mở và tốc độ xử lý cao.
Sự phát triển của các phương pháp thay thế
Sau Word2Vec, nhiều mô hình embedding tĩnh quan trọng khác cũng ra đời:
- GloVe (2014): Mô hình được phát triển tại Đại học Stanford, sử dụng thống kê đồng xuất hiện toàn cục của các từ để huấn luyện vector.
- FastText (2015): Mô hình từ Facebook, tính đến hình thái học của từ bằng cách biểu diễn mỗi từ như tổng các vector n-gram ký tự của nó. Điều này cho phép tạo embedding ngay cả với những từ không có trong từ điển huấn luyện (từ Out-of-Vocabulary).
Kỷ nguyên transformer và embedding ngữ cảnh (2018–nay)
Bước đột phá xảy ra với sự xuất hiện của kiến trúc transformer và mô hình BERT (2018). Điều này dẫn đến sự ra đời của embedding ngữ cảnh, trong đó biểu diễn vector của một từ phụ thuộc vào ngữ cảnh sử dụng của nó. Khác với biểu diễn tĩnh, nơi từ "chìa khóa" có cùng một vector trong câu "chìa khóa cửa" và "chìa khóa nhạc", các mô hình ngữ cảnh tạo ra các embedding khác nhau cho từng trường hợp.
Các loại embedding
Theo cấp độ biểu diễn
- Embedding từ: Loại cơ bản, trong đó mỗi từ được biểu diễn bằng một vector riêng (Word2Vec, GloVe).
- Embedding câu và tài liệu: Biểu diễn toàn bộ cụm từ, câu hoặc tài liệu bằng một vector duy nhất (PV-DM, PV-DBOW).
- Embedding người dùng và đối tượng: Được sử dụng trong hệ thống gợi ý để biểu diễn sở thích của người dùng và đặc tính của sản phẩm.
Theo tính ngữ cảnh
- Embedding tĩnh: Mỗi từ được gán một vector cố định duy nhất, bất kể ngữ cảnh (Word2Vec, GloVe, FastText).
- Embedding ngữ cảnh: Tạo ra các biểu diễn khác nhau cho cùng một từ tùy thuộc vào ngữ cảnh xung quanh. Các đại diện chính:
- BERT: Mô hình hai chiều dựa trên transformer.
- ELMo: Mô hình LSTM hai chiều.
- RoBERTa, DistilBERT, ALBERT: Các biến thể cải tiến của BERT.
Theo phương thức
- Embedding văn bản: Loại phổ biến nhất, bao gồm biểu diễn từ, câu và tài liệu.
- Embedding hình ảnh: Biểu diễn hình ảnh cho các bài toán thị giác máy tính.
- Embedding đa phương thức: Kết hợp nhiều loại dữ liệu khác nhau (văn bản, hình ảnh, âm thanh) vào một không gian vector thống nhất. Ví dụ điển hình là ImageBind, có khả năng liên kết dữ liệu từ sáu phương thức.
Kiến trúc và phương pháp huấn luyện
Các phương pháp cổ điển
- Mã hóa one-hot: Phương pháp đơn giản nhất, trong đó mỗi từ được mã hóa bằng một vector có kích thước bằng từ điển với giá trị 1 ở vị trí tương ứng. Nhược điểm: độ thưa cao và thiếu thông tin ngữ nghĩa.
- Phân tích ma trận: Các phương pháp giảm chiều (ví dụ: LSA) áp dụng cho ma trận đồng xuất hiện của từ.
Kiến trúc Neural Network
- Mạng Neural nông: Kiến trúc CBOW và Skip-gram trong Word2Vec sử dụng mạng Neural hai lớp để huấn luyện hiệu quả.
- Transformer: Kiến trúc đã cách mạng hóa lĩnh vực nhờ cơ chế attention.
Các phương pháp hiện đại
- Tự học với mặt nạ: BERT sử dụng bài toán dự đoán các từ bị che để huấn luyện biểu diễn ngữ cảnh.
- Học tương phản: Các phương pháp tối đa hóa độ tương đồng của các cặp gần nhau về mặt ngữ nghĩa (cặp dương) và tối thiểu hóa độ tương đồng của các cặp xa nhau (cặp âm).
Ứng dụng của embedding
Embedding được ứng dụng rộng rãi trong nhiều lĩnh vực:
Xử lý ngôn ngữ tự nhiên
- Tìm kiếm và truy xuất thông tin: Nâng cao chất lượng tìm kiếm ngữ nghĩa, cho phép tìm tài liệu theo nghĩa thay vì theo từ khóa.
- Phân loại văn bản: Biểu diễn vector đóng vai trò đầu vào cho các bộ phân loại, nâng cao độ chính xác của chúng.
- Phân tích cảm xúc: Xác định sắc thái cảm xúc của văn bản có tính đến ngữ cảnh.
- Dịch máy: Cải thiện khả năng hiểu ngữ nghĩa của ngôn ngữ nguồn và ngôn ngữ đích.
Hệ thống gợi ý
Embedding người dùng và sản phẩm là nền tảng của các hệ thống gợi ý cá nhân hóa, bao gồm:
- Lọc cộng tác: dựa trên embedding hành vi người dùng.
- Lọc dựa trên nội dung: sử dụng embedding đặc tính sản phẩm.
Thị giác máy tính
- Phân loại và tìm kiếm hình ảnh: Mạng Neural tích chập và Vision Transformer tạo ra embedding hình ảnh để phân loại và tìm kiếm các hình ảnh tương tự về mặt thị giác.
Tin sinh học và y học
- Phân tích dữ liệu y tế: Phân tích hồ sơ lâm sàng và chẩn đoán bệnh.
- Biểu diễn phân tử: Tạo embedding để dự đoán tính chất của các hợp chất hóa học.
Các khía cạnh kỹ thuật và tối ưu hóa
- Phương pháp tối ưu hóa số chiều: Matryoshka Representation Learning (MRL) — phương pháp sáng tạo cho phép thu được embedding với nhiều số chiều khác nhau từ một mô hình duy nhất, tập trung thông tin quan trọng vào đầu vector.
- Lượng tử hóa embedding: Giảm độ chính xác biểu diễn số (ví dụ: xuống 8 hoặc 4 bit) để tăng tốc tính toán và tiết kiệm bộ nhớ.
- Tích hợp với cơ sở dữ liệu: Các cơ sở dữ liệu vector hiện đại (ví dụ: Milvus, Pinecone) và phần mở rộng cho các hệ quản trị cơ sở dữ liệu truyền thống (ví dụ: pgvector cho PostgreSQL) cho phép lưu trữ và tìm kiếm embedding một cách hiệu quả.
Liên kết ngoài
- Biểu diễn vector của từ — Wikipedia
- Biểu diễn vector của từ — NEERC
Tài liệu tham khảo
- Mikolov, T. et al. (2013). Efficient Estimation of Word Representations in Vector Space. arXiv:1301.3781.
- Mikolov, T. et al. (2013). Distributed Representations of Words and Phrases and their Compositionality. arXiv:1310.4546.
- Pennington, J.; Socher, R.; Manning, C. (2014). GloVe: Global Vectors for Word Representation. PDF.
- Bojanowski, P. et al. (2017). Enriching Word Vectors with Subword Information. arXiv:1607.04606.
- Joulin, A. et al. (2017). Bag of Tricks for Efficient Text Classification. arXiv:1607.01759.
- Peters, M. E. et al. (2018). Deep Contextualized Word Representations. ACL Anthology.
- Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- Reimers, N.; Gurevych, I. (2019). Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks. arXiv:1908.10084.
- Kusupati, A. et al. (2022). Matryoshka Representation Learning. arXiv:2205.13147.
- Radford, A. et al. (2021). Learning Transferable Visual Models From Natural Language Supervision. PMLR 139.
- Girdhar, R. et al. (2023). ImageBind: One Embedding Space To Bind Them All. CVPR 2023.