基于知识图谱的个性化音乐推荐系统设计与实现

2024-01-10 10:08
科学技术创新 2024年2期
关键词:图谱个性化音乐

李 津

(中南林业科技大学涉外学院,信息与工程学院,湖南长沙)

知识图谱本质上是一种具备强大语义处理能力和开放组织能力的大型知识库,具体又包含了获取数据、知识提取、知识融合、知识处理等环节,在语义搜索、智能问答、精准推送等方面表现出良好的应用效果。将知识图谱应用到个性化音乐推进系统中,在语义网络较为完整、知识足够精准的前提下,可以保证推送内容的个性化和精准化,从而大幅度提高系统用户的使用体验。

1 基于知识图谱的个性化音乐推荐系统的整体架构

知识图谱是实现知识推理和知识检索的必要前提。将知识图谱应用到个性化音乐推荐系统的设计中,通过构建知识图谱,以用户的日常行为数据作为处理对象,通过数据处理推测出用户的音乐收听喜好;然后再通过知识检索从数据库中挑选出符合用户喜好的歌曲并推送给用户,达到了个性化推荐的效果。本文设计的个性化音乐推荐系统由用户端、管理端、服务端以及数据库等组成,整体架构如图1 所示。

图1 个性化音乐推荐系统架构图

该系统的前端使用Vue.js 渐进式框架开发,其中的Element 组件库包含了大量的设计资源,可用于搭建Web 网站,降低了系统的开发难度。后台开发使用Spring Boot 框架,支持Spring 应用的开发;选用MySQL 数据库存储数据[1]。用户可以通过用户端获取音乐界面,界面内容主要包含3 个模块,即个人中心模块、网站主页模块和分类展示模块。管理员通过管理端获取服务器内容管理界面,界面内容包括用户管理、收藏管理、歌单管理等内容。服务端可以接收和处理用户请求,并根据请求分析结果向用户推送图片、音频、视频等相应内容。

2 个性化音乐推荐系统的设计与实现

2.1 数据库的设计与实现

本系统的所用数据信息均存储在MySQL 关系数据库中。为了提高系统检索、调用数据的效率,对数据库采用了分区分类设计,共设计了7 种类型的表,实现对数据的分类存储[2]。7 种数据表分别是用户表、收藏表、歌曲表、歌手表、歌单表、收听表和歌单内容表。这里以歌单表为例,表名为playlist,用于存储歌单数据,字段组成见表1。

表1 歌单表字段组成

2.2 系统注册功能的设计与实现

用户在使用个性化音乐推荐系统时,首先要完成注册,成为合法用户后才能使用系统提供的所有功能。注册操作在用户端上完成,用户需要在注册界面输入账号、密码、手机号码等信息并提交系统判断输入信息是否合法。如果有特殊字符等非法信息,则提示用户重新输入信息;如果输入信息合法,则继续执行一个判断程序“账号是否被占用?”如果判断结果为“是”,说明系统数据库中已经有该账号的注册记录,则提示用户账号已存在,需要更换账号;如果判断结果为“否”,将该注册信息写入系统并保存到数据库中,并提示注册成功。用户注册流程如图2 所示。

图2 系统注册功能流程图

2.3 系统登录功能的设计与实现

为了杜绝非法访问、保证系统安全,本系统使用了访问认证技术。所有访问个性化音乐推荐系统的用户,必须要进行登录认证,认证通过后才允许进入系统[3]。用户在用户端进行登录操作,输入对应的账号和密码,以及验证码后点击“登录”按钮。此时系统后台依次进行以下验证:

(1) 账号是否已经注册?如果判断结果为“否”,提示账号未注册,要求用户重新输入账号信息;如果判断结果为“是”,执行下一步。

(2) 账号与密码是否匹配?如果判断结果为“否”,提示错误信息;如果判断结果为“是”,执行下一步。

(3) 验证码是否正确?如果判断结果为“否”,提示错误信息并要求用户重新输入;如果判断结果为“是”,成功登录系统。系统登录流程如图3 所示。

图3 系统登录功能流程图

2.4 网站主页设计与实现

本系统的网站主页用于展示推荐信息。系统会根据每一名用户的浏览记录、检索记录等行为信息,利用知识图谱技术处理数据信息并得到推荐结果,将推荐音乐存储到数据库中[4]。当用户登录个性化音乐推荐系统并访问推荐页面后,系统后台发出“获取推荐列表”的请求。系统接收该请求后开始调用用户相关信息,并读取推进数据。将推荐数据显示在推荐列表中,呈现给用户。随后,根据用户的行为(如歌曲完播率、检索关键词等)存储行为数据,数据库更新行为数据后重新进行计算,并根据计算结果优化推荐音乐。这样一来,随着用户使用时间的增长,系统的推荐结果将会更加准确,实现了个性化音乐推荐系统的自适应优化。在网站主页设计中,还加入了音乐搜索功能,支持用户输入关键字(如歌曲名称、歌手名字等)检索相关的歌曲或歌单。

2.5 分类展示设计与实现

为了让用户能够按照自己的喜好选择歌曲或歌单,本系统设计了分类展示模块,具体包含歌手分类和歌单分类2 部分。前者是以演唱者作为分类依据,将歌曲呈现给用户;后者则是根据歌单的标签作为分类依据,将歌曲呈现给用户。用户可以在分类展示页面选择歌手分类或歌单分类,然后跳转至子界面,在新的界面上再选择歌手的某个歌曲,或者歌单内的某个歌曲进行收听[5]。

2.6 管理平台设计与实现

管理员通过管理端实现系统的管理、维护。本系统的管理端设计有5 项基本功能,各项功能具体设计如下:

(1) 用户管理。管理员通过启用管理员权限,可以完成用户的添加、删除,以及编辑和查询用户数据(如手机号码、电子邮箱、个人介绍)等操作。

(2) 收藏管理。管理员还可以通过用户管理功能跳转至次级功能界面,如查看用户的收藏歌曲、删除用户收藏的歌曲等。

(3) 歌手管理。该部分功能包括添加歌手、删除歌手以及查询和编辑歌手数据(如歌手的地区、履历、出生日期等)。

(4) 歌曲管理。管理员从歌手管理功能跳转至次级功能界面,执行添加、删除歌曲,以及查询和编辑歌曲数据(如歌曲名、所属专辑、歌词内容)等操作。

(5) 歌单管理。管理员可以添加、删除歌单,以及查询和编辑歌单数据。

3 个性化音乐推荐系统的测试

3.1 系统功能的测试

根据上述设计方案,初步完成了个性化音乐推荐系统的设计,并将其部署在Tomcat 应用服务器上进行试运行,测试系统各项功能的实现情况。在用户端进行了个人中心模块功能测试、网站主页功能测试和分类展示功能测试。这里以网站主页功能测试为例,测试结果见表2。

表2 网站主页功能实现情况

由表2 可知,分别测试了音乐推荐、歌曲搜索、歌曲收听、歌曲收藏4 项功能,完成相应的操作后显示测试结果与预期结果一致,说明本系统的网页主站功能可以顺利实现。

在管理端进行了用户管理、收藏管理、歌手管理、歌曲管理、歌单管理5 项功能的测试。完成相应的操作后测试结果与预期结果一致,说明本系统管理端的各项功能可以顺利实现。

3.2 系统响应时间测试

响应时间不仅是反映系统综合性能的一项重要指标,而且还直接影响了用户的使用体验。为了验证个性化音乐推荐系统的响应时间,本文分别选取系统的登录账户、已收藏音乐列表、个性化音乐推荐、删除指定音乐4 个接口进行了测试。每个接口的测试次数为50 次,记录50 次的响应时间后求平均值。计算结果越小,说明系统的响应速度越快。系统设计的响应时间标准为1 s,实测数值在1 s 内说明合格。4 个接口的响应时间测试结果见表3。

表3 系统响应时间测试结果

如表3 所示,4 个接口的平均响应时间分别为0.272 s、0.301 s、0.718 s、0.418 s,均低于标准值1 s,说明系统响应速度较快,用户使用体验良好。

4 结论

音乐推荐系统的个性化推荐功能,能够根据用户的音乐喜好为其精准推荐歌曲。在音乐推荐系统设计中,常用的个性化推荐方法有相似度计算方法、基于深度学习的推荐算法以及基于知识图谱的推荐方法。其中,知识图谱作为一种大型的语义网络,凭借强大的语义处理能力在语义搜索、智能推荐等方面表现出显著优势。将知识图谱技术应用到个性化音乐推荐系统的设计中,除了向用户推荐符合个性需求的歌曲和歌单外,还能根据用户使用系统时的操作性外,不断优化推荐内容,实现了自动迭代升级,真正做到了“听的越多、推荐的越准”,较好地满足了用户的使用需求。

猜你喜欢
图谱个性化音乐
绘一张成长图谱
坚持个性化的写作
新闻的个性化写作
补肾强身片UPLC指纹图谱
上汽大通:C2B个性化定制未来
音乐
主动对接你思维的知识图谱
满足群众的个性化需求
杂草图谱
音乐