一种基于人工智能的产品推荐方法、装置及电子设备转让专利
申请号 : CN202110853641.1
文献号 : CN113298661B
文献日 : 2021-11-05
发明人 : 刘博文 , 李晨阳 , 蔡准 , 郭晓鹏 , 孙悦
申请人 : 北京芯盾时代科技有限公司
摘要 :
权利要求 :
1.一种基于人工智能的产品推荐方法,其特征在于,所述方法包括:获取用户数据,以及获取产品数据;
基于所述用户数据和所述产品数据,确定表征用户和产品组合特征的用户产品特征向量;
基于所述用户数据确定表征用户特征的用户特征向量,以及基于所述产品数据确定表征产品特征的产品特征向量;
将所述用户特征向量和所述产品特征向量融合,得到融合特征向量;
针对所述用户产品特征向量中的每个向量元素,执行以下操作:计算所述向量元素与所述用户产品特征向量中的其他向量元素的相似度,将所述相似度作为对应的向量元素的权重系数;对所述向量元素根据各自对应的权重系数进行加权处理,得到自注意力用户产品特征向量;
对所述自注意力用户产品特征向量和所述融合特征向量执行内积操作,得到用于表征用户对产品感兴趣程度的系数;所述系数用于向所述用户推荐产品。
2.根据权利要求1所述的方法,其特征在于,所述基于所述用户数据,确定表征用户特征的用户特征向量,包括:
对所述用户数据进行处理,得到数值型离散用户特征;
将所述数值型离散用户特征输入第一神经网络,得到表征用户特征的用户特征向量。
3.根据权利要求1所述的方法,其特征在于,所述基于所述产品数据,确定表征产品特征的产品特征向量,包括:
对所述产品数据进行处理,得到数值型离散产品特征;
将所述数值型离散产品特征输入第二神经网络,得到表征产品特征的产品特征向量。
4.根据权利要求1所述的方法,其特征在于,所述将所述用户特征向量和所述产品特征向量融合,得到融合特征向量,包括:针对所述用户特征向量中的每个向量元素,执行以下操作:计算所述向量元素与所述用户特征向量中的其他向量元素的相似度,将所述相似度作为对应的向量元素的权重系数;对所述向量元素根据各自对应的权重系数进行加权处理,得到自注意力用户特征向量;
针对所述产品特征向量中的每个向量元素,执行以下操作:计算所述向量元素与所述产品特征向量中的其他向量元素的相似度,将所述相似度作为对应的向量元素的权重系数;对所述向量元素根据各自对应的权重系数进行加权处理,得到自注意力产品特征向量;
对所述自注意力用户特征向量和所述自注意力产品特征向量执行哈达玛积操作,得到所述融合特征向量。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述确定用于表征用户对产品感兴趣程度的系数之后,所述方法还包括:针对每个用户,对所述用户对产品感兴趣程度的系数按照降序排序;
将排序后的前N个所述用户对产品感兴趣程度的系数对应的产品,推荐至所述用户;N为正整数。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述获取用户数据,包括:获取用户标签数据、用户历史行为数据以及针对所述用户的第三方数据。
7.一种基于人工智能的产品推荐装置,其特征在于,所述装置包括:数据获取模块,用于获取用户数据以及产品数据;
第一确定模块,用于基于所述用户数据和所述产品数据,确定表征用户和产品组合特征的用户产品特征向量;
第二确定模块,用于基于所述用户数据确定表征用户特征的用户特征向量,以及基于所述产品数据确定表征产品特征的产品特征向量;
融合模块,用于将所述用户特征向量和所述产品特征向量融合,得到融合特征向量;
系数确定模块,用于针对所述用户产品特征向量中的每个向量元素,执行以下操作:计算所述向量元素与所述用户产品特征向量中的其他向量元素的相似度,将所述相似度作为对应的向量元素的权重系数;对所述向量元素根据各自对应的权重系数进行加权处理,得到自注意力用户产品特征向量;
对所述自注意力用户产品特征向量和所述融合特征向量执行内积操作,得到用于表征用户对产品感兴趣程度的系数;所述系数用于向所述用户推荐产品。
8.一种电子设备,其特征在于,包括:存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至6任一项所述的基于人工智能的产品推荐方法。
9.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至6任一项所述的基于人工智能的产品推荐方法。
说明书 :
一种基于人工智能的产品推荐方法、装置及电子设备
技术领域
背景技术
的产品销售量有限;另外,针对不同细分需求而产生的产品数量越来越多,有些产品之间的
差异并不明显,若工作人员对产品信息了解不全面,可能会向客户推荐不适合该客户的产
品,导致客户流失。
发明内容
理,得到自注意力用户特征向量;
理,得到自注意力产品特征向量;
权处理,得到自注意力用户产品特征向量;
理,得到自注意力用户特征向量;
理,得到自注意力产品特征向量;
权处理,得到自注意力用户产品特征向量;
征向量;基于所述用户数据确定表征用户特征的用户特征向量,以及基于所述产品数据确
定表征产品特征的产品特征向量;将所述用户特征向量和所述产品特征向量融合,得到融
合特征向量;基于所述用户产品特征向量和所述融合特征向量,确定用于表征用户对产品
感兴趣程度的系数;所述用于表征用户对产品感兴趣程度的系数能够表征用户与产品之间
的相关性,或者表征用户对产品的感兴趣程度,根据用于表征用户对产品感兴趣程度的系
数向用户推荐产品,能够实现基于不同的用户推荐不同的产品的效果,避免客户流失,提高
金融机构的产品营销转化能力。本申请实施例提供的基于人工智能的产品推荐方法是基于
人能智能技术实现的,无需工作人员参与,降低了金融机构的运营成本。
附图说明
具体实施方式
做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
的情况下相互结合。
顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺
序实施。在以下的描述中,所涉及的术语“多个”是指至少两个。
不是旨在限制本申请。
论、方法和技术及应用系统。
接数据库500,其中,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或
有线链路实现数据传输。
用于产品推荐的客户端。客户端可以获取用户数据,以及获取产品数据;基于用户数据和产
品数据,确定表征用户和产品组合特征的用户产品特征向量;基于用户数据确定表征用户
特征的用户特征向量,以及基于产品数据确定表征产品特征的产品特征向量;将用户特征
向量和产品特征向量融合,得到融合特征向量;基于用户产品特征向量和融合特征向量,确
定用于表征用户对产品感兴趣程度的系数;所述系数用于向所述用户推荐产品。
数据和产品数据。然后,服务器200基于用户数据和产品数据,确定表征用户和产品组合特
征的用户产品特征向量;基于用户数据确定表征用户特征的用户特征向量,以及基于产品
数据确定表征产品特征的产品特征向量;将用户特征向量和产品特征向量融合,得到融合
特征向量;基于用户产品特征向量和融合特征向量,确定用于表征用户对产品感兴趣程度
的系数;服务器200根据所述系数用于向所述终端设备400对应的客户端410推荐产品。
生程序或软件模块;可以是本地(Native)应用程序(Application,APP),即需要在操作系统
中安装才能运行的程序;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程
序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式
的应用程序、模块或插件。
储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台
等基础云计算服务的云服务器,其中,云技术(Cloud Technology)是指在广域网或局域网
内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管
技术。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能电视、
智能手表等,但并不局限于此。终端设备400以及服务器200可以通过有线或无线通信方式
进行直接或间接地连接,本申请在此不做限制。
请实施例提供的终端设备400的结构示意图,图2所示的终端设备400包括:至少一个处理器
460、存储器450、至少一个网络接口420和用户接口430。终端设备400中的各个组件通过总
线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统
440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明
起见,在图2中将各种总线都标为总线系统440。
晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理
器等。
用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和
控件。
一个或多个存储设备。
以是随机存取存储器(Random Access Memory,RAM)。本申请实施例描述的存储器450旨在
包括任意适合类型的存储器。
(Universal Serial Bus,USB)等;
口);
模块:数据获取模块4551、第一确定模块4552、第二确定模块4553、融合模块4554以及系数
确定模块4555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一
步拆分。将在下文中说明各个模块的功能。
以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的基于人工智
能的产品推荐方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集
成电路(Application Specific Integrated Circuit,ASIC)、DSP、可编程逻辑器件
(Programmable Logic Device,PLD)、复杂可编程逻辑器件(Complex Programmable Logic
Device,CPLD)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)或其他电子元
件。
实施例提供的基于人工智能的产品推荐方法可由服务器或终端设备单独实施,或由服务器
及终端设备协同实施,下面以终端设备实施为例说明本申请实施例提供的基于人工智能的
产品推荐方法。参见图3,图3是本申请实施例提供的基于人工智能的产品推荐方法的一种
可选处理流程示意图,本申请实施例提供的基于人工智能的产品推荐方法至少可以包括:
均是用于表征用户特征的数据。
基本资料,如姓名、年龄、联系方式等;用户关联信息可以包括用户的消费信息、收入信息、
是否购买过理财产品、是否购买过信托和股票等信息。用户标签资料库内的信息不随着用
户对产品的操作而发生变化,因此,用户标签资料库也可以称为静态资料库,用户标签资料
库内的信息也可以称为静态信息。
品产生的行为数据、用户赎回理财金额产生的数据、用户的转账数据等。用户历史性味苦内
的信息随着用户对产品的操作而发生变化,因此,用户历史行为库也可以称为动态资料库。
品数据可以包括产品的种类(理财或基金)、产品的年化率、购买条件以及购买周期等数据。
用户产品特征可以基于用户数据和与用户数据对应的产品数据确定。作为示例,用户产品
特征可以基于第一用户对应的第一用户数据,以及第一用户对应的第一产品数据确定;如
第一用户数据为年龄是30岁的女性用户A,第一产品数据是在2000年1月1日购买金额为一
百万的理财产品B。
中,对用户数据进行处理,得到数值型离散用户特征可以通过下述技术方案实现:根据用户
数据确定用户数据对应的用户特征,对用户特征进行分箱处理和数值化处理,得到表征用
户特征的用户特征向量。作为示例,若用户数据为年龄是30岁、身高为165.5厘米的女性用
户,则用户特征可以包括性别特征、身高特征和年龄特征。用户特征可以分为连续型特征和
离散型特征,连续型特征可以是指取值为连续实数的特征;如身高为165.5厘米、年龄是30
岁均属于连续型特征;离散型特征可以是指每一个取值都看成一种状态的特征,例如性别
是女属于离散型特征。若用户特征为连续型特征,则将该连续型特征进行分箱处理,用箱号
代表特征值,将连续型特征转换为离散型特征。若用户特征为离散型特征,若该离散型特征
为非数值型特征(如字符串(String)或关键字(Char)),则将该离散型特征转换为数值型特
征。
层输出的m*p维特征向量。其中,EN层可以是一个参数量庞大的权重矩阵,也可以称为向量
字典表,EN层的维度为[q,p],q为输入EN层的用户特征中特征值不重复的用户特征量的总
和,m为输入EN层的总用户特征量,p为自定义的嵌入维度;举例来说,若输入EN层的用户特
征有128个,其中,128个用户特征中有8个用户特征的特征值是相同的,其余120个用户特征
的特征值均不相同,则q的值为120,m为128。
量,经嵌入维度为5的EN层输出得到8*5维的特征向量。
络,通过DNN层对特征向量进行非线性拟合,得到高维度的用户特征向量。
中,对产品数据进行处理,得到数值型离散产品特征可以通过下述技术方案实现:根据产品
数据确定产品数据对应的产品特征,对产品特征进行分箱处理和数值化处理,得到表征产
品特征的产品特征向量。作为示例,若产品数据为理财型产品X、5万元起购,购买周期为3个
月,则产品特征可以包括产品类型特征、购买条件特征和购买周期特征。产品特征可以分为
连续型特征和离散型特征,若产品特征为连续型特征,则将该连续型特征进行分箱处理,用
箱号代表特征值,将连续型特征转换为离散型特征。若产品特征为离散型特征,若该离散型
特征为非数值型特征(如String或Char),则将该离散型特征转换为数值型特征。
的权重矩阵,也可以称为向量字典表,EN层的维度为[q,p],q为输入EN层的产品特征中特征
值不重复的产品特征量的总和,m为输入EN层的总产品特征量,p为自定义的嵌入维度;举例
来说,若输入EN层的产品特征有128个,其中,128个产品特征中有8个产品特征的特征值是
相同的,其余120个产品特征的特征值均不相同,则q的值为120,m为128。
用户特征向量和自注意力产品特征向量执行哈达玛积操作,得到融合特征向量。
系数;对向量元素根据各自对应的权重系数进行加权处理,得到自注意力用户特征向量。
个参数,分别是Query(Q)、Key(K)和Value(V);其中,Q表示查询的向量元素,K表示用户特征
向量中的全部向量元素,V表示查询的向量元素与用户特征向量中的各个向量元素的相似
度。自注意力网络的一种可选示意图,如图6所示,Query=Key1时,分别计算Key1与Key1、
Key1与Key2、Key1与Key3、以及Key1与Key4的相似度,得到Key1与Key1的相似度Value1、
Key1与Key2的相似度Value2、Key1与Key3的相似度Value3、以及Key1与Key4的相似度
Value4。Key1对应的自注意力用户特征向量(Attention Value)=Key1* Value1+ Key2*
Value2+ Key3* Value3+ Key4*Value4。Key2、Key3以及Key4对应的自注意力用户特征向量
的计算过程与Key1对应的自注意力用户特征向量的计算过程相同,这里不再赘述。因此,本
申请实施例中计算自注意力用户特征向量的公式可以表示为:
似度, 表示自注意力网络的网络结构的长度。计算相似度的函数(Similarity)可以根据
实际应用选择不同的形式,如内积函数、或点积函数等。
用户特征变量u乘以 得到,K通过对输入的用户特征变量u乘以 得到,V通过对输入的
用户特征变量u乘以 得到。自注意力网络中的每个神经元分别与自注意力网络中的所
有神经元进行相似度计算,最后得到自注意力用户特征向量。
注意力网络中不同神经元之间的信息建立关联(也可以称为将各个向量元素之间建立关
联),不受神经元的位置关系的影响。
后,Self‑Attention Net输出( …),产品特征向量为输入Self‑Attention Net之
后,Self‑Attention Net输出( … )。( … )与( … )进行哈达
玛积操作,得到融合特征向量( ,… )
元素的权重系数;对向量元素根据各自对应的权重系数进行加权处理,得到自注意力用户
产品特征向量。上述过程可以理解为,将用户产品特征向量输入图6所示的自注意力网络,
得到自注意力用户产品特征向量。
过下述公式确定:
表示融合特征向量。
越小,表征用户与产品的相关度越小。举例来说,若CorrelationValue的值为‑0.8,则表征
用户与产品的相关度小;若CorrelationValue的值为0.8,则表征用户与产品的相关度大。
同。
前N个用户对产品感兴趣程度的系数对应的产品,与用户相关度高,因此,将前N个用户对产
品感兴趣程度的系数对应的N个产品推荐给用户。
EN网络以及DNN网络,将对应的特征升维至高维特征向量,高维特征向量能够容纳更多的信
息,提高产品推荐的准确性。高维的用户特征向量和产品特征向量分别经自注意力网络后
输出,增加了高维向量化特征的表达性,使得用户特征向量和产品特征向量更关注对应的
重要信息,而忽略非重要信息。经自注意力网络输出的用户特征向量以及经自注意力网络
输出的产品特征向量融合得到融合特征向量,以及将用户产品特征向量和融合特征向量进
行内积操作,得到的用于表征用户对产品感兴趣程度的系数能够表征用户与产品之间的相
关性,或者表征用户对产品的感兴趣程度。根据用于表征用户对产品感兴趣程度的系数向
用户推荐产品,能够实现基于不同的用户推荐不同的产品的效果,避免客户流失,提高金融
机构的产品营销转化能力。本申请实施例提供的基于人工智能的产品推荐方法是基于人能
智能技术实现的,无需工作人员参与,降低了金融机构的运营成本。
理财产品,引入优质理财产品,将优质的理财产品推荐给用户。
趣理财产品确定以及推荐模型训练三个部分。其中,数据收集可以包括:用户标签数据收
集、用户历史行为数据收集、针对用户的第三方数据收集以及产品数据收集。感兴趣理财产
品确定,则是根据收集的全部数据计算用户感兴趣的理财产品在不同维度的标签,如理财
周期标签、理财类型标签、理财条件标签等。推荐模型训练,可以是根据收集到的数据和感
兴趣的理财产品进行特征抽取及推荐模型训练。在线部分主要包括:根据离线训练好的推
荐模型进行特征抽取和相似度计算,结合相似度计算结果向用户推荐优质理财产品。
来源层包括:用户标签资料科、用户历史行为库、用户外部数据补充库以及产品资料库;其
中,用户标签资料科、用户历史行为库以及用户外部数据补充库中的数据用于确定用户特
征;产品资料库中的数据用于确定产品特征。用户标签资料科、用户历史行为库、用户外部
数据补充库以及产品资料库中的数据用于共同确定用户产品特征。用户特征、产品特征以
及用户产品特征分别经过多通道自注意力机制融合模型计算层,并在个性化产品结果输出
层输出用于表征用户对产品感兴趣程度的系数,用于表征用户对产品感兴趣程度的系数按
照降序排序,表征用户‑产品关联度的排序;个性化产品结果输出层根据预设的阈值N,选择
降序排序对应的前N个优质理财产品,将前N个优质理财产品推送至用户。
量;产品特征iFeature1、iFeature2…依次经过EN网络和DNN网络得到产品特征向量;用户
特征向量和产品特征向量分别输入各自对应的自注意力网络之后执行哈达玛积操作,得到
融合特征向量。用户产品特征u‑iFeature1、u‑i Feature2…依次经过EN网络和DNN网络得
到用户产品特征向量,用户产品特征向量输入对应的自注意力网络之后,与融合特征向量
执行内积操作,得到用于表征用户对产品感兴趣程度的系数。
推荐装置455中的软件模块可以包括:数据获取模块4551,用于获取用户数据以及产品数
据;第一确定模块4552,用于基于所述用户数据和所述产品数据,确定表征用户和产品组合
特征的用户产品特征向量;第二确定模块4553,用于基于所述用户数据确定表征用户特征
的用户特征向量,以及基于所述产品数据确定表征产品特征的产品特征向量;融合模块
4554,用于基将所述用户特征向量和所述产品特征向量融合,得到融合特征向量;系数确定
模块4555,用于基于所述用户产品特征向量和所述融合特征向量,确定用于表征用户对产
品感兴趣程度的系数;所述系数用于向所述用户推荐产品。
理,得到自注意力用户特征向量;
理,得到自注意力产品特征向量;
权处理,得到自注意力用户产品特征向量;
品推荐方法。
系统705耦合在一起。可理解,总线系统705用于实现这些组件之间的连接通信。总线系统
705除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明
起见,在图12中将各种总线都标为总线系统705。
Programmable Read‑Only Memory)、可擦除可编程只读存储器(EPROM,Erasable
Programmable Read‑Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically
Erasable Programmable Read‑Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic
random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘
(CD‑ROM,Compact Disc Read‑Only Memory);磁表面存储器可以是磁盘存储器或磁带存储
器。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速
缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器
(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous
Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access
Memory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random Access
Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate
Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器
(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存
取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存
储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器702旨
在包括但不限于这些和任意其它适合类型的存储器。
实现本申请实施例方法的程序可以包含在应用程序7022中。
步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理
器701可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可
编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器701可以实现或者执
行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任
何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处
理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于
存储介质中,该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件
完成前述方法的步骤。
Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、
FPGA、通用处理器、控制器、MCU、MPU、或其他电子元件实现,用于执行前述方法。
理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机
设备执行本申请实施例上述的基于人工智能的产品推荐方法。
如,如图1至图11示出的基于人工智能的产品推荐方法。
各种设备。
可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在
计算环境中使用的其它单元。
Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件
中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
上执行。