📄 StocksTalk: A Voice-Enabled Conversational Agent for Structured Query Generation over Web Data
标签:#语音交互 #大语言模型 #端到端 #模型评估
6.7/10 | 创新 1.2/2 | 严谨 1/1.5 | 实验 1.1/1.5 | 清晰 0.8/1 | 影响 0.6/1.5 | 开源 0.5/1.5 | 复现 0.3/0.5 | 工程 1.2/1.5
✅ 6.7/10 | 前50% | 文档类型:系统技术报告 | 评分置信度:中 | #语音交互 | #大语言模型 | #端到端 #模型评估 | arxiv
👥 作者与机构
第一作者:Akshat Parmar(机构未说明) 通讯作者:未说明 作者列表:Akshat Parmar、Vikranth Udandarao、Abhay Shakya、Tanmay Hire、Avinash Anand、Rajiv Ratn Shah、Daniel Wang Zhengkui(机构信息未在当前正文中完整说明)
💡 毒舌点评
把语音查询转成结构化筛选的管线完成度不错,但基准太小支撑不了通用性结论:150 条语义指令、六名说话者,口音与复杂财务术语的覆盖都很有限。所有对比绑定 GPT-4o 和固定的 Screener.in 数据模式,换一个 LLM 或市场是否成立完全未知。噪声实验揭示的脆弱性也很实际——ASR 在最前端写错数字后,后续 SQL 语法再正确也救不回用户原意。97.5% 可执行率的另一面是仍有失败查询,而逻辑正确不等于财务口径正确或策略合理。
📌 核心摘要
StocksTalk 把一句带口音、停顿和数字阈值的金融语音,变成可检查、可修改、最终可执行的筛选查询。它没有让大模型直接从音频吐出 SQL,而是拆成流式 ASR、金融知识检索、约束抽取、受限 SQL 生成、规则验证和人工确认六步。
评测集 FinScreenBench 包含 150 条金融筛选指令,覆盖成长、分红、价值三类策略,每条含 2—5 个约束、共涉及 28 个金融指标;6 名说话者分别在安静与 55—65 dB 噪声条件下录制,形成 300 条音频。
在干净输入上,完整系统达到约束抽取 91.2%、SQL 可执行率 97.5%、逻辑一致率 93.8%、多轮稳定性 88.6%,相对纯 GPT-4o 的逻辑一致性提升 39.1 个百分点,多轮稳定性提升 37.4 个百分点。
噪声仍是主要瓶颈:约束抽取从 91.2% 降到 78.4%,多轮稳定性从 88.6% 降到 74.3%。这说明金融语音查询的安全性不能只靠 SQL 校验,数字、单位和指标名在 ASR 阶段就需要领域化保护。
消融把每层职责量化得很清楚:去掉 RAG,约束抽取下降 16.9 个百分点;去掉受限解码,可执行率下降 18.3 个百分点;去掉验证,逻辑一致率下降 22.4 个百分点。人工确认对组合最复杂的价值型查询帮助最大,可执行率从 88.3% 提至 96.8%,并把第一轮错误持续到第三轮的比例从 34% 降到 9%。
代价是延迟由直接 GPT-4o 的 1.5±0.1 秒增加到 3.1±0.4 秒,噪声下为 3.6±0.7 秒。97.5% 可执行和 93.8% 逻辑一致仍不是投资正确率;固定 Screener.in schema、150 条指令和单一模型也不足以覆盖真实市场。因此它更适合作为可审计的语音数据查询界面,而不是自动选股或交易代理。
🔗 开源详情
论文中未提及代码、模型权重、数据集或在线 demo 链接。
🏗️ 方法概述和架构
第一层:语音与对话状态。 ElevenLabs 流式 STT 把开放式语音转为文本片段,并保留多轮状态和地区化对话线索。每一轮既保存原始转录,也更新规范化约束槽位,让后续的‘把市盈率改成 20’可以修改已有条件而不是重建整条查询。原始话语与规范槽位并存,使用户能追查数字或指标名是在 ASR 还是语义抽取阶段发生变化。
下图为Figure 1来自论文原文。

第二层:金融知识约束。 GPT-4o 结合 Screener.in schema 的知识库做 RAG,检索指标定义、操作符约定和行业分类,再抽取估值阈值、板块偏好、增长条件和时间限定。每个约束表示为 metric/operator/threshold 三元组,并保留单位与时间语义;约束以可编辑槽位存在,不直接藏在模型输出里。检索只提供当前 schema 可用的字段和口径,减少模型凭通用金融知识创造不存在列名的机会。
第三层:受限查询生成。 系统把约束映射成 SQL-like 查询,并分别执行金融逻辑检查、操作符 grounding、查询模式检查和 schema 校验。任何矛盾、单位错配或非法字段都会在执行前暴露。规则层检查‘能否运行’与‘金融口径是否自洽’,受限解码则防止生成 schema 外字段;校验失败回到约束或查询编辑,不直接带着错误访问市场数据。
第四层:实时数据与人工确认。 验证后的查询访问 Screener.in 实时市场数据,并在 Flask/SSE 仪表板中同步展示 ASR 文本、SQL、校验状态、排序结果与高亮约束。用户可以在执行前修改中间约束,形成 human-in-the-loop 闭环。后端由 Node.js/Express 接收语音会话,Python 模块完成查询归纳,SSE 把 Speech、Query、Results、Reasoning 四个视图保持同步;接口限流时另有回退访问策略。
基线递进与逐级评价。 对照从 GPT-4o+schema 直接生成开始,依次加入 RAG、Validation,再加入人工确认,骨干保持相同,使收益能归因到管线结构。FinScreenBench 为每条语音准备真值三元组与 SQL,因此 CEA 对应 RAG/约束抽取,EX 对应受限解码,LCR 对应规则验证,QED 对应完整查询偏差,三轮 MTS 对应状态保持;延迟从语音结束量到结果展示。
数据采集与错误定位。 3 名金融背景标注者为成长、分红、价值策略各写 50 条指令,并独立构造、交叉核验 SQL,κ=0.87。每条含 2—5 个条件,覆盖 28 个指标、基数/序数/约数与时间限定;6 名说话者在安静房间和 55—65 dB 咖啡馆噪声各录一次。相同语义的成对音频使 CEA、QED 和 MTS 的下降可以主要归到语音入口,而不是测试问题本身变化。

