自然语言 (NL) 到结构化查询语言 (SQL) 的生成是自然语言处理 (NLP) 领域的一个问题,涉及将自然语言问题或语句转换为结构化 SQL 查询。此过程非常重要,它使用户能够使用自然语言与数据库交互,而不必自己编写 SQL 查询。NL 到 SQL 查询生成器的主要目的是使计算机能够通过在 NL 中提问并获得所需的答案来访问使用 NL 处理的数据库。自然语言查询是一种非常方便和简单的数据库访问方式,特别是对于不熟悉复杂数据库查询语言(如 SQL)的用户。
与基于文本的输入相比,人们普遍认为基于语音的界面是一种更简单、更高效的人机交互方式。与在平板电脑设备中基于文本的界面上打字相比,基于语音的界面可以允许用户以高达 6.7 倍的速度编写 SQL 查询。与此同时,随着智能智能手机和平板电脑在我们日常生活中的普及,过去几十年市场上出现了数十种基于语音的应用程序,此外,语音信号包含丰富的语言外信息,这些信息无法从文本中获得。
传统的解决方案可能会采用串联的方式,即先通过自动语音识别(ASR)系统,再转换成文本到SQL的过程。然而,这种方法依赖于高质量的ASR系统,且存在两个阶段间的错误累积问题,从而限制了整体性能。针对这些挑战,提出了一个名为“SpeechSQLNet”的创新端到端神经网络架构,该架构能够无需ASR步骤,直接将人类语音转换为SQL查询。SpeechSQLNet 将语音编码器、图形神经网络 (GNN) 和 transformer 无缝集成为骨干,无需 ASR 步骤作为前提,即可对未标记的语音数据进行语音解析,整个网络以端到端的方式进行优化。SpeechSQLNet 模型首先使用语音编码器将语音信号转换为隐藏的表示形式。同时,对所需 SQL 有很大影响的架构也被基于 GNN 的编码器转换为隐藏特征,以保留其结构信息。最后,将语音嵌入与 schema 特征融合在一起,合成语义一致性的相应 SQL 查询,SpeechSQLNet 的输出是抽象结构树 y ̃,它被进一步转换为所需的 SQL 查询 y。
SpeechSQLNet的优势在于它能充分利用语音中的丰富语言信息,尝试直接从任意自然语言问题生成SQL,而不是基于简化或有限SQL语法的自然语言版本。