CN113312908B - 句子相似度计算方法、系统及计算机可读存储介质 - Google Patents
句子相似度计算方法、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113312908B CN113312908B CN202110100228.8A CN202110100228A CN113312908B CN 113312908 B CN113312908 B CN 113312908B CN 202110100228 A CN202110100228 A CN 202110100228A CN 113312908 B CN113312908 B CN 113312908B
- Authority
- CN
- China
- Prior art keywords
- sen1
- sen2
- semantic
- sentence
- word
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 69
- 101000836337 Homo sapiens Probable helicase senataxin Proteins 0.000 claims abstract description 125
- 102100027178 Probable helicase senataxin Human genes 0.000 claims abstract description 125
- 101000615747 Homo sapiens tRNA-splicing endonuclease subunit Sen2 Proteins 0.000 claims abstract description 113
- 102100021774 tRNA-splicing endonuclease subunit Sen2 Human genes 0.000 claims abstract description 113
- 238000005259 measurement Methods 0.000 claims abstract description 33
- 238000013507 mapping Methods 0.000 claims abstract description 29
- 238000006467 substitution reaction Methods 0.000 claims abstract description 9
- 238000004458 analytical method Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 3
- 230000014509 gene expression Effects 0.000 abstract description 7
- 238000000034 method Methods 0.000 description 41
- 239000013598 vector Substances 0.000 description 26
- 241000220225 Malus Species 0.000 description 10
- 235000021016 apples Nutrition 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 235000010724 Wisteria floribunda Nutrition 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000002391 anti-complement effect Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 101100202924 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) tsp-2 gene Proteins 0.000 description 1
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 1
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012916 structural analysis Methods 0.000 description 1
Classifications
-
- 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/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- 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
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明提供了句子相似度计算方法、系统及计算机可读存储介质,其中句子相似度计算方法,包括以下步骤:步骤1:获取语句SEN1和SEN2;步骤2:对SEN1和SEN2进行相似短语替换,得到SEN1'和SEN2';步骤3:分别计算SEN1'和SEN2'相对对方的语义相似度并进行特征测量;步骤4:根据所述语义相似度和所述特征测量结果得到语句SEN1和SEN2的相似度。本句子相似度计算方法、系统及计算机可读存储介质,能够对等效语义短语进行体现,提高句子相似度计算的准确性。基于相似短语映射数据文件的句子成分替换,使得SEN1、SEN2的相关表述方式一致。不仅考虑字面的语义匹配,还支持同义词、近义的语义匹配。考虑了不同类型词的语义贡献,还考虑句型结构的语义贡献。
Description
技术领域
本发明涉及句子相似度计算技术领域,尤其涉及句子相似度计算方法、系统及计算机可读存储介质。
背景技术
汉语是弱语法语言,语义计算面对多方面困难。目前计算句子之间相似度有利于正确理解语义,目前的句子相似度的计算方法主要包括:
句子相似度,可以计算两个向量的空间距离得出,句子的向量表示来自Seq2Seq模型的encoder最后输出的state,它具有句子的语意信息,在论文中常常用context表示。基于词向量计算两个短句的句向量的夹角,即余弦距离。得到两个句子的句向量后cosin计算两个向量间的夹角大小,即余弦距离,夹角值为0表示语义相同,值越大表示差异越大。缺点是:多义词、反义词、等效语义短语的效果差,每个词只能有一个向量,多义词不能表达多个含义;一个对反义词词向量无法通过叠加一个字向量(不、没)实现向量等同。词向量总是不充分,实践中总是遇到许多词向量查找失败的情况,严重影响语义计算。维基百科中出现的词是有限的。汉语词不是静态的是动态扩展的;关键特征识别差。
各种字面距离比较方法。典型的,如汉明距离:一个句子通过添加、删除字词变换成另一个句子的操作数量。差异越小,越不需要增减字词,表示距离越小。又如,jaccard距离,两个句子字的交集/两个句子字的并集。两句子越相同,距离值越接近1.0。但是,汉明距离、jaccard距离、fuzzy匹配等等,他们都是比较字面文字的差异,差异越小,语义越相近。但是上述计算方法对于等效语义短语等都无法体现。
用深度学习方法计算两个短句是否相似。如bert、深度神经网络等,通过标注大量语句对,语义相同语句对,语义不同语句对,训练学习短句两两是否相似。这种方式将语言的复杂性交给算法盒子自己处理,缺点是标注数据无法充分,准确率难以满足商用。
发明内容
有鉴于此,本发明要解决的技术问题是提供句子相似度计算方法、系统及计算机可读存储介质,能够对等效语义短语进行体现,提高句子相似度计算的准确性。
本发明的技术方案是这样实现的:
一种句子相似度计算方法,包括以下步骤:
步骤1:获取语句SEN1和SEN2;
步骤2:对SEN1和SEN2进行相似短语替换,得到SEN1'和SEN2';
步骤3:分别计算SEN1'和SEN2'相对对方的语义相似度并进行特征测量;
步骤4:根据所述语义相似度和所述特征测量结果得到SEN1和SEN2的相似度。
优选的,在所述步骤2之前,还包括:
对SEN1和SEN2去停用词。
优选的,所述步骤2具体包括:
步骤21:构建相似短语映射表;
步骤22:根据所述相似短语映射表对对SEN1和SEN2进行相似短语替换。
优选的,在所述步骤3具体包括:
步骤31:对SEN1'和SEN2'进行分析和句型结构分析,获取SEN1'和SEN2'中每个词的词性及其在句型结构中的成分;
步骤32:构建定义不同类型词对语义贡献度的词类型系数表和定义不同句型结构对语义贡献度的句型结构系数表;
步骤33:计算SEN1'和SEN2'中每个词相对对方的第一语义值;
步骤34:根据所述第一语义值、所述词类型系数表和句型结构系数表计算SEN1'和SEN2'中每个词相对对方的第二语义值;
步骤35:根据所述第二语义值计算SEN1'和SEN2'相对对方的语义相似度;
步骤36:进行特征测量。
优选的,所述计算SEN1'和SEN2'中每个词相对对方的第一语义值具体包括:
根据同义词映射表、近义词映射表和反义词映射表计算SEN1'和SEN2'中每个词相对对方的第一语义值。
优选的,所述步骤4具体包括:
步骤41:累加所述SEN1'中每个词的第二语义值,得到SEN1'相对语义得分;
步骤42:预设SEN1'中每个词在SEN2'中都存在,相当于每个词的语义值都是1.0,根据所述词类型系数表和句型结构系数表计算SEN1'中每个词相对SEN2'的第三语义值;
步骤43:累加所述SEN1'中每个词的第三语义值,得到SEN1'绝对语义得分;
步骤44:SENC1=SEN1'相对语义得分/SEN1'绝对语义得分;
步骤45:同理计算得到SEN2'的SENC2;
步骤46:所述特征测量结果为F;
步骤47:SEN1和SEN2的相似度SENC=F*(SENC1*0.5+SENC2*0.5)。
本发明还提出了一种句子相似度计算系统,包括:
获取模块,用于获取语句SEN1和SEN2;
相似短语替换模块,用于对SEN1和SEN2进行相似短语替换,得到SEN1'和SEN2';
语义相似度计算及特征测量模块,分别计算SEN1'和SEN2'相对对方的语义相似度并进行特征测量;
句子相似度计算模块,用于根据所述语义相似度和所述特征测量结果得到语句SEN1和SEN2的相似度。
优选的,还包括:
去噪模块,用于对SEN1和SEN2去停用词。
优选的,所述计算模块具体包括:
分析单元,用于对SEN1'和SEN2'进行分析和句型结构分析,获取SEN1'和SEN2'中每个词的词性及其在句型结构中的成分;
构建单元,用于构建定义不同类型词对语义贡献度的词类型系数表和定义不同句型结构对语义贡献度的句型结构系数表;
第一计算单元,用于计算SEN1'和SEN2'中每个词相对对方的第一语义值;根据所述第一语义值、所述词类型系数表和句型结构系数表计算SEN1'和SEN2'中每个词相对对方的第二语义值;
第二计算单元,用于根据所述第二语义值计算SEN1'和SEN2'相对对方的语义相似度;
测量单元,用于进行特征测量。
本发明还提出了一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现上述所述的句子相似度计算方法。
本发明提出的句子相似度计算方法、系统及计算机可读存储介质,通过在进行相似度计算前,对SEN1和SEN2进行相似短语替换,并分别计算替换后的语句相对对方的语义相似度并进行特征测量;从而能够对等效语义短语进行体现,提高句子相似度计算的准确性。与现有技术相比,本申请不是基于向量的权重,语义比较也不涉及词向量、余弦距离计算、欧氏距离、jaccard距离、词频权重等概念和处理,也不是基于各种深度学习为基础的句子相似度比较方法,而是基于成分短语替换表,同反义词表,特别是对反义词的支持。本申请设计两个静态的权重表,一个词性权重,一个句法结构权重,权重系数值来自实验测试实践,并通过相互计算对方语义相似度的方法矫正和验算句子语义相似度,精确性更高。
附图说明
图1示出了本发明实施例提出的句子相似度计算方法流程图;
图2示出了本发明实施例提出的句子相似度计算方法中,对SEN1和SEN2进行相似短语替换的一种示意性实施方式;
图3示出了本发明实施例提出的句子相似度计算方法中的相似短语映射表;
图4示出了本发明实施例提出的句子相似度计算方法中,分别计算SEN1'和SEN2'相对对方的语义相似度并进行特征测量的一种示意性实施方式;
图5示出了本发明实施例中的一种词类型系数表;
图6示出了本发明实施例中的一种句型结构系数表;
图7A示出了本发明实施例中示意的特殊疑问句列表图,图7B示出了本发明实施例中示意的一般疑问句列表图;
图8示出了本发明实施例提出的句子相似度计算方法中,根据所述语义相似度和所述特征测量结果得到SEN1和SEN2的相似度的一种示意性实施方式;
图9示出了本发明实施例提出的句子相似度计算系统的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明实施例提出了一种句子相似度计算方法。
如图1所示,本发明实施例提出了一种句子相似度计算方法包括以下步骤:
步骤1:获取语句SEN1和SEN2。
例如,需要计算句子SEN1和SEN2之间的相似度。首先,分别获取语句SEN1和SEN2。
步骤2:对SEN1和SEN2进行相似短语替换,得到SEN1'和SEN2'。
在本发明的一个优选实施例中,在所述步骤2之前,还包括:
对SEN1和SEN2去停用词。
停用词一般是句子中可以忽略的词,如:的、哦等虚词,其对语义比较有微小的影响。优选实施例中,去掉停用词可以降低后续计算中的索引量,提高检索效率。
图2示出了本发明实施例提出的句子相似度计算方法中,对SEN1和SEN2进行相似短语替换的一种示意性实施方式。
在本发明的一个优选实施例中,所述步骤2具体包括:
步骤21:构建相似短语映射表;
步骤22:根据所述相似短语映射表对SEN1和SEN2进行相似短语替换。
相似短语映射表,是根据汉语的等同语义短句,短语表述方法,是人工标注和累积的。相似短语映射表,并不简单等于了同义词、近义词,比如,人人都知道|满城风雨,字面完全不相同但是语义相同的,通过同义词、反义词表也无法处理,因为是一个短句。通过建立相似短语映射表,可以在进行相似度计算时对二者进行替换,以提高句子相似度计算的准确度。
如图3所示,摘录了部分相似短语映射表,每一行都是含义相同的短语表述,由多个词构成,如:人人都知道、满城风雨、人人皆知、家喻户晓,这些都表述相同的语义,用句向量方法是无法得到语义相同的结果,也不适用同义词、反义词处理,因为分词后是多个词。
每行的同义表述有多个,要结合被比较的句子,确认具体替换哪一个。
#表示省略一些字词,如:非#不可、一定,他们含义相同,如:我非办成不可,成分替换后为:我一定办成。
$表示一些参与替换的字词,如:$死了、太$了、$得很,这里的$可以是‘困’、‘喜欢’,‘好吃’等等。
基于同义词映射表、近义词映射表的语义分析处理,不仅考虑字面的语义匹配,还支持同义词、近义的语义匹配。
步骤3:分别计算SEN1'和SEN2'相对对方的语义相似度并进行特征测量。
即,计算SEN1'相对SEN2'的语义相似度,也计算SEN2'相对SEN1'的语义相似度。
图4示出了本发明实施例提出的句子相似度计算方法中,分别计算SEN1'和SEN2'相对对方的语义相似度并进行特征测量的一种示意性实施方式。
在本发明的一个优选实施例中,在所述步骤3具体包括:
步骤31:对SEN1'和SEN2'进行分析和句型结构分析,获取SEN1'和SEN2'中每个词的词性分析及其在句型结构中的成分;
步骤32:构建定义不同类型词对语义贡献度的词类型系数表和定义不同句型结构对语义贡献度的句型结构系数表;
步骤33:计算SEN1'和SEN2'中每个词相对对方的第一语义值;
步骤34:根据所述第一语义值、所述词类型系数表和句型结构系数表计算SEN1'和SEN2'中每个词相对对方的第二语义值;
步骤35:根据所述第二语义值计算SEN1'和SEN2'相对对方的语义相似度;
步骤36:进行特征测量。
例如,句型结构分析用哈尔冰工程大学的依存分析模块,分词用的基于词典的分词方法(如结巴分词)。
先经过分词,再经过依存句型结构分析,这两步是后续工作的开始。分词后确定每个词的词性,比如,动词、名词、副词等等。
依存分析后可以知道一个词是主谓结构、动宾结构、介补结构等,名词、副词对语义的贡献是不一样的,主谓、介补对语义的贡献是不一样的。因此定义不同类型词对语义贡献度的词类型系数表和定义不同句型结构对语义贡献度的句型结构系数表。
图5示出了本发明实施例中的一种词类型系数表。词类型系数表,定义了不同类型词对语义的贡献,名词、动词、代词、形容词、副词、介词、连词、数量词等等对语义的贡献是不一样的。
图6示出了本发明实施例中的一种句型结构系数表。句型结构系数表,定义了不同句型结构对语义的贡献度,主谓宾是主导,定状补是次要从属。
绝对语义得分就是假设每个词都能在对方句子中找到语义存在得分1.0,再根据两个系数表得到每个词的语义绝对值,累加得到绝对值,相对值比绝对值,得到一个0.0-1.0的语义得分SENC1、SENC2。绝对值,就是假设两个词语语义相等时,每个词在另一个句子中都能找到对应的等同语义的词,得分都是1.0,是所有词1.0的累加。
由于语义比较的两个句子长度通常是不一样的,如:SEN1=我吃苹果,SEN2=我喜欢吃山东的富士苹果。SEN1字词是SEN2的子集,计算SEN1的语义值将得到1.0,这显然不能代表真实语义比较结果,因此还需要计算SEN2的语义值,因为“喜欢、山东的富士”在SEN1中不存在,因此语义得分将较低。因此,需要双向计算,两个方向的计算值各取50%相加,最终的结果是两个语义的平均值。
考虑了不同类型词的语义贡献,还考虑句型结构的语义贡献。通过两个静态权重配置实现,实践中取得了很好的效果。
特征测量是测量两个要比较的句子是否具有相同的特征,如同为疑问句、同为否定句等,一个否定句跟一个肯定句比较,即便字面相等,语义也是相反的。特征一致F=+1,不一致是F=-1,最终语义得分通过正负表达特征是否一致,绝对值表示语义的相似程度。
例如,我喜欢吃苹果,我不喜欢吃苹果,这两句的语义计算得分非常高,但是特征测量f一个是+1,一个是-1,这样两个句子的语义就区分开了。肯定跟肯定比、跟否定比是负数,跟疑问句比也是负数。
我喜欢吃苹果,我不喜欢吃苹果,我喜欢吃苹果吗,这两句的字面非常相似,就差一个:不、吗字,需要通过特征测量的方法解决。
我喜欢苹果、我不喜欢苹果,这两句的算法语义分析是相等的。
同样的情况:我喜欢苹果、我喜欢苹果吗,也是语义计算相同,但实际含义不一致。
语句比较不仅要比较两个语句本身,还需要加入其它的特征信息比对,特征信息需要一致。
两个重要的特征信息:疑问句类别判断和否定判断。
这两个特征信息由两个独立的算法模型完成,该模型综合深度学习多种方法独立完成。
特征相同:F=+1,否则F=-1。
具体地说,疑问句分为四类:一般疑问、特殊疑问、正反疑问、选择疑问,每个分类定义一些短语数据集。例如图7A为示意的特殊疑问句列表图,图7B为示意的一般疑问句列表图。
然后用lstm、bert深度学习方法训练得到一个算法模块,训练完成后,输入一个句子给模型,模型返回该句子的疑问类型,陈述句,或四类疑问句之一。
否定句的方法也一样。否定句的汉语特征是:不、没,可以用正则简单分析。
在本发明的一个优选实施例中,所述计算SEN1'和SEN2'中每个词相对对方的第一语义值具体包括:
根据同义词映射表、近义词映射表和反义词映射表计算SEN1'和SEN2'中每个词相对对方的第一语义值。
短句分词后,依次查找每个词在另一个句子中是否存在,存在则该词语义语义得分为1,否则查找该词的同义词是否在另一个句子中存在,存在则得分1,否则查找该词反义词,添加:不、没,然后查询在另一个句子中是否存在。存在则得分1,否则得分0。
短句由名词、动词、代词、形容词副词、数词量词、介词连词等等组成。不同类型词对短句的语义贡献是不同的。经过大量测试,为不同种类词定义不同的权重,得到图5词类型系数表。
短句语义分析仅考虑词权重还不够,还需要考虑不同句法结构对语义的不同贡献,主谓宾是主干,定状补是从属。各类词在不同句法结构中对语义的贡献也就不一样,比如:名词在宾语中的作用大于在定状补语中的作用。为各种句法结构定义不同的权重,得到图6句型结构系数表。
将第一语义值分别与图5中的权重系数和图6中的权重系数进行计算,上述两个权重系数共同作用,可计算具体短句中每一个词的具体权重,即得到第二语义相似度。
步骤4:根据所述语义相似度和所述特征测量结果得到SEN1和SEN2的相似度。
图8为本发明实施例提出的句子相似度计算方法中,根据所述语义相似度和所述特征测量结果得到SEN1和SEN2的相似度的一种示意性实施方式。
在本发明的一个优选实施例中,所述步骤4具体包括:
步骤41:累加所述SEN1'中每个词的第二语义值,得到SEN1'相对语义得分;
步骤42:预设SEN1'中每个词在SEN2'中都存在,相当于每个词的语义值都是1.0,根据所述词类型系数表和句型结构系数表计算SEN1'中每个词相对SEN2'的第三语义值;
步骤43:累加所述SEN1'中每个词的第三语义值,得到SEN1'绝对语义得分;
步骤44:SENC1=SEN1'相对语义得分/SEN1'绝对语义得分;
步骤45:同理计算得到SEN2'的SENC2;
步骤46:所述特征测量结果为F;
步骤47:计算SEN1和SEN2的相似度SENC=F*(SENC1*0.5+SENC2*0.5)。
其中,SEN1’中每个词的相对语义值考虑了:语义在SEN2’中是否存在、词类别的语义贡献度、句型结构的语义贡献度。词的绝对语义值就是假设SEN1’中每个词在SEN2’中都存在,同样考虑该词类型的语义贡献度、句型结构的语义贡献度。
SEN1’相对语义得分:累加SEN1’所有词的语义值。
SEN1’绝对语义得分:累加SEN1’所有词的绝对语义值。
SENC1=SEN1’相对语义得分/SEN1’绝对语义得分。
该方法计算了SEN1’中每个词的语义,没考虑SEN2’的所有词的语义。因此还需要计算SEN2’的语义得分SENC2,方法同上。
最终得分:SENC=F*(SENC1*0.5+SENC2*0.5)。
越相似越靠近1或者-1,差异越大越接近0。正数表示句子特征一致,而负数表示不一致。
以上计算方法采用累加词的语义值方法,对词序变化不敏感。
由以上步骤分解可见,本发明提出的句子相似度计算方法,通过在进行相似度计算前,对SEN1和SEN2进行相似短语替换,并分别计算替换后的语句相对对方的语义相似度并进行特征测量;从而能够对等效语义短语进行体现,提高句子相似度计算的准确性。
基于相似短语映射数据文件的句子成分替换,使得SEN1、SEN2的相关表述方式一致。
与现有技术相比,本申请有以下特点:
本申请不是基于向量的权重,语义比较不涉及词向量。从而避免了获取词向量时总是出现的“找不到某一个词的词向量的困扰”。也不涉及余弦距离计算、欧氏距离、jaccard距离、tfidf词频权重等概念和处理,也不是基于各种深度学习为基础的句子相似度比较方法。
本申请基于成分短语替换,用丰富语料库解决非同义词,以及词向量无法计算的短语相似度计算问题。比如,人人都知道、满城风雨,它们的字面是不相同的,用同义词、词向量等也无法计算他们语义相同。本申请通过成分替换可以实现语义比较,基于词向量的余弦距离等其他方法不可行。
本申请区分同反义词,特别是对反义词的支持。
本申请的权重表是两个,一个词性权重,一个句法结构权重。
本申请避免采用余弦相似度计算两个句子的句向量间的夹角,从而避免了由于汉语的丰富表达,词量太大,在使用词向量中经常出现找不到一个词的词向量的问题。
本申请采用双词库和特征测量,从而区分句意的正反意思表达。
本申请通过相互计算对方语义相似度的方法矫正和验算句子语义相似度,精确性更高。
本发明方法不涉及词向量,引入了等同语义的短语映射、同义词映射、反义词映射、双层语义权重、特征测量等方法,其中等同语义的短语映射替换、反义词映射、双权重、特征测量为本发明特有特征。
本申请使用了语义相对值/语义绝对值,得到一个0.0~1.0的数字表示语义的相似度s1、s2两个方向计算,再求平均和。因此,本算法较好地解决了句子语义比较的各种难题,实践应用中取得良好结果。
本发明的又一实施例还提出了一种句子相似度计算系统。图9示出了本发明实施例提出的句子相似度计算系统的结构框图。
如图9所示,本发明的又一实施例还提出了一种句子相似度计算系统,包括:
获取模块,用于获取语句SEN1和SEN2;
相似短语替换模块,用于对SEN1和SEN2进行相似短语替换,得到SEN1'和SEN2';
语义相似度计算及特征测量模块,分别计算SEN1'和SEN2'相对对方的语义相似度,并进行特征测量;
句子相似度计算模块,用于根据所述语义相似度和所述特征测量结果得到SEN1和SEN2的相似度。
可见,本发明提出的句子相似度计算系统通过在进行相似度计算前,对SEN1和SEN2进行相似短语替换,并分别计算替换后的语句相对对方的语义相似度并进行特征测量;从而能够对等效语义短语进行体现,提高句子相似度计算的准确性。
在本发明的一个优选实施例中,还包括:
去噪模块,用于对SEN1和SEN2去停用词。
在本发明的一个优选实施例中,所述语义相似度计算及特征测量模块具体包括:
分析单元,用于对SEN1'和SEN2'进行分析和句型结构分析,获取SEN1'和SEN2'中每个词的词性及其在句型结构中的成分;
构建单元,用于构建定义不同类型词对语义贡献度的词类型系数表和定义不同句型结构对语义贡献度的句型结构系数表;
第一计算单元,用于计算SEN1'和SEN2'中每个词相对对方的第一语义值;
第二计算单元,用于根据所述第一语义值、所述词类型系数表和句型结构系数表计算SEN1'和SEN2'中每个词相对对方的第二语义值;
第三计算单元,用于根据所述第二语义值计算SEN1'和SEN2'相对对方的语义相似度;
测量单元,用于进行特征测量。
本发明的又一实施例还提出了一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现上述所述的句子相似度计算方法。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solidstatedisk,SD))等。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种句子相似度计算方法,其特征在于,包括以下步骤:
步骤1:获取语句SEN1和SEN2;
步骤2:对SEN1和SEN2进行相似短语替换,得到SEN1'和SEN2';
步骤3:分别计算SEN1'和SEN2'相对对方的语义相似度并进行特征测量;
步骤4:根据所述语义相似度和所述特征测量结果得到语句SEN1和SEN2的相似度;
其中,所述步骤3具体包括:
步骤31:对SEN1'和SEN2'进行词性分析和句型结构分析,获取SEN1'和SEN2'中每个词的词性及其在句型结构中的成分;
步骤32:构建定义不同类型词对语义贡献度的词类型系数表,和定义不同句型结构对语义贡献度的句型结构系数表;
步骤33:计算SEN1'和SEN2'中每个词相对对方的第一语义值;
步骤34:根据所述第一语义值、所述词类型系数表和句型结构系数表计算SEN1'和SEN2'中每个词相对对方的第二语义值;
步骤35:根据所述第二语义值计算SEN1'和SEN2'相对对方的语义相似度;
步骤36:进行特征测量。
2.如权利要求1所述的句子相似度计算方法,其特征在于,在所述步骤2之前,还包括:
对SEN1和SEN2去停用词。
3.如权利要求1所述的句子相似度计算方法,其特征在于,所述步骤2具体包括:
步骤21:构建相似短语映射表;
步骤22:根据所述相似短语映射表对SEN1和SEN2进行相似短语替换。
4.如权利要求1所述的句子相似度计算方法,其特征在于,所述计算SEN1'和SEN2'中每个词相对对方的第一语义值具体包括:
根据同义词映射表、近义词映射表和反义词映射表计算SEN1'和SEN2'中每个词相对对方的第一语义值。
5.如权利要求1所述的句子相似度计算方法,其特征在于,所述步骤4具体包括:
步骤41:累加所述SEN1'中每个词的第二语义值,得到SEN1'相对语义得分;
步骤42:预设SEN1'中每个词在SEN2'中都存在,相当于每个词的语义值都是1.0,根据所述词类型系数表和句型结构系数表计算SEN1'中每个词相对SEN2'的第三语义值;
步骤43:累加所述SEN1'中每个词的第三语义值,得到SEN1'绝对语义得分;
步骤44:SENC1=SEN1'相对语义得分/SEN1'绝对语义得分;
步骤45:同理计算得到SEN2'的SENC2;
步骤46:所述特征测量结果为F;
步骤47:计算SEN1和SEN2的相似度SENC=F*(SENC1*0.5+SENC2*0.5)。
6.一种句子相似度计算系统,其特征在于,包括:
获取模块,用于获取语句SEN1和SEN2;
相似短语替换模块,用于对SEN1和SEN2进行相似短语替换,得到SEN1'和SEN2';
语义相似度计算及特征测量模块,分别计算SEN1'和SEN2'相对对方的语义相似度并进行特征测量;
句子相似度计算模块,用于根据所述语义相似度和所述特征测量结果得到语句SEN1和SEN2的相似度;
其中,所述语义相似度计算及特征测量模块具体包括:
分析单元,用于对SEN1'和SEN2'进行分析和句型结构分析,获取SEN1'和SEN2'中每个词的词性及其在句型结构中的成分;
构建单元,用于构建定义不同类型词对语义贡献度的词类型系数表和定义不同句型结构对语义贡献度的句型结构系数表;
第一计算单元,用于计算SEN1'和SEN2'中每个词相对对方的第一语义值;根据所述第一语义值、所述词类型系数表和句型结构系数表计算SEN1'和SEN2'中每个词相对对方的第二语义值;
第二计算单元,用于根据所述第二语义值计算SEN1'和SEN2'相对对方的语义相似度;
测量单元,用于进行特征测量。
7.如权利要求6所述的句子相似度计算系统,其特征在于,还包括:
去噪模块,用于对SEN1和SEN2去停用词。
8.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1-5任一项所述的句子相似度计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110100228.8A CN113312908B (zh) | 2021-01-26 | 2021-01-26 | 句子相似度计算方法、系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110100228.8A CN113312908B (zh) | 2021-01-26 | 2021-01-26 | 句子相似度计算方法、系统及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113312908A CN113312908A (zh) | 2021-08-27 |
CN113312908B true CN113312908B (zh) | 2024-02-06 |
Family
ID=77370596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110100228.8A Active CN113312908B (zh) | 2021-01-26 | 2021-01-26 | 句子相似度计算方法、系统及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312908B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065387A (ja) * | 2004-08-24 | 2006-03-09 | Fuji Xerox Co Ltd | テキスト文検索装置、テキスト文検索方法、及びテキスト文検索プログラム |
WO2013172500A1 (ko) * | 2012-05-17 | 2013-11-21 | 한국과학기술정보연구원 | 패러프레이즈 식별 기반 문장 유사도 판단 장치 및 그 방법 |
CN107180026A (zh) * | 2017-05-02 | 2017-09-19 | 苏州大学 | 一种基于词嵌入语义映射的事件短语学习方法及装置 |
CN109062892A (zh) * | 2018-07-10 | 2018-12-21 | 东北大学 | 一种基于Word2Vec的中文语句相似度计算方法 |
CN109101494A (zh) * | 2018-08-10 | 2018-12-28 | 哈尔滨工业大学(威海) | 一种用于中文句子语义相似度计算的方法,设备以及计算机可读存储介质 |
JP2019082931A (ja) * | 2017-10-31 | 2019-05-30 | 三菱重工業株式会社 | 検索装置、類似度算出方法、およびプログラム |
CN110705612A (zh) * | 2019-09-18 | 2020-01-17 | 重庆邮电大学 | 一种混合多特征的句子相似度计算方法、存储介质及系统 |
-
2021
- 2021-01-26 CN CN202110100228.8A patent/CN113312908B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065387A (ja) * | 2004-08-24 | 2006-03-09 | Fuji Xerox Co Ltd | テキスト文検索装置、テキスト文検索方法、及びテキスト文検索プログラム |
WO2013172500A1 (ko) * | 2012-05-17 | 2013-11-21 | 한국과학기술정보연구원 | 패러프레이즈 식별 기반 문장 유사도 판단 장치 및 그 방법 |
CN107180026A (zh) * | 2017-05-02 | 2017-09-19 | 苏州大学 | 一种基于词嵌入语义映射的事件短语学习方法及装置 |
JP2019082931A (ja) * | 2017-10-31 | 2019-05-30 | 三菱重工業株式会社 | 検索装置、類似度算出方法、およびプログラム |
CN109062892A (zh) * | 2018-07-10 | 2018-12-21 | 东北大学 | 一种基于Word2Vec的中文语句相似度计算方法 |
CN109101494A (zh) * | 2018-08-10 | 2018-12-28 | 哈尔滨工业大学(威海) | 一种用于中文句子语义相似度计算的方法,设备以及计算机可读存储介质 |
CN110705612A (zh) * | 2019-09-18 | 2020-01-17 | 重庆邮电大学 | 一种混合多特征的句子相似度计算方法、存储介质及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113312908A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107122413B (zh) | 一种基于图模型的关键词提取方法及装置 | |
JP5936698B2 (ja) | 単語意味関係抽出装置 | |
US9183274B1 (en) | System, methods, and data structure for representing object and properties associations | |
CN107180045B (zh) | 一种互联网文本蕴含地理实体关系的抽取方法 | |
US8712758B2 (en) | Coreference resolution in an ambiguity-sensitive natural language processing system | |
US9575955B2 (en) | Method of detecting grammatical error, error detecting apparatus for the method, and computer-readable recording medium storing the method | |
CN110705612A (zh) | 一种混合多特征的句子相似度计算方法、存储介质及系统 | |
CN106844331A (zh) | 一种句子相似度计算方法和系统 | |
CN109783806B (zh) | 一种利用语义解析结构的文本匹配方法 | |
KR101508070B1 (ko) | 어휘지도를 이용한 용언의 다의어 의미 분석 방법 | |
CN103605781A (zh) | 一种隐式篇章关系类型推理方法及系统 | |
Zhang et al. | STCS lexicon: Spectral-clustering-based topic-specific Chinese sentiment lexicon construction for social networks | |
Wang et al. | NLP-based query-answering system for information extraction from building information models | |
Lertpiya et al. | A preliminary study on fundamental Thai NLP tasks for user-generated web content | |
WO2014002774A1 (ja) | 同義語抽出システム、方法および記録媒体 | |
CN111428031A (zh) | 一种融合浅层语义信息的图模型过滤方法 | |
Selvaretnam et al. | A linguistically driven framework for query expansion via grammatical constituent highlighting and role-based concept weighting | |
CN113312908B (zh) | 句子相似度计算方法、系统及计算机可读存储介质 | |
Zhang et al. | An approach for named entity disambiguation with knowledge graph | |
CN111597793A (zh) | 基于sao-adv结构的论文创新性的测度方法 | |
Mathew et al. | Paraphrase identification of Malayalam sentences-an experience | |
Lai et al. | An unsupervised approach to discover media frames | |
Nishy Reshmi et al. | Textual entailment classification using syntactic structures and semantic relations | |
Qasim et al. | Exploiting affinity propagation for automatic acquisition of domain concept in ontology learning | |
Hameed et al. | Short Text Semantic Similarity Measurement Approach Based on Semantic Network |
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 |