sonleuid1 commited on
Commit
474dd43
·
verified ·
1 Parent(s): 33ca4a6

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +83 -17
README.md CHANGED
@@ -8,59 +8,125 @@ tags:
8
  - seq2seq
9
  - bartpho
10
  - genz
 
11
  ---
12
 
13
- # Model Card: TeenCode Translator BARTpho
14
 
15
- Một hình Seq2Seq được tinh chỉnh (fine-tuned) chuyên sâu để dịch ngôn ngữ mạng, Teencode GenZ, bình luận TikTok sang Tiếng Việt chuẩn mực.
16
 
17
  ## Model Details
18
 
19
  ### Model Description
20
 
21
- Đây là mô hình dịch thuật Teencode sang Tiếng Việt được huấn luyện theo phương pháp Active Learning. Thay chỉ chuẩn hóa chính tả thông thường, hình được thiết kế để bảo tồn tối đa ngữ cảnh cảm xúc của câu gốc, tuân thủ nghiêm ngặt các quy tắc xử ngôn ngữ tự nhiên (NLP) đặc thù.
22
 
23
- - **Developed by:** Đan Sơn (Hust)
24
- - **Model type:** Text-to-Text Generation (Seq2Seq)
25
- - **Language(s) (NLP):** Tiếng Việt (vi)
 
26
  - **Finetuned from model:** BARTpho
27
 
 
 
 
 
 
28
  ## Uses
29
 
30
  ### Direct Use
31
 
32
  Mô hình được sử dụng trực tiếp để:
33
- - Chuẩn hóa các văn bản chứa nhiều từ lóng, viết tắt (VD: `khum`, `đc`, `j`, `trc`).
34
- - Làm sạch dữ liệu văn bản (Data Cleaning) cho các bài toán NLP khác tiếng Việt (Phân tích cảm xúc, Chatbot).
35
- - Tích hợp vào các ứng dụng chat hoặc công cụ hỗ trợ đọc hiểu văn bản mạng.
36
 
37
  ### Out-of-Scope Use
38
 
39
- - Mô hình không được thiết kế để dịch thuật đa ngôn ngữ (VD: Anh - Việt).
40
- - Không phải là mô hình đàm thoại (Chatbot/LLM) để trả lời câu hỏi.
 
41
 
42
  ## Bias, Risks, and Limitations
43
 
44
- **Tính năng bảo lưu ngôn từ nhạy cảm:** Để đảm bảo tính nguyên bản của dữ liệu NLP, mô hình được huấn luyện để **TUYỆT ĐỐI KHÔNG KIỂM DUYỆT** từ chửi thề hay lóng thô tục (VD: `vcl`, `duma`). Người dùng tích hợp mô hình vào ứng dụng đại chúng cần tự xây dựng bộ lọc hậu xử lý (Post-processing) nếu cần thiết.
 
 
 
45
 
46
- **Giới hạn độ dài:** Do được tinh chỉnh `max_length=64`, văn bản đầu vào quá dài (trên 50 từ) cần được băm nhỏ (chunking) theo dấu câu trước khi đưa vào hình để tránh hiện tượng ảo giác (hallucination).
47
 
48
  ## How to Get Started with the Model
49
 
50
- Sử dụng thư viện `transformers` `pipeline` để gọi mô hình:
51
 
52
  ```python
53
  from transformers import pipeline
54
 
55
- # Nạp mô hình từ Hugging Face
56
  translator = pipeline(
57
  "text2text-generation",
58
  model="Tên-Tài-Khoản-Của-Bạn/TeenCode-Translator-BARTpho"
59
  )
60
 
61
- # Test nghiệm thu
62
  text = "mai ik cf k duma t thik m vcl =))"
 
 
63
  result = translator(text, max_length=64, num_beams=5, early_stopping=True)
64
 
65
  print(result[0]['generated_text'])
66
- # Output kỳ vọng: "mai đi cà phê không duma tao thích mày vcl =))"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  - seq2seq
9
  - bartpho
10
  - genz
11
+ - text-normalization
12
  ---
13
 
14
+ # Model Card for TeenCode Translator BARTpho
15
 
16
+ Hệ thống AI chuẩn hóa ngôn ngữ mạng hội (Teencode GenZ) sang Tiếng Việt tiêu chuẩn, bảo lưu trọn vẹn cảm xúc, biểu tượng và ngữ nghĩa gốc.
17
 
18
  ## Model Details
19
 
20
  ### Model Description
21
 
22
+ Đây là mô hình Seq2Seq được tinh chỉnh (fine-tuned) từ kiến trúc BARTpho. Mô hình được thiết kế đặc biệt để xử dữ liệu bình luận (comments) trên nền tảng TikTok các đoạn chat GenZ. Điểm khác biệt của hình khả năng dịch chuẩn xác các từ lóng phức tạp mà vẫn tuân thủ nghiêm ngặt các quy tắc bảo lưu ngoại ngữ, dấu câu, emoji từ ngữ nhạy cảm gốc.
23
 
24
+ - **Developed by:** Lớp phó học tập (6GN1)
25
+ - **Model type:** Text-to-Text Generation (Seq2Seq Transformer)
26
+ - **Language(s) (NLP):** Tiếng Việt (vi) / Teencode
27
+ - **License:** MIT
28
  - **Finetuned from model:** BARTpho
29
 
30
+ ### Model Sources
31
+
32
+ - **Repository:** Đang cập nhật (GitHub Link)
33
+ - **Demo:** Tích hợp sẵn giao diện Gradio Real-time Translation.
34
+
35
  ## Uses
36
 
37
  ### Direct Use
38
 
39
  Mô hình được sử dụng trực tiếp để:
40
+ - Chuẩn hóa văn bản Teencode (VD: `khum`, `j`, `đc`, `ntn`, `htrc`).
41
+ - Tiền xử dữ liệu (Data Preprocessing) cho các bài toán NLP Tiếng Việt khác (Phân tích cảm xúc, Phân loại văn bản).
42
+ - Khôi phục văn bản viết tắt trên mạng hội thành văn bản hành chính/báo chí có thể đọc hiểu.
43
 
44
  ### Out-of-Scope Use
45
 
46
+ - Mô hình không hỗ trợ dịch thuật đa ngôn ngữ (VD: Anh sang Việt).
47
+ - Không phải là mô hình đàm thoại (Chatbot/LLM) để hỏi đáp kiến thức.
48
+ - Sẽ gặp hiện tượng ảo giác (hallucination) nếu nhồi nguyên một đoạn văn dài hơn 64 token mà không băm nhỏ (chunking) theo dấu câu.
49
 
50
  ## Bias, Risks, and Limitations
51
 
52
+ **CẢNH BÁO VỀ KIỂM DUYỆT TỪ NGỮ:**
53
+ Để đảm bảo tính nguyên bản của dữ liệu ngôn ngữ tự nhiên, mô hình được huấn luyện với quy tắc **Tuyệt đối không kiểm duyệt từ chửi thề, lóng thô tục** (VD: `vcl`, `duma`, `vl`...). Người dùng ứng dụng (Downstream Use) cần tự xây dựng bộ lọc từ ngữ (Profanity Filter) nếu triển khai cho môi trường học đường hoặc trẻ em.
54
+
55
+ ### Recommendations
56
 
57
+ Nên sử dụng hình kết hợp với bộ lọc hậu xử (Post-processing Pipeline) để xử linh hoạt đại từ nhân xưng, dụ: tự động đổi "tôi" thành "tao" nếu trong câu xuất hiện chữ "mày" để đảm bảo tính tự nhiên trong văn hóa giao tiếp Tiếng Việt.
58
 
59
  ## How to Get Started with the Model
60
 
61
+ Sử dụng đoạn code dưới đây để gọi mô hình qua thư viện `transformers`:
62
 
63
  ```python
64
  from transformers import pipeline
65
 
 
66
  translator = pipeline(
67
  "text2text-generation",
68
  model="Tên-Tài-Khoản-Của-Bạn/TeenCode-Translator-BARTpho"
69
  )
70
 
71
+ # Text đầu vào (chứa teencode, emoji và lóng)
72
  text = "mai ik cf k duma t thik m vcl =))"
73
+
74
+ # Chạy inference
75
  result = translator(text, max_length=64, num_beams=5, early_stopping=True)
76
 
77
  print(result[0]['generated_text'])
78
+ # Output: "mai đi cà phê không duma tôi thích mày vcl =))"
79
+ ```
80
+
81
+ ## Training Details
82
+
83
+ ### Training Data
84
+
85
+ Dữ liệu huấn luyện được thu thập từ các bình luận thực tế trên TikTok Việt Nam.
86
+ Tập dữ liệu đã trải qua quá trình lọc nhiễu bằng thuật toán Cross-Entropy Loss:
87
+ - Loại bỏ dữ liệu rác/sai nhãn (Loss > 12.0).
88
+ - Tập trung vào tập "Golden Dataset" chứa các ca Teencode khó (1.0 < Loss < 2.0).
89
+ - Bổ sung dữ liệu nhân tạo (Active Learning) cho các cụm từ mô hình thường dịch sai (`cf`, `hnao`, `hsy`, `htrc`).
90
+
91
+ ### Training Procedure
92
+
93
+ Mô hình được huấn luyện qua 2 giai đoạn:
94
+ 1. **Phase 1 (Full Fine-tune):** Huấn luyện trên toàn bộ tập dữ liệu gốc.
95
+ 2. **Phase 2 (Hard Examples Fine-tune):** Huấn luyện tập trung vào các câu khó với Learning Rate thấp để tránh Catastrophic Forgetting.
96
+
97
+ #### Training Hyperparameters
98
+
99
+ - **Training regime:** fp16
100
+ - **Learning Rate:** 2e-5 phase 2 & 5e-5 phase 1
101
+ - **Batch Size:** 64 (Train & Eval)
102
+ - **Gradient Accumulation Steps:** 1
103
+ - **Epochs:** 5
104
+ - **Optimizer:** AdamW
105
+ - **Weight Decay:** 0.01
106
+
107
+ ## Evaluation
108
+
109
+ ### Testing Data, Factors & Metrics
110
+
111
+ #### Testing Data
112
+ Tập kiểm thử (Test set) chiếm 10% tổng số dữ liệu Golden Dataset, được tách biệt ngẫu nhiên trước khi đưa vào huấn luyện Phase 2.
113
+
114
+ #### Metrics
115
+ Sử dụng **Cross-Entropy Loss (Eval Loss)** để đánh giá khả năng mô hình hóa ngôn ngữ.
116
+
117
+ ### Results
118
+
119
+ - **Checkpoint:** 464
120
+ - **Eval Loss:** ~0.200
121
+ - **Grad Norm:** Ổn định ở mức 1.3 - 3.4.
122
+ - **Tốc độ Inference:** ~512 samples/second trên RTX 4060 Ti.
123
+
124
+ #### Summary
125
+ Mức Loss hội tụ ở 0.2 chứng minh mô hình không bị Overfitting mà đã thực sự nắm bắt được quy luật chuyển đổi ngữ nghĩa phức tạp của Teencode.
126
+
127
+ ## Technical Specifications
128
+
129
+ ### Compute Infrastructure
130
+
131
+ - **Hardware:** 1x NVIDIA GeForce RTX 4060 Ti (16GB VRAM)
132
+ - **Software:** PyTorch, Hugging Face Transformers, Datasets.