CSDN特约专稿:音乐八宝盒的推荐引擎模式

2024-01-18 02:32

本文主要是介绍CSDN特约专稿:音乐八宝盒的推荐引擎模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在在线数字音乐领域中,如何能够真正深入挖掘长尾的价值,采用主动的音乐推荐模式,去帮助用户找到符合自己口味的新音乐,成为一个新的挑战和机会。八宝盒( www.8box.cn)是一个基于音乐分享及偏好而建立起来的SNS服务, 利用多年积累研发的推荐引擎,8box能帮你找到可能喜欢的音乐,帮你分析出哪些用户是你的音乐“同好”。 八宝盒通过你推荐、试听、打分、评论音乐的过程,学习你的口味,并依此帮助过滤出你喜欢的音乐。发现音乐的最好途径是通过你的同好。八宝盒能够根据你的口味,推荐相似的用户给你。应该说“个性化推荐引擎--IntelliProvider”是音乐八宝盒的技术基石。
简单的来说,8box推荐音乐的依据有三种:
1.依靠音乐本身的属性信息判断音乐的相关性,做出推荐。
2.依靠听众对这个音乐的评价和反映来推断音乐的相关性,做出推荐。
3.依靠分析用户的行为,发掘出用户的音乐同好,从而做出推荐。
第一种依靠音乐本身的属性,强调音乐本身的信息来判定音乐。在国内的音乐网站来说,音乐信息的判断基本上停留在对音乐资料的搜集上,比如一首歌的演唱者、所属专辑、这首歌的音乐类型等等。8box建立了庞大的音乐信息库,百万张唱片的音乐信息可以增加音乐推荐的准确度。
一个简单的例子:喜欢听朴树的《生如夏花》的人,可以推荐给他《傲慢的上尉》。
但仅仅这样还是不足够的,音乐间的关联不仅仅依靠本身的信息就能完全判定的。喜欢听朴树的用户不仅仅爱听《生如夏花》和《傲慢的上尉》,还可能喜欢听许巍的《蓝莲花》,喜欢听《蓝莲花》的用户,还可能喜欢听郑钧《私奔》。。。而《生如夏花》和《私奔》在音乐本身的信息上是无法直接关联的,所以我们需要更多的途径来丰富完善推荐音乐的依据。
于是8box引入第二种--依靠用户的评价和反映。8box在用户听音乐的时候,搜集用户的行为,引导用户对所听的音乐进行打分,评价,加标签等,分析用户的喜好。喜欢这个音乐的人对哪些音乐还感兴趣?通过8box自主开发的推荐系统,分析出比率,为每个音乐添加了不同的标签。
于是《生如夏花》和《私奔》的关联就顺理成章了。
是不是来自好朋友推荐的东西更可信一点?因为有了对朋友的了解,朋友间的共性决定了这样的推荐更可能是你喜欢的。基于这个原理,八宝盒不仅搜集音乐的相关信息,也搜集了用户的信息,分析每个用户之间的相似度,并向用户推荐相似度高的同好用户。随着用户在网站的操作越多,对用户的信息搜集越全面,用户越可能找到同好。依据同好的推荐,可以发现更深一步的音乐关联,找到更多你喜欢但是没有听到过的音乐。同时也能找到更多志同道合的朋友。
与其他的分享社区一样,用户可以将其他用户加为好友,创建歌迷小组(在八宝盒中叫饭团-fans团)。在饭团里交流信息,推荐音乐,或者上传自己的音乐收藏。随着团员的增加,饭团的共享空间也会增加。在音乐八宝盒,用户可以创建并分享自己的播放列表,并利用网站提供的播放器欣赏音乐。此外,还借鉴了Pandora的方式,利用音乐导航功能可以从任意一首音乐始连续播放相关的音乐。屏幕右边的浮动播放器不但可以保证页面切换时不间断播放歌曲,用户评分等操作也被集成在播放器中。音乐八宝盒全方位的推荐,可以让用户很快找到大量喜欢的歌曲,八宝盒的个人电台功能,将用户喜欢的歌曲自动作为电台不间断的播放。每天24小时都听自己喜欢的,不是件难事儿了。大量Ajax的使用,使得很多操作变得简易,大部分都能一步完成,而提示也很温情。这个网站还与blog紧密结合了。当一个歌曲被建立的时候,同时会搜索到msn space上所有与这首歌相关的blog文章,然后列在歌曲的下方。当然,你也可以把喜欢的歌曲以漂亮列表的形式加到自己的blog上,而你要做的仅仅是复制粘贴八宝盒提供的一小段代码。
通过强大的推荐技术,结合网站的社会性元素,八宝盒的主动的音乐推荐模式将帮助用户找到属于自己的”音乐长尾”。

 




这篇关于CSDN特约专稿:音乐八宝盒的推荐引擎模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/617883

相关文章

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

Java设计模式---迭代器模式(Iterator)解读

《Java设计模式---迭代器模式(Iterator)解读》:本文主要介绍Java设计模式---迭代器模式(Iterator),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录1、迭代器(Iterator)1.1、结构1.2、常用方法1.3、本质1、解耦集合与遍历逻辑2、统一

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二

python 常见数学公式函数使用详解(最新推荐)

《python常见数学公式函数使用详解(最新推荐)》文章介绍了Python的数学计算工具,涵盖内置函数、math/cmath标准库及numpy/scipy/sympy第三方库,支持从基础算术到复杂数... 目录python 数学公式与函数大全1. 基本数学运算1.1 算术运算1.2 分数与小数2. 数学函数