Digital resources in the Social Sciences and Humanities OpenEdition Our platforms OpenEdition Books OpenEdition Journals Hypotheses Calenda Libraries OpenEdition Freemium Follow us
Kategorien
Allgemein Digital History

Der Korpus als Netzwerk – Quellen mit NLP in einen Graphen verwandeln.

«The Hypertext Transfer Protocol (http) is an application-level protocol with lightness and speed necessary for distributed, collaborative, hypermedia information systems. It is a generic, stateless, object-oriented protocol which can be used for many tasks, such as name servers and distributed object management systems, through extensions of its request methods (commands). A feature of HTTP is the typing of data representation, allowing systems to be built independently of the data being transferred».

Beim einleitenden Zitat handelt es sich um einen Ausschnitt eines RFC’s (Request for Comments). Mit diesen Quellendokumenten beschäftigt sich aktuell Moritz Mähr in seinem Projekt «The Evolution of Internet Governance – A digital history on the agency of technology standards», am WB Kolleg der Universität Bern. Im Mittelpunkt des Blogs steht das Quellenkorpus und die quantitative Methode des Projektes. Dazu sollen zuerst die «digital born»[1] Quellen des Projektes erörtert werden und darauffolgend die ausgewählte Methode diskutiert werden, bei welcher NLP (natural language processing) und SNA (social network analysis) verwendet wurde. Durch die beiden Tools kann aus den RFC’s anschliessend ein bipartiter Graph gezeichnet und anschliessend weiter analysiert werden.

Das Quellenkorpus

Wie bereits einleitend erwähnt, handelt es sich bei den RFC’s um «digital born» Quellen. Die Dokumente sind beim RFC-Editor[2] öffentlich verfügbar und beinhalten technische und organisatorische Kommentare zum «Internet» ursprünglich «Arpanet» wie «WWW», «IP» und das oben genannte Beispiel «HTTP». Seit dem Jahr 1969 wurden mehr als 9000 RFC’s publiziert, welche insgesamt über 225’000 Seiten beinhalten. Zu Beginn wurde der RFC-Editor von der DARPA (Defense Advanced Research Projects Agency) finanziert. Prägend für die Entwicklung war die Universität of Southern California (USC).

Alle Dokumente sehen gleich aus und sind in ihrer Struktur formalisiert. Sie besitzen einen Titel, Namen der Personen deren Institutionen und so weiter. Einen weiteren Vorteil, welchen die Dokumente aufweisen, ist, dass bereits einige Metadaten vorhanden sind. [3] Dafür zuständig war die im Jahr 1986 gegründete «Internet Engineering Task Force» (IETF). Es handelt sich um eine Arbeitsgruppe in Form einer Community, die sich mit den Standards zur technischen Weiterentwicklung des Internets befasst und seit dem Jahr 2018 für die Finanzierung des RFC-Editors zuständig ist. Für die Erstellung eines Graphen hingegen reichen die zur Verfügung gestellten Metadaten nicht. Erstens sind die Metadaten für die Dokumente, welche vor dem Jahr 2001 publiziert wurden, nicht vorhanden. Zweitens sind Arbeitsgruppen, Universitäten, Forschungsinstitute und Unternehmen wie Google, Microsoft oder Apple nicht in den Metadaten nicht dokumentiert. In diesem Fall soll nun NLP eine Unterstützung bilden, respektive NER (named entity recognition).

Quellen in einen Graphen verwandeln; Natural Language Processing (NLP)

Moritz Mähr setzt in seinem Projekt auf spaCy[4], eine nützliche Python Library in Sachen NLP. Dadurch wird es möglich, aus dem Text die Personen wie etwa T. Berners-Lee zu extrahieren. Es können aber nicht nur Personen extrahiert werden, sondern auch Forschungsinstitute, Unternehmen oder Universitäten, beispielsweise die USC oder das MIT. Es gibt mehrere Modelle, die dazu zur Verfügung stehen. Im folgenden Fall kam ein trainiertes Modell, «en_core_web_sm»[5] zum Einsatz. Das kleine Modell bietet einen gewichtigen Vorteil, es ist ohne Probleme auch mit grossen Datenmengen auf dem eigenen Laptop ausführbar und es findet insgesamt 84 % der gesuchten Entitys, die Fehlerquote des Modells kann bereits durch eigene Regeln in der Pipeline behoben werden.[6] Ein Grund für die Funktionalität des Modells ist die Formalität und die Ähnlichkeit der RFC’s in ihrem Erscheinungsbild und ihrer Struktur.

Andere Quellendokumente, wie ich sie in der frühen Neuzeit des Öfteren antreffe, besitzen keine einheitliche Struktur. Dies sind zum einen Tagebücher, Relationen, Reiseberichte oder Notizen von Gesandten des Corpus helveticum. Bei den Quellen handelt es sich dementsprechend nicht um «digital born» sondern um digitalisierte Quellen. Des Weiteren sind diese Quellen nicht in einer formalisierten Sprache geschrieben und die Namen der Akteure variieren je nach der Hand des Schreibers. In einem solchen Fall funktioniert ein mit einfachen Regeln ausgeführtes Matching nicht mehr. Dazu bedarf es dann mehr. Es muss gar davon ausgegangen werden, dass ein eigenes Modell trainiert werden muss, was bedeutend zeitaufwendiger ist. Im Fall von Moritz Mähr ist dies hingegen nicht nötig. Durch die vorgenommenen Annotationen ist es möglich, einen bipartiten Graphen zu erstellen. Bevor es um die Graphen an sich geht eine kurze Lektüre Empfehlung von Moritz Mähr in Sachen Grundlagenliteratur für die SNA. Dazu das Werk aus dem Jahr 2019 von Jackson Matthew O. The Human Network: How Your Social Position Determines Your Power, Beliefs, and Behaviors».

Quellen in einen Graphen verwandeln; Social Network Analysis (SNA)

Wichtige Begriffe aus der Netzwerkanalyse sind Knoten und Kanten. In einem ersten Schritt wurde ein Netzwerk präsentiert, welches die «Beziehungen» zwischen den Autoren und den Standards visualisiert. Ein solcher Graph kann beispielsweise aufzeigen, an wie vielen RFC’s ein Autor mitgearbeitet hat. Dazu benötigt es aber keinen Graphen, eine Tabelle wäre ausreichend dafür.[7] Was eine Tabelle hingegen nicht kann, ist herausfinden, wer am meisten RFC’s mitverfasst hat, dazu muss der bipartite Graph in einen unipartiten Graph verwandelt werden dazu brauch es ein relationales Datenmodell, eben einen Graphen. Die Wichtigkeit eines Autors kann anschliessen mithilfe von statistischen Messverfahren erörtert werden. Einen weiteren Aspekt, der über einen Graphen besser fassbar wird, ist, wenn die Menge an Dokumenten erhöht wird. Als Beispiel dienen hier die RFC’s der Jahre 1994-1999. Es entsteht ein Graph mit insgesamt 1141 Knoten und 2201 Kanten. Die Knoten stellen die Autoren dar und die Kanten die RFC’s. Zudem finden sich auch einzelne Autoren mit keinen Anschlüssen an Hauptzweige des Netzwerkes, die sich entsprechend nur sehr sporadisch oder einmalig engagiert hatten. Prinzipiell kann sich der Mensch ein solch grosses multidimensionales Modell nicht mehr vorstellen.

Der Graph kann aber wiederum auf seine einzelnen Komponenten reduziert werden. Eine Komponente innerhalb des Graphen stellen die Knoten dar, welche miteinander verbunden sind, also «Teilnetze» bilden. Der Graph weist in diesem Fall mehrere Komponenten aus, insgesamt deren 244. Hier muss aufgepasst werden, dass die Komponenten nicht miteinander verglichen werden. Jede Komponente muss für sich betrachtet und analysiert werden. Die grösste Komponente umfasst 651 Knoten und 1758 Kanten. Nachdem erstellen des Graphen kann dieser wiederum mit statistischen Mitteln analysiert werden. Zum Beispiel kann nach den Strukturen innerhalb der Community, nach den Leadern, wer schrieb am meisten und welche Rolle spielten diese Akteure gefragt werden. Als weiteren Schritt plant Moritz Mähr zudem weitere Tools zu integrieren, wie zum Beispiel Topic Modelling.

Fazit

Was bringt es, einen Korpus in ein Netzwerk zu verwandeln? Einerseits bietet ein Netzwerk eine übersichtliche Visualisierung des Korpus, welche dem Verständnis dient. Dadurch können die wichtigsten Dokumente und Akteure, deren Entwicklung und Beziehungen wie auch Cluster identifiziert werden. Ein weiterer Punkt ist, dass in einem solchen Verfahren eigene Hypothesen getestet werden können, ohne eine unsäglich lange Konsultierung der Dokumente und daraus lassen sich wiederum neue Forschungsfragen generieren.

Auch für eigene Projekte können solche methodischen Ansätze verwendet werden. Es muss jedoch bedacht werden, dass es sich beim hier vorgestellten Projekt beinahe um einen Idealkorpus handelt, mit ähnlichen «born digital» Dokumenten und einer normalisierten Sprache. Falls dies nicht der Fall ist, wird der zeitliche Aufwand und die Fehlerquote bedeutend grösser und es schleichen sich Folgefehler im Netzwerk ein. Daneben stellt sich noch der Methodendiskurs in den Geschichtswissenschaften quantitativ vs. qualitativ respektive Makro vs. Mikro. Dennoch ermöglich eine Darstellung eines Korpus als Netzwerk einen heuristischen Nutzen, um gerade einen grösseren Quellenkorpus in einer nützlichen Frist durchzusehen.


[1] «Nach Catherina Schreiber ist eine digitale Quelle (born digital source) genuin digital, multimodal und -dimensional, veränderbar, prozessorientiert sowie zeitlich und räumlich unabhängiger als ein physisches Objekt. Zudem kann sie für einen grösseren Umfang an quantitativen und qualitativen Analysen verwendet werden». Hier zitiert nach: Föhr, Pascal: Historische Quellenkritik im Digitalen Zeitalter, Basel 2018, S. 38. Online: <http://edoc.unibas.ch/diss/DissB_12621.pdf>,

[2] Die Dokumente finden sich auf der folgenden Seite: www.rfc-editor.org. Beim RFC-Editor handelt es sich um den ältesten und wichtigsten Herausgeber für Publikationen von Internetstandards.

[3] Unter der folgenden Seite auffindbar: www.datatracker.ietf.org

[4] Modelle und Erklärungen dazu finden sich auf der folgenden Seite: www.spacy.io. Neben spaCy gibt es noch weitere Python Libraries, wie zum Beispiel FLAIR, https://github.com/flairNLP/flair oder auch von der Universität Stanford, https://github.com/nltk/nltk. Während nltk vorwiegend nur mit der englischen Sprache brauchbar operieren kann, schloss FLAIR in den vergangenen Monaten zu spaCy auf, welches sich selbst als der Industriestandard beziffert.

[5] Angaben zum Modell finden sich hier: https://spacy.io/models/en. spaCy bietet nicht nur ein kleines Modell an, sondern auch grössere Modelle. Auch finden sich Modelle in verschiedensten Sprachen und Multilinguale Modelle.

[6] Informationen zu rule-based Matching: https://spacy.io/usage/rule-based-matching

[7] Für die Graphen zu erstellen verwendete Moritz Mähr die Python Librarie networkx. https://github.com/networkx


OpenEdition schlägt Ihnen vor, diesen Beitrag wie folgt zu zitieren:
nicosidler (6. Januar 2023). Der Korpus als Netzwerk – Quellen mit NLP in einen Graphen verwandeln. Einblicke in die Digital Humanities. Abgerufen am 21. September 2024 von https://doi.org/10.58079/o58z


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.