注释识别方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:33761039 阅读:7 留言:0更新日期:2022-06-12 14:10
本申请提供一种注释识别方法、装置、设备及计算机可读存储介质,所述方法包括:对获取的待识别的程序代码进行分割处理,得到至少一个文字行,所述程序代码包括代码和注释;根据所述文字行的行首字符确定所述文字行的行开始符,并根据所述文字行的行末字符确定所述文字行的行结束符;基于所述行开始符和所述行结束符,确定所述程序代码中的注释标识;基于所述注释标识对所述程序代码进行注释识别,得到识别结果。本申请能够在不预知具体编程语言的前提下,实现对程序代码中的注释进行识别,不依赖具体编程语言,具有通用性,能够提高对无法预知具体编程语言的注释识别的准确率。法预知具体编程语言的注释识别的准确率。法预知具体编程语言的注释识别的准确率。

【技术实现步骤摘要】
注释识别方法、装置、设备及计算机可读存储介质


[0001]本申请涉及计算机编程
,涉及但不限于一种注释识别方法、装置、设备及计算机可读存储介质。

技术介绍

[0002]软件代码通常由两部分组成:代码和注释。其中,代码为符合程序设计语言专门语法规范的字符串,可经编译、解释等工具转换,在计算机上执行,表达了软件的业务逻辑怎样实现的过程。注释为符合人类自然语言语法的字符串,一般存在于代码文件的头部、函数头部、程序块内部等,用于解释业务逻辑实现的思路、原因等,在程序执行过程中不起作用。
[0003]软件代码中注释的提取,对于分析软件开发过程质量、识别注释与代码实现的不一致、分析注释中的同一话题与多处代码的关系等应用具有重要价值,相关技术中的注释识别方法,针对不同的编程语言,需要设计不同的方案实现,不具备通用性,尤其对于采用大量不同编程语言开发的、存在动态升级变更的软件项目,识别能力不足,而且对于书写不规范的注释可能发生误判,导致注释识别准确率低。

技术实现思路

