掌桥专利:专业的专利平台
掌桥专利
首页

一种基于软件审价数据功能簇的发现与审价应用的方法

文献发布时间:2024-04-18 20:02:18


一种基于软件审价数据功能簇的发现与审价应用的方法

技术领域

本发明属于人工智能领域,具体涉及一种基于软件审价数据功能簇的发现与审价应用的方法。

背景技术

随着网络和信息技术的发展,软件类项目迭代融合发展,数据越来越多,在审价工作中的占比越来越大。目前,软件计价领域广泛采用基于“功能点”软件规模度量方法,主要是在项目立项阶段,依据用户的新增功能需求,按照一定的规则,对应识别出功能项,进而度量出软件规模,测算出软件研制经费。基于该方法的价格审核工作重点主要包括3点,一是对新增功能的确认,二是对新增功能需求与报价方案中各功能项的匹配性进行确认,三是对报价方案中各功能项是否按规则识别进行确认。相比于其他方法,对历史项目数据的应用,对审价专家的工作效率及专业水平提出了更高的要求。

因此,迫切需要在软件审价过程中引入大数据、人工智能等先进技术手段,通过数据、技术和人工相结合的方式,提高工作质量。一是通过自动解析软件需求与报价功能项,辅助判断匹配性,提高工作效率,二是解析后自动构建软件项目价格数据库,通过获取软件领域类型和语言特征,构建面向不同领域的功能点字典,辅助后续项目新增功能需求判断以及与同质历史软件相关数据比对。

现有专利技术CN114706559A公开了一种基于需求识别的软件规模度量方法,该方法以软件的需求规范文档为基础,获取软件需求并进行需求分类,通过对功能需求中的功能点识别统计得到软件规模。但是该方法不具有迭代性,不能考虑软件需求在历史发展中沿革变化问题。

发明内容

本发明的目的在于针对解决背景技术中提出的问题,提出一种基于软件审价数据功能簇的发现与审价应用的方法。

为实现上述目的,本发明所采取的技术方案为:

本发明提出的一种基于软件审价数据功能簇的发现与审价应用的方法,包括获取报价包及对应报价包匹配的支撑材料,解析报价包的信息得到项目信息、计价对象信息、估算对象信息和估算对象信息的功能描述,并将项目信息、计价对象信息、估算对象信息和估算对象信息的功能描述依次分级设置构成第一树状数据结构;

根据支撑材料的文档类型,读取支撑材料的内容,得到大纲信息,对大纲信息中的符合估算对象信息的功能描述的标题以及标题的具体内容构成第二树状数据结构;

采用相似匹配算法对第一树状数据结构中的非叶子节点和第二树状数据结构中的非叶子节点进行相似度匹配,将匹配后的第一树状数据结构中的数据和第二树状数据结构中的数据作为估算对象;

对估算对象分别进行分词处理和命名实体识别抽取,形成领域词和命名实体,然后将领域词和命名实体构建短语,将领域词、命名实体和短语分别对Word2Vector模型和Sentence Embedding模型进行训练;

利用训练好的Word2Vector模型和Sentence Embedding模型分别对估算对象进行向量表示,然后利用BERTopic聚类算法对向量表示进行聚类处理,并对聚类后的每个分类抽取主题词;

利用训练好的Sentence Embedding模型对主题词进行主题表示,利用训练好的Word2Vector模型对估算对象进行语义表示,然后对该两类表示进行联合合成语义向量后录入向量数据库;

对新的估算对象进行审价时,对新的估算对象完成语义向量生成,与向量数据库进行近义检索,同时采用BM25算法对新的估算对象的名称和功能描述与向量数据库进行关键词检索,两个检索结果做加权合成,按照评分高低进行排序,对评分超过阈值的前N个候选结果,与新的估算对象名称和功能描述中相交的词汇或短语进行高亮,对前N个候选结果进行统计分析描述,输出候选价格方案。

优选地,所述报价包匹配的支撑材料包括:项目需求论证报告、软件功能需求说明书或功能手册。

优选地,所述大纲信息的得到过程,包括:

当支撑材料中存在大纲时,通过npoi读取组件对大纲进行读取,并对编号进行样式还原,形成文本格式,并构成大纲信息;

当支撑材料不存在大纲时,通过文本抽取大纲组件,获取全文档中的文本层次结构,并提取每级的内容,构成大纲信息。

优选地,所述采用相似匹配算法对第一树状数据结构中的非叶子节点和第二树状数据结构中的非叶子节点进行相似度匹配,包括:

保留相似度大于阈值范围的值,并在保留的值中对应的第二树状数据结构中的非叶子节点选择最优的非叶子节点,作为第一树状数据结构中的各非叶子节点的最优映射。

优选地,所述估算对象的语义表示包括估算对象的名称表示和功能描述表示。

优选地,所述候选价格方案包括最大价格、最小价格、历史价格中位数、平均数和年度趋势。

与现有技术相比,本发明的有益效果为:

本基于软件审价数据功能簇的发现与审价应用的方法通过对报价包的信息和对应的支撑材料中的信息进行相似度匹配,使得报价包的信息和对应的支撑材料进行映射对应,得到估算对象,然后对估算对象进行处理得到语义向量后录入向量数据库,对新的估算对象审价时,将新的估算对象与向量数据库进行对比检索,输出候选价格方案;通过向量数据库,给出对新的估算对象的价格的参考,具有很好的逻辑解释性和知识积累性。

附图说明

图1为本发明基于软件审价数据功能簇的发现与审价应用的方法流程示意图;

图2为本发明实现同组互斥的向量距离的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,当组件被称为与另一个组件“连接”时,它可以直接与另一个组件连接或者也可以存在居中的组件。除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。

如图1-2所示,一种基于软件审价数据功能簇的发现与审价应用的方法,包括:

步骤1、

步骤1.1、获取报价包及对应报价包匹配的支撑材料,解析报价包的信息得到项目信息、计价对象信息、估算对象信息和估算对象信息的功能描述,并将项目信息、计价对象信息、估算对象信息和估算对象信息的功能描述依次分级设置构成第一树状数据结构。

其中,第一树状数据结构即为报价包信息Tree

项目信息可以理解为软件系统的项目模块,计价对象信息可以理解为软件系统的系统模块,估算对象信息可以理解为软件系统的功能模块;

估算对象信息的功能描述包括:内部逻辑文件(Internal Logical File,ILF):软件内部需要维护(如增删改查)的数据;外部接口文件(External Interface File,EIF,):在其它系统中维护但本软件需要调用的数据;外部输入(External Input,EI):向软件输入数据或发送指令;外部输出(External Output,EO):软件向使用者或其它系统输出的数据或发送的指令;外部查询(External Query,EQ):EQ指使用软件进行的简单查询。

步骤1.2、根据支撑材料的文档类型,读取支撑材料的内容,得到大纲信息,对大纲信息中的符合估算对象信息的功能描述的标题以及标题的具体内容构成第二树状数据结构。

其中文档类型可以为docx、doc、WPS等,通过文档的Magic Byte可以判断文档的类型。

大纲信息的得到过程,包括:

当支撑材料中存在大纲时,通过npoi读取组件对大纲进行读取,并对编号进行样式还原,形成文本格式,并构成大纲信息。以docx为例,解析docx中的Outline部分,形成大纲,涉及编号部分,对其编号按编号样式进行还原,包括中文序号,阿拉伯序号,多层级大纲编号等,形成全文本格式的内容。

当支撑材料不存在大纲时,通过文本抽取大纲组件,获取全文档中的文本层次结构,并提取每级的内容,构成大纲信息。(即如果未能从文档本身存储的大纲格式中获取大纲,则需要通过文字本身内容解析文本中序号内容,调用文本抽取大纲组件,获取全文档中的文本层次结构,并提取每级的内容。)

