66 lines
2.6 KiB
Markdown
66 lines
2.6 KiB
Markdown
# 情境化选词工作示例
|
||
|
||
## 实际案例:L1-S2 U17~U24(2026-04-03)
|
||
|
||
### 基本参数
|
||
- 词库:160词条(含虚词18个)
|
||
- 分配目标:8 Units × 5 Lessons × 4词 = 160词
|
||
- 虚词分布:U17×2, U18×2, U19×2, U20×3, U21×2, U22×2, U23×3, U24×2 = 18 ✓
|
||
|
||
### 虚词统计与分配示例
|
||
|
||
词库中共18个虚词(adv/pron/det/prep):
|
||
|
||
| 虚词 | 词性 | 词义 | 分配Unit | 分配理由 |
|
||
|------|------|------|---------|---------|
|
||
| ago | adv | 以前 | U17-L1 | 包裹数年前寄出,ago天然嵌入「时间跨越」情境 |
|
||
| home | adv | 回家/在家 | U17-L4 | 速猴行为神秘,主角回home,自然收尾 |
|
||
| early | adv | 早地 | U18-L1 | 上学场景,early早起天然匹配 |
|
||
| now | adv | 现在 | U18-L3 | 课堂进行中,now强调当下 |
|
||
| again | adv | 再一次 | U19-L2 | 再试一次完成任务,again语义完全贴合 |
|
||
| like | prep | 像 | U19-L3 | 打比方情境,like作比喻连接词 |
|
||
| a lot | adv | 非常 | U20-L3 | 乒乓球a lot地弹跳,副词修饰动作 |
|
||
| many | det | 许多 | U20-L1 | 运动会many项目,限定词描述规模 |
|
||
| very | adv | 非常 | U20-L1 | 运动会very exciting,强调程度 |
|
||
| some | det | 一些 | U21-L1 | 迷路学者ask有没有some水 |
|
||
| these | det | 这些 | U21-L2 | 搭基地时「把these材料add进去」 |
|
||
| a lot of | det | 大量的 | U22-L1 | 速猴备好a lot of糖果诱惑孩子 |
|
||
| a lot | pron | 大量 | U22-L4 | 蜡烛仪式,a lot of children聚集 |
|
||
| lots | adv | 非常 | U23-L1 | 假镇长发布lots of奇怪命令 |
|
||
| lots | pron | 大量 | U23-L3 | 还有lots of证据要查 |
|
||
| really | adv | 真正地 | U23-L2 | 「这person really是镇长吗?」 |
|
||
| one | det | 一个 | U24-L4 | one by one分配任务 |
|
||
| those | det | 那些 | U24-L3 | those圆球机器人所需的零件 |
|
||
|
||
### 词库预处理脚本参考
|
||
|
||
读取Excel词库时的Python核心逻辑:
|
||
```python
|
||
import openpyxl
|
||
wb = openpyxl.load_workbook('wordlist.xlsx')
|
||
ws = wb['单词表']
|
||
words = []
|
||
for row in ws.iter_rows(min_row=2, values_only=True):
|
||
word, pos, meaning, theme = row[1], row[2], row[3], row[4]
|
||
if word:
|
||
words.append((word, pos, meaning, theme))
|
||
virtual = [(w,p,m,t) for w,p,m,t in words if p in ('adv','pron','det','prep')]
|
||
```
|
||
|
||
### 验证脚本参考
|
||
|
||
```python
|
||
used = {}
|
||
def assign(word, pos, unit, lesson):
|
||
key = (word, pos)
|
||
if key in used:
|
||
print(f"DUPLICATE [{unit}-{lesson}]: {word}({pos}) -- already in {used[key]}")
|
||
return False
|
||
used[key] = f"{unit}-{lesson}"
|
||
return True
|
||
|
||
# 分配完成后验证
|
||
remaining = ALL_WORDS_SET - set(used.keys())
|
||
assert len(remaining) == 0, f"Missing words: {remaining}"
|
||
```
|