
No hace mucho tiempo, me mudé a Finlandia y decidí que necesitaba saber el idioma local. Estudio con el profesor en línea, todo va bien, el idioma no era tan complicado como parecía, pero quizás el mayor problema es el aumento del vocabulario. Al principio decidí usar las soluciones que son. Pero rápidamente se dio cuenta de que no eran muy adecuados para mí.
Tuve que escribir un pequeño bot para Telegram, que se puede usar para aprender casi cualquier idioma.
Lo que ya está allí y por qué no me gustó.
En primer lugar, no hay muchas aplicaciones de idiomas para el idioma finlandés. No quiero aprender el lenguaje de las aplicaciones basadas en contenido estático; tengo mis propios intereses, necesidades y deseos, que, por regla general, no coinciden con lo que ofrecen los autores de dichas aplicaciones.
Por lo tanto, decidí buscar programas simples para memorizar vocabulario. Traté de trabajar con
tarjetasizeize Flashcards ,
Quizlet y, por supuesto,
Anki .
No analizaré en detalle todos sus pros y sus contras, ya que estoy seguro de que son familiares para la mayoría, su esencia es simple y los problemas son los mismos. Solo recuerdo que estos son programas para recordar ciertos conceptos (no solo palabras de un idioma extranjero), basados en la idea de
tarjetas flash y
repetición de intervalos .
Traté bastante de tratar con estas aplicaciones, pero rápidamente noté que se dedicó un tiempo considerable a la creación de las tarjetas de diccionario. Tampoco podía usar kits ya preparados, ya que no se correspondían exactamente con mis tareas: no necesitaba ninguna palabra que estuviera en los kits, pero no necesitaba ninguna palabra.
También noté que uso principalmente un recurso de diccionario como
Wiktionary para crear tarjetas. Naturalmente, si usa algo constantemente, debería pensar en la automatización de este proceso.
Por lo tanto, la tarea era crear una aplicación que ayudara a crear tarjetas de diccionario, era simple y útil.
Lo que hice
Haga una reserva de inmediato: no soy un programador y, en términos de codificación, no tengo nada que compartir. Es por eso que decidí aprovechar al máximo las soluciones preparadas y no reinventar la rueda.
Para no participar en el front-end, decidí escribir un bot para Telegram, ya que escuché que esta plataforma es la más conveniente para escribir bots (si me equivoco, escriba los comentarios). Elegí Python 3.7 como lenguaje de programación y un contenedor
API de bot Telegram llamado
aiogram .
Como no escribí nada como esto antes, tuve que leer un poco, experimentar y lograr escribir un bot en unos pocos días.
Que paso
Resultó ser una herramienta útil (al menos para mí) para reponer el vocabulario.
Las funciones principales:
- cargando valores de wiktionary
- repetición de intervalo
- formación de la habilidad de reconocimiento de palabras (posesión pasiva)
- habilidades de escritura (conocimiento activo)
- trabajar con errores de propiedad pasivos y activos
- la capacidad de agregar valores arbitrarios (si el Wiktionary no tiene información, lo que generalmente ocurre con frases y palabras compuestas raras y neologismos)
- capacidad de trabajar con diferentes idiomas
A continuación, mostraré cómo funciona el bot, pero no aburriré con ejemplos del idioma finlandés, pero mostraré cómo funciona el bot con el idioma inglés.
Como funciona
Hasta ahora, el bot tiene una interfaz solo en inglés y el significado de las palabras también está en inglés. Por lo tanto, es más adecuado para aquellos que ya tienen un cierto nivel de dominio del idioma inglés; sin él, no podrás usar el bot.
Después de que el usuario lanzó el bot con el comando
/ start y leyó la pequeña ayuda sobre sus comandos (también disponible en cualquier momento con el comando
/ help ), debe seleccionar el idioma que aprenderá (
/ setlanguage ). El nombre del idioma debe estar escrito en inglés, por lo tanto, por ejemplo, escribo
finlandés , no
Suomi , cuando estudio palabras finlandesas.

Después de elegir un idioma, puede comenzar a agregar las palabras
/ addwords . Es simple: escribe una palabra y Wiktionary muestra una lista de significados (en inglés).
Puedes seleccionar un valor. Ahora puede seleccionar varios valores a la vez y agregar los suyos.

Después de agregar palabras, puede comenzar a estudiar vocabulario (
/ aprender ) y elegir la cantidad de palabras con las que me gustaría trabajar esta vez. El algoritmo de repetición de intervalos seleccionará las palabras más "olvidadas" (o recién agregadas) y ofrecerá estudiarlas. Si no hay palabras "olvidadas", puede repetir las aprendidas con el comando
/ test .

