融合关键词特征和多粒度语义特征的文本相似度计算方法

文档序号:25588167发布日期:2021-06-22 17:04阅读:268来源:国知局
导航: X技术> 最新专利> 计算;推算;计数设备的制造及其应用技术
融合关键词特征和多粒度语义特征的文本相似度计算方法

本发明属于自然语言智能处理技术领域,特别涉及一种融合关键词特征和多粒度语义特征的文本相似度计算方法。



背景技术:

在比较两篇文章的相似度时,传统的算法有通常以下两类:

一类方案是先将两篇文章分别进行分词,得到一系列词语特征向量,然后计算特征向量之间的距离,如计算它们之间的欧氏距离、海明距离或者夹角余弦等等,从而通过距离的大小来判断两篇文章的相似度。另一类方案是传统hash,考虑为每一个文本通过hash的方式生成一个指纹。第一类方案单纯的使用词特征向量来表征文本内容,容易造成语义的缺失;而第二类方案,其设计目的是为了让整个分布尽可能地均匀,但如果输入内容一旦出现轻微变化,hash值就可能会生很大变化。

ksimhash作为关键词哈希的一种,其主要思想是降维,将高维的特征向量映射成低维的特征向量,通过两个向量的海明距离来确定文章是否重复或者高度近似。在信息论中,两个等长字符串之间的海明距离是两个字符串对应位置不同字符的个数。即它是将一个字符串变换成另外一个字符串所需要替换的字符个数。

在文本的语义表征层面,word2vec是常用的词语层向量表示模型。在word2vec词袋模型训练完成之后,word2vec模型可映射每个词到一个向量,该向量在一定程度上放映了该词语义特征。在word2vec模型上引申出的doc2vec模型,可用于预测一个向量来表示不同的文本或段落语义,该模型的结构克服了word2vec词袋模型忽略词顺序以及忽略上下文关系的缺点。



技术实现要素:

基于以上技术问题,本发明提供了一种融合关键词特征和多粒度语义特征的文本相似度计算方法,以提升文本间的相似度度量的准确性。

本发明的融合关键词特征和多粒度语义特征的文本相似度计算方法,在获取任意两个文本di和dj的相似度时,执行下列步骤;

步骤1:抽取文本di和dj的关键词;

步骤2:基于ksimhash算法抽取文本的关键词特征指纹fi1和fj1,并计算fi1和fj1的海明距离得到文本di和dj的关键词特征相似度sim1;

步骤3:计算文本di和dj的词语语义相似度sim2;

步骤4:计算文本di和dj的篇章语义相似度sim3;

步骤5:综合关键词特征相似度sim1、词语语义相似度sim2和篇章语义相似度sim3,得到文本di和dj的相似度sim。

优选的,所述步骤1中,抽取文本的关键词具体为:

步骤1.1:对文本的内容进行文本预处理,得到文本候选词集,所述文本预处理包括:分词、去停用词。

步骤1.2:从文本候选词集中抽取文本的关键词:计算文本候选词集中的所有词语的tfidf值,将前k个tfidf值最大的词语作为文本关键词,其中k的取值为正整数,可基于实际应用场景进行设置;

优选的,所述步骤2中,抽取文本的关键词特征指包括:

步骤2.1:计算每个关键词k(k=1,2,…,k)的指定位数(例如16位)hash值kh:对组成每个关键词的字编码进行指定位数的hash运算,得到各字的hash值,再将各字的hash值进行位异或运算,得到该关键词的hash值;

步骤2.2:计算每个关键词的加权hash值:关键词k的加权值wk=tfidfk×kh,tfidfk表示关键词k的tfidf值,即关键词的权重且kh为1的位和权重tfidfk正相乘,为0的位和权重tfidfk负相乘。例如一个关键词kh=[010110],其对应的权重为tfidfk=5,则加权后得到[-5,5,-5,5,5,-5];

步骤2.3:将所有关键词的加权hash值进行求和(即按位求和),得到累加向量。如[-5,5,-5,5,5,5]、[-3,-3,-3,3,-3,3]、[1,-1,-1,1,1,1]累加后得到[-7,1,-9,9,3,9];

步骤2.4:对得到的累加向量进行降维计算得到文本的关键词特征指纹:对累加向量的每个元素值进行判断,大于0则置为1,否则置为0,从而得到文本di和dj各自的关键词特征指纹fi1和fj1进而基于文本di和dj的关键词特征指纹,计算两者之间的海明距离,得到文本di和dj的关键词特征相似度sim1。

例如,对累加向量[-7,1,-9,9,3,9]进行降维计算,得到的文本的关键词特征指纹为010111。

