本技术涉及计算机,尤其涉及一种编程语句生成方法、装置、电子设备及存储介质。
背景技术:
1、目前,在表格的问答业务中,经常需要对表格进行增、删、改、查等操作,因此需要编写、开发与数据操作相应的编程语句,例如sql(structuredquerylanguage,结构化查询语言)语句、java语句、python语句等。这种方式效率较低,为此nl2sql(natural languageto sql,自然语言转换为可执行的sql语句)应运而生。
2、目前,对于nl2sql,采用seq2seq(端到端神经网络)模型实现自然语言到可执行的sql语句的转换,然而会存在以下问题:受词表范围影响,表格中表头内容有时会出现oov(out of vocabulary,未登录词),seq2seq模型便无法生成正确sql语句,且seq2seq模型是生成式模型,生成的sql语句的语法正确性、可执行性无法得到保证。
技术实现思路
1、为了解决上述对于nl2sql,采用seq2seq(端到端神经网络)模型实现自然语言到可执行的sql语句的转换,然而会存在以下问题:受词表范围影响,表格中表头内容有时会出现oov(out of vocabulary,未登录词),seq2seq模型便无法生成正确sql语句,且seq2seq模型是生成式模型,生成的sql语句的语法正确性、可执行性无法得到保证的技术问题,本技术实施例提供了一种编程语句生成方法、装置、电子设备及存储介质。具体技术方案如下:
2、在本技术实施例的第一方面,首先提供了一种编程语句生成方法,所述方法包括:
3、获取目标表格以及所述目标表格对应的目标需求表述,并确定所述目标表格中的目标表格内容;
4、针对初始编程语句的任一初始组成部分,根据所述目标需求表述以及所述目标表格内容,生成所述初始组成部分的子组成部分;
5、对所述初始组成部分的子组成部分进行拼接,得到目标组成部分;
6、由初始编程语句对应的各个所述目标组成部分生成目标编程语句。
7、在一个可选的实施方式中,所述确定所述目标表格中的目标表格内容,包括:
8、确定所述目标表格中目标表头,针对所述目标表头中任一表头单元格,获取所述表头单元格中填充的表头内容;
9、确定所述表头单元格所在列的除所述表头单元格之外的其余单元格;
10、从所述其余单元格中,选取目标单元格,获取所述目标单元格中填充的单元格内容;
11、将所述表头内容与所述单元格内容组合,得到所述表头单元格对应的表头表征内容;
12、将所有所述表头表征内容确定为所述目标表格中的目标表格内容。
13、在一个可选的实施方式中,所述针对初始编程语句的任一初始组成部分,根据所述目标需求表述以及所述目标表格内容,生成所述初始组成部分的子组成部分,包括:
14、将所述目标需求表述以及所有所述表头表征内容输入至预训练的多任务模型,由所述预训练的多任务模型执行以下处理:
15、根据自定义标志以及序列标志,对所述目标需求表述以及所有所述表头表征内容进行拼接,得到拼接结果;
16、针对所述拼接结果中任一组成内容,对所述组成内容进行向量化处理,得到所述组成内容对应的嵌入向量;
17、其中,所述组成内容包括以下之一:所述自定义标志、所述序列标志、所述目标需求表述中每个字符、所述表头表征内容中每个字符;
18、针对初始编程语句的任一初始组成部分,根据所述拼接结果中相应的所述组成内容对应的所述嵌入向量,生成所述初始组成部分的子组成部分。
19、在一个可选的实施方式中,所述根据自定义标志以及序列标志,对所述目标需求表述以及所有所述表头表征内容进行拼接,得到拼接结果,包括:
20、根据自定义标志以及序列标志,对所述目标需求表述进行拼接,得到第一表述拼接结果;
21、其中,所述自定义标志位于所述第一表述拼接结果的起始位置,所述序列标志位于所述第一表述拼接结果的结尾位置;
22、针对任一所述表头表征内容,根据所述序列标志对所述表头表征内容进行拼接,得到第二内容拼接结果;
23、其中,所述序列标志位于所述第二内容拼接结果的结尾位置;
24、将所述第一表述拼接结果与所有所述第二内容拼接结果按序拼接,得到拼接结果。
25、在一个可选的实施方式中,在所述初始组成部分为初始限制部分的情况下,所述根据所述拼接结果中相应的所述组成内容对应的所述嵌入向量,生成所述初始组成部分的子组成部分,包括:
26、从所述拼接结果的所述组成内容对应的所述嵌入向量中,查找所述自定义标志对应的所述嵌入向量;
27、对所述自定义标志对应的所述嵌入向量进行分类处理,得到所述初始限制部分对应的各个限制数量的限制概率;
28、选取最大的所述限制概率,并确定最大的所述限制概率对应的所述限制数量;
29、将最大的所述限制概率对应的所述限制数量确定为所述初始限制部分的子组成部分;
30、所述对所述初始组成部分的子组成部分进行拼接,得到目标组成部分,包括:
31、将最大的所述限制概率对应的所述限制数量与所述初始限制部分的标志进行拼接,得到目标限制部分。
32、在一个可选的实施方式中,在所述初始组成部分为除初始限制部分之外的其余部分的情况下,所述根据所述拼接结果中相应的所述组成内容对应的所述嵌入向量,生成所述初始组成部分的子组成部分,包括:
33、针对任一所述表头表征内容,均执行以下处理,得到所述表头表征内容对应的列表示嵌入向量:
34、从所述拼接结果的所述组成内容对应的所述嵌入向量中,查找所述表头表征内容中每个字符对应的所述嵌入向量,以及与所述表头表征内容拼接的所述序列标志对应的所述嵌入向量;
35、将所述自定义标志对应的所述嵌入向量,与所述表头表征内容中每个字符对应的所述嵌入向量、与表头表征内容拼接的所述序列标志对应的所述嵌入向量进行自注意力机制处理,得到处理结果;
36、将所述自定义标志对应的所述嵌入向量与所述处理结果相加,得到所述表头表征内容对应的列表示嵌入向量;
37、根据所述拼接结果中相应的所述组成内容对应的所述嵌入向量,及任一所述表头表征内容对应的所述列表示嵌入向量,生成所述初始组成部分的子组成部分。
38、在一个可选的实施方式中,在所述初始组成部分为初始选择部分的情况下,所述根据所述拼接结果中相应的所述组成内容对应的所述嵌入向量,及任一所述表头表征内容对应的所述列表示嵌入向量,生成所述初始组成部分的子组成部分,包括:
39、对所述自定义标志对应的所述嵌入向量进行分类处理,得到所述初始选择部分对应的各个列数量的第一列概率;
40、选择最大的所述第一列概率,并确定最大的所述第一列概率对应的所述列数量;
41、对所有所述表头表征内容对应的所述列表示嵌入向量进行分类处理,得到所述初始选择部分使用每个所述表头表征内容的第一使用概率;
42、对所述第一使用概率进行排序,并选取前n名的所述第一使用概率,所述n为最大的所述第一列概率对应的所述列数量;
43、根据前n名的所述第一使用概率,生成所述初始选择部分的子组成部分。
44、在一个可选的实施方式中,所述根据前n名的所述第一使用概率,生成所述初始选择部分的子组成部分,包括:
45、确定前n名的所述第一使用概率对应的n个所述表头表征内容,获取n个所述表头表征内容中的n个表头内容;
46、将n个所述表头内容确定为所述初始选择部分的第一子组成部分;
47、对n个所述表头表征内容对应的所述列表示嵌入向量进行分类处理,得到所述初始选择部分对应的各列间运算的第一列间概率,以及各聚合运算的聚合概率;
48、选择最大的所述第一列间概率,并确定最大的所述第一列间概率对应的所述列间运算;
49、选取最大的所述聚合概率,并确定最大的所述聚合概率对应的所述聚合运算;
50、将最大的所述第一列间概率对应的所述列间运算确定为所述初始选择部分的第二子组成部分;
51、将最大的所述聚合概率对应的所述聚合运算确定为所述初始选择部分的第三子组成部分;
52、所述对所述初始组成部分的子组成部分进行拼接,得到目标组成部分,包括:
53、利用最大的所述第一列间概率对应的所述列间运算,对n个所述表头内容进行拼接,得到第一选择拼接结果;
54、将最大的所述聚合概率对应的所述聚合运算,与所述第一选择拼接结果进行拼接,得到第二选择拼接结果;
55、将所述第二选择拼接结果,与所述初始选择部分的标志进行拼接,得到目标选择部分。
56、在一个可选的实施方式中,在所述初始组成部分为初始分组部分的情况下,所述根据所述拼接结果中相应的所述组成内容对应的所述嵌入向量,及任一所述表头表征内容对应的所述列表示嵌入向量,生成所述初始组成部分的子组成部分,包括:
57、对所述自定义标志对应的所述嵌入向量进行分类处理,得到所述初始分组部分对应的各个列数量的第二列概率;
58、选择最大的所述第二列概率,并确定最大的所述第二列概率对应的所述列数量;
59、对所有所述表头表征内容对应的所述列表示嵌入向量进行分类处理,得到所述初始分组部分使用每个所述表头表征内容的第二使用概率;
60、对所述第二使用概率进行排序,并选取前m名的所述第二使用概率,所述m为最大的所述第二列概率对应的所述列数量;
61、根据前m名的所述第二使用概率,生成所述初始分组部分的子组成部分。
62、在一个可选的实施方式中,所述根据前m名的所述第二使用概率,生成所述初始分组部分的子组成部分,包括:
63、确定前m名的所述第二使用概率对应的m个所述表头表征内容,获取m个所述表头表征内容中的m个表头内容;
64、将m个表头内容确定为所述初始分组部分的子组成部分;
65、所述对所述初始组成部分的子组成部分进行拼接,得到目标组成部分,包括:
66、将m个表头内容与所述初始分组部分对应的标志进行拼接,得到目标分组部分。
67、在一个可选的实施方式中,在所述初始组成部分为初始升降序部分的情况下,所述根据所述拼接结果中相应的所述组成内容对应的所述嵌入向量,及任一所述表头表征内容对应的所述列表示嵌入向量,生成所述初始组成部分的子组成部分,包括:
68、对所述自定义标志对应的所述嵌入向量进行分类处理,得到所述初始升降序部分对应的各个列数量的第三列概率,以及各升降序运算的升降序概率;
69、选择最大的所述第三列概率,并确定最大的所述第三列概率对应的所述列数量;
70、选择最大的所述升降序概率,并确定最大的所述升降序概率对应的所述升降序运算;
71、对所有所述表头表征内容对应的所述列表示嵌入向量进行分类处理,得到所述初始升降序部分使用每个所述表头表征内容的第三使用概率;
72、对所述第三使用概率进行排序,并选取前o名的所述第三使用概率,所述o为最大的所述第三列概率对应的所述列数量;
73、根据前o名的所述第三使用概率及最大的所述升降序概率对应的所述升降序运算,生成所述初始升降序部分的子组成部分。
74、在一个可选的实施方式中,所述根据前o名的所述第三使用概率及最大的所述升降序概率对应的所述升降序运算,生成所述初始升降序部分的子组成部分,包括:
75、确定前o名的所述第三使用概率对应的o个所述表头表征内容;
76、对o个所述表头表征内容对应的所述列表示嵌入向量进行分类处理,得到所述初始升降序部分对应的各列间运算的第二列间概率;
77、选择最大的所述第二列间概率,并确定最大的所述第二列间概率对应的所述列间运算;
78、获取o个所述表头表征内容中的o个表头内容,将o个表头内容确定为所述初始升降序部分的第一子组成部分;
79、将最大的所述升降序概率对应的所述升降序运算确定为所述初始升降序部分的第二子组成部分;
80、将最大的所述第二列间概率对应的所述列间运算确定为所述初始升降序部分的第三子组成部分;
81、所述对所述初始组成部分的子组成部分进行拼接,得到目标组成部分,包括:
82、利用最大的所述第二列间概率对应的所述列间运算,对o个表头内容进行拼接,得到第一升降序拼接结果;
83、将最大的所述升降序概率对应的所述升降序运算,与所述第一升降序拼接结果进行拼接,得到第二升降序拼接结果;
84、将所述第二升降序拼接结果与所述初始升降序部分的标志进行拼接,得到目标升降序部分。
85、在一个可选的实施方式中,在所述初始组成部分为初始条件部分的情况下,所述根据所述拼接结果中相应的所述组成内容对应的所述嵌入向量,及任一所述表头表征内容对应的所述列表示嵌入向量,生成所述初始组成部分的子组成部分,包括:
86、对所述自定义标志对应的所述嵌入向量进行分类处理,得到所述初始条件部分对应的各条件个数的个数概率,以及各条件关系的关系概率;
87、选择最大的所述个数概率,并确定最大的所述个数概率对应的所述条件个数;
88、选择最大的所述关系概率,并确定最大的所述关系概率对应的所述条件关系;
89、从所述拼接结果的所述组成内容对应的所述嵌入向量中,查找所述目标需求表述中每个字符对应的所述嵌入向量;
90、对所述目标需求表述中每个字符对应的所述嵌入向量进行分类处理,得到所述目标需求表述中每个字符对应的条件值标志;
91、从所述目标需求表述中选取目标字符,所述目标字符的所述条件值标志为预设数值;
92、由所述目标字符组成m个条件值,所述m为最大的所述个数概率对应的所述条件个数;
93、根据m个条件值、最大的所述关系概率对应的所述条件关系及任一所述表头表征内容对应的所述列表示嵌入向量,生成所述初始条件部分的子组成部分。
94、在一个可选的实施方式中,所述根据m个条件值、最大的所述关系概率对应的所述条件关系及任一所述表头表征内容对应的所述列表示嵌入向量,生成所述初始条件部分的子组成部分,包括:
95、针对任一所述条件值,将组成所述条件值的所述目标字符对应的所述嵌入向量,与任一所述表头表征内容对应的所述列表示嵌入向量进行匹配,得到所述条件值匹配的所述表头表征内容;
96、将所述条件值,所述条件值匹配的所述表头表征内容中的表头内容确定为所述初始条件部分的第一子组成部分;
97、针对任一所述条件值,对组成所述条件值的所述目标字符对应的所述嵌入向量、所述条件值匹配的所述表头表征内容对应的所述列表示嵌入向量进行分类处理,得到所述条件值对应的各逻辑运算的逻辑概率;
98、选择最大的所述逻辑概率,并确定最大的所述逻辑概率对应的所述逻辑运算;
99、将最大的所述逻辑概率对应的所述逻辑运算确定为所述初始条件部分的第二子组成部分;
100、将最大的所述关系概率对应的所述条件关系确定为所述初始条件部分的第三子组成部分;
101、所述对所述初始组成部分的子组成部分进行拼接,得到目标组成部分,包括:
102、针对任一所述条件值,利用所述条件值对应的最大的所述逻辑概率对应的所述逻辑运算,对所述条件值与所述条件值匹配的所述表头表征内容中的表头内容进行拼接,得到第一条件拼接结果;
103、利用最大的所述关系概率对应的所述条件关系,对所有所述第一条件拼接结果进行拼接,得到第二条件拼接结果;
104、将所述第二条件拼接结果与所述初始条件部分的标志进行拼接,得到目标条件部分。
105、在一个可选的实施方式中,所述将组成所述条件值的所述目标字符对应的所述嵌入向量,与任一所述表头表征内容对应的所述列表示嵌入向量进行匹配,得到所述条件值匹配的所述表头表征内容,包括:
106、对所有所述表头表征内容对应的所述列表示嵌入向量进行分类处理,得到所述初始条件部分使用每个所述表头表征内容的第四使用概率;
107、按照所述第四使用概率,将组成所述条件值的所述目标字符对应的所述嵌入向量,与任一所述表头表征内容对应的所述列表示嵌入向量进行匹配,得到所述条件值匹配的所述表头表征内容。
108、在一个可选的实施方式中,在执行所述方法之前,还包括:
109、获取样本表格以及所述样本表格对应的样本需求表述,并确定所述样本表格中的所有样本表头表征内容;
110、将所述样本需求表述及所有所述样本表头表征内容输入至多任务模型,由所述多任务模型执行以下处理:
111、根据自定义标志以及序列标志,对所述样本需求表述及所有所述样本表头表征内容进行拼接,得到样本拼接结果;
112、针对所述样本拼接结果中任一样本组成内容,对所述样本组成内容进行向量化处理,得到所述样本组成内容对应的样本嵌入向量;
113、其中,所述样本组成内容包括以下之一:所述自定义标志、所述序列标志、所述样本需求表述中每个字符、所述样本表头表征内容中每个字符;
114、针对样本编程语句的任一样本组成部分,根据所述样本拼接结果中相应的所述样本组成内容对应的所述样本嵌入向量,预测所述样本组成部分的预测子组成部分;
115、确定所述样本组成部分的预测子组成部分与样本组成部分的样本子组成部分之间的损失值;
116、根据所述损失值对所述多任务模型进行模型训练,并在所述损失值满足收敛条件的情况下,停止模型训练,得到预训练的多任务模型。
117、在一个可选的实施方式中,所述确定所述样本表格中的所有样本表头表征内容,包括:
118、确定所述样本表格中样本表头,针对所述样本表头中任一样本表头单元格,获取所述样本表头单元格中填充的样本表头内容;
119、确定所述样本表头单元格所在列的除所述样本表头单元格之外的其余样本单元格;
120、从所述其余样本单元格中,选取目标样本单元格,获取所述目标样本单元格中填充的样本单元格内容;
121、将所述样本表头内容与所述样本单元格内容进行组合,得到所述样本表头单元格对应的样本表头表征内容。
122、在一个可选的实施方式中,所述根据自定义标志以及序列标志,对所述样本需求表述及所有所述样本表头表征内容进行拼接,得到样本拼接结果,包括:
123、根据自定义标志以及序列标志,对所述样本需求表述进行拼接,得到第一样本表述拼接结果;
124、其中,所述自定义标志位于所述第一样本表述拼接结果的起始位置,所述序列标志位于所述第一样本表述拼接结果的结尾位置;
125、针对任一所述样本表头表征内容,根据所述序列标志对所述样本表头表征内容进行拼接,得到第二样本内容拼接结果;
126、其中,所述序列标志位于所述第二样本内容拼接结果的结尾位置;
127、将所述第一样本表述拼接结果与所有所述第二样本内容拼接结果按序拼接,得到样本拼接结果。
128、在一个可选的实施方式中,在所述样本组成部分为样本限制部分的情况下,所述根据所述样本拼接结果中相应的所述样本组成内容对应的所述样本嵌入向量,预测所述样本组成部分的预测子组成部分,包括:
129、从所述样本拼接结果的所述样本组成内容对应的所述样本嵌入向量中,查找所述自定义标志对应的所述样本嵌入向量;
130、对所述自定义标志对应的所述样本嵌入向量进行分类处理,得到所述样本限制部分对应的各个样本限制数量的样本限制概率;
131、选取最大的所述样本限制概率,并确定最大的所述样本限制概率对应的所述样本限制数量;
132、将最大的所述样本限制概率对应的所述样本限制数量确定为所述样本限制部分的预测子组成部分。
133、在一个可选的实施方式中,在所述样本组成部分为除所述样本限制部分之外的其余样本部分的情况下,所述根据所述样本拼接结果中相应的所述样本组成内容对应的所述样本嵌入向量,预测所述样本组成部分的预测子组成部分,包括:
134、针对任一所述样本表头表征内容,均执行以下处理,得到所述样本表头表征内容对应的样本列表示嵌入向量:
135、从所述样本拼接结果的所述样本组成内容对应的所述样本嵌入向量中,查找所述样本表头表征内容中每个字符对应的所述样本嵌入向量,以及与所述样本表头表征内容拼接的所述序列标志对应的所述样本嵌入向量;
136、将所述自定义标志对应的所述样本嵌入向量,与所述样本表头表征内容中每个字符对应的所述样本嵌入向量、与样本表头表征内容拼接的所述序列标志对应的所述样本嵌入向量进行自注意力机制处理,得到样本处理结果;
137、将所述自定义标志对应的所述样本嵌入向量与所述样本处理结果相加,得到所述样本表头表征内容对应的样本列表示嵌入向量;
138、根据所述样本拼接结果中相应的所述样本组成内容对应的所述样本嵌入向量及任一所述样本表头表征内容对应的样本列表示嵌入向量,预测所述样本组成部分的预测子组成部分。
139、在一个可选的实施方式中,在所述样本组成部分为样本选择部分的情况下,所述根据所述样本拼接结果中相应的所述样本组成内容对应的所述样本嵌入向量及任一所述样本表头表征内容对应的样本列表示嵌入向量,预测所述样本组成部分的预测子组成部分,包括:
140、对所述自定义标志对应的所述样本嵌入向量进行分类处理,得到所述样本选择部分对应的各个样本列数量的第一样本列概率;
141、选择最大的所述第一样本列概率,并确定最大的所述第一样本列概率对应的所述样本列数量;
142、对所有所述样本表头表征内容对应的所述样本列表示嵌入向量进行分类处理,得到所述样本选择部分使用每个所述样本表头表征内容的第一样本使用概率;
143、对所述第一样本使用概率进行排序,并选取前n名的所述第一样本使用概率,所述n为最大的所述第一样本列概率对应的所述样本列数量;
144、根据前n名的所述第一样本使用概率,预测所述样本选择部分的预测子组成部分。
145、在一个可选的实施方式中,所述根据前n名的所述第一样本使用概率,预测所述样本选择部分的预测子组成部分,包括:
146、确定前n名的所述第一样本使用概率对应的n个所述样本表头表征内容,获取n个所述样本表头表征内容中的n个样本表头内容;
147、将n个样本表头内容确定为所述样本选择部分的第一预测子组成部分;
148、对n个所述样本表头表征内容对应的所述样本列表示嵌入向量进行分类处理,得到所述样本选择部分对应的各样本列间运算的第一样本列间概率,以及各样本聚合运算的样本聚合概率;
149、选择最大的所述第一样本列间概率,并确定最大的所述第一样本列间概率对应的所述样本列间运算;
150、选取最大的所述样本聚合概率,并确定最大的所述样本聚合概率对应的所述样本聚合运算;
151、将最大的所述第一样本列间概率对应的所述样本列间运算确定为所述样本选择部分的第二预测子组成部分;
152、将最大的所述样本聚合概率对应的所述样本聚合运算确定为所述样本选择部分的第三预测子组成部分。
153、在一个可选的实施方式中,在所述样本组成部分为样本分组部分的情况下,所述根据所述样本拼接结果中相应的所述样本组成内容对应的所述样本嵌入向量及任一所述样本表头表征内容对应的样本列表示嵌入向量,预测所述样本组成部分的预测子组成部分,包括:
154、对所述自定义标志对应的所述样本嵌入向量进行分类处理,得到所述样本分组部分对应的各个样本列数量的第二样本列概率;
155、选择最大的所述第二样本列概率,并确定最大的所述第二样本列概率对应的所述样本列数量;
156、对所有所述样本表头表征内容对应的所述样本列表示嵌入向量进行分类处理,得到所述样本分组部分使用每个所述样本表头表征内容的第二样本使用概率;
157、对所述第二样本使用概率进行排序,并选取前m名的所述第二样本使用概率,所述m为最大的所述第二样本列概率对应的所述样本列数量;
158、根据前m名的所述第二样本使用概率,生成所述样本分组部分的预测子组成部分。
159、在一个可选的实施方式中,所述根据前m名的所述第二样本使用概率,生成所述样本分组部分的预测子组成部分,包括:
160、确定前m名的所述第二样本使用概率对应的m个所述样本表头表征内容,获取m个所述样本表头表征内容中的m个样本表头内容;
161、将m个样本表头内容确定为所述样本分组部分的预测子组成部分。
162、在一个可选的实施方式中,在所述样本组成部分为样本升降序部分的情况下,所述根据所述样本拼接结果中相应的所述样本组成内容对应的所述样本嵌入向量及任一所述样本表头表征内容对应的样本列表示嵌入向量,预测所述样本组成部分的预测子组成部分,包括:
163、对所述自定义标志对应的所述样本嵌入向量进行分类处理,得到所述样本升降序部分对应的各个样本列数量的第三样本列概率,以及各样本升降序运算的样本升降序概率;
164、选择最大的所述第三样本列概率,并确定最大的所述第三样本列概率对应的所述样本列数量;
165、选择最大的所述样本升降序概率,并确定最大的所述样本升降序概率对应的所述样本升降序运算;
166、对所有所述样本表头表征内容对应的所述样本列表示嵌入向量进行分类处理,得到所述样本升降序部分使用每个所述样本表头表征内容的第三样本使用概率;
167、对所述第三样本使用概率进行排序,并选取前o名的所述第三样本使用概率,所述o为最大的所述第三样本列概率对应的所述样本列数量;
168、根据前o名的所述第三样本使用概率及最大的所述样本升降序概率对应的所述样本升降序运算,生成所述样本升降序部分的预测子组成部分。
169、在一个可选的实施方式中,所述根据前o名的所述第三样本使用概率及最大的所述样本升降序概率对应的所述样本升降序运算,生成所述样本升降序部分的预测子组成部分,包括:
170、确定前o名的所述第三样本使用概率对应的o个所述样本表头表征内容;
171、对o个所述样本表头表征内容对应的所述样本列表示嵌入向量进行分类处理,得到所述样本升降序部分对应的各样本列间运算的第二样本列间概率;
172、选择最大的所述第二样本列间概率,并确定最大的所述第二样本列间概率对应的所述样本列间运算;
173、获取o个所述样本表头表征内容中的o个样本表头内容,将o个样本表头内容确定为所述样本升降序部分的第一预测子组成部分;
174、将最大的所述样本升降序概率对应的所述样本升降序运算确定为所述样本升降序部分的第二预测子组成部分;
175、将最大的所述第二样本列间概率对应的所述样本列间运算确定为所述样本升降序部分的第三预测子组成部分。
176、在一个可选的实施方式中,在所述样本组成部分为样本条件部分的情况下,所述根据所述样本拼接结果中相应的所述样本组成内容对应的所述样本嵌入向量及任一所述样本表头表征内容对应的样本列表示嵌入向量,预测所述样本组成部分的预测子组成部分,包括:
177、对所述自定义标志对应的所述样本嵌入向量进行分类处理,得到所述样本条件部分对应的各样本条件个数的样本个数概率,以及各样本条件关系的样本关系概率;
178、选择最大的所述样本个数概率,并确定最大的所述样本个数概率对应的所述样本条件个数;
179、选择最大的所述样本关系概率,并确定最大的所述样本关系概率对应的所述样本条件关系;
180、从所述样本拼接结果的所述样本组成内容对应的所述样本嵌入向量中,查找所述样本需求表述中每个字符对应的样本嵌入向量;
181、对所述样本需求表述中每个字符对应的样本嵌入向量进行分类处理,得到所述样本需求表述中每个字符对应的样本条件值标志;
182、从所述样本需求表述中选取样本字符,所述样本字符的所述样本条件值标志为预设数值;
183、由所述样本字符组成m个样本条件值,所述m为最大的所述样本个数概率对应的所述样本条件个数;
184、根据m个样本条件值、最大的所述样本关系概率对应的所述样本条件关系及任一所述样本表头表征内容对应的所述样本列表示嵌入向量,生成所述样本条件部分的预测子组成部分。
185、在一个可选的实施方式中,所述根据m个样本条件值、最大的所述样本关系概率对应的所述样本条件关系及任一所述样本表头表征内容对应的所述样本列表示嵌入向量,生成所述样本条件部分的预测子组成部分,包括:
186、针对任一所述样本条件值,将组成所述样本条件值的所述样本字符对应的所述样本嵌入向量,与任一所述样本表头表征内容对应的所述样本列表示嵌入向量进行匹配,得到所述样本条件值匹配的所述样本表头表征内容;
187、将所述样本条件值,所述样本条件值匹配的所述样本表头表征内容中的样本表头内容确定为所述样本条件部分的第一预测子组成部分;
188、针对任一所述样本条件值,对组成所述样本条件值的所述样本字符对应的所述样本嵌入向量、所述样本条件值匹配的所述样本表头表征内容对应的所述样本列表示嵌入向量进行分类处理,得到所述样本条件值对应的各样本逻辑运算的样本逻辑概率;
189、选择最大的所述样本逻辑概率,并确定最大的所述样本逻辑概率对应的所述样本逻辑运算;
190、将最大的所述样本逻辑概率对应的所述样本逻辑运算确定为所述样本条件部分的第二预测子组成部分;
191、将最大的所述样本关系概率对应的所述样本条件关系确定为所述样本条件部分的第三预测子组成部分。
192、在一个可选的实施方式中,所述将组成所述样本条件值的所述样本字符对应的所述样本嵌入向量,与任一所述样本表头表征内容对应的所述样本列表示嵌入向量进行匹配,得到所述样本条件值匹配的所述表头表征内容,包括:
193、对所有所述样本表头表征内容对应的所述样本列表示嵌入向量进行分类处理,得到所述样本条件部分使用每个所述样本表头表征内容的第四样本使用概率;
194、按照所述第四样本使用概率,将组成所述样本条件值的所述样本字符对应的所述样本嵌入向量,与任一所述样本表头表征内容对应的所述样本列表示嵌入向量进行匹配,得到所述样本条件值匹配的所述样本表头表征内容。
195、在本技术实施例的第二方面,还提供了一种编程语句生成装置,所述装置包括:
196、表格获取模块,用于获取目标表格;
197、表述获取模块,用于获取所述目标表格对应的目标需求表述;
198、内容确定模块,用于确定所述目标表格中的目标表格内容;
199、部分生成模块,用于针对初始编程语句的任一初始组成部分,根据所述目标需求表述以及所述目标表格内容,生成所述初始组成部分的子组成部分;
200、部分拼接模块,用于对所述初始组成部分的子组成部分进行拼接,得到目标组成部分;
201、语句生成模块,用于由初始编程语句的各个所述目标组成部分生成目标编程语句。
202、在一个可选的实施方式中,所述内容确定模块具体用于:
203、确定所述目标表格中目标表头,针对所述目标表头中任一表头单元格,获取所述表头单元格中填充的表头内容;
204、确定所述表头单元格所在列的除所述表头单元格之外的其余单元格;
205、从所述其余单元格中,选取目标单元格,获取所述目标单元格中填充的单元格内容;
206、将所述表头内容与所述单元格内容组合,得到所述表头单元格对应的表头表征内容;
207、将所有所述表头表征内容确定为所述目标表格中的目标表格内容。
208、在一个可选的实施方式中,所述部分生成模块具体包括:
209、表述、内容输入子模块,用于将所述目标需求表述以及所有所述表头表征内容输入至预训练的多任务模型,由所述预训练的多任务模型执行以下处理:
210、表述、内容拼接子模块,用于根据自定义标志以及序列标志,对所述目标需求表述以及所有所述表头表征内容进行拼接,得到拼接结果;
211、内容处理模块,用于针对所述拼接结果中任一组成内容,对所述组成内容进行向量化处理,得到所述组成内容对应的嵌入向量;
212、其中,所述组成内容包括以下之一:所述自定义标志、所述序列标志、所述目标需求表述中每个字符、所述表头表征内容中每个字符;
213、部分生成子模块,用于针对初始编程语句的任一初始组成部分,根据所述拼接结果中相应的所述组成内容对应的所述嵌入向量,生成所述初始组成部分的子组成部分。
214、在一个可选的实施方式中,所述表述、内容拼接子模块具体用于:
215、根据自定义标志以及序列标志,对所述目标需求表述进行拼接,得到第一表述拼接结果;
216、其中,所述自定义标志位于所述第一表述拼接结果的起始位置,所述序列标志位于所述第一表述拼接结果的结尾位置;
217、针对任一所述表头表征内容,根据所述序列标志对所述表头表征内容进行拼接,得到第二内容拼接结果;
218、其中,所述序列标志位于所述第二内容拼接结果的结尾位置;
219、将所述第一表述拼接结果与所有所述第二内容拼接结果按序拼接,得到拼接结果。
220、在一个可选的实施方式中,在所述初始组成部分为初始限制部分的情况下,所述部分生成子模块具体用于:
221、从所述拼接结果的所述组成内容对应的所述嵌入向量中,查找所述自定义标志对应的所述嵌入向量;
222、对所述自定义标志对应的所述嵌入向量进行分类处理,得到所述初始限制部分对应的各个限制数量的限制概率;
223、选取最大的所述限制概率,并确定最大的所述限制概率对应的所述限制数量;
224、将最大的所述限制概率对应的所述限制数量确定为所述初始限制部分的子组成部分;
225、所述部分拼接模块具体用于:
226、将最大的所述限制概率对应的所述限制数量与所述初始限制部分的标志进行拼接,得到目标限制部分。
227、在一个可选的实施方式中,在所述初始组成部分为除初始限制部分之外的其余部分的情况下,所述部分生成子模块具体包括:
228、内容处理单元,用于针对任一所述表头表征内容,均执行以下处理,得到所述表头表征内容对应的列表示嵌入向量:
229、向量查找单元,用于从所述拼接结果的所述组成内容对应的所述嵌入向量中,查找所述表头表征内容中每个字符对应的所述嵌入向量,以及与所述表头表征内容拼接的所述序列标志对应的所述嵌入向量;
230、向量处理单元,用于将所述自定义标志对应的所述嵌入向量,与所述表头表征内容中每个字符对应的所述嵌入向量、与表头表征内容拼接的所述序列标志对应的所述嵌入向量进行自注意力机制处理,得到处理结果;
231、向量相加单元,用于将所述自定义标志对应的所述嵌入向量与所述处理结果相加,得到所述表头表征内容对应的列表示嵌入向量;
232、部分生成单元,用于根据所述拼接结果中相应的所述组成内容对应的所述嵌入向量,及任一所述表头表征内容对应的所述列表示嵌入向量,生成所述初始组成部分的子组成部分。
233、在一个可选的实施方式中,在所述初始组成部分为初始选择部分的情况下,所述部分生成单元具体包括:
234、第一向量分类子单元,用于对所述自定义标志对应的所述嵌入向量进行分类处理,得到所述初始选择部分对应的各个列数量的第一列概率;
235、列数量确定子单元,用于选择最大的所述第一列概率,并确定最大的所述第一列概率对应的所述列数量;
236、第二向量分类子单元,用于对所有所述表头表征内容对应的所述列表示嵌入向量进行分类处理,得到所述初始选择部分使用每个所述表头表征内容的第一使用概率;
237、概率排序子单元,用于对所述第一使用概率进行排序,并选取前n名的所述第一使用概率,所述n为最大的所述第一列概率对应的所述列数量;
238、部分生成子单元,用于根据前n名的所述第一使用概率,生成所述初始选择部分的子组成部分。
239、在一个可选的实施方式中,所述部分生成子单元具体用于:
240、确定前n名的所述第一使用概率对应的n个所述表头表征内容,获取n个所述表头表征内容中的n个表头内容;
241、将n个所述表头内容确定为所述初始选择部分的第一子组成部分;
242、对n个所述表头表征内容对应的所述列表示嵌入向量进行分类处理,得到所述初始选择部分对应的各列间运算的第一列间概率,以及各聚合运算的聚合概率;
243、选择最大的所述第一列间概率,并确定最大的所述第一列间概率对应的所述列间运算;
244、选取最大的所述聚合概率,并确定最大的所述聚合概率对应的所述聚合运算;
245、将最大的所述第一列间概率对应的所述列间运算确定为所述初始选择部分的第二子组成部分;
246、将最大的所述聚合概率对应的所述聚合运算确定为所述初始选择部分的第三子组成部分;
247、所述部分拼接模块具体用于:
248、利用最大的所述第一列间概率对应的所述列间运算,对n个所述表头内容进行拼接,得到第一选择拼接结果;
249、将最大的所述聚合概率对应的所述聚合运算,与所述第一选择拼接结果进行拼接,得到第二选择拼接结果;
250、将所述第二选择拼接结果,与所述初始选择部分的标志进行拼接,得到目标选择部分。
251、在一个可选的实施方式中,在所述初始组成部分为初始分组部分的情况下,所述部分生成单元具体包括:
252、第一向量分类子单元,用于对所述自定义标志对应的所述嵌入向量进行分类处理,得到所述初始分组部分对应的各个列数量的第二列概率;
253、列数量确定子单元,用于选择最大的所述第二列概率,并确定最大的所述第二列概率对应的所述列数量;
254、第二向量分类子单元,用于对所有所述表头表征内容对应的所述列表示嵌入向量进行分类处理,得到所述初始分组部分使用每个所述表头表征内容的第二使用概率;
255、概率排序子单元,用于对所述第二使用概率进行排序,并选取前m名的所述第二使用概率,所述m为最大的所述第二列概率对应的所述列数量;
256、部分生成子单元,用于根据前m名的所述第二使用概率,生成所述初始分组部分的子组成部分。
257、在一个可选的实施方式中,所述部分生成子单元具体用于:
258、确定前m名的所述第二使用概率对应的m个所述表头表征内容,获取m个所述表头表征内容中的m个表头内容;
259、将m个表头内容确定为所述初始分组部分的子组成部分;
260、所述部分拼接模块具体用于:
261、将m个表头内容与所述初始分组部分对应的标志进行拼接,得到目标分组部分。
262、在一个可选的实施方式中,在所述初始组成部分为初始升降序部分的情况下,所述部分生成单元具体包括:
263、第一向量分类子单元,用于对所述自定义标志对应的所述嵌入向量进行分类处理,得到所述初始升降序部分对应的各个列数量的第三列概率,以及各升降序运算的升降序概率;
264、列数量确定子单元,用于选择最大的所述第三列概率,并确定最大的所述第三列概率对应的所述列数量;
265、升降序运算确定子单元,用于选择最大的所述升降序概率,并确定最大的所述升降序概率对应的所述升降序运算;
266、第二向量分类单元,用于对所有所述表头表征内容对应的所述列表示嵌入向量进行分类处理,得到所述初始升降序部分使用每个所述表头表征内容的第三使用概率;
267、概率排序子单元,用于对所述第三使用概率进行排序,并选取前o名的所述第三使用概率,所述o为最大的所述第三列概率对应的所述列数量;
268、部分生成子单元,用于根据前o名的所述第三使用概率及最大的所述升降序概率对应的所述升降序运算,生成所述初始升降序部分的子组成部分。
269、在一个可选的实施方式中,所述部分生成子单元具体用于:
270、确定前o名的所述第三使用概率对应的o个所述表头表征内容;
271、对o个所述表头表征内容对应的所述列表示嵌入向量进行分类处理,得到所述初始升降序部分对应的各列间运算的第二列间概率;
272、选择最大的所述第二列间概率,并确定最大的所述第二列间概率对应的所述列间运算;
273、获取o个所述表头表征内容中的o个表头内容,将o个表头内容确定为所述初始升降序部分的第一子组成部分;
274、将最大的所述升降序概率对应的所述升降序运算确定为所述初始升降序部分的第二子组成部分;
275、将最大的所述第二列间概率对应的所述列间运算确定为所述初始升降序部分的第三子组成部分;
276、所述部分拼接模块具体用于:
277、利用最大的所述第二列间概率对应的所述列间运算,对o个表头内容进行拼接,得到第一升降序拼接结果;
278、将最大的所述升降序概率对应的所述升降序运算,与所述第一升降序拼接结果进行拼接,得到第二升降序拼接结果;
279、将所述第二升降序拼接结果与所述初始升降序部分的标志进行拼接,得到目标升降序部分。
280、在一个可选的实施方式中,在所述初始组成部分为初始条件部分的情况下,所述部分生成单元具体包括:
281、第一向量分类子单元,用于对所述自定义标志对应的所述嵌入向量进行分类处理,得到所述初始条件部分对应的各条件个数的个数概率,以及各条件关系的关系概率;
282、条件个数确定子单元,用于选择最大的所述个数概率,并确定最大的所述个数概率对应的所述条件个数;
283、条件关系确定子单元,用于选择最大的所述关系概率,并确定最大的所述关系概率对应的所述条件关系;
284、向量查找子单元,用于从所述拼接结果的所述组成内容对应的所述嵌入向量中,查找所述目标需求表述中每个字符对应的所述嵌入向量;
285、第二向量分类子单元,用于对所述目标需求表述中每个字符对应的所述嵌入向量进行分类处理,得到所述目标需求表述中每个字符对应的条件值标志;
286、字符选取模块,用于从所述目标需求表述中选取目标字符,所述目标字符的所述条件值标志为预设数值;
287、字符组成子单元,用于由所述目标字符组成m个条件值,所述m为最大的所述个数概率对应的所述条件个数;
288、部分生成子单元,用于根据m个条件值、最大的所述关系概率对应的所述条件关系及任一所述表头表征内容对应的所述列表示嵌入向量,生成所述初始条件部分的子组成部分。
289、在一个可选的实施方式中,所述部分生成子单元具体用于:
290、针对任一所述条件值,将组成所述条件值的所述目标字符对应的所述嵌入向量,与任一所述表头表征内容对应的所述列表示嵌入向量进行匹配,得到所述条件值匹配的所述表头表征内容;
291、将所述条件值,所述条件值匹配的所述表头表征内容中的表头内容确定为所述初始条件部分的第一子组成部分;
292、针对任一所述条件值,对组成所述条件值的所述目标字符对应的所述嵌入向量、所述条件值匹配的所述表头表征内容对应的所述列表示嵌入向量进行分类处理,得到所述条件值对应的各逻辑运算的逻辑概率;
293、选择最大的所述逻辑概率,并确定最大的所述逻辑概率对应的所述逻辑运算;
294、将最大的所述逻辑概率对应的所述逻辑运算确定为所述初始条件部分的第二子组成部分;
295、将最大的所述关系概率对应的所述条件关系确定为所述初始条件部分的第三子组成部分;
296、所述部分拼接模块具体用于:
297、针对任一所述条件值,利用所述条件值对应的最大的所述逻辑概率对应的所述逻辑运算,对所述条件值与所述条件值匹配的所述表头表征内容中的表头内容进行拼接,得到第一条件拼接结果;
298、利用最大的所述关系概率对应的所述条件关系,对所有所述第一条件拼接结果进行拼接,得到第二条件拼接结果;
299、将所述第二条件拼接结果与所述初始条件部分的标志进行拼接,得到目标条件部分。
300、在一个可选的实施方式中,所述部分生成子单元具体用于:
301、对所有所述表头表征内容对应的所述列表示嵌入向量进行分类处理,得到所述初始条件部分使用每个所述表头表征内容的第四使用概率;
302、按照所述第四使用概率,将组成所述条件值的所述目标字符对应的所述嵌入向量,与任一所述表头表征内容对应的所述列表示嵌入向量进行匹配,得到所述条件值匹配的所述表头表征内容。
303、在一个可选的实施方式中,所述装置还包括:
304、表格、表述获取模块,用于获取样本表格以及所述样本表格对应的样本需求表述;
305、表征内容确定模块,用于确定所述样本表格中的所有样本表头表征内容;
306、表述、内容输入模块,用于将所述样本需求表述及所有所述样本表头表征内容输入至多任务模型,由所述多任务模型执行以下处理:
307、表述、内容拼接模块,用于根据自定义标志以及序列标志,对所述样本需求表述及所有所述样本表头表征内容进行拼接,得到样本拼接结果;
308、组成内容处理模块,用于针对所述样本拼接结果中任一样本组成内容,对所述样本组成内容进行向量化处理,得到所述样本组成内容对应的样本嵌入向量;
309、其中,所述样本组成内容包括以下之一:所述自定义标志、所述序列标志、所述样本需求表述中每个字符、所述样本表头表征内容中每个字符;
310、部分预测模块,用于针对样本编程语句的任一样本组成部分,根据所述样本拼接结果中相应的所述样本组成内容对应的所述样本嵌入向量,预测所述样本组成部分的预测子组成部分;
311、损失值确定模块,用于确定所述样本组成部分的预测子组成部分与样本组成部分的样本子组成部分之间的损失值;
312、模型训练模块,用于根据所述损失值对所述多任务模型进行模型训练,并在所述损失值满足收敛条件的情况下,停止模型训练,得到预训练的多任务模型。
313、在一个可选的实施方式中,所述表征内容确定模块具体用于:
314、确定所述样本表格中样本表头,针对所述样本表头中任一样本表头单元格,获取所述样本表头单元格中填充的样本表头内容;
315、确定所述样本表头单元格所在列的除所述样本表头单元格之外的其余样本单元格;
316、从所述其余样本单元格中,选取目标样本单元格,获取所述目标样本单元格中填充的样本单元格内容;
317、将所述样本表头内容与所述样本单元格内容进行组合,得到所述样本表头单元格对应的样本表头表征内容。
318、在一个可选的实施方式中,所述表述、内容拼接模块具体用于:
319、根据自定义标志以及序列标志,对所述样本需求表述进行拼接,得到第一样本表述拼接结果;
320、其中,所述自定义标志位于所述第一样本表述拼接结果的起始位置,所述序列标志位于所述第一样本表述拼接结果的结尾位置;
321、针对任一所述样本表头表征内容,根据所述序列标志对所述样本表头表征内容进行拼接,得到第二样本内容拼接结果;
322、其中,所述序列标志位于所述第二样本内容拼接结果的结尾位置;
323、将所述第一样本表述拼接结果与所有所述第二样本内容拼接结果按序拼接,得到样本拼接结果。
324、在一个可选的实施方式中,在所述样本组成部分为样本限制部分的情况下,所述部分预测模块具体用于:
325、从所述样本拼接结果的所述样本组成内容对应的所述样本嵌入向量中,查找所述自定义标志对应的所述样本嵌入向量;
326、对所述自定义标志对应的所述样本嵌入向量进行分类处理,得到所述样本限制部分对应的各个样本限制数量的样本限制概率;
327、选取最大的所述样本限制概率,并确定最大的所述样本限制概率对应的所述样本限制数量;
328、将最大的所述样本限制概率对应的所述样本限制数量确定为所述样本限制部分的预测子组成部分。
329、在一个可选的实施方式中,在所述样本组成部分为除所述样本限制部分之外的其余样本部分的情况下,所述部分预测模块具体包括:
330、表征内容处理子模块,用于针对任一所述样本表头表征内容,均执行以下处理,得到所述样本表头表征内容对应的样本列表示嵌入向量;
331、向量查找子模块,用于从所述样本拼接结果的所述样本组成内容对应的所述样本嵌入向量中,查找所述样本表头表征内容中每个字符对应的所述样本嵌入向量,以及与所述样本表头表征内容拼接的所述序列标志对应的所述样本嵌入向量;
332、向量处理子模块,用于将所述自定义标志对应的所述样本嵌入向量,与所述样本表头表征内容中每个字符对应的所述样本嵌入向量、与样本表头表征内容拼接的所述序列标志对应的所述样本嵌入向量进行自注意力机制处理,得到样本处理结果;
333、向量相加子模块,用于将所述自定义标志对应的所述样本嵌入向量与所述样本处理结果相加,得到所述样本表头表征内容对应的样本列表示嵌入向量;
334、部分预测子模块,用于根据所述样本拼接结果中相应的所述样本组成内容对应的所述样本嵌入向量及任一所述样本表头表征内容对应的样本列表示嵌入向量,预测所述样本组成部分的预测子组成部分。
335、在一个可选的实施方式中,在所述样本组成部分为样本选择部分的情况下,所述部分预测子模块具体包括:
336、第一向量分类单元,用于对所述自定义标志对应的所述样本嵌入向量进行分类处理,得到所述样本选择部分对应的各个样本列数量的第一样本列概率;
337、列数量确定单元,用于选择最大的所述第一样本列概率,并确定最大的所述第一样本列概率对应的所述样本列数量;
338、第二向量分类单元,用于对所有所述样本表头表征内容对应的所述样本列表示嵌入向量进行分类处理,得到所述样本选择部分使用每个所述样本表头表征内容的第一样本使用概率;
339、概率排序单元,用于对所述第一样本使用概率进行排序,并选取前n名的所述第一样本使用概率,所述n为最大的所述第一样本列概率对应的所述样本列数量;
340、部分预测单元,用于根据前n名的所述第一样本使用概率,预测所述样本选择部分的预测子组成部分。
341、在一个可选的实施方式中,所述部分预测单元具体用于:
342、确定前n名的所述第一样本使用概率对应的n个所述样本表头表征内容,获取n个所述样本表头表征内容中的n个样本表头内容;
343、将n个样本表头内容确定为所述样本选择部分的第一预测子组成部分;
344、对n个所述样本表头表征内容对应的所述样本列表示嵌入向量进行分类处理,得到所述样本选择部分对应的各样本列间运算的第一样本列间概率,以及各样本聚合运算的样本聚合概率;
345、选择最大的所述第一样本列间概率,并确定最大的所述第一样本列间概率对应的所述样本列间运算;
346、选取最大的所述样本聚合概率,并确定最大的所述样本聚合概率对应的所述样本聚合运算;
347、将最大的所述第一样本列间概率对应的所述样本列间运算确定为所述样本选择部分的第二预测子组成部分;
348、将最大的所述样本聚合概率对应的所述样本聚合运算确定为所述样本选择部分的第三预测子组成部分。
349、在一个可选的实施方式中,在所述样本组成部分为样本分组部分的情况下,所述部分预测子模块具体包括:
350、第一向量分类单元,用于对所述自定义标志对应的所述样本嵌入向量进行分类处理,得到所述样本分组部分对应的各个样本列数量的第二样本列概率;
351、列数量确定单元,用于选择最大的所述第二样本列概率,并确定最大的所述第二样本列概率对应的所述样本列数量;
352、第二向量分类单元,用于对所有所述样本表头表征内容对应的所述样本列表示嵌入向量进行分类处理,得到所述样本分组部分使用每个所述样本表头表征内容的第二样本使用概率;
353、概率排序单元,用于对所述第二样本使用概率进行排序,并选取前m名的所述第二样本使用概率,所述m为最大的所述第二样本列概率对应的所述样本列数量;
354、部分预测单元,用于根据前m名的所述第二样本使用概率,生成所述样本分组部分的预测子组成部分。
355、在一个可选的实施方式中,所述部分预测单元具体包括:
356、确定前m名的所述第二样本使用概率对应的m个所述样本表头表征内容,获取m个所述样本表头表征内容中的m个样本表头内容;
357、将m个样本表头内容确定为所述样本分组部分的预测子组成部分。
358、在一个可选的实施方式中,在所述样本组成部分为样本升降序部分的情况下,所述部分预测子模块具体包括:
359、第一向量分类单元,用于对所述自定义标志对应的所述样本嵌入向量进行分类处理,得到所述样本升降序部分对应的各个样本列数量的第三样本列概率,以及各样本升降序运算的样本升降序概率;
360、列数量确定单元,用于选择最大的所述第三样本列概率,并确定最大的所述第三样本列概率对应的所述样本列数量;
361、升降序运算确定单元,用于选择最大的所述样本升降序概率,并确定最大的所述样本升降序概率对应的所述样本升降序运算;
362、第二向量分类单元,用于对所有所述样本表头表征内容对应的所述样本列表示嵌入向量进行分类处理,得到所述样本升降序部分使用每个所述样本表头表征内容的第三样本使用概率;
363、概率排序单元,用于对所述第三样本使用概率进行排序,并选取前o名的所述第三样本使用概率,所述o为最大的所述第三样本列概率对应的所述样本列数量;
364、部分预测单元,用于根据前o名的所述第三样本使用概率及最大的所述样本升降序概率对应的所述样本升降序运算,生成所述样本升降序部分的预测子组成部分。
365、在一个可选的实施方式中,所述部分预测单元具体包括:
366、确定前o名的所述第三样本使用概率对应的o个所述样本表头表征内容;
367、对o个所述样本表头表征内容对应的所述样本列表示嵌入向量进行分类处理,得到所述样本升降序部分对应的各样本列间运算的第二样本列间概率;
368、选择最大的所述第二样本列间概率,并确定最大的所述第二样本列间概率对应的所述样本列间运算;
369、获取o个所述样本表头表征内容中的o个样本表头内容,将o个样本表头内容确定为所述样本升降序部分的第一预测子组成部分;
370、将最大的所述样本升降序概率对应的所述样本升降序运算确定为所述样本升降序部分的第二预测子组成部分;
371、将最大的所述第二样本列间概率对应的所述样本列间运算确定为所述样本升降序部分的第三预测子组成部分。
372、在一个可选的实施方式中,在所述样本组成部分为样本条件部分的情况下,所述部分预测子模块具体包括:
373、第一向量分类单元,用于对所述自定义标志对应的所述样本嵌入向量进行分类处理,得到所述样本条件部分对应的各样本条件个数的样本个数概率,以及各样本条件关系的样本关系概率;
374、条件个数确定单元,用于选择最大的所述样本个数概率,并确定最大的所述样本个数概率对应的所述样本条件个数;
375、条件关系确定单元,用于选择最大的所述样本关系概率,并确定最大的所述样本关系概率对应的所述样本条件关系;
376、向量查找单元,用于从所述样本拼接结果的所述样本组成内容对应的所述样本嵌入向量中,查找所述样本需求表述中每个字符对应的样本嵌入向量;
377、第二向量分类单元,用于对所述样本需求表述中每个字符对应的样本嵌入向量进行分类处理,得到所述样本需求表述中每个字符对应的样本条件值标志;
378、字符选取单元,用于从所述样本需求表述中选取样本字符,所述样本字符的所述样本条件值标志为预设数值;
379、字符组成单元,用于由所述样本字符组成m个样本条件值,所述m为最大的所述样本个数概率对应的所述样本条件个数;
380、部分预测单元,用于根据m个样本条件值、最大的所述样本关系概率对应的所述样本条件关系及任一所述样本表头表征内容对应的所述样本列表示嵌入向量,生成所述样本条件部分的预测子组成部分。
381、在一个可选的实施方式中,所述部分预测单元具体用于:
382、针对任一所述样本条件值,将组成所述样本条件值的所述样本字符对应的所述样本嵌入向量,与任一所述样本表头表征内容对应的所述样本列表示嵌入向量进行匹配,得到所述样本条件值匹配的所述样本表头表征内容;
383、将所述样本条件值,所述样本条件值匹配的所述样本表头表征内容中的样本表头内容确定为所述样本条件部分的第一预测子组成部分;
384、针对任一所述样本条件值,对组成所述样本条件值的所述样本字符对应的所述样本嵌入向量、所述样本条件值匹配的所述样本表头表征内容对应的所述样本列表示嵌入向量进行分类处理,得到所述样本条件值对应的各样本逻辑运算的样本逻辑概率;
385、选择最大的所述样本逻辑概率,并确定最大的所述样本逻辑概率对应的所述样本逻辑运算;
386、将最大的所述样本逻辑概率对应的所述样本逻辑运算确定为所述样本条件部分的第二预测子组成部分;
387、将最大的所述样本关系概率对应的所述样本条件关系确定为所述样本条件部分的第三预测子组成部分。
388、在一个可选的实施方式中,所述部分预测单元具体用于:
389、对所有所述样本表头表征内容对应的所述样本列表示嵌入向量进行分类处理,得到所述样本条件部分使用每个所述样本表头表征内容的第四样本使用概率;
390、按照所述第四样本使用概率,将组成所述样本条件值的所述样本字符对应的所述样本嵌入向量,与任一所述样本表头表征内容对应的所述样本列表示嵌入向量进行匹配,得到所述样本条件值匹配的所述样本表头表征内容。
391、在本技术实施例的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
392、存储器,用于存放计算机程序;
393、处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的编程语句生成方法。
394、在本技术实施例的第四方面,还提供了一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中任一所述的编程语句生成方法。
395、在本技术实施例的第五方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的编程语句生成方法。
396、本技术实施例提供的技术方案,获取目标表格以及目标表格对应的目标需求表述,并确定目标表格中的目标表格内容,针对初始编程语句的任一初始组成部分,根据目标需求表述以及目标表格内容,生成初始组成部分的子组成部分,对初始组成部分的子组成部分进行拼接,得到目标组成部分,由初始编程语句对应的各个目标组成部分生成目标编程语句。
397、如此通过目标表格对应的目标需求表述及目标表格中的目标表格内容,生成初始编程语句的任一初始组成部分的子组成部分,并进行拼接而后得到初始编程语句的各个目标组成部分,由初始编程语句的各个目标组成部分生成目标编程语句,可以避免词表范围的影响,且生成编程语句的语法正确性、可执行性得到保证。
1.一种编程语句生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标表格中的目标表格内容,包括:
3.根据权利要求2所述的方法,其特征在于,所述针对初始编程语句的任一初始组成部分,根据所述目标需求表述以及所述目标表格内容,生成所述初始组成部分的子组成部分,包括:
4.根据权利要求3所述的方法,其特征在于,所述根据自定义标志以及序列标志,对所述目标需求表述以及所有所述表头表征内容进行拼接,得到拼接结果,包括:
5.根据权利要求3所述的方法,其特征在于,在所述初始组成部分为初始限制部分的情况下,所述根据所述拼接结果中相应的所述组成内容对应的所述嵌入向量,生成所述初始组成部分的子组成部分,包括:
6.根据权利要求3所述的方法,其特征在于,在所述初始组成部分为除初始限制部分之外的其余部分的情况下,所述根据所述拼接结果中相应的所述组成内容对应的所述嵌入向量,生成所述初始组成部分的子组成部分,包括:
7.根据权利要求6所述的方法,其特征在于,在所述初始组成部分为初始选择部分的情况下,所述根据所述拼接结果中相应的所述组成内容对应的所述嵌入向量,及任一所述表头表征内容对应的所述列表示嵌入向量,生成所述初始组成部分的子组成部分,包括:
8.根据权利要求7所述的方法,其特征在于,所述根据前n名的所述第一使用概率,生成所述初始选择部分的子组成部分,包括:
9.根据权利要求6所述的方法,其特征在于,在所述初始组成部分为初始分组部分的情况下,所述根据所述拼接结果中相应的所述组成内容对应的所述嵌入向量,及任一所述表头表征内容对应的所述列表示嵌入向量,生成所述初始组成部分的子组成部分,包括:
10.根据权利要求9所述的方法,其特征在于,所述根据前m名的所述第二使用概率,生成所述初始分组部分的子组成部分,包括:
11.根据权利要求6所述的方法,其特征在于,在所述初始组成部分为初始升降序部分的情况下,所述根据所述拼接结果中相应的所述组成内容对应的所述嵌入向量,及任一所述表头表征内容对应的所述列表示嵌入向量,生成所述初始组成部分的子组成部分,包括:
12.根据权利要求11所述的方法,其特征在于,所述根据前o名的所述第三使用概率及最大的所述升降序概率对应的所述升降序运算,生成所述初始升降序部分的子组成部分,包括:
13.根据权利要求6所述的方法,其特征在于,在所述初始组成部分为初始条件部分的情况下,所述根据所述拼接结果中相应的所述组成内容对应的所述嵌入向量,及任一所述表头表征内容对应的所述列表示嵌入向量,生成所述初始组成部分的子组成部分,包括:
14.根据权利要求13所述的方法,其特征在于,所述根据m个条件值、最大的所述关系概率对应的所述条件关系及任一所述表头表征内容对应的所述列表示嵌入向量,生成所述初始条件部分的子组成部分,包括:
15.根据权利要求14所述的方法,其特征在于,所述将组成所述条件值的所述目标字符对应的所述嵌入向量,与任一所述表头表征内容对应的所述列表示嵌入向量进行匹配,得到所述条件值匹配的所述表头表征内容,包括:
16.根据权利要求3所述的方法,其特征在于,在执行所述方法之前,还包括:
17.一种编程语句生成装置,其特征在于,所述装置包括:
18.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
19.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-16中任一所述的方法。
