[IDS-Logo] COSMAS II - MORPH-Operator mit Wiederholungsoption

MORPH mit Wiederholungsoptionen: MORPH{min:max}

Zielsetzung

Mit der Einführung von Wiederholungsoptionen für den MORPH-Operator MORPH{min:max} (ab Server 4.7) werden, in Anlehnung an regulären Ausdrücken, die Ausdrucksmöglichkeiten von Wortklassensequenzen erweitert. Hinzu kommt, dass die Suchmaschine von COSMAS II Ausdrücke mit MORPH{min:max} deutlich schneller ausführt als mit dem klassischen Wortabstandsoperator /w.

Die folgenden Messreihen zeigen den Geschwindigkeitsgewinn auf.

Vergleich der Antwortzeiten von MORPH{min:max} mit /w

MORPH{min:max} liefert zum Teil deutlich kürzere Antwortzeiten als MORPH /w MORPH und ist, wo es möglich ist, dem klassischen Operator vorzuziehen.

Ein technischer Vorteil

Der Vorteil von MORPH{min:max} gegenüber dem klassischen Abstandsoperator /w besteht darin, dass ersterer, unabhängig von der Länge der gesuchten Sequenz, nur ein einziges Mal auf die Indexstrukturen zugreift. Der Wortabstandsoperator ist hingegen so implementiert, dass er diesen kostspieligen Zugriff, je länger die Sequenz ist, desto mehr wiederholen muss.

Im Folgenden wird dies anhand von drei verschiedenen Messreihen deutlich.

Sequenzen aus einer einzigen Wortklasse mit min = max

In der ersten Tabelle werden die Antwortzeiten von 4 Suchanfragen, die sich mit MORPH{min:max} und MORPH /w MORPH ausführen lassen, in den 4 größeren morpho-syntaktisch annotierten Archive einander gegenübergestellt. Beide Formulierungen liefern die gleichen Treffer. Die Angaben für die Antwortzeiten und die Anzahl Treffer sind die erzielten Durchschnittswerte über alle 4 annotierten Archive.

Um die Lesbarkeit der folgenden Tabellen zu erleichtern, wurden die Suchanfragen verkürzt eingetragen, siehe die Fußnoten 1 bis 4.

Suchanfrage
{min:max}
Antwort-
zeit
Suchanfrage
mit /w
Antwort-
zeit
Beschleu-
nigung
# Treffer
A{2:2} 1 11s A /w A 2 62s 5,6x 6.867.000
A{3:3} 10s A /w A /w A 3 51s 5,1x 401.000
A{4:4} 10s A /w A /w A /w A 4 90s 9,0x 38.400
A{5:5} 10s A /w A /w A /w A /w A5 95s 9,6x 7.637

1: steht für MORPH(A){2:2}.

2: steht für MORPH(A) /+w1:1,s0 MORPH(A).

3: steht für MORPH(A) /+w1:1,s0 MORPH(A) /+w1:1,s0 MORPH(A).

4: steht für MORPH(A) /+w1:1,s0 MORPH(A) /+w1:1,s0 MORPH(A) /+w1:1,s0 MORPH(A).

5: analog zu 4.

In den TAGGED-T-Archiven wurde mit MORPH(ADJ) recherchiert.

Fazit

Für Sequenzen einer und derselben Wortklasse ist in allen Fällen die Suchmaschine von COSMAS II mit MORPH{min:max} deutlich schneller als mit dem klassischen Wortabstandsoperator. Der Geschwindigkeitsgewinn beträgt in unserem Beispiel für Sequenzen von Adjektiven einen Faktor von 5,1x bis 9,6x.

Der zweite Gewinn besteht darin, dass die Geschwindigkeit für die Ausführung von MORPH{min:max} praktisch unabhängig von der Sequenzlänge ist, hier immer ca. 10s.

Sequenzen aus mehreren Wortklassen

In der nächsten Tabelle werden Sequenzen von unterschiedlichen Wortklassen gesucht. Dazu muss MORPH{min:max} mit dem Wortabstandsoperator /w kombiniert werden. Die 3 ersten Tabelleneinträge zeigen für ein besseres Verständnis der gesamten Messreihe die Einzelzeiten der einzelnen Wortklassensequenzen DET, A{3:3} und N{2:2}. Interessant sind die 2 letzten Einträge mit den Sequenzen aus unterschiedlichen Wortklassen.

