Xml數(shù)據(jù)庫全文檢索方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種XML數(shù)據(jù)庫全文檢索方法及系統(tǒng),該方法包括:在XML數(shù)據(jù)庫中設(shè)置停用詞元數(shù)據(jù)表、詞匯關(guān)系元數(shù)據(jù)表、詞根化元數(shù)據(jù)表、以及中文分詞元數(shù)據(jù)表,并且各元數(shù)據(jù)表中每一行以一個字符串為主鍵;在進行查詢時,利用所述字符串引用與其對應(yīng)的詞匯表。利用本發(fā)明,可以使用戶根據(jù)自身應(yīng)用需求來擴展和定制全文檢索運行方式。
【專利說明】XI數(shù)據(jù)庫全文檢索方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫【技術(shù)領(lǐng)域】,具體而言,涉及一種XII數(shù)據(jù)庫全文檢索方法及系統(tǒng)。
【背景技術(shù)】
[0002]X見數(shù)據(jù)庫管理系統(tǒng)是近年來快速發(fā)展的一種新型的數(shù)據(jù)庫管理系統(tǒng)(0813),它存儲和檢索的數(shù)據(jù)是XII文檔,并且支持更新XII文檔。由于存儲和檢索的是XII文檔,所以X見0813常常被用作文檔數(shù)據(jù)庫,全文檢索就是X見數(shù)據(jù)庫管理系統(tǒng)的一個重要功能。
[0003]X見數(shù)據(jù)的檢索和更新語言是由13(:制定的標(biāo)準(zhǔn)的糾1161~7和糾1161~7邱(1社6。130同時制定了父如61~7標(biāo)準(zhǔn),作為X祖1)813的標(biāo)準(zhǔn)的全文檢索語言。父如61~7?11111:6^1:標(biāo)準(zhǔn)制定了在^如61~7 ?11111:6^1:查詢中使用任意的停用詞(31:01^0:^(18)、詞匯關(guān)系(111685111:^118)和詞根化(義一臟丨叩)詞匯表的機制。
[0004]8^0^01-(18詞匯表的作用是在全文檢索過程中忽略非常常用的單詞,比如冠詞,助詞,語氣詞,介詞等等,因為這些詞在大多數(shù)文本中都存在,失去了索引的意義和價值;這些詞被列在一個31:0押01(18詞匯表中,做分詞和全文檢索的詞語匹配時,就忽略這些單詞,認為它們與任何單詞都匹配。
[0005]111688111-118詞匯表的作用是定義詞匯之間的關(guān)系,比如詞匯關(guān)系,詞匯意義的擴展或者縮小關(guān)系,常用與不常用關(guān)系等,以便在查找一個詞的時候也可以找到含有與之有指定關(guān)系的其他詞語的文本。
[0006]義6臟1!18詞匯表的作用是在英語等西文語言中作詞根匹配,只要兩個單詞有相同的詞根,就可以認為它們相等,雖然他們在字面上并不相同。比如英文中的如加和(101=8在啟用詞根化選項時是相同的單詞。
[0007]然而,上述111688111-118和31:61111111118詞匯表的機制顯然不適用于中文。
【發(fā)明內(nèi)容】
[0008]本發(fā)明提供一種XII數(shù)據(jù)庫全文檢索方法及系統(tǒng),可以使用戶根據(jù)自身應(yīng)用需求來擴展和定制全文檢索運行方式。
[0009]為此,本發(fā)明實施例提供如下技術(shù)方案:
[0010]一種XII數(shù)據(jù)庫全文檢索方法,所述方法包括:
[0011]在XII數(shù)據(jù)庫中設(shè)置停用詞元數(shù)據(jù)表、詞匯關(guān)系元數(shù)據(jù)表、詞根化元數(shù)據(jù)表、以及中文分詞元數(shù)據(jù)表,并且各元數(shù)據(jù)表中每一行以一個字符串為主鍵;
[0012]在進行查詢時,利用所述字符串引用與其對應(yīng)的詞匯表。
[0013]優(yōu)選地,所述方法還包括:
[0014]接收用戶設(shè)定的詞匯關(guān)系名稱,并在詞匯關(guān)系詞匯表中使用所述詞匯關(guān)系名稱定義詞匯關(guān)系;
[0015]根據(jù)所述詞匯關(guān)系詞匯表生成所述詞匯關(guān)系元數(shù)據(jù)表。
[0016]優(yōu)選地,所述方法還包括:
[0017]根據(jù)用戶注冊的詞根化詞匯表生成所述詞根化元數(shù)據(jù)表。
[0018]優(yōu)選地,所述方法還包括:
[0019]接收用戶注冊的一個或多個專業(yè)詞匯表;
[0020]根據(jù)所述專業(yè)詞匯表生成所述中文分詞元數(shù)據(jù)表。
[0021]優(yōu)選地,所述字符串為統(tǒng)一資源定位符字符串。
[0022]優(yōu)選地,所述方法還包括:
[0023]在進行全文查詢時,如果啟用了詞根化詞匯表,則先獲取用戶查詢語句中的關(guān)鍵詞和XII節(jié)點數(shù)據(jù)行中的關(guān)鍵詞這兩個關(guān)鍵詞的詞根,然后比較這兩個詞根是否相同。
[0024]優(yōu)選地,所述方法還包括:
[0025]如果啟用了詞根化詞匯表,并且需要查詢?nèi)乃饕?,則將詞根化詞匯表中的每個詞都去查詢?nèi)乃饕?,得到多個數(shù)據(jù)行標(biāo)識110位圖;
[0026]對所述多個110位圖做或運算,得到符合全文檢索條件的節(jié)點集合。
[0027]一種XII數(shù)據(jù)庫全文檢索系統(tǒng),所述系統(tǒng)包括:
[0028]設(shè)置單元,用于在XII數(shù)據(jù)庫中設(shè)置停用詞元數(shù)據(jù)表、詞匯關(guān)系元數(shù)據(jù)表、詞根化元數(shù)據(jù)表、以及中文分詞元數(shù)據(jù)表,并且各元數(shù)據(jù)表中每一行以一個字符串為主鍵;
[0029]查詢單元,用于在進行查詢時,利用所述字符串引用與其對應(yīng)的詞匯表。
[0030]優(yōu)選地,所述系統(tǒng)還包括:
[0031]接收單元,用于接收用戶設(shè)定的詞匯關(guān)系名稱,和/或接收用戶注冊的一個或多個專業(yè)詞匯表;
[0032]所述設(shè)置單元,具體用于在詞匯關(guān)系詞匯表中使用所述詞匯關(guān)系名稱定義詞匯關(guān)系,并根據(jù)所述詞匯關(guān)系詞匯表生成所述詞匯關(guān)系元數(shù)據(jù)表;根據(jù)用戶注冊的詞根化詞匯表生成所述詞根化元數(shù)據(jù)表;根據(jù)所述專業(yè)詞匯表生成所述中文分詞元數(shù)據(jù)表。
[0033]優(yōu)選地,所述查詢單元在進行全文查詢時,如果啟用了詞根化詞匯表,則先獲取用戶查詢語句中的關(guān)鍵詞和XII節(jié)點數(shù)據(jù)行中的關(guān)鍵詞這兩個關(guān)鍵詞的詞根,然后比較這兩個詞根是否相同。
[0034]優(yōu)選地,所述系統(tǒng)還包括:
[0035]所述查詢單元,在啟用了詞根化詞匯表,并且需要查詢?nèi)乃饕頃r,將詞根化詞匯表中的每個詞都去查詢?nèi)乃饕恚玫蕉鄠€數(shù)據(jù)行標(biāo)識110位圖;對所述多個110位圖做或運算,得到符合全文檢索條件的節(jié)點集合。
[0036]本發(fā)明實施例提供的XII數(shù)據(jù)庫全文檢索方法及系統(tǒng),本發(fā)明實施例的方法可以使從;1161~7的全文檢索功能更加靈活、完備和可定制,使語料庫的管理和使用變得高效,穩(wěn)定、可靠;特別是可以動態(tài)配置的中文分詞庫的使用,大大提高了中文全文檢索的精準(zhǔn)度、靈活性和智能性。可擴動態(tài)配置的06臟1叩詞庫,因此可以使X祖^813不依賴任何人類語言的語言學(xué)特征完成詞根化,保持X見0813全文檢索內(nèi)核的獨立性和語言無關(guān)性。本發(fā)明實施例的方法還可以靈活地自定義詞匯間關(guān)系,以便在全文檢索中充分發(fā)揮人類語言的靈活性。
【專利附圖】
【附圖說明】
[0037]圖1是本發(fā)明實施例XII數(shù)據(jù)庫檢索方法的流程圖;
[0038]圖2是本發(fā)明實施例XII數(shù)據(jù)庫檢索系統(tǒng)的一種結(jié)構(gòu)示意圖;
[0039]圖3是本發(fā)明實施例XII數(shù)據(jù)庫檢索系統(tǒng)的另一種結(jié)構(gòu)示意圖。
【具體實施方式】
[0040]下面將參考附圖并結(jié)合實施例,來詳細說明本發(fā)明。
[0041]現(xiàn)有系統(tǒng)的31:01)恥!'(18和1116851111*118詞匯表是內(nèi)建的,不可配置,并且它們的義6臟1!18詞匯表是使用固定的程序算法實現(xiàn)的,因此需要針對每種自然語言實現(xiàn)不同的算法,靈活性和準(zhǔn)確性較低,而且不適合中文語言。
[0042]為此,本發(fā)明實施例通過在系統(tǒng)中實現(xiàn)對這三種資源的配置,并且讓用戶可以在查詢中選擇使用他配置的詞庫來增強系統(tǒng)處理所有自然語言的靈活性。
[0043]對于全文檢索的需求來說,特別是中文的全文檢索需求來說,標(biāo)準(zhǔn)的X如60?1111丨以丨定義的功能還很不完整。首先,中文分詞需要中文詞庫支持,但是詞庫根據(jù)文本內(nèi)容不同,可能需要很多種,比如日常用語詞庫,各種科學(xué)技術(shù)專業(yè)詞庫,例如生物學(xué)專業(yè)詞庫,醫(yī)療專業(yè)詞庫,化學(xué)化工專業(yè)詞庫等等。中文分詞庫的作用是根據(jù)詞庫中的詞匯進行字符切割以便把一個中文字符串切分為合乎語境語義的若干個詞語。由于在各種專業(yè)詞庫中有大量專業(yè)詞匯,這些詞匯在日常生活中極少出現(xiàn);甚至在不同的組合方式下可以分出不同意義的詞語集合,導(dǎo)致同一份文本在使用不同的專業(yè)詞庫時可以得到完全不同的分詞結(jié)果。所以需要為專業(yè)文本使用正確的專業(yè)詞庫以便準(zhǔn)確分割出該專業(yè)的詞匯。
[0044]另外,^如61~7 ?11111:6X1:標(biāo)準(zhǔn)中的31:6臟1118詞匯表和1116851111*118詞匯表不夠靈活。
[0045]為此,本發(fā)明實施例提出了一套統(tǒng)一的基于動態(tài)語料庫的乂01161~7全文檢索擴展機制,它包括對語料庫的管理和使用;以及在從;1161~7 “6X1:現(xiàn)有的使用81:0^01-(18和1116851111*118詞匯表的基礎(chǔ)上,使用中文分詞詞匯表,81:6111111111?詞匯表和可以擴展的1116851111*118詞匯表。
[0046]如圖1所示,是本發(fā)明實施例XII數(shù)據(jù)庫全文檢索方法的流程圖,包括以下步驟:
[0047]步驟101在XII數(shù)據(jù)庫中設(shè)置停用詞元數(shù)據(jù)表、詞匯關(guān)系元數(shù)據(jù)表、詞根化元數(shù)據(jù)表、以及中文分詞元數(shù)據(jù)表,并且各元數(shù)據(jù)表中每一行以一個字符串為主鍵;
[0048]步驟102,在進行查詢時,利用所述字符串引用與其對應(yīng)的詞匯表。
[0049]在本發(fā)明實施例中,上述四種詞匯表分別存儲在對應(yīng)的詞庫中,即31:0^01^8詞庫、1116821111*118詞庫、中文分詞詞庫、3丨6臟1118詞庫。這些詞庫統(tǒng)稱為語料庫,它們都是讓用戶根據(jù)自身應(yīng)用需求來擴展和定制全文檢索運行方式的工具。
[0050]上述四種語料庫分別存儲在31:0押01(18元數(shù)據(jù)表、1116821111*118元數(shù)據(jù)表、中文分詞元數(shù)據(jù)表、和31:61111111118元數(shù)據(jù)表中。也就是說,元數(shù)據(jù)表中存儲著00押1:11688111-118/中文詞匯表這幾種語料,組成了語料庫。其中,每一個表是一個獨立的系統(tǒng)元數(shù)據(jù)表。在查詢語句中有對某種語料庫的詞匯表的引用時,就查詢對應(yīng)的元數(shù)據(jù)表來解析和使用詞匯表。
[0051]進一步地,為了準(zhǔn)確地完成對任意人類語言的詞根化(31:61111111118),不在數(shù)據(jù)庫管理系統(tǒng)內(nèi)核實現(xiàn)中依賴于語言本身的特征完成詞根化,而是讓用戶注冊3仏臟1!18詞匯表,用于指定多個單詞的詞根,這樣X祖^數(shù)據(jù)庫管理系統(tǒng)內(nèi)核完全不需要理解所處理的語言的語言學(xué)特征。這樣做可以讓X肌^數(shù)據(jù)庫管理系統(tǒng)脫離對其所存儲的文本的人類語言特征的依賴,以便統(tǒng)一地準(zhǔn)確地處理任何一種人類語言文字。
[0052]同時為了準(zhǔn)確地完成專業(yè)性強的中文文本的分詞,本發(fā)明實施例還提出在X祖^數(shù)據(jù)庫管理系統(tǒng)中讓用戶可以注冊任意多個中文專業(yè)詞匯表到)011數(shù)據(jù)庫管理系統(tǒng)中,在使用XIII數(shù)據(jù)庫管理系統(tǒng)時用戶可以動態(tài)地選擇使用某一個專業(yè)詞匯表來完成中文分詞。
[0053]另外,本發(fā)明實施例中,還可以由用戶在1116821111*118標(biāo)準(zhǔn)定義的2,現(xiàn),81,階,816, 81?,階?,II,奶”幾種詞匯關(guān)系之外,定義任意的詞匯關(guān)系,比如反義詞(可以縮寫為八3價0等,只要在1116821111*118詞匯表中使用這種詞匯關(guān)系名稱即可。然后在
?11111^6X1:查詢語句中就可以指定這種詞匯關(guān)系。
[0054]存儲上述四種語料庫的元數(shù)據(jù)表中每一行以一個字符串為主鍵,這個字符串通常是一個統(tǒng)一資源定位符⑶此)字符串以確保唯一性;在糾1161~7查詢中,就使用這個字符串來引用一個詞匯表。一個詞匯表作為一個字符串構(gòu)成一個數(shù)據(jù)行,整體存儲在對應(yīng)的元數(shù)據(jù)表中。由于這四種詞匯表的內(nèi)容通常并不很大(即使一百萬字的詞匯表也只有2-318的數(shù)據(jù)量),所以這樣做沒有任何問題。當(dāng)X㈨61*7而11仏#中出現(xiàn)了對詞匯表(即語料)的引用(其形式為社^ 111-1字符串”,是糾1161~7定義的)時,口此字符串被用作查詢條件,在對應(yīng)的語料庫的元數(shù)據(jù)表中查找目標(biāo)詞匯表。目標(biāo)詞匯表從元數(shù)據(jù)表中取出來后,被按照各自所需的方式解析出來并且裝入內(nèi)存數(shù)據(jù)結(jié)構(gòu)中以完成快速的查詢操作。
[0055]要使用一個31:61111111118詞匯表時,用戶需要在查詢語句中指定“仍丨叩^仏臟丨呢社II尺[”的形式。其中“社III化”這部分是可選的,是本發(fā)明實施例對乂01161~7語言的擴展。X祖1)813系統(tǒng)默認使用系統(tǒng)內(nèi)置的英語的義61111111118詞匯表。用戶可以注冊任意的3七6臟1!18詞匯表,并且在使用中用一個唯一的字符串(通常是現(xiàn)0來標(biāo)識即可。
[0056]使用一個31:61111111118詞匯表的方式是將一組詞與它們的詞根組織成一個整體,構(gòu)成一個8丨6臟1118詞組。做全文檢索時如果啟用了 3丨6臟1118詞匯表,則在做關(guān)鍵詞比較時,先找到需要比較的兩個關(guān)鍵詞(即用戶查詢語句中的關(guān)鍵詞和X祖^數(shù)據(jù)庫中存儲的X祖^節(jié)點數(shù)據(jù)行中的關(guān)鍵詞)的詞根,然后比較詞根是否相同。如果相同,則認為比較的兩個關(guān)鍵詞相同。
[0057]如果要查詢?nèi)乃饕?,那么查詢引擎將義6臟1118詞組中的每個詞都去查詢?nèi)乃饕淼玫饺舾蓚€110 (1^16 1(1,數(shù)據(jù)行標(biāo)識)格式的位圖,然后對這些110格式的位圖做或運算,即可得到符合全文檢索條件的節(jié)點集合。110是數(shù)據(jù)行的位置編碼,110位圖就是將這些編碼以位圖的形式存儲起來。得到了 110位圖,就相當(dāng)于得到了含有目標(biāo)數(shù)據(jù)的數(shù)據(jù)行的位置,也就意味這查找到了結(jié)果。
[0058]所述全文索引表是用于高效地檢索含有目標(biāo)關(guān)鍵詞的數(shù)據(jù)行。它以關(guān)鍵詞為鍵值,以110為值,數(shù)據(jù)庫系統(tǒng)用該110可以得到目標(biāo)數(shù)據(jù)行。在插入一行數(shù)據(jù)時,系統(tǒng)會對該數(shù)據(jù)做分詞,得到一串關(guān)鍵詞,然后將這些關(guān)鍵詞以及這個數(shù)據(jù)行的110構(gòu)成若干條索引數(shù)據(jù)行(每行一個關(guān)鍵詞),插入全文索引表中,以便查詢時能夠用其中任何一個關(guān)鍵詞找到該數(shù)據(jù)行。
[0059]現(xiàn)有技術(shù)對文檔的檢索通常沒有這么細的粒度,通常只能找到含有目標(biāo)關(guān)鍵詞的段落,并且針對的是文本文件。本發(fā)明實施例可以定位到XII節(jié)點級別,針對XII數(shù)據(jù)進行檢索。
[0060]要使用一個中文分詞詞匯表時,用戶需要在其連接會話中用這個詞匯表的標(biāo)識字符串來引用這個詞匯表,將它設(shè)置為本次連接期間使用的中文分詞詞匯表。設(shè)置之后,這個詞匯表被X見0813從中文分詞詞庫這個元數(shù)據(jù)表中查詢出來,并且其中的詞語被設(shè)置到乂110813系統(tǒng)內(nèi)部的中文分詞器對象中。中文分詞器在插入XII文檔時就使用這些詞語對文本節(jié)點的字符串做分詞以便構(gòu)建全文索引表的鍵值,以及在執(zhí)行全文檢索時對查詢字符串做中文分詞。在一次連接期間用戶可以多次改變該設(shè)置,以便在一次連接期間完成對多種專業(yè)文本的分詞。
[0061]^01161-7標(biāo)準(zhǔn)使用的1116851111*118的詞匯關(guān)系是由1302788定義的(見匕七如..11觀I ^3.01-^/11^/^1)81:11-^1111-1:6^1:-10/^180-2788),它定義的詞語間關(guān)系包括 113£,皿,81,町,816, ^16, 81?,町?,II,町。在讓68仙1~118詞匯表中指定詞匯間關(guān)系的格式是:恥!'己1\七詘[八丁例如”1110111 ^82皿1111”。用戶可以在詘[八丁10吧??!1?這個部分使用任意一個由26個字母組成的字符串代表某種自定義的詞語間關(guān)系。在全文檢索查詢語句中,像使用其他標(biāo)準(zhǔn)的關(guān)系字符串一樣的方式來指定這個關(guān)系字符串即可找到與指定單詞有指定關(guān)系的詞語。
[0062]在實現(xiàn)層面,以關(guān)系字符串和恥!'(11為條件來查詢得到肌也就是與恥!'(11具有指定關(guān)系的詞語。比如可以這樣指定”10^6”與”1!社6”兩個單詞的反義詞關(guān)系:”1抓6八 3抓匕&七一”,并且這個詞匯關(guān)系注冊在名 %?9 //^^1.00111/ (16^81111:/1:116851111*118”的1:116851111*118詞匯表中。這樣在全文檢索語句中可以這樣指定1:116851111*118選項:,,⑶I11:81118 1^6X1: “ 1(^6,,118111? 1:11688111~118 3,100111/(16^81111:/
1:11688111-118 1-01^1:101181111)八3抓”,這樣就可以使用這個詞匯關(guān)系找到所有含有與” 1?^6 ”反義的詞語的那些文本。
[0063]本發(fā)明實施例的方法可以使從;1161~7的全文檢索功能更加靈活、完備和可定制,使語料庫的管理和使用變得高效,穩(wěn)定、可靠;特別是可以動態(tài)配置的中文分詞庫的使用,大大提高了中文全文檢索的精準(zhǔn)度、靈活性和智能性。可擴動態(tài)配置的#6皿1118詞庫,因此可以使X見0813不依賴任何人類語言的語言學(xué)特征完成詞根化,保持X見0813全文檢索內(nèi)核的獨立性和語言無關(guān)性。本發(fā)明實施例的方法還可以靈活地自定義詞匯間關(guān)系,以便在全文檢索中充分發(fā)揮人類語言的靈活性。
[0064]相應(yīng)地,本發(fā)明實施例還提供一種X見數(shù)據(jù)庫全文檢索系統(tǒng),如圖2所示,是該系統(tǒng)的一種結(jié)構(gòu)示意圖。
[0065]在該實施例中,所述系統(tǒng)包括:
[0066]設(shè)置單元201,用于在XII數(shù)據(jù)庫中設(shè)置停用詞元數(shù)據(jù)表、詞匯關(guān)系元數(shù)據(jù)表、詞根化元數(shù)據(jù)表、以及中文分詞元數(shù)據(jù)表,并且各元數(shù)據(jù)表中每一行以一個字符串為主鍵;
[0067]查詢單元202,用于在進行查詢時,利用所述字符串引用與其對應(yīng)的詞匯表。
[0068]如圖3所示,是本發(fā)明實施例XII數(shù)據(jù)庫全文檢索系統(tǒng)的另一結(jié)構(gòu)示意圖。
[0069]與圖2所示實施例不同的是,在該實施例中,所述系統(tǒng)還包括:接收單元203,用于接收用戶設(shè)定的詞匯關(guān)系名稱,和/或接收用戶注冊的一個或多個專業(yè)詞匯表。
[0070]相應(yīng)地,在該實施例中,設(shè)置單元201具體用于在詞匯關(guān)系詞匯表中使用所述詞匯關(guān)系名稱定義詞匯關(guān)系,并根據(jù)所述詞匯關(guān)系詞匯表生成所述詞匯關(guān)系元數(shù)據(jù)表;根據(jù)用戶注冊的詞根化詞匯表生成所述詞根化元數(shù)據(jù)表;根據(jù)所述專業(yè)詞匯表生成所述中文分詞元數(shù)據(jù)表。
[0071]相應(yīng)地,在該實施例中,查詢單元202在進行全文查詢時,如果啟用了詞根化詞匯表,則先獲取用戶查詢語句中的關(guān)鍵詞和XII節(jié)點數(shù)據(jù)行中的關(guān)鍵詞這兩個關(guān)鍵詞的詞根,然后比較這兩個詞根是否相同。
[0072]相應(yīng)地,在該實施例中,查詢單元202在啟用了詞根化詞匯表,并且需要查詢?nèi)乃饕頃r,將詞根化詞匯表中的每個詞都去查詢?nèi)乃饕?,得到多個數(shù)據(jù)行標(biāo)識110位圖;對所述多個110位圖做或運算,得到符合全文檢索條件的節(jié)點集合。
[0073]本發(fā)明實施例的系統(tǒng)可以使乂01161~7的全文檢索功能更加靈活、完備和可定制,使語料庫的管理和使用變得高效,穩(wěn)定、可靠;特別是可以動態(tài)配置的中文分詞庫的使用,大大提高了中文全文檢索的精準(zhǔn)度、靈活性和智能性。可擴動態(tài)配置的#6皿1118詞庫,因此可以使X見0813不依賴任何人類語言的語言學(xué)特征完成詞根化,保持X見0813全文檢索內(nèi)核的獨立性和語言無關(guān)性。本發(fā)明實施例的系統(tǒng)還可以靈活地自定義詞匯間關(guān)系,以便在全文檢索中充分發(fā)揮人類語言的靈活性。
[0074]本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
[0075]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0076]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種XML數(shù)據(jù)庫全文檢索方法,其特征在于,所述方法包括: 在XML數(shù)據(jù)庫中設(shè)置停用詞元數(shù)據(jù)表、詞匯關(guān)系元數(shù)據(jù)表、詞根化元數(shù)據(jù)表、以及中文分詞元數(shù)據(jù)表,并且各元數(shù)據(jù)表中每一行以一個字符串為主鍵; 在進行查詢時,利用所述字符串引用與其對應(yīng)的詞匯表。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 接收用戶設(shè)定的詞匯關(guān)系名稱,并在詞匯關(guān)系詞匯表中使用所述詞匯關(guān)系名稱定義詞匯關(guān)系; 根據(jù)所述詞匯關(guān)系詞匯表生成所述詞匯關(guān)系元數(shù)據(jù)表。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 根據(jù)用戶注冊的詞根化詞匯表生成所述詞根化元數(shù)據(jù)表。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 接收用戶注冊的一個或多個專業(yè)詞匯表; 根據(jù)所述專業(yè)詞匯表生成所述中文分詞元數(shù)據(jù)表。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述字符串為統(tǒng)一資源定位符URL字符串。
6.根據(jù)權(quán)利要求1至5任一項所述的方法,其特征在于,所述方法還包括: 在進行全文查詢時,如果啟用了詞根化詞匯表,則先獲取用戶查詢語句中的關(guān)鍵詞和XML節(jié)點數(shù)據(jù)行中的關(guān)鍵詞這兩個關(guān)鍵詞的詞根,然后比較這兩個詞根是否相同。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法還包括: 如果啟用了詞根化詞匯表,并且需要查詢?nèi)乃饕恚瑒t將詞根化詞匯表中的每個詞都去查詢?nèi)乃饕?,得到多個數(shù)據(jù)行標(biāo)識TID位圖; 對所述多個TID位圖做或運算,得到符合全文檢索條件的節(jié)點集合。
8.—種XML數(shù)據(jù)庫全文檢索系統(tǒng),其特征在于,所述系統(tǒng)包括: 設(shè)置單元,用于在XML數(shù)據(jù)庫中設(shè)置停用詞元數(shù)據(jù)表、詞匯關(guān)系元數(shù)據(jù)表、詞根化元數(shù)據(jù)表、以及中文分詞元數(shù)據(jù)表,并且各元數(shù)據(jù)表中每一行以一個字符串為主鍵; 查詢單元,用于在進行查詢時,利用所述字符串引用與其對應(yīng)的詞匯表。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 接收單元,用于接收用戶設(shè)定的詞匯關(guān)系名稱,和/或接收用戶注冊的一個或多個專業(yè)詞匯表; 所述設(shè)置單元,具體用于在詞匯關(guān)系詞匯表中使用所述詞匯關(guān)系名稱定義詞匯關(guān)系,并根據(jù)所述詞匯關(guān)系詞匯表生成所述詞匯關(guān)系元數(shù)據(jù)表;根據(jù)用戶注冊的詞根化詞匯表生成所述詞根化元數(shù)據(jù)表;根據(jù)所述專業(yè)詞匯表生成所述中文分詞元數(shù)據(jù)表。
10.根據(jù)權(quán)利要求8或9所述的系統(tǒng),其特征在于, 所述查詢單元在進行全文查詢時,如果啟用了詞根化詞匯表,則先獲取用戶查詢語句中的關(guān)鍵詞和XML節(jié)點數(shù)據(jù)行中的關(guān)鍵詞這兩個關(guān)鍵詞的詞根,然后比較這兩個詞根是否相同。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 所述查詢單元,在啟用了詞根化詞匯表,并且需要查詢?nèi)乃饕頃r,將詞根化詞匯表中的每個詞都去查詢?nèi)乃饕?,得到多個數(shù)據(jù)行標(biāo)識TID位圖;對所述多個TID位圖做或運算,得到符合全文檢索條件的節(jié)點集合。
【文檔編號】G06F17/30GK104346332SQ201310311498
【公開日】2015年2月11日 申請日期:2013年7月23日 優(yōu)先權(quán)日:2013年7月23日
【發(fā)明者】趙偉, 李 浩, 鄭程光, 孫偉豐, 羅正海, 陳麗娟 申請人:北大方正集團有限公司, 方正信息產(chǎn)業(yè)控股有限公司, 上海方正數(shù)字出版技術(shù)有限公司