小說人物的身份、行為挖掘,技術角度解讀《慶余年》,深度挖掘小說語料 -02
- 2019 年 12 月 25 日
- 筆記
《慶余年》是由孫皓執導,張若昀、李沁、陳道明、吳剛、辛芷蕾、宋軼、郭麒麟等主演的古裝劇。該劇改編自貓膩的同名小說,講述了一個有著神秘身世的少年,自海邊小城初出茅廬,歷經家族、江湖、廟堂的種種考驗、錘鍊的故事。於2019年11月26日在騰訊影片、愛奇藝首播……
系列文章:
今天繼續更這個系列,這篇主要從挖掘人物相關的身份、行為等角度來試驗,作為初次試驗,我們只取小說其中幾章的數據試驗下:
STEP01 首先收集小說中人物的人名
例如:
范閑 林婉兒 慶帝 陳萍萍 海棠朵朵 戰豆豆 范若若 司理理 葉靈兒 肖恩 費介
數據從哪裡來呢?這個比較容易收集,從豆瓣或者百科就可以獲得。
STEP02 把人名添加到分詞演算法里,並提高權重
我這邊設定的方式是:
范閑 actor 99999
這樣分詞,就可以優先把人物給切出來啦,看下結果:

STEP03 二階共性分析VS三階共性分析
這裡先嘗試 二階共性分析,主要基於互資訊提取出人物的相關詞。
什麼是互資訊?
互資訊(Mutual Information)是資訊理論里一種有用的資訊度量,它可以看成是一個隨機變數中包含的關於另一個隨機變數的資訊量,或者說是一個隨機變數由於已知另一個隨機變數而減少的不肯定性 。
簡單來說,互資訊用於度量兩個對象之間的相關性。互資訊的值越大,兩個對象的相關性越高。
目前,人工智慧大部分的應用都是基於關聯性的,缺少了因果關係。
計算結果例如:
{
"范閑":{
'相信': {'value': 3230, 'nature': 'v'},
'酗酒': {'value': 2830, 'nature': 'vi'},
'忍不住': {'value': 3073, 'nature': 'v'}
}
…
}
STEP04 根據詞性,把行為相關的辭彙總出來
這裡只取前3的結果,例如這裡以動詞為主,結果如下:
二皇子
['拉攏', '賞賜', '拉扯']
五竹
['堅持', '看著']
司理理
['看著', '帶著', '覺得']
李弘成
['知道', '一怔']
林婉兒
['忍不住', '發現', '知道']
林若甫
['望著', '苦笑',]
王啟年
['介紹', '走到']
范建
['微笑']
范思轍
['搖頭', '咕噥']
范若若
['低頭', '嘆息']
范閑
['知道', '看著']
費介
['看著', '笑著']
長公主
['決裂', '立起', '破涕為笑']
除了了解人物的主要行為,我們還可以了解到人物的身份。比如把 共現詞的詞性限制為名詞,可以得到以下這些詞:
皇帝 大人 院長 殿下 老師 先生 怪老頭 少爺 小姐 姑娘 叔
重複下STEP04步,結果如下:
五竹
['叔', '老師']
司理理
['姑娘']
王啟年
['大人']
范思轍
['少爺']
范若若
['小姐']
范閑
['少爺', '大人']
費介
['老師', '先生']
長公主
['殿下']
以上是今天主要的試驗,可以應用的場景有哪些呢?
比如,了解小說人物在每個章節主要的行為,
進而可以了解到小說的情節變化。
還有很多有意思的,
待續……