In short
An Analysis of the Architecture of an Anti-Scam Bot for Telegram Chats: A Classifier Without a Labeled Dataset, a Problem Typing System, and Handling a Stream of Typos, Slang, and Three Languages. Practical ML Experience with Real-World, Unstructured Data.
When there is no labeled dataset, and the data consists of a live stream from Telegram chats filled with typos, slang, and a mix of three languages, traditional ML approaches quickly fall short. The author of an anti-scam bot shares an architecture that combines a classifier—which determines whether assistance is needed—and a problem typifier, built on top of the RAG module discussed in the first part.
The main focus of the article isn’t on the models, but on engineering with dirty data. How to build a working classifier when metrics are misleading and there’s no annotation at all. The figures in the article are real, taken from production logs.