1. 大家好,我现在在ArchSummit深圳大会现场,十分高兴邀请到猿题库的技术研究部总监邓澍军接受我们的采访,澍军之前在网易做过很多重要的算法,是属于通用搜索方面的,之后加入猿题库,领域一下子变成了在线教育,做的事情也变成基于图片识别的题目搜索和相关的东西,都是挺新的,您觉得这个变化最大的挑战是在哪一块?
邓澍军: 还是新的领域挑战更大一点,比如说图像搜索,更多的还是用到一些机器学习的算法,之前虽然是通用搜索,但也是用机器学习算法,这些是比较相通的。但是在一个新的领域会有一些挑战,现在我们最大的挑战就是怎么去解决输入的问题,移动互联网到来之后,在线教育的输入有一些方便的地方,比如说用户一个题目不会了,手机拍照是一个非常快捷的输入方式,但是更多的挑战是键盘不那么管用了,比如说让用户输入一遍中文,键盘还可以考虑,在纸上写也可以考虑,但是让他在手机上用键盘敲入,这个不太现实,所以在这个新的领域里边,我觉得输入的问题是目前我们技术团队最大的一个挑战。
2. 您提到的这个领域似乎是在移动互联网时代的一个挑战。
邓澍军: 是的。
3. 今天您讲的主要还是后端处理,尤其是像图像识别,它用到大量后端的深度学习,机器模型训练的问题,其实你们很多地方是非常自动化的,像你之前提到自动生成很多训练样本,但是你们也有很多人工做的事情,比如说原题录入就没有用自动化的方式,是人手敲进去的是吗?
邓澍军: 这个是完全人肉敲进去的。在选择到底是人肉来做,还是机器来做的时候,我们一般是在能机器做的时候尽量选择机器做,因为这样性价比更高一些,而且速度以及处理规模会高很多个量级。但是有些时候机器无能为力,比如说像题目录入,题目录入如果要完全自动化,首先机器的OCR要达到非常高的精度,比如说把一本书拍进去,然后完全高质量的识别出文字,同时还需要能自动做解答,因为现在猿题库录入的解答并不是抄一些书上的,而是完全自己做出来的,是比一些参考资料上更详细的解答过程,这个事情机器是没办法办到的。在这种时候,我们一般是机器无法做的人来做,但是在人做的过程当中,机器能做很多帮助,比如说把一些题目自动的区分开,或者甚至提前先做一些OCR识别,然后人对它进行一定的纠错,或者在录入的时候,机器能够自动地实时判别是不是这套题目图库里面已经有了,这些事情可能由机器,由算法来做,所以说在没有办法的情况下,人肉必须做的情况下,机器就辅助来做一些外围的工作,大概就是这样的。
4. 你也提到很多特征方面的东西有一部分是机器加上去的,这方面是不是也会越来越多?之前难度是人工输入,知识点也是人工输入,但是一些关健词是机器自动提取?
邓澍军: 这一块的话,是看用在什么样的场景,我们要展示给用户,让用户直接用的,一般来说我们不会用机器自动提出来的特征,比如关健字,因为关键字机器提出来,终究有一些不太准,或者有一些比较模糊的边界,这时候如果推荐给用户,用户可能会迷惑,为什么这道题少了一个关健字,而他觉得这个关键字还挺重要的。像我们真正推送给用户的,比如说像知识点,或者是难度,用户一看都很理解,这个事容易,这个事难,知识点就固定是那个知识点,这是人过的,不会有误差,如果让机器去自动识别出来一个知识点,它终究是有一定的偏差很难做到百分之百,这时候用户可能就会迷糊,他就无法理解了。所以更多的,我们机器提出来的Feature是给一些像能力预测模型,或者自然语言纠错的模型,给他们去做预测,或者是做模型训练的时候作为Feature来使用,而不是直接展示给用户的。
5. 那么您今天刚刚对外公开,现在手写识别已经是正式的一个Feature,你也提到手写识别这块用的跟印刷体的识别是不一样的算法,印刷体你们是用卷积神经网络。
邓澍军: 手写是递归神经网络。
6. 能大概介绍一下这两种的差别在哪里?
邓澍军: 首先卷积神经网络更多的是单字的识别模型,当然也可以做多字的,比如说把两个字两个字放到一起也是可以用卷积神经网络识别,但是这样的话,类别就会有指数的爆炸,比如三千五百个汉字,两两组合就是三千五百的平方这么多种组合,那这个输出可能就会爆炸,计算各方面都会受影响,所以我们一般还是做单字的识别。递归神经网络更多的是利用上下文的,它可以利用前面的一些特征,相当于把前面的已经学到的东西用到了后面,这时候他学到的东西会更多一点。从人的角度来看,平行四边形的‘四’,卷积神经网络它就是看到一个“四”,不会看到“平行”和后面的“边形”,但如果是递归神经网络,他看到了前面的“平行”和“边形”,虽然前面可能不是特别准,后面也不是特别准,但是它多多少少有一个模糊的概念,这可能是平行四边形,所以他学到的东西会更多一点,更准一点。但是递归神经网络的时间也花得更长一些,而且它对计算设备要求也更多一些,我们线上所有的识别任务,包括印刷体都用递归神经网络,在目前的阶段对我们来说还是有一定挑战,但也不排除未来某一天我们所有的都用递归神经网络,或者这两种的融合都是有可能的。同时说一下,卷积神经网络也可以做手写的识别,因为你也可以切换成单字,或者是切换成两个字两个字或者几个字的组合,甚至一个片断,这些都是可以拿去卷积神经网络识别的,但可能在目前阶段还不是非常适合我们。技术都在发展,只能说在目前的阶段,我们认为印刷体可能还适合CNN一点,手写体可能适合RNN一点,也许过了一年,我们又换了另外一种说法,这是技术不断的发展的一个过程。
7. 我感觉猿题库可能更适合理科,一些比较短的题目,像作文批改,或者一些比较长的问答题,似乎还是比较有挑战的,小猿拍照搜题这一块,拍照识别你们已经有非常大的进展,但是其他方面的一些局限,你觉得还在哪里?
邓澍军: 其他的跟之前提到的类似,还是在输入上面有一些挑战,比如说做大题,给一道大题之后,传统的教育里面,用户都是在作业本上,或者是在试卷上把解答过程写详细了,然后老师去看,现在还是可以在作业本上或者试卷上写,写完之后拍照,拍完照之后,再让老师来看,这个过程其实没有复杂到什么地方,只是多了一步拍照,但是这个事情为什么不太适合在线教育呢?因为在线教育相对传统教育来说,数据更大一些,可以说是大数据的,我们的用户是千万量级的,如果每天来一百万大题,老师怎么把这一百万全部批改掉呢?原来每个老师只要改30个,或者50个学生的作业就可以了,现在是千万量级,或者百万量级,没有办法一下子用人力全部把这个事情给做了,而且我们终究是一种免费的模式。这个时候可能更多的是需要技术来解决,大题拍照进去之后需要做一个OCR识别,但是大题解答的识别很难做准确,就算做准确了,还是没法自动判,因为大题的解法有很多种,有些人可能说根据X平方加Y平方等于3,得出X等于什么,Y等于什么。另外一个人可能不写公式,他说由公式1,可以推出来X等于多少,Y等于多少,这两个应该都是算对的,机器它不太具有人类的推导能力,目前阶段还不是这么强,这时候自动判卷就非常困难,所以这就有第二个挑战。第一个挑战是说,输入就是问题,就算输入解决了,第二个自动判卷也是有一定的挑战,我们也在想一些办法,技术没有发展到那么强,目前的阶段在产品上,或者是一些别的方式,机器也是可以辅助的,比如说有一些大题,可以想办法把它的各个步骤拆开,拆开之后就可以分步骤判题,就比较容易,因为这个地方要求就是填一个公式,或者填某个数字,它的变动相对少一点,但也是一个非常难的过程,这个也是我觉得整个在线教育领域都面临要去解决的一个问题。
8. 就是对自己或者猿题库希望达到一些什么样的目标和期待?
邓澍军: 其实我们作为技术团队更希望的还是我们的识别和手写,能够更上一个台阶,让用户有一个没有什么区别的体验,就是一拍照,如果有题目,就能展现到用户面前,而且是非常详细的解答,让用户感觉很爽,然后对猿题库来说,用户在做了练习之后,我们能够非常详细的知道用户的弱点在哪,能够快速的帮用户制订学习方案,让用户的能力得到非常好的提升。我们的在线辅导平台也是希望在机器无法完全自动帮助用户的情况下,也能非常方便的得到适合用户的老师的一对一的培训。我们的一对一培训还有个特点,就是我们是基于数据分析的,用户在这里练习过题目,我们是知道你的薄弱点在哪,知道你需要做什么样的练习,适合什么样的教案,哪一个老师适合你,这都需要我们做技术的来把这些事情给做得更完美一些,所以未来一年应该是希望把这些事情做的更细致,让用户的体验更好一些。