Files
English/kouyu_english/assets/courses/A0/a0-09.json
T
shenleiandClaude Opus 5 6b42b7abc3 feat: 独立词库、三向认词与当日快闪复习
## 独立词库

理解词原先只能跟着课程单元走,学完 A0 十课词汇量只增加约 22 个实词,
不足以解决"记不住单词"。新增一份独立词库 assets/words/wordbank.json
(2748 词,A1–B1),挂进 receptiveWordRegistry 的合成单元 bank-A1/A2/B1,
完全复用理解词已有的状态机,不依赖课程进度,第一天就能用。

数据来源、许可与合成规则记在 tool/words/DATA-NOTE.md:CEFR-J 定等级、
公开词书提供音标、AI 重写全部释义并生成例句、OpenSubtitles 提供口语词频。
词书部分为 CC BY-NC-SA 4.0 且上游权利不明,仅供个人非商用;
若要分发或上架,须替换音标那一列。

## 背单词机制

- 间隔阶梯 1/3/7/15/30/60/120 天,连续答对上一级,答错回第一级。
  原先首次答对后要等 7 天才复习,正是"第二天就忘"的成因。
- 每日新词上限(10 分钟 8 个 / 20 分钟 15 个 / 30 分钟 20 个)。
  阶梯第一级是次日,今天引入的新词就是明天的工作量。
- 新词按口语频率发放,不再按字母序 —— A1 从 a.m./ability 变成 no/not/know/just。
- 三个方向按层级轮转:看词(英→中)→ 听词(音→中)→ 想词(中→英)。
  想词题仍是选择题,不要求产出,理解词定位不变,不进升级分母。
- 单词页独立成 tab,首页今日任务卡下方给一张认词入口卡。

## 用法对照

课程 JSON 增加 usage 字段(when/reply/swap/confuse):一个句型用在什么场合、
对方通常怎么答、还能怎么说、跟哪个学过的句型容易混。
知道 How are you? 的意思,不等于知道它不是用来问名字的。

## 复习流

- 当日快闪(recap)独立成队列,不占复习预算,也不计入积压。
- 只发放当日预算内的量,其余保持到期状态等下次,不悄悄丢弃或改期。
- 答错的项隔几题后回来,而不是立刻重问。

测试 296 通过,flutter analyze 干净。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-20 23:54:17 +09:00

