簡介
情感分析或意見挖掘是人們的觀點,情緒,評估對諸如產品,服務,組織等實體的態度。該領域的發展和快速起步得益於網路上的社交媒體,例如產品評論,論壇討論,微博,微信的快速發展,因為這是人類歷史上第一次有如此巨大數字量的形式記錄。自2000年初以來,情緒分析已經成長為自然語言處理(NLP)中最活躍的研究領域之一。也是在數據挖掘,Web挖掘,文本挖掘和信息檢索方面有廣泛的研究。事實上,它已經從計算機科學蔓延到管理科學和社會科學,如市場行銷,金融,政治學,通訊,醫療科學,甚至是歷史,由於其重要的商業性引發整個社會的共同關注。這種擴散是由於意見是事實的中心,幾乎所有的人類活動,在相當程度上,很在意在別人怎么看。出於這個原因,無論何時我們需要做出決定,我們都會經常尋找別人的意見。這不僅是對企業而言對個人也是如此。
如今,如果一個人想購買消費產品,其不再局限於問一個人的朋友和家人的意見,因為有很多用戶評論和對產品討論在網路上的公共論壇,我們可以在評論中找出我們想知道的問題,可能還會有令人意想不到的收穫。對於一個組織,它可能不再需要進行調查,民意調查和重點人群,以收集公眾的意見,因為有豐盈
這樣的信息公開。近年來,我們目睹了那些帖子通過社交媒體重塑企業形象,討論明星生活,左右公眾的情緒和情感,其中有深刻地影響我們的社會和政治制度,這樣的帖子還動員民眾政治的變化。當我們在感嘆人言可畏的同時,我們也不得不承認社交網路的快速發展帶來的巨大的道德問題。由此情感分析孕育而生,我們可以通過情感分析或者是輿情系統來幫助政府監控民眾的情感變化或者是輿論趨勢,來避免發生惡性事件或者是虛假事件的發生。
通常來說,情感分析的目的是為了找出說話者/作者在某些話題上或者針對一個文本兩極的觀點的態度。這個態度或許是他或她的個人判斷或是評估,也許是ta當時的情感狀態(就是說,作者在做出這個言論時的情緒狀態),或是作者有意向的情感交流(就是作者想要讀者所體驗的情緒)。
具體介紹
按照處理文本的粒度不同,情感分析大致可分為詞語級、句子級、篇章級三個研究層次。
篇章級
篇章級別的情感分類是指定一個整體的情緒方向/極性,即確定該文章(例如,完整的線上評論)是否傳達總體正面或負面的意見。在這種背景下,這是一個二元分類任務。它也可以是回歸任務,例如,從1到5星的審查推斷的總體評分。也可以認為這是一次5級分類任務。
我們可以將自然語言處理技術與模糊邏輯技術相結合,基於手動創建的模糊情感詞典,對新聞故事和電影評論進行情感分析。定義情感種類,在模糊情感詞典中標註情感類別及其強度。每個詞語可以屬於多個情感類別。在實驗中,可以對比採用詞頻、與長度相關的特徵、語義傾向、情感PMI—IR、強調詞和特殊符號等不同特徵時的結果。最後對文章的主動性/被動性和積極/消極性進行了判斷。
句子級
由於句子的情感分析離不開構成句子的詞語的情感,其方法劃分為三大類:(1)基於知識庫的分析方法;(2)基於網路的分析方法;(3)基於語料庫的分析方法。
我們在對文本信息中句子的情感進行識別時,通常創建的情感資料庫會包含一些情感符號、縮寫、情感詞、修飾詞等等。我們在具體的實驗中會定義幾種情感(生氣、憎恨、害怕、內疚、感興趣、高興、悲傷等),對句子標註其中一種情感類別及其強度值來實現對句子的情感分類。
詞語級
詞語的情感是句子或篇章級情感分析的基礎。早期的文本情感分析主要集中在對文本正負極性的判斷。詞語的情感分析方法主要可歸納為三類:(1)基於詞典的分析方法;(2)基於網路的分析方法;(3)基於語料庫的分析方法。
基於詞典的分析方法利用詞典中的近義、反義關係以及詞典的結構層次,計算詞語與正、負極性種子辭彙之間的語義相似度,根據語義的遠近對詞語的情感進行分類。
基於網路的分析方法利用全球資訊網的搜尋引擎獲取查詢的統計信息,計算詞語與正、負極性種子辭彙之間的語義關聯度,從而對詞語的情感進行分類。
基於語料庫的分析方法,運用機器學習的相關技術對詞語的情感進行分類。機器學習的方法通常需要先讓分類模型學習訓練數據中的規律,然後用訓練好的模型對測試數據進行預測。
情感信息的抽取
情感分析的最底層的任務,它旨在抽取情感評論文本中有意義的信息單元,情感信息抽取可提煉出對情感分析有貢獻的詞或短語元素,其結果對特徵降維、提高系統性能有重要作用,常用的統計分析方法有基於信息增益、互信息、期望交差熵、詞頻、文檔頻次等。
評價詞語的抽取和判別
即為評價詞語的識別和極性及度量判斷,評價詞語的抽取和判別往往是一個一體化的工作,主要分為基於語料庫和基於詞典兩種方法。
基於語料庫的評價詞語抽取和判別:
主要是利用大語料庫的統計特性,觀察一些現象來挖掘語料庫中的評價詞語並判斷極性。其最重要的優點在於簡單易行,缺點在於評論語料庫有限,同時評論詞語在大語料庫中的分布等現象不易歸納。
基於詞典的評價詞語抽取及判別方法:
主要是使用詞典中的詞語之間的詞義联系來挖掘評價詞,其中難度最大的是詞典的更新程度決定詞義分析。
評價對象的抽取
評價對象是指某段評論中所討論的主題, 具體表現為評論文本中評價詞語所修飾的對象。傳統方法中我們採取基於規則的方法抽取評價對象,規則的制定通常要基於一系列的語言分析與預處理過程,如詞性標註、命名實體識別、句法分析等.相應地,制定的規則也包括詞序列規則、詞性規則以及句法規則等形式。我們可以直接針對待解決的問題制定相應的規則去解決(抽取評價對象),缺點在於人工編寫工作量太大,成本較高。
觀點持有者的抽取
觀點持有者的抽取目的在於辨別情感文本的意見主體是誰,有人會問我們獲取某一商品的評論,基於這些評論對此商品進行改進改良就行了,為什麼還要費盡心血的去抽取觀點持有者,這是因為有時我們對客戶群體進行更加精細的分類和分析會對不同意見的評論有更加深刻的理解。例如在美國大選中,我們對觀點持有者進行分類可以甄別出,哪一部分民眾是擁護者,哪一部分是反對者,甚至可以分析出哪一部分是對方的攻擊者。我們可以將觀點和觀點持有者的識別作為一個任務同時解決,在抽取出情感句中的觀點單元(多是由一些短語組成)之後,分析句中觀點和動詞的句法關係,即可同步獲取觀點持有者。產品評論中一般默認觀點持有者是用戶本身,因此很少有研究者在產品評論領域研究這一任務。
研究領域
文本情感分析的一個基本步驟是對文本中的某段已知文字的兩極性進行分類,這個分類可能是在句子級、功能級。分類的作用就是判斷出此文字中表述的觀點是積極的、消極的、還是中性的情緒。更高級的“超出兩極性”的情感分析還會尋找更複雜的情緒狀態,比如“生氣”、“悲傷”、“快樂” 等等。
在文本情感分析領域,早期做出研究貢獻的有 Turney和 Pang他們運用了多種方法探測商品評論和電影影評的兩極觀點。此研究是建立在文檔級所進行的分析。另一種文檔意見的分類方式可以是多重等級的,Pang和 Snyder(among others):延伸了早先的基礎兩極意見研究,將電影影評分類並預測為3至4星的多重級別,而 Snyder就餐館評論做了個深度分析,從多種不同方面預測餐館的評分,比如食物、氣氛等等 (在一個5星的等級制度上)。儘管在大多數統計方面的分類方式中,“中性” 類是經常被忽略的,因為“中性”類的文本經常是處於一個兩極分類的邊緣地帶,但是很多研究者指出,在每個兩極化問題當中,都應該識別出三個不同的類別。進一步的說,一些現有的分類方式 例如 Max Entropy和 SVMs可以證明,在分類過程中區分出“中性”類可以幫助提高分類算法的整體準確率。
另一種判定文本情緒的方法是利用比例換算系統。當一個詞普遍被認為跟消極、中性或是積極的情感有關聯時,將這個詞賦予一個-10到+10之中的數字級別(最消極到最正向情感),在使用自然語言處理來分析一個非結構化文本數據後,餘下的的概念也可以被分析來得出詞與概念的相關性。接下來,每一個概念都可以被賦予一個分數,這個分數是基於情感辭彙和這個概念的關聯度,以及他們本身的分數而得出的。這個方法讓文本情感的理解晉升到一個更加智慧型的層面,並且是基於一個11分的等級範圍的。另外一種方法是,計算出文本正向的和消極的情感力度分數, 如果研究的目的是要判定一個文本的感情,而不是總體文本集的兩極分布或文字的力度。
另一個研究方向是“主觀/客觀 識別”。這個研究通常被定義為將一個已知文本(一般是句子)分類成兩個類:主觀和客觀。這個問題有些時候比兩極化分類問題更難解決。主觀辭彙和短語可能是基於前後文語意聯繫,而一個客觀文檔有可能包含主觀語句(e.g. 一篇新聞引用了某人的觀點)。此外, Su也曾提到過,得到的結論在很大程度上依賴於注釋文本時對“主觀”的定義。不過, Pang證實了如果兩極分類前去除檔案中的客觀語句,會提高算法的表現。
一個更加最佳化的分析模型叫做“功能/屬性為基礎的情感分析(feature/aspect-based sentiment analysis)”。這是指判定針對一個實體在某一個方面或者某一功能下表現出來的意見或是情感, e.g. 一個實體可能是一個手機,一個電子相機,或者空白。一個“功能”或者“方面”是一件實體的某個屬性或者組成部分,e.g.一個手機的螢幕,一個相機的成像質量,等等。 這個問題涉及到若干個子問題,譬如,識別相關的實體,提取他們的功能/屬性,然後判斷是否在提及這個功能/屬性時有正面或者負面或者中性的情緒或意見。更多關於這個層面的文本情感分析可以參照NLP手冊“情感分析和主觀性”這一章。
方法
現有的文本情感分析的途徑大致可以集合成四類:關鍵字識別、辭彙關聯、統計方法和概念級技術。關鍵字識別是利用文本中出現的清楚定義的影響詞(affect words),例如“開心”、“難過”、“傷心”、“害怕”、“無聊”等等,來影響分類。辭彙關聯除了偵查影響詞以外,還附於辭彙一個和某項情緒的“關聯”值。統計方法通過調控機器學習中的元素,比如潛在語意分析(latent semantic analysis),SVM(support vector machines),詞袋(bag of words),等等。(參見Peter Turney在相關領域的研究成果。)一些更智慧型的方法意在探測出情感持有者(保持情緒狀態的那個人)和情感目標(讓情感持有者產生情緒的實體)。要想挖掘在某語境下的意見,或是獲取被給予意見的某項功能,需要使用到語法之間的關係。語法之間互相的關聯性經常需要通過深度解析文本來獲取。與單純的語義技術不同的是,概念級的算法思路權衡了知識表達(knowledge representation)的元素,比如知識本體 (ontologies)、語意網路(semantic networks),因此這種算法也可以探查到文字間比較微妙的情緒表達。例如, 分析一些沒有明確表達相關信息的概念,但是通過他們對於明確概念的不明顯聯繫來獲取所求信息。
有很多開源軟體使用機器學習(machine learning)、統計、自然語言處理的技術來計算大型文本集的情感分析, 這些大型文本集合包括網頁、網路新聞、網上討論群、網路評論、部落格和社交媒介。