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.
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.
algoritmo que pueda detectar sí hay palabras en inglés en un determinado
mensaje. ¿Qué les parece? Comencemos.
Detector de
Ingles programáticamente:
Ingles programáticamente:
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.
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.
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.
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.
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.
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.
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.
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”.
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.
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.
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.
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.
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.
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.
de github: https://github.com/LuisAlejandroSalcedo/Detector-de-Ingles-Programaticamente.
¿Alguna duda? ¿Quieres compartir algo con nosotros? Deja tu
comentario.
comentario.
Mi nombre es Luis, y fue un placer compartir mis
conocimientos con todos ustedes :D.
conocimientos con todos ustedes :D.
Subir
Deja una respuesta