摘 要:隨著科技發(fā)展,如何有效檢索大量的可擴展標記語言(Extensible Markup Language,XML)數(shù)據(jù)是當(dāng)前數(shù)據(jù)庫與信息檢索等領(lǐng)域中一個亟待解決的熱點研究問題,本文主要通過深度分析現(xiàn)有的XML搜索狀況,并以此為基礎(chǔ),采用XML搜索模式作為主導(dǎo)思路,同時融合數(shù)據(jù)庫科技及信息檢索科技,重點研究XML文檔檢索中的一些關(guān)鍵技術(shù),涵蓋了關(guān)鍵詞搜索、模糊結(jié)構(gòu)語境下的XML內(nèi)容和結(jié)構(gòu)搜索以及利用關(guān)聯(lián)型數(shù)據(jù)庫實現(xiàn)的XML全量搜索等。本文提出的方法在具有較高效率的前提下,能夠很好地處理XML檢索中結(jié)構(gòu)化約束條件。
關(guān)鍵詞:XML技術(shù);數(shù)據(jù)庫;檢索
中圖分類號:TP 391 文獻標志碼:A
傳統(tǒng)信息檢索技術(shù)在處理非結(jié)構(gòu)化數(shù)據(jù)的檢索上取得了大量卓有成效的研究成果,由于XML數(shù)據(jù)同時具備結(jié)構(gòu)和內(nèi)容的特點,使對XML數(shù)據(jù)的信息搜尋成為一項全新的挑戰(zhàn)[1]。因此,如何有效地利用數(shù)據(jù)庫技術(shù)來應(yīng)對這種新型的數(shù)據(jù)類型成為了研究者們共同探討的問題,并由此開辟了一條新的路徑。
1 XML技術(shù)概述
1.1 XML的定義與特點
XML數(shù)據(jù)被視為一種混合型數(shù)據(jù)類型,位于非結(jié)構(gòu)化數(shù)據(jù)(例如純粹文字、圖片或影片)及結(jié)構(gòu)化數(shù)據(jù)(例如數(shù)據(jù)庫中的關(guān)系式信息)之間的過渡地帶。相較于前者,XML具備一定程度的組織特性;然而,對比后者時,其結(jié)構(gòu)特征卻有很大的差異。作為要求嚴謹?shù)臉撕灳幋a方式,XML需要遵守基本的層級嵌入語法準則,并可通過XML模式加以限制[2]。XML文件由聲明、組件、屬性和處理指示、文本內(nèi)容以及命名空間這六大要素構(gòu)成。
1.2 XML的基本結(jié)構(gòu)與語法
1.2.1 XML數(shù)據(jù)模型
XML數(shù)據(jù)模型定義了XML數(shù)據(jù)及與其相關(guān)的操作的具體含義,對XML數(shù)據(jù)的存儲和索引、查詢和優(yōu)化等各個環(huán)節(jié)都具有重要意義。由于XML數(shù)據(jù)自身并不具備圖形化數(shù)據(jù)的支持,當(dāng)考慮身份證標識(Identity Document,ID)和標識符引用IDREF(Identifier Reference)這樣特殊屬性的存在時,可以使用帶標簽的有向圖來表示。鑒于XML數(shù)據(jù)往往以層級嵌入的方式組織,可以將其抽象成一個有序的標記樹,因此,XML數(shù)據(jù)的邏輯模型可表述如下。
一個XML文檔D,可以采用有序標簽樹T對其進行表示,如公式(1)所示。
T=(V,v0,E,ΣE,Σ,P,e,lab,val,≤doc) (1)
式中:V為D中所有XML節(jié)點組成的集合;v0為D的根節(jié)點;P為二元關(guān)系且P={(v0,v1,...,vn)|(vi,vi+1)∈E,0≤i≤n}∪{v0}。
節(jié)點v0的祖先路徑約束是從根節(jié)點v0到vn的連續(xù)父子約束,可表示為v0→v1→…→vn。
1.2.2 XML檢索語言
現(xiàn)有的多種XML搜索引擎包括XMl-ql、XQL(XQuery-
Language)、Quit和QbE(Query by Example),都以一種名為“Xpath”的模式匹配規(guī)則為基礎(chǔ)來解析并提取XML文檔中的元素及其屬性信息。因此,如何對其進行表示、轉(zhuǎn)換和處理,是實現(xiàn)XML信息檢索和查詢優(yōu)化的關(guān)鍵技術(shù)。
2 現(xiàn)有XML搜索技術(shù)分析
2.1 關(guān)鍵詞搜索技術(shù)概述
XML關(guān)鍵詞查詢是在傳統(tǒng)搜索引擎的基礎(chǔ)上,提出了一種基于關(guān)鍵詞的查詢方法來實現(xiàn)XML文檔的查詢。如何在XML文檔中迅速地將符合用戶意圖的、相對獨立的、適度粒度的XML文檔返回給用戶,是XML文檔檢索領(lǐng)域的一個重要課題[3]。當(dāng)前,已有的XML關(guān)鍵詞檢索算法都是用有標記的定向樹來表示XML文檔,用最小的共同祖先或者其形變來表示查詢的語義,并以SLCA結(jié)點為根結(jié)點的子樹作為查詢結(jié)果。
2.2 結(jié)構(gòu)化搜索技術(shù)概述
2.2.1 基于路徑的XML檢索
此種方式通常通過XPath來設(shè)定,它是對XQL查詢語句的一種拓展,例如XIRQL、NEXI等,提供了更多的功能并能根據(jù)可能性計算搜索結(jié)果的評分。然而,XIRQL本身較為煩瑣,并不適合普通用戶操作。NEXI由INEX推出,主要應(yīng)用于向XML數(shù)據(jù)及結(jié)構(gòu)輸入的內(nèi)容查找。該語言對XPath做了一定的約束和擴充,僅允許使用子孫節(jié)點作為XPath軸值,并且加入了關(guān)于函數(shù),以實現(xiàn)對文本信息的模糊匹配。NEXI查詢?nèi)绻剑?)所示。
path1[abouts1]//path2[abouts2]/…//pathn[aboutsn] (2)
式中:path為僅包括后裔軸的XML節(jié)點序列。
2.2.2 基于片段的XML檢索
XML片段檢索過程如下。
〈book〉
〈title〉Christopher〈/title〉
〈year〉Jim〈/year〉
〈/book〉
2.3 模糊搜索技術(shù)概述
XML文件同時包括文字和結(jié)構(gòu)2種類型。考慮現(xiàn)實情況下的XML查找系統(tǒng)的多個源數(shù)據(jù),其模式呈現(xiàn)多樣化的特征。此外,用戶通常無法理解這些模式,即使能夠準確地進行比較并交換(compareandswap,CAS)查詢,也很難滿足用戶的要求[4]。因此,在執(zhí)行CAS查詢的過程中,必須對結(jié)構(gòu)限制條件實施一定程度的模糊處理,以便更好地滿足用戶的需求,從而提高其搜索效率。
2.4 現(xiàn)有XML搜索技術(shù)的優(yōu)缺點分析
本文以圖1中的XML文檔和表1檢索示例說明最低最小公共祖先(Smallest Lowest Common Ancestor,SLCA)語義主要存在的問題。
2.4.1 返回不相關(guān)結(jié)果
當(dāng)客戶請求獲取Tom所寫的所有關(guān)于m的文章時,輸入了表格1中定義的查詢Q4,由于Tom并未參與撰寫文章編號為18、標題為“paper”的作品,因此這個搜索結(jié)果被視為無關(guān)聯(lián)的信息。同樣的,當(dāng)處理查詢Q5時也出現(xiàn)了這個問題。
2.4.2 丟失相關(guān)結(jié)果
當(dāng)客戶尋求了解Jim所寫的有關(guān)XML的研究文章時,輸入表1的數(shù)據(jù)Q3,得到的SLCA語義輸出是paper(8,3,7)和paper(34,3,7)。由于paper(18,3,7)是在關(guān)于XML研究的session下的一篇文章,主要討論的是XMLIR領(lǐng)域的問題,這與客戶的需求相符,因此在SLCA語義輸出的結(jié)果里并沒有包括這個信息。
2.4.3 單關(guān)鍵詞查詢效果不好
用戶想要查詢Jim出版過的文章,提交查詢Q1,SLCA語義返回的結(jié)果集是{Jim(15,6,0)、Jim(25,6,0)、Jim(41,6,0)、Jim(41,6,O)},只返回了作者姓名,并沒有給出其他文獻的任何信息。
為了提高SLCA的語義檢索精度,研究者們對SLCA的語義做了相應(yīng)的改進,提出了一種基于XML模式的高效檢索方法?;诖?,本文提出了一種新的基于語義的方法,MLCA(Meaningful Lowest Common Ancestor)通過特定方式提高查詢結(jié)果的準確性。它基于XML文檔結(jié)構(gòu)與模式定義,處理查詢時深入分析其中元素的定義與關(guān)系,從而精準定位符合條件的節(jié)點。例如,當(dāng)查詢涉及特定元素屬性組合時,MLCA能夠憑借模式有效確定各屬性的語義及層次關(guān)系,進而準確找到最低公共祖先節(jié)點,減少錯誤結(jié)果的出現(xiàn)。MLCEA(Meaningful Lowest Common Entity Ancestor)以實體作為基本語義單元開展工作。在XML數(shù)據(jù)處理過程中,著重從實體角度考量其語義關(guān)聯(lián)以及層次關(guān)系。以包括多個相關(guān)實體信息的XML文檔為例,當(dāng)執(zhí)行與某一實體相關(guān)的查詢操作時,MLCEA能夠精準識別代表該實體的最低公共祖先節(jié)點,并且能夠忽略與實體語義無關(guān)的節(jié)點結(jié)構(gòu)差異,從而有效提升查詢的準確性以及語義相關(guān)性。同時,將所求的SLCA結(jié)點視為實體結(jié)點,并將關(guān)鍵詞與多個同名實體的屬性相異的情形結(jié)合,從而提高檢索的精度[5]。XSeek將XML樹節(jié)點劃分為實體結(jié)點、屬性結(jié)點和連通結(jié)點,通過用戶輸入的關(guān)鍵詞來推斷用戶的查詢意圖,提高了檢索的準確率。
3 基于XML技術(shù)的智能檢索方法研究
3.1 關(guān)鍵詞搜索改進算法
針對某一XML文件,對XML文件進行分塊,當(dāng)對XML文件進行分析時,對各類型節(jié)點的平均屬性類型數(shù)目及子樹大小進行統(tǒng)計,確定控制器局域網(wǎng)絡(luò)(Controller Area Network,CAN),并采用生成算法對各個CAN進行建模。為了加快XML關(guān)鍵詞查詢的速度,以候選片段(Candidate Fragment,CAF)文件為例,建立了一個倒排索引項目(keyword,prev),其中keyword為關(guān)鍵詞,prev為該CAF內(nèi)CAN的前置編號。當(dāng)在匹配的關(guān)鍵詞集合中查找索引時,會根據(jù)節(jié)點編號從小到大進行排序,即按照XML文件的順序進行排列[6]。
NodeMatch是一種節(jié)點匹配算法,用于計算XML文檔T中包括所有關(guān)鍵詞CAN編號集合的匹配。該算法1使用了XML文檔T的CAN集合來實現(xiàn),具體如下。
1:R:=Φ
2:for i=1 to m do
3:Si:=GetMatchNode(ki);
4:end for
5:Sort(S1,S2,...,Sm);
6:for i=1 to Length(S1)do
7:found:=TRUE,finish:=;
8:for j=2 to m do
9:while Sj≠ΦΛSj[1]≤[i]do
10:end while
11:if Sj≠Φthen
12:if Sj[1]≠S1[i] then
13:found:=FLASE;break
14:end if
15:else
16:found:=FLASE,finish:=TRUE;break
17:end if
18:end for
19:if found then
20:R←R∪{S1[i]}
21:end if
22:if finish then
23:break;
24:end if
25:end for
26:return R;
首先,NodeMatch算法初始化結(jié)果集合為空,并逐個掃描關(guān)鍵詞倒排索引,獲取每個關(guān)鍵詞匹配的CAN集合。其次,將匹配集合按照CAN數(shù)量進行升序排列;針對節(jié)點數(shù)最小的集合amp;中的每個候選節(jié)點編號,掃描其他集合:去除小于S1首元素的編號,各集合首元素均相等,將S1當(dāng)前元素加入結(jié)果集合R中,并進行下一次循環(huán)。
以Q3={Jim,XML}為例,關(guān)鍵詞匹配的候選節(jié)點集合為SJim={8,18,34}和SXML={8,18,34},根據(jù)算法1的執(zhí)行過程,檢索系統(tǒng)將返回候選節(jié)點編號集合{8,18,34}作為檢索結(jié)果。
3.2 利用關(guān)聯(lián)型數(shù)據(jù)庫實現(xiàn)XML全量搜索的方法
在上下文中,標簽的重要性可以通過其所處的層次來表現(xiàn)。一般來說,位于較高級別的標簽比低級別的標簽具有更大的影響力。因此,本文將標簽在各個層次上的重要性定義為層次權(quán)重。
層次權(quán)重:標簽l在上下文c中的層次權(quán)重如公式(3)所示。
lweight(l,c)=γlevel(l,c)-1 (3)
式中:γ為層次權(quán)重因子,且0lt;γlt;1;level(l,c)為標簽l在上下文c中的層次。
層次相似度如公式(4)所示。
(4)
上下文相似度如公式(5)所示。
(5)
式中:|cq|為查詢上下文中元素的個數(shù);|cd|為文檔上下文中元素的個數(shù);LMS(cq,cd)為cq和cd最長匹配序列中元素的個數(shù);γ為層次權(quán)重因子,且0lt;γlt;1;lm為LMS(cq,cd)中元素位于cd的最右端。
本文所給出的內(nèi)容相似度的計算方法可以很好地衡量上下文間的相似程度,而不需要做太多的調(diào)整。為高效地計算查詢前后關(guān)系和文件前后關(guān)系的相似性,可以使用算法2來求解。在此基礎(chǔ)上,本文提出一種基于最大共同子序列(Longest Common Subsequence,LCS)的方法,將標簽的層級權(quán)重與不同情境下的標簽相似度結(jié)合,實現(xiàn)上下文相似度的度量。
算法2:ContextResemblance。
輸入:查詢上下文cp,文檔上下文cd,層次權(quán)重系數(shù)γ。
輸出:上下文相似度cr。具體如下。
1:cr:=0,bcr:=0,pos[],m(,),prev[,];
2:for i=1 to Length(cq)do m[i,0]:=0;
3:for j=1 to Length(cd)do m[0,j]:=0;pos[j]:=0;
4:for i=1 to Length(cq)do
5:for i=1 to Length(cq)do
6:if Match(cq[i-1],cd[j-1])then
7:m[i,j]:=m[i-1,j-1]+1;
8:prev[i,j]:=1
9:else if m[i-1,j]≤m[i,j-1]then
10:m[i,j]:=m[i,j-1];prev[i,j]:=2
11:elsd m[i,j]:=m[i-1,j];prev[i,j]:=3
12:end if
13:end if
14:bcr:=bcr+γi-1;
15:i:Length(cq);j:=Length(cd)
16:if m([i,j]=0 then cr:=0;
17:else while true do
18:if i=0or j=0 then break;end if
19:if prev[i,j]=1 then
20:cr:cr+yj-1?;
21:pos[j]:=1;i;j;
22:else if prev[i,j]=3 then i;end if
23: if prev[i,j]=2 then i;end if
24:end if
25:j:=Length(cd);
26:while,pos[j]=0,do,j;
27:cr:=cr?γLength(cd)-j
28:
29:return,cr
算法ContextResemblance對輔助變量進行初始化(1~3行),采用動態(tài)規(guī)劃方法對文本上下文(4~14行)進行標注(4~14行),在此過程中記錄與查詢上下文完美匹配的文檔上下文的權(quán)重之和(14行);通過遍歷匹配標志陣列m,計算最右最長匹配子序列權(quán)重之和,懲罰未匹配的最右邊的標記(26~28行),最終將該公式輸入該方程中,求出查詢前后關(guān)系和文件背景之間的相似性(29行)并返回結(jié)果(30行)。
4 結(jié)語
XML文件是一種半結(jié)構(gòu)性的文本文檔,它同時包括文件的內(nèi)容和結(jié)構(gòu)。因此,對XML文件進行搜索時,既可以用關(guān)鍵詞或帶有關(guān)聯(lián)性的關(guān)鍵詞進行搜索,同時也能夠使用有結(jié)構(gòu)限制條件的關(guān)鍵詞進行查找。XML內(nèi)容的搜尋包括結(jié)構(gòu)數(shù)據(jù)和內(nèi)容數(shù)據(jù),對關(guān)鍵詞添加結(jié)構(gòu)限定,能提高尋找的結(jié)果精確度。衡量搜索過程中與文件內(nèi)結(jié)構(gòu)限定的匹配程度是亟待解決的一個核心課題。
本文給出了一種基于上下文的模糊結(jié)構(gòu)查詢方法,提出了一種基于結(jié)構(gòu)化的查詢和文檔的結(jié)構(gòu)化描述方法。標記在上下文中所在的級別能夠反映標記的重要程度,一般來說,高級標記的重要程度高于低級標記。此外,在不同背景下,標記的等級越相近,其在不同背景下的位置也就越相近。在此基礎(chǔ)上,本文給出了一種基于最右邊最長普通序列的文本上下文相似性度量方法,為最終實現(xiàn)有效的XML信息檢索提供技術(shù)支持。
參考文獻
[1]劉妍.大數(shù)據(jù)背景下OCR全文檢索對檔案著錄帶來的機遇與挑戰(zhàn)研究[J].檔案天地,2023(8):37-40.
[2]劉瑞.區(qū)塊鏈、大數(shù)據(jù)、人工智能等新一代信息技術(shù)在檔案管理中的應(yīng)用研究[J].安徽科技,2023(7):39-41.
[3]談春梅,段衛(wèi)華,劉偉.電子信息資源數(shù)據(jù)庫檢索系統(tǒng)的開發(fā)與實現(xiàn)[J].中國圖書館學(xué)報,2002,28(6):238-241.
[4]談春梅,田質(zhì)兵.電子信息資源數(shù)據(jù)庫的開發(fā)設(shè)計及技術(shù)特點[J].中國圖書館學(xué)報,2003,29(6):6-7.
[5]趙亞男.新媒體環(huán)境下數(shù)據(jù)檔案管理存儲檢索平臺的構(gòu)建:以河北省廣播電視三〇七發(fā)射臺為例[J].檔案天地,2023(7):52-55.
[6]馮慷.基于XML技術(shù)的異構(gòu)網(wǎng)絡(luò)信息融合共享系統(tǒng)[J].電子設(shè)計工程,2023,31(10):182-185,190.