Kinnuch bio photo

Email

Github

荏苒之境

Nethaid Mellyn 友站链接

荏苒之境主站

kikomas

Cathamos

Sicusa

构形

← 指南目录 · English · 导航栏第七项(旧称「范式」)

构形(paradigm)把语法维度组合成槽位,再给每个槽位一个生成器,就能从词干自动推导全部屈折形。屈折、黏着、模板交替、重叠都能表达;没有屈折的语言可以完全不用这一页。

1. 结构

  • 维度是词会跟着变的分类,比如数、格、时态,在词库的「词类与维度」子页定义。
  • 构形选若干维度,把各维度的取值两两相配,得到槽位:单.主、单.宾、复.主…… 槽位标签就是取值名用 . 连接,也是词条 forms 的键。维度圆框的先后决定槽位名里谁在前(也决定表格里谁作行、谁作列),可以用圆框上的箭头挪,也可以按住拖到另一个圆框上。槽位认的是取值的组合,跟维度先后无关:换了先后、删掉一个维度再加回来、两个维度顺序不同的构形互相继承,每个槽位的写法、变体、停用都还在;词库里按槽位名存的屈折形跟着挪到新名下。旧版本的项目打开时自动转换。
  • 槽位数是各维度取值数相乘,维度一多涨得很快:乘出来超过 500 个时,加维度前会弹框提醒(仍然可以加),槽位说明也变成警告色。槽位太多时构形页、推导和词条录入都会变慢。
  • 不需要的槽位可以禁用。
  • 构形可以继承另一个构形:子构形只写差异槽位,其余沿用父构形。
  • 词类绑定构形后,该词类的词条在词库录入模式里出现槽位面板;也可以在单个词条上指名换一个构形。
  • 一个词类可以绑几个构形(比如动词的变位法一、变位法二):在检视器的「绑定词类」里勾上。先绑上的是默认,没挑构形的词条用它;另外那几个构形的这一行有「设为默认」;没勾的词类后面小字写着它已经绑了哪些。词条在录入模式的构形下拉里挑用哪一个(「这个词类的构形」单列一组);测试台先列出正在用这个构形的词,再列出词类绑了它、还没改用它的。
  • 每个构形是顶部的一个标签,标签可以分组,操作跟音变 · 规则集的标签分组一样(点分组名收起展开,右键标签或分组名挪组、改名、换色)。没动过分组时按词类分:绑了构形的每个词类一组,组名就是词类名(绑了几个词类的放进第一个);什么词类都没绑的(比如作用于所有词的)不分组。

维度可改 / 维度已锁

「维度」标题右边的按钮在两种状态之间切换:

  • 维度可改(默认):点一个维度就真的把它加进这个构形、再点去掉,槽位跟着重算。
  • 维度已锁:眼下这些槽位固定下来(底色深一点),怎么点维度都不再改动构形的槽位范围。这时点一个维度只是筛选要看哪些槽位——只留下用上了这个维度的那些。构形自己用着的那几个维度也一样点得动:上锁之后它们底色更沉、前面带一把小锁,跟没用上的分开,点一下照样按它筛(圆框上的上下箭头仍然管挪先后)。筛过之后圆框后面出现「清空筛选」「筛出来的都启用」「筛出来的都停用」,一次开关一批槽位。维度下面那行写着眼下显示几个、固定下来一共几个。

写过写法的槽位一直算数

槽位按取了哪几个值认,所以写过写法的槽位不会因为改维度而消失:换了维度、删掉一个维度再加回来,之前在那些格子里写的东西都还在,推导、测试台、词条里照样算数。维度比眼下这套多一层的槽位也能并存——「时.体.人称」和「时.体」同时留着,排在维度组出来的槽位后面;表格与树形图只按眼下这套维度排,要看它们就回可视化。

反过来,维度比眼下这套少一层的槽位(加了一个维度之后留下的旧格子)在简洁模式下不再单独列出来:列表就是新维度的完整排列组合,旧写法作为继承来源,在继承到它的每一格上标着「继承自 …」,点旁边的「改成自己的」就把那份写法复制成这一格自己的。复杂模式下它们照旧各占一行。

简洁模式与复杂模式

