艾蘭?瑞尼爾 戴維德?杜賓 斯芬伯格?麥奎因 克勞斯?惠特福德(著)王曉光 王俊芳(譯)
[摘 要] 盡管XML文檔類型定義提供了一種機(jī)器可讀形式的、能夠說明XML語言語法的機(jī)制,但目前并沒有類似的機(jī)制來指定XML詞匯表的具體語義。這意味著沒辦法說明XML標(biāo)記的意義,由XML形式呈現(xiàn)的事實(shí)和關(guān)系無法清晰、全面和規(guī)范地定義。這在實(shí)踐和理論上都引起了嚴(yán)重的后果。從積極的方面看,XML結(jié)構(gòu)能被賦予任意語義,并可用于最初的設(shè)計(jì)者無法預(yù)見的領(lǐng)域。從不太積極的方面來看,內(nèi)容開發(fā)者和軟件工程師必須依靠乏味的文檔,或者更糟的情況是,只能依靠猜測標(biāo)記語言設(shè)計(jì)者的意圖來開展工作。這一過程既費(fèi)時費(fèi)力,又易出錯,還無法核實(shí)驗(yàn)證。即便是設(shè)計(jì)者當(dāng)初的建檔工作做得相當(dāng)完美,不如意的情況還是會發(fā)生。另外,對標(biāo)記語義本質(zhì)研究的匱乏也意味著屬于工程應(yīng)用領(lǐng)域的數(shù)字文檔處理根本沒有什么理論。盡管目前正在進(jìn)行的一些工程(XML模式、RDF、語義網(wǎng))已經(jīng)取得了一些成績,但是這些工程都沒有直接全面地解決XML標(biāo)記語義的核心問題。本文回顧了標(biāo)記意義這個概念的發(fā)展歷史,闡明了解釋XML正式語義的動機(jī),并介紹了一個研究語義的科研項(xiàng)目——BECHAMEL 標(biāo)記語義計(jì)劃。
[關(guān)鍵詞] SGML XML 標(biāo)記 語義 知識表示
[中圖分類號] G238 [文獻(xiàn)標(biāo)識碼] A [文章編號] 1009-5853 (2016) 04-0018-09
[Abstract] Although XML Document Type Definitions provide a mechanism for specifying, in machine-readable form, the syntax of an XML markup language, there is no comparable mechanism for specifying the semantics of an XML vocabulary. That is, there is no way to characterize the meaning of XML markup so that the facts and relationships represented by the occurrence of XML constructs can be explicitly, comprehensively, and mechanically identified. This has serious practical and theoretical consequences. On the positive side, XML constructs can be assigned arbitrary semantics and used in application areas not foreseen by the original designers. On the less positive side, both content developers and application engineers must rely upon prose documentation, or, worse, conjectures about the intention of the markup language designer — a process that is time?consuming, error-prone, incomplete, and unverifiable, even when the language designer properly documents the language. In addition, the lack of a substantial body of research in markup semantics means that digital document processing is undertheorized as an engineering application area. Although there are some related projects underway (XML Schema, RDF, the Semantic Web) which provide relevant results, none of these projects directly and comprehensively address the core problems of XML markup semantics. This paper (i) summarizes the history of the concept of markup meaning, (ii) characterizes the specific problems that motivate the need for a formal semantics for XML and (iii) describes an ongoing research project : the BECHAMEL Markup Semantics Project —that is attempting to develop such a semantics.
[Key words] SGML XML Markup Semantics Knowledge representation
1 引 言
近年來,隨著數(shù)字出版的發(fā)展、萬維網(wǎng)應(yīng)用的迸發(fā)以及電子商務(wù)領(lǐng)域的快速發(fā)展,我們?nèi)粘5纳鐣?、商業(yè)、文化、生活等方方面面都開始應(yīng)用閃標(biāo)準(zhǔn)化通用標(biāo)記語言(Standard Generalized Markup Language,SGML)和可擴(kuò)展標(biāo)記語言(Extensible Markup Language,XML)的文本標(biāo)記系統(tǒng)。SGML/XML是一種定義描述性標(biāo)記語言的機(jī)器可讀技術(shù)。除去一些需要特別處理的部分,這種語言能清晰地定義文檔結(jié)構(gòu)及其潛在意義。SGML/XML發(fā)展速度很快,廣泛使用這種技術(shù)能夠支持高性能的文檔互操作處理和出版。
這種美好的愿望已經(jīng)部分實(shí)現(xiàn)了,SGML/XML的優(yōu)越性超出了人們的預(yù)期,但是SGML/XML文檔系統(tǒng)在功能性、互操作性、多樣性和可獲取性上仍有待提高。若不抓住這個機(jī)會,后果會非常嚴(yán)重:實(shí)業(yè)界已經(jīng)花費(fèi)了高昂的財(cái)務(wù)成本,也失去了很多機(jī)會;在關(guān)鍵的安全應(yīng)用上還有可能導(dǎo)致一些災(zāi)難;對于殘疾人來說,這會阻礙他們平等地獲取當(dāng)代社會文化和商業(yè)福利。此外,久已存在的一些問題也在不斷提醒我們,當(dāng)下最好的數(shù)字文檔模型仍存在缺陷,至少是不夠完善的。
這些問題的根源在于,盡管SGML/XML能為文檔提供有意義的結(jié)構(gòu),但是SGML/XML不能以系統(tǒng)的機(jī)器可處理的方式來表示文檔組件和主題之間的基本語義關(guān)系。SGML/XML支持對機(jī)器可讀的“語法”進(jìn)行說明,但是它沒有提供解釋某種語法的語義內(nèi)涵的機(jī)制,所以一個SGML/XML詞匯的潛在意義到底是什么,還沒有辦法進(jìn)行形式化表達(dá)。利用當(dāng)下的SGML/XML甚至無法表達(dá)非常簡單的有關(guān)文檔標(biāo)注系統(tǒng)的基本語義事實(shí),這些事實(shí)通常是標(biāo)記語言設(shè)計(jì)師預(yù)先設(shè)計(jì)的,但具體實(shí)現(xiàn)仍舊依賴于標(biāo)記語言用戶和軟件。
這種表達(dá)功能的缺失使得SGML/XML用戶必須猜測標(biāo)記語言設(shè)計(jì)師想到的但沒有形式化表達(dá)出來的那些語義關(guān)系。內(nèi)容開發(fā)者必須猜測設(shè)計(jì)者的意圖,在內(nèi)容編碼時依靠這些推斷開展工作,無法將自己的推斷和意圖清晰地表達(dá)給其他人或者傳遞給處理編碼內(nèi)容的應(yīng)用程序。軟件設(shè)計(jì)師也需要猜測標(biāo)記語言設(shè)計(jì)師的可能意圖,并將這種猜想設(shè)計(jì)到軟件工具和應(yīng)用系統(tǒng)中。有時候二階的猜想是必須的:軟件設(shè)計(jì)師要猜測內(nèi)容開發(fā)者對標(biāo)記語言設(shè)計(jì)師意圖的推斷。
很顯然,這些猜測是不完整的、易錯的和未經(jīng)證實(shí)的。而且,制作和實(shí)現(xiàn)過程都費(fèi)時費(fèi)力,功能性和互操作性也很差。為一般的自然語言文檔配備一個SGML/XML的說明書并不能完美地解決這個問題。當(dāng)然,普通的自然語言文檔能給內(nèi)容提供者和軟件工程師提供一些提示,但是目前SGML/XML文檔還沒有通用的規(guī)則。不管怎么樣,普通的自然語言文檔不是機(jī)器可讀的形式,這就是我們要說的 SGML/XML標(biāo)記系統(tǒng)的問題。
與SGML和XML相關(guān)的機(jī)器可處理的語義描述方面的設(shè)想還未形成,這是目前工程領(lǐng)域的問題和未來發(fā)展障礙的根源 [25] [23] [43] [25] [36],相關(guān)的語義學(xué)研究也很少,但是很多學(xué)者已經(jīng)開始關(guān)注此問題。W3C Schema方面的工作與此相關(guān),但也只是覆蓋了這個問題中的很小一部分(比如數(shù)據(jù)類型)。W3C的“語義網(wǎng)”計(jì)劃也與此相關(guān),但它是為了發(fā)展通用的基于XML的知識表示技術(shù)。我們的研究重點(diǎn)是文檔標(biāo)記的語義,它隱藏在實(shí)際的文檔處理系統(tǒng)中。人們可能會說語義網(wǎng)的本質(zhì)就是設(shè)計(jì)語義標(biāo)記,然而在本文中,我們認(rèn)為解決以上問題還必須要深入考慮標(biāo)記的本質(zhì)意義。
接下來,本文首先從歷史背景方面說明標(biāo)記的意義問題(標(biāo)記在文本處理方法的發(fā)展中扮演了有趣的角色);其次,詳細(xì)描述是何種因素產(chǎn)生了形式語義標(biāo)記需求,何種因素決定了語義需求;最后簡要介紹一項(xiàng)多個機(jī)構(gòu)正在參與實(shí)施的研究計(jì)劃——BECHAMEL標(biāo)記語義計(jì)劃,該計(jì)劃正努力解決標(biāo)記的語義問題。
2 歷史背景
文檔“標(biāo)記”大概可以算作傳播系統(tǒng)的一部分,包括早期的書寫、抄寫出版和印刷,但是隨著數(shù)字文本處理和排版的發(fā)展,標(biāo)記的使用變得自覺又常見,同時也成了系統(tǒng)開發(fā)中一個重要的創(chuàng)新領(lǐng)域[4] [40]。20世紀(jì)60年代到80年代是文檔標(biāo)記系統(tǒng)全面系統(tǒng)化發(fā)展的時期,重點(diǎn)工作是提升數(shù)字排版和文本處理的有效性和功能性[12] [22] [19] [10] [26] [17] [18]。20世紀(jì)80年代初期,人們依舊致力于研究標(biāo)記的理論框架,并利用該框架支持高性能系統(tǒng)的開發(fā)。這方面的一些成果已經(jīng)發(fā)表[11] [27] [4] [40],但大部分成果還只是記錄在工作文檔和各種標(biāo)準(zhǔn)形式的產(chǎn)品上。
在這個階段出現(xiàn)的一種觀點(diǎn)是,文檔作為一種智力成果,更適合被抽象為一系列對象(如章節(jié)、段落、公式等)的有序?qū)哟位Y(jié)構(gòu)模型,而不是一維文本字符流模型。字符流常夾雜著大量定義格式的編碼、描述設(shè)計(jì)布局的結(jié)構(gòu)(如頁碼、分欄、印刷行)、像素值矩陣,以及其他一些在不同的文檔處理及存儲系統(tǒng)中潛在的表達(dá)形式[5]。有序?qū)蛹壗Y(jié)構(gòu)模型概括了兩種具有本質(zhì)差別的標(biāo)注,分別是識別編輯文本對象(標(biāo)題、章節(jié)等)的標(biāo)注和說明版面要求的標(biāo)注。前者的應(yīng)用已經(jīng)取得一些成果[11] [27] [4]。諸如標(biāo)題、章節(jié)、段落、方程式、引文之類的相關(guān)文檔元素能被分隔標(biāo)記清晰地標(biāo)示出來,之后通過映射給元素類型的規(guī)則來對元素進(jìn)行間接處理。這種內(nèi)容和形式的分離,能夠以常見的組合經(jīng)濟(jì)的方式實(shí)現(xiàn)基礎(chǔ)層面的間接性和抽象化。在文檔處理的所有方面,這種分離形式有巨大而多樣的實(shí)用價(jià)值[4],更重要的是它似乎說明了“文檔到底是什么”這個問題[5]。用于實(shí)現(xiàn)如此功能的描述性標(biāo)記不只是標(biāo)出了元素的范圍,也攜帶了文檔模型想要揭示的意義(如這段文本是一個章節(jié))。
20世紀(jì)80年代初期,美國國家標(biāo)準(zhǔn)化局(ANSI/ISO)發(fā)布了很有影響力的SGML文檔標(biāo)記元語法,并梳理了標(biāo)記和文檔結(jié)構(gòu)方面之前所做的理論和分析工作。SGML為定義描述性標(biāo)記語言提供了一種機(jī)器可讀的形式。作為一種元語法,SGML沒有定義標(biāo)記語言,而是詳述了開發(fā)標(biāo)記語言中的機(jī)器可讀的技術(shù)。這個定義的核心是一種類似于巴科斯-諾爾范式(Backus-Naur Form,BNF)的形式化表達(dá)機(jī)制。這一機(jī)制攜帶有用于定義類型化屬性及其取值的規(guī)則,以及其他一些用于進(jìn)一步抽象化和間接化的設(shè)計(jì)(參見注釋[30]中對文檔類型定義(Document Type Definitions,DTDs)和巴科斯-諾爾范式相似程度方面的總結(jié))。從結(jié)構(gòu)上來說,SGML文檔是一種具備有序分支和帶標(biāo)記節(jié)點(diǎn)的樹,它是其相應(yīng)的DTD的形式化產(chǎn)物。
經(jīng)過多年的分析和實(shí)踐,SGML背后的基本理念已經(jīng)眾所周知。利用元語法層面的行業(yè)級標(biāo)準(zhǔn)和詞表層面的本地化創(chuàng)新帶來的優(yōu)點(diǎn),SGML的特有機(jī)制(類巴科斯-諾爾范式的元語法,類型化屬性/屬性值對,實(shí)體引用等)在應(yīng)用程序和工具方面得到了高效實(shí)現(xiàn)。SGML標(biāo)記語言本身在發(fā)展中似乎也同時支持和優(yōu)化用于文檔系統(tǒng)設(shè)計(jì)、實(shí)施和利用的理想的工作流程。20世紀(jì)80年代中期到90年代初期,大量基于SGML的標(biāo)注系統(tǒng)發(fā)展起來[1] [42] [39]。
盡管SGML的發(fā)展得到很多關(guān)注,其想法也不錯,并在多個領(lǐng)域成功實(shí)施,但在最初的十年里,幾乎沒人使用它。導(dǎo)致這個結(jié)果的因素有很多,但最重要的還是SGML自身過于復(fù)雜,特別是SGML中包含了許多復(fù)雜的可選屬性,對應(yīng)的軟件可能根本沒必要對其實(shí)現(xiàn),導(dǎo)致SGML軟件開發(fā)速度非常緩慢。更糟糕的是,如果文檔未經(jīng)DTD驗(yàn)證,進(jìn)一步的分析就不可能實(shí)現(xiàn)??s寫控制意味著如果不考慮文檔語法,元素邊界都無法確定下來。另外,SGML還包含了一些其他屬性,它們會導(dǎo)致已有的語法分析工具不適用于形式語法,無法進(jìn)行高效的語法分析。
在網(wǎng)絡(luò)出版和交流方面,SGML系統(tǒng)可應(yīng)用于HTML(超文本標(biāo)記語言)方面。最初的HTML版本定義很松散,缺乏正式的語法說明。后來人們對HTML的SGML DTD有了興趣,事實(shí)證明為已經(jīng)成為“正確”實(shí)踐的東西設(shè)計(jì)DTD是很困難的。更重要的是,由于在最初的HTML說明書中,供應(yīng)商隨意地把程序性標(biāo)記(如)添加到關(guān)鍵性的描述性標(biāo)記中(如
當(dāng)然,這夸大了實(shí)際情況。從某種意義上說,在標(biāo)記語言開發(fā)人員提供的純自然語言文檔中,每個標(biāo)記的意義基本可以表達(dá)清楚。但是,即使是工業(yè)和學(xué)術(shù)領(lǐng)域中標(biāo)記格式最好的DTD文檔,也沒有從根本上解決問題。
設(shè)計(jì)一款反映標(biāo)記語言中語義關(guān)系的軟件時,語言設(shè)計(jì)人員必須能夠?qū)⑽臋n中各部分之間的關(guān)系表示清楚;之后軟件工程師必須能夠(搜索、查找、打開)使用這個標(biāo)記語言文檔,并設(shè)計(jì)應(yīng)用程序來表現(xiàn)其優(yōu)點(diǎn)。這兩個步驟都無法用機(jī)器進(jìn)行驗(yàn)證,可信度無法保證。如果要人工參與的話,就會有礙高性能網(wǎng)絡(luò)文檔處理和發(fā)布系統(tǒng)的發(fā)展。所以我們需要一個機(jī)制保證標(biāo)記語言設(shè)計(jì)人員能夠詳細(xì)地、形式化地指定語義關(guān)系,還能被應(yīng)用程序讀取加工,并完成自我配置,無需一個個地人工參與。
下面我們來看一些具體的語義關(guān)系。這些關(guān)系或多或少地存在潛在的實(shí)用價(jià)值,但目前它們無法方便系統(tǒng)地得以利用,因?yàn)樯袩o標(biāo)準(zhǔn)的機(jī)器可處理的表現(xiàn)形式。事實(shí)上,許多關(guān)系至關(guān)重要,軟件設(shè)計(jì)師常以特定的方式推斷它們在文檔中的存在,并構(gòu)建特定的系統(tǒng)對其加以利用。
類關(guān)系。SGML / XML中不包含用以表達(dá)元素、特征或特征值中類的層級結(jié)構(gòu)或類成員關(guān)系的通用結(jié)構(gòu)。類是目前軟件工程主流結(jié)構(gòu)中最基本和最實(shí)用的模塊。我們不能說,段落是一種結(jié)構(gòu)上的元素(isa關(guān)系),或者所有結(jié)構(gòu)元素都是可編輯的元素(ako關(guān)系)。兩種基本的SGML/XML設(shè)計(jì)有時可以按照屬性/值實(shí)現(xiàn)基礎(chǔ)分類(具體可以使用“type”和“class”這兩種屬性)。這種分類技術(shù)尚不夠成熟,SGML和XML沒能提供更好的機(jī)制來控制和限制其使用。在實(shí)際應(yīng)用中,許多文檔類型設(shè)計(jì)師都采用類的層級結(jié)構(gòu)來進(jìn)行設(shè)計(jì)。XML Schema提供了類關(guān)系的清晰聲明,但它本身并不能在語義上說明這些復(fù)雜類型與其他復(fù)雜類型到底有哪些區(qū)別。
繼承關(guān)系。在許多標(biāo)記語言(例如TEI 和HTML4.0)中,某些屬性會被包含元素所繼承,某些情況下被包含的文本內(nèi)容也會繼承這些屬性。例如,如果一個元素的屬性/值符號為“l(fā)ang="de"”,這表明這一段文本是德語,那意味著它的所有子元素屬性都是德語。但是DTD沒有提供正式說明用以指定哪些特征可以被繼承。而且,這樣的繼承關(guān)系并不是固定不變的,有時也會因?yàn)榘氐亩味x而改變。繼承的方式也有很多種,有些涉及元素的屬性,有些涉及屬性的屬性,另一些則涉及文本和元素的內(nèi)容。例如,如果標(biāo)記表示一個句子是德語,這意味著句子中的所有單詞(除非特殊情況)都是德語。同樣地,所有單詞短語中標(biāo)記了刪除屬性的就刪掉,標(biāo)記了重點(diǎn)屬性的就強(qiáng)調(diào),將一部分內(nèi)容標(biāo)記為一個段落,就意味著這部分內(nèi)容中的所有單詞(或元素)都屬于這個段落。無法指定DTD繼承哪些屬性,也不能指定其繼承邏輯(包括規(guī)則錯誤)。軟件設(shè)計(jì)師經(jīng)常對特定標(biāo)記語言中的這些關(guān)系進(jìn)行推理(判斷正誤),然后在其開發(fā)的工具和應(yīng)用程序中加以實(shí)現(xiàn)[36] 。
語境關(guān)系和引用關(guān)系。在許多標(biāo)記語言中,即使某元素有一個固定的意義用于標(biāo)記相同元素類型,這個元素也可能會因?yàn)樯舷挛年P(guān)系的不同而表示不同的含義。例如,某些文本的標(biāo)記為“”,其具體所指還要依賴文本的結(jié)構(gòu)位置?!?/p>
(3)開發(fā)并測試形式化的、機(jī)器可讀的表示框架,在這種框架需要能夠表示標(biāo)記語言的語義。
(4)探索語義表示技術(shù)的應(yīng)用形式,如支持轉(zhuǎn)碼、信息檢索、可獲得性增強(qiáng)等。目前我們關(guān)心的重點(diǎn)是支持文檔數(shù)據(jù)庫實(shí)例的語義推理,因?yàn)槲覀兿嘈胚@是應(yīng)用知識表示技術(shù)最好的著力點(diǎn)。
(5)與人文計(jì)算研究領(lǐng)域的數(shù)字圖書館內(nèi)容編碼計(jì)劃合作,聯(lián)合軟件工具開發(fā)人員,進(jìn)行語義表示方案的大規(guī)模測試。
早期的Prolog 實(shí)驗(yàn)臺[36]已經(jīng)全面發(fā)展成為一個知識表示原型平臺,用于表示結(jié)構(gòu)性文檔中的事實(shí)和推理規(guī)則[6] [38]。該系統(tǒng)允許分析人員指定某些事實(shí)(如通用標(biāo)識符和屬性值),并將其與語義實(shí)體和屬性有關(guān)的推論性事實(shí)分開。
該系統(tǒng)還提供了一個抽象層,使得標(biāo)記的意義能夠以機(jī)器可讀的和可執(zhí)行的形式明確表達(dá)。在此基礎(chǔ)上可以根據(jù)文檔組成部分進(jìn)行推論,包括那些模糊的結(jié)構(gòu),如層次重疊的組成部分。我們已經(jīng)開發(fā)出一個謂詞集合,能夠模仿W3C的文檔對象模型中用于節(jié)點(diǎn)層級結(jié)構(gòu)導(dǎo)航的方法,并且可以在文檔類型定義中檢索各種屬性取值和有關(guān)信息。這樣就能明確區(qū)分解析器分析的語法信息,分析人員表達(dá)的文檔語義。
初步的研究結(jié)果顯示語義推理識別的復(fù)雜性[36][29]以及語境不確定理解的復(fù)雜性[28]。這個雛形推理系統(tǒng)證明有關(guān)標(biāo)記的自動推理是可行的,并且Prolog的規(guī)則可以處理非單調(diào)性和情景模糊性等復(fù)雜情況[37]。進(jìn)一步的研究可以參考引文[38][35]。
5 標(biāo)記的語義建模
文檔標(biāo)記的語義是能夠被標(biāo)記語言用戶理解的抽象結(jié)構(gòu)、屬性和關(guān)系,標(biāo)記及其語法隱含著這種語義線索。標(biāo)記的語義可以借助知識表示技術(shù)通過明確結(jié)構(gòu)、關(guān)系和屬性來構(gòu)建相應(yīng)的計(jì)算化模型。
參考如下XML標(biāo)記文檔的片段:
Translation between different
SGML/XML applications, or
reconciliation of incompatible
document classes is a well-known
challenge
(1997). A variety of
techniques are used...
熟悉結(jié)構(gòu)化標(biāo)記的讀者自然知道文檔元素中的標(biāo)簽P代表段落,該段落有一個標(biāo)題,標(biāo)題元素之后的段落內(nèi)容形成了文本主體,它從標(biāo)題元素之后開始,并在段落結(jié)束標(biāo)簽之前結(jié)束。標(biāo)簽的意義和用法并不一目了然,所以作者或讀者可以參考標(biāo)記集合的說明文檔。
明顯的標(biāo)記是為方便人類讀者而設(shè)計(jì)的。這些標(biāo)記并不能借助文檔語法分析器,從數(shù)據(jù)結(jié)構(gòu)中抽取出來。正如圖1所示,解析樹(樣式表程序員所用)展示了頭部、引文以及引文前后的文本,這些部分每個都是段落的獨(dú)立子節(jié)點(diǎn),但解析樹沒法展示以下特征:頭部是整個段落的一個屬性,文本是內(nèi)容結(jié)構(gòu)中的兩個部分,引文嵌入在文本內(nèi)部。
事實(shí)上,數(shù)據(jù)結(jié)構(gòu)本身并沒有段落和引文之分或與之相關(guān)的東西。數(shù)據(jù)結(jié)構(gòu)僅僅是關(guān)聯(lián)信息的圖型結(jié)構(gòu),就像一個有著“段落”取值的通用標(biāo)識符。程序應(yīng)當(dāng)能推斷出文檔意義與使用標(biāo)簽之間的一致性,并能在樹形結(jié)構(gòu)從一種形式轉(zhuǎn)換為另一種形式時利用這種知識。但是,這種轉(zhuǎn)換(例如,通過XSLT、DSSSL或者類似C++的程序語言進(jìn)行轉(zhuǎn)換)依靠的是語義推理,而不是顯性的編碼。
圖2展示了如何通過利用語義知識來豐富和增強(qiáng)語法樹。利用知識表示技術(shù)能夠在更高的層面上將整體和部分之間的關(guān)系進(jìn)行編碼,更適合計(jì)算機(jī)處理。此圖展示了一種傳統(tǒng)的語義網(wǎng)絡(luò)表示方法,當(dāng)然其他的方法也正在發(fā)展中,包括框架表示法、規(guī)則表示法、形式語法以及基于邏輯的表示法等[31] [41]。語義網(wǎng)計(jì)劃(本文第八部分)的發(fā)展甚至能為標(biāo)記語言本身提供合適的表示方法。問題的關(guān)鍵在于,要為無法由傳統(tǒng)的XML/SGML解析器建模和執(zhí)行的抽象概念、關(guān)聯(lián)和約束建立一個層次體系。
在機(jī)器可讀的文件(如DTD或者語法結(jié)構(gòu))里的編碼知識能夠被用于驗(yàn)證文檔的語義約束,為應(yīng)用程序提供更強(qiáng)大的文檔模型。這些更有表現(xiàn)力的表示方法為更好的文檔處理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)提供了強(qiáng)有力的支持。
6 應(yīng) 用
近年來,許多新技術(shù)的發(fā)展使得常規(guī)的結(jié)構(gòu)化標(biāo)注越來越盛行。這些技術(shù)在信息管理中主要強(qiáng)調(diào)以下幾個方面的問題。
轉(zhuǎn)換和聯(lián)合。對于SGML/XML開發(fā)人員來說,最常見的工作就是設(shè)計(jì)轉(zhuǎn)換形式,從一種應(yīng)用語法轉(zhuǎn)換到另一種應(yīng)用語法[21]。這樣做是為了創(chuàng)建新型文件表示方式,或者方便其存儲于數(shù)據(jù)庫中。有時候,開發(fā)人員需要整合或調(diào)整大型的數(shù)字文檔集合,每個數(shù)字文檔都由一種無法進(jìn)行互操作的標(biāo)記語言表示[3] [32]。不考慮轉(zhuǎn)換的范圍大小,常規(guī)的解決方式是使用一種在語法解析樹上起直接作用的轉(zhuǎn)換程序語言[8]。源文件分析中產(chǎn)生的樹結(jié)構(gòu)轉(zhuǎn)換成目標(biāo)語言的樹結(jié)構(gòu)實(shí)例。轉(zhuǎn)換之后的樹被序列化成新的文檔實(shí)例、圖形或音頻。
信息孤島。這個問題與上述的轉(zhuǎn)換問題很相似,但是其目標(biāo)不是將一個形式的文檔轉(zhuǎn)換為另一種形式的文檔,而是允許分布存儲的文檔或文檔片段能夠向系統(tǒng)用戶提供一個通用的透明訪問接口[9] [13]。盡管沒必要將文檔從一種標(biāo)記語言逐字逐句地轉(zhuǎn)換成另一種標(biāo)記語言,但是系統(tǒng)必須能夠保證文檔內(nèi)容表面上看起來是無縫融合的,盡管文檔的編碼可能差別很大。
可獲得性。創(chuàng)作工具逐漸接受了結(jié)構(gòu)化標(biāo)記,這已經(jīng)成為視覺障礙用戶獲取數(shù)字文檔的福音。聲明性標(biāo)記使得人們能夠借助屏幕閱讀器或盲文顯示器進(jìn)行閱讀,并在助記符幫助下進(jìn)行推斷,而不是利用圖形線索。但是,目前這樣的應(yīng)用需要依賴用戶自身的能力或界面軟件,基于獨(dú)立的標(biāo)簽內(nèi)容或語法得出的結(jié)構(gòu)性推論。正如標(biāo)簽集文檔中描述的一樣,標(biāo)記語法約束及標(biāo)記的意義和使用都嚴(yán)格地依賴于文檔作者的可信性。遺憾的是,作者經(jīng)常會誤用標(biāo)簽,最糟糕的例子就是在web頁面上使用“頭部”標(biāo)簽來標(biāo)記某些特別的版式。
安全處理。發(fā)展更有表達(dá)力的標(biāo)記模式語言(比如W3C的XML Schema語言)的部分動力是人們認(rèn)識到標(biāo)記錯誤、誤用和濫用的后果遠(yuǎn)比糟糕的格式化輸出要嚴(yán)重得多。聲明性標(biāo)記不僅用于電子商務(wù),也用于安全信息領(lǐng)域,比如醫(yī)療記錄[33]和航空工業(yè)[7]。這些領(lǐng)域的開發(fā)人員不但要確保數(shù)字文檔的語法結(jié)構(gòu)規(guī)范,也要確保其遵守某些安全協(xié)議,以保證文檔的安全處理、存儲、傳輸和表示。
7 標(biāo)記語義的優(yōu)點(diǎn)
目前BECHAMEL計(jì)劃的調(diào)研結(jié)果顯示,標(biāo)記語義能夠通過以下幾種方式解決上述問題。
聲明性的、機(jī)器可讀的語義描述。就目前的實(shí)際情況而言,結(jié)構(gòu)化標(biāo)記語言設(shè)計(jì)師用自然語言文本表達(dá)了標(biāo)簽的意義,明確了其合適的使用方式。形式化的標(biāo)記語義體系使得本體之間的聯(lián)系能被計(jì)算機(jī)程序清晰地表達(dá),并實(shí)現(xiàn)自動化處理。
假設(shè)的驗(yàn)證。在沒有形式化標(biāo)簽集的文檔環(huán)境中,擁有標(biāo)記語義解釋能力的系統(tǒng)提供了一種測試猜測和驗(yàn)證假設(shè)的環(huán)境。在這種環(huán)境中,未公開的標(biāo)記語言用戶會對那些他認(rèn)為在文檔數(shù)據(jù)庫中持續(xù)應(yīng)用的屬性和規(guī)則進(jìn)行推測。之后文檔處理軟件就會檢索那些與假設(shè)規(guī)則兼容或不兼容的文檔元素。
語義約束的增強(qiáng)。支持有效性驗(yàn)證的解析器不僅能夠像常規(guī)語義解析器一樣完成語法驗(yàn)證,也能夠在發(fā)現(xiàn)或編寫語義的過程中同時驗(yàn)證這種猜測,這樣的解析器同樣能夠加強(qiáng)語義約束。這項(xiàng)操作同假設(shè)驗(yàn)證一致,但是在這種情況下,語義約束是已知且規(guī)范的。
優(yōu)化的更有表現(xiàn)力的 APIs。使用SGML和XML應(yīng)用程序轉(zhuǎn)換或表示數(shù)字文檔時,都會使用標(biāo)記語義。但是只有在執(zhí)行程序時,更高級別的屬性和關(guān)聯(lián)才會顯示出來。形式化的、機(jī)器可讀的語義會豐富應(yīng)用程序的接口,加快軟件設(shè)計(jì)速度,隨著標(biāo)記語言的發(fā)展和變化,這些軟件維護(hù)起來也能更加方便和安全。
8 相關(guān)工作
針對上述挑戰(zhàn)和問題,還有很多其他的文檔處理技術(shù)、標(biāo)準(zhǔn)和研究計(jì)劃。接下來我們梳理一下試圖解決這些問題的現(xiàn)有想法。
語義網(wǎng)[2]。語義網(wǎng)指的是眾多相互聯(lián)系的研究和標(biāo)準(zhǔn)化工作,就像當(dāng)下一些有關(guān)標(biāo)記和知識表示技術(shù)的想法。最核心的當(dāng)屬W3C的資源描述框架,當(dāng)然也包括其他的技術(shù),比如ISO的主題圖技術(shù)[16]。語義網(wǎng)的范圍很廣,目標(biāo)宏大,旨在利用通用知識表示技術(shù)來完善標(biāo)記語言,從而“促進(jìn)人類知識的全面發(fā)展”[2]。語義網(wǎng)的研究和標(biāo)準(zhǔn)化不同于當(dāng)下的想法:不是對特定領(lǐng)域進(jìn)行語義描述,而是實(shí)現(xiàn)對所有領(lǐng)域的知識進(jìn)行語義標(biāo)注。當(dāng)前研究的目標(biāo)特別盯在“文檔標(biāo)記語義”上,而非“通用的語義標(biāo)記”。語義網(wǎng)技術(shù)的進(jìn)步會讓我們利用語義網(wǎng)標(biāo)記語言對標(biāo)記的語義進(jìn)行編碼成為可能。
W3C的文檔對象模型。文檔對象模型是一個應(yīng)用程序接口,是對XML文檔進(jìn)行分析后生成的層級式數(shù)據(jù)結(jié)構(gòu)。人們想設(shè)計(jì)能為標(biāo)記語義提供各種接口的系統(tǒng),類似于DOM所提供的標(biāo)記語法相關(guān)的形式,最終能夠形成“語義DOM”,對W3C的語法DOM形成補(bǔ)充。
W3C 的Schema。XML Schema是一門基于XML的語言,能夠替代傳統(tǒng)的DTDs,用于約束XML文檔。DTDs的局限性推動了這門語言的發(fā)展,這些局限同我們在BECHAMEL計(jì)劃中面對的問題是類似的。Schema允許文檔類設(shè)計(jì)師定義復(fù)雜的數(shù)據(jù)類型,就像在高級程序語言里面的做法一樣。但是,為了對標(biāo)簽集建檔中的所有關(guān)系和約束進(jìn)行編碼,我們還需要比當(dāng)下的XML Schema更強(qiáng)大的表達(dá)形式。
超媒體/時基結(jié)構(gòu)語言(Hypermedia/Time-based Structuring Language ,HyTime)的架構(gòu)形式。適應(yīng)性廣泛的架構(gòu)技術(shù)來自于這樣一種認(rèn)識,即不同的標(biāo)記語言應(yīng)用程序常常通過樣式各不相同但語義上等價(jià)的結(jié)構(gòu)進(jìn)行編碼[15]。架構(gòu)形式允許文檔類設(shè)計(jì)師將其自有的特定元素實(shí)例映射到更通用的各種架構(gòu)實(shí)例上,這些架構(gòu)實(shí)例更便于在不同的應(yīng)用程序之間進(jìn)行映射[34]。這些映射的確表示了語義知識的約束形式,有利于解決上述轉(zhuǎn)換和集成上的挑戰(zhàn)。BECHAMEL計(jì)劃在某種程度上就是要建立一個比架構(gòu)形式表達(dá)更多語義關(guān)系的模型。
注 釋
[1] AAP. Authors Guide to Electronic Manuscript Preparationand Markup. Electronic Manuscript Series. Association of American Publishers, Washington, DC, 1986. Current
version: ANSI/NISO/ISO 12083 - 1995 Electronic Manuscript Preparation and Markup, National Information Standards Organization, 1995
[2] BERNERS-LEE, T., HENDLER, J., AND LASSILA, O. The semantic web. Scientific American 284, 5 (May 2001), 35-43
[3] COLE, T., AND KAZMER, M. SGML as a component of the digital library. Library High Tech 13, 4 (1995), 75-90
[4] COOMBS, J. H., RENEAR, A. H., AND DEROSE, S. J. Markup systems and the future of scholarly text processing. Communications of the Association for Computing Machinery 30, 11 (1987), 933-947
[5] DEROSE, S. J., DURAND, D., MYLONAS, E., AND RENEAR, A. H. What is text, really? Journal of Computing in Higher Education 1, 2 (1990), 3-26
[6] DUBIN, D., RENEAR, A., SPERBERG-MCQUEEN, C. M., AND HUITFELDT, C. A logic programming environment for document semantics and inference. Presented at
ALLC/ACH, T¨ubingen, Germany, July 2002
[7] ENSIGN, C. SGML: The Billion Dollar Secret. Prentice Hall, Upper Saddle River, NJ, 1997, ch. 5: United Technologies Sikorsky Aircraft Corporation
[8] FAUSEY, J., AND SHAFER, K. All my data is in SGML. Now what? Journal of the American Society for Information Science 48, 7 (1997): 638-643
[9] FAY, C. The document management alliance. Bulletin of the American Society for Information Science 25, 1 (October/November 1998), 20-24
[10] GOLDFARB, C. F. Document Composition Facility: Generalized Markup Language (GML) Users Guide. IBM General Products Division, 1978. SH20-9160-0
[11] GOLDFARB, C. F. A generalized approach to document markup. In Proceedings of the ACM SIGPLAN-SIGOA Symposium on Text Manipulation (New York, 1981), ACM:68-73
[12] IBM CORP. Application Description, IBM System/360 Document Processing: System. White Plains, NY, 1967. Form No. H20-0315
[13] IDE, N. M., AND SPERBERG-MCQUEEN, C. M. Toward a unified docuverse: Standardizing document markup and access without procrustean bargains. In Proceedings of the 60th Annual Meeting of the American Society for Information Science (Medford, NJ, 1997), C. Schwartz and M. Rorvig, Eds., Information Today, Inc., pp. 347-360
[14] ISO. ISO 8879-1986 (E). Information processing — Text and Office Systems — Standard Generalized Markup Language (SGML). International Organization for Standardization, Geneva, 1986
[15] ISO. ISO/IEC 10744:1997: Information processing - Hypermedia/Time-based Structuring Language (HyTime), second ed. International Organization for Standardization, Geneva, May 1997, appendix A.3 Architectural Form Definition Requirements
[16] ISO. ISO/IEC 13250: 2000 Information technology - SGML Applications - Topic Maps. International Organization for Standardization, Geneva, 2000
[17] KNUTH, D. E. TEX and Metafont: New Directions in Typesetting. Digital Press, Bedford, MA, 1979
[18] LAMPORT, L. LATEX - A document preparation system. Addison-Wesley, Reading, MA, 1985
[19] LESK, M. E. Typing Documents on UNIX and GCOS: The -ms Macros for Troff, 1977
[20] MAMRAK, S. A., BARNES, J., HONG, H., JOSEPH, C., KAELBLING, M., NICHOLAS, C., OCONNELL, C., AND SHARE, M. Descriptive markup - the best approach? Communications of the Association for Computing Machinery 31, 7 (1988), 810-811
[21] MAMRAK, S. A., KAELBLING, M. J., NICHOLAS, C. K., AND SHARE, M. A software architecture for supporting the exchange of electronic manuscripts. Communications of the ACM 30, 5 (1987), 408-414
[22] OSSANNA, J. F. NROFF/TROFF users manual. Tech. Rep. 54, Bell Laboratories, Murray Hill, NJ, October 1976. [23] RAMALHO, J. C., AND HENRIQUES, P. R. Beyond DTDs: constraining data content. In Proceedings of SGML/XML Europe 98 (Paris, May 1998), GCA
[24] RAYMOND, D. R., AND TOMPA, F. W. Markup reconsidered. Technical Report 356, Department of Computer Science, The University of Western Ontario, 1993. Presented at the First International Workshop on the Principles of Document Processing, Washinton DC, October 21-23 1992; an earlier version was circulated privately as ”Markup Considered Harmful” in the late 1980s
[25] RAYMOND, D. R., TOMPA, F.W., AND WOOD, D. From data representation to data model: Meta-semantic issues in the evolution of sgml. Computer Standards and Interfaces 18, 1 (January 1996), 25-36
[26] REID, B. K. Scribe Introductory Users Manual, first ed. Carnegie-Mellon University, Computer Science Department, Pittsburgh, PA, August 1978
[27] REID, B. K. Scribe: A Document Specification Language and its Compiler. PhD thesis, Carnegie-Mellon University, Pittsburgh, PA, 1981. Also available as Technical Report CMU-CS-81-100
[28] RENEAR, A. The descriptive/procedural distinction is flawed. Markup Languages: Theory and Practice 2, 4 (2000), 411-420
[29] RENEAR, A. Raising the bar: Text encoding from a logical point of view. CLIP 2001: Computers, Literature, Philology, Gerhard-Mercator University, Duisburg, Germany, December 2001
[30] RIZZI, R. Complexity of context-free grammars with exceptions and the inadequacy of grammars as models for XML and SGML. Markup Languages: Theory and Practice 3, 1 (2002):107-116
[31] ROWE, N. C. Artificial Intelligence through Prolog. Prentice Hall, Englewood Cliffs, NJ, 1988
[32] SCHATZ, B., MISCHO, W. H., COLE, T.W., HARDIN, J. B., BISHOP, A. P., AND CHEN, H. Federating diverse collections of scientific literature. Computer 29 (May 1996), 28-36
[33] SHOBOWALE, G. SGML, XML, and the document-centered approach to electronic medical records. Bulletin of the American Society for Information Science 25, 1 (October/November 1998), 7-10
[34] SIMONS, G. F. Using architectural forms to map TEI data into an object-oriented database. Computers and the Humanities 33, 1-2 (1999), 85-101. Originally delivered in 1997 at the TEI 10 conference in Providence, RI
[35] SPERBERG-MCQUEEN, C. M., DUBIN, D., HUITFELDT, C., AND RENEAR, A. Drawing inferences on the basis of markup. In Proceedings of Extreme Markup Languages 2002 (Montreal, Canada, August 2002), B. T. Usdin and S. R. Newcomb, Eds
[36] SPERBERG-MCQUEEN, C. M., HUITFELDT, C., AND RENEAR, A. Meaning and interpretation of markup. Markup Languages: Theory and Practice 2, 3 (2000):215-234
[37] SPERBERG-MCQUEEN, C. M., HUITFELDT, C., AND RENEAR, A. Practical extraction of meaning from markup. Paper delivered at ACH/ALLC 2001, New York, 2001
[38] SPERBERG-MCQUEEN, C. M., RENEAR, A., HUITFELDT, C., AND DUBIN, D. Skeletons in the closet: Saying what markup means. Presented at ALLC/ACH, T¨ubingen, Germany, July 2002
[39] SPERBERG-MCQUEEN, M., AND BURNARD, L., Eds. Guidelines for Text Encoding and Interchange (TEI P3). ACH/ALLC/ACL Text Encoding Initiative, Chicago, Oxford, 1994
[40] SPRING, M. B. The origin and use of copymarks in electronic publishing. Journal of Documentation 45, 2 (June 1989), 110-123
[41] TANIMOTO, S. L. The Elements of Artificial Intelligence. Computer Science Press, Rockville, MD, 1987
[42] UNITED STATES DEPARTMENT OF DEFENSE. MIL-M-28001 Military Specification: Markup Requirements and Generic Style Specification for Electronic Printed Output and Exchange of Text, 1988
[43] WELTY, C., AND IDE, N. Using the right tools: Enhancing retrieval from marked-up documents. Computers and the Humanities 33, 1-2 (1999), 59-84. Originally delivered in 1997 at the TEI 10 conference in Providence, RI
——本文注釋標(biāo)注順序遵英文原文,未作改動。