蔡校育 邱美蘭 李德旺
關鍵詞:劇本角色;支持向量機;樸素貝葉斯;情感識別
中圖分類號:TP181 文獻標識碼:A
1引言(Introduction)
對于影視制片人來說,劇本的好壞直接決定其商業(yè)價值和社會意義,因此,對劇本文本分析成為不可或缺的環(huán)節(jié),其中劇本角色的情感識別是劇本分析中一個非常重要的任務。劇本角色情感識別是將劇本中涉及角色的對白和動作描述識別為某一種具體的情感傾向,屬于情感分析[1]中句子級別的范疇,輸入為劇本中的角色對白或動作描述的句子,輸出其對應的情感傾向。
基于機器學習的情感分析是一種有監(jiān)督的學習方法,屬于文本機器學習[2]的范疇,目前常見的基于機器學習情感分析的算法有支持向量機(SVM)[3]、樸素貝葉斯[4]和邏輯回歸[5]等,研究人員也開展了與此相關的大量研究工作[6]。本文將對非結(jié)構(gòu)化的劇本數(shù)據(jù)使用情感分析技術(shù)進行處理,從而減少人工處理數(shù)據(jù)的工作量,利用機器學習算法快速挖掘非結(jié)構(gòu)化數(shù)據(jù)中的價值,依據(jù)情感預測的結(jié)果為劇本分析提供有價值的參考,對影視作品的發(fā)展具有一定的指導意義。
2 劇本角色情感識別(Emotion recognition ofscreenplay characters)
2.1數(shù)據(jù)集介紹
本文研究所需數(shù)據(jù)來源于DataFountain平臺舉辦的劇本角色情感識別競賽所提供的數(shù)據(jù)集,該數(shù)據(jù)集的主要數(shù)據(jù)來源于一部電影劇本,通過人工的情感標注,同時對數(shù)據(jù)進行相應的處理,使之劃分為三種情感(1:正向情感;0:中性;-1:負向情感)。該數(shù)據(jù)集共有36,612 條數(shù)據(jù)樣本,而中性數(shù)據(jù)對于本文模型的研究用處不大,也易產(chǎn)生分歧,所以剔除中性數(shù)據(jù),只保留正、負向情感,共10,143 條數(shù)據(jù)樣本,部分數(shù)據(jù)內(nèi)容如表1所示。
2.2數(shù)據(jù)預處理
因為中文語篇中詞語不存在空隙,所以必須采用分詞的方法進行識別,而在分詞過程中,某些對分類不起作用的信息也要去掉,即刪除停用詞,最后將那些能傳達重要信息的關鍵詞從文本中抽取出來,并將文本表示為這些關鍵詞的集合。數(shù)據(jù)預處理包括數(shù)據(jù)清洗、文本分詞、刪除停用詞等。
2.2.1文本分詞
由于中文文本與英文不同,中文文本分詞是預處理中不可缺少的關鍵步驟,因此在分類過程中使用詞語表示文本時必須先進行分詞處理。目前的分詞技術(shù)已經(jīng)逐步完善,其中jieba分詞具有準確率高、性能優(yōu)越及可擴展性等特點,是一款當下流行的中文分詞技術(shù)。
jieba分詞可以分為三種類型:精確模式、全模式和搜索引擎模式。其中,精確模式實現(xiàn)了對被分詞文本的準確分割,并且不存在冗余詞,本文將運用jieba分詞工具中的精確模式進行分詞操作,分詞效果如表2所示。
2.2.2去停用詞
對于文本分類而言,有些詞語在文本中出現(xiàn)的次數(shù)并不能反映該詞語在文本中的重要性。比如“一二三四”“你我他”“這個”“的”,這些沒有特殊語義并且出現(xiàn)頻繁的詞語,即停用詞。本文主要研究中文文本所體現(xiàn)的情感,這些停用詞在很大程度上會對該研究產(chǎn)生影響,因此應該將這些停用詞從文本中清除掉,避免它們對后續(xù)分類產(chǎn)生干擾。去停用詞效果如表3所示。
通過對本文的數(shù)據(jù)集內(nèi)容進行相應的預處理之后,可以繪制正、負向情感關鍵詞詞云圖,如圖1和圖2所示。
從圖1和圖2兩個詞云圖中可以看出,“看著”“坐在”“我要”“畫外音”“爸爸”等詞語在兩種情感中都是高頻詞,對本文的研究會產(chǎn)生相應的影響。因此,在停用詞表中需添加這些詞語,可以減少誤差,提升模型預測的準確率。
2.4模型建立
本文將使用Sklearn庫(python中的機器學習庫)中的支持向量機和樸素貝葉斯兩種分類算法構(gòu)建分類模型。因此,在完成數(shù)據(jù)預處理和特征工程相關工作后,接下來需對數(shù)據(jù)集進行劃分、交叉檢驗、模型訓練及分類預測等相關操作。
2.4.1劃分數(shù)據(jù)集
機器學習的分類方法需要大量的數(shù)據(jù)用于訓練,特別是對神經(jīng)網(wǎng)絡的訓練。在進行機器學習時,數(shù)據(jù)集被分為兩類,一類是訓練集,另一類是測試集。本次實驗選取80%的數(shù)據(jù)作為訓練集,20%的數(shù)據(jù)作為測試集。有時為了保證模型的精度,往往需要先進行k 折交叉驗證。k 折交叉驗證實質(zhì)上是把一個數(shù)據(jù)集分成k 份,每次選k-1 份為訓練集,剩余的1 份作為驗證集,然后取k 個模型的平均測試結(jié)果作為最終的模型效果。本文將以10 折交叉驗證為基礎,嘗試探索兩種分類模型的有效性。
2.4.2 交叉驗證及結(jié)果
通過對樸素貝葉斯(Naive Bayes)和支持向量機(SVM)兩種機器學習模型進行10 折交叉驗證,并將10 次的交叉驗證的準確率作為最終的結(jié)果。兩種分類模型10 次運行對應的準確率如表4所示,根據(jù)表4的結(jié)果繪制如圖3所示的箱型圖。
從圖3中可以看出,兩種模型相比,線性支持向量機的平均準確率要比樸素貝葉斯的準確率略高,但準確率較為分散,即存在不穩(wěn)定性。因此,本文通過設置超參數(shù)的不同取值,進一步研究樸素貝葉斯算法的綜合性能。
2.5模型評估
本文利用混淆矩陣對樸素貝葉斯分類算法的性能進行評估,其中包括準確率、精確率、召回率、F1值和AUC指標[8-9]。
根據(jù)樸素貝葉斯的拉普拉斯平滑法[10]選取不同的拉普拉斯平滑系數(shù)α ,對樸素貝葉斯分類模型進行實驗,得到實驗結(jié)果如表5所示。從表5可以看出,最佳的拉普拉斯平滑系數(shù)介于0.1—0.5。通過調(diào)整超參數(shù),可以使算法的性能變得更好。
通過前面模型分析及超參數(shù)的對比實驗,運用樸素貝葉斯算法以及設置超參數(shù)拉普拉斯平滑系數(shù)α = 0.2進行學習,分別采用訓練集和測試集進行預測[11],得到如圖4和圖5所示的兩種情況預測結(jié)果。
從圖4和圖5兩個混淆矩陣得出,樸素貝葉斯算法對測試集樣本的預測結(jié)果準確度接近于80%,訓練集樣本的預測結(jié)果高達93%。
3結(jié)論(Conclusion)
本文主要建立了基于支持向量機和樸素貝葉斯算法的兩種情感分類與識別模型,對劇本中每句對白和動作描述中涉及的每個角色從多個維度進行分析并識別出情感。
首先,根據(jù)劇本角色情感文本的特點,對所獲取的數(shù)據(jù)文本進行預處理,包括文本分詞、去停用詞、繪制詞云圖、特征抽取等,建立了基于支持向量機和樸素貝葉斯算法的兩種情感分類與識別模型。其次,利用10 折交叉驗證得出兩種模型的預測準確率,分析了兩種機器學習情感識別模型的預測效果,并通過不斷調(diào)整模型中超參數(shù)的取值對模型進行優(yōu)化。最后,根據(jù)研究結(jié)果得出樸素貝葉斯識別模型在劇本角色情感識別方面的效果要優(yōu)于支持向量機的識別模型,并且,當超參數(shù)拉普拉斯平滑系數(shù)α = 0.2時,樸素貝葉斯識別模型的預測準確率接近于80%。
本研究的不足之處是盡管模型的訓練有較好的擬合效果,但由于數(shù)據(jù)存在樣本不均衡的現(xiàn)象,正向情感數(shù)據(jù)在總樣本數(shù)據(jù)中所占的比重偏低,存在一定的過擬合現(xiàn)象。因此,在后續(xù)的研究中,應該增大正向情感的樣本數(shù)據(jù)量,從而對本文的研究做進一步的改進和優(yōu)化,使得預測結(jié)果更加準確、更具有可解釋性。
作者簡介:
蔡校育(1998-),男,本科生.研究領域:機器學習,大數(shù)據(jù)分析.
邱美蘭(1980-),女,博士,講師,人工智能高級工程師.研究領域:數(shù)據(jù)科學與計算,機器學習,深度學習.本文通信作者.
李德旺(1976-),男,博士,講師.研究領域:經(jīng)濟統(tǒng)計,大數(shù)據(jù)統(tǒng)計分析.