自然语言生成是什么?让机器写出通顺得体的文字
自然语言生成(Natural Language Generation,NLG)是让计算机根据数据、知识或指令,自动地写出人类能读懂的自然语言文字的技术。它与侧重“读懂”的自然语言理解相对,是自然语言处理中负责“表达”的那一部分。
从数据到文字
自然语言生成最早、最典型的应用之一,是把结构化的数据转换成文字。比如把气象数据转换成天气预报:“明天白天多云转晴,最高气温 25 摄氏度,东南风 3 到 4 级”;把比赛的统计数据转换成赛事简报;把公司的财务数据转换成业绩摘要。20 世纪 90 年代,加拿大就已经使用自然语言生成系统自动地生成英语和法语的天气预报。如今,一些新闻机构也用这类系统自动地撰写财报快讯和体育赛事的简讯。
传统的生成流程
Ehud Reiter 和 Robert Dale 在 2000 年出版的《构建自然语言生成系统》中,把传统的生成过程总结为几个阶段。内容确定:决定要说什么,从大量的数据中挑选出值得报告的信息,比如在一场比赛中,最重要的是比分和关键进球,而不是每一次传球。文本规划:决定信息的组织顺序和整体结构,先说什么、后说什么,各个部分之间是什么关系。句子规划:决定如何把信息组织成一个个句子,哪些信息合并在一句话里,用什么词语来表达,如何使用代词避免重复。表层实现:按照语法规则,生成最终的、语法正确的句子,处理词形变化、标点等细节。这种基于规则和模板的方法,生成的文字准确可控,但比较呆板,换一个领域往往需要重新编写大量的规则。
神经网络与大语言模型
深度学习兴起之后,自然语言生成越来越多地使用神经网络:序列到序列模型和注意力机制让机器翻译、文本摘要的生成质量大幅提升;预训练语言模型,尤其是 GPT 系列,展现了强大的文本生成能力。如今,大语言模型能够根据一段简单的指令,生成文章、邮件、报告、故事、诗歌、代码,以及与人进行流畅自然的对话。生成的方式通常是自回归的:根据已有的内容,一个词一个词地预测接下来最合适的内容。生成时可以通过调节温度、top-p 等参数来控制文字的确定性和多样性:温度低时,模型更倾向于选择最可能的词,文字更稳定;温度高时,文字更有创意,但也可能更加离题。
主要的应用
对话系统和智能客服:生成自然、得体的回复。机器翻译和文本摘要:本质上都是生成任务。写作辅助:起草邮件、改写润色、生成营销文案。数据报告:把数据分析的结果转换为文字解读。代码生成:根据自然语言的描述编写程序。图像描述:根据图片生成文字说明,这需要结合视觉理解。无障碍辅助:为视障人士描述图片的内容。
面临的挑战
事实准确性:大语言模型生成的文字可能流畅通顺,却包含错误的事实或编造的内容,也就是幻觉。在新闻、医疗、法律等领域,这可能带来严重的后果,需要通过检索增强生成、事实核查和人工审核来降低风险。可控性:如何让生成的内容符合指定的风格、长度、格式和立场,避免生成有害或不当的内容。评价困难:生成的文字往往没有唯一的标准答案,BLEU、ROUGE 等自动指标只看与参考答案的词语重合,难以全面地反映质量,常常需要人工评价,或者用大语言模型来评分。规范和标识:AI 生成的内容可能被用于制造虚假信息,我国在 2025 年施行的《人工智能生成合成内容标识办法》要求对 AI 生成的内容进行标识,让人们能够分辨。