一种计算字符串间相似度的方法及装置制造方法及图纸

技术编号:15330510 阅读:165 留言:0更新日期:2017-05-16 13:57
本发明专利技术实施例公开了一种计算字符串间相似度的方法及装置。该方法包括:获取至少两个字符串的核心词汇的权重;获取所述至少两个字符串的最大公共序列,并根据所述最大公共序列的长度和词汇确定所述最大公共序列的权重;根据预设常用词汇的权重表获取所述至少两个字符串中的常用词汇的权重;根据所述核心词汇的权重、所述最大公共序列的权重和所述常用词汇的权重获取所述至少两个字符串的相似度。本发明专利技术加入了句子结构的分析,还加入了词汇权重信息,作为字符串相似度计算的调和值,由于分词工具的准确率,分词结果会产生一些误差,句子结构分析也会有一定的误差,经过词频权重调和后,计算结果更加准确。

Method and device for calculating similarity between strings

The embodiment of the invention discloses a method and a device for calculating the similarity between strings. The method includes: the weight of the core vocabulary acquiring at least two string; obtain the at least two string maximum common sequence, and according to the maximum common sequence length and determine the weight of the maximum common vocabulary sequence; according to the preset weight common vocabulary weight table to obtain the vocabulary at least two strings the weight and weight; according to the similarity of the core vocabulary of the largest public sequence and the common vocabulary acquisition of the at least two strings. The present invention joined the analysis of sentence structure, also joined the lexical weight information, harmonic value calculation as string similarity, the accuracy of segmentation tool, segmentation results will have some error, sentence structure analysis will have a certain error, after adjustment and frequency weight, the result is more accurate.

