一种基于深度神经网络的片段源代码识别方法技术

技术编号:33727751 阅读:34 留言:0更新日期:2022-06-08 21:22
本发明专利技术公开一种基于深度神经网络的片段源代码识别方法,包括如下步骤:步骤一,对输入的源代码字符串进行预处理,获取训练样本;步骤二,搭建深度神经网络模型,输入训练样本,使用GPU进行训练,并获取准确率最高的模型;步骤三,对训练结果进行可视化,并根据可视化结果对模型进行调整,直至模型达到预期效果;步骤四,将.pth模型转换为onnx模型,并进行编译生成动态库,编写C++可调用的接口,部署到DLP系统;步骤五,将待识别的源代码进行预处理,然后送入深度神经网络模型,输出预测结果。此种基于深度神经网络的片段源代码识别方法能够提高片段式源代码的检测精度,并缩短长代码识别时间,提高短代码的识别精度。提高短代码的识别精度。提高短代码的识别精度。

【技术实现步骤摘要】
一种基于深度神经网络的片段源代码识别方法


[0001]本专利技术属于计算机
,涉及深度学习模型部署优化方法,特别涉及一种基于深度神经网络的片段源代码识别方法。

技术介绍

[0002]近年来,国内外大公司不断有代码泄露事件发生,通过文本分类技术有效识别源代码及其类型也随之发展,越来越多公司网络管理需要这项技术来提高公司的信息安全,但目前包括源代码分类在内的文本分类技术都只对长文本有效,难以对片段中的源代码进行分类并识别,无法阻止内部人员通过发送短消息文本的方式泄露公司内部机密,目前学术界以及工业界也在寻找更加有效的方法来提升源代码识别的准确率,例如Github开发Linguist程序通过考虑命名约定、提取文件扩展名以及文件顶部的内容来识别代码类别,但是不适用于拉取片段的代码识别;另外还有人研究使用深度神经网络线性组合分类器来实现源代码识别,这种方式适合于识别文件级别的长文本源代码,但是很难与DLP系统或客户端进行集成,限制了其应用范围。
[0003]综上,现有的源代码识别方法存在着如下不足:
[0004](1)传统方法灵活性本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于深度神经网络的片段源代码识别方法,其特征在于包括如下步骤:步骤一,对输入的源代码字符串进行预处理,获取训练样本;步骤二,搭建深度神经网络模型,输入训练样本,使用GPU进行训练,并获取准确率最高的模型;步骤三,对训练结果进行可视化,并根据可视化结果对模型进行调整,直至模型达到预期效果;步骤四,将.pth模型转换为onnx模型,并进行编译生成动态库,编写C++可调用的接口,部署到DLP系统;步骤五,将待识别的源代码进行预处理,然后送入深度神经网络模型,输出预测结果。2.如权利要求1所述的基于深度神经网络的片段源代码识别方法,其特征在于:所述步骤一和步骤五中,预处理的内容是:首先对输入的源代码字符串进行分割、清洗,然后根据指定的策略筛选出训练样本。3.如权利要求2所述的基于深度神经网络的片段源代码识别方法,其特征在于:所述策略包括如下内容:策略一:全文完全检测;策略二:截取前500个字符和后500个字符进行检测;策略三:随机采样n段文本进行检测;策略四:根据文本长度自动选择策略,小于1000字符的采用策略二,1000~3000字符的采用策略一,3000字符以上的采用策略三。4.如权利要求1所述的基于深度神经网络的片段源代码识别方法,其特征在于:所述步骤二中,深度神经网络模型包含6个卷积层和3个全连接层,其中,每个卷积层包括一个卷积操作和一个最大池化操作,第1个卷积层的特征维度是96

256,卷积核为7,池化大小为3,第2个卷积层的特征维...

【专利技术属性】
技术研发人员:涂高元邱志斌郭永兴陆云燕薛玉洁张勇建
申请(专利权)人:厦门天锐科技股份有限公司
类型:发明
国别省市:

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

1