6

是否有任何开源工具可以生成给定 SQL 查询的自然语言描述?如果没有,将不胜感激一些一般性的指针。

我对 NLP 了解不多,所以我不确定这有多难,尽管我从之前的一些讨论中看到,反之亦然转换仍然是一个活跃的研究领域。可以说我将要处理的 SQL 表在任何意义上都不是任意的,而是我的,这意味着我知道每个表及其列的确切语义。

4

2 回答 2

1

我可以设计两种方法:

  • SQL 旨在对非技术人员“易读”。一种天真的和更简单的方法是直接在 SQL 查询上执行一系列替换:“SELECT”->“display”;“X=Y”->“当字段 X 等于值 Y”...在这种方法中,使用函数可能会出现问题。
  • 使用SQL解析器,使用一系列模板,以文本形式实现解析后的结构:“(SELECT(SUM(X))(FROM(Y)))”->“(显示((X)的求和)) (在表(Y)中)“...

ANTLR 有一个可以使用的 SQL 语法:https ://github.com/antlr/grammars-v4/blob/master/sqlite/SQLite.g4并且有几个 SQL 解析器:

解析是执行 SQL 查询的核心过程,查看更多信息:https ://decipherinfosys.wordpress.com/2007/04/19/parsing-of-sql-statements/

于 2015-06-28T21:21:47.223 回答
0

有一个名为 JustQuery.Me 的新项目(我是其中的一部分)打算用 NLP 和谷歌的 SyntaxNet 来做这件事。您可以访问https://github.com/justquery-me/justqueryme页面了解更多信息。此外,请通过 justqueryme-development@googlegroups.com 注册邮件列表,当我们准备好概念证明时,我们会通知您。

于 2017-01-30T04:49:25.483 回答