基于用户隐私保护的应用程序检测方法及装置转让专利

申请号 : CN202010819239.7

文献号 : CN111680287B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周书恒黄继堂祝慧佳

申请人 : 支付宝(杭州)信息技术有限公司

摘要 :

本说明书实施例提供一种基于用户隐私保护的应用程序检测方法及装置,该方法从待检测的目标应用程序中,提取出存在用户隐私数据获取需求的若干场景对应的用户界面和隐私数据列表,然后提取第一用户界面的内容数据,将内容数据转换为相应的第一特征向量;计算第一特征向量与第一参考特征向量之间的第一相似度,当第一相似度超过第一预定阈值时,获取第一参考特征向量对应的参考场景下的参考隐私数据列表;计算第一隐私数据列表与参考隐私数据列表之间的第二相似度;至少基于第二相似度,判别第一场景是否为异常场景。该方法能够有效检测出隐私数据不合理的场景,进而防止用户隐私数据被不必要地获取。

权利要求 :

1.一种基于用户隐私保护的应用程序检测方法,所述方法包括:从待检测的目标应用程序中,提取出存在用户隐私数据获取需求的若干场景对应的用户界面和隐私数据列表,其中包括第一场景对应的第一用户界面和第一隐私数据列表;

提取所述第一用户界面的内容数据,将所述内容数据转换为相应的第一特征向量;

获取历史库中的多个参考场景分别对应的第一参考特征向量,计算所述第一特征向量与各个所述第一参考特征向量之间的第一相似度,所述第一相似度表征场景之间的相似度;

当所述第一特征向量与某个第一参考特征向量之间的所述第一相似度超过第一预定阈值时,获取该某个第一参考特征向量对应的参考场景下的参考隐私数据列表;

计算所述第一隐私数据列表与所述参考隐私数据列表之间的第二相似度;

基于所述第二相似度是否低于第二预定阈值,或者基于所述第一场景对应的异常值是否超过第四预定阈值,判别所述第一场景是否为异常场景;所述第一场景的异常值至少基于所述第二相似度确定。

2.根据权利要求1所述的方法,其中,所述第一用户界面的内容数据包括文本数据和/或图片数据;

将所述内容数据转换为相应的第一特征向量,包括:对于文本数据,通过预先训练的第一文本转换模型,转换为文本特征向量;所述第一文本转换模型包括doc2vec模型或BERT模型;

对于图片数据,通过预先训练的神经网络模型,转换为图片特征向量;

基于所述文本特征向量和/或所述图片特征向量,获得第一特征向量。

3.根据权利要求1所述的方法,其中,基于所述第一场景对应的异常值是否超过第四预定阈值,判别所述第一场景是否为异常场景之前,还包括:基于预先训练的第二转换模型,确定所述目标应用程序对应的第二特征向量;

获取该某个第一参考特征向量对应的参考应用程序的第二参考特征向量;

计算所述第二特征向量与所述第二参考特征向量之间的第三相似度。

4.根据权利要求3所述的方法,其中,基于所述第一场景对应的异常值是否超过第四预定阈值,判别所述第一场景是否为异常场景,包括:基于所述第一相似度、所述第二相似度和所述第三相似度,计算相应的第一隐私数据列表对应的第一场景的异常值;

若所述异常值超过第四预定阈值,则判定所述第一场景为异常场景。

5.根据权利要求3所述的方法,其中,基于预先训练的第二转换模型,确定所述目标应用程序对应的第二特征向量之前,还包括:获取多个用户对多个应用程序的访问序列;

将所述访问序列作为训练语料,训练所述第二转换模型,所述第二转换模型用于输出各个应用程序对应的第二特征向量,其中,所述第二转换模型为word2vec模型。

6.根据权利要求5所述的方法,其中,所述访问序列从用户访问会话数据中获得。

7.根据权利要求1所述的方法,其中,基于所述第二相似度是否低于所述第二预定阈值,判别所述第一场景是否为异常场景,包括:当所述第二相似度低于第二预定阈值时,将相应的第一隐私数据列表对应的场景判定为异常场景。

8.根据权利要求1-7任一项所述的方法,其中,判别所述第一场景是否为异常场景之后,还包括:针对多个异常场景对应的第一特征向量,进行聚类;

提供聚类结果,用于分析各个类簇相应的合法隐私数据列表。

9.一种基于用户隐私保护的应用程序检测装置,所述装置包括:提取单元,被配置为从待检测的目标应用程序中,提取出存在用户隐私数据获取需求的若干场景对应的用户界面和隐私数据列表,其中包括第一场景对应的第一用户界面和第一隐私数据列表;

