【.com原稿】近年来,人工智能大行其道,不少大中型企业纷纷布局。对于创业公司来说,要想有所建树,深耕垂直细分领域是关键。因为这里有大量的行业背景知识,即使巨头投入巨资,也需要先摸清行业情况。这个过程往往需要一年甚至更长的时间,这为创业公司赢得了大量的时间机会。对于这种情况,豪门可能更倾向于收购或注资,而不是自建球队。三年来,学霸君在教育行业积累了大量的行业知识,尤其是在学校业务方面,对学校情况非常熟悉。同时,由于学校业务需要,学霸君一直非常注重人工智能相关技术的研发。一般的人工智能技术很难做,但结合垂直行业场景,降低算法难度,让算法有用武之地。在这个过程中,我踩了很多坑,也收获了丰富的实践经验。本文将介绍学霸君在学校营业厅的几大应用:结构化题库构建、自动解题与知识图谱、自动批改作业、自适应学习。【结构化题库建设】结构化题型题库是教育公司的核心之一。对于市场上的大多数题库,问题数据是一个简单的字符串。为了真正还原题目的结构,学霸君选择使用json来描述题目的结构。一道题是由许多部分按照一定的规律组成的。下图所示的选择题由题干描述部分和选项部分组成。选项分为4个部分。使用json结构记录题目结构,可以将大题拆分成小题,可以准确定位每个填空题的位置等等。这样的题库可以为产品设计提供更多更灵活的使用条件。这种数据结构给题库的应用带来了好处,但是也增加了题库制作的成本,因为题录环节需要做题目的结构拆分和关联。为了降低成本,学霸君使用了大量的图像识别算法。下面的流程图是标题的简化输入过程。从图中可以看出,在很多关键环节都使用了识别算法来提高效率。例如,在结构化输入过程中,我们使用布局分析、OCR、公式识别等算法。所有问题首先会被算法识别为初步结果,由录入人员人工审核结果。如果正确,则直接跳过。局部修改,可大大提高输入人员的效率。目前的题库制作系统,对于任何一本教辅书,都可以在一天之内完成所有题目的结构化处理、制作和入库。没有系统和算法的支持,这几乎是不可能的。除了LaTex存储公式的题目结构问题,科学题目的公式也是一个重点。因为公式的结构和排版都比较复杂,所以很多题库都是用截图来存储公式。该方法丢失了公式的内容信息,存在图像缩放影响外观的问题。学霸君使用LaTex存储公式。LaTex是一种通用的排版规范,可以适用于各种排版场景。我们为K12中出现的所有公式和符号制定了一套基于LaTex的显示标准。基于这套标准,我们对MathJax开源工具进行了优化,使JS在网页上的渲染质量和效果达到理想的要求。除了JS渲染工具,学霸君还开发了基于C语言内核的LaTex渲染工具,并进一步封装成Android和iOS版本SDK。它的原理是解析LaTex文本转义为SVG矢量图形,然后交给网页渲染成最终结果。C语言内核的SDK渲染速度比JS快数倍,特别适合学校大规模使用的低端PAD。使用LaTex存储公式需要在输入问题时将问题以LaTex格式编目。这个人工成本非常高,尤其是需要算法的帮助。以往的公式识别算法都是先通过一些图像处理的方法将公式切割成单个的字符,然后对每个字符进行单独识别,最后通过二维空间的结构关系将字符组合成一个公式。这种算法有很多局限性。当角色粘在一起时,它不能很好地处理。基于空间结构的组合随着深度的增加而增加,计算复杂度呈几何级数增长。此外,字符可能存在识别错误??,导致无法从大量字符中学习。在候选列表中找到正确的结果。学霸君采用了端到端的识别方式,避免了以上所有问题。输入为整幅图像,输出为基于LaTex结构的公式识别结果。该算法的神经网络结构为CNN(卷积网络)+BLSTM(双向长短记忆模型)+CTC(时间序列分类)。为了训练模型,学霸君在学校收集了大量的学生手写公式数据,并标注为LaTex结构。这种网络模型目前也有局限性,不能准确识别非常复杂的公式。对于格式过于复杂的公式,我们通过空间结构关系拆分成几个简单的公式,然后分别使用端到端的方法。去鉴别,最后拼凑起来。【自动出题与知识图谱】除了结构化的格式,学霸君还希望题库中的每道题都能清楚的说明用到了哪些知识点,甚至希望知道题库的每一步用到了哪些知识点解决问题的过程。人类不可能完成每个问题和步骤来标记知识点。希望可以用算法代替人工实现,即采用自动解决问题的技术。自动解题大致分为理解、推导、表达三个步骤。整体流程如下图所示。理解题干的语义首先理解题干的语义,将题干的内容从自然语言翻译成形式化语言,这就是NLP的过程。开放式语义理解是科研界的难题,离实用化还有很长的路要走。但是在中学理科体系中,语言表达往往非常规范,这大大降低了NLP的难度。更重要的是,在开放的语义理解场景下,无法定义评价标准。缺乏客观标准会给训练带来很大的困难。但是在中学科学体系中,很容易定义是非,结合大量的数据,可以训练出一个理想的模型。题目中经常会遇到公式。如前所述,我们题库中的题式都是统一定义、标准化的LaTex格式,保证了机器能够准确识别公式内容。问题解决步骤的推理过程之后是问题解决步骤的推理过程。需要根据当前的所有条件获取所需的知识元信息。知识元是我们定义的最小的细分知识点。知识元是知识点的定义和特征的总和。例如,可以将圆作为知识元素,它具有直径、半径、周长、面积等属性。知道了它的直径,我们就可以计算它的半径、周长和面积。简单理解,知识元就是一个小的知识点。将所有当前条件组合在一起作为初始状态。根据当前所有知识元素的特性,可以推导出步骤来获得新的条件,然后状态不断变化。每次推导都有多种可能,哪种推导最好是由模型根据题干来决定的。每次状态切换后,比较是否得到最终答案,如果得到答案,则推导过程结束。推导过程与知识元素密切相关,中间状态的条件变化也会引入新的知识元素。表达过程最终就是表达过程,即将推导过程转化为标准的解题步骤,同时从几个不同的维度输出关键信息。比如每一个推导步骤都会标注使用到的知识点;在所有步骤中,根据该题所有知识要素的情况,找出几个最重要的步骤作为关键步骤;整合题目的所有知识元素,总结本题考察的教研层面的知识点(教研知识点是教师视角观察到的知识点,与知识不在同一个维度问题求解算法中的要素)。将解题技术封装到高考机器人中为了验证自动解题技术在实战中的效果,将解题技术封装到高考机器人中。2017年6月高考那天,我们的高考机器人和广大学生一起参加了高考。获得134分,是人工智能技术在教育行业应用的重要突破,受到了包括央视在内的各大媒体的关注和报道。知识图谱有自动解题技术,所有问题我们都可以标注知识点。教研室教师与技术类学生通力合作,形成涵盖所有知识点的四级知识体系。知识点之间存在层次关系,也存在依赖或关联,形成网络结构。这个知识体系可以通过自动解题技术与我们的题库关联起来,形成知识图谱。在这个知识图谱中,每个问题可以关联若干个知识点,每个知识点也可以关联若干个主题。借助知识图谱,系统可以为每个学生的作业和考试自动生成学习报告,从各个维度分析学生对知识点的掌握情况。【自动批改作业】点阵数码笔在学校的调研中,学霸君发现老师批改作业的负担非常重。他希望通过系统帮助老师批改作业,解放老师的时间和精力。系统批改作业怎么办?首先,有必要收集学生手写作业的数据,我们用点阵数字笔来完成。点阵数码笔需要在普通纸上打印一层几乎看不见的点阵图案。数位笔前端的高速摄像头随时捕捉笔尖的运动轨迹,同时结合压力传感器采集数据给处理器。将图像翻译成笔迹的坐标位置,最后将笔迹信息通过蓝牙传输到PAD。如下图所示,学生使用点阵数字笔做作业或考试,既不改变传统在纸上书写的习惯,同时又能将笔迹数据实时数字化。手写识别获取学生的手写数据后,通过排版图像处理技术将手写数据拆解成文本行,再通过在线手写识别技术识别出每一行的文字。在线手写识别也是采用了CNN(卷积网络)+BLSTM(双向长短记忆模型)+CTC(时间序列分类)模型,但具体实现上与之前的公式识别场景有所不同,尤其是输入图像序列部分在CNN中,学霸君采用了华南理工大学金教授论文中的Path-signature特征作为CNN的输入特征图序列。对于排版复杂的公式,也是先拆分成简单的文本行,识别后再组合。使用学生的真实笔迹数据进行训练。实践证明,实景数据的效果明显好于我们雇人来写。自动批改只识别学生的笔迹,不能完成自动批改,因为标准答案有很多变体。同一个标准答案在不同的表达方式下可能都是正确的,比如图中的例子。一个答案往往有十几种变体,需要大量的基础教研知识。系统识别出标准答案后,通过数学符号语言处理等算法自动生成所有同义词。将学生笔迹的最终答案与标准答案的所有同义词进行匹配比较,找出结果相同的词。匹配过程还需要考虑到学生手写的最终答案可能包含一些冗余词。对于回答问题,也希望能按步骤改正。这很难做到。学霸君采用了与关键步骤相匹配的折衷方案。通过自动解题技术,可以获得解题过程的关键步骤。为了提高批改的准确性,只选取少量的关键步骤,并将关键步骤与学生的解题步骤相匹配。最终问题的分数是关键步骤的分数加上答案的分数。【自适应学习】随着学生不断使用学霸君的题库做题(作业、考试等),系统可以持续收集学生的学习行为数据。有了这些数据,就可以实现适应性学习,即人格化学学习。这里使用传统的IRT模型。IRT理论即项目反应理论(ItemResponseTheory),又称项目反应理论,是一系列心理统计学模型的总称。IRT是一种用于分析考试成绩或问卷数据的数学模型,目前广泛应用于心理和教育测量领域。通过IRT模型,结合大量学生数据,可以分析每道题的难易程度和学生的能力。结合知识图谱系统,可以进一步分析学生在各个知识点的能力,即学生的知识点能力模型。使用此模型,对于任何新问题,都可以预测学生正确回答问题的概率。这样,就可以给学生推荐一道难度适中、适合自己的题目。没有必要在太简单或太难的问题上浪费时间。.对于具有丰富行为数据的区域和学科知识模块,可以直接使用RNN模型进行训练。输入是学生问题序列的特征数据,输出是每道题是否正确的预测。当数据量大且比较均匀时,RNN模型的效果会比较理想。随着用户行为数据的不断收集,用户对产品的使用越来越规范,相信RNN模型是未来的发展方向。【结语】以上是学霸君对人工智能算法与教育行业结合的一些探索。有些算法看似难懂,但在垂直场景中运用得当,与工程项目深度结合,可以获得理想的效果。学霸君始终认为,人工智能在创业公司的落地,离不开与业务场景的深度融合。我们的算法工程师不仅可以写代码,还可以备考卷子。只有这样,我们才能保持独特的竞争力,在行业中取得突破。【苗广义简介】苗广义,中科院硕士生,曾在搜狐、YY、奇虎360工作。目前担任学霸君科技副总裁,负责人工智能相关算法的研发,以及基础技术在业务场景的落地。带领团队在国内率先研发适用于手机拍照各种复杂场景的文字识别算法,为学霸君的题库和教研系统搭建基础数据结构和算法服务,并应用于各业务线,同时引领Ai学习智慧教育平台技术团队研发了自动批改、自适应学习等多项前沿技术,为AiLearning业务奠定了技术基础。更多AI内容,请关注公众号:AIPusher【原创稿件,合作网站转载请注明原作者和出处为.com】
