一种app分类系统转让专利

申请号 : CN202110197951.2

文献号 : CN113010671B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 俞锋锋吕繁荣陈津来姚建明李柳音

申请人 : 杭州西湖数据智能研究院

摘要 :

本发明涉及一种app分类系统,包括预设的第一数据库、第二数据库、第一向量生成模型、第二向量生成模型、分类模型、处理器和存储有计算机程序的存储器,其中,所述第一数据库中存储有多条app的描述信息记录;所述第二数据库中存储有多条app安装序列;所述第一向量生成模型生成预设M维度的第一向量,所述二向量生成模型生成预设N维度的第二向量。本发明针对有描述信息和无描述信息的app均可进行分类,提高了app分类的通用性和准确性。

权利要求 :

1.一种app分类系统,其特征在于,包括预设的第一数据库、第二数据库、第一向量生成模型、第二向量生成模型、分类模型、处理器和存储有计算机程序的存储器,其中,所述第一数据库中存储有多条app的描述信息记录,所述app的描述信息记录包括app id和对应的app描述信息,所述app描述信息为文本信息;所述第二数据库中存储有多条app安装序列,所述app安装序列基于对应的设备上安装的app的id按照安装时间先后顺序排序得到;所述app id是app的唯一id,同一app在所述第一数据库和第二数据库中的app id相同;所述第一向量生成模型生成预设M维度的第一向量,所述二向量生成模型生成预设N维度的第二向量,当所述计算机程序被处理器执行时,实现以下步骤:

步骤S1、获取待分类app id,基于所述待分类app id并行执行步骤S2和步骤S3;

步骤S2、基于所述待分类app id判断所述第一数据库中是否存在对应的描述信息,若存在,将待分类app id对应的描述信息输入所述第一向量生成模型中生成待处理第一向量,否则,直接生成每一维度均为0的待处理第一向量;

步骤S3、基于所述待分类app id从所述第二数据库中随机获取预设X个app安装序列,将所述X个app安装序列输入所述第二向量生成模型中生成待处理第二向量;

步骤S4、将所述待处理第一向量和待处理第二向量拼接生成待处理输入向量;

步骤S5、将所述待处理输入向量输入所述分类模型中,输出待分类app id对应的app类别。

2.根据权利要求1所述的系统,其特征在于,还包括训练样本数据集,包括多个已标注app类别的app id训练样本,当所述计算机程序被处理器执行时,还实现步骤S10、训练得到所述分类模型,具体包括:步骤S101、从所述训练样本数据集中获取A个训练样本,从所述第一数据库中获取A个训练样本对应的描述信息,将每一训练样本对应的描述信息输入第一向量生成模型中得到对应的第一向量;

步骤S102、从所述训练样本数据集中获取B个训练样本,从所述第二数据库中获取预设Y个app安装序列,并将所述Y个app安装序列输入所述第二向量生成模型中获取B个训练样本中每一训练样本对应的第二向量,其中,B大于A,且所述B个训练样本中包括所述A个训练样本;

步骤S103、判断所述B个训练样本中每一训练样本是否存在对应的第一向量,若存在,则将训练样本对应的第一向量和第二向量拼接生成训练样本对应的输入向量,若不存在,则为训练样本生成每一维度均为0的第一向量并与对应的第二向量拼接,生成训练样本对应的输入向量;

步骤S104、每一训练样本对应的预设的R维度分类向量的实际app别对应的维度设置为

1,其它维度设置为0,得到每一训练样本对应的实际分类向量,将B个训练样本对应的输入向量输入预设的分类模型中,得到每一训练样本对应的预测分类向量;

步骤S105、基于B个训练样本对应的预测分类向量和实际分类向量计算损失函数,并基于损失函数判断当前分类模型是否达到预设精度,若达到,则结束训练,否则,基于当前损失函数调整分类模型的模型参数,并返回步骤S101。

3.根据权利要求2所述的系统,其特征在于,所述系统还包括测试样本数据集,包括多个未标注app类别app id测试样本, 所述步骤S10还包括:

步骤S111、从所述测试样本数据集中获取F个测试样本,并行执行步骤S112和步骤S113;

步骤S112、基于每一测试样本判断所述第一数据库中是否存在对应的描述信息,若存在,将测试样本对应的描述信息输入所述第一向量生成模型中生成对应的第一向量,否则,直接生成每一维度均为0的第一向量;

步骤S113、基于每一测试样本从所述第二数据库中随机获取预设Z个app安装序列,将所述Z个app安装序列输入所述第二向量生成模型获取每一测试样本对应的处理第二向量;

步骤S114、将每一测试样本对应的第一向量和第二向量拼接生成对应的输入向量;

步骤S115、将每一测试样本对应的输入向量输入当前训练的分类模型中,输出每一测试样本对应的预测分类向量;

步骤S116、将每一测试样本对应的预测分类向量中维度对应的数值最高的类别标注为对应的预测类别;

步骤S117、将每一测试样本对应的预测类别输出至信息交互界面上,并接收用户输入的校验指令,得到每一测试样本对应的app类别,将每一测试样本标注上app类别并加入到所述训练样本数据集中。

4.根据权利要求2所述的系统,其特征在于,所述步骤S2和步骤S101中,所述第一向量生成模型基于输入的app描述信息生成对应的第一向量,包括:

步骤S201、采用预设的滑窗和预设的滑动步长在输入的app描述信息中移动所述滑窗,得到n个文本描述信息段,包括第一文本描述信息段、第二文本描述信息段、第三文本描述信息段…第C文本描述信息段;

步骤S202、将每一文本描述信息段输入第一向量生成模型得到每一文本描述信息段对应的第一子向量;

步骤S203、将输入的app描述信息对应的所有的第一子向量乘以对应文本信息段的权重,再求和得到所述第一子向量。

5.根据权利要求4所述的系统,其特征在于,所述预设的滑窗距离为60,滑动步长为55。

6.根据权利要求4所述的系统,其特征在于,每一文本信息段对应的权重值,在S105中基于当前损失函数调整分类模型的模型参数时也对应调整,直至获取到目标文本信息段对应的权重值组合。

7.根据权利要求6所述的系统,其特征在于,所述目标权重组合为:第一文本描述信息段对应的权重为0.7,第二文本描述信息段、第三文本描述信息段…第n文本描述信息段的权重均为0.3/(n‑1)。

8.根据权利要求1‑7中任意一项所述的系统,其特征在于,所述第一向量生成模型为bert模型。

9.根据权利要求8所述的系统,其特征在于,所述第二向量生成模型为word2vec模型。

10.根据权利要求9所述的系统,其特征在于,所述分类模型为全连接网络分类模型。

说明书 :

一种app分类系统

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及一种app分类系统。

背景技术

[0002] 随着科技的发展,海量app(Application,应用程序)应运而生,app的分类也显得尤为重要。现有的app中,能够获取到一部分app具有相应的描述信息,基于app的描述信息
可以对app进行分类,但是仅仅通过APP描述信息的准确度并不高。此外,还有大量的app是
无法直接获取到对应的描述信息,无法基于描述信息对其进行分类,因此现有的app分类技
术能够分类的app覆盖度低。由此可知,如何提供一种针对有描述信息和无描述信息的app
均可进行分类的技术,且提高app分类准确度成为亟待解决的技术问题。

发明内容

[0003] 本发明目的在于,提供一种app分类系统,针对有描述信息和无描述信息的app均可进行分类,提高了app分类的通用性和准确性。
[0004] 根据本发明第一方面,提供了一种app分类系统,包括预设的第一数据库、第二数据库、第一向量生成模型、第二向量生成模型、分类模型、处理器和存储有计算机程序的存
储器,其中,所述第一数据库中存储有多条app的描述信息记录,所述app的描述信息记录包
括app id和对应的app描述信息,所述app描述信息为文本信息;所述第二数据库中存储有
多条app安装序列,所述app安装序列基于对应的设备上安装的app的id按照安装时间先后
顺序排序得到;所述app id是app的唯一id,同一app在所述第一数据库和第二数据库中的
app id相同;所述第一向量生成模型生成预设M维度的第一向量,所述二向量生成模型生成
预设N维度的第二向量,当所述计算机程序被处理器执行时,实现以下步骤:
[0005] 步骤S1、获取待分类app id,基于所述待分类app id并行执行步骤S2和步骤S3;
[0006] 步骤S2、基于所述待分类app id判断所述第一数据库中是否存在对应的描述信息,若存在,将待分类app id对应的描述信息输入所述第一向量生成模型中生成待处理第
一向量,否则,直接生成每一维度均为0的待处理第一向量;
[0007] 步骤S3、基于所述待分类app id从所述第二数据库中随机获取预设X个app安装序列,将所述X个app安装序列输入所述第二向量生成模型中生成待处理第二向量;
[0008] 步骤S4、将所述待处理第一向量和待处理第二向量拼接生成待处理输入向量;
[0009] 步骤S5、将所述待处理输入向量输入所述分类模型中,输出待分类app id对应的app类别。
[0010] 本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种app分类系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价
值,其至少具有下列优点:
[0011] 本发明的app分类系统,针对有描述信息和无描述信息的app均可进行分类,提高了app分类的通用性和准确性
[0012] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够
更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

[0013] 图1为本发明实施例提供的app分类系统示意图。

具体实施方式

[0014] 为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种app分类系统的具体实施方式及其功效,详细
说明如后。
[0015] 本发明实施例提供了一种app分类系统,如图1所示,包括预设的第一数据库、第二数据库、第一向量生成模型、第二向量生成模型、分类模型、处理器和存储有计算机程序的
存储器。其中,所述第一数据库中存储有多条app的描述信息记录,所述app的描述信息记录
包括app id和对应的app描述信息,所述app描述信息为文本信息。所述第二数据库中存储
有多条app安装序列,所述app安装序列基于对应的设备上安装的app的id按照安装时间先
后顺序排序得到;所述app id是app的唯一id,同一app在所述第一数据库和第二数据库中
的app id相同。所述第一向量生成模型生成预设M维度的第一向量,所述二向量生成模型生
成预设N维度的第二向量,M、N均为正整数。当所述计算机程序被处理器执行时,实现以下步
骤:
[0016] 步骤S1、获取待分类app id,基于所述待分类app id并行执行步骤S2和步骤S3;
[0017] 步骤S2、基于所述待分类app id判断所述第一数据库中是否存在对应的描述信息,若存在,将待分类app id对应的描述信息输入所述第一向量生成模型中生成待处理第
一向量,否则,直接生成每一维度均为0的待处理第一向量;
[0018] 步骤S3、基于所述待分类app id从所述第二数据库中随机获取预设X个app安装序列,将所述X个app安装序列输入所述第二向量生成模型中生成待处理第二向量,X正整数;
[0019] 步骤S4、将所述待处理第一向量和待处理第二向量拼接生成待处理输入向量;
[0020] 步骤S5、将所述待处理输入向量输入所述分类模型中,输出待分类app id对应的app类别。
[0021] 可以理解的是,海量app中只有一部分app是可以获取到对应的描述信息的,第一数据库中仅包含了有对应的描述信息的app id,而第二数据库中,只要app被安装过,则app
就会出现在第二数据库中,而我们要分类的app通常均为被安装过的app。因此,每个app id
不一定能获取到描述信息对应的第一向量,若获取不到时就直接生成每一维度均为0的待
处理第一向量。而每一app id是均能基于第二数据和第二向量生成模型生成对应的第二向
量。且在进行分类模型训练过程中,训练样本既包括了有文本描述信息的app对应的输入向
量,又包括了无描述文本信息的app对应的输入向量,因此最终所述系统既适用于有描述信
息的app分类,也适用于无文本描述的app分类。且由于训练过程中综合了文本信息和基于
安装序列得到的两发明面的信息,提升了app分类的准确性。
[0022] 根据本发明,所述系统可以物理实现为一个服务器,也可以实现为包括多个服务器的服务器群组。本领域技术人员知晓,服务器的型号、规格等参数并不影响本发明的保护
范围。
[0023] 在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多
步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作
完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方
法、函数、规程、子例程、子程序等等。
[0024] 作为一种实施例,所述系统包括训练样本数据集,包括多个已标注app类别的app id训练样本,训练集样本数据的app类别可以直接预先由人工标注,提高模型训练的准确
性。当所述计算机程序被处理器执行时,还实现步骤S10、训练得到所述分类模型,具体包
括:
[0025] 步骤S101、从所述训练样本数据集中获取A个训练样本,从所述第一数据库中获取A个训练样本对应的描述信息,将每一训练样本对应的描述信息输入第一向量生成模型中
得到对应的第一向量;
[0026] 步骤S102、从所述训练样本数据集中获取B个训练样本,从所述第二数据库中获取预设Y个app安装序列,并将所述Y个app安装序列输入所述第二向量生成模型中获取B个训
练样本中每一训练样本对应的第二向量,其中,A、B、Y均为正整数,且B大于A,且所述B个训
练样本中包括所述A个训练样本;
[0027] 步骤S103、判断所述B个训练样本中每一训练样本是否存在对应的第一向量,若存在,则将训练样本对应的第一向量和第二向量拼接生成训练样本对应的输入向量,若不存
在,则为训练样本生成每一维度均为0的第一向量并与对应的第二向量拼接,生成训练样本
对应的输入向量;
[0028] 例如,第一向量为768维度的向量,第二向量为64维度的向量,则拼接后,输入向量为832维度的向量。
[0029] 步骤S104、每一训练样本对应的预设的R维度分类向量的实际app别对应的维度设置为1,其它维度设置为0,得到每一训练样本对应的实际分类向量,将B个训练样本对应的
输入向量输入预设的分类模型中,得到每一训练样本对应的预测分类向量;
[0030] 可以理解的是,R为预设的最终能够划分的类别总数,例如最终将app划分167个类别,则R维度分类向量为167维度的分类向量。
[0031] 步骤S105、基于B个训练样本对应的预测分类向量和实际分类向量计算损失函数,并基于损失函数判断当前分类模型是否达到预设精度,若达到,则结束训练,否则,基于当
前损失函数调整分类模型的模型参数,并返回步骤S101。
[0032] 作为一种实施例,所述第一向量生成模型可以为bert模型,所述第二向量生成模型可以为word2vec模型,所述分类模型可为全连接网络分类模型。bert模型和word2vec模
型可以直接为现有的训练好的bert模型和word2vec模型,也可以适当改变模型参数,与分
类模型一起训练,在此不再展开描述。但可以理解的是,其他可以实现第一向量生成模型、
第二向量生成模型、分类模型相关功能的模型框架也可以适用于此。
[0033] 为了提高模型训练的准确性,训练集的训练样本数据由人工标注,因此训练集的数据量有限,但可以理解的是,模型训练过程中,训练集的数据量越大越有利于模型训练,
因此可以在测试集测试时再结合简单的人工校验的方式,将测试集数据标注上正确的app
类别,来扩充训练集的数据量。作为一种示例,所述系统还包括测试样本数据集,包括多个
未标注app类别app id测试样本,所述步骤S10还包括:
[0034] 步骤S111、从所述测试样本数据集中获取F个测试样本,F为正整数,并行执行步骤S112和步骤S113;
[0035] 步骤S112、基于每一测试样本判断所述第一数据库中是否存在对应的描述信息,若存在,将测试样本对应的描述信息输入所述第一向量生成模型中生成对应的第一向量,
否则,直接生成每一维度均为0的第一向量;
[0036] 步骤S113、基于每一测试样本从所述第二数据库中随机获取预设Z个app安装序列,Z为正整数,将所述Z个app安装序列输入所述第二向量生成模型获取每一测试样本对应
的处理第二向量;
[0037] 可以理解的是,X、Y、Z的值可以一致,也可以不一致,优选的,Y值与当前输入的训练样本的数量正相关,Z值根据当前输入的测试样本数量正相关。
[0038] 步骤S114、将每一测试样本对应的第一向量和第二向量拼接生成对应的输入向量;
[0039] 步骤S115、将每一测试样本对应的输入向量输入当前训练的分类模型中,输出每一测试样本对应的预测分类向量;
[0040] 步骤S116、将每一测试样本对应的预测分类向量中维度对应的数值最高的类别标注为对应的预测类别;
[0041] 步骤S117、将每一测试样本对应的预测类别输出至信息交互界面上,并接收用户输入的校验指令,得到每一测试样本对应的app类别,将每一测试样本标注上app类别并加
入到所述训练样本数据集中。
[0042] 用户检验指令可以包括校验的app id和对应的真实的app类别,这样对于未校验的,直接以预测的app类别作为真实的app类别。这样减少了人工直接标注的工作量,又保证
了标注app类别的准确性,还能够扩充训练样本集,提升模型训练的准确度。
[0043] 为了进一步提升所述系统的分类准确性,所述步骤S2和步骤S101中,所述第一向量生成模型基于输入的app描述信息生成对应的第一向量,包括:
[0044] 步骤S201、采用预设的滑窗和预设的滑动步长在输入的app描述信息中移动所述滑窗,得到n个文本描述信息段,包括第一文本描述信息段、第二文本描述信息段、第三文本
描述信息段…第C文本描述信息段;
[0045] 所述预设的滑窗的距离和预设的滑动步长根据app描述信息的文本量具体设定,优选的,所述预设的滑窗距离为60,滑动步长为55。
[0046] 步骤S202、将每一文本描述信息段输入第一向量生成模型得到每一文本描述信息段对应的第一子向量;
[0047] 步骤S203、将输入的app描述信息对应的所有的第一子向量乘以对应文本信息段的权重,再求和得到所述第一子向量。
[0048] 每一文本信息段对应的权重值可以根据经验值来设定,也可以在分类模型训练过程中根据模型训练结果来做调整,作为一种实施例,每一文本信息段对应的权重值,在S105
中基于当前损失函数调整分类模型的模型参数时也对应调整,直至获取到目标文本信息段
对应的权重值组合。优选的,所述目标权重组合为:第一文本描述信息段对应的权重为0.7,
第二文本描述信息段、第三文本描述信息段…第n文本描述信息段的权重均为0.3/(n‑1)。
[0049] 需要说明的是,将每一app描述信息通过滑窗处理得到多个第一子向量,再将多个第一子向量求加权平均,相比直接将app描述信息生成一个第一子向量来说,能够大大提高
模型泛化能力,从而提高所述系统分类的准确性。
[0050] 以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人
员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰
为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质
对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。