CN109828750B - 自动配置数据埋点的方法、装置、电子设备及存储介质 - Google Patents
自动配置数据埋点的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109828750B CN109828750B CN201910021096.2A CN201910021096A CN109828750B CN 109828750 B CN109828750 B CN 109828750B CN 201910021096 A CN201910021096 A CN 201910021096A CN 109828750 B CN109828750 B CN 109828750B
- Authority
- CN
- China
- Prior art keywords
- data
- sparse
- models
- module
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开实施例公开了一种自动配置数据埋点的方法、装置、电子设备及存储介质。其中,该方法包括:接收通过全埋点方式采集用户的全部用户数据;生成针对用户数据的多个稀疏模型,其中,每个所述稀疏模型使用所述全部用户数据的一个子集;分别测试各个所述稀疏模型对指定数据分析业务的预测能力;根据预测能力最优的稀疏模型确定针对所述指定数据分析业务的数据埋点配置方案。
Description
技术领域
本公开涉及互联网技术领域,具体涉及一种自动配置数据埋点的方法、装置、电子设备及存储介质。
背景技术
随着互联网技术和信息处理终端的发展,用户在日常生活中已经离不开互联网服务的支持,其中,基于智能移动终端的应用程序正得到快速增长,这带来了海量数据并催生了多种基于大数据的技术和服务形式。在大数据时代中,如何更有效地获取关键数据成为一个核心问题,目前通过采集用户数据来帮助提供更有针对性的服务已经成为移动app开发的重要环节。
在互联网数据采集领域内,通过数据埋点方式采集用户数据是常用的手段,其中,一个数据埋点可以理解为应用程序中在预定条件下被触发的数据采集行为。在现有技术的演进过程中,最初用户数据的采集是通过软件开发人员在预先设定的数据采集逻辑下,通过嵌入相关代码实现的数据埋点;但代码埋点的方式往往费时费力,相同的埋点逻辑需要反复的添加,给软件开发人员带来极大的工作压力,并且一旦埋点策略发生改变,整个软件系统均需要重新编写、重新编译,成本高而效率低下。随后出现一种能够避免上述问题的策略,即将app所有相关位置均设置数据埋点,该方式也叫全埋点方式;全埋点能够得到用户的所有数据,仅需要在数据分析时选择有效的数据即可,然而这种方法带来的一个显然的弊端在于数据存储、传输的压力变得非常巨大,尤其是会给移动终端带来额外的数据流量费用和电量消耗,因此在成本和效率方面也不理想,而且很难受用户欢迎。最近出现一种较为高效的方式,通过可配置的埋点方式来管理埋点的开发与应用;即开发人员只需要在配置文件中配置埋点的行为,就可以快速开发或重新编译应用程序的埋点行为。这种方法也被称之为可配置埋点或无埋点方式,相比全埋点方式,可配置埋点的数据存储量和传输量小,并且也不需要大量的开发工具,因此正成为流行的数据采集开发手段。
然而,发明人在实现本公开实施例相关技术方案的过程中发现,现有技术至少存在以下问题:可配置埋点的方式实际上是事先按需设置埋点,其仍然需要人工进行埋点的配置操作,一方面,这对配置人员的专业性要求较高,需要对app运行和后台数据分析都有深入的了解;另一方面,这种配置方式完全依靠对需求的人工预测进行,有极大可能出现偏差而导致需要重新配置埋点。因此现有的可配置埋点方式在成本、效率和可靠性方面仍然不太理想。
发明内容
针对现有技术中的上述技术问题,本公开实施例提出了一种自动配置数据埋点的方法、装置、电子设备及计算机可读存储介质,以解决现有数据埋点技术效率较低的问题。
本公开实施例的第一方面提供了一种自动配置数据埋点的方法,包括:
接收通过全埋点方式采集用户的全部用户数据;
生成针对用户数据的多个稀疏模型,其中,每个所述稀疏模型使用所述全部用户数据的一个子集;
分别测试各个所述稀疏模型对指定数据分析业务的预测能力;
根据预测能力最优的稀疏模型确定针对所述指定数据分析业务的数据埋点配置方案。
在一些实施例中,所述分别测试各个所述稀疏模型对指定数据分析业务的预测能力包括:
使用一组带有标注信息的测试数据分别输入各个所述稀疏模型中;
按照所述指定数据分析业务使用各个所述稀疏模型对所述测试数据进行分析识别;
将各个所述稀疏模型的分析识别结果与所述标注信息进行对比,将对比结果的重合度作为各个所述稀疏模型对指定数据分析业务的预测能力。
在一些实施例中,所述生成针对用户数据的多个稀疏模型包括:
生成空白的多个机器学习模型;
使用相同的数据集对所述多个机器学习模型同步进行训练,其中,所述数据集为所述全部用户数据的至少一个子集;
得到多个训练后的模型作为所述多个稀疏模型。
在一些实施例中,所述方法还包括:
在跨平台的应用程序开发环境中设计开发人机交互组件;
通过配置的方式设置所述人机交互组件的数据采集行为,其中,初始配置为所述全埋点方式;
根据所述人机交互组件的设计和所述数据采集行为的配置,编译生成可执行的应用程序代码。
在一些实施例中,所述方法还包括:通过网络发布所述数据埋点配置方案,以使应用程序更新数据采集行为。
本公开实施例的第二方面提供了一种自动配置数据埋点的装置,包括:
数据接收模块,用于接收通过全埋点方式采集用户的全部用户数据;
模型生成模块,用于生成针对用户数据的多个稀疏模型,其中,每个所述稀疏模型使用所述全部用户数据的一个子集;
测试模块,用于分别测试各个所述稀疏模型对指定数据分析业务的预测能力;
配置模块,用于根据预测能力最优的稀疏模型确定针对所述指定数据分析业务的数据埋点配置方案。
在一些可选的实施例中,所述测试模块包括:
数据输入模块,用于使用一组带有标注信息的测试数据分别输入各个所述稀疏模型中;
识别模块,用于按照所述指定数据分析业务使用各个所述稀疏模型对所述测试数据进行分析识别;
对比模块,用于将各个所述稀疏模型的分析识别结果与所述标注信息进行对比,将对比结果的重合度作为各个所述稀疏模型对指定数据分析业务的预测能力。
在一些可选的实施例中,所述模型生成模块包括:
空白模型生成模块,用于生成空白的多个机器学习模型;
同步训练模块,用于使用相同的数据集对所述多个机器学习模型同步进行训练,其中,所述数据集为所述全部用户数据的至少一个子集;
训练输出模块,用于得到多个训练后的模型作为所述多个稀疏模型。
在一些可选的实施例中,所述装置还包括:
组件设计模块,用于在跨平台的应用程序开发环境中设计开发人机交互组件;
采集行为配置模块,用于通过配置的方式设置所述人机交互组件的数据采集行为,其中,初始配置为所述全埋点方式;
编译模块,用于根据所述人机交互组件的设计和所述数据采集行为的配置,编译生成可执行的应用程序代码。
在一些可选的实施例中,所述装置还包括:
配置发布模块,用于通过网络发布所述数据埋点配置方案,以使应用程序更新数据采集行为。
本公开实施例的第三方面提供了一种电子设备,包括:
存储器以及一个或多个处理器;
其中,所述存储器与所述一个或多个处理器通信连接,所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行时,所述电子设备用于实现如前述各实施例所述的方法。
本公开实施例的第四方面提供了一种计算机可读存储介质,其上存储有计算机可执行指令,当所述计算机可执行指令被计算装置执行时,可用来实现如前述各实施例所述的方法。
本公开实施例的第五方面提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,可用来实现如前述各实施例所述的方法。
本公开实施例通过多个稀疏模型来测试数据子集对数据分析业务的预测能力,从而自动确定数据埋点的配置方案,一方面避免了使用全埋点方式造成的数据存储和传输的压力,另一方面可以更高效、自动地生成埋点配置文件,使得模型精度不仅能够更好的满足数据分析业务,且节省了人工配置埋点的方式,实现了埋点的自动化设置。
附图说明
通过参考附图会更加清楚的理解本公开的特征和优点,附图是示意性的而不应理解为对本公开进行任何限制,在附图中:
图1是根据本申请的一些实施例所示的一种互联网服务系统示意图;
图2是根据本申请的一些实施例所示的一种自动配置数据埋点的方法的流程示意图;
图3A、3B是根据本申请的一些实施例所示的一种全埋点和配置埋点两种方式的工作原理示意图;
图4是根据本申请的一些实施例所示的一种具体的自动生成配置的应用场景示意图;
图5是根据本申请的一些实施例所示的一种自动配置数据埋点的装置的模块结构框图;
图6是根据本申请的一些实施例所示的一种电子设备的结构示意图。
具体实施方式
在下面的详细描述中,通过示例阐述了本公开的许多具体细节,以便提供对相关披露的透彻理解。然而,对于本领域的普通技术人员来讲,本公开显而易见的可以在没有这些细节的情况下实施。应当理解的是,本公开中使用“系统”、“装置”、“单元”和/或“模块”术语,是用于区分在顺序排列中不同级别的不同部件、元件、部分或组件的一种方法。然而,如果其他表达式可以实现相同的目的,这些术语可以被其他表达式替换。
应当理解的是,当设备、单元或模块被称为“在……上”、“连接到”或“耦合到”另一设备、单元或模块时,其可以直接在另一设备、单元或模块上,连接或耦合到或与其他设备、单元或模块通信,或者可以存在中间设备、单元或模块,除非上下文明确提示例外情形。例如,本公开所使用的术语“和/或”包括一个或多个相关所列条目的任何一个和所有组合。
本公开所用术语仅为了描述特定实施例,而非限制本公开范围。如本公开说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的特征、整体、步骤、操作、元素和/或组件,而该类表述并不构成一个排它性的罗列,其他特征、整体、步骤、操作、元素和/或组件也可以包含在内。
参看下面的说明以及附图,本公开的这些或其他特征和特点、操作方法、结构的相关元素的功能、部分的结合以及制造的经济性可以被更好地理解,其中说明和附图形成了说明书的一部分。然而,可以清楚地理解,附图仅用作说明和描述的目的,并不意在限定本公开的保护范围。可以理解的是,附图并非按比例绘制。
本公开中使用了多种结构图用来说明根据本公开的实施例的各种变形。应当理解的是,前面或下面的结构并不是用来限定本公开。本公开的保护范围以权利要求为准。
互联网和移动终端的广泛应用,使得每个服务供应商均需要应对海量的数据处理,为了在海量数据中有效获取关键数据,现有技术中出现了多种数据埋点方式以针对性地采集用户数据。但是,现有的数据埋点方式在部署效率上存在天然的缺陷,需要较多的人工干预。在本公开的实施例中,通过人工智能的方式来自动学习识别数据需求,从而实现自动配置埋点方式以自动部署数据埋点,提高了数据埋点的效率和可靠性。
在本公开的一个实施例中,通过如图1所示互联网服务系统100为用户提供互联网服务。其中,互联网服务系统100可以包括服务器110、用户终端120、配置设备130和数据设备140。用户通过用户终端120访问服务器110,获取相应的互联网服务;当然,在某些情况下,用户可在用户终端120中离线地使用本地应用获得相应服务,比如拍照、离线阅读、播放本地视频或是单机游戏等,此时服务器110也并非互联网服务系统100的必要组成,可适当简化甚至省略,故图1中的设备组成仅仅是一个优选的示例,不应视作对互联网服务系统100的具体限制。在通过服务器110向用户发布移动app之前或之后,通过配置设备130自动配置移动app中的埋点设置;而在用户操作用户终端120中的移动app时会触发相关埋点机制采集用户数据,随后通过用户终端120向服务器110上报埋点采集的用户数据。其中,典型地,用户终端120和配置设备130均是与服务器110建立连接,由服务器110接收双方的信息并按需处理。在某些情况下,服务器110还按需访问数据设备140以存储或读取关键数据,从而实现对互联网服务和/或数据分析工作的支持。
在一些实施例中,服务器110可以是单个服务器,也可以是一个服务器群组,或是分属于不同互联网服务提供商的多个服务器/服务器群组。一个服务器群组可以是集中式的,例如数据中心;也可以是分布式的,例如一个分布式系统。服务器110可以是本地的,也可以是远程的。在一些实施例中,服务器110可以通过网络获取数据或信息。例如,服务器110可以通过网络获取用户终端120和/或配置设备130的数据或信息;又例如,服务器110可以直接读取或通过网络读取数据设备140中的数据或信息。在一些实施例中,服务器110可以通过网络发送数据或信息。例如,服务器110可以通过网络将处理的数据或需要展示的信息发送给用户终端120;又例如,服务器110可以直接将数据或信息存储在数据设备140中或通过网络将处理的数据发送给数据设备140进行存储。其中,一个典型的数据设备140可以是数据库设备或其他任意形式的大数据处理设备。
用户终端120是用户的设备。如图1所示,用户终端120可以有多个,从用户终端1直到用户终端N,其中N为自然数。在一些实施例中,所述用户终端120可以安装有不同的操作系统,比如Windows系统、Linux系统、MAC OS系统、Android系统、iOS系统等;在各个操作系统中进一步安装有相应的应用程序,比如浏览器应用、社交应用、电商应用、资讯应用、邮件应用、多媒体应用等各种专用应用。所述用户终端120通过上述专用应用与对应的服务器110交换数据或信息,并显示给用户。所述用户终端120可以通过网络连接服务器110。在一些实施例中,所述用户终端120可以是智能设备;所述智能设备可以是手机、平板电脑或笔记本电脑等中的一种或几种的组合。多个用户终端可以分别直接与服务器连接,或者汇聚到一个节点后再与服务器连接。
配置设备130是对埋点进行自动配置的设备。如图1所示,配置设备130也可以有多个,从配置设备1直到配置设备P,其中P为自然数。在一些实施例中,所述配置设备130也可以安装有相应的操作系统和配置支持应用。所述配置设备130通过相应的配置支持应用与服务器110交换数据或信息,以更改移动app中的埋点配置。所述配置设备130可以通过网络连接服务器110。在一些实施例中,所述配置设备130可以是手机、平板电脑、台式电脑、笔记本电脑、服务器等中的一种或几种的组合。多个配置设备可以分别直接与服务器连接,或者汇聚到一个节点后再与服务器连接。当然,本领域技术人员可以理解,配置设备130的相关功能显然也可由服务器110直接实现,即由服务器110直接对移动app中的埋点配置进行预设和更改,此时配置设备130也并非互联网服务系统100的必要组成,可适当简化甚至省略。
数据设备140可以泛指具有数据存储和/或数据处理功能的设备。数据设备140可以是本地的或远程的。如图1所示,数据设备可以有多个,从数据设备1直到数据设备Q,其中Q为自然数。数据设备140可以包括层次式数据设备、网络式数据设备和关系式数据设备等,或几种的组合。数据设备140可以将信息数字化后再以利用电、磁或光学等方式的存储设备加以存储。数据设备140可以用来存放各种信息,例如,程序、数据等。数据设备140可以是利用电能方式存储信息的设备,例如,各种存储器、随机存取存储器(Random Access Memory(RAM))、只读存储器(Read Only Memory(ROM))等。随机存储器可以包括十进计数管、选数管、延迟线存储器、威廉姆斯管、动态随机存储器(DRAM)、静态随机存储器(SRAM)、晶闸管随机存储器(T-RAM)、零电容随机存储器(Z-RAM)等,或几种的组合。只读存储器可以包括磁泡存储器、磁钮线存储器、薄膜存储器、磁镀线存储器、磁芯内存、磁鼓存储器、光盘驱动器、硬盘、磁带、早期非易失存储器(NVRAM)、相变化内存、磁阻式随机存储式内存、铁电随机存储内存、非易失SRAM、闪存、电子抹除式可复写只读存储器、可擦除可编程只读存储器、可编程只读存储器、屏蔽式堆读内存、浮动连接门随机存取存储器、纳米随机存储器、赛道内存、可变电阻式内存、可编程金属化单元等,或几种的组合。数据设备140可以是利用磁能方式存储信息的设备,例如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘、闪存等。数据设备140可以是利用光学方式存储信息的设备,例如,CD或DVD等。数据设备140可以是利用磁光方式存储信息的设备,例如,磁光盘等。数据设备140的存取方式可以是随机存储、串行访问存储、只读存储等,或几种的组合。数据设备140可以包括非永久记忆存储器,永久记忆存储器,或二者的组合。在本公开的实施例中,数据设备140还有可能进一步对采集的用户数据进行分析处理,故数据设备140进一步还可以是具备数据处理能力的电子设备。
图2是根据本公开的一些实施例所示的自动配置数据埋点的方法示意图。在一些实施例中,所述自动配置数据埋点的方法由服务器110或配置设备130执行。如图2所示,所述自动配置数据埋点的方法包括以下步骤:
S201,通过全埋点方式采集用户的全部用户数据。
其中,从数据的获取全面性角度来说,全埋点方式能得到最为全面的用户数据,可以对全部业务提供支持,也是本公开实施例后续进行筛选的基础。此外全埋点方式无需对埋点采集方式进行筛选和配置,也方便了应用程序的开发。但全埋点的缺点在前文中也已有描述,其数据处理量和传输量均较大,影响系统性能且会给用户带来额外的开支,很难被用户接受。因此,在本公开的实施例中,全埋点方式采集用户数据为临时方案,可以在应用程序的发布初期、初步版本或测试版本中如此配置,当采集到足够量的数据、可以支持完成埋点配置后,即可将应用程序更改为按需采集埋点数据。
S202,生成针对用户数据的多个稀疏模型,其中,每个所述稀疏模型使用所述全部用户数据的一个子集。
其中,全埋点方式将在用户操作用户终端的应用程序时对每个用户行为节点进行数据采集,并生成数据包发送回服务器,这些数据最后将被用于某种数据分析业务。然而,并不是所有采集到的数据均对特定的数据分析业务有影响;例如,如果数据分析业务的目标是进行贷款风险控制,则收入、年龄、职业数据将对风险控制产生重要影响,是关键数据;而生日、籍贯、社交网络、兴趣爱好等数据则不对贷款风险产生重要影响,可视为非关键数据。
由于全埋点方式获得的用户数据是包括关键数据和非关键数据在内的全部数据,需要可靠的手段来筛选关键数据。现有技术通过人工设置埋点的方式来筛选采集数据,开发人员将通过经验或逻辑推理等方式挑选关键数据,这种方式存在很大随意性。在本公开的实施例中,考虑到对数据分析业务来说只有关键数据才是最重要的,全埋点采集的全部数据对于一个业务模型来讲就存在稀疏性(这种稀疏性体现在配置埋点上就是应用程序将不采集这些非关键数据),因此本公开的实施例通过稀疏模型来预测评估数据的关键程度。但是,如果完全依赖预测模型,例如一个贷款风险预测模型,虽然能够获得数据的稀疏性,但这仍然意味着app需要通过低效的全埋点方式来采集和传输数据,使得移动端效率下降。
进一步地,服务器将针对不同的数据分析业务进行数据分析。典型地,一种较为高效的方式可以是使用人工标注的方式训练一个机器学习模型以帮助进行数据分析;例如,对一个用户数据标注为高风险或风险正常可以训练一个贷款风险预警模型;再例如,对一个用户浏览在线商城的数据标注为潜在买家或浏览用户可以训练一个定向推广模型。对于机器学习模型的训练来说,无论何种数据分析业务,均需要对样本数据进行标注,这种标注是对全埋点采集的大数据集的标注,因为此时模型的输入是所有数据。然而,如果埋点配置的合理,则意味着少量的用户数据即可完成模型精准的训练。因此,在本公开实施例的步骤S202中,由机器生成或人工的方式,生成大量不同的模型,每种模型只需要一部分的用户数据作为输入。也就是生成大量带有数据稀疏性的模型。由于标注是根据每个用户为单位进行标注的,因此不同模型均共享相同的数据标注,也就是并不需要同步增加标注任务量。
S203,分别测试各个所述稀疏模型对指定数据分析业务的预测能力。
其中,在本公开的实施例中对大量模型在相同的数据集下同步进行训练,得到大量训练后的模型。进一步地,通过监测数据集对业务预测性能进行测量,并得到预测能力最优(比如预测精度最高)的模型;此时,每个模型对应了一组稀疏数据集,而预测精度最高的模型则对应了由关键数据组成的一组稀疏数据集。
S204,根据预测能力最优的稀疏模型确定针对所述指定数据分析业务的数据埋点配置方案。
其中,在本公开的实施例中将根据预测能力最优(比如预测精度最高)的模型生成一个埋点配置文件。此时可以在app中应用该配置文件,使得app变成配置埋点模式;至此app采集的用户数据量将不再是全埋点模式下的数据集,而是根据配置文件进行的可配置埋点所对应的数据集。同时,针对相应的指定数据分析任务,由于配置埋点模式对应的模型已经是性能最优的,因此该配置埋点虽然只采集了部分数据(即用于数据分析业务的关键数据)但不影响业务分析,实现了性能、成本和效率的最优化。
本公开实施例通过多个稀疏模型来测试数据子集对数据分析业务的预测能力,从而自动确定数据埋点的配置方案,一方面避免了使用全埋点方式造成的数据存储和传输的压力,另一方面可以更高效、自动地生成埋点配置文件,使得模型精度不仅能够更好的满足数据分析业务,且节省了人工配置埋点的方式,实现了埋点的自动化设置。
以下通过具体的实施例对本公开进行进一步地说明。图3A中给出了一个app的全埋点和配置埋点的示意图,在全埋点中,app所有用户相关的节点均包含数据采集的代码,因此app在运行时将采集所有用户相关数据。在配置埋点方式中,app在运行时只采集部分用户数据,一个配置文件可以用于配置app的数据采集行为,使得只在用户的部分节点处采集用户数据。对应的图3B给出了两种数据采集模式下对应的使用神经网络的业务预测模型,例如该模型可以是贷款风险预测模型。因此,神经网络最后的两个输出节点可以为“高风险”和“正常”两种预测分类。由于全埋点使用了更多的数据,可以看到模型的输入节点全埋点模式比配置埋点要多。然而,如果配置埋点选择足够精准,两个模型最后的预测效果将相同,甚至配置埋点模式由于选择了更关键的用户数据而精度高于全埋点方式。
图4中给出了自动生成配置的具体流程,其中模型生成器用于生成不同的预测模型,模型之间的主要差异在于使用的输入数据的稀疏性不同,也就是每个模型所需要的用户数据结构不同。进一步,使用标注数据对模型进行训练,得到某一业务的预测模型。此时标注数据可以通过人工标注的方式得到,或者通过机器自动生成的方式得到。例如,在一个在线商城app上,用户数据记录了所有用户浏览的商品种类、数量、浏览时间等数据以及用户浏览所在的时间段、位置、访问终端类型等数据。最终,在线商城app可以自动通过交易数据得到该用户的消费行为,例如发生真正消费的客户即为“真实客户”,没有发生消费的客户即为“浏览客户”。在此例中是机器自动完成了训练数据的标注。进一步,在模型训练结束之后,通过另外一组测试数据进行性能检测。例如在上述例子中,将用户数据输入至模型,得到预测的客户类型,并跟在线商城中的消费行为进行对比。每个模型将在测试数据中呈现不同的性能。最后,通过选择性能最优的模型作为预测模型。进一步,根据选中的模型,生成对应的埋点配置,并通过网络发送至app端,更新客户端app的埋点配置。此时,客户端的app埋点配置将不采集所有的用户数据,而是仅采集选中的模型所对应的稀疏数据。
通过上述表述可知,在本公开的实施例中,采用人工智能的方式自动进行模型训练和测试,比如训练稀疏模型、对稀疏模型进行测试等。其中,用于完成数据分析业务的稀疏模型是一个经过机器学习训练后的人工智能模型,典型地比如是神经网络模型。具体对模型的训练过程属于机器学习领域的现有技术,采用监督学习方式、无监督学习方式等任何已知的方式进行训练均可,典型地比如使用大量的样本数据和标注信息进行训练,获得较为理想的数据分析模型(包括但不限于具备知识库和/或优选识别参数等);更优选地还可利用相关用户的操作结果来对模型进行反馈训练,从而进一步优化该故障分析模型。鉴于人工智能、机器学习及神经网络模型等手段在现有技术中已有充分的研究,本公开实施例中不再逐一展开描述。
在本公开一个优选的示例中,所述app为一个在线互联网贷款平台。首先,app在用户下载时被配置为全埋点模式,具体的该全埋点模式通过接收服务器发送的指示得到。在该模式下,app记录新用户所有的浏览行为,此时新用户对于互联网金融产品仍然较为陌生,因此可能会先期进行学习式浏览。作为一个示例,app可能记录了以下数据:
用户ID;
开启时间;
是否完成实名验证;
是否输入职业信息;
是否输入年收入信息;
浏览产品列表;
浏览产品时间;
政策声明页浏览时间;
……
全埋点模式下的app将以上所有信息打包,并发回服务器。其中一部分数据为基础数据,将不用于数据分析,例如用户ID。另外一部分数据,将输入至潜在贷款推广策略的预测模块。通过人工对客户行为的分析,可以得到人工判定的潜在客户。或者,通过后续该账户的贷款申请操作,通过机器自动的记录一个潜在客户。此后,通过人工或使用一个模型生成器的方式,生成多个带有稀疏数据的模型,亦即每个模型只使用数据的一个子集。例如,
模型1所使用的数据为;
是否完成实名验证;
是否输入职业信息;
是否输入年收入信息:
模型2所使用的数据为:
浏览产品列表;
浏览产品时间;
将上述示例的两个模型用于预测模型的训练,将得到两个潜在客户的预测模型。进一步,通过一组测试数据,例如以上人工或机器的方式得到的有效潜在客户数据,判断两个模型间的性能。此时,模型1的判断精确度高于模型2,这意味着用户输入职业信息和收入信息等隐私数据意味着用户有高意愿进行真实的贷款申请业务。相反,浏览产品列表无法对客户类型进行有效判断。此时,系统生成的埋点将只采集用户对职业信息、年收入信息的采集。在一种实施方式中,埋点的设置可以根据模型生成相关的数据采集埋点,例如上述例子中生成的埋点不仅采集职业信息和年收入信息,同时埋点也采集在个人信息面上用户的交互行为,例如浏览、点击、删除输入信息等行为。进一步,系统将生成对应app的埋点设置文件,此时app将不再采集用户的所有数据。
在一种实施方式中,使用本公开实施例的方法所生成的埋点只是所有埋点中的一部分;因为在一些基本的用户信息,例如用户ID、时间、客户端类型等用户数据,并不需要特别的设计,无论是否用于数据分析业务,这些数据理论上都需要采集,因此无需使用本公开实施例所提出的方案进行筛选。更多的,本公开实施例所提出的方法集中应用在那些将用于数据挖掘和分析的部分数据,这些数据往往数量大又对分析业务较为关键。
在一种实施方式中,可以根据不同的预测业务,得到多个模型并生成多个埋点配置,并根据相应的条件,设置对应的埋点。例如,付费客户和免费客户,其埋点配置可能不同,可以根据需求配置不同的埋点,以得到不同模型所需要的用户数据。亦即,本公开的实施例可以根据需要对同一数据分析业务的不同用户分别设置埋点配置(可以相同也可以不同);又或者,本公开的实施例还可以根据需要对多个数据分析业务所需的埋点进行组合配置。
其中,在本公开的实施例中,提供一个跨平台/框架的应用程序开发环境(SDK),开发人员在设置人机交互界面时,在设计人机交互组件的同时或之后,通过配置的方式设置人机交互组件的数据采集行为(根据本公开实施例的方法,初始配置可以是全埋点方式)。具体地,根据组件设计和数据采集配置,编译生成可执行的应用程序代码。其中,可配置的数据采集行为包括,是否在该组件采集数据、采集数据的时机、采集数据的条件、数据存储的结构、数据上送方式。在本公开的实施例中,由于组件数据采集行为可以通过网络配置,因而可以在不更新软件的情况下更新数据采集行为。
以上是本公开提供的自动配置数据埋点的方法的具体实施方式。与上述方法相对应地,本公开的一些实施例还公开了一种自动配置数据埋点的装置。如图5所示,自动配置数据埋点的装置500包括数据接收模块510、模型生成模块520、测试模块530和配置模块540。所述自动配置数据埋点的装置的功能可以由图1的互联网服务系统100中的服务器110执行。其中:
数据接收模块,用于接收通过全埋点方式采集用户的全部用户数据;
模型生成模块,用于生成针对用户数据的多个稀疏模型,其中,每个所述稀疏模型使用所述全部用户数据的一个子集;
测试模块,用于分别测试各个所述稀疏模型对指定数据分析业务的预测能力;
配置模块,用于根据预测能力最优的稀疏模型确定针对所述指定数据分析业务的数据埋点配置方案。
在一些可选的实施例中,所述测试模块包括:
数据输入模块,用于使用一组带有标注信息的测试数据分别输入各个所述稀疏模型中;
识别模块,用于按照所述指定数据分析业务使用各个所述稀疏模型对所述测试数据进行分析识别;
对比模块,用于将各个所述稀疏模型的分析识别结果与所述标注信息进行对比,将对比结果的重合度作为各个所述稀疏模型对指定数据分析业务的预测能力。
在一些可选的实施例中,所述模型生成模块包括:
空白模型生成模块,用于生成空白的多个机器学习模型;
同步训练模块,用于使用相同的数据集对所述多个机器学习模型同步进行训练,其中,所述数据集为所述全部用户数据的至少一个子集;
训练输出模块,用于得到多个训练后的模型作为所述多个稀疏模型。
在一些可选的实施例中,所述装置还包括:
组件设计模块,用于在跨平台的应用程序开发环境中设计开发人机交互组件;
采集行为配置模块,用于通过配置的方式设置所述人机交互组件的数据采集行为,其中,初始配置为所述全埋点方式;
编译模块,用于根据所述人机交互组件的设计和所述数据采集行为的配置,编译生成可执行的应用程序代码。
在一些可选的实施例中,所述装置还包括:
配置发布模块,用于通过网络发布所述数据埋点配置方案,以使应用程序更新数据采集行为。
参考附图6,为本公开一个实施例提供的电子设备示意图。如图6所示,该电子设备600包括:
存储器630以及一个或多个处理器610;
其中,所述存储器630与所述一个或多个处理器610通信连接,所述存储器630中存储有可被所述一个或多个处理器执行的指令632,所述指令632被所述一个或多个处理器610执行,以使所述一个或多个处理器610执行本公开前述实施例中的方法。
具体地,处理器610和存储器630可以通过总线或者其他方式连接,图6中以通过总线640连接为例。处理器610可以为中央处理器(Central Processing Unit,CPU)。处理器610还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器630作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本公开实施例中的埋点数据、应用程序、数据分析业务模型、空白模型、训练数据、稀疏模型以及各个功能模块等。处理器610通过运行存储在存储器630中的非暂态软件程序、指令以及模块632,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的自动配置数据埋点的方法。
存储器630可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器610所创建的数据等。此外,存储器630可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器630可选包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络(比如通过通信接口620)连接至处理器610。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
当然,本领域相关技术人员可以理解,本公开上述实施例中的装置和电子设备并不仅限于一个执行主体。在一种可选的实施方式中,比如图1应用场景中的服务器110可以是多个服务器节点,某个/某些节点可只实现方案中的部分功能,比如仅接收用户数据、仅进行数据分析、仅进行模型训练等,也可有某个/某些节点可实现方案中的全部功能;各个服务器节点可各自独立工作,也可通过已知的技术手段建立连接以进行交互。
本公开的一个实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被执行后执行本公开前述实施例中的方法。
前述的计算机可读取存储介质包括以存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方式或技术来实现的物理易失性和非易失性、可移动和不可移动介质。计算机可读取存储介质具体包括,但不限于,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、可擦除可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(DVD)、HD-DVD、蓝光(Blue-Ray)或其他光存储设备、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机访问的任何其他介质。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述装置实施例中的对应描述,在此不再赘述。
尽管此处所述的主题是在结合操作系统和应用程序在计算机系统上的执行而执行的一般上下文中提供的,但本领域技术人员可以认识到,还可结合其他类型的程序模块来执行其他实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。本领域技术人员可以理解,此处所述的本主题可以使用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等,也可使用在其中任务由通过通信网络连接的远程处理设备执行的分布式计算环境中。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备的两者中。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对原有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。
综上所述,本公开各实施例提供的自动配置数据埋点的方法、装置、电子设备、存储介质或计算机程序产品等,通过多个稀疏模型来测试数据子集对数据分析业务的预测能力,从而自动确定数据埋点的配置方案,一方面避免了使用全埋点方式造成的数据存储和传输的压力,另一方面可以更高效、自动地生成埋点配置文件,使得模型精度不仅能够更好的满足数据分析业务,且节省了人工配置埋点的方式,实现了埋点的自动化设置。
应当理解的是,本公开的上述具体实施方式仅仅用于示例性说明或解释本公开的原理,而不构成对本公开的限制。因此,在不偏离本公开的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。此外,本公开所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (10)
1.一种自动配置数据埋点方法,其特征在于,包括:
接收通过全埋点方式采集用户的全部用户数据;
生成针对用户数据的多个稀疏模型,其中,每个所述稀疏模型使用所述全部用户数据的一个子集;
分别测试各个所述稀疏模型对指定数据分析业务的预测能力;
对比各个所述稀疏模型的预测能力,根据预测精度最高的稀疏模型确定针对所述指定数据分析业务的数据埋点配置方案;
分别测试各个所述稀疏模型对指定数据分析业务的预测能力,包括:
使用一组带有标注信息的测试数据分别输入各个所述稀疏模型中;
按照所述指定数据分析业务使用各个所述稀疏模型对所述测试数据进行分析识别;
将各个所述稀疏模型的分析识别结果与所述标注信息进行对比,将对比结果的重合度作为各个所述稀疏模型对指定数据分析业务的预测能力。
2.根据权利要求1所述的方法,其特征在于,所述生成针对用户数据的多个稀疏模型包括:
生成空白的多个机器学习模型;
使用相同的数据集对所述多个机器学习模型同步进行训练,其中,所述数据集为所述全部用户数据的至少一个子集;
得到多个训练后的模型作为所述多个稀疏模型。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在跨平台的应用程序开发环境中设计开发人机交互组件;
通过配置的方式设置所述人机交互组件的数据采集行为,其中,初始配置为所述全埋点方式;
根据所述人机交互组件的设计和所述数据采集行为的配置,编译生成可执行的应用程序代码。
4.根据权利要求1或3所述的方法,其特征在于,所述方法还包括:
通过网络发布所述数据埋点配置方案,以使应用程序更新数据采集行为。
5.一种自动配置数据埋点装置,其特征在于,包括:
数据接收模块,用于接收通过全埋点方式采集用户的全部用户数据;
模型生成模块,用于生成针对用户数据的多个稀疏模型,其中,每个所述稀疏模型使用所述全部用户数据的一个子集;
测试模块,用于分别测试各个所述稀疏模型对指定数据分析业务的预测能力;
配置模块,用于对比各个所述稀疏模型的预测能力,根据预测精度最高的稀疏模型确定针对所述指定数据分析业务的数据埋点配置方案;
所述测试模块包括:
数据输入模块,用于使用一组带有标注信息的测试数据分别输入各个所述稀疏模型中;
识别模块,用于按照所述指定数据分析业务使用各个所述稀疏模型对所述测试数据进行分析识别;
对比模块,用于将各个所述稀疏模型的分析识别结果与所述标注信息进行对比,将对比结果的重合度作为各个所述稀疏模型对指定数据分析业务的预测能力。
6.根据权利要求5所述的装置,其特征在于,所述模型生成模块包括:
空白模型生成模块,用于生成空白的多个机器学习模型;
同步训练模块,用于使用相同的数据集对所述多个机器学习模型同步进行训练,其中,所述数据集为所述全部用户数据的至少一个子集;
训练输出模块,用于得到多个训练后的模型作为所述多个稀疏模型。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
组件设计模块,用于在跨平台的应用程序开发环境中设计开发人机交互组件;
采集行为配置模块,用于通过配置的方式设置所述人机交互组件的数据采集行为,其中,初始配置为所述全埋点方式;
编译模块,用于根据所述人机交互组件的设计和所述数据采集行为的配置,编译生成可执行的应用程序代码。
8.根据权利要求5或7所述的装置,其特征在于,所述装置还包括:
配置发布模块,用于通过网络发布所述数据埋点配置方案,以使应用程序更新数据采集行为。
9.一种电子设备,其特征在于,包括:
存储器以及一个或多个处理器;
其中,所述存储器与所述一个或多个处理器通信连接,所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行时,所述电子设备用于实现如权利要求1-4任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机可执行指令,当所述计算机可执行指令被计算装置执行时,可用来实现如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910021096.2A CN109828750B (zh) | 2019-01-09 | 2019-01-09 | 自动配置数据埋点的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910021096.2A CN109828750B (zh) | 2019-01-09 | 2019-01-09 | 自动配置数据埋点的方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109828750A CN109828750A (zh) | 2019-05-31 |
CN109828750B true CN109828750B (zh) | 2022-07-19 |
Family
ID=66861555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910021096.2A Active CN109828750B (zh) | 2019-01-09 | 2019-01-09 | 自动配置数据埋点的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109828750B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750694A (zh) * | 2019-09-29 | 2020-02-04 | 支付宝(杭州)信息技术有限公司 | 数据标注实现方法及装置、电子设备、存储介质 |
CN113434399B (zh) * | 2021-06-23 | 2023-06-16 | 青岛海尔科技有限公司 | 业务节点日志的处理方法和装置、存储介质及电子装置 |
CN114510305B (zh) * | 2022-01-20 | 2024-01-23 | 北京字节跳动网络技术有限公司 | 模型训练方法、装置、存储介质及电子设备 |
CN115510352B (zh) * | 2022-11-15 | 2023-05-05 | 中国外运股份有限公司 | 用户行为采集方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123847A (zh) * | 2014-07-31 | 2014-10-29 | 中国科学院自动化研究所 | 基于acp方法的交通信号推荐系统及相应方法 |
CN105550240A (zh) * | 2015-11-30 | 2016-05-04 | 浪潮通用软件有限公司 | 一种推荐的方法及装置 |
US9729583B1 (en) * | 2016-06-10 | 2017-08-08 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
CN107423048A (zh) * | 2017-04-14 | 2017-12-01 | 网易乐得科技有限公司 | 数据收集的方法、装置、介质和计算设备 |
CN107864065A (zh) * | 2017-08-16 | 2018-03-30 | 上海壹账通金融科技有限公司 | 无埋点数据采集方法、系统及计算机可读存储介质 |
CN108681961A (zh) * | 2018-05-24 | 2018-10-19 | 平安普惠企业管理有限公司 | 信贷产品推介方法、装置、设备及计算机可读存储介质 |
-
2019
- 2019-01-09 CN CN201910021096.2A patent/CN109828750B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123847A (zh) * | 2014-07-31 | 2014-10-29 | 中国科学院自动化研究所 | 基于acp方法的交通信号推荐系统及相应方法 |
CN105550240A (zh) * | 2015-11-30 | 2016-05-04 | 浪潮通用软件有限公司 | 一种推荐的方法及装置 |
US9729583B1 (en) * | 2016-06-10 | 2017-08-08 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
CN107423048A (zh) * | 2017-04-14 | 2017-12-01 | 网易乐得科技有限公司 | 数据收集的方法、装置、介质和计算设备 |
CN107864065A (zh) * | 2017-08-16 | 2018-03-30 | 上海壹账通金融科技有限公司 | 无埋点数据采集方法、系统及计算机可读存储介质 |
CN108681961A (zh) * | 2018-05-24 | 2018-10-19 | 平安普惠企业管理有限公司 | 信贷产品推介方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109828750A (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109828750B (zh) | 自动配置数据埋点的方法、装置、电子设备及存储介质 | |
D’Ambros et al. | Evaluating defect prediction approaches: a benchmark and an extensive comparison | |
Lu et al. | PRADA: Prioritizing android devices for apps by mining large-scale usage data | |
Liu et al. | Understanding diverse usage patterns from large-scale appstore-service profiles | |
Oh et al. | Facilitating developer-user interactions with mobile app review digests | |
AU2019216636A1 (en) | Automation plan generation and ticket classification for automated ticket resolution | |
CN109726105A (zh) | 测试数据构造方法、装置、设备及存储介质 | |
Shihab | An exploration of challenges limiting pragmatic software defect prediction | |
US10791033B2 (en) | Cloud-native network function assessment tool | |
US11809455B2 (en) | Automatically generating user segments | |
WO2022062964A1 (en) | Detecting performance degradation in remotely deployed applications | |
CN109871963A (zh) | 运行故障还原方法、装置、电子设备及存储介质 | |
CN110706015A (zh) | 一种面向广告点击率预测的特征选取方法 | |
WO2015054310A1 (en) | Adaptive pricing analytics | |
CN106406999A (zh) | 计算系统和计算系统的执行控制方法 | |
CN111108481A (zh) | 故障分析方法及相关设备 | |
CN115237804A (zh) | 性能瓶颈的评估方法、装置、电子设备、介质和程序产品 | |
CN107430590B (zh) | 用于数据比较的系统和方法 | |
US11620550B2 (en) | Automated data table discovery for automated machine learning | |
CN112783513A (zh) | 一种代码风险检查方法、装置及设备 | |
US10073938B2 (en) | Integrated circuit design verification | |
CN111488510A (zh) | 小程序相关词的确定方法、装置、处理设备及搜索系统 | |
US20230273783A1 (en) | Update management system and method | |
KR102309806B1 (ko) | 실시간 가상 서버 성능 데이터의 중앙 집중화 및 진단을 위한 시스템 및 방법 | |
CN114881521A (zh) | 业务评估方法、装置、电子设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |