一种属性值的检测方法和检测装置转让专利

申请号 : CN201310690347.9

文献号 : CN104714969B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈明修冯景华董凡陈超

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本申请提供了一种属性值的检测方法及装置;方法包括:从保存产品信息的网站服务器获取所述产品信息中各属性的各属性值,并识别各属性值的字符类型;对各属性分别统计:该属性中属性值的总数,以及该属性中各字符类型的属性值的数量;根据统计结果计算出该属性中各字符类型的属性值所占的比例;分别根据各属性中各字符类型的属性值所占的比例,识别该属性的类型;根据识别出的类型,以及预先存储的各类型对应的检测策略,分别判断各类型属性中的各属性值是否合法。本申请能够高效、可靠地检测各属性的属性值是否合法,且具备较好的可扩展性。

权利要求 :

1.一种属性值的检测方法,包括:

从保存产品信息的网站服务器获取所述产品信息中各属性的各属性值,并识别各属性值的字符类型;

对各属性分别统计:该属性中属性值的总数,以及该属性中各字符类型的属性值的数量;根据统计结果计算出该属性中各字符类型的属性值所占的比例;

分别根据各属性中各字符类型的属性值所占的比例,识别该属性的类型;

根据识别出的类型,以及预先存储的各类型对应的检测策略,分别判断各类型属性中的各属性值是否合法。

2.如权利要求1所述的方法,其特征在于,所述属性值的字符类型包括以下一种或多种:纯中文、纯英文、整数、小数、英文数字混合、中文英文数字混合。

3.如权利要求2所述的方法,其特征在于,所述属性的类型包括:数值类型、型号类型及中文类型;

所述分别根据各属性中各字符类型的属性值所占的比例,识别该属性的类型的步骤包括:分别对各类目的各属性,当该属性中字符类型为纯英文的属性值的比例,加上字符类型为英文数字混合的属性值的比例大于第一预定阈值时,将该属性的类型识别为型号类型;当该属性中字符类型为整数的属性值的比例加上字符类型为小数的属性值的比例大于第二预定阈值时,将该属性的类型识别为数值类型;将其余的属性识别为中文类型。

4.如权利要求3所述的方法,其特征在于:

所述第一预定阈值为50%,所述第二预定阈值为50%。

5.如权利要求3所述的方法,其特征在于,所述根据识别出的类型,以及预先存储的该类型所对应的检测策略,判断该类型的属性中的各属性值是否合法的步骤包括:对于数值类型的各属性,分别判断该属性中的各属性值是否包含数字或表示数字的中文,如果不包含则判断该属性值为非法;如果包含,则判断该属性值中除了数字或表示数字的中文之外的字符是否为单位,如果不是则判断该属性值为非法;

对于型号类型的各属性,分别判断该属性中的各属性值是否仅包括数字、英文和预定符号,如果不是则判断该属性值为非法;如果是则判断所述预定符号在该属性值所有字符中所占的比例是否小于或等于第三预定阈值,如果不是则判断该属性值为非法;

对于中文类型的各属性,分别计算该属性中各属性值的信息熵,将信息熵不位于预定范围的属性值判断为非法;对于信息熵位于所述预定范围的各属性值,如果不是该属性的合法属性值,且该属性值分词后得到的组成部分不包含该属性的合法组成部分,且存在词性不属于该属性的合法词性的组成部分,则判断该属性值为非法;所述属性的合法属性值是指该属性中的出现概率大于第四预定阈值的属性值;所述属性的合法组成部分是指该属性中的各属性值进行分词所得到的各组成部分中出现概率大于第五预定阈值的组成部分;

所述属性的合法词性是指该属性的属性值进行分词所得到的各所述组成部分的词性中出现次数最多的词性。

6.如权利要求1~5中任一项所述的方法,其特征在于,还包括:将匹配预定非法特征的属性值识别为非法属性值;

所述预定非法特征包括以下情况之一或其任意组合:

属性值的长度超过该属性中其他属性值的平均长度的预定倍数;

同一个属性值在本属性或其他属性中重复出现的次数超过预定阈值;

属性值为空;

属性值中的字符全部或部分为不属于预定符号集合的符号。

7.一种属性值的检测装置,其特征在于,包括:

字符类型识别模块,用于从保存产品信息的网站服务器获取所述产品信息中各属性的各属性值,并识别各属性值的字符类型;

统计模块,用于对各属性分别统计:该属性中属性值的总数,以及该属性中各字符类型的属性值的数量;根据统计结果计算出该属性中各字符类型的属性值所占的比例;

