庞正扬 赵媛
摘要
梳理现有智能推荐系统文献研究,对大众点评网某个用户五年(2012-2017)的评论数据进行网络爬取、量化影响该用户选择餐厅的主要因素,利用Python进行文本情感分析、神经网络建模,并针对数据处理结果进行分析,揭示该用户的饮食偏好,从而决定是否给用户推荐未来可能出现在用户选择中的餐厅。
【关键词】网络爬虫 文本挖掘 神经网络 智能推荐
1 问题背景
互联网时代给传统商务系统带来了前所未有的冲击,用户能够快速获得物品相关信息的能力使用户在现代商务系统中占据主导地位。新时代下的商务系统必须能够更快地发现用户需求的变化趋势,这一需求大大促进了智能推荐系统的快速发展。智能推荐系统并非局限于一种营销策略——仅用于帮助用户了解商品以促进商务流动,它也同时作为改进销售策略的工具,保证系统的自动化、智能化,通过其学习的普适性加强用户与系统的互动与粘性。
而大众点评网经过近15年的发展,已经成为了中国领先的本地生活信息及交易平台,也是全球最早建立的独立第三方消费点评网站,积累了大量的用户与相关反馈,适合引入智能推荐系统拓宽其经营范围。这样系统就可根据顾客本人的喜好、历史访问留下的信息等完成网上浏览、购买的过程,提供的是个性化的服务,这也是未来网上服务发展的趋势。
本文考虑到大众点评网的商务推荐功能需求,实现了一个商务评分推荐系统的初步试点,通过对某用户五年的评论分析求得智能推荐的可行性与准确度,测试了所有已支持推荐算法的性能。
2 相关理论
2.1 网络爬虫
网络爬虫(Web Crawler),又称为网络蜘蛛(Web Spider)或Web信息采集器,是一个自动下载网页HTML并按一定规则提取信息的计算机程序或自动化脚本,是搜索引擎的重要组成部分。本文中所使用到的网络爬虫主要包括URL管理器、HTML下载器、HTML解析器和主程序4个部分组成,其中URL管理器用来存储待爬取和已爬取的切U,HTML下载器向服务器发送请求以获取网页的HTML,HTML解析器运用BeautifulSoup进行网页的结构化解析以获取网页中的数据和URL并存储到MySQL数据库中。
2.2 文本情感分析
文本情感分析简单来讲就是分析一句话说得是很主观还是客观描述,分析这句话表达的是积极的情绪还是消极的情绪。在进行中文文本情感分析的过程中,由于词与词中间没有像英文句子一样的间隔,因此需要根据大量的语料库进行分词训练。此时引入结巴分词,这是基于人工标注的词性和统计特征,对中文进行建模,即根据观测到的数据(标注好的语料)对模型参数进行估计,即训练。在分词阶段再通过模型计算各种分词出现的概率,将概率最大的分词结果作为最终结果。
2.3 神经网络
神经网络是模拟人脑神经元活动的过程,其中包括对信息的加工、处理、存储、搜索等过程。本文中使用的是神经网络中的多层感知器MLP,是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP是感知器的推广,克服了感知器不能对线性不可分数据进行识别的弱点。
3 应用过程
3.1 数据获取
本文的数据是使用python爬虫技术爬取,分为两步,第一步爬取某一用户所有评论过的店的URL以及其评论文本,第二步进入所有店的URL对应的网页以爬取其对应商户的一些信息。获取数据共641条记录,其中有14个字段分别为评论编号、商户编号、商户名称、商户星级、商户位置、商户类型、评论数、人均消费、口味评分、环境评分、服务评分、商户UFRL,用户评论和评论日期。
3.2 文本情感分析
本文提供了主要的算法步骤:
第一步:读取评论数据,对评论进行分句。
第二步:查找对分句的情感词,记录积极还是消极,以及位置。
第三步:往情感词前查找程度词,找到就停止搜寻。为程度词设权值,乘以情感值。
第四步:往情感词前查找否定词,找完全否定词,若数量为奇数,乘以一1,若为偶数,乘以I。
第五步:判断分句结尾是否有感叹号,有叹号则往前寻找情感词,有则相应的情感值+2。
第六步:计算完一条评论所有分句的情感值,用数组(list)记录起来。
第七步:计算并记录所有评论的情感值。
第八步:通过分句计算每条评论的积极情感均值,消极情感均值,积极情感方差,消极情感方差。
3.3 数据清洗与整理
将数据导入SPSS中对其进行数据清理。
(1)缺失值的剔除;
(2)建立新的指标:综合情感值一积极情感值一消极情感值;
(3)分别计算综合情感值平均值(Al)、积极情感值平均值(A2)、消极情感值平均值(A3)、综合情感值四分位数(A4)、积极情感值四分位数(A5)、消极情感值四分位数(A6);
(4)构建“是否推荐”指标:如果每一个体值分别大于At,A2,A3,A4,A5,A6,则分别标记推荐(值为1),否则标记不推荐(值为0)如图11图2.
3.4 建立MLP模型
(1)为了减少誤差,多次使用MLP模型,求得其检验正确百分比,最后求得平均数。
(2)为了防止过度训练,对样本进行重新分配,总369样本,测试样本为10%,培训样本由原来的90%缩减至70%,另外的20%分配给支持样本。
3.5 结果分析
(1)MLP神经网络图,模型包括I个输入层、I个隐藏层和I个输出层。
如表I,模型分类表,软件默认采用0.5作为正确和错误的概率分界,将2大分区样本的正确率进行交叉对比,显示出预测为。,即预测为不推荐的概率(100%)高于推荐的概率,模型对向客户推荐的能力较低,测试结果只为23.I%。
通过多次建立MLP模型,算出模型检验的正确概率平均值为75.3 5%,可以看出模型总体检验预测能力还是比较理想的。
(2)为防止过度训练,调整参数后得到以下结果,如表2。
测试样本正确率为73.5%,和计算的平均值接近,说明该模型过度训练程度较少。
4 结论与展望
本文使用神经网络预测模型,为一个大众点评的消费者的建立了适合他的“推荐模型”,大众点评可以为每一个使用软件次数频繁的消费者建立属于他们自己的“推荐模型”,以此来解决上述问题。
当然不仅针对大众点评这类餐饮型的APP,我们也可以将这种思想方法运用到很多领域。比如住宿类:以爱彼迎(民宿APP)为例,可以为消费者建立“推荐模型”,而不仅仅靠关联规则等评判信息,以此来达到更加智能化的优质服务。
神经网络、文本挖掘、网络爬虫已经作为现代商业中十分重要的工具,可以说谁掌握了数据挖掘与信息管理的能力,谁就能在市场中取得更高的份额,实现更高的价值。
参考文献
[1]牟少霞.基于智能终端的移动电子商务商业模式研究(D).山东师范大学,2014.
[2]程敏.大众点评网的互动性对消费者食品购买意向的影响研究[D].海南大学,2017.
[3]赵卿.大众点评统一菜单系统的设计与实现[D].南京大学,2016.
[4]方观声.美团大众020电子商务模式的发展研究[D].暨南大学,2016.