掌桥专利:专业的专利平台
掌桥专利
首页

应用程序识别方法、装置、设备、存储介质及程序产品

文献发布时间:2024-04-18 20:01:23


应用程序识别方法、装置、设备、存储介质及程序产品

技术领域

本申请涉及网络安全技术领域,特别涉及一种应用程序识别方法、装置、设备、存储介质及程序产品。

背景技术

随着网络应用技术的不断发展,网络中的应用程序也越来越多,相应的,帮助用户识别应用程序的安全性,也逐渐成为网络安全技术领域中的重要环节。

在相关技术中,通常采用关键字符匹配的方式识别非正常的应用长须。具体的,可以在规则匹配工具中设置待匹配的关键字符/字符串,然后通过规则匹配工具对应用程序的安装包进行扫描,若扫描到安装包中存在预设的关键字符/字符串,则认为该应用程序时非正常的应用程序。

然而上述技术方案中,由于非正常的应用程序涉及的场景较多,难以准确且全面的设置关键字符/字符串,导致非正常应用程序的识别准确性不高。

发明内容

本申请实施例提供了一种应用程序识别方法、装置、设备、存储介质及程序产品,可以提高非正常应用程序的识别准确性,该技术方案如下:

一方面,提供了一种应用程序识别方法,所述方法包括:

对运行中的目标应用程序进行截图,获得所述目标应用程序运行过程中的目标截屏图像;

对所述目标截屏图像进行文本识别,获得所述目标截屏图像中的目标文本;

通过至少两个文本分类模型,分别将所述目标文本的文本特征映射到至少两个所述分类模型各自的文本分类特征空间,获得至少两个所述文本分类模型各自的处理结果;所述处理结果包括所述文本分类模型的输出层的输出结果,以及所述文本分类模型的中间网络层的输出结果中的至少一种;

通过融合分类模型对至少两个所述文本分类模型各自的处理结果进行融合处理,获得所述目标应用程序的识别结果;所述识别结果用于指示所述目标应用程序是否为非正常应用程序。

再一方面,提供了一种应用程序识别装置,所述装置包括:

截图获取模块,用于对运行中的目标应用程序进行截图,获得所述目标应用程序运行过程中的目标截屏图像;

识别模块,用于对所述目标截屏图像进行文本识别,获得所述目标截屏图像中的目标文本;

分类处理模块,用于通过至少两个文本分类模型,分别将所述目标文本的文本特征映射到至少两个所述分类模型各自的文本分类特征空间,获得至少两个所述文本分类模型各自的处理结果;所述处理结果包括所述文本分类模型的输出层的输出结果,以及所述文本分类模型的中间网络层的输出结果中的至少一种;

融合处理模块,用于通过融合分类模型对至少两个所述文本分类模型各自的处理结果进行融合处理,获得所述目标应用程序的识别结果;所述识别结果用于指示所述目标应用程序是否为非正常应用程序。

在一种可能的实现方式中,所述融合分类模型为逻辑回归模型;所述处理结果包括所述文本分类模型的模型输出层输出的子概率分布;所述子概率分布用于指示所述目标应用程序分别为正常应用程序和非正常应用程序的概率;

所述融合处理模块,用于将至少两个所述文本分类模型各自输出的所述子概率分布输入所述融合分类模型,获得所述目标应用程序的识别结果。

在一种可能的实现方式中,所述融合分类模型为神经网络模型;所述处理结果包括所述文本分类模型的模型输出层的前一层网络层的输出特征;

所述融合处理模块,用于,

将至少两个所述文本分类模型各自的模型输出层的前一层网络层的输出特征进行拼接,获得拼接特征;

通过所述融合分类模型对所述拼接特征进行处理,获得所述目标应用程序的识别结果。

在一种可能的实现方式中,所述模型输出层用于输出子概率分布;所述子概率分布用于指示所述目标应用程序分别为正常应用程序和非正常应用程序的概率;

所述融合处理模块,用于,

通过所述融合分类模型对所述拼接特征进行处理,获得所述融合分类模型输出的融合概率分布;所述融合概率分布用于指示所述目标应用程序分别为正常应用程序和非正常应用程序的概率;

基于所述融合概率分布,以及至少两个所述文本分类模型各自输出的所述子概率分布,获取所述目标应用程序的识别结果。

在一种可能的实现方式中,所述融合处理模块,用于,

对所述融合概率分布,以及所述至少两个所述文本分类模型各自输出的所述子概率分布进行加权平均,获得加权平均后的概率分布;

基于所述加权平均后的概率分布获取所述目标应用程序的识别结果。

在一种可能的实现方式中,所述融合处理模块,用于,

基于所述融合概率分布,获取所述融合分类模型对应的第一识别结果;

基于至少两个所述文本分类模型各自输出的所述子概率分布,获取至少两个所述文本分类模型各自对应的第二识别结果;

获取至少两个所述文本分类模型各自对应的所述第二识别结果中获取第三识别结果;所述第三识别结果是至少两个所述文本分类模型各自对应的第二识别结果中,出现次数最高的识别结果;

响应于所述第一识别结果与所述第三识别结果相同,将所述第一识别结果获取为所述目标应用程序的识别结果。

在一种可能的实现方式中,所述截图获取模块,用于基于所述目标应用程序运行过程中的至少两幅截屏图像各自的图像属性,从至少两幅所述截屏图像中选取至少一幅截屏图像,作为所述目标截屏图像;

其中,所述图像属性包括图像的熵,以及图像中包含的颜色种类数中的至少一项。

在一种可能的实现方式中,所述截图获取模块,用于,

通过图像分类模型分别对所述目标应用程序运行过程中的至少两幅截屏图像进行处理,获得所述图像分类模型的输出结果;所述输出结果用于指示所述截屏图像为非正常应用程序的截屏图像的概率;

基于所述输出结果,从至少两幅所述截屏图像中选取至少一幅截屏图像,作为所述目标截屏图像。

再一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条计算机指令,所述至少一条计算机指令由所述处理器加载并执行以实现上述的应用程序识别方法。

又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行以实现上述的应用程序识别方法。

又一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述应用程序识别方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

通过对应用程序运行过程中的截图进行识别,并通过多个不同的文本分类模型对识别出的文本进行分类处理,最后再通过融合分类模型对多个文本分类模型各自的输出层以及中间网络层的输出结果中的至少一种进行处理,得到指示目标应用程序是否为非正常应用程序的识别结果;本方案结合多种文本分类模型,对应用程序的截图中的文本进行分类,从而准确的识别出应用程序是否为非正常的应用程序,提高了非正常的应用程序的识别准确性。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1是根据一示例性实施例示出的应用程序安全服务系统的框架图;

图2是根据一示例性实施例示出的一种应用程序识别方法的流程示意图;

图3是根据一示例性实施例示出的应用程序识别的框架示意图;

图4是根据一示例性实施例示出的一种应用程序识别方法的流程示意图;

图5是图4所示实施例涉及的模型训练过程示意图;

图6是图4所示实施例涉及的Transformer块的结构示意图;

图7是图4所示实施例涉及的FastText模型的结构示意图;

图8是图4所示实施例涉及的TextCNN模型的结构示意图;

图9是图4所示实施例涉及的应用程序分类的流程示意图;

图10是本申请一示例性实施例提供的应用程序识别的应用流程图;

图11是根据一示例性实施例示出的一种应用程序识别装置的结构方框图;

图12是根据一示例性实施例示出的一种计算机设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在对本申请所示的各个实施例进行说明之前,首先对本申请涉及到的几个概念进行介绍:

1)AI(Artificial Intelligence,人工智能)

AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

2)ML(Machine Learning,机器学习)

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。

3)非正常应用程序

在本申请各个实施例中,非正常应用程序可以是指涉及各类型诈骗行为或者其他危险用户健康及财产安全的应用程序。

请参考图1,其是根据一示例性实施例示出的应用程序安全服务系统的框架图。如图1所示,该应用程序安全服务系统包括模型训练设备110、服务平台设备120以及终端设备130。

其中,上述模型训练设备110或者服务平台设备120可以是服务器。

其中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云安全、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。

终端设备130可以是具有网络连接功能以及计算处理能力的终端设备,比如,终端设备可以包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。本申请实施例可应用于各种场景,包括但不限于云技术、云安全、人工智能、智慧交通、辅助驾驶等。

模型训练设备110与服务平台设备120以及终端设备130之间可以分别通信网络相连。可选的,该通信网络是有线网络或无线网络。

在本申请实施例中,上述模型训练设备110和服务平台设备120可以集成在一起,也可以实现为不同的计算机设备。

此外,图1仅以模型训练设备110、服务平台设备120以及终端设备130的数量为1个为例进行介绍,可选的,网络搜索系统中可以包含多个模型训练设备110(比如模型训练设备110可以包含分布式模型训练系统中的设备)、服务平台设备120(比如服务平台设备120可以是分布式系统平台中的设备)以及终端设备130(比如,终端设备130可以是不同用户的终端)。本申请实施例对于模型训练设备110、服务平台设备120以及终端设备130的数量不做限制。

可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。

图2是根据一示例性实施例示出的一种应用程序识别方法的流程示意图。该方法可以由计算机设备执行,比如,该计算机设备可以是服务器,例如,该计算机设备可以实现为图1所示系统中的服务平台设备120。如图2所示,该应用程序识别方法可以包括如下步骤:

步骤21,对运行中的目标应用程序进行截图,获得目标应用程序运行过程中的目标截屏图像。

在本申请实施例中,上述对运行中的目标应用程序进行截图,可以是指对运行中的目标应用程序的应用界面进行截图。

步骤22,对目标截屏图像进行文本识别,获得目标截屏图像中的目标文本。

在本申请实施例中,对目标截屏图像进行文本识别的过程可以通过光学字符识别(Optical Character Recognition,OCR)方式来实现。

步骤23,通过至少两个文本分类模型,分别将目标文本的文本特征映射到至少两个分类模型各自的文本分类特征空间,获得至少两个文本分类模型各自的处理结果。

上述至少两个文本分类模型,可以是不同类型(不同的机器学习算法)的多个文本分类模型。

其中,上述的处理结果包括文本分类模型的输出层的输出结果,以及文本分类模型的中间网络层的输出结果中的至少一种。

其中,上述文本分类模型的输出层,可以是文本分类模型的最后一层网络层;可选的,文本分类模型的输出层的输出结果可以是一个二分类的概括分布,该二分类的概率分布可以指示目标应用程序是非正常应用程序的概率,以及不是非正常应用程序的概率。

上述文本分类模型的中间网络层可以是文本分类模型中,除了输入层和输出层之外的其它网络层中的一个或者多个网络层。可选的,上述中间网络层的输出结果可以是一维或者多维的特征向量。

步骤24,通过融合分类模型对至少两个文本分类模型各自的处理结果进行融合处理,获得目标应用程序的识别结果;识别结果用于指示目标应用程序是否为非正常应用程序。

综上所述,本申请实施例所示的方案,通过对应用程序运行过程中的截图进行识别,并通过多个不同的文本分类模型对识别出的文本进行分类处理,最后再通过融合分类模型对多个文本分类模型各自的输出层以及中间网络层的输出结果中的至少一种进行处理,得到指示目标应用程序是否为非正常应用程序的识别结果;本方案结合多种文本分类模型,对应用程序的截图中的文本进行分类,从而准确的识别出应用程序是否为非正常的应用程序,提高了非正常的应用程序的识别准确性。

在本申请实施例中,上述图2涉及的实施例中的方案,其涉及的文本分类以及融合等步骤可以通过基于AI技术的机器学习模型来实现。

图3是根据一示例性实施例示出的一种应用程序识别的框架示意图。基于上述图2所示的方案,首先,模型训练设备可以通过样本训练出多个文本分类模型以及融合分类模型等等,并部署至服务平台设备。之后,服务平台设备按照图3所示的框架进行非正常应用程序的识别。

如图3所示,服务平台设备中部署有APP(Application,应用程序)运行服务31、OCR识别服务32、分类服务33等模块。其中,APP运行服务31中部署有各种操作系统对应的虚拟机/模拟器,OCR识别服务32中部署有OCR识别模型;分类服务33中部署有至少两个文本分类模型以及融合分类模型。

在应用程序识别阶段,APP运行服务31首先在目标应用程序对应的操作系统的虚拟机/模拟器中安装并运行目标应用程序,并通过截屏工具对运行中的目标应用程序的界面进行截图,得到目标截屏图像,并将目标截屏图像输出至OCR识别服务32;OCR识别服务32通过OCR识别模型识别目标截屏图像中的目标文本,并将识别到的目标文本输出至分类服务33;分类服务33先通过多个文本分类模型分别对目标文本进行识别处理,再通过融合分类模型对多个文本分类模型各自的处理结果进行融合分类,以得到最终的识别结果。

图4是根据一示例性实施例示出的一种应用程序识别方法的流程示意图。该方法可以由计算机设备执行,该计算机设备可以包括如图1所示的服务平台设备120。如图4所示,该应用程序识别方法可以包括如下步骤:

步骤401,对运行中的目标应用程序进行截图,获得目标应用程序运行过程中的至少两幅截屏图像。

在本申请实施例的一种可能的实现方式中,计算机设备可以将收集到的APP安装到模拟器中并运行,在该APP运行过程中,通过截屏工具进行截屏,获得至少两幅截屏图像。

比如,计算机设备在截屏时,可以按照预先设置的截屏频率进行截屏,以获得至少两幅截屏图像。

或者,计算机设备在截屏时,也可以检测APP的应用界面的变化情况,在APP的应用界面每次发生变化时进行截屏处理,获得至少两幅截屏图像。

步骤402,从目标应用程序运行过程中的至少两幅截屏图像中选取至少一幅截屏图像,作为目标截屏图像。

在本申请实施例中,计算机设备可以按照预先设置的选取规则,从至少两幅截屏图像中选取至少一幅截屏图像。

在一种可能的实现方式中,计算机设备可以按照截屏图像的内容丰富程度,从至少两幅截屏图像中选取至少一幅截屏图像作为目标截屏图像。

比如,计算机设备可以基于目标应用程序运行过程中的至少两幅截屏图像各自的图像属性,从至少两幅截屏图像中选取至少一幅截屏图像,作为目标截屏图像;其中,图像属性包括图像的熵,以及图像中包含的颜色种类数中的至少一项。

比如,对于一幅截屏图像,计算机设备可以获取该截屏图像的熵的值,并判断该截屏图像的熵的值是否大于熵值阈值,若是,则说明该截屏图像包含丰富的图像内容,可以将该截屏图像获取为目标截屏图像。

