[IDS-Logo] Online-Hilfe zu COSMAS II/web: Syntax der zeilenorientierten Suchanfragesprache
Syntax der ZeileneingabeSuchoperatorenListenoptionenTextpositionen

Angabe der Position von Treffern im Text

Für die Suche nach Wörtern, Annotationen und komplexeren Suchanfragen kann als zusätzliche Bedingung ihre Position im Text bestimmt werden. Spezifizierbar sind die in der nachfolgenden Tabelle aufgelisteten Bezeichner sowie deren Negation und Kombination.

Bei Annotationen und Multiwort-Treffern können außerdem ihre Anfangs- und Endposition getrennt angesprochen werden. Bei Wortformen fallen Anfangs- und Endposition zusammen.

Die Angaben zu den Positionen der Treffer werden erst während der Suche überprüft, also nachdem die Wortformlisten erzeugt und angezeigt werden; die in den Listen angezeigten Wortformen sind nicht in Bezug auf ihre Position in den Texten gefiltert.

Spezifizierbare Textpositionen

Bezeichner Textposition bezieht sich auf... Beispiel
sa und -sa Satzanfang das erste Wort eines Satzes &Heim:sa
se und -se Satzende das letzte Wort eines Satzes &Heim:se
pa und -pa Absatzanfang das erste Wort eines Absatzes, impliziert sa &Heim:pa
pe und -pe Absatzende das letzte Wort eines Absatzes, impliziert se &Heim:pe
ta und -ta Textanfang das erste Wort eines Textes, impliziert sa und pa &Heim:ta
te und -te Textende das letzte Wort eines Textes, impliziert se und pe &Heim:te

Textpositionen können miteinander kombiniert und wahlweise negiert werden. Bei Annotationen und komplexen Suchanfragen, die einen Mehrwortbereich ergeben, können außerdem die Textpositionen von Anfang und Ende des Bereichs abgefragt werden.

Bedingungen über Textpositionen bei Wortformen

Beispiele

&Abgrund:se,-sa,-pe

Stellvertretend für alle Wortformsuchen werden hier die Komposita von Abgrund am: Satzende und nicht am Satzanfang und nicht am Absatzende gesucht.

#BED(#REG(^Abgrund[a-z]*keit), :se,-sa,-pe

Damit auf reguläre Ausdrücke Textpositionsbedingungen gestellt werden können, muss ausnahmsweise für eine Wortformsuche der #BED-Operator verwendet werden.

Nichtrealisierte Formulierungen

#REG(^Abgrund[a-z]*keit:se,-sa,-pe)
#REG(^Abgrund[a-z]*keit):se,-sa,-pe

Diese beiden Fälle sind nicht realisiert, d.h. man kann Textpositionsbedingungen nicht direkt an den regulären Ausdruck oder an den #BED-Operator anhängen.

Bedingungen über Textpositionen bei Multiwort-Ausdrücken

Multiwort-Ausdrücke haben im Gegensatz zu Einzelwortabfragen eine Ausdehnung von mehreren Wörtern und besitzen deshalb auch ein Anfang und ein Ende, weshalb man in manchen Situationen getrennte Bedingungen an die beiden Enden stellen möchte. Dies ist auch mit Hilfe des ':'-Trennzeichens möglich.

Formulieren einer oder mehrerer Bedingung(en) über die Textposition am Anfang eines Multiwort-Textbereichs (ohne '/'):

Formulieren einer oder mehrerer Bedingung(en) über die Textposition am Ende eines Multiwort-Textbereichs (nach dem '/'):

Formulieren einer oder mehrerer Bedingung(en) über die Textposition am Anfang und am Ende eines Multiwort-Textbereichs:

In der Regel müssen Textpositionen für Multiwort-Ausdrücke mittels des #BED-Operators formuliert werden. Eine Ausnahme bildet der #ELEM-Operator, bei dem die Textpositionen direkt an den Elementnamen angehängt werden können.

Beispiele

Die Sequenz ART+N wird am Satzanfang beginnend gesucht:

#BED(MORPH(ART) /w1:2,s0 MORPH(N)), :sa)

Die Sequenz ART+N wird am Satzende endend gesucht:

#BED(MORPH(ART) /w1:2,s0 MORPH(N)), /:se)

Die Sequenz ART+N wird innerhalb eines Satz gesucht, d.h. sie soll weder am Satzanfang beginnen noch am Satzende enden:

#BED(MORPH(ART) /w1:2,s0 MORPH(N)), :-sa/-se)

Beim Annotationsoperator #ELEM können im Gegensatz dazu die Textpositionen direkt an den Elementnamen angehängt werden.

#ELEM(W:-sa,-se)

Im nächsten Beispiel wird nach Überschriften gesucht, die nicht auf einer Absatzgrenze stehen:

#ELEM(HEAD:-pa/-pe type=sub)

In den restlichen Abschnitten auf dieser Seite werden für Interessierte einige technische Aspekte erläutert.

Wie ermittelt COSMAS II die Textpositionen

Die bekannten SGML bzw. XML-Textauszeichnungen für Sätze (<s> ... </s>), Absätze (<p> ... </p>) und den Text(körper) (<text> ... </text>) dienen als Hauptquelle für die Extraktion dieser Informationen aus den Korpora. Da COSMAS II eine Satzsegmentierung auch dann anhand der Satzzeichen .:;!? etc. vornimmt, wenn keine <s> ... </s> vorhanden sind, beliefern diese Satzzeichen das System ebenfalls mit den Satzgrenzen SA und SE.

Vorteile der direkten Eingabe von Textpositionen in Suchanfragen

Das Filtern von (Zwischen-)Ergebnissen mittels Textpositionen kann bzw. konnte bisher auch mit dem allgemeinen Operator ELEM ausgeführt werden. Die Vorteile der direkten Nutzung der hier beschriebenen Textpositionen gegenüber ELEM sind die folgenden:

Beispiel zum Vergleich

Folgende Suchanfrage, die eine Wortsequenz am Satzende sucht, soll einmal mit der direkten Angabe von Textpositionen und einmal mit der Annotation <se> (für Satzende) zum Vergleich formuliert und gesucht werden:

Formulierung 1: Angabe des Satzendes mit der Annotation <se>; Formulierung intuitiv klar; Ausführungszeit der Suche deutlich schlechter als bei den anderen, da alle Satzenden geladen und mit der Wortsequenz kombiniert werden; Vorkommnisse von Krieg, die nicht am Satzende stehen, werden unnötig geladen und kombiniert. Beispiel:

Gott /s0 (&Krieg /w0 <se>)

Formulierung 2: Bedingung der Textposition über den Textbereich GottKrieg: Ebenfalls deutlich langsamere Ausführungszeit als bei 3, da Vorkommnisse von Krieg geladen und kombiniert werden, die nicht am Satzende stehen. Beispiel:

#BED(Gott /s0 &Krieg, :/se)

Formulierung 3: Angabe des Satzendes direkt mit dem Wort Krieg verknüpft: mit Abstand kürzestes Ausführungszeit; nur Vorkommnisse von Krieg, die am Satzende stehen, werden geladen und kombiniert; nach der Kombination der beiden Wörter stehen die Ergebnisse bereits zur Verfügung. Beispiel:

Gott /s0 &Krieg:se

COSMAS II, Zentrale DV-Dienste - 06. 06. 2019