Pregunta Python: verifica si una palabra está escrita correctamente [cerrada]


Estoy buscando una manera fácil de verificar si una cierta cadena es una palabra en inglés correctamente deletreada. Por ejemplo, 'miró' devolvería True mientras 'hurrr' devolvería False. No necesito sugerencias de ortografía ni ninguna función de corrección ortográfica. Solo una función simple que toma una cadena y devuelve un valor booleano.


13
2017-12-21 15:17


origen


Respuestas:


Dos formas posibles de hacerlo:

  1. Tenga su propio archivo que tenga todo el palabras válidas Cargue el archivo en un establecer y comparar cada palabra para ver si existe en ella (palabra en el juego)
  2. (La mejor manera) Use PyEnchant, una biblioteca de corrección ortográfica para Python

PyEnchant no se mantiene activamente ahora.


26
2017-12-21 15:30



Estaba buscando la misma funcionalidad y tuve problemas para encontrar una biblioteca existente que funciona en Windows, de 64 bits. PyEnchant, aunque es una gran biblioteca, no está actualmente activo y no funciona en 64 bits. Otras bibliotecas que encontré no funcionaban en Windows.

Finalmente encontré una solución que espero que otros encuentren valiosa.

La solución...

  • Use nltk
  • Extraiga la lista de palabras de nltk.corpus.brown
  • Convierte la lista de palabras a un conjunto (para una búsqueda eficiente)
  • Utilizar el in palabra clave para determinar si su cadena está en el conjunto

from nltk.corpus import brown
word_list = brown.words()
word_set = set(word_list)

# Check if word is in set
"looked" in word_set  # Returns True
"hurrr" in word_set  # Returns False

Utilice un control de temporizador y verá que esto no lleva prácticamente tiempo para buscar en el conjunto. Una prueba en 1,000 palabras tomó 0.004 segundos.


3
2017-12-07 22:42



Yahoo proporciona revisión ortográfica API a través de YQL.

Es bastante simple y obtienes 5000 consultas / dirección IP / día para uso no comercial (GRATIS)


0
2017-09-06 13:20



Yo personalmente utilicé: http://textblob.readthedocs.io/en/dev/ Es un proyecto activo y de acuerdo con el sitio web:

La corrección ortográfica se basa en "Cómo escribir un corrector ortográfico" de Peter Norvig [1] tal como se implementó en la biblioteca de patrones. Es aproximadamente 70% exacto


0
2018-01-30 17:17