用word2vec解读延禧攻略人物关系

阅读难度:★★☆☆☆

技能要求:机器学习、python、分词、数据可视化

字数:1500字

阅读时长:6分钟

本文结合最近热播的电视剧《延禧攻略》,对其人物的关系在数据上进行解读。通过从网上收集相关的小说、剧本、人物介绍等,经过word2vec深度学习模型的训练,构建人物关系图谱,并通过可视化的方式进行展示。

1

图谱

先看看全剧人物的关系图谱:

节点越大、越靠近中心,在剧中与其他角色的关系越错综复杂

我们把图放大,观察下:

可以发现:

璎珞、尔晴、吉祥、明玉、锦绣、傅恒

这6位人物是全剧中推动剧情发展的关键所在。从这个角度看《延禧攻略》是一部关于多名宫女与一位侍卫的故事。

这个图谱还可以看各个人物与其他人物的关联度

再看下乾隆与其他人的关系:

当然我们也可以通过代码查询:

图谱体验地址:

https://shadowcz007.github.io/text2kg/

上面的图谱是怎么得出的呢?

2

构建思路

需要的数据:

延禧攻略小说

延禧攻略剧本

延禧攻略人物名称

算法:

word2vec

前端:

echart

开发环境:

python

在处理数据的时候,我们需要把数据里的标点符号,以及一些没用的词语去掉(例如第xx章之类的)。配合结巴分词,做一轮分词后,再把一些字符长度为1的去掉(例如各种语气词、数量词等)。

最后处理成:

数据准备好之后。主要使用gensim进行word2vec的训练。gensim是一个Python NLP的包,封装了google的C语言版的word2vec。安装gensim是很容易的,使用"pip install gensim"即可。

3

word2vec

word2vec,也叫word embeddings,中文名“词向量”,作用就是将自然语言中的词语转为计算机可以理解的稠密向量。词语转化为向量的关系如下图所示:

word2vec可以学习到词语之间的关系,原理是在文本中相关的词总是大概率的同时出现。再看下图:

从图上看,word2vec可以学习到各种有趣的关系。例如,单词“king”经常和“quee”出现在一起,而“man”经常和“woman”出现在一起。

通过word2vec分析,我们可以发现代表“king”的矢量可以跟代表“queen”,“man”和“woman”的矢量有如下简单的关系:

king=queen-woman+man

通过词到向量的转化,我们可以基于向量进行各种运算。

除了应用于语言学里,还可以应用到化学里,例如Atom2Vec,它能够从不同元素组合而成的化合物名称(如NaCl, KCl, H2O )来学习区分不同的原子,从而发现一些可能的新化合物。这个程序借鉴了自然语言处理中的简单概念:

一个词语的特性是可以从它周围出现的其他单词来得出的;对应的把化学元素根据它们所处的化学环境进行聚类得出相关的化学元素。

从这些数据的分析中,人工智能程序可以发现钾和钠有着类似的性质,因为它们都可以跟卤素结合成化合物,“就像king和queen很类似一样,钾和钠也是类似的。”

训练后的模型,可以输入不同原子组成的化合物进行各种向量运算,帮助我们发现新的化合物。

4

gensim word2vec指南

简单一行代码就可以开始训练模型:

model = Word2Vec(line_sent, size=100,window=5,min_count=1)

训练好之后,可以查询找出某一个词向量最相近的词集合:

model.wv.similar_by_word('璎珞', topn =10)

还可以看两个词向量的相近程度,这里给出了剧中两组人的相似程度:

print(model.wv.similarity('璎珞', '尔晴'))
print(model.wv.similarity('皇后', '弘历'))

相似度:

0.9175463897110617
0.8206695311318175

又或者找出不同类的词,这里给出了人物分类:

model.wv.doesnt_match("璎珞 皇后 弘历 傅恒 尔晴".split())

结果: 弘历

从结果来看,弘历是皇帝,当然跟这些人都不是一类的。

再看一组:

model.wv.doesnt_match("璎珞 皇后 傅恒 尔晴".split())

结果: 傅恒

傅恒是男的,也跟这些人不同类。

以上为全文内容,word2vec还有其他好玩的应用,例如我们可以分析每个人物的性格,找出描述人物的性格词语;应用于设计语言的挖掘,我们可以提取出某种设计风格的特点;应用于文章写作,我们可以分析某种文章的风格,让机器协作我们进行写作创作;等等。

原文发布于微信公众号 - 无界社区mixlab(Design-AI-Lab)

原文发表时间:2018-08-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏华章科技

干货 :数据挖掘中易犯的11大错误

5. 使用了未来的信息(Accept Leaks from the Future)

9420
来自专栏新智元

邓侃解读:深度学习病历分析前沿进展

最常见的用于电子病历(EHR)分析的深度学习架构 【新智元导读】邓侃博士又一力作,看深度学习如何让电子病历分析取得突破:Word2Vec、AutoEncoder...

410100
来自专栏人工智能头条

几种监督式学习算法的比较

11720
来自专栏企鹅号快讯

数据挖掘中最易栽的十个大坑

欢迎关注数据超市微信公众号 按照 Elder 博士的总结,这 10 大易犯错误包括: 1. 太关注训练( Focus on Training ) 2. 只依赖一...

297120
来自专栏MixLab科技+设计实验室

如何量化一张图片的色彩关系?

上一期讲到Brandmark提出了一种表达色彩比例及关系的数据结构,无向色彩节点图,见下图:

28520
来自专栏专知

【最新】2018斯坦福cs224n深度学习与NLP课程又开课了(附ppt下载)

Stanford大学在2015年开设了一门深度学习与NLP课程(Deep Learning for Natural Language Processing)的课...

1.6K80
来自专栏大数据文摘

暑期追剧学AI | 油管网红带你搞定机器学习中数学思维(一)

21770
来自专栏机器人网

机器人参数坐标系有哪些?各参数坐标系有何作用?

工业机器人的坐标形式有直角坐标型、圆柱坐标型、球坐标型、关节坐标型和平面关节型。

16820
来自专栏数据科学与人工智能

【数据科学】数据科学可以做什么

机器学习是数据科学的发动机。每种机器学习方法(也称为算法)获取数据,反复咀嚼,输出结果。机器学习算法负责数据科学里最难以解释又最有趣的部分。数学的魔法在此发生。...

298100
来自专栏CDA数据分析师

数据挖掘中最易犯的10个错误,请绕行!

按照 Elder 博士的总结,这 10 大易犯错误包括: 0、缺乏数据( Lack Data ) 1. 太关注训练( Focus on Training ) 2...

19790

扫码关注云+社区

领取腾讯云代金券