一種地圖數(shù)據(jù)搜索建議生成方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種地圖數(shù)據(jù)搜索建議生成方法及裝置。一種地圖數(shù)據(jù)搜索建議生成方法包括:接收用戶當(dāng)前已輸入的搜索請求文本,對搜索請求文本進行分詞,得到N個分詞單元;利用前i個分詞單元構(gòu)成搜索子串;在地圖數(shù)據(jù)中,搜索與所述搜索子串文本相匹配的結(jié)果;根據(jù)搜索結(jié)果的位置信息,確定所述搜索子串對應(yīng)的位置區(qū)域;應(yīng)用本發(fā)明方案,能夠根據(jù)搜索結(jié)果位置分布來實現(xiàn)對未知地名的識別,從而減小地址詞典對搜索結(jié)果的影響,提升搜索建議的可用性。
【專利說明】一種地圖數(shù)據(jù)搜索建議生成方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子地圖【技術(shù)領(lǐng)域】,特別是涉及一種地圖數(shù)據(jù)搜索建議生成方法及裝置。
【背景技術(shù)】
[0002]電子地圖,也稱數(shù)字地圖,是利用計算機技術(shù),以數(shù)字方式存儲和搜索的地圖。利用計算機的數(shù)據(jù)處理能力,電子地圖可以實現(xiàn)更為快速的位置信息搜索,方便用戶使用。
[0003]在電子地圖中進行基于位置的搜索,是一種最為普遍的用戶需求。與其他的搜索引擎類似,電子地圖的搜索引擎同樣可以提供“搜索建議”的功能,即在進行搜索的過程中,需要用戶在搜索框中輸入搜索關(guān)鍵詞,由于普通用戶不愿意輸入太長或者過于復(fù)雜的關(guān)鍵詞。為了能使用戶盡快完成關(guān)鍵詞的輸入,節(jié)省用戶的輸入成本,在用戶輸入關(guān)鍵詞的部分內(nèi)容后,系統(tǒng)會采用提供搜索建議的方式,例如在自動下拉欄中提供若干個建議的關(guān)鍵詞供用戶選擇,從而不需要用戶手動輸入完整的長關(guān)鍵詞,簡化用戶操作。
[0004]對于用戶的位置搜索請求,最基本的處理方式是直接根據(jù)用戶當(dāng)前已經(jīng)輸入的文本,在地圖數(shù)據(jù)庫檢索與該文本內(nèi)容匹配的內(nèi)容,例如興趣點、道路等等。這種方式實際與普通的文本信息檢索相同,然而對于地圖搜索而言,卻并不一定適用,例如,用戶輸入的搜索請求是“海淀區(qū)工商”,目的是要找位于海淀區(qū)工商銀行,而并非要找名為“海淀區(qū)工商銀行”的地點,因此使用文本匹配的搜索方式,往往無法得到符合用戶需求的結(jié)果。
[0005]針對上述問題,現(xiàn)有技術(shù)提供的一種改進方案是,利用預(yù)先構(gòu)建的地址數(shù)據(jù)庫,能夠識別出“海淀區(qū)”是具有某種空間含義的,進而可以根據(jù)所識別出的地名,在地圖上先定位出相應(yīng)區(qū)域,然后在該區(qū)域范圍內(nèi)進一步搜索與“工商”相匹配的地名文本(例如工商銀行),進而為用戶生成搜索建議。與純文本匹配的搜索方式相比,結(jié)合空間信息進行搜索顯然更符合用戶的需求,但是這種方式的實現(xiàn),需要依賴于地址數(shù)據(jù)庫的完備性,如果用戶的搜索請求中包含了地名詞典中未覆蓋的地名,那么這部分會被當(dāng)做一般文本進行處理,仍然難以得到符合需求的搜索建議。
【發(fā)明內(nèi)容】
[0006]為解決上述技術(shù)問題,本發(fā)明提供一種地圖數(shù)據(jù)搜索建議生成方法及裝置,技術(shù)方案如下:
[0007]本發(fā)明實施例提供一種地圖數(shù)據(jù)搜索建議生成方法,該方法包括:
[0008]接收用戶當(dāng)前已輸入的搜索請求文本,對搜索請求文本進行分詞,得到N個分詞單元;
[0009]利用前i個分詞單元構(gòu)成搜索子串,其中i=l,2,3...N-1 ;
[0010]在地圖數(shù)據(jù)中,搜索與所述搜索子串文本相匹配的結(jié)果;
[0011]根據(jù)搜索結(jié)果的位置信息,確定所述搜索子串對應(yīng)的位置區(qū)域;
[0012]在所確定的位置區(qū)域中,搜索與第N個分詞單元文本相匹配的結(jié)果,利用該結(jié)果,生成針對于用戶已輸入內(nèi)容的搜索建議。
[0013]根據(jù)本發(fā)明的一種【具體實施方式】,所述方法還包括:
[0014]接收用戶當(dāng)前已輸入的搜索請求文本后,判斷用戶輸入停頓時間是否大于預(yù)設(shè)閾值,如果是,則進一步對搜索請求文本進行分詞。
[0015]根據(jù)本發(fā)明的一種【具體實施方式】,所述利用前i個分詞單元構(gòu)成搜索子串,包括:
[0016]根據(jù)預(yù)設(shè)的詞典,識別分詞單元中的地名文本;
[0017]利用未識別出的分詞單元,構(gòu)成搜索子串。
[0018]根據(jù)本發(fā)明的一種【具體實施方式】,所述利用前i個分詞單元構(gòu)成搜索子串,包括:
[0019]根據(jù)預(yù)設(shè)的詞典,識別分詞單元中不具有空間意義的文本;
[0020]利用未識別出的分詞單元,構(gòu)成搜索子串。
[0021]根據(jù)本發(fā)明的一種【具體實施方式】,所述利用前i個分詞單元構(gòu)成搜索子串,包括:
[0022]判斷相鄰分詞單元的共現(xiàn)率是否大于預(yù)設(shè)的閾值,如果是,則先對相應(yīng)的分詞單元進行合并處理后,再構(gòu)成搜索子串。
[0023]根據(jù)本發(fā)明的一種【具體實施方式】,根據(jù)搜索結(jié)果的位置信息,確定所述搜索子串對應(yīng)的位置區(qū)域,包括:
[0024] 根據(jù)多個搜索結(jié)果位置的空間分布,得到搜索結(jié)果的聚集區(qū)域,將該聚集區(qū)域確定為所述搜索子串對應(yīng)的位置區(qū)域;
[0025]其中,所述聚集區(qū)域滿足:
[0026]該聚集區(qū)域中所包含的搜索結(jié)果比例達到預(yù)設(shè)的閾值,以及
[0027]該聚集區(qū)域的大小不超過預(yù)設(shè)的閾值。
[0028]根據(jù)本發(fā)明的一種【具體實施方式】,該方法還包括:
[0029]在確定所述搜索子串對應(yīng)的位置區(qū)域后,對該搜索子串的相關(guān)信息進行存儲。
[0030]本發(fā)明實施例還提供一種地圖數(shù)據(jù)搜索建議生成裝置,該裝置包括:
[0031]分詞模塊,用于接收用戶當(dāng)前已輸入的搜索請求文本,對搜索請求文本進行分詞,得到N個分詞單元;
[0032]搜索子串構(gòu)建模塊,用于利用前i個分詞單元構(gòu)成搜索子串,其中i=l,2,3…N-1 ;
[0033]第一搜索模塊,用于在地圖數(shù)據(jù)中,搜索與所述搜索子串文本相匹配的結(jié)果;
[0034]區(qū)域確定模塊,用于根據(jù)搜索結(jié)果的位置信息,確定所述搜索子串對應(yīng)的位置區(qū)域;
[0035]第二搜索模塊,用于在所確定的位置區(qū)域中,搜索與第N個分詞單元文本相匹配的結(jié)果,利用該結(jié)果,生成針對于用戶已輸入內(nèi)容的搜索建議。
[0036]根據(jù)本發(fā)明的一種【具體實施方式】,所述分詞模塊,具體用于:
[0037]接收用戶當(dāng)前已輸入的搜索請求文本后,判斷用戶輸入停頓時間是否大于預(yù)設(shè)閾值,如果是,則進一步對搜索請求文本進行分詞。
[0038]根據(jù)本發(fā)明的一種【具體實施方式】,所述搜索子串構(gòu)建模塊,具體用于:
[0039]根據(jù)預(yù)設(shè)的詞典,識別分詞單元中的地名文本;
[0040]利用未識別出的分詞單元,構(gòu)成搜索子串。
[0041]根據(jù)本發(fā)明的一種【具體實施方式】,所述搜索子串構(gòu)建模塊,具體用于:
[0042]根據(jù)預(yù)設(shè)的詞典,識別分詞單元中不具有空間意義的文本;[0043]利用未識別出的分詞單元,構(gòu)成搜索子串。
[0044]根據(jù)本發(fā)明的一種【具體實施方式】,所述搜索子串構(gòu)建模塊,具體用于:
[0045]判斷相鄰分詞單元的共現(xiàn)率是否大于預(yù)設(shè)的閾值,如果是,則先對相應(yīng)的分詞單元進行合并處理后,再構(gòu)成搜索子串。
[0046]根據(jù)本發(fā)明的一種【具體實施方式】,所述區(qū)域確定模塊,具體用于:
[0047]根據(jù)多個搜索結(jié)果位置的空間分布,得到搜索結(jié)果的聚集區(qū)域,將該聚集區(qū)域確定為所述搜索子串對應(yīng)的位置區(qū)域;
[0048]其中,所述聚集區(qū)域滿足:
[0049]該聚集區(qū)域中所包含的搜索結(jié)果比例達到預(yù)設(shè)的閾值,以及
[0050]該聚集區(qū)域的大小不超過預(yù)設(shè)的閾值。
[0051]根據(jù)本發(fā)明的一種【具體實施方式】,該裝置還包括:
[0052]存儲模塊,用于在確定所述搜索子串對應(yīng)的位置區(qū)域后,對該搜索子串的相關(guān)信息進行存儲。
[0053]本發(fā)明實施例所提供的技術(shù)方案,對于搜索請求文本中包含無法識別地名的情況,首先利用該地名文本進行搜索,然后根據(jù)多個搜索結(jié)果的位置分布,確定出該未知地名所對應(yīng)的位置區(qū)域,最后在該位置區(qū)域再次進行搜索,利用搜索結(jié)果生成搜索建議。與現(xiàn)有技術(shù)相比,本發(fā)明方案能夠根據(jù)第一次搜索結(jié)果位置分布來實現(xiàn)對未知地名的識別,從而減小地址詞典對搜索結(jié)果的影響,提升搜索建議的可用性。另一方面,對于能夠確定位置區(qū)域的未知地名,可以將該地名反過來加入地名詞典,從而不斷豐富地名詞典的收錄內(nèi)容,使得地圖系統(tǒng)的搜索性能得到持續(xù)提升。
【專利附圖】
【附圖說明】
[0054]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。
[0055]圖1為本發(fā)明實施例地圖數(shù)據(jù)搜索建議生成方法的一種流程圖;
[0056]圖2a-圖2h為本發(fā)明實施例確定未知地名區(qū)域的示意圖;
[0057]圖3為本發(fā)明實施例地圖數(shù)據(jù)搜索建議生成裝置的一種結(jié)構(gòu)示意圖;
[0058]圖4為本發(fā)明實施例地圖數(shù)據(jù)搜索建議生成裝置的另一種結(jié)構(gòu)示意圖。
【具體實施方式】
[0059]根據(jù)現(xiàn)有技術(shù),如果在用戶當(dāng)前已輸入的地圖搜索請求中包含了具有空間含義的內(nèi)容,并且地圖系統(tǒng)可以根據(jù)地名詞典識別出這些內(nèi)容,那么就可以在相應(yīng)的空間范圍內(nèi)進行搜索。例如用戶輸入“海淀區(qū)工商”,系統(tǒng)可以根據(jù)地名詞典,識別出“海淀區(qū)”并且在地圖上定位出相應(yīng)區(qū)域,然后在該區(qū)域范圍內(nèi)進一步搜索與“工商”相匹配的地名文本(例如工商銀行)。
[0060]如果用戶的搜索請求中包含了地名詞典中未覆蓋的地名,例如對于搜索請求“中關(guān)村工商”,用戶的目的可能是要找位于“中關(guān)村”區(qū)域內(nèi)的工商銀行,但是在地名詞典中并沒有收錄“中關(guān)村”,那么“中關(guān)村”仍然會被當(dāng)做一般文本進行處理,只有在目標數(shù)據(jù)的名稱信息或者地址信息文本中同時包含“中關(guān)村”+ “工商”的情況下,該數(shù)據(jù)才會被用于生成搜索建議。
[0061]針對上述問題,本發(fā)明實施例提供一種地圖數(shù)據(jù)搜索建議生成方法,該方法可以包括以下步驟:
[0062]接收用戶當(dāng)前已輸入的搜索請求文本,對搜索請求文本進行分詞,得到N個分詞單元;
[0063]利用前i個分詞單元構(gòu)成搜索子串,其中i=l,2,3…N-1 ;
[0064]在地圖數(shù)據(jù)中,搜索與所述搜索子串文本相匹配的結(jié)果;
[0065]根據(jù)搜索結(jié)果的位置信息,確定所述搜索子串對應(yīng)的位置區(qū)域;
[0066]在所確定的位置區(qū)域中,搜索與第N個分詞單元文本相匹配的結(jié)果,利用該結(jié)果,生成針對于用戶已輸入內(nèi)容的搜索建議。
[0067]本發(fā)明實施例所提供上述方法,對于搜索請求中包含無法識別地名的情況,首先利用該地名文本進行搜索,然后根據(jù)多個搜索結(jié)果的位置分布,確定出該未知地名所對應(yīng)的位置區(qū)域,最后在該位置區(qū)域再次進行搜索,利用搜索結(jié)果生成搜索建議從而得到最終的搜索結(jié)果。與現(xiàn)有技術(shù)相比,本發(fā)明方案能夠根據(jù)第一次搜索結(jié)果位置分布來實現(xiàn)對未知地名的識別,從而減小地址詞典對搜索結(jié)果的影響,提升搜索建議的可用性。另一方面,對于能夠確定位置區(qū)域的未知地名,可以將該地名反過來加入地名詞典,從而不斷豐富地名詞典的收錄內(nèi)容,使得地圖系統(tǒng)的搜索性能得到持續(xù)提升。
[0068]為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行詳細地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護的范圍。
[0069]圖1所示,為本發(fā)明實施一種地圖數(shù)據(jù)搜索建議生成方法的流程示意圖,該方法可以包括以下步驟:
[0070]S101,接收用戶當(dāng)前已輸入的搜索請求文本,對搜索請求文本進行分詞,得到N個分詞單元;
[0071]當(dāng)用戶需要獲得某個地點的地理位置或其他信息時,應(yīng)該將該點的完整描述文本作為搜索請求輸入電子地圖的搜索接口,但是在實際應(yīng)用過程中,用戶往往只需要搜索請求的一部分文本,系統(tǒng)就可以給出針對于這一部分文本的搜索建議。在本發(fā)明實施例中,對于用戶當(dāng)前已輸入的地圖搜索請求文本,首先進行分詞處理,將搜索請求文本分為若干個分詞單元。
[0072]在本發(fā)明的一種優(yōu)選實施方式中,當(dāng)用戶輸入一段文本后,可以不立刻進行分詞及后續(xù)操作,而是判斷用戶的輸入停頓時間是否足夠長,這是因為,用戶在正常的輸入文字過程中,存在一定的停頓是很正常的,如果用戶沒輸入一個詞就進行搜索建議,不僅浪費系統(tǒng)資源,而且很可能用戶當(dāng)前并沒有完成輸入,根本不需要搜索建議。而如果用戶輸入的停頓時間足夠長,例如在超過5秒的時間內(nèi),沒有任何鍵盤或鼠標動作,則可以認為用戶已經(jīng)不打算繼續(xù)輸入下去,此時開始執(zhí)行后續(xù)生成搜索建議的操作,則可以很大程度上避免出現(xiàn)無效的處理,不僅節(jié)約用戶資源,也可以避免生成多余的信息,影響用戶的使用體驗。[0073]上述方案提供了一種自動觸發(fā)搜索建議的處理方案,可以理解的是,也可以為用戶提供一個操作接口(例如按鈕等),用戶可以通過該接口手動觸發(fā)提供搜索建議,這些并不影響本發(fā)明整體方案的實施。
[0074]在本發(fā)明的另一種優(yōu)選實施方式中,還可以先對搜索請求的文本長度進行檢測,判斷是否大于某個預(yù)設(shè)的閾值,如果是,再進一步進行分詞處理及后續(xù)的操作。如果搜索請求文本過短,一方面可能無法進一步分詞,另一方面,即便拆分成功,得到的分詞單元也難以獨立表明搜索意圖,這種情況下,可以不做進一步處理。
[0075]S102,利用前i個分詞單元構(gòu)成搜索子串,其中i=l,2,3...Ν_1 ;
[0076]根據(jù)用戶的習(xí)慣,所輸入的地圖搜索請求一般由兩部分組成,即“where+what”的形式,其中:
[0077]a)對搜索對象位置的描述,簡稱where ;
[0078]b)對搜索對象名稱的描述,簡稱what ;
[0079]例如“海淀區(qū)工商銀行”,表示用戶想找“海淀區(qū)”附近的“工商銀行”、“北京市中關(guān)村肯德基”表示用戶想找要“北京市中關(guān)村”附近的“肯德基”,等等。
[0080]通過對大量搜索請求的文本構(gòu)成進行研究,可以發(fā)現(xiàn)以下規(guī)律:對于一個連續(xù)形式的搜索文本串,用于描述位置的詞(where)位于一般位于前面,用于描述名稱的詞則多位于后面;另外“where”可能對應(yīng)多個具有獨立意義的詞,例如“北京市+中關(guān)村”,而“what”則一般僅對應(yīng)一個詞。
[0081]根據(jù)上述規(guī)律,對于經(jīng)分詞得到的N個分詞單元,可以默認將最后一個分詞單元當(dāng)做“what”進行處理,前N-1個分詞單元則當(dāng)做“where”進行處理。在本發(fā)明實施例中,對于“where”部分,利用前N-1個分詞單元構(gòu)成一個或多個搜索子串,然后利用該搜索子串進行文本搜索。
[0082]最簡單的處理方式,是不對where部分做任何處理,直接將前N_1個分詞單元作為搜索子串。在本發(fā)明的其他實施例中,為了優(yōu)化搜索結(jié)果,還可以采用其他方式生成搜索子串,以下進行詳細說明:
[0083]對于分詞結(jié)果中的前i (i=l,2,3…N-1)個分詞單元,可以按照從前到后的順序進行組合,形成可能的地名文本候選,例如“北京市/海淀區(qū)/中關(guān)村”(其中斜線表示分詞結(jié)果),可以分別構(gòu)成以下形式:
[0084]北京市
[0085]北京市海淀區(qū)
[0086]北京市海淀區(qū)中關(guān)村
[0087]假設(shè)當(dāng)前地名詞典中包含“北京市”和“海淀區(qū)”,那么理論上,上面三種形式都可以作為搜索子串輸入搜索系統(tǒng),但是針對本發(fā)明的實際情況,在“北京市”或“北京市海淀區(qū)”范圍進行搜索,實際意義并不大。因此,在本發(fā)明的一種實施方式中,可以根據(jù)地名詞典先對分詞單元進行識別,然后濾除識別出的地名文本,僅利用剩下的部分構(gòu)成搜索子串。例如上面構(gòu)成的三種子串,分別濾除“北京市”及“海淀區(qū)”后,僅剩下“中關(guān)村”
[0088]在本發(fā)明的另一種實施方式中,還可以將搜索子串中明顯不具有空間意義的文本濾除,從而避免對后續(xù)搜索結(jié)果的干擾。常見濾除對象包括:
[0089]停用詞,例如“的”、“是”等等;[0090]經(jīng)營范圍詞,例如“小吃”、“旅游”、“餐飲”等等;
[0091]地名后綴,例如“酒店”、“餐館”等等。
[0092]這里同樣可以采用預(yù)設(shè)詞典的方式,對不具有空間意義的文本進行過濾,當(dāng)然,本領(lǐng)域技術(shù)人員可以根據(jù)實際需求設(shè)置詞典的具體內(nèi)容,以上提到的幾種類型不應(yīng)該理解為對本發(fā)明技術(shù)方案的限定。
[0093]在本發(fā)明的另一種實施方式中,還可以根據(jù)文本的上下文關(guān)系,對搜索子串的內(nèi)容做進一步優(yōu)化。由于分詞結(jié)果并不一定和實際的位置描述或名稱描述完全一致,因此,可以先利用文本在地圖領(lǐng)域的上下文關(guān)系,對分詞結(jié)果進行重新組合后再進行處理,具體方式是:先判斷相鄰分詞單元的共現(xiàn)率是否大于某個預(yù)設(shè)的閾值,如果是,則先對相應(yīng)的分詞單元進行合并處理,然后利用合并后的分詞結(jié)果構(gòu)建搜索子串。
[0094]其中,詞的共現(xiàn)率也成為緊密度,用于衡量兩個詞在各種文本中鄰接出現(xiàn)頻率,是一種統(tǒng)計結(jié)果,也可以通過語言模型概率計算得到,這里對于共現(xiàn)率的計算方法不再詳細說明。總之,如果兩個詞在地圖相關(guān)領(lǐng)域的共現(xiàn)率較高,說明二者很可能是一個整體,例如對于“工商銀行”而言,如果將“工商”和“銀行”兩個詞看做兩個分詞單元處理,就可能會產(chǎn)生歧義。根據(jù)本發(fā)明方案,“工商”不應(yīng)該屬于“where”部分,而是應(yīng)該和“銀行” 一起構(gòu)成“what” 部分。
[0095]當(dāng)然,可以理解的是,在實際應(yīng)用中,這部分處理也可以在分詞階段實現(xiàn)。也就是說,分詞系統(tǒng)本身也可以根據(jù)地圖系統(tǒng)的應(yīng)用需求,將“工商銀行”等類似內(nèi)容識別為一個整體,避免過細的拆分對后續(xù)的搜索結(jié)果造成影響。
[0096]以上介紹了幾種生成搜索子串的具體改進方法,根據(jù)實際需求,這些方法可以分別單獨使用,也可以結(jié)合使用,本發(fā)明對此并不需要進行限定。
[0097]S103,在地圖數(shù)據(jù)中,搜索與所述搜索子串文本相匹配的結(jié)果;
[0098]對于所構(gòu)成的一個或多個搜索子串,將這些搜索子串的文本作為搜索條件,進行基于文本匹配的檢索。由于搜索子串的內(nèi)容少于原始的搜索請求,也就是說在匹配條件上更為寬松,因此能夠得到更多的匹配結(jié)果。
[0099]例如原始搜索請求文本為“中關(guān)村肯德”,如果基于文本匹配檢索,那么只有在目標數(shù)據(jù)的名稱信息或者地址信息文本中同時包含“中關(guān)村”+ “肯德”的情況下,該數(shù)據(jù)才會被用于生成搜索建議作為搜索結(jié)果被召回。而根據(jù)本發(fā)明實施例,對于處理后得到的搜索子串為“中關(guān)村”,僅對“中關(guān)村”進行基于文本匹配的檢索,可以得到大量的結(jié)果,這些地點可能是名稱匹配,例如“中關(guān)村地鐵站”、“中關(guān)村大廈”、也可能是地址匹配,例如“中關(guān)村大街X號”、“中關(guān)村南路X號”等等。
[0100]S104,根據(jù)搜索結(jié)果的位置信息,確定所述搜索子串對應(yīng)的位置區(qū)域;
[0101]根據(jù)本發(fā)明實施例,由于搜索子串對應(yīng)的是“where”部分,因此在成功匹配到的搜索結(jié)果中,會有很大比例是在位置上與“where”空間相關(guān)的。也就是說,搜索子串對應(yīng)的搜索結(jié)果應(yīng)該在空間上具有一定的聚合性。例如“中關(guān)村大廈”、“中關(guān)村大街X號”等等,都是位于“中關(guān)村”地區(qū)附近的地點。
[0102]基于上述情況,可以根據(jù)每個搜索結(jié)果所處的位置,求出一個位置點空間相對集中的區(qū)域,從而得到搜索子串所對應(yīng)的位置區(qū)域,即“where”所對應(yīng)的區(qū)域。
[0103]具體而言,由于是在地圖數(shù)據(jù)中進行搜索,因此搜索結(jié)果中都應(yīng)該包括位置信息,例如經(jīng)緯度等等。首先分別獲取每個搜索結(jié)果的位置信息,然后可以這些位置點在空間上進行聚類,如果位置點的數(shù)量足夠多,并且可以得到一個相對集中的區(qū)域,即可以將其確定為與“where”所對應(yīng)的區(qū)域。
[0104]可以理解的是,如果針對搜索字串搜索得到的位置點數(shù)量較少(例如少于5個),則說明該搜索字串很可能不具有空間含義,例如“海淀區(qū)工商”可能僅對應(yīng)I個搜索結(jié)果,這種情況下,不會認為“海淀區(qū)工商”是具有空間含義的。
[0105]其中,空間位置點在空間的算法可以有多種方式實現(xiàn),在本發(fā)明實施例中并不需要對這部分進行詳細介紹。但是,結(jié)合具體的應(yīng)用需求,可以從整體策略上進行限定,例如:一種典型的聚類策略如下:
[0106]al)聚集區(qū)域中所包含的搜索結(jié)果比例達到某個預(yù)設(shè)的閾值,例如70%、80%等等
[0107]bl)聚集區(qū)域的大小不超過預(yù)設(shè)的閾值。
[0108]也是就說,如果結(jié)果比較多,但是空間分布都比較分散,這種情況無法確定出聚集區(qū)域。
[0109]當(dāng)然,上述策略并不是唯一的限制方式,本領(lǐng)域技術(shù)人員根據(jù)實際需求,還可以制訂其他策略,例如,有些地名可能對應(yīng)多個實際區(qū)域,比如北京地區(qū)可以找到兩個“四道口”,針對這種情況,可以增加以下策略:
[0110]a2)存在兩個聚集區(qū)域,且每個聚集區(qū)域中所包含的搜索結(jié)果比例都達到某個預(yù)設(shè)的閾值,例如35%、40%等等。
[0111]b2)聚集區(qū)域的大小不超過預(yù)設(shè)的閾值。
[0112]利用這種策略,就可以定位出兩個名稱為“where”的區(qū)域,后續(xù)可以在這兩個區(qū)域分別進行搜索。
[0113]可以理解的是,理論上還可以繼續(xù)增加類似的策略,實現(xiàn)對三個、四個地點重名情況的識別,但是在實際應(yīng)用中,結(jié)果越分散,準確程度也越難以保證,因此本領(lǐng)域人員可以根據(jù)實際需求靈活設(shè)置各種確定聚集區(qū)域的策略,本發(fā)明實施例對此并不需要進行限制。
[0114]S105,在所確定的位置區(qū)域中,搜索與第N個分詞單元文本相匹配的結(jié)果,利用該結(jié)果,生成針對于用戶已輸入內(nèi)容的搜索建議。
[0115]根據(jù)前面的方案,已經(jīng)確定了未知地名“where”所對應(yīng)的區(qū)域,進一步在該區(qū)域范圍內(nèi),對“what ”部分,進行基于文本匹配的搜索,得到的結(jié)果就可以作為對應(yīng)最初搜索請求的搜索建議。
[0116]例如,原始搜索請求文本為“中關(guān)村肯德”,由于“中關(guān)村”并不在地名詞典中,因此無法直接確定“中關(guān)村”所對應(yīng)的區(qū)域,根據(jù)本發(fā)明實施例,利用“中關(guān)村”進行文本搜索,可以找到若干類似“中關(guān)村大廈”、“中關(guān)村大街X號”的地點數(shù)據(jù),通過對這些結(jié)果的位置分布進行綜合處理,可以大致圈定出“中關(guān)村”所對應(yīng)的區(qū)域,最后在所圈定出的區(qū)域中搜索“肯德”,就可以得到符合原始搜索請求的搜索建議,而這些搜索建議中并不一定包含“中關(guān)村”的文本。
[0117]可以理解的是,本發(fā)明提供的地圖數(shù)據(jù)搜索建議生成方法,本身可以獨立使用,也可以與其他的搜索請求處理方法結(jié)合使用,例如:
[0118]將利用本發(fā)明方案所得到的搜索結(jié)果與利用純文本方式的搜索結(jié)果取并集,給出最終的搜索結(jié)果;[0119]判斷純文本方式是否能夠命中結(jié)果,如果不能,再進一步采用本發(fā)明所提供的方案進行搜索;
[0120]判斷搜索請求中的地名是否能夠識別,如果不能,再進一步采用本發(fā)明所提供的方案進行搜索;等等。
[0121]另外,根據(jù)本發(fā)明方案,對于能夠確定出位置區(qū)域的未知地名,可以將該地名反過來加入地名詞典,從而不斷豐富地名詞典的收錄內(nèi)容,使得地圖系統(tǒng)的搜索性能得到持續(xù)提升。
[0122]下面結(jié)合一個具體的實例,對本發(fā)明的方案進行說明:
[0123]假設(shè)用戶輸入的地圖搜索請求為“雁田工商”,該用戶所在地為東莞市,其目的是想找“雁田村”附近的工商銀行。根據(jù)現(xiàn)有技術(shù),由于地址庫里面沒有收錄“雁田”,所以無法識別出其“雁田”所代表的空間含義,從而將這兩個詞都當(dāng)成what文本去檢索,只有同時包含“雁田”和“工商”的點才會被召回。而根據(jù)本發(fā)明方案,處理過程如下:
[0124]根據(jù)S101,對“雁田工商”進行分詞,得到兩個分詞單元分別為“雁田”和“工商”。其中“雁田”作為“where”候選,“工商”作為“what”候選。
[0125]根據(jù)S102,對“雁田工商”進行條件檢查,然后構(gòu)建搜索子串。
[0126]首先,“雁田工商”大于3個字;
[0127]其次,“雁田”不屬于停用詞、經(jīng)營范圍詞、后綴詞等;
[0128]最后,“雁田”與后面“工商”的鄰接共現(xiàn)頻率小于預(yù)設(shè)的閾值0.5,因此“雁田工商”不大可能為專有名詞
[0129]條件檢查沒有問題,構(gòu)建內(nèi)容為“雁田”的搜索子串。后續(xù)步驟將對未知term “雁田”的空間范圍進行挖掘。
[0130]根據(jù)S103,在東莞市下搜索“雁田”,得到M個文本匹配的搜索結(jié)果,例如“雁田水庫”、“雁田農(nóng)貿(mào)市場”、“雁田商業(yè)城”等等。
[0131]根據(jù)S104,進一步確定“雁田”對應(yīng)的空間范圍,在本實施例中,采用計算核心MBR(Minimum bounding rectangle,最小外包矩形)的算法,基本步驟如下:
[0132]I)根據(jù)地圖數(shù)據(jù)的存儲格式,將地圖的xy坐標空間劃分為若干面積相等的網(wǎng)格,然后把M個搜索結(jié)果poi的坐標映射到網(wǎng)格中。例如網(wǎng)格大小為500m*500m、“雁田”所有的搜索結(jié)果位置分布如圖2a所示。
[0133]2)選擇位置點最密集的網(wǎng)格作為起始網(wǎng)格。
[0134]圖2b所示為所有搜索結(jié)果在不同網(wǎng)格的數(shù)量分布情況,通過遍歷所有的網(wǎng)格,找到點最多的網(wǎng)格所包含點數(shù)為4,設(shè)該網(wǎng)格為(x_c,y_c)。
[0135]3)以(X_c,y_c)為中心向四周擴展,選擇附近最密集的網(wǎng)格方向擴展I格,形成較大的網(wǎng)格,如圖2c所示
[0136]4)迭代執(zhí)行第3)步迭代進行,直到滿足以下任一條件為止:
[0137]a)網(wǎng)格邊長超過預(yù)設(shè)的閾值:在本實施例中設(shè)置閾值為10km。
[0138]b)周邊網(wǎng)格不可以繼續(xù)擴展(不包含poi點)。
[0139]迭代過程可以參見圖2d—圖2g。
[0140]5)迭代停止時大網(wǎng)格的矩形就是核心MBR,最終確定的“雁田”對應(yīng)區(qū)域如圖2h所示。從圖2h最終的結(jié)果中可以看出,超過80%的點位于挖掘的MBR內(nèi)部,且MBR邊長未超過10km,因此成功識別出“雁田”的空間范圍。
[0141]根據(jù)S105,在上述MBR范圍內(nèi)搜索“工商”文本,將得到的匹配搜索結(jié)果返回給用戶,作為與用戶當(dāng)前輸入內(nèi)容“雁田工商”對應(yīng)的搜索建議,而這些搜索建議的文本并不必須包含“雁田”兩個字。
[0142]進一步地,可以將“雁田”這個新識別的地名相關(guān)信息加入地址庫,以便在后續(xù)處理搜索請求的過程中可以直接使用。
[0143]相應(yīng)于上面的方法實施例,本發(fā)明還提供一種地圖數(shù)據(jù)搜索建議生成裝置,參見圖3所示,該裝置可以包括:分詞模塊110、搜索子串構(gòu)建模塊120、第一搜索模塊130、區(qū)域確定模塊140和第二搜索模塊150。
[0144]分詞模塊110,用于接收用戶當(dāng)前已輸入的搜索請求文本,對搜索請求文本進行分詞,得到N個分詞單元;
[0145]當(dāng)用戶需要獲得某個地點的地理位置或其他信息時,應(yīng)該將該點的完整描述文本作為搜索請求輸入電子地圖的搜索接口,但是在實際應(yīng)用過程中,用戶往往只需要搜索請求的一部分文本,系統(tǒng)就可以給出針對于這一部分文本的搜索建議。在本發(fā)明實施例中,對于用戶當(dāng)前已輸入的地圖搜索請求文本,首先進行分詞處理,將搜索請求文本分為若干個分詞單元。
[0146]在本發(fā)明的一種優(yōu)選實施方式中,當(dāng)用戶輸入一段文本后,可以不立刻進行分詞及后續(xù)操作,而是判斷用戶的輸入停頓時間是否足夠長,這是因為,用戶在正常的輸入文字過程中,存在一定的停頓是很正常的,如果用戶沒輸入一個詞就進行搜索建議,不僅浪費系統(tǒng)資源,而且很可能用戶當(dāng)前并沒有完成輸入,根本不需要搜索建議。而如果用戶輸入的停頓時間足夠長,例如在超過5秒的時間內(nèi),沒有任何鍵盤或鼠標動作,則可以認為用戶已經(jīng)不打算繼續(xù)輸入下去,此時開始執(zhí)行后續(xù)生成搜索建議的操作,則可以很大程度上避免出現(xiàn)無效的處理,不僅節(jié)約用戶資源,也可以避免生成多余的信息,影響用戶的使用體驗。
[0147]上述方案提供了一種自動觸發(fā)搜索建議的處理方案,可以理解的是,也可以為用戶提供一個操作接口(例如按鈕等),用戶可以通過該接口手動觸發(fā)提供搜索建議,這些并不影響本發(fā)明整體方案的實施。
[0148]在本發(fā)明的另一種優(yōu)選實施方式中,還可以先對搜索請求的文本長度進行檢測,判斷是否大于某個預(yù)設(shè)的閾值,如果是,再進一步進行分詞處理及后續(xù)的操作。如果搜索請求文本過短,一方面可能無法進一步分詞,另一方面,即便拆分成功,得到的分詞單元也難以獨立表明搜索意圖,這種情況下,可以不做進一步處理。
[0149]搜索子串構(gòu)建模塊120,用于利用前i個分詞單元構(gòu)成搜索子串,其中i=l,2,3...N-1 ;
[0150]根據(jù)用戶的習(xí)慣,所輸入的地圖搜索請求一般由兩部分組成,即“where+what”的形式,其中:
[0151]a)對搜索對象位置的描述,簡稱where ;
[0152]b)對搜索對象名稱的描述,簡稱what ;
[0153]例如“海淀區(qū)工商銀行”,表示用戶想找“海淀區(qū)”附近的“工商銀行”、“北京市中關(guān)村肯德基”表示用戶想找要“北京市中關(guān)村”附近的“肯德基”,等等。
[0154]通過對大量搜索請求的文本構(gòu)成進行研究,可以發(fā)現(xiàn)以下規(guī)律:對于一個連續(xù)形式的搜索文本串,用于描述位置的詞(where)位于一般位于前面,用于描述名稱的詞則多位于后面;另外“where”可能對應(yīng)多個具有獨立意義的詞,例如“北京市+中關(guān)村”,而“what”則一般僅對應(yīng)一個詞。
[0155]根據(jù)上述規(guī)律,對于經(jīng)分詞得到的N個分詞單元,可以默認將最后一個分詞單元當(dāng)做“what”進行處理,前N-1個分詞單元則當(dāng)做“where”進行處理。在本發(fā)明實施例中,對于“where”部分,利用前N-1個分詞單元構(gòu)成一個或多個搜索子串,然后利用該搜索子串進行文本搜索。
[0156]最簡單的處理方式,是不對where部分做任何處理,直接將前N_1個分詞單元作為搜索子串。在本發(fā)明的其他實施例中,為了優(yōu)化搜索結(jié)果,還可以采用其他方式生成搜索子串,以下進行詳細說明:
[0157]對于分詞結(jié)果中的前i (i=l,2,3…N-1)個分詞單元,可以按照從前到后的順序進行組合,形成可能的地名文本候選。
[0158]在本發(fā)明的另一種實施方式中,還可以將搜索子串中明顯不具有空間意義的文本濾除,從而避免對后續(xù) 搜索結(jié)果的干擾。常見濾除對象包括:
[0159]停用詞,例如“的”、“是”等等;
[0160]經(jīng)營范圍詞,例如“小吃”、“旅游”、“餐飲”等等;
[0161]地名后綴,例如“酒店”、“餐館”等等。
[0162]這里同樣可以采用預(yù)設(shè)詞典的方式,對不具有空間意義的文本進行過濾,當(dāng)然,本領(lǐng)域技術(shù)人員可以根據(jù)實際需求設(shè)置詞典的具體內(nèi)容,以上提到的幾種類型不應(yīng)該理解為對本發(fā)明技術(shù)方案的限定。
[0163]在本發(fā)明的另一種實施方式中,還可以根據(jù)文本的上下文關(guān)系,對搜索子串的內(nèi)容做進一步優(yōu)化。由于分詞結(jié)果并不一定和實際的位置描述或名稱描述完全一致,因此,可以先利用文本在地圖領(lǐng)域的上下文關(guān)系,對分詞結(jié)果進行重新組合后再進行處理,具體方式是:先判斷相鄰分詞單元的共現(xiàn)率是否大于某個預(yù)設(shè)的閾值,如果是,則先對相應(yīng)的分詞單元進行合并處理,然后利用合并后的分詞結(jié)果構(gòu)建搜索子串。
[0164]當(dāng)然,可以理解的是,在實際應(yīng)用中,這部分處理也可以在分詞階段實現(xiàn)。也就是說,分詞系統(tǒng)本身也可以根據(jù)地圖系統(tǒng)的應(yīng)用需求,將“工商銀行”等類似內(nèi)容識別為一個整體,避免過細的拆分對后續(xù)的搜索結(jié)果造成影響。
[0165]以上介紹了幾種生成搜索子串的具體改進方案,根據(jù)實際需求,這些方法可以分別單獨使用,也可以結(jié)合使用,本發(fā)明對此并不需要進行限定。
[0166]第一搜索模塊130,用于在地圖數(shù)據(jù)中,搜索與所述搜索子串文本相匹配的結(jié)果;
[0167]對于所構(gòu)成的一個或多個搜索子串,將這些搜索子串的文本作為搜索條件,進行基于文本匹配的檢索。由于搜索子串的內(nèi)容少于原始的搜索請求,也就是說在匹配條件上更為寬松,因此能夠得到更多的匹配結(jié)果。
[0168]例如原始搜索請求文本為“中關(guān)村肯德”,如果基于文本匹配檢索,那么只有在目標數(shù)據(jù)的名稱信息或者地址信息文本中同時包含“中關(guān)村”+ “肯德”的情況下,該數(shù)據(jù)才會被用于生成搜索建議作為搜索結(jié)果被召回。而根據(jù)本發(fā)明實施例,對于處理后得到的搜索子串為“中關(guān)村”,僅對“中關(guān)村”進行基于文本匹配的檢索,可以得到大量的結(jié)果,這些地點可能是名稱匹配,例如“中關(guān)村地鐵站”、“中關(guān)村大廈”、也可能是地址匹配,例如“中關(guān)村大街X號”、“中關(guān)村南路X號”等等。
[0169]區(qū)域確定模塊140,用于根據(jù)搜索結(jié)果的位置信息,確定所述搜索子串對應(yīng)的位置區(qū)域;
[0170]根據(jù)本發(fā)明實施例,由于搜索子串對應(yīng)的是“where”部分,因此在成功匹配到的搜索結(jié)果中,會有很大比例是在位置上與“where”空間相關(guān)的。也就是說,搜索子串對應(yīng)的搜索結(jié)果應(yīng)該在空間上具有一定的聚合性。例如“中關(guān)村大廈”、“中關(guān)村大街X號”等等,都是位于“中關(guān)村”地區(qū)附近的地點。
[0171]基于上述情況,可以根據(jù)每個搜索結(jié)果所處的位置,求出一個位置點空間相對集中的區(qū)域,從而得到搜索子串所對應(yīng)的位置區(qū)域,即“where”所對應(yīng)的區(qū)域。
[0172]具體而言,由于是在地圖數(shù)據(jù)中進行搜索,因此搜索結(jié)果中都應(yīng)該包括位置信息,例如經(jīng)緯度等等。首先分別獲取每個搜索結(jié)果的位置信息,然后可以這些位置點在空間上進行聚類,如果位置點的數(shù)量足夠多,并且可以得到一個相對集中的區(qū)域,即可以將其確定為與“where”所對應(yīng)的區(qū)域。
[0173]可以理解的是,如果針對搜索字串搜索得到的位置點數(shù)量較少(例如少于5個),則說明該搜索字串很可能不具有空間含義,例如“海淀區(qū)工商”可能僅對應(yīng)I個搜索結(jié)果,這種情況下,不會認為“海淀區(qū)工商”是具有空間含義的。
[0174]其中,空間位置點在空間的算法可以有多種方式實現(xiàn),在本發(fā)明實施例中并不需要對這部分進行詳細介紹。但是,結(jié)合具體的應(yīng)用需求,可以從整體策略上進行限定,例如:一種典型的聚類策略如下:
[0175]al)聚集區(qū)域中所包含的搜索結(jié)果比例達到某個預(yù)設(shè)的閾值,例如70%、80%等等
[0176]bl)聚集區(qū)域的大小不超過預(yù)設(shè)的閾值。
[0177]也是就說,如果結(jié)果比較多,但是空間分布都比較分散,這種情況無法確定出聚集區(qū)域。
[0178]當(dāng)然,上述策略并不是唯一的限制方式,本領(lǐng)域技術(shù)人員根據(jù)實際需求,還可以制訂其他策略,例如,有些地名可能對應(yīng)多個實際區(qū)域,比如北京地區(qū)可以找到兩個“四道口”,針對這種情況,可以增加以下策略:
[0179]a2)存在兩個聚集區(qū)域,且每個聚集區(qū)域中所包含的搜索結(jié)果比例都達到某個預(yù)設(shè)的閾值,例如35%、40%等等。
[0180]b2)聚集區(qū)域的大小不超過預(yù)設(shè)的閾值。
[0181]利用這種策略,就可以定位出兩個名稱為“where”的區(qū)域,后續(xù)可以在這兩個區(qū)域分別進行搜索。
[0182]可以理解的是,理論上還可以繼續(xù)增加類似的策略,實現(xiàn)對三個、四個地點重名情況的識別,但是在實際應(yīng)用中,結(jié)果越分散,準確程度也越難以保證,因此本領(lǐng)域人員可以根據(jù)實際需求靈活設(shè)置各種確定聚集區(qū)域的策略,本發(fā)明實施例對此并不需要進行限制。
[0183]第二搜索模塊150,用于在所確定的位置區(qū)域中,搜索與第N個分詞單元文本相匹配的結(jié)果,利用該結(jié)果,生成針對于用戶已輸入內(nèi)容的搜索建議。
[0184]根據(jù)前面的方案,已經(jīng)確定了未知地名“where”所對應(yīng)的區(qū)域,進一步在該區(qū)域范圍內(nèi),對“what ”部分,進行基于文本匹配的搜索,得到的結(jié)果就可以作為對應(yīng)最初搜索請求的搜索建議。[0185]例如,原始搜索請求文本為“中關(guān)村肯德”,由于“中關(guān)村”并不在地名詞典中,因此無法直接確定“中關(guān)村”所對應(yīng)的區(qū)域,根據(jù)本發(fā)明實施例,利用“中關(guān)村”進行文本搜索,可以找到若干類似“中關(guān)村大廈”、“中關(guān)村大街X號”的地點數(shù)據(jù),通過對這些結(jié)果的位置分布進行綜合處理,可以大致圈定出“中關(guān)村”所對應(yīng)的區(qū)域,最后在所圈定出的區(qū)域中搜索“肯德”,就可以得到符合原始搜索請求的搜索建議,而這些搜索建議中并不一定包含“中關(guān)村”的文本。
[0186]參見圖4所示,本發(fā)明實施例所提供的地圖數(shù)據(jù)搜索建議生成裝置,還可以進一步包括:
[0187]存儲模塊160,用于在確定所述搜索子串對應(yīng)的位置區(qū)域后,對該搜索子串的相關(guān)信息進行存儲。
[0188]根據(jù)本發(fā)明方案,對于能夠確定出位置區(qū)域的未知地名,可以將該地名反過來加入地名詞典,從而不斷豐富地名詞典的收錄內(nèi)容,使得地圖系統(tǒng)的搜索性能得到持續(xù)提升。
[0189]為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當(dāng)然,在實施本發(fā)明時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
[0190]通過以上的實施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。
[0191]本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
[0192]以上所述僅是本發(fā)明的【具體實施方式】,應(yīng)當(dāng)指出,對于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。
【權(quán)利要求】
1.一種地圖數(shù)據(jù)搜索建議生成方法,其特征在于,該方法包括: 接收用戶當(dāng)前已輸入的搜索請求文本,對搜索請求文本進行分詞,得到N個分詞單元; 利用前i個分詞單元構(gòu)成搜索子串,其中i=l,2,3…N-1 ; 在地圖數(shù)據(jù)中,搜索與所述搜索子串文本相匹配的結(jié)果; 根據(jù)搜索結(jié)果的位置信息,確定所述搜索子串對應(yīng)的位置區(qū)域; 在所確定的位置區(qū)域中,搜索與第N個分詞單元文本相匹配的結(jié)果,利用該結(jié)果,生成針對于用戶已輸入內(nèi)容的搜索建議。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 接收用戶當(dāng)前已輸入的搜索請求文本后,判斷用戶輸入停頓時間是否大于預(yù)設(shè)閾值,如果是,則進一步對搜索請求文本進行分詞。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用前i個分詞單元構(gòu)成搜索子串,包括: 根據(jù)預(yù)設(shè)的詞典,識別分詞單元中的地名文本; 利用未識別出的分詞單元,構(gòu)成搜索子串。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用前i個分詞單元構(gòu)成搜索子串,包括: 根據(jù)預(yù)設(shè)的詞典,識別分詞單元中不具有空間意義的文本; 利用未識別出的分詞單元,構(gòu)成搜索子串。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用前i個分詞單元構(gòu)成搜索子串,包括: 判斷相鄰分詞單元的共現(xiàn)率是否大于預(yù)設(shè)的閾值,如果是,則先對相應(yīng)的分詞單元進行合并處理后,再構(gòu)成搜索子串。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)搜索結(jié)果的位置信息,確定所述搜索子串對應(yīng)的位置區(qū)域,包括: 根據(jù)多個搜索結(jié)果位置的空間分布,得到搜索結(jié)果的聚集區(qū)域,將該聚集區(qū)域確定為所述搜索子串對應(yīng)的位置區(qū)域; 其中,所述聚集區(qū)域滿足: 該聚集區(qū)域中所包含的搜索結(jié)果比例達到預(yù)設(shè)的閾值,以及 該聚集區(qū)域的大小不超過預(yù)設(shè)的閾值。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括: 在確定所述搜索子串對應(yīng)的位置區(qū)域后,對該搜索子串的相關(guān)信息進行存儲。
8.—種地圖數(shù)據(jù)搜索建議生成裝置,其特征在于,該裝置包括: 分詞模塊,用于接收用戶當(dāng)前已輸入的搜索請求文本,對搜索請求文本進行分詞,得到N個分詞單元; 搜索子串構(gòu)建模塊,用于利用前i個分詞單元構(gòu)成搜索子串,其中i=l,2,3…N-1 ; 第一搜索模塊,用于在地圖數(shù)據(jù)中,搜索與所述搜索子串文本相匹配的結(jié)果; 區(qū)域確定模塊,用于根據(jù)搜索結(jié)果的位置信息,確定所述搜索子串對應(yīng)的位置區(qū)域;第二搜索模塊,用于在所確定的位置區(qū)域中,搜索與第N個分詞單元文本相匹配的結(jié)果,利用該結(jié)果,生成針對于用戶已輸入內(nèi)容的搜索建議。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述分詞模塊,具體用于: 接收用戶當(dāng)前已輸入的搜索請求文本后,判斷用戶輸入停頓時間是否大于預(yù)設(shè)閾值,如果是,則進一步對搜索請求文本進行分詞。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述搜索子串構(gòu)建模塊,具體用于: 根據(jù)預(yù)設(shè)的詞典,識別分詞單元中的地名文本; 利用未識別出的分詞單元,構(gòu)成搜索子串。
11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述搜索子串構(gòu)建模塊,具體用于: 根據(jù)預(yù)設(shè)的詞典,識別分詞單元中不具有空間意義的文本; 利用未識別出的分詞單元,構(gòu)成搜索子串。
12.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述搜索子串構(gòu)建模塊,具體用于: 判斷相鄰分詞單元的共現(xiàn)率是否大于預(yù)設(shè)的閾值,如果是,則先對相應(yīng)的分詞單元進行合并處理后,再構(gòu)成搜索子串。
13.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述區(qū)域確定模塊,具體用于: 根據(jù)多個搜索結(jié)果位置的空間分布,得到搜索結(jié)果的聚集區(qū)域,將該聚集區(qū)域確定為所述搜索子串對應(yīng)的位置區(qū)域; 其中,所述聚集區(qū)域滿足: 該聚集區(qū)域中所包含的搜索結(jié)果比例達到預(yù)設(shè)的閾值,以及 該聚集區(qū)域的大小不超過預(yù)設(shè)的閾值。
14.根據(jù)權(quán)利要求8所述的裝置,其特征在于,該裝置還包括: 存儲模塊,用于在確定所述搜索子串對應(yīng)的位置區(qū)域后,對該搜索子串的相關(guān)信息進行存儲。
【文檔編號】G06F17/30GK103927310SQ201310012939
【公開日】2014年7月16日 申請日期:2013年1月14日 優(yōu)先權(quán)日:2013年1月14日
【發(fā)明者】徐旭 申請人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司