AI辅助家谱研究:后续实践与经验分享
我收到很多关于我文章 AI 辅助家谱 的反馈,有些不错,有些不太好。无论如何,我觉得这个主题对很多人来说都很有趣。与此同时,我继续完善自己的家谱树,也加深了对这个主题的理解。在这篇文章中,我想再次分享。
信任,但要核实
先来处理不太好的反馈。其要点是:AI 会产生幻觉。理论上确实如此:当你提问时,它会给出任何答案。但当答案有数据支撑时,这种质疑就远没有那么站得住脚了。
我收到的另一个反馈是,家谱网站并不是可信来源。这是一个合理的观点,我在最初的文章中已经承认过。
过程始终相同。
在家谱树中挑一个父母未知的人,让助手去搜索。它知道该浏览哪些家谱网站,也知道该地点的民事记录保存在哪些档案馆。当它找到文书时,会转录文书,将新的个人添加到 GEDCOM 文件中,将他们与其子女关联,并记录来源。然后提交。
反复如此。每次循环都会在某个分支上增加一代,直到找不到记录为止。
--- 循环
我意识到自己本可以写得更详细,所以让我来补上。
GEDCOM 有质量的概念,通过 QUAY 指令表示:
QUAY 标签的值传达了提交者基于支撑证据,对某条信息可信度的量化评估。有些系统使用此功能对多个相互冲突的观点进行排序,以便优先显示最可能的信息。它并非旨在免除接收者自行评估证据的必要。
这张表定义的是指导原则,而非精确规则,所以我这样解释:
- 家谱网站是
QUAY 2 - 官方文书,无论是民事还是教区记录,都是
QUAY 3
流程如下:
- 挖掘家谱网站上可用的大量数据
- 将其
QUAY设为 2 - 核查数据是否出现在官方记录中
- 如果是,将数据的
QUAY设为 3 - 否则,丢弃该数据
因此,信任,但要核实。
档案馆与浏览技能
在最初的文章中,我提到你应该“按站点”创建一个技能。和上一节一样,我可能写得太简略了。让我详细说明:
- 每个家谱网站一个技能(Geni、Geneanet 等)
- 每个档案馆网站一个技能,无论是市档案馆还是省级档案馆
档案馆网站大致可以沿两个正交维度分类。
- 账户:完全开放访问 vs. 需要账户
- 机器人防护:我识别出以下 3 个级别。
- 最低级别,网站可通过
curl访问 - 需要完整的浏览器。为此,我添加了一个基于
uv的小型 Python 项目来驱动 Playwright。 - Cloudflare 防护(或类似)。这是我面对的最高防护级别。在某些情况下,即使勾选“我是人类”复选框也不行。为了绕过它,我使用了调试模式下的 Chrome;我会专门写一篇完整的文章来介绍。
- 最低级别,网站可通过
自动化账户登录
我提到有些网站要求你登录。当然,你可以让你的助手访问你的凭据,但这并不明智。
对于最高级别的机器人防护,除了以调试模式启动 Chrome、登录,并让助手通过调试端口操控浏览器之外,别无他法。这很脆弱:任何关闭浏览器的事情都会结束这次运行。
对于其他网站,你应该使用带有已存储会话的 Playwright。流程如下:
- 启动一个具有持久会话的浏览器
- 登录你想使用的网站
- 关闭浏览器。该配置文件已存储认证数据。
之后,助手可以在同一会话的上下文中启动浏览器:助手将拥有与已登录用户相同的访问权限。会话时长取决于具体网站,因此你应该在无人值守运行之前完成此操作。
与调试方法相比,好处在于它能在关闭浏览器后仍然存活。
利用家谱网站
我最初的建议是使用高级订阅挖掘家谱网站,然后转向官方记录。此后,我改进了这一方法。
首先,我把它变成了一个循环。在记录中发现新的祖先之后,我会回到家谱网站。在某些情况下,这些祖先已经出现在其他人的家谱树中,于是我又能再向前跳几代。即使这些后来的跳跃比最初的跳跃小得多,仍然意味着用更少的 token 就能定位到记录中的确切文书。
这些新祖先不会自动进入你的家谱树。大多数家谱网站都有智能匹配的概念。它们运行启发式算法,能够匹配(因此得名)来自不相关家谱树中的人。有些网站在这方面做得更好。接受匹配时你需要非常小心,因为它可能通过添加不相关的人,腐蚀你家谱树的整个分支。因此,我倾向于非常保守。另一方面,你可以发现祖先姓名的新拼写变体。也许你漏掉了一份文书,是因为助手没有搜索正确的变体?
最后,这些网站大多(全部?)都有两个层级:完整数据访问和有限数据访问。完整访问会在试用期内解锁,要么在你注册时,要么在你订阅时。订阅可能很昂贵。更糟的是,有些网站只提供年度订阅套餐。我对注册电子邮件地址毫无顾虑。
利用 Topola
我仍然使用并喜爱 Topola,这个 GEDCOM 查看器。
在它的功能中,它允许在家谱树中为 INDI 显示缩略图。它使用与 INDI 关联的第一个 OBJE 对象。其他 OBJE 显示在右侧面板中。如果你有祖先的照片,这是一个很实用的功能。
我喜欢有序,因此遵循这些规则:
- 头像必须是肖像照。如果没有肖像照,我会裁剪一张现有照片来充当头像。
- 所有引用图像的
OBJE都按时间顺序设置。因此,右侧面板也会按相同顺序显示它们。
转录
转录至关重要。文书是图像,而你希望它们的数据易于访问。
从一开始,我就把转录过程委托给助手。你解读草书手写体的能力取决于几个因素:
- 书记员的书写风格。越往过去追溯,书写风格越不规范,也越难辨认。
- 你对语言的熟悉程度。取决于你的家谱树,你可能有一些祖先的文书使用外语。
- 文书的年代。文书越古老,就越难辨认某些表达,而且正字法也越“流动”。
出于这些原因,我从助手所做的转录开始。我注意到它有时相当谨慎:在我会推断出一个词的地方,它决定放入占位符。对字母也是如此。我尝试了几种替代方案。
-
我询问了可用的最佳工具,得到 Transkribus。这是一个付费在线工具,有很多模型可选。有些模型是高级模型,其他是免费的。它每月还提供 50 次免费转录。你只需要同意排队等待,因为为免费用户提供的运行资源很少。
在我超出助手配额后,我尝试了 3 到 4 次。结果糟糕透顶,只产生乱码,甚至连词语杂烩都算不上。后来我读到,必须在你自己的文档上训练模型。这意味着你需要先转录一份记录的一两页,之后同一记录的后续文书结果才会改善。说实话,我不会再使用它了。
-
为了节省助手的 token,我还尝试了本地方案。我利用 kraken 并根据语言和年代使用专用模型。它比 Transkribus 好得多,但远不及助手的能力。究竟是我漏掉了某个配置步骤,还是助手的能力已经大幅跃升,我永远不会知道。最后,我干脆放弃了这个技能。
-
一个非常好的惊喜是 Filae。这是一个小型法国家谱网站。然而,对于法文手写体,它的转录能力无与伦比。我使用过几次,结果令人惊叹。唯一的问题是,他们似乎关闭了这项服务。可惜。
小波折与障碍
既然我已经更详细地阐述了创建家谱树的细节,这里列出我遇到过的一些问题,权当一乐。排名不分先后:
- 有三代甚至四代祖先缺乏想象力,把孩子的名字取成了自己的名字。现在,你在同一个地方有一堆同名同姓的人。
- 你已经习惯了记录是出生、洗礼、婚姻、死亡或葬礼?来点更多花样怎么样,把其中一些混在同一份记录里?现在,按日期对文书进行二分查找变得困难多了。
- 单一记录中混合多种文书类型还只是开始。当日期不是单调递增时,也就是毫无顺序时,就更精彩了。我偶然遇到的一些公证记录就是这种情况。
结论
我仍在进行这个项目,现在已有超过 1200 人,并在一个分支上跨越了 13 代。如果你选择走同样的路,我希望这些额外建议会有所帮助。
延伸阅读:
最初发布于 A Java Geek,2026 年 9 月 20 日。## 加入讨论
AI [LOADING...]
Nicolas Frankel2026年8月31日 6 次浏览
AI 辅助家谱研究
AI
Tutorials [LOADING...]
Nicolas Frankel2025年1月30日 2,375 次浏览
Playwright 初体验
教程
AI [LOADING...]
Nicolas Frankel2026年3月17日 1 次浏览