一种数据对象的聚类方法和装置制造方法

文档序号:6518224阅读:160来源:国知局
一种数据对象的聚类方法和装置制造方法
【专利摘要】本发明涉及一种数据对象的聚类方法和装置。该方法包括:在每个数据对象的描述性信息中提取每个数据对象的封闭特征;根据每个数据对象的封闭特征,确定具有相同封闭特征的一个或多个数据对象;在具有相同封闭特征的一个或多个数据对象中,根据每个数据对象的描述性信息,获得每个数据对象的开放特征;根据每个数据对象的开放特征,计算任意两个数据对象的开放特征的相似度;并且当相似度大于预设的相似度阈值时,聚类两个数据对象,以进行后续的数据处理。本发明针对大量的数据对象进行聚类以扩大应用范围。通过提取数据对象的封闭特征和开放特征,并对开放特征计算相似度,提高了聚类的准确性,降低了运算量和运算复杂度,提高了聚类的时间效率。
【专利说明】一种数据对象的聚类方法和装置
【技术领域】
[0001]本发明涉及数据处理领域,更具体地涉及一种数据对象的聚类方法和装置。
【背景技术】
[0002]随着信息化的发展,存储于网络中的数据对象的数量也随之增长。然而这些数据对象都具有各自的特征,如:属性、标签、规格等等,可以利用数据对象的特征,将数据对象进行聚类。其中,对数据对象进行聚类是指将具有相同特征的数据对象聚类为一个集合。通过对所有数据对象进行聚类处理,可以得到一个或多个集合。进而可以在用户搜索数据对象时,将与搜索出的数据对象处于同一集合中的数据对象一起向用户展示。
[0003]在现有技术中,可以通过提取数据对象的描述性信息中的特征,并在数据对象之间,对至少两个数据对象的特征进行相似度计算。但是,存储于网络中的数据对象的数量过于庞大,并且每个数据对象的描述性信息为存储该数据对象的用户自行设置,没有统一标准,不能过滤出描述性信息中的错误信息。若在所有数据对象中进行相似度计算,会产生运算量大,运算耗时长,运算复杂度高,准确率低等问题。
[0004]另外,现有技术还可以基于数据对象库自动对数据对象聚类。但是,自动聚类数据对象的应用范围受限,其只可以在标类数据对象中应用,而不能在非标类数据对象中应用,应用范围小。因为,标类数据对象是指具有统一规格标准的数据对象,例如:电子器件、机械元件等,进一步地,该标类数据对象如:家用电器、手机等。因而,可以根据该规格标准,将具有相同规格标准的标类数据对象自动聚类。非标类数据对象是指不具有统一规格标准的数据对象,例如:食品、宠物、服饰等。因而,无法针对非标类数据对象预先制定规则,将非标类数据对象进行聚类处理。

【发明内容】