属性类型识别模块,用于分别根据各属性中各字符类型的属性值所占的比例,识别该属性的类型;

判断模块,用于根据识别出的类型,以及预先存储的各类型对应的检测策略,分别判断各类型属性中的各属性值是否合法。

8.如权利要求7所述的装置,其特征在于,所述属性值的字符类型包括以下一种或多种:纯中文、纯英文、整数、小数、英文数字混合、中文英文数字混合。

9.如权利要求8所述的装置,其特征在于,所述属性的类型包括:数值类型、型号类型及中文类型;

所述属性类型识别模块分别根据各属性中各字符类型的属性值所占的比例,识别该属性的类型是指:所述属性类型识别模块分别对各类目的各属性,当该属性中字符类型为纯英文的属性值的比例,加上字符类型为英文数字混合的属性值的比例大于第一预定阈值时,将该属性的类型识别为型号类型;当该属性中字符类型为整数的属性值的比例加上字符类型为小数的属性值的比例大于第二预定阈值时,将该属性的类型识别为数值类型;将其余的属性识别为中文类型。

10.如权利要求9所述的装置,其特征在于:

所述第一预定阈值为50%,所述第二预定阈值为50%。

11.如权利要求9所述的装置,其特征在于,所述判断模块包括:数值类型属性处理子模块,用于对于数值类型的各属性,分别判断该属性中的各属性值是否包含数字或表示数字的中文,如果不包含则判断该属性值为非法;如果包含,则判断该属性值中除了数字或表示数字的中文之外的字符是否为单位,如果不是则判断该属性值为非法;

型号类型属性处理子模块,用于对于型号类型的各属性,分别判断该属性中的各属性值是否仅包括数字、英文和预定符号,如果不是则判断该属性值为非法;如果是则判断所述预定符号在该属性值所有字符中所占的比例是否小于或等于第三预定阈值,如果不是则判断该属性值为非法;

中文类型属性处理子模块,用于对于中文类型的各属性,分别计算该属性中各属性值的信息熵,将信息熵不位于预定范围的属性值判断为非法;对于信息熵位于所述预定范围的各属性值,如果不是该属性的合法属性值,且该属性值分词后得到的组成部分不包含该属性的合法组成部分,且存在词性不属于该属性的合法词性的组成部分,则判断该属性值为非法;所述属性的合法属性值是指该属性中的出现概率大于第四预定阈值的属性值;所述属性的合法组成部分是指该属性中的各属性值进行分词所得到的各组成部分中出现概率大于第五预定阈值的组成部分;所述属性的合法词性是指该属性的属性值进行分词所得到的各所述组成部分的词性中出现次数最多的词性;

分配子模块,用于分别将各属性中的属性值根据该属性的类型相应分配给所述数值类型属性处理子模块、型号类型属性处理子模块、中文类型属性处理子模块中的一个。

12.如权利要求7~11中任一项所述的装置,其特征在于,还包括:非法属性值识别模块,用于将匹配预定非法特征的属性值识别为非法属性值;所述预定非法特征包括以下情况之一或其任意组合:属性值的长度超过该属性中其他属性值的平均长度的预定倍数;

同一个属性值在本属性或其他属性中重复出现的次数超过预定阈值;

属性值为空;

属性值中的字符全部或部分为不属于预定符号集合的符号。

说明书 :

一种属性值的检测方法和检测装置

技术领域

[0001] 本申请涉及数据处理领域,尤其涉及一种属性值的检测方法和检测装置。

背景技术

[0002] 电子商务网站上卖家进行Offer(产品信息)发布的时候,少部分卖家会在Key(属性)下填写更多的与该属性无关的Value(属性值)信息或不符合该属性类型的Value信息,试图操纵Offer在搜索结果中的排名。所述属性是描述产品信息的特征的维度,例如:颜色、尺寸、裙长等,属性值则是产品信息在相应维度中体现的具体内容,例如属性为“颜色”,则属性值可以包括:红色、蓝色、绿色等。
[0003] 当与属性无关的Value信息或不符合属性类型的Value信息较多时,可能会导致搜索结果不够准确,进而影响搜索的效率和可靠性,如果这些信息在买家的搜索过程中曝光,还会对用户体验产生负面影响。
[0004] 现有的解决方案是对每个类目的所有属性通过对运营人员配置的合法Value进行收集得到合法Value集合,并根据Value的类型定义属性的类型,对于Value不符合属性的类型又不在合法Value集合里的情况视作属性滥用作弊。
[0005] 现有解决方案的缺点是:一般电子商务网站上的商品类目体系巨大,而且每个类目下的属性数量较多,由于不同的属性可能具有不同的类型以及Value特征,每当新增加一个类目时需要重新判断属性类型与合法Value,现有方法不具有可扩展性,所以目前的方法只能对于少数几个类目下的属性进行规则的添加,要完成整个网站的所有属性的规则制定几乎不可能。另外由于目前基于运营人员配置的合法属性值样本不够齐全,容易导致对属性类型的判断失误。

