CN115936801A - 基于神经网络的产品推荐方法、装置、设备和存储介质 - Google Patents
基于神经网络的产品推荐方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN115936801A CN115936801A CN202211405927.4A CN202211405927A CN115936801A CN 115936801 A CN115936801 A CN 115936801A CN 202211405927 A CN202211405927 A CN 202211405927A CN 115936801 A CN115936801 A CN 115936801A
- Authority
- CN
- China
- Prior art keywords
- product
- target
- user
- historical
- text
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及人工智能领域,提出一种基于神经网络的产品推荐方法、装置、设备和存储介质,该方法包括:获取目标用户的目标语音文本,作为已训练的产品推荐模型的输入;利用已训练的产品推荐模型获取目标语音文本对应的目标文本向量表示;根据目标文本向量表示和已训练的产品推荐模型学习到的历史用户的用户产品向量表示,预测目标用户所关注产品与历史用户所关注产品的第一产品相似性,其中,历史用户为训练产品推荐模型所使用的训练样本对应的用户;确定最大第一产品相似性所对应的目标历史用户,根据目标历史用户真实关注的产品的产品信息,输出待推荐产品的产品信息。本申请通过实现个性化精准推荐产品。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种基于神经网络的产品推荐方法、装置、设备和存储介质。
背景技术
目前,保险行业的销售手段多为通过电话与客户建立沟通,然后通过一些通用的话术进行简单的问询,最后根据客户的回答进行保险产品推荐。
随着经济社会的快速发展,以及激烈的行业竞争和公司数字化转型的推进,消费者的消费需求也在逐渐提高,传统的“一视同仁”的销售手段已经不能满足消费者想要追求独特和个性的心理了。而且传统电销大部分是通过比较盲目的手段向用户推荐产品,由于推荐的产品无法满足用户需求,给用户造成了一定困扰,而且效率低,推荐效果差。
发明内容
为了解决现有技术中盲目推荐产品效率低用户体验差的技术问题。本申请提供了一种基于神经网络的产品推荐方法、装置、设备和存储介质,其主要目的在于实现个性化精准推荐产品,提升用户体验。
为实现上述目的,本申请提供了一种基于神经网络的产品推荐方法,该方法包括:
获取目标用户的至少一条目标语音文本,作为已训练的产品推荐模型的输入;
利用已训练的产品推荐模型获取目标语音文本对应的目标文本向量表示;
根据目标文本向量表示和已训练的产品推荐模型学习到的历史用户的用户产品向量表示,预测目标用户所关注产品与历史用户所关注产品的第一产品相似性,其中,历史用户为训练产品推荐模型所使用的训练样本对应的用户,历史用户的用户产品向量表示为产品推荐模型训练过程中计算得到的;
确定最大第一产品相似性所对应的目标历史用户,根据目标历史用户真实关注的产品的产品信息,输出待推荐产品的产品信息。
此外,为实现上述目的,本申请还提供了一种基于神经网络的产品推荐装置,该装置包括:
文本获取模块,用于获取目标用户的至少一条目标语音文本,作为已训练的产品推荐模型的输入;
第一编码模块,用于利用已训练的产品推荐模型获取目标语音文本对应的目标文本向量表示;
相似性预测模块,用于根据目标文本向量表示和已训练的产品推荐模型学习到的历史用户的用户产品向量表示,预测目标用户所关注产品与历史用户所关注产品的第一产品相似性,其中,历史用户为训练产品推荐模型所使用的训练样本对应的用户,历史用户的用户产品向量表示为产品推荐模型训练过程中计算得到的;
推荐产品确定模块,用于确定最大第一产品相似性所对应的目标历史用户,根据目标历史用户真实关注的产品的产品信息,输出待推荐产品的产品信息。
为实现上述目的,本申请还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时执行如前面任一项的基于神经网络的产品推荐方法的步骤。
为实现上述目的,本申请还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行如前面任一项的基于神经网络的产品推荐方法的步骤。
本申请提出的基于神经网络的产品推荐方法、装置、设备和存储介质,通过过从语音文本中挖掘出目标用户与历史用户所关注产品的第一相似性,进而根据第一相似性确定向目标用户推荐产品的产品信息,推荐的产品准确度高,满足了用户真实需求,提升了用户体验,取代传统盲目的产品推荐,实现了精准产品推广。另外,利用好多年来积累的客户语音数据并对其进行大数据分析和深度学习,既可以通过进行个性化产品推荐来提高老客户的粘性,也可以通过专业的“引导”来吸引新客户,从而实现数据赋能业务,加快公司的数字化转型步伐。
附图说明
图1为本申请一实施例中基于神经网络的产品推荐方法的流程示意图;
图2为本申请一实施例中单向GRU的结构示意图;
图3为本申请一实施例中第一编码模块的结构示意图;
图4为本申请一实施例中产品推荐模型的结构示意图;
图5为本申请一实施例中基于神经网络的产品推荐装置的结构框图;
图6为本申请一实施例中计算机设备的内部结构框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为本申请一实施例中基于神经网络的产品推荐方法的流程示意图。参考图1,该基于神经网络的产品推荐方法包括以下步骤S100-S400。
S100:获取目标用户的至少一条目标语音文本,作为已训练的产品推荐模型的输入。
具体地,目标用户为待推荐产品的用户。目标语音文本是对目标用户的目标通话语音进行语音识别得到的。目标通话语音是通过与目标用户进行电话销售或用户回访时录取的,目标通话语音包含目标用户的语音。
S200:利用已训练的产品推荐模型获取目标语音文本对应的目标文本向量表示。
具体地,利用已训练的产品推荐模型的第一编码模块对文本进行第一编码,得到文本对应的向量表示。
S300:根据目标文本向量表示和已训练的产品推荐模型学习到的历史用户的用户产品向量表示,预测目标用户所关注产品与历史用户所关注产品的第一产品相似性,其中,历史用户为训练产品推荐模型所使用的训练样本对应的用户,历史用户的用户产品向量表示为产品推荐模型训练过程中计算得到的。
具体地,在产品推荐模型训练过程中,使用历史用户的历史语音文本作为样本以及使用其真实关注的产品的产品信息作为标签,来训练预训练的产品推荐模型,得到已训练的产品推荐模型。因此,已训练的产品推荐模型学习到了每个历史用户的用户产品向量表示。历史用户的用户产品向量表示是根据历史用户的历史文本向量表示计算得到的,历史文本向量表示是对历史语音文本进行第一编码得到的。
一个历史用户对应一个用户产品向量表示,利用已训练的产品推荐模型根据每个目标文本向量表示与每个历史用户的用户产品向量表示计算得到一个第一产品相似性,因此会产生多个第一产品相似性。例如,有4个目标语音文本对应的4个目标文本向量表示,有1000个历史用户对应的用户产品向量表示,则总共计算得到4000个第一产品相似性。
第一产品相似性表征两个用户之间可能关注的产品的产品相似性。
S400:确定最大第一产品相似性所对应的目标历史用户,根据目标历史用户真实关注的产品的产品信息,输出待推荐产品的产品信息。
具体地,利用已训练的产品推荐模型从所有第一产品相似性中确定最大第一产品相似性。将最大第一产品相似性对应的历史用户作为目标历史用户。
将目标历史用户的真实标签即真实关注的产品的产品信息确定为向目标用户待推荐产品的产品信息。其中,产品信息具体包括用于描述产品的产品文本。
本实施例通过从语音文本中挖掘出目标用户与历史用户所关注产品的第一相似性,进而根据第一相似性确定向目标用户推荐产品的产品信息,推荐的产品准确度高,满足了用户真实需求,提升了用户体验,取代传统盲目的产品推荐,实现了精准产品推广。另外,利用好多年来积累的客户语音数据并对其进行大数据分析和深度学习,既可以通过进行个性化产品推荐来提高老客户的粘性,也可以通过专业的“引导”来吸引新客户,从而实现数据赋能业务,加快公司的数字化转型步伐。
在一个实施例中,在步骤S200之前,该方法还包括:
获取训练样本集合,其中,训练样本集合包括每个历史用户的历史语音文本序列及历史用户真实关注的产品的产品信息,其中,历史语音文本序列包括至少一个历史语音文本;
利用预训练的产品推荐模型计算当前历史用户的每个历史语音文本对应的历史文本向量表示,其中,当前历史用户为当前训练节点所使用的训练样本对应的历史用户;
根据当前历史用户对应的所有历史文本向量表示,得到当前历史用户对应的关注产品向量表示;
获取每个待推荐产品的产品文本,根据所有产品文本,得到全量产品向量表示;
根据关注产品向量表示和全量产品向量表示,得到当前历史用户对应的用户产品向量表示;
根据当前历史用户的历史文本向量表示和之前历史用户的用户产品向量表示,预测当前历史用户所关注产品与之前历史用户所关注产品的第二产品相似性,其中,之前历史用户为之前训练节点所使用的训练样本对应的历史用户;
根据最大第二产品相似性所对应的之前历史用户真实关注的产品的产品信息,得到为当前历史用户预测的推荐产品的产品信息;
根据当前历史用户真实关注的产品的产品信息与预测的推荐产品的产品信息计算损失函数,根据损失函数对预训练的产品推荐模型进行模型参数更新,直到达到收敛条件,得到已训练的产品推荐模型。
具体地,同一个用户随着时间的推移,关注的产品例如保险产品可能发生变化,比如年轻时没有小孩且父母年纪尚轻,不太会去关注儿童和老人相关的产品,随着自身年龄的增长,慢慢会开始关注儿童和老人相关产品;也有一些会长期固定关注的保险产品,比如喜欢小动物,会长期关注宠物相关的产品,喜欢旅行,会长期关注旅行意外险等等。
因此,历史语音序列包括同一个历史用户的至少一个历史语音文本,历史语音文本是对历史通话语音进行语音识别得到的。
训练样本集合包括多个训练样本,每个训练样本包括对应历史用户的历史语音文本序列及该历史用户真实关注的产品的产品信息。其中,产品信息包括关注的产品的产品文本。
产品推荐模型在训练过程中有多个训练节点,每个训练节点输入一个训练样本进行模型训练。
预训练的产品推荐模型用于计算每个历史语音文本对应的历史文本向量表示,根据同一个历史用户的所有历史文本向量表示,得到该历史用户的关注产品向量表示。
待推荐产品包括历史用户真实关注的产品。所有产品文本组成产品集合,对产品集合进行第二编码,得到全量产品向量表示。
之前历史用户为训练过程中之前训练节点对应的历史用户,之前训练节点为当前训练节点之前的训练节点。
当前历史用户的每个历史文本向量表示与所有之前历史用户的用户产品向量表示计算得到
利用预训练的产品推荐模型根据每个历史文本向量表示与每个之前历史用户的用户产品向量表示计算得到一个第二产品相似性,因此会产生多个第二产品相似性。例如,有5个历史语音文本对应的5个历史文本向量表示,有500个之前历史用户对应的用户产品向量表示,则总共计算得到2500个第二产品相似性。
将最大第二产品相似性对应的之前历史用户真实关注的产品的产品信息作为当前历史用户预测的推荐产品的产品信息。
根据当前历史用户真实关注的产品的产品信息和当前历史用户预测的推荐产品的产品信息计算损失函数,根据损失函数得到梯度。如果当前训练节点没有达到收敛条件,则根据梯度更新预训练的产品推荐模型的模型参数,并进入下一个训练节点。如果当前训练节点达到收敛条件,则训练结束,当前训练节点的模型参数取值即为已训练的产品推荐模型的模型参数取值。其中,收敛条件为损失函数小于预设值或训练次数达到预设次数等不局限于此。
在一个实施例中,根据当前历史用户对应的所有历史文本向量表示,得到当前历史用户对应的关注产品向量表示,包括:
将当前历史用户对应的不同历史文本向量表示作为第一层Bi-GRU不同时刻的输入;
利用第一层Bi-GRU的正向GRU计算第一当前时刻的正向隐藏层状态,利用第一层Bi-GRU的反向GRU计算第一当前时刻的反向隐藏层状态,其中,第一层Bi-GRU的正向GRU与反向GRU输入数据的顺序相反;
根据第一当前时刻的正向隐藏层状态和反向隐藏层状态,得到第一层Bi-GRU在第一当前时刻的隐藏层状态;
将第一层Bi-GRU在不同时刻的隐藏层状态作为第二层Bi-GRU在不同时刻的输入;
利用第二层Bi-GRU的正向GRU计算第二当前时刻的正向隐藏层状态,利用第二层Bi-GRU的反向GRU计算第二当前时刻的反向隐藏层状态,其中,第二层Bi-GRU的正向GRU与反向GRU输入数据的顺序相反;
根据第二当前时刻的正向隐藏层状态和反向隐藏层状态,得到第二层Bi-GRU在第二当前时刻的隐藏层状态;
将第二层Bi-GRU在最后时刻的隐藏层状态作为当前历史用户对应的关注产品向量表示。
具体地,Bi-GRU(Bidirectional-Gated Recurrent Unit,双向门控循环单元)为双向GRU,包括一个正向GRU和一个反向GRU,正向GRU和反向GRU均为单向GRU,图2为本申请一实施例中单向GRU的结构示意图,参考图2,具体公式如下:
rs=σ(Hr[hs-1,Qs]) 公式(1)
zs=σ(Hz[hs-1,Qs]) 公式(2)
其中,σ为Sigmoid函数,Qs表示s时刻的输入,hs-1表示s-1时刻的隐藏层状态,该状态包含了之前节点的相关信息的更新门;hs表示s时刻的隐藏层状态,⊙表示点积,表示候选隐藏层状态;rs表示s时刻的重置门,当其趋近于0时,模型会把过去的隐藏层信息丢弃,只留下当前时刻的输入信息,当其趋近于1时,则认为过去的信息都是有用的,并将其添加到当前时刻的信息中,即rs决定了前一时刻的输出对当前隐藏层的影响;zs表示s时刻的更新门,当其越接近0,表示对过去的信息“遗忘”的越多,当其越接近1,表示“记忆”下来的过去的信息越多,即zs决定了前一时刻的信息有多少被忽略。
当前历史用户对应多个历史文本向量表示,多个历史文本向量表示组成第一层Bi-GRU的输入Q=[Q1,Q2,Q3...Qk],其中,Q1、Q2、Q3...Qk分别为不同的历史文本向量表示。对于正向GRU来说,按照Q1、Q2、Q3...到Qk的顺序,在不同时刻依次输入某个历史文本向量表示作为第一当前时刻正向GRU的输入。对于反向GRU来说,按照Qk、Qk-1...Q3、Q2到Q1的顺序,在不同时刻依次输入某个历史文本向量表示作为第一当前时刻反向GRU的输入。更具体地,例如取k=6,则在第一时刻,正向GRU的输入为Q1,反向GRU的输入为Q6;在第二时刻,正向GRU的输入为Q2,反向GRU的输入为Q5;在第三时刻,正向GRU的输入为Q3,反向GRU的输入为Q4;在第四时刻,正向GRU的输入为Q4,反向GRU的输入为Q3;在第五时刻,正向GRU的输入为Q5,反向GRU的输入为Q2;在第六时刻,正向GRU的输入为Q6,反向GRU的输入为Q1。
正向GRU和反向GRU均如图2所示的单向GRU的结构示意图,均根据公式(1)至公式(4)计算不同时刻的隐藏层状态。
根据在同一时刻的正向隐藏层状态和反向隐藏层状态,计算得到第一层Bi-GRU在该时刻的隐藏层状态。具体公式如下:
其中,s表示第s时刻,s的取值为1-k中任意一个值,k表示当前历史用户对应的历史文本向量表示的数量。表示第s时刻正向GRU的正向隐藏层状态,表示第s时刻反向GRU的反向隐藏层状态。hs表示第s时刻Bi-GRU的隐藏层状态。Qs表示第s时刻正向GRU的输入,Qk-s+1表示第s时刻反向GRU的输入。
第二层Bi-GRU的输入为第一层Bi-GRU所有时刻的输出,即h1,h2,h3...hk。
同理,根据公式(5)和公式(7),可以计算出第二层Bi-GRU每个时刻、正向GRU的正向隐藏层状态和反向GRU的反向隐藏层状态,进而得到每个时刻第二层Bi-GRU的隐藏层状态。
取第二层Bi-GRU最后时刻的隐藏层状态作为当前历史用户对应的关注产品向量表示。例如,k=7,则取第7输入时刻第二层Bi-GRU隐藏层状态作为当前历史用户对应的关注产品向量表示,并记作uk。
在一个实施例中,获取每个待推荐产品的产品文本,根据所有产品文本,得到全量产品向量表示,包括:
对产品文本进行编码,得到对应待推荐产品的产品向量表示;
对所有产品向量表示进行全局平均池化,得到全量产品向量表示。
具体地,1-o个待推荐产品的产品文本分别记作d1、d2、d3...do,通过词嵌入对每个产品文本进行编码,得到每个产品文本对应的产品向量表示,分别记作D1、D2、D3...Do。
对所有产品向量表示D1、D2、D3...Do进行全局平均池化,得到全量产品向量表示ul,具体公式如下:
其中,D=[D1,D2,D3...Do] 公式(9)。
在一个实施例中,步骤S200具体包括:
利用已训练的产品推荐模型对目标语音文本分词后进行词嵌入,得到目标语音文本所包含的每个目标分词的第一词向量;
对每个目标分词的第一词向量进行局部上下文信息捕捉,得到每个目标分词对应的第二词向量;
利用注意力机制,计算每个第二词向量对应的权重;
根据所有目标分词对应的第二词向量和权重,得到目标语音文本对应的目标文本向量表示。
具体地,本实施例利用已训练的产品推荐模型的第一编码模块对目标语音文本进行第一编码得到目标文本向量表示。图3为本申请一实施例中第一编码模块的结构示意图;参考图图3,该第一编码模块包括分词处理单元、词嵌入单元、局部上下文信息捕捉单元和注意力机制单元。语音文本n输入至第一编码模块,通过分词处理单元进行分词处理得到分词t1,t2,t3...tM;每个分词通过词嵌入处理得到对应的第一词向量T1,T2,T3...TM;例如“我爱中国”,通过分词得到“我”、“爱”、“中国”,这3个分词每个分词都对应一个第一词向量;对每个第一词向量进行局部上下文信息捕捉,得到每个第一词向量对应的第二词向量C1,C2,C3...CM。通过注意力机制计算每个第二词向量的权重A1,A2,A3...AM;根据第二词向量C1,C2,C3...CM和第二词向量的权重A1,A2,A3...AM计算得到该语音文本n对应的文本向量表示Qn。
上述不同的历史文本向量表示Q1、Q2、Q3...Qk均可以通过本实施例的第一编码模块编码得到。
在一个实施例中,对每个目标分词的第一词向量进行局部上下文信息捕捉,得到每个目标分词对应的第二词向量,包括:
利用卷积神经网络机制对每个目标分词的第一词向量进行局部上下文信息捕捉,得到每个目标分词对应的第二词向量,具体公式包括:
Ci=λ(β×T[i-ω:i+ω]+b) 公式(10);
其中,Ci为第i个目标分词的第二词向量,λ为激活函数,β和b为卷积神经网络中滤波器的参数,T[i-ω:i+ω]为在第i-w个目标分词和i+w个目标分词之间的所有目标分词的第一词向量,ω为窗口大小。
在一个实施例中,利用注意力机制,计算每个第二词向量对应的权重,具体公式包括:
αi=tanh(θ×Ci+γ); 公式(11)
其中,θ和γ为模型训练参数,αi为选择第i个目标分词的概率,exp(αi)为第i个目标分词对应的注意力分布,αj为选择第j个目标分词的概率,M为目标语音文本所包含的所有目标分词的数量,Ai为第i个目标分词的权重。
其中,Qn为语音文本n对应的文本向量表示,语音文本n有M个目标分词。
图4为本申请一实施例中产品推荐模型的结构示意图;参考图4,产品推荐模型包括第一编码模块、第一层Bi-GRU、第二次Bi-GRU、融合单元和第二编码模块,其中,第二编码模块包括词嵌入单元和全局平均池化单元。
第二次Bi-GRU得到的关注产品向量表示uk与第二编码模块得到的全量产品向量表示ul融合得到用户产品向量表示,具体公式如下:
Ux=[uk,ul] 公式(14)
更具体地,
其中,Ux为任意一个历史用户的用户产品向量表示。
另外,设目标用户的目标语音文本ty所对应的目标文本向量表示为Qy,Qy与任意一个历史用户的用户产品向量表示Ux计算得到第一产品相似性,具体公式如下:
其中,Qy根据公式(1)-公式(13)计算得到,为全连接层函数,激活函数为ReLU,Sim(ux,ty)为根据目标语音文本ty和历史用户x计算得到的第一产品相似性。在训练过程中,第二产品相似性也根据公式(16)计算得到。
图5为本申请一实施例中基于神经网络的产品推荐装置,参考图5,该装置包括:
文本获取模块100,用于获取目标用户的至少一条目标语音文本,作为已训练的产品推荐模型的输入;
第一编码模块200,用于利用已训练的产品推荐模型获取目标语音文本对应的目标文本向量表示;
相似性预测模块300,用于根据目标文本向量表示和已训练的产品推荐模型学习到的历史用户的用户产品向量表示,预测目标用户所关注产品与历史用户所关注产品的第一产品相似性,其中,历史用户为训练产品推荐模型所使用的训练样本对应的用户,历史用户的用户产品向量表示为产品推荐模型训练过程中计算得到的;
推荐产品确定模块400,用于确定最大第一产品相似性所对应的目标历史用户,根据目标历史用户真实关注的产品的产品信息,输出待推荐产品的产品信息。
在一个实施例中,该装置还包括:
样本获取模块,用于获取训练样本集合,其中,训练样本集合包括每个历史用户的历史语音文本序列及历史用户真实关注的产品的产品信息,其中,历史语音文本序列包括至少一个历史语音文本;
第一编码模块200,还用于利用预训练的产品推荐模型计算当前历史用户的每个历史语音文本对应的历史文本向量表示,其中,当前历史用户为当前训练节点所使用的训练样本对应的历史用户;
关注产品编码模块,用于根据当前历史用户对应的所有历史文本向量表示,得到当前历史用户对应的关注产品向量表示;
第二编码模块,用于获取每个待推荐产品的产品文本,根据所有产品文本,得到全量产品向量表示;
用户产品编码模块,用于根据关注产品向量表示和全量产品向量表示,得到当前历史用户对应的用户产品向量表示;
相似性预测模块300,还用于根据当前历史用户的历史文本向量表示和之前历史用户的用户产品向量表示,预测当前历史用户所关注产品与之前历史用户所关注产品的第二产品相似性,其中,之前历史用户为之前训练节点所使用的训练样本对应的历史用户;
推荐产品确定模块400,还用于根据最大第二产品相似性所对应的之前历史用户真实关注的产品的产品信息,得到为当前历史用户预测的推荐产品的产品信息;
参数更新模块,用于根据当前历史用户真实关注的产品的产品信息与预测的推荐产品的产品信息计算损失函数,根据损失函数对预训练的产品推荐模型进行模型参数更新,直到达到收敛条件,得到已训练的产品推荐模型。
在一个实施例中,关注产品编码模块包括:
第一输入模块,用于将当前历史用户对应的不同历史文本向量表示作为第一层Bi-GRU不同时刻的输入;
第一正反向隐藏层状态获取模块,用于利用第一层Bi-GRU的正向GRU计算第一当前时刻的正向隐藏层状态,利用第一层Bi-GRU的反向GRU计算第一当前时刻的反向隐藏层状态,其中,第一层Bi-GRU的正向GRU与反向GRU输入数据的顺序相反;
第一隐藏层状态获取模块,用于根据第一当前时刻的正向隐藏层状态和反向隐藏层状态,得到第一层Bi-GRU在第一当前时刻的隐藏层状态;
第一输入模块,用于将第一层Bi-GRU在不同时刻的隐藏层状态作为第二层Bi-GRU在不同时刻的输入;
第二正反向隐藏层状态获取模块,用于利用第二层Bi-GRU的正向GRU计算第二当前时刻的正向隐藏层状态,利用第二层Bi-GRU的反向GRU计算第二当前时刻的反向隐藏层状态,其中,第二层Bi-GRU的正向GRU与反向GRU输入数据的顺序相反;
第二隐藏层状态获取模块,用于根据第二当前时刻的正向隐藏层状态和反向隐藏层状态,得到第二层Bi-GRU在第二当前时刻的隐藏层状态;
关注产品编码确定模块,用于将第二层Bi-GRU在最后时刻的隐藏层状态作为当前历史用户对应的关注产品向量表示。
在一个实施例中,第二编码模块包括:
第一分词嵌入模块,用于对产品文本进行编码,得到对应待推荐产品的产品向量表示;
池化模块,用于对所有产品向量表示进行全局平均池化,得到全量产品向量表示。
在一个实施例中,第一编码模块200包括:
第二分词嵌入模块,用于利用已训练的产品推荐模型对目标语音文本分词后进行词嵌入,得到目标语音文本所包含的每个目标分词的第一词向量;
信息捕捉模块,用于对每个目标分词的第一词向量进行局部上下文信息捕捉,得到每个目标分词对应的第二词向量;
注意力模块,用于利用注意力机制,计算每个第二词向量对应的权重;
文本向量表示模块,用于根据所有目标分词对应的第二词向量和权重,得到目标语音文本对应的目标文本向量表示。
在一个实施例中,信息捕捉模块包括:
利用卷积神经网络机制对每个目标分词的第一词向量进行局部上下文信息捕捉,得到每个目标分词对应的第二词向量,具体公式包括:
Ci=λ(β×T[i-ω:i+ω]+b);
其中,Ci为第i个目标分词的第二词向量,λ为激活函数,β和b为卷积神经网络中滤波器的参数,T[i-ω:i+ω]为在第i-w个目标分词和i+w个目标分词之间的所有目标分词的第一词向量,ω为窗口大小。
在一个实施例中,利用注意力机制,计算每个第二词向量对应的权重,具体公式包括:
αi=tanh(θ×Ci+γ);
其中,θ和γ为模型训练参数,αi为选择第i个目标分词的概率,exp(αi)为第i个目标分词对应的注意力分布,αj为选择第j个目标分词的概率,M为目标语音文本所包含的所有目标分词的数量,Ai为第i个目标分词的权重。
本方案提出的产品推荐方案可以个性化通过对海量客户语音文本进行深度学习,能够挖掘出客户目前潜在可能的产品需求以及未来的产品需求,进而指导业务人员进行专业、有针对性且可长期跟进的产品服务。避免“一视同仁”的盲目推荐,给客户留下专业的印象,让客户感觉享受到定制化的产品推荐服务,在销售行业无疑具有极大优势。该算法通过指导业务人员进行长期的产品销售跟进提高老客户的粘性,通过指导业务人员进行专业有针对性的产品推荐来吸引新客户。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
关于基于神经网络的产品推荐装置的具体限定可以参见上文中对于基于神经网络的产品推荐方法的限定,在此不再赘述。上述基于神经网络的产品推荐装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图6为本申请一实施例中计算机设备的内部结构框图。如图6所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,该计算机设备的处理器用于提供计算和控制能力。存储器包括存储介质和内存储器。存储介质可以是非易失性存储介质,也可以是易失性存储介质。存储介质存储有操作系统,还可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器实现基于神经网络的产品推荐方法。该内存储器为存储介质中的操作系统和计算机可读指令的运行提供环境。该内存储器中也可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行基于神经网络的产品推荐方法。该计算机设备的网络接口用于与外部服务器通过网络连接通信。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令(例如计算机程序),处理器执行计算机可读指令时实现上述实施例中基于神经网络的产品推荐方法的步骤,例如图1所示的步骤S100至步骤S400及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机可读指令时实现上述实施例中基于神经网络的产品推荐装置的各模块/单元的功能,例如图5所示模块100至模块400的功能。为避免重复,这里不再赘述。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机可读指令和/或模块,处理器通过运行或执行存储在存储器内的计算机可读指令和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
存储器可以集成在处理器中,也可以与处理器分开设置。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令被处理器执行时实现上述实施例中基于神经网络的产品推荐方法的步骤,例如图1所示的步骤S100至步骤S400及该方法的其它扩展和相关步骤的延伸。或者,计算机可读指令被处理器执行时实现上述实施例中基于神经网络的产品推荐装置的各模块/单元的功能,例如图5所示模块100至模块400的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指示相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种基于神经网络的产品推荐方法,其特征在于,所述方法包括:
获取目标用户的至少一条目标语音文本,作为已训练的产品推荐模型的输入;
利用所述已训练的产品推荐模型获取所述目标语音文本对应的目标文本向量表示;
根据所述目标文本向量表示和所述已训练的产品推荐模型学习到的历史用户的用户产品向量表示,预测所述目标用户所关注产品与历史用户所关注产品的第一产品相似性,其中,所述历史用户为训练产品推荐模型所使用的训练样本对应的用户,所述历史用户的用户产品向量表示为产品推荐模型训练过程中计算得到的;
确定最大第一产品相似性所对应的目标历史用户,根据所述目标历史用户真实关注的产品的产品信息,输出待推荐产品的产品信息。
2.根据权利要求1所述的方法,其特征在于,在所述利用所述已训练的产品推荐模型获取所述目标语音文本对应的目标文本向量表示之前,所述方法还包括:
获取训练样本集合,其中,所述训练样本集合包括每个历史用户的历史语音文本序列及所述历史用户真实关注的产品的产品信息,其中,所述历史语音文本序列包括至少一个历史语音文本;
利用预训练的产品推荐模型计算当前历史用户的每个历史语音文本对应的历史文本向量表示,其中,所述当前历史用户为当前训练节点所使用的训练样本对应的历史用户;
根据所述当前历史用户对应的所有历史文本向量表示,得到所述当前历史用户对应的关注产品向量表示;
获取每个待推荐产品的产品文本,根据所有产品文本,得到全量产品向量表示;
根据所述关注产品向量表示和所述全量产品向量表示,得到所述当前历史用户对应的用户产品向量表示;
根据所述当前历史用户的历史文本向量表示和之前历史用户的用户产品向量表示,预测所述当前历史用户所关注产品与之前历史用户所关注产品的第二产品相似性,其中,所述之前历史用户为之前训练节点所使用的训练样本对应的历史用户;
根据最大第二产品相似性所对应的之前历史用户真实关注的产品的产品信息,得到为所述当前历史用户预测的推荐产品的产品信息;
根据所述当前历史用户真实关注的产品的产品信息与所述预测的推荐产品的产品信息计算损失函数,根据所述损失函数对所述预训练的产品推荐模型进行模型参数更新,直到达到收敛条件,得到已训练的产品推荐模型。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前历史用户对应的所有历史文本向量表示,得到所述当前历史用户对应的关注产品向量表示,包括:
将所述当前历史用户对应的不同历史文本向量表示作为第一层Bi-GRU不同时刻的输入;
利用所述第一层Bi-GRU的正向GRU计算第一当前时刻的正向隐藏层状态,利用所述第一层Bi-GRU的反向GRU计算所述第一当前时刻的反向隐藏层状态,其中,所述第一层Bi-GRU的正向GRU与反向GRU输入数据的顺序相反;
根据所述第一当前时刻的正向隐藏层状态和反向隐藏层状态,得到所述第一层Bi-GRU在所述第一当前时刻的隐藏层状态;
将所述第一层Bi-GRU在不同时刻的隐藏层状态作为第二层Bi-GRU在不同时刻的输入;
利用所述第二层Bi-GRU的正向GRU计算第二当前时刻的正向隐藏层状态,利用所述第二层Bi-GRU的反向GRU计算所述第二当前时刻的反向隐藏层状态,其中,所述第二层Bi-GRU的正向GRU与反向GRU输入数据的顺序相反;
根据所述第二当前时刻的正向隐藏层状态和反向隐藏层状态,得到所述第二层Bi-GRU在所述第二当前时刻的隐藏层状态;
将所述第二层Bi-GRU在最后时刻的隐藏层状态作为所述当前历史用户对应的关注产品向量表示。
4.根据权利要求2所述的方法,其特征在于,所述获取每个待推荐产品的产品文本,根据所有产品文本,得到全量产品向量表示,包括:
对所述产品文本进行编码,得到对应待推荐产品的产品向量表示;
对所有产品向量表示进行全局平均池化,得到全量产品向量表示。
5.根据权利要求1所述的方法,其特征在于,所述利用所述已训练的产品推荐模型获取所述目标语音文本对应的目标文本向量表示,包括:
利用所述已训练的产品推荐模型对所述目标语音文本分词后进行词嵌入,得到所述目标语音文本所包含的每个目标分词的第一词向量;
对每个所述目标分词的第一词向量进行局部上下文信息捕捉,得到每个所述目标分词对应的第二词向量;
利用注意力机制,计算每个所述第二词向量对应的权重;
根据所有目标分词对应的第二词向量和权重,得到所述目标语音文本对应的目标文本向量表示。
6.根据权利要求5所述的方法,其特征在于,所述对每个所述目标分词的第一词向量进行局部上下文信息捕捉,得到每个所述目标分词对应的第二词向量,包括:
利用卷积神经网络机制对每个所述所述目标分词的第一词向量进行局部上下文信息捕捉,得到每个所述目标分词对应的第二词向量,具体公式包括:
Ci=λ(β×T[i-ω:i+ω]+b);
其中,Ci为第i个目标分词的第二词向量,λ为激活函数,β和b为卷积神经网络中滤波器的参数,T[i-ω:i+ω]为在第i-w个目标分词和i+w个目标分词之间的所有目标分词的第一词向量,ω为窗口大小。
8.一种基于神经网络的产品推荐装置,其特征在于,所述装置包括:
文本获取模块,用于获取目标用户的至少一条目标语音文本,作为已训练的产品推荐模型的输入;
第一编码模块,用于利用所述已训练的产品推荐模型获取所述目标语音文本对应的目标文本向量表示;
相似性预测模块,用于根据所述目标文本向量表示和所述已训练的产品推荐模型学习到的历史用户的用户产品向量表示,预测所述目标用户所关注产品与历史用户所关注产品的第一产品相似性,其中,所述历史用户为训练产品推荐模型所使用的训练样本对应的用户,所述历史用户的用户产品向量表示为产品推荐模型训练过程中计算得到的;
推荐产品确定模块,用于确定最大第一产品相似性所对应的目标历史用户,根据所述目标历史用户真实关注的产品的产品信息,输出待推荐产品的产品信息。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时执行如权利要求1-7任一项所述的基于神经网络的产品推荐方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时,使得所述处理器执行如权利要求1-7任一项所述的基于神经网络的产品推荐方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211405927.4A CN115936801A (zh) | 2022-11-10 | 2022-11-10 | 基于神经网络的产品推荐方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211405927.4A CN115936801A (zh) | 2022-11-10 | 2022-11-10 | 基于神经网络的产品推荐方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115936801A true CN115936801A (zh) | 2023-04-07 |
Family
ID=86653099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211405927.4A Pending CN115936801A (zh) | 2022-11-10 | 2022-11-10 | 基于神经网络的产品推荐方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115936801A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116205694A (zh) * | 2023-05-04 | 2023-06-02 | 品茗科技股份有限公司 | 造价定额自动推荐配合比的方法、装置、设备及介质 |
-
2022
- 2022-11-10 CN CN202211405927.4A patent/CN115936801A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116205694A (zh) * | 2023-05-04 | 2023-06-02 | 品茗科技股份有限公司 | 造价定额自动推荐配合比的方法、装置、设备及介质 |
CN116205694B (zh) * | 2023-05-04 | 2023-10-24 | 品茗科技股份有限公司 | 造价定额自动推荐配合比的方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110598779B (zh) | 摘要描述生成方法、装置、计算机设备和存储介质 | |
KR102071582B1 (ko) | 딥 뉴럴 네트워크(Deep Neural Network)를 이용하여 문장이 속하는 클래스(class)를 분류하는 방법 및 장치 | |
CN110263160B (zh) | 一种计算机问答系统中的问句分类方法 | |
CN110609891A (zh) | 一种基于上下文感知图神经网络的视觉对话生成方法 | |
CN112214604A (zh) | 文本分类模型的训练方法、文本分类方法、装置及设备 | |
CN116664719B (zh) | 一种图像重绘模型训练方法、图像重绘方法及装置 | |
CN111667308A (zh) | 广告推荐预测系统及方法 | |
CN110929524A (zh) | 数据筛选方法、装置、设备及计算机可读存储介质 | |
CN110738314B (zh) | 一种基于深度迁移网络的点击率预测方法及装置 | |
CN111309887A (zh) | 一种训练文本关键内容提取模型的方法和系统 | |
CN111950295A (zh) | 一种训练自然语言处理模型的方法和系统 | |
CN114648031A (zh) | 基于双向lstm和多头注意力机制的文本方面级情感识别方法 | |
CN114168819B (zh) | 一种基于图神经网络的岗位匹配方法及装置 | |
CN115936801A (zh) | 基于神经网络的产品推荐方法、装置、设备和存储介质 | |
CN111178082A (zh) | 一种句向量生成方法、装置及电子设备 | |
CN114511023A (zh) | 分类模型训练方法以及分类方法 | |
CN116205700A (zh) | 目标产品的推荐方法、装置、计算机设备和存储介质 | |
CN111767720B (zh) | 一种标题生成方法、计算机及可读存储介质 | |
Sonawane et al. | ChatBot for college website | |
KR102508656B1 (ko) | 인공지능을 통한 문제 분석 기반 사용자 맞춤형 언어 능력 테스트 학습 서비스 제공 방법, 장치 및 시스템 | |
CN111858923A (zh) | 一种文本分类方法、系统、装置及存储介质 | |
CN116955582A (zh) | 基于深度学习的人才政策推荐方法、装置、设备及介质 | |
CN114398482A (zh) | 一种词典构造方法、装置、电子设备及存储介质 | |
KR102051085B1 (ko) | 인공 신경망을 이용하여 이름에 대한 국적 정보를 제공하는 장치 및 방법 | |
CN114282549A (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 |