Zum Hauptinhalt springen
Eine Hypothese ist eine vom Programm getroffene Annahme, dass das bzw. die erkannten Objekte einem bestimmten Element entsprechen, also die für das Element angegebenen Eigenschaften und Suchkriterien erfüllen.
Im Suchbereich des Elements kann es mehrere Objekte oder Objektmengen geben, die alle dem Element entsprechen. In diesem Fall formuliert das Programm für jedes erkannte Objekt eine Hypothese.
Hypothesen sind durch ihre Qualität gekennzeichnet. Die Qualität einer Hypothese gibt an, wie gut das erkannte Objekt mit der Beschreibung des entsprechenden Elements übereinstimmt, und ist ein numerischer Wert von 0 bis 1. Die Qualität einer Hypothese wird als [ Pre-search quality ]*[ Post-search quality ] berechnet, wobei
  • Pre-search quality die Qualität der im Dialogfeld Properties und im Feld Advanced pre-search relations vorgenommenen Einstellungen ist.
  • Post-search quality das Ergebnis der Anwendung der im Feld Erweiterte Nach-Suchbeziehungen angegebenen Bedingungen ist.
Die Qualität einer Hypothese für ein Gruppenelement wird berechnet, indem die Qualitäten der Hypothesen für alle Bestandteilelemente multipliziert werden. Für optionale Elemente formuliert das Programm eine Nullhypothese. Eine Nullhypothese ist eine Hypothese, die das Programm formuliert, wenn es im Suchbereich keine Objekte erkannt hat, die einem optionalen Element entsprechen. Das bedeutet: Wenn das Programm keine Objekte findet, die einem optionalen Element entsprechen, beendet es den Abgleich des FlexiLayouts nicht, sondern formuliert eine Nullhypothese und weist ihr eine Qualität zu, die der Benutzer beim Erstellen des optionalen Elements festgelegt hat. Der Einfachheit halber wird der Begriff Hypothese auch verwendet, um die Menge der Objekte zu bezeichnen, die in einer bestimmten Hypothese enthalten sind.

Hypothesen: ein praktisches Beispiel

Angenommen, Sie müssen zwei Elemente erstellen, mit denen zwei statische Texte auf Ihren Bildern gefunden werden sollen. Der erste statische Text ist „mother“, der zweite „father“, und der Text „father“ befindet sich immer unter dem Text „mother“. Das erste Static-Text-Element, StaticText1, wird verwendet, um nach dem Text „mother“ zu suchen, und das zweite Static-Text-Element, StaticText2, um nach dem Text „father“ zu suchen. Nehmen Sie außerdem an, dass beide Elemente optional sind und dass die Quality der Nullhypothese für jedes von ihnen auf 0.97 gesetzt ist. Für den Suchbereich von StaticText1 sind keine Einschränkungen festgelegt. Da sich der Text „father“ immer unter dem Text „mother“ befindet, können Sie festlegen, dass StaticText2 immer unter StaticText1 liegen muss. Geben Sie dazu die entsprechende Einschränkung auf der Registerkarte Beziehungen im Dialogfeld Properties des Elements StaticText2 ein: Below: SearchElements.StaticText1;. Die folgende Abbildung zeigt die Ergebnisse des Abgleichs eines FlexiLayouts mit einem Bild, auf dem das Wort „mother“ zweimal vorkommt (oberhalb und unterhalb des Wortes „father“) und bei dem im Wort „mother“ oberhalb des Wortes „father“ ein OCR-Fehler aufgetreten ist. Beim Abgleich des FlexiLayouts wurden zwei Hypothesen für das Element StaticText1 erzeugt. Die erste Hypothese entspricht dem Wort „mother“, das mit einem OCR-Fehler erkannt wurde und sich oberhalb des Wortes „father“ befindet, und hat eine Quality von 0.98. Die zweite Hypothese entspricht dem Wort „mother“, das sich unterhalb des Wortes „father“ befindet, und hat eine Quality von 1. In dieser Stufe entspricht die Quality jeder Kette der Quality der jeweiligen Hypothese. Daher besteht die beste Kette aus der Hypothese mit einer Quality von 1. Da sich das Element StaticText2 unterhalb des Elements StaticText1 befinden muss und das Programm zwei Hypothesen für das Element StaticText1 erzeugt hat, versucht das Programm nun, den erforderlichen statischen Text in zwei Suchbereichen zu finden. Verfolgt das Programm die zweite Hypothese mit einer Quality von 1 weiter, bei der das Wort „mother“ unterhalb des Wortes „father“ gefunden wurde, kann es das Element StaticText2 unterhalb des Elements StaticText1 nicht finden und erzeugt folglich eine Nullhypothese mit einer Quality von 0.97. Die Quality der resultierenden Hypothesenkette beträgt 1x0.97=0.97. Verfolgt das Programm die erste Hypothese mit einer Quality von 0.98 weiter, bei der das Wort „mother“ oberhalb des Wortes „father“ gefunden wurde, erkennt es das Element StaticText2 unterhalb des Elements StaticText1 erfolgreich und erzeugt eine Hypothese mit einer Quality von 1. Die Quality der resultierenden Hypothesenkette beträgt 0.98x1=0.98. Daher wählt das Programm die Kette mit einer Gesamt-Quality von 0.98 aus.