# 多指令判断 多指令是独立维度,不属于业务标签树。它用于判断一个 query 是否需要拆成多个可独立执行的子任务,以及每个子任务对应的业务标签或 intent。 ## 输出目标 推荐结构: ```json [ { "condition": null, "querys": [ {"subquery": "关闭卧室的灯", "intent": "设备控制"}, {"subquery": "定一个明天下午四点的闹钟", "intent": "闹钟"} ] } ] ``` 其中 `condition` 由自动任务维度负责判断;没有条件时为 `null`。 ## 单意图 以下情况通常不要拆分: - 简单单意图:只有一个核心动作或询问目标。 - 子句存在强执行依赖:拆分会导致参数丢失、顺序错误或重复执行。 - 同品类单操作:同一动作作用于同一功能品类的多个位置或实例。 - 多查询:多个查询类目标可以作为一个查询意图处理。 - 内容播放 + 播放控制:播放具体内容并设置上一首、下一首、循环等,通常视为单个播放意图。 - 顺序执行操作:多个连续步骤共同完成单一任务,例如打开应用、搜索内容、点击结果。 - 改口重复:口误、重复词或重说只保留一次核心意图。 - 相反操作:同一设备或功能连续相反动作,通常视为单意图或口语修正。 ## 需要切分 以下情况通常需要拆成多个子任务: - 并列连词:和、并、然后、再、顺便、同时、并且。 - 明显语义独立的动作或查询目标。 - 同属一个意图类别但语义完整且可独立执行的子句。 - 同一设备或部件存在多个不同方向调整,例如“后视镜往里往前调”。 ## 切分原则 - 每个子句必须能独立构成一个完整意图。 - 不可过度细分,导致子句无法理解。 - 拆分后需要继承必要动作、位置或设备信息。 ## 改写规则 ### 动作继承 “打开空调和电视”应改写为: ```json [ { "condition": null, "querys": [ {"subquery": "打开空调", "intent": "设备控制"}, {"subquery": "打开电视", "intent": "设备控制"} ] } ] ``` ### 无 trigger 的位置继承 “打开客厅电视和吸顶灯”应改写为: ```json [ { "condition": null, "querys": [ {"subquery": "打开客厅电视", "intent": "设备控制"}, {"subquery": "打开客厅吸顶灯", "intent": "设备控制"} ] } ] ``` ### 设备继承 “客厅吸顶灯调到最亮色温调到最大”应改写为: ```json [ { "condition": null, "querys": [ {"subquery": "客厅吸顶灯调到最亮", "intent": "设备控制"}, {"subquery": "客厅吸顶灯色温调到最大", "intent": "设备控制"} ] } ] ``` ## 典型单意图例子 - 打开空调调到二十六度。 - 扫地机设置为又扫又拖清理一下客厅。 - 打开网易云音乐播放青花瓷。 - 关闭主驾和后排车窗。 - 明天武汉和北京的天气。 - 播放张杰的天下并调成单曲循环模式。 ## 典型多指令例子 - 关闭所有的座椅加热然后声音放到十三。 - 将能量回收调到柔和并打开氛围灯。 - 关闭卧室的灯定一个明天下午四点的闹钟。 - 关闭 QQ 音乐打开网易云音乐。 - HUD 角度往左往上偏一点。