【技术实现步骤摘要】
一种查询文本自动生成SQL模板的方法
[0001]本专利技术涉及自然语言处理
,具体为一种查询文本自动生成
SQL
模板的方法
。
技术介绍
[0002]通过文本自动生成
SQL
语句是无数从事表格问答
、
从事繁琐数据库查询统计运维工作人员的美好愿望
。
但是在具体实现过程中需要针对不同的表格制作针对性的训练语料,对于训练语料的标注成本极其高昂,对于标注人员的专业能力要求极高,通过人工智能模型训练,往往会出现不可控性
。
[0003]本专利技术基于谷歌大脑提出的
gMLP
模型进行改进提出
CMLP
,通过引入对角矩阵,将
gMLP
改造成适用于文本生成任务,同时将
Transformer
中拟合数据强的前馈神经网络融入
gMLP
模型,提高
gMLP
模型对于数据的拟合能力
。
在实现层面,通过分词算法,将用户查询文本内容采用以字符的形式输入模型,
SQL
语句模板采用以关键字段表示,提高生成
SQL
模板可控性
。
技术实现思路
[0004]本专利技术的目的在于提供一种查询文本自动生成
SQL
模板的方法,降低了文本生成任务的难度
。
[0005]本专利技术一种查询文本自动生成
SQL
模板的方法包括有如下 ...
【技术保护点】
【技术特征摘要】
1.
一种查询文本自动生成
SQL
模板的方法,其特征在于:包括有如下步骤:
S1.
在开源数据集基础上制作文本和
SQL
模板平衡语料对作为训练集:收集开源的
Text2SQL
任务的相关文本和
SQL
语句匹配对,其中文本和
SQL
语句之间用
<sep>
作为分隔符
,
其中
SQL
语句中的关键字变为大写,保留
NOT、AND、AVG、AS、BY、COUNT、DISTINCT、EXCEPT、FROM、GROUP、IN、INTERSECT、JOIN、LIKE、LIMIT、MIN、MAX、OR、ORDER、SUM、SELECT、UNION、WHERE、(、*、)、>、<
和
=
共
29
个
SQL
模板关键字符,将和查询表格相关的连续片段采用
‑‑‑
进行替换;
S2.
制作模型映射词表:统计训练集中的字符进行去重排序作为字典集合,针对开源的
3500
最常用字和字典集合合并,词典中添加文本起始符
[CLS]、
文本填充符
[PAD]、
文本异常符
[UNK]、
文本和
SQL
的分隔符
[SEP]
四个模型训练所需符号,添加
SQL
文本的关键字和部分逻辑运算符到词典中,它们是:
NOT、AND、AVG、AS、BY、COUNT、DISTINCT、EXCEPT、FROM、GROUP、IN、INTERSECT、JOIN、LIKE、LIMIT、MIN、MAX、OR、ORDER、SUM、SELECT、UNION、WHERE,、(、*、)、>、<、=
和
‑‑‑
,将
dict
映射为编号和字符的表,即
Dict={0:
‘
[CLS]
’
,1:“[PAD]”,2:“[SEP]“,3:”,3:
“‑‑‑”
,4:“国”....... }
,同时不带索引的字符通过换行的形式存到
vocab.txt
中用于后面分词算法中;
S3.
数据和模型适配:针对查询文本和
SQL
模板平行训练语料中的每条文本,基于
vocab.txt
采用最大逆向匹配分词算法,将每条文本变成字
、
‑‑‑
、SQL
关键字
、SQL
逻辑运算符的序列,将查询文本和
SQL
模板平行训练数据集中的某条样本
X
通过基于
vocab.txt
中的词典的最大前向匹配分词算法进行转化记为列表
X
,文本不够最大长度
100
,则将列表
X
通过
[PAD]
填充到该文本最大长度
100
,然后通过字典
Dict
,映射成索引编号列表,进而变成张量,喂入
CMLP
模型,对应的优化目标为
Y
,通过字典映射的张量,将查询文本和
SQL
语句平行训练数据集中的所有文本执行同样的操作,得到整个训练数据集,作为模型输入;
S4.
构建
CMLP
网络模型结构:针对人工智能语料中某文本
X
通过
S3
步骤的
Dict
变为索引列表,通过
Dict
依次找到每个字的数字索引,从而将该样本变成数字序列,进而变成张量,通过大小为
【6745
,
256】
的嵌入层,
256
为每个字符表示维度,得到嵌入表示的矩阵大小为
【64
,
100
,
256】
,然后将
100
个字符的词嵌入表示输入本专利提出的
CMLP
...
【专利技术属性】
技术研发人员:曹肖攀,谢俊春,秦瑾,吴磊,花榕励,
申请(专利权)人:中电万维信息技术有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。