真实面经题目 · 原创解析
教育自动批改纠错任务如何设计 seq2seq 方案,并在最少人力下构造正负样本?
这道题考察教育批改纠错任务如何从“文本生成”落到可训练、可评估的纠错系统。回答要把 seq2seq 的输入输出、正负样本来源、低人力标注策略、过度纠错控制和机器翻译差异讲成一个闭环。
真实面经题目 · 原创解析
这道题考察教育批改纠错任务如何从“文本生成”落到可训练、可评估的纠错系统。回答要把 seq2seq 的输入输出、正负样本来源、低人力标注策略、过度纠错控制和机器翻译差异讲成一个闭环。
我会先把任务定义成同语言的纠错生成:输入是学生作文、对话或句子中的原始文本,输出是尽量保留原意和表达风格的修正文本,也可以同时产出错误类型或编辑位置。模型上可以用 encoder-decoder 或预训练生成模型,但要强调 copy-first,因为大部分 token 不需要变化。样本构造上,正样本来自老师批改、学生修改前后版本、人工小集合和高置信规则弱标;负样本不是随便找无关句子,而是高质量无需修改文本的 input=output 样本,以及模型或规则容易误改的 hard negative。为了最少人力,要用规则和合成错误先覆盖常见错别字、语法、标点、搭配,再用主动学习挑不确定、分布多样、影响大的样本给老师标。评估时不能只看生成相似度,还要看编辑级 precision/recall、过度纠错率、语义保持和人工可接受度。它和机器翻译最大的差别是源目标同语言、修改稀疏、允许不改,错误纠正比自由改写更怕误伤。
教育自动批改纠错不是把作文重新润色成更漂亮的文本,而是在尽量保留学生原意、年级表达和上下文的前提下修正明确错误。输入可以是作文句子、对话轮次或更长片段,输出可以是修正后的文本,也可以附带错误位置、错误类型和置信度。边界先说清,后面样本和评估才不会滑向通用改写。
encoder-decoder 负责从原句生成修正句,但教育纠错的默认动作应该是复制原文,只在必要位置编辑。实现上可以让模型学习原文到修正文的平行样本,也可以把输出设计成编辑操作序列以降低自由生成风险。无论哪种做法,都要控制解码长度、保留专有名词和上下文一致性,避免把正确表达改错。
高质量正样本最好来自老师批改记录、作文修改前后版本、对话纠错日志和少量专家标注。为了降低人力,可以用规则系统、词典、混淆集和常见错误模式对干净文本做合成污染,再把高置信规则纠错结果作为弱标样本。合成样本要贴近真实学生错误分布,不能只随机替换字符,否则模型会学到不自然错误。
负样本的核心作用是让模型知道什么时候不该改。可以把高质量无错句子、老师未修改句子、人工确认可接受表达作为 input=output 样本;也可以收集规则或模型曾经误改的句子作为 hard negative。负样本需要覆盖口语表达、低年级表达、专有名词和多种可接受写法,否则模型会把个性化表达当错误。
最少人力不是完全不要人工,而是把人工放在收益最高的位置。可以先用弱标数据训练初版模型,再按不确定性、错误类型覆盖、文本长度、年级和主题多样性抽样给老师确认。对模型分歧大、规则冲突、置信度低或线上影响大的样本优先标注,比随机标注更快补齐边界案例。
机器翻译通常要求跨语言完整语义转换,而教育纠错是同语言、低编辑密度、强语义保持的任务。评估不能只看 BLEU 或生成相似度,更要看编辑级 precision/recall、无需修改样本的误改率、语义保持、人工可接受度和不同错误类型召回。面试回答最后补这层,能体现对业务风险的理解。
因为模型如果只看有错到修正的样本,会倾向于每句话都改。无错样本和误改样本能教模型“不改也是正确动作”,降低过度纠错。
合成错误容易和真实学生错误分布不一致。要基于真实错别字、语法、搭配、标点和年级表达统计设计噪声,并用人工小集合校准。
纠错只修明确错误并保留原意;润色会改变表达风格和组织方式。训练和评估时可以限制编辑距离、要求语义相似,并对无错样本惩罚误改。
用规则弱标、干净语料合成污染、公开纠错语料和少量专家标注启动,再通过主动学习持续补边界样本。关键是早期就建立人工验收集。