Bot télégramme pour l'apprentissage des langues


Il n'y a pas si longtemps, j'ai déménagé en Finlande et j'ai décidé que je devais connaître la langue locale. J'étudie avec l'enseignant en ligne, tout se passe bien, la langue n'était pas aussi compliquée qu'il n'y paraissait, mais le plus gros problème est peut-être l'augmentation du vocabulaire. Au début, j'ai décidé d'utiliser les solutions qui existent. Mais il s'est vite rendu compte qu'ils ne me convenaient pas très bien.

J'ai dû écrire moi-même un petit bot pour Telegram, qui peut être utilisé pour apprendre presque toutes les langues.

Ce qui est déjà là et pourquoi je ne l'aimais pas.


Premièrement, il n'y a pas beaucoup d'applications linguistiques pour la langue finnoise. Je ne veux pas apprendre le langage des applications construites autour de contenu statique - j'ai mes propres intérêts, besoins et désirs, qui, en règle générale, ne coïncident pas avec ce que proposent les auteurs de ces applications.

Par conséquent, j'ai décidé de chercher des programmes simples pour mémoriser le vocabulaire. J'ai essayé de travailler avec Lexilize Flashcards , Quizlet et, bien sûr, Anki .

Je n'analyserai pas en détail tous leurs avantages et inconvénients, car je suis sûr qu'ils sont familiers à la majorité, leur essence est simple et les problèmes sont les mêmes. Je rappelle seulement que ce sont des programmes pour se souvenir de certains concepts (pas seulement des mots d'une langue étrangère), basés sur l'idée de cartes flash et de répétition d'intervalles .

J'ai fait de gros efforts pour gérer ces applications, mais j'ai rapidement remarqué qu'un temps considérable avait été consacré à la création des cartes dictionnaire elles-mêmes. Je ne pouvais pas non plus utiliser de kits prêts à l'emploi, car ils ne correspondaient pas tout à fait à mes tâches - je n'avais pas besoin de mots qui étaient dans les kits, mais je n'avais pas besoin de mots.

J'ai également remarqué que j'utilise principalement une ressource de dictionnaire comme le Wiktionnaire pour créer des cartes. Naturellement, si vous utilisez constamment quelque chose, vous devriez penser à l'automatisation de ce processus.

Par conséquent, la tâche était de créer une telle application qui aiderait à la création de cartes dictionnaire, c'était simple et utile.

Ce que j'ai fait


Faites immédiatement une réservation - je ne suis pas programmeur et en termes de codage je n'ai rien à partager. C'est pourquoi j'ai décidé de tirer le meilleur parti des solutions toutes faites et de ne pas réinventer la roue.

Afin de ne pas traiter avec le front-end, j'ai décidé d'écrire un bot pour Telegram, car j'ai entendu que cette plate-forme est la plus pratique pour écrire des bots (si je me trompe, écrivez dans les commentaires). J'ai choisi Python 3.7 comme langage de programmation et un wrapper d' API Telegram bot appelé aiogram .

Comme je n'avais jamais rien écrit de tel auparavant, j'ai dû lire un peu, expérimenter et j'ai réussi à écrire un bot en quelques jours.

Qu'est-il arrivé?


Il s'est avéré être un outil utile (au moins pour moi) pour reconstituer le vocabulaire.
Les fonctions principales:

  • chargement de valeurs à partir de wiktionary
  • répétition d'intervalle
  • formation du mot reconnaissance (possession passive)
  • compétences en rédaction (connaissances actives)
  • travailler avec des erreurs de propriété passive et active
  • la possibilité d'ajouter des valeurs arbitraires (si le Wiktionnaire ne contient pas d'informations, ce qui se produit généralement avec des phrases et des mots composés rares et des néologismes)
  • pouvoir travailler avec différentes langues

Ensuite, je montrerai comment fonctionne le bot, mais je ne m'ennuierai pas avec des exemples de la langue finnoise, mais je montrerai comment le bot fonctionne avec la langue anglaise.

Comment ça marche


Jusqu'à présent, le bot a une interface uniquement en anglais et la signification des mots est également en anglais. Par conséquent, il convient mieux à ceux qui ont déjà un certain niveau de maîtrise de la langue anglaise; sans lui, vous ne pourrez pas utiliser le bot.

Après que l'utilisateur a lancé le bot avec la commande / start et lu la petite aide sur ses commandes (également disponible à tout moment avec la commande / help ), vous devez sélectionner la langue qu'il apprendra ( / setlanguage ). Le nom de la langue doit être écrit en anglais, par conséquent, par exemple, j'écris le finnois , pas le suomi , lorsque j'étudie les mots finnois.



Après avoir choisi une langue, vous pouvez commencer à ajouter les mots / addwords . C'est simple - écrivez un mot et le Wiktionnaire affiche une liste de significations (en anglais). Vous pouvez sélectionner une valeur. Vous pouvez maintenant sélectionner plusieurs valeurs à la fois et ajouter les vôtres.



Après avoir ajouté des mots, vous pouvez commencer à étudier le vocabulaire ( / apprendre ) et choisir le nombre de mots avec lesquels je voudrais travailler cette fois. L'algorithme de répétition d'intervalle sélectionnera les mots les plus «oubliés» (ou juste ajoutés) et proposera de les étudier. S'il n'y a pas de mots "oubliés", vous pouvez répéter ceux appris avec la commande / test .



L'étude même des mots commence par la formation d'une compétence passive - la reconnaissance du mot. Le bot montre le mot et la tâche de l'utilisateur de se souvenir de sa signification. Si l'utilisateur est sûr qu'il se souvient du mot, alors il appuie sur Je me souviens , s'il n'est pas sûr de ses connaissances - Montrer le sens .

Si la signification montrée du mot n'était pas celle à laquelle l'utilisateur pensait, alors cela vaut la peine de l'admettre honnêtement - Non, je l'ai oublié . Si quelque chose de similaire a tourné dans la langue, vous pouvez en informer le bot - Oui, je le savais .



Après avoir reconnu les mots en toute confiance, le bot vous proposera de procéder à la formation de l'habileté d'écrire un mot par sa signification. L'utilisateur est invité à rappeler comment le mot est orthographié.



Comme vous pouvez le voir sur la capture d'écran ci-dessus, j'ai fait une erreur dans le mot. Dans ce cas, le bot vous demandera de le saisir à nouveau jusqu'à ce que j'arrête de faire des erreurs. Habituellement, pour la deuxième ou la troisième fois, il s'avère que n'importe quel mot est écrit. Eh bien, peut-être que les mots finlandais les plus complexes et longs peuvent nécessiter un peu plus d'effort.

Mais même après que l'utilisateur ait maîtrisé tous les mots, le bot ne l'abandonnera pas. Toujours travailler sur les bugs! Après avoir terminé le cycle principal, le bot offrira une répétition facile de ce qui vient d'être passé sur la base des erreurs détectées.



Il s'est avéré être assez pratique et utile au moins pour moi une application simple. Il n'y a rien de révolutionnaire, mais j'ai réussi à réduire le temps et les efforts pour ajouter des mots. Cependant, je ne sacrifie pas la personnalisation de la formation, ce qui se produit inévitablement lorsque vous devez ajouter des listes de mots rédigées par quelqu'un d'autre.

Le travail sur les erreurs me semble également être un ajout très utile à la répétition d'intervalles, car il vous permet de corriger l'erreur et de corriger le mot immédiatement, en une seule session. Ceci est très important, car une erreur non corrigée dans le temps peut «vivre» pendant longtemps et même devenir une compétence mal formée.

Il est clair que davantage de tâches pourraient être accomplies. À votre avis, que vaut-il la peine d'ajouter?

Et ensuite


Tous ces systèmes, malgré leur utilité évidente, ont leurs propres inconvénients. Et ils sont liés, tout d'abord, au manque de contexte des mots étudiés.

Beaucoup sont très attirés par l'idée essentiellement naïve que, par exemple, en étudiant 10 mots par jour, en un mois je connais 300 mots et en un an - trois mille et demi! Hélas, non. Un simple «téléchargement» de dizaines et de centaines de mots dans la tête ne fonctionne pas. Au cours des millions d'années d'évolution, le cerveau a appris à se débarrasser efficacement des déchets: tout ce qui n'est pas utilisé est oublié.

Par conséquent, l'utilisation correcte d'outils tels que mon bot est qu'ils devraient aider à se souvenir du vocabulaire déjà contextualisé .

Autrement dit, l'algorithme peut être quelque chose comme ça - d'abord vous prenez le texte, en essayant de le comprendre. Ensuite, vous étudiez le vocabulaire nouveau et le plus important dans des «mémoires» comme mon bot. Et après cela, continuez d'étudier le mot dans son contexte - par exemple, composez vos textes, relisez, faites des dialogues.

Ce n'est que de cette façon qu'il sera possible d'avancer et les mots ne vous sembleront pas inutiles. C'est à cause du manque de contexte que les listes de mots compilées par quelqu'un d'autre fonctionnent mal. Créez vos propres ensembles de mots, dont le contexte est clair pour vous.

Mais ne créez pas de jeux de mots «thématiques» (par exemple, sur les thèmes «couleurs» ou «animaux de compagnie»). Il est préférable de rendre les listes «situationnelles», c'est-à-dire celles où les mots décrivent une situation (par exemple, «noir», «chien», «aboiements», «chat»). Naturellement, ces listes sont obtenues lorsque vous travaillez avec du texte, même s'il est très simple et petit. Le texte lui-même est le contexte de tous les mots qu'il contient.

Il en résulte qu'une étape supplémentaire peut être franchie dans l'automatisation de la formation. Vous pouvez ajouter des mots directement à partir du texte. Autrement dit, l'utilisateur ajoute simplement le texte, et le système lui-même détermine quels mots doivent être pris à partir de là (pas nécessairement tous, il existe différents critères pour l'importance des mots dans le texte). Que pensez-vous de cette fonctionnalité? Serait-ce utile?

J'ai presque oublié. Le nom du bot est @OppiWordsBot . Je serai heureux si vous le testez et écrivez-moi vos commentaires, suggestions et commentaires.

MISE À JOUR
Il a créé un groupe dans Telegram pour communiquer sur le bot. Entrez) https://t.me/OppiWords

MISE À JOUR
Vous pouvez maintenant sélectionner plusieurs valeurs à la fois et ajouter les vôtres.

MISE À JOUR
Ajout de la possibilité d'ajouter des mots à partir des listes de vocabulaire de fréquence pour apprendre la langue.

MISE À JOUR
Rempli le code sur github https://github.com/tezer/OppiWordsBot

Source: https://habr.com/ru/post/fr471196/


All Articles