394 lines
9.1 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"id": "a0-09",
"level": "A0",
"status": "approved",
"title": "我喜欢……",
"canDo": "表达喜好并回答",
"categories": [],
"coreItems": [
{
"id": "A0-W29",
"type": "word",
"en": "coffee",
"zh": "咖啡",
"match": [
[
"coffee"
]
],
"review": {
"prompt": "把“咖啡”写成英文。",
"dictation": {
"sentence": "I like coffee.",
"meaning": "我喜欢咖啡。"
}
}
},
{
"id": "A0-W30",
"type": "word",
"en": "tea",
"zh": "茶",
"match": [
[
"tea"
]
],
"review": {
"prompt": "把“茶”写成英文。",
"dictation": {
"sentence": "Do you like tea?",
"meaning": "你喜欢茶吗?"
}
}
},
{
"id": "A0-W31",
"type": "word",
"en": "music",
"zh": "音乐",
"match": [
[
"music"
]
],
"review": {
"prompt": "把“音乐”写成英文。",
"dictation": {
"sentence": "I like music.",
"meaning": "我喜欢音乐。"
}
}
},
{
"id": "A0-W32",
"type": "word",
"en": "movies",
"zh": "电影",
"match": [
[
"movies"
]
],
"review": {
"prompt": "把“电影”写成英文。",
"dictation": {
"sentence": "Do you like movies?",
"meaning": "你喜欢电影吗?"
}
}
},
{
"id": "A0-W38",
"type": "word",
"en": "yes",
"zh": "是",
"match": [
[
"yes"
]
],
"review": {
"prompt": "把“是”写成英文。",
"dictation": {
"sentence": "Yes, I do.",
"meaning": "是的,我喜欢。"
}
}
},
{
"id": "A0-W39",
"type": "word",
"en": "no",
"zh": "不",
"match": [
[
"no"
]
],
"review": {
"prompt": "把“不”写成英文。",
"dictation": {
"sentence": "No, I don’t.",
"meaning": "不,我不喜欢。"
}
}
},
{
"id": "A0-P18",
"type": "phrase",
"en": "I like [thing].",
"match": [
[
"/\\bi (like|love) [a-z]{2,}/"
]
],
"review": {
"prompt": "说出你喜欢的一样东西。",
"hint": "用 I like … 说一项喜好。",
"dictation": {
"sentence": "I like music.",
"meaning": "我喜欢音乐。"
}
},
"usage": {
"when": "说出你喜欢的一样东西。",
"reply": "对方可能反问一句 Do you like coffee?",
"confuse": [
{
"id": "A0-P19",
"note": "I like tea. 是在说自己,Do you like tea? 才是问对方;问对方要把 Do you 放在最前面。"
}
]
}
},
{
"id": "A0-P19",
"type": "phrase",
"en": "Do you like [thing]?",
"match": [
[
"do you like"
]
],
"review": {
"prompt": "问对方是否喜欢一样东西。",
"dictation": {
"sentence": "Do you like coffee?",
"meaning": "你喜欢咖啡吗?"
}
},
"usage": {
"when": "想知道对方喜不喜欢某样东西。",
"reply": "对方会回 Yes. 或 No.",
"confuse": [
{
"id": "A0-P18",
"note": "Do you like tea? 是问对方,I like tea. 是说自己喜欢。"
}
]
}
}
],
"segments": [
{
"id": "a0-09-a",
"title": "我喜欢……",
"minutes": 12,
"itemIds": [
"A0-W29",
"A0-W30",
"A0-W31",
"A0-W32",
"A0-W38",
"A0-W39",
"A0-P18",
"A0-P19"
],
"grammarNote": "说喜好用 I like + 东西;一般问句用 Do you like + 东西?",
"vocabulary": [
{
"id": "a0-09-like",
"word": "like",
"meaning": "喜欢",
"example": "I like tea.",
"exampleMeaning": "我喜欢茶。",
"ipa": "/laɪk/"
},
{
"id": "a0-09-tea",
"word": "tea",
"meaning": "茶",
"example": "Do you like tea?",
"exampleMeaning": "你喜欢茶吗?"
},
{
"id": "a0-09-music",
"word": "music",
"meaning": "音乐",
"example": "I like music.",
"exampleMeaning": "我喜欢音乐。",
"ipa": "/ˈmjuːzɪk/"
},
{
"id": "a0-09-movies",
"word": "movies",
"meaning": "电影",
"example": "Do you like movies?",
"exampleMeaning": "你喜欢看电影吗?",
"ipa": "/ˈmuːviz/"
}
],
"sceneId": "a0-09-a",
"listening": {
"text": "Do you like tea? Yes, I do.",
"question": "对方喜欢茶吗?",
"options": [
"喜欢",
"不喜欢",
"不知道"
]
},
"speaking": [
{
"text": "I like tea. Do you like tea?",
"tip": ""
}
],
"reading": {
"text": "Mia: I like tea. Do you like tea?\nShen: No, I don’t. I like coffee and music.\nMia: Do you like movies?\nShen: Yes, I do.",
"question": "Shen 喜欢喝什么?",
"options": [
"Coffee",
"Tea",
"Music"
]
},
"writing": {
"prompt": "写一句你的喜好。",
"example": "I like tea.",
"accept": [
[
"like"
],
[
"#words:3"
]
],
"hint": "用 I like … 写出一种喜好。"
},
"independent": {
"prompt": "不看句框,说一个喜好并反问。",
"help": "I like … / Do you like …?",
"accept": [
[
"i like",
"i love"
],
[
"do you like",
"#question"
]
]
}
}
],
"scenes": [
{
"id": "a0-09-a",
"kind": "main",
"title": "我喜欢……",
"goal": "表达喜好、回答和反问",
"turns": [
{
"ai": "What do you like?",
"aiZh": "你喜欢什么?",
"goal": "说出你喜欢什么",
"model": "I like tea.",
"accept": [
"i like",
"i love"
]
},
{
"ai": "Do you like tea?",
"aiZh": "你喜欢茶吗?",
"goal": "回答是否喜欢",
"model": "Yes, I do.",
"accept": [
"yes",
"no",
"i do",
"i don't",
"i do not"
]
},
{
"ai": "Now ask me what I like.",
"aiZh": "现在请问我喜欢什么。",
"goal": "反问对方的喜好",
"model": "Do you like tea?",
"accept": [
"do you like",
"#question"
]
},
{
"ai": "Say your like one more time.",
"aiZh": "请再说一次你的喜好。",
"goal": "再说一次你的喜好",
"model": "I like tea.",
"accept": [
"i like",
"i love"
]
}
]
},
{
"id": "a0-plan",
"kind": "variant",
"title": "约个时间",
"goal": "说明星期、时间和喜好",
"turns": [
{
"ai": "Hi! What day is it today?",
"aiZh": "嗨!今天星期几?",
"goal": "说出今天星期几",
"model": "It’s Friday.",
"accept": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
]
},
{
"ai": "What time is it now?",
"aiZh": "现在几点?",
"goal": "说出现在几点",
"model": "It’s three o’clock.",
"accept": [
"o'clock",
"oclock",
"it's + #digit",
"it is + #digit"
]
},
{
"ai": "Do you like coffee or tea?",
"aiZh": "你喜欢咖啡还是茶?",
"goal": "说出你的喜好",
"model": "I like tea.",
"accept": [
"i like",
"i love",
"yes",
"no",
"i don't"
]
},
{
"ai": "Me too! Now ask me one question.",
"aiZh": "我也是!现在问我一个问题。",
"goal": "反问对方",
"model": "Do you like music?",
"accept": [
"#question"
]
}
],
"practice": {
"title": "约个时间",
"summary": "说星期和整点,回答喜好,并反问对方",
"recapPrompt": "用英语说今天星期几和现在几点。"
}
}
],
"tasks": [],
"materials": []
}