简介:文生图模型生成中文文字时,常出现“整体轮廓接近、细节笔画崩坏”的问题。根本原因之一是现有评估方式把汉字当作不可拆分的整体,导致模型得不到细粒度反馈。本文拆解这一评估缺陷,说明基于汉字部件与空间构型的结构化评估思路,帮助开发者理解如何让生成模型更准确地学习中文书写。
不少文生图模型在生成包含中文的海报、招牌、封面图时,已经能输出非常像样的整体版式。远景看,字体位置合理;近景看,某些笔画却是多余的,某些偏旁被压缩成奇怪的形状。比如“尴尬”的“尬”,左边结构拥挤,右边部件变形;或者“想”字上下比例失衡,“相”与“心”之间没有形成正确的空间关系。
这表明模型并不是完全无法产生汉字,而是缺少一个能告诉它“错在哪、错多少”的学习信号。
在扩散模型、自回归视觉生成等主流路线的训练或后训练阶段,通常会引入判别器、奖励模型或视觉语言模型作为“裁判”。如果任务是生成中文,一个常见做法是调用光学字符识别能力,把图里的字识别出来,再与目标文字比较。
这个思路看似合理,却隐藏着很大的评估偏差。
一个典型的评估流程大致如下:
这种评分方式本质上是一个“整体匹配”策略。它对于字母文字可能问题不大,因为字母数量有限,拼写错误通常可以通过字符级差异体现出来。但汉字不是线性字符串,而是一种二维结构系统。
例如“尬”由“九”与“尢”旁相关部件组合而成,不是简单地把两个字符左右拼接;“想”由“相”和“心”上下排列,还涉及比例与避让关系。一个识别模块如果把整个字作为一个识别单元,就没法知道模型是在“部件选择”上出错,还是在“部件布局”上出错,抑或只是多了一笔、少了一笔。
更麻烦的是,这种整体判断对部分错误和严重错误一视同仁。
如果学生做一百道选择题,错一题得零分,错九十题也得零分,这种反馈几乎无法指导学习。当前不少文生图训练中的文字评估,恰恰存在这样的问题。
可以用三种典型场景说明:
在整体识别评估下,这三种结果可能都被判定为“识别失败”,统一得到 0 分。模型无法区分“只差一点”和“完全不行”,也就难以沿着正确方向优化。
有人会尝试用多模态大模型替代传统识别模块。它不仅能识别文字,还能结合海报上下文、语义环境、常见搭配进行推断。
但这类模型存在一个关键问题:它可能根据上下文“脑补”出正确文本,而忽略了真实字形是否规范。
例如图上某个结构错误的“尬”字,多模态模型可能结合“尴尬”这个常见词,输出正确的文字结果。评估系统于是给出 1 分。实际上,字形本身仍然是错的,这一分属于假阳性。
换句话说,多模态模型的强语义理解能力,反而可能掩盖了文字结构本身的问题。它更适合判断语义是否通顺,并不完全适合作为字形规范性的裁判。
还有一种思路是使用专门的文字异常检测能力。它不负责识别,只判断文字是否“看起来像正常汉字”。如果发现结构异常,就将其标记为特殊符号,比如“#”,并给 0 分。
这种方案比多模态模型更严格,也更贴近字形层面的评估。它的优势是不容易被语义带偏,能更准确地发现“这个字结构有问题”。
但它仍然是二值判断:对或错,给分或零分。它没有回答一个关键问题:这个错字距离正确写法还差多少?
汉字的错误本身是分层次的。
一个字可能只是某个部件位置偏移,可能是笔画数量出错,可能是部件写成了另一个形近部件,也可能是左右结构整体错乱。如果这些错误都得到同样的惩罚,模型仍难以获得结构化反馈。
要让模型学会写对汉字,评估方式需要与汉字本身的构成方式对齐。
从构型角度看,汉字可以拆成多个层级:
因此,一个合理的评估方法不应只输出“对”或“错”,而应分别考察:
例如“想”字,可以拆为“相”与“心”,并要求二者保持上下关系,上部占位略大,下部稳定承托。如果模型把“心”写得过宽或过偏,即便识别模块最终认出了“想”,结构质量仍应被扣分。
在强化学习或偏好优化中,奖励信号的粒度直接影响学习效率。
如果把汉字评估结果从 0/1 扩展为一个多维向量,例如:
{"target_text": "想","component_presence": 0.95,"component_layout": 0.82,"stroke_integrity": 0.76,"overall_legibility": 0.88}
模型就不再只是知道“生成错了”,而能知道“部件基本对,但布局和笔画完整度需要提升”。
这种结构化奖励也可以与训练目标结合。例如在损失函数中,对部件一致性、布局合理性、笔画完整度分别加权,而不是只优化一个识别匹配项。
更进一步,还可以引入“难度分层”。对于笔画较少的独体字,可以主要考察笔画正确性;对于复杂合体字,则需要重点考察部件组合与空间避让。不同难度使用不同权重,避免模型只学会生成简单字,而在复杂字上停滞不前。
要实现这样的评估,并不需要推翻现有生成流程,而是可以在“裁判”环节进行扩展。
一个通用设计如下:
在这个过程中,检测模块负责“找字”,部件分析模块负责“看结构”,布局判断负责“看关系”,最终汇总为对生成结果的多维评价。
这种方式尤其适合广告海报、商品主图、封面设计、品牌视觉等需要生成中文的场景。因为这类场景不仅要求文字可读,还要求字形结构规范、排版自然,不能只是“能被猜出来”。
最终目标不是拥有一个更会打分的裁判,而是让生成模型学会更稳定的汉字书写能力。
结构化评估改变了反馈信号的表达方式。模型在训练中会逐步形成这样的能力:
这与人类学习汉字的过程类似:先认部件,再学组合,再练笔顺,最后形成整体书写能力。
对于文生图模型来说,这可能是绕不开的一条路。因为在开放域图像生成中,模型面对的不是固定字库,而是任意文本输入。如果它不能拆解汉字结构,就只能靠记忆和纹理拼凑,结果必然在细节处频繁出错。
当前文生图生成中文的主要瓶颈,已经不只是“像不像字”,而是“能否用正确的结构写出字”。如果评估系统始终把汉字当作一个不可拆分的整体,模型就很难获得足够的改进信息。
把汉字拆成部件,把空间关系纳入评价体系,再以结构化奖励反馈给生成模型,是一种更符合汉字本质的解决思路。它不会让模型一夜之间变成书法家,但可以让它不再凭纹理猜字,而是逐步学会从结构出发生成中文。