CN108108749A - 一种基于用户相似度的好友推荐方法 - Google Patents

一种基于用户相似度的好友推荐方法 Download PDF

Info

Publication number
CN108108749A
CN108108749A CN201711316229.6A CN201711316229A CN108108749A CN 108108749 A CN108108749 A CN 108108749A CN 201711316229 A CN201711316229 A CN 201711316229A CN 108108749 A CN108108749 A CN 108108749A
Authority
CN
China
Prior art keywords
user
similarity
track
calculating
mtr
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.)
Granted
Application number
CN201711316229.6A
Other languages
English (en)
Other versions
CN108108749B (zh
Inventor
孔亚广
夏清泉
刘威
徐哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN201711316229.6A priority Critical patent/CN108108749B/zh
Publication of CN108108749A publication Critical patent/CN108108749A/zh
Application granted granted Critical
Publication of CN108108749B publication Critical patent/CN108108749B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Navigation (AREA)

Abstract

本发明公开了一种基于用户相似度的好友推荐方法。本发明通过计算用户日常生活中常驻点相似度、轨迹相似度和兴趣相似度,最终推荐得分最高的Top‑k位用户,然后进行用户相似度的融合。本发明充分考虑了不同的社交网络中,人们的目的和侧重点存在的差异,对于融合参数的选择,由于不同的关系网络对需求有所不同的表现,进行加权融合,使得推荐准确率更高。

Description

一种基于用户相似度的好友推荐方法
技术领域
本发明属于计算机技术领域,涉及一种基于用户相似度的好友推荐方法。
背景技术
传统的个性化推荐主要是对物品进行推荐和好友推荐。往往集中于互联网的模式,比如根据用户现有好友和关注的物品给用户推荐新的好友,通常使用基于内容的推荐和协同过滤推荐算法,但是这些算法往往忽略了现实生活中可能成为好友的几率。从用户的生活实际入手,往往可以达到更好的效果。
在社交平台中,用户往往呈现出垂直型的特点,这是由于用户的行为,个性,兴趣爱好的不同等导致的。正所谓圈子性是社交的一大概论,人们往往聚成圈子,对相似的人有更多的共同语言。这就要求计算用户相似度,对用户相似度越大的人们进行好友推荐。
发明内容
本发明通过计算用户日常生活中常驻点相似度、轨迹相似度和兴趣相似度,最终推荐得分最高的Top-k位用户,然后进行用户相似度的融合。
本发明方法的步骤包括:
步骤1、常驻点相似度计算,其基本思想是:
基于用户在热点的停留次数和时间相似度来计算用户的常驻点相似度。
1.1建立用户的停留点矩阵形式如下:
其中这是一个m*n阶的矩阵,其中m代表用户数,n代表热点区域数,Ri,j代表第i个用户对第j个热点的访问次数,其中热点可通过聚类算法获取。
1.2计算用户热点区域的时间相似度:表示两个用户A,B在热点的互时间差
用Δta=sa.LevT-sa.beginT自时间差,表示用户自己进入该停留点与离开该停留点的时间差,sA,sB分别表示不同用户。sa.beginT为用户a进入热点时间,sa.LevT为用户离开热点时间,其中a∈{A1 A2 ..... Am};基于上述得到用户热点区域时间相似度:
1.3地理层次权重计算
根据用户热点当前的地理编码层次来计算得到地理层次权重如下:
其中Geoi为当前的编码层次,层次越低,权重越大,越低层次相似说明用户的热点相似度越高。
1.4基于1.1-1.3计算用户常驻点相似度
其中RA,i表示用户A对i区域的访问次数,表示用户A对m个区域的平均访问次数。
步骤2、轨迹相似度计算,其基本思想是:
基于分段点构造的最小外接轨迹区域,通过计算用户之间的重叠轨迹区域或轨迹区域距离来计算轨迹相似度。
2.1定义轨迹节点集
<P1 P2 ..... Pn>
其中Pi是轨迹中的热点和角度突变点,热点如步骤1中所述,角度突变点就是该点的角速度发生突变,往往在转折处,掉头处。热点和角度突变点统称为分段点。
2.2基于分段点得到最小外接区域MTR,具体如下:
MTR的构造方法由两个分段点P1(x1,y1),P2(x2,y2)来构造,MTR矩阵区域的四个顶点P1(x1,y1),P3(x1,y2),P2(x2,y2),P4(x2,y1)。
则用户A的轨迹可通过最小外接区域集来表示。
MTRA=MTRA1→MTRA2→......MTRAn
2.3根据用户之间的轨迹,计算用户之间的相关性具体如下:
2.3.1根据两个用户的重叠轨迹区域,计算用户轨迹区域的重叠面积比率,具体如下:
2.3.2计算两个用户的轨迹区域的距离为:
d=max(X(MTRA))-min(X(MTRB))+max(Y(MTRA))-min(Y(MTRB))
即两个矩阵的最大的x坐标最小值,减去最小的x坐标最大值,加上最大的y坐标最小值减去最小的y坐标最大值。
2.4轨迹相似度具体形式为:
若两用户轨迹区域存在重叠则轨迹相似度为:
若两用户轨迹区域存在距离则轨迹相似度为:
相似度定义标称化处理:
步骤3、兴趣相似度计算,其基本思想是:通过计算用户兴趣特征向量之间地余弦值来获得兴趣相似度。
3.1用户A兴趣特征向量可以具体表示为
eu={(u1,v1),(u2,v2),(u3,v3)
其中ui是爱好种类,vi是对应的热爱程度。
3.2兴趣相似度计算
其中eu,ev分别表示两用户兴趣特征向量,S(u,v)越大表示相似度越高,其取值范围为[0,1],0表示完全不同,1表示完全相同。
步骤4、基于多相似度融合的好友推荐:
对用户A三个Top-k列表L1,L2,L3遍历顺序如下:
L1.TOP1→L2.TOP1→L3.TOP1→.....→L3.TOPk
1.首先遍历L1中U1,同时查找L2L3中对应U1的相似度;
2.计算用户A与B的融合相似度Sim(A,B)=aSim(L1)+bSim(L2)+cSim(L3)
3.If Sim(A,B)>L加入优先推荐列表Clist;
4.If Sim(A,B)<L加入备选推荐列表Blist;
5.按顺序遍历完L1,L2与L3,最终得到两个推荐列表Clist和Blist;
6.为用户推荐排序后的Clist列表,成功推荐后将Blist的头加到Clist尾部。
本发明的有益效果:本发明充分考虑了不同的社交网络中,人们的目的和侧重点存在的差异,对于融合参数的选择,由于不同的关系网络对需求有所不同的表现,进行加权融合,使得推荐准确率更高。
附图说明
图1为本发明流程图。
图2为最小外接矩形示意图。
具体实施方式
以下结合附图对本发明作进一步说明。
根据用户数据集得到一个常驻区域代表P=(Lat,lngt,begin,LevT)
s.beginT=pi.Ts.LevT=pj.T
其中lat,Lngt分别是停留点区域所有轨迹点的经纬度平均值,beginT代表起始点的时间,LevT代表结束时间。
2.建立用户的常驻点矩形形式
3.计算用户常驻点区域的时间相似度
4.地理层次权重的计算
5.常驻点相似度计算
其中RA,i表示用户A对i区域的访问次数,表示用户A对m个区域的平均访问次数。
6.轨迹节点集的定义
<P1 P2 ..... Pn>
7.最小外接区域MTR的构建,MTR的构造方法由两个分段点P1(x1,y1),P2(x2,y2)来构造如图2所示。MTR矩形区域四个顶点为P1(x1,y1),P3(x1,y2),P2(x2,y2),P4(x2,y1),用户A的轨迹可通过最小外接区域集来表示:
MTRA=MTRA1→MTRA2→......MTRAn
8.根据两个用户的重叠轨迹区域,计算用户轨迹区域的重叠面积比率,具体如下:
9.计算用户的轨迹区域距离为:
d=max(X(MTRA))-min(X(MTRB))+max(Y(MTRA))-min(Y(MTRB))
10.轨迹相似度计算
11.相似度定义标称化处理
12.用户兴趣特征向量表示:
eu={(u1,v1),(u2,v2),(u3,v3)
其中ui是爱好种类,vi是对应的热爱程度。为了算法简单实用,将vi定义为三档,非常喜欢为1,一般为0.5,无热爱为0。
13.兴趣相似度计算
其中eu,ev分别表示两用户兴趣特征向量,S(u,v)越大表示相似度越大,其取值范围为[0,1],0表示完全不同,1表示完全相同。
14.计算用户A和B之间的融合相似度
Sim(A,B)=aSim(L1)+bSim(L2)+cSim(L3)
其中a,b,c是由训练样本返回的参数,L1,L2,L3如下所示:
L1={u1=0.8,u3=0.78,u4=0.75,u12=0.68,u10=0.64,u11=0.6,u12=0.56,u2=0.51,u50=0.5}
L2={u9=0.82,u4=0.72,u80=0.71,u70=0.68,u55=0.64,u52=0.62,u59=0.6,u50=0.58,u4=0.56,....,u1=0.5}
L3={u20=0.8,u12=0.75,u8=0.55,u46=0.65,u14=0.46,u35=0.88,u10=0.36,u8=0.77,u65=0.88,u6=0.46}
按顺序遍历完L1,L2和L3,最终得到两个推荐列表Clist,Blist,分别将Clist和Blist按融合相似度Sim(A,B)大小排序,为用户推荐排序后的Clist列表,成功推荐后将Blist的头加到Clist尾部。

Claims (1)

1.一种基于用户相似度的好友推荐方法,其特征在于该方法包括以下步骤:
步骤1、常驻点相似度计算,其基本思想是:
基于用户在热点的停留次数和时间相似度来计算用户的常驻点相似度;
1.1建立用户的停留点矩阵形式如下:
<mrow> <msub> <mi>D</mi> <mi>s</mi> </msub> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>R</mi> <mrow> <mn>1</mn> <mo>,</mo> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>R</mi> <mrow> <mn>1</mn> <mo>,</mo> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>R</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>n</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>R</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>n</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>R</mi> <mrow> <mn>2</mn> <mo>,</mo> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>R</mi> <mrow> <mn>2</mn> <mo>,</mo> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>R</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>n</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>R</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>n</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>R</mi> <mrow> <mi>m</mi> <mo>,</mo> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>R</mi> <mrow> <mi>m</mi> <mo>,</mo> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>R</mi> <mrow> <mi>m</mi> <mo>,</mo> <mi>n</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>R</mi> <mrow> <mi>m</mi> <mo>,</mo> <mi>n</mi> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> </mrow>
其中m代表用户数,n代表热点区域数,Ri,j代表第i个用户对第j个热点的访问次数;
1.2计算用户热点区域的时间相似度:
用Δt表示两个用户A,B在热点的互时间差
<mrow> <mi>&amp;Delta;</mi> <mi>t</mi> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <msub> <mi>s</mi> <mi>A</mi> </msub> <mo>.</mo> <mi>b</mi> <mi>e</mi> <mi>g</mi> <mi>i</mi> <mi>n</mi> <mi>T</mi> <mo>-</mo> <msub> <mi>s</mi> <mi>B</mi> </msub> <mo>.</mo> <mi>b</mi> <mi>e</mi> <mi>g</mi> <mi>i</mi> <mi>n</mi> <mi>T</mi> <mo>)</mo> <mo>+</mo> <mo>(</mo> <msub> <mi>s</mi> <mi>A</mi> </msub> <mi>l</mi> <mi>e</mi> <mi>v</mi> <mi>T</mi> <mo>-</mo> <msub> <mi>s</mi> <mi>B</mi> </msub> <mi>l</mi> <mi>e</mi> <mi>v</mi> <mi>T</mi> <mo>)</mo> </mrow> <mn>2</mn> </mfrac> </mrow>
sA,sB分别表示不同用户;sa.beginT为用户a进入热点时间,sa.LevT为用户离开热点时间,其中a∈{A1 A2 ..... Am};基于上述得到用户热点区域时间相似度:
<mrow> <msub> <mi>S</mi> <mrow> <mi>t</mi> <mi>i</mi> <mi>m</mi> <mi>e</mi> </mrow> </msub> <mo>=</mo> <mrow> <mo>|</mo> <mfrac> <mrow> <msub> <mi>&amp;Delta;t</mi> <mi>A</mi> </msub> <mo>-</mo> <msub> <mi>&amp;Delta;t</mi> <mi>B</mi> </msub> </mrow> <mrow> <mi>&amp;Delta;</mi> <mi>t</mi> <mo>*</mo> <mi>max</mi> <mrow> <mo>(</mo> <msub> <mi>&amp;Delta;t</mi> <mi>A</mi> </msub> <mo>,</mo> <msub> <mi>&amp;Delta;t</mi> <mi>B</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>|</mo> </mrow> </mrow>
其中Δta=sa.LevT-sa.beginT为自时间差,表示用户自己进入该停留点与离开该停留点的时间差;
1.3地理层次权重计算
根据用户热点当前的地理编码层次来计算得到地理层次权重如下:
<mrow> <msub> <mi>W</mi> <mrow> <msub> <mi>Geo</mi> <mi>i</mi> </msub> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>Geo</mi> <mi>i</mi> </msub> </mrow> <mrow> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>Geo</mi> <mi>j</mi> </msub> </mrow> </mfrac> </mrow>
其中Geoi为当前的编码层次,层次越低,权重越大,越低层次相似说明用户的热点相似度越高;
1.4基于1.1-1.3计算用户常驻点相似度
<mrow> <msub> <mi>S</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>a</mi> <mi>y</mi> <mrow> <mo>(</mo> <mi>A</mi> <mo>,</mo> <mi>B</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mo>&amp;lsqb;</mo> <msub> <mi>W</mi> <mrow> <msub> <mi>Geo</mi> <mi>i</mi> </msub> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>R</mi> <mrow> <mi>A</mi> <mo>,</mo> <mi>i</mi> </mrow> </msub> <mo>-</mo> <msub> <mover> <mi>R</mi> <mo>&amp;OverBar;</mo> </mover> <mi>A</mi> </msub> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> <mo>&amp;lsqb;</mo> <msub> <mi>W</mi> <mrow> <msub> <mi>Geo</mi> <mi>i</mi> </msub> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>R</mi> <mrow> <mi>B</mi> <mo>,</mo> <mi>i</mi> </mrow> </msub> <mo>-</mo> <msub> <mover> <mi>R</mi> <mo>&amp;OverBar;</mo> </mover> <mi>B</mi> </msub> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> <msub> <mi>s</mi> <mrow> <mi>t</mi> <mi>i</mi> <mi>m</mi> <mi>e</mi> </mrow> </msub> </mrow> <mrow> <msqrt> <mrow> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msup> <mrow> <mo>&amp;lsqb;</mo> <msub> <mi>W</mi> <mrow> <msub> <mi>Geo</mi> <mi>i</mi> </msub> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>R</mi> <mrow> <mi>A</mi> <mo>,</mo> <mi>i</mi> </mrow> </msub> <mo>-</mo> <msub> <mover> <mi>R</mi> <mo>&amp;OverBar;</mo> </mover> <mi>A</mi> </msub> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <msqrt> <mrow> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msup> <mrow> <mo>&amp;lsqb;</mo> <msub> <mi>W</mi> <mrow> <msub> <mi>Geo</mi> <mi>i</mi> </msub> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>R</mi> <mrow> <mi>B</mi> <mo>,</mo> <mi>i</mi> </mrow> </msub> <mo>-</mo> <msub> <mover> <mi>R</mi> <mo>&amp;OverBar;</mo> </mover> <mi>B</mi> </msub> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> </mrow> </mfrac> </mrow>
其中RA,i表示用户A对i区域的访问次数,表示用户A对m个区域的平均访问次数;
步骤2、轨迹相似度计算,其基本思想是:
基于分段点构造的最小外接轨迹区域,通过计算用户之间的重叠轨迹区域或轨迹区域距离来计算轨迹相似度;
2.1定义轨迹节点集
<P1 P2 ..... Pn>
其中Pi是轨迹中的热点和角度突变点,角度突变点就是该点的角速度发生突变,往往在转折处,掉头处;热点和角度突变点统称为分段点;
2.2基于分段点得到最小外接区域MTR,具体如下:
MTR的构造方法由两个分段点P1(x1,y1),P2(x2,y2)来构造,MTR矩阵区域的四个顶点为P1(x1,y1),P3(x1,y2),P2(x2,y2),P4(x2,y1);
则用户A的轨迹通过最小外接区域集来表示;
MTRA=MTRA1→MTRA2→......MTRAn
2.3根据用户之间的轨迹,计算用户之间的相关性,具体如下:
2.3.1根据两个用户的重叠轨迹区域,计算用户轨迹区域的重叠面积比率,具体如下:
<mrow> <msub> <mi>S</mi> <mrow> <msub> <mi>overlap</mi> <mrow> <mi>A</mi> <mo>,</mo> <mi>B</mi> </mrow> </msub> </mrow> </msub> <mo>=</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mfrac> <mrow> <msub> <mi>MTR</mi> <mrow> <mi>A</mi> <mo>,</mo> <mi>i</mi> </mrow> </msub> <mo>&amp;cap;</mo> <msub> <mi>MTR</mi> <mrow> <mi>B</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mrow> <mrow> <msub> <mi>MTR</mi> <mrow> <mi>A</mi> <mo>,</mo> <mi>i</mi> </mrow> </msub> <mo>&amp;cup;</mo> <msub> <mi>MTR</mi> <mrow> <mi>B</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mrow> </mfrac> </mrow>
2.3.2计算两个用户的轨迹区域的距离为:
d=max(X(MTRA))-min(X(MTRB))+max(Y(MTRA))-min(Y(MTRB))
即两个矩阵的最大的x坐标最小值,减去最小的x坐标最大值,加上最大的y坐标最小值减去最小的y坐标最大值;
2.4轨迹相似度具体形式为:
若两用户轨迹区域存在重叠则轨迹相似度为:
<mrow> <msub> <mi>S</mi> <mrow> <msub> <mi>trail</mi> <mrow> <mo>(</mo> <mi>A</mi> <mo>,</mo> <mi>B</mi> <mo>)</mo> </mrow> </msub> </mrow> </msub> <mo>=</mo> <msub> <mi>S</mi> <mrow> <msub> <mi>overlap</mi> <mrow> <mo>(</mo> <mi>A</mi> <mo>,</mo> <mi>B</mi> <mo>)</mo> </mrow> </msub> </mrow> </msub> </mrow>
若两用户轨迹区域存在距离则轨迹相似度为:
<mrow> <msub> <mi>S</mi> <mrow> <msub> <mi>trail</mi> <mrow> <mo>(</mo> <mi>A</mi> <mo>,</mo> <mi>B</mi> <mo>)</mo> </mrow> </msub> </mrow> </msub> <mo>=</mo> <mi>d</mi> </mrow>
相似度定义标称化处理:
<mrow> <msub> <mi>S</mi> <mrow> <mi>t</mi> <mi>r</mi> <mi>a</mi> <mi>i</mi> <mi>l</mi> <mrow> <mo>(</mo> <mi>A</mi> <mo>,</mo> <mi>B</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <mi>max</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>(</mo> <mrow> <msub> <mi>MTR</mi> <mi>A</mi> </msub> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>-</mo> <mi>min</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>(</mo> <mrow> <msub> <mi>MTR</mi> <mi>B</mi> </msub> </mrow> <mo>)</mo> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>+</mo> <mi>max</mi> <mrow> <mo>(</mo> <mi>Y</mi> <mo>(</mo> <mrow> <msub> <mi>MTR</mi> <mi>A</mi> </msub> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>-</mo> <mi>min</mi> <mrow> <mo>(</mo> <mi>Y</mi> <mo>(</mo> <mrow> <msub> <mi>MTR</mi> <mi>B</mi> </msub> </mrow> <mo>)</mo> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>&amp;times;</mo> <mfrac> <msub> <mi>S</mi> <mrow> <msub> <mi>overlap</mi> <mrow> <mi>A</mi> <mo>,</mo> <mi>B</mi> </mrow> </msub> </mrow> </msub> <mi>d</mi> </mfrac> </mrow>
步骤3、兴趣相似度计算,其基本思想是:通过计算用户兴趣特征向量之间地余弦值来获得兴趣相似度;
3.1用户A兴趣特征向量具体表示为
eu={(u1,v1),(u2,v2),(u3,v3)
其中ui是爱好种类,vi是对应的热爱程度;
3.2兴趣相似度计算
<mrow> <mi>S</mi> <mrow> <mo>(</mo> <mi>u</mi> <mo>,</mo> <mi>v</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msub> <mi>e</mi> <mi>u</mi> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>e</mi> <mi>v</mi> </msub> </mrow> <mrow> <mo>|</mo> <mo>|</mo> <msub> <mi>e</mi> <mi>u</mi> </msub> <mo>|</mo> <mo>|</mo> <mo>&amp;times;</mo> <mo>|</mo> <mo>|</mo> <msub> <mi>e</mi> <mi>v</mi> </msub> <mo>|</mo> <mo>|</mo> </mrow> </mfrac> </mrow>
其中eu,ev分别表示两用户兴趣特征向量,S(u,v)越大表示相似度越高,其取值范围为[0,1],0表示完全不同,1表示完全相同;
步骤4、基于多相似度融合的好友推荐:
对用户A三个Top-k列表L1,L2,L3遍历顺序如下:
L1.TOP1→L2.TOP1→L3.TOP1→.....→L3.TOPk
1.首先遍历L1中U1,同时查找L2L3中对应U1的相似度;
2.计算用户A与B的融合相似度Sim(A,B)=aSim(L1)+bSim(L2)+cSim(L3)
3.If Sim(A,B)>L加入优先推荐列表Clist;
4.If Sim(A,B)<L加入备选推荐列表Blist;
5.按顺序遍历完L1,L2与L3,最终得到两个推荐列表Clist和Blist;
6.为用户推荐排序后的Clist列表,成功推荐后将Blist的头加到Clist尾部。
CN201711316229.6A 2017-12-12 2017-12-12 一种基于用户相似度的好友推荐方法 Active CN108108749B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711316229.6A CN108108749B (zh) 2017-12-12 2017-12-12 一种基于用户相似度的好友推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711316229.6A CN108108749B (zh) 2017-12-12 2017-12-12 一种基于用户相似度的好友推荐方法

Publications (2)

Publication Number Publication Date
CN108108749A true CN108108749A (zh) 2018-06-01
CN108108749B CN108108749B (zh) 2020-01-17

Family

ID=62208461

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711316229.6A Active CN108108749B (zh) 2017-12-12 2017-12-12 一种基于用户相似度的好友推荐方法

Country Status (1)

Country Link
CN (1) CN108108749B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109769210A (zh) * 2018-11-23 2019-05-17 亚信科技(中国)有限公司 用户活动区域相似度判断方法、装置、计算机设备
CN109934265A (zh) * 2019-02-15 2019-06-25 同盾控股有限公司 一种常驻地址的确定方法和装置
CN111814067A (zh) * 2020-06-30 2020-10-23 北京百度网讯科技有限公司 好友推荐方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021305A (zh) * 2016-05-05 2016-10-12 北京邮电大学 一种模式与偏好感知的poi推荐方法及系统
CN106022934A (zh) * 2016-05-05 2016-10-12 北京邮电大学 一种基于移动轨迹模式的潜在好友发现方法及系统
CN106484876A (zh) * 2016-10-13 2017-03-08 中山大学 一种基于典型度和信任网络的协同过滤推荐方法
CN107071719A (zh) * 2016-12-12 2017-08-18 浙江大学 一种基于室内移动对象轨迹分析的热点区域热度分析方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021305A (zh) * 2016-05-05 2016-10-12 北京邮电大学 一种模式与偏好感知的poi推荐方法及系统
CN106022934A (zh) * 2016-05-05 2016-10-12 北京邮电大学 一种基于移动轨迹模式的潜在好友发现方法及系统
CN106484876A (zh) * 2016-10-13 2017-03-08 中山大学 一种基于典型度和信任网络的协同过滤推荐方法
CN107071719A (zh) * 2016-12-12 2017-08-18 浙江大学 一种基于室内移动对象轨迹分析的热点区域热度分析方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BOLONG CUI: "A friend recommendation algorithm based on trajectory mining", 《2016 9TH INTERNATIONAL SYMPOSIUM ON COMPUTATIONAL INTELLIGENCE AND DESIGN》 *
孙晓晨 等: "位置社交网络的潜在好友推荐模型研究", 《电信科学》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109769210A (zh) * 2018-11-23 2019-05-17 亚信科技(中国)有限公司 用户活动区域相似度判断方法、装置、计算机设备
CN109934265A (zh) * 2019-02-15 2019-06-25 同盾控股有限公司 一种常驻地址的确定方法和装置
CN109934265B (zh) * 2019-02-15 2021-06-11 同盾控股有限公司 一种常驻地址的确定方法和装置
CN111814067A (zh) * 2020-06-30 2020-10-23 北京百度网讯科技有限公司 好友推荐方法、装置、设备及存储介质
CN111814067B (zh) * 2020-06-30 2024-03-15 北京百度网讯科技有限公司 好友推荐方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN108108749B (zh) 2020-01-17

Similar Documents

Publication Publication Date Title
CN111061961B (zh) 一种融合多特征的矩阵分解兴趣点推荐方法及其实现系统
CN107102989B (zh) 一种基于词向量、卷积神经网络的实体消歧方法
JP6784308B2 (ja) 施設特性を更新するプログラム、施設をプロファイリングするプログラム、コンピュータ・システム、及び施設特性を更新する方法
EP3779841B1 (en) Method, apparatus and system for sending information, and computer-readable storage medium
Wang et al. Semantic-based location recommendation with multimodal venue semantics
US9547908B1 (en) Feature mask determination for images
CN108108749B (zh) 一种基于用户相似度的好友推荐方法
CN107341261B (zh) 一种面向位置社交网络的兴趣点推荐方法
CN111161317A (zh) 一种基于多重网络的单目标跟踪方法
WO2019214453A1 (zh) 一种内容分享系统、方法、标注方法、服务器及终端设备
CN103365936A (zh) 视频推荐系统及其方法
CN110795571A (zh) 基于深度学习和知识图谱的文化旅游资源推荐方法
CN112131472A (zh) 信息推荐方法、装置、电子设备和存储介质
Zhang Language in our time: An empirical analysis of hashtags
Zhao et al. The 3rd anti-uav workshop & challenge: Methods and results
CN109460520A (zh) 基于地理-社会关系与深隐式兴趣挖掘的兴趣点推荐方法
Park et al. Three-dimensional positioning system using Bluetooth low-energy beacons
Yao et al. A novel real-time fall detection method based on head segmentation and convolutional neural network
CN104750762A (zh) 一种信息检索方法及装置
CN107577782A (zh) 一种基于异质数据的人物相似度刻画方法
CN106022877A (zh) 一种基于用户手游行为图谱的游戏推荐方法
CN116518960A (zh) 路网更新方法、装置、电子设备和存储介质
Setiowati et al. Context-based awareness in location recommendation system to enhance recommendation quality: A review
CN117634486B (zh) 一种基于文本信息的指向性3d实例分割方法
CN105574535B (zh) 基于间接距离角直方图空间关系模型的图形符号识别方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant