Problematische Namen erkennen. Harmlose zulassen.
Unangebrachte Benutzernamen prüft Benutzernamen, bevor sie auf einer öffentlichen Rangliste landen. Das Projekt setzt auf einen kleinen, nachvollziehbaren Klassifikator für den Produktionseinsatz statt auf ein großes Sprachmodell zur Laufzeit: schnell genug für schwache Hardware, reproduzierbar und einfach zu betreiben.
Entscheidend ist dabei nicht, möglichst viel zu blockieren. Das Modell soll problematische Benutzernamen zuverlässig erkennen und harmlose Wörter wie Essex, Assistant oder Fjord durchlassen.
Was im Projekt steckt
- Mehrsprachige Datensätze für Deutsch, Englisch, Spanisch, Französisch, Japanisch, Portugiesisch, Russisch, Ukrainisch und Chinesisch.
- Zeichenbasierte Merkmale, die auch Schreibvarianten, Leetspeak und Trennzeichen abdecken.
- Eine bewusst kuratierte Sammlung harmloser und besonders schwieriger Negativbeispiele gegen vorschnelle Fehlalarme.
- Eine kleine FastAPI-Schnittstelle für Einzel- und Batch-Prüfungen.
- Deterministische Builds und dokumentierte Modell-Provenienz.
Unter der Haube
Die Verarbeitung führt rohe, kompakte und kanonische Darstellungen eines Benutzernamens zusammen. Daraus entstehen Zeichen-n-Gramme für einen TF-IDF-Zweig und binäre kanonische Merkmale. Eine logistische Regression liefert anschließend eine Wahrscheinlichkeit; der Freigabe-Schwellenwert wird separat dokumentiert und geprüft.
Im Produkttest erreicht die hinterlegte Referenzkonfiguration 99,74 % Recall, 99,30 % Precision und eine Fehlalarmrate von 0,22 %. Ein separater Holdout mit externen oder zurückgehaltenen Produktnamen dient als Plausibilitäts- und Regressionstest.
Ausprobieren und beitragen
Der Klassifikator kann lokal über die Python-Skripte trainiert, ausgewertet und mit einer eigenen Liste getestet werden. Besonders hilfreich sind neue schwierige Negativbeispiele, reproduzierbare Fehlbeispiele, Prüfungen der Sprachlisten und Beiträge zur Dokumentation.
git clone https://codeberg.org/scovillo/inappropriate-usernames.git
cd inappropriate-usernames
python build_dataset.py
python train/train_model.py
python evaluate_product_test.py
Die Originalsoftware steht unter MIT. Für kuratierte Datensätze, externe Wortlisten und Modell-Provenienz gelten die Hinweise in NOTICE.