Schreiben Sie noch Texte oder haben Sie einen Textroboter?

Schreiben Sie noch Texte oder haben Sie einen Textroboter?

26. Mai 2021

Matthias Lindstädt

Was ist ein Textroboter (NLG)?

Als „Natural Language Generation“ (NLG) bezeichnet man die automatische Produktion von natürlicher Sprache durch eine Maschine. Die Generierung von Texten ist als Teilbereich der Computerlinguistik eine besondere Form der künstlichen Intelligenz. Textroboter sind Softwareprogramme, die dies umsetzen.

Kurz ein Blick auf aktuelle Namen und Beispiele, die man vielleicht schon mal gehört hat:

BERT System (Bidirectional Encoder Representations from Transformers)

Hierbei handelt es sich in erster Linie um ein Übersetzungstool, das auf Basis von Encoding arbeitet. Man kann sich das so vorstellen, dass Wörter einen Code zugewiesen bekommen. Das Besondere ist, dass dieses Encoding kontextbasiert ist. D.h. es wird nicht nur einfach für ein Wort ein Code vergeben, sondern es wird auf den Kontext des Wortes geachtet. Ein einfaches Beispiel wäre das Wort „aufstellen“. Ich kann eine Leiter aufstellen, ich kann aber auch eine These aufstellen. Dadurch, dass sich der Kontext ändert, bekommt das Wort eine ganz andere Bedeutung. Das wird von BERT mitbetrachtet, indem jeder Bedeutungsmöglichkeit ein Code zugewiesen wird.

Ein anderes System ist GPT (Generative Pretrained Transformer). Hierbei werden extrem viele Daten und Textmengen eingelesen und das System schafft es dann ohne weiteres Training gewisse Aufgaben zu erfüllen. Es kann beispielsweise Kurztexte schreiben, erste Anfragen beantworten, kleine Rechenaufgaben lösen und sogar selbstständig Programmcode schreiben und das alles sozusagen allein durch eine enorme Menge an Daten als Input.

Speziell im Bereich E-Commerce sind die Systeme NLG Cloud von AX Semantics und Textengine von Retresco die beiden bekanntesten in Deutschland. Diese beiden nutzen auch wir, dazu weiter unten mehr.

Aktuelle Einsatzbereiche

Wo wird aktuell automatische Textgenerierung genutzt? Die Einsatzgebiete sind sehr vielfältig: ganz oben stehen Produktbeschreibungen, darum geht es uns im E-Commerce natürlich in erster Linie. Aber es gibt auch ganz andere use cases: ein Textroboter kann z.B.

Börsenberichte schreiben, er kann Sportberichterstattung machen – im Prinzip kann er jegliche Art von Text schreiben, solange er hochwertige und strukturierte Daten als Grundlage hat. Die Daten sind der Schlüssel zum Erfolg!

Wie funktioniert das eigentlich mit der Textgenerierung?

Notwendige Schritte

Als erstes müssen wir dazu wissen, dass der Textroboter nicht einfach so loslegen kann. Es sind erst einmal die oben dargestellten Schritte notwendig, die ich nun näher erläutern möchte.

Schritt 1: Verfeinerung des Datenmodells

Der Textroboter benötigt genau wie ein Redakteur, der einen Text schreiben möchte, erst einmal grundlegende Informationen. Er braucht Daten. Diese Daten müssen einen gewissen Qualitätsstandard haben, damit der Textroboter effektiv arbeiten kann. Die vier wichtigsten Punkte bezüglich Datenqualität sind: Verfügbarkeit, Vollständigkeit, Konsistenz, Granularität.

Verfügbarkeit und Vollständigkeit sind recht trivial: meine Daten sollten zu jeder Zeit verfügbar sein, damit meine Texte generiert werden können. Vollständig sein sollten sie sowieso, denn wenn irgendwo ein Wert fehlt, dann weiß weder Mensch noch Roboter was er an der Stelle schreiben soll.

Konsistenz ist ebenfalls sehr wichtig: die Daten müssen korrekt sein, sie müssen konsistent sein. Ich darf z.B. keinen Zahlenwert im Feld für die Farbe haben.