发明内容

[0006] 本申请要解决的技术问题是如何高效、可靠地检测各属性的属性值是否合法,且具备较好的可扩展性。
[0007] 为了解决上述问题,本申请提供了一种属性值的检测方法,包括:
[0008] 从保存产品信息的网站服务器获取所述产品信息中各属性的各属性值,并识别各属性值的字符类型;
[0009] 对各属性分别统计:该属性中属性值的总数,以及该属性中各字符类型的属性值的数量;根据统计结果计算出该属性中各字符类型的属性值所占的比例;
[0010] 分别根据各属性中各字符类型的属性值所占的比例,识别该属性的类型;
[0011] 根据识别出的类型,以及预先存储的各类型对应的检测策略,分别判断各类型属性中的各属性值是否合法。
[0012] 可选地,所述属性值的字符类型包括:
[0013] 纯中文、纯英文、整数、小数、英文数字混合、中文英文数字混合、以及其它类型。
[0014] 可选地,所述属性的类型包括:
[0015] 数值类型、型号类型及中文类型;
[0016] 所述分别根据各属性中各字符类型的属性值所占的比例,识别该属性的类型的步骤包括:
[0017] 分别对各类目的各属性,当该属性中字符类型为纯英文的属性值的比例,加上字符类型为英文数字混合的属性值的比例大于第一预定阈值时,将该属性的类型识别为型号类型;当该属性中字符类型为整数的属性值的比例加上字符类型为小数的属性值的比例大于第二预定阈值时,将该属性的类型识别为数值类型;将其余的属性识别为中文类型。
[0018] 可选地,所述第一预定阈值为50%,所述第二预定阈值为50%。
[0019] 可选地,所述根据识别出的类型,以及预先存储的该类型所对应的检测策略,判断该类型的属性中的各属性值是否合法的步骤包括:
[0020] 对于数值类型的各属性,分别判断该属性中的各属性值是否包含数字或表示数字的中文,如果不包含则判断该属性值为非法;如果包含,则判断该属性值中除了数字或表示数字的中文之外的字符是否为单位,如果不是则判断该属性值为非法;
[0021] 对于型号类型的各属性,分别判断该属性中的各属性值是否仅包括数字、英文和预定符号,如果不是则判断该属性值为非法;如果是则判断所述预定符号在该属性值所有字符中所占的比例是否小于或等于第三预定阈值,如果不是则判断该属性值为非法;
[0022] 对于中文类型的各属性,分别计算该属性中各属性值的信息熵,将信息熵不位于预定范围的属性值判断为非法;对于信息熵位于所述预定范围的各属性值,如果不是该属性的合法属性值,且该属性值分词后得到的组成部分不包含该属性的合法组成部分,且存在词性不属于该属性的合法词性的组成部分,则判断该属性值为非法;所述属性的合法属性值是指该属性中的出现概率大于第四预定阈值的属性值;所述属性的合法组成部分是指该属性中的各属性值进行分词所得到的各组成部分中出现概率大于第五预定阈值的组成部分;所述属性的合法词性是指该属性的属性值进行分词所得到的各所述组成部分的词性中出现次数最多的词性。
[0023] 可选地,所述的方法还包括:
[0024] 将匹配预定非法特征的属性值识别为非法属性值;
[0025] 所述预定非法特征包括以下情况之一或其任意组合:
[0026] 属性值的长度超过该属性中其他属性值的平均长度的预定倍数;
[0027] 同一个属性值在本属性或其他属性中重复出现的次数超过预定阈值;
[0028] 属性值为空;
[0029] 属性值中的字符全部或部分为不属于预定符号集合的符号。
[0030] 本申请还提供了一种属性值的检测装置,包括:
[0031] 字符类型识别模块,用于从保存产品信息的网站服务器获取所述产品信息中各属性的各属性值,并识别各属性值的字符类型;
[0032] 统计模块,用于对各属性分别统计:该属性中属性值的总数,以及该属性中各字符类型的属性值的数量;根据统计结果计算出该属性中各字符类型的属性值所占的比例;
[0033] 属性类型识别模块,用于分别根据各属性中各字符类型的属性值所占的比例,识别该属性的类型;
[0034] 判断模块,用于根据识别出的类型,以及预先存储的各类型对应的检测策略,分别判断各类型属性中的各属性值是否合法。
[0035] 可选地,所述属性值的字符类型包括:
[0036] 纯中文、纯英文、整数、小数、英文数字混合、中文英文数字混合、以及其它类型。
[0037] 可选地,所述属性的类型包括:
[0038] 数值类型、型号类型及中文类型;
[0039] 所述属性类型识别模块分别根据各属性中各字符类型的属性值所占的比例,识别该属性的类型是指:
[0040] 所述属性类型识别模块分别对各类目的各属性,当该属性中字符类型为纯英文的属性值的比例,加上字符类型为英文数字混合的属性值的比例大于第一预定阈值时,将该属性的类型识别为型号类型;当该属性中字符类型为整数的属性值的比例加上字符类型为小数的属性值的比例大于第二预定阈值时,将该属性的类型识别为数值类型;将其余的属性识别为中文类型。
[0041] 可选地,所述第一预定阈值为50%,所述第二预定阈值为50%。
[0042] 可选地,所述判断模块包括:
[0043] 数值类型属性处理子模块,用于对于数值类型的各属性,分别判断该属性中的各属性值是否包含数字或表示数字的中文,如果不包含则判断该属性值为非法;如果包含,则判断该属性值中除了数字或表示数字的中文之外的字符是否为单位,如果不是则判断该属性值为非法;
[0044] 型号类型属性处理子模块,用于对于型号类型的各属性,分别判断该属性中的各属性值是否仅包括数字、英文和预定符号,如果不是则判断该属性值为非法;如果是则判断所述预定符号在该属性值所有字符中所占的比例是否小于或等于第三预定阈值,如果不是则判断该属性值为非法;
[0045] 中文类型属性处理子模块,用于对于中文类型的各属性,分别计算该属性中各属性值的信息熵,将信息熵不位于预定范围的属性值判断为非法;对于信息熵位于所述预定范围的各属性值,如果不是该属性的合法属性值,且该属性值分词后得到的组成部分不包含该属性的合法组成部分,且存在词性不属于该属性的合法词性的组成部分,则判断该属性值为非法;所述属性的合法属性值是指该属性中的出现概率大于第四预定阈值的属性值;所述属性的合法组成部分是指该属性中的各属性值进行分词所得到的各组成部分中出现概率大于第五预定阈值的组成部分;所述属性的合法词性是指该属性的属性值进行分词所得到的各所述组成部分的词性中出现次数最多的词性;
[0046] 分配子模块,用于分别将各属性中的属性值根据该属性的类型相应分配给所述数值类型属性处理子模块、型号类型属性处理子模块、中文类型属性处理子模块中的一个。
[0047] 可选地,所述的装置还包括:
[0048] 非法属性值识别模块,用于将匹配预定非法特征的属性值识别为非法属性值;所述预定非法特征包括以下情况之一或其任意组合:
[0049] 属性值的长度超过该属性中其他属性值的平均长度的预定倍数;
[0050] 同一个属性值在本属性或其他属性中重复出现的次数超过预定阈值;
[0051] 属性值为空;
[0052] 属性值中的字符全部或部分为不属于预定符号集合的符号。
[0053] 本申请的至少一个实施例通过获取各类目各属性中已发布的属性值并进行归类、统计,根据所得到的属性值概率分布信息能够一次性生成各属性的检测规则,效率较高;如果加入新的类目或属性也能够快速获得检测规则,扩展性好;由于获取的属性值样本全面,因此可靠性较高。本申请的又一个实施例针对属性类型为中文类型时属性值的特点设计了检测方案,通过统计得到属性值分词后各Term(组成部分)的概率分布信息和词性信息,从而提取出合法属性值的逻辑特征,来用于中文类型属性的属性值合法性检测,使检测结果更为准确。当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

