基于深度学习的相声推荐系统

2021-10-30 05:19李浩瑞
网络安全技术与应用 2021年10期
关键词:用户名表演者个性化

◆李浩瑞

基于深度学习的相声推荐系统

◆李浩瑞

(太原理工大学 软件学院 山西 030600)

随着互联网的快速发展,根据用户个性化的情感推荐成为至关重要的问题,全文以相声为例进行设计,作为音频资源重要组成之一的相声,其资源数量越来越庞大,但却十分分散。目前网上专门做相声智能推荐系统的网站较为少见,设计相声个性化推荐系统刻不容缓。本文设计了一个相声智能推荐系统。系统采用Python语言,使用Web重量级框架Django的MTV设计模式和B/S开发模式。本系统包含用户标识模块、相声爬取模块、相声展示板块、相声收藏模块以及相声推荐模块设计。系统大量的相声资源是利用网络爬虫技术从喜马拉雅等网站爬取所得,并存储到MySQL数据库,数据库中的相声资源按不同的类别展示在前端页面。用户可以用浏览器便可访问系统,收听自己喜欢的相声,成功注册也登录的用户还可以对自己喜欢的相声进行收藏。本系统使用协调过滤算法,依据用户的收藏列表计算用户喜欢的相声类别,并在数据库中进行匹配,将相似度较高的相声推荐给用户。本文利用爬虫技术来爬取大量的相声资源,并利用协同过滤算法为用户推荐与其兴趣爱好契合度较高的相声,很大程度上节约了用户时间,增加了网站系统的用户黏性,能给企业带来一定效益。

推荐系统;协同过滤;个性化服务;网络爬虫;相声

1 引言

随着互联网的快速发展,互联网的相声资源在不断增多,相声数据量不断膨胀,每天都会有数以亿计的数据涌现。随着互联网技术的不断发展,个性化推荐也运用而生。但是,最初的自动推荐系统,只是会将时下热门的、大众都爱的或者能使公司获得最大收益的产品推荐给用户,并没有针对每一个用户进行分析给出推荐。这样推荐的效果非常不理想。因此,人们希望有一种能向用户自动推荐项目的系统和方法,并且这个系统基于用户的偏好且对所推荐的产品进行属性分析。这就是个性化推荐系统。

通过分析个性化推荐系统的目的,可以知道此类系统主要是为用户服务。那么关注用户成了必要,用户使用系统会产生与用户相关的信息,这些信息也是此类系统关注的重点。用户产生的信息成了用户和系统的纽带,系统通过用户产生的信息,为用户推荐自己想要的信息。

但是目前网上专门做相声智能推荐系统的网站非常少见,相声资源数据量多但是非常分散。本项目旨在通过爬虫获取大量的相声资源,通过把相声归类、排行等方式向人们推荐自己喜欢的相声,方便人们听取相声。

2 系统总体设计

2.1 总体设计

2.1.1目标

本网站将设计用户标识模块、相声爬取模块、相声展示模块、相声收藏模块、相声推荐模块五个功能模块,为每一个用户推荐与其兴趣爱好契合度较高的相声,很大程度上节省用户找相声的时间,增加网站系统的用户黏性,满足用户对于相声的需求,同时能给企业带来社会效益。

2.1.2运行环境

硬件环境:笔记本电脑;

操作系统:Windows操作系统

开发工具:JetBrainsPyCharm 2018.3.3 x64

数据库:MySQL数据库

2.1.3系统总体结构

本系统从互联网上各大网站爬取大量相声资源,经过数据重组和筛选,基于推荐算法得出推荐结果保存至数据库中,并通过Django框架进行前端展示。本系统采用 B/S(浏览器/服务器)体系结构,用户只需要浏览器,而不需要下载任何APP即可使用该系统。

通过前面的技术介绍与分析,可以得到相声智能推荐系统设计所需的技术语言如下:

(1)Python:负责该系统数据处理逻辑的代码编写,将用户的数据存储到数据库,又将生成的推荐结果展示到前端页面。

(2)HTML5:进行前端页面的开发。

(3)CSS3:美化前端页面,特别是对相声分类板块做处理。

(4)jQuery:实现提交表单和首页中的星星评分效果。

2.2 库表设计

本系统采用MySQL数据库,数据库中包括用户信息表、相声属性表、相声收藏表表。下面将介绍主要的数据库表的结构。

2.2.1用户信息表

用户信息表用来保存系统中注册的每位用户的信息,包括用户的用户名、密码、年龄、生日、头像五个字段,数据表的名字为t_user。

2.2.2相声属性表

相声属性表用来保存系统中的每个相声的属性,包括相声的名称、表演者、类型、音频、播放量五个字段,数据表的名字为t_cross_talk。

2.2.3相声收藏表

相声收藏表用来保存系统中的每个用户收藏的相声,包括用户的id和相声的id这2个字段,数据表的名字为t_cross_talk_user。这个表里的数据就是推荐算法得出推荐结果的依据。算法只有遍历这个数据表,才能计算出登录用户喜欢那些类型的相声,从而给出推荐结果。

