10 岁以上 · 进阶 · Scratch

标题侦探:训练 AI 辨认文字风格

Headlines

你会训练一个 AI,让它只看一条新闻标题,就能猜出这条标题出自哪一家报纸。更重要的是,你会在 Scratch 里给它做一套「考试」,亲手测出这个 AI 到底准不准、容易把哪两家报纸搞混。

🧠背后的 AI 概念

不同报纸在用词和语气上有各自的习惯,AI 能从大量标题里学到这些「文字风格」上的规律,从而判断一条新标题更像哪一家。但训练完不能只看它「好像会了」——你必须用它没见过的标题来考它、算出正确率,才知道它到底学得怎么样。「怎么测试一个 AI 准不准」是这个项目最重要的一课。

动手教程

1

在浏览器打开 machinelearningforkids.co.uk,点「Get started」,再点「Log In」登录(孩子没有账号就先注册,课堂使用可以问老师要账号)。

2

点顶栏的「Projects」,点「+ Add a new project」,项目起名 "newspapers",类型选识别「文字 text」,点「Create」,然后在项目列表里点进它。

3

点「Train」开始收集例子。先选定 4 家报纸(worksheet 用的是 Daily Express、Daily Mirror、The Guardian、The Independent;国内也可以用标题风格明显不同的 4 家媒体),用「+ Add new label」给每家报纸建一个分类桶。

4

先和孩子一起定好收集规则,保证数据口径一致:只用周一到周五的工作日报纸、每份只取头版最醒目的那条主标题。不想买实体报纸的话,可以用 thepaperboy.com 的报纸头版合集找标题。

5

在第一个桶里点「+ Add example」,把当天这份报纸的主标题复制进输入框。四家报纸当天各收一条,分别放进各自的桶。

6

重复收集 5 个工作日,让每家报纸有 5 条训练例子。在 thepaperboy.com 可以用页面底部的日历切换日期;用「Front Page Headline View」可以直接复制文字版标题,省去打字。

7

点「< Back to project」回到项目,进「Learn & Test」,点「Train new machine learning model」开始训练,等几分钟让模型学完。

8

训练完成后,在 Test 测试框里输入一条模型没见过的标题,看看它猜的是哪家报纸——先对模型的水平有个直观感受。

9

点「< Back to project」,点「Make」→「Scratch 3」→「Open in Scratch 3」。在 Scratch 里打开 Project templates 中的「Headlines」模板,把 graph-block 角色的造型改成你的四家报纸名字,并同步修改舞台上 label-1 到 label-4 的文字,保证顺序和颜色一一对应。

10

再为每家报纸收集 10 条新标题(注意:绝不能和训练数据重复,大约要再翻两周的报纸)。在 Scratch 的「变量 Variables」区点「Make a List」,建 4 个名字以 "test" 开头的列表,把测试标题分别录进去,录完取消勾选把列表隐藏。

11

再建 4 个变量("number …")和 4 个列表("results …")来统计识别结果,外加一个 "newspaper" 变量,全部设为隐藏;同时把模板里 reset test 积木块中的报纸编号改成和你造型、标签的顺序一致。

12

点「Make a Block」,为每家报纸各做一个 "test … headlines" 自定义积木:把该报的 10 条测试标题逐条送进「识别文字 recognise text」积木,统计被识别成各家的数量。做完第一个后可以右键复制再改列表名,能省不少时间。

13

点扩展图标加载「画笔 Pen」扩展,再做 "draw graph …" 画图积木和计算正确率的积木;最后用模板的主脚本把四份测试串起来。点绿旗运行:每行 10 个色块代表 10 条测试标题的识别结果,最后算出总正确率(worksheet 作者第一轮只对了 43%,还发现模型分不清 Express 和 Mirror 的标题)。

14

点「File → Save to your computer」保存 Scratch 作品。回到平台的「Train」再补两周标题(每家累计 15 条,同样不能用测试集里的),重新训练后回 Scratch 再点绿旗,对比两次正确率——看看更多数据有没有让模型变准,再想想为什么。

准备好动手了?

跟着上面的中文教程一步步做;英文原版 worksheet 可留作对照。