进一步的,文本di和dj的关键词特征相似度sim1可以设置为:其中,hi,j表示文本di和dj的关键词特征指纹之间的海明距离,max()函数表示取最大值,函数len()表示计算字符串的长度。在计算两个关键词特征指纹之间的海明距离时,若两个文本的关键词特征指纹的长度(字符串长度)不相同时,对长度较短的关键词特征指纹进行低位补位操作,使两者长度相同。优选的,在低位补0以使得两个关键词特征指纹的长度相同。

优选的,所述步骤3包括以下步骤:

步骤3.1:基于文本的每个关键词,将其前后n个词作为上下文,建立实数向量(例如采用word2vec的cbow模型的超参数建立),最终使得每个关键词wi都对应一个语义向量其中n为正整数,

步骤3.2:计算文本的词语语义指纹f2:将k个关键词的语义向量求和,得到文本的词语语义指纹f2,即:

步骤3.3:计算文本di和文本dj对应的词语语义指纹fi2和fj2的余弦相似度,得到di和dj的词语语义相似度sim2。

优选的,所述步骤4包括以下步骤:

步骤4.1:抽取文本中前l个最长的句子作为文本的代表句,并获取每个代表句的句向量,以使得每个代表句sl都对应一个语义向量其中,l为正整数;示例性的,可以采用doc2vec中的pv-dm模型计算代表句的句向量;

步骤4.2:计算文本的篇章语义指纹f3:将l个代表句的语义向量求和得到篇章语义指纹f3,即:

步骤4.3:计算文本di和dj对应的篇章语义指纹fi3和fj3的余弦相似度,得到di和dj的篇章语义相似度sim3。

优选的,所述步骤5中,基于关键词特征相似度sim1、词语语义相似度sim2和篇章语义相似度sim3的均值得到文本di和dj的相似度sim。

综上所述,由于采用了上述技术方案,本发明的有益效果是:在计算两个文本的相似度时,充分考虑文本的关键词特征以及语义特征。同时语义特征的关注点不止停留在词语粒度层,还扩展到整个篇章粒度层,建立多维度文本表示向量,使得文本相似度计算更加准确。本发明可以用于文章的查重,文章的检索等应用领域。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例提供的一种融合关键词特征和多粒度语义特征的文本相似度计算方法的处理流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明实施例针对传统文本相似度计算方法忽略文本关键词特征与语义特征相结合,以及过多关注词语语义,忽略句子、段落、文本等粗粒度层语义的问题,提出一种融合关键词特征和多粒度语义特征的文本相似度计算方法,参见图1,本发明实施例提供的融合关键词特征和多粒度语义特征的文本相似度计算方法包括下列步骤:

在本实施例中,以计算文本di和dj的相似度为例进行描述,虑了三个维度的特征:关键词特征、词语级语义特征、文本级语义特征。

步骤1:基于ksimhash算法,得到文本指纹,计算两个文本指纹的海明距离,得到两个文本在关键词特征上的相似度。具体为:

步骤1.1:对当前文本di的文本内容进行分词。

本实施例中,分词采用的工具为jieba,文本di进行分词处理后形成词袋,即di=[wi1,wi2,…,win],wik代表文本di中第k(k=1,2,…,n)个词语,词袋中每个词语之间没有语义关联;

步骤1.2:去除词袋中的停用词。

去停用词时引入停用词表,判断词袋中的每个词是否在停用词表中出现,若出现,则在词袋中去除该词;

步骤1.3:去除停用词后,得到一个过滤后的词袋di=[wi1,wi2,…,wim],该词袋中,wik(k=1,2,…,m)代表文本di中出现且未出现在停用词表中的词语。

基于过滤后的词袋,抽取当前文本的关键词,考虑当前词袋中每个词的词频逆文本频率特征,利用tfidf(termfrequency–inversedocumentfrequency)算法,得到当前文本tfidf值排名前k(k的取值为经验值,优选的取值范围为[5,10],本实施例中,k的值设为10)的词语,形成关键词列表每个关键词keywordi-k都对应一个权重weighti-k,即权重为其对应的tfidf值。

其中,tfidf计算公式如下:

其中,count(wik)代表词语wik在文本di中出现的次数,|di|表示当前文本的总词数,n代表文本总数,i(wik,dm)代表词语wik是否在文本dm中出现,若出现,i(wik,dm)值为1,若未出现,i(wik,dm)值为0。

从而最终得到一个词语-权重集合(wk,weightk);

步骤1.4:对当前文本的关键词列表中的词语进行哈希操作,计算每个关键词的hash值,得到(hashk,weightk)集合;

步骤1.5:每个关键词keywordi-k在hash值的基础上,根据其对应的权重weighti-k进行加权,即:wk=hashk×weightk,hash值为1则和权重正相乘,为0则和权重负相乘。例如一个词经过hash后得到[010110],它对应的权重为5,则加权后得到[-5,5,-5,5,5,-5];

步骤1.6:将关键词列表中的所有词对应的加权hash向量进行求和,如[-5,5,-5,5,5,5]、[-3,-3,-3,3,-3,3]、[1,-1,-1,1,1,1]累加后得到[-7,1,-9,9,3,9];

步骤1.7:对得到的累加向量进行降维操作。即:大于0就置为1,否则置为0,从而得到该语句的ksimhash值。

例如,[-7,1,-9,9,3,9],得到010111,该值作为当前文本的ksimhash值。

示例性的,基于上述计算处理后可得到di文本的ksimhash值为fi1:0011010101000110111001110000100010000110010111011101010000100100,dj文本的ksimhash值为fj1:0010110100010011110011100100100011001110110011011000110101001101;

步骤1.8:利用文本di和dj各自对应的文本指纹fi1和fj1,计算fi1和fj1的海明距离hi,j。海明距离的定义为文本指纹的差异的位数。

步骤1.9:获取di和dj的关键词特征相似度sim1,其中对应上述示例,可得到取di和dj的关键词特征相似度sim1为0.65625。

步骤2:基于word2vec模型,得到两个文本在词语的语义向量,计算两个词语级语义向量的余弦相似度。具体为:

步骤2.1:利用所有文本,基于word2vec模型,训练词向量,使得每个词wn都对应一个语义向量

步骤2.2:对于当前文本di,利用tfidf算法得到文本对应的关键词列表列表中每个词语keywordi-k都对应一个词向量计算当前文本对应的词语语义向量,即:

示例性的,可将语义向量的维度设置为200维。

步骤2.3:对每篇文本都进行步骤2的操作,使得每篇文本都有其唯一对应的词语语义向量;

步骤2.4:计算文本di和文本dj对应的词语语义向量fi2和fj2的余弦相似度,得到di和dj的词语语义相似度sim2。设fi2和fj2的维度为n,即fi2=[fi21,fi22,…,fi2n],fj2=[fj21,fj22,…,fj2n],则sim2的计算公式为:

示例性的,本示例中计算得到的sim2=0.15181794593072392。

步骤3:基于doc2vec模型,得到两个文本在篇章的语义向量,计算两个文本级语义向量的余弦相似度。具体步骤如下:

步骤3.1:利用doc2vec模型,得到文本di和文本dj各自对应的文本向量fi3和fj3;即基于文本的代表句获取文本向量fi3和fj3。示例性的,在计算各代表句的语义向量时,可将语义向量的维度设置为200维。

步骤3.2:计算fi3和fj3的余弦相似度,得到di和dj的篇章语义相似度sim3。设fi3和fj3的维度为n,即fi3=[fi31,fi32,…,fi3n],fj3=[fj31,fj32,…,fj3n],sim3(0.34401781495762856)的计算公式为:

示例性的,本示例中计算得到的sim3=0.34401781495762856。

步骤4:对三个局部相似度值sim1、sim2、sim3相加求平均,得到文本di和文本dj最终的相似值sim:。

对应上述三个示例,可得到文本di和文本dj最终的相似值sim为:0.3840285869627842。

本发明实施例所提供的相似度计算方法可用于文本检索、查重等应用领域。例如,待处理文本记为文本di,检索的文本集或查重的文本库中任意一篇文本记为文本dj,首先计算文本di和文本dj最终的相似值sim,将相似值sim达到第一指定阈值(大于或等于指定阈值)的文本dj作为其检索或查重结果。

进一步的,还可以首选对检索的文本集或查重的文本库进行聚类,得到多个聚类结果(多个簇),然后首先计算文本di与每个聚类中心所对应的文本之间的相似度sim,当其达到第二指定阈值时,得到其所属的簇,然后再分别计算文本di与该簇中各文本之间的相似度sim,将最大相似度sim对应的文本作为其查重或检索结果。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 基于Bi-LSTM算法的检测...
  • 基于注意力因果解释的文本情感...
  • 一种基于机器学习的中医术语命...
  • 开放式实体关系的抽取方法、装...
  • 一种基于投诉举报内容智能挖掘...
  • 命名实体处理方法、系统及设备...
  • 命名实体识别方法、装置、设备...
  • 法律领域文本分析识别方法、系...
  • 一种语言表征模型的训练方法及...
  • 一种电力调控领域非结构化文本...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

聚圣源手机店铺起名心机美人灌篮高手国语版高清武汉船院subhd王姓女孩起名大全洋气名字如何修改文件类型纸制品包装公司起名伏魔战记攻略良心如枕起名有什么法律规定kb2286198宝宝起名免费测试方法元气小猴尾行4鱼店怎么起名字为郭姓起名穿越1630之崛起南美司起名打分冷饮店加盟156是联通还是移动吴起名女石家庄哪里有起名字的地方仙剑奇侠传3修改器明明爱很清晰免费好用起名软件向姓女孩起名设备科技公司起名公司域名怎么起北新建材集团有限公司淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化