问句到SQL · 2024 年 11 月 2 日 · 18 分钟

结构链接:先找对表和列,再生成语句

结构链接(schema linking)是把问题里的词对齐到表、列、值。RESDSQL(AAAI 2023)把链接和骨架解析拆开。CHESS 把检索写成列检索 + 值检索(LSH / embedding)。E-SQL 走问题增广,把链接写进问句。RSL-SQL 用双向链接提高召回。

BIRD 错误分析:约 41.6% 为错误结构链接,40.8% 为误解库内容(含臆造字段)。AskTable 工程文也写:企业库几百张表,最大挑战是找到正确元数据。

软件策略:

  1. 先用目录和同义词做检索,高召回。
  2. 再描述/抽样验证。
  3. 链接结果作为生成器的唯一可见结构,不要把整库塞进去。
  4. Distillery(The Death of Schema Linking?)提醒:链接器过弱会漏必要列,过强会破坏结构完整性。应用双向或「先全量草拟再抽出用到的列」做对照。

中文问数还有跨语言问题:问题是中文,列名是英文缩写。FGCSQL 一类工作专门做中文信息注入。目录里的中文注释就是最便宜的注入层。

出处

  • Li et al., RESDSQL, AAAI 2023
  • Talaei et al., CHESS, arXiv:2405.16755
  • Caferoğlu & Ulusoy, E-SQL, arXiv:2409.16751
  • Maamari et al., Distillery, arXiv:2408.07702
  • BIRD 错误分析;AskTable Schema Linking 博文

WUJI问数

个人笔记站。记录对话式问数智能体:Text-to-SQL、语义层、只读执行与分析呈现的整套方案。

本站为个人非经营性网站,内容开放阅读。文中示例仅供学习,执行任何数据库操作前请自行核对。

笔记关于隐私说明使用说明浙ICP备2025147228号