陳 瑩,葉 寧,徐 康,王汝傳
(1.南京郵電大學(xué) 計算機(jī)學(xué)院、軟件學(xué)院、網(wǎng)絡(luò)空間安全學(xué)院,江蘇 南京 210046;2.江蘇省無線傳感網(wǎng)高技術(shù)研究重點實驗室,江蘇 南京 210046)
依托互聯(lián)網(wǎng)+逐層推進(jìn)的時代背景,足不出戶的網(wǎng)購以不可逾越的地位占據(jù)人們的內(nèi)心世界,參與網(wǎng)購的人數(shù)與涉及的商品服務(wù)種類與日俱增??梢?,網(wǎng)購儼然成為一種時尚的潮流[1]。由此衍生出的在線評論數(shù)據(jù)呈爆發(fā)式增長并且蘊(yùn)含著巨大的潛在價值[2]。對這些數(shù)據(jù)的有效挖掘可以幫助公司和商家深入了解消費者需求,從而提高產(chǎn)品的質(zhì)量。但是,僅從文檔層面或句子層面分析還不足以探究用戶的意見。人們通常對產(chǎn)品的各個方面進(jìn)行評論,包括產(chǎn)品的組成部分以及屬性。因此,有必要對產(chǎn)品特征級別的觀點進(jìn)行提煉,而不是針對整個產(chǎn)品或整個評論文本。
然而,分析客戶評論以獲得更細(xì)粒度理解的自動化任務(wù)面臨著許多挑戰(zhàn),特別是由于在客戶評論中并不總是顯式地提出。已有的技術(shù)和研究大都只是致力于從評論語料中挖掘和抽取在評論語句中顯式出現(xiàn)了的評價對象[3]。而根據(jù)Kim和Flavius的研究可知,產(chǎn)品中許多重要的特性也會被消費者含蓄地提到[4]。例如評論句“手機(jī)很小,可以放進(jìn)我的口袋里”隱式地表達(dá)了關(guān)于手機(jī)“尺寸”方面的意見。隱式特征的提取是一個復(fù)雜的問題。文中主要研究隱式方面識別。
考慮如下關(guān)于電子產(chǎn)品領(lǐng)域的評論:
例子1 “很棒,很順暢不卡頓。”
例子2 “還不錯,可以隨身攜帶?!?/p>
例子3 “昨天下單,今天收到貨了。”
這些評論句不難發(fā)現(xiàn)都有一個共通之處即不包含明確的特征詞。但在例句1中,根據(jù)觀點詞“順暢、卡頓”可輕易推斷出用戶是在描述系統(tǒng)這一特征。例句2中有觀點詞“不錯”,但由于其適配性很難僅從詞語本身識別出特征,結(jié)合下文中提到的“隨身攜帶”可知用戶是想表達(dá)關(guān)于“尺寸”這一特征的觀點。例句3中沒有任何評價詞,但根據(jù)“收到貨”這一非觀點詞可知是在描述“物流”這一特征。所以,根據(jù)上述分析可知,借助評論句中的觀點詞或非觀點詞可間接地識別出隱式特征。
在現(xiàn)有的研究中,隱式特征識別大致采用共現(xiàn)分析、關(guān)聯(lián)規(guī)則、主題模型及分類等方法,其中基于共現(xiàn)和關(guān)聯(lián)規(guī)則的關(guān)系推斷法最普遍[5]。這兩種研究方法主要是依賴觀點詞與特征屬性之間的映射關(guān)系,利用帶有標(biāo)簽的語料庫訓(xùn)練模型來提取隱式特征。但隨著線上交易量的日益劇增,在線評論的數(shù)據(jù)量也越來越多,需要消耗大量人力資源。研究者開始專注于無監(jiān)督方法。主題模型,如PLSA和LDA,在自然語言處理的許多任務(wù)中很流行,它們也可以用來識別隱式特征[6-7]。
但這些方法沒有考慮在沒有觀點詞的情況下非觀點詞對識別隱式特征的指導(dǎo)性,而且有的方法也忽視了詞的語義信息,使得隱式識別的精度和準(zhǔn)確度不是很高。所以,文中面向隱式特征識別這一研究難點,提出了一種基于領(lǐng)域特征指示詞的隱式特征識別方法。該方法首先利用多詞型的主題情感聯(lián)合模型自動地從包含顯式特征的評論句中挖掘出“特征-情感”和“特征-非觀點”詞對集,整合成特征指示詞集;再引入詞向量模型作為衡量隱式評論句中線索詞與特征指示詞集中詞項語義相關(guān)度的標(biāo)準(zhǔn);最后根據(jù)線索詞的類型對隱式特征分情況進(jìn)行識別。
隱式特征首先在Liu等人中進(jìn)行了討論[5],他們給出了隱式特征的定義。從那時起,一些研究開始關(guān)注隱式特征的識別。目前的研究可分為監(jiān)督識別、無監(jiān)督識別和半監(jiān)督識別三類。文中主要基于無監(jiān)督識別展開研究。
Prasojo等人擴(kuò)展了傳統(tǒng)的命名實體識別方法,利用形容詞到方面的映射將特征集關(guān)聯(lián)到每個實體[8],然后,他們選擇頻率最高的特征作為目標(biāo)。Santu等人結(jié)合一個背景語言模型和幾個特征語言模型生成評論中的每個單詞。他們通過期望最大化(EM)估計參數(shù),并檢測最終的隱含特征列表[9]。Xu等[6]預(yù)先定義特征類別,將在包含顯式特征的評論句中得到的約束和先驗知識納入主題模型LDA得到特征類別的相關(guān)詞語,以這些詞語為特征對評論句建模,通過構(gòu)建SVM分類器識別隱式特征。Sun等[7]使用聯(lián)合主題模型進(jìn)行隱式特征提取。他們將與隱含特征相關(guān)的意見詞分為兩類,即特殊意見詞和一般意見詞。一般意見詞可以與許多不同的特征共同出現(xiàn),而特殊意見詞只與一個特定的特征共同出現(xiàn)。他們計算了兩個概率分布,一個是主題的意見分布,另一個是主題和意見的上下文分布。最后,他們使用這些值進(jìn)行隱式特征提取。張莉等基于領(lǐng)域中的常用詞對特征詞進(jìn)行聚類,通過精簡意見詞和對其進(jìn)行同義詞擴(kuò)展,構(gòu)建<特征 觀點 權(quán)重> 三元組字典,用于識別隱式特征[10]。
此外,還有許多其他方法,如關(guān)聯(lián)規(guī)則挖掘(Zhang等)[11]和共現(xiàn)關(guān)系(Rana and Cheah[12];Makadia[13])用于無監(jiān)督隱式特征識別。
文中所提出的方法具體如圖1所示,主要包括三個步驟。首先,利用多詞型的主題情感聯(lián)合模型進(jìn)行特征主題聚類并從顯式評論句中提取出“特征-特征指示”詞對集;接著,使用語言技術(shù)平臺LTP對隱式評論句進(jìn)行詞性標(biāo)注,產(chǎn)生候選線索詞,利用詞向量模型計算線索詞與特征指示詞的語義相似度為線索詞匹配特征指示詞;最后,根據(jù)所匹配到的特征指示詞類型分情況采用不同的方法進(jìn)行隱式特征的指派。
圖1 基于領(lǐng)域特征指示詞的隱式特征識別方法框架
2.2.1 模型概述
ASUM(aspect and sentiment unification model)模型基于LDA(latent Dirichlet allocation)進(jìn)行改進(jìn),假設(shè)每個句子只有一個主題以及這個主題下的情感傾向。因此,模型的主要目的便是從評論文本中提取出每一個句子中的(特征,情感)對,以此作為情感分析的依據(jù)[3]。但是ASUM并未區(qū)分表示主題的詞語是特征詞,或特征指示詞還是情感詞,要想明確得到詞語的類型,還需要人為地進(jìn)行辨別。因此,為了能從顯式評論句中自動挖掘出基于領(lǐng)域的“特征-情感”和“特征-非觀點”詞對集并充分利用主題模型的主題(特征)聚類性質(zhì),文中基于ASUM模型的假設(shè)提出一個多詞型的主題情感聯(lián)合模型。該模型通過加入表示單詞類型的隱含變量,建立其與單詞的關(guān)系,進(jìn)一步獲得類型同單詞的概率分布,從而可以識別出單詞的類型。
多詞型的主題情感聯(lián)合模型的圖形化表示如圖2所示,相關(guān)的變量和符號在表1中給出解釋。
表1 多詞型的主題情感聯(lián)合模型圖字母含義
圖2 多詞型的主題情感聯(lián)合模型圖形化表示
多詞型的主題情感聯(lián)合模型通過引入一個隱含變量y來表示單詞的類型。y∈{0,1,2,3}分別表示單詞w是一個通用情感詞,特定的情感詞,特征詞以及非觀點特征指示詞。模型根據(jù)一個先驗的狄利克雷分布生成詞語的類型分布,狄利克雷分布是多項式分布的共軛分布,共軛的特性可以使得先驗分布和后驗分布的形式相同,可以形成一個先驗鏈[8]。
大多數(shù)的產(chǎn)品評論其實都是一句話包含一個特征以及對其評價觀點,所以為了挖掘針對同一實體產(chǎn)品的評論集中不同特征以及觀點,此模型假設(shè)同一個句子的單詞屬于同一個主題(特征)和情感極性,則每一篇文檔在此模型下的生成過程如下:
(1)生成一個詞的類型分布ρ~Dir(ε);
(2)生成一個情感分布πd~Dir(γ);
(3)對每一個情感傾向l,生成一個主題分布θd,l~Dir(α);
(5)對于每一個情感傾向l和主題z,生成三種類型的詞語分布:
(6)對于文檔中每一個句子:
(a)選擇一個情感標(biāo)簽l~Multi(πd);
(b)選擇一個主題z~Multi(θd,l)。
(7)對于每一個單詞wi∈d:
(a)將它所屬文檔的情感標(biāo)簽l分配給它;
(b)選擇一個主題zi~Multi(θd,l);
(c)選擇單詞的類型yi~Multi(ρ);
(d)選擇單詞wi:
2.2.2 參數(shù)估計
多詞型的主題情感聯(lián)合模型的參數(shù)估計使用了吉布斯采樣。在采樣初始化過程中,引入情感詞典、領(lǐng)域情感詞典以及領(lǐng)域特征詞典作為先驗知識,以便能更準(zhǔn)確地采樣出詞語的類型。具體做法就是,在初始化時遍歷所有文檔中每一個單詞,若單詞存在于這三個詞典里,便對其標(biāo)注相應(yīng)的詞語類型。
為了獲得π,θ,φ和ρ,在吉布斯的采樣過程中會依次采樣出每一個單詞的主題,情感傾向以及單詞的類型。現(xiàn)在大多數(shù)產(chǎn)品評論都是內(nèi)容精短但語義信息豐富的形式,若單純將每一個評論看作是一篇文檔,會因為文本的稀疏性造成采樣結(jié)果準(zhǔn)確率不高的情況。而文中是為了挖掘某一實體產(chǎn)品的不同特征,其評論都是圍繞產(chǎn)品不同特征進(jìn)行評價,評論句之間都有一定的語義相似度。所以為了解決評論文本稀疏性問題,文中在多詞型的主題情感聯(lián)合模型的采樣過程中,將所有評論看作是一篇長的偽文檔進(jìn)行采樣。首先,為每一個單詞采樣一個主題和情感標(biāo)簽,主題和情感標(biāo)簽是聯(lián)合采樣,采樣條件公式如公式(1)所示,公式中具體符號含義在表2中給出解釋。
(1)
接著對詞語類型進(jìn)行采樣?;诘依死椎南闰灧植?,第i個單詞的詞語類型y的采樣條件公式如公式(2)所示,公式中具體符號含義也在表2中給出解釋。
(2)
p(yi=t|y-i,l,z,w)∞
為了后續(xù)隱式特征識別的引用,將從顯式評論中挖掘出的特征指示詞對集整合成如下形式。每一個特征類別(F1F2…Fm)下對應(yīng)一般情感詞、特征情感詞以及非觀點情感詞三種類型詞語,每一種詞類型下保留概率top 20的詞語,對其進(jìn)行篩選,留下語義相關(guān)性強(qiáng)的詞語,如表3所示。
表3 特征-詞型-指示詞
文中基于特征指示詞集識別隱式特征,關(guān)鍵步驟就是為隱式評論句中的線索詞尋找到最匹配的指示詞。利用多詞型的主題情感聯(lián)合模型所挖掘出的特征指示詞集雖然在主題聚類以及自動化方面比較好,但會因為基于詞共現(xiàn)的原理而忽視一些低頻但語義相關(guān)度很高的詞語,使得匹配指示詞的結(jié)果不是很成功。所以,為了能在特征指示詞集中成功匹配到與線索詞相關(guān)聯(lián)度最高的指示詞,引入了詞向量模型。
詞向量概念Word2Vec的核心思想是通過上下文學(xué)習(xí)詞的向量表示。詞向量的表示能夠反映詞的語義信息并且利用其空間距離可測度詞項間的語義關(guān)聯(lián)度。詞向量有CBOW(continuous bag of words)和Skip-gram 兩個重要模型,二者主要的區(qū)別在于CBOW利用上下文預(yù)測詞項,Skip-gram則是根據(jù)詞項預(yù)測上下文。文中選擇CBOW模型,借助Python的Genism工具包構(gòu)建詞向量,向量維度100,上下文窗口尺寸5[10]。
(3)
隱式評論句中的線索詞一般為觀點詞和非觀點詞兩種。文中利用語言技術(shù)平臺LTP對評論句進(jìn)行詞性標(biāo)注,保留下形容詞、名詞或名詞性短語以及動詞或動詞性短語作為候選線索詞和上下文詞。為了提高隱式特征識別的準(zhǔn)確率,依據(jù)隱式評論句中線索詞的類別對隱式特征分情況進(jìn)行識別。
具體步驟如下:
Step 1:選擇線索詞。若評論句中有形容詞,則將形容詞視為線索詞。否則,將動詞或動名詞視為線索詞。
Step 2:匹配特征指示詞。若線索詞是形容詞,利用公式(3)計算其與表3中G和O兩種類型下詞語的關(guān)聯(lián)度,選擇關(guān)聯(lián)度最高的詞項作為其特征指示詞。若線索詞是動詞或動名詞,利用公式(3)計算其與表3中I類型下詞語的關(guān)聯(lián)度,也是選擇關(guān)聯(lián)度最高的詞項作為其特征指示詞。
Step 3:依據(jù)特征指示詞的類型分情形識別隱式特征。
(1)特征指示詞是特定情感詞或非觀點詞,將其所屬特征類別直接匹配給線索詞。
(2)特征指示詞是一般情感詞,需要結(jié)合線索詞的上下文詞。選定線索詞鄰近的名詞或動詞作為上下文詞,并根據(jù)公式:
(4)
計算公式如下:
(5)
(6)
算法1:描述了隱式特征識別的過程。
Algorithm 1:隱式特征識別
輸入:線索詞集Wcue,線索詞的上下文詞集,特征指示詞集WInd
輸出:相匹配的隱式特征集
1 對Wcue里的每一個線索詞wcue:
2 如果wcue是形容詞:
3 對特征指示詞集WInd里一般情感詞和特定情感詞類型下的每一個特征指示詞wInd:
4 計算余弦相似度sim(wcue,wInd);
5 循環(huán)結(jié)束
6 否則
7 對特征指示詞集WInd里非觀點詞類型下的每一個特征指示詞wInd:
8 計算余弦相似度sim(wcue,wInd);
9 循環(huán)結(jié)束
10 得到線索詞語義相似度最大的特征指示詞wInd',特征指示詞的類型及其所屬特征;
11 如果wInd'的類型是特定觀點詞或非觀點詞:
12 預(yù)測wInd'所屬的特征為相對應(yīng)線索詞的目標(biāo)特征;
13 否則
14 利用線索詞的上下文詞和wInd'計算候選特征集的得分;
15 預(yù)測得分最高的候選特征為相對應(yīng)線索詞的目標(biāo)特征
文中使用了五個不同產(chǎn)品的用戶評論來評估所提出的方法,分別是酒店、手機(jī)、平板、計算機(jī)和衣服。每種產(chǎn)品的評論數(shù)量是10 000條。使用Python工具包nltk和語言技術(shù)平臺LTP對評論進(jìn)行分句、去除停用詞、分詞和詞性標(biāo)注等操作。經(jīng)過篩選,各產(chǎn)品的隱式評論句大約占評論總數(shù)的25%左右,可見識別隱式特征具有重要的意義,能夠更全面捕捉特征信息,進(jìn)一步提升情感分析的精度。
為了訓(xùn)練多詞型情感主題情感聯(lián)合模型,依據(jù)文獻(xiàn)[14],將參數(shù)γ設(shè)置為1,表示各種情感出現(xiàn)的概率相同。參數(shù)β為了結(jié)合種子詞,采用非對稱取法,負(fù)向單詞情感采樣的時候,正向單詞的先驗為0,其他設(shè)為0.001,同理正向采樣時,負(fù)向單詞先驗為0,其他也設(shè)為0.001。參數(shù)α和參數(shù)ε則分別設(shè)置為0.1和0.25,迭代1 000次。
文中使用精準(zhǔn)度precision以及召回率recall作為評價指標(biāo),如公式(7)和公式(8)所示。
(7)
(8)
3.4.1 特征指示詞集
在進(jìn)行隱式特征識別之前,首先需要建立一個“特征-特征指示”詞對集。表4展示了一個關(guān)于酒店的顯式評論句的挖掘結(jié)果樣例。實驗設(shè)定主題(特征)個數(shù)為8,依據(jù)各主題下的特征詞描述可知這8個特征分別為:地理位置、環(huán)境、服務(wù)態(tài)度、酒店設(shè)施、餐飲、價格、網(wǎng)上預(yù)訂以及人氣。可以發(fā)現(xiàn)地理位置、價格、服務(wù)態(tài)度和酒店設(shè)施這四個類別下不同類型的詞語分布比較均勻,而環(huán)境、餐飲、網(wǎng)上預(yù)訂以及人氣這四個類別則是某一類型下的詞語分布比較突出。由于主題模型依賴數(shù)據(jù)質(zhì)量,使用的數(shù)據(jù)量不夠,出現(xiàn)了一些無效詞。
表4 特征指示詞集
3.4.2 隱式特征識別
文中識別隱式特征很大程度上依賴于多詞型的主題情感聯(lián)合模型的采樣結(jié)果和詞向量模型的訓(xùn)練,而在線索詞為一般情感詞的情況下又考慮了上下文的權(quán)重。文獻(xiàn)[7]基于標(biāo)準(zhǔn)LDA模型提出了一種改進(jìn)的主題模型聯(lián)合主題-意見模型(JTO),用于提取意見詞的隱含特征,包括特殊意見詞和一般意見詞。文獻(xiàn)[15]試圖通過構(gòu)建改進(jìn)矩陣和實現(xiàn)LDA主題模型來得到兩個概率分布。采用余弦相似度考慮上下文權(quán)重,計算意見詞候選特征的得分來實現(xiàn)隱式特征識別。所以,文中選擇與文獻(xiàn)[7,15]中用到的方法進(jìn)行比較。評估指標(biāo)的計算依賴于手工注釋。結(jié)果如圖3和圖4所示,其中JTO和CW分別表示文獻(xiàn)[7]和文獻(xiàn)[15]中所用的方法,MI則表示文中方法。
圖3 隱式特征識別的準(zhǔn)確率
圖4 隱式特征識別的召回率
依據(jù)圖中數(shù)據(jù)可以看到,在平板這產(chǎn)品數(shù)據(jù)集上,MI方法的準(zhǔn)確率和召回率比JTO和CW要低,有可能是因為多詞型的主題情感聯(lián)合模型在這一數(shù)據(jù)集上的表現(xiàn)不是很好。而在整體上,經(jīng)過統(tǒng)計發(fā)現(xiàn)MI方法在精確率和召回率上比文獻(xiàn)[7]中JTO方法平均高出3%,比文獻(xiàn)[15]中CW方法平均高出2%,這可能是因為JTO和CW雖然考慮了觀點詞和上下文詞的權(quán)重,但卻忽視了詞的語義信息和非觀點詞的指示性。綜合上述分析,證明了文中提出的基于領(lǐng)域特征指示詞的隱式特征識別方法的有效性。
文中提出了一種基于領(lǐng)域特征指示詞的隱式特征識別方法。該方法首先通過在ASUM模型中加入表示詞語類型的隱含變量構(gòu)建多詞型的主題情感聯(lián)合模型,利用該模型對特定領(lǐng)域的顯式評論句進(jìn)行特征類別下指示詞的挖掘。然后,在隱式特征的識別過程中,引入詞向量模型作為衡量隱式評論句中線索詞與特征指示詞集中詞項語義相關(guān)度的標(biāo)準(zhǔn),并根據(jù)線索詞的類型來分情況實現(xiàn)對隱式特征的指派。實驗表明,該方法在隱式特征識別方面有著較好的精確度與召回率。但是該方法只能識別隱式評論句的特征類別,卻不能進(jìn)一步識別其所表達(dá)的情感傾向。所以在以后的工作中,將嘗試研究評論句中隱式情感的識別,以獲得評論用戶更全面的情感信息。