zeilenorientierte Eingabe → themenspezifische Fragestellungen → Suchanfrage nach einem Komma in einem bestimmten Kontext |
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
Zuerst suchen wir mit Suchanfrage Q1
nach dem ersten Komma eines
Satzes:
Q1 = #BEG(, /+s0 <se>) |
In Q2
werden die in Q1 gefundenen Kommata ausgeschlossen (%), die
auf einem Verb folgen. Da ein solches Verb einen Wortabstand von 0 von dem gesuchten Komma hat,
wird es mit %w0
gefunden:
Q2 = Q1 %w0 MORPH(VRB)) |
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 ...").
Von den in Q2 gefundenen Kommata werden nun diejenigen ausgeschlossen (%), auf die unmittelbar (+w1:1) ein Relativpronomen folgt. Der Minimalwortabstand 1 (die 1 vor dem :) ist notwendig, um sicherzustellen, dass die Wortklasse des nächsten Wortes genommen wird.
Q3 = Q2 %+w1:1 MORPH(PRN rel) |
Die vollständige Suchanfrage, durch Ersetzung von Q1 und Q2, lautet:
Q3 = (#BEG(, /+s0 <se>) %w0 MORPH(VRB)) %+w1:1 MORPH(PRN rel) |
Verallgemeinerung
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.