「设置 → 当前项目 → 构形」里的「复杂模式:维度多的槽位各写各的」默认不勾,也就是简洁模式:

  • 简洁模式下,维度多的那一格(「极性.时.人称」)自己没写法时,自动接着维度少的那一格(「极性.时」)往下变——按构形里维度的先后从末尾一个个去掉,找到第一个写了写法的就用它;按条件换字母、异体形仍按这一格自己的取值算。
  • 勾上复杂模式后各算各的,维度多的那格不写就没有形式。

好处是共同的部分只写一次:只在真正不一样的格子里写,其余空着就行。示例工程 Aelith 的动词就这么写——第三人称没有人称后缀,那几格干脆不写,接着「极性.时」两个维度的槽位往下变。

2. 主区:槽位表

「槽位」标题右边切换三种看法:

  • 可视化(默认):每行一个槽位——启用勾选、槽位名(维度取值有 gloss 缩写的,缩写用小字写在槽位名下面,不单占一列)、生成器、流水线,直接在行里改。每行最前面的三角把这一行收起成一行字(槽位名和缩写,后面小字写这一格怎么构成,点小字展开);「槽位」标题右边的「全部收起 / 全部展开」一次收起或展开全部槽位。收起状态记在本机,从表格、树形图点一格回来时那一格自动展开。生成器下拉下面有两个小按钮:「复制这个槽位的写法」和「粘贴到这个槽位(换掉原来的写法)」,几个槽位写法差不多时复制过去再改(剪贴板的说明见第 3 节)。生成器选「组合(流水线)+ 影响发音」时,拼写那条流水线下面还有一条发音流水线(见影响发音)。
    • 双击槽位名(或者把鼠标放到这一行,槽位名旁边冒出来的那个小箭头「挪到别的槽位」):写法放错了槽位时用。弹出「把「…」的写法挪到…」,上面搜槽位名或缩写,下面列出其他槽位,已经有写法的带「已有写法」;点一个,这一格(正在看的变体里)的写法就挪过去,这一格变回「无」。目标已经有写法时先问要不要换掉;挪错了 Ctrl+Z 撤销。这一格还没写法时只提示一句。
  • 表格:第一个维度作行、第二个维度作列排成一张表;有第三个维度起,它的每种取值(几个维度就是每种组合)各画一张,表上方写着是哪一种。只有一个维度时就是一列。
  • 树形图:按维度的先后一层层分叉,最末一层是槽位;分叉点点一下收起或展开(槽位超过 200 个时默认收着,点开哪支画哪支)。

表格和树形图的每一格写着测试台上那个词的推导形式(在检视器的测试台里换词;测试台上没有词时只写这一格的写法),下面小字是这一格怎么构成的——每一步的词缀、跑哪套音变、微调的第一行,词干不是词头时写成「词干名」;推导跟词条里手填的对不上时形式标红,停用的格子写「停用」,被顶栏搜索或槽位筛选筛掉的格子变淡。点任意一格回到可视化,并滚到那一格闪一下。

筛选槽位

可视化里勾选框那一列的正上方有一个漏斗(表格、树形图里在「槽位」标题这一行的右边),点击后可以挑要看哪些槽位:

  • 状态:全部、已启用、已停用,按钮上写着各有几个。
  • 各维度的取值:构形用到的每个维度一行,点一下取值就按它筛,再点一下取消。同一维度里点了几个取值,满足其中一个即可;不同维度要同时满足——比如点「复数」「主格」「宾格」,就只剩复数的主格和宾格。
  • 面板下面写着显示了几个,点击「启用这 n 个」「停用这 n 个」即可把筛出来的这批一次改完;「清空筛选」回到全部。

筛着的时候漏斗是亮的,「槽位」后面写成「4 / 8」这样;表格、树形图里没筛出来的格子变淡,点到这样的格子会提示,点击提示里的「清空筛选」就跳过去。只看已启用(或已停用)时,刚勾掉的那一行先留在原地,不会一点就从列表里消失,改了筛选才重新算。每个构形的筛选各记各的,切到别的模块再回来还在,关掉项目就清空。顶栏搜索和上锁后点维度的筛选跟它叠在一起算。

3. 变体

同一个槽位有两套并行的说法时(口语 / 文言、A 式 / B 式),不必新建整个构形:

  1. 槽位表上方的「变体」条里新建一个变体,取个名字。新变体先照搬正在看的那一套(继承来的仍然继承),改几处就行。
  2. 切到该变体后再改槽位,只有你改过的槽位属于这个变体,其余照「通用」那一套走。
  3. 词条上可以选用哪个变体;切换后会重算推导出来的形式,手填过的不动。
  4. 鼠标放到变体按钮上,右边会出现一支铅笔:点它就地改名。没选变体时改的是基础那一套(默认叫「通用」,比如改成「书面」),词条的变体下拉跟着显示新名字,清空就恢复「通用」。
  5. 「变体」条里的「复制这套」复制正在看的这一套里每个槽位实际用的写法(变体里没改过的槽位取「通用」那套的);「粘贴到这套」贴进正在看的这一套:槽位名对得上的换掉,这里没有的槽位(维度不同)跳过,提示条写着贴了几个。

复制槽位、复制一整套时,内容也写进系统剪贴板,可以贴到另一个窗口、另一个项目的构形里。纯欣赏项目里不能复制。

4. 流水线:从词干开始,一步一步加

每个槽位的生成器就是一条流水线:起点是词干(也可以是另一格),需要什么就添一步,步骤按顺序依次作用在上一步的结果上,可以用步骤上的左右箭头挪动次序,也可以按住步骤(别按在输入框上)拖到另一个步骤上。「增加步骤」的菜单鼠标移开一会儿就收起,按 Esc 也收。

词干[强形] → 前缀 @定指 → 后缀 -s → 跑音变(原始希克林语 → 瑟乌丝林语)→ 微调 -at

可用的步骤:

步骤 说明
前缀 / 后缀 字面写形式,或写 @语素 引用语素表(按异体形的环境自动挑)
中缀 形式 + 插入位置,位置写法见下
环缀 前后两截一起加,如 a- … -ot
模板 C1aC2aC3、maCCuC 这类词根 - 模板交替
重叠 整词 / 词首 / 词尾,配音段数(按拼写数:音位在主正字法里写作 th、eu 的算一个音,中缀位置和模板也一样)
跑音变 选规则集与起止阶段,把当前形式送进去跑
微调 每行一条小操作,写法见下
构形 构形套构形:把到这一步为止的形式当成词干,套另一个构形的某个槽位(可以再挑变体;下拉里第一项是那个构形没挑变体的那一套,写它自己的名字,默认是「通用」)。比如动名词加完 -mAk,再套「名词」构形的属格。套进去的构形里写的词干槽都回落到这个形式,按条件换字母仍看这个词条自己的语法特征;最多套 4 层,绕回自己的也会停下

同一种步骤可以出现多次:先加一个前缀、跑一遍音变、再加一个后缀、最后微调,都随你排。生成器下拉里四项:无(不推导)、查表(手填)(每个词手填)、组合(流水线)(这条流水线)、组合(流水线)+ 影响发音(这条流水线之外再写一条改发音的,见影响发音)。

旧版本的「拼接」「拼接后跑音变」「模板」「重叠」四种生成器,打开旧项目时会自动转成等价的流水线,推导结果不变。

起点:词干或另一格

流水线最前面那一格是个下拉:选「词干」,就跟原来一样在旁边写词干;也可以选「继承 某一格」——本构形的其他槽位(「本构形」一组),或者别的构形的槽位(按构形名分组)。这样流水线从那一格给同一个词条推出来的形式开始,后面加的步骤接着往下改;那一格的写法改了,这里跟着变。

  • 比如「虚拟.现在.3单」只比「虚拟.现在.1单」多一个后缀:起点选「继承 虚拟.现在.1单」,再加一步后缀。
  • 那一格在词条里手改过(覆盖)时,用手改的形式;那一格是查表、没写生成器时,用词条里存着的形式;都没有时退回词干。
  • 这一格怎么构成的小字里写成「继承「虚拟.现在.1单」」。
  • 继承套继承超过 4 层就停下。

影响发音

