软件名称的分类方法及装置与流程

文档序号:33632991发布日期:2023-03-28 23:38阅读:66来源:国知局
软件名称的分类方法及装置与流程

1.本发明涉及信息处理技术领域,尤其是涉及一种软件名称的分类方法及装置。


背景技术:

2.随着移动通信技术的发展,越来越多的软件被开发出来,目前在架的软件数量达到了数百万,必须要进一步强化软件分类检测的手段建设。然而,很多网站下载平台并没有相关软件分类检测的手段,只能靠人工分类方式对软件进行分类,人工分类的效率和准确性均较低,尤其是在面临上百万的软件时,人工分类的方式显然无法满足需求。


技术实现要素:

3.有鉴于此,本发明的目的在于提供一种软件名称的分类方法及装置,以提高对软件进行分类的效率和准确性。
4.第一方面,本发明实施例提供了一种软件名称的分类方法,所述方法包括:基于预先进行人工分类的多个已知软件名称建立初始名称语料库;其中,所述初始名称语料库包括多个已知分类,每个已知分类均包括多个已知软件名称;通过所述初始名称语料库分别提取每个已知分类的特征词;其中,每个已知分类的特征词为该已知分类的已知软件名称中出现频率超过预设频率阈值的词语;基于每个已知分类的特征词和预先定义的每个已知分类的自定义词,建立初始分类知识库;其中,所述自定义词包括以下中至少之一:与特征词词义不相近的第一自定义词、与特征词词义相近的第二自定义词、通过网络爬取得到的与所述第一自定义词和所述第二自定义词均不同的第三自定义词;通过所述初始分类知识库对待分类的多个第一软件名称进行分类预处理,得到每个第一软件名称的第一分类;基于每个第一软件名称的第一分类对每个第一软件名称进行分类校验,并根据每个第一软件名称的分类校验结果确定每个第一软件名称的最终分类结果。
5.第二方面,本发明实施例还提供一种软件名称的分类装置,所述装置包括:第一建立模块,用于基于预先进行人工分类的多个已知软件名称建立初始名称语料库;其中,所述初始名称语料库包括多个已知分类,每个已知分类均包括多个已知软件名称;提取模块,用于通过所述初始名称语料库分别提取每个已知分类的特征词;其中,每个已知分类的特征词为该已知分类的已知软件名称中出现频率超过预设频率阈值的词语;第二建立模块,用于基于每个已知分类的特征词和预先定义的每个已知分类的自定义词,建立初始分类知识库;其中,所述自定义词包括以下中至少之一:与特征词词义不相近的第一自定义词、与特征词词义相近的第二自定义词、通过网络爬取得到的与所述第一自定义词和所述第二自定义词均不同的第三自定义词;分类预处理模块,用于通过所述初始分类知识库对待分类的第一软件名称进行分类预处理,得到所述第一软件名称的第一分类;确定模块,用于基于所述第一软件名称的第一分类对所述第一软件名称进行分类校验,并根据所述分类校验的结果确定所述第一软件名称的最终分类结果。
6.本发明实施例提供的一种软件名称的分类方法及装置,基于预先进行人工分类的
多个已知软件名称建立初始名称语料库,通过初始名称语料库分别提取每个已知分类的特征词,基于每个已知分类的特征词和预先定义的每个已知分类的自定义词建立初始分类知识库,通过初始分类知识库对待分类的多个第一软件名称进行分类预处理以得到每个第一软件名称的第一分类,基于每个第一软件名称的第一分类对每个第一软件名称进行分类校验,并根据每个第一软件名称的分类校验结果确定每个第一软件名称的最终分类结果。采用上述技术,只有软件名称即可通过分类知识库自动对软件进行分类,且分类的准确性较高,因而可以满足对大量软件进行分类的需求。
7.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
8.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
9.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
10.图1为本发明实施例提供的一种软件名称的分类方法的流程示意图;
11.图2为本发明实施例提供的一种软件名称的分类方法的示例图;
12.图3为本发明实施例提供的一种软件名称的分类装置的结构示意图;
13.图4为本发明实施例提供的另一种软件名称的分类装置的结构示意图。
具体实施方式
14.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
15.随着移动通信技术的发展,越来越多的软件被开发出来,目前在架的软件数量达到了数百万,必须要进一步强化软件分类检测的手段建设。然而,很多网站下载平台并没有相关软件分类检测的手段,只能靠人工分类方式对软件进行分类,人工分类的效率和准确性均较低,尤其是在面临上百万的软件时,人工分类的方式显然无法满足需求。
16.基于此,本发明实施提供的一种软件名称的分类方法及装置,可以提高对软件进行分类的效率和准确性。
17.为便于对本实施例进行理解,首先对本发明实施例所公开的一种软件名称的分类方法进行详细介绍,参见图1所示的一种软件名称的分类方法的流程示意图,该方法可以包括以下步骤:
18.步骤s102,基于预先进行人工分类的多个已知软件名称建立初始名称语料库;其中,初始名称语料库包括多个已知分类,每个已知分类均包括多个已知软件名称。
19.上述软件可以指安装在电子设备(如手机、台式电脑、笔记本电脑、平板电脑等)上面的软件,如app、软件包等,相应地,上述已知软件名称可以为已知app名称、已知包名称(可简称为“已知包名”)等,对此不进行限定。
20.上述已知分类的划分方式可根据实际需求自定义,例如按照软件所属领域(如金融、游戏、房产、医疗健康、小说等)进行划分、按照软件功能(如会议、购物等)进行划分等,对此不进行限定。
21.上述初始名称语料库具体可采用关系型数据库(如mysql、mariadb等)、非关系型数据库(如cassandra、mongodb等)、键值数据库(如dynamo、leveldb等)等,具体可根据实际情况自行确定,对此不进行限定。
22.具体地,可先分析抽取出一定数量已知软件的名称,建立一个数据库,之后对抽取得到的软件名称进行人工分类存储在该数据库中,该数据库即为上述初始名称语料库。
23.步骤s104,通过初始名称语料库分别提取每个已知分类的特征词;其中,每个已知分类的特征词为该已知分类的已知软件名称中出现频率超过预设频率阈值的词语。
24.上述特征词通常又可被称为“热词”,对于某一个已知分类来说,该已知分类的特征词为该已知分类的已知软件名称中出现频率超过预设频率阈值的词语,具体可以为该已知分类的高频词。例如,对于游戏软件来说,特征词可以包括“英雄”、“技能”、“战斗”等。
25.在建立好上述初始语料库后,可通过上述初始语料库对每个已知分类的已知软件名称进行特征词的提取,从而提取得到每个已知分类的特征词。
26.步骤s106,基于每个已知分类的特征词和预先定义的每个已知分类的自定义词,建立初始分类知识库;其中,自定义词可以包括以下中至少之一:与特征词词义不相近的第一自定义词、与特征词词义相近的第二自定义词、通过网络爬取得到的与第一自定义词和第二自定义词均不同的第三自定义词。
27.示例性地,上述第一自定义词可以为通过程序很难判断的app分类的词语及特定分类专用的词汇(如:小说app的词语“香蕉”)等,具体可根据实际需求自行确定,对此不进行限定。对于某个特征词来说,与该特征词词义相近的第二自定义词可以有一个或多个,例如,与特征词“钱包”词义相近的第二自定义词可以为“钱—包”、“钱_包”、“钱袋”等。上述第三自定义词可以为通过网络爬取得到的最新网络词汇(如“yyds”等)。上述第一自定义词、上述第二自定义词和上述第一自定义词的具体定义方式均可根据实际需求自行调整,对此不进行限定。
28.步骤s108,通过初始分类知识库对待分类的多个第一软件名称进行分类预处理,得到每个第一软件名称的第一分类。
29.示例性地,上述分类预处理具体可以包括去重、添加标识、将软件名称与已知分类的特征词进行匹配、将软件名称与已知分类的自定义词进行匹配等,具体分类预处理方式可根据实际需求自行确定,对此不进行限定。对于待分类的某个软件名称(即第一软件名称)来说,可通过初始分类知识库对该软件名称进行分类预处理,从而得到该软件名称的一个或多个初步的分类(即第一分类)。
30.步骤s110,基于每个第一软件名称的第一分类对每个第一软件名称进行分类校验,并根据每个第一软件名称的分类校验结果确定每个第一软件名称的最终分类结果。
31.示例性地,对于待分类的某个第一软件名称来说,在得到该第一软件名称的一个
或多个第一分类后,可通过分类校验从该第一软件名称的一个或多个第一分类中进一步确定出该第一软件名称的最终分类结果,该第一软件名称的最终分类结果可以为该第一软件名称的第一分类或该第一软件名称分类失败。
32.本发明实施例提供的一种软件名称的分类方法,基于预先进行人工分类的多个已知软件名称建立初始名称语料库,通过初始名称语料库分别提取每个已知分类的特征词,基于每个已知分类的特征词和预先定义的每个已知分类的自定义词建立初始分类知识库,通过初始分类知识库对待分类的多个第一软件名称进行分类预处理以得到每个第一软件名称的第一分类,基于每个第一软件名称的第一分类对每个第一软件名称进行分类校验,并根据每个第一软件名称的分类校验结果确定每个第一软件名称的最终分类结果。采用上述技术,只有软件名称即可通过分类知识库自动对软件进行分类,且分类的准确性较高,因而可以满足对大量软件进行分类的需求。
33.作为一种可能的实施方式,上述已知软件可以包括已知app和已知软件包;上述初始名称语料库可以包括中文名称语料库、英文名称语料库、中文包名语料库和英文包名语料库;基于此,上述步骤s102(即基于预先进行人工分类的多个已知软件名称建立初始名称语料库)可以包括:分析抽取出多个已知app的中文名称、多个已知app的英文名称、多个已知软件包的中文名和多个已知软件包的英文名;基于多个已知app的中文名称、多个已知app的英文名称、多个已知软件包的中文名和多个已知软件包的英文名,分别建立中文名称语料库、英文名称语料库、中文包名语料库和英文包名语料库;将抽取得到的app中文名称、app英文名称、中文包名和英文包名人工分类存储在中文名称语料库、英文名称语料库、中文包名语料库和英文包名语料库中。
34.作为一种可能的实施方式,上述步骤s104(即通过初始名称语料库分别提取每个已知分类的特征词)可以包括:通过中文名称语料库、英文名称语料库、中文包名语料库和英文包名语料库分别用预设算法(如贝叶斯算法等)提取得到每个已知分类的中文特征词和每个已知分类的英文特征词。
35.作为一种可能的实施方式,上述初始分类知识库可以包括应用分类知识库、人工分类知识库、相近词义知识库、爬取分类知识库。通过人工分类知识库存储定义的每个已知分类的自定义词。在定义好每个已知分类的第一自定义词、第二自定义词和第三自定义词并得到每个已知分类的特征词后,建立一个应用分类知识库并通过该应用分类知识库存储每个已知分类的特征词,通过日常积累建立人工分类知识库并通过该人工分类知识库收集每个已知分类的第一自定义词,建立相近词知识库并通过该相近词知识库收集每个已知分类的第二自定义词,建立爬取分类知识库并通过该爬取分类知识库收集每个已知分类的第三自定义词。
36.作为一种可能的实施方式,上述初始分类知识库可以包括每个已知分类各自对应的特征词以及每个已知分类各自对应的自定义词;基于此,上述步骤s108(即通过初始分类知识库对待分类的多个第一软件名称进行分类预处理,得到每个第一软件名称的第一分类)可以包括:
37.(11)对于每个第一软件名称,将该第一软件名称分别与初始分类知识库中每个已知分类各自对应的特征词进行匹配。
38.(12)对于每个第一软件名称,若该第一软件名称与初始分类知识库中的特征词匹
配成功,则将初始分类知识库中与该第一软件名称匹配的特征词所对应的已知分类作为该第一软件名称的第一分类。
39.通过上述(11)和(12)的操作方式,可以通过特征词匹配的方式实现多个第一软件名称的批量初步分类,提高了软件名称分类的效率和准确性。
40.基于上述(11)和(12),作为一种可能的实施方式,上述步骤s108(即通过初始分类知识库对待分类的多个第一软件名称进行分类预处理,得到每个第一软件名称的第一分类)还可以包括:
41.(21)对于每个第一软件名称,若该第一软件名称与初始分类知识库中的特征词匹配失败,则将该第一软件名称分别与初始分类知识库中每个已知分类各自对应的自定义词进行匹配。
42.(22)对于每个第一软件名称,若该第一软件名称与初始分类知识库中的自定义词匹配成功,则将初始分类知识库中与该第一软件名称匹配的自定义词所对应的已知分类作为该第一软件名称的第一分类。
43.通过上述(21)和(22)的操作方式,在待分类的第一软件名称匹配不到已知分类的特征词时,可进一步通过自定义词匹配的方式实现第一软件名称的批量初步分类,提高了软件名称分类的效率和准确性。
44.作为一种可能的实施方式,上述步骤s108(即通过初始分类知识库对待分类的多个第一软件名称进行分类预处理,得到每个第一软件名称的第一分类)还可以包括:
45.(31)对于每个第一软件名称,若该第一软件名称不符合预设规则,则用第一预设标识方式标识该第一软件名称。
46.上述预设规则和第一预设标识方式均可根据实际需求自定义,对此不进行限定。例如,在将每个第一软件名称分别与初始分类知识库中每个已知分类各自对应的特征词进行匹配的同时,还可用第一预设标识方式标识不符合预设规则的第一软件名称。再例如,在将每个第一软件名称分别与初始分类知识库中每个已知分类各自对应的自定义词进行匹配的同时,还可用第一预设标识方式标识不符合预设规则的第一软件名称。
47.此外,还可将具有不符合预设规则的第一软件名称的软件定义为不合规软件,将具有符合预设规则的第一软件名称的软件定义为合规软件,从而通过(31)的操作方式标识出不合规软件的第一软件名称,以便相关人员从大量软件中确定出不合规软件,从而提高了不合规软件的筛查效率。
48.作为一种可能的实施方式,上述步骤s108(即通过初始分类知识库对待分类的多个第一软件名称进行分类预处理,得到每个第一软件名称的第一分类)还可以包括:通过初始分类知识库对多个第一软件名称进行去重处理。采用该操作方式可进一步减少冗余的第一软件名称,从而提高了软件名称分类的效率。
49.作为一种可能的实施方式,上述基于每个第一软件名称的第一分类对每个第一软件名称进行分类校验的步骤可以包括:
50.(41)对于每个第一软件名称,若该第一软件名称的第一分类有多个,则将该第一软件名称分别与预先定义的每个已知分类的关键词进行匹配;其中,关键词为不同已知分类中相同的词(如:“网盘”与“盘子”中的“盘”、“佛教”与“哈佛”中的“佛”等)。
51.(42)对于每个第一软件名称,若该第一软件名称与多个已知分类的关键词匹配或
者该第一软件名称与每个已知分类的关键词均不匹配,则该第一软件名称的分类校验不通过。
52.(43)对于每个第一软件名称,若该第一软件名称与一个已知分类的关键词匹配成功,则该第一软件名称的分类校验通过。
53.采用上述(41)至(43)的操作方式,可通过关键词匹配的方式进一步提高软件名称分类的准确性。
54.作为一种可能的实施方式,上述基于每个第一软件名称的第一分类对每个第一软件名称进行分类校验的步骤可以包括:
55.(51)对于每个第一软件名称,若该第一软件名称的第一分类有多个,则将该第一软件名称分别与预先定义的每个已知分类的互斥词进行匹配;其中,互斥词为不同已知分类中具有相同关键词的词。
56.(52)对于每个第一软件名称,若该第一软件名称与每个已知分类的互斥词均不匹配,则该第一软件名称的分类校验不通过。
57.(53)对于每个第一软件名称,若该第一软件名称与一个已知分类的互斥词匹配成功,则该第一软件名称的分类校验通过。
58.示例性地,在定义好每个已知分类的互斥词后,可建立互斥分类知识库并通过该互斥分类知识库收集每个已知分类的互斥词(如:“网盘”与“盘子”、“佛教”与“哈佛”等)。对于某个第一软件名称来说,若该第一软件名称的第一分类有多个,则将该第一软件名称分别与互斥分类知识库中每个已知分类的互斥词进行匹配;若匹配失败,则该第一软件名称的分类校验不通过;若匹配成功,则该第一软件名称的分类校验通过。
59.采用上述(51)至(53)的操作方式,可通过互斥词匹配的方式进一步提高软件名称分类的准确性。
60.作为一种可能的实施方式,上述根据每个第一软件名称的分类校验结果确定每个第一软件名称的最终分类结果的步骤可以包括:
61.(61)对于每个第一软件名称,若该第一软件名称的分类校验通过,则将该第一软件名称的第一分类作为该第一软件名称的最终分类结果;
62.(62)对于每个第一软件名称,若该第一软件名称的分类校验不通过,则确定该第一软件名称分类失败,并将该第一软件名称分类失败作为该第一软件名称的最终分类结果。
63.作为一种可能的实施方式,在上述根据每个第一软件名称的分类校验结果确定每个第一软件名称的最终分类结果的步骤之后,上述软件名称的分类方法还可以包括:
64.(71)对于每个第一软件名称,若该第一软件名称的最终分类结果为该第一软件名称分类失败,则执行上述将该第一软件名称分别与初始分类知识库中每个已知分类各自对应的自定义词进行匹配的步骤。
65.(72)对于每个第一软件名称,若该第一软件名称的最终分类结果为该第一软件名称的第一分类,则将该第一软件名称以及该第一软件名称的第一分类添加至初始名称语料库。
66.通过(71)和(72)的操作方式,可以实现初始名称语料库的动态更新,并在初始名称语料库动态更新的过程中不断对待分类的同一个第一软件名称进行分类,进一步提高了
软件名称分类的准确性。
67.作为一种可能的实施方式,上述软件名称的分类方法还可以包括:对于每个第一软件名称,若该第一软件名称与所述初始分类知识库中的自定义词匹配失败,则将该第一软件名称作为未分类软件名称添加至预先建立的未分类名称库。
68.为了便于理解,在此以图2为例对上述软件名称的分类方法进行示例性描述如下:
69.参见图2所示,上述软件名称的分类方法可以按照以下步骤进行:
70.步骤1,分析抽取出一定数量已有app的中文名称和英文名称以及一定数量已有软件包的中文包名和英文包名组成一个分类库,同时还构建一个用于收集分类失败的app名称和/或软件包包名的未分类库(即上述未分类名称库);分别建立中文名称语料库、英文名称语料库、中文包名语料库和英文包名语料库,并将中文名称语料库、英文名称语料库、中文包名语料库和英文包名语料库组成上述初始名称语料库;将抽取得到的中文名称、英文名称、中文包名和英文包名分别人工分类存储在中文名称语料库、英文名称语料库、中文包名语料库和英文包名语料库中。
71.步骤2,通过中文名称语料库、英文名称语料库、中文包名语料库和英文包名语料库分别采用贝叶斯算法对各分类下的中文名称、英文名称、中文包名和英文包名进行热词提取,得到各分类下的热词,建立应用分类知识库并通过该应用分类知识库收集各分类下的热词(图2中应用分类知识库可以包括游戏热词库、金融热词库、
……
等)。
72.步骤3,通过日常积累建立人工分类知识库并通过该人工分类知识库收集通过程序很难判断的各个分类下与热词词义不相近的第一自定义词(图2中人工分类知识库可以包括购物app特定词库、小说app特定词库、
……
等);建立相近词知识库并通过该相近词知识库收集各个分类下与热词词义相近的第二自定义词(图2中相近词知识库可以包括游戏app相近词库、金融app相近词库、
……
等);通过爬取程序对未分类的app名称和包名称去互联网进行分类爬取,建立爬取分类知识库并通过该爬取分类知识库收集各个分类下爬取得到的最新网络词汇(也即上述第三自定义词);定义好不同分类下相同的关键词;建立互斥分类知识库并通过该互斥分类知识库收集不同分类下具有相同关键词的互斥词(图2中互斥分类知识库可以包括购物app互斥词库、小说app互斥词库、
……
等)。
73.步骤4,对于待分类的每个新app名称和每个新包名,通过应用分类知识库进行一次分类预处理。
74.具体地,可通过应用分类知识库将待分类的全部新app名称和全部新包名进行去重处理(即将新app名称和新包名中重复的名称和/或包名去除),再将去重后的每个新app名称和每个新包名分别与应用分类知识库中各个分类下的热词进行匹配。
75.对于每个新app名称和每个新包名来说,上述一次分类预处理的结果为匹配成功(匹配到相应的热词)或匹配失败(未匹配到相应的热词),若匹配失败,则执行步骤5,若匹配成功,则执行步骤6。
76.步骤5,通过人工分类知识库、相近词知识库和爬取分类知识库进行第二次分类预处理。
77.具体地,可将步骤4中匹配失败的每个新app名称和/或每个新包名依次与人工分类知识库中各个分类下的第一自定义词、相近词知识库中各个分类下的第二自定义词和爬取分类知识库中各个分类下的第三自定义词进行匹配,若匹配成功(即匹配到相应的自定
义词),则执行步骤6,若匹配失败(即未匹配到相应的自定义词),则进入上述未分类库。
78.步骤6,通过关键词和互斥分类知识库进行分类校验。
79.具体地,分类校验可以包括跨分类校验和互斥校验。通过关键词进行跨分类校验,即:将步骤4或步骤5中匹配成功的每个新app名称和/或每个新包名中的特征词依次与各个分类下的关键词和互斥分类知识库中各个分类下的互斥词进行匹配,若匹配到多个分类的关键词或者匹配不到相应的关键词,则校验不通过;若与一个分类的关键词匹配,则校验通过。通过互斥分类知识库进行互斥校验,即:将步骤4或步骤5中匹配成功的每个新app名称和/或每个新包名分别与互斥分类知识库中各个分类下的互斥词进行匹配,若匹配到相应的互斥词,则校验通过;若匹配不到相应的互斥词,则校验不通过。
80.对于步骤4或步骤5中匹配成功的每个新app名称和/或每个新包名来说,上述分类校验的结果为校验通过或校验不通过,若校验不通过,则回到步骤5重新进行第二次分类预处理,若校验通过,则进入上述分类库。
81.采用上述图2所示的方法,在只有app的名称和/或软件包的包名时,也可以进行app和/或软件包的分类,同时利用多种知识库提高了app和/或软件包分类的准确性。此外,还可定期通过分类库将已分类的app和/或软件包进行app名称和/或包名的采集,进而定期维护应用分类知识库以完善及更新应用分类知识库,从而实现应用分类知识库的自我进化、螺旋生长,保持应用分类知识库的鲜活、准确。
82.基于上述软件名称的分类方法,本发明实施例还提供一种软件名称的分类装置,参见图3所示,该装置可以包括以下模块:
83.第一建立模块302,可以用于基于预先进行人工分类的多个已知软件名称建立初始名称语料库;其中,所述初始名称语料库包括多个已知分类,每个已知分类均包括多个已知软件名称。
84.提取模块304,可以用于通过所述初始名称语料库分别提取每个已知分类的特征词;其中,每个已知分类的特征词为该已知分类的已知软件名称中出现频率超过预设频率阈值的词语。
85.第二建立模块306,可以用于基于每个已知分类的特征词和预先定义的每个已知分类的自定义词,建立初始分类知识库;其中,所述自定义词包括以下中至少之一:与特征词词义不相近的第一自定义词、与特征词词义相近的第二自定义词、通过网络爬取得到的与所述第一自定义词和所述第二自定义词均不同的第三自定义词。
86.分类预处理模块308,可以用于通过所述初始分类知识库对待分类的第一软件名称进行分类预处理,得到所述第一软件名称的第一分类。
87.分类校验模块310,可以用于基于所述第一软件名称的第一分类对所述第一软件名称进行分类校验,并根据所述分类校验的结果确定所述第一软件名称的最终分类结果。
88.本发明实施例提供的一种软件名称的分类装置,基于预先进行人工分类的多个已知软件名称建立初始名称语料库,通过初始名称语料库分别提取每个已知分类的特征词,基于每个已知分类的特征词和预先定义的每个已知分类的自定义词建立初始分类知识库,通过初始分类知识库对待分类的多个第一软件名称进行分类预处理以得到每个第一软件名称的第一分类,基于每个第一软件名称的第一分类对每个第一软件名称进行分类校验,并根据每个第一软件名称的分类校验结果确定每个第一软件名称的最终分类结果。采用上
述技术,只有软件名称即可通过分类知识库自动对软件进行分类,且分类的准确性较高,因而可以满足对大量软件进行分类的需求。
89.上述初始分类知识库可以包括每个已知分类各自对应的特征词以及每个已知分类各自对应的自定义词;基于此,上述分类预处理模块308还可以用于:对于每个第一软件名称,将该第一软件名称分别与所述初始分类知识库中每个已知分类各自对应的特征词进行匹配;对于每个第一软件名称,若该第一软件名称与所述初始分类知识库中的特征词匹配成功,则将所述初始分类知识库中与该第一软件名称匹配的特征词所对应的已知分类作为该第一软件名称的第一分类。
90.上述分类预处理模块308还可以用于:对于每个第一软件名称,若该第一软件名称与所述初始分类知识库中的特征词匹配失败,则将该第一软件名称分别与所述初始分类知识库中每个已知分类各自对应的自定义词进行匹配;对于每个第一软件名称,若该第一软件名称与所述初始分类知识库中的自定义词匹配成功,则将所述初始分类知识库中与该第一软件名称匹配的自定义词所对应的已知分类作为该第一软件名称的第一分类。
91.上述分类预处理模块308还可以用于:对于每个第一软件名称,若该第一软件名称不符合预设规则,则用第一预设标识方式标识该第一软件名称。
92.上述分类校验模块310还可以用于:对于每个第一软件名称,若该第一软件名称的第一分类有多个,则将该第一软件名称分别与预先定义的每个已知分类的关键词进行匹配;其中,所述关键词为不同已知分类中相同的词;对于每个第一软件名称,若该第一软件名称与多个已知分类的关键词匹配或者该第一软件名称与每个已知分类的关键词均不匹配,则该第一软件名称的分类校验不通过;对于每个第一软件名称,若该第一软件名称与一个已知分类的关键词匹配成功,则该第一软件名称的分类校验通过。
93.上述分类校验模块310还可以用于:对于每个第一软件名称,若该第一软件名称的第一分类有多个,则将该第一软件名称分别与预先定义的每个已知分类的互斥词进行匹配;其中,所述互斥词为不同已知分类中具有相同关键词的词;对于每个第一软件名称,若该第一软件名称与每个已知分类的互斥词均不匹配,则该第一软件名称的分类校验不通过;对于每个第一软件名称,若该第一软件名称与一个已知分类的互斥词匹配成功,则该第一软件名称的分类校验通过。
94.上述分类校验模块310还可以用于:对于每个第一软件名称,若该第一软件名称的分类校验通过,则将该第一软件名称的第一分类作为该第一软件名称的最终分类结果;对于每个第一软件名称,若该第一软件名称的分类校验不通过,则确定该第一软件名称分类失败,并将该第一软件名称分类失败作为该第一软件名称的最终分类结果。
95.上述分类预处理模块308还可以用于:对于每个第一软件名称,若该第一软件名称与所述初始分类知识库中的自定义词匹配失败,则将该第一软件名称作为未分类软件名称添加至预先建立的未分类名称库。
96.基于上述图3所示的软件名称的分类装置,本发明实施例还提供另一种软件名称的分类装置,参见图4所示,该装置还可以包括重新分类预处理模块312,所述重新分类预处理模块312可以用于:对于每个第一软件名称,若该第一软件名称的最终分类结果为该第一软件名称分类失败,则执行所述将该第一软件名称分别与所述初始分类知识库中每个已知分类各自对应的自定义词进行匹配的步骤。
97.参见图4所示,该装置还可以包括初始名称语料库更新模块314,所述初始名称语料库更新模块314可以用于:对于每个第一软件名称,若该第一软件名称的最终分类结果为该第一软件名称的第一分类,则将该第一软件名称以及该第一软件名称的第一分类添加至所述初始名称语料库。
98.本发明实施例所提供的软件名称的分类装置,其实现原理及产生的技术效果和前述软件名称的分类方法实施例相同,为简要描述,软件名称的分类装置实施例部分未提及之处,可参考前述软件名称的分类方法实施例中相应内容。
99.除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
100.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
101.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
102.最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1