一种应用于电网行业的项目申报文档的相似度检测方法

未命名 10-19 阅读:148 评论:0


1.本发明涉及人工智能技术领域,特别涉及一种应用于电网行业的项目申报文档的相似度检测方法。


背景技术:

2.随着电网业务与新技术的不断发展,电网行业在项目申报全过程中形成了许多文档数据。这些数据对新项目申报起到重要的支持作用,借助文档相似度检测技术,可以帮助申报人从既往的项目申报文档中,找出相似度高的文档,为项目查新和重复申报检测工作提供参考和支持。
3.目前,在文本相似度检测领域,传统的基于字符串和基于统计的方法被较早地应用,如最长公共子序列算法、向量空间模型、潜在语义分析模型等。这些模型大多基于认为词语间相互独立的假设,在可以取得一定的成效的同时,也一定程度上忽视了文本上下文的关系语义,影响了文本相似度判断的准确性。近年来,随着人工智能技术特别是深度学习中自然语言处理领域的快速发展,提出了许多基于深度学习的文本相似度检测方法。这些方法利用分布式词向量和神经网络的强大表征能力,有效地提高了文本相似度检测的准确度。然而,基于深度学习的方法发展迅速的同时,容易忽略传统方法,导致深度学习方法和传统方法的割裂。此外,这些方法仅在特定领域的短文本上进行了测试,电网领域中的专业术语和不断出现的新词也给相似度检测的工作带来了一定的困难和挑战。
4.近年对文档相似性检测的类似专利为《一种相似文档检测方法、装置、电子设备及存储介质》,该专利中提出了一种对相似文档检测的方法,通过计算所述目标文档和所述预设文档的语义相似度,在所述语义相似度大于预设值后计算所述目标文档和所述预设文档的字面相似度。相似度计算通过采用抽取主题模型计算主题词的词移距离作为词语维度的词移距离、用摘要算法确定句子维度的词移距离,simhash指纹算法计算分块文档维度的词移距离,最后加权计算整体的相似度。该方法的问题主要在于,一是要预设语义相似度阈值,分级的计算方法需要较多的时间;二是词移距离算法对中文支持能力一般,过于依赖词向量质量;三是simhash算法受限于文本长度,对于短文本容易出现冲突,存在误判。


技术实现要素:

5.本发明的目的在于提供一种准确性好、可靠性高、领域适应性强的可应用于电网行业的项目申报文档的相似度检测方法。该方法针对电网项目项目申报文档的特点,综合传统方法和深度学习方法,能有效克服现在商业应用采用技术存在的缺点与不足。
6.本发明的目的至少通过如下技术方案之一实现。
7.一种应用于电网行业的项目申报文档的相似度检测方法,包括如下步骤:s1. 根据文档模板类型和格式,匹配出相同类型的文档,作为待比较文档;与目标文档一起形成文档库;s2. 对目标文档和待比较文档进行预处理,从而形成多组待比较相似度的句子
对;s3. 计算各句子对的tf-idf(词频-逆向文件频率)特征,并计算tf-idf特征间的向量相似度,从而得到对应的相似度分数;s4. 使用训练好的神经网络对各句子对进行相似度预测,得到相应的相似度分数预测结果;s5. 根据利用tf-idf特征和神经网络计算出的相似度分数,按照方法权重和文档结构权重进行综合加权评分,得到最终的相似度得分,按相似度从高到低筛选排序出相似文档。
8.进一步地,步骤s1中,匹配相同类型的文档,具体如下:由于电网企业中同类型项目的申报模板格式一致,因此可以根据申报项目的类型(如科技项目、基建项目),筛选出和目标申报文档的申报类型相同的文档,作为待比较文档。
9.进一步地,步骤s2中,对目标文档和待比较文档进行预处理,从而形成多组待比较相似度的句子对,具体如下:将目标文档和待比较文档按照章节对齐,从而只比较目标文档和待比较文档相同章节文本的相似度;对同一位置处的文本按照句子进行划分,形成多个句子;然后在目标文档中选择一个句子,在待比较文档的同一位置处选择一个句子,形成一个句子对;在文档的每一位置处,组合得到所有可能的句子对组合,形成多组待比较相似度的句子对;从而将两个文档的相似度比较转化为这些句子对的相似度比较;对形成的句子对进行清洗,去除停用词和标点符号,然后使用分词工具将每个句子进行分词。
10.进一步地,步骤s3中,计算各句子对的tf-idf特征,将每个句子计算转化为tf-idf特征向量,包括以下步骤:s3.1、计算词频tf(d,w)值,即文档d中词语w出现的频率;s3.2、计算逆文本频率值idf(w) = log(n/n(w) + 1),其中,n表示文档库中的文档总数,n(w)表示词语w出现在多少个文档中;s3.3、对每个词语w计算其tf-idf值:tf-idf(w) = tf(d,w)
ꢀ×ꢀ
idf(w);s3.4、根据句子中的每个词语的tf-idf值得到句子的tf-idf向量表示。
11.进一步地,步骤s3.4中,根据句子中的每个词语的tf-idf值得到句子的tf-idf特征向量表示,具体包括以下步骤:s3.4.1、先统计文档库中所有文档,形成语料库,生成一个有序词表,假设词表大小为s,即词的数量;s3.4.2、接着初始化一个长度为s的零向量,长度s代表着词和句子向量化后的维度;s3.4.3、最后,对于句子中的每个词语,检索该词语在步骤s3.4.1中的有序词表中的索引,然后将该索引对应的在步骤s3.4.2中的零向量的初始向量纬度值,用该词的tf-idf值代替,完成代替后,得到句子的tf-idf特征向量表示。
12.进一步地,步骤s3中,计算tf-idf特征间的向量相似度,从而得到对应的相似度分
数,具体如下:计算句子对中两个句子对应的tf-idf特征向量表示间的余弦相似度,并将计算得到的余弦相似度作为句子对的相似度分数;对于两个向量a和b,a和b间的余弦相似度可表示为sim(a,b) =a
·
b/ |a||b|。
13.进一步地,步骤s4中,将句子对作为输入传入训练好的神经网络中,并将神经网络的输出作为相似度分数;所述神经网络的预测过程如下:句子对中,第一句子和第二句子通过词向量表示层,将每个句子中的词转换成词向量表示,得到第一句子和第二句子的词向量表示矩阵e1和e2;其中,词向量表示的维度为k,则长度为n的句子表示为一个大小为n
×
k的矩阵;第一句子和第二句子的词向量表示e1和e2分别通过双向lstm层(lstm为长短期记忆网络),得到双向lstm各个时间步的隐状态表示,将前向和反向计算得到的隐藏层状态连接,作为最终的隐藏层状态表示,分别记为h1和h2;其中,单向的lstm的隐藏层的维度为k,通过双向lstm层后第一句子和第二句子将表示为一个大小为n
×
2k的矩阵;使用多重注意力机制对隐状态表示做进一步的特征提取;计算注意力矩阵:a= softmax(w
s2
tanh(w
s1ht
)),其中h为句子的隐藏层状态表示,w
s1
和w
s2
为神经网络的可学习参数,保证注意力矩阵中每一行的和为1;其中,注意力全连接层的维度为j,即参数矩阵w
s1
的大小为j
×
k;注意力机制的重数为i,参数矩阵w
s2
的大小为i
×
j;根据注意力权重矩阵,计算句子的嵌入表示:m=ah,得到第一句子和第二句子的嵌入矩阵表示m1和m2;在第一句子和第二句子的嵌入矩阵中的所有行上,将每一行乘以不同的权重矩阵,对应于2-d矩阵和3-d权重张量之间的批处理点积:f1=batcheddot(m1,w
f1
),f2=batcheddot(m2,w
f2
),其中w
f1
和w
f2
是两个权重张量;f1和f2分别是第一句子和第二句子各自的批处理点积;计算第一句子和第二句子间的交互fr=f1⊙
f2,即矩阵f1和f2元素之间的乘积;将fr展平后通过2个全连接层,全连接层的维度为4000,激活函数为relu函数,最后再通过sigmoid层(sigmoid函数),得到最终的相似度预测分数。
14.进一步地,步骤s4中,训练神经网络,包括以下步骤:s4.1、训练词向量表示:在所有文档形成的文档库中学习词向量表示,具体使用glove方法(glove算法)进行训练,词向量的维度大小为300;s4.2、构建相似度预测训练集:通过人工标注的方式,从文档库中选出相似度排名前20%的句子对,标记为正样本,标签为1;然后通过随机选取的方式任意选取两个句子构成训练句子对,若训练句子对不在正样本中,则标记为负样本,标签为-1,从而构成一个以电网项目申报文档为主题的相似度预测训练集;最后,通过同义词替换、回译的方式产生新的数据,对数据集进行扩充;s4.3、使用adagrad优化算法在训练集上训练神经网络;其中,引入一个正则项来防止多重注意力机制过度关注在句子的同一部分;具体地,使用注意力矩阵a及其转置的点积,减去一个单位矩阵i,作为冗余度的度量:p= ||aa
t

