基于语义分析的音乐智能推荐系统的设计与实现

2023-11-06 11:04李林谭澜兰覃岭
电脑知识与技术 2023年27期
关键词:语义个性化特征

李林,谭澜兰,覃岭

(成都师范学院计算机学院,四川 成都 611730)

0 引言

随着各种智能设备和移动互联网络的飞速普及,数字音乐已深入人们生活的方方面面[1-2]。个性化音乐推荐现已被众多互联网公司和研究机构高度重视,成为最热门研究课题之一。由于互联网音乐结构复杂、形式多样、数据量大等特点,导致广大受众群体容易产生信息疲劳[3-4]。为此如何采用新兴的个性化推荐技术帮助广大用户从海量互联网音乐数据中提取个人感兴趣的曲目就显得非常必要和有价值。

近年来,国外研究表明,基于上下文的信息,如活动、情绪状态、一天中的分段时间等等,会对用户的偏好产生巨大影响。因此,在不少研究人员提出音乐推荐时应考虑这些建议。为此提供基于情感的音乐选择是其中选择之一[5]。数字媒体的变革改变了生活的不同方面,也改变了音乐产业和听众的收听习惯。便捷的电子设备和浏览器音乐收听服务的推出,减少了访问大量音乐的机会。然而,这种访问最终会给客户带来不利影响,即为明确的事务或情绪选择正确的音乐。用户在选择音乐时通常会被许多歌曲淹没。虽然纯粹的推荐性能通常与用户满意度相关,但可解释性对其他因素有积极影响,如信任和宽恕,这些因素最终对保持用户忠诚度至关重要[6]。

研究人员发现,用户的情绪状态对用户的音乐偏好有很大影响。因此,提及推荐系统中的情绪会以积极的方式影响用户满意度,从而使其成为生成音乐推荐时应考虑的重要特征之一[7]。研究者观察到,当用户悲伤时,他或她更喜欢听悲伤和缓慢的音乐,但当用户高兴时,他/她更喜欢听快乐和欢快的音乐。这在心理学研究领域也被称为情绪一致性效应。这种情绪一致性可以通过应用情绪分析的概念来计算。这是积极的、消极的还是中性的过程以及在什么背景下发生对推荐有重要影响。最近,许多工作都结合文本数据、语音数据的情感分析进行推荐,取得了不错的效果[8]。

国内对数字音乐推荐研究同样发展良好,涌现了大量卓有成效的研究成果[9]。也出现很多知名的个性化音乐电台,如国内的著名网站:QQ 音乐和163 音乐网站等,但其推荐结果的准确率和覆盖率都较低,缺乏个性化,往往并不能令用户真正满意。

音乐推荐与传统电影、图书等其他基于内容推荐相比较为特别,比如:用户偏好一般用隐式途径得到。用户使用音乐可以作为循环播放或者作为工作背景音乐,选择音乐往往和使用者心情有很高的关联度。推荐播放列表具有随机播放特性或者用户自由选择,具有很高的随意性。因此个性化音乐推荐考虑个人偏好和心情特征进行推荐将更具有现实意义[10]。

个性化音乐推荐系统一般包含推荐算法、用户偏好模型和音乐资源表征所组成。推荐算法有基于内容的、基于协同过滤的和基于深度学习方法的算法。用户偏好模型有基于用户浏览或者收听等行为的模型。音乐资源表征要根据歌曲、歌手和专辑等信息进行分析,进行数据预处理比如归一化、数据清洗等,从而构建音乐特征数据集,作为后续推荐模型的输入数据[11]。

当前,个性化推荐主要是采用推荐策略或者算法改进来提高推荐效率,往往对推荐对象和用户的一些语义分析不足。音乐资源特征描述在音乐推荐中具有极其特殊重要性,这涉及音乐文件属性的类别描述,使用者对歌曲的个人偏好理解以及音乐数字信号特征描述等,这些信息对最终的推荐极具价值。

为此,本文从音乐资源特征描述着手,结合资源数字信号特征分析,从而构建特征模型,在此基础上实现对音乐的个性化特征推荐。以此为基础上采用Python语言,通过Django平台构建了一个实用的个性化音乐推荐系统。

1 音乐特征表示模型

对音乐的语义特征分析显得尤为重要,音乐中包含大量语义信息。分析这些语义信息中对于个性化推荐极其必要,将极大地提升音乐推荐的准确性,更好地满足用户个性化服务需求。

1.1 音乐语义特征构建

本系统语义特征构建如图1所示。

图1 音乐语义特征构建框架

首先,构建音乐语义特征数据集,这里包括各种音乐资源信息的初步语法分析:比如分词处理,包括中文分词和英文分词,然后合并预处理信息输出到下一环节。

其次,对输入的音乐语义信息进行分词处理,提取到关键词。

第三,然后结合语义词典和音乐领域本体,通过语义映射,对于符合逻辑推理的特征信息直接返回。

第四,对不符逻辑推理的信息,再进一步通过句子相似度分析,结合语义词典构建语义特征信息,对满足要求的特征信息并返回结果,否则丢掉这部分信息。

1.2 音乐数字特征提取

音乐数字特征对推荐有重要的作用,提取方法如图2所示。

图2 音乐数字特征提取

首先,通过对每帧数据分解,采用FFT 或DWT 变换,将信息转换到傅里叶域或离散小波域。

其次在不同子信道上提取特征,合并形成音色特征。

最后,将相邻音色特征进行特征整合形成瞬时特征。

1.3 个性音乐推荐框架

结合前两步形成的特征,进行系统表现层的设计,如图3所示。

图3 推荐模块框架

首先将用户偏好模型与音乐特征集合,推荐通过用户特征、评论等信息特征化后,结合系统的音乐特征、训练模型,采用相应的推荐算法进行个性化推荐,构建针对性的推荐结果列表。

推荐和分析结果以BS 方式呈现,采用HTML、jQuery和Django框架等方式进行设计。

2 系统实现功能实现与展示

2.1 系统实现技术说明

系统架构采用Python、Django、Node开发。

前端通过Python、HTML5、jQuery 和Django 平台实现前端UI 界面。显示数据通过JSON 接口获取数据。

服务端通过Django 和Node 实现,采用服务接口提供JSON数据供客户端调用。同时服务端实现对数据表的增加、读取、修改、删除(CRUD)功能。

数据库采用MySQL 8.0作为数据存储的软件。

2.2 数据库和系统设计

整个系统涉及表较多,此处仅列出核心表。

1)音乐表结构(music)

表1 music表

音乐表主要记录歌曲的相关信息,musicName 为歌曲名称,musicAddress 记录歌曲播放路径,music-Type 为歌曲类型,musicLength 为歌曲时长,lyricName为专辑名称,lyricAddress为专辑链接地址。

2)用户播放表结构

表2 playlist表

用户播放记录用户对歌曲播放的相关信息,userId是用户编号,musicId 是歌曲编号,playTime 是播放时间,durationTime是播放持续时间长度。

3)推荐表结构

该表记录系统推荐结果,userId 是用户编号,musicId 是歌曲编号,Sim 是计算userId 和musicId 之间相似度的值。推荐根据歌曲之间相似度大小,从高到低出现在推荐列表之中。

表3 recommendation表

这三个表中,music 表中id,在playlist 和recommendation 表中misicId 以外键方式呈现,Music 和recommendation表中userId为外键。

2.3 系统实现结果描述

本系统分为前后两端:

1)前端系统包括

①首页,用户进入系统,各子功能导航。

②查询音乐:查询数据库中音乐信息等。

③风行推荐:根据音乐语义信息进行音乐推荐等。

④新歌上线:对系统中当前最新歌曲进行推荐等。

⑤个人偏好:考虑个人偏好信息的语义音乐推荐。

前端首页如图4所示,可以看到当前最风行音乐推荐、最新歌曲推荐和根据个人偏好进行的推荐。

图4 推荐系统前端首页

2)后端系统

①系统用户管理:实现对系统用户和普通前端用户的管理,实现基本的用户添加、修改、查询和删除功能。

②音乐专辑管理:实现对歌手专辑信息管理,实现基本的专辑信息添加、修改、查询和删除功能。

③下载信息管理:管理歌曲下载,实现基本的下载添加、修改、查询和删除功能。

④偏好信息管理:设置用户的偏好,这个对推荐系统非常重要,实现基本的偏好信息添加、修改、查询和删除功能。

⑤播放信息管理:管理播放管理,实现基本的添加、修改、查询和删除功能。

⑥推荐数据管理:管理推荐数据,实现基本的推荐数据添加、修改、查询和删除功能。

⑦评论信息管理:管理评论信息,实现基本评论的添加、修改、查询和删除功能。

⑧用户角色管理:管理用户角色,实现基本角色的添加、修改、查询和删除功能。

⑨歌曲信息管理:管理歌曲基本信息,实现歌曲的添加、修改、查询和删除功能。

后端例子如图5,在一个统一界面中,实现对各种信息的添加、修改、查询和删除功能管理。

图5 后端歌曲信息维护

3 结束语

通过本项目的实施,收获颇丰,总结如下:

1)重要音乐特征数据集对推荐系统非常重要,这对训练模型,构建有效推荐系统很关键。其次数据的预处理对后期的开发也极具价值,对推荐合理性和准确率影响很有帮助。

2)构建适合于特定数据集的个性化推荐算法。其中涉及音乐中出现的音乐种类、流派和描述信息等信息的特征提取和语义类别判定。

3)推荐具有针对性和用户特殊性,对不同的用户群体推荐策略。对于懂得音乐的听众,往往需要采用综合推荐方法,考虑一些更为细致的信息辅助推荐,这样个性化程度更高。

4)既要用好音乐语义信息,也高度关注用户相关的社交行为。比如用户在社交网络上的活动(比如好友互动、分享信息、搜藏信息等)提供丰富有价值的推荐特征,如果能够很好地加以利用,则可以更好地对客户特征进行刻画,在充分了解基础的上开展的推荐将会更加精准和有效。

5)构建美观和跨平台的UI 设计,对于推荐项目,合理和科学的UI 很重要,对产品的实用性非常重要。本系统采用了最新UI平台和设计技术,做到了界面美观,贴近实用。

猜你喜欢
语义个性化特征
语言与语义
如何表达“特征”
不忠诚的四个特征
新闻的个性化写作
抓住特征巧观察
上汽大通:C2B个性化定制未来
“上”与“下”语义的不对称性及其认知阐释
认知范畴模糊与语义模糊
满足群众的个性化需求
线性代数的应用特征