一种基于加权特征向量的配网文本相似度的计算方法与流程

文档序号:33637507发布日期:2023-03-29 01:06阅读:37来源:国知局
一种基于加权特征向量的配网文本相似度的计算方法与流程

1.本发明涉及文本相似度技术领域,具体是涉及了一种基于加权特征向量的配网文本相似度的计算方法。


背景技术:

2.文本相似度计算是智能问答系统中至关重要的技术环节,在问答系统的信息检索中,最重要的任务就是计算问句的相似度计算,相似度计算的效果好坏,对信息检索的结果准确性有直接的影响。
3.文本相似度旨在研究两个文本在语义层面的匹配程度,若相似度越大,则两者的之间越匹配;若相似度越小,则两者之间越不匹配,文本语义相似度计算的核心以及最大的难点就是语义理解。
4.现有的文本相似度计算方法对文本进行建模会产生特征稀疏问题,而且单独考虑文本某一方面因素进行相似度计算研究也是不全面的,文本相似度计算的准确率有待提高。


技术实现要素:

5.本发明为了解决现有文本相似度计算方法对于文本特征因素考虑单一,准确率较低的问题,提供了一种基于加权特征向量的配网文本相似度的计算方法,通过进行词向量训练,引用词向量优点,对文本构成部分进行分析,同时增加同义词处理和加权处理,构建更加精确的文本相似度计算模型。
6.本发明采用的技术方案是,提供了一种基于加权特征向量的配网文本相似度的计算方法,所述方法包括,
7.s1、文本预处理,对获取到的配网文本数据进行预处理,依次包括噪音数据处理、分词处理和无用数据处理;
8.s2、构建文本特征向量,通过skip-gram模型对配网文本数据进行训练后得到词向量,通过累加词向量的方式构建文本特征向量或通过计算各词向量算术平均的方式构建文本特征向量;
9.s3、文本相似度计算,采用距离算法得到不同文本特征向量之间的距离,然后通过余弦相似度算法得出余弦相似度。
10.所述步骤s1完成后增加同义词处理步骤,具体包括步骤s1完成后进行同义词匹配,当存在同义词时则认定为重叠词语。
11.所述步骤s2中在通过skip-gram模型对配网文本数据进行训练后得到词向量后增加加权处理步骤,具体包括根据每个词语所包含的主谓宾成分的不同,分别对不同的词语设定不同的词性权重值,通过词向量和词性权重值构建文本特征向量。
12.所述加权处理步骤中名词词性权重值大于动词词性权重值,动词词性权重值大于形容词和副词的词性权重值,形容词和副词的词性权重值大于其他词性权重值。
13.所述步骤s1中噪音数据处理为对采集到的配网文本数据集当中对文本处理产生干扰的文字、表情符号、特殊字符进去去除。
14.所述步骤s1中分词处理为采用hanlp分词框架对配网文本数据进行分词。
15.所述步骤s1中无用数据处理为采用hanlp内置停用词表,过滤掉分词处理后的文本数据中无实际意义词语,包括标点符号、虚词和数字。
16.本发明的有益效果是,本发明基于加权特征向量的文本相似度计算模型,在文本相似度计算过程中引入了词向量来构建文本语义信息,通过特征词向量表示文本特征向量,并设置相似阈值将文本中的关键词划分为同义词和非同义词,并针对不同词性的词语特征向量进行相似度加权处理,最后通过余弦相似度算法得到文本相似度,使文本相似度计算更加全面和准确。
17.本发明基于加权特征向量的文本相似度计算模型,在文本相似度计算过程中引入了对同义词的处理,通过对不同的配网领域文本分词后的各个词语进行同义词处理,当存在同义词时则认定为重叠词语,互为同义词的词语的词向量可统一设置为1,有效提高文本相似度计算的准确度。同时,同义词处理可以减少文本不同词语的处理数量,简化文本特征向量的数据维度,减少模型训练过程中的词向量处理时间,提高文本中词向量的处理效率。引入词向量加权处理,对不同的词语设定不同的词性权重值,通过词向量和词性权重值构建文本特征向量,名词标识了文本描述的主要内容,动词标识了文本表达的动作和趋势,形容词标识了文本表达的情感倾向,副词,如“一个”、“一只”、“一支”等,可以理解成表达为“1”的标识,不同词性词语对文本的影响权重不同,引入词向量加权处理可以减少文本向量计算过程中的干扰项。
附图说明
18.图1是本发明相似度计算方法的流程示意图。
具体实施方式
19.如图1所示,本发明提供了一种基于加权特征向量的配网文本相似度的计算方法,所述方法包括,
20.s1、文本预处理,对获取到的配网文本数据进行预处理,依次包括噪音数据处理、分词处理和无用数据处理;
21.其中,噪音数据处理为对采集到的配网文本数据集当中对文本处理产生干扰的文字、表情符号、特殊字符进去去除。
22.分词处理为采用hanlp分词框架对配网文本数据进行分词。
23.无用数据处理为采用hanlp内置停用词表,过滤掉分词处理后的文本数据中无实际意义词语,包括标点符号、虚词和数字。
24.所述步骤s1完成后增加同义词处理步骤,具体包括步骤s1完成后进行同义词匹配,当存在同义词时则认定为重叠词语。
25.s2、构建文本特征向量,通过skip-gram模型对配网文本数据进行训练后得到词向量,通过累加词向量的方式构建文本特征向量或通过计算各词向量算术平均的方式构建文本特征向量;
26.所述步骤s2中在通过skip-gram模型对配网文本数据进行训练后得到词向量后增加加权处理步骤,具体包括根据每个词语所包含的主谓宾成分的不同,分别对不同的词语设定不同的词性权重值,通过词向量和词性权重值构建文本特征向量。
27.所述加权处理步骤中名词词性权重值大于动词词性权重值,动词词性权重值大于形容词和副词的词性权重值,形容词和副词的词性权重值大于其他词性权重值。
28.s3、文本相似度计算,采用距离算法得到不同文本特征向量之间的距离,然后通过余弦相似度算法得出余弦相似度。
29.为使本发明实施例的目的、技术方案和技术效果更加清楚,下面结合具体实施例对本发明做进一步阐述。
30.1、文本预处理
31.在进行文本相似度计算之前,首先需要对文本进行预处理。对采集到的配网文本数据集当中对文本处理产生干扰的一些文字、表情符号、特殊字符等噪声数据的去除工作,利用正则表达式来提取一个串中的符合某个条件的某个子串,对配网领域数据文本进行无用信息的识别和过滤,例如:
[0032]“@李工:电缆故障都有哪些?”和“邯东线4环网柜014出线1#柱上变压器”[0033]
经过过滤噪声数据的处理后,得到文本数据为:
[0034]“电缆故障都有哪些?”和“邯东线4环网柜014出线1柱上变压器”[0035]
经过第一步的噪声处理后,我们得到了较为纯净的文本数据信息,下一步需要进行分词处理。本发明采用hanlp分词框架,该框架是hankcs主持并开源的由一系列模型和算法组成的工具包,具有功能完善、性能高效、架构清晰、语料时新、可自定义等特点,提供词法分析、句法分析、文本分析和情感分析等功能,已被广泛的应用在工业、科研、教育等领域中。
[0036]
使用hanlp框架对配网文本数据进行分词,如:
[0037]“电缆金属部分的连续性受到破坏,形成断线,且故障点的绝缘材料也受到不同程度的破坏。现场用兆欧表测其绝缘电阻rf为无穷大,但在直流耐压试验时,会出现电击穿;检查芯线导通情况,有断点。现场一般以一相或二相断线并接地的形式出现。”[0038]
分词结果为:
[0039]
[电缆/n,金属/n,部分/n,的/uj,连续性/n,受到/v,破坏/v,,/w,形成/v,断线/nz,,/w,且/c,故障点/nz,的/uj,绝缘/vn,材料/n,也/d,受到/v,不同/a,程度/n,的/uj,破坏/v,。/w,现场/s,用/p,兆欧表/nr,测/v,其/r,绝缘/vn,电阻/n,rf/nx,/w,为/p,无穷大/n,,/w,但/c,在/p,直流/b,耐压/vi,试验/vn,时/ng,,/w,会/v,出现/v,电/n,击穿/vn,;/w,检查/vn,芯/ng,线/n,导/j,通/v,情况/n,,/w,有/v,断点/n,。/w,现场/s,一般/a,以/p,一/m,相/d,或/c,二/m,相/d,断线/nz,并/c,接地/vn,的/uj,形式/n,出现/v,。/w]
[0040]
得到分词结果后,需要将一些标点符号、虚词、数字等没有什么实际含义的词语,比如“不仅”、“以致”、“又”等。这些词语在配网文本表示当中起到转折或加强等作用,在文本理解过程中没有实际的意义,需要将它们去掉。本发明采用hanlp内置停用词表,将以上语句过滤停用词后,为:
[0041]
[电缆/n,金属/n,部分/n,连续性/n,破坏/v,形成/v,断线/nz,故障点/nz,绝缘/vn,材料/n,不同/a,程度/n,破坏/v,现场/s,兆欧表/nr,测/v,绝缘/vn,电阻/n,rf/nx,无
穷大/n,耐压/vi,试验/vn,时/ng,会/v,出现/v,电/n,击穿/vn,检查/vn,芯/ng,线/n,导/j,通/v,情况/n,断点/n,现场/s,相/d,相/d,断线/nz,接地/vn,形式/n,出现/v]
[0042]
2、获取文本特征向量
[0043]
对训练预料文本数据进行词向量训练后,可以得到词语的向量表示,要将词向量运用在文本相似度计算时,可以将文本中各词语的向量表示进行简单的累加,也可以用各个词语的词向量的算术平均构成文本的向量表示,然后利用向量距离计算公式来计算文本相似度,文本特征向量获取的流程如图二所示。
[0044]
在使用简单累加词向量构建文本特征向量时,假设某配网文本数据中包含n个词语,该文本特征向量表示模型为m={w1,w2,

,wn},并且当每个词语的词向量都已经得到,该配网文本数据特征向量表示为:
[0045][0046]
公式中,v(m)表示该条文本的特征向量,该条文本中第i个词语wi的词向量用v(wi)表示,所以这里配网文本向量就是所有词语的向量之和。
[0047]
3、文本相似度计算
[0048]
文本相似度计算就是两组文本在内容语义上的相似度,一般使用距离算法来得到两组文本特征向量之间的距离。假设有两个n维向量的配网文本,即文本a={a1,a2,

,an}和文本b={b1,b2,

,bn},使用余弦相似度计算为:
[0049][0050]
假设有以下两个文本:
[0051]
文本a:高阻故障是指故障时呈现高阻抗的接地故障。
[0052]
文本b:高阻故障是一种由高阻抗导致的接地故障。
[0053]
第一步,文本预处理+分词:
[0054]
文本a:[高阻/,故障/,指/,故障/,时/,呈现/,高/,阻抗/,接地/,故障/]
[0055]
文本b:[高阻/,故障/,高/,阻抗/,导致/,接地/,故障/]
[0056]
第二步:列出所有词:
[0057]
高阻、故障、指、时、呈现、导致、高、阻抗、接地
[0058]
第三步,计算词频:
[0059]
文本a:高阻1、故障3、指1、时1、呈现1、导致0、高1、阻抗1、接地1
[0060]
文本b:高阻1、故障2、指0、时0、呈现0、导致1、高1、阻抗1、接地1
[0061]
第四步,写出词频向量:
[0062]
文本a:[1,3,1,1,1,0,1,1,1]
[0063]
文本b:[1,2,0,0,0,1,1,1,1]
[0064]
第五步,计算余弦相似度:得到相似度为0.833。
[0065]
4、文本加权相似度计算
[0066]
在语言学中,任何文本都由主语、谓语、宾语等一部分关键成分和定语、状语等一部分修饰成分构成的。对于每段文本的理解,起关键作用的是主谓宾成分,修饰语只起次要作用。一个文本的主要成分又包括动词、名词、形容词等,在实际的语言应用中,动词和名词相比其他词性的词语要更加重要,单就信息承载量来看,名词则最为重要。一段文本基本就是围绕着一堆动词和名词展开的,因此在进行文本相似度计算时,本发明将进行词性标注加权来计算特征项:
[0067][0068]
公式中weight(wi,m)表示关键词wi对于配网文本m的重要性,此处weight(wi,m)取值在0-1之间,表示该词语的权重大小。
[0069]
根据不同词性的重要性,本发明将文本中的名词词性权重设置为1,动词的词性权重设置为0.6,形容词和副词的权重设置为0.5,其他词性的词语设置为0.2。
[0070]
除此之外,本发明也引入了同义词思想,在对两段文本进行相似度计算时,对于任意两个文本中的词语根据词向量训练结果,认为如果两个词语之间的相似度值大于0.9,则判定为这两个文本的重叠词语。
[0071]
例如,有如下两段文本:
[0072]
文本a:变压器是用来变换交流电压、电流而传输交流电能的一种静止的电器设备。
[0073]
文本b:变压器是一种静止的电气设备,是用来将某一种的交流电压(电流)变成另一种相同的电压(电流)的设备。
[0074]
第一步,文本预处理+分词:
[0075]
文本a:[变压器/n,变换/v,交流/vn,电压/n,电流/n,传输/vn,交流电/n,静止/a,电器/n,设备/n]
[0076]
文本b:[变压器/n,静止/a,电气/n,设备/n,交流/vn,电压/n,电流/n,变成/v,相同/a,电压/n,电流/n,设备/n]
[0077]
第二步,列出所有词:
[0078]
变压器、变换、交流、电压、电流、传输、交流电、静止、电器、设备、电气、变成、相同
[0079]
第三步,计算词频并写出词向量:
[0080]
文本a:[1,1,1,1,1,1,1,1,1,1,0,0,0]
[0081]
文本b:[1,0,1,2,2,0,0,1,0,2,1,1,1]
[0082]
第四步,计算余弦相似度:得到相似度为0.671。
[0083]
以上是没有进行加权处理和同义词处理得到的相似度结果,可以看到原本文本相似度较高的两段文本,计算出来的相似度却很低。下面我们以加权处理的思想对相似度计算进行优化。
[0084]
首先,对两段文本的词语进行同义词匹配,得到以下同义词:
[0085]“变换”和“变成”,相似度为0.99;
[0086]“电器”和“电气”,相似度为0.97;
[0087]“交流”和“交流电”,相似度为0.94;
[0088]
此时,得到所有词:
[0089]
变压器、变换(变成)、交流(交流电)、电压、电流、传输、静止、电器(电气)、设备、相同
[0090]
得到词频统计向量:
[0091]
文本a:[1,1,2,1,1,1,1,1,1,0,0]
[0092]
文本b:[1,1,1,2,2,0,1,1,2,1,1]
[0093]
然后根据不同词语的词性进行加权处理:
[0094]
文本a:[1,0.6,2,1,1,0.6,0.5,1,1,0]
[0095]
文本b:[1,0.6,1,2,2,0,0.5,1,2,0.5]
[0096]
计算以上两段文本的特征向量,最终得到余弦相似度为0.804。可见,加权后的word2vec配网文本特征向量相似度计算准确度得到较大幅度的提升。
[0097]
skip-gram模型:应用word2vec模型训练学习得到的词向量可以将文本简化为k维空间中的向量运算,它包括两种模型,分别是cbow连续词袋模型和skip-gram模型。其中cbow模型是利用词语w(t)前后的各c个词语来得到当前词语出现概率;而skip-gram刚好相反,是利用当前词语来预测其前后词语出现概率。cbow模型的训练结果更加侧重于词语语法信息方面的描述,能够对词语的语法信息进行更好的刻画,具有较高的语法测试准确性,而skip-gram模型则能对词语进行更好的语义区分,对于词语的语义特征刻画地更加准确,因此得到的语义计算精度更高。
[0098]
本发明使用skip-gram模型进行词向量学习,采用的是“跳过一定字符”的方式,训练当前词语的上下文词向量,从而刻画上下文的信息,根据当前词的上下文对当前词进行分类。在skip-gram模型训练过程中,将当前词作为输入,投影到一个连续投影层的对数线性分类器中,就可以预测当前词前后一定范围内的其他词语。在实际自然语言应用中,距离当前词语越远的词,可以认为它与当前词语之间的相关性越小,而距离当前词语越近的词,认为它们之间的相关性越大,因此在训练过程中复杂度更高,为:
[0099]
q=n*d+n*d*|v|
[0100]
公式中用q代表训练复杂度,其中d表示的是投影层维数,进行训练语料词典大小为|v|。n表示当前词语上下文相关词语的范围大小,即输出层上下文窗口的长度,如果n=5,则表示训练过程中需要将当前词语作为输入,n+n个词语作为输出。
[0101]
余弦距离算法:得到词向量训练结果后,可以求得词向量直接距离,而后利用两个词语之间的距离与相似度间关系来计算词语相似度,词语间的距离表示比较常用且效果较好的方法是余弦相似度,公式给出两个向量和之间的余弦距离公式为:
[0102]
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1