單菲杰
(浙江郵電職業(yè)技術(shù)學(xué)院 浙江紹興 312000)
目前,中國(guó)電商進(jìn)入高質(zhì)量發(fā)展階段,越來(lái)越多跨境電商企業(yè)入駐亞馬遜、wish、eBay、速賣通、Shopee等跨境電商平臺(tái)。與國(guó)內(nèi)天貓、京東等電商平臺(tái)的中文評(píng)論數(shù)據(jù)不同,這些跨境電商平臺(tái)的評(píng)論數(shù)據(jù)多為英文文本,給電商企業(yè)通過(guò)評(píng)論數(shù)據(jù)進(jìn)行顧客對(duì)產(chǎn)品的喜好程度分析及利用評(píng)論指出的缺點(diǎn)來(lái)提升產(chǎn)品性能等方面帶來(lái)了一定困難。情感分析是近年來(lái)國(guó)內(nèi)外研究的熱點(diǎn),其任務(wù)是幫助用戶快速獲取、整理和分析相關(guān)評(píng)價(jià)信息,對(duì)帶有情感色彩的主觀性文本進(jìn)行分析、處理、歸納和推理。情感分析包含較多的任務(wù),如情感分類、觀點(diǎn)抽取、觀點(diǎn)問(wèn)答和觀點(diǎn)摘要等,情感分析方法可從評(píng)論的文本中提取出評(píng)論的實(shí)體,以及評(píng)論者對(duì)該實(shí)體所表達(dá)的情感傾向,并從評(píng)論者褒義和貶義的評(píng)論中形成商業(yè)洞察。因此,自然語(yǔ)言技術(shù)中的情感分析在跨境電商英文評(píng)論中的應(yīng)用,對(duì)于企業(yè)得到負(fù)面情緒的英文文本內(nèi)容及所對(duì)應(yīng)的產(chǎn)品和評(píng)論等信息,可以針對(duì)性地分析客戶對(duì)企業(yè)產(chǎn)品的體驗(yàn)感受,對(duì)企業(yè)提高自身產(chǎn)品的競(jìng)爭(zhēng)力有一定的幫助作用。
跨境電商英文評(píng)論數(shù)據(jù)屬于計(jì)算機(jī)無(wú)法直接識(shí)別并使用的文本數(shù)據(jù),因此需將文本數(shù)據(jù)轉(zhuǎn)化為數(shù)值型數(shù)據(jù),通常為向量形式。隨著利用自然語(yǔ)言處理情感分類問(wèn)題研究的發(fā)展,把文本數(shù)據(jù)轉(zhuǎn)化成計(jì)算機(jī)系統(tǒng)能夠讀取和利用的向量形式經(jīng)歷了很大的創(chuàng)新與優(yōu)化。其中,詞向量具有良好的語(yǔ)義特性,是表示詞語(yǔ)特性的常用方式。
2.1.1 詞袋模型
詞袋模型(Bag of words)是最早以詞為基本處理單元的文本向量化方法。首先,詞袋模型通過(guò)構(gòu)建一個(gè)包含語(yǔ)料庫(kù)中所有詞的詞典,每個(gè)詞的向量長(zhǎng)度都是詞典的大小;其次,向量中元素全是0,除了一個(gè)位置的元素是1,這個(gè)位置是詞在詞典中的index;最后,根據(jù)詞典完成對(duì)每個(gè)詞的向量化,進(jìn)而完成文本向量化,這種表示方法稱為one-hot向量表示。完成對(duì)所有詞的向量化之后,就可以得出文本的向量化結(jié)果。每個(gè)文本的向量長(zhǎng)度都是詞典的大小,向量中的每個(gè)位置的元素代表詞典中該位置的詞在文本中出現(xiàn)的次數(shù),維度災(zāi)難、未保留詞序和語(yǔ)義鴻溝是詞袋模型存在的幾個(gè)比較明顯的問(wèn)題。
2.1.2 TF-IDF
TF-IDF(Term Frequency-Inverse Document Frequency)是一種針對(duì)關(guān)鍵詞進(jìn)行統(tǒng)計(jì)分析的重要方法。它用于評(píng)估一個(gè)詞對(duì)一個(gè)文件集或語(yǔ)料庫(kù)的重要程度。一個(gè)詞的重要程度與其在文章中出現(xiàn)的次數(shù)成正比,而與其在語(yǔ)料庫(kù)中出現(xiàn)的次數(shù)成反比。這種計(jì)算方式能夠有效避免常用詞對(duì)關(guān)鍵詞的干擾,從而提高關(guān)鍵詞與文章之間的關(guān)聯(lián)性。
其中,TF指的是關(guān)鍵詞在特定文件中的出現(xiàn)次數(shù)與文件總詞數(shù)的比值,通常會(huì)被歸一化,以防止結(jié)果偏向過(guò)長(zhǎng)的文件。IDF代表逆向文檔頻率,表示包含特定關(guān)鍵詞的文件數(shù)量越少,IDF值就越大,說(shuō)明該關(guān)鍵詞具有很強(qiáng)的區(qū)分能力。IDF的計(jì)算公式為log10(語(yǔ)料庫(kù)中文件總數(shù)/含有該關(guān)鍵詞的文件數(shù)+1),其中+1是為了避免分母為0。TF-IDF是TF和IDF的乘積,表示關(guān)鍵詞在特定文件中的重要程度,因此TF-IDF值越大,表示該特征詞對(duì)文本的重要性越大。
TF-IDF具有簡(jiǎn)單、快速且容易理解的優(yōu)點(diǎn)。然而,其缺點(diǎn)是僅使用詞頻來(lái)衡量文章中一個(gè)詞的重要性可能不夠全面,有時(shí)重要的詞可能出現(xiàn)的次數(shù)不夠多。此外,這種計(jì)算方法無(wú)法考慮詞語(yǔ)在上下文中的重要性,也無(wú)法體現(xiàn)詞語(yǔ)在文章中的位置信息。
2.1.3 神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型
神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型(NNLM )由Bengio于2003年提出,神經(jīng)網(wǎng)絡(luò)模型包含三層:第一層是輸入層,然后經(jīng)過(guò)非線性變換tanh到達(dá)第二層,最后經(jīng)過(guò)非線性變換softmax輸出結(jié)果。但神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型包含兩個(gè)非線性層,訓(xùn)練復(fù)雜度很高。Mikolov等(2013)提出了Word2vec,與神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型不同的是,Word2vec去掉了最耗時(shí)的非線性隱藏層,可以用來(lái)快速有效地訓(xùn)練詞向量。Word2vec包含兩種訓(xùn)練模型,分別是COBW和Skip_gram。其中,COBW模型通過(guò)上下文來(lái)預(yù)測(cè)當(dāng)前詞;Skip_gram模型則通過(guò)當(dāng)前詞來(lái)預(yù)測(cè)上下文。CBOW訓(xùn)練時(shí)有一個(gè)target word和多個(gè)context words;Skip-gram訓(xùn)練時(shí)則有一個(gè)context word和多個(gè)target word。
2.2.1 機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí)是一個(gè)包含多種算法的領(lǐng)域,這些算法致力于深入分析大量歷史數(shù)據(jù),從中挖掘出隱藏規(guī)律,并應(yīng)用于預(yù)測(cè)或分類。更具體地說(shuō),機(jī)器學(xué)習(xí)可以被視為尋找一個(gè)函數(shù),這個(gè)函數(shù)以樣本數(shù)據(jù)為輸入,并以期望的結(jié)果為輸出。有一個(gè)重要的點(diǎn)需要理解,那就是機(jī)器學(xué)習(xí)的目標(biāo)是使學(xué)習(xí)到的函數(shù)能夠在新樣本上表現(xiàn)良好,而不僅僅是在訓(xùn)練樣本上表現(xiàn)優(yōu)秀,這個(gè)函數(shù)對(duì)新樣本的適用性稱之為泛化(Generalization)能力。
2.2.2 深度學(xué)習(xí)
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)子類別,它是基于機(jī)器學(xué)習(xí)發(fā)展出的一個(gè)全新領(lǐng)域。深度學(xué)習(xí)的靈感來(lái)源于人類大腦的工作方式,它利用深度神經(jīng)網(wǎng)絡(luò)來(lái)解決特征表達(dá)的學(xué)習(xí)過(guò)程。隨著大數(shù)據(jù)和計(jì)算能力的提高,深度學(xué)習(xí)帶來(lái)了一系列新的算法。為了提升深層神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效果,人們對(duì)神經(jīng)元的連接方法和激活函數(shù)進(jìn)行了調(diào)整,其目標(biāo)是建立、模擬人腦進(jìn)行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),模仿人腦的機(jī)制來(lái)解釋數(shù)據(jù),例如文本、圖像、聲音。當(dāng)面臨一個(gè)機(jī)器學(xué)習(xí)問(wèn)題時(shí),通常的處理流程可分為以下幾個(gè)步驟:數(shù)據(jù)收集與探索性分析、數(shù)據(jù)預(yù)處理與特征工程、數(shù)據(jù)集分割、模型的訓(xùn)練和模型的評(píng)價(jià)。
本文用來(lái)訓(xùn)練預(yù)測(cè)文本屬于積極還是消極的模型的數(shù)據(jù),采用由斯坦福學(xué)生Alec Go、 Richa Bhayani、 Lei Huang創(chuàng)建的sentiment140官網(wǎng)(http://help.sentiment140.com/)下載的。用于情感分類模型訓(xùn)練的數(shù)據(jù)sentiment140作為模型訓(xùn)練數(shù)據(jù),該數(shù)據(jù)集是一個(gè)包含1600000條從推特爬取的英文文本的CSV文件。數(shù)據(jù)文件共有 6個(gè)字段,分別是the polarity of the tweet (0 = negative,4 = positive);the id of the tweet;the date of the tweet;the query(If there is no query,then this value is NO_QUERY);the user that tweeted;the text of the tweet。
通過(guò)上述方法收集到實(shí)驗(yàn)數(shù)據(jù)后,本文需要對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理和特征工程。首先,用P y thon讀取sentiment140的數(shù)據(jù)文件,檢查數(shù)據(jù)中是否含有缺失值(null value),發(fā)現(xiàn)在sentiment140中沒有缺失值的存在;其次,考慮到計(jì)算機(jī)的計(jì)算能力有限及深度學(xué)習(xí)模型的訓(xùn)練需要消耗大量時(shí)間,同時(shí)對(duì)于情感分類問(wèn)題,數(shù)據(jù)偏斜不能過(guò)于嚴(yán)重,不同類別的數(shù)據(jù)數(shù)量不能有數(shù)個(gè)數(shù)量級(jí)的差距。因此,本文從sentiment140中隨機(jī)選取了1/10的數(shù)據(jù),共160000條推特作為訓(xùn)練和評(píng)估模型的數(shù)據(jù)集,其中包含80000條標(biāo)記為積極的推特和80000條標(biāo)記為消極的推特。
考慮到用戶隱私問(wèn)題,在處理數(shù)據(jù)時(shí)刪除了用戶名字段,同時(shí)刪除了與模型訓(xùn)練的無(wú)關(guān)字段,包括the id of the tweet ;the date of the tweet ;the query和the user that tweeted,只留下了the polarity of the tweet (0 = negative,4 =positive)及the text of the tweet。
但是,英文文本數(shù)據(jù)普遍包含特殊符號(hào)、文本格式不統(tǒng)一等問(wèn)題,需借助Python對(duì)數(shù)據(jù)進(jìn)行清理。首先,用Python去除鏈接(以http開始)、表情和標(biāo)點(diǎn)等特殊符號(hào);其次;通過(guò)分詞、標(biāo)準(zhǔn)化處理、去除停用詞、詞性還原和詞干提取等步驟將文本數(shù)據(jù)進(jìn)行進(jìn)一步清洗。
3.3.1 特征提取方法
本文通過(guò)四種機(jī)器學(xué)習(xí)方法,分別對(duì)T F-I DF 和Word2vec詞向量化的數(shù)據(jù)進(jìn)行評(píng)估。由表1可以看出,除了Lightgbm算法下兩種詞嵌入方法準(zhǔn)確率相近外,其他方法均為使用Word2vec的準(zhǔn)確率高于TF-IDF的。因此,在這兩種特征提取方式中,本文選擇了Word2vec。
表1 使用TF-IDF和Word2vec的四種不同機(jī)器學(xué)習(xí)算法的準(zhǔn)確性
3.3.2 模型選擇
本文選擇了四個(gè)機(jī)器學(xué)習(xí)模型(KNN,LightGBM、XGBoost和Catboost)和兩個(gè)深度模型(textCNN和BiLSTM)進(jìn)行比較,得到的結(jié)果如表2所示。
表2 不同機(jī)器學(xué)習(xí)和深度學(xué)習(xí)算法的準(zhǔn)確性
通過(guò)比較可以發(fā)現(xiàn),深度學(xué)習(xí)模型的準(zhǔn)確率普遍優(yōu)于機(jī)器學(xué)習(xí)模型,且在兩個(gè)深度學(xué)習(xí)模型中,textCNN的表現(xiàn)好于BiLSTM。綜上所述,本文選擇textCNN作為本文預(yù)測(cè)目標(biāo)數(shù)據(jù)的模型。
3.3.3 模型訓(xùn)練與評(píng)價(jià)
經(jīng)過(guò)數(shù)據(jù)處理得到干凈的文本數(shù)據(jù)以后,本文使用特征工程將計(jì)算機(jī)無(wú)法直接使用的文本數(shù)據(jù)通過(guò)word2vec中的CBOW作為詞嵌入技術(shù),轉(zhuǎn)化為計(jì)算機(jī)可以識(shí)別和使用的詞向量。在本文中,CBOW的參數(shù)設(shè)置為:min_count=5,window=5,size=300,workers=16,batch_words=1000,即目標(biāo)詞前后各取五個(gè)詞來(lái)預(yù)測(cè)目標(biāo)詞,向量d的維度為300維。訓(xùn)練1000輪后,CBOW收斂,訓(xùn)練得到了最優(yōu)的詞嵌入并將其保存,為之后訓(xùn)練模型時(shí)調(diào)用做好準(zhǔn)備。
訓(xùn)練完詞嵌入以后,就是對(duì)數(shù)據(jù)集的劃分、模型的訓(xùn)練與評(píng)估。本文將sentiment140的160000條推特樣本以Train:Test =8:2分成獨(dú)立的兩部分:訓(xùn)練集(train set,128000)和測(cè)試集(test set,32000)。其中,訓(xùn)練集用來(lái)訓(xùn)練模型;測(cè)試集則用來(lái)檢驗(yàn)?zāi)P偷男阅?。根?jù)算法模型的結(jié)果,本文使用的模型是textCNN,是一個(gè)三層神經(jīng)網(wǎng)絡(luò)模型,由輸入層、隱藏層和輸出層構(gòu)成,其中隱藏層包括卷積層、pooling層和全連接層。
首先,對(duì)輸入層的MAX_LEN進(jìn)行調(diào)優(yōu),過(guò)長(zhǎng)的MAX_LEN會(huì)有太多的填補(bǔ),而過(guò)短的容易丟失有效信息。本文在實(shí)驗(yàn)過(guò)程中初始設(shè)定MAX_LEN = 50,但在調(diào)優(yōu)過(guò)程中發(fā)現(xiàn)MAX_LEN = 20好于50,而MAX_LEN = 30又優(yōu)于20,所以最終使MAX_LEN = 30。其次,確定好MAX_LEN以后,將清洗好的文本分詞,并用預(yù)訓(xùn)練好的Word2vec做詞嵌入得到詞向量, 將詞向量經(jīng)過(guò)卷積層對(duì)每一個(gè)卷積核進(jìn)行卷積操作,在pooling層將不同卷積核得到的結(jié)果進(jìn)行拼接得到最終的特征向量。在pooling層后設(shè)置了一個(gè)Dropout參數(shù)防止過(guò)擬合,默認(rèn)的Dropout = 0.5,但經(jīng)過(guò)實(shí)驗(yàn)發(fā)現(xiàn),Dropout = 0.2比Dropout = 0.5表現(xiàn)更好,而Dropout = 0.1又優(yōu)于Dropout = 0.2,因此最終把Dropout設(shè)為0.1。最后,將輸出外接一個(gè)激活函數(shù)來(lái)對(duì)數(shù)據(jù)進(jìn)行分類,本文的目的是把英文文本數(shù)據(jù)分為積極和消極兩方面,屬于二分類模型,所以選擇sigmoid作為激活函數(shù),binary_crossentropy作為損失函數(shù)。
圖1 展示了模型accuracy和loss的學(xué)習(xí)曲線,發(fā)現(xiàn)當(dāng)epoch=2時(shí),訓(xùn)練集有最高的準(zhǔn)確率,此時(shí)最優(yōu)的textCNN模型的實(shí)驗(yàn)參數(shù)為:batch_size = 128;卷積核的大小filter_sizes = [1,2,3,5];卷積核的數(shù)量num_filters = 256;詞向量的維度embed_size = 300;MAX_LEN = 30;Dropout =0.1。此外,用測(cè)試集數(shù)據(jù)對(duì)訓(xùn)練好的模型進(jìn)行模型效果評(píng)估,得到測(cè)試集的準(zhǔn)確率為83.45%。與其他使用同樣的詞嵌入技術(shù)和深度學(xué)習(xí)模型的學(xué)者相比,周敬一等(2018)使用SVM、Bi-LSTM和CNN模型對(duì)使用Word2vec方法向量化后的電影評(píng)論數(shù)據(jù)進(jìn)行訓(xùn)練,分別得到63.45%、80.19%和81.7%的準(zhǔn)確率。本文的模型與其他學(xué)者的模型在不同數(shù)據(jù)集上表現(xiàn)出相似的準(zhǔn)確率,說(shuō)明用該模型來(lái)預(yù)測(cè)新的數(shù)據(jù)是合理的。
圖1 accuracy和loss學(xué)習(xí)曲線
本文建立了基于textCNN的英文文本情感分析模型,通過(guò)textCNN訓(xùn)練sentiment140的英文情感傾向分析,可以達(dá)到83.45%的準(zhǔn)確率。通過(guò)該英文文本情感分析模型,對(duì)我國(guó)跨境電商企業(yè)通過(guò)分析亞馬遜、wish、eBay、Shopee等國(guó)外電子商務(wù)網(wǎng)站上本企業(yè)產(chǎn)品的英文評(píng)論數(shù)據(jù),探究產(chǎn)品的受客戶歡迎程度及客戶對(duì)企業(yè)產(chǎn)品提出的一系列問(wèn)題具有較高的參考價(jià)值。該模型的應(yīng)用與分析可以得到積極和消極評(píng)論數(shù)據(jù)的占比,同時(shí)可以通過(guò)負(fù)面情緒的英文文本內(nèi)容及所對(duì)應(yīng)的產(chǎn)品和評(píng)論等信息,幫助企業(yè)針對(duì)性地分析客戶對(duì)企業(yè)產(chǎn)品的體驗(yàn)感受,對(duì)企業(yè)提高自身產(chǎn)品的競(jìng)爭(zhēng)力有一定的幫助作用。