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

文本串的二次散列提取的制作方法

文檔序號(hào):6478561閱讀:242來源:國(guó)知局
專利名稱:文本串的二次散列提取的制作方法
文本串的二次散列提取背景在信息理論中,數(shù)據(jù)壓縮或源編碼是一個(gè)通過使用特定編碼方案來以少于未編碼表示的位數(shù)將信息進(jìn)行編碼的過程。例如,如果接受將“compression”一詞編碼成“comp. ” 的約定,則文本可以用較少的位來編碼。許多計(jì)算機(jī)用戶都熟悉的一個(gè)常規(guī)壓縮實(shí)例是 “ZIP”文件格式,它在提供壓縮的同時(shí)還充當(dāng)檔案庫(kù)存儲(chǔ)器,將許多文件存儲(chǔ)成單個(gè)輸出文 件。與任何通信一樣,只有當(dāng)信息的發(fā)出方和接收方都理解編碼方案時(shí)壓縮數(shù)據(jù)通信 方可奏效。例如,只有當(dāng)接收方理解要將文本解釋為表示英語(yǔ)的字符的時(shí)候,這個(gè)文本才有 意義。類似地,只有當(dāng)解碼方法為接收方所知曉時(shí),壓縮數(shù)據(jù)才能夠被理解。數(shù)據(jù)壓縮之所以有用,是因?yàn)樗鼛椭鷾p少諸如存儲(chǔ)器或傳輸帶寬等寶貴資源的消 耗。不利方面是壓縮數(shù)據(jù)必須經(jīng)過解壓才能夠查看(或收聽)。這個(gè)額外的解壓處理對(duì)于 一些應(yīng)用程序而言可能是有害的。例如,視頻壓縮方案可能需要昂貴的硬件才能使該視頻 能夠足夠快的得到解壓以便在解壓的時(shí)候進(jìn)行觀看(選擇在觀看該視頻前進(jìn)行完全解壓 可能是不方便的,并且需要存儲(chǔ)空間來存放解壓視頻)。因此,數(shù)據(jù)解壓方案涉及各種因素 之間的折中,包括存儲(chǔ)器、壓縮程度、所引入的失真量(如果使用的是有損壓縮方案)、以及 壓縮和解壓數(shù)據(jù)所需要的計(jì)算資源。概述提供本概述部分是為了以簡(jiǎn)化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一 些概念。本概述并非旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征。本概述亦非旨 在用于限制所要求保護(hù)的主題的范圍。提供數(shù)據(jù)壓縮和關(guān)鍵詞識(shí)別。第一遍走查文本串,生成各個(gè)項(xiàng),為每個(gè)生成項(xiàng)計(jì)算 散列值。針對(duì)每個(gè)散列值,創(chuàng)建一個(gè)散列桶,其中維持相關(guān)聯(lián)的出現(xiàn)計(jì)數(shù)。散列桶可以根據(jù) 出現(xiàn)計(jì)數(shù)進(jìn)行排序并且保留少數(shù)排在頭幾位的桶。一旦知道了頭幾位的這些桶,第二遍可 以走查該文本串,生成各個(gè)項(xiàng),為每個(gè)生成項(xiàng)計(jì)算散列值。如果這些項(xiàng)的散列值與保留桶之 一的散列值匹配,則可以認(rèn)為這個(gè)項(xiàng)是頻繁出現(xiàn)的項(xiàng)。因此,將該項(xiàng)連同相對(duì)應(yīng)的出現(xiàn)計(jì)數(shù) 一起添加到詞典中。然后,可以對(duì)詞典進(jìn)行審查,移除那些并非頻繁出現(xiàn)但是由于散列沖突 而出現(xiàn)的項(xiàng)。前述概括描述和以下詳細(xì)描述兩者都提供示例且都只是說明性的。因此,前述概 括描述和以下詳細(xì)描述不應(yīng)被認(rèn)為是限制性的。此外,除了此處所闡明的那些之外還可提 供其它特征或變型。例如,各實(shí)施方式可涉及在詳細(xì)描述中描述的各種特征組合和子組合。附圖簡(jiǎn)述合并在本發(fā)明中并構(gòu)成其一部分的附圖示出本發(fā)明的各種實(shí)施方式。在附圖中