3 系统详细设计与实现

3.1 系统使用流程

相声智能推荐系统使用协同过滤算法,采用Django重量级 Web 框架设计并实现。包括了用户标识模块、相声爬取模块、相声展示模块、相声收藏模块和相声推荐模块。

首先用户可以在不登录状态下进入系统欢迎界面后听取自己喜欢的相声,但是如果需要收藏相声,则需要注册、登录。在注册时需要输入用户名、密码、年龄、生日和头像,注册成功后才可以登录上系统。登录时需要输入用户名和密码,还可以勾选七天免登录来在后七天免去登录过程。点击登录按钮,系统会自动检测登录用户的用户名和密码,如果二者输入不匹配,则登录失败且系统给出错误提示。若账号和密码正确,则跳转到欢迎界面。

相声展示模块是欢迎界面,本页面共有四个大分类,个性推荐、表演者、排行榜和分类表单。个性推荐是针对已经登录的用户进行的推荐,表演者又分为郭德纲、于谦、冯巩、方清平等众多演员小分类,排行榜是按播放量进行的排名,分类表单分为单口、对口和群声三个类别。

推荐算法会根据“您的收藏”类别的相声类型来进行相声相似度计算,为您推荐您可能喜欢的相声。如何用户未登录,系统会为其推荐播放量最多的一些相声。相声智能推荐系统的业务流程图如图1所示。

3.2 模块设计说明

本系统使用协同过滤算法,采用Django重量级 Web 框架设计并实现。包括了用户标识模块、相声爬取模块、相声展示模块、相声收藏模块和相声推荐模块。

3.2.1用户标识模块

首先用户在进入系统欢迎界面后,用户可以听取相声,但是如果需要收藏相声,则需要注册、登录。在注册时需要输入用户名、密码、年龄、生日和头像,注册成功后则可以登录上系统。在登录的过程中需要输入用户名和密码,还可以选择七天免登录,点击登录按钮,系统会自动检测登录用户的用户名和密码,如果二者有错误,则登录失败且系统给出错误提示,否则登录成功跳转到欢迎界面。

3.2.2相声爬取模块

本系统的相声资源是利用爬虫技术从互联网各个大网站爬取所得,存放在MySQL数据库t_cross_talk表中。本系统从喜马拉雅、腾讯视频、爱奇艺视频等爬取大量相声。

3.2.3相声展示模块

相声展示模块是欢迎界面,本页面共有四个大分类,个性推荐、表演者、排行榜和分类表单。个性推荐是针对已经登录的用户进行的推荐,表演者又分为郭德纲、于谦、冯巩、方清平等众多演员小分类,排行榜是按播放量进行的排名,分类表单分为单口、对口和群口三个类别。用户点击这些超链接就会展示对应的相声,其中每个相声又包括相声名、表演者、类型、播放量、播放、暂停和收藏。用户点击播放可播放相声音频、点击暂停可暂停相声音频、点击收藏可收藏该相声。收藏相声必须是登录状态下。

3.2.4相声收藏模块

在系统首页,用户可以听取自己的相声,如果想要收藏某个相声,只需要点击相声后边的收藏来把该相声放进“我的收藏”中。“我的收藏”中的删除标签可以进行删除。推荐算法会根据“我的收藏”来进行推荐您可能喜欢的相声。用户收藏相声必须是登录状态下。

3.2.5相声推荐模块

针对已经登录的用户,系统根据“我的收藏”里边的相声进行相似度计算,为用户推荐用户可能喜欢的相声。如何用户未登录,系统会为其推荐播放量最多的一些相声。

图1 系统使用流程图

4 结论

本文通过使用软件工程分析中的各种手段对项目的各个功能模块进行了具体的规划,详细描述了系统的系统流程图、各个功能模块的流程图设计、代码设计以及界面展示等方面的内容。然后介绍了系统的总体设计,对系统设计方面的要求,硬件设施及软件环境进行了设计,同时对数据库表的结构进行了设计。本系统采用B/S的设计架构,用户通过浏览器直接向服务器发送HTTP请求;在系统展示中,采用Django框架中的MTV模式提高模块之间的内聚性,降低模块之间的耦合性。

[1]相声的分类[J].孔子学院,2019(02):80-81.

[2]郝亮.个性化电影推荐系统的研究与设计[D].四川:电子科技大学,2019.

[3]毕秋爽.脱口秀、相声和stand-up comedy对比分析[J].传播力研究,2019,3(02):211.

[4]范树镇.基于协同过滤的推荐系统算法研究[D].天津:天津理工大学,2019.

猜你喜欢
用户名表演者个性化
《护士进修杂志》投稿程序
《护士进修杂志》投稿程序
坚持个性化的写作
《护士进修杂志》投稿程序
新闻的个性化写作
机智的快递员
妙猜两数
上汽大通:C2B个性化定制未来
满足群众的个性化需求
2012年龙年网络春晚节目单