El estudio mismo de las palabras comienza con la formación de una habilidad pasiva: el reconocimiento de la palabra. El bot muestra la palabra y la tarea del usuario para recordar su significado. Si el usuario está seguro de que recuerda la palabra, entonces presiona
Recuerdo , si no está seguro de su conocimiento -
Mostrar significado .
Si el significado que se muestra de la palabra no era el que estaba pensando el usuario, entonces vale la pena admitirlo honestamente:
no, lo olvidé . Si algo similar gira en el idioma, puede informar al bot al respecto.
Sí, lo sabía .

Después de que se haya convertido en palabras que reconocen con confianza, el bot le ofrecerá proceder a la formación de la habilidad de escribir una palabra por su significado. Se le solicita al usuario que recuerde cómo se deletrea la palabra.

Como puede ver en la captura de pantalla anterior, cometí un error en la palabra. En este caso, el bot le pedirá que lo ingrese nuevamente hasta que deje de cometer errores. Por lo general, por segunda o tercera vez resulta escribir cualquier palabra. Bueno, quizás las palabras finlandesas más complejas y largas pueden requerir un poco más de esfuerzo.
Pero incluso después de que el usuario hace frente a todas las palabras, el bot no se dará por vencido. Todavía trabajo en los errores! Después de completar el ciclo principal, el bot ofrecerá una repetición fácil de lo que acaba de pasar sobre la base de los errores detectados.

Resultó ser bastante conveniente y útil, al menos para mí, una aplicación simple. No hay nada revolucionario, pero logré reducir el tiempo y el esfuerzo para agregar palabras. Sin embargo, no sacrifico la personalización de la capacitación, lo que inevitablemente sucede cuando tienes que agregar listas de palabras hechas por otra persona.
El trabajo sobre errores también me parece una adición bastante útil a la repetición de intervalos, ya que le permite corregir el error y corregir la palabra de inmediato, dentro de una sesión. Esto es muy importante, ya que un error no corregido en el tiempo puede "vivir" durante mucho tiempo e incluso convertirse en una habilidad mal formada.
Está claro que se podrían hacer más tareas. ¿Qué crees que valdría la pena agregar?
Que sigue
Todos estos sistemas, a pesar de su evidente utilidad, tienen sus propios grandes inconvenientes. Y están conectados, en primer lugar, con la falta de contexto para las palabras que se estudian.
Muchos se sienten muy atraídos por la idea esencialmente ingenua de que, por ejemplo, al estudiar 10 palabras al día, en un mes sabré 300 palabras y en un año, ¡tres mil quinientos! Por desgracia no. Una simple "descarga" de decenas y cientos de palabras en la cabeza no funciona. A lo largo de los millones de años de evolución, el cerebro ha aprendido cómo deshacerse de la basura de manera efectiva: todo lo que no se usa se olvida.
Por lo tanto, el uso correcto de herramientas como mi bot es que deberían ayudar a recordar el vocabulario ya
contextualizado .
Es decir, el algoritmo puede ser algo como esto: primero toma el texto, tratando de entenderlo. Luego estudias el vocabulario nuevo y más importante en "memorias" como mi bot. Y después de eso, continúe estudiando la palabra en contexto, por ejemplo, redacte sus textos, vuelva a contarlos, haga diálogos.
Solo de esta manera será posible avanzar y las palabras no le parecerán basura innecesaria a su cerebro. Debido a la falta de contexto, las listas de palabras compiladas por otra persona funcionan mal. Cree sus propios conjuntos de palabras, cuyo contexto le resulte claro.
Pero no cree conjuntos de palabras "temáticas" (por ejemplo, sobre los temas "colores" o "mascotas"). Es mejor hacer las listas "situacionales", es decir, aquellas en las que las palabras describen una situación (por ejemplo, "negro", "perro", "ladridos", "gato"). Naturalmente, tales listas se obtienen cuando trabaja con texto, incluso si es muy simple y pequeño. El texto en sí es el contexto para todas las palabras que contiene.
De esto se deduce que se puede dar un paso más en la automatización de la capacitación. Puede agregar palabras directamente desde el texto. Es decir, el usuario simplemente agrega el texto, y el sistema mismo determina qué palabras deben tomarse de allí (no necesariamente todas, existen varios criterios para la importancia de las palabras en el texto). ¿Qué opinas sobre esta característica? ¿Sería útil?
Casi lo olvido. El nombre del bot es
@OppiWordsBot . Me alegrará si lo prueba y me escribe sus comentarios, sugerencias y comentarios.
ACTUALIZARCreó un grupo en Telegram para comunicarse sobre el bot. Entra)
https://t.me/OppiWordsACTUALIZARAhora puede seleccionar varios valores a la vez y agregar los suyos.
ACTUALIZARSe agregó la capacidad de agregar palabras de las listas de vocabulario de frecuencias para aprender el idioma.
ACTUALIZARRellenó el código en github
https://github.com/tezer/OppiWordsBot