[0005]为了解决聚类数据对象所产生的运算量大,运算耗时长,运算复杂度高,准确率低,以及应用范围小的问题,本发明的主要目的在于提供一种数据对象的聚类方法和装置。以在聚类数据对象的过程中,降低运算量和复杂度,提高准确率和时间效率,扩大应用范围。
[0006]为了解决上述技术问题,本发明的目的是通过以下技术方案实现:
[0007]本发明提供了一种数据对象的聚类方法,包括步骤:在每个数据对象的描述性信息中提取所述每个数据对象的封闭特征;根据所述每个数据对象的封闭特征,确定具有相同封闭特征的一个或多个数据对象;在所述具有相同封闭特征的一个或多个数据对象中,根据所述每个数据对象的描述性信息,获得所述每个数据对象的开放特征;根据所述每个数据对象的开放特征,计算任意两个数据对象的开放特征的相似度;并且当所述相似度大于预设的相似度阈值时,聚类所述两个数据对象,以进行后续的数据处理。
[0008]其中,聚类所述两个数据对象进一步包括:根据特定字段的预设的取值范围,在最终聚类的一个或多个数据对象中,获取数据对象的特定字段的值处于所述取值范围内的一个或多个数据对象。
[0009]其中,在每个数据对象的描述性信息中提取所述每个数据对象的封闭特征进一步包括:根据预先存储的词语库,确定所述每个数据对象的描述性信息中包含的一个或多个词语;根据所述一个或多个词语的词语互信息,提取所述每个数据对象的封闭特征。
[0010]其中,一个或多个词语的词语互信息表示所述一个或多个词语中固定的词语组合共现的次数;并且,根据所述一个或多个词语的词语互信息,提取所述每个数据对象的封闭特征,进一步包括:当所述一个或多个词语中固定的词语组合共现的次数大于预设的共现阈值时,则判定所述词语组合是候选封闭特征;以及在所述一个或多个词语中,当所述候选封闭特征的上下文存在特定的词语,并且,所述候选封闭特征处于特定的位置时,则确定所述候选封闭特征是封闭特征。
[0011]其中,在每个数据对象的描述性信息中,提取所述每个数据对象的封闭特征,进一步包括:根据所述封闭特征在所述一个或多个词语中的位置,对所述封闭特征进行分类。
[0012]其中,在所述具有相同封闭特征的一个或多个数据对象中,根据所述每个数据对象的描述性信息,获得所述每个数据对象的开放特征,进一步包括:遍历所述每个数据对象的描述性信息;并且,利用预先训练获得的开放特征学习器,在所述每个数据对象的描述性信息中,查找具有预定规则的字符,以作为所述每个数据对象的开放特征。
[0013]其中,根据所述每个数据对象的开放特征,计算任意两个数据对象的开放特征的相似度,进一步包括:根据所述两个数据对象的开放特征的编辑距离和每个数据对象的开放特征在描述性信息中的位置,计算所述两个数据对象的开放特征的相似度。
[0014]本发明还提供了一种数据对象的聚类装置,其特征在于,包括:提取模块,用于在每个数据对象的描述性信息中提取所述每个数据对象的封闭特征;确定模块,用于根据所述每个数据对象的封闭特征,确定具有相同封闭特征的一个或多个数据对象;获得模块,用于在所述具有相同封闭特征的一个或多个数据对象中,根据所述每个数据对象的描述性信息,获得所述每个数据对象的开放特征;计算模块,用于根据所述每个数据对象的开放特征,计算任意两个数据对象的开放特征的相似度;以及聚类模块,用于当所述相似度大于预设的相似度阈值时,聚类所述两个数据对象,以进行后续的数据处理。
[0015]其中,所述聚类模块进一步包括:获取子模块,用于根据特定字段的预设的取值范围,在最终聚类的一个或多个数据对象中,获取数据对象的特定字段的值处于所述取值范围内的一个或多个数据对象。
[0016]其中,所述提取模块进一步包括:确定子模块,用于根据预先存储的词语库,确定所述每个数据对象的描述性信息中包含的一个或多个词语;以及提取子模块,用于根据所述一个或多个词语的词语互信息,提取所述每个数据对象的封闭特征。
[0017]与现有技术相比,根据本发明的技术方案存在以下有益效果:
[0018]本发明可以针对大量的数据对象进行聚类操作,扩大了应用范围。进一步地,本发明通过对数据对象提取封闭特征,进而提取具有相同封闭特征的数据对象的开放特征,可以提高聚类的准确性。更进一步地,本发明只在具有相同的封闭特征的数据对象中进行相似度运算,有效的降低运算量,又进一步地,具有相同的封闭特征的数据对象相对于所有的数据对象,在数量上有所减少,可以降低运算的复杂度,提高对数据对象进行聚类的时间效率。【专利附图】

