欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

搜索數(shù)據(jù)庫的方法、生成索引結(jié)構(gòu)的導(dǎo)航設(shè)備和方法

文檔序號:6365271閱讀:225來源:國知局
專利名稱:搜索數(shù)據(jù)庫的方法、生成索引結(jié)構(gòu)的導(dǎo)航設(shè)備和方法
技術(shù)領(lǐng)域
本發(fā)明涉及在導(dǎo)航設(shè)備中使用的數(shù)據(jù)庫搜索方法和設(shè)備。本發(fā)明尤其涉及使用索引結(jié)構(gòu)搜索導(dǎo)航設(shè)備數(shù)據(jù)庫的方法、生成索引結(jié)構(gòu)的導(dǎo)航設(shè)備和方法。
背景技術(shù)
眾所周知,導(dǎo)航設(shè)備執(zhí)行諸如在兩個(gè)位置之間的路線搜索的功能?,F(xiàn)代導(dǎo)航設(shè)備還可提供附加功能,諸如起到行程向?qū)У淖饔?,其根?jù)需求輸出關(guān)于興趣點(diǎn)(POI)的信息。這樣的信息可包括街道或POI的名稱,而且還可包括附加文本或多媒體信息。例如,ー些導(dǎo)航設(shè)備可包括行程向?qū)Чδ埽晕谋竞?或多媒體的形式輸出關(guān)于對象的詳細(xì)解釋。鑒于在現(xiàn)代導(dǎo)航設(shè)備之中使用的數(shù)據(jù)庫的大小,在該數(shù)據(jù)庫中進(jìn)行搜索是相當(dāng)大 的挑戰(zhàn)。尤其是在執(zhí)行對文本字符串、音位字符串(phoneme string)、多媒體對象,或在歐幾里得(Euclidean)空間中未定義出的其它對象的搜索的時(shí)候。在2D或3D空間中定義的對象的幾何坐標(biāo)可使得這些對象能夠基于它們的坐標(biāo)被編入索引,用于基于坐標(biāo)的搜索。這樣的編入索引對于諸如文本字符串、音位字符串、多媒體對象,或在歐幾里得空間中未定義出的其它對象更具有挑戰(zhàn)性。進(jìn)ー步地,當(dāng)針對諸如文本字符串、音位字符串,或多媒體對象進(jìn)行搜索時(shí),用戶可能不僅對獲得準(zhǔn)確的命中感興趣,用戶還可能會對獲得關(guān)于與查詢近似但不必相同的搜索結(jié)果的信息感興趣。對于許多應(yīng)用,諸如輸入路線搜索的起始和終點(diǎn)位置、中間點(diǎn)或轉(zhuǎn)接點(diǎn),或輸入POI時(shí),用戶可能不知道對該名稱的正確文本表達(dá)。在數(shù)據(jù)庫中依據(jù)字符串首字母捜索準(zhǔn)確匹配的常規(guī)技術(shù)在當(dāng)這些首字母中出現(xiàn)拼寫錯(cuò)誤時(shí)可能會失敗。進(jìn)ー步地,在導(dǎo)航設(shè)備中,由于存儲空間限制所強(qiáng)加的約束和可用的運(yùn)算時(shí)間的界限,使得實(shí)現(xiàn)高效的容錯(cuò)(fault-tolerant)的搜索尤其具有挑戰(zhàn)性。

