當前位置:
首頁 > 科技 > 用數據科學解讀《權力的遊戲》:最終誰會登上鐵王座?

用數據科學解讀《權力的遊戲》:最終誰會登上鐵王座?

全文共5099字,預計學習時長10分鐘

《冰與火之歌》是由喬治·R·馬丁所著的奇幻小說系列,由HBO改編成影視劇《權力的遊戲》後在全球大熱。

電視劇《權力的遊戲》已播至最後一季,這正是仔細研究該劇原著的大好時機。本文將通過對書籍進行數字處理來揭示《冰與火之歌》的背後玄機。

怎樣去客觀地評價一本書呢?有沒有一種模式,可以預測書籍或電視劇的劇情走向呢?未來的小說家和編劇們是否可以利用人工智慧來構思情節,只消幾周就寫出一本書呢?馬丁花了六年的時間才寫完新作《魔龍的狂舞》,使得HBO的電視劇播到第六季時劇情進展竟超過了小說。如今,電視劇的進展已甩得原著望塵莫及!

有鑒於此,本文介紹了自然語言處理的一些概念,這是一個跨學科領域,旨在使用計算機編程處理大量自然語言數據。

注意,迄今為止出版的小說劇情大致與電視劇的一至六季吻合,但故事發展的時間軸略有不同。如果你已經追到了權游的最後一季或已讀過出版的五卷小說,本文對你而言不會有任何劇透,可以繼續閱讀。對於其餘的讀者而言:在此做齣劇透提醒!

詞雲形象地顯示了五本書中的辭彙使用頻率。你知道烏鴉有很強的計數能力嗎?最新研究表明,這種與人類幾乎毫不相關的脊椎動物已經進化出了具有與人類相似神經元的端腦,可用來處理大量信息:https://www.pnas.org/content/112/25/7827

本文將介紹用數據處理解讀《冰與火之歌》的三種方法,希望你既能享受其中又能有所收穫:

1. 衡量辭彙多樣性以評估辭彙豐富度

2. 故事情節的人物足跡和詞頻分析

3. 使用網路理論計算角色的重要性

處理文本時,自然語言處理使用Python的NLTK,可視化使用Seaborn,計算網路度量和圖形則用Networkx。

1. 測量辭彙多樣性

首先,仔細研究文本的辭彙豐富性和多樣性。與研究生態系統中的生物多樣性類似,我們也在研究諸如體積、變化率和密度等指標,以便用數字術語來表示感知豐富度:

·體積:文本的長度(以字數表示)

·變化率:不同辭彙數量與總辭彙數量的比值

·密度:對信息密度的估計度量

比起莎士比亞全集(近80萬字),《冰與火之歌》算是一個大部頭,全文有近180萬字。(到目前為止)馬丁行文已經用了22000個不同的單詞,辭彙變化率約為1%。

這裡,變化率等於不同的單詞數除以文本中的總單詞數,也稱為種類—文本比率(TTR)。它是用來衡量文本複雜性、辭彙豐富程度以及重複避免程度的一項標準。我們使用詞形還原的技術來避免把同一單詞的變體當作新詞而重複計算。例如,動詞run 和ran(run 過去時形式)應該計為一個單詞,詞形還原幫助將各單詞還原為詞根。

據說,莎士比亞是世界上辭彙量最廣博的作家之一,他的《哈姆雷特》共計3萬詞,其中含有4200個不同單詞,辭彙變化率十分驚人,高達13%!然而,這兩部著作字數差距懸殊,比較起來顯得不夠公平,因為隨著字數越來越多,保證辭彙多樣性的難度可想而知。

研究莎士比亞的全部作品,我們最終得到的變化率約為3%。進一步研究,可以採用變化率的平均變動值(一次看一個1000字的窗口),最終馬丁的TTR為43%,而莎士比亞則為41%。值得注意的是,馬丁先生為小說中所有的人物、器具和地方起了名字,這些名稱佔據了辭彙變化率的很大一部分。

將《冰與火之歌》(ASOIF)、J.R.R托爾金的《指環王》(LOTR),莎士比亞的《哈姆雷特》和《莎翁全集》四部作品進行比較。從變化率的平均變動值來看,儘管三位作者作品中運用新辭彙的比例不同,平均變動值幾乎持平。

運用辭彙詞數量除以詞總數來計算密度。辭彙詞包括名詞、形容詞、動詞和副詞。這些類型的單詞承載著關鍵信息,使得文本具有意義。剩下的詞則稱為功能詞,包括冠詞(a,the)、介詞(on,at,in)和連詞(and,or,but)。功能詞對於文本的語法結構來說很重要,但幾乎與文本的意思無關。因此,密度可以體現文本涵蓋信息量的大小。

平均來看,書面辭彙密度遠高於口語辭彙密度。為了計算密度,需要使用詞性標註(POS),也稱為語法標記,它可以幫助我們識別所有單詞的各種語法形式。使用POS標記時有幾種不同的技術可供選擇,它們是自然語言處理的重要部分。例如,POS演算法要能區分單詞的詞性,比如「duck」這個詞是名詞還是動詞,具體還是要看語境。

實際上,前面提到的詞形還原的正常運行依賴於POS標記。諸如隱馬爾科夫模型之類的演算法通過參考鄰近詞來來識別某個單詞的正確形式,這一演算法已經得到充分驗證,具有代表性。馬丁的辭彙密度為58%,而莎士比亞的辭彙密度為61%。這與大多數英文書面辭彙密度超過40%,而口語辭彙密度平均不到40%的估計相一致。鑒於莎士比亞的戲劇以對話為主,這更佐證了其作品不凡的辭彙密度和辭彙豐富性。

1948年由勞倫斯·奧利弗執導並演繹的《哈姆雷特》

實際上,短語「to be or not to be」算下來密度只有17%,其中「to be」被當作一個助動詞而不是辭彙詞。然而,大多數人都覺得這個短語令人難忘。從辭彙豐富性的研究中可以得出:應該謹慎地評價不同指標,不深入研究文本,就無法體會個中差異。

2. 故事情節的人物足跡和詞頻分析

這本書由幾個篇章構成。《冰與火之歌》這一篇章通過不同人物的視點(POV)來進行敘述。從主要視點人物中選三個,就可以繪製一個單詞分散圖,從而了解貫穿整個小說的各種不同名稱:

可以清楚地看到,人物足跡(每個點代表沿文本某一點出現的名稱)確實根據不同的焦點集中在不同的地方。我們還觀察到,在最新一卷《魔龍的狂舞》中,丹妮莉絲這一人物出現頻度開始提升,影響力也在加強。在第四卷《群鴉的盛宴》中,瓊恩、提利昂和丹妮莉絲這三個角色足跡有明顯的空白。從書的索引可以發現,這一卷中沒有以這三個角色視角講述的章節,瑟曦和詹姆出鏡率卻很高。不過,就算在這些篇章中,瓊恩和提利昂也還是有過短暫的出鏡。

通過計算單詞頻率發現有很多對話談到了『死』(1690次)和『血』(1629次)。緊隨其後的是「愛」,這個詞出現了703次。但涉及到這些詞的情節就比其他情節更血腥,或更令人心潮澎湃嗎?下面來具體看一些摘選的單詞,根據它們在小說中的出現情況來繪製它們的核密度估計(KDE)。KDE基於一系列觀察來估計和繪製隱藏信息分布。它不是乾巴巴地呈現結果,而是有助於我們獲得較為平滑的直方圖,並針對曲線走向進行調整。

哪條曲線代表愛呢?

在《列王的紛爭》這一卷的下半部分中,涉及死亡的表達出現頻率似乎特別高,在前兩卷中,「死」與「血」的曲線波動也高度吻合。接著與血有關的表達開始減少,在《群鴉的盛宴》一卷中這一頻率幾乎跌至谷底。有趣的是,與血有關的表達出現頻率最低時,剛好與愛有關表達的頻率恰好達到峰值。正如我們在角色足跡分析中記錄的那樣,第四卷重點突出了富有同情心的蘭尼斯特兄弟,在這一卷里他們展現出了前所未有的濃厚的愛。在第五卷中,與血有關表達出現的頻率重返高峰。死亡似乎也是無所不在。也許這一卷旨在強調丹妮莉絲身上「龍的血統」,因此這樣的頻率起伏並不顯得奇怪。逐個來看每一卷的詞雲,會發現親情在其中起著重要作用。父系尤為重要,曾提及2823次,竟接近本文總字數!

瓊恩和艾德(又名奈德)主導著《權力的遊戲》故事走向

《列王的紛爭》中,提利昂逐漸成為中心人物,異鬼也被多次提及

《冰雨的風暴》中多次出現的你的父親是誰?他是什麼身份?

《群鴉的盛宴》中敘事視角換成了瑟曦和詹姆

《魔龍的狂舞》中一位女王登場,掀起血雨腥風

3. 使用網路理論計算人物的重要性

這五本書從頭至尾共出現了兩百多個有名有姓的人物,他們的生存與死亡,關聯與羈絆,推進了故事情節發展。但該如何用數字來展現出這些人物關係?能從這些盤根錯節的羈絆中總結出故事人物的重要性嗎?

早前,對各所選人物的總體研究都是孤立的,但現在,我們試圖從他們之間的關係來分析,並採用網路理論,這是一個較新的數學領域,已被廣泛運用於分析各類事物,從電信網路到搜索引擎,無所不包。首先,需要一個統一標準來衡量兩人物(節點)間一段關係的重要性。從一個簡單的演算法講起,該演算法基於兩個人物的共同提及頻次。請看下面這個句子:

「艾德·史塔克勛爵是我父親」,瓊恩冷冷地承認。

(在原文中),艾德(又名內德)與瓊恩兩個單詞之間隔了四個單詞,因此,在這個故事發展到這一階段時,可簡單地把他們的關係稱為「親近」。兩個名字出現地越近越頻繁,那他們在故事中的關係就越錯雜,這兩個名字也更能通過數字來反映其關係親密性。打開一個包含25詞的窗口,數一數該窗口內所有名字配對的共現頻次,我們就能用這一數字作為衡量這段關係的「權重」。例如:「瓊恩」這個名字與 「艾德」的這個名字相距25詞以內,這樣的情形共出現51次。對所有加權名字對進行可視化處理,得到下圖,線條的粗細與這些名字對之間的共現數量成正比:

書中出現人物的親密度網狀圖通過Python和Networkx繪製而成。

看起來像是一件藝術品,但從分析學的角度來看,所含信息過於龐雜,所以用處不大。那麼接下來看看網路理論能否讓可視化結果有所改觀吧。網路理論能幫我們通過評估各人物在整個互相關聯的人物網中的重要性來計算出最重要的角色。具體來說,嘗試使用網路理論中的四個核心的中心性度量來計算單個人物(節點)相對於所有其他人物(節點)的重要性:

·連接中心性:直接相連接的節點數與所討論節點數(作為節點總數)的比例

·接近中心性:度量「分離度」,即某節點與所有其他節點距離的平均值

·中介中心性:量化某節點聯結兩個其他節點以得出最短路徑的次數

這種中心性度量通常用於Web搜索演算法。

·威望中心性(又稱特徵向量中心性):不關注連接到某個節點的數量,而是關注連接節點的重要性。高度連接的節點被認為比較少連接的節點更重要。這種中心性度量常用於網頁搜索演算法中。

計算《冰與火之歌》中所有人物的上述指標,最終獲得位居前列的以下幾個角色:

計算人物的各種中心性

