历时音变引擎

定义和预览历时音变规则,模拟语言的历史演变。

导航:切换到子语言后,前往 历时音变引擎

字符模式

通过指定目标字符和替换字符来定义音变规则:

字段说明示例
目标 (Target)要替换的音素/字符(空格分隔)p t k
替换 (Replacement)替换为的音素/字符b d g
前置环境目标前面必须匹配的内容V(元音宏)
后置环境目标后面必须匹配的内容V
例外不应用此规则的词

支持宏展开:V 自动展开为元音列表,C 展开为辅音列表。

边界符号

  • #:词边界(兼容旧写法)
  • ^:词首边界(会归一化为边界匹配)
  • $:词尾边界(会归一化为边界匹配)

可表达“只在词首/词尾变化”的规则。

示例

"词间元音之间的清塞音浊化":

  • 目标:p t k
  • 替换:b d g
  • 前置环境:V
  • 后置环境:V

特征模式

基于语音学特征定义更精确的音变规则:

  • 目标特征:用 +/- 指定目标音素特征(如 [+voiced, -stop]
  • 替换特征:指定要设置/移除的特征
  • 音素匹配:实时显示匹配指定特征的所有音素
  • Jaccard 相似度:特征替换后自动寻找最接近的 IPA 音素
  • 特征倒排索引:O(1) 查询加速

支持边界伪特征,便于在特征规则里表达“仅词首/词尾”的条件。

预览功能

  • 单词测试:输入单词 → 实时查看音变结果 + 逐步日志
  • 批量预览:仅显示发生变化的条目,并支持分页浏览全量变化项
  • 应用到词典:将变化写回词典受影响词条

扩展应用范围(新增)

SCA 批量应用不再局限于词典词形,还可作用到语法规则字段:

  • 屈折规则(Inflection)
  • 派生规则(Derivation)

规则级开关

每条屈折/派生规则都有 Allow SCA edits 开关:

  • 默认关闭(安全)
  • 开启后才允许该规则参与 SCA 改写

这样可分批迁移规则,避免一次性改坏整个语法系统。

批量预览列说明

  • Scope:变更来源(Lexicon / Inflection / Derivation)
  • Target:具体对象(词条或规则名)
  • Field:被改写字段(如 affix / infix / circumfix 等)
  • Original / Result:改写前后对照

使用步骤

  1. 创建 规则集
  2. 添加音变规则
  3. 预览 中测试效果
  4. 在批量预览中确认变化范围与字段
  5. 确认后点击应用按钮保存改写

与其他模块的关系

  • 语系树:子语言从父语言拉取新词时可自动经过 SCA 演变。
  • 语料库:语料模块提供独立的 SCA diff 预览与勾选应用入口。
  • 语法:可通过规则级开关决定哪些屈折/派生规则参与演变。