王建兵,楊 超,劉方方,黃 暕,項 勇
(安徽港口物流有限公司,安徽 銅陵 244000)
近年來,物流業(yè)運營模式逐漸從外包型向綜合型轉(zhuǎn)變,信息系統(tǒng)在物流企業(yè)的運營管理中扮演了關(guān)鍵角色。作為物流信息系統(tǒng)的中樞神經(jīng),訂單子系統(tǒng)在提升企業(yè)運營效率、改善客戶服務(wù)質(zhì)量等方面發(fā)揮了積極作用[1]。個性化物流服務(wù)對訂單操作流程提出了更高要求,物流企業(yè)亟需提高差異化訂單的處理效率。通常而言,大型物流企業(yè)每天要受理成千上萬個訂單。對于每一個物流訂單,客服人員需要根據(jù)不同的起運地、目的地、貨物清單、服務(wù)要求等信息對訂單進行拆解與分類,工作量巨大且容易出錯[2]。依靠人工處理海量差異化訂單,難以達到現(xiàn)代物流服務(wù)的效率標(biāo)準(zhǔn)。因此,研究智能化物流訂單分類對于降低物流服務(wù)周期、提升客戶滿意度具有重要意義。物流供應(yīng)鏈服務(wù)一般包括公路運輸、水路運輸、多式聯(lián)運等業(yè)務(wù)類型,而多式聯(lián)運業(yè)務(wù)又包括公水、鐵水、公鐵等類型[3]??蛻敉ㄟ^物流平臺提供的微信小程序以文本形式提交一站式委托訂單,平臺客服首先對訂單文本進行分解,然后結(jié)合歷史訂單路線、最優(yōu)路線完成物流訂單分類,最后根據(jù)訂單類型分撥到對應(yīng)的業(yè)務(wù)系統(tǒng)以完成服務(wù)受理。為高效完成訂單分類,平臺客服不但需要對客戶委托有深入的理解,還需要熟悉各種物流業(yè)務(wù)類型。然而,平臺客服往往缺乏系統(tǒng)的業(yè)務(wù)培訓(xùn),使得物流訂單分類往往存在錯誤,造成了不必要的二次分撥。
支持向量機、決策樹、樸素貝葉斯等機器學(xué)習(xí)方法能夠完成工單分類,但特征的分析和選擇使得特征工程較為復(fù)雜,可能會出現(xiàn)入模特征和指定任務(wù)不相關(guān)的情況[4]。RoBERTa預(yù)訓(xùn)練語言模型在文本特征的特征提取方面具有較好的優(yōu)勢,可以有效地提取文本的上下文信息,從而實現(xiàn)中文文本語義的向量化表示[5]。然而RoBERTa模型對于長文本處理能力較弱,而基于圖結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型,如圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Convolutional Network,GCN),可以根據(jù)文本圖有效提取文本的全局和局部圖特征[6]。為了克服人工分類效率低下且容易出錯的問題,該文提出了一種基于GCN和RoBERTa模型的物流訂單分類方法。該方法使用抽象語義表示(Abstract Meaning Representation,AMR)解析訂單文本的每個句子,獲取輸入文本多個AMR圖以形成局部AMR圖;根據(jù)輸入文本的關(guān)鍵詞以及AMR圖的根節(jié)點構(gòu)建全局AMR圖,并使用GCN網(wǎng)絡(luò)和堆疊GCN(stacked-GCN)網(wǎng)絡(luò)來提取全局和局部AMR圖的特征;通過RoBERTa模型提取訂單文本語義特征,最終通過融合特征來完成物流訂單分類。
文獻[7]提出了一種基于ResNet-BiLSTM的電力客服工單分類模型,該模型利用殘差網(wǎng)絡(luò)學(xué)習(xí)句內(nèi)的細節(jié)特征,再通過BiLSTM學(xué)習(xí)句間的上下文關(guān)聯(lián)信息,最終得到工單的類別預(yù)測結(jié)果。文獻[8]提出了一種基于事件提取的政務(wù)熱線工單分類方法,該方法通過由CNN-BiGRU-Self-Attention定義的特征提取層獲取工單文本的局部特征和全局特征完成工單分類。文獻[9]提出一種基于矩陣分解和注意力的多任務(wù)學(xué)習(xí)方法,實現(xiàn)了運營商客服快速準(zhǔn)確地對多層級的投訴工單文本進行分類。文獻[10]使用word2vec模型對銀行工單文本進行詞嵌入化表示,使用深度學(xué)習(xí)下的TextCNN模型進行文本分類和工單判定。文獻[11]利用TF-IDF方法對經(jīng)過word2vec模型處理后的詞嵌入向量進行加權(quán),在TextCNN模型中進行訓(xùn)練后利用分類器自動完成銀行工單類型判斷。
文獻[12]針對在線知識社區(qū)中回答者用戶之間的協(xié)作行為,通過構(gòu)建基于圖卷積神經(jīng)網(wǎng)絡(luò)的鏈接預(yù)測模型,對在線知識社區(qū)中回答者用戶的協(xié)作行為進行預(yù)測。文獻[13]根據(jù)交互歷史構(gòu)建讀者-圖書二部圖,搭建圖卷積神經(jīng)網(wǎng)絡(luò),通過連續(xù)的卷積層捕獲二部圖的高階連通性來得到讀者的鄰域偏好信息以實現(xiàn)圖書推薦方法。文獻[14]提出了一種基于圖卷積網(wǎng)絡(luò)的專利摘要自動生成方法,旨在通過專利的權(quán)利要求書及其結(jié)構(gòu)信息來生成專利摘要。文獻[15]提出了一種具有替代訓(xùn)練算法的自調(diào)優(yōu)GCN方法,實現(xiàn)通過超參數(shù)優(yōu)化來自動化訓(xùn)練GCN模型,從而可以通過自動選擇參數(shù)的方式來緩解傳統(tǒng)的GCN模型存在過擬合和過平滑的問題。文獻[16]通過預(yù)訓(xùn)練語言模型生成全文句子之間的注意力矩陣,并將其作為文本全連通圖的加權(quán)鄰接矩陣,將GCN應(yīng)用于文本圖對每個節(jié)點進行分類,從而在文本中找出突出句子,最終生成文本摘要。
文獻[17]針對中文任務(wù)對RoBERTa模型進行了改進,使用了針對中文的Whole Word Masking(WWM)訓(xùn)練策略,在不改變其他訓(xùn)練策略的基礎(chǔ)上,提升了RoBERTa模型在中文任務(wù)上的實驗效果。文獻[18]將多目標(biāo)類別情感分析轉(zhuǎn)換為多個子任務(wù),使用RoBERTa模型從文本和目標(biāo)短語中提取特征信息,并利用交叉注意力機制找出與給定目標(biāo)類別最相關(guān)的特征。文獻[19]提出一種民間文學(xué)文本預(yù)訓(xùn)練模型MythBERT,并與BERT、BERT-WWM和RoBERTa等主流中文預(yù)訓(xùn)練模型在情感分析、語義相似度、命名實體識別和問答四個自然語言處理任務(wù)上進行比較。文獻[20]使用RoBERTa訓(xùn)練出荷蘭語言模型RobBERT,實驗結(jié)果表明在一系列荷蘭語自然語言處理任務(wù)上RobBERT語言模型的性能要超越其他語言模型的性能,尤其在小數(shù)據(jù)集上表現(xiàn)地更為突出。文獻[21]在情感識別方面比較了BERT、RoBERTa、XLNet等主流預(yù)訓(xùn)練語言模型,研究發(fā)現(xiàn)采用預(yù)訓(xùn)練語言模型學(xué)習(xí)到的詞向量相比以往模型能夠獲得更多的上下文語義信息。
該文提出的物流訂單分類模型主要由基于全局AMR圖的GCN特征提取層、基于局部AMR圖的堆疊GCN特征提取層、基于RoBERTa語言模型的語義編碼層和訂單分類層構(gòu)成,如圖1所示。對于給定的物流訂單文本,首先采用全局AMR算法構(gòu)建全局AMR圖,并使用GCN網(wǎng)絡(luò)對全局AMR圖的節(jié)點進行特征提取,獲取文本的全局AMR圖表示向量;其次,采用局部AMR算法構(gòu)建多個AMR圖,然后使用堆疊GCN網(wǎng)絡(luò)提取多個AMR圖的特征,并進行融合得到文本局部AMR圖表示向量;再次,使用RoBERTa預(yù)訓(xùn)練語言模型提取訂單文本的上下文語義特征,得到訂單文本語義表示向量;最后,融合三種類型的文本表示向量,并使用全連接網(wǎng)絡(luò)(Full Connection,FC)結(jié)合sigmoid函數(shù)完成訂單分類。
圖1 模型結(jié)構(gòu)
從物流訂單文本中提取特征信息的一個關(guān)鍵環(huán)節(jié)是捕捉句內(nèi)和句間的特征。對于句子之間的相關(guān)特征,該文采用全局AMR算法處理物流訂單文本生成該文本的全局AMR圖,然后使用GCN網(wǎng)絡(luò)來編碼全局AMR圖,以此得到訂單文本句子之間的相關(guān)特征和訂單文本的主題特征。
2.1.1 全局AMR圖構(gòu)建
AMR是一種全新的領(lǐng)域無關(guān)的句子語義表示方法,它將一個句子的語義抽象為一個單根有向無環(huán)圖[22]。圖2給出了一個句子“訂單發(fā)貨地點是銅陵市港口物流公司”的AMR圖表示的示例,一個自然的句子可以通過AMR解析器被解析成一個AMR圖G=(V,E)。V表示句子中的實詞抽象的概念節(jié)點,而邊代表一個特定的實詞之間的關(guān)系(抽象為帶有語義關(guān)系標(biāo)簽的有向邊,且忽略虛詞和形態(tài)變化體現(xiàn)較虛的語義)。因此,AMR側(cè)重于語義關(guān)系而不是語法的, 這種表示方式更有利于理解物流訂單,且這種結(jié)構(gòu)更接近訂單的“觸發(fā)詞和角色參數(shù)(trigger-arguments)”結(jié)構(gòu)。
圖2 AMR圖示例
由于物流訂單文本存在長短不一問題,且訂單文本中的一些句子與訂單主題并不相關(guān)。因此,該文提取訂單文本的關(guān)鍵字以及AMR的根節(jié)點作為全局AMR圖的串聯(lián)節(jié)點,構(gòu)建全局關(guān)系圖,這樣可以提取訂單的主題信息和訂單文本句子之間的關(guān)聯(lián)關(guān)系。句間文本圖的構(gòu)建過程如下:
Step1 對訂單文本進行分句處理得到n個句子,使用哈工大NLP工具包中關(guān)鍵詞提取算法提取訂單文本每個句子的關(guān)鍵詞,得到n個句子的關(guān)鍵詞集合{Ki};
Step2 對訂單文本的n個句子進行分詞處理,使用AMR算法將訂單文本的每個句子抽象成n個AMR圖;
Step3 對n個句子的AMR根節(jié)點進行對比,同樣語義的根節(jié)點進行融合;
Step4 對n個句子的關(guān)鍵詞集合{Ki}進行分析處理,不同句子之間存在相同語義的關(guān)鍵詞進行融合;
Step5 根據(jù)n個句子的融合結(jié)果構(gòu)建AMR全局圖。
2.1.2 GCN特征提取
在GCN特征提取前,需要對構(gòu)建的物流訂單文本關(guān)系圖進行節(jié)點編碼。對于給定的物流訂單文本T,節(jié)點編碼首先需要對其進行分詞,獲取訂單文本的分詞序列Tq,然后使用詞嵌入的方式對序列Tq進行編碼,獲取編碼序列Eq:
em=λ1ξm+λ2pm
(1)
(2)
(3)
(4)
(5)
其中,W(0)是輸入層到隱藏層的權(quán)重矩陣,W(1)是隱藏層到輸出層的權(quán)重矩陣。
如圖3所示,對于句子內(nèi)部的相關(guān)特征,該文采用局部AMR算法處理物流訂單文本生成局部AMR圖,然后使用多層堆疊GCN網(wǎng)絡(luò)來編碼局部AMR圖,并對編碼結(jié)果進行融合,以得到訂單文本句子內(nèi)部的相關(guān)特征的融合結(jié)果。
圖3 基于局部AMR圖的堆疊GCN特征提取
2.2.1 局部AMR圖構(gòu)建
由于訂單文本中的各句子對訂單分類結(jié)果的重要程度不一樣,且存在某些句子與訂單類型的關(guān)聯(lián)性不強(如收貨聯(lián)系人信息),因此,該文使用AMR算法對訂單文本的每個句子進行處理,得到多個句子的AMR圖。具體步驟如下:
Step1 對訂單文本進行分句處理,得到n個句子;
Step2對n個句子分別使用AMR算法進行處理得到n個AMR圖;
Step3將n個AMR圖構(gòu)成的集合形成訂單文本的局部AMR圖。
2.2.2 堆疊GCN融合網(wǎng)絡(luò)
(6)
(7)
(8)
RoBERTa模型是基于BERT的改進模型,相較于BERT,它擁有更大的模型參數(shù)、更大的batch size、更大規(guī)模的訓(xùn)練數(shù)據(jù),同時刪除了下一個句子預(yù)測(NSP)任務(wù)。這使得RoBERTa語言模型能夠比BERT更好地應(yīng)用到下游任務(wù),取得更好的模型效果。
圖4 RoBERTa特征提取
(9)
其中,ω1,ω2,ω3是融合參數(shù),滿足ω1+ω2+ω3=1。將Vconcat輸入分類器中完成訂單的多標(biāo)簽分類:
p=sigmoid(WVconcat+b)
(10)
其中,W和b是可學(xué)習(xí)參數(shù),p是各類別的分類預(yù)測概率。使用多標(biāo)簽分類的交叉熵作為訓(xùn)練損失函數(shù):
(11)
該文使用基于CUDA 11.0的深度學(xué)習(xí)框架pytorch 1.7.1構(gòu)建網(wǎng)絡(luò)模型,實驗平臺為內(nèi)存64G,顯存24G的Ubuntu 18.04 LTS系統(tǒng)。
該文提出的物流訂單分類模型訓(xùn)練流程如圖5所示。
圖5 模型訓(xùn)練過程
首先,通過對歷史物流訂單文本進行分詞、分句處理、去除停用詞以及提取關(guān)鍵詞后,結(jié)合歷史物流訂單的處理結(jié)果構(gòu)建物流訂單數(shù)據(jù)集。然后,將數(shù)據(jù)集按一定比例劃分為訓(xùn)練集、驗證集和測試集,其中訓(xùn)練集用于模型訓(xùn)練,驗證集通過不斷迭代更新模型性能,測試集用來評估模型性能。最后,使用訓(xùn)練好的模型進行物流訂單類型預(yù)測。
從2017年1月1日-2021年12月31日期間安徽港口物流有限公司歷史物流訂單中挑選了30 000條訂單構(gòu)建了實驗數(shù)據(jù)集,如表1所示。數(shù)據(jù)集包含訂單文本數(shù)據(jù)和對應(yīng)的訂單類型,其中訂單文本是客戶物流委托內(nèi)容,訂單類型是由客服根據(jù)訂單文本標(biāo)注所得。同時,對30 000條訂單文本進行了統(tǒng)計分析,這些物流訂單文本長度均值為276個字。
表1 數(shù)據(jù)集描述
在整體網(wǎng)絡(luò)訓(xùn)練過程中,文中模型的超參數(shù)如表2所示。
表2 超參數(shù)設(shè)置
該文采用精確率(Precision)、召回率(Recall)、F1值、準(zhǔn)確率(Accuracy)以及漢明損失(HammingLoss)作為物流訂單分類性能的評價指標(biāo)。為了驗證文中物流訂單分類方法的性能,與多種基線方法進行了對比。
· TextCNN[24]:使用預(yù)訓(xùn)練詞向量來編碼輸入文本,然后采用卷積神經(jīng)網(wǎng)絡(luò)提取訂單文本的嵌入向量來獲取輸入文本的特征,最終采用全連接網(wǎng)絡(luò)結(jié)合sigmoid函數(shù)完成訂單分類。
· HAN[25]:使用基于詞級別的BiGRU+Attention和句子級別的BiGRU+Attention模型來提取訂單文本多層次語義特征,然后采用sigmoid函數(shù)完成訂單分類。
· TextGCN[26]:首先基于詞共現(xiàn)和文檔詞關(guān)系構(gòu)建語料庫的文本圖,然后使用one-hot編碼對構(gòu)建的文本圖進行編碼,最終采用GCN網(wǎng)絡(luò)提取編碼后的文本圖完成訂單分類。
· XLNet[27]:使用哈工大訊飛聯(lián)合實驗室訓(xùn)練的中文XLNet預(yù)訓(xùn)練語言模型(chinese-xlnet-base)提取訂單文本特征,進行fine-tuning后應(yīng)用訂單分類任務(wù)。
· RoBERTa[17]:使用哈工大訊飛聯(lián)合實驗室訓(xùn)練的中文RoBERTa預(yù)訓(xùn)練語言模型(chinese-roberta-wwm-ext)提取輸入文本特征,進行fine-tuning后應(yīng)用到訂單分類任務(wù)。
· BERT-GCN[28]:基于詞節(jié)點與文檔節(jié)點構(gòu)建異質(zhì)圖,采用BERT預(yù)訓(xùn)練模型初始化文檔節(jié)點,聯(lián)合訓(xùn)練BERT模塊和GCN模塊完成訂單分類。
基線對比實驗結(jié)果如表3所示。從表中可以看出,該文提出的物流訂單分類方法在各項指標(biāo)上均優(yōu)于其他基線模型。值得注意的是,TextCNN使用傳統(tǒng)的CNN網(wǎng)絡(luò)提取文本特征并進行分類,效果不佳,這是因為CNN網(wǎng)絡(luò)僅僅能提取文本的局部特征,從而無法獲取文本上下文信息。HAN由于是用雙向GRU并結(jié)合Attention機制提取上下文語義信息,但是缺乏對文本局部特征的提取同時對于長句的特征提取能力也較差,因此僅取得了比TextCNN好的效果。對于XLNet和RoBERTa模型,可以有效提取訂單文本的特征信息,因此取得了較好的效果。TextGCN使用GCN對文本圖進行編碼,可以有效地獲取文本的句法結(jié)構(gòu)信息,更好地解決文本長度問題,然而它對文本上下文信息的提取能力較差。而BERT-GCN由于加入了BERT模塊,從而達到了更優(yōu)的效果。由于RoBERTa模型在預(yù)訓(xùn)練階段充分利用大規(guī)模無標(biāo)注數(shù)據(jù),可以更好地掌握通用語言能力,在絕大多數(shù)任務(wù)上都能表現(xiàn)出超越傳統(tǒng)模型對文本上下文語義的提取效果,并且對于長短不一的文本可以使用GCN網(wǎng)絡(luò)來提取文本的主題特征,因此該文提出的基于多種層次的圖結(jié)構(gòu)的訂單分類方法擁有更好的性能。
表3 基線對比結(jié)果
為了說明物流訂單分類模型各模塊的有效性,進行了消融實驗:
①移除基于全局AMR圖的GCN特征提取層,僅使用剩余兩個模塊的特征表示向量,其他部分保持不變。
②移除基于局部AMR圖的堆疊GCN特征提取層,僅使用剩余兩個模塊的特征表示向量,其他部分保持不變。
③移除基于RoBERTa模型的語義編碼層,僅使用剩余兩個模塊的特征表示向量,其他部分保持不變。
物流訂單分類模型各模塊的消融實驗結(jié)果如表4所示??梢钥闯?該文提出的分類模型各項評價指標(biāo)均優(yōu)于①、②和③(文中模型>②>①>③)。③效果最差,說明了RoBERTa模型在訂單文本特征提取方面有較大貢獻,因而可以取得較好的效果。由②>①可知,基于全局AMR圖的GCN特征提取層比基于局部AMR圖的堆疊GCN特征提取層對訂單文本特征提取的效果更好。由此可見,文中模型的各個模塊均可以有效提高物流訂單分類的性能。
表4 消融實驗結(jié)果
該文提出了一種基于圖卷積神經(jīng)網(wǎng)絡(luò)和RoBERTa語言模型的物流訂單分類方法。該方法通過提取訂單文本的全局圖、局部圖以及文本語義的融合特征來實現(xiàn)物流訂單分類。首先,基于全局AMR算法結(jié)合文本關(guān)鍵詞構(gòu)建全局AMR圖,并使用GCN對提取全局AMR圖的結(jié)構(gòu)特征,獲取訂單文本的全局AMR圖表示向量。其次,基于局部AMR算法處理訂單文本分句,以生成局部AMR圖集合,使用stacked-GCN處理局部AMR圖集合,獲取的局部AMR圖表示向量集,并將向量集進行融合得到訂單文本的局部AMR圖表示向量。再次,使用RoBERTa模型提取訂單文本的上下文語義特征,得到訂單文本的語義表示向量。最后,融合三種類型的訂單文本表示向量,并使用全連接網(wǎng)絡(luò)結(jié)合sigmoid函數(shù)完成訂單分類。由于采用了RoBERTa模型作為物流訂單文本的上下文語義特征提取模型,對于長文本會進行截斷,從而丟失語義信息,可能會導(dǎo)致錯誤的訂單分類。未來,將進一步研究如何降低RoBERTa模型對物流訂單文本截斷所帶來的性能影響。