• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    支持語(yǔ)義標(biāo)注的辦公文檔格式擴(kuò)展方法

    2023-01-12 10:00:28范博珩李寧田英愛(ài)
    關(guān)鍵詞:詞匯表文檔辦公

    范博珩,李寧,田英愛(ài)

    (北京信息科技大學(xué) 計(jì)算機(jī)學(xué)院,北京 100101)

    0 引言

    隨著各類文檔數(shù)量日益增多以及傳播日益廣泛,人們希望計(jì)算機(jī)能夠自動(dòng)處理和理解文檔,而這些一般需要通過(guò)語(yǔ)義標(biāo)注來(lái)實(shí)現(xiàn)。語(yǔ)義標(biāo)注是指利用本體(ontology)或詞匯表(vocabulary)對(duì)文檔的特定內(nèi)容添加語(yǔ)義標(biāo)記,標(biāo)識(shí)出與之對(duì)應(yīng)的概念或?qū)嶓w,并且建立起標(biāo)注內(nèi)容與本體之間的聯(lián)系。語(yǔ)義標(biāo)注是文檔的核心技術(shù)之一[1]。語(yǔ)義標(biāo)注的結(jié)果使文檔具有了語(yǔ)義元數(shù)據(jù),使得機(jī)器可以自動(dòng)理解和處理文檔,也便于文檔信息的共享和有效利用,可以高效實(shí)現(xiàn)文檔的語(yǔ)義檢索、內(nèi)容提取和自動(dòng)分類等智能化處理。

    近年來(lái),Web上的語(yǔ)義標(biāo)注研究成果十分豐富,Google、Yahoo和Yandex等公司共同創(chuàng)建了一個(gè)共享詞匯表——Schema.org[2]。在線商店將schemas標(biāo)記嵌入至描述產(chǎn)品的超文本標(biāo)記語(yǔ)言(hypertext markup language,HTML)頁(yè)面中,以使搜索引擎能夠輕松識(shí)別產(chǎn)品價(jià)格并為網(wǎng)站增加流量[3]。經(jīng)過(guò)語(yǔ)義標(biāo)注后得到的產(chǎn)品結(jié)構(gòu)化數(shù)據(jù)也為產(chǎn)品分類、產(chǎn)品匹配、推薦系統(tǒng)、產(chǎn)品知識(shí)圖譜等新興研究領(lǐng)域的發(fā)展提供了支持。

    然而,文本不僅僅來(lái)自HTML文檔,也來(lái)自辦公文檔、版式文檔以及復(fù)雜混合格式的文檔。其中,僅有少數(shù)研究針對(duì)辦公文檔進(jìn)行語(yǔ)義標(biāo)注。Tallis[4]提供了一套針對(duì)DOC格式的文檔半自動(dòng)化標(biāo)注系統(tǒng)Semantic Word,Carr等[5]提出了WICKOffice系統(tǒng),F(xiàn)ink等[6]開發(fā)了一個(gè)Word插件,用戶可使用SmartTag和自定義XML標(biāo)記對(duì)文檔中的生物醫(yī)學(xué)領(lǐng)域的專業(yè)術(shù)語(yǔ)進(jìn)行手工標(biāo)注。但這些標(biāo)注系統(tǒng)無(wú)法支持標(biāo)準(zhǔn)的辦公文檔格式,也無(wú)法支持多源語(yǔ)義標(biāo)注。

    辦公文檔語(yǔ)義標(biāo)注之所以研究成果較少,大多因辦公文檔的復(fù)雜性所致。在對(duì)辦公文檔進(jìn)行語(yǔ)義標(biāo)注時(shí),需要滿足以下的條件:1)能夠在文檔格式中記錄語(yǔ)義元數(shù)據(jù);2)能夠支持OOXML(office open XML)、ODF(open document format)、UOF(unified office document format)等主流辦公文檔格式標(biāo)準(zhǔn);3)能夠經(jīng)受對(duì)語(yǔ)義元數(shù)據(jù)的編輯和修改;4)能夠在文檔編輯過(guò)程中保持文檔內(nèi)容與語(yǔ)義元數(shù)據(jù)的同步一致;5)能夠支持多源語(yǔ)義標(biāo)注,即允許同一標(biāo)注內(nèi)容對(duì)應(yīng)多個(gè)本體或詞匯表。正是因?yàn)榱魇轿臋n語(yǔ)義標(biāo)注的復(fù)雜性,至今尚未見(jiàn)到在辦公文檔中進(jìn)行語(yǔ)義標(biāo)注的成熟方法。

    針對(duì)上述問(wèn)題,本文提出一種在辦公文檔中支持語(yǔ)義標(biāo)注的方法,包括對(duì)辦公文檔格式的擴(kuò)展,標(biāo)注規(guī)則的設(shè)計(jì)以及在主流辦公軟件中支持語(yǔ)義標(biāo)注的方法。本文的成果已經(jīng)被團(tuán)體標(biāo)準(zhǔn)T/CESA 1176—2021《信息技術(shù) 電子文檔語(yǔ)義元數(shù)據(jù)嵌入方法》[7]所采納。

    1 相關(guān)研究

    目前雖然辦公文檔語(yǔ)義標(biāo)注的研究較少,但仍有一些相關(guān)的成果可以借鑒。例如,HTML中文本的存儲(chǔ)方式與辦公文檔相似;PDF(portable document format)中也有成熟的語(yǔ)義標(biāo)注技術(shù)。因此,這些研究均可為本文提供參考。

    在HTML中,語(yǔ)義標(biāo)注的具體形式主要以嵌入式為主,標(biāo)注結(jié)果作為相關(guān)元素的屬性加以記錄。Tittel等[8]在關(guān)于中世紀(jì)法語(yǔ)的HTML網(wǎng)頁(yè)內(nèi)容中嵌入RDFa(resource description framework in attributes)標(biāo)記的詞匯,將網(wǎng)頁(yè)中的實(shí)體與詞匯表中的概念和屬性對(duì)應(yīng)起來(lái);Beno等[9]構(gòu)造了Doc2RDF,能夠自動(dòng)對(duì)法律領(lǐng)域的HTML文本進(jìn)行標(biāo)注;Salem等[10]在Beno研究的基礎(chǔ)之上,實(shí)現(xiàn)了標(biāo)注多個(gè)領(lǐng)域的HTML文本的功能;Mbouadeu[11]、Albukhitan等[12]利用深度學(xué)習(xí)的方法自動(dòng)標(biāo)注HTML文檔,并使用microdata或microformats將標(biāo)注結(jié)果記錄于原文檔中。

    在PDF中,語(yǔ)義標(biāo)注的具體形式主要以分離式為主,標(biāo)注結(jié)果存放在PDF文檔的單獨(dú)數(shù)據(jù)塊中,并與原文檔建立關(guān)聯(lián)。Eriksson[13]、Kim等[14]通過(guò)使用可擴(kuò)展元數(shù)據(jù)平臺(tái)(extensible metadata platform,XMP)[15]技術(shù)在PDF文檔中建立內(nèi)容與本體的映射關(guān)系。

    上述研究中,嵌入式標(biāo)注結(jié)果易于管理且能保證語(yǔ)義元數(shù)據(jù)與文檔內(nèi)容同步,但是會(huì)給原文檔格式帶來(lái)一定的影響。與之相比,分離式標(biāo)注結(jié)果需要單獨(dú)進(jìn)行存放,難以保證語(yǔ)義元數(shù)據(jù)與文檔內(nèi)容同步,但是對(duì)原有文檔格式的影響較小。本文采用嵌入式標(biāo)注方法對(duì)辦公文檔進(jìn)行語(yǔ)義標(biāo)注。

    在幾種嵌入式語(yǔ)義標(biāo)注技術(shù)中,RDFa[16]具有更強(qiáng)的表達(dá)力與適用性[17],能夠支持多詞匯表。因此,鑒于RDFa應(yīng)用在HTML流式文檔中的諸多優(yōu)點(diǎn),本文基于RDFa對(duì)辦公文檔格式OOXML進(jìn)行擴(kuò)展,以使辦公文檔中可以加入語(yǔ)義元數(shù)據(jù)標(biāo)記。目前OOXML格式在辦公文檔中應(yīng)用最廣,以之為研究對(duì)象具有典型意義,其他基于XML的辦公文檔格式標(biāo)準(zhǔn)ODF和UOF等與之類似,本文的方法也同樣適用。

    2 辦公文檔格式擴(kuò)展方法

    采用RDFa對(duì)OOXML進(jìn)行語(yǔ)義標(biāo)注前,首先需要分析HTML和OOXML的文檔結(jié)構(gòu)。下面以圖1中的新聞為例加以說(shuō)明。

    圖1 一個(gè)新聞的例子

    對(duì)于一篇HTML文檔,文檔的主體內(nèi)容通過(guò)組合不同的塊級(jí)元素和行內(nèi)元素進(jìn)行顯示。塊級(jí)元素如div、p等通常表示文本段落或片段,而行內(nèi)元素如span等則通常用來(lái)更細(xì)粒度地分割局部文本。RDFa是萬(wàn)維互聯(lián)網(wǎng)聯(lián)盟(World Wide Web Consortium)W3C制定的標(biāo)準(zhǔn),它能夠在這些元素中增加下列屬性:

    @vocab:當(dāng)前所用的默認(rèn)詞匯表;

    @typeof:資源的概念(類型);

    @property:某類型所具有的屬性。

    RDFa不會(huì)影響HTML的瀏覽。使用RDFa對(duì)HTML進(jìn)行語(yǔ)義標(biāo)注如圖2所示。

    圖2 RDFa在HTML中的標(biāo)注示例

    圖2中,有兩個(gè)標(biāo)注內(nèi)容,即“新聞社”和“東非”,它們分別為詞匯表Schema.org中表示組織(typeof="Organization")和地點(diǎn)(typeof="Place")的兩個(gè)實(shí)體名稱(property="name")。

    與HTML格式不同,OOXML文檔的存儲(chǔ)基于ZIP壓縮打包格式[18],文檔的主體內(nèi)容記錄在文件包內(nèi)的document.xml文件中。段落在OOXML格式中均以段落元素p存儲(chǔ),是構(gòu)成文檔的基本單元。p下包含段落屬性元素pPr和句元素r,段落中的文本根據(jù)式樣的不同會(huì)形成多個(gè)句(run)。r下包含句屬性元素rPr和文本元素t。句中的文本記錄在t下。語(yǔ)義元數(shù)據(jù)主要在段落或句一級(jí)進(jìn)行標(biāo)注。

    可以借鑒RDFa在HTML中的用法,將RDFa屬性嵌入到t或其他元素中,如圖3所示。

    圖3 RDFa在OOXML中的標(biāo)注示例

    雖然對(duì)于上述的一般情況,這種基于RDFa對(duì)OOXML進(jìn)行擴(kuò)展的方式是可行的,但是OOXML畢竟與HTML不同,OOXML主要用于辦公文檔編輯,其文檔數(shù)據(jù)與語(yǔ)義信息存在較為復(fù)雜的對(duì)應(yīng)關(guān)系,可能導(dǎo)致以下問(wèn)題。

    1) OOXML中語(yǔ)義標(biāo)注的范圍可能與文本元素的范圍不一致,具體體現(xiàn)在兩個(gè)方面:

    ① 單一文本可能對(duì)應(yīng)多個(gè)語(yǔ)義標(biāo)注內(nèi)容,如上例中的“埃塞俄比亞”、“肯尼亞”等地名實(shí)體出現(xiàn)在同一個(gè)t下,而由于t已是構(gòu)成文本的最小單元,因此無(wú)法為不同的實(shí)體指定不同的RDFa屬性,參見(jiàn)圖4;

    圖4 文本元素中包含多個(gè)實(shí)體的OOXML源碼

    ② 一個(gè)待標(biāo)注內(nèi)容可能分散在多個(gè)句或文本之中,在Microsoft Word等辦公軟件中,往往會(huì)自動(dòng)把中英文文本和數(shù)字分在不同的句中,難以獲得一個(gè)完整的標(biāo)注,如上例中的“2月14日”會(huì)放在多個(gè)句元素和文本元素中,參見(jiàn)圖5。

    圖5 實(shí)體分散成多個(gè)句元素和文本元素的OOXML源碼

    2) 對(duì)于一般用戶來(lái)說(shuō),HTML僅供瀏覽,不需進(jìn)行編輯。而OOXML則要能支持編輯,因而嵌入了語(yǔ)義元數(shù)據(jù)的文檔需要能夠被辦公軟件打開和編輯。另外,嵌入的語(yǔ)義元數(shù)據(jù)需要具備魯棒性,經(jīng)得起反復(fù)編輯。

    上述問(wèn)題,需要專門設(shè)計(jì)流式文檔的語(yǔ)義標(biāo)注規(guī)則,并找到辦公軟件支持語(yǔ)義標(biāo)注的方法。

    3 辦公文檔語(yǔ)義標(biāo)注方法

    為解決前文所述的問(wèn)題,本文專門設(shè)計(jì)了用于辦公文檔標(biāo)注的結(jié)構(gòu)模型。標(biāo)注模型如圖6所示。

    圖6 標(biāo)注模型結(jié)構(gòu)

    該標(biāo)注模型用XML Schema來(lái)描述,根元素為“metadata”,該元素具有@ID、@Seq和@Begin三個(gè)屬性,也可使用任何RDFa的屬性。

    對(duì)于單一文本對(duì)應(yīng)多個(gè)語(yǔ)義標(biāo)注內(nèi)容的情況,可將文本元素中的多個(gè)待標(biāo)注內(nèi)容分別放入多個(gè)metadata元素節(jié)點(diǎn)進(jìn)行描述,并將相關(guān)的文本設(shè)為metadata元素的內(nèi)容。以圖4中的“埃塞俄比亞”、“肯尼亞”和“蝗災(zāi)”為例,其標(biāo)注的結(jié)果如圖7所示。

    圖7 單一文本對(duì)應(yīng)多個(gè)語(yǔ)義標(biāo)注內(nèi)容的標(biāo)注方法

    圖7中,“埃塞俄比亞”和“肯尼亞”為詞匯表Schema.org中的地點(diǎn)(typeof="Place")名稱(property="name"),“蝗災(zāi)”為詞匯表Schema.org中的事件(typeof="Event")名稱(property="name")。

    對(duì)于一個(gè)待標(biāo)注內(nèi)容分散在多個(gè)句或文本之中的情況,可以通過(guò)指定metadata元素中@ID和@Seq兩個(gè)屬性,將多個(gè)語(yǔ)義標(biāo)注內(nèi)容按順序進(jìn)行組合。@ID為標(biāo)注實(shí)體的編號(hào),@Seq為標(biāo)注的順序號(hào),@ID結(jié)合@Seq可以實(shí)現(xiàn)同一實(shí)體的多段標(biāo)注。@Begin指示某一標(biāo)注的開始或結(jié)束。

    例如,對(duì)應(yīng)圖5的情況,“2月14日”為事件的發(fā)生日期,在一些詞匯表中,日期進(jìn)一步分解為年、月、日,因此,“2月14日”要按兩個(gè)實(shí)體來(lái)標(biāo)注,即“2月”和“14日”。

    圖8 一個(gè)待標(biāo)注內(nèi)容分散在多個(gè)句或文本之中的標(biāo)注方法

    圖8中,1~4行以及5~8行描述的兩個(gè)metadata元素節(jié)點(diǎn)具有同樣的@ID,表示它們共同標(biāo)注一個(gè)日期元數(shù)據(jù)。第1行的metadata元素節(jié)點(diǎn)其屬性Begin="true",第4行的metadata元素節(jié)點(diǎn)其屬性Begin="false",它們具有同樣的@Seq屬性(Seq="1"),表示是詞匯表Schema.org中事件(typeof="Event")的發(fā)生日期(property="startDate")的第一部分標(biāo)注內(nèi)容,對(duì)應(yīng)兩個(gè)句中的文本“2”、“月”。同理,5~8行表示事件發(fā)生日期的第二部分標(biāo)注內(nèi)容,對(duì)應(yīng)兩個(gè)句中的文本“14”、“日”。

    4 語(yǔ)義文檔的編輯處理方法

    在OOXML格式的文檔中添加RDFa屬性得到擴(kuò)展的OOXML文檔,稱之為語(yǔ)義文檔。然而這種擴(kuò)展將導(dǎo)致文字處理軟件無(wú)法正常打開和編輯語(yǔ)義文檔。本文提出了一種解決方法,即通過(guò)預(yù)處理和后處理方法實(shí)現(xiàn)語(yǔ)義文檔與普通辦公文檔之間的無(wú)縫切換。

    4.1 語(yǔ)義文檔的預(yù)處理轉(zhuǎn)換

    預(yù)處理時(shí),利用辦公文檔中的批注機(jī)制作為文字處理軟件中記錄語(yǔ)義元數(shù)據(jù)的載體,將語(yǔ)義文檔中標(biāo)注的語(yǔ)義元數(shù)據(jù)存儲(chǔ)至批注元素中。辦公文檔中的批注是附加在文檔內(nèi)容片段上的注釋信息。批注與辦公文檔中的文本、圖片等內(nèi)容獨(dú)立顯示并相互關(guān)聯(lián)。同時(shí),用戶在編輯文檔內(nèi)容時(shí),也能夠直接編輯和修改批注,對(duì)于編輯具有很好的魯棒性。因此,采用批注來(lái)存儲(chǔ)語(yǔ)義元數(shù)據(jù),可以支持用戶在編輯過(guò)程中對(duì)語(yǔ)義元數(shù)據(jù)進(jìn)行編輯和修改,也可保持在編輯過(guò)程中語(yǔ)義元數(shù)據(jù)的同步一致。

    在OOXML打包文件中的document.xml內(nèi),批注由commentRangeStart、commentRangeEnd和comment-Reference三種元素描述。其中,commentRangeStart和commentRangeEnd確定批注的起始位置和結(jié)束位置,表示批注的范圍;commentReference與OOXML打包文件中的comment.xml內(nèi)的comment元素的內(nèi)容相關(guān)聯(lián),用于在文字處理軟件中顯示批注的內(nèi)容。在一個(gè)批注中,上述4個(gè)元素具有相同的屬性@ID。例如,圖1中的“東非”添加批注后,document.xml中將會(huì)呈現(xiàn)如圖9的結(jié)構(gòu)。

    圖9 document.xml中的批注引用

    在comment.xml文件中的批注結(jié)構(gòu)如圖10所示。

    圖10 comment.xml中的批注引用

    為能夠區(qū)分一般的批注和包含語(yǔ)義元數(shù)據(jù)的批注,本文采用特殊的用戶名稱用于語(yǔ)義元數(shù)據(jù)批注。未來(lái),建議為文檔批注增加一個(gè)特殊的類型,用于在辦公文檔中記錄語(yǔ)義元數(shù)據(jù)。但是這要通過(guò)標(biāo)準(zhǔn)制定組織改進(jìn)相關(guān)的標(biāo)準(zhǔn)。目前,采用特殊用戶名的方式也是完全可以的,其前提是該用戶只可進(jìn)行語(yǔ)義標(biāo)注,不能進(jìn)行一般的批注。

    預(yù)處理算法的核心思想是找到每一個(gè)語(yǔ)義標(biāo)注內(nèi)容的范圍,即語(yǔ)義元素metadata的范圍,以此來(lái)確定批注的范圍,并根據(jù)記錄的語(yǔ)義元數(shù)據(jù)確定批注的內(nèi)容。在確定批注范圍時(shí),會(huì)出現(xiàn)兩種情況:1) 單一文本下具有多個(gè)語(yǔ)義標(biāo)注實(shí)體;2) 標(biāo)注實(shí)體由多個(gè)文本描述。對(duì)于情況1,需要調(diào)整文檔結(jié)構(gòu),復(fù)制多個(gè)r和t元素節(jié)點(diǎn)并保證每個(gè)t下只包含一個(gè)metadata元素節(jié)點(diǎn),以符合OOXML添加批注的標(biāo)準(zhǔn)格式。對(duì)于情況2,則直接根據(jù)兩個(gè)metadata元素節(jié)點(diǎn)確定批注范圍即可。本文采用如下算法進(jìn)行語(yǔ)義文檔的預(yù)處理轉(zhuǎn)換。

    Algorithm1:CreateCommentNodeInput:m as metadata, r as range, u as userOutput:c as the comment node1 Function CreateCommentNode(m,r,u)2 Create a new comment node c;3 c.content ← n.metadata; // n is the semantic node in r4 c.range ← Range(t); // t is the text node in r;Range(t) means get range of t5 c.user ← "dsm";// Set user of c as "dsm"6 Output c;7 End Function

    Algorithm2:ForwardTransformInput:D as the semantic documentOutput:D as the transformed document in the standard format1 Function ForwardTransform(D)2 Letc-list be the comment list to be added into D;3 c-list ← null;4 For each paragraph p in D5 For each run node r in p6 Ifr contains multiple semantic nodes Then7 Split r into multiple nodes r-list,each of which contains a single semantic node;

    8 End If9 End For10 End For11 For each semantic node n in D12 Ifn spans multiple text nodes Then13 Group the text nodes of same semantics into one segment;14 For each text segment s which n spans15 c ← CreateCommentNode(n.metadata,Range(s),"dsm");16 Add c into c-list;17 End For18 Else // n spans single text node t19 c ← CreateCommentNode(n.metadata,Range(t),"dsm");20 Add c into c-list;21 End If22 End for23 Add c-list into D;24 Output D;25 End Function

    算法1用來(lái)生成批注元素,包括批注的范圍和內(nèi)容。算法2是預(yù)處理算法的流程。算法2中,步驟2~3聲明待添加的批注元素集合并賦值為空。步驟4~22是生成語(yǔ)義批注的過(guò)程。其中,步驟4~10用于調(diào)整文檔結(jié)構(gòu),對(duì)應(yīng)前文所述確定批注范圍的第一種情況。步驟11~22中,若標(biāo)注實(shí)體由多個(gè)文本描述,即前文所述的第二種情況,則執(zhí)行13~17步驟。確定標(biāo)注實(shí)體的起始和結(jié)束位置后,調(diào)用算法1生成語(yǔ)義批注,否則根據(jù)步驟4~10調(diào)整好的文檔結(jié)構(gòu),直接調(diào)用算法1生成語(yǔ)義批注。步驟23~25輸出轉(zhuǎn)換完成的文檔。

    4.2 語(yǔ)義文檔的后處理轉(zhuǎn)換

    后處理的目的與預(yù)處理相反,核心思想是找到辦公文檔每一個(gè)帶有語(yǔ)義元數(shù)據(jù)的批注及其范圍,以此來(lái)確定語(yǔ)義標(biāo)注的內(nèi)容和范圍。在進(jìn)行后處理轉(zhuǎn)換時(shí),首先要找到語(yǔ)義元數(shù)據(jù)批注的所有元素,即批注范圍元素和批注內(nèi)容元素。在確定語(yǔ)義標(biāo)注范圍和內(nèi)容時(shí),同樣會(huì)出現(xiàn)兩種情況:1) 實(shí)體由單一文本描述;2) 實(shí)體由多個(gè)文本描述。對(duì)于情況1,將實(shí)體放入metadata元素節(jié)點(diǎn)進(jìn)行描述,批注的內(nèi)容放至metadata屬性中。對(duì)于情況2,需要添加兩個(gè)metadata元素節(jié)點(diǎn),設(shè)置相應(yīng)的@Begin,并分別將其插入在批注起始位置后和批注結(jié)束位置前。批注的內(nèi)容放至@Begin值為true的metadata屬性中。本文采用如下算法進(jìn)行語(yǔ)義文檔的后處理轉(zhuǎn)換。

    Algorithm3:BackwardTransformInput:D as the document in the standard formatOutput:D as the semantic document1 Function BackwardTransform(D)2 For each comment node c in D3 Ifc.user is "dsm"Then4 Letn be the semantic node;5 Ifc spans multiple text segment Then6 n.id ← GenerateID();// Generate ID7 n.metadata ← c.content;8 Insert n at the first text node;9 Add end tag of n with n.id at the end of c.range;10 Else // c spans single text node t11 n.id ← GenerateID();12 n.metadata ← c.content;13 Insert n at t;14 End If15 Remove c;16 End If17 End For18 Output D;19End Function

    在算法3中,步驟2~17是添加語(yǔ)義元素metadata的過(guò)程。步驟3根據(jù)批注用戶名判斷該批注是否為語(yǔ)義批注,若判定為真則執(zhí)行步驟4~15。步驟5~14用于添加語(yǔ)義元素metadata的位置和內(nèi)容。其中,若實(shí)體由多個(gè)文本描述,即前文所述第二種情況,則執(zhí)行步驟6~9,將批注內(nèi)容賦值給@Begin值為“true”的語(yǔ)義元素metadata的屬性中,并在實(shí)體文本的結(jié)束位置添加@Begin值為“false”的語(yǔ)義元素;否則,執(zhí)行步驟11~13,將批注內(nèi)容賦值于語(yǔ)義元素metadata的屬性中,并將metadata插入至文本元素t下。步驟18~19輸出轉(zhuǎn)換完成的文檔。

    5 標(biāo)注系統(tǒng)的實(shí)現(xiàn)

    本文基于C#和winform窗體設(shè)計(jì)器實(shí)現(xiàn)了一個(gè)辦公文檔語(yǔ)義標(biāo)注工具,具有語(yǔ)義標(biāo)注、預(yù)處理轉(zhuǎn)換和后處理轉(zhuǎn)換3個(gè)功能。以圖1的新聞為例,根據(jù)前述辦公文檔語(yǔ)義標(biāo)注方法進(jìn)行標(biāo)注。

    圖1的新聞案例中涉及多個(gè)實(shí)體對(duì)象,如“2月14日”、“新聞社”、“蝗災(zāi)”等。應(yīng)用本文的方法進(jìn)行實(shí)體標(biāo)注時(shí),需要根據(jù)對(duì)象的性質(zhì)從Schema.org詞匯表中選擇合適的類型,同時(shí)還要選擇合適的屬性。以新聞示例的正文第一段為例,標(biāo)注結(jié)果如圖11所示。

    圖11 語(yǔ)義標(biāo)注后的擴(kuò)展OOXML文檔示例

    上述擴(kuò)展的OOXML文檔經(jīng)過(guò)預(yù)處理轉(zhuǎn)換,生成標(biāo)準(zhǔn)的OOXML文檔,圖12展示了辦公軟件Microsoft Word打開該文檔后的編輯界面。從圖12中可以看到,語(yǔ)義文檔中的語(yǔ)義元數(shù)據(jù)在Word文檔中以批注的形式呈現(xiàn),每個(gè)語(yǔ)義批注對(duì)應(yīng)一個(gè)命名實(shí)體,允許用戶按批注方式進(jìn)行編輯。同時(shí),也允許用戶在Word文檔中的任意位置添加語(yǔ)義批注。

    圖12 Microsoft Word中打開經(jīng)過(guò)預(yù)處理的文檔示例

    圖12的文檔經(jīng)過(guò)后處理轉(zhuǎn)換后,可以生成新的語(yǔ)義文檔。圖13展示了“新聞社”、“東非”、“埃塞俄比亞”3個(gè)實(shí)體在新的語(yǔ)義文檔中的標(biāo)注示例。

    從圖13中可以看到,“新聞社”、“東非”、“埃塞俄比亞”3個(gè)實(shí)體的標(biāo)注方式與圖11不同,這是因?yàn)樵谶M(jìn)行前一步的預(yù)處理轉(zhuǎn)換時(shí),將同一文本元素t下的多個(gè)語(yǔ)義標(biāo)注實(shí)體分配了多個(gè)r和t元素,調(diào)整了文檔結(jié)構(gòu),使每一個(gè)語(yǔ)義標(biāo)注實(shí)體對(duì)應(yīng)一個(gè)r和t。圖13與圖11文檔的語(yǔ)義邏輯是一致的。

    圖13 后處理轉(zhuǎn)換生成的語(yǔ)義文檔示例

    語(yǔ)義文檔可使用Google結(jié)構(gòu)化測(cè)試工具或者RDFa.info[19]驗(yàn)證器檢測(cè)RDFa語(yǔ)法的正確性,并可使用GRDDL(gleaning resource descriptions from dialects of languages)[20]或W3C的RDFa解析器從中提取出RDF三元組結(jié)構(gòu)的語(yǔ)義元數(shù)據(jù),生成Turtle、RDF/XML或N-Triples等文件。圖14為解析的結(jié)構(gòu)化數(shù)據(jù)。由圖14可知,語(yǔ)義文檔可以通過(guò)RDFa.info測(cè)試工具驗(yàn)證。以檢測(cè)到的“Event”為例,“Event”有兩條數(shù)據(jù),即語(yǔ)義文檔中標(biāo)注的事件名稱(name)“蝗災(zāi)”及事件發(fā)生的時(shí)間(startDate)“2月14日”。

    圖14 文檔結(jié)構(gòu)化數(shù)據(jù)

    基于RDF數(shù)據(jù),可進(jìn)一步使用RDFa.info生成知識(shí)圖譜。圖15為圖11部分語(yǔ)義標(biāo)注內(nèi)容對(duì)應(yīng)的知識(shí)圖譜。

    圖15 基于文檔語(yǔ)義元數(shù)據(jù)生成的知識(shí)圖譜

    上述結(jié)果表明,本文提出的方法能夠成功實(shí)現(xiàn)辦公文檔的語(yǔ)義標(biāo)注,方便計(jì)算機(jī)對(duì)文檔的知識(shí)提取。

    本文的方法適用于其他以XML為基礎(chǔ)的辦公文檔格式,比如ODF和UOF。在版式文檔格式中,國(guó)內(nèi)的OFD(Open Fixed-layout Document)也可被本文的方法所支持。這3種文檔格式標(biāo)準(zhǔn)的XML Schema框架與OOXML十分相似,因此本文的方法可以擴(kuò)展到上述的3種文檔格式中,具有通用性。此外,本文采用RDFa作為語(yǔ)義標(biāo)注技術(shù),能夠?qū)崿F(xiàn)多個(gè)詞匯表的標(biāo)注,具有很強(qiáng)的語(yǔ)義表達(dá)能力。用戶可以選擇不同的詞匯表對(duì)文檔中的實(shí)體進(jìn)行標(biāo)注,標(biāo)注后文檔所蘊(yùn)含的語(yǔ)義信息也會(huì)不同。

    6 結(jié)束語(yǔ)

    本文以流式文檔的典型格式OOXML為研究對(duì)象,詳細(xì)分析了OOXML格式與HTML格式在文本描述方面的差異性。在此基礎(chǔ)上,提出了流式文檔語(yǔ)義格式擴(kuò)展方法。針對(duì)流式文檔格式特點(diǎn),設(shè)計(jì)了特定的語(yǔ)義標(biāo)注規(guī)則。同時(shí),提出通過(guò)預(yù)處理和后處理實(shí)現(xiàn)語(yǔ)義文檔與辦公文檔之間無(wú)縫切換的方法,以保證標(biāo)注后的文檔經(jīng)過(guò)預(yù)處理能夠被文字處理軟件支持,經(jīng)過(guò)后處理能夠使帶有語(yǔ)義批注的辦公文檔重新形成語(yǔ)義文檔。實(shí)驗(yàn)證明,使用本文的標(biāo)注方法能夠增強(qiáng)辦公文檔的語(yǔ)義表示能力,便于計(jì)算機(jī)對(duì)文檔的自動(dòng)理解和處理。

    本文主要針對(duì)OOXML格式的辦公文檔進(jìn)行語(yǔ)義標(biāo)注,后續(xù)可擴(kuò)展到ODF、UOF等格式,為更多的辦公文檔格式增加語(yǔ)義標(biāo)注的支持能力。本文的標(biāo)注對(duì)象是文檔中的文本,尚未考慮其他對(duì)象,比如圖像、表格、公式等元素的語(yǔ)義標(biāo)注,它們的結(jié)構(gòu)更加復(fù)雜,需要進(jìn)一步研究和完善標(biāo)注方法,使得標(biāo)注內(nèi)容更加全面。此外,可考慮利用自然語(yǔ)言處理技術(shù)實(shí)現(xiàn)自動(dòng)化或交互式的語(yǔ)義標(biāo)注,提高標(biāo)注的效率。

    猜你喜歡
    詞匯表文檔辦公
    X辦公總部
    Base4Work共享辦公空間
    有人一聲不吭向你扔了個(gè)文檔
    X-workingspace辦公空間
    基于RI碼計(jì)算的Word復(fù)制文檔鑒別
    Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
    巧妙提取英文詞匯表的純英文單詞
    電腦迷(2014年16期)2014-04-29 03:32:41
    不讓他人隨意下載Google文檔
    電腦迷(2012年4期)2012-04-29 06:12:13
    詞匯表
    廣場(chǎng)辦公
    集安市| 习水县| 和田县| 泗水县| 榕江县| 新竹市| 隆安县| 康平县| 永顺县| 行唐县| 内黄县| 大方县| 东乌珠穆沁旗| 娄烦县| 全椒县| 广平县| 凤台县| 肇庆市| 石棉县| 苗栗县| 四子王旗| 象山县| 宜丰县| 禹州市| 化州市| 大竹县| 射洪县| 华蓥市| 新宁县| 东乡县| 桓台县| 永定县| 临安市| 肃宁县| 天镇县| 延川县| 双流县| 新干县| 襄汾县| 巴塘县| 闽清县|