吳震,冉曉燕,苗權(quán),2,*,劉純艷,張棟,魏娜
(1.國(guó)家計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心,北京 100029;2.國(guó)家計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心北京分中心,北京 100055; 3.長(zhǎng)城計(jì)算機(jī)軟件與系統(tǒng)有限公司,北京 100190)
中國(guó)的企業(yè)數(shù)量眾多,行業(yè)類別廣泛。對(duì)于廣大企業(yè)進(jìn)行行業(yè)分類是十分必要的,能夠進(jìn)一步解釋特定行業(yè)所處的發(fā)展階段及其在國(guó)民經(jīng)濟(jì)中的地位。以《國(guó)民經(jīng)濟(jì)行業(yè)分類》[1](GB/T 4754—2017)為例,將行業(yè)分為了97個(gè)大類、473個(gè)中類、1 380個(gè)小類。近年來(lái),網(wǎng)信企業(yè)規(guī)模快速增加,隨著基于深度學(xué)習(xí)的文本分類技術(shù)[2-4]的提升,如何利用企業(yè)數(shù)據(jù)信息進(jìn)行行業(yè)智能判別和分類具有重要意義,同時(shí)對(duì)于全國(guó)企業(yè)的智能分類具有借鑒和參考作用。
據(jù)不完全統(tǒng)計(jì),中國(guó)網(wǎng)信行業(yè)企業(yè)數(shù)量不低于200萬(wàn)家,既分布于互聯(lián)網(wǎng)、信息設(shè)備制造、信息傳輸、信息技術(shù)服務(wù)等國(guó)民經(jīng)濟(jì)行業(yè)范圍,又同時(shí)存在于電商、金融、教育、醫(yī)療甚至是大數(shù)據(jù)、人工智能等新興和前沿領(lǐng)域。如何對(duì)網(wǎng)信行業(yè)進(jìn)行行業(yè)分類,是做好網(wǎng)信企業(yè)統(tǒng)計(jì)分析工作的前提和基礎(chǔ),進(jìn)而整體掌握當(dāng)前中國(guó)網(wǎng)信行業(yè)及重點(diǎn)網(wǎng)信企業(yè)發(fā)展情況,及時(shí)發(fā)現(xiàn)運(yùn)行過(guò)程中表現(xiàn)出的苗頭性、傾向性、潛在性問(wèn)題,并提出相對(duì)應(yīng)的政策建議。
目前,進(jìn)行行業(yè)分類的過(guò)程中,往往存在覆蓋面積小、方式單一、時(shí)效性不足等問(wèn)題,僅依靠傳統(tǒng)的人工識(shí)別方式無(wú)法滿足需求,亟須一種精確、高效的識(shí)別方式。隨著人工智能技術(shù)的不斷發(fā)展和進(jìn)步,針對(duì)文本分類問(wèn)題的研究也出現(xiàn)多元化的發(fā)展。文本分類一般包括3個(gè)步驟:①文本向量化;②根據(jù)算法提取文本特征向量;③使用分類器對(duì)特征向量進(jìn)行分類判斷。因此,詞表示的好壞將直接影響分類器的結(jié)果,如何合理而有效地向量化文本通常是文本分類的關(guān)鍵技術(shù)。
詞向量最初的表示形式是one-hot,該方法的缺點(diǎn)是:①詞與詞間的語(yǔ)義視為相互獨(dú)立,無(wú)法表達(dá)詞之間的語(yǔ)義信息。②每種表達(dá)每次只有1個(gè)位于高位,其余均位于低位,可能導(dǎo)致維度爆炸,這造成了one-hot表示具有高稀疏的特性。TFIDF算法解決了以上部分問(wèn)題,其用以評(píng)估一字詞對(duì)于一個(gè)文件集或一個(gè)語(yǔ)料庫(kù)中的其中一份文件的重要程度。算法主要思想是:字詞在文件中出現(xiàn)的次數(shù)增多,其重要性也相應(yīng)增加,但會(huì)與語(yǔ)料庫(kù)中出現(xiàn)的頻率反比例下降。
2013年,Mikolov等[5]提出了word2vec模型,相對(duì)于以上方法,該模型能夠產(chǎn)生稠密的向量,避免維度爆炸,在語(yǔ)法和語(yǔ)義的相似性方面有很大的提高。
傳統(tǒng)文本分類算法有Bayes、支持向量機(jī)(SVM)、KNN、Logistic回 歸 等。徐 軍 等[6]使 用Na?ve Bayes等機(jī)器學(xué)習(xí)方法進(jìn)行新聞的情感自動(dòng)分類,但是Na?ve Bayes對(duì)缺失數(shù)據(jù)不敏感,需要假設(shè)先驗(yàn)?zāi)P停瑥亩鴮?dǎo)致預(yù)測(cè)效果不佳。2014年,Kim[7]提出了TextCNN網(wǎng)絡(luò),驗(yàn)證了使用預(yù)訓(xùn)練的詞向量比使用隨機(jī)初始化的詞向量能獲得更好的效果,而使用預(yù)訓(xùn)練的詞向量初始化,并在具體任務(wù)中進(jìn)行詞向量的fine-tuning可能會(huì)得到更好的效果,但是由于卷積神經(jīng)網(wǎng)絡(luò)(CNN)更關(guān)注局部特征,并且大的卷積核會(huì)導(dǎo)致計(jì)算量暴增,不利于模型深度的增加,計(jì)算性能也會(huì)降低。2017年,Vaswani等[8]完全拋棄了循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和CNN等網(wǎng)絡(luò)結(jié)構(gòu),首次提出將注意力機(jī)制應(yīng)用在NLP領(lǐng)域,注意力機(jī)制也成為了大家近期的研究熱點(diǎn)。2019年,Devlin等[9]提出了一種新的語(yǔ)言表征模型BERT,這是一種基于Transformer的雙向編碼器。
本文提出了一種融合多元數(shù)據(jù)的fastText算法[10],用于網(wǎng)信行業(yè)文本分類。該方法在fast-Text算法基礎(chǔ)上,對(duì)n元語(yǔ)法模型(n-gram)處理后的輸入詞序列進(jìn)行權(quán)重計(jì)算。同時(shí),融合網(wǎng)信企業(yè)信息不同維度的短文本數(shù)據(jù),并進(jìn)行加權(quán)計(jì)算,實(shí)現(xiàn)快速進(jìn)行網(wǎng)信企業(yè)分類的目標(biāo)。在網(wǎng)信企業(yè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),分類精確率達(dá)到83.1%。
本文實(shí)驗(yàn)通過(guò)獲取企業(yè)經(jīng)營(yíng)范圍進(jìn)行企業(yè)識(shí)別分類。主要獲取方式包括:通過(guò)政府?dāng)?shù)據(jù)公開平臺(tái)中提供的公開API接口獲取(如北京市政務(wù)數(shù)據(jù)資源網(wǎng)、廣東省政府?dāng)?shù)據(jù)統(tǒng)一開放平臺(tái)、上海市政府?dāng)?shù)據(jù)服務(wù)網(wǎng))企業(yè)名稱、企業(yè)法人、經(jīng)營(yíng)范圍等信息;通過(guò)互聯(lián)網(wǎng)采集的方式獲取企業(yè)名稱及相關(guān)信息。
文本預(yù)處理[11]是對(duì)非結(jié)構(gòu)化企業(yè)經(jīng)營(yíng)范圍、輿論等文本信息進(jìn)行分析,經(jīng)過(guò)過(guò)濾、提煉、選定等一系列自然語(yǔ)言處理操作[12]后,通過(guò)深度神經(jīng)網(wǎng)絡(luò)方法快速自動(dòng)識(shí)別、劃分文本中的經(jīng)營(yíng)范圍詞,并對(duì)智能分詞結(jié)果文本進(jìn)行展示。在網(wǎng)信企業(yè)分類的工程應(yīng)用中,通過(guò)數(shù)據(jù)洗清、分詞、詞性標(biāo)注、去停用詞4個(gè)方面來(lái)完成語(yǔ)料的預(yù)處理工作。
以《國(guó) 民 經(jīng) 濟(jì) 行 業(yè) 分 類》[1](GB/T 4754—2017)和《電子信息產(chǎn)業(yè)行業(yè)分類目錄》為基礎(chǔ),對(duì)國(guó)民經(jīng)濟(jì)行業(yè)分類中符合“網(wǎng)信”范疇的相關(guān)活動(dòng)進(jìn)行再歸類。分類結(jié)果考慮中國(guó)宏觀經(jīng)濟(jì)發(fā)展、網(wǎng)信事業(yè)發(fā)展進(jìn)程的現(xiàn)實(shí)情況,以體現(xiàn)階段性發(fā)展特征。
共分為四大類:信息設(shè)備制造、信息傳輸服務(wù)、軟件和信息技術(shù)服務(wù)業(yè)、互聯(lián)網(wǎng)和相關(guān)服務(wù),一級(jí)、二級(jí)、三級(jí)目錄分類如表1所示。

表1 行業(yè)分類結(jié)果Tab le 1 Industry classification resu lts

續(xù)表
2.3.1 分類識(shí)別過(guò)程
本文實(shí)驗(yàn)采用自然語(yǔ)言預(yù)處理技術(shù),主要針對(duì)網(wǎng)信行業(yè)企業(yè)的經(jīng)營(yíng)范圍進(jìn)行分段、分句,并對(duì)每一句進(jìn)行分詞,根據(jù)分詞與關(guān)鍵詞比對(duì)的結(jié)果,實(shí)現(xiàn)對(duì)網(wǎng)信行業(yè)統(tǒng)計(jì)分類和創(chuàng)新性分類的自動(dòng)識(shí)別與發(fā)現(xiàn)。流程如圖1所示。

圖1 分類識(shí)別流程Fig.1 Flowchart of classification and identification
2.3.2 基準(zhǔn)分類算法
實(shí)驗(yàn)分別采取了Na?ve Bayes、決策樹、KNN、TextCNN等作為基準(zhǔn)方法。
2.3.3 fastText算法
綜合考慮經(jīng)營(yíng)范圍數(shù)據(jù)的特征,本文基于fastText算法進(jìn)行行業(yè)分類識(shí)別。fastText是facebook開源的一個(gè)詞向量與文本分類工具[13-14],典型應(yīng)用場(chǎng)景是“帶監(jiān)督的文本分類問(wèn)題”,結(jié)合了自然語(yǔ)言處理和機(jī)器學(xué)習(xí)中最成功的理念。該算法只有隱層和輸出層,模型簡(jiǎn)單,訓(xùn)練速度快,準(zhǔn)確率較高。在普通的CPU上可以實(shí)現(xiàn)分鐘級(jí)別的訓(xùn)練,比深度模型的訓(xùn)練要快幾個(gè)數(shù)量級(jí),同時(shí),在多個(gè)標(biāo)準(zhǔn)的測(cè)試數(shù)據(jù)集上,fastText在文本分類的準(zhǔn)確率上,與現(xiàn)有的一些深度學(xué)習(xí)的方法效果相當(dāng)或接近。fastText使用詞袋及n-gram袋表征語(yǔ)句,使用子詞(subword)信息,并通過(guò)隱藏表征在類別間共享信息。另外,采用了一個(gè)Softmax層級(jí)(利用了類別不均衡分布的優(yōu)勢(shì))來(lái)加速運(yùn)算。
2.3.4 層次Softmax
對(duì)于有大量類別的數(shù)據(jù)集,fastText使用了一個(gè)分層分類器[15](而非扁平式架構(gòu))。不同的類別被整合進(jìn)樹形結(jié)構(gòu)中。在某些文本分類任務(wù)中類別很多,計(jì)算線性分類器的復(fù)雜度高。fastText模型使用層次Softmax,對(duì)標(biāo)簽進(jìn)行編碼,能夠極大地縮小模型預(yù)測(cè)目標(biāo)的數(shù)量。
層次Softmax如圖2所示。

圖2 層次SoftmaxFig.2 Hierarchical Softmax
2.3.5 n-gram子詞特征
fastText在用于網(wǎng)信企業(yè)名稱分類時(shí),使用的特征是詞袋模型,同時(shí),加入了n-gram特征,用于解決詞語(yǔ)之間順序的分類問(wèn)題。每個(gè)詞被看做是n-gram字母串包。為了區(qū)分前后綴情況,“<”、“>”符號(hào)被加到了詞的前后端。除了詞的子串外,詞本身也被包含進(jìn)了n-gram 字母串包。以where為例,n=3的情況下,其子串分別為<wh,whe,her,ere,re>,以及其本身。
2.3.6 fastText算法模型
fastText模型架構(gòu)[16]如圖3所示。

圖3 fastText模型架構(gòu)Fig.3 Architecture of fastTextmodel
圖3展示了單個(gè)隱層的簡(jiǎn)單模型[17]。第一個(gè)權(quán)重矩陣A可以被視作某個(gè)句子的詞查找表。將詞表示平均成一個(gè)文本表示。文本表示是一個(gè)隱藏變量,然后將其送入一個(gè)線性分類器。該模型將一系列單詞作為輸入并產(chǎn)生一個(gè)預(yù)定義類的概率分布。本文使用Softmax函數(shù)f來(lái)計(jì)算預(yù)定義類的概率分布,對(duì)于一組包含N個(gè)文檔的文檔集,fastText模型目標(biāo)是使式(1)最小化。

式中:n為樣本個(gè)數(shù);xn為第n個(gè)文檔特征的標(biāo)準(zhǔn)化包(第n個(gè)樣本的歸一化特征,每個(gè)特征是詞向量的平均值);yn為第n個(gè)樣本對(duì)應(yīng)的類別;f為損失函數(shù)Softmax;A為權(quán)重矩陣(構(gòu)建詞,embedding);B為權(quán)重矩陣(隱層到輸出層)。因預(yù)測(cè)語(yǔ)料更偏向詞語(yǔ)的組合,本實(shí)驗(yàn)中融入TF-IDF的先驗(yàn)特征,經(jīng)驗(yàn)證顯著提升了分類效果。
本文采用精確率P、召回率R、F1值進(jìn)行評(píng)估,具體計(jì)算公式如下:


式中:A為預(yù)測(cè)正確的正樣本數(shù);B為測(cè)試數(shù)據(jù)集中各個(gè)類的數(shù)目;C為預(yù)測(cè)結(jié)果中各個(gè)類的數(shù)量;F1為預(yù)測(cè)錯(cuò)位的負(fù)樣本數(shù)。
本文實(shí)驗(yàn)數(shù)據(jù)來(lái)源于政府公開API接口及互聯(lián)網(wǎng)爬取數(shù)據(jù)。其中,公共API(北京市政務(wù)數(shù)據(jù)資源網(wǎng)、廣東省政府?dāng)?shù)據(jù)統(tǒng)一開放平臺(tái)、上海市政府?dāng)?shù)據(jù)服務(wù)網(wǎng))和互聯(lián)網(wǎng)爬取結(jié)果獲取企業(yè)信息(如企業(yè)名稱、企業(yè)法人、企業(yè)經(jīng)營(yíng)地址等企業(yè)信息)。獲取到的數(shù)據(jù)在經(jīng)過(guò)清洗整合后,保存企業(yè)名稱等結(jié)構(gòu)化數(shù)據(jù),通過(guò)企業(yè)基本信息分析,獲取對(duì)應(yīng)企業(yè)經(jīng)營(yíng)范圍。共使用了10萬(wàn)條數(shù)據(jù),包括計(jì)算機(jī)制造、通信設(shè)備制造、廣播電視設(shè)備制造、雷達(dá)及配套設(shè)備制造、非專業(yè)視聽設(shè)備制造、智能消費(fèi)設(shè)備制造、電子器件制造、電子元件及電子專用材料制造、電子信息機(jī)電產(chǎn)品制造、專用儀器儀表制造、其他電子設(shè)備制造等31個(gè)企業(yè)分類。以上數(shù)據(jù)根據(jù)獲取平臺(tái)劃分為5個(gè)數(shù)據(jù)集DS1~DS5,以及1個(gè)測(cè)試集Test1,如表2所示。

表2 文本數(shù)量數(shù)據(jù)集樣本Tab le 2 Text quantity dataset sam p le
實(shí)驗(yàn)機(jī)器配置:操作系統(tǒng)Ubuntu 18.04.1 LTS,Intel(R)Xeon(R)Gold 6130 CPU@2.10 GHz,fastText在gcc 7.3.0上編譯。
為了驗(yàn)證fastText對(duì)企業(yè)分類的效果,本文使用DS1做訓(xùn)練集,使用Test1做測(cè)試集,n-gram使用的默認(rèn)值為1,維度使用默認(rèn)值為200,分類的準(zhǔn)確率的宏平均值及所用時(shí)間如表3所示。
依據(jù)表3,本文實(shí)驗(yàn)基于fastText算法在8 s內(nèi)完成80 000條數(shù)據(jù)的企業(yè)分類,精準(zhǔn)率平均值達(dá)到83.1%,召回率平均值達(dá)到了80.5%,F(xiàn)1值平均值達(dá)到了81.8%,在網(wǎng)信行業(yè)分類方面達(dá)到了良好的效果。

表3 數(shù)據(jù)集的分類結(jié)果Table 3 C lassification resu lt of dataset%
針對(duì)目前企業(yè)分類效率及準(zhǔn)確率較低的問(wèn)題,本文以網(wǎng)信行業(yè)為例,使用fastText文本分類算法,探討其在行業(yè)分類的適用性,經(jīng)實(shí)驗(yàn)表明,基于fastText的行業(yè)分類識(shí)別準(zhǔn)確率高(可達(dá)到82%以上),分類速度快,能夠滿足現(xiàn)有的行業(yè)分類需求。