CN107133288B - 音乐信息网络中个性化推荐方法 - Google Patents
音乐信息网络中个性化推荐方法 Download PDFInfo
- Publication number
- CN107133288B CN107133288B CN201710255638.3A CN201710255638A CN107133288B CN 107133288 B CN107133288 B CN 107133288B CN 201710255638 A CN201710255638 A CN 201710255638A CN 107133288 B CN107133288 B CN 107133288B
- Authority
- CN
- China
- Prior art keywords
- song
- user
- songs
- vec
- genre
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 108090000623 proteins and genes Proteins 0.000 claims abstract description 24
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000012163 sequencing technique Methods 0.000 claims description 9
- 238000005295 random walk Methods 0.000 claims description 8
- 239000013598 vector Substances 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 2
- 238000000605 extraction Methods 0.000 claims description 2
- 238000013138 pruning Methods 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/635—Filtering based on additional data, e.g. user or group profiles
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种音乐信息网络中个性化推荐方法,先从音乐信息网络中获取信息子网和信息子网的网络模式,并获取与信息子网相关的社交关系,然后在信息子网中计算社交关系影响下的歌曲、歌手、作词者和流派等节点群体影响力;接着,从音乐信息网络中抽取用户的信息子网,并计算该用户对歌曲的偏好基因;最后在信息子网中结合节点群体影响力和用户对歌曲的偏好基因进行随机游走,得到面向用户的信息子网节点影响力排名,从而得到用户的歌曲推荐列表。本发明提出的该方法考虑到了用户群体和用户偏好对歌曲的影响,从而使得最后的个性化推荐结果更为合理。
Description
技术领域
本发明涉及信息检索领域,特别是一种音乐信息网络中个性化推荐方法。
背景技术
音乐信息网络实际上是由一个信息子网和社交子网构成,而信息子网通常包含歌曲以及与歌曲相关的类型节点,如歌手、作词者、流派等等,网络中存在的关系有歌曲-歌手之间的被演唱与演唱关系、歌曲-作词者之间的被作词与作词关系、歌曲-流派之间的被包含与包含关系等等,社交子网中包含用户之间的好友关系、歌曲-用户之间的被播放与播放关系、用户-分组之间的被包含与包含关系。
目前,音乐信息网络中个性化推荐方法,基本上都是采用基于内容推荐、协同过滤推荐等方法。这些方法只是单纯地利用相似用户喜欢相同歌曲或同一用户喜欢相似歌曲等特性来进行推荐,并没有真正地挖掘用户对歌曲的偏好以及歌曲对用户的影响,不能够很好地体现个性化推荐。
发明内容
本发明的目的在于提供一种音乐信息网络中个性化推荐方法,以克服现有的音乐信息网络中歌曲个性化推荐方法中存在的问题。
为实现上述目的,本发明的技术方案是:一种音乐信息网络中个性化推荐方法,按照如下步骤实现:
步骤S1:获取音乐信息网络GM,从所述音乐信息网络GM中提取信息子网G0以及G0的网络模式H0,并根据SG0={(ui,mj)|mj∈G0∧(ui,mj)∈GM}从所述音乐信息网络GM中提取出与所述信息子网G0相关的社交关系SG0,其中,mj为信息子网G0中的歌曲节点,ui为音乐信息网络GM中播放过歌曲mj的用户节点;
步骤S2:在所述信息子网G0中计算社交关系影响下的歌曲M、歌手S、作词者A以及流派T的节点群体影响力;
步骤S3:在所述音乐信息网络中计算元路径集metaPath以及对应的元路径权重wMetaPath;
步骤S4:指定用户u,在所述音乐信息网络中计算用户u对歌曲的偏好基因;
步骤S5:在所述信息子网G0中结合节点群体影响力和用户u对歌曲的偏好基因进行随机游走,得到面向用户u的节点影响力排名,从而得到该用户的歌曲推荐列表。
在本发明一实施例中,在所述步骤S4中,用户u对歌曲的偏好基因计算过程如下:
根据所述步骤S3得到的元路径权重wMetaPath,分别提取出“歌曲-歌手-歌曲”、“歌曲-作词者-歌曲”、“歌曲-流派-歌曲”对应的元路径权重wMetaPathS、wMetaPathA、wMetaPathT;并根据g(S|M)=wMetaPathS、g(A|M)=wMetaPathA、g(T|M)=wMetaPathT和g(S|M)+g(A|M)+g(T|M)=1,计算出用户对歌曲对应的歌手、作词者、流派的偏好基因g(S|M)、g(A|M)、g(T|M)。
在本发明一实施例中,在所述步骤S5中,所述用户u的歌曲推荐列表的计算过程如下:
步骤S51:根据所述步骤S4得到用户u对歌曲的偏好基因,计算出用户u的信息子网中不同类型关系边的传播因子;
步骤S52:根据所述音乐信息网络中用户-用户间边权重以及用户-歌曲间边权重,计算出用户u的信息子网中各种类型边权重;
步骤S53:根据步骤S2得到信息子网群体节点影响力、步骤S51得到的传播因子以及步骤S52得到的边权重,在用户u的信息子网中进行随机游走,得到用户u的信息子网节点影响力Vec_R;
步骤S54:根据所述节点影响力Vec_R中抽取出歌曲影响力,并进行影响力排序,得到歌曲的影响力排序Vec_m,再从Vec_m中选择前K首歌曲作为用户u的歌曲推荐列表Vec_mu。
在本发明一实施例中,在所述步骤S51中,所述用户u的信息子网中不同型关系边的传播因子计算过程如下:
根据所述步骤S4得到用户u对歌曲的偏好基因和所述信息子网的网络模式,将歌曲和歌手关系边的传播因子λms,歌曲和作词者关系边的传播因子λma,歌曲和流派关系边的传播因子λmt分别初始化为用户对歌曲对应的歌手、作词者、流派的偏好基因g(S|M)、g(A|M)、g(T|M),即λms=g(S|M)、λma=g(A|M)、λmt=g(T|M)。
在本发明一实施例中,在所述步骤S2中,还包括如下步骤:
步骤S22:根据社交关系,计算在社交关系影响下的信息子网中各种类型边权重;
步骤S221:歌曲-流派之间的被包含关系边的权重按照如下方式计算:
其中,表示歌曲m所属于的流派个数,表示播放歌曲m的用户人数,P(t)表示流派t包含的歌曲列表;
步骤S222:流派-歌曲之间的包含关系边的权重按照如下方式计算:
其中,表示流派t包含的歌曲数;
步骤S223:歌曲-歌手之间的被演唱关系边的权重按照如下方式计算:
其中,表示歌曲m的歌手个数,表示播放歌曲m的用户人数,P(s)表示歌手s演唱的歌曲列表;
步骤S224:歌手-歌曲之间的演唱关系边的权重按照如下方式计算:
其中,表示歌手s演唱的歌曲数;
步骤S225:歌曲-作词者之间的被作词关系边的权重按照如下方式计算:
其中,表示歌曲m的作词者个数,表示播放歌曲m的用户人数,P(a)表示作词者a作词的歌曲列表;
步骤S226:作词者-歌曲之间的作词关系边的权重按照如下方式计算:
其中,表示作词者a作词的歌曲数;
在步骤S52中,还包括如下步骤:
步骤S521:根据所述音乐信息网络中用户之间的好友关系以及用户-歌曲间链接,计算基于用户相似性填充后的所有歌曲评分Scoreu;
步骤S522:根据所述步骤S521得到基于用户相似性填充后的所有歌曲评分Scoreu,将所述步骤S22中初始化为歌曲的评分Scoreu,m;
步骤S523:重复所述步骤S221至所述步骤S226,得到用户u的信息子网中歌曲-作词者之间边权重Wma、作词者-歌曲之间边权重Wam、歌曲-歌手之间边权重Wms、歌手-歌曲之间边权重Wsm、歌曲-流派之间边权重Wmt、流派-歌曲之间边权重Wtm。
在本发明一实施例中,在所述步骤S521中,还包括如下步骤:
步骤S5211:根据所述用户-歌曲间边权重umW;若用户u对歌曲m的边权重umWum不为0,则用户u对歌曲m的评分为Scoreum=umWum;否则转步骤S5212;
步骤S5212:根据所述用户-歌曲间边权重umW,计算出点播过歌曲的用户集mU以及对应的边权重mUW;
步骤S5213:利用heteSim算法计算出基于元路径“用户-歌曲-歌手-歌曲-用户”、“用户-歌曲-作词者-歌曲-用户”“用户-歌曲-流派-歌曲-用户”下的用户u与每一个用户v∈mU之间的相似性,得到用户相似性行向量userSimu,并对userSimu进行min-max标准化;
步骤S5214:若userSimu的最大值大于用户相似性阈值simThre,则根据以下式计算出用户u对歌曲m的评分Scoreum:
其中,uN={r|r∈mU∧userSimur≥simThre},userSimuv为用户u与用户v的相似性,umWvm为用户v对歌曲m的边权重;
否则,根据以下式计算出用户u对歌曲m的评分:
Scoreum=userSimuv*umWvm
其中,v={v∈mU∧userSimuv=max(userSimu)},userSimuv为用户u与用户v的相似性,umWvm为用户v对歌曲m的边权重。
在本发明一实施例中,在所述步骤S2中,还包括如下步骤:
步骤S23:结合所述信息子网中各种类型关系边的传播因子与各种类型边权重在所述信息子网中进行随机游走,计算社交关系影响下的歌曲、歌手、作词者和流派等群体影响力;
步骤S231:将所述信息子网中歌曲-歌曲之间边权重Wmm、歌手-歌手之间边权重Wss、作词者-作词者之间边权重Waa、流派-流派之间边权重Wtt、歌手-作词者之间边权重Wsa、作词者-歌手之间边权重Was、歌手-流派之间边权重Wst、流派-歌手之间边权重Wts、作词者-流派之间边权重Wat、流派-作词者之间边权重Wta均设置为0,即Wmm,Wss,Waa,Wtt,Wsa,Was,Wst,Wts,Wat,Wta都设置为对应大小的零矩阵;将歌曲-歌曲之间传播因子λmm、歌手-歌手之间传播因子λss、作词者-作词者之间传播因子λaa、流派-流派之间传播因子λtt、歌手-作词者之间传播因子λsa、作词者-歌手之间传播因子λas、歌手-流派之间传播因子λst、流派-歌手之间传播因子λts、作词者-流派之间传播因子λat、流派-作词者之间传播因子λta均设置为0,即
λmm=λss=λaa=λtt=λsa=λas=λst=λts=λat=λta=0;
步骤S232:在所述信息子网中,节点之间进行随机游走的转移概率矩阵TPM按如下方式计算:
步骤S233:设定两个长度为N的向量Vec_C与Vec_R;Vec_R中的值为所述信息子网中每个节点的影响力值,Vec_C初始为并通过如下方式计算Vec_R:
其中,ε为全图随机跳转概率,N取值为所述信息子网中节点总个数;
步骤S234:通过以下两个公式计算Vec_C以及Vec_R:
Vec_C=Vec_R,
且当||Vec_R-Vec_C||≥ξ时,则继续以上两个公式的计算,否则得到Vec_R,ξ为预设误差阈值;
步骤S235:分别对Vec_R中类型节点歌曲、歌手、作词者以及流派值进行排序,得到歌曲、歌手、作词者以及流派的群体影响力Vec_Cg;
在所述步骤S53中,将所述步骤S233中节点影响力Vec_C初始化为Vec_m,将所述步骤S231中传播因子和边权重分别设置为所述步骤S51得到的传播因子和所述步骤S52得到的边权重,并重复所述步骤S231至所述步骤S234,得到信息子网中节点影响力Vec_R。
相较于现有技术,本发明具有以下有益效果:本发明提出了一种音乐信息网络中个性化推荐方法,该方法不仅有效地利用与歌曲相关的信息子网中不同类型的对象和关系等全面的结构信息和丰富的语义信息,同时考虑到社交群体对信息子网节点影响力的影响,并且能够根据用户对歌曲的偏好基因实现个性化推荐。这种在信息子网中借助社交群体与偏好信息为用户提供个性化推荐的方法更合理。
附图说明
图1为本发明提出的一种音乐信息网络中的个性化推荐方法。
图2为本发明一实施例中音乐信息网络。
图3为本发明一实施例中音乐信息网络中的信息子网的网络模式。
图4为本发明-实施例中音乐信息网络具体例子。
图5为本发明-实施例中社交关系影响下的信息子网例子。
图6为本发明-实施例中一个用户的信息子网例子。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
下面通过具体实施例对本发明做进一步的说明,但是需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
如图1所示,为本发明所提出的音乐信息网络中的个性化推荐方法的的流程图,该方法包括如下步骤:
步骤S1:获取音乐信息网络,从音乐信息网络中提取信息子网以及信息子网的网络模式,并从音乐信息网络中提取出与所述信息子网相关的用户-歌曲之间的播放关系,即社交关系;
进一步的,在本实施例中,在音乐信息网络中,去除用户之间的社交关系以及用户与歌曲之间的播放关系与被播放关系等社交信息后,得到只与歌曲相关的没有社交关系影响下的信息子网G0,在这个信息子网G0的网络模式中,有四种类型节点,分别为歌曲、歌手、流派、作词者,网络中存在的关系有:歌手-歌曲之间的演唱与被演唱关系、作词者-歌曲之间的作词与被作词关系、流派-歌曲之间的包含与被包含关系;再从音乐信息网络中提取与信息子网相关的社交关系SG0,在SG0中,有两种类型节点,分别是歌曲、用户,网络中存在的关系有:用户-歌曲之间的播放与被播放关系。
进一步的,在本实施例中,从豆瓣音乐网站中获取音乐网络数据信息,提取网络实体,包括歌曲(M),歌手(S),作词者(A),流派(T),用户(U),分组(G),这些数据中存在关系有:歌曲-歌手之间的被演唱与演唱关系、歌曲-作词者之间的被作词与作词关系、歌曲-流派之间的被包含与包含关系、用户-歌曲之间的播放与被播放关系、分组-用户之间的包含与被包含关系,从而生成音乐信息网络,音乐信息网络例子如图2所示。
进一步的,在本实施例中,音乐信息网络中信息子网的网络模式中有节点歌曲(M),歌手(S),作词者(A),流派(T),边代表节点之间的关系,分别为歌曲-歌手之间的被演唱与演唱关系、歌曲-作词者之间的被作词与作词关系、歌曲-流派之间的被包含与包含关系,信息子网的网络模式如图3所示。而与信息子网相关的社交关系SG0是指用户-歌曲之间的播放与被播放关系。
进一步的,在本实施例中,音乐信息网络的具体例子如图4所示,社交关系影响下的信息子网例子如图5所示。
步骤S2:在信息子网中计算社交关系影响下的歌曲、歌手、作词者和流派等节点群体影响力Vec_Cg;
步骤S21:根据信息子网的网络模式,计算信息子网中不同类型关系边的平均边介数,并根据平均边介数计算随机游走过程中不同类型关系边的传播因子;
步骤S211:计算信息子网G0中被演唱关系边、被作词关系以边及被包含关系边的边介数,并计算出这三种类型边的平均边介数的比值ems:ema:emt=9.5332:7.5288:8.7495;
步骤S212:根据λms:λma:λmt=ems:ema:emt和λms+λma+λmt=1计算出这三种类型边的传播因子λms=0.3693,λma=0.2917,λmt=0.3390,且演唱关系边、作词关系边以及包含关系边的传播因子均为1,即λsm=1,λam=1,λtm=1。
步骤S22:根据社交关系,计算在社交关系影响下的信息子网中各种类型边权重;
步骤S221:歌曲-流派之间的被包含关系边的权重按照如下方式计算:
其中,表示歌曲m所属于的流派个数,表示播放歌曲m的用户人数,P(t)表示流派t包含的歌曲列表;
步骤S222:流派-歌曲之间的包含关系边的权重按照如下方式计算:
其中,表示流派t包含的歌曲数;
步骤S223:歌曲-歌手之间的被演唱关系边的权重按照如下方式计算:
其中,表示歌曲m的歌手个数,表示播放歌曲m的用户人数,P(s)表示歌手s演唱的歌曲列表;
步骤S224:歌手-歌曲之间的演唱关系边的权重按照如下方式计算:
其中,表示歌手s演唱的歌曲数;
步骤S225:歌曲-作词者之间的被作词关系边的权重按照如下方式计算:
其中,表示歌曲m的作词者个数,表示播放歌曲m的用户人数,P(a)表示作词者a作词的歌曲列表;
步骤S226:作词者-歌曲之间的作词关系边的权重按照如下方式计算:
其中,表示作词者a作词的歌曲数。
步骤S23:结合传播因子与各种类型边权重在信息子网中进行随机游走,计算社交关系影响下的歌曲、歌手、作词者和流派等群体影响力;
步骤S231:将信息子网中歌曲-歌曲之间边权重Wmm、歌手-歌手之间边权重Wss、作词者-作词者之间边权重Waa、流派-流派之间边权重Wtt、歌手-作词者之间边权重Wsa、作词者-歌手之间边权重Was、歌手-流派之间边权重Wst、流派-歌手之间边权重Wts、作词者-流派之间边权重Wat、流派-作词者之间边权重Wta均设置为0,即Wmm,Wss,Waa,Wtt,Wsa,Was,Wst,Wts,Wat,Wta都设置为对应大小的零矩阵;将歌曲-歌曲之间传播因子λmm、歌手-歌手之间传播因子λss、作词者-作词者之间传播因子λaa、流派-流派之间传播因子λtt、歌手-作词者之间传播因子λsa、作词者-歌手之间传播因子λas、歌手-流派之间传播因子λst、流派-歌手之间传播因子λts、作词者-流派之间传播因子λat、流派-作词者之间传播因子λta均设置为0,即
λmm=λss=λaa=λtt=λsa=λas=λst=λts=λat=λta=0;
步骤S232:在信息子网中,节点之间进行随机游走的转移概率矩阵TPM按如下方式计算:
步骤S233:设定两个长度为N的向量Vec_C与Vec_R;Vec_R中的值为信息子网中每个节点的影响力值,Vec_C初始为并通过如下方式计算Vec_R:
其中,ε为全图随机跳转概率,N取值为信息子网中节点总个数;在本实施例中,N=15;
步骤S234:通过以下两个公式计算Vec_C以及Vec_R:
Vec_C=Vec_R,
且当||Vec_R-Vec_C||≥ξ时,则继续以上两个公式的计算,否则得到Vec_R,ξ为预设误差阈值;
步骤S235:分别对Vec_R中类型节点歌曲、歌手、作词者以及流派值进行排序,得到歌曲、歌手、作词者以及流派的群体影响力Vec_Cg,如表1所示。
表1
步骤S3:在音乐信息网络中计算元路径集metaPath以及对应的元路径权重wMetaPath;
步骤S31:获取一音乐信息网络,在音乐信息网络中通过N步长随机游走得到与用户相关的信息子网G以及信息子网G的网络模式H0;
步骤S311:根据用户与歌曲之间的播放关系,得到用户播放的歌曲节点集
步骤S312:分别以mx(x=1,...,X)为中心,查找与mx相关的歌手、作词者以及流派的节点集
步骤S313:分别以vj(j=1,...,J)为中心,查找与节点vj相关的其他歌曲节点集
步骤S314:重复步骤S121至步骤S123,直至找到Um中,以每个节点mx为中心的N步长内,且与该节点mx相关的节点集U包括歌曲节点集歌手节点集作词者节点集流派节点集由U构成的子网络即为用户的信息子网G。
本实施例中,图4中用户u1对应的信息子网G如图6所示。
步骤S32:对信息子网G进行剪枝,并在剪枝后的信息子网G′中计算不同类型边的权重,具体步骤如下;
步骤S321:在信息子网G中,保留歌曲-歌手之间的被演唱关系边、歌曲-作词者之间的被作词关系边、歌曲-流派之间的被包含关系边,得到信息子网G′;从信息子网G中歌手-歌曲之间的演唱关系边、作词者-歌曲之间的作词关系边、流派-歌曲之间的包含关系边构成的集合中随机添加一条边至信息子网G′中,直到信息子网G′为强连通图为止,即可得到所述信息子网G通过剪枝枝后的信息子网G′;
步骤S322:利用HeteSim算法计算信息子网G′中每一对不同类型节点间的相关性,包括:歌曲-歌手之间的被演唱关系相关性、歌曲-作词者之间的被作词关系相关性、歌曲-流派之间的被包含关系相关性、歌手-歌曲之间的演唱关系相关性、作词者-歌曲之间的作词关系相关性以及流派-歌曲之间的包含关系相关性;
本实施例中歌曲-歌手之间的被演唱关系边、歌曲-作词者之间的被作词关系边、歌曲-流派之间的被包含关系边的具体相关性计算结果如表2所示,歌手-歌曲之间的演唱关系边、作词者-歌曲之间的作词关系边、流派-歌曲之间的包含关系边的具体相关性计算结果分别与歌曲-歌手之间的被演唱关系边、歌曲-作词者之间的被作词关系边、歌曲-流派之间的被包含关系边的具体相关性相同。
表2
s1 | s2 | s4 | a1 | a2 | t1 | t2 | t3 | |
m1 | 0.5774 | 0 | 0 | 0.5774 | 0 | 0.4082 | 0.3333 | 0.4082 |
m3 | 0 | 0.5000 | 0.7071 | 0 | 1.000 | 0.5000 | 04082 | 0 |
m4 | 0.5774 | 0 | 0 | 0.5774 | 0 | 0 | 0.5774 | 0 |
m5 | 0.4082 | 0.5000 | 0 | 0.5774 | 0 | 0 | 0 | 0.7071 |
步骤S323:将步骤S22得到的相关性取倒数,得到所述信息子网G′不同类型边的权重。
步骤S33:在信息子网G′中计算所有歌曲对之间的最短路径集shortPath和最短路径权重wShortPath;将最短路径集抽象为元路径实例集mshPath,并计算元路径集metaPath、元路径实例路径数q和元路径权重wMetaPath,具体步骤如下:
步骤S331:对于信息子网G′中所有歌曲节点集计算所有歌曲对之间的最短路径集shortPath:利用单源最短路径算法计算歌曲mi到歌曲mj之间的最短路径shortPathij,其中,i,j=1,2,...Q,i≠j;
步骤S332:计算所有歌曲对之间的最短路径权重wShortPath:对于最短路径集shortPath中的每一条最短路径shortPathij,计算最短路径shortPathij的权重wShortPathij,计算公式为:
其中,R为shortPathij的跳数;heteSimr为每一跳对应边er=<vs,vt>的相关性,s=1,...,N;t=1,...,N;
步骤S333:根据信息子网G的网络模式H0,将最短路径集shortPath中的每一条最短路径shortPathij抽象为元路径mshPathij,得到所有歌曲对之间的元路径实例集mshPath和元路径实例权重wmshPath,计算为:
wmshPath=wShortPath;
步骤S334:将元路径实例集mshPath抽象为元路径集对每一条元路径metaPathm,获取对应的所有元路径实例计算为:
mshPathl′=mshPathij;
步骤S335:计算所有的元路径权重wMetaPath。
进一步的,在本实施例中,在步骤S335中,计算所有的元路径权重wMetaPath,具体步骤如下:
步骤S3351:对每一条元路径metaPathm对应的所有元路径实例计算每一条元路径实例mshPathl对应的元路径实例权重wmshPathl′,计算为;
wmshPathl′=wmshPathij;
步骤S3352:计算出元路径metaPathm的权重wMetaPathm,计算公式如下:
其中,qm表示元路径metaPathm对应的实例路径数。
在本实施例中,所有歌曲对之间的最短路径集shortPath计算结果如表3所示,所有歌曲对之间的元路径实例集mshPath的计算结果如表4所示,元路径集metaPath、元路径实例路径数目q和元路径权重wMetaPath的计算结果如表5所示。
表3
m1 | m3 | m4 | m5 | |
m1 | [] | [m1,t1,m3] | [m1,a1,m4] | [m1,a1,m5] |
m3 | [m3,t1,m1] | [] | [m3,t2,m4] | [m3,s2,m5] |
m4 | [m4,a1,m1] | [m4,t2,m3] | [] | [m4,a1,m5] |
m5 | [m5,a1,m1] | [m5,st,m3] | [m5,a1,m4] | [] |
表4
m1 | m3 | m4 | m5 | |
m1 | [] | 'MTM' | 'MAM' | 'MAM' |
m3 | 'MTM' | [] | 'MTM' | 'MSM' |
m4 | 'MAM' | 'MTM' | [] | 'MAM' |
m5 | 'MAM' | 'MSM' | 'MAM' | [] |
表5
元路径名称metaPath | 元路径实体路径数目q | 元路径权重wMetaPath |
'MTM' | 4 | 0.4735 |
'MSM' | 2 | 0.5000 |
'MAM' | 6 | 0.5774 |
步骤S4:指定用户u,在音乐信息网络中计算用户u对歌曲的偏好基因;
步骤S41:根据元路径集metaPath提取出元路径“歌曲-歌手-歌曲”(MSM)、“歌曲-作词者-歌曲”(MAM)、“歌曲-流派-歌曲”(MTM),根据元路径权重wMetaPath分别提取出MSM、MAM、MTM对应的元路径权重wMetaPathS、wMetaPathA、wMetaPathT;
步骤S42:根据g(S|M)=wMetaPathS、g(A|M)=wMetaPathA、g(T|M)=wMetaPathT和g(S|M)+g(A|M)+g(T|M)=1计算出用户u对歌曲对应的歌手、作词者、词派的偏好基因g(S|M)、g(A|M)、g(T|M)。
在本实施例中,用户u对歌曲的流派T、歌曲的歌手S以及歌曲的作词者A之间的偏好基因如表6所示,由表6可得,用户ID1播放歌曲过程中,有30.530%的可能性选择某种流派包含的歌曲,有32.241%的可能性选择某个歌手演唱的歌曲,有37.229%的可能性选择某个作词者作词的歌曲。
表6
歌曲属性 | 偏好基因 |
流派T | 30.530 |
歌手S | 32.241 |
作词者A | 37.229 |
步骤S5:在信息子网中结合节点群体影响力和用户u对歌曲的偏好基因进行随机游走,得到面向用户u的节点影响力排名,从而得到该用户的歌曲推荐列表。
步骤S51:根据步骤S4得到用户u对歌曲的偏好基因和信息子网的网络模式,将歌曲和歌手关系边的传播因子λms,歌曲和作词者关系边的传播因子λma,歌曲和流派关系边的传播因子λmt分别初始化为用户对歌曲的偏好基因g(S|M)、g(A|M)、g(T|M),即λms=g(S|M)、λma=g(A|M)、λmt=g(T|M);
步骤S52:根据音乐信息网络中用户-用户间边权重以及用户-歌曲间边权重,计算出信息子网中各种类型边权重,具体步骤如下;
步骤S521:根据音乐信息网络中用户之间的好友关系以及用户-歌曲间链接,计算出基于用户相似性填充后的所有歌曲评分Scoreu,具体步骤如下;
步骤S5211:根据用户-歌曲间边权重umW,若用户u对歌曲m的边权重umWum不为0,则用户u对歌曲m的评分为Scoreum=umWum,否则转步骤S5212;
步骤S5212:根据所述用户-歌曲间边权重umW,计算出点播过歌曲的用户集mU以及对应的边权重mUW;
步骤S5213:利用heteSim算法计算出基于元路径“用户-歌曲-歌手-歌曲-用户”(UMSMU)、“用户-歌曲-作词者-歌曲-用户”(UMAMU)、“用户-歌曲-流派-歌曲-用户”(UMTMU)下的用户u与每一个用户v∈mU之间的相似性,得到用户相似性行向量userSimu,并对userSimu进行min-max标准化;
步骤S5214:若userSimu的最大值大于用户相似性阈值simThre,则根据以下公式1计算出用户u对歌曲m的评分Scoreum,否则根据以下公式2计算出用户u对歌曲m的评分;
其中,uN={r|r∈mU∧userSimur≥simThre},userSimuv为用户u与用户v的相似性,umWvm为用户v对歌曲m的边权重;
Scoreum=userSimuv*umWvm 公式2
其中,v={v∈mU∧userSimuv=max(userSimu)},userSimuv为用户u与用户v的相似性,umWvm为用户v对歌曲m的边权重;
步骤S522:根据步骤S521得到基于用户相似性填充后的所有歌曲评分Scoreu,将步骤S22中初始化为歌曲的评分Scoreu,m;
在本实施例中基于用户相似性填充后的所有歌曲评分Scoreu如表7所示。
表7
m1 | m2 | m3 | m4 | m5 | m6 | |
歌曲评分 | 4.0000 | 2.1734 | 3.0000 | 3.0000 | 2.0000 | 3.2490 |
步骤S523:重复步骤S221至步骤S226,得到信息子网中歌曲-作词者之间边权重Wma、作词者-歌曲之间边权重Wam、歌曲-歌手之间边权重Wms、歌手-歌曲之间边权重Wsm、歌曲-流派之间边权重Wmt、流派-歌曲之间边权重Wtm;
步骤S53:根据步骤S2得到社交关系影响下的节点群体影响力,将步骤S233中节点影响力Vec_C初始化为Vec_m,并重复步骤S231至步骤S234,得到信息子网中节点影响力Vec_R,如表8所示。
表8
节点名称 | 节点影响力 |
a1 | 0.1477 |
m1 | 0.1395 |
m6 | 0.1123 |
s1 | 0.0876 |
m4 | 0.0799 |
t2 | 0.0698 |
m3 | 0.0681 |
m5 | 0.0602 |
t3 | 0.0496 |
s2 | 0.0388 |
t1 | 0.0374 |
a2 | 0.0352 |
m2 | 0.0308 |
s4 | 0.0265 |
s3 | 0.0167 |
步骤S54:根据节点影响力Vec_R中抽取出歌曲影响力,并进行影响力排序,得到歌曲的影响力排序Vec_m,再从Vec_m中选择前K首歌曲作为用户u的歌曲推荐列表Vec_mr,如表9所示。
表9
歌曲名称 |
m1 |
m6 |
m4 |
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (3)
1.一种音乐信息网络中个性化推荐方法,其特征在于,按照如下步骤实现:
步骤S1:获取音乐信息网络GM,从所述音乐信息网络GM中提取信息子网G0以及G0的网络模式H0,并根据SG0={(ui,mj)|mj∈G0∧(ui,mj)∈GM}从所述音乐信息网络GM中提取出与所述信息子网G0相关的社交关系SG0,其中,mj为信息子网G0中的歌曲节点,ui为音乐信息网络GM中播放过歌曲mj的用户节点;
步骤S2:在所述信息子网G0中计算社交关系影响下的歌曲M、歌手S、作词者A以及流派T的节点群体影响力;
步骤S3:在所述音乐信息网络中计算元路径集metaPath以及对应的元路径权重wMetaPath;
步骤S4:指定用户u,在所述音乐信息网络中计算用户u对歌曲的偏好基因;
步骤S5:在所述信息子网G0中结合节点群体影响力和用户u对歌曲的偏好基因进行随机游走,得到面向用户u的节点影响力排名,从而得到该用户的歌曲推荐列表在所述步骤S4中,用户u对歌曲的偏好基因计算过程如下:
根据所述步骤S3得到的元路径权重wMetaPath,分别提取出“歌曲-歌手-歌曲”、“歌曲-作词者-歌曲”、“歌曲-流派-歌曲”对应的元路径权重wMetaPathS、wMetaPathA、wMetaPathT;并根据g(S|M)=wMetaPathS、g(A|M)=wMetaPathA、g(T|M)=wMetaPathT和g(S|M)+g(A|M)+g(T|M)=1,计算出用户u对歌曲对应的歌手、作词者、流派的偏好基因g(S|M)、g(A|M)、g(T|M);
在所述步骤S5中,所述用户u的歌曲推荐列表的计算过程如下:
步骤S51:根据所述步骤S4得到用户u对歌曲的偏好基因,计算出用户u的信息子网中不同类型关系边的传播因子;
步骤S52:根据所述音乐信息网络中用户-用户间边权重以及用户-歌曲间边权重,计算出用户u的信息子网中各种类型边权重;
步骤S53:根据步骤S2得到节点群体影响力、步骤S51得到的传播因子以及步骤S52得到的边权重,在用户u的信息子网中进行随机游走,得到用户u的信息子网节点影响力Vec_R;
步骤S54:根据所述节点影响力Vec_R中抽取出歌曲影响力,并进行影响力排序,得到歌曲的影响力排序Vec_m,再从Vec_m中选择前K首歌曲作为用户u的歌曲推荐列表Vec_mu;
在所述步骤S2中,还包括如下步骤:
步骤S22:根据社交关系,计算在社交关系影响下的信息子网中各种类型边权重;
步骤S221:歌曲-流派之间的被包含关系边的权重按照如下方式计算:
其中,表示歌曲m所属于的流派个数,表示播放歌曲m的用户人数,P(t)表示流派t包含的歌曲列表;
步骤S222:流派-歌曲之间的包含关系边的权重按照如下方式计算:
其中,表示流派t包含的歌曲数;
步骤S223:歌曲-歌手之间的被演唱关系边的权重按照如下方式计算:
其中,表示歌曲m的歌手个数,表示播放歌曲m的用户人数,P(s)表示歌手s演唱的歌曲列表;
步骤S224:歌手-歌曲之间的演唱关系边的权重按照如下方式计算:
其中,表示歌手s演唱的歌曲数;
步骤S225:歌曲-作词者之间的被作词关系边的权重按照如下方式计算:
其中,表示歌曲m的作词者个数,表示播放歌曲m的用户人数,P(a)表示作词者a作词的歌曲列表;
步骤S226:作词者-歌曲之间的作词关系边的权重按照如下方式计算:
其中,表示作词者a作词的歌曲数;
在步骤S52中,还包括如下步骤:
步骤S521:根据所述音乐信息网络中用户之间的好友关系以及用户-歌曲间播放关系,计算基于用户相似性填充后的所有歌曲评分Scoreu;
步骤S522:根据所述步骤S521得到基于用户相似性填充后的所有歌曲评分Scoreu,将所述步骤S22中初始化为歌曲的评分Scoreu,m;
步骤S523:重复所述步骤S221至所述步骤S226,得到用户u的信息子网中歌曲-作词者之间边权重Wma、作词者-歌曲之间边权重Wam、歌曲-歌手之间边权重Wms、歌手-歌曲之间边权重Wsm、歌曲-流派之间边权重Wmt、流派-歌曲之间边权重Wtm;在所述步骤S521中,还包括如下步骤:
步骤S5211:根据所述用户-歌曲间边权重umW;若用户u对歌曲m的边权重umWum不为0,则用户u对歌曲m的评分为Scoreum=umWum;否则转步骤S5212;
步骤S5212:根据所述用户-歌曲间边权重umW,计算出点播过歌曲的用户集mU以及对应的边权重mUW;
步骤S5213:利用heteSim算法计算出基于元路径“用户-歌曲-歌手-歌曲-用户”、“用户-歌曲-作词者-歌曲-用户”、“用户-歌曲-流派-歌曲-用户”下的用户u与每一个用户v∈mU之间的相似性,得到用户相似性行向量userSimu,并对userSimu进行min-max标准化;
步骤S5214:若userSimu的最大值大于用户相似性阈值simThre,则根据以下式计算出用户u对歌曲m的评分Scoreum:
其中,uN={r|r∈mU∧userSimur≥simThre},userSimuv为用户u与用户v的相似性,umWvm为用户v对歌曲m的边权重;
否则,根据以下式计算出用户u对歌曲m的评分:
Scoreum=userSimuv*umWvm
其中,v={v∈mU∧userSimuv=max(userSimu)},userSimuv为用户u与用户v的相似性,umWvm为用户v对歌曲m的边权重。
2.根据权利要求1所述的音乐信息网络中个性化推荐方法,其特征在于,在所述步骤S51中,所述用户u的信息子网中不同型关系边的传播因子计算过程如下:
根据所述步骤S4得到用户u对歌曲的偏好基因和所述信息子网的网络模式,将歌曲和歌手关系边的传播因子λms,歌曲和作词者关系边的传播因子λma,歌曲和流派关系边的传播因子λmt分别初始化为用户u对歌曲对应的歌手、作词者、流派的偏好基因g(S|M)、g(A|M)、g(T|M),即λms=g(S|M)、λma=g(A|M)、λmt=g(T|M)。
3.根据权利要求1所述的音乐信息网络中个性化推荐方法,其特征在于,在所述步骤S2中,还包括如下步骤:
步骤S23:结合所述信息子网中各种类型关系边的传播因子与各种类型边权重在所述信息子网中进行随机游走,计算社交关系影响下的歌曲、歌手、作词者和流派等群体影响力;
步骤S231:将所述信息子网中歌曲-歌曲之间边权重Wmm、歌手-歌手之间边权重Wss、作词者-作词者之间边权重Waa、流派-流派之间边权重Wtt、歌手-作词者之间边权重Wsa、作词者-歌手之间边权重Was、歌手-流派之间边权重Wst、流派-歌手之间边权重Wts、作词者-流派之间边权重Wat、流派-作词者之间边权重Wta均设置为0,即Wmm,Wss,Waa,Wtt,Wsa,Was,Wst,Wts,Wat,Wta都设置为对应大小的零矩阵;将歌曲-歌曲之间传播因子λmm、歌手-歌手之间传播因子λss、作词者-作词者之间传播因子λaa、流派-流派之间传播因子λtt、歌手-作词者之间传播因子λsa、作词者-歌手之间传播因子λas、歌手-流派之间传播因子λst、流派-歌手之间传播因子λts、作词者-流派之间传播因子λat、流派-作词者之间传播因子λta均设置为0,即λmm=λss=λaa=λtt=λsa=λas=λst=λts=λat=λta=0;
步骤S232:在所述信息子网中,节点之间进行随机游走的转移概率矩阵TPM按如下方式计算:
步骤S233:设定两个长度为N的向量Vec_C与Vec_R;Vec_R中的值为所述信息子网中每个节点的影响力值,Vec_C初始为并通过如下方式计算Vec_R:
其中,ε为全图随机跳转概率,N取值为所述信息子网中节点总个数;
步骤S234:通过以下两个公式计算Vec_C以及Vec_R:
Vec_C=Vec_R,
且当||Vec_R-Vec_C||≥ξ时,则继续以上两个公式的计算,否则得到Vec_R,ξ为预设误差阈值;
步骤S235:分别对Vec_R中类型节点歌曲、歌手、作词者以及流派值进行排序,得到歌曲、歌手、作词者以及流派的群体影响力Vec_Cg;
在所述步骤S53中,将所述步骤S233中节点影响力Vec_C初始化为Vec_m,将所述步骤S231中传播因子和边权重分别设置为所述步骤S51得到的传播因子和所述步骤S52得到的边权重,并重复所述步骤S231至所述步骤S234,得到信息子网中节点影响力Vec_R。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710255638.3A CN107133288B (zh) | 2017-04-19 | 2017-04-19 | 音乐信息网络中个性化推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710255638.3A CN107133288B (zh) | 2017-04-19 | 2017-04-19 | 音乐信息网络中个性化推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107133288A CN107133288A (zh) | 2017-09-05 |
CN107133288B true CN107133288B (zh) | 2019-12-17 |
Family
ID=59715725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710255638.3A Expired - Fee Related CN107133288B (zh) | 2017-04-19 | 2017-04-19 | 音乐信息网络中个性化推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107133288B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109902203B (zh) * | 2019-01-25 | 2021-06-01 | 北京邮电大学 | 基于边的随机游走的网络表示学习方法和装置 |
CN111382190B (zh) * | 2020-03-04 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 一种基于智能的对象推荐方法、装置和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956040A (zh) * | 2016-04-26 | 2016-09-21 | 福州大学 | 音乐信息网络中社交关系影响下的歌曲流行度分析方法 |
CN106202502A (zh) * | 2016-07-20 | 2016-12-07 | 福州大学 | 音乐信息网络中用户兴趣发现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9721019B2 (en) * | 2012-12-10 | 2017-08-01 | Aol Inc. | Systems and methods for providing personalized recommendations for electronic content |
-
2017
- 2017-04-19 CN CN201710255638.3A patent/CN107133288B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956040A (zh) * | 2016-04-26 | 2016-09-21 | 福州大学 | 音乐信息网络中社交关系影响下的歌曲流行度分析方法 |
CN106202502A (zh) * | 2016-07-20 | 2016-12-07 | 福州大学 | 音乐信息网络中用户兴趣发现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107133288A (zh) | 2017-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112784130B (zh) | 孪生网络模型训练、度量方法、装置、介质和设备 | |
CN106202502B (zh) | 音乐信息网络中用户兴趣发现方法 | |
CN108021568B (zh) | 一种歌单推荐方法及装置 | |
CN108334601B (zh) | 基于标签主题模型的歌曲推荐方法、装置及存储介质 | |
JP2007213401A (ja) | ユーザ嗜好の音楽データに基づいてコミュニティを構成するコミュニティサイトサーバ及びプログラム | |
CN105808696B (zh) | 一种基于全局和局部特征的跨在线社交网络用户匹配方法 | |
CN109871504B (zh) | 一种基于异构信息网络与深度学习的课程推荐*** | |
CN109346045B (zh) | 基于长短时神经网络的多声部音乐生成方法及装置 | |
CN105975496A (zh) | 一种基于上下文感知的音乐推荐方法及装置 | |
CN107133288B (zh) | 音乐信息网络中个性化推荐方法 | |
Hong et al. | Nonintrusive-sensing and reinforcement-learning based adaptive personalized music recommendation | |
CN109960755B (zh) | 一种基于动态迭代快速梯度的用户隐私保护方法 | |
CN105868372A (zh) | 标签分配方法及装置 | |
Lie et al. | SM entertainment and soo man lee | |
CN105956040B (zh) | 音乐信息网络中社交关系影响下的歌曲流行度分析方法 | |
CN109471951A (zh) | 基于神经网络的歌词生成方法、装置、设备和存储介质 | |
CN110717064B (zh) | 个性化音频播单生成方法、装置及可读存储介质 | |
CN108763400B (zh) | 基于对象行为和主题偏好的对象划分方法及装置 | |
Matt | Whose Heritage? Cultural Properties Legislation and Regional Identity in Okinawa | |
CN113034297A (zh) | 基于节点吸引力的复杂网络关键节点识别方法及*** | |
Basson | Punk identities in post-apartheid South Africa | |
JP2017157130A (ja) | 楽曲推薦システム、コンピュータプログラム、及び方法 | |
Jain et al. | Multi sense embeddings from topic models | |
Bridge | Gendering music in popular culture | |
Dwyer | Bollywood bourgeois |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20191217 |
|
CF01 | Termination of patent right due to non-payment of annual fee |