本發(fā)明涉及數(shù)據(jù)搜索技術(shù)領(lǐng)域,尤其涉及一種目的地搜索方法及裝置。
背景技術(shù):
在相關(guān)的導(dǎo)航類軟件中,用戶可以輸入自己想去的目的地,導(dǎo)航類軟件根據(jù)用戶輸入的目的地文本精確查找與該目的地匹配的目的地,但是如果用戶輸入的文本存在錯(cuò)別字等,就查找不到匹配的目的地,用戶使用體驗(yàn)不佳。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種目的地搜索方法及裝置,用以實(shí)現(xiàn)在保證目的地搜索的準(zhǔn)確率的基礎(chǔ)上,提高目的地搜索的成功率,從而提升用戶的使用體驗(yàn)。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種目的地搜索方法,包括:
接收用戶輸入的關(guān)于待搜索目的地的語音信息;
對所述語音信息進(jìn)行識別,得到所述語音信息對應(yīng)的發(fā)音信息和文本信息;
根據(jù)所述發(fā)音信息和所述文本信息,在目的地?cái)?shù)據(jù)庫中搜索與所述待搜索目的地相似的多個(gè)候選目的地;
分別計(jì)算每個(gè)候選目的地與所述待搜索目的地之間的發(fā)音和文本相關(guān)性得分、每個(gè)候選目的地與用戶輸入的起點(diǎn)位置之間的空間距離因子以及每個(gè)候選目的地的搜索熱度因子;
根據(jù)所述發(fā)音和文本相關(guān)性得分、所述空間距離因子和所述搜索熱度因子,對所述多個(gè)候選目的地進(jìn)行排序;
顯示排序后的多個(gè)候選目的地。
在該實(shí)施例中,在搜索與待搜索目的地匹配的候選目的地時(shí),根據(jù)發(fā)音信息和文本信息同時(shí)進(jìn)行搜索,這樣,即使文本信息中存在錯(cuò)誤,也可以通過發(fā)音信息搜索到與其匹配的候選目的地,從而保證搜索的成功率,并且在搜索得到多個(gè)候選目的地后,根據(jù)候選目的地與待搜索目的地之間的發(fā)音和文本相關(guān)性得分、每個(gè)候選目的地與用戶輸入的起點(diǎn)位置之間的空間距離因子以及每個(gè)候選目的地的搜索熱度因子對多個(gè)候選目的地進(jìn)行排序,這樣,可以將與待搜索目的地最相似的候選目的地顯示在最前面,即將用戶最可能需要的候選目的地顯示在前面,從而方便用戶進(jìn)行選擇,進(jìn)一步提升用戶的使用體驗(yàn)。
在一個(gè)實(shí)施例中,所述計(jì)算每個(gè)候選目的地與所述待搜索目的地之間的發(fā)音和文本相關(guān)性得分,包括:
將所述待搜索目的地和所述每個(gè)候選目的地按照發(fā)音信息和文本信息,分別拆分成一元發(fā)音字段、二元發(fā)音字段、一元文本字段和二元文本字段;
根據(jù)第一預(yù)設(shè)公式,分別計(jì)算所述待搜索目的地和所述每個(gè)候選目的地之間一元發(fā)音字段對應(yīng)的第一相關(guān)性得分、二元發(fā)音字段對應(yīng)的第二相關(guān)性得分、一元文本字段對應(yīng)的第三相關(guān)性得分和二元文本字段的對應(yīng)的第四相關(guān)性得分;
根據(jù)所述第一相關(guān)性得分、所述第二相關(guān)性得分、所述第三相關(guān)性得分、所述第四相關(guān)性得分和第二預(yù)設(shè)公式,計(jì)算得到所述發(fā)音和文本相關(guān)性得分。
在一個(gè)實(shí)施例中,所述第一預(yù)設(shè)公式包括:
其中,s(f)表示字段f的相關(guān)性得分,t表示字段f中的詞,tf(t)表示字段f中的詞t在所述待搜索目的地和所述候選目的地中同時(shí)出現(xiàn)的次數(shù)的平方根,c表示所述候選目的地的詞的總個(gè)數(shù);
所述第二預(yù)設(shè)公式包括:
發(fā)音和文本相關(guān)性得分=第一相關(guān)性得分×1+第二相關(guān)性得分×0.5+第三相關(guān)性得分×1+第四相關(guān)性得分×0.5。
在該實(shí)施例中,候選目的地中,與待搜索目的地中包含相同詞越多,且包含同樣詞的候選目的地的詞總個(gè)數(shù)越少,則和待搜索目的地的發(fā)音和文本相關(guān)性得分越高。
在一個(gè)實(shí)施例中,所述計(jì)算每個(gè)候選目的地與用戶輸入的起點(diǎn)位置之間的空間距離因子,包括:
獲取用戶輸入的起點(diǎn)位置;
根據(jù)第三預(yù)設(shè)公式,計(jì)算所述起點(diǎn)位置與所述每個(gè)候選目的地之間的空間距離;
根據(jù)所述空間距離和第四預(yù)設(shè)公式,確定所述空間距離因子。
在一個(gè)實(shí)施例中,所述第三預(yù)設(shè)公式包括:
d=R*arccos(sin(y0)sin(y)+cos(y0)cos(y)cos(x0-x))
其中,d表示所述空間距離,R表示地球赤道半徑,(x0,y0)表示起點(diǎn)位置經(jīng)緯度坐標(biāo),(x,y)表示候選目的地經(jīng)緯度坐標(biāo),arccos表示反余弦函數(shù),sin表示正弦函數(shù),cos表示余弦函數(shù);
所述第四預(yù)設(shè)公式包括:
其中,α表示空間距離因子,exp表示指數(shù)函數(shù),max表示取兩個(gè)參數(shù)中數(shù)值較大者,b表示預(yù)設(shè)偏移量,σ2表示預(yù)設(shè)衰減函數(shù),其中,
σ2=-scale2/(2*log(decay))
其中,scale表示預(yù)設(shè)距離范圍,decay表示預(yù)設(shè)衰減參數(shù),所述預(yù)設(shè)衰減參數(shù)小于1。
在該實(shí)施例中,候選目的地中,與用戶輸入的起點(diǎn)位置之間的距離越近,則越可能是用戶想要搜索的目的地,而與起點(diǎn)位置之間的距離大于一定的距離范圍時(shí),則可能是用戶想要搜索的目的地的可能性較小,因此,在排序時(shí),可以引入空間距離因子這個(gè)因素。
在一個(gè)實(shí)施例中,所述計(jì)算每個(gè)候選目的地的搜索熱度因子,包括:
獲取每個(gè)候選目的地的搜索熱度;
根據(jù)所述搜索熱度和第五預(yù)設(shè)公式計(jì)算得到所述搜索熱度因子。
在一個(gè)實(shí)施例中,所述第五預(yù)設(shè)公式包括:
β=log(1+k*θ)
其中,β表示搜索熱度因子,k表示預(yù)設(shè)熱度參數(shù),k>0,θ表示所述搜索熱度。
在該實(shí)施例中,搜索熱度越高的候選目的地是用戶想要搜索的目的地的可能性可能越高,因此,還可以在排序時(shí),引入搜索熱度因子這個(gè)因素。
在一個(gè)實(shí)施例中,所述根據(jù)所述發(fā)音和文本相關(guān)性得分、所述空間距離因子和所述搜索熱度因子,對所述多個(gè)候選目的地進(jìn)行排序,包括:
根據(jù)所述發(fā)音和文本相關(guān)性得分、所述空間距離因子和所述搜索熱度因子以及第六預(yù)設(shè)公式,計(jì)算得到所述待搜索目的地與所述每個(gè)候選目的地之間的最終相關(guān)性得分;
將所述多個(gè)候選目的地按照最終相關(guān)性得分進(jìn)行降序排列。
在一個(gè)實(shí)施例中,所述第六預(yù)設(shè)公式包括:
最終相關(guān)性得分=發(fā)音和文本相關(guān)性得分×空間距離因子×搜索熱度因子。
在該實(shí)施例中,在搜索得到多個(gè)候選目的地后,根據(jù)候選目的地與待搜索目的地之間的發(fā)音和文本相關(guān)性得分、每個(gè)候選目的地與用戶輸入的起點(diǎn)位置之間的空間距離因子以及每個(gè)候選目的地的搜索熱度因子對多個(gè)候選目的地進(jìn)行排序,這樣,可以將與待搜索目的地最相似的候選目的地顯示在最前面,即將用戶最可能需要的候選目的地顯示在前面,從而方便用戶進(jìn)行選擇,進(jìn)一步提升用戶的使用體驗(yàn)。
根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種目的地搜索裝置,包括:
接收模塊,用于接收用戶輸入的關(guān)于待搜索目的地的語音信息;
識別模塊,用于對所述語音信息進(jìn)行識別,得到所述語音信息對應(yīng)的發(fā)音信息和文本信息;
搜索模塊,用于根據(jù)所述發(fā)音信息和所述文本信息,在目的地?cái)?shù)據(jù)庫中搜索與所述待搜索目的地相似的多個(gè)候選目的地;
計(jì)算模塊,用于分別計(jì)算每個(gè)候選目的地與所述待搜索目的地之間的發(fā)音和文本相關(guān)性得分、每個(gè)候選目的地與用戶輸入的起點(diǎn)位置之間的空間距離因子以及每個(gè)候選目的地的搜索熱度因子;
排序模塊,用于根據(jù)所述發(fā)音和文本相關(guān)性得分、所述空間距離因子和所述搜索熱度因子,對所述多個(gè)候選目的地進(jìn)行排序;
顯示模塊,用于顯示排序后的多個(gè)候選目的地。
在一個(gè)實(shí)施例中,所述計(jì)算模塊包括:
拆分子模塊,用于將所述待搜索目的地和所述每個(gè)候選目的地按照發(fā)音信息和文本信息,分別拆分成一元發(fā)音字段、二元發(fā)音字段、一元文本字段和二元文本字段;
第一計(jì)算子模塊,用于根據(jù)第一預(yù)設(shè)公式,分別計(jì)算所述待搜索目的地和所述每個(gè)候選目的地之間一元發(fā)音字段對應(yīng)的第一相關(guān)性得分、二元發(fā)音字段對應(yīng)的第二相關(guān)性得分、一元文本字段對應(yīng)的第三相關(guān)性得分和二元文本字段的對應(yīng)的第四相關(guān)性得分;
第二計(jì)算子模塊,用于根據(jù)所述第一相關(guān)性得分、所述第二相關(guān)性得分、所述第三相關(guān)性得分、所述第四相關(guān)性得分和第二預(yù)設(shè)公式,計(jì)算得到所述發(fā)音和文本相關(guān)性得分。
在一個(gè)實(shí)施例中,所述第一預(yù)設(shè)公式包括:
其中,s(f)表示字段f的相關(guān)性得分,t表示字段f中的詞,tf(t)表示字段f中的詞t在所述待搜索目的地和所述候選目的地中同時(shí)出現(xiàn)的次數(shù)的平方根,c表示所述候選目的地的詞的總個(gè)數(shù);
所述第二預(yù)設(shè)公式包括:
發(fā)音和文本相關(guān)性得分=第一相關(guān)性得分×1+第二相關(guān)性得分×0.5+第三相關(guān)性得分×1+第四相關(guān)性得分×0.5。
在一個(gè)實(shí)施例中,所述計(jì)算模塊包括:
第一獲取子模塊,用于獲取用戶輸入的起點(diǎn)位置;
第三計(jì)算子模塊,用于根據(jù)第三預(yù)設(shè)公式,計(jì)算所述起點(diǎn)位置與所述每個(gè)候選目的地之間的空間距離;
確定子模塊,用于根據(jù)所述空間距離和第四預(yù)設(shè)公式,確定所述空間距離因子。
在一個(gè)實(shí)施例中,所述第三預(yù)設(shè)公式包括:
d=R*arccos(sin(y0)sin(y)+cos(y0)cos(y)cos(x0-x))
其中,d表示所述空間距離,R表示地球赤道半徑,(x0,y0)表示起點(diǎn)位置經(jīng)緯度坐標(biāo),(x,y)表示候選目的地經(jīng)緯度坐標(biāo),arccos表示反余弦函數(shù),sin表示正弦函數(shù),cos表示余弦函數(shù);
所述第四預(yù)設(shè)公式包括:
其中,α表示空間距離因子,exp表示指數(shù)函數(shù),max表示取兩個(gè)參數(shù)中數(shù)值較大者,b表示預(yù)設(shè)偏移量,σ2表示預(yù)設(shè)衰減函數(shù),其中,
σ2=-scal2/(2*log(decay))
其中,scale表示預(yù)設(shè)距離范圍,decay表示預(yù)設(shè)衰減參數(shù),所述預(yù)設(shè)衰減參數(shù)小于1。
在一個(gè)實(shí)施例中,所述計(jì)算模塊包括:
第二獲取子模塊,用于獲取每個(gè)候選目的地的搜索熱度;
第四計(jì)算子模塊,用于根據(jù)所述搜索熱度和第五預(yù)設(shè)公式計(jì)算得到所述搜索熱度因子。
在一個(gè)實(shí)施例中,所述第五預(yù)設(shè)公式包括:
β=log(1+k*θ)
其中,β表示搜索熱度因子,k表示預(yù)設(shè)熱度參數(shù),k>0,θ表示所述搜索熱度。
在一個(gè)實(shí)施例中,所述排序模塊包括:
第五計(jì)算子模塊,用于根據(jù)所述發(fā)音和文本相關(guān)性得分、所述空間距離因子和所述搜索熱度因子以及第六預(yù)設(shè)公式,計(jì)算得到所述待搜索目的地與所述每個(gè)候選目的地之間的最終相關(guān)性得分;
排列子模塊,用于將所述多個(gè)候選目的地按照最終相關(guān)性得分進(jìn)行降序排列。
在一個(gè)實(shí)施例中,所述第六預(yù)設(shè)公式包括:
最終相關(guān)性得分=發(fā)音和文本相關(guān)性得分×空間距離因子×搜索熱度因子。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實(shí)施例,并與說明書一起用于解釋本發(fā)明的原理。
圖1是根據(jù)一示例性實(shí)施例示出的一種目的地搜索方法的流程圖。
圖2是根據(jù)一示例性實(shí)施例示出的一種目的地搜索方法中步驟S104的流程圖。
圖3是根據(jù)一示例性實(shí)施例示出的另一種目的地搜索方法中步驟S104的流程圖。
圖4是根據(jù)一示例性實(shí)施例示出的空間距離因子的取值趨勢圖。
圖5是根據(jù)一示例性實(shí)施例示出的又一種目的地搜索方法中步驟S104的流程圖。
圖6是根據(jù)一示例性實(shí)施例示出的搜索熱度因子的取值趨勢圖。
圖7是根據(jù)一示例性實(shí)施例示出的一種目的地搜索方法中步驟S105的流程圖。
圖8是根據(jù)一示例性實(shí)施例示出的一種目的地搜索裝置的框圖。
圖9是根據(jù)一示例性實(shí)施例示出的一種目的地搜索裝置中計(jì)算模塊的框圖。
圖10是根據(jù)一示例性實(shí)施例示出的另一種目的地搜索裝置中計(jì)算模塊的框圖。
圖11是根據(jù)一示例性實(shí)施例示出的又一種目的地搜索裝置中計(jì)算模塊的框圖。
圖12是根據(jù)一示例性實(shí)施例示出的一種目的地搜索裝置中排序模塊的框圖。
具體實(shí)施方式
這里將詳細(xì)地對示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
圖1是根據(jù)一示例性實(shí)施例示出的一種目的地搜索方法的流程圖。該目的地搜索方法應(yīng)用于終端設(shè)備中,該終端設(shè)備可以是移動(dòng)電話,計(jì)算機(jī),數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺,平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,個(gè)人數(shù)字助理等任一具有導(dǎo)航功能的設(shè)備。如圖1所示,該方法包括步驟S101-S106:
在步驟S101中,接收用戶輸入的關(guān)于待搜索目的地的語音信息;
在步驟S102中,對語音信息進(jìn)行識別,得到語音信息對應(yīng)的發(fā)音信息和文本信息;
其中,發(fā)音信息是語音信息對于的拼音信息,如用戶輸入的語音信息是“海淀劇院”,則對應(yīng)的文本信息為“海淀劇院”,發(fā)音信息為“hai dian ju yuan”。
在步驟S103中,根據(jù)發(fā)音信息和文本信息,在目的地?cái)?shù)據(jù)庫中搜索與待搜索目的地相似的多個(gè)候選目的地;
在步驟S104中,分別計(jì)算每個(gè)候選目的地與待搜索目的地之間的發(fā)音和文本相關(guān)性得分、每個(gè)候選目的地與用戶輸入的起點(diǎn)位置之間的空間距離因子以及每個(gè)候選目的地的搜索熱度因子;
在步驟S105中,根據(jù)發(fā)音和文本相關(guān)性得分、空間距離因子和搜索熱度因子,對多個(gè)候選目的地進(jìn)行排序;
在步驟S106中,顯示排序后的多個(gè)候選目的地。
在該實(shí)施例中,在搜索與待搜索目的地匹配的候選目的地時(shí),根據(jù)發(fā)音信息和文本信息同時(shí)進(jìn)行搜索,這樣,即使文本信息中存在錯(cuò)誤,也可以通過發(fā)音信息搜索到與其匹配的候選目的地,從而保證搜索的成功率,并且在搜索得到多個(gè)候選目的地后,根據(jù)候選目的地與待搜索目的地之間的發(fā)音和文本相關(guān)性得分、每個(gè)候選目的地與用戶輸入的起點(diǎn)位置之間的空間距離因子以及每個(gè)候選目的地的搜索熱度因子對多個(gè)候選目的地進(jìn)行排序,這樣,可以將與待搜索目的地最相似的候選目的地顯示在最前面,即將用戶最可能需要的候選目的地顯示在前面,從而方便用戶進(jìn)行選擇,進(jìn)一步提升用戶的使用體驗(yàn)。
圖2是根據(jù)一示例性實(shí)施例示出的一種目的地搜索方法中步驟S104的流程圖。
如圖2所示,在一個(gè)實(shí)施例中,上述步驟S104包括步驟S201-S203:
在步驟S201中,將待搜索目的地和每個(gè)候選目的地按照發(fā)音信息和文本信息,分別拆分成一元發(fā)音字段、二元發(fā)音字段、一元文本字段和二元文本字段;
例如,對于“海淀劇院”,將其拆分成一元發(fā)音字段為:[“hai”,“dian”,“ju”,“yuan”],拆分成二元發(fā)音字段為:[“haidian”,“dianju”,“juyuan”],拆分成一元文本字段為:[“?!?“淀”,“劇”,“院”],拆分成二元文本字段為:[“海淀”,“淀劇”,“劇院”]。
在步驟S202中,根據(jù)第一預(yù)設(shè)公式,分別計(jì)算待搜索目的地和每個(gè)候選目的地之間一元發(fā)音字段對應(yīng)的第一相關(guān)性得分、二元發(fā)音字段對應(yīng)的第二相關(guān)性得分、一元文本字段對應(yīng)的第三相關(guān)性得分和二元文本字段的對應(yīng)的第四相關(guān)性得分;
在一個(gè)實(shí)施例中,第一預(yù)設(shè)公式包括:
其中,s(f)表示字段f的相關(guān)性得分,t表示字段f中的詞,tf(t)表示字段f中的詞t在待搜索目的地和候選目的地中同時(shí)出現(xiàn)的次數(shù)的平方根,c表示候選目的地的詞的總個(gè)數(shù);
在步驟S203中,根據(jù)第一相關(guān)性得分、第二相關(guān)性得分、第三相關(guān)性得分、第四相關(guān)性得分和第二預(yù)設(shè)公式,計(jì)算得到發(fā)音和文本相關(guān)性得分。
第二預(yù)設(shè)公式包括:
發(fā)音和文本相關(guān)性得分=第一相關(guān)性得分×1+第二相關(guān)性得分×0.5+第三相關(guān)性得分×1+第四相關(guān)性得分×0.5。
在該實(shí)施例中,候選目的地中,與待搜索目的地中包含相同詞越多,且包含同樣詞的候選目的地的詞總個(gè)數(shù)越少,則和待搜索目的地的發(fā)音和文本相關(guān)性得分越高。
下面以一個(gè)具體實(shí)施例詳細(xì)說明上述技術(shù)方案。
例如,用戶輸入的待搜索目的地為“海淀劇院”,候選目的地為“海淀公園”,如果計(jì)算一元文本字段對應(yīng)的第三相關(guān)性得分,即f=“一元文本字段”,則此時(shí)的詞為單個(gè)漢字。
“海淀劇院”的詞=[“?!?“淀”,“劇”,“院”]
“海淀公園”的詞=[“?!?“淀”,“公”,“園”]
根據(jù)公式“海”和“淀”在待搜索目的地和候選目的地中共同出現(xiàn)各1次,分子為2;候選目的地“海淀公園”的詞的總個(gè)數(shù)為4,則分母為2。因此在搜索“海淀劇院”時(shí),候選目的地“海淀公園”的一元文本字段的相關(guān)性得分為1。
而計(jì)算f=“二元發(fā)音字段”時(shí),詞是相鄰兩個(gè)漢字的拼音:
“海淀劇院”的詞=[“haidian”,“dianju”,“juyuan”]
“海淀公園”的詞=[“haidian”,“diangong”,“gongyuan”]
“haidian”在待搜索目的地和候選目的地中共同出現(xiàn),計(jì)1次tf,分子為1;候選目的地“海淀公園”按二元發(fā)音字段拆分,詞的總為3,分母為因此在查詢“海淀劇院”時(shí),候選目的地“海淀公園”的“二元發(fā)音字段”的相關(guān)性得分為0.58。
圖3是根據(jù)一示例性實(shí)施例示出的另一種目的地搜索方法中步驟S104的流程圖。
如圖3所示,在一個(gè)實(shí)施例中,上述步驟S104包括步驟S301-S303:
在步驟S301中,獲取用戶輸入的起點(diǎn)位置;
在步驟S302中,根據(jù)第三預(yù)設(shè)公式,計(jì)算起點(diǎn)位置與每個(gè)候選目的地之間的空間距離;
在步驟S303中,根據(jù)空間距離和第四預(yù)設(shè)公式,確定空間距離因子。
在一個(gè)實(shí)施例中,第三預(yù)設(shè)公式包括:
d=R*arccos(sin(y0)sin(y)+cos(y0)cos(y)cos(x0-x))
其中,d表示空間距離,R表示地球赤道半徑,(x0,y0)表示起點(diǎn)位置經(jīng)緯度坐標(biāo),(x,y)表示候選目的地經(jīng)緯度坐標(biāo),arccos表示反余弦函數(shù),sin表示正弦函數(shù),cos表示余弦函數(shù);
第四預(yù)設(shè)公式包括:
其中,α表示空間距離因子,exp表示指數(shù)函數(shù),max表示取兩個(gè)參數(shù)中數(shù)值較大者,b表示預(yù)設(shè)偏移量,σ2表示預(yù)設(shè)衰減函數(shù),其中,
σ2=-scal2/(2*log(decay))
其中,scale表示預(yù)設(shè)距離范圍,decay表示預(yù)設(shè)衰減參數(shù),預(yù)設(shè)衰減參數(shù)小于1。
在該實(shí)施例中,候選目的地中,與用戶輸入的起點(diǎn)位置之間的距離越近,則越可能是用戶想要搜索的目的地,而與起點(diǎn)位置之間的距離大于一定的距離范圍時(shí),則可能是用戶想要搜索的目的地的可能性較小,因此,在排序時(shí),可以引入空間距離因子這個(gè)因素。
下面以一個(gè)具體實(shí)施例詳細(xì)說明上述技術(shù)方案。
在沒有明確指定目的地所在行政區(qū)劃的情況下,對于目的地推斷僅僅依靠字面或者發(fā)音的相似性是不夠的。例如北京和上海都有稱為“中山公園”的地點(diǎn),如果用戶身在上海,返回北京的地址并不合適,因此需要引入基于空間距離的計(jì)算。
首先根據(jù)用戶起點(diǎn)位置與候選目的地的經(jīng)緯度得到兩者之間的距離。記起點(diǎn)位置所在的經(jīng)緯度經(jīng)緯度坐標(biāo)為(x0,y0),候選目的地經(jīng)緯度經(jīng)緯度坐標(biāo)為(x,y),地球赤道半徑為R,則兩者的地球表面距離d可以近似為:
d=R*arccos(sin(y0)sin(y)+cos(y0)cos(y)cos(x0-x))
可以認(rèn)為以用戶所在經(jīng)緯度坐標(biāo)為中心一定距離之內(nèi)的候選目的地具有同樣的可能性,而超過這個(gè)范圍的候選目的地的可能性隨距離增加降低。本發(fā)明中可以以gauss函數(shù)計(jì)算距離因子:
其中exp是指數(shù)函數(shù),max取兩個(gè)參數(shù)中數(shù)值較大者,b是一個(gè)固定的偏移量,候選目的地離當(dāng)前起點(diǎn)位置的距離小于該偏移量時(shí)距離因子為1,對候選得分沒有影響;距離大于該偏移量時(shí)距離因子開始衰減。
以上公式中σ2用于控制距離因子隨距離增大而衰減的速度,本身由scale和decay兩個(gè)參數(shù)決定:
σ2=-scale2/(2*log(decay))
當(dāng)d-b恰等于scale時(shí),空間距離因子的數(shù)值為decay;scale越小,空間距離因子隨距離增加減小的速度越快;decay越小,空間距離因子隨距離增加減小的速度越快。
具體地,例如設(shè)置b=20km,scale=300km,decay=0.5,空間距離因子的取值趨勢如圖4所示。
圖5是根據(jù)一示例性實(shí)施例示出的又一種目的地搜索方法中步驟S104的流程圖。
如圖5所示,在一個(gè)實(shí)施例中,上述步驟S104包括步驟S501-S502:
在步驟S501中,獲取每個(gè)候選目的地的搜索熱度;
在步驟S502中,根據(jù)搜索熱度和第五預(yù)設(shè)公式計(jì)算得到搜索熱度因子。
在一個(gè)實(shí)施例中,第五預(yù)設(shè)公式包括:
β=log(1+k*θ)
其中,β表示搜索熱度因子,k表示預(yù)設(shè)熱度參數(shù),k>0,θ表示搜索熱度。普通的候選目的地至少有搜索熱度為1,故而搜索熱度因子不會為0,而較高的搜索熱度會提升候選目的地得分,提升程度由k決定,k的值越大,提升程度越高。例如,當(dāng)k=1.5時(shí),搜索熱度因子的數(shù)值趨勢如圖6所示。
在該實(shí)施例中,搜索熱度越高的候選目的地是用戶想要搜索的目的地的可能性可能越高,因此,還可以在排序時(shí),引入搜索熱度因子這個(gè)因素。
圖7是根據(jù)一示例性實(shí)施例示出的一種目的地搜索方法中步驟S105的流程圖。
如圖7所示,在一個(gè)實(shí)施例中,上述步驟S105包括步驟S701-S702:
在步驟S701中,根據(jù)發(fā)音和文本相關(guān)性得分、空間距離因子和搜索熱度因子以及第六預(yù)設(shè)公式,計(jì)算得到待搜索目的地與每個(gè)候選目的地之間的最終相關(guān)性得分;
在步驟S702中,將多個(gè)候選目的地按照最終相關(guān)性得分進(jìn)行降序排列。
在一個(gè)實(shí)施例中,第六預(yù)設(shè)公式包括:
最終相關(guān)性得分=發(fā)音和文本相關(guān)性得分×空間距離因子×搜索熱度因子。
在該實(shí)施例中,在搜索得到多個(gè)候選目的地后,根據(jù)候選目的地與待搜索目的地之間的發(fā)音和文本相關(guān)性得分、每個(gè)候選目的地與用戶輸入的起點(diǎn)位置之間的空間距離因子以及每個(gè)候選目的地的搜索熱度因子對多個(gè)候選目的地進(jìn)行排序,這樣,可以將與待搜索目的地最相似的候選目的地顯示在最前面,即將用戶最可能需要的候選目的地顯示在前面,從而方便用戶進(jìn)行選擇,進(jìn)一步提升用戶的使用體驗(yàn)。
下述為本發(fā)明裝置實(shí)施例,可以用于執(zhí)行本發(fā)明方法實(shí)施例。
圖8是根據(jù)一示例性實(shí)施例示出的一種目的地搜索裝置的框圖,該裝置可以通過軟件、硬件或者兩者的結(jié)合實(shí)現(xiàn)成為終端設(shè)備的部分或者全部。如圖8所示,該目的地搜索裝置包括:
接收模塊81,用于接收用戶輸入的關(guān)于待搜索目的地的語音信息;
識別模塊82,用于對所述語音信息進(jìn)行識別,得到所述語音信息對應(yīng)的發(fā)音信息和文本信息;
搜索模塊83,用于根據(jù)所述發(fā)音信息和所述文本信息,在目的地?cái)?shù)據(jù)庫中搜索與所述待搜索目的地相似的多個(gè)候選目的地;
計(jì)算模塊84,用于分別計(jì)算每個(gè)候選目的地與所述待搜索目的地之間的發(fā)音和文本相關(guān)性得分、每個(gè)候選目的地與用戶輸入的起點(diǎn)位置之間的空間距離因子以及每個(gè)候選目的地的搜索熱度因子;
排序模塊85,用于根據(jù)所述發(fā)音和文本相關(guān)性得分、所述空間距離因子和所述搜索熱度因子,對所述多個(gè)候選目的地進(jìn)行排序;
顯示模塊86,用于顯示排序后的多個(gè)候選目的地。
圖9是根據(jù)一示例性實(shí)施例示出的一種目的地搜索裝置中計(jì)算模塊的框圖。
如圖9所示,在一個(gè)實(shí)施例中,所述計(jì)算模塊84包括:
拆分子模塊91,用于將所述待搜索目的地和所述每個(gè)候選目的地按照發(fā)音信息和文本信息,分別拆分成一元發(fā)音字段、二元發(fā)音字段、一元文本字段和二元文本字段;
第一計(jì)算子模塊92,用于根據(jù)第一預(yù)設(shè)公式,分別計(jì)算所述待搜索目的地和所述每個(gè)候選目的地之間一元發(fā)音字段對應(yīng)的第一相關(guān)性得分、二元發(fā)音字段對應(yīng)的第二相關(guān)性得分、一元文本字段對應(yīng)的第三相關(guān)性得分和二元文本字段的對應(yīng)的第四相關(guān)性得分;
第二計(jì)算子模塊93,用于根據(jù)所述第一相關(guān)性得分、所述第二相關(guān)性得分、所述第三相關(guān)性得分、所述第四相關(guān)性得分和第二預(yù)設(shè)公式,計(jì)算得到所述發(fā)音和文本相關(guān)性得分。
在一個(gè)實(shí)施例中,所述第一預(yù)設(shè)公式包括:
其中,s(f)表示字段f的相關(guān)性得分,t表示字段f中的詞,tf(t)表示字段f中的詞t在所述待搜索目的地和所述候選目的地中同時(shí)出現(xiàn)的次數(shù)的平方根,c表示所述候選目的地的詞的總個(gè)數(shù);
所述第二預(yù)設(shè)公式包括:
發(fā)音和文本相關(guān)性得分=第一相關(guān)性得分×1+第二相關(guān)性得分×0.5+第三相關(guān)性得分×1+第四相關(guān)性得分×0.5。
圖10是根據(jù)一示例性實(shí)施例示出的另一種目的地搜索裝置中計(jì)算模塊的框圖。
如圖10所示,在一個(gè)實(shí)施例中,所述計(jì)算模塊84包括:
第一獲取子模塊1001,用于獲取用戶輸入的起點(diǎn)位置;
第三計(jì)算子模塊1002,用于根據(jù)第三預(yù)設(shè)公式,計(jì)算所述起點(diǎn)位置與所述每個(gè)候選目的地之間的空間距離;
確定子模塊1003,用于根據(jù)所述空間距離和第四預(yù)設(shè)公式,確定所述空間距離因子。
在一個(gè)實(shí)施例中,所述第三預(yù)設(shè)公式包括:
d=R*arccos(sin(y0)sin(y)+cos(y0)cos(y)cos(x0-x))
其中,d表示所述空間距離,R表示地球赤道半徑,(x0,y0)表示起點(diǎn)位置經(jīng)緯度坐標(biāo),(x,y)表示候選目的地經(jīng)緯度坐標(biāo),arccos表示反余弦函數(shù),sin表示正弦函數(shù),cos表示余弦函數(shù);
所述第四預(yù)設(shè)公式包括:
其中,α表示空間距離因子,exp表示指數(shù)函數(shù),max表示取兩個(gè)參數(shù)中數(shù)值較大者,b表示預(yù)設(shè)偏移量,σ2表示預(yù)設(shè)衰減函數(shù),其中,
σ2=-scale2/(2*log(decay))
其中,scale表示預(yù)設(shè)距離范圍,decay表示預(yù)設(shè)衰減參數(shù),所述預(yù)設(shè)衰減參數(shù)小于1。
圖11是根據(jù)一示例性實(shí)施例示出的又一種目的地搜索裝置中計(jì)算模塊的框圖。
如圖11所示,在一個(gè)實(shí)施例中,所述計(jì)算模塊84包括:
第二獲取子模塊1101,用于獲取每個(gè)候選目的地的搜索熱度;
第四計(jì)算子模塊1102,用于根據(jù)所述搜索熱度和第五預(yù)設(shè)公式計(jì)算得到所述搜索熱度因子。
在一個(gè)實(shí)施例中,所述第五預(yù)設(shè)公式包括:
β=log(1+k*θ)
其中,β表示搜索熱度因子,k表示預(yù)設(shè)熱度參數(shù),k>0,θ表示所述搜索熱度。
圖12是根據(jù)一示例性實(shí)施例示出的一種目的地搜索裝置中排序模塊的框圖。
如圖12所示,在一個(gè)實(shí)施例中,所述排序模塊85包括:
第五計(jì)算子模塊1201,用于根據(jù)所述發(fā)音和文本相關(guān)性得分、所述空間距離因子和所述搜索熱度因子以及第六預(yù)設(shè)公式,計(jì)算得到所述待搜索目的地與所述每個(gè)候選目的地之間的最終相關(guān)性得分;
排列子模塊1202,用于將所述多個(gè)候選目的地按照最終相關(guān)性得分進(jìn)行降序排列。
在一個(gè)實(shí)施例中,所述第六預(yù)設(shè)公式包括:
最終相關(guān)性得分=發(fā)音和文本相關(guān)性得分×空間距離因子×搜索熱度因子。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。