圖1是一操作環(huán)境的框圖;圖2是用于識(shí)別文本的方法流程圖;圖3是第一遍的框圖;圖4是第二遍的框圖5示出一種算法;以及圖6是包括計(jì)算設(shè)備的系統(tǒng)的框圖。詳細(xì)描述以下詳細(xì)描述參考各個(gè)附圖。只要可能,就在附圖和以下描述中使用相同的附圖標(biāo)記來指示相同或類似的要素。盡管可能描述了本發(fā)明的各實(shí)施方式,但修改、改編和其它 實(shí)現(xiàn)也是可能的。例如,可以對(duì)附圖中所示出的要素進(jìn)行置換、添加、或修改,且可以通過對(duì) 所公開的方法置換、重新排序、或添加階段來修改此處所描述的方法。因此,以下詳細(xì)描述 并不限制本發(fā)明。相反,本發(fā)明的正確范圍由所附權(quán)利要求書確定。根據(jù)本發(fā)明的實(shí)施方式,可以用基于二次散列的算法來發(fā)現(xiàn)文檔(例如文本串) 中的頻繁項(xiàng)。此外,存儲(chǔ)器質(zhì)量對(duì)存儲(chǔ)器對(duì)運(yùn)行時(shí)可以得到控制。例如,本發(fā)明的實(shí)施方式 可以花費(fèi)1. 5秒的時(shí)間,在一個(gè)1. 68兆的文檔中以的誤差缺失率找到100個(gè)最頻繁的 關(guān)鍵詞,同時(shí)使存儲(chǔ)器低于3KB。例如,下面描述的算法可以發(fā)現(xiàn)文本串中的頻繁關(guān)鍵詞。考慮包含以下文本的文 本串"1 went to the market but the market was closed. ”。本發(fā)明的實(shí)施方式會(huì)發(fā)現(xiàn) “market”和“the”是頻繁項(xiàng)而有資格成為關(guān)鍵詞。然而,本發(fā)明的實(shí)施方式也可以用于壓 縮目的。考慮包含以下文本的文本串“abracadabra,abrasive brats ! ”。本發(fā)明的實(shí)施 方式會(huì)發(fā)現(xiàn)“bra”是或許值得壓縮的頻繁項(xiàng)。無論如何,本發(fā)明的實(shí)施方式的一個(gè)目的可 以是發(fā)現(xiàn)頻繁重復(fù)的項(xiàng)。另一個(gè)目的可以是產(chǎn)生文檔概要、突出顯示重要的項(xiàng)、壓縮文檔數(shù) 據(jù)、找出過度的語(yǔ)法重復(fù)等等。換言之,本發(fā)明的實(shí)施方式可以找出文本串中的頻繁項(xiàng),不 管是串中的關(guān)鍵詞或者甚至是子串。此外,本發(fā)明的實(shí)施方式還可以確定每個(gè)頻繁項(xiàng)在文 本串中出現(xiàn)的次數(shù)并控制存儲(chǔ)器使用、運(yùn)行時(shí)執(zhí)行以及結(jié)果質(zhì)量。傳統(tǒng)的壓縮算法是為壓縮并存儲(chǔ)的目的而設(shè)計(jì)的。因而,傳統(tǒng)系統(tǒng)會(huì)在不進(jìn)行完 全解壓的情況下使查找變得開銷巨大,或有時(shí)是不可能的。根據(jù)本發(fā)明的實(shí)施方式,前面提 到的基于二次散列的算法能夠?qū)崿F(xiàn)輕量壓縮,使快速查詢變成可能。例如,考慮以下場(chǎng)景。 可能有很長(zhǎng)的帳戶/聯(lián)系人列表-John Doe-John Wayne-Wayne Smith-·..當(dāng)用戶鍵入一些文本時(shí)(將其稱為“輸入”),我們會(huì)快速地標(biāo)識(shí)上面的帳戶/聯(lián) 系人,然后將它們突出顯示。ZIP可以用來壓縮這個(gè)列表。盡管該列表可以得到高效壓縮,但可能沒有方式進(jìn) 行快速查找。因?yàn)閆IP壓縮可以是適應(yīng)性的,我們或許不能希望將輸入進(jìn)行壓縮并在壓縮 列表中搜索匹配的字節(jié)。將該列表進(jìn)行解壓并與輸入進(jìn)行比較可能也會(huì)使整個(gè)目的遭到失 敗。如果運(yùn)行前面提到的基于二次散列的算法來找出最頻繁的兩個(gè)符號(hào)(例如同時(shí) 對(duì)該串的長(zhǎng)度以及編碼成本進(jìn)行加權(quán),以找出“最佳”的兩個(gè)符號(hào)來進(jìn)行壓縮)。我們?cè)谳p 量壓縮后可能得到壓縮列表-$1 = John
-$2 = Wayne-$lDoe-$1$2-$2Smith-·..因?yàn)槲覀兛梢钥刂凭幋a符號(hào)的數(shù)量,我們可以在輸入中替換這些符號(hào)并進(jìn)行比較。下面是使用XML的另一示例。例如,我們可能有一個(gè)包含下列內(nèi)容的大型XML文 檔〈Greetings〉〈Word id =〃 Welcome" >English</fford><fford id = " Bonjour〃 >French</fford><fford id = " Danke" >German</fford>…〈/Greetings〉我們可能希望用較少的存儲(chǔ)器來保存這個(gè)XML文檔,但是仍能夠使用XPath查詢 來進(jìn)行查找XPath = Greetings/Word[@id =〃 Welcome“ ]·我們可以使用ZIP來壓縮該XML文檔。XPath可能無法奏效(因?yàn)槲覀冇械氖菈?縮字節(jié),而不再是XML文檔)。如果現(xiàn)在我們運(yùn)行前面提到的基于二次散列的算法來找出最 頻繁的兩個(gè)符號(hào)(例如,可能用避免編碼特定XML節(jié)點(diǎn)或?qū)傩缘?來找出“最佳”的兩個(gè)符 號(hào)進(jìn)行壓縮)。我們可能在輕量壓縮之后得到壓縮XML文檔。$1 = Greetings$2 = Word<$1><$2id=" Welcome” >English<$2><$2id=〃 Bonjour" >French<$2><$2id=〃 Danke 〃 >German<$2>…</$l>現(xiàn)在我們可以繼續(xù)運(yùn)行XPath 查詢XPath = $l/$2[iid = ‘‘ Welcome"]。圖1示出根據(jù)本發(fā)明的實(shí)施方式的識(shí)別系統(tǒng)100。如圖1所示,通過第一遍110和 第二遍115來操作文本串105以產(chǎn)生詞典120。例如,第一遍110可走查文本串105,生成 各個(gè)項(xiàng),并計(jì)算每個(gè)生成項(xiàng)的散列值。針對(duì)每個(gè)散列值,創(chuàng)建一個(gè)散列桶,其中維持相關(guān)聯(lián) 的出現(xiàn)計(jì)數(shù)。散列桶可以根據(jù)出現(xiàn)計(jì)數(shù)進(jìn)行排序并且保留少數(shù)排在頭幾位的桶。一旦知道 了那些排在頭幾位的桶,第二遍115可再次走查文本串105,生成各個(gè)項(xiàng),并計(jì)算每個(gè)項(xiàng)的 散列值。如果項(xiàng)的散列值與保留的桶之一的散列值匹配,則這個(gè)項(xiàng)是頻繁項(xiàng)的概率就很高。 因此,這個(gè)項(xiàng)就連同相對(duì)應(yīng)的頻率計(jì)數(shù)添加到詞典120。然后,可以對(duì)詞典120進(jìn)行審查以 移除那些并非頻繁但是由于散列沖突而出現(xiàn)的項(xiàng)。接著,對(duì)詞典120中的項(xiàng)進(jìn)行排列、剪除 和過濾。用于實(shí)現(xiàn)前面提到的二次過程的一種算法500的示例示于圖5。
圖2是闡明根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于識(shí)別文本的方法200中所涉及的一 般階段的流程圖。方法200可使用如將在以下參考圖6更詳細(xì)地描述的計(jì)算設(shè)備600來實(shí) 現(xiàn)。以下將更詳細(xì)地描述實(shí)現(xiàn)方法200的各階段的方式。方法200開始于起始框205并且 前進(jìn)到階段210,在階段210中計(jì)算設(shè)備600生成在文本串105中使用的多個(gè)生成項(xiàng)。例 如,第一遍 110 可分析包含“I went to the market butthe market was closed.,,的文 本串 105。該分析可以生成包括單詞 “I”、“went”、“to”、“the”、“market”、“but”、“the,,、 “market”、“was”、以及“closed”的多個(gè)生成項(xiàng)305,如圖3所示。根據(jù)本發(fā)明的實(shí)施方式,例如,為了數(shù)據(jù)壓縮的目的, 會(huì)生成前綴/后綴項(xiàng)。例如, 項(xiàng)“abra”可能生成前綴或后綴項(xiàng),比如“abra”、“bra”、“ra”、“abr”等等。然而,如果目 的是找出文本串105中的頻繁關(guān)鍵詞,則不需要生成前綴/后綴,而是從文本串105中生成 各單獨(dú)的串。自階段210,其中計(jì)算設(shè)備600生成在文本串105中使用的多個(gè)生成項(xiàng)305,方法 200可前進(jìn)到階段220,其中計(jì)算設(shè)備600從多個(gè)生成項(xiàng)305計(jì)算多個(gè)散列值。可以使用如 下所示的散列串算法來生成散列值。private static int GetHash(string input){int hash = 0 ;for (int i = 0 ;i<input. Length ;i++){hash = (hash 5) +hash+input [i];}return hash ;}可以用完善散列函數(shù)來避免“沖突”。“沖突”是兩個(gè)不同的項(xiàng)得到相同的散列值 的情況。集合S的完善散列函數(shù)是一個(gè)能夠?qū)中的不同鍵(元素)映射至不同數(shù)的散列 函數(shù)??梢杂闷渲翟赟中元素的數(shù)量的某恒定倍數(shù)的大小范圍內(nèi)的完善散列函數(shù)進(jìn)行高效 的查找操作,做法是根據(jù)該完善散列函數(shù)的值在散列表中放置這些鍵。特定集合S的一個(gè)可以在恒定時(shí)間內(nèi)估算且值在一個(gè)小范圍內(nèi)的完善散列函數(shù), 可以通過隨機(jī)算法按與S的大小成比例的次數(shù)的運(yùn)算找到。完善散列函數(shù)的最小描述大小 取決于其函數(shù)值的范圍范圍越小,需要的空間越多。適用于散列表的任何完善散列函數(shù) 都至少需要與S的大小成比例的位數(shù)。許多實(shí)現(xiàn)需要與nl0g(n)成比例的位數(shù),其中η是 S的大小。這可能意味著用于存儲(chǔ)該完善散列函數(shù)的空間與用于存儲(chǔ)該集合的空間等量齊 觀。完善散列函數(shù)最適合用在其中存在并不經(jīng)常更新但其中有許多查找的大型集合 的情況中。執(zhí)行更新的高效解決方案已知是動(dòng)態(tài)完善散列,但是實(shí)現(xiàn)這些方法是相對(duì)復(fù)雜 的。一種也允許動(dòng)態(tài)更新的完善散列的簡(jiǎn)單替代方案可以是“cuckoo hashing (cuckoo散 列),,。此外,可以使用最小完善散列。最小完善散列函數(shù)是將η個(gè)鍵映射成η個(gè)連續(xù)的 整數(shù)(通常是W..n-Ι]或[1..Π])的完善散列函數(shù)。其更為正式的表達(dá)方式是設(shè)j和k是某一集合K的元素。當(dāng)且僅當(dāng)F(j) =F(k)意味著j = k并且存在一個(gè)整數(shù)a使得F的范圍是a. . a+|K卜1,則F是最小完善散列函數(shù)。如果對(duì)于任意的鍵j和k,j < k即意味著 F(j) <F(k),則最小完善散列函數(shù)F是“保序性的”。盡管如此,基于圖論/概率論的不同 算法可以用來生成完善散列函數(shù)(例如CHM最小完善散列算法)。然而,這可能需要其運(yùn)行 時(shí)隨輸入大小線性增長(zhǎng)的初始第一遍(如在圖5所示的算法500中被標(biāo)記為第0遍)。當(dāng)計(jì)算設(shè)備600在階段220從多個(gè)生成項(xiàng)計(jì)算出多個(gè)散列值后,方法200繼續(xù)到 階段230,在階段230計(jì)算設(shè)備600創(chuàng)建分別對(duì)應(yīng)于多個(gè)散列值的多個(gè)散列桶。例如,第一 遍110創(chuàng)建多個(gè)散列桶310。如圖3所示,多個(gè)散列桶310包括第一桶、第二桶、第三桶、第 四桶、第五桶和第六桶。在計(jì)算設(shè)備600在階段230創(chuàng)建多個(gè)散列桶310后,方法200前進(jìn)到階段240,在階 段240計(jì)算設(shè)備600維護(hù)分別對(duì)應(yīng)于多個(gè)散列桶310的多個(gè)出現(xiàn)計(jì)數(shù)值。該多個(gè)出現(xiàn)計(jì)數(shù) 值中的每一個(gè)分別指示這多個(gè)生成項(xiàng)(例如多個(gè)生成項(xiàng)305)中的其散列值分別對(duì)應(yīng)于多 個(gè)出現(xiàn)計(jì)數(shù)值的各自的散列桶的那些項(xiàng)在文本串105中出現(xiàn)的次數(shù)。例如,如圖3所示,第 一遍110掃描文本串105,并計(jì)算生成項(xiàng)305的散列。在生成項(xiàng)305中的兩個(gè)實(shí)例“market” 散列到第三桶,使第三桶的出現(xiàn)計(jì)數(shù)為2。此外,生成項(xiàng)305中的兩個(gè)實(shí)例“the”被散列到 第一桶。但是,由于散列沖突,“went”也被散列到第一桶,使第一桶的出現(xiàn)計(jì)數(shù)為3。無論 哪種情況,在多個(gè)生成項(xiàng)中找出同一個(gè)項(xiàng)的更多實(shí)例都將會(huì)增加特定散列桶的計(jì)數(shù)。自階段240,其中計(jì)算設(shè)備600維護(hù)多個(gè)出現(xiàn)計(jì)數(shù)值,方法200前進(jìn)到階段250,其 中計(jì)算設(shè)備600將舍棄這多個(gè)散列桶中的其各自的出現(xiàn)計(jì)數(shù)值低于第一預(yù)定值的那些散 列桶。例如,第一預(yù)定值可以是“3”。因此,在圖3的實(shí)施例中,第二桶、第三桶、第四桶、第 五桶和第六桶均可舍棄,因?yàn)檫@些散列桶中每一個(gè)的出現(xiàn)計(jì)數(shù)值都小于“3”,這樣就成了圖 4所示的實(shí)施例。盡管圖4的實(shí)施例顯示只有一個(gè)被保留的散列桶,但排在最前面的N個(gè)散 列桶,或計(jì)數(shù)高于確定閾值(例如,第一預(yù)定值)的所有散列桶可得到保留。換言之,排在 最前面的N個(gè)具有最高出現(xiàn)計(jì)數(shù)值的散列桶可得到保留,而不僅僅是例如出現(xiàn)計(jì)數(shù)值高于 X的桶才被保留。計(jì)算設(shè)備600在階段250舍棄了這多個(gè)散列桶中的一些桶后,方法200繼續(xù)到階 段260,在這個(gè)階段計(jì)算設(shè)備600將詞典項(xiàng)添加到詞典120。這些詞典項(xiàng)包括該多個(gè)生成項(xiàng) 中的其各自的散列值對(duì)應(yīng)于分別與剩余的多個(gè)散列桶相對(duì)應(yīng)的多個(gè)散列值中的任意一個(gè) 的那些項(xiàng)。詞典120還包括分別指示詞典項(xiàng)中的每一個(gè)項(xiàng)在文本串104中出現(xiàn)的次數(shù)的多 個(gè)頻率計(jì)數(shù)值。例如,如圖4所示,第二遍115可以再次掃描文本串105并計(jì)算生成項(xiàng)的散 列。如果該散列與保留桶(例如第一桶)的散列匹配,則該項(xiàng)可以連同對(duì)應(yīng)的頻率計(jì)數(shù)值 一起添加到詞典120中。否則這個(gè)項(xiàng)就可以舍棄。如圖4所示,詞典120包含項(xiàng)“the”(頻 率計(jì)數(shù)值=2)和“went” (頻率計(jì)數(shù)值=1)。假使文本串105更大些,則第二遍105可能 為“the”產(chǎn)生更高的頻率計(jì)數(shù)值,并為“went”產(chǎn)生較小的頻率計(jì)數(shù)值。根據(jù)本發(fā)明的實(shí)施方式,第二遍115能夠去除因沖突而產(chǎn)生的噪聲,并在詞典120 中將各個(gè)項(xiàng)進(jìn)行排列。例如,“went”與“the”散列在相同的桶中。然而,在第二遍115期間 獲得的最終計(jì)數(shù)可能揭示出“went”并不是那么頻繁,所以可以從詞典120中除去。因此, 沖突得到修復(fù)。此外,詞典項(xiàng)可以使用取決于目的(例如數(shù)據(jù)壓縮、關(guān)鍵詞檢測(cè)等)的評(píng)估函數(shù)來排列。例如,如果目的是數(shù)據(jù)壓縮,則賦予頻繁詞典項(xiàng)的排名可以是基于串長(zhǎng)度乘以頻率 計(jì)數(shù)值減去編碼該信息的開銷(即,壓縮一個(gè)頻繁詞典項(xiàng)的“益處”)。在另一個(gè)例子中,如 果目的是找出文本串中的關(guān)鍵詞,則賦予頻繁詞典項(xiàng)的排名可以基于其重要性。例如,在英 文中,頻繁項(xiàng)“the”不會(huì)排名很高,因?yàn)闀?huì)被作為噪聲對(duì)待。因此,排列過程會(huì)取決于目的 而不同。當(dāng)計(jì)算設(shè)備600在階段260將詞典項(xiàng)添加到詞典后,方法200將在階段270結(jié)束。根據(jù)本發(fā)明的一個(gè)實(shí)施方式包括一種用于識(shí)別文本的系統(tǒng)。該系統(tǒng)可包括存儲(chǔ)器 存儲(chǔ)和耦合到該存儲(chǔ)器存儲(chǔ)的處理單元。該處理單元能夠用來生成用在文本串中的多個(gè)生 成項(xiàng),從該多個(gè)生成項(xiàng)計(jì)算出多個(gè)散列值,以及創(chuàng)建分別對(duì)應(yīng)于該多個(gè)散列值的多個(gè)散列 桶。此外,處理單元可用來維護(hù)分別對(duì)應(yīng)于多個(gè)散列桶的多個(gè)出現(xiàn)計(jì)數(shù)值。該多個(gè)出現(xiàn)計(jì) 數(shù)值中的每一個(gè)分別指示該多個(gè)生成項(xiàng)中的其散列值分別對(duì)應(yīng)于多個(gè)出現(xiàn)計(jì)數(shù)值的各自 散列桶的那些項(xiàng)在文本串中出現(xiàn)的次數(shù)。此外,處理單元可以用于舍棄該多個(gè)散列桶中的 其各自的出現(xiàn)計(jì)數(shù)值小于第一預(yù)定值的那些桶。更進(jìn)一步地,處理單元可用于將詞典項(xiàng)填 加到詞典中。這些詞典項(xiàng)包括該多個(gè)生成項(xiàng)中的其各自的散列值對(duì)應(yīng)于分別與剩余的多個(gè) 散列桶相對(duì)應(yīng)的多個(gè)散列值中的任意一個(gè)的那些項(xiàng)。詞典包含分別指示詞典項(xiàng)中的每一個(gè) 在文本串中出現(xiàn)的次數(shù)的多個(gè)頻率計(jì)數(shù)值。根據(jù)本發(fā)明的另一個(gè)實(shí)施方式包括一種用于識(shí)別文本的系統(tǒng)。該系統(tǒng)可包括存儲(chǔ)器存儲(chǔ)和耦合到該存儲(chǔ)器存儲(chǔ)的處理單元。該處理單元可用于創(chuàng)建分別對(duì)應(yīng)于多個(gè)與文本 串中的多個(gè)生成項(xiàng)相對(duì)應(yīng)的散列值的多個(gè)散列桶,其中該多個(gè)生成項(xiàng)中至少一部分包含子 串。除此之外,處理單元可以用于維護(hù)分別對(duì)應(yīng)于多個(gè)散列桶的多個(gè)出現(xiàn)計(jì)數(shù)值。該多個(gè) 出現(xiàn)計(jì)數(shù)值中的每一個(gè)分別指示該多個(gè)生成項(xiàng)中的其散列值分別對(duì)應(yīng)于多個(gè)出現(xiàn)計(jì)數(shù)值 的各自的散列桶的那些項(xiàng)在文本串中出現(xiàn)的次數(shù)。此外,處理單元可以用于舍棄該多個(gè)散 列桶中的其各自的出現(xiàn)計(jì)數(shù)值小于第一預(yù)定值的那些桶。同樣,處理單元可以用于將詞典 項(xiàng)添加到詞典中。這些詞典項(xiàng)包括該多個(gè)生成項(xiàng)中的其各自的散列值對(duì)應(yīng)于分別與剩余的 多個(gè)散列桶相對(duì)應(yīng)的多個(gè)散列值中的任意一個(gè)的那些項(xiàng)。詞典包括分別指示詞典項(xiàng)中的每 一個(gè)在文本串中出現(xiàn)的次數(shù)的多個(gè)頻率計(jì)數(shù)值。此外,處理單元可以用于使用為數(shù)據(jù)壓縮 而配置的評(píng)估函數(shù)來排列詞典項(xiàng),其中詞典項(xiàng)可以基于分別對(duì)應(yīng)于詞典項(xiàng)中的每一個(gè)的多 個(gè)相應(yīng)指數(shù)來排列。該多個(gè)指數(shù)中的每一個(gè)分別包括各相應(yīng)詞典項(xiàng)的頻率計(jì)數(shù)值乘以各相 應(yīng)詞典項(xiàng)的長(zhǎng)度根據(jù)本發(fā)明的又一個(gè)實(shí)施方式包括一種用于識(shí)別文本的系統(tǒng)。該系統(tǒng)可包括存儲(chǔ) 器存儲(chǔ)和耦合到該存儲(chǔ)器存儲(chǔ)的處理單元。該處理單元可以用于創(chuàng)建分別對(duì)應(yīng)于與文本串 中的多個(gè)生成項(xiàng)相對(duì)應(yīng)的多個(gè)散列值的多個(gè)散列桶,其中多個(gè)生成項(xiàng)中的每一個(gè)包含各單 獨(dú)的串。此外,處理單元可以用于維護(hù)分別對(duì)應(yīng)于多個(gè)散列桶的多個(gè)出現(xiàn)計(jì)數(shù)值。該多個(gè) 出現(xiàn)計(jì)數(shù)值中的每一個(gè)分別指示該多個(gè)生成項(xiàng)中的其散列值分別對(duì)應(yīng)于多個(gè)出現(xiàn)計(jì)數(shù)值 各自的散列桶的那些項(xiàng)在文本串中出現(xiàn)的次數(shù)。處理單元還可以用于舍棄該多個(gè)散列桶中 的其各自的出現(xiàn)計(jì)數(shù)值小于第一預(yù)定值的那些桶、以及用于將詞典項(xiàng)添加到詞典中。這些 詞典項(xiàng)包括該多個(gè)生成項(xiàng)中的其各自的散列值對(duì)應(yīng)于分別與剩余的多個(gè)散列桶相對(duì)應(yīng)的 多個(gè)散列值中的任意一個(gè)的那些項(xiàng)。詞典包括分別指示詞典項(xiàng)中的每一個(gè)在文本串中出現(xiàn) 的次數(shù)的多個(gè)頻率計(jì)數(shù)值。此外,處理單元可以用于使用為關(guān)鍵詞識(shí)別而配置的評(píng)估函數(shù) 來對(duì)排列詞典項(xiàng),其中詞典項(xiàng)基于其各自的頻率計(jì)數(shù)值來排列。
圖6是包括計(jì)算設(shè)備600的系統(tǒng)的框圖。根據(jù)本發(fā)明的一個(gè)實(shí)施方式,上述存儲(chǔ) 器存儲(chǔ)和處理單元可以在諸如圖6的計(jì)算設(shè)備600等計(jì)算設(shè)備中實(shí)現(xiàn)??梢允褂糜布④?件或固件的任何合適的組合來實(shí)現(xiàn)該存儲(chǔ)器存儲(chǔ)和處理單元。例如,存儲(chǔ)器存儲(chǔ)和處理單 元可以用計(jì)算設(shè)備600或結(jié)合計(jì)算設(shè)備600的其它計(jì)算設(shè)備618中的任意一個(gè)來實(shí)現(xiàn)。根 據(jù)本發(fā)明的各實(shí)施方式,上述系統(tǒng)、設(shè)備和處理器是示例,而其它系統(tǒng)、設(shè)備和處理器可以 包括上述存儲(chǔ)器存儲(chǔ)和處理單元。此外,計(jì)算設(shè)備600可包括用于上述系統(tǒng)100的操作環(huán) 境。系統(tǒng)100可以在其它環(huán)境中操作并且不限于計(jì)算設(shè)備600。
參考圖6,根據(jù)本發(fā)明的一實(shí)施方式的系統(tǒng)可包括計(jì)算設(shè)備,諸如計(jì)算設(shè)備600。 在一基本配置中,計(jì)算設(shè)備600可以包括至少一個(gè)處理單元602和系統(tǒng)存儲(chǔ)器604。取決于 計(jì)算設(shè)備的配置和類型,系統(tǒng)存儲(chǔ)器604可以包括,但不限于,易失性存儲(chǔ)器(例如,隨機(jī)存 取存儲(chǔ)器(RAM))、非易失性存儲(chǔ)器(例如,只讀存儲(chǔ)器(ROM))、閃存或任何組合。系統(tǒng)存儲(chǔ) 器604可以包括操作系統(tǒng)605、一個(gè)或多個(gè)編程模塊606,且可以包括程序數(shù)據(jù)607。例如, 操作系統(tǒng)605可適用于控制計(jì)算設(shè)備600的操作。在一個(gè)實(shí)施方式中,編程模塊606可包 括例如識(shí)別應(yīng)用程序620。此外,本發(fā)明的各實(shí)施方式可以結(jié)合圖形庫(kù)、其它操作系統(tǒng)、或任 何其它應(yīng)用程序來實(shí)踐,且不限于任何特定應(yīng)用程序或系統(tǒng)。該基本配置在圖6中由虛線 608內(nèi)的組件示出。計(jì)算設(shè)備600還可具有附加特征或功能。例如,計(jì)算設(shè)備600還可包括附加數(shù)據(jù) 存儲(chǔ)設(shè)備(可移動(dòng)和/或不可移動(dòng)),諸如,例如磁盤、光盤或磁帶。這些附加存儲(chǔ)在圖6中 由可移動(dòng)存儲(chǔ)609和不可移動(dòng)存儲(chǔ)610示出。計(jì)算機(jī)存儲(chǔ)介質(zhì)可包括以用于存儲(chǔ)諸如計(jì)算 機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非 易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。系統(tǒng)存儲(chǔ)器604、可移動(dòng)存儲(chǔ)609和不可移動(dòng)存儲(chǔ)610都 是計(jì)算機(jī)存儲(chǔ)介質(zhì)的示例(即,存儲(chǔ)器存儲(chǔ))。計(jì)算機(jī)存儲(chǔ)介質(zhì)可以包括,但不限于,RAM、 ROM、電可擦除只讀存儲(chǔ)器(EEPR0M)、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD) 或其它光存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其它磁性存儲(chǔ)設(shè)備、或可用于存儲(chǔ)信息且可以由 計(jì)算設(shè)備600訪問的任何其它介質(zhì)。任何這樣的計(jì)算機(jī)存儲(chǔ)介質(zhì)都可以是設(shè)備600的一部 分。計(jì)算設(shè)備600還可以具有輸入設(shè)備612,如鍵盤、鼠標(biāo)、筆、聲音輸入設(shè)備、觸摸輸入設(shè)備 等。還可包括諸如顯示器、揚(yáng)聲器、打印機(jī)等輸出設(shè)備614。上述設(shè)備是示例且可以使用其 它設(shè)備。計(jì)算設(shè)備600還可包含可允許設(shè)備600諸如通過例如內(nèi)聯(lián)網(wǎng)或因特網(wǎng)等分布式計(jì) 算環(huán)境中的網(wǎng)絡(luò)來與其它計(jì)算設(shè)備616進(jìn)行通信的通信連接618。通信連接616是通信介 質(zhì)的一個(gè)示例。通信介質(zhì)通常由諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可 讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)來體現(xiàn),并包括任何信息傳遞介質(zhì)。術(shù)語(yǔ)“已調(diào)制數(shù) 據(jù)信號(hào)”可以描述以對(duì)該信號(hào)中的信息進(jìn)行編碼的方式設(shè)定或者改變其一個(gè)或多個(gè)特征的 信號(hào)。作為示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接等有線介質(zhì),以及諸如 聲學(xué)、射頻(RF)、紅外線和其它無線介質(zhì)等無線介質(zhì)。如此處所使用的術(shù)語(yǔ)“計(jì)算機(jī)可讀介 質(zhì)“可以包括存儲(chǔ)介質(zhì)和通信介質(zhì)兩者。如上所述,可以在系統(tǒng)存儲(chǔ)器604中存儲(chǔ)包括操作系統(tǒng)605在內(nèi)的多個(gè)程序模塊 和數(shù)據(jù)文件。在處理單元602上執(zhí)行時(shí),編程模塊606 (例如,識(shí)別應(yīng)用程序620)可以執(zhí)行 各個(gè)進(jìn)程,包括例如上述方法200的一個(gè)或多個(gè)階段。前述進(jìn)程是示例,且處理單元602可
10執(zhí)行其它進(jìn)程。根據(jù)本發(fā)明的各實(shí)施方式可以使用的其它編程模塊可以包括電子郵件和聯(lián) 系人應(yīng)用程序、文字處理應(yīng)用程序、電子表格應(yīng)用程序、數(shù)據(jù)庫(kù)應(yīng)用程序、幻燈片演示應(yīng)用 程序、繪圖或計(jì)算機(jī)輔助應(yīng)用程序等。 一般而言,根據(jù)本發(fā)明的各實(shí)施方式,程序模塊可以包括可以執(zhí)行特定任務(wù)或可 以實(shí)現(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)和其它類型的結(jié)構(gòu)。此外,本發(fā)明的 各實(shí)施方式可用其它計(jì)算機(jī)系統(tǒng)配置來實(shí)踐,包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理 器的系統(tǒng)或可編程消費(fèi)電子產(chǎn)品、小型機(jī)、大型計(jì)算機(jī)等。本發(fā)明的各實(shí)施方式也可以在其 中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境中實(shí)現(xiàn)。在分布式計(jì)算 環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。此外,本發(fā)明的各實(shí)施方式可在包括分立電子元件的電路、包含邏輯門的封裝或 集成電子芯片、利用微處理器的電路、或在包含電子元件或微處理器的單個(gè)芯片上實(shí)現(xiàn)。本 發(fā)明的各實(shí)施方式還可以使用能夠執(zhí)行諸如,例如,AND(與)、0R(或)和NOT(非)等邏輯 運(yùn)算的其它技術(shù)來實(shí)踐,包括但不限于,機(jī)械、光學(xué)、流體和量子技術(shù)。另外,本發(fā)明的各實(shí) 施方式可以在通用計(jì)算機(jī)或任何其它電路或系統(tǒng)中實(shí)現(xiàn)。例如,本發(fā)明的各實(shí)施方式可被實(shí)現(xiàn)為計(jì)算機(jī)進(jìn)程(方法)、計(jì)算系統(tǒng)或諸如計(jì)算 機(jī)程序產(chǎn)品或計(jì)算機(jī)可讀介質(zhì)等制品。計(jì)算機(jī)程序產(chǎn)品可以是計(jì)算機(jī)系統(tǒng)可讀并編碼了用 于執(zhí)行計(jì)算機(jī)進(jìn)程的指令的計(jì)算機(jī)程序的計(jì)算機(jī)存儲(chǔ)介質(zhì)。計(jì)算機(jī)程序產(chǎn)品還可以是計(jì)算 系統(tǒng)可讀并編碼了用于執(zhí)行計(jì)算機(jī)進(jìn)程的指令的計(jì)算機(jī)程序的載波上的傳播信號(hào)。因此, 本發(fā)明能以硬件和/或軟件(包括固件、常駐軟件、微碼等)來具體化。換言之,本發(fā)明的 各實(shí)施方式可以采用其上包含有供指令執(zhí)行系統(tǒng)使用或結(jié)合其使用的計(jì)算機(jī)可使用或計(jì) 算機(jī)可讀程序代碼的計(jì)算機(jī)可使用或計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品的形式。計(jì) 算機(jī)可使用或計(jì)算機(jī)可讀介質(zhì)可以是可包含、存儲(chǔ)、通信、傳播、或傳輸程序以供指令執(zhí)行 系統(tǒng)、裝置或設(shè)備使用或結(jié)合其使用的任何介質(zhì)。計(jì)算機(jī)可使用或計(jì)算機(jī)可讀介質(zhì)可以是,例如,但不限于,電、磁、光、電磁、紅外、 或半導(dǎo)體系統(tǒng)、裝置、設(shè)備或傳播介質(zhì)。更具體的計(jì)算機(jī)可讀介質(zhì)示例(非窮盡列表),計(jì)算 機(jī)可讀介質(zhì)可以包括以下具有一條或多條導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤、隨機(jī)存取存儲(chǔ) 器(RAM)、只讀存儲(chǔ)器(ROM)、可擦除可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、和便攜式壓 縮盤只讀存儲(chǔ)器(CD-ROM)。注意,計(jì)算機(jī)可使用或計(jì)算機(jī)可讀介質(zhì)甚至可以是其上打印有 程序的紙張或另一合適的介質(zhì),因?yàn)槌绦蚩梢越?jīng)由例如對(duì)紙張或其它介質(zhì)的光學(xué)掃描而電 子地捕獲,隨后如有必要被編譯、解釋,或以其它合適的方式處理,并隨后存儲(chǔ)在計(jì)算機(jī)存 儲(chǔ)器中。以上參考例如根據(jù)本發(fā)明的各實(shí)施方式的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品的框圖和 /或操作圖示描述了本發(fā)明的各實(shí)施方式。框中所注明的各功能/動(dòng)作可以按不同于任何 流程圖所示的次序出現(xiàn)。例如,取決于所涉及的功能/動(dòng)作,連續(xù)示出的兩個(gè)框?qū)嶋H上可以 基本上同時(shí)執(zhí)行,或者這些框有時(shí)可以按相反的次序來執(zhí)行。 盡管已經(jīng)描述了本發(fā)明的某些實(shí)施方式,但也可能存在其它實(shí)施方式。此外,雖 然本發(fā)明的各實(shí)施方式被描述為與存儲(chǔ)在存儲(chǔ)器和其它存儲(chǔ)介質(zhì)中的數(shù)據(jù)相關(guān)聯(lián),但數(shù)據(jù) 還可以被存儲(chǔ)在或讀取自其它類型的計(jì)算機(jī)可讀介質(zhì),如輔助存儲(chǔ)設(shè)備,像硬盤、軟盤、或 CD-ROM;來自因特網(wǎng)的載波;或其它形式的RAM或ROM。此外,所公開的各方法的各階段可以按任何方式來修改,包括通過對(duì)各階段重新排序和/或插入或刪除階段,而不背離本發(fā)明。包括此處所包括的代碼中的版權(quán)在內(nèi)的所有權(quán)利都?xì)w屬于申請(qǐng)人并且是本申請(qǐng) 人的財(cái)產(chǎn)。申請(qǐng)人保持并保留此處所包括的代碼中的所有權(quán)利,并授予僅關(guān)于所授權(quán)的專 利的再現(xiàn)且未出于其它目的再現(xiàn)該材料的許可。雖然本說明書包括各示例,但本發(fā)明的范圍由所附權(quán)利要求書來指示。此外,盡管 用對(duì)結(jié)構(gòu)特征和/或方法動(dòng)作專用的語(yǔ)言描述了本說明書,但權(quán)利要求書并不限于上述特 征或動(dòng)作。相反,上述具體特征和動(dòng)作是作為本發(fā)明的各實(shí)施方式的示例來公開的。
權(quán)利要求
一種用于識(shí)別文本的方法,所述方法包括生成用在文本串(105)中的多個(gè)生成項(xiàng)(305);從所述多個(gè)生成項(xiàng)(305)計(jì)算多個(gè)散列值;創(chuàng)建分別與所述多個(gè)散列值相對(duì)應(yīng)的多個(gè)散列桶(310);維護(hù)分別對(duì)應(yīng)于所述多個(gè)散列桶(310)的多個(gè)出現(xiàn)計(jì)數(shù)值,所述多個(gè)出現(xiàn)計(jì)數(shù)值中的每一個(gè)分別指示所述多個(gè)生成項(xiàng)(305)中的具有分別對(duì)應(yīng)于所述多個(gè)出現(xiàn)計(jì)數(shù)值各自的散列桶的散列值的那些項(xiàng)在所述文本串(105)中出現(xiàn)的次數(shù);舍棄所述多個(gè)散列桶(310)中其各自的出現(xiàn)計(jì)數(shù)值小于第一預(yù)定值的那些桶;將詞典項(xiàng)添加到詞典(120)中,所述詞典項(xiàng)包括所述多個(gè)生成項(xiàng)(305)中具有分別對(duì)應(yīng)于分別與剩余的多個(gè)散列桶(310)相對(duì)應(yīng)的所述多個(gè)散列值中的任意一個(gè)的散列值的那些項(xiàng),所述詞典(120)包括分別指示所述詞典項(xiàng)中的每一個(gè)在所述文本串(105)中出現(xiàn)的次數(shù)的多個(gè)頻率計(jì)數(shù)值。
2.如權(quán)利要求1所述的方法,其特征在于,還包括排列所述詞典項(xiàng)。
3.如權(quán)利要求1所述的方法,其特征在于,還包括使用評(píng)估函數(shù)來排列所述詞典項(xiàng)。
4.如權(quán)利要求1所述的方法,其特征在于,還包括使用為數(shù)據(jù)壓縮而配置的評(píng)估函數(shù) 來排列所述詞典項(xiàng)。
5.如權(quán)利要求1所述的方法,其特征在于,還包括使用為數(shù)據(jù)壓縮而配置的評(píng)估函數(shù) 來排列所述詞典項(xiàng),其中所述詞典項(xiàng)基于各自分別對(duì)應(yīng)于所述詞典項(xiàng)中的每一個(gè)的多個(gè)指 數(shù)來排列,所述多個(gè)指數(shù)中的每一個(gè)分別包括每一個(gè)相應(yīng)詞典項(xiàng)的頻率計(jì)數(shù)值乘以每一個(gè) 相應(yīng)詞典項(xiàng)的長(zhǎng)度。
6.如權(quán)利要求1所述的方法,其特征在于,還包括使用為關(guān)鍵詞識(shí)別而配置的評(píng)估函 數(shù)來排列所述詞典項(xiàng)。
7.如權(quán)利要求1所述的方法,其特征在于,還包括使用為關(guān)鍵詞識(shí)別而配置的評(píng)估函 數(shù)來排列所述詞典項(xiàng),其中所述詞典項(xiàng)基于其各自的頻率計(jì)數(shù)值來排列。
8.如權(quán)利要求1所述的方法,其特征在于,還包括使用所述詞典(120)來確定在所述文 本串(105)中壓縮所述生成項(xiàng)(305)中的哪些項(xiàng)。
9.如權(quán)利要求1所述的方法,其特征在于,還包括使用所述詞典(120)來確定將所述生 成項(xiàng)(305)中的哪些項(xiàng)表征為關(guān)鍵詞。
10.如權(quán)利要求1所述的方法,其特征在于,還包括從所述詞典(120)中移除其相對(duì)應(yīng) 的頻率計(jì)數(shù)值小于第二預(yù)定值的詞典項(xiàng)。
11.如權(quán)利要求1所述的方法,其特征在于,生成所述多個(gè)用在所述文本串(105)中的 生成項(xiàng)(305)包括生成所述多個(gè)用在所述文本串(105)中的生成項(xiàng)(305),其中所述多個(gè)生 成項(xiàng)(305)中的每一個(gè)包括各單獨(dú)的串。
12.如權(quán)利要求1所述的方法,其特征在于,生成所述多個(gè)用在所述文本串(105)中的 生成項(xiàng)(305)包括生成所述多個(gè)用在所述文本串(105)中的生成項(xiàng)(305),其中所述多個(gè)生 成項(xiàng)(305)中的至少一部分包括子串。
13.如權(quán)利要求1所述的方法,其特征在于,從所述多個(gè)生成項(xiàng)(305)計(jì)算所述多個(gè)散 列值包括基于完善散列算法計(jì)算所述多個(gè)散列值。
14.一種計(jì)算機(jī)可讀介質(zhì),所述介質(zhì)存儲(chǔ)一組指令,當(dāng)所述指令得到執(zhí)行時(shí)完成一種用于識(shí)別文本的方法,由該組指令所執(zhí)行的所述方法包括創(chuàng)建分別對(duì)應(yīng)于與文本串(105)中的多個(gè)生成項(xiàng)(305)相對(duì)應(yīng)的多個(gè)散列值的多個(gè)散 列桶(310),其中所述多個(gè)生成項(xiàng)(305)中的至少一部分包括子串;維護(hù)分別與所述多個(gè)散列桶(310)相對(duì)應(yīng)的多個(gè)出現(xiàn)計(jì)數(shù)值,所述多個(gè)出現(xiàn)計(jì)數(shù)值中 的每一個(gè)分別指示所述多個(gè)生成項(xiàng)(305)中具有分別對(duì)應(yīng)于所述多個(gè)出現(xiàn)計(jì)數(shù)值各自的 散列桶的散列值的那些項(xiàng)在所述文本串(105)中出現(xiàn)的次數(shù);舍棄所述多個(gè)散列桶(310)中其相應(yīng)出現(xiàn)計(jì)數(shù)值小于第一預(yù)定值的那些散列桶; 將詞典項(xiàng)添加到詞典(120),所述詞典項(xiàng)包括所述多個(gè)生成項(xiàng)(305)中具有對(duì)應(yīng)于 分別與剩余的多個(gè)散列桶(310)相對(duì)應(yīng)的多個(gè)散列值中的任意一個(gè)的相應(yīng)散列值的那些 項(xiàng),,所述詞典(120)包括分別指示所述詞典項(xiàng)中的每一個(gè)在所述文本串(105)中出現(xiàn)的次 數(shù)的多個(gè)頻率計(jì)數(shù)值;以及使用為數(shù)據(jù)壓縮而配置的評(píng)估函數(shù)來排列所述詞典項(xiàng),其中所述詞典項(xiàng)基于各自分別 對(duì)應(yīng)于所述詞典項(xiàng)中的每一個(gè)的多個(gè)指數(shù)來排列,所述多個(gè)指數(shù)中的每一個(gè)分別包括每一 個(gè)相應(yīng)詞典項(xiàng)的頻率計(jì)數(shù)值乘以每一個(gè)相應(yīng)詞典項(xiàng)的長(zhǎng)度。
15.如權(quán)利要求14所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括使用所述詞典(120)確 定在所述文本串中壓縮所述生成項(xiàng)(305)中的哪些項(xiàng)。
16.如權(quán)利要求14所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括從所述詞典(120)中移 除其相對(duì)應(yīng)的頻率計(jì)數(shù)值小于第二預(yù)定值的詞典項(xiàng)。
17.如權(quán)利要求14所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包含基于完善散列算法來 計(jì)算所述多個(gè)散列值。
18.一種用于識(shí)別文本的系統(tǒng),所述系統(tǒng)包括 存儲(chǔ)器存儲(chǔ);以及耦合到所述存儲(chǔ)器存儲(chǔ)的處理單元,其中所述處理單元可用于 創(chuàng)建分別對(duì)應(yīng)于與文本串(105)中的多個(gè)生成項(xiàng)(305)相對(duì)應(yīng)的多個(gè)散列值的多個(gè)散 列桶(310),其中所述多個(gè)生成項(xiàng)(305)中的每一個(gè)包括各單獨(dú)的串;維護(hù)分別與所述多個(gè)散列桶(310)相對(duì)應(yīng)的多個(gè)出現(xiàn)計(jì)數(shù)值,所述多個(gè)出現(xiàn)計(jì)數(shù)值中 的每一個(gè)分別指示所述多個(gè)生成項(xiàng)(305)中具有分別對(duì)應(yīng)于所述多個(gè)出現(xiàn)計(jì)數(shù)值各自的 散列桶的散列值的那些項(xiàng)在所述文本串(105)中出現(xiàn)的次數(shù);舍棄所述多個(gè)散列桶(310)中其各自出現(xiàn)計(jì)數(shù)值小于第一預(yù)定值的桶; 將詞典項(xiàng)添加到詞典(120),所述詞典項(xiàng)包括所述多個(gè)生成項(xiàng)(305)中具有對(duì)應(yīng)于分 別與剩余的多個(gè)散列桶(310)相對(duì)應(yīng)的多個(gè)散列值中的任意一個(gè)的相應(yīng)散列值的那些項(xiàng), 所述詞典(120)包括分別指示所述詞典項(xiàng)中的每一個(gè)在所述文本串(105)中出現(xiàn)的次數(shù)的 多個(gè)頻率計(jì)數(shù)值;以及使用為關(guān)鍵詞識(shí)別而配置的評(píng)估函數(shù)來排列所述詞典項(xiàng),其中所述詞典項(xiàng)基于其相應(yīng) 的頻率計(jì)數(shù)值來排列。
19.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述處理單元還用于從所述詞典(120)中 移除其相對(duì)應(yīng)的頻率計(jì)數(shù)值小于第二預(yù)定值的詞典項(xiàng)。
20.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述處理單元還用于基于完善散列算法 來計(jì)算所述多個(gè)散列值。
全文摘要
本發(fā)明涉及數(shù)據(jù)壓縮和關(guān)鍵詞識(shí)別。第一遍走查文本串、生成各個(gè)項(xiàng)、為每個(gè)生成項(xiàng)計(jì)算散列值。對(duì)于每個(gè)散列值,創(chuàng)建一個(gè)散列桶,其中維護(hù)相關(guān)聯(lián)的出現(xiàn)計(jì)數(shù)。散列桶可以根據(jù)出現(xiàn)計(jì)數(shù)進(jìn)行排序,并且少數(shù)幾個(gè)排在前面的桶得到保留。一旦知道了這些排在前面的桶,則第二遍可以走查該文本串、生成各個(gè)項(xiàng)、為每個(gè)生成項(xiàng)計(jì)算散列值。如果項(xiàng)的散列值與某一個(gè)保留的桶的散列值匹配,則可以認(rèn)為這個(gè)項(xiàng)是頻繁項(xiàng)。因此,這個(gè)項(xiàng)就連同相對(duì)應(yīng)的頻率計(jì)數(shù)一起添加到詞典中。然后,可以對(duì)詞典進(jìn)行審查,移除并非頻繁但是由于散列沖突而出現(xiàn)的那些項(xiàng)。
文檔編號(hào)G06F17/00GK101809567SQ200880109407
公開日2010年8月18日 申請(qǐng)日期2008年8月28日 優(yōu)先權(quán)日2007年9月28日
發(fā)明者D·普贊 申請(qǐng)人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
大英县| 淄博市| 钦州市| 霸州市| 舒兰市| 油尖旺区| 秦安县| 金秀| 大安市| 烟台市| 彭水| 正阳县| 耒阳市| 于都县| 泉州市| 平山县| 寻甸| 宿松县| 南丹县| 财经| 囊谦县| 青冈县| 高阳县| 清水河县| 武清区| 宁津县| 德兴市| 习水县| 彭州市| 清远市| 都昌县| 竹北市| 米易县| 化德县| 中阳县| 连城县| 商南县| 庆城县| 类乌齐县| 中卫市| 包头市|