CN113515957A - 一种基于bart模型的正则表达式描述生成方法 - Google Patents
一种基于bart模型的正则表达式描述生成方法 Download PDFInfo
- Publication number
- CN113515957A CN113515957A CN202110429680.9A CN202110429680A CN113515957A CN 113515957 A CN113515957 A CN 113515957A CN 202110429680 A CN202110429680 A CN 202110429680A CN 113515957 A CN113515957 A CN 113515957A
- Authority
- CN
- China
- Prior art keywords
- regular expression
- model
- bart
- description
- regular
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本发明提供了一种基于BART模型的正则表达式描述生成方法,包括以下步骤:(1)搜集高质量的正则表达式,对正则表达式人工标注对应的自然语言描述,针对数据进行预处理;(2)将分词输入嵌入层生成最终的特征向量X;(3)改进BART模型。本发明的有益效果为:该方法对输入的正则表达式生成高质量的自然语言描述,从而帮助计算机科学初学者以及开发人员更加快速的理解正则表达式。
Description
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种基于BART模型的正则表达式描述生成方法。
背景技术
在计算机科学领域中,正则表达式是非常重要的概念,通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式可以描述某些匹配的规则,然后用于确定字符串格式或提取字符串内容。可以用于各种操作系统(如Windows、Linux、Macintosh),并且几乎所有的编程语言(如Python、C语言、Java、PHP)都支持它。正则表达式在不同的场景中被广泛使用(如软件开发、软件维护和软件测试),但对于不熟悉正则表达式语法的学生或开发人员来说,理解这些正则表达式的语义时有挑战性的。尤其是对于一些计算机初学者,正则表达式的语义是比较难理解的。如有一种方法可以快速将输入的正则表达式翻译成自然语言文本描述是解决问题的有效途径。
现阶段,极少有工作解决此类问题,已有的相关方法将输入的自然语言描述翻译成对应的正则表达式,而将正则表达式翻译成自然语言描述仍是难题,因此如何解决上述问题为本发明面临的课题。
发明内容
本发明的目的在于提供一种基于BART模型的正则表达式描述生成方法,该方法可以将开发人员输入的正则表达式翻译成易懂的自然语言描述。
本发明的思想为:本发明提出基于深度学习的正则表达式自然语言描述生成方法,将正则表达式作为文本输入,借助改进后的BART模型来构建机器翻译模型,本发明提出的方法翻译的文本描述质量要比使用其余深度学习模型(例如Transformer,Bert)的方法好。
本发明是通过如下措施实现的:一种基于BART模型的正则表达式描述生成方法,其中,包括以下步骤:
(1)搜集高质量的正则表达式,并对搜集到的正则表达式进行人工标注得到其对应的自然语言描述,生成最终的数据集D,设定数据集D的格式为<正则表达式,自然语言描述>,数据集D中包括10000对高质量的正则表达式和相应的自然语言描述。
(2)使用字节级的BBPE分词(Byte-Level BPE)对正则表达式当成文本进行分词,使用字节级BBPE对正则表达式进行分词可以有效解决OOV(out-of-vocabulary),且由于正则表达式中含有大量特殊字符,使用字节级BBPE分词可以较好的解决分词问题,从而使得BART模型可以分词更好的学习分词的语义;
(3)将分词输入BART模型的嵌入层将分词转换成特征向量,具体包括如下步骤;
(3-1)模型通过词嵌入来生成原始特征向量Word Embedding;
(3-2)通过位置编码学习分词在句子中的位置关系,生成位置向量PositionEmbedding;
(3-3)通过语义编码学习相邻两个句子之间的语义关系向量Segment Embedding,最后将上述三个向量相加生成最终的特征向量X,即X=Position Embedding+SegmentEmbedding+Word Embedding;
(4)对BART模型进行改进,得到具体的正则表达式描述生成模型,具体包括如下改进步骤:
(4-1)本发明使用Norm-Attention机制代替了原始BART模型中的Self-Attention机制,这种注意力机制可以使得softmax函数在不牺牲表达式的情况下不容易发生任意饱和,从而在资源较少的情况下仍能保证BART模型生成自然语言描述的质量;
(4-2)在softmax函数之后的生成部分我们增加了Beam Search束搜索算法,使用Beam Search束搜索算法可以改善生成的自然语言描述质量低下的问题;
(5)按照8:1:1的比例将数据集划分成训练集,验证集和测试集,使用划分的训练集对构建的基于改进BART模型进行训练,得到正则表达式描述生成模型:
所述正则表达式描述生成模型的参数设置如下:
所述正则表达式描述生成模型的dropout设置为0.1;
所述正则表达式描述生成模型的激活函数设置为gelu;
所述正则表达式描述生成模型的attention-heads设置为16;
所述正则表达式描述生成模型的词嵌入维度设置为1024;
所述正则表达式描述生成模型的隐藏层层数设置为12;
所述正则表达式描述生成模型的vocab_size设置为50265;
所述正则表达式描述生成模型的编码器-解码器层数设置为12。
与现有技术相比,本发明的有益效果为:本发明提出的一种基于BART模型的正则表达式描述生成方法通过改进BART模型来构建正则表达式描述生成模型,使用新提出的Norm-Attention机制代替原BART模型中的Self-Attention机制,并且增加了BeamSearch束搜索算法来改善了翻译的自然语言描述质量低下的问题。因此本发明的方法在性能上是可观的,翻译生成的自然语言描述经过各项指标衡量证明可以高质量的解释正则表达式含义,从而帮助计算机理论初学者更好的学习正则表达式。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
图1为本发明提供的一种基于BART模型的正则表达式描述生成方法的系统框架图。
图2为本发明提供的方法中的嵌入层的流程图。
图3为本发明提供的方法的编码器的结构图。
图4为本发明使用的Norm-Attention机制的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。当然,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例1
参照图1所示的一种基于BART模型的正则表达式描述生成方法,具体包括以下内容:
(1)搜集高质量的正则表达式并通过人工标注的方式对其添加对应的自然语言描述,该数据集中包括10000对正则表达式和相应的自然语言描述,表1显示了数据集中正则表达式的长度统计信息,表2显示了数据集中正则表达式对应的自然语言描述长度的统计信息。
表1
表2
(2)使用字节级的BBPE(Byte-Level BPE)算法对正则表达式进行分词,原正则表达式为“(([0-9])+).*(dog).*”,分词后的结果为“((”“[”“0”“.”“9”“])”“*”“).”“(”“dog”“).”“*”,使用字节级BBPE算法可以有效解决OOV问题且分词效果好;
(3)如图2所示,经过嵌入层将输入的分词转换成对应的特征向量X,特征向量的公式如下:
特征向量X=Position Embedding+Segment Embedding+Word Embedding;
(4)将数据集按照8:1:1的比例将数据集划分成训练集、验证集和测试集,在这里训练集用于训练和微调模型,验证集用于执行模型优化,测试集用于评估所构建的模型的性能。
(5)对BART模型进行改进,使用Norm-Attention替代编码器和解码器中原来的Self-Attention,编码器的结构如图3所示;在softmax函数之后的生成部分我们增加了Beam Search束搜索算法,Beam Search束搜索算法搜索一次可以考虑多个结果,因此可以得到比其他搜索算法更好的输出结果;
(6)基于上述构建的数据集,对构建的基于改进BART模型进行训练,得到正则表达式描述生成模型:
所述正则表达式描述生成模型的参数设置如下:
所述正则表达式描述生成模型的dropout设置为0.1;
所述正则表达式描述生成模型的激活函数设置为gelu;
所述正则表达式描述生成模型的attention-heads设置为16;
所述正则表达式描述生成模型的词嵌入维度设置为1024;
所述正则表达式描述生成模型的隐藏层层数设置为12;
所述正则表达式描述生成模型的vocab_size设置为50265;
(7)将步骤(4)中训练生成的特征向量X输入进步骤(6)的正则表达式描述生成模型中,对正则表达式进行自然语言描述生成,使用BLEU,METEOR,ROUGE-L,CIDEr四种指标对翻译的结果进行衡量:
表3基于四种指标的实验结果
经实验表明,本发明所提出的基于BART模型的正则表达式描述生成方法和其余使用Transformer、Bert模型构建的自然语言描述生成模型相比,在各项指标上均为最佳。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于BART模型的正则表达式描述生成方法,其特征在于,所述包括以下步骤:
(1)搜集高质量正则表达式,并对搜集到的正则表达式进行人工标注得到其对应的自然语言描述,最终生成数据集D,设定数据集D内每个实例的格式为<正则表达式,自然语言描述>;
(2)使用基于字节级的BBPE分词(Byte-Level Byte Pair Encoding)方法对数据集D中的正则表达式进行分词,从而使得BART模型可以根据分词更好的学习语义;
(3)将数据集D进一步细分为为训练集和验证集,首先基于训练集,基于BART模型训练出初始模型,随后基于验证集对初始模型进行进一步微调,最终构建出基于BART模型的正则表达式的描述生成模型;
该模型的参数设置如下:
所述正则表达式描述生成模型的Dropout设置为0.1;
所述正则表达式描述生成模型的激活函数设置为gelu函数;
所述正则表达式描述生成模型的attention-heads设置为16;
所述正则表达式描述生成模型的词嵌入维度设置为1024;
所述正则表达式描述生成模型的隐藏层层数设置为12;
所述正则表达式描述生成模型的词表大小设置为50265;
所述正则表达式描述生成模型的编码器-解码器层数设置为12;
(4)将一个新的正则表达式,输入到训练好的正则表达式的描述生成模型,即可生成对应的高质量文本描述,该描述可以辅助开发人员对正则表达式含义的理解;具体内容为:将正则表达式分词后,输入到模型的编码器中学习上下文信息向量,然后输入到模型解码器中进行解码,并使用softmax函数获取每个单词生成的概率,最后利用Beam Search搜索算法生成最终的文本描述。
2.根据权利要求1所述的基于BART模型的正则表达式描述生成方法,其特征在于,所述步骤(1)中搜集高质量的正则表达式,其长度为20至50,人工标注的自然语言描述,其长度也在20至50。
3.根据权利要求1所述的基于BART模型的正则表达式描述生成方法,其特征在于,所述步骤(2)中对正则表达式使用BBPE(Byte-LevelBytePairEncoding)分词方法,将数据集的正则表达式进行分词,BBPE在分词上将正则表达式拆分为字节序列,并在末尾添加后缀“</w>”。
4.根据权利要求1所述的基于BART模型的正则表达式描述生成方法,其特征在于,所述步骤(3)中基于BART模型训练出初始模型,针对正则表达式描述生成问题,使用Norm-Attention机制代替了原始BART模型中编码器和解码器中使用的Self-Attention机制,Norm-Attention机制将归一化技术应用在原有Attention机制中的Q和K上,Qnor和Knor表示归一化的Q和K,则Norm-Attention公式可以表达为:Norm-Attention(Q,K,V)=softmax(g*QnorKnor T)V,其中V是原有Attention机制中的value参数矩阵,Norm-Attention机制可以保证BART模型在资源较少的情况下仍能将正则表达式翻译成高质量的自然语言描述。
5.根据权利要求1所述的基于BART模型的正则表达式描述生成方法,其特征在于,所述步骤(3)对BART初始模型进行进一步的微调,模型对分词的嵌入得到特征向量WordEmbedding,通过词嵌入学习单词之间的关系向量,通过分词的位置编码(PositionEncoding)学习位置关系向量Position Embedding,通过学习分段编码(SegmentEncoding)学习相邻两个句子的语义关系向量Segment Embedding,将三个学习的向量相加得到最终代码片段的特征向量X,即表示为:特征向量X=Position Embedding+SegmentEmbedding+Word Embedding。
6.根据权利要求1所述的基于BART模型的正则表达式描述生成方法,其特征在于,所述步骤(4)中在softmax函数之后加入Beam Search束搜索算法,搜索算法在预测的每一步保留Top-k高概率的词作为下一次的输入,其中k是beam size表示束宽,第一个时间步长,选取当前条件概率最大的k个词,当做候选输出序列的第一个词,之后的每个时间步长,基于上个步长的输出序列,挑选出所有组合中条件概率最大的k个,作为该时间步长下的候选输出序列,始终保持k个候选,最后从k个候选中挑出最优的。
7.根据权要求1中所述的基于BART模型的正则表达式描述生成方法,其特征在于,所述步骤(4)中对BART模型微调时,将处理后的数据集按照8:1:1的比例成训练集、验证集和测试集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110429680.9A CN113515957B (zh) | 2021-04-21 | 2021-04-21 | 一种基于bart模型的正则表达式描述生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110429680.9A CN113515957B (zh) | 2021-04-21 | 2021-04-21 | 一种基于bart模型的正则表达式描述生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113515957A true CN113515957A (zh) | 2021-10-19 |
CN113515957B CN113515957B (zh) | 2023-09-19 |
Family
ID=78062598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110429680.9A Active CN113515957B (zh) | 2021-04-21 | 2021-04-21 | 一种基于bart模型的正则表达式描述生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113515957B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190156178A1 (en) * | 2017-11-22 | 2019-05-23 | Massachusetts Institute Of Technology | Systems and methods for optimization of a data model network architecture for target deployment |
CN110569508A (zh) * | 2019-09-10 | 2019-12-13 | 重庆邮电大学 | 融合词性和自注意力机制的情感倾向性分类方法及系统 |
CN110909160A (zh) * | 2019-10-11 | 2020-03-24 | 平安科技(深圳)有限公司 | 正则表达式生成方法、服务器及计算机可读存储介质 |
CN110909864A (zh) * | 2019-10-22 | 2020-03-24 | 北京大学 | 一种结合正则表达式和神经网络的自然语言任务处理方法和装置 |
CN111612103A (zh) * | 2020-06-23 | 2020-09-01 | 中国人民解放军国防科技大学 | 结合抽象语义表示的图像描述生成方法、系统及介质 |
CN112085985A (zh) * | 2020-08-20 | 2020-12-15 | 安徽七天教育科技有限公司 | 一种面向英语考试翻译题目的学生答案自动评分方法 |
-
2021
- 2021-04-21 CN CN202110429680.9A patent/CN113515957B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190156178A1 (en) * | 2017-11-22 | 2019-05-23 | Massachusetts Institute Of Technology | Systems and methods for optimization of a data model network architecture for target deployment |
CN110569508A (zh) * | 2019-09-10 | 2019-12-13 | 重庆邮电大学 | 融合词性和自注意力机制的情感倾向性分类方法及系统 |
CN110909160A (zh) * | 2019-10-11 | 2020-03-24 | 平安科技(深圳)有限公司 | 正则表达式生成方法、服务器及计算机可读存储介质 |
CN110909864A (zh) * | 2019-10-22 | 2020-03-24 | 北京大学 | 一种结合正则表达式和神经网络的自然语言任务处理方法和装置 |
CN111612103A (zh) * | 2020-06-23 | 2020-09-01 | 中国人民解放军国防科技大学 | 结合抽象语义表示的图像描述生成方法、系统及介质 |
CN112085985A (zh) * | 2020-08-20 | 2020-12-15 | 安徽七天教育科技有限公司 | 一种面向英语考试翻译题目的学生答案自动评分方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113515957B (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489555B (zh) | 一种结合类词信息的语言模型预训练方法 | |
CN110532554B (zh) | 一种中文摘要生成方法、系统及存储介质 | |
CN109359297B (zh) | 一种关系抽取方法及系统 | |
CN110442880B (zh) | 一种机器翻译译文的翻译方法、装置及存储介质 | |
CN111341293B (zh) | 一种文本语音的前端转换方法、装置、设备和存储介质 | |
CN112580373A (zh) | 一种高质量蒙汉无监督神经机器翻译方法 | |
CN114757184B (zh) | 实现航空领域知识问答的方法和系统 | |
CN114662476A (zh) | 一种融合词典与字符特征的字符序列识别方法 | |
CN115238045A (zh) | 一种生成式事件论元抽取方法、系统及存储介质 | |
CN115114940A (zh) | 一种基于课程化预训练的机器翻译风格的迁移方法和系统 | |
CN113204978B (zh) | 一种机器翻译增强训练方法及系统 | |
Ma et al. | Multi-teacher knowledge distillation for end-to-end text image machine translation | |
CN112633007B (zh) | 一种语义理解模型构建方法及装置、语义理解方法及装置 | |
CN116187324B (zh) | 为源语言的长文本生成跨语言摘要的方法、系统及介质 | |
CN115860015B (zh) | 一种基于翻译记忆的转写文本翻译方法和计算机设备 | |
CN113515957B (zh) | 一种基于bart模型的正则表达式描述生成方法 | |
CN115906854A (zh) | 一种基于多级对抗的跨语言命名实体识别模型训练方法 | |
CN115906879A (zh) | 一种垂直领域的翻译模型训练方法和存储介质 | |
CN112989845B (zh) | 一种基于路由算法的篇章级神经机器翻译方法及系统 | |
CN114692596A (zh) | 基于深度学习算法的债券信息解析方法、装置及电子设备 | |
CN113673247A (zh) | 基于深度学习的实体识别方法、装置、介质及电子设备 | |
CN112380882A (zh) | 一种具有误差修正功能的蒙汉神经机器翻译方法 | |
CN113591494B (zh) | 一种基于多粒度语义对齐的多语言通用翻译方法 | |
CN114610852B (zh) | 一种基于课程学习的细粒度中文句法分析方法及装置 | |
CN114676709B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |