Hoe ik een anti-oplichtingsbot bouwde op vuile data: detector, typifier en valkuilen onderweg
OpenAI
De auteur beschrijft het bouwen van een anti-oplichtingsbot voor crypto-chats met behulp van een classifier om hulpverzoeken te detecteren en een typifier om het soort probleem te bepalen. Belangrijke lessen zijn onder meer het gebruik van actief leren om de dataset te verbeteren, het bevriezen van een gouden set voor betrouwbare statistieken en het vermijden van onnodige complexiteit.
Het project richt zich op het probleem van oplichters in crypto-chatrooms die openbare berichten lezen en vervolgens gebruikers privéberichten sturen met het verzoek om hulp. De bot detecteert openbare hulpvragen en reageert met een waarschuwing en een link naar echte ondersteuning. De eerste uitdaging was het bouwen van een classifier zonder een gelabelde dataset. Initiële dataverzameling op basis van reguliere expressies beperkte het vermogen van het model om te generaliseren naar niet eerder geziene formuleringen. Actief leren werd gebruikt om iteratief onzekere voorbeelden toe te voegen, waardoor de positieve set groeide van 830 naar 1176. Bijna-duplicaten werden behouden om de robuustheid tegen typfouten en straattaal te verbeteren. Het classificatiecriterium verschoof van 'hulpvraag' naar 'vaccin geschikt' om te voorkomen dat er werd gereageerd op simpele vragen. Kruisvalidatie op een veranderende dataset gaf misleidende statistieken; een bevroren gouden set van 245 berichten onthulde echte verbeteringen, met een recall die steeg van 0,50 naar 0,78. Een aparte test op echt verkeer toonde een precisie die instelbaar was van 0,74 tot 0,87, afhankelijk van de drempelwaarde. De typifier (probleemtype) werd gehouden als een eenvoudige logistische regressie om overcomplicatie te voorkomen. Het systeem gebruikt één enkel meertalig embeddingmodel voor zowel de detector als RAG, een compromis dat resources bespaarde maar de RAG-recall mogelijk beperkt. De architectuur is een aparte FastAPI-service met SQLite, aangeroepen door een productiebot via fire-and-forget, met een schaduwmodus voor veilig testen.
Bron: Habr — хаб ML —
origineel
