Đọc ngày 2026-08-06

Kế hoạch hôm nay

Câu hỏi dẫn đường

  • Interpretability giúp debug classifier như thế nào?
  • Low-data setting nên bắt đầu bằng chiến lược nào?
  • Case study corporate ticketing cho thấy workflow production gì?

Ghi chú trong khi đọc

  • Learning with No or Less Data and Adapting to New Domains bắt đầu từ vấn đề thực tế: nhiều project không có sẵn dataset lớn có nhãn, hoặc có dataset ở domain cũ nhưng phải chuyển sang domain mới với rất ít dữ liệu.
  • No Training Data dùng ví dụ phân loại complaint emails của e-commerce vào các nhóm billing, delivery, others. Nếu không có database lịch sử đã gán nhãn, bước đầu tiên không phải chọn model mà là tạo annotated dataset.
  • Cách trực tiếp nhất là nhờ customer service agents gán nhãn thủ công một phần complaints để làm training data ban đầu.
  • Cách khác là weak supervision: viết pattern/rule dựa trên tín hiệu lexical, ví dụ billing request có biến thể của “bill” hoặc số tiền, delivery request có shipping/delay.
  • Rule/pattern tạo ra một tập nhãn nhỏ và có thể nhiễu, nhưng đủ để khởi động classifier rồi dùng classifier đó annotate tập dữ liệu lớn hơn.
  • Sách nhắc Snorkel như công cụ triển khai weak supervision cho classification, và nêu claim rằng weak supervision có thể tạo classifier chất lượng tương đương model train bằng hàng chục nghìn ví dụ hand-labeled trong một số setup công nghiệp.
  • Nếu cần label ở quy mô lớn và khả thi về chi phí/quy trình, crowdsourcing như Amazon Mechanical Turk hoặc Figure Eight là một lựa chọn để tạo training data.
  • Điểm quan trọng: “no training data” không có nghĩa là train ngay không cần nhãn. Nó nghĩa là phải thiết kế cách tạo nhãn ban đầu: manual labeling, weak supervision hoặc crowdsourcing.
  • Less Training Data: Active Learning and Domain Adaptation xử lý tình huống đã có một ít nhãn nhưng quá ít để train model tốt, hoặc dữ liệu bị lệch mạnh về vài class.
  • Active Learning trả lời câu hỏi thực tế: nếu có 1,000 data points nhưng chỉ gán nhãn được 100, nên chọn 100 điểm nào?
  • Workflow active learning trong sách: train classifier bằng dữ liệu hiện có → predict trên dữ liệu mới → gửi các điểm model không chắc chắn cho human annotators → thêm nhãn mới vào training set → retrain, lặp lại cho tới khi đạt performance đủ tốt.
  • Ý chính: không phải điểm dữ liệu nào cũng đáng gán nhãn như nhau. Những điểm model ít tự tin thường đóng góp nhiều hơn cho việc cải thiện classifier.
  • Domain Adaptation xuất hiện khi có nhiều dữ liệu ở source domain nhưng target domain mới có ít labeled data. Ví dụ classifier train trên complaints về electronics có thể kém khi chuyển sang cosmetics vì vocabulary và cách diễn đạt khác.
  • Sách mô tả domain adaptation như transfer learning: chuyển tri thức từ source domain nhiều data sang target domain ít nhãn nhưng có nhiều unlabeled text.
  • Workflow: bắt đầu từ pretrained language model ở source/general domain → fine-tune trên unlabeled target-domain text → trích representation từ model đã adapt để train classifier trên labeled target data.
  • ULMFit là ví dụ domain adaptation cho text classification; sách nêu kết quả nghiên cứu rằng chỉ 100 labeled examples có thể đạt mức tương đương train from scratch với nhiều dữ liệu hơn đáng kể, nhất là khi có unlabeled target text để fine-tune LM.
  • Case Study: Corporate Ticketing gom các ý của chương vào một bài toán route ticket trong công ty: hệ thống cần nhận biết issue y tế và chuyển tới medical counsel/hospital, nhưng dữ liệu ticket cũ chưa có label health related.
  • Phương án 1: dùng API/library có sẵn rồi map taxonomy ngoài vào taxonomy nội bộ. Ví dụ API public có nhiều category sức khỏe; team phải quyết định category nào liên quan thật, category nào bỏ qua, và insurance nên đi HR hay medical counsel.
  • Phương án 2: dùng public dataset như 20 Newsgroups, lấy sci.med làm positive class và các topic khác làm negative class để train baseline medical-vs-other.
  • Phương án 3: dùng Weak Supervision trên ticket history chưa có nhãn, ví dụ rule chứa fever, diarrhea, headache, nausea thì gán vào medical counsel category.
  • Phương án 4: dùng Active Learning với người ở customer service desk để gán nhãn các ticket descriptions theo preset categories.
  • Sau khi deploy baseline, hệ thống có thể học từ explicit feedback như medical counsel nói ticket không relevant, và implicit feedback như response time/response rate.
  • Pipeline tổng hợp: no labeled data → API/public dataset/weak supervision tạo baseline → production lấy feedback → refine model → active learning chọn instance cần label → khi data nhiều hơn thì thử model sâu/phức tạp hơn.
  • Practical Advice chốt chương bằng lời khuyên rất engineering: đừng bắt đầu bằng state-of-the-art model; hãy tạo strong baseline trước để hiểu problem, lấy feedback từ users/stakeholders và tránh technical debt không đáng.
  • Training data nên được cân bằng giữa các category. Nếu bị Class Imbalance, model có thể học bias theo majority class; cách xử lý gồm thu thập thêm dữ liệu, undersampling/oversampling và weight balancing.
  • Trong thực tế nên kết hợp model outputs với handcrafted rules từ domain experts, và chuyển quyết định cho human evaluator khi model không chắc.
  • “Make it work, make it better”: model chỉ là một phần nhỏ của hệ thống; phần lớn effort nằm ở data collection, data pipeline, deployment, testing và monitoring.
  • “Use the wisdom of many” nghĩa là dùng ensembling: train nhiều classifiers rồi combine prediction, ví dụ majority voting, vì không có thuật toán text classification nào luôn thắng.

