模板把开放输入变回有结构的填空,代价是牺牲开放性
别名: 开放变填空 · 模板回收开放性 · NL reverted to form
概念解释
产品用自然语言入口宣告「用说话来操作」,转头把高频任务收成带槽的模板。交互语法从「任意一句」回到「按格填写」。开放变填空(open-to-form conversion)命名的是这场回收:模板不是在开放通道上加一层帮助,是把通道重新封闭成表单。换来的是可校验、可起步;付掉的是当初用自然语言换来的那部分表达自由——未预置的意图没有格子可去。
表达范围被槽位削窄,是人还待在语言通道里、只是少说了几维。语法回收更彻底:人已经不在语言通道里了,他们在填表。
机制
开放输入的价值是延迟绑定——结构在说话时才出现,所以罕见意图、复合意图、中途改主意都还有地方安放。模板把绑定提前到设计时:有哪些格,是产品先决定的。这正是传统 GUI 的做法。生成功能套上模板,等于在模型外面重建了一层表单,模型的组合能力被入口重新离散化。
产品常在两者之间摇摆而不声明:广告说「随便问」,主路径却是模板画廊。人会按广告准备一段开放叙述,再被要求把它撕开填进格子。转换本身有代价——叙述被拆碎,关系(「先比价格,再只对前三名比交付」)在格子里放不下,只能丢掉或塞进「其他」。
怎么研究
给同一批复合任务(含「先…再只对…」这类跨槽关系)。三组:纯开放、纯模板画廊、开放与模板并列且须选一条路。编码产物是否保住跨槽关系、用户中途是否想换语法、选路时的理由。自变量:模板覆盖该任务的程度、转换是否可逆(填到一半能否把已填内容倒回一句自然语言)。因变量:关系保全率、语法切换次数、主观「这还像说话吗」。
测的是语法层,不是某个槽名写得笨。任务必须故意跨槽,否则填空看起来总是够用。
边界
本来就该是表单的任务(订机票、报销、改密码)谈不上牺牲开放性,开放输入反而是绕路。纯探索、无预置任务族的产品若全盘模板化,回收过头。混合界面若声明「模板管常见、框管其余」并且两条路的产物能互相导入,牺牲被限制在常见路径上。语音入口上填空格外别扭:口语没有格子,强制回收会把人赶回屏幕。
怎么落地
- 决定这件事是不是真的要回收。若是,就按表单来设计并停止用「随便问」做主文案。若不是,模板只能是可选薄支架,发送物仍是那句自然语言。
- 提供可逆转换:格子里的值能拼回一句可读的提示,那句也能拆回格子。人中途改主意时不必重做。
- 为跨槽关系留一个不被忽略的自由句位置,并在生成时给予与槽位同等权重。
- 验证:用一条带「先…再只对…」的请求走主路径。若界面逼人把这句话拆进互不相干的格、且拼不回去,开放性已经被回收。再听用户怎么称呼这个入口——「问它」还是「填表」。称呼变了,语法就变了。
延伸
- 同组:L2.03.1 模板降低起步成本 · L2.03.2 模板会限制用户的表达范围 · L2.03.3 模板需可修改而非只能套用 · L2.03.5 模板中的占位内容会被用户原样保留,空槽必须设计成不可忽略 · L2.03.6 模板体现的是设计者对任务的假设,与真实任务不符时会主动误导 · L2.03.7 只能整体套用而无法看清其结构的模板,不会带来任何学习
- 相邻:L2.01 自然语言指令的开放性及其代价 · L2.04 参数化控制与自然语言的互补 · L2.06 控制粒度
- 站内检索:
open-to-form conversion·delayed binding·form versus NL