或者,对于一幅截屏图像,计算机设备可以获取该截屏图像中包含的颜色种类数(比如包含的RGB(Red-Green-Blue,红绿蓝)颜色的种类数量),判断该颜色种类数是否大于数量阈值(比如3000),若是,则说明该截屏图像包含丰富的图像内容,可以将该截屏图像获取为目标截屏图像。

再或者,对于一幅截屏图像,若该截屏图像的熵的值是否大于熵值阈值,并且该截屏图像中包含的颜色种类数大于数量阈值,则计算机设备将该截屏图像获取为目标截屏图像。

可选的,当至少两个截屏图像中,内容丰富程度满足条件(比如熵值大于熵值阈值,和/或,包含的颜色种类数大于数量阈值)的截屏图像的数量较多,此时,计算机设备还可以从内容丰富程度满足条件的截屏图像中随机选取至少一个截屏图像,作为上述目标截屏图像。

在另一种可能的实现方式中,计算机设备也可以借助于AI模型,从至少两幅截屏图像中选取至少一幅截屏图像作为目标截屏图像。

比如,计算机设备通过图像分类模型分别对目标应用程序运行过程中的至少两幅截屏图像进行处理,获得图像分类模型的输出结果;输出结果用于指示截屏图像为非正常应用程序的截屏图像的概率;基于输出结果,从至少两幅截屏图像中选取至少一幅截屏图像,作为目标截屏图像。

例如,计算机设备通过预先训练好的图像分类模型对一个截屏图像进行处理后,可以获取图像分类模型输出的,该截屏图像为非正常应用程序的截屏图像的概率,若该截屏图像为非正常应用程序的截屏图像的概率大于概率阈值,则可以将该截屏图像获取为目标截屏图像。

再例如,计算机设备通过预先训练好的图像分类模型对至少两个截屏图像分别进行处理后,可以获取该至少两个截屏图像分别为非正常应用程序的截屏图像的概率,并按照概率从大到小的顺序对至少两个截屏图像进行排序,选取排列在前的至少一个截屏图像作为目标截屏图像,或者,选取排列在前的至少一个截屏图像中,为非正常应用程序的截屏图像的概率大于概率阈值的截屏图像,作为上述目标截屏图像。

其中,上述图像分类模型可以通过预先收集的图像样本进行训练得到。比如,开发人员可以预先收集正常应用程序的截屏图像作为正样本,并收集非正常应用程序的截屏图像作为负样本,将正负样本输入图像分类模型进行处理,根据图像分类模型输出的概率分布,以及输入图像的正负标签计算损失函数值,并根据计算出的损失函数值对图像分类模型进行参数更新;迭代执行上述步骤,直至图像分类模型收敛,或者,直至迭代次数达到迭代次数阈值。

步骤403,对目标截屏图像进行文本识别,获得目标截屏图像中的目标文本。

在本申请实施例中,计算机设备可以通过OCR识别模型对目标截屏图像进行字符识别,获得目标截屏图像中的目标文本。

可选的,当上述目标截屏图像包含多幅图像时,每一幅目标截屏图像可以对应一份目标文本。

或者,当上述目标截屏图像包含多幅图像时,从多幅图像中识别出的文本可以拼接成一份目标文本。

可选的,计算机设备还可以对目标文本进行清洗,以去除目标文本中的停用词。比如,计算机设备可以将目标文本中的各个词与停用词库中的各个停用词进行比对,以将目标文本中的停用词去除。

其中,上述停用词库中可以包含开发人员预先设置的各个停用词,比如“的”、“地”、“啊”等等。

步骤404,通过至少两个文本分类模型,分别将目标文本的文本特征映射到至少两个分类模型各自的文本分类特征空间,获得至少两个文本分类模型各自的处理结果。

在本申请实施例中,上述文本分类模型可以是二分类模型,也就是说,文本分类模型的输出结果包括目标文本对应的目标应用程序是非正常应用程序的概率,以及,该目标应用程序是正常应用程序的概率。

比如,上述至少两个文本分类模型可以包括BERT(Bidirectional EncoderRepresentation from Transformers,基于转换器的双向编码表征)模型、快速文本(FastText)模型、以及(Text Convolutional Neural Network,TextCNN)文本卷积神经网络模型中的至少两种模型。

可选的,上述至少两个文本分类模型也可以包含其他类型的文本分类模型,比如贝叶斯模型、支持向量机模型等等。本申请实施例对于文本分类模型的种类不多限定。

其中,上述的处理结果包括文本分类模型的输出层的输出结果,以及文本分类模型的中间网络层的输出结果中的至少一种。

步骤405,通过融合分类模型对至少两个文本分类模型各自的处理结果进行融合处理,获得目标应用程序的识别结果;识别结果用于指示目标应用程序是否为非正常应用程序。

在一种可能的实现方式中,计算机设备可以通过融合分类模型对至少两个文本分类模型对目标应用程序的分类结果进行融合。

比如,在上述的处理结果包括文本分类模型的输出层的输出结果的情况下,上述融合分类模型为逻辑回归模型;处理结果包括文本分类模型的模型输出层输出的子概率分布;子概率分布用于指示目标应用程序分别为正常应用程序和非正常应用程序的概率;

