所有由admin发布的文章

一起作业数据分析方向职位

一起作业目前为国内最大中小学在线教育平台,含全科课内、课外作业、课堂课件、提问工具等一系列师生教育产品。截止2015年三月约有1200万注册用户,估值六亿美金,刚刚获得H Capital、DST、淡马锡、顺为资本(雷军)等世界一流投资机构融资一亿美金,为互联网教育融资第一大单。

融资新闻:http://edu.ifeng.com/a/20150219/40986469_0.shtml

一起作业平台介绍视频: http://v.youku.com/v_show/id_XNzQ5MzIyNTQ4.html

所有数据分析相关职位的简历请发送 jingwen.tao#17zuoye.com

 

数据分析师(Business Intelligence Analyst)全职及实习生:

 

定位:基于对公司业务的理解,对公司运营数据进行挖掘和分析,并撰写数据分析报告,作为公司管理层和业务部门的决策依据

 

要求:

1)有数据库的使用经验,包括但不限于有使用SQL等数据库语言经验;

2)有数据统计和分析经验,能够根据需求构建数据模型,熟练掌握R语言,能独立完成数据挖掘和分析工作

3)逻辑严谨,思维清晰有条理,能基于数据分析结果深入分析业务问题,并给出针对性建议

4)善于沟通,对互联网、教育类的产品能够快速理解业务需求

5)喜欢在线教育行业,具有理想主义思维,具有教育情节的同学优先

 

全职薪资待遇可面谈,薪酬结构为工资+期权+年终奖金。平日有免费工作午餐,下午有水果下午茶等,每周有篮球、足球、羽毛球、瑜伽、舞蹈课等员工体育活动。

一起作业大数据研发职位

[公司介绍]

一起作业目前为国内最大中小学在线教育平台,含全科课内、课外作业、课堂课件、提问工具等一系列师生教育产品。截止2015年三月约有1200万注册用户,估值六亿美金,刚刚获得H Capital、DST、淡马锡、顺为资本(雷军)等世界一流投资机构融资一亿美金,为互联网教育融资第一大单。 

融资新闻:http://edu.ifeng.com/a/20150219/40986469_0.shtml

一起作业平台介绍视频: http://v.youku.com/v_show/id_XNzQ5MzIyNTQ4.html

 

         一起作业大数据研发团队是公司核心的技术团队之一,是一个既有扎实研发功底、又有教育理想的团队。我们热切欢迎各位有才华、有理想的同学加入。这里不仅具有一流的导师提供亲密的指导,并提供一流的在线教育的大数据平台和资源推动个人能力发展。
        无论是正式员工,还是实习生,我们都张开双臂热烈欢迎——欢迎有相关朋友可以推荐的同学给我们推荐简历,如果推荐的人士成功入职,我们将提供iPhone6 plus或任何价值相近的奖品赠送推荐人;自荐成功也在其内。[简历请发 lianhua.li#17zuoye.com

1. 数据挖掘/机器学习/自然语言处理研发工程师

定位:
   通过对教育大数据的应用,来研发公司核心的教育模型与个性化的教育系统。
要求:
1)熟悉C/C++/java语言,精通数据结构和算法
2)熟悉数据挖掘、机器学习或自然语言处理,对常见分类模型、聚类模型或自然语言处理技术较为了解,有相应问题处理经验
3)有教育评测、搜索引擎ranking或推荐引擎工作经历的同学优先
4)喜欢在线教育行业,具有理想主义思维,具有教育情节的同学优先

2. 大数据平台研发工程师

定位:
   对教育大数据搭建数据仓库和云计算平台,并面向个性化业务做基础的特征数据和统计模型。
要求:
1)熟悉java或python语言,具有不错的程序设计能力,和一定的统计算法能力
2)必须熟悉hadoop或spark,具有M/R程序等开发经验
3)对数据质量管理、监控具有一定的经验的同学优先
4)喜欢在线教育行业,具有理想主义思维,具有教育情节的同学优先

3.数据分析&开发工程师

 定位:

能够理解数据分析和统计的需求,与BI和产品、运营及市场互动,完成公司的数据统计和分析支持工作。

