Nội dung bài viết
© 2025 AI VIET NAM. All rights reserved.
Tác giả: AI VIET NAM (AI VIET NAM)
Keywords: Text Classification, Transformer, Token Representation, CLS Token
Khi làm bài toán phân loại văn bản bằng các mô hình Transformer như BERT, nhiều bạn thường băn khoăn: mô hình tạo ra rất nhiều vector ẩn cho từng token, vậy chọn vector nào để đưa vào tầng phân loại? Câu hỏi này xuất hiện khá thường xuyên khi người học bắt đầu chuyển từ ML truyền thống sang mô hình ngôn ngữ hiện đại.
Trong các mô hình Transformer dùng cho xử lý văn bản, một văn bản sau khi tokenization sẽ sinh ra một chuỗi token. Mỗi token sau khi đi qua các tầng attention sẽ trở thành một vector biểu diễn ngữ nghĩa.
Mục tiêu của phân loại văn bản là biến cả chuỗi thành một vector duy nhất để mô hình dự đoán nhãn. Để làm được điều đó, kiến trúc BERT và nhiều mô hình tương tự sử dụng một token đặc biệt:
[CLS] — Classification token
Vector tương ứng với token này sau tầng Transformer cuối cùng thường được dùng làm representation chung của toàn câu. Vì vậy, trong text classification, representation được lấy từ token [CLS] để đưa vào classifier.
Các mô hình họ BERT được thiết kế ngay từ đầu để token [CLS] giữ vai trò tóm tắt thông tin của toàn câu thông qua self‑attention. Khi huấn luyện cho các nhiệm vụ như classification, mô hình tự học cách đẩy các đặc trưng quan trọng vào vector này.
Những mô hình khác như RoBERTa, DeBERTa cũng duy trì cơ chế tương tự dù cách pretrain có thay đổi.
Một đoạn văn: ""Phim khá cuốn và diễn viên tự nhiên.""
Sau khi tokenization, văn bản được thêm token [CLS] ở đầu và [SEP] ở cuối. Token [CLS] đi qua toàn bộ stack Transformer và tạo thành vector cuối cùng. Vector đó đi vào classifier để mô hình dự đoán đây là câu mang sắc thái tích cực.
Trong thực tế, không phải mọi mô hình đều sử dụng [CLS]. Với một số kiến trúc khác:
Khi triển khai, nhóm dự án cần xem mô hình backbone dùng kiến trúc gì và đọc kỹ tài liệu gốc để chọn đúng vector đầu vào classifier. Điều này giúp đảm bảo kết quả ổn định và đúng thiết kế mô hình.
Việc hiểu representation token gắn với những kiến thức thường gặp trong các nhóm môn như:
Đây là những mảng kiến thức rộng mà người học AI thường đi qua khi tiếp cận NLP hiện đại.
Bạn có thể thử làm các bài phân loại ngắn như sentiment hoặc topic classification để quan sát trực tiếp vector [CLS]. Khi thử nghiệm nhiều mô hình, bạn sẽ thấy mỗi kiến trúc có cách tạo đại diện văn bản khác nhau.
Có luôn phải dùng token [CLS] cho classification không?
Không, một số kiến trúc dùng pooling toàn bộ token.
Token [SEP] có dùng cho classification không?
Không, nó chỉ đánh dấu ranh giới câu.
LSTM có token [CLS] không?
Không, LSTM dùng hidden state cuối cùng.
Một văn bản dài có thể dùng nhiều [CLS] không?
Không, BERT chỉ có một [CLS] ở đầu chuỗi.
Q1. Con số 0 thì học nổi không?
Ans: Chỉ cần bạn có thời gian học. Điều quan trọng nhất không phải giỏi hay không, mà là có học đều mỗi ngày. Kiến thức – tài liệu – môi trường đã có team lo. Nếu bạn không có thời gian thì nên cân nhắc.
Q2. Ai dạy AIO?
Ans: Đội admin dạy toàn bộ. Admin trực tiếp hướng dẫn và hỗ trợ mọi câu hỏi của bạn trong suốt quá trình học.
Q3. Admin có “xịn” không?
Ans: Admin đều là người làm nghề thật, mỗi người một cách dạy. Quan trọng là bạn cảm thấy hợp cách truyền đạt. Admin không dám nói xịn, chỉ dạy bằng hết sức.
Q4. AIO có gì khác những nơi khác?
Ans: AIO không phải trung tâm. Đây là dự án học tập cộng đồng, được cải tiến qua từng khóa. Tinh thần của AIO: Cùng nhau học – cùng nhau khổ – cùng nhau lớn. Nếu hợp tinh thần đó, bạn sẽ thấy phù hợp.