[IDS-Logo] Online-Hilfe zu COSMAS II: Kochbuch zur grafischen Eingabe von Suchanfragen
grafische Eingabethemenspezifische Fragestellungen

Themenspezifische Fragestellungen und Lösungen

Einleitung

Auf dieser Seite werden einfache bis komplexe sprachwissenschaftliche Problemstellungen aufgelistet, für die konkrete Suchanfragen oder Suchanfragmuster angegeben und erläutert werden. Durch Rückverweise auf die zugehörigen Seiten der Syntax (der grafischen Suchanfragesprache) kann die Funktionsweise der benutzten Operatoren parallel dazu erlernt werden.

Viele der folgenden Suchanfragen können wegen (der grafischen) Operatoren wie ELEM oder LINKS etc. nur im grafischen Modus formuliert werden. In der linken Leiste der grafischen Oberfläche werden standardmäßig nur die gängigsten grafischen Operatoren angezeigt.
Die restlichen Operatoren blenden Sie wie folgt ein: Menü Palette / alles anzeigen.

Übersicht


Suche an einer bestimmten Satzposition

Beispiel 1

Hierfür kann der Operator IN verwendet werden. Mit seinem Argument <I> läßt sich angeben, an welcher Stelle von Y der Suchbegriff X gesucht bzw. nicht gesucht werden soll. Wie in der folgende Tabelle veranschaulicht wird, schließen sich die aus dem I-Wert L, R, F und N erhaltenen Ergebnisse gegenseitig aus.

