Teilweise durchsuchbare Dokumente

Gibt es eine Möglichkeit in DT Dokumente anzeigen zu lassen, die „teilweise“ durchsuchbar sind, also zum einen durchsuchbaren Text/Layer, aber zum anderen auch noch nicht durchsuchbare Elemente (Bilder) enthalten? Also Dokumente, die man durch OCR nachträglich noch um sehr viel mehr durchsuchbaren Text ergänzen könnte, weil viele Bilder darin Text enthalten?
Für ein Dokument, das bisher gar nicht durchsuchbar ist, ist dies ja recht einfach (Smart group mit Word count = 0), aber ich habe viele PDFs, die nur ein bisschen durchsuchbaren Text, aber noch viel mehr Bilder enthalten, die OCR vertragen könnten.

Eine Überlegung von mir wäre eine weitere Smartgroup zu erstellen mit Kriterien wie einer Mindestanzahl von Dokumentseiten (z.B. ab 10) und Word count < 100), damit würde ich sicherlich noch einige mehr Dokumente finden, die bisher kein OCR haben, aber wohl auch nicht alle?! Gibt es noch eine genauere Methode?

Das grundlegende Problem besteht darin, dass ich selber viele Dokumente (MS Word) erstelle, darin dann Screenshots (enthalten Text als Bild) einfüge, einige wenige Wörter als Text (Notizen) ergänze und diese dann als PDF abspeichere. Ich würde aber auch gerne den Text in den Bildern durchsuchen können. Wenn ich meine gesamte Datenbank manuell nach diesen Dokumenten durchsuchen müsste, würde das Jahre dauern. Ich hoffe mein Problem ist klar geworden. Vielen Dank für hilfreiche Antworten!

Das ist wohl die einzige Möglichkeit im Moment.

Okay, danke. Denkt ihr evtl. darüber nach noch mächtigere OCR-/Indexfunktionen in DT einzubauen, die sozusagen noch mehr Inhalt erfassen? Apple Notes scannt ja inzwischen sämtliche eingefügte Bilder auf Textinhalte und macht sie so durchsuchbar, wenn ich mich nicht täusche. Aber ich schätze das ist mit den zahlreichen unterschiedlichen Dateiformaten, die DT verarbeiten kann, weitaus schwieriger umzusetzen… Unendlich praktisch wäre so etwas ja dennoch, wenn man wirklich blind jeden Informationsschnipsel in DT durchsuchen kann, ohne sich Gedanken machen zu müssen, ob man alle relevanten Dokumente mit OCR versehen hat oder nicht. Man darf ja noch träumen. :sunglasses:

Eine Idee, die mir gerade einfällt: man könnte DT vielleicht um eine weitere Option von Metadaten ergänzen, die z.B. das Verhältnis von Wörtern zu Seitenanzahl (“Word count-Pages-Ratio”) anzeigt. Dann könnte ich eine Smartgroup erstellen und DT würde mir jene Dokumente mit einem sehr niedrigen solchen Verhältnis auflisten, absteigend zu Dokumenten, die ein höheres solches Verhältnis aufweisen?! Das wäre ein sehr schöner Hinweis darauf, welche Dokumente mit der höchsten Wahrscheinlichkeit viel Inhalt enthalten, das noch kein OCR erfahren hat.

Meine Vorgehensweise wäre - insofern es sich um eine ausreichend große Anzahl Dokumente bzw. ausreichend häufiges Vorkommen handelt - folgende:

Ein Script, das

  1. Die Anzahl Wörter im Ursprungsdokument bestimmt
  2. Das Ursprungsdokument per OCR in ein Zweitdokument kopiert
  3. Die Anzahl Wörter im Zweitdokument bestimmt
  4. Die Zahlen aus 1. und 3. vergleicht und bei einer ausreichend großen Abweichung (ich würde mal mit 10 Wörter mit meinen Versuchen anfangen):
    4.1. entweder das Ursprungsdokument löscht und das Zweitdokument belässt oder
    4.2. wenn die Beibehaltung der Metadaten wichtig ist, das Zweitdokument löscht und das Ursprungsdokument nur per OCR behandelt (also dabei kein neues Dokument erstellt).

In meinen ersten Versuchen würde ich Punkt 4. durch einen einfache Kennzeichnung (z.B. Flag oder Label) ersetzen, um selbst prüfen zu können, ob die gefundenen Dokumente meinen Kriterien entsprechen.

Dieses Script wäre einfach zu erstellen, aber zeitaufwendig zu betreiben.

Hast Du mal versucht, die PDF´s in DT3 einfach nochmal durchs OCR laufen zu lassen?
Ansonsten mache ich es mittlerweile bei PDF´s, die z.B. Bilder ohne Text enthalten, oder die handschriftliches Inhalte besitzen, dass ich versuche der Datei eine Annotation zu verpassen, in der ich entsprechende Stichpunkte für eine Suche hinterlege.

Das Problem dabei ist, dass es durchaus zum Qualitätsverlust kommen kann; d.h. es ist regelhaft nicht wünschenswert ein PDF mit einer Textlayer nochmal per OCR zu ändern.

tell application id "DNtp"
	set theRecords to the selection
	repeat with theRecord in theRecords
		set pageC to page count of theRecord
		set wordC to word count of theRecord
		return (wordC / pageC)
	end repeat
end tell

Dieses simple Script errechnet für ein Dokument Anzahl Wörter pro Seite; es ist nicht zur Anwendung in dieser Form gedacht, nur als Gedankenspiel. Das Ergebnis könnte man in die benutzerdefinierten Metadaten einer Datei schreiben. Mit einer intelligenten Gruppe könnte man dann diejenigen Dateien aufführen, die ein auffälliges Verhältnis haben.

Wenn das “regelhaft nicht wünschenswert” ist, dann müsste man doch davon ausgehen, dass eine vernünftige OCR Software das dann erkennt, und den vorhandenen Textlayer entsprechend entfernt, oder nicht?!

Das Problem ist nicht die Entfernung der Textlayer; die erfolgt. Das Problem ist der Qualitätsverlust im visuellen Abbild der Datei.

OCR sollte am Abbild einer Datei grundsätzlich überhaupt nichts verändern!
Das dies häufig der Fall ist, weil viele die entsprechenden Einstellungen so vornehmen, steht da auf einem ganz anderen Blatt, und kann von diesen durch eine entsprechende Änderung der Einstellungen leicht geändert werden. Ich habe es ohnehin noch nie verstanden, warum ich z.B. beim Scan eine 600dpi Datei erzeuge, nur um sie dann beim OCR in eine 150dpi Krücke zu verstümmeln!

Ein Script, das die Suchresultate mit den entsprechenden Dokumenten der aktuellen Datenbanken befüllt, könnte z.B. so aussehen:

tell application id "DNtp"
	set theResults to {}
	set theRecords to contents of current database whose type is PDF document
	repeat with theRecord in theRecords
		set numPages to page count of theRecord
		set numWords to word count of theRecord
		if numPages > 0 then
			set ratio to (numWords as real) / (numPages as real)
			if (ratio < 100) then set end of theResults to theRecord
		end if
	end repeat
	set search results of viewer window 1 to theResults
end tell
``
1 Like

Meines Wissens kommt es zur Rasterung des Abbildes durch die ABBYY OCR Engine. Das ist bei reinen Image-PDF (z.B. nach Scan) und entsprechender Einstellung potentiell unproblematisch, bei Text-PDF aber mit Qualitätsverlust verbunden. Allerdings endet mein Wissen da - das ist mein Kenntnisstand (unterstützt z.B. durch diesen Thread im ABBYY Forum), und entspricht meiner Erfahrung. Ich lasse mir gerne mit Verweis auf white papers o.ä. widersprechen - mehr Wissen ist immer besser als weniger :slight_smile:

Ich danke euch schon mal für eure Antworten! Das Problem scheint nicht nur mich zu beschäftigen.

Werde ich mir mal ansehen, vielen Dank!

Ich lese da fast noch mehr heraus, dass DEVONthink unwahrscheinlich flexibel ist, und für sehr viele Probleme individuelle Lösungen auf der Hand liegen :wink:

Dem kann ich nur absolut zustimmen! :slightly_smiling_face: Wobei man auch nicht vergessen sollte, dass es einer App/einem Programm nicht schadet, wenn es möglichst intuitiv und benutzerfreundlich ist. Viele Menschen haben nicht die Zeit sich derart in die Materie einzuarbeiten. Auch ich muss abwägen, was meinem Workflow am meisten nützt und was zu aufwändig ist, um es zu implementieren.
Ich kann nur nochmal das Beispiel Apple Notizen anführen, wo man einfach einen Screenshot einfügt und sofort wird es automatisch gescannt und durchsuchbar gemacht. Dass die App aber gänzlich anders aufgebaut ist und sich dieses Feature nicht einfach so übertragen lässt, ist mir klar. Dennoch ist das natürlich hochgradig userfriendly!

Edit: Ich meine, Evernote kann das auch, dass alles durchsuchbar wird, was man reinwirft, wenn ich mich nicht täusche. :thinking:

Mit anderen Worten: ich würde mich schon wahnsinnig freuen, wenn da eines Tages noch native Funktionen vom DT-Team hinzugefügt werden. :grin:

Das Feature, Text in z.B. Fotos zu erkennen finde ich auch genial. Genau das kann DT aber natürlich auch, nichts anders ist OCR. Was du momentan suchst ist ein Vorgehen für bereits fertiggestellte Mischdokumente. Und da hat @Ulli m.E. gar nicht so unrecht: einfach bei jedem Dokument nochmal OCR laufen lassen und dein Problem ist gelöst. Ideal wäre natürlich, wenn du das auf eine gewisse Subgruppe reduzieren könntest - evtl. geht das Anhand des Engines, welches die PDF erstellt hat, oder der Quelle, oder, oder. Und du wirst selber experimentieren müssen, wie es sich mit der Qualität der Dokumente verhält - aber das gilt immer wenn ich eine Änderung an einer Imagedatei vornehme.

Okay, ich verstehe! Dann werde ich mich damit nochmal auseinandersetzen. Du hast genau recht mit der Subgruppe, denn ansonsten sind es einfach viel zu viele Dokumente. Da werde ich aber schon eine Lösung finden mittels Smartgroups und entsprechenden Kriterien. Danke auf jeden Fall!
Dabei fällt mir gleich noch etwas anderes ein: Genau das habe ich bereits einige Male gemacht - einfach nochmal OCR über eine PDF “drüber gehauen”. Dabei ist dann aber etwas komisches passiert: es wurde sowohl ein neues Dokument in der gleichen Gruppe als auch in der Inbox erstellt, beide wurden als Replicants gekennzeichnet (red und italic). Ich bilde mir ein das ist erst seit Version 3.8 passiert und ich habe es für einen Bug gehalten. Weiß jemand, ob dieses Verhalten normal ist? :thinking:

Ne, das kenne ich so nicht. Falls sich das wiederholen lässt wäre es hilfreich, wenn du dein Vorgehen Schritt für Schritt genau erklärst, dann kann man versuchen das zu replizieren.