计算机设备通过融合分类模型对至少两个文本分类模型各自的处理结果进行融合处理,获得目标应用程序的识别结果的过程可以包括:

将至少两个文本分类模型各自输出的子概率分布输入融合分类模型,获得目标应用程序的识别结果。

在本申请实施例中,上述至少两个文本分类模型分别可以根据输入的目标文本,输出目标应用程序是否属于非正常应用程序的分类结果(即上述子概率分布),由于不同的文本分类模型对于同一输入数据,通常会输出不同的子概率分布,对此,本申请实施例还可以通过逻辑回归模型,将不同的分类模型输出的子概率分布进行融合。

本申请实施例后续以至少两个文本分类模型包括BERT模型、FastText模型以及TextCNN,融合分类模型为逻辑回归模型为例,对至少两个文本分类模型的训练和应用流程进行介绍。其参考图5,其示出了本申请实施例涉及的模型训练过程示意图。

S51:从样本APP发布平台收集样本APP的安装包。

S52:将收集到的APP的安装包安装到模拟器中运行。

S53:对运行中的APP进行截图,获得3张截屏图像作为目标截屏图像样本;比如,随机截取APP运行过程中的3张内容较丰富的截屏图像作为目标截屏图像样本,分别表示为Pic

S54:使用OCR识别技术获取步骤S53中截取的目标截屏图像样本中的文字,获得3个目标文本样本,分别表示为

S55:对3个目标文本样本进行清洗,清除目标文本样本中类似于:的,地,啊等停用词,得到对应的清洗后的目标文本样本,表示为

S56,根据样本APP的属性(是否为非正常应用程序),将清洗后的目标文本样本标记为黑白文本样本,其中,白文本样本可以标记为S

S57,训练BERT模型。

BERT模型主要由Transformer块组成,请参考图6,其示出了本申请实施例涉及的Transformer块的结构示意图。

模型训练设备可以将S56中的目标文本样本用词向量表示为

得到每一个词的权重后,再与每个词向量算乘积,得到更新后的词向量

其中,网络残差层主要由一个前向网络加上前一层的向量组成,上述公式中的

然后,将网络残差层的输出,再输入到一个全连接网络中,进一步抽象词向量的特征:

将上面的输出经过一个全连接神经网络,即可得到最终的BERT模型特征向量

也就是输出每个类别的概率。

结合真实分类(即目标文本样本的黑白样本标记)计算损失,训练获得基于BERT的分类器模型Model

S58,训练FastText模型。

FastText模型是一个浅层的神经网络模型。请参考图7,其示出了本申请实施例涉及的FastText模型的结构示意图。

在训练过程中,模型训练设备首先将步骤S56中获取的目标文本样本进行n-grams操作,比如,单词“apple”经过3-grams操作可以得到以下序列:。接着将经过n-gram后的目标文本样本输入到FastText模型中,计算所有词汇的平均词向量,作为文本向量样本:

其中,Avg(*)表示求和平均。依据Hidden层的文本向量,预测该目标文本样本所属的类型,并与真实类别进行对比,计算模型的损失:

