意图
指用户意图
出现 “意图” 的几种情况
- “#用户意图#” 节点的 “意图” 属性(该节点可位于 “#单次交互#” 节点或 “#触发#” 节点的后面)
- “#开始#” 节点中 “应对话术” 属性的 “意图” 部分
- “#开始#” 节点 “动态参考信息” 属性的 “意图” 部分
- “#开始#” 节点 “意图触发” 属性的 “意图” 部分
- “#多轮交互#” 节点 “退出意图” 属性
意图描述文本的规范要求
- 只能是 主语为“用户”(通常省略) 的、末尾不要标点符号的 陈述句
- 如:同意/不同意...、拒绝/未拒绝...、是/不是...、有/没有...、表示...、询问...、担心...、期望...、认为...、咨询...、查询...、预订... 等等
- 用 “你” 或 “#开始#” 节点的 “系统角色” 来指代对话中的 AI 机器人,用 “用户” 或 “#开始#” 节点的 “用户角色” 来指代对话中的另一方(即用户);慎用其它容易引起混淆的代词
- 要 完整、精准、避免歧义 地表达相关信息
- 比如不应是 “询问所需时间” 而是 “询问打官司所需时间”, 如果同一对话树中的其它场景下有同名/同类的用户意图则还需要加上场景信息,如 “询问离婚案件的打官司所需时间”
- 不能简单用一个动词 “是/否”、“是/不是”、“同意/不同意”、“有/没有” 等,要写清楚宾语 “是.../不是...”、“同意.../不同意...”、“有.../没有...”
- AI询问 “是否有结束日期”,你回答 “明年13月33日”,此时的肯定意图 “有结束日期” 可优化为 “有结束日期或直接提供了结束日期” 并加上约束 “即使是无效的日期也算”
- “自己想离婚”、“对方想离婚”、“双方都想离婚” 可优化为 “仅自己想离婚”、“仅对方想离婚”、“双方都想离婚”,
- 慎用否定或排它的表达方式(如 “非......”、“其它......”)
- 还可以用后面的 “意图约束” 来进一步细化意图的语义、避免歧义
- 同一 “#单次交互#” 节点后或同一 “#触发#” 节点后的多个 “#用户意图#” 节点的 “意图” 的 语义内涵相互之间要 “互斥”、不能用重叠,需要时可以通过约束(见下面)来区分,如 “咨询债务、欠款等纠纷类法律问题” 可以加上约束 “非物业类”,以和 “咨询物业类法律问题” 区分开
- 对于 “#单次交互#” 节点后面的 “#用户意图#”节点,如果是 “是否” 判断,可以是 “肯定、中立、否定” 模式 的其中之一:肯定|否定、肯定|中立|否定、肯定+中立|否定、肯定|中立+否定,这里 “中立” 表示中间状态(既不肯定也不否定)。如 “是患者本人” 和 “不是患者本人”(“肯定|否定” 模式),可以调整为:
- “未否认是患者本人” 和 “否认是患者本人”,相当于把中间状态并入肯定一方(“肯定+中立|否定”模式)
- “确认是患者本人” 和 “未确认是患者本人”,相当于把中间状态并入否定一方(“肯定|中立+否定”模式)
- 上面两种情况也会阻止系统将中间态度理解为用户拒绝回答
- 但要注意,“未同意” 是不同意的意思,和 “未确认” 的情况不太一样,所以只能使用 “未明确同意”,但就没必要 “未明确否认”、“未明确确认” 了
- 同时这里要小心和信息项修饰 “明确” 的配合使用
- 不能要求 LLM “做” 或 “说” 任何事情,比如 “告诉我...”、“帮我...”、“给我...”、“说...”、“回答...” 等等
- 字符规范:只能是汉字、数字、大小写字母、全角单引号、顿号、下划线、减号、斜杠和小数点
意图约束
- 除了意图本身,都有可选的 “约束” 部分,是对用户意图的细化约束、解释或描述,约束内容不能包含 “()(){}[]|” 等字符:
- 例子:
- 意图 “明确要求和律师进行当面咨询”,可以加上意图约束 “仅仅指定律师所在地域的情况不算”
- 意图 “咨询刑事案件类法律问题”,可以加上意图约束 “不含交通事故”
- 意图 “重新另外预定机票”,可以加上意图约束 “更改起点、终点、航空公司的情况不算”
- 意图 “查询货物或车辆” 可加上意图约束 “但不含咨询App问题或网站问题的情况”