晶羽科技-解读点评影视小说作品

微信
手机版

蝶纸天眼,谍纸天眼是什么鬼东西

2023-12-02 11:54 作者:岑岑 围观:

“间谍纸眼”这个词曾经因为今年热播的电视剧《楚乔传》而在网络上被观众热议。“间谍纸眼”的主要功能是为国家(皇帝)收集、分析、处理信息,执行一些秘密任务。分布在世界各个角落的间谍将军务、门阀、官员、民情等各种信息发送到谍报大楼进行分析、处理、存档,然后将结果交给上层管理人员或在需要时随时查阅。可以说是一个强大的数据分析处理系统。本期在和大家分享一些文本挖掘知识的基础上,利用Python从剧情文本中发掘更多关于“间谍纸眼”的秘密。

一、剧情文本收集

在分析之前,你需要获取剧情的文本——从网上抓取每一集的剧情,分析剧情文本(本文选取1-54集)。使用python的urllib2和BeautifulSoup包,可以快速爬下剧情文本,保存为chuqiaozhuan.txt文档。对了,还可以顺着剧中人物的名字往下爬,然后会用到预处理和分析中涉及到的分词、实体属性对齐和社交网络分析。代码和文本见下图:

代码1:

已爬网文本:

2.文本预处理

爬取故事后,对文本进行预处理,主要包括分句、分词、去除一些特殊符号和停用词、实体对齐和属性对齐。如果一个角色在剧中可能有不同的名字或头衔,那么就需要统一。为了尽可能准确地分割一些固定的名称,需要导入一个自定义词典,包括人名、地名和机构名。此外,在提取文本特征时要去除一些停用词,以提高分析的准确性。经过一系列的处理,我们可以得到一个干净的文本分割结果,然后我们可以在此基础上进行深入的分析。代码和处理结果如下:

代码2:

预处理结果:

第三,人们出现的频率和社会网络关系

首先,我们来看看剧中出现频率较高的关键人物。根据爬下来的名字列表,统计每个关键人物在文本中出现的次数,通过matplotlib包画出前10个关键人物(如图-人物的出场)。我们可以发现,女主角楚乔出现的次数最多,共1060次,其次是和,分别为589次和565次。在看剧的时候,人们可能会认为颜荀是该剧的男主角,因为剧情都是沿着他的复仇路线展开的,而余只是出来“打酱油”而已。然而,从出现的频率来看,作家们倾向于为余安排更多的情节。代码和字符出现频率的图形如下:

代码3:

字符出现频率:

字符出现的次数

接下来,我们来了解一下剧中人物的社会关系。采用基于句子的分析(段落也可以用来识别人物之间的关系,但是本例收集的文本每一集只有一个段落,所以不适用),即如果两个人物同时出现在一句话中,那么他们之间一定有某种联系,通过这样的分析可以得到剧中人物的社交网络关系。

通过得到的共现矩阵,画出如下的社会网络关系图(图中边的粗细代表关系的紧密程度,边越粗代表两个人的关系越密切,节点的大小可以表示为人的社会交往的强弱。)

社会状况:

主角的社交情况:

4.走进“谍报之眼”

1.基于TF-IDF的关键词提取。

当一切准备就绪,我们就可以开始专注于探索边肖更感兴趣的“间谍之眼”了。使用python的wordcloud包,通过关键词抓取相关故事后生成一个字云(字云可以导入图片自定义字云的形状,但要注意中文编码和字体的问题,否则生成的字云会显示为乱码)。从词云我们可以看出,出现频率较高的词是于、于文怀、帝、大梁。码词云图如下:

代码5:

字云图片:

但是频繁出现的词并不能代表文本中的关键词,所以需要TF-IDF来提取关键词。TF-IDF权重由词频和倒档频计算得出。这里直接使用了洁霸分词工具提取50个关键词,如下表所示。发现与“谍纸眼”相关的人物主要是宇文家。除此之外,还有一些特殊的词汇,如间谍、间谍纸屋、间谍纸令、杀人派、隐派、兵派、银派等。通过这些关键词,比如《谍纸之眼》的导演很可能是宇文家,其组成包括杀人派、隐派、军派、银派,各部分执行不同的任务。如果想看到每个词的具体TF-IDF权重,也可以用scikit-learn包来计算,然后根据权重进行重要性排序。代码和关键字列表如下:

代码6:

关键词:

2.利用word2vec挖掘语义相似度。

Word2vec常用于文本分析,将文本转化为词向量,然后挖掘词的语义相似度。导入gensim库后,将文本转化为模型输入的形式再进行训练,就可以得到每个单词的向量形式。例如,打印出“间谍纸眼”的向量,如下图所示。

代码7:

根据词向量,我们可以比较每个词的相似度或找到对应关系,例如:

从结果来看,文中“间谍眼”与“于”的相似度为0.9994,而给定“大为”与“于”的关系,发现与雁北关系相似的词主要有等。虽然有少部分没有特别意义的词被弄乱了,但是并没有太大的影响。

另外,可以根据训练好的词向量进行K-means聚类,有兴趣可以进一步尝试。

下载。本文代码的py文件,请关注“boyidata”,回复“code”。

相关文章