從圖中可以看出,由於瓊恩、提利昂和詹姆在與所有其他角色的聯繫上具有中心地位,因此他們是最重要的角色。另一方面,丹妮莉絲與眾角色的聯繫並沒有很好,只在中介中心性方面排在第24位,反映了在地理位置影響下,她與維斯特洛大陸上各人物的聯繫不甚緊密。那麼,哪些指標最適合作為重要性的指標?鑒於作者似乎在以穩定的速度寫死故事中的一些關鍵人物,中介中心性就顯得格外有趣。中介中心性提供了衡量替換單個節點難度的標準,即在不大幅影響人物網其餘部分的前提下殺死一個角色。

考慮到這些因素,再仔細研究一下主要角色。以某個角色視角敘述超過五章的,這個角色就會算作主要角色(紅色節點)。此外,還添加了一些角色(灰色節點),他們中介中心性很強,但不是視點人物。圖中代表角色的圓圈大小反映著此角色中介中心性的強弱。與前文一致,線條的寬度與人物之間的共現數成正比:

通過中介中心性圓形可視化將《冰與火之歌》中的主要角色連接起來。

用同樣的數據繪製另一個圖形- 誰將倖存下來並登上鐵王座?

該圖有助於我們直觀地了解主要角色的相對重要性。總之,顯而易見,從網路理論角度看,瓊恩是最重要的角色,為了使故事線有所交叉並保持連貫,他不太可能被殺掉。瓊恩和山姆二人聯手時最為明智,他們的這種聯繫是所有這類聯繫中最強的一對,兩角色的共現多於262次。但兩人在關係的中心性方面存在巨大差異,比起聯繫中心性很強的瓊恩,山姆更像是一個位於邊緣的節點。其他史塔克手足間的聯繫弱了很多,且主要存在於兄弟間(布蘭和羅柏)及姐妹間(珊莎和艾莉亞)。同時,提利昂是另一重要角色,這一點也很明顯。他是連接史塔克家族與蘭尼斯特家族(以及後面的坦格利安家族)的紐帶。在這五卷書里,丹妮莉絲確實處於邊緣地位,與所有中心性最強的連接都保持一定距離,僅靠附加的充當「橋樑」的角色與維斯特洛大陸有所連接。大概是她已有了龍,就不需要多少人類朋友了吧。

結論

·憑藉大量創造出來的單詞和名字,馬丁在明面上展現出與莎士比亞相近的辭彙豐富性。然而,比較性研究需要考慮更大的上下文背景,並在字數、文體,語言形態學方面類似的文本進行比較會比較理想。像詞性標註和詞形還原這樣的自然語言處理工具可使計算更具合理性與準確性。

·對文本中詞頻進行的可視化和分析,展現出全書的敘述結構。我們已經看到了死亡、鮮血和愛情在故事如何發展,並總結出這些都與人物關係密切相關。這也許並不奇怪,因為據說馬丁先生創作時從玫瑰戰爭中獲得了重大啟發,玫瑰戰爭發生於15世紀,是一場英國王位爭奪戰。

·網路理論清晰地將瓊恩·雪諾列為最重要的角色,其次是提利昂和詹姆。從網路理論角度看,丹妮莉絲處於邊緣位置。這一理論的核心概念是根據人物在整個人物網中的各角色來計算其中心性。 「中介中心性」的指標幫我們找出了在不影響太多人物關係的前提下最不可能被殺掉的角色。

·《冰與火之歌》的許多方面都能得到量化。這也許能讓我們更加清楚故事將走向何處。但也許這種確定性正是作者刻意設置的陷阱,而他所做一切只是為了讓結局顯得更加出人意料。尤其現在,在這部傳奇已逐漸接近尾聲時,這種可能性最大。提利昂萬歲!(提利昂最終登上鐵王座)

勝算要比看上去的大?

留言 點贊 發個朋友圈

我們一起分享AI學習與發展的乾貨

編譯組:張婷華、董宇陽

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 讀芯術 的精彩文章:

歐盟發布AI倫理指南:要負責任且無偏見
第四期「AI 未來說」 帶你論道AI「聽」與「說」的語音技術專場

TAG:讀芯術 |