转换单元,被配置为提取所述第一用户界面的内容数据,将所述内容数据转换为相应的第一特征向量;

第一计算单元,被配置为获取历史库中的多个参考场景分别对应的第一参考特征向量,计算所述第一特征向量与各个所述第一参考特征向量之间的第一相似度,所述第一相似度表征场景之间的相似度;

获取单元,被配置为当所述第一特征向量与某个第一参考特征向量之间的所述第一相似度超过第一预定阈值时,获取该某个第一参考特征向量对应的参考场景下的参考隐私数据列表;

第二计算单元,被配置为计算所述第一隐私数据列表与所述参考隐私数据列表之间的第二相似度;

判别单元,被配置为基于所述第二相似度是否低于第二预定阈值,或者基于所述第一场景对应的异常值是否超过第四预定阈值,判别所述第一场景是否为异常场景;所述第一场景的异常值至少基于所述第二相似度确定。

10.根据权利要求9所述的装置,其中,所述第一用户界面的内容数据包括文本数据和/或图片数据;

所述转换单元,被具体配置为:

对于文本数据,通过预先训练的第一文本转换模型,转换为文本特征向量;所述第一文本转换模型包括doc2vec模型或BERT模型;

对于图片数据,通过预先训练的神经网络模型,转换为图片特征向量;

基于所述文本特征向量和/或所述图片特征向量,获得第一特征向量。

11.根据权利要求9所述的装置,其中,所述获取单元,还被配置为:基于预先训练的第二转换模型,确定所述目标应用程序对应的第二特征向量;

获取所述第二特征向量,以及获取该某个第一参考特征向量对应的参考应用程序的第二参考特征向量;

计算所述第二特征向量与所述第二参考特征向量之间的第三相似度。

12.根据权利要求11所述的装置,其中,判别单元,被具体配置为:基于所述第一相似度、所述第二相似度和所述第三相似度,计算相应的第一隐私数据列表对应的场景的异常值;

若所述异常值超过第四预定阈值,则判定所述第一场景为异常场景。

13.根据权利要求11所述的装置,其中,所述获取单元,还被配置为:获取多个用户对多个应用程序的访问序列;

将所述访问序列作为训练语料,训练所述第二转换模型,所述第二转换模型用于输出各个应用程序对应的第二特征向量,其中,所述第二转换模型为word2vec模型。

14.根据权利要求13所述的装置,其中,所述访问序列从用户访问会话数据中获得。

15.根据权利要求9所述的装置,其中,所述判别单元,被具体配置为:当所述第二相似度低于第二预定阈值时,将相应的第一隐私数据列表对应的场景判定为异常场景。

16.根据权利要求9-15任一项所述的装置,其中,所述装置还包括聚类单元,被配置为:针对多个异常场景对应的第一特征向量,进行聚类;

提供聚类结果,用于分析各个类簇相应的合法隐私数据列表。

17.一种计算机可读存储介质,其上存储有计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-8中任一项的所述的方法。

18.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-8中任一项所述的方法。

说明书 :

基于用户隐私保护的应用程序检测方法及装置

技术领域

[0001] 本说明书实施例涉及隐私数据保护技术领域,具体地,涉及基于用户隐私保护的应用程序检测方法及装置。

背景技术

[0002] 随着APP市场的饱和,小程序以其简单的使用方式给用户带来了巨大的便利与舒适,成为目前匹配用户需求的新途径之一。小程序基于平台方运行,不需要下载安装即可使用,用户一般扫一扫或在平台方的主程序上点击相应图标即可打开,无需关心是否安装太多应用而占用设备资源的问题。
[0003] 在带来便利的同时,小程序也带来了关于隐私保护方面的隐患。很多小程序在使用时需要获取用户的隐私数据,例如,有些小程序基于运行需要,会询问用户是否授权获取头像、昵称、个人位置等隐私信息。
[0004] 目前,平台方为了有效保护用户隐私,会通过人工来梳理小程序的隐私数据列表,从而限定其可获取的隐私数据项,但每天上线的小程序服务内容千差万别,部分小程序向用户发出的隐私数据获取请求并不合理。随着小程序数目的快速增长,人工梳理的效率较低,难以应对审核需求,造成了用户隐私数据的不必要泄露。

发明内容

[0005] 本说明书描述了一种基于用户隐私保护的应用程序检测方法,从场景角度对目标应用程序(包括小程序)中隐私数据的获取是否合理进行检测,能够解决由于人工梳理导致的隐私数据获取不合理的问题。
[0006] 根据第一方面,提供一种基于用户隐私保护的应用程序检测方法,该方法包括:
[0007] 从待检测的目标应用程序中,提取出存在用户隐私数据获取需求的若干场景对应的用户界面和隐私数据列表,其中包括第一场景对应的第一用户界面和第一隐私数据列表;提取第一用户界面的内容数据,将内容数据转换为相应的第一特征向量;获取历史库中的多个参考场景分别对应的第一参考特征向量,计算第一特征向量与各个第一参考特征向量之间的第一相似度,第一相似度表征场景之间的相似度;当第一特征向量与某个第一参考特征向量之间的第一相似度超过第一预定阈值时,获取该某个第一参考特征向量对应的参考场景下的参考隐私数据列表;计算第一隐私数据列表与参考隐私数据列表之间的第二相似度;至少基于第二相似度,判别第一场景是否为异常场景。
[0008] 在一个实施例中,第一用户界面的内容数据包括文本数据和/或图片数据;
[0009] 将内容数据转换为相应的第一特征向量,包括:对于文本数据,通过预先训练的第一文本转换模型,转换为文本特征向量;第一文本转换模型包括doc2vec模型或BERT模型;对于图片数据,通过预先训练的神经网络模型,转换为图片特征向量;基于文本特征向量和/或图片特征向量,获得第一特征向量。
[0010] 在一个实施例中,至少基于第二相似度,判别第一场景是否为异常场景之前,还包括:
[0011] 基于预先训练的第二转换模型,确定目标应用程序对应的第二特征向量;获取该某个第一参考特征向量对应的参考应用程序的第二参考特征向量;计算第二特征向量与第二参考特征向量之间的第三相似度。
[0012] 在一个实施例中,至少基于第二相似度,判别第一场景是否为异常场景,包括:
[0013] 基于第一相似度、第二相似度和第三相似度,计算相应的第一隐私数据列表对应的场景的异常值;若异常值超过第四预定阈值,则判定第一场景为异常场景。
[0014] 在一个实施例中,基于预先训练的第二转换模型,确定目标应用程序对应的第二特征向量之前,还包括:
[0015] 获取多个用户对多个应用程序的访问序列;将访问序列作为训练语料,训练第二转换模型,第二转换模型用于输出各个应用程序对应的第二特征向量,其中,第二转换模型为word2vec模型。
[0016] 在一个实施例中,访问序列从用户访问会话数据中获得。
[0017] 在一个实施例中,至少基于第二相似度,判别第一场景是否为异常场景,包括:当第二相似度低于第二预定阈值时,将相应的第一隐私数据列表对应的场景判定为异常场景。
[0018] 在一个实施例中,判别第一场景是否为异常场景之后,还包括:
[0019] 针对多个异常场景对应的第一特征向量,进行聚类;提供聚类结果,用于分析各个类簇相应的合法隐私数据列表。
[0020] 第二方面,本说明书实施例还提供一种基于用户隐私保护的应用程序检测装置,该装置包括:
[0021] 提取单元,被配置为从待检测的目标应用程序中,提取出存在用户隐私数据获取需求的若干场景对应的用户界面和隐私数据列表,其中包括第一场景对应的第一用户界面和第一隐私数据列表;转换单元,被配置为提取第一用户界面的内容数据,将内容数据转换为相应的第一特征向量;第一计算单元,被配置为获取历史库中的多个参考场景分别对应的第一参考特征向量,计算第一特征向量与各个第一参考特征向量之间的第一相似度,第一相似度表征场景之间的相似度;获取单元,被配置为当第一特征向量与某个第一参考特征向量之间的第一相似度超过第一预定阈值时,获取该某个第一参考特征向量对应的参考场景下的参考隐私数据列表;第二计算单元,被配置为计算第一隐私数据列表与参考隐私数据列表之间的第二相似度;判别单元,被配置为至少基于第二相似度,判别第一场景是否为异常场景。
[0022] 根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机中执行时,令计算机执行第一至第二方面的方法。
[0023] 根据第四方面,提供了一种计算设备,包括存储器和处理器,存储器中存储有可执行代码,处理器执行可执行代码时,实现第一至第二方面的方法。
[0024] 采用本说明书实施例提供的基于用户隐私保护的应用程序检测方法,基于包含小程序在内的目标应用程序,提取出多个需要获取隐私数据的场景,以场景为单位分别检测隐私数据获取的合理性,将确定相似度较高的两个场景下的隐私数据列表进行比对,场景相似而隐私数据列表差距较大,则说明其中作为检测目标的场景获取的隐私数据列表不合理,可能存在非必要获取的数据项,因此归类为异常场景。该方法不仅解决了人工梳理无法保证合理性、效率较低难以应对小程序快速增长的问题,还避免了基于应用类别进行审核的方式所存在的一些弊端。

