Artikel getaggt mit "2017"

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 (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

CorpusExplorer v2.0 – Januar 2017 Update

Das erste Update 2017 bringt hauptsächlich Neuerungen ‚unter der Haube‘ – es ist also eher funktional. Dafür bereitet es den Weg für neue Analysemöglichkeiten, die 2017 folgen werden. Die wichtigste Hauptfunktion ist das komplett neu entwickelte Dateiformat CEC6 (CorpusExplorerCorpus v6.0). Es hat gegenüber der Version 5.0 folgende Vorteile:

  • Höhere Performance bei einigen Analysen.
  • Wesentlich schnelleres Laden/Speichern von sehr großen Korpora
  • Ab ca. 15 Mio. Token oder 50’000 Dokumenten bricht die Performance der alten 5.0 Version spürbar ein, da sehr viel Arbeitsspeicher mehrfach beschrieben/freigegeben werden musste um das CEC5-Korpus vollständig zu laden/speichern. Dieses Problem ist in Version 6.0 beseitigt.
  • Das Format ist kompatibel zu unterschiedlichen Plattformen, dank MONO
  • Die Arbeitsspeicherausbeute wurde verbessert pro 1 GB RAM können ca. 30 Mio. Token gespeichert werden.

Hinweis: Das neue CEC6-Format kann ab jetzt genutzt werden. Aktuell ist noch das CEC5-Format die Standardeinstellung – dies wird sich im Laufe des Jahres ändern. Ein kleiner Nachteil des neuen CEC6-Formats liegt darin, dass die Daten binär-codiert sind. D.h. man kann die Daten nicht mehr manuell oder mit anderen Programmen auslesen. Mittlerweile verfügt der CorpusExplorer aber über eine gute Anzahl an Export-Formaten, so dass es jederzeit möglich ist, die Daten zu exportieren (z. B. in XML, JSON, DTA-Basisformat, Weblicht, usw.).

  • Kleinere Verbesserungen: Die Bereinigungsfunktion wurde verbessert. So ist es jetzt auch möglich osteuropäische Sprachdaten zu laden (diese wurden zuvor extrem bereinigt). Ein positiver Nebeneffekt der Korrektur: Der Annotationsprozess wurde beschleunigt.
  • Das Modul „PaperLinguist“ hat einen komplett neuen Unterbau erhalten, der die Generierung von Reports beschleunigt.
Mehr

Folge mir auf Twitter