In einem früheren Beitrag habe ich ein Projekt beschrieben, das über die Erwähnungen von Personen in Nachrichten-Artikeln Buch führt. Es setzt Machine Learning ein um intelligent und schnell zu zählen. Details dazu finden sich im Beitrag https://medium.com/@andreasstckl/who-is-in-the-news-7513ea0d36d und im Artikel https://arxiv.org/abs/1809.06083. Um die Daten nicht nur visuell sondern auch interaktiv zu präsentieren, kommt ein webbasiertes Daten-Dashbord zum Einsatz.
Entstanden ist das Dashbord unter http://in-the-news.stoeckl.ai/ mit dem Open Source Framework “Dash” (https://plot.ly/products/dash/), das es erlaubt sehr schnell und “leichtgewichtig” solche Anwendungen zu erstellen. Es ist eine Python Umgebung die auf dem verbreiteten Micro-Framework “Flask” (http://flask.pocoo.org/) und der Plotting Plattform “Plotly” (https://plot.ly/) aufbaut. Auch für die Erstellung der interaktiven Elemente, wie Auswahlboxen oder klickbare Grafiken kommt man dabei ohne JavaScript aus.
Die Interface-Elemente werden mittels Eigenschaften beschrieben, und über Referenzen (“dependencies”) miteinander verbunden. Um das Update der Daten von mit einander verbundenen Grafiken kümmert sich das “Dash”-Framework dann selbst. Bei den Grafiken kann es sich an der Vielzahl der Darstellungsmöglichkeiten von “Plotly” bedienen. Die Gestaltung der Benutzeroberfläche geschieht, wie für eine Webanwendung üblich mittels CSS.
Cloud Hosting Umgebungen, wie in meinem Beispiel “Heroku“, eigenen sich sehr gut, um ohne viel administrativen Aufwand, und gut skalierbar den Betrieb sicher stellen zu können.