智能旅行规划的未来:大模型与形式化验证的融合

news2024/11/26 12:54:22

我们在做旅行规划时面对众多的目的地选择、复杂的交通连接、预算限制以及个人偏好等多重因素,即使是最有经验的旅行者也可能会陷入选择困境。传统的旅行规划方法往往依赖于人工操作,这不仅耗时耗力,而且难以保证计划的最优性和可执行性。

本文将探讨一个革命性的解决方案——将大型语言模型(LLMs)与形式化验证工具相结合,以解决传统旅行规划中存在的问题。这种方法不仅能够处理复杂的约束条件,还能够提供经过严格验证的旅行计划,确保每一项旅行安排都符合用户的具体要求。通过这一创新框架,我们能够实现更高效、更准确、更个性化的旅行规划,让每个人都能享受到定制化的旅行体验。

方法

究者们提出了一个框架,该框架利用LLMs来形式化地表述和解决旅行规划问题,将其视为一个可满足性模理论(SMT)问题。这一方法的核心在于,通过多次调用LLMs,完成从自然语言查询到JSON格式描述的转换、问题的公式化步骤生成,以及基于步骤的代码生成。当输入的查询不可满足时,LLMs还能够基于当前情况提出建议,并根据建议修改现有代码。

框架的概览

Figure 1框架是一个协作系统,涉及人类用户、大型语言模型(LLM)、SMT求解器以及生成的旅行计划。工作流程如下:

  1. 人类用户提出查询:以自然语言的形式,用户提出他们的旅行计划需求。

  2. LLM翻译:LLM将用户的自然语言查询转换为JSON格式,这是一种结构化的数据处理格式,便于计算机解析和处理。

  3. 生成SMT问题步骤:LLM根据JSON格式的描述,生成解决问题所需的步骤,这些步骤将指导如何将旅行计划问题表述为一个SMT问题。

  4. 代码生成:LLM根据生成的步骤,创建相应的代码。这些代码将作为SMT求解器的输入,用于编码问题。

  5. SMT求解器调用:执行LLM生成的代码,以调用SMT求解器。SMT求解器是一个能够处理复杂逻辑和数学问题的算法工具,它尝试找到满足所有约束条件的解决方案。

  6. 交互式查询修改:如果SMT求解器无法找到解决方案,表明当前的查询不可满足。此时,LLM将收集信息,分析当前情况,并与用户进行交互,提出修改查询的建议。

  7. 代码更新与重新求解:根据用户的反馈和建议,LLM更新代码,并再次调用SMT求解器,以寻找可行的旅行计划。

  8. 生成旅行计划:一旦找到满足所有约束条件的解决方案,SMT求解器将生成一个经过形式化验证的旅行计划,该计划以绿色区域表示。

研究者们定义了旅行规划问题:给定人类旅行计划的个人约束C的自然语言描述,系统应输出满足C的计划。这涉及到从起始城市出发,访问k个目的地城市,跨越n天的旅行,并采用k+1种交通方式。输出的计划应明确指定每天要访问的城市、交通方式、景点、餐厅和住宿。

然后研究者们对旅行规划问题进行了明确的定义。他们指出系统的目标是:基于用户提供的自然语言描述的个人约束C,生成一个满足这些约束条件的旅行计划。这包括从起始城市出发,访问若干目的地城市,整个旅程持续一定的天数,并涉及多种交通方式。

旅行规划问题中考虑的各种约束条件的描述。这些约束包括目的地城市、交通日期、交通方式、航班信息、驾车信息、餐厅选择、景点选择、住宿条件和预算

接下来LLMs的任务是将用户的自然语言输入转换成结构化的JSON格式。这一步是整个框架的基础,它确保了后续步骤能够准确理解用户的需求。

代码生成阶段是框架的关键部分,LLMs根据转换后的JSON描述和预先提供的示例,生成解决问题所需的具体步骤。这些步骤将指导如何将问题分解并逐步解决。LLMs进一步将这些步骤转化为可执行的代码。这些代码将被用来调用SMT求解器,是连接问题描述和求解器的桥梁。

 LLM 如何根据给定的步骤生成解决特定约束的 Python 代码的示例

最后框架执行生成的代码,将旅行规划问题编码为SMT问题,并提交给SMT求解器。求解器将尝试找到满足所有约束条件的解决方案。如果存在可行的计划,求解器将提供一个经过形式化验证的旅行计划。

当提出的查询不可满足时,LLMs利用其推理能力和常识知识来分析当前情况,并提出修改建议。这允许与人类用户进行交互式设置,用户可以同意、反对或对LLMs提出的建议提供反馈。LLMs然后根据不同的人类偏好输出个性化计划。

通过这种方法,研究者们展示了他们的框架如何有效地处理多样化的人类输入,提供经过形式化验证的计划,并在输入查询不可满足时与人类交互式地修改查询。

实验

为了测试框架的泛化能力和处理不可满足查询的交互式计划修复能力,研究者们提出了一个名为UnsatChristmas的数据集。这是专门为了评估他们提出的框架而设计的。该数据集包含39个在2023年圣诞节周制定的国际旅行计划的不可满足查询,覆盖了全球十大城市目的地,并从Metabase获取了景点信息,以及使用Google Flights收集了相关航班信息。UnsatChristmas数据集的独特之处在于它引入了与TravelPlanner不同的新约束,例如直飞规则、航空公司偏好和景点类别要求。这个数据集旨在测试框架对于未见过的约束类型是否具有良好的泛化能力,并通过交互式计划修复来适应用户的不同偏好。

研究者们在TravelPlanner和UnsatChristmas数据集上测试了他们的框架。他们使用GPT-4作为默认的LLM,并将其性能与其他两种LLM模型Claude 3 Opus和Mixtral-Large进行了比较。所有实验都使用了Z3求解器作为SMT求解器。

研究者们使用TravelPlanner数据集中的训练集来设计示例指令步骤和相应的代码,并使用这些训练查询来调整提示。然后在验证集(180个可满足的查询)和测试集(1000个可满足的查询)上评估了他们的方法。

评估指标:包括交付率(是否在限定时间内生成最终计划)、常识约束通过率、硬约束通过率和最终通过率。

基线比较:与研究者们(2024年)评估的传统基于规则的策略和各种LLM规划方法进行了比较。

结果分析

  • GPT-4的交付率在验证集上为99.4%,在测试集上为97.2%。
  • 在最终通过率方面,GPT-4在验证集上达到了98.9%,在测试集上达到了97.0%,显示出框架在解决旅行规划问题上的强大能力。
不同方法在可满足查询上的旅行计划解决性能比较。列出了不同基线模型和本文提出的框架在交付率、常识约束通过率、硬约束通过率和最终通过率等方面的性能

研究者们还评估了框架在交互式计划修复方面的能力。他们修改了TravelPlanner的查询,使其不可满足,并使用UnsatChristmas数据集来测试框架的交互式计划修复性能。

评估指标:基于LLM最终是否能够修改约束条件以成功交付可行计划的成功率。

实现细节:定义了四种不可满足模式,并使用了模拟用户来测试框架。

结果分析

  • 框架在处理不同类型模拟用户时,平均成功率为78.6%至85.0%。
  • 通过增加迭代次数,成功率可以进一步提高。
表格 3  在 39 个来自 UnsatChristmas 数据集的不可满足查询上,框架交互式计划修复的性能。这些查询设计用来测试圣诞节期间的国际旅行计划,并包含了新的约束条件
表格 4  在修改自 TravelPlanner 数据集的 12 个不可满足查询上,框架交互式计划修复的性能。这些修改是为了测试框架处理交互式计划修复的能力

在框架对未见过的约束类型的泛化能力测试中。研究者们展示了通过在JSON-Step Generation提示中添加几行任务描述,LLM能够为UnsatChristmas中的新查询生成指令步骤,而无需添加新示例。

