2010-12-13 55 views
0

Le problème est plus simple à comprendre, mais je pense est difficile à résoudre. Donné un mot pour former un bon mot anglais. Exemple:comment puis-je changer hungggrrrrryyyy = faim et autres mots anglais

hunggrrryyy to hungry 
awweeeeseom to awesome 
frusstrated to frustrated 
looooooove to love 

Y a-t-il des solutions connues à ce problème?

Merci

+0

Voulez-vous dire supprimer des lettres en double (qui se produisent en anglais) ou donner des coups de pied dans une chaîne jusqu'à ce qu'il devienne un mot? –

+0

Si ce n'était que pour les caractères répétés, vous pourriez bien sûr simplement créer des variations de la chaîne dans laquelle vous en supprimez certaines et effectuez une recherche dans un dictionnaire. La partie "-seom" de "awweeeeseom" le rend cependant plus compliqué. Pourriez-vous identifier l'ensemble des fautes d'orthographe que vous vous attendez à rencontrer? Comme (1) caractères répétés, (2) caractères transposés, (3) ...? – Thomas

Répondre

2

Vous pourriez probablement utiliser un tack similaire à ce que Peter Norvig a fait avec this spell checker.

À tout le moins, vous aurez besoin de vérifier le contexte. Est-ce que "loooooooooser" correspond à "looser" ou "perdant" dans une phrase particulière?

1

Bien sûr, google peut le faire. Je suppose que vous avez besoin d'un tas de données pour le faire.

Si vous pouvez utiliser un service, le service Google peut le faire pour vous ... il a une correction orthographique. http://code.google.com/apis/soapsearch/reference.html

+0

En lier dans loooooooooooooove ne cherchera pas l'amour, il va chercher loooooooooooooove. Je ne suis pas sûr que ce soit vraiment ce dont il a besoin. –

1

Tout d'abord, vous pouvez réduire toutes les répétitions de plus de deux lettres. Je suis sûr qu'il n'y a pas de mots en anglais avec 3 répétitions consécutives.

Cela réduit:

hunggrrryyy à hunggrryy
awweeeeseom à aweesome
frusstrated à frusstrated (pas de changement) looooooove à LoOve

Vous êtes alors susceptibles d'avoir plus de succès avec des approches vérification orthographique traditionnelles .

Puisque vous savez que vous êtes à la recherche de doublons, vous pouvez également générer toutes les variantes en tournant les doublons en lettres simples:

hunggrryy -> hungrryy, hungryy, faim etc

et voir si l'un des puis correspond à une recherche de dictionnaire. Notez que vous pouvez obtenir des faux positifs pour des mots similaires comme perdre, perdre; fils, bientôt

+0

Ma liste de mots scrabble comprend BRRR et ZZZ. –

+0

Fair point - mon dictionnaire anglais Oxford a brrr mais pas zzz. Vous pouvez gérer ces cas comme des cas spéciaux si vous voulez vraiment ;-) – DNA