Site logo
Tác giả
  • avatar Nguyễn Đức Xinh
    Name
    Nguyễn Đức Xinh
    Twitter
Ngày xuất bản
Ngày xuất bản

Word2Vec là gì? Cách hoạt động và ứng dụng trong Xử lý ngôn ngữ tự nhiên (NLP)

Word2Vec là gì? Cách hoạt động và ứng dụng trong Xử lý ngôn ngữ tự nhiên (NLP)

Word2Vec là gì?

Word2Vec là một mô hình biểu diễn từ vựng dưới dạng vector (word embedding), giúp máy tính hiểu được ngữ nghĩa giữa các từ trong ngôn ngữ tự nhiên.

Trước khi Word2Vec ra đời, máy tính chỉ hiểu từ như chuỗi ký tự. Nhưng nhờ Word2Vec, các từ được biểu diễn thành vector số học trong không gian nhiều chiều, nơi mà các từ có nghĩa tương tự sẽ gần nhau.

Ví dụ:

“king - man + woman ≈ queen”

Đây chính là sức mạnh của Word2Vec — mô hình có thể học được mối quan hệ ngữ nghĩa giữa các từ thông qua thống kê từ dữ liệu lớn.


1. Bối cảnh ra đời

Trước Word2Vec, NLP thường dùng các kỹ thuật cũ như:

  • Bag of Words (BoW)
  • TF-IDF

Những mô hình này chỉ đếm tần suất từkhông hiểu ngữ cảnh.
Năm 2013, nhóm nghiên cứu của Tomas Mikolov (Google) giới thiệu Word2Vec, đánh dấu bước ngoặt trong việc máy học hiểu ngôn ngữ tự nhiên (Natural Language Processing – NLP).


2. Mục tiêu của Word2Vec

Mục tiêu của Word2Vec là:

Tìm vector biểu diễn sao cho các từ có ngữ nghĩa gần nhau thì vector của chúng cũng gần nhau trong không gian vector.

Ví dụ:

  • “dog”, “cat”, “pet” → gần nhau.
  • “car”, “bus”, “train” → gần nhau.
  • “apple”, “banana”, “fruit” → gần nhau.

3. Cách hoạt động của Word2Vec

Word2Vec dựa trên mạng neural nông (shallow neural network) để học ngữ cảnh (context) của từ.

2 kiến trúc chính:

🧩 3.1. CBOW (Continuous Bag of Words)

  • Dự đoán từ hiện tại dựa trên các từ xung quanh.
  • Ví dụ: “The ___ jumps over the lazy dog”
    → Mô hình dự đoán từ còn thiếu (“fox”).

→ CBOW hoạt động nhanh, phù hợp với dữ liệu nhỏ.


🧠 3.2. Skip-gram

  • Dự đoán các từ xung quanh dựa trên từ hiện tại.
  • Ví dụ: từ “fox” → dự đoán được “the”, “jumps”, “over”.

→ Skip-gram hoạt động tốt hơn với dữ liệu lớnngữ cảnh hiếm.


⚙️ 3.3. Cơ chế huấn luyện

Cả hai mô hình đều huấn luyện bằng cách tối đa hóa xác suất xuất hiện của từ trong ngữ cảnh:

Ví dụ công thức Skip-gram:

[ P(context|word) = \prod_{-n \leq j \leq n, j \neq 0} P(w_{t+j} | w_t) ]

Trong đó (n) là kích thước cửa sổ ngữ cảnh (context window).

Để tăng tốc, Word2Vec dùng các kỹ thuật như:

  • Negative Sampling
  • Hierarchical Softmax

4. Ví dụ thực tế bằng Python

Cài đặt thư viện gensim:

pip install gensim

Huấn luyện Word2Vec:

from gensim.models import Word2Vec

sentences = [
    ["I", "love", "machine", "learning"],
    ["Word2Vec", "creates", "word", "embeddings"],
    ["Deep", "learning", "is", "powerful"]
]

model = Word2Vec(sentences, vector_size=50, window=3, min_count=1, sg=1)  # sg=1 dùng Skip-gram

# Vector của từ “learning”
print(model.wv["learning"])

# Tìm từ gần nghĩa với “machine”
print(model.wv.most_similar("machine", topn=3))

Kết quả sẽ cho ra các từ gần nghĩa với “machine” dựa trên embedding mà mô hình học được.


5. Ứng dụng của Word2Vec

Word2Vec là nền tảng của rất nhiều bài toán NLP:

  • 🔍 Semantic Search – tìm kiếm theo ý nghĩa, không chỉ theo từ khóa.
  • 💬 Chatbot / trợ lý ảo – hiểu ngữ cảnh và trả lời tự nhiên.
  • 📰 Phân loại văn bản (Text Classification)
  • 💡 Phân tích cảm xúc (Sentiment Analysis)
  • 🧠 Tiền xử lý cho các mô hình Transformer (như BERT, GPT)

6. Ưu và nhược điểm

Ưu điểm Nhược điểm
Nhanh, dễ huấn luyện Không hiểu ngữ cảnh động (context-dependent)
Tạo embedding có ngữ nghĩa Không xử lý tốt từ mới (out-of-vocabulary)
Hiệu quả với dữ liệu lớn Không phù hợp với câu phức tạp hoặc ngữ cảnh đa nghĩa

7. Word2Vec vs Embedding hiện đại (BERT, GPT)

Tiêu chí Word2Vec BERT / GPT
Loại mô hình Shallow Neural Network Transformer
Hiểu ngữ cảnh ❌ Không ✅ Có (contextual)
Biểu diễn từ Tĩnh (static embedding) Động (contextual embedding)
Yêu cầu tài nguyên Thấp Cao
Ứng dụng NLP cơ bản Chatbot, Summarization, QA,...

👉 Word2Vec là nền tảng quan trọng giúp hình thành các embedding hiện đại như BERT, GPT, FastText, hay ELMo.


8. Kết luận

Word2Vec là một trong những mô hình kinh điển giúp máy tính hiểu ngữ nghĩa từ ngữ. Dù hiện nay các mô hình Transformer đã phát triển mạnh mẽ hơn, nhưng Word2Vec vẫn là nền tảng học thuật quan trọng, được dùng để:

  • Tạo baseline cho các dự án NLP
  • Học embedding ban đầu cho các mô hình hiện đại
  • Giúp hiểu sâu cơ chế biểu diễn ngôn ngữ trong không gian vector