将NLP转换为SQL有哪些方法?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将NLP转换为SQL有哪些方法?相关的知识,希望对你有一定的参考价值。

最近,已经开始研究对话型聊天机器人的概念,并一直在考虑将自然语言查询转换为SQL的不同方法。这些是我从头开始编写之前要评估的一些库。还有其他想法或建议吗?

答案

从AllenNLP查看此演示:https://demo.allennlp.org/atis-parser

将自然语言文本转换为SQL查询。他们也有python库allennlp

这里是他们的github仓库:https://github.com/allenai/allennlp

关于语义解析的文档:

https://allenai.github.io/allennlp-docs/api/allennlp.data.dataset_readers.semantic_parsing.html

另一答案

这里的主要挑战是满足最终用户的需求。大多数最终用户在技术上还不够熟练,他们也不了解数据库架构。

这里提到的所有开放源代码库都需要在输入请求中使用列名,因此最终用户应将请求设计为“让我计数column_name小于120的column_name”。这种假设是错误的,因为最终用户通常不关心数据库结构和列名。使用开源库,您可以在常规SQL之上创建另一个“结构查询语言”层。

我建议您在建立服务之前先看一下NLP库:

BERT ==== https://github.com/hanxiao/bert-as-service

句子转换器==== https://github.com/UKPLab/sentence-transformers

VaderSentiment ==== https://github.com/cjhutto/vaderSentiment

此外,我建议您看看NLP to SQL软件体系结构和Natural Language to SQL的现有商业软件

以上是关于将NLP转换为SQL有哪些方法?的主要内容,如果未能解决你的问题,请参考以下文章

机器学习--如何将NLP应用到深度学习

机器学习--如何将NLP应用到深度学习

NLP的原理,框架及具体实例

将 SQL 结果转换为 JSON 的正确方法

将 SQL 转换为 LINQ 方法表达式

使用 C#(或任何其他方法)将 XML 转换为 SQL Server 表