要求:
1)有数据库的熟练的使用经验,包括但不限于mysql、mongo等;有较好的python程序开发经验,程序设计的习惯和能力较好
2)有数据统计和分析经验,能够根据需求构建数据模型,且,最好有Hadoop/hive的基本的使用开发经验
3)善于沟通,对互联网、教育类的产品能够快速理解业务需求

4)喜欢在线教育行业,具有理想主义思维,具有教育情节的同学优先

关于做题时间的思考

作者:马逸骏,14’ Teacher’s college, Columbia University, NY
编辑: Jc

 

首先,非常感谢一起作业网提供的数据。在此分享一下自己的思路,希望能够抛砖引玉。

本文将结合一起作业网的数据以及哥大Education Data Mining课中Basic Assignment 3的数据(点此链接获取)。使用两组数据是为了方便对比,从而找出不同系统的共性与特性。

做题时间是衡量学生学习程度的一个重要指标。以学习曲线(learning curve)为例(参见图1),尽管做题时间【y轴】与做题次数【x轴】的负相关并非完美,但是一个明显的结论是随着学生做题数量的增加,学生做题时间下降。图2是另一个更具代表性的学习曲线。图中有两次做题时间明显的下降,第一次(1-4)是学生学会了解题思路,第二次(18-21)则是经过多次训练得到了顿悟(We call it “Ahaa” phenomenon)。

学生熟练度曲线,来自Baker(2014)
图1: 学生熟练度曲线,来自Baker(2014)

 

图2:有顿悟的学生熟练度曲线,来自Baker(2014)
图2:有顿悟的学生熟练度曲线,来自Baker(2014)

 

由于一起作业分享的数据不是个人的历时数据(time series),而是一个群体的截面数据(cross section);因此我无法完全复制学习曲线。但是以之为模板,依然可以绘制一条做题时间的分布曲线,x轴是做题时间,y轴是频数分布。一起作业的数据在图3中展示,而Baker(2014)所使用的Basic Assignment数据在图4中展示。

可以发现,两者基本都呈向左偏斜的钟形曲线,这可能是所有intelligent tutoring system普遍存在的规律——大部分人集中在一定时间段内完成题目,时间越短,人数下降越快;而时间越长,则会出现长尾效应。两组数据不同的地方在于:
1) 一起作业网平均做题时间较短
2)Basic Assignment中,低于1秒的做题时间的数量非常多(1600个),而一起作业网的则很少。

图 3:做题时间频率分布图 来源:一起作业 时间单位:毫秒
图 3:做题时间频率分布图
来源:一起作业
时间单位:毫秒

 

图 4:做题时间频率分布图 来源:Baker 2014 时间单位:秒
图 4:做题时间频率分布图
来源:Baker 2014
时间单位:秒

 

我在这两张图中提取出一下问题:

(1)在做题时间人数达到峰值的时刻,短短数秒的差别为什么会导致如此巨大的人数变化?

(2)是什么因素使得学生既不能更快的做完,也不愿更慢的做完题目?而当做题时间足够长时,为什么人数差异越来越少?

(3)做题时间越长,对于学生而言到底意味着什么?他们是否需要更长的做题时间?

为了进一步分析上述问题,我进一步绘制了一起作业网听力题和非听力题的做题时间与正确率的散点图(图5、图6)以及Basic Assignment的做题时间【x轴】与正确率【y轴】的散点图。圆圈越大,表示处在这个点上的数据越多。

 

图 5:听力题时间与正确率散点图 来源:一起作业网数据
图 5:听力题时间与正确率散点图
来源:一起作业网数据
图 6:非听力题时间与正确率散点图 来源:一起作业网数据
图 6:非听力题时间与正确率散点图
来源:一起作业网数据
图 7:Basic Assignment时间与正确率散点图 来源:Baker(2014)
图 7:Basic Assignment时间与正确率散点图
来源:Baker(2014)

 

从上述几张图中,我们可以有以下观察:

(1)听力题中,做题时间低于1秒的记录正确率很低。这个现象在非听力题和Basic Assignment的新题中也有出现。这可能是学生直接放弃努力的表现。
(2)Basic Assignment的新题记录中,做题时间越长,正确率越高;而在一起作业数据中,做题时间越长,反而正确率越低。是不是可以在学生长期停顿后,给出一定的提示。
(3)尽管Basic Assignment的新题曲线和一起作业的相似,但是它的错题补做记录却非常不同。做题时间和正确率不存在倒U型,而是统一的正相关关系(uniformly positive correlation)。这可能是因为Basic Assignment第一次做题错误之后,系统会给予提示,然后会让学生再做一次。通过不停的喂题,根据类似Baysian  Knowledge Tracing的一个分析模型,判断学生是否还需要更多的练习。因此,错题重做较单纯地显示了学生思考的效果:思考的越多,正确的概率越大。

总结:

本文主要探讨的是如何从学生的做题时间挖掘出更多的有效信息:

  1. 一般而言,当做题时间少于2-4秒的时候,很有可能是学生在钻空子(Gaming the System),但也有可能是学生对该知识点非常熟练。一般可以通过分析学生一系列的行为分析(sequential pattern mining),确定是否在Gaming the System。但是一起作业网似乎暂时不能提供学生的做题顺序,未来可以在这方面改进一下。
  2. 无论对于听力题或者非听力题,当做题时间超过4秒之后,多多少少都存在的现象是做题时间越长,正确率越低(听力的相关性尤为明显)。此时,做题时间反应了学生对知识的熟练程度。
  3. 但是,也有可能出现的情况是,做题时间越长,说明学生思考的越多,结果学生分数的会升高。这有可能是导致填空题正确率分布不成规律的原因之一。如何筛选开来这部分因子,是未来数据分析或者产品设计需要思考的问题。

 

参考文献:

Baker, R.S. (2014) Big Data and Education. New York, NY: Teachers College, Columbia University.

 

题目知识点标签自动挖掘

优质题库建设之题目知识点标签自动挖掘介绍

作者:PL

说明:原文为芥末堆约稿,稍作精简,把部分科普的原理部分减掉,以问题分析为主,做一分享。

 

1. 在线教育与题库建设的背景

大数据和数据挖掘对于互联网教育是至关重要的,我们今天集中在一个具体的点上来展开和揭示这一点,这个点就是题库建设中的知识点标签挖掘。

在整个教育的实施过程,尤其是备、讲、练、测各个环节,今天都已经有互联网教育产品在尝试,而其中练和测,都是以题库建设为最重要的基石。题库整体设计的合理性,以及质量,是这一类互联网教育产品成败的关键。而业内的同学都知道,题库建设,又是最耗费人力物力财力的,既是苦活累活又是对教育的理解、技术能力的把握有极高要求的活。

具体而言,在题库建设过程中,并不是简单的数量的堆积,如果不考虑地区差异、应试要求不同和实效性等因素,K12阶段一个学科一个学段以千规模知识点、一个知识点以几十道题目为例进行估计,那么一个学科优质题库的规模为十万规模,而有同学似乎说应该很容易可以凑齐这么多、甚至百万规模——但是,优质题库除了题目质量,以及对教育内容(教材)的匹配度之外,还有两个根本性问题,其一是解析书写,其二是知识体系构建和知识点标签标注。若没有对这些核心因素的优化,题库很容易构建成一个普通或垃圾题库,对于教育产品应用和用户而言没有任何价值,甚至是有害的。而就是对于这些因素的优化,导致了优质题库的建设门槛,以及极高的成本。

所以,对题目的知识点标签的标注,以及知识体系的构建,是优质题库建设过程中最为核心的问题之一。

2. 题目需要什么样的知识点

在考虑这个问题的解决方案的时候,我们首先要考虑的是,我们需要什么样的知识体系和知识点标签。这个问题并不是很容易回答。

首先在教材和教学大纲中,以及各种教辅中,会有各种对“知识点”的描述,例如英语中的语法,以及词汇等,例如数学中的知识点,如函数、定义域、值域或解析式等,有直接的概念,也有方法的应用,有专题的抽象,也有相似解法的巧妙汇总,等等——总而言之,这并没有一种标准的体系,就其名称、内涵、粒度、层级,乃至所谓知识点之间的关系或联系,出自各种来源可能是千差万别的。这里既需要教育专家的高屋建瓴,也需要一线教师的灵活经验。

其次,作为数据挖掘的任务而言,我们会关心——就标签集合而言,这是一个封闭集还是一个开放集,同时,我们会关心一个“知识点”标签,是一个分类概念还是一个关键词(或者是关键词的组合,短语搭配)。这个定义的明确,对于数据挖掘的问题定义十分关键,也基本决定了后面的方案的选择。但这个明确,不仅要考虑教学意义,同时需要考虑产品对于知识点标签的使用方式,尤其是后者,可能是更加重要的因素。

