一种语句相似度计算方法及装置制造方法及图纸

技术编号:17007365 阅读:41 留言:0更新日期:2018-01-11 03:46
本发明专利技术实施例公开了一种语句相似度计算方法及装置,所述方法包括:获取第一语句和第二语句;对所述第一语句和所述第二语句进行分词处理,得到所述第一语句和所述第二语句分词后的若干个词语;根据所述第一语句中每个词语分别和所述第二语句中的每个词语的相似度,得到第一矩阵;根据所述第一矩阵和预设规则,计算得到所述第一语句和所述第二语句的相似度。所述装置包括:矩阵获取模块和相似度计算模块。本发明专利技术实施例通过对语句进行分词处理,并根据分词后的各词语之间的相似度构建矩阵来计算语句之间的相似度,避免了大量标注语料和人工经验,且准确率较高。

【技术实现步骤摘要】
一种语句相似度计算方法及装置
本专利技术实施例涉及计算机
,具体涉及一种语句相似度计算方法及装置。
技术介绍
随着计算机自动化和智能化的发展,用户对计算机的自动搜索技术提出了较高的要求,尤其在智能机器人领域,对智能机器人的自动搜索结果的要求更高。而用户输入的语句和搜索结果语句的相似度计算是搜索技术的核心问题。基于上述相似度计算的排名决定了搜索引擎的优劣和用户体验的质量。现有技术中的语句相似度计算方法主要是采用基于向量空间模型(VSM,Vectorspacemodel)方法和基于整句语义表示的相似度计算,其中,基于VSM方法的相似度计算需要大量人工经验配置计算公式,而基于整句语义表示的相似度计算的算法需要大量标注语料和人工经验。在实现本专利技术实施例的过程中,专利技术人发现现有的语句相似度计算方法需要大量标注语料和人工经验,且准确率难以掌握。
技术实现思路
由于现有的语句相似度计算方法需要大量标注语料和人工经验,且准确率难以掌握的问题,本专利技术提出一种语句相似度计算方法及装置。第一方面,本专利技术实施例提出一种语句相似度计算方法,包括:获取第一语句和第二语句;对所述第一语句和所述第二语句进行分词处理,得到所述第一语句和所述第二语句分词后的若干个词语;根据所述第一语句中每个词语分别和所述第二语句中的每个词语的相似度,得到第一矩阵;根据所述第一矩阵和预设规则,计算得到所述第一语句和所述第二语句的相似度。优选地,所述根据所述第一语句中每个词语分别和所述第二语句中的每个词语的相似度,得到第一矩阵,进一步包括:根据所述第一语句和所述第二语句中的词语顺序,分别计算所述第一语句中每个词语和所述第二语句中的每个词语的相似度,并根据所述相似度,建立所述第一矩阵。优选地,所述根据所述第一矩阵和预设规则,计算得到所述第一语句和所述第二语句的相似度,进一步包括:建立第二矩阵,根据所述第一矩阵中行和列对应的词语之间的距离,计算得到所述第二矩阵中第一行和第一列中各单元的值;根据所述第二矩阵中第一行和第一列中各单元的值,计算得到所述第二矩阵中第m行第n列的值a[m][n],所述值a[m][n]为所述第一语句和所述第二语句的相似度;其中,所述第二矩阵为m×n的矩阵,所述第一矩阵为(m-1)×(n-1)的矩阵。优选地,所述根据所述第二矩阵中第一行和第一列中各单元的值,计算得到所述第二矩阵中第m行第n列的值a[m][n],进一步包括:选择所述第一矩阵第i行中最小的相似度为Wi和所述第一矩阵第j列中最小的相似度为Wj;计算第一参考值v1=a[i-1][j]+Wi、第二参考值v2=a[i][j-1]+Wi+1和第三参考值v3=a[i-1][j-1]+W[i][j];所述W[i][j]为所述第一矩阵第i行第j列的值;若所述第一矩阵第i+1行和第j+1列对应的词语相同,则所述第二矩阵第i行第j列a[i][j]的值为0,否则所述第二矩阵第i行第j列a[i][j]的值为所述第一参考值、所述第二参考值和所述第三参考值中最小的值;其中,当i=m且j=n时,a[i][j]的值为a[m][n]。优选地,所述根据分词后的各词语之间的相似度得到第一矩阵,进一步包括:根据word2vec或GloVe或plsa或lda算法计算分词后的各词语之间的相似度。第二方面,本专利技术实施例还提出一种语句相似度计算装置,包括:语句获取模块,用于获取第一语句和第二语句;分词处理模块,用于对所述第一语句和所述第二语句进行分词处理,得到所述第一语句和所述第二语句分词后的若干个词语;矩阵获取模块,用于根据所述第一语句中每个词语分别和所述第二语句中的每个词语的相似度,得到第一矩阵;相似度计算模块,用于根据所述第一矩阵和预设规则,计算得到所述第一语句和所述第二语句的相似度。优选地,所述矩阵获取模块进一步用于根据所述第一语句和所述第二语句中的词语顺序,分别计算所述第一语句中每个词语和所述第二语句中的每个词语的相似度,并根据所述相似度,建立所述第一矩阵。优选地,所述相似度计算模块进一步包括:矩阵建立单元,用于建立第二矩阵,根据所述第一矩阵中行和列对应的词语之间的距离,计算得到所述第二矩阵中第一行和第一列中各单元的值;相似度计算单元,用于根据所述第二矩阵中第一行和第一列中各单元的值,计算得到所述第二矩阵中第m行第n列的值a[m][n],所述值a[m][n]为所述第一语句和所述第二语句的相似度;其中,所述第二矩阵为m×n的矩阵,所述第一矩阵为(m-1)×(n-1)的矩阵。优选地,所述相似度计算单元进一步包括:相似度选择子单元,用于选择所述第一矩阵第i行中最小的相似度为Wi和所述第一矩阵第j列中最小的相似度为Wj;参考值计算子单元,用于计算第一参考值v1=a[i-1][j]+Wi、第二参考值v2=a[i][j-1]+Wi+1和第三参考值v3=a[i-1][j-1]+W[i][j];所述W[i][j]为所述第一矩阵第i行第j列的值;相似度计算子单元,用于若所述第一矩阵第i+1行和第j+1列对应的词语相同,则所述第二矩阵第i行第j列a[i][j]的值为0,否则所述第二矩阵第i行第j列a[i][j]的值为所述第一参考值、所述第二参考值和所述第三参考值中最小的值;其中,当i=m且j=n时,a[i][j]的值为a[m][n]。优选地,所述矩阵获取模块进一步用于根据word2vec或GloVe或plsa或lda算法计算分词后的各词语之间的相似度。由上述技术方案可知,本专利技术实施例通过对语句进行分词处理,并根据分词后的各词语之间的相似度构建矩阵来计算语句之间的相似度,避免了大量标注语料和人工经验,且准确率较高。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。图1为本专利技术一实施例提供的一种语句相似度计算方法的流程示意图;图2为本专利技术一实施例提供的一种语句相似度计算装置的结构示意图。具体实施方式下面结合附图,对专利技术的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本专利技术的保护范围。图1示出了本专利技术一实施例提供的一种语句相似度计算方法的方法流程图,包括:第一方面,本专利技术实施例提出一种语句相似度计算方法,包括:S101、获取第一语句和第二语句;其中,所述第一语句和所述第二语句可以通过键盘直接获取,也可以通过语音应用软件接收语音信息后,识别得到第一语言和第二语句。S102、对所述第一语句和所述第二语句进行分词处理,得到所述第一语句和所述第二语句分词后的若干个词语;其中,所分词处理为将语句划分为多个词,例如:根据数据库中存在的词进行分词。通过对第一语句和第二语句进行分词处理,能够使得后续的相似度计算更加准确。S103、根据所述第一语句中每个词语分别和所述第二语句中的每个词语的相似度,得到第一矩阵;具体地,所述根据分词后的各词语之间的相似度得到第一矩阵可以包括:计算分词后第一语句中的每个词语与第二语句中的词语的相似度;根据计算得到的相似度构建第一矩阵。举例来说,第一语句S1为“我今天本文档来自技高网...
一种语句相似度计算方法及装置

【技术保护点】
一种语句相似度计算方法,其特征在于,包括:获取第一语句和第二语句;对所述第一语句和所述第二语句进行分词处理,得到所述第一语句和所述第二语句分词后的若干个词语;根据所述第一语句中每个词语分别和所述第二语句中的每个词语的相似度,得到第一矩阵;根据所述第一矩阵和预设规则,计算得到所述第一语句和所述第二语句的相似度。

【技术特征摘要】
1.一种语句相似度计算方法,其特征在于,包括:获取第一语句和第二语句;对所述第一语句和所述第二语句进行分词处理,得到所述第一语句和所述第二语句分词后的若干个词语;根据所述第一语句中每个词语分别和所述第二语句中的每个词语的相似度,得到第一矩阵;根据所述第一矩阵和预设规则,计算得到所述第一语句和所述第二语句的相似度。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一语句中每个词语分别和所述第二语句中的每个词语的相似度,得到第一矩阵,进一步包括:根据所述第一语句和所述第二语句中的词语顺序,分别计算所述第一语句中每个词语和所述第二语句中的每个词语的相似度,并根据所述相似度,建立所述第一矩阵。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一矩阵和预设规则,计算得到所述第一语句和所述第二语句的相似度,进一步包括:建立第二矩阵,根据所述第一矩阵中行和列对应的词语之间的距离,计算得到所述第二矩阵中第一行和第一列中各单元的值;根据所述第二矩阵中第一行和第一列中各单元的值,计算得到所述第二矩阵中第m行第n列的值a[m][n],所述值a[m][n]为所述第一语句和所述第二语句的相似度;其中,所述第二矩阵为m×n的矩阵,所述第一矩阵为(m-1)×(n-1)的矩阵。4.根据权利要求3所述的方法,其特征在于,所述根据所述第二矩阵中第一行和第一列中各单元的值,计算得到所述第二矩阵中第m行第n列的值a[m][n],进一步包括:选择所述第一矩阵第i行中最小的相似度为Wi和所述第一矩阵第j列中最小的相似度为Wj;计算第一参考值v1=a[i-1][j]+Wi、第二参考值v2=a[i][j-1]+Wi+1和第三参考值v3=a[i-1][j-1]+W[i][j];所述W[i][j]为所述第一矩阵第i行第j列的值;若所述第一矩阵第i+1行和第j+1列对应的词语相同,则所述第二矩阵第i行第j列a[i][j]的值为0,否则所述第二矩阵第i行第j列a[i][j]的值为所述第一参考值、所述第二参考值和所述第三参考值中最小的值;其中,当i=m且j=n时,a[i][j]的值为a[m][n]。5.根据权利要求1-4任一所述的方法,其特征在于,所述根据所述第一语句中每个词语分别和所述第二语句中的每个词语的相似度,得到第一矩阵进一步包括:根据word2vec或GloVe或...

【专利技术属性】
技术研发人员:郭祥郭瑞雷宇
申请(专利权)人:北京智能管家科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1