Viết lại bằng lời của tôi

  • Khi chưa có training data, model chưa phải trung tâm. Trung tâm là cách biến dữ liệu thô thành một tập nhãn đủ tin để bắt đầu học.
  • Weak supervision giống như dùng kiến thức nghiệp vụ để tạo “nhãn tạm”: noisy nhưng rẻ hơn gán nhãn thủ công toàn bộ. Sau đó mới dùng classifier để mở rộng.
  • Cần nhớ nhãn tạo bằng rule có bias của rule. Nó hữu ích để khởi động, nhưng vẫn cần kiểm tra bằng một tập nhãn thật do người đánh giá.
  • Active learning là cách tiêu tiền gán nhãn thông minh hơn: ưu tiên những câu model đang phân vân, vì chúng có khả năng dạy model nhiều hơn các câu quá dễ.
  • Domain adaptation nhắc mình rằng “có model đã train” không đồng nghĩa “dùng được ở domain mới”. Vocabulary, style và loại lỗi thay đổi thì representation cũng cần được kéo về domain mới.
  • Corporate ticketing là ví dụ hay vì nó ép mình nghĩ như product system: taxonomy, baseline, feedback loop, human-in-the-loop và iteration quan trọng ngang model.
  • Nếu chưa có label health related, có thể bắt đầu bằng thứ rẻ nhất đáng tin: map API/public dataset/rule, đưa vào production nhỏ, rồi dùng feedback thật để quyết định bước tiếp theo.
  • Practical advice của chương làm mình nhớ: text classification production là bài toán hệ thống trước, model sau. Baseline, data balance, human fallback, monitoring và iteration mới là phần giữ hệ thống sống được.
  • Ensemble không phải để khoe phức tạp; nó là cách thừa nhận mỗi classifier có lỗi riêng, rồi gom nhiều góc nhìn để giảm rủi ro một model đơn lẻ.

Việc cần làm