ISBNdb-dump, of: hoeveel boeken worden voor altijd bewaard?
annas-archive.gl/blog, 2022-10-31
Als we de bestanden uit schaduw bibliotheken correct zouden dedupliceren, welk percentage van alle boeken ter wereld hebben we dan bewaard?
Met de Pirate Library Mirror (BEWERKING: verhuisd naar Anna’s Archief) is ons doel om alle boeken ter wereld te verzamelen en ze voor altijd te bewaren.1 Tussen onze Z-Library-torrents en de oorspronkelijke Library Genesis-torrents hebben we 11.783.153 bestanden. Maar hoeveel is dat nu echt? Als we die bestanden correct zouden dedupliceren, welk percentage van alle boeken ter wereld hebben we dan bewaard? We zouden heel graag iets hebben zoals dit:
Voor een percentage hebben we een noemer nodig: het totale aantal boeken dat ooit is uitgegeven.2 Vóór de ondergang van Google Books probeerde een ingenieur aan het project, Leonid Taycher, een schatting te maken van dit aantal. Hij kwam — met een knipoog — uit op 129.864.880 (“ten minste tot zondag”). Hij schatte dit aantal door een uniforme database van alle boeken ter wereld op te bouwen. Daarvoor bracht hij verschillende Datasets samen en voegde die vervolgens op verschillende manieren samen.
Even terzijde: er is nog iemand die heeft geprobeerd alle boeken ter wereld te catalogiseren: Aaron Swartz, de overleden digitale activist en medeoprichter van Reddit.3 Hij startte Open Library met als doel “één webpagina voor elk boek dat ooit is uitgegeven”, waarbij data uit veel verschillende bronnen werd gecombineerd. Uiteindelijk betaalde hij de ultieme prijs voor zijn werk rond digitale bewaring toen hij werd vervolgd voor het massaal downloaden van academische artikelen, wat leidde tot zijn zelfdoding. Het spreekt voor zich dat dit een van de redenen is waarom onze groep pseudoniem is, en waarom we zeer voorzichtig zijn. Open Library wordt nog steeds heldhaftig gerund door mensen bij het Internet Archive, die Aarons nalatenschap voortzetten. Daar komen we later in dit bericht op terug.
In het Google-blogbericht beschrijft Taycher enkele uitdagingen bij het schatten van dit aantal. Ten eerste: wat geldt als een boek? Er zijn een paar mogelijke definities:
- Fysieke exemplaren. Uiteraard is dit niet erg behulpzaam, omdat het slechts duplicaten van hetzelfde materiaal zijn. Het zou geweldig zijn als we ook alle aantekeningen die mensen in boeken maken konden bewaren, zoals Fermats beroemde “krabbels in de marge”. Maar helaas blijft dat de droom van een archivaris.
- “Werken”. Bijvoorbeeld “Harry Potter and the Chamber of Secrets” als logisch concept, inclusief alle versies ervan, zoals verschillende vertalingen en herdrukken. Dit is een redelijk bruikbare definitie, maar het kan lastig zijn om de grens te trekken van wat meetelt. We willen bijvoorbeeld waarschijnlijk verschillende vertalingen bewaren, terwijl herdrukken met slechts kleine verschillen misschien minder belangrijk zijn.
- “Edities”. Hier telt u elke unieke versie van een boek. Als er iets aan verschilt, zoals een andere omslag of een ander voorwoord, dan geldt het als een andere editie.
- Bestanden. Bij het werken met schaduw bibliotheken zoals Library Genesis, Sci-Hub of Z-Library is er een extra overweging. Er kunnen meerdere scans van dezelfde editie bestaan. En mensen kunnen betere versies van bestaande bestanden maken, door de tekst met OCR te scannen of pagina’s recht te zetten die scheef zijn gescand. We willen deze bestanden slechts als één editie tellen, wat goede metadata vereist, of deduplicatie met behulp van document-gelijkheidsmetingen.
“Edities” lijken de meest praktische definitie van wat “boeken” zijn. Handig genoeg wordt deze definitie ook gebruikt voor het toewijzen van unieke ISBN-nummers. Een ISBN, of International Standard Book Number, wordt veel gebruikt in de internationale handel, omdat het is geïntegreerd met het internationale barcodesysteem (“International Article Number”). Als u een boek in winkels wilt verkopen, heeft het een barcode nodig, dus krijgt u een ISBN.
In Taychers blogbericht staat dat ISBN’s weliswaar nuttig zijn, maar niet universeel, omdat ze pas halverwege de jaren zeventig echt zijn ingevoerd, en niet overal ter wereld. Toch is ISBN waarschijnlijk de meest gebruikte identificator voor boekedities, dus het is ons beste startpunt. Als we alle ISBN’s ter wereld kunnen vinden, krijgen we een bruikbare lijst van welke boeken nog bewaard moeten worden.
Dus, waar halen we de data vandaan? Er zijn verschillende bestaande initiatieven die proberen een lijst samen te stellen van alle boeken ter wereld:
- Google. Zij hebben dit onderzoek tenslotte gedaan voor Google Books. Hun metadata is echter niet in bulk toegankelijk en bovendien behoorlijk lastig te scrapen.
- Open Library. Zoals eerder genoemd, is dit hun volledige missie. Ze hebben enorme hoeveelheden bibliotheekdata verzameld van samenwerkende bibliotheken en nationale archieven, en gaan daar nog steeds mee door. Ze hebben ook vrijwillige bibliothecarissen en een technisch team dat probeert records te ontdubbelen en ze te taggen met allerlei metadata. Het mooiste is dat hun dataset volledig open is. U kunt deze eenvoudig downloaden.
- WorldCat. Dit is een website van de non-profitorganisatie OCLC, die bibliotheekbeheersystemen verkoopt. Ze aggregeren boekmetadata van veel bibliotheken en maken die beschikbaar via de WorldCat-website. Ze verdienen echter ook geld door deze data te verkopen, waardoor die niet beschikbaar is voor bulkdownload. Wel hebben ze enkele beperktere bulk-datasets beschikbaar om te downloaden, in samenwerking met specifieke bibliotheken.
- ISBNdb. Dit is het onderwerp van deze blogpost. ISBNdb scrapt diverse websites voor boekmetadata, met name prijsgegevens, die ze vervolgens verkopen aan boekverkopers zodat zij hun boeken kunnen prijzen in lijn met de rest van de markt. Omdat ISBN’s tegenwoordig redelijk universeel zijn, hebben ze in feite een “webpagina voor elk boek” gebouwd.
- Diverse afzonderlijke bibliotheeksystemen en archieven. Er zijn bibliotheken en archieven die door geen van bovenstaande zijn geïndexeerd en geaggregeerd, vaak omdat ze ondergefinancierd zijn, of om andere redenen hun data niet willen delen met Open Library, OCLC, Google, enzovoort. Veel daarvan hebben digitale records die via internet toegankelijk zijn, en die zijn vaak niet erg goed beveiligd. Als u wilt helpen en het leuk vindt om te leren over vreemde bibliotheeksystemen, dan zijn dit uitstekende startpunten.
In dit bericht kondigen we met plezier een kleine release aan (vergeleken met onze eerdere Z-Library-releases). We hebben het grootste deel van ISBNdb gescrapet en de data beschikbaar gemaakt om te torrenten op de website van de Pirate Library Mirror (EDIT: verhuisd naar Anna’s Archief; we linken hier niet direct naartoe, zoek er gewoon naar). Dit zijn ongeveer 30,9 miljoen records (20GB als JSON Lines; 4,4GB gzipt). Op hun website claimen ze dat ze eigenlijk 32,6 miljoen records hebben, dus misschien hebben we er op de een of andere manier een paar gemist, of doen zij iets verkeerd. Hoe dan ook: voorlopig delen we niet precies hoe we het gedaan hebben — dat laten we als oefening voor de lezer. ;-)
Wat we wél delen is een voorlopige analyse, om dichter bij een schatting te komen van het aantal boeken in de wereld. We hebben naar drie datasets gekeken: deze nieuwe ISBNdb-dataset, onze oorspronkelijke release van metadata die we uit de Z-Library-schaduw bibliotheek (inclusief Library Genesis) hebben gescrapet, en de Open Library data dump.
Laten we beginnen met enkele grove cijfers:
| Editions | ISBNs | |
|---|---|---|
| ISBNdb | - | 30,851,787 |
| Z-Library | 11,783,153 | 3,581,309 |
| Open Library | 36,657,084 | 17,371,977 |
In zowel Z-Library/Libgen als Open Library zijn er veel meer boeken dan unieke ISBN’s. Betekent dit dat veel van die boeken geen ISBN hebben, of ontbreekt de ISBN-metadata gewoon? We kunnen deze vraag waarschijnlijk beantwoorden met een combinatie van geautomatiseerd matchen op basis van andere attributen (titel, auteur, uitgever, enz.), het toevoegen van meer databronnen, en het extraheren van ISBN’s uit de daadwerkelijke boekscans zelf (in het geval van Z-Library/Libgen).
Hoeveel van die ISBN’s zijn uniek? Dit is het best te illustreren met een Venn-diagram:
Om preciezer te zijn:
| ISBNdb ∩ OpenLib | 10,177,281 |
|---|---|
| ISBNdb ∩ Zlib | 2,308,259 |
| Zlib ∩ OpenLib | 1,837,598 |
| ISBNdb ∩ Zlib ∩ OpenLib | 1,534,342 |
We waren verrast door hoe weinig overlap er is! ISBNdb heeft een enorme hoeveelheid ISBN’s die in noch Z-Library noch Open Library voorkomen, en hetzelfde geldt (in mindere maar nog steeds aanzienlijke mate) voor de andere twee. Dit roept veel nieuwe vragen op. Hoeveel zou geautomatiseerd matchen helpen bij het taggen van boeken die niet met ISBN’s zijn getagd? Zouden er veel matches zijn en dus meer overlap? En wat zou er gebeuren als we een 4e of 5e dataset toevoegen? Hoeveel overlap zouden we dan zien?
Dit geeft ons in elk geval een startpunt. We kunnen nu kijken naar alle ISBN’s die niet in de Z-Library-dataset zaten, en die ook niet matchen op titel-/auteursvelden. Dat kan ons helpen om alle boeken in de wereld te behouden: eerst door het internet af te speuren naar scans, en daarna door in het echt boeken te gaan scannen. Dat laatste zou zelfs via crowdfunding kunnen, of gedreven door “premies” van mensen die bepaalde boeken graag gedigitaliseerd zouden zien. Maar dat is een verhaal voor een andere keer.
Als u met iets hiervan wilt helpen — verdere analyse; meer metadata scrapen; meer boeken vinden; boeken OCR’en; dit doen voor andere domeinen (bijv. artikelen, audioboeken, films, tv-series, tijdschriften) of zelfs een deel van deze data beschikbaar maken voor zaken als ML-/large language model-training — neem dan contact met me op (Reddit).
Als u specifiek geïnteresseerd bent in de data-analyse, werken we eraan om onze datasets en scripts in een makkelijker te gebruiken formaat beschikbaar te maken. Het zou geweldig zijn als u gewoon een notebook kunt forken en hiermee kunt gaan spelen.
Tot slot: als u dit werk wilt steunen, overweeg dan alstublieft een donatie. Dit is volledig door vrijwilligers gerund, en uw bijdrage maakt een enorm verschil. Elke beetjes helpt. Voorlopig accepteren we donaties in crypto; zie de Doneren-pagina op Anna’s Archief.
- Anna en het team (Reddit)
1. Voor een redelijke definitie van “voor altijd”. ;)
2. Natuurlijk is het geschreven erfgoed van de mensheid veel meer dan boeken, zeker tegenwoordig. Voor dit bericht en onze recente releases richten we ons op boeken, maar onze interesses reiken verder.
3. Er is nog veel meer te zeggen over Aaron Swartz, maar we wilden hem slechts kort noemen, omdat hij een sleutelrol in dit verhaal speelt. Naarmate de tijd verstrijkt, zullen meer mensen zijn naam misschien voor het eerst tegenkomen, en vervolgens zelf het konijnenhol induiken.