Suchanfrage Erläuterung Häufigkeit1
IN(wegen,'L',(ELEM(S)) wegen am Satzanfang 202.206
IN(wegen,'R',(ELEM(S)) wegen am Satzende 11.095
IN(wegen,'F',(ELEM(S)) wegen von Satzanfang bis Satzende 50
IN(wegen,'N',(ELEM(S)) wegen weder am Satzanfang noch -ende 1.455.943
Summe von L, R, F und N 1.669.294
IN(wegen,' ',(ELEM(S)) keine Spezifizierung, d.h. alle Fälle zusammen 1.669.294

Die Tabelle zeigt die Ergebnisse der Suche nach wegen (groß- oder kleingeschrieben, keine Unterscheidung der Wortklassen), in den Sätzen (ELEM(S)) des gesamten Archivs für die Optionen L, R, F und N. Häufigkeit von wegen: 1.669.349. Anzahl Sätze: 222.564.359.

Diese 4 Optionen schließen sich gegenseitig aus. Ein und der gleiche Treffer kann z.B. nicht durch die Optionen L und F erhalten werden. Zusammengefasst werden diese Optionen bei der Verwendung von IN ohne Option (letzte Suchanfrage in der obigen Tabelle), die die gleichen Treffer liefert wie die vier Optionen zusammen.

Die Vorgabe F ist in diesem Fall insofern exotisch, als dass sie den Suchbegriff nur in Sätzen der Länge 1 finden kann, bei denen Satzanfang und -ende identisch sind.

Bemerkungen

Analog lässt sich z.B. in Absätzen (ELEM(P)), Überschriften (ELEM(HEAD)) und beliebigen anderen Textmarkierungen recherchieren.

Da wegen eigentlich 1.669.349 mal im Archiv belegt ist, wurden durch die obigen Suchanfragen 1.669.349 - 1.669.294 = 55 Fälle nicht abgedeckt. Es handelt sich um Fälle, bei denen wegen außerhalb einer <s> ... </s> Markierung (in einem <byline> außerhalb des Textbody) gefunden wurde. Diese Fälle lassen sich mit folgender Suchanfrage unter Verwendung der Ausschließungsoption % erfragen:

Q1 = IN(wegen,'%',ELEM(S))

Q1 liefert tatsächlich die restlichen 55 Treffer.

Beispiel 2

In diesem Beispiel wird nach Sätzen gesucht, die mit unter und Hausarrest beginnen und enden. Zu diesem Zweck wird die Option F verwendet.

Q1 = ABSTAND(unter,+s0,Hausarrest)

Die Optionen FE und FI sind zwei Unteroptionen von F, die eine weitere Verfeinerung der Suchanfrage gestatten. Dabei verteilen sich alle Treffer von F entweder auf FE oder auf FI, wie aus der nächsten Tabelle ersichtlich ist:

Suchanfrage Erläuterung Häufigkeit1
IN(Q1,'F',(ELEM(S)) wegen am Satzanfang und Hausarrest am Satzende 13
IN(Q1,'FE',(ELEM(S)) wie F, aber keine anderen Wörter im Satz 11
IN(Q1,'FI',(ELEM(S)) wie F, aber mindestens ein weiteres Wort im Satz 2

Textbeispiel für einen Treffer mit FE

»Unter Hausarrest

Textbeispiel für einen Treffer mit FI

»Unter derselben Anklage sitzt der frühere Juntachef Jorge Videla seit fünf Monaten im Hausarrest


1 : im Archiv W - Achiv der geschriebenen Korpora, Stand August 2009.


Suche in Sätzen einer bestimmten Länge

Beispiel 1: Erfragen von Sätzen einer bestimmte Länge

Sätze mit z.B. einer maximalen Länge von 5 Wörtern erhält man mit Hilfe der Operatoren ELEM, LINKS und RECHTS wie folgt:

Q1a = ABSTAND(LINKS(ELEM(S)),'5w,s0',RECHTS(ELEM(S)))

Hierzu werden die beiden Satzenden LINKS(ELEM(S)) und RECHTS(ELEM(S)) in dem gewünschten Abstand 5w und s0 voneinander gewählt. Liegen Anfangs- und Endwort max. 5 Wörter auseinander, so auch die Satzlänge.

Q1b = ABSTAND(LINKS(ELEM(S)),'5:5w,s0',RECHTS(ELEM(S)))

Diese Suchanfrage liefert Sätze mit einer exakten Länge von 5 Wörtern zurück.

Q1c = ABSTAND(LINKS(ELEM(S)),'6:100w,s0',RECHTS(ELEM(S)))

Diese Anfrage liefert Sätze mit einer min. Länge von 6 Wörtern zurück. Der Bereich 6:100w (min. 6 bis max. 100) ist ein Kunstgriff: da die Angabe eines Minimalwertes mit der Angabe eines Maximalwertes gepaart werden muss, steht mit 100 ein beliebiger, ausreichend hoher Wert, um alle Sätze länger als 6 Wörter zu erfassen.

Bemerkung zum Suchbereich solcher Ergebnisse

Werden die Suchanfragen Q1a-Q1c in einer weiteren Suchanfrage eingesetzt, muss folgendes beachtet werden: Das Ergebnis von Q1a-Q1c besteht nur aus den gesuchten Satzendwörtern. Beispiel für Q1a: "Aufrecht gaben sie ihr Leben.".

Will man nun im ganzen Satzbereich suchen können, muss der Suchbereich (= Ergebnisbereich) mit dem Operator INKLUSIVE wie folgt auf den ganzen Bereich zwischen Satzanfang und -ende, Satzendwörter inklusive, erweitert werden:

Q2 = INKLUSIVE(Q1a)

Für das gleiche Beispiel ist der neue Suchbereich in Q2: "Aufrecht gaben sie ihr Leben.".

Wird allerdings der Operator IN auf Q1 angewendet, so ersetzt die Bereichsoption all von IN die Verwendung von INKLUSIVE.

Beispiel 2: Suchen von Suchbegriffen in Sätzen bestimmter Länge

Nach den Ausführungen von Beispiel 1 läßt sich ein Suchbegriff in einem Satz einer bestimmten Länge mit dem Operator IN wie folgt erfragen:

Q3 = IN(wegen,'all',Q1a)

Die Bereichsoption all sorgt dafür, dass der Suchbegriff im ganzen von Q1a gefundenen Satz recherchiert wird. Dieser Weg führt zum selben Ergebnis wie der Weg über INKLUSIVE, siehe dazu Q3a, und ist kürzer. Ohne Angabe von all in Q3 wird wegen nur im Trefferbereich von Q1a gesucht (d.h. am Satzanfang und -ende).

Das selbe Ergebnis wie in Q3, aber mit Operator INKLUSIVE, erhält man wie folgt:

Q3a = IN(wegen,'',Q2)

Über die Werte des Arguments <I> von Operator IN lässt sich außerdem die Position des Suchbegriffes innerhalb des Satzes vorgeben, z.B. mit dem Wert L wie in

Q3b = IN(wegen,'L,all',Q2)

läßt sich angeben, dass wegen am Anfang des Satzes gesucht wird.


Suchanfrage nach dem ersten Komma eines Satzes

Problemstellung

Gewünscht wird die Liste aller nach dem Satzanfang als erste auftretenden Kommata. Dort, wo ein Satz mehrere Kommata beinhaltet, soll also nur das erste zurückgeliefert werden.

Eine solche Suchanfrage würde man gerne mit Hilfe von regulären Ausdrücken formulieren. Da COSMAS II keine regulären Ausdrücke anbietet, muss die hier vorgeschlagene Formulierung gewählt werden, die sich auf Satzenden stützt.

Beispiel

"So ging es nicht um eine konstruktive Kritik, wie mit dem Erbe des parteiischen Journalismus' umzugehen sei, sondern allein um eine Rückschau aus der Sicht der Sieger."

In diesem Beispiel soll das Komma nach Kritik zurückgeliefert werden.

Vorgehen

Man sucht nach allen Satzenden, kombiniert sie mit der Gruppe der im selben Satz gefundenen Kommata und wählt aus jeder Gruppe das am weitesten links stehende aus.

Formulierung

Q1 = RECHTS(ELEM(S))

Von allen Sätzen (ELEM(S)) wählt man das letzte (= rechte) Wort aus, d.h. das rechte Satzende.

Q2 = ABSTAND(",",+s0 max,Q1)

Man sucht über den Abstandsoperator alle Kommata, die in einem gleichen Satz vorkommen (+s0) und fasst sie zu einer Gruppe zusammen (max). Der Trick hierbei besteht darin, alle Kommata im gleichen Satz wie ein Satzende zu suchen, damit man sie überhaupt zu einer Gruppe zusammenfassen kann.

Q3 = LINKS(Q2)

Aus der Gruppe der Kommata eines Satzes wählt man das am weistesten links stehende aus. Das funktioniert natürlich auch für Sätze mit nur einem Komma.

Die komplette Formulierung lautet:

LINKS(ABSTAND(",",+s0 max,RECHTS(ELEM(S)))

Suchanfrage nach einem Komma in einem bestimmten Kontext

Problemstellung

Gesucht werden die Textstellen, bei denen das erste Komma eines Satzes folgende Bedingungen erfüllt: kein Verb unmittelbar davor und kein Relativpronomen unmittelbar danach.

Vorgehen

Man sucht wie im Beispiel des ersten Kommas im Satz nach der Liste aller Kommata, die als erste in einem Satz vorkommen und schließt nacheinander diejenigen aus, in deren Umgebung z.B. unerwünschte Wortklassen auftreten. Dazu benötigt man den ausschließenden Abstandsoperator %.

Formulierung

Q1 = RECHTS(ELEM(S))

Q1 liefert die Satzenden, d.h. das letzte Wort eines jeden Satzes.

Q2 = LINKS(ABSTAND(",",+s0 max,Q1))

Q2 liefert die in einem Satz zuerst auftretenden Kommata.

Q3 = ABSTAND(Q2,%w0,MORPH(VRB))

Von den in Q2 gefundenen Kommata werden nun diejenigen ausgeschlossen (%), vor denen unmittelbar (w0) ein Verb steht. Da das Wort unmittelbar vor dem Komma einen Wortabstand von 0 zum Komma hat, wird der 0-Abstand genommen.

Ausnahme: im gegenwärtigen Archiv TAGGED muss an dieser Stelle der Abstand -1 stehen, weil infolge einer veralteten Kodierung das Komma als selbstständiges Textwort getrennt vom Vorwort kodiert wurde (Beispiel: "... wetten , dass ...").

ABSTAND(Q3,%+w1:1,MORPH(PRN rel))

Von den in Q3 gefundenen Kommata werden nun diejenigen ausgeschlossen (%), auf die unmittelbar (+w1:1) ein Relativpronomen folgt.
Der Minimalwortabstand 1 (die 1 vor dem :) ist notwendig, um den 0-Wortabstand auszuschließen, denn +w1 bedeutet +w0:1 und schließt den 0-Abstand ein.

Bemerkungen

Will man in Q2 die Kommata ausschließen, bei denen in einem linken Kontext von 3 Wörtern ein Verb vorkommt, muss der Abstand so lauten:
%-w2, d.h. %-w0:2, d.h. die Wörter an den Positionen 0, 1 und 2 im linken Kontext, wobei dann tatsächlich der maximale Abstand 2 das dritte Wort links vom Komma bezeichnet.


Muster einer Suchanfrage für die indirekte Rede

In den IDS-Korpora können Textstellen mit indirekter Rede nicht direkt abgefragt werden, da diese nicht annotiert ist. Vorgeschlagen wird hier ein Suchanfragemuster, bei dem ein Typus von indirekter Rede approximativ recherchiert werden kann. Dabei kann nicht ausgeschlossen werden, dass falsche Belege gefunden und korrekte Belege nicht gefunden werden.

Problemstellung

Es werden Belege von indirekter Rede gesucht, die folgendes Muster aufweisen:

"sagte" + Komma + "dass" + einige Wörter frei + ("habe" oder "hätte" oder "sei" oder "ist" oder "wäre")
wobei wir zwischen "dass" und dem Verb Satzzeichen wie Komma, Doppelpunkt, etc. ausschließen wollen.

Für ein besseres Verständnis wird die gesamte Suchanfrage in Teilsuchanfragen (Q1 bis Q5), die nacheinander ausgeführt werden können, aufgebaut.

Beispiel eines gewünschten Beleges

Eugster sagte, dass die Gemeinde keinen Zeitdruck habe.

Aufbau der Suchanfrage

Q1 = ABSTAND('sagte',w0,',')
Q2 = ABSTAND(Q1,+w1,'dass')

Mit Q2 erhalten wir die Einleitung der indirekten Rede.

Q3 = RECHTS(Q2)

Mit Q3 behalten wir das Wort "dass" (das am weitesten rechts in Q2 auftretende Wort) für die folgenden Recherchen. Dies ist wichtig für Q5.

Q4 = ABSTAND(Q3,+s0 min,'habe hätte sei ist wäre')

Mit Q4 schränken wir nun die Belege auf Wortfolgen innerhalb eines Satzes, in denen links "dass" steht, rechts eines der Wörter "habe", "hätte", etc...
Im Abstandsoperator wird außerdem das Schlüsselwort min spezifiziert. Das ist wichtig, damit ein Fall wie F1 als mehrere unabhängige Belege behandelt wird:

F1 = " ... sagte, dass er viele davon schon habe und, da sei er sich sicher, keines jemals gelesen habe."

Für F1 erzeugt Q4 durch Anwendung des Schlüsselwortes min drei unabhängige Belege:

B1 = " ... sagte, dass er viele davon schon habe ...."
B2 = " ... sagte, dass er viele davon schon habe und, da sei ...."
B3 = " ... sagte, dass er viele davon schon habe und, da sei er sich sicher, keines jemals gelesen habe."

Jeder dieser Belege wird einzeln in Q5 ausgewertet, wobei nur Beleg B1 die Bedingung erfüllt.
Ohne Anwendung von min würde Q4 statt drei Belegen nur einen einzigen Beleg weiterreichen, welcher von Q5 als ganzes herausgefiltert werden würde. Im Endeffekt hätten wir einen korrekten Beleg ausgeschlossen.

Q5 = ABSTAND(Q4,%w0,',')

Mit Q5 werden nun alle bisherigen Belege ausgeschlossen, bei denen ein Komma zwischen dass und dem Verb vorkommt (einschließlich dass und Verb).
Das Komma kann an dieser Stelle ersetzt werden durch eine Liste von Satzzeichen, die man ausschließen möchte. Der Satzendepunkt braucht nicht in der Liste aufgenommen zu werden, da in Q4 gewährleistet wird, dass alle Wörter eines Beleges innerhalb eines Satzes gefunden werden.

Die gesamte Suchanfrage Q5 lautet also:

Q5 = ABSTAND(ABSTAND(RECHTS(ABSTAND(ABSTAND('sagte',w0,','),+w1:1,'dass')),+s0 min,'habe hätte sei'),%w0,',')

Einschränkung

Diese Suchanfrage hat eine Ungenauigkeit: Ein Beleg wird in Q5 auch dann ausgeschlossen, wenn ein Komma genau hinter dem Verb ("hätte,", "habe,", etc.) auftritt. Um dies zu verhindern, müssen wir auf eine Erweiterung der Suchmaschine warten.


Muster einer Suchanfrage für die indirekte Rede mit "dass + soll"

Problemstellung

Gewünscht sind Belege von indirekter Rede nach folgendem Muster:

Verb1 + , + dass ... + Verb2 + haben + soll

Dabei könnte Verb1 auch durch eine Liste von passenden Verben wie behaupten, sagen, etc. ersetzt werden. Die Suchanfrage muss so formuliert werden, dass alle Wörter im selben Satz gesucht werden. Der Abstand zwischen der Konjunktion und Verb2 kann beliebig groß sein.

Beispiel eines gewünschten Belegs

Die Zeitschrift hatte fälschlicherweise behauptet, dass sich die Prinzessin ihren Adelstitel unredlich erworben haben soll.

Formulierung

Q1 = ABSTAND(MORPH(VRB),'+w0:1',',')

Q1 deckt der Hauptsatz ab. Auf das Verb soll unmittelbar danach oder in einem Abstand von einem Wort (+w0:1) ein Komma folgen.

Q2 = ABSTAND('dass daß','+s0',ABSTAND(MORPH(VRB),'+w1:1',ABSTAND('haben','+w1','soll sollen')))

Q2 deckt den Nebensatz mit der indirekten Rede ab: die Konjunktion dass wird in der neuen und alten Rechtschreibung angegeben. Im selben Satz (+s0) folgt die Verbgruppe mit einem freien Verb gefolgt von haben und soll oder sollen, den beiden möglichen Deklinationen von sollen an dieser Stelle. Der Abstand +w1:1, d.h. mindestens und höchstens ein Wort Abstand, zwischen dem Verb und haben ist wichtig, weil haben selber auch ein Verb ist.

Q3 = ABSTAND(Q1,'+w1:1',Q2)

Q3 verknüpft Haupt- und Nebensatz so, dass die Konjunktion dass unmittelbar auf das Komma folgt (+w1:1).


Muster einer Suchanfrage für "elliptische Sätze"

Problemstellung 1

Gewünscht sind Belege von elliptischen Sätzen ohne präpositionale Ergänzung. Als Beispiel suchen wir nach "ich freue mich.".

Ansatz: elliptischer Satz = ganzer Satz. D.h.:

ich (= Satzanfang) freue mich (= Satzende)

Beispiel eines gewünschten Belegs

Er stempelt und winkt mich durch. Ich freue mich. Aber Kahn tut auch mir leid.

Formulierung

Q1 = (ich /w0 <sa>) /+w1 freue /+w1 (mich /w0 <se>)

Q1 setzt die beiden Markierungen <sa> und <se> ein, die für das 1. bzw. letzte Wort eines Satzes stehen. Dadurch werden alle ich ausgewählt, die am Satzanfang stehen und alle mich, die am Satzende stehen.

Eine ähnliche Lösung ist die folgende:

Q2 = ich:sa /+w1 freue /+w1 mich:se

Q2 setzt direkt die Bedingung Satzanfang (:sa) und Satzende (:se) ans Ende der gesuchten Wörter ich und mich ein.

Unterschiede zwischen beiden Suchanfragemuster

Beide Suchanfragemuster unterscheiden sich wie folgt:

Suchanfrage Anz. Treffer Ausführungszeit Satzgrenzen
Q1 118 langsam die Markierung <s> ... </s>
Q2 220 schnell die Markierung <s> ... </s>
der Doppelpunkt

Suchanfrage Q2 enthält die Belege von Q1 und zusätzlich Belege, bei denen der Tokenizer von COSMAS II bei einem Doppelpunkt, einem Ausrufezeichen, etc. eine zusätzliche Satzgrenze (ungeachtet des Inhalts) eingefügt hat.

Beispiele von Belegen, die nur von Q2 gefunden werden

Erste Reaktion: "Ich freue mich".

"Ich freue mich": ein Stück Nichtvergessensein.

«Ich freue mich!», ruft Schöneberger schon, als sie noch hinterm Vorhang steht...

Problemstellung 2

Die obige Problembestellung soll so erweitert werden, dass am Satzende ein freies Wort zugelassen wird.

Formulierung

Q3 = ich:sa /+w1 freue /+w1 (mich /w1,s0 <se>)

Q3 ist eine Mischlösung aus Q1 und Q2. Um sicher zu sein, dass zwischen mich und dem letzten Wort des Satzes nicht noch eine Satzgrenze verläuft, wird /+w1,s0 benutzt.

Beispiel eines Belegs für Q3

"Ich freue mich mordsmäßig.


Suchanfragen in Überschriften

Verfügbare Überschriften in den IDS-Korpora

In den CES-kodierten IDS-Korpora sind folgenden Arten von Überschriften kodiert, die in Suchanfragen benutzt werden können. Wir geben hier zur Veranschaulichung eine Übersicht mit Zahlen für das Archiv W - Archiv der geschriebenen Korpora mit einem Umfang von 10 Mio. Texten, Stand Juli 2009, wieder:

Art der Überschrift Kodierung Anzahl
Dachzeile <HEAD TYPE=TOP> 2.196.162
Hauptüberschrift <HEAD TYPE=MAIN> 10,655.085
Unterüberschrift <HEAD TYPE=SUB> 3.602.567
Zwischenüberschrift <HEAD TYPE=CROSS> 4.841.568
Restkategorie <HEAD TYPE=UNSPECIFIED> 367.687
alle Überschriften <HEAD> 21.663.069

Die Großschreibung bei der Kodierung ist zu beachten.

Textbeispiel mit Textauszeichnungen für Überschriften

<div>
  <head type="top">
    <s>Innenstadt: Ehren- und Offiziersabend des Mannheimer Traditionscorps mit Büttenreden und Gardetanz</s>
  </head>
  <head type="main">
    <s>Führungswechsel kündigt sich an</s>
  </head>
<p>Seit 42 Jahren ist ...</p>
</div>

Beispiele

Beispiel 1: Spezifikation von Überschriften in Suchanfragen

ELEM(HEAD,ATT(TYPE,=,TOP))

Erfragen der Dachzeilen in den Zeitungstexten der IDS-Korpora gemäß CES-Kodierung. Siehe Textbeispiel oben.

Über die Werte MAIN, SUB und CROSS lassen sich analog die Haupt-, Unter- und Zwischenüberschriften erfragen.

ELEM(HEAD,ATT(TYPE,=,'TOP MAIN'))

In dieser Anfrage werden Dach- oder Hauptüberschriften erfragt.

ELEM(HEAD,ATT(TYPE,<>,'SUB CROSS UNSPECIFIED'))

In dieser Anfrage werden alle Überschriften außer den Unter-, Zwischen- und den unspezifizierten Überschriften erfragt. Gemäß unserer Übersichtstabelle müssten dabei wieder die Dach- und Hauptüberschriften herauskommen.

Beispiel 2: Suchen von Suchbegriffen innerhalb von Überschriften

IN(wegen,'',ELEM(HEAD,ATT(TYPE,=,TOP))

Damit wird wegen an einer beliebigen Stelle innerhalb einer Dachüberschrift gesucht.

Beispiel 3: Suchen von Suchbegriffen an einer bestimmten Position von Überschriften

IN(wegen,'L',ELEM(HEAD,ATT(TYPE,=,TOP))

Damit wird wegen am Anfang einer Dachüberschrift (Wert L im Argument <I> von Operator IN) gesucht.

Analog lassen sich Suchbegriffe am Ende (Wert R) oder streng innerhalb (weder am Anfang noch am Ende, Wert N) von Überschriften erfragen.

IN(Terror,'F',ELEM(HEAD,ATT(TYPE,=,TOP))

Mit dem Wert F wird ein Spezialfall erfragt, da durch diese Option Anfang und Ende der Überschrift mit dem Suchbegriff Terror zusammenfallen müssen. Die Ergebnisse sind 1-Wort-Dachüberschriften, die nur aus dem gesuchten Wort bestehen.


Suchanfragen, die Überschriften ausschließen

Beispiele

Beispiel 1: Ausschließen von Überschriften aus den Ergebnissen

IN(wegen,'%',ELEM(HEAD))

Mit der Ausschließungsoption im Argument <I> des Operators IN lassen sich wie in diesem Fall alle Überschriften aus den Ergebnissen des Suchbegriffes wegen ausschließen.


Suchanfragen in mehreren Textbereichen

Beispiel 1: Suchanfragen in mehreren Textbereichen

ODER(ELEM(HEAD,ATT(TYPE,=,TOP)),ELEM(BYLINE))

Erfragen von Dachzeilen und Byline-Zeilen.


Was steht an den Satzenden eines Ergebnisses?

Wir gehen beispielsweise von einer Abstandsuche innerhalb eines Satzes aus und wollen erfragen, was am Ende solcher Sätze steht. Wir suchen z.B. wie in Q1 nach den Begriffen Polizei und Demonstration:

Q1 = ABSTAND(LEM(Polizei),'s0',LEM(Demonstration))

Um das Ergebnis von Q1 auf Satzebene auswerten zu können, muss man den Ergebnisbereich von Q1 auf den ganzen Satz ausdehnen.

Beispiel eines Ergebnisbereichs von Q1:

»... Polizei ... Demonstration ...«

Nun folgt die Bereichserweiterung mit dem Operator UEBERLAPPT:

Q2 = UEBERLAPPT(Q1,'',ELEM(S))
Dieser nimmt die Treffer von Q1 und kombiniert sie mit den Sätzen des Archivs. Dort wo sich ein Treffer von Q1 und ein Satz überlappen, wird die Summe ihrer Bereiche übernommen. Da der Ergebnisbereich von Q1 kleiner ist als der eines Satzes, geht er in den Satzbereich auf.

Beispiel eines Ergebnisbereichs von Q2:

»Draußen kann die Polizei die unangemeldete Demonstration auflösen.«

Da der Ergebnisbereich von Q1 auf den ganzen Satz erweitert wurde, ist es nun möglich, mit z.B. Operator RECHTS die Satzenden von Q1 zu betrachten und sogar im KWIC alphabetisch sortieren zu lassen.

Q3 = RECHTS(Q2)

Das Ergebnis von Q3 sind die Satzenden der Sätze, in denen Polizei und Demonstration vorkommt. Für obiges Beispiel wäre dies:

»... auflösen.«

Desgleichen kann mit Operator LINKS erreicht werden, um den Satzanfang einer Suchanfrage zu betrachten.


Wie formuliere ich eine Überlappung von Textbereichen?

Wir wollen zu diesem Thema präsentieren, wie man mit den Operatoren OV und ABSTAND(...,'w0',...) Überlappungen von Textbereichen formulieren kann und welche Unterschiede zwischen diesen Operatoren bestehen.

1. Überlappungen mit OV und ALL

Ein Beispiel: wir möchten eine Sequenz von 2 Verben und eine Sequenz von 2 Nomen untersuchen, wenn sie sich überlappen. Jede der beiden Sequenzen läßt einen Abstand von mehreren Wörtern zwischen den Verben bzw. den Nomen zu. Ein erster Ansatz könnte wie folgt aussehen:

Q1 = OV(ABSTABD(MORPH(V),'+w1:3,s0',MORPH(V)), '', ABSTAND(MORPH(N),'+w1:3,s0', MORPH(N)))

Wir stossen auf ein erstes Problem: Da ein Verb kein Nomen ist und umgekehrt, haben die beiden zu kombinierenden Sequenzen (in der Folge auch Bereiche genannt) kein gemeinsames Wort. Da aber OV so definiert ist, dass er eine Überlappung nur über gemeinsame Textstellen überprüft, liefert Q1 keine Treffer, so auch den folgenden erhofften Textausschnitt nicht:

»Der vom Helmstedter/N Lauftreff/N veranstaltete/V Silvesterlauf/N erfreut/V sich weiter großer Beliebtheit.«1

Um OV in diesem Fall einsetzen zu können, muss die Suchanfrage wie in Q2 durch Hinzunahme des Operators ALL formuliert werden:

Q2 = OV(ALL(ABSTABD(MORPH(V),'+w1:3,s0',MORPH(V))), '', ALL(ABSTAND(MORPH(N),'+w1:3,s0', MORPH(N))))

Durch den Einsatz von ALL erhält OV die Textbereiche »Helmstedter Laufsteg veranstaltet Silvesterlauf« und »veranstaltete Silversterlauf erfreut« und erkennt, dass beide Sequenzen sich überlappen. Nun erhält man den gewünschten Treffer:

»Der vom Helmstedter/N Lauftreff/N veranstaltete/V Silvesterlauf/N erfreut/V sich weiter großer Beliebtheit.«1

Der Nachteil mit dem Operator ALL besteht darin, dass nicht nur die ursprünglich gesuchten Verben und Nomen hervorgehoben werden, sondern alle Wörter innerhalb der beiden Sequenzen. Im nächsten Textauszug sind die unerwünscht hervorgehobenen Wörter "vorher" und "damit" mit der Farbe ihrer zugehörigen Sequenz ebenfalls markiert:

»Schon stunden/N vorher hatten/V Arbeiter/V damit begonnen/V, in der Donaulände, ... 1

Im nächsten Abschnitt zeigen wird, wie der Operator ABSTAND(..,'w0',...) dieses Problem löst.

2. Überlappungen mit ABSTAND(...,'w0',...)

Eine Alternative zu OV und #AlL bietet der Null-Wortabstand ABSTAND(...,'w0',...), der einfacher zu handhaben ist und Überlappungen von Textbereichen erkennt, die keine gemeinsamen Wörter haben.

Q3 = ABSTAND(ABSTAND(MORPH(V),'+w1:3,s0',MORPH(V)),'w0',ABSTAND(MORPH(N),'+w1:3,s0',MORPH(N)))

2.a Hervorheben der gesuchten Wörter

Hinzu kommt, dass COSMAS II nun in der Lage, nur die gesuchten bzw. gefundenen Wörter (die Verben und Nomen in unserem Beispiel) anzuzeigen:

»Schon stunden/N vorher hatten/V Arbeiter/V damit begonnen/V, in der Donaulände, ... 1

2.b Minimalgruppen

Suchanfrage Q3 liefert korrekterweise auch solche Treffer, die auf den ersten Blick falsch zu sein scheinen:

»Nun ja, und ich sollte/V das Tigerfell/N geben/V, sollte/V Noahs/N Tritte/N kassieren/V und gleich zu Beginn des neuen Jahres am Boden liegen...

Ein solcher Treffer entsteht dann, wenn mehrere Sequenzen von Verben und Nomen sich gemäß der Suchanfrage Q3 kombinieren lassen. COSMAS II fasst sie dann gemäß der Default-Einstellung maximale Gruppenbildung korrekterweise zu 1 Treffer zusammen. In unserem Fall kommt ein solcher Treffer durch das Zusammenfassen der folgenden Sequenzen zusammen:

Sequenz »sollte das Tigerfell geben« überlappt »Tigerfell geben, sollte Noahs« überlappt »sollte Noahs Tritte kassieren« überlappt »Noahs Tritte«.

Will man dies verhindern, muss man in Q3 die minimale Gruppenbildung mittels »,min« angeben, und zwar für alle 3 Abstandsoperatoren:

Q4 = ABSTAND(ABSTAND(MORPH(V),'+w1:3,s0,min',MORPH(V)),'w0,min',ABSTAND(MORPH(N),'+w1:3,s0,min',MORPH(N)))

Suchanfrage Q4 erzeugt nun mehr Treffer bzw. KWIC-Zeilen, weil die gefundenen Sequenzen nicht mehr maximal zusammengefasst werden. Unser obiges Beispiel zerfällt in 4 Treffer:

»Nun ja, und ich sollte/V das Tigerfell/N geben/V, sollte Noahs/N Tritte kassieren und gleich zu Beginn ...

»Nun ja, und ich sollte das Tigerfell/N geben/V, sollte/V Noahs/N Tritte kassieren und gleich zu Beginn ...

»Nun ja, und ich sollte das Tigerfell/N geben, sollte/V Noahs/N Tritte kassieren/V und gleich zu Beginn ...

»Nun ja, und ich sollte das Tigerfell geben, sollte/V Noahs/N Tritte/N kassieren/V und gleich zu Beginn ...


1: Die Unterscheidung der beiden Sequenzen mit blau und rot, die hier zur besseren Veranschaulichung eingesetzt wird, kann von COSMAS II selber nicht vorgenommen werden.


Die adjektivische Konstruktion »nicht ... un-ADJ«

Das vorliegende Beispiel zeigt zugleich Anwendungsfälle der folgenden Ergebnispräsentationen:

Die grundlegende Suchanfrage

Wir interessieren uns für Adjektive mit Präfix un-, die mit dem Adverb nicht gebildet werden, also z.B. nicht von ungefährt, nicht eindeutig, etc.

Die Suchanfrage wird in einem morpho-syntaktisch annotierten Archiv wie TAGGED-C durchgeführt. Zwischen nicht und dem Adjektiv wollen wir maximal 3 Wörter zulassen. Die Suchanfrage läßt sich wie folgt formulieren, wobei "nicht" zwischen Hochkommata geschrieben werden muss, wenn es als Suchbegriff und nicht als Operator verstanden werden soll:

"nicht" /+w1:4,s0 (MORPH(A) /w0 &un-)

Die Grundform aller Wörter mit Präfix un wird mit &un- formuliert, außerdem muss die Lemmatisierungsoption sonstige Wortbildungsformen eingeschaltet werden.

Der Ausdruck (MORPH(A) /w0 &un-) schließlich findet alle Adjektive mit Präfix un.

Das Ergebnis zählt 103.000 adjektivische Konstruktionen (KWIC-Zeillen), die im folgenden KWIC auszugsweise dargestellt werden:

KWIC-Ausschnitt für Suchanfrage '\

Abb. 1: KWIC-Ausschnitt für Suchanfrage "nicht" /+w1:4,s0 (MORPH(A) /w0 &un-)

Die Liste der gesuchten un-Adjektive

Möchte man nun die Adjektive sortieren und nach Wort-Types zusammenfassen, so geht man wie folgt vor: Die obige Suchanfrage wird so erweitert, dass die Treffer im KWIC nur noch aus den Adjektiv bestehen. Da das Adjektiv in den gefundenen Konstruktionen immer das letzte Trefferwort ist, erreichen wir dies, in dem wir den Operator #END (bzw. #RECHTS) auf die obige Suchanfrage ansetzen mit der Auswirkung, dass die Referenz auf das letzte Wort verschoben wird:

#END( "nicht" /+w1:4,s0 (MORPH(A) /w0 &un-) )

Nun liefert das neue KWIC nur noch die gefundenen Adjektive auf:

KWIC-Ausschnitt für Suchanfrage '#END(\

Abb 2.: KWIC-Ausschnitt für Suchanfrage "#END(nicht" /+w1:4,s0 (MORPH(A) /w0 &un-))

Die Ansicht nach Wort-Types

Nun können mittels der Ansicht nach Wort-Types die Adjektive zusammengefasst und nach ihrer relativen Häufigkeit sortiert werden. In der folgenden Abbildung sind die häufigsten zu sehen:

[Ansicht nach Wort-Types]

Abb 3.: Ansicht nach Wort-Types für "#END(nicht" /+w1:4,s0 (MORPH(A) /w0 &un-))

Die Wörter innerhalb von »nicht ... un-ADJ«

Als nächstes könnte man ähnlich verfahren, um sich die häufigsten Wörter zwischen nicht und den Adjektiven auf un- anzeigen zu lassen. Die obige Suchanfrage wird zu diesem Zweck wie folgt angepasst:

#NHIT( "nicht" /+w2:4,s0 (MORPH(A) /w0 &un-) )

In diesem Fall wird der Operator #NHIT eingesetzt, weil er die Referenz auf die Wörter zwischen den Treffern setzt, die in der Wort-Type-Ansicht zusammengefasst werden sollen. Außerdem wird der minimale Abstand zwischen nicht und dem Adjektiv auf 2 gesetzt, um die Fälle auszuschliessen, bei denen das Ajektiv unmittelbar auf nicht folgt.

Von den obigen 103.000 Treffer werden durch die neue Suchanfrage 31.474 KWIC-Zeilen ausgewählt. Diese wiederrum lassen sich in der Ansicht nach Wort-Types auf 10.413 Einzelwörter oder Wortkombinationen zusammenfassen. Die häufigsten davon werden in der nächsten Abbildung gezeigt:

[die häugisten Wort-Types zwischen <i>nicht</i> und den Adjektiven]

Abb 4.: Ansicht nach Wort-Types für die häufigsten Wörter zwischen 'nicht' und dem Adjektiv,
Sucheanfrage "#NHIT(nicht" /+w2:4,s0 (MORPH(A) /w0 &un-))

Aus der Tabelle kann man somit die in den IDS-Korpora häufigsten Einzelwörter und Wortkombinationen, die in der adjektivischen Konstruktionen nicht ... un-ADJ auftreten, ablesen. Zum Beispiel:

nicht ganz un-ADJ 11,8%
nicht mehr un-ADJ 5,6%
... ...
nicht mehr so un-ADJ 0,689%

Die Konstruktion »nicht … un-ADJ« für ausgewählte Adjektive

Interessiert man sich für die adjektivischen Konstruktion eines bestimmten Adjektivs, z.B. für nicht … ...unbedingt, so kann man mit folgender Suchanfrage arbeiten:

#NHIT( "nicht" /+w4,s0 (MORPH(A) /w0 unbedingt) )

Die Ansicht nach Wort-Types, angewendet auf das auf diese Weise erzielte Ergebnis, liefert die Einzelwörter und Wortgruppen, die in dieser Konstruktion auftreten.

Die Größe der Konstruktion »nicht … un-ADJ« für ausgewählte Adjektive

Bleiben wir bei unserem Adjektiv unbedingt. Wir möchten wissen, wie groß die Konstruktion nicht … unbedingt in den IDS-Korpora ist. Dazu formulieren wir folgende Suchanfrage:

"nicht" /+w4,s0 (MORPH(A) /w0 unbedingt) )

Mittels der Ergebnisauswertung nach Mehrwortspannen erfahren wir folgendes:

[Ansicht nach Mehrwortspannen für <i>nicht … unbedingt</i>]

Abb 5.: Ansicht nach Mehrwortspannen für »nicht … unbedingt«

Die berechnete Größe umfasst die beiden Treffer nicht und unbedingt und allfällige Wörter dazwischen. Mit über 95% der Fälle ist somit nicht unbedingt am häufigsten anzutreffen.


Formulieren einer Wortklasse

Wortklassen werden mit dem Operator MORPH ausgedrückt. Zur Unterstützung der Eingabe aller möglichen Kombinationen von Wortklassen und klassenspezifischen Merkmalen öffnet mit einem Doppelklick auf den MORPH-Operator der MORPH-Assistent.


Verknüpfen eines Wortes mit einer Wortklasse

Um nach einer Wortform mit zugehöriger Wortklasse suchen zu können, kann man wahlweise die gesuchte Wortform mit dem Abstands- oder dem IN-Operator mit der angegebenen Wortklassen verknüpfen:

Beispiele

Beispiel 1: Verknüpfen mit dem 0-Wortabstand

Q1a = ABSTAND(LEM(Würde),'w0',MORPH(NOU))

Suchanfrage Q1a liefert alle Flexionsformen von Würde zurück, die als Nomen annotiert sind.

Beispiel 2: Verknüpfen mit dem IN-Operator

Q1b = IN(LEM(Würde),'FE',MORPH(NOU))

Q1b liefert mit Hilfe des Operators IN dasselbe Resultat zurück. Dabei kann die IN-Option 'FE' oder leer sein.

Beispiel 3: Ausschließen einer Wortklasse

Q2a = IN(LEM(sein),'%',MORPH(NOU)))

Umgekehrt, wie in diesem Beispiel mit Hilfe des IN-Operators dargestellt, läßt sich mit der ausschließenden Option % der beiden obigen Operatoren eine Wortklasse für eine gewünschte Wortform ausschließen.

Q2b = IN(LEM(sein),'%',ODER(MORPH(NOU),MORPH(VRB)))

Q2b führt das gleiche wie Q2a für zwei Wortklassen vor.


Suchen nach einer Sequenz von Wortklassen

Mit Hilfe des Wort-, Satz und Absatzoperators können beliebige Sequenzen von Wortklassen und Wortformen miteinander gebildet werden. Das Formulieren von Sequenzen mit Hilfe von regulären Ausdrücken ist hingegen nicht möglich.

Beispiele

Beispiel 1: Sequenz von aufeinanderfolgenden Wortklassen

Q1 = ABSTAND(MORPH(NOU),'+w1:1',ABSTAND(MORPH(NOU),'+w1:1',MORPH(NOU)))

Q1 sucht nach einer Sequenz von drei aufeinanderfolgenden Nomen. Es ist hierbei besonders darauf zu achten, dass der 1-Wort-Abtand mit der Angabe +w1:1 und nicht mit +w1 ausgedrückt wird, weil in letzterem Fall auch alle Treffer bestehend aus ein oder zwei aufeinanderfolgenden Nomen die Suchanfrage erfüllen.

Beispiel 2: Sequenz von aufeinanderfolgenden Wortformen und -klassen

Q2 = ABSTAND(MORPH(VRB),'+w1:1',ABSTAND('haben','+w1:1','soll sollen'))

Q2 sucht nach verbalen Konstruktionen vom Typ: Verb gefolgt von haben gefolgt von soll oder sollen.

Beispiel 3: Lose Sequenz von Wortformen und -klassen innerhalb eines Satzes

Für ein gutes Beispiel einer Sequenz von Verben in einem mit dass eingeleiteten Nebensatz, siehe folgende Suchanfragemuster.

Beispiel 4: Sequenz mit Ausschließung von Wortklassen

Q3 = ABSTAND(ABSTAND(MORPH(DET),'+w1:1,s0',MORPH(-DET -ADV -A)),'+w1:1,s0',MORPH(N))

Gesucht wird eine Sequenz von einem Determinanten und einem Nomen, zwischen denen ein Wort steht, das weder DET noch A noch ADV sein darf.

COSMAS II, Zentrale DV-Dienste - 18. 01. 2018