SQL查询其自然语言描述

时间:2013-06-03 05:54:30

标签: sql nlp transformation

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

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

2 个答案:

答案 0 :(得分:1)

我可以设计两种方法:

  • SQL旨在对非技术人员“清晰易读”。一种天真而简单的方法是在SQL查询上执行一系列替换:“SELECT” - > “显示”; “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/

答案 1 :(得分:0)

有一个名为JustQuery.Me的新项目(我是其中一员),它打算用NLP和谷歌的SyntaxNet做到这一点。您可以转到https://github.com/justquery-me/justqueryme页面获取更多信息。另外,请注册justqueryme-development@googlegroups.com上的邮件列表,我们会在准备好概念证明后通知您。