2010-01-28 6 views
3

Je construis un correcteur d'orthographe pour les requêtes des moteurs de recherche en mettant en œuvre la méthode décrite dans « Spelling correction as an iterative process that exploits the collective knowledge of web users ». L'approche de haut niveau est la suivante: pour une requête donnée, trouver des candidats de correction possibles (mots dans le journal de requête dans une certaine distance d'édition) de chaque unigram et bigram, puis effectuer une recherche Viterbi modifiée pour trouver la séquence de candidats la plus probable étant donné les fréquences de bigrammes. Répétez ce processus jusqu'à ce que la séquence soit de probabilité maximale.English Lexique pour Rechercher Correction

La modification à la recherche de Viterbi est telle que si deux mots adjacents sont tous deux trouvés dans un lexique de confiance, au plus on peut corriger. Ceci est particulièrement important pour éviter la correction de requêtes de mots simples correctement orthographiées en mots de plus haute fréquence.

Ma question est de savoir où trouver un tel lexique. Il devrait être en anglais et contenir des noms propres (prénoms/noms de famille, lieux, noms de marque, etc.) susceptibles de s'afficher dans les requêtes de recherche ainsi que des mots anglais communs et peu communs. Même une poussée dans la bonne direction serait utile.

Aussi, si quelqu'un est en train de lire ceci et a des suggestions d'amélioration sur la méthodologie fournie dans le document, je suis ouvert à ceux et étant donné que ceci est ma première incursion dans la PNL.

Répondre

2

Le meilleur lexique à cette fin est probablement le Web Google 1T ensemble de données de 5 grammes.

http://www.ldc.upenn.edu/Catalog/CatalogEntry.jsp?catalogId=LDC2006T13

Malheureusement, il est libre à moins que votre université est membre de LDC.

Vous pouvez également essayer le corpus en paquets comme Python NLTK, mais celui de Google semble être le mieux à vos besoins, car il est lié aux requêtes de recherche déjà.

+0

Cela semble plutôt bien, merci. – danben