一种基于NLP的需求查重方法与流程

文档序号:29690701发布日期:2022-04-16 11:30阅读:527来源:国知局
一种基于NLP的需求查重方法与流程
一种基于nlp的需求查重方法
技术领域
1.本发明涉及计算机技术领域,特别指一种基于nlp的需求查重方法。


背景技术:

2.公司在立项前,需要先提需求,并对需求进行评估,为了避免新提需求与历史需求重合,造成重复立项而浪费大量的时间成本与人力成本,需要在新提需求时,进行需求的查重。
3.针对需求的查重,传统上采用人工对比新提需求与需求库中的历史需求的方法,但由于需求库中存在大量的历史需求的相关文档,各文档的文本内容表达方式多样,人工对比无法进行穷尽对比,且对比效率低下,容易出现漏对比、误对比等的情况,很难获得精准的对比结果。
4.因此,如何提供一种基于nlp的需求查重方法,实现提升需求查重的效率以及质量,成为一个亟待解决的技术问题。


技术实现要素:

5.本发明要解决的技术问题,在于提供一种基于nlp的需求查重方法,实现提升需求查重的效率以及质量。
6.本发明是这样实现的:一种基于nlp的需求查重方法,包括如下步骤:
7.步骤s10、设定一数据文件路径以及一模型保存路径,获取历史需求数据并保存在所述数据文件路径,将所述数据文件路径以及模型保存路径发送给服务器;
8.步骤s20、服务器基于接收的所述数据文件路径获取历史需求数据,并对所述历史需求数据进行预处理;
9.步骤s30、服务器基于所述历史需求数据对doc2vec算法模型以及lda算法模型进行训练,并将训练后的所述doc2vec算法模型以及lda算法模型保存至模型保存路径;
10.步骤s40、服务器加载所述模型保存路径的doc2vec算法模型以及lda算法模型,将所述历史需求数据转换为历史需求表征向量并保存;
11.步骤s50、服务器接收待查重的最新需求数据,并对所述最新需求数据进行预处理;
12.步骤s60、服务器加载所述模型保存路径的doc2vec算法模型以及lda算法模型,将所述最新需求数据转换为查重需求表征向量;
13.步骤s70、服务器计算所述查重需求表征向量与历史需求表征向量的余弦相似度,基于所述余弦相似度生成查重结果。
14.进一步地,所述步骤s10具体为:
15.设定一数据文件路径以及一模型保存路径,周期性获取最新的包括需求概述文件和需求方案文件的历史需求数据并保存在所述数据文件路径,将所述数据文件路径以及模型保存路径封装为json数据包,并将所述json数据包通过http请求的方式发送给服务器;
16.所述需求概述文件携带需求编号、需求名称、开发单编号以及需求背景与目的;所述需求方案文件携带需求编号、需求名称、开发单编号以及需求详细分析。
17.进一步地,所述步骤s20具体为:
18.服务器接收所述数据文件路径以及模型保存路径,从所述数据文件路径获取历史需求数据,并对所述历史需求数据进行包括全角转半角、去除特殊字符、去除标点符号、去除空白符、去除停用词以及去除低频词的预处理。
19.进一步地,所述步骤s30具体为:
20.服务器将所述历史需求数据的需求概述文件和需求方案文件通过需求编号整合绑定后,分别对doc2vec算法模型以及lda算法模型进行训练,并将训练后的所述doc2vec算法模型以及lda算法模型保存至模型保存路径。
21.进一步地,所述步骤s40具体包括:
22.步骤s41、服务器加载所述模型保存路径的doc2vec算法模型以及lda算法模型;
23.步骤s42、服务器通过所述doc2vec算法模型将历史需求数据中的需求概述文件转换为第一文本向量,将历史需求数据中的需求方案文件转换为第二文本向量,将所述第一文本向量和第二文本向量按8比2的权重进行叠加,生成历史需求文本表征向量;
24.步骤s43、服务器通过所述lda算法模型将历史需求数据中的需求概述文件转换为第一主题向量,将历史需求数据中的需求方案文件转换为第二主题向量,将所述第一主题向量和第二主题向量按8比2的权重进行叠加,生成历史需求文本主题表征向量;
25.步骤s44、对所述历史需求文本表征向量和历史需求文本主题表征向量进行拼接,得到历史需求表征向量;
26.步骤s45、保存所述历史需求表征向量以及对应的需求编号、需求名称、开发单编号。
27.进一步地,所述步骤s50具体为:
28.服务器接收待查重的最新需求数据,并对所述最新需求数据进行包括全角转半角、去除特殊字符、去除标点符号、去除空白符、去除停用词以及去除低频词的预处理。
29.进一步地,所述步骤s60具体包括:
30.步骤s61、服务器加载所述模型保存路径的doc2vec算法模型以及lda算法模型;
31.步骤s62、服务器通过所述doc2vec算法模型将最新需求数据中的需求概述文件转换为第三文本向量,将最新需求数据中的需求方案文件转换为第四文本向量,将所述第三文本向量和第四文本向量按8比2的权重进行叠加,生成查重需求文本表征向量;
32.步骤s63、服务器通过所述lda算法模型将最新需求数据中的需求概述文件转换为第三主题向量,将最新需求数据中的需求方案文件转换为第四主题向量,将所述第三主题向量和第四主题向量按8比2的权重进行叠加,生成查重需求文本主题表征向量;
33.步骤s64、对所述查重需求文本表征向量和查重需求文本主题表征向量进行拼接,得到查重需求表征向量。
34.进一步地,所述步骤s70具体包括:
35.步骤s71、服务器计算所述查重需求表征向量与历史需求表征向量的余弦相似度:
36.37.其中,scos表示余弦相似度;ci表示查重需求表征向量的元素;hi表示历史需求表征向量的元素;
38.步骤s72、服务器设定一相似度阈值,判断所述余弦相似度是否大于相似度阈值,若是,则生成查重不通过的查重结果;若否,则生成查重通过的查重结果,并基于所述最新需求数据更新历史需求数据。
39.进一步地,所述步骤s71还包括:
40.将所述余弦相似度进行缩放和平移1/2,以限定在[0,1]区间内。
[0041]
进一步地,所述步骤s72还包括:
[0042]
将所述查重结果以json数据包的格式返回给客户端。
[0043]
本发明的优点在于:
[0044]
1、通过基于nlp的doc2vec算法模型和lda算法模型获取最新需求数据与历史需求数据的文本向量和主题向量,接着将doc2vec算法模型和lda算法模型获取的文本向量和主题向量进行拼接,构建查重需求表征向量和历史需求表征向量,再计算查重需求表征向量与历史需求表征向量的余弦相似度即可进行自动查重,相对于传统的人工对比,极大的提升了需求查重的效率,且避免因人工对比而导致的漏对比、误对比等的情况,进而极大的提升了需求查重的质量,节省了大量的人力与时间成本,减少了需求重复立项造成的资源浪费。
[0045]
2、通过对历史需求数据和最新需求数据进行预处理,即进行全角转半角、去除特殊字符、去除标点符号、去除空白符、去除停用词以及去除低频词的操作,极大的减少了需求表征无关信息的干扰,进而极大的提高了doc2vec算法模型和lda算法模型的训练速度。
[0046]
3、通过设定doc2vec文本向量的维度、lda主题向量的主题个数,使用doc2vec算法模型抽取的文本向量与lda算法模型抽取的主题向量进行拼接作为需求表征向量,不但可以用更少的维度向量表征需求,而且拼接的需求表征向量表示的需求信息更丰富,对需求的表征更准确。
[0047]
4、由于需求方案文件含有的干扰信息比较多,doc2vec算法模型和lda算法模型分别对需求概述文件和需求方案文件进行向量抽取后,按8比2的权重进行叠加,分别生成需求文本表征向量和需求文本主题表征向量,减少了需求方案文件中的干扰信息,极大的提高了需求向量的表征质量。
[0048]
5、通过将余弦相似度进行缩放和平移1/2,以限定在[0,1]区间内,方便需求查重时的比较。
附图说明
[0049]
下面参照附图结合实施例对本发明作进一步的说明。
[0050]
图1是本发明一种基于nlp的需求查重方法的流程图。
[0051]
图2是本发明历史需求表征向量构建流程示意图。
具体实施方式
[0052]
本技术实施例中的技术方案,总体思路如下:分别使用基于nlp的doc2vec算法模型和lda算法模型获取最新需求数据与历史需求数据的文本向量和主题向量,接着将
doc2vec算法模型和lda算法模型获取的文本向量和主题向量进行拼接,构建查重需求表征向量和历史需求表征向量,再计算查重需求表征向量与历史需求表征向量的余弦相似度,基于余弦相似度与相似度阈值判断最新需求数据是否重复。
[0053]
请参照图1至图2所示,本发明一种基于nlp的需求查重方法的较佳实施例,包括如下步骤:
[0054]
步骤s10、设定一数据文件路径以及一模型保存路径,获取历史需求数据并保存在所述数据文件路径,将所述数据文件路径以及模型保存路径发送给服务器;具体实施时,可按需选择历史需求数据的时间跨度,例如选取近3年的历史需求数据;
[0055]
步骤s20、服务器基于接收的所述数据文件路径获取历史需求数据,并对所述历史需求数据进行预处理;
[0056]
步骤s30、服务器基于所述历史需求数据对doc2vec算法模型以及lda算法模型进行训练,并将训练后的所述doc2vec算法模型以及lda算法模型保存至模型保存路径;
[0057]
步骤s40、服务器加载所述模型保存路径的doc2vec算法模型以及lda算法模型,将所述历史需求数据转换为若干个历史需求表征向量并保存;
[0058]
步骤s50、服务器接收待查重的最新需求数据,并对所述最新需求数据进行预处理;
[0059]
步骤s60、服务器加载所述模型保存路径的doc2vec算法模型以及lda算法模型,将所述最新需求数据转换为查重需求表征向量;通过doc2vec算法模型和lda算法模型能获取对需求表达更加确切的表征向量;
[0060]
步骤s70、服务器分别计算所述查重需求表征向量与各历史需求表征向量的余弦相似度,基于所述余弦相似度生成查重结果。
[0061]
所述步骤s10具体为:
[0062]
设定一数据文件路径以及一模型保存路径,周期性获取最新的包括需求概述文件和需求方案文件的历史需求数据并保存在所述数据文件路径,将所述数据文件路径以及模型保存路径封装为json数据包,并将所述json数据包通过http请求的方式发送给服务器;例如每个月更新一次所述历史需求数据;具体实施时,还可设定训练功能标识参数并一起封装在json数据包发送给服务器;
[0063]
所述需求概述文件携带需求编号、需求名称、开发单编号以及需求背景与目的;所述需求方案文件携带需求编号、需求名称、开发单编号以及需求详细分析。
[0064]
所述步骤s20具体为:
[0065]
服务器接收所述数据文件路径以及模型保存路径,从所述数据文件路径获取历史需求数据,并对所述历史需求数据进行包括全角转半角、去除特殊字符、去除标点符号、去除空白符、去除停用词以及去除低频词的预处理。
[0066]
具体实施时,可采用正则表达式去除特殊字符、标点符号、空白符、停用词以及低频词,并将常用词加入分词词典。
[0067]
所述步骤s30具体为:
[0068]
服务器将所述历史需求数据的需求概述文件和需求方案文件通过需求编号整合绑定后,分别对doc2vec算法模型以及lda算法模型进行训练,并将训练后的所述doc2vec算法模型以及lda算法模型保存至模型保存路径。
[0069]
所述步骤s40具体包括:
[0070]
步骤s41、服务器加载所述模型保存路径的doc2vec算法模型以及lda算法模型;
[0071]
步骤s42、服务器预先设定文本向量的维度,服务器通过所述doc2vec算法模型将历史需求数据中的需求概述文件基于维度转换为第一文本向量,将历史需求数据中的需求方案文件基于维度转换为第二文本向量,将所述第一文本向量和第二文本向量按8比2的权重进行叠加,生成历史需求文本表征向量;
[0072]
步骤s43、服务器预先设定主题向量的主题个数,服务器通过所述lda算法模型将历史需求数据中的需求概述文件基于主题个数转换为第一主题向量,将历史需求数据中的需求方案文件基于主题个数转换为第二主题向量,将所述第一主题向量和第二主题向量按8比2的权重进行叠加,生成历史需求文本主题表征向量;
[0073]
步骤s44、对所述历史需求文本表征向量和历史需求文本主题表征向量进行拼接,得到历史需求表征向量;
[0074]
步骤s45、保存所述历史需求表征向量以及对应的需求编号、需求名称、开发单编号。具体实施时,可将所述历史需求表征向量以及对应的需求编号、需求名称、开发单编号保存到模型保存路径下名为data_h i story的csv文件中。
[0075]
所述步骤s50具体为:
[0076]
客户端将最新需求数据封装为json数据包并通过http请求的方式发送给服务器,服务器接收待查重的最新需求数据,并对所述最新需求数据进行包括全角转半角、去除特殊字符、去除标点符号、去除空白符、去除停用词以及去除低频词的预处理。
[0077]
所述步骤s60具体包括:
[0078]
步骤s61、服务器加载所述模型保存路径的doc2vec算法模型以及lda算法模型;
[0079]
步骤s62、服务器通过所述doc2vec算法模型将最新需求数据中的需求概述文件转换为第三文本向量,将最新需求数据中的需求方案文件转换为第四文本向量,将所述第三文本向量和第四文本向量按8比2的权重进行叠加,生成查重需求文本表征向量;
[0080]
步骤s63、服务器通过所述lda算法模型将最新需求数据中的需求概述文件转换为第三主题向量,将最新需求数据中的需求方案文件转换为第四主题向量,将所述第三主题向量和第四主题向量按8比2的权重进行叠加,生成查重需求文本主题表征向量;
[0081]
步骤s64、对所述查重需求文本表征向量和查重需求文本主题表征向量进行拼接,得到查重需求表征向量。
[0082]
所述步骤s70具体包括:
[0083]
步骤s71、服务器计算所述查重需求表征向量与历史需求表征向量的余弦相似度:
[0084][0085]
其中,scos表示余弦相似度;ci表示查重需求表征向量的元素;hi表示历史需求表征向量的元素;
[0086]
步骤s72、服务器设定一相似度阈值,判断所述余弦相似度是否大于相似度阈值,若是,则生成查重不通过的查重结果;若否,则生成查重通过的查重结果,并基于所述最新需求数据更新历史需求数据。
[0087]
具体实施时,可对计算的各所述余弦相似度进行倒序的排序,从取值最大的所述
余弦相似度开始与相似度阈值进行比较,以提升查重效率。
[0088]
所述步骤s71还包括:
[0089]
将所述余弦相似度进行缩放和平移1/2,以限定在[0,1]区间内。
[0090]
所述步骤s72还包括:
[0091]
将所述查重结果以json数据包的格式返回给客户端。
[0092]
综上所述,本发明的优点在于:
[0093]
1、通过基于nlp的doc2vec算法模型和lda算法模型获取最新需求数据与历史需求数据的文本向量和主题向量,接着将doc2vec算法模型和lda算法模型获取的文本向量和主题向量进行拼接,构建查重需求表征向量和历史需求表征向量,再计算查重需求表征向量与历史需求表征向量的余弦相似度即可进行自动查重,相对于传统的人工对比,极大的提升了需求查重的效率,且避免因人工对比而导致的漏对比、误对比等的情况,进而极大的提升了需求查重的质量,节省了大量的人力与时间成本,减少了需求重复立项造成的资源浪费。
[0094]
2、通过对历史需求数据和最新需求数据进行预处理,即进行全角转半角、去除特殊字符、去除标点符号、去除空白符、去除停用词以及去除低频词的操作,极大的减少了需求表征无关信息的干扰,进而极大的提高了doc2vec算法模型和lda算法模型的训练速度。
[0095]
3、通过设定doc2vec文本向量的维度、lda主题向量的主题个数,使用doc2vec算法模型抽取的文本向量与lda算法模型抽取的主题向量进行拼接作为需求表征向量,不但可以用更少的维度向量表征需求,而且拼接的需求表征向量表示的需求信息更丰富,对需求的表征更准确。
[0096]
4、由于需求方案文件含有的干扰信息比较多,doc2vec算法模型和lda算法模型分别对需求概述文件和需求方案文件进行向量抽取后,按8比2的权重进行叠加,分别生成需求文本表征向量和需求文本主题表征向量,减少了需求方案文件中的干扰信息,极大的提高了需求向量的表征质量。
[0097]
5、通过将余弦相似度进行缩放和平移1/2,以限定在[0,1]区间内,方便需求查重时的比较。
[0098]
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1