Wir stellen vor: Textextraktion aus PDFs mit KI-Robot
Seit einiger Zeit bieten wir KI-gestützte Robots an, die über die normalen Fähigkeiten unserer Robots hinausgehen. Viele von Ihnen kennen zum Beispiel unseren fleißigen Robot /image/facedetect, der automatisch Gesichter in einem Bild erkennt. Er eignet sich perfekt dafür, ein Gesicht in einem Bild zu identifizieren und es anschließend für das Profilbild einer Nutzerin oder eines Nutzers zuzuschneiden.
Heute freuen wir uns, einen Neuzugang in unserer Familie der KI-gestützten Robots vorzustellen: den Robot /document/ocr.

Die Aufmerksamen unter Ihnen haben vielleicht bemerkt, dass wir bereits den Robot /image/ocr anbieten, der in unserem Arsenal eine ähnliche, aber erkennbar andere Rolle spielt.
Wirft man einen Blick unter die Haube, so wird der Robot /document/ocr von AWS Textract und GCP Document AI angetrieben. Das bedeutet, er ist explizit darauf trainiert, mit langen Dokumenten und großen Textblöcken umzugehen – also mit der Art von Text, die Sie in einem Roman oder einer wissenschaftlichen Arbeit finden. Darüber hinaus extrahiert er Text hervorragend aus Tabellen und Formularen und ist damit zum Beispiel auch bestens für Rechnungen gerüstet.
Im Vergleich dazu nutzt der Robot /image/ocr Amazon Rekognition und die Vision API von GCP. Beide sind auf kurze Textstücke trainiert, zum Beispiel auf Stoppschildern, Paketaufklebern und Namensschildern.
Der vielleicht wichtigste Unterschied ist jedoch, dass der Robot /document/ocr PDFs unterstützt und damit ideal für den Umgang mit wichtigen Dokumenten Ihrer Kundschaft ist.
Text extrahieren
Wie immer lernt man diese Unterschiede am besten kennen, indem ich sie Ihnen nicht erzähle, sondern zeige. Analysieren wir also den Unterschied zwischen der Ausgabe vom Robot /document/ocr und der vom Robot /image/ocr.
Hier das erste Template, das den Robot /image/ocr verwendet.
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"detect": {
"robot": "/image/ocr",
"use": ":original",
"provider": "aws",
"format": "meta",
"granularity": "full"
},
"exported": {
"use": "detect",
"robot": "/s3/store",
"credentials": "my_s3_credentials"
}
}
}
Und nun das zweite Template, das den Robot /document/ocr verwendet.
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"detect": {
"robot": "/document/ocr",
"use": ":original",
"provider": "aws",
"format": "meta",
"granularity": "full"
},
"exported": {
"use": "detect",
"robot": "/s3/store",
"credentials": "my_s3_credentials"
}
}
}
Die folgenden Bilder zeigen die Bounding-Boxen beider Templates, die über eine Beispielrechnung gelegt wurden, links mit /image/ocr und rechts mit /document/ocr.


Wie gezeigt, erkennt der Robot /document/ocr die relevanten Informationen im Dokument deutlich besser – insbesondere bei der Tabelle und dem nachfolgenden Text, wo sich der Robot /image/ocr etwas schwerer zu tun scheint.
Falls Sie neugierig sind, wie wir die Bounding-Boxen von beiden Robots erhalten
haben: Wir haben für granularity den Wert full verwendet, um die Bounding-Boxen für
den erkannten Text in die Ausgabe aufzunehmen. Wenn Sie nur am erkannten Text interessiert sind,
ändern Sie diesen Wert in list.
Mehr braucht es nicht, um Text in Dokumenten oder Bildern zu erkennen! Kein Wälzen von SDK-Dokumentationen, kein Ringen mit einer API – so einfach ist das.
Bis zum nächsten Mal!
Das ist alles, was wir für den Moment zeigen können. Melden Sie sich unbedingt bei uns, wenn Sie eine überzeugende neue Idee für einen Robot haben, denn wir sind immer auf der Suche nach neuen Wegen für Innovationen 💡