【技术实现步骤摘要】
一种计算字符串间相似度的方法及装置
本专利技术实施例涉及计算机的
,尤其涉及一种计算字符串间相似度的方法及装置。
技术介绍
对于中文字符串相似度的计算方法,一般采用英文的字符串相似度计算方法,就是计算两个字符串中相同字符的个数。采用的方法有:Levenshtein方法即编辑距离计算方法、Jaccard系数计算方法、余弦相似度计算方法、以及Ngram计算方法。编辑距离计算方法,是计算两个字符串之间通过将一个字符替换成另一个字符,插入一个字符,删除一个字符的编辑操作,所需最小的编辑次数,衡量两个字符串的相似度。编辑距离计算方法的缺点是:不同的语法表示形式,对编辑距离的计算影响较大,计算两个字符串相似度误差较大。Jaccard系数计算方法,是首先对两个字符串依据一定的规则拆分为多个子串,计算多个子串的交集与并集的比值,衡量两个字符串的相似度。Jaccard系数计算方法的缺点是:因字符串的切分方法不同,计算字符串的相似度误差较大。余弦相似度计算方法,首先对两个字符串依据一定的规则拆分为多个子串,形成一个子串集合,再依据子串集合将两个句子转化为向量,计算两个向量间的余弦值,衡量两个字符串的相似度。余弦相似度计算方法的缺点是:因字符串的切分方法不同,计算字符串的相似度误差较大。Ngram计算方法,是将两个字符串拆分为N元组,计算两个字符串中相同的N元组,衡量两个字符串的相似度。Ngram计算方法的缺点是:元组的先后顺序会影响相似度的计算,计算字符串相似度误差较大。
技术实现思路
本专利技术实施例的目的在于提出一种计算字符串间相似度的方法及装置,旨在解决如何提高中文字符串相似度计算的准确率。为达此目的,本专利技术实施例采用以下技术方案:第一方面,一种计算字符串间相似度的方法,所述方法包括:获取至少两个字符串的核心词汇的权重;获取所述至少两个字符串的最大公共序列,并根据所述最大公共序列的长度和词汇确定所述最大公共序列的权重;根据预设常用词汇的权重表获取所述至少两个字符串中的常用词汇的权重;根据所述核心词汇的权重、所述最大公共序列的权重和所述常用词汇的权重获取所述至少两个字符串的相似度。优选地,所述获取至少两个字符串的核心词汇的权重,包括:根据分词结果的词性以及词汇间的语义关系,获取至少两个字符串的词汇序列中的核心词汇,所述核心词汇包括主语人名、机构名、名词宾语、动词和地名;根据预设核心词汇权重表获取所述核心词汇的权重。优选地,所述获取所述至少两个字符串的最大公共序列,包括:获取所述至少两个字符串的分词结果序列,去除所述分词结果序列中的标点符号,合并所述分词结果序列中相同的子序列,得到所述至少两个字符串的最大公共序列。优选地,所述根据预设常用词汇的权重表获取所述至少两个字符串中的常用词汇的权重,包括:根据常用词汇TF-IDF权重表获取所述至少两个字符串中的常用词汇的权重。优选地,所述根据所述核心词汇的权重、所述最大公共序列的权重和所述常用词汇的权重获取所述至少两个字符串的相似度,包括:所述至少两个字符串的相似度为其中,所述w1为所述核心词汇权重,所述w2为所述最大公共序列的权重,所述w3为常用词汇的权重,所述L为所述至少两个字符串的最大长度。第二方面,一种计算字符串间相似度的装置,所述装置包括:第一获取模块,用于获取至少两个字符串的核心词汇的权重;第二获取模块,用于获取所述至少两个字符串的最大公共序列,并根据所述最大公共序列的长度和词汇确定所述最大公共序列的权重;第三获取模块,用于根据预设常用词汇的权重表获取所述至少两个字符串中的常用词汇的权重;第四获取模块,用于根据所述核心词汇的权重、所述最大公共序列的权重和所述常用词汇的权重获取所述至少两个字符串的相似度。优选地,所述第一获取模块,具体用于:根据分词结果的词性以及词汇间的语义关系,获取至少两个字符串的词汇序列中的核心词汇,所述核心词汇包括主语人名、机构名、名词宾语、动词和地名;根据预设核心词汇权重表获取所述核心词汇的权重。优选地,所述第二获取模块,具体用于:获取所述至少两个字符串的分词结果序列,去除所述分词结果序列中的标点符号,合并所述分词结果序列中相同的子序列,得到所述至少两个字符串的最大公共序列。优选地,所述第三获取模块,具体用于:根据常用词汇TF-IDF权重表获取所述至少两个字符串中的常用词汇的权重。优选地,所述第四获取模块,具体用于:所述至少两个字符串的相似度为其中,所述w1为所述核心词汇权重,所述w2为所述最大公共序列的权重,所述w3为常用词汇的权重,所述L为所述至少两个字符串的最大长度。本专利技术实施例提供的一种计算字符串间相似度的方法及装置,获取至少两个字符串的核心词汇的权重;获取所述至少两个字符串的最大公共序列,并根据所述最大公共序列的长度和词汇确定所述最大公共序列的权重;根据预设常用词汇的权重表获取所述至少两个字符串中的常用词汇的权重;根据所述核心词汇的权重、所述最大公共序列的权重和所述常用词汇的权重获取所述至少两个字符串的相似度。本专利技术加入了句子结构的分析,可以提高字符串相似度计算的准确度;另外,本专利技术还加入了词汇权重信息,作为字符串相似度计算的调和值,由于分词工具的准确率,分词结果会产生一些误差,句子结构分析也会有一定的误差,经过词频权重调和后,计算结果更加准确。附图说明图1是本专利技术实施例提供的一种计算字符串间相似度的方法的流程示意图;图2是本专利技术实施例提供的一种分词结果的示意图;图3是本专利技术实施例提供的一种计算字符串间相似度的装置的功能模块示意图。具体实施方式下面结合附图和实施例对本专利技术实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术实施例,而非对本专利技术实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术实施例相关的部分而非全部结构。参考图1,图1是本专利技术实施例提供的一种计算字符串间相似度的方法的流程示意图。如图1所示,所述计算字符串间相似度的方法包括:步骤101,获取至少两个字符串的核心词汇的权重;优选地,所述获取至少两个字符串的核心词汇的权重,包括:根据分词结果的词性以及词汇间的语义关系,获取至少两个字符串的词汇序列中的核心词汇,所述核心词汇包括主语人名、机构名、名词宾语、动词和地名;根据预设核心词汇权重表获取所述核心词汇的权重。具体的,输入中文字符串s1,s2依据分词工具实现字符串分词,词性分词以及依存语法分析。得到如图2所示分词结果。分析分词结果中人名、地名、机构名等信息。依据词汇的词性以及不同词性权重信息表对词汇赋值。步骤102,获取所述至少两个字符串的最大公共序列,并根据所述最大公共序列的长度和词汇确定所述最大公共序列的权重;优选地,所述获取所述至少两个字符串的最大公共序列,包括:获取所述至少两个字符串的分词结果序列,去除所述分词结果序列中的标点符号,合并所述分词结果序列中相同的子序列,得到所述至少两个字符串的最大公共序列。具体的,两个中文字符串的最大公共子串越长,说明两个字符串越相似。依据分词结果序列,去除结果中的标点符号,词汇拼接得到最大公共子串。步骤103,根据预设常用词汇的权重表获取所述至少两个字符串中的常用词汇的权重;优选地,所述根据预设常用词汇的权重表获取所述至少两个字本文档来自技高网...
一种计算字符串间相似度的方法及装置

