Bot de telegrama para aprender idiomas


Há pouco tempo, mudei-me para a Finlândia e decidi que precisava conhecer o idioma local. Eu estudo com o professor on-line, tudo está indo bem, o idioma não era tão complicado quanto parecia, mas talvez o maior problema seja o aumento do vocabulário. No começo eu decidi usar as soluções que são. Mas ele rapidamente percebeu que eles não eram muito adequados para mim.

Eu mesmo tive que escrever um pequeno bot para o Telegram, que pode ser usado para aprender praticamente qualquer idioma.

O que já está lá e por que eu não gostei.


Em primeiro lugar, não há muitos aplicativos de idiomas para o idioma finlandês. Não quero aprender a linguagem dos aplicativos criados com base no conteúdo estático - tenho meus próprios interesses, necessidades e desejos, que, em regra, não coincidem com o que os autores desses aplicativos oferecem.

Portanto, decidi procurar programas simples para memorizar vocabulário. Tentei trabalhar com Lexilize Flashcards , Quizlet e, claro, Anki .

Não analisarei detalhadamente todos os seus prós e contras, pois tenho certeza de que eles são familiares à maioria, sua essência é simples e os problemas são os mesmos. Lembro-me apenas de que são programas para lembrar de certos conceitos (não apenas palavras de uma língua estrangeira), baseados na idéia de cartões de memória flash e repetição de intervalo .

Tentei bastante lidar com esses aplicativos, mas rapidamente notei que era gasto um tempo considerável na criação dos próprios cartões de dicionário. Também não podia usar kits prontos, pois eles não correspondiam exatamente às minhas tarefas - não precisava de nenhuma palavra contida nos kits, mas não precisava de nenhuma palavra.

Também notei que uso principalmente um recurso de dicionário como o Wikcionário para criar cartões. Naturalmente, se você usa algo constantemente, deve pensar na automação desse processo.

Portanto, a tarefa era criar um aplicativo que ajudasse na criação de cartões de dicionário; era simples e útil.

O que eu fiz


Faça uma reserva imediatamente - não sou programador e, em termos de codificação, não tenho nada para compartilhar. Por isso, decidi aproveitar ao máximo as soluções prontas e não reinventar a roda.

Para não lidar com o front-end, decidi escrever um bot para o Telegram, pois soube que essa plataforma é a mais conveniente para escrever bots (se estiver enganado, escreva nos comentários). Eu escolhi o Python 3.7 como linguagem de programação e um invólucro da API bot do Telegram chamado aiograma .

Como não escrevi nada assim antes, tive que ler um pouco, experimentar e consegui escrever um bot em poucos dias.

O que aconteceu


Acabou sendo uma ferramenta útil (pelo menos para mim) para reabastecer o vocabulário.
As principais funções:

  • carregando valores do wiktionary
  • repetição de intervalo
  • formação da habilidade de reconhecimento de palavras (posse passiva)
  • habilidades de escrita (conhecimento ativo)
  • trabalhe com erros de propriedade passivos e ativos
  • a capacidade de adicionar valores arbitrários (se o Wikcionário não tiver informações, o que geralmente acontece com frases e palavras compostas raras e neologismos)
  • capacidade de trabalhar com diferentes idiomas

Em seguida, mostrarei como o bot funciona, mas não vou me cansar de exemplos do idioma finlandês, mas mostrarei como o bot funciona com o idioma inglês.

Como isso funciona


Até o momento, o bot tem uma interface apenas em inglês e o significado das palavras também está em inglês. Portanto, é mais adequado para aqueles que já possuem um determinado nível de proficiência no idioma inglês; sem ele, você não poderá usar o bot.

Depois que o usuário lançou o bot com o comando / start e leu a pequena ajuda em seus comandos (também disponível a qualquer momento com o comando / help ), você precisa selecionar o idioma que ele aprenderá ( / setlanguage ). O nome do idioma deve ser escrito em inglês; portanto, por exemplo, escrevo finlandês , não Suomi , quando estudo palavras finlandesas.



Depois de escolher um idioma, você pode começar a adicionar as palavras / addwords . É simples - escreva uma palavra e o Wikcionário exibe uma lista de significados (em inglês). Você pode selecionar um valor. Agora você pode selecionar vários valores ao mesmo tempo e adicionar seus próprios.



Depois de adicionar palavras, você pode começar a estudar o vocabulário ( / aprender ) e escolher o número de palavras com as quais gostaria de trabalhar neste momento. O algoritmo de repetição de intervalo selecionará as palavras mais "esquecidas" (ou apenas adicionadas) e oferecerá estudá-las. Se não houver palavras "esquecidas", você poderá repetir as aprendidas com o comando / test .



O próprio estudo das palavras começa com a formação de uma habilidade passiva - reconhecimento da palavra. O bot mostra a palavra e a tarefa do usuário de lembrar seu significado. Se o usuário tiver certeza de que se lembra da palavra, pressiona Lembro , se não tiver certeza do seu conhecimento - Mostrar significado .

Se o significado mostrado da palavra não era o que o usuário estava pensando, vale a pena admitir honestamente - Não, eu esqueci . Se algo semelhante girou no idioma, você pode informar o bot sobre isso - Sim, eu sabia .



Após você ter reconhecido palavras com confiança, o bot se oferecerá para prosseguir com a formação da habilidade de escrever uma palavra por seu significado. O usuário é solicitado a lembrar como a palavra está escrita.



Como você pode ver na imagem acima, cometi um erro na palavra. Nesse caso, o bot solicitará que você o insira novamente até que eu pare de cometer erros. Geralmente, pela segunda ou terceira vez, acaba por escrever qualquer palavra. Bem, talvez as palavras finlandesas mais complexas e longas possam exigir um pouco mais de esforço.

Mas mesmo depois que o usuário lida com todas as palavras, o bot não desiste dele. Ainda trabalho com os bugs! Após completar o ciclo principal, o bot oferecerá uma repetição fácil do que foi passado com base nos erros detectados.



Acabou sendo bastante conveniente e útil, pelo menos para mim, uma aplicação simples. Não há nada de revolucionário, mas consegui reduzir o tempo e o esforço para adicionar palavras. No entanto, não sacrifico a personalização do treinamento, o que inevitavelmente acontece quando você precisa adicionar listas de palavras feitas por outra pessoa.

O trabalho com erros também me parece uma adição bastante útil à repetição de intervalo, pois permite corrigir o erro e corrigir a palavra imediatamente, dentro de uma sessão. Isso é muito importante, pois um erro não corrigido no tempo pode "viver" por um longo tempo e até se transformar em uma habilidade incorretamente formada.

É claro que mais tarefas poderiam ser feitas. O que você acha que valeria a pena adicionar?

O que vem a seguir


Todos esses sistemas, por toda a sua óbvia utilidade, têm suas próprias desvantagens. E eles estão conectados, em primeiro lugar, com a falta de contexto para as palavras que estão sendo estudadas.

Muitos são muito atraídos pela idéia essencialmente ingênua de que, por exemplo, estudando 10 palavras por dia, em um mês conhecerei 300 palavras e em um ano - três mil e quinhentos! Infelizmente, não. Um simples "download" de dezenas e centenas de palavras na cabeça não funciona. Ao longo dos milhões de anos de evolução, o cérebro aprendeu como se livrar do lixo de forma eficaz: tudo o que não é usado é esquecido.

Portanto, o uso correto de ferramentas como o meu bot é que elas devem ajudar a lembrar o vocabulário já contextualizado .

Ou seja, o algoritmo pode ser algo assim - primeiro você pega o texto, tentando entendê-lo. Então você estuda o vocabulário novo e mais importante em "memórias", como o meu bot. E depois disso, continue estudando a palavra em contexto - por exemplo, componha seus textos, reconte, faça diálogos.

Somente assim será possível avançar e as palavras não parecerão lixo desnecessário para o seu cérebro. É por causa da falta de contexto que as listas de palavras compiladas por outra pessoa funcionam mal. Crie seus próprios conjuntos de palavras, cujo contexto é claro para você.

Mas não crie conjuntos de palavras "temáticas" (por exemplo, nos tópicos "cores" ou "animais de estimação"). É melhor tornar as listas “situacionais”, ou seja, aquelas em que as palavras descrevem uma situação (por exemplo, “preto”, “cachorro”, “latidos”, “gato”). Naturalmente, essas listas são obtidas quando você trabalha com texto, mesmo que seja muito simples e pequeno. O texto em si é o contexto de todas as palavras nele.

Daqui resulta que mais um passo pode ser dado na automação do treinamento. Você pode adicionar palavras diretamente do texto. Ou seja, o usuário simplesmente adiciona o texto e o próprio sistema determina quais palavras devem ser retiradas de lá (não necessariamente todas, existem vários critérios para a importância das palavras no texto). O que você acha desse recurso? Isso seria útil?

Eu quase esqueci. O nome do bot é @OppiWordsBot . Ficarei feliz se você testá-lo e me escrever seus comentários, sugestões e comentários.

ATUALIZAÇÃO
Ele criou um grupo no Telegram para se comunicar sobre o bot. Entre) https://t.me/OppiWords

ATUALIZAÇÃO
Agora você pode selecionar vários valores ao mesmo tempo e adicionar seus próprios.

ATUALIZAÇÃO
Foi adicionada a capacidade de adicionar palavras das listas de vocabulário de frequência para aprender o idioma.

ATUALIZAÇÃO
Preencha o código no github https://github.com/tezer/OppiWordsBot

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


All Articles