举例而言,如果题库用于老师或者教研员辅助组卷,知识点标签作为导航或过滤使用,最好是通用的、概念明确的分类概念标签,加之以自由query来组合使用,这种场景需要一个精准明确的大粒度分类体系和标签集合,层级不需要很多。如果用于学生的自学推题,并显性化分析报告,那么知识点的标签应该要能够描述题目测验的核心知识点、方法或思路,要能够区分对于学生的能力要求点,这样才能构建更为强大的用户模型和推荐引擎,同时报告也方便针对性分析和理解——这个时候需要采取的分类体系和标签集合,其知识点的粒度要足够精细,而知识体系的层级就会大很多,同时,“知识点”即使不是标准体系,也需要大多数的老师和学生认可或一定的使用度。但如果这个知识体系和知识点标签,仅仅是作为系统内部匹配使用,对于用户而言是不可见的,那么使用关键词标签,使用一个开放的(或标准模糊的)标签集合,也是没有任何问题的。

就这三种例子而言,可能都是适合某种教育产品需要的;但对于知识点标签的挖掘而言,其技术的选择则是差异极大的。所以这不是一个简单可以决定的问题,需要和教育内容团队、产品团队仔细的分析确定。

3. 对问题的定义

在本文的介绍中,我们选择其中之一的应用方式作为应用场景,也就是说,我们假设要挖掘的知识点标签,是用于题目的推荐和分析报告。这个时候是最为复杂的一种,一个知识体系大概有四到七级,千规模的知识点数量,对于教研团队和技术团队,都有较大的挑战。

对于数据挖掘而言,这是一个分类任务,具体一点而言,主要是依据题目短文本信息进行层次化分类的任务。在这个任务中,我们需要使用到最基础的技术是自然语言处理和机器学习,通俗一点说,就是我们通过对大量人工标注好的题目文本和知识点标签结果(也称为训练语料)的学习——通过自然语言处理的技术获取题目文本的特征,通过机器学习来得到分类模型——从而使得我们的系统具有了自动做知识点分类的能力。一般的分类问题的基本定义如下:

ml

 

图1 分类问题的定义

在这个定义中,是待分类对象,对我们而言就是一道题目,是分类结果,对我们而言也就是一个知识点标签。学习系统的输入就是一组训练语料,即n道已经标注好的题目及其对应的知识点标签;学习系统依据这个数据经验,训练出(或学习出)一个模型,这个模型可以是函数表达形式y=f(x),也可以是概率表达形式p(y|x),这个就是学习系统的输出。基于学习系统的分类模型,分类系统就可以做预测,即输入一道新的题目,分类系统自动识别其最可能的分类结果。

通过对问题的定义,我们基本可以对这个任务做出拆解,得到类似于如下的子任务:

标号 任务名称 说明
1 分类体系(知识体系)构建 主要目标是建立起满足应用需求的知识体系,且,这个知识体系本身要满足分类概念的合理性,也就是说,一个知识点概念要足够的内聚,与其兄弟节点要有较明确的边界和区分度。如果知识体系不满足后一个要求,则机器学习分类是很难做出好的效果的。
2 分类语料构建(训练题目标注) 主要目标是为分类体系的每一个节点,人工标注出足够多的训练语料,也就是题目。因为一个知识体系常常比较大,这个分类语料的标注工作量也往往比较大。而且,训练语料的质量(包括标注知识点的准确度、语料库平衡性等等)是后续分类效果好坏的另一个重要前提条件。在实际工程中,构建好的训练语料往往是一个有挑战的工作,因工作量关系也可能需要迭代构建。
3 训练分类模型,学习系统研发 这个过程主要目标是训练出分类模型,也就是我们机器学习系统研发最为核心的一个过程。对题目知识点标签自动挖掘而言,就是需要对上面的训练语料库,做特征分析和选择,依据某个算法学习一个分类模型,并通过一些技术手段选择一个较优化的模型输出。
4 做分类预测,分类系统研发 基于已经训练好的分类模型,可以较快的完成预测模块——分类系统的研发。但对于我们知识点标签自动挖掘而言,这里有一个相对复杂的地方,那就是我们的任务不是一个二分类任务,而是一个有庞大体系的层次化分类,预测系统也就相对复杂。另外,在工程实现时,为了优化效果,基于分类结果的一些后置处理策略,如ranking或聚合处理等,也是有一定复杂度的。
5 分类效果评测,迭代优化 如果1-4完成算是一轮研发迭代的话,那么分类效果评测(主要是通过准确率和召回率指标来衡量)就是承前启后的一个重要工作,我们通过评测来确定效果,并进一步分析语料库、特征、模型、预测过程中存在的问题,甚至是分类体系的问题,依据问题对准确率和召回率的影响面进行排序,启动优化迭代过程。

 

通过这样一个任务的拆解和说明,大家可以看出我们对于整个项目的安排,以及其中的技术关键点。这些关键点是在大量实践经验基础上总结出来的,分享出来也期望能够对技术类读者推动自己的工作有所帮助。

 

[具体一个机器学习模型原理的例子介绍省略]

4. 知识点标签分类的挑战

        上面我们说,这个任务是非常复杂的,除了任务拆解中提到的问题和关键点,我们再次强调指出三个问题。这三个问题会对效果优化至关重要。

首先,题库中题目的文本是一个垂直领域的短文本,尤其是K12题库中的题目,其文本信息都不是很长,而且,题目中有大量的新词,有大量的信息是解析式、公式、特殊表达的信息,这对在题库的数据清洗和特征选择是极大的挑战。因为很多信息不仅蕴含在关键词中,尤其是理科题目,非关键词的文本信息中也有大量的信息,对于这些信息的处理是非常繁琐的。除了这些问题之外,还有一些题目有丰富的图片信息(如理科中函数图像、几何图形、物理化学实验等),一些题目有语音信息(如听力),这些富媒体信息中也可能包含了知识点分类的关键内容,但对于它们的处理,对于团队的技术积累和要求则是更高的。

其次,我们说这个分类任务是一个层次化分类的任务,它就会带来两个问题,一个是级联的错误放大,因为每一个分类器都有一定的准确率和召回率,导致我们在叶子节点做分类时,效果有极大的影响;其次,应用要求分类体系非常的精细,前面我们说,分类体系可能是四到七级,千规模的分类节点,这个时候分类体系的节点之间的区别度往往是一个很大的问题,表现在语料库中的题目层面,即它们分属不同兄弟节点但文本表达却有很高的相似性,会给分类模型带来很大的困扰。

第三个问题是,分类体系及知识点的合理性,很大程度上是和应用有关的,在我们这个场景,是和推题的推荐系统相关的。虽然我们会评价分类的准确率、召回率,但毕竟这只是技术评价指标,而不是业务目标。基于知识体系来刻画的用户模型和推荐引擎,对于用户的练习效果和教育效果是否真的好,这是一个周期非常长、过程非常复杂的度量。业务效果反射弧超长,这也是这个任务极大的一个问题。

这三个问题放在这里,是对我们团队的一个很大的考验。所以说,大数据和数据挖掘对互联网教育虽然是很重要的,但也是极有挑战的一个工作,需要很好的团队、很强的创新性人才的投入。好在这个方向的魅力是如此之大,吸引了很多有志之士。

5. 做大数据和数据挖掘类项目的关键点

经过上面的介绍,相信我们的读者对优质题库建设中知识点标签自动挖掘有一个相对深入的了解。我们最后做一个点睛,描述一下我们对这一类项目或方向的感触,期望能够给到大家借鉴。

这个方向的项目,有两个最大的基石,其一是对用户和产品价值的把握,也就是说,任何的挖掘技术,需要充分考虑清楚应用对它们的核心诉求;其二就是对于数据和技术,要有专业的团队和人才梯队,要能够快速上手也能够找到问题的关键点。否则的话,这一类项目是最容易失败的。在项目管理层面,这一类项目有较强的探索性,不同于功能性项目,需要做区别化的项目管理,而在团队层面,最好能够是跨越互联网和教育的融合基因,数据挖掘团队和产品团队、教师团队有紧密的、心有灵犀的默契与合作。

这些,都是技术之外不可或缺的。期望大家有所收获,感谢。