CN115454423A - 静态网页的生成方法、生成装置、电子设备及存储介质 - Google Patents
静态网页的生成方法、生成装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115454423A CN115454423A CN202210921418.0A CN202210921418A CN115454423A CN 115454423 A CN115454423 A CN 115454423A CN 202210921418 A CN202210921418 A CN 202210921418A CN 115454423 A CN115454423 A CN 115454423A
- Authority
- CN
- China
- Prior art keywords
- static webpage
- static
- model
- webpage
- natural language
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000003068 static effect Effects 0.000 title claims abstract description 297
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000012549 training Methods 0.000 claims description 56
- 230000015654 memory Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012360 testing method Methods 0.000 claims description 14
- 238000012986 modification Methods 0.000 claims description 9
- 230000004048 modification Effects 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 8
- 230000037430 deletion Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 8
- 230000000694 effects Effects 0.000 claims description 7
- 238000002407 reforming Methods 0.000 claims description 5
- 238000005259 measurement Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 description 14
- 230000018109 developmental process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 6
- 238000003058 natural language processing Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Document Processing Apparatus (AREA)
Abstract
本申请公开了一种静态网页的生成方法、生成装置、电子设备及存储介质。该方法包括:利用预训练的静态网页生成模型处理初始静态网页源代码以及接收到的自然语言文本描述指令,输出静态网页;重复执行将所述静态网页以及新接收到的自然语言文本描述指令输入所述静态网页生成模型中得到更新后的静态网页,直至不再接收到新的自然语言文本描述指令为止,得到最终的静态网页;其中,所述静态网页生成模型为基于Transformer的模型。本申请实施例提供的静态网页的生成方法,能够根据自然语言指令生成静态网页,利用基于Seq2Seq的模型将自然语言指令转换成静态网页,能够快速、低成本地自动生成静态网页,自动化程度高,降低了工作量,提高了工作效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种静态网页的生成方法、生成装置、电子设备及存储介质。
背景技术
在网站开发项目中,前端常通过HTML、CSS、JavaScript等各种技术或框架来创建网页或APP等前端界面,经由网页浏览器读取HTML等文件,即可得到可视化网页,用于用户界面浏览与交互。前端框架的发展与跨平台响应式网页设计的应用给用户带来了的极高的用户体验。现有技术中,静态网页生成过程较为复杂,自动化程度低,专业人员的工作量大,工作效率低。
发明内容
本申请的目的是提供一种静态网页的生成方法、生成装置、电子设备及存储介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
根据本申请实施例的一个方面,提供一种静态网页的生成方法,包括:
利用预训练的静态网页生成模型处理初始静态网页源代码以及接收到的自然语言文本描述指令,输出静态网页;
重复执行将所述静态网页以及新接收到的自然语言文本描述指令输入所述静态网页生成模型中得到更新后的静态网页,直至不再接收到新的自然语言文本描述指令为止,得到最终的静态网页;
其中,所述静态网页生成模型为基于Transformer的模型。
在本申请的一些实施例中,所述将所述静态网页以及新接收到的自然语言文本描述指令输入所述静态网页生成模型中得到更新后的静态网页,包括:
将所述静态网页以及新接收到的自然语言文本描述指令输入所述静态网页生成模型中;
利用所述静态网页生成模型根据所述新接收到的自然语言文本描述指令对所述静态网页的源代码进行新增、删除和/或修改的处理,得到处理后的静态网页;
利用所述处理后的静态网页更新处理之前的静态网页,得到所述更新后的静态网页。
在本申请的一些实施例中,在所述利用训练好的静态网页生成模型处理初始静态网页源代码以及接收到的自然语言文本描述指令之前,所述方法还包括:
获取用于训练初始静态网页生成模型的数据集;
基于Transformer构建序列到序列的初始静态网页生成模型;
利用所述数据集训练所述初始静态网页生成模型直至达到预设训练完成条件,得到所述预训练的静态网页生成模型。
在本申请的一些实施例中,所述获取用于训练初始静态网页生成模型的数据集,包括:
获取多份静态网页源代码,并将每份静态网页源代码拆分为多个区块;
针对所述每份静态网页源代码的多个区块,获取所述每份静态网页源代码的多个区块对应的多个描述指令;
将上述多个区块对应的多个描述指令进行重整,获得新增指令相关的数据集;
在上述数据集基础上添加删除和修改类的自然语言描述指令,并根据指令得到对应的源代码;
利用所有所述对应的数据构成所述数据集。
在本申请的一些实施例中,在所述利用所有所述对应的数据构成所述数据集之后,所述获取用于训练初始静态网页生成模型的数据集,还包括:
对所述数据集中的用于模型输入的文本进行去换行符处理;
在用于模型输入的文本的开始处添加[CLS]符号,在结束处添加[SEP]符号;
设置BERT模型的最大输入文本长度为最大长度;
若所述用于模型输入的文本小于最大长度,则使用[PAD]符号进行padding补齐操作,得到预处理后的用于模型输入的文本。
在本申请的一些实施例中,所述获取用于训练初始静态网页生成模型的数据集,还包括:
将所述数据集按照预设比例随机划分为训练集、测试集以及验证集;
所述训练集用于训练所述初始静态网页生成模型,所述验证集用于验证训练效果,所述测试集用于测试训练后的模型准确率;
其中,所述预设训练完成条件包括所述训练后的模型准确率达到预设准确率阈值。
在本申请的一些实施例中,所述基于Transformer构建序列到序列的初始静态网页生成模型,包括:
基于Transformer构建Text2SWeP模型,采用交叉熵作为损失函数,构建TEDS作为衡量指标,得到所述序列到序列的初始静态网页生成模型;
其中,所述Transformer模型由互相连接的编码器和解码器构成。
根据本申请实施例的另一个方面,提供一种静态网页的生成装置,包括:
初始静态网页源代码处理模块,用于利用预训练的静态网页生成模型处理初始静态网页源代码以及接收到的自然语言文本描述指令,输出静态网页;
静态网页生成模块,用于重复执行将所述静态网页以及新接收到的自然语言文本描述指令输入所述静态网页生成模型中得到更新后的静态网页,直至不再接收到新的自然语言文本描述指令为止,得到最终的静态网页;
其中,所述静态网页生成模型为基于Transformer的模型。
根据本申请实施例的另一个方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述的静态网页的生成方法。
根据本申请实施例的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述的静态网页的生成方法。
本申请实施例的其中一个方面提供的技术方案可以包括以下有益效果:
本申请实施例提供的静态网页的生成方法,能够根据自然语言指令生成静态网页,利用基于Seq2Seq的模型将自然语言指令转换成静态网页,能够快速、低成本地自动生成静态网页,生成静态网页的过程较为简单,自动化程度高,提高了专业人员的开发效率,降低了工作量,提高了工作效率。
本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者,部分特征和优点可以从说明书中推知或毫无疑义地确定,或者通过实施本申请实施例了解。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请的第一个实施例的静态网页的生成方法流程图。
图2示出了本申请的第二个实施例的静态网页的生成方法流程图。
图3示出了本申请的第三个实施例的静态网页的生成方法流程图。
图4示出了本申请的一个示例中的Text2SWeP模型架构图。
图5示出了本申请的一个示例中的静态网页源代码示意图。
图6示出了本申请的一个示例中的静态网页源代码去换行符处理结果示意图。
图7示出了本申请的一个示例中的静态网页源代码与更新指令连接并补齐结果示意图。
图8示出了本申请的一个示例中的静态网页更新示意图。
图9示出了本申请的第四个实施例的静态网页的生成装置结构框图。
图10示出了本申请的第五个实施例的电子设备结构框图。
图11示出了本申请的第六个实施例的计算机可读存储介质示意图。
本申请的目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本申请做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
随着自然语言处理技术的发展与成熟,越来越多的研究探索从给定文本序列到目标文本序列的任务,即Sequence to Sequence任务。Seq2Seq具有高度抽象的特性,可以应用于多种序列化的自然语言处理任务中,如机器翻译、回复生成、语音识别等任务。因根据自然语言生成静态网页可以看作是从原序列到目标序列的过程,故基于深度学习的Seq2Seq模型的出现使得通过自然语言来生成静态网页成可能。在通过自然语言处理技术来将自然语言转换成静态网页,以使非从业人员也可以轻松设计网页,同时提高从业人员的前端开发效率。
本申请实施例提出一种基于Seq2Seq深度学习模型的静态网页生成的方法,用于解决现有技术中非从业人员无法简单设计出网页的问题,同时解决非从业人员在使用现有的一些在线设计网站设计网页时元素或控件有限的情况。除此之外,前端开发的工作量大,原型开发耗时费力,亟需一个可以快速、低成本生成静态网页的方案。故此,本申请实施例主要采用Seq2Seq模型进行训练,使得模型可根据自然语言生成静态网页,利用基于Seq2Seq的自然语言处理技术将自然语言文本转换成静态网页。
本申请实施例针对现有技术中前端开发工作量大、且非专业人士技术入行门槛高的问题,通过自然语言技术,训练一个根据自然语言生成静态网页的模型,并基于此模型提取静态网页源代码特征和对应的自然语言文本描述特征,通过Seq2Seq的模型生成静态网页,并对模型进行应用,利用基于Seq2Seq的自然语言处理技术将自然语言文本转换成静态网页,以提高专业人员的开发效率以及降低非专业人士的入行门槛。以下结合附图和实施例,对本申请实施例做详细说明和介绍,详细的实施步骤如下。
如图1所示,本申请的第一个实施例提供了一种静态网页的生成方法,包括:
S10、利用预训练的静态网页生成模型处理初始静态网页源代码以及接收到的自然语言文本描述指令,输出静态网页。
S20、重复执行将静态网页以及新接收到的自然语言文本描述指令输入静态网页生成模型中得到更新后的静态网页,直至不再接收到新的自然语言文本描述指令为止,得到最终的静态网页;
其中,静态网页生成模型为基于Transformer的模型。
在一些实施方式中,将静态网页以及新接收到的自然语言文本描述指令输入静态网页生成模型中得到更新后的静态网页,包括:
S201、将静态网页以及新接收到的自然语言文本描述指令输入静态网页生成模型中;
S202、利用静态网页生成模型根据新接收到的自然语言文本描述指令对静态网页的源代码进行新增、删除和/或修改的处理,得到处理后的静态网页;
S203、利用处理后的静态网页更新处理之前的静态网页,得到更新后的静态网页。
在一些实施方式中,在S10之前,方法还包括:
获取用于训练初始静态网页生成模型的数据集;
基于Transformer构建序列到序列的初始静态网页生成模型;
利用数据集训练初始静态网页生成模型直至达到预设训练完成条件,得到预训练的静态网页生成模型。
在一些实施方式中,获取用于训练初始静态网页生成模型的数据集,包括:
获取多份静态网页源代码,并将每份静态网页源代码拆分为多个区块;针对所述每份静态网页源代码的多个区块,获取所述每份静态网页源代码的多个区块对应的多个描述指令;将上述多个区块对应的多个描述指令进行重整,获得新增指令相关的数据集;在上述数据集基础上添加删除和修改类的自然语言描述指令,并根据指令得到对应的源代码;利用所有所述对应的数据构成所述数据集。
将上述多个区块对应的多个描述指令进行重整的方式为:
记每份静态网页源代码所拆分得到的N个区块所形成的集合为W,W={w1,w2,...wN},N个区块对应的N条文本描述记为集合T,T={t1,t2,...tN}。
则每份静态网页源代码所形成的数据为,{(t1,w1),(w1+t2,w1+w2),(w1+w2+t3,w1+w2+w3)...,(w1+...+wn-1+tn,w1+...+wn-1+wn)},其中,“+”为字符串拼接,每个“()”内的一笔数据即为输入模型的一笔数据,“()”内“,”前为模型的输入的特征值,“,”后为模型的输入的标签值。
在所述利用所有所述对应的数据构成所述数据集之后,所述获取用于训练初始静态网页生成模型的数据集,还包括:对所述数据集中的用于模型输入的文本进行去换行符处理;在用于模型输入的文本的开始处添加[CLS]符号,在结束处添加[SEP]符号;设置BERT模型的最大输入文本长度为最大长度;若用于模型输入的文本小于最大长度,则使用[PAD]符号进行padding补齐操作,得到预处理后的用于模型输入的文本。
模型输入是指:
每份静态网页源代码所形成的数据为
{(t1,w1),(w1+t2,w1+w2),(w1+w2+t3,w1+w2+w3)...,(w1+...+wn-1+tn,w1+...+wn-1+wn)},其中,“+”为字符串拼接,每个“()”内的一笔数据即为输入模型的一笔数据,“()”内“,”前为模型的输入的特征值,“,”后为模型的输入的标签值。
在一些实施方式中,获取用于训练初始静态网页生成模型的数据集,还包括:将数据集按照预设比例随机划分为训练集、测试集以及验证集;训练集用于训练初始静态网页生成模型,验证集用于验证训练效果,测试集用于测试训练后的模型准确率;其中,预设训练完成条件包括训练后的模型准确率达到预设准确率阈值。
在一些实施方式中,基于Transformer构建序列到序列的初始静态网页生成模型,包括:
基于Transformer构建Text2SWeP模型,采用交叉熵作为损失函数,构建TEDS作为衡量指标,得到序列到序列的初始静态网页生成模型;
其中,Transformer模型由互相连接的编码器和解码器构成。
本申请实施例提供的静态网页的生成方法,能够根据自然语言指令生成静态网页,利用基于Seq2Seq的模型将自然语言指令转换成静态网页,能够快速、低成本地生成静态网页,提高了专业人员的开发效率,降低了工作量,提高了工作效率。
如图2所示,本申请的第二个实施例提供了一种静态网页生成方法,该方法包括:
S1、获取用于训练自然语言生成静态网页的模型的数据集。
在一些实施方式中,步骤S1可以包括:
(1)获取M份静态网页源代码,并将每份静态网页源代码分为N块。
(2)针对每份静态网页源代码的N个区块得到N条新增指令,汇整得到N条与新增指令相关的数据集。并在此基础上模拟修改和删除的指令,更新对应的网页源代码,获得与修改和删除指令相关的数据集。
(3)进行数据预处理,将静态网页进行去换行符处理,并使用[SEP]标签连接人工自然语言描述标注,作为模型的输入。
S2、基于Seq2Seq模型构建用于根据自然语言生成静态网页的模型Text2SWeP。
在一些实施方式中,步骤S2包括:
(1)基于Transformer构建Text2SWeP模型,用于输入静态网页和人工描述指令,输出新生成的静态网页。
(2)对BERT字典进行特殊符号的新增,新增后的BERT字典囊括所有静态网页常用标签,以防止在分词时标签被拆开。
(3)采用交叉熵作为损失函数训练模型,并且构建TEDS作为衡量指标。
S3、基于多轮指令生成静态网页。
在一些实施方式中,步骤S3包括:
(1)在模型推测与应用阶段,首轮的输入为空白的静态网页源代码以及用户自然语言描述指令,输出为根据指令生成的静态网页源代码。
(2)首轮之后的模型输入为前轮生成的静态网页源代码以及新自然语言描述指令,输出为根据新自然语言描述指令更新的静态网页源代码。
(3)自然语言描述指令可包括对静态网页源代码进行新增、删除、修改三类指令,最终获得符合用户要求的静态网页。
本申请实施例提供的静态网页的生成方法,能够根据自然语言指令生成静态网页,利用基于Seq2Seq的模型将自然语言指令转换成静态网页,能够快速、低成本地自动生成静态网页,自动化程度高,提高了专业人员的开发效率,降低了工作量,提高了工作效率。
如图3所示,本申请的第三个实施例提供了一种静态网页的生成方法,包括以下步骤:
步骤S101:获取静态网页的源代码以及对应的自然语言文本描述,收集数据集,并得到训练集。
应当理解,根据自然语言文本描述生成静态网页的需求,静态网页的源代码必须与自然语言文本描述相对应。
因此,本申请实施例需要先获取静态网页的源代码,并通过浏览器读取静态网页的源代码,得到静态网页的呈现效果,最终根据静态网页的呈现来进行准确的人工标注与静态网页对应的自然语言处理文本描述。
在一种可能的实施方式中,获取静态网页的源代码可通过页面抓取技术进行收集,获得M份静态网页数据。
应当理解,为模拟用户的多轮指令,需要对收集到的每一份静态网页源代码进行逐区块拆分,得到N个区块,并获取N个区块对应的N条文本描述。其中,N值大小根据每份静态网页源代码可拆分的区块数而定。
记每份静态网页源代码所拆分得到的N个区块所形成的集合为W,W={w1,w2,...wN},N个区块对应的N条文本描述记为集合T,T={t1,t2,...tN}。
则每份静态网页源代码所形成的数据为,{(t1,w1),(w1+t2,w1+w2),(w1+w2+t3,w1+w2+w3)...,(w1+...+wn-1+tn,w1+...+wn-1+wn)},其中,“+”为字符串拼接,每个“()”内的一笔数据即为输入模型的一笔数据,“()”内“,”前为模型的输入的特征值,“,”后为模型的输入的标签值。
由上述步骤得到M份静态网页源代码所产生的数据集,模拟出实际应用场景中的多轮新增指令。除此之外,还需模拟出实际应用场景中关于删除、修改的指令。针对每份静态网页源代码,在原有的新增指令的基础上,加入多个修改和删除指令,并根据指令更新对应源代码,将此部分数据并入数据集中。使得训练出的模型不仅可以进行网页元素的新增,也可供用户进行删除和修改。
用户的指令为,用户可以在已生成的静态网页的基础上,采用自然语言文本描述的方式表达所需要修改、新增、删除的地方,即提出新的指令,进一步更新静态网页的各类元素。
其中,多轮指用户可多次对已生成静态网页进行更新,以达到最终理想中的呈现效果。
最终,得到M条静态网页源代码分区后的数据集。对数据集进行划分,按照比例随机划分为训练集、测试集、以及验证集。
针对训练集进行数据增强,比如做文本等效描述等操作。最终数据将以批处理的方式输入模型。
步骤S102:构建序列到序列的编解码模型。
该步骤主要在于构建一个Seq2Seq的模型,用于输入用户的多轮指令以及已生成的静态网页代码,并输出生成的静态网页代码。其中,Seq2Seq的模型是一个基于Transformer的模型,模型结构可参照图4所示。
Transformer模型由编码器和解码器构成,编码器由多个区块叠加,一个区块由Multi-Head Attention、Add&Norm、Feed Forward、Add&Norm依序构成。解码器与编码器主要区别在于解码器的区块内多使用一个Encoder-Decoder Attention层。在一个可行的实施例中,Multi-Head Attention的head数量可为12,词向量的维度H为768,Feed Forward的大小设置为4H,即3072。
模型构建后需对数据进行预处理,数据预处理包括:
将已生成的静态网页源代码进行去换行符的处理,得到各个标签首尾相连的静态网页;
将自然语言文本描述指令和已生成的首尾相连的静态网页进行文本层面上的连接,连接时,两者需要使用[SEP]符号进行相连。
在一个可行的实施例中,需要将预处理后的输入自然语言描述标注文本进行分词。首先,在自然语言描述标注的文本开始处添加[CLS]符号,并在结束处添加[SEP]符号。其次,设置BERT模型的最大输入文本长度为最大长度Max Length,若输入文本小于最大长度Max Length,则需要使用[PAD]符号进行padding补齐操作。静态网页源代码的示意图如图5所示,静态网页源代码去换行符处理结果如图6所示,静态网页源代码与更新指令连接并补齐结果示意图如图7所示。
数据预处理后,在BERT模型的字典内添加新的token,囊括静态网页如HTML和CSS的所有标签,如<tr>、</tr>、<style>、</style>等,以免在分词时,标签被拆分开,最终获得更新后的字典,用于后续模型训练。
步骤S103:构造损失函数与衡量指标,训练Seq2Seq模型。
该步骤主要在于将处理后的序列输入模型中进行训练,根据损失函数计算模型误差,不断调整模型训练参数,使模型达到收敛。
在一个可行的实施例中,损失函数可采用交叉熵。
进一步地,使用WordPiecetokenizier对输入文本进行tokenizier得到tokens。
进一步地,使用BERT的嵌入层得到词嵌入,词嵌入由符号嵌入层TokenEmbedding、片段嵌入层Segmentation Embedding、以及位置嵌入层Position Embedding三者组成。
其中,符号嵌入层是将token转换为固定维度的向量。
在一个可行的实施例中,每个token在经过符号嵌入层之后都由一个H维度的向量表示。最终得到一个形状为(Max Length,H)的张量。在一个可行的实施例中,H为词向量的维度768。
其中,片段嵌入层采用两个向量值区分tokens内的两个句子,在tokens的第一个[SEP]标签之前的tokens的片段嵌入值为0,其余为1。最终得到一个形状为(Max Length,H)的张量。
其中,位置嵌入层记录输入文本的顺序属性,位置嵌入层为大小(Max Length,H)的查找表,其中第一行是第一个位置上任意token的向量表示,其余依次类推。将tokens输入position嵌入层,最终得到一个形状为(Max Length,H)的张量。
除此以外,因为进行了padding操作,故还需要使用Mask,对于真正的token,mask为1,对于padding出来的,mask为0。
进一步地,将上述三类嵌入层的输出进行求和,最终得到一个形状为(MaxLength,H)的张量,因模型训练过程采用批处理,设定批次大小为B,则一个batch的输入形状为(B,MaxLength,H)的张量。
将上述形状为(B,MaxLength,H)张量进行线性变换,生成Q、K、V三个新的张量,计算三者的Self-Attention。在一个可行的实施例中,Multi-Head Attention的head数量h为12,每个head的神经元个数为H/h,即为词嵌入的大小,线性变换后得到的Q、K、V为(B,MaxLength,H/h)的张量。
Self-Attention的计算方式为
最终得到形状为(B,h,MaxLength,H/h)的张量。
调整上述Multi-Head Attention层输出的张量维度,并进行多头合并,得到形状为(B,MaxLength,H)的张量。
进一步地,将Multi-Head Attention层得到的形状为(B,MaxLength,H)的张量输入Add&Norm层。其中,Add可选用Residual Connection来将信息无差的传递到下一层,并有效的关注差异的部分。Norm进行对层的激活值的归一化,加速模型收敛,最终得到得到形状为(B,h,MaxLength,H/h)的张量。
进一步地,将Add&Norm层得到的结果输入Feed Forward全连接层和下一个Add&Norm层。
进一步地,在编码完成后输入解码器,与编码器中Self-Attention的区别在于,在解码器做Encoder-Decoder Attention的时候,Q来自解码器,而K,V来自于编码器最后的输出。
进一步地,由解码器获得一个浮点型向量,将该向量输入线性层,并接上一个Softmax层。线性层是一个简单的全连接神经网络,将向量投影到一个更高维度的向量上。Softmax层将向量转换为概率,选择概率最大的一维,并根据索引号得到相应的token后输出,直到预测到最后一个标识符<eos>符号为止。最终获得由解码器生成的静态网页的源代码序列。
进一步地,衡量指标的目的在于衡量解码器输出的静态网页与真实静态网页之间的误差。在一个可行的实施例中,衡量指标可采用TEDS评价指标,其公式为:
步骤S104:根据用户的多轮指令,生成最终的静态网页。
该步骤主要在于对最优的模型进行测试与应用,并根据用户的多轮指令,生成最终的静态网页。
在一个可行的实施例中,针对首轮的模型生成静态网页中,输入模型的数据为空白的静态网页源代码以及用户的首次自然语言描述文本。
进一步地,首轮模型生成得到已生成的静态网页。若用户需要更新静态网页,则将已生成的静态网页与用户的自然语言文本描述再次输入模型中,得到模型输出的更新的静态网页,即完成一轮更新,更新的流程示意图可参阅附图8所示。
重复上述步骤,直至用户不再需要下达更新指令,即得到最终的静态网页。
本申请实施例采用Seq2Seq的深度学习模型,进行Text2SWeP模型训练,最终可基于自然语言生成静态网页,得到可视化的网页效果。
与现有技术相比,其有益效果如下:本申请实施例提出Text2SWeP(Text toStatic Web Page)模型本申请实施例打破非专业人士的技术壁垒,降低网页设计的门槛,使得非专业人士可以在无先验知识的前提下,仅使用自然语言即可设计出客制化的静态网页。非专业人士不再受限于在线设计网站可创建的网页元素或组件有限的情况。除此之外,针对专业人员而言,本申请实施例也可降低其前端开发的工作量,提高开发设计的效率,加速原型设计的速度,减少前端开发的成本。
如图9所示,本申请的第四个实施例提供了一种静态网页的生成装置,包括:
初始静态网页源代码处理模块,用于利用预训练的静态网页生成模型处理初始静态网页源代码以及接收到的自然语言文本描述指令,输出静态网页;
静态网页生成模块,用于重复执行将静态网页以及新接收到的自然语言文本描述指令输入静态网页生成模型中得到更新后的静态网页,直至不再接收到新的自然语言文本描述指令为止,得到最终的静态网页;
其中,静态网页生成模型为基于Transformer的模型。
静态网页生成模块所执行的将静态网页以及新接收到的自然语言文本描述指令输入静态网页生成模型中得到更新后的静态网页,包括:
将静态网页以及新接收到的自然语言文本描述指令输入静态网页生成模型中;
利用静态网页生成模型根据新接收到的自然语言文本描述指令对静态网页的源代码进行新增、删除和/或修改的处理,得到处理后的静态网页;
利用处理后的静态网页更新处理之前的静态网页,得到更新后的静态网页。
在一些实施方式中,装置还包括预训练模块,用于在初始静态网页源代码处理模块利用训练好的静态网页生成模型处理初始静态网页源代码以及接收到的自然语言文本描述指令之前,获取用于训练初始静态网页生成模型的数据集;基于Transformer构建序列到序列的初始静态网页生成模型;利用数据集训练初始静态网页生成模型直至达到预设训练完成条件,得到预训练的静态网页生成模型。
在一些实施方式中,获取用于训练初始静态网页生成模型的数据集,包括:
获取多份静态网页源代码,并将每份静态网页源代码拆分为多个区块;
针对所述每份静态网页源代码的多个区块,获取所述每份静态网页源代码的多个区块对应的多个描述指令;
将上述多个区块对应的多个描述指令进行重整,获得新增指令相关的数据集;
在上述数据集基础上添加删除和修改类的自然语言描述指令,并根据指令得到对应的源代码;
利用所有所述对应的数据构成所述数据集。
在所述利用所有所述对应的数据构成所述数据集之后,所述获取用于训练初始静态网页生成模型的数据集,还包括:
对所述数据集中的用于模型输入的文本进行去换行符处理;
在用于模型输入的文本的开始处添加[CLS]符号,在结束处添加[SEP]符号;
设置BERT模型的最大输入文本长度为最大长度;
若所述用于模型输入的文本小于最大长度,则使用[PAD]符号进行padding补齐操作,得到预处理后的用于模型输入的文本。
在一些实施方式中,获取用于训练初始静态网页生成模型的数据集,还包括:
将数据集按照预设比例随机划分为训练集、测试集以及验证集;
训练集用于训练初始静态网页生成模型,验证集用于验证训练效果,测试集用于测试训练后的模型准确率;
其中,预设训练完成条件包括训练后的模型准确率达到预设准确率阈值。
在一些实施方式中,基于Transformer构建序列到序列的初始静态网页生成模型,包括:
基于Transformer构建Text2SWeP模型,采用交叉熵作为损失函数,构建TEDS作为衡量指标,得到序列到序列的初始静态网页生成模型;
其中,Transformer模型由互相连接的编码器和解码器构成。
本申请实施例提供的静态网页的生成装置,能够根据自然语言指令生成静态网页,利用基于Seq2Seq的模型将自然语言指令转换成静态网页,能够快速、低成本地自动生成静态网页,自动化程度高,提高了专业人员的开发效率,降低了工作量,提高了工作效率。
本申请的第五个实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序,以实现上述任一实施方式的静态网页生成方法。
如图10所示,电子设备10可以包括:处理器100,存储器101,总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接;存储器101中存储有可在处理器100上运行的计算机程序,处理器100运行该计算机程序时执行本申请前述任一实施方式所提供的方法。
其中,存储器101可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还可以包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线102可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。其中,存储器101用于存储程序,处理器100在接收到执行指令后,执行该程序,前述本申请实施例任一实施方式揭示的方法可以应用于处理器100中,或者由处理器100实现。
处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,可以包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请的第六个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述任一实施方式的静态网页生成方法。
本申请实施方式还提供一种与前述实施方式所提供的方法对应的计算机可读存储介质,参考图11所示,其示出的计算机可读存储介质为光盘20,其上存储有计算机程序(即程序产品),该计算机程序在被处理器运行时,会执行前述任意实施方式所提供的方法。
需要说明的是,计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是:
术语“模块”并非意图受限于特定物理形式。取决于具体应用,模块可以实现为硬件、固件、软件和/或其组合。此外,不同的模块可以共享公共组件或甚至由相同组件实现。不同模块之间可以存在或不存在清楚的界限。
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示例一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上实施例仅表达了本申请的实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种静态网页的生成方法,其特征在于,包括:
利用预训练的静态网页生成模型处理初始静态网页源代码以及接收到的自然语言文本描述指令,输出静态网页;
重复执行将所述静态网页以及新接收到的自然语言文本描述指令输入所述静态网页生成模型中得到更新后的静态网页,直至不再接收到新的自然语言文本描述指令为止,得到最终的静态网页;
其中,所述静态网页生成模型为基于Transformer的模型。
2.根据权利要求1所述的方法,其特征在于,所述将所述静态网页以及新接收到的自然语言文本描述指令输入所述静态网页生成模型中得到更新后的静态网页,包括:
将所述静态网页以及新接收到的自然语言文本描述指令输入所述静态网页生成模型中;
利用所述静态网页生成模型根据所述新接收到的自然语言文本描述指令对所述静态网页的源代码进行新增、删除和/或修改的处理,得到处理后的静态网页;
利用所述处理后的静态网页更新处理之前的静态网页,得到所述更新后的静态网页。
3.根据权利要求1所述的方法,其特征在于,在所述利用训练好的静态网页生成模型处理初始静态网页源代码以及接收到的自然语言文本描述指令之前,所述方法还包括:
获取用于训练初始静态网页生成模型的数据集;
基于Transformer构建序列到序列的初始静态网页生成模型;
利用所述数据集训练所述初始静态网页生成模型直至达到预设训练完成条件,得到所述预训练的静态网页生成模型。
4.根据权利要求3所述的方法,其特征在于,所述获取用于训练初始静态网页生成模型的数据集,包括:
获取多份静态网页源代码,并将每份静态网页源代码拆分为多个区块;
针对所述每份静态网页源代码的多个区块,获取所述每份静态网页源代码的多个区块对应的多个描述指令;
将上述多个区块对应的多个描述指令进行重整,获得新增指令相关的数据集;
在上述数据集基础上添加删除和修改类的自然语言描述指令,并根据指令得到对应的源代码;
利用所有所述对应的数据构成所述数据集。
5.根据权利要求4所述的方法,其特征在于,在所述利用所有所述对应的数据构成所述数据集之后,所述获取用于训练初始静态网页生成模型的数据集,还包括:
对所述数据集中的用于模型输入的文本进行去换行符处理;
在用于模型输入的文本的开始处添加[CLS]符号,在结束处添加[SEP]符号;
设置BERT模型的最大输入文本长度为最大长度;
若所述用于模型输入的文本小于最大长度,则使用[PAD]符号进行padding补齐操作,得到预处理后的用于模型输入的文本。
6.根据权利要求4所述的方法,其特征在于,所述获取用于训练初始静态网页生成模型的数据集,还包括:
将所述数据集按照预设比例随机划分为训练集、测试集以及验证集;
所述训练集用于训练所述初始静态网页生成模型,所述验证集用于验证训练效果,所述测试集用于测试训练后的模型准确率;
其中,所述预设训练完成条件包括所述训练后的模型准确率达到预设准确率阈值。
7.根据权利要求3所述的方法,其特征在于,所述基于Transformer构建序列到序列的初始静态网页生成模型,包括:
基于Transformer构建Text2SWeP模型,采用交叉熵作为损失函数,构建TEDS作为衡量指标,得到所述序列到序列的初始静态网页生成模型;
其中,所述Transformer模型由互相连接的编码器和解码器构成。
8.一种静态网页的生成装置,其特征在于,包括:
初始静态网页源代码处理模块,用于利用预训练的静态网页生成模型处理初始静态网页源代码以及接收到的自然语言文本描述指令,输出静态网页;
静态网页生成模块,用于重复执行将所述静态网页以及新接收到的自然语言文本描述指令输入所述静态网页生成模型中得到更新后的静态网页,直至不再接收到新的自然语言文本描述指令为止,得到最终的静态网页;
其中,所述静态网页生成模型为基于Transformer的模型。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以实现如权利要求1-7中任一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210921418.0A CN115454423A (zh) | 2022-08-02 | 2022-08-02 | 静态网页的生成方法、生成装置、电子设备及存储介质 |
PCT/CN2023/092756 WO2024027252A1 (zh) | 2022-08-02 | 2023-05-08 | 静态网页的生成方法、生成装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210921418.0A CN115454423A (zh) | 2022-08-02 | 2022-08-02 | 静态网页的生成方法、生成装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115454423A true CN115454423A (zh) | 2022-12-09 |
Family
ID=84296050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210921418.0A Pending CN115454423A (zh) | 2022-08-02 | 2022-08-02 | 静态网页的生成方法、生成装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115454423A (zh) |
WO (1) | WO2024027252A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024027252A1 (zh) * | 2022-08-02 | 2024-02-08 | 杭州未名信科科技有限公司 | 静态网页的生成方法、生成装置、电子设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2559709A (en) * | 2015-11-03 | 2018-08-15 | Observepoint Inc | Translation of natural language into user interface actions |
US11645467B2 (en) * | 2018-08-06 | 2023-05-09 | Functionize, Inc. | Training a system to perform a task with multiple specific steps given a general natural language command |
CN112558964A (zh) * | 2020-11-27 | 2021-03-26 | 华帝股份有限公司 | 一种网页生成方法、计算机设备及存储介质 |
CN113504906B (zh) * | 2021-05-31 | 2022-06-24 | 贝壳找房(北京)科技有限公司 | 代码生成方法、装置、电子设备及可读存储介质 |
CN114372499A (zh) * | 2021-11-11 | 2022-04-19 | 万里云医疗信息科技(北京)有限公司 | 一种自然语言处理方法、装置、设备和计算机可读存储介质 |
CN115454423A (zh) * | 2022-08-02 | 2022-12-09 | 杭州未名信科科技有限公司 | 静态网页的生成方法、生成装置、电子设备及存储介质 |
-
2022
- 2022-08-02 CN CN202210921418.0A patent/CN115454423A/zh active Pending
-
2023
- 2023-05-08 WO PCT/CN2023/092756 patent/WO2024027252A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024027252A1 (zh) * | 2022-08-02 | 2024-02-08 | 杭州未名信科科技有限公司 | 静态网页的生成方法、生成装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2024027252A1 (zh) | 2024-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112329465B (zh) | 一种命名实体识别方法、装置及计算机可读存储介质 | |
CN111143563A (zh) | 基于bert与lstm及cnn融合的文本分类方法 | |
US20180365594A1 (en) | Systems and methods for generative learning | |
CN114580424B (zh) | 一种用于法律文书的命名实体识别的标注方法和装置 | |
CN110738059A (zh) | 一种文本相似度计算方法及*** | |
CN111243571A (zh) | 文本的处理方法、装置、设备及计算机可读存储介质 | |
CN113836891A (zh) | 基于多元标注策略的结构化信息抽取方法和装置 | |
WO2024027252A1 (zh) | 静态网页的生成方法、生成装置、电子设备及存储介质 | |
CN114647715A (zh) | 一种基于预训练语言模型的实体识别方法 | |
CN114445832A (zh) | 基于全局语义的文字图像识别方法、装置及计算机设备 | |
US11907661B2 (en) | Method and apparatus for sequence labeling on entity text, and non-transitory computer-readable recording medium | |
CN117113937A (zh) | 一种基于大规模语言模型的电力领域阅读理解方法和*** | |
CN110502236B (zh) | 基于多尺度特征解码的前端代码生成方法、***及设备 | |
CN115270792A (zh) | 一种医疗实体识别方法及装置 | |
CN114840680A (zh) | 一种实体关系联合抽取方法、装置、存储介质及终端 | |
CN114638229A (zh) | 笔录数据的实体识别方法、装置、介质及设备 | |
CN112257461A (zh) | 一种基于注意力机制的xml文档翻译及评价方法 | |
CN109582296B (zh) | 一种基于栈增强lstm的程序表示方法 | |
CN117173530B (zh) | 目标异常检测方法及装置 | |
CN111402012B (zh) | 一种基于迁移学习的电商缺陷产品识别方法 | |
CN111274392B (zh) | 一种多频道联合处理方法和装置 | |
CN117710763B (zh) | 图像噪声识别模型训练方法、图像噪声识别方法及装置 | |
CN116662545A (zh) | 一种提取文本中关键信息的方法、装置及电子设备 | |
CN116313121A (zh) | 一种管道式高鲁棒性医学知识图谱标准化构建方法 | |
CN117390156A (zh) | 基于跨模态的问答对话方法、***、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |