顧 晴,周 軍,潘純杰,羌楊洋
(江蘇航運職業(yè)技術(shù)學(xué)院 智能制造與信息學(xué)院,江蘇 南通 226001)
隨著計算機技術(shù)以及自動化控制技術(shù)的不斷發(fā)展,海上運輸船舶數(shù)量和規(guī)模日趨龐大,中國對外貿(mào)易中89%的出口貨物都是由船舶運輸來完成。航運信息化建設(shè)進程中產(chǎn)生了大量的航運數(shù)據(jù),其中船舶數(shù)據(jù)資源占據(jù)了絕大部分。然而由于各單位在船舶信息管理上的不統(tǒng)一、收集設(shè)備自身的誤差或發(fā)生故障、人為因素干擾等,數(shù)據(jù)庫中存在大量的問題數(shù)據(jù)。這些問題數(shù)據(jù)包括重復(fù)數(shù)據(jù)、錯誤數(shù)據(jù)、缺失數(shù)據(jù)等,如果直接使用這些數(shù)據(jù)進行分析和挖掘,會對最終的結(jié)果造成嚴(yán)重影響。因此,對收集到的船舶數(shù)據(jù)進行數(shù)據(jù)清洗和恢復(fù),可以為政府的水上交通監(jiān)管與服務(wù)、船舶事故調(diào)查等提供可靠的理論指導(dǎo)和技術(shù)支持,對提高船舶數(shù)據(jù)質(zhì)量、促進水上智能交通的發(fā)展具有重大現(xiàn)實意義。
為了解決對船舶重復(fù)數(shù)據(jù)的檢測問題,本文基于深度學(xué)習(xí),從多語義角度出發(fā),融合FastText向量模型、BERT模型以及主題語義LDA模型,搭建多語義融合模型,進行船舶數(shù)據(jù)的向量構(gòu)建,提升重復(fù)檢測準(zhǔn)確率,提高船舶數(shù)據(jù)清洗效率。
Mikolov等[1]在2013年提出從文本數(shù)據(jù)中學(xué)習(xí)單詞向量的有效模型Word2Vec,該模型利用語料庫和語義信息,有效改善了傳統(tǒng)離散文本向量和語義之間關(guān)聯(lián)性不強的問題。模型根據(jù)相似的單詞會出現(xiàn)在相似的上下文中的原理,設(shè)計了2種輸入輸出方法,一種是連續(xù)詞袋(Continuous Bag-of-Words,CBOW)模型,另一種是“Skip-gram”模型,這2種模型也成為之后各種詞向量模型的基礎(chǔ)。FastText模型在其基礎(chǔ)上加入N-gram技術(shù)[2],對單詞的子詞構(gòu)建向量。
N-gram是一種基于語言模型的算法,其基本內(nèi)容是將文本內(nèi)容按照大小為N的滑動窗口進行劃分,形成一系列長度為N的片段。假設(shè)一段文本S由n個詞組成,如公式(1)所示。
S=(w1,w2,…,wn)
(1)
N-gram模型假設(shè)每一個單詞wi與前面i-1個詞相關(guān),整個文本出現(xiàn)的概率即每個詞出現(xiàn)概率的乘積如公式(2)所示。
p(S)=p(w1,w2,…,wn)=p(w1)p(w2|w1)…p(wn|wn-1…w2w1)
(2)
然而這種方法易導(dǎo)致概率p(wn|wn-1…w2w1)的參數(shù)過多,因此引入馬爾科夫假設(shè)(Markov Assumption),即第i個詞的出現(xiàn)僅與該詞的前N-1詞有關(guān)。常用的有一元模型、二元模型和三元模型。以三元模型為例,一個詞的出現(xiàn)僅與它之前的2個詞有關(guān),其概率公式如公式(3)所示。
p(S)≈p(w1)p(w2|w1)…p(wn|wn-1wn-2)
(3)
BERT是一種使用多頭注意力機制構(gòu)建的模型[3]。對于不同的下游任務(wù),可以基于BERT模型進行結(jié)構(gòu)擴展,將BERT預(yù)訓(xùn)練模型輸出的向量作為特征,用于下游任務(wù)處理。為了面對不同的下游任務(wù),BERT的輸入除了單詞向量外,還額外添加了位置向量和段向量,輸入狀態(tài)如圖1所示。BERT將[CLS]作為句首標(biāo)記,當(dāng)下游任務(wù)是句子分類時,直接使用[CLS]的輸出作為整個句子的向量;當(dāng)下游任務(wù)獨立于句子,則忽略該標(biāo)記的輸出。
圖1 BERT輸入層
BERT模型分為預(yù)訓(xùn)練和微調(diào)2個階段。在預(yù)訓(xùn)練階段,模型針對遮蔽詞和下句預(yù)測2個目標(biāo)進行訓(xùn)練,分別捕捉單詞級別的表征信息和句子級別的表征信息,迫使模型增加了對上下文的記憶,輸出帶有上下文相關(guān)語義的向量;BERT微調(diào)機制是利用BERT模型處理多種NLP任務(wù),不需要對BERT內(nèi)部結(jié)構(gòu)進行修改,只需在最終的編碼層增加網(wǎng)絡(luò)結(jié)構(gòu)完成任務(wù)。這種微調(diào)機制極大地增強了BERT的遷移能力。本文采用已預(yù)訓(xùn)練好的BERT模型來處理記錄向量,輸出[CLS]代表整個記錄的向量,與其他向量模型相結(jié)合,作為分類模型的輸入。
隱含狄利克雷模型(Latent Dirichlet Allocation,LDA)為主題概率生成模型[4-5],該模型具有可擴展性,便于嵌入其他模型。
對于重復(fù)記錄檢測問題,相似記錄擁有的主題分布也相似,因此,構(gòu)建每一個記錄的主題分布可以有效結(jié)合主題信息,有助于提升檢測精度。在船舶重復(fù)記錄檢測中,使用該模型可以將識別領(lǐng)域集中到船舶數(shù)據(jù)上,LDA主題模型結(jié)構(gòu)如圖2所示。
圖2 LDA主題模型
圖2中的M為記錄數(shù),N為單詞數(shù),w為最后生成的第m個記錄的第n個單詞,φ為從先驗參數(shù)α中提取的主題分布,θ為從φ主題分布中提取的主題,η為從先驗主題β中提取的與主題θ對應(yīng)的單詞分布。模型中的樣本是固定的,參數(shù)是一個服從一定分布的隨機變量。對于任一個記錄r,已知單詞在記錄中的概率P(wi|ri),假設(shè)wi對應(yīng)的主題為θt(1≤t≤T),根據(jù)P(wi|ri),訓(xùn)練出主題在記錄中的概率P(θt|ri)和單詞在主題中的概率P(wj|θt),聯(lián)合概率分布如公式(4)所示。
(4)
記錄中每個單詞生成的概率如公式(5)所示。
(5)
其中,P(ri)已知,P(θt|ri)和P(wj|θt)未知,要估計的為參數(shù)φ。
φ=(P(wj|θt),P(θt|ri))
(6)
LDA模型在生成記錄時,首先按照先驗概率P(rm)選擇一個記錄rm,從Dirichlet分布α中取樣生成記錄rm的主題分布φm;再從主題分布φm中生成記錄rm的第n個單詞的主題θm,n,從Dirichlet分布β中取樣生成主題對應(yīng)的單詞分布ηθm,n,最終生成單詞wm,n。
多語義融合向量模型融合了側(cè)重上下文無關(guān)語義的FastText模型、側(cè)重上下文相關(guān)語義的BERT模型和側(cè)重主題語義的LDA模型,多語義融合向量模型如圖3所示。
圖3 多語義融合向量模型
假設(shè)記錄r和r′的原始文本形式為:
(7)
(8)
公式(7)和(8)中的m和n分別表示2個記錄的長度,對于輸入的原始文本,首先使用3種向量模型將單詞映射成向量,映射過程簡寫如下:
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
其中,⊕為向量的拼接;er、er′分別為記錄r和r′的記錄向量。FastText上下文無關(guān)語義記錄向量的維度為200,BERT上下文相關(guān)語義向量維度為768,LDA主題向量維度為5,3種向量拼接后的維度為973。er和er′組合成一個記錄向量對
為了保證條件一致,本文采用相同的分類模型,將單語義模型形成的記錄向量與多語義融合模型形成的記錄向量分別作為輸入,傳入分類模型進行重復(fù)檢測。本文先將用于比較的2個向量進行橫向拼接,然后使用卷積神經(jīng)網(wǎng)絡(luò)對拼接好的向量提取特征,再對提取的特征向量進行分類。分類模型設(shè)計如圖4所示。
圖4 分類模型
將記錄r和r′表示成記錄向量對
Frr′=CNN(RCV)
(17)
其中,Frr′為向量經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)提取后,得到的特征向量;CNN為卷積神經(jīng)網(wǎng)絡(luò)算法。經(jīng)過全連接層輸出預(yù)測值,若預(yù)測值大于等于0.5,則將其劃分為重復(fù)記錄對,否則為不重復(fù)記錄對。
為了展現(xiàn)本模型的優(yōu)勢,本文在“船運在線”App上收集船舶數(shù)據(jù)5萬條進行試驗檢測,并針對其中部分數(shù)據(jù),隨機構(gòu)造出其相似重復(fù)記錄,包括信息缺失、拼寫錯誤等不同形式。數(shù)據(jù)包括船名、船舶類型、imo number、船旗、建造日期、載重量6種屬性。
模型使用TensorFlow實現(xiàn)船舶重復(fù)記錄檢測模型;所有實驗均使用Adam優(yōu)化器;FastText的維度為200,BERT的維度為768,LDA的主題分布維度為5;3個卷積層的卷積核個數(shù)分別為128、64、32,大小都為5,步長都為1,使用Relu激活函數(shù),全連接層的神經(jīng)元個數(shù)為100。
本實驗使用Ananthakrishna等[6]提出的經(jīng)典評價標(biāo)準(zhǔn):查準(zhǔn)率(Precision,P)、查全率(Recall,R)和F1,分別見公式(18)、公式(19)和公式(20)。為了便于與其他研究者提供的模型進行比較,本文實驗部分僅提供了查準(zhǔn)率和查全率的F1值。
(18)
(19)
(20)
其中,TP為預(yù)測重復(fù)并且實際也重復(fù)的記錄對數(shù)量;FP為預(yù)測重復(fù)但是實際沒有重復(fù)的記錄對數(shù)量;FN為預(yù)測不重復(fù)但是實際重復(fù)的記錄對數(shù)量;TN為預(yù)測不重復(fù)并且實際也不重復(fù)的記錄對數(shù)量。
實驗僅改變記錄向量構(gòu)造模型,固定其他實驗選項內(nèi)容進行實驗,得出的F1值如圖5所示。
圖5 實驗結(jié)果
圖5展示出多語義融合向量模型的優(yōu)勢,多語義融合模型得出的F1值為98.6%,高于FastText、BERT和LDA 3個模型單獨使用得到的F1值。多語義融合向量包含的信息更加全面。該模型的實驗結(jié)果均高于其他單個獨立模型。
本文針對信息化時代船舶領(lǐng)域數(shù)據(jù)混雜的情況,基于深度學(xué)習(xí),從多語義角度出發(fā),融合側(cè)重上下文無關(guān)語義向量的FastText模型、側(cè)重上下文相關(guān)領(lǐng)域的BERT模型以及側(cè)重主題領(lǐng)域的LDA模型,搭建多語義融合的船舶數(shù)據(jù)向量模型。通過相同分類器進行重復(fù)檢測,實驗表明,融合后的向量模型檢測率均高于單個獨立模型,能夠有效提升重復(fù)檢測準(zhǔn)確率,提高船舶數(shù)據(jù)清洗效率。