i||
f2
,其中p代表冗余度,||
·
||f表示矩阵的frobenius范数。
15.进一步地,步骤s5的步骤如下:s5.1、分别将使用tf-idf特征和神经网络计算出的相似度分数在文档各部分取平均,得到按两种不同方法计算得到的相似度平均分数p1,p2,
ꢀ…
,pn和q1,q2,
ꢀ…
,qn;其中,p1,p2,
ꢀ…
,pn表示使用tf-idf特征计算得到的相似度分数在文档第1,2,

,n部分的平均得分,q1,q2,
ꢀ…
,qn表示使用神经网络预测得到的相似度分数在文档第1,2,

,n部分的平均得分;s5.2、根据预设定好的文档结构权重α1,α2,
ꢀ…
,αn,计算得到使用两种方法计算得到的文档相似度的综合得分p=α1p1+α1p2+
ꢀ…ꢀ
+αnpn,q=α1q1+α1q2+
ꢀ…ꢀ

nqn
,其中α1,α2,
ꢀ…
,αn表示使文档第1,2,

,n部分的权重,α1+α2+
ꢀ…ꢀ
+αn= 1;s5.3、根据方法权重w进行综合加权,计算得到最终的相似度得分score =w
×
p+ (1
ꢀ–
w)
ꢀ×
q,其中w表示tf-idf方法(tf-idf算法)的权重值,0≤w≤1;s5.4、最终相似度得分越高,代表两文档之间越相似;按相似度得分从高到低给出对应的相似文档和相应的相似度分数。
16.相比与现有技术,本发明的优点在于:1. 由于使用电网项目管理过程中的文档数据来训练词向量表示及构造训练样本,能更好地学习到准确的词向量表示,以及提高神经网络的预测准确度。而使用其他语料库训练得到的词向量难以准确表示电网领域中的专业名词,因此本发明提供的方法在电网领域具有较强的适用性;2. 分别使用tf-idf特征和神经网络来预测相似度,既保留了传统方法的优势,又融合了深度学习方法,两种方法的结合有效地提高了相似度检测的准确度。使用方法权重的方式来调整两种方法对最终预测结果的影响程度,可根据实际情况适当调整,具有灵活性高的优点;3. 在神经网络结构的设计上,使用双向lstm以及多重注意力机制对句子进行特征提取,能有效学习表示句子的潜在语义,更好地抽象句子的特征。多重注意力机制使句子不同位置的组合的特征表示得到充分利用,从而能准确理解长句、复杂句,提高预测准确度。在神经网络训练过程中引入的正则化项,有效防止了训练过程中注意力机制重复关注句子的相同位置。
附图说明
17.图1为本发明实施例中一种应用于电网行业的项目申报文档的相似度检测方法的方法流程示意图;图2为本发明实施例中神经网络的预测过程示意图;图3为本发明实施例中步骤s5的流程示意图。
具体实施方式
18.为使本发明的目的、技术方案和优点更加清楚明白,下面结合附图并举实施例,对本发明的具体实施进行详细说明。
19.实施例:一种应用于电网行业的项目申报文档的相似度检测方法,如图1所示,包括如下步
骤:s1. 根据文档模板类型和格式,匹配出相同类型的文档,作为待比较文档;匹配相同类型的文档,与目标文档一起形成文档库;具体如下:由于电网企业中同类型项目的申报模板格式一致,因此可以根据申报项目的类型,如科技项目、基建项目,筛选出和目标申报文档的申报类型相同的文档,作为待比较文档。
20.s2. 对目标文档和待比较文档进行预处理,从而形成多组待比较相似度的句子对,具体如下:在一个实施例中,将目标文档和待比较文档按照章节对齐,从而只比较目标文档和待比较文档相同章节文本的相似度;对同一位置处的文本按照句子进行划分,形成多个句子;然后在目标文档中选择一个句子,在待比较文档的同一位置处选择一个句子,形成一个句子对;在文档的每一位置处,组合得到所有可能的句子对组合,形成多组待比较相似度的句子对;从而将两个文档的相似度比较转化为这些句子对的相似度比较;对形成的句子对进行清洗,去除停用词和标点符号,然后使用分词工具将每个句子进行分词。
21.s3. 计算各句子对的tf-idf特征,并计算tf-idf特征间的向量相似度,从而得到对应的相似度分数;计算各句子对的tf-idf特征,具体为将每个句子计算转化为tf-idf特征向量,包括以下步骤:s3.1、计算词频tf(d,w)值,即文档d中词语w出现的频率;s3.2、计算逆文本频率值idf(w) = log(n/n(w) + 1),其中,n表示文档库中的文档总数,n(w)表示词语w出现在多少个文档中;s3.3、对每个词语w计算其tf-idf值:tf-idf(w) = tf(d,w)
ꢀ×ꢀ
idf(w);s3.4、根据句子中的每个词语的tf-idf值得到句子的tf-idf特征向量表示,具体包括以下步骤:s3.4.1、先统计文档库中所有文档,形成语料库,生成一个有序词表,假设词表大小为s,即词的数量;s3.4.2、接着初始化一个长度为s的零向量,长度s代表着词和句子向量化后的维度;s3.4.3、最后,对于句子中的每个词语,检索该词语在步骤s3.4.1中的有序词表中的索引,然后将该索引对应的在步骤s3.4.2中的零向量的初始向量纬度值,用该词的tf-idf值代替,完成代替后,得到句子的tf-idf特征向量表示。
22.计算tf-idf特征间的向量相似度,从而得到对应的相似度分数,具体如下:计算句子对中两个句子对应的tf-idf特征向量表示间的余弦相似度,并将计算得到的余弦相似度作为句子对的相似度分数;对于两个向量a和b,a和b间的余弦相似度可表示为sim(a,b) =a
·
b/ |a||b|。
23.s4. 使用训练好的神经网络对各句子对进行相似度预测,得到相应的相似度分数预测结果;
将句子对作为输入传入训练好的神经网络中,并将神经网络的输出作为相似度分数;如图2所示,所述神经网络的预测过程如下:句子对中,第一句子和第二句子通过词向量表示层,将每个句子中的词转换成词向量表示,得到第一句子和第二句子的词向量表示矩阵e1和e2;其中,词向量表示的维度为k,则长度为n的句子表示为一个大小为n
×
k的矩阵;在一个实施例中,词向量表示的维度具体为300,句子的最大长度为50,每个句子表示为一个大小为50
×
300的矩阵;第一句子和第二句子的词向量表示e1和e2分别通过双向lstm层,得到双向lstm各个时间步的隐状态表示,将前向和反向计算得到的隐藏层状态连接,作为最终的隐藏层状态表示,分别记为h1和h2;其中,单向的lstm的隐藏层的维度为k,通过双向lstm层后第一句子和第二句子将表示为一个大小为n
×
2k的矩阵;在一个实施例中,单向的lstm的隐藏层的维度具体为300,通过双向lstm层后句子表示为一个大小为50
×
600的矩阵;使用多重注意力机制对隐状态表示做进一步的特征提取;计算注意力注意力矩阵:a= softmax(w
s2
tanh(w
s1ht
)),其中h为句子的隐藏层状态表示,w
s1
和w
s2
为神经网络的可学习参数,保证注意力矩阵中每一行的和为1;其中,注意力全连接层的维度为j,即参数矩阵w
s1
的大小为j
×
k;注意力机制的重数为i,参数矩阵w
s2
的大小为i
×
j;在一个实施例中,注意力全连接层的维度为150,即参数矩阵w
s1
的大小为150
×
600;注意力机制的重数为30,参数矩阵w
s2
的大小为30
×
150。
24.根据注意力权重矩阵,计算句子的嵌入表示:m=ah,得到第一句子和第二句子的嵌入矩阵表示m1和m2;在第一句子和第二句子的嵌入矩阵中的所有行上,将每一行乘以不同的权重矩阵,对应于2-d矩阵和3-d权重张量之间的批处理点积:f1=batcheddot(m1,w
f1
),f2=batcheddot(m2,w
f2
),其中w
f1
和w
f2
是两个权重张量;f1和f2分别是第一句子和第二句子各自的批处理点积;计算第一句子和第二句子间的交互fr=f1⊙
f2,即矩阵f1和f2元素之间的乘积;将fr展平后通过2个全连接层,在一个实施例中,全连接层的维度为4000,激活函数为relu,最后再通过sigmoid层,得到最终的相似度预测分数。
25.训练神经网络,包括以下步骤:s4.1、训练词向量表示:在所有文档形成的文档库中学习词向量表示,具体使用glove方法进行训练,词向量的维度大小为300;s4.2、构建相似度预测训练集:通过人工标注的方式,从文档库中选出相似度排名前20%的句子对,标记为正样本,标签为1;然后通过随机选取的方式任意选取两个句子构成训练句子对,若训练句子对不在正样本中,则标记为负样本,标签为-1,从而构成一个以电网项目申报文档为主题的相似度预测训练集;最后,通过同义词替换、回译的方式产生新的数据,对数据集进行扩充;s4.3、使用adagrad优化算法在训练集上训练神经网络;其中,引入一个正则项来防止多重注意力机制过度关注在句子的同一部分;具体地,使用注意力矩阵a及其转置的点
积,减去一个单位矩阵i,作为冗余度的度量:p= ||aa
t

