更新:《左手读红楼梦,右手写BUG,闲快活》一文对该数据集进行了分析挖掘,加了许多红楼梦的内容,以及几个书里的黄段子,逃。代码开源在:DesertsX/gulius-projects

直接上图,安利下这个关于红楼梦的可视化作品网址在此:InteractiveGraph/example1。要是有最近在读《红楼梦》的朋友,可以对照着来看,想来是很棒的体验。

在此关系图谱中,粉红色节点代表红楼梦中出现的人物,主要角色用了1987版红楼梦部分演员的剧照,点击每个节点能看到人物的介绍;黄色节点为书中出现过的主要地点;蓝色节点为书中主要的情节、事件,同样点击后能看到情节概述,不过不是原文内容。古柳虽然很久没看红楼梦原书和87版电视剧了,但这些还是门儿清的。

网页右上角提供了一些可选的按钮,其中第四个是展示节点间关系用的,对小说不了解、或初读的读者可能会有帮助,比我们那年月自己看书或一些读者搜网上单纯的罗列人物图谱要直观的多。比如宝玉的母亲、干娘、妻子、同宗、哥哥、仆人等等,越看越觉得这背后的数据集真的是厉害…..

更多细节大家可自行探索,古柳当初看到时就觉得很惊艳,作为一个“伪”红迷,看到这么棒的项目,幻想着要是能哪天自己复现出来,也是“死而无憾”了。幸运的是,这个项目所有代码也开源在了GitHub - InteractiveGraph。

README_CN.md文件里介绍了具体实现细节,还是很详细的,哪怕里面很多技术没接触过,也能有个方向。不过,技术有了,用到的数据格式又是怎么样的呢?假如想迁移到其他小说、其他文本内容上又该怎么准备数据呢?

带着这个疑惑找到了dist/examples/honglou.json文件,简单的摘录开头部分数据。categories定义了上面关系图谱里节点类型;translator代码跳过(==);data 处开始到最后5000多行就是各类所有节点的数据了,显示event事件的数据格式样例。

