亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)字文件關(guān)鍵特征的自動擷取方法

文檔序號:6580591閱讀:325來源:國知局
專利名稱:數(shù)字文件關(guān)鍵特征的自動擷取方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)字文件自動檢索方法,特別涉及一種數(shù)字文件關(guān)鍵特征的自動擷取方法。
目前因特網(wǎng)的通達程度與普及速度,使數(shù)據(jù)成長更為快速,各種檢索系統(tǒng)的使用情況更為頻繁。新一代信息檢索系統(tǒng),尤其是允許全文式(full-text)或內(nèi)容為主(content-based)的查詢系統(tǒng),必須能夠運用更有效率的自動化技術(shù),以提供簡易有效的檢索服務(wù)。然而此類自動化技術(shù),如自動索引、索引典自動建立、自動摘要、自動分類、相關(guān)回饋、自動過濾、近似檢索等,大部分都必須先進行文件關(guān)鍵特征擷取的動作,依此結(jié)果再進行其他的處理。因此,無論是書目性數(shù)據(jù)、數(shù)字全文數(shù)據(jù)、經(jīng)OCR(Optical CharacterRecognition,光學文字辨識)光學文字辨識而可能有錯字的噪聲(noisy)文件、或數(shù)字音樂文件,如MIDI(Musical Instrument DigitalInterface,音樂設(shè)備數(shù)字接口)格式的文件,關(guān)鍵特征自動擷取都是信息檢索系統(tǒng)的基礎(chǔ)與核心技術(shù),其重要性將隨網(wǎng)絡(luò)的發(fā)展而越來越明顯。
過去大部分的信息檢索系統(tǒng),不管使用者要查詢的最終媒體為何,僅能提供文字媒體的全文或書目性數(shù)據(jù)作為檢索的對象。如今,多媒體數(shù)據(jù),如音樂數(shù)據(jù),也有相當多的數(shù)字化文件出現(xiàn)在網(wǎng)絡(luò)上,供人下載利用。例如,以MIDI形式記載相當于完整樂譜內(nèi)容的數(shù)字文件,即如雨后春筍般在網(wǎng)站上出現(xiàn)。
音樂數(shù)據(jù)過去是以書目數(shù)據(jù)的形式提供查詢、取得與利用。使用者依照作曲者、標題等項目雖可檢索到數(shù)據(jù),然而此種檢索的彈性仍然有限。例如,我們常常僅記得音樂的片段旋律,卻不記得曲名或作曲家,此時便無法以這些書目數(shù)據(jù)查得音樂原件(即CD、錄音帶、錄像帶、樂譜、文件等音樂載體)。又如音樂創(chuàng)作者一有靈感,腦海中響出一段旋律,想要查詢過去是否有近似的音樂創(chuàng)作時,也無法以書目性數(shù)據(jù)庫就音樂內(nèi)容進行查詢。因此,在數(shù)字音樂數(shù)據(jù)越來越豐富的時代,提供有別于書目性數(shù)據(jù),而以內(nèi)容為主(content-based)的查詢方式,變得越來越重要。
然而,要建立一個實用性高并容許以內(nèi)容查詢的音樂檢索系統(tǒng)需要克服多項問題。其中,最常遇見的問題就是,使用者查詢時可能無法正確記憶曲調(diào)而輸入不完整的片段,甚至不完全正確的曲調(diào)。此種情形即稱為“字匯不匹配問題”。因此,“近似比對”在音樂檢索系統(tǒng)里特別重要。然而近似字串的比對,卻需要耗費較大的系統(tǒng)資源(計算時間、或儲存空間)。此外,音樂內(nèi)容適合用聽的,不適合用看的,查詢時對檢索結(jié)果一一的試聽檢視,也將耗費使用者許多時間。如果能夠擷取音樂內(nèi)容的關(guān)鍵片段,如關(guān)鍵旋律,作為檢索的對象,讓使用者在查詢音樂文件數(shù)據(jù)庫前,先查詢此關(guān)鍵旋律數(shù)據(jù)庫,如此,即使在較低的比對分數(shù)下,也可以得到正確的結(jié)果,而沒有太多不相關(guān)數(shù)據(jù)的干擾。這是因為關(guān)鍵旋律的數(shù)據(jù)量較少、較獨特,彼此間的差異較大,因此可以容許查詢條件更大的誤差,而仍可得到結(jié)果。一旦正確的關(guān)鍵旋律找到后,依此找其對應的音樂文件將不成問題,因為關(guān)鍵旋律是原音樂文件的片段,完全沒有誤差,所以不會產(chǎn)生查詢不匹配的問題。其整體的效果是,查詢反應時間與檢索失敗的情況降低,而同時增強近似比對的容錯能力。
就文字數(shù)據(jù)而言,其關(guān)鍵詞(或關(guān)鍵片語)的作用,就如同上述關(guān)鍵旋律對于數(shù)字音樂文件的用處一樣。由于過去少有方法能同時針對各種數(shù)字媒體擷取其關(guān)鍵特征,下面的說明,分別就文字數(shù)據(jù)的關(guān)鍵詞自動擷取,以及數(shù)字音樂數(shù)據(jù)的關(guān)鍵旋律自動擷取,說明過去采用的方法及其優(yōu)缺點。
從文獻的分析得知,文字數(shù)據(jù)關(guān)鍵詞擷取的技巧主要有三種方法。第一種為“詞庫比對法”即利用已建立的詞庫,來比對輸入文件(或文句),將文件中出現(xiàn)在詞庫中的片語擷取出來。此種方法制作簡單,只要將詞庫中的每個詞,去比對是否出現(xiàn)在輸入文件中即可。其結(jié)果都是詞庫中的正確詞匯,但并不保證所有關(guān)鍵詞都能被擷取出來。除此之外,其缺點還包括需要耗費人力、時間維護詞庫以容納各個領(lǐng)域的專業(yè)用語與新生詞匯,無法應付未曾預料的人名、地名、機構(gòu)名等專有名稱,且詞庫越大比對速度越慢。
第二種為“文法剖析法”通過自然語言處理技術(shù)的文法剖析程序,剖析出文件中的名詞片語,再運用一些方法與準則,過濾掉不適合的詞匯。其結(jié)果幾乎也都是有意義的名詞片語,但大部分的剖析程序,需要藉助已經(jīng)建立的詞典或語料庫,因此其缺點也和詞庫比對法一樣。除此之外,有些文法剖析法甚至只能剖析合乎文法的完整文句,使得書目、OCR噪聲文件等數(shù)據(jù)里的關(guān)鍵詞無法被擷取出來。
第三種方法為“統(tǒng)計分析法”通過對文件的分析,累積足夠的統(tǒng)計參數(shù)后,再將統(tǒng)計參數(shù)符合某些條件的片語擷取出來。最簡單的統(tǒng)計參數(shù)是對詞匯發(fā)生的頻率計數(shù),即詞頻,將詞頻落在某一范圍的詞匯取出。由于沒有用到詞庫或語料庫,會有擷取錯誤的情況發(fā)生,得到無意義或不合法的詞匯。此外,統(tǒng)計參數(shù)不足的關(guān)鍵詞無法被選到。然而其優(yōu)點是較不受語文國別與句型的限制,而且可以擷取出未曾被詞庫、語料庫網(wǎng)羅的專業(yè)用語、新生詞匯與專有名稱等片語。
其他的方法還包括上述方法的綜合運用,或加入一些變化。例如,利用一些排版規(guī)則,將重要的片語取出,如標題項、條列項中的文字,或強調(diào)詞(大寫、字頭語、斜體、加粗、底線、引號內(nèi)文句)等??梢韵胍?,各個方法都有其優(yōu)缺點,運用時需要針對不同的環(huán)境條件加以考慮。
國內(nèi)對中文關(guān)鍵詞自動擷取的問題也有研究。清華大學曾嘗試擷取關(guān)鍵詞作為書后索引(book index),其主要方法為運用電子字典協(xié)助斷出詞匯,再以統(tǒng)計方式配合自然語言處理技術(shù)剖析名詞片語,最后再設(shè)定過濾條件,篩選索引詞匯。在成效評估方面,以一本軟件使用手冊為對象,相對于人工制作的索引,其精確率與召回率僅能達到63%的程度。至于導致錯誤的主要來源有斷詞錯誤(42%)、統(tǒng)計特征不足(39%)、以及無法處理復雜語法結(jié)構(gòu)(19%)。
中央研究院也有關(guān)鍵詞自動擷取運用于信息檢索的研究。其主要作法是,先構(gòu)建一種稱為PAT-Tree的數(shù)據(jù)結(jié)構(gòu),再輔以詞頻等統(tǒng)計特征擷取出關(guān)鍵詞,其正確率約為81%。PAT-tree雖然在信息檢索上具有優(yōu)良的特性,不過其建造過程需耗費相當長的時間,例如,構(gòu)建600Mega字節(jié)的數(shù)據(jù)需要一個星期的時間??梢韵胍?,此種方式的有效運用,必須要能改進PAT-tree的構(gòu)建速度。
上述方法在各方面有著不同的缺點,雖然實際運用于文字數(shù)據(jù)時,仍可獲得部分成效,但是若考慮特殊條件的情況,例如OCR、語音辨識等噪聲文件時,則上述方法便不適用,或其成效將下降到難以實用的地步。例如,由于“噪聲文件”內(nèi)出現(xiàn)的詞匯可能包含辨識錯誤的重要片語,其錯誤情況難以事先預測。在無法預期文件會包含哪些錯誤卻重要的詞匯的情況下,無法應用需事先構(gòu)建詞庫的“詞庫比對法”。其次,由于錯誤的文字夾雜在文句中,使文句變得無文法規(guī)則可言,也就無法利用“文法剖析法”來擷取關(guān)鍵詞。此外,辨識出來的文字大都為純文字文件,沒有任何標示,也無法適用排版規(guī)則來辨識詞匯。最后,“統(tǒng)計分析法”雖可擷取出新生詞匯,但此方法需要大量數(shù)據(jù)的樣本出現(xiàn),以決定適當?shù)慕y(tǒng)計參數(shù),統(tǒng)計參數(shù)不足的關(guān)鍵詞,將無法被選到,因此也限制了其在噪聲文件上的應用。
在音樂數(shù)據(jù)的關(guān)鍵旋律自動擷取方面,由于重復性(repetition)是音樂創(chuàng)作的規(guī)則之一,且重復片段經(jīng)常是樂曲中重要的部分,是作曲者要強調(diào)的部分,也是閱聽者較容易記住的部分,使用者檢索時,也較容易以此片段進行查詢,因此是相當值得擷取的重要特征。因為此種內(nèi)容特征具備代表性,可視為樂曲的“關(guān)鍵旋律”(key melody)或“主題旋律”(theme)。與文字檢索對比,關(guān)鍵旋律具有“摘要”或“關(guān)鍵詞”的效果,在交互式的檢索環(huán)境下,可加快瀏覽、篩選的過程,亦可用在查詢提示、查詢擴展、相關(guān)回饋等功能上,進一步提高檢索成效。
音樂數(shù)據(jù),包括其旋律(melody)、節(jié)奏(rhythm)與和弦(chord),都可以用字串的形式表達出來,因此可運用擷取重復字串的方法,來擷取其重復片段做為重要的音樂內(nèi)容特征。過去,有針對此問題的研究,然而其計算復雜度與所需的存儲器空間均為O(n2),其中n為音樂數(shù)據(jù)的長度(Hsu,Liu,&Chen,1998)。后來有提出一個改進其計算復雜度的方法(Liu,Hsu,Chen,1999),但此方法不能擷取重疊的(overlapping)重復字串。目前,已發(fā)現(xiàn)有較快速的方法可在O(n log n)擷取出非重疊(non-overlapping)的重復字串。至于可重疊的重復字串方面(例如以音名表示的旋律字串ABCABCABCA,其中ABCABCA以重疊的方式出現(xiàn)了兩次—加下劃線的一次,斜體字的一次),目前則還沒有較快速的擷取演算法發(fā)展出來。由于音樂數(shù)據(jù)本身自我重疊的情形并不少見,因此可擷取可重疊重復字串(overlapped repeating pattern)的方法,相比較而言沒有運用上的限制,從而較適合音樂關(guān)鍵片段的擷取。
一些重復字串(包括非重疊與可重疊)的擷取方法,在運用時有一些限制。例如Karp等(Karp,Miller,& Rosenberg,1972),以及Soldano等人(Soldano,Viari,& Champesme,1995)的方法,就限定運用在兩種情形(一)找出所有字串長度為K的重復字串;(二)找出最長長度為L的重復字串。然而一個理想的方法應該是能夠找出所有相異的最長可重疊重復字串。例如旋律字串EFGABCABCAEFG,從其中可找出所有長度為3的重復字串EFG、ABC與BCA,然而重復兩次的ABC與BCA,都只是同樣重復兩次的字串ABCA的子字串(substrings),其在檢索上的角色可由ABCA完全代替,因此較不具代表性。另外,若只找出最長長度為4的重復字串ABCA,則會漏掉另一個較短但不一樣的重復字串EFG。由于EFG的角色并不能由ABCA取代,使用者可能熟悉重復旋律EFG而以該旋律查詢,因此光擷取出ABCA并不完整。
綜上所述,習知技術(shù)有多項的缺點,現(xiàn)列述如下1.在詞庫比對法中,雖然結(jié)果都是詞庫中的正確詞匯,但并不保證所有關(guān)鍵詞都能被擷取出來。此外,其需要耗費大量人力、時間維護詞庫,無法應付未曾預料的人名、地名、機構(gòu)名等專有名稱,而且詞庫越大比對速度越慢;2.大部分的文法剖析程序,需要藉助已經(jīng)建立的詞典或語料庫,因此其缺點也和詞庫比對法一樣。此外,有些甚至只能剖析合乎文法的完整文句,使得書目、標題及OCR文字等數(shù)據(jù)里的關(guān)鍵詞無法被擷取出來;3.統(tǒng)計分析法雖可擷取出新生詞匯,但此方法需要大量數(shù)據(jù)的樣本出現(xiàn)以決定適當?shù)慕y(tǒng)計參數(shù),統(tǒng)計參數(shù)不足的關(guān)鍵詞將無法被選到,因此限制了其應用的范圍;4.關(guān)于音樂旋律部分,運用擷取重復字串的方法,其計算復雜度為O(n2),或者有一種改進計算復雜度的方法,但此方法不能擷取重疊的重復字串;以及5.一些重復字串的擷取方法,在運用時有一些限制。例如僅能找出所有字串長度為K的重復字串,或是僅能找出最長長度為L的重復字串。
有鑒于此,本發(fā)明的目的是提供一種數(shù)字文件關(guān)鍵特征的自動擷取方法,其能快速擷取所有相異的最大可重疊重復片段(maximal overlappedrepeated patterns),可應用于任一種可用文字符號表達的數(shù)字文件且沒有運用的限制。
按照本發(fā)明,提供了一種數(shù)字文件關(guān)鍵特征的自動擷取方法,此數(shù)字文件中包括有復數(shù)個元素,任一個元素包括至少一個字節(jié)(byte),這些元素重復出現(xiàn)的次數(shù)稱為出現(xiàn)次數(shù)。而擷取任一個元素時,此元素所具備的出現(xiàn)次數(shù)必須大于一個臨界值。此外,還有一分隔符號以做為參考標記。本數(shù)字文件關(guān)鍵特征的自動擷取方法首先將此數(shù)字文件轉(zhuǎn)換為一個條列數(shù)據(jù)結(jié)構(gòu),此條列數(shù)據(jù)結(jié)構(gòu)包括至少一個條列元素。接下來,設(shè)定一個組合條列區(qū)為空虛狀態(tài)。
而后,依序取出條列數(shù)據(jù)結(jié)構(gòu)中的這些條列元素。若取出的條列元素為分隔符號,則略過不處理;若取出的條列元素的出現(xiàn)次數(shù)大于臨界值,且后續(xù)元素的出現(xiàn)次數(shù)也大于此臨界值,則進行一個組合程序,并將由此組合程序所產(chǎn)生的新元素儲存于組合條列區(qū)中;否則,若取出的條列元素的出現(xiàn)次數(shù)大于臨界值,且此條列元素并未與鄰接于此條列元素之前的一個前置元素進行上述的組合程序,則將此條列元素儲存到一個最后條列區(qū)中,而當此組合條列區(qū)中的最后一個新元素不是分隔符號時,就在組合條列區(qū)的末端加入分隔符號。
之后,將組合條列區(qū)轉(zhuǎn)換為條列數(shù)據(jù)結(jié)構(gòu),重復進行上述步驟,直到到達停止條件。最后將最后條列區(qū)中的這些條列元素依照一個顯示條件加以顯示,以提供關(guān)鍵特征檢索之用。
在上述自動擷取方法中,所述元素包括東方文字字元(character),西方語文字元(alphabet letter),西方語文單字(word)或音樂音符(note)。
綜上所述,本發(fā)明的優(yōu)點條列如下1.可擷取新生詞匯、專有名詞、人名、地名、機構(gòu)名等詞匯;2.不要求文件的完整性,可適用于有噪聲的環(huán)境,如OCR文件、語音辨識文件等等;3.不需要額外資源,如字典、詞庫、文法剖析器、語料庫等需耗費大量人力事先建立或維護的資源。
4.沒有長度限制,不需要檢視過所有的子字串,因此擷取速度快,一面合并出較長的字串,一面就把不可能的子字串移除不進一步考慮;5.以規(guī)則法擷取數(shù)據(jù),使得統(tǒng)計特征非常低(僅出現(xiàn)兩次)的關(guān)鍵詞也可被擷取到;6.不僅適用于文字數(shù)據(jù),也適用于其他可表達成字串或有序集合的數(shù)據(jù),如音樂、語音、音訊、圖像序列、時間序列、DNA序列等等。運用時,只要將數(shù)據(jù)型態(tài)數(shù)據(jù)作適當?shù)牧炕幚恚⒎鶖?shù)據(jù)的差異,編碼成文字符號即可;7.計算復雜度理論的最佳值為O(L*N),其中L為最長重復字串的長度,N為輸入字串的長度。在實施上,也可以通過雜湊函數(shù)(hash function)與串列的交叉運用,以較簡單的作法近似理論的最佳值;以及
8.可做為其他進階運算的基礎(chǔ)可運用在自動索引、索引典自動建立、自動摘要、自動分類、相關(guān)回饋、自動過濾、概念檢索、相關(guān)詞提示、相關(guān)詞回饋、動態(tài)分類目錄、信息視覺化等信息檢索及其他相關(guān)的應用上。
為使本發(fā)明的上述和其他目的、特征、和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附圖式,作詳細說明如下

