
不久前,我移居芬兰,决定需要了解当地语言。 我和老师一起在线学习,一切都进行得很好,语言没有看上去的复杂,但是最大的问题可能是词汇量的增加。 最初,我决定使用现有的解决方案。 但是他很快意识到它们不太适合我。
我必须自己为Telegram编写一个小型机器人,该机器人可以用来学习几乎所有语言。
已经有什么,为什么我不喜欢它。
首先,芬兰语的语言应用并不多。 我不想学习围绕静态内容构建的应用程序的语言-我有自己的兴趣,需求和期望,通常,这些兴趣,需求和期望与此类应用程序的作者所提供的不符。
因此,我决定考虑使用简单的程序来记忆词汇。 我尝试使用
Lexilize抽认卡 ,
Quizlet ,当然还有
Anki 。
我不会详细分析它们的所有优缺点,因为我相信他们对大多数人是熟悉的,其本质很简单,问题是相同的。 我只记得这些是基于
闪存卡和
间隔重复的想法来记住某些概念(而不仅仅是外语单词)的程序。
我非常努力地处理了这些应用程序,但是很快发现在字典卡本身的实际创建上花费了大量时间。 我也不能使用现成的工具包,因为它们与我的任务不太相符-我不需要工具包中的任何文字,但我也不需要任何文字。
我还注意到,我主要使用
Wiktionary之类的词典资源来创建卡片。 自然,如果您不断使用某些东西,那么您应该考虑该过程的自动化。
因此,任务是创建一个简单易用的应用程序,该应用程序将有助于创建字典卡。
我做了什么
立即预约-我不是程序员,在编码方面我没有什么可分享的。 这就是为什么我决定充分利用现成的解决方案,而不是重新发明轮子的原因。
为了不与前端打交道,我决定为Telegram编写一个bot,因为听说该平台最适合编写bot(如果我记错了,请在注释中写)。 我选择Python 3.7作为编程语言,并选择了称为
aiogram的
Telegram机器人API包装器。
由于我之前没有写过类似的东西,所以我不得不阅读一些内容,进行实验,并在几天之内设法编写了一个机器人。
发生什么事了
事实证明,它是补充词汇量的有用工具(至少对我而言)。
主要功能:
- 从wiktionary加载值
- 间隔重复
- 单词识别技能的形成(被动拥有)
- 写作技巧(主动知识)
- 处理被动和主动所有权错误
- 可以添加任意值的功能(如果维基词典没有信息,通常是短语,罕见的复合词和新词)
- 能够使用不同语言
接下来,我将展示该机器人的工作原理,但不会涉及芬兰语中的示例,而是展示该机器人如何使用英语。
如何运作
到目前为止,该机器人仅具有英文界面,单词的含义也为英文。 因此,它更适合那些已经具备一定英语水平的人;没有它,您将无法使用该机器人。
用户使用
/ start命令
启动漫游器并阅读其命令上的小帮助(也可以通过
/ help命令随时获取)后,您需要选择他将学习的语言(
/ setlanguage )。 语言的名称必须用英语书写,因此,例如,当我学习芬兰语单词时,我写的是
芬兰语而不是
Suomi 。

选择语言后,您可以开始添加单词
/ addwords 。 很简单-写一个单词,然后维基词典显示含义列表(英语)。
您可以选择一个值。 现在,您可以一次选择多个值并添加自己的值。

添加单词后,您可以开始学习词汇(
/ learning )并选择这次我想使用的单词数。 间隔重复算法将选择最“被遗忘”的单词(或刚添加的单词)并提供对其进行研究。 如果没有“忘记”的单词,您可以重复使用
/ test命令学习到的单词。

对单词的研究始于被动技能的形成-单词的识别。 机器人显示单词和用户记住单词含义的任务。 如果用户确定自己记得单词,那么如果他不确定自己的知识,请按“
我记得” -
显示含义 。
如果显示的单词含义不是用户正在考虑的含义,那么值得坦白地承认它-
不,我忘记了它 。 如果在语言中出现类似现象,您可以将其告知机器人-
是的,我知道 。

在您自信地识别单词后,该机器人将主动提出通过其含义来书写单词的技能。 提示用户回忆单词的拼写方式。

正如您在上面的屏幕截图中所看到的,我在单词中弄错了。 在这种情况下,机器人会提示您再次输入它,直到我停止犯错为止。 通常是第二次或第三次写下任何单词。 好吧,也许最复杂,最长的芬兰语可能需要更多的努力。
但是,即使在用户处理完所有单词之后,机器人也不会放弃他。 仍然可以解决错误! 在完成主周期后,机器人将根据检测到的错误轻松重复刚刚通过的过程。

事实证明,这至少对我来说是一个简单的应用程序,非常方便且有用。 它没有革命性的内容,但是我设法减少了添加单词的时间和精力。 但是,我不会牺牲培训的个性化,当您必须添加其他人的单词列表时,不可避免地会发生这种情况。
在我看来,对错误进行处理似乎对间隔重复也是非常有用的补充,因为它使您可以在一个会话中解决错误并立即修复单词。 这一点非常重要,因为时间上未纠正的错误可能会“持续存在”很长时间,甚至会发展为形式不正确的技能。
显然,可以完成更多任务。 您认为值得添加什么?
接下来是什么
所有这些系统,尽管具有明显的用处,但都有其自身的巨大缺点。 首先,它们与所研究单词的上下文缺乏联系在一起。
天真的想法吸引了许多人,例如每天学习10个单词,一个月内我会知道300个单词,而一年中则是三百零五个! las,不。 简单地将数十个单词和数百个单词“下载”到头部是行不通的。 在数百万年的进化中,大脑已经学会了如何有效清除垃圾:遗忘了所有未使用的东西。
因此,正确使用工具(例如我的机器人)是它们应有助于记住已经
上下文化的词汇。
也就是说,该算法可能是这样的-首先,您取文本,试图理解它。 然后,您像我的机器人一样,在“回忆录”中学习最重要的新词汇。 然后,继续研究上下文中的单词-例如,撰写文本,讲述,进行对话。
只有这样,才有可能继续前进,而言语在您的大脑中不会显得多余。 正是由于缺乏上下文,其他人编制的词表工作不佳。 创建自己的单词集,其上下文对您很清楚。
但是,请勿创建“主题”词集(例如,在主题“颜色”或“宠物”上)。 最好将列表设置为“情境”,即用单词描述情况的列表(例如,“黑色”,“狗”,“树皮”,“猫”)。 自然地,即使您使用的是非常简单且很小的文本,也可以在使用文本时获得这些列表。 文本本身就是其中所有单词的上下文。
由此可见,可以在培训自动化中采取进一步的步骤。 您可以直接从文本中添加单词。 也就是说,用户只需添加文本,然后系统本身就确定应该从此处取用哪些单词(不一定所有单词,对于单词在文本中的重要性都有各种标准)。 您如何看待此功能? 这会有所帮助吗?
我差点忘了 机器人名称为
@OppiWordsBot 。 如果您进行测试并将您的评论,建议和评论写给我,我将非常高兴。
更新他在Telegram中创建了一个小组来交流有关该机器人的信息。 进来)
https://t.me/OppiWords更新现在,您可以一次选择多个值并添加自己的值。
更新新增了从频率词汇表中添加单词以学习该语言的功能。
更新在github
https://github.com/tezer/OppiWordsBot上填充代码