
EmoNet: Mô hình Transformer nhận dạng cảm xúc có tính đến người nói — và những thay đổi tôi sẽ thực hiện vào năm 2026
Bài viết nhìn lại luận văn thạc sĩ của tôi, bảng xếp hạng mà nó đạt được và sự thay đổi của mô hình ngôn ngữ lớn (LLM) đã định hình lại lĩnh vực này kể từ đó. Bài viết EmoNet: Transformer nhận biết người nói để nhận dạng cảm xúc — và những gì tôi sẽ xây dựng khác đi vào năm 2026 xuất hiện đầu tiên trên Towards Data Science.
HỌC SÂU
EmoNet: Transformer nhận biết người nói để nhận dạng cảm xúc — và những gì tôi sẽ xây dựng khác biệt vào năm 2026
Hồi tưởng về luận văn Thạc sĩ của tôi, bảng xếp hạng mà nó đạt được và sự thay đổi của LLM đã định hình lại lĩnh vực này kể từ đó.
Biju Puthan Veetil
Ngày 28/5/2026
9 phút đọc
Chia sẻ
Vào tháng 3/2024, tôi đã nộp luận văn Thạc sĩ về Nhận dạng cảm xúc trong hội thoại (ERC). Mô hình EmoNet đạt F1 có trọng số 39,18 trên EmoryNLP — cạnh tranh với bảng xếp hạng PapersWithCode công khai vào thời điểm đó, nằm giữa TUCORE-GCN_RoBERTa (39,24) và S+PAGE (39,14), và cải thiện so với mô hình cơ sở tôi đã chọn, CoMPM, thêm +1,81 F1.
Hai năm sau, tôi quay lại xem xét tình hình lĩnh vực này hiện tại. Bảng xếp hạng đã thay đổi hoàn toàn. Các mục hàng đầu không còn là các mô hình chỉ mã hóa với các cơ chế chú ý thông minh — chúng là các hệ thống dựa trên LLaMA-2–7B với tinh chỉnh LoRA và nhắc nhở tăng cường truy xuất: InstructERC, CKERC, BiosERC, LaERC-S. Các phương pháp khác nhau. Sức mạnh tính toán khác nhau. Tư duy khác nhau.
Tuy nhiên — khi tôi đọc kỹ những bài báo mới này, những ý tưởng cốt lõi mà tôi đề xuất trong EmoNet xuất hiện bên trong chúng, chỉ được triển khai ở một lớp khác của kiến trúc. Đây là câu chuyện về những gì tôi đã xây dựng, vị trí của nó và những gì tôi sẽ xây dựng bây giờ nếu tôi bắt đầu lại.
ERC là gì và tại sao chỉ văn bản lại khó
Nhận dạng cảm xúc trong hội thoại là nhiệm vụ gán nhãn cảm xúc cho mỗi phát biểu trong một cuộc đối thoại nhiều lượt. Nó khác biệt với phân tích cảm xúc trên các câu riêng lẻ ở một điểm quan trọng: cảm xúc của một phát biểu được định hình bởi những gì đã xảy ra trước đó và bởi người đang nói.
Hãy xem xét cuộc trao đổi này từ tập dữ liệu EmoryNLP (nguồn từ chương trình truyền hình Friends):
Monica: Wendy, chúng ta đã có một thỏa thuận! Vâng, bạn đã hứa! Wendy! Wendy! Wendy! [Tức giận]
Rachel: Ai vậy? [Trung tính]
Monica: Wendy đã bỏ cuộc. Tôi không có người phục vụ. [Tức giận]
Khi đứng riêng, “Ai vậy?” là trung tính về mặt cảm xúc. Nhãn Trung tính chỉ có ý nghĩa trong ngữ cảnh — nó nằm giữa hai phát biểu tức giận từ một người nói khác và các mô hình ERC phải nắm bắt được động lực hội thoại này.
Có một vấn đề thứ hai: thiếu thông tin đa phương thức. Trong cuộc trò chuyện thực tế của con người, giọng điệu, biểu cảm khuôn mặt và ngôn ngữ cơ thể mang một phần lớn tín hiệu cảm xúc. ERC chỉ dựa trên văn bản loại bỏ tất cả những điều đó. Cùng một từ — “Ồ, tuyệt vời.” — có thể là chân thành hoặc mỉa mai, và bản thân văn bản thường không thể cho bạn biết điều đó.
Mất mát thông tin này là thách thức trung tâm. Bạn phải trích xuất cảm xúc từ một tín hiệu nhiễu hơn so với tiêu chuẩn cấp độ con người.
Bối cảnh năm 2024
Khi tôi bắt đầu luận văn vào cuối năm 2023, bảng xếp hạng EmoryNLP bị chi phối bởi các kiến trúc dựa trên transformer với nhiều sửa đổi thông minh khác nhau. Một chuyến tham quan nhanh:
– KET (Zhong và cộng sự, 2019) — transformer giàu kiến thức với cơ chế chú ý đồ thị cảm xúc, bài báo đầu tiên đưa transformer vào ERC.
– DialogueGCN (Ghosal và cộng sự, 2019) — mạng tích chập đồ thị chuyển đổi các cuộc đối thoại thành các bài toán phân loại nút.
– RGAT (Ishiwatari và cộng sự, 2020) — cơ chế chú ý đồ thị nhận biết mối quan hệ với mã hóa vị trí tương đối cho các phụ thuộc người nói.
– DialogXL (Shen và cộng sự, 2020) — XLNet được điều chỉnh với sự lặp lại phát biểu và cơ chế tự chú ý đối thoại.
– HiTrans (Li và cộng sự, 2020) — transformer phân cấp với xác minh người nói phát biểu theo cặp như một nhiệm vụ phụ trợ.
– TUCORE-GCN (Lee & Choi, 2021) — đồ thị hội thoại không đồng nhất với BERT nhận biết người nói.
– CoMPM (Lee & Lee, 2021) — kết hợp ngữ cảnh hội thoại với bộ nhớ được huấn luyện trước để theo dõi người nói.
Tôi chọn CoMPM làm nền tảng vì hai lý do. Thứ nhất, mô hình này đã mô hình hóa rõ ràng bộ nhớ được huấn luyện trước của người nói dưới dạng một mô-đun riêng biệt — điều này phù hợp với trực giác của tôi rằng người nói là ai cũng quan trọng như những gì họ nói. Thứ hai, kiến trúc của nó đủ mô-đun để mở rộng mà không cần viết lại từ đầu. Bài báo CoMPM cho thấy việc thêm bộ nhớ được huấn luyện trước vào mô hình ngữ cảnh đã mang lại một sự cải thiện đáng kể — nhưng danh tính người nói của họ vẫn chỉ giới hạn trong từng hội thoại. Ngay khi một cuộc trò chuyện mới bắt đầu, mọi thứ mà mô hình đã học được về một người nói đều bị loại bỏ.
Điều đó dường như là một vấn đề đáng để giải quyết.
Ba đóng góp, với trực giác
1. Danh tính người nói toàn cục
Vấn đề. Trong CoMPM và hầu hết các công trình trước đây, ID người nói chỉ giới hạn trong một hội thoại duy nhất. Người nói A trong cảnh 1 không có mối quan hệ nào với Người nói A trong cảnh 14, ngay cả khi họ là cùng một người. Do đó, mỗi hội thoại bắt đầu từ con số 0.
Trực giác. Con người có những kiểu cảm xúc đặc trưng. Monica tức giận về những điều cụ thể; Phoebe luôn vui vẻ; Ross có những cơn bất an dễ đoán. Nếu một mô hình có thể mang thông tin về người nói cụ thể này qua các hội thoại, nó sẽ có thể đưa ra các dự đoán được hiệu chỉnh tốt hơn khi người nói đó xuất hiện trở lại.
Việc triển khai. Mỗi người nói duy nhất trong toàn bộ tập dữ liệu sẽ có một ID ổn định, trên toàn tập dữ liệu. Lần đầu tiên Monica Geller xuất hiện, cô ấy được gán một ID — ví dụ, ID 7 — và ID đó sẽ theo cô ấy. Mọi lần xuất hiện tiếp theo — qua các tập, mùa, cảnh — cô ấy vẫn là ID 7. Mô hình giờ đây có thể học các mẫu cụ thể của người nói có tính bền vững.
Điều này nghe có vẻ hiển nhiên khi nhìn lại. Vào năm 2024, đây không phải là cách các mô hình dẫn đầu hoạt động.
2. Mô-đun hành vi người nói
Vấn đề. Danh tính người nói toàn cục chỉ là một nhãn. Để làm cho nó hữu ích, mô hình cần làm gì đó với lịch sử tích lũy của người nói. Làm thế nào để bạn cấp cho một transformer quyền truy cập vào “mọi thứ Monica đã từng nói trong tập dữ liệu này,” mà không làm tràn cửa sổ ngữ cảnh hoặc làm cho việc huấn luyện trở nên không khả thi?
Trực giác. Tính lặp lại. Một GRU (Gated Recurrent Unit) là một sự phù hợp tự nhiên để nén tuần tự các phát biểu lịch sử của người nói thành một biểu diễn có kích thước cố định duy nhất. Các phát biểu gần đây đóng góp nhiều hơn; các phát biểu cũ hơn dần dần bị làm loãng. Một cửa sổ trượt có thể cấu hình giới hạn đầu vào của GRU — ví dụ, N phát biểu gần nhất của người nói này — giữ cho tính toán và bộ nhớ có thể dự đoán được.
Việc triển khai.



Nguồn tin: Towards Data Science — Tác giả: Biju Puthan Veetil. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.