[Updatenotiz] Hashtagprojekt und die weiteren Pläne

Geänderte Rahmenbedingungen und viele Gespräche mit den lieben Betatester_innen führten zu einer Umplanung der Softwareentwicklung. Der aktuelle Client wird in zwei Module aufgegliedert:

(a) Datenbankmodul
– Recherche und Auswertung der Rohdatenpakete aus dem Hashtagprojekt
– Reportings, Reportingmodule
– Textanalysemodul

(b) API-Modul
– Anbindung an die API-Endpoints (Media, User, Locations), wie bereits im Bot umgesetzt
– Screening von Accounts
– Reportings, Reportingmodule

Da die Algorithmen bereits in anderen Projekten existieren, wird der Versionswechsel relativ schnell erledigt sein und ich rechne mit einer Einführung in das Tagesgeschäft innerhalb der aktuellen Woche.

Analysesoftware für die Hashtagdatenbank, erste Screenshots

Nachfolgend die ersten Screenshots aus der Versions 0.3Beta.

Funktionsliste und ToDo für die Version 0.4Beta:
– Abschaltung der „Einzelaufnahme“ und Übertrag der Funktionen auf die jeweils gewählte Monatsdatenbank
– Häufungsentwicklungen: Wechsel vom 2-Tagmodell auf Liste mit wahlweise Vergleichsfunktion via Diagram
– Gestaltungsmodul für die Diagramme: Farben, Fonts etc.

Hashtagprojekt – Datenbankabfragen

Mit Bekanntgabe des Projektes und Freigabe der Rohdatenpakete erreichen mich immer wieder Anfragen zu möglichen Queries. Die nachfolgenden Beispiele bilden einen Teil unserer Dateninterpretationssoftware ab.

[Prüfzeitpunkte]
select datum from example.tags group by datum;
Funktion: Ausgabe aller Prüfzeitpunkte.

[Häufungsauflistungen]
select haeufung from example.tags group by haeufung;
Funktion: Ausgabe aller erfassten Häufungen, unabhängig von Tag und Erfassungsdatum

[komplette Tagauflistung(en)]
(1) Pauschale Auflistung
select tag from example.tags group by tag;
Funktion: Auflistung aller erfassten Tags
(2) Auflistung inkl. Häufungen
select tag, haeufung from example.tags group by tag;
Funktion: Auflistung aller erfassten Tags inkl. deren Häufungen
(3) Auflistung inkl. Häufungen, nach Häufungsfilter
(3.1) absteigend
select tag, haeufung from example.tags where haeufung >=1000 group by tag order by haeufung desc;
Funktion: Auflistung aller Tags inkl. deren Häufungen, ab einer Mindesthäufung (absteigend nach Häufung)
(3.2) aufsteigend
select tag, haeufung from example.tags where haeufung >=1000 group by tag order by haeufung asc;
Funktion: Auflistung aller Tags inkl. deren Häufungen, ab einer Mindesthäufung (aufsteigend nach Häufung)

[Recherche(n)]
(1) Wortrecherche
select tag from example.tags where tag like 'leipzig%' group by tag;
Funktion: Ausgabe aller Tags, wo das gesuchte Wort am Anfang der Ergebnisse steht.
select tag from example.tags where tag like '%leipzig' group by tag;
Funktion: Ausgabe aller Tags, wo das gesuchte Wort am Ende der Ergebnisse steht.
(1.2) Wortrecherche mit Ausgabe der Häufungen
select tag, haeufung from example.tags where tag like 'leipzig%' group by tag;
select tag, haeufung from example.tags where tag like '%leipzig' group by tag;
(1.3) Wortrecherche nach Datum
select tag from example.tags where tag like 'leipzig%' and datum = '31.12.2016' group by tag;
select tag from example.tags where tag like '%leipzig' and datum = '31.12.2016' group by tag;
Bei beiden Ausgabebefehlen muss (!) im Vorfeld abgeklärt werden, ob in der Datenbank Einträge zum gesuchten Datum existieren.
(1.4) Wortrecherche nach Häufung
select tag, haeufung from example.tags where tag like 'kinder%' and haeufung > 1000 group by tag;
(1.5) Wortrecherche nach Häufung mit Datumsauflistung(en)
select tag, haeufung, datum from example.tags where tag = 'zimmer' and haeufung > 1000;

(2) Gruppenrecherche(n)
select tag from example.tags where tag like 'kind%' and tag like '%garten%' group by tag;
Funktion: Ausgabe aller Tags mit den Wortbestandteilen „Kind“ (Position: Anfang) und „Garten“ (Position: Egal)
select tag from example.tags where tag like 'kind%' and tag like '%garten' group by tag;
Funktion: Ausgabe aller Tags mit den Wortbestandteilen „Kind“ (Position: Anfang) und „Garten“ (Position: Ende)

[Erklärungen und Hinweise]
Die genannten Beispiele lassen sich im SQLite-Studio via Hauptmenü [Werkzeuge]=>[SQL-Editor] benutzen und wir nutzen einen Teil der o.g. Liste für die Features des eigenen Rechercheclients und Instagrambot. Durch die große Datenansammlung (freigegeben: ~70 Mio Datensätze) können die Zeiträume zwischen Abfrage und Ergebnispräsentation – je nach Hardware, Betriebssystem – zwischen 5 und 20 Sekunden andauern und ich empfehle bei intensiveren Rechercheprozeduren eine Auslagerung auf SSD-Platte (Bearbeitungsdauer ca. halbiert!).

Hashtagprojekt – Einblicke in die Datenbank, Tagliste(n) und Queries

Der angedockte Client wurde um entsprechende Exportfunktionen erweitert und das Projekt beherbergt folgende Datensätze:

(a) Queries
Diese Angaben beschreiben die Tags, welche via API als Suchanfrage verarbeitet werden.

Downloads
searchview_0-9.zip
searchview_a-z.zip

(b) erfasste Tags
Diese Angaben sind das Ergebnis aus (a). Bitte hier beachten, dass die Listen ungewichtet sind und keine Häufungen ausgeben.

Downloads
tagview_0-9.zip
tagview_a-f.zip
tagview_g-m.zip
tagview_n-s.zip
tagview_t-z.zip

Hashtagprojekt – Reportings (Beta!) – Version 0.1b

Das Projekt erlaubt nun eine Detailbegutachtung von einem der erfassten Tags. Die Reportingfunktion lässt sich über die folgende Befehlszeile abrufen „analyse:tag“ (Beispiele: analyse:geschenk, analyse:winter, analyse:schnee, analyse:vater usw.) und sie liefert über die EMail-Schnittstelle diese Daten zurück:

(1) Tagschau / Tagüberblick
Download: geschenk_10012017.pdf
Das Dokument zeigt die Häufungsentwicklung des Wortes „geschenk“ inklusive der Veränderung in % und die 10 wichtigsten „Untertags“.

(2) Tabelle: Häufungsentwicklung des analysierten Tags
Download: geschenk_haeufung_10012017.xlsx
Diese Datei zeigt die Rohdaten aus der Datenbank und beschreibt die Häufungsveränderung je Updatezeitraum.

(3) Tabelle: Rohdatenauflistung, Untertags
Download: geschenk_liste_10012017.xlsx
Diese Datei zeigt alle erfassten Thementags inklusive der aktuellen Häufung zum letzten Updatedatum an, welche die Zeichenkette „geschenk“ in sich tragen. Sie zeigt auch die Abweichung zum analysierten Tag „geschenk“ in %.

Updatenotiz: Datenbank – Hashtagprojekt

Das folgende Diagram beschreibt das Datenbankvolumen in seiner Entwicklung seit Relaunch des Systems:

Download: dbueberblick

Zur Erklärung:
Die Bezeichnung „Unique-Tags“ beschreibt die Summe der gefundenen und „einzigartigen“ Terms / Tags  und die Bezeichnung „Datensätze“ gibt Aufschluss darüber, wieviele Datensätze (also: unique-tag, Häufung) im kompletten Zeitraum erfasst worden sind.

Die Exporte wurden ebenfalls etwas modifiziert. Diese liefern ab sofort die Ergebnisse – wahlweise – in den Formaten „.xlsx“ und „.csv“ über die EMail-Schnittstelle zurück. Beispiele sind (a) Liste => „Theater“ (ungenau) und (b) Wolke => „Theater“ (ungenau).

Projekt: Instagram-Hashtagdatenbank, Datenbankupdate und weitere Pläne

Die angelegte Datenbank hat nun den folgenden Umfang:

Datenbanküberblick:
Unique-Tags:556022
Anzahl: Tagdatensätze:1579353
Anzahl: Abfragepunkte:28818
Anzahl: Kategorien:117
Letztes Prüfdatum: 18.11.2016

Die hinterlegten Kategorien und Abfragepunkte decken derzeit relativ stark die meisten erfassbaren Themen des Alltags ab und ich werde die finale Version auf ein Volumen von ~3-5 Mio Unique-Tags erweitern.

Neben den realisierten Abfragefunktionen (Tagliste, Tagwolke) sind die folgenden Erweiterungen geplant:

(1) Detailabfragen nach Häufung
– Tagliste und Wolke inklusive der tagesaktuellen Häufung
– Erweiterung der Wolken um Durchschnittshäufungen
(2) Wortpaarprüfungen
– Ausgabe (allgemein, inkl. Häufungen) nach Wortzusammensetzungen (weihnachten+geschenk, geburtstag+geschen, usw.)
– Formate: Taglisten und Tagwolken
(3) Häufungsentwicklungen
– Einzelabfragen und Wortpaare
(4) Textanalysen
– Gegenproben von Texten auf die Datenbank
– Ausgabe der Häufungen
– Ausgabe der durchschnittlichen Häufungen
– Ausgabe der gefundenen Tags als Promovorschlag für die Socialmedia
(5) Alertsystem, Triggersystem
– Infosystem zu geänderten Häufungen
– Infosystem zu „neuen“ Tags
– Infosystem zu „neuen“ Wortpaaren
– Alerts: täglich, wöchentlich etc.

Wir diskutieren und analysieren derzeit intern noch diverse Datenfreigabemöglichkeiten neben der bekannten EMail-Schnittstelle. Im Moment sind die folgenden Optionen bei uns im Gespräch:
(a) Datenauszüge in den Formaten: XLS, JSON, SQL, CSV
(b) Reportings analog zu bspw. XOVI und andere Datendienstleister (PDF)

Projekt: Instagram-Hashtagdatenbank, Abfrage von Tagwolken

Die Abfragelogik für das Generieren dieser Hashtagwolken hat das folgende Schema:

wolke:[term],[mindesthäufung],[modus],[varianten],[limit]

Erklärungen zu den Variablen:
[term] beschreibt den gesuchten Begriff
[mindesthäufung] beschreibt, die Mindesthäufung der auszugebenden Wolkenelementen (=>Zahl)
[modus] beschreibt die Ausgabegenauigkeit
[varianten] beschreibt die Anzahl der auszugebenden Wolkenvarianten (=>Zahl)
[limit] beschreibt das Maximalvolumen der auszugebenden Wolkenelementen (=>Zahl)

Aktuelle Möglichkeiten von [modus] sind „ungenau“ (Term befindet sich irgendwo in den Zeichenketten) , „anfang“ (Term befindet sich am Anfang der Zeichenketten) und „ende“ (Term befindet sich am Ende der Zeichenketten).

Um nun an die gewünschten Ergebnisse zu gelangen, werden die zusammengesetzten Befehlszeilen via EMail-Betreff an die System-Adresse geschickt. Ich bitte hier zu beachten, dass diese „System-Adresse“ ausschließlich nach Rücksprache mit Anne oder mir freigegeben wird.

Beispiele sind:
wolke:leipzig,100,anfang,10,6
Variante: 1
#leipzighalle #leipzigleben #leipziglove #leipziggram #leipzigerbuchmesse2014 #leipzigtattoo
Variante: 2
#leipzigerbuchmesse2014 #leipzig #leipzigtravel #leipzigblogger #leipzigzoo #leipzig_downtown
Variante: 3
#leipziggay #leipzig_city #leipzigerbuchmesse2015 #leipzigartig #leipzigerleben #leipzigcitygirl
Variante: 4
#leipziggram #leipzigerland #leipzigtattooartist #leipzigerbuchmesse2015 #leipzigtravel #leipzigart
Variante: 5
#leipzigerland #leipziglovers #leipziggoesusa #leipzigart #leipziggram #leipzig_deine
Variante: 6
#leipzighalle #leipzigerbuchmesse2015 #leipzigerzoo #leipzigram #leipzig2013 #leipzigliebe
Variante: 7
#leipzigmarkt #leipzigtattooartist #leipzigcity #leipzigcityviews #leipzigtravel #leipzigram
Variante: 8
#leipzigerland #leipzig_deine #leipzigtattoo #leipzigerbuchmesse2016 #leipziglovee #leipzig2014
Variante: 9
#leipzig2013 #leipzigerbuchmesse2016 #leipzigerleben #leipziglove #leipzigerbuchmesse2015 #leipzig
Variante: 10
#leipzigerstr #leipziglife #leipzigtattooartist #leipzigarena #leipziger #leipziggermany

wolke:leipzig,100,ende,10,6
Variante: 1
#plagwitzleipzig #flughafenleipzig #leipzig #baumwollspinnereileipzig #visitleipzig #halloleipzig
Variante: 2
#iloveleipzig #lieblingsleipzig #ig_leipzig #thisisleipzig #leipzig #spinnereileipzig
Variante: 3
#weihnachtsmarktleipzig #spinnereileipzig #visitleipzig #leipzig #baumwollspinnereileipzig #thisisleipzig
Variante: 4
#visitleipzig #spinnereileipzig #weihnachtsmarktleipzig #plagwitzleipzig #flughafenleipzig #thisisleipzig
Variante: 5
#weihnachtsmarktleipzig #baumwollspinnereileipzig #plagwitzleipzig #leipzig #iloveleipzig #halloleipzig
Variante: 6
#thisisleipzig #baumwollspinnereileipzig #iloveleipzig #visitleipzig #ig_leipzig #halloleipzig
Variante: 7
#iloveleipzig #ig_leipzig #halloleipzig #thisisleipzig #leipzig #plagwitzleipzig
Variante: 8
#baumwollspinnereileipzig #plagwitzleipzig #ig_leipzig #spinnereileipzig #flughafenleipzig #weihnachtsmarktleipzig
Variante: 9
#flughafenleipzig #weihnachtsmarktleipzig #visitleipzig #thisisleipzig #baumwollspinnereileipzig #halloleipzig
Variante: 10
#ig_leipzig #plagwitzleipzig #lieblingsleipzig #halloleipzig #iloveleipzig #leipzig

wolke:leipzig,100,ungenau,10,6
Variante: 1
#leipzigbynight #leipzigerzoo #leipzigblogger #iloveleipzig #leipzigliest #leipziglove
Variante: 2
#leipzigerland #leipzigerplatz #leipzigtattoo #leipzigmarkt #leipzigskyline #leipzigläuft
Variante: 3
#leipzigerplatz #leipzigbookfair #leipzigcitygirls #leipzigblogger #leipziglife #leipzigcity
Variante: 4
#leipzigram #ig_leipzig #leipzigerbuchmesse #leipzighalleairport #leipzigerbuchmesse2016 #leipzigskyline
Variante: 5
#meinleipziglobichmir #leipzigartig #leipzigbookfair #leipzigläuft #erfurtleipzighalle #leipziglovee
Variante: 6
#leipzigtrip #leipzigerbuchmesse2015 #leipzigliebe #leipzigzoo #leipzigerbuchmesse2016 #leipzigerplatz12
Variante: 7
#leipzigerland #leipzigerbuchmesse2016 #flughafenleipzighalle #leipzigtravel #plagwitzleipzig #leipzigwest
Variante: 8
#visitleipzig #lieblingsleipzig #leipziglife #leipzigcityviews #leipzigtripp #leipzigtravel
Variante: 9
#leipziglife #erfurtleipzighalle #leipzigtattootermine #leipzig2013 #leipzigzoologicalgarden #leipzigerbuchmesse2015
Variante: 10
#flughafenleipzighalle #plagwitzleipzig #leipziggirl #leipzigerweihnachtsmarkt #leipzigtravel #leipziglovers

Projekt: Instagram-Hashtagdatenbank, Datenbanküberblick

Der folgende Datenbankauszug lässt sich über die freigeschaltete EMail-Schnittstelle mit Hilfe des Befehls „überblick“ abholen.

Unique-Tags: 57510
Anzahl: erfasste Tags:509918
Anzahl: Abfragepunkte:3754
Anzahl: Kategorien:55
Anzahl: Prüfungen:11
Letztes Prüfdatum: 13.11.2016

Zeitstempel – Überblick: 13.11.2016 15:11:47

Erklärungen zu den Angaben:
„Unique-Tags“ beschreibt die erfassten Einzeltags.
„Anzahl: erfasste Tags“ beschreibt die Einzeltags inklusive deren Entwicklungen über die Prüfzeiträume.
„Anzahl: Abfragepunkte“ beschreibt die Anzahl der Suchabfragen an den Tagsearch-API-Endpoint.
„Anzahl: Kategorien“ beschreibt die Kategorien, welche die Abfragepunkte einordnen (Sport, Essen & Trinken, Mode, etc.).
„Anzahl: Prüfungen“ beschreibt die durchgeführten Abfragen der an den Tagsearch-API-Endpoint bzgl. aller Kategorien.
„Letztes Prüfdatum“ beschreibt das Datum der letzten durchgeführten Prüfung.
„Zeitstempel – Überblick“ beschreibt den Zeitstempel des generierten Datenbanküberblicks