11.02.2013 Aufrufe

Aspekte der morphologischen Analyse des Deutschen - Universität ...

Aspekte der morphologischen Analyse des Deutschen - Universität ...

Aspekte der morphologischen Analyse des Deutschen - Universität ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Kapitel 4: Ein Modell eines <strong>morphologischen</strong> <strong>Analyse</strong>systems<br />

Algorithmus 4.2: Inkrementelles, Left-Corner-Chart-Parsing<br />

Eingabe: Ein Wortsegment s=<br />

Daten: Ein Chart Chart, vor Beginn <strong>der</strong> <strong>Analyse</strong> ist Chart = ∅<br />

Eine Unifikationsgrammatik G<br />

Ein als zweistellige Relation Lex = Σ* × Desc gegebenes Lexikon<br />

Ausgabe: Ein aktualisierter Chart<br />

Verfahren procedure Shift()<br />

begin<br />

Chart := Chart ∪ UnknownSegments(i)<br />

for each ∈ Lex (B is a lexical category) do<br />

Closure()<br />

end;<br />

procedure Closure(k: )<br />

begin<br />

if passive_edge(k) then begin<br />

k = <br />

/* apply Condition to the completed production */<br />

k’ := Evaluate()<br />

if k’ = ? then<br />

return<br />

end<br />

else k’ := k<br />

Result := ∅<br />

if ¬∃e ∈ Chart such that e subsumes k’ then begin<br />

/* make a copy of the edge */<br />

k’’ := copy_edge(k’)<br />

/* add the copy to the Chart */<br />

Chart := Chart ∪ { k’’ }<br />

if passive_edge(k’’) then begin<br />

Expand(k’’)<br />

Complete(k’’)<br />

end<br />

end<br />

end;<br />

procedure Expand()<br />

begin<br />

for each ∈ R do begin<br />

A* := A t A’<br />

if A* ≠ ? then<br />

Closure()<br />

end<br />

end;<br />

procedure Complete(): <br />

begin<br />

for each ∈ Chart do begin<br />

A* := A t A’<br />

if A* ≠ ? then<br />

Closure()<br />

end<br />

end;<br />

101

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!