💡 核心创新点
将语音金融筛选拆成透明的中间约束与可审计 SQL,而不是端到端黑箱执行。metric/operator/threshold 三元组既是系统内部接口,也是用户可以逐项纠正的交互对象。
把 RAG、受限生成、规则验证和人工修订的边际贡献分别量化,说明不同组件处理的是不同错误类型:RAG 主要补指标含义,受限解码保障 schema,验证层拦单位和逻辑矛盾。
构建同时包含投资策略、数字表达、多轮修订和真实环境噪声的 FinScreenBench。150 条语义由 3 名金融背景标注者交叉构造 SQL,再由 6 人在两种声学条件录成 300 条音频。
用中间确认阻断错误传播:第一轮误识别的约束若不修正,会持续污染后续三轮对话;人工确认把这种持续错误从 34% 降到 9%。
评价不以 SQL 可执行率一项代替正确性,而并列报告 CEA、EX、LCR、QED 和 MTS;这种分解可以区分‘转写错但 SQL 合法’、‘语义对但 schema 非法’与‘单轮正确但多轮漂移’。
干净/55—65 dB 咖啡馆噪声使用同一批语义,使完整管线的改进与 ASR 瓶颈同时可见:验证能挽回部分结构错误,却无法凭空恢复听错的数值阈值。
四视图仪表板把转录、规范约束、SQL 校验和市场结果同步呈现,使人工确认发生在错误传播前,而不是执行后只给一个撤销按钮;系统透明性由可编辑中间状态实现,不依赖展示不可核验的模型思维过程。
选择 schema grounding 和规则校验是为了降低金融查询的语义与执行风险;人工确认牺牲全自动化换取可审计性。系统的关键边界是金融数据库 schema 与语音识别质量,LLM 本身不是唯一决定因素。
150 条 spoken financial prompts 构成评测集;论文报告检索 grounding、受限生成和交互验证提升约束抽取准确率、SQL 可执行性、逻辑一致性和多轮稳定性,但摘要未列具体百分比。
系统输出不仅是最终 SQL,还保留中间约束、指标归一化、操作符 grounding 和验证结果。语音识别、检索、生成、规则校验和 human-in-the-loop 形成串联闭环;任何阶段出错都可以回到约束或查询编辑,而不是把不可解释的字符串直接执行。150 条 spoken prompts 覆盖多种投资策略与输入噪声。
📊 实验结果
| 系统(干净输入) | CEA ↑ | SQL 可执行率 ↑ | 逻辑一致率 ↑ | QED ↓ | 多轮稳定性 ↑ | 延迟 |
|---|---|---|---|---|---|---|
| GPT-4o 直接生成 | 63.4% | 81.2% | 54.7% | 8.3 | 51.2% | 1.5±0.1 s |
| GPT-4o + RAG | 79.8% | 88.6% | 67.3% | 5.1 | 68.4% | 2.1±0.2 s |
| + Validation | 88.3% | 96.9% | 91.2% | 2.8 | 82.7% | 2.3±0.2 s |
| StocksTalk 完整系统 | 91.2% | 97.5% | 93.8% | 2.1 | 88.6% | 3.1±0.4 s |
消融结果显示,去掉 RAG 后约束抽取下降 16.9 个百分点;去掉受限解码后 SQL 可执行率下降 18.3 个百分点;去掉验证层后逻辑一致率下降 22.4 个百分点;去掉人工确认后逻辑一致率下降 13.2 个百分点。
噪声条件下,CEA/可执行率/逻辑一致率/多轮稳定性分别为 78.4%/89.3%/82.1%/74.3%,平均延迟增至 3.6±0.7 秒。人工确认对价值型组合查询帮助最大,可执行率从 88.3% 提至 96.8%,提升 8.5 个百分点。
🔬 细节详述
数据构成。 150 条文本指令由 3 名金融背景标注者编写,成长、分红、价值各 50 条;真值 SQL 独立构造并交叉核验,Cohen’s κ=0.87。每条指令在干净和咖啡馆噪声两种条件录制,因此同一语义可以直接比较 ASR 环境差异。
指标为何分开。 CEA 要求指标、操作符、阈值三元组全部正确;EX 只关心 SQL 能否执行;LCR 关注金融逻辑与单位;QED 衡量相对真值 SQL 的 token 编辑距离;MTS 检查三轮对话中约束是否正确保留或更新。单看可执行率会掩盖‘能运行但语义错’。
人工在环不是最后点确认。 仪表板把约束抽取结果和 SQL 同时展示,用户可以在错误进入查询前修正。价值型策略包含更多组合条件,因此获益最大。
工程实现。 演示整合 ElevenLabs STT/TTS、GPT-4o、Screener.in API、Node.js/Express、Python 查询模块和 SSE 前端。增加检索、校验与人工确认使延迟从 1.5 秒升到 3.1 秒,但换来显著更高的逻辑可靠性。
⚖️ 评分理由
创新性 (1.2/2):[A_METHOD] 组件本身成熟,创新主要在语音金融查询的透明串联、错误分层与人工确认。
技术严谨性 (1.0/1.5):[A_RIGOR] 指标拆分和逐组件消融合理,但固定 schema 与单一 GPT-4o 骨干简化了开放金融问答难度。
实验充分性 (1.1/1.5):[A_RESULTS] 干净/噪声、三类策略、多轮和消融均覆盖;150 条指令仍不足以代表真实投资表达。
清晰度 (0.8/1):[A_CLARITY] 架构、中间状态和评价指标对应明确,读者能看出每层解决哪类错误。
影响力 (0.6/1.5):[A_IMPACT] 对金融数据查询和企业语音 BI 有实践意义,场景边界较窄且涉及高风险决策。
开源 (0.5/1.5):[A_OPEN] 基准承诺在项目仓库公开,但核心系统、真实 API 配置与部署代码的完整开放程度有限;按锚点规则对应「明确肯定语境中的未来开放承诺」。。
可复现性 (0.3/0.5):[A_REPRO] 数据构造、噪声范围、指标和数表详细;商业 ASR/LLM 与实时市场接口会随时间漂移。
工程/实践价值 (1.2/1.5):[A_ENGINEERING] 97.5% 可执行率与可修订界面显示较强产品潜力,但不应把查询正确等同于投资建议正确。
🚨 局限与问题
FinScreenBench 只有 150 条语义指令和 6 名说话者,口音、方言、多人打断与复杂财务术语覆盖有限。
所有比较使用 GPT-4o 和固定 Screener.in schema,结论主要说明管线组件有效,不能证明对其他 LLM、数据库或国际市场同样成立。
噪声使数字阈值与指标名错误明显增加;若 ASR 在最前端写错,后续 SQL 规则可能只能保证语法正确,无法恢复用户原意。
97.5% 可执行仍意味着存在失败查询,而逻辑一致也不保证数据及时、财务口径正确或筛选策略适合投资。
人工确认提高可靠性,但增加约 0.8 秒以上延迟和认知负担;长期使用中用户可能形成自动确认习惯。
实时市场 API 的限流、schema 变更、数据缺失和监管要求没有经过长期压力测试,系统不应直接承担自动交易决策。