Die Abfragesprache CQP

Die Möglichkeiten der Abfragesprache CQP werden in der offiziellen Dokumentation ausführlich beschrieben. Im Folgenden sollen nur die wichtigsten Elemente beschrieben werden, mit denen auf das Text+Berg-Korpus (und andere CWB-Korpora) zugegriffen werden kann. Dabei ist Folgendes zu beachten:

  1. Die Befehle, die auf Annotation oder Metadaten zugreifen, sind natürlich vom jeweiligen Korpus abhängig.
  2. Das Web-Interface CQPweb akzeptiert nicht alle CQP-Befehle. Im Folgenden werden deshalb nur Befehle vorgestellt, die auch in CQPweb nutzbar sind.

Suche nach Wortform, Lemma und Wortart

Die Suche nach einer Wortform erfolgt in Anführungszeichen:

"Berg"

Äquivalent dazu ist die ausführliche Schreibweise:

[word="Berg"]

Wenn anstelle der Wortform nach dem Lemma gesucht werden soll, wird das folgendermassen angegeben:

[lemma="Berg"]

Diese Suche findet dann alle Flexionsformen von "Berg".

Die Suche nach Wortarten geschieht ähnlich:

[pos="ADJA"]

Das findet alle Adjektive. Informationen zu den im Text+Berg-Korpus verwendeten Tagsets finden sich in den Release Notes des Korpus. Für deutsche Texte wird das Stuttgart-Tübingen-Tagset verwendet, was sehr verbreitet ist.

Kombination von Elementen

Die Ausdrücke in den eckigen Klammern repräsentieren immer ein Wort (Token). So können mehrere Ausdrücke hintereinander aufgeführt werden:

[pos="ADJA"] [lemma="Berg"]

Damit wird nach einem Adjektiv, gefolgt vom Lemma "Berg" gesucht. Solche Ketten können beliebig lang sein und es können Klammern und die Bool'sche Operatoren & (UND) und | (ODER) verwendet werden, um die Elemente zu gruppieren:

([pos="ADJA"] | [pos="ART"]) [lemma="Berg"]

Damit wird nach einem Adjektiv oder einem Artikel gesucht, gefolgt vom Lemma "Berg".

Sollen für ein Token mehrere Bedingungen definiert werden, dann werden diese Bool'schen Operatoren innerhalb der eckigen Klammern verwendet:

[lemma="schön" & pos="ADJA"]

Damit wird nach dem Lemma "schön" gesucht, jedoch nur, wenn es als Adjektiv annotiert ist. Auch Nicht-Vorkommen können ausgedrückt werden:

[lemma="schön" & pos!="ADJA"]

Damit werden Lemmata "schön" gefunden, die nicht als Adjektiv klassifiziert sind.

Reguläre Ausdrücke

Auf mehreren Ebenen können reguläre Ausdrücke verwendet werden, um komplexere Suchmuster formulieren zu können. So z.B. innerhalb der eckigen Klammern:

[lemma="Berg.+"]

So werden Lemmata gefunden, die mit "Berg" beginnen. (Der Punkt steht für ein beliebiges Zeichen, das Pluszeichen für ein oder mehrere Vorkommen. Siehe für weitere Erläuterungen zu den regulären Ausdrücken das entsprechende Kapitel.)

Die regulären Ausdrücke können aber auch ausserhalb der eckigen Klammern auf Token-Ebene verwendet werden:

[pos="ART"] [pos="ADJA"]? [lemma="Berg"]

So wird nach einem Artikel, ev. gefolgt von einem Adjektiv, gefolgt vom Lemma "Berg" gesucht. (Das Fragezeichen steht für 0 oder ein Vorkommen.)

Wichtig in diesem Zusammenhang sind auch leere eckigen Klammern: Sie stehen für ein nicht weiter definiertes Token:

[pos="ART"] [] [lemma="Berg"]

Damit muss zwischen dem Artikel ein nicht weiter definiertes Token vorkommen. In Verbindung mit regulären Ausdrücken kann auch angegeben werden, dass dieses Token nicht oder einmal vorkommen muss (Fragezeichen), mindestens einmal (Pluszeichen) oder keinmal bis beliebig oft (Stern) vorkommen muss:

[pos="ART"] []* [lemma="Berg"]

Gerade bei letzterer Suche ist es sinnvoll, den gesamten Suchausdruck auf maximal einen Satz zu begrenzen, was mit within s gemacht wird:

[pos="ART"] []* [lemma="Berg"] within s

Abfrage von XML-Strukturen

XML-Strukturen, die indiziert sind, können ebenfalls abgefragt werden. Im Text+Berg-Korpus werden Berg-, Gletscher-, Tal-, Orts- und Hüttennamen sowie Personennamen und Zeitangaben annotiert, auf die folgendermassen zugegriffen werden kann:

<mountain> []+ </mountain>

Damit wird nach einem oder mehreren Tokens gesucht ([]+), die vom XML-Tag <mountain&t; umschlossen sind. Neben "mountain" sind im Text+Berg-Korpus auch noch weitere Typen suchbar.

Weitere Informationen

Die beste Quelle für weitere Informationen ist die offizielle Dokumentation von CQP. Bitte beachte, dass nicht alle Befehle in CQPweb verfügbar sind, da CQP bei der Verwendung mit der Corpus Workbench beschrieben wird.