CN102298632B - 字符串相似度计算方法及装置以及物资分类方法及装置 - Google Patents

字符串相似度计算方法及装置以及物资分类方法及装置 Download PDF

Info

Publication number
CN102298632B
CN102298632B CN201110262493.2A CN201110262493A CN102298632B CN 102298632 B CN102298632 B CN 102298632B CN 201110262493 A CN201110262493 A CN 201110262493A CN 102298632 B CN102298632 B CN 102298632B
Authority
CN
China
Prior art keywords
goods
maxcommon
materials
prefix
suffix
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
Application number
CN201110262493.2A
Other languages
English (en)
Other versions
CN102298632A (zh
Inventor
韩建国
巩军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenhua Group Corp Ltd
Original Assignee
Shenhua Group Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenhua Group Corp Ltd filed Critical Shenhua Group Corp Ltd
Priority to CN201110262493.2A priority Critical patent/CN102298632B/zh
Publication of CN102298632A publication Critical patent/CN102298632A/zh
Application granted granted Critical
Publication of CN102298632B publication Critical patent/CN102298632B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种字符串相似度计算方法及装置以及物资分类方法及装置,该相似度计算方法包括:计算字符串X与字符串di之间的初始相似度;获取字符串X与字符串di之间的最长公共前缀与最长公共后缀;确定所述最长公共前缀的权重以及所述最长公共后缀的权重;以及计算字符串X与字符串di之间的相似度。通过上述技术方案,针对中文物资名称的特点,本发明给出了一种面向物资分类的中文字符串相似度计算方法(即,动态权重法(DynamicWeight)),其可动态地估计出物资名称字符串的前、后缀的权重,使得同一类别的物资名称具有较高的相似度,提高了物资自动分类的准确率。

Description

字符串相似度计算方法及装置以及物资分类方法及装置
技术领域
本发明涉及相似度计算及物资分类领域,具体地,涉及一种基于字符串前、后缀动态权重的字符串相似度计算方法及装置以及物资分类方法及装置。
背景技术
目前比较成熟的文本自动分类技术有神经网络(Neural Net,NNet)、支持向量机(Support Vector Machine,SVM)、简单贝叶斯(Naive Bayes,NB)、k近邻(k nearest neighbor,k-NN)和线性最小二乘法拟合(Linear Least SquaresFit,LLSF)等。将这些方法应用到物资分类中来,都需要解决物资间相似度计算的问题。与传统的文本自动分类的应用环境不同,企业中物资的名称和描述往往比较简短,基于词频的文本相似度计算方法不能满足物资分类的需要,所以需要借助于其它方法来计算物资间的相似度,如字符串的相似度。
关于字符串相似度的计算,英文环境中已经建立了成熟的理论和模型,并且已经被广泛应用。其中,来自统计学、数据库、人工智能领域的学者都从自身的研究领域出发,提出了不同的相似度计算方法。这些方法在对各类名称的匹配试验中,Jaro-Winkler和Monge-Elkan表现最好,更适合人名、地名、机构名称的匹配。后来的学者发现相似字符串匹配和语言有很大相关性,于是根据不同语言的特点,提出了改进的算法:如Piskorski针对波兰语系提出了改进算法;Arehart等针对罗马字符串的相似度进行了研究。对中文字符串相似度的研究也已经有不少成果,并且已经得到许多实际应用。如李红莲等提出了一种适合语音识别的相似度算法;周法国等针对在线问答系统提出了句子的相似度计算方法;章成志提出了一种集成字面、语义及统计关联等多层特征的相似度计算方法。
虽然文本分类和字符串相似度的研究已经有很多成果,但是还没有专门针对中文环境下企业物资分类的研究。企业中物资的名称和描述有其自身的特点,所以需要新的技术来准确度量物资名称和描述的相似度,提高分类的准确率。
发明内容
本发明的目的是提供一种基于字符串前、后缀动态权重的字符串相似度计算方法及装置以及物资分类方法及装置,该方法及装置可使得同一类别的物资名称具有较高的相似度,提高了物资自动分类的准确率。
为了实现上述目的,本发明提供一种字符串相似度计算方法,该方法包括:计算字符串X与字符串di之间的初始相似度Sim,字符串di为属于一集合{C1,C2...Cn}的类别Cj的一字符串,该集合包含多个类别C,n为类别C的个数,每一类别包含多个字符串;获取字符串X与字符串di之间的最长公共前缀PrefixMaxCommon与最长公共后缀SuffixMaxCommon;确定所述最长公共前缀PrefixMaxCommon的权重PW(PrefixMaxCommon,Cj)以及所述最长公共后缀SuffixMaxCommon的权重SW(SuffixMaxCommon,Cj);以及计算字符串X与字符串di之间的相似度SimDynamicWeight(X,di),计算公式如下:SimDynamicWeight(X,di)=Sim+θ*PWMaxCommon*(1-Sim)+(1-θ)*SWMaxommon*(1-Sim),其中θ为大于0且小于1的合并系数。
本发明另提供一种物资分类方法,该方法包括:利用上述相似度计算方法,计算一待分类物资的物资名称X与多个物资类别内每一物资的物资名称di之间的相似度SimDynamicWeight(X,di);取相似度最大的K个物资名称,构成集合KNN;根据相似度最大的K个物资名称所属的类别,对待分类物资的候选类Cj进行评分,评分公式如下: p ( X , C j ) = Σ d i ∈ KNN Sim DynamicWeight ( X , d i ) * y ( d i , C j ) , 其中y(di,Cj)为类别属性函数;以及根据评分结果,确定所述待分类物资所属的类别。
相应地,本发明还提供一种字符串相似度计算装置,该装置包括:初始相似度计算装置(10),用于计算字符串X与字符串di之间的初始相似度Sim,字符串di为属于一集合{C1,C2...Cn}的类别Cj的一字符串,该集合包含多个类别C,n为类别C的个数,每一类别包含多个字符串;公共前后缀获取装置(20),用于获取字符串X与字符串di之间的最长公共前缀PrefixMaxCommon与最长公共后缀SuffixMaxCommon;权重确定装置(30),用于确定所述最长公共前缀PrefixMaxCommon的权重PW(PrefixMaxCommon,Cj)以及所述最长公共后缀SuffixMaxCommon的权重SW(SuffixMaxCommon,Cj)以及相似度计算装置(40),用于计算字符串X与字符串di之间的相似度SimDynamicWeight(X,di),计算公式如下:SimDynamicWeight(X,di)=Sim+θ*PWMaxCommon*(1-Sim)+(1-θ)*SWMaxCommon*(1-Sim),其中θ为大于0且小于1的合并系数。
相应地,本发明还提供一种物资分类装置,该装置包括:上述字符串相似度计算装置(100),用于计算一待分类物资的物资名称X与多个物资类别内每一物资的物资名称di之间的相似度SimDynamicWeight(X,di);相似度最大集合确定装置(200),用于取相似度最大的K个物资名称,构成集合KNN;评分装置(300),用于根据相似度最大的K个物资名称所属的类别,对待分类物资的候选类Cj  进行评分,评分公式如下: p ( X , C j ) = Σ d i ∈ KNN Sim DynamicWeight ( X , d i ) * y ( d i , C j ) , 其中y(di,Cj)为类别属性函数;以及类别确定装置(400),用于根据评分结果,确定所述待分类物资所属的类别。
通过上述技术方案,针对中文物资名称的特点,本发明给出了一种面向物资分类的中文字符串相似度计算方法(即,动态权重法(DynamicWeight)),其可动态地估计出物资名称字符串的前、后缀的权重,使得同一类别的物资名称具有较高的相似度,提高了物资自动分类的准确率。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1为本发明提供的基于字符串前、后缀动态权重的字符串相似度计算方法的流程图;
图2为前、后缀权重估计的流程图;
图3为本发明提供的物资分类的流程图;
图4为分别采用Jaro-Winkler、Monge-Elkan以及本发明的DynamicWeight对9个大类进行分类的准确率比较示意图;
图5为分别采用Jaro-Winkler、Monge-Elkan以及本发明的DynamicWeight对60个大类、660个中类以及3940个小类进行分类的准确率比较示意图;
图6为分别采用Jaro-Winkler、Monge-Elkan以及本发明的DynamicWeight对3940个小类进行分类的召回率比较示意图;
图7为本发明提供的基于字符串前、后缀动态权重的字符串相似度计算装置的框图;以及
图8为物资分类装置的框图。
附图标记说明
10初始相似度计算装置        20公共前后缀获取装置
30权重确定装置              40相似度计算装置
100字符串相似度计算装置     200相似度最大集合确定装置
300评分装置                 400类别确定装置
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
图1为本发明提供的基于字符串前、后缀动态权重的字符串相似度计算方法的流程图。如图1所示,本发明提供了一种字符串相似度计算方法,该方法包括:计算字符串X与字符串di之间的初始相似度Sim,字符串di为属于一集合{C1,C2...Cn}的类别Cj的一字符串,该集合包含多个类别C,n为类别C的个数,每一类别包含多个字符串;获取字符串X与字符串di之间的最长公共前缀PrefixMaxCommon与最长公共后缀SuffixMaxCommon;确定所述最长公共前缀PrefixMaxCommon的权重PW(PrefixMaxCommon,Cj)以及所述最长公共后缀SuffixMaxCommon的权重SW(SuffixMaxCommon,Cj);计算字符串X与字符串di之间的相似度SimDynamicWeight(X,di),计算公式如下:SimDynamicWeight(X,di)=Sim+θ*PWMaxCommon*(1-Sim)+(1-θ)*SWMaxCommon*(1-Sim),其中θ为大于0且小于1的合并系数,该合并系数可设定前、后缀权重对相似度的影响,一般可设定为0.5,即前、后缀权重对相似度的影响相同。
所述初始相似度的计算公式可为:
Sim=1/3(m/|length(X)|+m/|length(di)|+(m-t)/m),
其中,m为字符串X与字符串di相匹配的字符个数,length(X)和length(di)分别表示字符串X与字符串di的字符,t表示字符串X与字符串di相匹配的过程中,字符位置发生变化的次数,即不同顺序的匹配字符的数目的一半即为换位的数目t,举例来说,MARTHA与MARHTA的字符都是匹配的,但是这些匹配的字符中,T和H要换位才能把MARTHA变为MARHTA,那么T和H就是不同的顺序的匹配字符,t=2/2=1。该公式所计算的相似度为Jaro相似度,当然,本发明并不限于此,其他可实现类似相似度计算的公式亦可应用于此。
所述权重PW(PrefixMaxCommon,Cj)和SW(SuffixMaxCommon,Cj)的计算公式可为:
PW ( Prefix MaxCommon , C j ) = Freq ( Cateogy = C j | Prefix = Prefix MaxCommon )
= N ( Cateogy = C j , Prefix = Prefix MaxCommon ) N ( Prefix = Prefix MaxCommon )
PW ( Suffix MaxCommon , C j ) = Freq ( Cateogy = C j | Suffix = Suffix MaxCommon )
= N ( Cateogy = C j , Suffix = Suffix MaxCommon ) N ( Suffix = Suffix MaxCommon )
其中,N(Cateogy=Cj,Prefix=PrefixMaxCommon)表示所述集合{C1,C2...Cn}中前缀为PrefixMaxCommon且属于类别Cj的字符串的个数,N(Cateogy=Cj,Suffix=SuffixMaxCommon)表示所述集合{C1,C2...Cn}中后缀为SuffixMaxCommon且属于类别Cj的字符串的个数,N(Prefix=PrefixMaxCommon)表示所述集合{C1,C2...Cn}中前缀为PrefixMaxCommon的字符串的个数,N(Suffix=SuffixMaxCommon)表示所述集合{C1,C2...Cn}中后缀为SuffixMaxCommon的字符串的个数。
优选地,可对上述权重PW(PrefixMaxCommon,Cj)和SW(SuffixMaxCommon,Cj)进行平滑处理,具体公式如下:
PW(PrefixMaxCommon,Cj)=α*Freq(Cateogy=Cj|Prefix=PrefixMaxCommon)+(1-α)/n
PW(SuffixMaxCommon,Cj)=β*Freq(Cateogy=Cj|Suffix=SuffixMaxCommon)+(1-β)/n
其中,α和β为大于0且小于1的合并系数,该合并系数可分别设定前、后缀在分类中出现的概率对权重的影响,一般可设定为0.9,即设定前、后缀在分类中出现的概率对权重的影响非常大。
图2为前、后缀权重估计的流程图。如图2所示,可对所述集合{C1,C2...Cn}中每一类别的每一字符串(该字符串可包括汉字字符以及西文字符),从前向后依次取子字符串,西文字符作汉字字符处理,子字符串的起始位置为所述字符串的第一个字符,结束位置从第一个位置开始依次递增,直至所述字符串的尾部,该子字符串可记为Prefixi,即为前缀。对所述集合{C1,C2...Cn}中每一类别的每一字符串(该字符串可包括汉字字符以及西文字符),从后向前依次取子字符串,西文字符作汉字字符处理,子字符串的结束位置为所述字符串的尾部,起始位置从所述字符串的尾部开始依次递增,直至所述字符串的头部,该子字符串可记为Suffixi,即为后缀。藉此,可利用上述权重计算公式(可包括平滑处理),对集合{C1,C2...Cn}中每一类别的每一字符串的每一可能的前、后缀进行权重估计(即,计算每一可能的前、后缀于每一类别中出现的概率,之后可进行平滑处理),得到每一可能的前、后缀的权重,从而构建前、后缀权重数据表。从而,在计算字符串X与字符串di之间的最长公共前缀PrefixMaxCommon与最长公共后缀SuffixMaxCommon的权重PW(PrefixMaxCommon,Cj)和SW(SuffixMaxCommon,Cj)时,可直接于该前、后缀权重数据表内获取权重PW(PrefixMaxCommon,Cj)和SW(SuffixMaxCommon,Cj)。
图3为本发明提供的物资分类的流程图。如图3所示,本发明另提供一种采用上述字符串相似度计算方法的物资分类方法,该方法包括:利用上述相似度计算方法,计算一待分类物资的物资名称X与多个物资类别内每一物资的物资名称di之间的相似度SimDynamicWeight(X,di);取相似度最大的K个物资名称,构成集合KNN(K-NearestNeighbour);根据相似度最大的K个物资名称所属的类别,对待分类物资的候选类Cj进行评分,评分公式如下: p ( X , C j ) = Σ d i ∈ KNN Sim DynamicWeight ( X , d i ) * y ( d i , C j ) , 其中y(di,Cj)为类别属性函数;以及根据评分结果,确定所述待分类物资所属的类别。在此物资分类方法中,上述相似度计算方法中所提及的“字符串”即为物资的“物资名称”。
其中,所述y(di,Cj)为类别属性函数,如果di属于类别Cj,则该函数的函数值为1,否则为0。当然,本发明并不限于此,亦可采用其他取值,只要可实现差异化按级评分即可,诸如可于di属于类别Cj,则该函数的函数值为0.9,否则为0。
通过上述评分公式,可得出待分类物资位于相似度最大的K个物资名称所属的类别中每一类别(即,候选类Cj)中的可能性,之后可根据该可能性,确定待分类物资的类别。对于某些待分类物资而言,其可分入多个候选类(即,具有多种类别),从而需设置一阈值,对所述评分结果进行排序,取得分最高的前一个或多个类别(该类别的数量由所述阈值决定)。对于一般情形而言,即阈值为1的情形,取p(X,Cj)最大的Cj作为所述待分类物资所属的类别。
以下通过具体实施例说明本发明的物资分类方法的有益效果。按照技术内容的三个阶段,实施步骤也分为三个阶段。
一、权重估计阶段:
步骤1:在权重估计阶段,先要定义物资的类别。本例子中给出物资分类中常用的七个类别:普通钢材、有色金属及加工材料、建筑五金、非金属材料、轻纺产品、木材及制品和日用电器。
步骤2:然后为每个分类添加一些物资名称,如在“建筑五金”分类中添加的物资名称有:铝合金平开窗、铝合金纱窗、铝合金百叶窗、安全锁具工具包、柔性钢缆电路锁、六孔锁具、便携式共锁盒、钢缆锁具、蝶阀锁具、安全停工装置锁套、开关锁具、锁具挂板等。这些物资及其对应的分类作为训练数据集(即,上述集合{C1,C2...Cn})。
步骤3:对训练数据集的每个物资名称,列出其前缀和后缀。如物资“铝合金纱窗”的前缀集合是{铝,铝合,铝合金,铝合金纱,铝合金纱窗},它的后缀集合是{窗,纱窗,金纱窗,合金纱窗,铝合金纱窗}。
步骤4:统计每个前缀和后缀在每个分类中出现的概率。
步骤5:对统计出的概率进行平滑处理,以后缀“窗”和“板”为例,其在每个分类出现的概率和平滑后得到的权重如表1所示。
表1后缀“窗”和“板”在每个分类出现的概率和权重
二、相似度计算阶段
此阶段以“铝合金推拉窗”作为待分类物资的物资名称,“铝合金平开窗”作为训练集合中的某个物资的物资名称。
步骤1:计算“铝合金推拉窗”和“铝合金平开窗”的Jaro相似度,这两个字符串的长度都是6,匹配的字符个数是4,位置发生变化的次数是0,按照Jaro的计算公式得到的相似度为0.778。
步骤2:比对“铝合金推拉窗”和“铝合金平开窗”,最长的公共前缀是“铝合金”,最长的公共后缀是“窗”。
步骤3:因为“铝合金平开窗”属于建筑五金分类,在训练到的前、后缀权重集中找到相应的权重估计值:PW(铝合金,建筑五金)=0.587,SW(窗,建筑五金)=0.529。
步骤4:计算“铝合金推拉窗”和“铝合金平开窗”的SimDynamicWeight的相似度,其中设定合并系数θ=0.5,得到的相似度为0.902。
三、自动分类阶段
步骤1:输入待分类物资的物资名称“铝合金推拉窗”。
步骤2:按照阶段2中的方法计算“铝合金推拉窗”和训练集中每个物资名称的相似度。
步骤3:找到与“铝合金推拉窗”相似度最大的前k个物资名称。此处,k设定为5,找到的最相似的5个物资名称、相似度和分类如表2。
  物资名称   相似度   所属分类
  1   铝合金推拉窗料   0.973   有色金属及加工材料
  2   铝合金纱窗   0.921   建筑五金
  3   铝合金平开窗   0.902   建筑五金
  4   铝合金百叶窗   0.902   建筑五金
  5   铝合金线   0.823   有色金属及加工材料
表2 训练集合中和“铝合金推拉窗”最相似的5个物资名称
步骤4:根据前5个最相似物资所属分类的情况,计算p(铝合金推拉窗,建筑五金)=2.725,p(铝合金推拉窗,有色金属及加工材料)=1.875。
步骤5:根据计算得到的结果,p(铝合金推拉窗,建筑五金)最大,当输出结果数目为1时,“铝合金推拉窗”被自动分到“建筑五金”这个类别。
本发明的分类效果如图4、图5和图6所示,为了例证本发明中提出的基于动态权重的字符串相似度对于物资分类的有效性,还用同时用Jaro-Winkler和Monge-Elkan两种相似度计算方法进行对比。物资分类的评价从准确度和全面度两方面考虑,主要指标是准确率和召回率。准确率的计算公式为:准确率(Precision)=输出结果中分类正确的数目/输出结果中类别的数目;召回率的计算公式是:召回率(Recall)=输出结果中分类正确的数目/应被分入的类别的数目。准确率主要关注输出结果中有多少是正确的;召回率主要关注正确的分类结果有多少被覆盖到了。
图4为分别采用Jaro-Winkler、Monge-Elkan以及本发明的DynamicWeight对9个大类进行分类的准确率比较示意图。从图4中可以看出,三种字符串相似度方法都有效对中文物资名称自动分类,且基于动态权重的Dynamic-Weight方法得到的分类准确率在各个类别都优于Jaro-Winkler和Monge-Elkan方法。
图5为分别采用Jaro-Winkler、Monge-Elkan以及本发明的DynamicWeight对60个大类、660个中类以及3940个小类进行分类的准确率比较示意图。从图5中可以看,随着分类的粒度越来越细,各种方法的分类准确率都明显下降。但基于动态权重的Dynamic-Weight方法在三个分类级别的准确率都是最高的
图6为分别采用Jaro-Winkler、Monge-Elkan以及本发明的DynamicWeight对3940个小类进行分类的召回率比较示意图。从图6中可以看出,随着输出结果数目(即,所述阈值)的增加,自动分类的召回率(Recall)有了明显的提高,并且在三种方法中,基于动态权重的Dynamic-Weight方法始终在三条曲线的上方,表明了这种方法是稳定的。
本发明的优点在于根据中文物资分类的实际特点,设计了面向中文物资名称的字符串相似度计算方法。这种方法通过训练估计出物资名称前、后缀在每个物资分类中的权重,在比较物资名称的时候,增加了同一种类物资的相似度,从而提高了物资自动分类的准确率。
图7为本发明提供的基于字符串前、后缀动态权重的字符串相似度计算装置的框图。相应地,如图7所示,本发明还提供一种字符串相似度计算装置,该装置包括:初始相似度计算装置10,用于计算字符串X与字符串di之间的初始相似度Sim,字符串di为属于一集合{C1,C2...Cn}的类别Cj的一字符串,该集合包含多个类别C,n为类别C的个数,每一类别包含多个字符串;公共前后缀获取装置20,用于获取字符串X与字符串di之间的最长公共前缀PrefixMaxCommon与最长公共后缀SuffixMaxCommon;权重确定装置30,用于确定所述最长公共前缀PrefixMaxCommon的权重PW(PrefixMaxCommon,Cj)以及所述最长公共后缀SuffixMaxCommon的权重SW(SuffixMaxCommon,Cj)以及相似度计算装置40,用于计算字符串X与字符串di之间的相似度SimDynamicWeight(X,di),计算公式如下:SimDynamicWeight(X,di)=Sim+θ*PWMaxCommon*(1-Sim)+(1-θ)*SWMaxCommon*(1-Sim),其中θ为大于0且小于1的合并系数。
其中,所述初始相似度的计算公式可为:
Sim=1/3(m/|length(X)|+m/|length(di)|+(m-t)/m,其中m为字符串X与字符串di相匹配的字符个数,length(X)和length(di)分别表示字符串X与字符串di的字符,t表示字符串X与字符串di相匹配的过程中,字符位置发生变化的次数。
其中,所述权重PW(PrefixMaxCommon,Cj)和SW(SuffixMaxCommon,Cj)的计算公式可为:
PW(PrefixMaxCommon,Cj)=Freq(Cateogy=Cj|Prefix=PrefixMaxCommon)
PW(SuffixMaxCommon,Cj)=Freq(Cateogy=Cj|Suffix=SuffixMaxCommon)
其中,Freq(Cateogy=Cj|Prefix=PrefixMaxCommon)表示前缀为PrefixMaxCommon的字符串于类别Cj内出现的概率,Freq(Cateogy=Cj|Suffix=SuffixMaxCommon)表示后缀为SuffixMaxCommon的字符串于类别Cj内出现的概率。
其中,所述权重PW(PrefixMaxCommon,Cj)和SW(SuffixMaxCommon,Cj)的计算公式可为:
PW(PrefixMaxCommon,Cj)=α*Freq(Cateogy=Cj|Prefix=PrefixMaxCommon)+(1-α)/n
PW(SuffixMaxCommon,Cj)=β*Freq(Cateogy=Cj|Suffix=SuffixMaxCommon)+(1-β)/n
其中,α和β为大于0且小于1的合并系数。
有关该基于字符串前、后缀动态权重的字符串相似度计算装置的具体细节及有益效果与上述针对基于字符串前、后缀动态权重的字符串相似度计算方法的描述相同,于此不再赘述。
图8为物资分类装置的框图。相应地,如图8所述,本发明还提供一种物资分类装置,该装置包括:上述字符串相似度计算装置100,用于计算一待分类物资的物资名称X与多个物资类别内每一物资的物资名称di之间的相似度SimDynamicWeight(X,di);相似度最大集合确定装置200,用于取相似度最大的K个物资名称,构成集合KNN;评分装置300,用于根据相似度最大的K个物资名称所属的类别,对待分类物资的候选类Cj进行评分,评分公式如下: p ( X , C j ) = Σ d i ∈ KNN Sim DynamicWeight ( X , d i ) * y ( d i , C j ) , 其中y(di,Cj)为类别属性函数;以及类别确定装置400,用于根据评分结果,确定所述待分类物资所属的类别。
其中,所述类别确定装置400可取p(X,Cj)最大的Cj作为所述待分类物资所属的类别。
有关该物资分类装置的具体细节及有益效果与上述针对物资分类方法的描述相同,于此不再赘述。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。

Claims (10)

1.一种物资分类方法,该方法包括:
计算一待分类物资的物资名称X与多个物资类别内每一物资的物资名称di之间的相似度SimDynamicWeight(X,di);
取相似度最大的K个物资名称,构成集合KNN;
根据相似度最大的K个物资名称所属的类别,对待分类物资的候选类Cj进行评分,评分公式如下: p ( X , C j ) = Σ d i ∈ KNN Sim DynamicWeight ( X , d i ) * y ( d i , C j ) , 其中y(di,Cj)为类别属性函数;以及
根据评分结果,确定所述待分类物资所属的类别,
其中计算所述相似度包括:
计算物资名称X与多个物资类别内每一物资的物资名称di之间的初始相似度Sim,物资名称di为属于一集合{C1,C2...Cn}的类别Cj的一物资名称,该集合包含多个类别C,n为类别C的个数,每一类别包含多个物资名称;
获物资名称X与物资名称di之间的最长公共前缀PrefixMaxCommon与最长公共后缀SuffixMaxCommon
确定所述最长公共前缀PrefixMaxCommon的权重PW(PrefixMaxCommon,Cj)以及所述最长公共后缀SuffixMaxCommon的权重SW(SuffixMaxCommon,Cj);以及
计算物资名称X与物资名称di之间的相似度SimDynamicWeight(X,di),计算公式如下:SimDnamicWeight(X,di)=Sim+θ*PWMaxCommon*(1-Sim)+(1-θ)*SWMaxCommon*(1-Sim),其中θ为大于0且小于1的合并系数。
2.根据权利要求1所述的方法,其特征在于,所述初始相似度Sim的计算公式如下:
Sim=1/3(m/|length(X)|+m/|length(di)|+(m-t)/m),其中m为物资名称X与物资名称di相匹配的字符个数,length(X)和length(di)分别表示物资名称X与物资名称di的字符,t表示物资名称X与物资名称di相匹配的过程中,字符位置发生变化的次数。
3.根据权利要求1所述的方法,其特征在于,所述权重PW(PrefixMaxCommon,Cj)和SW(SuffixMaxCommon,Cj)的计算公式如下:
PW(PrefixMaxCommon,Cj)=Freq(Cateogy=Cj|Prefix=PrefixMaxCommon)
PW(SuffixMaxCommon,Cj)=Freq(Cateogy=Cj|Suffix=SuffixMaxCommon)
其中,Freq(Cateogy=Cj|Prefix=PrefixMaxCommon)表示前缀为PrefixMaxCommon的物资名称于类别Cj内出现的概率,Freq(Cateogy=Cj|Suffix=SuffixMaxCommon)表示后缀为SuffixMaxCommon的物资名称于类别Cj内出现的概率。
4.根据权利要求1所述的方法,其特征在于,所述权重PW(PrefixMaxCommon,Cj)和SW(SuffixMaxCommon,Cj)的计算公式如下:
PW(PrefixMaxCommon,Cj)=α*Freq(Cateogy=Cj|Prefix=PrefixMaxCommon)+(1-α)/n
PW(SuffixMaxCommon,Cj)=β*Freq(Cateogy=Cj|Suffix=SuffixMaxCommon)+(1-β)/n
其中,α和β为大于0且小于1的合并系数。
5.根据权利要求1所述的方法,其特征在于,所述确定所述待分类物资所属的类别包括:取p(X,Cj)最大的Cj作为所述待分类物资所属的类别。
6.一种物资分类装置,该装置包括:
字符串相似度计算装置(100),用于计算一待分类物资的物资名称X与多个物资类别内每一物资的物资名称di之间的相似度SimDynamicWeight(X,di);
相似度最大集合确定装置(200),用于取相似度最大的K个物资名称,构成集合KNN;
评分装置(300),用于根据相似度最大的K个物资名称所属的类别,对待分类物资的候选类Cj进行评分,评分公式如下: p ( X , C j ) = Σ d i ∈ KNN Sim DynamicWeight ( X , d i ) * y ( d i , C j ) , 其中y(di,Cj)为类别属性函数;以及
类别确定装置(400),用于根据评分结果,确定所述待分类物资所属的类别,
其中所述字符串相似度计算装置(100)包括:
初始相似度计算装置(10),用于计算物资名称X与物资名称di之间的初始相似度Sim,物资名称di为属于一集合{C1,C2...Cn}的类别Cj的一物资名称,该集合包含多个类别C,n为类别C的个数,每一类别包含多个物资名称;
公共前后缀获取装置(20),用于获取物资名称X与物资名称di之间的最长公共前缀PrefixMaxCommon与最长公共后缀SuffixMaxCommon
权重确定装置(30),用于确定所述最长公共前缀PrefixMaxCommon的权重PW(PrefixMaxCommon,Cj)以及所述最长公共后缀SuffixMaxCommon的权重SW(SuffixMaxCommon,Cj);以及
相似度计算装置(40),用于计算物资名称X与物资名称di之间的相似度SimDynamicWeight(X,di),计算公式如下:SimDynamicWeight(X,di)=Sim+θ*PWMaxCommon*(1-Sim)+(1-θ)*SWMaxCommon*(1-Sim),其中θ为大于0且小于1的合并系数。
7.根据权利要求6所述的物资分类装置,其特征在于,所述初始相似度Sim的计算公式如下:
Sim=1/3(m/|length(X)|+m/|length(di)|+(m-t)/m),其中m为物资名称X与物资名称di相匹配的字符个数,length(X)和length(di)分别表示物资名称X与物资名称di的字符,t表示物资名称X与物资名称di相匹配的过程中,字符位置发生变化的次数。
8.根据权利要求6所述的物资分类装置,其特征在于,所述权重PW(PrefixMaxCommon,Cj)和SW(SuffixMaxCommon,Cj)的计算公式如下:
PW(PrefixMaxCommon,Cj)=Freq(Cateogy=Cj|Prefix=PrefixMaxCommon)
PW(SuffixMaxCommon,Cj)=Freq(Cateogy=Cj|Suffix=SuffixMaxCommon)
其中,Freq(Cateogy=Cj|Prefix=PrefixMaxCommon)表示前缀为PrefixMaxCommon的物资名称于类别Cj内出现的概率,Freq(Cateogy=Cj|Suffix=SuffixMaxCommon)表示后缀为SuffixMaxCommon的物资名称于类别Cj内出现的概率。
9.根据权利要求6所述的物资分类装置,其特征在于,所述权重PW(PrefixMaxCommon,Cj)和SW(SuffixMaxCommon,Cj)的计算公式如下:
PW(PrefixMaxCommon,Cj)=α*Freq(Cateogy=Cj|Prefix=PrefixMaxCommon)+(1-α)/n
PW(SuffixMaxCommon,Cj)=β*Freq(Cateogy=Cj|Suffix=SuffixMaxCommon)+(1-β)/n
其中,α和β为大于0且小于1的合并系数。
10.根据权利要求6所述的物资分类装置,其特征在于,所述类别确定装置(400)取p(X,Cj)最大的Cj作为所述待分类物资所属的类别。
CN201110262493.2A 2011-09-06 2011-09-06 字符串相似度计算方法及装置以及物资分类方法及装置 Active CN102298632B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110262493.2A CN102298632B (zh) 2011-09-06 2011-09-06 字符串相似度计算方法及装置以及物资分类方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110262493.2A CN102298632B (zh) 2011-09-06 2011-09-06 字符串相似度计算方法及装置以及物资分类方法及装置

Publications (2)

Publication Number Publication Date
CN102298632A CN102298632A (zh) 2011-12-28
CN102298632B true CN102298632B (zh) 2014-10-29

Family

ID=45359046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110262493.2A Active CN102298632B (zh) 2011-09-06 2011-09-06 字符串相似度计算方法及装置以及物资分类方法及装置

Country Status (1)

Country Link
CN (1) CN102298632B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346394A (zh) * 2013-08-02 2015-02-11 中国人民大学 一种基于海量文本数据的相似度衡量方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815197B (zh) * 2015-11-27 2020-07-31 北京国双科技有限公司 文本相似度的确定方法和装置
CN106919663A (zh) * 2017-02-14 2017-07-04 华北电力大学 电力调控系统多源异构数据融合中的字符串匹配方法
CN107357779B (zh) * 2017-06-27 2018-10-02 北京神州泰岳软件股份有限公司 一种获取机构名称的方法及装置
CN109284422B (zh) * 2018-08-31 2019-12-27 成都信息工程大学 一种通用字符串相似性度量框架的构建方法
CN109299112B (zh) * 2018-11-15 2020-01-17 北京百度网讯科技有限公司 用于处理数据的方法和装置
CN110827931A (zh) * 2020-01-13 2020-02-21 四川大学华西医院 一种临床术语的管理方法及装置、可读存储介质
CN112100381B (zh) * 2020-09-22 2022-05-17 福建天晴在线互动科技有限公司 一种文本相似度进行量化的方法及其系统
CN114548883A (zh) * 2022-04-25 2022-05-27 创思(广州)电子科技有限公司 根据批发订单进行自主核对的蔬菜批发的数量核对系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6137911A (en) * 1997-06-16 2000-10-24 The Dialog Corporation Plc Test classification system and method
CN101976270A (zh) * 2010-11-29 2011-02-16 南京师范大学 基于不确定推理的文本层次分类方法与装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6137911A (en) * 1997-06-16 2000-10-24 The Dialog Corporation Plc Test classification system and method
CN101976270A (zh) * 2010-11-29 2011-02-16 南京师范大学 基于不确定推理的文本层次分类方法与装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346394A (zh) * 2013-08-02 2015-02-11 中国人民大学 一种基于海量文本数据的相似度衡量方法
CN104346394B (zh) * 2013-08-02 2018-12-21 中国人民大学 一种基于海量文本数据的相似度衡量方法

Also Published As

Publication number Publication date
CN102298632A (zh) 2011-12-28

Similar Documents

Publication Publication Date Title
CN102298632B (zh) 字符串相似度计算方法及装置以及物资分类方法及装置
CN105243152B (zh) 一种基于图模型的自动文摘方法
CN104391942B (zh) 基于语义图谱的短文本特征扩展方法
CN105488024B (zh) 网页主题句的抽取方法及装置
CN103514255B (zh) 一种基于项目层次类别的协同过滤推荐方法
CN107122352A (zh) 一种基于k‑means、word2vec的抽取关键词的方法
CN107608999A (zh) 一种适用于自动问答系统的问句分类方法
CN106124175A (zh) 一种基于贝叶斯网络的压缩机气阀故障诊断方法
CN103744956B (zh) 一种关键词的多样化拓展方法
CN103617157A (zh) 基于语义的文本相似度计算方法
CN104239512B (zh) 一种文本推荐方法
CN104063502B (zh) 一种基于语义模型的wsdl半结构化文档相似性分析及分类方法
CN105975596A (zh) 一种搜索引擎查询扩展的方法及系统
CN108595655A (zh) 一种基于会话特征相似性模糊聚类的异常用户检测方法
CN104750844A (zh) 基于tf-igm的文本特征向量生成方法和装置及文本分类方法和装置
CN104020845B (zh) 基于shapelet特征的加速度传感器放置无关化运动识别方法
CN104636325B (zh) 一种基于极大似然估计确定文档相似度的方法
CN105868178A (zh) 一种基于短语主题建模的多文档自动摘要生成方法
CN107066555A (zh) 面向专业领域的在线主题检测方法
KR101091834B1 (ko) 문제 선택 및 성취도 평가 방법 및 장치
KR20180072167A (ko) 유사특허 추출 시스템 및 그 방법
CN110008323A (zh) 一种半监督学习结合集成学习的问题等价性判别的方法
CN108052625A (zh) 一种实体精细分类方法
CN106055539A (zh) 姓名消歧的方法和装置
CN103823880A (zh) 一种基于属性加权计算检测机构相似度的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant