戴均豪
(中鐵第一勘察設(shè)計(jì)院集團(tuán)有限公司,西安 710043)
大量的高質(zhì)量、多類型的鐵路工程地質(zhì)文字資料隨著各地鐵路工程勘察設(shè)計(jì)、建設(shè)施工等工作的進(jìn)行而快速積累[1]。然而,文字資料的利用效率普遍較低,文字資料中蘊(yùn)含著的大量信息還有待挖掘。
在鐵路工程地質(zhì)領(lǐng)域信息化、智能化的背景下,圖件、數(shù)據(jù)和模型等內(nèi)容逐步實(shí)現(xiàn)了高效獲取、自動(dòng)分析等[2],而文字資料的智能化進(jìn)展較慢。
自然語(yǔ)言處理(Natural Language Processing,NLP)是計(jì)算機(jī)問(wèn)世之后,人們?cè)噲D探索以自動(dòng)的方式對(duì)自然語(yǔ)言進(jìn)行加工的方法,NLP本身是一個(gè)融會(huì)貫通了計(jì)算機(jī)科學(xué)、人工智能、語(yǔ)言科學(xué)、邏輯學(xué)和心理學(xué)等多領(lǐng)域知識(shí)與成果的跨學(xué)科研究[3]。NLP技術(shù)在語(yǔ)義分析、詞性標(biāo)注、實(shí)體識(shí)別、機(jī)器翻譯及情感分析等方面已取得一定進(jìn)展,并具有廣闊的探索空間[4]。語(yǔ)料庫(kù)和詞向量是NLP的先導(dǎo)工作,也是文檔資料智能處理的基礎(chǔ)。
目前存在的語(yǔ)料庫(kù)及語(yǔ)言模型大多面向通用領(lǐng)域,如維基百科、新聞和微博等。國(guó)內(nèi)外針對(duì)特定領(lǐng)域的語(yǔ)料庫(kù)也逐步開(kāi)展研究,如國(guó)防、醫(yī)學(xué)、新聞與航空等[5-8]。而通用語(yǔ)料和其他領(lǐng)域語(yǔ)料難以適應(yīng)鐵路工程地質(zhì)工作需要。因此,構(gòu)建面向鐵路工程地質(zhì)的語(yǔ)料庫(kù)、訓(xùn)練領(lǐng)域內(nèi)的語(yǔ)言模型十分必要。
Word2vec模型等詞嵌入方法誕生之前,自然語(yǔ)言處理過(guò)程通常將詞匯表示成單一的、離散的編號(hào),如獨(dú)熱碼表示法(One-hot Representation),其將詞語(yǔ)表示成0、1構(gòu)成的高維向量,維度大小即語(yǔ)料中詞匯量的大小,每個(gè)詞在它的特定維度值為1,其余位置填0。顯然,這種方法不能完全表達(dá)語(yǔ)義信息,且在計(jì)算過(guò)程中會(huì)造成維度爆炸。
Word2vec將語(yǔ)料的獨(dú)熱碼作為輸入和輸出,用神經(jīng)網(wǎng)絡(luò)模型的隱藏層參數(shù)當(dāng)作當(dāng)前詞語(yǔ)的分布式表征(詞向量)時(shí),能夠很好地獲取詞語(yǔ)之間的語(yǔ)義關(guān)系或語(yǔ)義相似度[9]。Word2vec包括CBOW和Skip-gram 2種詞嵌入模型,2個(gè)模型都包含輸入層、投影層和輸出層。其中,CBOW模型訓(xùn)練原理是在已知當(dāng)前詞的上下文的前提下預(yù)測(cè)當(dāng)前詞,而Skip-gram模型的訓(xùn)練原理是在己知當(dāng)前詞的前提下預(yù)測(cè)其上下文[10](圖1)。
圖1 Word2vec模型結(jié)構(gòu)示意圖
為訓(xùn)練面向鐵路工程地質(zhì)的Word2vec模型,需要構(gòu)建粒度為“詞”的語(yǔ)料庫(kù)。流程如圖2所示。
圖2 語(yǔ)料庫(kù)搭建流程圖
本文針對(duì)鐵路工程地質(zhì)領(lǐng)域,收集了如下幾方面的語(yǔ)料:①領(lǐng)域相關(guān)的文獻(xiàn)300篇;②相關(guān)規(guī)范及工作手冊(cè)23冊(cè);③各環(huán)節(jié)程序文件105份;④教材和專著等11部。
以上各方面語(yǔ)料需統(tǒng)一為.txt文本格式以便于輸入計(jì)算機(jī)處理,隨后統(tǒng)一存放、利用Python中的os函數(shù)庫(kù)對(duì)路徑下的全部文件進(jìn)行讀寫(xiě)合并,形成生語(yǔ)料。將上述語(yǔ)料刪除亂碼、空行、特殊字符與字母數(shù)字等難以利用的文本。另外,將與文本語(yǔ)義無(wú)關(guān)的語(yǔ)氣詞、介詞、連詞、定語(yǔ),以及停用詞刪除。經(jīng)過(guò)上述2方面的文本清洗工作,隨后將語(yǔ)料利用Jiaba中文分詞函數(shù)庫(kù)進(jìn)行分詞。
Jiaba函數(shù)庫(kù)可以對(duì)日常用語(yǔ)進(jìn)行分詞操作,但是對(duì)于專業(yè)名詞繁多的地質(zhì)文本的分詞效果不好,此時(shí)需要準(zhǔn)備《地質(zhì)辭典》中的詞匯供Jiaba讀取,來(lái)提升分詞效果。另外,需要將工程地質(zhì)學(xué)、巖土工程勘察及鐵路工程施工等各分支學(xué)科下的復(fù)雜專業(yè)名詞匯總到地質(zhì)詞典中。
分詞后形成了可以輸入Word2vec的訓(xùn)練語(yǔ)料。但其中難免有個(gè)別專有名詞沒(méi)有被詞典收錄,需要根據(jù)分詞結(jié)果文件,挑選未分詞、誤分詞的詞語(yǔ),加入已有詞典。重復(fù)分詞、挑選分詞瑕疵,如此往復(fù),以尋求分詞效果的最大化,以獲得質(zhì)量最佳的語(yǔ)料庫(kù)(圖2)。最終獲得的語(yǔ)料庫(kù)總詞數(shù)為4 192 189詞,并完善鐵路工程地質(zhì)詞典37 975詞。
為了實(shí)現(xiàn)快速理解語(yǔ)料主要概述內(nèi)容,對(duì)構(gòu)建的語(yǔ)料庫(kù)進(jìn)行詞頻統(tǒng)計(jì),可以繪制“詞云”圖、對(duì)語(yǔ)料庫(kù)做簡(jiǎn)單的關(guān)鍵詞提取[11]。由圖3可知,文字比例越大表示其重要度越高,“工程”“結(jié)構(gòu)”“地質(zhì)”“形變”等詞匯重要性最高。
圖3 鐵路工程地質(zhì)語(yǔ)料庫(kù)詞云
本文選用Word2vec模型中的Skip-gram模型來(lái)進(jìn)行詞嵌入。Skip-gram是一種簡(jiǎn)單卻實(shí)用的詞嵌入模型。在輸入層輸入該詞的獨(dú)熱碼,在第一個(gè)隱層,輸入該編碼的線性映射W*x+b(x即為該詞的獨(dú)熱編碼,W、b為參數(shù)),第三層可以看成分類器,使用Softmax回歸。訓(xùn)練樣本是當(dāng)前詞和上下文詞的One-hot編碼,模型的輸出為輸入詞的上下文取詞窗口中出現(xiàn)詞匯表中各詞匯的概率[10]。
依照上述方法,對(duì)前述工作中形成的語(yǔ)料庫(kù)輸入Skip-gram詞嵌入模型進(jìn)行訓(xùn)練,規(guī)定batch-size、詞嵌入維度、上下文取詞窗口大小及負(fù)采樣樣本數(shù)量等超參數(shù),獲取詞嵌入文件。此處詞嵌入初始維度為300維,即每個(gè)詞語(yǔ)映射在300維的向量空間中。
對(duì)于訓(xùn)練好的300維詞向量,由于維度過(guò)高,不便于理解和觀察,可以利用t分布隨機(jī)近鄰嵌入(t-SNE)算法進(jìn)行降維可視化[12]。本文隨機(jī)抽取所有詞向量中的500條詞向量,由300維投影至二維,即可在平面直角坐標(biāo)上刻畫(huà)各條詞嵌入的結(jié)果。由圖4可知,在向量空間中距離相近的詞語(yǔ)蘊(yùn)含著較高的語(yǔ)義相似度,如“不良地質(zhì)”“地質(zhì)災(zāi)害”“滑坡”“泥石流”等詞匯語(yǔ)義相似度較高。
圖4 鐵路工程地質(zhì)詞向量降維可視化
詞向量在高維空間中的歐氏距離,可以表達(dá)詞與詞之間的語(yǔ)義相似度。利用Gensim庫(kù)中的Similarity函數(shù)可以計(jì)算詞向量之間的語(yǔ)義相似度[13]。為檢驗(yàn)訓(xùn)練的詞向量的有效性,可選取具有連續(xù)性規(guī)律的地質(zhì)名詞來(lái)計(jì)算語(yǔ)義相似度。本文選取“侏羅系”來(lái)計(jì)算其和其他年代地層名詞來(lái)完成有效性驗(yàn)證。由圖5可知,隨著地質(zhì)年代關(guān)系越遠(yuǎn),語(yǔ)義相似度也越低。
圖5 年代地層名詞間語(yǔ)義相似度
為檢驗(yàn)所訓(xùn)練的語(yǔ)言模型能否有效區(qū)分2類鐵路工程地質(zhì)詞匯,將年代地層名詞與巖性名詞的詞向量進(jìn)行聚類后可視化。由圖6可知,2類詞匯的詞向量投影位置有著較為明顯的區(qū)分,絕大部分都聚類正確。
圖6 年代地層與巖性名詞聚類可視化
利用NLP技術(shù),針對(duì)鐵路工程地質(zhì)領(lǐng)域開(kāi)展語(yǔ)料庫(kù)構(gòu)建和詞向量訓(xùn)練,得到以下結(jié)論。
(1)本文完善了1套構(gòu)建鐵路工程地質(zhì)語(yǔ)料庫(kù)的方法流程,構(gòu)建了4 192 189詞的語(yǔ)料庫(kù),完善了37 975詞的地質(zhì)詞典。
(2)本文在語(yǔ)料庫(kù)基礎(chǔ)上訓(xùn)練了Word2vec模型,獲取的詞向量能夠準(zhǔn)確表達(dá)語(yǔ)義,為后續(xù)鐵路工程地質(zhì)文本語(yǔ)義分析、實(shí)體識(shí)別等應(yīng)用完成前期基礎(chǔ)。