深度語義理解在劇本角色情感分析中的探索與應用

1. 背 景

劇本分析是內容生產鏈條的第一環,因此,我們結合專家經驗知識、大數據與自然語言處理技術來幫助業務部門快速分析和評估劇本。評估體系中涉及到了大量關於角色的分析,其中角色的情感分析是非常重要的一個任務。

不同於通常的評論類短文本,劇本有其獨有的業務特點,因此任務的目標和建模與通常的任務區別較大。本文將系統的介紹情感分析領域相關的內容,以及愛奇藝在劇本分析中針對角色進行細粒度情感分析所做的工作。

2. 常見的情感分析任務的分類

2.1

傳統的情感分析

傳統的情感分析,通常是對一句話,或者一段話做出一個總的情感判定(積極、消極、中性),可以看做是一個文本分類任務。通常的方法分為:詞法規則分析、算法模型分析、混合分析。

【詞法規則】

使用詞法分析將輸入文本轉換成詞序列,然後依次和一個預先準備好的字典進行匹配。如果是積極的匹配,那分數就增加;如果是消極的匹配,分數就減少。文本的分類取決於單詞序列的總得分。當然,計算公式上可以有一些變化,不一定是單純的線性加減。

這個方法的優點是簡單、快速;缺點是準確度偏低,且效果和性能很大程度取決於人工構建的字典。

【算法模型分析】

情感分析任務中通常是使用有監督的模型,一般可以分成三個階段:數據收集、預處理、訓練分類。可以使用NB、LR、SVM等傳統機器學習算法,以及CNN、RNN系列等深度學習算法。

傳統的機器學習方法,特徵的構建很重要,這是決定準確率的關鍵。特徵構建方法也很多。比如:N-grams、積極/消極詞彙的數量、文本長度等。深度學習時代,關鍵是網絡結構的設計、以及語料的構建。

【混合分析】

工業應用上,很多時候都是將“詞法分析”與“算法模型分析”兩種方法相結合進行使用。一些研究者在這方面做了大量工作。一般都是先利用字典對原文本進行處理轉化、然後再利用算法模型來進行分類。

隨著深度學習的發展,特別是Bert這些預訓練模型的出現,大家的重心和焦點都發現了變化。從原來研究各種數據處理、特徵提取的trick,轉為研究如何設計網絡、如何轉化問題以最大程度利用預處理模型。

2.2

target-dependent 情感分析

與典型情感分析任務不同,target-dependent情感分析是研究基於目標的情感。給定一個句子和句子相關的一個對象,判斷句子針對給定的對象的情感傾向。

例如,有句子:“張三在學校裡很受大家歡迎,但是鄰居李四不太受歡迎 !”

其中,基於目標“張三”,句子的情感是正向的;基於“李四”,句子的情感是負面的。

可見,與傳統的情感分析任務相比,任務的難度和複雜性大大增加,一般都是用深度學習模型來解決。

2.2.1 TD-LSTM

傳統的LSTM模型並沒有考慮被評估的目標詞和上下文的相互關係,為了引入這一部分的信息, TD-LSTM 應運而生。TD-LSTM 的主體結構是基於LSTM的。其基本思路是根據target words之前和之後的上下文分別建模。所以實際上,使用的是兩個 LSTM 模型:

深度語義理解在劇本角色情感分析中的探索與應用

深度語義理解在劇本角色情感分析中的探索與應用

深度語義理解在劇本角色情感分析中的探索與應用

的輸入為目標詞之前的上下文加上目標詞,即從句子的第一個單詞,到最後一個target words

深度語義理解在劇本角色情感分析中的探索與應用

依次輸入;

深度語義理解在劇本角色情感分析中的探索與應用

的輸入則是目標詞之後的上下文加上目標詞,即從句子的最後一個單詞

深度語義理解在劇本角色情感分析中的探索與應用

,到第一個target words

深度語義理解在劇本角色情感分析中的探索與應用

依次輸入。模型用 softmax 函數作為最後一層的激活函數來實現分類,用交叉熵作為損失函數來計算損失。模型結構和LSTM對比如下:

深度語義理解在劇本角色情感分析中的探索與應用


2.2.2 TC - LSTM

TC-LSTM在TD-LSTM的基礎上,在輸入端加入了

深度語義理解在劇本角色情感分析中的探索與應用

,即target words的信息。具體做法就是將原先的字向量與target words向量拼接起來,其中

深度語義理解在劇本角色情感分析中的探索與應用

是所有target words字向量的平均值。TC-LSTM整合了target words與context words的相互關聯信息。模型同樣用 softmax 函數作為最後一層的激活函數來實現分類,用交叉熵作為損失函數來計算損失。模型結構如下所示:

深度語義理解在劇本角色情感分析中的探索與應用

2.3

Aspect-level 情感分析

TD-LSTM和TC-LSTM兩個模型,只能用於target在句子中出現過的情況。對於aspect,它往往是某個target的抽象,aspect本身在句子中可能並沒有出現。而TD-LSTM、TC-LSTM兩個模型都需要知道target在句子中的具體位置,因此在面向aspect的任務中無法使用。


2.3.1 AT-LSTM

Aspect信息在對象級情感分析任務上具有至關重要的作用,給定同一句話,針對不同Aspect可能會得到完全相反的結果,為了最好地利用Aspect信息,需要為每一個Aspect學習對應的向量,然後將Aspect向量的信息輸入模型中。另外,傳統的LSTM方法在對象級情感分析任務上不能檢測到文本信息的哪一部分是最關鍵的,為了解決這一問題,AT-LSTM方法增加了Attention機制。模型首先通過一個LSTM模型得到每個詞的隱藏狀態向量,然後將其與Aspect Embedding連接,Aspect Embedding作為模型參數一起訓練,從而得到句子在給定的aspect下的權值向量α,最後再根據權值向量對隱藏向量進行賦值,得到最終的句子表示,然後預測情感。模型結構如下圖所示:

深度語義理解在劇本角色情感分析中的探索與應用

2.3.2 ATAE-LSTM

(Attention-based LSTM with Aspect Embedding)在 AT-LSTM 的基礎上,在句子輸入時額外再拼接對象詞向量,就是 ATAE-LSTM 模型,即同時在模型的輸入部分和隱態部分引入aspect信息。與TC-LSTM的思想類似,使用這種方法進一步在句子表示中更好地利用目標詞和每個上下文詞之間的關係。模型結構如下圖:

深度語義理解在劇本角色情感分析中的探索與應用

2.3.3 TNET

TNET模型結構如下圖所示:

深度語義理解在劇本角色情感分析中的探索與應用

最底部是一個Bi-LSTM,根據輸入的詞序列X={x1,x2,...,xn}經過Bi-LSTM得到狀態輸出h(0)={ h1(0), h2(0),..., hn(0)},中間層包含L個CPT層,模型經過中間層將結果送到最上層的卷積層,使用Max Pooling的方法提取特徵,最後使用Softmax得到輸出的情感類別。

可以看到,關鍵在於CPT模塊,每一個單獨的CPT結構如下圖所示:

深度語義理解在劇本角色情感分析中的探索與應用


包含量身定製的TST(Target-Specific Transformation)和LF/AS兩個子結構。

TST結構主要是為了強化上下文的詞表達與對象詞表達之間的關係,其最底層是一個BI-LSTM,輸入是對象詞的Embedding,輸出對應的隱藏層狀態。由於傳統的方法(多個對象詞取平均)會忽略組成target(即對象)的多個詞的順序及重要度,這樣的對象詞表達會更充分地表示原有對象詞的含義。同時,在其上加一個attention, 基於每一個hmt(target的隱層狀態輸出)和每一個輸入的

深度語義理解在劇本角色情感分析中的探索與應用

得到

深度語義理解在劇本角色情感分析中的探索與應用

