首先,令$U=(x_1,x_2,...,x_n)$为维吾尔语的字符输入序列,基于原始的输入序列$U$,训练掩码语言模型$M(\chi)$和切分模型$S(\theta^o)$;然后,使用训练好的$S(\theta^o)$对原始序列$U$进行切分,获得切分后的序列$U^{(s)}=(x_1^{(s)},x_2^{(s)},...,x_n^{(s)})$,对序列$U^{(s)}$使用掩码策略,并根据设置的mask_count阈值,生成掩码后的序列$U^{(ms)}=(x^{(ms)}_1,x^{(ms)}_2,...,x_n^{(ms)})$;接着,利用掩码语言模型$M(\chi)$基于$U^{(ms)}$进行预测,得到预测序列$U^{(ps)}=(x^{(ps)}_1,x^{(ps)}_2,...,x^{(ps)}_n)$,随后比较预测序列$U^{(ps)}$和实际的切分序列$U^{(s)}$,使用式(1)计算切分质量的评分:

$$

q(y, x) = \sum_{x^{(s)} \in M(x, y)} P(x^{(ps)} | x^{(s)}, \chi) \Delta(x^{(ps)}, x^{(ms)}) \tag{1} $$

其中,$x$ 是输入序列,$y$是与$x$相对应的切分标记序列。$M(x,y)$ 表示在给定原始序列$x$和标记序列$y$的情况下,模型可能生成的所有掩码序列集合。对于每个掩码序列,$x^{(s)}$表示在该序列中未被掩码的部分。$x^{(ps)}$是MLM预测的被掩码部分。$\chi$表示MLM的参数。$P(x^{(ps)}∣x^{(s)}​,\chi)$是在给定 $x^{(s)}$和MLM模型参数$\chi$的情况下,预测被掩码部分$x^{(ps)}$的概率。$Δ(x^{(ps)},x^{(ms)})$ =1$-sim(x^{(ps)},x^{(ms)})$表示预测结果$x^{(ps)}$和实际掩码部分$x^{(ms)}$之间的差异,$sim(x^{(ps)},x^{(ms)})$表示$x^{(ps)}$和$x^{(ms)}$之间的余弦相似度。根据公式(1),𝑞$(𝑦,𝑥)$的值越小,表示预测结果与实际切分结果之间的差距越小,预测结果的质量越好。最后,基于这些评估结果,优化切分模型参数,更新$S(\theta^o)$,得到$S(\theta^m)$。

使用NLL损失函数训练形态切分模型后,为增强模型的泛化能力,再用最小风险训练方法进一步训练:

$$ J(\theta) = \sum_{x \in U} \left( \sum_{y \in S(x)} Q(y \mid x; \theta, \alpha) q(y, x) - \lambda \sum_{y^* \in S(x)} P(y^* \mid x; \theta)^\alpha \right) \tag{2} $$

其中, $\theta$ 是切分模型的参数, $S(x)$是所有可能切分结果的子集, $Q$是定义在 $S(x)$上的一个概率分布。 $\alpha$是控制 $Q大$小的一个参数, $\lambda \sum_{y^* \in S(x)} P(y^* \mid x; \theta)^\alpha$是一个正则化项,用来防止损失值过低,从而影响形态切分模型的性能。