附图说明

[0025] 为了更清楚地说明本说明书披露的多个实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书披露的多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0026] 图1示出了本说明书实施例提供的一种基于用户隐私保护的应用程序检测方法中的一个场景下的用户界面示例图;
[0027] 图2示出了本说明书实施例提供的一种基于用户隐私保护的应用程序检测方法中的另一个场景下的用户界面示例图;
[0028] 图3示出了本说明书实施例中基于用户隐私保护的应用程序检测方法的一个实施例的系统架构图;
[0029] 图4示出了本说明书实施例中基于用户隐私保护的应用程序检测方法的一个实施例的流程图;
[0030] 图5示出了本说明书实施例中基于用户隐私保护的应用程序检测方法的另一个实施例的系统架构图;
[0031] 图6示出了基于用户隐私保护的应用程序检测装置的一个实施例的结构示意图。

具体实施方式

[0032] 除人工梳理方式存在检测效率低等问题以外,发明人在研究过程中还发现,基于应用类别的梳理方案中,是将当前应用的类别和历史库中的小程序类别做对比,如果两个应用类别一致,则判断两者的权限列表差异,然后根据权限列表的差异等级决定是否梳理,这种方法会存在如下弊端:应用类别这个信息可以由小程序的创建者或开发者来设置,具有很强的主观性,例如开发者将一款“购物应用”设置成“生活工具”,此时平台方根据应用类别将其划分为生活工具类应用,进而去和“生活工具”类的小程序做对比,生活工具类应用与购物类应用做对比,往往不具备可比性,即便出现差异较大的对比结果也不能说明该款应用权限获取不合理,差异较小也无法说明权限获取合理。因此,由于应用类别设备权限的灵活性和开发者可能存在的目的性,应用类别并不能够准确表达目标应用程序对于隐私数据获取的合理需求,基于应用类别的检测有效性有待考证。
[0033] 鉴于此,本说明书实施例披露了一种基于场景对隐私数据获取合理性进行检测的方案。下面结合附图,对本说明书披露的多个实施例进行描述。
[0034] 与应用类别不同的是,本说明书实施例提出的场景,包括需要获取用户隐私数据的各种情形,具体可以包括应用程序执行相应功能需要获取隐私数据时对应的各种用户界面(UI,User Interface),即应用程序向用户发出一次隐私数据获取请求,例如为征求用户是否允许获取相关数据信息而弹出的悬浮窗或者对话框所在的用户界面即可作为一个场景。多数情形下,一个场景对应于一个隐私数据列表,一个场景中包含至少一个用户界面,一个隐私数据列表中包含至少一项隐私数据项,其中地理位置信息、通讯录、头像、昵称以及住址等分别属于不同的隐私数据项。
[0035] 例如,参阅图1所示,图1示出了本说明书实施例提供的一种基于用户隐私保护的应用程序检测方法中的一个场景下的用户界面示例图,一款应用类别为“医疗健康”类的小程序,打开该小程序之后,会弹出如图1所示的一个对话框“医疗健康频道申请获取你的位置信息”,并显示“拒绝、允许”两个按钮,该小程序向用户发出了隐私数据获取请求,此种情形即为小程序需要获取用户隐私数据的一个场景,图1所示的界面即可视为该场景下的用户界面。该用户界面中还包含“预约挂号”“预约体检”“在线问诊”“送药上门”等多个入口,例如打开“预约体检”(或“体检预约”)可进入如图2所示的用户界面,此时会再次弹出一个对话框“体检预约申请获取你的位置信息”,此种情形也视为小程序中的一个场景,参阅图2所示,图2示出了本说明书实施例提供的一种基于用户隐私保护的应用程序检测方法中的另一个场景下的用户界面示例图,图2所示的用户界面即为该场景所包括的用户界面。可见,在应用程序中,会包含至少一个需要向用户发出隐私数据获取请求的场景,弹出的用于征求用户是否允许获取相关隐私信息的对话框或者悬浮窗等所在的用户界面即为该场景对应的用户界面。需要说明的是,本说明书实施例中,对应于一个场景的隐私数据列表可以包含一项或多项隐私数据,例如包括地理位置信息、姓名、手机号、收货地址、性别、年龄、通讯录信息等等多项,多项隐私数据可以设置在同一个对话框中,也可以分别通过不同的对话框来向用户请求,即一个场景对应的隐私数据列表可以对应一个或多个对话框,例如,图1和图2所示的对话框均仅包含地理位置信息数据项,在图1或图2所示的界面基础上再弹出其他对话框则视为场景不变,也就是在部分实施例中,基于同一用户界面弹出的多个对话框或悬浮框可对应于同一场景或同一隐私数据列表。
[0036] 参阅图3所示,图3示出了本说明书实施例中基于用户隐私保护的应用程序检测方法的一个实施例的系统架构图。从当前待检测的目标应用程序中确定出具有隐私数据获取需求的至少一个场景和相应场景下需要获取的隐私数据列表,然后,从场景对应的用户界面的内容数据中,提取用于表征当前场景特征的第一特征向量,将第一特征向量与历史库中预先存储的各个第一参考特征向量(用于表征参考场景的场景特征)进行相似度计算,得出场景相似度(即第一相似度),其中超过第一预定阈值的,则获取该第一参考特征向量对应的参考隐私数据列表,与目标应用程序的隐私数据列表进行相似度计算,获得列表相似度,列表相似度较低,则说明隐私数据列表差异较大,此种情形下,则将第一特征向量对应的场景确定为异常场景。其中,在多数实施例中,场景并不包含向用户发出隐私数据获取请求的对话框或者悬浮框,而是包含弹出对话框所基于的用户界面,因此场景的内容数据并不包含对话框或悬浮框。
[0037] 参阅图4所示,图4示出了本说明书实施例中基于用户隐私保护的应用程序检测方法的一个实施例的流程图,该实施例披露的基于用户隐私保护的应用程序检测方法,可以包括如下流程:
[0038] S401,从待检测的目标应用程序中,提取出存在用户隐私数据获取需求的若干场景对应的用户界面和隐私数据列表,其中包括第一场景对应的第一用户界面和第一隐私数据列表;S402,提取第一用户界面的内容数据,将内容数据转换为相应的第一特征向量;S403,获取历史库中的多个参考场景分别对应的第一参考特征向量,计算第一特征向量与各个第一参考特征向量之间的第一相似度,第一相似度表征场景之间的相似度;S404,当第一特征向量与某个第一参考特征向量之间的第一相似度超过第一预定阈值时,获取该某个第一参考特征向量对应的参考场景下的参考隐私数据列表;S405,计算第一隐私数据列表与参考隐私数据列表之间的第二相似度;S406,至少基于第二相似度,判别第一场景是否为异常场景。
[0039] 在S401中,目标应用程序包括小程序,以下以小程序为例进行说明,但本说明书实施例提供的方法不仅限应用于小程序,也可适用于其他类型的应用程序。从待检测的小程序中,提取出至少一个场景对应的用户界面,以及在该用户界面向用户请求获取的隐私数据列表,例如图1所示的场景对应的隐私数据列表,只包含一项隐私数据项即地理位置信息。
[0040] 一个小程序中一般包含多个场景,为便于描述,将其中任意一个场景定义为第一场景,其对应的用户界面定义为第一用户界面,相应的隐私数据列表定义为第一隐私数据列表。下面为描述清楚,从一个场景的角度进行阐述,多个场景可依次参考该场景执行。
[0041] 在S402中,用户界面的内容数据即为用户界面上面向用户显示的各种文本、图片数据,可以包括文本数据、图片数据中的至少一种。在一个实施例中,对于文本数据,首先对文章中的词或者句子进行编码,将文本数据转换为输入矩阵,然后输入预先训练的第一文本转换模型,将其转换为指定维度的文本特征向量。例如,第一文本转换模型可以为doc2vec(document to vector,文本到向量)模型或BERT(Bidirectional Encoder Representation from  Transformers)模型,转换后的文本特征向量为嵌入向量(embedding)。
[0042] 对于图片数据,则可以采用具有图处理能力的神经网络模型,例如卷积神经网络模型CNN,将第一用户界面中的图片输入训练后的CNN,提取出相应的图片特征向量。
[0043] 接下来,基于文本特征向量和/或图片特征向量,获得第一特征向量,具体地,在一个实施例中,将文本特征向量与图片特征向量进行拼接,获得第一特征向量。或者,在另外的实施例中,还可以将文本特征向量与图片特征向量进行其他形式的组合作为第一特征向量。第一特征向量用于表达第一场景的场景特征,携带有第一场景下的文本语义以及图片特征信息。
[0044] 在S403中,确定了第一特征向量后,从历史库中读取多个参考场景分别对应的第一参考特征向量,以用于与第一特征向量做相似度计算。
[0045] 本说明书实施例中,历史库中预先存储有多个经过审核的可以作为参考标准的参考项,为便于描述,将历史库中预先存储的应用程序、场景、场景对应的特征向量以及相应的隐私数据列表,分别定义为参考应用程序、参考场景、第一参考特征向量和参考隐私数据列表。
[0046] 同当前检测的目标应用程序,历史库中的每个参考应用程序(例如参考小程序)对应至少一个参考场景,基于每个参考场景的用户界面的内容数据会提取出相应的第一参考特征向量,第一参考特征向量用于描述相应的参考场景的场景特征。基于参考场景提取第一参考特征向量的方式,可参照上述基于第一场景提取第一特征向量的相关描述,此处不再赘述。
[0047] 接下来,将第一场景对应的第一特征向量分别与各个第一参考特征向量进行相似度计算,即,一个待检测的场景特征与多个预先存储的参考场景特征进行对比,获得的结果作为第一相似度。计算相似度的方式可以采用适用于向量的相似度计算方式,例如余弦相似度(Cosine Similarity)、曼哈顿距离(Manhattan Distance)、欧氏距离(Euclidean Distance)等等。
[0048] 第一相似度表示场景之间相似度,场景之间的相似度较高,则说明这两个场景较为类似或者接近,很有可能为实现相同或者相近功能的两个场景,一般情形下,这两个场景所需要获取的用户隐私数据列表之间的相似度也应该较高。
[0049] 由此,在S404中,确定了第一相似度之后,如果第一相似度较高,例如超过第一预定阈值,例如,在一个实施例中,第一预定阈值的取值范围可设置为80%-95%。当第一相似度超过该阈值,例如超过85%,则将这两个场景识别为相似场景。获取与第一场景为相似场景的参考场景所对应的参考隐私数据列表。
[0050] 接下来,在S405中,将获取到的该参考隐私数据列表与第一隐私数据列表进行相似度计算。隐私数据列表一般情形下为有限元素集合,隐私数据列表之间进行相似度计算的方式可以是杰卡德相似系数(Jaccard Similarity),或者采用落和系数(Ochiai coefficient)。为便于描述,将隐私数据列表之间的相似度定义为第二相似度,第二相似度很明显用于表示不同的隐私数据列表之间的相似性。
[0051] 获得第二相似度之后,在S406中,至少基于第二相似度,判别相应的第一隐私数据列表对应的场景是否为异常场景。相似场景的隐私数据列表也应该相似,当相似场景的隐私数据列表之间存在较大差异时,则很有可能其中的一个场景下的隐私数据列表获取并不合理。而在说明书实施例中,存储于历史库中的参考隐私数据列表为预先审核过的标准且合法列表,因此,当第一相似度较高而第二相似度不高时,例如低于第二预定阈值时,则说明当前检测的第一场景的隐私数据列表设置不合理,很可能存在不必要获取的隐私数据项。在一个实施例中,第二预定阈值的取值范围可以是70%-85%。例如,第二相似度低于75%,则将第一场景判定为异常场景。
[0052] 在实际检测中,针对多个目标应用程序可能会检测出大量异常场景。在一个实施例中,获得异常场景之后,对具备一定数量规模的异常场景进行聚类分析,获得多个簇,以分别针对不同的类簇分析相应的合法隐私数据列表。
[0053] 本说明书实施例还提供了结合应用相似度来判别异常场景的检测方法,参阅图5所示,图5示出了本说明书实施例中基于用户隐私保护的应用程序检测方法的另一个实施例的系统架构图(图5中为避免实线交叉无法确定流程走向,将一部分实线采用虚线表示以区分流程走向)。在一部分实施例中,在确定第一相似度也就是场景之间的相似度超过第一预定阈值之后,获取当前检测的目标应用程序的应用特征,为便于理解和描述清楚,将该应用特征定义为第一应用特征,将与第一场景相似度超过第一预定阈值的参考场景定义为第一相似场景,将该第一应用特征与第一相似场景对应的参考小程序的应用特征(即参考应用特征)进行相似度计算,获得应用相似度,然后进行列表相似度计算。其中,参考应用特征可以采用第二特征向量表示,应用特征表达了应用程序自身的特征属性,可以用于区分不同特点的应用程序。
[0054] 具体地,在一部分实施例中,当第一特征向量与某个第一参考特征向量之间的第一相似度超过第一预定阈值时,获取相应的第二特征向量,以及获取该某个第一参考特征向量对应的参考应用程序的第二参考特征向量,然后,计算该第二特征向量与该第二参考特征向量之间的第三相似度,再获取该某个第一参考特征向量对应的参考场景下的参考隐私数据列表,以便计算列表相似度。
[0055] 在一个实施例中,第二特征向量可基于预先训练的第二转换模型获得,一个应用程序对应输出一个第二特征向量。第二转换模型可以采用多个用户对多个应用程序的访问序列作为训练语料,经训练而得。用户的访问序列即为各个用户对各个应用程序的访问顺序数据,例如,用户U1对应的访问序列可以为(user1: app01, app02, app03, app04),用户U2对应的访问序列可以为(user2: app03, app01, app05, app06,app09)等等,其中app表示应用程序(例如小程序)。用户的访问序列可以从用户访问会话数据即session数据中获得。
[0056] 在该实施例中,第二转换模型可以为word2vec(word to vector,词到词向量)模型,用于根据训练语料中的词序列(例如句子、文章),转换得到各个词的嵌入向量(embedding)。根据以上实施例,用户访问序列中,小程序在该序列中的排序带有一定的特征信息,用户访问app的顺序 ,一定程度上反映了不同的app之间的关联,类似于一篇文章中,各个词在文章中的位置和各个词出现的顺序,能够反映出该词在上下文中的语义信息,因此,本说明书实施例提出利用word2vec模型来处理用户访问序列,基于app(包含小程序在内的各种应用程序)在序列中的顺序和排位信息,得到各个应用程序的应用特征向量。
[0057] 当两个场景相似而应用不相似时,说明很可能属于两种不同类型的应用下的两个场景,此种情形下,场景近似并不能够说明其隐私数据列表也应一致或者近似,因此,在确定了场景相似度之后,继续检测场景所属的应用之间的相似度,将场景相似度与应用相似度相结合来判别隐私数据列表是否应该近似,相比于仅比较场景更为全面、综合地反映了场景之间的关联度,避免了仅检测场景可能导致的检测结果的片面或不合理。
[0058] 由此,在一部分实施例中,作为一种可实施方式,只有当确定所述第三相似度也就是应用相似度超过第三预定阈值(可以取值80%-95%)时,再去获取该某个第一参考特征向量对应的参考场景下的参考隐私数据列表,以进行列表相似度计算。
[0059] 而在另外的实施例中,无论应用相似度是否超过第三预定阈值,都会再去获取相应的参考隐私数据列表,以计算列表相似度(即第二相似度)。
[0060] 在该另外的实施例中,基于第一相似度、第二相似度和第三相似度,计算相应的第一隐私数据列表对应的场景的异常值;当异常值超过第四预定阈值,则判定相应的第一场景为异常场景。总的判别原则是在场景和应用都相似的情况下,如果隐私数据列表的差距很大,则异常值较高,判别为异常场景。
[0061] 具体地,作为一种可实施方式,以sim1表示场景相似度(第一相似度),以sim2表示隐私数据列表相似度(第二相似度),以sim3表示应用相似度(第三相似度),可以基于如下公式进行异常值的计算:
[0062] 异常值=(sim1+sim3)/ln(1+sim2)。
[0063] 上述计算式仅为举例,根据本说明书提出的总的判别原则,即在场景和应用都相似的情况下,如果隐私数据列表的差距很大,则异常值较高的指引下,还可以得到其他多种计算式的表达形式,例如,还可以是:
[0064] 异常值=(sim1+sim3)/α(1+sim2),α为一常数系数,用于放大或者缩小相似度之间的比值关系。其他表达式本说明书不逐一列举。
[0065] 在该部分实施例中,对于获得的大量异常场景,执行聚类分析,具体的聚类对象为用于表示场景特征的第一特征向量,即对第一特征向量进行聚类,将场景按照特征划分为多个类簇,每个簇表示一类场景,然后基于类别对场景进行分析,以获得该场景类别下的合法隐私数据列表。具体的聚类算法可以采用K-Means(K均值)聚类或者均值漂移聚类等。
[0066] 第二方面,参阅图6所示,图6示出了基于用户隐私保护的应用程序检测装置的一个实施例的结构示意图。该实施例提供了一种基于用户隐私保护的应用程序检测装置600,包括:
[0067] 提取单元6001,被配置为从待检测的目标应用程序中,提取出存在用户隐私数据获取需求的若干场景对应的用户界面和隐私数据列表,其中包括第一场景对应的第一用户界面和第一隐私数据列表;
[0068] 转换单元6002,被配置为提取第一用户界面的内容数据,将内容数据转换为相应的第一特征向量;
[0069] 第一计算单元6003,被配置为获取历史库中的多个参考场景分别对应的第一参考特征向量,计算第一特征向量与各个第一参考特征向量之间的第一相似度,第一相似度表征场景之间的相似度;
[0070] 获取单元6004,被配置为当第一特征向量与某个第一参考特征向量之间的第一相似度超过第一预定阈值时,获取该某个第一参考特征向量对应的参考场景下的参考隐私数据列表;
[0071] 第二计算单元6005,被配置为计算第一隐私数据列表与参考隐私数据列表之间的第二相似度;
[0072] 判别单元6006,被配置为至少基于第二相似度,判别第一场景是否为异常场景。
[0073] 在一个实施例中,用户界面的内容数据包括文本数据和/或图片数据。在该实施例中,转换单元6002,被具体配置为:对于文本数据,通过预先训练的第一文本转换模型,转换为文本特征向量;第一文本转换模型包括doc2vec模型或BERT模型;对于图片数据,通过预先训练的神经网络模型,转换为图片特征向量;基于文本特征向量和/或图片特征向量,获得第一特征向量。
[0074] 在一个实施例中,获取单元6004,还被配置为:基于预先训练的第二转换模型,确定目标应用程序对应的第二特征向量;获取第二特征向量,以及获取该某个第一参考特征向量对应的参考应用程序的第二参考特征向量;计算第二特征向量与第二参考特征向量之间的第三相似度。
[0075] 在一个实施例中,判别单元6006,被具体配置为:基于第一相似度、第二相似度和第三相似度,计算相应的第一隐私数据列表对应的场景的异常值;异常值超过第四预定阈值,则判定第一场景为异常场景。
[0076] 在一个实施例中,获取单元6004,还被配置为:获取多个用户对多个应用程序的访问序列;将访问序列作为训练语料,训练第二转换模型,第二转换模型用于输出各个应用程序对应的第二特征向量。
[0077] 在一个实施例中,第二转换模型为word2vec模型。
[0078] 在一个实施例中,访问序列从用户访问会话数据中获得。
[0079] 在一个实施例中,判别单元6006,被具体配置为:当第二相似度低于第二预定阈值时,将相应的第一隐私数据列表对应的场景判定为异常场景。
[0080] 在一个实施例中,装置还包括聚类单元6007(图6中虚线表示聚类单元6007为部分实施例中的可选项),被配置为:针对多个异常场景对应的第一特征向量,进行聚类;提供聚类结果,用于分析各个类簇相应的合法隐私数据列表。
[0081] 如上,根据再一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一实施例所描述的方法。
[0082] 根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一实施例所描述的方法。
[0083] 综上,在小程序等应用程序执行其功能时,不同的场景需要获取的隐私数据不尽相同,一方面,依靠人工进行梳理效率较低,难以应对大量小程序;另一方面,应用类别并不能准确表示各个应用的隐私数据获取需求,依赖于应用类别并不能有效判断隐私数据获取的合理性,以应用类目为基础进行的异常小程序的隐私数据获取合理性判断,很容易被用户主观生成的类目信息干扰,因而无法反映真实的隐私数据获取诉求。
[0084] 本说明书实施例提出的检测方法,基于内容和行为分别从场景和应用级别对服务隐藏的实际数据需求进行刻画,将场景内容、用户访问行为序列、隐私数据列表三者结合,对各种需要获取用户隐私数据的“场景”进行挖掘和比对,计算不同场景之间的相似度,基于场景相似度进一步比较应用相似度和列表相似度,结合三种相似度之间的差异综合判断场景的异常程度,进而通过聚类的方法挖掘出不同类型的场景特性,确定合理的隐私数据列表。经实验验证,本说明书实施例提出的基于场景的检测方法,可以自动挖掘异常业务场景、辅助人工进行场景特性总结,从而有效减少不合理获取用户隐私数据的情况。
[0085] 本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书披露的多个实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
[0086] 以上所述的具体实施方式,对本说明书披露的多个实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书披露的多个实施例的具体实施方式而已,并不用于限定本说明书披露的多个实施例的保护范围,凡在本说明书披露的多个实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书披露的多个实施例的保护范围之内。