乐趣区

关于nlp:机器都能写SQL了CURD-boysgirls慌不慌

背景

结构化查询语言(Structured Query Language)简称 SQL,是一种非凡目标的编程语言,是一种数据库查问和程序设计语言,用于存取数据以及查问、更新和治理关系数据库系统。

CURD 代表创立(Create)、更新(Update)、读取(Retrieve)和删除(Delete)操作。大量利用业务代码,总是一些 curd 的货色。随着人工智能倒退,机器生成代码曾经变成可能,前段时间 GitHub 官网和 openAI 联结为程序员们送上编程神器——GitHub Copilot。
程序员只有写下一段正文,Github Copilot 就能够补全剩下的代码、提出改良的倡议。

明天咱们来看另一种可能性:咱们输出一串汉字,计算机帮咱们从数据库中间接获取咱们要的统计数据。这样连代码都不必机器生成了,计算机间接能够帮终端用户解决一些罕用的数据分析需要了。先来看下最终成果

零碎搭建

咱们先来形容下零碎搭建过程,最初再介绍一下原理,搭建过程很简略,大家有工夫能够本人上手试验下,这里用到了百度的 Sugar 可视化服务以及云数据库 MemFireDB

  1. 咱们先登录 MemFireDB,将曾经筹备好的数据上传上去,这里咱们筹备三张表,stockbars 股票原始信息、stockrsvs 咱们计算的 rsv 指标、stockkdj 咱们计算的 kdj 指标,具体如何上传数据以及计算指标能够参看另外一篇文章 https://juejin.cn/post/697920…

  1. 咱们进入百度 Sugar 配置数据源以及数据模型,配置数据源时用到的数据库 IP 在 MemFireDB 控制台中获取,这里咱们须要把表 stockrsvs 和 stockkdjs 两个表进行内连贯,连贯字段用 stock_id 和 date


关联好的数据能够点击“查看数据”进行预览

  1. 关上数据模型的“智能问答”选项,数据模型会先变为“待训练”,后变为“训练实现”,默认应用数据字段的「物理字段名称」以及「数据模型中的显示名称」来匹配数据字段,如果须要通过更多的说法来对数据字段进行匹配,能够对数据字段配置同义词这里还能够配置每个字段的同义词。

  1. 最初、创立“AI 摸索页面”,勾选曾经开启了“智能问答”选项的数据模型即可实现下面视频中的成果,是不是很简略

好了,零碎搭建完了,是不是急不可待的想晓得零碎实现的原理呢,这里用到了数据技术以及人工智能的 NL2SQL 技术,数据库系统提供了数据的存取和 SQL 语句的解析,sugar 则提供了自然语言到 SQL 的转换

技术原理

NL2SQL 是自然语言解决技术的一个钻研方向,能够将人类的自然语言主动转化为相应的 SQL 语句 (Structured Query Language 结构化查询语言),进而能够与数据库间接交互、并返回交互的后果。比方咱们问:公众 10 万到 20 万之间的车型有几种?NL2SQL 能够让机器了解这样的自然语言,并从表格中检索出答案。

NL2SQL,让非专业人士,不须要学习和把握数据库程序语言,就能够自在地查问各种丰盛的数据库:
说句话就行。没有条条框框的限度,内容和信息更加丰盛。以前是程序员写一个“模板”,在这个模板里查问内容。
NL2SQL 的实现,使用了大量前沿的人工智能算法模型,比方使用了多个预训练语言模型,相当于 AI 大脑,让 AI 读懂用户语言;使用了图神经网络,让 AI“看到”数据库,一目十行过目不忘,而且更加清晰地分清每个表格内容。

总结

最初,前一两年 NL2SQL 还在一些学术研究阶段,准确率还只有 60% 左右,明天咱们曾经看到了百度曾经推出了能够商用的零碎,人工智能的倒退太迅速了,他不光代替的是简略的重复劳动,当初连写代码的事件也能够代劳了,小伙伴们,你们颤动么?

退出移动版