Anomaly detection for News: Finding new insights while combating misinformation

Leider bin ich in der letzten Google-DNI-Runde ebenfalls gescheitert. Fürs Logbuch… hier die Projektskizze:

Project title: Anomaly detection for News: Finding new insights while combating misinformation

Brief overview:

From a news standpoint, anomalies are extremely interesting because unexpected events, patterns and trends are very newsworthy in the best case or a sign of error and manipulation in the worst case.

Anomaly detection is the identification of rare items, events or observations which should raise suspicion (and curiosity) by differing significantly from the majority of the data. Anomalies are also referred to as outliers, novelties, noise, deviations and exceptions. [according to Wikipedia]

Implementing anomaly detection for news would help finding new insights while combating misinformation.

Detailed description:

Interesting is what is unexpected. Automatic anomaly detection can help identify what's the norm to flag the unexpected. The proposed tool works on a language level but mainly and most importantly on the information content, i.e. on facts hidden in deeper layers of story text.

It builds on my DNI project from round 2 (Structured News: Atomizing the news into a browsable knowledge base for structured journalism) to extract and transform all kinds of information contained in news text into normalized and highly structured data structures that intelligent algorithms are able to utilize.

The goal would be to monitor and track fast-paced news feeds and news wire for outliers, that is changes in the underlying phenomenon that is out of the ordinary but could not be observed without the comparison with larger background information that only automation can process.

The prototype would start with data types I have already worked with during the before mentioned DNI project. Reacting on the following types of changes would be my first and primary focus:

Anomaly detection could be an assistent tool for the newsroom and the individual journalist. It could be a new factor in ranking news and prioritizing effort. It could be of great value to generate novel ideas for news stories and data journalism. It could be a further component in the anti-fakenews campaign.

What makes your project innovative?

Anomaly detection is well-known for time series data, e.g. fluctuating numbers over time, like stock prices. It is also known for log file analysis, e.g. network security. I have not found many examples that take natural text as raw input. Applying the ideas to the news context seems to be a relatively unexplored and therefore worthwhile idea.

To make the tool as useful as possible it has to be able to look much deeper into story text and comparison than usually possible. It has to look beyond the language level into the actual information content. But this problem has been solved to the most part during my former DNI project (Structured News: Atomizing the news into a browsable knowledge base for structured journalism) so I can build on this.

The tool will learn from history but also uses external sources like Wikipedia for background checks. To establish a kind of fact database I will use a number of natural language processing and machine learning approaches I'm already familiar with and I'd also like to try some newer deep learning techniques that seem very promising.

My goal is to deliver a service to analyze an existing article collection as a baseline to compare new incoming stories against. The tool would flag and evaluate before mentioned changes in the underlying data. An additional user interface allows the user to define criteria in different categories (s)he is particularly interested in.

Basis for the project will be 12 years worth of web news crawl data collected by my service rivva.de.

How will your Project support and stimulate innovation in digital news journalism? Why does it have an impact?

This project adds a new dimension to identify novel information buried in a news stream while at the same time flagging probably false information by looking much deeper into an article's text than usually feasible.

It should be a great addition to the repertoire of tools at the fingertips of journalists and newsrooms. It cuts and filters through news feeds, news wire and individual articles in a very special manner. It takes information theoretic measures to quantify the interestingness of news to uncover most unexpected info.

Therefore, it should be a great source for new insights, story ideas and data journalism projects. Of course it should also help flag human error or consumer manipulation.

Because the tool looks for unexpected events, patterns and trends, it plays an important role as a monitoring/alarming system. That's where anomaly detection has traditionally been used for. So, integration with other systems used for this purpose (e.g. a dashboard, Slack agent or Twitter bot) could be worthwhile.


I have only found a research paper from 2014 (http://www.aclweb.org/anthology/C14-1134) that takes part of the suggested approach. My project is much more interested in movement in data buried in news texts in forms and magnitude that only automated tasks can handle the flow of new information.

Hilfe benötigt: Bitte unterstützt Rivva über Steady

Kann ich Euch irgendwie mit ins Boot holen, um Rivva.de als (auch integralen) Teil des offenen Internets zu retten?

Liebe Leserin, lieber Leser,

Rivva bittet um Deine Unterstützung.

Leider steht das Projekt einmal wieder auf der Kippe. Ich könnte wirklich dringend Eure Hilfe gebrauchen:

Über Steady kannst Du Projekten, die Dir richtig und wichtig erscheinen, mit einem monatlichen oder jährlichen Obolus unter die Arme greifen.

Mit drei, fünf oder zehn Euro im Monat ist viel getan – wenn sich nur genug Menschen für die Sache einsetzen.

Nach gut 12 Jahren sind alle anderen Versuche, den Dienst auf eine finanzielle Basis zu stellen, bedauerlich gescheitert. Meine Finanzreserven sind restlos aufgebraucht.

Um die Seite wenigstens aufrechtzuerhalten, im bestmöglichen Fall zu verbessern und auszubauen, möchte ich daher auf Steady zurückgreifen und hoffe hier auf Euren Rückhalt.

Die Seite dafür lautet: https://steadyhq.com/rivva

Von Herzen Dank,


Hilfe benötigt: Bitte unterstützt Rivva über Steady

Toxic Comments: Hosting better news discussions

Als ich diesen Projektvorschlag für den Google DNI Fund eingereicht habe, war ich so zuversichtlich – und meinte: „Das ist wichtig, das kann gar nicht abgelehnt werden.“ Leider doch!

Project title: Toxic Comments: Hosting better news discussions

Brief overview:

The internet is broken and we have to fix it. Recent years have seen an alarming increase in "toxic" communication in comments sections all around.

People wishing to express themselves are leaving the conversation because of abusive, hateful or otherwise anti-social speech. Several prominent news sites have shut down their discussions forums entirely, seemingly having given up on thoughtful audience feedback altogether.

I'd like to develop a tool for publishers that helps like a spam filter so that the civil exchange of ideas and different opinions becomes possible yet again.

Detailed description:

Todays tone and behaviour in news discussions is reaching toxic levels, ultimately driving intelligent people away. This happens at a great loss for societal progress because the story and discussion around the fireplace is an age-old tradition of our species.

The assumption being tested with this prototype is that the careful application of the so-called "broken windows theory" supported by a bag of matching moderation tools could help restore our values in online conversation. According to the broken windows theory, "visible signs of crime, anti-social behavior and civil disorder create an urban environment that encourages further crime and disorder […]. The theory thus suggests that policing methods that target minor crimes […] help to create an atmosphere of order and lawfulness […]." (source: Wikipedia)

Carefully moderated comments sections offer rich debate and useful information for both journalists and readers. And who is not pleasently surprised when the comments below an article turn out to be even more useful than the original article? Even though content moderation poses substantial time investment on the publishers' side, it saves a multitude of this time on the consumers' side to sort through comment columns. Equipped with better tool support, moderators could keep these democratically so important discussion spaces alive and at a lower cost, but not so lively that they have to be turned off. As we know, the dosage makes the poison.

The prototype will do a job comparable to your spam filter and predict the probability that a user comment demonstrates abusive or in other regards offensive language. Flagged comments could then be sorted in ranked order according to "toxicity" indicators or trending topic to point moderators to the most controversial or fastest developing poisonous comment threads that deserve their attention first. Nobody would dispense with their email spam filter but when it comes to content moderation we could do with much more and better tool support as well.

The same functionality could be provided to readers and commenters on the news site. Readers could choose themselves via slider interface to filter out comments above a certain threshold of profanity, while commenters would get immediate feedback on the consequences of their writing.

Comments that would likely register at toxic levels would include those that contain hate speech, are off-topic, contain name-calling, are without substance or fit other offensive criteria for being sent to moderation. Perspective API (see below) currently recommends that no comment be automatically banned by the algorithm. Human judgement should be the basis for the final decision. The tool would guide the moderator by ranking the comments in order of attention needed, and the moderator would guide the tool by making the final call that the tool can learn from for scoring future comments.

What makes your project innovative?

This project will supply a prototype implementation for identifying, classifying and managing toxic comments.

Because I am not a content provider myself this project would be transformative to me if I could become a technology provider in the respected area. Through the web crawl corpus that my service rivva.de has archived over the last 11+ years I'm in the unique position to compare and contrast conversational tonality and behaviour online over long periods of time. My goal is to sample this corpus of comments from news sites, blogs, forums, Twitter and Facebook to create the initial dataset for experimentation. Ideally the community would submit and flag even more training examples. I could include the possibility to label comments and therefore create a valuable dataset directly on rivva.de. It would fit. The site's focus has always been about the aggregation of different perspectives on the news. This repository of data then could establish a baseline and playground to evaluate the ideas described and implicated.

The technology built for this project will mainly include several natural language processing and understanding tasks.

Since language is highly ambiguous, advanced natural language understanding will be most crucial to the problem. This project would help me familiarize myself more with state-of-the-art deep learning models like convolutional and long-short-term-memory neural networks.

Key deliverables will be a new dataset of manually labelled comments for the machine learning task of classifying user generated content into different bins of toxicity as well as an API for easy integration of this task into benefitting systems.

It's essential that we account for multiple degrees of toxicity and possibly overlapping classes. What types of user comments are appropriate on a given site is usually highly dependent on its content and intended audience.

Although a team led by Google (Jigsaw) is experimenting on the very same frontier, the German language poses some unique problems in text analysis and therefore bears overlapping efforts. Especially since Germany has spearheaded the effort by its new law against hate speech.

How will your Project support and stimulate innovation in digital news journalism? Why does it have an impact?

Better tool support for the task of content moderation allows to host better conversations online.

When comments sections can be managed more effectively and more efficiently, more stories can be opened up to comments in less time. When commenters can directly get feedback on the comment they are producing, tonality and behaviour online should improve, because they want their thoughts to be published, not rejected. When readers can themselves sort comments by their toxic level, better comments sections translate into more user engagement and therefore more advertising revenue. All in all, trust in news organizations can be regained.

But most importantly, discussion spaces are way too important to leave to the big social networks. They are one of the pillars of the internet and we should fight for (almost) everyone of them. They act as a medium for change. Just think of Apple's famous "Think different" campaign: "Because they change things. They push the human race forward."


Perspective API by Jigsaw and Google's Counter Abuse Technology team is part of a collaborative research project called Conversation AI. Its alpha version is currently being used by Wikipedia, The New York Times, The Economist, The Guardian and the Coral Project. A Kaggle data science competition on the subject and sponsored by Jigsaw has just ended.

Communities that have been operating on manual moderation with quite a success and for quite some time, often assisted by karma points, up- and down-voting systems and community ground rules, include MetaFilter, Hacker News and Reddit.

Structured News, Monat 6: Visualisierung als Karte, Konzeptdiagramm und Sozialgraph, Klassifizierung von Textsorten

Widmete sich die erste Projekthälfte dem Problem, Text in schön strukturierte Daten zu transformieren, will ich auf der letzten Etappe einige Möglichkeiten evaluieren, aus den Datenstrukturen Lego-artig wieder ganz neue Nachrichtenprodukte zu generieren.

Mein Ziel ist es, wei­test­mög­lich das Living-Stories-Format zu adaptieren, dessen Prinzipien noch heißen:

Visualisierung als Karte, Konzeptdiagramm und Sozialgraph

Das Format ist einfach wie genial, ermöglicht es sowohl, sich einem unbekannten Thema zu nähern, als auch, an Themen längere Zeit dran zu bleiben.

Gleichermaßen sollten verschiedene Visualisierungsformen behilflich zur Seite stehen, um komplexere Zusammenhänge zu erforschen. Etwa kartographisch, konzeptionell oder konnektiv. Und dann intra Story wie inter Story.

Klassifizierung von Textsorten

Eine Unterscheidung in Textarten (und andere feingranulare Artikelmerkmale) erscheint intelligent, sobald Leser ihre Interessen gezielt selbst lenken können sollen. (Also eigentlich immer.)

Harte Grenzen zu ziehen, entpuppte sich dabei in der Praxis als knifflige Sache. Man muss weiche Klassen bilden.

Klassifizierung von Textsorten

Structured News, Monat 5: Relationsextraktion

Welche Verwandtschaft und Beziehungen bestehen zwischen benannten Entitäten? Diesen Monat wurden die Informationsschnipsel vorangegangener Monate zum Wissensgraph verknüpft.

Relationsextraktion ist die Aufgabe, Verbindungen zwischen Entitäten zu erkennen. Bringt man so in Erfahrung, dass zwei Entitäten in Beziehung stehen, könnte jeder andere Satz, der sie enthält, ebenfalls diese Relation ausdrücken. Der Wissensbaum wächst…


Relationen können binärer Natur sein, etwa (PERSON, ist-Mitglied-in, ORGANISATION), oder komplexer Zusammensetzung, möchten wir beispielsweise Geschehnisse detailliert abbilden können.

Auch die Faktenextraktion aus Monat 2 verfolgte den Zweck, Wissens-Slots zu füllen. Beim Extrahieren von Relationen kann nur zusätzlich ein Informationsschema mit ins Spiel kommen, je nach Abstraktheit der Fragestellung.

Aus den bisher extrahierten Entity-Beziehungen fand ich eine besonders spannend: (PERSON, sagte, ZITAT) fußt noch auf der Zitatdatenbank aus Monat 1, in der man nach Wer-sagt-was-über-ein-Thema recherchieren kann, wobei die sagte-Relation natürlich in viele verschiedene Ausdrucksformen aufgefächert werden kann:


Structured News, Monat 4: Begriffsklärung benannter Entitäten, Normalisierung, Verknüpfung

Mehrdeutigkeit, in Sprache in hohem Maße gegeben und in Schlagzeilen und Kurznachrichten vielfach sogar mit Vorsatz verwendet, stellt sprachverarbeitende Programme vor schwierigste Probleme. Mithilfe großer Wissensbasen und statistischer Inferenz können wir jedoch fehlende Weltkenntnis und gesunden Menschenverstand in Teilen simulieren.

Dieser Monat ging allein an die Datenbereinigung. Die letztes Mal extrahierten Entitäten wollten noch vereindeutigt, standardisiert und semantisch annotiert werden.

Für verlässliche Daten zu sorgen, gehört zu den wichtigsten und auch lohnenswertesten Aufgaben. Schlechte Datenqualität zieht im Allgemeinen gravierende Folgewirkungen auf anschließende Prozesse nach sich, immerhin kann jede Aus- und Verwertung nur so gut sein wie die zuvor erhobenen Daten.

Begriffsklärung benannter Entitäten

Problem Nummer eins war, dass Begriffe mehrere Bedeutungen haben und aus dem Kontext heraus auf eine Interpretation geschlossen werden muss. Identische Zeichen bezeichnen hier also unterschiedliche Objekte.


Der umgekehrte Fall tritt ein, wenn die selbe Sache mehrere Bezeichnungen kennt. Wir möchten diese Duplikate erkennen, normieren und zusammenlegen (dafür Identifikator vereinbaren).


Zu guter Letzt wollen wir alle unsere Datensätze möglichst tief in einer existierenden Ontologie oder Wissensbasis verankern. Als Ressourcen dienen sich hier Wikipedia oder Linked-Open-Data-Projekte wie DBpedia an.

Diese Wikifizierung schafft den Zugang zu einer Vielzahl impliziter Informationen, die im annotierten Text nicht explizit sind, und ermöglicht somit auch, eine Reihe von Aufgaben zu lösen, die sich aufgrund des alleinigen Textes eben nicht beantworten ließen.

Begriffsklärung benannter Entitäten

Ein simpler Trick zur Verbesserung eigens betriebener Suchfunktionen ist allgemein, die einleitenden Wikipedia-Paragraphen aller im Dokument erwähnten Begriffe als Mini-Dokument verkettet mit angemessenem Gewicht einfach mit in den Suchindex zu werfen.

Structured News, Monat 3: Eigennamenerkennung, facettierte Suchabfragen

Welche Personen, Organisationen, Orte und Produkte werden im Text erwähnt? In diesem Monat machen wir ein Häkchen an die wichtigsten Named Entities. Wobei uns stets die Mehrdeutigkeit von Sprache in die Quere kommt. Weshalb wir nächsten Monat noch unsere Daten bereinigen und annotieren werden.

Nicht ohne Sprachwitz titelte Google zur Einführung seiner semantischen Knowledge-Graph-Technologie einst "Things, not strings". Die Identifikation und Klassifikation von Eigennamen zählt von je her zu den Standardaufgaben in der Informationsextraktion.


Ein Eigenname ist eine Folge von Wörtern, die sich auf eine real existierende Entität bezieht. Von Interesse sind zum Beispiel:

Doch selbst die im vergangenen Monat behandelten numerischen Typen fallen im Information Retrieval gewöhnlich in das weite Themenfeld der sogenannten Named Entities:

Sobald wir diese Informationen automatisiert in Freitexten ein jeder Couleur entdecken können, lassen sich darüber schon verhältnismäßig genau die journalistischen W-Fragen einkreisen: wer? was? wo? wann? wie? warum?


Wir können sogar noch weiter gehen und jede Zeichenkette, die jemandem oder etwas einen Namen gibt, als Named Entity auslegen – je nach Anwendungskontext: chemische Formeln, gestalterische Arbeiten, historische Ereignisse, musikalische Werke, Filme, Gesetzestexte, Krankheitsbilder, Kunstwerke, Publikationen, Rezepte uvm.

Das Potenzial ist nahezu unerschöpflich, insbesondere wenn wir unsere Daten anschließend mit einem Schema – einem formalen Modell für die Struktur der Daten – ausstatten, um dieses dann kumulativ mit Metadaten auszuschmücken.

Eine Problematik ergibt sich daraus, sprachliche Zeichen (Eigennamen) auf eine Interpretation hin (das Bezeichnete) aufzulösen.

Sprache kann mehrdeutig sein (zum Teil gewollt). Nicht selten bezeichnen unterschiedliche Worte das selbe Objekt (gilt es zu normalisieren) oder es meinen identische Worte gänzlich verschiedene Objekte (zu disambiguieren).

Hinzu kommen die pathologischen Beispiele. Die Europäische Union können wir vorrangig gewiss als Organisation kategorisieren, als Wirtschaftsraum betrachtet könnte man sie jedoch gleichermaßen als Ort einordnen. Im Einzelfall und ohne Kontext meist selbst für Menschen unentscheidbar.

Facettierte Suchabfragen

Die Suchfunktion wurde indes zum Drilldown um eine Facettennavigation erweitert.

Facettierte Suchabfragen

Wie wir sofort einsehen müssen, treten die oben genannten Schwierigkeiten zutage: Dubletten, die sich nur in ihrer Oberflächenstruktur voneinander unterscheiden, semantisch allerdings die selbe Sache repräsentieren.

Solche Koreferenzen zu berücksichtigen, wird eine der Aufgaben im nächsten Monat sein.

Structured News, Monat 2: Faktenextraktion, Normalisierung temporaler Ausdrücke, einfache Suchabfragen

Im zweiten Teil der Serie beschreibe ich die Informationsextraktion simpler Fakten. Dabei unerlässlich ist die möglichst geschickte Umformung in eine Standardform, damit einmal gewonnene Informationen vergleichbar, sortierbar und damit durchsuchbar werden.

Im ersten Teil bin ich bereits auf den Aufbau der Zitatesammlung eingegangen, die als Musterexemplar für alle weiteren Datentypen dann auch allen technischen Unterbau für die Verarbeitung natürlichsprachlicher Texte motivierte.

Projektmonat 2 fügt viele weitere Datentypen hinzu für Faktendaten aller Art, die sich in digitalen Texten verbergen können.


Text referenziert in vielen Fällen wertvolle Kerninformationen. Etwa:

Zudem treten diese Angaben in verschiedenster Gestalt auf:

Wie das menschliche Auge können wir Parsing-Algorithmen dazu trainieren, derartige Textstrukturen zu identifizieren:


Weiß der Mensch diese Informationen noch augenblicklich in einen Kontext zu stellen, kann das Elektronenhirn hingegen oftmals nicht von selbst beurteilen, ob seine Ergebnisse plausibel sind. Wahrscheinlichkeiten geben daher den Grad an Gewissheit an.

Normalisierung temporaler Ausdrücke

Tauchen im Text zeitliche Angaben wie "gestern Abend" oder "vorige Woche" auf, müssen wir sie relativ zu einem Referenzdatum auffassen: in aller Regel dem Veröffentlichungsdatum des Artikels, manchmal wiederum in Bezug zu einem bekannten Ereignis ("ein Jahr nach Einführung") oder eines vorher genannten Objekts ("50 Kilometer weiter").

Letztlich wollen wir, wenn ein bestimmtes Ereignis zu einem nur umschriebenen Zeitpunkt stattfand, dieses Ereignis in kanonischer Form und mit möglichst spezifischen Zeitkoordinaten in unserer Faktendatenbank ablegen. Nach "gestern Abend" können wir nicht universell suchen, nach Ereignissen in einem bestimmten Zeitraum hingegen schon.

Einfache Suchabfragen

Das Extrahieren von Fakten lässt sich natürlich auch als Aufgabe zum Auffüllen von Wissens-Slots auffassen. Wollten wir beispielsweise für eine Wissensbasis den Slot ("Mietpreis", "2014", "Kreuzberg", ?) füllen, können wir unseren Textkorpus nach Textstellen absuchen, die eben diesen Kontext ("2014", "Kreuzberg") erfüllen. (In Monat 5 kommt dafür noch Relation Extraction ins Spiel.)

Mittelfristig sollen mächtigere Suchoperatoren wie "near: Context" und "between: Num1 and: Num2" es ermöglichen, relevante Treffer über sogenannte Fuzzy Queries auch in schwammiger Umgebung zu finden, wo starre Suchkriterien nur ins Nichts führen würden.

Structured News, Monat 1: Zitatedatenbank, Sätze & Sprache

In dieser Artikelreihe möchte ich aus meinem Google-DNI-Projekt berichten und schon ein paar vorläufige Resultate vorstellen. Im ersten Teil beschreibe ich den Aufbau der Zitatesammlung und führe erste linguistische Konzepte ein.

Die begründende Idee ist, journalistische Inhalte als strukturierte Daten und strukturierte Daten als journalistische Inhalte zu betrachten.

Dazu zerlege ich den Text zunächst in seine Grundbestandteile und setze sie anschließend zu einem Wissensbaum zusammen. Liegen Inhalte in so atomisierter Form vor, lassen sie sich wie Lego-Bausteine verwenden und flexibel neu kombinieren.

Dies wiederum ermöglicht einen hohen Grad persönlicher Medien, wo eine Geschichte für jede LeserIn individuell ausgespielt werden kann, abhängig von ihrem Gerät, ihrem Zeitbudget und ihren Informationsbedürfnissen. Die Entbündelung der Nachricht könnte somit effektiv eine Antwort auf die Entbündelung von Nachrichten sein.

Das Gesamtvorhaben ist recht umfassend hier im Blog skizziert: Structured News: Atomizing the news into a browsable knowledge base for structured journalism (November 2016).


Mein erster Datentyp sollten Zitate direkter Rede sein.

Zum einen wollte ich darüber meine technische Pipeline so weit wie möglich unter Dach und Fach bekommen, und Zitate sind - selbst bei kompliziertem Satzbau - noch einfach genug und berühren dennoch fast alle Verarbeitungsschritte.

Zum anderen liefert die Zitatesammlung interessante Erkenntnisse, kann man mit ihrer Hilfe doch beispielsweise die politischen Positionen der Parteien in Aspekten vergleichen oder ihren Sinneswandel zeitlich rückverfolgen. Beispiel "Mietpreisbremse":


Später in Monat 3 wird noch die Person dazu erkannt und in Monat 5 auch die Beziehung zur Rede, ob jemand also etwas "sagt", "behauptet", "vermutet", "warnt", "kritisiert", ...

Finale Datenstruktur des Wortlauts ist schließlich ein 3-Tupel (oder semantisches Tripel aus Subjekt, Prädikat, Objekt):

("Steffen Sebastian", "sagt",
 "De facto läuft die Mietpreisbremse ohne Mietspiegel ins Leere")

Sätze & Sprache

Nur kurz am Rande, da weniger interessant, aber Voraussetzung und oftmals hilfreich: Den Text vorher in Sätze segmentieren und für jeden Satz die primäre Sprache ermitteln.

Leider gibt es manchmal gegenseitige Abhängigkeiten zwischen diesen beiden Aufgaben. Besonders bei Texten aus sozialen Medien kann die Mehrarbeit leicht überhandnehmen.

WirtschaftsWoche Pro: Recherchewerkzeug mit Newsletterversand

Von Holger Windfuhr und Frank Westphal

Letzten Sommer haben wir gemeinsam ein kleines, intelligentes Tool entwickelt, das Fachredakteuren bei der Informationsrecherche, Kuration und Newsletterveröffentlichung behilflich sein soll. Diesen Mai nun hatte WiWo.Pro seinen Stapellauf. Ein kurzer Projektsteckbrief und Werkstattbericht unserer Erfahrungen.

Die Idee für das Projekt war noch ein Jahr früher geboren. Holger hatte ein themenspezifisches Recherchetool vor Augen, mit dessen Hilfe man

Please meet WiWo.Pro.



Die kleine eigene Suchmaschine

Zur individuellen Themenrecherche sollte jeder Redakteur die Möglichkeit bekommen, seine bevorzugten Quellen einzustellen. Um Bias und Filterblase zu umgehen, wollten wir dabei möglichst nah an Originalquellen und Autoritäten herankommen und die Entwicklungen direkt aus Universitäten, Forschungseinrichtungen, Unternehmen, Fachpresse und Expertenmeinungen aufgreifen.

Aus diesem Grund nutzen wir einen fokussierten Web-Crawling-Ansatz, den jeder Redakteur jederzeit mit einem kleinen Stups darin steuern kann, wie wichtig welche Quelle für eine Branche ist. Fürs erste kann unser Tool das große weite Web absuchen wie auch Twitter. Weitere Datenquellen ließen sich jedoch leicht anschließen. So wäre beispielsweise ein E-Mail-Gateway denkbar oder eine Schnittstelle zum Import von Rich-Text-Dokumenten wie PDF, MS Word & Co.

Meine Schlagwortwolke, meine Trefferliste

Dennoch sind viele Artikel relevanter Quellen nicht zwangsläufig auch von hoher Relevanz. Es galt die große Menge eingehender Dokumente noch danach zu filtern, ob ihre Inhalte tatsächlich dem gesuchten Themenfokus entsprechen. Dazu mussten wir den eigentlichen Inhalt einer Webseite im HTML-Dokument erst einmal identifizieren, extrahieren und textlich analysieren.

Unser erster Testpilot Andreas Menn schlug deshalb zur Schwerpunktsetzung ein minimales Interessenprofil vor. Über zwei Arten von Schlagworten kann jeder Redakteur nun sehr genau sein Themenspektrum definieren und somit steuern, welche Artikel für die eigene Trefferliste relevant sind (notwendige Keywords) und welche die Wichtigkeit noch steigern (zusätzliche Keywords).



Recherchieren, kuratieren, publizieren

Das Werkzeug sollte möglichst flexibel einsetzbar sein. Ob zur reinen Recherche, zum Bespielen der sozialen Plattformen oder zur Produktion regelmäßiger Newsletter, wir wollten eine möglichst einfache Basis schaffen und viele verschiedene Workflows unterstützen.

Unsere Benutzerschnittstelle führt daher wie ein Trichter auf unterschiedliche Endprodukte hin, schreibt den Nutzern jedoch keinen starren Arbeitsablauf vor. Drei im Wesentlichen identische Ansichten lassen den Redakteur flexibel zwischen generierten Suchtreffern, eigener Merkliste und verfassten Texten hin und her wechseln.

Eine Newsletter-Vorschau stellt die vom Redakteur kuratierte und kommentierte Auswahl von Links letztlich im späteren Mail-Template dar. Das Mailing kann dann sofort versendet oder für einen festen Zeitpunkt geplant werden. Das Responsive Design der E-Mail war leider kein leichtes. Da MS Outlook kein einfaches Ziel ist, haben wir hier viel Zeit verloren.

Empfehlungsmaschine (noch beta)

Suchtreffer können immer mal falsch positive Ergebnisse enthalten. Zunächst hatten wir vor, die Algorithmen mit einem als-Spam-markieren-Knopf zu trainieren. Da Menschen falsch eingeordnete Artikel jedoch meist sehr zuverlässig erkennen, haben wir uns schließlich für die entgegengesetzte Strategie entschieden und eine einfache Empfehlungsmaschine gebaut.

Zum über-den-Tellerrand-schauen greifen wir jetzt auf einen Random Walk aktueller Webseiten zurück, die mittels eines neuronalen Netzwerks nach Relevanz klassifiziert werden. Die generierten Ergebnisse sind, obwohl wir nicht viel Zeit in die Maschinerie stecken konnten, von erstaunlich guter Qualität.

Da die Artikel allerdings aus einem unstrukturierten Web-Crawl stammen, fehlen uns zu einigen Quellen nur oft wichtige Metadaten. So können wir den Publikationszeitpunkt einiger Dokumente zum Beispiel nur heuristisch ermitteln und somit die für einen Newsletter notwendige Aktualität noch nicht vollständig per Automatik gewährleisten.

Aktivitäten-Stream für die Teamarbeit

Wird ein Fachthema von mehreren Redakteuren betreut, und sei es auch nur zur Urlaubsvertretung, so wollten wir die Zusammenarbeit gerne darin unterstützen, dass die Kommunikation untereinander so weit wie möglich in der App selbst stattfinden kann.

Inspiriert durch Open-Source-Plattformen wie GitHub bieten wir deswegen einen News-Feed jüngster Aktivitäten an. Denkbar wären hier noch themenübergreifende Mitteilungen, um interessante Links direkt an den Themenkanal von Kollegen senden zu können. Oder eine Undo-Funktion für wichtige Aktionen.



Maschinelles Lernen lässt das Tool fortlaufend dazulernen

Der Dienst ist gerade erst gestartet. Mittelfristig wünschen wir uns jedoch, dass das Tool mit der Zeit aus den Präferenzen der Redakteure automatisch lernt, passendere Ergebnisse zu liefern.

Überaus nützlich wäre zum Beispiel, die Nutzer darüber zu informieren, welche ihrer Quellen und Schlagworte überdurchschnittlich effektiv genutzt werden, welche eigentlich unterdurchschnittlich. Wir könnten neue Quellen und Schlagworte automatisch vorschlagen, ihre Gewichte je nach Nutzungsszenario tunen und korrigieren, die Empfehlungsfunktion zentraler integrieren... Mit etwas Data Science lässt sich das Produkt weiter und weiter verbessern.


Für die tolle Zusammenarbeit ein herzliches Dankeschön an das WiWo.Pro-Team: Holger Windfuhr, Léa Steinacker, Andreas Menn, Jan Lepsky.

Holger Windfuhr ist zum Jahresbeginn als Art Director zu Frankfurter Allgemeine Zeitung gewechselt.

Das WirtschaftsWoche-Projekt wurde gefördert durch die Google Digital News Initiative.

Die ersten beiden WiWo.Pro-Newsletter zu Industrie 4.0 und Pharma können Sie jetzt auf wiwo.de abonnieren.

Updates: Das Produkt heißt inzwischen ProFound. Als weiteres Thema gestartet: Cybersicherheit. Alle Experten-Newsletter.


Archiv: 2019 (2)   2018 (5)   2017 (3)   2016 (3)   2015 (1)   2014 (2)   2013 (8)   2012 (11)   2011 (4)   2010 (8)   2009 (18)   2008 (12)   2007 (17)   alle (94)