一种应用聚类方法和装置与流程

文档序号:12008832阅读:147来源:国知局
一种应用聚类方法和装置与流程
本发明涉及互联网技术,尤其涉及一种应用聚类方法和装置。

背景技术:
互联网上的应用资源数量庞大,而且不断地得到更新、扩充。而用户面对这些纷繁复杂的应用资源时,如何方便、准确地找到目标类型的应用资源是当前面对的现实问题,而解决该问题的关键在于有效聚类同款应用。现有技术中,通常采用以下方法聚类同一款应用:抓取具有相同名称的应用;简单地去除应用中可以识别的版本信息;根据相同的应用名称聚类所述应用。但是,这种方法的缺陷在于,同一款应用通常在不同站点所抓取的名称差别很大,由此导致很多相同应用并没有被合理地识别为同一款应用,导致用户无法一次性获取所需的应用资源。另外,有些应用虽然在不同站点所抓取的名称相同或相似,但是实质内容存在很大区别,导致用户下载某些应用资源后,得到的并不是与应用名称相符的资源。

技术实现要素:
本发明的目的是提供一种应用聚类方法和装置,可以有效聚类相同应用。根据本发明的一个方面,提供了一种应用聚类方法,该方法包括以下步骤:初始化所需的信息资源,获取待聚类的多个应用外部名称;基于已初始化的信息,下载应用并对其进行解析,获取所解析的应用内部名称;对所获取的应用外部名称以及所解析的应用内部名称分别进行预处理;根据预处理结果,确定应用聚类的方式并进行应用聚类。根据本发明的另一个方面,还提供了一种应用聚类装置,包括:信息初始化模块,用于初始化所需的信息资源,获取待聚类的多个应用外部名称;应用获取模块,基于已初始化的信息,下载应用并对其进行解析,获取所解析的应用内部名称;名称预处理模块,用于对所获取的应用外部名称以及所解析的应用内部名称分别进行预处理;应用聚类模块,根据预处理结果,确定应用聚类的方式并进行应用聚类。与现有技术相比,本发明具有以下优点:1)本发明可以有效聚类相同的应用,可以在有限的终端(如手机、pad)屏幕上展示更丰富的信息,优化应用搜索结果,尤其是游戏类应用的搜索结果;2)本发明提供的聚类方法可以集合更多应用相关信息,进而可以抽取出信息量更高的数据,提高检索相关性。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:图1为根据本发明一个优选实施例的应用聚类方法流程图;图2为根据本发明另一个优选实施例的应用聚类装置的示意性框图。具体实施方式下面结合附图对本发明作进一步详细描述。根据本发明的一个方面,提供了一种应用聚类方法。请参考图1,图1为根据本发明一个优选实施例的应用聚类方法流程图。如图1所示,本发明所提供的应用聚类方法包括以下步骤:步骤S101,初始化所需的信息资源,获取待聚类的多个应用外部名称。具体地,所述信息资源包括诸如同义词表、应用信息列表、名称映射表以及结果存储表等类型的数据。所述初始化的步骤包括:a)加载同义词表;其中,所述同义词表是指其中包含有相同或相似含义的词表数据库,该数据库可以由本实施例创建,也可以从第三方获取。b)加载应用信息列表,包括应用外部名称和应用下载链接;其中,所述应用信息列表通常由第三方提供(例如根据第三方提供的应用信息抓取相应的数据),包括应用外部名称(如新浪微博v1.0、新浪微博绿色版、sinaweibo等)、应用下载链接信息等。其中,所述应用外部名称在此不作约束,在实际情况中,所述第三方提供的外部名称可能与应用信息列表所来自的站点描述不一致。c)初始化所述应用外部名称和所解析的应用名称的映射表;其中,所述解析的应用名称如下文所述,在未得到所解析的应用名称前,初始化所述应用外部名称和将要得到的解析后应用名称的映射表。通常,所述应用外部名称和所解析的应用名称是不一样的,前者一般更具有描述性、内容更丰富,后者一般比较精简。d)初始化应用聚类结果存储表,并将该存储表命名为cluster_map。步骤S102,基于已初始化的信息,下载所述应用并对其进行解析,获取所解析的应用名称。具体地,从已初始化的信息中,获取应用信息列表并从中取出一个应用条目,根据应用信息列表中的应用下载链接下载该应用对应的应用包。进一步地,对该应用包进行解析,从中获取所述应用解析后的内部名称,在本实施例中,对应用包进行解析的方式以及所使用的解析工具不做限定。步骤S103,对所获取的应用外部名称以及所解析的应用名称分别进行预处理。具体地,所述预处理具体包括:Ⅰ)分别过滤所述应用外部名称以及所解析的应用名称的版本信息;通常,所述由第三方提供的应用外部名称含有版本信息,如v1.0等。在本实施例中,无论是应用外部名称还是解析得到的应用名称,都对其进行版本信息的过滤操作。过滤操作的方式包括但不限于利用模式匹配,查找并去除所述名称中特定的版本信息(或特定字符串),如v1.0。Ⅱ)对所述已过滤的应用外部名称以及所解析的应用名称进行切词、去除停用词或/和字词替换处理。其中,在本实施例中,切词的方法在此不作限制。切词后,对其中的停用词/无用词做去除处理。例如,去掉其中含“版”的词,如去除词语“绿色版”。进一步地,对于名称中的某些词,还需要进行替换处理,例如,将名称为“sinaweibo”的字符串替换成中文名称“新浪微博”。Ⅲ)对所述经过切词处理并过滤的结果进行散列计算,分别将经过散列计算的结果命名为组id(组名称标识)和内部id(内部名称标识)。具体地,对经过上述步骤Ⅱ)处理过的结果进行散列计算,在本实施例中,对散列计算的方式在此不予限定,包括但不限于采用MD2、MD4、MD5或SHA-1散列算法。进一步地,分别将经过上述散列计算后的应用外部名称以及所解析的应用名称所对应的结果命名为组id和内部id。步骤S104,根据预处理结果,确定应用聚类的方式并进行应用聚类。具体地,根据所述应用外部名称对所述多个应用进行聚类,以获得第一聚类结果;然后,根据第一聚类结果中的所解析的应用名称,对所述第一聚类结果中的各类进行合并,以获得第二聚类结果。其中,所述聚类的方式包括但不限于:如果两个类中的应用具有相同的所解析的应用名称,则对这两个类进行聚类。即,根据组id聚类应用,并将所有组id相同的数据标记为同一类,并将其保存在所述映射表中。由此,多个不同的内部id对应同一组id,即组id值相同的应用被标记为同一组;进一步根据内部id聚类应用,对于内部id相同而对应的组id不同的应用,将其合并成一类应用。进一步地,本发明所述的方法还包括:遍历所有的应用列表,进行步骤S101到步骤S104的操作,以完成对所有应用列表中的应用的聚类。当然,所述领域的技术人员可以明白,本发明的上述方法或系统可以应用于各类应用的聚类。作为优选的实施例,可以将上述方法或系统应用于游戏应用的聚类。与现有技术相比,本发明所提供的应用聚类方法具有以下优点:1)本发明可以有效针对不同类型的应用进行有效地聚类,尤其是针对游戏类的应用聚类,效果更明显;2)本发明通过对应用进行聚类,可以提升用户的检索和下载体验。根据本发明的另一个方面,还提供了一种应用聚类装置。请参考图2所示,图2为根据本发明一个优选实施例的应用聚类装置示意图。如图2所示,该装置包括:信息初始化模块201,用于初始化所需的信息资源,获取待聚类的多个应用外部名称;应用获取模块202,基于已初始化的信息,下载应用并对其进行解析,获取所解析的应用名称;名称预处理模块203,用于对所获取的应用外部名称以及所解析的应用名称分别进行预处理;应用聚类模块204,根据预处理结果,确定应用聚类的方式并进行应用聚类。下面,将对本发明所提供的各模块的具体工作过程进行详细说明。其中,所述信息初始化模块201初始化的信息资源包括诸如同义词表、应用信息列表、名称映射表以及结果存储表等类型的数据。所述初始化的步骤包括:a)加载同义词表;其中,所述同义词表是指其中包含有相同或相似含义的词表数据库,该数据库可以由本实施例创建,也可以从第三方获取。b)加载应用信息列表,包括应用外部名称和应用下载链接;其中,所述应用信息列表通常由第三方提供(例如根据第三方提供的应用信息抓取相应的数据),包括应用外部名称(如新浪微博v1.0、新浪微博绿色版、sinaweibo等)、应用下载链接信息等。其中,所述应用外部名称在此不作约束,在实际情况中,所述第三方提供的外部名称可能与应用信息列表所来自的站点描述不一致。c)初始化所述应用外部名称和所解析的应用名称的映射表;其中,所述解析的应用名称如下文所述,在未得到所解析的应用名称前,初始化所述应用外部名称和将要得到的解析后应用名称的映射表。通常,所述应用外部名称和所解析的应用名称是不一样的,前者一般更具有描述性、内容更丰富,后者一般比较精简。d)初始化应用聚类结果存储表,并将该存储表命名为cluster_map。其中,所述应用获取模块202从已初始化的信息中,获取应用信息列表并从中取出一个应用条目,根据应用信息列表中的应用下载链接下载该应用对应的应用包。进一步地,所述应用获取模块202对该应用包进行解析,从中获取所述应用解析后的内部名称,在本实施例中,对应用包进行解析的方式以及所使用的解析工具不做限定。其中,所述名称预处理模块203进行的预处理操作具体包括:Ⅰ)分别过滤所述应用外部名称以及所解析的应用名称的版本信息;通常,所述由第三方提供的应用外部名称含有版本信息,如v1.0等。在本实施例中,无论是应用外部名称还是解析得到的应用名称,都对其进行版本信息的过滤操作。过滤操作的方式包括但不限于利用模式匹配,查找并去除所述名称中特定的版本信息(或特定字符串),如v1.0。Ⅱ)对所述已过滤的应用外部名称以及所解析的应用名称进行切词、去除停用词或/和字词替换处理。其中,在本实施例中,切词的方法在此不作限制。切词后,对其中的停用词/无用词做去除处理。例如,去掉其中含“版”的词,如去除词语“绿色版”。进一步地,对于名称中的某些词,还需要进行替换处理,例如,将名称为“sinaweibo”的字符串替换成中文名称“新浪微博”。Ⅲ)对所述经过切词处理并过滤的结果进行散列计算,分别将经过散列计算的结果命名为组id(组名称标识)和内部id(内部名称标识)。具体地,对经过上述步骤Ⅱ)处理过的结果进行散列计算,在本实施例中,对散列计算的方式在此不予限定,包括但不限于采用MD2、MD4、MD5或SHA-1散列算法。进一步地,分别将经过上述散列计算后的应用外部名称以及所解析的应用名称所对应的结果命名为组id和内部id。其中,所述应用聚类模块204根据所述应用外部名称对所述多个应用进行聚类,以获得第一聚类结果;然后,根据第一聚类结果中的所解析的应用名称,对所述第一聚类结果中的各类进行合并,以获得第二聚类结果。其中,所述聚类的方式包括但不限于:如果两个类中的应用具有相同的所解析的应用名称,则对这两个类进行聚类。即,根据组id聚类应用,并将所有组id相同的数据标记为同一类,并将其保存在所述映射表中。由此,多个不同的内部id对应同一组id,即组id值相同的应用被标记为同一组;进一步根据内部id聚类应用,对于内部id相同而对应的组id不同的应用,将其合并成一类应用。进一步地,本发明提供的装置还包括应用遍历模块,用于遍历所有的应用列表。通过所述应用遍历模块对所有应用列表的遍历,并通过上述其他各模块的操作,可以完成所有应用列表中的应用聚类。本发明所提供的应用聚类装置具有以下优点:本发明提供的方案不依赖于应用资源在不同站点所抓取的名称,客观聚类,满足了应用搜索结果的统一性,确保应用资源的高效聚类,根据用户的需求,得到准确的聚类结果,提升搜索效率。以上所揭露的仅为本发明的较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1