(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210825858.6
(22)申请日 2022.07.14
(71)申请人 南京航空航天大 学
地址 210016 江苏省南京市秦淮区御道街
29号
(72)发明人 张静宣 刘思远 梁嘉慧 骆君鹏
(74)专利代理 机构 南京苏高专利商标事务所
(普通合伙) 32204
专利代理师 柏尚春
(51)Int.Cl.
G06F 40/279(2020.01)
G06F 40/216(2020.01)
G06F 40/30(2020.01)
G06N 20/00(2019.01)
(54)发明名称
一种基于深度学习的标识符规范化方法
(57)摘要
本发明公开了一种基于深度学习的标识符
规范化方法, 首先, 对标识符采用字节对编码算
法得到粗粒度词根, 并对词根进行序列标注, 得
到训练模型所需要的训练集; 其次, 将待拆分的
标识符, 输入到训练好的BERT ‑CRF模型中, 输出
标识符的拆分结果; 然后, 将拆分好的标识符输
入训练好的命名实体识别模型从而识别出需要
进行扩展的缩写词, 然后会输入到实体相似度模
型进行扩展; 最后, 若实体相似度模型有多个输
出, 则加入编程上下文信息辅助扩展, 得到规范
化后的标识符。 发明可以帮助软件开发者提高正
在编写代码的质量, 尤其是创作的标识符的质
量, 帮助软件开发者快速理解程序的语义功能,
减少人工工作量, 有效降低软件开发者的沟通代
价, 提高软件协同开发的效率。
权利要求书2页 说明书6页 附图1页
CN 115358218 A
2022.11.18
CN 115358218 A
1.一种基于深度学习的标识符规范化方法, 其特 征在于, 包括以下步骤:
(1)对标识符采用字节对编码算法得到粗粒度词根, 并对词根按照BMES规则进行序列
标注, 得到训练模型 所需要的训练集;
(2)将训练集输入到BERT ‑CRF模型中训练; 将待拆分的标识符, 输入到训练好的BERT ‑
CRF模型中, 输出 标识符的拆分结果;
(3)将拆分好的标识符输入训练好的命名实体识别模型从而识别出需要进行扩展的缩
写词, 然后会输入到实体相似度模型进行扩展;
(4)若实体相似度模型有多个输出, 则加入编程上下文信息辅助扩展, 得到规范化后的
标识符。
2.根据权利要求1所述的基于深度学习的标识符规范化方法, 其特征在于, 所述步骤
(1)实现过程如下:
标识符的字符间存在位置关系, 在自然语言处理领域BMES序列标注方法可以体现这种
位置关系, 其中B表示词的词首, M表示词的中间位, E表示词的末尾, S表示一个单独词;
{X1X2...Xn}为某一标识符X中的词根集合, 每一个元素X代表一个词根, n为5, X由A和B两个
单词组成, 单词 A由词根X1X2组成, 单词B由词根X3X4X5组成, 则标识符X按照BMES规则的序列
标注为"X1/B,X2/E,X3/B,X4/M,X5/E", 标识符X进行序列标注后转换为训练集。
3.根据权利要求1所述的基于深度学习的标识符规范化方法, 其特征在于, 所述步骤
(2)实现过程如下:
BERT包括多层双向Transformer, 通过联合调节各层的上下文, 对深度双向表示进行预
先训练; 为了适配标识符规范化任务, 首先输入需要改造成[CLS]+句子A+[SEP]; 其中,
[CLS]代表的是分类任务的特殊序列, [ SEP]代表分隔符;
然后经由BERT特征提取, 输出每个字符对应的预测标签概率; 最后经CRF层约束, 会对
输出的分数进行校正, 输出最优标签序列; CRF考虑前后标记依赖约束, 综合使用标记状态
转移概率作为评分:
上式是CRF层对整个序列的打分, 其中x代表整个序列, y代表标签的类别, 整个序列的
打分等于各个位置的打分之和, 打 分为两个部分: 第一部分由BERT输出的发射分数
决定,
i是单词的位置索引, yi是类别的索引; 第二部分 由CRF转移矩阵A决定, 其中
表示从第
yi‑1个标签到第yi个标签的转移分数;
发射分数
其中, x1,B中index为1, label为B; xindex,label表示上式中索引为第index个单词被
标记为label的分数
x1,B、 x2,M、 x3,E、 x4,S均为BERT的输出, X5,[CLS]和x6,[ SEP]看作为0;
转移分数
tlabel1‑>label2表示从label1到label2的转移概率分数, 转移分数来自CRF层, 通过
维特比算法从所有路径中, 选出最优路径。权 利 要 求 书 1/2 页
2
CN 115358218 A
24.根据权利要求1所述的基于深度学习的标识符规范化方法, 其特征在于, 所述步骤
(3)实现过程如下:
基于命名实体识别将文本 中的命名实体定位并分类为预先定义的类别, 识别出需要扩
展的缩写词;
基于实体相似度模型对具有上下文关系的实体进行建模: 构建Seq2Seq任务, 输入缩写
词与其对应的扩展词, 并且附带编程上下文信息用来构建用于文本相似度计算的数据; 将
输入缩写词、 编程上下文信息和对应的扩展词通过S EP进行拼接, 把不相似的样本作为负样
本, 然后通过softmax函数计算相似样本的相似度;
通过命名实体识别模型模型和实体相似度模型构建一个基于BERT深度学习模型的标
识符扩展问答系统; 基于BERT的自动问答拆 分为命名实体识别和实体映射; 其中, 实体识别
找到问句中询问的实体名称, 而实体映射找到实体对应的具体映射。
5.根据权利要求1所述的基于深度学习的标识符规范化方法, 其特征在于, 所述步骤
(4)实现过程如下:
如果实体相似度模型在对实体映射 时有多个映射结果, 这 时候需要通过辅助信 息即编
程上下文信息来确定具体的映射; 从源代码中 收集标识符隶属的类名、 声明类型、 方法名及
注释然后存放到数据库中, 当出现一词多扩的情况时, 问答系统会自动从数据库读取信息 。权 利 要 求 书 2/2 页
3
CN 115358218 A
3
专利 一种基于深度学习的标识符规范化方法
文档预览
中文文档
10 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共10页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 14:08:13上传分享