结论

  • 实验结果表明,提出的框架能够可靠地处理多样化的人类输入,提供经过形式化验证的计划,并能够根据不同的人类偏好交互式地修改不可满足的查询。
LLM 如何根据 JSON 步骤提示生成新的指令步骤,以编码未见过的约束的示例,展示了框架如何对未见过的约束类型进行泛化处理

实验证明框架不仅在理论上是可行的,而且在实际应用中也是有效的。这些实验结果为LLMs在旅行规划领域的应用提供了有力的证据。然而,这项工作也存在一些局限性:框架的有效性依赖于精心设计的指令步骤和相应的代码,这可能需要大量的时间和专业知识来从零开始制定问题;对于包含大量目的地城市选择、多样化约束类型和只有少数可行计划的查询,求解器的运行时间可能会很长;框架目前还不能区分来自数据库的不安全或不正确信息,这可能带来基于不准确数据生成风险计划的潜在风险。

尽管存在这些挑战,研究者们的工作无疑为LLMs在旅行规划领域的应用开辟了新的道路。未来的工作可能会集中在简化问题制定过程、提高求解器效率以及增强对不安全信息的识别能力上。

论文链接:https://arxiv.org/abs/2404.11891

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1880066.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux——/etc/passwd文件含义,grep,cut

/etc/passwd文件含义 作用 - 记录用户账户信息:共分为7段,使用冒号分割 含义 - 文件内容意义:账户名:密码代号x:UID:GID:注释:家目录:SHELL - 第7列/sbin/nologin&#x…

sheng的学习笔记-AI-聚类(Clustering)

ai目录 sheng的学习笔记-AI目录-CSDN博客 基础知识 什么是聚类 在“无监督学习”(unsupervised learning)中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。此类学…

WAIC2024 | 华院计算邀您共赴2024年世界人工智能大会,见证未来科技革新

在智能时代的浪潮汹涌澎湃之际,算法已成为推动社会进步的核心力量。作为中国认知智能技术的领军企业,华院计算在人工智能的广阔天地中,不断探索、创新,致力于将算法的潜力发挥到极致。在过去的时日里,华院计算不断探索…

昇思25天学习打卡营第7天|模型训练

模型训练 模型训练一般分为四个步骤: 构建数据集。定义神经网络模型。定义超参、损失函数及优化器。输入数据集进行训练与评估。 前面几天依次学习了前面几个步骤的操作,今天继续学习模型训练。 数据集和神经网络模型这个前面已经有详细的介绍。准确…

力扣SQL50 连续出现的数字 distinct

Problem: 180. 连续出现的数字 👨‍🏫 力扣官解 Code SELECT DISTINCTl1.Num AS ConsecutiveNums FROMLogs l1,Logs l2,Logs l3 WHEREl1.Id l2.Id - 1AND l2.Id l3.Id - 1AND l1.Num l2.NumAND l2.Num l3.Num ;

线程安全问题(二)——死锁

死锁 前言可重入锁逻辑 两个线程两把锁(死锁)死锁的特点多个线程多把锁(哲学家就餐问题)总结 前言 在前面的文章中,介绍了锁的基本使用方式——锁 在上一篇文章中,通过synchronized关键字进行加锁操作&am…

只需10分钟1条,全是原创精美视频,拆分8个步骤详细讲解!

不少朋友在问如何快速学习剪辑视频,网上还有很多在收几百到几千学费。其实所有的付费,都是认知与信息差。 这篇文章我直接讲干货,内容不多,大概3分钟可以看完。所有步骤都是富哥亲测的内容,每条视频长达1分钟以上&…

检索增强生成RAG系列4--RAG优化之问题优化

在系列2的章节中罗列了对RAG准确度的几个重要关键点,主要包括2方面,这一章就针对其中问题优化来做详细的讲解以及其解决方案。 从系列2中,我们知道初始的问题可能对于查询结果不是很好,可能是因为问题表达模糊、语义与文档不一致等…