圖1繪示的是習知技術(shù)的一種關(guān)鍵詞擷取方法的虛擬碼;圖2繪示的是根據(jù)本發(fā)明的一個較佳實施例的部分虛擬碼;圖3繪示的是通過雜湊函數(shù)記錄與存取字串的出現(xiàn)次數(shù)的一較佳實施例運行過程;圖4繪示的是根據(jù)本發(fā)明的一個較佳實施例的執(zhí)行過程;圖5繪示的是根據(jù)本發(fā)明的一個較佳實施例的虛擬碼;圖6A、6B繪示的是本發(fā)明的一個較佳實施例用在中英文同時存在的環(huán)境下,進行關(guān)鍵字詞選取的結(jié)果(在本實施例中,僅顯示片語而沒有顯示單字詞);圖7A、7B、7C繪示的是根據(jù)本發(fā)明針對中英文環(huán)境開發(fā)的一個較佳實施例,其直接使用在韓文關(guān)鍵字詞選取上的結(jié)果;圖8繪示的是根據(jù)本發(fā)明的一個較佳實施例,以O(shè)CR文件進行關(guān)鍵字詞選取所得的結(jié)果;圖9繪示的是根據(jù)本發(fā)明的一個較佳實施例,對另一份OCR文件進行關(guān)鍵字詞選取所得的結(jié)果;圖10A、10B繪示的是根據(jù)本發(fā)明的一個較佳實施例進行關(guān)鍵字詞選取后,將其結(jié)果做為動態(tài)目錄的一種表示方法;以及圖11繪示的是根據(jù)本發(fā)明,進行音樂內(nèi)容檢索(content-based musicretrieval)的一個較佳實施例。
對音樂文件來說,重復片段可做為關(guān)鍵旋律擷取的依據(jù),對文字數(shù)據(jù)而言,重復片段也可以作為關(guān)鍵詞自動擷取的基礎(chǔ),這是因為一篇文章在討論某個主題時,常會提及某些字串好幾次。例如,一篇討論信息檢索的文章,免不了會提及“信息檢索”、“檢索系統(tǒng)”、“信息檢索系統(tǒng)”等字串好幾次。因此,最理想的關(guān)鍵特征自動擷取方法,是一套至少能擷取所有相異的最大可重疊重復片段技術(shù)。所謂最大在此是指字串長度最長,或出現(xiàn)次數(shù)最高的意思。亦即,某個重復片段,若不是任何一個重復片段的子字串時,應當被擷取出來;另外,某個重復片段,雖然是另一個重復字串的子字串,若其出現(xiàn)次數(shù)比包含其字串的出現(xiàn)次數(shù)還高,則對文字數(shù)據(jù)而言,它是有用的片段,也應當被擷取出來。例如,“信息檢索”與“信息檢索系統(tǒng)”有廣義詞與狹義詞的關(guān)系。當這兩個詞出現(xiàn)次數(shù)一樣多時,也就是每次出現(xiàn)“信息檢索”時,都是出現(xiàn)在“信息檢索系統(tǒng)”這個字串內(nèi),那么使用者查詢“信息檢索系統(tǒng)”都可以找到而且不會遺漏任何出現(xiàn)“信息檢索”的地方,反之亦然,那么“信息檢索”一詞可以忽略不計,這樣可以避免擷取到諸如“息檢索”等同樣情況但不具意義的詞匯(在英文的例子中,我們希望擷取“publichigh school)”或者“high school”,但不希望擷取出“public high”一詞)。但若文件中別的地方也出現(xiàn)“信息檢索”一詞,使得其出現(xiàn)次數(shù)超過“信息檢索系統(tǒng)”時,則這個詞是“信息檢索系統(tǒng)”的廣義詞,就有擷取的價值。
為方便說明,下面我們將以英文大寫字母代表一個東方語文的文字(character)、或西方語文的單字(word)、或一個音樂音符(note)、或任何可表達成有序串列的一個元素。如此,字串“EFGABCABCAEFG”可以代表一篇以任何語文寫成的文章、一首音樂旋律、或一串有序串列。
過去在文字數(shù)據(jù)的關(guān)鍵詞自動擷取方法中,跟本發(fā)明比較接近的,是前述的“統(tǒng)計分析法”。圖1中的虛擬碼展示其中一種作法的主要程序。此方法中必須預定最長的字串擷取長度,然后將其所有的子字串列舉出來,并統(tǒng)計這些子字串的互相出現(xiàn)統(tǒng)計信息(mutual information)。其出現(xiàn)次數(shù)不超過某個臨界值、或其子字串的互相出現(xiàn)統(tǒng)計信息不超過另一個臨界值的字串都不會被擷取出來。
本發(fā)明從個別的元素開始,通過本發(fā)明的合并、移除與接受規(guī)則重復執(zhí)行,直到所有相異的最大可重疊字串都被擷取出來才停止。因此不需要預先設(shè)定字串的長度,也需額外統(tǒng)計子字串的互相出現(xiàn)統(tǒng)計信息,而且在擷取的過程中,不需列舉所有的子字串。不符合條件的子字串會在中間的過程中就被移除而不進一步處理,因此能大幅降低所需檢視的子字串的個數(shù)。
本發(fā)明主要分為三個處理階段首先,將輸入數(shù)據(jù)轉(zhuǎn)換成適當?shù)慕Y(jié)構(gòu),以供后續(xù)使用;之后,根據(jù)本發(fā)明的合并、移除與接受規(guī)則,重復處理數(shù)據(jù),直到?jīng)]有數(shù)據(jù)可以處理為止;末了,對最后接受的重復字串,做適當?shù)呐判蚺c過濾。在這三道步驟中,前兩個步驟為主要的處理步驟,在執(zhí)行的過程中會根據(jù)效率換用不同的實施方法。執(zhí)行完成后,即可擷取出前述所有相異的最大可重疊重復片段,且這部分的步驟與應用領(lǐng)域無關(guān)。最后的步驟則針對不同的應用領(lǐng)域(文字、音樂、或其他媒體),對之前的結(jié)果給予少許不同的過濾處理,使最后的結(jié)果符合應用領(lǐng)域的需求。
請參考圖2,其以虛擬碼簡要說明前兩個步驟的處理程序。必須注意的是,這個處理程序可以有好幾種作法,其中會造成不同實施方法的主要需求是為了記錄與存取字串的出現(xiàn)次數(shù)。這個動作就是圖2中的Freq()函數(shù)。
存取一個字串的出現(xiàn)次數(shù),最快的演算方法可利用雜湊函數(shù)(hashfunction)來完成。雜湊函數(shù)是一種可儲存大量鍵值對(key-value pairs)并可依“鍵”(key)來快速取得其值(value)的方法。其理論上的平均存取時間為常數(shù)時間,即O(1),與鍵值對的數(shù)量多少無關(guān)。然而雜湊函數(shù)比較不適合字串長度很長的鍵(key)。以我們擷取音樂關(guān)鍵旋律的實際經(jīng)驗為例,中文流行音樂的最長關(guān)鍵旋律其平均長度為整首曲子的20%,而西洋古典音樂則為14%。此情形會讓實施一個理論上最佳的雜湊函數(shù)變得較不容易。
另一個可選用的方法是PAT Tree、PAT array或Suffix array。然而這些方法的存取時間較長,為O(L+logN),其中L為鍵的長度,N為鍵值對的個數(shù),而且如前所述,它們在構(gòu)建其樹狀結(jié)構(gòu)或陣列時,會花費較大空間與時間,不適合本發(fā)明中會動態(tài)產(chǎn)生鍵值對的環(huán)境。
為此,本發(fā)明自行發(fā)展了一種作法,其通過位置串列,使長字串的出現(xiàn)次數(shù)容易累計與存取。如此,在處理短字串時,可利用雜湊函數(shù)的優(yōu)點,快速存取出現(xiàn)次數(shù),而在處理長字串時則切換到位置串列進行處理,以避開雜湊函數(shù)的缺點。如此一來,則可使整個處理程序很容易就實施出逼近理論的最佳速度。
請參照圖3,其顯示了通過雜湊函數(shù)記錄與存取字串的出現(xiàn)次數(shù)。字串冒號后面的數(shù)字是字串的出現(xiàn)次數(shù)。此作法的第一道步驟是將輸入轉(zhuǎn)換成由多個單一字元(即元素)組成的一個條列數(shù)據(jù)結(jié)構(gòu)。在表示時通常將其元素以逗點分開,并按照順序列舉在圓括弧內(nèi)。轉(zhuǎn)換時則是依輸入順序轉(zhuǎn)換,且同時通過雜湊函數(shù)統(tǒng)計其出現(xiàn)次數(shù),如圖3所示。在進入第二道步驟的回圈之前,在此條列數(shù)據(jù)結(jié)構(gòu)的最后面加了一個分隔符號(separator,在此以x表示),以方便依序從頭至尾處理這個串列時,可以自然地處理串列的最后一個元素。
必須注意的是,雖然在本實施例中是以單一字元做為一個元素,但這僅是為了說明方便,并非限定本發(fā)明只能以單一字元為元素來進行分析。
在第二道步驟中,本發(fā)明依序?qū)⑾噜彽膬蓚€元素拿出來處理,根據(jù)表現(xiàn)在執(zhí)行流程中的合并、接受與移除規(guī)則,將兩元素合并并保留到下次回圈再繼續(xù)處理、或接受兩元素中的第一個元素為最后擷取出的元素、或因合并與接受條件都不符合,而不再保留兩相鄰元素中的第一個元素。
在此,本發(fā)明合并的規(guī)則是兩相鄰元素的出現(xiàn)次數(shù)(即Freq(LIST[I]與Freqp(LIST[I+1])都必須大于一個預設(shè)的臨界值(threshold)。此臨界值可由其數(shù)據(jù)大小與想要擷取的重復片段數(shù)目而定,通常只要設(shè)為1即可,表示出現(xiàn)次數(shù)超過1次的最大重復字串都要擷取出來。
至于合并的動作,在本實施例中,是將相鄰的第二個元素的最后一個字元取出,并到第一個元素字串的最后面。當我們產(chǎn)生出一個新的合并字串(即新元素)后,就通過雜湊函數(shù)累積此新元素的出現(xiàn)次數(shù),以方便以后的取用。
在這種作法中,除了運用雜湊函數(shù),需要全域性的計算(globalcomputation)外,其他動作都只要局部性的計算(local computation)即可,亦即每次計算都可以做到只需存取鄰近的數(shù)據(jù)即可。步驟1與2的時間復雜度分析如下步驟1只將輸入字串斷開成串列,然后累計其出現(xiàn)次數(shù)。在運用常數(shù)時間的雜湊函數(shù)中,這個步驟所需時間平均為O(N),即輸入字串的長度。步驟2重復地處理一個串列,其最長的長度為N(只出現(xiàn)在一開始,之后其長度就急劇下降),每次處理串列中的元素時,僅作為雜湊函數(shù)與局部性數(shù)據(jù)的存取,因此,每次處理一次串列,平均需時O(N)。由于重復到第L次可以擷取出長度L的重復字串,假若最長的重復字串為L時,則步驟2的計算復雜度為O(LN)。因此整個步驟1與2的平均計算復雜度為O(LN)。這個結(jié)果是在假設(shè)雜湊函數(shù)的平均存取時間為O(1)的情況下獲得的。
然而,正如前述的分析,當字串長度變長時,要實施一個具備理論上最佳的計算時間的雜湊函數(shù)將變得相當困難。因此,下面提出本發(fā)明的另一種作法來處理此種情形。
請參考圖4,其顯示本發(fā)明中利用位置串列的一個較佳實施例的執(zhí)行過程。在這個作法中,我們把輸入串列,轉(zhuǎn)換成另一個位置串列(position list),亦即此串列中的每個元素為原串列元素的所有出現(xiàn)位置。以輸入串列(E,F(xiàn),G,A,B,C,A,B,C,A,E,F(xiàn),G)為例,其位置串列為(111,212,313,4710,58,69,4710,58,69,111,212,313)。其中E出現(xiàn)在第1及第11的位置,F(xiàn)出現(xiàn)在第2及第12的位置,其余依此類推。若輸入串列為圖3-中做完第二次回圈后的串列狀態(tài),即(EFG2,X,ABC2,BCA2,CAB1,ABC2,BCA2,x,EFG2),則其位置串列為(111,x,47,58,6,47,58,x,111)。
在此,出現(xiàn)次數(shù)可從元素包含多少位置看出,若在第一步驟就做好記錄附加于元素內(nèi),爾后只要做遞減的更新與讀取的動作即可,不用再耗費資源進行計算。至于合并的動作,在本實施例中,是找出兩元素所有相鄰的位置,然后記錄其開始的位置即可。以圖4范例中LIST的“4710”與“58”兩元素為例,他們原來的元素分別為A與B,分別出現(xiàn)在原來串列中的第4,7,10與5,8的位置。從這兩組位置可知,A與B在位置4與5緊鄰出現(xiàn),在位置7與8又一起出現(xiàn),亦即A與B依照順序一共一起出現(xiàn)兩次,所以我們就將位置“47”記錄下來,即可完成合并A與B的動作。
當位置串列的某元素被擷取出來后,隨即根據(jù)目前處理的回圈數(shù),將該元素轉(zhuǎn)換成原字串的片段。由于每做完一次回圈,被合并的字串長度就加1,因此回圈數(shù)可以反映出字串的長度。如圖4所示,在做完第三次回圈之后,必須將擷取出的“111”還原。從其指示的位置可知,此字串出現(xiàn)的開始位置在第1及第11的位置,其出現(xiàn)次數(shù)為2,且是在做第三次回圈時擷取出的,所以其長度為三,即“EFG”。
在本實施例中,除了第一道步驟轉(zhuǎn)換串列時,需要全域性的計算外,其他動作都只要局部性的計算即可,亦即每次計算都可以做到只需存取鄰近的數(shù)據(jù)。這種作法的最大好處是,不再用字串本身當鍵來查詢其出現(xiàn)次數(shù),而是根據(jù)其記錄的位置個數(shù)來獲得其出現(xiàn)次數(shù)。其記錄的數(shù)據(jù)不是字串本身,而是出現(xiàn)的位置,所以字串多長都無所謂。其較差的情況發(fā)生在某些串列元素出現(xiàn)在非常多的位置時,這時就會花費較多的存儲器空間來記錄這些位置。然而當重復字串長度越長時,其可能重復出現(xiàn)的次數(shù)就越少,因此要記錄的位置就越少。我們實際觀察音樂數(shù)據(jù)顯示,幾乎所有較長的重復片段僅重復二到三次(如前所述,中文流行音樂的最長關(guān)鍵旋律其平均長度為整首曲子的20%,而西洋古典音樂則為14%。因此,一首中文流行歌曲,只要其最長重復片段重復二次,就占去整首曲子40%的長度)。因此,對于每個還未被擷取出的字串,我們只需記錄其二到三個出現(xiàn)位置即可,也就是位置串列記錄的位置總數(shù)通常為2N到3N,即O(N)。所以每一次的回圈,其處理位置串列的時間復雜度為O(N)。
請參考圖5,其顯示了根據(jù)本發(fā)明的一個較佳實施例的虛擬碼。在回圈數(shù)較低,擷取的是較短的重復字串時,本發(fā)明利用雜湊函數(shù)來近似理論的最佳計算時間;在回圈數(shù)增多,擷取較長的重復字串時,本發(fā)明就利用位置串列來逼近理論的最佳計算時間。這使得我們可以用簡單的實施方式,將全部的計算時間逼近在O(LN)的最佳狀況下。
對文字數(shù)據(jù)來說,圖5中步驟2擷取的關(guān)鍵詞可能是有錯誤而無意義的重復字串。對音樂數(shù)據(jù)而言,步驟2可能會擷取多余的重復字串。因此步驟3根據(jù)應用的情況,過濾不佳的重復字串。過多的重復字串,頂多只是增加后續(xù)處理的數(shù)據(jù)量,較不影響整體的成效,但無意義的關(guān)鍵詞,可能會造成信息檢索的困擾。
步驟3過濾的方法,是將字串中的開頭及結(jié)尾的停用字(stop words),如of、on、the等介系詞、代名詞或其他功能詞(functional words),以遞回的方式刪除,直到該字串的開頭與結(jié)尾都不含停用字為止。而在中文部分,由于中文不像英文有明顯的停用字,每個中文字都可能為詞匯或片語中有用的字,因此其停用字要盡可能的少,在此僅有“的”(of)一字。請參考圖6A以及圖6B,其顯示了本發(fā)明用在中英文同時存在的環(huán)境下,進行關(guān)鍵字詞選取的結(jié)果(在本實施例中,僅顯示英文片語而沒有顯示英文單字詞)。在本實施例中的第六個詞“FGDC的Digital Geospatial Metadata”是一個中英文合用的關(guān)鍵詞,顯示此方法可運用于多種語言的環(huán)境。
在另一個實施例中,使用根據(jù)本發(fā)明針對中文與英文做關(guān)鍵詞擷取的程序。在區(qū)分中、英文時,以字串的第一個字節(jié)(byte)做判斷,若其10進位數(shù)字超過127,則此字節(jié)與其后面的字節(jié)就被一起取出來當作是一個雙字節(jié)的中文字(2-byte coded Chinese character),反之則視為一個單字節(jié)的英文字(1-byte English character)。當一個字被斷出來后,再判斷其是否為中文或英文的標點符號,若不是,再往后斷出一個完整的英文單字(word),之后才送入關(guān)鍵詞擷取的程序。所以這樣的程序用來擷取韓文的文件時,會有兩點限制一、韓文的標點符號,可能在中文碼里是個合法的字,這時擷取出的“韓文詞”,可能帶有韓文的標點符號。二、同理,中文的標點符號,可能為韓文的合法字,這時會因為刪除此標點符號而擷取出不合法的韓文詞匯。但是請參考圖7A、7B及7C,其中,圖7C的關(guān)鍵詞由圖7B中的韓文翻譯,并根據(jù)其韓文長度作重新排序而得。從本發(fā)明人所做的實驗得知,盡管有這兩點限制,本發(fā)明雖然沒有韓文的語庫,也從未對韓文文章進行解析,但是仍然可以把韓文的關(guān)鍵詞擷取出來。這點可以說明,本方法具有與語文無關(guān)的特性。
本發(fā)明難免會斷出一些錯誤的詞匯。為了解其正確率,本發(fā)明人會分別就大量的中、英文書目記錄與中文新聞全文數(shù)據(jù)進行實驗。本發(fā)明人從35多萬筆中英文書目記錄的題名(即書名,title)中,自動擷取出11萬多條詞,取其中樣本8,982條詞,經(jīng)人工判斷得出合法詞8,123條,不合法詞859條,正確率為90.4%。另外從13,035篇新聞全文文件中擷取出66,500條詞,同樣經(jīng)人工判斷得出合法詞57,389條,不合法詞9,111條,擷取正確率為86.3%。
如同前述,關(guān)鍵特征自動擷取,可直接運用在信息檢索的“相關(guān)詞提示”與“相關(guān)詞回饋”當中。請參考圖8,在本實施例中,本發(fā)明人從1300篇中國大陸、臺灣、香港早期剪報資料的OCR文件內(nèi),擷取出40709個詞匯做成一個關(guān)鍵詞庫。使用者以“鄉(xiāng)村干部”查詢此關(guān)鍵詞庫時,會得到“鄉(xiāng)村干部”,“農(nóng)村干部”,“鄉(xiāng)村干都”以及“工業(yè)干部”等四個詞跟檢索詞相關(guān),使用者可將其打勾選用后送入系統(tǒng)進行OCR文件的查詢。在這四個選用詞中,第一個與查詢詞完全一樣。第二個則在字串上與字義上都與查詢詞相近,而中文常有這種特性。第三個打勾詞可以看出其最后一個字是個辨識錯誤的字,除此之外它與查詢詞完全一樣。雖然在本文中這個辨識詞匯只出現(xiàn)兩次,但仍然可被我們的方法自動擷取出來,提示使用者選用,從而降低檢索時遺漏數(shù)據(jù)的情況。最后一個選用詞在字串上與字義上也與查詢詞相近,使用者選用后,可以找到較完整的數(shù)據(jù)。
此外,請參考圖9,這也是在OCR文件上使用本發(fā)明進行關(guān)鍵字擷取的結(jié)果。使用者在不用一一檢視個別文件的內(nèi)容下,就對數(shù)據(jù)庫的內(nèi)容有大致的了解,此正是“信息視覺化”所要達到的功能之一。
本發(fā)明提供的關(guān)鍵詞庫,除了可提供相關(guān)詞提示的功能外,也可以提供“動態(tài)目錄”的功能。請參考圖10A及10B,當使用者下達一個很短的查詢詞如“DVD”時,系統(tǒng)回應DVD大約出現(xiàn)在482篇文件中。這是相當龐大的結(jié)果,一一瀏覽這些文件將耗時費力。根據(jù)本發(fā)明所建立的關(guān)鍵詞庫,則能進一步提示使用者可以用更特定的字串,如“DVD Player”等詞可以快速的縮小查詢范圍。
最后,圖11顯示了音樂內(nèi)容檢索(content-based music retrieval)的例子,其中查詢旋律為古典音樂Ave Maria的其中一段“Do Si Do Mi Ra Do”,以簡譜(simplified notation)表示為“17-1321”。前面提到,音樂內(nèi)容的重復性很高(流行音樂平均有20%的重復,而古典音樂有14%的重復),如果能擷取其重復片段提供利用,則檢索時所需比對的數(shù)據(jù)量將大幅減少,且不用再浪費資源來比對完全一樣的重復數(shù)據(jù),因而可用同樣的時間進行較復雜的運算來容許查詢條件的較大誤差。在檢視結(jié)果時,也因數(shù)據(jù)量較少,節(jié)省音樂數(shù)據(jù)的傳輸時間、節(jié)省使用者閱聽的時間,進而提高整體的效率。前提是,這些重復片段必須是使用者會選用的查詢條件。因此,關(guān)鍵特征的自動擷取,對類似的多媒體數(shù)據(jù),非常重要。
當然,本發(fā)明并不限定僅能應用于這些狀況。其他如自動索引,索引典自動建立,自動摘要,自動分類,相關(guān)回饋,自動過濾,概念檢索,相關(guān)詞提示,以及相關(guān)詞回饋等等,也是可以利用根據(jù)本發(fā)明所做出的關(guān)鍵詞庫而提供更快速且準確的服務(wù)。
綜上所述,現(xiàn)將本發(fā)明的優(yōu)點略述如下。本發(fā)明提供快速且準確性較習知技術(shù)好的數(shù)字文件關(guān)鍵特征的自動擷取方法。其可應用在各種領(lǐng)域以及語文上,且不需花費大量人力及時間就可以保證有優(yōu)良的詞庫品質(zhì)。
雖然本發(fā)明已以較佳實施例揭露如上,然其并非用以限定本發(fā)明,本領(lǐng)域任何技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,可以對其作出各種更動與潤飾,因此本發(fā)明的保護范圍應當由后附的權(quán)利要求所限定的為準。
權(quán)利要求
1.一種數(shù)字文件關(guān)鍵特征的自動擷取方法,所述數(shù)字文件中包括有復數(shù)個元素,任一元素都包括至少一個字節(jié),且將任一元素的重復出現(xiàn)次數(shù)稱為一出現(xiàn)次數(shù),而擷取任一元素時,該元素所具備的出現(xiàn)次數(shù)必須大于一臨界值,此外,還有一分隔符號以做為參考標記,所述自動擷取方法包括(A)將所述數(shù)字文件轉(zhuǎn)換為一條列數(shù)據(jù)結(jié)構(gòu),該條列數(shù)據(jù)結(jié)構(gòu)包括至少一個條列元素;(B)設(shè)定一組合條列區(qū)為一空虛狀態(tài);(C)依序取出所述條列數(shù)據(jù)結(jié)構(gòu)中的任一條列元素,若取出的條列元素為分隔符號,則略過不處理,若取出的條列元素的出現(xiàn)次數(shù)大于所述臨界值,且臨接于所述條列元素之后的一后續(xù)元素的出現(xiàn)次數(shù)也大于所述臨界值,則進行一組合程序,并將該組合程序所產(chǎn)生的一新元素儲存于所述組合條列區(qū)中,否則,若取出的所述條列元素的出現(xiàn)次數(shù)大于所述臨界值,且所述條列元素并未與鄰接于所述條列元素之前的一前置元素進行所述組合程序,則將所述條列元素儲存到一最后條列區(qū)中,且當所述組合條列區(qū)中的最后一個新元素不是分隔符號時,就在所述組合條列區(qū)的末端加入分隔符號;(D)將所述組合條列區(qū)轉(zhuǎn)換為條列數(shù)據(jù)結(jié)構(gòu),重復進行步驟(B)-(C),直到到達一停止條件;以及(E)將所述最后條列區(qū)中的所述些條列元素依照一顯示條件加以顯示,以供關(guān)鍵詞特征檢索之用。
2.如權(quán)利要求1所述的自動擷取方法,其中所述組合程序包括,將所述后續(xù)元素與所述條列元素相異的部分加到所述條列元素末端以形成所述新元素,并將所述新元素加入于所述組合條列區(qū)的末端。
3.如權(quán)利要求1所述的自動擷取方法,其中所述停止條件為,所述條列數(shù)據(jù)結(jié)構(gòu)中除了所述分隔符號外,所剩下的條列元素數(shù)目小于2。
4.如權(quán)利要求1所述的自動擷取方法,其中任一所述條列元素包括任一所述元素的一位置組合。
5.如權(quán)利要求4所述的自動擷取方法,其中所述位置組合由代表所述元素在所述數(shù)字文件中所出現(xiàn)的位置的數(shù)字組合而成。
6.如權(quán)利要求1所述的自動擷取方法,其中任一所述條列元素包括任一所述元素以及相對應的出現(xiàn)次數(shù)。
7.如權(quán)利要求1所述的自動擷取方法,其中將所述最后條列區(qū)中的所述條列元素依照顯示條件加以顯示,包括將一停用字從所述最后條列區(qū)中的所述條列元素的開頭以及結(jié)尾去除。
8.如權(quán)利要求7所述的自動擷取方法,其中所述停用字包括介系詞,代名詞以及功能詞。
9.如權(quán)利要求1所述的自動擷取方法,其中將所述數(shù)字文件轉(zhuǎn)換為所述條列數(shù)據(jù)結(jié)構(gòu),包括根據(jù)所述元素中的第一個字節(jié)來判斷所述元素是否為中文及英文二者擇一。
10.如權(quán)利要求9所述的自動擷取方法,其中當判斷出為中文字或英文字之后,還判斷其是否為標點符號。
11.如權(quán)利要求10所述的自動擷取方法,其中當所述中文字或所述英文字為標點符號時,就在所述條列數(shù)據(jù)結(jié)構(gòu)中置入分隔符號。
12.如權(quán)利要求11所述的自動擷取方法,其中將所述最后條列區(qū)中的所述條列元素依照顯示條件加以顯示,包括將一停用字從所述最后條列區(qū)中的所述條例元素的開頭以及結(jié)尾去除。
13.如權(quán)利要求12所述的自動擷取方法,其中所述停用字包括介系詞,代名詞以及功能詞。
14.如權(quán)利要求1所述的自動擷取方法,其中所述元素包括東方文字字元,西方語文字元,西方語文單字或音樂音符。
15.如權(quán)利要求1所述的自動擷取方法,其中在設(shè)定所述組合條列區(qū)為所述空虛狀態(tài)時或之后,也將所述分隔符號加入于所述條列數(shù)據(jù)結(jié)構(gòu)的末端,并將所述分隔符號的出現(xiàn)次數(shù)設(shè)定為小于等于所述臨界值。
16.如權(quán)利要求1所述的自動擷取方法,其中所述數(shù)字文件為可表達成字串與有序集合的數(shù)據(jù)二者擇一的一信息。
17.如權(quán)利要求16所述的自動擷取方法,其中所述信息包括文字、音樂、語音、音訊、圖像序列、時間序列以及DNA序列。
18.如權(quán)利要求1所述的自動擷取方法,其中將所述最后條列區(qū)中的所述條列元素提供關(guān)鍵詞特征檢索之用,包括自動索引、索引典自動建立、自動摘要、自動分類、相關(guān)回饋、自動過濾、概念檢索、相關(guān)詞提示、相關(guān)詞回饋、動態(tài)分類目錄以及信息視覺化。
全文摘要
一種數(shù)字文件關(guān)鍵特征的自動擷取方法。將此數(shù)字文件轉(zhuǎn)換為條列數(shù)據(jù)結(jié)構(gòu),該結(jié)構(gòu)包括至少一個條列元素。然后設(shè)定一個組合條列區(qū)為空虛狀態(tài),并依序取出條列數(shù)據(jù)結(jié)構(gòu)中的這些條列元素。依照不同的情形,將這些條列元素重新組合后放入組合條列區(qū)或最后條列區(qū)中,或是直接舍棄不用。之后將組合條列區(qū)轉(zhuǎn)換為條列數(shù)據(jù)結(jié)構(gòu)。重復進行上述步驟,直到到達停止條件。最后將最后條列區(qū)中的條列元素依照顯示條件顯示,以供關(guān)鍵特征檢索之用。
文檔編號G06F17/30GK1337642SQ0012260
公開日2002年2月27日 申請日期2000年8月4日 優(yōu)先權(quán)日2000年8月4日
發(fā)明者曾元顯 申請人:拓墣科技股份有限公司, 曾元顯
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1