[发明专利]一种使用弱监督的代码搜索意图分类方法在审
申请号: | 202110264037.5 | 申请日: | 2021-03-09 |
公开(公告)号: | CN113095363A | 公开(公告)日: | 2021-07-09 |
发明(设计)人: | 潘晓光;张娜;宋晓晨;陈亮;陈智娇 | 申请(专利权)人: | 山西三友和智慧信息技术股份有限公司 |
主分类号: | G06K9/62 | 分类号: | G06K9/62;G06N3/04;G06N3/08 |
代理公司: | 深圳科润知识产权代理事务所(普通合伙) 44724 | 代理人: | 李小妮 |
地址: | 030000 山西省*** | 国省代码: | 山西;14 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 使用 监督 代码 搜索 意图 分类 方法 | ||
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、数据:使用所述S103中生成模型的输出作为之前收集的数据的列车标签;
S202、预处理和特性化:在将数据传递给判别模型之前,对其进行预处理和特性化,根据非字母数字字符标记查询,删除所有查询停用词,使用Word2Vec将查询文本转换为Word2V ec模型的向量表示,在查询数据上从头开始重新训练Word2Vec模型,使用训练好的Word2Vec模型计算查询中每个令牌的单词嵌入量,并计算查询嵌入量作为所有令牌嵌入量的平均值,形成判别模型的训练数据;
S203、区分模型:使用生成的训练标签:Y训练,专用的训练数据:X训练,训练监督机器学习和深度学习模型来解决搜索查询中的代码搜索意图检测问题。
4.根据权利要求3所述的一种使用弱监督的代码搜索意图分类方法,其特征在于:所述S300建立实验装置包括如下步骤:
S301、数据集:区别模型的训练数据为区分模型管道中描述的饱和数据与生成模型管道生成的训练标签,对于测试数据,根据查询长度对c#和Java统一采样查询,三个注释者手动地分别对数据进行标记,使用Fleiss'Kappa计算评级者之间的协议得分并转化为实质性协议,通过多数投票获得标签;
S302、区分模型:比较各种机器学习和深度学习模型的性能,找到性能最好的代码搜索意图分类模型,使用scikit-learn中模型的默认版本来实现非深度学习模型;利用LSTM和CNN,使用具有tensorflow后端的keras来实现深度学习模型,其中BiLSTM是通过在LSTM层之上添加双向层来实现的,CNN先使用ReLu激活的卷积层,然后是maxpool层,再使用密集的sigmoid激活的输出层。
5.根据权利要求4所述的一种使用弱监督的代码搜索意图分类方法,其特征在于:所述S400生成模型评价中,将生成模型与多数投票模型在测试数据上的性能进行比较,多数投票模型根据学习函数的多数投票为每个查询分配标签,并通过分配一个随机标签来解决关联。
6.根据权利要求5所述的一种使用弱监督的代码搜索意图分类方法,其特征在于:所述S500有识别力的模型评价中,首先对训练数据进行训练,并比较测试数据上的性能分数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山西三友和智慧信息技术股份有限公司,未经山西三友和智慧信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110264037.5/1.html,转载请声明来源钻瓜专利网。