生成器选「组合(流水线)+ 影响发音」(原来是一个单独的勾选框)时,拼写那条流水线下面多出第二条,改的是发音(基于正字法的 IPA):

  • 最前面是「发音」下拉:「这一格转 IPA」是这一格推出来的拼写按主正字法的转音标规则转成的 IPA,「词条发音」是词条自己的发音。
  • 后面照样加步骤,除了「构形」哪种步骤都能用(比如一步微调 d > ð / V_V)。
  • 推导时结果存成这个形式的发音,词条卡里跟在形式后面(见词库 · 屈折形与构形)。
  • 换回「组合(流水线)」就藏起这条流水线、不再推发音,写过的步骤留着,选回来还在。

5. 写法速查

5.1 前后缀

写法 含义
-lar 字面后缀,首尾的 - = 会去掉
@复数 引用语素(按形式或 gloss 匹配),并按异体形的出现环境自动挑一个
@定指· / @定指 引用后面写的中点、空格原样拼上(@定指· + derg → sa·derg);写在 @ 前面的也一样
@mo 语素表里没有这个名字就找同名词条(词头),都没有就照字面拼;后面写的空格、中点照样保留
ė / an· 空格与中点原样保留:前缀写 ė 推出 ė derg,写 an· 推出 an·derg
留空 这一步什么都不加(整格只有空白也算留空)

按条件换字母:前缀、后缀、中缀、环缀和微调里写 {条件:形式|条件:形式|默认},推导时按这个词条、这一格挑出一支,其余部分不变。条件是维度取值的名字或缩写;词条自己的语法特征(性、名词类别这类不进构形维度的)和这一格的维度取值都算,同一个维度以这一格为准:

写法 含义
-{阴:g\|k}A 词条是阴性时用 g,否则用 k(示例工程 Aelith 的与格:sila → silaga,kaso → kasoka)
{性=阴:a\|o} 两个维度里有同名取值时,写上维度
{阳,中:o\|a} 逗号:对上任一个就算
{阴+复:ae\|阴:a\|o} 加号:都要对上;从左往右第一支对上的算
-{阳:s} 没有默认那支、又都没对上时,这一段是空的

流水线里写了这种词缀的步骤旁边用小字列出每种挑法,推导轨迹里写着这个词挑了哪一支;语料分词时每种挑法都当成词缀去剥。

5.2 中缀位置

中缀那一步的第二个框写插入位置,留空按 V1 处理:

写法 含义
V1 第一个元音之后
C1 第一个辅音之后
C2 / V2 第二个辅音 / 元音之后
C-1 最后一个辅音之后(负数从末尾数)
<C-1 最后一个辅音之前(开头的 < 表示插在它前面)
<V-1 最后一个元音之前
2 第 2 个音段之后(纯数字是绝对位置)
-1 倒数第 1 个音段之前

音段按语言的音位表与二合字母切分,所以 th、ng 这类会当成一个音段。

5.3 微调

微调步骤里每行一条,依次执行:

写法 含义
-at 末尾去掉 at
+u 末尾加 u
^-e 开头去掉 e
^+a 开头加 a
含 > 的行 按规则语言解释,如 a > e / _#、w > / i_#

微调放在流水线的哪一步就在哪一步生效——想在跑音变之前收拾词尾,就把它排在音变那一步前面。

音类、多合字母、特征也可以在微调里现写,对这一步的每一条规则都有效(写在哪一行都一样),不必先到音系页去建。替换两边的音类按位置一一对应;两个音并成一个时,同一个成员照写两遍:

; 词首清塞音浊化
{清塞}=p t k
{浊塞}=b d g
{清塞} > {浊塞} / #_
; t、d 都变 r:右边的 r 写两遍,后面的 s → z 才对得上
{甲}=t d s
{乙}=r r z
{甲} > {乙} / V_V

6. 词干槽

流水线起点的「词干」来自词条的词干槽。词干槽在词库 → 词类与维度里按词类定义(名称 + 说明,如名词的强形 / 中形 / 弱形),词条录入模式里逐个填;「词干」下拉会列出绑定词类的词干槽,旁边的提示也写着词干从哪来。填 lemma、留空、或这个词没填这个槽时,都用词头。

作用于所有词的构形

检视器里勾上「作用于所有词」的构形(词首音变、连读变化这类)不用绑定词类,也不往词条里写屈折形,一致性检查只跑项目一致性。它的用处在语料:分词时软件从词库里挑一批词喂给这条构形,比较前后,归纳出「词首 X 变成 Y」「词尾 X 变成 Y」的对照表;原文里的词对不上时,把开头或结尾换回原形再查,gloss 后面接上这个槽位的缩写。比如维度「词首音变」的「软音变(LEN)」槽写一步微调 m > w / #_,语料里的 na-wener 就能认出 mener「天穹.LEN」。测试台列出当前语言的全部词。勾上之后还可以选「只作用于哪门语言」,免得一门语言的音变被拿去反推别的语言。

7. 检视器:测试台

测试台标题右边切两种模式:

  • 对比:搜索框模糊匹配整本词库(词头或释义都行),绑定了本构形的词排在前面,点一条就用它试跑;正在编辑哪个变体,测试台就按哪个变体跑。每一格给出推导结果、跟词库里录的比对得上没有,悬浮看每步轨迹;槽位名有 gloss 缩写的写缩写,鼠标停上去看全称。
    • 推导写入:把结果写进这个词的屈折形(手填覆盖的格子不动),写入后表格闪一下绿色。
    • 全部推导:对用着本构形的所有词条批量写入(包括在词条里另外加了这个构形的)。
  • 自由:随便写一个形式,只看它经过这个构形(当前变体)变成什么,按当前语言推。结果旁边的「接着构形」把这一格的结果填回输入框——换到别的构形页签,就是拿它去套那个构形。

两种模式的输入框里有字时右边有个 ×,点一下清空。结果旁边都有生成词条:把这个形式生成成一个新词条,弹出的表单里词源、关系已经按构形填好(见词库 · 屈折形与构形)。自由模式里写的形式正好是词库里某个词头时,词源就挂那个词。

8. 一致性检查

标题旁的「一致性检查」按钮(旧称「对账报告」)对比推导结果与词条里手填的屈折形(CSV 导入的、录入模式手填的),逐槽位给出一致率与差异列表。词条多时会显示进度条,批量推导同样如此。用它检验规则是否覆盖了你的语料:一致率低的槽位通常意味着漏了一条音变或微调。

项目一致性

同一份报告下方还有全项目的体检(构形没绑定任何词条也能跑),按严重程度分组,点条目跳过去。查当前语言的词条、语素、例句,选「全部语言」就查全部;词类、维度、构形本来就是全项目的:

检查 举例
断掉的引用 词源、关系、例句、维度取值指向已删除的东西
漏填的字段 没释义、没词类、没 gloss、没译文
重复的条目 同词头同词类的词条、同形同类的语素(处理见词库 · 列表的高亮与「尝试合并」)
没接上的配置 词类绑了不存在的构形、维度没取值或没人用、构形没绑词类、槽位没写生成器、字形没转写值
缩写 gloss 里用了缩写表没有的缩写
字母表 词头里有字母表之外的字符(é 这类带变音符的字母,只要去掉变音符的 e 在表里就不报)

9. 与其他模块的关系

  • 语素:@语素 引用,异体形按环境挑。
  • 音变:「拼接后跑音变」引用规则集与阶段。
  • 词库:绑定词类、指名构形与变体、槽位面板、屈折形。
  • 语料:自动 gloss 用屈折形反查;构形里写过的词缀还会用来反推屈折得比较厉害的词,让悬浮词卡能找到对应词条。

10. 示例

Aelith(示例项目)的名词构形:维度 数 × 格,每个槽位都是「后缀 → 跑音变」两步:后缀写成带原音位的形式 ¢lAr、¢dA,规则集里 A 按前面元音的前后性实现为 a / e,Ŭ 是连接元音,词干以元音结尾时脱落,¢ 最后删掉。

黏着的动词头也可以整个交给构形:维度选 感音 × 式 × 体 × 时,每个槽位一条流水线——微调 -· 去掉词头末尾的中点,依次 后缀 @某感音、后缀 @某式……(@ 引用语素表里不可再分的语素,异体形按环境挑),后面还有插槽时用一步微调去掉前一个插槽的标记元音,最后 微调 +· 把中点加回来。语素表因此只留原子语素,复合出来的词头全由构形推导,语料里悬停时也能一段段拆开看。