Und dann noch die Granularität: wenn ein Unternehmen einen Textroboter einsetzen möchte, dann ist zunächst einmal der Blick aufs Datenmodell sehr wichtig. Dabei stellt man häufig fest, dass die Daten nicht feingliedrig genug sind. Das schauen wir uns zum besseren Verständnis mal an einem Beispiel an:

Links ist die Ausgangssituation: ein Produkt hat ein Datenfeld, unter den Eigenschaften steht „legeres dunkelblaues Kleid“. Das ist für die nachträgliche Bearbeitung sehr unvorteilhaft, da es sich um mehrere Informationen in einem Feld handelt. Das Kleid ist eigentlich keine Eigenschaft, sondern die Produktbezeichnung. Die beiden anderen Wörter „legeres“ und „dunkelblaues“ sind Beschreibungen des Kleids. Aber auch diese beiden kann ich noch genauer trennen, indem ich sage „leger“ ist der Stil und „dunkelblau“ ist die Farbe. Das heißt aus dem Datenfeld mit drei Informationen sind nun drei unterschiedliche Datenfelder geworden. Dies hilft zur weiteren Bearbeitung ungemein.

Schritt 2: Dateninterpretation

In diesem Schritt schaue ich mir an, was ich anhand meiner Daten für einen Mehrwert an Informationen generieren kann. Hier mal als Beispiel das Thema Lampen:

In der ersten Spalte haben wir einen rein technischen Wert, nämlich die Farbtemperatur in Kelvin. In der zweiten Spalte wird es dann schon beschreibender, bei einer Farbtemperatur von 2700 Kelvin spricht man z.B. von Warmweiß. Die dritte Spalte ist noch detaillierter, es geht über die reinen Daten hinaus, man interpretiert sozusagen die Farbwirkung und schreibt z.B. von einem angenehm warmen und gemütlichen Licht. In der letzten Spalte kommt dann noch eine Empfehlung hinzu, wo ich diese Art von Licht am besten einsetzen kann, z.B. im Wohnzimmer.

Damit erleichtert man dem Textroboter die Arbeit. Er kann so von einer rein technischen Angabe auf etwas schließen, was für den möglichen Käufer dann am Ende wirklich relevant ist. Denn wenn man eine Lampe sucht, wird man vermutlich nicht nach „Lampe mit 2700 Kelvin“ suchen, sondern eher nach „Lampe fürs Wohnzimmer“. Die Anbieter von Textrobotern übernehmen oft auch die Bearbeitung der Dateninterpretationen oder haben Partner, die dies erledigen. Man kann es aber natürlich auch selbst machen.

Schritt 3: Training des Textroboters

An dieser Stelle kann man den wohl größten Trugschluss, den es über Textroboter oder automatische Sprachgenerierung gibt, aufdecken. Denn es ist so: Textroboter werden durch menschliche Redakteure trainiert. Das bedeutet, der Redakteur oder die Redakteurin gibt die Formulierungen vor. Der Textroboter hat sich seine tollen Sätze also gar nicht selbst ausgedacht, sondern sie kommen immer noch vom menschlichen Autor. Das Einzige, was der Textroboter uns abnimmt, ist die Produktion sehr vieler Texte auf Basis von Daten und Regeln. Der Mensch bleibt federführend in Bezug auf Struktur, Tonalität und Intention des Textes. Die Formulierungen kommen also vom Menschen, die Maschine baut den Text nach den vorgegebenen Regeln zusammen. Je mehr Formulierungen und Regeln man dem Programm beibringt, desto besser werden die Texte.

Doch wie genau trainiert man nun einen Textroboter? Dazu habe ich einen kleinen Datensatz mit verschiedenen Gartenzäunen vorbereitet. Für jedes Produkt sind Daten hinterlegt und es gibt bereits einen generierten Text:

„Passt in alle Gärten und hält Wind und Wetter stand: der Gartenzaun von Gartenfreude. Mit einer Höhe von 100 Zentimetern ist die Schönheit Ihres Gartens weiterhin von außen zu bewundern. Für die Herstellung wurde hochwertiges Holz verwendet. Durch die unempfindliche Oberfläche, welche pulverbeschichtet ist, wird das Material bestens geschützt. Ein echter Hingucker für jeden Garten.“

Den Aufbau dieses Textes schauen wir uns im Folgenden genauer an.

Am Anfang steht das Intro „Passt in alle Gärten und hält Wind und Wetter stand“. Hierbei handelt es sich um eine feste konstante Aussage, die auf alle Produkte der Kategorie zutrifft und die keine individualisierten Felder enthält.

Anders sieht es da schon im zweiten Teil des Satzes aus „der Gartenzaun von Gartenfreude“. Hier gibt es gleich zwei Datenfelder. Beim Gartenzaun wird die jeweilige Produktbezeichnung eingefügt und anschließend die Marke.

Noch interessanter wird es bei dem folgenden Satz „Mit einer Höhe von 100 Zentimetern ist die Schönheit Ihres Gartens weiterhin von außen zu bewundern.“ Hier ist zum einen ein Datenfeld hinterlegt, bei dem die Höhe eingefügt wird und zum anderen ist dort eine Regel hinterlegt: bei allen Zaunelementen, die kleiner als 180 Zentimetern sind, erscheint der Satzteil „ist die Schönheit Ihres Gartens weiterhin von außen zu bewundern“, bei allen Zaunelementen, die gleich oder größer als 180 Zentimetern sind, geht der Satz weiter mit „dient das Gartentor hervorragend als Sichtschutz“.

„Für die Herstellung wurde hochwertiges Holz verwendet.“ Hier gibt es ein Datenfeld, dass auf das Attribut des Materials zugreift.

Wenn ich spezielle Eigenschaften hervorheben will, die nur bei manchen Produkten vorhanden sind, kann ich dementsprechende Trigger verwenden. Das ist bei dem Satz „Durch die unempfindliche Oberfläche, welche pulverbeschichtet ist, wird das Material bestens geschützt“ genutzt worden. Die Pulverbeschichtung ist ein besonderes Merkmal bei der Oberfläche und deshalb soll dies auch im Text verdeutlicht werden. Der Trigger sagt, bei allen Produkten, bei denen der Wert pulverbeschichtet vorkommt, wird dieser Satz ausgespielt. Bei allen Produkten, bei denen pulverbeschichtet nicht vorkommt, erscheint der Satz „Die Oberfläche des Gartenzauns ist kunststoffbeschichtet“, wobei kunststoffbeschichtet dann wieder das individuelle Datenfeld der Oberfläche ist.

Am Ende steht das Outro „Ein echter Hingucker für jeden Garten.“ Ich möchte allerdings nicht immer das gleiche Outro in meinen Texten haben, sondern es soll variieren. D.h. ich füge einfach beliebig viele allgemeingültige Outros hinzu und die Software wählt nach Zufallsprinzip eines davon aus. So werden meine Texte immer individueller.

Nutzen und Aufwand
Nutzen von Textrobotern

Ganz offensichtlich sind Textroboter natürlich hilfreich in Sachen Quantität: Habe ich einmal meine Regeln definiert und meine Aussagen formuliert, habe ich die Möglichkeit in kürzester Zeit hunderte oder sogar tausende Produkttexte zu erzeugen.

Aber auch die Qualität der Texte wird besser, denn der Redakteur weiß: Ich muss keine 100 Texte schreiben bis zu dem und dem Datum, sondern kann mich darauf konzentrieren, wie ich die einzelnen Sätze bestmöglich formulieren kann.

Ein weiterer wichtiger Punkt ist das Thema Lokalisierung. Ich kann ziemlich schnell neue Sprachen implementieren, indem ich einfach Templates für andere Sprachen einrichte und so mit einem Klick die neuen Sprachen für meine Shops bereitstellen kann.

Es kann sein, dass eine ganz neue Produktreihe in mein Sortiment dazukommt und genau das auch textlich erwähnt werden soll. Wenn man das jetzt manuell in die einzelnen Produkte einpflegen und nach einem Monat wieder herausnehmen müsste (weil die Produkte dann nicht mehr neu sind), wäre das ein sehr großer Aufwand. Mit einem Textroboter ist das aber problemlos möglich. Genauso bin ich auch in der Lage schnell eine komplette Kategorie anzupassen, sei es, weil irgendein neues Feature dazugekommen ist oder weil sich z.B. etwas Juristisches geändert hat, was jetzt schnell in alle Texte eingefügt werden muss.

Auch das Thema SEO spielt eine Rolle. Es fängt schon damit an, dass beispielsweise viele Shops im E-Commerce-Bereich einfach die Produkttexte übernehmen, die der Lieferant mitgibt. Das führt natürlich dazu, dass man in diversen Onlineshops dieselben Produkttexte findet und aus Suchmaschinensicht ist das nichts Positives. Durch individuelle Texte kann man so ganz einfach bessere Platzierungen erzielen.

Zuletzt geht es um die Personalisierung. Ich kann z.B. meine Kunden auf Basis demografischer Daten persönlich anschreiben. Oder ich habe für ein Produkt verschiedene Texte abhängig vom Kanal, also z.B. ein Template für meinen eigenen Onlineshop und ein anderes Template für Amazon & Co. Da geht es um die Strukturierung der Texte, aber auch um die Tonalität.

Initialer Aufwand

Was man allerdings nicht verschweigen sollte, ist der initiale Aufwand. Ich sage ganz bewusst initialer Aufwand, denn je länger ein Textroboter im Einsatz ist, desto effektiver wird er. Der initiale Aufwand besteht darin, dass die Redakteure den Umgang mit der Software erlernen und ihre neue Rolle als „Text-Architekten“ (siehe Infobox) annehmen müssen. Man muss den Textroboter erst einmal trainieren, sprich die verschiedenen Daten und Regeln müssen in der Software hinterlegt werden. Zusätzlich kostet der Aufbau von Domänenwissen Zeit. Doch wenn man diese Vorarbeit erst einmal geleistet hat, dann kann der Textroboter innerhalb von Minuten tausende Texte generieren. Ab dann haben wir sozusagen exponenzielles Wachstum im Bereich der Texterstellung.

Textroboter und PIM-Integration

Wie schon bei den Kriterien der Datenqualität bezüglich der Funktionsweise eines Textroboters gesagt: Strukturierte und hochwertige Produktdaten sind die Voraussetzung für die Textgenerierung. Und genau deshalb ist ein PIM-System die ideale Basis.

Es gibt im PIM-System eine vordefinierte Wertemenge, in den Attributen steht niemals irgendein Quatsch drin. Es kommt z.B. nicht vor, dass irgendwo eine Zahl steht, wo keine hingehört usw. Auch das Thema Vollständigkeit ist durch das PIM-System gegeben, da man darüber prüfen lassen kann, ob Daten für alle Attribute gepflegt sind. Man kann außerdem festlegen, welche Attribute Pflichtattribute sind, sprich solange diese nicht gepflegt sind, beginnt der Textroboter gar nicht erst mit seiner Arbeit und meldet, dass noch wichtige Infos fehlen. Umgekehrt, wenn alle Pflichtattribute ausgefüllt sind und nur noch welche offen sind, die für die Erstellung eines Textes nicht von Belang sind, kann der Textroboter starten.

Sobald der Textroboter ins PIM-System integriert wurde, können die Texte aus dem PIM heraus generiert werden und man muss gar nicht mehr in die Maske des Textroboters gehen.

Und wenn es ausnahmsweise mal Texte geben sollte, die sehr speziell sind und auf die kein allgemeingültiges Textroboter-Template passt, ist dies auch überhaupt kein Problem. Dann schreibt man den Text einfach selbst und sagt dem Textroboter, dass er diesen Text nicht beachten soll.

Fazit

Textroboter sind im Grunde alternativlos bei der effizienten Generierung dynamischer Texte. Und ein PIM-System ist ideal, um den Textroboter mit hochwertigen Produktdaten zu versorgen. Durch die Verbindung beider Systeme eröffnen sich neue Möglichkeiten für Ihr Online Business. Wenn Sie Interesse an weiteren Informationen dazu haben, kontaktieren Sie mich gerne und wir können einen Gesprächstermin vereinbaren.