1.一種融入時(shí)間和地理位置信息的地點(diǎn)推薦方法,其特征是按以下步驟進(jìn)行:
步驟1:獲取用戶地點(diǎn)簽到數(shù)據(jù),所述用戶地點(diǎn)簽到數(shù)據(jù)的屬性包括:用戶、地點(diǎn)、地點(diǎn)經(jīng)度、地點(diǎn)緯度和用戶簽到時(shí)間段;
令所述用戶地點(diǎn)簽到數(shù)據(jù)中的所有用戶記為U={U1,...,Uu,...U|U|},所有地點(diǎn)記為L(zhǎng)={L1,...,Ll,...,L|L|},所有用戶簽到時(shí)間段記為T(mén)={1,…,t,...,|T|};其中|U|為用戶的總個(gè)數(shù),Uu表示第u個(gè)用戶;|L|為地點(diǎn)的總個(gè)數(shù),Ll表示第l個(gè)地點(diǎn);并有,Ll={latl,lonl},latl表示第l個(gè)地點(diǎn)Ll的經(jīng)度,lonl表示第l個(gè)地點(diǎn)Ll緯度;|T|為時(shí)間的總個(gè)數(shù),t為第t個(gè)用戶簽到時(shí)間段;
定義第t個(gè)時(shí)間段內(nèi)第u個(gè)用戶Uu在第l個(gè)地點(diǎn)Ll的簽到次數(shù)為若第t個(gè)時(shí)間段內(nèi)第u個(gè)用戶Uu在第l個(gè)地點(diǎn)Ll未簽到,則令否則令μ表示第t個(gè)時(shí)間段內(nèi)第u個(gè)用戶Uu在第l個(gè)地點(diǎn)Ll的簽到總次數(shù);從而得到第u個(gè)用戶Uu在所有已簽到地點(diǎn)的集合和第u個(gè)用戶Uu在所有未簽到地點(diǎn)的集合,并令Lu,a表示第u個(gè)用戶Uu的第a個(gè)已簽到地點(diǎn);令Lu,b表示第u個(gè)用戶Uu的第b個(gè)未簽到地點(diǎn);
步驟2:計(jì)算基于地理位置因素的用戶到每個(gè)未簽到地點(diǎn)的概率;
步驟2.1:利用式(1)計(jì)算第u個(gè)用戶Uu在第a個(gè)已簽到地點(diǎn)Lu,a的簽到總次數(shù)Cu,a:
步驟2.2:利用多中心聚類算法對(duì)第u個(gè)用戶Uu的所有已簽到地點(diǎn)進(jìn)行聚類,得到K個(gè)聚類結(jié)果,其中,第k個(gè)聚類結(jié)果包括:第u個(gè)用戶Uu的聚類中心,記為Cenu={cenu,k};cenu,k表示第u個(gè)用戶Uu的第k個(gè)聚類中心,且第u個(gè)用戶Uu在第k個(gè)聚類中心cenu,k所在類別的簽到總次數(shù)記為allu,k;1≤k≤K;
步驟2.3:根據(jù)聚類結(jié)果計(jì)算用戶到未簽到地點(diǎn)的概率;
步驟2.3.1:計(jì)算第u個(gè)用戶的第b個(gè)未簽到地點(diǎn)Lu,b和第k個(gè)聚類中心之間的距離
步驟2.3.2:利用式(2)計(jì)算在第k個(gè)聚類結(jié)果條件下,第u個(gè)用戶Uu到第b個(gè)未簽到地點(diǎn)Lu,b的條件概率P(Lu,b|cenu,k):
步驟2.3.3:利用式(3)計(jì)算在所有聚類結(jié)果條件下,第u個(gè)用戶Uu到第b個(gè)未簽到地點(diǎn)Lu,b的概率Pro(Uu,Lu,b)
步驟3:計(jì)算時(shí)間感知下地點(diǎn)之間的相似性:
步驟3.1:利用式(4)計(jì)算第i個(gè)時(shí)間段和第j個(gè)時(shí)間段之間的間距Di,j:
步驟3.2:對(duì)于第l個(gè)地點(diǎn)Ll,利用式(5)計(jì)算第i個(gè)時(shí)間段和第j個(gè)時(shí)間段之間的余弦相似度cosl(i,j):
步驟3.3:結(jié)合時(shí)間段之間的間距和時(shí)間段之間的余弦相似度,利用式(6)計(jì)算第i個(gè)時(shí)間段和第j個(gè)時(shí)間段之間的相似性sim(i,j):
式(6)中,λ為調(diào)整參數(shù);
步驟3.4:根據(jù)各時(shí)間段之間的相似性,利用式(7)對(duì)第t個(gè)時(shí)間段內(nèi)第u個(gè)用戶Uu在第b個(gè)未簽到地點(diǎn)Lu,b的簽到次數(shù)進(jìn)行填補(bǔ),得到填補(bǔ)后的簽到次數(shù)
式(7)中,h表示所有用戶簽到時(shí)間段T中,除第t個(gè)時(shí)間段之外的任一時(shí)間段;對(duì)于第a個(gè)已簽到的地點(diǎn)Lu,a,令賦值給
步驟3.5:根據(jù)填補(bǔ)后的簽到數(shù)據(jù),利用式(8)計(jì)算時(shí)間感知下第m個(gè)地點(diǎn)Lm和第n個(gè)地點(diǎn)Ln之間的相似性sim(Lm,Ln),1≤m,n≤|L|:
步驟4:綜合考慮時(shí)間和地理位置信息,預(yù)測(cè)用戶在未簽到地點(diǎn)的簽到次數(shù);
步驟4.1:設(shè)定每個(gè)地點(diǎn)的鄰近地點(diǎn)數(shù)目K;對(duì)于第u個(gè)用戶Uu的第b個(gè)未簽到地點(diǎn)Lu,b,根據(jù)地點(diǎn)Lu,b與其它地點(diǎn)的時(shí)間感知下的相似性,將相似性排名前K位的地點(diǎn)依次放入地點(diǎn)Lu,b的鄰近集合NLu,b中,得到鄰近集合表示第u個(gè)用戶Uu在第b個(gè)未簽到地點(diǎn)Lu,b的第d個(gè)鄰近地點(diǎn),令第u個(gè)用戶Uu在第d個(gè)鄰近地點(diǎn)的簽到次數(shù)為
步驟4.2:利用式(9)預(yù)測(cè)第u個(gè)用戶Uu在第b個(gè)未簽到地點(diǎn)Lu,b的可能簽到次數(shù)Pre(Uu,Lu,b);
步驟5:設(shè)定用戶推薦的地點(diǎn)數(shù)目為N;將第u個(gè)用戶Uu在所有未簽到地點(diǎn)的可能簽到次數(shù)進(jìn)行降序排序,并選取排名前N個(gè)地點(diǎn)推薦給第u個(gè)用戶Uu。