惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Last Watchdog
The Last Watchdog
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
小众软件
小众软件
雷峰网
雷峰网
F
Full Disclosure
B
Blog
Hugging Face - Blog
Hugging Face - Blog
GbyAI
GbyAI
月光博客
月光博客
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
TaoSecurity Blog
TaoSecurity Blog
博客园 - 聂微东
P
Palo Alto Networks Blog
N
Netflix TechBlog - Medium
S
Secure Thoughts
Google Online Security Blog
Google Online Security Blog
P
Privacy & Cybersecurity Law Blog
U
Unit 42
Cloudbric
Cloudbric
Know Your Adversary
Know Your Adversary
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Vercel News
Vercel News
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
News and Events Feed by Topic
T
Tailwind CSS Blog
S
Schneier on Security
IT之家
IT之家
P
Proofpoint News Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tenable Blog
Google DeepMind News
Google DeepMind News
The GitHub Blog
The GitHub Blog
T
Troy Hunt's Blog
V2EX - 技术
V2EX - 技术
Cyberwarzone
Cyberwarzone
P
Privacy International News Feed
I
InfoQ
MongoDB | Blog
MongoDB | Blog
Project Zero
Project Zero
B
Blog RSS Feed
Help Net Security
Help Net Security
H
Heimdal Security Blog
有赞技术团队
有赞技术团队
The Register - Security
The Register - Security
V
V2EX
C
CXSECURITY Database RSS Feed - CXSecurity.com
J
Java Code Geeks

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 CodeLab Insight 发布 Alpha 版 情人节 Home Assistant 周报 && IoT 周报 (02) Joplin: 关注隐私的 Evernote 开源替代软件 浏览器的未来与 Web 传感器 Home Assistant 周报 && IoT 周报 (01) 百宝箱(01) 论自由 介绍 WebThings Home Assistant 周报 && iot 周报 (00) 百宝箱(00) 毛姆读书心得 传世之作 周末徒步 CodeLab Adapter ❤️ Jupyter/Python 航班 躲雨 夏令营途中 [译]思想--作为一种技术 The future of coding 美国之行 三门问题的程序模拟 从Python转向Pharo https://blog.just4fun.site/post/iot/iot-open-source-projects/ Python异步编程笔记 https://blog.just4fun.site/post/iot/iot-open-source-hardware-community/ 万物积木化开发者社区 CodeLab ❤️ Blender Scratch3技术分析之云变量 API(第7篇) [译]对管道(Pipes)的偏爱 [译]提出正确的问题比得到正确答案更重要 蓝牙设备与Scratch3.0 创建你的第一个Scratch3.0 Extension Scratch3技术分析之项目内部数据(第6篇) Scratch3技术分析之社区 API(第5篇) Scratch3技术分析之User API(第4篇) Scratch3技术分析之项目主页API(第3篇) Scratch3技术分析之静态资源API(第2篇) Scratch3.0、micro:bit与Windows7 https://blog.just4fun.site/post/iot/zerynth-vs-micropython/ 核聚变、方所与半宅空间 可视化编程为何是个糟糕的主意 codelab.club周末聚会 关于codelab.club '下一件大事'是一个房间 Hungry Robot - Eat everything 编程作为一种思考方式 今日简史 史蒂夫·乔布斯传 罗素自选文集 https://blog.just4fun.site/post/edx/tianjin-scratch-ai/ https://blog.just4fun.site/post/edx/richie-cms-openedx/ 徒步武功山 WebUSB与micro:bit 积木化编程与3D场景 夜宿武功山顶 scratch3-adapter接入优必选Alpha系列机器人 https://blog.just4fun.site/post/edx/video-migration-note/ scratch3-adapter重构笔记 https://blog.just4fun.site/post/edx/edx-community-members/ 两种硬件编程风格的比较 使用micro:bit自制PPT翻页笔 柏拉图对话集 scratch3.0 + micro:bit 七月电影放映计划 非营利组织的管理 Screenly--用树莓派让任何屏幕变为可编程的数字标牌 以最佳实践开始你的Django项目 micro:bit与事件驱动 为Scratch3.0设计的插件系统(上篇) OCR应用一例 近两年读过的一些好书 blockly开发之使用python驱动浏览器中的turtle(2) 牛顿新传 文学理论入门 逻辑的引擎 人生的意义 blockly开发之生成并运行js代码(1) blockly开发之hello world(0) micro:bit使用笔记 神器之Termux https://blog.just4fun.site/post/iot/micropython-notes/ Cozmo what is this Scratch的前世今生 下段旅程 我行在远方 爆裂 途中杂记 https://blog.just4fun.site/post/edx/open-edx-startup/ cozmo系列之入门 - 有性格且可编程的机器人 PaperWeekly开发笔记 创业二三事
Scratch 社区数据分析 与 智能系统
种瓜 · 2020-02-11 · via 夜行人

文章目录

前言

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

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


使用爬虫,抓取 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 提供什么有价值的服务? 对我们之后构建国内社区是否有帮助?

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


注1

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

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

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

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

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

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

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

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

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

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

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

追随热情而不是奖章。