專利名稱:具有搜索相似特性字詞能力的資料查詢方法及搜索引擎服務器的制作方法
技術領域:
本發(fā)明涉及一種資料查詢方法及系統(tǒng),特別是涉及一種允許輸入的 查詢條件或資料庫的內(nèi)容有誤的具有搜索相似特性字詞能力的資料查詢 方法及系統(tǒng)。
背景技術:
隨著科技發(fā)展,人們已習慣利用各種搜索引擎來查詢包含特定內(nèi)容
的資料。以因特網(wǎng)來說,著名的搜索引擎例如Google、 Yahoo,使用者需 輸入關鍵詞當作查詢條件;另有例如酷比(Scupio)搜索引擎,查詢條件 除了關鍵詞的外,還可以是整篇或段落文章。前述查詢條件,通常是由 使用者以鍵盤鍵入的方式輸入,或由網(wǎng)頁文章進行選取,但也可能通過 手寫辨識裝置輸入查詢條件,或通過光學字符辨識(Optical Character Recognition, OCR)技術將紙本轉(zhuǎn)換得到的數(shù)字文字資料。再以語音查 詢搜索引擎來說,使用者輸入查詢條件的方式更有別于前者,是利用例 如電話語音的方式輸入。
然而,不論是鍵入關鍵詞,或手寫辨識、光學字符辨識、語音辨識 技術,都難以確保百分之百的正確率,實際上常會發(fā)生鍵入相似形狀或 發(fā)音的字或詞,或辨識成相似形狀或發(fā)音的字或詞的狀況。舉例來i兌, 使用者欲查詢"遠東飯店",若以倉頡輸入法打字或通過光學字符辨識, 輸入條件可能會變成形狀相似的"""還柬飯店",因為"遠"與"還", 以及"東,,與"柬,,形狀非常相似;若以注音輸入法打字或通過語音辨 識,可能會變成"元通飯店",因為"遠"與"元",以及"東"與"通" 在發(fā)音上非常相似。
以目前技術來說,當所輸入的查詢條件因為打錯字或辨識錯誤而與 使用者想查詢的內(nèi)容有所出入,搜索引擎將無法查詢到所需要的資料。另一方面,也有可能使用者所輸入的查詢條件是正確的,但搜索引 擎所連接的資料庫中資料內(nèi)容有錯別字,甚至有些資料因為翻譯、口傳, 或存在別名的原因,以致有不同的文字形態(tài),例如"遠東飯店,,也常被 稱"遠東大飯店,,,在此情況下,搜索引擎也可能查詢不到所需要的資料。
為解決上述問題,目前大多是著重于提高光學字符辨識及語音辨識 技術的辨識正確率,但即便辨識正確率可利用校正方式而稍微提高,但 輸入關鍵詞時打錯字、資料庫本身存在錯別字缺陷,或者所查詢的名稱 有別名等狀況,仍無法克服。
發(fā)明內(nèi)容
本發(fā)明的目的是在提供一種具有搜索相似特性字詞能力的資料查詢 方法及搜索引擎服務器。
于是,本發(fā)明搜索引擎服務器包含一利用文字特性擴大查詢范圍的 系統(tǒng),及一與利用文字特性擴大查詢范圍的系統(tǒng)連接的搜索單元。搜索 單元還與一資料庫連接。
利用文字特性擴大查詢范圍的系統(tǒng)包括一供接收一查詢條件的接收 模塊、 一與接收模塊連接且供擷取查詢條件中的字的擷取模塊、至少一 與該擷取才莫塊連接且將纟皮擷取的字進行編碼后存回該擷取才莫塊的編碼 器、 一與該擷取模塊連接且內(nèi)建一相似字表的對比模塊,及一與該擷取 模塊及該對比模塊連接的替換模塊。
前述編碼器所采編碼方式與文字的一種特性相關。對比模塊的相似 字表上列舉具有有相似特性的字,所述具有相似特性的字事先以該至少 一編碼器編碼處理過,對比模塊將被擷取的字的字碼與該相似字表對比, 得到對比結(jié)果為相似的字。替換模塊以對比模塊所得到的相似字對該查 詢條件中的對應字進行替換,得到至少一個"相似查詢條件"。搜索單 元則依據(jù)"查詢條件"與"相似查詢條件"在該資料庫中進行搜索,并 將符合查詢條件與該相似查詢條件的資料輸出。
本發(fā)明的搜索引擎服務器執(zhí)行具有搜索相似特性字詞能力的資料查
6詢方法,包含以下步驟
(A) 接收一查詢條件。
(B) 擷取查詢條件中的字和/或詞,對應地組成一字組和/或詞組或 字詞組,以下簡稱字詞組。
(C) 針對該字詞組中的字和/或詞,依其至少一特性以與該特性相 關的編碼方式進4于編碼,產(chǎn)生對應的字碼和/或詞碼。
(D )使每一字碼和/或詞碼與一事前建立的相似字詞表進行對比, 其中,該相似字詞表上列舉具有有相似特性的字、詞其中至少一個,并 以與步驟(c)所采相同的編碼方式進行過編碼處理。
(E) 以對比結(jié)果為相似的字和/或詞對該查詢條件中的對應字和/或 詞進行替換,得到至少一個"相似查詢條件",定義該查詢條件與該相 似查詢條件總稱為"擴大查詢條件"。
(F) 依據(jù)該"擴大查詢條件",在一資料庫中進行搜索,將符合"擴 大查詢條件"的資料輸出。
本發(fā)明的有益效果在于可在不校正輸入的查詢條件以及資料庫內(nèi) 容的情況下,依據(jù)查詢條件的字或詞的形、音等文字特性,查詢到所需 要的資料。
圖l是一方框圖,說明本發(fā)明搜索引擎服務器的優(yōu)選實施例; 圖2是一流程圖,說明該搜索引擎服務器的演算流程。
具有體實施方式
下面結(jié)合附圖及實施例對本發(fā)明進行詳細說明
參閱圖1,本發(fā)明搜索引擎服務器100的優(yōu)選實施例包含一利用文字 特性擴大查詢范圍的系統(tǒng)1、及一與該系統(tǒng)1及一資料庫4連接的搜索單 元2。該利用文字特性擴大查詢范圍的系統(tǒng)1也可獨立安裝至其它現(xiàn)有的 搜索引擎,使現(xiàn)有搜索引擎也能具有有搜索相似特性的字詞的能力。
該系統(tǒng)1則包括一供接收一查詢條件30的接收模塊11 、 一與接收模塊11連接且用以擷取查詢條件30中的字及詞而產(chǎn)生字詞組的擷取模塊 12、與擷取模塊12連接且用以對字及詞進行編碼的一形編碼器131與一 音編碼器132、 一與擷取模塊12連接且內(nèi)建一相似字詞表140的對比模 塊14、及彼此相互連接的一用以產(chǎn)生"相似查詢條件31"的替換模塊15、 與一用以產(chǎn)生"減字查詢條件32"的減字模塊16。
其中,本實施例的擷取模塊12是以擷取查詢條件30中的字及詞舉 例說明,對比模塊14中的"相似字詞表,,內(nèi)容包含字及詞,但不以此為 限。本發(fā)明的擷取模塊12也可以設定為只擷取字或只擷取詞;當擷取模 塊12設定為只擷取字,對比模塊14的相似字詞表140應縮減為"相似 字表";當擷取模塊12設定為只擷取詞,對比模塊14的相似字詞表140 應縮減為"相似詞表"。此外,雖本實施例的擷取模塊12是設定為擷取 字及詞,但若由該查詢條件30中擷取不出詞,也會有字詞組中只包含字 的情況。事實上,詞乃多個字所組成,原則上只要取字作后續(xù)運算即可 達到本發(fā)明的目的,但由于有些口語連音的關系,有些詞不容易被細分 出字,這狀況在網(wǎng)絡盛行的現(xiàn)代更加常見,因此以針對字及詞都進行擷 取較佳。
配合參閱圖2,該搜索引擎服務器100執(zhí)行本發(fā)明的具有搜索相似特 性字詞的能力的資料查詢方法,該方法的優(yōu)選實施例包含以下步驟
步驟Si—接收模塊11接收查詢條件30。該查詢條件30 —般來說是 使用者以鍵入方式輸入的關鍵詞,但也可以是通過選取、手寫辨識、光 學字符辨識、或語音輸入等方式輸入的關鍵詞、句子或文章段落。以下 以查詢條件30為"遠東飯店"舉例說明。
步驟S2—擷取;f莫塊12擷取查詢條件30 "遠東飯店"中的字及詞,組 成內(nèi)容為"遠東、飯店、遠、東、飯、店"的字詞組。
接著,字詞組分別利用形編碼器131及音編碼器132進行編碼步驟 S31、 S32,該兩個編碼步驟可同步進行,也可一先一后進行且順序不限。
步驟Sn—形編碼器131將字詞組中的每一字、每一詞依字形進行編 碼,而產(chǎn)生字形碼及詞形碼。本實施例以編碼方式為倉頡輸入法舉例說 明,因此例如"遠東,,的詞形碼為"卜土口女木田","遠,,的字形碼為
8"卜土口女",東的字形碼為"木田"。當然,編碼方式不以此為限,也可 以是五筆輸入法、四角號碼檢字法、大易、無蝦米、速成輸入法等任何 與字形相關的編碼方式。
步驟S32—音編碼器132將字詞組中的每一字、每一詞依發(fā)音進行編 碼,而產(chǎn)生字音碼及詞音碼。本實施例以編碼方式為羅馬拼音舉例說明, 因此例如"遠東,,的詞音碼為"yuandong","遠,,的字音碼為"yuan", "東"的字音碼為"dong"。當然,編碼方式不以此為限,也可以是注音、 通用拼音、漢語拼音等任何與發(fā)音相關的編碼方式。
上述字形碼、詞形碼、字音碼及詞音碼仍存于擷取^t塊12的字詞組 中,并由對比模塊14進行接續(xù)的步驟S41 、 S42與S43。對比模塊14中的 相似字詞表140上列舉具有有相似特性的字及詞,并已事先經(jīng)形編輯器 131以倉頡輸入法進行過編碼處理,產(chǎn)生"相似字詞形表,,,也經(jīng)音編輯 器132以羅馬拼音進行過編碼處理,產(chǎn)生"相似字詞音表"。
步驟S"—接續(xù)步驟S^將字詞組中的字形碼、詞形碼與"相似字詞 形表"進行對比,尋找形相似者, 一般來說,先比詞在比字,但不以此 為限。在本實施例,相似與否的判斷是利用量化的相似度,其計算方式 例如
1. "遠"的字形碼是"卜土口女",而相似字詞形表中的"還"的 字形碼是"卜田中女,,,則四碼中二碼,"還,,字與"遠,,字的相似度為 2/4 = 50%。
2. "東,,的字形碼是"木田,,,而相似字詞形表中的"柬,,的字形 碼是"木田火",則三碼中二碼,"柬,,字與"東,,字的形相似度為2/3 =67%。
步驟S42—接續(xù)步驟S32,將字詞組中的字音碼、詞音碼與"相似字詞 音表"進行對比,尋找發(fā)音相似者, 一般來說,先比詞在比字,但不以 此為限。在本實施例,相似與否的判斷是利用量化的相似度,其計算方 式例i口
1."遠"的字音碼是"yuan",而相似字詞音表中的"元"的字音 碼是"yuan",則四碼完全相同,"元,,字與"遠,,字的音相似度為4/4=100%。
2."東"的字音碼是"dong",而相似字詞音表中的"通"的字音 碼是"tong,,,則四碼中三碼,"通"字與"東"字的相似度為3/4 = 75% 。
本發(fā)明判斷是否相似的方式不以量化相似度為限,且即便計算相似 度,也不以上述計算公式為限,可以調(diào)整為其它計算公式。舉例來說, 若音編碼器132是采注音編碼,"遠"的字音碼是"U弓v","旋"的字 音碼是"丁U弓'","旋"字與"遠"字的音相似度可等于[2*2 (因為 重疊兩碼)]/[3 (遠有三碼)+4 (旋有四碼)]=4/7=57%。
步驟S"—對比模塊14預設一相似度的門檻值,例如50%,高于該 門檻值的字詞被判斷為相似,接著進行步驟S5,相等或低于該門檻值的 字詞,則被判斷為不相似,將不進行后續(xù)演算流程。因此,以上述例子 來說,"還"及"柬"的形相似度高于門檻值,"元"及"通"的音相似 度也高于門搵值。
值得一提的是,本發(fā)明也可以只針對字形或發(fā)音其中的單一種文字 特性去擴大查詢條件,也就是說,本發(fā)明可以只采形編碼器131、音編碼 器132其中一者進行編碼,只用一種對比方式,不一定形、音兩種編碼 及對比步驟都進行。
步驟Sn—替換模塊15將相似度高于門檻值的字及詞,對查詢條件 30 "遠東飯店"中的對應字及詞進行替換,得到例如"還東飯店"、"遠 柬飯店"、"元東飯店"、"遠通飯店"等"相似查詢條件31",同時計算得 分。分lt計算方式舉例如下,但不以此方式為限。
"還東飯店":(50%+100%+100%+100%)/4=87. 5% "遠柬飯店":(100%+67%+100%+100%)/4=91. 75% "元東飯店":(100%+100%+100%+100%)/4 = 100% "遠通飯店,,(100%+75%+100%+100%)/4=93. 75 % 步驟Ss2—替換模塊15接著判斷"相似查詢條件31"的分數(shù)是否高 于一預設的門檻值,在此的門檻值可與對比模塊14的相同,也可提高為 例如75%或降低,若高于該門檻值,則進入步驟Ss3—連同原查詢條件30定義為"擴大查詢條件33",若相等或低于該門檻值,則不列入計算。
步驟S"—減字模塊16預設有減字量,并將查詢條件30與相似查詢 條件31進行減字,得到"減字查詢條件32"并計算得分。舉例來說,減 字模塊16預設減字數(shù)量為一,則"遠柬飯店"經(jīng)過減字模塊16處理后,
得到"柬飯店"、"遠飯店"、"遠柬店"、"遠柬飯,,這四個"減字查詢條 件32"。減字查詢條件32的分數(shù)需以原分數(shù)乘上一權重,本例因四字減 一字,權重為3/4,因此該四個減字查詢條件32的分數(shù)皆為91.75% *3/4=68. 81%。
步驟S62—減字模塊16接著判斷"減字查詢條件32"的分數(shù)是否高 于一預設的門檻值,在此的門檻值可與替換模塊15的75%相同,也可稍 微降低或提高。若高于該門檻值,則進入步驟S63—并入"擴大查詢條件 33",若相等或低于該門檻值,則不列入計算。
步驟S7—搜索單元2設定"容許間隔距離d",在此以d=2舉例說明, 搜索單元2針對每一查詢條件30、相似查詢條件31、及減字查詢條件32 的字與字間插入空格,空格數(shù)n^d,得到"容許間隔的查詢條件",并并 入"擴大查詢條件33",再以該"擴大查詢條件33"在資料庫4中搜索 資料。
當然,該步驟的演算方式不以上述為限,原則是當查詢條件30、相 似查詢條件31或減字查詢條件32的字詞出現(xiàn)在資料庫4的一資料中但 出現(xiàn)的位置不同,只要字與字間的間隔距離在該設定的字符間隔距離d 的內(nèi),則該資料在下一步驟中將被認定為符合"擴大查詢條件"。
步驟Ss—搜索單元2在資料庫4中搜索符合"擴大查詢條件33"的 資料,并針對搜索到的資料計算得分。舉例來說,有一資料內(nèi)容出現(xiàn)"遠 柬大旅店",以查詢條件30 "遠東飯店"來說, 一般搜索引擎是不可能找 出該資料的,但本發(fā)明經(jīng)過替換模塊15以相似字形替換得到"遠柬飯店 (91.75%)",又經(jīng)過減字模塊16得到"遠柬店(68.81%)",且容許間 格距離,因此找到"遠柬大旅店,,的第一、二、五個字符合擴大查詢條 件一"遠柬店",分數(shù)可以是68. 81%*3/5 = 41.29%。
步驟S9—搜索單元2接著判斷該資料的分數(shù)是否高于一預設的門檻
ii值,在此的門檻值可與前述相同,但通常也可降低為例如40%,若高于 該門檻值,則進行輸出,若相等或低于該門檻值,則不輸出。輸出方式 可依得分作遞減排列,使最高分的資料出現(xiàn)在最前面,方便使用者選擇 分數(shù)高者。
由以上可知,若使用者輸入關4定詞時誤植錯別字、或光學字符辨識、 語音辨識有誤,甚或資料庫中的資料內(nèi)容有誤,對一般搜索引擎來說幾 乎不可能找回使用者真正想搜索的資料,但利用本發(fā)明的搜索引擎,依 然有機會找到該資料,且每一份輸出的資料包含得分,使用者可利用該 得分選擇要看的資料。綜上所述,本發(fā)明利用文字特性擴大查詢范圍的 方法,使資料搜索的條件可擴及形、音等文字特性與該條件相似者,借 此在不校正輸入的查詢條件以及資料庫內(nèi)容的情況下,使用者仍可查詢 到所需要的資料,確實可達到本發(fā)明的目的。
以上所述,^又為本發(fā)明的優(yōu)選實施例,不能以此限定本發(fā)明實施的 范圍,即凡依本發(fā)明申請專利范圍及發(fā)明說明內(nèi)容所作的簡單的等效變 化與修飾,仍屬本發(fā)明專利涵蓋的范圍。
權利要求
1.一種具有搜索相似特性字詞能力的資料查詢方法,其特征在于包含以下步驟(A)接收一查詢條件;(B)擷取該查詢條件中的字、詞其中至少一個,組成一字詞組;(C)針對該字詞組中的字詞,依其至少一特性以與所述特性相關的編碼方式進行編碼,產(chǎn)生對應的字碼、詞碼;(D)使每一字碼、詞碼與一事前建立的相似字詞表進行對比,所述相似字詞表上列舉具有相似特性的字、詞其中至少一個,并以與步驟(C)所采相同的編碼方式進行過編碼處理;(E)以對比結(jié)果為相似的字詞對所述查詢條件中的對應字詞進行替換,得到至少一個“相似查詢條件”,定義所述查詢條件與所述相似查詢條件總稱為“擴大查詢條件”;及(F)依據(jù)所述“擴大查詢條件”,在一資料庫中進行搜索,將符合“擴大查詢條件”的資料輸出。
2. 根據(jù)權利要求1所述的具有搜索相似特性字詞能力的資料查詢方法,其特;f正在于所述步驟(C)是依字形、字音其中至少一特性,對字詞進4于編;馬。
3. 根據(jù)權利要求1所述的具有搜索相似特性字詞能力的資料查詢方法,其特征在于所述步驟(D)所作的對比結(jié)果以量化的相似度表示;所述相似度與碼的相同率相關;所述步驟(E)只有相似度達一門檻值的字詞才對所述查詢條件中的對應字詞進行替換。
4. 根據(jù)權利要求1 3中任一項所述的具有搜索相似特性字詞能力的資料查詢方法,其特征在于所述步驟(D)所作的對比結(jié)果以量化的相似度表示;所述步驟(E)還利用所述相似度對所述"相似查詢條件"計算分數(shù),只有達一門檻值的相似查詢條件,才并入"擴大查詢條件"。
5. 根據(jù)權利要求4所述的具有搜索相似特性字詞能力的資料查詢方法,其特征在于所述方法還包含一步驟(F)前的步驟(G),設定減字量,并針對所述查詢條件及"相似查詢條件"進行減字,得到"減字查詢條件"并并入所述"擴大查詢條件"。
6. 根據(jù)權利要求1 3中任一項所述的具有搜索相似特性字詞能力的資料查詢方法,其特征在于所述步驟(F)還設定"容許間隔距離",若所述"擴大查詢條件"的字詞出現(xiàn)在所述資料庫的一資料中但出現(xiàn)的位置不同,但字與字間的間隔距離在所述設定的字符間隔距離的內(nèi),則所述資料被認定為符合所述擴大查詢條件。
7. 根據(jù)權利要求4所述的具有搜索相似特性字詞能力的資料查詢方法,其特征在于所述步驟(F)還設定"容許間隔距離",若所述"擴大查詢條件"的字詞出現(xiàn)在所述資料庫的一資料中但出現(xiàn)的位置不同,但字與字間的間隔距離在所述設定的字符間隔距離的內(nèi),則所述資料被認定為符合所述擴大查詢條件。
8. —種搜索引擎服務器,與一資料庫連接,其特征在于所述服務器包含一利用文字特性擴大查詢范圍的系統(tǒng),所述系統(tǒng)包括一接收模塊,供接收一查詢條件,一擷取模塊,與所述接收模塊連接,供擷取所述查詢條件中的字,至少一編碼器,與所述擷取模塊連接,將被擷取的字進行編碼后存回所述擷取模塊,每一編碼器所采編碼方式與文字的一種特性相關,一對比模塊,與所述擷取模塊連接,內(nèi)建一相似字表,所述相似字表上列舉具有有相似特性的字,所述具有相似特性的字事先以所述至少一編碼器編碼處理過,所述對比模塊將所述被擷取的字的字碼與所述相似字表對比,得到對比結(jié)果為相似的字,及一替換模塊,與所述擷取模塊及所述對比模塊連接,以所述對比模塊所得到的相似字對所述查詢條件中的對應字進行替換,得到至少一個"相似查詢條件";及一搜索單元,與所述利用文字特性擴大查詢范圍的系統(tǒng)以及所述資料庫連接,依據(jù)所述查詢條件與所述相似查詢條件在所述資料庫中進行搜索,并將符合查詢條件與所述相似查詢條件的資料輸出。
9. 根據(jù)權利要求8所述的搜索引擎服務器,其特征在于所述擷取模塊將所擷取的字依字形及字音其中至少一者進行編碼,獲得對應的字形碼及字音碼其中至少 一個;所述相似字表上對應列舉字形相似的字及發(fā)音相似的字其中至少一個。
10. 根據(jù)權利要求9所述的搜索引擎服務器,其特征在于所述擷取模塊還擷取所述查詢條件中的詞,并將所述詞依字形及字音其中至少一者進行編碼,獲得對應的詞形碼及字音碼其中至少一個;所述相似字表擴張為相似字詞表,其中對應列舉字形相似的字及詞、發(fā)音相似的字及詞其中至少一個。
11. 根據(jù)權利要求8-10中任一項所述的搜索引擎服務器,其特征在于所述對比模塊將對比結(jié)果量化為一相似度,當所述相似度高于一門檻值,則所述替換模塊進行替換。
12. 根據(jù)權利要求11所述的搜索引擎服務器,其特征在于所述替換模塊還針對所得到的"相似查詢條件"利用所述相似度計算分數(shù),只有分數(shù)達一門檻值的相似查詢條件,才并入"擴大查詢條件"。
13. 根據(jù)權利要求8-10中任一項所述的搜索引擎服務器,其特征在于還包含一減字模塊,將所述查詢條件與所述相似查詢條件進行減字,得到"減字查詢條件"并并入所述"擴大查詢條件"。
14. 根據(jù)權利要求8-10中任一項所述的搜索引擎服務器,其特征在于所述搜索單元設定一 "容許間隔距離d",并在每一查詢條件及相似查詢條件的字與字間插入空格,空格數(shù)n^d,得到"容許間隔的查詢條件",并并入所述"擴大查詢條件"。
15. 根據(jù)權利要求13所述的搜索引擎服務器,其特征在于所述搜索單元設定一 "容許間隔距離d",在每一查詢條件、相似查詢條件及減字查詢條件的字與字間插入空格,空格數(shù)n^d,得到"容許間隔的查詢條件",并并入所述"擴大查詢條件"。
全文摘要
一種具有搜索相似特性字詞能力的資料查詢方法,包含接收查詢條件;擷取該查詢條件中的字及詞,組成一字詞組;針對該字詞組中的字詞,依其至少一特性編碼,產(chǎn)生對應的字碼及詞碼;使字碼、詞碼與一事前建立的相似字詞表進行對比,其中,該相似字詞表上列舉具有相似特性的字詞,并進行過編碼處理;以對比結(jié)果為相似的字詞對該查詢條件中的對應字詞進行替換,得到至少一個相似查詢條件,連同查詢條件形成擴大查詢條件;及依據(jù)擴大查詢條件,在資料庫中進行搜索后輸出。借本發(fā)明,即便查詢條件或資料庫的內(nèi)容有誤,仍可能查詢得到所需資料。
文檔編號G06F17/30GK101645068SQ20081013428
公開日2010年2月10日 申請日期2008年8月4日 優(yōu)先權日2008年8月4日
發(fā)明者楊立偉 申請人:龍卷風科技股份有限公司