Grootschalig bibliografisch parsen met voorgetrainde taalmodellen

7 juli 2022·
Clément Godbarge
Clément Godbarge
· 7 minuten lezen
post Efficiënt editeren

Automatisering is de sleutel om de kosten van projecten in de digital humanities te drukken. Tot op heden werden de repetitieve en saaie klussen die bij editoriaal werk in academische kringen komen kijken, ofwel tegen hoge kosten verricht door overbelaste onderzoekers, ofwel “uitbesteed” aan studenten. In deze reeks blogberichten betoog ik dat de meeste van die ondankbare taken niet alleen kunnen, maar ook moeten worden geautomatiseerd. Automatisering van editoriale taken drukt de totale kosten van projecten in de digital humanities. En wat vooral telt: ze stelt onderzoekers uit armere regio’s in staat om waardevolle documenten snel en betaalbaar te publiceren.

In het vorige bericht heb ik bijvoorbeeld laten zien hoe voorgetrainde taalmodellen het grootste deel van het XML-labelwerk van een digitale editie voor hun rekening kunnen nemen.

In dit bericht geef ik een tweede voorbeeld, ditmaal met bibliografie.

Het probleem

Een bibliografische database aanleggen op basis van de verwijzingen in een wetenschappelijk artikel is vrij eenvoudig. Je zoekt even in een catalogus als WorldCat, downloadt de verwijzing in een bepaald formaat, of importeert ze automatisch uit een lokale database. Met een of twee artikelen werkt dat prima. Boven een bepaald aantal verwijzingen wordt de klus echter afstompend en tijdrovend. Om daar iets aan te doen kun je parsingalgoritmen als anystyle.io gebruiken. Maar zulke algoritmes laten zich moeilijk opschalen. Toen ik anystyle inzette om de meer dan 150 wetenschappelijke essays van onze kritische editie van Ms Fr 640 om te zetten, stapelden de fouten zich op tot een onbeheersbare berg. Het herkende veel van onze bronnen niet goed – zo zag het de lange titels van vroegmoderne boeken voor iets anders aan – en het struikelde over minder gangbare documenten, zoals specifieke webpagina’s, onlinevideo’s enzovoort. Parsers werken goed, mits de auteur zich strikt houdt aan de regels van een bekende conventie als Chicago, Turabian of MLA. Elke afwijking van de norm levert fouten op.

De oplossing

Hier kunnen voorgetrainde taalmodellen uitkomst bieden: ze doorgronden razendsnel de patronen van welke bibliografische stijl dan ook , zelfs een die je zelf hebt bedacht, en hebben maar een handvol voorbeelden nodig om grote hoeveelheden opgemaakte bibliografie correct om te zetten in een BibTeX-database.

Begin 2021 had ik het geluk vroegtijdig toegang te krijgen tot GPT-3 Codex van OpenAI. Codex is een model waarmee je natuurlijke taal naar code vertaalt en omgekeerd. Volgens OpenAI beheerst het meer dan een dozijn programmeertalen, en hoewel de API op het moment dat ik dit schrijf nog als bètaversie beschikbaar is, draait er al populaire software op, zoals GitHubs Copilot.

Na wat experimenteren met deze API merkte ik dat ze ook uitstekend overweg kan met eenvoudiger code zoals BibTeX.

Sterker nog: vier voorbeelden in de invoerprompt volstonden om het betrouwbaar te laten werken.

Invoerprompt

References: Bayle, Ariane. “Patients exemplaires: la correspondance médicale de Fioravanti.” In Vulgariser la médecine. Du style médical en France et en Italie, edited by Andrea Carlino and Michel Jeanneret, 181–212. Geneva: Droz, 2009.

Berns, Andrew D. The Bible and Natural Philosophy in Renaissance Italy: Jewish and Christian Physicians in Search of Truth. Cambridge: Cambridge University Press, 2015.

Gabler, Hans Walter. “Theorizing the Digital Scholarly Edition.” Literature Compass 7, no. 2 (2010): 43–56. https://doi.org/10.1111/j.1741-4113.2009.00675.x.

Findlen, Paula. Possessing Nature: Museums, Collecting, and Scientific Culture in Early Modern Italy. Berkeley: University of California Press, 1994.

@incollection{bayle2009,
  author = {Bayle, Ariane},
  booktitle = {Vulgariser la médecine. Du style médical en France et en Italie},
  title = {Patients exemplaires: la correspondance médicale de Fioravanti},
  editor = {Carlino, Andrea and Michel Jeanneret},
  year = {2009},
  address = {Geneva},
  publisher = {Droz},
  langid = {french}
}
@book{berns2015,
  title = {The Bible and Natural Philosophy in Renaissance Italy: Jewish and Christian Physicians in Search of Truth},
  author = {Berns, Andrew D.},
  address = {Cambridge},
  publisher = {Cambridge University Press},
  langid = {english},
  date = {2015}
}
@article{gabler2010,
  author = {Gabler, Hans Walter},
  title = {Theorizing the Digital Scholarly Edition},
  journal = {Literature Compass},
  volume = {7},
  number = {2},
  pages = {43-56},
  doi = {10.1111/j.1741-4113.2009.00675.x},
  langid = {english},
  year = {2010}
}
@book{findlen1994,
  title = {Possessing Nature: Museums, Collecting, and Scientific Culture in Early Modern Italy},
  author = {Findlen, Paula},
  address = {Berkeley},
  publisher = {University of California Press},
  langid = {english},
  date = {1994}
}

Resultaten

De resultaten zijn opzienbarend: meer dan 2.000 literatuurverwijzingen werden in een paar dagen omgezet. Deze aanpak reproduceerde niet alleen getrouw het patroon uit mijn invoerprompt, maar voegde ook correct entry- en veldtypes toe die daar niet in voorkwamen. GPT-3 spreekt met andere woorden vloeiend BibTeX. Verrassender nog voor een model dat hoofdzakelijk in het Engels is getraind: het herkende alle talen (Russisch, Frans, Italiaans, Latijn, Grieks, Duits, Spaans enzovoort) en voegde telkens het juiste langid-veld toe.

Let op

GPT-3 kent momenteel beperkingen op de omvang van invoer en uitvoer: het verwerkt maximaal 2048 taaltokens. Zodra die beperking wegvalt, zou dezelfde klus waarschijnlijk een uur of minder vergen.

Enigszins onverwacht voegde GPT-3 ook informatie toe die niet in de oorspronkelijke verwijzingen stond.

Baillot, Anne, and Anna Busch. “Editing for Man and Machine.” In Users of Scholarly Editions: Editorial Anticipations of Reading, Studying and Consulting, Vol. 13. Variants (Journal of the European Society for Textual Scholarship). Leicester, 2015.

In deze verwijzing bijvoorbeeld voegde GPT-3 de permanente link toe naar het open-accessarchief (HAL) waar het artikel te lezen is, inclusief de speciale velden HAL_ID en HAL_VERSION die HAL zelf heeft bedacht:

@inproceedings{baillot2015, 
  title = {Editing for Man and Machine},
  author = {Baillot, Anne and Busch, Anna},
  year = 2015,
  booktitle = {Users of Scholarly Editions: Editorial Anticipations of Reading, Studying and Consulting},
  address = {Leicester},
  series = {Variants (Journal of the European Society for Textual Scholarship)},
  volume = 13,
  editor = {Bruhn, Siglinde and Schreiber, Manfred},
  langid = {english},
  hal_id = {halshs-01233380},
  hal_version = {v1}
}

Uit die toevoegingen blijkt dat GPT-3 een literatuurverwijzing niet alleen parseert, maar ze ook aanvult op grond van wat het eerder heeft geleerd. Het zou in dat opzicht interessant zijn om te zien of het zich net zo gedraagt bij verwijzingen van na zijn trainingsperiode…

Beperkingen

GPT-3 is echter niet volmaakt. Het heeft menselijk toezicht nodig. Een van zijn bekende zwakke plekken is hallucinatie: soms verzint het dingen en doet het onwaarschijnlijke aannames.

In mijn experiment kwam de warrigheid van GPT-3 aan het licht toen het uit eigen beweging de familienaam van een auteur veranderde van “Ruscelli” in “Ruscello”. Strikt genomen is dat geen fout: vroegmoderne Italiaanse familienamen konden zonder onderscheid in het meervoud of het enkelvoud worden gebruikt. Tegenwoordig is de conventie echter dat je een naam laat zoals hij is, of hij nu in het meervoud of in het enkelvoud staat. Niemand zou Machiavelli vandaag nog Machiavello noemen, net zoals we geacht worden Rossello te schrijven en niet Rosselli. Heeft GPT-3 die conventie genegeerd bij gebrek aan chronologisch besef? Of heeft het een aanname gedaan op grond van de omringende namen, die in dit deel van de bibliografie toevallig allemaal in het enkelvoud staan (Bariletto, Cesano, Rossello)? Wie zal het zeggen.

@book{rossello1565,
  title = {Della summa de’ secreti universali},
  author = {Rossello, Timoteo},
  address = {Venice},
  publisher = {Giovanni Bariletto},
  langid = {italian},
  date = {1565}
}
@book{ruscello1559, 
  title = {La seconda parte de’ secreti del Reverendo Donno Alessio Piemontese},
  author = {Ruscello, Girolamo},
  address = {Pesaro}, 
  publisher = {Bartolomeo Cesano}, 
  langid = {italian}, 
  date = {1559}
}

Conclusie

De ruim 150 essays in onze digitale editie, geschreven tijdens vier jaar van intensieve samenwerking, bevatten niet alleen cruciale informatie over het handschrift dat we hebben geëditeerd en vertaald, maar ook waardevolle bibliografische gegevens.

Door die literatuurverwijzingen in een database samen te brengen, kunnen editeurs de bibliografische opmaak in een oogwenk veranderen en hebben ze meer vrijheid om die informatie naar eigen inzicht te tonen. Zo’n database vertelt bovendien veel over de editie en het project dat haar mogelijk maakte, en opent nieuwe analytische perspectieven voor onderzoekers. En ze kan met grote nauwkeurigheid en in recordtijd worden aangelegd.

Er kunnen weliswaar fouten insluipen, met name door de neiging van GPT-3 om te hallucineren. Maar toekomstige generaties voorgetrainde taalmodellen zullen dat probleem verkleinen.

Clément Godbarge
Authors
Docent digital humanities
Clément Godbarge is docent digital humanities aan de University of St Andrews. Zijn onderzoek draait om wetenschap en staatkunst in het vroegmoderne Europa. In zijn aanstaande boek onderzoekt hij hoe artsen aan de zestiende-eeuwse hoven van Frankrijk en Italië zich profileerden als politieke experts van een nieuw soort. Zijn onderzoek werd gesteund door de Andrew W. Mellon Foundation, de Fulbright-commissie, de Renaissance Society of America en Harvard University.