CN116881738B - 一种应用于电网行业的项目申报文档的相似度检测方法 - Google Patents
一种应用于电网行业的项目申报文档的相似度检测方法 Download PDFInfo
- Publication number
- CN116881738B CN116881738B CN202311145292.3A CN202311145292A CN116881738B CN 116881738 B CN116881738 B CN 116881738B CN 202311145292 A CN202311145292 A CN 202311145292A CN 116881738 B CN116881738 B CN 116881738B
- Authority
- CN
- China
- Prior art keywords
- sentence
- similarity
- document
- idf
- documents
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 66
- 239000013598 vector Substances 0.000 claims abstract description 62
- 238000013528 artificial neural network Methods 0.000 claims abstract description 43
- 238000007781 pre-processing Methods 0.000 claims abstract description 5
- 238000012216 screening Methods 0.000 claims abstract description 4
- 239000011159 matrix material Substances 0.000 claims description 53
- 238000012549 training Methods 0.000 claims description 34
- 230000007246 mechanism Effects 0.000 claims description 13
- 230000002457 bidirectional effect Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 4
- 230000005484 gravity Effects 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000012935 Averaging Methods 0.000 claims description 3
- 101100001671 Emericella variicolor andF gene Proteins 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims description 3
- 238000003491 array Methods 0.000 claims description 3
- 238000004140 cleaning Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 238000002372 labelling Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000007547 defect Effects 0.000 abstract description 2
- 238000013135 deep learning Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000012113 quantitative test Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/10—Pre-processing; Data cleansing
-
- 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/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种应用于电网行业的项目申报文档的相似度检测方法。所述方法根据文档模板类型和格式,匹配出相同类型的文档,作为待比较文档,形成文档库;对目标文档和待比较文档进行预处理,从而形成多组待比较相似度的句子对;计算各句子对的TF‑IDF特征,并计算TF‑IDF特征间的向量相似度,从而得到对应的相似度分数;使用训练好的神经网络对各句子对进行相似度预测,得到相应的相似度分数预测结果;根据利用TF‑IDF特征和神经网络计算出的相似度分数,按照方法权重和文档结构权重进行综合加权评分,得到最终的相似度得分,按相似度从高到低筛选排序出相似文档。本发明能有效克服现在商业应用采用技术存在的缺点与不足。
Description
技术领域
本发明涉及人工智能技术领域,特别涉及一种应用于电网行业的项目申报文档的相似度检测方法。
背景技术
随着电网业务与新技术的不断发展,电网行业在项目申报全过程中形成了许多文档数据。这些数据对新项目申报起到重要的支持作用,借助文档相似度检测技术,可以帮助申报人从既往的项目申报文档中,找出相似度高的文档,为项目查新和重复申报检测工作提供参考和支持。
目前,在文本相似度检测领域,传统的基于字符串和基于统计的方法被较早地应用,如最长公共子序列算法、向量空间模型、潜在语义分析模型等。这些模型大多基于认为词语间相互独立的假设,在可以取得一定的成效的同时,也一定程度上忽视了文本上下文的关系语义,影响了文本相似度判断的准确性。近年来,随着人工智能技术特别是深度学习中自然语言处理领域的快速发展,提出了许多基于深度学习的文本相似度检测方法。这些方法利用分布式词向量和神经网络的强大表征能力,有效地提高了文本相似度检测的准确度。然而,基于深度学习的方法发展迅速的同时,容易忽略传统方法,导致深度学习方法和传统方法的割裂。此外,这些方法仅在特定领域的短文本上进行了测试,电网领域中的专业术语和不断出现的新词也给相似度检测的工作带来了一定的困难和挑战。
近年对文档相似性检测的类似专利为《一种相似文档检测方法、装置、电子设备及存储介质》,该专利中提出了一种对相似文档检测的方法,通过计算所述目标文档和所述预设文档的语义相似度,在所述语义相似度大于预设值后计算所述目标文档和所述预设文档的字面相似度。相似度计算通过采用抽取主题模型计算主题词的词移距离作为词语维度的词移距离、用摘要算法确定句子维度的词移距离,simhash指纹算法计算分块文档维度的词移距离,最后加权计算整体的相似度。该方法的问题主要在于,一是要预设语义相似度阈值,分级的计算方法需要较多的时间;二是词移距离算法对中文支持能力一般,过于依赖词向量质量;三是simhash算法受限于文本长度,对于短文本容易出现冲突,存在误判。
发明内容
本发明的目的在于提供一种准确性好、可靠性高、领域适应性强的可应用于电网行业的项目申报文档的相似度检测方法。该方法针对电网项目项目申报文档的特点,综合传统方法和深度学习方法,能有效克服现在商业应用采用技术存在的缺点与不足。
本发明的目的至少通过如下技术方案之一实现。
一种应用于电网行业的项目申报文档的相似度检测方法,包括如下步骤:
S1. 根据文档模板类型和格式,匹配出相同类型的文档,作为待比较文档;与目标文档一起形成文档库;
S2. 对目标文档和待比较文档进行预处理,从而形成多组待比较相似度的句子对;
S3. 计算各句子对的TF-IDF(词频-逆向文件频率)特征,并计算TF-IDF特征间的向量相似度,从而得到对应的相似度分数;
S4. 使用训练好的神经网络对各句子对进行相似度预测,得到相应的相似度分数预测结果;
S5. 根据利用TF-IDF特征和神经网络计算出的相似度分数,按照方法权重和文档结构权重进行综合加权评分,得到最终的相似度得分,按相似度从高到低筛选排序出相似文档。
进一步地,步骤S1中,匹配相同类型的文档,具体如下:
由于电网企业中同类型项目的申报模板格式一致,因此可以根据申报项目的类型(如科技项目、基建项目),筛选出和目标申报文档的申报类型相同的文档,作为待比较文档。
进一步地,步骤S2中,对目标文档和待比较文档进行预处理,从而形成多组待比较相似度的句子对,具体如下:
将目标文档和待比较文档按照章节对齐,从而只比较目标文档和待比较文档相同章节文本的相似度;
对同一位置处的文本按照句子进行划分,形成多个句子;然后在目标文档中选择一个句子,在待比较文档的同一位置处选择一个句子,形成一个句子对;在文档的每一位置处,组合得到所有可能的句子对组合,形成多组待比较相似度的句子对;从而将两个文档的相似度比较转化为这些句子对的相似度比较;
对形成的句子对进行清洗,去除停用词和标点符号,然后使用分词工具将每个句子进行分词。
进一步地,步骤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向量表示。
进一步地,步骤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特征向量表示。
进一步地,步骤S3中,计算TF-IDF特征间的向量相似度,从而得到对应的相似度分数,具体如下:
计算句子对中两个句子对应的TF-IDF特征向量表示间的余弦相似度,并将计算得到的余弦相似度作为句子对的相似度分数;对于两个向量a和b,a和b间的余弦相似度可表示为sim(a,b) =a·b/ |a||b|。
进一步地,步骤S4中,将句子对作为输入传入训练好的神经网络中,并将神经网络的输出作为相似度分数;
所述神经网络的预测过程如下:
句子对中,第一句子和第二句子通过词向量表示层,将每个句子中的词转换成词向量表示,得到第一句子和第二句子的词向量表示矩阵E 1和E 2;其中,词向量表示的维度为K,则长度为n的句子表示为一个大小为n×K的矩阵;
第一句子和第二句子的词向量表示E 1和E 2分别通过双向LSTM层(LSTM为长短期记忆网络),得到双向LSTM各个时间步的隐状态表示,将前向和反向计算得到的隐藏层状态连接,作为最终的隐藏层状态表示,分别记为H 1和H 2;其中,单向的LSTM的隐藏层的维度为K,通过双向LSTM层后第一句子和第二句子将表示为一个大小为n×2K的矩阵;
使用多重注意力机制对隐状态表示做进一步的特征提取;计算注意力矩阵:A=softmax(W s2tanh(W s1 H T)),其中H为句子的隐藏层状态表示,W s1和W s2为神经网络的可学习参数,保证注意力矩阵中每一行的和为1;其中,注意力全连接层的维度为J,即参数矩阵W s1的大小为J×K;注意力机制的重数为I,参数矩阵W s2的大小为I×J;
根据注意力权重矩阵,计算句子的嵌入表示:M=AH,得到第一句子和第二句子的嵌入矩阵表示M 1和M 2;
在第一句子和第二句子的嵌入矩阵中的所有行上,将每一行乘以不同的权重矩阵,对应于2-D矩阵和3-D权重张量之间的批处理点积:F 1=batcheddot(M 1,W f1),F 2=batcheddot(M 2,W f2),其中W f1和W f2是两个权重张量;F 1和F 2分别是第一句子和第二句子各自的批处理点积;
计算第一句子和第二句子间的交互F r=F 1⊙F 2,即矩阵F 1和F 2元素之间的乘积;将F r展平后通过2个全连接层,全连接层的维度为4000,激活函数为ReLu函数,最后再通过sigmoid层(Sigmoid函数),得到最终的相似度预测分数。
进一步地,步骤S4中,训练神经网络,包括以下步骤:
S4.1、训练词向量表示:在所有文档形成的文档库中学习词向量表示,具体使用GloVe方法(GloVe算法)进行训练,词向量的维度大小为300;
S4.2、构建相似度预测训练集:通过人工标注的方式,从文档库中选出相似度排名前20%的句子对,标记为正样本,标签为1;然后通过随机选取的方式任意选取两个句子构成训练句子对,若训练句子对不在正样本中,则标记为负样本,标签为-1,从而构成一个以电网项目申报文档为主题的相似度预测训练集;最后,通过同义词替换、回译的方式产生新的数据,对数据集进行扩充;
S4.3、使用AdaGrad优化算法在训练集上训练神经网络;其中,引入一个正则项来防止多重注意力机制过度关注在句子的同一部分;具体地,使用注意力矩阵A及其转置的点积,减去一个单位矩阵I,作为冗余度的度量:P= ||AA T–I||F 2,其中P代表冗余度,||·||F表示矩阵的Frobenius范数。
进一步地,步骤S5的步骤如下:
S5.1、分别将使用TF-IDF特征和神经网络计算出的相似度分数在文档各部分取平均,得到按两种不同方法计算得到的相似度平均分数p 1,p 2, …,p N和q 1,q 2, …,q N;其中,p 1,p 2, …,p N表示使用TF-IDF特征计算得到的相似度分数在文档第1,2,…,N部分的平均得分,q 1,q 2, …,q N表示使用神经网络预测得到的相似度分数在文档第1,2,…,N部分的平均得分;
S5.2、根据预设定好的文档结构权重α 1,α 2, …,α N,计算得到使用两种方法计算得到的文档相似度的综合得分P=α 1 p 1+α 1 p 2+ … +α N p N,Q=α 1 q 1+α 1 q 2+ … +α N q N,其中α 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、最终相似度得分越高,代表两文档之间越相似;按相似度得分从高到低给出对应的相似文档和相应的相似度分数。
相比与现有技术,本发明的优点在于:
1. 由于使用电网项目管理过程中的文档数据来训练词向量表示及构造训练样本,能更好地学习到准确的词向量表示,以及提高神经网络的预测准确度。而使用其他语料库训练得到的词向量难以准确表示电网领域中的专业名词,因此本发明提供的方法在电网领域具有较强的适用性;
2. 分别使用TF-IDF特征和神经网络来预测相似度,既保留了传统方法的优势,又融合了深度学习方法,两种方法的结合有效地提高了相似度检测的准确度。使用方法权重的方式来调整两种方法对最终预测结果的影响程度,可根据实际情况适当调整,具有灵活性高的优点;
3. 在神经网络结构的设计上,使用双向LSTM以及多重注意力机制对句子进行特征提取,能有效学习表示句子的潜在语义,更好地抽象句子的特征。多重注意力机制使句子不同位置的组合的特征表示得到充分利用,从而能准确理解长句、复杂句,提高预测准确度。在神经网络训练过程中引入的正则化项,有效防止了训练过程中注意力机制重复关注句子的相同位置。
附图说明
图1为本发明实施例中一种应用于电网行业的项目申报文档的相似度检测方法的方法流程示意图;
图2为本发明实施例中神经网络的预测过程示意图;
图3为本发明实施例中步骤S5的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合附图并举实施例,对本发明的具体实施进行详细说明。
实施例:
一种应用于电网行业的项目申报文档的相似度检测方法,如图1所示,包括如下步骤:
S1. 根据文档模板类型和格式,匹配出相同类型的文档,作为待比较文档;
匹配相同类型的文档,与目标文档一起形成文档库;具体如下:
由于电网企业中同类型项目的申报模板格式一致,因此可以根据申报项目的类型,如科技项目、基建项目,筛选出和目标申报文档的申报类型相同的文档,作为待比较文档。
S2. 对目标文档和待比较文档进行预处理,从而形成多组待比较相似度的句子对,具体如下:
在一个实施例中,将目标文档和待比较文档按照章节对齐,从而只比较目标文档和待比较文档相同章节文本的相似度;
对同一位置处的文本按照句子进行划分,形成多个句子;然后在目标文档中选择一个句子,在待比较文档的同一位置处选择一个句子,形成一个句子对;在文档的每一位置处,组合得到所有可能的句子对组合,形成多组待比较相似度的句子对;从而将两个文档的相似度比较转化为这些句子对的相似度比较;
对形成的句子对进行清洗,去除停用词和标点符号,然后使用分词工具将每个句子进行分词。
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特征向量表示。
计算TF-IDF特征间的向量相似度,从而得到对应的相似度分数,具体如下:
计算句子对中两个句子对应的TF-IDF特征向量表示间的余弦相似度,并将计算得到的余弦相似度作为句子对的相似度分数;对于两个向量a和b,a和b间的余弦相似度可表示为sim(a,b) =a·b/ |a||b|。
S4. 使用训练好的神经网络对各句子对进行相似度预测,得到相应的相似度分数预测结果;
将句子对作为输入传入训练好的神经网络中,并将神经网络的输出作为相似度分数;
如图2所示,所述神经网络的预测过程如下:
句子对中,第一句子和第二句子通过词向量表示层,将每个句子中的词转换成词向量表示,得到第一句子和第二句子的词向量表示矩阵E 1和E 2;其中,词向量表示的维度为K,则长度为n的句子表示为一个大小为n×K的矩阵;
在一个实施例中,词向量表示的维度具体为300,句子的最大长度为50,每个句子表示为一个大小为50×300的矩阵;
第一句子和第二句子的词向量表示E 1和E 2分别通过双向LSTM层,得到双向LSTM各个时间步的隐状态表示,将前向和反向计算得到的隐藏层状态连接,作为最终的隐藏层状态表示,分别记为H 1和H 2;其中,单向的LSTM的隐藏层的维度为K,通过双向LSTM层后第一句子和第二句子将表示为一个大小为n×2K的矩阵;
在一个实施例中,单向的LSTM的隐藏层的维度具体为300,通过双向LSTM层后句子表示为一个大小为50×600的矩阵;
使用多重注意力机制对隐状态表示做进一步的特征提取;计算注意力注意力矩阵:A= softmax(W s2tanh(W s1 H T)),其中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。
根据注意力权重矩阵,计算句子的嵌入表示:M=AH,得到第一句子和第二句子的嵌入矩阵表示M 1和M 2;
在第一句子和第二句子的嵌入矩阵中的所有行上,将每一行乘以不同的权重矩阵,对应于2-D矩阵和3-D权重张量之间的批处理点积:F 1=batcheddot(M 1,W f1),F 2=batcheddot(M 2,W f2),其中W f1和W f2是两个权重张量;F 1和F 2分别是第一句子和第二句子各自的批处理点积;
计算第一句子和第二句子间的交互F r=F 1⊙F 2,即矩阵F 1和F 2元素之间的乘积;将F r展平后通过2个全连接层,在一个实施例中,全连接层的维度为4000,激活函数为ReLu,最后再通过sigmoid层,得到最终的相似度预测分数。
训练神经网络,包括以下步骤:
S4.1、训练词向量表示:在所有文档形成的文档库中学习词向量表示,具体使用GloVe方法进行训练,词向量的维度大小为300;
S4.2、构建相似度预测训练集:通过人工标注的方式,从文档库中选出相似度排名前20%的句子对,标记为正样本,标签为1;然后通过随机选取的方式任意选取两个句子构成训练句子对,若训练句子对不在正样本中,则标记为负样本,标签为-1,从而构成一个以电网项目申报文档为主题的相似度预测训练集;最后,通过同义词替换、回译的方式产生新的数据,对数据集进行扩充;
S4.3、使用AdaGrad优化算法在训练集上训练神经网络;其中,引入一个正则项来防止多重注意力机制过度关注在句子的同一部分;具体地,使用注意力矩阵A及其转置的点积,减去一个单位矩阵I,作为冗余度的度量:P= ||AA T–I||F 2,其中P代表冗余度,||·||F表示矩阵的Frobenius范数。
S5. 根据利用TF-IDF特征和神经网络计算出的相似度分数,按照方法权重和文档结构权重进行综合加权评分,得到最终的相似度得分,按相似度从高到低筛选排序出相似文档,如图3所示,步骤如下:
S5.1、分别将使用TF-IDF特征和神经网络计算出的相似度分数在文档各部分取平均,得到按两种不同方法计算得到的相似度平均分数p 1,p 2, …,p N和q 1,q 2, …,q N;其中,p 1,p 2, …,p N表示使用TF-IDF特征计算得到的相似度分数在文档第1,2,…,N部分的平均得分,q 1,q 2, …,q N表示使用神经网络预测得到的相似度分数在文档第1,2,…,N部分的平均得分;
S5.2、根据预设定好的文档结构权重α 1,α 2, …,α N,计算得到使用两种方法计算得到的文档相似度的综合得分P=α 1 p 1+α 1 p 2+ … +α N p N,Q=α 1 q 1+α 1 q 2+ … +α N q N,其中α 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、最终相似度得分越高,代表两文档之间越相似;按相似度得分从高到低给出对应的相似文档和相应的相似度分数。
在一个实施例中,神经网络学习率为0.01,正则项的系数设置为0.03;
在一个实施例中,目标文档的结构分为“概述”、“研究现状分析”、“项目必要性分析”、“项目研究内容”、“预期目标及成果”、“项目收益分析”、“项目研究结论及建议”七个部分;
在步骤S1中,匹配出和目标文档的目录结构相同的文档:在文档库中,找到具有同样文档结构的文档,作为待比较查重的对象。
在步骤S2中,将目标文档和待比较文档按照以上七个部分对齐,从而只比较两文档相同位置处文本的相似度。然后对同一位置处的文本按照句子进行划分,形成多个句子。在目标文档中选择一个句子,在待比较文档的同一位置处选择一个句子,形成一个句子对。重复上述过程,在文档的每一位置处,组合得到所有可能的句子对组合,形成多组待比较相似度的句子对。
以下给出两句分别来自目标文档和待比较文档“概述”部分的句子进行举例说明,这两个句子构成一个待比较相似度的句子对:
句子1:通过A供电局移动应用的用户体验提升实践,构建企业级移动应用用户体验要素模型并研究企业级移动应用用户体验提升规划及发展路径,为实现数字北网做出相关支持,得出实践经验。
句子2:通过建设A局用户体验中心系统,实现A供电局移动应用的用户体验提升实践,在系统中实现问卷采集,自动实现移动应用体验指标监测和计算,实现对应用体验的定性和定量测试及结果的可视化展示。
在步骤S2中,对句子1进行预处理和分词后得到:“A”,“供电局”,“移动”,“应用”,“用户”,“体验”,“提升”,“实践”,“构建”,“企业级”,“移动”,“应用”,“用户”,“体验”,“要素”,“模型”,“研究”,“企业级”,“移动”,“应用”,“用户”,“体验”,“提升”,“规划”,“发展”,“路径”,“实现”,“数字”,“北网”,“做出”,“相关”,“支持”,“得出”,“实践经验”;对句子2进行预处理和分词后得到:“建设”,“A”,“局”,“用户”,“体验”,“中心”,“系统”,“实现”,“A”,“供电局”,“移动”,“应用”,“用户”,“体验”,“提升”,“实践”,“系统”,“中”,“实现”,“问卷”,“采集”,“自动”,“实现”,“移动”,“应用”,“体验”,“指标”,“监测”,“计算”,“实现”,“应用”,“体验”,“定性”,“定量”,“测试”,“可视化”,“展示”。类似地,对步骤2中得到的其他句子对进行预处理和分词操作,处理好的句子对作为下一步骤的输入。
在步骤S3中,计算步骤S2中得到的句子对的TF-IDF特征,并计算TF-IDF特征间的向量余弦相似度,得到对应的相似度分数;
在步骤S4中,使用训练好的神经网络对步骤2中得到的句子对进行相似度预测,得到相应的相似度分数预测结果。最终,得到使用TF-IDF特征和神经网络计算出的相似度分数。上述例子的相似度分数分别为0.876和0.884。同理,计算出所有句子对的相似度分数。
在步骤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表示两个文档越不相似。
Claims (5)
1.一种应用于电网行业的项目申报文档的相似度检测方法,其特征在于,包括如下步骤:
S1.根据文档模板类型和格式,匹配出相同类型的文档,作为待比较文档,与目标文档一起形成文档库;
S2.对目标文档和待比较文档进行预处理,从而形成多组待比较相似度的句子对;
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特征向量表示;根据句子中的每个词语的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特征向量表示;
计算TF-IDF特征间的向量相似度,从而得到对应的相似度分数,具体如下:
计算句子对中两个句子对应的TF-IDF特征向量表示间的余弦相似度,并将计算得到的余弦相似度作为句子对的相似度分数;
S4.使用训练好的神经网络对各句子对进行相似度预测,得到相应的相似度分数预测结果;将句子对作为输入传入训练好的神经网络中,并将神经网络的输出作为相似度分数;
所述神经网络的预测过程如下:
句子对中,第一句子和第二句子通过词向量表示层,将每个句子中的词转换成词向量表示,得到第一句子和第二句子的词向量表示矩阵E 1和E 2;其中,词向量表示的维度为K,则长度为n的句子表示为一个大小为n×K的矩阵;
第一句子和第二句子的词向量表示E 1和E 2分别通过双向LSTM层,得到双向LSTM各个时间步的隐状态表示,将前向和反向计算得到的隐藏层状态连接,作为最终的隐藏层状态表示,分别记为H 1和H 2;其中,单向的LSTM的隐藏层的维度为K,通过双向LSTM层后第一句子和第二句子将表示为一个大小为n×2K的矩阵;
使用多重注意力机制对隐状态表示做进一步的特征提取;计算注意力矩阵:A=softmax(W s2tanh(W s1 H T)),其中H为句子的隐藏层状态表示,W s1和W s2为神经网络的可学习参数,保证注意力矩阵中每一行的和为1;其中,注意力全连接层的维度为J,即参数矩阵W s1的大小为J×K;注意力机制的重数为I’,参数矩阵W s2的大小为I’×J;
根据注意力矩阵,计算句子的嵌入矩阵表示:M=AH,得到第一句子和第二句子的嵌入矩阵表示M 1和M 2;
在第一句子和第二句子的嵌入矩阵中的所有行上,将每一行乘以不同的权重矩阵,对应于2-D矩阵和3-D权重张量之间的批处理点积:F 1=batcheddot(M 1,W f1),F 2=batcheddot(M 2,W f2),其中W f1和W f2是两个权重张量;F 1和F 2分别是第一句子和第二句子各自的批处理点积;
计算第一句子和第二句子间的交互F r=F 1⊙F 2,即矩阵F 1和F 2元素之间的乘积;将F r展平后通过2个全连接层,激活函数为ReLu,最后再通过sigmoid层,得到最终的相似度预测分数;
S5.根据利用TF-IDF特征和神经网络计算出的相似度分数,按照计算相似度分数的不同方法的权重和文档结构权重进行综合加权评分,得到最终的相似度得分,按相似度从高到低筛选排序出相似文档。
2.根据权利要求1所述的一种应用于电网行业的项目申报文档的相似度检测方法,其特征在于,步骤S2中,对目标文档和待比较文档进行预处理,从而形成多组待比较相似度的句子对,具体如下:
将目标文档和待比较文档按照章节对齐,从而只比较目标文档和待比较文档相同章节文本的相似度;
对同一位置处的文本按照句子进行划分,形成多个句子;然后在目标文档中选择一个句子,在待比较文档的同一位置处选择一个句子,形成一个句子对;在文档的每一位置处,组合得到所有可能的句子对组合,形成多组待比较相似度的句子对;从而将两个文档的相似度比较转化为这些句子对的相似度比较;
对形成的句子对进行清洗,去除停用词和标点符号,然后使用分词工具将每个句子进行分词。
3.根据权利要求1所述的一种应用于电网行业的项目申报文档的相似度检测方法,其特征在于,步骤S4中,训练神经网络,包括以下步骤:
S4.1、训练词向量表示:在所有文档形成的文档库中学习词向量表示,使用GloVe方法进行训练;
S4.2、构建相似度预测训练集:通过人工标注的方式,从文档库中选出相似度排名前20%的句子对,标记为正样本,标签为1;然后通过随机选取的方式任意选取两个句子构成训练句子对,若训练句子对不在正样本中,则标记为负样本,标签为-1,从而构成一个以电网项目申报文档为主题的相似度预测训练集;最后,通过同义词替换、回译的方式产生新的数据,对训练集进行扩充;
S4.3、使用AdaGrad优化算法在扩充后的训练集上训练神经网络;其中,引入一个正则项来防止多重注意力机制过度关注在句子的同一部分;具体地,使用注意力矩阵A及其转置的点积,减去一个单位矩阵I,作为冗余度的度量:P=||AA T–I||F 2,其中P代表冗余度,||·||F表示矩阵的Frobenius范数。
4.根据权利要求1~3任一项所述的一种应用于电网行业的项目申报文档的相似度检测方法,其特征在于,步骤S5的步骤如下:
S5.1、分别将使用TF-IDF特征和神经网络计算出的相似度分数在文档各部分取平均,得到按两种不同方法计算得到的相似度平均分数p 1,p 2,…,p N和q 1,q 2,…,q N;其中,p 1,p 2,…,p N表示使用TF-IDF特征计算得到的相似度分数在文档第1,2,…,N部分的平均得分,q 1,q 2,…,q N表示使用神经网络预测得到的相似度分数在文档第1,2,…,N部分的平均得分;
S5.2、根据预设定好的文档结构权重α 1,α 2,…,α N,计算得到使用两种方法计算得到的文档相似度的综合得分P=α 1 p 1+α 1 p 2+…+α N p N,Q=α 1 q 1+α 1 q 2+…+α N q N,其中α 1,α 2,…,α N表示文档第1,2,…,N部分的权重,α 1+α 2+…+α N=1;
S5.3、根据计算相似度分数的不同方法权重w’进行综合加权,计算得到最终的相似度得分Score;
S5.4、最终相似度得分越高,代表两文档之间越相似;按相似度得分从高到低给出对应的相似文档和相应的相似度分数。
5.根据权利要求4所述的一种应用于电网行业的项目申报文档的相似度检测方法,其特征在于,步骤S5.3中,最终的相似度得分Score=w’×P+(1–w’)×Q,其中w’表示TF-IDF方法的权重值,0≤w’≤1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311145292.3A CN116881738B (zh) | 2023-09-06 | 2023-09-06 | 一种应用于电网行业的项目申报文档的相似度检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311145292.3A CN116881738B (zh) | 2023-09-06 | 2023-09-06 | 一种应用于电网行业的项目申报文档的相似度检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116881738A CN116881738A (zh) | 2023-10-13 |
CN116881738B true CN116881738B (zh) | 2024-02-13 |
Family
ID=88262532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311145292.3A Active CN116881738B (zh) | 2023-09-06 | 2023-09-06 | 一种应用于电网行业的项目申报文档的相似度检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116881738B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291699A (zh) * | 2017-07-04 | 2017-10-24 | 湖南星汉数智科技有限公司 | 一种句子语义相似度计算方法 |
CN112784010A (zh) * | 2021-01-04 | 2021-05-11 | 中国石油大学(华东) | 一种基于多模型非线性融合的中文句子相似度计算方法 |
CN113076734A (zh) * | 2021-04-15 | 2021-07-06 | 云南电网有限责任公司电力科学研究院 | 一种项目文本的相似度检测方法及装置 |
CN114116973A (zh) * | 2021-11-23 | 2022-03-01 | 竹间智能科技(上海)有限公司 | 多文档的文本查重方法、电子设备及存储介质 |
WO2022103440A1 (en) * | 2020-11-13 | 2022-05-19 | Tencent America LLC | Efficient and compact text matching system for sentence pairs |
CN115495550A (zh) * | 2022-09-03 | 2022-12-20 | 安徽信息工程学院 | 一种基于多头注意力孪生Bi-LSTM网络的中文语义相似度计算方法 |
-
2023
- 2023-09-06 CN CN202311145292.3A patent/CN116881738B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291699A (zh) * | 2017-07-04 | 2017-10-24 | 湖南星汉数智科技有限公司 | 一种句子语义相似度计算方法 |
WO2022103440A1 (en) * | 2020-11-13 | 2022-05-19 | Tencent America LLC | Efficient and compact text matching system for sentence pairs |
CN112784010A (zh) * | 2021-01-04 | 2021-05-11 | 中国石油大学(华东) | 一种基于多模型非线性融合的中文句子相似度计算方法 |
CN113076734A (zh) * | 2021-04-15 | 2021-07-06 | 云南电网有限责任公司电力科学研究院 | 一种项目文本的相似度检测方法及装置 |
CN114116973A (zh) * | 2021-11-23 | 2022-03-01 | 竹间智能科技(上海)有限公司 | 多文档的文本查重方法、电子设备及存储介质 |
CN115495550A (zh) * | 2022-09-03 | 2022-12-20 | 安徽信息工程学院 | 一种基于多头注意力孪生Bi-LSTM网络的中文语义相似度计算方法 |
Non-Patent Citations (3)
Title |
---|
A STRUCTURED SELF-ATTENTIVE SENTENCE EMBEDDING;Zhouhan Lin et al.;arXiv:1703.03130v1 [cs.CL];第1-15页 * |
DRAKE: Deep Pair-Wise Relation Alignment for Knowledge-Enhanced Multimodal Scene Graph Generation in Social Media Posts;Ze Fu et al.;IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY;第33卷(第7期);第3199-3213页 * |
基于微服务的电力信息系统架构研究与设计;陈酌灼 等;南方能源建设;第7卷;第18-24页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116881738A (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309331B (zh) | 一种基于自监督的跨模态深度哈希检索方法 | |
CN108399158B (zh) | 基于依存树和注意力机制的属性情感分类方法 | |
CN110245229A (zh) | 一种基于数据增强的深度学习主题情感分类方法 | |
CN111881983B (zh) | 基于分类模型的数据处理方法、装置、电子设备及介质 | |
CN104408153B (zh) | 一种基于多粒度主题模型的短文本哈希学习方法 | |
CN110674305A (zh) | 一种基于深层特征融合模型的商品信息分类方法 | |
CN109766277A (zh) | 一种基于迁移学习与dnn的软件故障诊断方法 | |
CN110929034A (zh) | 一种基于改进lstm的商品评论细粒度情感分类方法 | |
CN109740655B (zh) | 基于矩阵分解及神经协同过滤的物品评分预测方法 | |
CN104966105A (zh) | 一种鲁棒机器错误检索方法与系统 | |
CN110232395A (zh) | 一种基于故障中文文本的电力系统故障诊断方法 | |
CN109492105B (zh) | 一种基于多特征集成学习的文本情感分类方法 | |
CN112487822A (zh) | 一种基于深度学习的跨模态检索方法 | |
CN109710725A (zh) | 一种基于文本分类的中文表格列标签恢复方法和系统 | |
CN115952292B (zh) | 多标签分类方法、装置及计算机可读介质 | |
CN112632993A (zh) | 一种基于卷积注意力网络的电力计量实体识别模型的分类方法 | |
CN114265935A (zh) | 一种基于文本挖掘的科技项目立项管理辅助决策方法及系统 | |
CN113065356A (zh) | 一种基于语义分析算法的it设备运维故障建议处理方法 | |
CN114579739A (zh) | 文本数据流的话题检测与追踪方法 | |
CN116304020A (zh) | 一种基于义原分析和跨度特征的工业文本实体抽取方法 | |
CN110569355B (zh) | 一种基于词块的观点目标抽取和目标情感分类联合方法及系统 | |
CN111563787A (zh) | 一种基于用户评论和评分的推荐系统及方法 | |
US11829442B2 (en) | Methods and systems for efficient batch active learning of a deep neural network | |
CN116881738B (zh) | 一种应用于电网行业的项目申报文档的相似度检测方法 | |
CN116956228A (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 |