本發(fā)明涉及旅游信息管理技術(shù)領(lǐng)域,具體涉及一種景區(qū)推薦方法及系統(tǒng)。
背景技術(shù):
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,人們可以通過互聯(lián)網(wǎng)和移動(dòng)互聯(lián)網(wǎng),借助便攜的終端設(shè)備,主動(dòng)獲得景區(qū)的商家信息;現(xiàn)有的景區(qū)的商家是根據(jù)景區(qū)標(biāo)簽,推薦相應(yīng)商家,即為所有商家添加所屬景區(qū)的標(biāo)簽,在輸入景區(qū)名稱后,系統(tǒng)即可自動(dòng)推薦相應(yīng)商家。
上述推薦景區(qū)商家的模式存在的缺點(diǎn)是:數(shù)據(jù)管理相當(dāng)復(fù)雜,若增加新景區(qū),將大量更新現(xiàn)有數(shù)據(jù),而且,對(duì)于只能添加單一景區(qū)標(biāo)簽的系統(tǒng),當(dāng)不同景區(qū)距離較近時(shí),單一景區(qū)的推薦結(jié)果將不完整。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述問題,本申請(qǐng)?zhí)峁┮环N景區(qū)推薦方法及系統(tǒng)。
根據(jù)第一方面,一種實(shí)施例中提供一種景區(qū)推薦方法,包括步驟:
景區(qū)、商家編碼:獲取商家與景區(qū)的經(jīng)緯度信息,將商家的經(jīng)緯度信息轉(zhuǎn)換成商家GeoHash編碼,將景區(qū)的經(jīng)緯度信息轉(zhuǎn)換成景區(qū)GeoHash編碼;
獲取景區(qū)商家:通過匹配景區(qū)GeoHash編碼和商家GeoHash編碼的前綴編碼獲取景區(qū)商家;
推薦景區(qū)商家:將景區(qū)商家推薦于用戶。
根據(jù)第二方面,一種實(shí)施例中提供一種景區(qū)推薦系統(tǒng),包括:
轉(zhuǎn)換模塊,用于獲取商家與景區(qū)的經(jīng)緯度信息,將商家的經(jīng)緯度信息轉(zhuǎn)換成商家GeoHash編碼,將景區(qū)的經(jīng)緯度信息轉(zhuǎn)換成景區(qū)GeoHash編碼;
景區(qū)商家獲取模塊,用于通過匹配景區(qū)GeoHash編碼和商家GeoHash編碼的前綴編碼獲取景區(qū)商家;
景區(qū)商家推薦模塊,用于將景區(qū)商家推薦于用戶。
依據(jù)上述實(shí)施例的景區(qū)推薦方法,由于基于GeoHash算法對(duì)景區(qū)的經(jīng)緯度和商家的經(jīng)緯度進(jìn)行編碼,然后,通過景區(qū)GeoHash編碼和商家GeoHash編碼的前綴進(jìn)行匹配,然后根據(jù)匹配結(jié)果獲取景區(qū)所屬商家及其相鄰的商家,并將這些商家推薦給用戶,使得,即使出現(xiàn)不同景區(qū)且不同景區(qū)之間距離較近時(shí),也能獲得完整、準(zhǔn)確的商家信息,提高推薦商家匹配準(zhǔn)確性。
附圖說明
圖1為景區(qū)推薦方法流程圖;
圖2為景區(qū)推薦系統(tǒng)原理圖。
具體實(shí)施方式
下面通過具體實(shí)施方式結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
本例提供一種景區(qū)推薦方法,如圖1所示,包括如下步驟。
S10:景區(qū)、商家編碼。
首先,在地圖上,根據(jù)景區(qū)商家的坐標(biāo)位置信息,獲取景區(qū)商家的經(jīng)緯度信息,利用GeoHash算法將該商家的經(jīng)緯度信息轉(zhuǎn)換成商家GeoHash編碼;當(dāng)用戶輸入景區(qū)名稱時(shí),在地圖上通過搜索景區(qū)名稱獲取其所屬的經(jīng)緯度信息,同樣的,利用GeoHash算法將該景區(qū)的經(jīng)緯度信息轉(zhuǎn)換成景區(qū)GeoHash編碼。
GeoHash算法是一種將經(jīng)度和緯度的兩個(gè)坐標(biāo)轉(zhuǎn)換成一個(gè)可以排序、可以比較的字符串編碼的方法,所以,根據(jù)景區(qū)的經(jīng)緯度信息和商家的經(jīng)緯信息,利用GeoHash算法分別可以得到景區(qū)GeoHash編碼和商家GeoHash編碼;另外,由于GeoHash編碼的字符串越長(zhǎng),表示的范圍越精確,本例的景區(qū)GeoHash編碼的字符串長(zhǎng)度為10,商家GeoHash編碼的字符串長(zhǎng)度也為10;本例的GeoHash算法是現(xiàn)有技術(shù),具體編碼方法不作贅述。
S20:獲取景區(qū)商家。
通過匹配景區(qū)GeoHash編碼和商家GeoHash編碼的前綴編碼獲取景區(qū)商家,具體包括如處步驟。
設(shè)置景區(qū)GeoHash編碼的前綴編碼;因?yàn)镚eoHash算法表示的并不是一個(gè)點(diǎn),而是一個(gè)矩形區(qū)域,比如編碼wx4g0ec190,它表示的是一個(gè)矩形區(qū)域;GeoHash編碼的前綴可以表示更大的區(qū)域,例如wx4g0ec190,它的前綴wx4g0e表示包含編碼wx4g0ec190在內(nèi)的更大范圍;所以,利用前綴搜索可以獲得一個(gè)更大的范圍,由于字符串前綴匹配越多的距離越近,為了提高推薦景區(qū)商家的準(zhǔn)確性,本例景區(qū)GeoHash編碼的前綴編碼設(shè)置7位,相應(yīng)地,商家GeoHash編碼的前綴編碼也是7位,如,景區(qū)GeoHash編碼為wx4g0ec190,則它的前綴編碼為wx4g0ec。
GeoHash編碼的字符串相似的表示距離相近,根據(jù)此GeoHash算法的特性,可以利用字符串的前綴匹配來查詢景區(qū)所屬商家及景區(qū)附近的商家,所以,本例在商家GeoHash編碼中,搜索與景區(qū)GeoHash編碼的前綴編碼相匹配的商家GeoHash編碼, 例如,景區(qū)GeoHash編碼的前綴編碼為wx4g0ec,則搜索與wx4g0ec相匹配的商家GeoHash編碼的前綴編碼。
根據(jù)景區(qū)GeoHash編碼的前綴編碼搜索到的相匹配的商家GeoHash編碼,則該商家GeoHash編碼相對(duì)應(yīng)的商家即是景區(qū)所屬商家或者是景區(qū)附近的商家。
S30:計(jì)算商家與景區(qū)的距離。
通過步驟S20搜索到的景區(qū)商家,根據(jù)該景區(qū)商家GeoHash編碼的后綴編碼逐一計(jì)算景區(qū)商家與景區(qū)的距離,如,一個(gè)景區(qū)商家GeoHash編碼為wx4g0ec19d,前綴編碼為wx4g0ec,則后綴編碼為19d,利用后綴編碼19d計(jì)算該景區(qū)商家與景區(qū)的距離。
S40:排序景區(qū)商家。
根據(jù)步驟S30計(jì)算的各商家與景區(qū)的距離,按商家與景區(qū)的距離由近而遠(yuǎn)順序排列景區(qū)商家。
S50:推薦景區(qū)商家。
將排序好的景區(qū)商家推薦給用戶。
S60:存儲(chǔ)推薦結(jié)果。
查看用戶的檢索記錄,判斷用戶是否首次搜索其輸入的景區(qū)名稱,如果是,存儲(chǔ)其輸入景區(qū)名稱的位置信息和推薦商家的信息,以便用戶下次輸入該景區(qū)名稱時(shí),將前期的搜索結(jié)果直接推薦給用戶。
根據(jù)本例的景區(qū)推薦方法,本例還提供一種景區(qū)推薦系統(tǒng),其原理圖如圖2所示。
景區(qū)推薦系統(tǒng)包括轉(zhuǎn)換模塊1、景區(qū)商家獲取模塊2、計(jì)算模塊3、排序模塊4、景區(qū)商家推薦模塊5和存儲(chǔ)模塊6。
具體的,轉(zhuǎn)換模塊1用于獲取商家與景區(qū)的經(jīng)緯度信息,將商家的經(jīng)緯度信息轉(zhuǎn)換成商家GeoHash編碼,將景區(qū)的經(jīng)緯度信息轉(zhuǎn)換成景區(qū)GeoHash編碼;
轉(zhuǎn)換模塊1的具體工作過程請(qǐng)參考上述的步驟S10。
景區(qū)商家獲取模塊2用于通過匹配景區(qū)GeoHash編碼和商家GeoHash編碼的前綴編碼獲取景區(qū)商家;進(jìn)一步,景區(qū)商家獲取模塊2包括設(shè)置單元21、搜索單元22和獲取單元23;設(shè)置單元21用于設(shè)置景區(qū)GeoHash編碼的前綴編碼;搜索單元22用于在商家GeoHash編碼中,搜索與景區(qū)GeoHash編碼的前綴編碼相匹配的商家GeoHash編碼;獲取單元23用于獲取與相匹配的商家GeoHash編碼對(duì)應(yīng)的景區(qū)商家。設(shè)置單元21、搜索單元22和獲取單元23的具體工作原理請(qǐng)參考上述步驟S20。
計(jì)算模塊3用于根據(jù)相匹配的商家GeoHash編碼的后綴編碼逐一計(jì)算景區(qū)商家與景區(qū)的距離。
排序模塊4用于按商家與景區(qū)的距離的由近而遠(yuǎn)順序排列景區(qū)商家。
景區(qū)商家推薦模塊5用于將排序后的景區(qū)商家推薦于用戶。
存儲(chǔ)模塊6用于檢索用戶是否首次搜索景區(qū)名稱,若是,存儲(chǔ)景區(qū)的位置信息和推薦商家的信息,以便用戶下次輸入該景區(qū)名稱時(shí),將前期的搜索結(jié)果直接推薦給用戶。
以上應(yīng)用了具體個(gè)例對(duì)本發(fā)明進(jìn)行闡述,只是用于幫助理解本發(fā)明,并不用以限制本發(fā)明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明的思想,還可以做出若干簡(jiǎn)單推演、變形或替換。