发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于社交媒体图片的地域分析、推荐方法及系统,通过对图片数据的处理和利用,能很好解决现有方法中重地标而忽略细节,以及过于依赖文字信息的问题。
根据本发明的一个方面,提供一种基于社交媒体图片的地域分析方法,包括如下步骤:
S1:图片收集:从社交网站上获取各个地区的图片;
S2:图片特征提取:对每张收集的图片,用深度神经网络提取固定长度的向量;
S3:图片地域分析:根据提取的所有图片的固定长度的向量,通过地域特征挖掘模型,将图片特征向量按照相似度进行聚类,将图片类别按照主题进行聚合,计算每个地域特征的图片类别分布,并得到每个地区的地域特征分布。
其中,地域特征挖掘模型,是指定聚类数目K1、地域特征数目K、地域数目M,以及每个区域的图片特征,通过变微分推断,计算出高斯分布图片类别分布{φk}k=1,...,K,地域地域特征分布{θm}m=1,...,M。
上述的S3,所述图片地域分析采用地域特征挖掘模型,该模型属于一个概率生成模型,它包括图片聚类、地域特征聚合和地域特征分析,
所述的图片聚类,是通过地域特征挖掘模型,仅有图片特征的情况下,自动将图片特征进行聚类,对于每一个类别k1,用高斯分布模拟并计算该高斯分布的均值和协方差系数其中I表示单位矩阵;
所述的地域特征聚合,是通过地域特征挖掘模型,仅有图片特征的情况下,自动将图片类别进行地域特征聚合,对于每个地域特征k,用多项式分布φk(φk=[(φkk′):k′=1,2,...,K1])模拟图片类别分布,通过对图片特征进行分析计算φk;
所述的地域特征分析,是通过地域特征挖掘模型,对每个地域得到一个地域特征分布,对于每个地域m,用多项式分布θm(θm=[(θmk):k=1,2,...,K])模拟地域特征分布,通过对图片特征进行分析计算θm。
优选地,所述的图片收集,运用网络爬虫技术从互联网上收集所要分析的地域的图片。
优选地,所述的图片特征提取,用在开源GoogLeNet数据集上训练好的深度卷积网络提取收集到的图片的特征M为地域数目。
根据本发明的第二方面,基于上述地域分析方法,提供一种基于社交媒体图片的地域推荐方法,包括如下步骤:
对于一个用户的单张图片,首先利用地域特征挖掘模型对图片进行类别指定,然后采用地域分析方法得到每个地域的特征分布和每个特征的图片类别分布,相乘得到每个地域的图片类别分布,选出在该单张图片的类别上概率值大的地域,进行推荐;
对于一个用户的图片集合,采用地域分析方法得到这个图片集合的地域特征分布,然后计算该分布与所有地域的特征分布的欧式距离,选择欧式距离小的地域,进行推荐。
根据本发明的第三方面,提供一种基于社交媒体图片的地域分析系统,包括:
图片收集模块:从社交网站上获取各个地区的图片;
图片特征提取模块:对每张从图片收集模块收集的图片,用深度神经网络提取固定长度的向量;
图片地域分析模块:根据图片特征提取模块提取的所有图片向量,通过地域特征挖掘模型,将图片特征按照相似度进行聚类,将图片类别按照主题进行聚合,计算每个地域特征的图片类别分布,并计算每个地区的地域特征分布。
所述的图片地域分析模块,是一个概率生成模型,它分为图片聚类模块、地域特征聚合模块和地域地域特征分析模块,其中:
所述的图片聚类模块,是通过地域特征挖掘模型,仅有图片特征的情况下,自动将图片特征进行聚类,对于每一个类别k1,用高斯分布模拟并计算该高斯分布的均值和协方差系数
所述的地域特征聚合模块,是通过地域特征挖掘模型,仅有图片特征的情况下,自动将图片类别进行地域特征聚合,对于每个地域特征k,用多项式分布φk模拟图片类别分布,通过对图片特征进行分析计算φk,即作为概率矩阵φK×K1中的第k行,该多项式分布体现了对于第k个地域特征,每个类对于该特征的贡献程度,即哪些类别对于这一特征更具有代表性,从而使用这些类别对该特征进行表达;
所述的地域地域特征分析模块,是通过地域特征挖掘模型,对每个地域得到一个地域特征分布,对于每个地域m,用多项式分布θm模拟地域特征分布,通过对图片特征进行分析计算θm,即作为概率矩阵θM×K中的第m行,该多项式分布体现了对于地域m,各个特征的贡献程度,即通过分布可以决定更具有代表性,从而使用这些特征来描述该地域。
根据本发明的第四方面,基于上述地域分析系统,提供一种基于社交媒体图片的地域推荐系统,包括:地域推荐模块,所述地域推荐模块包括:
单张图片推荐模块:对于一个用户的单张图片,首先利用地域特征挖掘模型对图片进行类别指定,然后采用地域分析方法得到每个地域的特征分布和每个特征的图片类别分布,相乘得到每个地域的图片类别分布,选出在该单张图片的类别上概率值大的地域,进行推荐;
图片集合推荐模块:对于一个用户的图片集合,采用地域分析方法得到这个图片集合的地域特征分布,然后计算该分布与所有地域的特征分布的欧式距离,选择欧式距离小的地域,进行推荐。
与现有技术相比,本发明具有如下的有益效果:
本发明通过挖掘社交媒体上的图片数据,利用图片数据提出地域特征挖掘的主题模型,将图片通过层次化的结构表示,直观而客观的展现出每个地域的特征。通过对地域特征的分析,再基于用户对于各种地域特征的喜好,可以更好的对用户进行推荐,通过对图片的利用,使得推荐结果更为精确,从而实现更好的推荐效果。
本发明依据推荐策略的不同可以应用于旅游网站,也可以用于社交媒体中的广告:在旅游网站上,用户可以一改之前的文字搜索模式,从而用图片进行搜索,在社交媒体上,系统会根据用户的相册,推荐相应的旅游地点。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
现有对于地域特点的分析及推荐,大多都是基于文字性的描述,这种描述属于抽象性的描述,往往得到的推荐结果不够精确,本发明通过对图片的利用,将地域特点更加直观和客观的展现,通过图片来进行的推荐,更能够符合平时用户的审美,从而实现更好的推荐效果。
基于社交媒体图片的地域分析主要包括:对各个地域特点的建模、以及地域特点及用户爱好进行推荐。
建模是实现推荐的基础,各个地域含有的地理、人文特征各不相同,通过各个地区的旅游、生活等各类图片,可以更直观,也更客观的了解一个地区的特色,从而对接到对用户进行地域推荐的应用上。当前卷积神经网络(CNNs)和主题模型广泛应用与数据挖掘领域,其中卷及神经网络对图片的识别率较高,能够提供强有力的特征提取工具;而同时主题模型能分层次的对一个地区进行更好的理解,从而清晰的描述出其中的地域特征。因此在本发明中,仅使用图片对地区特点进行分析。
如图1所示,为本发明针对现有问题,提供的一种基于社交媒体图片的地域分析方法,包括如下步骤:
S1:图片收集:从社交网站上获取各个地区的图片;
S2:图片特征提取:对每张收集的图片,用深度神经网络提取固定长度的向量;
S3:图片地域分析:根据提取的所有图片的固定长度的向量,通过地域特征挖掘模型,将图片特征向量按照相似度进行聚类,将图片类别按照主题进行聚合,计算每个地域特征的图片类别分布,并得到每个地区的地域特征分布;
如图2所示,为对应图1所示方法,实现的基于社交媒体图片的地域分析系统,包括:
图片收集模块:从社交网站上获取各个地区的图片;
图片特征提取模块:对每张从图片收集模块收集的图片,用深度神经网络提取固定长度的向量;
图片地域分析模块:根据图片特征提取模块提取的所有图片特征向量,通过地域特征挖掘模型,将图片特征按照相似度进行聚类,将图片类别按照主题进行聚合,计算每个地域特征的图片类别分布,并计算每个地区的地域特征分布。
进一步的,本发明在上述分析方法和系统基础上,采用其分析结果,进一步根据用户爱好进行推荐,基于社交媒体图片的地域推荐方法为:
对于一个用户的单张图片,首先利用地域特征挖掘模型对图片进行类别指定,然后采用所述地域分析方法得到每个地域的特征分布和每个特征的图片类别分布,相乘得到每个地域的图片类别分布,选出在该单张图片的类别上概率值大的地域,进行推荐;
对于一个用户的图片集合,采用所述地域分析方法得到这个图片集合的地域特征分布,然后计算该分布与所有地域的特征分布的欧式距离,选择欧式距离小的地域,进行推荐。
对应于上述的推荐方法,基于社交媒体图片的地域推荐系统包括地域推荐模块;所述地域推荐模块包括:
单张图片推荐模块:对于一个用户的单张图片,首先利用地域特征挖掘模型对图片进行类别指定,然后采用所述地域分析系统得到每个地域的特征分布和每个特征的图片类别分布,相乘得到每个地域的图片类别分布,选出在该单张图片的类别上概率值大的地域,进行推荐;
图片集合推荐模块:对于一个用户的图片集合,采用所述地域分析系统得到这个图片集合的地域特征分布,然后计算该分布与所有地域的特征分布的欧式距离,选择欧式距离小的地域,进行推荐。
基于上述说明可知,本发明提供的一种基于社交媒体图片的地域分析和推荐方法及系统,主要分三部分:(一)社交媒体图片的收集和预处理;(二)图片特征提取;(三)图片分析地域特征,(四)根据用户兴趣进行地域推荐。
下面进行详细介绍:
(一)图片收集
系统在Flickr Community上获取了足够大的数据集,根据他们的GPS信息,将这些图片划分到各个省份(行政区)。
(二)图片特征提取
利用深度卷积神经网络GoogLeNet,提取出每一张图片的特征向量,每个向量为1024维。当然,在其他实施例中,也可以是其他维数。
(三)图片分析地域特征
根据提取的所有图片的固定长度的向量,通过地域特征挖掘模型,将图片特征向量按照相似度进行聚类,将图片类别按照主题进行聚合,计算每个地域特征的图片类别分布,并得到每个地区的地域特征分布:
所述图片地域分析采用地域特征挖掘模型,它包括图片聚类、地域特征聚合和地域特征分析。具体的:
1.地域特征挖掘模型是一个概率生成模型,模型基于以下两个先验知识:一个地区有一个或多个地域特征;每个特征包含至少一个方面,可以用类的集合来表示。
2.根据地域特征挖掘模型,有以下两个分布:任意一个地域特征k关于类的分布φk;任意一个地区m中的地域特征分布θm。
a)其中,对于第k种地域特征,类的分布向量为φk=[(φkk′):k′=1,2,...,K1],其中K1为聚类数目,φkk′为地域特征k中出现k′聚类的概率,也就是该聚类对于该地域特征的代表性强弱。对于每个类别,概率较大的聚类反映这个特征的构成。
b)对于一个地区m,该地区中地域特征概率的向量为θm=[(θmk):k=1,2,...,K],其中K为地域特征个数,θmk为地区m占有地域特征k的概率。对于每个地区,概率较大的地域特征反映这个地区的特征构成。
3.地域特征挖掘模型是一个概率生成模型,对地区m来说,第n张图片由如下步骤生成:
a)根据训练好的参数,从参数为αm(训练之前,该参数初始可随机设置,会在学习过程中进行调整)的狄利克莱分布中选择地域特征分布矩阵中第m行θm;
b)根据多项式分布θm从中选择一个地域特征im,n,即之前提到的地域特征k;
c)根据多项式分布从中选出一个类zm,n,即之前提到的类别k′;
d)根据高斯分布从中依据该聚类的均值和协方差选出一个图片特征向量vm,n,其中I为单位矩阵。
这样就生成了地区m的第n张图片,对应的图模型如图3所示。
4.求解上述地域特征挖掘模型中的等参数,对图片数据使用变微分采样的方法,通过EM算法迭代更新。M为地区数,Nm表示地区m的图片数,i=1,2,…,M,j=1,2,…,N,k=1,2,…,K,k′=1,2,…,K′,EM算法具体步骤如下:
a)根据概率采样地域特征其中,为了方便公式表示,将以下参数在公式中简化,说明如下:α为狄利克雷分布参数,是一个M维度的狄利克雷分布;θ,φ,i,z均为多项式分布参数,其中θ,φ为两个概率矩阵,对应前文的θM×K,φK×K1,i,z也为两个概率矩阵,iN×K,zN×K1,矩阵第n行中,in表示第n张图片关于地域特征的概率分布,分布中概率最高值决定其所属地域特征k,同理,zn第n张图片关于聚类类别的概率分布,分布中概率最高值决定该图片所属类别k′,以上矩阵每一行均为一个多项式分布;μ,σ为高斯分布参数,其中,高斯分布中均值为一个K1维度的向量μ,协方差为一个维度K1×K1的方阵σI,σ为常数,I为单位矩阵。以上参数均在初始时随机生成,根据步骤d)和e)中的公式在学习过程中迭代更新,唯一非随机生成的参数为图片特征向量v,其维度根据特征提取方法决定,例如,所使用的GoogLeNet提取出来的特征向量为1024维;
b)假设分布为:q(θ,i,z)=q(θ|γ)q(i|ψ)q(z|Φ),其中γ为狄利克雷参数,ψ和Φ为多项式分布参数,在初始情况下,以上参数均随机生成,在学习过程中会根据步骤d)和e)中的公式进行迭代更新;
c)在迭代中依次重复步骤d)和e)直到收敛;
d)期望计算步骤:
计算变微分分布中的参数γ,ψ和Φ,对于地域m中的第j张图片,在第k类地域特征中,在学习过程中更新如下参数,
其中,m=1,2,...,M,j=1,2,...,N,k=1,2,...,K,Ψ(x)为digamma函数,即对gamma函数求导后的结果。
e)期望最大化步骤:
更新模型中的参数φkk′,μk′,σk′,对于第k类地域特征,在第k′类别中,在学习过程中迭代更新如下参数,
其中k=1,2,...,K,vij为第m个地区中第j张图片的特征向量,I为前文中提到的单位矩阵。
(四)根据用户兴趣进行地域推荐
1.根据得到的地域特征矩阵θM×K和类别矩阵φK×K1,对这些地区分析,可以了解到这个地区具有代表性的特征,通过对类分布分析,取出概率较高的类可以清楚的描述该地区各项地域特征的特点。比如图4所示,为对于北京的地域特征分析。
2.对地区推荐分两种策略,一类是用户输入单张图片进行搜索,另一类是已知用户的相册集,系统自动推荐。前一类可以应用于搜索引擎等搜索工具,后一类应用的场景是当用户登录社交媒体时,系统会根据其相册集,进行相关地区的推荐。
a)当用户输入单张图片时,推荐的步骤如下(流程图如图5所示):
1)根据已经求出的地域特征矩阵θM×K和类别矩阵φK×K1,通过矩阵相乘运算得到每个类关于地区的概率分布ε,描述该聚类主题更符合哪一地区的概率;
2)根据输入图片,提取特征,通过模型参数计算出其类的分布z,取出其中概率最大zmax的索引i,即zi=zmax,在矩阵ε找到索引对应的地区分布向量εi,在该向量中取概率较高的地区即可进行推荐。
b)当已知用户的相册集时,推荐的步骤如下:
1)对相册集中的图片进行特征提取;
2)通过模型计算出用户中的地域特征兴趣分布θuser;
3)利用欧式距离公式定义地域特征区分度其中m=1,2,...,M;
根据区分度,选取区分度小的地区进行推荐。
所述的地域推荐模块,当一个用户拥有一张图片时,首先对图片特征提取模块提取图片特征v,计算该特征在所有高斯分布的概率密度值,选取概率密度最大的一个作为图片的类别k1,然后利用计算所有地域的图片类别分布,选出对这个图片类别有较大概率的地域,进行推荐。
当用户有多张图片时,首先用地域特征挖掘模型推断出这些图片的地域特征分布θ,然后根据其与所有地域地域特征分布{θm}m=1,...,M的欧式距离选出欧式距离较小的地域,进行推荐。
本发明根据社交媒体网络中不同地区的图片,充分了解各个地区的地理及人文特征,通过地域特征挖掘模型,将图片进行聚类,将具有代表性的类别用来从不同方面描述各个地理特征,并计算出每个地区中地域特征的分布,找出具有代表性的特征。根据以上分布对每个地区进行特征分析,向用户根据其兴趣爱好推荐适合的地区。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。