發(fā)明內(nèi)容
據(jù)此,存在對提供能夠進(jìn)行容錯(cuò)搜索的方法和導(dǎo)航設(shè)備的需求。尤其是對使容錯(cuò)捜索能夠被高效地執(zhí)行的這樣的方法和導(dǎo)航設(shè)備的需求。這種需求通過獨(dú)立權(quán)利要求中所述的設(shè)備和方法來解決。從屬權(quán)利要求定義了各種實(shí)施方式。依據(jù)ー個(gè)方面,提供了一種在導(dǎo)航設(shè)備數(shù)據(jù)庫中執(zhí)行相似性捜索的方法。該相似性搜索是使用ー種索引結(jié)構(gòu)執(zhí)行的。該數(shù)據(jù)庫包括多個(gè)對象,并且該索引結(jié)構(gòu)包括多個(gè)節(jié)點(diǎn)。接收查詢對象。訪問與多個(gè)對象中的至少ー個(gè)對象相關(guān)聯(lián)的索引結(jié)構(gòu)的節(jié)點(diǎn)。對于所訪問節(jié)點(diǎn)中的至少ー個(gè)對象,依據(jù)距離度量(distance metric)確定在查詢對象和該對象之間的距離?;谒_定的距離,選擇性地訪問索引結(jié)構(gòu)的另ー節(jié)點(diǎn)。該方法使用相似性捜索。這使得模糊捜索能夠被實(shí)現(xiàn)成,模糊捜索不僅提供關(guān)于準(zhǔn)確匹配的信息,而且還在數(shù)據(jù)庫中檢索出了關(guān)于最相似對象的信息。在該方法中,確定出在查詢對象和索引結(jié)構(gòu)的節(jié)點(diǎn)中的對象之間的距離,以識別出將要訪問哪個(gè)(些)其它的節(jié)點(diǎn)。這使得該搜索能夠被高效地執(zhí)行。不需要訪問既不包括也不指向距查詢對象的距離大于閾值的對象的節(jié)點(diǎn)。通過使用依據(jù)距離度量確定的距離,定量地評估出查詢對象和在索引結(jié)構(gòu)中包括的對象之間的相似性或非相似性。該索引結(jié)構(gòu)可被存儲在導(dǎo)航設(shè)備的存儲設(shè)備中。該索引結(jié)構(gòu)可以是度量索引結(jié)構(gòu)。依據(jù)常規(guī)術(shù)語,度量索引結(jié)構(gòu)是僅考慮對象之間(而非它們在多維空間中的坐標(biāo)之間)的相對距離的索引,以對該索引進(jìn)行分割。該索引結(jié)構(gòu)可尤其是M樹(M-tree)、優(yōu)勢點(diǎn)樹(vantage-point tree),或依據(jù)距離度量組織的任意其它的樹結(jié)構(gòu)。該索引結(jié)構(gòu)是按照距離函數(shù)組織的,其與用于確定查詢對象和執(zhí)行搜索的對象之間距離的距離相同。
使用常規(guī)術(shù)語,“距離度量”或“度量”在此被理解為指示滿足自反性、対稱性和三角不等性的基本條件的距離函數(shù)。使用常規(guī)術(shù)語,術(shù)語“相似性捜索”在此被用于指示對對象的捜索,這些對象滿足關(guān)于相對于查詢對象的相似性或非相似性的給定準(zhǔn)則。例子包括,捜索具有非相似性的對象,該非相似性是作為依據(jù)小于固定閾值的距離度量的距離而被測量的,或者,捜索具有最小非相似性的對象,該最小非相似性是作為依據(jù)被索引的對象當(dāng)中距查詢對象的距離度量的距離而被測量的??梢缘槐卮_定出在查詢對象和由該搜索中訪問的節(jié)點(diǎn)表示的所有對象之間的準(zhǔn)確距離。針對沿著穿過該索引結(jié)構(gòu)的路徑的節(jié)點(diǎn)中的至少ー些,可足以確定出該查詢對象和該索引結(jié)構(gòu)中相應(yīng)的對象之間距離的下界。這些對象可以是字符串,尤其是音位字符串或文本字符串,相應(yīng)地,查詢對象可以是音位字符串或文本字符串。這使得能夠執(zhí)行對音位字符串或文本字符串的容錯(cuò)搜索。當(dāng)輸入起始和終點(diǎn)位置時(shí)、當(dāng)在數(shù)據(jù)庫中搜索POI時(shí)、當(dāng)搜索被存儲在該數(shù)據(jù)庫中的文本或多媒體數(shù)據(jù)時(shí),或者在類似情況下,這樣的捜索可能是有用的。用于字符串對象的距離度量可從多個(gè)可用的字符串度量中的任意ー種中被選定。例如,該距離度量可以是基于Levenshtein距離的。該距離函數(shù)還可以是Damerau-Levenshtein 距離、Jaro-Winkler 距離、漢明(Hamming)距離、按照 Soundex 距離度量所確定的距離、Needleman-Wunsch 距離、Gotoh 距離、Smith-Waterman-Gotoh 距離、P ^ I的Lp距離,或者遵守自反性、対稱性和三角不等性的基本條件的任意其它字符串度量中的任意ー種。可接收文本輸入并執(zhí)行文本到音位的轉(zhuǎn)換,以由該文本輸入生成查詢對象。備選地或額外地,該查詢對象可以是由語音輸入生成的音位字符串。該索引結(jié)構(gòu)可進(jìn)ー步包括關(guān)于在被訪問的節(jié)點(diǎn)中包括的至少ー個(gè)對象和該索引結(jié)構(gòu)中其它對象之間距離的距離信息。對于具有父對象的任意節(jié)點(diǎn),該距離信息可包括在該節(jié)點(diǎn)中的該對象與其父對象之間的距離。該距離信息可被存儲在該索引結(jié)構(gòu)中。備選地或額外地,對于指向另ー個(gè)節(jié)點(diǎn)的任意對象,即,其不在葉節(jié)點(diǎn)中,該距離信息可包括該對象和在與該對象相關(guān)聯(lián)的索引結(jié)構(gòu)的子樹中包括的任意對象之間距離的上界。該距離上界還可被稱為覆蓋半徑,因?yàn)槠浔硎玖嗽搶ο笾車木嚯x,在其子樹中的所有對象位于該距離之內(nèi)。通過將這樣的距離信息包括到該索引結(jié)構(gòu)中,該距離信息可在運(yùn)行時(shí)被使用,而不需要在相似性捜索中對其進(jìn)行計(jì)算。因此可增強(qiáng)搜索的性能。
基于查詢對象和被訪問的節(jié)點(diǎn)中包括的對象之間的距離,并且基于距離信息,可選擇性地執(zhí)行對另ー個(gè)節(jié)點(diǎn)的訪問??蓤?zhí)行閾值比較。基于該閾值比較,可確定是否必須捜索索引的子樹。備選地或附加地,基于閾值比較,可確定是否需要計(jì)算查詢對象和在該索引結(jié)構(gòu)中的對象之間的準(zhǔn)確距離。可將查詢對象與在該節(jié)點(diǎn)中包括的對象之間的距離和覆蓋半徑與捜索半徑之和相比較。如果該閾值比較表明查詢對象和在節(jié)點(diǎn)中包括的對象之間的距離大于求和值,則不需要訪問該對象所指向的索引結(jié)構(gòu)的子樹。捜索半徑可以是固定的,或者可以使其隨著相似性捜索的進(jìn)行而變化。節(jié)點(diǎn)可包括若干個(gè)對象。針對若干個(gè)對象中的每ー個(gè),索引結(jié)構(gòu)可包括在相應(yīng)的對象與在該相應(yīng)的對象指向的索引結(jié)構(gòu)的子樹中包括的任意對象之間的距離上界?;谒_定的距離,可從相似性搜索中選擇性地剪除對象。剪除可基于查詢對象和在節(jié)點(diǎn)中的對象之間所確定出的距離,并基于對象的覆蓋半徑來執(zhí)行。
可以迭代的方式重復(fù)確定距離和選擇性地訪問另一個(gè)節(jié)點(diǎn)的步驟。在重復(fù)這些步驟時(shí),不需要針對節(jié)點(diǎn)中的對象中的每ー個(gè)都計(jì)算查詢對象和該節(jié)點(diǎn)中包括的對象之間的距離。查詢對象和節(jié)點(diǎn)中包括的對象之間的距離可基于某種準(zhǔn)則選擇性地計(jì)算,這種準(zhǔn)則不需要計(jì)算新的距離。確定距離和選擇性地訪問另一個(gè)節(jié)點(diǎn)可在當(dāng)該另ー個(gè)節(jié)點(diǎn)是該索引結(jié)構(gòu)的葉節(jié)點(diǎn)時(shí)終止。當(dāng)所訪問的其它節(jié)點(diǎn)是葉節(jié)點(diǎn)時(shí),該方法可進(jìn)ー步包括,根據(jù)閾值比較的結(jié)果,選擇性地確定該葉節(jié)點(diǎn)中的對象與查詢對象之間的距離。根據(jù)閾值比較的結(jié)果,可選擇性地確定出在該葉節(jié)點(diǎn)中給定的對象和查詢對象之間的距離。該閾值比較可包括將第一距離和第二距離之間的差異的模數(shù)與閾值進(jìn)行比較。該第一距離可以是查詢對象和該葉節(jié)點(diǎn)的父對象之間的距離。該第二距離可以是該葉節(jié)點(diǎn)的父對象與該葉節(jié)點(diǎn)中相應(yīng)的給定對象之間距離。對于在該葉節(jié)點(diǎn)中的任意給定的對象,可根據(jù)這樣的閾值對比的結(jié)果,選擇性地計(jì)算出相應(yīng)的給定對象和查詢對象之間的距離。從而,可進(jìn)ー步減少搜索時(shí)間。在該搜索中,可識別出位于距查詢對象在預(yù)確定距離之內(nèi)的所有對象。該距離是按照距離度量定義的。這使得與未超出給定閾值的查詢對象具有非相似性的所有對象能夠被識別出并被輸出給用戶。備選地或額外地,可識別出整數(shù)k > I個(gè)對象,其表示依照距離度量確定出的在該索引結(jié)構(gòu)中查詢對象的k個(gè)最接近的鄰居,這使得在距離度量方面與查詢對象最相似的k個(gè)對象可被識別出并輸出給用戶?;诓樵儗ο蠛拖鄳?yīng)的被識別出的對象之間的距離,可輸出被識別出的對象。在輸出這些識別出的對象時(shí),可依照查詢對象和相應(yīng)的識別出的對象之間的距離對這些對象進(jìn)行分揀。例如,為了經(jīng)由光學(xué)輸出單元輸出,距查詢對象距離最近的對象可在頂部或最左位置處輸出,并且其它對象可按照距查詢對象的距離増大的順序輸出。類似地,為了經(jīng)由音頻輸出單元輸出,距查詢對象距離最近的對象可被首先輸出,并且此后其它對象可按照距查詢對象的距離增大的順序繼續(xù)輸出。依據(jù)另一方面,提供了導(dǎo)航設(shè)備,該導(dǎo)航設(shè)備包括存儲設(shè)備和處理設(shè)備。存儲設(shè)備存儲了用于數(shù)據(jù)庫的索引結(jié)構(gòu),該數(shù)據(jù)庫包括多個(gè)對象,該索引結(jié)構(gòu)包括多個(gè)節(jié)點(diǎn)。處理設(shè)備被耦接到存儲設(shè)備。為了執(zhí)行對查詢對象的相似性捜索,該處理設(shè)備被配置成訪問與多個(gè)對象中的至少ー個(gè)對象相關(guān)聯(lián)的索引結(jié)構(gòu)的節(jié)點(diǎn)。該處理設(shè)備被進(jìn)ー步配置成,依照距離度量,確定查詢對象和至少ー個(gè)對象之間的距離。該處理設(shè)備被進(jìn)ー步配置成,基于所確定出的距離,選擇性地訪問索引結(jié)構(gòu)的另ー個(gè)節(jié)點(diǎn)。這樣的導(dǎo)航設(shè)備使得模糊捜索能夠被實(shí)現(xiàn)成,不僅提供關(guān)于準(zhǔn)確匹配的信息,而且在該數(shù)據(jù)庫中檢索關(guān)于最相似對象的信息。在該導(dǎo)航設(shè)備中,確定在查詢對象和索引結(jié)構(gòu)的節(jié)點(diǎn)中的對象之間的距離,以識別出將要訪問其它的哪個(gè)(些)節(jié)點(diǎn)。這使得捜索能夠被高效地執(zhí)行。不需要訪問既不包括也不指向具有距查詢對象的距離大于閾值的對象的節(jié)點(diǎn)。通過使用按照距離度量確定的距離,定量地評估查詢對象和索引結(jié)構(gòu)中的對象之間的相似性或非相似性。這些對象可以是音位和/或文本字符串。該索引結(jié)構(gòu)可以是度量索引結(jié)構(gòu)。該導(dǎo)航設(shè)備可包括輸入單元。處理設(shè)備可被耦接到該輸入?yún)g元,以從其中接收查詢對象,或者基于在輸入單元處接收的輸入生成查詢對象。該處理設(shè)備可被配置成執(zhí)行文本到音位轉(zhuǎn)換,以生成查詢對象。該導(dǎo)航設(shè)備可包括輸出單元。處理設(shè)備可被配置成控制該輸出單元,使得在相似性捜索中找到的多個(gè)對象經(jīng)由輸出單元輸出。處理設(shè)備可被配置成控制該輸出單元,使得按照查詢對象和相應(yīng)的輸出對象之間的距離,對這些輸出對象進(jìn)行分揀。該處理設(shè)備可被配置成識別出具有距查詢對象的距離小于固定捜索半徑的所有對象,該距離是依照距離度量確定的。該處理設(shè)備可備選地或額外地被配置成識別出k >I個(gè)對象,這些k > I個(gè)對象是查詢對象的k個(gè)最接近的鄰居。該處理設(shè)備可被配置成依照任意ー個(gè)方面或任ー實(shí)施例執(zhí)行相似性捜索方法。依據(jù)另ー個(gè)方面,提供了ー種生成導(dǎo)航設(shè)備數(shù)據(jù)庫的度量索引結(jié)構(gòu)的方法。該數(shù)據(jù)庫包括多個(gè)對象。在該方法中,生成索引結(jié)構(gòu)的目錄節(jié)點(diǎn),其包括指向該索引結(jié)構(gòu)的其它節(jié)點(diǎn)和該索引結(jié)構(gòu)的葉節(jié)點(diǎn)的指針。生成節(jié)點(diǎn)包括,針對多對對象,分別確定出該對對象的對象之間的距離,從而確定出多個(gè)距離。這些距離按照距離度量被分別地確定出。基于該多個(gè)距離,識別出將要被包括在目錄節(jié)點(diǎn)中的對象和將要被包括在葉節(jié)點(diǎn)中的對象。使用這種方法,索引結(jié)構(gòu)被生成,其可被用于相似性搜索方法,也可以用于任意一方面或任ー實(shí)施例的導(dǎo)航設(shè)備中。依照所確定出的多個(gè)距離來組織所生成的度量索引結(jié)構(gòu),該多個(gè)距離是對象之間的相對距離。這使得度量索引結(jié)構(gòu)也能夠針對并非通過在多維空間中的坐標(biāo)定義的對象來設(shè)置。這些對象可以是音位字符串,或者字母數(shù)字字符串。在生成索引結(jié)構(gòu)時(shí),可從用于字符串度量的多個(gè)距離定義中的任意ー個(gè)中選擇出距離度量。例如,距離度量可以是基于Levenshtein距離的。該距離函數(shù)還可以是Damerau-Levenshtein 距離、Jaro-Winkler 距離、漢明(Hamming)距離、按照 Soundex 距離度量所確定的距離、Needleman-Wunsch 距離、Gotoh 距離、Smith-Waterman-Gotoh 距離、P ^ I的Lp距離,或者遵守自反性、対稱性和三角不等性的基本條件的任意其它字符串度量中的任意ー種。針對在目錄節(jié)點(diǎn)中包括的對象,該方法可包括存儲關(guān)于相應(yīng)的對象和在該對象所 指向的索引結(jié)構(gòu)的子樹中包括的任意對象之間的距離的上界。該上界,或覆蓋半徑,可被存儲在該索引結(jié)構(gòu)中。針對在節(jié)點(diǎn)中包括的具有父對象的對象,該方法可備選地或額外地包括存儲相應(yīng)的對象與其父對象之間的距離。在該方法中,索引結(jié)構(gòu)可以迭代的方式生長。該方法可包括將額外的對象插入節(jié)點(diǎn)中。為了這種目的,可識別出將要被插入對象所在的節(jié)點(diǎn)。識別節(jié)點(diǎn)可包括確定將要插入的對象和該索引結(jié)構(gòu)的目錄節(jié)點(diǎn)中的對象之間的距離。該方法可進(jìn)ー步包括分裂節(jié)點(diǎn)。為了這種目的,在插入對象之后,可確定出在該節(jié)點(diǎn)中的對象的個(gè)數(shù)是否大于對象的固定的最大個(gè)數(shù)。如果該個(gè)數(shù)超過最大個(gè)數(shù),則節(jié)點(diǎn)分裂。分裂節(jié)點(diǎn)可包括,從將要被包括在新目錄節(jié)點(diǎn)中的節(jié)點(diǎn)中選擇出對象,以及將對象指派給兩個(gè)新的葉節(jié)點(diǎn)中的ー個(gè)??蛇M(jìn)行分裂節(jié)點(diǎn),使得在新的目錄節(jié)點(diǎn)中的兩個(gè)對象的兩個(gè)覆蓋區(qū)域之間的重疊減小到閾值以下,或者被最小化。依據(jù)另ー個(gè)方面,提供了用于導(dǎo)航設(shè)備數(shù)據(jù)庫的度量索引結(jié)構(gòu)。該度量索引結(jié)構(gòu) 包括目錄節(jié)點(diǎn),其包括指向該索引結(jié)構(gòu)的其它節(jié)點(diǎn)和葉節(jié)點(diǎn)的指針。這些節(jié)點(diǎn)中的至少ー些節(jié)點(diǎn)可包括距離信息,其代表關(guān)于該索引結(jié)構(gòu)的對象之間依據(jù)度量確定的距離的信息。至少目錄節(jié)點(diǎn)可包括該目錄節(jié)點(diǎn)中的對象和相應(yīng)的對象的索引結(jié)構(gòu)的子樹中包括的任意對象之間的距離的上界。應(yīng)該理解,以上所提及的和那些將要在下面解釋的特征不僅可被用于所指示出的各個(gè)組合中,而且還可以用在其它組合中,或単獨(dú)使用。


在結(jié)合附圖閱讀以下實(shí)施方式的詳細(xì)描述時(shí),各實(shí)施方式的前述和其它特征將會變得更加清楚。在附圖中,用相同的附圖標(biāo)記表示相同的元件。圖I是導(dǎo)航設(shè)備的示意性框圖;圖2是索引結(jié)構(gòu)的示意性表達(dá);圖3和圖4是在索引結(jié)構(gòu)的節(jié)點(diǎn)中的數(shù)據(jù)條目的示意性表達(dá);圖5是使用相似性搜索的方法的流程圖;圖6是執(zhí)行相似性捜索的方法的流程圖;圖7是對用于解釋圖6的方法的數(shù)據(jù)庫對象的示意性表達(dá);圖8是對用于解釋圖6的方法的索引結(jié)構(gòu)的示意性表達(dá);圖9是使用相似性搜索的方法的流程圖;圖10是生成索引結(jié)構(gòu)的方法的流程圖;圖11和圖12是用于解釋圖10的方法的索引結(jié)構(gòu)的示意性表達(dá)。
具體實(shí)施例方式圖I示意性地說明了依據(jù)ー個(gè)實(shí)施例的車輛導(dǎo)航設(shè)備I。該導(dǎo)航設(shè)備I包括依據(jù)例如存儲在存儲器中的控制指令來控制該導(dǎo)航設(shè)備I的操作的處理設(shè)備2。該處理設(shè)備2可包括例如具有ー個(gè)或多個(gè)微處理器、數(shù)字信號處理器或者專用集成電路形式的中央處理単元。導(dǎo)航設(shè)備I進(jìn)ー步包括存儲設(shè)備3,其可以是可擦除或不可擦除存儲介質(zhì)或者存儲器。該存儲設(shè)備3可包括諸如隨機(jī)訪問存儲器、閃存或硬盤的不同類型的存儲器或存儲介質(zhì)中的任意ー種或任意組合,還可以包括諸如高密度磁盤(CD)、DVD、存儲卡等可移除存儲器。導(dǎo)航設(shè)備I還可包括用于將信息輸出給用戶的輸出接ロ 4。該輸出接ロ 4可包括光學(xué)輸出設(shè)備、音頻輸出設(shè)備或者其組合。該導(dǎo)航設(shè)備I還包括輸入接ロ 5,其使得用戶能夠輸入信息。尤其是,該輸入接ロ 5可使得用戶能夠輸入文本信息或者語音信息。導(dǎo)航設(shè)備可包括附加組件,諸如位置傳感器和/或無線接收機(jī)和/或車輛接ロ。位置傳感器可適用于確定車輛的當(dāng)前位置,在該車輛上安裝有導(dǎo)航設(shè)備I。該位置傳感器可包括GPS(全球定位系統(tǒng))傳感器、伽利略(Galileo)傳感器、基于移動通信網(wǎng)絡(luò)的位置傳感器,以及類似傳感器。無線接收機(jī)可被配置成接收用于更新存儲在存儲設(shè)備3中的數(shù)據(jù)庫的信息。車輛接ロ可使得處理設(shè)備2能夠從其它車輛系統(tǒng)中獲得信息,或者經(jīng)由該車輛接ロ獲得車輛狀態(tài)信息。該車輛接ロ可包括,例如,CAN(控制器局域網(wǎng))接ロ或MOST(媒體定向設(shè)備傳輸)接ロ。存儲設(shè)備3存儲了包括多個(gè)對象的數(shù)據(jù)庫。該多個(gè)對象可包括文本或音位字符串。例如,該數(shù)據(jù)庫可包括代表道路名稱的對象、代表興趣點(diǎn)(POI)名稱的對象,和/或代 表關(guān)于道路或POI的附加信息的對象。這樣的信息可具有文本或音位字符串或多媒體對象的形式,或可包括文本或音位字符串或多媒體對象。存儲設(shè)備3存儲了該數(shù)據(jù)庫的索引結(jié)構(gòu)。在導(dǎo)航設(shè)備I的應(yīng)用中,處理器2使用該索引結(jié)構(gòu)執(zhí)行相似性捜索。該處理器2可使用在輸入接ロ 5接收的輸入作為查詢對象,或可執(zhí)行關(guān)于輸入的附加操作,以生成查詢對象。然后處理器2使用該索引結(jié)構(gòu),執(zhí)行對查詢對象的相似性搜索。該相似性搜索包含計(jì)算該查詢對象和存儲在該數(shù)據(jù)庫中的對象之間的距離。在此所使用的“計(jì)算”可以不同方式實(shí)現(xiàn),包括查表操作。該距離提供了對查詢對象和索引結(jié)構(gòu)中的對象的非相似性的定量測量。在該搜索中找到的若干個(gè)最相似對象經(jīng)由輸出接ロ 4被輸出給用戶。例如,處理器2可生成關(guān)于光學(xué)輸出接ロ 4的列表,其中,在具有距查詢對象距離最近的索引結(jié)構(gòu)中的對象按照通過它們距查詢對象的距離所確定出的順序列出。 在邏輯上該索引結(jié)構(gòu)可與數(shù)據(jù)庫分開。備選地,該數(shù)據(jù)庫可與索引結(jié)構(gòu)合并。該索引結(jié)構(gòu)可使用任意適當(dāng)?shù)募夹g(shù)來實(shí)現(xiàn)。為了說明而非構(gòu)成限制,該索引結(jié)構(gòu)可使用SQ Lite來實(shí)現(xiàn)。該索引結(jié)構(gòu)可被實(shí)現(xiàn)成在數(shù)據(jù)庫系統(tǒng)中,尤其是在相關(guān)數(shù)據(jù)庫系統(tǒng)中,由用戶定義的索引結(jié)構(gòu)。該相關(guān)數(shù)據(jù)庫可包括用于文本字符串或音位字符串的表格,以及用于多對文本字符串或多對音位字符串之間的距離的另ー個(gè)表格。該數(shù)據(jù)庫的索引結(jié)構(gòu)可被組織成索引樹。該索引結(jié)構(gòu)可包括多個(gè)節(jié)點(diǎn),這些節(jié)點(diǎn)中的至少ー些為目錄節(jié)點(diǎn),其包括指向其它節(jié)點(diǎn)的指針,并且至少ー些其它節(jié)點(diǎn)為葉節(jié)點(diǎn),其不包括指向其它節(jié)點(diǎn)的指針。這些節(jié)點(diǎn)中的每ー個(gè)節(jié)點(diǎn)可與至少ー個(gè)對象并且典型的是若干個(gè)對象相關(guān)聯(lián)。針對在目錄節(jié)點(diǎn)中包括的對象,該目錄節(jié)點(diǎn)可存儲指向與這些對象中的每ー個(gè)對象相關(guān)聯(lián)的相應(yīng)的根部的指針。存儲在存儲設(shè)備3中的索引結(jié)構(gòu)是度量索引結(jié)構(gòu),其可使用距離度量被搜索出來。而且,該索引結(jié)構(gòu)也是依照距離度量組織的。即,該索引結(jié)構(gòu)基于數(shù)據(jù)庫的對象之間的相對距離被分割成子樹,數(shù)據(jù)庫的對象之間的相對距離是根據(jù)距離度量確定的。依據(jù)通用的術(shù)語,“距離度量”或者“度量”在此是指針對非空集合M的對象定義的距離測量,該非空集合M滿足以下條件
自反性(也稱為對不可辨別性的識別):Vx,少 eM :d(x,y) = O 當(dāng)且僅當(dāng) X = y 時(shí); (I)対稱性Vx,少 eM : d (X, y) =d(y,x)(2)三角不等性/x,y,z eM d (x, z) ≤ d (x, y) +d (y, z)(3)當(dāng)滿足以上基本條件(I)至(3)時(shí),緊跟著,距離函數(shù)也滿足正性基本條件Vx,ysM d(x, y)(4)集合M和度量d的重?cái)?shù)(M,d)也稱為度量空間。組織索引結(jié)構(gòu)所依據(jù)的并且還被用于在索引結(jié)構(gòu)中執(zhí)行搜索的度量可以從各種定義中選出,尤其取決于數(shù)據(jù)庫中的對象。例如,對于文本字符串或語音字符串的對象,Levenshtein距離定義了度量,并且可在建立索引結(jié)構(gòu)時(shí)以及在索引結(jié)構(gòu)中執(zhí)行相似性搜索時(shí)使用。Levenshtein距離也被稱為編輯距離。在兩個(gè)字符串之間的Levenshtein距離被定義成,通過對單個(gè)字符進(jìn)行插入、刪除或者替換的可允許的編輯操作,將ー個(gè)字符串變換成另一個(gè)所需的最小編輯次數(shù)。其它度量也可被用于組織索引結(jié)構(gòu)和在索引結(jié)構(gòu)中執(zhí)行相似性搜索時(shí)計(jì)算距離。也可使用其它度量。例如,距離函數(shù)可被選擇為Damerau-Levenshtein距離、Jaro-Winkler距離、漢明距離、依據(jù)Sondex距離度量確定的距離、Needleman-Wunsch距離、Gotoh距離、Smith-Waterman-Gotoh距離、p彡I的Lp距離,或遵守自反性、對稱性和三角不等性的基本條件的任意其它字符串度量中的任意ー種。存儲在存儲媒介3中的索引結(jié)構(gòu)不僅可包括對象和指向定義了搜索樹的其它節(jié)點(diǎn)的指針,而且還可額外地包括指示索引結(jié)構(gòu)中對象之間距離的距離信息。在執(zhí)行搜索吋,這樣的距離信息可從索引結(jié)構(gòu)中檢索出來。這樣的距離信息可尤其被用于從相似性捜索中剪除對象或節(jié)點(diǎn),正如在下面將詳細(xì)描述的那樣。圖2是索引結(jié)構(gòu)10的示意性表達(dá)。雖然在圖2中被示出為類似樹的結(jié)構(gòu),但是索引結(jié)構(gòu)通常可以任意適當(dāng)?shù)母袷酱鎯?,例如,作為相關(guān)數(shù)據(jù)庫中的用戶定義的索引結(jié)構(gòu)。該索引結(jié)構(gòu)包括目錄節(jié)點(diǎn)11-13以及葉節(jié)點(diǎn)14-17。目錄節(jié)點(diǎn)11_13中的每ー個(gè)節(jié)點(diǎn)包括指向其它節(jié)點(diǎn)的指針。每ー個(gè)指針可分別與在相應(yīng)的節(jié)點(diǎn)中包括的對象相關(guān)聯(lián)。例如,根節(jié)點(diǎn)11可包括與第一對象相關(guān)聯(lián)的數(shù)據(jù)條目21和與第二對象相關(guān)聯(lián)的數(shù)據(jù)條目
22。數(shù)據(jù)條目21可包括指向目錄節(jié)點(diǎn)12的指針,其為第一對象的子樹的根部。數(shù)據(jù)條目22可包括指向目錄節(jié)點(diǎn)13的指針,其為第二對象的子樹的根部。目錄節(jié)點(diǎn)12可包括與該數(shù)據(jù)庫的其它對象相關(guān)聯(lián)的數(shù)據(jù)條目23、24。數(shù)據(jù)條目
23、24可分別包括指向另ー個(gè)節(jié)點(diǎn)的指針。在圖2所示的結(jié)構(gòu)中,數(shù)據(jù)條目23、24分別包括指向葉節(jié)點(diǎn)14和15的指針。可實(shí)現(xiàn)目錄節(jié)點(diǎn)的較大分層。類似地,目錄節(jié)點(diǎn)13可包括與數(shù)據(jù)庫的其它對象相關(guān)聯(lián)的數(shù)據(jù)條目25、26。數(shù)據(jù)條目25、26可分別包括指向另ー個(gè)節(jié)點(diǎn)的指針,諸如,分別指向葉節(jié)點(diǎn)16和17的指針。葉節(jié)點(diǎn)14-17可分別包括與數(shù)據(jù)庫的一個(gè)或多個(gè)對象相關(guān)聯(lián)的數(shù)據(jù)條目。例如,葉節(jié)點(diǎn)14被示出為包括與數(shù)據(jù)庫的三個(gè)對象相關(guān)聯(lián)的數(shù)據(jù)條目27-29。在索引結(jié)構(gòu)中,搜索樹按照距離度量被分割。為了這種目的,可選出由數(shù)據(jù)21代表的第一對象和由數(shù)據(jù)22代表的第二對象,使得在具有根節(jié)點(diǎn)12的第一子樹中包括的所有對象位于圍繞第一對象具有第一覆蓋半徑的覆蓋區(qū)域之內(nèi),并且在具有根節(jié)點(diǎn)13的第ニ子樹中包括的所有對象位于圍繞第二對象具有第二覆蓋半徑的覆蓋區(qū)域之內(nèi)。換句話說,該第一覆蓋半徑可以是節(jié)點(diǎn)12、14和15中的任意一個(gè)節(jié)點(diǎn)所代表的任意對象與數(shù)據(jù)條目21代表的對象之間距離的最大值,數(shù)據(jù)條目21是該子樹的父對象。第二覆蓋區(qū)域半徑可以是節(jié)點(diǎn)13、16和17中任意一個(gè)節(jié)點(diǎn)所代表的任意對象與數(shù)據(jù)條目22代表的對象之間距離的最大值,數(shù)據(jù)條目22是該子樹的父對象。在根節(jié)點(diǎn)11中的第一對象和第二対象,以及相關(guān)聯(lián)的子樹中的對象,被選擇為使得第一和第二覆蓋區(qū)域具有重疊,該重疊優(yōu)選地盡量小。進(jìn)ー步,在根節(jié)點(diǎn)11中的第一對象和第二對象以及在相關(guān)聯(lián)的子樹中的對象可被選擇為 ,使得在第一對象和具有根部12的子樹中包括的任意對象之間的第一最大距離,以及在第二對象和具有根部13的子樹中包括的任意對象之間的第二最大距離保持盡量小。這樣,該索引結(jié)構(gòu)按照對象之間依據(jù)距離度量確定的接近程度被分割。用于組織以上索引結(jié)構(gòu)所列出的準(zhǔn)則不僅適用于根節(jié)點(diǎn)11,而且還適用于任意目錄節(jié)點(diǎn)12、13。即,將對象組織到目錄節(jié)點(diǎn)和葉節(jié)點(diǎn)中,g在減小目錄節(jié)點(diǎn)中不同對象的覆蓋區(qū)域的重疊,并進(jìn)一歩g在減小覆蓋區(qū)域尺寸。在下面參考圖10至圖12將描述用于生成這樣的索引結(jié)構(gòu)的系統(tǒng)性方法。在一些實(shí)施例中,索引結(jié)構(gòu)的目錄節(jié)點(diǎn)可包括關(guān)于在該索弓I結(jié)構(gòu)中包括的對象之間距離的信息。在目錄節(jié)點(diǎn)中的數(shù)據(jù)條目21-26可分別包括對象與該對象指向的子樹中包括的任意對象之間的距離的上界。該上界可以是這些距離的最大值。例如,數(shù)據(jù)條目21可包括數(shù)據(jù)條目21所代表的第一對象和節(jié)點(diǎn)12、14和15中的任意對象之間的距離的上界。數(shù)據(jù)條目22可包括數(shù)據(jù)條目22所代表的第二對象和節(jié)點(diǎn)13、16和17中的任意對象之間的距離的上界。數(shù)據(jù)條目23可包括數(shù)據(jù)23所代表的對象和節(jié)點(diǎn)14中的對象中任意ー個(gè)對象之間距離的上界,等等。基于該上界,可在相似性捜索中執(zhí)行剪除。對于在相應(yīng)的節(jié)點(diǎn)中的任意對象,所有具有父對象的節(jié)點(diǎn)中的數(shù)據(jù)可進(jìn)ー步包括,關(guān)于該對象和其父對象之間的距離的信息。這種信息還可在相似性捜索中被用于估計(jì)距離。該索引結(jié)構(gòu)可尤其被組織成由P. Ciaccia、M. Patella和P. Zezula所開發(fā)的M樹(M-tree) 0也可以使用按照距離度量組織的其它索引結(jié)構(gòu)。例如,該索引結(jié)構(gòu)可以是優(yōu)勢點(diǎn)樹。圖3示出了用干與目錄節(jié)點(diǎn)中包括的對象相關(guān)聯(lián)的數(shù)據(jù)條目31的示范性數(shù)據(jù)結(jié)構(gòu)。該圖所示出的是,例如,在M樹中使用的示范性數(shù)據(jù)條目。數(shù)據(jù)條目31包括對象0パ備選地,在數(shù)據(jù)31中可包括該對象的特征值。備選地,在數(shù)據(jù)31中可包括該對象的標(biāo)識符。數(shù)據(jù)條目31還包括指向該對象( 子樹的根節(jié)點(diǎn)的指針ptr (T (Or))。如果目錄節(jié)點(diǎn)不是該索引結(jié)構(gòu)的根節(jié)點(diǎn),則數(shù)據(jù)條目31可進(jìn)ー步包括對象和其父對象P(0J之間的距離(1執(zhí);P(0J)。通過將這樣的距離包括在索引結(jié)構(gòu)中,值(1執(zhí);P(Or))可被用于估計(jì)距離和/或用于剪除捜索。在運(yùn)行時(shí)可提高相似性捜索的效率。數(shù)據(jù)條目31可進(jìn)ー步包括半徑r (Or),其是對象Or和具有根節(jié)點(diǎn)T (Or)的子樹中任意對象之間的距離的上界。半徑r(0j可被定義為這樣的距離的最大值
r (Or) = maxj d(0j ;0r)(5)其中,該最大值是在指針ptr(T(0j)指向的子樹的所有對象Oj之中確定出來的。圖4示出了用干與在索引結(jié)構(gòu)的葉節(jié)點(diǎn)中包括的對象相關(guān)聯(lián)的數(shù)據(jù)條目32的示范性數(shù)據(jù)結(jié)構(gòu)。所說明的是在M樹中使用的示范性數(shù)據(jù)條目。數(shù)據(jù)條目32包括對象(V備選地,在數(shù)據(jù)32中可包括該對象的特征值。備選地,在數(shù)據(jù)32中可包括該對象的標(biāo)識符。數(shù)據(jù)條目32可進(jìn)ー步包括相應(yīng)的對象Oj和其父對象P(Oj)之間的距離d(0パP(Oj)).通過將這樣的距離包括在該索引結(jié)構(gòu)中,值CKOyP(Oj))可被用于估計(jì)距離和/或用于剪除捜索,而不需要在搜索過程中計(jì)算距離??墒褂闷渌鼣?shù)據(jù)結(jié)構(gòu)。例如,在數(shù)據(jù)條目31或數(shù)據(jù)條目32中指示的不同字段條目不必以彼此接近的方式存儲。在相關(guān)數(shù)據(jù)庫中用戶定義的索引結(jié)構(gòu)可被用于存儲索引結(jié)構(gòu)。
圖5是方法33的流程圖,其可由處理器2使用該索引結(jié)構(gòu)來執(zhí)行。在34,接收輸入。該輸入可以是經(jīng)由輸入接ロ 4接收的用戶輸入。備選地,該輸入可通過該車輛的其它系統(tǒng)或設(shè)備被提供給處理器2,或者可從該車輛的外部接收。該輸入可以是文本字符串。在35,執(zhí)行文本到音位的轉(zhuǎn)換。所獲得的音位字符串作為查詢對象。在36,使用索引結(jié)構(gòu)執(zhí)行相似性搜索。該索引結(jié)構(gòu)是按照距離度量組織的度量索引結(jié)構(gòu)。該索引結(jié)構(gòu)可被配置成如參考以上圖2至圖4描述的那樣。為執(zhí)行相似性捜索,可依據(jù)距離度量確定出查詢對象和在索引結(jié)構(gòu)中的對象之間的距離。在37,輸出在搜索中找出的最相關(guān)對象。這些最相關(guān)對象可以是查詢對象的k >I個(gè)最接近的鄰居,即,在被索引的對象當(dāng)中距該查詢對象距離最小的k個(gè)對象,這些距離是依據(jù)距離度量確定的。備選地,這些最相關(guān)對象可以是在索引結(jié)構(gòu)中距查詢對象距離小于預(yù)定閾值的所有対象。在37,可執(zhí)行輸出,使得多個(gè)對象被輸出。這些對象可以按照所確定的它們各自距查詢對象的距離順序被輸出。圖5是用于執(zhí)行相似性捜索的方法40的流程圖。該方法40可通過處理器2執(zhí)行。該相似性搜索是使用按照距離度量d(· ; ·)組織的索引結(jié)構(gòu)執(zhí)行的。如上所述,取決于對象類型,可選擇出不同距離度量中的任意ー個(gè)。該索引結(jié)構(gòu)可以被配置成如圖2至圖4所描述的那樣。在41,接收查詢對象。接收查詢對象可包括對輸入進(jìn)行處理,諸如執(zhí)行文本到音位轉(zhuǎn)換。在42,訪問索引結(jié)構(gòu)的節(jié)點(diǎn)N。方法40的步驟可沿著樹的路徑被迭代地重復(fù)。在第一迭代中,節(jié)點(diǎn)N可以是索引結(jié)構(gòu)的根節(jié)點(diǎn)。在后續(xù)迭代中,節(jié)點(diǎn)N可以是索引結(jié)構(gòu)的目錄節(jié)點(diǎn)。在43,選擇出在節(jié)點(diǎn)N中的對象O,。不同對象O,可按照這些O,被包括在節(jié)點(diǎn)N中的順序被選擇出。在44,確定出查詢對象Q和在節(jié)點(diǎn)N中被選擇出的對象Or之間的距離(1執(zhí);Q)。對于文本或音位字符串,確定距離可包括計(jì)算Levenshtein距離或者依據(jù)任意其它字符串度量的距離。在44中是使用分割索引結(jié)構(gòu)所依據(jù)的距離度量來確定距離的。
在45,確定出距離d(0, ;Q)是否大于對象O,的覆蓋半徑r (O,)與搜索半徑R的和。該搜索半徑R可以是固定的半徑。備選地,該搜索半徑R還可以隨著相似性捜索的繼續(xù)被動態(tài)地調(diào)節(jié)。例如,該搜索半徑R可在k個(gè)最接近的鄰居的捜索中被調(diào)節(jié),使得R對應(yīng)于查詢對象與到目前為止檢索的第k個(gè)最接近的鄰居之間的距離。如果確定出,距離d((^ ;Q)大于覆蓋半徑r(0j與捜索半徑R的求和值,則該方法從45前進(jìn)到46。在46,從搜索中剪除在對象Or的子樹中的所有對象。通過將覆蓋半徑r(0r)定義成該子樹中的任意對象和對象Or之間的距離的上界,如果距離d((^ ;Q)大于r(0j與R的求和值,在對象Or的子樹中的對象距查詢對象Q的距離不可能小于或等于搜索半徑R。通過剪除該搜索,可避免假性(spurious)搜索步驟。如果確定出距離d((^;Q)不大于覆蓋半徑r(0j與R的求和值,則該方法從45前進(jìn)到47。 在47,在對象Or的子樹中繼續(xù)搜索。為了這種目的,訪問對象Or的子樹的根節(jié)點(diǎn)T(Or)0基于在45的條件測試,選擇性地訪問該根節(jié)點(diǎn)。為了繼續(xù)在該子樹中的捜索,在該子樹中可重復(fù)步驟42-48,直到達(dá)到葉節(jié)點(diǎn)為止。只有沿著從索引結(jié)構(gòu)的根部到葉節(jié)點(diǎn)的路徑,沿著該路徑所貫穿的任意對象Or不滿足在45所檢查的條件,才能達(dá)到葉節(jié)點(diǎn)。如果在47達(dá)到了葉節(jié)點(diǎn),則可確定出在該葉節(jié)點(diǎn)中的對象Oj和查詢對象Q之間的距離d (OyQ)。如果d(0j ;Q) < R,(6)則在相關(guān)的被索引對象的列表中可包括對象Op用于后續(xù)輸出。如果執(zhí)行k個(gè)最接近的鄰居搜索,則可更新捜索半徑R,即,如果滿足等式(6)且在索引結(jié)構(gòu)中識別出的相關(guān)對象的列表中包括對象(V則搜索半徑R可被減少。如果在葉節(jié)點(diǎn)中沒有找到滿足等式
(6)的對象,則該方法前進(jìn)到48。在48,確定出在節(jié)點(diǎn)N中是否存在另ー個(gè)對象0パ如果存在另ー個(gè)對象,則該方法返回43,選擇這些對象Or中的另ー個(gè)。如果確定出在節(jié)點(diǎn)N中沒有其它對象,則該方法前進(jìn)到49。在49,輸出所識別出的對象。執(zhí)行該輸出可使得多個(gè)對象被輸出。在相似性捜索中找出的這些對象可按照通過它們各自距查詢對象Q的距離確定的順序被輸出,由于該距離在前面的步驟44或步驟47已經(jīng)被確定出,該距離可被用于將所識別出的對象組織到按順序整理的列表中,用于后續(xù)輸出。備選地,在搜索過程中確定的距離可被登記,用于后續(xù)按照它們距查詢對象Q的距離對這些對象進(jìn)行分揀。在方法40中,基于查詢對象和被索引的對象之間的距離,執(zhí)行相似性搜索。這使得,甚至在歐幾里得(Euclidean)空間中未定義該查詢對象和被索引的對象時(shí),也能夠執(zhí)行該搜索。相似性捜索40還可針對在多維矢量空間中所定義的對象執(zhí)行。使用在度量索引結(jié)構(gòu)中的相似性捜索實(shí)現(xiàn)了容錯(cuò)搜索。在該方法中,基于查詢對象和索引結(jié)構(gòu)的對象之間的距離,可選擇性地剪除捜索。剪除可基于在方法40的步驟45中驗(yàn)證的條件進(jìn)行,或者基于在下面描述的備選的或額外的條件進(jìn)行。為了進(jìn)一步說明,參考圖7和圖8。圖7是對對象的不意性表達(dá)50,而圖8是對索引結(jié)構(gòu)70的示意性表達(dá)。在圖7中示出的對象包括對象52和55,其被包括在索引結(jié)構(gòu)的根節(jié)點(diǎn)中。位于對象52的子樹中的對象位于距對象52小于或等于覆蓋半徑53的距離處。位于對象53的子樹中的對象位于距對象55小于或等于覆蓋半徑56的距離處。正如示意性地說明的,在對象52的子樹中的對象位于第一覆蓋區(qū)域54中。在對象55的子樹中的對象位于第二覆蓋區(qū)域57中。該索引結(jié)構(gòu)被組織成,使得覆蓋區(qū)域54和57具有較小的重疊。在與對象52相關(guān)聯(lián)的子樹中的對象被聚合在對象52周圍,而在與對象55相關(guān)聯(lián)的子樹中的對象被聚合在對象55周圍。對象52的子樹的根節(jié)點(diǎn)包括對象59和60。包括對象59和60的節(jié)點(diǎn)是目錄節(jié)點(diǎn)。與對象59相關(guān)聯(lián)的指針指向包括接近于對象59的對象(如,對象61)的葉節(jié)點(diǎn)。與對象60相關(guān)聯(lián)的指針指向包括接近于對象60的對象(如,對象62 )的葉節(jié)點(diǎn)。在與對象55相關(guān)聯(lián)的子樹中包括對象63、64。圖8示出了索引結(jié)構(gòu)70,其對應(yīng)于圖7的表達(dá)。在圖8中,對象被標(biāo)記為A、B、C、D、E、F、G、H、I、J。該索引結(jié)構(gòu)包括具有對象A和B的根節(jié)點(diǎn)71。在該根節(jié)點(diǎn)71中的對象A對應(yīng)于例如在圖7中的52所指示的對象。在根節(jié)點(diǎn)71中的對象B對應(yīng)于例如在圖7中的55所指示的對象。該索引結(jié)構(gòu)包括目錄節(jié)點(diǎn)72,其是用于與對象A相關(guān)聯(lián)的子樹的根節(jié)點(diǎn)。節(jié)點(diǎn)72包括對象C和D。在節(jié)點(diǎn)72中的對象C對應(yīng)于例如在圖7中的59所指示的對象。在節(jié)點(diǎn)72中的對象D對應(yīng)于例如在圖7中的60所指示的對象。該索引結(jié)構(gòu)包括葉節(jié)點(diǎn)74,其以對象C作為父對象。該節(jié)點(diǎn)74包括對象G和H。在節(jié)點(diǎn)74中的對象G對應(yīng)于例如在圖7中的61所指示的對象。該索引結(jié)構(gòu)包括葉節(jié)點(diǎn)75,其以對象D作為父對象。節(jié)點(diǎn)75包括對象I和J,在節(jié)點(diǎn)75中的對象I對應(yīng)于例如在圖7中的62所指示的對象。該索引結(jié)構(gòu)包括在與對象B相關(guān)聯(lián)的子樹中的附加節(jié)點(diǎn)73。假設(shè)針對查詢對象51執(zhí)行了鄰近搜索,可使用查詢對象和索引中各個(gè)對象A-J之間的距離,結(jié)合在索引結(jié)構(gòu)中包括的距離信息,剪除該搜索。在圖7中的58示意性地指示了捜索半徑R。當(dāng)搜索方法40開始時(shí),訪問索引結(jié)構(gòu)的根節(jié)點(diǎn)71。在66示出的查詢對象Q和對象B之間的距離d(Q;B)大于搜索半徑58和覆蓋半徑56的求和值。因此,在對象B的子樹中不執(zhí)行搜索。在65示出的查詢對象Q和對象A之間的距離d(Q ;A)小于在58指示的搜索半徑和在53所指示的對象A的覆蓋半徑的求和值。因此,在對象A的子樹中繼續(xù)搜索。通過對具有根節(jié)點(diǎn)72的子樹重復(fù)方法40的步驟42-49,對象G (圖7中由符號61表示)和I (圖7中由符號62表示)被識別為位于距查詢對象51小于或等于搜索半徑的距離處。通過識別這些對象,實(shí)現(xiàn)了容錯(cuò)搜索,該搜索依據(jù)距離度量返回所測量出的與查詢對象具有最小非相似性性的対象??赏ㄟ^基于覆蓋半徑剪除搜索而高效地執(zhí)行相似性捜索。在索引結(jié)構(gòu)中包括的附加數(shù)據(jù)可被用于進(jìn)ー步增強(qiáng)搜索效率。例如,如果在索引結(jié)構(gòu)中存儲了對象和它們各自的父對象之間的距離,則該信息可被用于減少在運(yùn)行時(shí)需要執(zhí)行的距離運(yùn)算次數(shù)。例如,當(dāng)在方法40的步驟42中所訪問的節(jié)點(diǎn)N是目錄節(jié)點(diǎn),而不是索引結(jié)構(gòu)的根節(jié)點(diǎn)吋,只有滿足以下條件吋,步驟44至47可被選擇性地執(zhí)行I d (Q ;P (Or)) -d (Or ;P (Or)) I ( r (0r+R),(7)在此P機(jī))表示節(jié)點(diǎn)對象ル的父節(jié)點(diǎn)。使用作為度量的距離d(,),如果不滿足等式(7),則三角不等性確保了在對象Or的子樹中的對象都不具有距查詢對象Q為R或更少的距離。如果不滿足等式(7),則可剪除對象ル的子樹??沈?yàn)證等式(7)而不需要任何額外的距離運(yùn)算。對于父節(jié)點(diǎn),在方法40的前面的迭代中確定出了 d(Q;P((U)的量。i^d(Q5P(Qr))的量可從索引結(jié)構(gòu)中讀出。通過取決于是否滿足等式(7)的條件,選擇性地執(zhí)行在方法40的步驟44的運(yùn)算,可減少在運(yùn)行時(shí)運(yùn)算 量繁重的距離確定。為了進(jìn)ー步說明,當(dāng)在方法40的步驟47中訪問葉節(jié)點(diǎn)時(shí),只有當(dāng)滿足以下條件時(shí),才可選擇性地確定在葉節(jié)點(diǎn)中的對象Oj和查詢對象Q之間的距離d(Q;P(Oj))-d(Oj ;P(Oj)) | ( R(8) 其中p(op表示該葉節(jié)點(diǎn)的父節(jié)點(diǎn),該父節(jié)點(diǎn)中包括對象(V由于d(,)是度量,如果不滿足等式(8),則三角不等性確保Oj和查詢對象Q不可能具有R或更小的距離。如果不滿足等式(8),則不需要確定d(Q,Oj)??沈?yàn)證等式(8)而不需要任何額外的距離運(yùn)算。對于父節(jié)點(diǎn),在方法40前面的步驟中確定出了 (KQ5P(Oj))的量。^cKQ5P(Oj))的量可從索引結(jié)構(gòu)中讀出。通過只有在滿足等式(8)的條件時(shí),選擇性地計(jì)算(KQ5P(Oj)),可減少在運(yùn)行時(shí)運(yùn)算量繁重的距離確定。依據(jù)以上參考圖I至圖8所描述的實(shí)施例,用于執(zhí)行相似性捜索的設(shè)備和方法可尤其被用于當(dāng)對象是文本字符串、音位字符串或多媒體對象吋。這些設(shè)備和方法可被用于識別在索引結(jié)構(gòu)中與音位字符串具有最小非相似性的対象。該索引結(jié)構(gòu)可被用作音位字符串的過濾器。圖9是方法80的流程圖表達(dá),其中可使用相似性搜索。在81,識別器基于輸入確定出音位字符串。該輸入可以是文本字符串。向音位字符串的轉(zhuǎn)換可以基于與彼此相似的音位相對應(yīng)的不同音位簇,使得使用距離度量確定的簇中的音位之間的距離在閾值以下。在82,使用索引結(jié)構(gòu)過濾音位字符串。該音位字符串可通過在索引結(jié)構(gòu)中執(zhí)行相似性捜索來進(jìn)行過濾,正如以上參考圖I至圖8中的任意ー個(gè)附圖描述的。在一些實(shí)現(xiàn)中,可確定出距查詢對象的距離小于或等于閾值的對象。在備選實(shí)現(xiàn)中,可確定出查詢對象的k個(gè)最接近的鄰居對象。在83,對音位進(jìn)行過濾的結(jié)果被提供給拼寫匹配器。在用于執(zhí)行相似性搜索的這些方法中的任意ー個(gè)和以上描述的導(dǎo)航設(shè)備中,索引結(jié)構(gòu)可以是度量索引結(jié)構(gòu)。在用于執(zhí)行相似性捜索的方法中的任意ー個(gè)和以上描述的導(dǎo)航設(shè)備中,索引結(jié)構(gòu)可對應(yīng)于平衡的搜索樹。在用于執(zhí)行相似性搜索的這些方法中的任意一個(gè)和以上描述的導(dǎo)航設(shè)備中,索引結(jié)構(gòu)可被配置成使得每個(gè)目錄節(jié)點(diǎn)和每個(gè)葉節(jié)點(diǎn)的條目的個(gè)數(shù)是固定的。現(xiàn)將參考圖10至圖12解釋生成具有這些屬性的索引結(jié)構(gòu)的方法。
圖10是用于生成索引結(jié)構(gòu)的方法90的流程圖。該方法90可與相似性搜索分開地執(zhí)行。尤其是,在預(yù)處理用于導(dǎo)航設(shè)備的數(shù)據(jù)時(shí),可執(zhí)行方法90。該索引結(jié)構(gòu)可由服務(wù)器計(jì)算機(jī)在中心地點(diǎn)構(gòu)建,然后可被部署到多個(gè)導(dǎo)航設(shè)備中。方法90可通過將附加對象后續(xù)添加到索引結(jié)構(gòu),以自下至上的方式構(gòu)建索弓I結(jié)構(gòu)。該索引結(jié)構(gòu)可使用距離度量構(gòu)建,隨后該距離度量還將在執(zhí)行相似性搜索時(shí)被使用。被插入的對象可以是字符串,尤其是音位字符串或者文本字符串。在方法90中,當(dāng)在節(jié)點(diǎn)中出現(xiàn)溢出狀況時(shí),可通過插入對象和通過分裂節(jié)點(diǎn)來構(gòu)建索引結(jié)構(gòu)。當(dāng)節(jié)點(diǎn)被分裂時(shí),生成新的目錄節(jié)點(diǎn)。在91,檢索出將要被插入索引結(jié)構(gòu)的對象Oi。該對象可以是音位字符串或文本字符串。 在92,訪問索引結(jié)構(gòu)的節(jié)點(diǎn)N。如果只存在ー個(gè)節(jié)點(diǎn),則訪問該節(jié)點(diǎn)。如果索引結(jié)構(gòu)已經(jīng)包括目錄節(jié)點(diǎn),則訪問最高目錄節(jié)點(diǎn),即,該結(jié)構(gòu)的根節(jié)點(diǎn)。在93,確定出節(jié)點(diǎn)N是否是葉節(jié)點(diǎn)。如果該節(jié)點(diǎn)是葉節(jié)點(diǎn),則該方法在98繼續(xù)。否則,該方法在94繼續(xù)。在94,確定出在將要被插入的對象Oi和在該節(jié)點(diǎn)中包括的所有對象Ok之間的距離d(0k ;0i)。該距離是依據(jù)距離度量分別地確定出的。在95,確定出在節(jié)點(diǎn)N中包括的對象0k,對于該對象0k,d(0k ;0j)為最小。在96,選擇出新的節(jié)點(diǎn)N,其為對象Ok的子樹的根節(jié)點(diǎn)。訪問該節(jié)點(diǎn)N。在97,確定出節(jié)點(diǎn)N是否是葉節(jié)點(diǎn)。如果該節(jié)點(diǎn)N不是葉節(jié)點(diǎn),則該方法返回94。否則,該方法在98繼續(xù)。在98,確定出在插入對象之后節(jié)點(diǎn)N的大小是否將超過閾值,該閾值對應(yīng)于所允許的節(jié)點(diǎn)的最大條目個(gè)數(shù)。如果確定出不會超過所允許的最大條目個(gè)數(shù),則在99將對象Oi插入該節(jié)點(diǎn)。然后該方法返回91。如果在98確定出,節(jié)點(diǎn)N已經(jīng)具有允許的最大條目個(gè)數(shù),則該方法在99繼續(xù)。在99,節(jié)點(diǎn)N被分裂成ー對節(jié)點(diǎn)。通過分裂節(jié)點(diǎn)N,生成兩個(gè)新的葉節(jié)點(diǎn)。同時(shí),生成目錄節(jié)點(diǎn),其包括具有指向這兩個(gè)新的葉節(jié)點(diǎn)的指針的兩個(gè)對象。對象Oi可被插入這兩個(gè)新葉節(jié)點(diǎn)中的ー個(gè),或者被插入新的目錄節(jié)點(diǎn)。然后該方法返回91。圖11和圖12說明了,在達(dá)到在節(jié)點(diǎn)中所允許的最大條目個(gè)數(shù)時(shí)葉節(jié)點(diǎn)的分裂。圖11示出了索引結(jié)構(gòu)110,其包括具有對象A和B的目錄節(jié)點(diǎn)11、具有對象C、D、G的葉節(jié)點(diǎn)112,以及具有對象E和F的另ー個(gè)葉節(jié)點(diǎn)113。假設(shè)插入新的對象I,對于該對象I,d(A ;I) < d(B ;1),則方法90確定該對象將要被插入從節(jié)點(diǎn)A開始可到達(dá)的葉節(jié)點(diǎn)。如果對于節(jié)點(diǎn)所準(zhǔn)許的條目最大數(shù)量對應(yīng)于三個(gè)對象,則不能將對象簡單地插入節(jié)點(diǎn)112。在這種情況下,節(jié)點(diǎn)112分裂。圖12示出了節(jié)點(diǎn)112分裂之后的索引結(jié)構(gòu)110。生成了兩個(gè)新的葉節(jié)點(diǎn)115和116。進(jìn)ー步地,生成新的目錄節(jié)點(diǎn)114。在葉節(jié)點(diǎn)112中包括的對象C和D被晉升為目錄節(jié)點(diǎn)中的對象。在M樹術(shù)語中,對象C和D被晉升為路線設(shè)定(routing)對象。對象G被添加到以對象C作為父對象的葉節(jié)點(diǎn)115。對象I被添加到以對象D作為父對象的葉節(jié)點(diǎn)116。當(dāng)在方法90的步驟100處節(jié)點(diǎn)被分裂時(shí),可使用不同的技木,以選擇出被晉升為目錄節(jié)點(diǎn)的對象。例如,對于M樹,可使用以下實(shí)現(xiàn)在一種實(shí)現(xiàn)中,可隨機(jī)選擇出被晉升到目錄節(jié)點(diǎn)的對象。在另ー種實(shí)現(xiàn)中,對被晉升到目錄節(jié)點(diǎn)的多對對象進(jìn)行取樣。對于多個(gè)對中的任意ー對,在該節(jié)點(diǎn)中包括的另一對對象被分割成兩個(gè)新的葉節(jié)點(diǎn)??蓪ο蠓峙浣o新的葉節(jié)點(diǎn)中的ー個(gè),對于該葉節(jié)點(diǎn),該對象和該葉節(jié)點(diǎn)的父對象之間的距離較小。當(dāng)完成分割時(shí),確定出得到的覆蓋半徑。該覆蓋半徑依據(jù)等式(5)來確定。對于被晉升到目錄節(jié)點(diǎn)的不同對對象,得到不同的覆蓋半徑。然后可分裂該節(jié)點(diǎn),使得經(jīng)取樣的對象對中的一對被添加到目錄節(jié)點(diǎn),對于該對象對,兩個(gè)覆蓋半徑的最大值具有經(jīng)取樣的被晉升的對象對當(dāng)中的最小值。在另ー種實(shí)現(xiàn)中,對在該節(jié)點(diǎn)中包括并且原則上可被添加到目錄節(jié)點(diǎn)中的所有可能的對象對O1和O2進(jìn)行取樣。在分裂前的節(jié)點(diǎn)中包括的另ー對對象被分割,如上所述。即,這些對象可被分配給新的葉節(jié)點(diǎn)中的ー個(gè),對于該節(jié)點(diǎn),該對象和該葉節(jié)點(diǎn)的父對象之間 的距離較小。對于可能的對象對中的任意ー對,確定出覆蓋半徑T(O1Hr(O2)的求和值。然后,導(dǎo)致覆蓋半徑的求和值最小的對象對可被添加到目錄節(jié)點(diǎn)中。其它對象可分別被分配給新的葉節(jié)點(diǎn)中的ー個(gè),對于該節(jié)點(diǎn),該對象和該葉節(jié)點(diǎn)的父對象之間的距離較小。在另ー種實(shí)現(xiàn)中,對在該節(jié)點(diǎn)中包括的并且原則上可被添加到目錄節(jié)點(diǎn)的所有對可能的對象O1和O2進(jìn)行取樣。在該節(jié)點(diǎn)中包括的其它對象在分裂之前如上所述地被分割。即,這些對象可被分配給新的葉節(jié)點(diǎn)中的ー個(gè),對于該葉節(jié)點(diǎn),該對象和該葉節(jié)點(diǎn)的父對象之間的距離較小。對于要被晉升的可能的對象對中的任意ー對,確定出兩個(gè)覆蓋半徑之中的最大值max (!"(O1),r (O2))。然后,使得覆蓋半徑的最大值最小的對象對可被添加到目錄節(jié)點(diǎn)中。其它對象可被分別地分配給新的葉節(jié)點(diǎn)中的ー個(gè),對于該葉節(jié)點(diǎn),該對象和該葉節(jié)點(diǎn)的父對象之間的距離相應(yīng)地較小。在另ー種實(shí)現(xiàn)中,確定出在葉節(jié)點(diǎn)中距要被插入的對象具有最大距離d(0k ;0,)的對象0k。然后該對象Ok和新的對象Oi可被晉升到目錄節(jié)點(diǎn)。其它對象可分別被分配到新的葉節(jié)點(diǎn)中的ー個(gè)中,對于該葉節(jié)點(diǎn),該對象和該葉節(jié)點(diǎn)的父對象之間的距離較小。雖然以上參考圖10至圖12已經(jīng)描述了生成被配置成M樹的索引結(jié)構(gòu)的方法,但是在其它實(shí)施例中可使用其它度量索引結(jié)構(gòu)和用于構(gòu)建相同方式的方法。例如,可使用優(yōu)勢點(diǎn)樹(,vantage-point tree) 雖然已經(jīng)詳細(xì)描述了依據(jù)實(shí)施例的設(shè)備和方法,但是在其它實(shí)施例中可實(shí)現(xiàn)變形。例如,雖然諸如覆蓋半徑或父對象和子對象之間距離的距離信息可被存儲在索引數(shù)據(jù)中,但是這樣的數(shù)據(jù)也可在運(yùn)行時(shí)被計(jì)算出來。為了進(jìn)ー步說明,雖然已經(jīng)解釋了索引樹和它們的節(jié)點(diǎn)的示范性結(jié)構(gòu),但是任意適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)可被用于實(shí)現(xiàn)該索引樹。例如,在相關(guān)數(shù)據(jù)庫中該索引樹可被存儲成用戶定義的索引結(jié)構(gòu)。在這種情況下,可提供表格,其包括文本字符串或音位字符串。可提供另一表格,其包括文本字符串對或音位字符串對之間的距離。為了進(jìn)ー步說明,雖然使用諸如“在該索引結(jié)構(gòu)中的對象”這樣的措辭已經(jīng)描述了索引結(jié)構(gòu),但是像這樣的對象并不需要被結(jié)合到索引結(jié)構(gòu)中。相反,該索引結(jié)構(gòu)可包括指向該對象的標(biāo)識符或指針,而不是該對象本身。為了進(jìn)ー步說明,雖然在對位于距查詢對象固定捜索半徑內(nèi)的對象的捜索的上下文中,或者在對k個(gè)最接近的鄰居的捜索的上下文中已經(jīng)描述了相似性捜索,但是也可使用度量索引結(jié)構(gòu)實(shí)現(xiàn)其它的相似性捜索。雖然在特定距離度量或特定應(yīng)用的上下文中已經(jīng) 描述了ー些搜索,諸如,對音位或文本字符串的捜索,但是本發(fā)明的實(shí)施例并不限于此。本發(fā)明的實(shí)施例可被用于車輛導(dǎo)航設(shè)備中。
權(quán)利要求
1.ー種使用索引結(jié)構(gòu)(10 ;70)在導(dǎo)航設(shè)備數(shù)據(jù)庫中執(zhí)行相似性捜索的方法,所述數(shù)據(jù)庫包括多個(gè)對象,所述索引結(jié)構(gòu)(10 ;70)包括多個(gè)節(jié)點(diǎn)(11-17 ;71-75), 所述方法包括 接收查詢對象(51), 訪問所述索引結(jié)構(gòu)(10;70)的節(jié)點(diǎn)(11-13 ;71-73),所述節(jié)點(diǎn)與所述多個(gè)對象中的至少ー個(gè)對象(52,55,59,60)相關(guān)聯(lián), 對于與所述節(jié)點(diǎn)(11-13 ;71-73)相關(guān)聯(lián)的所述至少一個(gè)對象(52,55,59,60)中的每個(gè)對象,分別確定所述查詢對象(51)和所述對象之間的距離(65,66),所述距離(65,66)按照距離度量被分別確定,以及 基于所確定的距離(65,66),選擇性地訪問所述索引結(jié)構(gòu)(10;70)中的另ー個(gè)節(jié)點(diǎn)(12-17 ;72-75)。
2.如權(quán)利要求I所述的方法, 其中所述查詢對象(51)為音位字符串或文本字符串。
3.如權(quán)利要求2所述的方法, 其中所述接收所述查詢對象(51)包括接收文本輸入和執(zhí)行文本到音位的轉(zhuǎn)換。
4.如權(quán)利要求I所述的方法, 所述索引結(jié)構(gòu)(10 ;70)進(jìn)ー步包括關(guān)于所述至少一個(gè)對象(52,55,59,60)和所述索引結(jié)構(gòu)(10 ;70)中的其它對象之間距離的距離信息, 基于所述距離信息和所確定的距離(65 ;66),選擇性地訪問所述其它節(jié)點(diǎn)(12-17;.72-75)。
5.如權(quán)利要求4所述的方法, 所述節(jié)點(diǎn)(11-13 ;71-73)與若干個(gè)對象(52,55)相關(guān)聯(lián), 對于所述若干個(gè)對象(52,55)中的每ー個(gè),所述距離信息包括,相應(yīng)的對象(52,55)和與所述相應(yīng)的對象(52 ;55)相關(guān)聯(lián)的所述索引結(jié)構(gòu)(10 ;70)的子樹中包括的任意對象(59-64)之間的距離的上界(53, 56) ο
6.如權(quán)利要求4所述的方法, 其中所述查詢對象(51)為音位字符串或文本字符串,并且 其中所述接收所述查詢對象(51)包括接收文本輸入和執(zhí)行文本到音位的轉(zhuǎn)換。
7.如權(quán)利要求I至6中的任一項(xiàng)所述的方法, 其中,基于所確定的距離¢5 ;66),從所述相似性捜索中選擇性地剪除對象。
8.如權(quán)利要求I至6中的任一項(xiàng)所述的方法, 其中,所述確定距離出5;66)和選擇性地訪問另ー節(jié)點(diǎn)(12-17 ;72-75),在其它節(jié)點(diǎn)(12-17 ;72-75)是所述索引結(jié)構(gòu)(10 ;70)的葉節(jié)點(diǎn)(14-17 ;74,75)時(shí)終止。
9.如權(quán)利要求I至6中的任一項(xiàng)所述的方法, 其中,識別出根據(jù)所述距離度量確定的位于距所述查詢對象(51)預(yù)定的距離(58)內(nèi)的所有對象。
10.如權(quán)利要求I至6中的任一項(xiàng)所述的方法, 其中,識別出整數(shù)k> I個(gè)對象,其代表根據(jù)所述距離度量確定的所述查詢對象(51)的k個(gè)最接近鄰居。
11.如權(quán)利要求10所述的方法, 其中,以基于所述查詢對象(51)和相應(yīng)的被識別的對象之間的距離所確定的順序,輸出所述被識別的對象。
12.—種導(dǎo)航設(shè)備,包括 存儲設(shè)備(3),其存儲用于包括多個(gè)對象的數(shù)據(jù)庫的索引結(jié)構(gòu)(10;70),所述索引結(jié)構(gòu)(10 ;70)包括多個(gè)節(jié)點(diǎn)(11-17 ;71-75);以及 處理設(shè)備(2),其被耦接到所述存儲設(shè)備(3),所述處理設(shè)備(2)被配置成執(zhí)行以下步驟,以執(zhí)行對查詢對象(51)的相似性搜索, 訪問與所述多個(gè)對象中的至少ー個(gè)對象(52,55,59,60)相關(guān)聯(lián)的所述索引結(jié)構(gòu)(10;70)的節(jié)點(diǎn)(11-13 ;71-73), 根據(jù)距離度量,確定所述查詢對象(51)和所述至少一個(gè)對象(52,55,59,60)之間的距離(65,66),以及 基于所確定的距離(65 ;66),選擇性地訪問所述索引結(jié)構(gòu)(10;70)的另ー個(gè)節(jié)點(diǎn)(12-17 ;72-75)。
13.如權(quán)利要求12所述的導(dǎo)航設(shè)備, 其中,所述處理設(shè)備(2)被配置成執(zhí)行權(quán)利要求I至6中的任一項(xiàng)所述的方法。
14.ー種生成用于導(dǎo)航設(shè)備數(shù)據(jù)庫的度量索引結(jié)構(gòu)(10;70;110)的方法,所述導(dǎo)航設(shè)備數(shù)據(jù)庫包括多個(gè)對象,所述方法包括生成所述索引結(jié)構(gòu)的目錄節(jié)點(diǎn)(11-13 ;71-73 ;111,114)和生成所述索引結(jié)構(gòu)的葉節(jié)點(diǎn)(14-17 ;74,75 ; 113,115,116),所述目錄節(jié)點(diǎn)包括指向所述索引結(jié)構(gòu)(10 ;70 ;110)的其它節(jié)點(diǎn)的指針。
其中,所述生成目錄節(jié)點(diǎn)(11-13 ;71-73 ;111,114)和葉節(jié)點(diǎn)(14-17 ;74,75 ;113,115,116)包括 對于多對所述對象,分別確定所述對象對的對象之間的距離,從而確定多個(gè)距離,所述距離是根據(jù)距離度量分別確定的,以及 基于所述多個(gè)距離,識別出將被包括在目錄節(jié)點(diǎn)(11-13 ;71-73 ;111,114)中的對象,和將被包括在葉節(jié)點(diǎn)(14-17 ;74 ;75 ;113,115,116)中的對象。
15.如權(quán)利要求14所述的方法, 其中,所述對象為音位字符串或文本字符串。
16.如權(quán)利要求14或15所述的方法,包括 將從所述多個(gè)距離中得出的距離信息存儲在所述目錄節(jié)點(diǎn)和/或葉節(jié)點(diǎn)中。
全文摘要
本發(fā)明提供了一種在導(dǎo)航設(shè)備數(shù)據(jù)庫中執(zhí)行相似性搜索的方法,其使用了度量索引結(jié)構(gòu)。該索引結(jié)構(gòu)包括多個(gè)節(jié)點(diǎn)。當(dāng)接收到查詢對象(51)時(shí),訪問與至少一個(gè)對象(52,55,59,60)相關(guān)聯(lián)的索引結(jié)構(gòu)的節(jié)點(diǎn)。按照距離度量確定查詢對象(51)和至少一個(gè)對象(52,55,59,60)之間的距離(65,66)?;谒_定的距離,選擇性地訪問該索引結(jié)構(gòu)中的另一個(gè)節(jié)點(diǎn)。
文檔編號G06F17/30GK102693266SQ20121004314
公開日2012年9月26日 申請日期2012年2月23日 優(yōu)先權(quán)日2011年2月23日
發(fā)明者A.普里雅克欣, J.威爾舍, P.庫納斯 申請人:哈曼貝克自動系統(tǒng)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
乐东| 上虞市| 中江县| 英吉沙县| 乐东| 浦北县| 云梦县| 卢湾区| 澄城县| 陈巴尔虎旗| 武夷山市| 馆陶县| 奇台县| 桦川县| 台前县| 郓城县| 武隆县| 兴业县| 文水县| 若羌县| 长阳| 义马市| 怀远县| 北京市| 叙永县| 石城县| 遵义县| 都江堰市| 刚察县| 沧州市| 彭泽县| 莱阳市| 金平| 铜梁县| 浦东新区| 锡林郭勒盟| 积石山| 开江县| 固原市| 土默特左旗| 辽宁省|