CN112307351A - 用户行为的模型训练、推荐方法、装置和设备 - Google Patents
用户行为的模型训练、推荐方法、装置和设备 Download PDFInfo
- Publication number
- CN112307351A CN112307351A CN202011318160.2A CN202011318160A CN112307351A CN 112307351 A CN112307351 A CN 112307351A CN 202011318160 A CN202011318160 A CN 202011318160A CN 112307351 A CN112307351 A CN 112307351A
- Authority
- CN
- China
- Prior art keywords
- user
- model
- behavior sequence
- user behavior
- mutual information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 156
- 238000012549 training Methods 0.000 title claims abstract description 147
- 230000006399 behavior Effects 0.000 claims abstract description 241
- 230000006870 function Effects 0.000 claims abstract description 49
- 239000013598 vector Substances 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 10
- 238000003058 natural language processing Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 6
- 230000002776 aggregation Effects 0.000 claims description 4
- 238000004220 aggregation Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 13
- 238000005516 engineering process Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 230000009286 beneficial effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 8
- 238000011160 research Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000013508 migration Methods 0.000 description 6
- 230000005012 migration Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 238000013145 classification model Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000011478 gradient descent method Methods 0.000 description 4
- 238000002372 labelling Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000007418 data mining Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 238000013526 transfer learning Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002068 genetic effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 210000001747 pupil Anatomy 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Bioinformatics & Computational Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了用户行为的模型训练、推荐方法、装置和设备,模型训练方法包括:获取用户行为序列;将用户行为序列输入当前模型参数下的用户行为序列模型,得到当前用户表达;根据当前用户表达与用户行为序列,得到第一训练样本;根据第一训练样本采用互信息损失函数确定互信息损失值,并根据互信息损失值更新用户行为序列模型的模型参数;以更新后的模型参数作为当前模型参数,返回执行将用户行为序列输入当前模型参数下的用户行为序列模型,得到当前用户表达的步骤,直至当前模型参数满足预设条件。本申请通过基于互信息最大化的无监督学习方法实现了用户行为序列建模,降低用户行为序列模型的训练时间和成本,可广泛应用于人工智能领域。
Description
技术领域
本申请涉及人工智能领域,尤其是一种用户行为的模型训练、推荐方法、装置和设备。
背景技术
随着互联网的发展,电商、社交媒体等产品的用户成指数增长。在互联网上,用户的行为种类多种多样。例如在社交类应用中,可以获得用户的聊天行为、浏览朋友圈行为、发红包行为等;在资讯类应用中,有点击资讯行为、转发资讯行为、评论行为、回复行为、收藏行为等;在搜索引擎中,有搜索行为、点击行为等。用户的行为是区分不同用户特点的重要特征,而用户行为是有时序的。所以如何对随时间变化的用户行为序列进行建模是十分重要的研究热点。
相关技术中,通常采用监督学习方法来进行用户行为建模,需要通过人工对数据进行标注,构造一个复杂的端对端模型,该端对端模型输入为用户的行为数据,输出的目标是人工标注的标签,通过对该端对端模型进行训练,能够得到一个满足业务需求的模型。然而,这种方法需要较高的人工标注成本,而且为了得到较好的模型性能,往往需要构造一个复杂的端对端模型,这对于实际应用场景来说,训练的资源成本和时间成本都较高昂。
发明内容
有鉴于此,本申请实施例提供一种用户行为的模型训练、推荐、分类方法、装置和设备,能降低用户行为序列建模的时间和成本。
本申请实施例的一方面提供了一种用户行为的模型训练方法,包括以下步骤:
获取用户行为序列;
将所述用户行为序列输入当前模型参数下的用户行为序列模型,得到当前用户表达;
根据所述当前用户表达与所述用户行为序列,得到第一训练样本;
根据所述第一训练样本采用互信息损失函数确定互信息损失值,并根据所述互信息损失值更新所述用户行为序列模型的模型参数;
以更新后的所述模型参数作为所述当前模型参数,返回执行将所述用户行为序列输入当前模型参数下的用户行为序列模型,得到当前用户表达的步骤,直至所述当前模型参数满足预设条件,所述预设条件为所述当前用户表达与所述用户行为序列之间的互信息为最大值。
本申请实施例的另一方面提供了一种推荐方法,包括以下步骤:
通过前面所述的模型训练方法获取预训练的用户行为序列模型;
采用推荐监督数据对所述用户行为序列模型进行参数调整,得到用户推荐模型;
根据所述用户推荐模型进行推荐。
本申请实施例的另一方面提供了一种分类方法,包括以下步骤:
通过前面所述的模型训练方法获取预训练的用户行为序列模型;
采用分类监督数据对所述用户行为序列模型进行参数调整,得到用户分类模型;
根据所述用户分类模型进行分类。
本申请实施例的另一方面提供了一种模型训练装置,包括:
用户行为序列获取模块,用于获取用户行为序列;
用户表达确定模块,用于将所述用户行为序列输入当前模型参数下的用户行为序列模型,得到当前用户表达;
第一训练样本构建模块,用于根据所述当前用户表达与所述用户行为序列,得到第一训练样本;
模型更新模块,用于根据所述第一训练样本采用互信息损失函数确定互信息损失值,并根据所述互信息损失值更新所述用户行为序列模型的模型参数;
返回模块,用于以更新后的所述模型参数作为所述当前模型参数,返回执行用户表达确定模块,直至所述当前模型参数满足预设条件,所述预设条件为所述当前用户表达与所述用户行为序列之间的互信息为最大值。
本申请实施例的另一方面提供了一种计算机设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器用于根据所述程序执行前面所述的模型训练方法、推荐方法或分类方法。
本申请实施例的另一方面提供了一种存储介质,所述存储介质存储有程序,所述程序被处理器执行完成前面所述的模型训练方法、推荐方法或分类方法。
本申请实施例的技术方案,根据用户行为序列与当前用户表达构建第一训练样本,再根据第一训练样本采用互信息损失函数确定互信息损失值,并根据互信息损失值对用户行为序列模型的模型参数进行更新,直至更新后的模型参数使得当前用户表达与用户行为序列之间的互信息为最大值。该方案以当前用户表达与用户行为序列之间的互信息为最大值作为用户行为序列模型训练的目标,通过基于互信息最大化的无监督学习方法实现了用户行为序列建模,无需人工标注成本,且不需要构建复杂的端对端模型,降低用户行为序列模型的训练时间和成本。
附图说明
为了更清楚地说明本申请实施例或者现有技术中的技术方案,下面对本申请实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本申请的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1为本申请实施例用户行为的训练方法的一种实施环境示意图;
图2为本申请实施例一种用户行为的模型训练方法的步骤流程图;
图3为本申请实施例将用户点击文章日志转换用户行为序列的实现过程示意图;
图4为本申请实施例采用transformer模型来得到当前用户表达的实现原理示意图;
图5为本申请实施例第一训练样本的构建与第一互信息损失值确定的过程示意图;
图6为本申请实施例第二训练样本的构建与第二互信息损失值确定的过程示意图;
图7为本申请实施例的模型训练方法的一个具体应用场景的实现流程图;
图8为本申请实施例一种用户推荐方法的步骤流程图;
图9为本申请实施例一种用户分类方法的步骤流程图;
图10为本申请实施例一种模型训练装置的结构示意图;
图11为本申请实施例一种计算机设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
首先,对本申请实施例中涉及的相关名词术语进行介绍和说明:
人工智能(Artificial Intelligence,AI):利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
自然语言处理技术(Natural Language Processing,NLP):该技术是现代计算机科学和人工智能领域的一个重要分支,是一门融合了语言学、数学、计算机科学的科学。这一领域的研究将涉及自然语言,即人们日常使用的语言。但自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,主要应用包括词法分析、词向量表示、词义相似度、短文本相似度和情感倾向分析等。
词频-逆文本频率指数(term frequency–inverse document frequency,TF-IDF):是一种用于信息检索与数据挖掘的常用加权技术,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse Document Frequency)。
随着互联网的发展,电商、社交媒体等产品的用户成指数增长。为了提高用户的体验,吸引更多用户,如何更好地理解用户,对用户建模,也成为了学术界和工业界的研究热点。与此同时,对用户建模也有助于提高用户的点击率或者产品的购买率,增加企业的商业收益。所以对用户进行更好的建模和进行数据挖掘,是对企业和用户都有益处的。在用户建模领域,用户的行为是区分不同用户特点的重要特征,而用户行为是有时序的。所以如何对随时间变化的用户行为序列进行建模是十分重要的研究热点。
相关技术中,通常采用监督学习方法来进行用户行为建模,需要通过人工对数据进行标注,构造一个复杂的端对端模型,该端对端模型输入为用户的行为数据,输出的目标是人工标注的标签,通过对该端对端模型进行训练,能够得到一个满足业务需求的模型。然而,这种方法需要较高的人工标注成本,而且为了得到较好的模型性能,往往需要构造一个复杂的端对端模型,这对于实际应用场景,训练的资源成本和时间成本都十分高昂。而且,该方法针对每一个不同的任务,都需要重新构造和训练一个新的模型,导致其未能充分利用模型和数据之间的共性,造成了资源的浪费。
为此,本申请实施例基于互信息最大化理论,以当前用户表达与用户行为序列之间的互信息为最大值作为用户行为序列模型训练的目标,通过基于互信息最大化的无监督学习方法实现了用户行为序列建模的模型预训练,无需人工标注成本,且不需要构建复杂的端对端模型,降低用户行为序列模型的训练时间和成本,也获得了较好的模型性能。
本申请实施例提供的技术方案涉及人工智能的机器学习/深度学习技术,具体通过如下实施例进行说明。
本申请实施例提供了一种用户行为的模型训练方法,该方法基于互信息最大化理论采用无监督学习方法实现了用户属性分类预测等分类任务、用户推荐任务等下游任务的模型预训练,可应用于终端中,或者可应用于服务器中,或者可应用于由终端和服务器所组成的系统中。此外,该模型训练方法还可以是运行于终端或服务器中的软件,例如具有模型训练功能的应用程序等。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器。
图1是本申请提供的一种实施环境的示意图,如图1所示,该实施环境可以包括:计算机设备101,该计算机设备101可以具有模型预训练、模型预训练参数的有监督调整以适应于下游任务要求等功能。该计算机设备101可以根据输入的用户行为序列进行各种用户行为序列模型的预训练。预训练好的用户行为序列模型可以直接应用于用户分类预测(如用户属性分类预测)、用户推荐(如购物推荐、游戏推荐)等下游任务中,还可以进一步根据下游任务的需求,通过fine-tuning等迁移学习的方法对预训练的模型参数进行有监督调整,以提升模型的性能和效果。计算机设备101,可以为终端,也可以为服务器,还可以由终端和服务器共同组成。图1中,智能手机1011、平板电脑1012、台式计算机1013均为终端的示例性实施例;而1014则为服务器。
图1中,终端和服务器之间可以通过网络进行互相通信。该网络可以是有线网络,也可以是无线网络。示例性地,服务器可以从终端处获取用户行为序列数据,然后执行如下处理以获得预训练好的用户行为序列模型:a.将用户行为序列数据输入到服务器当前模型参数(初始的当前模型参数可预先给定或随机选取)对应的用户行为序列模型中,得到输出的当前用户表达;b.根据当前用户表达与用户行为序列构建训练样本;c.根据训练样本采用损失函数来得到当前损失值,判断当前损失值是否满足收敛要求,若是,则以当前模型参数作为训练好的用户行为序列模型,结束训练过程;反之,则更新当前模型参数,并返回步骤a继续训练。在一种可能的实施方式中,当前模型参数可以采用梯度下降法更新:降低模型参数的梯度,得到新的模型参数作为当前模型参数。梯度下降方法可以是随机梯度(Stochastic Gradient Descent,SGD)下降算法、批量梯度(Batch Gradient Descent,BGD)下降算法、适应性矩估计(adaptive moment estimation,adam)优化算法等。可以理解的是,当前模型参数还可以采用演化算法等进行更新,演化算法包括基于种群的遗传算法等。服务器可以将预训练好的用户行为序列模型发送给终端,终端再通过fine-tuning等迁移学习的方法对预训练的模型参数进行有监督调整,并根据有监督调整后的模型参数执行用户分类、用户推荐等下游任务。
该模型训练方法可以应用于各种场景中。
例如,在用户属性二分类场景下:
将用户行为序列通过计算机设备101的终端发送给服务器,服务器采用前述方法获得预训练好的用户行为序列模型并发送给计算机设备101的终端,终端再根据一部分带有标签的用户属性样本数据通过fine-tuning等迁移学习的方法对预训练的模型参数进行有监督调整,得到用户属性二分类模型,这样,终端就可以利用该用户属性二分类模型对新输入的用户行为序列数据进行用户年龄、性别等的二分类预测。
又例如,在用户推荐场景下:
将用户行为序列通过计算机设备101的终端发送给服务器,服务器采用前述方法获得预训练好的用户行为序列模型并发送给计算机设备101的终端,终端再根据一部分带有标签的用户推荐样本数据通过fine-tuning等迁移学习的方法对预训练的模型参数进行有监督调整,得到用户推荐模型,这样,终端就可以利用该用户推荐模型为用户提供游戏物品购买推荐、用户浏览页面排版推荐或阅读内容推荐等推荐服务。
应理解,上述的应用场景仅起到示例作用,在实际应用中,除了可以利用服务器对用户行为序列模型进行预训练之外,还可以利用其它具备模型训练能力的设备如终端,预训练出用户行为序列模型;此外,也可以采用除终端设备外的其他设备承载预训练好的用户行为序列模型,在此不对本申请实施例提供的模型训练方法的应用场景做任何限定。
基于图1的实施环境描述,本申请实施例提出了一种用户行为的模型训练方法,该方法可以由图1所示计算机设备来执行。如图2所示,该方法可以包括以下步骤S201-S205:
S201、获取用户行为序列。
本申请实施例中,用户行为序列可以由服务器通过读取用户行为日志、实时采集用户的行为、从互联网爬取等方式来获取。
以服务器通过读取用户行为日志的获取方式为例,在实际的应用中,互联网的各种应用(如应用程序)或平台对用户的行为会有日志记录,如用户的商品点击记录,文章的点击、收藏、转发记录等。为了构造适合本申请实施例训练方法的输入,需要基于用户行为日志,按照时间顺序,转换为用户行为序列。可选地,可以按照行为的种类、操作客体的种类等对每一时刻的用户行为进行编码。
示例性地,图3示出了将用户点击文章日志转换用户行为序列的实现过程。
图3中,User_id代表了是哪一个用户,item_id代表了该用户点击的哪个文章,topic_id代表了该文章所属主题,time为点击该文章行为发生的时间戳。
图3中将用户点击文章日志转换用户行为序列的实现过程如下:
首先,把用户日志里记录的用户行为,以用户为单位,按时间排序,转换为用户行为序列;
然后,编码不同种类的用户行为,对该用户行为序列进行向量化。例如,用户点击的item的种类有5万种,可以为这五万item随机初始化512维度的向量,用来代表这5万个item。topic信息也可采用同样的方法进行向量化。
S202、将用户行为序列输入当前模型参数下的用户行为序列模型,得到当前用户表达。
本申请实施例中,用户行为序列模型可以是用于进行用户特征(如用户感兴趣特征、用户重复操作次数等特征)提取的特征提取模型,也可以是直接用于用户分类、用户推荐等下游任务的分类识别模型。若用户行为序列模型为特征提取模型,则可以进一步配合有监督调整来得到分类识别模型;若用户行为序列模型为分类识别模型,则可以直接采用该分类识别模型来进行用户推荐或用户分类等下游任务。
可选地,用户行为序列模型可以采用transformer模型,transformer模型使用了自注意力机制,执行固定数量的少量步骤(根据经验选择)即可,需要更少的训练算力,更适合现代机器学习硬件,并且极大地提升了训练速度。
可以理解的是,用户行为序列模型还可以采用循环神经网络(Recurrent NeuralNetwork)模型、时序卷积网络(Temporal Convolutional Network)模型等神经网络模型,也可以为其他包含有卷积层的网络模型。
如前所述,为了节省训练的时间和样本,提升模型训练的效率,本申请实施例采用了无监督学习的方法来进行模型的预训练,训练样本和当前模型参数对应的输出(即用户表达)会随着模型参数的更新而更新。
若用户行为序列模型采用transformer模型,则步骤S202可以进一步划分为以下步骤S2021-S2023:
S2021、对用户行为序列进行向量化,得到向量化后的用户行为序列。
如前所述,可以采用步骤S201中的向量化方法来使得输入符合用户行为序列模型的输入要求。
S2022、将向量化后的用户行为序列输入当前模型参数下的用户行为序列模型,提取得到若干个第一特征。
如图4所示,向量化后的用户行为序列,包括观测用户行为序列(observedbehavioral sequence)s1,s2……sM和假用户行为序列(faked behavioral sequence)下标M为代表序列总数,M为正整数,假用户行为序列是随机从与观测用户行为序列相同的同一批处理batch采样的其他用户行为序列。也就是说,假用户行为序列是指排除观测用户行为序列后的用户行为序列,例如,输入的用户序列包含观测用户A的用户行为序列,还包括用户B、C和D的用户行为序列,且用户B与观测用户A属于同一批处理,那么观测用户A对应的假用户行为序列即为用户B的用户行为序列。观测用户行为序列和假用户行为序列输入到Transformer模型后,经过位置向量化(Token vectorization)得到位置向量化后的观测用户行为序列x1,x2……xM和位置向量化后的假用户行为序列位置向量化后的观测用户行为序列x1,x2……xM经过序列建模(Sequence modeling)会得到提取出来的特征y1,y2……yM作为第一特征。
S2023、对各第一特征进行聚合处理,得到当前用户表达。
如图4所示,第一特征y1,y2……yM可以通过聚合器(Aggregator)采用平均池化(mean pooling)、最大池化(max pooling)、注意力(attention)等方法聚合生成当前用户表达y。
用户行为序列建模的目标是得到观测用户行为序列对应的用户表达y,而假用户行为序列是为了指导模型y应该如何学习,所以本申请实施例对到位置向量化后的观测用户行为序列x1,x2……xM进行序列建模和聚合处理即可。
S203、根据当前用户表达与用户行为序列,得到第一训练样本。
本申请实施例中,可以将当前用户表达与用户行为序列拼接(concat)得到的向量作为第一训练样本,第一训练样本包括第一正样本和第一负样本,那么步骤S203可以进一步包括以下步骤S2031和S2032:
S2031、将当前用户表达与用户行为序列拼接生成的向量作为第一正样本;
S2032、将当前用户表达与假用户行为序列拼接生成的向量作为第一负样本,其中假用户行为序列和用户行为序列属于同一批处理。
如图5所示,将当前用户表达y分别与图4位置向量化后的用户行为序列x1,x2……xM拼接生成的向量x1⊕y,x2⊕y……xM⊕y作为第一正样本,⊕为拼接符号;将当前用户表达y分别与图4位置向量化后的假用户行为序列拼接生成的向量作为第一负样本。
S204、根据第一训练样本采用互信息损失函数确定互信息损失值,并根据互信息损失值更新用户行为序列模型的模型参数。
为了加快用户行为序列模型的收敛速度和提升模型效果,本申请实施例的模型训练方法还可以通过引入其它的用户特征(如兴趣特征)作为辅助信息,故图2所示的模型练方法还可以进一步包括以下步骤S206:
S206、获取用户特征,其中,用户特征与当前用户表达属于同一用户,用户特征用于辅助用户行为序列模型的模型参数更新。
具体地,步骤S206可以通过以下三种方式中的任一种来获取用户特征:
对用户阅读的文章采用NLP技术进行自然语言处理,得到用户的兴趣特征作为用户特征;
或者,根据用户属性构造统计特征(如年龄、性别、学历等信息)作为用户特征;
或者,对用户行为序列进行特征提取,得到用户特征,例如可以根据用户行为序列统计用户行为序列的TF-iDF特征。
可选地,用户特征可以根据下游任务调整,与下游任务越相关,模型参数更新学习的用户表达越好。
通过步骤S206获取用户特征之后,预设条件(即收敛条件)也相应地变为:当前用户表达与用户行为序列之间的互信息为最大值且用户特征与当前用户表达之间的互信息为最大值。
相应地,步骤S204可以进一步包括以下步骤S2041-S2045:
S2041、根据第一训练样本采用第一互信息损失函数确定第一互信息损失值。
为了满足当前用户表达与用户行为序列之间的互信息为最大值的要求,可以引入第一互信息损失函数。第一互信息损失函数可以选用KL散度(Kullback–Leiblerdivergence,又叫相对熵)、JS散度(Jensen–Shannon divergence)、噪声对比估计损失(noise-contrastive estimation,NCE)损失函数等中的任一种。
具体地,步骤S2041可以进一步包括以下步骤S20411和S20412:
S20411、将第一训练样本输入第一多层感知机进行打分,得到第一打分结果;
S20412、根据第一打分结果,采用第一互信息损失函数得到第一互信息损失值。
本申请实施例中,可以将第一训练样本的第一正样本和第一负样本分别输入一个多层感知机(即第一多层感知机),第一多层感知机作用是拟合计算互信息的第一互信息损失函数。可选地,可以根据实际的需要选择第一多层感知机的层数,例如,选取第一多层感知机为3层感知机。如图5所示,步骤S2031和S2032构造的第一正样本501和第一负样本502分别输入第一多层感知机(Score function Tw)中进行打分,可以得到对应的第一正样本分数(Real score)和第一负样本分数(Fake score),分数代表了互信息的大小,接着可利用第一正样本分数和第一负样本分数最大化用户表达和用户行为序列之间的互信息,来进行训练。
公式(1)中,JSD代表JS散度,X为输入的用户行为序列,为随机从同一batch采样的其它用户行为序列集合,x和分别为X和中的元素,f函数为序列建模模型,sp为softplus函数,Tw为第一多层感知机,Tw(x,fθ(x))为第一多层感知机为第一正样本打出的分数,为第一多层感知机为第一负样本打出的分数。θ和w为模型需要更新优化的模型参数。第一互信息损失值越小,则当前用户表达和用户行为序列之间的互信息越大。
S2042、根据用户特征与当前用户表达,确定第二训练样本;
与步骤S203类似,本申请实施例中,可以将当前用户表达与用户特征拼接(concat)得到的向量作为第二训练样本,第二训练样本包括第三正样本和第四负样本,那么步骤S2042可以进一步包括以下步骤S20421和S20422:
S20421、将当前用户表达与用户特征拼接生成的向量作为第三正样本;
S20422、将当前用户表达与假用户特征拼接生成的向量作为第四负样本,其中假用户特征和用户特征属于同一批处理。
如图6所示,与图4的假用户行为序列相类似,假用户特征是随机从与获取的用户特征相同的同一批处理batch采样的其他用户特征。也就是说,假用户特征是指排除当前用户特征后的用户特征,例如,输入的用户特征包含当前用户A的用户特征,还包括用户B、C和D的用户特征,且用户B与观测用户A属于同一批处理,那么观测用户A对应的假用户特征即为用户B的用户特征。
S2043、根据第二训练样本采用第二互信息损失函数确定第二互信息损失值。
与第一互信息损失函数类似,第二互信息损失函数可以选用KL散度(Kullback–Leibler divergence,又叫相对熵)、JS散度(Jensen–Shannon divergence)、噪声对比估计损失(noise-contrastive estimation,NCE)损失函数等中的任一种。
具体地,步骤S2043可以进一步包括以下步骤S20431和S20432:
S20431、将第二训练样本输入第二多层感知机进行打分,得到第二打分结果;
S20432、根据第二打分结果,采用第二互信息损失函数得到第二互信息损失值。
本申请实施例中,可以将第二训练样本的第三正样本和第四负样本分别输入一个多层感知机(即第二多层感知机),第二多层感知机作用是拟合计算互信息的第二互信息损失函数。可选地,可以根据实际的需要选择第二多层感知机的层数,例如,选取第二多层感知机为3层感知机。如图6所示,步骤S20421和S20422构造的第三正样本cu⊕y和第四负样本分别输入第二多层感知机(Score function Tw′)中进行打分,可以得到对应的第三正样本分数(Real score)和第四负样本分数(Fake score),分数代表了互信息的大小,接着可利用第三正样本分数和第四负样本分数最大化用户表达和用户特征之间的互信息,来进行训练。
公式(2)中,JSD代表JS散度,C为输入的用户特征,为随机从同一batch采样的其它用户特征集合,为中的元素,f函数为序列建模模型,sp为softplus函数,Tw′为第二多层感知机,Tw′(c,fθ(x)))为第二多层感知机为第三正样本打出的分数,为第二多层感知机为第四负样本打出的分数。θ和w为模型需要更新优化的模型参数。第二互信息损失值越小,则当前用户表达和用户特征之间的互信息越大。
S2044、根据第一互信息损失值和第二互信息损失值,确定互信息损失值。
具体地,可以根据第一互信息损失值和第二互信息损失值的加权和,得到总的互信息损失值。
示例性地,步骤S2041和S2043采用JS散度(Jensen–Shannon divergence)计算出第一互信息损失值和第二互信息损失值之后,总的互信息损失值L(θ,w,w′)的计算公式可以为:
其中,α为调节第一互信息损失值和第二互信息损失值这两个损失值之间的比重。
S2045、根据互信息损失值更新用户行为序列模型的模型参数。
本申请实施例中,可采用梯度下降法更新用户行为序列模型的模型参数,通过降低模型参数的梯度,得到新的模型参数作为当前模型参数。梯度下降方法可以是随机梯度(Stochastic Gradient Descent,SGD)下降算法、批量梯度(Batch Gradient Descent,BGD)下降算法、适应性矩估计(adaptive moment estimation,adam)优化算法等。可以理解的是,当前模型参数还可以采用演化算法等进行更新,演化算法包括基于种群的遗传算法等。
S205、以更新后的模型参数作为当前模型参数,返回执行步骤S202,直至当前模型参数满足预设条件。
本申请实施例中预设条件(收敛条件)为互信息取最大值,互信息取最大值可以是当前用户表达与用户行为序列之间的互信息为最大值(未引入用户特征),还可以是当前用户表达与用户行为序列之间的互信息为最大值且当前用户表达与用户特征之间的互信息为最大值(引入用户特征之后)。
本申请实施例的步骤S205在满足预设条件(即收敛条件)之前,重复执行步骤S202-S204,对用户行为序列的模型参数进行迭代更新,从而可以获得满足预设条件的模型参数作为预训练好的模型参数。
可选地,图2所示的模型练方法还可以进一步包括以下步骤S207:
S207、采用监督数据对用户行为序列模型进行参数调整。
在通过步骤S206获取预训练好的用户行为序列模型后,可以根据实际的下游任务,如用户属性推断、下一时刻用户阅读预测、推荐系统的推荐任务,来使用较少数量的监督数据进行监督学习,从而通过fine-tuning等迁移学习的方法得到适用于下游任务的模型。
可以理解的是,迁移学习的方法还可以采用卷积网络作为固定的特征提取器,用到一个预训练好的卷积网络,去掉全连接层,把其余的部分作为一个特征提取器,通过AlexNet网络再计算出一个4096维度的特征向量,称之为cnn codes。有了这些特征向量的特征再训练一个线性分类器即可实现模型参数的迁移学习。
综上所述,本申请实施例的用户行为的模型训练方案,将互信息最大化的损失目标引入到用户行为序列建模领域,通过基于互信息最大化的无监督学习方法实现了用户行为序列建模的模型预训练,无需人工标注成本,且不需要构建复杂的端对端模型,降低用户行为序列模型的训练时间和成本,并能在多个具体下游任务上,获得监督学习端对端模型的效果,同时具备无监督学习模型的优点。此外,该方案通过引入与下游任务相关的用户特征作为模型参数更新的辅助信息,提升学习表达的质量,能够充分利用实际系统中存在的用户特征信息,提高用户行为序列建模的效果和表现。该方案在用户推荐、用户分类、用户大数据分析与挖掘等领域具有广泛的应用前景。
以从用户行为序列中提取用户特征,互信息损失函数采用JS散度(Jensen–Shannon divergence),第一多层感知机和第二多层感知机为3层感知机,迁移学习的方法采用Fine-tuning来进行参数调整为例,应用本申请实施例的模型训练方法,得到图7所示的一个应用场景实施例。如图7所示,该应用场景的训练方法主要包括以下步骤一、步骤二和步骤三:
步骤一、数据预处理:对输入的用户行为日志和其它用户特征信息进行数据预处理,实现特征构建和初步提取。
具体地,步骤一可以采用前述步骤S201和S2021的方法来获取向量化的用户行为序列作为模型的输入,在此不再赘述。步骤一还可以采用步骤S206中提取的TF-iDF特征作为用户特征,同样作为模型的输入。
步骤二、预训练建模:输入向量化好的用户行为序列和用户特征,以互信息最大化为目标对模型进行预训练。
具体地,步骤二可采用前述步骤S202中的transformer模型来提取得到当前用户表达,然后根据前述步骤S2031和S2032的方法构建第一正样本和第一负样本,同时根据前述步骤S20421和前述步骤S20422构建第三正样本和第四负样本;接着,采用公式(1)和公式(2)来分别计算得到第一互信息损失值和第二互信息损失值再接着,根据公式(3)来计算出总的互信息损失值;最后根据该总的互信息损失值进行模型参数的迭代更新与训练,直到当前的模型参数满足预设条件,从而得到预训练好的用户行为序列模型。
步骤三、根据下游任务进行Fine-tuning:依据实际需求的下游任务,采用监督数据对预训练好的模型进行fine-tuning。
在模型fine-tuning阶段,因为下游任务的不同,需要对模型进行细微的改动。如用户属性推断等分类任务,可以在预训练好的模型之上,添加1-2层全连接神经网络,使得最后输出层的维度与想要分类的类别数一致,并添加soft Max函数;再根据较少量的监督数据的标签,对模型进行fine-tuning训练。模型的损失值可以使用分类任务常用的损失函数来计算,如交叉熵等。
因为步骤二得到的预训练的用户行为序列模型已经充分训练,此时根据下游任务进行参数上的细微调整,而新添加的分类神经网络是随机初始化的,需要进一步通过Adam算法等优化学习方法进行训练优化。所以,本实施例可以根据实际需要,改变两部分的学习率learning rate的大小,例如,设置新添加的分类神经网络的初始learning rate是预训练的用户行为序列模型的初始learning rate的10倍。
参照图8,本申请实施例还提供了一种推荐方法,包括以下步骤:
S801、通过如图2所示的用户行为的模型训练方法获取预训练的用户行为序列模型;
S802、采用推荐监督数据对用户行为序列模型进行参数调整,得到用户推荐模型;
S803、根据用户推荐模型进行推荐。
本申请实施例中,推荐监督数据是指带有标签(即标注)且与用户推荐等下游任务相关的数据,该推荐监督数据可以来自于各个与用户推荐相关的业务场景。例如,在游戏的用户推荐场景中,该推荐监督数据可以是某个用户(某个游戏玩家)或某类用户(大学生玩家或小学生玩家)等对游戏内的虚拟道具或虚拟物品进行购买的历史购买记录,在该历史购买记录内记录了与用户购买这一用户行为关联的基本信息,如用户的游戏ID,购买时间等等,那么对应的标签可以设置为“有购买虚拟道具或虚拟物品”或“没有购买虚拟道具或虚拟物品”。这样,通过本申请实施例图2所示的模型训练方法预训练出用户行为序列模型(如用户购买偏好的特征提取模型),即可以结合该推荐监督数据对该用户行为序列模型进行参数微调,从而得到游戏物品(包括虚拟道具或虚拟物品)推荐模型,以为实际的用户推荐该用户或该类用户偏好的游戏物品,提高了该用户或该类用户接受该推荐而进行游戏物品购买的成功几率。以上实施例仅为与用户推荐相关的业务场景的一个应用实施例,本领域的技术人员可以理解的是,该方案同样适用于新闻订阅推荐、小说订阅推荐、视频订阅推荐、浏览页面排版推荐或浏览样式推荐等等用户推荐场景,在此不再一一列举。
并且,可以理解的是,图2所示的模型训练方法实施例中的内容均适用于本推荐方法实施例中,本推荐方法实施例在进行用户行为序列模型的预训练过程中所具体实现的功能与图2所示的模型训练方法实施例相同,并且达到的有益效果与图2所示的模型训练方法实施例所达到的有益效果也相同。
另外,本申请实施例的用户推荐方法还在国内某用户数量较大的游戏平台中得到了成功的应用,采用该推荐方法为该游戏平台的一款游戏提高了1.11%用户注册率,很好地印证了本用户推荐方法的性能和效果。
参照图9,本申请实施例还提供了一种分类方法,包括以下步骤:
S901、通过的模型训练方法获取预训练的用户行为序列模型;
S902、采用分类监督数据对用户行为序列模型进行参数调整,得到用户分类模型;
S903、根据用户分类模型进行分类。
本申请实施例中,分类监督数据是指带有标签(即标注)且与用户分类等下游任务相关的数据,该分类监督数据可以来自于各个与用户分类相关的业务场景。例如,在用户的基本属性分类场景中,该分类监督数据可以是发生某种行为(如阅读某篇文章等)的用户的历史记录数据,该历史记录数据记录了发生行为的用户基本属性信息,如用户的性别、用户的年龄段以及发生该行为的时间等等。以用户基本属性为用户的年龄段为例,那么对应的标签可以设置为“用户超过该年龄段(如30岁)”或“用户不超过该年龄段(如30岁)”。这样,通过本申请实施例图2所示的模型训练方法预训练出用户行为序列模型(如用户基本属性的特征提取模型),即可以结合该推荐监督数据对该用户行为序列模型进行参数微调,从而得到用户属性分类模型,从而为用户的偏好等用户信息的挖掘奠定了基础。以上实施例仅为与用户分类相关的业务场景的一个应用实施例,本领域的技术人员可以理解的是,该方案同样适用于租户用户管理分类、应用平台注册用户分类等等用户分类场景,在此不再一一列举。
并且,可以理解的是,图2所示的模型训练方法实施例中的内容均适用于本分类方法实施例中,本分类方法实施例在进行用户行为序列模型的预训练过程中所具体实现的功能与图2所示的模型训练方法实施例相同,并且达到的有益效果与图2所示的模型训练方法实施例所达到的有益效果也相同。
另外,本申请实施例还选取了某个城市的公众号阅读数据作为训练样本数据,以性别二分类(预测是男还是女)和年龄二分类(预测是否大于30岁)作为具体的应用场景,分别采用了监督学习的方法和本申请实施例的模型预训练+fine-tuning方法进行用户二分类,得到的各种机器学习模型的评价指标结果如下表1所示。
表1
表1中,带“监督学习”文字的为监督学习的方法,带“fine-tuning”文字的本申请实施例的模型预训练+fine-tuning方法。从表1可以看出,本申请实施例的方法在准确率Accuracy、Precision和F1分数值F1-score这三个指标(数值越高则性能越好)的数值均要高于监督学习的方法的结果,而在召回率Recall这个指标的数值要低于监督学习的方法的结果,证明了本申请实施例的分类方法在提升了分类模型的训练速度和效率的同时,还能具有较好的模型性能和效果。
参照图10,本申请实施例还提供了一种模型训练装置,包括:
用户行为序列获取模块1001,用于获取用户行为序列;
用户表达确定模块1002,用于将用户行为序列输入当前模型参数下的用户行为序列模型,得到当前用户表达;
第一训练样本构建模块1003,用于根据当前用户表达与用户行为序列,得到第一训练样本;
模型更新模块1004,用于根据第一训练样本采用互信息损失函数确定互信息损失值,并根据互信息损失值更新用户行为序列模型的模型参数;
返回模块1005,用于以更新后的模型参数作为当前模型参数,返回执行用户表达确定模块1002,直至当前模型参数满足预设条件,其中,预设条件为当前用户表达与用户行为序列之间的互信息为最大值。
图2所示的模型训练方法实施例中的内容均适用于本模型训练装置实施例中,本模型训练装置实施例所具体实现的功能与图2所示的模型训练方法实施例相同,并且达到的有益效果与图2所示的模型训练方法实施例所达到的有益效果也相同。
参照图11,本申请实施例还提供了一种计算机设备,包括:
处理器1101;
存储器1102,用于存储程序;
处理器用于根据存储器1102存储的程序执行图2所示的模型训练方法、图8所示的用户推荐方法或图9所示的用户分类方法。
图2所示的模型训练方法实施例、图8所示的用户推荐方法实施例或图9所示的用户分类方法实施例中的内容均适用于本计算机设备实施例中,本计算机设备实施例所具体实现的功能与图2所示的模型训练方法实施例、图8所示的用户推荐方法实施例或图9所示的用户分类方法实施例相同,并且达到的有益效果与图2所示的模型训练方法实施例、图8所示的用户推荐方法实施例或图9所示的用户分类方法实施例所达到的有益效果也相同。
本申请实施例还提供了一种存储介质,该存储介质存储有程序,该程序被处理器执行完成图2所示的模型训练方法、图8所示的用户推荐方法或图9所示的用户分类方法。
图2所示的模型训练方法实施例、图8所示的用户推荐方法实施例或图9所示的用户分类方法实施例中的内容均适用于本存储介质实施例中,本存储介质实施例所具体实现的功能与图2所示的模型训练方法实施例、图8所示的用户推荐方法实施例或图9所示的用户分类方法实施例相同,并且达到的有益效果与图2所示的模型训练方法实施例、图8所示的用户推荐方法实施例或图9所示的用户分类方法实施例所达到的有益效果也相同。
本申请实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图2、图8或图9所示的方法。
可以理解的是,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
上面结合附图对本申请实施例作了详细说明,但是本申请不限于上述实施例,在技术领域普通技术人员所具备的知识范围内,还可以在不脱离本申请宗旨的前提下作出各种变化。
Claims (14)
1.一种用户行为的模型训练方法,其特征在于,包括以下步骤:
获取用户行为序列;
将所述用户行为序列输入当前模型参数下的用户行为序列模型,得到当前用户表达;
根据所述当前用户表达与所述用户行为序列,得到第一训练样本;
根据所述第一训练样本采用互信息损失函数确定互信息损失值,并根据所述互信息损失值更新所述用户行为序列模型的模型参数;
以更新后的所述模型参数作为所述当前模型参数,返回执行将所述用户行为序列输入当前模型参数下的用户行为序列模型,得到当前用户表达的步骤,直至所述当前模型参数满足预设条件,所述预设条件为所述当前用户表达与所述用户行为序列之间的互信息为最大值。
2.根据权利要求1所述的一种用户行为的模型训练方法,其特征在于,所述模型练方法还包括:
获取用户特征,所述用户特征与所述当前用户表达属于同一用户,所述用户特征用于辅助所述用户行为序列模型的模型参数更新。
3.根据权利要求2所述的一种用户行为的模型训练方法,其特征在于,所述预设条件为所述当前用户表达与所述用户行为序列之间的互信息为最大值且所述用户特征与所述当前用户表达之间的互信息为最大值。
4.根据权利要求2所述的一种用户行为的模型训练方法,其特征在于,所述互信息损失函数包括第一互信息损失函数和第二互信息损失函数,所述根据所述第一训练样本采用互信息损失函数确定互信息损失值,并根据所述互信息损失值更新所述用户行为序列模型的模型参数,包括:
根据所述第一训练样本采用所述第一互信息损失函数确定第一互信息损失值;
根据所述用户特征与所述当前用户表达,确定第二训练样本;
根据所述第二训练样本采用所述第二互信息损失函数确定第二互信息损失值;
根据所述第一互信息损失值和所述第二互信息损失值,确定所述互信息损失值;
根据所述互信息损失值更新所述用户行为序列模型的模型参数。
5.根据权利要求2所述的一种用户行为的模型训练方法,其特征在于,所述获取用户特征,包括以下之一:
对用户阅读的文章进行自然语言处理,得到用户的兴趣特征作为所述用户特征;
或者,根据用户属性构造统计特征作为所述用户特征;
或者,对所述用户行为序列进行特征提取,得到所述用户特征。
6.根据权利要求1所述的一种用户行为的模型训练方法,其特征在于,所述将所述用户行为序列输入当前模型参数下的用户行为序列模型,得到当前用户表达,包括:
对所述用户行为序列进行向量化,得到向量化后的所述用户行为序列;
将向量化后的所述用户行为序列输入当前模型参数下的用户行为序列模型,提取得到若干个第一特征;
对各所述第一特征进行聚合处理,得到所述当前用户表达。
7.根据权利要求1所述的一种用户行为的模型训练方法,其特征在于,所述第一训练样本包括第一正样本和第一负样本,所述根据所述当前用户表达与所述用户行为序列,得到第一训练样本,包括:
将所述当前用户表达与所述用户行为序列拼接生成的向量作为所述第一正样本;
将所述当前用户表达与假用户行为序列拼接生成的向量作为所述第一负样本,所述假用户行为序列和所述用户行为序列属于同一批处理。
8.根据权利要求4所述的一种用户行为的模型训练方法,其特征在于,所述第二训练样本包括第三正样本和第四负样本,所述根据所述用户特征与所述当前用户表达,确定第二训练样本,包括:
将所述当前用户表达与所述用户特征拼接生成的向量作为所述第三正样本;
将所述当前用户表达与假用户特征拼接生成的向量作为所述第四负样本,所述假用户特征和所述用户特征属于同一批处理。
9.根据权利要求4所述的一种用户行为的模型训练方法,其特征在于,所述根据所述第一训练样本采用所述第一互信息损失函数确定第一互信息损失值,包括:
将所述第一训练样本输入第一多层感知机进行打分,得到第一打分结果;
根据所述第一打分结果,采用所述第一互信息损失函数得到所述第一互信息损失值;
所述根据所述第二训练样本采用所述第二互信息损失函数确定第二互信息损失值,包括:
将所述第二训练样本输入第二多层感知机进行打分,得到第二打分结果;
根据所述第二打分结果,采用所述第二互信息损失函数得到所述第二互信息损失值。
10.根据权利要求1所述的一种用户行为的模型训练方法,其特征在于,所述模型训练方法还包括:
采用监督数据对所述用户行为序列模型进行参数调整。
11.一种推荐方法,其特征在于,包括以下步骤:
通过如权利要求1-10任一项所述的模型训练方法获取预训练的用户行为序列模型;
采用推荐监督数据对所述用户行为序列模型进行参数调整,得到用户推荐模型;
根据所述用户推荐模型进行推荐。
12.一种模型训练装置,其特征在于,包括:
用户行为序列获取模块,用于获取用户行为序列;
用户表达确定模块,用于将所述用户行为序列输入当前模型参数下的用户行为序列模型,得到当前用户表达;
第一训练样本构建模块,用于根据所述当前用户表达与所述用户行为序列,得到第一训练样本;
模型更新模块,用于根据所述第一训练样本采用互信息损失函数确定互信息损失值,并根据所述互信息损失值更新所述用户行为序列模型的模型参数;
返回模块,用于以更新后的所述模型参数作为所述当前模型参数,返回执行用户表达确定模块,直至所述当前模型参数满足预设条件,所述预设条件为所述当前用户表达与所述用户行为序列之间的互信息为最大值。
13.一种计算机设备,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器用于根据所述程序执行如权利要求1-11中任一项所述的方法。
14.一种存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行完成如权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011318160.2A CN112307351A (zh) | 2020-11-23 | 2020-11-23 | 用户行为的模型训练、推荐方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011318160.2A CN112307351A (zh) | 2020-11-23 | 2020-11-23 | 用户行为的模型训练、推荐方法、装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112307351A true CN112307351A (zh) | 2021-02-02 |
Family
ID=74335491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011318160.2A Pending CN112307351A (zh) | 2020-11-23 | 2020-11-23 | 用户行为的模型训练、推荐方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112307351A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112836129A (zh) * | 2021-02-18 | 2021-05-25 | 支付宝(杭州)信息技术有限公司 | 一种信息的推荐方法、装置及设备 |
CN113191896A (zh) * | 2021-04-27 | 2021-07-30 | 华世界数字科技(深圳)有限公司 | 一种招标信息的推荐方法、装置及计算机设备 |
CN113342963A (zh) * | 2021-04-29 | 2021-09-03 | 山东大学 | 一种基于迁移学习的服务推荐方法及系统 |
CN113656699A (zh) * | 2021-08-25 | 2021-11-16 | 平安科技(深圳)有限公司 | 用户特征向量确定方法、相关设备及介质 |
CN113657596A (zh) * | 2021-08-27 | 2021-11-16 | 京东科技信息技术有限公司 | 训练模型和图像识别的方法和装置 |
CN113807515A (zh) * | 2021-08-23 | 2021-12-17 | 网易(杭州)网络有限公司 | 模型训练的方法、装置、计算机设备及存储介质 |
CN113901289A (zh) * | 2021-10-08 | 2022-01-07 | 新华智云科技有限公司 | 一种基于无监督学习的推荐方法及系统 |
CN114580533A (zh) * | 2022-03-04 | 2022-06-03 | 腾讯科技(深圳)有限公司 | 特征提取模型的训练方法、装置、设备、介质及程序产品 |
CN115146629A (zh) * | 2022-05-10 | 2022-10-04 | 昆明理工大学 | 一种基于对比学习的新闻文本与评论相关性分析方法 |
CN115952438A (zh) * | 2022-12-12 | 2023-04-11 | 中国科学院软件研究所 | 社交平台用户属性预测方法、系统、移动设备及存储介质 |
CN116468096A (zh) * | 2023-03-30 | 2023-07-21 | 之江实验室 | 一种模型训练方法、装置、设备及可读存储介质 |
CN117194992A (zh) * | 2023-11-01 | 2023-12-08 | 支付宝(杭州)信息技术有限公司 | 一种模型训练、任务执行方法、装置、存储介质及设备 |
-
2020
- 2020-11-23 CN CN202011318160.2A patent/CN112307351A/zh active Pending
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112836129B (zh) * | 2021-02-18 | 2022-06-28 | 支付宝(杭州)信息技术有限公司 | 一种信息的推荐方法、装置及设备 |
CN112836129A (zh) * | 2021-02-18 | 2021-05-25 | 支付宝(杭州)信息技术有限公司 | 一种信息的推荐方法、装置及设备 |
CN113191896A (zh) * | 2021-04-27 | 2021-07-30 | 华世界数字科技(深圳)有限公司 | 一种招标信息的推荐方法、装置及计算机设备 |
CN113342963A (zh) * | 2021-04-29 | 2021-09-03 | 山东大学 | 一种基于迁移学习的服务推荐方法及系统 |
CN113807515A (zh) * | 2021-08-23 | 2021-12-17 | 网易(杭州)网络有限公司 | 模型训练的方法、装置、计算机设备及存储介质 |
CN113656699A (zh) * | 2021-08-25 | 2021-11-16 | 平安科技(深圳)有限公司 | 用户特征向量确定方法、相关设备及介质 |
CN113656699B (zh) * | 2021-08-25 | 2024-02-13 | 平安科技(深圳)有限公司 | 用户特征向量确定方法、相关设备及介质 |
CN113657596A (zh) * | 2021-08-27 | 2021-11-16 | 京东科技信息技术有限公司 | 训练模型和图像识别的方法和装置 |
CN113657596B (zh) * | 2021-08-27 | 2023-11-03 | 京东科技信息技术有限公司 | 训练模型和图像识别的方法和装置 |
CN113901289A (zh) * | 2021-10-08 | 2022-01-07 | 新华智云科技有限公司 | 一种基于无监督学习的推荐方法及系统 |
CN114580533A (zh) * | 2022-03-04 | 2022-06-03 | 腾讯科技(深圳)有限公司 | 特征提取模型的训练方法、装置、设备、介质及程序产品 |
CN115146629A (zh) * | 2022-05-10 | 2022-10-04 | 昆明理工大学 | 一种基于对比学习的新闻文本与评论相关性分析方法 |
CN115952438A (zh) * | 2022-12-12 | 2023-04-11 | 中国科学院软件研究所 | 社交平台用户属性预测方法、系统、移动设备及存储介质 |
CN115952438B (zh) * | 2022-12-12 | 2023-11-17 | 中国科学院软件研究所 | 社交平台用户属性预测方法、系统、移动设备及存储介质 |
CN116468096A (zh) * | 2023-03-30 | 2023-07-21 | 之江实验室 | 一种模型训练方法、装置、设备及可读存储介质 |
CN116468096B (zh) * | 2023-03-30 | 2024-01-02 | 之江实验室 | 一种模型训练方法、装置、设备及可读存储介质 |
CN117194992A (zh) * | 2023-11-01 | 2023-12-08 | 支付宝(杭州)信息技术有限公司 | 一种模型训练、任务执行方法、装置、存储介质及设备 |
CN117194992B (zh) * | 2023-11-01 | 2024-04-19 | 支付宝(杭州)信息技术有限公司 | 一种模型训练、任务执行方法、装置、存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112307351A (zh) | 用户行为的模型训练、推荐方法、装置和设备 | |
Yuan et al. | Expert finding in community question answering: a review | |
CN112182166B (zh) | 一种文本匹配方法、装置、电子设备及存储介质 | |
CN112164391A (zh) | 语句处理方法、装置、电子设备及存储介质 | |
CN111460221B (zh) | 评论信息处理方法、装置及电子设备 | |
CN110121706A (zh) | 提供会话中的响应 | |
CN113392209B (zh) | 一种基于人工智能的文本聚类方法、相关设备及存储介质 | |
CN112131430A (zh) | 视频聚类方法、装置、存储介质和电子设备 | |
CN113392331A (zh) | 文本处理方法及设备 | |
CN111666400B (zh) | 消息获取方法、装置、计算机设备及存储介质 | |
CN113392179A (zh) | 文本标注方法及装置、电子设备、存储介质 | |
Liu et al. | Correlation identification in multimodal weibo via back propagation neural network with genetic algorithm | |
CN116955591A (zh) | 用于内容推荐的推荐语生成方法、相关装置和介质 | |
CN113741759B (zh) | 评论信息的展示方法、装置、计算机设备和存储介质 | |
CN114519397B (zh) | 基于对比学习的实体链接模型的训练方法、装置、设备 | |
Yafooz et al. | Enhancing multi-class web video categorization model using machine and deep learning approaches | |
KR20220105792A (ko) | 동적 텍스트 소스를 활용한 ai 기반 의사결정지원 시스템 | |
CN114372454A (zh) | 文本信息抽取方法、模型训练方法、装置及存储介质 | |
Mahalakshmi et al. | Twitter sentiment analysis using conditional generative adversarial network | |
Kamel et al. | Robust sentiment fusion on distribution of news | |
CN114756673A (zh) | 政策文本摘要生成方法、装置、电子设备及存储介质 | |
Ali et al. | Identifying and Profiling User Interest over time using Social Data | |
CN113886539A (zh) | 话术推荐方法、装置、客服设备及存储介质 | |
Yang et al. | Understanding and monitoring human trafficking via social sensors: a sociological approach | |
CN114817697A (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 |