Zum Inhalt springen
ModelAufgelistetExtern
Herunterladen

Vietspeech Fusion Ser

Mô hình nhận diện cảm xúc qua giọng nói tiếng Việt, kết hợp âm thanh (wav2vec2) và văn bản (PhoBERT) theo kiến trúc late-fusion. Mô hình phân loại lời nói tiếng Việt thành 5 lớp cảm xúc.

ArtOtherBasismodellnguyenvulebinh/wav2vec2-base-vietnamese-250hVersionBest fusionCBewertung

Modellquelle

Art
Other
Dateigröße
881 MB
Basismodell
nguyenvulebinh/wav2vec2-base-vietnamese-250h
Version
vBest fusion
Aktualisiert
25. Okt. 2026
Quelle
Hugging Face

Quellenbeschreibung

VietSpeech Fusion SER — Nhận diện cảm xúc tiếng Việt (đa phương thức)

Mô hình nhận diện cảm xúc qua giọng nói tiếng Việt, kết hợp âm thanh (wav2vec2) và văn bản (PhoBERT) theo kiến trúc late-fusion. Mô hình phân loại lời nói tiếng Việt thành 5 lớp cảm xúc.

Các lớp cảm xúc

IDLớpGộp từ
0Enjoyment (vui)Enjoyment / happy
1Sadness (buồn)Sadness + Fear / sad + fearful
2Anger (giận)Anger + Disgust / angry + disgusted
3Surprise (ngạc nhiên)Surprise / surprised
4Other (khác/trung tính)Other / neutral

Kiến trúc

audio ──→ wav2vec2-base-vietnamese-250h (+LoRA) ──→ mean-pool ─┐
                                                               ├─→ concat → MLP → 5 lớp
text  ──→ PhoBERT-base (+LoRA) ──→ [CLS] ─────────────────────┘
  • Audio encoder: nguyenvulebinh/wav2vec2-base-vietnamese-250h, fine-tune bằng LoRA (r=16).
  • Text encoder: vinai/phobert-base, fine-tune bằng LoRA (r=16).
  • Fusion: nối hai embedding (768+768) → MLP (hidden 256, ReLU, dropout 0.3) → 5 lớp.
  • Class weights dùng để xử lý mất cân bằng lớp.

Kết quả (trên test set VietSpeech, nhãn pseudo-label)

Chỉ sốGiá trị
Accuracy0.743
Macro-F10.613

F1 từng lớp: Enjoyment 0.75 · Other 0.81 · Surprise 0.54 · Anger 0.52 · Sadness 0.45.

⚠️ Lưu ý quan trọng về dữ liệu (pseudo-label)

Nhãn cảm xúc của tập huấn luyện KHÔNG do người gán. Chúng được sinh tự động bằng mô hình iic/emotion2vec_plus_large (pseudo-labeling) trên dữ liệu giọng nói NhutP/VietSpeech (vốn không có nhãn cảm xúc). Vì vậy:

  • Nhãn là nhãn yếu (weak labels), có thể chứa lỗi (ví dụ một câu nội dung tiêu cực nhưng giọng nhẹ nhàng có thể bị gán "happy").
  • Các con số đánh giá ở trên đo trên chính nhãn pseudo-label, nên phản ánh mức độ khớp với emotion2vec, chưa phải hiệu năng trên nhãn người gán thật.
  • Phân bố lớp lệch: Other/Enjoyment chiếm đa số; Sadness/Anger hiếm hơn nhiều.

Để đánh giá khách quan, nên dùng một tập test có nhãn do người gán.

Cách dùng

Đây là kiến trúc tùy biến (không phải lớp model chuẩn của Transformers), cần dựng lại MultimodalSER rồi nạp trọng số:

import torch
from huggingface_hub import hf_hub_download
# ... định nghĩa lại class MultimodalSER như khi train ...

path = hf_hub_download("qdovan03/vietspeech-fusion-ser", "best_fusion.pt")
model = MultimodalSER(num_labels=5)
state = torch.load(path, map_location="cpu")
state = {k.replace("module.", "", 1): v for k, v in state.items()}
model.load_state_dict(state)
model.eval()

Xem fusion_config.json trong repo để biết các siêu tham số.

Dữ liệu & nguồn

Hạn chế

  • Nhãn pseudo-label nên có nhiễu; chưa đánh giá trên nhãn người gán.
  • Hai lớp Sadness và Anger thiếu dữ liệu (do nguồn VietSpeech ít các cảm xúc này), nên F1 hai lớp này thấp hơn.
  • Mô hình huấn luyện trên giọng đọc/xã hội, có thể kém hơn trên giọng biểu cảm mạnh hoặc miền âm thanh khác.

Quellen

1 Quelle
Hugging FacePrimärVersion cca6754bb15b1ce21b59bae662f3357e7adc7b19
huggingface.co/qdovan03/vietspeech-fusion-ser/tree/cca6754bb15b1ce21b59bae662f3357e7adc7b19

Verifiziert 25. Okt.

Modellartefakte

1 Artefakt

best_fusion.pt

pt · 881 MB · SHA-256 67b6736481fe…e7b9 · Hugging Face

Download file

Quellenauszüge

2 Auszüge

--- license: apache-2.0 language: - vi tags: - speech-emotion-recognition - multimodal - wav2vec2 - phobert - vietnamese - lora pipeline_tag: audio-classification base_model: - nguyenvulebinh/wav2vec2-base-vietnamese-250h - vinai/phobert-base --- # VietSpeech Fusion SER — Nhận diện cảm xúc tiếng Việt (đa phương thức) Mô hình nhận diện cảm xúc qua giọng nói tiếng Việt, kết hợp **âm thanh** (wav2vec2) và **văn bản** (PhoBERT) theo kiến trúc late-fusion. Mô hình phân loại lời nói tiếng Việt thành **5 lớp cảm xúc**. ## Các lớp cảm xúc | ID | Lớp | Gộp từ | |----|-----|--------| | 0 | Enjoyment (vui) | Enjoyment / happy | | 1 | Sadness (buồn) | Sadness + Fear / sad + fearful | | 2 | Anger (giận) | Anger + Disgust / angry + disgusted | | 3 | Surprise (ngạc nhiên) | Surprise / surprised | | 4 | Other (khác/trung tính) | Other / neutral | ## Kiến trúc ``` audio ──→ wav2vec2-base-vietnamese-250h (+LoRA) ──→ mean-pool ─┐ ├─→ concat → MLP → 5 lớp text ──→ PhoBERT-base (+LoRA) ──→ [CLS] ─────────────────────┘ ``` - **Audio encoder:** `nguyenvulebinh/wav2vec2-base-vietnamese-250h`, fine-tune bằng LoRA (r=16). - **Text encoder:** `vinai/phobert-base`, fine-tune bằng LoRA (r=16). - **Fusion:** nối hai embedding (768+768) → MLP (hidden 256, ReLU, dropout 0.3) → 5 lớp. - **Class weights** dùng để xử lý mất cân bằng lớp. ## Kết quả (trên test set VietSpeech, nhãn pseudo-label) | Chỉ số | Giá trị | |--------|---------| | Accuracy | 0.743 | | Macro-F1 | 0.613 | F1 từng lớp: Enjoyment 0.75 · Other 0.81 · Surprise 0.54 · Anger 0.52 · Sadness 0.45. ## ⚠️ Lưu ý quan trọng về dữ liệu (pseudo-label) Nhãn cảm xúc của tập huấn luyện **KHÔNG do người gán**. Chúng được sinh tự động bằng mô hình `iic/emotion2vec_plus_large` (pseudo-labeling) trên dữ liệu giọng nói `NhutP/VietSpeech` (vốn không có nhãn cảm xúc). Vì vậy: - Nhãn là **nhãn yếu (weak labels)**, có thể chứa lỗi (ví dụ một câu nội dung tiêu cực nhưng giọng nhẹ nhàng có thể bị gán "happy"). - Các con số đánh giá ở trên đo trên chính nhãn pseudo-label, nên phản ánh mức độ **khớp với emotion2vec**, chưa phải hiệu năng trên nhãn người gán thật. - Phân bố lớp lệch: Other/Enjoyment chiếm đa số; Sadness/Anger hiếm hơn nhiều. Để đánh giá khách quan, nên dùng một tập test có nhãn do người gán. ## Cách dùng Đây là kiến trúc tùy biến (không phải lớp model chuẩn của Transformers), cần dựng lại `MultimodalSER` rồi nạp t...

Source context: 0 downloads · 0 likes · Pipeline audio-classification · Repo qdovan03/vietspeech-fusion-ser