基于用户性格分析的智能礼物推荐系统IntelligentGiftRecommendationSystemBasedonUserPersonalityAnalysis

IntelligentGiftRecommendationSystemBasedonUserPersonalityAnalysis

MengliLu,HongLan

SchoolofInformationEngineering,JiangxiUniversityofScienceandTechnology,GanzhouJiangxi

Received:Apr.29th,2020;accepted:May14th,2020;published:May21st,2020

ABSTRACT

Aimingattheproblemthatsomecustomershavedifficultyinchoosinggifts,thispaperadoptsC/Smodearchitecturedesign,andthenusesvoicetotext,jiebawordsegmentationandothertechnologiestodesignandimplementasmartgiftrecommendationsystem.Thefront-endadoptsthecard+waterfallflowlayoutdesign;theback-endadoptsthebackgrounddevelopmentcombinedwithSpringBootandFlask.Thisarticleusesthevoicedescriptionofthegivertotherecipient,writesaproductrecommendationalgorithmbasedontheuser’spersonality,andintelligentlyrecommendsgiftsthatmatchtherecipient.Thesystemprovidesuserswiththefunctionsofqueryingandbrowsinggiftproducts,postingandviewinggiftposts,browsingcollectionsandfollowingDIYgifttutorials,exquisitegiftrecommendationtext,smartrecommendationgifts,friendbirthdayreminders,andalluserinformationviewingfunctions,whichsolvestheproblemsencounteredbyuserswhenchoosinggifts.

Keywords:GiftRecommendation,SpringBootFramework,FlaskFramework,PersonalityAnalysis

基于用户性格分析的智能礼物推荐系统

卢梦丽,兰红

江西理工大学,信息工程学院,江西赣州

收稿日期:2020年4月29日;录用日期:2020年5月14日;发布日期:2020年5月21日

摘要

关键词:礼物推荐,SpringBoot框架,Flask框架,性格分析

ThisworkislicensedundertheCreativeCommonsAttributionInternationalLicense(CCBY4.0).

1.引言

在当前社会中存在由于场景、送礼对象的喜好性格等各方面的因素的不同造成送礼人不能挑选到一份合乎收礼人心意的礼物,甚至有时因为场合不对造成送礼的尴尬和矛盾。目前市场上有一些针对于此问题的软件,但这些软件在功能方面较单一;在礼物推荐方面仅通过输入关键词查找推荐的方式,操作复杂,且搜索到收礼人满意的礼物商品的准确率低。因此开发一款智能、功能全面、推荐礼物与用户匹配准确率高的礼物推荐应用非常必要。

就目前来看,针对礼物推荐的研究很少。吴帅军[1]等人使用基于用户习惯偏好相似度的SlopeOne算法(UPSSlopeOne)、基于协同过滤的个性化推荐开发出“知礼”平台。但在获取用户信息方面,其使用用户答题的方式,获取信息较单一且操作较麻烦。市场上现存的礼物推荐软件例如礼物说,均为分类和关键词搜索的方式进行礼物推荐,匹配到用户满意的礼物的概率低。但电商的发展促进了对商品推荐的研究。焦琛皓[2]采用门控循环神经网络(GRU)模型来对用户购买的商品序列学习,之后又采用基于流行度的负采样来改善模型效果。此外他还使用因子分解机算法与GRU共用相同的输入,并行的生成购买物品概率的预测,最后将FM与RNN结合生成最终推荐结果。常昊和杨盛泉[3]将传统的协同过滤算法和决策树算法进行结合,对结合的算法改进,最终创建协同过滤决策树算法来进行商品推荐,得到的实验结果较传统的算法,准确率得到了提升。但以上研究仍存在三个问题:一用户数据获取较复杂;二礼物与用户的性格等特征的紧密度比普通商品的大,不能采用普通商品的推荐算法;三商品的被推荐者一般不为商品的使用者(即送礼人一般不为收礼人)。

2.总体设计

Figure1.Overallsystemfunctiondiagram

3.SpringBoot和Flask相结合的后台设计

3.1.后台框架设计

3.1.1.基于SpringBoot的后台框架设计

Figure2.SpringBootbackgroundframeworkdesign

3.1.2.基于Flask的个性化功能实现

系统在实现基于用户性格分析的推荐商品功能时引用Python中的库开发较为便捷,因而单独设计了基于Python语言的Flask后台框架。Flask[5]是python语言编写的轻量级web应用框架。相较其他框架,它更为灵活、轻便、安全且容易上手,可以很好地结合MVC模式进行开发。此外,Flask框架拥有强大的插件库可以让用户实现个性化的网站定制,从而开发出功能强大的网站。

Figure3.SystemFlaskbackgroundframeworkdesign

1)小程序端有如下三个作用:

b)将转化成的文本发送到后台。

c)接受和展示商品信息。

2)后台端有如下四个作用:

a)调用jieba分词库对接受到的文本分词。

b)从购物网站上爬取商品信息并存储到数据库中。

c)计算出收礼人对应的消费性格。

d)取出数据库中的商品信息。

3)数据库:以表的形式存储礼物商品信息和商品对应的性格种类信息。

3.2.用户性格分析算法

1)消费者性格

Table1.Consumercharacteranditsexternalperformance

2)大五人格(TheBigFive)

Table2.Personalityfactors,characteristicsofhighscorersandcorrespondingconsumerpersonality

3)SC-LIWC词典

SC-LIWC是一本中文分词词典,用于分析文本的性格。它是由台湾大学的黄金兰等人将LIWC进行转化而产生的。LIWC是Striman和Pennebaker联合设计完成的对英文的文本分析得到作者性格的词典。黄金兰等人说明了SC-LIWC词典中含有的7444个词项[8]的每一项所具有的功能情况。

3.2.2.用户性格计算

将语音传入的收礼人的信息文本的分词集保存,分别找出每一个分词对应SC-LIWC词典中的词功能。通过SC-LIWC词典中词功能与五大类性格对应的关系,得出该分词的每个词对应的关系值。由于每个分词含有多个词功能,为能够整体的表示某一性格,取每个关系值的平均值。

Figure4.Userpersonalitycalculationlogicdiagram

4.1.卡片式布局设计

2)礼物故事以左右滑动卡片展示。

3)我的模块以卡片的形式展示更多的用户信息。

Figure5.Postcard

Figure6.Storycard

Figure7.Mycard

4.2.瀑布流式布局设计

Figure8.Waterfallflowimplementationprocessdiagram

Figure9.Theeffectofwaterfallflow

5.关键技术

5.1.基于同声传译的语音转文本

Step2:在需要使用该插件的小程序app.json文件中编写使用的插件版本、AppID等信息。引入代码如下:

plugins:{

WechatSI:{

version:0.2.2,

provider:wx069ba97219f66d99}}

Step3:在小程序index.js文件中引入,获取全局唯一的语音识别管理器recordRecoManager。获取js代码如下:

letmanager=plugin.getRecordRecognitionManager()

Step4:在小程序index.xml文件中编写视图,xml代码如下:

按下录音,松开结束

5.2.基于jieba库的中文分词

Jieba库是中文分词第三方库,支持三种分词模式即精确模式、全模式和搜索引擎模式,支持繁体分词和自定义词典。本文采用jieba库对获取的收礼人信息文本进行分词,使用Pycharm工具软件编写python程序引用jieba库,具体步骤如下:

1)安装jieba库

在cmd命令行下输入命令:pipinstalljieba;回车。

2)引入jieba库

在python程序中编写:importjieba。

Step1:构建前缀词典:基于统计词典构造前缀词典,统计词典有三列依次是词、词频和词性。

Step2:构建有向无环图:根据前缀词典对输入文本进行切分。对每个字,构建一个以位置为key,相应划分的末尾位置构成的列表为value的映射。

Step3:最大概率路径计算:将所有可能的切分方式构成有向无环图。图中从起点到终点存在多条路径即存在多种分词结果。采用从后往前的方式,利用动态规划算法计算最大概率路径。

5.3.数据获取与存储

5.3.1.视频、图片和文本数据获取与存储

a)用户编辑、拍摄、上传

b)后台管理员上传。系统将用户上传的数据存入数据库,用于后台从数据库中取出显示给用户。

Figure10.jiebawordsegmentationflowchart

1)用户数据获取与存储

Figure11.Userdataacquisitionandaccessprocessdiagram

2)管理员数据获取与存储

5.3.2.商品数据获取与存储

Step1:引用requests库调用get()方法获取要爬取信息的网页的html。

Step2:引用BeautifulSoup库,调用其中的方法解析html,获得数据。

Step3:引用MySQL库,连接数据库,将获取的数据存入数据库中。

Figure12.Diagramoftheprocessofadministratordataacquisitionandaccess

Figure13.Productdataacquisitionandstorageprocessdiagram

6.项目实现

Figure14.Home

Figure15.Collection

Figure16.Tailor-made

7.总结

系统以满足用户挑选礼物的各种需求为开发目的,将运用编写的基于用户性格的礼物推荐算法实现的智能礼物推荐功能作为亮点,并设计开发了通过关键字和分类搜索礼物、查看DIY礼物教程以及查看礼物精美帖子这些功能帮助用户挑选到满意的礼物,此外辅以用户发布礼物帖、好友生日提醒等功能,为用户解决了在礼物挑选面临的难题。

THE END
1.协同过滤(基于用户)的推荐系统.zip基于用户的协同过滤算法:给用户推荐与他兴趣相似的用户喜欢的物品。 协同过滤算法的优点包括: 无需事先对商品或用户进行分类或标注,适用于各种类型的数据。 算法简单易懂,容易实现和部署。 推荐结果准确性较高,能够为用户提供个性化的推荐服务。 然而,协同过滤算法也存在一些缺点: 对数据量和数据质量要求较高,需要大...https://www.iteye.com/resource/qq_44593353-12488115
2.基于深度神经网络的个性化推荐系统研究AET本文提出了基于深度神经网络结合多用户-项目、协同过滤的推荐模型(Multi-View-Collaborative Filtering integrating Deep Neural Network,MV-CFiDNN)[4-6],基于深度神经网络理论,提取用户、项目信息的深层隐含特征并自学习、优化提取模型,最后结合多用户-项目、协同过滤(Collaborative Filtering)提供广泛的个性化推荐。 http://www.chinaaet.com/tech/designapplication/3000096112
1.深入探索协同过滤:从原理到推荐模块案例2.基于用户的协同过滤推荐功能 前言 在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于协同过滤算法,这一实现个性化推荐的核心技术。我们将探讨基于用户和基于物品的两种协同过滤方法,并分析它们的优缺点。同时,深入讨论相似度计算方法,这是影响推荐效果的关键。通过两个具体案例——基于文章...https://blog.csdn.net/m0_48173416/article/details/141938942
2.相关商品推荐:基于协同过滤的推荐算法协同过滤推荐算法是一种根据用户之间的相互作用(例如购买、评分、喜好等)来推荐商品的算法。它可以分为基于用户的协同过滤和基于物品的协同过滤两种类型。 适用场景 协同过滤算法适用于很多领域,比如电商平台、社交网络、新闻推荐、音乐电影推荐等。通过分析用户的行为,协同过滤算法可以为用户提供个性化的推荐产品或内容,提...https://www.jianshu.com/p/396b7c403ee4
3.打造工业级推荐系统(十一):基于内容的推荐算法基于内容的推荐算法的基本原理是根据用户的历史行为,获得用户的兴趣偏好,为用户推荐跟他的兴趣偏好相似的标的物,读者可以直观上从下图理解基于内容的推荐算法。 图1:基于内容的推荐算法示意图 从上图也可以看出,要做基于内容的个性化推荐,一般需要三个步骤,它们分别是:基于用户信息及用户操作行为构建用户特征表示、基于...https://cloud.tencent.com/developer/news/598829
4.基于协同过滤的个性化Web推荐典型的推荐系统是基于协同过滤的。这种技术能够根据相似用户(或相似item)的评分来预测当前用户的兴趣。本论文的研究目的是推进基于协同过滤的个性化Web推荐技术的发展。 本文首先面向个性化产品推荐,提出了协同过滤的一种新相似度算法。相似度算法用来度量两个用户(或两个item)的相似程度,它对于协同过滤来说十分关键。https://wap.cnki.net/touch/web/Dissertation/Article/1012499161.nh.html
5.基于协同过滤的银行产品推荐系统建模基于协同过滤的银行产品推荐系统建模1 李欣璐,刘鲁 北京航空航天大学经济管理学院(100083),北京 摘 要:本文根据银行产品和银行业的自身特点,采用协同过滤算法,设计了银行产品推荐 系统模型。该模型从客户和产品两个方面对交易明细进行数据分析,避免了协同过滤算法中 早期数据冷起动问题,该系统模型最终生成的客户/产品/时...https://doc.mbalib.com/view/24d1b64326ed4662a3fd330da1f4b956.html
6.什么是个性化体验如何实现2.用户画像:基于数据分析的结果,可以建立用户画像,利用机器学习等技术,挖掘用户的潜在特征和需求,深入了解用户背后的逻辑和心理。 3.个性化推荐:个性化推荐是将用户的需求和产品进行匹配,推荐符合用户兴趣和偏好的产品和服务。个性化推荐可以采用基于协同过滤的算法和深度学习等技术,提高用户的点击率和转化率。 https://www.linkflowtech.com/news/2828
7.十个优秀开源推荐系统/算法/资源基于内容的推荐或者协同过滤算法各有优缺点。为了更准确地推荐产品,还可以使用混合推荐算法,即同时使用基于内容和协同过滤推荐产品。混合推荐算法具有更高的效率和更好的实用性。 三、10个最佳开源推荐系统相关资源 为了进一步理解推荐系统,以下收集了一些用于学习或者开发的最佳开源项目,包括:学习资源、开发包、完整的推荐...https://www.easemob.com/news/10998
8.论文快线INFORMSJ.Comput.:基于余弦模式的高效灵活的长尾推荐算法研...例如,Netflix的60%的租赁和35%的销售额归因于其推荐系统,Spotify上超过40%的用户持续收听该平台生成的个性化播放列表。多年来,研究人员提出了各种各样的方法——通常基于协同过滤(collective filter)技术——以提高推荐产品的相关性,但这些推荐系统也被证明通常具有“流行度偏差”,即倾向于推荐更为热门的产品或服务。https://sem.buaa.edu.cn/info/1172/13484.htm
9.基于协同过滤的个性化推荐算法电影推荐系统flzhang最近我在研究推荐系统算法,并将其中的一个常见算法——协同过滤应用在电影推荐系统中。在这篇博客中,我将向大家介绍协同过滤算法的原理以及如何使用该算法实现一个简单的电影推荐系统。 协同过滤算法的原理: 协同过滤算法是一种经典的推荐算法,它基于用户行为数据发现用户之间的相似性或物品之间的相似性,从而向用户推荐...https://blog.51cto.com/u_14316134/6903479