上QQ阅读APP看书,第一时间看更新
1.3.5 自然语言生成
自然语言生成模块是将对话管理模块产生的动作指令生成对应的自然语言,并将其通过系统媒介传达给最终用户。目前自然语言生成主要采用两种技术方法,分别为基于模板生成与基于模型生成。
1.基于模板生成
基于模板生成的自然语言生成方法由设计人员预先设计对应模板,并结合对话管理中获取的动作内容最终输出自然语言。例如,在航班预订人机交互系统中可以生成如下一条模板,用于反馈航班查询失败信息:“抱歉,您预订的{航班号}并不存在,请重新输入航班号信息。”这里只须提供航班号信息和航班查询失败动作,便可以生成话术。此类方法具有构建简单、操作便捷等优点,但大量模板的人工维护导致运营成本增加,此外机器回答较为死板生硬,用户体验不佳。
2.基于模型生成
基于模型生成的自然语言生成方法主要是让模型通过学习大量人机交互语料,将用户输入语料、收集到的信息以及机器动作作为输入,将机器回答作为输出,训练诸如端到端(seq2seq)的模型来完成自然语言生成。此类模型具有交互丰富、人工维护成本相对较低的优势,但也存在模型结果难以控制、重度依赖大量训练数据等问题。
综上所述,这两种自然语言生成方法均有其显著的优势与不足,我们在设计人机交互系统时,应针对场景特点,选择较为合适的方案来满足业务场景的需求。