Junge Sprachwissenschaft e. V.

W3.CSS

Abgesagt.

Der Workshop kann leider in diesem Semester nicht stattfinden.

Relationale Datenstrukturen für die Linguistik

Florian Matter (University of Oregon)

Abgesagt

Workshopsprache: Deutsch

Wie strukturiere ich meine Daten, damit…

Dieser Workshop behandelt diese und ähnliche Fragen, welche alle die gleiche Antwort haben: Wie eine relationale Datenbank. Relationale Datenbanken haben für jede Art von Einheit eine eigene Tabelle. Beispiele für linguistische Einheiten: Sprache, Sprecher, Morphem, Wortform, Phonem, Flexionskategorie, Wortart… Jede “Zeile” in einer Tabelle repräsentiert eine Einheit, jede “Spalte” repräsentiert eine Eigenschaft. Jede Zeile hat eine eindeutige ID, damit von anderen Tabellen aus auf die entsprechende Einheit verwiesen werden kann.

Hier ein einfaches Beispiel mit drei Tabellen: Eine Tabelle enthält Lexeme, eine Wortarten und eine Sprachen. Lexeme haben eine ID, einen Verweis auf die Sprache, einen Namen, einen Verweis auf die Wortart, sowie eine Bedeutung:

ID Language_ID Name Part_Of_Speech Meaning
achi-wilderness yab achi n wilderness
aijkorono-recovered yab aijkorono n recovered
ajpachi-undergrowth yab ajpachi n undergrowth
ajyu-tucuma-palm yab ajyu n tucuma (palm)
ako-pylon yab ako n pylon
aki-worm yab akï n worm; maggot
amaka-sweet-yucca yab amaka n sweet yucca
amu-ripeness yab amu n ripeness

Das Feld/die Spalte Part_Of_Speech verweist also auf eine andere Tabelle, welche weitere Informationen zu POS enthält. Dies sind: ID, Sprachverweis, Name, Beschreibung:

ID Language_ID Name Description
n yab noun Everybody knows what nouns are.
vt yab transitive verb  
vi yab intransitive verb  
adv yab adverb  
pn yab pronoun  
postp yab postposition  
intj yab interjection  
dem yab demonstrative  
part yab particle  
ideo yab ideophone  
advl yab adverbial  
 

Die ersten beiden Tabellen haben eine Language_ID, welche auf die dritte Tabelle verweist. Nebst ID und Name haben Sprachen auch Koordinaten, zwei Spalten mit Booleans (wahr/falsch), sowie einen Verweis auf dieselbe Tabelle. Zum Beispiel wird also das östliche Bakairí als Dialekt des Bakairí identifiziert.

ID Name Latitude Longitude Alive Proto_Language Dialect_Of
wbak Western Bakairi -14.163292 -55.463912 true false bak
ebak Eastern Bakairi -14.301823 -54.625822 true false bak
bak Bakairi     true false  
yab Yawarana 5.32692 -66.276 true false  
ing Ingarikó 6.16277 -60.862 true false kap
aka Akawaio 6.16 -60.86 true false kap
pat Patamona 4.76 -59.58 true false kap
tab Tabajari 9.084793 -64.317835 true false kar
gkar Guianese Carib 7.059752 -60.239822 true false kar
aty Aretyry 5.341971 -56.353558 true false kar
tyr Tyrewuju 5.707015 -54.014828 true false kar
siku Sikiana 3.01 -57.92 true false kax
yuk Yukpa 9.67534 -73.0557 true false  
jap Japreria 10.5523 -72.7101 true false  
PXin Proto-Xinguan     false true  
map Mapoyo 5.96952 -67.2581 true false  

Daten so zu strukturieren (und nicht auf eine der 1001+ idiosynkratischen Arten, die sich Linguisten ausgedacht haben) ist effizient, konsistent, menschen- und maschinenlesbar. Es lohnt sich also auch für Linguisten ohne Programmierkenntnisse – wenn ihr dann irgendwann eine Computerperson eures Vertrauens an die Daten lässt, kann diese sicher etwas damit anfangen.

Für Linguisten mit Programmierkenntnissen empfehle ich das erfolgreiche CLDF/CLLD-Framework, welches auf diesen Prinzipien basiert. Mit verhältnismässig wenig Aufwand lassen sich damit interaktive Webapps (Beispiel) bauen. Mit R oder pandas ist es auch möglich, Tabellen in Dataframes zu laden und dann beliebige Modifikationen oder Auswertungen laufen zu lassen.

Nebst den theoretischen Grundlagen sind die Inhalte des Workshops relativ offen – Teilnehmende sind eingeladen, eigene Daten und Fragen mitzubringen. Einige mögliche Aktivitäten, je nach Bedarf und Vorkenntnissen:

Zurück zur Workshopübersicht