Cách tôi xây dựng bot chống lừa đảo trên dữ liệu bẩn: bộ phát hiện, bộ phân loại và những cạm bẫy trên đường đi
OpenAI
Tác giả mô tả việc xây dựng bot chống lừa đảo cho các cuộc trò chuyện về tiền điện tử, sử dụng bộ phát hiện để nhận diện yêu cầu trợ giúp và bộ phân loại để xác định loại vấn đề. Các bài học chính bao gồm sử dụng học tích cực để cải thiện tập dữ liệu, đóng băng một tập vàng để có số liệu đáng tin cậy, và tránh sự phức tạp không cần thiết.
Dự án này giải quyết vấn đề những kẻ lừa đảo trong các phòng chat tiền điện tử, khi chúng đọc các tin nhắn công khai rồi nhắn tin riêng cho người dùng để đề nghị trợ giúp. Bot sẽ phát hiện các yêu cầu trợ giúp công khai và phản hồi bằng cảnh báo cùng đường dẫn đến bộ phận hỗ trợ chính thức. Thách thức đầu tiên là xây dựng một bộ phân loại mà không có tập dữ liệu được gán nhãn. Việc thu thập dữ liệu ban đầu dựa trên regex đã hạn chế khả năng tổng quát hóa của mô hình đối với những cách diễn đạt chưa từng thấy. Học tích cực (active learning) đã được sử dụng để thêm dần các ví dụ không chắc chắn, tăng tập dương từ 830 lên 1176 mẫu. Các mẫu gần trùng lặp được giữ lại để tăng độ mạnh trước lỗi chính tả và tiếng lóng. Tiêu chí phân loại đã được chuyển từ 'yêu cầu trợ giúp' sang 'phù hợp để tiêm vaccine' nhằm tránh kích hoạt cho các câu hỏi đơn giản. Việc kiểm tra chéo trên tập dữ liệu thay đổi đã cho các chỉ số gây hiểu lầm; một tập vàng cố định gồm 245 tin nhắn đã phản ánh đúng sự cải thiện thực sự, với độ hồi tưởng (recall) tăng từ 0.50 lên 0.78. Một bài kiểm tra riêng trên lưu lượng thực tế cho thấy độ chính xác (precision) có thể điều chỉnh từ 0.74 đến 0.87 tùy thuộc vào ngưỡng. Bộ phân loại loại vấn đề (typifier) được giữ dưới dạng hồi quy logistic đơn giản để tránh phức tạp quá mức. Hệ thống sử dụng một mô hình embedding đa ngôn ngữ duy nhất cho cả bộ phát hiện và hệ thống RAG (tạo sinh tăng cường truy hồi), một sự đánh đổi nhằm tiết kiệm tài nguyên nhưng có thể hạn chế độ hồi tưởng của RAG. Kiến trúc là một dịch vụ FastAPI riêng biệt với SQLite, được bot sản xuất gọi theo cơ chế fire-and-forget (gọi rồi không chờ kết quả), và có chế độ shadow (hoạt động song song không can thiệp) để kiểm thử an toàn.
Nguồn: Habr — хаб ML —
bản gốc
