杜新宇,吳俊杰
(太原師范學(xué)院計(jì)算機(jī)系 山西 晉中 030619)
在大數(shù)據(jù)時(shí)代,電商平臺(tái)的在線評(píng)論功能,為用戶提供有效的反饋渠道,但由于評(píng)論數(shù)據(jù)冗雜,用戶難以獲取有效信息,而關(guān)鍵詞提取技術(shù)有效改善了這個(gè)問題。關(guān)鍵詞的提取技術(shù)指通過一定的規(guī)則或數(shù)理模型等手段獲得文檔的關(guān)鍵詞[1]。關(guān)鍵詞提取任務(wù)可以分為屬性詞的提取和觀點(diǎn)詞的情感分類兩個(gè)子任務(wù),關(guān)鍵詞提取的準(zhǔn)確度決定了用戶體驗(yàn)。傳統(tǒng)的電商平臺(tái),通常使用其中一種方式來提取關(guān)鍵詞,因此存在忽略語義內(nèi)容以及重復(fù)提取語義相近關(guān)鍵詞的問題。如今提取屬性詞的任務(wù)已經(jīng)得到了廣泛研究[2]。羅婉麗等[3]提出結(jié)合拓?fù)鋭菖cTextRank算法的關(guān)鍵詞提取方法。何傳鵬等[4]基于LDA和BERT模型,將關(guān)鍵詞提取問題通過LightGBM算法轉(zhuǎn)化為二分類問題。這些方法忽略了語義信息,只考慮語料庫中候選詞的詞頻特征,使得提取效果受限于語料庫的規(guī)模。觀點(diǎn)詞的情感分類任務(wù)也逐漸獲得了廣泛的關(guān)注[5]。張浩然等[6]結(jié)合Word2vec和TextCNN模型實(shí)現(xiàn)對在線評(píng)論進(jìn)行文本情感分類。該方法損失值較大且準(zhǔn)確率不高。
針對以上問題,本文提出的方法通過單層神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進(jìn)行初篩,并將線索傳輸?shù)街骶W(wǎng)絡(luò)進(jìn)行屬性詞和觀點(diǎn)詞的提取任務(wù),可以高效地從數(shù)據(jù)中提取準(zhǔn)確度高且不重疊的關(guān)鍵詞。
本文所研究的原模型由Li等[7]提出,他們引入了記錄預(yù)測屬性詞以及觀點(diǎn)詞歷史的機(jī)制。該機(jī)制作用在當(dāng)前時(shí)刻,利用之前提取到的常見的、易預(yù)測的屬性詞信息,來識(shí)別后續(xù)出現(xiàn)的不常見的屬性詞,達(dá)到對屬性詞的精確提取,提高了檢測率。如圖1顯示,該模型包含該兩個(gè)主要的神經(jīng)網(wǎng)絡(luò):截?cái)鄽v史網(wǎng)絡(luò)(THA)和選擇性轉(zhuǎn)換網(wǎng)絡(luò)(STN)。THA和STN基于兩個(gè)獨(dú)立的LSTM,他們分別用于主要的屬性詞提取任務(wù)和輔助的觀點(diǎn)詞提取任務(wù)。THA用來將屬性詞的識(shí)別歷史信息和當(dāng)前的屬性詞演算并生成候選屬性詞。STN基于當(dāng)前的候選屬性詞演算生成一個(gè)新的觀點(diǎn)詞,之后根據(jù)新的觀點(diǎn)詞與當(dāng)前屬性詞的關(guān)聯(lián)度,演算并生成候選觀點(diǎn)詞。最終,將最后的候選屬性詞和候選觀點(diǎn)詞的傳入全連接層進(jìn)行演算,來獲取我們所需要的關(guān)鍵詞。
在電商評(píng)論分析中,電商平臺(tái)的用戶評(píng)論數(shù)量多,無實(shí)意詞較多,以及語句內(nèi)容不連貫等因素干擾巨大。這些問題致使電商評(píng)論分析這一任務(wù)變得較為困難。由于上文作者提出的原模型在關(guān)鍵詞提取任務(wù)上的良好性能,但該模型對于電商評(píng)論分析提取出的部分關(guān)鍵詞存在多種表達(dá)形式,造成數(shù)據(jù)冗余,導(dǎo)致關(guān)鍵詞提取準(zhǔn)確率降低。因此本文嘗試通過多個(gè)LSTM網(wǎng)絡(luò)的訓(xùn)練來獲得較高的預(yù)測精度,提高其在電商評(píng)論數(shù)據(jù)中的關(guān)鍵詞提取準(zhǔn)確率,并對訓(xùn)練過程做了如下改進(jìn),改進(jìn)后的模型如圖2所示。
針對電商評(píng)論環(huán)境的關(guān)鍵詞提取,例如某個(gè)評(píng)論“這部手機(jī)的材質(zhì)很好,但是屏幕太拉跨了”,從細(xì)粒度的評(píng)價(jià)角度來說,買家對商品的“材質(zhì)”這一屬性的評(píng)價(jià)為正面的,對“屏幕”這一屬性評(píng)價(jià)為負(fù)面的,但其屬性和對應(yīng)的觀點(diǎn)是隱式地體現(xiàn)在評(píng)價(jià)中,需要我們利用模型抽取出來。給定一個(gè)有N個(gè)詞序列X={x1,...,xN}的句子,通過模型演算,來預(yù)測最終的關(guān)鍵詞的序列Y={y1,...,yN}。
首先,我們對原模型進(jìn)行了適當(dāng)?shù)恼{(diào)整,在輸入層中添加了一個(gè)單層的神經(jīng)網(wǎng)絡(luò)LSTMρ,用于輔助上層網(wǎng)絡(luò),篩選出N個(gè)處于隱式狀態(tài)的屬性詞和觀點(diǎn)詞,該層網(wǎng)絡(luò)的目的是減少數(shù)據(jù)冗余并引導(dǎo)上層網(wǎng)絡(luò),提高任務(wù)的性能。再使用兩個(gè)神經(jīng)網(wǎng)絡(luò)LSTMλ作為上層網(wǎng)絡(luò),來建初始的上下文關(guān)系,分別用于主要的屬性詞提取任務(wù)和輔助的觀點(diǎn)詞提取任務(wù),并且記錄相關(guān)的順序信息。我們將這兩個(gè)結(jié)構(gòu)連接起來,這樣由LSTMρ所生成的內(nèi)容可以為上層的預(yù)測提供重要線索。LSTMρ(xt)、LSTMλ()表示一個(gè)LSTM單元,我們使用雙向LSTM來生成初始的隱式狀態(tài)的屬性詞和觀點(diǎn)詞(di,dim是隱藏狀態(tài)的維數(shù)),A和O分別是在關(guān)鍵詞提取任務(wù)和觀點(diǎn)詞提取任務(wù)中使用的符號(hào)。LSTMλ承接LSTMρ的輸出,如式所示:
RNN可以記錄預(yù)測的整個(gè)歷史,但并沒有相關(guān)的機(jī)制將先前的預(yù)測和當(dāng)前的預(yù)測進(jìn)行聯(lián)系。本文引入了截?cái)鄽v史網(wǎng)絡(luò)(THA)來明確當(dāng)前屬性詞和前NA個(gè)屬性詞之間的關(guān)系。在當(dāng)前時(shí)刻t,THA計(jì)算每個(gè)緩存狀態(tài)的歸一化重要性評(píng)分,如式所示:
其中Softmax是softmax激活函數(shù),v可以在訓(xùn)練中得到,W1、W2、W3分別是與先前屬性詞、當(dāng)前屬性詞和屬性詞的識(shí)別歷史信息相關(guān)的參數(shù)。然后,得到的屬性詞的識(shí)別歷史信息如式所示:
為了從之前的屬性詞識(shí)別中獲益,本文將隱式狀態(tài)的屬性詞與提取的屬性詞歷史信息結(jié)合起來,為當(dāng)前的預(yù)測生成相關(guān)特征。最后采用一種類似于殘差網(wǎng)絡(luò)的形式來計(jì)算[8]時(shí)刻t的候選屬性詞,如式所示:
其中RELU是relu激活函數(shù)。
為了更好地利用觀點(diǎn)詞信息并且減少由距離引起的噪聲,本文引用了選擇性轉(zhuǎn)換網(wǎng)絡(luò)(STN),這樣關(guān)于給定的候選屬性詞的主要特征就會(huì)被突顯。STN首先對給定的候選屬性詞計(jì)算出的觀點(diǎn)詞。然后利用Bi-linear Attention layer,計(jì)算候選屬性詞與當(dāng)前觀點(diǎn)詞的關(guān)聯(lián)度,如式所示:
Wbi和bbi是Bi-linear Attention layer的參數(shù)。
在t時(shí),經(jīng)過改進(jìn)的候選觀點(diǎn)詞是通過觀點(diǎn)詞的演算求出,如式所示:
之后,將候選屬性詞和候選觀點(diǎn)詞傳入全連接層進(jìn)行關(guān)鍵詞的預(yù)測生成,如式所示:
對于LSTMλ采用交叉熵誤差來計(jì)算損失函數(shù):
最終損失函數(shù)如下:
實(shí)驗(yàn)平臺(tái)配置為:操作系統(tǒng):Windows 10;CPU:Intel i7-11700K;32 G內(nèi)存;GPU:NVIDIA GeForce RTX 3080 10 G顯存;深度學(xué)習(xí)框架:PyTorch;編程語言:Python。實(shí)驗(yàn)訓(xùn)練初始學(xué)習(xí)率0.001,衰減系數(shù)為0.05,對訓(xùn)練數(shù)據(jù)進(jìn)行10次交叉驗(yàn)證。其他參數(shù)設(shè)置如下:di=70,di=50,關(guān)鍵詞以及觀點(diǎn)詞的緩存NA的大小為4,Batchsize設(shè)置為32。
我們通過調(diào)用京東API來爬取真實(shí)評(píng)論,構(gòu)建實(shí)驗(yàn)數(shù)據(jù)集,包括筆記本電腦、平板電腦、智能手機(jī)、水果、電視、衣服、書籍共7個(gè)商品類別,總共收集了35 000條評(píng)論數(shù)據(jù)。首先,對原始數(shù)據(jù)集進(jìn)行清理,對于web符號(hào),固定標(biāo)簽等意義不大的詞,刪除它們可以節(jié)省存儲(chǔ)空間、加快計(jì)算速度的同時(shí)提高準(zhǔn)確性。本實(shí)驗(yàn)采用中文語料庫,因此使得分詞處理不可或缺[9],我們選擇“HanLP”來進(jìn)行分詞和命名實(shí)體識(shí)別[10],使用命名實(shí)體識(shí)別技術(shù)從文本中提取出專有名詞或特定命名實(shí)體[11],來識(shí)別位置、時(shí)間、名稱等內(nèi)容。最后,還剩下30 129份高質(zhì)量的數(shù)據(jù)。在實(shí)驗(yàn)中,我們?nèi)〖s20 129個(gè)數(shù)據(jù)作為訓(xùn)練集,取約10 000個(gè)數(shù)據(jù)作為測試集。
通過與以下模型比較,細(xì)分領(lǐng)域訓(xùn)練及測試結(jié)果如下:
評(píng)價(jià)指標(biāo)的衡量基于準(zhǔn)確率(Precision)、召回率(Recall)和F-score,當(dāng)F-score較高時(shí),可以說明實(shí)驗(yàn)方法比較有效。
如表1所示,相比于原模型,在所選數(shù)據(jù)集上,我們的改進(jìn)模型在準(zhǔn)確率、召回率和F-score上均有提升。與CRF和LSTM相比,改進(jìn)模型在F-score分別達(dá)到了25.2%和17.5%的絕對增益。同時(shí),我們的改進(jìn)模型比CMLA模型要高4.9%,這是一個(gè)不依賴于句法分析的模型,它將提取關(guān)鍵詞和觀點(diǎn)詞這兩個(gè)任務(wù)交給了attention機(jī)制去做。此外,我們的改進(jìn)模型相較于原模型提升了1.1%,驗(yàn)證了在輸入層中添加了一個(gè)單層的神經(jīng)網(wǎng)絡(luò)LSTMρ,用于輔助上層網(wǎng)絡(luò),篩選出N個(gè)處于隱式狀態(tài)的屬性詞和觀點(diǎn)詞的有效性。

表1 細(xì)分領(lǐng)域訓(xùn)練及測試結(jié)果
綜上所述,本文通過對電商評(píng)論數(shù)據(jù)集的特征進(jìn)行分析,清洗數(shù)據(jù)集并改進(jìn)關(guān)鍵詞提取模型,用于電商評(píng)論分析,并引入一個(gè)單層的神經(jīng)網(wǎng)絡(luò)LSTMρ結(jié)構(gòu)和京東電商評(píng)論數(shù)據(jù)集,以此來完成電商評(píng)論分析系統(tǒng)。實(shí)驗(yàn)結(jié)果表明,我們提出的改進(jìn)模型可以獲得較好的提取性能。與常用的關(guān)鍵詞提取模型相比,本文的模型能夠獲得更高的準(zhǔn)確率和更優(yōu)的F-score值。但系統(tǒng)存在一些不足,如算力需求較大。后續(xù)研究將對本模型的權(quán)重求解過程進(jìn)行進(jìn)一步優(yōu)化,以提高該模型在更多類型組成的數(shù)據(jù)集中進(jìn)行關(guān)鍵詞提取的適用度,降低算力要求。