contextual-word-allocation..../references/workflow-example.md

66 lines
2.6 KiB
Markdown
Raw Permalink 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.

# 情境化选词工作示例
## 实际案例L1-S2 U17~U242026-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}"
```