Viele von uns müssen mit Benutzereingaben, Suchanfragen und Situationen umgehen, in denen der Eingabetext möglicherweise Schimpfwörter oder unerwünschte Sprache enthält. Oftmals muss dies herausgefiltert werden.
Wo kann man eine gute Liste von Schimpfwörtern in verschiedenen Sprachen und Dialekten finden?
Gibt es APIs für Quellen, die gute Listen enthalten? Oder vielleicht eine API, die einfach sagt "ja, das ist sauber" oder "nein, das ist schmutzig" mit einigen Parametern?
Welche guten Methoden gibt es, um Leute zu erwischen, die versuchen, das System auszutricksen, wie z. B. a$$, azz oder a55?
Bonuspunkte, wenn Sie Lösungen für PHP anbieten :)
Edit: Antwort auf die Antworten, die besagen, dass man das programmatische Problem einfach vermeiden sollte:
Ich denke, dass diese Art von Filter sinnvoll ist, wenn beispielsweise ein Nutzer die öffentliche Bildersuche nutzen kann, um Bilder zu finden, die in einen sensiblen Gemeinschaftspool aufgenommen werden. Wenn sie nach "Penis" suchen können, dann werden sie wahrscheinlich viele Bilder von "ja" erhalten. Wenn wir solche Bilder nicht wollen, dann ist das Verbot des Wortes als Suchbegriff eine gute, wenn auch zugegebenermaßen nicht narrensichere Methode. Die eigentliche Frage ist, wie man die Liste der Wörter überhaupt erhält.
Ich suche also nach einer Möglichkeit, herauszufinden, ob ein einzelnes Token schmutzig ist oder nicht, und es dann einfach zu verbieten. Ich würde mir nicht die Mühe machen, eine Bemerkung wie die total witzige "Langhalsgiraffe" zu verhindern. Da kann man nichts machen :)
15 Stimmen
Es ist eine Schande, dass alle Top-Antworten existenzielle und defätistische Ablenkungen von der Programmierherausforderung sind. Angesichts der zunehmenden Bedeutung von "Cyborg"-Computerdiensten wie Mechanical Turk und der Tatsache, dass fast jede Software zu einer sozialen Plattform wird, ist es wichtiger denn je, eine Heuristik zu haben, um Inhalte mit einer roten Markierung zu versehen und sie einem Moderator zur Kenntnis zu bringen!
12 Stimmen
Bitte achten Sie auf den Sprachkontext, besonders wenn Sie i18n machen. Ich habe einmal versucht, eine Google-Gruppe für einen Kurs namens "Sanal ortamda görsellestirme" einzurichten, was auf Türkisch "Visualisierung in virtuellen Medien" heißt. Google war dumm genug, es abzulehnen. weil der Titel das Wort "anal" enthielt . Sanal[tr]=Virtual[en] und Google beschuldigte mich schamlos der Gotteslästerung! :D Bitte lassen Sie nicht zu, dass solche seltsamen Dinge passieren.
0 Stimmen
Wie wäre es, wenn Sie nach dem Wort suchen in Spanisch ? Sie können den Google-Bilder-Filter auf diese Weise umgehen (wenn Sie in einer anderen Sprache lokalisiert sind).
0 Stimmen
Ein weiterer Vorschlag wäre, diese Wörter NICHT zu verbieten, sondern die Benutzer, die sie verwenden, zu registrieren. Wenn ein Benutzer/IP mehr als 2, 3 oder was auch immer Sie wollen, bekommt, dann sperren Sie diese Person. Auch das ist nicht idiotensicher, aber ich denke, es ist viel unangenehmer, gesperrt zu werden und den Benutzer/IP/beides wechseln zu müssen, als "fluffy white bunny" statt "pussy" zu schreiben. Zum Teil wissen die Benutzer nicht, WELCHE Wörter oder Ausdrücke sie nicht verwenden dürfen, so dass sie nicht so einfach verschiedene böse Wörter erraten können, da sie gesperrt werden.
2 Stimmen
Schimpfwortfilter sind eine schlechte Idee. Es ist sehr schwer zu unterscheiden zwischen jemandem, der versucht, das System auszutricksen ("Fudge you!"), und jemandem, der legitim über etwas völlig Angemessenes spricht ("I like chocolate fudge.").
0 Stimmen
pip install -U expletives
?0 Stimmen
Ich schlage vor, nicht zum Totalitarismus beizutragen und sich einen richtigen Job zu suchen.