雒偉群 黨紅恩 劉煒 高屹
(西藏民族大學(xué)信息工程學(xué)院,陜西 咸陽 712082)
西藏自治區(qū)非遺資源豐富,是中華民族優(yōu)秀傳統(tǒng)文化寶庫的重要組成部分。截止2020年,西藏自治區(qū)級非物質(zhì)文化遺產(chǎn)項(xiàng)目中的藏戲、格薩爾、藏醫(yī)藥浴法等入選世界非遺名錄,96 項(xiàng)入選國家級項(xiàng)目名錄。利用先進(jìn)的大數(shù)據(jù)、知識(shí)圖譜等信息技術(shù)對西藏非遺進(jìn)行保護(hù),可以傳承和發(fā)揚(yáng)藏民族先輩文明。
隨著移動(dòng)設(shè)備的廣泛使用,人們的社交行為、購物習(xí)慣、所處位置等數(shù)據(jù)都能得到有效地存儲(chǔ),并且存儲(chǔ)已開始以PB(1PB=1024TB)為單位,我們已經(jīng)進(jìn)入大數(shù)據(jù)時(shí)代[1-3]。大數(shù)據(jù)環(huán)境下數(shù)據(jù)信息龐雜巨量,但也面臨知識(shí)嚴(yán)重缺失問題。傳統(tǒng)知識(shí)搜索引擎按網(wǎng)頁文檔進(jìn)行超鏈接,但這些超鏈接都是獨(dú)立的,沒有相互依賴關(guān)系,搜索失敗時(shí)不能推薦相關(guān)內(nèi)容[4]。知識(shí)搜索引擎通過整合多源信息,產(chǎn)生知識(shí)信息,有效實(shí)現(xiàn)了知識(shí)利用和共享。
谷歌的知識(shí)圖譜[5]與百度的知心等為通用知識(shí)圖譜,在地理信息和企業(yè)等領(lǐng)域已經(jīng)構(gòu)建了領(lǐng)域知識(shí)圖譜。知識(shí)圖譜的構(gòu)建方式有人工構(gòu)建、機(jī)器自動(dòng)構(gòu)建等多種方式,人工構(gòu)建方式準(zhǔn)確度高,但費(fèi)時(shí)費(fèi)力;機(jī)器自動(dòng)構(gòu)建速度快,但準(zhǔn)確度不高。所以構(gòu)建領(lǐng)域知識(shí)圖譜時(shí),最好采用半自動(dòng)化方式,即采用人工+機(jī)器自動(dòng)化方式,在準(zhǔn)確度和效率兩方面取得平衡。
知識(shí)圖譜的構(gòu)建主要工作包括本體知識(shí)表示、語義標(biāo)注、實(shí)體識(shí)別和關(guān)系抽取等環(huán)節(jié)。本體形式化定義了領(lǐng)域中的概念和關(guān)系,其定義必須得到大家一致認(rèn)可。領(lǐng)域本體知識(shí)表示應(yīng)該在領(lǐng)域?qū)<抑笇?dǎo)下進(jìn)行[6],人工構(gòu)建本體質(zhì)量比較高。自動(dòng)構(gòu)建本體速度快,從數(shù)據(jù)資源中自動(dòng)獲得本體知識(shí),但獲得的本體并不良好[7]。在大多數(shù)領(lǐng)域,自動(dòng)構(gòu)建與用戶指導(dǎo)是一個(gè)切實(shí)可行的方法。語義標(biāo)注就是對原始數(shù)據(jù)標(biāo)記語義信息,可以通過人工方式對標(biāo)注文檔標(biāo)記語義信息;半自動(dòng)標(biāo)注需要標(biāo)注人員在客戶端軟件中完成手工指定網(wǎng)頁,再選擇合適的本體概念,最后生成可存儲(chǔ)的標(biāo)注結(jié)果;自動(dòng)標(biāo)注通過軟件自動(dòng)產(chǎn)生語義信息,雖改善了標(biāo)注速度,但降低了標(biāo)注質(zhì)量。實(shí)體識(shí)別在文本中識(shí)別實(shí)體,關(guān)系抽取在文本中抽取出實(shí)體之間的關(guān)系,建立實(shí)體聯(lián)系。
大數(shù)據(jù)處理、知識(shí)搜索與信息可視化等新技術(shù)在電子商務(wù)、社交平臺(tái)等領(lǐng)域的應(yīng)用成果突出,但這些IT 新技術(shù)在西藏非遺領(lǐng)域的研究應(yīng)用卻極少,這是因?yàn)槲鞑胤沁z文化體系龐雜、文化資源海量等因素造成的。所以利用大數(shù)據(jù)處理技術(shù)整理西藏非遺文化體系,構(gòu)建本體模型,建立知識(shí)圖譜,將為促進(jìn)西藏非遺數(shù)字化保護(hù)的發(fā)展具有一定的實(shí)際意義。
自頂向下與自底向上是建立知識(shí)圖譜最常用的兩種方法[8]。自頂向下方法借助于行業(yè)領(lǐng)域數(shù)據(jù)和百科類網(wǎng)站知識(shí)建立知識(shí)圖譜中的本體知識(shí),然后在知識(shí)庫中存儲(chǔ)這些本體知識(shí)與模式信息;自底向上方法從最低實(shí)體層中歸納組織實(shí)體,然后人工審核整理出的新模式,最后存儲(chǔ)到知識(shí)庫中。本研究構(gòu)建知識(shí)圖譜時(shí)采用自頂向下方法構(gòu)建本體庫。
用于構(gòu)建西藏非遺知識(shí)圖譜的本體庫數(shù)據(jù)源主要分為三類:一是百科類網(wǎng)站的開放鏈接數(shù)據(jù)集;二是CNKI等文獻(xiàn)類網(wǎng)站;三是民族非物質(zhì)遺產(chǎn)網(wǎng)站、非物質(zhì)遺產(chǎn)大辭典、從事藏區(qū)非遺的科研機(jī)構(gòu)或者政府部門渠道。使用Python 編寫爬蟲代碼進(jìn)行資源采集,資源采集列表為國家級非物質(zhì)文化遺產(chǎn)名錄(第一、二、三、四批)和西藏自治區(qū)級、地市級、縣級非遺目錄(第一、二、三、四、五批)中的非遺項(xiàng)目,合計(jì)2590 項(xiàng),其中包含96 個(gè)國家非遺項(xiàng)目、460 個(gè)自治區(qū)非遺項(xiàng)目、480 個(gè)地市級代表性項(xiàng)目、1554 個(gè)縣級代表性項(xiàng)目。表1是我們整理的西藏傳統(tǒng)技藝知識(shí)圖譜語料來源部門項(xiàng)目。
表1 西藏傳統(tǒng)技藝知識(shí)圖譜語料來源部分項(xiàng)目
表1(續(xù))
結(jié)構(gòu)化數(shù)據(jù)主要包括非遺項(xiàng)目名稱、項(xiàng)目介紹的部分字段等,具有一定的專業(yè)性,在知識(shí)圖譜構(gòu)建時(shí)可以直接使用;半結(jié)構(gòu)化數(shù)據(jù)主要包括文化遺產(chǎn)外在形式統(tǒng)計(jì)信息、文化遺產(chǎn)物理信息統(tǒng)計(jì)數(shù)據(jù)、介紹網(wǎng)頁中爬取到的社評信息等。具有一定的結(jié)構(gòu)但不同的項(xiàng)目或不同的類目間結(jié)構(gòu)不完全一致,有待進(jìn)一步抽取后使用。非結(jié)構(gòu)化數(shù)據(jù)主要包括用戶描述、分析進(jìn)展,通過外部調(diào)研得到的隱含特征行為等。缺乏明確的表達(dá)方式和具體結(jié)構(gòu),需要人工參與補(bǔ)充及完善知識(shí)。
本體是對領(lǐng)域中的概念、實(shí)例和關(guān)系等進(jìn)行形式化的、明確且詳細(xì)的一種說明,本體知識(shí)表示就是要發(fā)現(xiàn)概念實(shí)體及概念實(shí)體間關(guān)系,概念實(shí)體就是領(lǐng)域中的概念或?qū)嵗詷?gòu)建(概念實(shí)體,關(guān)系,概念實(shí)體)三元組成為本體知識(shí)表示的關(guān)鍵。我們用概念描述本體的實(shí)體類別,比如:傳統(tǒng)技藝名稱“藏族金屬鍛造技藝”是概念;具體的實(shí)例描述概念實(shí)例,比如:藏族金屬鍛造技藝中的“藏刀鍛制技藝”;概念或?qū)嵗g的關(guān)系通過屬性揭示,比如“藏族金屬鍛造技藝”有一種“藏刀鍛制技藝”類別,也就是說“藏族金屬鍛造技藝”概念的屬性為“類別”,該屬性取值概念實(shí)例“藏刀鍛制技藝”,也就是三元組(藏族金屬鍛造技藝,類別,藏刀鍛制技藝)。領(lǐng)域知識(shí)表示就是要構(gòu)建領(lǐng)域本體,挖掘數(shù)據(jù)集中所有概念及概念關(guān)系,并表示成三元組形式。
一般使用數(shù)據(jù)驅(qū)動(dòng)方法建立領(lǐng)域本體,由于領(lǐng)域特性使得數(shù)據(jù)資料獲取非常有限,建立的領(lǐng)域語料庫規(guī)模普遍偏小,造成本體構(gòu)建效果不佳。為解決這個(gè)問題,我們引入bootstrapping 方法。該方法目的是從搜索引擎中盡可能多地獲取領(lǐng)域數(shù)據(jù)資料。比如:我們在搜索引擎中搜索詞匯“藏刀”,返回結(jié)果有300條,搜索結(jié)果中的領(lǐng)域數(shù)據(jù)太少了,如何才能搜索出更多的語料數(shù)據(jù)?使用查詢擴(kuò)展方法。常規(guī)查詢擴(kuò)展為了提高準(zhǔn)確率,在搜索引擎中獲得了更多與查詢相關(guān)的文檔。我們使用查詢擴(kuò)展為了提高召回率,在搜索引擎獲取更多的文檔。
我們的方案是:在構(gòu)建領(lǐng)域語料庫時(shí),在搜索引擎中引入bootstrapping 方法,將初始主題作為種子,生成查詢query,在搜索引擎中獲得搜索出的文檔集合,然后通過查詢擴(kuò)展和迭代過程不斷地進(jìn)行搜索,獲得的擴(kuò)展查詢詞相關(guān)于原主題,最終獲得的領(lǐng)域語料庫規(guī)模將達(dá)到本項(xiàng)目研究需要,如圖1所示。
擴(kuò)展查詢不斷迭代,與初始主題相關(guān)的領(lǐng)域語料庫規(guī)模不斷擴(kuò)大,通過3次迭代擴(kuò)展,獲得了15738 條數(shù)據(jù),對于構(gòu)建本體來說,數(shù)據(jù)量已經(jīng)能夠滿足基本需求。
本體定義完成后,我們就可以在領(lǐng)域數(shù)據(jù)集上進(jìn)行標(biāo)注概念實(shí)例了,另外利用屬性可以標(biāo)注實(shí)例關(guān)系,對可能的三元組添加提示信息。標(biāo)注一般采用人工方法,對領(lǐng)域數(shù)據(jù)文本進(jìn)行分詞,對每個(gè)單詞標(biāo)注,進(jìn)而標(biāo)注概念實(shí)例和實(shí)例關(guān)系。
領(lǐng)域數(shù)據(jù)集處理的一項(xiàng)重要工作是領(lǐng)域分詞,一般借助于分詞工具+領(lǐng)域詞表可以取得很好的分詞效果。常用的分詞工具有ansj、hanlp 和jieba 等,這些工具都能提供多種分詞方式,但ansj 自定義領(lǐng)域詞典后,領(lǐng)域詞匯分詞效果還是不理想;hanlp 可個(gè)性化分詞,但在加載自定義詞典時(shí)用時(shí)較長;jieba 也可進(jìn)行個(gè)性化分詞,并且可以較快地加載自定義詞典。因此,構(gòu)建領(lǐng)域詞表是領(lǐng)域分詞重要一環(huán)。
我們使用分詞器jiaba 工具對領(lǐng)域數(shù)據(jù)集中的每個(gè)句子進(jìn)行分詞,西藏非遺領(lǐng)域的特有詞匯,一般也會(huì)出現(xiàn)在期刊論文文獻(xiàn)的關(guān)鍵詞部分,比如藏刀、鍛銅技藝、金屬鍛造等領(lǐng)域詞匯,我們搜索學(xué)術(shù)期刊論文電子資源庫,搜索出的論文中的關(guān)鍵詞添加到領(lǐng)域詞表中。
本體文本標(biāo)注時(shí),我們要定義好概念和關(guān)系的模板,然后采用基于種子的模板輔助人工標(biāo)注方法。例如:文本中有一個(gè)句子“藏族金屬鍛造技藝分為藏族鍛銅技藝和藏刀鍛制技藝”等,該句中說明了藏族金屬鍛造技藝的一種上下位關(guān)系,它的模板可定義為:<C >分為<C1>和<C2>等。其中,概念C 是父類,C1 和C2 是其子類,即C1 和C2 的上位關(guān)系是C,C的下位關(guān)系是C1 和C2。模板識(shí)別方法簡單易實(shí)現(xiàn),準(zhǔn)確率高,但是模板事先需要先定義好,非常耗時(shí)耗力,導(dǎo)致不能大規(guī)模展開。
基于種子的模板輔助人工標(biāo)注方法,屬于無監(jiān)督方法,首先給定關(guān)系和兩個(gè)種子實(shí)體對,然后從領(lǐng)域語料庫中抽出句子集合。從這些句子中進(jìn)一步得到給定關(guān)系的描述模式,再通過投票機(jī)制挑選給定關(guān)系的最佳模板。應(yīng)用這些合適模板,在預(yù)料庫中進(jìn)行迭代,可匹配出更多句子,抽取出新的實(shí)例對,發(fā)現(xiàn)新的模式。持續(xù)迭代下去,最終實(shí)現(xiàn)給定關(guān)系全部實(shí)例對的抽取。在算法的輔助下,我們文本的實(shí)例標(biāo)注就會(huì)省時(shí)省力,便于開展大規(guī)模語料庫的概念提取和關(guān)系識(shí)別。
實(shí)體識(shí)別,通過命名實(shí)體名稱在文本中識(shí)別出領(lǐng)域?qū)嶓w。基于規(guī)則和詞表的實(shí)體識(shí)別在半結(jié)構(gòu)化數(shù)據(jù)中具有天然的優(yōu)勢。對于非結(jié)構(gòu)化數(shù)據(jù)一般采用規(guī)則+統(tǒng)計(jì)學(xué)習(xí)的方式進(jìn)行抽取,經(jīng)典模型如HMM、CRF,以及預(yù)訓(xùn)練模型BERT等。
在實(shí)體抽取方面,我們還研究了基于深度學(xué)習(xí)的實(shí)體識(shí)別,我們采用詞典+規(guī)則+BIGRU_CRF 方案,該方案出于對性能和效果的綜合考慮,識(shí)別準(zhǔn)確率達(dá)到90%以上。如圖2 所示,該模型使用了BIGRU 與CRF相結(jié)合進(jìn)行命名實(shí)體識(shí)別,該模型自底向上分別是Embedding 層、雙向GRU 層和CRF 層。首先使用詞向量表示每一個(gè)句子,并作為雙向GRU 的輸入,正向GRU 與反向GRU 分別計(jì)算每個(gè)詞左側(cè)和右側(cè)詞對應(yīng)的向量,輸出的詞向量是兩個(gè)向量的連接;最后將雙向GRU 輸出的向量輸入給CRF 層,經(jīng)過CRF 算法處理后就會(huì)標(biāo)注出句子中的實(shí)體序列。
實(shí)體消岐方面,我們采用規(guī)則+BERT+實(shí)體嵌入方案,這一方案對于短文本實(shí)體消岐具有較好的適應(yīng)性。
術(shù)語抽取是指從語料中發(fā)現(xiàn)多個(gè)單詞組成的相關(guān)術(shù)語,這類屬于通常具有高度的專業(yè)性,識(shí)別效果與領(lǐng)域高度相關(guān),通常需要大量的專業(yè)標(biāo)記語料才能達(dá)到較好的效果,技術(shù)手段與實(shí)體識(shí)別類似。
實(shí)體識(shí)別及術(shù)語抽取之后,我們就可以進(jìn)行關(guān)系抽取,將文本中的知識(shí)關(guān)系也就是實(shí)體間的關(guān)聯(lián)關(guān)系抽取出來。主要包括基于弱監(jiān)督的實(shí)體關(guān)系抽取、基于自舉式學(xué)習(xí)的實(shí)體關(guān)系抽取和基于規(guī)則的實(shí)體關(guān)系抽取。對語料進(jìn)行關(guān)系標(biāo)注,并結(jié)合關(guān)系特征選擇得到關(guān)系特征向量,經(jīng)過相應(yīng)的機(jī)器學(xué)習(xí)模型訓(xùn)練后可得到關(guān)系分類器,能夠從領(lǐng)域語料中抽取出更多的關(guān)系實(shí)例,采用基于關(guān)系詞字典構(gòu)建與關(guān)系規(guī)則自動(dòng)學(xué)習(xí)的實(shí)體關(guān)系抽取方法,將這兩種研究思路進(jìn)行整合,利用機(jī)器學(xué)習(xí)的方法實(shí)現(xiàn)關(guān)系詞字典的自動(dòng)構(gòu)建,基于模式匹配的關(guān)系規(guī)則自動(dòng)學(xué)習(xí),可以自動(dòng)高效地抽取出關(guān)系實(shí)例。
知識(shí)圖譜就是三元組形式的實(shí)體關(guān)系對,通過上面環(huán)節(jié)我們構(gòu)建了西藏非遺知識(shí)圖譜。知識(shí)圖譜可視化可以借助與Neo4j 圖數(shù)據(jù)庫自動(dòng)產(chǎn)生,也可以使用pyechart通過編程實(shí)現(xiàn)。我們的做法是先將西藏非遺知識(shí)圖譜存儲(chǔ)在Excel 表中,再利用ECharts 可視化技術(shù)進(jìn)行知識(shí)圖譜展示。ECharts 是一種可視化插件,底層通過Canvas 類庫中的ZRender 圖表庫可以提供個(gè)性化的數(shù)據(jù)可視化展示。圖3是我們生成的一張西藏非遺知識(shí)圖譜截圖。
從圖3我們看到西藏傳統(tǒng)技藝知識(shí)圖譜中有關(guān)藏族金屬鍛造技藝方面的概念,揭示了藏族金屬鍛造技藝中各個(gè)概念節(jié)點(diǎn)的關(guān)系。藏族金屬鍛造技藝活動(dòng)中所涉及到相關(guān)聯(lián)的一些實(shí)體和屬性有藏族鍛鐵技藝、藏刀鍛制技藝、波密易貢藏刀鍛制技藝、林芝市波密縣易貢鄉(xiāng)等。
西藏非遺體系完整,包含數(shù)據(jù)量較大,通過網(wǎng)絡(luò)爬蟲技術(shù)可以自動(dòng)產(chǎn)生大數(shù)據(jù)的語料庫,從語料庫文本中進(jìn)行實(shí)體識(shí)別和關(guān)系抽取,就會(huì)構(gòu)建三元組形式的西藏非遺知識(shí)圖譜。通過知識(shí)圖譜可視化,可以直觀看到實(shí)體和實(shí)體之間的潛在知識(shí)關(guān)系?,F(xiàn)階段領(lǐng)域知識(shí)圖譜的構(gòu)建在知識(shí)抽取算法方面還有待改善和發(fā)展。