CN109063059B - 行为日志处理方法、装置及电子设备 - Google Patents
行为日志处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109063059B CN109063059B CN201810803687.0A CN201810803687A CN109063059B CN 109063059 B CN109063059 B CN 109063059B CN 201810803687 A CN201810803687 A CN 201810803687A CN 109063059 B CN109063059 B CN 109063059B
- Authority
- CN
- China
- Prior art keywords
- user
- behavior
- data
- log
- logs
- 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
- Debugging And Monitoring (AREA)
Abstract
本公开涉及一种用户行为日志处理方法、装置及电子设备。该方法包括:获取用户的多个行为日志;将所述用户的多个行为日志进行抽象整合处理,生成用户行为数据;以及将所述用户行为数据与模型配置数据输入多个用户画像模型中以获取多个用户画像。本公开涉及的用户行为日志处理方法、装置及电子设备,能够提高用户画像计算效率,增加用户画像计算的鲁棒性。
Description
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种用户行为日志处理方法、装置及电子设备。
背景技术
用户画像系统是一种利用用户在app或者网页上的行为(点击,浏览,转发,评论等)日志进行分析总结,从而生成对用户兴趣和用户属性的描述的系统。最常见的用户画像模型是标签模型和分类模型。这些模型使用的是用户同一份行为日志,处理流程类似,区别点仅是画像累积更新算法和画像的定义不同。
为了更好的描述用户兴趣,不同的用户画像模型会从不同维度对用户进行刻画。目前大多数用户画像模型都是独立分开分析用户画像的,用户画像模型按照过程式编程进行算法设计。
随着用户画像模型的逐渐增多,用户行为日志的不断增多,在有限的时间内可能无法及时完成所有用户画像模型的分析,因此,需要一种新的用户行为日志处理方法、装置及电子设备。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开提供一种用户行为日志处理方法、装置及电子设备,能够提高用户画像计算效率,增加用户画像计算的鲁棒性。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提出一种用户行为日志处理方法,该方法包括:获取用户的多个行为日志;将所述用户的多个行为日志进行抽象整合处理,生成用户行为数据;以及将所述用户行为数据与模型配置数据输入多个用户画像模型中以获取多个用户画像。
在本公开的一种示例性实施例中,所述行为日志包括展示行为日志、点击行为日志、评论行为日志、关注行为日志、分享行为日志、以及收藏行为日志,获取用户的多个行为日志包括:分布式系统通过多个数据源获取用户的多个行为日志;和/或大数据处理引擎通过多个数据源获取用户的多个行为日志。
在本公开的一种示例性实施例中,将所述用户的多个行为日志进行抽象整合处理,生成用户行为数据包括:通过字段自定义类解析所述多个行为日志,以获取多个日志数据;以及将所述多个日志数据进行抽象整合处理,生成用户行为数据。
在本公开的一种示例性实施例中,将所述多个日志数据进行抽象整合处理,生成用户行为数据包括:将所述多个日志数据进行抽象处理,提取行为对象数据;以及将所述多个日志数据与所述行为对象数据进行整合处理,生成用户行为数据。
在本公开的一种示例性实施例中,将所述多个日志数据进行抽象处理,提取行为对象数据包括:将用户作为用户对象;将用户行为的作用方作为目标对象;以及在所述多个日志数据中提取用户对象与目标对象以生成所述行为对象数据。
在本公开的一种示例性实施例中,将所述多个日志数据与所述行为对象数据进行整合处理,生成用户行为数据包括:通过所述行为对象数据中的所述用户对象与所述目标对象将所述多个日志数据进行关联整合,生成所述用户行为数据。
在本公开的一种示例性实施例中,通过所述行为对象数据中的所述用户对象与所述目标对象将所述多个日志数据进行关联整合,生成所述用户行为数据包括:将所述用户对象与所述目标对象作为节点;将所述用户行为作为关联关系;通过节点与所述关联关系对所述多个日志数据进行关联,以生成所述用户行为数据。
在本公开的一种示例性实施例中,所述模型配置数据包括字典类与配置类;将所述用户行为数据与模型配置数据输入多个用户画像模型中以获取多个用户画像包括:将所述用户行为数据输入所述多个用户画像模型;所述多个用户画像模型通过所述字典类获取多个字典信息;所述多个用户画像模型通过所述配置类获取多个配置信息;以及所述多个用户画像模型通过多个字典信息、多个配置信息,以及用户行为数据进行模型分析以获取多个用户画像。
在本公开的一种示例性实施例中,还包括:通过自定义协议指定所述多个用户画像的储存格式,所述自定义协议通过java语言或XML语言实现。
根据本公开的一方面,提出一种用户行为日志处理装置,该装置包括:数据获取模块,用于获取用户的多个行为日志,所述行为日志包括展示行为、点击行为、评论行为、关注行为、分享行为、以及收藏行为;抽象整合模块,用于将所述用户的多个行为日志进行抽象整合处理,生成用户行为数据;以及用户画像模块,用于将所述用户行为数据与模型配置数据输入多个用户画像模型中以获取多个用户画像。
根据本公开的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本公开的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本公开的用户行为日志处理方法、装置及电子设备,能够提高用户画像计算效率,增加用户画像计算的鲁棒性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种用户行为日志处理方法的应用场景图。
图2是根据一示例性实施例示出的一种用户行为日志处理方法及装置的系统框图。
图3是根据另一示例性实施例示出的一种用户行为日志处理方法的流程图。
图4是根据另一示例性实施例示出的一种用户行为日志处理方法的流程图。
图5是根据另一示例性实施例示出的一种用户行为日志处理方法的流程图。
图6是根据另一示例性实施例示出的一种用户行为日志处理方法的系统框架图。
图7是根据一示例性实施例示出的一种用户行为日志处理装置的框图。
图8是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
本申请的发明人发现,在通过用户的行为日志数据对用户画像模型进行更新的过程中,由于用户数量庞大,日志数量众多,实时性要求不高(可例如为每天更新一次),因此画像模型更新通常利用Hadoop集群。Java原生支持Hadoop集群,是画像模型算法实现的首选语言。
传统的画像更新框架是利用Java框架的顺序函数式流程:Mapper(对象持久化映射)阶段进行日志预处理工作和历史兴趣加载,Reducer(实现)阶段顺序进行字典载入、配置载入、日志整合、画像解析、画像更新和结果输出。即使各个画像输入基本一样,这样的流程在每个画像中都要完整执行一遍。另外,绝大部分流程集中在Reducer阶段,流程比较复杂,容易导致Reducer文件代码冗长,不易维护。为了更好的描述用户兴趣,不同的画像模型会从不同维度对用户进行刻画。这些画像模型使用的是用户同一份行为日志,处理流程类似,关键的区别点是画像模型累积更新算法和画像模型的定义不同。目前大多数画像模型都是分开计算以及更新的,按照过程式编程进行算法设计。这样的流程会载入同一日志多次,一方面会浪费Hadoop资源,另一方面也进行影响画像更新速度。当需要扩展新画像时,需要将同样的流程重复搭建一遍,浪费时间空间。
图1是根据一示例性实施例示出的一种用户行为日志处理方法的应用场景图。图1描述了画像模型对用户画像的计算效果及计算结果。随着用户画像的逐渐增多,画像模型的增多,在有限的时间内可能无法及时完成所有画像模型的更新,需要对画像模型更新过程的流程进行优化,以满足更快更新和扩展性的要求。所以本申请的发明人提出了用户行为日志处理方法。
本申请的用户行为日志处理方法,将过程式的画像更新框架,更改为面向对象的更新框架,根据本申请的用户行为日志处理方法,将目前技术中由每一个画像模型单独重复读取日志,改为多个画像模型一次读取用户行为日志,然后多次利用同一组数据,有效节省了读取时间,节省了Hadoop资源。对画像模型本身来说也缩短了更新周期,能够使得画像模型更快的服务线上。
图2是根据一示例性实施例示出的一种用户行为日志处理方法及装置的系统框图。
如图2所示,系统架构200可以包括终端设备201、202、203,网络204和服务器205。网络204用以在终端设备201、202、203和服务器205之间提供通信链路的介质。网络204可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备201、202、203通过网络204与服务器205交互,以接收或发送消息等。终端设备201、202、203上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备201、202、203可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器205可以是提供各种服务的服务器,例如对用户利用终端设备201、202、203所浏览的网站提供支持的后台管理服务器。后台管理服务器可以对接收到的网络请求等数据进行分析等处理,并将处理结果反馈给其他终端设备。
服务器205可以是一个实体的服务器,还可例如为多个服务器组成,服务器205中的一部分可例如作为本公开中的用户行为日志储存系统,用于储存用户的行为日志;服务器205中的一部分可例如作为本公开中的画像模型计算系统,用于通过多个字典信息、多个配置信息,以及用户行为数据进行模型分析以获取多个用户画像;服务器205中的一部分可例如作为本公开中的数据储存系统,用于储存用户画像数据,并且根据每个用户画像数据更新的周期,而进行数据更新。
服务器205可例如获取用户的多个行为日志,所述行为日志包括展示行为日志、点击行为日志、评论行为日志、关注行为日志、分享行为日志、以及收藏行为日志;服务器205可例如将所述用户的多个行为日志进行抽象整合处理,生成用户行为数据;服务器205可例如将所述用户行为数据与模型配置数据输入多个用户画像模型中以获取多个用户画像。
需要说明的是,本公开实施例所提供的用户行为日志处理方法可以由服务器205执行,相应地,用户行为日志处理装置可以设置于服务器205中。而提供给用户进行浏览的网页端一般位于终端设备201、202、203中。
图3是根据另一示例性实施例示出的一种用户行为日志处理方法的流程图。用户行为日志处理方法30至少包括步骤S302至S306。
如图3所示,在S302中,获取用户的多个行为日志,其中,所述行为日志包括展示行为日志、点击行为日志、评论行为日志、关注行为日志、分享行为日志、以及收藏行为日志。以上行为日志分别储存了用户在用户终端上的不同的操作行为,行为日志还可以包括用户不喜欢某一产品或内容的行为日志,用户某一行为的时长日志等等,本申请不以此为限。
在一个实施例中,获取用户的多个行为日志包括:分布式系统通过多个数据源获取用户的多个行为日志;以上用户行为日志分别通过不同的服务器进行储存,以供后续调用。在另一个实施例中,以上的用户行为可先分别储存在不同的用户终端上,定时回传至日志服务器中。可例如通过Hadoop通过多个数据源获取用户的多个行为日志。Hadoop是分布式文件系统,有高容错性的特点,并且设计用来部署在低廉的硬件上;而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架核心的设计就是:HDFS(HadoopDistributed File System)和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算服务。
其中,MapReduce是一种编程模型,用于大规模数据集的并行运算。概念"Map(映射)"和"Reduce(归约)",是主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。MapReduce极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
在一个实施例中,获取用户的多个行为日志包括:大数据处理引擎通过多个数据源获取用户的多个行为日志。大数据处理引擎可例如为Apache Spark引擎,Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。Spark是Hadoop MapReduce的通用并行框架,Spark拥有Hadoop MapReduce所具有的优点;但Spark中Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
在一个实施例中,利用大数据处理引擎通过多个数据源获取用户的多个行为日志时,计算框架可例如通过Scala语言实现。
其中,Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。Scala还包含了若干函数式语言的关键概念,包括高阶函数(Higher-Order Function)、局部套用(Currying)、嵌套函数(Nested Function)、序列解读(Sequence Comprehensions)等等。Scala是静态类型的,它提供泛型类、内部类、甚至多态方法(Polymorphic Method)。Scala可以与Java互操作。可以用scalac编译器把Scala源文件编译成Java的class文件。也可以从Scala中调用所有的Java类库,也同样可以从Java应用程序中调用Scala的代码。
如图3所示,在S304中,将所述用户的多个行为日志进行抽象整合处理,生成用户行为数据。可例如,通过字段自定义类解析所述多个行为日志,以获取多个日志数据;以及将所述多个日志数据进行抽象整合处理,生成用户行为数据。
在一个实施例中,将所述多个日志数据进行抽象整合处理,生成用户行为数据包括:将所述多个日志数据进行抽象处理,提取行为对象数据;以及将所述多个日志数据与所述行为对象数据进行整合处理,生成用户行为数据。
其中,将所述多个日志数据进行抽象处理,提取行为对象数据包括:将用户作为用户对象;将用户行为的作用方作为目标对象;以及在所述多个日志数据中提取用户对象与目标对象以生成所述行为对象数据。
其中,将所述多个日志数据与所述行为对象数据进行整合处理,生成用户行为数据包括:通过所述行为对象数据中的所述用户对象与所述目标对象将所述多个日志数据进行关联整合,生成所述用户行为数据。
在一个实施例中,通过所述行为对象数据中的所述用户对象与所述目标对象将所述多个日志数据进行关联整合,生成所述用户行为数据包括:将所述用户对象与所述目标对象作为节点;将所述用户行为作为关联关系;通过节点与所述关联关系对所述多个日志数据进行关联,以生成所述用户行为数据。
在一个实施例中,将用户在App或网页上的各种行为(展示,点击,评论,不喜欢,分享,收藏等)进行抽象整合处理。可例如,用户A阅读了一篇文章B,用时10分钟,用户A在阅读完文章B之后,将文章B分享到了朋友圈中。在现有技术中,以上的行为,会被储存在不同的行为日志中,可例如用户点击行为日志,用户分享行为日志,还可例如为用户评论行为日志。
在一个实施例中,以上行为经过抽象整合处理,提取用户对象为“用户A”,目标对象为“文章B”,提取用户对象与目标对象之间的关联关系为“阅读”、“点击”、“分享”。通过以上的分析将多个行为日志数据进行关联,然后整理为用户行为数据。整理之后生成的用户行为数据可例如为:“B展示给A,A点击阅读并分享了文章B”。
抽象整合之后的用户行为数据中,用户对象与目标对象以及用户行为十分清晰,也剔除了原有日志文件中多余的数据,有利于提升后续用户画像模型的运算速递。
值得一提的是,在一个用户当日存在多个目标对象的时候,可例如按照用户对目标对象操作时间顺序排序后存入一个容器(container)中,供后续处理使用。
如图3所示,在S306中,将所述用户行为数据与模型配置数据输入多个用户画像模型中以获取多个用户画像。
在一个实施例中,所述模型配置数据包括字典类与配置类;将所述用户行为数据与模型配置数据输入多个用户画像模型中以获取多个用户画像包括:将所述用户行为数据输入所述多个用户画像模型;所述多个用户画像模型通过所述字典类获取多个字典信息;所述多个用户画像模型通过所述配置类获取多个配置信息;以及所述多个用户画像模型通过多个字典信息、多个配置信息,以及用户行为数据进行模型分析以获取多个用户画像。
其中,字典类包括在画像更新中利用到的各类额外字典信息,例如频道Id和频道名称映射关系、标签ID和标签名映射关系等。字典类数据可例如统一进行管理管理,对外暴露的调用接口。
其中,配置类可用于对系统的输入输出以及画像模型更新的一些细节进行配置,例如:选择标签画像更新的算法,选择如何进行实验(例如,只选择qq尾号为3的用户),本申请不以此为限。
在一个实施例中,还包括:通过自定义协议指定所述多个用户画像的储存格式,所述自定义协议通过java语言或XML语言实现。其中,XML是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
根据本公开的用户行为日志处理方法,通过将多个用户日志数据进行统一的抽象整合处理,生成统一的用户行为数据,进而多个用户画像模型通过用户行为数据进行用户画像分析的方式,能够提高用户画像计算效率,增加用户画像计算的鲁棒性。
在目前业务场景下,随着运营推广的进行,经常会涉及到行为日志字段更改、增加新行为日志的情况,传统方法下需要在两次画像更新之间的时间段内,将所有的画像输入代码进行更改,时间较为紧迫也容易出错。根据本公开的用户行为日志处理方法,只需要在行为日志抽象为行为用户行为数据的阶段进行少量修改即可,用户行为数据对后面的模型调用数据的过程是透明的,用户行为数据更新过程用户画像模型不感知,能平稳较快得完成行为日志切换。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。
图4是根据另一示例性实施例示出的一种用户行为日志处理方法的流程图。如图4所示的用户行为日志处理方法40,是对图3的用户行为日志处理方法30中S304“将所述用户的多个行为日志进行抽象整合处理,生成用户行为数据”的详细描述。
如图4所示,在S402中,将所述多个日志数据进行抽象处理,提取行为对象数据;
其中,将用户作为用户对象;将用户行为的作用方作为目标对象;以及在所述多个日志数据中提取用户对象与目标对象以生成所述行为对象数据。
在一个实施例中,用户在App或网页上的各种行为(展示,点击,评论,不喜欢,分享,收藏等)会被分别的储存到不同的行为日志中。用户A在网络上阅读了一篇文章B,用时10分钟,用户A在阅读完文章B之后,将文章B分享到了朋友圈中;用户A在网络上观看了一部电影C,并且对电影C产生了一份评价。以上的行为,可例如被储存在用户点击行为日志,用户分享行为日志,还可例如为用户评论行为日志中。
可例如,首先按照用户来抽取数据,可例如抽取用户A相关的数据,用户A作为用户对象。通过在不同的日志中进行搜索,确定目标对象为“文章B”和“电影C”。通过“用户A”,“文章B”,以及“电影C”生成行为对象数据。
在S404中,将所述多个日志数据与所述行为对象数据进行整合处理,生成用户行为数据。
其中,通过所述行为对象数据中的所述用户对象与所述目标对象将所述多个日志数据进行关联整合,生成所述用户行为数据。
在一个实施例中,通过所述行为对象数据中的所述用户对象与所述目标对象将所述多个日志数据进行关联整合,生成所述用户行为数据包括:将所述用户对象与所述目标对象作为节点;将所述用户行为作为关联关系;通过节点与所述关联关系对所述多个日志数据进行关联,以生成所述用户行为数据。
如上面的示例所述,获取用户A向相关的行为日志数据,提取用户对象与目标对象之间的关联关系为“阅读”、“点击”、“分享”“评论”。通过行为对象数据,将多个行为日志数据进行关联,抽取行为日志中的信息生成用户行为数据。整理之后生成的用户行为数据可例如为:“B展示给A,A点击阅读并分享了文章B”;以及“C播放给A,A观看并评价了C”。
其中,可例如设置数据结构类,数据结构类为各个行为日志的字段定义,方便快速解析行为日志,在行为日志字段变更和增删内容时,只需修改这个数据结构类即可。
根据本公开的用户行为日志处理方法,通过抽象的方式处理用户日志数据,能方便开发人员更好地理解用户行为,更加直观。
图5是根据另一示例性实施例示出的一种用户行为日志处理方法的流程图。如图5所示的用户行为日志处理方法50,是对图3的用户行为日志处理方法30中S306“将所述用户行为数据与模型配置数据输入多个用户画像模型中以获取多个用户画像”的详细描述。
如图5所示,在S502中,将所述用户行为数据输入所述多个用户画像模型。用户画像(User Profile),作为大数据的根基,可以抽象出一个用户的信息全貌,为进一步精准、快速地分析用户行为习惯、消费习惯等重要信息,提供了足够的数据基础,奠定了大数据时代的基石。
用户画像,即用户信息标签化,企业通过收集与分析消费者社会属性、生活习惯、消费行为等主要信息的数据之后,完美地抽象出一个用户的商业全貌作是企业应用大数据技术的基本方式。用户画像为企业提供了足够的信息基础,能够帮助企业快速找到精准用户群体以及用户需求等更为广泛的反馈信息。
用户画像模型可以从通角度刻画出用户的特征。在本申请实施例中,用户画像模型可例如为用户行为模型,用户兴趣模型,用户特征模型等等不同的用户画像模型,本申请不以此为限。
在S504中,所述多个用户画像模型通过所述字典类获取多个字典信息。字典类可控制不同的用户画像模型根据根据字典提取相关的用户数据。
在S506中,所述多个用户画像模型通过所述配置类获取多个配置信息。配置类可对输入输出数据以及用户画像模型更新的一些细节进行配置,例如:选择标签画像更新的算法,选择如何进行计算等等。
在S508中,所述多个用户画像模型通过多个字典信息、多个配置信息,以及用户行为数据进行模型分析以获取多个用户画像。
还可例如通过其他工具对用户画像模型进行控制,可例如包含统计计数工具、模型输出控制类、正则化工具等。
用户画像模型可例如作为单独的类函数进行管理,模型类中可包含更新算法,该类接收数据输入,该类中的各个用户画像模型相互独立,互不干扰。
以上各个类模型,可根本定义接口类,当新增一个更新算法或字典时,仿照接口类进行实例化实现即可,不需要知道其他模块的实现细节,方便快速上手。
根据本公开的用户行为日志处理方法,用户画像模型的输入输出都严格定义,增加新的画像时,只需要在模型类中增加一个新的更新算法,定义新画像的表达字段即可,省去重复解析日志和开发新流程的麻烦,画像算法的迭代速度加快。让开发人员更加专注与画像更新算法这个核心部分。
此外,由于各个模块严格独立,当向新人交接画像代码时,新人也不需立刻通读所有代码,需要修改时,仿照该类中其他代码新增内容即可,利用各个其他的接口调取所需,方便快速上手。
根据本公开的用户行为日志处理方法,图文画像和视频画像都可以利用改框架进行开发,需要修改的代价较小。甚至可以整合两类画像到同一个框架下,对全局直接把握。
图6是根据另一示例性实施例示出的一种用户行为日志处理方法的系统框架图。
如图6所示,系统框架60将Reducer中的处理流程抽象成以下几大类:
用户行为类,将用户在App或网页上的各种行为(展示,点击,评论,不喜欢,分享,收藏等)定义为对象。抽象整合了的各种行为日志。各个画像针对性的更新自己画像,而不用分别到各个日志中去查询,是否展示,是否分享等等。一个用户当日可能会存在多个行为对象,按照操作时间顺序排序后存入一个容器中,供后续画像更新使用。这样抽象能方便开发人员更好地理解用户行为,更加直观。用户的所有行为对象统一管理,对外暴露的数据接口。
数据结构类,为各个行为日志的字段定义,方便快速解析日志,日志字段变更和增删日志,只需修改这个类即可。
字典类,包括在画像更新中利用到的各类额外字典信息,例如频道Id和频道名称映射关系、标签ID和标签名映射关系等。
配置类,对系统的输入输出以及画像更新的一些细节进行配置,例如:选择标签画像更新的算法,选择如何进行数据分析。
协议类,定义画像的字段格式,画像兴趣的存储格式。
工具类,包含统计计数工具、模型输出控制类、正则化工具等。
模型类,该类为画像更新的核心类,更新算法在该类中定义,一个模型代表一个画像,互不干扰。
以上各个类模型,都定义一个接口类,当新增一个更新算法或字典时,仿照接口类进行实例化实现即可,不需要知道其他模块的实现细节,方便快速上手。
在本框架中还可例如包括历史画像类,用于储存用户画像模型的历史数据,在当前用户画像计算时,历史画像类中的数据可供当前画像模型调用。
值得一提的是,本公开的用户行为日志处理方法,在平台选择上,可以将Hadoop+Java的组合,更换为Spark+Scala的组合;
本公开的用户行为日志处理方法,在框架设计上,可以将字典类与数据结构类进行整合;
本公开的用户行为日志处理方法,在抽象层次上,可以将用户行为进一步抽象为对标签或者频道的行为,将抽象标的由日志行文转换为画像表示单元,进一步减轻后续流程负担。
本公开的用户行为日志处理方法,在使用便利性层面,可以去除配置类,改为XML文件进行配置,这样当修改配置时不用重新打包Java代码,只修改XML文件即可。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图7是根据一示例性实施例示出的一种用户行为日志处理装置的框图。用户行为日志处理装置70包括:数据获取模块702,抽象整合模块704,以及用户画像模块706。
数据获取模块702用于获取用户的多个行为日志,所述行为日志包括展示行为、点击行为、评论行为、关注行为、分享行为、以及收藏行为。
抽象整合模块704用于将所述用户的多个行为日志进行抽象整合处理,生成用户行为数据;可例如,通过字段自定义类解析所述多个行为日志,以获取多个日志数据;以及将所述多个日志数据进行抽象整合处理,生成用户行为数据。
用户画像模块706用于将所述用户行为数据与模型配置数据输入多个用户画像模型中以获取多个用户画像。将所述用户行为数据输入所述多个用户画像模型;所述多个用户画像模型通过所述字典类获取多个字典信息;所述多个用户画像模型通过所述配置类获取多个配置信息;以及所述多个用户画像模型通过多个字典信息、多个配置信息,以及用户行为数据进行模型分析以获取多个用户画像。
根据本公开的用户行为日志处理装置,通过将多个用户日志数据进行统一的抽象整合处理,生成统一的用户行为数据,进而多个用户画像模型通过用户行为数据进行用户画像分析的方式,能够提高用户画像计算效率,增加用户画像计算的鲁棒性。
图8是根据一示例性实施例示出的一种电子设备的框图。
下面参照图8来描述根据本公开的这种实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:至少一个处理单元810、至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830、显示单元840等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述电子处方流转处理方法部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元810可以执行如图3,图4,图5中所示的步骤。
所述存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(ROM)8203。
所述存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备8000(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口250进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器860可以通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:获取用户的多个行为日志,所述行为日志包括展示行为、点击行为、评论行为、关注行为、分享行为、以及收藏行为;将所述用户的多个行为日志进行抽象整合处理,生成用户行为数据;以及将所述用户行为数据与模型配置数据输入多个用户画像模型中以获取多个用户画像。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。
通过以上的详细描述,本领域的技术人员易于理解,根据本公开实施例的用户行为日志处理方法、装置及电子设备具有以下优点中的一个或多个。
1.画像更新时间缩短,节省服务器资源:
本公开的用户行为日志处理方法,由现有技术中每一个画像模型单独重复读取行为日志,改为一次读取多次利用,有效节省了读取时间,节省了服务器资源。对画像模型本身来说也缩短了计算和模型更新周期,能够更快的服务线上。
2.对行为日志的增改敏感度降低,鲁棒性更强:
本公开的用户行为日志处理方法,在行为日志变更时,只需要在行为日志抽象为行为数据阶段进行少量修改即可,行为日志对后面的过程是透明的,后续更新过程不感知,能平稳较快得完成日志切换。
3.框架易扩展新画像:
本公开的用户行为日志处理方法,用户画像模型的输入输出都严格定义,增加新的画像模型时,只需要在模型类中增加一个新的更新算法,定义新画像模型的表达字段即可,省去重复解析日志和开发新流程的麻烦,画像算法的迭代速度加快。能够辅助模型的开发人员更加专注与画像更新算法这个核心部分。
此外,本公开的用户行为日志处理方法中,各个模块严格独立,当向新的模型开发人员交接画像代码时,新的模型开发人员不需立刻通读所有代码,在画像模型需要修改时,仿照该类中其他代码新增内容即可,方便新的模型开发人员快速上手。
4.框架通用性强,便于统一管理:
本公开的用户行为日志处理方法,图文画像和视频画像都可以利用改框架进行开发,需要修改的代价较小。甚至可以整合两类画像到同一个框架下,对全局直接把握。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
此外,本说明书说明书附图所示出的结构、比例、大小等,均仅用以配合说明书所公开的内容,以供本领域技术人员了解与阅读,并非用以限定本公开可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本公开所能产生的技术效果及所能实现的目的下,均应仍落在本公开所公开的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“第一”、“第二”及“一”等的用语,也仅为便于叙述的明了,而非用以限定本公开可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当也视为本公开可实施的范畴。
Claims (7)
1.一种用户行为日志处理方法,其特征在于,包括:
获取用户的多个行为日志;
通过字段自定义类解析所述多个行为日志,以获取多个日志数据;
将用户作为用户对象;
将用户行为的作用方作为目标对象;
在所述多个日志数据中提取用户对象与目标对象以生成行为对象数据;
将所述用户对象与所述目标对象作为节点;
将所述用户行为作为关联关系;
通过节点与所述关联关系对所述多个日志数据进行关联,以生成用户行为数据;以及
将所述用户行为数据与模型配置数据输入多个用户画像模型中以获取多个用户画像。
2.如权利要求1所述的方法,其特征在于,所述行为日志包括展示行为日志、点击行为日志、评论行为日志、关注行为日志、分享行为日志、以及收藏行为日志;
获取用户的多个行为日志包括:
分布式系统通过多个数据源获取用户的多个行为日志;和/或
大数据处理引擎通过多个数据源获取用户的多个行为日志。
3.如权利要求1所述的方法,其特征在于,所述模型配置数据包括字典类与配置类;
将所述用户行为数据与模型配置数据输入多个用户画像模型中以获取多个用户画像包括:
将所述用户行为数据输入所述多个用户画像模型;
所述多个用户画像模型通过所述字典类获取多个字典信息;
所述多个用户画像模型通过所述配置类获取多个配置信息;
所述多个用户画像模型通过多个字典信息、多个配置信息,以及用户行为数据进行模型分析以获取多个用户画像。
4.如权利要求3所述的方法,其特征在于,还包括:
通过自定义协议指定所述多个用户画像的储存格式,所述自定义协议通过java语言或XML语言实现。
5.一种用户行为日志处理装置,其特征在于,包括:
数据获取模块,用于获取用户的多个行为日志;
抽象整合模块,用于通过字段自定义类解析所述多个行为日志,以获取多个日志数据;将用户作为用户对象;将用户行为的作用方作为目标对象;在所述多个日志数据中提取用户对象与目标对象以生成行为对象数据;将所述用户对象与所述目标对象作为节点;将所述用户行为作为关联关系;通过节点与所述关联关系对所述多个日志数据进行关联,以生成用户行为数据;
用户画像模块,用于将所述用户行为数据与模型配置数据输入多个用户画像模型中以获取多个用户画像。
6.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
7.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810803687.0A CN109063059B (zh) | 2018-07-20 | 2018-07-20 | 行为日志处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810803687.0A CN109063059B (zh) | 2018-07-20 | 2018-07-20 | 行为日志处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109063059A CN109063059A (zh) | 2018-12-21 |
CN109063059B true CN109063059B (zh) | 2021-07-27 |
Family
ID=64816011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810803687.0A Active CN109063059B (zh) | 2018-07-20 | 2018-07-20 | 行为日志处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109063059B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112287208B (zh) * | 2019-09-30 | 2024-03-01 | 北京沃东天骏信息技术有限公司 | 用户画像生成方法、装置、电子设备及存储介质 |
CN112416887B (zh) * | 2020-11-18 | 2024-01-30 | 脸萌有限公司 | 信息交互方法、装置和电子设备 |
CN112784070A (zh) * | 2020-12-31 | 2021-05-11 | 重庆空间视创科技有限公司 | 一种基于大数据的用户画像方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795856B1 (en) * | 2000-06-28 | 2004-09-21 | Accountability International, Inc. | System and method for monitoring the internet access of a computer |
CN102541811A (zh) * | 2010-12-27 | 2012-07-04 | 中国银联股份有限公司 | 基于按需计算的分析因子的数据分析装置及方法 |
CN104933157A (zh) * | 2015-06-26 | 2015-09-23 | 百度在线网络技术(北京)有限公司 | 用于获取用户属性信息的方法、装置及服务器 |
CN104933049A (zh) * | 2014-03-17 | 2015-09-23 | 华为技术有限公司 | 生成数字人的方法及系统 |
CN107341679A (zh) * | 2016-04-29 | 2017-11-10 | 腾讯科技(深圳)有限公司 | 获取用户画像的方法及装置 |
CN107491486A (zh) * | 2017-07-17 | 2017-12-19 | 广州特道信息科技有限公司 | 用户画像构建方法及装置 |
-
2018
- 2018-07-20 CN CN201810803687.0A patent/CN109063059B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795856B1 (en) * | 2000-06-28 | 2004-09-21 | Accountability International, Inc. | System and method for monitoring the internet access of a computer |
CN102541811A (zh) * | 2010-12-27 | 2012-07-04 | 中国银联股份有限公司 | 基于按需计算的分析因子的数据分析装置及方法 |
CN104933049A (zh) * | 2014-03-17 | 2015-09-23 | 华为技术有限公司 | 生成数字人的方法及系统 |
CN104933157A (zh) * | 2015-06-26 | 2015-09-23 | 百度在线网络技术(北京)有限公司 | 用于获取用户属性信息的方法、装置及服务器 |
CN107341679A (zh) * | 2016-04-29 | 2017-11-10 | 腾讯科技(深圳)有限公司 | 获取用户画像的方法及装置 |
CN107491486A (zh) * | 2017-07-17 | 2017-12-19 | 广州特道信息科技有限公司 | 用户画像构建方法及装置 |
Non-Patent Citations (1)
Title |
---|
使用python构建基于hadoop的mapreducr日志分析平台;rfyiamcool;《https://blog.51cto.com/rfyiamcool/1340057》;20131212;第5-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109063059A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11635944B2 (en) | Methods and systems for programmatic creation of an interactive demonstration presentation for an envisioned software product | |
US10467541B2 (en) | Method and system for improving content searching in a question and answer customer support system by using a crowd-machine learning hybrid predictive model | |
CN111666490B (zh) | 基于kafka的信息推送方法、装置、设备及存储介质 | |
AU2016303436B2 (en) | Method and system for applying probabilistic topic models to content in a tax environment to improve user satisfaction with a question and answer customer support system | |
US10872236B1 (en) | Layout-agnostic clustering-based classification of document keys and values | |
Kranjc et al. | Active learning for sentiment analysis on data streams: Methodology and workflow implementation in the ClowdFlows platform | |
US10108601B2 (en) | Method and system for presenting personalized content | |
Mena et al. | A progressive web application based on microservices combining geospatial data and the internet of things | |
US10078843B2 (en) | Systems and methods for analyzing consumer sentiment with social perspective insight | |
TW201118620A (en) | Systems and methods for providing advanced search result page content | |
CN109063059B (zh) | 行为日志处理方法、装置及电子设备 | |
CN108549909B (zh) | 基于众包的对象分类方法及对象分类系统 | |
US20160125083A1 (en) | Information sensors for sensing web dynamics | |
CN103618774A (zh) | 一种基于网络行为的资源推荐方法及装置、系统 | |
CN108804133A (zh) | 虚拟资源的获取方法、系统、计算机设备和存储介质 | |
EP3961426A2 (en) | Method and apparatus for recommending document, electronic device and medium | |
CN108809718A (zh) | 基于虚拟资源的网络访问方法、系统、计算机设备和介质 | |
CN111209374A (zh) | 数据查询展示方法、装置、计算机系统及可读存储介质 | |
CN112417133A (zh) | 排序模型的训练方法和装置 | |
CN113297287A (zh) | 用户策略自动部署方法、装置及电子设备 | |
WO2023087721A1 (zh) | 一种业务处理模型生成方法、装置、电子设备和存储介质 | |
Werneck et al. | A reproducible POI recommendation framework: Works mapping and benchmark evaluation | |
Nandi | Spark for Python Developers | |
US20190295097A1 (en) | Cross-functional analytics tool for integrating web analytics data and customer relationship management data | |
CN113656737A (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 |