本發(fā)明涉及文字信息處理技術(shù),尤其涉及一種能夠?qū)y(tǒng)一表意文字進(jìn)行檢索的文字檢索方法及文字檢索裝置。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的發(fā)展,為實(shí)現(xiàn)計(jì)算機(jī)跨語言、跨平臺的文本轉(zhuǎn)換及處理,國際組織制定并公布了Unicode(萬國碼、統(tǒng)一碼)編碼系統(tǒng),其中包括中日韓統(tǒng)一表意文字(CJK United Ideographs)。
然而,漢字的數(shù)量龐大,結(jié)構(gòu)復(fù)雜,盡管Unicode標(biāo)準(zhǔn)已經(jīng)包括了70000多個(gè)漢字符號,但是仍然有許多生僻字未被包括進(jìn)來。這些未被編碼的漢字可稱其為“集外字”。雖然Unicode標(biāo)準(zhǔn)持續(xù)不斷的對集外字進(jìn)行分類編碼,分配碼位,但是漢字是一個(gè)開放的集合,可以預(yù)計(jì)根本不可能也沒有必要窮盡所有的漢字。Unicode標(biāo)準(zhǔn)也認(rèn)識到單純依靠擴(kuò)大收字量無法從根本上解決CJK(中日韓)文字的編碼問題。
有鑒于此,Unicode標(biāo)準(zhǔn)定義了表意文字描述序列IDS(Ideographic Description Characters Sequence)和表意文字描述符IDC(Ideographic Description Characters)。表意文字描述的算法依據(jù)是:理論上所有的漢字都可以拆分為更小的部件,而這些部件本身是表意文字。所以通過定義描述文字結(jié)構(gòu)的表意文字描述符IDC,再配合已有編碼的文字,即可描述絕大多數(shù)未被編碼的集外字。
在現(xiàn)有規(guī)則下,表意文字描述符IDC共有12個(gè),對應(yīng)描述12種文字結(jié)構(gòu),例如,左右結(jié)構(gòu)、上下結(jié)構(gòu)、左中右結(jié)構(gòu)、上中下結(jié)構(gòu)、全包圍結(jié)構(gòu)、上三包圍結(jié)構(gòu)、下三包圍結(jié)構(gòu)、左三包圍結(jié)構(gòu)、左上包圍結(jié)構(gòu)、右上包圍結(jié)構(gòu)、左下包圍結(jié)構(gòu)合交叉結(jié)構(gòu),碼位區(qū)間從U+2FF0到U+2FFB,如表1所示。
表1.IDC編碼表
表意文字描述序列IDS由一系列的IDC描述符以及已有編碼的文字組成,來描述未編碼的集外字。IDS的語法比較簡單,只要求三元IDC(U+2FF2和U+2FF3)后面必須有3個(gè)IDS,二元IDC(U+2FF2和U+2FF3以外的其他IDC)后面必須有2個(gè)IDS,IDS中除了IDC以外必須是一元CJK字符。IDS還有2個(gè)長度限制,即:①序列長度不可超過16個(gè)Unicode編碼;②如果沒有表意文字描述符作為間隔,構(gòu)成序列的部件或者偏旁不能超過6個(gè)。
圖1是表意文字序列的示例。
如圖1所示,以字為例,其表意文字描述序列由兩個(gè)IDC(2FF1)、(2FF0)以及已有編碼的文字“鳥”(9CE5)、“龜”(9F9C)以及“灬”(706C)構(gòu)成。
IDS為集外字的描述提供了一種標(biāo)準(zhǔn)的文本交換機(jī)制。在制作電子文檔,尤其是在古籍電子化的過程中,可對文檔中的集外字采用IDS描述,同時(shí)收錄該集外字的摳圖。當(dāng)使用閱讀軟件閱讀該電子文檔時(shí),讀者可看到集外字的摳圖,又可在文本搜索框中輸入IDS描述,來檢索集外字。
然而,使用IDS描述集外字存在歧義性,即一個(gè)集外字可能用多種IDS來表示。這是因?yàn)镮DS本身可以繼續(xù)被分解。
例如,參照圖2,圖2是集外字的多種IDS描述的示例。
如圖2所示,所例舉的集外字有3種不同的IDS描述。
在這種情況下,如果用戶在利用電子閱讀設(shè)備閱讀電子文檔時(shí)需要對某個(gè)集外字進(jìn)行IDS檢索時(shí),這種歧義性可能導(dǎo)致檢索失敗,即電子文檔中存在待檢索的集外字,但用戶輸入的IDS描述與該電子文檔中的集外字的描述不一致,因此造成檢索不到該集外字。
技術(shù)實(shí)現(xiàn)要素:
為解決此問題,本發(fā)明提出了一種基于擴(kuò)展IDS的文字檢索方法及裝置,能夠避免因表意文字描述序列IDS描述的歧義性所導(dǎo)致的文字檢索失敗的問題。
本發(fā)明提供了一種文字檢索方法,包括以下步驟:識別用戶打開的電子文檔中的表意文字描述序列;將所識別的表意文字描述序列轉(zhuǎn)換為擴(kuò)展表意文字描述序列,并基于所述擴(kuò)展表意文字描述序列創(chuàng)建擴(kuò)展表意文字描述序列庫,其中,所述擴(kuò)展表意文字描述序列由二元表意文字描述符和基本部件構(gòu)成;判斷所輸入的待檢索文字是否為表意文字描述序列,其中,當(dāng)所述待檢索文字為表意文字描述序列時(shí),將所述待檢索文字轉(zhuǎn)換為擴(kuò)展表意文字描述序列,并在所述擴(kuò)展表意文字描述序列庫中進(jìn)行檢索;當(dāng)所述待檢索文字不是表意文字描述序列時(shí),在所述電子文檔中檢索所述待檢索文字。
優(yōu)選地,所述在所述擴(kuò)展表意文字描述序列庫中進(jìn)行檢索還包括判斷檢索是否成功,如果是,輸出檢索結(jié)果,如果否,在基于Unicode字符集預(yù)先創(chuàng)建的擴(kuò)展表意文字描述序列字典中檢索所述待檢索文字對應(yīng)的擴(kuò)展表意文字描述序列,其中,當(dāng)檢索到與所述待檢索文字相對應(yīng)的編碼字符時(shí),在所述電子文檔中進(jìn)行檢索,并輸出檢索結(jié)果;當(dāng)沒有檢索到與所述待檢索文字相對應(yīng)的編碼字符時(shí),確定所述待檢索文字并不存在于所述電子文檔中,并輸出檢索結(jié)果。
優(yōu)選地,所述在所述電子文檔中檢索所述待檢索文字還包括:判斷檢索是否成功,如果是,則輸出檢索結(jié)果,如果否,在基于Unicode字符集預(yù)先創(chuàng)建的擴(kuò)展表意文字描述序列字典中檢索所述待檢索文字對應(yīng)的擴(kuò)展表意文字描述序列,其中,當(dāng)檢索到與所述待檢索文字相對應(yīng)的擴(kuò)展表意文字描述序列時(shí),在所述擴(kuò)展表意文字描述序列庫中進(jìn)行檢索,并輸出檢索結(jié)果;當(dāng)沒有檢索到與所述待檢索文字相對應(yīng)的擴(kuò)展表意文字描述序列時(shí),確定所述待檢索文字未存在于所述電子文檔中,并輸出檢索結(jié)果。
優(yōu)選地,所述創(chuàng)建擴(kuò)展表意文字描述序列庫還包括通過將所述表意文字描述序列中的三元表意文字描述符替換為兩個(gè)二元表意文字描述符來獲得所述擴(kuò)展表意文字描述序列。
優(yōu)選地,所述創(chuàng)建擴(kuò)展表意文字描述序列庫進(jìn)一步包括:如果所述擴(kuò)展表意文字描述序列中相鄰兩個(gè)二元表意文字描述符相同,則將所述相鄰兩個(gè)二元表意文字描述符后的表意文字描述序列前移至所述相鄰兩個(gè)二元表意文字描述符之間。
優(yōu)選地,在所述擴(kuò)展表意文字描述序列中,文字按照從左到右、從上到下的順序被依次拆分為由所述二元表意文字描述符和所述基本部件構(gòu)成的表意文字描述序列。
優(yōu)選地,所述擴(kuò)展表意文字描述序列字典中不包括所述基本部件。
本發(fā)明還提供了一種文字檢索裝置,包括:識別單元,其識別用戶打開的電子文檔中的表意文字描述序列;轉(zhuǎn)換單元,其將所識別的表意文字描述序列轉(zhuǎn)換為擴(kuò)展表意文字描述序列,并基于所述擴(kuò)展表意文字描述序列創(chuàng)建擴(kuò)展表意文字描述序列庫,其中,所述擴(kuò)展表意文字描述序列由二元表意文字描述符和基本部件構(gòu)成;輸入單元,其輸入待檢索文字;檢索單元;控制單元,其判斷通過所述輸入單元所輸入的待檢索文字是否為表意文字描述序列,當(dāng)所述待檢索文字為表意文字描述序列時(shí),控制所述轉(zhuǎn)換單元將所述待檢索文字轉(zhuǎn)換為擴(kuò)展表意文字描述序列,并控制檢索單元在所述擴(kuò)展表意文字描述序列庫中進(jìn)行檢索;當(dāng)所述待檢索文字不是表意文字描述序列時(shí),則控制所述檢索單元在所述電子文檔中檢索所述待檢索文字。
優(yōu)選地,所述控制單元判斷在所述擴(kuò)展表意文字描述序列庫中檢索所述擴(kuò)展表意文字描述序列是否成功,如果是,輸出檢索結(jié)果,如果否,則控制所述檢索單元在基于Unicode字符集預(yù)先創(chuàng)建的擴(kuò)展表意文字描述序列字典中檢索所述待檢索文字對應(yīng)的擴(kuò)展表意文字描述序列,當(dāng)檢索到與所述待檢索文字相對應(yīng)的編碼字符時(shí),在所述電子文檔中進(jìn)行檢索,并輸出檢索結(jié)果;當(dāng)沒有檢索到與所述待檢索文字相對應(yīng)的編碼字符時(shí),確定所述待檢索文字并不存在于所述電子文檔中,并輸出檢索結(jié)果。
優(yōu)選地,所述控制單元判斷在所述電子文檔中檢索所述待檢索文字檢索是否成功,如果是,則輸出檢索結(jié)果,如果否,則控制所述檢索單元在基于Unicode字符集預(yù)先創(chuàng)建的擴(kuò)展表意文字描述序列字典中檢索所述待檢索文字對應(yīng)的擴(kuò)展表意文字描述序列,當(dāng)檢索到與所述待檢索文字相對應(yīng)的擴(kuò)展表意文字描述序列時(shí),在所述擴(kuò)展表意文字描述序列庫中進(jìn)行檢索,并輸出檢索結(jié)果;當(dāng)沒有檢索到與所述待檢索文字相對應(yīng)的擴(kuò)展表意文字描述序列時(shí),確定所述待檢索文字未存在于所述電子文檔中,并輸出檢索結(jié)果。
根據(jù)本發(fā)明的文字檢索方法及文字檢索裝置,可以避免同一個(gè)漢字得到不同擴(kuò)展IDS的結(jié)果,提高了文字檢索的精度,消除了現(xiàn)有文字檢索方法中由于IDS描述的歧義性造成的檢索失敗。
附圖說明
附圖與文字描述一起用來對本發(fā)明的實(shí)施方式作進(jìn)一步的說明。其中:
圖1是表意文字序列的示例。
圖2是集外字的多種IDS描述的示例。
圖3是本發(fā)明實(shí)施方式的文字檢索方法的流程圖。
圖4是本發(fā)明實(shí)施方式的文字檢索方法的進(jìn)一步流程圖。
圖5是本發(fā)明實(shí)施方式的文字檢索方法的進(jìn)一步流程圖。
圖6是本發(fā)明實(shí)施方式的擴(kuò)展IDS的描述規(guī)則。
圖7是本發(fā)明實(shí)施方式的擴(kuò)展IDS的描述規(guī)則。
圖8是本發(fā)明實(shí)施方式的文字檢索裝置的框圖。
具體實(shí)施方式
下面結(jié)合附圖詳細(xì)說明本發(fā)明的實(shí)施方式。在所有附圖中,相同標(biāo)號表示相同元件,并省略其重復(fù)說明。
【文字檢索方法】
首先,參照圖3對本發(fā)明的文字檢索方法進(jìn)行說明。
圖3是本發(fā)明實(shí)施方式的文字檢索方法的流程圖。
如圖3所示,本發(fā)明實(shí)施方式的文字檢索方法包括以下步驟:識別用戶打開的電子文檔中的IDS(S100);將所識別的IDS轉(zhuǎn)換為擴(kuò)展IDS,并基于所述擴(kuò)展IDS創(chuàng)建擴(kuò)展IDS庫(S102);輸入待檢索文字(S104);判斷待檢索文字是否為IDS(S106);如果在S106中判定為IDS,則執(zhí)行步驟A,如果判定為非IDS,則執(zhí)行步驟B。
下面參照圖4-5具體說明本發(fā)明的文字檢索方法中的步驟A和步驟B。
如圖4所示,在確定待檢索文字是IDS的情況下,首先將待檢索文字的IDS轉(zhuǎn)換為擴(kuò)展IDS(步驟S400),并在擴(kuò)展IDS庫中進(jìn)行檢索(步驟S402)。
然后,判斷檢索是否成功(步驟S404)。如果成功,則輸出成功的檢索結(jié)果(步驟S406),如果失敗,則在基于Unicode字符集預(yù)先創(chuàng)建的擴(kuò)展IDS字典中檢索待檢索文字(步驟S408),判斷檢索是否成功(步驟S410)。如果檢索到該待檢索文字對應(yīng)的編碼字符,則獲得與該待檢索文字相對應(yīng)的編碼字符(步驟S412),并在電子文檔中進(jìn)行檢索該編碼字符(步驟S414),輸出檢索結(jié)果(步驟S416)。如果沒有檢索到該待檢索文字對應(yīng)的編碼字符,則確定待檢索文字并不存在于電子文檔中,并輸出檢索結(jié)果(步驟S418)。
如圖5所示,在確定待檢索文字不是IDS的情況下,首先,在用戶打開的電子文檔中檢索該待檢索文字(步驟S500)。然后,判斷檢索是否成功(步驟S502)。
如果成功,則輸出檢索結(jié)果(步驟S504)。如果失敗,則在基于Unicode字符集預(yù)先創(chuàng)建的擴(kuò)展表意文字描述序列字典中檢索所述待檢索文字(步驟S506)。判斷檢索是否成功(步驟S508),如果檢索到該待檢索文字對應(yīng)的擴(kuò)展IDS,則獲得與待檢索文字相對應(yīng)的擴(kuò)展IDS(步驟S512),在擴(kuò)展IDS庫中進(jìn)行檢索該擴(kuò)展IDS(步驟S514),并輸出檢索結(jié)果(步驟S516);如果沒有檢索到該待檢索文字對應(yīng)的擴(kuò)展IDS,則確定待檢索文字并未存在于電子文檔中,并輸出檢索結(jié)果(步驟S510)。
上述步驟只是為了更方便的表述清楚文字檢索方法,并非固定的檢索流程。針對已經(jīng)檢索過的文檔,可以將之前檢索中創(chuàng)建的擴(kuò)展IDS庫緩存在該文檔中,下次再檢索時(shí),可以先判斷文檔中是否存在該庫文件,如果存在,則不需要再執(zhí)行上述S100和S102步驟。
下面參照圖6-7具體說明本發(fā)明獲得擴(kuò)展IDS的規(guī)則。
通過將表意文字描述序列IDS中的三元表意文字描述符IDC替換為兩個(gè)二元表意文字描述符IDC,并將兩個(gè)二元表意文字描述符IDC后邊緊接著一個(gè)的表意文字描述序列IDS前移至前兩個(gè)二元表意文字描述符IDC之間,來獲得擴(kuò)展IDS。
其中需要去除IDS的2個(gè)長度限制,非IDC的字符必須拆分為基本部件,擴(kuò)展IDS的總長度沒有限制,并且表意文字描述符IDC之間的基本部件或者偏旁的個(gè)數(shù)也沒有限制,要求將IDS中的非IDC的字符完全拆分為基本部件。從而確保每次拆分出的部件為基本部件。
圖6是本發(fā)明實(shí)施方式的擴(kuò)展IDS的描述規(guī)則。下面結(jié)合圖6來說明本發(fā)明的擴(kuò)展IDS的描述規(guī)則。
通過將表意文字描述序列中的三元表意文字描述符替換為兩個(gè)二元表意文字描述符,并將兩個(gè)二元表意文字描述符后的第一個(gè)表意文字描述序列前移至前兩個(gè)二元表意文字描述符之間,來獲得擴(kuò)展IDS。
以漢字“樹”為例,按照現(xiàn)有的Unicode標(biāo)準(zhǔn),左中右結(jié)構(gòu)的漢字“樹”的IDS為“木又寸”,如圖4中的標(biāo)號40所示。
如圖6所示,首先將“樹”的IDS 40“木又寸”中的三元IDC替換為兩個(gè)二元IDC此時(shí),新的IDS 42表示為“木又寸”。
然后,將兩個(gè)二元IDC后面的IDS“木”前移至兩個(gè)二元IDC之間。如圖6所示,此時(shí)獲得的IDS 44為“木又寸”。
因此,本發(fā)明的擴(kuò)展IDS描述規(guī)則去除了三元IDC,僅包含二元IDC。
特別的,本發(fā)明的擴(kuò)展IDS的描述規(guī)則還包括修正規(guī)則,下面參照圖7對上述規(guī)則進(jìn)行詳細(xì)說明。
如圖7所示,以左中右結(jié)構(gòu)的漢字“湖”為例,在本發(fā)明的文字檢索方法中的步驟S102中獲得擴(kuò)展IDS后,可能存在這樣的情況:獲得的擴(kuò)展IDS 50為“氵十口月”。
這種擴(kuò)展IDS的問題在于,首先拆分出左右結(jié)構(gòu)的兩個(gè)部件:沽和月,而“沽”不是基本部件,仍然可以再拆分。這時(shí),需要對所獲得的擴(kuò)展IDS 50進(jìn)行修正,修正規(guī)則為:如果擴(kuò)展IDS中相鄰的IDC描述符相同,例如上述第二種IDS中存在相鄰的則需要將后續(xù)的第一個(gè)基本部件,例如圖7中的“氵”調(diào)序至2個(gè)相鄰IDC之間,即調(diào)整為“氵”。這樣,就得到了僅包含二元IDC和基本部件的擴(kuò)展IDS 52“氵十口月”。
在圖3的步驟S102中,需要重復(fù)檢測電子文檔中或者庫文件中是否還存在相同IDC相鄰的情況,存在則進(jìn)行上述調(diào)整,直至對整個(gè)擴(kuò)展IDS處理完為止。
在本發(fā)明的文字檢索方法中,在擴(kuò)展表意文字描述序列中,文字按照從左到右、從上到下的順序被依次拆分為由二元表意文字描述符和基本部件構(gòu)成的表意文字描述序列。
另外,優(yōu)選地,在本發(fā)明的文字檢索方法中,創(chuàng)建基于Unicode字符集的擴(kuò)展IDS的字典。
我們將Unicode字符集分為2大部分。一部分字符被定義為基本部件,包括偏旁和不適合繼續(xù)拆分的字符,例如木、又、寸、日等;其余字符則按照上述擴(kuò)展IDS描述規(guī)則加工為擴(kuò)展IDS,由IDC和基本部件來描述。我們將這些擴(kuò)展IDS形成一份字典文件,字符的Unicode編碼與其擴(kuò)展IDS一一對應(yīng)?;赨nicode字符集預(yù)先創(chuàng)建的擴(kuò)展IDS字典中不包含基本部件,本實(shí)施所涉及的基本部件遵循Unicode標(biāo)準(zhǔn)中所給定的基本部件的含義,即基本部件為偏旁和不適于繼續(xù)拆分的字符。
因此,通過本發(fā)明的擴(kuò)展IDS規(guī)則,確保了每次拆分后IDS中的部件都是基本部件。另外,由于本發(fā)明的擴(kuò)展IDS的規(guī)則明確定義了文字按照從左到右、從上到下的順序被依次拆分,因此避免了同一個(gè)漢字得到不同擴(kuò)展IDS的結(jié)果,提高了文字檢索的精度,消除了現(xiàn)有文字檢索方法中由于IDS描述的歧義性造成的檢索失敗。
【文字檢索裝置】
下面參照圖8說明本發(fā)明的文字檢索裝置80。
圖8是本發(fā)明實(shí)施方式的文本選擇裝置80的結(jié)構(gòu)框圖。
如圖8所示,本發(fā)明的文本選擇裝置80包括:識別單元800,其識別用戶打開的電子文檔中的表意文字描述序列;轉(zhuǎn)換單元802,將所識別的表意文字描述序列轉(zhuǎn)換為擴(kuò)展表意文字描述序列;擴(kuò)展表意文字描述序列庫804,其存儲(chǔ)有基于所述擴(kuò)展表意文字描述序列創(chuàng)建的擴(kuò)展表意文字描述序列;輸入單元806,其輸入待檢索文字的表意文字描述序列;檢索單元808;和控制單元810。
在文本選擇裝置80中,控制單元810判斷通過輸入單元806所輸入的待檢索文字是否為IDS。
當(dāng)所述待檢索文字為表意文字描述序列時(shí),控制所述轉(zhuǎn)換單元將所述待檢索文字轉(zhuǎn)換為擴(kuò)展表意文字描述序列,并控制檢索單元在所述擴(kuò)展表意文字描述序列庫中進(jìn)行檢索;當(dāng)所述待檢索文字不是表意文字描述序列時(shí),則控制所述檢索單元在所述電子文檔中檢索所述待檢索文字。
根據(jù)本發(fā)明的文字檢索方法及文字檢索裝置,可以避免同一個(gè)漢字得到不同擴(kuò)展IDS的結(jié)果,提高了文字檢索的精度,消除了現(xiàn)有文字檢索方法中由于IDS描述的歧義性造成的檢索失敗。
以上結(jié)合具體實(shí)施方式對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明。應(yīng)理解的是,以上僅僅是出于例示的目的介紹了本發(fā)明的具體實(shí)施方式,并不是要限制本發(fā)明。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。