許重建,李險峰
(北京大學(xué)深圳研究生院,深圳518000)
隨著經(jīng)濟(jì)的快速發(fā)展,我國已成為世界第一大出口國,外貿(mào)經(jīng)濟(jì)已成為我國經(jīng)濟(jì)的重要組成部分,出口貿(mào)易過程中關(guān)務(wù)業(yè)務(wù)非常專業(yè)而且復(fù)雜,其中HS Code(The Harmonization System Code,商品名稱及編碼協(xié)調(diào)制度)[1]是由國際海關(guān)理事會制定一種國際通用的進(jìn)出口商品歸類體系,是對各種不同產(chǎn)品出入境應(yīng)征/應(yīng)退關(guān)稅稅率進(jìn)行量化管理的制度。HS Code 編碼體系共有22 大類98 章,國際通用的HS 編碼由2 位碼、4 位碼及6 位碼組成,其中2 位碼對應(yīng)“章(Chapter)”,4 位碼對應(yīng)“目(Heading)”,6 位碼對應(yīng)“子目(Subheading)”,6 位碼以上的編碼及對應(yīng)商品由各國自己定義。目前中國使用的是10 位HS Code 編碼體系,大概有11302 個10 位的HS Code,每一個HS Code 有對應(yīng)相關(guān)的商品描述,報(bào)考成分含量、用途、制備,等等,HS Code 編碼體系中多處使用了兜底設(shè)計(jì),例如將每一個“子目”的最后一行定義為“其他”(編碼常用數(shù)字9 來表示),包含了所有在本“子目”中難以分類的商品,以保證HS Code 編碼體系的完整性和涵蓋面。正是這種“兜底式”的設(shè)計(jì)體系,導(dǎo)致了用算法來解決HS Code產(chǎn)品歸類的復(fù)雜度和技術(shù)難度陡然增加。圖1 是海關(guān)“第2 類-植物產(chǎn)品,第10 章-谷物”的部分商品HS Code 編碼示例。
由于貿(mào)易過程中涉及的關(guān)務(wù)、稅務(wù)、外匯、物流等業(yè)務(wù)專業(yè)性很強(qiáng),所以出現(xiàn)了很多外貿(mào)綜合服務(wù)平臺專門為外貿(mào)公司提供這類專業(yè)復(fù)雜的出口貿(mào)易業(yè)務(wù)服務(wù),讓出口企業(yè)專注于自己的主營業(yè)務(wù)。HS Code 編碼的復(fù)雜性導(dǎo)致其歸類、查詢和確認(rèn)需要很多的人力工作量和專業(yè)的業(yè)務(wù)知識,并且很容易出錯,成為當(dāng)前影響國際貿(mào)易貨物通關(guān)效率的重要因素之一。作為一個外貿(mào)綜合服務(wù)平臺,HS Code 產(chǎn)品歸類是國際貿(mào)易的基礎(chǔ)設(shè)施,如何進(jìn)行無國別的商品歸類顯得非常重要,如何提高HS Code 產(chǎn)品歸類的準(zhǔn)確率和泛化能力成為了亟需解決的問題。
HS Code 產(chǎn)品歸類本質(zhì)上屬于文本分類問題,文本分類問題是自然語言處理領(lǐng)域中一個非常經(jīng)典的問題,比較著名的自動文本分類方法主要有Bayes[2]、KNN[3]、LLSF[4]、NNet[5]、Boosting[6]、SVM[7]、最大熵模型等,卡內(nèi)基梅隆大學(xué)的Yang[2-8]使用英文標(biāo)準(zhǔn)分類語料,對常用的多種分類方法進(jìn)行比較客觀的比較后得出的結(jié)論是KNN 和SVM 較其他方法有更高的分類準(zhǔn)確性和穩(wěn)定性。但是,KNN 方法會隨著文檔數(shù)的增加效率迅速下降;SVM 方法本質(zhì)上是一種兩類分類器,對多類分類支持不好,而且分類器訓(xùn)練時間比較長。文獻(xiàn)[9]的實(shí)驗(yàn)表明最大熵模型方法優(yōu)于Bayes 方法,與KNN 方法和SVM 方法效率不相上下,但其穩(wěn)定性較KNN弱。近幾年深度學(xué)習(xí)無論在圖片[10]還是NLP(Natural Language Processing)[11]領(lǐng)域都有質(zhì)的突破,因此我們嘗試使用深度學(xué)習(xí)的方法來進(jìn)行HS Code 產(chǎn)品自動歸類。首先我們對HS Code 領(lǐng)域數(shù)據(jù)特征進(jìn)行分析,然后設(shè)計(jì)并建立相關(guān)的數(shù)據(jù)處理模型,接著在某外綜服務(wù)平臺上進(jìn)行驗(yàn)證,實(shí)驗(yàn)結(jié)果證明這種方法效率很高并且穩(wěn)定。為了對基于深度學(xué)習(xí)的HS Code 產(chǎn)品自動歸類技術(shù)和其他文本分類方法進(jìn)行比較,我們同時使用最大熵模型進(jìn)行HS Code 產(chǎn)品自動歸類預(yù)測,并比較了兩種方法的測試數(shù)據(jù),實(shí)驗(yàn)結(jié)果表明基于深度學(xué)習(xí)的分類方法要優(yōu)于最大熵模型分類方法。
本節(jié)我們首先將分析HS Code 編碼使用的業(yè)務(wù)場景和領(lǐng)域數(shù)據(jù)特點(diǎn),接著分析數(shù)據(jù)處理,然后針對這些業(yè)務(wù)場景和特點(diǎn)進(jìn)行算法設(shè)計(jì),算法設(shè)計(jì)包括總體框架設(shè)計(jì)和詳細(xì)設(shè)計(jì)。
在外綜服關(guān)務(wù)板塊中,商品HS Code 歸類是外貿(mào)業(yè)務(wù)中最基礎(chǔ)、技術(shù)性最強(qiáng)的工作。外綜服平臺基于海關(guān)標(biāo)準(zhǔn)對商品進(jìn)行HS Code 歸類及知識產(chǎn)權(quán)審核,HS Code 直接關(guān)系到報(bào)關(guān)、商檢、退稅、反傾銷等多方面的要求,歸類的準(zhǔn)確性直接影響到通關(guān)順利與否。正是HS Code 歸類在通關(guān)過程中具有確定匯率、確定監(jiān)管條件等關(guān)鍵作用,導(dǎo)致了HS Code 需要嚴(yán)格的準(zhǔn)確率,這也是和其他業(yè)務(wù)場景產(chǎn)品歸類最大不同的地方。同時,HS Code 的領(lǐng)域數(shù)據(jù)有自己非常獨(dú)特的地方,HS Code 的文本標(biāo)簽數(shù)據(jù)是由品名和申報(bào)要素?zé)o序拼裝在一起的,這和其他有特定上下文時序信息的文本數(shù)據(jù)在選擇算法上將會有非常大的不同。HS Code的文本標(biāo)簽示例數(shù)據(jù)如圖2 所示。
圖2 HS Code文本標(biāo)簽數(shù)據(jù)示例
通過分析,我們歸納HS Code 領(lǐng)域數(shù)據(jù)主要有以下四個特點(diǎn):
(1)HS Code 的領(lǐng)域數(shù)據(jù)是由品名和申報(bào)要素?zé)o序拼裝起來的,文本沒有上下文時序信息。
(2)HS Code 的領(lǐng)域數(shù)據(jù)即使產(chǎn)品名稱相同,但如果材料、成分或用途不同,那么其歸屬的HS Code 也會不一樣。
(3)HS Code 的領(lǐng)域數(shù)據(jù)大量涉及其他,除非等語義推理歸類,如9405990000:稅則上解釋是品目9405所列物品其他材料制零件;9401790000:稅則上解釋是其他金屬框架的坐具。這類badcase 的優(yōu)化涉及到知識推理,本體邏輯推理,等等。
(4)HS Code 的領(lǐng)域數(shù)據(jù)同時有非常多的涉及到范圍推理或者成分推理,如8536901100:稅則上解釋是工作電壓不超過36 伏的接插件。
(1)總體設(shè)計(jì)
通過對HS Code 領(lǐng)域數(shù)據(jù)特點(diǎn)分析,我們設(shè)計(jì)了基于文本深度學(xué)習(xí)的HS Code 產(chǎn)品歸類模型,模型總體框架和詳細(xì)的數(shù)據(jù)處理流程分別如上圖3 和圖4 所示,用戶輸入品名和一段產(chǎn)品描述,HS Code 產(chǎn)品歸類模型將會計(jì)算預(yù)測出文本對應(yīng)的top-5 HS Code。HS Code 產(chǎn)品歸類模型主要包括層級分類器模型和詞向量模型兩部分,其中層級分類器模型又分第一層章節(jié)分類模型和第二層10 位HS Code 分類模型,用戶輸入首先通過第一層章節(jié)分類模型處理后再輸出給第二層10位HS Code 分類模型處理,然后再輸出粗排HS Code候選集合;詞向量模型的輸入則來自某外綜服平臺的標(biāo)簽數(shù)據(jù)和稅則標(biāo)簽數(shù)據(jù),以及一些外部數(shù)據(jù),訓(xùn)練之后再進(jìn)行K-means 聚類分析,然后再結(jié)合層級分類器模型輸出的粗排HS Code 候選集進(jìn)行細(xì)排語義匹配和語義推理,最后才輸出HS Code 預(yù)測結(jié)果。
圖3 HS Code產(chǎn)品歸類文本深度NLP總體算法框架
圖4 算法數(shù)據(jù)處理流程圖
(2)訓(xùn)練語料構(gòu)建
語料對算法的重要性,就像汽油對汽車的重要性是一樣的,是算法的引擎動力。HS Code 的語料既有來自監(jiān)督(已打標(biāo)簽的)的某外綜服平臺歷史通關(guān)數(shù)據(jù)、稅則數(shù)據(jù),又有來自無監(jiān)督的維基百科中文數(shù)據(jù)、1688平臺商品品名、類目屬性數(shù)據(jù)。無監(jiān)督數(shù)據(jù)主要用來訓(xùn)練詞向量,提高詞向量模型的泛化能力。
(3)分詞
在文本NLP 中,詞是最小的能夠獨(dú)立活動的有意義的語言成分,因此分詞是開展文本NLP 的最基礎(chǔ)一環(huán),在HS Code 文本NLP 中使用的是jieba 分詞[12]。jieba 分詞算法使用了基于前綴詞典實(shí)現(xiàn)高效的詞圖掃描,生成句子中漢字所有可能生成詞情況所構(gòu)成的有向無環(huán)圖(Directed Acyclic Graph,DAG),再采用動態(tài)規(guī)劃查找最大概率路徑,找出基于詞頻的最大切分組合,對于未登錄詞,采用了基于漢字成詞能力的HMM模型[13-14],使用了Viterbi 算法[15]。在使用jieba 分詞時,定制了該外綜服平臺的專用品名詞典和基于jieba 上定制該外綜服平臺外貿(mào)特有的分詞庫,這樣在分詞時,可以有效地突出該外綜服平臺專用品名的切詞效果。同時,jieba 分詞算法會加載定制的品名字典、停用詞字典、申報(bào)要素字典、正則表達(dá)式字典,等等。定制后的jieba 分詞運(yùn)行效果如表1 所示,其中無線燃?xì)馓綔y器由于是外貿(mào)專業(yè)領(lǐng)域品名,會保留專業(yè)品名不被分詞,從而保證專業(yè)品名的語義完整性。
表1 jieba 分詞效果
(4)詞向量
詞向量是一種把詞處理成向量的技術(shù)[16],并且保證向量間的相對相似度和語義相似度是相關(guān)的。這個技術(shù)是在無監(jiān)督學(xué)習(xí)[17]方面最成功的應(yīng)用之一。傳統(tǒng)上,自然語言處理(NLP)系統(tǒng)把詞編碼成字符串,這種方式是隨意確定的,且對于獲取詞之間可能存在的關(guān)系并沒有提供有用的信息。Word2Vec[18]詞向量本質(zhì)是一種神經(jīng)概率語言模型,詞的表示是向量形式、面向語義的。兩個語義相似的詞對應(yīng)的向量也是相似的,具體反映在夾角cosine 或距離上。甚至一些語義相似的二元詞組中的詞語對應(yīng)的向量做線性減法之后得到的向量依然是相似的。詞的向量表示可以顯著提高傳統(tǒng)自然語言處理任務(wù)的性能。Word2Vec 主要提供了CBOW[19]和Skip-Gram[20]兩種模型。在HS Code 文本NLP 場景中,詞向量訓(xùn)練采用的是CBOW 模型如圖5所示。
圖5 CBOW模型
CBOW 模型采取的策略是根據(jù)上下文的詞語預(yù)測當(dāng)前詞語的出現(xiàn)概率的模型。在CBOW 模型的訓(xùn)練中,采用了負(fù)采樣(Negative Sampling)[21]的訓(xùn)練方式,負(fù)采樣的思想是每次訓(xùn)練只隨機(jī)取一小部分的負(fù)例使它們的概率最小,以及對應(yīng)的正例概率最大。對負(fù)例進(jìn)行抽樣需要先定義一個噪音分布(Noise Distribution),然后再依據(jù)概率分布進(jìn)行帶權(quán)隨機(jī)抽樣。在Word2Vec 的CBOW 模型中,我們使用的噪音分布是基于詞的頻次的權(quán)重分布,計(jì)算公式如下:
相比于直接使用頻次作為權(quán)重,取0.75 冪的好處可以減弱不同頻次差異過大帶來的影響,使得小頻次的單詞被采樣的概率變大。有了噪音分布以后,基于CBOW 模型的負(fù)采樣訓(xùn)練的損失函數(shù)如下:
負(fù)采樣(Negative Sampling)是一種概率采樣的方法,屬于NCE(Noise Contrastive Estimation)[22]的一種簡單形式,訓(xùn)練得到的詞向量質(zhì)量也很高,詞向量語義表達(dá)能力更強(qiáng)一些,因此相對常用一些。
(5)層級分類器
由于整個HS Code 編碼體系自身是按照2 位碼-章節(jié),4 位碼-目,6 位碼-子目,最后10 位HS Code 層次結(jié)構(gòu)進(jìn)行管理的,而且10 位的HS Code 總共大概有11302 個類別,且每個HS Code 類別的數(shù)據(jù)分布是極其不均衡的。因此直接用文本分類算法對11302 個10位HS Code 進(jìn)行一步到位的預(yù)測是非常不準(zhǔn)確的,故而采取層級分類器方案先進(jìn)行粗排。第一層分類器將一段文本正確的分類到HS Code 的前2 位(HS Code 每個章節(jié)),預(yù)測top 5 個章節(jié),第二層分類器是按照每個章節(jié)來預(yù)測top 200 個10 位HS Code。整個層級分類器的分案采用的是fastText[23]分類算法進(jìn)行預(yù)測,同時也探索使用了TextCNN[24-25]分類器算法,最后發(fā)現(xiàn)TextCNN 的分類器算法比fastText 在HS Code 歸類上效果要差很多。筆者詳細(xì)分析了為什么TextCNN 比fast-Text 在外貿(mào)HS Code 領(lǐng)域效果會這么差,最后得出的結(jié)論是領(lǐng)域數(shù)據(jù)導(dǎo)致的。TextCNN 的主要優(yōu)勢在于捕捉一段真實(shí)文本中的上下文時序語義信息,就像圖片CNN用來捕捉局部感受視野是一樣的,而HS Code 領(lǐng)域數(shù)據(jù)只是有品名和申報(bào)要素?zé)o序拼裝的,完全沒有上下文時序語義信息,所以TextCNN 方法得出的效果差。
fastText 的核心思想是將整篇文檔的詞及NGram[26]向量疊加平均得到文檔向量,然后使用文檔向量做Softmax 多分類。fastText 的模型架構(gòu)圖6 所示,由fastText 模型架構(gòu)可以看出,從hidden layer 輸出到output layer,fastText 就是一個層級的Softmax 線性多類別分類器,分類器的輸入是一個用來表征當(dāng)前文檔的向量;模型的前半部分,即從輸入層輸入到隱含層輸出部分,主要是疊加構(gòu)成這篇文檔的所有詞及N-Gram的詞向量,然后取平均來生成用來表征文檔的向量。在fastText 訓(xùn)練時,使用的損失函數(shù)如下:
在我們使用的56238 條測試數(shù)據(jù)集上,fastText 第一層章節(jié)分類器預(yù)測top 5 個章節(jié)的準(zhǔn)確率達(dá)到了0.962908。
圖6 fastText模型架構(gòu)
fastText 第二層分類器預(yù)測每個章節(jié)的10 位HS Code,如在85,84,94,61,39 進(jìn)行第二層分類器預(yù)測到top 200 的10 位HS Code 預(yù)測上,因?yàn)檫@幾個重點(diǎn)章節(jié),例如85 章節(jié)下面就有1300 多個不同的10 位HS Code,只有先通過第二層分類器預(yù)測給出top 200 的10位HS Code,后續(xù)精排算法策略才能實(shí)現(xiàn),top 200 準(zhǔn)確率如表2 所示。
表2 第二層分類器預(yù)測實(shí)驗(yàn)結(jié)果
(6)K-means 聚類質(zhì)點(diǎn)向量
通過兩層層次分類器初步選出200 個10 位HS Code,進(jìn)入到精排算法階段時,由于我們數(shù)據(jù)嚴(yán)重傾斜,(如3926909090 對應(yīng)的歷史數(shù)據(jù)有54879 條,8534009000 對應(yīng)的歷史數(shù)據(jù)有39458,8507600090 對應(yīng)的歷史數(shù)據(jù)有39177,4202920000 對應(yīng)的歷史數(shù)據(jù)有36745,9403609990 對應(yīng)的數(shù)據(jù)有29441,等等),這時候精排算法階段用人工權(quán)重的方式會有些難以實(shí)現(xiàn),因?yàn)橛幸恍?shù)據(jù)傾斜的問題,對一些歷史數(shù)據(jù)樣本大 的 10 位 HS Code(如 上 述 的 3926909090,8534009000 等),先用K-means[27]聚類算法求出50 個聚類質(zhì)點(diǎn),讓這50 個聚類質(zhì)點(diǎn)的向量來表達(dá)一個10位HS Code。通過這種方式加強(qiáng)HS Code 的向量表達(dá)能力和抗干擾能力。K-means 聚類質(zhì)點(diǎn)向量的核心問題是在于聚類算法在何時收斂,我們使用了如下的代價函數(shù)作為聚類算法收斂的判斷依據(jù):
其中:
rij:表示如果第j 個數(shù)據(jù)點(diǎn)屬于第i 類,那就記作1,否則記作0 的一個N×C 大小的矩陣。代價函數(shù)的差分值小于一定數(shù)值的時候(N 次越不過最小值點(diǎn))即可認(rèn)為收斂了。
(7)文本詞向量平均池化
有了詞向量模型,文本NLP 中最小語義單位——詞,就可以用分布式向量來表達(dá)了。由于HS Code 的領(lǐng)域文本由品名和申報(bào)要素?zé)o序拼裝起來的,文本沒有上下文時序信息,因此這種文本組織方式適合用詞向量平均池化來表達(dá)整個文本的語義向量,就是將一段文本中的每個詞向量進(jìn)行相加并求均值,這種方式綜合考慮了一段文本中每個詞的貢獻(xiàn)能力。除了用詞向量平均池化,在文本向量表示中我們也嘗試了詞向量最大池化,詞向量最大池化就是去一段文本中每個詞向量每個維度最大的值,這種方法相當(dāng)于考慮一段文本中最顯著特征信息,忽略掉其他無關(guān)或者不重要的信息。經(jīng)過測試對比,在HS Code 領(lǐng)域文本,詞向量平均池化的整體效果比最大池化的效果要好很多。
(8)語義匹配相似度計(jì)算
一段文本查詢經(jīng)過兩層層級分類器粗排選出候選HS Code 集合,然后就會進(jìn)入HS Code 文本歸類的細(xì)排算法階段,細(xì)排階段的主要核心環(huán)節(jié)就是文本語義匹配相似度的計(jì)算。文本語義匹配的主要難點(diǎn):
①自然語言處理中基本處理單位是詞,而詞只是個符號表示,存在語義鴻溝的現(xiàn)象,需要將符號表示由模型轉(zhuǎn)成向量表示,這里就會有很多的誤差。
②詞語匹配的多元性,不同的詞語可能表示的是同一個語義,例如同義詞,如“荷花”、“蓮花”、“水芙蓉”、“芙蕖”,它們表示的都是同一種植物;同理一個相同的詞在不同的語境下會有不同的語義,例如“蘋果”既可以是一種水果,也可以是一家公司,亦可以是一個品牌。
③短語匹配的結(jié)構(gòu)性,多個詞語可以按照一定的結(jié)構(gòu)組合成短語,匹配兩個短語需要考慮短語的結(jié)構(gòu)信息。例如“機(jī)器學(xué)習(xí)”和“學(xué)習(xí)機(jī)器”兩者的詞語是一樣的,而詞的順序不同,導(dǎo)致文本語義完全不同。
目前HS Code 文本歸類中的語義匹配相似度是基于K-means 聚類質(zhì)點(diǎn)向量的cosine 進(jìn)行計(jì)算的。未來可以考慮采用帶監(jiān)督的DSSM 語義匹配模型或者WMD(詞移距離)來進(jìn)行語義相似度的匹配計(jì)算。基于聚類質(zhì)點(diǎn)向量的cosine 相似度算法偽代碼:
輸入:兩個詞向量v1 和v2
輸出:cosine 相似度cosine_sime
def cosine_similarity_self(v1,v2):
dot_product=np.dot(v1,v2)
cosine_sim=dot_product/(norm(v1)*norm(v2))
return cosine_sim
(9)深度語義對抗
由于該外綜服自身出口數(shù)據(jù)有限,并且出口的產(chǎn)品數(shù)據(jù)極度不平衡,有部分HS Code 對應(yīng)的產(chǎn)品在該外綜服出口數(shù)據(jù)非常少甚至還有一些從來沒有出口過,這樣數(shù)據(jù)的瓶頸將會越來越凸顯,如何解決數(shù)據(jù)樣本瓶頸的問題是一個重要的困難。由于產(chǎn)品是互通性的,那么如何將淘寶天貓、1688 海量商品數(shù)據(jù)隱射到外貿(mào)出口產(chǎn)品數(shù)據(jù)是一項(xiàng)非常有價值的工作。表3 是天貓商品數(shù)據(jù)和該外綜服平臺外貿(mào)出口數(shù)據(jù)的一些屬性對比和差異性。
表3 外貿(mào)屬性數(shù)據(jù)和電商商品數(shù)據(jù)對比示例
從語義上來看,天貓的商品語義和該外綜服平臺帶有歸類要素的外貿(mào)語義差異確實(shí)比較大。而用GAN(Generative Adversarial Networks)[28]來把天貓商品品名作為噪音來對抗生成語義向量隱射到該外綜服平臺的語義,難度確實(shí)不小,這主要是GAN 的內(nèi)在原理確定的,GAN 只適用于連續(xù)型數(shù)據(jù)的生成,圖片是典型的連續(xù)性數(shù)據(jù),對于離散型數(shù)據(jù)效果不佳,文本數(shù)據(jù)就是最典型的一種離散型數(shù)據(jù)。這里的離散和連續(xù)主要是指數(shù)據(jù)是否持續(xù)可微分。圖像矩陣中的元素是可微分的,其數(shù)值直接反映出圖像本身的明暗、色彩等因素,很多這樣的像素點(diǎn)組合在一起,就形成了圖像,也就是說,從圖像像素矩陣到圖像,不需要采樣生成。而文本本身都是一個個詞向量構(gòu)成,而詞向量是經(jīng)過采樣訓(xùn)練出來的獨(dú)立向量,天然都是離散、獨(dú)立的。而GAN本身是一種對抗神經(jīng)網(wǎng)絡(luò),而神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法大多數(shù)都是基于梯度的,而對于獨(dú)立訓(xùn)練出來的文本離散向量對應(yīng)的生成器G(Generator)的損失函數(shù)loss 會是一個近似于常數(shù)log2 的JS 散度,而固定常數(shù)log2 的導(dǎo)數(shù)是0,這樣這個生成器不能進(jìn)行基于梯度進(jìn)行反向傳播(Back Propagation,BP)[29]進(jìn)行優(yōu)化。這里需要想其他的辦法來避免這個問題,目前的我們采用的方法是基于最新的Wasserstein GAN[30]進(jìn)行處理,把天貓平臺的商品文本數(shù)據(jù)做為噪音并采用GAN 進(jìn)行處理來和該外綜服的打標(biāo)數(shù)據(jù)做語義對抗,將天貓平臺的商品數(shù)據(jù)文本隱射到該外綜服的語義向量。同時GAN這種處理方式要注意天貓出海業(yè)務(wù)數(shù)據(jù)經(jīng)過生成器后出來的向量語義是不是有很大的變化,有些情況可能會迷惑判別器,但它的分類類別和它應(yīng)該歸屬的類別比已經(jīng)偏了,這個是兩者數(shù)據(jù)分布差異引起的,所以需要用遷移成分分析(Transfer Component Analysis,TCA)來調(diào)整數(shù)據(jù)的邊緣分布條件分布和聯(lián)合分布。
(10)稅則語義推理
我們基于HS Code 文本歸類模型,統(tǒng)計(jì)了模型預(yù)測失敗的案例(這些案例都是不在top 3 預(yù)測之內(nèi),但是都是在top 20 預(yù)測之內(nèi)),分析了這些案例失敗的原因主要如下:
①涉及其他,除非等類別,如9405990000:稅則上解釋是品目9405 所列物品其他材料制零件。9401790000:稅則上解釋是其他金屬框架的坐具。這類失敗案例的優(yōu)化涉及到知識推理,本體邏輯推理等等,難度非常大,知識推理需要較長時間研究,我們會在后續(xù)研究中進(jìn)一步完善。
②涉及到范圍推理或者成分推理,如8536901100:稅則上解釋是工作電壓不超過36 伏的接插件。
③品名跨多個類,但是根據(jù)成分、制備、用途來確定具體的HS Code。
其中,涉及其他,除非等類別的失敗案例比例高達(dá)72%以上,這里就涉及到了稅則語義推理的研究了。目前稅則語義推理的整體算法方案正在全力調(diào)研中,是下一步的研究工作。
我們對前面的設(shè)計(jì)進(jìn)行了實(shí)現(xiàn),并在某外綜服平臺上進(jìn)行測試驗(yàn)證,測試數(shù)據(jù)分布如圖7 所示,所有產(chǎn)品的HS Code 數(shù)據(jù)都能在www.hsbianma.com 網(wǎng)站上查詢到,我們選擇7、8、11、16、20 等5 個產(chǎn)品大類的數(shù)據(jù)進(jìn)行測試,這些測試數(shù)據(jù)基本涵蓋了本文分析的HS Code 數(shù)據(jù)的所有特性,測試結(jié)果如表4 所示,我們同時使用最大熵模型對HS Code 產(chǎn)品進(jìn)行分類來測試預(yù)測Top5 的準(zhǔn)確率,實(shí)驗(yàn)數(shù)據(jù)表明基于深度學(xué)習(xí)預(yù)測的HS Code 平均Top5 準(zhǔn)確率達(dá)到0.904422,而基于最大熵模型方法的平均預(yù)測準(zhǔn)確率只有0.825588,基于深度學(xué)習(xí)的分類預(yù)測方法準(zhǔn)確率明顯高于基于最大熵模型的分類方法,我們同時給出了基于深度學(xué)習(xí)方法對HS Code 產(chǎn)品分類預(yù)測的Top1 準(zhǔn)確率、Top3 準(zhǔn)確率和Top10 準(zhǔn)確率供參考,其中Top1 預(yù)測平均準(zhǔn)確率達(dá)到了0.766517,已經(jīng)超越了商用的預(yù)期值0.75。
圖7 測試數(shù)據(jù)分布圖
表4 實(shí)驗(yàn)結(jié)果數(shù)據(jù)
(1)用戶輸入產(chǎn)品品名
圖8 產(chǎn)品品名輸入截圖
(2)用戶點(diǎn)選類目
圖9 點(diǎn)選類目截圖
(3)用戶輸入詳細(xì)產(chǎn)品描述
圖10 輸入產(chǎn)品描述
(4)HS Code 自動歸類結(jié)果
圖11 HS Code自動歸類結(jié)果展示
本文中,我們研究了基于深度學(xué)習(xí)的HS Code 產(chǎn)品分類方法,首先對HS Code 的數(shù)據(jù)特征進(jìn)行分析,接著對整體算法進(jìn)行總體設(shè)計(jì),然后對算法框架中的每個環(huán)節(jié)進(jìn)行詳細(xì)的設(shè)計(jì)和分析,最后依賴某外綜服平臺實(shí)現(xiàn)了該分類方法并進(jìn)行了實(shí)驗(yàn)驗(yàn)證和分析,實(shí)驗(yàn)結(jié)果表明基于深度學(xué)習(xí)的HS Code 產(chǎn)品分類方法準(zhǔn)確率很高,優(yōu)于基于最大熵模型的分類方法。同時在方法研究實(shí)踐過程中,我們也發(fā)現(xiàn)該方法目前的一些不足,例如數(shù)據(jù)不平衡需要引入語義對抗網(wǎng)絡(luò),這些問題有待我們下一步進(jìn)行研究,并且進(jìn)行更多的驗(yàn)證。