CN117493568B - 一种端到端软件功能点提取与识别方法 - Google Patents
一种端到端软件功能点提取与识别方法 Download PDFInfo
- Publication number
- CN117493568B CN117493568B CN202311486118.5A CN202311486118A CN117493568B CN 117493568 B CN117493568 B CN 117493568B CN 202311486118 A CN202311486118 A CN 202311486118A CN 117493568 B CN117493568 B CN 117493568B
- Authority
- CN
- China
- Prior art keywords
- category
- model
- text
- function point
- item
- 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 57
- 238000000605 extraction Methods 0.000 title claims abstract description 33
- 230000006870 function Effects 0.000 claims abstract description 126
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 8
- 238000012549 training Methods 0.000 claims description 17
- 238000013136 deep learning model Methods 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 7
- 230000003044 adaptive effect Effects 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims description 5
- 238000000354 decomposition reaction Methods 0.000 claims description 3
- 230000008014 freezing Effects 0.000 claims description 2
- 238000007710 freezing Methods 0.000 claims description 2
- 238000011156 evaluation Methods 0.000 abstract description 7
- 238000013135 deep learning Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 15
- 238000013145 classification model Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0985—Hyperparameter optimisation; Meta-learning; Learning-to-learn
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/041—Abduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种端到端软件功能点提取与识别方法,结合深度学习生成式大语言模型,在软件造价领域实现端到端的功能点条目精确提取,通过人工智能网络架构,能够直接输出规范化的功能点条目。同时基于双向编码表示的文本分类BERT模型对功能点类别进行精确识别,以取得涉及不同领域软件造价评估的功能点精确识别与高泛化性。
Description
技术领域
本发明涉及人工智能软件技术领域,特别涉及一种依托于大语言模型、文本分类模型的高泛化性端到端软件功能点精准提取与识别。
背景技术
软件工程项目的成本是影响项目质量和成效的重要因素之一。科学统一的软件造价评估成为有效进行软件工程项目管理的重要依据,也是当前软件工程领域产业发展的迫切需要,其首要任务是确定软件规模。功能点估算方法是一种可靠、有效的软件规模度量方法,它通过测量和统计软件的功能点来计算最终的造价。
然而,经典的软件功能点估算方法往往基于人工测算与审查方式完成,缺少统一的流程范式,并需要消耗大量人力物力,以实现从原始软件需求说明文档到功能点条目的提取与识别。
为了满足自动化需求,近年来基于机器学习的功能点识别技术被提出,现有的自动化软件功能点估算方法在端到端模式、数据泛化性、功能点精细化提取与识别存在一定问题:
问题一:无法实现端到端模式的功能点条目生成。
现有自动化软件功能点估算方法仅实现软件功能点的粗略识别,一般来说,它们基于机器学习方法对功能点条目数据集进行类别区分。而在实际场景应用中,仍然需要人工从完整文档中定位出功能点描述,针对功能点条目离线建立用于测试的功能点条目数据集,才能利用机器学习算法完成识别与最终条目生成。上述过程包含了人工提取与自动化识别两阶段,这种非端到端的模式流程繁琐。对于得到的结果,预处理与后处理都需要大量人力来判读来确定各个类型功能点的数目,进而完成造价评估。
问题二:现有功能点识别方法难以泛化和精确判别。
基于机器学习的功能点识别方法在数据侧往往依赖于公开标注的功能点条目数据集,这些数据集通常是由人工筛选或仿真的功能描述样例构建而成的,缺少自动化功能点提取步骤,这导致了在真实应用场景下,对于特定领域的软件功能点识别的泛化性较差。
在模型侧,机器学习模型仅依赖于有限的数据和特征时,其性能可能受到限制,现有模型往往只能实现对简单样本中功能点类别的粗略判别,而在复杂情境下可能表现不佳。同时,传统的机器学习方法通常需要手动提取特征,这需要领域专家的知识和经验,同时会引入过多的归纳偏置,仅适合于小规模数据或简单样本的训练与测试。这种方法对于复杂的自然语言处理任务,如功能点识别,不够灵活和高效,因为自然语言的特征往往是多层次和抽象的。总的来说,现有自动化软件造价评估方法的整体流程泛化性差、精确提取与识别能力不足、缺少文档功能点条目提取方法,不满足智能化处理与端到端模式的需求。
因此,如何提供一种提高公路性能预测准确性和可靠性的端到端软件功能点提取与识别方法是本领域技术人员亟待解决的技术问题。
发明内容
本发明针对上述研究现状和存在的问题,提供了一种高泛化性的端到端软件功能点精准提取与识别方法,直接完成从原始软件需求说明文档到各个功能点条目的输出,并取得更精确提取与识别效果,适应于不同领域的软件造价评估任务。
本发明提供的一种端到端软件功能点提取与识别方法,包括如下步骤:
生成式大语言模型的构建步骤:
S1:构建问答对数据集,所述问答对数据集包括功能点文档段落,及其对应的规范化功能点条目真值,所述规范化功能点条目真值包括条目文本真值和对应的类别真值;
S2:构建深度学习模型,利用所述问答对数据集对深度学习模型进行训练,获得生成式大语言模型,所述生成式大语言模型的输入为功能点文档段落,输出为规范化功能点条目,所述规范化功能点条目包括条目文本;
文本分类BERT模型的构建步骤:
S3:利用所述规范化功能点条目真值预训练双向编码表示注意力模型,获得文本分类BERT模型,所述文本分类BERT模型输入为条目文本,输出为各个条目文本对应的第二类别;
软件功能点提取与识别步骤:
S4:将功能点文档段落输入至所述生成式大语言模型,生成式大语言模型输出的所述条目文本输入至所述文本分类BERT模型,获得所述第二类别并输出。
优选的,所述类别真值根据软件的数据功能和事务功能确定,包括:ILF、EIF、EI、EO和EQ。
优选的,所述S2中的深度学习模型采用Transformer Decoder-only架构。
优选的,所述S3中的双向编码表示注意力模型采用Transformer Encoder-only架构。
优选的,所述S2还包括:基于低秩自适应策略对预训练的生成式大语言模型进行调整:
对于预训练的生成式大语言模型权值矩阵引入低秩分解,将预训练的生成式大语言模型权重参数冻结,不接受梯度更新,作为替代仅更新两个秩为r的矩阵A和B;其中,A使用随机高斯初始化,对B使用0初始化,使模型的起始状态从预训练模型开始;
模型微调阶段采用优化的损失函数为:模型输出token与规范化输出数据真值token之间的交叉熵损失。
优选的,所述S4还包括:在将功能点文档段落输入至所述生成式大语言模型的同时,输入提示词,所述生成式大语言模型基于提示词对功能点文档段落进行规范化功能点条目的提取。
优选的,所述提示词包括对类别对应的条目文本真值,或类别对应的文档内容定义文本。
优选的,所述文本分类BERT模型包括Transformer编码器和功能点分类器,具体执行如下步骤;
将所述条目文本划分成单词或子词;
对每个单词或子词进行嵌入编码的提取,并将编码经过多层堆叠的Transformer编码器提取文本分词特征,获得特征表示;
所述特征表示输入至功能点分类器进行文本分类,获得分类结果,并计算交叉熵损失更新功能点分类器参数;所述分类结果包括类别及对应的置信度,选择置信度最高的类别作为所述第二类别。
优选的,所述S2中的所述规范化功能点条目包括:条目文本和对应的第一类别;所述S4获得所述第二类别后还包括如下步骤:
将同一条目文本的对应第一类别与第二类别进行比较判断,若第一类别与第二类别相同,则输出当前条目文本对应的第一类别/第二类别;若第一类别与第二类别不同,且第二类别的置信度足够高,则输出当前条目文本对应的第二类别。
优选的,所述文本分类BERT模型输出为具有规范化格式的条目文本及对应的第二类别。
本发明提出的端到端软件功能点提取与识别方法相较现有技术具有以下
有益效果:
本发明采取了基于文本问答对微调生成式大语言模型的技术方案,能够按固定格式输出规范化功能点条目,从而实现以端到端的方式完成对输入完整文档,生成所含的各类功能点内容与数目的操作。本发明消除了现有繁琐的人工提取与自动化识别两阶段流程,使功能点条目生成变得高效且无需人工干预。在软件造价评估过程中,直接列出文档中的各个功能点条目有利于进行后续的造价计算,仅需简单的加权统计,节省了大量时间和人力成本。
本发明通过微调BERT模型,利用基于大规模预训练模型的文本分类算法,进行所提取功能点条目的后处理,实现精准识别。利用大规模语料库训练的BERT模型包含丰富的语言知识,将它在专业领域数据集下微调能够指导模型在特定任务上表现优异,并具备更好的泛化能力。
综上,通过提供端到端且高质量的功能点条目生成,能够更快速地理解和实现软件功能点估算与筛查,从而提升整个软件造价分析的效率和质量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例提供的针对功能点条目精确提取的生成式大语言模型微调原理图;
图2是本发明实施例提供的针对功能点类别精确识别的文本分类模型原理图;
图3是本发明实施例提供的端到端软件功能点提取与识别流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明是一个依托于大语言模型、文本分类模型的软件功能点精确提取与识别方法,具备端到端的流程范式,同时具有泛化到多类不同数据的能力。本发明提供的实施例着重解决软件工程领域中,自动化软件造价评估流程中缺少端到端模式的功能点条目生成问题,在软件功能点分析,软件成本造价评估方面具有巨大作用。
本发明实施例主要分为端到端的功能点条目精确提取以及功能点类别精确识别两个部分。首次结合深度学习生成式大语言模型,在软件造价领域实现端到端的功能点条目精确提取,通过人工智能网络架构,能够直接输出规范化的功能点条目。同时首次基于双向编码表示的文本分类模型对功能点类别进行精确识别,以取得涉及不同领域软件造价评估的功能点精确识别与高泛化性。
功能点条目精确提取以及功能点类别精确识别过程均需要对相关模型执行预训练步骤,而后利用预训练的模型执行功能点条目提取与类别识别的步骤。具体执行过程如下:
生成式大语言模型的构建步骤,用于功能点条目精确提取:
S1:构建问答对数据集,所述问答对数据集包括功能点文档段落,及其对应的规范化功能点条目真值,所述规范化功能点条目真值包括条目文本真值和对应的类别真值;
S2:构建深度学习模型,利用所述问答对数据集对深度学习模型进行训练,获得生成式大语言模型,所述生成式大语言模型的输入为功能点文档段落,输出为规范化功能点条目,所述规范化功能点条目包括条目文本;
文本分类BERT模型的构建步骤,用于功能点类别精确识别:
S3:利用所述规范化功能点条目真值预训练双向编码表示注意力模型,获得文本分类BERT模型,所述文本分类BERT模型输入为条目文本,输出为各个条目文本对应的第二类别;
软件功能点提取与识别步骤:
S4:将功能点文档段落输入至所述生成式大语言模型,生成式大语言模型输出的所述条目文本输入至所述文本分类BERT模型,获得所述第二类别并输出。
在一个实施例中,对于端到端的功能点条目精确提取算法,首先需要生成式大语言模型作为底座模型。其中大语言模型是指在大规模文本数据上进行预训练的深度学习模型,具有巨大的模型参数量。生成式大语言模型仅采用Transformer架构中的解码器,被称为Decoder-only架构。这种架构对于自动生成文本摘要或进行语言生成任务非常有优势,因为它可以生成连贯的文本序列。
在一个实施例中,对于通用知识,生成式大语言模型能够实现文本问答与文本摘要生成,而为了在特定领域上实现更精准的效果,往往需要添加相关专业知识的提示词输入至模型中,或将模型在对应领域数据集上进行微调。
在一个实施例中,本发明构建了一套“功能点文档段落——规范化功能点条目”的问答对数据集。可以理解的是,问答对中的“问”指功能点文档段落,相对应的“答”指人为标注的每一个功能点文档段落中包含的功能点条目真值,所谓功能点条目真值包括条目文本真值和对应的类别真值,条目文本真值为字符文档,类别真值根据软件的数据功能和事务功能确定,包括:ILF、EIF、EI、EO和EQ。
其中ILF和EIF用于数据功能估计,EI、EO和EQ用于事务功能估计。
ILF,即内部逻辑文件;EIF,即外部接口文件。
EI:是处理来自于应用程序边界外部的一组数据的输入,它的主要目的是维护一个或多个ILF,以及/或者更改***的行为。
EO:是输送数据到应用程序边界外部的过程。它的主要目的是通过逻辑处理过程向用户呈现信息。该处理过程必须包含至少一个数学公式或计算方法,或生成派生数据。一个EO也可以维护一个或多个ILF,并/或改变***行为。
EQ:是向应用程序边界外发送数据基本处理的过程。其主要目的是从ILF或EIF中通过恢复数据信息来向用户呈现。
数据集的构建方式为人工筛选多种真实场景的软件需求说明文档,并从中选取较为优质的功能点文本段落作为输入数据,基于专家知识进行详细的数据标注,将规范化格式的功能点条目作为输出数据真值。具体来说,功能点文本段落长度不应过短,包含的功能点类别应尽量丰富,数目不宜过多,标注难度适中,文档尽量涵盖不同领域。最终的规范格式能够实现通过固定的分隔符与切分方式,将模型的输出结果直接切分成一个一个条目的形式,且包括各个条目的类别信息。
本实施例中,在问答对数据集上利用低秩自适应策略,对预训练的生成式大语言模型进行了微量微调。微调流程如图1所示。
低秩自适应策略是一种模型微调的方法,用于减少大型预训练语言模型在特定任务或领域上的微调成本,同时更适应于少量样本条件下的微调而无需再针对特定领域标注大规模数据集,能够取得和全量微调相当的表现。低秩自适应采用了简单的线性设计,使得在部署时可以将可训练矩阵与冻结权重合并,而不会引入额外的推理延迟。这意味着部署低秩自适应的微调模型时,不会降低模型的推理效率。该方法对于预训练的权值矩阵引入低秩分解,将预训练的权重参数冻结,不接受梯度更新,作为替代仅更新两个秩为r的矩阵A和B。A使用随机高斯初始化,对B使用0初始化,使模型的起始状态从预训练模型开始。具体流程如下:
原始大型预训练语言模型主要由注意力模块组成,这些注意力模块均通过输入与权重矩阵的线性计算来获得模块输出结果。假设某个矩阵权重为 则在低秩自适应的微调策略中,本实施例将注意力模块的输入x同时经过低秩自适应的两个矩阵以及原始权重矩阵,得到输出y:
y=(W+AB)x,r<<min(d,k)
其中,原始权重矩阵W被冻结,可训练的参数仅包括低秩矩阵A和B,用于梯度反向传播。由于原始模型包含了大量上述注意力模块,并且低秩矩阵的秩远小于原始矩阵尺寸,因此通过对其中的全部矩阵实施该方法,可以节省大量微调成本,同时仍能保证其性能。
本发明使用低秩自适应策略,实现了生成式大语言模型在软件造价特定领域上的微调,完成了软件功能点的规范化提取,能够精确获得各个类别的功能点内容与数目。利用低秩自适应策略对预训练的生成式大语言模型进行微量微调,从而解决全量微调易过拟合、耗时长、训练难等问题。
在模型微调阶段,采用优化的损失函数为模型输出token与规范化输出数据真值token之间的交叉熵损失。
本实施例模型不同于原始模型的随机文本生成,生成式大语言模型输出为规范化功能点条目形式,即由第一类别、分隔符和条目文本构成的规范化字符串结构。
在一个实施例中,对于功能点类别精确识别算法,首先需要预训练的双向编码表示注意力模型。该模型仅采用Transformer架构中的编码器,被称为Encoder-only架构。这种架构通过无监督学习从大规模文本语料库中学习文本的深层次表示,但与传统的单向语言模型不同,它是一个双向模型,可以同时考虑上下文中的信息。归功于Transformer注意力模型在大规模语料库上的预训练,它具备更优的语言理解能力,进行文本分类时能够更好的泛化到不同类型数据。
其预训练的核心任务是被称为掩码语言模型的自监督任务。在这个任务中,输入文本中的某些单词会被随机掩盖,模型需要预测这些掩盖单词。这使它能够理解文本的上下文和语法。除此以外,它还包含了一个二分类的下一句预测任务,需要判断两个句子是否是相邻的,这有助于模型理解文本中的段落结构和逻辑关系。最终,预训练得到的模型具备优秀的通用语言理解能力,通过模型微调来适应特定领域的文本分类任务能够取得优异的效果,并且具备良好的泛化性。
本实施例融合了生成式大语言模型Decoder-only架构与双向编码表示Transformer注意力模型Encoder-only架构的优势,既保证了强大的生成与问答能力来用于理解文本并精确提取其中的连贯功能点条目,同时保证了通用语言表示学习与深层语义特征提取的能力,从而解决在不同领域中,对提取出的软件功能点精确识别困难的问题。
本发明实施例所提技术方案的优越性主要包括以下几点:
1.基于微调大语言模型的功能点精确提取:本技术方案不仅利用了大规模预训练的生成式大语言模型,借助其处理文本生成和摘要任务的出色生成能力,同时结合了领域专业知识。通过构建“功能点文档段落——规范化功能点条目”的问答对数据集,并采用低秩自适应策略对模型进行微调,可以提高模型在特定领域的性能,实现对各个功能点的精确提取。
2.基于双向编码表示注意力模型的功能点识别:对于功能点的类别识别,本技术方案使用了双向编码表示注意力模型,这是一个预训练的文本分类模型。这种模型具有深层次的文本表示能力,可以更好地理解文本的上下文和语法结构,从而提高了功能点的分类准确性与泛化性。
3.端到端的整体流程:技术方案提供一个端到端的流程,可以从完整文档中切分出各个文本段落,然后精确提取功能点描述并进行分类。这种一体化的方法可以提高工作效率和准确性,利于后续直接计算造价评估成本而无需额外后处理。
总的来说,这个技术方案利用了深度学习模型和专业领域知识相结合的方法,解决了从文本数据中提取和分类功能点的问题。这将在软件需求分析和规划中具有潜在的广泛应用,提高了自动化和准确性,减少了人工劳动成本。
以上对于生成式大语言模型构建的实施例,结合人工智能领域的深度学习算法,利用其自动文本理解、文本生成与上下文感知的能力,通过分析文本的语法、语义和上下文,自动对文档中各个段落的关键功能点描述进行提取,并将其分类别按条目输出。本发明微调的生成式大语言模型能够按固定格式输出规范化功能点条目,同时基于提示词学习策略,在不改变输出格式的情况下实现功能点的细化。从而实现完整文档到不同类别功能点条目内容与数目的端到端生成。
在一个实施例中,本发明基于预先标注的数据集中规范化功能点条目真值部分,训练用于功能点类别识别的文本分类模型,并通过融合生成式大语言模型的输出结果,得到了最终的功能点条目估算结果,能够直接用于后续造价计算。基于双向编码表示Transformer注意力模型的功能点识别技术,对上述模型的规范化条目输出进行进一步的识别,并将识别结果与规范化输出结果进行融合,实现了更准确的功能点识别。文本分类模型训练与推理流程如图2所示。
其中,文本分类训练流程的输入为数据集中的功能点条目,输出真值为各个条目对应的类别。测试流程的输入则为生成式大语言模型提取出的功能点条目。
本实施例对于输入到模型中的功能点条目,首先需要将文本数据划分成单词或子词,即进行分词过程,进一步对于每个词进行嵌入编码的提取,并将编码经过多层堆叠的Transformer编码器模块提取文本分词特征,最后在功能点分类器中进行文本分类,计算交叉熵损失。
功能点分类器包括前馈神经网络和softmax层,其可以作为编码器后针对任务特定的输出层,文本微调时,只需添加一个该输出层,而不需要重新训练整个模型,因此本发明只利用功能点分类损失更新分类器的参数即可。
以上对于文本分类BERT模型构建的实施例,通过微调BERT模型,即双向编码表示Transformer注意力网络的文本分类技术,实现了功能点条目的精确分类。该模型使用了大规模的预训练,并学会了通用语言表示,相比传统机器学习具备更高级的语义特征表达,并能够通过微调方式来适应特定的分类任务,更容易收敛、具备更高的泛化性与精确的判别性能。
在一个实施例中,在测试阶段,由于输入的功能点条目来自于生成式大语言模型的输出结果,其中同样包含类别判断结果,因此,对于两次结果统一的情况,以统一的类别判断结果作为输出;对于两次结果不统一的情况,本发明将根据文本分类模型输出分类结果的置信度,用高置信度的功能点识别类别替代第一次的输出,以实现更精确的推理。
对于本发明的整体实现端到端软件功能点提取与识别,将上述两个算法整合至统一的流程中,实现从完整文档切分各个文本段落,并在功能点相关的文本段落中定位出功能点描述,从中提取功能点条目内容与数目,最后实现功能点的分类识别。总体的技术路线图如图3所示。
以上对本发明所提供的一种端到端软件功能点提取与识别方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种端到端软件功能点提取与识别方法,其特征在于:包括如下步骤:
生成式大语言模型的构建步骤:
S1:构建问答对数据集,所述问答对数据集包括功能点文档段落,及其对应的规范化功能点条目真值,所述规范化功能点条目真值包括条目文本真值和对应的类别真值;
S2:构建深度学习模型,利用所述问答对数据集对深度学习模型进行训练,获得生成式大语言模型,所述生成式大语言模型的输入为功能点文档段落,输出为规范化功能点条目,所述规范化功能点条目包括条目文本;
文本分类BERT模型的构建步骤:
S3:利用所述规范化功能点条目真值预训练双向编码表示注意力模型,获得文本分类BERT模型,所述文本分类BERT模型输入为条目文本,输出为各个条目文本对应的第二类别;
软件功能点提取与识别步骤:
S4:将功能点文档段落输入至所述生成式大语言模型,生成式大语言模型输出的所述条目文本输入至所述文本分类BERT模型,获得所述第二类别并输出。
2.根据权利要求1所述的一种端到端软件功能点提取与识别方法,其特征在于,所述类别真值根据软件的数据功能和事务功能确定,包括:ILF、EIF、EI、EO和EQ。
3.根据权利要求1所述的一种端到端软件功能点提取与识别方法,其特征在于,所述S2中的深度学习模型采用Transformer Decoder-only架构。
4.根据权利要求1所述的一种端到端软件功能点提取与识别方法,其特征在于,所述S2还包括:基于低秩自适应策略对预训练的生成式大语言模型进行调整:
对于预训练的生成式大语言模型权值矩阵引入低秩分解,将预训练的生成式大语言模型权重参数冻结,不接受梯度更新,作为替代仅更新两个秩为r的矩阵A和B;其中,A使用随机高斯初始化,对B使用0初始化,使模型的起始状态从预训练模型开始;
模型微调阶段采用优化的损失函数为:模型输出token与规范化输出数据真值token之间的交叉熵损失。
5.根据权利要求1所述的一种端到端软件功能点提取与识别方法,其特征在于,所述S3中的双向编码表示注意力模型采用Transformer Encoder-only架构。
6.根据权利要求1所述的一种端到端软件功能点提取与识别方法,其特征在于,所述S4还包括:在将功能点文档段落输入至所述生成式大语言模型的同时,输入提示词,所述生成式大语言模型基于提示词对功能点文档段落进行规范化功能点条目的提取。
7.根据权利要求6所述的一种端到端软件功能点提取与识别方法,其特征在于,所述提示词包括对类别对应的条目文本真值,或类别对应的文档内容定义文本。
8.根据权利要求1所述的一种端到端软件功能点提取与识别方法,其特征在于,所述文本分类BERT模型包括Transformer编码器和功能点分类器,具体执行如下步骤;
将所述条目文本划分成单词或子词;
对每个单词或子词进行嵌入编码的提取,并将编码经过多层堆叠的Transformer编码器提取文本分词特征,获得特征表示;
所述特征表示输入至功能点分类器进行文本分类,获得分类结果,并计算交叉熵损失更新功能点分类器参数;所述分类结果包括类别及对应的置信度,选择置信度最高的类别作为所述第二类别。
9.根据权利要求1所述的一种端到端软件功能点提取与识别方法,其特征在于,所述S2中的所述规范化功能点条目包括:条目文本和对应的第一类别;所述S4获得所述第二类别后还包括如下步骤:
将同一条目文本的对应第一类别与第二类别进行比较判断,若第一类别与第二类别相同,则输出当前条目文本对应的第一类别/第二类别;若第一类别与第二类别不同,且第二类别置信度足够高,则输出当前条目文本对应的第二类别。
10.根据权利要求1所述的一种端到端软件功能点提取与识别方法,其特征在于,所述文本分类BERT模型输出为具有规范化格式的条目文本及对应的第二类别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311486118.5A CN117493568B (zh) | 2023-11-09 | 2023-11-09 | 一种端到端软件功能点提取与识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311486118.5A CN117493568B (zh) | 2023-11-09 | 2023-11-09 | 一种端到端软件功能点提取与识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117493568A CN117493568A (zh) | 2024-02-02 |
CN117493568B true CN117493568B (zh) | 2024-04-19 |
Family
ID=89684430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311486118.5A Active CN117493568B (zh) | 2023-11-09 | 2023-11-09 | 一种端到端软件功能点提取与识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117493568B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289407A (zh) * | 2011-09-06 | 2011-12-21 | 北京信息科技大学 | 文档格式转换自动测试方法及其装置 |
CN109271201A (zh) * | 2018-09-27 | 2019-01-25 | 华东师范大学 | 一种智能功能点识别的软件计价*** |
CN109284088A (zh) * | 2018-08-02 | 2019-01-29 | 北京天元创新科技有限公司 | 一种信令大数据处理方法及电子设备 |
CN109375948A (zh) * | 2018-09-27 | 2019-02-22 | 华东师范大学 | 一种智能功能点识别的软件计价方法 |
CN110516073A (zh) * | 2019-08-30 | 2019-11-29 | 北京百度网讯科技有限公司 | 一种文本分类方法、装置、设备和介质 |
CN110956033A (zh) * | 2019-12-04 | 2020-04-03 | 北京中电普华信息技术有限公司 | 一种文本相似度计算方法及装置 |
CN111143556A (zh) * | 2019-12-11 | 2020-05-12 | 平安银行股份有限公司 | 软件功能点自动计数方法、装置、介质及电子设备 |
CN111274817A (zh) * | 2020-01-16 | 2020-06-12 | 北京航空航天大学 | 一种基于自然语言处理技术的智能化软件成本度量方法 |
CN112149421A (zh) * | 2020-09-23 | 2020-12-29 | 云南师范大学 | 一种基于bert嵌入的软件编程领域实体识别方法 |
CN112817561A (zh) * | 2021-02-02 | 2021-05-18 | 山东省计算中心(国家超级计算济南中心) | 软件需求文档的事务类功能点结构化抽取方法及*** |
CN112948575A (zh) * | 2019-12-11 | 2021-06-11 | 京东数字科技控股有限公司 | 文本数据处理方法、装置和计算机可读存储介质 |
CN113642330A (zh) * | 2021-07-19 | 2021-11-12 | 西安理工大学 | 基于目录主题分类的轨道交通规范实体识别方法 |
CN113836298A (zh) * | 2021-08-05 | 2021-12-24 | 合肥工业大学 | 基于视觉增强的文本分类方法和*** |
CN114077514A (zh) * | 2021-11-17 | 2022-02-22 | 佛山市宏图数据有限公司 | 一种基于人工智能视觉识别的计算机运维方法 |
CN114610308A (zh) * | 2022-03-30 | 2022-06-10 | 北京数码大方科技股份有限公司 | 应用功能布局的调整方法及装置、电子设备、存储介质 |
CN115113919A (zh) * | 2022-08-30 | 2022-09-27 | 四川赛闯检测股份有限公司 | 基于BERT模型和Web技术的软件规模度量智能信息化*** |
CN116342167A (zh) * | 2023-05-22 | 2023-06-27 | 中国电子技术标准化研究院 | 基于序列标注命名实体识别的智能成本度量方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9959255B2 (en) * | 2014-01-31 | 2018-05-01 | Yahoo Holdings, Inc. | Dynamic streaming content provided by server and client-side tracking application |
US20180247227A1 (en) * | 2017-02-24 | 2018-08-30 | Xtract Technologies Inc. | Machine learning systems and methods for data augmentation |
-
2023
- 2023-11-09 CN CN202311486118.5A patent/CN117493568B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289407A (zh) * | 2011-09-06 | 2011-12-21 | 北京信息科技大学 | 文档格式转换自动测试方法及其装置 |
CN109284088A (zh) * | 2018-08-02 | 2019-01-29 | 北京天元创新科技有限公司 | 一种信令大数据处理方法及电子设备 |
CN109271201A (zh) * | 2018-09-27 | 2019-01-25 | 华东师范大学 | 一种智能功能点识别的软件计价*** |
CN109375948A (zh) * | 2018-09-27 | 2019-02-22 | 华东师范大学 | 一种智能功能点识别的软件计价方法 |
CN110516073A (zh) * | 2019-08-30 | 2019-11-29 | 北京百度网讯科技有限公司 | 一种文本分类方法、装置、设备和介质 |
CN110956033A (zh) * | 2019-12-04 | 2020-04-03 | 北京中电普华信息技术有限公司 | 一种文本相似度计算方法及装置 |
CN112948575A (zh) * | 2019-12-11 | 2021-06-11 | 京东数字科技控股有限公司 | 文本数据处理方法、装置和计算机可读存储介质 |
CN111143556A (zh) * | 2019-12-11 | 2020-05-12 | 平安银行股份有限公司 | 软件功能点自动计数方法、装置、介质及电子设备 |
CN111274817A (zh) * | 2020-01-16 | 2020-06-12 | 北京航空航天大学 | 一种基于自然语言处理技术的智能化软件成本度量方法 |
CN112149421A (zh) * | 2020-09-23 | 2020-12-29 | 云南师范大学 | 一种基于bert嵌入的软件编程领域实体识别方法 |
CN112817561A (zh) * | 2021-02-02 | 2021-05-18 | 山东省计算中心(国家超级计算济南中心) | 软件需求文档的事务类功能点结构化抽取方法及*** |
CN113642330A (zh) * | 2021-07-19 | 2021-11-12 | 西安理工大学 | 基于目录主题分类的轨道交通规范实体识别方法 |
CN113836298A (zh) * | 2021-08-05 | 2021-12-24 | 合肥工业大学 | 基于视觉增强的文本分类方法和*** |
CN114077514A (zh) * | 2021-11-17 | 2022-02-22 | 佛山市宏图数据有限公司 | 一种基于人工智能视觉识别的计算机运维方法 |
CN114610308A (zh) * | 2022-03-30 | 2022-06-10 | 北京数码大方科技股份有限公司 | 应用功能布局的调整方法及装置、电子设备、存储介质 |
CN115113919A (zh) * | 2022-08-30 | 2022-09-27 | 四川赛闯检测股份有限公司 | 基于BERT模型和Web技术的软件规模度量智能信息化*** |
CN116342167A (zh) * | 2023-05-22 | 2023-06-27 | 中国电子技术标准化研究院 | 基于序列标注命名实体识别的智能成本度量方法和装置 |
Non-Patent Citations (2)
Title |
---|
基于StackOverflow数据的软件功能特征挖掘组织方法;朱子骁;邹艳珍;华晨彦;沈琦;赵俊峰;;软件学报;20180313(08);第38-53页 * |
格式信息在文档理解中的作用;李宁;梁琦;施运梅;;北京信息科技大学学报(自然科学版);20121215(06);第4-10页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117493568A (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112528676B (zh) | 文档级别的事件论元抽取方法 | |
CN111738003B (zh) | 命名实体识别模型训练方法、命名实体识别方法和介质 | |
CN110866542B (zh) | 一种基于特征可控融合的深度表示学习方法 | |
CN108830287A (zh) | 基于残差连接的Inception网络结合多层GRU的中文图像语义描述方法 | |
CN104035996B (zh) | 基于Deep Learning的领域概念抽取方法 | |
CN112560432A (zh) | 基于图注意力网络的文本情感分析方法 | |
CN110188195B (zh) | 一种基于深度学习的文本意图识别方法、装置及设备 | |
CN112749274B (zh) | 基于注意力机制和干扰词删除的中文文本分类方法 | |
CN114818703B (zh) | 基于BERT语言模型和TextCNN模型的多意图识别方法及*** | |
CN112784031B (zh) | 一种基于小样本学习的客服对话文本的分类方法和*** | |
CN115631365A (zh) | 一种融合知识图谱的跨模态对比零样本学习方法 | |
CN114841151B (zh) | 基于分解-重组策略的医学文本实体关系联合抽取方法 | |
CN113869055A (zh) | 基于深度学习的电网项目特征属性识别方法 | |
CN116663540A (zh) | 基于小样本的金融事件抽取方法 | |
CN111899766A (zh) | 基于深度特征与声学特征寻优融合的语音情感识别方法 | |
CN114117041A (zh) | 一种基于特定属性词上下文建模的属性级情感分析方法 | |
CN112925983A (zh) | 一种电网资讯信息的推荐方法及*** | |
CN117494760A (zh) | 一种基于超大规模语言模型的富语义标签数据增广方法 | |
CN112163069A (zh) | 一种基于图神经网络节点特征传播优化的文本分类方法 | |
CN117493568B (zh) | 一种端到端软件功能点提取与识别方法 | |
CN116384379A (zh) | 一种基于深度学习的中文临床术语标准化方法 | |
CN111368524A (zh) | 一种基于自注意力双向gru和svm的微博观点句识别方法 | |
CN116595982A (zh) | 一种基于动态图卷积的嵌套命名实体识别方法 | |
CN113342982B (zh) | 融合RoBERTa和外部知识库的企业行业分类方法 | |
CN115906846A (zh) | 一种基于双图的层次特征融合的文档级命名实体识别方法 |
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 |