2.4 KiB
2.4 KiB
词库统一 Schema(vocab-1.1)
vocab-1.1 在原有 vocab 记录上新增 source.source_id 血缘字段(记录级 license 标注模式原样继承,这是现有设计最好的部分)。每行一条 JSON(JSONL),一条记录 = 一个单词条目。
记录级字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id |
string | ✅ | 全局唯一 {cefr缩写}{考试}-{来源}-{序号4位},如 a2k-vocab-0001 |
level |
string | ✅ | A2/B1 |
headword |
string | ✅ | 词头 |
pos |
array | ✅ | 词性,如 ["det","adj"];无则 [] |
pos_notes |
string|null | ❌ | 词性说明 |
examples |
array|null | ❌ | [{text}] |
phrases |
array|null | ❌ | 短语 |
topics |
array|null | ❌ | 主题标签 |
origin |
string | ✅ | 来源分类,如 main_list |
source |
object | ✅ | 溯源 + 血缘(见下) |
gloss |
object | ✅ | 释义对象(见下) |
source 对象(含血缘)
{
"source_id": "cambridge-official", // [新增·必填] 指 sources/ 的 source id
"source_item_id": "a2-key-vocab", // [新增·可选] 精确到文件
"file": "assets/vocab/a2-key-vocabulary-list.pdf",
"url": "https://www.cambridgeenglish.org/Images/506886-a2-key-2020-vocabulary-list.pdf",
"publisher": "Cambridge English / UCLES",
"licence": "official-free" // 记录级 license 标注,原样保留
}
注意:现有 vocab 用
licence(英式)字段名;迁移时保留不改,新增source_id。licence取值遵循../LICENSES.md枚举。
gloss 释义对象
{
"zh": "几个, 少数, 一些",
"phonetic": "/ə/ 或 /eɪ/",
"phonetic_source": "..." ,
"source": "ecdict",
"licence": "CC-BY-SA-4.0" // 释义来源 license,记录级标注
}
zh:中文释义;phonetic:音标;phonetic_source:音标来源;source:释义来源(如ecdict);licence:释义 license。- 若释义为 LLM 生成,
source: "llm"、licence: "llm-generated"。
机器校验
../schemas/vocab-1.1.schema.json 为该格式 JSON Schema。tools/lint_structured.py 校验:每条 source.source_id 必须存在于 sources/;词条的对外 license = 词表 source 与 gloss.licence 的最严格者。
词集
word-sets.json:数字/星期/月份等主题词集,引用 vocab 的 id。与 vocab JSONL 同目录。