2010-10-11 7 views
4

Je filtre les messages de discussion sur un système de discussion où les chaînes contraignantes vers Latin-1 English sont souhaitables. Les utilisateurs ont tendance à utiliser le typage créatif, par ex.Comment filtrer les messages de discussion en normalisant les formulaires de lettres?

ßòógīě§ 

au lieu de

Boogies 

En Java, il existe des méthodes de normalisation unicode qui peut enlever les marques diacritiques, mais je suis plus intéressé par les méthodes de normaliser les formes des lettres vers l'anglais, et Jeu de caractères Latin-1.

Existe-t-il des tables, des bibliothèques ou des méthodes permettant de mapper visuellement les caractères unicode les plus courants en dehors de Latin-1? Par exemple.

ß -> B 
§ -> S 
¥ -> Y 
¤ -> o 

Je pense que la réponse est « Non, ce serait trop grand, il suffit de les filtrer tous à la place » mais je peux espérer ...

+2

Je suppose que la même chose, si le jeu de caractères est petit, vous pouvez les mapper manuellement en maintenant un hashmap –

+0

Allez-vous remplacer 'straße' par' strabe'? Les Allemands ne seront pas d'accord. – axtavt

+0

Après la suppression de la marque diacritique, vous devez absolument écrire votre propre table de correspondance supplémentaire. Il n'y a pas de standard possible pour les "caractères qui ressemblent un peu à d'autres caractères de base ASCII mais qui n'ont rien à voir avec eux" comme ceux de l'exemple. Mais oui, je suis d'accord avec Michael: le filtrage est essentiellement futile. Vous ne serez jamais capable de bloquer toutes les façons de déguiser un "mauvais" mot, et plus vous essayez, plus vous allez raté et bloquer les "bons" mots. – bobince

Répondre

1

Je pense que le mieux est d'utiliser un OCR Moteur (reconnaissance optique de caractères). Après tout, c'est exactement ce que vous cherchez: un effort pour analyser les lettres en caractères A-Z lisibles. (Rappelez-vous d'imprimer le chat-messages sur une image en utilisant la même police que celui utilisé dans votre conversation client.)

Deux bibliothèques Java OCR:

0

La solution correcte n'est pas d'installer des "filtres blasphématoires" idiotes (que je suppose être derrière cette demande). Si la communauté ne peut pas se contrôler du tout à cet égard, modérez-la manuellement et interdisez les délinquants, ou fermez-la. Avoir à lutter avec le Scunthorpe problem offensera vos utilisateurs beaucoup plus que certains enfants jurant.

+0

Peut-être, mais il est possible d'offenser les utilisateurs en filtrant, et les parents des utilisateurs en ne filtrant pas. En tout cas le filtrage est déjà en cours et ce n'est pas vraiment une réponse à la question posée. Comprendre la forme des formulaires de lettre mènera à une compréhension de l'intention derrière le message et, finalement, moins de messages bloqués. – izb

Questions connexes