Loss=-log(kind

根据损失函数计算梯度更新输入的词向量:

根据真实类别和预测类别训练FastText模型,经过多次迭代(比如5次迭代)得到最终的FastText模型Model

S59,训练TextCNN模型。

请参考图8,其示出了本申请实施例涉及的TextCNN模型的结构示意图。

如图8所示,TextCNN的第一层为输入层,输入是一个n×d的矩阵;输入层的每一行就是一个单词所对应的d维的词向量。每个词向量可以是预先在其他语料库中训练好的,也可以作为未知的参数由网络训练得到。这两种方法各有优势,预先训练的词嵌入可以利用其他语料库得到更多的先验知识,而由当前网络训练的词向量能够更好地抓住与当前任务相关联的特征。因此,在本申请实施例中,输入层可以采用双通道的形式,即有两个的输入矩阵,其中一个用预训练好的词嵌入表达,并且在训练过程中不再发生变化;另外一个也由同样的方式初始化,但是会作为参数,随着网络的训练过程发生改变。

在TextCNN中,卷积核的宽度核词向量长度d可以是相同的,此时,卷积只在纵向移动,不在横向移动。在本申请实施例,可以使用3个不同大小的卷积核对原始的文本向量样本进行卷积操作,最后得到三个不同维度的特征。对卷积操作的结果使用max-pooling(最大池化)操作对维度进行压缩,可以得到6个不同维度的特征,最后经过一个全连接成生成预测结果。以上TextCNN模型需要经过多次迭代(比如5轮迭代)训练后可以收敛。

在本申请实施例中,模型训练设备对步骤S56中得到的目标文本样本抽取已经预训练好的词向量,构成n×d的文本向量样本,文本向量样本经过CNN卷积核及池化层得到特征向量,依据文本的真实类别及预测类别计算损失,进行多轮迭代训练可以得到TextCNN模型Model

S510,通过BERT模型对步骤S56得到的黑白文本样本进行分类结果预测,将得到的分类结果(即上述子概率分布)作为特征:

其中,

S511,FastText模型对黑白样本分类结果进行预测作为特征

S512,TextCNN模型对黑白样本分类结果进行预测作为特征

S513,集成以上三个模型输出的

通过上述特征向量X训练logistic逻辑回归模型。

模型训练设备将向量X输入到:

计算模型损失:

得到模型损失后,使用梯度下降的方式优化参数β,经过多次迭代(比如10次迭代)得到最终的逻辑回归模型Model

在上述三个文本分类模型和逻辑回归模型训练完成后,即可以部署至计算机设备(服务平台设备),之后,服务平台设备即可以执行本申请实施例的上述步骤。请参考图9,其示出了本申请实施例涉及的应用程序分类的流程示意图。

在另一种可能的实现方式中,计算机设备也可以通过融合分类模型对至少两个文本分类模型对目标应用程序进行分类的过程中的中间特征进行融合并分类。

比如,在上述处理结果包括文本分类模型的中间网络层的输出结果的情况下,上述融合分类模型为神经网络模型;上述处理结果包括文本分类模型的模型输出层的前一层网络层的输出特征。

计算机设备通过融合分类模型对至少两个文本分类模型各自的处理结果进行融合处理,获得目标应用程序的识别结果的过程可以包括:

将至少两个文本分类模型各自的模型输出层的前一层网络层的输出特征进行拼接,获得拼接特征;

通过融合分类模型对拼接特征进行处理,获得目标应用程序的识别结果。

在本申请实施例中,上述模型输出层用于输出子概率分布,也就是说,上述文本分类模型的模型输出层的前一层网络层的输出特征,是指对应的文本分类模型中的模型输出层的输入数据。

其中,由于上述输出特征经过模型输出层得到子概率分布的过程中,通常会带有一定的信息损失,对此,在本申请实施例中,可以将模型输出层的输入数据,作为后续的融合分类模型的输入,以提高融合分类模型的分类准确性。

具体的,对于至少两个文本分类模型各自的模型输出层的前一层网络层的输出特征,计算机设备可以将上述至少两个文本分类模型各自的输出特征按照指定的顺序进行首尾拼接,例如,上述至少两个文本分类模型各自的模型输出层的前一层网络层可以分别输出1×n维特征向量,作为上述输出特征,计算机设备将至少两个文本分类模型各自输出的1×n维特征向量首尾拼接,得到上述拼接特征,然后将拼接特征输入到融合分类模型(神经网络模型)进行特征提取和特征映射,经过输出层输出为分类结果,并基于该分类结果获取目标应用程序的识别结果。

在一种可能的实现方式中,在基于该分类结果获取目标应用程序的识别结果时,计算机设备可以根据分类结果中的概率分布,确定目标应用程序是否为非正常应用程序。比如,当融合分类模型输出的分类结果欸融合概率分布,且该融合概率分布用于指示目标应用程序分别为正常应用程序和非正常应用程序的概率时,若该融合概率分布中,对应目标应用程序是非正常应用程序的概率大于预设的概率阈值(比如80%),则可以确定该目标应用程序为非正常应用程序。

在另一种可能的实现方式中,在基于该分类结果获取目标应用程序的识别结果时,计算机设备可以结合分类结果中的概率分布,以及至少两个文本分类模型各自的概率分布,确定目标应用程序是否为非正常应用程序。

比如,上述通过融合分类模型对拼接特征进行处理,获得目标应用程序的识别结果的过程可以包括:

计算机设备通过融合分类模型对拼接特征进行处理,获得融合分类模型输出的融合概率分布;

基于融合概率分布,以及至少两个文本分类模型各自输出的子概率分布,获取目标应用程序的识别结果。

在本申请实施例中,计算机设备基于融合概率分布,以及至少两个文本分类模型各自输出的子概率分布,获取目标应用程序的识别结果时,可以将融合概率分布与至少两个文本分类模型各自输出的子概率分布进行加权平均,获得加权平局后的概率分布,然后基于加权平均后的概率分布,获取目标应用程序的识别结果;比如,当加权平均后的概率分布中,对应目标应用程序是非正常应用程序的概率大于预设的概率阈值(比如80%),则可以确定该目标应用程序为非正常应用程序。

其中,上述将融合概率分布与至少两个文本分类模型各自输出的子概率分布进行加权平均的过程中,融合概率分布与至少两个文本分类模型各自输出的子概率分布各自的权重可以由开发人员预先设置。

上述方案中,在上述处理结果包括文本分类模型的中间网络层的输出结果的情况下,仅以上述处理结果包括文本分类模型的模型输出层的前一层网络层的输出特征为例进行说明,可选的,上述处理结果也可以包括文本分类模型中的其它中间网络层的输出特征,比如,上述处理结果可以包括文本分类模型的模型输出层的前两层网络层的输出特征,或者,上述处理结果可以包括文本分类模型的模型输出层之前的倒数第二层网络层的输出特征。

在本申请实施例的另一种可能的实现方案中,上述基于融合概率分布,以及至少两个文本分类模型各自输出的子概率分布,获取目标应用程序的识别结果的过程还可以包括:

基于融合概率分布,获取融合分类模型对应的第一识别结果;基于至少两个文本分类模型各自输出的子概率分布,获取至少两个文本分类模型各自对应的第二识别结果;获取至少两个文本分类模型各自对应的第二识别结果中获取第三识别结果;第三识别结果是至少两个文本分类模型各自对应的第二识别结果中,出现次数最高的识别结果;响应于第一识别结果与第三识别结果相同,将第一识别结果获取为目标应用程序的识别结果。

在本申请实施例中,计算机设备基于融合概率分布,以及至少两个文本分类模型各自输出的子概率分布,获取目标应用程序的识别结果时,可以基于融合概率分布得到一个识别结果,并基于至少两个文本分类模型各自输出的子概率分布,得到另一个识别结果,这两个识别结果一致时,将一致的识别结果确定为目标应用程序最终的识别结果。

综上所述,本申请实施例所示的方案,通过对应用程序运行过程中的截图进行识别,并通过多个不同的文本分类模型对识别出的文本进行分类处理,最后再通过融合分类模型对多个文本分类模型各自的输出层以及中间网络层的输出结果中的至少一种进行处理,得到指示目标应用程序是否为非正常应用程序的识别结果;本方案结合多种文本分类模型,对应用程序的截图中的文本进行分类,从而准确的识别出应用程序是否为非正常的应用程序,提高了非正常的应用程序的识别准确性。

本申请上述实施例所示的方案,可以应用于各类基于云计算的非正常应用程序识别,以及,基于非正常应用程序识别的活动中。

比如,请参考图10,其示出了本申请一示例性实施例提供的应用程序识别的应用流程图。如图10所示,本申请上述实施例所示的方案可以应用于协助相关机构寻找风险用户的场景。比如,上述方案可以应用于欺诈APP检出场景中,将检出的涉诈APP输出到客户(相关机构),帮助客户准确的查找电信诈骗受害人员。具体地,APP库中的样本经过设计的检测模型,检测出恶意涉诈APP,并构建一个恶意涉诈APP黑库;构建的涉诈APP黑库输出到相关机构或者通讯公司等下游客户;下游客户匹配用户的APP安装列表与恶意涉诈APP黑库,将匹配出的用户定义为涉诈高风险人群,最后通过线下人员对这些风险人群进行预警或劝阻。

与传统的涉诈APP检测方法相比,本申请所示的方案解决了涉诈APP检出覆盖率低的问题,在涉诈APP中的覆盖率可以达到60%;并且克服了传统涉诈APP检出需要大量人工标注的问题。另外,本申请实施例涉及的方案在应对不同类型的诈骗,例如:贷款,刷单等场景时,显著的提高了涉诈APP的准确率,提升了客户体验。

本申请上述各个实施例提出一种涉诈APP检测的方法,利用APP在模拟器中的跑机截图,提取其中的文本信息,并依此从大量APP中检测出涉诈的APP。具体地,首先将APP安装到模拟器中运行,同时截取APP运行过程中的图像,然后通过OCR技术提取图像中的文字,接着通过三类神经网络模型BERT,FastText,TextCNN将提取的文本压缩到较小的向量空间中,作为APP模拟跑机的特征向量;最后,利用logistic分类器对APP跑机文本的特征向量进行分类,解决在大规模APP样本中检测恶意涉诈APP的问题。基于该方法,能够快速识别出涉诈APP,更好地保护用户的财产安全。

图11是根据一示例性实施例示出的一种应用程序识别装置的结构方框图。该应用程序识别装置可以实现图2或图4所示实施例提供的方法中,由服务平台设备执行的全部或部分步骤,该应用程序识别装置包括:

截图获取模块1101,用于对运行中的目标应用程序进行截图,获得所述目标应用程序运行过程中的目标截屏图像;

识别模块1102,用于对所述目标截屏图像进行文本识别,获得所述目标截屏图像中的目标文本;

分类处理模块1103,用于通过至少两个文本分类模型,分别将所述目标文本的文本特征映射到至少两个所述分类模型各自的文本分类特征空间,获得至少两个所述文本分类模型各自的处理结果;所述处理结果包括所述文本分类模型的输出层的输出结果,以及所述文本分类模型的中间网络层的输出结果中的至少一种;

融合处理模块1104,用于通过融合分类模型对至少两个所述文本分类模型各自的处理结果进行融合处理,获得所述目标应用程序的识别结果;所述识别结果用于指示所述目标应用程序是否为非正常应用程序。

在一种可能的实现方式中,所述融合分类模型为逻辑回归模型;所述处理结果包括所述文本分类模型的模型输出层输出的子概率分布;所述子概率分布用于指示所述目标应用程序分别为正常应用程序和非正常应用程序的概率;

所述融合处理模块1104,用于将至少两个所述文本分类模型各自输出的所述子概率分布输入所述融合分类模型,获得所述目标应用程序的识别结果。

在一种可能的实现方式中,所述融合分类模型为神经网络模型;所述处理结果包括所述文本分类模型的模型输出层的前一层网络层的输出特征;

所述融合处理模块1104,用于,

将至少两个所述文本分类模型各自的模型输出层的前一层网络层的输出特征进行拼接,获得拼接特征;

通过所述融合分类模型对所述拼接特征进行处理,获得所述目标应用程序的识别结果。

在一种可能的实现方式中,所述模型输出层用于输出子概率分布;所述子概率分布用于指示所述目标应用程序分别为正常应用程序和非正常应用程序的概率;

所述融合处理模块1104,用于,

通过所述融合分类模型对所述拼接特征进行处理,获得所述融合分类模型输出的融合概率分布;所述融合概率分布用于指示所述目标应用程序分别为正常应用程序和非正常应用程序的概率;

基于所述融合概率分布,以及至少两个所述文本分类模型各自输出的所述子概率分布,获取所述目标应用程序的识别结果。

在一种可能的实现方式中,所述融合处理模块1104,用于,

对所述融合概率分布,以及所述至少两个所述文本分类模型各自输出的所述子概率分布进行加权平均,获得加权平均后的概率分布;

基于所述加权平均后的概率分布获取所述目标应用程序的识别结果。

在一种可能的实现方式中,所述融合处理模块1104,用于,

基于所述融合概率分布,获取所述融合分类模型对应的第一识别结果;

基于至少两个所述文本分类模型各自输出的所述子概率分布,获取至少两个所述文本分类模型各自对应的第二识别结果;

获取至少两个所述文本分类模型各自对应的所述第二识别结果中获取第三识别结果;所述第三识别结果是至少两个所述文本分类模型各自对应的第二识别结果中,出现次数最高的识别结果;

响应于所述第一识别结果与所述第三识别结果相同,将所述第一识别结果获取为所述目标应用程序的识别结果。

在一种可能的实现方式中,所述截图获取模块1101,用于基于所述目标应用程序运行过程中的至少两幅截屏图像各自的图像属性,从至少两幅所述截屏图像中选取至少一幅截屏图像,作为所述目标截屏图像;

其中,所述图像属性包括图像的熵,以及图像中包含的颜色种类数中的至少一项。

在一种可能的实现方式中,所述截图获取模块1101,用于,

通过图像分类模型分别对所述目标应用程序运行过程中的至少两幅截屏图像进行处理,获得所述图像分类模型的输出结果;所述输出结果用于指示所述截屏图像为非正常应用程序的截屏图像的概率;

基于所述输出结果,从至少两幅所述截屏图像中选取至少一幅截屏图像,作为所述目标截屏图像。

综上所述,本申请实施例所示的方案,通过对应用程序运行过程中的截图进行识别,并通过多个不同的文本分类模型对识别出的文本进行分类处理,最后再通过融合分类模型对多个文本分类模型各自的输出层以及中间网络层的输出结果中的至少一种进行处理,得到指示目标应用程序是否为非正常应用程序的识别结果;本方案结合多种文本分类模型,对应用程序的截图中的文本进行分类,从而准确的识别出应用程序是否为非正常的应用程序,提高了非正常的应用程序的识别准确性。

图12是根据一示例性实施例示出的一种计算机设备的结构示意图。该计算机设备可以实现为上述各个方法实施例中的模型训练设备、服务平台设备或者终端设备。所述计算机设备1200包括处理器1201,比如中央处理单元(CPU,Central Processing Unit)、包括随机存取存储器(Random Access Memory,RAM)1202和只读存储器(Read-Only Memory,ROM)1203的系统存储器1204,以及连接系统存储器1204和处理器1201的系统总线1205。所述计算机设备1200还包括帮助计算机内的各个器件之间传输信息的输入/输出系统1206,和用于存储操作系统1213、应用程序1214和其他程序模块1215的大容量存储设备1207。

所述大容量存储设备1207通过连接到系统总线1205的大容量存储控制器(未示出)连接到处理器1201。所述大容量存储设备1207及其相关联的计算机可读介质为计算机设备1200提供非易失性存储。也就是说,所述大容量存储设备1207可以包括诸如硬盘或者光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、闪存或其他固态存储其技术,CD-ROM、或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1204和大容量存储设备1207可以统称为存储器。

计算机设备1200可以通过连接在所述系统总线1205上的网络接口单元1212连接到互联网或者其它网络设备。

所述存储器还包括一个或者一个以上的计算机指令,所述一个或者一个以上计算机指令存储于存储器中,处理器1201通过执行该一个或一个以上计算机指令来实现图2或图4任一所示的方法的全部或者部分步骤。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储器,上述程序(指令)可由计算机设备的处理器执行以完成本申请各个实施例所示的方法。例如,所述非临时性计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例所示的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

相关技术
  • 一种制备6-氯-2-甲基-2H-吲唑-5-胺的方法
  • 一种6-氯-2-甲基-2H-吲唑-5-胺的制备方法
技术分类

06120116551536