一种使用弱监督的代码搜索意图分类方法技术

技术编号:29208836 阅读:25 留言:0更新日期:2021-07-10 00:45
本发明专利技术涉及计算机软件领域,具体涉及一种使用弱监督的代码搜索意图分类方法,包括如下步骤:S100、生成模型管道:收集数据,使用学习函数,通过生成模型以加权方式组合,将所有的个人学习功能应用于数据,构建一个标签矩阵,输入生成模型;S200、区分模型管道:将所述步骤S100中生成模型的输出作为收集的数据的列车标签,进行预处理和特性化,训练监督机器学习和深度学习模型;S300、建立实验装置:根据所述步骤S100和所述步骤S200建立实验装置;S400、生成模型评价:评价生成模型生成训练数据标签的性能;S500、有识别力的模型评价:评估不同的判别模型对代码搜索意图检测的有效性;本发明专利技术能解决搜索查询中的代码搜索意图检测问题。能解决搜索查询中的代码搜索意图检测问题。能解决搜索查询中的代码搜索意图检测问题。

【技术实现步骤摘要】
一种使用弱监督的代码搜索意图分类方法


[0001]本专利技术涉及计算机软件领域,具体涉及一种使用弱监督的代码搜索意图分类方法。

技术介绍

[0002]搜索代码是开发人员经常执行的一项常见任务。开发者可以使用很多资源来搜索代码:网络搜索引擎、代码库、文档、在线论坛等等。代码搜索通常包含由自然语言组成的查询,并期望得到代码片段结果。基于自然语言的代码搜索已经被不同的方法所关注,比如传统的信息检索技术、深度学习和混合推荐方法。存在的一个共同点是需要足够大的由代码和相应的自然语言标签组成的数据集。
[0003]传统上,研究人员使用不同的方法来收集数据,包括使用代码片段的相关文档字符串和来自编码相关论坛(例如StackOverflow)的问题标题。然而,这些自然语言标签并不能准确地表示开发人员如何在典型的搜索引擎中执行对代码的搜索。虽然存在一些数据集,包括人工注释标签代码,这些在大小和数量上是有限的。

技术实现思路

[0004]基于此,本专利技术提出了一种基于弱监督的方法来检测c#和Java编程语言的搜索查询中的代码搜索意图模型。本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种使用弱监督的代码搜索意图分类方法,其特征在于:包括下列步骤:S100、生成模型管道:收集数据,使用学习函数,通过生成模型以加权方式组合,将所有的个人学习功能应用于数据,构建一个标签矩阵,输入生成模型;S200、区分模型管道:将所述步骤S100中生成模型的输出作为收集的数据的列车标签,进行预处理和特性化,训练监督机器学习和深度学习模型;S300、建立实验装置:根据所述步骤S100和所述步骤S200建立实验装置;S400、生成模型评价:评价生成模型生成训练数据标签的性能;S500、有识别力的模型评价:评估不同的判别模型对代码搜索意图检测的有效性。2.根据权利要求1所述的一种使用弱监督的代码搜索意图分类方法,其特征在于:所述S100生成模型管道包括如下步骤:S101、数据收集:从网络搜索引擎中随机抽取100万条c#和Java搜索查询,通过基于模式匹配的关键字来识别与每种编程语言相关的查询:与c#相关的有'c#'、'c sharp'和'csharp',与java相关的有'java';应用额外的过滤器,确保所有查询都是来自美国地区的英语语言,排除包含多种编程语言的查询;S102、学习函数:使用“弱”或“有噪声”的学习函数,通过生成模型以加权方式组合,弱监督来源通常包括外部知识库、模式、字典甚至领域特定启发式,在代码搜索意图分类的上下文中,利用软件工程子意图分类器,使用学习函数来识别表示代码示例、错误代码和异常的模式,每个学习函数充当一个二元分类器,识别代码搜索意图或非代码搜索和弃权,使用标签1表示代码搜索意图,0表示非代码搜索意图,

1表示弃权,每个学习函数的标签是在手动分析查询样本后选择的;S103、生成模型:将所有的个人学习功能应用于数据,并构建一个标签矩阵,输入生成模型,生成模型根据各学习函数之间的一致和不一致,对各学习函数输出的结果进行加权平均,返回每个类的概率分数,然后根据具有较高概率分数的类为每个数据点分配一个标签。3.根据权利要求2所述的一种使用弱监督的代码搜索意图分类方法,其特征在于:所述S200区分模型管道包括如下步骤:S201、数据:使用所述S1...

【专利技术属性】
技术研发人员:潘晓光张娜宋晓晨陈亮陈智娇
申请(专利权)人:山西三友和智慧信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1