CN116610311B - 一种低代码模版自动挖掘与复用的方法及系统 - Google Patents
一种低代码模版自动挖掘与复用的方法及系统 Download PDFInfo
- Publication number
- CN116610311B CN116610311B CN202310899398.6A CN202310899398A CN116610311B CN 116610311 B CN116610311 B CN 116610311B CN 202310899398 A CN202310899398 A CN 202310899398A CN 116610311 B CN116610311 B CN 116610311B
- Authority
- CN
- China
- Prior art keywords
- template
- code
- recommendation
- user
- templates
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000005065 mining Methods 0.000 claims abstract description 17
- 238000002372 labelling Methods 0.000 claims description 45
- 238000012549 training Methods 0.000 claims description 39
- 230000006399 behavior Effects 0.000 claims description 26
- 230000003993 interaction Effects 0.000 claims description 22
- 239000012634 fragment Substances 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 7
- 238000012937 correction Methods 0.000 claims description 6
- 230000014509 gene expression Effects 0.000 claims description 6
- 238000009412 basement excavation Methods 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 9
- 230000006870 function Effects 0.000 abstract description 9
- 230000000694 effects Effects 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
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/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种低代码模版自动挖掘与复用的方法及系统,涉及计算机软件信息技术领域,解决现有低代码模版在应用过中存在无法实现自动化与大规模、无法准确理解模版的场景与功能以及无法判断模版的实际适用场景,最终导致推荐效果差等问题,本发明利用自动化标注技术采用深度学习算法训练标注模型,使用基于ALBERT与TextCNN的多标签文本分类技术进行代码模版标注模型训练,生成的分类标注模型的分类准确率高、推理速度块,从而实现规模化的模版分类标注,通过使用人工智能技术实现自动化标注,以及基于模版的深度理解与推荐,实现了更智能与高效的代码模版管理与重用方式。减少重复劳动,提高开发效率。
Description
技术领域
本发明涉及计算机软件信息技术领域,具体涉及一种低代码模版自动挖掘与复用的方法、系统、设备及存储介质。
背景技术
目前,由于低代码模版自动挖掘与复用技术可以提高低代码开发效率,因此,被广泛应用。但在实际应用过程中,采用下述方式实现的同时也带来了诸多的问题:
一、模版标注依赖人工代码模版,标注过程依赖人工分类与标签的输入,这样则需要投入一定人力,由于采用人工标注的方式导致标注结果的准确性直接影响后续的推荐效果。如果标注不够准确详细,会影响推荐的精准性。
二、模版推荐难以高度智能化虽然可以利用开发者使用反馈不断优化推荐算法,但要达到极高的人工智能水平,实现开发者个性化精准推荐,难度还是比较大的,部分场景下推荐结果不一定完全符合开发者需求。
三、兼容性问题不同的代码模版可能使用不同的技术栈与框架,这可能导致推荐系统推荐的模版无法完全兼容,需要开发者进行额外工作使其协同工作,会增加开发难度。
四、模版维护成本代码模版库不断增加新模版后,对模版进行管理、维护与升级也需要投入一定成本,需要平台持续跟进各技术栈与框架的变化来更新模版,这样对于平台来说也增加了一定的负担。
五、模版可重用性难以保证,即:并非所有的代码片段或项目都具有很强的可重用性,有些模版的适用场景比较狭窄。如果推荐给不适用场景,开发者需要额外工作修改与重构,这会增加工作量,影响开发效率。
综上,对于上述现有实现技术的实现方式来说,对代码模版的管理与挖掘主要通过手动标注与分类、基于源码分析挖掘模版以及基于开发者行为挖掘优质模版等方式实现,手动标注与分类:开发者手动对代码模版进行详细标注与分类,然后在标注信息的帮助下进行搜索与过滤。这需要投入大量人工成本与时间,无法实现自动化与大规模。
基于源码分析挖掘模版:通过分析源码之间的相似度与结构,实现自动挖掘代码模版。但是无法准确理解模版的实际场景与功能,导致推荐效果不佳。
基于开发者行为挖掘优质模版:通过分析开发者使用与下载行为,判断代码模版的影响力与活跃度,但是也无法判断模版的实际适用场景,推荐结果片面。
因此,亟需研发一种低代码模版自动挖掘与复用的方法及系统。
发明内容
本发明为解决现有低代码模版在应用过中存在无法实现自动化与大规模、无法准确理解模版的场景与功能以及无法判断模版的实际适用场景,最终导致推荐效果差等问题,提供一种低代码模版自动挖掘与复用的方法及系统。
一种低代码模版自动挖掘与复用的方法,该方法由以下步骤实现:
步骤一、获取代码片段形成代码文件,将所述代码文件与低代码平台用户生成的代码模版构建低代码平台的代码模版库;
步骤二、设置标注规则,采用正则表达式提取所述代码模版库的代码中的注释和元数据信息作为标签,并通过人工标注和内容矫正,生成分类训练数据;
步骤三、根据步骤二获得的分类训练数据,采用基于ALBERT和TextCNN的网络进行模版内容的多标签分类训练,迭代多次后生成模版分类标注模型;
步骤四、采用步骤三生成的模版分类标注模型进行规模化模版标注,实现代码模版自动分类标注;
步骤五、更新所述代码模版库中的模版数量以及模版标签,并记录用户与所述代码模版之间的交互信息;
步骤六、将步骤五记录的交互信息、模版标注的标签信息以及用户信息生成推荐系统的训练数据集;
采用基于Transformer的推荐模型进行代码模版推荐训练,迭代多次后生成所述代码模版推荐模型;
步骤七、用户采用步骤六生成的代码模版推荐模型输入检索信息,通过所述代码模版推荐模型生成用户推荐列表,并使用基于listwise的排序算法更新所述用户推荐列表。
本发明还提供一种低代码模版自动挖掘与复用的系统,该系统包括代码抓取模块、模版标注模块、模版训练及更新模块、行为交互模块、推荐系统生成模块以及推荐列表更新模块;
所述代码抓取模块,用于获取代码片段,并形成代码文件;将所述代码文件与低代码平台用户生成的代码模版构建低代码平台的代码模版库;
所述模版标注模块:采用人工模版标注的方式,通过设置具体的标注规则,辅以正则表达式提取代码中的注释和元数据信息作为标签,最后通过人工标注和内容矫正,生成分类训练数据;
所述模版训练及更新模块:使用基于ALBERT和TextCNN网络方法进行模版内容的多标签分类训练,迭代多次后获取模版分类标注模型;通过生成的模版分类标注模型进行规模化模版标注;并更新模版库中的模版数量以及模版标签;
所述行为交互模块:记录用户与代码模版之间的交互行为,包括不限于代码模版修改、代码模版浏览、代码模版使用、代码模版打分等,生成数据文件并保存;
通过用户与模版行为交互,与模版标注的标签信息和用户信息生成推荐系统的训练数据集;
所述推荐系统生成模块:使用基于Transformer的推荐模型进行模版推荐训练,迭代多次后生成模版推荐模型;
所述推荐列表更新模块:用户向所述模版推荐模型输入检索信息,生成推荐列表,采用基于列表法的排序算法更新推荐列表。
本发明还提供一种电子设备,包括存储器和处理器;
所述存储器,用于存储可执行指令;
所述处理器,用于执行所述存储器中存储的可执行指令时,实现所述低代码模版自动挖掘与复用的方法。
本发明还提供一种存储介质,存储有可执行指令,用于被处理器执行时,实现所述低代码模版自动挖掘与复用的方法。
本发明的有益效果:
一、本发明方法中,采用深度学习模型进行自动标注代替手动分类,实现模版标注自动化,大幅降低人工成本。
二、本发明方法包括模版的功能、技术、适用度等信息,实现基于需求进行推荐,而不仅局限于源码或开发者行为分析。
三、本发明方法中,利用自动化标注技术采用深度学习算法训练标注模型,使用基于ALBERT(A Lite Bert:精简的基于注意力机制的编解码模型(Transformer)的双向编码预训练模型)和文本卷积网络(TextCNN)的多标签文本分类技术进行代码模版标注模型训练,生成的分类标注模型的分类准确率高、推理速度块,从而实现规模化的模版分类标注,包含海量的高质量标注信息,这也是实现高质量推荐的基础。
四、本发明方法中,使用基于Transformer注意力模型构建的推荐系统,能够动态学习不同开发者与代码模版间标注信息的行为关系,通过列表法(Listwise Approach)对生成的推荐模版列表进行学习优化,可根据开发者输入的场景描述与要求,快速精准地对开发者进行个性化代码模版推荐。
五、本发明方法中,通过在推荐模型中引入Transformer注意力机制,建立开发者与场景之间的对应关系,挖掘不同开发者在应用模版时的使用偏好,进行个性化推荐。本发明使用自动化技术实现了大规模代码模版标注,并基于此实现高质量的模版推荐与重用。通过标注信息实现了对模版的深入理解与描述,远超源码或行为分析方法。个性化推荐与排序也体现了其推荐效果的提升。
六、本发明方法中,通过使用人工智能技术实现自动化标注,以及基于模版的深度理解与推荐,实现了更智能与高效的代码模版管理与重用方式。通过建立标注丰富的代码模版库,实现模版之间的关联与推荐,帮助开发者快速找到适用的代码模版,减少重复劳动,提高开发效率。
附图说明
图1为本发明所述的一种低代码模版自动挖掘与复用的方法的流程图。
图2为本发明所述的一种低代码模版自动挖掘与复用的系统的原理框图。
具体实施方式
具体实施方式一、结合图1说明本实施方式,一种低代码模版自动挖掘与复用的方法,该方法由以下步骤实现:
一、代码片段抓取:通过爬虫或Git配套的API接口进行代码片段及模版的抓取,抓取后的数据存在本地文件中;
通过爬虫或Git配套的API接口进行代码模版的抓取,抓取后的数据存储在本地文件中。本实施方式中,收集不同开发者编写的代码片段与应用模版,建立代码模版库。可以从Github等开源库中抓取,也可以从低代码平台上开发者编写并发布的代码中抽取。
二、代码模版库:通过抓取获得的代码文件与低代码平台用户生成的代码模版共同构成低代码平台的基础代码模版库。
三、人工模版标注:通过设置具体的标注规则,辅以正则表达式提取代码中的注释和元数据信息作为标签,最后通过人工标注和内容矫正,生成分类训练数据。
四、模版标注模型训练:使用基于ALBERT和TextCNN的网络方法进行模版内容的多标签分类训练,迭代多次后获取稳定的、准确率高的模版分类标注模型。
五、代码模版自动分类标注:通过生成的模版分类标注模型进行规模化模版标注(即:将人工模板标注生成分类训练数据,经过模板分类标注模型训练),实现代码模版自动分类标注;
对代码模版库中的模版进行标注,包括:所属场景:如移动端页面开发、Web管理后台开发、桌面应用开发等;实现功能:如数据展示、表单提交、业务流程等;技术栈:如React、Vue、Java 等;其它元数据:开发者、日期、评分等。
六、更新代码模版库:持续更新模版库中的模版数量以及模版标注的标签信息;
七、用户模版行为交互:记录用户与代码模版之间的交互行为,包括不限于代码模版修改、代码模版浏览、代码模版使用、代码模版打分等,生成数据文件并保存;
八、推荐系统训练数据集:通过用户模版行为交互,与模版标注的标签信息和用户信息生成推荐系统的训练数据集;
九、训练推荐系统:使用基于Transformer的推荐模型进行模版推荐训练,迭代多次后生成稳定、高准确率、高覆盖率的代码模版推荐模型。
本实施方式中,基于Transformer的推荐模型是一种机器学习模型,用于推荐系统中的个性化推荐。该模型基于注意力机制进行构建,可以学习用户的历史行为和偏好,从而预测用户可能感兴趣的物品或内容,并向用户推荐相关的物品或内容。在代码模版推荐中,该模型可以通过注意力机制学习用户的代码需求和偏好,从而预测用户可能需要的代码模版,并向用户推荐相关的代码模版。因此,所述代码模版推荐模型代表了一个能够根据用户的需求和偏好,自动推荐相关代码模版的机器学习模型。十、用户检索生成推荐列表:用户输入检索信息,通过模型生成推荐列表,并使用基于listwise的排序算法持续更新推荐列表,提高推荐准确率。
本实施方式中,开发者在低代码平台上开发应用时,平台可以根据目前开发者编写的代码、选用的技术栈与框架等信息推荐匹配的代码模版。开发者可以选择使用推荐的模版,减少重复劳动,提高开发效率。
当开发者使用某个代码模版修改或补充其功能后,如果开发者允许,低代码平台可以提取开发者的增强版模版,加入到代码模版库中,不断丰富模版数量与提高模版质量,形成正反馈。
本实施方式中,低代码平台还可以开放代码模版库,允许开发者直接在库中查找并使用需要的模版,并对模版进行评分,提供更精准的推荐,不断优化推荐算法与机制。
本实施方式中,根据场景与功能为中心建立代码模版之间的关联,实现模版推荐的场景化与个性化。开发者选择某一场景或某些功能,低代码平台可以推荐包含相关场景与功能的代码模版组合,快速搭建应用原型或框架。
具体实施方式二、结合图2说明本实施方式,一种低代码模版自动挖掘与复用的系统,该系统用于实现具体实施方式一所述的方法,该系统包括代码抓取模块、模版标注模块、模版训练及更新模块、行为交互模块、推荐系统生成模块以及推荐列表更新模块;
所述代码抓取模块,用于获取代码片段,并形成代码文件;将所述代码文件与低代码平台用户生成的代码模版构建低代码平台的代码模版库;
所述模版标注模块:采用人工模版标注的方式,通过设置具体的标注规则,辅以正则表达式提取代码中的注释和元数据信息作为标签,最后通过人工标注和内容矫正,生成分类训练数据;
所述模版训练及更新模块:使用基于ALBERT和TextCNN的网络方法进行模版内容的多标签分类训练,迭代多次后获取模版分类标注模型;通过生成的模版分类标注模型进行规模化模版标注;并更新模版库中的模版数量以及模版标签;
所述行为交互模块:记录用户与代码模版之间的交互行为,包括不限于代码模版修改、代码模版浏览、代码模版使用、代码模版打分等,生成数据文件并保存;
通过用户与模版行为交互,与模版标注的标签信息和用户信息生成推荐系统的训练数据集;
所述推荐系统生成模块:使用基于Transformer的推荐模型进行模版推荐训练,迭代多次后生成代码模版推荐模型;
所述推荐列表更新模块:用户向所述模版推荐模型输入检索信息,生成推荐列表,采用基于listwise的排序算法更新推荐列表,提高推荐准确率。
本实施方式所述的系统中,具备下述优势:
1、实现自动化与大规模采用人工智能技术实现模版的自动化标注与推荐,可处理海量模版,大幅提高效率,超越人工分类与标注的限制。
2、标注维度更加全面与准确,考虑代码结构、注释、依赖等更加全面的标注维度,生成准确的标注内容,避免人工遗漏或误判。
3、个性化与定制化根据开发者的技能与场景,为其定制个性化的模版推荐,超越基于流行度与热度的推荐机制。
4、模版推荐不仅考虑源码相似度,而是基于模版的真实使用场景与目的进行推荐,实现更为准确的推荐效果。
5、持续优化算法可以根据评估反馈进行持续优化与迭代,不断提高推荐质量。而人工推荐结果一经产出即固定,难以再进行优化。
6、标准化与一致性遵循预定义的标准与规则,最大限度确保不同模版之间标注与推荐的一致性,减少人工习惯引入的偏差。
7、降低使用门槛无需专业的人工分类与标注技能,由算法自动生成标注与推荐规则,使用门槛显著降低。
8、持续丰富标注内容随着模版数量的增加,人工无法保证标注的及时更新,而算法可以随时解析新添加的模版,更新标注内容,保证其时效性。
具体实施方式三、本实施方式提供一种设备,该设备包括存储器、处理器和通信接口,该存储器、处理器和通信接口相互之间直接或间接地电连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电连接。
存储器可用于存储软件程序及模块,如具体实施方式二所述的系统的模块,可以软件或固件(firmware)的形式存储于存储器中或固化在设备的操作系统(operatingsystem,OS)中,处理器通过执行存储在存储器内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口可用于与其他节点设备进行信令或数据的通信。
其中,存储器可以是但不限于,随机存取存储器(Random Access Memory,
RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead- OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory, EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory, EEPROM)等。
处理器可以是一种集成电路芯片,具有信号处理能力。该处理器可以是通用处理器 ,包括中央处理器 ( CentralProcessingUnit,CPU) 、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,15DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
具体实施方式四、本实施方式提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现具体实施方式一所述的方法。该计算机可读存储介质可以是,但不限于,U盘、移动硬盘、ROM、RAM、PROM、EPROM、EEPROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上只通过说明的方式描述了本发明的某些示范性实施例,毋庸置疑,对于本领域的普通技术人员,在不偏离本发明的精神和范围的情况下,可以用各种不同的方式对所描述的实施例进行修正。因此,上述附图和描述在本质上是说明性的,不应理解为对本发明权利要求保护范围的限制。
Claims (4)
1.一种低代码模版自动挖掘与复用的方法,该方法由以下步骤实现:
步骤一、获取代码片段形成代码文件,将所述代码文件与低代码平台用户生成的代码模版构建低代码平台的代码模版库;
步骤二、设置标注规则,采用正则表达式提取所述代码模版库的代码中的注释和元数据信息作为标签,并通过人工标注和内容矫正,生成分类训练数据;
步骤三、根据步骤二获得的分类训练数据,采用基于ALBERT和TextCNN的网络进行模版内容的多标签分类训练,迭代多次后生成模版分类标注模型;
步骤四、采用步骤三生成的模版分类标注模型进行规模化模版标注,实现代码模版自动分类标注;
步骤五、更新所述代码模版库中的模版数量以及模版标注的标签信息,并记录用户与所述代码模版之间的交互行为;
步骤六、将步骤五记录的交互行为、模版标注的标签信息以及用户信息生成推荐系统的训练数据集;
采用基于Transformer的推荐模型进行代码模版推荐训练,迭代多次后生成所述代码模版推荐模型;最终实现自动挖掘与复用;所述基于Transformer的推荐模型通过注意力机制学习用户的代码需求和偏好,预测用户可能需要的代码模版,并向用户推荐相关的代码模版;
还包括步骤七,用户采用步骤六生成的代码模版推荐模型输入检索信息,通过所述代码模版推荐模型生成用户推荐列表,并使用基于listwise的排序算法更新所述用户推荐列表;
其中,步骤一中,通过爬虫或Git配套的API接口进行代码模版的抓取,抓取后的数据存储在本地文件中;
其中,步骤五中,用户与所述代码模版之间的交互行为包括代码模版修改、代码模版浏览、代码模版使用以及代码模版打分,并对交互行为生成的数据文件进行保存。
2.一种低代码模版自动挖掘与复用的系统,其特征是:该系统包括代码抓取模块、模版标注模块、模版训练及更新模块、行为交互模块、推荐系统生成模块以及推荐列表更新模块;
所述代码抓取模块,用于获取代码片段,并形成代码文件;将所述代码文件与低代码平台用户生成的代码模版构建低代码平台的代码模版库;
所述模版标注模块:采用人工模版标注的方式,通过设置具体的标注规则,辅以正则表达式提取代码中的注释和元数据信息作为标签,最后通过人工标注和内容矫正,生成分类训练数据;
所述模版训练及更新模块:使用基于ALBERT和TextCNN网络方法进行模版内容的多标签分类训练,迭代多次后获取模版分类标注模型;通过生成的模版分类标注模型进行规模化模版标注;并更新模版库中的模版数量以及模版标签;
所述行为交互模块:记录用户与代码模版之间的交互行为,包括代码模版修改、代码模版浏览、代码模版使用以及代码模版打分,生成数据文件并保存;
通过用户与模版行为交互,与模版标注的标签信息和用户信息生成推荐系统的训练数据集;
所述推荐系统生成模块:使用基于Transformer的推荐模型进行模版推荐训练,迭代多次后生成模版推荐模型;所述基于Transformer的推荐模型通过注意力机制学习用户的代码需求和偏好,预测用户可能需要的代码模版,并向用户推荐相关的代码模版;
所述推荐列表更新模块:用户向所述模版推荐模型输入检索信息,生成推荐列表,采用基于列表法的排序算法更新推荐列表;
所述代码抓取模块收集开源库中不同开发者编写的代码片段或从低代码平台上开发者编写并发布的代码中抓取代码片段与代码模版,建立代码模版库。
3.一种电子设备,其特征是:包括存储器和处理器;
所述存储器,用于存储可执行指令;
所述处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1所述的方法。
4.一种存储介质,其特征是:存储有可执行指令,用于被处理器执行时,实现权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310899398.6A CN116610311B (zh) | 2023-07-21 | 2023-07-21 | 一种低代码模版自动挖掘与复用的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310899398.6A CN116610311B (zh) | 2023-07-21 | 2023-07-21 | 一种低代码模版自动挖掘与复用的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116610311A CN116610311A (zh) | 2023-08-18 |
CN116610311B true CN116610311B (zh) | 2023-12-05 |
Family
ID=87682262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310899398.6A Active CN116610311B (zh) | 2023-07-21 | 2023-07-21 | 一种低代码模版自动挖掘与复用的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116610311B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840252A (zh) * | 2022-05-12 | 2022-08-02 | 中国工商银行股份有限公司 | 代码注释生成方法、模型的训练方法、装置和设备 |
CN115145551A (zh) * | 2022-08-02 | 2022-10-04 | 北京航空航天大学 | 一种面向机器学习应用低代码开发的智能辅助系统 |
CN115756475A (zh) * | 2022-10-28 | 2023-03-07 | 浙江大学 | 一种基于序列生成对抗网络的代码注释生成方法及装置 |
CN116028045A (zh) * | 2022-12-08 | 2023-04-28 | 深圳复临科技有限公司 | 第三方应用代码快速分发方法、装置、设备及存储介质 |
CN116257644A (zh) * | 2023-02-14 | 2023-06-13 | 阳光保险集团股份有限公司 | 标注数据的方法、通过模型标注数据的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10635409B2 (en) * | 2018-01-15 | 2020-04-28 | Cognizant Technology Solutions India Pvt. Ltd. | System and method for improving software code quality using artificial intelligence techniques |
US10545733B2 (en) * | 2018-06-25 | 2020-01-28 | Hcl Technologies Ltd. | Code reusability |
US11977605B2 (en) * | 2021-08-16 | 2024-05-07 | Intel Corporation | Methods and apparatus to automatically evolve a code recommendation engine |
-
2023
- 2023-07-21 CN CN202310899398.6A patent/CN116610311B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840252A (zh) * | 2022-05-12 | 2022-08-02 | 中国工商银行股份有限公司 | 代码注释生成方法、模型的训练方法、装置和设备 |
CN115145551A (zh) * | 2022-08-02 | 2022-10-04 | 北京航空航天大学 | 一种面向机器学习应用低代码开发的智能辅助系统 |
CN115756475A (zh) * | 2022-10-28 | 2023-03-07 | 浙江大学 | 一种基于序列生成对抗网络的代码注释生成方法及装置 |
CN116028045A (zh) * | 2022-12-08 | 2023-04-28 | 深圳复临科技有限公司 | 第三方应用代码快速分发方法、装置、设备及存储介质 |
CN116257644A (zh) * | 2023-02-14 | 2023-06-13 | 阳光保险集团股份有限公司 | 标注数据的方法、通过模型标注数据的方法及装置 |
Non-Patent Citations (4)
Title |
---|
Civil Aviation Travel Question and Answer Method Using Knoeledge Graphs and Deep Learning;Weiguang Gong 等;《Electronics2023》;第12卷(第13期);第页 * |
PERSONA:A personalized model for code recommendation;Tam The Nguyen 等;《Research Article》;第1-15页 * |
TranS3:A Transformer-based Framework for Unifying Code Summarization and Code Search;Wenhua Wang 等;《arXiv:2003.03238v2 [cs.SE]》;第1-12页 * |
面向异常处理的代码智能化推荐;林锴 等;《计算机科学与探索》;第667-677页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116610311A (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11442702B2 (en) | Code completion | |
CN110750959B (zh) | 文本信息处理的方法、模型训练的方法以及相关装置 | |
CN111160569A (zh) | 基于机器学习模型的应用开发方法、装置及电子设备 | |
US20200410392A1 (en) | Task-aware command recommendation and proactive help | |
CN116594768A (zh) | 面向大模型的通用工具协同和精细化学习系统及方法 | |
CN105446986A (zh) | 用于处理web页面的方法和装置 | |
CN112188311B (zh) | 用于确定新闻的视频素材的方法和装置 | |
CN110929119A (zh) | 数据标注方法、装置、设备及计算机存储介质 | |
CN111221936A (zh) | 一种信息匹配方法、装置、电子设备及存储介质 | |
AU2021307431A1 (en) | Automated skill tagging, knowledge graph, and customized assessment and exercise generation | |
US11822896B2 (en) | Contextual diagram-text alignment through machine learning | |
Miller | Hands-On Machine Learning with IBM Watson: Leverage IBM Watson to implement machine learning techniques and algorithms using Python | |
CN116610304B (zh) | 页面代码生成方法、装置、设备和存储介质 | |
CN116610311B (zh) | 一种低代码模版自动挖掘与复用的方法及系统 | |
CN112836013A (zh) | 一种数据标注的方法、装置、可读存储介质和电子设备 | |
CN117236624A (zh) | 一种基于动态图的Issue修复者推荐方法与装置 | |
CN115879450B (zh) | 一种逐步文本生成方法、系统、计算机设备及存储介质 | |
US20230186117A1 (en) | Automated cloud data and technology solution delivery using dynamic minibot squad engine machine learning and artificial intelligence modeling | |
CN116822462A (zh) | 电力系统的仿真报告的生成方法与生成装置 | |
CN111488510A (zh) | 小程序相关词的确定方法、装置、处理设备及搜索系统 | |
Körner et al. | Mastering Azure Machine Learning: Perform large-scale end-to-end advanced machine learning in the cloud with Microsoft Azure Machine Learning | |
CN113761209B (zh) | 文本拼接方法及装置、电子设备、存储介质 | |
CN116306506A (zh) | 一种基于内容识别的智能邮件模板方法 | |
CN111563371B (zh) | 一种文本生成的方法及设备 | |
CN114625658A (zh) | App稳定性测试方法、装置、设备和计算机可读存储介质 |
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 |