CN116342167A - 基于序列标注命名实体识别的智能成本度量方法和装置 - Google Patents
基于序列标注命名实体识别的智能成本度量方法和装置 Download PDFInfo
- Publication number
- CN116342167A CN116342167A CN202310574954.2A CN202310574954A CN116342167A CN 116342167 A CN116342167 A CN 116342167A CN 202310574954 A CN202310574954 A CN 202310574954A CN 116342167 A CN116342167 A CN 116342167A
- Authority
- CN
- China
- Prior art keywords
- sentence
- entity
- determining
- sequence
- nesma
- 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.)
- Granted
Links
- 238000002372 labelling Methods 0.000 title claims abstract description 142
- 238000000691 measurement method Methods 0.000 title claims abstract description 55
- 239000013598 vector Substances 0.000 claims abstract description 180
- 239000011159 matrix material Substances 0.000 claims abstract description 145
- 230000006870 function Effects 0.000 claims abstract description 131
- 238000000034 method Methods 0.000 claims abstract description 90
- 238000005259 measurement Methods 0.000 claims abstract description 40
- 238000004458 analytical method Methods 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims description 75
- 238000012549 training Methods 0.000 claims description 53
- 238000013136 deep learning model Methods 0.000 claims description 45
- 238000004590 computer program Methods 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 26
- 238000004140 cleaning Methods 0.000 claims description 17
- 238000011161 development Methods 0.000 claims description 12
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 230000009471 action Effects 0.000 claims description 10
- 230000000873 masking effect Effects 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 10
- 230000001502 supplementing effect Effects 0.000 claims description 10
- 238000010380 label transfer Methods 0.000 claims description 9
- 238000011156 evaluation Methods 0.000 abstract description 47
- 238000005516 engineering process Methods 0.000 abstract description 20
- 238000003058 natural language processing Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 28
- 230000018109 developmental process Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000007728 cost analysis Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 238000013210 evaluation model Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 3
- 230000006403 short-term memory Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 102100021705 C1GALT1-specific chaperone 1 Human genes 0.000 description 2
- 101000896591 Homo sapiens C1GALT1-specific chaperone 1 Proteins 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007787 long-term memory Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0206—Price or cost determination based on market factors
-
- 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
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- 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
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明提供了一种基于序列标注命名实体识别的智能成本度量方法和装置,该方法包括:利用预设行业语料库将需求文档以句子为单位进行Nesma功能点识别和字序列标签分类标注,确定输入数据;根据输入数据,获取句子的序列特征,确定多维向量矩阵;根据多维向量矩阵,获取句子序列的正向特征和逆向特征,确定句子序列上下文特征向量矩阵;根据句子序列上下文特征向量矩阵,识别上下文特征向量中的各个子序列组合构成实体的概率,实体预测结果;根据实体预测结果,确定成本预测结果。本发明依据Nesma功能点分析方法,采用字序列标注等自然语言处理技术,可以进行准确的功能点实体识别并快速完成软件成本度量造价评估。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于序列标注命名实体识别的智能成本度量方法和装置。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
软件成本度量价格评估一直是软件工程经济学研究的重点,通过对软件成本的预计值进行估算或对实际值进行测量、分析,估算、测量的成本将成为项目预算编制、招投标、项目计划、投资分析以及定价等活动的重要参考依据。
经过长时间的实践,软件成本度量价格评估可分为基于专家经验、基于经典模型、基于历史项目、基于建模技术四大类方法。
基于专家经验的软件价格评估方法是凭借专家的经验、“直觉”进行判断。其软件价格评估过程的很大一部分是基于不清晰的、不可重复的推理过程,不同专家对于同一项目的评估结果可能存在偏差较大。
基于经典模型的软件价格评估方法,以COCOMO、PRICE-S为代表,该类方法缺点主要是模型的构建都有特定的项目背景,并且输入值通常依赖sloc(软件源代码行)等后验型参数,无法在项目完成之前进行评估。
基于历史项目的软件价格评估方法,分为单一成本评估法、分类成本评估法,但无论哪种方法均需要积累大量历史项目数据且评估新项目时需要与历史项目保一定相似度,也就是评估精确度受限于历史项目的数量及相似度。
基于建模技术的软件价格评估是将传统数学建模方法:如回归方程、神经网络结合功能点分析理论用于软件成本度量评估领域,目前市面已有的基于功能点分析理论的神经网络深度学习模型大多是语料中文分词后进行序列标注、进而构成向量样本空间的训练、建模方案,这种基于分词的方案存在以下几个问题:
(1) 不同于英文可以直接采用空格分词,中文词语之间没有清晰的边界,故现有的中文分词技术还存在不少缺陷,分词不当产生的错误会直接导致后续序列标注、命名实体识别(Name Entity Recognition,NER)出现较大偏差。
(2) 维护大规模的词语-向量对照表存在难度,不在词典中的新加入语料的词语无法用向量表示,进而限制了模型的学习能力。
(3) 词语数据稀疏会导致模型出现过拟合,词典的大小会限制模型的学习能力。根据齐普夫定律(Zipf’s law),很多中文词语的出现频率都非常低,这使得模型难以学习到词语的语义信息。以使用较为广泛的 Chinese Treebank 数据集(Chinese Treebankdataset, CTB)为例进行说明。通过使用JIEBA分词对 CTB 数据集进行切词,可以得到615194个词语,其中不同词语50266个。这些词语中,有24458个词仅出现一次,占总词数的48.7%,仅占语料的4%,由此可以看出基于词语的数据集非常稀疏。由于词语数的增加会使模型参数增多,数据稀疏很容易引起过拟合问题。
因此,如何提供一种新的方案,其能够解决上述技术问题是本领域亟待解决的技术难题。
发明内容
本发明实施例提供一种基于序列标注命名实体识别的智能成本度量方法,依据Nesma功能点分析方法,采用字序列标注等自然语言处理技术,完成基于字序列标签分类标注的实体识别分类、对需求文档中的待识别文本可以进行准确的功能点实体识别并快速完成软件成本度量造价评估,该方法包括:
利用预设行业语料库将需求文档以句子为单位进行Nesma功能点识别和字序列标签分类标注,确定输入数据;
根据输入数据,获取句子的序列特征,确定多维向量矩阵;
根据多维向量矩阵,获取句子序列的正向特征和逆向特征,确定句子序列上下文特征向量矩阵;
根据句子序列上下文特征向量矩阵,识别上下文特征向量中的各个子序列组合构成实体的概率,确定实体预测结果;
根据实体预测结果,确定成本预测结果。
本发明实施例还提供一种基于序列标注命名实体识别的智能成本度量装置,包括:
输入数据确定模块,用于利用预设行业语料库将需求文档以句子为单位进行Nesma功能点识别和字序列标签分类标注,确定输入数据;
多维向量矩阵确定模块,用于根据输入数据,获取句子的序列特征,确定多维向量矩阵;
句子序列上下文特征向量矩阵确定模块,用于根据多维向量矩阵,获取句子序列的正向特征和逆向特征,确定句子序列上下文特征向量矩阵;
实体预测结果确定模块,用于根据句子序列上下文特征向量矩阵,识别上下文特征向量中的各个子序列组合构成实体的概率,确定实体预测结果;
成本预测结果确定模块,用于根据实体预测结果,确定成本预测结果。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于序列标注命名实体识别的智能成本度量方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于序列标注命名实体识别的智能成本度量方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述一种基于序列标注命名实体识别的智能成本度量方法。
本发明实施例提供的本发明实施例提供一种基于序列标注命名实体识别的智能成本度量方法和装置,该方法包括:利用预设行业语料库将需求文档以句子为单位进行Nesma功能点识别和字序列标签分类标注,确定输入数据;根据输入数据,获取句子的序列特征,确定多维向量矩阵;根据多维向量矩阵,获取句子序列的正向特征和逆向特征,确定句子序列上下文特征向量矩阵;根据句子序列上下文特征向量矩阵,识别上下文特征向量中的各个子序列组合构成实体的概率,确定实体预测结果;根据实体预测结果,确定成本预测结果。本发明依据Nesma功能点分析方法,采用字序列标注等自然语言处理技术,完成基于字序列标签分类标注的实体识别分类、对需求文档中的待识别文本可以进行准确的功能点实体识别并快速完成软件成本度量造价评估。相较于现有的专家经验法、历史项目评估法、模型评估法,本发明不依赖于人的主观意识、历史项目的质量及相似度、模型输入参数(如项目代码行数)的限制;相较于现有深度学习建模技术的功能点实体识别方法,本发明采取的语料预处理机制及基于字向量建立的序列标注模式可以更高效、更精准的完成实体识别任务。目前造价评估行业不同机构的评估能力良莠不齐,评估方法多为依赖人的专家经验分析法,评估水平严重依赖于造价分析师的能力,导致不同机构即便采取相同成本度量方法对同一需求的评估结果往往偏差也不小。本发明依据预设的垂直行业语料库,采取统一标准的数据预处理、深度学习模型的训练、识别方式,有能力做到软件成本度量造价分析结果精度趋于一致。由于项目需求文档的篇幅持续增长的态势,显然依赖人工造价评估的工作量也是成倍增加。况且不同行业的需求有其独特的领域特征,这些都需要造价分析人员不停的学习掌握,较大项目的需求评估如果只依赖人工其周期往往以月计。本发明借助语义识别技术快速标识海量需求数据的Nesma功能点识别,造价评估人员只需进行审核成本预测结果即可,相对纯人工的标注方式,本发明采用的机器功能点识别、处理模式效率显然更高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例一种基于序列标注命名实体识别的智能成本度量方法示意图。
图2为本发明实施例一种基于序列标注命名实体识别的智能成本度量方法的确定输入数据过程示意图。
图3为本发明实施例一种基于序列标注命名实体识别的智能成本度量方法的标注Nesma功能点交易处理类型过程示意图。
图4为本发明实施例一种基于序列标注命名实体识别的智能成本度量方法的字序列标签分类标注过程示意图。
图5为本发明实施例一种基于序列标注命名实体识别的智能成本度量方法的确定多维向量矩阵过程示意图。
图6为本发明实施例一种基于序列标注命名实体识别的智能成本度量方法的Roberta模型结构图。
图7为本发明实施例一种基于序列标注命名实体识别的智能成本度量方法的编码器的网络构造图。
图8为本发明实施例一种基于序列标注命名实体识别的智能成本度量方法的Softmax实例图。
图9为本发明实施例一种基于序列标注命名实体识别的智能成本度量方法的字序列BIO分类识别图。
图10为本发明实施例一种基于序列标注命名实体识别的智能成本度量方法的标签路径组合图。
图11为本发明实施例一种基于序列标注命名实体识别的智能成本度量方法的实体识别结果优选过程图。
图12为运行本发明实施的一种基于序列标注命名实体识别的智能成本度量方法的计算机设备示意图。
图13为本发明实施例一种基于序列标注命名实体识别的智能成本度量装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
图1为本发明实施例一种基于序列标注命名实体识别的智能成本度量方法示意图,如图1所示,本发明实施例提供一种基于序列标注命名实体识别的智能成本度量方法,依据NESMA功能点分析方法,采用字序列标注等自然语言处理技术,完成基于字序列标签分类标注的实体识别分类、对需求文档中的待识别文本可以进行准确的功能点实体识别并快速完成软件成本度量造价评估,该方法包括:
步骤101:利用预设行业语料库将需求文档以句子为单位进行Nesma功能点识别和字序列标签分类标注,确定输入数据;
步骤102:根据输入数据,获取句子的序列特征,确定多维向量矩阵;
步骤103:根据多维向量矩阵,获取句子序列的正向特征和逆向特征,确定句子序列上下文特征向量矩阵;
步骤104:根据句子序列上下文特征向量矩阵,识别上下文特征向量中的各个子序列组合构成实体的概率,确定实体预测结果;
步骤105:根据实体预测结果,确定成本预测结果。
本发明实施例提供的本发明实施例提供一种基于序列标注命名实体识别的智能成本度量方法和装置,该方法包括:利用预设行业语料库将需求文档以句子为单位进行Nesma功能点识别和字序列标签分类标注,确定输入数据;根据输入数据,获取句子的序列特征,确定多维向量矩阵;根据多维向量矩阵,获取句子序列的正向特征和逆向特征,确定句子序列上下文特征向量矩阵;根据句子序列上下文特征向量矩阵,识别上下文特征向量中的各个子序列组合构成实体的概率,确定实体预测结果;根据实体预测结果,确定成本预测结果。本发明依据Nesma功能点分析方法,采用字序列标注等自然语言处理技术,完成基于字序列标签分类标注的实体识别分类、对需求文档中的待识别文本可以进行准确的功能点实体识别并快速完成软件成本度量造价评估。相较于现有的专家经验法、历史项目评估法、模型评估法,本发明不依赖于人的主观意识、历史项目的质量及相似度、模型输入参数(如项目代码行数)的限制;相较于现有深度学习建模技术的功能点实体识别方法,本发明采取的语料预处理机制及基于字向量建立的序列标注模式可以更高效、更精准的完成实体识别任务。目前造价评估行业不同机构的评估能力良莠不齐,评估方法多为依赖人的专家经验分析法,评估水平严重依赖于造价分析师的能力,导致不同机构即便采取相同成本度量方法对同一需求的评估结果往往偏差也不小。本发明依据垂直行业语料库,采取统一标准的数据预处理、深度学习模型的训练、识别方式,有能力做到软件成本度量造价分析结果精度趋于一致。由于项目需求文档的篇幅持续增长的态势,显然依赖人工造价评估的工作量也是成倍增加。况且不同行业的需求有其独特的领域特征,这些都需要造价分析人员不停的学习掌握,较大项目的需求评估如果只依赖人工其周期往往以月计。本发明借助语义识别技术快速标识海量需求数据的Nesma功能点识别,造价评估人员只需进行审核成本预测结果即可,相对纯人工的标注方式,本发明采用的机器功能点识别、处理模式效率显然更高。
基于功能点(fp)的软件成本度量方法是目前被广泛采纳的行之有效的成熟体系,共计IFPUG(国际功能点用户组)、MkⅡ(英国软件度量协会)、COSMIC(通用软件度量国际联盟)、NESMA(荷兰软件度量协会)和FiSMA (芬兰软件度量协会)5种方法,其中MkⅡ,FiSMA多为英联邦和芬兰地区采纳,COSMIC更适用于实时系统的评估,出现最早且应用面最广泛的是IFPUG及直接继承它的Nesma方法,所以在度量理论方面本发明选取了Nesma成本度量功能点分析方法。
技术方面,本发明采取基于序列标注的命名实体识别方法,其发展大致经历了以下三个历程:
机器学习:早期传统机器学习时代,除了利用人工规则的方法外,往往利用隐马尔科夫链HMM和条件随机场CRF进行实体标注;
深度学习:随着深度学习的发展,将CNN和RNN做为基本的文本特征编码器,更好的学习token或word的隐层表示,再利用CRF进行实体标签分类,Bi-LSTM-CRF是最常用和普遍的实体识别模型;
预训练模型:近期以BERT为代表的预训练模型表现出了强大的文本表示和理解能力,目前最流行的方法是将BERT或BERT-Bi-LSTM作为底层的文本特征编码器,再利用CRF进行实体标签预测。现在,对于许多命名实体识别任务可以将BERT-Softmax、BERT-CRF、BERT-Bi-LSTM-CRF这几个模型作为基础选项,而且能达到很好的效果,这几乎得益于BERT模型的强大文本表征建模能力。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量方法时,在一个实施例中,包括:
利用预设行业语料库将需求文档以句子为单位进行Nesma功能点识别和字序列标签分类标注,确定输入数据;
根据输入数据,获取句子的序列特征,确定多维向量矩阵;
根据多维向量矩阵,获取句子序列的正向特征和逆向特征,确定句子序列上下文特征向量矩阵;
根据句子序列上下文特征向量矩阵,识别上下文特征向量中的各个子序列组合构成实体的概率,确定实体预测结果;
根据实体预测结果,确定成本预测结果。
本发明的软件成本度量的智能化预测计算方案,有效提升了智能化软件成本度量、价格评估的准确率和效率。
实施例中,预设行业语料库中,包括有多个垂直行业的专业语料和通用语料,是由多个行业的专业语料构成,每一行业也可称为垂直行业。在进行软件成本预测时,选取对应的垂直行业作为预设行业,筛选得到对应的预设行业语料库;需求文档中,包括有软件开发过程中的各种需求,是开发软件过程中的功能开发依据,主要内容是:产品定位、目标市场、目标用户、竞争对手、产品的结构、核心业务流程、具体用例描述和功能及内容描述等。在本发明中,需求文档按照样例模板书写,以word格式存储。
图2为本发明实施例一种基于序列标注命名实体识别的智能成本度量方法的确定输入数据过程示意图,如图2所示,具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量方法时,在一个实施例中,利用预设行业语料库将需求文档以句子为单位进行Nesma功能点识别和字序列标签分类标注,确定输入数据,包括:
步骤201:利用预设行业语料库将按照文档目录结构识别需求文档章节对应的文本内容,对文本内容进行数据清洗,以分隔符为单位进行拆分,确定句子;
步骤202:以标签形式标注出句子的Nesma功能点交易处理类型;
步骤203:对Nesma功能点交易处理类型进行字序列标签分类标注,确定输入数据。
实施例中,在确定输入数据的过程中,首先是利用预设行业语料库按照文档目录结构识别需求文档每章节对应的文本内容,进而对文本内容进行数据清洗,最后以回车符、句号等分隔符为单位拆分得到句子。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量方法时,在一个实施例中,对文本内容进行数据清洗,包括:对文本内容中的预设无关符号进行清理,若对数字识别无要求,则将文本内容中的数字转换为零。
数据清洗是解决原始数据噪声的重要一步,同样的模型参数输入,数据清洗后的模型表现结果往往有很大提升;具体清晰方式,包括:符号清理,尽量保证数据中各种无用符号不要太多;如果对数字识别不做要求,转换成0进行识别;以回车符、句号等分隔符将其按照句子为单位拆分,控制句子最大长度为200个字,同时保证句中词语的完整性。
图3为本发明实施例一种基于序列标注命名实体识别的智能成本度量方法的标注Nesma功能点交易处理类型过程示意图,如图3所示,具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量方法时,在一个实施例中,以标签形式标注出句子的Nesma功能点交易处理类型,包括:
步骤301:建立种子关键词库;所述种子关键词库内包括有分行业专用术语词语和通用行为动词;
步骤302:通过语义分析按照词性提取句子中的关联词汇;
步骤303:将关联词汇与种子关键词库进行匹配;
步骤304:若匹配到行为动词,则根据上下文寻找关联的行业专用术语词语,确定句子的Nesma功能点交易处理类型;所述句子的Nesma功能点交易处理类型,包括:外部输入,外部输出,外部查询,内部逻辑文件,外部逻辑文件;所述外部输入、外部输出和外部查询属于交易处理类实体,所述内部逻辑文件和外部逻辑文件属于数据文件类实体。
实施例中,借助种子关键词、语义识别技术以标签形式标识出语句中的Nesma功能点交易处理类型(EI,EO,EQ,ILF,ELF),随后进行人工审核确认机器标识的正确性。
NESMA功能点的类型划分为以下五种:
EI:外部输入,表示对数据的操作(增删改);
EO:外部输出,表示对数据进行操作、计算后的输出;
EQ:外部查询,表示对数据的纯粹查询(无增删改,区别于EO);
ILF:内部逻辑文件,系统内部的数据;
ELF:外部逻辑文件,系统外部的数据,被本系统引用;
其中ILF、ELF可被归类为“数据文件”类实体,该类实体对应着系统所使用的各种数据文件;EI,EO,EQ可被归类为“交易处理”类实体,该类实体对应着系统对数据文件作出的增删改查等操作。
在实施例中,首先建立种子关键词库,种子关键词库中收集了分行业专用术语词及通用行为词并定期自动更新加入新词,再利用语义分析技术按词性(多为动、名词)提取语句中的相关词汇,与词库中的种子关键词进行匹配,如匹配到行为动词(则确定对应的EI,EO,EQ),则根据其上下文找寻相关的行业术语词(则确定对应的ILF,ELF),完成对语句中出现的功能点处理类型的标签化标识工作,确定句子的Nesma功能点交易处理类型,接下来,将句子的Nesma功能点交易处理类型交由人工进行二次审核,保留正确标识,修订错误标识。
图4为本发明实施例一种基于序列标注命名实体识别的智能成本度量方法的字序列标签分类标注过程示意图,如图4所示,具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量方法时,在一个实施例中,对Nesma功能点交易处理类型进行字序列标签分类标注,确定输入数据,包括:
步骤401:根据Nesma功能点交易处理类型,确定BIO标注子类型;
步骤402:根据BIO标注子类型,对Nesma功能点交易处理类型进行BIO规则下的字序列标签分类标注,建立以字为单位的序列标签分类,确定输入数据;所述BIO规则,包括:用B标注实体词的开始字,用I标注实体词的中间字或结尾字,用O标注不属于实体词。
实施例中,首先,根据Nesma功能点交易处理类型,确定BIO标注子类型;在一个实例中,依据NESMA功能点类型 EI\EO\EQ\ILF\ELF结合B\I\O,确定了11个BIO标注子类型:标注实体词开始的类型有:B-EI\B-EO\B-EQ\B-ILF\B-ELF;标注实体词的中间字或结尾字的类型有:I-EI\I-EO\I-EQ\I-ILF\I-ELF;不属于实体词类型为O。然后,根据上述的11个BIO标注子类型,对Nesma功能点交易处理类型进行BIO规则下的字序列标签分类标注,建立以字为单位的序列标签分类,确定输入数据。
实施例中,对Nesma功能点交易处理类型进行BIO规则下的字序列标签分类标注,由此形成以字为单位的序列标签分类,得到输入数据;其中,BIO标注,主要规则是:B-begin,代表实体的开头;I-inside,代表实体的中间或结尾;O-outside,代表不属于实体;以字为单位的序列标签分类,可以按照如下方式进行分类:(B-{EI,EO,EQ,ILF,ELF},I-{EI,EO,EQ,ILF,ELF},O)。
标注时使用的BIO规则,该规则会用“B-x”和“I-x”标记出实体词的开始字、中间字(x为{EI,EO,EQ,ILF,ELF}之一),同时以“O”标记非实体词。如此定义了11类以字为单位的序列标签分类并逐句完成进行数据的序列标识工作。
比如“用于存储账户”标注为{O,O,B-EI,I-EI,I-EI,I-EI},这种标注方式中包含了实体的字序列即顺序信息,简单来说,就是一个EI实体是由“存”开始,以“存->储->账->户”的序列排列,后续的Roberta(稳健优化的BERT(Bidirectional EncoderRepresentation from Transformers,预训练的语言表征模型)预训练方法)模型+LSTM(Long Short Term Memory,长短期记忆深度学习模型)+CRF(Conditional RandomFields,条件随机场深度学习模型)模型以序列标识语料为基础进行学习训练。
上述的Roberta模型,是指稳健优化的BERT预训练方法模型,BERT是一种预训练的语言表征模型;LSTM是指长短期记忆深度学习模型,CRF是指条件随机场深度学习模型。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量方法时,在一个实施例中,还包括:
获取多个行业的专业语料建立多行业语料库,将多行业语料库以句子为单位进行Nesma功能点识别和字序列标签分类标注,确定训练数据;
利用训练数据,对Roberta模型、长短期记忆深度学习模型和条件随机场深度学习模型进行预训练,确定预训练的Roberta模型、预训练的长短期记忆深度学习模型和预训练的条件随机场深度学习模型。
在本实施例中,提供了对Roberta模型、长短期记忆深度学习模型和条件随机场深度学习模型进行预训练的过程;其中,训练数据,是获取多个行业的专业语料建立多行业语料库,将多行业语料库以句子为单位进行Nesma功能点识别和字序列标签分类标注得到;
具体的,首先是,识别多个行业的专业语料的文本内容,对文本内容进行数据清洗,以分隔符为单位进行拆分,确定句子;然后,以标签形式标注出句子的Nesma功能点交易处理类型;在得到句子的Nesma功能点交易处理类型后,将Nesma功能点交易处理类型由人工进行一次审核,保留正确的Nesma功能点交易处理类型,修订错误的Nesma功能点交易处理类型;接着,对Nesma功能点交易处理类型进行字序列标签分类标注,将字序列标签分类标注结果交由人工进行二次审核,保留正确的标注,修订错误的标注,从而得到训练数据。经过人工的一次审核和二次审核,可以使得到的训练数据更加准确,保证了后续对Roberta模型、长短期记忆深度学习模型和条件随机场深度学习模型进行预训练的精确度,从而提升了实体预测结果的准确率。
在得到训练数据后,将训练数据输入Roberta模型、长短期记忆深度学习模型和条件随机场深度学习模型进行预训练,确定预训练的Roberta模型、预训练的长短期记忆深度学习模型和预训练的条件随机场深度学习模型。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量方法时,在一个实施例中,根据输入数据,获取句子的序列特征,确定多维向量矩阵,包括:
将输入数据输入预训练的Roberta模型获取句子的序列特征,确定多维向量矩阵。
实施例中,Roberta模型是由一种预训练模型。Roberta模型在获取序列特征上有着出色的表现,在序列标注等NLP(Natural Language Processing,自然语言处理)任务中占据着主导地位。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量方法时,在一个实施例中,所述Roberta模型的预训练过程,包括:掩码语言模型任务,次句预测任务;
所述掩码语言模型任务,包括:对输入的句子以第一概率随机掩藏任意词语作为输入端的噪音,在对Roberta模型进行预训练的过程中通过上下文信息预测被随机掩藏的词语;所述随机掩藏任意词语,包括:以第二概率将词语替换为预设字符,以第三概率将词语替换为词典中的其他词汇,以第四概率不做替换;其中,所述第二概率、第三概率和第四概率的和等于第一概率;
所述次句预测任务,包括:在语料库中选择多个句子,以预测句子之间是否为前后句关系为目标对Roberta模型进行预训练;所述选择的多个句子中,一半为从文本内容中随机选择的句子,另一半为文本内容中前后相邻的句子。
实施例中,Roberta模型的预训练过程,主要包括两个任务:掩码语言模型任务,次句预测任务;
掩码语言模型任务(Masked Language Model):设定第一概率为15%,第二概率为15%×80%,第三概率为15%×10%,第四概率为15%×10%,则输入的句子以15%的概率随机掩藏(Mask)其中的任意词语,作为输入端的噪音,然后在预训练过程中通过上下文信息来预测这些被Mask掉的词语。Mask的方式为:在以15%概率的随机掩藏的基础上,80%的概率将词替换为“[mask]”,10%的概率替换为词典中的别的词汇,10%的概率不做替换。通过Mask机制,模型的输入序列存在了不确定性,这使得模型需要更多的学习上下文以预测被Mask的单词,增加了模型的信息获取量。
次句预测任务(Next Sentence Prediction):该任务在语料库中选择句对进行训练,其中半数为随机选择的句对,半数为在文本中相邻的句子,预训练的目标是预测输入的句子之间否为前后句关系,以增加句子或者文章层面的语义信息。
图5为本发明实施例一种基于序列标注命名实体识别的智能成本度量方法的确定多维向量矩阵过程示意图,如图5所示,具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量方法时,在一个实施例中,所述预训练的Roberta模型由多个编码器堆叠构成;所述编码器,包括:多头自注意力层,残差连接层,前馈神经网络层;
将输入数据输入预训练的Roberta模型获取句子的序列特征,确定多维向量矩阵,包括:
步骤501:将输入数据导入多头自注意力层,将输入数据的句子按字转换为多维向量,组成第一矩阵;所述第一矩阵具有初始值;
步骤502:设定输入数据中最大句子长度为第一值,对不满足第一值的句子采用补零的方式进行补位,将第一矩阵从初始值补充至预设值;
步骤503:根据句子中每个字的位置,添加位置向量;所述位置向量的维度与处于预设值的第一矩阵的维度相等;
步骤504:将位置向量与处于预设值的第一矩阵中的多维向量相加,确定第二矩阵;
步骤505:将第二矩阵与权重矩阵相乘,确定多个子权重矩阵;
步骤506:将多个子权重矩阵拼接后乘以附加权重矩阵,确定注意力向量结果;所述注意力向量结果的维度与处于预设值的第一矩阵的维度相等;
步骤507:将注意力向量结果经过两个残差连接层和正则化层以及前馈神经网络层处理,得到最终句子向量;所述正则化层用于进行标准化处理;所述最终句子向量的维度与处于预设值的第一矩阵的维度相等;
步骤508:将多个编码器对应的最终句子向量进行堆叠,确定多维向量矩阵。
图6为本发明实施例一种基于序列标注命名实体识别的智能成本度量方法的Roberta模型结构图,实施例中,Roberta模型结构主体部分由多个Transformer编码器堆叠构成,模型结构图7所示。
其中,Trm代表Transformer编码器,编码器的网络构造如图6所示,主要由初始的多头自注意力(multi-headed self-attention)层、两个残差连接层与正则化层和两个前馈神经网络层构成。
多头自注意力层使用了从注意力机制改进而来的自注意力机制(self-attention),该机制更多地关注了单词的上下文,将目标周围一定窗口大小的信息作为输入,首先通过线性变换获得目标的向量表示Q(Query)、排除目标的上下文的向量表示K(Key)以及上下文窗口全部信息的向量表示V(Value)。
在一个实例中,将输入数据导入多头自注意力层,将输入数据的句子按字转换为多维向量,例如512维向量,组成第一矩阵[x, 512];其中x是句中字数;[x, 512]为第一矩阵的初始值;
另设输入数据中最大句子作为训练集,其中最大句子长度为200字,则对于句子中不足200的长度,采用补“0”的方法,将矩阵补充至预设值[200, 512]。之后,根据句子中每个字的位置,添加位置向量,位置向量是字在句子中的位置的向量标记,体现了每个字的位置特征,位置向量的维度也为512,处于预设值的第一矩阵中的原始向量与位置向量相加,得到新的[200, 512]矩阵。之后使用3个权重矩阵与向量矩阵相乘,得到Q(uery)、K(ey)、V(alue)三个用于打分的矩阵,该操作分8组重复完成,得到8个子权重矩阵,将子权重矩阵拼接之后乘以一个附加权重矩阵,得到最终的注意力向量结果,维度为[200,512]。最后经过两次残差连接层和正则化层的标准化处理以及前馈网络层处理,得到最终句子向量,维度仍然为[200,512]。将多个编码器对应的最终句子向量进行堆叠,确定多维向量矩阵。作为双向LSTM模型可以理解的带有序列标注及特征的输入。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量方法时,在一个实施例中,根据多维向量矩阵,获取句子序列的正向特征和逆向特征,确定句子序列上下文特征向量矩阵,包括:
根据多维向量矩阵,利用预训练的长短期记忆深度学习模型获取句子序列的正向特征和逆向特征;
利用Softmax函数将句子序列的正向特征和逆向特征进行归一化处理,获取各序列独立的实体分类结果,确定句子序列上下文特征向量矩阵。
实施例中,预训练的双向LSTM(长短期记忆)深度学习模型进一步获取句子序列的正向、逆向特征,通过Softmax已经可以获取各序列独立的实体分类结果,构成句子序列的上下文特征向量矩阵,将其作为CRF模型的输入。
Softmax函数常用于多分类选择,它将多个神经元的输出,映射到(0,1)区间内,以概率思想进行多分类从而进行结果选择。
此外Softmax函数也实现了参数归一化处理,同样利用了其处理结果集合值符合(0,1)概率分布的特性。
如图8所示的实例,将输出层[1.3,5.1,2.2,0.7,1.1]通过softmax函数计算映射成为(0,1)区间值,而这些值的累和趋近于1(满足概率的性质),最后可以选取概率最大(也就是值对应最大的)的结点,作为预测目标。
图9的字序列BIO分类识别案例是理想状态下经由LSTM层+Softmax处理后的实体识别结果,可以看出,在不考虑单字多序列分类合理性的前提下,只按照单字最大概率分类的到最终识别结果在理想状态下是正确的,但是实际上最终的输出可能会产生多种标签序列组合,如图10所示列举了三个标签路径组合,第一路径标签序列为 [B-EI,I-EI, ...,B-EQ,I-EQ,...,O](概率序列[0.55,0.43,...,0.31,0.51,...,0.36]),第二路径标签序列为[I-EI,O,...,O,I-EQ,...,B-EI](概率序列[0.18,0.11,...,0.14,0.51,...,0.16]),第三路径标签序列为 [O,B-EQ,...,I-EQ,O,..., O](概率序列[0.13,0.1,...,0.3,0.1,...,0.36]),其中第一路径为真实正确的,其他两条路径为可能预测产生的路径。
很多标签路径预测出来后很明显是错误的,比如第三路径中,I-EI不可能作为序列的起始标签,标签O后面不可能是I-EQ标签,所以标签之间的转移关系和标签本身的属性对实体标签预测是有很大作用的。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量方法时,在一个实施例中,根据句子序列上下文特征向量矩阵,识别上下文特征向量中的各个子序列组合构成实体的概率,确定实体预测结果,包括:
根据句子序列上下文特征向量矩阵,利用预训练的条件随机场深度学习模型,通过数据学习标签转移关系和预设约束条件,识别上下文特征向量中的各个子序列中的实体标签序列,得到实体标签序列组合构成实体的概率,确定实体预测结果;所述标签转移关系为标签之间的关系路径;所述预设约束条件,包括:文本首个单词的实体标签以B标注或I标注开头,命名实体的首个标签以B标注开头。
实施例中,预训练的CRF模型借助约束策略识别上下文特征向量中的各个子序列组合构成实体的概率,取最合理的实体预测结果输出。
CRF正是通过数据学习标签转移关系和一些约束条件,帮助模型选择正确合理的实体标签序列,减少无效的实体标签序列的预测判断,这些模式约束是:文本第一个单词的实体标签应该以 'B-' 、'O' 开头,而不是 'I-' ;在' B-label1 I-label2 I-label3I-…'模式中,label1、label2、label3等应该是相同的实体标签;一个命名实体的第一个标签应该以 'B-' 而不能是 'I-' 开头;
经由CRF层的最终判优选择,可以在多种序列组合的实体识别结果中获得最优的那条,如图11所示:
以“存储用户账号查询账号功能”为例简述模型训练及识别的过程,其中“存储用户账号”为“EI”类实体,首先将序列标注为{B-EI,I-EI,I-EI,I-EI,I-EI,I-EI,B-EQ,I-EQ,I-EQ,I-EQ,O,O},经过三层模型向量化,提取上下文信息,学习序列特征信息,再加上其他语料的综合考量,最终模型学到了“存->储->用->户->账->号->查->询->账->号->功->能”这种序列可以作为两个实体识别,即“存->储->用->户->账->号”与“查->询->账->号->功->能”,并且在语义上相近的字词可以替换实体中的元素,比如“保存”替换“存储”,“客户”替换“用户”,“账号”替换“账户”等。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量方法时,在一个实施例中,根据实体预测结果,确定成本预测结果,包括:
根据实体预测结果,统计Nesma功能点交易处理类型对应的数量;
根据Nesma功能点交易处理类型对应的数量,确定Nesma功能点规模;
根据Nesma功能点规模, 结合生产率、软件因素调整因子、开发因素调整因子、人力成本费率、直接非人力成本和月工作人时数,确定成本预测结果。
实施例中,CRF最终输出的是识别出的Nesma预测实体,有了Nesma预测实体后还要经过功能点规模计算、生产率计算、调整系数、人月费率通过成本公式才能得到成本预测结果。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量方法时,在一个实施例中,按如方式,确定Nesma功能点规模:
S = a*ILF + b*ELF + c*EI+ d*EO+ e*EQ
其中,S为Nesma功能点规模;ILF为内部逻辑文件的数量;ELF为外部逻辑文件的数量;EI为外部输入的数量;EO为外部输出的数量;EQ为外部查询的数量;a为内部逻辑文件类型对应的复杂性程度系数;b为外部逻辑文件类型对应的复杂性程度系数;c为外部输入类型对应的复杂性程度系数;d为外部输出类型对应的复杂性程度系数;e为外部查询类型对应的复杂性程度系数;*为乘。
实施例中,上述公式也被称为规模快速计算公式,在得到实体预测结果的基础上,根据Nesma功能点交易处理类型,分别统计得到Nesma功能点交易处理类型对应的数量,然后利用规模快速计算公式,计算得到Nesma功能点规模;Nesma功能点规模的单位是功能点(fp);在一个实例中,取a=10,b=7,c=4,d=5,e=4,ILF=1,ELF=5,EI=5,EO=3,EQ=5,则S = a*ILF + b*ELF + c*EI+ d*EO+ e*EQ= =10*1+7*5+4*5+5*3+4*5=100fp;因此得到的Nesma功能点规模就是100fp 。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量方法时,在一个实施例中,按如方式,确定成本预测结果:
SDC=((S*PDR)*SWF*RDF) / M * F + DNC
其中,SDC为成本预测结果,单位为万元;S为Nesma功能点规模,单位为功能点数;PDR为生产率,单位为“人时/功能点”;SWF为软件因素调整因子,无单位量纲;RDF为开发因素调整因子,无单位量纲;F为人力成本费率,单位为“万元/人月”;DNC为直接非人力成本,单位为万元;M为月工作人时数,在一个实例中,M=174= 21.75(月工作天数) * 8(每天工作人时);*为乘。
实施例中,在得到Nesma功能点规模后,可以结合生产率、软件因素调整因子、开发因素调整因子、人力成本费率、直接非人力成本和月工作人时数,确定成本预测结果。
在一个实例中,PDR生产率取全行业基准数据中位数7.14人时/功能点,SWF RDF假设都为1,不做调整,人力成本费率假设为某地区为3.2万/月,直接非人力成本为2万元(差旅费),月工作人时数取174,则SDC = ((100*7.14)*1*1)/174 * 3.2 + 2 = 15.13万元。
本发明依据NESMA功能点分析理论,采用数据清洗、语义分析、序列标注等自然语言处理技术生成模型预训练集,采用Roberta(稳健优化的BERT预训练方法)+LSTM(长短期记忆)+CRF(条件随机场)三层深度学习模型架构完成字向量样本集空间建立、基于序列标注的实体识别分类、依据上下文优选分类结果,最终对待识别文本可以进行准确的功能点实体识别并快速完成软件成本度量造价评估。
相较于现有的专家经验法、历史项目评估法、模型评估法,本发明不依赖于人的主观意识、历史项目的质量及相似度、模型输入参数(如项目代码行数)的限制;相较于现有深度学习建模技术的功能点实体识别方法,本发明采取的数据清洗、语义识别结合人工审核的语料预处理机制及基于字向量建立的序列标注模式可以更高效、更精准的完成实体识别任务。
目前造价评估行业不同机构的评估能力良莠不齐,评估方法多为依赖人的专家经验分析法,评估水平严重依赖于造价分析师的能力,导致不同机构即便采取相同成本度量方法对同一需求的评估结果往往偏差也不小。本工具依据垂直行业语料库,采取统一标准的数据预处理、深度学习模型的训练、识别方式,有能力做到软件成本度量造价分析结果精度趋于一致。
近年来,项目需求文档的篇幅有持续增长的态势,显然依赖人工造价评估的工作量也是成倍增加。况且不同行业的需求有其独特的领域特征,这些都需要造价分析人员不停的学习掌握,较大项目的需求评估如果只依赖人工其周期往往以月计。本发明借助种子关键词、语义识别技术快速标识海量需求数据的Nesma交易处理类型(EI,EO,EQ,ILF,ELF),造价评估人员只需进行审核修订操作即可,相对纯人工的标注方式,本发明采用的机器功能点识别、处理模式效率显然更高。
结合具体场景,对本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量方法进行简要描述,本发明采取以下四步完成:
1. 针对垂直行业语料库以句子为单位进行Nesma功能点识别、字序列分类标签的标注工作,形成训练数据集作为Roberta模型的输入。其中,1.1 按照文档目录结构识别需求文档每章节对应的文本内容(文档按样例模板书写,以word格式存储),进而对文本内容进行数据清洗(解决噪声问题),最后以回车符、句号等分隔符将其按照句子为单位拆分。1.2 借助种子关键词、语义识别技术以标签形式标识出语句中的Nesma功能点交易处理类型(EI,EO,EQ,ILF,ELF),随后进行人工审核确认机器标识的正确性。1.3进一步对交易处理类型标签进行BIO规则下的token标注,由此形成字序列标签分类(B-{EI,EO,EQ,ILF,ELF},I-{EI,EO,EQ,ILF,ELF},O)并构建Roberta训练模型所需的输入数据集。
2. Roberta模型借助掩码语言模型、次句预测能力获取句子的序列特征,得到双向lstm模型可以理解的多维向量矩阵作为其输入。
3. 双向LSTM深度学习模型进一步获取句子序列的正向、逆向特征,构成句子序列的上下文特征向量矩阵(此时通过Softmax函数已经可以获取各序列独立的实体分类结果),将其作为Crf模型的输入。
4. CRF模型借助约束策略识别上下文特征向量中的各个子序列组合构成实体的概率,取最合理的预测结果输出。
图12为运行本发明实施的一种基于序列标注命名实体识别的智能成本度量方法的计算机设备示意图,如图12所示,本发明实施例还提供一种计算机设备1200,包括存储器1210、处理器1220及存储在存储器上并可在处理器上运行的计算机程序1230,所述处理器执行所述计算机程序时实现上述一种基于序列标注命名实体识别的智能成本度量方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于序列标注命名实体识别的智能成本度量方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述一种基于序列标注命名实体识别的智能成本度量方法。
本发明实施例中还提供了种基于序列标注命名实体识别的智能成本度量装置,如下面的实施例所述。由于该装置解决问题的原理与种基于序列标注命名实体识别的智能成本度量方法相似,因此该装置的实施可以参见种基于序列标注命名实体识别的智能成本度量方法的实施,重复之处不再赘述。
图13为本发明实施例一种基于序列标注命名实体识别的智能成本度量装置示意图,如图13所示,本发明实施例还提供一种基于序列标注命名实体识别的智能成本度量装置。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量装置时,在一个实施例中,包括:
输入数据确定模块1301,用于利用预设行业语料库将需求文档以句子为单位进行Nesma功能点识别和字序列标签分类标注,确定输入数据;
多维向量矩阵确定模块1302,用于根据输入数据,获取句子的序列特征,确定多维向量矩阵;
句子序列上下文特征向量矩阵确定模块1303,用于根据多维向量矩阵,获取句子序列的正向特征和逆向特征,确定句子序列上下文特征向量矩阵;
实体预测结果确定模块1304,用于根据句子序列上下文特征向量矩阵,识别上下文特征向量中的各个子序列组合构成实体的概率,确定实体预测结果;
成本预测结果确定模块1305,用于根据实体预测结果,确定成本预测结果。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量装置时,在一个实施例中,输入数据确定模块,具体用于:
利用预设行业语料库将按照文档目录结构识别需求文档章节对应的文本内容,对文本内容进行数据清洗,以分隔符为单位进行拆分,确定句子;
以标签形式标注出句子的Nesma功能点交易处理类型;
对Nesma功能点交易处理类型进行字序列标签分类标注,确定输入数据。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量装置时,在一个实施例中,输入数据确定模块,还用于:对文本内容中的预设无关符号进行清理,若对数字识别无要求,则将文本内容中的数字转换为零。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量装置时,在一个实施例中,输入数据确定模块,还用于:
建立种子关键词库;所述种子关键词库内包括有分行业专用术语词语和通用行为动词;
通过语义分析按照词性提取句子中的关联词汇;
将关联词汇与种子关键词库进行匹配;
若匹配到行为动词,则根据上下文寻找关联的行业专用术语词语,确定句子的Nesma功能点交易处理类型;所述句子的Nesma功能点交易处理类型,包括:外部输入,外部输出,外部查询,内部逻辑文件,外部逻辑文件;所述外部输入、外部输出和外部查询属于交易处理类实体,所述内部逻辑文件和外部逻辑文件属于数据文件类实体。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量装置时,在一个实施例中,输入数据确定模块,还用于:
根据Nesma功能点交易处理类型,确定BIO标注子类型;
根据BIO标注子类型,对Nesma功能点交易处理类型进行BIO规则下的字序列标签分类标注,建立以字为单位的序列标签分类,确定输入数据;所述BIO规则,包括:用B标注实体词的开始字,用I标注实体词的中间字或结尾字,用O标注不属于实体词。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量装置时,在一个实施例中,还包括预训练模块,用于:
获取多个行业的专业语料建立多行业语料库,将多行业语料库以句子为单位进行Nesma功能点识别和字序列标签分类标注,确定训练数据;
利用训练数据,对Roberta模型、长短期记忆深度学习模型和条件随机场深度学习模型进行预训练,确定预训练的Roberta模型、预训练的长短期记忆深度学习模型和预训练的条件随机场深度学习模型。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量装置时,在一个实施例中,多维向量矩阵确定模块,具体用于:
将输入数据输入预训练的Roberta模型获取句子的序列特征,确定多维向量矩阵。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量装置时,在一个实施例中,所述Roberta模型的预训练过程,包括:掩码语言模型任务,次句预测任务;
所述掩码语言模型任务,包括:对输入的句子以第一概率随机掩藏任意词语作为输入端的噪音,在对Roberta模型进行预训练的过程中通过上下文信息预测被随机掩藏的词语;所述随机掩藏任意词语,包括:以第二概率将词语替换为预设字符,以第三概率将词语替换为词典中的其他词汇,以第四概率不做替换;其中,所述第二概率、第三概率和第四概率的和等于第一概率;
所述次句预测任务,包括:在语料库中选择多个句子,以预测句子之间是否为前后句关系为目标对Roberta模型进行预训练;所述选择的多个句子中,一半为从文本内容中随机选择的句子,另一半为文本内容中前后相邻的句子。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量装置时,在一个实施例中,所述预训练的Roberta模型由多个编码器堆叠构成;所述编码器,包括:多头自注意力层,残差连接层,前馈神经网络层;
多维向量矩阵确定模块,还用于:
将输入数据导入多头自注意力层,将输入数据的句子按字转换为多维向量,组成第一矩阵;所述第一矩阵具有初始值;
设定输入数据中最大句子长度为第一值,对不满足第一值的句子采用补零的方式进行补位,将第一矩阵从初始值补充至预设值;
根据句子中每个字的位置,添加位置向量;所述位置向量的维度与处于预设值的第一矩阵的维度相等;
将位置向量与处于预设值的第一矩阵中的多维向量相加,确定第二矩阵;
将第二矩阵与权重矩阵相乘,确定多个子权重矩阵;
将多个子权重矩阵拼接后乘以附加权重矩阵,确定注意力向量结果;所述注意力向量结果的维度与处于预设值的第一矩阵的维度相等;
将注意力向量结果经过两个残差连接层和正则化层以及前馈神经网络层处理,得到最终句子向量;所述正则化层用于进行标准化处理;所述最终句子向量的维度与处于预设值的第一矩阵的维度相等;
将多个编码器对应的最终句子向量进行堆叠,确定多维向量矩阵。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量装置时,在一个实施例中,句子序列上下文特征向量矩阵确定模块,具体用于:
根据多维向量矩阵,利用预训练的长短期记忆深度学习模型获取句子序列的正向特征和逆向特征;
利用Softmax函数将句子序列的正向特征和逆向特征进行归一化处理,获取各序列独立的实体分类结果,确定句子序列上下文特征向量矩阵。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量装置时,在一个实施例中,实体预测结果确定模块,具体用于:
根据句子序列上下文特征向量矩阵,利用预训练的条件随机场深度学习模型,通过数据学习标签转移关系和预设约束条件,识别上下文特征向量中的各个子序列中的实体标签序列,得到实体标签序列组合构成实体的概率,确定实体预测结果;所述标签转移关系为标签之间的关系路径;所述预设约束条件,包括:文本首个单词的实体标签以B标注或I标注开头,命名实体的首个标签以B标注开头。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量装置时,在一个实施例中,成本预测结果确定模块,具体用于:
根据实体预测结果,统计Nesma功能点交易处理类型对应的数量;
根据Nesma功能点交易处理类型对应的数量,确定Nesma功能点规模;
根据Nesma功能点规模, 结合生产率、软件因素调整因子、开发因素调整因子、人力成本费率、直接非人力成本和月工作人时数,确定成本预测结果。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量装置时,在一个实施例中,成本预测结果确定模块,还用于按如方式,确定Nesma功能点规模:
S = a*ILF + b*ELF + c*EI+ d*EO+ e*EQ
其中,S为Nesma功能点规模;ILF为内部逻辑文件的数量;ELF为外部逻辑文件的数量;EI为外部输入的数量;EO为外部输出的数量;EQ为外部查询的数量;a为内部逻辑文件类型对应的复杂性程度系数;b为外部逻辑文件类型对应的复杂性程度系数;c为外部输入类型对应的复杂性程度系数;d为外部输出类型对应的复杂性程度系数;e为外部查询类型对应的复杂性程度系数;*为乘。
具体实施本发明实施例提供的一种基于序列标注命名实体识别的智能成本度量装置时,在一个实施例中,成本预测结果确定模块,还用于按如方式,确定成本预测结果:
SDC=((S*PDR)*SWF*RDF) / M * F + DNC
其中,SDC为成本预测结果;S为Nesma功能点规模;PDR为生产率;SWF为软件因素调整因子;RDF为开发因素调整因子;F为人力成本费率;DNC为直接非人力成本;M为月工作人时数;*为乘。
综上,本发明实施例提供的本发明实施例提供一种基于序列标注命名实体识别的智能成本度量方法和装置,该方法包括:利用预设行业语料库将需求文档以句子为单位进行Nesma功能点识别和字序列标签分类标注,确定输入数据;根据输入数据,获取句子的序列特征,确定多维向量矩阵;根据多维向量矩阵,获取句子序列的正向特征和逆向特征,确定句子序列上下文特征向量矩阵;根据句子序列上下文特征向量矩阵,识别上下文特征向量中的各个子序列组合构成实体的概率,确定实体预测结果;根据实体预测结果,确定成本预测结果.本发明依据Nesma功能点分析方法,采用字序列标注等自然语言处理技术,完成基于字序列标签分类标注的实体识别分类、对需求文档中的待识别文本可以进行准确的功能点实体识别并快速完成软件成本度量造价评估。相较于现有的专家经验法、历史项目评估法、模型评估法,本发明不依赖于人的主观意识、历史项目的质量及相似度、模型输入参数(如项目代码行数)的限制;相较于现有深度学习建模技术的功能点实体识别方法,本发明采取的语料预处理机制及基于字向量建立的序列标注模式可以更高效、更精准的完成实体识别任务。目前造价评估行业不同机构的评估能力良莠不齐,评估方法多为依赖人的专家经验分析法,评估水平严重依赖于造价分析师的能力,导致不同机构即便采取相同成本度量方法对同一需求的评估结果往往偏差也不小。本发明依据垂直行业语料库,采取统一标准的数据预处理、深度学习模型的训练、识别方式,有能力做到软件成本度量造价分析结果精度趋于一致。由于项目需求文档的篇幅持续增长的态势,显然依赖人工造价评估的工作量也是成倍增加。况且不同行业的需求有其独特的领域特征,这些都需要造价分析人员不停的学习掌握,较大项目的需求评估如果只依赖人工其周期往往以月计。本发明借助语义识别技术快速标识海量需求数据的Nesma功能点识别,造价评估人员只需进行审核成本预测结果即可,相对纯人工的标注方式,本发明采用的机器功能点识别、处理模式效率显然更高。
本发明公开了一种基于序列标注的深度学习模型训练+实体识别方案应用于软件成本度量方向,本发明为软件成本度量的智能化改进方案,有效提升了智能化软件成本度量、价格评估的准确率和效率。
本申请技术方案中对数据的获取、存储、使用、处理等均符合相关法律法规的有关规定,本申请获取的个人、客户和人群等相关的个人身份数据、操作数据、行为数据等多种类型的数据,均已获得授权。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (31)
1.一种基于序列标注命名实体识别的智能成本度量方法,其特征在于,包括:
利用预设行业语料库将需求文档以句子为单位进行Nesma功能点识别和字序列标签分类标注,确定输入数据;
根据输入数据,获取句子的序列特征,确定多维向量矩阵;
根据多维向量矩阵,获取句子序列的正向特征和逆向特征,确定句子序列上下文特征向量矩阵;
根据句子序列上下文特征向量矩阵,识别上下文特征向量中的各个子序列组合构成实体的概率,确定实体预测结果;
根据实体预测结果,确定成本预测结果。
2.如权利要求1所述的方法,其特征在于,利用预设行业语料库将需求文档以句子为单位进行Nesma功能点识别和字序列标签分类标注,确定输入数据,包括:
利用预设行业语料库将按照文档目录结构识别需求文档章节对应的文本内容,对文本内容进行数据清洗,以分隔符为单位进行拆分,确定句子;
以标签形式标注出句子的Nesma功能点交易处理类型;
对Nesma功能点交易处理类型进行字序列标签分类标注,确定输入数据。
3.如权利要求2所述的方法,其特征在于,对文本内容进行数据清洗,包括:对文本内容中的预设无关符号进行清理,若对数字识别无要求,则将文本内容中的数字转换为零。
4.如权利要求2所述的方法,其特征在于,以标签形式标注出句子的Nesma功能点交易处理类型,包括:
建立种子关键词库;所述种子关键词库内包括有分行业专用术语词语和通用行为动词;
通过语义分析按照词性提取句子中的关联词汇;
将关联词汇与种子关键词库进行匹配;
若匹配到行为动词,则根据上下文寻找关联的行业专用术语词语,确定句子的Nesma功能点交易处理类型;所述句子的Nesma功能点交易处理类型,包括:外部输入,外部输出,外部查询,内部逻辑文件,外部逻辑文件;所述外部输入、外部输出和外部查询属于交易处理类实体,所述内部逻辑文件和外部逻辑文件属于数据文件类实体。
5.如权利要求2所述的方法,其特征在于,对Nesma功能点交易处理类型进行字序列标签分类标注,确定输入数据,包括:
根据Nesma功能点交易处理类型,确定BIO标注子类型;
根据BIO标注子类型,对Nesma功能点交易处理类型进行BIO规则下的字序列标签分类标注,建立以字为单位的序列标签分类,确定输入数据;所述BIO规则,包括:用B标注实体词的开始字,用I标注实体词的中间字或结尾字,用O标注不属于实体词。
6.如权利要求5所述的方法,其特征在于,还包括:
获取多个行业的专业语料建立多行业语料库,将多行业语料库以句子为单位进行Nesma功能点识别和字序列标签分类标注,确定训练数据;
利用训练数据,对Roberta模型、长短期记忆深度学习模型和条件随机场深度学习模型进行预训练,确定预训练的Roberta模型、预训练的长短期记忆深度学习模型和预训练的条件随机场深度学习模型。
7.如权利要求6所述的方法,其特征在于,根据输入数据,获取句子的序列特征,确定多维向量矩阵,包括:
将输入数据输入预训练的Roberta模型获取句子的序列特征,确定多维向量矩阵。
8.如权利要求7所述的方法,其特征在于,所述Roberta模型的预训练过程,包括:掩码语言模型任务,次句预测任务;
所述掩码语言模型任务,包括:对输入的句子以第一概率随机掩藏任意词语作为输入端的噪音,在对Roberta模型进行预训练的过程中通过上下文信息预测被随机掩藏的词语;所述随机掩藏任意词语,包括:以第二概率将词语替换为预设字符,以第三概率将词语替换为词典中的其他词汇,以第四概率不做替换;其中,所述第二概率、第三概率和第四概率的和等于第一概率;
所述次句预测任务,包括:在语料库中选择多个句子,以预测句子之间是否为前后句关系为目标对Roberta模型进行预训练;在选择的所述多个句子中,一半为从文本内容中随机选择的句子,另一半为文本内容中前后相邻的句子。
9.如权利要求7所述的方法,其特征在于,所述预训练的Roberta模型由多个编码器堆叠构成;所述编码器,包括:多头自注意力层,残差连接层,前馈神经网络层;
将输入数据输入预训练的Roberta模型获取句子的序列特征,确定多维向量矩阵,包括:
将输入数据导入多头自注意力层,将输入数据的句子按字转换为多维向量,组成第一矩阵;所述第一矩阵具有初始值;
设定输入数据中最大句子长度为第一值,对不满足第一值的句子采用补零的方式进行补位,将第一矩阵从初始值补充至预设值;
根据句子中每个字的位置,添加位置向量;所述位置向量的维度与处于预设值的第一矩阵的维度相等;
将位置向量与处于预设值的第一矩阵中的多维向量相加,确定第二矩阵;
将第二矩阵与权重矩阵相乘,确定多个子权重矩阵;
将多个子权重矩阵拼接后乘以附加权重矩阵,确定注意力向量结果;所述注意力向量结果的维度与处于预设值的第一矩阵的维度相等;
将注意力向量结果经过两个残差连接层和正则化层以及前馈神经网络层处理,得到最终句子向量;所述正则化层用于进行标准化处理;所述最终句子向量的维度与处于预设值的第一矩阵的维度相等;
将多个编码器对应的最终句子向量进行堆叠,确定多维向量矩阵。
10.如权利要求6所述的方法,其特征在于,根据多维向量矩阵,获取句子序列的正向特征和逆向特征,确定句子序列上下文特征向量矩阵,包括:
根据多维向量矩阵,利用预训练的长短期记忆深度学习模型获取句子序列的正向特征和逆向特征;
利用Softmax函数将句子序列的正向特征和逆向特征进行归一化处理,获取各序列独立的实体分类结果,确定句子序列上下文特征向量矩阵。
11.如权利要求6所述的方法,其特征在于,根据句子序列上下文特征向量矩阵,识别上下文特征向量中的各个子序列组合构成实体的概率,确定实体预测结果,包括:
根据句子序列上下文特征向量矩阵,利用预训练的条件随机场深度学习模型,通过数据学习标签转移关系和预设约束条件,识别上下文特征向量中的各个子序列中的实体标签序列,得到实体标签序列组合构成实体的概率,确定实体预测结果;所述标签转移关系为标签之间的关系路径;所述预设约束条件,包括:文本首个单词的实体标签以B标注或I标注开头,命名实体的首个标签以B标注开头。
12.如权利要求1所述的方法,其特征在于,根据实体预测结果,确定成本预测结果,包括:
根据实体预测结果,统计Nesma功能点交易处理类型对应的数量;
根据Nesma功能点交易处理类型对应的数量,确定Nesma功能点规模;
根据Nesma功能点规模, 结合生产率、软件因素调整因子、开发因素调整因子、人力成本费率、直接非人力成本和月工作人时数,确定成本预测结果。
13. 如权利要求12所述的方法,其特征在于,按如方式,确定Nesma功能点规模:
S = a*ILF + b*ELF + c*EI+ d*EO+ e*EQ
其中,S为Nesma功能点规模;ILF为内部逻辑文件的数量;ELF为外部逻辑文件的数量;EI为外部输入的数量;EO为外部输出的数量;EQ为外部查询的数量;a为内部逻辑文件类型对应的复杂性程度系数;b为外部逻辑文件类型对应的复杂性程度系数;c为外部输入类型对应的复杂性程度系数;d为外部输出类型对应的复杂性程度系数;e为外部查询类型对应的复杂性程度系数;*为乘。
14. 如权利要求12所述的方法,其特征在于,按如方式,确定成本预测结果:
SDC=((S*PDR)*SWF*RDF) / M * F + DNC
其中,SDC为成本预测结果;S为Nesma功能点规模;PDR为生产率;SWF为软件因素调整因子;RDF为开发因素调整因子;F为人力成本费率;DNC为直接非人力成本;M为月工作人时数;*为乘。
15.一种基于序列标注命名实体识别的智能成本度量装置,其特征在于,包括:
输入数据确定模块,用于利用预设行业语料库将需求文档以句子为单位进行Nesma功能点识别和字序列标签分类标注,确定输入数据;
多维向量矩阵确定模块,用于根据输入数据,获取句子的序列特征,确定多维向量矩阵;
句子序列上下文特征向量矩阵确定模块,用于根据多维向量矩阵,获取句子序列的正向特征和逆向特征,确定句子序列上下文特征向量矩阵;
实体预测结果确定模块,用于根据句子序列上下文特征向量矩阵,识别上下文特征向量中的各个子序列组合构成实体的概率,确定实体预测结果;
成本预测结果确定模块,用于根据实体预测结果,确定成本预测结果。
16.如权利要求15所述的装置,其特征在于,输入数据确定模块,具体用于:
利用预设行业语料库将按照文档目录结构识别需求文档章节对应的文本内容,对文本内容进行数据清洗,以分隔符为单位进行拆分,确定句子;
以标签形式标注出句子的Nesma功能点交易处理类型;
对Nesma功能点交易处理类型进行字序列标签分类标注,确定输入数据。
17.如权利要求16所述的装置,其特征在于,输入数据确定模块,还用于:对文本内容中的预设无关符号进行清理,若对数字识别无要求,则将文本内容中的数字转换为零。
18.如权利要求16所述的装置,其特征在于,输入数据确定模块,还用于:
建立种子关键词库;所述种子关键词库内包括有分行业专用术语词语和通用行为动词;
通过语义分析按照词性提取句子中的关联词汇;
将关联词汇与种子关键词库进行匹配;
若匹配到行为动词,则根据上下文寻找关联的行业专用术语词语,确定句子的Nesma功能点交易处理类型;所述句子的Nesma功能点交易处理类型,包括:外部输入,外部输出,外部查询,内部逻辑文件,外部逻辑文件;所述外部输入、外部输出和外部查询属于交易处理类实体,所述内部逻辑文件和外部逻辑文件属于数据文件类实体。
19.如权利要求16所述的装置,其特征在于,输入数据确定模块,还用于:
根据Nesma功能点交易处理类型,确定BIO标注子类型;
根据BIO标注子类型,对Nesma功能点交易处理类型进行BIO规则下的字序列标签分类标注,建立以字为单位的序列标签分类,确定输入数据;所述BIO规则,包括:用B标注实体词的开始字,用I标注实体词的中间字或结尾字,用O标注不属于实体词。
20.如权利要求19所述的装置,其特征在于,还包括预训练模块,用于:
获取多个行业的专业语料建立多行业语料库,将多行业语料库以句子为单位进行Nesma功能点识别和字序列标签分类标注,确定训练数据;
利用训练数据,对Roberta模型、长短期记忆深度学习模型和条件随机场深度学习模型进行预训练,确定预训练的Roberta模型、预训练的长短期记忆深度学习模型和预训练的条件随机场深度学习模型。
21.如权利要求20所述的装置,其特征在于,多维向量矩阵确定模块,具体用于:
将输入数据输入预训练的Roberta模型获取句子的序列特征,确定多维向量矩阵。
22.如权利要求21所述的装置,其特征在于,所述Roberta模型的预训练过程,包括:掩码语言模型任务,次句预测任务;
所述掩码语言模型任务,包括:对输入的句子以第一概率随机掩藏任意词语作为输入端的噪音,在对Roberta模型进行预训练的过程中通过上下文信息预测被随机掩藏的词语;所述随机掩藏任意词语,包括:以第二概率将词语替换为预设字符,以第三概率将词语替换为词典中的其他词汇,以第四概率不做替换;其中,所述第二概率、第三概率和第四概率的和等于第一概率;
所述次句预测任务,包括:在语料库中选择多个句子,以预测句子之间是否为前后句关系为目标对Roberta模型进行预训练;在选择的所述多个句子中,一半为从文本内容中随机选择的句子,另一半为文本内容中前后相邻的句子。
23.如权利要求21所述的装置,其特征在于,所述预训练的Roberta模型由多个编码器堆叠构成;所述编码器,包括:多头自注意力层,残差连接层,前馈神经网络层;
多维向量矩阵确定模块,还用于:
将输入数据导入多头自注意力层,将输入数据的句子按字转换为多维向量,组成第一矩阵;所述第一矩阵具有初始值;
设定输入数据中最大句子长度为第一值,对不满足第一值的句子采用补零的方式进行补位,将第一矩阵从初始值补充至预设值;
根据句子中每个字的位置,添加位置向量;所述位置向量的维度与处于预设值的第一矩阵的维度相等;
将位置向量与处于预设值的第一矩阵中的多维向量相加,确定第二矩阵;
将第二矩阵与权重矩阵相乘,确定多个子权重矩阵;
将多个子权重矩阵拼接后乘以附加权重矩阵,确定注意力向量结果;所述注意力向量结果的维度与处于预设值的第一矩阵的维度相等;
将注意力向量结果经过两个残差连接层和正则化层以及前馈神经网络层处理,得到最终句子向量;所述正则化层用于进行标准化处理;所述最终句子向量的维度与处于预设值的第一矩阵的维度相等;
将多个编码器对应的最终句子向量进行堆叠,确定多维向量矩阵。
24.如权利要求20所述的装置,其特征在于,句子序列上下文特征向量矩阵确定模块,具体用于:
根据多维向量矩阵,利用预训练的长短期记忆深度学习模型获取句子序列的正向特征和逆向特征;
利用Softmax函数将句子序列的正向特征和逆向特征进行归一化处理,获取各序列独立的实体分类结果,确定句子序列上下文特征向量矩阵。
25.如权利要求20所述的装置,其特征在于,实体预测结果确定模块,具体用于:
根据句子序列上下文特征向量矩阵,利用预训练的条件随机场深度学习模型,通过数据学习标签转移关系和预设约束条件,识别上下文特征向量中的各个子序列中的实体标签序列,得到实体标签序列组合构成实体的概率,确定实体预测结果;所述标签转移关系为标签之间的关系路径;所述预设约束条件,包括:文本首个单词的实体标签以B标注或I标注开头,命名实体的首个标签以B标注开头。
26.如权利要求15所述的装置,其特征在于,成本预测结果确定模块,具体用于:
根据实体预测结果,统计Nesma功能点交易处理类型对应的数量;
根据Nesma功能点交易处理类型对应的数量,确定Nesma功能点规模;
根据Nesma功能点规模, 结合生产率、软件因素调整因子、开发因素调整因子、人力成本费率、直接非人力成本和月工作人时数,确定成本预测结果。
27. 如权利要求26所述的装置,其特征在于,成本预测结果确定模块,还用于按如方式,确定Nesma功能点规模:
S = a*ILF + b*ELF + c*EI+ d*EO+ e*EQ
其中,S为Nesma功能点规模;ILF为内部逻辑文件的数量;ELF为外部逻辑文件的数量;EI为外部输入的数量;EO为外部输出的数量;EQ为外部查询的数量;a为内部逻辑文件类型对应的复杂性程度系数;b为外部逻辑文件类型对应的复杂性程度系数;c为外部输入类型对应的复杂性程度系数;d为外部输出类型对应的复杂性程度系数;e为外部查询类型对应的复杂性程度系数;*为乘。
28. 如权利要求26所述的装置,其特征在于,成本预测结果确定模块,还用于按如方式,确定成本预测结果:
SDC=((S*PDR)*SWF*RDF) / M * F + DNC
其中,SDC为成本预测结果;S为Nesma功能点规模;PDR为生产率;SWF为软件因素调整因子;RDF为开发因素调整因子;F为人力成本费率;DNC为直接非人力成本;M为月工作人时数;*为乘。
29.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至14任一所述方法。
30.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至14任一所述方法。
31.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至14任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310574954.2A CN116342167B (zh) | 2023-05-22 | 2023-05-22 | 基于序列标注命名实体识别的智能成本度量方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310574954.2A CN116342167B (zh) | 2023-05-22 | 2023-05-22 | 基于序列标注命名实体识别的智能成本度量方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116342167A true CN116342167A (zh) | 2023-06-27 |
CN116342167B CN116342167B (zh) | 2023-08-08 |
Family
ID=86891505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310574954.2A Active CN116342167B (zh) | 2023-05-22 | 2023-05-22 | 基于序列标注命名实体识别的智能成本度量方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116342167B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117493568A (zh) * | 2023-11-09 | 2024-02-02 | 中安启成科技有限公司 | 一种端到端软件功能点提取与识别方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180157643A1 (en) * | 2016-12-06 | 2018-06-07 | Siemens Aktiengesellschaft | Device and method for natural language processing |
CN110084439A (zh) * | 2019-05-09 | 2019-08-02 | 浪潮软件集团有限公司 | 一种基于nesma功能点估算的软件成本度量方法及云系统 |
CN110196906A (zh) * | 2019-01-04 | 2019-09-03 | 华南理工大学 | 面向金融行业的基于深度学习文本相似性检测方法 |
CN111274817A (zh) * | 2020-01-16 | 2020-06-12 | 北京航空航天大学 | 一种基于自然语言处理技术的智能化软件成本度量方法 |
CN113468888A (zh) * | 2021-06-25 | 2021-10-01 | 浙江华巽科技有限公司 | 基于神经网络的实体关系联合抽取方法与装置 |
-
2023
- 2023-05-22 CN CN202310574954.2A patent/CN116342167B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180157643A1 (en) * | 2016-12-06 | 2018-06-07 | Siemens Aktiengesellschaft | Device and method for natural language processing |
CN110196906A (zh) * | 2019-01-04 | 2019-09-03 | 华南理工大学 | 面向金融行业的基于深度学习文本相似性检测方法 |
CN110084439A (zh) * | 2019-05-09 | 2019-08-02 | 浪潮软件集团有限公司 | 一种基于nesma功能点估算的软件成本度量方法及云系统 |
CN111274817A (zh) * | 2020-01-16 | 2020-06-12 | 北京航空航天大学 | 一种基于自然语言处理技术的智能化软件成本度量方法 |
CN113468888A (zh) * | 2021-06-25 | 2021-10-01 | 浙江华巽科技有限公司 | 基于神经网络的实体关系联合抽取方法与装置 |
Non-Patent Citations (1)
Title |
---|
徐文峰 等: "融合实体上下文特征的深度文本语义匹配模型", 武汉大学学报(理学版), no. 05, pages 483 - 494 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117493568A (zh) * | 2023-11-09 | 2024-02-02 | 中安启成科技有限公司 | 一种端到端软件功能点提取与识别方法 |
CN117493568B (zh) * | 2023-11-09 | 2024-04-19 | 中安启成科技有限公司 | 一种端到端软件功能点提取与识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116342167B (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111310438B (zh) | 基于多粒度融合模型的中文句子语义智能匹配方法及装置 | |
CN111783474B (zh) | 一种评论文本观点信息处理方法、装置及存储介质 | |
CN111931506B (zh) | 一种基于图信息增强的实体关系抽取方法 | |
CN113010693A (zh) | 融合指针生成网络的知识图谱智能问答方法 | |
CN112667818B (zh) | 融合gcn与多粒度注意力的用户评论情感分析方法及系统 | |
CN111966812B (zh) | 一种基于动态词向量的自动问答方法和存储介质 | |
CN110765277B (zh) | 一种基于知识图谱的移动端的在线设备故障诊断方法 | |
CN115357719B (zh) | 基于改进bert模型的电力审计文本分类方法及装置 | |
CN112487206A (zh) | 一种自动构建数据集的实体关系抽取方法 | |
CN113742733B (zh) | 阅读理解漏洞事件触发词抽取和漏洞类型识别方法及装置 | |
CN116484024A (zh) | 一种基于知识图谱的多层次知识库构建方法 | |
CN116342167B (zh) | 基于序列标注命名实体识别的智能成本度量方法和装置 | |
CN116383399A (zh) | 一种事件舆情风险预测方法及系统 | |
CN114510946B (zh) | 基于深度神经网络的中文命名实体识别方法及系统 | |
CN116737967A (zh) | 一种基于自然语言的知识图谱构建和完善系统及方法 | |
CN116861269A (zh) | 工程领域的多源异构数据融合及分析方法 | |
CN116245107A (zh) | 电力审计文本实体识别方法、装置、设备及存储介质 | |
CN116304020A (zh) | 一种基于义原分析和跨度特征的工业文本实体抽取方法 | |
Gunaseelan et al. | Automatic extraction of segments from resumes using machine learning | |
Balaji et al. | Text summarization using NLP technique | |
CN113868422A (zh) | 一种多标签稽查工单问题溯源识别方法及装置 | |
CN115905187B (zh) | 一种面向云计算工程技术人员认证的智能化命题系统 | |
CN116127097A (zh) | 一种结构化文本关系抽取方法、装置、设备 | |
CN115840815A (zh) | 基于指针关键信息的自动摘要生成方法 | |
CN112528003B (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 |