如何避免角色聊天机器人每句话都以提问结尾?
如果一个虚构角色聊天机器人几乎每轮对话都以提问结尾,请根据目的审视最后一句,而不是强行规定提问配额。首先确保回复真正回答了用户所说的话。其次,当一个陈述句能够自然地表达完整意图时,就让它独立成句;只有当答案能够引导有意义的下一步或促成具体的剧情选择时,才提出追问。有时,角色只需稍作停顿。这种针对单句的润色可以减少对话的套路感,同时又不会让回复显得突兀。
为什么句末提问会让人感到重复单调?
提问为对方提供了明确的接话方向,因此有助于维持对话。但如果角色在面对赞美、玩笑、直截了当的提问、纠错以及剧情转折时都使用相同的招数,结尾就不再是对具体情境的真实回应了。表面形式的变化跟不上对话本身的情境演变。
关于对话提问的研究提供了有价值的参考背景,但也存在局限。Komatani 及其同事研究了在旨在获取词汇知识的对话中,用户对不同提问类型的印象。他们指出,重复同一种提问类型会让用户感到烦躁,即使提问内容无误也会拉低整体印象。该结论与其特定任务和实验设计相关;它并未确立适用于虚构角色的通用规则,也未验证本文提出的编辑方法。([Komatani et al., 2022](https://aclanthology.org/2022.dnd-13.4/))
See 及其同事在 PersonaChat 中研究了可控属性——包括重复度、回复相关性以及提问行为,并参考了人工对多轮对话的评估。他们的工作支持将提问视为诸多对话属性之一,而非衡量质量的独立标准。该研究并未测试某个特定角色是否应该以陈述句或停顿来结束发言。([See et al., 2019](https://aclanthology.org/N19-1170/))
对于角色设计师而言,实际的启示并不复杂:检查每个结尾是否符合其所在的对话轮次。这些学术论文并没有给出提问配额、立竿见影的改进方案,或是现成的虚构对话法则。
如何逐句审视回复结尾
审查一组具有代表性的对话轮次,包括直接提问、情绪反应、玩笑、纠错、剧情时刻以及普通的确认。在评判最后一句之前,先完整阅读用户的消息和全部回答。
检查回复是否回答了消息
想一想:如果删去最后的提问,回复是否仍能回应用户所说的话?如果用户询问角色在哪里找到了地图,回复就应当告知答案。以“你觉得我在哪儿找到的?”结尾或许听起来俏皮,但如果它隐瞒了用户询问的答案,真正的问题就在于响应度不足,而不在于标点符号。
一个实用的审核标注是:已回答 / 部分回答 / 回避。在润色结尾之前,先解决回避问题。对于部分回答的消息,判断缺失的细节是确实未知,还是角色可以直接提供。
明确最后一句话的作用
在结尾旁写下一个简短的标签:澄清说明、提供选择、引出故事、确认重要细节、表达完整想法,或留出空间。如果唯一适用的标签是“让用户继续聊下去”,请重新考虑这句话。这个标签描述的只是拖延对话的意图,而不是对话真正需要的信息。
验证提问的答案
如果角色提出了问题,想象一个合理的答案。它会改变角色接下来的言行吗?它能为用户提供有意义的选择、揭示与场景相关的细节,还是引出他们正准备讲述的故事?如果不能,这个提问或许可以删去。如果是肯定的,请将问题收窄,让用户能够理解提问的缘由。
连续阅读结尾
连贯阅读多轮连续的回复,而不是只看一个精修过的孤例。标出重复出现的句式,例如“你觉得呢?”、“你呢?”,或是换个说法重复上一轮对话的提问。多样化并不意味着每次都换一个新的通用问题。在符合场景时,尝试使用完整的陈述句、观察、具体的邀请,或是稍作停顿。
这是一种编辑诊断手段,而非评分系统。其目的是找出未能达到局部效果的结尾,而不是为了达到固定比例的陈述句与疑问句分布。
常规提问有哪些实用的替代方案?
选择能够完成当前交流的替代方案。以下示例纯属虚构且仅供参考;它们展示的是可能的改法,而非经实验测定的结果。
陈述句不应该避开对推进场景有益的提问。在关于路径的例子中,角色在给出实用背景后可以提出具体的选择问题:“你想先看桥还是先看塔?”这个问题具有明确的功能,因为答案决定了下一个场景。如果暂时不需要做出选择,角色可以直接提供信息收尾,将下一步的主动权留给对方。
停顿可以通过干净利落地结束回复来体现,无须在最后追加提示。在文本中,这只需在角色的台词完整后直接收尾即可。在包含重要动作的场景中,角色可能会以观察或动作来结束:“她把灯笼放在桌上,静静等待。”不要把沉默当作施压促使对方回应的手段;它只是一种现成的对话收尾方式。
角色应该在什么时候进行追问?
当缺失的信息对下一次回应至关重要时,才进行提问。如果用户说“在那儿见我”而地点不明确,那么澄清是很有必要的。当用户提起一段回忆并似乎准备展开话题时,引出故事的提问便很合时宜:“关于那个车站,你印象最深的是什么?”当角色需要用户决定接下来的发展时,提供选择也是很有用的。
让提问始终与用户刚刚提供的内容保持关联。如果他们作出了回答,就利用这个回答;不要接着抛出一个毫无关联的套话。如果他们的消息已经表达完整,除了确认之外不需要更多回应,那么一句实在的陈述往往比要求他们详细说明更自然。
即使提问在语法上符合上下文,有时也是多余的。在“雨终于停了”之后问一句“你喜欢下雨吗?”虽然契合主题,但角色可能并不需要这个答案。相关性只是基础;目的性才是检验的标准。
角色对话的实用编辑步骤
选取一部分现有的对话样本,将每句末尾的句子及其对应的上一轮用户消息复制到审阅表中。针对每一行,快速做出四项判定:
然后大声或连贯地朗读修改后的对话。检查陈述句是否因省略了必要信息而显得短促生硬,并确保提问听起来符合角色性格而非表单提示。保留那些行之有效的结尾,即使它们是提问;修改那些仅凭惯性出现的句子。
提问并没有通用的配额。一段热烈的交谈可能会连续出现多个目的明确的提问,而一个安静的场景可能有一段时间都不需要提问。衡量的标准取决于具体情境:回答用户、表达完观点、带着明确理由提问,并在对话自然进入尾声时允许停顿。
这是一种针对角色对话推导出的编辑方法,而非两篇引用研究中经过验证的规则。引用的研究针对的是特定的对话任务和主观评估;它们无法界定所有受众会对特定角色的声音作出何种反应。
