一种融入时间和地理位置信息的地点推荐方法与流程

文档序号:12465333阅读:来源:国知局

技术特征:

1.一种融入时间和地理位置信息的地点推荐方法,其特征是按以下步骤进行:

步骤1:获取用户地点签到数据,所述用户地点签到数据的属性包括:用户、地点、地点经度、地点纬度和用户签到时间段;

令所述用户地点签到数据中的所有用户记为U={U1,...,Uu,...U|U|},所有地点记为L={L1,...,Ll,...,L|L|},所有用户签到时间段记为T={1,…,t,...,|T|};其中|U|为用户的总个数,Uu表示第u个用户;|L|为地点的总个数,Ll表示第l个地点;并有,Ll={latl,lonl},latl表示第l个地点Ll的经度,lonl表示第l个地点Ll纬度;|T|为时间的总个数,t为第t个用户签到时间段;

定义第t个时间段内第u个用户Uu在第l个地点Ll的签到次数为若第t个时间段内第u个用户Uu在第l个地点Ll未签到,则令否则令μ表示第t个时间段内第u个用户Uu在第l个地点Ll的签到总次数;从而得到第u个用户Uu在所有已签到地点的集合和第u个用户Uu在所有未签到地点的集合,并令Lu,a表示第u个用户Uu的第a个已签到地点;令Lu,b表示第u个用户Uu的第b个未签到地点;

步骤2:计算基于地理位置因素的用户到每个未签到地点的概率;

步骤2.1:利用式(1)计算第u个用户Uu在第a个已签到地点Lu,a的签到总次数Cu,a

<mrow> <msub> <mi>C</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>a</mi> </mrow> </msub> <mo>=</mo> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>t</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mi>T</mi> <mo>|</mo> </mrow> </msubsup> <msubsup> <mi>C</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>a</mi> </mrow> <mi>t</mi> </msubsup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

步骤2.2:利用多中心聚类算法对第u个用户Uu的所有已签到地点进行聚类,得到K个聚类结果,其中,第k个聚类结果包括:第u个用户Uu的聚类中心,记为Cenu={cenu,k};cenu,k表示第u个用户Uu的第k个聚类中心,且第u个用户Uu在第k个聚类中心cenu,k所在类别的签到总次数记为allu,k;1≤k≤K;

步骤2.3:根据聚类结果计算用户到未签到地点的概率;

步骤2.3.1:计算第u个用户的第b个未签到地点Lu,b和第k个聚类中心之间的距离

步骤2.3.2:利用式(2)计算在第k个聚类结果条件下,第u个用户Uu到第b个未签到地点Lu,b的条件概率P(Lu,b|cenu,k):

