Content Task Force (CTF) oder die Kunst der Datenrückgewinnung

Tabelle 1
Tabelle 2

Bei der Einführung von „medienneutralen" Produktdatenbanken ist ein zentrale Aufgabenstellung die Erstbefüllung der Produktdatenbank mit Daten. Neben der kompletten Neustrukturierung und der manuellen Erfassung der Produktdaten gibt es auch die Möglichkeit, Produktinformationen aus den vorhandenen DTP-Dokumenten zu recyclen.

In diesem Zusammenhang kommt die Content Task Force, kurz CTF, ins Spiel. CTF ist eine Dienstleistung, die ein Unternehmen erbringt, um Inhalte softwaregestützt aus den DTP-Dokumenten in strukturierter Form zu erzeugen.

Wann macht CTF überhaupt Sinn?
Bevor man sich mit der Frage CTF ernsthaft beschäftigt, sollte man eine Kostenabschätzung durchführen. Hierbei betrachtet man die Anzahl, die Struktur, die Sprachvarianten und die Menge der Informationen pro Seite, die übernommen werden sollen. Falls die Anzahl nur bei ca. 30-50 Seiten pro Sprache liegt, lohnt sich der Aufwand einer automatischen Datengewinnung kaum. Bei größeren Umfängen kann der Einsatz von Software durchaus sinnvoll sein.

Möglichkeiten und Grenzen Im Folgenden sollen die Möglichkeiten und Grenzen beschreiben werden, QuarkXPress oder Adobe InDesign-Daten und deren Relationen als Datenbasis zu nutzen: Wie stellt man es an, die werblichen Beschreibungen, Artikelbeschreibungen, Preise, technische Werte etc. aus den DTP-Formaten in eine Datenbank zu bekommen.

Nach Sichtung der verfügbaren Datenquellen stellt man fest, dass viele Produktinformationen in den Produktkatalogen stecken. Bei manchen Firmen ist der Produktkatalog aktueller als die Daten im Warenwirtschaftssystem. Fragt man im Marketing nach, bekommt man die Antwort, dass die werblichen Informationen in DTP-Programmen wie z. B. QuarkXPress oder Adobe InDesign hergestellt worden sind.

Damit steht man vom dem anfangs geschilderten Problem, diese Inhalte aus den DTP-Dokumenten zu holen.

Wenn man sich die Inhalte der Produktkataloge in den DTP-Programmen anschaut, stellt man fest, dass die Produktdaten zwar optisch zusammenhängen aber datentechnisch oft keinen Zusammenhang haben.

Je nach Ausbildungsstand des DTP-Layouters kann der DTP-Satz der Produktbeschreibung von guter oder schlechter Qualität sein. Falls der DTP-Layouter strukturiert und mit Zeichen- und Absatzformaten gearbeitet hat, ist die Möglichkeit vorhanden, mit Software-Modulen den Dateninhalt automatisiert zu beschaffen.

Hierbei kommen so genannte „Parser" zum Einsatz. Diese Parser „entkernen" automatisiert die DTP-Seiten und deren Inhalte wie Text- und Bildrahmen. Meistens werden diese Informationen in einen String-Output (XML, RTF etc.) transformiert. Auf diesem Output laufen dann Software-Module, um die Informationen so zusammenzufassen, dass diese datentechnisch verwendet werden können.

Kosten Selbstverständlich kann man die Daten auch manuell neu erfassen. Bei dieser Art von „Erfassung" entstehen einige Folgeaufgaben wie zum Beispiel Korrekturlesen der Texte oder prüfen des Zahlenwerkes, Preise etc. Diese Aufgaben sind zeit- und kostenintensiv.

Aber auch die Kosten für eine automatisierte Datengewinnung sind nicht zu unterschätzen. Der Grund liegt in der schwer einzuschätzenden Qualität der DTP-Dokumente. Desweiteren sind die Parser relativ teuer oder oft nur im Zusammenhang mit weiterer Software zu erwerben. In den meisten Fällen braucht man den Parser genau einmal bei der Datenübernahme, so dass sich ein Kauf nicht lohnt. Oft leisten die Parser „nur" den Export des Contents der DTP-Dokumente, was in vielen Fällen aber nicht ausreicht. Die eigentliche Arbeit fängt erst danach an. Hier ist dann der "Softwerker" gefragt, der die Textteile und Bilder wieder in sinnvolle (Daten-)Relationen zusammensetzt.

Schauen wir uns einige typische Bespiele und die damit verbundenen Anforderungen einmal an. In der Abb.1 sehen wir eine typische DTP-Tabelle von denen es in den Dokumenten einige Hundert geben kann.

Diese Tabelle sieht zunächst optisch ganz normal aus.
DTP-satztechnisch besteht sie aber aus Tabulatortexten und Textspalten in folgender Form:
Beschreibung (z. B. Hêtre, amblance)-> Nummer (z. B. 913) -> Nummer (Artikelnummer)-> Nummer (Zubehörnummer), Preisspalte (Preis), Nummer (z. B. 020)

Ein sinnvoller Datensatz für eine Datenbank könnte wie folgt lauten:
Artikelnummer: 5480 05 913
Beschreibung: Hêtre, amblance
Zubehörnummer: 5481 05 913
Preis: 48,88
Nummer1: (z. B. 913)
Nummer2: (z. B. 020)

Beim genaueren Betrachten des DTP-Satzes erkennt man, dass z. B. der Preis: 48,88 „fett" und die Farbe den Nummern z. B. 913 „Weiß" angelegt ist. Diese Merkmale lassen sich bei der Inhaltsgewinnung ausnutzen, um die Relation Artikelnummer, Beschreibung, Zubehörnummer, Preis, Nummer1, Nummer2 zu bauen.

Im nachfolgenden Listing sieht man die Ausgabe eines Parsers als XML-Output:

text id="3845" language="de">
- <paragraph style="p_18">
- <tabstops>
<tab alignment="left" alignmentcharacter="." leader="" position="1.47" />
<tab alignment="right" alignmentcharacter="." leader="" position="62" />
<tab alignment="center" alignmentcharacter="." leader="" position="67.51" />
<tab alignment="center" alignmentcharacter="." leader="" position="84" />
<tab alignment="center" alignmentcharacter="." leader="" position="108" />
<tab alignment="center" alignmentcharacter="." leader="" position="129.5" />
<tab alignment="center" alignmentcharacter="." leader="" position="148.5" />
<tab alignment="center" alignmentcharacter="." leader="" position="162" />
</tabstops>
- <element style="c_0">
- <![CDATA[ HÍtre, ambiance ]]>
</element>
- <element style="c_4">
- <![CDATA[ 913 ]]>
</element>
- <element style="c_0">
- <![CDATA[ 5480 05 913 5481 05 913 ]]>
</element>
- <element style="c_5">
- <![CDATA[ 48,88 ]]>
</element>
- <element style="c_0">
- <![CDATA[ ]]>
</element>
- <element style="c_4">
- <![CDATA[ 020 ]]>
</element>
- <element style="c_0">
- <![CDATA[ ]]>
</element>
</paragraph>
- <paragraph style="p_18">

Die (Software-)Kunst ist es, die verschiedenen Informationen nach Inhaltsmerkmalen zu filtern und datentechnisch sinnvoll zu einem Produkt zusammenzusetzen. Bei dem Beispiel hat man durch das Verwenden von Zeichen- und Absatzformaten gute Möglichkeiten, den Inhalt auszulesen und ein Produkt zu bauen. Da viele Parser sich auch die Position zu den Textrahmen merken, hat man hier eine weitere Möglichkeit, eine Zuordnung der Inhalte anhand der Positionen zu bestimmen.

Als negatives Beispiel dient die nächste Tabelle aus Abb. 2:

Bei dieser (Kreuz-)Tabelle gibt es kaum Möglichkeiten, den Inhalt sinnvoll automatisiert in eine Datenbank zu schreiben. Es existiert datentechnisch kein Merkmale um die Inhalte sinnvoll zusammenzusetzen. Hier sind die Grenzen der CTF erreicht.


Fazit

Nur nach einer genauen Analyse der DTP-Dokumente kann man entscheiden, welchen Weg - Parser oder Neuerfassung - man wählt!
Peter Grunzig

Autor

Peter Grunzig

Systemintegration Gieseking & Grunzig GmbH

http://www.systemintegration.net