ICML2026|一句话查传感器记录,Sonar-TS让大模型先检索再核验
2026-10-09 11:39:05  腾讯   [查看原文]

 

前言

想从过去一年的传感器记录中找出“快速升温后保持稳定”的时间段,通常得先取数据,再写分析程序。Sonar-TS 尝试让用户直接用一句话提问:大模型生成 SQL 找出候选片段,再用 Python 检查原始数据。发表于 ICML 2026 的这项研究,关注的是如何从长时间积累的时序记录中查出用户需要的答案。

“找出过去一年里,温度快速上升、随后保持稳定的日期。”

这类问题在设备监控场景很常见。数据库里有温度记录,但没有现成的“快速升温后保持稳定”的标签。分析人员需要先取出数据,写程序识别走势,再检查哪些片段符合要求。如果还要求“找出持续时间最长的一段”,就得继续比较各段平台期的持续时间。

此前介绍的 MetaCaster 将智能体用于生成数据和训练预测模型。今天这篇论文关注另一项任务:让用户用自然语言查询时序记录。

这个研究来自江西财经大学、格里菲斯大学、云南大学、微软亚洲研究院、香港科技大学(广州)等机构,发表于 ICML 2026。查数值容易,查走势困难

查“五月份的最高温度”比较简单:限定时间范围,再找最大值即可。Text-to-SQL 方法可以把这类问题翻译成 SQL,交给数据库执行。

“先快速上升,再缓慢回落”就复杂得多。它包含变化顺序、变化速度和持续时间,普通的数值筛选条件很难完整表达。即使规定斜率大于某个阈值,也要考虑不同传感器的量纲和正常波动范围。

另一种办法是把序列交给时序问答模型,让它识别形状。但用户问的是过去几个月甚至一年的记录,相关片段往往还没有截取出来。此外,长记录可能超过模型的输入长度,逐个窗口调用模型也会增加成本。

Sonar-TS 将任务定义为时序数据库自然语言查询(Natural Language Querying for Time Series Databases,NLQ4TSDB)。输入包括用户的问题和数据库结构说明,输出可以是数值、时间戳、时间区间,也可以是一份分析报告。

Sonar-TS 的做法是:先检索可能符合要求的片段,再用程序逐个核验。

图1:Sonar-TS 预先建立特征表,查询时生成 SQL 和 Python,分别完成候选筛选与原始数据核验。图片来自论文。先为长记录建立索引

为减少查询时需要读取的数据,Sonar-TS 提前按年、月、日等尺度划分时间窗口,将每个窗口的特征保存到表中。

表中除了通道编号、起止时间,还包含最小值、最大值、均值、标准差和斜率等统计量。例如,寻找波动较小的片段,可以先根据标准差筛选;寻找上升趋势,可以先检查斜率。

仅看均值、标准差等统计量,很难判断读数是先升后降,还是先降后升。作者还用符号聚合近似(Symbolic Aggregate approXimation,SAX)记录窗口内的大致形状。将曲线转换成字母序列

论文实现先将一个窗口分成若干段,计算各段均值,即分段聚合近似(Piecewise Aggregate Approximation,PAA)。若第 

段包含的采样位置集合为 

,其均值可以写成:

其中,

是原始读数,

是这一段的采样点数。随后,系统对这组分段均值做标准化,再根据数值所在区间,将它们映射为 a 到 e 五个字母,分别对应由低到高的相对水平。

例如,abcdeedcba 可以表示一段先升后降的变化。这样,系统就能先检索字母序列,筛选具有相应走势的窗口。

图2:同一类时序记录可以按日、月、年建立不同粒度的 SAX 表示。字母记录分段后的相对高低,原始数值仍保存在数据库中。图片来自论文。

查询“先升后降”时,SQL 可以用正则表达式匹配从 a 一类的低水平编码逐渐升到 e、再降下来的序列。系统也会根据问题涉及的时间范围,选择年、月或日尺度的特征表。

SAX 在这里用于近似筛选。分段平均会丢失局部细节,字母也没有保留精确幅值,所以筛出的片段还需要检查。再用程序核对每个条件

Sonar-TS 的在线查询分为规划、代码生成和执行三个环节。论文主实验使用 DeepSeek-V3 完成任务规划和代码生成,不微调大语言模型。

模型先根据问题、数据库结构和预先整理的分析经验,决定查哪些表、按什么顺序计算。随后生成 SQL 检索候选窗口,再生成 Python 读取这些窗口的原始数据,调用时序分析算法。

以“快速上升后保持稳定”为例,完整判断至少需要检查两件事:前一段是否上升得足够快,后一段是否确实形成了稳定平台。

“快速”也不能只靠一个固定阈值。论文给出的做法是计算候选片段的趋势斜率,再与历史斜率分布比较,判断它是否处于较高分位。平台部分则需要结合分段结果和波动情况检查。

作者提供了经典算法算子库:自相关函数(ACF)用于周期检测,动态时间规整(DTW)用于子序列匹配,PELT 算法用于变化点检测,Theil–Sen 估计用于趋势斜率计算,Pearson 相关系数用于变量关系分析。

大语言模型根据问题选择算法、安排计算顺序,具体数值由程序读取原始数据后再计算。

如果 SQL 返回空结果,或 Python 执行报错,系统会将反馈交给代码生成模块,允许最多三次重试。执行成功后,再将数值和区间整理成答案;报告任务还会调用大语言模型组织文字,并可生成图表供用户检查。

为了帮助大模型正确使用这些工具,作者先用独立的 110 条问题运行查询,根据执行过程和得分整理分析经验。例如,如何用 SAX 检索形状,怎样处理不规则采样,以及何时使用变化点检测。

经验内容包括算子的使用方法、形状匹配策略,以及常见错误的处理办法。系统通过添加、合并和删除控制经验数量,最多保留 20 条,在查询时写入提示词。

正式查询时,分析经验保持固定,大模型参数也不更新。 用1153个问题检验查询效果

作者构建的 NLQTSBench 包含 1153 条查询,平均每个问题涉及约 1.2 万个采样点,覆盖四个层次、九类任务:

• 基础操作:计算统计量、查找时间点、搜索滑动窗口。

• 模式识别:寻找平台或尖峰、检测周期、匹配相似子序列。

• 语义推理:识别先升后降等复合趋势、结合局部背景判断异常、检查多个通道的关系变化。

• 报告生成:对趋势分段,标记异常,并组织成结构化说明。

基准使用 CausalRivers、ETTm1 和 SMD 中的河流、变压器及服务器监控数据。作者在这些真实序列中注入已知的数学模式,再人工检查生成的片段是否符合问题描述。这样可以保留真实数据的噪声,同时确定标准答案。

不同形式的答案采用不同指标。返回时间区间时,使用交并比(IoU):返回区间与真实区间重叠的时长,除以二者并集的时长。

和 

分别是返回区间和真实区间。定位越准确,IoU 越高。数值答案、时间点和日期集合分别采用相应的相对准确性得分、命中率和 F1。

报告生成任务也按分析结果评分。作者规定输出结构和描述词汇,从报告中提取趋势类别、时间区间、快慢描述与异常位置,分别核对后综合打分。

论文还设置了“因果异常”任务:在预设关联的通道中,定位关系发生变化的片段,例如一个通道上升,另一个却不再响应。这里的通道关系事先给定,任务是检测关系异常,不涉及从数据中发现因果关系。程序核验带来了多少改善

在完整基准上,作者主要比较了 MAC-SQL、Xiyan-SQL 和 Omni-SQL 等 Text-to-SQL 方法。Sonar-TS 在论文表4中的平均得分为 0.6144,由各项任务的不同指标汇总而来。

分项结果:周期检测得分达到 0.8625,子序列匹配 IoU 达到 0.9439,MAC-SQL 在这两项上分别为 0.3928 和 0.0598。Sonar-TS 的形状识别 IoU 为 0.3336,复合趋势 F1 为 0.2988。

Sonar-TS 在周期检测和子序列匹配上表现较好。对于形状识别和复合趋势,系统还需要把文字描述准确转成检索条件,这两项的得分明显较低。

图3:主实验分成长记录查询和短窗口问答两组。不同列采用不同评分指标,数值均越高越好;两组不能直接比较。图片来自论文表4。

为了比较输入长度有限的时序模型,作者另设 NLQTSBench-Lite:500 条问题,每条输入固定为 512 个采样点,覆盖形状识别、复合趋势和关系异常三类任务。例如,在形状识别上,Sonar-TS 的 IoU 为 0.2491,ChatTS-14B 为 0.1768。

消融实验说明了核验的作用。去掉 Python 核验后,周期检测得分从0.8625 降到 0.0154,子序列匹配 IoU 从 0.9439 降到 0.0396。这些任务需要实际计算,单靠符号筛选难以得到准确答案。

去掉分析经验提示后,报告生成得分从 0.7395 降到 0.3415。提前提供任务规划和算子使用经验,有助于模型生成包含正确分析结果的报告。找到平台期,还要选出最长的一段

在论文的“寻找最长平台期”案例中,ChatTS 找到了平台期,却没有选出最长的一段;仅生成 SQL 的方法则使用固定数值条件筛选,没能准确识别目标平台期。

Sonar-TS 先搜索可能的平台期,再用 Python 检查原始数据、比较持续时间,最终选出符合要求的片段。“最长”这个条件,需要对找到的平台继续计算和比较。

图4:查询要求寻找最长的平台。案例对比了仅生成 SQL、直接使用时序模型,以及 Sonar-TS 检索后核验的结果。图片来自论文。

检索遗漏仍是一个主要问题。附录报告,形状识别和复合趋势的候选检索召回率分别为 0.5482 和 0.4713。后续核验只能检查检索到的片段,遗漏的目标不会进入分析程序。因此,要提高查询效果,还需要改进符号表示和候选检索。结语

查询时序记录,难在把“快速”“稳定”“最长”这样的要求转成具体计算。Sonar-TS 让大模型负责完成这些计算,再用原始数据核验结果,使自然语言提问能够用于时序记录查询。论文信息

• 论文题目:Sonar-TS: Search-Then-Verify Natural Language Querying for Time Series Databases

• 作者:Zhao Tan、Yiji Zhao、Shiyu Wang、Chang Xu、Yuxuan Liang、Xiping Liu、Shirui Pan、Ming Jin

• 机构:江西财经大学、格里菲斯大学、云南大学、微软亚洲研究院、香港科技大学(广州)等

• 会议:ICML 2026

• 正式页面:https://proceedings.mlr.press/v306/tan26h.html

• 论文 PDF:https://arxiv.org/pdf/2602.17001v3

• 代码:https://github.com/Atlamtiz/Sonar-TS

OCR:IMG:2000 RawData SAXa DAILYAVieW SAXC SAXd SAXe 1500 a Raw Value SAX Level 1000 500 D 03:00 06:00 09:00 12:00 15:00 18:00 21:00 00:00 Aug 16,2019 Aug 17,2019 MONTHLYVieW 1500 a Raw Value 1000 SAX Level 500 口 Feb4 Feb 7 Feb10 Feb 13 Feb 16 Feb 19 Feb22 Feb 25 Feb28 2021 YEARLYVieW 2000 1500 a Raw Value SAXLevel 1000 500 网终科学与人工智 Jan 2020 Mar 2020 May2020 Jul2020 Sep2020 Nov2020 Jan2021

OCR:IMG:ICML2026 Sonar-TS wn wmm 一句话 SQL筛选 Python核验 → 平台期 查时序数据

OCR:IMG:Table 4.Main experimental results on NLQTSBench.Abbreviations: AR(Atomic Retrieval) QTSBench.Abbreviations: AR (Atomic Retrieval), SW (Sliding Window), SI (Shape Ident.) PD (Periodicity Det.),SM(Subseq.Matching),CT(Composite Trend),CxA (Contextual Anomaly Synthesis).Best results are bolded,and the best baseline results are underlinec L1:Basic Ops L2:PatternRec. L3:SemanticReasoning L4 Category Method Avg. AR sW SI PD SM CT CxA CsA IS PerformanceonNLQTSBench-Lite(ShortContext) ChatTS-14B 0.1768 0.2431 - 0.1229 0.1818 Time Series ITFormer-7B 0.0736 0.1500 0.1953 0.1529 Models Time-R1 0.0320 - - 0.1395 , 0.1878 - 0.1374 Ours Sonar-TS , 0.2491 1 0.2680 1 0.3615 1 0.3016 PerformanceonNLQTSBench(LongHistory) MAC-SQL 0.4735 0.0457 0.0419 0.3928 0.0598 0.0020 0.0346 0.0152 0.1611 Text-to-SQL Xiyan-SQL-32B 0.1082 0 0.0588 0.2263 0.0068 0.0021 0.0168 0.0020 - 0.0582 Methods Omni-SQL-32B 0.4245 0.0086 0.0185 0 0 八 0.0038 0.0154 科 业 0.0921 00124 Ours Sonar-TS 0.8609 0.7827 0.3336 0.8625 0.9439 0.2988 0.4767 0.3841 0.7395 0.6144

OCR:IMG:Query: dentifytheindexrangeofth longest plateau (stableperiod) inchannel94.(Outputformat: [start_index,end_index]). 100 200 Sonar-TS SQL SELECTwindow_start,window_end Text-to-SQL FROMfeature_table (xiyan-SQL) Search WHEREregexp_like(sax, “[a-b]+[c]*[d-e]{2,}[c]*[a-b]+) Time Series Model (ChatTS) SELECTMIN(timestamp)ASstart, MAx(timestamp)ASend FROM(SELECTtimestamp FROMI2_t1dataWHERE94= (SELECT94FROM12 t1data WHEREtimestamp BETWEEN'0'AND'512 GROUPBY94 Answer[380,500] Answer × ORDERBYCOUNT(94) DESCLIMIT1) × ANDtimestamp Verify defverify_longest(data)i 钢络科学与人工智能 BETWEEN'0'AND'512')

OCR:IMG:Query: dentifytheindexrangeofth longest plateau (stableperiod) inchannel94.(Outputformat: [start_index,end_index]). 100 200 Sonar-TS SQL SELECTwindow_start,window_end Text-to-SQL FROMfeature_table (xiyan-SQL) Search WHEREregexp_like(sax, “[a-b]+[c]*[d-e]{2,}[c]*[a-b]+) Time Series Model (ChatTS) SELECTMIN(timestamp)ASstart, MAx(timestamp)ASend FROM(SELECTtimestamp FROMI2_t1dataWHERE94= (SELECT94FROM12t1 data WHEREtimestamp BETWEEN'0'AND'512' GROUPBY94 Answer[380,500] Answer × ORDERBYCOUNT(94) DESCLIMIT1) × ANDtimestamp BETWEEN'0'AND'512') Verify defverify_longest(data)

OCR:IMG:2000 RawData SAXa DAILYAVieW SAXC SAX d SAXe 1500 a SAX Level 1000 n 500 品 03:00 06:00 09:00 12:00 15:00 18:00 21:00 00:00 Aug 16,2019 Aug17,2019 MONTHLYVieW 1500 Raw Value 1000 SAX Level 500 D Feb4 Feb 7 Feb10 Feb 13 Feb16 Feb 19 Feb22 Feb 25 Feb28 2021 YEARLYVieW 2000 1500 Q Raw Value SAXLevel 1000 500 Jan2020 Mar 2020 May2020 Jul2020 Sep 2020 Nov2020 Jan 2021

OCR:IMG:Table4.Main experimental results onNLQTSBench.Abbreviations:AR(AtomicRetrieval) QTSBench.Abbreviations:AR(AtomicRetrieval),SW(SlidingWindow),SI(ShapeIdent.) PD(PeriodicityDet.),SM(Subseq.Matching),CT(CompositeTrend),CxA(ContextualAnomaly Synthesis).Bestresults are bolded,and thebest baselineresults areunderlinec L1:Basic Ops L2:PatternRec. L3:SemanticReasoning L4 Category Method Avg. AR sW SI PD SM CT CxA CsA IS PerformanceonNLQTSBench-Lite(ShortContext) ChatTS-14B 0.1768 0.2431 0.1229 0.1818 Time Series Models ITFormer-7B 0.0736 0.1500 0.1953 0.1529 Time-R1 0.0320 - - 0.1395 - 0.1878 - 0.1374 Ours Sonar-TS , 0.2491 , 0.2680 , 0.3615 , 0.3016 PerformanceonNLQTSBench(LongHistory) History) MAC-SQL 0.4735 0.0457 0.0419 0.3928 0.0598 0.0020 0.0346 0.0152 0.1611 Text-to-SQL Xiyan-SQL-32B 0.1082 0 0.0588 0.2263 0.0068 0.0021 0.0168 0.0020 0.0582 Methods Omni-SQL-32B 0.4245 0.0086 0.0185 0 0 0.0038 0.0154 0 0.0921 Ours Sonar-TS 0.8609 0.7827 0.3336 0.8625 0.9439 0.2988 0.4767 0.3841 0.7395 0.6144

OCR:IMG:OfflineDataProcessing Answer NativeTimeSeriesData Feature Tables Tags Statistical Pattern ...,'2019-04-28', Channel start end slope ... SAX Yearly chanmel_1 2019-01 2028-01 -0.36 .. acead... TimeSeries channel_2 .. ... .. ... ... Monthly Database Daily .. ... .. ... . .. ... ... .... ... . ... A. 0 12 A OnlineQuerying Post-processing DatabaseSchema Task Code 园 #Table:data [channel_1,... Planning Generation Execute #Table:feature_daily[...] Visualization #Table:feature_monthly[...] Sub-Steps Search Verify Results Question #Step1 SQL Python . Time Window Query #Step2 Timestamp Tasks $ AnswerSummary Find dates in channel 1 during 2019 daily trend:first rapid Operators Scalar Question fall,then volatile rise,then Comprehensive steady,then gradual fall. Trajectory Reporting PromptColdStart Experiences Question 1. For simple shape detection, use SAX Regex, and... 福 Experiences 球 Experiences 品 Reward Update Summarize Model Sub-Steps Results ...

OCR:IMG:OfflineDataProcessing Answer NativeTimeSeriesData FeatureTables Tags Statistical Pattern ..,'2019-04-28', Channel start end slope ... SAX Yearly channe1_1 2019-01 2028-1 -0.36 ... acead... channe1_2 ·.. ·…. ·.. ... ... TimeSeries Monthly Daily ·… ... .. . ·· ·· Database ... ·.. ·. .. ·· .. Aor22.3 12:09 Ap8.2019 12:00 Ar2.219 OnlineQuerying Post-processing DatabaseSchema Task Code 园 Execute #Table:data [channel_1,...] Planning Generation 爪 #Table:feature_daily[...] Visualization #Table:feature_monthly[...] Sub-Steps Search Verify Results Question #Step1 SQL Python . TimeWindow Query #Step2 Timestamp Tasks 彩 AnswerSummary Find dates in channel1during 2019 daily trend:firstrapid ·…. Operators Scalar Question fall,then volatile rise,then Comprehensive steady,then gradual fall. Trajectory Reporting PromptColdStart Experiences Question 1. For simple shape detection, 网络科 午口公 use SAx Regex, and... Experiences 水 Experiences 南 Reward 求 水 Sub-Steps Results ... Update Summarize Model

本栏目中的所有页面均系自动生成,自动分类排列,采用联索网络信息采集、网页信息提取、语义计算等智能搜索技术。内容源于公开的媒体报道,包括但不限于新闻网站、电子报刊、行业门户、客户网站等。使用本栏目前必读