CN113392630A - 一种基于语义分析的中文句子相似度计算方法和系统 - Google Patents
一种基于语义分析的中文句子相似度计算方法和系统 Download PDFInfo
- Publication number
- CN113392630A CN113392630A CN202110747767.0A CN202110747767A CN113392630A CN 113392630 A CN113392630 A CN 113392630A CN 202110747767 A CN202110747767 A CN 202110747767A CN 113392630 A CN113392630 A CN 113392630A
- Authority
- CN
- China
- Prior art keywords
- sentence
- similarity
- bert
- word2vec
- sim
- 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.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 31
- 238000004458 analytical method Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 139
- 239000013598 vector Substances 0.000 claims abstract description 64
- 230000011218 segmentation Effects 0.000 claims abstract description 33
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 230000000295 complement effect Effects 0.000 claims description 5
- 239000004615 ingredient Substances 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 7
- 235000012054 meals Nutrition 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000003313 weakening effect Effects 0.000 description 1
Images
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/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
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于语义分析的中文句子相似度计算方法及系统,其中涉及的一种基于语义分析的中文句子相似度计算方法,包括:S1.获取待处理的句子对,并基于预构建的语料库分别对获取的句子对进行分词;其中,预构建的语料库包括行业语料库和普通语料库;S2.对分词后句子的成分进行划分,得到句子的主要成分和次要成分,通过BERT方法和Word2vec方法将句子的主要成分、次要成分均转化为词向量,并使用余弦相似度分别计算句子对的主要成分、次要成分的相似度;S3.根据得到的主要成分、次要成分的相似度,分别计算BERT方法和Word2vec方法的句子对整体相似度,并根据句子对的整体相似度计算句子对的最终相似度。
Description
技术领域
本发明涉及语句识别的技术领域,尤其涉及一种基于语义分析的中文句子相似度计算方法和系统。
背景技术
句子相似度计算是自然语言处理中一项重要的基础性研究,相关研究成果可以广泛应用到许多方面。在智能问答系统中,使用句子相似度从原始数据库中找出与目标句子最相似的句子。在机器翻译中,使用句子相似度从实例集中找出与待翻译语句最相似的源语句。在文本自动分类中,使用句子相似度作为判别构成文本的句子集归类的主要标准。在文本检测和文本查重中,句子相似度计算作为核心标准,决定了文本检测和查重的准确率。因此,句子相似度是一项重要的计算标准,其计算效率和准确率可影响到许多相关系统的运行效率。
目前国外成熟的句子相似度计算方法有简单匹配、最长公共子序列(LongestCommon Length,LCS)、莱文斯坦距离(Levenshtein Distance)、Jaccard等。不同于印欧语言以单词为语义的最小单位,中文因为其构词表意的灵活性,使得上述方法应用于中文句子相似度计算时,只考虑到了词语的字面信息与句子相互转化的次数等特征,而忽略了词语的句法信息和语义差异,导致此类方法对中文句子相似度计算准确率较低。
综上所述,现有句子相似度计算方法计算句中关键词以及关键词附加部分相似度或者直接比较组成句子词语的相似度,以之代表整个句子的相似度,容易造成信息遗漏问题,且无法从语句表意内容方面综合计算,为此本发明提出一种基于语义分析的中文句子相似度计算方法和系统。
发明内容
本发明的目的是针对现有技术的缺陷,提供了一种基于语义分析的中文句子相似度计算方法和系统,可以从更细粒度方面综合比较句子各部分的相似度,并结合行业领域信息计算出一种综合的句子相似度值。
为了实现以上目的,本发明采用以下技术方案:
一种基于语义分析的中文句子相似度计算方法,包括:
S1.获取待处理的句子对,并基于预构建的语料库分别对获取的句子对进行分词;其中,预构建的语料库包括行业语料库和普通语料库;
S2.对分词后句子的成分进行划分,得到句子的主要成分和次要成分,通过BERT方法和Word2vec方法将句子的主要成分、次要成分均转化为词向量,并使用余弦相似度分别计算句子对的主要成分、次要成分的相似度;
S3.根据得到的主要成分、次要成分的相似度,分别计算BERT方法和Word2vec方法的句子对整体相似度,并根据句子对的整体相似度计算句子对的最终相似度。
进一步的,所述步骤S1中对句子对进行分词后还包括:计算句子对所涉及的行业的相似度,表示为:
其中,N(A,B)表示句子A和句子B行业统计的交集;C(A,B)表示句子A和句子B行业统计的差集。
进一步的,所述步骤S2中对分词后句子的成分进行划分,得到句子的主要成分和次要成分;
主要成分表示为:
Smajor=S(主语,谓语,宾语)
其中,S表示进行分词后的句子;Smajor表示主要成分。
次要成分表示为:
Sother=S(定语,状语,补语)
其中,S表示进行分词后的句子;Sother表示次要成分。
进一步的,所述步骤S2中通过BERT方法和Word2vec方法将句子的主要成分转化为词向量,表示为:
S(major,BERT)=BERT(Smajor)
其中,S(major,BERT)表示通过BERT方法将句子的主要成分转化为词向量;
S(major,Word2vec)=Word2vec(Smajor)
其中,S(major,Word2vec)表示通过Word2vec方法将句子的主要成分转化为词向量。
进一步的,所述步骤S2中通过BERT方法和Word2vec方法将句子的次要成分转化为词向量,表示为:
S(other,BERT)=BERT(Sother)
其中,S(other,BERT)表示通过BERT方法将句子的次要成分转化为词向量;
S(other,Word2vec)=Word2vec(Sother)
其中,S(other,Word2vec)表示通过Word2vec方法将句子的次要成分转化为词向量。
进一步的,所述步骤S2中使用余弦相似度计算句子对的相似度,表示为:
其中,similarity表示句子A和句子B的相似度;Ai表示句子A分词并转换为词向量后的各分量;Bi表示句子B分词并转换为词向量后的各分量;n表示分量总数。
进一步的,所述步骤S2中使用余弦相似度分别计算句子对的主要成分、次要成分的相似度;
主要成分相似度,表示为:
Sim(major,BERT)=similarity(A(major,BERT),B(major,BERT))
Sim(major,Word2vec)=similarity(A(major,word2vec),B(major,Word2vec))
其中,Sim(major,BERT)表示基于BERT方法的句子主要成分的相似度;A(major,BERT)表示通过BERT方法将句子A的主要成分转化为词向量;B(major,BERT)表示通过BERT方法将句子B的主要成分转化为词向量;Sim(major,Word2vec)表示基于Word2vec方法的句子主要成分的相似度;A(major,Word2vec)表示通过Word2vec方法将句子A的主要成分转化为词向量;B(major,Word2vec)表示通过Word2vec方法将句子B的主要成分转化为词向量;
次要成分相似度,表示为:
Sim(other,BERT)=similarity(A(other,BERT),B(other,BERT))
Sim(other,Word2vec)=similarity(A(other,word2vec),B(other,Word2vec))
其中,Sim(other,BERT)表示基于BERT方法的句子次要成分的相似度;A(other,BERT)表示通过BERT方法将句子A的次要成分转化为词向量;B(other,BERT)表示通过BERT方法将句子B的次要成分转化为词向量;Sim(other,Word2vec)表示基于Word2vec方法的句子次要成分的相似度;A(other,Word2vec)表示通过Word2vec方法将句子A的次要成分转化为词向量;B(other,Word2vec)表示通过Word2vec方法将句子B的次要成分转化为词向量。
进一步的,所述步骤S3中分别计算BERT方法和Word2vec方法的句子对整体相似度,表示为:
Sim(whole,BERT)=0.6*Sim(major,BERT)+0.3*Sim(other,BERT)+0.1*l
Sim(whole,Word2vec)=0.6*Sim(major,Word2vec)+0.3*Sim(other,Word2vec)+0.1*l
其中,Sim(whole,BERT)表示基于BERT方法的句子整体相似度;Sim(whole,Word2vec)表示基于Word2vec方法的句子整体相似度。
进一步的,所述步骤S3中根据句子对的整体相似度计算句子对的最终相似度具体为:
判断Sim(whole,BERT)和Sim(whole,Word2vec)的差值的绝对值是否小于0.1;
若Sim(whole,BERT)和Sim(whole,Word2vec)的差值的绝对值小于0.1,表示为:
|Sim(whole,BERT)-Sim(whole,Word2vec)|<0.1
则句子对的最终相似度表示为:
Simfinal=0.6*Sim(whole,BERT)+0.4*Sim(whole,Word2vec)
其中,Simfinal表示句子对的最终相似度;
若Sim(whole,BERT)和Sim(whole,Word2vec)的差值的绝对值大于0.1,表示为:
|Sim(whole,BERT)-Sim(whole,Word2vec)|>0.1
则句子对的最终相似度表示为:
Simfinal=0.63*Sim(major,BERT)+0.32*Sim(other,BERT)+0.05*l
其中,Simfinal表示句子对的最终相似度。
相应的,还提供一种基于语义分析的中文句子相似度计算系统,包括:
分词模块,用于获取待处理的句子对,并基于预构建的语料库分别对获取的句子对进行分词;其中,预构建的语料库包括行业语料库和普通语料库;
划分模块,用于对分词后句子的成分进行划分,得到句子的主要成分和次要成分,通过BERT方法和Word2vec方法将句子的主要成分、次要成分均转化为词向量,并使用余弦相似度分别计算句子对的主要成分、次要成分的相似度;
计算模块,用于根据得到的主要成分、次要成分的相似度,分别计算BERT方法和Word2vec方法的句子对整体相似度,并根据句子对的整体相似度计算句子对的最终相似度。
与现有技术相比,本发明在进行分词的过程中加入了行业语料库,增强了对专业名词划分的准确性。定义并计算了两个句子行业覆盖的相似度,增强了句子相似度计算的准确性。分析了句子的成分,充分考虑了词语的句法信息和语义差异,增强了句子相似度计算的准确率。
附图说明
图1是本实施例一提供的一种基于语义分析的中文句子相似度计算方法流程图;
图2是本实施例一提供的一种基于语义分析的中文句子相似度计算方法示意图
图3是本实施例一提供的句子分词结构图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
本发明的目的是针对现有技术的缺陷,提供了一种基于语义分析的中文句子相似度计算方法。
本实施例提供一种基于语义分析的中文句子相似度计算方法,如图1-2所示,包括:
S1.获取待处理的句子对,并基于预构建的语料库分别对获取的句子对进行分词;其中,预构建的语料库包括行业语料库和普通语料库;
S2.对分词后句子的成分进行划分,得到句子的主要成分和次要成分,通过BERT方法和Word2vec方法将句子的主要成分、次要成分均转化为词向量,并使用余弦相似度分别计算句子对的主要成分、次要成分的相似度;
S3.根据得到的主要成分、次要成分的相似度,分别计算BERT方法和Word2vec方法的句子对整体相似度,并根据句子对的整体相似度计算句子对的最终相似度。
本实施例首先对两个句子进行分词,在进行分词的过程中加入行业语料库增强分词的准确性。接着划分两个句子的成分,获取两个句子的主要成分并使用BERT方法和Word2vec方法将其转化为词向量,并使用余弦相似度计算两个句子主要成分的相似度。然后,获取两个句子的次要成分并使用BERT方法和Word2vec方法将其转化为词向量,并使用余弦相似度计算两个句子次要成分的相似度。最后,分别计算得到BERT和Word2vec方法构建的两个句子整体相似度并据此计算得到两个句子最终的相似度。
在步骤S1中,获取待处理的句子对,并基于预构建的语料库分别对获取的句子对进行分词;其中,预构建的语料库包括行业语料库和普通语料库。
分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。在英文的行文中,单词之间是以空格作为自然分界符的,而在中文行文中,只有字、句和段能通过明显的分界符来简单划界,但词没有一个形式上的分界符。而词语是最能反应中文句子核心表意的特征之一,所以,要比较不同中文句子之间的相似度,首先要对句子进行分词,将一个完整的句子,划分为一个个单独的词语,如:将“我们去饭店吃饭。”,划分为“我们/去/饭店/吃饭/。”。
在进行分词的过程中,句子中的有些词语实际上对句子的表意基本没有贡献,仅起到连接的作用,如:“我们去江淮路的饭店吃饭。”,划分为:“我们/去/江淮路/的/饭店/吃饭/。”这里的“的”字对句子表意基本没有贡献。另外,中文句子中的标点符号对于表意也基本没有贡献。所以在分词时,要先将这些词语、标点剔除,这些被剔除的词语和标点就是停用词。
本实施例在分词之前首先要定义停用词库,剔除分词中不需要的词语、标点。其次,在中文句子中存在许多特定领域的专业词汇,这些词汇在普通的分词中无法被正确的划分出来,如:“大数据局”,一般会被划分为:“大/数据/局”,而“大数据”其实是一个信息技术行业的专业词汇,不应该被划分开来。所以,本方法和系统按照一级行业划分,预先构建“能源、原材料、工业、可选消费、主要消费、医药卫生、金融地产、信息技术、电信业务、公用事业”10个行业语料库。
在进行分词时,将上述行业语料库添加到普通语料库中,加强分词的准确性,并记录每个行业词库是否被使用的情况。分词过程的结构图如图3所示。
本实施例举例说明部分信息技术行业词库包括:btc,3d传感,500etf,5g技术,5g时代,5g通信,5g通讯,5g网络,5g无线通信,ai+医疗,ai+医疗,ai机器人,ai机器人,ai技术,ai技术,ai领域,ai领域,ai人才,ai人工智慧,ai人工智能,ai人工智能,ai时代,ai时代,ai手机,ai手机,ai算法,ai算法,ai系统,ai系统,ai芯片,ai芯片,ai医疗,ai医疗,ai运算,ai运算,app远程控制,ar技术,ar眼镜,ar眼镜,ar增强现实,bi工具,bi系统,bp神经网络,bp算法,bp网络,cdn服务,cdn技术,docker容器,em算法,e签宝,e租宝事件,feed流,google翻译,go语言,go语言,gpgpu,gpu计算,gpu架构,hadoop技术,hash算法,hash值,hopfield网络,iaas平台,ibm沃森,ico币,ico投资,ico项目,ict服务,ict基础设施,ict技术,idc行业,idrive系统,id识别,iot解决方案,iot设备,iot物联网,iot物联网,it安全,it产业,it厂商,it服务,it供应商,it和互联网,it环境,it基础,it基础架构,it基础设施,it技术,it架构,it解决方案,it领域,it能力,it设备,it时代,it运营,it资产,it资源,ivvi手机,k-means聚类,k-means算法,knn算法,k近邻,k近邻算法,k均值,k-均值聚类,lasso回归,lda模型,linux,内核,linux基金会,linux内核,lof基金,logistic回归,newifi新路由,nfc技术,nfc近场支付,nfc支付,nlp技术,nlp心理学,nlp应用,nosql数据库,nosql数据库,ocr技术,ocr识别技术,ocr图像识别,okcoin币行,oled概念,openstack基金会,oracle数据库,p2p,p2pool,p2p产品,p2p贷款,p2p公司,p2p借贷,p2p借贷平台,p2p金融,p2p金融,p2p理财,p2p理财产品,p2p理财平台,p2p企业,p2p网贷,p2p网贷,p2p网贷公司,p2p网贷理财,p2p网贷平台,paas服务,paas平台,paas平台,pb业务,pc互联网,pc时代,pki技术,qdii基金,qtum量子链,rfid技术,rsa算法,saas服务,saas服务平台,saas模式,saas平台,saas软件,sdn技术,sigmoid函数,slam技术,slam算法,svm分类器,svm算法,svm支持向量机,sync系统,vr和ar,vr交互,vr领域,vr支付,web安全,web数据挖掘,zmt众盟,阿里巴巴电商,阿里大数据,阿里电商,阿里概念,阿里金融云,阿里金融云,阿里新零售,阿里云,阿里云平台,阿希币,爱迪德,爱加密,安防服务,安防解决方案,安防领域,安防视频监控,安防行业,安防行业,安防智能化,安链云,安全操作系统,安全策略,安全产品,安全厂商,安全存储,安全大数据,安全代理,安全服务,安全服务商,安全工具,安全和隐私,安全机制,安全基础设施。
当建立好语料库并对两个句子(即句子对)进行分词后,要统计两个句子的词汇所涉及的行业,并计算两个句子所涉及的行业的相似度,即行业覆盖相似度,表示为:
其中,N(A,B)表示句子A和句子B行业统计的交集;C(A,B)表示句子A和句子B行业统计的差集。
在步骤S2中,对分词后句子的成分进行划分,得到句子的主要成分和次要成分,通过BERT方法和Word2vec方法将句子的主要成分、次要成分均转化为词向量,并使用余弦相似度分别计算句子对的主要成分、次要成分的相似度。
本实施例包括对句子的主要成分的相似度进行计算以及对句子的次要成分的相似度进行计算。
对句子的主要成分的相似度进行计算具体为:
对于一个中文句子,本实施例从句法结构的关系意义出发,对句子作成分功能和作用的分析,即标出句子的主要成分(主语,谓语,宾语)和次要成分(定语,状语,补语)。
如:“我们/去/江淮路/的/饭店/吃饭”,其句子的主要成分为主语:“我们”,谓语:“去”,宾语:“吃饭”。因此句子的主要成分表示为:
Smajor=S(主语,谓语,宾语)
其中,S表示进行分词后的句子;Smajor表示主要成分。
接着,使用BERT方法和Word2vec方法分别计算上述公式得到的句子主要成分的词向量,表示为:
S(major,BERT)=BERT(Smajor)
S(major,Word2vec)=Word2vec(Smajor)
其中,S(major,BERT)表示通过BERT方法将句子的主要成分转化为词向量;S(major,Word2vec)表示通过Word2vec方法将句子的主要成分转化为词向量。
然后,使用余弦相似度计算连个句子的相似度,表示为:
其中,similarity表示句子A和句子B的相似度;Ai表示句子A分词并转换为词向量后的各分量;Bi表示句子B分词并转换为词向量后的各分量;n表示分量总数。
最后,计算BERT方法和Word2vec方法构建词向量方式下两个句子主要成分的相似度,表示为:
Sim(major,BERT)=similarity(A(major,BERT),B(major,BERT))
Sim(major,Word2vec)=similarity(A(major,word2vec),B(major,Word2vec))
其中,Sim(major,BERT)表示基于BERT方法的句子主要成分的相似度;A(major,BERT)表示通过BERT方法将句子A的主要成分转化为词向量;B(major,BERT)表示通过BERT方法将句子B的主要成分转化为词向量;Sim(major,Word2vec)表示基于Word2vec方法的句子主要成分的相似度;A(major,Word2vec)表示通过Word2vec方法将句子A的主要成分转化为词向量;B(major,Word2vec)表示通过Word2vec方法将句子B的主要成分转化为词向量。
对句子的次要成分的相似度进行计算具体为:
对于一个中文句子,从句法结构的关系意义出发,句子的次要成分即句子的定语,状语,补语。次要成分表示为:
Sother=S(定语,状语,补语)
其中,S表示进行分词后的句子;Sother表示次要成分。
接着,使用BERT方法和Word2vec方法分别计算上述公式得到的句子次要成分的词向量,表示为:
S(other,BERT)=BERT(Sother)
S(other,Word2vec)=Word2vec(Sother)
其中,S(other,BERT)表示通过BERT方法将句子的次要成分转化为词向量;S(other,Word2vec)表示通过Word2vec方法将句子的次要成分转化为词向量。
最后,分别计算BERT方法和Word2vec方法构建词向量方式下两个句子次要成分的相似度,表示为:
Sim(other,BERT)=similarity(A(other,BERT),B(other,BERT))
Sim(other,Word2vec)=similarity(A(other,word2vec),B(other,Word2vec))
其中,Sim(other,BERT)表示基于BERT方法的句子次要成分的相似度;A(other,BERT)表示通过BERT方法将句子A的次要成分转化为词向量;B(other,BERT)表示通过BERT方法将句子B的次要成分转化为词向量;Sim(other,Word2vec)表示基于Word2vec方法的句子次要成分的相似度;A(other,Word2vec)表示通过Word2vec方法将句子A的次要成分转化为词向量;B(other,Word2vec)表示通过Word2vec方法将句子B的次要成分转化为词向量。
在步骤S3中,根据得到的主要成分、次要成分的相似度,分别计算BERT方法和Word2vec方法的句子对整体相似度,并根据句子对的整体相似度计算句子对的最终相似度。
在完成了句子主要成分的相似度与句子次要成分的相似度计算之后,需要对两个句子的整体相似度进行计算,本实施例使用以下公式计算句子的整体相似度,表示为:
Simwhole=0.6*Simmajor+0.3*Simother+0.1*l
即句子的整体相似度由60%的句子主要成分相似度,30%的句子次要成分相似度和10%的句子行业覆盖相似度构成。那么对于使用BERT方法和Word2vec方法构建词向量的句子的整体相似度分别表示为:
Sim(whole,BERT)=0.6*Sim(major,BERT)+0.3*Sim(other,BERT)+0.1*l
Sim(whole,Word2vec)=0.6*Sim(major,Word2vec)+0.3*Sim(other,Word2vec)+0.1*l
其中,Sim(whole,BERT)表示基于BERT方法的句子整体相似度;Sim(whole,Word2vec)表示基于Word2vec方法的句子整体相似度。
本实施例得到了BERT方法和Word2vec方法构建词向量的句子的整体相似度,进接着判断Sim(whole,BERT)和Sim(whole,Word2vec)的差值的绝对值是否小于0.1。
若Sim(whole,BERT)和Sim(whole,Word2vec)的差值的绝对值小于0.1,表示为:
|Sim(whole,BERT)-Sim(whole,Word2vec)|<0.1
上述公式表示两个句子间的词语受一词多意的影响较小,则两个句子的最终相似度表示为:
Simfinal=0.6*Sim(whole,BERT)+0.4*Sim(whole,Word2vec)
其中,Simfinal表示句子对的最终相似度;
若Sim(whole,BERT)和Sim(whole,Word2vec)的差值的绝对值大于0.1,表示为:
|Sim(whole,BERT)-Sim(whole,Word2vec)|>0.1
上述公式表示两个句子计算得到的相似度差异较大,两个句子被一词多意影响的成分较大。应该侧重于BERT方法计算出的句子主要成分相似度与次要成分相似度,并减弱行业覆盖相似度的影响,则两个句子的最终相似度表示为:
Simfinal=0.63*Sim(major,BERT)+0.32*Sim(other,BERT)+0.05*l
其中,Simfinal表示句子对的最终相似度。
与现有技术相比,本实施例在进行分词的过程中加入了行业语料库,增强了对专业名词划分的准确性。定义并计算了两个句子行业覆盖的相似度,增强了句子相似度计算的准确性。分析了句子的成分,充分考虑了词语的句法信息和语义差异,增强了句子相似度计算的准确率。
实施例二
本实施例提供一种基于语义分析的中文句子相似度计算系统,包括:
分词模块,用于获取待处理的句子对,并基于预构建的语料库分别对获取的句子对进行分词;其中,预构建的语料库包括行业语料库和普通语料库;
划分模块,用于对分词后句子的成分进行划分,得到句子的主要成分和次要成分,通过BERT方法和Word2vec方法将句子的主要成分、次要成分均转化为词向量,并使用余弦相似度分别计算句子对的主要成分、次要成分的相似度;
计算模块,用于根据得到的主要成分、次要成分的相似度,分别计算BERT方法和Word2vec方法的句子对整体相似度,并根据句子对的整体相似度计算句子对的最终相似度。
需要说明的是,本实施例提供的一种基于语义分析的中文句子相似度计算系统与实施例一类似,在此不多做赘述。
与现有技术相比,本实施例在进行分词的过程中加入了行业语料库,增强了对专业名词划分的准确性。定义并计算了两个句子行业覆盖的相似度,增强了句子相似度计算的准确性。分析了句子的成分,充分考虑了词语的句法信息和语义差异,增强了句子相似度计算的准确率。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种基于语义分析的中文句子相似度计算方法,其特征在于,包括:
S1.获取待处理的句子对,并基于预构建的语料库分别对获取的句子对进行分词;其中,预构建的语料库包括行业语料库和普通语料库;
S2.对分词后句子的成分进行划分,得到句子的主要成分和次要成分,通过BERT方法和Word2vec方法将句子的主要成分、次要成分均转化为词向量,并使用余弦相似度分别计算句子对的主要成分、次要成分的相似度;
S3.根据得到的主要成分、次要成分的相似度,分别计算BERT方法和Word2vec方法的句子对整体相似度,并根据句子对的整体相似度计算句子对的最终相似度。
3.根据权利要求1所述的一种基于语义分析的中文句子相似度计算方法,其特征在于,所述步骤S2中对分词后句子的成分进行划分,得到句子的主要成分和次要成分;
主要成分表示为:
Smajor=S(主语,谓语,宾语)
其中,S表示进行分词后的句子;Smajor表示主要成分。
次要成分表示为:
Sother=S(定语,状语,补语)
其中,S表示进行分词后的句子;Sother表示次要成分。
4.根据权利要求3所述的一种基于语义分析的中文句子相似度计算方法,其特征在于,所述步骤S2中通过BERT方法和Word2vec方法将句子的主要成分转化为词向量,表示为:
S(major,BERT)=BERT(Smajor)
其中,S(major,BERT)表示通过BERT方法将句子的主要成分转化为词向量;
S(major,Word2vec)=Word2vec(Smajor)
其中,S(major,Word2vec)表示通过Word2vec方法将句子的主要成分转化为词向量。
5.根据权利要求4所述的一种基于语义分析的中文句子相似度计算方法,其特征在于,所述步骤S2中通过BERT方法和Word2vec方法将句子的次要成分转化为词向量,表示为:
S(other,BERT)=BERT(Sother)
其中,S(other,BERT)表示通过BERT方法将句子的次要成分转化为词向量;
S(other,Word2vec)=Word2vec(Sother)
其中,S(other,Word2vec)表示通过Word2vec方法将句子的次要成分转化为词向量。
7.根据权利要求6所述的一种基于语义分析的中文句子相似度计算方法,其特征在于,所述步骤S2中使用余弦相似度分别计算句子对的主要成分、次要成分的相似度;
主要成分相似度,表示为:
Sim(major,BERT)=similarity(A(major,BERT),B(major,BERT))
Sim(major,Word2vec)=similarity(A(major,word2vec),B(major,Word2vec))
其中,Sim(major,BERT)表示基于BERT方法的句子主要成分的相似度;A(major,BERT)表示通过BERT方法将句子A的主要成分转化为词向量;B(major,BERT)表示通过BERT方法将句子B的主要成分转化为词向量;Sim(major,Word2vec)表示基于Word2vec方法的句子主要成分的相似度;A(major,Word2vec)表示通过Word2vec方法将句子A的主要成分转化为词向量;B(major,Word2vec)表示通过Word2vec方法将句子B的主要成分转化为词向量;
次要成分相似度,表示为:
Sim(other,BERT)=similarity(A(other,BERT),B(other,BERT))
Sim(other,Word2vec)=similarity(A(other,word2vec),B(other,Word2vec))
其中,Sim(other,BERT)表示基于BERT方法的句子次要成分的相似度;A(other,BERT)表示通过BERT方法将句子A的次要成分转化为词向量;B(other,BERT)表示通过BERT方法将句子B的次要成分转化为词向量;Sim(other,Word2vec)表示基于Word2vec方法的句子次要成分的相似度;A(other,Word2vec)表示通过Word2vec方法将句子A的次要成分转化为词向量;B(other,Word2vec)表示通过Word2vec方法将句子B的次要成分转化为词向量。
8.根据权利要求7所述的一种基于语义分析的中文句子相似度计算方法,其特征在于,所述步骤S3中分别计算BERT方法和Word2vec方法的句子对整体相似度,表示为:
Sim(whole,BERT)=0.6*Sim(major,BERT)+0.3*Sim(other,BERT)+0.1*l
Sim(whole,Word2vec)=0.6*Sim(major,Word2vec)+0.3*Sim(other,Word2vec)+0.1*l
其中,Sim(whole,BERT)表示基于BERT方法的句子整体相似度;Sim(whole,Word2vec)表示基于Word2vec方法的句子整体相似度。
9.根据权利要求8所述的一种基于语义分析的中文句子相似度计算方法,其特征在于,所述步骤S3中根据句子对的整体相似度计算句子对的最终相似度具体为:
判断Sim(whole,BERT)和Sim(whole,Word2vec)的差值的绝对值是否小于0.1;
若Sim(whole,BERT)和Sim(whole,Word2vec)的差值的绝对值小于0.1,表示为:
|Sim(whole,BERT)-Sim(whole,Word2vec)|<0.1
则句子对的最终相似度表示为:
Simfinal=0.6*Sim(whole,BERT)+0.4*Sim(whole,Word2vec)
其中,Simfinal表示句子对的最终相似度;
若Sim(whole,BERT)和Sim(whole,Word2vec)的差值的绝对值大于0.1,表示为:
|Sim(whole,BERT)-Sim(whole,Word2vec)|>0.1
则句子对的最终相似度表示为:
Simfinal=0.63*Sim(major,BERT)+0.32*Sim(other,BERT)+0.05*l
其中,Simfinal表示句子对的最终相似度。
10.一种基于语义分析的中文句子相似度计算系统,其特征在于,包括:
分词模块,用于获取待处理的句子对,并基于预构建的语料库分别对获取的句子对进行分词;其中,预构建的语料库包括行业语料库和普通语料库;
划分模块,用于对分词后句子的成分进行划分,得到句子的主要成分和次要成分,通过BERT方法和Word2vec方法将句子的主要成分、次要成分均转化为词向量,并使用余弦相似度分别计算句子对的主要成分、次要成分的相似度;
计算模块,用于根据得到的主要成分、次要成分的相似度,分别计算BERT方法和Word2vec方法的句子对整体相似度,并根据句子对的整体相似度计算句子对的最终相似度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110747767.0A CN113392630A (zh) | 2021-07-01 | 2021-07-01 | 一种基于语义分析的中文句子相似度计算方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110747767.0A CN113392630A (zh) | 2021-07-01 | 2021-07-01 | 一种基于语义分析的中文句子相似度计算方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113392630A true CN113392630A (zh) | 2021-09-14 |
Family
ID=77625054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110747767.0A Pending CN113392630A (zh) | 2021-07-01 | 2021-07-01 | 一种基于语义分析的中文句子相似度计算方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113392630A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117395162A (zh) * | 2023-12-12 | 2024-01-12 | 中孚信息股份有限公司 | 利用加密流量识别操作系统的方法、系统、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183714A (zh) * | 2015-08-27 | 2015-12-23 | 北京时代焦点国际教育咨询有限责任公司 | 句子相似度计算方法及装置 |
CN109492213A (zh) * | 2017-09-11 | 2019-03-19 | 阿里巴巴集团控股有限公司 | 句子相似度计算方法和装置 |
CN110990537A (zh) * | 2019-12-11 | 2020-04-10 | 中山大学 | 一种基于边缘信息和语义信息的句子相似度计算方法 |
CN112528661A (zh) * | 2020-12-15 | 2021-03-19 | 北京信息科技大学 | 实体相似度计算方法 |
CN112784010A (zh) * | 2021-01-04 | 2021-05-11 | 中国石油大学(华东) | 一种基于多模型非线性融合的中文句子相似度计算方法 |
-
2021
- 2021-07-01 CN CN202110747767.0A patent/CN113392630A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183714A (zh) * | 2015-08-27 | 2015-12-23 | 北京时代焦点国际教育咨询有限责任公司 | 句子相似度计算方法及装置 |
CN109492213A (zh) * | 2017-09-11 | 2019-03-19 | 阿里巴巴集团控股有限公司 | 句子相似度计算方法和装置 |
CN110990537A (zh) * | 2019-12-11 | 2020-04-10 | 中山大学 | 一种基于边缘信息和语义信息的句子相似度计算方法 |
CN112528661A (zh) * | 2020-12-15 | 2021-03-19 | 北京信息科技大学 | 实体相似度计算方法 |
CN112784010A (zh) * | 2021-01-04 | 2021-05-11 | 中国石油大学(华东) | 一种基于多模型非线性融合的中文句子相似度计算方法 |
Non-Patent Citations (2)
Title |
---|
卢佳伟等: "融合TextRank算法的中文短文本相似度计算", 电子科技, vol. 978, no. 10, pages 3 * |
吴昊等: "基于认知概念信息量的文本语义相似度模型研究", vol. 978, 31 January 2021, 北京理工大学出版社, pages: 25 - 27 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117395162A (zh) * | 2023-12-12 | 2024-01-12 | 中孚信息股份有限公司 | 利用加密流量识别操作系统的方法、系统、设备及介质 |
CN117395162B (zh) * | 2023-12-12 | 2024-02-23 | 中孚信息股份有限公司 | 利用加密流量识别操作系统的方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11410031B2 (en) | Dynamic updating of a word embedding model | |
JP7403605B2 (ja) | マルチターゲット画像テキストマッチングモデルのトレーニング方法、画像テキスト検索方法と装置 | |
US20220318275A1 (en) | Search method, electronic device and storage medium | |
CN109086265B (zh) | 一种语义训练方法、短文本中多语义词消歧方法 | |
US20210191938A1 (en) | Summarized logical forms based on abstract meaning representation and discourse trees | |
CN110134965B (zh) | 用于信息处理的方法、装置、设备和计算机可读存储介质 | |
Nie et al. | Learning user attributes via mobile social multimedia analytics | |
US20220139063A1 (en) | Filtering detected objects from an object recognition index according to extracted features | |
Zhang et al. | Cross-modal image sentiment analysis via deep correlation of textual semantic | |
US11861918B2 (en) | Image analysis for problem resolution | |
CN115017893A (zh) | 校正通过深度学习生成的内容 | |
CN113220999B (zh) | 用户特征的生成方法、装置、电子设备和存储介质 | |
CN113779225B (zh) | 实体链接模型的训练方法、实体链接方法及装置 | |
CN114360711A (zh) | 通过句法-语义对准和话语分析进行的基于多案例的推理 | |
Shen et al. | Clustering-driven deep adversarial hashing for scalable unsupervised cross-modal retrieval | |
Li et al. | Social context-aware person search in videos via multi-modal cues | |
Wang et al. | Improving embedding learning by virtual attribute decoupling for text-based person search | |
CN113378090A (zh) | 一种互联网网站相似度分析方法、装置以及可读存储介质 | |
CN113392630A (zh) | 一种基于语义分析的中文句子相似度计算方法和系统 | |
Kadagadkai et al. | Summarization tool for multimedia data | |
Yoon et al. | Fine‐grained mobile application clustering model using retrofitted document embedding | |
Zhang et al. | Research on hierarchical pedestrian detection based on SVM classifier with improved kernel function | |
Deng et al. | A Saliency Detection and Gram Matrix Transform‐Based Convolutional Neural Network for Image Emotion Classification | |
CN116030375A (zh) | 视频特征提取、模型训练方法、装置、设备及存储介质 | |
Xuan et al. | Deep semantic hashing using pairwise labels |
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 |