基于Meta-graph知识图谱表示的对话式音乐推荐方法与流程

文档序号:16069104发布日期:2018-11-24 12:58阅读:477来源:国知局
本发明属于数据挖掘中的音乐推荐
技术领域
,更为具体地讲,涉及应用场景为人机对话场景的一种基于meta-graph知识图谱表示的对话式音乐推荐方法。
背景技术
网络信息技术的迅猛发展为人们的生活带来了极大的便捷,与此同时,也抛出了新的问题与困难:信息过载。推荐技术便是缓解和解决此类问题的一剂良方。推荐技术旨在信息过滤,能主动向用户推荐其感兴趣的信息,而一个好的推荐技术则既可以提高用户粘性与忠诚,又能获得商业利益,达到双赢的局面。当前,国内外许多知名互联网公司也已经将推荐技术应用到产品当中,并获得了可观的回报。音乐推荐是一类具有代表性的推荐技术研究领域,它具有推荐种类繁多、数量庞大、实时性强、上下文信息丰富、消费代价低以及允许重复消费等特性,且音乐作为当下一类主流的消费商品,具有很强的商业价值。学术界和工业界针对音乐推荐也已有多年的研究与实践经验上,并取得了不俗的表现。但是随着时代的变迁与技术的变革,人工智能催生了许多全新应用场景,对话系统便是其中极具代表性的方向之一。然而目前存在几类对话式音乐推荐方法,但是其反馈方式和应用场景均单一,不能实现在人机对话场景下的实时音乐推荐。技术实现要素:本发明的目的在于克服现有技术的不足,提供一种基于meta-graph知识图谱表示的对话式音乐推荐方法,该方法实现对话场景下的基于meta-graph方法表示知识图谱的音乐推荐,即在人机对话的场景下,实时获取用户对音乐的偏好,并结合知识图谱来建模用户的长短期偏好,及时给予上下文感知的推荐结果,以实现音乐实时推荐,以及对上下文信息、用户需求和反馈的良好处理。为实现上述发明目的,本发明基于meta-graph知识图谱表示的对话式音乐推荐方法,其特征在于,包括以下步骤:(1)、获取音乐知识图谱与用户行为数据,将用户作为节点依据其行为(用户行为)链接至音乐知识图谱中对应音乐实体,构建出的用户-音乐知识图谱作为基于meta-graph知识图谱表示方法的输入,生成用户特征向量与目标音乐实体特征向量,构成用户与目标音乐实体特征向量池;(2)、从人机对话内容中识别当前用户需求,并根据当前用户需求,从音乐知识图谱中提取符合需求的候选目标音乐实体集合;(3)、从用户与目标音乐实体特征向量池中,获取当前用户的特征向量和候选目标音乐实体集合中各候选目标音乐实体的特征向量;(4)、根据当前用户的特征向量和候选目标音乐实体集合中各目标音乐实体的特征向量,基于bandit算法进行实时推荐,得到候选目标音乐实体集合中各目标音乐实体的得分,并将得分最高的目标音乐实体推荐给当前用户。本发明的目的是这样实现的。本发明基于meta-graph知识图谱表示的对话式音乐推荐方法,通过meta-graph知识图谱表示方法生成音乐知识图谱中的目标音乐实体特征向量与用户知识图谱中的用户特征向量,构成特征向量池;从人机对话内容中识别用户需求,并根据当前用户需求,从音乐知识图谱中提取符合需求的候选目标音乐实体集合,然后再从特征向量池中,获取该用户的特征向量和候选目标音乐实体集合中各目标音乐实体的特征向量;根据该用户的特征向量和候选目标音乐实体集合中各目标音乐实体的特征向量,基于bandit算法进行推荐,计算候选目标音乐实体集合中各目标音乐实体的得分,并将得分最高的目标音乐实体推荐给用户。这样,本发明实现了在人机对话场景下的音乐推荐,且良好地利用了知识图谱作为方法的先验知识来源以及对上下文信息、用户需求和反馈的良好处理,推荐更加符合用户的需求。此外,本发明通过meta-graph知识图谱表示对用户或音乐实体提取特征向量的优势在于:(1)允许使用方自定义具有语义信息的meta-graph,使得结果具有解释性;(2)矩阵分解方法获取特征向量,可以有效降低维度,识别重要特征。而基于bandit算法的实时推荐可以逐步推算出用户的偏好,且bandit算法的执行逻辑符合交互式场景。附图说明图1是本发明基于meta-graph知识图谱表示的对话式音乐推荐方法一种具体实施方式的流程图;图2是图1所示基于meta-graph知识图谱的特征向量表示生成特征向量一种具体实施方式的流程图;图3是图2所示meta-graph集合的一种结构示意图;图4是图2所示音乐知识图谱的结构示意图;图5是一种复杂meta-graph的结构示意图;图6是图1所示基于bandit算法的在线对话式推荐流程图。具体实施方式下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。知识图谱的节点与边的类型多样,可看作一类异构信息网络(heterogeneousinformationnetwork,hin)。meta-path是基于异构信息网络表示从某一节点类型到另一节点类型的复杂关系,例如,其中,a和r分别代表节点和边的类型,具体意义是节点a1和节点a2由边r1建立联系,以达到从a1到a2的路径,后续路径同上,最终一整条meta-path可以从a1游走到a1+1。而meta-graph则是对meta-path在更复杂表示上的扩展:连接过程中存在岔路情况。本发明利用meta-graph来提取hin中包含的用户的长短期音乐偏好。针对目前的几类对话式音乐推荐方法存在反馈方式和应用场景均单一,不能实现在人机对话场景下进行音乐推荐的问题,本发明提出了一种基于meta-graph知识图谱表示的对话式音乐推荐方法,该方法包括基于meta-graph知识图谱的表示方法离线生成特征向量和基于bandit算法的在线对话式推荐两个部分。在本发明中,用到的音乐知识图谱是已构建完毕的关于音乐领域专业知识的知识图谱,该音乐知识图谱包含的音乐实体有歌曲、专辑、歌手及风格等。在本实施例例中,如图1所示,本发明基于meta-graph知识图谱表示的对话式音乐推荐方法,包括以下步骤如下:步骤s1:基于meta-graph知识图谱的特征向量表示获取音乐知识图谱与用户行为数据,将用户作为节点依据其行为(用户行为)链接至音乐知识图谱中对应音乐实体,构建出的用户-音乐知识图谱作为基于meta-graph知识图谱表示方法的输入,生成用户特征向量与目标音乐实体特征向量,构成用户与目标音乐实体特征向量池。在本实施例中,如图2所示,基于meta-graph知识图谱的特征向量表示的具体实施步骤为:步骤s1.1:设计l个用户与目标音乐实体的meta-graph集合,将用户作为节点依据其行为(用户行为)链接至音乐知识图谱中对应音乐实体,构建出用户-音乐知识图谱。在本实施例中,如图3所示,l取3,即设计3个用户与目标音乐实体的meta-graph集合,包括m1、m2、m3,目标即待推荐的音乐实体为歌曲,但实际应用时不限于歌曲,还可以包含专辑、歌手等推荐。在本实施例中,构建出的用户-音乐知识图谱如图4所示,步骤s1.2:根据meta-graph集合中涉及的l个meta-graph(元图)以及用户-音乐知识图谱获取不同节点类型的邻接矩阵。在本实施例中,设计的l=3个meta-graph即m1、m2、m3,分别为用户-歌曲、用户-歌手以及用户-歌曲-(风格、歌手、专辑)-歌曲。这样存在五类关系,这样获取的邻接矩阵如表1所示,包含:用户-歌曲(听)、用户-歌手(喜爱)、歌曲-风格(属于)、歌曲-歌手(演唱)和歌曲-专辑(属于)邻接矩阵。本草纲目我的地盘改变自己花田错江南user110001user211110user310101(a)(b)流行动感抒情古风本草纲目1001我的地盘1100改变自己1100花田错1011江南1010(c)周杰伦王力宏林俊杰本草纲目100我的地盘100改变自己010花田错010江南001(d)依然范特西改变自己盖世英雄第二天堂本草纲目1000我的地盘1000改变自己0100花田错0010江南0001(e)表1其表1中,(a)为用户-歌曲(听)邻接矩阵,1代表用户听过对应歌曲,反之为0,用wuser,song表示;(b)为用户-歌手(喜爱)邻接矩阵,1代表用户喜爱对应歌手,反之为0,用wuser,artist表示;(c)为歌曲-风格(属于)邻接矩阵,1代表歌曲属于对应歌手,反之为0,用wsong,genre表示;(d)为歌曲-歌手(演唱)邻接矩阵,1代表歌曲由对应歌手演唱,反之为0,用wsong,artist表示,(e)为歌曲-专辑(属于)邻接矩阵,1表示歌曲属于对应专辑,反之为0,用wsong,album表示。步骤s1.3:结合步骤s1.1中的meta-graph集合和步骤s1.2获得的不同类型节点的邻接矩阵,根据meta-graph计算公式,利用每个meta-graph计算用户和目标(待推荐)音乐实体之间的相似度,获得l个相似度矩阵;其中,第k个相似度矩阵计算公式为:k是meta-graph的序列下标,k=1,2,...,l,ak1,ak2,,...,akl是第k个meta-graph中依次连接节点的类型,kl为k个meta-graph中节点类型的数量,是节点类型ak1游走到节点类型ak2的邻接矩阵,是节点类型ak2,游走到节点类型ak3的邻接矩阵,是节点类型akl-1游走到节点类型akl的邻接矩阵,如果meta-graph中相邻节点类型aki、ak(i+1)是节点类型ak(i+1)指向节点类型aki,则相似度矩阵计算公式中的如果节点类型aki游走到节点类型ak(i+1)间存在多条分岔,则先计算每条分岔的相似度矩阵b=1,2,...,b,b为分岔数量,然后再将每条分岔的相似度矩阵用哈达马乘积依次相乘,得到节点类型aki游走到节点类型ak(i+1)的相似度矩阵i为节点类型序号。在本实施例中,如图5所示,节点类型aki游走到节点类型ak(i+1)之间有两条分岔,即节点类型aki到节点c再到节点类型ak(i+1),节点类型aki到节点d再到节点类型ak(i+1),这样,相似度矩阵为:其中,⊙为哈达马乘积(hadamardproduct)。在本实施例中,利用每个meta-graph计算用户和目标(待推荐)音乐实体即歌曲之间的相似度,获得l=3个相似度矩阵在本实施例中,对于meta-graphm1,即第1个相似度矩阵的计算为:其中,如图3所示,对于meta-graphm1,a11为用户,a12为歌曲,即其结果即为表1(a),因此针对m1的相似度矩阵无须计算。在本实施例中,对于meta-graphm2,即第2个相似度矩阵的计算为:由于节点类型a22、a23符合节点类型ak(i+1)指向节点类型aki,因此,即:在本实施例中,由相似度矩阵的计算公式可知,计算过程为表1(b)乘以表1(d)的转置,计算结果即根据meta-graphm2计算的用户-歌曲相似度矩阵如表2所示。本草纲目我的地盘改变自己花田错江南user111000user200111user311110表2在本实施例中,由于meta-graphm3存在多岔路,属于复杂的meta-graph,第3个相似度矩阵的计算,需要针对针对a32~a33之间的多岔路的计算:meta-graphm2多岔路计算结果如表3的(a),(b),(c)所示。本草纲目我的地盘改变自己花田错江南本草纲目21121我的地盘12211改变自己12211花田错21132江南11122(a)本草纲目我的地盘改变自己花田错江南本草纲目11000我的地盘11000改变自己00110花田错00110江南00001(b)(c)本草纲目我的地盘改变自己花田错江南本草纲目21000我的地盘12000改变自己00200花田错00030江南00002(d)表3将多岔路进行组合计算:结果如表3的(d)所示。综合上述结果计算meta-graphm3,即第3个相似度矩阵的计算为:结果如表4所示:本草纲目我的地盘改变自己花田错江南user121002user233230user321202表4步骤s1.4:依据用户与目标类型音乐实体交互特性,对l个相似度矩阵分别进行矩阵分解,分别获得l个用户隐特征矩阵以及l个目标音乐实体隐特征矩阵在本实施例中,对3个相似度矩阵分别进行矩阵分解,分别获得3个用户和歌曲隐特征矩阵。在本实施例中,利用wmf(weightedmatrixfactorization)算法作为矩阵分解的方法,隐向量维度设为3维。表5是针对表4的分解结果即利用wmf对meta-graphm3的相似度矩阵的分解结果,其中,(a)为用户特征向量,(b)为歌曲特征向量。对相似度矩阵类似,对不同相似度矩阵分解时,隐向量维度允许不一致:user1[-0.9165535907653135,-6.476487388882532,0.30328965419720255]user2[-2.262400127493108,-7.745223984560631,4.318620271053511]user3[-2.901344842491355,-7.222353561520003,4.252073927122097](a)本草纲目[-0.10801539410626759,-0.14291761028096595,.08130978722945947]我的地盘[-0.10800164527623579,-0.14291874422059192,-0.0813046228480907]改变自己[-0.015009003122285591,0.013613942142763236,.24807887404189444]花田错[1.331673174945827,-0.15878567796107967,0.6439429419167428]江南[-0.08648677603298349,-0.15745790627577272,-0.3269907486355863](b)表5对meta-graphm1、m2和m3的相似度矩阵进行分解的结果为:用户隐特征矩阵以及音乐实体隐特征矩阵步骤s1.5:分别从用户隐特征矩阵中提取每个用户的特征向量,并将同一用户ue分别从用户隐特征矩阵中提取的特征向量进行拼接,生成该用户ue的特征向量其中,e为用户编号;分别从目标音乐实体隐特征矩阵提取每个目标音乐实体的特征向量,并将同一目标音乐实体cm分别从目标音乐实体隐特征矩阵提取的特征向量进行拼接,生成该目标音乐实体cm的特征向量其中,m为目标音乐实体编号。这样,所有用户的特征向量和所有目标音乐实体的特征向量构成特征向量池,从而完成对目标音乐实体和用户针对该音乐实体偏好的特征表示。在本实施例中,具体为:拼接所有meta-graph的分解结果,获得完整用户和歌曲的特征向量,基于meta-graph方法的知识图谱特征表示实施例结果如表6所示,用户和音乐实体的特征向量维度均为(k1+k2+k3),其中,k1、k2以及k3为分解相似度矩阵时的隐向量维度。表6通过meta-graph方法对用户或目标音乐实体提取特征的优势在于:(1)允许使用方自定义具有语义信息的meta-graph,使得结果具有解释性;(2)矩阵分解方法获取特征向量,可以有效降低维度,识别重要特征。步骤s2:从人机对话内容中识别当前用户需求,并根据当前用户ut需求,从音乐知识图谱中提取符合需求的候选目标音乐实体集合{ct,1,ct,2,…,ct,n},t表示为当前用户编号,n为候选目标音乐实体的数量。步骤s3:从用户与目标音乐实体特征向量池中,获取当前用户ut的特征向量和候选目标音乐实体集合中各候选目标音乐实体的特征向量在在线推荐过程中,可能系统中不存在用户与音乐实体特征向量池的用户或音乐实体,即为新用户或新音乐实体(如新歌曲),在这种情况下,bandit算法将采取自定义的初始化策略对这些实体进行初始化,比如,均值赋值或随机赋值等,这部分是为了应对真实推荐场景出现情况所设计,初始化策略可以因推荐音乐实体的特征而采取不同措施。步骤s4:基于bandit的在线推荐如图5所示,根据当前用户的特征向量和候选目标音乐实体集合中各目标音乐实体的特征向量基于bandit算法进行实时推荐,得到候选目标音乐实体集合中各目标音乐实体的得分,并将得分最高的目标音乐实体推荐给当前用户。具体而言,采用“利用已知(exploit)”和“探索未知(explore)”结合的bandit推荐思想和策略为每个候选集音乐实体计算得分,并选择得分最高的音乐实体推荐给用户:上式的意义是:每一轮为当前符合用户ut实时需求的音乐实体候选集依照基于bandit算法为其中每个音乐实体计算得分,ct,j代表候选集中第j个音乐实体;最终向用户返回最高的音乐实体下面以最为常用的线性模型为例、并采用置信区间上界(upperconfidencebound)策略作为“explore”部分的方法,具体公式如下:上式中代表符合用户ut在第t轮实时需求的音乐实体集合;代表候选集中第j个音乐实体的特征向量;为估计的用户偏好向量;代表用户历史轮次的记录;公式前后两部分分别代表“exploit”和“explore”,而α则为平衡两部分的超参;最终推荐的结果是音乐实体at,其隶属于集合中。上式意义为在对音乐实体ct,j计算得分时,需要通过线性模型计算音乐实体特征和估计的用户特征之间的组合得分,以及该音乐实体与用户历史记录之间的差异,结合和平衡二者给出得分。注意:此方法仅为实施例样例,基于bandit的实时推荐并不仅限于此方法。步骤s5:更新另外为了使当前用户特征向量和该轮推荐的音乐实体特征向量在后续的推荐中学习得到本次推荐的结果。步骤(4)后进一步包括在线更新部分:(5)获取当前用户特征向量和该轮推荐的音乐实体特征向量,基于bandit算法进行更新,并将更新的结果写入用户与音乐实体特征向量池中,基于bandit算法进行更新,并将更新结果写入用户与音乐实体特征向量池中,以使后续的推荐中学习得到本次推荐的结果。获得用户ut对该轮推荐的音乐实体at的反馈并更新bandit算法,以使后续的推荐中学习到本次推荐的结果。推荐算法的更新如下式所示:上式中,和分别代表用户ut前(t-1)轮的历史特征与反馈,同样地,和分别针对第t轮的历史特征与反馈;代表第t轮算法为用户ut推荐的音乐实体特征向量。参量和是用于计算用户偏好的中间变量,计算方法如上式第三行公式所示。在本样例中反馈为0/1反馈,即用户是否接受了该推荐。但在实际应用中,允许其他种类反馈,如反馈服从某个分布。基于bandit算法的实时推荐可以逐步推算出用户的偏好,且bandit算法的执行逻辑符合交互式场景。尽管上面对本发明说明性的具体实施方式进行了描述,以便于本
技术领域
的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本
技术领域
的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1