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

推荐订阅源

博客园_首页
T
Threat Research - Cisco Blogs
GbyAI
GbyAI
Y
Y Combinator Blog
美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
S
SegmentFault 最新的问题
IT之家
IT之家
Recent Announcements
Recent Announcements
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
阮一峰的网络日志
阮一峰的网络日志
T
The Blog of Author Tim Ferriss
Martin Fowler
Martin Fowler
Microsoft Azure Blog
Microsoft Azure Blog
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
WordPress大学
WordPress大学
博客园 - Franky
L
LangChain Blog
人人都是产品经理
人人都是产品经理
小众软件
小众软件
博客园 - 叶小钗
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
云风的 BLOG
云风的 BLOG
Vercel News
Vercel News
雷峰网
雷峰网
腾讯CDC
Google DeepMind News
Google DeepMind News
博客园 - 三生石上(FineUI控件)
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Help Net Security
Help Net Security
C
Check Point Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
N
News and Events Feed by Topic
V2EX - 技术
V2EX - 技术
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Schneier on Security
Schneier on Security
博客园 - 聂微东
A
Arctic Wolf
H
Heimdal Security Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
The Exploit Database - CXSecurity.com
C
Cyber Attacks, Cyber Crime and Cyber Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Google DeepMind News
Google DeepMind News

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 情人节 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开发笔记 创业二三事 blockly与结对编程
CodeLab Insight 发布 Alpha 版
种瓜 · 2020-02-19 · via 夜行人

介绍

CodeLab Insight 是 CodeLab 推出的 数据分析/可视化探索 服务。

服务于 少儿编程/STEM教育 领域的 教育者、学习者、研究员、运营人员 和 开发者。 当然也服务于我们自己(CodeLab的成员),以及CodeLab的合作伙伴。

旨在为他们提供从社区大规模数据中提取洞见(insight)建议的工具和服务。

先看 Demo

以下是我们目前开放测试的第一个Playground: Playground 1: Explore scratch popular projects.

图中的每一个彩色圆点均表示一个Scratch项目。

这个可视化工具可以帮助我们进行许多有趣的探索, 从几个简单例子出发:

任务1: 从最流行的10,000个项目中找到人们喜欢却复杂度不高的项目用于入门教学

默认情况下,用户点赞数(loves)作为x轴,项目包含的积木数量(all_blocks_count)作为y轴。

拖动选择条,让loves > 2000(超过2000个点赞)。 图中在y轴底下的都是我们的目标项目(越靠近x轴,越简单),所以一眼发现了很多可选目标。

可以看出,我们选择的项目有3466人点赞;39482人浏览过;有78个项目基于它继续创作;项目引发了1922条评论。

在复杂度上,它只用到3个精灵,25块积木之少!此外我们可以看出项目非常年轻,上个月才创建!

如果你想试运行这个项目,在小圆点上点击shift + click即可打开项目主页。

如果你乐于挑战,也可以找到所有项目中最复杂的(找到y轴最上方的即可)。

该项目由多达25678块积木构建,包含88个精灵。如此复杂的项目,还是有4个勇士基于它继续创作。

任务2: 探索点赞数(loves)与收藏数(favorites)之间的关系

点了favorite之后的项目,会被收藏起来,方便日后再玩,所以favorites通常意味着更大的喜欢。

来看看点赞数和收藏数之间的关系。

将纵轴改选为favorites, 可以看到关系十分清晰,肉眼可见,几乎不必做线性拟合。大约是4:3.2左右的关系,虽然这和直觉大体契合(正相关)。但我们可以获得对社区成员的行为模式更量化的感觉。

同样的道理,可以探索点赞数(loves)与浏览量(views)之间的关系,看看人们在浏览和玩耍项目时,有多少人会顺带点个赞呢?

不知道这个结果是不是符合你的预期。

粗略目测线性拟合的结果大约在40:1, 意味者每40个浏览者会有1人点赞,这或许和社区有大量匿名玩家有关。

更细致的处理(诸如线性拟合)可以在其他的Playground里做。

任务3: 探索项目复杂度(all_blocks_count)与它的拷贝数remixes(人们基于它继续工作)之间的关系

大量的项目聚集在y轴附近(x趋近于0)。而被很多人拷贝的项目,包含的积木数量很少超过5000。

太过复杂的项目,让人望而却步。这也符合直觉。如果你想创建社区成员喜欢的项目,太过庞大,可能曲高和寡,这和Github社区不大一样,Github的流行项目基本都是大型复杂项目。

我们来进一步分析,将评论数量(comments)映射为小圆点的尺寸大小,小圆点越大,说明引起的讨论越多。

可以看出讨论数与复杂性的关系与前头类似,太复杂的项目,引起的讨论也少.

但图中有一个奇异的点(我们用箭头指出了),这个项目值得点开一看。它既复杂,引起的讨论和remixes数都很多。想来有其好玩的地方。


可进行的探索数不胜数。

目前Playground 1已经发布 Alpha测试版,需要申请Access token才可访问 。

CodeLab主页页脚也有入口:

希望Playground 1能够帮助到 少儿编程/STEM教育 领域的 教育者、学习者、研究员、运营人员 和 开发者。

其他的Playground暂时未对普通访客开放,我们会陆续纳入开放计划里。

分析对象

当前全球最大规模的少儿编程/创作社区Scratch:

  • 49,919,098 (4991万) 分享项目
  • 52,021,627 (5202万) 注册用户
  • 238,671,904 (2.38亿) 条评论
  • 25,241,800 (2524万) 工作室

仅是过去的一个月,Scratch社区就有:

  • 263,916,040 (2.63亿) 页面浏览量
  • 46,152,020 (4615万) 访问
  • 20,913,650 (2091万) 独立访客

考虑到这是一个完全自发的社区,这些数字近乎奇迹。

孩子们在社区里追逐热情,分享创作,寻找同伴。 这儿没有考试、奖励等外部诱惑/压力,不像这个赛道上的绝大多数的编程/教育项目。

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

如果你也认同蒙台梭利的这句话,那么当看到这个社区里产生的动人故事和惊人创造力(《终生幼儿园》一书里记录和许多),就不会觉得奇怪。

创造当然发生在一片自由人的国度。这正是蒙台梭利的核心论点之一。

考虑到这些,CodeLab Insight的第一个目标锚定在Scratch社区。 尽管未来可能会将视野拓宽到其他编程教育社区。但近期内我们选择目前 最优秀/最开放 的社区作为第一个分析对象。

由于Scratch是今天整个少儿编程行业的推动者(很多人甚至将Scratch等同于少儿编程本身),因其开放性和优秀的架构设计。今天全球范围内,大量的少儿编程平台,都基于Scratch开放的部分来构建。

所以CodeLab Insight也适用于与Scratch保持数据格式(projectJson)兼容的产品。

社区网络

如果你对Scratch社区还不了解,可以参考我们之前的文章: https://www.codelab.club/blog/scratch-community-analyze/

社区是个非常宽泛的概念,在此,我们关注数据视角下的社区。

Scratch社区拥有海量的注册用户(users)、分享项目(projects)、工作室(studios)、讨论(comments), 这些实体(entities)组成错综复杂的网络:

  • 用户关系网(user--follow--user)
  • 项目关系网(project--remix--project)
  • 用户与项目关系网(user--create/love/favorite--project)
  • 用户与工作室关系网(user--create/curate--studio)
  • 项目与工作室关系网(studio--collect--project)
  • 评论与 用户/项目/工作室 关系网

如果你了解知识图谱(Knowledge Graph), 就会发现,利用前边我们列出的这些三元组(Triples),加上网络爬虫采集的海量数据,可以构建一张巨大的网络, 涵盖了社区发生的一切。

这些数据,以及由此产生的可视化工具和知识图谱等,可以做许多有意思的事情, 它们不是静物, 而是可交互的知识网络。

典型用例

以下是一些典型用例。

教育者

供教育者使用,将其做海量资源库,用于构建教学内容,诸如使用可视化工具轻松找到孩子们喜欢却不太难的项目。教育者也可使用Scratch项目结构可视化工具,分析学生项目的构成,从而更好评估计算思维 (可依据 Mitchel Resnick 2012年发表的论文)

学习者

供学习者使用,由此构建的推荐系统和AI教师,可以直接辅助学习者,为其提供建议,帮助学习者寻找Peers(聚类)、寻找感兴趣的Projects(协同过滤),以及Passion(favorite数据是不错的指标)所在。去实现《终生幼儿园》提到的4P(Projects,Passion,Peers,Play)。

社区运营者

供社区运营者使用,可视化工具将帮助运营者发现社区里热门事件、趋势。

开发者

供开发者使用,我们在提取这些数据时,构建了一些基础工具,诸如提取Scratch项目内部结构的工具(sprite/blocks)、Scratch项目结构可视化图表,之后可能会做成服务,提供出来。

领域Chatbot/AI教师

用于构建领域Chatbot。用个营销意味浓一些的词汇叫AI教师, 当然今天宣称的编程教育AI教师多数都没有知识图谱作为支撑。

推荐系统/社区冷启动

推荐系统。推荐系统容易出现稀疏性和冷启动的问题,知识图谱可对其加以改进。 可以更好地服务早期社区,将社区启动起来。

行为模式

结合聚类以及针对图的算法做进一步分析,挖掘出数据模式,从而对大规模人群的行为模式作分析和判断。

科研人员

供科研人员使用。这是该领域迄今为止目前最大的开放数据集。追随蒙台梭利的研究者会尤其喜欢它,因其是在自发情况下产生的真实数据!

技术构成

以下是我们目前所用的一些技术工具。

未来

未来CodeLab可能会定期发布白皮书。

Playground 1: Explore scratch popular projects 是很小的一个例子,但其展示的东西让很多从业者感兴趣。

我们之后也许利用获取的这些巨大数据和经由分析工具得出的结论,定期对外发布。

当然我们欢迎合作伙伴基于我们已有的工作,进行更深入的合作探讨。

背景思考

以下列出我们进行数据分析的思考背景和启发读物:

在这项工作前,我们之前做的一些准备工作和讨论也列出在此: