Anna’s Blog
关于安娜的档案(人类历史上最大、真正开放的图书馆)的最新动态。

ISBNdb 转储,或:究竟有多少图书被永久保存?

annas-archive.gl/blog, 2022-10-31

如果我们能对影子图书馆中的文件进行正确去重,我们究竟保存了世界上全部图书的百分之多少?

借助 Pirate Library Mirror(编辑:已迁移至 安娜的档案),我们的目标是收集世界上所有的书,并将它们永久保存。1 在我们的 Z-Library 种子以及原始的 Library Genesis 种子之间,我们共有 11,783,153 个文件。但这在现实中究竟意味着什么?如果我们对这些文件进行正确去重,我们保存了世界上所有图书的百分之多少?我们非常希望能得到类似这样的结果:

10% 的人类书面遗产已被永久保存

要算百分比,我们需要一个分母:史上出版过的图书总数。2 在 Google Books 式微之前,该项目的一位工程师 Leonid Taycher 曾在一篇文章中 尝试估算 这个数字。他半开玩笑地得出 129,864,880(“至少到周日为止”)。他通过构建一个涵盖全世界所有图书的统一数据库来估算这一数字:先汇集不同的 Datasets,再用多种方式进行合并。

顺带一提,还有另一个人也曾尝试编目全世界的所有图书:已故的数字行动者、Reddit 联合创始人 Aaron Swartz。3创建了 Open Library,目标是“为每一本曾出版过的书建立一个网页”,并整合来自许多不同来源的数据。后来,他因批量下载学术论文而遭到起诉,最终为其数字保存工作付出了生命的代价,走向自杀。不必多说,这也是我们团队使用化名、并且格外谨慎的原因之一。Open Library 仍由 Internet Archive 的伙伴们英勇运营,延续着 Aaron 的遗产。本文稍后还会再回到这一点。

在 Google 的博文中,Taycher 描述了估算这个数字时的一些挑战。首先,什么才算一本书?有几种可能的定义:

“版次”(Editions)似乎是对“图书”最实用的定义。巧合的是,这一定义也用于分配唯一的 ISBN 编号。ISBN(International Standard Book Number,国际标准书号)常用于国际商业流通,因为它与国际条码系统(“International Article Number”)相集成。若要在商店出售一本书,就需要条形码,因此会申请一个 ISBN。

Taycher 的博文提到,尽管 ISBN 很有用,但它并不普遍,因为它真正被广泛采用是在 70 年代中期,而且并非全球各地都使用。尽管如此,ISBN 可能仍是最广泛使用的图书版次标识符,因此是我们最好的起点。如果我们能找到全世界所有的 ISBN,就能得到一份很有价值的清单,知道哪些书仍需要被保存。

那么,我们从哪里获取数据?目前已经有多项工作在尝试汇编全世界所有图书的清单:

在这篇文章中,我们很高兴宣布一次小规模发布(与我们之前的 Z-Library 发布相比)。我们抓取了 ISBNdb 的大部分内容,并在 Pirate Library Mirror 的网站上提供了可通过种子下载的数据(编辑:已迁移至 安娜的档案;我们不在此直接提供链接,请自行搜索)。数据约包含 3090 万条记录(以 JSON Lines 格式为 20GB;gzip 压缩后为 4.4GB)。他们在网站上声称实际上有 3260 万条记录,因此我们可能漏掉了一些,或者也可能是他们那边出了问题。无论如何,目前我们不会分享具体是如何做到的——就把它留给读者当作练习吧。;-)

我们将分享的是一些初步分析,以便更接近估算世界上图书的数量。我们查看了三个 Datasets:这个新的 ISBNdb 数据集、我们从 Z-Library 影子库(包含 Library Genesis)抓取并首次发布的 metadata,以及 Open Library 的数据转储。

先从一些粗略数字开始:

Editions ISBNs
ISBNdb - 30,851,787
Z-Library 11,783,153 3,581,309
Open Library 36,657,084 17,371,977

在 Z-Library/Libgen 和 Open Library 中,图书数量都远多于唯一的 ISBN 数量。这是否意味着其中很多书没有 ISBN,还是仅仅缺少 ISBN metadata?我们或许可以通过结合多种方法来回答:基于其他属性(书名、作者、出版社等)的自动化匹配、引入更多数据来源,以及(在 Z-Library/Libgen 的情况下)从实际的图书扫描件中提取 ISBN。

这些 ISBN 中有多少是唯一的?用维恩图最能说明:

更精确地说:

ISBNdb ∩ OpenLib 10,177,281
ISBNdb ∩ Zlib 2,308,259
Zlib ∩ OpenLib 1,837,598
ISBNdb ∩ Zlib ∩ OpenLib 1,534,342

我们对重叠如此之少感到惊讶!ISBNdb 拥有大量在 Z-Library 和 Open Library 中都未出现的 ISBN;另外两个数据集也同样如此(程度较小但仍然可观)。这引出了许多新问题:自动化匹配在给那些未标注 ISBN 的图书打标签方面能帮到多大程度?会不会出现大量匹配,从而增加重叠?此外,如果我们引入第 4 个或第 5 个数据集,又会发生什么?那时我们会看到多少重叠?

这确实为我们提供了一个起点。我们现在可以查看所有不在 Z-Library 数据集中、并且在书名/作者字段上也匹配不上的 ISBN。这能帮助我们着手保存世界上所有图书:先在互联网上抓取扫描件,然后再到现实世界中去扫描图书。后者甚至可以通过众筹来推动,或由希望特定图书被数字化的人提供“悬赏”来驱动。所有这些,留待以后再讲。

如果你想在任何方面提供帮助——进一步分析;抓取更多 metadata;寻找更多图书;对图书进行 OCR;将这套方法用于其他领域(例如论文、有声书、电影、电视剧、杂志);甚至让其中一部分数据可用于 ML / 大语言模型训练——请联系我(Reddit)。

如果你对数据分析特别感兴趣,我们正在努力以更易用的格式提供我们的数据集与脚本。要是你能直接 fork 一个 notebook,然后就可以开始把玩这些内容,那就太棒了。

最后,如果你愿意支持这项工作,请考虑捐赠。这完全是一项由志愿者运营的工作,你的贡献会带来巨大的改变。点滴皆有帮助。目前我们接受加密货币捐赠;请参阅安娜的档案上的“捐赠”页面。

— Anna 及团队(Reddit

1. 在对“永远”做出某种合理定义的前提下。;)

2. 当然,人类的文字遗产远不止图书,尤其是在当下。出于本文以及我们近期发布内容的范围,我们聚焦于图书,但我们的兴趣远不止于此。

3. 关于 Aaron Swartz 还有很多可以说的,但我们只想简要提及他,因为他在这个故事中扮演了关键角色。随着时间推移,可能会有更多人第一次看到他的名字,并随后自己深入探索其中的“兔子洞”。