一种基于深度学习的商品推荐方法及系统与流程

文档序号:11584170阅读:163来源:国知局
一种基于深度学习的商品推荐方法及系统与流程
本发明涉及一种推荐方法,特别是一种基于深度学习的商品推荐方法及系统。
背景技术
:伴随着互联网的发展,电子商务作为新兴产业应运而生,电子商务把商品从实体店搬运到网络的虚拟环境中,使得用户足不出户就可以购物。虚拟购物的优势在于降低了卖家的成本,提高了买家的购物体验。但对于网络购物的用户来说,网络上纷繁多样的商品给挑选带来了麻烦。解决这一问题的方法就是使用推荐系统为用户做出个性化的物品推荐,也就是说可以通过分析用户以往购物的浏览、点击、购买,评论等行为以及用户自身的属性得出用户的潜在兴趣,从而将用户感兴趣的商品推荐给用户。个性化推荐的意义在于可以提高用户挑选商品的效率,对于电子商务网站而言,精准的个性化推荐可以提高用户行为的转化率,从而提高网站的收益。amazon是电子商务领域运用推荐系统的代表,amazon的前科学家greglinden在他的博客中提到,2006年,推荐系统对amazon的贡献额在35%左右。目前推荐系统在互联网上已经得到了广泛的应用,netflix曾开出100万美元的奖金,奖励给能将其电影推荐精度提高10%的个人或者团队,除此以外,推荐系统应用的例子还有google的新闻推荐、delicious的网页推荐、facebook的朋友推荐等。推荐系统可以分成三类:基于内容推荐、协同过滤推荐和基于内容和协同过滤的混合推荐。基于内容推荐是基于用户和物品的内容信息做出推荐,不需要用户对物品的评价,即用户行为,因此该方法没有冷启动和数据稀疏性问题。基于内容推荐的主要缺点是要求抽取的特征既要保证准确性又要有实际意义,通常情况下这是很难做到的。协同过滤推荐的基本原理是给目标用户推荐和其相似的用户喜好的物品或者给目标用户推荐和其以往有过行为的物品相似的物品。协同过滤的优点是能够共享他人的经验,从而能够避免基于内容推荐存在的内容分析不完全和不精确的问题,并且能够基于一些复杂的、难以表述的概念(如个人品味)进行过滤。但由于协同过滤方法依赖用户行为数据,因此存在冷启动和数据稀疏性问题。基于内容和协同过滤的混合推荐结合了上述两类推荐方法的优点,将内容和用户行为互相作为信息补充,从而降低了抽取所得特征的准确性对基于内容推荐的影响以及用户行为数据稀疏性对协同过滤推荐的影响。然而,大部分的推荐系统依赖于用户对项目的历史评分记录来预测新的商品的打分,但是针对一些商品,如酒店餐馆等的情况,用户只有对商品的点评记录,没有打分的情况则没有好的办法进行处理。技术实现要素:本发明的目的在于克服现有技术的缺点与不足,提供了一种基于深度学习的商品推荐方法及系统。本发明通过以下的方案实现:一种基于深度学习的商品推荐方法,包括以下步骤:s1:通过爬虫抓取商品的评论数据;s2:对评论数据进行数据预处理;s3:对数据进行特征提取;s4:对商品评论进行细粒度分析;s5:对商品评论进行量化打分;s6:结合协同过滤进行商品推荐。作为本发明的进一步改进,所述步骤s2中,具体包括以下步骤:s21:对评论数据进行分词;s22:进行停用词过滤;s23:对词性进行标注。作为本发明的进一步改进,所述步骤s3具体为:通过词频分析工具统计商品评论语料中所有名词出现的频率。作为本发明的进一步改进,所述步骤s4中具体包括以下步骤:s41:对商品评论文本单词进行向量化;s42:通过深度递归网络的细粒度情感分析模型进行情感分析。作为本发明的进一步改进,所述步骤s5中具体为:构造矩阵将对应词语模糊量化和构造情感词语所对应的模糊集合,将商品评论转化为评分矩阵r[u][i],标志用户u对物品i的评分。本发明还提供了一种基于深度学习的商品推荐系统,其包括:数据抓取模块,用于通过爬虫抓取商品的评论数据;预处理模块,用于对评论数据进行数据预处理;特征提取模块,用于对数据进行特征提取;细粒度分析模块,用于对商品评论进行细粒度分析;量化打分模块,用于对商品评论进行量化打分;推荐模块,用于结合协同过滤进行商品推荐。作为本发明的进一步改进,所述预处理模块包括:分词子模块,用于对评论数据进行分词。停用词过滤子模块,用于进行停用词过滤。词性标注子模块,用于对词性进行标注。作为本发明的进一步改进,所述特征提取模块通过词频分析工具统计商品评论语料中所有名词出现的频率。作为本发明的进一步改进,所述细粒度分析模块包括:向量化子模块,用于对商品评论文本单词进行向量化;情感分析模块,用于通过深度递归网络的细粒度情感分析模型进行情感分析。作为本发明的进一步改进,所述量化打分模块通过构造矩阵将对应词语模糊量化和构造情感词语所对应的模糊集合,将商品评论转化为评分矩阵r[u][i],标志用户u对物品i的评分。相比于现有技术,本发明结合深度学习的方法对文本进行细化处理,并将其通过模糊隶属函数进行量化,可将用户的评论转化为对商品各项属性的打分情况,再结合协同过滤方法进行推荐,可达到较好的推荐效果。为了更好地理解和实施,下面结合附图详细说明本发明。附图说明图1是本发明的基于深度学习的商品推荐方法的步骤流程图。图2是本发明的商品评论文本的细粒度分析过程示意图。图3是递归自编码的神经网络结构图。图4是两类不同的样本数据示意图。图5是发明的基于深度学习的商品推荐系统的模块框图。图6是分词后的示意图。图7是宾馆餐饮特征和指示词的示意图。具体实施方式以下结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。为了解决现有技术的缺陷,本发明提供了一种基于深度学习的商品推荐方法和系统。以下具体介绍本发明的技术方案:请参阅图1,其为本发明的基于深度学习的商品推荐方法的步骤流程图。本发明提供了一种基于深度学习的商品推荐方法,包括以下步骤:s1:通过爬虫抓取商品的评论数据。s2:对评论数据进行数据预处理。具体的,所述步骤s2中具体包括以下步骤:s21:对评论数据进行分词。s22:进行停用词过滤。s23:对词性进行标注。例如:针对宾馆,酒店,饭馆等的评论及打分通过爬虫抓取后进行预处理。具体可以采用中科院ictclas开源项目软件对评论语料进行分词、停用词过滤词性标注。通过词性标注,可以判断评论语料的词性,帮助我们提取出产品特征和识别用户观点。s3:对数据进行特征提取,具体为:通过词频分析工具统计商品评论语料中所有名词出现的频率。例如,可以使用词频分析工具软件统计评论语料中所有名词出现的频率,抽取排名在100位之前的名词,人工判别其是否与商品如宾馆餐饮等有关。保留诸如“菜系”“地域”这些与宾馆餐饮有关的特征。在此基础上将这些特征分类,由此得到宾馆餐饮特征和指示词。s4:对商品评论进行细粒度分析。其中,在所述步骤s4中具体包括以下两个步骤:s41:对商品评论文本单词进行向量化;s42:通过深度递归网络的细粒度情感分析模型进行情感分析。请参阅图2,其为本发明的商品评论文本的细粒度分析过程示意图。在进行细粒度分析过程中,包括评论文本单词向量化和情感分析,具体的分析过程如下:(a)评论文本单词向量化面对非结构性评论文本,先将词汇进行向量化。建立词向量空间通过无监督语义word2vec模型进行训练。word2vec是以神经概率语言模型为基础。(b)基于深度递归网络的细粒度情感分析模型由上下文语义训练得到的词向量空间对单词语义关联具有很大价值,语义向量空间常常被作为文本特征进行探究。然而当需要一个规则的方法来表达一个词组或语句的意义,词向量去表现乏力,因此需要建立一个能够融合单词语义的模型。2011年richardsocher等人提出了使用递归自编码(rae)模型对词的组合性进行特征提取,从而进一步完成对句子的情感分类。递归自编码模型构造的第一层神经网络为无监督递归自编码模型,因此首先建立无监督的段向量递归自编码模型。例如,子节点x1“白云”的向量表示为[0.1,0.5,0.7…],子节点x2“宾馆”的向量表示为[0.3,0.5,0.1…],通过自编码的递归网络就可以得到它们父节点y“白云宾馆”的向量表示,即x1,x2可以通过非线性函数映射到y=f(w(1)[x1;x2]+b(1));(1-1)其中[x1;x2]∈r2n,w(1)∈rn×2n为网络中的参数矩阵;b(1)∈rn为偏置项。为了验证父节点y对子节点x1,x2的信息保留程度,我们将通过建立一层重构层,通过y重构出x1,x2:其中是重构子节点;是参数矩阵;b(2)∈rn是偏置项。所以递归自编码的神经网络结构如图3所示。使用欧式距离衡量重构节点与原节点相似程度:为了解决叶子节点与非叶子节点重要性问题,避免单个词语对整个句子意思的控制,达到平衡误差的效果,我们重新给出对重构误差eres的定义:其中n1为x1的叶子节点个数;n2为x2的叶子节点个数;θ为网络所有的未知参数统一表示。当我们对整条评论进行递归地使用模型,结合梯度下降优化算法,便可以得到整条评论的n维段向量,此时目标函数为:其中c为整个评论语料库,y表示一条评论,s为每一层递归网络。在无监督的递归自编码模型基础上,引入情感极性实现对父节点向量的分类,采用softmax单层神经网络进行情感学习。用情感向量ps来描述一个词组的情感极性:其中为softmax的参数矩阵(k为情感极性的维度,如果只有积极、消极两类,则k=2,分类越细化,k值越大)。s5:对商品评论进行量化打分。具体的,经过语料分析和情感分析之后可得到商品的特征和属性集,如针对酒店可选取特征词“服务,位置,餐饮,房间设施,卫生,卫浴,网络”等,如网络上对于苏州南园宾馆的评论有367条,经过分析可得到以下结果:“服务周到(165)位置优越(90)餐饮不错(75)房间设施好(59)卫生干净(32)卫浴好(15)网络好(5)安静(1)房间设施差(26)”。后面的数字表示人数统计,为了便于构造矩阵将对应词语模糊量化,构造情感词语所对应的模糊集合,如“很好”表示9.5分,“好”则是8分,“一般”6.5分,“差”4分,“极差”2分,以此类推。用户对宾馆的总体打分采取对各个分项(如服务,位置,房间设施等)加权求和的结果。用户的评分行为可以表示成一个评分矩阵r,r[u][i]表示用户u对物品i的评分。s6:结合协同过滤进行商品推荐。在本步骤中具体的采用基于项目的协同过滤方法进行推荐,它使用用户对物品或者信息的偏好,发现物品和物品之间的相似度,然后根据用户的历史打分信息,将类似的物品推荐给用户。具体的过程和原理如下:根据对评论文本的分析,得出的结果经模糊集量化后,再进行加权平均。1、针对积极的情感,如服务周到(165),有165人点评服务周到,点评总人数190,则对服务最终打分为9.5*165/190。2、针对消极的情感,如房间设施差(26),即190人有26人点评房间设施差,则针对房间设施的打分=4*(190-26)/190。经过处理后可得到以下矩阵:宾馆名称服务位置餐饮房间设施卫生卫浴网络...宾馆19665658...宾馆25947875...宾馆34846.5875...宾馆48755668.............................采用最近邻查询计算项目与项目之间的相似性,搜索目标项目的最近邻居;产生推荐阶段是根据用户对目标项目的最近邻居的评分信息预测目标项目的评分,最后产生前n个推荐信息。最近邻算法(knn)原理:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。knn算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。例如:根据下图4所示,有两类不同的样本数据,分别用的小正方形和小三角形表示,而图正中间的那个圆点所标示的数据则是待分类的数据。也就是说,现在,我们不知道中间那个绿色的数据是从属于哪一类(小正方形or小三角形)1)如果k=3,圆点的最近的3个邻居是2个小三角形和1个小正方形,少数从属于多数,基于统计的方法,判定绿色的这个待分类点属于的三角形一类。2)如果k=5,圆点的最近的5个邻居是2个三角形和3个的正方形,还是少数从属于多数,基于统计的方法,判定这个待分类点属于的正方形一类。k近邻模型的特征空间一般是n维实数向量空间,使用的距离是欧式距离(如空间x,y两点的距离如下):另外,为了实现上述的推荐方法,本发明还提供了一种基于深度学习的商品推荐系统。请同时参阅图5,其为本发明的基于深度学习的商品推荐系统的模块框图。本发明还提供了一种基于深度学习的商品推荐系统,其包括:数据抓取模块1、预处理模块2、特征提取模块3、细粒度分析模块4、量化打分模块5和推荐模块6。所述数据抓取模块1,用于通过爬虫抓取商品的评论数据;所述预处理模块2,用于对评论数据进行数据预处理。具体的,所述预处理模块包括:分词子模块21、停用词过滤子模块22和词性标注子模块23。所述分词子模块21,用于对评论数据进行分词。所述停用词过滤子模块22,用于进行停用词过滤。所述词性标注子模23块,用于对词性进行标注。所述特征提取模块3,用于对数据进行特征提取。具体的,所述特征提取模块通过词频分析工具统计商品评论语料中所有名词出现的频率。所述细粒度分析模块4,用于对商品评论进行细粒度分析。具体的,所述细粒度分析模块包括:向量化子模块41和情感分析模块42。所述向量化子模块41,用于对商品评论文本单词进行向量化;所述情感分析模块42,用于通过深度递归网络的细粒度情感分析模型进行情感分析。所述量化打分模块5,用于对商品评论进行量化打分。具体的,所述量化打分模块通过构造矩阵将对应词语模糊量化和构造情感词语所对应的模糊集合,将商品评论转化为评分矩阵r[u][i],标志用户u对物品i的评分。所述推荐模块6,用于结合协同过滤进行商品推荐。本发明的基于深度学习的商品推荐系统的实现过程和原理,可以参阅上述基于深度学习的商品推荐方法,故不赘述。以下通过一个具体的实例,介绍本发明的基于深度学习的商品推荐方法是如何应用的:步骤1、爬取携程艺龙网的酒店评论文本。例如针对九寨沟郦湾度假酒店的评论:“离九寨沟客运汽车站步行5分钟,慢走最多7分钟就到了,就在汽车客运站门前的隔壁的隔壁的隔壁就是,门脸还算很大气,比九寨一般酒店装修新不少,一看就是这一两年新建的,三四层楼吧,房间内部装修也算用心,发图片给我之前去过酒店的朋友看,他们都很惊讶九寨那么偏远的山沟沟景区都有这么华丽的酒店了他们都很惊讶和羡慕,屋内地热取暖,没有电热毯,但地热升温超级快,踩在地上很舒服,洗澡电视被褥都满意,价格是一晚197元,淡季全是最高档的酒店吧,就这种住宿条件,旺季应该七八百吧”。步骤2、数据预处理采用中科院ictclas开源项目软件对评论语料进行分词、停用词过滤,词性标注。通过词性标注,可以判断评论语料的词性。如图6所示,其为分词后的示意图。具体的,在附图中采用不同深度的颜色代表不同的词性,词后所加的字母也代表该词的词性。步骤3、使用词频分析工具软件统计评论语料中所有名词出现的频率,抽取排名在100位之前的名词,人工判别其是否与商品如宾馆餐饮等有关。保留诸如“菜系”“地域”这些与宾馆餐饮有关的特征。在此基础上将这些特征分类,由此得到宾馆餐饮特征和指示词,具体参见图7,其为宾馆餐饮特征和指示词的示意图。步骤4、酒店评论文本细粒度分析先用word2vec工具将文本向量化,向量化之后输入深度递归网络进行分析。步骤5、对输出结果统计并量化经过语料分析和情感分析之后可得到商品的特征和属性集,如针对酒店可选取特征词“服务,位置,餐饮,房间设施,卫生,卫浴,网络”等,如网络上对于九寨沟郦湾度假酒店的评论有367条,经过分析可得到以下结果:“服务周到(165)位置优越(90)餐饮不错(75)房间设施好(59)卫生干净(32)卫浴好(15)网络好(5)安静(1)房间设施差(26)”。后面的数字表示人数统计,为了便于构造矩阵将对应词语模糊量化,构造情感词语所对应的模糊集合,如“很好”表示9.5分,“好”则是8分,“一般”6.5分,“差”4分,“极差”2分,以此类推。用户对宾馆的总体打分采取对各个分项(如服务,位置,房间设施等)加权求和的结果。用户的评分行为可以表示成一个评分矩阵r,r[u][i]表示用户u对物品i的评分。步骤6、采用基于项目的协同过滤方法进行推荐,它使用用户对物品或者信息的偏好,发现物品和物品之间的相似度,然后根据用户的历史打分信息,将类似的物品推荐给用户。根据对评论文本的分析,得出的结果经模糊集量化后,再进行加权平均。1、针对积极的情感,如服务周到(165),有165人点评服务周到,点评总人数190,则对服务最终打分为9.5*165/190。2、针对消极的情感,如房间设施差(26),即190人有26人点评房间设施差,则针对房间设施的打分=4*(190-26)/190.经过处理后可得到以下矩阵:采用最近邻查询计算项目与项目之间的相似性,搜索目标项目的最近邻居;产生推荐阶段是根据用户对目标项目的最近邻居的评分信息预测目标项目的评分,最后产生前n个推荐信息。相比于现有技术,本发明结合深度学习的方法对文本进行细化处理,并将其通过模糊隶属函数进行量化,可将用户的评论转化为对商品各项属性的打分情况,再结合协同过滤方法进行推荐,可达到较好的推荐效果。上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1