【附图说明】
[0019]此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0020]图1是根据本发明一实施例的数据对象的聚类方法的流程图;
[0021]图2是根据本发明一实施例的提取数据对象的封闭特征的步骤的流程图;
[0022]图3是根据本发明一实施例的提取数据对象的开放特征的步骤的流程图;以及
[0023]图4是根据本发明一实施例的数据对象的聚类装置的结构图。
【具体实施方式】
[0024]本发明的主要思想在于,在大量的数据对象中,提取每个数据对象的封闭特征,并将具有相同封闭特征的数据对象进行聚类。在具有相同封闭特征的数据对象中,提取每个数据对象的开放特征。并且,在具有相同封闭特征的数据对象中,计算任意两个数据对象的开放特征的相似度。对于开放特征的相似度大于预设的相似度阈值的任意两个数据对象进行进一步地聚类。进而,可以在数据搜索中,将聚类的数据对象一同展示给用户。
[0025]该方式可以针对大量的数据对象中的每个数据对象进行聚类操作,扩大了应用范围。进一步地,该方式通过对数据对象提取封闭特征,并在此基础上提取具有相同封闭特征的数据对象的开放特征,可以提高聚类的准确性。更进一步地,该方式可以具有相同的封闭特征的数据对象中进行相似度运算,有效的降低运算量,又进一步地,具有相同的封闭特征的数据对象相对于所有的数据对象,在数量上有所减少,可以降低运算的复杂度,提高对数据对象进行聚类的时间效率。
[0026]为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027]如图1所示,图1是根据本发明一实施例的数据对象的聚类方法的流程图。
[0028]在步骤SllO处,在每个数据对象的描述性信息中,提取每个数据对象的封闭特征。
[0029]数据对象可以是包括一组特征的实体,以通过一组特征来描述数据对象。进一步地,该描述性信息可以用于记录与数据对象相关的内容。可以将用于描述数据对象的一组特征记录在数据对象的描述性信息中。例如:当数据对象为一篇文章时,描述性信息中记录的特征可以包括文章的标题、文章的内容、文章的页码等。
[0030]数据对象的特征可以包括封闭特征和开放特征。其中,封闭特征可以指在数据对象的特征中数量有限制的特征。开放特征可以指在数据对象的特征中数量没有限制的特征。
[0031]以图书(数据对象)为例,图书的特征可以包括图书名称、图书分类号、图书版本号等。其中,图书名称只有一个、图书分类号只有一个;然而,图书的版本号,可以根据出版时间不同而包含一个或多个版本号。类似图书名称、图书分类号的数量有限制的特征,可以被称作封闭特征、类似图书版本号的数量没有限制的特征,可以被称作开放特征。[0032]以服装(数据对象)为例,服装的特征可以包括服装名称、服装货号、尺寸、颜色等。其中,服装名称、尺寸和颜色的表述是有限的,而服装货号的表述方式是不受限制的,则可以将服装名称、尺寸和颜色作为封闭特征。服装货号的数量没有限制,,则可以将货号作为开放特征。
[0033]数据对象的特征均被记录/录入在数据对象的描述性信息中。进一步地,可以在描述性信息中提取数据对象的封闭特征和开放特征。具体而言,如图2所示,图2是根据本发明一实施例的提取数据对象的封闭特征的步骤的流程图。(开放特征的提取将在图3所示的步骤中进行描述)
[0034]在步骤S210处,根据预先存储的词语库,确定每个数据对象的描述性信息中包含的一个或多个词语。
[0035]在词语库中可以包括一个或多个词语,该词语可以是词、字符、字符串等,其中字符可以包括字母、数字、字、符号等,字符串可以包括一个或多个字符。进一步地,可以预先收集一个或多个词语,将该一个或多个词语录入词语库,并存储该词语库。
[0036]将词语库中包括的每个词语,与数据对象的描述性信息进行匹配,以确定数据对象的描述性信息中包含的一个或多个词语。具体而言,可以根据词语库中记录的每个词语,在数据对象的描述性信息中进行搜索,判断出在描述性信息中存在的与词语库中记录的词语相同的词语,进而可以确定出数据对象的描述性信息中具有的一个或多个词语。
[0037]在步骤S220处,根据一个或多个词语的词语互信息,提取每个数据对象的封闭特征。
[0038]词语互信息可以用来描述一个或多个词语之间的相关性。进一步地,一个或多个词语的词语互信息可以表示该一个或多个词语中固定的词语组合共现的次数。例如:两个词语在一个或多个数据对象的描述性信息中同时出现的次数。
[0039]可以通过一个或多个词语的词语互信息来获得数据对象的封闭特征。
[0040]当一个或多个词语中固定的词语组合共现的次数大于预设的共现阈值时,则判定词语组合是候选封闭特征。其中,词语组合可以包含一个或多个词语。具体而言,数据对象的描述性信息中包含一个或多个封闭特征,进一步地,多个数据对象的描述性信息中都可以包含一个或多个相同的封闭特征,封闭特征可以在多个数据对象中被共同使用。那么,可以提取所有数据对象的描述性信息中包含的一个或多个词语,根据其中的一个或多个词语组成的相同的词语组合的共现次数,来判断该词语组合是否为数据对象的封闭特征。进一步地,可以预设词语组合的共现阈值,即同一(固定)词语组合的共现次数的阈值。当一个或多个词语中固定的词语组合共现的次数大于该预设的共现阈值时,则可以将该词语组合判断为候选封闭特征。基于该候选封闭特征来进一步确定封闭特征。
[0041]在一个或多个词语中,当候选封闭特征的上下文存在特定的词语,并且,候选封闭特征处于特定的位置时,则确定候选封闭特征是封闭特征。具体而言,可以将数据对象的描述性信息中的每个词语作为一个个体,每个个体的位置即是该个体对应的词语的位置。可以根据描述性信息的录入规则/格式,预先确定出在数据对象的描述性信息中,封闭特征(词语组合)会出现的位置,以及封闭特征所处的位置前后会出现的词语和/或封闭特征所处的位置前后会出现的词语的类型,如:词、字符、字符串等。其中,候选封闭特征的上下文存在的特定的词语可以是该候选封闭特征的位置前后出现的词语和/或词语类型。根据预先确定的封闭特征所处的位置,以及封闭特征所处的位置前后会出现的词语和/或词语类型,判断候选封闭特征的位置以及候选封闭特征所处的位置前后出现的词语和/或词语类型是否符合封闭特征的规则,若符合封闭特征的规则,则确定该候选封闭特征是封闭特征,若不符合封闭特征的规则,则确定该候选封闭特征不是封闭特征。
[0042] 例如:在预先存储的词语库中包括词语“A B1234567890”。预设词语组合的共现阈值为3次。根据数据对象的描述性信息的录入规则,可以确定在描述性信息包含的一个或多个词语中,封闭特征处于该一个或多个词语最前面(以第一词语为起点),封闭特征所处的位置前面无词语,封闭特征所处的位置后面的词语为字符。在对第一数据对象至第四数据对象提取封闭特征中,第一数据对象的描述性信息包括“A B7890”;第二数据对象的描述性信息包括“A B1234”;第三数据对象的描述性信息包括“A B3456”;第四数据对象的描述性信息包括“A B6789”。根据预先存储的词语库,提取第一数据对象至第四数据对象的描述性信息中包含的一个或多个词语。其中,第一数据对象的描述性信息包含的词语有“AB7890”;第二数据对象的描述性信息包含的词语有“A B1234”;第三数据对象的描述性信息包含的词语有“A B3456”;第四数据对象的描述性信息包含的词语有“AB6789”。进一步地,在第一数据对象至第四数据对象的描述性信息中,词语组合“A B”共现的次数是4次;词语组合“34”共现的次数是2次;词语组合“78”共现的次数是2次;词语组合“89”共现的次数是2次。其中词语组合“A B”的共现次数大于预设的共现阈值3次,则将该词语组合“AB”作为候选封闭特征。在第一数据对象至第四数据对象的描述性信息中,候选封闭特征“AB”处于提取出的词语的起始位置。并且该候选封闭特征“A B”所处的位置前面均不包含任何词语,所处的位置后面都为字符,如:“7”、“1”、“3”、“6”。最终可以确定该候选封闭特征“A B”为封闭特征。
[0043]进一步地,还可以根据封闭特征在一个或多个词语中的位置,对封闭特征进行分类。具体而言,可以根据描述性信息的录入规则/格式,预先确定出在数据对象的描述性信息中,封闭特征(词语组合)会出现的位置,根据封闭特征会出现的位置,确定每个位置出现的封闭特征的类型。例如:图书的名称会出现在描述信息的开头,而图书的分类号会出现在图书的结尾,那么可以根据封闭特征在描述性信息中的位置确定该封闭特征是图书名称或是图书分类号。
[0044]在步骤S120处,根据每个数据对象的封闭特征,确定具有相同封闭特征的一个或多个数据对象。
[0045]具体而言,可以根据在一个或多个数据对象的描述性信息中提取出的一个或多个封闭特征,将包含一个或多个相同的封闭特征的数据对象进行聚类,得到一个或多个数据对象集合。其中每个数据对象集合包含的一个或多个数据对象的封闭特征相同。
[0046]例如:第一数据对象的封闭特征包括“A”、“B”;第二数据对象的封闭特征包括
第三数据对象的封闭特征包括“C”、“D”;第四数据对象的封闭特征包括“C”、“D”。
其中,第一数据对象和第二数据对象所包含的封闭特征相同,封闭特征都是“A”、“B”。第三数据对象和第四数据对象的封闭特征相同,封闭特征都是“C”、“D”。那么可以将第一数据对象和第二数据对象进行聚类,得到一个数据对象的集合。可以将第三数据对象和第四数据对象进行聚类,得到另一个数据对象的集合。
[0047]在步骤S130处,在具有相同封闭特征的一个或多个数据对象中,根据每个数据对象的描述性信息,获得每个数据对象的开放特征。
[0048]为了减少计算量,可以在具有相同封闭特征的一个或多个数据对象中,即在具有相同封闭特征的数据对象集合中,提取其中每个数据对象的开放特征。
[0049]由于开放特征的数量不受限制。也即是说,对于每个数据对象,可以包含的内容数量开放,无法事先收集。如,衣服的货号(开放特征)可以包括各种字母和数字的组合。那么提取数据对象的描述性信息中的开放特征可以训练开放特征学习器,利用开放特征学习器来提取数据对象的开放型特征。
[0050]具体而言,如图3所示,图3是根据本发明一实施例的提取数据对象的开放特征的步骤的流程图。
[0051]在步骤S310处,训练用于提取开放特征的开放特征学习器。
[0052]开放特征学习器可以是数据模型,该数据模型可以在数据对象的描述性信息中,判断出该数据对象的开放特征。
[0053]具体而言,可以通过对训练集中的数据进行训练来获得开放特征学习器。更具体的,可以提供训练集,在该训练集中可以包括多个数据对象(多个数据对象的描述性信息)。预先在每个数据对象的描述性信息中,确定出其所包含的一个或多个开放特征。预测数据对象的开放特征的规则,例如,开放特征是字母组成的。并利用一个或多个数据对象的一个或多个开放特征,对该开放特征规则进行验证,根据验证结果调整该开放特征规则,使该开放特征规则能够正确判断出数据对象的描述性信息中包含的开放特征。例如:开放特征规则是:开放特征由字母组成。然而,数据对象的开放特征包括字母、数字。那么在验证开放特征规则时,该开放特征规则不能正确判断出数据对象的开放特征,所以,可以将开放特征规则调整为:开放特征由字母和/或数字组成,进而使开放特征规则可以正确判断出开放特征。最终可以获得能够正确判断出数据对象的开放特征的开放特征规则,该开放特征规则可以被称为开放特征学习器。
[0054]在步骤S320处,遍历每个数据对象的描述性信息。
[0055]具体而言,可以在具有相同封闭特征的一个或多个数据对象中,查询每个数据对象,并且,读取每个数据对象的描述性信息,确定每个数据对象的描述性信息所包含的内容。例如,在每个数据对象的描述性信息中所包含的词语(词、字符、字符串等)。
[0056]在步骤S330处,基于预先训练获得的开放特征学习器,在每个数据对象的描述性信息中,确定具有预定规则的字符,以作为每个数据对象的开放特征。
[0057]具体而言,在遍历每个数据对象的描述性信息时,可以利用预先训练获得的开放特征学习器,在每个数据对象的描述性信息中查询符合开放特征规则的信息,并将该符合开放特征规则的信息确定为数据对象的开放特征。其中开放特征规则即为预定规则。符合开放特征规则的信息可以是由字符以及由字符组成的字符串。
[0058]在步骤S140处,根据每个数据对象的开放特征,计算任意两个数据对象的开放特征的相似度。
[0059]开放特征的相似度可以用来衡量开放特征之间相似/类似的程度。任意两个数据对象的开放特征的相似度,当相似度越接近I时,则说明该两个数据对象的开放特征越相似。当相似度越接近O时,则说明该两个数据对象的开放特征越不相似(差别越大)。
[0060]在确定每个数据对象的开放特征后,可以计算任意两个数据对象的开放特征的相似度。也即是说,在具有相同封闭特征的数据对象中,两两计算数据对象的开放特征的相似度。
[0061]进一步地,计算任意两个数据对象的开放特征的相似度可以通过算法/公式来实现。
[0062]根据两个数据对象的开放特征的编辑距离和两个数据对象的开放特征的位置距离,计算两个数据对象的开放特征的相似度。计算开放特征相似度的公式例如是:
[0063]Similarity=1- (W1XPosition+ff2XEditDistance) -MOO (1.1)
[0064]在公式(L I)中,Similarity用于表示两个数据对象的开放特征的相似度。W1用于表示开放特征的位置距离的权重。Position用于表示开放特征的位置距离。W2用于表示开放特征的编辑距离的权重。EditDistance用于表示开放特征的编辑距离。
[0065]进一步地,开放特征的位置距离的权重W1和开放特征的编辑距离的权重W2,可以是根据实际应用情况预先设置的经验值。
[0066]进一步地,开放特征的位置距离Position可以表示两个数据对象的开放特征在描述性信息中包括的一个或多个词语中位置的差值。例如:一个数据对象的描述性信息包含“ al I Ib c ”,其中“ a ”、三个“ I ”、“ b ”、“ c ”都被包含在词语库中,而且“ 111”为开放特征,那么该开放特征“111”在描述性信息包含的6个词语中的位置为2。另一个数据对象的描述性信息包含“e f g h222”,其中“e”、“f”、“g”、“h”、三个“2”都被包含在词语库中,而且“222”为开放特征,那么开放特征“222”在描述性信息包含的7个词语中的位置为5。那么两个数据对象的开放特征的位置距离Position为3 ( | 5-2 | =3)。进一步地,当数据对象包含多个开放特征时,则先获得每个数据对象的开放特征的位置的和,再计算两个数据对象的开放特征的位置和的差值,将该位置和的差值作为位置距离Position。例如:第一数据对象包含开放特征“A”、“B”、“C”;第二数据对象包含开放特征“A”、“B”。那么第一数据对象的开放特征“A”的位置为1、“B”的位置为2、“C”的位置为3,那么第一数据对象的开放特征的位置和为6 (1+2+3=6);第二数据对象的开放特征“A”的位置为1、“B”的位置为2,那么第二数据对象的开放特征的位置和为3 (1+2=3)。最终可以获得第一数据对象和第二数据对象的位置距离Position为3 (6-3=3)。
[0067]开放特征的编辑距离可以表示在进行相似度计算的两个数据对象中,由一个数据对象的一个或多个开放特征转化成另一个数据对象的一个或多个开放特征所需的最少编辑操作次数。例如:第一数据对象包含开放特征“A”、“B”、“C”;第二数据对象包含开放特征“A”、“B”,那么由第一数据对象的开放特征转化为第二数据对象的开放特征需要执行删除操作I次,即删除第一数据对象的开放特征“C”,保留的第一数据对象的开放特征“A”和“B”与第二数据对象包含的开放特征“A”和“B”相同。那么第一数据对象和第二数据对象的编辑距离Edit Distance为I。
[0068]例如:利用公式(1.1)来计算第一数据对象的开放特征和第二数据对象的开放特征的相似度Similarity。其中,第一数据对象包含开放特征“A”、“B”、“C” ;第二数据对象包含开放特征“A”、“B”。预设开放特征的位置的权重W1为0.8,并且预设开放特征的编辑距离的权重W2为0.2。第一数据对象和第二数据对象的开放特征的位置距离Position为
3,编辑距离 Edit Distance 为 I。
[0069]Similarity=1-Cff1 XPosition+ff2XEdit Distance) +100=1-(0.8X3+0.2X I) +100=0.974
[0070]根据公式(1.1),获得第一数据对象和第二数据对象的开放特征的相似度Similarity 为 0.974。
[0071]在步骤S150处,当相似度大于预设的相似度阈值时,聚类两个数据对象,以进行后续的数据搜索。
[0072]可以预设相似度阈值,用于衡量任意两个数据对象的开放特征是否相似。在计算获得任意两个数据对象的开放特征的相似度Similarity后,当该相似度Similarity小于或等于预设的相似度阈值时,则表示该两个数据对象的开放特征不相似,也即是说,这两个数据对象之间存在差别。当该相似度Similarity大于预设的相似度阈值时,则表示该两个数据对象的开放特征相似,进而可以认为这两个数据对象拥有的开放特征相同。例如:预设相似度阈值为0.8,那么当第一数据对象和第二数据对象的开放特征的相似度Similarity为0.974时,相似度Similarity为0.974大于相似度阈值0.8,则说明该第一数据对象和第二数据对象的开放特征相同。
[0073]可以将包含相同开放特征的一个或多个数据对象进行聚类,进一步地,在聚类获得的数据对象的集合中,一个或多个数据对象具有相同的封闭特征,并且具有相同的开放特征。可以将具有相同的封闭特征和相同的开放特征的数据对象称作同类数据对象。例如:对于多本图书(数据对象)来说,图书的封闭特征(图书名称、图书分类号)相同,图书的开放特征(图书的页面、图书的章节)相同,则说明该多本图书为相同的图书(同类数据对象),进而可以将该多本图书进行聚类处理。
[0074]进一步地,在聚类一个或多个数据对象时,还可以根据特定字段的取值范围,在聚类的一个或多个数据对象中(同类数据对象),获取数据对象的特定字段的值在该取值范围内的一个或多个数据对象,作为最终的同类数据对象。具体而言,在录入数据对象的描述性信息时,可能出现录入错误的情况,最终导致不是同类数据对象的数据对象聚合在一起,为了降低聚合同类数据对象出现误差的概率,还可以在聚合同类数据对象时,利用特定字段对聚合的一个或多个数据对象进行过滤。该特定字段可以是所有数据对象都具有的字段。例如:该特定字段可以是图书的页数、商品的价格、学生的考试分值等。进而基于该特定字段,在聚合的一个或多个数据对象中,剔除数据对象的特定字段的值与其他数据对象的特定字段的值差异较大的数据对象。保留数据对象的特定字段的值较接近的数据对象并进行聚合以得到同类数据对象。进一步地,可以将聚合的每个数据对象的特定字段的值与预设的取值范围进行比较,特定字段的值在该取值范围内的数据对象保留,特定字段的值在该取值范围外的数据对象剔除。
[0075]例如:对于聚类的相同的三本图书来说,第一本书的封闭特征为“A”和“B”,开放特征为“C”,页数(特定字段)为500页;第二本书的封闭特征为“A”和“B”,开放特征为“C”,页数为502页;第三本书的封闭特征为“A”和“B”,开放特征为“C”,页数为100页。由于印刷纸张或排版等原因,该图书的页数取值范围为495页至505页,那么根据该页数的取值范围,第三本书的页数100页不在该页数取值范围内,可以确定第三本书相对于第一本书和第二本书是不同的,第三本书的开放特征和/或封闭特征可能存在错误。进而可以在聚类的三本图书中将第三本书去除。
[0076]本发明还提供了一种数据对象的聚类装置。如图4所示,图4是根据本发明一实施例的数据对象的聚类装置的结构图400。
[0077]提取模块410,可以用于在每个数据对象的描述性信息中提取每个数据对象的封闭特征。
[0078]提取模块410进一步包括确定子模块411和提取子模块412。确定子模块411可以用于根据预先存储的词语库,确定每个数据对象的描述性信息中包含的一个或多个词语。提取子模块412可以用于根据一个或多个词语的词语互信息,提取每个数据对象的封闭特征。其中,一个或多个词语的词语互信息表示一个或多个词语中固定的词语组合共现的次数。
[0079]提取子模块412进一步包括判断子单元4121,可以用于当一个或多个词语中固定的词语组合共现的次数大于预设的共现阈值时,则判定词语组合是候选封闭特征。确定子单元4122还可以用于在一个或多个词语中,当候选封闭特征的上下文存在特定的词语,并且,候选封闭特征处于特定的位置时,则确定候选封闭特征是封闭特征。
[0080]提取模块410还可以被配置成根据封闭特征在一个或多个词语中的位置,对封闭特征进行分类。
[0081]该提取模块410的【具体实施方式】可以参见步骤S110。进一步地,可以参见步骤S210-S220
[0082]确定模块420,可以用于根据每个数据对象的封闭特征,确定具有相同封闭特征的一个或多个数据对象。该确定模块420的【具体实施方式】可以参见步骤S120。
[0083]获得模块430,可以用于在具有相同封闭特征的一个或多个数据对象中,根据每个数据对象的描述性信息,获得每个数据对象的开放特征。
[0084]获得模块430进一步包括遍历子模块431和查找子模块432。遍历子模块431可以用于遍历每个数据对象的描述性信息。查找子模块432可以用于利用预先训练获得的开放特征学习器,在每个数据对象的描述性信息中,查找具有预定规则的字符,以作为每个数据对象的开放特征。
[0085]该获得模块430的【具体实施方式】可以参见步骤S130。进一步地,可以参见步骤S310-S330。
[0086]计算模块440,可以用于根据每个数据对象的开放特征,计算任意两个数据对象的开放特征的相似度。计算模块440还可以被配置成根据两个数据对象的开放特征的编辑距离和每个数据对象的开放特征在描述性信息中的位置,计算两个数据对象的开放特征的相似度。
[0087]该计算模块440的【具体实施方式】可以参见步骤S140。
[0088]聚类模块450,可以用于当相似度大于预设的相似度阈值时,聚类两个数据对象,以进行后续的数据处理。
[0089]聚类模块进一步包括获取子模块(未示出),用于根据特定字段的预设的取值范围,在最终聚类的一个或多个数据对象中,获取数据对象的特定字段的值处于取值范围内的一个或多个数据对象。
[0090]该聚类模块的【具体实施方式】可以参见步骤S150。
[0091]由于图4所描述的本发明的装置所包括的各个模块的【具体实施方式】与本发明的方法中的步骤的【具体实施方式】是相对应的,由于已经对图1-图3进行了详细的描述,所以为了不模糊本发明,在此不再对各个模块的具体细节进行描述。
[0092]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0093]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0094]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0095]本领域那些技术人员可以理解,可以对实施例中的客户端中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个客户端中。可以把实施例中的模块组合成一个模块,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者客户端的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0096]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0097]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的加载有排序网址的客户端中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0098]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0099]本发明公开了 B8、一种数据对象的聚类装置,其特征在于,包括:
[0100]提取模块,用于在每个数据对象的描述性信息中提取所述每个数据对象的封闭特征;
[0101]确定模块,用于根据所述每个数据对象的封闭特征,确定具有相同封闭特征的一个或多个数据对象;
[0102]获得模块,用于在所述具有相同封闭特征的一个或多个数据对象中,根据所述每个数据对象的描述性信息,获得所述每个数据对象的开放特征;
[0103]计算模块,用于根据所述每个数据对象的开放特征,计算任意两个数据对象的开放特征的相似度;以及
[0104]聚类模块,用于当所述相似度大于预设的相似度阈值时,聚类所述两个数据对象,以进行后续的数据处理。
[0105]B9、根据B8所述的装置,其特征在于,所述聚类模块进一步包括:
[0106]获取子模块,用于根据特定字段的预设的取值范围,在最终聚类的一个或多个数据对象中,获取数据对象的特定字段的值处于所述取值范围内的一个或多个数据对象。
[0107]B10、根据B8所述的装置,其特征在于,所述提取模块进一步包括:
[0108]确定子模块,用于根据预先存储的词语库,确定所述每个数据对象的描述性信息中包含的一个或多个词语;以及
[0109]提取子模块,用于根据所述一个或多个词语的词语互信息,提取所述每个数据对象的封闭特征。
[0110]B11、根据BlO所述的装置,其特征在于,一个或多个词语的词语互信息表示所述一个或多个词语中固定的词语组合共现的次数;并且,
[0111]所述提取子模块进一步包括:
[0112]判断子单元,用于当所述一个或多个词语中固定的词语组合共现的次数大于预设的共现阈值时,则判定所述词语组合是候选封闭特征;
[0113]确定子单元,用于在所述一个或多个词语中,当所述候选封闭特征的上下文存在特定的词语,并且,所述候选封闭特征处于特定的位置时,则确定所述候选封闭特征是封闭特征。
[0114]B12、根据Bll所述的装置,其特征在于,所述提取模块还被配置成:根据所述封闭特征在所述一个或多个词语中的位置,对所述封闭特征进行分类。
[0115]B13、根据B8所述的装置,其特征在于,所述获得模块进一步包括:
[0116]遍历子模块,用于遍历所述每个数据对象的描述性信息;以及,
[0117]查找子模块,用于利用预先训练获得的开放特征学习器,在所述每个数据对象的描述性信息中,查找具有预定规则的字符,以作为所述每个数据对象的开放特征。
[0118]B14、根据B13所述的装置,其特征在于,所述计算模块还被配置成:根据所述两个数据对象的开放特征的编辑距离和每个数据对象的开放特征在描述性信息中的位置,计算所述两个数据对象的开放特征的相似度。
【权利要求】
1.一种数据对象的聚类方法,其特征在于,包括: 在每个数据对象的描述性信息中提取所述每个数据对象的封闭特征; 根据所述每个数据对象的封闭特征,确定具有相同封闭特征的一个或多个数据对象;在所述具有相同封闭特征的一个或多个数据对象中,根据所述每个数据对象的描述性信息,获得所述每个数据对象的开放特征; 根据所述每个数据对象的开放特征,计算任意两个数据对象的开放特征的相似度;并且 当所述相似度大于预设的相似度阈值时,聚类所述两个数据对象,以进行后续的数据处理。
2.根据权利要求1所述的方法,其特征在于,聚类所述两个数据对象进一步包括: 根据特定字段的预设的取值范围,在最终聚类的一个或多个数据对象中,获取数据对象的特定字段的值处于所述取值范围内的一个或多个数据对象。
3.根据权利要求1所述的方法,其特征在于,在每个数据对象的描述性信息中提取所述每个数据对象的封闭特征 进一步包括: 根据预先存储的词语库,确定所述每个数据对象的描述性信息中包含的一个或多个词语; 根据所述一个或多个词语的词语互信息,提取所述每个数据对象的封闭特征。
4.根据权利要求3所述的方法,其特征在于,一个或多个词语的词语互信息表示所述一个或多个词语中固定的词语组合共现的次数;并且, 根据所述一个或多个词语的词语互信息,提取所述每个数据对象的封闭特征,进一步包括: 当所述一个或多个词语中固定的词语组合共现的次数大于预设的共现阈值时,则判定所述词语组合是候选封闭特征;以及 在所述一个或多个词语中,当所述候选封闭特征的上下文存在特定的词语,并且,所述候选封闭特征处于特定的位置时,则确定所述候选封闭特征是封闭特征。
5.根据权利要求4所述的方法,其特征在于,在每个数据对象的描述性信息中,提取所述每个数据对象的封闭特征,进一步包括: 根据所述封闭特征在所述一个或多个词语中的位置,对所述封闭特征进行分类。
6.根据权利要求1所述的方法,其特征在于,在所述具有相同封闭特征的一个或多个数据对象中,根据所述每个数据对象的描述性信息,获得所述每个数据对象的开放特征,进一步包括: 遍历所述每个数据对象的描述性信息;并且, 利用预先训练获得的开放特征学习器,在所述每个数据对象的描述性信息中,查找具有预定规则的字符,以作为所述每个数据对象的开放特征。
7.根据权利要求6所述的方法,其特征在于,根据所述每个数据对象的开放特征,计算任意两个数据对象的开放特征的相似度,进一步包括: 根据所述两个数据对象的开放特征的编辑距离和每个数据对象的开放特征在描述性信息中的位置,计算所述两个数据对象的开放特征的相似度。
8.一种数据对象的聚类装置,其特征在于,包括:提取模块,用于在每个数据对象的描述性信息中提取所述每个数据对象的封闭特征; 确定模块,用于根据所述每个数据对象的封闭特征,确定具有相同封闭特征的一个或多个数据对象; 获得模块,用于在所述具有相同封闭特征的一个或多个数据对象中,根据所述每个数据对象的描述性信息,获得所述每个数据对象的开放特征; 计算模块,用于根据所述每个数据对象的开放特征,计算任意两个数据对象的开放特征的相似度;以及 聚类模块,用于当所述相似度大于预设的相似度阈值时,聚类所述两个数据对象,以进行后续的数据处理。
9.根据权利要求8所述的装置,其特征在于,所述聚类模块进一步包括: 获取子模块,用于根据特定字段的预设的取值范围,在最终聚类的一个或多个数据对象中,获取数据对象的特定字段的值处于所述取值范围内的一个或多个数据对象。
10.根据权利要求8所述的装置,其特征在于,所述提取模块进一步包括: 确定子模块,用于根据预先存储的词语库,确定所述每个数据对象的描述性信息中包含的一个或多个词语;以及 提取子模块,用于根据所述一个或多个词语的词语互信息,提取所述每个数据对象的封闭特征。
【文档编号】G06F17/30GK103617192SQ201310551692
【公开日】2014年3月5日 申请日期:2013年11月7日 优先权日:2013年11月7日
【发明者】马金山 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1