Datenbasis
18.010 Rezensionen wissenschaftlicher Publikationen aus der Sozialen Arbeit, gesammelt von einer Rezensions-Webseite. Wie die Rohdaten erhoben und welche Merkmale für die Analyse extrahiert wurden.
Erhebung
Webseiten herunterladen
Eine Webseite besteht (stark vereinfacht gesagt) aus einer oder mehreren Textdateien. Wenn Ihr Browser eine Seite besucht, fordert er den Server der Webseite auf, ihm eine Kopie dieser Textdatei zuzusenden. Wenn Sie in Ihrem Browser Strg+U drücken, können Sie sich diesen Text (z. B. dieser Seite) ansehen. Das Format dieses Textes nennt man HTML, und es beschreibt dem Browser, wie die Webseite dargestellt werden soll. Die Datenbasis besteht also in diesem Fall aus den abgespeicherten HTML-Dateien für jede Rezension.
Alle Rezensionen finden
Damit ein Server einem die richtige Textdatei zuschickt, muss man ihm mitteilen, welche genau man haben möchte. Dies geschieht über die sogenannte URL – umgangssprachlich auch Link genannt. Wenn wir also alle Rezensionen herunterladen wollen, brauchen wir zu jeder Rezension die zugehörige URL.
Es stellt sich also die Frage, wie wir die URL zu jeder verfügbaren Seite erhalten. Glücklicherweise ist das bei
der untersuchten Seite relativ einfach.
Wenn man sich die URLs einiger Rezensionen anschaut, fällt auf, dass sie einem bestimmten Muster folgen: alle
enthalten eine Zahl. Bei neueren Rezensionen ist diese höher, bei älteren niedriger. So hat z. B. die erste
Rezension die URL https://www.xxx.de/rezensionen/1.php,
eine neuere hingegen die URL https://www.xxx.de/rezensionen/26542.php.
Es liegt also die Vermutung nahe, dass intern jede Seite eine Nummer besitzt, die die dazugehörige Rezension eindeutig identifiziert. Der jeweilige Artikel ist über die URL erreichbar, welche an der entsprechenden Stelle diese Zahl enthält. Folglich können wir nach dieser Vorschrift zu jedem existierenden Artikel eine URL konstruieren.
Es ist (relativ) einfach, ein kurzes Programm in der Programmiersprache Python [1] zu schreiben, das alle Zahlen von 1 bis 27.000 durchgeht, die entsprechende URL konstruiert und anschließend den HTML-Text vom Server abfragt und in einer Datei speichert. Dieses Programm könnte wie folgt aussehen:
import requests
for i in range(1, 27000):
url = f"https://www.xxx.de/rezensionen/{i}.php"
response = requests.get(url)
if response.status_code != 200:
print(f"Could not download '{url}' status code: {response.status_code}")
else:
filename = f"rezension_{i}.html"
with open(filename, "w") as f:
f.write(response.text)
Aufbereitung
Das Herunterladen aller 27.000 Seiten – von denen 6.719 nicht gefunden werden konnten – erzeugt HTML-Dateien mit einer Größe von insgesamt etwa 1 GB. Diese werden im Folgenden durch uns mithilfe der Programmbibliothek Beautiful Soup [2] verarbeitet. Diesen Schritt nennt man parsen.
Es kann vorkommen, dass einige der Dateien beschädigt sind oder Fehler enthalten. Während ein Browser relativ „klug“ ist und versuchen kann, mit solchen Fehlern umzugehen, um den Inhalt der Webseite darzustellen, liefert die von uns verwendete Software in solchen Fällen keine sinnvollen Ergebnisse. Im folgenden Verarbeitungsschritt ignorieren wir daher alle 714 Artikel, die nicht richtig durch die Programmbibliothek geparst werden können.
Zusätzlich entfernen wir die Rezensionen der (mit Abstand) aktivsten Person aus dem Datensatz, da diese alleine ca. 6 % aller Rezensionen verfasst hat, und wir die Auswertung nicht zu sehr durch einzelne Personen verzerren lassen wollen.
- 18.010 ausgewertete Rezensionen
- 1.557 der aktivsten Person, entfernt
- 714 nicht parsebar
- 6.719 Seiten nicht gefunden
Features
Nachdem wir die HTML-Dateien gesammelt haben, können wir überlegen:
- welche Informationen bzw. Merkmale – genannt Features – in diesen potentiell vorhanden sind,
- welche davon wir für die Analyse verwenden möchten, und
- wie wir sie aus dem HTML extrahieren.
Einfache Features
Jede Rezension verfügt über einen Kopfteil, der z. B. wie folgt aussieht:
Gereon Heuft, Andreas Kruse, Hartmut Radebold: Lehrbuch der Gerontopsychosomatik und Alterspsychotherapie. Ernst Reinhardt Verlag (München) 2006. 2., überarbeitete und erweiterte Auflage. 379 Seiten. ISBN 978-3-497-01536-8. 34,90 EUR.
Offensichtlich enthält diese Textzeile mindestens die folgenden Informationen über die rezensierte Publikation: Titel, Autor_innen, Verlag, Erscheinungsjahr, Seitenanzahl, ISBN und Preis.
Wenn wir die Kopfzeilen verschiedener Rezensionen miteinander vergleichen, können wir feststellen, dass die einzelnen Merkmale bei allen Artikeln an derselben Stelle stehen. Dadurch ist es relativ einfach, sie mithilfe eines Programmes auszulesen.
Geschlecht
Jede Rezension enthält einen Abschnitt ähnlich dem folgenden:
Rezensent
Max Mustermann
Fachhochschule Dortmund, Fachbereich Sozialarbeit
Dies erlaubt es uns, den Namen des/der Verfasser_in auszulesen. Bis Ende 2018 enthielt zudem jeder Artikel (indirekt) die Information, ob es sich bei dem/der Verfasser_in um einen „Rezensent“ oder eine „Rezensentin“ handelt. Seit einiger Zeit verwendet die untersuchte Webseite nur noch die generische Formulierung „Rezension von“, welche keine Rückschlüsse mehr auf das Geschlecht der betreffenden Person zulässt. Da wir die Artikel bereits vor dieser Umstellung abgerufen haben, stehen uns diese Informationen bis zu einem gewissen Datum zur Verfügung.
Akademischer Grad
Zusätzlich zu ihrem Namen geben einige Autor_innen davor einen Titel (wie z. B. Dr., Prof. oder Dipl.-Psychologin) an. Diese lassen sich ebenfalls auslesen und anhand bestimmter Heuristiken in Kategorien einteilen: Professor, Doktor, Master (Diplom etc.) und kein Titel.
Hinterlegte Stichworte
Schaut man in den Quelltext einer Rezension, kann man folgende Zeile finden:
<meta name="keywords" content="Alterskrankheit;Psychosomatische Krankheit;Psychotherapie"/>
Diese Stichwörter wurden den rezensierten Publikationen durch die Deutsche Nationalbibliothek zugeordnet und zu den Metadaten der Rezensionen hinzugefügt.
Text
Der Text einer Rezension kann selbst als Feature betrachtet werden. Allerdings können aus dem Text weitere Merkmale extrahiert werden, beispielsweise dessen Länge. Zudem lassen sich durch verschiedene statistische Verfahren relevante Stichwörter aus Texten extrahieren. Wir haben Tf-idf [3] benutzt, welches Wörtern eines Textes eine Relevanz zuordnet. Die 5 Wörter mit den höchsten Relevanz-Scores wurden von uns für die Auswertung genutzt.
Wirkensort
Jede Rezension enthält eine kurze Selbstbeschreibung des/der Verfasser_in. Häufig enthalten diese den Namen einer Institution sowie eines Ortes. Vergleicht man jedes Wort in der Beschreibung mit einer Liste von Städten in Deutschland, lässt sich der Wirkensort der beschriebenen Person ermitteln. Viele Autor_innen verzichten jedoch auf eine solche Selbstbeschreibung oder geben nur den aktuellen Beruf an. In vielen Fällen liefert die Suche auch mehrere Treffer, weil entweder mehrere Städte angegeben sind oder mehrere gleichnamige Städte existieren. Die so erhobenen Daten sind also als sehr unpräzise anzusehen und können höchstens eine Tendenz aufzeigen.
Datenstruktur
Um effektiv mit den extrahierten Daten arbeiten zu können, sortieren wir sie in eine tabellarische Datenstruktur ein. Die Programmbibliothek Pandas [4] stellt Programmierern entsprechende Funktionalität zur Verfügung. In dieser Tabelle entspricht jede Rezension jeweils einer Zeile, und jede Spalte entspricht einem Feature.
| id | Titel | Verlag | Jahr | … | Seiten |
|---|---|---|---|---|---|
| 1 | Lehrbuch der Gerontopsychosomatik und Alterspsychotherapie | Ernst Reinhardt Verlag | 2006 | … | 379 |
| 2 | Erfahrungen sexualisierter Gewalt in der Lebensgeschichte alter Frauen. Ansätze für eine frauenorientierte Altenarbeit. Mit einem Vorwort von Luise F. Pusch. | Mabuse-Verlag GmbH | 2000 | … | 134 |
| … | … | … | … | … | … |
| 26540 | Politik in der digitalen Gesellschaft. Zentrale Problemfelder und Forschungsperspektiven. | transcript | 2019 | … | 332 |
Referenzen
- [1] Wikipedia: Python (Programmiersprache).
- [2] Wikipedia: Beautiful Soup.
- [3] Wikipedia: Tf-idf-Maß.
- [4] Wikipedia: Pandas (Software).