[0004]有鉴于此,本申请提供一种注释识别方法、装置、设备及计算机可读存储介质,至少解决在无法预知具体编程语言时,注释识别准确率低的问题。
[0005]本申请实施例的技术方案是这样实现的:
[0006]本申请的至少一个实施例提供了一种注释识别方法,所述方法包括:
[0007]对获取的待识别的程序代码进行分割处理,得到至少一个文字行,所述程序代码包括代码和注释;
[0008]根据所述文字行的行首字符确定所述文字行的行开始符,并根据所述文字行的行末字符确定所述文字行的行结束符;
[0009]基于所述行开始符和所述行结束符,确定所述程序代码中的注释标识;
[0010]基于所述注释标识对所述程序代码进行注释识别,得到识别结果。
[0011]此外,根据本申请的至少一个实施例,所述对获取的待识别的程序代码进行分割处理,得到至少一个文字行,包括:
[0012]获取待识别的程序代码和预设的行结束标识;
[0013]根据所述行结束标识对所述程序代码进行分割处理,得到多个分割行;
[0014]从所述多个分割行中删除空白行,得到至少一个文字行,所述空白行为只包含空白字符的分割行。
[0015]此外,根据本申请的至少一个实施例,所述根据所述文字行的行首字符确定所述文字行的行开始符,包括:
[0016]提取各个文字行中的第一个非空白字符;
[0017]当确定当前文字行的第一个非空白字符不为英文字符时,将当前文字行的第一个
非空白字符确定为当前文字行的行开始符;
[0018]当确定当前文字行的第一个非空白字符为英文字符时,将空字符确定为当前文字行的行开始符。
[0019]此外,根据本申请的至少一个实施例,所述根据所述文字行的行末字符确定所述文字行的行结束符,包括:
[0020]提取各个文字行中的最后一个非空白字符;
[0021]当确定当前文字行的最后一个非空白字符不为英文字符、且不为中文字符时,将当前文字行的最后一个非空白字符确定为当前文字行的行结束符;
[0022]当确定当前文字行的最后一个非空白字符为英文字符或中文字符,且当前文字行存在行开始符时,将空字符确定为当前文字行的行结束符;
[0023]当确定当前文字行的最后一个非空白字符为英文字符或中文字符,且当前文字行不存在行开始符时,将当前文字行的下一个文字行的行结束符确定为当前文字行的行结束符。
[0024]此外,根据本申请的至少一个实施例,所述基于所述行开始符和所述行结束符,确定所述程序代码中的注释标识,包括:
[0025]基于所述文字行包括的字符,确定文字行中包括的目标分词的个数,所述目标分词的词性不为名词;
[0026]基于各个文字行的行开始符和目标分词的个数,确定注释开始标识,并基于各个文字行的行结束符和目标分词的个数,确定注释结束标识;
[0027]将所述注释开始标识和所述注释结束标识确定为注释标识。
[0028]此外,根据本申请的至少一个实施例,所述基于所述文字行包括的字符,确定所述文字行中包括的目标分词的个数之前,所述方法还包括:
[0029]按照预设划分规则对当前文字行中包括的字符进行分词处理,得到当前文字行的各个分词;
[0030]获取所述各个分词的词性。
[0031]此外,根据本申请的至少一个实施例,所述基于各个文字行的行开始符和目标分词的个数,确定注释开始标识,包括:
[0032]基于各个文字行的目标分词个数和各个文字行的行开始符,确定不为空字符的各个行开始符的总支持数,所述行开始符的总支持数为所述行开始符对应的各个文字行中包括的目标分词个数的总和;
[0033]确定各个行开始符对应的目标文字行的总行数,所述目标文字行为只包括名词分词的文字行;
[0034]计算所述不为空字符的各个行开始符的总支持数与对应的总行数的差值,得到不为空字符的各个行开始符的开始支持数;
[0035]将最大开始支持数对应的行开始符确定为注释开始标识。
[0036]此外,根据本申请的至少一个实施例,所述基于各个文字行的行结束符和目标分词的个数,确定注释结束标识,包括:
[0037]基于各个文字行的目标分词个数和各个文字行的行结束符,确定不为空字符的各个行结束符的总支持数,所述行结束符的总支持数为所述行结束符对应的各个文字行中包
括的目标分词个数的总和;
[0038]确定各个行结束符对应的目标文字行的总行数,所述目标文字行为只包括名词分词的文字行;
[0039]计算所述不为空字符的各个行结束符的总支持数与对应的总行数的差值,得到不为空字符的各个行结束符的结束支持数;
[0040]将最大结束支持数对应的行结束符确定为注释结束标识。
[0041]此外,根据本申请的至少一个实施例,所述基于所述注释标识对所述程序代码进行注释识别,得到识别结果,包括:
[0042]将行开始符为所述注释开始标识的文字行添加至第一文字行集;
[0043]将行结束符为所述注释结束标识的文字行添加至第二文字行集;
[0044]将所述第一文字行集和所述第二文字行集的并集确定为识别得到的注释行。
[0045]此外,根据本申请的至少一个实施例,所述将所述第一文字行集和所述第二文字行集的并集确定为识别得到的注释行之后,所述方法还包括:
[0046]将所述程序代码中除所述注释行以外的文字行确定为识别得到的代码行。
[0047]本申请的至少一个实施例提供了一种注释识别装置,所述装置包括:
[0048]分割模块,用于对获取的待识别的程序代码进行分割处理,得到至少一个文字行,所述程序代码包括代码和注释;
[0049]第一确定模块,用于根据所述文字行的行首字符确定所述文字行的行开始符,并根据所述文字行的行末字符确定所述文字行的行结本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种注释识别方法,其特征在于,所述方法包括:对获取的待识别的程序代码进行分割处理,得到至少一个文字行,所述程序代码包括代码和注释;根据所述文字行的行首字符确定所述文字行的行开始符,并根据所述文字行的行末字符确定所述文字行的行结束符;基于所述行开始符和所述行结束符,确定所述程序代码中的注释标识;基于所述注释标识对所述程序代码进行注释识别,得到识别结果。2.根据权利要求1所述的方法,其特征在于,所述对获取的待识别的程序代码进行分割处理,得到至少一个文字行,包括:获取待识别的程序代码和预设的行结束标识;根据所述行结束标识对所述程序代码进行分割处理,得到多个分割行;从所述多个分割行中删除空白行,得到至少一个文字行。3.根据权利要求1所述的方法,其特征在于,所述根据所述文字行的行首字符确定所述文字行的行开始符,包括:提取各个文字行中的第一个非空白字符;当确定当前文字行的第一个非空白字符不为英文字符时,将当前文字行的第一个非空白字符确定为当前文字行的行开始符;当确定当前文字行的第一个非空白字符为英文字符时,将空字符确定为当前文字行的行开始符。4.根据权利要求1所述的方法,其特征在于,所述根据所述文字行的行末字符确定所述文字行的行结束符,包括:提取各个文字行中的最后一个非空白字符;当确定当前文字行的最后一个非空白字符不为英文字符、且不为中文字符时,将当前文字行的最后一个非空白字符确定为当前文字行的行结束符;当确定当前文字行的最后一个非空白字符为英文字符或中文字符,且当前文字行存在行开始符时,将空字符确定为当前文字行的行结束符;当确定当前文字行的最后一个非空白字符为英文字符或中文字符,且当前文字行不存在行开始符时,将当前文字行的下一个文字行的行结束符确定为当前文字行的行结束符。5.根据权利要求1所述的方法,其特征在于,所述基于所述行开始符和所述行结束符,确定所述程序代码中的注释标识,包括:基于所述文字行包括的字符,确定所述文字行中包括的目标分词的个数,所述目标分词的词性不为名词;基于各个文字行的行开始符和目标分词的个数,确定注释开始标识,并基于各个文字行的行结束符和目标分词的个数,确定注释结束标识;将所述注释开始标识和所述注释结束标识确定为注释标识。6.根据权利要求5所述的方法,其特征在于,所述基于所述文字行包括的字符,确定所述文字行中包括的目标分词的个数之前,所述方法还包括:按照预设划分规则对当前文字行中包括的字符进行分词处理,得到当前文字行的各个分词;
获取所述各个分词的词性。7.根据权利要求5所述的方法,其特征在于,所述基于各个文字行的行开始符和目标分词的个数,确定注释开...

【专利技术属性】
技术研发人员:蔡敦波
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1