近年来大型语言模型LLMs在各种自然语言处理任务中展现出了惊人的能力但它在“语法工程”这样一个相对小众、却又高度依赖语言学专业知识的领域里究竟能起到多大作用仍然是一个值得深入探讨的问题。尤其是对于粤语这种缺乏大规模标注资源的语言LLM 能否帮助语言学家和工程师更快地构建高质量的语法资源直接关系到低资源语言的数字化进程。本文将围绕“How Useful are LLMs for Grammar Engineering? Cantonese ParGram Resources and Controlled Experimental Evaluation with English Baselines”这项研究课题拆解 LLM 在语法工程中的应用边界介绍 ParGram 框架、粤语语法资源建设的现状并重点分析如何通过受控实验来验证 LLM 的实际功效。无论你是计算语言学研究者、NLP 工程师还是对粤语处理感兴趣的开发者这篇文章都能为你提供清晰的思路和可借鉴的实操方案。1. 语法工程与 LLM 的交叉点1.1 什么是语法工程语法工程Grammar Engineering是一项将语言学理论转化为可计算、可验证的形式化语法规则的工作。它不同于普通的规则编写而是一个涵盖词汇、句法、语义以及形态等多个层面的系统工程。以深层语法框架 LFGLexical Functional Grammar为例工程师需要定义语言中的谓词-论元结构、语序约束、格标记、一致关系等信息并且保证这些规则组合在一起后能够覆盖足够广泛的真实语料。传统语法工程高度依赖语言学家的手工劳动一位经验丰富的语法工程师在数月内能覆盖的语法现象也极其有限。整个过程不仅耗时费力而且对专业知识的要求极高。这也是为什么全球范围内像 ParGramParallel Grammar这样的协作项目虽然已经运行了二十多年但覆盖语言的数量仍然远不及自然语言的丰富程度。1.2 LLM 能给语法工程带来什么LLM 的优势在于它对语言模式的高度敏感性和强大的文本生成能力。训练完成的模型拥有海量的参数记忆了大量语言的统计规律。当我们让 LLM 编写一条语法规则时它往往能够根据上下文生成看似合理的规则表达式。这种能力在理论上可以帮助语法工程师完成一部分编码和草稿工作从而把精力集中到更需要语言直觉的部分。但问题是LLM 生成的内容是否足够可靠幻觉hallucination问题是否会影响语法规则的正确性在低资源语言如粤语场景下模型能够调用的语言知识是否充足这些问题都需要通过严格的实验来回答而不是凭感觉下结论。1.3 为什么选择粤语作为研究对象粤语是一种使用人口众多但资源建设严重滞后的语言。从语言学角度来看粤语具有普通话不具备的一些特色包括丰富句末语气词、双宾语句式中的语序差异、以及大量口语化的句法特点。这些现象对语法工程的规则编写提出了不小的挑战。从资源建设角度来看粤语缺乏大规模的树库和深加工语料现有资源大多是口语语料或翻译语料且规模有限。因此使用 LLM 辅助建设粤语 ParGram 资源既是一次技术尝试也是低资源语言语法工程方法论的探索。2. ParGram 框架与资源结构2.1 ParGram 项目简介ParGramParallel Grammar是一个以实现多语言平行语法为目的的国际合作项目。它的核心理念是在不同语言的语法工程中采用统一的 LFG 理论框架和 XLEXerox Linguistic Environment开发环境从而实现不同语言之间的语法分析和比较。在 ParGram 项目中每一门语言都有一套独立的语法文件但遵循相同的接口规范。这意味着如果你熟悉了一门语言的语法文件结构就能快速上手另一门语言。这种平行性不仅方便研究和教学也为跨语言的自然语言处理应用提供了基础。2.2 LFG 与 XLE 基础LFG 理论把一个句子的语法描述分为两个主要结构c-structure成分结构和 f-structure功能结构。c-structure 对应的是短语结构树描述句子的构成成分和层次关系f-structure 则是抽象的功能描述包含主语、宾语、谓词、时态、数等语法功能属性。XLE 是一个基于 LFG 理论的语法开发与解析环境。它以规则和词典文件为输入通过上下文无关语法分析和特征约束求解最终输出句子的 c-structure 和 f-structure。下面是一个极简的 XLE 语法规则示例S → NP VP { SUBJ NP XLE VP }.这段代码表达的意思是一个句子 S 由名词短语 NP 和动词短语 VP 组成并且 S 的主语功能结构SUBJ指向 NPVP 是句子的核心谓语部分。这虽然是一个极端简化的例子但足以展示 XLE 规则的基本形态。在真实语法文件中规则还包含大量的约束、可选标注以及词义信息。这些规则文件通常以.lfg后缀保存结构复杂。2.3 粤语 ParGram 资源的组成粤语 ParGram 资源通常包括以下几个部分词典Lexicon包含粤语词汇的形态变化、词性、语义角色等信息。规则Rules描述短语结构、虚词位置、句末语气词等句法现象。标注语料Annotated Corpus用于验证语法规则是否能覆盖真实文本。测试集Test Suite包含特定语法现象的句子用于回归测试和语法扩展。其中测试集的建设尤为关键。因为语法工程的最大风险之一是“改一条规则引入十个新问题”没有系统化测试集的语法开发几乎不可控。粤语资源的独特性也体现在这里句末语气词如“啦”“嘅”“咩”等其句法位置、语义功能以及与其他成分的交互都需要在测试集中单独设计用例。3. 实验设计衡量 LLM 的语法工程能力3.1 受控实验的核心思想“How Useful are LLMs for Grammar Engineering”这个题目中的关键不在于“LLM 好不好”而在于“在什么条件下LLM 对语法工程有用”。这正是受控实验Controlled Experiment的用武之地。受控实验需要固定变量、设置对照组和实验组。在这项研究中作者选择了英语作为基线语言原因是英语的 ParGram 资源成熟语法工程经验丰富而且英语也是 LLM 训练数据中占比最高、生成质量最稳定的语言之一。通过对比 LLM 在英语和粤语上的表现差异研究者可以推断LLM 的能力在多大程度上依赖训练数据规模以及在低资源场景下是否依然可靠。3.2 任务类型设计为了全面评估 LLM 在语法工程中的作用实验可以设计多个任务类型规则补全给 LLM 一个残缺的 XLE 规则片段要求补全缺失部分。规则生成给出自然语言描述的句法现象要求 LLM 生成对应的规则。错误定位给出一组语法文件和失败用例要求 LLM 指出可能的规则错误位置。测试集生成要求 LLM 根据特定语法现象生成例句用于扩展测试集。语法现象解释用非技术语言描述粤语中的复杂句法结构评估 LLM 理解语法的能力。每个任务需要设计统一的评价标准例如规则可解析性、F 值覆盖率、生成句子的合法性等。只有使用可量化的指标才能得出可复现的结论。3.3 评估指标与对照方法在规则生成类任务中一个直接有效的指标是“语法引擎能否成功解析生成的规则并产出与预期一致的 f-structure”。这比人工阅读规则更客观。在测试集生成任务中评估指标可以是生成句子中被现有语法成功解析的比例以及被解析后语义结构是否正确。此外还需要引入人工评估。因为语法规则的正确不仅在于能解析更在于能正确处理句子关系。研究者可以邀请语言学家对 LLM 生成的内容进行打分维度包括语言准确性、工程可实现性和风格一致性。将 LLM 的表现与人工编写的规则进行对比才能获得真正的“有用性”评价。4. 实验过程中的关键发现4.1 LLM 在英语语法工程中的表现观察在英语基线实验中LLM 的表现通常比较亮眼。由于英语的训练数据充足模型对英语的语法规则有着良好的直觉。尤其是一些常见的句式如被动语态、疑问句倒装、关系从句等LLM 生成的 LFG 规则往往看起来非常像一个真实语法工程师写出的初稿。但这里需要警惕“看起来有用”与“真正有用”之间的差距。规则能够被 XLE 解析器接受不代表它不会在更大规模的语料上产生冲突。在语法工程中多条规则之间可能因为约束条件重叠而产生非预期的交互。LLM 生成的规则往往孤立地看很合理但放到整个语法库中测试时问题就暴露出来了。一个值得关注的现象是LLM 生成的规则在简洁性和可读性方面通常优于初学者但在处理边界情况edge cases时不够细致。例如它可能没有考虑到不规则动词的形态变化或者在处理带双宾语的句子时遗漏了对格标记的约束。4.2 粤语场景下的显著挑战当实验从英语切换到粤语情况发生了明显变化。首先LLM 对粤语语法知识的掌握远不如英语。训练数据中粤语文本相对较少而且占比最高的往往是口语化语料这使得模型对粤语书面语的规范程度把握不准。其次粤语的句末语气词系统对 LLM 来说是一个巨大的挑战。语气词不仅是句法成分还承担着丰富的语用功能。在 LFG 框架中如何表达这些功能信息需要专门的语法规则设计。LLM 往往能将“啦”识别为一个句末语气词但它到底是什么功能——是疑问标记还是时体标记或者两者兼有——模型经常给出模糊甚至错误的解释。更深层的问题在于测试集生成。LLM 生成的粤语例句普遍偏短、偏简单缺乏自然语料中的丰富表达。这意味着即使用这些句子扩充测试集其覆盖度也未必能有效提升。这种现象背后反映的是 LLM 对低资源语言生成多样性的不足。4.3 双语基线的对比意义通过对照英语和粤语两组实验可以得到一个更系统的图景。如果 LLM 的能力在英语和粤语上的差距显著那就说明这种能力与语言资源丰富度高度相关。反过来如果 LLM 在粤语上的某些任务表现意外地好那么就去分析其中的原因——是粤语语法与英语的共性帮助了模型还是模型从普通话知识中迁移了能力这种对比不只具有学术价值对于实际工程决策也有直接参考意义当我们决定在一个低资源语言上启动语法工程时应该投入多少精力去使用 LLM 辅助开发哪些任务适合交给 LLM哪些任务必须依赖人工。5. 工程实践将 LLM 引入粤语语法开发流程5.1 环境准备与工具链在工程层面将 LLM 用于语法辅助开发并不需要特别复杂的工具。以下是一套可落地的典型配置Python 3.9OpenAI API或本地部署的开源模型如 Llama 3、Qwen 等XLE 语法开发环境版本管理工具 Git自动化测试框架如 Python 中的 unittest 或 pytest其中模型选择是一个关键决策。封闭 API 在生成质量上通常有优势但涉及数据隐私和长期成本问题开源模型则更适合本地部署但可能对粤语这类低资源语言的支持不如商业模型。在实际项目中建议先使用商业 API 进行小规模试验确认收益后再考虑开源模型的部署方案。5.2 提示词设计示例提示词的质量在很大程度上决定了 LLM 输出的可用性。以下是一个用于生成 LFG 规则基本框架的示例提示词任务根据粤语句子生成 LFG 规则。 句子佢食咗苹果。他吃了苹果。 已知信息 - “佢”是第三人称代词作主语。 - “食”是动词表示“吃”。 - “咗”是完成体标记表示动作完成。 - “苹果”是名词作宾语。 要求 1. 生成能与 XLE 兼容的短语结构规则。 2. 规则应能生成正确的 f-structure。 3. 如涉及句末语气词或助词请单独说明其功能和位置。在这种结构化提示下LLM 通常能生成类似下面的规则片段VP → V Asp NP; { ASP Asp OBJ NP }.这段规则表示动词短语 VP 由动词 V、体标记 Asp 和名词短语 NP 组成其中体标记的信息归入 ASP 功能NP 作为宾语归入 OBJ。当然真实粤语中的情况会更复杂但这个示例展示了 LLM 在给定明确约束时能够输出结构基本规范的规则。5.3 自动化验证脚本生成规则之后需要使用 XLE 进行自动解析验证。下面是一段简化的 Python 脚本框架用于批量调用 XLE 并判断解析是否成功import subprocess import pathlib def validate_with_xle(rule_file, test_sentences_file): 调用 XLE 解析给定句子并返回解析状态。 cmd [xle, -f, rule_file, -l, test_sentences_file] result subprocess.run( cmd, capture_outputTrue, textTrue, timeout120 ) output result.stdout parsed No parse not in output return parsed, output if __name__ __main__: rule_file pathlib.Path(cantonese.lfg) test_file pathlib.Path(test_sentences.txt) ok, out validate_with_xle(rule_file, test_file) print(Parse status:, success if ok else failed) print(out)这个脚本是最初级的版本真实项目中还需要解析日志结构化、错误分类、回归对比等功能。但它已经足以作为一个自动化验证的起点帮助开发者快速确认 LLM 生成的规则是否具备基础可行性。6. 常见问题与排查方案6.1 LLM 生成的规则无法解析问题现象常见原因解决思路XLE 报语法错误LLM 使用了不存在的特征名或规则名在提示词中显式限定可用特征名和规则模板解析超时或栈溢出规则中存在循环定义检查是否有规则间接引用了自身解析成功但 f-structure 错误约束条件缺失对照参考语法检查功能分配是否合理对于上述问题最有效的预防方法是在提示词中提供少量“标准示例”作为 few-shot 参考。LLM 能够模仿示例的格式和结构避免产生严重偏离规范的内容。6.2 测试集生成质量不高当 LLM 生成的例句过于简同时可以通过以下方式改进。第一在提示词中加入复杂度约束。明确要求生成“包含从句”“至少两个修饰语”或“包含句末语气词”等语句。第二使用链式生成先让 LLM 生成句法结构模板再基于模板填充词汇。第三生成后过滤。利用已有的粤语分词和词性标注工具对生成例句进行筛选剔除质量明显偏低的句子。6.3 实验结论受提示词影响过大LLM 输出的可控性始终是一个问题。不同提示词可能带来差异巨大的结果。因此在正式的受控实验中需要固定提示词模板并且对提示词进行小样本预测试。建议将提示词视为实验变量记录完整的提示词版本确保实验可以被复现。7. 最佳实践与工程建议7.1 建立“人工LLM”流水线基于当前 LLM 的能力边界最务实的做法是建立一套“人工LLM”的协作流水线。LLM 负责草稿生成、批量改写、初步语法规则编码人类专家负责审阅、纠正和高层决策。这个流水线的核心不是替代而是加速。一个推荐的开发流程如下定义语法现象清单。使用 LLM 为每个现象生成初始规则。使用 XLE 批量解析测试语料。专家筛选失败案例标记错误类型。将错误类型反馈给 LLM要求重新生成修正版本。人工确认最终规则并进入版本库。这种迭代模式能够将专家的时间集中在最关键的问题上比完全手工开发效率高出数倍。7.2 语法规则的版本管理与回归测试语法工程是一项长期维护的工作版本管理和回归测试是保证质量的关键。推荐使用 Git 管理所有规则文件、测试集和配置文件并建立自动化的 CI 流程。回归测试的核心目标是防止“修好一个现象破坏另一个现象”。对于粤语语法来说句末语气词之间可能存在大量交互改变其中一个的规则很可能影响其他语气词的处理。自动化测试至少应覆盖已经解决过的所有语法现象确保它们的解析结果不发生变化。7.3 构建粤语语法工程专用的 LLM 评估集目前公开可用的 LLM 评估集大多围绕通用 NLP 任务无法直接用于衡量语法工程辅助能力。因此建议粤语语法工程社区建设一个专门的评估集包含以下内容典型语法规则的编写任务。已知失败的错误修正任务。包含句末语气词、话题化结构、差比句等粤语特色结构的例句集。多轮提示词对比实验结果。这个评估集不仅可以用于本项目也可以服务后续其他低资源语言的语法工程研究。它的价值类似于机器学习中的 benchmark能够把定性的经验转化为可量化、可比较的指标。8. 关于“Controlled Experimental Evaluation with English Baselines”的方法论思考8.1 基线语言选择的关键逻辑选择英语作为基线不是随意的决定而是基于一系列深思熟虑的判断。英语拥有最成熟的 ParGram 资源同时也是 LLM 训练数据中最具代表性的语言。用英语做基线可以验证这样一个问题在理想条件下LLM 对语法工程的支持到底可以达到什么水平。然后再以粤语作为非理想条件来测试能力的衰减程度。这类实验设计的价值在于它不会因为“LLM 在某些任务上表现不错”或者“LLM 在另一些任务上表现糟糕”而得出简单化的结论。通过比较不同语言上的性能分布研究者可以找到 LLM 能力的泛化规律和资源依赖特性。8.2 受控变量的细节处理在一个严谨的受控实验中每一层都需要严格保持一致性。提示词模板必须在英语和粤语之间保持一致的结构不能让模型通过模板差异猜测到实验意图。任务的输入格式也要对齐英语规则的基础特征名和粤语规则的特征名应当遵循相同的原则。此外评估者也需要尽可能避免对实验目的的先验判断。如果评估者知道某个结果是 LLM 生成的可能下意识地改正原本可以通过的规则。这一点在人工评估环节尤其重要。8.3 实验结论的边界所有实验结论都有其适用边界。基于英语和粤语两组实验得出的结论并不一定能泛化到所有语言。对于第三个语言例如阿拉伯语、斯瓦希里语或瓦尤语其语法结构、资源规模以及 LLM 训练语料的覆盖情况都不同实际效果需要单独测试。但这并不削弱实验的价值。通过对两门差异显著语言的系统比较我们能够提炼出“评估 LLM 语法工程能力”的一般方法论这比单点上的性能数字更有长期价值。9. 从实验到工具一个可行的辅助开发框架9.1 工具设计思路基于上述实验研究可以设计一个实用的 LLM 辅助语法开发框架。这个框架以本地文件库为基础集成了语法文件存储、LLM 调用、XLE 解析验证和回归测试模块。开发者可以通过命令行与框架交互完成从规则草稿生成到验证入库的完整流程。9.2 核心流程示例以下是一个典型的使用流程# 1. 准备语法现象描述 echo 粤语中“喺”引导的处所短语可以在动词前后出现 phenomenon.txt # 2. 调用 LLM 生成规则 python llm_grammar_assist.py --phenomenon phenomenon.txt --output rule_draft.lfg # 3. 使用 XLE 验证规则 python validate_grammar.py --rule rule_draft.lfg --test tests/basic_sentences.txt # 4. 查看失败案例并反馈给 LLM python collect_failures.py --log xle_log.txt --output failures.json这个框架并不需要复杂的架构核心在于把 LLM 的快速生成能力与 XLE 的严格验证能力结合起来。任何一个有基本 Python 开发能力的团队都可以在数周内完成原型。9.3 扩展方向在此基础上还可以扩展的功能包括跨语言语法规则迁移推荐、基于解析日志的错误根因分析、以及支持多轮对话的规则调试接口。其中跨语言迁移推荐相对可行因为 ParGram 项目本身就有平行语法的特性——如果英语语法中某个规则模式和粤语相近LLM 可以根据英语规则生成粤语版本再由专家审阅。进一步地可以将 LLM 用于生成语法开发文档。语法工程的一个潜在风险是知识沉淀困难资深工程师离开后新成员上手吃力。LLM 可以根据语法文件自动生成注释和文档降低维护成本。10. 总结与后续方向这次关于 LLM 在语法工程中应用价值的研究给出了一个相对平衡的答案。LLM 在英语语法工程中无疑是有益的工具它可以快速生成规则草稿、提供多种实现方案、辅助构建测试集。但在粤语这类低资源语言上LLM 的表现存在明显瓶颈模型生成的规则虽然乍看合理深入检验后仍需大量人工修订。从工程角度来看LLM 目前更适合定位为“智能助手”而不是“自动化工程师”。语法工程中大量需要历史经验、语言直觉和系统思维的工作仍然需要人类来完成。不过随着多模态大模型和语音数据纳入训练模型对口语化语言如粤语的建模能力还有望进一步提升。未来探索可以关注 LLM 对汉藏语系中其他低资源语言的辅助效果也可以尝试把 LLM 的规则生成与语音识别、机器翻译等上游任务结合建设覆盖更广的粤语语言资源基础设施。对开发者来说建议尽早把 LLM 纳入自己的语法工程工具箱但保持审慎先用小规模实验验证效果再逐步扩展到生产流程。毕竟语法工程的核心目标不是追求“自动生成所有规则”而是用最高效的方式构建准确、可维护、可复现的语法资源。在这一点上LLM 是一个值得持续关注的新变量。