自然语言描述的优化问题常常缺少求解器必需的数值信息,例如成本、容量、需求、界限和罚金。语言模型能够把描述转化为代码,但当所需数值缺失时只能停下来或随意猜测。
SAILOR 是一个概念验证系统,它会自动检测模型中缺失的数值,向用户提出针对性的追问,并在获得答案后更新模型再返回求解结果。系统首先将自然语言转为数学模型,然后利用求解器检查是否存在未定义的参数。
针对每个缺失值,SAILOR 计算两类指标:一是基于模型不确定性的估计,二是求解器给出的该参数对当前目标函数的敏感度。两者的加权结果决定提问的优先级,确保先解决最关键的缺口。
在七个经过遮蔽的基准数据集上共测试了 1,723 条实例,使用一个理想化的模拟器返回真实数值作为用户答案。实验显示,目标值完全一致的比例在 27.0% 到 87.6% 之间,平均每条实例需要 1.4 到 5.7 个追问。
代码已开源,地址为 https://github.com/sshaghayeghs/SAILOR。
点评