本发明涉及软件功能点识别,尤其涉及一种基于命名实体识别模型的软件功能点识别方法及系统。
背景技术:
1、软件功能点分析是软件开发过程中的一个重要环节,它涉及对软件系统或应用的功能性需求进行细分,以识别出最小的可独立实现的功能单元。这些功能点代表了软件系统的基本组成部分,有助于更准确地衡量软件规模、评估开发成本和工作量,以及制定项目规划和进度掌控。功能点分析被标准化为许多iso标准,如ifpug,mkii,nesma和cosmic等。功能点分析主要依赖于一些经过训练的人员。由于提取功能点的规则很多,面对大型软件项目时,人工进行分析很容易疏忽,使得软件功能点识别出现差错。
2、命名实体识别(简称ner)是自然语言处理中的一个关键任务,它的主要目的是识别文本中的特定实体,如人名、地名、组织机构名、日期、时间等。这些实体对于理解文本内容、抽取关键信息。命名实体识别在多个领域都有广泛的应用,如信息抽取、文本挖掘、智能问答、对话系统等。通过准确识别文本中的命名实体,我们可以更好地理解和分析文本内容,为后续的任务提供有力的支持。
3、在传统的软件开发中,面对复杂的业务需求,需要先整理具体的需求文档,技术人员依据需求文档整理出需要开发的具体功能点。由于提取功能点的规则很多,培养出能够进行实际应用的人员成本高;其次,工业实践中大型软件项目很多,人工从功能需求中进行功能点识别的效率较低,导致整个软件成本估算时间长且成本高。
技术实现思路
1、本发明的目的是提供一种基于命名实体识别模型的软件功能点识别方法及系统,旨在解决如何提高功能点识别效率的技术问题。
2、本发明的目的是采用以下技术方案实现的:一种基于命名实体识别模型的软件功能点识别方法,包括如下步骤:
3、s1:输入文本数据,进行数据预处理,得到文本中与功能点相关的数据集;
4、s2:对文本数据进行编码处理,从文本中提取特征和上下文信息,得到词嵌入向量;
5、s3:从输入文本得到位置嵌入向量和区域嵌入向量,将位置嵌入向量、区域嵌入向量和词嵌入向量进行拼接后,进行卷积,得到细化后的特征;
6、s4:由多层感知机和双仿射注意力机制组成的预测器推断出字符对之间的关系,并对所有可能的功能点类型进行解码,得到最终的功能点位置和其对应的功能点类型。
7、进一步的,步骤s1具体为:对需求文档提取文本数据,并将文本数据中的每一段进行划分,将每一段功能点所在位置与其对应的功能点类型进行匹配,得到需求文档中与功能点相关的数据集。
8、进一步的,步骤s2包括如下子步骤:
9、s21:将文本数据输入bert模型,得到词嵌入,并通过对抗训练对词嵌入添加扰动;
10、s22:通过双向长短期记忆网络和旋转位置编码,获取具有上下文信息的字符表示,得到最后的词嵌入向量。
11、进一步的,步骤s21具体为:输入文本数据,将其中每一个词转换成多个词片段,并将词片段输入预训练的bert模型中,经过bert计算后,使用最大池化将词片段重新表示为词嵌入向量,然后通过生成对抗样本来训练模型,以区分真实样本与对抗样本,所述对抗样本是由词嵌入向量经过人为干扰后生成的。
12、进一步的,步骤s3包括如下子步骤:
13、s31:通过条件规范化层获得包含跨度边界信息和字符对之间关系信息的特征矩阵;
14、s32:使用卷积模块在特征矩阵中获得更精致、更丰富和多尺度的融合。
15、进一步的,步骤s32具体为:
16、s321:从输入文本得到位置嵌入向量和区域嵌入向量,将词嵌入向量、位置嵌入向量和区域嵌入向量进行拼接然后输入卷积模块,其中位置嵌入向量表示每个词对中包含的相对位置信息,区域嵌入向量用于分隔特征矩阵的上三角和下三角的区域信息;
17、s322:使用一个全连接网络对特征矩阵进行混合并降低维度,再送入多个扩张卷积中进行运算,最后将不同的卷积输出结果拼接起来,得到细化后的特征。
18、进一步的,步骤s4包括如下子步骤:
19、s41:使用多层感知机对卷积模块的输出特征进行关系预测,同时将编码层输出特征输入双仿射注意力机制进行词对关系预测,并将多层感知机输出结果与双仿射注意力机制输出结果相加,送入解码层;
20、s42:通过解码层对所有可能的功能点类型进行解码,得到最终的功能点位置和其对应的功能点类型。
21、一种基于命名实体识别模型的软件功能点识别系统,用以实现上述所述的一种基于命名实体识别模型的软件功能点识别方法,包括预处理模块、编码模块、卷积模块、预测模块和解码模块,其中,
22、预处理模块,用以对文本数据进行数据预处理,得到文本中与功能点相关的数据集;
23、编码模块,用以对文本数据进行编码处理,从文本中提取特征和上下文信息,得到词嵌入向量;
24、卷积模块,用以将位置嵌入向量、区域嵌入向量和词嵌入向量进行拼接后,进行卷积,得到细化后的特征;
25、预测模块,通过多层感知机和双仿射注意力机制组成的预测器推断出字符对之间的关系;
26、解码模块,用以对所有可能的功能点类型进行解码,得到最终的功能点位置和其对应的功能点类型。
27、本发明的有益效果在于:本发明采用ner模型,结合软件功能分析的业务场景。有较高的识别率和准确性,本发明可以通过特征提取、特征融合等多个步骤对功能进行处理和分析,提高功能识别的准确性和可靠性,可以极大地节约人工成本,更好的贴合国家标准进行优化,并在应用过程中不断进行模型训练,保持产品稳定性和可用性。
1.一种基于命名实体识别模型的软件功能点识别方法,其特征在于,包括如下步骤:
2.如权利要求1所述的一种基于命名实体识别模型的软件功能点识别方法,其特征在于,步骤s1具体为:对需求文档提取文本数据,并将文本数据中的每一段进行划分,将每一段功能点所在位置与其对应的功能点类型进行匹配,得到需求文档中与功能点相关的数据集。
3.如权利要求2所述的一种基于命名实体识别模型的软件功能点识别方法,其特征在于,步骤s2包括如下子步骤:
4.如权利要求3所述的一种基于命名实体识别模型的软件功能点识别方法,其特征在于,步骤s21具体为:输入文本数据,将其中每一个词转换成多个词片段,并将词片段输入预训练的bert模型中,经过bert计算后,使用最大池化将词片段重新表示为词嵌入向量,然后通过生成对抗样本来训练模型,以区分真实样本与对抗样本,所述对抗样本是由词嵌入向量经过人为干扰后生成的。
5.如权利要求4所述的一种基于命名实体识别模型的软件功能点识别方法,其特征在于,步骤s3包括如下子步骤:
6.如权利要求5所述的一种基于命名实体识别模型的软件功能点识别方法,其特征在于,步骤s32具体为:
7.如权利要求6所述的一种基于命名实体识别模型的软件功能点识别方法,其特征在于,步骤s4包括如下子步骤:
8.一种基于命名实体识别模型的软件功能点识别系统,用以实现权利要求1~7任意一项所述的一种基于命名实体识别模型的软件功能点识别方法,其特征在于,包括预处理模块、编码模块、卷积模块、预测模块和解码模块,其中,