<mrow> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>L</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>b</mi> </mrow> </msub> <mo>|</mo> <msub> <mi>cen</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mrow> <mo>(</mo> <mn>1</mn> <mo>+</mo> <msubsup> <mi>dist</mi> <mrow> <mi>b</mi> <mo>,</mo> <mi>k</mi> </mrow> <mi>u</mi> </msubsup> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

步骤2.3.3:利用式(3)计算在所有聚类结果条件下,第u个用户Uu到第b个未签到地点Lu,b的概率Pro(Uu,Lu,b)

<mrow> <mi>Pr</mi> <mi>o</mi> <mrow> <mo>(</mo> <msub> <mi>U</mi> <mi>u</mi> </msub> <mo>,</mo> <msub> <mi>L</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>b</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>L</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>b</mi> </mrow> </msub> <mo>|</mo> <msub> <mi>cen</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&times;</mo> <mfrac> <mrow> <msub> <mi>all</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> </mrow> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <msub> <mi>all</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

步骤3:计算时间感知下地点之间的相似性:

步骤3.1:利用式(4)计算第i个时间段和第j个时间段之间的间距Di,j

<mrow> <msub> <mi>D</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mo>|</mo> <mi>i</mi> <mo>-</mo> <mi>j</mi> <mo>|</mo> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mo>|</mo> <mi>i</mi> <mo>-</mo> <mi>j</mi> <mo>|</mo> <mo>&lt;</mo> <mfrac> <mrow> <mo>|</mo> <mi>T</mi> <mo>|</mo> </mrow> <mn>2</mn> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>|</mo> <mi>T</mi> <mo>|</mo> <mo>-</mo> <mo>|</mo> <mi>i</mi> <mo>-</mo> <mi>j</mi> <mo>|</mo> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mo>|</mo> <mi>i</mi> <mo>-</mo> <mi>j</mi> <mo>|</mo> <mo>&gt;</mo> <mfrac> <mrow> <mo>|</mo> <mi>T</mi> <mo>|</mo> </mrow> <mn>2</mn> </mfrac> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

步骤3.2:对于第l个地点Ll,利用式(5)计算第i个时间段和第j个时间段之间的余弦相似度cosl(i,j):

<mrow> <msub> <mi>cos</mi> <mi>l</mi> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mi>U</mi> <mo>|</mo> </mrow> </msubsup> <msubsup> <mi>C</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> <mo>&times;</mo> <msubsup> <mi>C</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>l</mi> </mrow> <mi>j</mi> </msubsup> </mrow> <mrow> <msqrt> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>(</mo> <mi>U</mi> <mo>)</mo> </mrow> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>C</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>&times;</mo> <msqrt> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mi>U</mi> <mo>|</mo> </mrow> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>C</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>l</mi> </mrow> <mi>j</mi> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>

步骤3.3:结合时间段之间的间距和时间段之间的余弦相似度,利用式(6)计算第i个时间段和第j个时间段之间的相似性sim(i,j):

<mrow> <mi>s</mi> <mi>i</mi> <mi>m</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mn>1</mn> <mi>&lambda;</mi> </mfrac> <mo>&times;</mo> <mo>(</mo> <mrow> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>l</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mi>L</mi> <mo>|</mo> </mrow> </munderover> <msub> <mi>cos</mi> <mi>l</mi> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>|</mo> <mi>L</mi> <mo>|</mo> </mrow> </mfrac> </mrow> <mo>)</mo> <mo>&times;</mo> <msub> <mi>D</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

式(6)中,λ为调整参数;

步骤3.4:根据各时间段之间的相似性,利用式(7)对第t个时间段内第u个用户Uu在第b个未签到地点Lu,b的签到次数进行填补,得到填补后的签到次数

式(7)中,h表示所有用户签到时间段T中,除第t个时间段之外的任一时间段;对于第a个已签到的地点Lu,a,令赋值给

步骤3.5:根据填补后的签到数据,利用式(8)计算时间感知下第m个地点Lm和第n个地点Ln之间的相似性sim(Lm,Ln),1≤m,n≤|L|:

步骤4:综合考虑时间和地理位置信息,预测用户在未签到地点的签到次数;

步骤4.1:设定每个地点的邻近地点数目K;对于第u个用户Uu的第b个未签到地点Lu,b,根据地点Lu,b与其它地点的时间感知下的相似性,将相似性排名前K位的地点依次放入地点Lu,b的邻近集合NLu,b中,得到邻近集合表示第u个用户Uu在第b个未签到地点Lu,b的第d个邻近地点,令第u个用户Uu在第d个邻近地点的签到次数为

步骤4.2:利用式(9)预测第u个用户Uu在第b个未签到地点Lu,b的可能签到次数Pre(Uu,Lu,b);

<mrow> <mi>Pr</mi> <mi>e</mi> <mrow> <mo>(</mo> <msub> <mi>U</mi> <mi>u</mi> </msub> <mo>,</mo> <msub> <mi>L</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>b</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>d</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <msubsup> <mover> <mi>C</mi> <mo>~</mo> </mover> <mrow> <mi>u</mi> <mo>,</mo> <mi>b</mi> </mrow> <mi>d</mi> </msubsup> <mo>&times;</mo> <mi>s</mi> <mi>i</mi> <mi>m</mi> <mrow> <mo>(</mo> <msub> <mi>L</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>b</mi> </mrow> </msub> <mo>,</mo> <msubsup> <mi>L</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>b</mi> </mrow> <mi>d</mi> </msubsup> <mo>)</mo> </mrow> <mo>&times;</mo> <mi>Pr</mi> <mi>o</mi> <mrow> <mo>(</mo> <msub> <mi>U</mi> <mi>u</mi> </msub> <mo>,</mo> <msub> <mi>L</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>b</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>d</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <mi>s</mi> <mi>i</mi> <mi>m</mi> <mrow> <mo>(</mo> <msub> <mi>L</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>b</mi> </mrow> </msub> <mo>,</mo> <msubsup> <mi>L</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>b</mi> </mrow> <mi>d</mi> </msubsup> <mo>)</mo> </mrow> <mo>&times;</mo> <mi>Pr</mi> <mi>o</mi> <mrow> <mo>(</mo> <msub> <mi>U</mi> <mi>u</mi> </msub> <mo>,</mo> <msub> <mi>L</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>b</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow>

步骤5:设定用户推荐的地点数目为N;将第u个用户Uu在所有未签到地点的可能签到次数进行降序排序,并选取排名前N个地点推荐给第u个用户Uu

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1