崔偉琪,嚴(yán) 馨,滕 磊,陳 瑋,徐廣義
(1.昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,昆明 650504;2.昆明理工大學(xué) 云南省人工智能重點(diǎn)實(shí)驗(yàn)室,昆明 650504;3.湖南快樂(lè)陽(yáng)光互動(dòng)娛樂(lè)傳媒有限公司,長(zhǎng)沙 410000;4.云南南天電子信息產(chǎn)業(yè)股份有限公司,昆明 650040)
評(píng)價(jià)對(duì)象抽取任務(wù)作為方面級(jí)情感分析任務(wù)的一個(gè)關(guān)鍵子任務(wù),旨在抽取用戶評(píng)論語(yǔ)句中評(píng)價(jià)對(duì)象的實(shí)體[1]。評(píng)價(jià)對(duì)象抽取包括以下子任務(wù):抽取評(píng)論語(yǔ)料庫(kù)中所有的評(píng)價(jià)對(duì)象;對(duì)語(yǔ)義相似的評(píng)價(jià)對(duì)象實(shí)例進(jìn)行聚類,保證每個(gè)類別中包含相似的多個(gè)評(píng)價(jià)對(duì)象實(shí)例,即保證評(píng)價(jià)對(duì)象的一致性。
傳統(tǒng)評(píng)價(jià)對(duì)象抽取任務(wù)的方法大概分為三類:基于規(guī)則的方法,有監(jiān)督的方法和無(wú)監(jiān)督的方法。從用戶評(píng)論中抽取評(píng)價(jià)對(duì)象的工作最早由文獻(xiàn)[2]提出,主要介紹了顯性評(píng)價(jià)對(duì)象和隱性評(píng)價(jià)對(duì)象的區(qū)別,運(yùn)用一套基于統(tǒng)計(jì)觀察的規(guī)則處理顯性的評(píng)價(jià)對(duì)象。文獻(xiàn)[3]通過(guò)計(jì)算名詞短語(yǔ)和產(chǎn)品類之間的逐點(diǎn)互信息來(lái)檢測(cè)名詞或名詞短語(yǔ)是否為產(chǎn)品特征,提升了評(píng)價(jià)對(duì)象抽取任務(wù)的效果。文獻(xiàn)[4]介紹了基于常見信息和依賴信息挖掘的特征,使用WordNet 查找意見種子詞的同義詞和反義詞來(lái)提取意見詞,從而對(duì)產(chǎn)品評(píng)價(jià)對(duì)象進(jìn)行抽取。這些方法都嚴(yán)重依賴預(yù)先制定的規(guī)則,并且只要當(dāng)評(píng)價(jià)對(duì)象在很小的一組名詞范圍內(nèi)時(shí)模型才表現(xiàn)得很好。在基于規(guī)則的方法中,大多需要構(gòu)建句法依存樹等預(yù)處理工作并需要人為構(gòu)建隱式評(píng)價(jià)對(duì)象字典、情感詞典和名詞規(guī)則[5-6]。該類方法的缺點(diǎn)在于:并不會(huì)將抽取的評(píng)價(jià)對(duì)象進(jìn)行聚類,抽取的評(píng)價(jià)對(duì)象缺少高度的一致性。
在有監(jiān)督學(xué)習(xí)方法中,文獻(xiàn)[7]提出基于條件隨機(jī)場(chǎng)的可以自動(dòng)學(xué)習(xí)特征的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行評(píng)價(jià)對(duì)象抽取。另外,卷積神經(jīng)網(wǎng)絡(luò)作為該任務(wù)最有效可行的方法之一用于各個(gè)模型的構(gòu)建。例如,文獻(xiàn)[8]使用七層卷積神經(jīng)網(wǎng)絡(luò)對(duì)評(píng)價(jià)對(duì)象進(jìn)行抽取。文獻(xiàn)[9]使用雙嵌入加卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)得到當(dāng)時(shí)最好的結(jié)果。文獻(xiàn)[10]介紹一種卷積神經(jīng)網(wǎng)絡(luò)和主題模型相結(jié)合的監(jiān)督學(xué)習(xí)模型,該模型通過(guò)動(dòng)態(tài)濾波器來(lái)對(duì)評(píng)價(jià)對(duì)象進(jìn)行抽取,并考慮到評(píng)論具有潛在話題結(jié)構(gòu),引入一個(gè)神經(jīng)主題模型,將潛在主題集成到基于卷積神經(jīng)網(wǎng)絡(luò)的模塊中,以幫助識(shí)別評(píng)價(jià)對(duì)象特征,該模型能夠有效地識(shí)別評(píng)價(jià)對(duì)象的各個(gè)方面,并產(chǎn)生可解釋的主題。此外,文獻(xiàn)[11]提出了領(lǐng)域自適應(yīng)策略,將知識(shí)從一個(gè)足夠標(biāo)記的源域轉(zhuǎn)移到未標(biāo)記的目標(biāo)域,并提出了多層次的詞交互轉(zhuǎn)移模型(MSWIT),MSWIT 構(gòu)造了細(xì)粒度組件和粗粒度組件兩個(gè)交互式組件,細(xì)粒度組件為單詞級(jí)特征表示,粗粒度組件為句子級(jí)向量表示。模型不需要顯式地將評(píng)價(jià)對(duì)象與相應(yīng)的類別對(duì)齊,而是通過(guò)注意機(jī)制以及源域中的評(píng)價(jià)對(duì)象類別和評(píng)價(jià)對(duì)象實(shí)例的監(jiān)督標(biāo)簽來(lái)學(xué)習(xí)對(duì)齊,顯著提高了領(lǐng)域自適應(yīng)方法的性能。但監(jiān)督學(xué)習(xí)方法的缺點(diǎn)在于:一方面需要大量標(biāo)注文本,標(biāo)注文本的來(lái)源需要耗費(fèi)大量的人力和財(cái)力;另一方面該方法會(huì)遇到領(lǐng)域適配問(wèn)題,即在一個(gè)領(lǐng)域內(nèi)訓(xùn)練的模型,使用其他領(lǐng)域的數(shù)據(jù)進(jìn)行預(yù)測(cè)時(shí)表現(xiàn)的結(jié)果并不理想?;谝陨蟽牲c(diǎn)原因,大部分學(xué)者通常選擇無(wú)監(jiān)督方法進(jìn)行評(píng)價(jià)對(duì)象抽取任務(wù)。
在無(wú)監(jiān)督模型中,LDA 主題模型[12]的應(yīng)用最為廣泛。該類模型的使用大多基于以下3 個(gè)假設(shè):評(píng)論具有潛在的話題結(jié)構(gòu);話題可以從單詞評(píng)論共現(xiàn)中推斷出來(lái);單詞與話題相關(guān),話題也與評(píng)論相關(guān)。模型可以識(shí)別大規(guī)模語(yǔ)料庫(kù)中潛藏的主題信息,其原因在于擺脫了對(duì)標(biāo)簽的依賴,模型通常將評(píng)價(jià)對(duì)象看做主題,使用模型去預(yù)測(cè)主題的分布并進(jìn)行抽取。因此,基于LDA 的模型可以發(fā)現(xiàn)更多的評(píng)價(jià)對(duì)象,但是通過(guò)評(píng)價(jià)對(duì)象實(shí)例推斷標(biāo)準(zhǔn)評(píng)價(jià)對(duì)象的效果卻差強(qiáng)人意,原因在于該方法抽取出的評(píng)價(jià)對(duì)象實(shí)例通常是松散且無(wú)關(guān)聯(lián)的。文獻(xiàn)[13]首先使用LDA 模型去學(xué)習(xí)多個(gè)領(lǐng)域的主題也就是評(píng)價(jià)對(duì)象實(shí)例,取交集作為共享的評(píng)價(jià)對(duì)象特征知識(shí)庫(kù),然后基于LDA 提出了AKL 模型處理先驗(yàn)知識(shí)庫(kù)中的錯(cuò)誤信息,最終給出自動(dòng)從網(wǎng)絡(luò)中獲取先驗(yàn),并對(duì)評(píng)論文本進(jìn)行評(píng)價(jià)對(duì)象抽取的系統(tǒng)。文獻(xiàn)[14]提出嵌入式主題模型(ETM),ETM 是一種生成式文檔模型,將傳統(tǒng)的主題模型與單詞嵌入相結(jié)合,并使用一個(gè)分類分布來(lái)表示每個(gè)單詞,其自然參數(shù)等于一個(gè)單詞嵌入和它被分配到主題的嵌入的內(nèi)積,即使使用大量包含不常見詞和停止詞的詞匯,ETM 也能找到可解釋的主題。在主題質(zhì)量和預(yù)測(cè)性能方面,ETM 優(yōu)于以前的文檔模型。文獻(xiàn)[15]提出一個(gè)新的生成模型,認(rèn)為全局潛在主題是跨文本共享的,隱藏語(yǔ)義和全局潛在主題用于構(gòu)建上下文單詞。主題和單詞嵌入一起訓(xùn)練,訓(xùn)練后的模型將單詞映射到主題相關(guān)嵌入,解決了單詞多義的問(wèn)題。根據(jù)實(shí)驗(yàn)數(shù)據(jù),該模型在詞匯相似度評(píng)估和詞義消歧方面都優(yōu)于詞級(jí)嵌入方法。此外,文獻(xiàn)[7]將詞向量引入到評(píng)價(jià)對(duì)象抽取任務(wù)中,將詞嵌入與依存路徑聯(lián)合訓(xùn)練,最后通過(guò)CRF 序列標(biāo)注來(lái)提取出評(píng)價(jià)對(duì)象,但該方法中依存路徑是多樣化的,人為設(shè)置相同的依存路徑會(huì)在模型聚類時(shí)受到其他詞匯干擾,導(dǎo)致模型性能下降。文獻(xiàn)[16]提出的模型將主題嵌入與詞嵌入聯(lián)合訓(xùn)練來(lái)豐富詞匯的潛在語(yǔ)義信息,從而得到詞匯的向量表示,最后將向量作為輸入送入注意力機(jī)制模塊中,在注意力模塊中訓(xùn)練出k維嵌入矩陣,并通過(guò)注意力機(jī)制提高評(píng)價(jià)對(duì)象的權(quán)重,從而提高模型提取性能。文獻(xiàn)[17]運(yùn)用基于注意力機(jī)制的無(wú)監(jiān)督的自編碼模型對(duì)評(píng)價(jià)對(duì)象進(jìn)行抽取,該模型摒棄了傳統(tǒng)主題模型,使用統(tǒng)一的詞嵌入空間訓(xùn)練評(píng)價(jià)對(duì)象嵌入矩陣。一方面該方法無(wú)需人工標(biāo)注語(yǔ)料,節(jié)省了大量人力成本,另一方面,相比于主題模型,自編碼模型使得抽取的評(píng)價(jià)對(duì)象實(shí)例具有更高的一致性。
評(píng)價(jià)對(duì)象的多樣性遭遇到瓶頸,而分類任務(wù)正好彌補(bǔ)了這些不足。首先,分類語(yǔ)料的獲取自動(dòng)包含了評(píng)價(jià)對(duì)象類別信息;其次,評(píng)價(jià)類別不僅對(duì)模型中基于評(píng)價(jià)對(duì)象的重建提供了更好的基準(zhǔn),而且對(duì)評(píng)價(jià)對(duì)象的領(lǐng)域特征具有很好的指示作用。例如:“2.88 的價(jià)格非常實(shí)惠,但是口味有點(diǎn)差強(qiáng)人意”。這句話中評(píng)價(jià)類別“價(jià)格”和“味道”對(duì)該句來(lái)源于餐廳評(píng)論具有良好的指示作用,而且有助于模型抽取更細(xì)粒度的評(píng)價(jià)對(duì)象“價(jià)格”和“口味”。再如:“交通方便,房間舒適衛(wèi)生,感覺不錯(cuò)”。該句可以從評(píng)價(jià)類別“環(huán)境”和“感受”中輕而易舉地判斷評(píng)論來(lái)源于酒店,兩類別更有助于模型探索細(xì)粒度的評(píng)價(jià)對(duì)象“交通”、“房間”和“感覺”。因此,上述評(píng)價(jià)類別信息均包含特定領(lǐng)域的評(píng)價(jià)對(duì)象特征,即相同評(píng)價(jià)類別的評(píng)價(jià)對(duì)象特征具有相關(guān)性,驗(yàn)證了通過(guò)分類任務(wù)可以對(duì)評(píng)價(jià)對(duì)象抽取任務(wù)進(jìn)行提升的可能性。
本文提出一種通過(guò)文本分類改進(jìn)基于注意力的自編碼器(AATC)模型?;谧⒁饬C(jī)制的長(zhǎng)短期記憶(Long Short-Term Memory,LSTM)模型訓(xùn)練一個(gè)句子分類器,在分類任務(wù)下生成與評(píng)價(jià)對(duì)象類別相關(guān)的特征信息用于編碼階段,以提升模型在沒(méi)有標(biāo)注數(shù)據(jù)情況下自編碼階段的編碼能力,增強(qiáng)自編碼器的合理性和解釋性。通過(guò)共享上述模型對(duì)文本輸入進(jìn)行編碼,給句向量增強(qiáng)上下文語(yǔ)義信息的表達(dá)能力,同時(shí)在自編碼器中對(duì)模型進(jìn)行微調(diào)。最后本文AATC 模型可在沒(méi)有任何手動(dòng)特征抽取的情況下識(shí)別和抽取用戶評(píng)價(jià)對(duì)象,并對(duì)多領(lǐng)域語(yǔ)料庫(kù)中的抽取結(jié)果進(jìn)行對(duì)比驗(yàn)證。
已知數(shù)據(jù)集D,其中任一評(píng)論句s=(w1,w2,…,wn)由n個(gè)單詞組成,模型將句子s以單個(gè)詞向量的形式輸入到已訓(xùn)練好的基于注意力機(jī)制的LSTM 模型中得到句向量表示。本文使用文獻(xiàn)[18]提出的分布式詞嵌入表示詞向量,詞向量模型的嵌入矩陣表示為E∈RV×d,其中,d表示詞向量維度,V表示詞表大小。模型的最終目標(biāo)是學(xué)習(xí)標(biāo)準(zhǔn)評(píng)價(jià)對(duì)象的嵌入矩陣T∈RK×d,其中,K表示預(yù)先設(shè)置的標(biāo)準(zhǔn)評(píng)價(jià)對(duì)象的個(gè)數(shù),標(biāo)準(zhǔn)評(píng)價(jià)對(duì)象矩陣在嵌入空間中沒(méi)有具體含義,其表征由最終獲取的評(píng)價(jià)對(duì)象實(shí)例推理得出。由于詞向量和評(píng)價(jià)對(duì)象矩陣在同一嵌入空間中,每個(gè)標(biāo)準(zhǔn)評(píng)價(jià)對(duì)象和單詞可以通過(guò)計(jì)算余弦相似度的方式在詞向量嵌入空間中尋找與標(biāo)準(zhǔn)評(píng)價(jià)對(duì)象最相似的單詞作為評(píng)價(jià)對(duì)象。文獻(xiàn)[19]提出的ABAE(Attention-Based Aspect Extraction)模型包括兩個(gè)步驟:首先通過(guò)注意力機(jī)制給每個(gè)輸入的詞嵌入分配得分,使用加權(quán)平均來(lái)表示輸入句子的句向量;然后通過(guò)一個(gè)自編碼器來(lái)處理句向量,編碼階段使用簡(jiǎn)單的線性變換和softmax 函數(shù)進(jìn)行降維,解碼階段使用評(píng)價(jià)對(duì)象矩陣對(duì)句向量進(jìn)行重建。本文在該模型基礎(chǔ)上,探索評(píng)論句中不同類別的評(píng)價(jià)對(duì)象對(duì)評(píng)價(jià)對(duì)象矩陣訓(xùn)練的關(guān)系,使含有語(yǔ)義信息的句向量通過(guò)包含不同評(píng)價(jià)類別特征的矩陣編碼為中間層語(yǔ)義向量,本文利用句子分類結(jié)果進(jìn)行評(píng)價(jià)類別的轉(zhuǎn)移。
本文AATC 模型如圖1 所示。將評(píng)論句中的單詞向量作為輸入,首先在詞嵌入空間中將所有單詞使用計(jì)算余弦相似度距離的方法進(jìn)行k-means 聚類,聚類得到的中心簇向量來(lái)初始化標(biāo)準(zhǔn)評(píng)價(jià)對(duì)象嵌入矩陣T∈RK×d,然后通過(guò)捕捉輸入句中單詞與評(píng)價(jià)對(duì)象矩陣的相關(guān)性來(lái)訓(xùn)練評(píng)價(jià)對(duì)象矩陣。AATC 模型分為兩個(gè)部分:自編碼器部分和句子分類器部分。首先,分類器是一個(gè)監(jiān)督模型,它使用基于注意力機(jī)制的LSTM 網(wǎng)絡(luò)通過(guò)softmax 分類器對(duì)句子進(jìn)行評(píng)價(jià)類別分類,同時(shí)生成不同類別的特征信息。具體地,餐廳領(lǐng)域數(shù)據(jù)分為7 類,分別為食物、環(huán)境、服務(wù)、價(jià)格、味道、地點(diǎn)和其他;酒店領(lǐng)域數(shù)據(jù)分為6 類,分別為環(huán)境、服務(wù)、價(jià)格、地點(diǎn)、感覺和其他。在分類器訓(xùn)練數(shù)據(jù)時(shí),所使用的數(shù)據(jù)集的每個(gè)句子均只包含一類評(píng)價(jià)對(duì)象,包含的評(píng)價(jià)對(duì)象類別即為句子類別。然后,自編碼器模型的輸入部分使用了和句子分類部分一樣的模型參數(shù)初始化并進(jìn)行無(wú)監(jiān)督訓(xùn)練,使用該模型的優(yōu)勢(shì)在于:在輸入時(shí)融合了輸入句上下文的語(yǔ)義信息。在自編碼器的編碼階段,模型使用了句子分類任務(wù)中包含類別信息的特征,將句向量表征以包含類別特征的轉(zhuǎn)移矩陣的形式轉(zhuǎn)化為中間層語(yǔ)義向量,轉(zhuǎn)移矩陣形式上包含了不同評(píng)價(jià)類別的語(yǔ)義信息從而編碼成更有意義的中間層向量。解碼階段使用評(píng)價(jià)對(duì)象矩陣與語(yǔ)義向量乘積的形式,旨在捕捉評(píng)價(jià)對(duì)象和語(yǔ)義向量之間的相關(guān)性。在自編碼器訓(xùn)練數(shù)據(jù)中,評(píng)論語(yǔ)句可包含多個(gè)評(píng)價(jià)類別的評(píng)價(jià)對(duì)象實(shí)例,因?yàn)樽罱K的轉(zhuǎn)移矩陣是不同評(píng)價(jià)類別轉(zhuǎn)移矩陣的加權(quán)平均。最后,將訓(xùn)練好的評(píng)價(jià)對(duì)象嵌入矩陣放回詞向量嵌入矩陣中,通過(guò)相似度計(jì)算的方式獲取更細(xì)粒度的評(píng)價(jià)對(duì)象實(shí)例。下文將詳細(xì)介紹模型的各個(gè)部分。
圖1 AATC 模型框架Fig.1 AATC model framework
1.2.1 句子分類
本文使用的基于注意力機(jī)制的LSTM 通過(guò)softmax 分類器對(duì)輸入句子包含的評(píng)價(jià)類別進(jìn)行分類。因?yàn)樵诜诸惼饔?xùn)練數(shù)據(jù)中,使用的數(shù)據(jù)集中每個(gè)句子均只包含一類評(píng)價(jià)對(duì)象,所以句子中的評(píng)價(jià)對(duì)象的類別即為句子標(biāo)簽。已知含有n個(gè)單詞的句子s中所有詞嵌入表示為,其中,E∈R|n×d|,d表示詞向量維度。通過(guò)LSTM 中的3 個(gè)門控機(jī)制保留或丟棄信息來(lái)訓(xùn)練數(shù)據(jù),其中可訓(xùn)練參數(shù)為θlstm,并且LSTM 的輸出隱藏層序列表示為h={h1,h2,…,hn},其中,hi表示序列中第i個(gè)單詞的隱藏層。接下來(lái)使用注意力機(jī)制得到句子表征zs表示如下:
其中:pi為給第i個(gè)隱層向量分配的權(quán)重。
pi計(jì)算如式(2)所示:
其中:hi∈Rd;參數(shù)W∈Rd×d為過(guò)渡矩陣。
然后將句向量zs通過(guò)softmax 分類器得到不同評(píng)價(jià)類別分布,具體如式(5)所示:
其中:vs∈R|c|表示對(duì)句子s預(yù)測(cè)的評(píng)價(jià)類別概率分布;|c|表示類別個(gè)數(shù)。
對(duì)于句子分類任務(wù),本文使用交叉熵作為損失函數(shù),故分類器部分的損失函數(shù)表示如式(6)所示:
其中:i表示在數(shù)據(jù)集D中的第i條評(píng)論句;pi表示句子的真實(shí)標(biāo)簽;qi表示預(yù)測(cè)標(biāo)簽。
1.2.2 自編碼器
本文使用k-means 聚類得到的中心簇向量初始化了評(píng)價(jià)對(duì)象的嵌入矩陣T∈RK×d,其中,K表示評(píng)價(jià)對(duì)象的個(gè)數(shù),該K個(gè)標(biāo)準(zhǔn)評(píng)價(jià)對(duì)象向量分別表達(dá)了在詞嵌入空間中與其相似的評(píng)價(jià)對(duì)象的平均嵌入。在無(wú)監(jiān)督學(xué)習(xí)任務(wù)中,評(píng)論語(yǔ)句可包含多個(gè)評(píng)價(jià)類別的評(píng)價(jià)對(duì)象實(shí)例,該階段通過(guò)自編碼器訓(xùn)練評(píng)價(jià)對(duì)象矩陣,增強(qiáng)了上下文語(yǔ)義信息的表達(dá)能力。模型使用句子分類訓(xùn)練好的基于注意力機(jī)制的LSTM 模型對(duì)自編碼的輸入進(jìn)行初始化可得到輸入句向量表征zs。對(duì)句向量zs進(jìn)行降維編碼,得到中間層的語(yǔ)義向量pt,如式(7)所示:
其中:轉(zhuǎn)移矩陣Wγ可以捕捉句向量表示與評(píng)價(jià)對(duì)象之間的相關(guān)性,將句向量zs壓縮轉(zhuǎn)化為中間層語(yǔ)義向量pt;b為偏置向量。另外,希望編碼器捕捉到評(píng)論句評(píng)價(jià)對(duì)象的類別信息與評(píng)價(jià)對(duì)象之間的相關(guān)性。受文獻(xiàn)[19]的啟發(fā),本文在句子分類任務(wù)階段引入|c|個(gè)子矩陣每個(gè)子矩陣分別對(duì)應(yīng)不同評(píng)價(jià)類別,子矩陣由訓(xùn)練得來(lái)。由于每個(gè)句子有多種評(píng)價(jià)對(duì)象類別,因此會(huì)有多個(gè)子矩陣?;趶氖剑?)中得到的預(yù)測(cè)類別,這些子矩陣加權(quán)和后得到最終的轉(zhuǎn)移矩陣,如式(8)所示:
其中:轉(zhuǎn)移矩陣Wγ通過(guò)對(duì)每個(gè)類別的轉(zhuǎn)移矩陣進(jìn)行加權(quán)平均得到。然后,使用評(píng)價(jià)對(duì)象矩陣T進(jìn)行解碼,也就是對(duì)句向量進(jìn)行重建,目的在于使用評(píng)價(jià)對(duì)象矩陣還原評(píng)論句類別信息和語(yǔ)義向量的相關(guān)性,具體如式(9)所示:
重建的目的在于捕捉評(píng)價(jià)對(duì)象矩陣和中間層語(yǔ)義向量之間的關(guān)系,使重建后的句向量rs和重建前的句向量zs無(wú)限接近。訓(xùn)練好的評(píng)價(jià)對(duì)象矩陣T∈RK×d可以表示為,其中任 一評(píng)價(jià)對(duì)象類別對(duì)應(yīng)的評(píng)價(jià)對(duì)象向量可表示為αk,k∈{1,2,…,K}。每輸入一句評(píng)論句s=(x1,x2,…,xn),AATC 模型會(huì)根據(jù)訓(xùn)練權(quán)重計(jì)算pt。pt作為評(píng)價(jià)類別的概率分布,取最大值確定評(píng)價(jià)向量類別i,i∈{1,2,…,K},其中T對(duì)應(yīng)的評(píng)價(jià)對(duì)象向量為αi。同時(shí),本文創(chuàng)建了推理出的評(píng)價(jià)類別與標(biāo)準(zhǔn)評(píng)價(jià)類別之間的映射關(guān)系,供驗(yàn)證階段獲取評(píng)價(jià)對(duì)象的標(biāo)簽。最后,通過(guò)計(jì)算αi與輸入句子中每個(gè)單詞xj的余弦相似度,獲取相似度最高的單詞作為該句中的評(píng)價(jià)對(duì)象,其中j∈{1,2,…,n}。
1.2.3 損失函數(shù)
對(duì)于自編碼器部分,本文會(huì)根據(jù)類別個(gè)數(shù)分配多個(gè)轉(zhuǎn)移矩陣,加權(quán)后放入自編碼器訓(xùn)練評(píng)價(jià)對(duì)象。自編碼器部分的損失函數(shù)本文沿用了最大邊際對(duì)比損失[20-22],具體的損失函數(shù)如式(10)所示:
本文隨機(jī)從訓(xùn)練集中抽取m個(gè)句子作為負(fù)樣本,將負(fù)樣本的平均值作為負(fù)樣本的代表嵌入表示為ni。構(gòu)建損失函數(shù)的目標(biāo)是使得重建后的向量rs與句向量的表征向量zs相似,與負(fù)樣本的代表嵌入不同。因此,使用合頁(yè)損失的形式最大化rs與zs向量的點(diǎn)積,同時(shí)最小化rs與ni向量的點(diǎn)積。
1.2.4 正則項(xiàng)
本文模型可以學(xué)習(xí)到訓(xùn)練數(shù)據(jù)中最具代表性的向量,然而評(píng)價(jià)對(duì)象矩陣在訓(xùn)練過(guò)程中會(huì)產(chǎn)生冗余。為了確保評(píng)價(jià)對(duì)象嵌入的多樣性,最終在損失函數(shù)中添加正則項(xiàng),以保證每個(gè)評(píng)價(jià)對(duì)象嵌入的唯一性:
其中:I為單位矩陣;Tn是T矩陣每行規(guī)范化為1 后的矩陣,Tn·中任何非對(duì)角元素都對(duì)應(yīng)兩個(gè)不同的評(píng)價(jià)對(duì)象嵌入點(diǎn)乘。當(dāng)任意兩個(gè)不同評(píng)價(jià)對(duì)象嵌入點(diǎn)積為零時(shí),U達(dá)到其最小值。因此,正則化項(xiàng)鼓勵(lì)嵌入矩陣T的行之間的正交性,而懲罰不同嵌入向量之間的冗余。損失函數(shù)中加入正則化項(xiàng)后最終如式(12)所示:
其中:λ為控制正則項(xiàng)的超參數(shù)。
本文在兩個(gè)真實(shí)的數(shù)據(jù)集上進(jìn)行模型評(píng)估,兩個(gè)數(shù)據(jù)集詳細(xì)信息如表1 所示。
表1 數(shù)據(jù)集信息Table 1 Dataset information
針對(duì)自編碼器所進(jìn)行的無(wú)監(jiān)督任務(wù),本文分別從大眾點(diǎn)評(píng)和攜程網(wǎng)爬取兩萬(wàn)余條評(píng)論,并由專家標(biāo)注餐廳領(lǐng)域5 000 條評(píng)論對(duì)應(yīng)4 293 個(gè)句子,酒店領(lǐng)域4 500 條評(píng)論對(duì)應(yīng)3 632 個(gè)句子用于評(píng)價(jià)對(duì)象的評(píng)估。針對(duì)有監(jiān)督學(xué)習(xí)的評(píng)價(jià)類別分類任務(wù),本文同樣采用上述網(wǎng)站的爬取數(shù)據(jù),并過(guò)濾單句中僅包含單個(gè)評(píng)價(jià)對(duì)象的評(píng)論句進(jìn)行標(biāo)注。餐廳領(lǐng)域數(shù)據(jù)集人工定義的評(píng)價(jià)對(duì)象類別標(biāo)簽為食物、環(huán)境、服務(wù)、價(jià)格、味道、地點(diǎn)和其他,總共7 個(gè)評(píng)價(jià)類別;酒店領(lǐng)域數(shù)據(jù)集人工定義的評(píng)價(jià)對(duì)象標(biāo)簽為環(huán)境、服務(wù)、價(jià)格、地點(diǎn)、感受和其他,總共6 個(gè)評(píng)價(jià)類別。數(shù)據(jù)集如表2 所示。
表2 句子分類任務(wù)訓(xùn)練樣本數(shù)量Table 2 Number of training samples for sentence classification task
為了驗(yàn)證AATC 模型的表現(xiàn),本文使用以下5 個(gè)基線與其進(jìn)行比較:
1)k-means 模型。本文首先在詞嵌入空間中使用k-means 聚類,將每個(gè)簇的中心向量代表標(biāo)準(zhǔn)評(píng)價(jià)對(duì)象向量。然后使用與句子的平均詞向量最接近的標(biāo)準(zhǔn)評(píng)價(jià)對(duì)象向量作為該句子的推理評(píng)價(jià)對(duì)象向量。最后同樣以計(jì)算標(biāo)準(zhǔn)評(píng)價(jià)對(duì)象與輸入句子中單詞的余弦相似度的方式確定句子的評(píng)價(jià)對(duì)象。本文同樣使用該方法初始化評(píng)價(jià)對(duì)象矩陣T,為了展示本文模型的表現(xiàn),本文選擇直接將k-means 算法的結(jié)果進(jìn)行對(duì)比。
2)LocLDA 模型[23]。該模型使用了標(biāo)準(zhǔn)的主題模型實(shí)現(xiàn)。為避免模型對(duì)全局主題進(jìn)行推理,LocLDA 模型將句子看做是分離的文檔,將評(píng)價(jià)對(duì)象看為主題,使用模型去預(yù)測(cè)主題的分布并對(duì)評(píng)價(jià)對(duì)象進(jìn)行抽取。
3)BTM 模型[24]。該模型是一個(gè)專門為短文本設(shè)計(jì)的主題模型。與LDA 模型方法相同,BTM 模型同樣將評(píng)價(jià)對(duì)象視為主題,預(yù)測(cè)主題的分布并對(duì)評(píng)價(jià)對(duì)象進(jìn)行抽取。BTM 模型的主要優(yōu)點(diǎn)是可以直接對(duì)無(wú)序詞對(duì)共現(xiàn)進(jìn)行生成建模,緩解了短文檔中數(shù)據(jù)稀疏的問(wèn)題。
4)ABAE 模型[17]。ABAE 模型是完全基于無(wú)監(jiān)督學(xué)習(xí)的,該模型基于自編碼器,創(chuàng)建評(píng)價(jià)對(duì)象嵌入矩陣,通過(guò)先降維再重塑的方式訓(xùn)練評(píng)價(jià)對(duì)象嵌入矩陣。
5)SUAEx 模型[25]。該模型是無(wú)監(jiān)督的,完全依賴于單詞嵌入的相似性,其依賴向量相似性來(lái)模擬注意力機(jī)制,使模型能夠?qū)W⒂谙嚓P(guān)信息的抽取。
在模型訓(xùn)練過(guò)程中,數(shù)據(jù)經(jīng)過(guò)預(yù)處理(去除標(biāo)點(diǎn)符號(hào),去停用詞,去除出現(xiàn)頻率小于10 次的單詞)后,使用Glove[26]生成300 維的詞向量作為輸入。使用k-means 算法初始化評(píng)價(jià)對(duì)象嵌入矩陣,其他參數(shù)均隨機(jī)初始化。本文使用網(wǎng)格搜索驗(yàn)證了評(píng)價(jià)對(duì)象矩陣中評(píng)價(jià)對(duì)象個(gè)數(shù)K的取值,最終在餐廳領(lǐng)域中設(shè)置為14,而在酒店領(lǐng)域中將K設(shè)置為13~18 中的數(shù)字,但是結(jié)果相差無(wú)幾,所以最終將其統(tǒng)一設(shè)置為14。評(píng)價(jià)類別個(gè)數(shù)c根據(jù)訓(xùn)練語(yǔ)料領(lǐng)域分別設(shè)置為7 和6。在訓(xùn)練過(guò)程中,本文固定詞嵌入矩陣,使用Adam 算法進(jìn)行優(yōu)化。學(xué)習(xí)率設(shè)置為0.005,優(yōu)化方法為Adam。Batch Size 設(shè)置為64,訓(xùn)練28 個(gè)Epoch。通過(guò)網(wǎng)格搜索最終將懲罰項(xiàng)系數(shù)λ 設(shè)置為1。最終計(jì)算結(jié)果為運(yùn)行10 次后取平均。
本文從兩個(gè)評(píng)價(jià)標(biāo)準(zhǔn)對(duì)模型訓(xùn)練結(jié)果進(jìn)行評(píng)估。一方面看模型是否能夠找到語(yǔ)義一致的評(píng)價(jià)對(duì)象,即評(píng)價(jià)對(duì)象質(zhì)量評(píng)估;另一方面看模型是否能夠改善評(píng)論數(shù)據(jù)集的評(píng)價(jià)對(duì)象識(shí)別性能,即評(píng)價(jià)對(duì)象的識(shí)別率。
2.4.1 評(píng)價(jià)對(duì)象質(zhì)量評(píng)估
以餐廳領(lǐng)域數(shù)據(jù)為例,表3 所示為AATC 模型在該領(lǐng)域所推理出的14 個(gè)標(biāo)準(zhǔn)評(píng)價(jià)對(duì)象,與右邊展示的評(píng)價(jià)對(duì)象類別相比粒度更細(xì)。例如本文可以從食物中分出主食、飲品、配菜等。
表3 餐廳領(lǐng)域評(píng)價(jià)對(duì)象抽取結(jié)果實(shí)例Table 3 Example of the result of restaurant field opinion targets extraction
從表3 可以看出,模型可以有效地對(duì)不同領(lǐng)域的評(píng)價(jià)對(duì)象進(jìn)行抽取。針對(duì)不同評(píng)價(jià)類別,模型可以在此基礎(chǔ)上抽取更細(xì)粒度的評(píng)價(jià)對(duì)象實(shí)例。抽取結(jié)果表明,模型具備了較好的評(píng)價(jià)對(duì)象抽取能力。雖然在個(gè)別評(píng)價(jià)對(duì)象中模型將形容詞也視為評(píng)價(jià)對(duì)象進(jìn)行了抽取,但是這種情況較為罕見。
2.4.2 評(píng)價(jià)對(duì)象實(shí)例識(shí)別率
本文使用精確率(P)、召回率(R)和F1 值這3 個(gè)度量指標(biāo)來(lái)衡量預(yù)測(cè)結(jié)果與真實(shí)標(biāo)簽的準(zhǔn)確程度。在當(dāng)前任務(wù)中,給出一個(gè)評(píng)論句,首先指定一個(gè)推斷的評(píng)價(jià)對(duì)象實(shí)例標(biāo)簽,該標(biāo)簽對(duì)應(yīng)式(6)中pi最高權(quán)重實(shí)例,然后根據(jù)推斷的評(píng)價(jià)對(duì)象和標(biāo)準(zhǔn)標(biāo)簽之間的映射,將標(biāo)準(zhǔn)標(biāo)簽賦給句子。精確率表示抽取正確的評(píng)價(jià)對(duì)象實(shí)例占所有抽取評(píng)價(jià)對(duì)象實(shí)例的比例,召回率表示抽取正確的評(píng)價(jià)對(duì)象實(shí)例結(jié)果占文本中正確的評(píng)價(jià)對(duì)象實(shí)例的比例,F(xiàn)1 值是調(diào)和精確率和召回率的一種綜合評(píng)價(jià)指標(biāo)。具體評(píng)價(jià)指標(biāo)計(jì)算公式如式(13)~式(15)所示:
餐廳領(lǐng)域和酒店領(lǐng)域評(píng)價(jià)結(jié)果分別如表4 和表5 所示,其中加粗字體為最優(yōu)結(jié)果。
表4 餐廳領(lǐng)域評(píng)價(jià)對(duì)象抽取結(jié)果Table 4 The results of restaurant field opinion targets extraction
表5 酒店領(lǐng)域評(píng)價(jià)對(duì)象抽取結(jié)果Table 5 Results of hotel field opinion targets extraction
在酒店數(shù)據(jù)中,本文選取了6 個(gè)評(píng)價(jià)類別。模型在其他類中表現(xiàn)較差,原因在于:其他類中抽取的評(píng)價(jià)對(duì)象的詞匯沒(méi)有明確的模式,這使得這些評(píng)價(jià)對(duì)象實(shí)例很難進(jìn)行分類。根據(jù)以上結(jié)果可以看出,k-means 模型作為AATC 的初始化項(xiàng)已經(jīng)有了較好的精確度,AATC 模型在k-means 模型的基礎(chǔ)上,從某種程度上來(lái)說(shuō),提高了評(píng)價(jià)對(duì)象抽取的一致性。LocLDA 和BTM 同時(shí)作為主體模型,而BTM 專門為短文本設(shè)計(jì),根據(jù)訓(xùn)練文本的屬性,BTM 模型的效果好于LocLDA 模型。同時(shí),SUAEx 模型作為一個(gè)很強(qiáng)的基線,在評(píng)價(jià)對(duì)象抽取能力方面和AATC 相當(dāng)。SUAEx 模型依靠詞語(yǔ)嵌入的相似性和參照詞來(lái)模擬注意神經(jīng)網(wǎng)絡(luò)的注意機(jī)制。但是,SUAEx 模型僅限于處理表示為單個(gè)單詞的評(píng)價(jià)對(duì)象,對(duì)于復(fù)合單詞上的表現(xiàn)不如本文算法,如“酒單”“電池壽命”等,同時(shí)SUAEx 模型需要大量的先驗(yàn)知識(shí),影響了模型的運(yùn)行效率。此外,AATC 能夠適應(yīng)不同的領(lǐng)域。在許多情況下,AATC 在運(yùn)行時(shí)間成本非常低的情況下取得了優(yōu)于SUAEx 模型的最新技術(shù)成果。相比于ABAE 模型,AATC 依據(jù)句子分類任務(wù)分配了不同的轉(zhuǎn)移矩陣,另外通過(guò)循環(huán)神經(jīng)網(wǎng)絡(luò)增強(qiáng)了編碼器輸入階段上下文語(yǔ)義的關(guān)聯(lián)度,這時(shí)模型不僅可以準(zhǔn)確抽取單句中評(píng)價(jià)對(duì)象,而且通過(guò)觀察可以發(fā)現(xiàn),AATC 抽取的評(píng)價(jià)對(duì)象實(shí)例一致性更高。
本文提出一種通過(guò)評(píng)價(jià)類別分類提升評(píng)價(jià)對(duì)象抽取性能的方法。通過(guò)基于注意力的LSTM 模塊,本文構(gòu)建的AATC 模型能夠克服數(shù)據(jù)稀疏的問(wèn)題,捕捉到文本中的詞共現(xiàn)模式,并運(yùn)用分類器對(duì)評(píng)價(jià)類別進(jìn)行分類,解決訓(xùn)練過(guò)程缺少評(píng)價(jià)類別多樣性的問(wèn)題。實(shí)驗(yàn)結(jié)果表明,與k-means、LocLDA 等主流模型相比,AATC 模型在餐廳領(lǐng)域和酒店領(lǐng)域的語(yǔ)料庫(kù)中提升效果明顯。但是由于評(píng)論數(shù)據(jù)屬于非正式評(píng)論題材,可能會(huì)出現(xiàn)當(dāng)前的流行詞匯或該領(lǐng)域的特有詞匯,另外在餐廳和酒店領(lǐng)域的評(píng)論數(shù)據(jù)中還可能出現(xiàn)拼寫錯(cuò)誤,而AATC 模型在該方面的識(shí)別能力有所欠缺,后續(xù)將考慮輸入文本提煉核心詞來(lái)進(jìn)行抽取研究。