i||
f2
,其中p代表冗余度,||
·
||f表示矩阵的frobenius范数。
26.s5. 根据利用tf-idf特征和神经网络计算出的相似度分数,按照方法权重和文档结构权重进行综合加权评分,得到最终的相似度得分,按相似度从高到低筛选排序出相似文档,如图3所示,步骤如下:s5.1、分别将使用tf-idf特征和神经网络计算出的相似度分数在文档各部分取平均,得到按两种不同方法计算得到的相似度平均分数p1,p2,
ꢀ…
,pn和q1,q2,
ꢀ…
,qn;其中,p1,p2,
ꢀ…
,pn表示使用tf-idf特征计算得到的相似度分数在文档第1,2,

,n部分的平均得分,q1,q2,
ꢀ…
,qn表示使用神经网络预测得到的相似度分数在文档第1,2,

,n部分的平均得分;s5.2、根据预设定好的文档结构权重α1,α2,
ꢀ…
,αn,计算得到使用两种方法计算得到的文档相似度的综合得分p=α1p1+α1p2+
ꢀ…ꢀ
+αnpn,q=α1q1+α1q2+
ꢀ…ꢀ

nqn
,其中α1,α2,
ꢀ…
,αn表示使文档第1,2,

,n部分的权重,α1+α2+
ꢀ…ꢀ
+αn= 1;s5.3、根据方法权重w进行综合加权,计算得到最终的相似度得分score =w
×
p+ (1
ꢀ–
w)
ꢀ×
q,其中w表示tf-idf方法的权重值,0≤w≤1;s5.4、最终相似度得分越高,代表两文档之间越相似;按相似度得分从高到低给出对应的相似文档和相应的相似度分数。
27.在一个实施例中,神经网络学习率为0.01,正则项的系数设置为0.03;在一个实施例中,目标文档的结构分为“概述”、“研究现状分析”、“项目必要性分析”、“项目研究内容”、“预期目标及成果”、“项目收益分析”、“项目研究结论及建议”七个部分;在步骤s1中,匹配出和目标文档的目录结构相同的文档:在文档库中,找到具有同样文档结构的文档,作为待比较查重的对象。
28.在步骤s2中,将目标文档和待比较文档按照以上七个部分对齐,从而只比较两文档相同位置处文本的相似度。然后对同一位置处的文本按照句子进行划分,形成多个句子。在目标文档中选择一个句子,在待比较文档的同一位置处选择一个句子,形成一个句子对。重复上述过程,在文档的每一位置处,组合得到所有可能的句子对组合,形成多组待比较相似度的句子对。
29.以下给出两句分别来自目标文档和待比较文档“概述”部分的句子进行举例说明,这两个句子构成一个待比较相似度的句子对:句子1:通过a供电局移动应用的用户体验提升实践,构建企业级移动应用用户体验要素模型并研究企业级移动应用用户体验提升规划及发展路径,为实现数字北网做出相关支持,得出实践经验。
30.句子2:通过建设a局用户体验中心系统,实现a供电局移动应用的用户体验提升实践,在系统中实现问卷采集,自动实现移动应用体验指标监测和计算,实现对应用体验的定性和定量测试及结果的可视化展示。
31.在步骤s2中,对句子1进行预处理和分词后得到:“a”,“供电局”,“移动”,“应用”,“用户”,“体验”,“提升”,“实践”,“构建”,“企业级”,“移动”,“应用”,“用户”,“体验”,“要素”,“模型”,“研究”,“企业级”,“移动”,“应用”,“用户”,“体验”,“提升”,“规划”,“发展”,“路径”,“实现”,“数字”,“北网”,“做出”,“相关”,“支持”,“得出”,“实践经验”;对句子2进行预处理和分词后得到:“建设”,“a”,“局”,“用户”,“体验”,“中心”,“系统”,“实现”,“a”,“供电局”,“移动”,“应用”,“用户”,“体验”,“提升”,“实践”,“系统”,“中”,“实现”,“问卷”,“采集”,“自动”,“实现”,“移动”,“应用”,“体验”,“指标”,“监测”,“计算”,“实现”,“应用”,“体验”,“定性”,“定量”,“测试”,“可视化”,“展示”。类似地,对步骤2中得到的其他句子对进行预处理和分词操作,处理好的句子对作为下一步骤的输入。
32.在步骤s3中,计算步骤s2中得到的句子对的tf-idf特征,并计算tf-idf特征间的向量余弦相似度,得到对应的相似度分数;在步骤s4中,使用训练好的神经网络对步骤2中得到的句子对进行相似度预测,得到相应的相似度分数预测结果。最终,得到使用tf-idf特征和神经网络计算出的相似度分数。上述例子的相似度分数分别为0.876和0.884。同理,计算出所有句子对的相似度分数。
33.在步骤s5中,根据利用tf-idf特征和神经网络计算出的相似度分数,按照方法权重和文档结构权重进行综合加权评分,得到最终的相似度得分。在本例中,目标文档结构权重设置为[0.05, 0.05, 0.2, 0.25, 0.25, 0.1, 0.1]。文档各部分的相似度得分为对应部分的所有句子对的相似度得分的平均值,使用tf-idf特征计算得到的文档各部分相似度分数为[0.8777, 0.7030, 0.9168, 0.7850, 0.8327, 0.7734, 0.6861],使用神经网络预测得到的文档各部分相似度分数为[0.6670, 0.9126, 0.8638, 0.9129, 0.6070, 0.7324, 0.8978]。计算分别使用两种方法预测得到的文档相似度的综合得分,分别为0.8128和0.7947。tf-idf方法的权重值设置为0.6,则最终的相似度得分为0.8056。最终的相似度分数在-1到1之间,越接近1表示两个文档越相似,越接近-1表示两个文档越不相似。

技术特征:
1.一种应用于电网行业的项目申报文档的相似度检测方法,其特征在于,包括如下步骤:s1. 根据文档模板类型和格式,匹配出相同类型的文档,作为待比较文档,与目标文档一起形成文档库;s2. 对目标文档和待比较文档进行预处理,从而形成多组待比较相似度的句子对;s3. 计算各句子对的tf-idf特征,并计算tf-idf特征间的向量相似度,从而得到对应的相似度分数;s4. 使用训练好的神经网络对各句子对进行相似度预测,得到相应的相似度分数预测结果;s5. 根据利用tf-idf特征和神经网络计算出的相似度分数,按照方法权重和文档结构权重进行综合加权评分,得到最终的相似度得分,按相似度从高到低筛选排序出相似文档。2.根据权利要求1所述的一种应用于电网行业的项目申报文档的相似度检测方法,其特征在于,步骤s2中,对目标文档和待比较文档进行预处理,从而形成多组待比较相似度的句子对,具体如下:将目标文档和待比较文档按照章节对齐,从而只比较目标文档和待比较文档相同章节文本的相似度;对同一位置处的文本按照句子进行划分,形成多个句子;然后在目标文档中选择一个句子,在待比较文档的同一位置处选择一个句子,形成一个句子对;在文档的每一位置处,组合得到所有可能的句子对组合,形成多组待比较相似度的句子对;从而将两个文档的相似度比较转化为这些句子对的相似度比较;对形成的句子对进行清洗,去除停用词和标点符号,然后使用分词工具将每个句子进行分词。3.根据权利要求1所述的一种应用于电网行业的项目申报文档的相似度检测方法,其特征在于,步骤s3中计算各句子对的tf-idf特征,将每个句子计算转化为tf-idf特征向量,具体包括以下步骤:s3.1、计算词频tf(d, w)值,即文档d中词语w出现的频率;s3.2、计算逆文本频率值idf(w) = log(n / n(w) + 1),其中,n表示文档库中的文档总数,n(w)表示词语w出现在多少个文档中;s3.3、对每个词语w计算其tf-idf值:tf-idf(w) = tf(d, w)
ꢀ×ꢀ
idf(w);s3.4、根据句子中的每个词语的tf-idf值得到句子的tf-idf特征向量表示。4.根据权利要求3所述的一种应用于电网行业的项目申报文档的相似度检测方法,其特征在于,步骤s3.4中,根据句子中的每个词语的tf-idf值得到句子的tf-idf特征向量表示,具体包括以下步骤:s3.4.1、先统计文档库中所有文档,形成语料库,生成一个有序词表,假设词表大小为s,即词的数量;s3.4.2、接着初始化一个长度为s的零向量,长度s代表着词和句子向量化后的维度;s3.4.3、最后,对于句子中的每个词语,检索该词语在步骤s3.4.1中的有序词表中的索引,然后将该索引对应的在步骤s3.4.2中的零向量的初始向量纬度值,用该词的tf-idf值代替,完成代替后,得到句子的tf-idf特征向量表示。
5.根据权利要求3所述的一种应用于电网行业的项目申报文档的相似度检测方法,其特征在于,步骤s3中,计算tf-idf特征间的向量相似度,从而得到对应的相似度分数,具体如下:计算句子对中两个句子对应的tf-idf特征向量表示间的余弦相似度,并将计算得到的余弦相似度作为句子对的相似度分数;对于两个向量a和b,a和b间的余弦相似度表示为sim(a, b) = a
· b / |a||b|。6.根据权利要求3所述的一种应用于电网行业的项目申报文档的相似度检测方法,其特征在于,步骤s4中,将句子对作为输入传入训练好的神经网络中,并将神经网络的输出作为相似度分数;所述神经网络的预测过程如下:句子对中,第一句子和第二句子通过词向量表示层,将每个句子中的词转换成词向量表示,得到第一句子和第二句子的词向量表示矩阵e1和e2;其中,词向量表示的维度为k,则长度为n的句子表示为一个大小为n
×
k的矩阵;第一句子和第二句子的词向量表示e1和e2分别通过双向lstm层,得到双向lstm各个时间步的隐状态表示,将前向和反向计算得到的隐藏层状态连接,作为最终的隐藏层状态表示,分别记为h1和h2;其中,单向的lstm的隐藏层的维度为k,通过双向lstm层后第一句子和第二句子将表示为一个大小为n
×
2k的矩阵;使用多重注意力机制对隐状态表示做进一步的特征提取;计算注意力矩阵:a = softmax(w
s2
tanh(w
s1
h
t
)),其中h为句子的隐藏层状态表示,w
s1
和w
s2
为神经网络的可学习参数,保证注意力矩阵中每一行的和为1;其中,注意力全连接层的维度为j,即参数矩阵w
s1
的大小为j
×
k;注意力机制的重数为i,参数矩阵w
s2
的大小为i
×
j;根据注意力权重矩阵,计算句子的嵌入表示:m = ah,得到第一句子和第二句子的嵌入矩阵表示m1和m2;在第一句子和第二句子的嵌入矩阵中的所有行上,将每一行乘以不同的权重矩阵,对应于2-d矩阵和3-d权重张量之间的批处理点积:f1=batcheddot(m1, w
f1
),f2=batcheddot(m2, w
f2
),其中w
f1
和w
f2
是两个权重张量;f1和f
2 分别是第一句子和第二句子各自的批处理点积;计算第一句子和第二句子间的交互f
r = f1⊙
f2,即矩阵f1和f2元素之间的乘积;将f
r
展平后通过2个全连接层,激活函数为relu,最后再通过sigmoid层,得到最终的相似度预测分数。7.根据权利要求3所述的一种应用于电网行业的项目申报文档的相似度检测方法,其特征在于,步骤s4中,训练神经网络,包括以下步骤:s4.1、训练词向量表示:在所有文档形成的文档库中学习词向量表示,使用glove方法进行训练;s4.2、构建相似度预测训练集:通过人工标注的方式,从文档库中选出相似度排名前20%的句子对,标记为正样本,标签为1;然后通过随机选取的方式任意选取两个句子构成训练句子对,若训练句子对不在正样本中,则标记为负样本,标签为-1,从而构成一个以电网项目申报文档为主题的相似度预测训练集;最后,通过同义词替换、回译的方式产生新的数据,对数据集进行扩充;
s4.3、使用adagrad优化算法在训练集上训练神经网络;其中,引入一个正则项来防止多重注意力机制过度关注在句子的同一部分;具体地,使用注意力矩阵a及其转置的点积,减去一个单位矩阵i,作为冗余度的度量:p = || aa
t
ꢀ–ꢀ
i ||
f2
,其中p代表冗余度,||
·
||
f
表示矩阵的frobenius范数。8.根据权利要求1~7任一项所述的一种应用于电网行业的项目申报文档的相似度检测方法,其特征在于,步骤s5的步骤如下:s5.1、分别将使用tf-idf特征和神经网络计算出的相似度分数在文档各部分取平均,得到按两种不同方法计算得到的相似度平均分数p1, p2,
ꢀ…
, p
n
和q1, q2,
ꢀ…
, q
n
;其中,p1, p2,
ꢀ…
, p
n
表示使用tf-idf特征计算得到的相似度分数在文档第1,2,