, 最後將r與h拼接後經過一個全連接層送到LF/AS結構中。經過非線性的TST後,原上下文信息容易大量丟失。通過Lossless Forwarding(LF)和Adaptive Scaling(AS)來找回丟失的信息。

其中,LF的結構是將第(l)個CPT層的輸入hi(l)在CPT的輸出時再加回來,這樣的話就不會損失掉原有的信息了。AS的結構是類似RNN的門機制,訓練一個門結構,AS通過門函數控制哪些信息被傳遞和傳遞的比例。


3. 角色細粒度情感分析

劇本中角色情感分析的任務主要是對劇本每句對白和動作描述中涉及到的每個角色從多個維度進行分析。因此,相比於常見的情感分析任務,有其自身的特點。其中碰到的難點包括以下幾個大的方面:

(1)角色人名識別。不同於通常的新聞、評論性文本,劇本中角色的名字很多時候都是非常規的,特別是一些玄幻類劇本,角色的命名更加天馬行空。

(2)構建一個符合業務場景的情感維度模型。

(3)更深層次的語義理解。角色情感不僅僅取決於當前文本,可能需要對前文語義有深度依賴。一方面,前文依賴的長度可能較長,儘管很多深度模型本身能一部分解決長文本依賴的問題,但是對於窗口超過一定長度的語義理解仍然很吃力。另一方面,需要根據業務特點設計特定的網絡結構以更好的捕獲信息。
3.1

角色識別

由於需要對角色進行情感分析,因此首先的問題就是要識別劇本中的“角色”;同時,我們還需要識別出“角色”的類型。理論上我們需要針對那些對劇情有推動力的“主、配角”進行分析,而忽略掉“打醬油”的“群眾”。

“角色”人名識別屬於NER任務。NER屬於一個很經典的NLP領域,早期的HMM、CRF在很多業務領域都已經能夠比較好的解決問題了。深度學習時代,大家一般都使用 BILSTM+CRF的方案。不同於通常的新聞、評論性文本,識別劇本角色名碰到的問題包括:

(1)劇本中的名字很多時候都是非常規的,特別是一些玄幻類劇本,角色的命名更加天馬行空(2)劇本的行文風格和通常的新聞類語料差別較大

可以看到,通常的開源語料不能做為劇本角色人名識別的訓練語料。這對使用深度模型造成了一定的障礙,而傳統的HMM、CRF等模型在劇本這種複雜場景中效果很差。

當然,劇本做為長文本,也有其自身在統計方面的優勢,這是我們可以充分利用的。

首先,我們使用了“新詞發現”這樣的概率模型,以充分利用劇本這種長文本在統計層面的優勢。

深度模型方面,我們使用了BiLSTM+CRF和LatticeLSTM兩個深度模型。BiLSTM+CRF是業界經典的方案,BiLSTM網絡上加一個CRF層,能為模型輸入一些專家經驗。同時,為了避免分詞帶來的誤差,我們使用了不分詞的方案,這樣就不可避免的丟失了一些成詞方面的信息。比如:“愛奇藝創新大廈”這種成詞是有意義的,應該把這種信息帶入模型。所以,我們補充了LatticeLSTM模型,以彌補“不分詞”方案帶來的問題。

兩個深度模型能夠相互進行有益的補充,但是他們對訓練語料和標註質量都要求較高,而領域語料的缺乏正是大家的痛點之一。一方面我們會進行一些高質量的人工標註,這個工作的代價比較大,週期較長;另一方面會利用“新詞發現”無監督模型的輸出來自動化構建標註語料。一個模型的輸出又能做為另外模型的輸入,這樣就形成了內部的良性自循環。

3.2

第一版情感分析模型

做情感分析,構建一個合理的情感分析業務模型是最基礎的工作。我們結合了“普魯契克情感輪盤”、Ekman的情感分類以及醫學上的情感分類,最終確定用類似情感輪的 “十情模型”。

我們會針對劇本每句話中涉及到的每個不同角色的情感從“愛、樂、信、期、驚、疑、憂、怒、哀、恐” 十個維度進行細粒度的分析。如下:

【例】

辛小豐躺在地上,回想發生的事。

(閃回 - 閣樓少女出浴,擦拭身體時,可見脖頸掛著玉墜。結束)

辛小豐:我得回去……

深度語義理解在劇本角色情感分析中的探索與應用

這話讓喘息中的楊自道,陳比覺心驚。

深度語義理解在劇本角色情感分析中的探索與應用

辛小豐爬起來,往回走。

陳比覺:你要回去……我幹你姥,你要回去!我們三個都被你毀了!幹你母,我幹你母!

陳比覺打辛小豐,辛小豐不還手。

深度語義理解在劇本角色情感分析中的探索與應用

劇本中,“對白”和“動作”在描述風格和語義表達方面存在差異,因此,需要分別針對“對白”和“動作”進行建模。如前面介紹,在進行語義理解時有兩個關鍵問題需要解決:

(1)需要理解較長的前文信息(2)要定位到每句話中的每一個角色對於第一個問題,BERT已經能一定程度上解決了,通常要做的就是把輸入數據按照BERT的任務要求輸入,然後將最高層“CLS”位置的Embedding輸入到一個分類器模型。如下:

深度語義理解在劇本角色情感分析中的探索與應用

但是這裡有個最關鍵的問題,我們需要定位到每一個“角色”,直接使用BERT的這種粗獷的方式並不能解決問題。另外,BERT由於有512窗口的限制,在我們的場景中,對於前文信息的理解這塊也是不太足的,這個問題後面會說到。

要解決第二個問題,需要做一些更細緻的工作。我們在前文中介紹了TD-LSTM,它能基於特定的對象進行分析,但是LSTM網絡的結構註定了其在長文本環境下,效果會比較差。

綜上所述,我們既需要能理解較長範圍內的文本信息,同時又能精確定位到“角色”。所以在分析“動作描述”時,我們使用了BERT+TD-LSTM網絡結構。使用BERT來做特徵提取,利用TD-LSTM來對特定對象進行分析。模型結構如下:

深度語義理解在劇本角色情感分析中的探索與應用

在分析對白描寫時,問題類似,但相比於動作描寫,其在情感表達上通常更加直接,同時,對白描寫能天然的定位到“角色”,所以我們在模型結構上做了一些改變。使用了BERT+多層CNN的結構。我們知道CNN網絡本身存在窗口,難以捕獲較長的語義,所以我們使用多層CNN來解決這個問題。另外,對白描寫有表達相對較直接、語義較淺層,所以在這裡用CNN系列網絡比RNN系列更合適。模型結構如下:

深度語義理解在劇本角色情感分析中的探索與應用

3.3

第二版情感分析模型

劇本中角色的情感實際上不僅僅和當前描述所涉及的內容有關,與整體的情感氛圍、以及該角色之前的情感都有關係。可以看到,第一版算法模型存在幾個問題:

(1)沒有考慮內容整體的情感氛圍對角色當前情感的影響

(2)沒有考慮角色之前的情感帶來的累積效應

(3)由於BERT本身窗口的限制,導致前文信息有限

總體來看,我們需要解決兩個核心問題:

(1)需要理解更長的前文信息

(2)需要記錄角色的情感累計信息前文中我們也提到了BERT可以一部分解決前文信息的理解。但是,一方面BERT有512個字符窗口大小的限制;另一方面需要有一個明確的下游業務任務模型做指導。所以,我們有針對性的設計了第二版算法模型。

改進點如下:

針對第一個問題,使用一個global GRU記錄全局信息,每個時刻的狀態和前一時刻的狀態以及當前的句子有關,即:

深度語義理解在劇本角色情感分析中的探索與應用

在這種業務模型下,不再盲目的讓BERT利用Trm去理解文字之間的語義關聯信息,較好的解決了前文信息獲取的問題。

針對第二個問題,對於每個角色的狀態通過emotion GRU進行編碼,記錄該角色的狀態信息。當前窗口內,每一個角色對應一個針對該角色的eGRU。

