張學(xué)青
(中國國家圖書館,北京 100081)
元數(shù)據(jù)倉儲連通了多個數(shù)據(jù)庫形成的信息孤島,極大地提升了數(shù)字資源的利用效率,元數(shù)據(jù)經(jīng)過專業(yè)的分類和組織,不僅能滿足用戶的檢索需求,還能為用戶提供深層次的數(shù)據(jù)挖掘和知識發(fā)現(xiàn)服務(wù)[1]。在元數(shù)據(jù)倉儲的實際工作中,會遇到許多不同來源的數(shù)字資源。數(shù)據(jù)庫等結(jié)構(gòu)化資源比較容易獲取元數(shù)據(jù),而一些因各種原因缺少元數(shù)據(jù)的非結(jié)構(gòu)化數(shù)字資源,獲取就比較困難。這是很多圖書館非結(jié)構(gòu)化數(shù)字資源利用率不高的一個重要原因,缺乏元數(shù)據(jù)的揭示,很難達到其他結(jié)構(gòu)化資源的利用程度。研究非結(jié)構(gòu)化數(shù)字資源的元數(shù)據(jù)抽取可以為非結(jié)構(gòu)化數(shù)字的深度開發(fā)利用奠定基礎(chǔ),最終打破結(jié)構(gòu)化數(shù)字資源與一般資源之間的界限,充分發(fā)揮大量的非結(jié)構(gòu)化數(shù)字資源的價值。
徐榮華[2]提出利用基于OAI-PMH 協(xié)議的收割中外文數(shù)據(jù)庫元數(shù)據(jù)工具,收割支持OAI-PMH的開放資源的元數(shù)據(jù),對于不支持OAI-PMH 的數(shù)據(jù)庫利用基于網(wǎng)頁分析的元數(shù)據(jù)抓取工具,抓取其中的元數(shù)據(jù)。梁蕙瑋等[3]提出了搜集(Gathering)、采集(Harvesting)、聯(lián)盟(Faderation)3個不同層次的策略來處理不同的數(shù)字資源,其中搜集是指對網(wǎng)絡(luò)資源采取的策略,即通過基本的網(wǎng)絡(luò)協(xié)議運用搜索引擎搜集完全開放的信息,在本地建索引庫或全文數(shù)據(jù)庫,實現(xiàn)信息資源整合的方法。張宏偉等[4]介紹了本地自建數(shù)據(jù)庫、分布式自建數(shù)據(jù)庫、外購數(shù)據(jù)庫等幾種不同資源的元數(shù)據(jù)采集方法以及采集過程要遵循的標準和注意事項。陳淑平[5]采用基于文檔特征與規(guī)則模式匹配的方法實現(xiàn)了高校圖書館學(xué)位論文數(shù)據(jù)庫的元數(shù)據(jù)抽取,取得了良好的效果。黎偉健等[6]從大數(shù)據(jù)的視角研究了非結(jié)構(gòu)化數(shù)據(jù)的文本挖掘方法,總結(jié)出了一套海量文本分析流程,為海量文本的情感分析等研究提供了參考。周法國等[7]基于內(nèi)在認知機理的知識發(fā)現(xiàn)理論,探討了非結(jié)構(gòu)化信息抽取中的關(guān)鍵技術(shù),如:機器學(xué)習技術(shù)、篇章分析與理解技術(shù)等,對非結(jié)構(gòu)化信息實體識別、關(guān)系識別都有涉及。
元數(shù)據(jù)倉儲建設(shè)最關(guān)鍵、最基礎(chǔ)的步驟是元數(shù)據(jù)采集,可以看到,以往對元數(shù)據(jù)采集研究的重點集中在傳統(tǒng)館藏數(shù)字化的資源和有良好結(jié)構(gòu)的自建資源及外購資源上,對占比日益增多的非結(jié)構(gòu)化數(shù)字資源研究還遠遠不夠。而對非結(jié)構(gòu)化數(shù)字信息的研究,主要是從自然語言處理、大數(shù)據(jù)等方向展開,缺少基于館藏利用角度的研究。本文將從館藏數(shù)字資源建設(shè)的角度,分析非結(jié)構(gòu)化數(shù)字資源的特點,比較主流的元數(shù)據(jù)抽取技術(shù),分析其優(yōu)缺點,闡述其各自適應(yīng)的場景,提出非結(jié)構(gòu)數(shù)字資源元數(shù)據(jù)抽取的常用技術(shù)、總體思路與工作流程。
各種數(shù)字資源按照組織形式可以分為結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)兩類,其中非結(jié)構(gòu)化數(shù)據(jù)又可分為半結(jié)構(gòu)化數(shù)據(jù)和完全無結(jié)構(gòu)化數(shù)據(jù)[8]。
結(jié)構(gòu)化的數(shù)據(jù)包含了定義明確的部分,并按照一定的結(jié)構(gòu)組織。例如數(shù)據(jù)庫中的記錄就是結(jié)構(gòu)化數(shù)據(jù);常見的書目表,表的每行記錄包含若干列,即字段,每個字段都有其明確的含義,如作者、書名出版社等。
這種記錄表可以方便地導(dǎo)出相關(guān)的字段,經(jīng)過清洗后加入元數(shù)據(jù)倉儲。比如,查找書名包含“元數(shù)據(jù)”的圖書信息:Selcet 著者, 題名 from 書目信息表 where 題名 like %元數(shù)據(jù)%。
因為數(shù)據(jù)庫中的記錄都是結(jié)構(gòu)化的內(nèi)容,組織良好,以上的SQL語句或類似的檢索方法可以高效地找到和“元數(shù)據(jù)”相關(guān)的書目信息。
與結(jié)構(gòu)化數(shù)據(jù)不同,非結(jié)構(gòu)化數(shù)據(jù)無法用固定的格式組織和定義,也無法用SQL等類似的檢索方法查找。如以txt格式保存的圖書、論文,個人或組織提交的簡歷、申請,網(wǎng)絡(luò)采集工具抓取到的網(wǎng)頁、網(wǎng)絡(luò)文章等都是非結(jié)構(gòu)化數(shù)據(jù)。
還有一些數(shù)字信息,它們不像數(shù)據(jù)庫記錄那樣有嚴格的結(jié)構(gòu),也不像堆在一起的文字一樣毫無頭緒,有自己固定的格式,每部分都有相對固定的語義。如常見的簡歷申請表等表格文件,其中單元格都有固定的意義;或者某些采集軟件的日志,雖然采用了純文字記錄的方式,每一行都代表了某方面的信息,比如第一行都是采集任務(wù)名稱、第二行都是任務(wù)狀態(tài),把這些抽取出來就獲得了該次采集的描述信息,即元數(shù)據(jù)。實際工作中的非結(jié)構(gòu)化數(shù)據(jù)大部分既包含半結(jié)構(gòu)化部分,也包含無結(jié)構(gòu)化部分。
非結(jié)構(gòu)化數(shù)據(jù)(包括半結(jié)構(gòu)化)的元數(shù)據(jù)無法直接從信息本身獲得,需要在分析數(shù)據(jù)本身的特點之后,結(jié)合運用其他知識來進行。非結(jié)構(gòu)化數(shù)據(jù)一般都是批量出現(xiàn)的,沒有元數(shù)據(jù)這些信息將無法利用,或者利用效率非常低下。如果可以獲取這些非結(jié)構(gòu)化信息的元數(shù)據(jù),將大大擴充元數(shù)據(jù)的應(yīng)用范圍,極大地提高利用效率與質(zhì)量,為信息獲取的智能化、智慧化奠定基礎(chǔ)。
由于非結(jié)構(gòu)化信息具有數(shù)量大、無規(guī)律等特點,包含的元數(shù)據(jù)無法直接獲得,人工提取的方式效率低下,這類信息的元數(shù)據(jù)抽取涉及許多其他技術(shù)。
廣義上從各類數(shù)字資源中提取元數(shù)據(jù)屬于信息抽取的范疇。信息抽取是從文本數(shù)據(jù)中抽取特定信息的一種自然語言處理技術(shù)。信息抽取可能會用到自動分詞、命名實體識別、句法分析、文章分析、知識理解等自然語言處理技術(shù)。元數(shù)據(jù)抽取過程比一般的信息抽取關(guān)注的事實更為有限,很多類型的元數(shù)據(jù)不涉及對文本的理解,比如抽取一篇文章的題目更多的是根據(jù)格式信息,或者只涉及較淺層的理解,比如判斷一篇文章的主題領(lǐng)域。
從信息抽取的角度,元數(shù)據(jù)抽取的方法可以分為基于統(tǒng)計與基于規(guī)則兩大類。這兩類方法在實現(xiàn)的難度、適應(yīng)的范圍上各有優(yōu)缺點。其中基于規(guī)則的方法又稱知識工程方法(Knowledge Engineering Appor-ach),基于統(tǒng)計的方法也稱自動訓(xùn)練方法(Automa-tically Trainable System)。從自然語言處理的歷史來看,這兩種方法經(jīng)歷了不同的命運,基于規(guī)則的方法模仿了人對語言文字的認識過程,初期展現(xiàn)出了較好的效果;但隨著網(wǎng)絡(luò)技術(shù)的發(fā)展語料不斷增多,獲取更為容易,機器的計算能力大幅度提升,以及后來人工智能技術(shù)的發(fā)展,基于統(tǒng)計的方法展現(xiàn)出了強大的生命力,但很多情況下需要兩種方法的結(jié)合[9]。
這兩種方法主要的不同在于抽取依據(jù)?;诮y(tǒng)計的方法要求語料庫、計算機程序處理這些大規(guī)模真實文本后獲得相關(guān)的元數(shù)據(jù)知識。語料的多樣性、機器對大規(guī)模語料的分析能力會影響以后的抽取質(zhì)量。在運算能力不足、語料庫建設(shè)不便、機器學(xué)習等領(lǐng)域處于較低水平時,統(tǒng)計的方法表現(xiàn)平平。隨著海量語料獲得難度下降以及人工智能機器學(xué)習等高新技術(shù)的發(fā)展,基于統(tǒng)計的方法抽取質(zhì)量會較以前有較大的提升。
基于規(guī)則的抽取方法不必事先建立語料庫,但需要人工提供抽取依據(jù),即將元數(shù)據(jù)抽取所需的知識形式化。在當前形勢下,這種方法很多時候只能作為統(tǒng)計方法的一種輔助,但在一些特定情況下,基于規(guī)則的抽取方法有一定的用武之地。比如,一些大量卻結(jié)構(gòu)相對單一的數(shù)字資源,人工能比較容易地從中總結(jié)出相關(guān)元數(shù)據(jù)抽取需要的知識,基于規(guī)則的方法就能體現(xiàn)出它的優(yōu)勢,尤其是在半結(jié)構(gòu)化數(shù)據(jù)元數(shù)據(jù)抽取中,基于規(guī)則的方法就有它的實用之處。
具體到非結(jié)構(gòu)化數(shù)字資源元數(shù)據(jù)抽取,這兩種方法各有其適應(yīng)的場合。基于規(guī)則的方法適用的非結(jié)構(gòu)化數(shù)據(jù)要有以下特點:(1)抽取規(guī)則比較明確或建立了比較完善的抽取規(guī)則;(2)數(shù)據(jù)領(lǐng)域比較固定或事先有詞典表等領(lǐng)域知識;(3)機器學(xué)習成本較高難以實現(xiàn);(4)只允許很低的錯誤率。
基于統(tǒng)計的方法適用的非結(jié)構(gòu)化數(shù)據(jù)要有以下特點:(1)無明顯的抽取標記;(2)數(shù)據(jù)領(lǐng)域不固定或缺少相關(guān)領(lǐng)域知識;(3)數(shù)據(jù)量大但比較適合機器學(xué)習從中總結(jié)規(guī)則;(4)能容許一定范圍的錯誤率。
實際應(yīng)用中,很多種情況需要兩種方法的結(jié)合,甚至同一組元數(shù)據(jù)中采用不同的方法。半結(jié)構(gòu)化的元數(shù)據(jù)或非結(jié)構(gòu)化數(shù)據(jù)中半結(jié)構(gòu)化部分的元數(shù)據(jù)非常適合采用基于規(guī)則的方法。常見可利用的規(guī)則包括:(1)元數(shù)據(jù)在文章中的位置、字體、表格等格式信息;(2)html、xml標簽等標記信息;(3)特殊關(guān)鍵詞提示信息等。
半結(jié)構(gòu)化數(shù)據(jù)的抽取知識相對明確,不涉及或很少涉及對具體文本的理解,如果能把這些知識較好地形式化成抽取規(guī)則就能保證較低的錯誤率。
完全非結(jié)構(gòu)化信息的元數(shù)據(jù)抽取主要采用基于統(tǒng)計的方法,有時需要基于規(guī)則的方法輔助甚至采取一定的人工調(diào)整以提升抽取正確率。由于非結(jié)構(gòu)化信息的元數(shù)據(jù)要涉及不同程度的文本理解,抽取的過程要借助自然語言理解甚至人工智能相關(guān)的技術(shù):(1)機器學(xué)習,從大量的訓(xùn)練文本中學(xué)習抽取規(guī)則;(2)文本分類,確定一篇文本的主題領(lǐng)域等相關(guān)知識;(3)自動文摘,生成一篇文本的內(nèi)容概括;(4)知識挖掘,嘗試挖掘一篇或多篇文本隱含的知識。
這些技術(shù)的主要基礎(chǔ)是基于統(tǒng)計的自然語言處理方法,牽涉語義的理解,在相當長一段時間內(nèi)機器沒有很高的精確度。但隨著人工智能和大數(shù)據(jù)相關(guān)技術(shù)的發(fā)展,這些自然語言處理技術(shù)的表現(xiàn)相比過去也有了質(zhì)的提升。人工智能系統(tǒng)在確定句子語法結(jié)構(gòu)上的能力已經(jīng)接近人類能力的94%,從文檔中找到既定問題答案的能力已經(jīng)越來越接近人類[10],使得以前無法依靠語義判斷進行的計算逐漸成為可能。
與完全非結(jié)構(gòu)化數(shù)據(jù)相比,半結(jié)構(gòu)化數(shù)據(jù)對計算機處理都比較友好。比如某閱讀軟件能從包含回目信息的txt文本文件中抽取目錄,回目的標記在txt文本中比較明顯(比如“第*章或第*回”的格式),是比較單純的半結(jié)構(gòu)化數(shù)據(jù),這種抽取準確率較高。網(wǎng)絡(luò)政府信息按照預(yù)先制定的規(guī)則抽取的元數(shù)據(jù)既有結(jié)構(gòu)化內(nèi)容也有非結(jié)構(gòu)化內(nèi)容,抽取時需要判斷很多信息,容易出錯,經(jīng)常要人工調(diào)整才能得到較好的效果,如圖1所示。
圖1 網(wǎng)絡(luò)政府信息元數(shù)據(jù)(部分)
下面以一個實例說明半結(jié)構(gòu)化數(shù)據(jù)的元數(shù)據(jù)抽取的各個環(huán)節(jié)。
以上文提到的申請表為例,假設(shè)現(xiàn)在有大批Word文檔格式的申請表,需要從中抽取出申請人的姓名、電話、部門、申請時間等元數(shù)據(jù)信息。申請表是Word文檔的形式,但它用表格保存了相關(guān)的信息,每部分保存的信息也都相對明確,是典型的半結(jié)構(gòu)化數(shù)據(jù)。
本文用Office自帶的VBA處理相關(guān)數(shù)據(jù),VBA即Visual Basic for Applications,它把所有Office里的元素(如文檔、單元格等)都看作是一個對象并且通過操縱對象的方法來控制,目的是使已經(jīng)存在的應(yīng)用程序自動化。
申請表的每個單元格都表示特定的信息,第一行單元格填寫申請者的姓名等個人信息,后面的其他單元格填寫申請的具體內(nèi)容等,是抽取的主要依據(jù),主體代碼與結(jié)果示例,如圖2所示。
圖2 主體代碼與抽取結(jié)果
Excel讀取Word文檔中的數(shù)據(jù),并把讀取結(jié)果直接寫入Excel表格中,有一定的實用性,直觀地展現(xiàn)了從雜亂無章的“半結(jié)構(gòu)”化數(shù)據(jù)中抽取出統(tǒng)一有序的元數(shù)據(jù)的過程。為了方便敘述,本例采用了比較簡單的形式,在真實工作中根據(jù)非結(jié)構(gòu)化數(shù)據(jù)的特點、元數(shù)據(jù)抽取要求等可能要調(diào)整更合適的抽取工具與方法,但總的流程與思路是類似的。
非結(jié)構(gòu)化信息的元數(shù)據(jù)抽取要在此基礎(chǔ)上進行。大多數(shù)情況下,非結(jié)構(gòu)化數(shù)據(jù)不是完全非結(jié)構(gòu)的,比如圖1所示的網(wǎng)絡(luò)政府信息的部分元數(shù)據(jù),其中題名、關(guān)鍵詞、轉(zhuǎn)載來源等一般會在網(wǎng)頁中有所提示,比如題名可能會有相應(yīng)html標記或特殊的格式,關(guān)鍵詞很多會在網(wǎng)頁源文件中用html標記直接列出,對于此類元數(shù)據(jù)應(yīng)該按照半結(jié)構(gòu)化信息來處理,即制定規(guī)則形成抽取知識,主要利用基于規(guī)則的方法抽取,可以利用機器學(xué)習的方法使機器去“理解”這些人為規(guī)定的規(guī)則會更有效率。而體裁分類和主題分類等抽取則完全是非結(jié)構(gòu)化的,需要基于對網(wǎng)絡(luò)資源內(nèi)容一定的“理解”來實現(xiàn),涉及一些復(fù)雜的算法。
非結(jié)構(gòu)化數(shù)字資源元數(shù)據(jù)抽取首先要將原始數(shù)據(jù)作一定的預(yù)處理,這一步不是本文重點,不作展開。將預(yù)處理后的資源按照元數(shù)據(jù)的內(nèi)容作第一次分類,分成非結(jié)構(gòu)化數(shù)據(jù)A和半結(jié)構(gòu)化數(shù)據(jù)B,然后再對非結(jié)構(gòu)化數(shù)據(jù)A作第二次分類,仍舊按照元數(shù)據(jù)內(nèi)容分成非結(jié)構(gòu)化部分A1和半結(jié)構(gòu)化部分A2。最后對這些分好類的資源進行分批處理,利用事先制定好的抽取規(guī)則,采取基于規(guī)則的方法抽取A2和B部分的元數(shù)據(jù),采取主要基于統(tǒng)計的方法抽取A1部分的元數(shù)據(jù)。抽取過程針對不同類型的元數(shù)據(jù)采取了完全不同的方法,半結(jié)構(gòu)化的元數(shù)據(jù)抽取由于規(guī)則相對明確,可以保證較高的準確率,抽取前的調(diào)整和抽取后的修正可以把重點放在非結(jié)構(gòu)化部分上,如圖3所示。
圖3 元數(shù)據(jù)抽取流程
本文從元數(shù)據(jù)倉儲建設(shè)的實際問題出發(fā),分析了非結(jié)構(gòu)化數(shù)據(jù)的特點及元數(shù)據(jù)抽取的難點,介紹了不同抽取方法各自適應(yīng)的場景及其優(yōu)缺點,在文章的最后以一個半結(jié)構(gòu)化信息元數(shù)據(jù)抽取的實際例子說明了元數(shù)據(jù)抽取的一般思路,為非結(jié)構(gòu)化數(shù)字資源的元數(shù)據(jù)抽取提供了一些參考。本文提到的非結(jié)構(gòu)化數(shù)據(jù)主要是指文本,圖片、視頻、音頻等非結(jié)構(gòu)化數(shù)據(jù)的元數(shù)據(jù)處理則需要更多的抽取知識。
隨著大數(shù)據(jù)時代的到來,圖書館收集保存的非結(jié)構(gòu)化數(shù)字資源會越來越多,對非結(jié)構(gòu)化數(shù)字資源合理利用的需求也會逐漸增大,方便快捷地獲取這些資源的元數(shù)據(jù)將打通非結(jié)構(gòu)化數(shù)字資源與其他結(jié)構(gòu)化館藏之間的障礙,促使大量的非結(jié)構(gòu)化數(shù)字資源從“持有的數(shù)據(jù)”向“有效的館藏”轉(zhuǎn)變,希望這些研究分析能為未來高質(zhì)量的非結(jié)構(gòu)化數(shù)字資源的元數(shù)據(jù)抽取作少許鋪墊。