1

Scratch 社区数据分析 与 智能系统

 2 years ago
source link: http://wwj718.github.io/post/%E7%BC%96%E7%A8%8B/scratch-community-data-analysis-and-graph-server/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

近期,受疫情影响,远程办公。

前几天给 @liuqing 发了封邮件,同步一下接下来我准备做的一些事情, 关注 CodeLab 的朋友可能对此也有兴趣,我把邮件的内容也放到这儿,掐去开头简短寒暄。


Scratch 社区数据分析 与 智能系统

使用爬虫,抓取 Scratch 社区的所有数据。我准备用整个社区的数据(用户、项目、用户的动态、用户喜欢的项目、用户彼此的关系、项目彼此的 remix 的关系…)抓取下来。

目前 Scratch 官方社区有接近 5170 万用户,4955 万已分享项目,里头的用户基本都是自发地在创作(不是像国内大多数编程产品,采用外部压力和激励去刺激他们),考虑到这点,觉得它近乎奇迹。

《蒙台梭利早期教育法》里头,对外部奖励的攻击,读来真痛快。(注1,见文末)

更多官方统计数据看这里。我已经写完获取所有用户信息(以 griffpatch 用户为例)和用户关系(griffpatch followersgriffpatch following)的爬虫了。

我准备拿这些数据干嘛呢?

得从 AI 说起,假期里我上完了两门课 course.elementsofai.comai-for-everyone, 让我对数据和 AI 重新燃起兴趣。(也推荐你这两门课,我们接下里可能涉足 AI 教育)

我想做 2 件事。

其一是“数据分析”,从大规模数据中提取出某些见解和洞见,并将其用作实施建议。

由于接下来线上社区会提上日程,我想看看目前这个领域最好的社区是怎样的全景:

  • 里边的人是如何连接的(followers、following);
  • 他们日常在干嘛(以 griffpatch 用户为例)
  • 那些热情的创造者是如何找到感兴趣的人与项目的(我将 favorites 视为用户兴趣的一个度量,而将 followers 和 following 视为他们的 peers)。
  • 那些最受欢迎的项目是如何在社区里传播开的(从 remix 的链条中可以看出来)

我想当一个蒙台梭利那样的观察者,Scratch 社区为我提供了非常多自发且真实的数据。

我想做的另一件事是“机器学习”,利用机器学习将这些数据转化为一些模型。利用这些模型来为 Scratch 社区用户提供某些服务。

  • 诸如通过“聚类”算法找找到不同类型的人群,这些不同的人群,有不同维度的相似性,从中我们可能发现许多有意思的东西,诸如我们可能发现一群喜欢音乐的孩子,从中我们又可以跟踪到许多这个人群喜欢的项目,这些信息,我们之后可以拿来推荐给类似的孩子,让他们能找到这个群体。
  • 利用“协同过滤”,构建起推荐系统。背后的想法很简单,如果用户 A 与用户 B 相似。当我们在活动日志中发现用户 A 喜欢项目 C,那么我们可以猜测说用户 B 也喜欢,便可以给他推荐这个项目。

这类的智能系统可能能回答这个问题: 在一个自由而宽阔的社区里,如何找到自己感兴趣的人和项目。

Scratch 官方在这块的工作很少,我想从这些群体数据中,提取一些价值。

我自己日常在 Github 社区,Github 的推荐数据流时常让我找到许多感兴趣的人和项目,我非常喜欢这个社区,许多技能也从中习得。

如果你对前头提到的这些感兴趣,我也想听听你的想法,我们如果拿到社区的所有数据:用户彼此的关系、用户的喜好、用户的近期活动、项目之间的 remix 关系。那么我们可以做哪些有意思的事情呢,可以为 Scratcher 提供什么有价值的服务? 对我们之后构建国内社区是否有帮助?

此外, 我已经读完《蒙台梭利早期教育法》,深受冲击,我几乎认同蒙台梭利做的所有事情,她在书中表现出来的情感,真让我热泪盈眶。


假期里读完《蒙台梭利早期教育法》(The Montessori Method), @liuqing 推荐我读这本书。

里头对奖励的攻击十分精彩,摘录如下

  • 在一般的教室里,老师们必须向学生的脑子里灌输事先预备好的材料。他们发现,为了顺利完成这项枯燥的任务,有必要约束学生,让他们一动不动,被迫集中精力。对于被迫做听众的人,老师必须迫使他们的身体和精神达到要求的那种状态,奖励和惩罚就是现成、有效的辅助手段。

  • 这样的奖惩,如果我可以这么说的话,就是心灵的坐凳,精神奴役的工具。

  • 人类的所有胜利,所有进步,都是以内在的力量为基石的。

  • 外在奖励的确存在。例如,当演说家见到听众的表情随着他所唤起的情绪情感而发生变化时,他体验到了美妙无比的滋味,那种滋味只有在一个人发现自己被人爱时由衷的喜悦,才可与之相提并论。我们的喜悦是去触摸、征服灵魂,那才是能带给我们真正报偿的“奖励”

  • 有那么一刻,我们会因自己是万物之灵中的一员而喜不自胜。能够继续安稳地生活,也是令人幸福的时刻。这可能是得到真爱时,收到孩子的礼物时,有了伟大的发现,抑或是书籍出版之时;在这样的时刻,我们感到,自己是超凡绝伦的。如果此刻,某权威人士前来授予我们一枚勋章或是一个奖品,他反而会成为我们的真正奖赏的最大破坏者——“你算是什么人?”我们那消失的幻觉立刻会叫道,“你凭什么把我唤回现实,明白我不是高高在上的?谁地位比我高这么多,居然有资格给我颁奖?”

  • 今天我们把学生扣留在学校,用课桌,还有奖励和惩罚这些损害身心健康的工具来约束他们。我们的唯一目标就是让他们变得一动不动、一言不发,便于管束。管束是为了什么?却往往漫无目的。

  • 对孩子的教育,通常就是向他们的脑子里灌输学校的课程知识。通常,这些课程由教育行政部门编撰成册,通过法律明文规定,强迫教师和学生使用。 这样愚钝、顽固地忽视孩子正在成长的内在生命,我们应该羞愧地低下头,内疚地用双手捂住脸!

说得痛快淋漓,《终生幼儿园》中关于这个话题也有很多精彩讨论。

Scratch社区是难能可贵的少儿编程社区,不以奖励手段来灌输知识,而坚持鼓励孩子去寻找自己的热情、同伴,去寻找有趣的项目,并动手去创建那些激动人心的东西。

追随热情而不是奖章。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK