Anzeige
Smartes Hosting für anspruchsvolle Projekte.
↬ Loslegen und vServer testen ↬ Jetzt testen!
Denis Potschien 21. Dezember 2015

Trüffelschwein: Knwl.JS filtert Daten automatisch

Trüffelschwein: Knwl.JS filtert Daten automatisch

In Texten stecken gern wichtige Informationen wie Zeit- und Ortsangaben, E-Mail-Adressen, Telefonnummern, Links und andere Datenschnipsel. Die JavaScript-Bibliothek Knwl.JS findet solche Informationen automatisch und kann sie aus dem Text filtern und zur weiteren Verarbeitung verfügbar machen. So sind mit etwas Kreativität sehr flexible Lösungen möglich. Dabei ist die Anwendung kein Hexenwerk.

Trüffelschwein: Knwl.JS filtert Daten automatisch

Knwl.JS: Plugins zum Erkennen verschiedener Inhalte

Knwl.js muss zunächst im HTML-Head eingebunden werden. Anschließend lässt sich ein beliebiger Textabschnitt auf bestimmte Inhalte durchsuchen. Dazu wird der Text direkt oder auch als Variable der Methode KnwlInstance.init() zugewiesen. Anschließend muss man sich für ein Plugin entscheiden, welches den Text nach bestimmten inhaltlichen Mustern durchsucht. Eines dieser Plugins ist date, welches nach Datumsangaben sucht.

KnwlInstant.init("Today is December 19th 2015.");
var output = KnwlInstance.get("date");

Im Beispiel wird per KnwlInstance.get() das Plug-in date aufgerufen. Es durchforstet die zuvor übergebene Zeichenkette auf Datumsangaben und gibt alle gefundenen Angaben im JSON-Format zurück.

var output = [
  {
    "year": 2015,
    "month": 8,
    "day": 11,
    "preview": "Today is August 11th 2015.","found": 2
  }
]

Die JSON-Zeichenfolge enthält nun je nach Plugin unterschiedliche Werte. Bei einem Datum wird dieses in Jahr, Monat und Tag aufgeschlüsselt zurückgegeben. Zusätzlich wird bei allen Plugins per preview der Satz übergeben, in dem der jeweilige Wert gefunden wurde. Über found wird dann rückgemeldet, an welcher Stelle im Text (in Wörtern) die entsprechende Angabe gefunden wurde.

knwljs1

Werden mehrere Daten gefunden, gibt Knwl.js diese als einzelne JSON-Objekte wider.

Datums-, Zeit- und Ortsangaben nur in Englisch

Leider erkennt Knwl.js Datums- und Zeitangaben nur dann, wenn sie in englischer Sprache hinterlegt sind. Andere Sprachen werden zumindest derzeit nicht unterstützt. Gleiches gilt für das Plugin place, welches Ländernamen in Texten erkennt.

var output = [
  {
    "place": "Germany",
    "preview": "This is Germany.","found": 2
  }
]

Ähnlich schwierig, wie Datums-, Zeit- und Ortsangaben, sind auch Telefonnummern in anderen Sprachen zu erkennen. Denn auch hierbei wird nur die übliche englische Schreibweise unterstützt.

Links und E-Mail-Adressen in jeder Sprache möglich

Trotz der ausschließlichen Unterstützung der englischen Sprache kann man Kwnl.js durchaus in deutschen Texten verwenden – zumindest dann, wenn man es nutzen möchte, um Links und E-Mail-Adressen herauszulesen.

var output = [
  {
    "link": "http://www.drweb.de/",
    "preview": "Unter http://www.drweb.de/ gibt es täglich Neues.","found": 1
  }
]

Wichtig bei der Erkennung von Links ist, dass bei diesen das jeweilige Protokoll – „http://“, „https://“ oder „ftp://“ – vorangestellt ist. Auch E-Mail-Adressen werden zuverlässig erkannt.

Eigene Plugins entwickeln

Will man das Erkennen deutschsprachiger Zeit- und Ortsangaben unterstützen, muss man selbst Hand anlegen und ein eigenes Plugin für Knwl.js entwickeln. In der Dokumentation der Bibliothek findet man dazu einen eigenen Abschnitt. Jedes Plugin wird in einer eigenen JavaScript-Datei hinterlegt.

Auf diese Weise kann man sich recht einfach eigene Plugins bauen. Natürlich sind nicht nur „Übersetzungen“ ins Deutsche möglich. Man kann auch gänzlich eigene Plugins entwickeln, welche beispielsweise metrische Maße, Währungen oder Farben aus einem Text herausfiltern.

Einige experimentelle Plugins findet man in der Dokumentation zu Knwl.js.

Fazit

Knwl.js bietet vielfältige Möglichkeiten, strukturierte Werte aus Texten herauszufiltern. Aufgrund der Fixierung auf die englische Sprache muss man zwar vieles anpassen, kann aber mit etwas Fantasie auch sehr individuelle Werte herausfinden lassen.

knwljs2
Demo zum Probieren

Neben einer Dokumentation gibt es eine Demo, bei der beliebiger Text eingegeben und per Knwl.js geparst werden kann.

(dpe)

Denis Potschien

Denis Potschien

Denis Potschien ist seit 2005 freiberuflich als Kommunikationsdesigner tätig, seit Anfang 2010 im Kreativkonsulat in Iserlohn, einem Büro für Gestaltung und Kommunikation. Dort betreut er kleine und mittelständische Unternehmen ebenso wie kommunale Körperschaften und Organisationen aus Südwestfalen und dem Ruhrgebiet. Als Webdesigner und -entwickler gehören HTML5 und CSS3 zu seinen Kernthemen, weshalb er dazu 2013 ein Buch geschrieben hat. „Pure HTML5 und CSS3“ richtet sich an alle, die Vorkenntnisse haben, sich aber bisher mit HTML5 und CSS3 nicht oder nur am Rande beschäftigt haben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.