人工智能技術(shù)落地:情感分析概述

0 評(píng)論 13729 瀏覽 59 收藏 33 分鐘

從自然語(yǔ)言處理技術(shù)的角度來(lái)看,情感分析的任務(wù)是從評(píng)論的文本中提取出評(píng)論的實(shí)體,以及評(píng)論者對(duì)該實(shí)體所表達(dá)的情感傾向,自然語(yǔ)言所有的核心技術(shù)問(wèn)題。因此,情感分析被認(rèn)為是一個(gè)自然語(yǔ)言處理的子任務(wù)。

情感分析概述

與其他的人工智能技術(shù)相比,情感分析(Sentiment Analysis)顯得有些特殊,因?yàn)槠渌念I(lǐng)域都是根據(jù)客觀的數(shù)據(jù)來(lái)進(jìn)行分析和預(yù)測(cè),但情感分析則帶有強(qiáng)烈的個(gè)人主觀因素。情感分析的目標(biāo)是從文本中分析出人們對(duì)于實(shí)體及其屬性所表達(dá)的情感傾向以及觀點(diǎn),這項(xiàng)技術(shù)最早的研究始于2003年Nasukawa和Yi兩位學(xué)者的關(guān)于商品評(píng)論的論文。

隨著推特等社交媒體以及電商平臺(tái)的發(fā)展而產(chǎn)生大量帶有觀點(diǎn)的內(nèi)容,給情感分析提供了所需的數(shù)據(jù)基礎(chǔ)。時(shí)至今日,情感識(shí)別已經(jīng)在多個(gè)領(lǐng)域被廣泛的應(yīng)用。

例如:

  • 在商品零售領(lǐng)域,用戶的評(píng)價(jià)對(duì)于零售商和生產(chǎn)商都是非常重要的反饋信息,通過(guò)對(duì)海量用戶的評(píng)價(jià)進(jìn)行情感分析,可以量化用戶對(duì)產(chǎn)品及其競(jìng)品的褒貶程度,從而了解用戶對(duì)于產(chǎn)品的訴求以及自己產(chǎn)品與競(jìng)品的對(duì)比優(yōu)劣。
  • 在社會(huì)輿情領(lǐng)域,通過(guò)分析大眾對(duì)于社會(huì)熱點(diǎn)事件的點(diǎn)評(píng)可以有效的掌握輿論的走向。
  • 在企業(yè)輿情方面,利用情感分析可以快速了解社會(huì)對(duì)企業(yè)的評(píng)價(jià),為企業(yè)的戰(zhàn)略規(guī)劃提供決策依據(jù),提升企業(yè)在市場(chǎng)中的競(jìng)爭(zhēng)力。
  • 在金融交易領(lǐng)域,分析交易者對(duì)于股票及其他金融衍生品的態(tài)度,為行情交易提供輔助依據(jù)。

目前,絕大多數(shù)的人工智能開(kāi)放平臺(tái)都具備情感分析的能力,如圖所示:是玻森中文語(yǔ)義開(kāi)放平臺(tái)的情感分析功能演示,可以看出除了通用領(lǐng)域的情感分析外,還有汽車、廚具、餐飲、新聞和微博幾個(gè)特定領(lǐng)域的分析。

人工智能技術(shù)應(yīng)用:情感分析概述

玻森中文語(yǔ)義開(kāi)放平臺(tái)的情感分析示例

那么到底什么是情感分析呢?

從自然語(yǔ)言處理技術(shù)的角度來(lái)看,情感分析的任務(wù)是從評(píng)論的文本中提取出評(píng)論的實(shí)體,以及評(píng)論者對(duì)該實(shí)體所表達(dá)的情感傾向,自然語(yǔ)言所有的核心技術(shù)問(wèn)題,例如:詞匯語(yǔ)義,指代消解,此役小氣,信息抽取,語(yǔ)義分析等都會(huì)在情感分析中用到。

因此,情感分析被認(rèn)為是一個(gè)自然語(yǔ)言處理的子任務(wù),我們可以將人們對(duì)于某個(gè)實(shí)體目標(biāo)的情感統(tǒng)一用一個(gè)五元組的格式來(lái)表示:(e,a,s,h,t)

  • e表示情感分析的目標(biāo)實(shí)體,可以是一個(gè)具體的實(shí)例,也可以是一個(gè)類,但必須是唯一的對(duì)象。
  • a表示實(shí)體e中一個(gè)觀點(diǎn)具體評(píng)價(jià)的屬性。
  • s表示對(duì)實(shí)體e的a屬性的觀點(diǎn)中所包含的情感,通常來(lái)講會(huì)分為正向褒義、負(fù)向貶義和中性三種分類。也可以通過(guò)回歸算法轉(zhuǎn)化為1星到5星的評(píng)價(jià)等級(jí)。
  • h是情感觀點(diǎn)的持有者,有可能是評(píng)價(jià)者本人,也有可能是其他人。
  • t是觀點(diǎn)發(fā)布的時(shí)間。

以圖為例,e是指某餐廳,a為該餐廳的性價(jià)比屬性,s是對(duì)該餐廳的性價(jià)比表示了褒義的評(píng)價(jià),h為發(fā)表評(píng)論者本人,t是19年7月27日。所以這條評(píng)論的情感分析可以表示為五元組(某餐廳,性價(jià)比,正向褒義,評(píng)論者,19年7月27日)。

人工智能技術(shù)應(yīng)用:情感分析概述

用戶對(duì)某餐廳的評(píng)價(jià)

情感分析根據(jù)處理文本顆粒度的不同,大致可以分為三個(gè)級(jí)別的任務(wù),分別是篇章級(jí)、句子級(jí)和屬性級(jí)。

我們分別來(lái)看一下:

1. 篇章級(jí)情感分析

篇章級(jí)情感分析的目標(biāo)是判斷整篇文檔表達(dá)的是褒義還是貶義的情感,例如一篇書(shū)評(píng),或者對(duì)某一個(gè)熱點(diǎn)時(shí)事新聞發(fā)表的評(píng)論,只要待分析的文本超過(guò)了一句話的范疇,即可視為是篇章級(jí)的情感分析。

對(duì)于篇章級(jí)的情感分析而言有一個(gè)前提假設(shè),那就是全篇章所表達(dá)的觀點(diǎn)僅針對(duì)一個(gè)單獨(dú)的實(shí)體e,且只包含一個(gè)觀點(diǎn)持有者h(yuǎn)的觀點(diǎn)。

這種做法將整個(gè)文檔視為一個(gè)整體,不對(duì)篇章中包含的具體實(shí)體和實(shí)體屬性進(jìn)行研究,使得篇章級(jí)的情感分析在實(shí)際應(yīng)用中比較局限,無(wú)法對(duì)一段文本中的多個(gè)實(shí)體進(jìn)行單獨(dú)分析,對(duì)于文本中多個(gè)觀點(diǎn)持有者的觀點(diǎn)也無(wú)法辨別。

例如評(píng)價(jià)的文本是:“我覺(jué)得這款手機(jī)很棒。”

評(píng)價(jià)者表達(dá)的是對(duì)手機(jī)整體的褒義評(píng)價(jià),但如果是:“我覺(jué)得這款手機(jī)拍照功能很不錯(cuò),但信號(hào)不是很好”這樣的句子,在同一個(gè)評(píng)論中出現(xiàn)了褒義詞又出現(xiàn)了貶義詞,篇章級(jí)的分析是無(wú)法分辨出來(lái)的,只能將其作為一個(gè)整體進(jìn)行分析。

不過(guò)好在有很多的場(chǎng)景是不需要區(qū)分觀點(diǎn)評(píng)價(jià)的實(shí)體和觀點(diǎn)持有者,例如:在商品評(píng)論的情感分析中,可以默認(rèn)評(píng)論的對(duì)象是被評(píng)論的商品,評(píng)論的觀點(diǎn)持有者也是評(píng)論者本人。

當(dāng)然,這個(gè)也需要看被評(píng)論的商品具體是什么東西,如果是親子旅游這樣的旅游服務(wù),那么評(píng)論中就很有可能包含一個(gè)以上的觀點(diǎn)持有者。 在實(shí)際工作中,篇章級(jí)的情感分析無(wú)法滿足我們對(duì)于評(píng)價(jià)更細(xì)致,如果需要對(duì)評(píng)論進(jìn)行更精確,更細(xì)致的分析,我們需要拆分篇章中的每一句話,這就是句子級(jí)的情感分析研究的問(wèn)題。

2. 句子級(jí)情感分析

與篇章級(jí)的情感分析類似,句子級(jí)的情感分析任務(wù)是判斷一個(gè)句子表達(dá)的是褒義還是貶義的情感,雖然顆粒度到了句子層級(jí),但是句子級(jí)分析與篇章級(jí)存在同樣的前提假設(shè)是,那就是一個(gè)句子只表達(dá)了一個(gè)觀點(diǎn)和一種情感,并且只有一個(gè)觀點(diǎn)持有人。

如果一個(gè)句子中包含了兩種以上的評(píng)價(jià)或多個(gè)觀點(diǎn)持有人的觀點(diǎn),句子級(jí)的分析是無(wú)法分辨的。好在現(xiàn)實(shí)生活中,絕大多數(shù)的句子都只表達(dá)了一種情感。

既然句子級(jí)的情感分析在局限性上與篇章級(jí)是一樣的,那么進(jìn)行句子級(jí)的情感分析意義何在呢?

關(guān)于這個(gè)問(wèn)題,需要先解釋一下語(yǔ)言學(xué)上主觀句與客觀句的分別。在我們?nèi)粘S谜Z(yǔ)當(dāng)中,根據(jù)語(yǔ)句中是否帶有說(shuō)話人的主觀情感可以將句子分為主觀句和客觀句,例如:“我喜歡這款新手機(jī)?!本褪且粋€(gè)主觀句,表達(dá)了說(shuō)話人內(nèi)心的情感或觀點(diǎn),而:“這個(gè)APP昨天更新了新功能?!眲t是一個(gè)客觀句,陳述的是一個(gè)客觀事實(shí)性信息,并不包含說(shuō)話人內(nèi)心的主觀情感。

通過(guò)分辨一個(gè)句子是否是主觀句,可以幫助我們過(guò)濾掉一部分不含情感的句子,讓數(shù)據(jù)處理更有效率。

但是在實(shí)操過(guò)程中,我們會(huì)發(fā)現(xiàn)這樣的分類方法似乎并不是特別準(zhǔn)確,因?yàn)橐粋€(gè)主觀句也可能沒(méi)有表達(dá)任何的情感信息,知識(shí)表達(dá)了期望或者猜測(cè)。例如:“我覺(jué)得他現(xiàn)在已經(jīng)在回家的路上了?!边@句話是一個(gè)主觀句,表達(dá)了說(shuō)話人的猜測(cè),但是并沒(méi)有表達(dá)出任何的情感。

而客觀句也有可能包含情感信息,表明說(shuō)話者并不希望這個(gè)事實(shí)發(fā)生,例如:“昨天剛買的新車就被人刮花了?!边@句話是一個(gè)客觀句,但結(jié)合常識(shí)我們會(huì)發(fā)現(xiàn),這句話中其實(shí)是包含了說(shuō)話人的負(fù)面情感。

所以,僅僅對(duì)句子進(jìn)行主客觀的分類還不足以達(dá)到對(duì)數(shù)據(jù)進(jìn)行過(guò)濾的要求,我們需要的是對(duì)句子是否含有情感信息進(jìn)行分類。如果一個(gè)句子直接表達(dá)或隱含了情感信息,則認(rèn)為這個(gè)句子是含有情感觀點(diǎn)的,對(duì)于不含情感觀點(diǎn)的句子則可以進(jìn)行過(guò)濾。

目前對(duì)于句子是否含有情感信息的分類技術(shù)大多都是采用有監(jiān)督的學(xué)習(xí)算法,這種方法需要大量的人工標(biāo)注數(shù)據(jù),基于句子特征來(lái)對(duì)句子進(jìn)行分類。

總之,我們可以將句子級(jí)的情感分析分成兩步:

  • 第一步是判斷待分析的句子是否含有觀點(diǎn)信息;
  • 第二步則是針對(duì)這些含有觀點(diǎn)信息的句子進(jìn)行情感分析,發(fā)現(xiàn)其中情感的傾向性,判斷是褒義還是貶義。

關(guān)于分析情感傾向性的方法與篇章級(jí)類似,依然是可以采用監(jiān)督學(xué)習(xí)或根據(jù)情感詞詞典的方法來(lái)處理,我們會(huì)在后續(xù)的小節(jié)詳細(xì)講解。句子級(jí)的情感分析相較于篇章級(jí)而言,顆粒度更加細(xì)分,但同樣只能判斷整體的情感,忽略了對(duì)于被評(píng)價(jià)實(shí)體的屬性,同時(shí)它也無(wú)法判斷比較型的情感觀點(diǎn)。

例如:“A產(chǎn)品的用戶體驗(yàn)比B產(chǎn)品好多了?!睂?duì)于這樣一句話中表達(dá)了多個(gè)情感的句子,我們不能將其簡(jiǎn)單的歸類為褒義或貶義的情感,而是需要更進(jìn)一步的細(xì)化顆粒度,對(duì)評(píng)價(jià)實(shí)體的屬性進(jìn)行抽取,并將屬性與相關(guān)實(shí)體之間進(jìn)行關(guān)聯(lián),這就是屬性級(jí)情感分析。

3. 屬性級(jí)情感分析

上文介紹的篇章級(jí)和句子級(jí)的情感分析,都無(wú)法確切的知道評(píng)價(jià)者喜歡和不喜歡的具體是什么東西,同時(shí)也無(wú)法區(qū)分對(duì)某一個(gè)被評(píng)價(jià)實(shí)體的A屬性持褒義傾向,對(duì)B屬性卻持貶義傾向的情況。但在實(shí)際的語(yǔ)言表達(dá)中,一個(gè)句子中可能包含了多個(gè)不同情感傾向的觀點(diǎn)。

例如:“我喜歡這家餐廳的裝修風(fēng)格,但菜的味道卻很一般?!鳖愃朴谶@樣的句子,很難通過(guò)篇章級(jí)和句子級(jí)的情感分析了解到對(duì)象的屬性層面。

為了在句子級(jí)分析的基礎(chǔ)上更加細(xì)化,我們需要從文本中發(fā)現(xiàn)或抽取評(píng)價(jià)的對(duì)象主體信息,并根據(jù)文本的上下文判斷評(píng)價(jià)者針對(duì)每一個(gè)屬性所表達(dá)的是褒義還是貶義的情感,這種就稱之為屬性級(jí)的情感分析。

屬性級(jí)的情感分析關(guān)注的是被評(píng)價(jià)實(shí)體及其屬性,包括評(píng)價(jià)者以及評(píng)價(jià)時(shí)間,目標(biāo)是挖掘與發(fā)現(xiàn)評(píng)論在實(shí)體及其屬性上的觀點(diǎn)信息,使之能夠生成有關(guān)目標(biāo)實(shí)體及其屬性完整的五元組觀點(diǎn)摘要。

具體到技術(shù)層面來(lái)看,屬性級(jí)的情感分析可以分為以下6個(gè)步驟:

  1. 實(shí)體抽取和消解:抽取文檔中所有涉及到實(shí)體的表達(dá)語(yǔ)句,并使用聚類方法將同一個(gè)實(shí)體的表達(dá)聚為一類,每一類都對(duì)應(yīng)唯一的一個(gè)實(shí)體。
  2. 屬性抽取和消解:抽取文檔中所有實(shí)體的屬性,并把這些屬性進(jìn)行聚類,每個(gè)屬性類別對(duì)應(yīng)對(duì)象實(shí)體唯一的一個(gè)屬性。
  3. 觀點(diǎn)持有者抽取和消解:抽取文檔中觀點(diǎn)的持有者,并將持有者進(jìn)行聚類,每個(gè)觀點(diǎn)持有者類別對(duì)應(yīng)唯一的一個(gè)觀點(diǎn)持有者。
  4. 時(shí)間抽取和標(biāo)準(zhǔn)化:抽取每個(gè)觀點(diǎn)的發(fā)布時(shí)間,并把不同時(shí)間的格式進(jìn)行標(biāo)準(zhǔn)化。
  5. 屬性的情感分類和回歸:對(duì)具體的屬性進(jìn)行情感分析,判斷它是褒義、貶義還是中性情感,或者通過(guò)回歸算法給屬性賦予一個(gè)數(shù)值化的情感得分,例如1至5分。
  6. 生成觀點(diǎn)五元組:使用任務(wù)1-6的結(jié)果構(gòu)造文檔中所有觀點(diǎn)的五元組。

關(guān)于文本中的實(shí)體抽取和指代消解問(wèn)題,我們已經(jīng)在知識(shí)圖譜的相關(guān)章節(jié)中做了介紹,這里就不再贅述。針對(duì)篇章級(jí)、句子級(jí)、屬性級(jí)這三種類型的情感分析任務(wù),人們做了大量的研究并提出了很多分類的方法,這些方法大致可以分為基于詞典和基于機(jī)器學(xué)習(xí)兩種,下面我們進(jìn)行詳細(xì)的講解。

基于詞典的情感分析

做情感分析離不開(kāi)情感詞,情感詞是承載情感信息最基本的單元,除了基本的詞之外,一些包含了情感含義的短語(yǔ)和成語(yǔ)我們也將其統(tǒng)稱為情感詞。基于情感詞典的情感分析方法,主要是基于一個(gè)包含了已標(biāo)注的情感詞和短語(yǔ)的詞典,在這個(gè)詞典中包括了情感詞的情感傾向以及情感強(qiáng)度,一般將褒義的情感標(biāo)注為正數(shù),貶義的情感標(biāo)注為負(fù)數(shù)。

具體的步驟如圖所示,首先將待分析的文本先進(jìn)行分詞,并對(duì)分詞后的結(jié)果做去除停用詞和無(wú)用詞等文本數(shù)據(jù)的預(yù)處理。然后將分詞的結(jié)果與情感詞典中的詞進(jìn)行匹配,并根據(jù)詞典標(biāo)注的情感分對(duì)文本進(jìn)行加法計(jì)算,最終的計(jì)算結(jié)果如果為正則是褒義情感,如果為負(fù)則是貶義情感,如果為0或情感傾向不明顯的得分則為中性情感或無(wú)情感。

人工智能技術(shù)應(yīng)用:情感分析概述

基于詞典的情感分析流程

情感詞典是整個(gè)分析流程的核心,情感詞標(biāo)注數(shù)據(jù)的好壞直接決定了情感分類的結(jié)果,在這方面可以直接采用已有的開(kāi)源情感詞典。例如:BosonNLP基于微博、新聞、論壇等數(shù)據(jù)來(lái)源構(gòu)建的情感詞典,知網(wǎng)(Hownet)情感詞典,臺(tái)灣大學(xué)簡(jiǎn)體中文情感極性詞典(NTSUSD),snownlp框架的詞典等,同時(shí)還可以使用哈工大整理的同義詞詞林拓展詞典作為輔助,通過(guò)這個(gè)詞典可以找到情感詞的同義詞,拓展情感詞典的范圍。

當(dāng)然,我們也可以根據(jù)業(yè)務(wù)的需要來(lái)自己訓(xùn)練情感詞典,目前主流的情感詞詞典有三種構(gòu)建方法:人工方法、基于字典的方法和基于語(yǔ)料庫(kù)的方法。

對(duì)于情感詞的情感賦值,最簡(jiǎn)單的方法是將所有的褒義情感詞賦值為+1,貶義的情感詞賦值為-1,最后進(jìn)行相加得出情感分析的結(jié)果。但是這種賦值方式顯然不符合實(shí)際的需求,在實(shí)際的語(yǔ)言表達(dá)中,存在著非常多的表達(dá)方式可以改變情感的強(qiáng)度,最典型的就是程度副詞。

程度副詞分為兩種:

一種是可以加強(qiáng)情感詞原本的情感,這種稱之為情感加強(qiáng)詞,例如“很好”相較于“好”的情感程度會(huì)更強(qiáng)烈,“非常好”又比“很好”更強(qiáng)。另外一種是情感減弱詞,例如“沒(méi)那么好”雖然也是褒義傾向,但情感強(qiáng)度相較于“好”會(huì)弱很多。如果出現(xiàn)了增強(qiáng)詞,則需要在原來(lái)的賦值基礎(chǔ)上增加情感得分,如果出現(xiàn)了減弱詞則需要減少相應(yīng)的情感得分。

另一種需要注意的情況是否定詞,否定詞的出現(xiàn)一般會(huì)改變情感詞原本的情感傾向,變?yōu)橄喾吹那楦?,例如“不好”就是在“好”前面加上了否定詞“不”,使之變成了貶義詞。

早期的研究會(huì)將否定詞搭配的情感詞直接取相反數(shù),即如果“好”的情感傾向是+1,那么“不好”的情感傾向就是-1。但是這種簡(jiǎn)單粗暴的規(guī)則無(wú)法對(duì)應(yīng)上真實(shí)的表達(dá)情感,例如“太好”是一個(gè)比“好”褒義傾向更強(qiáng)的詞,如果“好”的值為+1,那么“太好”可以賦值為+3,加上否定詞的“不太好”變成-3則顯然有點(diǎn)過(guò)于貶義了,將其賦值為-1或者-0.5可能更合適。

基于這種情況,我們可以對(duì)否定詞也添加上程度的賦值而不是簡(jiǎn)單的取相反數(shù),對(duì)于表達(dá)強(qiáng)烈否定的詞例如“不那么”賦值為±4。當(dāng)遇到與褒義詞的組合時(shí)褒義詞則取負(fù)數(shù),與貶義詞的組合則取正數(shù),例如貶義詞“難聽(tīng)”的賦值是-3,加上否定詞變成“不那么難聽(tīng)”的情感得分就會(huì)是(-3+4=1)。

第三種需要注意的情況是條件詞,如果一個(gè)條件詞出現(xiàn)在句子中,則這個(gè)句子很可能不適合用來(lái)做情感分析,例如“如果我明天可以去旅行,那么我一定會(huì)非常開(kāi)心。”,在這句話中有明顯的褒義情感詞,但是因?yàn)榇嬖跅l件詞“如果”,使得這個(gè)句子的并沒(méi)有表達(dá)觀點(diǎn)持有者的真實(shí)情感,而是一種假設(shè)。

除了條件句之外,還有一種語(yǔ)言表達(dá)也是需要在數(shù)據(jù)預(yù)處理階段進(jìn)行排除的,那就是疑問(wèn)句。

例如“這個(gè)餐廳真的有你說(shuō)的那么好嗎?”,雖然句子中出現(xiàn)了很強(qiáng)烈的褒義情感詞“那么好”,但依然不能將它分類為褒義句。疑問(wèn)句通常會(huì)有固定的結(jié)尾詞,例如“……嗎?”或者“……么?”,但是也有的疑問(wèn)句會(huì)省略掉結(jié)尾詞,直接使用標(biāo)點(diǎn)符號(hào)“?”,例如“你今天是不是不開(kāi)心?”,這個(gè)句子中含有否定詞和褒義詞組成的“不開(kāi)心”,但不能將其分類為貶義情感。

最后一種需要注意的情況是轉(zhuǎn)折詞,典型詞是“但是”,出現(xiàn)在轉(zhuǎn)折詞之前的情感傾向通常與轉(zhuǎn)折詞之后的情感傾向相反,例如:“我上次在這家酒店的住宿體驗(yàn)非常好,但是這次卻讓我很失望?!痹谶@個(gè)轉(zhuǎn)折句中,轉(zhuǎn)折詞之前的“非常好”是一個(gè)很強(qiáng)的褒義詞,但真實(shí)的情感表達(dá)卻是轉(zhuǎn)折詞之后的“很失望”,最終應(yīng)該將其分類為貶義情感。

當(dāng)然,也存在出現(xiàn)了轉(zhuǎn)折詞,但語(yǔ)句本身的情感并沒(méi)有發(fā)生改變的情況,例如“你這次考試比上次有了很大的進(jìn)步,但是我覺(jué)得你可以做得更好”,這里的轉(zhuǎn)折詞沒(méi)有轉(zhuǎn)折含義,而是一種遞進(jìn)含義。

在實(shí)際操作中,我們所以需要先判斷轉(zhuǎn)折句真實(shí)的情感表達(dá)到底是哪個(gè),才能進(jìn)行正確的分析計(jì)算。

構(gòu)建情感詞典是一件比較耗費(fèi)人工的事情,除了上述需要注意的問(wèn)題外,還存在精準(zhǔn)度不高,新詞和網(wǎng)絡(luò)用語(yǔ)難以快速收錄進(jìn)詞典等問(wèn)題,同時(shí)基于詞典的分析方法也存在很多的局限性。

例如一個(gè)句子可能出現(xiàn)了情感詞,但并沒(méi)有表達(dá)情感。或者一個(gè)句子不含任何情感詞,但卻蘊(yùn)含了說(shuō)話人的情感。以及部分情感詞的含義會(huì)隨著上下文語(yǔ)境的變化而變化的問(wèn)題,例如“精明”這個(gè)詞可以作為褒義詞夸獎(jiǎng)他人,也可以作為貶義詞批評(píng)他人。

盡管目前存在諸多問(wèn)題,但基于字典的情感分析方法也有著不可取代的優(yōu)勢(shì),那就是這種分析方法通用性較強(qiáng),大多數(shù)情況下無(wú)需特別的領(lǐng)域數(shù)據(jù)標(biāo)注就可以分析文本所表達(dá)的情感,對(duì)于通用領(lǐng)域的情感分析可以將其作為首選的方案。

基于機(jī)器學(xué)習(xí)的情感識(shí)別

我們?cè)跈C(jī)器學(xué)習(xí)算法的章節(jié)介紹過(guò)很多分類算法,例如邏輯回歸、樸素貝葉斯、KNN等,這些算法都可以用于情感識(shí)別。

具體的做法與機(jī)器學(xué)習(xí)一樣需要分為兩個(gè)步驟:第一步是根據(jù)訓(xùn)練數(shù)據(jù)構(gòu)建算法模型;第二步是將測(cè)試數(shù)據(jù)輸入到算法模型中輸出對(duì)應(yīng)的結(jié)果,接下來(lái)做具體的講解。

首先,我們需要準(zhǔn)備一些訓(xùn)練用的文本數(shù)據(jù),并人工給這些數(shù)據(jù)做好情感分類的標(biāo)注。通常的做法下:如果是褒義和貶義的兩分類,則褒義標(biāo)注為1,貶義標(biāo)注為0,如果是褒義、貶義和中性三分類,則褒義標(biāo)注為1,中性標(biāo)注為0,貶義標(biāo)注為-1。

在這一環(huán)節(jié)中如果用純?nèi)斯し椒▉?lái)進(jìn)行標(biāo)注,可能會(huì)因?yàn)閭€(gè)人主觀因素對(duì)標(biāo)注的結(jié)果造成一定影響,為了避免人的因素帶來(lái)的影響,也為了提高標(biāo)注的效率,有一些其他取巧的方法來(lái)對(duì)數(shù)據(jù)進(jìn)行自動(dòng)標(biāo)注。

比如:在電商領(lǐng)域中,商品的評(píng)論除了文本數(shù)據(jù)之外通常還會(huì)帶有一個(gè)5星的等級(jí)評(píng)分,我們可以根據(jù)用戶的5星評(píng)分作為標(biāo)注依據(jù),如果是1-2星則標(biāo)注為貶義,如果是3星標(biāo)注為中性,4-5星標(biāo)注為褒義。

又比如:在社區(qū)領(lǐng)域中,很多社區(qū)會(huì)對(duì)帖子有贊和踩的功能,這一數(shù)據(jù)也可以作為情感標(biāo)注的參考依據(jù)。

第二步是將標(biāo)注好情感傾向的文本進(jìn)行分詞,并進(jìn)行數(shù)據(jù)的預(yù)處理,前文已經(jīng)對(duì)分詞有了很多的介紹,這里就不再過(guò)多的贅述。

第三步是從分詞的結(jié)果中標(biāo)注出具備情感特征的詞,這里特別說(shuō)一下,如果是對(duì)情感進(jìn)行分類,可以參考情感詞典進(jìn)行標(biāo)注,也可以采用TF-IDF算法自動(dòng)抽取出文檔的特征詞進(jìn)行標(biāo)注。如果分析的是某個(gè)特定領(lǐng)域的,還需要標(biāo)注出特定領(lǐng)域的詞,例如做商品評(píng)價(jià)的情感分析,需要標(biāo)注出商品名稱,品類名稱,屬性名稱等。

第四步根據(jù)分詞統(tǒng)計(jì)詞頻構(gòu)建詞袋模型,形成特征詞矩陣,如表所示。在這一步可以根據(jù)業(yè)務(wù)需要給每個(gè)特征詞賦予權(quán)重,并通過(guò)詞頻乘以權(quán)重得到特征詞分?jǐn)?shù)。

最后一步就是根據(jù)分類算法,將特征詞矩陣作為輸入數(shù)據(jù),得到最終的分類模型。

當(dāng)訓(xùn)練好分類模型之后,就可以對(duì)測(cè)試集進(jìn)行分類了,具體的流程與建模流程類似,先對(duì)測(cè)試的文本數(shù)據(jù)進(jìn)行分詞并做數(shù)據(jù)預(yù)處理,然后根據(jù)特征詞矩陣抽取測(cè)試文本的特征詞構(gòu)建詞袋矩陣,并將詞袋矩陣的詞頻數(shù)據(jù)作為輸入數(shù)據(jù)代入之前訓(xùn)練好的模型進(jìn)行分類,得到分類的結(jié)果。

采用基于機(jī)器學(xué)習(xí)的方法進(jìn)行情感分析有以下幾個(gè)不足之處:

  • 第一是每一個(gè)應(yīng)用領(lǐng)域之間的語(yǔ)言描述差異導(dǎo)致了訓(xùn)練得到的分類模型不能應(yīng)用與其他的領(lǐng)域,需要單獨(dú)構(gòu)建。
  • 第二是最終的分類效果取決于訓(xùn)練文本的選擇以及正確的情感標(biāo)注,而人對(duì)于情感的理解帶有主觀性,如果標(biāo)注出現(xiàn)偏差就會(huì)對(duì)最終的結(jié)果產(chǎn)生影響。

除了基于詞典和基于機(jī)器學(xué)習(xí)的方法,也有一些學(xué)者將兩者結(jié)合起來(lái)使用,彌補(bǔ)兩種方法的缺點(diǎn),比單獨(dú)采用一種方法的分類效果要更好。

另外,也有學(xué)者嘗試使用基于LSTM等深度學(xué)習(xí)的方法對(duì)情感進(jìn)行分析,相信在未來(lái),情感分析會(huì)應(yīng)用在更多的產(chǎn)品中,幫助我們更好的理解用戶需求,提升用戶使用智能產(chǎn)品的體驗(yàn)。

情感識(shí)別的困難與挑戰(zhàn)

隨著深度神經(jīng)網(wǎng)絡(luò)等算法的應(yīng)用,情感分析的研究方向已經(jīng)有了非常大的進(jìn)展,但依然存在著一些難題是目前尚未解決的,在實(shí)操過(guò)程中需特別注意以下幾種類型數(shù)據(jù):

(1)顏文字、emoji和表情包

互聯(lián)網(wǎng)上的交流不僅僅只是通過(guò)單純的文字來(lái)進(jìn)行,大量的情感表達(dá)是通過(guò)顏文字或表情包來(lái)實(shí)現(xiàn)的,例如經(jīng)典的表示笑臉的顏文字“:D”,這類文本表達(dá)無(wú)法與上下文形成聯(lián)系,所以很難判斷他們?cè)u(píng)價(jià)的實(shí)體對(duì)象是什么。

不過(guò)好在這類數(shù)據(jù)本身就代表了非常強(qiáng)烈的情感傾向,在篇章級(jí)和句子級(jí)的顆粒度對(duì)情感進(jìn)行分析,我們可以將特定的顏文字作為一種特殊的詞組構(gòu)建成情感字典,并人工進(jìn)行情感分的賦值,對(duì)于emoji表情也可以將標(biāo)準(zhǔn)的emoji編碼編入情感字典。而對(duì)于表情包的識(shí)別則是一個(gè)計(jì)算機(jī)視覺(jué)的問(wèn)題,目前還沒(méi)有學(xué)者在這個(gè)領(lǐng)域方向展開(kāi)研究。

(2)諷刺句

諷刺語(yǔ)句是一種比較特殊的情感表達(dá)語(yǔ)句,諷刺語(yǔ)句的語(yǔ)言組織形式從字面上來(lái)看可能是褒義,但實(shí)際的含義卻是貶義,或者字面是貶義但實(shí)際卻是褒義。

例如:“太棒了!這家外賣治好了我多年的便秘!”

諷刺句在情感分析中是非常難以處理的,因?yàn)橐直孢@類語(yǔ)句的含義,通常來(lái)講需要結(jié)合常識(shí)或者是相關(guān)的背景知識(shí)才可以了解,僅僅通過(guò)上下文是無(wú)法正確解讀諷刺句的含義的。在對(duì)商品的評(píng)價(jià)語(yǔ)中,諷刺句并不常見(jiàn),但在輿論或社會(huì)新聞的評(píng)價(jià)中,諷刺句則比較常見(jiàn),識(shí)別出諷刺句是情感分析分析方向的一個(gè)研究難點(diǎn)。

(3)比較句

比較語(yǔ)句也是一種特殊的情感表達(dá)句,例如:“我覺(jué)得這件衣服很適合我,但我更喜歡那一件。”

這類比較語(yǔ)句中通常存在著兩個(gè)以上的實(shí)體或?qū)傩?,如果只是在句子?jí)的顆粒度下可以辨別出這句話是含有褒義的情感,但在屬性級(jí)的顆粒度下,以情感五元組來(lái)定義的情感無(wú)法將一個(gè)實(shí)體作為另一個(gè)實(shí)體的屬性來(lái)進(jìn)行判斷,很難分辨觀點(diǎn)持有者到底是在對(duì)哪一個(gè)實(shí)體或?qū)傩员磉_(dá)情感。而這類語(yǔ)句在商品的評(píng)論中有非常常見(jiàn),需要特別注意。

(4)情緒分類

目前對(duì)于情感的分析依然處于初級(jí)階段,僅僅只是對(duì)情感做了褒義、貶義、中性三種劃分,但現(xiàn)實(shí)生活中的情緒遠(yuǎn)遠(yuǎn)不止這三種類型,例如:在心理學(xué)領(lǐng)域中,著名的心理學(xué)家羅伯特·普拉切克(Robert Plutchik)提出的情緒輪包含了8種基本情緒,并且每種情緒又劃分了不同的情緒強(qiáng)度等級(jí),8種情緒還可以相互結(jié)合形成更多的情緒,如圖所示。

人工智能技術(shù)應(yīng)用:情感分析概述

普拉切克的情緒輪

情緒輪在用戶體驗(yàn)設(shè)計(jì)上被廣泛的應(yīng)用,很多情感化設(shè)計(jì)都是基于情緒輪進(jìn)行的。但是在人工智能領(lǐng)域,將情緒進(jìn)行多分類比情感分析的三分類任務(wù)要難得多,目前大多數(shù)分類方法的結(jié)果準(zhǔn)確性都不到50%。

這是因?yàn)榍榫w本身包含了太多的類別,而且不同的類別之間又可能具有相似性,一個(gè)情緒詞在不同的語(yǔ)境下有可能表達(dá)的是不同的情緒類別,算法很難對(duì)其進(jìn)行分類。即使是人工對(duì)文本進(jìn)行情緒類別標(biāo)注也往往效果不佳,因?yàn)榍榫w是非常主觀性的,不同的人對(duì)不同的文本可能產(chǎn)生不同的理解,這使得人工標(biāo)注情緒類比的過(guò)程異常困難。

如何讓機(jī)器可以理解真實(shí)的情緒,目前還是一個(gè)未能攻克的難題。

 

本文由 @黃瀚星 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來(lái)自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒(méi)評(píng)論,等你發(fā)揮!