壓縮裝置、壓縮方法、詞典生成裝置、詞典生成方法、解壓裝置、解壓方法、解壓程序以及信 ...的制作方法
【技術領域】
[0001]本發明涉及數據的壓縮技術或者解壓技術的至少一方。
【背景技術】
[0002]在使用了哈夫曼編碼、算術壓縮等可變長度壓縮編碼的壓縮算法中,對壓縮編碼的分配對象的字符信息組,字符信息組所包含的每個字符信息分配與出現頻率等統計信息相應的長度的壓縮編碼。在哈夫曼編碼的壓縮算法中,基于字符信息組所包含的字符信息間的出現頻率的大小比較來進行壓縮編碼的生成。在算術壓縮中,生成基于字符信息組整體的各字符信息的出現比例確定的編碼長度的壓縮編碼。在這些壓縮算法中,出現頻率越高的字符信息越分配較短的壓縮編碼,從而短的壓縮編碼的使用頻率升高,所以壓縮數據整體的壓縮率提高。
[0003]哈夫曼編碼、算術壓縮等壓縮算法中的可變長度壓縮編碼的分配對象是字符、數字等符號。另外,存在對壓縮編碼的分配對象進行擴長,對作為符號的組合的單詞、標簽等字符串分配可變長度壓縮編碼的技術。在該情況下,由于對多個符號的組合分配一個壓縮編碼,所以壓縮率提高(例如,參照專利文獻I)。
[0004]現有技術文獻
[0005]專利文獻
[0006]專利文獻1:日本特開2010-93414號公報
[0007]專利文獻2:日本特開平05-241777號公報
【發明內容】
[0008]發明要解決的課題
[0009]文檔數據由作為字符、數字等符號的組合的單詞、標簽等字符串構成。文檔數據內的各字符串分別與特定的含義、語法上的功能等概念對應,但即使是與通用的概念對應的字符串,彼此也存在符號的組合(書寫)不同,所謂的書寫差異。作為書寫差異的例子,可舉出動詞、形容詞等活用詞的活用、同義詞、近義詞等。
[0010]在對單詞、標簽等字符串的可變長度壓縮編碼的分配中,越是出現頻率較高的字符信息越分配較短的壓縮編碼。若產生書寫相互不同的多個字符串(多個種類的字符串)與一個概念對應的書寫差異,則與I種字符串與一個概念對應的沒有書寫差異的情況下的字符串的出現頻率相比,多個種類的字符串的每一種的出現頻率降低。因此,對多個種類的字符串的每一種分配的壓縮編碼變長,而成為壓縮率降低的重要因素。
[0011]根據本發明的一個側面,目的在于抑制由書寫差異的存在引起的壓縮率的降低。
[0012]用于解決課題的手段
[0013]根據一個實施方式,壓縮裝置包含:存儲部,其存儲對相互不同的多個字符信息分配的第一壓縮編碼與上述多個字符信息的每一個相關聯的詞典信息;獲取部,其在獲取了上述多個字符信息中的第一字符信息的情況下,從上述詞典信息中獲取與上述第一字符信息相關聯的上述第一壓縮編碼;以及寫入部,其將獲取的上述第一壓縮編碼寫入儲存壓縮數據的儲存區域。
[0014]根據一個實施方式,解壓裝置包含:存儲部,其存儲使對相互不同的多個字符信息通用地分配的第一壓縮編碼和與上述多個字符信息對應的第一字符信息相關聯的詞典信息;獲取部,其在從壓縮數據中獲取了上述第一壓縮編碼的情況下,從上述詞典信息中獲取在上述詞典信息中與上述第一壓縮編碼相關聯的上述第一字符信息;以及寫入部,其將獲取的上述第一字符信息寫入儲存上述壓縮數據的解壓結果的儲存區域。
[0015]根據一個實施方式,信息處理系統是包含存儲有壓縮數據的存儲裝置、和執行與針對上述壓縮數據的處理請求相應的處理的處理裝置的信息處理系統,上述處理裝置包含:存儲部,其存儲使對相互不同的多個字符信息分配的第一壓縮編碼與上述多個字符信息的每一個相關聯的詞典信息;讀出部,其根據上述處理請求,從上述存儲裝置中讀出上述壓縮數據;第一獲取部,其在從上述壓縮數據中獲取了上述第一壓縮編碼的情況下,從上述詞典信息中獲取在上述詞典信息中與上述第一壓縮編碼相關聯的第一字符信息;第一寫入部,其將獲取的上述第一字符信息寫入儲存上述壓縮數據的解壓結果的第一儲存區域;處理部,其對被儲存至上述第一儲存區域的解壓結果執行與上述處理請求相應的處理;第二獲取部,其在從進行了與上述處理請求相應的處理的數據中獲取了上述第一字符信息的情況下,根據上述詞典信息獲取與上述第一字符信息相關聯的上述第一壓縮編碼;第二寫入部,其將獲取的上述第一壓縮編碼寫入第二儲存區域;以及儲存部,其將被寫入上述第二區域的數據儲存至上述存儲裝置。
[0016]根據一個實施方式,詞典生成裝置包含:分配部,其對與相互不同的多個字符信息對應的I種通用字符信息進行壓縮編碼的分配處理;以及生成部,其生成使對上述通用字符信息分配的第一壓縮編碼與上述相互不同的多個字符信息的每一個相關聯的詞典信息。
[0017]根據一個實施方式,詞典生成裝置包含生成部,該生成部生成使對相互不同的多個字符信息通用地分配的第一壓縮編碼和與上述多個種類的字符信息對應的第一字符信息相關聯的詞典信息。
[0018]發明效果
[0019]根據一個側面,能夠抑制由書寫差異的存在引起的壓縮率的降低。
【附圖說明】
[0020]圖1表示壓縮處理以及解壓處理的概要。
[0021]圖2表示朝向壓縮編碼的轉換例。
[0022]圖3表示功能模塊的結構例。
[0023]圖4表示壓縮功能的處理步驟例。
[0024]圖5表示壓縮詞典生成的處理步驟例。
[0025]圖6表示頻率匯總處理的處理步驟例。
[0026]圖7表不轉換表Tl的例子。
[0027]圖8表示統計表T2的例子。
[0028]圖9表示壓縮詞典Dl的數據結構例。
[0029]圖10表示壓縮數據生成處理的處理步驟例。
[0030]圖11表示解壓功能的處理步驟例。
[0031]圖12表示解壓詞典生成的處理步驟例。
[0032]圖13表示解壓詞典D2的數據結構例。
[0033]圖14表示解壓數據生成處理的處理步驟例。
[0034]圖15表示朝向壓縮編碼的轉換例。
[0035]圖16表示壓縮詞典的數據結構例。
[0036]圖17表不解壓詞典的數據結構例。
[0037]圖18表示解壓數據生成處理的處理步驟例。
[0038]圖19表示壓縮編碼的分配例。
[0039]圖20表示解壓詞典的數據結構例。
[0040]圖21表示解壓數據生成處理的處理步驟例。
[0041]圖22表示解壓數據生成處理的處理步驟例。
[0042]圖23表示解壓數據生成處理的處理步驟例。
[0043]圖24表示解壓數據生成處理的處理步驟例。
[0044]圖25表示解壓數據生成處理的處理步驟例。
[0045]圖26表示解壓數據生成處理的處理步驟例。
[0046]圖27表示解壓數據生成處理的處理步驟例。
[0047]圖28表示計算機I的硬件構成例。
[0048]圖29表示通過計算機I運作的程序構成例。
[0049]圖30表示使用了計算機I的系統構成例。
[0050]圖31表示使用計算機I的系統構成例。
【具體實施方式】
[0051][壓縮處理以及解壓處理的流程]
[0052]圖1表示壓縮處理以及解壓處理的概要。壓縮文件F2的生成基于文件Fl和轉換表Tl來進行。轉換表Tl對與通用的概念對應的多個種類的字符信息的每一種與表示在該多個種類的字符信息中通用的概念的通用字符信息建立對應關系。例如,轉換表Tl還可以使識別多個種類的字符信息彼此的識別符號與上述多個種類的字符信息(相互不同的多個字符信息)的每一種建立對應關系。
[0053]對于各個分配壓縮編碼的對象的字符信息組,文件Fl中的頻率匯總Hl基于轉換表Tl來進行。在頻率匯總Hl的處理中,將在轉換表Tl中與通用字符信息建立有對應關系的字符信息作為通用字符信息來計數。另外,在頻率匯總Hl的處理中,與識別符號建立有對應關系的字符信息也可以以通用字符信息以及識別符號雙方來計數。頻率匯總Hl的處理的匯總結果被儲存至頻率表T2。
[0054]另外,例如,頻率匯總Hl的處理也可以代替文件F1,基于估計較多地包含與文件Fl通用的字符信息的文件(例如,版數不同的書籍等)來進行。另外,頻率匯總Hl例如也可以基于包含文件Fl的多個文件(對某個文件進行分割而得到的分割文件組(包含文件Fl)等)來進行。
[0055]對被儲存至頻率表T2的字符信息組(包含通用字符信息、或者包含通用字符信息和識別符號雙方),基于每一個的出現頻率進行編碼分配Η2的處理。例如,根據哈夫曼編碼的算法,通過字符信息彼此的出現頻率的比較來對各字符信息分配壓縮編碼。另外,例如,根據算術壓縮,根據分配壓縮編碼的對象的字符信息組整體的各字符信息的出現比例來設定編碼長度,將所設定的編碼長度的壓縮編碼分配給各字符信息。壓縮詞典Dl中對字符信息組(包含通用字符信息、或者包含通用字符信息和識別符號雙方)的每一個,示有與分配的壓縮編碼的對應關系。在壓縮處理Η3中,從壓縮詞典Dl中依次獲取與文件Fl所包含的字符信息對應的壓縮編碼。壓縮文件F2包含依次獲取的壓縮編碼的壓縮編碼串(壓縮數據)、轉換表Tl以及頻率表Τ2。
[0056]在上述處理中,在頻率匯總Hl的處理中,由于將與通用的概念對應的多個種類的字符信息集中成通用字符信息,所以在編碼分配Η2中,分配壓縮編碼的對象的字符信息的種類減少。因此,抑制由書寫差異引起的出現頻率降低,從而將分配給字符信息的壓縮編碼的編碼長度抑制成較短的編碼長度,所以抑制以書寫差異為重要因素的壓縮率的降低。另夕卜,分配壓縮編碼的對象的字符信息的種類減少,從而編碼分配Η2的處理量減少。而且,由于對多個種類的字符信息的任意一個都分配壓縮編碼,所以也抑制由未分配壓縮編碼引起的未預期的壓縮率降低。
[0057]另外,頻率表Τ2所儲存的通用字符信息的出現頻率的信息能夠保持原樣活用于文本挖掘。即使不對壓縮數據進行解壓,也能夠從頻率表Τ2中提取在文檔數據內以哪一程度的頻率示有什么樣的概念等信息。
[0058]解壓文件F3的生成基于壓縮文件F2來進行。如上所述,壓縮文件F2包含壓縮數據、轉換表Tl以及頻率表Τ2。對被儲存至從壓縮文件F2取出的頻率表Τ2的字符信息組(包含通用字符信息、或者包含通用字符信息和識別符號雙方)的每一個,基于在頻率表Τ2中建立有對應關系的出現頻率,進行編碼分配Η4的處理。編碼分配Η4的處理基于與編碼分配Η2的處理相同的算法來進行。解壓詞典D2示出壓縮編碼與被分配了壓縮編碼的字符信息的對應關系。在解壓處理Η5中,從解壓詞典D2中獲取與從壓縮文件F2取出的壓縮編碼對應的字符信息。在解壓處理Η5中,在從壓縮文件F2得到與通用字符信息對應的壓縮編碼的情況下,從解壓詞典D2獲取與壓縮編碼對應的通用字符信息。另外,在使用與識別符號建立有對應關系的壓縮編碼的情況下,解壓詞典D2代替通用字符信息,包含從壓縮文件F2取出的轉換表Tl內的通用字符信息的儲存位置(偏置值)。在解壓處理Η5中,在從解壓詞典D2中得到了偏置值的情況下,基于偏置值以及識別符號獲取原先的字符信息。解壓文件F3包含由通過解壓處理Η5得到的字符信息構成的字符信息列。
[0059]在壓縮文件F2所包含的頻率表Τ2中,由于與通用的概念對應的多個種類的字符信息被集中成通用字符信息,所以在編碼分配Η4中,也會將分配壓縮編碼的對象的字符信息的種類抑制成較少的種類。
[0060]若文件Fl和解壓文件F3是同一數據,則壓縮處理Η3以及解壓處理Η5是可逆的壓縮解壓處理。若文件Fl和解壓文件F3不是同一數據,則壓縮處理Η3以及解壓處理Η5是非可逆的壓縮解壓處理。即,若在轉換表Tl中通過識別符號來識別與通用的概念對應的多個種類的字符信息彼此,則在解壓時能夠基于識別符號在轉換表Tl中確定壓縮前的字符信息,所以進行可逆的壓縮解壓處理。
[0061][書寫差異和字符信息的出現頻率]
[0062]作為書寫差異的一個例子,在文檔數據內可能存在同義詞。例如,在英語中存在用英式英語和美式英語而書寫不同的單詞(例如“pavement”和“sidewalk”等),也存在本身具有多種書寫方式的單詞(例如“center”和“centre”等)。另外,例如,在日語中在將外來語置換為日語書寫時,有多種書寫方式是被認可的(例如V夕一 7 二一只”和y夕7 X —只”等)。并且,在各語言中,與同義詞相同,可能存在近義詞(例如“center”和“middle”等)。由于這些同義詞、近義詞概念通用,所以通過集中為通用字符信息,來抑制由書寫差異引起的出現頻率降低。由此,將對字符信息分配的壓縮編碼的編碼長度抑制成較短的編碼長度,所以抑制以書寫差異為重要因素的壓縮率的降低。另外,由于壓縮編碼的分配對象的字符信息被集中為通用字符信息,所以減少可變長度壓縮編碼分配的處理量。而且,抑制由未對字符串分配壓縮編碼引起的未預期的壓縮率降低。
[0063]另外,在英語等語言中,句子的開頭的單詞的首字母用大寫字母書寫。若僅將首字母是小寫字母書寫的單詞作為壓縮編碼的分配對象,則不會將文檔數據中的句子的開頭的單詞置換為壓縮編碼,所以成為壓縮率不提高的重要因素。另一方面,若對首字母是大寫字母書寫的單詞和小寫字母書寫的單詞雙方分別獨立地分配壓縮編碼,則分配壓縮編碼的對象的字符信息的種類加倍,所以壓縮編碼的分配處理的處理量增大。通過對該書寫差異,使用與首字母是大寫字母書寫的單詞和小寫字母書寫的單詞雙方對應的通用字符信息和表示首字母是大寫字母還是小寫字母的識別符號,也得到壓縮率降低的抑制以及壓縮編碼分配的處理量抑制的效果。
[0064]另外,在特定的語言(例如,英語、德語以及日語等)中,存在活用詞。所謂的活用詞是根據語法上的制約詞性發生變化的單詞,例如在英語中是動詞、形容詞以及副詞等。在用存在活用詞的語言描述的文檔數據中,存在根據與語法上的制約相應的詞性變化而用不同的字符串表示的單詞。例如,在英語中,對于I種動詞,存在原形、第三人稱單數現在時、過去時、過去分詞以及現在分詞這5種活用形。這些雖然與通用的概念對應但書寫不同。因此,例如,通過將用活用形表述的單詞集中為與活用詞的概念對應的通用字符信息(例如動詞的原形)并進行壓縮處理,能夠得到壓縮率降低的抑制以及壓縮編碼分配的處理量抑制的效果。另外,通過同時采用表示活用形的識別符號(例如表示過去時),能夠在解壓時返回到原本的活用形。
[0065]字符信息的出現頻率因文檔數據而不同。因此,出現頻率按照每個字符信息而不同。然而,與同義詞、近義詞、或者句子的開頭的單詞的首字母的書寫差異不同,對于活用詞而言,與通用的概念對應的多個種類的字符信息的出現頻率的趨勢類似。在活用詞中相互不同的活用形的字符信息彼此有時在文檔內被同時采用。例如,有時在包含“search datafor...”等的句子之后,接著“the searched data is…”等句子。由于在被集中為通用字符信息的字符信息彼此中出現頻率的趨勢類似,所以分配與字符信息其本身的出現頻率不匹配的編碼長度的壓縮編碼的情況減少。
[0066]另外,例如,關于動詞存在原形和過去時的出現頻率較高,而過去分詞的出現頻率較低等,在動詞整體中通用的趨勢。即使對表示活用形的識別符號也基于出現頻率分配壓縮編碼,從而對出現頻率較高的活用