职场必备:三大神器助你完美驾驭工作与生活;从 GTD 到SMART再到OKR:提升效率的终极指南;告别拖延,高效工作的秘密武器!

在现代职场和个人生活中,有效的时间管理和目标设定是成功的关键。我们每天都面临着无数的任务和目标。如何在纷繁复杂的日常中保持专注,高效地完成工作? GTD(Getting Things Done) GTD(Getting Things Don…

容器技术-docker4

一、docker资源限制 在使用 docker 运行容器时,一台主机上可能会运行几百个容器,这些容器虽然互相隔离,但是底层却使用着相同的 CPU、内存和磁盘资源。如果不对容器使用的资源进行限制,那么容器之间会互相影响,小的来说…

Qt:5.QWidget属性介绍(isEnabled和geometry)

目录 一、 QWidget属性的介绍: 二、Enabled属性: 2.1Enabled属性的介绍: 2.2获取控件当前可用状态的api——isEnabled(): 2.3设置控件当前的可用状态的api—— setEnabled() : 2.4 实例:通过一个按钮&…

Gin框架基础

1、一个简单的Gin示例 下载并安装Gin: go get -u github.com/gin-gonic/gin1.1 一个简单的例子 package mainimport ("net/http""github.com/gin-gonic/gin" )func main() {// 创建一个默认的路由引擎r : gin.Default()// 当客户端以GET方式访问 /hello…

企业化运维(6)_redis数据库

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 redis是一个key-value存储系统。和Memcached类似&#xff0…

优化模型验证30:多车场车辆路径问题模型及Gurobipy验证

目录 1 数学模型 1.1 用到的符号集合 1.2 模型公式 2 模型验证代码 2.1 Gurobipy代码 2.2 结果可视化 多车场车辆路径问题的定义:大型的物流公司拥有多个车场,而每个车场都有若干车辆用于配送,决策者需要根据客户的所在位置,将客户分配到合适的车场和车辆中。 1 数学模…

深度学习基准模型Transformer

深度学习基准模型Transformer 深度学习基准模型Transformer,最初由Vaswani等人在2017年的论文《Attention is All You Need》中提出,是自然语言处理(NLP)领域的一个里程碑式模型。它在许多序列到序列(seq2seq&#xf…

matlab仿真 通信信号和系统分析(上)

(内容源自详解MATLAB/SIMULINK 通信系统建模与仿真 刘学勇编著第三章内容,有兴趣的读者请阅读原书) 一、求离散信号卷积和 主要还是使用卷积函数conv,值得注意的是,得到的卷积和长度结果为81&#xff0…

lumbda常用操作

文章目录 lumbda的常用操作将List<String>转List<Integer>filter 过滤max 和min将List<Object>转为Map将List<Object>转为Map&#xff08;重复key&#xff09;将List<Object>转为Map&#xff08;指定Map类型&#xff09;过滤List重复 lumbda的常…

【强化学习的数学原理】课程笔记--2(贝尔曼最优公式,值迭代与策略迭代)

目录 贝尔曼最优公式最优 Policy求解贝尔曼最优公式求解最大 State Value v ∗ v^* v∗根据 v ∗ v^* v∗ 求解贪婪形式的最佳 Policy π ∗ \pi^* π∗一些证明过程 一些影响 π ∗ \pi^* π∗ 的因素如何让 π ∗ \pi^* π∗ 不 “绕弯路” γ \gamma γ 的影响reward 的…

15- 22题聚合函数 - 高频 SQL 50 题基础版

目录 1. 相关知识点2. 例子2.15 - 有趣的电影2.16 - 平均售价2.17 - 项目员工 I2.18 - 各赛事的用户注册率2.19 - 查询结果的质量和占比2.20 - 每月交易 I2.21 - 即时食物配送 II2.22 - 游戏玩法分析 IV 1. 相关知识点 函数 函数含义order by排序group by分组between 小值 an…

基于web的产品管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于web的产品管理系统,java项目。 ecli…