Apertium翻译HTML文件时为何将完整句子拆分为三个部分?
问题产生的核心原因
该问题是Apertium规则翻译引擎处理带格式HTML文本时的固有特性导致,具体可拆解为两点:
- 格式保留优先级高于文本连续性的设计逻辑
Apertium的HTML格式处理器(-f html参数启用)的核心设计规则是优先完全保留原始HTML中所有标签的属性、顺序,不会主动合并、移动或删除原有标签,仅修改标签包裹的文本内容。 - 跨语言词序调整与标签边界的冲突
你遇到的句子拆分是西班牙语到英语翻译的词序调整需求触发的:
西班牙语的将来时动词actualizará是单个词,对应英语的两个词will update,Apertium的西英翻译规则会将该词拆分翻译。由于引擎处理时将原始<span class="title">标签的位置以占位符形式固定在文本流中,词序调整后,拆分出来的update刚好落在原有titlespan的闭合占位符外侧,最终导致原本完整的句子被标签拆分为多段,甚至出现重复的titlespan标签的异常情况。
补充说明:该问题属于Apertium处理带inline标签的短句翻译时的已知局限,若要避免该问题,可先提取纯文本翻译完成后再回填到HTML标签内,或使用支持跨标签语义单元合并的机器翻译工具处理。
内容的提问来源于stack exchange,提问作者Meisser
相关产品推荐
相关产品推荐

