Automation 基于听力习惯的自动音乐分级
我在Delphi中创建了一个类似Winamp的音乐播放器。当然没那么复杂。就这么简单 但现在我想添加一个更复杂的功能:库中的歌曲应该根据用户的收听习惯自动分级 这意味着:应用程序应该“理解”用户是否喜欢歌曲。不仅是他/她是否喜欢,还包括他/她有多喜欢 我目前的方法(可使用的数据):Automation 基于听力习惯的自动音乐分级,automation,artificial-intelligence,recommendation-engine,rating,audio-player,Automation,Artificial Intelligence,Recommendation Engine,Rating,Audio Player,我在Delphi中创建了一个类似Winamp的音乐播放器。当然没那么复杂。就这么简单 但现在我想添加一个更复杂的功能:库中的歌曲应该根据用户的收听习惯自动分级 这意味着:应用程序应该“理解”用户是否喜欢歌曲。不仅是他/她是否喜欢,还包括他/她有多喜欢 我目前的方法(可使用的数据): 只需测量一首歌每次播放的频率。开始计算歌曲添加到库中的时间,这样最近的歌曲就不会有任何缺点 测量歌曲平均播放时间(分钟) 因为用户似乎不喜欢这首歌,所以开始一首歌但直接改成另一首歌会对排名产生不良影响 你能帮我
- 只需测量一首歌每次播放的频率。开始计算歌曲添加到库中的时间,这样最近的歌曲就不会有任何缺点
- 测量歌曲平均播放时间(分钟)
- 因为用户似乎不喜欢这首歌,所以开始一首歌但直接改成另一首歌会对排名产生不良影响
平均播放时间/歌曲总长度我会在一个中央数据库中跟踪你所有用户的收听习惯,这样你就可以根据其他人的喜好提出建议(“喜欢这首歌的人,也喜欢这些其他歌曲”) 需要考虑的其他一些指标:
- 歌曲立即重播的次数比例(例如,这首歌立即重播的次数占播放次数的12%)
- 他们在播放时是否打开了“重复这首歌”按钮
- 每小时、每天、每周、每月播放的次数
- 跳过此歌曲的次数比例。(例如,播放了这首歌,但立即跳过了99%的时间)
- 收听歌曲的比例(用户平均收听这首歌曲的50%,而其他歌曲的收听率为100%)
您可以通过多种方式调整此公式,f.ex包括用户收听树,f.ex如果用户收听一首歌曲,然后他又收听另一首歌曲几次,等等。使用歌曲添加到库中的日期作为起点 测量歌曲/流派/艺术家/专辑的播放频率(完全、部分或跳过)-这还允许您测量歌曲/流派/艺术家/专辑不播放的频率 根据这些参数得出一个权重,当一首歌、它的流派、艺术家或专辑没有被频繁播放时,它的排名应该很低。当一位艺术家每天都被播放时,这位艺术家的歌曲应该会得到提升,但如果说这位艺术家的一首歌曲从未被播放过,那么这首歌的排名应该仍然很低
关于你的额外指标:难道一个指标不应该结合4和5吗?如果一首歌立即被跳过,那么收听的比例只有1%左右,对吗Marcow 5月21日15:08 这些应该是分开的。跳过将导致被跳过歌曲的负面评级。然而,如果用户在歌曲开始时关闭应用程序,则不应将其视为负面评级,即使播放的歌曲仅占较低百分比。p> 只需测量一首歌的播放频率 按次播放 通常,我会播放一首特定的歌曲,然后让我的iPod一直播放到专辑结束。所以这种方法会给专辑后期的歌曲带来不公平的优势。如果您的音乐播放器以同样的方式工作,您可能需要进行补偿。人工智能设备如何解决这个问题 嗯!让我说,从零开始可能真的很有趣 一个拥有自己“情报”的客户网络,最终收集 客户的结果取决于中央“情报” 每个客户都可以根据用户习惯生成自己的“用户评级” (如前所述:平均列表、列表计数等) 中央“智能”收集者可以将个人评级合并到“全球评级” 显示您需要的交易、建议和每一个高级别评级 无论如何,训练这样一个“大脑”意味着你必须首先以分析的方式解决问题,但构建这样一个由相互连接的小型大脑组成的云以产生更高水平的“智能”可能真的很有趣
像往常一样,由于我不知道你的技能,请看一下神经网络、遗传算法、模糊逻辑、模式识别以及类似的问题,以便更深入地理解。你可以使用一些简单的函数,如:
listened_time_of_song/(length_of_song + 15s)
或
这意味着,如果歌曲在15秒内停止播放,那么它的评分将为负数,或者第二种情况更好(如果用户听了整首歌曲,歌曲的长度将与最终音符无关)
另一种可能是usi
listened_time_of_song/(length_of_song + 15s)
listened_time_of_song/(length_of_song * 1.1)