{"categories": {"person": "人物","event": "事件","location": "地点"},"translator": {"nodes": function (node) {//set descriptionif (node.description === undefined) {var description = "<p align=center>";if (node.image !== undefined) {description += "<img src='" + node.image + "' width=150/><br>";}description += "<b>" + node.label + "</b>" + "[" + node.id + "]";description += "</p>";if (node.info !== undefined) {description += "<p align=left>" + node.info + "</p>";} else {if (node.title !== undefined)description += "<p align=left>" + node.title + "</p>";}node.description = description;}},},"data": {"nodes": [{"label": "共读西厢","value": 2,"id": 3779,"categories": ["event"],"info": "宝玉到沁芳桥边桃花底下看《西厢记》,正准备将落花送进池中,黛玉说她早已准备了一个花冢,正来葬花。黛玉发现《西厢记》,宝玉借书中词句,向黛玉表白。黛玉觉得冒犯了自己尊严,引起口角,宝玉赔礼讨饶,黛玉也借《西厢记》词句,嘲笑了宝玉。于是两人收拾落花,葬到花冢里去。"},{"label": "林如海捐馆扬州城","value": 4,"id": 3780,"categories": ["event"],"info": "林如海考中探花后,迁为兰台寺大夫,钦点为扬州巡盐御史。后身染重病于九月初三日巳时而亡。"},
复制代码

《小戏骨红楼梦》之宝黛共读西厢:

地点节点数据样式:

{"label": "潇湘馆","value": 3,"id": 3838,"categories": ["location"],"info": "黛玉的居所。黛玉作诗的笔名就潇湘妃子,这是曹雪芹对黛玉这个人物的赞美。"},
复制代码

《小戏骨红楼梦》之宝钗

人物节点数据:

{"label": "王熙凤","value": 25,"image": "./images/photo/王熙凤.jpg","id": 4041,"categories": ["person"],"info": "金陵十二钗之九,来自四大家族之王家,王夫人的内侄女,贾琏之妻。她精明强干,深得贾母和王夫人的信任,成为荣国府的管家奶奶,她为人处事圆滑周到,图财害命的事也干过不少,在前80回里她支持宝黛爱情。"},
复制代码

《小戏骨红楼梦》之宝黛美如画:

最后是所有节点所代表的实体之间的关系:

{"id": 3324,"label": "仆人","from": 3876,"to": 4103},
复制代码

最近也接触了些依存句法分析、信息提取等NLP的内容,但理论归理论,真要用来提取小说里进行命名实体识别、实体关系提取、事件抽取等等还是差得远,以后日后能复现这一项目。

最后再放张87版红楼梦的剧照,虽然真的觉得对小戏骨的红楼梦的喜好要超过前者了。逃……

欢迎关注公众号“牛衣古柳”(ID:Deserts-X)哈!

安利一个惊艳的红楼梦可视化作品相关推荐

  1. 【限时删除】一个惊艳的神器,可全网爬取各种资源......

    今天,想为大家推荐一款超惊艳的工具,可以用在生活.工作的方方面面,保证瞬间让你找到人生开挂的感觉! 在这之前,先跟大家分享个真实的故事. "这感觉真的是太爽了!" 我朋友小宇前段时 ...

  2. 【限时删除】一个惊艳的神器,可全网爬取各种资源..........

    今天,想为大家推荐一款超惊艳的工具,可以用在生活.工作的方方面面,保证瞬间让你找到人生开挂的感觉! 在这之前,先跟大家分享个真实的故事. "这感觉真的是太爽了!" 我朋友小宇前段时 ...

  3. 人的一生会遇到三种人,一个惊艳了时光,一个温柔了岁月,一个讲懂了“堆”

    堆儿 堆的概念 堆的操作 向下调整 搞一个大堆 向上调整 入堆 出堆 使用Java中的堆 top-K问题 分享一个题目 堆排序 堆的概念 堆就是优先级队列 堆在逻辑上是一棵完全二叉树 堆在物理上是储存 ...

  4. deepin关机卡桌面_喜大普奔:发现一个惊艳的电脑操作系统Deepin

    前些天,我买了一块固态硬盘,准备给用了5年多的笔记本电脑换一下硬盘. 为什么要换硬盘呢? 因为我实在忍受不了它的开机和操作的速度,比乌龟还要慢.在多少个夜晚,我都有买一台新的笔记本电脑冲动,但早上起来 ...

  5. 制作一个惊艳所有人的计算器

    首先,如果它读进来是一串字符,你会怎么办呢? 识别数字和符号? 如果像7-2*3这样的,你又该怎么办? 如果数特别大如10^20怎么办? 如果是小数有该怎么办? 手动判断? 当然不是. 调用power ...

  6. 使用 HTML5 Canvas 绘制出惊艳的水滴效果

    HTML5 在不久前正式成为推荐标准,标志着全新的 Web 时代已经来临.在众多 HTML5 特性中,Canvas 元素用于在网页上绘制图形,该元素标签强大之处在于可以直接在 HTML 上进行图形操作 ...

  7. python 红楼梦 人物关系_用Python来理一理红楼梦里的这些关系

    原标题:用Python来理一理红楼梦里的这些关系 最近把红楼梦又抽空看了一遍,古典中的经典,我真无法用言辞赞美她.今天,想跟大家一起用 Python 来理一理红楼梦中的的那些关系 不要问我为啥是红楼梦 ...

  8. 《红楼梦》的读后感范文2300字

    2019独角兽企业重金招聘Python工程师标准>>> <红楼梦>的读后感范文2300字: <红楼梦>一开始,就写贾宝玉的小厮各种顽劣,"恋风流情友 ...

  9. 【AI训练新手记:如何通过ChatGPT生成令人惊艳的文案!】

    [我]:我是一名Youtuber,工作内容是写吸引人的youtube脚本,并拍摄上传,我的领域是技术型频道,请你告诉我10个chatgpt相关的吸引人的选题 [ChatGPT]:当然,下面是10个有关 ...

最新文章

  1. 吴恩达神经网络和深度学习——第四周笔记
  2. jQuery运行方式818
  3. vc2005编译过程中没有找到MFC80UD.DLL,因此这个程序未能启动.重新安装应用程序可能会修复此问题? 的彻底解决
  4. 【spring源码分析】IOC容器初始化(二)
  5. rust大油田分解机_低渗油田油井反向调驱(堵水)技术:单井平均含水率从95.6%降至53.65%,单井平均日产油从0.115t上升至1.32t...
  6. python 建站需求_python建站基础环境配置
  7. [Java基础]内部类基础
  8. Mockito教程:使用Mockito进行测试和模拟
  9. tracker服务器php,FastDFS-5.05 tracker服务器安装nginx+php
  10. Java JDBC Druid
  11. linux查看具体进程占用的网络流量
  12. 【算法设计与分析】11 递归树
  13. 接上一篇:Java实现导出Excel并附带水印
  14. ERP: ERP系统的作用
  15. A/B 测试:数据驱动的产品优化
  16. 垃圾渗滤液处理工艺,你至少要知道这些!
  17. python电路仿真001
  18. Audio/Video会触发的方法和事件分别有哪些
  19. 文件上传绕过和提权——(感谢公司搭建靶机和给予帮助的各位同仁)
  20. PrivacyPolicy 隐私政策(鑫炳优品)

热门文章

  1. 运行时应用自我保护(RASP):应用安全的自我修养
  2. linux网络测速qerf,最新可用linux/centos 7上网络测速|测试网速脚本
  3. android Setting模块简介
  4. 《J2SE 回炉再造10》-------溺水狗
  5. C# 实现语音播报语音识别
  6. 涂鸦智能2021秋招笔试编程题
  7. i美股浑水做空展讯在线访谈实录
  8. 中南民族大学计算机类有什么具体专业,中南民族大学计算机科学学院介绍
  9. pandas中关于DataFrame行,列显示不完全的解决方案
  10. 购物商城系统 java_java Web开发网络商城购物网站系统-GO购网络商城