莎士比亚的世界——我以为这很简单,但……
摘要
作者使用 spaCy NER 和 Claude 从莎士比亚作品中提取地名,然后利用 MapLibre、OpenCage 和 Stadia Maps 构建了交互式地图,可按戏剧筛选地点并显示引文。
暂无内容
查看缓存全文
缓存时间: 2026/05/30 22:29
# 莎士比亚的世界 —— 我本以为这很简单,但……
来源:https://knowwhereconsulting.co.uk/blog/shakespeares-world/
上周我接到了加文·霍利斯教授的来电,他正在撰文探讨莎士比亚对地图的使用并提出了 ***mapp'ry*** 这一术语——你可以在这里 阅读更多关于我们对话的内容(https://mappery.org/bed-work-mappry-closet-war/)。那次对话促使我思考莎士比亚在其剧作中提及的地名,以及这些地名能如何揭示他在 16 世纪末对世界的理解。我本以为这会很简单,但细节才是魔鬼!
我先是下载了古登堡计划的完整作品文本文件,然后在 Claude 的大力帮助下使用 spaCy NER(命名实体识别)提取了候选地名——产生 578 个候选,需要人工审查。我手动审核并确认了 288 个地点,添加了国家信息,然后使用 OpenCage API 进行地理编码,最后对古代/神话地点(Ilium、Barbary、Corioles、Belmont)进行了手动坐标修正。
得到莎士比亚剧作中提到的地名列表后,我需要提取带有剧名和幕/场次引用的引文。这极具挑战性:有些地名同时也是角色名(尤其在英国历史剧中),我需要忽略“剧中人物”部分,并区分场景设定与引文。最终我得到了 2,685 条引文和 153 个场景设定,涉及 288 个地点和 38 部剧作。
在借助 MapLibre 和 Claude 构建了多张地图后,我以为构建地图会很轻松,但我有个巧妙的想法——用羽毛笔符号作为地图标记——结果浪费了好几个小时!我不太明白为什么就是行不通,当我放弃羽毛笔改用标准圆形符号时,它立刻就生效了。后来我换成泪滴形符号也没问题。地图构建的其余部分相对简单,尽管追求“非常好”(别想着完美)也耗费了一些时间。为了这幅地图,我想要一种莎士比亚时代的风格,于是通过 Stadia Maps 使用了 Stamen 的水彩风格瓦片,我觉得效果很棒,我还添加了一个黑白选项。
在测试过程中,我不断发现数据中的小故障,不得不通过结合 Python 脚本(多亏了 Claude)和手动编辑来处理,这比解决脚本中的边缘情况要容易。最有趣的错误是“Maidenhead”——spaCy 将其识别为一个出现了 14 次的地名,但我查看引文时发现,莎士比亚指的其实是“童贞”,而非地名!
我逐渐掌握了这些技术,但这张地图比我想象的要难得多,主要是因为数据问题。我对最终结果很满意,觉得效果还不错。我尤其喜欢按地名或剧作搜索的功能:如果你选择一部剧作,地图会筛选出该剧作中提到的地点,并缩放到其范围,然后你可以浏览提及该地点的引文样本。我相信你会发现一些地点和引文提取中的幽默错误,把它们发给我,我会尽力修正。
https://knowwhereconsulting.co.uk/blog/critical-minerals-the-global-supply-chain/
哪些国家扼住了哪些关键矿产的咽喉?我们生活中的哪些产品受到影响?如果中美关系真的变得非常冷淡,我们都会陷入麻烦!
https://knowwhereconsulting.co.uk/blog/political-atlas-of-the-world/
一份政治地图集,展示每个国家政府的政治倾向、多数党及其领导人。
https://knowwhereconsulting.co.uk/blog/unequal-london-v1/
伦敦不平等地图的初次尝试,后来被更好的 v2 版本取代,但这是一次不错的初试。
https://knowwhereconsulting.co.uk/blog/elite-football-in-europe/
顶级足球的成功与球队成本及收入如何关联?这张地图通过 5 年和 10 年指数展示了其中的模式。
相似文章
阅读地图:从虚构故事中探索真实世界的旅程
一个基于书籍和电影中的虚构旅程提供地图和旅行路线,并将其叠加在现实世界地理上的网站。
@mattshumer_: 飞越霍格沃茨,由Claude Fable 5生成。https://hogwarts-production.up.railway.app
Matt Shumer 分享了一个网页应用,用户可以在AI生成的霍格沃茨环境中飞行,该应用使用Claude Fable 5创建,并支持Vision Pro的沉浸模式。
marceloprates/prettymaps
一个轻量级的Python库,用于从OpenStreetMap绘制自定义地图,利用osmnx、matplotlib、shapely和vsketch进行地理可视化。
@GoogleDeepMind: 谁拜访过多多纳的神谕?通过分析古代铅板收藏,Skill 项目绘制了游客的旅行路线…
Google DeepMind 运用人工智能分析来自多多纳神谕的古代铅板,绘制游客起源地,并从零散的历史碎片中重建出一个社交网络。
Graphify-Labs/graphify
Graphify将整个项目(代码、文档、PDF、图片、视频)映射成一个知识图谱,可通过AI编码助手进行查询,并利用tree-sitter AST进行本地代码解析。