【技术保护点】
一种计算字符串间相似度的方法,其特征在于,所述方法包括:获取至少两个字符串的核心词汇的权重;获取所述至少两个字符串的最大公共序列,并根据所述最大公共序列的长度和词汇确定所述最大公共序列的权重;根据预设常用词汇的权重表获取所述至少两个字符串中的常用词汇的权重;根据所述核心词汇的权重、所述最大公共序列的权重和所述常用词汇的权重获取所述至少两个字符串的相似度。

【技术特征摘要】
1.一种计算字符串间相似度的方法,其特征在于,所述方法包括:获取至少两个字符串的核心词汇的权重;获取所述至少两个字符串的最大公共序列,并根据所述最大公共序列的长度和词汇确定所述最大公共序列的权重;根据预设常用词汇的权重表获取所述至少两个字符串中的常用词汇的权重;根据所述核心词汇的权重、所述最大公共序列的权重和所述常用词汇的权重获取所述至少两个字符串的相似度。2.根据权利要求1所述的方法,其特征在于,所述获取至少两个字符串的核心词汇的权重,包括:根据分词结果的词性以及词汇间的语义关系,获取至少两个字符串的词汇序列中的核心词汇,所述核心词汇包括主语人名、机构名、名词宾语、动词和地名;根据预设核心词汇权重表获取所述核心词汇的权重。3.根据权利要求1所述的方法,其特征在于,所述获取所述至少两个字符串的最大公共序列,包括:获取所述至少两个字符串的分词结果序列,去除所述分词结果序列中的标点符号,合并所述分词结果序列中相同的子序列,得到所述至少两个字符串的最大公共序列。4.根据权利要求1所述的方法,其特征在于,所述根据预设常用词汇的权重表获取所述至少两个字符串中的常用词汇的权重,包括:根据常用词汇TF-IDF权重表获取所述至少两个字符串中的常用词汇的权重。5.根据权利要求1至4任意一项所述的方法,其特征在于,所述根据所述核心词汇的权重、所述最大公共序列的权重和所述常用词汇的权重获取所述至少两个字符串的相似度,包括:所述至少两个字符串的相似度为其中,所述w1为所述核心词汇权重,所述w2为所述最大公共序列的权重,所述w3为常用词汇...

【专利技术属性】
技术研发人员:韦强申刘鹏
申请(专利权)人:北京锐安科技有限公司
类型:发明
国别省市:北京,11

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

1