,n部分的平均得分,q1, q2,
ꢀ…
, q
n
表示使用神经网络预测得到的相似度分数在文档第1,2,

,n部分的平均得分;s5.2、根据预设定好的文档结构权重α1, α2,
ꢀ…
, α
n
,计算得到使用两种方法计算得到的文档相似度的综合得分p = α1p
1 +α1p
2 +
ꢀ…ꢀ
+ α
n
p
n
,q = α1q
1 +α1q
2 +
ꢀ…ꢀ
+ α
n
q
n
,其中α1, α2,
ꢀ…
, α
n
表示使文档第1,2,

,n部分的权重,α
1 + α
2 +
ꢀ…ꢀ
+ α
n = 1;s5.3、根据方法权重w进行综合加权,计算得到最终的相似度得分score;s5.4、最终相似度得分越高,代表两文档之间越相似;按相似度得分从高到低给出对应的相似文档和相应的相似度分数。9.根据权利要求8所述的一种应用于电网行业的项目申报文档的相似度检测方法,其特征在于,步骤s5.3中,最终的相似度得分score = w
×
p + (1
ꢀ–ꢀ
w)
ꢀ×
q,其中w表示tf-idf方法的权重值,0≤w≤1。

技术总结
本发明公开了一种应用于电网行业的项目申报文档的相似度检测方法。所述方法根据文档模板类型和格式,匹配出相同类型的文档,作为待比较文档,形成文档库;对目标文档和待比较文档进行预处理,从而形成多组待比较相似度的句子对;计算各句子对的TF-IDF特征,并计算TF-IDF特征间的向量相似度,从而得到对应的相似度分数;使用训练好的神经网络对各句子对进行相似度预测,得到相应的相似度分数预测结果;根据利用TF-IDF特征和神经网络计算出的相似度分数,按照方法权重和文档结构权重进行综合加权评分,得到最终的相似度得分,按相似度从高到低筛选排序出相似文档。本发明能有效克服现在商业应用采用技术存在的缺点与不足。现在商业应用采用技术存在的缺点与不足。现在商业应用采用技术存在的缺点与不足。


技术研发人员:陈酌灼 蔡毅
受保护的技术使用者:华南理工大学
技术研发日:2023.09.06
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