synOCR synOCR - GUI fĂŒr OCRmyPDF

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
BeitrÀge
5.567
Punkte fĂŒr Reaktionen
1.391
Punkte
234
Wie gesagt der Wert der Gruppe, also dessen Variable ist das Problem, hier unter "tagname_RegEx: (?<Auszugnummer>\d{1,2})".
Wie frage ich den Wert / das Ergebnis der Gruppe ab bzw. gebe es aus.
(also mit RegEx kann ich dir bestimmt nicht helfen 🙈 - da bist du offensichtlich fit genug)

Ich verstehe dein Problem noch nicht so ganz.
tagname_RegEx greift nicht auf den Fund der Regel zurĂŒck, sondern sucht eigenstĂ€ndig im Dokument. Liegt da ein MissverstĂ€ndnis vor?
 
  • Like
Reaktionen: Struppix

Struppix

Benutzer
Mitglied seit
10. Apr 2009
BeitrÀge
884
Punkte fĂŒr Reaktionen
187
Punkte
63
Ohje, ich befĂŒrchte ja.
Ich dachte das wÀre das Resultat der Suche.

Nun, ich hoffe hier kann mir wer weiterhelfen.

Gruß
Karsten
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
BeitrÀge
5.567
Punkte fĂŒr Reaktionen
1.391
Punkte
234
Deshalb schrieb ich:
Der Regex gilt fĂŒr das gesamte Dokument. Also erstellst du dir einen Regex, der dir in dem Fall nur die 14 ausgibt.

Hintergrund ist der, dass mit tagname_RegEx gezielt nach anderen Mustern fĂŒr den Namen gesucht werden kann, als fĂŒr die ErfĂŒllung der Regel (so manch einer will es ja unabhĂ€ngig davon nutzen).

Somit sollte dir doch mit einem einfachen RegEx in tagname_RegEx, der dir die Auszugsnummer liefert geholfen sein, oder?
 
  • Like
Reaktionen: Struppix

Struppix

Benutzer
Mitglied seit
10. Apr 2009
BeitrÀge
884
Punkte fĂŒr Reaktionen
187
Punkte
63
Genau das ist das Problem. Ich habe zu wenig Ahnung davon. Das sind meine ersten Versuche.

Ich kenne die Position der Nummer hinter dem Datum. Weiß aber nicht wie ich dies als Wert / Ergebnis abfrage / ĂŒbergeben kann.

FĂŒr mich halt Neuland.

Gruß
Karsten
 

Yippie

Benutzer
Mitglied seit
01. Feb 2011
BeitrÀge
643
Punkte fĂŒr Reaktionen
55
Punkte
54
Was schön wÀre, wenn man in jeder Regel beliebig viele eigene Tags mit entsprechendem Suchmuster definieren könnte, um diese dann an beliebiger Stelle der Regel, bspw. im Dateinamen, wieder zu verwenden.

YAML:
usertag: meintag_1,\d{1,2}
usertag: name_dokument,.*
 

Struppix

Benutzer
Mitglied seit
10. Apr 2009
BeitrÀge
884
Punkte fĂŒr Reaktionen
187
Punkte
63
Was schön wÀre, wenn man in jeder Regel beliebig viele eigene Tags mit entsprechendem Suchmuster definieren könnte, um diese dann an beliebiger Stelle der Regel, bspw. im Dateinamen, wieder zu verwenden.

YAML:
usertag: meintag_1,\d{1,2}
usertag: name_dokument,.*

Das ist ja genau was ich versuche, aber zu wenig Ahnung von RegEx habe.
Per Suchstring die Passage finden und dann als Tag ausgeben.
Die verschiedenen Suchen = Tags musst Du dann auch in mehrere Regeln packen, aber das stört nicht ...
 
  • Like
Reaktionen: Yippie

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
BeitrÀge
5.567
Punkte fĂŒr Reaktionen
1.391
Punkte
234
  • Like
Reaktionen: Struppix

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
BeitrÀge
5.567
Punkte fĂŒr Reaktionen
1.391
Punkte
234
Poste mal bitte eine Beispielzeile und beschreibe, was da immer vorkommt.

Edit:
Ich hab mal dein Beispiel vom Screenshot genommen: 09.11:2013-06:12:2013‱14
Mit diesem RegEx erhÀlt man die 14, wobei sich die Zahlen, aber nicht deren Anordnung davor Àndern darf:
(?<=([0-9]{2}\.[0-9]{2}:[0-9]{4}-[0-9]{2}:[0-9]{2}:[0-9]{4}‱{1}){1})[0-9]+

Falls es sich bei dem Punkt vor der 14 um ein Leerzeichen handeln sollte, dann so:
(?<=([0-9]{2}\.[0-9]{2}:[0-9]{4}-[0-9]{2}:[0-9]{2}:[0-9]{4}[\s]{1}){1})[0-9]+

(Link)
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Struppix

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
BeitrÀge
5.567
Punkte fĂŒr Reaktionen
1.391
Punkte
234
REGEX KANN MAN NICHT VERSTEHEN o_O

Guck dir mal den Link an. In der rechten Spalte werden alle Elemente aufgelistet. Ich wĂŒrde dir auch empfehlen, zunĂ€chst das ErfĂŒllen der Regel zu testen und dich anschließend um den Tagnamen zu kĂŒmmern – Step by Step.

Ggf. mĂŒssen die Sonderzeichen auch noch etwas variabel gestaltet werden, wenn z.B. von der OCR einmal ein Punkt und einmal ein Komma erkannt wird. Dazu setzt man dann die möglichen Zeichen in eckige Klammern und danach noch die erforderliche Anzahl in geschweifte Klammern. [,.]{1}
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Struppix

Struppix

Benutzer
Mitglied seit
10. Apr 2009
BeitrÀge
884
Punkte fĂŒr Reaktionen
187
Punkte
63
Hallo Stephan,

ich mal wieder ...
Habe inzwischen einige recht interessante Regeln erstellt. Die Möglichkeiten sind der Wahnsinn. Man kann sich so echt tolle Filenamen aus den Dokumenten zusammenbauen.

Eine völlig andere Frage: Ich bin gerade an diesen steinalten KontoauszĂŒgen. Deren QualitĂ€t ist nicht mehr so doll. Es wird mit dem OCR nur GrĂŒtze ausgewertet. Komisch ist aber, dass aber das Datum immer richtig ist, egal wie schlecht der Scan bzw. das Original war.
Wo ist der Unterschied und hat man einen Einfluss darauf.

Weiterhin, wieso wird eigentlich immer ein Bindestrich verwendet, hier zB. beim Datum? Die meisten Programme (insb. Windows) interpretieren dies immer als Trennzeichen, was manchmal echt nervig sein kann. Gut kann ja automatisch zb. mit Joe drĂŒber gehen. Wollte nur mal fragen :)

Gruß
Karsten
 

Gthorsten

Benutzer
Mitglied seit
22. Mai 2021
BeitrÀge
151
Punkte fĂŒr Reaktionen
42
Punkte
28
Das mit dem Datum ist ganz einfach. Ich finde das Datum, formatierte es so und gebe es an Stephan zurĂŒck, und der nimmt es so als Teil des Dateinamen..
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
BeitrÀge
5.567
Punkte fĂŒr Reaktionen
1.391
Punkte
234
Komisch ist aber, dass aber das Datum immer richtig ist, egal wie schlecht der Scan bzw. das Original war.
Thorstens Datumssuche ĂŒbertrifft halt alle Erwartungen đŸ„ł

Wenn du das Loglevel auf 2 (debug mode) stellst, wird dir der gesamte OCR-Text ein eine eigene Textdatei im Logordner geschrieben. Da siehst du das, was als Grundlage fĂŒr die Suche dient.

Weiterhin, wieso wird eigentlich immer ein Bindestrich verwendet, hier zB. beim Datum?
Was meinst du da genau?
Den Dateinamen (inkl. Datumszusammenstellung) kannst du dir ja in der GUI selbst zusammenstellen. Default sind da halt Bindestriche drin, kannst sie aber auch beliebig tauschen.

PS: @Struppix
Funktioniert jetzt die RegEx?
 
Zuletzt bearbeitet:

Struppix

Benutzer
Mitglied seit
10. Apr 2009
BeitrÀge
884
Punkte fĂŒr Reaktionen
187
Punkte
63
Guten Morgen Stephan,

die RegEx Regeln funktionieren prima. :cool: Auch wenn ich noch experimentiere, sind da echt tolle Möglichkeiten.

Sicherlich kann ich die Bindestriche tauschen, aber sind doch voreingestellt :unsure:

Das Log muss ich mal durchforsten. Sind zwischen den beiden Varianten, sprich Datum und OCR unterschiedliche Engines? Das ist schon verrĂŒckt, das die Erkennung so extrem schwierig ist, wenn die original Dokumente in so schlechter QualitĂ€t sind. Sind halt schon alt und ziemlich vergilbt.

Gruß
Karsten
 

Gthorsten

Benutzer
Mitglied seit
22. Mai 2021
BeitrÀge
151
Punkte fĂŒr Reaktionen
42
Punkte
28
Ja und nein. Alles lÀuft in einem Skript.
Stephan ruft dann verschiedene Module auf. Zb ocr im docker, dann meine datumserkennung in python usw...
 
  • Like
Reaktionen: Monacum

Struppix

Benutzer
Mitglied seit
10. Apr 2009
BeitrÀge
884
Punkte fĂŒr Reaktionen
187
Punkte
63
Hallo @Thorsten @ Stephan,
einige Protokolle wimmeln nur so von Fehlern :rolleyes:
Ja und nein. Alles lÀuft in einem Skript.
Stephan ruft dann verschiedene Module auf. Zb ocr im docker, dann meine datumserkennung in python usw...
Die Datumserkennung lÀuft sauber durch.

Thorstens Datumssuche ĂŒbertrifft halt alle Erwartungen đŸ„ł

Wenn du das Loglevel auf 2 (debug mode) stellst, wird dir der gesamte OCR-Text ein eine eigene Textdatei im Logordner geschrieben. Da siehst du das, was als Grundlage fĂŒr die Suche dient.


Was meinst du da genau?
Den Dateinamen (inkl. Datumszusammenstellung) kannst du dir ja in der GUI selbst zusammenstellen. Default sind da halt Bindestriche drin, kannst sie aber auch beliebig tauschen.

PS: @Struppix
Funktioniert jetzt die RegEx?

Ansonsten habe ich aber diverse Fehler. Kann aber gerade nicht auf die Syn zugreifen, mein DDNS streikt wieder einmal :poop:
@ Stephan ich schicke Dir mal ein paar Protokolle, die ich noch auf dem Tab habe, da das wohl im System (oder bei mir, muss mich hier ja nicht wegen Unkenntnis outen:cry:) zu liegen scheint. Die sind noch Level 1. Testen mit Level 2 kann ich dann erst heute Abend.

Was mich nur wundert, die Scans von den neueren Dokumenten laufen alle sauber durch, nur bei den alten spinnt er. Da wird totales Sauerkraut ausgelesen. Habe es schon mit diversen Einstellungen versucht, mit mehr oder weniger Erfolg. Die Quote ist aber 1:4 oder schlechter. Will aber nicht ausschließen, dass das an mir oder meinem System liegt. Die Datumserkennung funktioniert immer.

Scannen tue ich mit dem ADS-1700W. Getestet habe ich alle dpi Varianten mit maximalem Kontrast uvm. MĂŒsste vielleicht nochmal in Graustufen testen.

Vielen lieben Dank
Karsten
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
BeitrÀge
5.567
Punkte fĂŒr Reaktionen
1.391
Punkte
234
@ Stephan ich schicke Dir mal ein paar Protokolle, die ich noch auf dem Tab habe, da das wohl im System (oder bei mir, muss mich hier ja nicht wegen Unkenntnis outen:cry:) zu liegen scheint. Die sind noch Level 1. Testen mit Level 2 kann ich dann erst heute Abend.
In den ersten Logs schien es so, dass es da noch einen Fehler in der YAML-Syntax gab. Das war aber in den neueren behoben.

DarĂŒber hinaus gab es die Meldung, dass du in den Regeln zwar regelbasierte Zielordner definiert hast, aber in der GUI nicht die passende Einstellung gesetzt hast (verwende Regel-definierte Ordner).

Das Loglevel 2 wĂŒrde ich dir nur empfehlen, wenn man es unbedingt baucht (z.B. um sich mal den erkannten Text ausgeben zu lassen). Aufgrund der vielen Informationen ist es nicht die erste Wahl, Fehler zu finden.

Was mich nur wundert, die Scans von den neueren Dokumenten laufen alle sauber durch, nur bei den alten spinnt er. Da wird totales Sauerkraut ausgelesen.
Du kannst mal testen, ob es hilf, in den OCR-Paramtern statt -s (skip Text) -f (force / OCR erzwingen) zu setzen. Vielleicht hilft das schon.
 
  • Like
Reaktionen: Struppix

Struppix

Benutzer
Mitglied seit
10. Apr 2009
BeitrÀge
884
Punkte fĂŒr Reaktionen
187
Punkte
63
Hallo Stephan,

danke, dass Du Dir die Zeit hierfĂŒr nimmst.
In den ersten Logs schien es so, dass es da noch einen Fehler in der YAML-Syntax gab. Das war aber in den neueren behoben.
Ja das wird in mehreren Protokollen auftauchen. Ich teste immer verschiedene Varianten, um auszuschließen, dass die Regeln sich gegenseitig beeinflussen. Habe hier Listen aus denen ich mir die dann zusammen kopiere.
DarĂŒber hinaus gab es die Meldung, dass du in den Regeln zwar regelbasierte Zielordner definiert hast, aber in der GUI nicht die passende Einstellung gesetzt hast (verwende Regel-definierte Ordner).
Das habe ich noch aus, da es mĂŒhselig ist, diese dann nach dem Testen rauszulöschen. Es ist schon interessant, wenn ich es richtig interpretiere, dass die Regeln von hinten nach vorne abgearbeitet werden, aber sich dann der Name von vorne nach hinten zusammensetzt. So habe ich die Anweisung zum Verschieben in der jeweils ersten Regel einer definierten Kategorie.
Du kannst mal testen, ob es hilf, in den OCR-Paramtern statt -s (skip Text) -f (force / OCR erzwingen) zu setzen. Vielleicht hilft das schon.
Prima Tipp: Werde ich gleich probieren, wenn ich daheim bin.

Wieder mal etwas wo ich mich richtig verspielen kann. Muss nur aufpassen Zuhause keinen Ärger zu bekommen ;):whistle:

Gruß
Karsten
 
  • Like
Reaktionen: geimist

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
BeitrÀge
5.567
Punkte fĂŒr Reaktionen
1.391
Punkte
234


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstĂŒtzen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat