CN103577592A - 基于性格相似度匹配计算的网络社区用户好友推荐方法 - Google Patents
基于性格相似度匹配计算的网络社区用户好友推荐方法 Download PDFInfo
- Publication number
- CN103577592A CN103577592A CN201310565879.XA CN201310565879A CN103577592A CN 103577592 A CN103577592 A CN 103577592A CN 201310565879 A CN201310565879 A CN 201310565879A CN 103577592 A CN103577592 A CN 103577592A
- Authority
- CN
- China
- Prior art keywords
- interest
- similarity
- degree
- user
- sim
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Abstract
基于性格相似度匹配计算的网络社区用户好友推荐方法,通过用性格表征用户特点,建立性格模型,完成性格建模、性格相似度计算与判定,进而实现社区用户好友智能推荐的方法。本发明基于性格相似度匹配计算的网络社区用户好友推荐方法,通过网络社区用户性格模型的建立,能较好地反映基于用户性格的活动特征信息,可以更好地反映网络社区用户真实的兴趣与应用趋向;以此为基础,通过用户性格相似性匹配计算,实现用户好友智能推荐,能很好地应用于当前网络社区用户好友关系圈的建立中,解决当前社区网站在服务效果与用户需求之间仍然存在着巨大差距的问题。
Description
技术领域
本发明属于WEB网络社区个性化服务技术领域,具体涉及一种基于性格相似度匹配计算的网络社区用户好友推荐方法。
背景技术
随着互联网社区网站的飞速发展,通过收集和分析用户的信息来学习用户的性格、兴趣和行为,建立对用户性格的描述,研究不同用户的性格取向,实现网络社区用户好友智能推荐是目前互联网社区发展的一个重要方面。
研究发现,目前社区网站在服务效果与用户需求之间仍然存在着巨大差距。其根源在于社区网站仅仅通过衡量用户的静态信息一致性和共同好友数量实现推荐,进而实现信息分享。这种技术手段,首先,它没有考虑到用户的特征并不仅仅由用户的静态信息决定,更多的体现在用户的行为及其行为变化上。其次,它缺乏服务的即时性,用户的特征不是一成不变的,所以推荐的结果也应该有相应的变化。因此,研究用户的性格特征,建立性格模型,完成性格相似度计算,是改进目前基于用户静态信息和共同好友数目的推荐方法的可行技术方案。
发明内容
本发明的目的是提供一种基于性格相似度匹配计算的网络社区用户好友推荐方法,解决当前社区网站在服务效果与用户需求之间仍然存在着巨大差距的问题。
本发明所采用的技术方案是,基于性格相似度匹配计算的网络社区用户好友推荐方法,具体步骤如下:
步骤1,建立用户性格模型
根据性格相关理论,结合社区用户相关信息获取的可能性,抽象出用户的性格模型,建立可量化的用户性格特征项集合;
步骤2,用户性格信息的获取
从用户的注册信息和交互过程中获取用户的静态特征项和动态特征项,用特征项元素所组成的集合来表示用户的性格特征;
步骤3,性格特征项相似度计算
通过性格的各个特征项相似度计算,建立基于用户特征的性格相似度计算模型;
步骤4,用户性格相似度计算
对用户特征的性格相似度计算模型进行子树相似度计算,然后对子树的相似度加权求和,得到目标用户与社区用户数据库中其他用户的性格相似度;
步骤5,基于性格相似度匹配的好友推荐
判断步骤4中计算的性格相似度sim与阈值σ的大小关系,来判断当前的两个用户是否满足好友的条件,当Sim≥σ,说明两个用户满足好友对的条件,从而将他们记为一个好友对;否则,则说明两个用户性格不相似或者是相似度不高,将他们舍弃;将满足推荐条件的用户按照相似度由大到小的顺序依次推荐给当前的用户。
本发明的特点在于,
步骤2中静态特征项的获取是从用户的注册信息中,得到体液类型、血型、星座、颜色喜好信息;动态特征项的获取是以用户发表和分享的日志作为数据来源,通过中文分词、同义词近义词处理等预处理过程得到兴趣度及其对应的频数二元组;基于该二元组,获取出兴趣集、兴趣度持续时间、兴趣集序列。
步骤3中性格特征相相似度计算包括静态特征项相似度计算和动态特征项相似度计算;静态特征项相似度计算包括体液类型相似度、血型相似度、星座相似度和颜色喜好相似度计算;动态特征项相似度计算包括兴趣集、兴趣度持续时间和兴趣集序列计算。
静态特征项相似度具体计算方法如下:
a.体液类型相似度SimA(P,Q)
体液类型集合A={A1,A2,...,An},1≤n≤4;A(P),A(Q)表示用户P,Q的体液类型,A(P)∈A,A(Q)∈A.,其相似度为:
b.血型相似度SimB(P,Q)
血型集合B={B1,B2,...,Bn},1≤n≤4,B(P),B(Q)表示用户P,Q的血型,B(P)∈B,B(Q)∈B,其相似度为:
c.星座相似度SimC(P,Q)
星座集合C={C1,C2,...,Cn},1≤n≤12,C(P),C(Q)表示用户P,Q的星座,C(P)∈C,C(Q)∈C,其相似度为:
d.颜色喜好相似度SimD(P,Q)
颜色喜好集合记为D={D1,D2,...,Dn},n≥1,D(P),D(Q)表示用户P,Q喜好的颜色集合,用户P,Q共同的颜色喜好为Dcom=D(P)∩D(Q),size用来表示集合的元素个数,则二者喜好的最多颜色数目可以表示为:
其相似度为:
动态特征项相似度计算是基于兴趣集的时间序列的,用兴趣度曲线的斜率比较函数和时间间隔函数的乘积作为序列相似度的判断依据,具体计算方法如下:
a.兴趣集相似度SimE(P,Q)
兴趣元素集合记为H={h1,h2,h3,…,hn},频数集合记为F={f1,f2,f3,…,fn};某一时刻,对应的兴趣元素与对应的频数组成的二元组构成为这一时刻的兴趣集E,则E={<e1=(h1,f1),e2=(h2,f2),…en=(hn,fn)>},用户P和Q的兴趣度交集记为Hcom,Hcom=H(P)∩H(Q)={hcom1,hcom2,…,hcomn},其对应的兴趣集二元组为:
Ecom={<ecom1=(hcom1,fcom1),ecom2=(hcom2,fcom2),…,ecomn=(hcomn,fcomn)>},通过二者兴趣度交集频数的相似程度来表示兴趣集的相似度;当Hcom不为空时,二者有共同的兴趣度,对于不同用户,其共同兴趣度的频数存在差异;此时,通过各元素的频数相似度与该元素在兴趣集交集中所占比例求和得出,否则,则说明二者没有相同的兴趣度,此时的相似度为0;公式表达如下:
式中,min(fcomi(P),fcomi(Q))表示Ecom(P)和Ecom(Q)中第i个兴趣度的频数最小值,max(fcomi(P),fcomi(Q))表示Ecom(P)和Ecom(Q)中第i个兴趣度的频数最大值,i表示Eco中第i个元素在该兴趣集中所占的比重,其中,Pcomi(P),Pcomi(Q)分别表示用户P和Q第i个共同兴趣度在Ecom(P)和Ecom(Q)中所占的比重,即
b.兴趣度持续时间相似度SimF(P,Q)
兴趣度持续时间的相似度用来表征一段时间内兴趣度在不同时刻存在性的相似程度;T1到TN时刻用户兴趣度集合为:
Hsum(T1~TN)=H(T1)∩H(T2)∩…∩H(TN)={hsum1,hsum2,hsum3,…,hsumn};
兴趣及持续时间用兴趣集集合中各元素持续时间和的平均值来表示,但是考虑到时间粒度对时间结果的影响,因此引入时间粒度Δt,某一元素的持续时间就表示为Δt与该时间粒度下持续时间的乘积,即为:
其中,t(hsumi)表示兴趣度i持续的时间,Δt表示TN与TN+1之间的时间间隔,tj(hsumi)表示兴趣度hsumi是否存在与连续时刻,若hsumi存在于连续的时刻中,则该兴趣度持续,记为1,否则说明该兴趣度不持续,记为0;
由公式(6)和(7)可知,兴趣度持续时间为:
根据兴趣度持续时间的相似度定义,当max({TP(T1~TN),TQ(T1~TN)≠0时,二者的持续时间有交集,但是对于不同用户,其持续时间有差异,此时二者的相似度通过最小持续时间与最大持续时间的比值来得到,当TP(T1~TN)=TQ(T1~TN)=0时,即二者的兴趣度都不持续,此时兴趣度持续时间为0;公式表达为:
c.兴趣集序列相似度SimG(P,Q)
兴趣集序列的相似度表征一段时间内用户兴趣集变化趋势的相似程度,考虑到兴趣集序列是兴趣度序列的集合,采用先计算兴趣度序列的相似度,然后通过兴趣度序列的相似度得到兴趣集序列的相似度;
兴趣度gi的时间序列记为S={<x1=(f1,T1),x2=(f2,T2),…,xn=(fn,TN)}>,其中,fi是Ti时刻该兴趣度的频数,将不同时刻所对应的频数用平滑的曲线连接起来,则该曲线的意义是用户在此时间段内对此兴趣度感兴趣程序的变化趋势;
考虑到曲线可能存在拉伸,压缩,噪音干扰,通过比较序列的形状来实现兴趣度序列相似度的比较,首先选取曲线上的特征点,描述如下:
在S={<x1=(f1,T1),x2=(f2,T2),…,xn=(fn,TN)}>中,当xm满足:存在常量R,i和j且1≤i<m<j≤n,使得:(1)fm是f1,…,fj中的最大值;(2)fm/fi≥R且fm/fj≥R成立。则称xm(1<m<n)是一个极大特征值;同理,当xm满足:(1)fm是f1,…,fj中的最小值;(2)fi/fm≥R且fj/fm≥R成立,则称xm(1<m<n)是一个极小特征值;
用线段连接相邻特征点,通过斜率比较函数与时间轴长度比较函数的乘积来简化曲线相似度的计算,其中,线段端点在横坐标上投影的距离记为li,该线段的斜率记为ρi,则根据斜率的定义可知ρi=(fi+1-fi)/(Ti+1-Ti),那么对应的序列表示为(<ρ1,l1>,…,<ρm,lm>);假设两用户的序列S1和S2分段后的线段的斜率存放于数组U1(1,…,n)和U2(1,…,n)中,s(i)表示斜率比较函数,
若U1(i)=0,
若U1(i)≠0,
数组V1(1,…,n)和V2(1,…,n)用来存放线段在时轴上投影的长度,w(i)表示时间轴长度比较函数,则
由以上的过程得出,序列S1和S2的相似度为:
兴趣集序列相似度SimG(P,Q)
兴趣集序列的相似度表征一段时间内用户兴趣集变化趋势的相似程度,兴趣集序列的相似度由兴趣度序列的相似度的平均值得出,公式表达如下:
其中,表示用户P和Q的性格特征项Ii的相似度,P(Ii)表示特征项Ii的相似度在性格相似度中所占的权重。
本发明的有益效果是,本发明基于性格相似度匹配计算的网络社区用户好友推荐方法,通过网络社区用户性格模型的建立,能较好地反映基于用户性格的活动特征信息,可以更好地反映网络社区用户真实的兴趣与应用趋向;以此为基础,通过用户性格相似性匹配,实现用户好友智能推荐,能很好地应用于当前网络社区用户好友关系圈的建立中,解决当前社区网站在服务效果与用户需求之间仍然存在着巨大差距的问题。
附图说明
图1是本发明方法中用户性格模型图;
图2是本发明方法中基于用户特征的性格相似度模型图;
图3是本发明方法中性格相似度子树匹配流程图;
图4是本发明方法中好友推荐流程图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明基于性格相似度匹配计算的网络社区用户好友推荐方法,通过性格表征用户特点,建立性格模型,完成性格相似度计算,进而实现社区用户好友智能推荐的方法。
具体按照以下步骤实施:
步骤1,建立用户性格模型
根据性格相关理论,结合社区用户相关信息获取的可能性,抽象出用户的性格模型,如图1所示,用户性格由静态特征项和动态特征项构成,建立可量化的用户性格特征项集合;
步骤2,用户性格信息的获取
从用户的注册信息和交互过程中获取用户的静态特征项和动态特征项,用特征项元素所组成的集合来表示用户的性格特征;
静态特征项的获取是从用户的注册信息中,得到体液类型、血型、星座、颜色喜好信息;动态特征项的获取是以用户发表和分享的日志作为数据来源,通过中文分词和同义词近义词处理等预处理过程得到兴趣度及其对应的频数二元组,基于该二元组,获取出兴趣集、兴趣度持续时间、兴趣集序列;
动态特征项是指从用户的行为习惯中得出的性格信息,性格的动态特征项的获取方法和途径有以下几种:
a.统计分析:在一段时间内对用户的习惯和行为进行统计,从而统计出高发性的习惯或行为;
b.聚类分析:根据统计分析的结果,按照聚类标准,将满足聚类条件的信息就行归并整合;
c.依赖推理:通过分析用户行为的前因后果,推理出不局限于当前特征的特征描述;
d.序列分析:将用户在某一时间点的行为、爱好用点或集合的方式表达,那么某一时间段内就可以形成一个变化趋势图,这个变化趋势不仅反映了用户的变化过程,也可以根据该曲线预示后续的结果;
步骤3,性格特征相相似度计算
通过性格的各个特征项相似度计算,建立基于用户特征的性格相似度计算模型,如图2所示;
性格特征相相似度计算包括静态特征项相似度计算和动态特征项相似度计算,静态特征项相似度计算包括体液类型相似度、血型相似度、星座相似度和颜色喜好相似度计算;动态特征项相似度计算包括兴趣集、兴趣度持续时间和兴趣集序列计算;
静态特征项相似度具体计算方法如下:
a.体液类型相似度SimA(P,Q)
体液集合A={A1,A2,...,An},1≤n≤4;A(P),A(Q)表示用户P,Q的体液类型,A(P)∈A,A(Q)∈A.,其相似度为:
b.血型相似度SimB(P,Q)
血型集合B={B1,B2,...,Bn},1≤n≤4,B(P),B(Q)表示用户P,Q的血型,B(P)∈B,B(Q)∈B,其相似度为:
c.星座相似度SimC(P,Q)
星座集合C={C1,C2,...,Cn},1≤n≤12,C(P),C(Q)表示用户P,Q的星座,C(P)∈C,C(Q)∈C,其相似度为:
d.颜色喜好相似度SimD(P,Q)
颜色喜好集合记为D={D1,D2,...,Dn},n≥1,D(P),D(Q)表示用户P,Q喜好的颜色集合,用户P,Q共同的颜色喜好为Dcom=D(P)∩D(Q),size用来表示集合的元素个数,则二者喜好的最多颜色数目可以表示为:
其相似度为:
动态特征项相似度计算是基于兴趣集的时间序列的,用兴趣度曲线的斜率比较函数和时间间隔函数的乘积作为序列相似度的判断依据,具体计算方法如下:
a.兴趣集相似度SimE(P,Q)
兴趣元素集合记为H={h1,h2,h3,…,hn},频数集合记为F={f1,f2,f3,…,fn};某一时刻,对应的兴趣元素与对应的频数组成的二元组构成为这一时刻的兴趣集E,则E={<e1=(h1,f1),e2=(h2,f2),…en=(hn,fn)>},用户P和Q的兴趣度交集记为Hcom,Hcom=H(P)∩H(Q)={hcom1,hcom2,…,hcomn},其对应的兴趣集二元组为:
Ecom={<ecom1=(hcom1,fcom1),ecom2=(hcom2,fcom2),…,ecomn=(hcomn,fcomn)>},通过二者兴趣度交集频数的相似程度来表示兴趣集的相似度;当Hcom不为空时,二者有共同的兴趣度,对于不同用户,其共同兴趣度的频数存在差异;此时,通过各元素的频数相似度与该元素在兴趣集交集中所占比例求和得出,否则,则说明二者没有相同的兴趣度,此时的相似度为0;公式表达如下:
式中,min(fcomi(P),fcomi(Q))表示Ecom(P)和Ecom(Q)中第i个兴趣度的频数最小值,max(fcomi(P),fcomi(Q))表示Ecom(P)和Ecom(Q)中第i个兴趣度的频数最大值,i表示Eco中第i个元素在该兴趣集中所占的比重,其中,Pcomi(P),Pcomi(Q)分别表示用户P和Q第i个共同兴趣度在Ecom(P)和Ecom(Q)中所占的比重,即
b.兴趣度持续时间相似度SimF(P,Q)
兴趣度持续时间的相似度用来表征一段时间内兴趣度在不同时刻存在性的相似程度;T1到TN时刻用户兴趣度集合为:
Hsum(T1~TN)=H(T1)∩H(T2)∩…∩H(TN)={hsum1,hsum2,hsum3,…,hsumn};
兴趣及持续时间用兴趣集集合中各元素持续时间和的平均值来表示,但是考虑到时间粒度对时间结果的影响,因此引入时间粒度Δt,某一元素的持续时间就表示为Δt与该时间粒度下持续时间的乘积,即为:
其中,t(hsumi)表示兴趣度i持续的时间,Δt表示TN与TN+1之间的时间间隔,tj(hsumi)表示兴趣度hsumi是否存在与连续时刻,若hsumi存在于连续的时刻中,则该兴趣度持续,记为1,否则说明该兴趣度不持续,记为0;
由公式(6)和(7)可知,兴趣度持续时间为:
根据兴趣度持续时间的相似度定义,当max({TP(T1~TN),TQ(T1~TN)≠0时,二者的持续时间有交集,但是对于不同用户,其持续时间有差异,此时二者的相似度通过最小持续时间与最大持续时间的比值来得到,当TP(T1~TN)=TQ(T1~TN)=0时,即二者的兴趣度都不持续,此时兴趣度持续时间为0;公式表达为:
c.兴趣集序列相似度SimG(P,Q)
兴趣集序列的相似度表征一段时间内用户兴趣集变化趋势的相似程度,考虑到兴趣集序列是兴趣度序列的集合,采用先计算兴趣度序列的相似度,然后通过兴趣度序列的相似度得到兴趣集序列的相似度;
兴趣度gi的时间序列记为S={<x1=(f1,T1),x2=(f2,T2),…,xn=(fn,TN)}>,其中,fi是Ti时刻该兴趣度的频数,将不同时刻所对应的频数用平滑的曲线连接起来,则该曲线的意义是用户在此时间段内对此兴趣度感兴趣程序的变化趋势;
考虑到曲线可能存在拉伸,压缩,噪音干扰,通过比较序列的形状来实现兴趣度序列相似度的比较,首先选取曲线上的特征点,描述如下:
在S={<x1=(f1,T1),x2=(f2,T2),…,xn=(fn,TN)}>中,当xm满足:存在常量R,i和j且1≤i<m<j≤n,使得:(1)fm是f1,…,fj中的最大值;(2)fm/fi≥R且fm/fj≥R成立。则称xm(1<m<n)是一个极大特征值;同理,当xm满足:(1)fm是f1,…,fj中的最小值;(2)fi/fm≥R且fj/fm≥R成立,则称xm(1<m<n)是一个极小特征值;
用线段连接相邻特征点,通过斜率比较函数与时间轴长度比较函数的乘积来简化曲线相似度的计算,其中,线段端点在横坐标上投影的距离记为li,该线段的斜率记为ρi,则根据斜率的定义可知ρi=(fi+1-fi)(Ti+1-Ti),那么对应的序列表示为(<ρ1,l1>,…,<ρm,lm>);假设两用户的序列S1和S2分段后的线段的斜率存放于数组U1(1,…,n)和U2(1,…,n)中,s(i)表示斜率比较函数,
若U1(i)=0,
若U1(i)≠0,
数组V1(1,…,n)和V2(1,…,n)用来存放线段在时轴上投影的长度,w(i)表示时间轴长度比较函数,则
由以上的过程得出,序列S1和S2的相似度为:
兴趣集序列相似度SimG(P,Q)
兴趣集序列的相似度表征一段时间内用户兴趣集变化趋势的相似程度,兴趣集序列的相似度由兴趣度序列的相似度的平均值得出,公式表达如下:
步骤4,用户性格相似度计算
对用户特征的性格相似度计算模型进行子树相似度计算,然后对子树的相似度加权求和,得到目标用户与社区用户数据库中其他用户的性格相似度,如图3所示;
性格特征项的集合记为I={A,B,C,D,E,F,G},分别对应于性格的特征项体液、血型、星座、颜色喜好、兴趣集、兴趣度持续时间、兴趣集序列,性格相似度通过对相似度计算模型的子树相似度的加权求和得出,表达式为:
步骤5,基于性格相似度匹配的好友推荐
(1)性格相似度匹配
通过判断步骤4中计算的性格相似度sim与阈值σ的大小关系,来判断当前的两个用户是否满足好友的条件;当Sim≥σ,说明两个用户满足好友对的条件,从而将他们记为一个好友对;否则,则说明两个用户性格不相似或者是相似度不高,将他们舍弃;
(2)基于性格的好友推荐
如图4所示,将满足推荐条件的用户按照相似度由大到小的顺序依次推荐给当前的用户,实现社区网站的好友推荐。首先,将好友对(P,i)各自的性格相似度Sim(P,i)由大到小排列;其次,对排列后的好友对建立索引Index,用来标记好友对;最后,按照索引值递增的顺序依次推荐好友。
下面以用户P和Q性格数据为例说明性格相似度计算过程。
a.静态特征项
用户P(体液类型,血型,星座,颜色喜好)=(粘液型,O,白羊座,(红、黄、绿、蓝、黑));
用户Q(体液类型,血型,星座,颜色喜好)=(胆汁型,O,白羊座,(黑、白、灰、黄));
通过公式(1)~(4)计算用户P和Q性格的各静态特征项相似度:
(1)体液相似度:SimA(P,Q)=0;
(2)血型相似度:SimB(P,Q)=1;
(3)星座相似度:SimC(P,Q)=1;
(4)颜色喜好相似度:SimD(P,Q)=2/5=0.4。
b.动态特征项
用户P从T1到T4时刻兴趣度频数f≥5的兴趣度及其对应的频数二元组序列为:
T1:(社会,12),(人生,10),(信息,10),(网站,8),(化学,8);
T2:(生活,20),(理想,15),(人生,15),(信息,10);
T3:(人生,15),(科学,10),(事业,8),(政治,6),(社会,5);
T4:(人生,20),(家庭,15),(科学,10),(事业,8),(政治,5);
用户Q从T1到T4时刻兴趣度频数f≥5的兴趣度及其对应的频数二元组序列为:
T1:(社会,25),(人生,10),(信息,10),(理想,8),(科学,6));
T2:(艺术,20),(人生,10),(科学,10),(事业,5);
T3:(人生,20),(科学,10),(事业,10),(社会,5),(艺术,5);
T4:(科学,20),(理想,10),(人生,10),(社会,5);
通过公式(5)~(15)计算用户P和Q性格动态特征项的兴趣集、兴趣度持续时间、兴趣集序列的相似度:
(1)兴趣集相似度:
(2)兴趣度持续时间相似度:
(3)兴趣度持续时间相似度,取R=1,ε=1:
c.性格相似度计算
根据公式(16),取P(IA)=10%、P(IB)=10%、P(IC)=10%、P(ID)=10%、P(IE)=20%、P(IF)=20%、P(IG)=20%,用户P和Q的性格相似度:
本发明基于性格相似度匹配计算的网络社区用户好友推荐方法,通过网络社区用户性格模型的建立,能较好地反映基于用户性格的活动特征信息,可以更好地反映网络社区用户真实的兴趣与应用趋向;以此为基础,通过用户性格相似性匹配,实现用户好友智能推荐,能很好地应用于当前网络社区用户好友关系圈的建立中,解决当前社区网站在服务效果与用户需求之间仍然存在着巨大差距的问题。
Claims (6)
1.基于性格相似度匹配计算的网络社区用户好友推荐方法,其特征在于,该方法按照以下步骤实施:
步骤1,建立用户性格模型
根据性格相关理论,结合社区用户相关信息获取的可能性,抽象出用户的性格模型,建立可量化的用户性格特征项集合;
步骤2,用户性格信息的获取
从用户的注册信息和交互过程中获取用户的静态特征项和动态特征项,用特征项元素所组成的结合来表示用户的性格特征;
步骤3,性格特征相相似度计算
通过性格的各个特征项相似度计算,建立基于用户特征的性格相似度计算模型;
步骤4,用户性格相似度计算
对用户特征的性格相似度计算模型进行子树相似度计算,然后对子树的相似度加权求和,得到目标用户与社区用户数据库中其他用户的性格相似度;
步骤5,基于性格相似度匹配的好友推荐
通过判断步骤4中计算的性格相似度Sim与阈值σ的大小关系,来判断当前的两个用户是否满足好友的条件;当Sim≥σ,说明两个用户满足好友对的条件,从而将他们记为一个好友对;否则,则说明两个用户性格不相似或者是相似度不高,将他们舍弃;将满足推荐条件的用户按照相似度由大到小的顺序依次推荐给当前的用户。
2.根据权利要求1所述的基于性格相似度匹配计算的网络社区用户好友推荐方法,其特征在于,步骤2中静态特征项的获取是从用户的注册信息中,得到体液类型、血型、星座、颜色喜好信息;动态特征项的获取是以用户发表和分享的日志作为数据来源,通过中文分词和同义词近义词处理等预处理过程得到兴趣度及其对应的频数二元组,基于该二元组,获取出兴趣集、兴趣度持续时间、兴趣集序列。
3.根据权利要求1所述的基于性格相似度匹配计算的网络社区用户好友推荐方法,其特征在于,步骤3中性格特征相相似度计算包括静态特征项相似度计算和动态特征项相似度计算,静态特征项相似度计算包括体液类型相似度、血型相似度、星座相似度和颜色喜好相似度计算;动态特征项相似度计算包括兴趣集、兴趣度持续时间和兴趣集序列计算。
4.根据权利要求3所述的基于性格相似度匹配计算的网络社区用户好友推荐方法,其特征在于,所述静态特征项相似度具体计算方法如下:
a.体液类型相似度SimA(P,Q)
体液类型集合A={A1,A2,...,An},1≤n≤4;A(P),A(Q)表示用户P,Q的体液类型,A(P)∈A,A(Q)∈A.,其相似度为:
b.血型相似度SimB(P,Q)
血型集合B={B1,B2,...,Bn},1≤n≤4,B(P),B(Q)表示用户P,Q的血型,B(P)∈B,B(Q)∈B,其相似度为:
c.星座相似度SimC(P,Q)
星座集合C={C1,C2,...,Cn},1≤n≤12,C(P),C(Q)表示用户P,Q的星座,C(P)∈C,C(Q)∈C,其相似度为:
d.颜色喜好相似度SimD(P,Q)
颜色喜好集合记为D={D1,D2,...,Dn},n≥1,D(P),D(Q)表示用户P,Q喜好的颜色集合,用户P,Q共同的颜色喜好为Dcom=D(P)∩D(Q),size用来表示集合的元素个数,则二者喜好的最多颜色数目可以表示为:
其相似度为:
5.根据权利要求3所述的基于性格相似度匹配计算的网络社区用户好友推荐方法,其特征在于,所述动态特征项相似度计算是基于兴趣集的时间序列的,用兴趣度曲线的斜率比较函数和时间间隔函数的乘积作为序列相似度的判断依据,具体计算方法如下:
a.兴趣集相似度SimE(P,Q)
兴趣元素集合记为H={h1,h2,h3,…,hn},频数集合记为F={f1,f2,f3,…,fn};某一时刻,对应的兴趣元素与对应的频数组成的二元组构成为这一时刻的兴趣集E,则E={<e1=(h1,f1),e2=(h2,f2),…en=(hn,fn)>},用户P和Q的兴趣度交集记为Hcom,Hcom=H(P)∩H(Q)={hcom1,hcom2,…,hcomn},其对应的兴趣集二元组为:
Ecom={<ecom1=(hcom1,fcom1),ecom2=(hcom2,fcom2),…,ecomn=(hcomn,fcomn)>},通过二者兴趣度交集频数的相似程度来表示兴趣集的相似度;当Hcom不为空时,二者有共同的兴趣度,对于不同用户,其共同兴趣度的频数存在差异;此时,通过各元素的频数相似度与该元素在兴趣集交集中所占比例求和得出,否则,则说明二者没有相同的兴趣度,此时的相似度为0;公式表达如下:
式中,min(fcomi(P),fcomi(Q))表示Ecom(P)和Ecom(Q)中第i个兴趣度的频数最小值,max(fcomi(P),fcomi(Q))表示Ecom(P)和Ecom(Q)中第i个兴趣度的频数最大值,i表示Eco中第i个元素在该兴趣集中所占的比重,其中,Pcomi(P),Pcomi(Q)分别表示用户P和Q第i个共同兴趣度在Ecom(P)和Ecom(Q)中所占的比重,即
b.兴趣度持续时间相似度SimF(P,Q)
兴趣度持续时间的相似度用来表征一段时间内兴趣度在不同时刻存在性的相似程度;T1到TN时刻用户兴趣度集合为:
Hsum(T1~TN)=H(T1)∩H(T2)∩…∩H(TN)={hsum1,hsum2,hsum3,…,hsumn};
兴趣及持续时间用兴趣集集合中各元素持续时间和的平均值来表示,但是考虑到时间粒度对时间结果的影响,因此引入时间粒度Δt,某一元素的持续时间就表示为Δt与该时间粒度下持续时间的乘积,即为:
其中,t(hsumi)表示兴趣度i持续的时间,Δt表示TN与TN+1之间的时间间隔,tj(hsumi)表示兴趣度hsumi是否存在与连续时刻,若hsumi存在于连续的时刻中,则该兴趣度持续,记为1,否则说明该兴趣度不持续,记为0;
由公式(6)和(7)可知,兴趣度持续时间为:
根据兴趣度持续时间的相似度定义,当max({TP(T1~TN),TQ(T1~TN)≠0时,二者的持续时间有交集,但是对于不同用户,其持续时间有差异,此时二者的相似度通过最小持续时间与最大持续时间的比值来得到,当TP(T1~TN)=TQ(T1~TN)=0时,即二者的兴趣度都不持续,此时兴趣度持续时间为0;公式表达为:
c.兴趣集序列相似度SimG(P,Q)
兴趣集序列的相似度表征一段时间内用户兴趣集变化趋势的相似程度,考虑到兴趣集序列是兴趣度序列的集合,采用先计算兴趣度序列的相似度,然后通过兴趣度序列的相似度得到兴趣集序列的相似度;
兴趣度序列相似度
兴趣度gi的时间序列记为S={<x1=(f1,T1),x2=(f2,T2),…,xn=(fn,TN)}>,其中,fi是Ti时刻该兴趣度的频数,将不同时刻所对应的频数用平滑的曲线连接起来,则该曲线的意义是用户在此时间段内对此兴趣度感兴趣程序的变化趋势;
考虑到曲线可能存在拉伸,压缩,噪音干扰,通过比较序列的形状来实现兴趣度序列相似度的比较,首先选取曲线上的特征点,描述如下:
在S={<x1=(f1,T1),x2=(f2,T2),…,xn=(fn,TN)}>中,当xm满足:存在常量R,i和j且1≤i<m<j≤n,使得:(1)fm是f1,…,fj中的最大值;(2)fm/fi≥R且fm/fj≥R成立。则称xm(1<m<n)是一个极大特征值;同理,当xm满足:(1)fm是f1,…,fj中的最小值;(2)fi/fm≥R且fj/fm≥R成立,则称xm(1<m<n)是一个极小特征值;
用线段连接相邻特征点,通过斜率比较函数与时间轴长度比较函数的乘积来简化曲线相似度的计算,其中,线段端点在横坐标上投影的距离记为li,该线段的斜率记为ρi,则根据斜率的定义可知ρi=(fi+1-fi)/(Ti+1-Ti),那么对应的序列表示为(<ρ1,l1>,…,<ρm,lm>);假设两用户的序列S1和S2分段后的线段的斜率存放于数组U1(1,…,n)和U2(1,…,n)中,s(i)表示斜率比较函数,
若U1(i)=0,
若U1(i)≠0,
数组V1(1,…,n)和V2(1,…,n)用来存放线段在时轴上投影的长度,w(i)表示时间轴长度比较函数,则
由以上的过程得出,序列S1和S2的相似度为:
兴趣集序列相似度SimG(P,Q)
兴趣集序列的相似度表征一段时间内用户兴趣集变化趋势的相似程度,兴趣集序列的相似度由兴趣度序列的相似度的平均值得出,公式表达如下:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310565879.XA CN103577592A (zh) | 2013-11-13 | 2013-11-13 | 基于性格相似度匹配计算的网络社区用户好友推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310565879.XA CN103577592A (zh) | 2013-11-13 | 2013-11-13 | 基于性格相似度匹配计算的网络社区用户好友推荐方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103577592A true CN103577592A (zh) | 2014-02-12 |
Family
ID=50049368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310565879.XA Pending CN103577592A (zh) | 2013-11-13 | 2013-11-13 | 基于性格相似度匹配计算的网络社区用户好友推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103577592A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069125A (zh) * | 2015-08-13 | 2015-11-18 | 上海斐讯数据通信技术有限公司 | 一种社交网络推荐方法及系统 |
CN105184075A (zh) * | 2015-09-01 | 2015-12-23 | 南京大学 | 适用tcmf网络的基于多三角形群组相似性凝聚的重叠社区发现方法 |
CN105389332A (zh) * | 2015-10-13 | 2016-03-09 | 广西师范学院 | 一种地理社交网络下的用户相似性计算方法 |
CN105488194A (zh) * | 2015-12-03 | 2016-04-13 | 山东金佳园科技股份有限公司 | 一种相似用户识别方法及装置 |
CN105930532A (zh) * | 2016-06-16 | 2016-09-07 | 上海聚力传媒技术有限公司 | 一种向用户推荐多媒体资源的方法和装置 |
CN106097113A (zh) * | 2016-06-21 | 2016-11-09 | 仲兆满 | 一种社交网络用户动静兴趣挖掘方法 |
CN107767279A (zh) * | 2017-10-12 | 2018-03-06 | 燕山大学 | 一种基于lda的加权平均的个性化好友推荐方法 |
WO2018049605A1 (zh) * | 2016-09-14 | 2018-03-22 | 深圳市大疆创新科技有限公司 | 控制方法、控制装置及电子装置 |
CN108052650A (zh) * | 2017-12-26 | 2018-05-18 | 百度在线网络技术(北京)有限公司 | 信息推荐方法、装置和电子设备 |
CN109062914A (zh) * | 2017-06-12 | 2018-12-21 | 东软集团股份有限公司 | 用户推荐方法和装置,存储介质和服务器 |
CN109409848A (zh) * | 2018-11-28 | 2019-03-01 | 厦门市美亚柏科信息股份有限公司 | 开放式流程的节点智能推荐方法、终端设备及存储介质 |
CN110046798A (zh) * | 2019-03-08 | 2019-07-23 | 北京马尔马拉科技有限公司 | 一种大数据社交处理系统及处理方法 |
CN110147486A (zh) * | 2017-10-16 | 2019-08-20 | 中国电信股份有限公司 | 好友推荐方法和装置 |
CN110609958A (zh) * | 2019-09-19 | 2019-12-24 | Oppo广东移动通信有限公司 | 数据推送方法、装置、电子设备及存储介质 |
CN111274497A (zh) * | 2020-01-22 | 2020-06-12 | 北京百度网讯科技有限公司 | 社区推荐及模型训练方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880644A (zh) * | 2012-08-24 | 2013-01-16 | 电子科技大学 | 社区发现方法 |
CN103377250A (zh) * | 2012-04-27 | 2013-10-30 | 杭州载言网络技术有限公司 | 基于邻域的top-k推荐方法 |
-
2013
- 2013-11-13 CN CN201310565879.XA patent/CN103577592A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377250A (zh) * | 2012-04-27 | 2013-10-30 | 杭州载言网络技术有限公司 | 基于邻域的top-k推荐方法 |
CN102880644A (zh) * | 2012-08-24 | 2013-01-16 | 电子科技大学 | 社区发现方法 |
Non-Patent Citations (1)
Title |
---|
张晓滨,庞海燕: "基于兴趣度变化的社区网站用户性格相似度计算", 《计算机系统应用》 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069125A (zh) * | 2015-08-13 | 2015-11-18 | 上海斐讯数据通信技术有限公司 | 一种社交网络推荐方法及系统 |
CN105184075B (zh) * | 2015-09-01 | 2018-07-06 | 南京大学 | 适用tcmf网络的基于多三角形群组相似性凝聚的重叠社区发现方法 |
CN105184075A (zh) * | 2015-09-01 | 2015-12-23 | 南京大学 | 适用tcmf网络的基于多三角形群组相似性凝聚的重叠社区发现方法 |
CN105389332A (zh) * | 2015-10-13 | 2016-03-09 | 广西师范学院 | 一种地理社交网络下的用户相似性计算方法 |
CN105389332B (zh) * | 2015-10-13 | 2018-09-11 | 广西师范学院 | 一种地理社交网络下的用户相似性计算方法 |
CN105488194A (zh) * | 2015-12-03 | 2016-04-13 | 山东金佳园科技股份有限公司 | 一种相似用户识别方法及装置 |
CN105488194B (zh) * | 2015-12-03 | 2019-05-14 | 山东金佳园科技股份有限公司 | 一种相似用户识别方法及装置 |
CN105930532B (zh) * | 2016-06-16 | 2019-08-02 | 上海聚力传媒技术有限公司 | 一种向用户推荐多媒体资源的方法和装置 |
CN105930532A (zh) * | 2016-06-16 | 2016-09-07 | 上海聚力传媒技术有限公司 | 一种向用户推荐多媒体资源的方法和装置 |
CN106097113A (zh) * | 2016-06-21 | 2016-11-09 | 仲兆满 | 一种社交网络用户动静兴趣挖掘方法 |
CN106097113B (zh) * | 2016-06-21 | 2020-11-27 | 江苏海洋大学 | 一种社交网络用户动静兴趣挖掘方法 |
WO2018049605A1 (zh) * | 2016-09-14 | 2018-03-22 | 深圳市大疆创新科技有限公司 | 控制方法、控制装置及电子装置 |
CN109062914B (zh) * | 2017-06-12 | 2020-10-23 | 东软集团股份有限公司 | 用户推荐方法和装置,存储介质和服务器 |
CN109062914A (zh) * | 2017-06-12 | 2018-12-21 | 东软集团股份有限公司 | 用户推荐方法和装置,存储介质和服务器 |
CN107767279A (zh) * | 2017-10-12 | 2018-03-06 | 燕山大学 | 一种基于lda的加权平均的个性化好友推荐方法 |
CN110147486A (zh) * | 2017-10-16 | 2019-08-20 | 中国电信股份有限公司 | 好友推荐方法和装置 |
CN110147486B (zh) * | 2017-10-16 | 2021-10-29 | 中国电信股份有限公司 | 好友推荐方法和装置 |
CN108052650A (zh) * | 2017-12-26 | 2018-05-18 | 百度在线网络技术(北京)有限公司 | 信息推荐方法、装置和电子设备 |
CN109409848A (zh) * | 2018-11-28 | 2019-03-01 | 厦门市美亚柏科信息股份有限公司 | 开放式流程的节点智能推荐方法、终端设备及存储介质 |
CN110046798A (zh) * | 2019-03-08 | 2019-07-23 | 北京马尔马拉科技有限公司 | 一种大数据社交处理系统及处理方法 |
CN110609958A (zh) * | 2019-09-19 | 2019-12-24 | Oppo广东移动通信有限公司 | 数据推送方法、装置、电子设备及存储介质 |
CN111274497A (zh) * | 2020-01-22 | 2020-06-12 | 北京百度网讯科技有限公司 | 社区推荐及模型训练方法、装置、电子设备及存储介质 |
CN111274497B (zh) * | 2020-01-22 | 2023-08-18 | 北京百度网讯科技有限公司 | 社区推荐及模型训练方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103577592A (zh) | 基于性格相似度匹配计算的网络社区用户好友推荐方法 | |
CN103209342B (zh) | 一种引入视频流行度和用户兴趣变化的协作过滤推荐方法 | |
CN102663047B (zh) | 移动阅读中的社交关系挖掘方法及装置 | |
CN105279288A (zh) | 一种基于深度神经网络的在线内容推荐方法 | |
CN103823888B (zh) | 一种基于节点亲密度的社交网站好友推荐方法 | |
CN101354714B (zh) | 一种基于概率潜在语义分析的问题推荐方法 | |
CN106021329A (zh) | 基于用户相似度的稀疏数据协同过滤推荐方法 | |
CN106203935B (zh) | 基于用户生成内容及用户关系的技能评估与岗位匹配方法 | |
CN107292390A (zh) | 一种基于混沌理论的信息传播模型及其传播方法 | |
CN107368534A (zh) | 一种预测社交网络用户属性的方法 | |
CN109947987B (zh) | 一种交叉协同过滤推荐方法 | |
CN104035987B (zh) | 一种微博网络用户影响力排名方法 | |
CN109783738A (zh) | 一种基于多相似度的双极限学习机混合协同过滤推荐方法 | |
CN104182543A (zh) | 基于相似性传播与流行度降维的混合推荐方法 | |
CN106952167A (zh) | 一种基于多元线性回归的餐饮业好友连边影响力预测方法 | |
CN109117872A (zh) | 一种基于自动最优聚类算法的用户用电行为分析方法 | |
CN104598648B (zh) | 一种微博用户交互式性别识别方法及装置 | |
CN105511901B (zh) | 一种基于移动App运行列表的App冷启动推荐方法 | |
CN105608174A (zh) | 一种基于跨模态节点链接聚类的社区发现方法 | |
CN105141508B (zh) | 一种基于近邻关系的微博系统朋友推荐方法 | |
CN104732422A (zh) | 基于移动用户标签的个性化美食推荐方法 | |
CN103345503B (zh) | 一种基于小波网络的丝绸产品个性化推荐方法 | |
CN102982101B (zh) | 基于用户情境本体的网络社区用户推送服务的方法 | |
CN103310027B (zh) | 用于地图模板匹配的规则提取方法 | |
CN102831219A (zh) | 一种应用于社区发现的可覆盖聚类算法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140212 |
|
RJ01 | Rejection of invention patent application after publication |