对大纲信息中的符合估算对象信息的功能描述的标题,形成属性层次结构的标题树,将叶子节点的内容作为标题数据的内容描述,形成第二树状数据结构(DocTree

步骤1.3、采用相似匹配算法对第一树状数据结构中的非叶子节点和第二树状数据结构中的非叶子节点进行相似度匹配,将匹配后的第一树状数据结构中的数据和第二树状数据结构中的数据作为估算对象。

保留相似度大于阈值范围的值,并在保留的值中对应的第二树状数据结构中的非叶子节点选择最优的非叶子节点,作为第一树状数据结构中的各非叶子节点的最优映射。

其中,相似匹配算法可以采用Jaccard、Tfidf Weight Jaccard、LevenshteinDistance等相似算法,保留相似度大于阈值范围的值,并形成DocTree

步骤2、对估算对象分别进行分词处理和命名实体识别抽取,形成领域词和命名实体,然后将领域词和命名实体构建短语,将领域词、命名实体和短语分别对Word2Vector模型和Sentence Embedding模型进行训练。

其中,分词处理如采用Hanlp、LTP、Jieba等进行词语切割,命名实体识别抽取可以通过BI-LSTM等领域内的常见处理Ner的各种模型和工具进行领域命名实体识别。将领域词和命名实体构建短语可以采用短语和术语挖掘算法,参考chinese keyphrase extractor的技术思路将词合成为短语。

Word2Vector模型训练:

物理位置Word2Vector训练:对每一个领域词,按照物理窗口,进行Word2Vector的Skip-Gram训练;

主题位置Word2Vector训练:对短语进行依存句法分析后,对涉及重点领域术语词汇作为主题,对重点领域术语词汇进行Word2Vector训练。

Sentence Embedding模型训练:

对估算对象的名称和功能描述的内容进行领域词或短语的近义替换,同时对无意义的停止词进行替换,对现有语料进行增强。例如,汽车自动驾驶功能,其中汽车的近义词可以有“车辆”、“机车”、“轿车”,自动驾驶可以有“无人驾驶”、“电脑驾驶”等,从而组合成更多的与此功能近似的相关功能定义术语,同理,该方法在功能描述内容中也进行类似的语料处理。形成Title-Title1,Title-Content,Content-Content’,Title-Content’的多组语义近似对;

进行FineTunning调优,将多组语义近似对优化模型,输出训练好的SentenceEmbedding模型。

步骤3、利用训练好的Word2Vector模型和Sentence Embedding模型分别对估算对象进行向量表示,然后利用BERTopic聚类算法对向量表示进行聚类处理,并对聚类后的每个分类抽取主题词。

需要说明的是,调用BERTopic聚类算法,完成层次化聚类输出。首先对上述向量进行降维,包含但不限制UMAP、T-SNE等降维模型对原300维降为20维;其次采用HDBScan模型完成聚类计算,计算过程中,对其中向量近似计算采用同组相斥,在对角矩阵中,同组的之间距离采用全局最大距离填充,覆写原来的距离值。具体见图2,避免大型项目中的估算对象内部可能会聚成一类,而让本项目的每个估算对象与外部项目的估算对象形成更近的距离,倾向与外部互联。再次采用TF-IDF模型获取聚类后的每类主题词候选;

按照实际需求,进行一级分类、二级分类等多级分类构建;

对聚类后的每一簇,形成解释当前簇的主题词候选;

专家按照行业领域,对候选的主题词进行修正和调整。

步骤4、利用训练好的Sentence Embedding模型对主题词进行主题表示,利用训练好的Word2Vector模型对估算对象进行语义表示,然后对该两类表示进行联合合成语义向量后录入向量数据库。

需要说明的是,根据S3步骤所输出主题词候选,预测每个估算对象的所在主题索引,并取其中的主题词,输入训练好的Sentence Embedding模型,输出主题词表示Topic_Word_Ver;

将估算对象输入训练好的Word2Vector模型,输出语义表示Sentence_Vector,其中估算对象的语义表示包括估算对象的名称表示和功能描述表示;

将Topic_Word_Vector与Sentence_Vector进行联合合成,形成语义向量录入向量数据库,同时Topic_Word_Vector与Sentence_Vector也分别存储,用于不同的业务场景进行组合使用。

步骤5、对新的估算对象进行审价时,对新的估算对象完成语义向量生成,与向量数据库进行近义检索,同时采用BM25算法对新的估算对象的名称和功能描述与向量数据库进行关键词检索,两个检索结果做加权合成,按照评分高低进行排序,对评分超过阈值的前N个候选结果,与新的估算对象名称和功能描述中相交的词汇或短语进行高亮,对前N个候选结果进行统计分析描述,输出候选价格方案。

需要说明的是,对评分超过阈值的前N个候选结果中的高频词和短语进行背景高亮,对与新的估算对象的名称和功能描述中短语或领域词相同的,在候选数据中前景高亮。

候选价格方案包括最大价格、最小价格、历史价格中位数、平均数和年度趋势。

本基于软件审价数据功能簇的发现与审价应用的方法通过对报价包的信息和对应的支撑材料中的信息进行相似度匹配,使得报价包的信息和对应的支撑材料进行映射对应,得到估算对象,然后对估算对象进行处理得到语义向量后录入向量数据库,对新的估算对象审价时,将新的估算对象与向量数据库进行对比检索,输出候选价格方案;通过向量数据库,给出对新的估算对象的价格的参考,具有很好的逻辑解释性和知识积累性。

进行估算对象的名称和功能描述的语义表示,建立领域标准数据集,采用可扩展的数据增强处理手段,训练软件估算对象及功能内容描述的语义表示,相比采用传统常用通识语料,其可扩展性、泛化性能够取得更好的效果。能够在领域内,例如工程术语、军用术语、战略术语、政治术语,让通用模型变成专业领域模型。

聚类算法,结合多种数据来源和不同视角的表示合成,进行综合聚类分析,能够快速辅助专家获取、掌握领域内的不同知识角度划分而形成的功能簇,观察其各簇之间的差别。

利用语义表示相似方式代替传统的字词匹配模式,更好解决术语不完全统一而形成的差别功能的概念对齐,将软件功能审价的匹配范围由传统直观相似进化为语义相似。审价的参考库候选数据具有更大的范围,提升审价参考的可用性。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请描述较为具体和详细的实施例,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

技术分类

06120116581948