[0054] 图1为实施例一的属性值的检测方法的流程示意图;
[0055] 图2为实施例一中识别属性类型的例子的流程示意图;
[0056] 图3a~图3d为实施例一中对属性值是否合法进行判断的例子的流程示意图;
[0057] 图4为实施例一中获取中文类型属性合法属性值、合法Term、合法词性的例子的流程示意图;
[0058] 图5为实施例二的属性值的检测装置的示意框图。

具体实施方式

[0059] 下面将结合附图及实施例对本申请的技术方案进行更详细的说明。
[0060] 需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0061] 在一个典型的配置中,检测装置可包括多个处理器(CPU)、一个或多个输入/输出接口、网络接口和内存。
[0062] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0063] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM),快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0064] 实施例一、一种属性值的检测方法,如图1所示,包括:
[0065] S101、从保存产品信息的网站服务器获取所述产品信息中各属性的各属性值,并识别各属性值的字符类型;
[0066] S102、对各属性分别统计:该属性中属性值的总数,以及该属性中各字符类型的属性值的数量;根据统计结果计算出该属性中各字符类型的属性值所占的比例;
[0067] S103、分别根据各属性中各字符类型的属性值所占的比例,识别该属性的类型;
[0068] S104、根据识别出的类型,以及预先存储的各类型对应的检测策略,分别判断各类型属性中的各属性值是否合法。
[0069] 其中,步骤S101~103可以只进行一次,也可以周期性进行,以不断更新各属性的类型;可以当发布了新的产品信息时,或存在未被判断过是否合法的属性值时进行步骤S104,对一个或一批属性值进行判断。
[0070] 本实施例中,可以但不限于通过数据爬取算法/抓取算法从所述网站服务器上获得所保存的产品信息中各属性的属性值,或直接从所述网站服务器相应的存储目录下读取产品信息,并从中提取出各属性的属性值。所述检测策略可以预先保存在数据库或系统中的特定位置,并可以根据实际情况加以修改、增加和删除;比如新增一种类型的属性时,可以增加相应的检测策略。
[0071] 本实施例基于已发布的属性值进行数据挖掘来完成属性类型的识别,以是否匹配属性类型对应的检测策略来进行属性值的合法性检测,效率高于人工标注,扩展性好;样本更加全面,也提高了检测结果的可靠性。可以在产品信息的发布端采用本实施例检测出非法属性值,以规范用户所发布的产品信息,比如通过拒绝发布含有非法属性值的产品信息,可以防止存在属性滥用行为的产品信息发布出去,造成不好的搜索体验。
[0072] 本实施例的一种实施方式中,所述属性值的字符类型可以但不限于包括:
[0073] 纯中文、纯英文、整数、小数、英文数字混合、中文英文数字混合、以及其它类型(即:不属于上述任一字符类型)。
[0074] 在识别所述属性值的字符类型时,整数、小数不仅包括阿拉伯数字,也包括中文表示的数字,比如“一千两百六十三”,再比如“贰佰柒拾伍点捌”。上述中文表示数字时,其字符类型为整数或小数,而不是纯中文。符号可以但不限于视为英文进行识别,比如可以将英文加符号的属性值的字符类型识别为纯英文,将数字加符号的属性值的字符类型识别为英文数字混合等。在需要的时候也可以专门设置一个“纯符号”的字符类型。另外,可以只将属于预设符号集合(比如包括“%”、“-”、“$”等)的符号视为英文进行识别,将包含非预设的符号的属性值的字符类型都识别为其它类型。
[0075] 在其它实施方式中,也可以根据需要设定或修改属性值的字符类型。
[0076] 比如总共获取了类目A中属性A1的1000个属性值,其中属于整数的属性值有689个,属于纯中文的属性值为302个,属于其它类型的属性值有9个,则步骤S102中计算出的结果是:字符类型为整数的属性值的比例是68.9%,字符类型为纯中文的属性值的比例是30.2%,字符类型为其它类型的属性值的比例是0.9%。以此类推,也可以计算出类目A中另一属性A2的各字符类型属性值的比例、以及其它类目中的某一个属性的各字符类型属性值的比例。
[0077] 本实施方式的一种备选方案中,属性的类型可以但不限于包括:
[0078] 数值类型:属性中所填写的属性值均为标量或者矢量,而且大多数带有单位,例如:属性“宽度”中的属性值为“50(CM)”;
[0079] 型号类型:属性中所填写的属性值为数字和/或英文(比如纯英文、纯数字、英文加数字),或者为预定符号(比如但不限于“-”)加上数字和/或英文(比如英文加“-”、数字加“-”、英文加数字加“-”)组成的一串指代某种商品型号的值,例如:属性“手机型号”中的属性值为“IPHONE5”;
[0080] 中文类型:属性中所填写的属性值以中文为主体,例如:“颜色:红色;材质:雪纺”。
[0081] 该备选方案中,所述步骤S103具体可以包括:
[0082] 分别对各类目的各属性,当该属性中字符类型为纯英文的属性值的比例,加上字符类型为英文数字混合的属性值的比例大于第一预定阈值时,将该属性的类型识别为型号类型;当该属性中字符类型为整数的属性值的比例加上字符类型为小数的属性值的比例大于第二预定阈值时,将该属性的类型识别为数值类型;将其余的属性(型号类型和数值类型之外的属性)识别为中文类型。
[0083] 根据大量的数据研究发现商品属性可以分为这三个类型,故除去所有数字类型属性与型号类型属性剩下的均为中文类型属性。当然,在其它备选方案中,也可以根据需要设定或修改属性的类型,还可以自行设计识别各类型属性的条件。另外,还可以预先人工标注属性的类型,比如将人工标注为“数值”的属性,也归为数值类型。
[0084] 所述第一预定阈值可以但不限于为50%,所述第二预定阈值可以但不限于为50%,在其它备选方案中,也可以自行设计或调整第一、第二预定阈值。
[0085] 该备选方案中,对于数值类型的属性,属性值只能为数字或中文数字加单位;对于型号类型的属性,属性值只能为数字和/或英文、或者为预定符号加上数字和/或英文,且预定符号在整个属性值中的比例不能过大;对于中文类型的属性,则需要根据属性值提取出合法属性值的逻辑特征,并据此检测属性值。
[0086] 本实施方式的一个具体例子中,识别属性的类型的过程如图2所示,包括步骤201~203。
[0087] 201、从产品的Brief(简介)信息中按照属性:属性值的格式分别获取各属性中的各属性值。
[0088] 202、分别识别各属性下各属性值的字符类型,包括:纯中文、纯英文、整数、小数、英文数字混合、中文英文数字混合、以及其它类型。
[0089] 203、分别根据不同属性中各字符类型的属性值的比例判断该属性的类型;也就是分别根据各属性中所有属性值的字符类型分布情况来划分该属性的类型:当字符类型为纯英文及英文数字混合的属性值的比例大于50%时,将该属性的类型识别为型号类型;当该属性中字符类型为整数的属性值的比例加上字符类型为小数的属性值的比例大于第二预定阈值时,将该属性的类型识别为数值类型;将其余的属性(型号类型和数值类型之外的属性)识别为中文类型。结束。
[0090] 本实施方式中,所述步骤S104具体可以包括:
[0091] 对于数值类型的各属性,分别判断该属性中的各属性值是否包含数字或表示数字的中文(如“一”、“贰”、“百”等),如果不包含则判断该属性值为非法;如果包含,则判断该属性值中除了数字或表示数字的中文之外的字符是否为单位(比如“cm”、“kg”、“公里”等),如果不是则判断该属性值为非法;其中,可以预设表示数字的中文的集合、以及单位的集合,通过判断属性值中的字符是否匹配相应集合中的内容来进行判断;
[0092] 对于型号类型的各属性,分别判断该属性中的各属性值是否仅包括数字、英文和预定符号,如果不是则判断该属性值为非法;如果是则判断所述预定符号在该属性值所有字符中所占的比例是否小于或等于第三预定阈值,如果不是则判断该属性值为非法;
[0093] 对于中文类型的各属性,分别计算该属性中各属性值的信息熵,将信息熵不位于预定范围的属性值判断为非法;对于信息熵位于所述预定范围的各属性值,如果不是该属性的合法属性值,且该属性值分词后得到的组成部分不包含该属性的合法组成部分,且存在词性不属于该属性的合法词性的组成部分,则判断该属性值为非法;所述属性的合法属性值是指该属性中的出现概率大于第四预定阈值的属性值;所述属性的合法组成部分是指该属性中的各属性值进行分词所得到的各组成部分中出现概率大于第五预定阈值的组成部分;所述属性的合法词性是指该属性的属性值进行分词所得到的各所述组成部分的词性中出现次数最多的词性。
[0094] 其中,可以根据一个属性中出现过的所有属性值/Term各自出现的频率得到不同属性值/Term的出现概率。各属性的所述合法属性值、合法Term和合法词性可以在进行步骤S103后就获取,也可以在第一次进行步骤S104时获取,或周期性获取。
[0095] 其它备选方案中,也可以依据自行设计的检测策略对各类型属性的属性值分别进行合法性检测。
[0096] 本备选方案中,可以但不限于采用TermWeight技术将属性值分成几个组成部分(Term),并为每个Term打上相应的词性,例如:“红色连衣裙”分成‘红色-修饰词-颜色’与‘连衣裙-产品词’。
[0097] 所述信息熵的大小直接反映一个分布中所包含的信息量的大小,信息熵越小说明分布包含信息少、结构简单,信息熵越大说明分布包含信息大、结构复杂。对于信息熵过大或过小的属性值进行中文语义检测的意义并不是很大,所述预定范围可以但不限于为0.2~2.5(可以包括或不包括0.2、2.5),对于信息熵的大小在这个预定范围之内的属性值才进行下一步的检判断,即:
[0098] 该属性值是否为该属性中出现概率较大的属性值;
[0099] 该属性值分词得到的各Term中是否包含该属性的合法Term;
[0100] 该属性值分词得到的各Term的词性是否属于该属性的合法词性。
[0101] 如果三个判断结果都是“否”,则可以认为该属性值可能非法,即存在中文类型属性滥用的嫌疑。
[0102] 本实施例的一种实施方式中,所述方法还可以包括:
[0103] 将匹配预定非法特征的属性值识别为非法属性值;该步骤可以在步骤S104之前进行,在其它实施方式中,也可以在步骤S104之后进行。
[0104] 所述预定非法特征可以但不限于包括以下情况之一或其任意组合:
[0105] 属性值的长度超过该属性中其他属性值的平均长度的预定倍数;
[0106] 同一个属性值在本属性或其他属性中重复出现的次数超过预定阈值;
[0107] 属性值为空;
[0108] 属性值中的字符全部或部分为不属于预定符号集合的符号,也就是属性值全部或部分内容为无意义的符号。
[0109] 本实施方式中,对于属性值是否合法进行判断的一个具体例子如图3a~图3d所示,包括步骤301~312。
[0110] 301、从产品的Brief(简介)信息中按照属性:属性值的格式分别获取各属性中的各属性值;如果还未确定各属性值的类型,则获取后可以先进行上述步骤202和203[0111] 302、将匹配预定非法特征的属性值识别为非法属性值,比如属性值为空或(全部或部分内容)为无意义的符号、属性值重复次数超过预定阈值、属性值长度超过平均长度的预定倍数等;
[0112] 303、将识别出的非法属性值作为作弊信息输出,对剩余的属性值继续进行步骤304。
[0113] 304、根据属性的类型进入不同的处理流程,按照类型对应的检测策略对属性值是否合法进行判断;如果属性是型号类型,则进行图3b中的步骤305;如果属性是数值类型,则进行图3c中的步骤307;如果属性是中文类型,则进行图3d中的步骤309。
[0114] 对于型号类型的属性,判断流程如图3b所示,包括步骤305~306。
[0115] 305、判断属性值是否仅包括数字、英文和预定符号,如果不是则判断该属性值为非法,判断流程结束;对于未被判断为非法的属性值继续进行步骤306。
[0116] 306、判断所述预定符号在属性值所有字符中所占的比例是否小于或等于第三预定阈值,如果不是则判断该属性值为非法,判断流程结束;对于未被判断为非法的属性值,判断流程结束。
[0117] 对于数值类型的属性,判断流程如图3c所示,包括步骤307~308。
[0118] 307、判断属性值是否包含数字或表示数字的中文,如果不包含则判断该属性值为非法,判断流程结束;对于未被判断为非法的属性值继续进行步骤308。
[0119] 308、判断该属性值中除了数字或表示数字的中文之外的字符是否为单位,如果不是则判断该属性值为非法,判断流程结束;对于未被判断为非法的属性值,判断流程结束。
[0120] 对于中文类型的属性,判断流程如图3c所示,包括步骤309~312。
[0121] 309、计算属性值的信息熵,判断信息熵是否位于预定范围,如果不位于则判断属性值为非法,判断流程结束;对于信息熵位于所述预定范围的属性值继续进行步骤310。
[0122] 310、判断属性值是否为属性的合法属性值,如果是则判断流程结束;如果不是则进行步骤311。
[0123] 311、判断属性值分词后得到的Term是否包含该属性的合法Term,如果包含则判断流程结束;如果不包含则进行步骤312。
[0124] 312、判断所述Term的词性是否均为属性的合法词性,如果存在词性不属于属性的合法词性的组成部分,则判断该属性值为非法,判断流程结束;如果Term的词性均为属性的合法词性,则判断流程结束。
[0125] 判断流程结束后,还可以将判断为非法的属性值作为作弊信息输出。
[0126] 本实施方式中,对于中文类型的属性,获取合法属性值、合法Term、合法词性的过程如图4所示,包括步骤401~403。
[0127] 401、将属性值分词,统计属性中每个组成部分的数量,并计算属性中属性值的信息熵及分布的标准差。402、判断属性中属性值的信息熵是否均大于1并小于2.5,且标准差大于1;如果是则说明该属性用户可自定义且属性值集中,进行步骤403;对于信息熵小于1的属性,表明该属性用户不可填写自定义的属性值,结束本获取流程;对于信息熵大于2.5的属性,表明该属性用户可以自定义属性值但属性值分散,结束本获取流程。
[0128] 403、获取属性的合法属性值、合法Term、合法词性:将该属性中的出现概率大于第四预定阈值的属性值作为该属性的合法属性值;对该属性中的各属性值进行分词,将分词得到的各组成部分中出现概率大于第五预定阈值的组成部分作为该属性的合法组成部分;统计各组成部分的词性,选取出现次数最多的词性作为该属性的合法词性;还可以用属性值及Term投票选出该属性的合法Tag(标签)类型;结束本获取流程。
[0129] 实施例二、一种属性值的检测装置,如图5所示,包括:
[0130] 字符类型识别模块51,用于从保存产品信息的网站服务器获取所述产品信息中各属性的各属性值,并识别各属性值的字符类型;
[0131] 统计模块52,用于对各属性分别统计:该属性中属性值的总数,以及该属性中各字符类型的属性值的数量;根据统计结果计算出该属性中各字符类型的属性值所占的比例;;
[0132] 属性类型识别模块53,用于分别根据各属性中各字符类型的属性值所占的比例,识别该属性的类型;
[0133] 判断模块54,用于根据识别出的类型,以及预先存储的各类型对应的检测策略,分别判断各类型属性中的各属性值是否合法。
[0134] 本实施例的一种实施方式中,所述属性值的字符类型可以但不限于包括:
[0135] 纯中文、纯英文、整数、小数、英文数字混合、中文英文数字混合、以及其它类型。
[0136] 本实施方式的一种备选方案中,所述属性的类型可以但不限于包括:
[0137] 数值类型、型号类型及中文类型;
[0138] 所述属性类型识别模块53分别根据各属性中各字符类型的属性值所占的比例,识别该属性的类型是指:
[0139] 所述属性类型识别模块53分别对各类目的各属性,当该属性中字符类型为纯英文的属性值的比例,加上字符类型为英文数字混合的属性值的比例大于第一预定阈值时,将该属性的类型识别为型号类型;当该属性中字符类型为整数的属性值的比例加上字符类型为小数的属性值的比例大于第二预定阈值时,将该属性的类型识别为数值类型;将其余的属性识别为中文类型。
[0140] 该备选方案中,所述第一预定阈值可以但不限于为50%,所述第二预定阈值可以但不限于为50%。
[0141] 该备选方案中,所述判断模块54具体可以包括:
[0142] 数值类型属性处理子模块,用于对于数值类型的各属性,分别判断该属性中的各属性值是否包含数字或表示数字的中文,如果不包含则判断该属性值为非法;如果包含,则判断该属性值中除了数字或表示数字的中文之外的字符是否为单位,如果不是则判断该属性值为非法;
[0143] 型号类型属性处理子模块,用于对于型号类型的各属性,分别判断该属性中的各属性值是否仅包括数字、英文和预定符号,如果不是则判断该属性值为非法;如果是则判断所述预定符号在该属性值所有字符中所占的比例是否小于或等于第三预定阈值,如果不是则判断该属性值为非法;
[0144] 中文类型属性处理子模块,用于对于中文类型的各属性,分别计算该属性中各属性值的信息熵,将信息熵不位于预定范围的属性值判断为非法;对于信息熵位于所述预定范围的各属性值,如果不是该属性的合法属性值,且该属性值分词后得到的组成部分不包含该属性的合法组成部分,且存在词性不属于该属性的合法词性的组成部分,则判断该属性值为非法;所述属性的合法属性值是指该属性中的出现概率大于第四预定阈值的属性值;所述属性的合法组成部分是指该属性中的各属性值进行分词所得到的各组成部分中出现概率大于第五预定阈值的组成部分;所述属性的合法词性是指该属性的属性值进行分词所得到的各所述组成部分的词性中出现次数最多的词性;
[0145] 分配子模块,用于分别将各属性中的属性值根据该属性的类型相应分配给所述数值类型属性处理子模块、型号类型属性处理子模块、中文类型属性处理子模块中的一个。
[0146] 本实施例的一种实施方式中,所述装置还可以包括:
[0147] 非法属性值识别模块,用于将匹配预定非法特征的属性值识别为非法属性值;所述预定非法特征可以但不限于包括以下情况之一或其任意组合:
[0148] 属性值的长度超过该属性中其他属性值的平均长度的预定倍数;
[0149] 同一个属性值在本属性或其他属性中重复出现的次数超过预定阈值;
[0150] 属性值为空;
[0151] 属性值中的字符全部或部分为不属于预定符号集合的符号。
[0152] 本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
[0153] 当然,本申请还可有其他多种实施例,在不背离本申请精神及其实质的情况下,熟悉本领域的技术人员当可根据本申请作出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请的权利要求的保护范围。