深度語義理解在劇本角色情感分析中的探索與應用

其中,

深度語義理解在劇本角色情感分析中的探索與應用

是一個所有前文句子向量的自注意力編碼。

若當前語句中有多個人物,則分別更新每個人物的

深度語義理解在劇本角色情感分析中的探索與應用

。然後通過FC層進行情感預測。


3.4

案例分析

案例來自獲獎的韓國電影《寄生蟲》的劇本。

深度語義理解在劇本角色情感分析中的探索與應用

針對13場的語句“金基澤、忠淑看著兒子的背影走遠。”中,關於金基澤的情感,兩版模型的分析結果如下:

深度語義理解在劇本角色情感分析中的探索與應用

可以看到,僅根據本場前文中金基宇走路的普通行為和金基澤、忠淑望著兒子背影的描述,V1.0模型推測這是一個離別的場景,並按照常規的思路理解人物情緒,認為金基澤呈現出一定程度的傷感情緒。V2.0模型結合了場次12中金基宇向金基澤宣稱志向,金基澤十分驕傲的背景知識,以及相關人物的情緒趨勢,給出了不同的情緒分析結果:金基澤、忠淑被認為有顯著的高興、有信心、期待未來等正面情緒。

在這個案例中,針對同樣的分析對象,兩個模型推理出了完全相反的情感基調,我們認為V2.0模型的理解更為合理。


3.5 總結和規劃

目前角色細粒度情感分析模型已經應用於愛奇藝的“劇本評估”項目中。角色情感可以反映出角色的情緒變化和心路歷程等,輔助內容部門對角色塑造進行分析;同時也是矛盾衝突、劇情節奏、人物弧光等下游分析任務的重要輸入。目前模型仍然存在一些不足之處,我們主要將從算法建模和模型結構兩個方面進行優化。

算法建模方面:不同類型的劇本,在角色塑造、寫作筆法等方面都有區別,模型中需要進一步利用這些領域知識,以便能更好的表徵業務實際。比如:動作片、警匪片中有大量的激烈場面描寫,而言情片中很多感情糾葛方面的內容,要避免因為類型不同而帶來的模型結果方面的誤差。另外,劇本屬於藝術創作,使用了大量的插敘、伏筆等創作手法,這些都會帶來分析和建模上的複雜性。我們需要進一步提高模型在業務方面的合理性。

模型結構方面:目前的網絡結構稍顯複雜,可以進一步優化,提高效率;同時基於業務實際情況,轉化問題的類型,以進一步充分利用預訓練模型。模型中TD-LSTM和幾個GRU隱層的作用可以用更高效的網絡結構替代。另外,可以考慮把“文本分類”任務轉化為“句子匹配”任務,這樣可以更好的利用BERT預處理模型帶來的福利,不過其中有很多細節的地方需要好好設計一下。

4. 文獻引用

[1] Duyu Tang, Bing Qin, Xiaocheng Feng, Ting Liu. 2016. Effective LSTMs for Target-Dependent Sentiment Classification
[2] YequanWang and MinlieHuang and LiZhao and XiaoyanZhu. 2016. Attention-based LSTM for Aspect-level Sentiment Classification[3] Xin Li, Lidong Bing, Wai Lam, Bei Shi. 2018. Transformation Networks for Target-Oriented Sentiment Classification[4] Navonil Majumder, Soujanya Poria, Devamanyu Hazarika, Rada Mihalcea, Alexander Gelbukh, Erik Cambria. 2019. DialogueRNN: An Attentive RNN for Emotion Detection in Conversations[5] Yue Zhang and Jie Yang. 2018. Chinese NER Using Lattice LSTM[6] Liang-Chih Yu1, Lung-Hao Lee, Shuai Hao, Jin Wang, Yunchao He,Jun Hu, K.Robert Lai and Xuejie Zhang. 2016. Building Chinese Affective Resources in Valence-Arousal Dimensions


分享到:


相關文章: