Gepostet vonJan

Vortrag am 25.11.2019: „Erstellen und Erschließen von Korpusdaten mittels CorpusExplorer“ im Rahmen des „Digillu-Workshop: Zusammenstellung und Erschließung von Korpusdaten“ an der BBAW

Methoden zur Zusammenstellung und Erschließung von Texten werden nicht nur in der Linguistik, sondern allgemein in den Geisteswissenschaften und jenseits von fachlichen Grenzen vielseitig eingesetzt, nicht zuletzt seit dem empirical turn. Ohne maschinell gestützte Herangehensweisen sind manche Textsammlungen nicht mehr produktiv für die Forschung zu greifen, zu überprüfen oder zu durchleuchten. Es wird nicht mehr nur gelesen, es wird immer häufiger auch eingelesen, wobei diese Entwicklung und die damit einhergehenden Denkverfahren, Arbeitsschritte und Standards hinterfragt und eingeordnet werden sollten.

Der am 25.11. an der BBAW stattfindende Workshop bietet eine interdisziplinäre, mehrsprachige Bühne für einen wissenschaftlich fundierten Austausch. Im Blickpunkt stehen verschiedene Prozesse des Lesens, zum Beispiel die Erfassung von Keilschrift und Frakturschrift, bis hin zum tatsächlichen Einlesen mithilfe korpus- und computerlinguistischer Werkzeuge. Das breite fachliche Spektrum (u.a. Amerikanistik, Linguistik, Philosophie) und der Fokus auf junge, international aktive Forscher*innen werden dem Workshop ein besonderes Momentum verleihen.

Infos

Diese Veranstaltung wird von verschiedenen Projektpartnern ermöglicht, u.a. dem deutsch-französischen Forschungsverband CIERA. Tagungssprachen sind Deutsch, Englisch und Französisch.

25. November 2019 – 9.30 bis 17.30 Uhr
Raum 228
Berlin-Brandenburgische Akademie der Wissenschaften (BBAW)
Jägerstraße 22/23, 10117 Berlin

Es sind noch wenige Plätze verfügbar, um Anmeldung wird gebeten: ed.wabbnull@iserabrab

Verantwortlich für die Organisation sind Adrien Barbaresi (BBAW) und Maud Ehrmann (DHLAB – Eidgenössische Technische Hochschule Lausanne, EPFL).

Programm

Empfang ab 9.30 Uhr

  • 9.45-10.45 Uhr: Antoine Doucet (Univ. La Rochelle): Keynote
  • 10.45-11.15 Uhr: Marine Béranger (Collège de France): Assessing Literacy in Mesopotamia Using Digital Technologies: A Case Study Based On The Royal Secretary

Kaffeepause

  • 11.30-12 Uhr: Naomi Truan (Univ. Leipzig): Gesprochene Sprache und Transkription: die XML-TEI Annotation von Parlamentsdebatten
  • 12-12.30 Uhr: Susanne Haaf (BBAW): Auswertung von TEI-Korpora für die Ermittlung von Differenzierungskriterien historischer Textsorten

Lunch

  • 14-14.30 Uhr: Jan Oliver Rüdiger (Univ. Siegen): Erstellen und Erschließen von Korpusdaten mittels CorpusExplorer
  • 14.30-15 Uhr: Melanie Andresen (Univ. Hamburg): Data-Driven Corpus Exploration with Syntactic Annotations
  • 15-15.30 Uhr: Anatole Lucet (ENS Lyon – HFG Karlsruhe): Que peut le numérique en histoire de la philosophie ? L’exemple des œuvres de Gustav Landauer

Kaffeepause

  • 15.45-16.15 Uhr: Raphaël Barman (DHLAB, EPFL): Newspaper semantic segmentation using visual and textual features
  • 16.15-16.45 Uhr: Jana Keck (Univ. Stuttgart): Digging into America’s 19th-Century German-Language Newspapers with Text Reuse and Word Vector Models
  • 16.45-17.15 Uhr: Gaël Lejeune (STIH, Sorbonne Université): Preserving Linguistic Observables in an NLP pipeline : Virtues and Flaws of the reductionist approach

17.15 Uhr: Bilanz


Informationen auf Französisch über die Reihe von Veranstaltungen: https://digillu.hypotheses.org

Mehr

Vortrag am 19.11.2019: „Was heißt und zu welchem Ende studiert man Korpuslinguistik?“ im Rahmen der „Ringvorlesung: Sprache und Kommunikation“ an der Universität Siegen

In dieser Ringvorlesung haben Sie die Möglichkeit, zahlreiche DozentInnen aus der Anglistik, der Germanistik und der Romanistik kennenzulernen. Sie werden Ihnen zentrale Bereiche aus der Linguistik und der Sprachlehr-/lernforschung vorstellen.
Eine Liste der DozentInnen und Themen sehen Sie unten..
Das Material zur Ringvorlesung finden Sie auf der Lernplattform Moodle (http://moodle.uni-siegen.de) – für den Zugriff ist ein ZIMT-Benutzerkonto (studentische E-Mail Adresse) erforderlich (für die Veranstaltung benötigen Sie kein gesondertes Passwort).

Bitte beachten Sie für die abzugegebenden Aufgaben die technisch terminierten Einreichungsfristen in moodle.
Die Dokumente, die Sie hochladen, sollten – sofern von den Dozierenden nicht anders verlangt – entweder im pdf-Format (bei Libre/Open Office können Sie diese z.B. aus dem Dokument erstellen) oder als doc-Datei (altes Word-Format) vorliegen und müssen folgende Benennung aufweisen: „Dozentennachname – Matrikelnummer“. Zudem müssen Sie in den Dokumenten selbst Ihren Namen und Ihre Matrikelnummer angeben.

Um erfolgreich an der Ringvorlesung teilzunehmen, müssen insgesamt drei schriftliche Arbeiten nach je einem Drittel der Veranstaltung zu einem der Sitzungstermine im vorangegangenen Veranstaltungsdrittel elektronisch via moodle abgegeben werden. Jede/r DozentIn, wird dazu eine Aufgabe formulieren.
Die Abgabefrist für die Aufgaben endet je eine Woche nach dem Veranstaltungsdrittel und eine spätere Abgabe ist nicht möglich. Ggf. verlangen einzelne Dozierende eine nicht-elektronische Abgabe. Darauf wird aber dann von diesen explizit zu dem Veranstaltungstermin hingewiesen. An der Abgabefrist ändert sich dann nichts, aber zur Abgabe müssen Sie dann die Postfächer der jeweiligen Dozierenden nutzen. Bei allen anderen Dozierenden ist ausschließlich die elektronische Einreichung via moodle möglich.
Für die elektronische Noteneintragung müssen Sie sich zu gegebener Zeit (siehe Erinnerungsmail seitens der Fakultät) in unisono für die Studienleistung anmelden.
Es müssen min. 2 von 3 Aufgaben bestanden sein. Wenn 2 Aufgaben nicht bestanden wurden (das steht bis zum Ende des Semesters fest), besteht die Möglichkeit, eine der beiden Aufgaben einmalig zu überarbeiten. Diese Überarbeitung muss bzgl. Inhalt, Abgabetermin und Abgabeform mit der/dem jeweiligen Dozentin/Dozenten abgesprochen werden. Sollte die Aufgabe auch nach dieser Überarbeitung nicht bestanden sein (oder von Beginn an alle 3 Aufgaben nicht bestanden sein), ist die Veranstaltung insgesamt nicht bestanden und muss in einem späteren Wintersemester wiederholt werden. (Die freiwillige Abgabe von mehr als 3 Aufgaben hat keinen positiven Einfluss auf die Benotung; es wird je nur die erste Aufgabe des jeweiligen Veranstaltungsdrittels gewertet; zudem ist keine Überarbeitung von mehr als einer Aufgabe möglich.)
Plagiierte Arbeiten (z.B. von KommilitonInnen abgeschriebene Aufgabenbearbeitungen) führen bei allen (!) daran Beteiligten zu einem Nichtbestehen („n.b.“). Die Ringvorlesung gilt damit als nicht bestanden und kann frühestens in einem späteren Wintersemester wiederholt werden.
Eine Liste (ohne Namen, Matrikelnummer-sortiert) mit den bereits bewerteten Aufgaben wird regelmäßig aktualisiert (sobald Noten mehrerer DozentInnen vorliegen) in moodle hochgeladen.
Selbstverständlich können Sie, wenn Sie Fragen zum Thema und/oder zur Benotung haben, die jeweiligen DozentInnen in der Sprechstunde aufsuchen (bitte beachten Sie dafür ggf. im Vorfeld zu vereinbarende Gesprächstermine je nach DozentIn).

Falls Sie noch Fragen haben: In der ersten Sitzung werden Ihnen die Modalitäten der Veranstaltung genau erläutert.

Terminübersicht (Datum__DozentIn__Thema):

  • 08.10.19__Gerwinski__Organisation der Veranstaltung & Infos zum Studiengang SK
  • 15.10.19__Baumann__Grammatische Zweifelsfälle
  • 22.10.19__Klein__Sprachliche und andere Zeichen
  • 29.10.19__Koch__Europäische Sprachenpolitik
  • 05.11.19__Wolter__Sprachen lehren und lernen
  • 12.11.19 entfällt
  • 19.11.19__Rüdiger__Korpuslinguistik
  • 26.11.19__Gerwinski__Konversationsanalyse
  • 03.12.19__Habscheid__Textlinguistik
  • 10.12.19__Thörle__Mehrsprachigkeit
  • 17.12.19__Jautz__Mentales Lexikon
  • 07.01.20__Albers__Sprache und Gender
  • 14.01.20__Vogel, F.__Strategische Kommunikation
  • 21.01.20__Kunter__Sprache und Information

[LINK]

Mehr

Vortrag: „Maschinelle Sprachverarbeitung in der Diskursanalyse – Ein Überblick“ im Rahmen der „Ringvorlesung: Kommunikative Strategien des Politischen – Einblicke in die computergestützte Diskursforschung“ (Universität Siegen)

Vortrag: „Maschinelle Sprachverarbeitung in der Diskursanalyse – Ein Überblick“ im Rahmen der „Ringvorlesung: Kommunikative Strategien des Politischen – Einblicke in die computergestützte Diskursforschung“ (Universität Siegen)

Zeit & Ort: WS 2019/20 (immer Mi, 16-18 Uhr) im Hörsaal AR-B 2104/05 an der Universität Siegen

Die Ringvorlesung verknüpft zwei hochaktuelle wie auch brisante Themen unserer Gesellschaft, nämlich erstens Algorithmen und Methoden der maschinellen Sprachverarbeitung, zweitens strategische Kommunikation in öffentlichen Diskursen.

Die Entwicklung neuer Forschungsmethoden in der Korpus- und Computerlinguistik, Sprachinformatik oder auch in neueren Varianten der Medienwissenschaft erlauben uns heute die induktive Auswertung großer Datenmengen (mehrere Tausend bis Millionen von Texten), etwa zur Beschreibung von Sprachgebrauchsmustern, massenmedialen Images oder sozialen Netzwerken. Die Ergebnisse dieser algorithmisierten Forschung finden ihrerseits Anwendung in verschiedenen Bereichen, etwa in der Mensch-Computer-Interaktion (z.B. mit Einsatz von Sprachassistenten in immer mehr Haushalten und Gerätekategorien), in der automatisierten Erkennung von „Spam“/“Junk“-Nachrichten oder „Hatespeech“, in digitalen Nachschlagewerken oder Expertensystemen zur Optimierung von Gesetzesentwürfen in der Legislative. Nicht nur für angehende Geistes-, Sozial- und KulturwissenschaftlerInnen innerhalb der Universität, auch in der Alltagspraxis von Unternehmen und Verwaltung wird es zukünftig immer wichtiger, Kompetenzen zum Umgang mit algorithmisierter Sprachverarbeitung aufzubauen. Dies erfordert ein grundlegendes Verständnis der Funktionsweise und der Grenzen ihres Einsatzes, um die Methoden kritisch zu hinterfragen und aktiv zur Weiterentwicklung maschineller Sprachverarbeitung beizutragen.

Besonders deutlich wird dies in der computergestützten Kommunikation öffentlicher Diskurse: Ist es wirklich möglich, Wahlen mit „Chatbots“ zu beeinflussen? Wie funktioniert User-Tracking, staatliche Überwachung oder die automatisierte Auswahl von Job-BewerberInnen mithilfe algorithmisierter Sprachanalyse und welche Risiken ergeben sich daraus für den demokratischen Alltag des Einzelnen? Oder umgekehrt: Wie lassen sich computergestützte Analysemethoden fruchtbar machen, um die Verfasstheit von Diskursen – die Denk- und Machtmuster – in digitalisierten Gesellschaften zu untersuchen und Formen strategischer Kommunikation (von verdeckter Werbung, über Fake-News und Lobbyismus bis hin zu Propaganda) sichtbar(er) zu machen?

Studienleistung: Eine Studienleistung kann durch Bestehen eines kurzen (halbstündigen) Tests am Ende der Veranstaltung erworben werden.
Prüfungsleistung: Eine Prüfungsleistung kann erwerben, wer als Teil einer Studiengruppe eine kleine empirische Analyse im Rahmen des Veranstaltungsthemas erarbeitet, am Ende der Ringvorlesung mündlich vorstellt und im Anschluss in einem wissenschaftlichen Essay (im Umfang von etwa 8 Seiten) ausarbeitet.

[LINK]

Mehr

CorpusExplorer (Update Q3 2019)

Das Q3 2019 Update des CorpusExplorers bringt folgende Neuerungen und Verbesserungen:

Neue Funktionen:

  • Neue Formate:
    • FoLiA XML
    • RSS Feeds
    • Speedy (Import/Export) – Danke an/Thanks to: Iian Neill & Andreas Kuczera
    • YouTube JSON
    • Wiktionary
    • Redewiedergabe – http://www.redewiedergabe.de/korpus.html
  • QuickMode – Ursprünglich war der QuickMode nur für Entwickler*innen gedacht. Deren Programme konnte so Daten mit dem CorpusExplorer aufbereiten (annotieren/konvertieren). Der QuickMode ist jetzt auch für normale Nutzer verfügbar. Drücken Sie gleichzeitig die Tasten WINDOWS + R. Ausführen erscheint. Geben Sie dort folgendes ein: CorpusExplorer.exe –help und bestätigen Sie mit „Ok“.
    Eine Anleitung erscheint. Folgende Modi sind aktuell verfügbar:

    • –help – Zeigt die Hilfe an.
    • –anno – Annotiert Rohtext und zeigt einen Dialog zum Speichern der fertigen Daten an.
    • –conv – Konvertiert Korpora in unterschiedliche Formate.
    • –sreset – Soft Reset / Falls der CorpusExplorer nicht startet, probieren Sie diese Option aus.
    • –hreset – Sollte der „Soft Reset“ (s. o.) keine Wirkung zeigen, können Sie damit eine Neuinstallation des CorpusExplorers auslösen.

Verbesserungen:

  • Der CorpusExplorer lädt jetzt eine Visualisierung on-demand. D. h. wenn Sie eine Analysemodul erstmalig (nach Programmstart) aufrufen, wird es erst dann geladen. Zuvor wurden alle Analysemodule direkt bei Programmstart geladen. Dies reduziert (A) den RAM-Verbrauch von ca. 450 MB auf 220 MB und (B) die Startzeit des CorpusExplorers sinkt merklich.
  • Die CorpusExplorer Console schreibt Analysedaten jetzt direkt in den Ausgabestream. Dies führt zu einem höheren Durchsatz – gerade bei sehr großen Daten.
  • Verbesserte Darstellung auf HighDPI Displays. Wer meine Arbeit verfolgt weiß: ich schlage mich schon lange mit HighDPI rum. Jetzt ist die Lösung endlich soweit, dass sie gut funktioniert. Gelegentlich gibt es noch kleinere Unterschiede. Aber bis zu einer Skalierung von 150% kann ich eine gute Darstellung garantieren.
  • Verbesserte Suche nach Belegstellen. Wurden die Belegstellen z. B. zur Frequenzanalyse ausgeklappt, wurden bisher alle Belege des jeweiligen Token angezeigt. Jetzt werden nur noch die Belege angezeigt, die mit allen Einträgen POS/Lemma/Wort übereinstimmen.
  • Die COSMAS II wurde verbessert. RTF-Exporte lassen sich jetzt direkt einlesen.
  • APAEK PDF wurde verbessert.
  • Verbesserte Python Schnittstelle (Python > CorpusExplorer > Python).
  • Das Teilprojekt „Furious-Index“ ist weitgehend abgeschlossen. Dadurch beschleunigt sich der Zugriff auf CEC6-Dateien im STREAM-Modus um Faktor 10.
  • Der Server für die Telemetrie wurde umgezogen. Entsprechend werden die Telemetriedaten ab jetzt an den neuen Server geschickt.
  • Es werden neue Telemetrie-Daten erhoben. Hierzu zählt, welche Dateiformate für die Annotation und den Import verwendet werden. Ebenso wie viele Dateien geladen werden und wie lange die initiale Verarbeitung benötigt. Dadurch kann in einigen Wochen/Monaten die Performance für Annotation/Import weiter verbessert werden.
  • Weitere kleinere Verbesserungen und Performance-Optimierungen.
Mehr

Neues Add-on: DTA::CAB

Neues Add-on: DTA::CAB

DTA::CAB ist ein orthographischer Normalisierer für historische Sprachstufen des Deutschen (entwickelt von Bryan Jurish, Zentrum für digitale Lexikographie, Berlin-Brandenburgische Akademie der Wissenschaften). Mit diesem Add-on können Sie frühneuhochdeutsche und mittelhochdeutsche Texte automatisch normalisieren und annotieren. Nach der Installation wählen Sie dazu den Tagger „DTA::CAB + TreeTagger“ aus. Eine bestehende Internetverbindung während der Normalisierung/Annotation ist erforderlich, da die Daten an das „Zentrum für digitale Lexikographie, Berlin-Brandenburgische Akademie der Wissenschaften“ geschickt werden (es erfolgt keine Speicherung – die Texte werden direkt verarbeitet). Nach der Annotation stehen Ihnen vier Layer bereit (Wort = die normalisierte Wortform / Lemma = das Lemma der normalisierten Wortform / POS = Part-of-Speech bzw. Wortart / Original = der originale Rohtext). Wenn Sie dieses Add-on im Rahmen einer
wissenschaftlichen Arbeit nutzen, dann zitieren Sie bitte folgende Arbeit:

Jurish, B. Finite-state Canonicalization Techniques for Historical German.
PhD thesis, Universität Potsdam, 2012 (defended 2011). URN
urn:nbn:de:kobv:517-opus-55789

Weitere DTA::CAB relevante Arbeiten finden Sie unter:
http://odo.dwds.de/~jurish/software/dta-cab/#pubs

Das Add-on können Sie entweder direkt aus dem CorpusExplorer heraus installieren, oder über die Add-on-Seite herunterladen.

 

Mehr

CorpusExplorer (Update Q2 2019)

Das Mai Update des CorpusExplorers bringt einige Verbesserungen und Korrekturen.

Neu:

  • In Kooperation mit Bryan Jurish wird es ein Add-on für DTA::CAB geben. Dazu am Wochenende mehr.

Verbesserungen:

  • Die Performance des TreeTagger-Moduls wurde verbessert.
  • Das KWIT-Analysemodul erstellt nun keine 0-Kanten mehr.
  • Erste Verbesserungen des Ecosystems (System das im Hintergrund alle Teilkomponenten überwacht und ggf. nachinstalliert.). Weitere Verbesserungen, insbesondere was die Performance anbelangt, werden folgen.
  • Verbesserungen und Erweiterungen der Dateiformate.
Mehr

CorpusExplorer (Update Q1 2019 + März SP1)

Heute wurde ein kleines Zusatzupdate (SP) für den CorpusExplorer veröffentlicht. Folgendes wird dadurch verbessert:

  • Unterstützung für CoraXML 0.8 und CoraXML 1.0 – Damit können Dateien von https://www.linguistics.rub.de/comphist/resources/cora/index.html geöffnet werden. Zuvor war das Format nur über die Erweiterung Salt&Pepper verfügbar (hierbei wurde das Format zunächst nach Salt-XML, CoNLL und abschließend nach CEC6 konvertiert) – der jetzige Import-Prozess ist direkt CoraXML > CEC6.
  • Pandoc – hier wurde die Unterstützung für UTF-8 verbessert. Die Installationspakete wurden aktualisiert und die Installationsgröße konnte um 20 MB reduziert werden.
  • SDK: Layernamen müssen jetzt nicht mehr bereits bei der Instantiierung bekannt sein, sondern werden nachträglich (bei Gebrauch) automatisch erzeugt.
  • Der NexisLexis Import wurde verbessert – die Erkennung von Einsprungspunkten für den Formatparser ist jetzt flexibler.
Mehr

CorpusExplorer (Update Q1 2019)

CorpusExplorer (Update Q1 2019)

Es ist soweit – ein großes Update wartet auf alle Nutzer*innen des CorpusExplorers.

Hier eine Zusammenfassung der Neuerungen/Verbesserungen:

  • Eine persönliche Angelegenheit zuerst: Seit mehreren Versionen unterstützen mich viele Nutzer*innen bei der Entwicklung, indem Sie der Übermittlung anonymisierter Telemetrie-Daten zustimmen. Euch allen vielen Dank. Meine Erfahrungen die ich dadurch sammeln konnte, sind unersetzlich. Mich störte aber (A) das diese Daten an Dritte (Microsoft Azure) gehen – und – (B) das eigentlich mehr Daten gesammelt werden, als nötig (ich hatte das schon so restriktiv eingestellt wie möglich, aber Azure Application Insights ist sehr sammelfreudig). Als Verfechter von Datensparsamkeit habe ich jetzt eine eigenen Lösung gebaut – der Quellcode für den Server (der die Daten sammelt) findet ihr auf GitHub (https://github.com/notesjor/OpenSourceTelemetrie). Der CorpusExplorer nutzt jetzt also eine eigenen, OpenSource Infrastruktur, die außerdem sehr datensparsam ist. Es werden z. B. keine IP-Adresse mehr protokolliert.
  • Die neue Startseite / die neue Korpus Übersicht
    Für etwas mehr Komfort sorgen die neue Startseite und die neue „Korpus Übersicht“.
    Auf der Startseite gibt es jetzt die Sektion „Aktuelles und Neuigkeiten“ (vielleicht etwas doppelt gemoppelt). In diesem Bereich werden aktuell Meldungen zum CorpusExplorer angezeigt (ein per RSS synchronisierter Newsfeed). Dies Betrifft sowohl Programm-Updates als auch z. B. Workshops (Wer eigenen Workshops bewerben will, kann sich gerne melden – Kontakt). Darunter ist die Sektion „Verfügbar Add-ons“ zu finden. Hier werden alle offiziellen Add-ons des CorpusExplorers aufgelistet, die sich mit einem Klick installieren lassen (auch hier: wer eigene Entwicklung plant oder einstellen möchte – gerne melden).
    Auf der „Korpus Übersicht“ findet sich eine Sektion „Frei verfügbare Korpora“ – Auch diese lassen sich mit einem Klick installieren/abonnieren.
  • Neue Dateiformate:
    • Unterstützung für TEI-XML P5 des CAL²-Projekts
    • Unterstützung für OffeneGesetze.de
    • Export für das SQLite basierte Format von coquery.org (aktuell BETA) – setzt eine Installation des SQLite-Addons voraus.
  • Verbesserungen:
    • Cut-Off-Phrasen sind jetzt strenger (auf Begriff (A) muss Begriff (B) folgen). Die Spanne zwischen den Begriffe A+B wird jetzt ausgegeben und erlaubt ein nachträgliches Filtern.
  • Korrekturen:
    • Verbesserung des CEC6-Stream
    • Die RegEx-Suche in Tabellen wurde verbessert (Spalten wurden nicht korrekt angezeigt, Fehlermeldungen [Easteregg] wurde entfernt).
    • Schnappschuss Refresh wurde verbessert.
Mehr

Workshop 19.03./20.02.2019 – „Information Extraction aus frühneuhochdeutschen Texten“

Die automatisierte Erschließung historischer Texte, deren Sprache und Orthografie noch keiner Standardisierung unterliegt, ist schwierig. Am Zentrum für Informationsmodellierung laufen zur Zeit drei Projekte, die sprachlich im Frühneuhochdeutschen angesiedelt sind: die Erforschung frühneuzeitlicher Diplomatenkorrespondenz (fwf, P 30091), die Edition von Reichstagsakten von 1576 (fwf, I 3446) und die Erschließung und Auswertung spätmittelalterlicher Kochrezepte (fwf, I 3614). Um eine computergestützte Aufbereitung sprachlicher Inhalte bei der Texterschließung einsetzen zu können, richten die drei Projekte in Kooperation mit dem HRSM Projekt KONDE – Kompetenznetzwerk Digitale Edition einen Workshop aus, in dem NLP-Methoden und Werkzeuge zum Information Extraction auf frühneuhochdeutsche Texte angewandt werden sollen. Der Workshop umfasst folgende Einheiten:

 

Montag Nachmittag, 18.03.2019:

  • Einführung in die Varianz des Frühneuhochdeutschen (Erika Windberger-Heidenkummer, Universität Graz)

Dienstag, 19.03.2019:

Mittwoch Vormittag, 20.03.2019:

Der Workshop wird auf das Textmaterial der Projekte fokussieren, Interessierte sind aber prinzipiell willkommen! Die Teilnahme ist für zentrumsexterne Personen allerdings kostenpflichtig (€200.-/Person); Anmeldungen bitte bei ta.zarg-inunull@gulk.tumleh

Mehr

CorpusExplorer (XMAS Update Dez/Jan 2018/19)

Erstmal wünsche ich allen Nutzer*innen des CorpusExplorers frohe Feiertage und einen guten Rutsch ins Jahr 2019. Die letzten Tage des Jahres nutze ich, um ein paar Dinge im CorpusExplorer zu verbessert. Folgendes hat sich getan:

  • Übersichtsanzeige wurde verbessert. Bisher wurden die Token (z. B. auf den Übersichtsseiten zu Korpora und Schnappschüssen) immer in Mio. angegeben. Dies führte in letzter Zeit zu einigen Irritationen und Nachfragen wie: „Bei mir zeigt der CorpusExplorer nur 0,00 Token an“. Kleine Korpora erweckten also den Anschein leer zu sein. Die Anzeige der Token und Dokumente skaliert jetzt automatisch in Tausenderschritten – Tsd., Mio. Mrd.
  • OpenThesaurus steht jetzt als Zusatz-Tagger bereit. Damit kann eine Synonym-Suche realisiert werden.
  • AltoXML wurde verbessert (weniger Fehler – schnellere Verarbeitung).
  • Neue Datenformate für Blogger und Tumblr.
  • Geringfügige Verbesserungen an der GUI.
Mehr

CorpusExplorer (Update Nov/Dez 2018) – Reguläre Ausdrücke und CutOff-Phrasen

CorpusExplorer (Update Nov/Dez 2018) – Reguläre Ausdrücke und CutOff-Phrasen

Auf einem Workshop in Würzburg (2018-11-09) baten mich mehrere Teilnehmer*innen, dass ich Reguläre Ausdrücke (Regular Expression – kurz RegEx) im CorpusExplorer ermöglichen soll. Bisher habe ich RegEx vermieden – oder zumindest in der Oberfläche gut versteckt. Auch weiterhin halte ich diese hässlichen RegEx-Dinger, die mehr an Marsianisch oder Klingonisch erinnern, als an eine Abfragesprache, für überflüssig und hinderlich, wenn es um die Gestaltung einer grafischen Benutzerschnittstelle geht (als Programmierer weiß ich natürlich den Vorteil von RegEx zu schätzen – hier sei nur auf meinen Favoriten „<[^>]*>“ verwiesen, der sämtliche XML-Tags aus einer Datei entfernen kann).

Es gibt aber zwei Argumente die ich für überzeugend halte:

  1. Es gibt viel existierendes Wissen zu Regulären Ausdrücken – meist in Form mühsam zusammengeklöppelter Abfragen auf Schmierzetteln (ist bei mir nicht anders). Dieses Wissen will man natürlich weiterhin nutzen.
  2. Bei einigen Abfragen, z. B. bei der Suche nach verschiedenen Wortformen können RegEx der/dem Eingeweihten helfen, schneller ans Ziel zu kommen.

Daher führt dieses Update folgende neue Funktionen ein:

  • RegEx für die Erstellung von Schnappschüssen. Mit und ohne Satzgrenzenerkennung.
  • RegEx für alle Tabellen-Analysen, zum schnellen Suchen von Werten.

Zusätzlich gibt es folgende neue Funktionen / Verbesserungen:

  • Neue Analyse unter „Phrasen & Muster“ > „CutOff-Phrasen“.
    Hierbei lässt sich nach Phrasen suchen, die zwischen zwei Begriffen stehen. Eine maximale Spanne kann angegeben werden.

    Neue Analyse: CutOff-Phrasen

  • Das Problem mit hochauflösenden Bildschirmen kurz HighDPI tauchte leider wieder auf. Für diese Bildschirme wurden neue Korrekturen eingeführt.
  • Die Ikonografie für Filter wurde vereinheitlicht / Die Icons auf der Korpusübersichtsseite wurden aufgehübscht.

 

Mehr

CorpusExplorer (Update Aug/Sep/Okt 2018) – Favoriten, Formate, Flexibilität und neue Funktionen

Das August/September/Oktober Update des CorpusExploreres bringt eine ganze Liste neuer Funktionen mit sich. Einige vereinfachen die Bedienung, einige erlauben zusätzliche Dateiformate und andere bringen neue Funktionen für Nutzer*innen und Entwickler*innen.

  • Auf Nutzerwunsch wurde unter „Analysen“ ein neuer Menüpunkt hinzugefügt: Favoriten. Häufig genutzte Analysen werden hier per Schnellzugriff aufgelistet. Außerdem ist es möglich, in den Projekteinstellungen eigene Favoriten festzulegen. Diese Favoriten-Settings lassen sich auch Ex-/Importieren. Damit kann man z. B. für ein Seminar bestimmte Analysen voreinstellen.
  • Neue Analyse: Skipgram
  • Neue Dateiformate: Gutenberg DVD 13 (setzt eine entsprechend lizenzierte DVD voraus), DTAbf (vorher nur DTAbf.TCF – jetzt voller Support), PMG-XML, Direkter Import für zuvor mit dem TreeTagger annotierter Dateien (Nutzerwunsch), außerdem Import von CATMA-Dateien (mit und ohne bestehender Annotation). ALTO-XML wird jetzt in der Version 1.2 unterstützt (neuere Versionen folgen). Der WebLicht Im-/Export wurde überarbeitet. Es gab Probleme mit dem Dateiformat – der Im-/Export wurde mit unterschiedlichen Texten validiert.
  • Neue Funktionen für die Konsole:
    • Stilvergleich mittels N-Grammen und Burrows Delta.
    • Analyse mittels MTLD und VOCD
    • Ausgabe ganzer Dokumente mit: get-document
    • get-document-displaynames listet alle Dokumente mit Anzeigename und GUID auf.
    • get-document-metadata [GUID] – hiermit lassen sich die Metadaten eines gewählten Dokuments anzeigen.
    • query-list – Funktioniert wie query, nur das am Ende kein Schnappschuss/Korpus steht, sondern eine Liste mit Dokumenten Anzeigenamen und GUIDs.
    • cluster-list – Funktioniert wie cluster, nur das am Ende keine Schnappschüsse/Korpora stehen, sondern eine Liste mit Dokumenten Anzeigenamen und GUIDs.
    • N-Gramme können jetzt selektiv analysiert werden.
    • Die Hilfe wurde überarbeitet. Optionale Parameter werden zukünftig mit { } hervorgehoben.
    • Der Skript-Modus kommt jetzt mit weniger Aktualisierungen aus. Dies sorgt für eine bessere Anzeigequalität.
    • Die Konsole kann jetzt einen RESTful-Webservice starten. Die Funktion ist aktuell noch experimentell.
  • Der CorpusExplorer ist von Anfang an auf Flexibilität ausgelegt. Dateiformate, Tagger, Analysen, Visualisierungen, uvm. konnten bisher als Add-ons erstellt und nachinstalliert werden. Bei einem Workshop wurde ich gefragt, ob man nicht auch Analysen mit unterschiedlichen Metriken/Algorithmen erweitern könnte (z. B. Vokabularkomplexität – hier gibt es verschiedene Metriken)… also eine bestehende Analyse mit zusätzlichen Features ausstatten kann. Nach einigen Überlegungen ergab sich eine einfache und intuitive API – Diese Add-ons werden als Sideload-Addons bezeichnet. Jede Analyse/Visualisierung kann Sideload-Addons zulassen. Aufruf: Configuration.GetSideloadFeature<T>() – T ist hierbei der Typ (am besten ein Interface oder eine abstrakte Klasse) von dem alle Sideload-Addons erben müssen. Der Aufruf gibt IEnumerable<T> zurück – damit ist sichergestellt, dass eine Analyse/Visualisierung nur Sideload-Addons lädt, die sie auch verarbeiten kann.
  • Kleine Verbesserungen an der Oberfläche und Fehlerkorrekturen – z. B. wurden verschiedene Korpora geladen, so wurden in der Korpusübersicht Layer mit gleichem Namen mehrfach gezählt, jetzt gibt die Übersicht nur unterschiedliche Layer aus.
Mehr

CorpusExplorer (Update Juni/Juli 2018) – Sentiment-Detection, Layer wählbar, verbesserte Analysen

CorpusExplorer (Update Juni/Juli 2018) – Sentiment-Detection, Layer wählbar, verbesserte Analysen

Das Update für Juni/Juli 2018 bringt folgende Neuerungen und Verbesserungen mit sich:

  • Sentiment-Detection: Unter den Spezialfunktionen gibt es jetzt das neue Analysemodul „Sentiment Detection“. Damit lassen sich vordefinierte SD-Wörterbücher auf ein(en) Korpus/Schnappschuss anwenden. Eine Besonderheit: Wenn Sie die Analyse starten, können Sie entweder aus einem vorgefertigten Modell wählen, dieses manuell ändern oder ein eigenes Modell laden.

    Neu: Sentiment-Detection

  • KWIC Ansicht überarbeitet: Bisher war die KWIC-Ansicht (Volltextzugriff > Texte suchen (KWIC)) sehr umständlich zu bedienen. Man musste einzelne Ergebnisse nach erfolgreicher Suche manuell anwählen. Die neu überarbeitete KWIC Ansicht nutzt die bereits vielfach bewährte Tabellenansicht zur Darstellung von KWIC-Resultaten.

    Überarbeitet: KWIC

  • Keyword-Analyse überarbeitet: Die Keyword-Analyse wurde überarbeitet und bietet jetzt mehr Daten.

    Überarbeitet: Keyword-Analyse

  • Links/Rechts-Frequenz überarbeitet: Bisher war es nur möglich zu sehen, ob ein Wort rechts, links oder gar keine Tendenz im Verhältnis zum Suchwort hat. Die neu überarbeitete Fassung bringt eine ganze Fülle neuer Informationen mit sich. So ist jede einzelne Position links oder rechts erkennbar.

    Überarbeitet: Links/Rechts-Frequenz

  • Layer, Layer, Layer: Im letzten Update wurde für alle relevanten Analysemodule die Möglichkeit geschaffen, die Daten zu exportieren. Mit dem Juni/Juli 2018 Update kommt jetzt die Möglichkeit, die Analyselayer für fast alle Analyse abzuändern. Damit lassen sich z. B. Kookkurrenzen auf Lemma oder POS Ebene berechnen.
  • Korpora – Überprüfung: Wurde alles richtig annotiert? Funktioniert die Satzgrenzenerkennung? Wurde jedes Dokument mit den gleichen Einstellungen annotiert?
    Wenn Sie ein neues Korpus laden, überprüft der CorpusExplorer jetzt jede Datei auf Integrität. Nur wenn es Probleme gibt, meldet sich der CorpusExplorer und schlägt Ihnen mögliche Lösungen vor – Aus diesen Lösungen können Sie dann per Mausklick auswählen.

    Neu: Korpora werden automatisch überprüft

  • XML-Skripte für Console: Ein bisher noch wenig genutztes (weil auch bisher wenig dokumentiertes) Feature ist die Möglichkeit, den CorpusExplorer per Konsole (also ohne GUI) zu steuern. Dies ist besonders dann hilfreich, wenn Sie Analysen automatisieren möchten oder wenn der CorpusExplorer aus anderen Programmen/Programmiersprachen z. B. R aufrufen wollen. Dieses Feature wurde jetzt um die Möglichkeit erweitert, mehrere Befehle in einem XML-Skript zu speichern. Außerdem wurde das Feature jetzt besser Dokumentiert: [siehe]

    Neu: Abfragen mit XML-Skript

  • ElasticSearch: Der CorpusExplorer ist nun kompatibel mit ElasticSearch 6.x
  • Vereinheitlichung GUI: Die Eingabemasken für Suchausdrücke wurden vereinheitlicht. Der Farbauswahldialog (beta im letzten Update) ist jetzt für weitere Analysen verfügbar. Außerdem wurde der Dialog zum Anwählen alternativer Schnappschüsse (z. B. in Vergleichsanalysen) überarbeitet.
  • Fehler „Korpusname“: Wurde im Prozess „Dokumente annotieren“ ein Korpusname vergeben, der ungültige Pfadzeichen (wie z. B. „, :, \) enthielt, dann konnte dies zu zerstückelten Korpusnamen führen. Das Update behebt den Fehler, indem ungültige Pfadzeichen zukünftig durch Unterstriche „_“ ersetzt werden.
  • Überarbeitetes Installations-/Update-Packaging: Durch die neue Paketierung sind einzelnen Downloads kleiner – gerade Nutzer*innen mit schlechter Internetanbindung profitieren davon.
  • Aktiver Speicherschutz: Der CorpusExplorer ist so konzipiert, dass er das Maximum an Performance aus einem Rechner herausholt. Mehrere parallele Berechnungen und intensive Nutzung des Arbeitsspeichers erlauben Analysen, die viele andere Programme nicht oder nur wesentlich langsamer verarbeiten. Auf einigen Rechnern kann dies zu Problemen führen, insbesondere wenn weitere Programme im Hintergrund laufen und der Arbeitsspeicher knapp ist. Der neue Schutzmechanismus soll vermeiden, dass der Arbeitsspeicher überläuft – damit sollte der CorpusExplorer auf den betroffenen Rechnern weniger Abstürze verursachen.
  • Allgemeine Korrekturen und kleiner Bugfixes
Mehr

CorpusExplorer (Update Mai 2018)

Folgende Funktionen wurden in der Mai 2018-Version des CorpusExplorers hinzugefügt/verbesser:

  • Neue annotierbare Dateiformate:
    • Deutscher Bundestag Plenarprotokolle OpenAccess
    • Deutscher Bundestag Drucksachen OpenAccess
    • Deutscher Wortschatz Universität Leipzig
    • PostgreSQL Dump der Seite kleineanfrage.de
  • Neue Clone-Detection: Mittels Clone-Detection können Text-Dubletten erkannt und aus einem Korpus entfernt werden. Bisher gab es nur zwei Alternativen. Entweder die sehr schnelle und SHA512 basierte Analyse, die leider nur 100% Dubletten erkennt. Oder die sehr langsame vektorbasierte Analyse, die auch ähnliche Texte erkennen kann. Neu ist der Ansatz auf Basis von so gennaten Fuzzy Hashes (genauer: context triggered piecewise hashes (kurz: CTPH)). Dieser Ansatz kommt z. B. bei der Erkennung von SPAM/JUNK-Mails zum Einsatz und eignet sich hervorragend für die Analyse von stark recyelten Texten (z. B. Zeitungsartikeln in denen nur wenige Wörter oder Satzzeichen getauscht werden). CTPH verfügt über eine gute Performance und über eine gute Erkennungsrate und damit einen guten Mittelweg zwischen SHA512 und Vektoranalyse.
  • Neue Filter für Metadaten – Beginnt mit … & Endet auf …
  • Verbesserungen für einige weitere annotierbare Dateiformate wie PDF, APAEK (http://www.apaek.uni-frankfurt.de), etc.
Mehr

CorpusExplorer (Update April 2018) – schneller, exportfreudiger & neue Sprachmodelle

Auch wenn erst Ende März ist, so ist das April Update bereits fertig.

Neue Funktionen / Verbesserungen:

  • UDPipe – Teil 1: Der CorpusExplorer kann ab jetzt eine bestehende UDPipe inkl. Universal Dependencies Sprachmodelle ansprechen (Herstellerwebseite).
    UDPipe muss zuvor installiert und die UD-Sprachmodelle müssen im selben Verzeichnis liegen wie die „udpipe.exe“.
  • UDPipe – Teil 2: Für alle, denen die Installation von UDPipe zu kompliziert ist, gibt es ein CorpusExplorer-Addon. Dieses installiert UDPipe vollautomatisch inkl. aller verfügbaren Sprachmodelle (aktuell werden 69 Sprachen unterstützt). Das Addon wird auch zukünftig die Aktualisierung von UDPipe sicherstellen. Außerdem stellt das Addon einen performance-optimierten Tagger bereit.
    Daher: Wer UDPipe nur selten nutzen will oder nur wenige Sprachen benötigt, kann die integrierte Version (siehe: UDPipe – Teil 1) nutzen. Wer viele Sprachen benötigt oder große Korpora verarbeiten muss, der sollte das Addon nutzen. (UDPipe Addon herunterladen)
  • MarMoT: Als weiteres Addon wird der MarMoT POS-Tagger bereitgestellt. Dieser sehr exakte Tagger stellt 18 Sprachmodelle zur Verfügung. (MarMoT herunterladen)
  • Neue Autosplit-Optionen: Mittels Autosplit lassen sich Korpora in beliebige Subkorpora/Cluster zerteilen. Für Datumsangaben kommt die Möglichkeit hinzu, Jahrzehnte und Jahrhunderte zu splitten. Für alle Cluster-Splitter kann jetzt die Splitting-Methode gewählt werden. Zuvor war es nur möglich, die Cluster anhand der Werte zu befüllen. Dies führt jedoch in der Praxis zu Clustern mit sehr unterschiedlichen Größen. Cluster können jetzt einen gleichen (Dokument) oder ähnlichen (Token, Sätze) Umfang durch dynamische Grenzen erhalten. Gleichgroße oder ähnlich große Cluster lassen sich besser Vergleichen.
  • Export-Funktionen: Bisher hatten nur einige Analysen eine Export-Funktion. Ab jetzt können alle Analysedaten exportiert werden. Exportformate sind z. B. CSV, Excel, PDF, JSON, uvm.
  • Pivot-Tabelle Layout laden/speicher: Neben einer Export-Funktionalität für die Daten wurde alle Pivot-Analyse die Möglichkeit hinzugefügt, dass Layout (gewählte Spalten/Zeilen, Filterungen, Sortierungen, etc.) zu laden oder zu speichern.
  • Farbverlauf / Farbpalette (beta): Die Heatmap unter Korpusverteilung kann jetzt mit unterschiedlichen Farbverläufen eingefärbt werden. Unter anderem gibt es für den Druck einen Grauverlauf (falls keine Farbgrafiken erlaubt sind) und für Nutzer*innen mit eingeschränkter Farbwahrnehmung optimierte Farbverläufe (z. B. Orange <> Blau). Außerdem lässt sich der Farbverlauf invertieren. Für die Zukunft ist geplant weitere Analysen mit einer Farbauswahl auszustatten.
    Anmerkung: Falls Sie den CorpusExplorer nutzen und eine eingeschränkte Farbwahrnehmung haben, würde ich mich sehr freuen, wenn Sie mich kontaktieren und sich für Usability-Tests zur Verfügung stellen.
  • CEC6 [STREAM] – Neues Dateiformat (beta): Das CEC6-Format hat sich sehr bewährt und wird auch auf lange Sicht das Basisformat für den CorpusExplorer bleiben. Am Format selber wurden keine Änderungen vorgenommen, jedoch gibt es einen neuen Lese/Import-Prozess. Dieser lädt nicht wie üblich, alle Daten direkt in den Arbeitsspeicher (Pro: hohe Performance / Contra: Arbeitsspeicher ist stark begrenzt), sondern ließt nur die notwendigen Sprungmarken ein. Erst wenn eine Analyse startet, werden die notwendigen Daten von der Festplatte gelesen. Dadurch ist der Arbeitsspeicher ist nicht länger die Begrenzung, dafür reduziert sich jedoch die Performance etwas.
    Die bisherige Lösung zur Nutzung unbegrenzt großer Korpora auf Basis von Datenbanken (MySql, SQLite oder ElasticSearch – Addons siehe hier) wird dadurch keinesfalls obsolet. Zukünftig soll der STREAM-Zugriff automatisch aktiviert werden, wenn der CorpusExplorer Arbeitsspeicherengpässe erkennt. Die genannten Datenbank werden weiterhin gepflegt und erweitert – sie sind insbesondere für den Export und die Zusammenarbeit mit anderen Programmen vorgesehen.
  • Performance: Es gibt wie immer Performance-Optimierungen. Insbesondere für die Analysen „Volltext > Texte annotieren“ und „Frequenzanalyse > Tabelle“ – diese sind die meistgenutzten Analysen im Programm.
  • Fehlerkorrekturen: Wie immer wurden auch einige Fehler korrigiert.
Mehr

Korpus: Deutscher Bundestag Plenarprotokolle

Die anstehende DHd2018 (Köln) ist ein guter Anlass eine bestehende Korpus-Ressource zu veröffentlichen. Der Deutsche Bundestag veröffentlicht unter https://www.bundestag.de/service/opendata die Plenarprotokolle OpenAccess in einem sehr rudimentären XML-Format. Die vorhandenen Metadaten wurden extrahiert und der Text wurde korpuslinguistisch aufbereitet. Der Text wurde hierzu bereinigt, und mittels TreeTagger annotiert (POS, Lemma, Phrasen). Da das Korpus sehr umfangreich ist, wurde für jede Wahlperiode ein eigenes Korpus erstellt. Das analysefertige Gesamtkorpus (für den CorpusExplorer) kann unter [Korpora] herunter geladen werden.

Mehr

DHd2018 – CorpusExplorer Workshop

Am 26.02.2018 findet im Rahmen der DHd2018 ein Workshop mit dem Titel „CorpusExplorer v2.0 – Seminartauglich in einem halben Tag“ statt.
Wer schon jetzt einen Blick auf die Workshopinhalte werfen möchte, kann dies unter: https://lernen-mit.jan-oliver-ruediger.de/course/view.php?id=20
Der Workshop ist auf für Nicht-Teilnehmer*innen offen. Man kann sich also auch ohne DHd2018-Teilnahme am Workshopmaterial bedienen.
Anmeldung als Gast ist anonym – das Gast-Passwort lautet: dhd2018
Wer sich über die Webseite registriert (Registrierung nur mit Uni-Mailaccounts möglich), kann sogar den gesamten moodle-Kurs herunterladen (inkl. IMS-Alternative für z. B. BlackBoard oder ILIAS).
Hinweis: Nach der DHd2018 werde ich am Kurs noch einige Ergänzungen vornehmen. Daher lohnt ein erneuter Blick ab 05.03.2018.

Anregungen und Kritik sind immer willkommen.

Mehr

CorpusExplorer (Dezember Update 2017) – Erster Erfolg durch Telemetrie

Eigentlich war für 2017 kein weiteres Update nach November geplant. Mit dem November Update wurde die neue Telemetrie-Funktion des CorpusExplorers aktiviert. Damit lassen sich Fehler und Performance auf den Rechnern der Nutzer*innen anonym in Echtzeit ermitteln (mehr Details dazu – finden Sie hier). Dabei viel auf, dass einige der Nutzer*innen noch sehr alte Korpusdateien einsetzen (Version 5 und abwärts – aktuell ist Version 6). Bei diesen Versionen kam es scheinbar durch das Update (oder vielleicht auch eines davor) zu Problemen. Das Dezember Update sollte die Probleme beheben.
Daher drei Dinge zum Jahresende:

  1. Danke an alle, die die neue Telemetrie-Funktion aktiviert haben.
  2. An die betreffenden Nutzer*innen: Bitte entschuldigt etwalig entstandene Unannehmlichkeiten. Das Update behebt hoffentlich alle Probleme. Wenn nicht, helfe ich gerne persönlich (Kontaktformular). Bitte nutzen Sie auch die Möglichkeit alte Korpora in das neue CEC6-Format zu konvertieren. Laden/Speichern und Analysen gehen mit diesem Format deutlich schneller von der Hand.
  3. Wünsche ich allen frohe Feiertage und einen guten Rutsch ins Jahr 2018.
Mehr

CorpusExplorer (NOV2017) – SQL-Datenbanken / LinqConnect

CorpusExplorer (NOV2017) – SQL-Datenbanken / LinqConnect

An dieser Stelle zuerst ein großes Dankeschön für den Projekt-Rabatt von devart für LinqConnect. Im Rahmen des CorpusExplorer-Projekts habe ich viele ORM-Mapper getestet, auch das neue Entity-Framework (Core). Was aber Funktionalität und Flexibilität anbelangt, ist LinqConnect gegenwärtig das beste Produkt am Markt. In diesem Artikel wird ausgeführt, wie mittels LinqConnect eine CorpusExplorer-Schnittstelle für MySQL und SQLite entwickelt wurde. Natürlich kann man auf die Datenbanken auch nativ oder mit einem anderen ORM-Mapper zugreifen, aus Sicht eines C#-Entwicklers gibt es aber einige Vorteile (die im Folgenden auch behandelt werden).

Das Schema kann direkt in Visual Studio 2017 mittels visueller Tools erstellt werden (der dafür nötige Editor „EntityDeveloper“ ist Teil von LinqConnect).

Folgende Tabellen/Klassen wurden definiert:

  • Corpus
    • ID – Primärschlüssel – Integer / Autoincrement
    • GUID – siehe Besonderheiten: GUID
    • Displayname – Der Anzeigename für das Korpus.
  • CorpusMetadataEntry (Speichert alle Metadaten die für das Gesamtkorpus Gültigkeit haben)
    • CorpusID und Label sind die Primärschlüssel. Label kann z. B. Erstelldatum, Korpussprache, usw. sein.
    • Value – siehe Besonderheiten: Metadaten – Value
  • Layer
    • ID – Primärschlüssel – Integer / Autoincrement
    • GUID – siehe Besonderheiten: GUID
    • CorpusID – Ordnet den Layer einem Korpus zu
    • Displayname – Der Name/Bezeichner des Layers – z. B. POS, Lemma, Wort, usw.
  • LayerDictionaryEntry
    • LayerID und Index sind die Primärschlüssel – Index wird durch den CorpusExplorer im Annotations-/Tokenisierungsprozess automatisch erzeugt
    • Value – der eigentliche Wert bzw. das eigentliche Wort.
  • Document
    • ID – Primärschlüssel – uLong (64-Bit Ganzzahl (unsigned)) / Autoincrement
    • GUID – siehe Besonderheiten: GUID
    • CorpusID – Ordnet das Dokument einem Korpus zu
    • CountToken / CountSentences – Anzahl Token / Sätze. Dieses Daten werden beim Eintragen in die Datenbank berechnet. Der CorpusExplorer fragt z. B. bei Schnappschusswechsel die Token/Satzanzahl aller Dokumente ab. Um unnötige Wartezeiten/Datenbanklasten zu vermeiden, wird diese Eigenschaft vorberechnet.
  • DocumentMetadataEntry (Speichert Metadaten, die nur für ein bestimmtes Dokument gültig sind)
    • DocumentID und Label sind die Primärschlüssel – z. B. Autor, Verlag, Datum
    • Value – siehe Besonderheiten: Metadata – Value
  • LayerDocument
    • LayerID und DocumentID sind die Primärschlüssel
    • Content – Jedes Dokument kann mehrere Layer haben und jeder Layer erstreckt sich über mehrere Dokumente. Das LayerDocument ist die Schnittstelle zwischen Dokument und Layer. Im Content wird das zweidimensionale 32-Bit Ganzzahl-Array als eindimensionales Byte-Array serialisiert. Die erste Dimension ist die der Sätze, die zweite Dimension ist die Wort-Positionen innerhalb des Satzes (Zählung beginnt wie üblich jeweils bei 0). In der deserialisierten Form wäre doc[0][1] – Der erste Satz [0] und das zweite Wort [1]. Wenn Sie nicht den CorpusExplorer nutzen möchten, um die Daten auszulesen, dann können Sie die Daten wie folgt selbst deserialisieren:
      Lesen Sie die ersten vier Byte ein und konvertieren Sie diese in einen vorzeichenbehafteten 32-Bit Integer. Sie erhalten die Anzahl an zu erwartenden Sätzen. Lesen Sie dann die nächsten vier Byte ein und konvertieren Sie erneut, Sie erhalten die zu erwartende Anzahl an Worten/Token im ersten Satz. Lesen Sie die entsprechende Byte-Sequenz aus (4 * Anzahl an erwarteten Worten/Token) und konvertieren Sie diese in ein 32-Bit Ganzzahl-Array. So fahren Sie fort, bis alle Daten gelesen wurden. Das so erhaltene zweidimensionale Array können Sie wie bereits oben beschrieben auswerten. Um den Text zu erhalten, greifen Sie auf die LayerDictionaryEntries des jeweiligen Layers zurück.

Besonderheiten:

  • GUID – Im CorpusExplorer ist der Primärschlüssel immer vom Datentyp GUID. Leider unterstützen nicht alle Datenbanken GUID (z. B. weil GUID nicht als Datentyp implementiert ist oder weil GUID keine Primärschlüssel sein darf). Daher wurden einfache Integer IDs vergeben.
  • Metadaten – Value: Der CorpusExplorer serialisiert Metadaten als KeyValue-Store. Der Key ist immer vom Typ String, der Value vom Typ Object. Damit lassen sich beliebige Datentypen als Value speichern. Der CorpusExplorer kümmert sich dabei um De-/Serialisierung und die Typsicherheit. Keine dieser Funktionalitäten wird von SQL-Datenbanken unterstützt (mit NoSQL-Datenbanken wie ElasticSearch ist dies möglich). Daher werden die Daten/Typen/Objekte, die in Value gespeichert werden, vorher durch den CorpusExplorer als byte-Array serialisiert. Vor jedes Byte-Array wird ein einzelnes Byte geschrieben, dass angibt, wie die Daten zu deserialierien sind. Folgende Werte sind für dieses erste Byte gültig: 10 – String, 20 – 32-Bit Ganzzahl, 21 – 32-Bit Ganzzahl (unsigned), 30 – Fließkommazahl doppelte Genauigkeit, 40 – DateTime serialisiert als 64-Bit Tick, 50 – 64-Bit Ganzzahl, 51 – 64-Bit Ganzzahl (unsigned), 250 – Alle anderen Typen (der CorpusExplorer nutzt den .NET-BinaryFormatter zur Serialisierung).

Vorteile von LinqConnect:

  • LinqConnect übernimmt das Caching, optimiert Abfragen (z. B. Zusammenfassen von INSERT) und stellt einige Sonderfunktionen bereit (Löschen von nicht mehr benötigten DB-Einträgen).
  • LINQ ist ein Konzept aus dem .NET-Ökosystem und bedeutet Language INtegrated Query. In den meisten Programmiersprachen ist es üblich, eine SQL-Abfrage aus verschiedenen Werten und Strings (Zeichenketten) zusammen zu setzen – siehe Bsp. $query:

    Dabei kann (1) einige schief gehen und (2) ein Fehler fällt erst zur Laufzeit auf. LINQ löst dies, indem die Abfrage Teil der eigentlichen Programmiersprache ist (bzw. in diese integriert wird). Daher sind Vertipper nicht möglich, auch SQL-Injections werden vermieden – Fehler sind bereits für den Compiler ersichtlich. Eine Abfrage in LINQ sähe wie folgt aus:
  • Ein weiterer Vorteil ist, dass LINQ alle Daten als Objekte behandelt. In den meisten Programmiersprachen erhalten Sie nach der erfolgreichen Abfrage eine Liste/Tabelle, die Sie zuvor selbst deserialisieren/durchlaufen müssen. Im Vergleich hierzu LINQ:

    Es werden alle DocumentMetadataEntries abgefragt, die ein Label namens „Autor“ haben und dessen Wert/Value „JOR“ ist. Zurückgegeben wird eine Liste von Objekten des Typs Document. Der gesamte Prozess geschieht im Hintergrund.
  • LinqConnect stellt für viele verschiedene Datenbanken eine einheitliche Schnittstelle bereit. Den Quellcode von SQLite auf MySQL umzustellen hat gerade einmal eine Stunden Arbeit beansprucht.

Anmerkungen:

  • Primär ist die Schnittstelle für Korpora konzipiert, bei denen die für den CorpusExplorer typische In-Memory Analyse nicht mehr möglich ist (zu groß um im Arbeitsspeicher abgelegt zu werden). Eine vollständig datenbankkonforme Serialisierung wurde/wird nicht angestrebt. Vielmehr wurde auf die Performance geachtet die sich aus Lese-/Schreibvorgängen zwischen CorpusExplorer und Datenbank ergeben.
  • Sie können in eine Datenbank beliebig viele Korpora schreiben. Trotzdem wird empfohlen pro Korpus eine separate Datenbank zu nutzen (dies erleichtert die Verwaltung).
  • Es ist geplant, eine Schnittstelle für Analyseergebnisse zu schaffen – d. h.: Analysen die der CorpusExplorer durchführt, können direkt in eine SQL-Datenbank geschrieben werden. Andere Programme können diese Daten dann weiter analysieren, nutzen oder visualisieren.
  • Einschränkungen: Diese können je nach Datenbank schwanken (falls Datentypen unterschiedlich definiert sind). Prinzipiell gilt, ca. 2 Mrd. Korpora mit jeweils ca. 2 Mrd. Layer, mit jeweils ca. 2 Mrd. Layer-Werten und max. 18’446’744’073’709’551’615 Dokumente (pro Dokument max. ca. 2 Mrd. Sätze mit jeweils ca. 2 Mrd. Token). – Dies sollte also auf recht lange Sicht ausreichende Kapazitäten schaffen.
Mehr

Karten-Visualisierungen im CorpusExplorer ganz einfach

Karten-Visualisierungen im CorpusExplorer ganz einfach

Lange habe ich nach einer Lösung gesucht, wie man Karten einfach und effizient im CorpusExplorer integrieren kann. Sowohl kommerzielle als auch OpenSource Lösungen wurden geprüft – von klassischen WinForm- und WPF-Lösungen bis hin zu HTML5/JS. Zwei Dinge störten mich am meisten:

  1. Entweder sind zu viele Funktionen vorhanden (was braucht man für eine linguistische Visualisierung eine Routenplanung? oder eine Abfrage welche Restaurants in der Nähe sind?) oder es sind zu wenige/nicht die nötigen Funktionen enthalten.
  2. Karten sind schön, aber sie müssen auch zweckmäßig sein. Für diese erste Kartenversion wollte ich die Ländern unterschiedlich einfärben. Wenn man aber z. B. auf eine normale Karte zurückgreift und ein großes Land wie Russland einfärbt, dann verschwimmt die Wahrnehmung von kleineren/benachtbarten Staaten. Hier kam mir ein Tweet zur Hilfe – von Maarten Lambrechts. Er normierte alle Länder auf die gleiche Größe und ordnete sie auf einem Gitter/Schachbrett an. Diese Idee habe ich für den CorpusExplorer implementiert (Quellcode hier) und veröffentlicht.

Hier die aktuelle selbst entwickelte Lösung in Bildern (weiteres im 2018):

Ein zweiter kurzer Verweis auf Twitter:


Dem kann nur zugestimmt werden – Karten gehören zu den klassischen Visualisierungen der Linguistik. Falls jemand eine wirklich gute Programm-Bibliothek/SDK/API/etc. für linguistische Karten-Visualisierungen kennt … ich würde mich sehr über einen Hinweis freuen. Ebenso sind Ideen, Kritik oder Kooperation an/zu meiner Lösung erwünscht.

Mehr

CorpusExplorer (November Update 2017)

So langsam gewöhnt sich der CorpusExplorer an einen dreimonatigen Update-Zyklus. Über einige ausgewählte Funktionen wird es in den kommenden Tagen noch zusätzliche Blog-Beiträge geben.

Neue Funktionen:

  • Unterstützung von anderen Encodings/Codepages als UTF-8. Dies kann unter: Projekteinstellungen geändert werden. Aktuell muss noch die Codepage-Nummer eingetragen werden (zu finden auf https://de.wikipedia.org/wiki/Zeichensatztabelle).
  • Unterstützung von Rechts-nach-Links Schreibrichtung für semitische Sprachen. Dies kann ebenfalls in den Projekteinstellungen geändert werden. Es kann derzeit noch zu ungewünschten Darstellungen kommen. Über eine Rückmeldung (inkl. Screenshot/Beschreibung) würde ich mich freuen – Kontaktformular.
  • Neuer Scraper für das WET-Format verfügbar (Dokumente annotieren). Damit lassen sich auf Basis von http://commoncrawl.org/the-data/get-started/ sehr große Web-Korpora bauen. Der Scraper verfügt über zwei Filteroptionen. Sprachfilter: Automatisch Spracherkennung mittels NTextCat (erkennt 280 unterschiedliche Sprachen) es werden nur Dokumente übernommen, die der vorgegebenen Sprache entsprechen (Hinweis: der Filter führt einige Rechenoperationen im Rohtext durch und ist daher sehr langsam). Domainfilter: Es werden nur Dokumente von vorgegebenen Top-Level-Domains (TLD – z. B.: .de oder .com) übernommen.
  • Unter den Spezialfunktionen gibt es eine neue Visualisierung: Karte – Hier können Frequenzen einzelnen Ländern zugeordnet werden. Neben einer sehr detailreichen Weltkarte steht eine alternative Visualisierung zur Verfügung, die alle Ländern als gleichgroße Kacheln darstellt (einige Klein-/Inselstaaten werden nicht angezeigt) – dies Darstellung basiert auf folgender Arbeit (https://github.com/mustafasaifee42/Tile-Grid-Map).
  • Ein neuer Multi-Layer-Filter zur Erstellung neuer Schnappschüsse wurde hinzugefügt. Damit lassen sich Phrasen formulieren, die auf mehrere Layer zurückgreifen. z. B.: Wort:die POS:ADJA Wort:Hauptstadt – würde z. B. die kleine Hauptstadt, die schöne Hauptstadt, usw. finden.

Neue Funktionen – nur SDK (für Entwickler):

Neue CE-Addons:

  • Datenbanken sind ab jetzt optional als Addon verfügbar. In einem früheren Update wurde die NoSQL-Datenbank ElasticSearch in den CorpusExplorer integriert. Diese Funktionalität wurde aus der Standardinstallation gestrichen. Folgende Datenbanken sind ab jetzt als CE-Addon verfügbar:
    • ElasticSearch – NoSQL-Datenbank die Daten im JSON-Format speichert. Benötigt Java, läuft auf allen Betriebssystemen, leicht zu installieren (da nur eine ZIP-Datei entpackt werden muss).
    • MySQL/MariaDB – SQL-Datenbank. Läuft auf allen Betriebssystemen. Erfordert eine Installation (z. B. XAMPP für Windows) und etwas MySQL-Know-how, da die Datenbank entsprechend konfiguriert werden muss (nutzen Sie my-huge.ini oder my-innodb-heavy-4G.ini für den produktiven Betrieb).
    • SQLite – SQL-92 embedded Datenbank – Keine Installation notwendig. Läuft auf allen Betriebssystemen. Datenbank wird in einer einzelnen Datei abgelegt.
  • PANDOC: Pandoc (https://pandoc.org/) ist ein Konverter für verschiedene Text-Dateiformate (siehe https://pandoc.org/). Die Erweiterung kann genutzt werden um z. B. Text aus LaTeX oder Wikipedia zu extrahieren.
  • SaltXML & Pepper (BETA): Pepper (http://corpus-tools.org/pepper/) erlaubt es, verschiedene linguistische XML-Formate untereinander zu konvertieren. SaltXML ist dabei der Zwischenstandard, über den die Konvertierung läuft. Aktuell nutzt der CorpusExplorer noch eine Zwischenlösung:
    • Aktuell:
      • Import: Ausgangsformat > Pepper > SaltXML > Pepper > CoNLL > CorpusExplorer
      • Export: CorpusExplorer > CoNLL > Pepper > SaltXML > Pepper > Zielformat.
    • Um die Geschwindigkeit zu erhöhen, ist bereits ein verkürzter Ablauf in Planung:
      • Import: Ausgangsformat > Pepper > SaltXML > CorpusExplorer
      • Export: CorpusExplorer > SaltXML > Pepper > Zielformat.
    • Die geplante Umstellung wird für die Nutzer*in nicht spürbar sein, außer das Import/Export danach schneller ablaufen wird.

Neues CE-Korpus-Addon:

  • Dank PANDOC konnte ein Korpus der aktuellen deutschsprachigen Wikipedia erstellt werden. Das Korpus ist kostenfrei verfügbar. Der Zugang muss aber erfragt werden, da die Menge der Daten sonst meinen Server lahmlegen würde. Schreiben Sie mir bitte über das Kontaktformular, falls Sie das Korpus nutzen möchten.

Korrekturen/Verbesserungen:

  • Die externen Tagger (u. a. der TreeTagger) wurden verbessert (Stabilität/Performance).
  • Bisher gab es zwei identische Funktionen zur Analyse von Kookkurrenzen (Abfrage & Tabelle). Beide arbeiten jetzt mit unterschiedlichen Ansätzen:
    • Tabelle – ermittelt weiterhin zu allen Worten alle Kookkurrenzen. Bis zu einer Korpusgröße von 50 Mio. Token funktioniert dies auf normaler Hardware gut (ggf. mit einigen Minuten Wartezeit). Eine nachträgliche Beschränkung auf nur einen Begriff ist möglich und erfordert keine zusätzlichen Abfragen.
    • Abfrage – ermittelt nur die Kookkurrenzen zu einem/mehreren Begriff(en). Dadurch können auf größere Korpora (über 50 Mio.) relativ gut mit normaler Hardware abgefragt werden. Da jede Abfrage Zeit beansprucht sind hintereinander erfolgende Abfragen nicht so schnell wie in der „Tabelle“. In weiterer Vorteil: Man kann auch die Kookkurrenzen zu mehreren Begriffen ermitteln, dabei wird nach der exakten Reihenfolge der Queries gesucht (Bsp. „in der Hauptstadt“).
Mehr

CorpusExplorer (August Update 2017)

Das August-Update bringt nicht nur kleine Verbesserungen sondern auch drei große Neuerungen mit sich.

1. Öffnung der Konfigurations-Schnittstelle / Abschaltung der Advanced/PC-Poolraum Edition

Bisher gab es drei Versionen für den CorpusExplorer – Zukünftig nur noch eine einheitliche Version. Folgende Installationspakete werden Anfang 2018 abgeschaltet. Nutzer*innen werden darüber bei jedem Programmstart informiert. Folgende Installationspakete werden entfernt: Die bisherige Advanced-Edition richtete sich an freiwilliger Tester*innen, die neuste Funktionen ausprobieren wollten (BETA-Test). Außerdem die PC-Poolraum Edition – sie war für Poolräume konzipiert und löschte bei jedem Programmstart bisherige Einstellungen. Die neue Version des CorpusExplorers vereint alle Funktionalitäten in einem Installationsprogramm. Über so genannte Feature-Toggles können ab jetzt optional experimentelle Funktionen bei Bedarf aktiviert werden. Außerdem können alle CorpusExplorer-Instanzen automatisch/verteilt konfiguriert werden. Nähere Informationen folgen bald.

2. CEC – Die CorpusExplorerConsole wird ab jetzt ausgeliefert

Damit ist es möglich, aus anderen Programmen oder anderen Programmiersprachen auf Analysen/Daten des CorpusExplorers zuzugreifen. Ursprünglich wurde die Konsolen-Lösung unter dem Namen CorpusExplorer-Port-R entwickelt und sollte die Nutzung des CorpusExplorers innerhalb der Programmiersprache R ermöglichen. Daraus ist eine konsolenbasierte Schnittstelle erwachsen, die viele Funktionen des CorpusExplorers mit wenig Aufwand zur Verfügung stellt. Zielgruppe sind fortgeschrittene Nutzer*innen, die andere Programme und komplexe Workflows nutzen aber nicht auf das CorpusExplorer.SDK zugreifen wollen/können und vielmehr eine schnelle Lösung benötigen um Korpusdaten auszuwerten. Die Analyseergebnisse werden direkt in stdout geschrieben – daher können die Ergebnisse direkt übertragen werden. Eine Dokumentation dazu finden Sie unter: https://github.com/notesjor/CorpusExplorer.Terminal.Console

3. Elasticsearch – simple / skalierbare NoSQL-Datenbank

Seit einiger Zeit experimentiere ich mit unterschiedlichen Backends im CorpusExplorer. Warum ist Elasticsearch das erste Datenbankbackend? – Weil Elasticsearch kostenfrei, leicht zu installieren und extrem gut skalierbar ist. Die meisten SQL-Datenbanken sind sehr träge, wenn man große Datenstrukturen ablegen möchte – oder man braucht viel know-how und gute Hardware. Elasticsearch bedarf nur einer Java-Installation – das Elasticsearch-Installationspaket ist eine simple ZIP-Datei (einfach entpacken und bin/elasticsearch.bat starten) – schon kann es losgehen. Der CorpusExplorer kann neue Korpora direkt in Elasticsearch speichern oder bestehende Korpora in Elasticsearch exportieren/importieren. Hier sei angemerkt, dass Elasticsearch nur eine Option für Korpora ab ca. 25 Mio. Token sein sollte. Kleinere Korpora laufen effizienter mit dem CEC6-Backend. Für sehr große Korpora (ab 500 Mio. Token) empfiehlt es sich zudem, mehrere verteilte Elasticsearch-Knoten zu nutzen. Attraktiv sind hierbei auch die Angebot von amazon und azure – hier kann man hochverfügbare Elasticsearch-Instanzen für kleines Geld mieten. Außerdem gibt es eine Export-Funktion namens „CorpusExplorer >>> Elasticsearch“ mit der der Volltext aller Layer in Elasticsearch geschrieben werden kann – ideal zur Weiterverarbeitung mit ES und anderen Werkzeugen (dieser Export erlaubt aber keine Nutzung mehr durch den CorpusExplorer). Auch zu diesem Feature folgt in den nächsten Tagen noch ein ausführlicher Artikel.

Mehr

Problem: Der CorpusExplorer zeigt keine Daten/Tabellen mehr an…

Bei einigen Nutzer*innen kann es vorkommen, dass urplötzlich keine Daten oder Tabellen im CorpusExplorer angezeigt werden. Das Problem liegt an der neuen DPI-Skalierungsfunktion von Windows. Diese neue Funktion wird durch das Windows-Update automatisch auf jedem Windows 10 Rechner installiert und tritt auch nur auf, wenn die Skalierung ungleich 100% beträgt (z. B. bei hochauflösenden Displays).

Abhilfe langfristig: Ein Update ist in Arbeit.

Abhilfe kurzfristig:

  1. Beenden Sie alle Programme.
  2. Klicken Sie mit der rechten Maustaste auf den Desktop und wählen Sie aus dem Menü „Anzeigeeinstellungen“.
  3. Überprüfen Sie ob der Regler/Auswahlbox für „Skalierung“ auf 100% steht. Wenn das der Fall ist, dann liegt ein anderes Problem vor (dann sind Sie hier fertig und müssen mir eine E-Mail schreiben, damit ich auch von diesem Fehler erfahre). Wenn der Wert von 100% abweicht, dann setzen Sie den Regler/Auswahlbox auf 100% und fahren Sie mit Punkt 4 fort.
  4. Wie Sie festestellen werden, wird nach der Reduktion auf 100% vieles auf dem Bildschirm kleiner. Um das auszugleichen, klicken Sie auf „Erweiterte Einstellungen“. Dort können Sie eine andere (niedrigere) Bildschirmauflösung wählen z. B. 1366 x 768. Die Reduktion der Auflösung hat den gleichen Effekt wie eine Skalierung – kommt dafür aber ohne unschöne Nebeneffekte daher.
  5. Starten Sie den Rechner neu. Das Problem sollte behoben sein.
Mehr

CorpusExplorer (April Update 2017) – Fehler: Die Anwendung kann nicht gestartet werden.

CorpusExplorer (April Update 2017) – Fehler: Die Anwendung kann nicht gestartet werden.

Wenn Sie die folgende Fehlermeldung erhalten, müssen Sie den CorpusExplorer über die Systemsteuerung zuerst deinstallieren und dann erneut installieren. Grund für diesen Fehler ist ein Tausch des Installationszertifikats (Bestätigt die Echtheit des CorpusExplorers und schützt ihn vor unberechtigter Manipulation). Ich bitte die Unannehmlichkeiten zu entschuldigen – falls Sie Hilfe benötigen, können Sie sich über das Kontaktformular an mich wenden.

Mehr

Folge mir auf Twitter