• Keine Ergebnisse gefunden

Semantische Relationen in Studienbriefen der FernUniversität in Hagen

N/A
N/A
Protected

Academic year: 2022

Aktie "Semantische Relationen in Studienbriefen der FernUniversität in Hagen"

Copied!
80
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

deposit_hagen

Publikationsserver der

Mathematik und

Informatik

Lehrgebiet Kooperative Systeme Bachelorarbeit

Moritz Christian Rieger

Semantische Relationen in Studienbriefen

der FernUniversität in Hagen

(2)

Semantische Relationen in Studienbriefen der FernUniversität in Hagen

Bachelorarbeit

eingereicht von

Moritz Christian Rieger (Matrikelnummer 4160240)

angefertigt am

Lehrgebiet Kooperative Systeme Fakultät Mathematik und Informatik

FernUniversität in Hagen

Betreuer Dr. Niels Seidel

Dezember 2018

(3)
(4)

Moritz Christian Rieger

Semantische Relationen in Studienbriefen der FernUniversität in Hagen

(5)
(6)

Zusammenfassung

Durch die große Auswahl an Kursen der FernUniversität in Hagen ist das Angebot sowohl für Dozen- ten, als auch für Studierende schwer zu überblicken. Diese Arbeit zeigt eine Methode, mit welcher semantische Ähnlichkeiten zwischen den Studienbriefen der Fernuniversität erkannt und visualisiert werden können. Dadurch soll Studierenden und Lehrenden erleichtert werden, Relationen zwischen den Kursen der Fernuniversität zu entdecken. Um dieses Ziel zu erreichen, werden die Studienbriefe als Document Embeddings vektorisiert und anschließend über die Kosinusähnlichkeit der Vektoren verglichen. Der gesamte Prozess kommt dabei ohne gelabelte Daten aus. Das Ergebnis der Analy- se weist eine hohe Pearson’s Korrelation zum Gold-Standard auf, Nahe der Ähnlichkeitsbewertung durch Experten. Die Ergebnisse dieser Arbeit werden alsChord Diagrammedargestellt. Um die extra- hierten Relationen aller Kurse übersichtlich darzustellen, werden die Diagramme um eine Dimension erweitert. Diese interaktiven Diagramme werden in einer Web Anwendung präsentiert.

Summary

Due to the large selection of courses, offered by the FernUniversität in Hagen, it is difficult for both, lecturers and students, to get an overview of the courses. This paper shows a method that allows to identify and visualise semantic similarity between the letters of study of the FernUniversität in Hagen.

This enables students and teachers to discover relations between the courses of the FernUniversität in Hagen. In order to achieve this goal, the study letters are vectorised todocument embeddings and then compared by the cosine similarity of the vectors. The result of the analysis shows a highPearson’s correlation to the gold standard. The similarity is nearly as high as the similarity of evaluation by experts. The entire process does not require labeled data and nearly reaches experts in Pearson’s r score. The results of the analysis are represented by interactive, hierarchical diagrams in a web application.

(7)

Moritz Christian Rieger.Semantische Relationen in Studienbriefen der FernUniversität in Hagen. Bachelorar- beit. Fakultät Mathematik und Informatik, FernUniversität in Hagen, 2018.

Diese Publikation ist unter Creative Commons – Namensnennung 3.0 Deutschland lizenziert und darf als Ganzes oder ausschnittweise vervielfältigt, verbreitet und öffentlich zugänglich gemacht werden, sofern dies im Text nicht anders vermerkt ist.

Autor: Moritz Christian Rieger

Gestaltung und Satz: Moritz Christian Rieger/ LATEX Datum: 9. Dezember 2018

(8)

Inhaltsverzeichnis

1 Einleitung . . . 9

1.1 Motivation . . . 9

1.2 Verwandte Forschungsarbeiten . . . 9

1.3 Forschungsfragen und Zielsetzung . . . 10

2 Erstellung des Textkorpus zur Analyse . . . 11

2.1 Grundlagen zur Vorbereitung der Textanalyse . . . 12

2.1.1 Textkorpus . . . 12

2.1.2 Korpusstruktur . . . 13

2.1.3 Zugriff auf den Korpus mit dem CorpusReader . . . 13

2.2 Preprocessing - Texte zur Analyse vorbereiten . . . 14

2.2.1 Extrahieren von Informationen aus PDFs (Portable Document Format) . 15 2.2.2 Dokumente nach Kapiteln teilen . . . 16

2.2.3 Satzgrenzen im Text finden . . . 17

2.2.4 Wörter mit WordPunct Tokenizer extrahieren . . . 18

2.3 Der Korpus der FernUniversität in Hagen . . . 18

2.4 Zusammenfassung . . . 18

3 Vektorisieren - Extrahieren von maschinenlesbaren Merkmalen aus Text . . . 20

3.1 Komplexität reduzieren durch Normalisieren . . . 20

3.2 Frequenzbasierte Verfahren . . . 23

3.2.1 Texte durch Häufigkeit der Wörter Kodieren - Bag of Words . . . 23

3.2.2 Term Frequency Inverse Document Frequency - TF-IDF . . . 23

3.3 Semantische Verfahren - Distributed Representations . . . 24

3.3.1 Semantik durch Word Embeddings erlernen . . . 24

3.3.2 Von der Semantik der Wörter zur Semantik von Dokumenten . . . 27

3.4 Zusammenfassung . . . 28

4 Erkennung der Semantic Textual Similarity . . . 29

4.1 Einblick in den Embedded Space . . . 29

4.2 Kosinusähnlichkeit als Metrik . . . 32

4.3 Relation Extraction im Textkorpus der Fernuniversität . . . 35

4.3.1 Ähnliche Studienbriefe durchNearest Neighbor erkennen . . . 35

4.3.2 Ähnliche Studienbriefe durch Clustering gruppieren . . . 36

4.4 Zusammenfassung . . . 40

5 Evaluation des Prototypen . . . 42

5.1 Evaluation von NLP Systemen in SemEval. . . 42

5.2 Erstellen eines Gold-Standards . . . 43

5.3 Untersuchung geeigneter Zusammenhangsmaße . . . 44

5.3.1 Bravais-Pearson Korrelationskoeffizient . . . 45

5.3.2 Rangkorrelationskoeffizient nach Kendall . . . 46

5.4 Auswertung des Prototypen . . . 46

(9)

Inhaltsverzeichnis

5.5 Zusammenfassung . . . 48

6 Visualiserung der Relationen . . . 49

6.1 Darstellung von Graphen als Node-Link Diagramme und Adjazenzmatrizen . . . 49

6.2 Lesbarkeit verbessern durch Kantenbündelung. . . 52

6.3 Hierarchische Diagramme . . . 55

6.4 Zusammenfassung . . . 55

7 Diskussion . . . 57

7.1 Ergebnis . . . 57

7.2 Defizite der vorgestellten Methode . . . 57

7.3 Ausblick . . . 58

A Kursindex . . . 61

B Gold-Standard . . . 67

Literaturverzeichnis . . . 72

Abbildungsverzeichnis . . . 75

Tabellenverzeichnis . . . 77

Abkürzungsverzeichnis . . . 79

(10)

1. Einleitung

1.1. Motivation

Die FernUniversität in Hagen ist mit über 74.000 eingeschriebenen Studierenden (Berichtswesen, 2018a) und einem Kursangebot von über 1.600 Kursen die größte Universität Deutschlands. Davon fallen 134 Kurse auf die Fakultät Mathematik und Informatik, jeweils 146 Kurse auf die Fakultäten Wirtschafts- und Rechtswissenschaften und 449 Kurse auf die Fakultät Kultur- und Sozialwissen- schaften und Psychologie. Außerdem werden 780 weitere Kurse angeboten, Stand Sommersemester 2018, (LVU-System, 2018). Für Studierende der Fernuniversität stellt die Wahl aus dieser großen Menge an Kursen eine besondere Herausforderung dar, da in der Regel nicht, wie an Präsenzuni- versitäten möglich, auf das Erfahrungswissen bekannter Kommilitonen zurückgegriffen werden kann.

Darüber hinaus ist der Kursautor beziehungsweise Kursleiter den Studierenden meist nicht bekannt, sodass auch dieser ebenfalls als Auswahlkriterium ausscheidet. Zur Kurswahl stehen den Studie- renden kurze Beschreibungen der Modulinhalte aus dem Modulhandbuch (ca. 100 - 200 Wörter), sowie kurze Leseproben der Skripte zur Verfügung. Die Planung des Studiums, sowie der Überblick des eigenen Spezialisierungs- beziehungsweise Generalisierungsgrades, ist daher durch die Größe des Kursangebotes zeitaufwändig und komplex.

Auch die über 1.000 Lehrenden, Stand 2018 (Berichtswesen, 2018b), der Fernuniversität stellt das große Kursangebot vor Herausforderungen. Die inhaltlichen Überschneidungen der Lehrgebiete sind nicht immer offensichtlich und bleiben oft zu Lasten der Standardisierung unentdeckt. Ebenso bleibt das Potential von Kooperationen dadurch oft im Verborgenen. Dies betrifft nicht nur die FernU- niversität in Hagen, sondern auch Präsenzhochschulen, die ebenfalls von einer derartigen Analyse profitieren würden. Selbst wenn dort, nicht wie an der Fernuniversität, mit ausgearbeiteten Lehrbü- chern, sondern mit Foliensätzen gearbeitet wird.

Diese Arbeit dient dazu, einen Lösungsansatz für die oben geschilderten Probleme zu finden. Anhand eines Prototyps mit 45 Kursen aus dem Bachelorstudiengang Informatik wird dargestellt, wie seman- tische Ähnlichkeit innerhalb der Kurse der Fernuniversität gefunden und als Relationen abgebildet werden können, sodass Ähnlichkeiten zwischen den Kursen schnell und übersichtlich erkannt werden.

Grundlage der Textanalyse sind die Lehrbücher der Kurse, welche im Folgenden auch Studienbriefe, Kurstexte oder Dokumente genannt werden. Da in der Regel sämtliches zu vermittelndes Wissen eines Moduls in den Studienbriefen enthalten ist, eignet sich eine textbasierte Analyse für die Kurse der Fernuniversität besonders. Die Darstellung der Ergebnisse in interaktiven Diagrammen ermöglicht es Studierenden und Lehrenden, die Beziehungen innerhalb der Kursangebote auf einfache Weise zu erkunden.

1.2. Verwandte Forschungsarbeiten

Diese Arbeit hat das Ziel, die Beziehungen zwischen Kursen durch den Vergleich von vorhandenen Texten darzustellen und bedient sich hierbei einiger, bereits erforschter, Techniken. Sie befasst sich mit einem speziellen Teilgebiet des Natural Language Processings NLP, der sogenannten Semantic Textual Similarity, STS. Durch die Fortschritte im Bereich derDistributed Representations, besonders durchNeuronale NetzeundWord Embeddings wieWord2Vecvon Mikolov, Chen, Corrado und Dean (2013) und Glove (Pennington, Socher & Manning, 2014), können semantische Eigenschaften von

(11)

1. Einleitung

Wörtern in Vektoren abgebildet werden. Das dabei verwendete Prinzip kann nicht nur auf Wörter, sondern auch auf Dokumente angewendet werden, wie Le und Mikolov (2014) mitDoc2Vec gezeigt haben. Der semantische Vergleich von Texten, STS misst die ähnliche Bedeutung von Texten.STS ist die Grundlage von Anwendungen wie Machine Translation, Semantic Search, Question Answering und Chat Bots. Seit 2012 ist STS ein fester Bestandteil der VeranstaltungsreiheSemEval, (Agirre, Diab, Cer & Gonzalez-Agirre, 2012), 2013, 2014, 2017. SemEval, ehemalig Senseval, wurde 1997 von derDefense Advanced Research Projects Agency, DARPAins Leben gerufen um die Entwicklung semantischerNLP Systeme voranzutreiben (Resnik & Lin, 2010), da die aufwändige Evaluierung der Systeme den Fortschritt hemmte. Die Veranstalter stellen jährlich eine Reihe von Aufgaben an die Wissensgemeinschaft mit dem Schwerpunkt computergestützter semantischer Sprachanalyse. Die ein- gereichten Systeme werden durch einen Gold-Standard bewertet und verglichen. SemEval-2018 Task 7 (Gábor et al., 2018) war sehr ähnlich zur Zielstellung dieser Arbeit. Die Aufgabe war das Finden semantischer Relationen aus den Zusammenfassungen wissenschaftlicher Arbeiten. Als Grundlage lag ein mit Named Entities ausgezeichneter Textkorpus der zu vergleichenden Absätze vor.Named Entities bezeichnen Substantive in einem Text, welche bestimmte Bedeutungen, beispielsweise Per- son, Ort oder Organisation zugeordnet werden. Dadurch wird der Text semantisch strukturiert und die Weiterverarbeitung in intelligenten Anwendungen erleichtert, vgl. Weiss, Indurkhya und Zhang (2015) S.33, S.122. In der Praxis liegen jedoch keine annotierten Dokumente vor. Das automati- sche Erkennen und Benennen von Entitäten ist fehleranfällig und dabei auf bestimmte Entitäten beschränkt.

Um die Ergebnisse der Relation Extraction intuitiv und übersichtlich darzustellen, wurden Arbei- ten zur Visualisierung von komplexen Graphstrukturen als Grundlage verwendet. Die Darstellung von Graphen in Node-Link Diagrammen und Adjazenzmatrizen wurde durch Ghoniem, Fekete und Castagliola (2004) und Keller, Eckert und Clarkson (2006) bereits empirisch untersucht. Die Über- sichtlichkeit vonNode-Link Diagrammenkann strukturiertes Anordnen, wie das Bündeln von Kanten durch Hierarchical Edge Bundling (Holten, 2006) verbessert werden. Das Erkennen relevanter Infor- mationen aus einer Adjazenzmatrix ist wesentlich von der Anordnung der Matrixeinträge abhängig (Knuth, 1994). Diese Methoden sind dennoch nicht ausreichend um die Relationen des gesamten Kursangebots der Fernuniversität übersichtlich abzubilden.

1.3. Forschungsfragen und Zielsetzung

Um thematische Überschneidungen in Studienbriefen maschinell erkennen zu können, soll untersucht werden, wie STS zwischen Kursen der FernUniversität in Hagen durch Techniken des NLP auf den Studienbriefen identifiziert werden kann. Dazu werden Verfahren zum Vektorisieren von Texten theoretisch untersucht.

Außerdem soll evaluiert werden, obDocument Embeddings wie Doc2Vec auch bei langen Dokumen- ten, weit über einen Satz oder Absatz hinaus, sinnvolle Ergebnisse im semantischen Vergleich der Dokumente erzielen. Dazu sollen die Ergebnisse, durch einen von Experten ausgezeichneten Gold- Standard, evaluiert werden.

Damit die Ergebnisse dieser Arbeit Angehörigen der Fernuniversität zugänglich gemacht werden können, sollen vorhandene Methoden zur Visualisierung von Graphen verglichen werden. Es sollen geeignete Varianten identifiziert werden, sodass eine übersichtliche Darstellung der STS als seman- tische Relationen zwischen mehreren hundert Kursen möglich ist. Ziel ist es, eine Visualisierung zu entwickeln, anhand derer die Relationen aller Kurse der Fernuniversität abgebildet werden können.

Zur Beantwortung dieser Fragen soll ein erweiterbarer Textkorpus aus den Kurstexten der FernUni- versität in Hagen erstellt werden. Auf Basis dieses Korpus soll anhand eines Prototyps gezeigt werden, wie semantische Relationen aus den vorliegenden Daten gewonnen werden können. Die gefundenen Relationen zwischen den Kursen sollen in einer Web Anwendung visualisiert werden.

(12)

2. Erstellung des Textkorpus zur Analyse

Um semantische Relationen in Texten zu erkennen, müssen die zugrundeliegenden Dokumente pro- grammatisch zugänglich gemacht werden. Nachfolgend wird beschrieben, wie dies für den Studien- katalog der FernUniversität in Hagen durch Erstellung eines Textkorpus gelingt. Der in dieser Arbeit erstellte Prototyp, wurde in Python implementiert. Dazu wurde das Packagenlp erstellt, welches von den beiden NLP Bibliotheken NLTK (Bird, Klein & Loper, 2009) und Gensim (Rehurek & Sojka, 2010) Gebrauch macht. Der Aufbau des Pakets ist im Diagramm in Abbildung 2.1 dargestellt. Die beschriebenen Schritte sind im Paketnlp.preprocess des Prototyps implementiert und werden im preprocess.pySkript des Prototyps ausgeführt.

NLTK

Corpus Reader

NLP

preprocess

FernuniCorpusReader

PickledFernuniCorpusReader

feature_extraction TextNormalizer

GensimDoc2Vectorizer Gensim

Preprocessor PunctSentenceTokenizer

Doc2Vec

PerceptronTagger

RegexChapterExtractor

TaggedDocument

OutlineChapterExtractor WordPunctTokenizer

GermanSnowballStemmer relation_extraction

KmeansCosineClusters

Hierarchical Clusters

utils

CorpusLoader Exporter

Evaluator

Abbildung 2.1.: Klassendiagramm des für den Prototyp erstellen NLP Pakets

(13)

2. Erstellung des Textkorpus zur Analyse

2.1. Grundlagen zur Vorbereitung der Textanalyse

2.1.1. Textkorpus

Ein Korpus ist eine Sammlung zusammengehörender Dokumente. Die Dokumente können in Kate- gorien unterteilt sein. Der im Prototyp verwendete Korpus enthält 45 Kurse aus 17 Lehrgebieten.

Dabei sind die Kurse wie in Abbildung 2.2 auf die Lehrgebiete verteilt. Ein Kurs besteht aus meh- reren Dokumenten, den Studienbriefen. Wird in einem Kurs neben Studienbriefen ein zusätzlicher Basistext verwendet, geht dieser nicht in die Analyse mit ein. Die Studienbriefe sind in Kapitel und Sätze unterteilt. Ein Satz bildet eine syntaktische Einheit und besteht wiederum aus Wörtern und Satzzeichen. Die Aufteilung der Texte in ihre einzelnen Bestandteile ist wichtig, da die Information aus dem Zusammenhang dieser, eine Analyse natürlicher Sprache erst möglich macht. Beispielsweise erhalten Wörter ihre Bedeutung oft erst aus dem Kontext in einem Satz. Für die Bedeutung eines Satzes ist wiederum die Ordnung der einzelnen Wörter entscheidend. Selbst die Position eines Satz- zeichens kann für die Bedeutung eines Satzes ausschlaggebend sein, wie folgendes Beispiel drastisch zeigt:

»Ich komme, nicht erschießen!«

»Ich komme nicht, erschießen! «

Abbildung 2.2.: Von der Fakultät Mathematik und Informatik 2017 angebotene

Lehrveranstaltungen im Vergleich zu den Kursen die in die Textanalyse eingehen

Der Korpus der FernUniversität in Hagen wurde nach der Anleitung von Applied Text Analysis with

(14)

2.1. Grundlagen zur Vorbereitung der Textanalyse

Python Ojeda, Bilbro und Bengfort (2018) entworfen. Da der Korpus des Prototyps als Grundla- ge weiterer Analysen der Studienbriefe der FernUniversität in Hagen dienen soll, wurden bei der Erstellung zwei Dinge besonders berücksichtigt. Erstens kann ein Korpus mehrere hunderttausend Dokumente enthalten, was zu einer Größe von mehreren Gigabyte führt und beim Zugriff auf den Korpus beachtet werden muss. Zweitens liegen die Daten oftmals roh vor und müssen bereinigt in ein für die Analyse passendes Datenformat übertragen werden. Dies hat zur Folge, dass die Da- ten irreversibel verändert werden. Daher ist es sinnvoll eine Datenmanagementschicht zwischen den Rohdaten und den bearbeiteten Daten anzulegen. Diese wird aufgrund des Grundsatzes write once, read many auch als WORM-Speicher bezeichnet. Wie in Abbildung 2.3 zu sehen, wird der Korpus einmal in Rohfassung und einmal bearbeitet (processed) gespeichert. Die Korpora können durch die jeweiligen Reader ausgelesen werden. Die Schritte im Preprocessor werden im Kapitel 2.2 im Detail beschrieben.

WORM Speicher

rohe PDF/txt Dateien processed Corpus PDF

Dateien

Corpus Reader Preprocessor

Pickled Corpus Reader

Abbildung 2.3.: WORM Speicher, Pfeile zeigen den Datenfluss

2.1.2. Korpusstruktur

Eine hierarchische Ordnerstruktur bietet eine einfache Möglichkeit, Dokumente in einem Korpus nach Metainformationen zu sortieren. Für den Korpus der Fernuniversität bietet es sich an, die Kurse nach Fakultäten und Lehrgebieten zu sortieren. Ein Kurs enthält alle Studienbriefe als PDF Datei.

Fakultät Lehrgebiet

Kurs

Studienbrief1.pdf Studienbrief2.pdf

2.1.3. Zugriff auf den Korpus mit dem CorpusReader

DerCorpusReader ist ein Interface zum Lesen, Suchen und Filtern von Dokumenten. Zum Instanzi- ieren benötigt derReader lediglich den Pfad zum Korpus. Außerdem kann ein regulärer Ausdruck als Parameter angegeben werden, um die zu lesenden Dokumente innerhalb des Pfades, beispielsweise nach der Dateiendung, zu filtern. So können Metadaten, wie eine Readme.md Datei, ausgeschlossen werden. Der Korpus ist dabei so aufgebaut, dass verschiedene Dokumente gelesen werden können, ohne dabei den gesamten Korpus in den Arbeitsspeicher laden zu müssen.

Da die Text Strings aus den rohen Dokumenten erst gelesen und dann für die Analyse weiterverarbei- tet werden, muss der Speicherverbrauch beim Implementieren eines Readers berücksichtigt werden.

(15)

2. Erstellung des Textkorpus zur Analyse

Das Natural Language Toolkit, NLTK stellt speicherfreundliche, erweiterbare Korpus Reader zur Verfügung. Um optimalen Zugang zum Korpus zu ermöglichen, ist es notwendig, den CorpusReader des NLTK an den Korpus der Fernuniversität anzupassen. DerCategorizedCorpusReader desNLTK kann nicht mit mehrfach unterteilten Kategorien umgehen. Zum Zugriff auf die oben dargestellte Struktur des Korpus wird einFernuniCorpusReader auf Basis des CorpusReaders des NLTK erstellt.

Dieser bietet bereits eine betriebssystemunabhängige Schnittstelle zum speicherfreundlichen Zugriff auf Dokumente an. Die zur Analyse relevanten Dokumente werden über folgenden regulären Aus- druck gefiltert: (?!\.).*\.txt. Mit diesem regulären Ausdruck werden nur sichtbare Dateien mit der Endung .txt ausgewählt.

Als Rückgabe desReaderswird einGeneratorder entsprechenden Dokumente erwartet. Die Rückgabe der Dokumente als Liste würde bedeuten, dass der gesamte Korpus in den Arbeitsspeicher geladen wird. Da dies bei großen Korpora zwangsläufig zu Speicherproblemen führt, wird daher keine Liste, sondern einGenerator verwendet. EinGenerator ist, wie eine Liste auch, einIterable, und kann ebenso weiterverarbeitet werden. Der essentielle Unterschied gegenüber einer Liste ist, dass der Inhalt, nicht wie bei einem Array, bei der Erstellung komplett im Speicher gehalten wird. Die Werte werden erst beim Zugriff generiert. Die so berechneten Werte einesGenerators stehen deshalb auch nur für diesen Moment zur Verfügung und müssen für einen erneuten Zugriff erneut generiert werden. Dieser Tausch von Speicherplatz durch Rechenzeit ist im Kontext eines Textkorpus durchaus sinnvoll.

2.2. Preprocessing - Texte zur Analyse vorbereiten

Der mit Abstand zeitaufwändigste Schritt der Textanalyse besteht darin, die Dokumente in eine für die Analyse passende Form zu bringen. Die größte Herausforderung stellt, wie bei den mei- sten datenbasierten Produkten, die Heterogenität der Daten dar, welche durch eine Reihe von Be- arbeitungsschritten in eine einheitlich, zugängliche Form gebracht werden sollen, siehe Abbildung 2.4. Für den Prototypen wurde dazu das Paket nlp.preprocessing erstellt. Dieses enthält neben FernuniCorpusReader noch weitere Klassen zum preprocessing wie den Preprocessor. Im Pre- processor sind alle in diesem Kapitel beschriebenen Schritte, in Abbildung 2.4 weiß gekennzeichnet, implementiert.

Studien- briefe

PDF lesen/konvertieren

Kapitel extrahieren

Sätze erkennen

Tokens erkennen

corpus = [//Studienbrief

[//Kapitel [//Sätze

[

‘Hier’,

‘steht’,

‘der’,

‘Text’, ] [ ] ] Fakultät

Lehrstuhl

Kurs

Abbildung 2.4.: Grau: Metainformationen durch Ordnerstruktur des Korpus, weiß:

Vorbereitung der Texte zur Analyse durch weitere Zerlegung in Kapitel, Sätze und Wörter

Die Grundlage der nachfolgenden Analyse stellen die Studienbriefe im PDF Format dar. Welche Schwierigkeiten dadurch, im Gegensatz zu einem strukturierten Format wie XML oder HMTL, bei der Erstellung eines Korpus entstehen können, soll durch einen genaueren Blick auf die PDF Doku- mentenstruktur verdeutlicht werden.

(16)

2.2. Preprocessing - Texte zur Analyse vorbereiten

2.2.1. Extrahieren von Informationen aus PDFs (Portable Document Format)

Das 1990 von Adobe eingeführte Dateiformat PDF verfolgt das Ziel, auf allen Endgeräten ein gleiches Layout zu garantieren. Es entwickelte sich zu einem Standardformat zum Dokumentenaustausch und wurde 2008 zur ISO-32000-1:2008 Norm. Dabei haben sich spezielle PDF Formate wiePDF/A(ISO 19005-1:2005) zur Langzeitarchivierung und PDF/X (ISO 15930-8:2010) im Printbereich ebenfalls als ISO Standard etabliert. Beide Formate stellen valide PDFs mit besonderen Restriktionen und Anforderungen der Anwendungsdomäne dar (Whitington, 2011) (Specialized Kinds of PDF). Da bei der Entwicklung des Formats der Fokus auf der einheitlichen Darstellung und nicht auf der inhaltlichen Struktur lag, gibt es beim programmatischen Zugriff auf die Inhalte einige Probleme. Zwar wurde 2012 durch Einführung eines weiteren PDF Formates, PDF/UA (ISO 14289-1:2012) (ISO, 2012), dieses Problem adressiert, allerdings wird dieser Standard bisher nur von wenigen Autoren und PDF Generatoren umgesetzt, weshalb die beschriebene Analyse nicht auf das PDF/UA Format gestützt werden kann.

Ein PDF programmatisch auszulesen bedeutet, einenObject Graphwie in Abbildung 2.5 zu erstellen.

Das Trailer Dictionary enthält Informationen zum Lesen der Objekte in der Datei. Der Document Catalog stellt die Wurzel des Objekt Graphen dar. DerPage Tree enthält eine oder mehrere Pages, wobei eine Page ausResources, wie beispielsweise Schriftarten und einemContent Stream, besteht.

Streams setzen sich aus einer Reihe an Operatoren, wie zum Beispiel Text- oder Grafikoperatoren, zusammen. Zum Content Stream gehört außerdem ein Dictionary, welches die Länge des Streams beschreibt und weitere Informationen zum Stream enthalten kann (Whitington, 2011).

Ein Problem beim Extrahieren von Text aus PDFs ist die Rekonstruktion der Textoperatoren inner- halb desContent Streams. EinStreambesteht aus binären Daten und wird in der Regel komprimiert.

Dabei kann es passieren, dass Operatoren aufgeteilt oder sogar in ihrer Reihenfolge geändert wer- den (Whitington, 2011). Die Darstellung des PDFs wird dadurch nicht verändert, die vertauschte Reihenfolge hat jedoch Auswirkungen auf das programmatische Auslesen des Inhalts.

Das Inhaltsverzeichnis, im PDF FormatDocument Outline genannt, ist in einer Baumstruktur ange- legt. Sie besteht aus einem Outline Dictionary und Outline Item Dictionaries. Jeder Eintrag besteht aus Text, meist einer Überschrift, und aus einer Destination, welche die Position im PDF definiert.

Dabei ist zu berücksichtigen, dass dies aufgrund der Objektstruktur im PDF nicht die Position im Content Stream einer Seite darstellt, sondern lediglich die Koordinaten der Destination auf einer Seite im PDF. Dies hat auch Auswirkungen auf die Analyse.

Trailer Dictionary

Document Catalog

Page Tree Node

Page

Stream Dictionary

Resources

Abbildung 2.5.: PDF Object Graph

(17)

2. Erstellung des Textkorpus zur Analyse

2.2.2. Dokumente nach Kapiteln teilen

Um eine kapitelsensitive Analyse zu ermöglichen, sollen die Studienbriefe in ihre Kapitel zerlegt wer- den. Ein Problem stellt die Baumstruktur der Kapitel dar. Zur Textanalyse sollten disjunkte Texte vorliegen, um keinen Inhalt mehrfach in der Analyse zu gewichten. Es stellt sich die allgemeine Frage, in welcher Tiefe die Studienbriefe analysiert werden sollen. Hierbei ist mit Tiefe die Tiefe im Inhalts- verzeichnis, beispielsweise auf Ebene der Hauptkapitel oder auf Ebene der Unterkapitel, gemeint. Da, wie bereits in Kapitel 2.2.1 beschrieben, PDF kein strukturiertes Datenformat ist, ist es keine triviale Aufgabe, die Kapitel eines PDFs auszulesen. Hinzu kommt, dass die Dokumente von verschiedenen Autoren und Programmen erstellt wurden, weshalb PDF Formate und Versionen variieren. Manche Kurse werden durch eine einzelne Datei, andere wiederum durch eine Datei pro Studienbrief reprä- sentiert. Einige Kurse verfügen über eine Outline, andere hingegen nicht. Nachfolgend werden zwei Möglichkeiten vorgestellt und bewertet, wie Kapitel aus den PDFs extrahiert werden können. Diese sind Erstens das Finden der Kapitelgrenzen durch reguläre Ausdrücke im konvertierten Text und Zweitens das Extrahieren der Kapitel unter Verwendung der Outline im PDF. Beide Ansätze sind nicht invariant gegenüber der heterogenen Datengrundlage, weshalb keiner der Ansätze im Prototyp Verwendung findet. Dennoch sollen die Probleme beider Ansätze im Folgenden erläutert werden.

Kapitelgrenzen mit regulären Ausdrücken im Text finden

Aufgrund der heterogenen Ausgangslage, wurde zuerst ein vom PDF Format vermeintlich unabhän- giger Ansatz zum Auslesen der Kapitel gewählt. Dafür wurden alle PDFs mit dem Command Line Tool pdftotext von Xpdfreader (Glyph & Cog, 2018) in Textdateien konvertiert. Die beschriebenen Schritte sind in der KlasseRegexChapterExtractoraus dem Paketnlp.preprocessing.extract implementiert.

Als kleinste Gemeinsamkeit aller Studienbriefe wurde die Kopfzeile jeder Seite, welche den Titel des aktuellen Kapitels enthält, vgl. Abbildung 2.6 erkannt. Diese sollen als Indikator für das aktuelle Kapitel gelten. Die Positionen des ersten und des letzten Auftretens derselben Kopfzeile werden über einen regulären Ausdruck in dem Dokument gefunden. Die auf diese Weise gefundenen Kapitelgrenzen sind nur seitengenau. Wenn ein Kapitel auf einer Seite endet, und ein Neues auf derselben Seite beginnt, steht in der Kopfzeile noch der Titel des dort endenden Kapitels. Deshalb müssen die Kapitelgrenzen verfeinert werden, indem im String zwei Seiten vor und eine Seite nach der Position des ersten Auftretens der Kapitelüberschrift gesucht wird, um die exakte Position eines Kapitels zu bestimmen.

Abbildung 2.6.: Kopfzeilen eines Studienbriefs der Fernuniversität in Hagen

Dabei entstehen neue Probleme, wenn die Kopfzeile nicht identisch mit der Überschrift des Kapitels ist. Dazu können die zu untersuchenden Seiten, sowie die Titel normalisiert werden, um einen Ver- gleich unabhängig von Versalien und Punktion durchzuführen. Dieser Ansatz ist jedoch, trotz Analyse der Textdatei, nicht gänzlich unabhängig vom PDF Format. So kann es passieren, dass andere Text Operatoren aus dem Content Stream des PDFs nach dem Konvertieren vor der Kopfzeile auf die neue Seite geschrieben werden und somit fälschlicherweise als Kapitel erkannt werden. Im Beispiel der Studienbriefe sind dies oftmals Seitenzahlen oder Seitenanmerkungen. Durch diese Tatsache ist der Ansatz nicht robust und somit nicht zielführend, weshalb eine andere Methode, zum Extrahieren der Kapitel aus den PDFs, getestet werden soll.

(18)

2.2. Preprocessing - Texte zur Analyse vorbereiten

Kapitelgrenzen über Outline im PDF finden

Der PDFChapterExtractor aus dem Paketnlp.preprocessing.extract verwendet zum Erken- nen der Kapitel dieOutlinedes PDFs. DieOutlines der Studienbriefe werden mit dem Python Packet PyPDF2 ausgelesen. Wie im Kapitel 2.2.1 beschrieben, enthält ein Eintrag den Titel als String und eine Destination, welche die Seite, sowie die kartesische Position auf dieser beinhaltet. Die Outline kann wie ein Baum durchlaufen werden. Dennoch ist aufgrund des unterschiedlichen Aufbaus der PDFs die Hierarchie der Kapitel nicht einheitlich. Bei Studienbriefen, die als Gesamttext in einem PDF vorliegen, entspricht die erste Kapitelebene den Kurseinheiten. Bei Kurstexten, die in einzelne Studienbriefe unterteilt sind, entspricht die erste Kapitelebene den Hauptkapiteln. Durch das nach- trägliche Teilen von PDFs, stimmen die Destinations oft nicht mit der in dem PDF vorhandenen Seitenzahl überein. Dies ist ursächlich für die Tatsache, dass bei über 50% der Studienbriefe, siehe Abbildung 2.7, dieOutlinenicht ausgelesen werden konnte. Da dasDestination Objekt keinerlei Infor- mation über die Position im Textfluss, sondern lediglich die Position im Layout auf einer bestimmten Seite, welche durch die Seitenzahl referenziert ist, beschreibt, wird diese nicht mehr gefunden. Ist eine Seite vorhanden, so ist die Angabe lediglich seitengenau. Enthält eine Seite beispielsweise zwei Kapitel, würde der Inhalt der gesamten Seite doppelt in die Analyse eingehen. Dies passiert besonders dann, wenn nach einer kurzen Einleitung des Hauptkapitels das erste Subkapitel folgt. Dennoch ist dieser Ansatz, wie im Histogramm in Abbildung 2.7 zu sehen, bei korrekt vorliegenderOutline, unab- hängig vom syntaktischen Aufbau des PDFs. Die teilweise hohen Kapitelzahlen beim Extrahieren der Kapitel durch reguläre Ausdrücke stammen von einem leicht veränderten Aufbau des PDFs. Da diese Fehlerquelle beim Auslesen der Kapitel über die Outline nicht existiert, ist dieser Ansatz vorzuziehen.

Da jedoch bei einem Großteil der Dokumente die Outline nicht ausgelesen werden kann und diese Dokumente dadurch von der Analyse ausgeschlossen wären, wird im Prototyp auf eine kapitelge- naue Analyse verzichtet. Im Sinne einer automatischen Analyse wird außerdem davon abgesehen die fehlerhaften Outlines manuell anzupassen.

Abbildung 2.7.: Histogramm der extrahierten Kapitel pro Studienbrief

2.2.3. Satzgrenzen im Text finden

Da die Zerteilung der Dokumente in Kapitel, wie oben beschrieben, nicht zielführend ist, werden die Dokumente zunächst in Sätze unterteilt. Zum Identifizieren der Satzgrenzen wird die Methode sent_tokenize()desNLTK verwendet, welche auf die KlassePunktSentenceTokenizerzurück- greift und einen Generator zum iterieren über alle Sätze eines Dokuments liefert. DerPunktSentence

(19)

2. Erstellung des Textkorpus zur Analyse

Tokenizer ist ein vortrainiertes Modell, welches eine Reihe von Regeln (reguläre Ausdrücke) erlernt hat, um den Anfang beziehungsweise das Ende eines Satzes zu erkennen. Obwohl der PunktSentence- Tokenizer anhand englischer Sprachbeispiele trainiert wurde, funktioniert er für die Studienbriefe der Fernuniversität bis auf formellastige Studienbriefe gut.

2.2.4. Wörter mit WordPunct Tokenizer extrahieren

Die letzte Ebene der Zerteilung stellen die Wörter eines Satzes dar, welche im Folgenden Tokens genannt werden. Sie bilden die syntaktische Einheit einer Sprache und repräsentieren semantische Information durch eine Abfolge von Zeichen. Auch für diesen Schritt wird ein Tokenizer aus dem NLTK verwendet. Der WordPunctTokenizer arbeitet ebenfalls mit regulären Ausdrücken zum Er- kennen einzelner Tokens. Dabei trennt er Tokens jeweils nach einem Leerzeichen, sowie vor Satz- zeichen wie Punkt und Komma. \w+|[^\w\s]+ Um die Fehler des PunctSentenceTokenizers und WordPunctTokenizers bei mathematischen Formeln und strukturgebende Zeichenketten wie Punktlinien im Inhaltsverzeichnis zu beheben, wird der Text vor der Analyse normalisiert. Da dies ein destruktiver Prozess ist, wird dieser Schritt erst zur Laufzeit, vlg. Kapitel 3.1, durchgeführt.

2.3. Der Korpus der FernUniversität in Hagen

Damit die in diesem Kapitel beschriebenen Schritte nicht für jede Analyse erneut ausgeführt werden müssen, wird der bearbeitete Korpus gespeichert, siehe Abbildung 2.3. Aufgrund der Menge an Daten, bietet sich ein komprimiertes Speicherformat an. Dazu wird das in Python integrierte Pickle Format verwendet. Neben einer einfachen Speichermöglichkeit, können Daten aus einer Pickle-Datei ohne Entpacken der gesamten Datei gelesen werden.

Als Ergebnis des gesamten Verarbeitungsprozesses entsteht eine mehrfach verschachtelte Daten- struktur für den Korpus der FernUniversität in Hagen. Ein Generator aller Studienbriefe enthält weitereGeneratorenfür jeden Satz. Ein Satz besteht wiederum aus einemGenerator der enthaltenen Tokens. Der Korpus des Prototyps enthält 323.403 Sätze aus 5.852.273 Wörtern. Das Vokabular besteht aus 167.123 Wörtern, vgl. Abbildung 2.8. Er umfasst insgesamt 252 Studienbriefe aus 45 Kursen von 17 Lehrgebieten der beiden Fakultäten Mathematik und Informatik und Wirtschafts- wissenschaften. Um Zugriff auf den bearbeiteten und komprimierten Korpus zu erlangen, wird der PickledFernuniCorpusReader aus dem Paket nlp.preprocess.reader des Prototyps verwen- det.

2.4. Zusammenfassung

Der Korpus der FernUniversität in Hagen wurde als WORM Speicher angelegt, um die Rohdaten unverändert zu belassen. Das Ergebnis desPreprocessings wird separat und komprimiert gespeichert.

Die Teilung der Studienbriefe in Kapitel bereitet aufgrund des programmatisch schwer zugänglichen PDF-Formats Probleme. Um speicherfreundlichen Zugriff auf den Korpus zu ermöglichen, ist dieser aus Generatoren aufgebaut. Generatoren erzeugen den zu lesenden Inhalt erst bei Zugriff auf ein Element. Ein Generator der Fakultäten enthält Generatoren der Lehrgebiete, welche wiederum Gene- ratoren der einzelnen Kurse enthalten. Ein Kurs besteht aus Generatoren der einzelnen Studienbriefe beziehungsweise Dokumente. Auch dieses besteht seinerseits wieder aus Generatoren. Ein Generator aller Sätze enthält Generatoren der Wörter eines Satzes. Mit dem CorpusReader können die kom- primierten Dokumente direkt gelesen werden. Es ist ein gezielter Zugriff auf einzelne Studienbriefe, sowie auf ganze Bereiche entsprechend der Struktur des Korpus nach Fakultät, Lehrgebiet oder Kurs möglich.

(20)

2.4. Zusammenfassung

Abbildung 2.8.: Verteilung der Sätze, Wörter und Vokabeln im Textkorpus der FernUniversität in Hagen

(21)

3. Vektorisieren - Extrahieren von

maschinenlesbaren Merkmalen aus Text

Durch den CorpusReader sind die Dokumente nun programmatisch ansprechbar. Um jedoch Me- thoden des Machine Learnings auf den Korpus anwenden zu können, muss der Text in ein anderes Format gebracht werden. Ein Text aus natürlicher Sprache, wie deutsch oder englisch, stellt für den Computer zunächst unstrukturierte Daten dar. Obwohl natürliche Sprache einer grammatikalischen Struktur folgt, aus welcher Menschen den Sinn eines Textes ableiten können, ist dieser im Gegen- satz zu strukturierten Daten, welche maschinenlesbare Auszeichnungen enthalten, für Maschinen schwer zu erkennen. Text ist für den Computer eine Aneinanderreihung von Zeichen in einem String.

Um Texte miteinander vergleichen zu können, müssen zuerst Merkmale herausgearbeitet werden, anhand derer die Texte verglichen werden können. Dieser Prozess wird im Bereich desMachine Lear- ning, Feature Extraction, FE genannt. Text bietet viele Möglichkeiten, Merkmale abzuleiten. Die Art der Merkmale ist jedoch entscheidend für die Qualität der Ergebnisse einer Analyse. Die Merkmale müssen daher unter Berücksichtigung des zu erreichenden Ziels gewählt werden. Daher ist Natu- ral Language Processing, NLP stets eng an einen Anwendungsfall geknüpft. Eine Generalisierung geht daher immer mit einem Verlust der Genauigkeit der Ergebnisse einher. Da die größten Erfolge textbasierter Analysen auf den Einsatz von maschinellem Lernen zurückzuführen sind, sollten diese Merkmale, auch Features genannt, stets numerisch sein und die gleiche Länge haben, um als Eingabe verarbeitet werden zu können, siehe Ojeda et al. (2018). In Abbildung 3.1 sind die folgenden Schritte dargestellt. Der Textkorpus wird vor dem Vektorisieren normalisiert. Dies ist ein destruktiver Prozess und ging deshalb nicht in das vorherige Preprocessing des Korpus mit ein. Beim Vektorisieren wer- den die Merkmale für den späteren semantischen Vergleich erstellt, weshalb in diesem Kapitel zuerst einige Vektorisierungsmöglichkeiten vorgestellt werden, um die Entscheidung für ein semantisches Verfahren nachvollziehbar darzustellen. Nach dem Vektorisieren der Dokumente werden verschiedene Möglichkeiten derRelation Extraction, dem Extrahieren der Verbindungen, vorgestellt. Die möglichen Analyseschritte nach dem Preprocessing sind in Abbildung 3.1 dargestellt.

3.1. Komplexität reduzieren durch Normalisieren

Alle frequenzbasierten Verfahren um Text zu Vektorisieren gehen auf die Idee zurück, jedes darin enthaltene Wort als eine Dimension anzusehen. Je nach Länge eines Textes kann ein solcher Vektor mehrere tausend Dimensionen annehmen. Daher ist es wichtig, vor dem Vektorisieren die Komple- xität und die Größe des Vokabulars eines Textes zu reduzieren. Im nlp Paket des Prototyps wurde hierzu derTextNormalizerim Modulfeature_extraction.dim_reductionimplementiert. Zwei einfache Schritte das Vokabular zu reduzieren wurden bereits beim Verarbeiten des rohen Korpus ausgeführt. Als erster Schritt wurden alle Majuskeln durch Minuskeln ersetzt. Anschließend wurden in Kapitel 2.2.4 Wörter von Satzzeichen getrennt. Um keine Information für spätere Analysen auf dem Korpus zu verlieren, werden die folgenden destruktiven Schritte erst zur Laufzeit der Analy- se ausgeführt. Im nächsten Normalisierungsschritt werden Satzzeichen und Stoppwörter entfernt.

Stoppwörter sind Wörter, die sehr häufig auftreten, jedoch keine wesentliche Information zum In- halt des Textes enthalten. Hierzu gehören beispielsweise Artikel oder Konjunktionen. Die Wörter des Korpus werden dazu mit einer Liste anStoppwörternder entsprechenden Sprache verglichen und ge- gebenenfalls entfernt. Weitaus komplexer ist das Reduzieren von Worten auf ihren Wortstamm, auch

(22)

3.1. Komplexität reduzieren durch Normalisieren

processed Corpus Normalisieren

Vektorisieren (PV)

Nearest Neighbors

Visualisieren Dimensionen

Reduzieren (t-SNE) Kosinusähnlichkeit Clustering

Abbildung 3.1.: Aufbau des Prototyps zur Analyse der semantischen Relationen

stemming genannt. In einer natürlichen Sprache werden Wörter eines Wortstamms durch Affixe wie Konjugationen oder Plural erweitert. Wenn diese Information bei der Analyse keine Rolle spielt, kann das Vokabular und somit die Dimensionen der Darstellung, durch Entfernen dieser Affixe reduziert werden. Im Prototyp kommt der German SnowballStemmerdes NLTK zum Einsatz. Da einStem- mer meist auf Basis von regulären Ausdrücken Affixe entfernt, ist nicht garantiert, dass das Resultat ein tatsächliches Wort der Sprache ist. Außerdem werden einige sprachspezifische Unregelmäßigkei- ten, welche besonders beim Konjugieren von Verben entstehen, nicht berücksichtigt. So bleiben trotz Stemmings oft unterschiedlicheTokens für einen Wortstamm bestehen. Einige Beispiele sind Tabelle 3.1 zu entnehmen (Porter, 2018). Trotzdem ist es dadurch möglich, das Vokabular des Textkorpus

Tabelle 3.1.: Beispielhafte Ergebnisse des GermanSnowballStemmer

Wort stem

kategorie kategori kategorien kategori kategorisch kategori kategorische kategor kategorischen kategor kategorischer kategor

von insgesamt 167.123 auf 115.377 Tokens um mehr als 30% zu reduzieren, vgl. Abbildung 3.2.

Werden bei der Analyse korrekte Wörter benötigt, muss auf eine andere Methode, Lemmatizing, zurückgegriffen werden. Ein Lemmatizer entfernt den Affix eines Wortes nur, wenn dieses in einem Wörterbuch hinterlegt ist, Bird et al. (2009). Das NLTK stellt zum Zeitpunkt dieser Arbeit keinen Lemmatizer für die deutsche Sprache zur Verfügung.

Nach dem Normalisieren ist der Korpus bereit vektorisiert zu werden. Die Unterschiede der numeri- schen Darstellung von Texten sollen im Folgenden betrachtet werden.

(23)

3. Vektorisieren - Extrahieren von maschinenlesbaren Merkmalen aus Text

Abbildung 3.2.: Reduzierung der Tokens in Kursen der Fernuniversität durch Stemming

(24)

3.2. Frequenzbasierte Verfahren

3.2. Frequenzbasierte Verfahren

Um Texte zu vektorisieren, müssen erst deren kleinste Bestandteile, die einzelnen Tokens, kodiert werden. Die einfachste Art hierfür ist das One-Hot-Encoding. Dabei wird ein Lexikon des Vokabulars aller Texte erstellt. Jeder Vektor enthält für einen Eintrag im Lexikon eine Dimension. Das Wort an der n-ten Stelle im Lexikon wird im Vektor durch die n-te Dimension beschrieben und 1 gesetzt, alle anderen Dimensionen sind 0, vlg. Abbildung 3.3. Zur Auswahl eines geeigneten Verfahrens zum Vektorisieren der Dokumente werden im Folgenden frequenzbasierte Verfahren untersucht.

Der Hund bellt laut. 1 der

2 hund

3 bellt 4 laut

5 ist

6 schnell

der = (1,0,0,0,0,0) hund = (0,1,0,0,0,0) bellt = (0,0,1,0,0,0) laut = (0,0,0,1,0,0) ist = (0,0,0,0,1,0) schnell = (0,0,0,0,0,1) Normalisieren

Lexikon

Der Hund ist schnell.

Abbildung 3.3.: One-Hot-Encoding

3.2.1. Texte durch Häufigkeit der Wörter Kodieren - Bag of Words

Eine einfache Möglichkeit Texte durch Vektoren zu repräsentieren, ist das von Harris (1954) vorge- stellte Bag-of-Words, BOW Modell. Dabei werden alle durch One-Hot-Encoding kodierten Wörter zu einem Vektor addiert. Das Resultat ist ein Vektor, der in jeder Dimension als Wert die Häufig- keit des entsprechenden Wortes beinhaltet. Der Vektor für den ersten Text aus Abbildung 3.3 ist folglich (1,1,1,1,0,0). Sprache hat die Eigenschaft, dass unbedeutende Wörter mit sehr hoher Häu- figkeit auftreten, wohingegen aussagekräftige Wörter eher seltener vorkommen. Um dieses Problem zu adressieren, könnenStoppwörter beim Normalisieren der Texte entfernt werden.

3.2.2. Term Frequency Inverse Document Frequency - TF-IDF

Eine elegantere Variante, die thematisch aussagekräftigen Wörter eines Textes hervorzuheben, ist die Term Frequency-Inverse Document Frequency, TF-IDF Kodierung. Diese beschreibt den Text unter Berücksichtigung der anderen Texte im Korpus. Dabei wird zuerst ein Vektor der Häufigkeiten erstellt, dies entspricht der Summe aller One-Hot-Kodierten Wortvektoren eines Textes. Zusätzlich wird die Häufigkeit eines Wortes mit der inversen Häufigkeit des Wortes im gesamten Korpus gewichtet.

Außerdem wird die Frequenz logarithmisch skaliert, um Verzerrungen bei sehr häufig auftretenden Wörtern zu verhindern. Die Gewichtsfunktion zur Berechnung der Dokument inversen Frequenz ist in 3.1 aus Salton und McGill (1983) S.63 zu sehen.

WEIGHTik = FREQik∗[log2(n)n−log2(DOCF REQk) + 1] (3.1) 3.1.: Berechnung der Gewichtsfunktion der dokumentinversen Frequenz nach Salton und

McGill (1983) S.63

Beim Kodieren der Texte durch Häufigkeit der Wörter entsteht der Nachteil, dass die Reihenfolge der Wörter verloren geht. Dadurch kann es passieren, dass verschiedene Texte die gleiche Repräsentation haben, wenn sie dieselben Wörter beinhalten.

(25)

3. Vektorisieren - Extrahieren von maschinenlesbaren Merkmalen aus Text

Eine TF-IDF Repräsentation der Texte ist in vielen Fällen ausreichend, hat jedoch auch entscheidende Schwächen. Zum Einen geht, wie bereits erwähnt, die Reihenfolge der Wörter nicht in die Kodierung ein. Außerdem produzieren beide Verfahren stets positive ganzzahlige Vektoren. Dies hat zur Folge, dass Texte, welche kein Wort gemeinsam haben, nicht miteinander verglichen werden können. Ver- gleicht man derartige Texte beispielsweise mit der Kosinusähnlichkeit, siehe Kapitel 4.2 als Metrik, erhält man stets 0. Dies bedeutet, dass die Vektoren beziehungsweise die Dokumente keine Gemein- samkeit haben, selbst wenn sie semantisch sehr ähnlich sind. Das Wort »schön«, hat beispielsweise dieselbe Ähnlichkeit zu »hübsch« und »Auto«, wobei die beiden ersten Wörter semantisch wesentlich ähnlicher sind. Da zum Erkennen vonSTS eine aussagekräftige Metrik ein entscheidender Faktor ist, müssen Verfahren zum Vektorisieren gefunden werden, welche durch kontinuierliche Wortrepräsen- tationen, die Semantik der Wörter berücksichtigen und präzisere Aussagen über die Ähnlichkeit von Wörtern ermöglichen.

3.3. Semantische Verfahren - Distributed Representations

Die Semantik eines Wortes geht bei den im Folgenden beschriebenen semantischen Verfahren auf Ideen aus der Sprachwissenschaft in den fünfziger Jahren zurück, welche in Kapitel 4 weiter vertieft werden. Hier sei auf (Wittgenstein, 1953, Kapitel 43): »Die Bedeutung eines Wortes ist sein Ge- brauch in der Sprache« und Firth (1957) verwiesen, der durch sein Zitat »you shall know a word by the company it keeps«, berühmt wurde. Aus diesem Verständnis der Bedeutung eines Wortes entstand dieDistributional Hypothesis in der Sprachwissenschaft (Sahlgren, 2008). Wortvektoren, welche se- mantische Informationen der Wörter durch Berücksichtigung deren Kontextes repräsentieren, werden dementsprechend auch Distributed Representations genannt. Diese Repräsentationen werden in der Praxis häufig durch Neuronale Netze erlernt. Dort gehen Vektoren im One-Hot-Encoding ein und werden in einen kontinuierlichen Bereich abgebildet, weshalb sie auch Word Embeddings genannt werden.

3.3.1. Semantik durch Word Embeddings erlernen

Eine Repräsentation, welche die Kriterien für maschinelles Lernen, numerische Vektoren einheitlicher Länge, erfüllt und den Kontext berücksichtigt, ist Paragraph Vector, PV (Mikolov, Chen et al., 2013). Es wurde in der Literatur bereits gezeigt, dassPV gegenüber anderen bekannten semantischen Vektorrepräsentationen, wieLatent Dirichlet Allocation, LDA(Blei et al., 2003) undLatent Semantic Analysis, LSA (Deerwester et al., 1990), hinsichtlich der Erhaltung linearer Regelmäßigkeiten und der geringeren Rechenkomplexität, besonders bei großen Datenmengen, überlegen sind, vgl Mikolov, Chen et al. (2013). In Dai, Olah und Le (2015) wurde außerdem gezeigt, dassPV signifikant bessere Ergebnisse beim semantischen Vergleich von Wikipediartikeln erzielt, als alternative Modelle wie LDA, BOW oder andere Word Embeddings.

Das Verfahren umPV zu trainieren, im FolgendenDoc2Vecgenannt, erlernt aus einemUnsupervised Neuronal Network kontinuierlich verteilte Vektor Repräsentationen von Texten. Dabei wird ein PV mit Wortvektoren kombiniert, um das nächste Wort aus einem gegebenen Kontext zu schätzen. Der PV wird durch Rückführung des Schätzfehlers anhandStochastic Gradient Descent, SGDoptimiert Le und Mikolov (2014). Da PV stark von den Word Embeddings abhängen, wird im Anschluss hieran zuerst auf das Konzept der dabei verwendeten Word Embeddings, im Folgenden Word2Vec genannt, eingegangen (Mikolov, Chen et al., 2013). Zum Erlernen derWord Embeddings gibt es zwei Varianten, welche sich sehr ähneln. Beide basieren auf einer Schätzaufgabe, wobei beim Continuous Bag-of-Words, auchCBOW Modell, ein Wort zu gegebenen Kontextwörtern vorhergesagt werden soll, siehe Abbildung 3.5. Im Gegensatz dazu, wird beimSkip-gramModell die Schätzaufgabe umgedreht und ein Wort aus dem Kontext geschätzt. Die folgende Erklärung bezieht sich auf dasCBOW Modell, welches im Prototyp ein marginal besseres Ergebnisse erzielt hat und daher verwendet wird. Der Name

(26)

3.3. Semantische Verfahren - Distributed Representations

ist eine Anlehnung an das zuvor erwähnte frequenzbasierte Modell aus Kapitel 3.2.1, da, wie auch bei BOW, die Reihenfolge der Wörter innerhalb des Textes nicht berücksichtigt werden (Mikolov, Chen et al., 2013).

Das neuronale Netz wird mit Tupeln, die aus dem Text gewonnen werden, trainiert. Dazu wird ein Fenster durch den gesamten Text geschoben und die entstehenden Tupel notiert, vgl. Abbildung 3.4.

Die Häufigkeit eines Tupels bestimmt die Wahrscheinlichkeit der beiden Wörter im selben Kontext aufzutreten, (McCormick, 2016). Die Größe des verwendeten Fensters ist ein Hyperparameter des Modells. Hyperparamter werden dem Modell beim Instantiieren übergeben und während des Trainings nicht verändert. Im Prototyp wurden die besten Ergebnisse bei einer Fenstergröße von 20 erreicht.

Dies bedeutet, dass 20 Wörter vor und 20 Wörter nach dem zu schätzenden Wort betrachtet werden.

Da weiter entfernte Wörter meist weniger Bezug zueinander haben, werden diese Paare beim Training weniger gewichtet (Mikolov, Chen et al., 2013).

Otto holt Kohlen aus dem Keller

Otto holt Kohlen aus dem Keller

(Kohlen, Otto) (Kohlen, holt) (Kohlen, aus) (Kohlen, dem)

(aus, holt) (aus, Kohlen) (aus, dem) (aus, Keller)

Otto holt Kohlen aus dem Keller

(holt, Otto) (holt, Kohlen) (holt, dem)

Otto holt Kohlen aus dem Keller

(Otto, holt) (Otto, Kohlen)

Abbildung 3.4.: Erstellen eines Trainingssets mit Fenstergröße 2

Die Aufgabe des Neuronalen Netzes ist es, diese durch den Kontext bedingten Wahrscheinlichkeiten für ein Wort, genauer die durchschnittliche logarithmierte bedingte Wahrscheinlichkeit eines Wortes, bei gegebenen Kontextwörtern zu maximieren, siehe Formel 3.2.

1 T

T−k

X

t=k

logp(wt|wt−k, ...., wt+k) (3.2)

3.2.: Zu einer Sequenz von Trainingswörternw1, w2, w3, ..., wT soll die durchschnittliche bedingte Wahrscheinlichkeit bei gegebener Kontextgrößek maximiert werden

Die Wörter gehen One-Hot-Encoded in das Neuronale Netz ein und werden mit einer Matrix W gewichtet. Die Kodierung hat zur Folge, dass jeweils genau eine Spalte der Gewichtsmatrix selektiert wird. Der Durchschnitt der Vektoren aller Kontextwörter, aus 3.3, geht dabei als Merkmal in die Schätzung ein, vergleiche Vektor h in Abbildung 3.5.

h= 1 CW ∗(

C

X

i=1

xi) (3.3)

3.3.: Berechnung des Vektors h im CBOW Modell, mit Kontextgröße C und OHE kodierten Kontextwörtern x1, x2, ..., xC

(27)

3. Vektorisieren - Extrahieren von maschinenlesbaren Merkmalen aus Text

?

w(t) Die

w(t-2)

Katze w(t-1)

die w(t+1) Matrix

W

jagt

Durchschnitt berechnen

Schätzen

Maus w(t+2) Input

Layer Output

Layer

Hidden Layer

h

Abbildung 3.5.: Continuous Bag-of-Words Model, mit der Fenstergröße 2 p(wt|wt−k, ...., wt+k) = eywt

P

ieyi (3.4)

3.4.:Softmax Funktion zur Berechnung der bedingten Wahrscheinlichkeit des Worteswt im Kontext von [wt−k, wt+k]

y=b+U h(wt−k, ..., wt+k;W) (3.5) 3.5.: Berechnung der nicht normalisierten logarithmischen Wahrscheinlichkeit yi für das Wort

wi

Die Schätzaufgabe wird durch einen Multiclass Classifier, Softmax 3.4 ausgeführt. Die Idee dahinter ist Folgende: Zuerst wird zu jedem Wortwi die nicht normalisierte logarithmische Wahrscheinlichkeit yi berechnet, vgl. 3.5.U undbsind Paramter derSoftmax Funktion. Anschließend wird die bedingte Wahrscheinlichkeit eines Wortes über die Softmax Funktion 3.4 berechnet (Le & Mikolov, 2014).

Die Verwendung derSoftmax Funktion imOutput Layer gibt Wahrscheinlichkeiten zurück, die sich insgesamt zu 1 summieren (Geron, 2017) Kapitel 4. Der Output Vektor hat zwar die selbe Länge wie das Vokabular, ist jedoch keinOne-Hot kodierter Vektor, sondern repräsentiert an i-ter Stelle die Wahrscheinlichkeit, des i-ten Worts im Vokabular.

Der Fehler dieser Schätzung wird durch Stochastic Gradient Descent, SGD zum Anpassen der Ge- wichte in der Matrix W verwendet. Die Matrix W ist eine N ×V Matrix, wobei N ein Parameter des Modells (die Größe derWord Embeddings) undV die Mächtigkeit des Vokabulars ist. Hier wird deutlich, dass die Dimensionalität derWord Embeddings unabhängig von der Vokabelanzahl gewählt werden kann. Die Schätzaufgabe des neuronalen Netzes dient nur dazu, die Gewichte in der Matrix W zu trainieren. Nach abgeschlossenem Training spielt das neuronale Netz keine Rolle mehr, die Word Embeddings sind als Spalten in der Matrix W enthalten. Diese Art von Modell nennt man auch Neural Network Language Models, siehe Le und Mikolov (2014). Das Rückführen des Schätz- fehlers durch ein SGD wurde bereits wesentlich früher von Rumelhart, Hinton und Williams (1986) verwendet.

Die trainierten Word Embeddings aus der Gewichtsmatrix W, sind für semantisch ähnliche Wörter komparabler, da diese häufig im selben Kontext auftreten. Dies führt dazu, dass die Gewichte ähn- liche Werte annehmen, da in das Training vergleichbare Wortpaare eingingen. Das Erstaunliche an

(28)

3.3. Semantische Verfahren - Distributed Representations

Word Embeddings ist, dass damit Analogien aufgestellt werden können. Um semantische Relationen von Wortvektoren zu messen, wurden mit der Vektor-Offset Methode, siehe Kapitel 4.2, bisherige Ergebnisse im SemEval 2012 Task 2 (Jurgens, Mohammad, Turney & Holyoak, 2012) übertroffen (Mikolov, Yih & Zweig, 2013). Dabei wird mit Analogien der Art »Kleidung« ist zu »Shirt« wie

»Geschirr« zu »Schüssel«, gemessen, wie sehr eine Relation zutrifft. Es lässt sich ebenso durch Ana- logien der Art: a ist zu b wie c zu X zeigen, dass diese Vektorrepräsentationen auch syntaktische Gesetzmäßigkeiten erfassen, wie am Beispiel der Gender-Relation in Abbildung 3.6 zu sehen.

KÖNIG MANN

KÖNIGIN FRAU

Abbildung 3.6.: Gender-Relation der Word Embeddings,~v(Mann,Frau) =~v(König,Königin)

3.3.2. Von der Semantik der Wörter zur Semantik von Dokumenten

Um Absätze oder ganze Dokumente zu vektorisieren, wird auf einem trainierten Wortvektormodell, wie soeben beschrieben wurde, aufgebaut. Da die Wortvektoren als indirekte Folge der Schätzauf- gabe die Semantik der Wörter erfassen, soll dies mit Absätzen auf ähnliche Weise geschehen. Jeder Paragraph erhält eine eindeutige ID, im Prototypen wird hierfür der Name des Studienbriefs verwen- det. Diese ID entspricht analog zu den Wortvektoren der Matrix W einer Spalte in einer zweiten Matrix D. Diese geht nun neben den Wortvektoren in dieselbe Schätzaufgabe wie zuvor ein. Man kann sich das Training der Paragraph-ID, wie das Training eines weiteren Wortes vorstellen. Der Spalte der Gewichtsmatrix D fungiert als eine Art Speicher, welcher Informationen über fehlende Wörter im Kontext enthält. Aus diesem Grund wird dieses Modell auch oftDistributed Memory Mo- del of PV, PV-DM genannt, vgl. Le und Mikolov (2014). Auch hier gibt es analog zum Training der Wortvektoren zwei mögliche Modelle. Im Folgenden wird dabei aber nur auf das PV-DM Mo- dell eingegangen, da es analog zum bereits erklärten CBOW Model der Wortvektoren aufgebaut ist und bessere Ergebnisse im Prototypen erreichte. Lediglich die Berechnung des Vektors h hat sich im Vergleich zum CBOW Modell geändert. In die Berechnung von h gehen nun Wund D in die Berechnung des Durchschnitts ein, vgl. Abbildung 3.7. Während Paragraph-ID für jedes Dokument einzigartig sind, werden die Wortvektoren über alle zu trainierenden Absätze hinweg geteilt (Le &

Mikolov, 2014).

Gegenüber BOW-Modellen haben PV den entscheidenden Vorteil, dass sie die Semantik der Word Embeddings vererbt bekommen. Außerdem berücksichtigen sie die Reihenfolge der Wörter, im Kon- text der beim Training verwendeten Fenstergröße. Zuletzt beschleunigt die vergleichsweise geringe Dimension der PV Berechnungen in Machine Learning Algorithmen. Die Dimensionalität der PV kann unabhängig vom Vokabular des Textkorpus gewählt werden. Um eine maximale Genauigkeit zu erhalten, sollten die Dimensionen der verwendeten PV jedoch an die Menge der Trainingsdaten angepasst werden. Eine Evaluation von Dimensionalität zur Menge der Trainingsdaten ist in Mikolov, Chen et al. (2013) 4.2 zu finden. Im Prototypen wurden bei PV mit über 100 Dimensionen keine signifikanten Verbesserung festgetellt, weshalb eine Vektorgröße von 100 verwendet wird. Nachdem aufbauend auf den Word Embeddings, PV trainiert wurden um ganze Dokumente zu repräsentie- ren, können die PV nun als Merkmale der Dokumente weiterverarbeitet werden um beispielsweise Relationen der Dokumente zu extrahieren, wie im folgenden Kapitel gezeigt wird. Alle Grafiken und Beispiele beziehen sich auf 100-dimensionalePV, welche durch ein Distributed Memory Modell, einer Fenstergröße von 20, in 20 Iterationen erlernt wurden.

(29)

3. Vektorisieren - Extrahieren von maschinenlesbaren Merkmalen aus Text

?

w(t)

W W W

Die w(t-2)

Katze w(t-1)

die w(t+1) jagt

Durchschnitt berechnen

Schätzen

W

Maus w(t+2) Input

Layer Output Layer

Hidden Layer

h

D

Paragraph Id

Abbildung 3.7.: In die Berechnung von h geht nebenW auch die entsprechende Spalte für die Paragraph-ID ausD ein.

3.4. Zusammenfassung

Vor dem Vektorisieren der Dokumente wurden diese normalisiert. Durch das Entfernen der Stopp- wörter, der Punktation und der Affixe durchStemming wird die Komplexität der Daten verringert.

Da diese Schritte destruktiv sind, gingen sie nicht in das Preprocessing des Korpus aus Kapitel 2.2 mit ein.

Die Untersuchung frequenzbasierter Verfahren zur Vektorisierung von Texten hat gezeigt, dass diese semantische Ähnlichkeiten nur bedingt abbilden können, weshalb nach alternativen Darstellungen gesucht wurde. Distributed Representations bilden semantische Ähnlichkeiten nach der Distributed Hypothesis ab. Diese besagt, dass die Bedeutung eines Wortes aus dessen Verwendung hervorgeht.

Dementsprechend beziehenDistributed Representationsden Kontext beim Erlernen der Wortvektoren mit ein.

Aufbauend auf Word Embeddings wurden anschließend Document Embeddings anhand von Para- graph Vectors beschrieben. Beide Repräsentationen entstehen aus der Gewichtsmatrix eines Neurona- len Netzes, welches zu einem gegebenen Kontext ein passendes Wort schätzt. Da semantisch ähnliche Wörter häufig im selben Kontext stehen, entwickeln sich die Gewichte während des Trainings eben- falls ähnlich. Dies führt dazu, dass aus semantisch ähnlichen Wörter ähnliche Vektorrepräsentationen resultieren. Dies gilt analog für semantisch ähnliche Dokumente.

(30)

4. Erkennung der Semantic Textual Similarity

Bevor die Dokumente miteinander verglichen werden, wird zuerst die semantische Ähnlichkeit von Texten allgemein untersucht. Im Gegensatz zu syntaktischer und lexikalischer Ähnlichkeit von Texten, ist semantische Ähnlichkeit wesentlich abstrakter. Es handelt sich hierbei eher um eine philosophi- sche Frage. Wie in Kapitel 4 erwähnt, geht bei Wittgenstein die Bedeutung eines Wortes aus seiner jeweiligen Verwendung hervor und somit die Ähnlichkeit von Wörtern aus der ähnlichen Verwendung dieser. Eine tiefere Sichtweise der Ähnlichkeit Wittgensteins, welche aus der Vorherigen entspringt, ist die derFamilienähnlichkeit. Dieser Ähnlichkeitsbegriff wird von Wittgenstein als »ein kompliziertes Netz von Ähnlichkeiten, die ineinander übergreifen und kreuzen« beschrieben (Wittgenstein, 1953, Kapitel 66). Als Beispiel kann Folgendes aufgeführt werden: Es gestaltet sich schwierig zu sagen, was das Wesen eines Spiels ausmacht. Poker ist nicht ähnlich zu Fußball, aber zu Black Jack. Man- che Spiele haben Regeln, andere Spiele, beispielsweise die kleiner Kinder, besitzen keine. Um eine Gemeinsamkeit aller Begriffe, die wir als Spiele kennen, zu finden, muss Ähnlichkeit als komplexes Netzwerk von Gemeinsamkeiten verschiedener Entitäten gedacht werden. Diese komplexe Form der Ähnlichkeit natürlicher Sprache bedeutet, dass zwei Dokumente nicht aufgrund gemeinsamer Merk- male als semantisch ähnlich angesehen werden können, sondern Ähnlichkeit aus dem Zusammenspiel vieler, direkter und indirekter Beziehungen der darin enthaltenen Wörter zu verstehen ist (Grefen- stette, 2009). Diesem Ähnlichkeitsbegriff wird durch das Training der Word Embeddings Rechnung getragen. Die Gewichtsmatrix, welche letztendlich die Word Embeddings enthält, ist Resultat der Verwendung der Wörter in allen Kontexten des gesamten Textkorpus und repräsentiert folglich dieses von Wittgenstein beschriebene »komplexe Netzwerk von Gemeinsamkeiten«.

Wie diese Art der Beschreibung von Wörtern und Dokumenten zurRelation Extraction, dem Finden von Relationen, genutzt werden kann ist Thema der nächsten Abschnitte.

4.1. Einblick in den Embedded Space

Die naheliegendste ArtPV darzustellen, ist die Abbildung dieser als Punkte im Raum. Die Relationen der Dokumente ergeben sich aus der Entfernung der Punkte zueinander. Da die über 100 Dimensionen derPV das menschliche Vorstellungsvermögen übersteigen, müssen die Dimensionen zur Darstellung mit möglichst wenig Informationsverlust auf drei oder zwei Dimensionen reduziert werden. Es gibt zwei Arten von Verfahren zum Reduzieren von Dimensionen. Zum Einen handelt es sich dabei um die Linearen Verfahren. Diese bilden Daten mit geringer Ähnlichkeit möglichst weit entfernt voneinander ab und stellen dadurch die globale Struktur der Daten dar. Um Relationen erkennen zu können, ist jedoch besonders die lokale Struktur der Daten interessant, welche dabei jedoch verloren geht.

Zum Anderen gibt es die Nicht-linearen Verfahren. Bei diesen wird die lokale Struktur der Daten generell besser abgebildet, was jedoch mit einem Verlust globaler Strukturen im niedrig dimensionalen Bereich einhergeht. Einen Kompromiss zwischen der Abbildung lokaler und globaler Strukturen bietet dasT-Stochastic-Neighborhood-Embedding, t-SNE. T-SNE ist ein beliebtesnicht-lineares Verfahren zur Visualisierung hochdimensionaler Daten, da es sowohl die lokale als auch die globale Struktur der Daten in wenigen Dimensionen abbilden kann (Hinton, 2008). T-SNE ist eine Optimierung des Stochastic Neighborhood Embedding, SNE, welches im Folgenden zum Verständnis nur skizziert wird, ohne dabei auf mathematische Details einzugehen. Aus deneuklidischen Distanzender Punkte xi und xj im hochdimensionalen Raum, werden bedingte Wahrscheinlichkeiten pij berechnet. Pij

beschreibt die Wahrscheinlichkeit eines Punktes xi in der Nachbarschaft von xj zu liegen. Analog

(31)

4. Erkennung der Semantic Textual Similarity

dazu werden Wahrscheinlichkeiten qij im zweidimensionalen Bereich berechnet. Um eine korrekte Abbildung des hochdimensionealen Raums in der Ebene zu erhalten, sollte pij = qij gelten. Um den Abstand zwischen pij und qij möglichst gering zu halten wird eine Kostenfunktion minimiert (Hinton, 2008). T-SNE optimiert dieses Verfahren hinsichtlich einer einfacheren Konfiguration der Hyperparameter und verwendet eine andere Kostenfunktion.

Abbildung 4.1.: Projektion der PV durch t-SNE nach 250, 500, 1000 und 5000 Iterationen Ein Hyperparameter des Modells ist die Anzahl derIterationen. Da der Algorithmus abhängig von den zugrunde liegenden Daten konvergiert, sollte die Anzahl der verwendetenIterationen durchScatter- plots validiert werden, siehe Abbildung 4.1. Ob der Fokus auf globalen oder lokalen Strukturen liegt, kann über einen weiteren Hyperparameter, Perplexity, beeinflusst werden, vgl. Abbildung 4.2. Die Perplexity eines Modells sollte im Bereich der Anzahl nächster Nachbarn eines Punktes liegen. Dies gestaltet sich je nach Verteilung der Daten schwierig, da es sich um einen globalen Parameter des Modells handelt, siehe Abbildung 4.3. Bei Betrachtung der beiden Kurse »Einführung in die Betriebs- wirtschaftslehre« und »Einführung in die Volkswirtschaftslehre«, ist eine relativ hohe Ähnlichkeit der Kurse zu erwarten. Dies widerspricht jedoch der großen Entfernung der entsprechenden Cluster im oberen Plot. Eine geringere Perplexity bildet die Ähnlichkeit der Kurse in diesem Fall besser ab. Die passende Perplexity ist jedoch abhängig von der Größe der Cluster. Sind die Cluster unterschiedlich groß, ist es möglich, dass keine passendePerplexity für alle Cluster gefunden werden kann. Dies be- deutet, dass von Entfernungen der Cluster im niedrig dimensionalen Bereich nicht zwangsläufig auf eine große Entfernung im hochdimensionalen Bereich geschlossen werden kann (Wattenberg, Viégas

& Johnson, 2016). Obwohl die Clustergrößen nur gering voneinander abweichen, lässt sich kein Wert finden, welcher alle Relationen der Kurse korrekt im niedrig dimensionalen Bereich abbildet. Dies kann gut durch Einfärben der Punkte nach Lehrgebiete deutlich gemacht werden, vgl. Abbildung 4.3. Hier werden die globalen Zusammenhänge der Dokumente erst bei höherer Perplexity gut sichtbar. Dies geht jedoch, wie oben gezeigt, mit Verlusten der Genauigkeit in lokalen Bereichen einher. Um ein Gefühl für die Daten zu bekommen, sollten einige Kombinationen der Hyperparameter visualisiert

(32)

4.1. Einblick in denEmbedded Space

Abbildung 4.2.: Scatterplott derPV durch t-SNE in 2D mit perplexity 30 und 1000 iterationen nach Kursen eingefärbt

Abbildung 4.3.: Eine höherePerplexity (rechte Abbildung) bildetglobale Strukturen besser ab, wie an der Einfärbung der Studienbriefe nach Lehrgebieten zu erkennen ist.

Referenzen

ÄHNLICHE DOKUMENTE

● Tochter: der Knoten, der von einem anderen unmittelbar dominiert wird (= der eine Konstitutente eines anderen ist). ● Schwestern: zwei Knoten, die dieselbe

Definitionsbereich einer Funktion ist die Menge aller x-Werte, für die die Funktion definiert

Dies wird in der Literatur nicht ganz ein- heitlich genannt, manchmal ist damit auch bijektiv

Für jeden Tupel von ArtikelBew wird geprüft, ob - der Wert von Bestand gleich Null ist oder ob - der Wert von Menge kleiner Null ist. Ist eine Bedingung erfüllt oder sind

 Umsetzung durch Einführung einer neuen Klasse mit entsprechenden Attributen, um auf die. anderen an der Relation beteiligten Instanzen zu

Formal werden solche als lineare Unter- räume von dem Produkt zweier Vektorräume deniert - anders formuliert, sind das mehrwertige partiell denierte lineare Abbildungen.. In

Fremdschlüssel können Nullwerte aufweisen, wenn sie nicht Teil eines Primärschlüssels sind.. Schlüsselkandidaten können Nullwerte aufweisen, wenn nicht explizit NOT NULL

Ein Fremdschlüssel bezüglich einer Relation R1 ist ein (ggf. zusammengesetztes) Attribut FS einer Relation R2, für das zu jedem Zeitpunkt gilt: zu jedem Wert (ungleich NULL) von FS