曲昭偉,吳春葉,王曉茹
(1. 北京郵電大學(xué) 網(wǎng)絡(luò)技術(shù)研究院,北京 100876; 2. 北京郵電大學(xué) 計(jì)算機(jī)學(xué)院,北京 100876)
隨著互聯(lián)網(wǎng)的發(fā)展,用戶逐漸借助網(wǎng)絡(luò)平臺(tái)來發(fā)表自己對(duì)于產(chǎn)品和服務(wù)的意見。這些評(píng)論往往由句子組成的短文本的形式出現(xiàn),涉及產(chǎn)品的一個(gè)或者多個(gè)方面意見。因此句子級(jí)別的觀點(diǎn)挖掘[1]任務(wù)一直是研究的熱點(diǎn)。觀點(diǎn)由4個(gè)元素組成:方面、持有者、觀點(diǎn)內(nèi)容及情感。這四者之間所存在的聯(lián)系為:觀點(diǎn)的持有者針對(duì)某一方面發(fā)表了具有情感的觀點(diǎn)內(nèi)容。方面提取[2]是觀點(diǎn)挖掘任務(wù)的子任務(wù)之一。簡(jiǎn)短專注于觀點(diǎn)句子中的實(shí)體部分提取,例如:“口味很好,服務(wù)周到,值得推薦”。這里的“口味”和“服務(wù)”就是方面術(shù)語,在方面提取中又涉及兩個(gè)子任務(wù):1)提取評(píng)論句子的黃金方面也叫做主體方面,是評(píng)論中各個(gè)方面表示的總稱,例如美食評(píng)論包括黃金方面“食物”“服務(wù)”等,黃金方面“食物”包含多種多個(gè)方面表示詞如“味道、口味”等;2)從評(píng)論語料庫(kù)中學(xué)習(xí)所涉及的方面表示詞。
近年來,潛在狄利克雷分布(LDA)[3]及其變種[1,4-5]已成為用于方面提取的主導(dǎo)無監(jiān)督方法。LDA將語料庫(kù)建模為主題(方面)的混合,并將主題作為詞類的分布。盡管基于LDA的模型發(fā)現(xiàn)的各個(gè)方面可能會(huì)很好地描述一個(gè)語料庫(kù),但發(fā)現(xiàn)提取出的各個(gè)方面質(zhì)量差,通常由無關(guān)或松散相關(guān)的概念組成。因?yàn)榛贚DA的模型需要估計(jì)每個(gè)文檔的主題分布,但是評(píng)論語句通常是由句子組成的短文本,對(duì)于主體分布的評(píng)估造成困難,所以效果不好。
監(jiān)督學(xué)習(xí)的方法是近年來流行的研究方法,深度學(xué)習(xí)中卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)[6-7]被應(yīng)用于方面提取任務(wù),并展現(xiàn)出卓越的效果。文獻(xiàn)[8]提出一種基于7層深度卷積網(wǎng)絡(luò)的模型來對(duì)句子進(jìn)行標(biāo)記訓(xùn)練,從而對(duì)評(píng)論進(jìn)行方面提取,而且效果比較理想。然而,監(jiān)督學(xué)習(xí)需要大量的標(biāo)注文本作為訓(xùn)練數(shù)據(jù),人工標(biāo)簽成本太高,而且主觀性太強(qiáng)。
本文利用提出了一種新的半監(jiān)督自訓(xùn)練的方法確定黃金方面[9]后利用少量標(biāo)注的方面種子詞,在未標(biāo)簽數(shù)據(jù)集上提取方面表示相似詞,建立多個(gè)方面表示詞集合,解決方面表示詞集問題,利用豐富的方面詞集合來識(shí)別文本的,能夠避免大量的人工標(biāo)注,并且本文方法在實(shí)際中文數(shù)據(jù)集和英文數(shù)據(jù)集上都產(chǎn)生了理想的效果。對(duì)實(shí)際的數(shù)據(jù)集進(jìn)行了如下3個(gè)方面的研究:
1)根據(jù)研究評(píng)論數(shù)據(jù),發(fā)現(xiàn)評(píng)論的針對(duì)性很強(qiáng),基本是針對(duì)某項(xiàng)產(chǎn)品或者服務(wù)給出自己的體驗(yàn)和建議。而且數(shù)據(jù)結(jié)構(gòu)具有鮮明的產(chǎn)品特色,句子語言簡(jiǎn)短觀點(diǎn)明確,會(huì)經(jīng)常使用到明顯的方面表示詞來發(fā)表意見。
2)評(píng)論往往涉及一個(gè)或者多個(gè)方面,以下一個(gè)簡(jiǎn)單的例子來自美團(tuán)網(wǎng)(http://bj.meituan.com/meishi/)美食評(píng)論數(shù)據(jù)來說明研究的意義。例如:“口味清淡,服務(wù)員態(tài)度很好,就是價(jià)格有點(diǎn)貴”。這句評(píng)論涉及了對(duì)餐廳食物的“口味”“服務(wù)”以及“價(jià)格”3個(gè)方面的評(píng)價(jià),而且對(duì)于不同的方面給出了不同的意見。采用方面表示向量來對(duì)涉及的方面進(jìn)行向量表示。方面提取作為觀點(diǎn)挖掘的第一步,來確定評(píng)論涉及的多個(gè)方面。
3)考慮到評(píng)論中涉及的含蓄表達(dá),例如:“還挺好吃的,排隊(duì)等了半小時(shí),不過還是很好吃”。句子中并沒有明確的方面表示詞,但是根據(jù)關(guān)鍵詞“好吃”可以確定是針對(duì)食物的方面意見。針對(duì)這種沒有明確方面表示名詞的提取方面形容詞來識(shí)別方面。
基于以上的研究,本文提出的半監(jiān)督自訓(xùn)練方法能夠確定方面表示詞并且自動(dòng)對(duì)評(píng)論進(jìn)行方面識(shí)別。首先通過計(jì)算數(shù)據(jù)集中每個(gè)詞的TFIDF值,確定數(shù)據(jù)集的黃金方面,進(jìn)一步從部分標(biāo)簽數(shù)據(jù)中獲取方面表示種子詞,利用詞向量模型在實(shí)際未標(biāo)簽的數(shù)據(jù)集中尋找相似詞,獲得的與種子詞相似的方面表示詞,補(bǔ)充到對(duì)應(yīng)的黃金方面詞典里,擴(kuò)充方面詞典。并對(duì)目標(biāo)文本進(jìn)行方面識(shí)別,得到文本的方面表示向量。
方面提取[10]是觀點(diǎn)挖掘任務(wù)的基礎(chǔ)性工作,在過去的十幾年間,許多學(xué)者已經(jīng)在方面提取上做了很多研究工作。主要專注于兩個(gè)方向的研究,無監(jiān)督和有監(jiān)督方法方面提取過程可看作一個(gè)文本序列標(biāo)注問題,因此可利用帶監(jiān)督的統(tǒng)計(jì)模型對(duì)序列標(biāo)注過程進(jìn)行訓(xùn)練從而提取句子的方面表示。適用此問題的典型帶監(jiān)督學(xué)習(xí)的方法有隱馬爾可夫模型(hidden Markov model, HMM)[10]、條件隨機(jī)場(chǎng)模型(conditional random rield,CRF)[11]等,文獻(xiàn)[10, 12-14]采用一種編入詞匯的HMM模型來提取顯式方面。 最近,提出了不同的神經(jīng)模型[15-16],以自動(dòng)學(xué)習(xí)基于CRF的方面提取的特征。但是監(jiān)督學(xué)習(xí)需要大量的標(biāo)簽數(shù)據(jù)作為訓(xùn)練集,數(shù)據(jù)標(biāo)注需要耗費(fèi)大量的人力成本。
無監(jiān)督的學(xué)習(xí)方法可以避免標(biāo)簽依賴問題。潛在狄利克雷分布(LDA)[3]已成為方面提取的主導(dǎo)無監(jiān)督方法。LDA將語料庫(kù)建模為主題(方面)的混合,并將主題作為詞類的分布。雖然基于LDA的模型挖掘到的各個(gè)方面得到一個(gè)很好的描述,但提取出的各個(gè)方面質(zhì)量不好,通常由無關(guān)或松散相關(guān)的概念組成。因?yàn)榛贚DA的模型需要估計(jì)每個(gè)文檔的主題分布,但是評(píng)論語句通常是由句子組成的短文本,對(duì)于主體分布的評(píng)估造成困難。文獻(xiàn)[17]以Apriori算法為基礎(chǔ)采用關(guān)聯(lián)規(guī)則挖掘方法找出頻繁出現(xiàn)的名詞并名詞短語作為候選方面,然后,將錯(cuò)誤的詞語通過剪枝算法進(jìn)行過濾,最終形成方面集合。大多數(shù)方法是基于LDA,文獻(xiàn)[18]提出了一個(gè)生成共現(xiàn)詞對(duì)的主題模型(BTM)。
半監(jiān)督模型在方面提取中既避免了大量的文本標(biāo)注,也可以利用數(shù)據(jù)的內(nèi)部大量的信息來進(jìn)行方面提取。文獻(xiàn)[19]提出了兩個(gè)半監(jiān)督模型:SAS(seeded aspect and sentiment model)和MESAS(maximum entropy-SAS model)。SAS 是個(gè)混合主題模型在提取方面后提取觀點(diǎn)內(nèi)容,后者將方面與內(nèi)容聯(lián)合提取。同時(shí),模型中加入相應(yīng)種子詞匯,但是可移植性較差。
本文提出的基于半監(jiān)督自訓(xùn)練的方法進(jìn)行方面提取,不僅避免監(jiān)督學(xué)習(xí)中的大量的標(biāo)簽數(shù)據(jù)依賴問題;而且,解決了無監(jiān)督主題模型中存在的短文本的方面提取結(jié)果不穩(wěn)定的問題,并且在中文和英文數(shù)據(jù)集上都產(chǎn)生很好的性能。
自訓(xùn)練的過程中從未標(biāo)簽的訓(xùn)練數(shù)據(jù)集上學(xué)習(xí)到貼近數(shù)據(jù)集合的方面表示詞。首先計(jì)算數(shù)據(jù)集單詞的TF-IDF,并對(duì)結(jié)果進(jìn)行排序以便確定黃金方面。對(duì)于確定的黃金方面結(jié)果,隨機(jī)選擇少量的數(shù)據(jù)進(jìn)行人工方面標(biāo)注,從標(biāo)注結(jié)果中選取黃金方面表示詞作為方面表示種子詞?;诜矫娣N子詞,利用詞向量模型進(jìn)行方面表示詞學(xué)習(xí),擴(kuò)充方面表示詞集合。利用新生成的集合對(duì)部分標(biāo)簽數(shù)據(jù)進(jìn)行方面識(shí)別驗(yàn)證,并生成對(duì)應(yīng)的方面向量。直到交叉驗(yàn)證的結(jié)果的正確率不再上升,則得到了最終的方面表示詞集合。自訓(xùn)練模型架構(gòu)如圖1所示。
圖 1 自訓(xùn)練模型架構(gòu)Fig. 1 Self-training model architectural overview
為了獲得數(shù)據(jù)集上的黃金方面,計(jì)算了數(shù)據(jù)集中單詞的TF-IDF值。用以評(píng)估一個(gè)單詞對(duì)于一個(gè)語料庫(kù)中的其中一份文檔的重要程度。單詞的重要性隨著它在該文檔中出現(xiàn)的次數(shù)增加,但同時(shí)會(huì)隨著它在語料庫(kù)中出現(xiàn)的頻率下降。其中詞頻(term frequency, TF)指的是某一個(gè)給定的詞語在該文件中出現(xiàn)的次數(shù),逆向文件頻率(inverse document frequency, IDF)是一個(gè)詞語普遍重要性的度量。某一特定詞語的IDF,可以由總文件數(shù)目除以包含該詞語之文件的數(shù)目,再將得到的商取對(duì)數(shù)得到。對(duì)于在某一特定文件里的詞語ti來說,它的重要性可表示為
式中:ni,j是該詞ti在文件dj中出現(xiàn)的次數(shù),而分母是在文件dj中所有單詞出現(xiàn)次數(shù)之和。逆向文件頻率是一個(gè)詞語普遍重要性的度量。某一特定詞語的IDF,可以由總文件數(shù)目除以包含該詞語之文件的數(shù)目,再將得到的商取對(duì)數(shù)得到:
為了獲得方面表示詞集合,引入詞向量模型,利用模型學(xué)習(xí)到與數(shù)據(jù)集相關(guān)的豐富準(zhǔn)確的方面表示詞集。在每次方面詞的學(xué)習(xí)過程中計(jì)算與已經(jīng)確定的詞集合的相似性,保留每個(gè)方面不重復(fù)的前10個(gè)詞,擴(kuò)充方面詞典,學(xué)習(xí)的過程在交叉驗(yàn)證結(jié)果的正確率下降前停止。這是一個(gè)自訓(xùn)練的過程,來確定方面表示詞集。因此,構(gòu)建詞向量[20]模型是非常重要的。
模型參數(shù)可以通過最小化交叉熵規(guī)則化損失函數(shù)來擬合:
模型參數(shù)θ包括嵌入層矩陣C的元素和反向傳播神經(jīng)網(wǎng)絡(luò)模型g中的權(quán)重。這是一個(gè)巨大的參數(shù)空間。
圖 2 詞向量生成模型Fig. 2 Word embedding generation model
為了從上下文中預(yù)測(cè)目標(biāo)詞的過程中學(xué)習(xí)詞向量。Skip-gram[21-22]模型的正向計(jì)算在數(shù)學(xué)上構(gòu)造為
考慮到上下文,目標(biāo)單詞屬于一個(gè)子集的概率服從以下邏輯回歸函數(shù)分布:
劃分子集并重復(fù)上面的過程,使用二叉樹可以獲得logV的深度。葉節(jié)點(diǎn)逐一對(duì)應(yīng)原始字典詞,非葉節(jié)點(diǎn)對(duì)應(yīng)于類似類集的詞。從根節(jié)點(diǎn)到任何一個(gè)葉節(jié)點(diǎn)只有一條路。同時(shí),從根節(jié)點(diǎn)到葉節(jié)點(diǎn)的方式是隨機(jī)游走過程。因此,可以基于這個(gè)二叉樹來計(jì)算葉節(jié)點(diǎn)出現(xiàn)的概率。例如,如果樣本及其二叉樹中的目標(biāo)詞編碼為則似然函數(shù)為
每個(gè)項(xiàng)目是方程中的邏輯回歸函數(shù),并且可以通過最大化似然函數(shù)來獲得非葉節(jié)點(diǎn)向量。一個(gè)詞條件概率的變化會(huì)影響其路徑中所有非葉節(jié)點(diǎn)的概率變化,間接影響其他詞匯出現(xiàn)在不同程度的條件概率。因此,為了準(zhǔn)確地獲得方面詞的向量,n(黃金方面數(shù))個(gè)skim-gram模型構(gòu)建并輸入已經(jīng)由模型上一次迭代產(chǎn)生的數(shù)據(jù)。該模型的n個(gè)部分分別基于n個(gè)語料庫(kù)構(gòu)建詞向量,避免了詞向量的交互。單詞嵌入可以很容易地獲得類似的單詞。
本節(jié)描述實(shí)驗(yàn)的建立過程,以及本文實(shí)驗(yàn)在實(shí)際的中文和英文數(shù)據(jù)集的效果,并且與已有的經(jīng)典方法進(jìn)行對(duì)比,最后對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了分析評(píng)估。
數(shù)據(jù)集:采用一個(gè)中文數(shù)據(jù)集和一個(gè)英文數(shù)據(jù)集來評(píng)估本文方法。對(duì)于中文數(shù)據(jù)集,爬蟲從美團(tuán)網(wǎng)獲取的71萬條美食評(píng)論。英文的公共數(shù)據(jù)集Citysearch corpus是一個(gè)餐館評(píng)論語料庫(kù),以前的研究文獻(xiàn)[5, 23-24]也廣泛使用,其中包含超過5萬個(gè)來自Citysearch New York的餐廳評(píng)論。文獻(xiàn)[23]還提供了一個(gè)從語料庫(kù)中手工標(biāo)記的3 400個(gè)句子的子集。這些有標(biāo)簽的句子用于評(píng)估方面識(shí)別。有6個(gè)手動(dòng)定義的方面標(biāo)簽:Food、Staff、Ambience、Price、Anecdotes、Miscellaneous,數(shù)據(jù)集分布見表1。
表 1 數(shù)據(jù)集描述Table 1 Data set description
數(shù)據(jù)預(yù)處理:為了獲得中文方面表示詞的集合,將隨機(jī)選擇的1 500份美食評(píng)論平均分成5組,5位評(píng)估者被要求按照涉及的方面進(jìn)行手動(dòng)標(biāo)注評(píng)論。所有的中文評(píng)論都被分詞工具jieba分割。并且去除標(biāo)點(diǎn)符號(hào)和停用詞。英文數(shù)據(jù)集只選取了Food、Staff、Ambience三個(gè)方面黃金方面的數(shù)據(jù),去除停用詞和標(biāo)點(diǎn)符號(hào),并且把單詞的變形轉(zhuǎn)換成最原始的形態(tài)。2個(gè)數(shù)據(jù)集的單詞分布結(jié)果見表2,黃金方面和部分方面表示詞的示例見表3。
基準(zhǔn)方法:為了評(píng)估本文模型,選擇了兩個(gè)基準(zhǔn)方法。
表 2 數(shù)據(jù)單詞集描述Table 2 Data word set description
LocLDA[23]:該方法使用了LDA的標(biāo)準(zhǔn)實(shí)現(xiàn)。為了防止全局主題的提取并將模型引向可評(píng)價(jià)方面,將每條評(píng)論作為一個(gè)單獨(dú)的文檔處理。模型的輸出是對(duì)數(shù)據(jù)中每條評(píng)論的方面分布。
SAS[19]:該方法是一個(gè)混合主題模型,在用戶感興趣的類別上給定一些種子詞,自動(dòng)地提取類別方面術(shù)語。這個(gè)模型在已知的主題模型上,對(duì)于方面提取具有很強(qiáng)的競(jìng)爭(zhēng)性。
表 3 黃金方面和部分方面表示詞Table 3 Gold aspects and representative words
評(píng)估方法:把每個(gè)方面識(shí)別的過程看作一個(gè)二分類的過程,因此方面提取的效果通過precision、recall率和F13個(gè)指標(biāo)來衡量,precision=對(duì)于每個(gè)二分類過程,存在4種可能的情況,正類被預(yù)測(cè)成正類(TP),負(fù)類被預(yù)測(cè)成正類(FP),負(fù)類被預(yù)測(cè)成負(fù)類(TN),正類被預(yù)測(cè)成負(fù)類(FN)。
對(duì)于英文餐廳的數(shù)據(jù)集,評(píng)估“Food”“Staff ”和“Ambience”3個(gè)主要方面,因?yàn)槠渌矫娴臄?shù)據(jù)在詞語使用或?qū)懽黠L(fēng)格上都沒有表現(xiàn)出明確的模式,這使得這些方面甚至很難被人類識(shí)別。中文數(shù)據(jù)集評(píng)估了“食物”“價(jià)格”“服務(wù)”和“環(huán)境”4個(gè)方面,根據(jù)計(jì)算數(shù)據(jù)集的各單詞的TF-IDF來確定數(shù)據(jù)集的黃金方面。本文模型在英文數(shù)據(jù)集和中文數(shù)據(jù)集上的結(jié)果如表4、表5和圖3、圖4所示。
通過圖表的對(duì)比可以觀察到:1)在英文數(shù)據(jù)集上,本文方法(AESS)在3個(gè)方面的召回率都高于其他方法,本文方法在員工和環(huán)境方面識(shí)別的F1分?jǐn)?shù)高于其他2種方法。AESS食物的F1比SAS差,但其召回率非常高。分析了原因,發(fā)現(xiàn)大多數(shù)句子沒有提及到味道或者食物的名詞。例如,“挺好吃的”這個(gè)句子的真實(shí)標(biāo)簽就是食物。
2)在中文數(shù)據(jù)集上,本文方法(AESS)在食物、價(jià)格和環(huán)境方面識(shí)別的F1分?jǐn)?shù)高于其他方法,4個(gè)方面的召回率都高于其他方法。本文方法在中文數(shù)據(jù)集上明顯優(yōu)于其他2種方法,可能的原因有中文數(shù)據(jù)集是具有特色的美食評(píng)論數(shù)據(jù),中文在語法表達(dá)上和英文不同,語句簡(jiǎn)短甚至沒有固定的語法,對(duì)于主題提取比較困難,基于數(shù)據(jù)集創(chuàng)建詞典,避免這類問題,因此效果比較好。
表 4 3種方法在相同的英文數(shù)據(jù)集上的3個(gè)黃金方面確定的結(jié)果對(duì)比Table 4 Comparison of results determined by the three methods on the three gold aspects of the same English data set
表 5 3種方法在相同的中文數(shù)據(jù)集上的4個(gè)黃金方面確定的結(jié)果對(duì)比Table 5 Comparison of results determined by the three methods on the four gold aspects of the same Chinese data set
圖 3 3種方法在相同的英文數(shù)據(jù)集上的3個(gè)黃金方面確定F1結(jié)果對(duì)比Fig. 3 The F1 results that three methods determine the three gold aspects on same English data set
圖 4 3種方法在相同的中文數(shù)據(jù)集上的4個(gè)黃金方面確定結(jié)果對(duì)比Fig. 4 The F1 results that three methods determine the four gold aspects on same Chinese data set
本文提出一種基于半監(jiān)督自訓(xùn)練的方面提取方法,避免了監(jiān)督學(xué)習(xí)的標(biāo)簽數(shù)據(jù)依賴問題,并且在方面提取的結(jié)果中解決了以往無監(jiān)督模型的方面聚類效果不一致的問題。本文有3個(gè)方面的貢獻(xiàn):1)人工標(biāo)注少量的方面,作為方面表示的種子詞,利用詞向量獲得與語料相關(guān)的豐富的方面表示詞典集合,確定方面表示單詞集合,解決方面表示單詞確定的困難;2)通過計(jì)算數(shù)據(jù)集單詞的TF-IDF值來確定數(shù)據(jù)集黃金方面,對(duì)每個(gè)句子進(jìn)行多個(gè)方面的識(shí)別,并采用方面向量表示文本的包含的方面;3)本文方法同時(shí)應(yīng)用到中文美食評(píng)論和英文公開評(píng)論數(shù)據(jù)集,并對(duì)比了兩種經(jīng)典的方面提取方法。但是本模型對(duì)單詞種子詞比較敏感,未來可以進(jìn)一步在方面提取的基礎(chǔ)上基于方面對(duì)內(nèi)容進(jìn)行挖掘,將具有更重要的意義。