Google+ Seguidores

viernes, 18 de mayo de 2018

Detector de Ingles Programáticamente - Algoritmos con Python


Bienvenidos a Mi Diario Python. Mi nombre es Luis y en el día de hoy les traigo otro artículo para reforzar nuestros conocimientos.

En este artículo, les mostrare un método para realizar un algoritmo que pueda detectar sí hay palabras en inglés en un determinado mensaje. ¿Qué les parece? Comencemos.

Puedes descargar los archivos utilizados y realizados hoy día desde mi repositorio de github: https://github.com/LuisAlejandroSalcedo/Detector-de-Ingles-Programaticamente.

Detector de Ingles programáticamente:

Imagen relacionada

Sí, en el día de hoy realizaremos un algoritmo que detecta si hay palabras escritas en el idioma ingles en un mensaje o cualquier otro tipo de texto.

Perfecto, único que necesitamos antes de empezar a escribir código, es crear un archivo con todas las palabras en inglés. Sera como un diccionario, el algoritmo vera si las palabras que se encuentran allí, se encuentran en el mensaje ingresado.

Lo que haremos será crear un archivo de texto y en el empezar a introducir las palabras. En el repositorio de github de este algoritmo se encuentra un diccionario ya realizado. Pero sí deseas crear tu propio diccionario, incluso en otro idioma, eres libre de hacerlo y compartirlo con nosotros.

El diccionario tiene el siguiente aspecto:


Este diccionario consta de 45333 palabras y lo puedes obtener ingresando al siguiente enlace: https://github.com/LuisAlejandroSalcedo/Detector-de-Ingles-Programaticamente.

Muy bien, una vez que dispongamos de nuestro diccionario, podemos proseguir con el algoritmo.


Lo primero que hacemos es importar el modulo “os” para tener acceso a funciones de nuestro sistema operativo. Declaramos una variable “UPPERLETTERS” y “LETTERS_AND_SPACE” las cuales nos ayudaran a procesar mejor las cadenas de texto.


La función “getEnglishCount” contara todas las palabras en inglés que se encuentren en el mensaje. Esto nos servirá luego.

La función “loadDictionary” obtendrá todas las palabras del diccionario y las retornara. En las variables “ENGLISH_WORDS” guardara el resultado de “loadDictionary”.


La función “removeNonLetter” nos permitirá procesar el mensaje ingresado por el usuario eliminando los símbolos que no sean letras.


Luego creamos la función “isEnglish” la cual une todos los procesos anteriores para para poder detectar las palabras en inglés. La función toma como argumento el mensaje, el porcentaje de palabras y el porcentaje de letras, estos valores pueden cambiarlos con respecto la longitud del mensaje. La función “isEnglis” realiza el proceso de detección y nos devuelve “True” o “False” con respecto a la presencia o ausencia de palabras en inglés.

 

Por último, creamos nuestra propia función la cual recibe el mensaje del usuario y utilizamos la función “isEnglis” para la detección de palabras en inglés. Este paso pueden dejarlo a merced de su imaginación.
Perfecto, ahora podemos proceder a ejecutar el script:


Como podemos observar, el resultado es muy bueno, podemos ver que aunque haya palabras en español, el detector nos lanzara “True” por el hecho de que existen palabras en inglés en el mensaje.

Muy bien, es tu turno de probar ¿Qué pasaría si en vez de un diccionario de palabras en inglés utilizáramos uno con palabras en francés? Puedes experimentar y realizar tus propios proyecto con lo conocimientos adquiridos en este artículo.

Puedes descargar el algoritmo completo desde mi repositorio de github: https://github.com/LuisAlejandroSalcedo/Detector-de-Ingles-Programaticamente.

¿Alguna duda? ¿Quieres compartir algo con nosotros? Deja tu comentario.

Mi nombre es Luis, y fue un placer compartir mis conocimientos con todos ustedes :D.

No hay comentarios :
Write comentarios

Tu comentario es importante y nos motiva a seguir escribiendo...

Powered by Blogger .