Suchanfrage
{min:max}
Antwort-
zeit
Suchanfrage
mit /w
Antwort-
zeit
Beschleu-
nigung
# Treffer
DET 19s DET 19s 1.0x 155.676.000
A{3:3} 10s A /w A /w A 3 51s 5,1x 401.000
N{2:2} 64s N /w N4 326s 5,1x 82.895.000
A{3:3} /w N{2:2} 1 76s (A /w A /w A) /w (N /w N)5 384s 5,1x 19.284
DET /w A{3:3} /w N{2:2} 2 90s DET /w (A /w A /w A) /w (N /w N)6 404s 4.5x 9.169

1: steht für: MORPH(A){3:3} /+w1:1,s0 MORPH(N){2:2}.

2: steht für: MORPH(DET) /+w1:1,s0 MORPH(A){3:3} /+w1:1,s0 MORPH(N){2:2}.

3: steht für: MORPH(A) /+w1:1,s0 MORPH(A) /+w1:1,s0 MORPH(A).

4: steht für: MORPH(N) /+w1:1,s0 MORPH(N).

5: steht für: (MORPH(A) /+w1:1,s0 MORPH(A) /+w1:1,s0 MORPH(A)) /+w1:1,s0 (MORPH(N) /+w1:1,s0 MORPH(N)).

6: steht für: MORPH(DET) /+w1:1,s0 (MORPH(A) /+w1:1,s0 MORPH(A) /+w1:1,s0 MORPH(A)) /+w1:1,s0 (MORPH(N) /+w1:1,s0 MORPH(N)).

In den TAGGED-T-Archiven wurde mit MORPH(ADJ) und MORPH(ART) recherchiert.

Fazit

Sowohl bei den Einzelsequenzen als bei den kombinierten Sequenzen wird durchgängig ein Beschleunigungsfaktor von annähernd 5x (4,5x bis 5,1x) gemessen.

Sequenzen mit min < max

Um einen Vergleich zu ermöglichen, wird MORPH{min:max} bei min < max durch die unter den Fußnoten 1-3 aufgelisteten klassischen Formulierungen ausgedrückt. Diese Formulierungen sind nicht ganz identisch, sondern liefern ca. 6% zusätzliche Sequenzen, die MORPH{min:max} nach seinen Regeln (siehe: Wirkungsweise) ausschließt.

Suchanfrage
{min:max}
Antwort-
zeit
Suchanfrage
mit /w
Antwort-
zeit
Beschleu-
nigung
# Treffer
A{2:2} 11s A /w A1 62s 5,6x 6.868.000
A{2:3} 11s (A /w A) /w0:1 A2 104s 9,5x 6.868.000
A{2:4} 10s ((A /w A) /w0:1 A) /w0:1 A)3 189s 18,9x 6.868.000

1: steht für: MORPH(A) /+w1:1,s0 MORPH(A).

2: steht für: (MORPH(A) /+w1:1,s0min MORPH(A)) /+w0:1,s0min MORPH(A).

3: steht für: ((MORPH(ADJ) /+w1:1,s0min MORPH(ADJ)) /+w0:1,s0min MORPH(ADJ)) /w0:1,s0min MORPH(ADJ) .

Fazit

Nicht nur, dass die Formulierungen mit MORPH{min:max} wesentlich kompakter sind, sondern die Antwortzeiten sind in zweierlei Hinsicht deutlich besser. Erstens wird MORPH{min:max} praktisch unabhängig von der Länge der Sequenz mit derselben Geschwindigkeit abgearbeitet. Zweitens fällt dies umso mehr ins Gewicht, als dass mit zunehmender Sequenzlänge die Ausführung mit dem Wortabstandsoperator immer länger dauert.

Interessant ist die Tatsache, dass für A{2:max} die Anzahl der gefundenen Sequenzen für verschiedene max-Werte konstant bleibt. Es handelt sich nicht genau um die gleichen Sequenzen, sondern mit zunehmendem max-Wert werden kürzere durch längere ersetzt.

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