Sberbank AI旅程。 我们如何教神经网络参加考试

如果您在使用USE时从高中毕业,那么您会知道其中的所有任务都有一套标准公式,并按类型进行了排序。 一方面,这使考试准备更加容易:学生已经知道在做作业时甚至不阅读其条件。 另一方面,问题顺序的任何改变都可能导致他出现问题。 粗略地说,结果开始受到一个人对自动化的决策程度的影响,而不是他的推理方式的影响。 考试就像脚本一样。



图片

AI Journey会议的框架中我们决定举办一项竞赛,以开发一种可以通过考试的算法,而该算法不会比一个人差。 为参与者提供了任务的测试版本,可用于验证解决方案和进行培训。 作为Sberbank的员工,我们无法索取奖金 ,但是尽管如此,我们还是设法解决了这个问题,并想谈一谈如何做到这一点。 扰流板-我们收到的证书。



一点理论


神经网络在当今任何任务上的应用已经是该系列的一个故事:“从来没有这样的事情,现在又是这样。” 但是,实际上应该将神经网络的哪些新任务应用于其中?


从历史上看,理论家在人工智能方面拥有以下能力:


  • 面对不确定性的决策
  • 自我学习
  • 经营有关世界的知识库
  • 多学科性,联合处理来自不同来源(文本,图片,声音)的信息

隐喻“大脑就像一台计算机”在很大程度上决定了这些要求,除了训练以外,没有一个是AI \ (() / 完全实现的。
近年来,您可以观察到创建更复杂系统的首次尝试-例如,来自艾伦学院的Aristo 90%完成了八年级常识测试。


期末考试中有27项以俄语授课的任务,其中26项是可以选择答案或公开答案的任务,您可以在其中输入自己的版本,最后是一篇文章。 也就是说,第一个任务始终是关于文本的含义,第四个任务是关于重点,第七个任务是关于常见语音错误,等等。 这项任务使机器学习系统处于“中学生”的境地,您需要提前获得一组基本的技能和知识,然后使用它们正确回答问题。


要通过俄语,学生必须:


  • 学习正确书写和说话,
  • 学会组织思想
  • 了解文本中的逻辑联系,了解样式,拼写,正统等,
  • 阅读从令人印象深刻的文学作品列表,从最著名的古代俄罗斯文学古迹到现代作品,并进行主要作品,情节,问题或注销的工作

知道现代的NLP方法仍然可以应付许多此类任务,我们决定尝试一下。


我们收到的所有数据均以json格式呈现,经过标准化,并包含清晰的措辞和文本,您需要根据这些措辞和文本来完成任务,如果问题提供了答案,则可以选择答案。



Yandex.Tutor的屏幕截图


任务中的问题对于机器而言过于繁琐-您不仅需要执行任务-查找文本中的错误并进行更正,放置缺失的字母,查找符合给定条件的句子,而且还要正确写下答案。 这可能是表达式本身有错误,或者相反是没有错误的示例,这些示例的数量,句子的升序等。 然后我们想起了经典:


在提出问题的艺术中,立法委员Goracek是一位真正的专家。 他强迫门徒倒列出主的十诫或要求:
-路德维克,快回答,反派,在“不要杀人”之前,第三条诫命到底是什么?
雅罗斯拉夫·哈塞克(Yaroslav Hasek),“上帝律法的教训”


我们在基线如何处理?


答: ʞɐɯnʞɐɯɔʞɐɯ和



由于任务类型不超过27种,我们在训练数据上创建了一个json解析器,该语法从整个任务文本中选择确切的措词-做什么和怎么做-并在这些公式上创建了n-gram单词和SVM上最简单的线性分类器(支持向量机),它可以预测工作编号,并且系统会收到工作和响应格式: https : //github.com/sberbank-ai/ai-journey-2019


潜在地,我想在解决方案的这一部分中采用注意力机制或类似的方式,以便在表述和问题类型之间找到联系。 我们希望其中一位参与者实施这样的解决方案。



决策评估


在评估这种解决方案时,为了与人比较,不使用常规的分类指标(准确性,f度量),而是采用100分的评分量表 ,其中汇总了正确完成任务的点数。


问题解决方案将自动检查,最后的论文该怎么办? 来自莫斯科和新西伯利亚的教师和方法学家参加了比赛框架内的论文评估。 他们根据独立标准评估收集的论文,包括拼写,标点,文本的逻辑连贯性,文学论点的存在以及作者的立场。 一般来说,一切都像在学校一样。


基线设计


在实现json解析器和问题分类器之后,我们收到了特定类型的任务。 他们归结为以下列表:


  • 检查拼写,插入字母,更正错误(H和HH,NOT和NI一起-分别,根源交替出现等);
  • 在上下文中理解多值单词的含义(上下文中选择答案);
  • 突出文本中的主要思想(从句子列表中选择);
  • 放置标点符号(选择需要逗号,破折号等的位置);
  • 强调单词(发现错误);
  • 在示例中找到语法错​​误,并指出其类型(相关);
  • 注销文本各部分之间的联盟(基于文本的逻辑);
  • 在文本上写一篇文章(找出问题并加以揭示)。

进一步使用对等方法,我们将所有类型的任务都简化为众所周知的文本处理方法。


嵌入器

嵌入器(word2vec,fasttext,GloVe)用于获取单个单词,句子和文本的矢量表示。 我们在pytorch上使用BERT-通用转换器,更常用于获取单词的属性(来自Google)。 在需要理解多值单词的含义,突出显示文本中最有意义的句子等任务的情况下,此类转换器可提供很高的效果。 -通过余弦度量将任务简化为最接近嵌入的选择。


语言模型

语言模型可以提供有关下一个单词,句子相乘的概率的有用信息。 结合考试,它们可用于检测和纠正语音错误(用频率相似的频率片段代替非频率片段)并生成文本。 在基线中,我们使用了俄语国家语料库n元语法的频率基础,从中选择了规范性单词,而那些缺席的单词则被认为是错误的候选者。 我们还使用此基础将丢失的字母替换为单词。 为了生成论文文本,我们还采用了“通用模型” -ULMFit 。 这是fast.ai的多个dropout LSTM,非常适合生成序列。 我们对她进行了文学方面的学校论文培训,这些论文是我们在线收集的。 事实证明,虽然毫无意义,但几乎没有错误。


形态和语法解析器

为了确定词的词性,大小写,数字,性别,词的正常形式以及词之间的联系,我们使用了pymorphy2和UDPipe。


分类器

标点符号的任务可以简化为分类-将逗号放置在特定位置或不放置逗号,按破折号设置规则,等等。


我们使用以下类型的体系结构解决了两种任务:


暹罗神经网络在输入端接收一对句子的两个BERT嵌入,根据一条规则确定是否设置破折号,冒号。


CatBoost分类器接收一个输入窗口,该窗口用于输入长度为6的部分语音标签(形式为“名词动词名词ADJ名词”),并决定是否在中间加逗号。


知识库

学生需要记住和学习的东西,我们从开源中收集到:


1本正统字典(重音)-与学校课程相同。


2序言词典-文学手段:从文学网站上搜集的同义词,反义词,近义词,词组等。


3关于文学的学校论文集-用于生成模型的进一步教育。


组成模型

文本生成,摘要,主题建模。 这里的思想范围很大。 最后,如上所述,我们采用了ULMFit来生成文本。 但论文应在正文中并符合许多标准。 如果我们假设由于ULMFit而获得了文本的拼写和连贯性,那么至少作者和我们的工作以及此文本的立场和主题连贯性仍然存在。



我们解决了以下子任务:


  • LDA +准备好第一个词组 。 收集的学校论文版本根据n-gram单词分为我们已解释的30个主题。 每个主题都与一个或两个作者在一个相关主题上的作品有关-有关俄罗斯的命运,人民的处境,陀思妥耶夫斯基的作品,A。Akhmatova的作品及其对20世纪俄罗斯文化的意义等。
  • TextRank +模板 。 汇总算法从给定的文本中抽取出2-3个最有意义的句子,并将这些句子插入到具有作者位置的框架引号中的一组模板。

最终准备工作:主题模型确定文本的主题,并为生成模型提供第一个短语。 生成模型将接收第一句话,并将其继续到合成结束。 然后,摘要模型在此文本中插入第二段,以反映作者的立场。


这是我们在这样的模型上获得的典型组成的示例(模板用斜体表示,主题模型的第一个词用粗体表示)。


战争中人的命运,对家园的热爱,对母亲的热爱是托尔斯泰 (那些离开他的人) 感兴趣的话题 。 两位王子安德烈·托尔斯泰(Pierre and Andrei)经历了战争。 邪恶的人际关系也不是在其过程中,而是生活,公民和道德标准。 自由在于他们是一个善良和可怕的人,一种开放和背叛的感觉。 他们是自由-从上帝到拿破仑,对他来说-拿破仑。 它带来了好与坏,所以伟大的英雄组成了同一个人的代表。

作者用以下句子的例子来说明这个问题: “当我说一个人不应该违背自己的良心,不应该与她打交道时,我根本不是说一个人不能或不应犯错,绊倒。” “我回答她,写伟人的错误不仅是可能的,而且是必要的,一个人之所以伟大,并不是因为他没有在任何事情上犯错。” 在我看来,读者会观察作者在句子中的立场: “但是,即使您未能保持青春的荣誉,您也可以而且必须在成年后重新获得荣誉,打破自我,找到勇于接受错误的勇气和勇气。”

战争是应赋予人另一种普遍服务的可能性的人格部分。 未来是解放,对自由的渴望,对家园的热爱。 这是对祖国可能性的一种信念。 可以说,尽管有基督教,但皮埃尔无法破坏历史进程,但实际上他这样做。 1812年的托尔斯泰战争说明了新拿破仑如何在简单的民间环境和人民中进行斗争。

我们面对整个俄罗斯,诺夫哥罗德是俄罗斯的一部分。 他拥有的主要思想是俄罗斯人民与自然的联系。 托尔斯泰的小说《战争与和平》是一部与社会问题密切相关的作品,生活在于声音,善与恶的事实-所有这些并没有掩盖托尔斯泰。 陀思妥耶夫斯基写道,对于托尔斯泰来说,这是一种政治立场。 作者将自己的位置放在小说中:在这里,作家展示了身处祖国墙后的人们。 托尔斯泰为此举了一个例子,并举了第一个和主要人物的例子。

产生的基准架构


最终解决方案具有以下逻辑:


  1. 传入作业由分类器键入-它的类型为1到27。
  2. 27个任务中的每一个都有其自己的求解器-具有任务公式解析的脚本,该脚本从可用的ML模型和知识库中接收必要的信息,并以正确的格式发布答案。

所有求解器的模型和知识库库是通用的,它一次加载到内存中。



结果如何?


基线(到目前为止,没有论文验证)在100分中占27分-超过60个团队利用了基本解决方案。 根据期末考试的标准,要获得证书,您需要获得24分,而向大学提交文件则需要至少36分。 这个标记现在已经超过了2个最佳团队。




许多参与者将我们的解决方案用作基本的,改进和完善的方法。 如果您对人工智能感兴趣,并准备尝试完成这项有趣的任务,那么您还有几周的时间! 而且我们自己将继续改进模型, 以昵称CDS_team淘汰竞争对手


决赛的决赛将于11月8日至9日在莫斯科举行的AI Journey会议上举行。 在此处注册竞赛和会议。

Source: https://habr.com/ru/post/zh-CN471742/


All Articles