Augenblicke – Eine statistische Analyse des Flirt-Portals der BVG

Im Frühjahr 2006, mehr als 6 Jahre bevor Tinder die Herzen der Smarthphone-Besitzer im Sturm eroberte, startete die BVG auf ihrer Seite ein Portal mit dem Namen “Augenblicke”. Im Gegensatz zu Tinder sind sich die Nutzer von Augenblicke am meist schon einmal über den Weg gelaufen – nämlich in einem der Zahlreichen Fahrzeuge der BVG oder S-Bahn.

Einführung in Stemming und Lemmatisierung deutscher Texte mit Python

Um beim Text Mining zusammengehörende Wörter zu gruppieren, bedient man sich im Natural Language Processing (NLP) zweier Methoden: Lemmatisierung (lemmatising) und Stemming. Das ist notwendig, um z.B. einen Text besser kategorisieren bzw. mit Stichworten versehen zu können. Eines der wichtigsten Anwendungsgebiete ist sicherlich die Indexierung von Dokumenten durch eine Suchmaschine. Ein ganz einfaches Beispiel: Enthält ein Dokument sehr oft das Wort Häuser und der Nutzer sucht nach dem Begriff Haus, wird das relevante Dokument wohl nicht in den Suchergebnissen auftauchen.

Um das zu umgehen, müssen flektierte und abgeleitete Wörter zu Ihrer Grundform zurückgeführt werden. Beim Stemming werden dazu einfache heuritische Methoden angewendet, bei dem das Suffix der Wörter entfernt wird. Aus dem Wort Katzen wird so dessen Grundform Katze. Bei der Plural-Form Häuser ist das etwas schwieriger. Mit dem Abschneiden des Suffixes kommt man hier nicht weit, weshalb man sich bei der Lemmatisierung an Listen bzw. Datenbanken orientiert, die die reflektierte Formen enthalten und so eine sichere Verknüpfung von Häuser zur Singular-Form Haus erlauben.

Soviel zur Theorie. In der Praxis gibt es Python und eine Vielzahl von Modulen, die einem eine Menge Arbeit abnehmen. Im Folgenden vergleiche ich ein halbes Dutzend Module, die die Lemmatisierung und das Stemming beherrschen und auch für Deutsche Texte anwendbar sind.

Hinweis: Zur Vorbereitung beim Text Mining gehören natürlich auch das Säubern des Textes, Entfernen von Stop-Wörtern und das Tokenizing, also Aufbrechen eines Satzes in seine einzelnen Bestandteile. Diesen Schritt überspringe ich hier.

Weiterlesen

Online Marketing killed the Internet Star

Das Internet. Unendliche Weiten. Wir schreiben das Jahr 2020. Das Internet hat eine beachtliche Menge populärer Dienste groß gemacht: E-Mail. Video-Streaming. Vernetzte Kühlschränke. Smart-TV. Und allen voran das World Wide Web, kurz WWW oder auch das Web – für die meisten wohl der Star des Internets.

Online Marketing hat das Web vielleicht nicht umgebracht, aber mindestens nachhaltig geprägt. Doch der Song von The Buggles heißt nun mal nicht Video hat den Radio-Star nachhaltig geprägt

Weiterlesen

Das Memory Limit von PHP und WordPress erhöhen – die vollständige Anleitung

Das Memory Limit, sprich die Speichergrenze, von PHP ist für viele oft ein Rätsel. Es ist nicht klar, wie bzw. wo es gesetzt wird und welche Auswirkungen die unterschiedlichen Einstellungsorte haben. Viele Anleitungen sind oft unvollständig, und tragen damit eher zur Irritation bei. Denn tatsächlich gibt es unzählige Möglichkeiten das Memory Limit zu setzen:

  • super-global in der php.ini
  • global in der pool.conf, bei Verwendung von PHP-FPM
  • oder global in der httpd.conf (Apache) oder server.conf (nginx)
  • auf Ordner-Ebene in der user.ini
  • auf Ordner-Ebene in der .htaccess-Datei
  • auf Applikations-Ebene über die WordPress-Konstanten WP_MEMORY_LIMIT und WP_MAX_MEMORY_LIMIT
  • oder auf Datei-Ebene im Script mit ini_set();
Unterschiedliche Orte, um das PHP Memory Limit (und andere Parameter) zu setzen

Die Reihenfolge entspricht übrigens der Hierarchie. Wird das Limit also im PHP-Script mit ini_set() gesetzt, überschreibt das die Einstellung in der httpd.conf oder server.conf. Wie sich das vermeiden lässt, dazu unten mehr. Das trifft natürlich nicht nur auf das Memory Limit, sondern so ziemlich jede PHP-Einstellung zu.

Außerdem hängen die Möglichkeiten stark davon ab, wie du PHP nutzt, also ob als Modul oder über CGI. Um das Vorgehen besser zu verdeutlichen, gehe ich im Folgenden von zwei WordPress-Setups aus. Einmal wird nginx als HTTP-Server genutzt und dort PHP-FPM über CGI angesprochen. Das zweite Setup nutzt Apache2 als HTTP-Server und dort PHP als Modul (php-mod).

Weiterlesen

Das Ticket-Preis-System der Deutschen Bahn – oder: wie findest du den optimalen Fahrschein-Preis?

Update 3.10.2020 – Flexpreis Plus, siehe Teil 1

Ich reise gerne. Nicht viel, aber gerne. Am liebsten jage ich mit einem Porsche Cayenne quer durch die Republik. Auf der linken Spur der Autobahn. Mit 250 Sachen. Der linke Blinker im Dauerbetrieb. Den Finger am Hebel für die Lichthupe, wie an einem Abzug.

Die Sache hat natürlich einen kleinen Haken: Ich habe weder einen Porsche noch eine Tankkarte mit Flatrate. Ich hab nicht mal ein Auto, das 250 km/h fährt.

Ich fahre aber auch sehr gerne mit der Bahn. Am liebsten in der 1. Klasse. Bequeme Sitze, ein Schokoherzchen zur Begrüßung, Sitzplatzreservierung inklusive, breite Ledersitze sowieso. Und dann sitze ich da und schaue verträumt nach links aus dem Fenster, zur Autobahn, wo ein paar Unverbesserliche im Stau stehen.

Weiterlesen

Leitfaden für ein sicheres und schnelles WordPress-Setup

Das Thema Geschwindigkeit liegt bei uns allen ganz weit oben auf der Agenda. Oft allerdings nur passiv, wenn man ungeduldig auf der Tastatur trommelt und auf das Laden einer Internetseite wartet. Aktiv fehlt oft der richtige Impuls. Was kann man noch tun, außer die Bilder kleinzuhalten, um WordPress zu beschleunigen?

Hier möchte ich dir ein paar einfache Tricks vorstellen, um die Geschwindigkeit deiner WordPress-Seite zu optimieren. Und da neben der Geschwindigkeit die Sicherheit ein weiteres beliebtes Thema ist, werde ich auch dazu ein paar kleine Kniffe mit großer Wirkung zeigen. Doch zunächst ein paar…

Weiterlesen

CSS über den HTTP-Header ausspielen

Jeder kennt das Problem: Man hat stundenlang an einem Stylesheet auf dem Staging-Server rumgebastelt, will es nun auf den Live-Server kopieren und die Änderung ist nicht sichtbar. Die Fehlersuche beginnt. Man prüft den Cache. Vom Browser. Vom Server. Ist man überhaupt auf dem richtigen Server? Hat der Upload geklappt? Und so weiter. Eric Meyer hat … Weiterlesen