CN113377422B - 一种基于深度学习识别自我承认技术债务方法 - Google Patents
一种基于深度学习识别自我承认技术债务方法 Download PDFInfo
- Publication number
- CN113377422B CN113377422B CN202110642380.9A CN202110642380A CN113377422B CN 113377422 B CN113377422 B CN 113377422B CN 202110642380 A CN202110642380 A CN 202110642380A CN 113377422 B CN113377422 B CN 113377422B
- Authority
- CN
- China
- Prior art keywords
- information
- graph
- node
- gate
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000013135 deep learning Methods 0.000 title claims abstract description 10
- 239000013598 vector Substances 0.000 claims abstract description 21
- 238000005516 engineering process Methods 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims abstract description 16
- 238000013528 artificial neural network Methods 0.000 claims abstract description 13
- 230000003993 interaction Effects 0.000 claims abstract description 10
- 238000003062 neural network model Methods 0.000 claims abstract description 5
- 230000004913 activation Effects 0.000 claims description 14
- 238000007781 pre-processing Methods 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000000717 retained effect Effects 0.000 claims description 3
- 239000013589 supplement Substances 0.000 claims description 2
- 230000018109 developmental process Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000011160 research Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Character Discrimination (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于深度学***均值F1。
Description
技术领域
本发明涉及软件处理技术领域,尤其涉及一种基于深度学习识别自我承认技术债务方法。
背景技术
在实际的软件开发过程中,最重要的目标之一是确保交付的软件具有高质量和无缺陷的。但在很多情况下,由于资源和时间的限制,开发人员不得不采取权变措施,提交不完整或临时的补丁代码,这种现象称之为技术债务。故意引入的技术债务是开发人员为了使项目能在短期快速开发出来,导致在未来需要进行维护。因此,为确保软件质量和减轻维护自我承认技术债务的代价,提升软件开发过程中的软件质量,我们需要研究的重点是准确识别自我承认技术债务,识别技术债务问题比较常见的方法是通过传统神经网络方法进行识别,目前,尽管对自我承认技术债务预测技术已经有了一些研究和进展,但还存在一些问题有待解决。目前的研究工作认为自我承认技术债务是一系列的标记来进行文本序列化,自我承认技术债务由不同的开发语言或自然语言的混合物组成,所以很难组成图;并且先前工作中只关注到自我承认技术债务是少量的,并没有观察到自我承认技术债务包含大量的容易区分的数据,因此模型的拟合速度过快,使得模型难以有效地识别自我承认技术债务。
发明内容
根据现有技术存在的问题,本发明公开了一种基于深度学习识别自我承认技术债务方法,,具体包括如下步骤:
构建文本的图形结构:读取技术债务文本信息并对其进行预处理,预处理包括标记化和删除停用词将剩余的文本转化为模型学习的词嵌入向量,使用Word2vec模型通过上下文本之间的关系来获得词嵌入向量,将文本的单词作为图的单词节点,通过滑动窗口来捕获窗口中出现的单词之间的联系作为图的边从而将技术债务文本转化为图结构的技术债务;
基于图形的单词交互:将词嵌入向量作为门控图神经网络中图的节点特征的隐藏状态,当节点初始状态的维数小于D维时,其余位置添加0作为补充,图表示中的不同节点通过边进行传输和接收信息,将节点接收到的信息通过更新门确定有多少前一时刻和当前时刻的信息需要传递到下一时刻,节点接收到的信息通过重置门确定有多少前一时刻和当前的时刻的信息需要被舍弃,最终将获得重置门输出的信息和更新门输出的信息、以及自身节点的信息三者进行合并,再通过Sigmoid激活函数输出节点激活值,作为最终时刻的节点状态,在节点特征被充分更新后,节点向量合并成图表示向量;
使用Focal loss函数使损失值最小化,获得准确的预测结果;
使用神经网络模型对预测结果进行预测,得到精确度、召回率以及精确度和召回率的调和平均值F1。
所述词嵌入是通过学习大量未标记的文本来表示单词的一种形式。
不同节点通过边进行传输和接收信息进行相互作用,相互作用的公式为
其中矩阵A∈RD|v|×2D|v|决定了节点之间的通信方式,在门控图神经网络中,更新门被计算为
其中是时间步t的输入向量,并持有时间步t-1的前一刻的信息。
在门控图神经网络中,重置门计算为
其中为输入向量,/>为上一时间步长t-1的信息,复位门将这两个信息相加,新产生的信息/>计算为
在获得门控信号后,使用复位门控来获得复位数据与当前输入/>相接并使用tanh激活函数得到激活值/>
最终更新的节点状态的计算为
其中,更新门是选择从上一个t-1时刻中遗忘多少过去的信息,/>是选择多少新产生的信息被保留;
在节点特征被充分更新后,节点被合并成图表示形式,用图表示的表示作为最终的预测结果读出函数定义如下
其中f1和f2是两个多层感知机,f1是注意力机制,f2是一个非线性特征转换。
由于采用了上述技术方案,本发明提供的一种基于深度学***衡模型;最后是使用神经网络模型对预测结果进行预测,得到精确度、召回率以及精确度和召回率的调和平均值F1。该方法通过使用深度学习方法门控图神经网络来训练识别自我承认技术债务分类模型,捕捉自我承认技术债务中一些重要结构特性,在一个公共数据集上进行性能调查,结果表明,本发明在检测自我承认技术债务方面取得了良好的效果,解决了在软件开发过程中的自我承认技术债务检测的优化问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中自我承认技术债务文本转换为图的过程示意图;
图2为本发明中节点之间的信息传递与接收过程示意图;
图3为本发明方法的流程图。
具体实施方式
为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:
如图3所示的一种基于深度学习识别自我承认技术债务方法,具体包括如下步骤:
S1:构建文本的图形结构:在传统的神经网络模型中,自我承认技术债务被用作分析单元。因此,在使用图神经网络时,我们需要将注释转换为向量。词嵌入是通过学习大量未标记的文本来表示词的一种常见形式,可以有效地捕捉词的语义和句法特征,由于其维度较小,可以加快计算速度。以前的研究提出了不同的获取词嵌入的方法,并验证了这些方法的有效性,如Word2vec和Glove。使用Word2vec从训练集中学习词嵌入,因为Word2vec通过上下文之间的***训练词向量,更适合于识别自我承认技术债务。把唯一的词作为图中的节点来表示代码注释,把词与词之间的共现作为边,然后把出现在一个固定大小的滑动窗口内的词的关系描述为共现。以标准的方式对文本进行预处理,包括标记化(tokenization)和删除停顿词(stop word)。节点的嵌入是用单词特征初始化的。因为每个单独的图代表了一条技术债务,在词的交互阶段,注释中的词的特征信息可以在整个注释中传播和聚集起来,滑动窗口的大小被设定为3。滑动窗口中的一个词被当作一个节点,并计算每个节点与当前滑动窗口中其他节点的共现次数。将结果与前一个滑动窗口中相同节点之间的共同出现次数相加,作为节点之间边缘的初始特征。如图1所示。
S2:基于图形的单词交互:采用门控图神经网络(GGNN)来学习单词节点的嵌入,图中的节点可以捕捉来自相邻节点的信息,并将其与自身的特征信息相融合。由于GGNN的一个层只能捕捉来自一阶相邻节点的信息,但是可以将GGNN层堆叠t次,以实现高阶特征交互,即一个节点可以与更远的节点的信息交互。在初始化步骤中,输入节点特征并将其作为隐藏状态。节点的初始状态是一个D维的向量,其公式为
其中v是节点输入特征的维度。如果v的维度低于D,剩下的位置就用0来填充。图2中不同节点通过接收和传输相互作用的步骤。相互作用的公式为
其中矩阵A∈RD|v|×2D|v|决定了节点之间的通信方式。在门控图神经网络中,更新门可以被计算为
其中是时间步t的输入向量,并持有时间步t-1的前一刻的信息。更新门将这两块信息加在一起,并将其输入到sigmoid激活函数中,输出激活值。更新门帮助模型确定有多少过去的信息需要传递到未来,或者有多少前一阶段和当前阶段的信息需要传递。因为模型可以决定保留过去的一些信息,以减少梯度消失的风险。
在门控图神经网络中,重置门可以计算为
其中为输入向量,/>为上一时间步长t-1的信息。复位门将这两个信息相加,输入σsigmoid激活函数并输出激活值。除了参数和使用的线性变换外,其表达式与更新门相同。从本质上讲,复位门主要决定了有多少过去的信息实际上需要被遗忘,新产生的信息/>可以计算为
在获得门控信号后,使用复位门控来获得“复位”数据然后与当前输入/>相接,并使用tanh激活函数得到激活值/>
最终更新的节点状态的计算为
其中,更新门是选择从上一个t-1时刻中遗忘多少过去的信息,/>是选择多少新产生的信息被保留。这就是最终更新节点状态/>
在节点特征被充分更新后,节点被合并成图表示形式,用图表示的表示作为最终的预测结果。读出函数定义如下
其中f1和f2是两个多层感知机,前者是注意力机制,后者是一个非线性特征转换。除了单词特征的加权平均外,还对图形表示法hg应用了一个最大池化函数。这样做的目的是让每个节点在图中都发挥作用。
S3:不平衡模型:预测标签使用图形向量输入到Softmax层进行预测。使用Focalloss函数最小化损失值
其中,W和b是权重和偏差,是i样本的真实标签,α是控制正负样本对损失的共享权重,γ是调节系数,减少容易分类的样本的损失,把更多注意力放在困难分类的样本上。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (2)
1.一种基于深度学习识别自我承认技术债务方法,其特征在于包括:
构建文本的图形结构:读取技术债务文本信息并对其进行预处理,预处理包括标记化和删除停用词将剩余的文本转化为模型学习的词嵌入向量,使用Word2vec模型通过上下文本之间的关系来获得词嵌入向量,将文本的单词作为图的单词节点,通过滑动窗口来捕获窗口中出现的单词之间的联系作为图的边从而将技术债务文本转化为图结构的技术债务;
基于图形的单词交互:将词嵌入向量作为门控图神经网络中图的节点特征的隐藏状态,当节点初始状态的维数小于D维时,其余位置添加0作为补充,图表示中的不同节点通过边进行传输和接收信息,将节点接收到的信息通过更新门确定有多少前一时刻和当前时刻的信息需要传递到下一时刻,节点接收到的信息通过重置门确定有多少前一时刻和当前的时刻的信息需要被舍弃,最终将获得重置门输出的信息和更新门输出的信息、以及自身节点的信息三者进行合并,再通过Sigmoid激活函数输出节点激活值,作为最终时刻的节点状态,在节点特征被充分更新后,节点向量合并成图表示向量;
使用Focalloss函数使损失值最小化,获得准确的预测结果;
使用神经网络模型对预测结果进行预测,得到精确度、召回率以及精确度和召回率的调和平均值F1;
不同节点通过边进行传输和接收信息进行相互作用,相互作用的公式为
其中矩阵A∈决定了节点之间的通信方式,在门控图神经网络中,更新门被计算为
其中是时间步t的输入向量,并持有时间步t-1的前一刻的信息;
在门控图神经网络中,重置门计算为
其中为输入向量,/>为上一时间步长t-1的信息,复位门将这两个信息相加,新产生的信息/>计算为
在获得门控信号后,使用复位门控来获得复位数据与当前输入/>相接并使用tanh激活函数得到激活值/>
最终更新的节点状态的计算为
其中,更新门是选择从上一个t-1时刻中遗忘多少过去的信息,/>是选择多少新产生的信息被保留;
在节点特征被充分更新后,节点被合并成图表示形式,用图表示的表示作为最终的预测结果读出函数定义如下
其中f1和f2是两个多层感知机,f1是注意力机制,f2是一个非线性特征转换。
2.根据权利要求1所述的一种基于深度学习识别自我承认技术债务方法,其特征在于:所述词嵌入是通过学习大量未标记的文本来表示单词的一种形式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110642380.9A CN113377422B (zh) | 2021-06-09 | 2021-06-09 | 一种基于深度学习识别自我承认技术债务方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110642380.9A CN113377422B (zh) | 2021-06-09 | 2021-06-09 | 一种基于深度学习识别自我承认技术债务方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113377422A CN113377422A (zh) | 2021-09-10 |
CN113377422B true CN113377422B (zh) | 2024-04-05 |
Family
ID=77573291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110642380.9A Active CN113377422B (zh) | 2021-06-09 | 2021-06-09 | 一种基于深度学习识别自我承认技术债务方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377422B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130125999A (ko) * | 2012-05-10 | 2013-11-20 | 경북대학교 산학협력단 | 키워드 추출 방법 및 시스템, 그리고 대화 보조 장치 |
CN109299262A (zh) * | 2018-10-09 | 2019-02-01 | 中山大学 | 一种融合多粒度信息的文本蕴含关系识别方法 |
CN110018820A (zh) * | 2019-04-08 | 2019-07-16 | 浙江大学滨海产业技术研究院 | 一种基于深度强化学习的Graph2Seq自动生成Java代码注释的方法 |
CN111782807A (zh) * | 2020-06-19 | 2020-10-16 | 西北工业大学 | 一种基于多方法集成学习的自承认技术债务检测分类方法 |
CN111931052A (zh) * | 2020-08-10 | 2020-11-13 | 齐鲁工业大学 | 基于特征交互图神经网络的上下文感知推荐方法及*** |
CN111985245A (zh) * | 2020-08-21 | 2020-11-24 | 江南大学 | 基于注意力循环门控图卷积网络的关系提取方法及*** |
CN112732906A (zh) * | 2020-12-21 | 2021-04-30 | 中国人民解放军国防科技大学 | 一种基于传播图神经网络的互联网谣言检测方法 |
CN112749757A (zh) * | 2021-01-21 | 2021-05-04 | 厦门大学 | 基于门控图注意力网络的论文分类模型构建方法及*** |
CN112789591A (zh) * | 2018-09-27 | 2021-05-11 | 微软技术许可有限责任公司 | 自动内容编辑器 |
CN112905801A (zh) * | 2021-02-08 | 2021-06-04 | 携程旅游信息技术(上海)有限公司 | 基于事件图谱的行程预测方法、***、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11176330B2 (en) * | 2019-07-22 | 2021-11-16 | Advanced New Technologies Co., Ltd. | Generating recommendation information |
-
2021
- 2021-06-09 CN CN202110642380.9A patent/CN113377422B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130125999A (ko) * | 2012-05-10 | 2013-11-20 | 경북대학교 산학협력단 | 키워드 추출 방법 및 시스템, 그리고 대화 보조 장치 |
CN112789591A (zh) * | 2018-09-27 | 2021-05-11 | 微软技术许可有限责任公司 | 自动内容编辑器 |
CN109299262A (zh) * | 2018-10-09 | 2019-02-01 | 中山大学 | 一种融合多粒度信息的文本蕴含关系识别方法 |
CN110018820A (zh) * | 2019-04-08 | 2019-07-16 | 浙江大学滨海产业技术研究院 | 一种基于深度强化学习的Graph2Seq自动生成Java代码注释的方法 |
CN111782807A (zh) * | 2020-06-19 | 2020-10-16 | 西北工业大学 | 一种基于多方法集成学习的自承认技术债务检测分类方法 |
CN111931052A (zh) * | 2020-08-10 | 2020-11-13 | 齐鲁工业大学 | 基于特征交互图神经网络的上下文感知推荐方法及*** |
CN111985245A (zh) * | 2020-08-21 | 2020-11-24 | 江南大学 | 基于注意力循环门控图卷积网络的关系提取方法及*** |
CN112732906A (zh) * | 2020-12-21 | 2021-04-30 | 中国人民解放军国防科技大学 | 一种基于传播图神经网络的互联网谣言检测方法 |
CN112749757A (zh) * | 2021-01-21 | 2021-05-04 | 厦门大学 | 基于门控图注意力网络的论文分类模型构建方法及*** |
CN112905801A (zh) * | 2021-02-08 | 2021-06-04 | 携程旅游信息技术(上海)有限公司 | 基于事件图谱的行程预测方法、***、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113377422A (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Dependency sensitive convolutional neural networks for modeling sentences and documents | |
CN110083833B (zh) | 中文字词向量和方面词向量联合嵌入情感分析方法 | |
WO2023024412A1 (zh) | 基于深度学习模型的视觉问答方法及装置、介质、设备 | |
CN110532557B (zh) | 一种无监督的文本相似度计算方法 | |
CN109214006B (zh) | 图像增强的层次化语义表示的自然语言推理方法 | |
CN110472042B (zh) | 一种细粒度情感分类方法 | |
CN107832400A (zh) | 一种基于位置的lstm和cnn联合模型进行关系分类的方法 | |
CN110532398B (zh) | 基于多任务联合神经网络模型的家族图谱自动构建方法 | |
CN111460157B (zh) | 用于多领域文本分类的循环卷积多任务学习方法 | |
CN110866542A (zh) | 一种基于特征可控融合的深度表示学习方法 | |
CN110580287A (zh) | 基于迁移学习和on-lstm的情感分类方法 | |
CN113254675B (zh) | 基于自适应少样本关系抽取的知识图谱构建方法 | |
CN114331122A (zh) | 重点人员风险等级评估方法及相关设备 | |
CN116579347A (zh) | 一种基于动态语义特征融合的评论文本情感分析方法、***、设备及介质 | |
CN113779249A (zh) | 跨领域文本情感分类方法、装置、存储介质以及电子设备 | |
CN113377422B (zh) | 一种基于深度学习识别自我承认技术债务方法 | |
CN116842955A (zh) | 一种基于多特征提取的医学实体关系方法 | |
CN111859979A (zh) | 讽刺文本协同识别方法、装置、设备及计算机可读介质 | |
CN114757183B (zh) | 一种基于对比对齐网络的跨领域情感分类方法 | |
CN116578671A (zh) | 一种情感-原因对提取方法及装置 | |
CN114970497B (zh) | 基于预训练特征嵌入的文本分类方法及词义消歧方法 | |
CN116662924A (zh) | 基于双通道与注意力机制的方面级多模态情感分析方法 | |
WO2023137918A1 (zh) | 文本数据的分析方法、模型训练方法、装置及计算机设备 | |
CN115687627A (zh) | 一种基于注意力机制的两步式轻量级文本分类方法 | |
Guo et al. | [Retracted] Data Analysis Deep Learning Research on Spatiotemporal Preposition Construction Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |