新四季網

一種用於中文字符串匹配的位向量方法

2023-06-19 18:06:06

專利名稱:一種用於中文字符串匹配的位向量方法
技術領域:
本發明涉及一種用於字符串匹配的位向量方法。
背景技術:
模糊字符串匹配在入侵檢測、移動短消息過濾、文本編輯、信息查詢、自動索引、計算生物學、信息提取等領域均有重要應用,已經成為計算機算法設計的一個重要課題。它解決的問題是給定一個字符串,一個模式串,要找出字符串中所有與模式串相似的部分。
解決模糊字符串匹配的經典方法是一種基於生成動態矩陣的方法,自從1980年P.Sellers發表該方法以來,許多人對之進行了改進。這些改進當中,有一種非常有效的方法就是位向量方法。
當今計算機中,整數字長一般為32或64,因此,可將32或64次的比特運算用一次整數運算來完成,從而將運算速度提高32或64倍。位向量方法正是利用了這一點,在模式串長度小於整數字長的情況下,提高了字符串匹配的性能。
現有位向量方法位向量方法適用於,它用到一個與字符集等長的整數數組,這樣每個字符都有一個整數與之相對應。位向量方法的描述如下1)將漢字用兩個字節來表示;2)把這兩個字節合起來作為一個16比特的大整數來處理,所以,每個漢字都對應一個大整數,對應所有漢字的整數構成一個數組;3)將該數組所有整數清為0;4)從頭到尾掃描整個模式串,對其中的每個字符,做如下操作設該字符在模式串中所處位置為p,將該字符對應的整數的第p個比特置1;5)用正在處理字符串中的字符在整數數組中對應的整數進行匹配。
漢字都是用兩個字節表示的。在GB2312中,對每個漢字對應的兩個字節做了明確規定。比如,「陳晨的爸爸」所包含的4個漢字對應的兩個字節分別是(以下是16進位)陳B3 C2晨B3 BF的B5 C4爸B0 D6所以,「陳晨的爸爸」在計算機中就是B3 C2 B3 BF B5 C4 B0 D6 B0 D6
現有位向量方法把這兩個字節合起來作為一個16比特的大整數(0~65535)來處理,所以,每個漢字都對應一個大整數,比如「陳」=B3C2=46018「晨」=B3BF=46015「的」=B5C4=46532「爸」=B0D6=45270這樣,要把中文字符串轉化成位向量,就需要長達65536的一個數組M。
因為需要一個和字符集等長的整數數組,而漢字有10000多個,因此,當應用於中文字符匹配時,需要10000整數的空間。如果整數由4個字節組成,則需要40K字節的空間。
在國外,由於拉丁文屬於小字符集,這個問題不明顯。但若考慮的是中文字符串的匹配,因漢字多於1萬個,所需空間也在40K字節以上,這個問題顯得比較突出。

發明內容
本發明要解決的技術問題是為了克服了現有位向量方法在應用於中文時需要大量空間的缺點,提出了一種新的位向量方法。
在計算機中,一個漢字用兩個字節來表示,在本文中稱為低字節和高字節。本方法用到兩個長為256的整數數組,稱為低字節數組和高字節數組。這樣,每個漢字的低字節都和低字節數組中的一個整數對應,高字節也和高字節數組中的一個整數對應。
本發明的新位向量方法為,對在計算機中用兩個字節表示的漢字(1)將兩個字節分別對應一個高字節整數和一個低字節整數進行處理,所有漢字對應的高字節整數和低字節整數分別構成一個高字節數組和低字節數組;(2)將低字節數組和高字節數組中的所有整數全部清為0;(3)從頭到尾掃描整個中文模式串,對其中的每個漢字做如下操作,設某漢字在中文模式串中所處位置為p,則首先,將該漢字的低字節對應的低字節數組中的整數的第p比特置1;其次,將該漢字的高字節對應的高字節數組中的整數的第p比特置1;(4)用正在處理字符串中的字符在兩個整數數組中對應的整數進行匹配。
本位向量方法只需要兩個長為256的整數數組,如果整數是4個字節,共需2K字節空間,是原有位向量方法的5%。
與原有位向量方法相比,由於採取了將漢字的兩個字節分別處理的技術措施,大大減少了所需的空間。


圖1為本發明中的對字符串處理的流程圖;
圖2是字符串「陳晨的爸爸」經原有位向量方法處理後對應的整數數組。
圖3是字符串「陳晨的爸爸」經本發明的位向量方法處理後對應的兩個整數數組。
具體實施例方式
在本發明中,把漢字作為兩個小整數(0~255)來處理。一個漢字對應一個高字節整數、一個低字節整數。以「陳晨的爸爸」為例「陳」高字節整數=B3=179,低字節整數C2=194「晨」高字節整數=B3=179,低字節整數BF=191「的」高字節整數=B5=181,低字節整數C4=196「爸」高字節整數=B0=176,低字節整數D6=214這樣,要把中文字符串轉化成位向量,只需要兩個長為256的數組HM、LM(見圖3)。
設有中文字符串p,和兩個長為256的整數數組LM,HM。本位向量方法可以這樣實現  NewPreprocess(p,LM,HM)  Begin   For i=1 to 256 Do   Begin  LM[i]=0;  HM[i]=0;   End   For i=1 to m Do   Begin  LM[low(pi)](i)=1;  HM[high(pi)](i)=1;   End  End其中,low(pi)表示p中第i個字符的低位字節。
圖2給出了字符串「陳晨的爸爸」經原有位向量方法處理的結果。
圖3中給出了字符串「陳晨的爸爸」經本位向量方法處理的結果。可以看到,「陳」對應的兩個整數的與為「00011」「00001」=」00001」。即「陳」在計算機中為「B3C2」,用本發明的位向量方法處理後,高字節B3對應「00011」,低字節C2對應「00001」,這兩個數進行逐位與操作,得到「00001」。而「00001」就是「陳」用現有技術中的位向量方法處理後得到的結果。二者結果一致。
同樣地,
「晨」對應的是「00011」「00010」=「00010」。
「的」對應的是「00100」「00100」=「00100」。
「爸」對應的是「11000」「11000」=「11000」。
對比附圖2,說明兩種方法的效果是完全一樣的。
下面對圖2和圖3中的部分對應關係進行說明。
在圖2中,「陳」=B3C2(16進位)=46018(10進位)。
「陳」在字符串「陳晨的爸爸」裡是第一個字符,所以第一個比特為1,其他為0。
「晨」=B3BF(16進位)=46015(10進位),對應「00010」,是因為「陳」在字符串「陳晨的爸爸」裡是第二個字符,所以第二個比特為1,其他為0。
又如,「爸」=B0D6(16進位)=45270(10進位),對應「11000」,是因為「爸」在字符串「陳晨的爸爸」裡是第四、五個字符,所以第四、五個比特為1,其他為0。
在圖3中,C2在LM中對應「00001」,等價於說字符串「陳晨的爸爸」的第一個字符的低字節為C2;B0在HM中對應「11000」,等價於說字符串「陳晨的爸爸」的第四、五個字符的高字節為B0;B3在HM中對應「00011」,等價於說字符串「陳晨的爸爸」的第一、二個字符的高字節為B3;
權利要求
1.一種用於中文字符串匹配的位向量方法,對在計算機中用兩個字節表示的漢字(1)將兩個字節分別對應一個高字節整數和一個低字節整數進行處理,所有漢字對應的高字節整數和低字節整數分別構成一個高字節數組和低字節數組;(2)將低字節數組和高字節數組中的所有整數全部清為0;(3)從頭到尾掃描整個中文模式串,對其中的每個漢字做如下操作,設某漢字在中文模式串中所處位置為p,則首先,將該漢字的低字節對應的低字節數組中的整數的第p比特置1;其次,將該漢字的高字節對應的高字節數組中的整數的第p比特置1;(4)用正在處理字符串中的字符在兩個整數數組中對應的整數進行匹配。
全文摘要
一種用於中文字符串匹配的位向量方法,對在計算機中用兩個字節表示的漢字將兩個字節分別對應一個高字節整數和一個低字節整數進行處理,所有漢字對應的高字節整數和低字節整數分別構成一個高字節數組和低字節數組;將兩個字節數組中的所有整數全部清為0;掃描整個中文模式串,對其中的每個漢字做如下操作,設某漢字在中文模式串中所處位置為p,則將該漢字的低字節對應的低字節數組中的整數的第p比特置1並將該漢字的高字節對應的高字節數組中的整數的第p比特置1;用正在處理字符串中的字符在兩個整數數組中對應的整數進行匹配。由於採取了將漢字的兩個字節分別處理的技術措施,大大減少了所需的空間。
文檔編號G06F9/45GK1542614SQ03113380
公開日2004年11月3日 申請日期2003年5月1日 優先權日2003年5月1日
發明者陳開渠, 趙潔, 彭志威 申請人:中興通訊股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