2016 年 4 月 16 日,又拍云 Open Talk NO.21 期活动落地上海,本期活动主题为“在线教育:技术让知识触手可及”,学霸君资深研究员姜波作了《耳目一新的在线答疑服务背后的核心技术》的分享,以下是分享实录:

今天首先给大家讲讲这几年我们是怎么样发展的,然后再给大家交流我们第一个拍照搜题核心技术,还有 1V1 的实时答疑核心技术,然后小结一下演讲。

学霸君简史

image.png

我们公司 2012 年 11 月份成立,CEO 张凯磊在天津组建团队,他以前是做教育这一块的,所以当时考虑的还是做教育这块,经过一系列的头脑风暴选择了学生课后作业、试卷答疑等高频需求为目标。

2013 年,我们的第一版拍照搜题 APP 上线,那个时候还是半人工的,我们虽然有机器拍照搜题的能力,但还是有机器无法解决问题的时候,这就要调动人工答疑部门,帮他们进行收集或者答题,给答案。 

2014 年 5 月 30 日,我们上线了很重要的版本,这个版本是完全的自动化系统。在这个系统里面,我们将会完完全全用电脑和服务器完成,包括从用户拍照到上传图片,到数据分析,到题库搜索,到给出答案等过程。之后,2014 年 8 月 30 日的时候,我们又上线了第二个重要版本,在这个版本里面,火热的搜题技术取代了传统的技术。通过更新,我们的搜题命中率从 65% 提高到了 75%,用户达到 100 万。然后到去年 1 月 30 日,第三版系统正式上线,加入了另外一个技术,进一步提高了我们系统的能力,命中率达到 87%。

2015 年 8 月 30 日,第三版系统临近新版本的迭代,命中率达到 93%,用户已经达到 2200 万,累计搜索达到 10 亿次。随后,2015 年 9 月,我们推出 1V1 在线实时答疑系统。到今年 4 月,我们的用户大概有 4 千万左右,拍照搜题日活跃将近 200 万,1V1 的实时答疑每天 2 到 3 万单,总共完成了 20 亿次学生拍照搜题,以及 200 到 300 万次在线视频答疑的数据。

1V1 实时答疑

image.png
我们为什么推出实时答疑?因为不仅现在,包括我们自己当年作为学生的时候也有这个情况,比如很多时候写一个作业,可能我们思考很长时间还是无法解决问题,这种情况往往就会同学之间互相咨询一下,很少去麻烦老师,因为想到老师可能时间比较少。然后,学生就会有很多问题累积在这个地方,时间一久就不了了之,就再也不会考虑解决这样的问题了。 

同时,我们发现市场上二三线城市老师的薪酬比较低,空闲时间也比较多。我们做调查时发现,有些三线城市老师即使是特级职称,有十多年的教学经验,每个月工资可能也只有三千块,他们的薪酬相对一线城市来说是很低的,但是因为他们有这么多年的教学经验,已经不需要花太多时间备课,所以空闲时间比较多。

大家也知道,我们这个教育培训市场很大,因为家长是不计成本的,会愿意投入大量的金钱,希望自己的孩子能够提高成绩。

基于这三方现状,我们推出了实时答疑。

此外,虽然很多学生和老师之间距离千山万水,但利用现在方便的移动端、电脑端和互联网,我们能够大幅度缩短彼此之间距离,仅仅通过几秒的连接,我们就可以把一个优秀老师,送到一个待需要解决问题的学生面前。

在这之前,通过拍照搜题,我们可以进行相应的关键词搜索,获取类似题目,然后返还给学生,帮助他们搞明白怎么解这道题。但是,有一些学生即使看到类似的题目和答案,还是没有办法理解这道题目。所以我们提供在线答疑,老师跟学生「见面」以后,学生上传题目,老师在点阵笔上面进行解答,包括画图,同时所有的记录都会实时反馈到学生的界面上面,这样可以让学生和老师进行实时的互动,进而解决学生的困惑,做到今日难题今日毕。

大规模数据采集

当年做第一个产品时,思考的核心问题就是,怎么样才能够获取一个个学生的信息,然后根据不同学生的情况,通过统计分析找到不同的知识弱点,进行针对性的传授。就像外面线下教育的一对一培训一样,我们也是走这样的方向。现在有一个很流行的词语叫做自身学习,都是一个意思。

所以接下来的问题就是,如果我们碰到一个学生,怎么知道他的具体情况呢?我们打算先从他们日常接触的书和试卷着手。其实早的时候我们就已经觉得,学生答疑是很好的切入点,学生每天都有高频的需求,希望能解决作业,但是我们要解决这样的问题,首先的一个问题就是怎么做文字识别和文字提取。一开始我们想,不就是光学的识别吗?购买一些产品或者使用一些公开的 API 应该就能够解决,但是后来发现市场上没有现成的技术,没有能够达到适合我们方向的应用。

我们在实验当中发现,学生在上传的时候不会像我们做测试那么规则,极端情况下,可能学生在考试的时候也会偷偷拍照,这样产生的图片就会有各种各样的问题,包括形变、模糊,或者带有大量的框架、线条等等,所以我们不仅要识别中文,还要识别英文,以及是不是单双栏,是不是有图片或者表格等等。

识别技术

2013 年初,我们开始拓展自己的一套核心识别技术,先是从印刷体的中文识别入手,然后逐渐走到现在的手写、试卷识别,还有版面分析、高并发图像处理框架,以及公式识别、英文识别、表格识别、图像识别、自然语言处理等等。我们通过针对性研发,适应不同的平台,然后成立图像识别、数据挖掘等小组,支撑这一系列的技术研发。

我们在做文字识别的时候,早期还是用传统的方法,比如说真人相机等等,识别率接近 93%。现在我们用流行的机器学习技术,大家可能也有一些了解,像是近期「阿尔法狗」的比赛。我们目前在做的中文识别,训练字符已经达到了 20 个亿,单字符识别率达到 95%。

这是用户上传的图片,在做过一些相应的预处理后,我们会把里面的每个文字块切割出来,把它们放进我们的识别网络进行处理得出识别结果。同时,我们也把这种学习技术用到很多其他的领域,比如图像恢复技术。

我刚刚讲的,为什么我们当时没法用市面上的一些 OCR 技术,就是因为学生上传的图片实在是太难以辨认了。我们后来通过生物学技术解决,首先收集、标注大量图片,同时搭建 GPU 集群训练深度神经网络,然后通过生成模型来进一步处理。

手写识别

我们也有手写识别,在学生上传的题目和作业里面,不仅是印刷体,比如我们平时见到的课本教材,而且还有很多老师布置的作业,或学生自己摘抄的内容,都是手写内容。这里面有很多挑战,我们需要滤除无关内容,要进行版面分析,要识别出不同的字,然后判断它们属于什么样的结构,再次识别,通过自然语言处理,进一步提高识别率。

上面是我们的一个例子,也是用户上传的图片,这一块我们也是利用生物学技术做的,现在识别率大概在 96% 左右。

我们目的是希望能够通过这样的交互系统,跟学生互动,并且在跟学生进行讲解的时候,所有的图形都可以通过这个系统变成可以转动的立方体,方便跟学生交互,可以更好地帮助那些空间想象能力稍弱一点的学生。同时,我们也有一个数据挖掘团队,将所有题目里的关键词埋入知识图谱,方便学生检索相应的知识,比如在一篇朱自清课文里,不仅有朱自清的生平介绍,还有视频等等。此外,数学引擎也可以帮助学生解决问题,我们通过建立一些自动解答系统,可以自动回答一些比较简单,类似于 K12 这种级别的数学题目。

智能化版面分析和题目提取

我们目前正在做智能化版面分析和题目提取,希望能够识别学生的整张卷子,能够进行多题答疑或者试卷分析,甚至可以对一本教科书或者参考书进行分析,以此来确定哪些题目适合学生做,哪些题目不需要去做等等。此外,我们还可以通过应用来打包一些内容,比如视频、音频、知识库等等。

图像云

我们的目标是希望建立一个图像云,让学生可以通过终端发送图像请求,然后利用我们图像云的识别技术,包括手写识别、版面识别等等,帮助他们处理各种各样的问题。

核心技术:分发策略

实际上,这个产品背后的逻辑蛮简单的,如果学生对于系统给予的解答不是特别明白,他们就可以像用 UBER 或者滴滴打车一样,直接联系老师,随时随地在线解决问题。虽然这个逻辑本身是比较简单和清楚的,但背后还是需要一个核心技术,就是怎么样去分发,怎么样让合适的老师给学生解题。每个老师的上线时间都不一样,有的老师上午上线,有的老师晚上才有空,还有的老师科目不一样,比如英语、化学等等。除了这些之外,考纲也不一样,以后可能全国考纲会慢慢统一,但至少这几年我们的考纲还不太一样,所以每个老师的讲题方式也不太一样,这就需要根据不同老师的状况,推送给不同的学生。而学生实际上也有不同的情况,我们当时做过测试,很多学生在下午的上课时间发送问题,但当时老师们并没有空。还有就是,不同学生对价格的敏感程度不一样,获取结果的期待值也不一样。

我们通过系统调度,会对学生上传的题目做一个导航,把该题目进行知识分解,形成细分的知识图谱。接着对学生画像,如果学生经常需要答疑或者经常上传一些题目,我们会慢慢获取学生的信息,这样能清楚地知道,学生到底哪一块不足,哪一块比较擅长,我们也会经过老师的多次答疑之后,分析答疑数据或者学生的评价,这样我们也就给老师做了一个画像。根据这些信息,我们就可以利用系统进行智能调度,从而完成老师与学生之间的配对。

知识导航体系

我们有一个教研团队,他们会把初高中的语文、数学、外语等科目进行知识点的分类,既用到一些人工的方法,也用到一些机器学习的技术,从多个维度进行挖掘,形成我们所需要的知识导航体系。

举例来说,对高中数学的东西,可以分成 7 个板块,包括立体几何、代数,算法与框图等等,大概有 22 个章节,550 个知识点,3529 个题型,然后在难度上分为 4 个等级。学生上传题目以后,如果他是高中数学题,我们首先就要找高中老师,然后判断是哪个板块的题目,这样继续往下走,确定是什么类型的题目,决定选择哪位老师。

学生画像

在目前的教育系统里,学生大部分都是接受相同的教育,而我们希望的是,能够通过学生画像给他们提供针对个人特点的服务,比如根据年级、地区、对知识点的掌握程度,以及学习能力等等,给他们画出一个图表,基于这些图表,为学生匹配更合适的服务。

老师画像

同样,我们也需要给老师进行画像,因为每个老师的能力是不一样的,所以我们就通过每次老师讲解的时间,和学生对他的评分,以及一些自动化检验或人工检验,来对老师进行画像,得出他们擅长的领域或者教学习惯。

我们的系统大家应该已经知道了,像 UBER 或者滴滴一样,学生需要答疑,老师看到答疑请求之后可以选择,到底这个题目讲还是不讲,通过这样的智能分析系统,我们可以慢慢获取老师信息。

答疑供应预测

刚才讲到,不同地区的考纲是不一样的,所以当学生提出了答疑需求的时候,我们会优先地给他选择合适的老师和时间。这个调度过程就像是工业上的供应预测,每个省份、每个知识点对应的老师,以及老师的上线时间具有强烈的随机性,这就需要从不同角度对个人情况进行分析,然后形成时间模型,预测学生下一次的请求,并同时计算老师是不是在线或者能不能回答这个问题。

这个有点类似于工程上的供给库存模型,我们首先考虑的是两个状态,一个是老师的答疑供给库存,一个是学生的答疑需求,以此形成老师的答疑库存队列,然后通过 Markov 进行预测。

把不同队列的状态建立方程以后,利用我们的公式,让它产生的结果概率等于 1,然后通过解线性方程组得到优解,预测出老师库存队列的长度和等待时间,以及学生需求队列的长度和等待时间。

之前的模型比较复杂,其实简单来说,我们的目标就是能够更大化地答题,增加答疑总量,同时希望每个老师的答疑得分要比较高,还有就是要降低学生提问的流失率,降低老师的闲置率和其他成本。当然了,这个目标是建立在老师的实际调配量小于大量的基础上。

通过设计这样的制度,可以方便以后我们要做的排班系统,包括直播讲课、直播答疑等等。基于这个系统,我们也可以更加合理地分配自己的能力,因为我们有一些是直接雇佣的内部老师,但也有一些外部兼职老师,有了排班系统,我们就可以根据实际的情况选择自动排班,这一方面能保证答疑的质量,另一方面也能降低成本。

下一个数据采集目标:1000 万高质量 1V1 视频样本

总的来说,我们是希望通过这样的调度系统,以优化的策略帮助学生更快地提高成绩,同时也能够让老师更有效地答疑,并提高他们的收入。如果我们的系统比较差,那么学生的体验就会很糟糕,老师也就会认为这样的平台使用价值不是很高。我们现在的目标就是,能够通过这样的在线答疑系统,生成大量的,比如说 1000 万高质量的 1V1 视频样本,让我们可以进一步做更多的分析形成以「学霸君」为平台的拍照搜题、1V1 实时答疑系统。

小结

我们「学霸君」主要做的业务是以数据、技术、分析为支撑的,以此提供给学生一些定制化的,或者个人化的实时答疑学习、内容推荐、自适应练习等等。而这些内容都是通过一系列技术性的收集,包括利用技术进行统计、分析、预测来实现。

 

以上就是我今天的分享,谢谢大家!