Stack-Pointer-Netzwerke für Abhängigkeitsanalyse

Wir stellen eine neue Architektur für die Abhängigkeitsanalyse vor: \emph{Stack-Pointer-Netzwerke} (\textbf{\textsc{StackPtr}}). Durch die Kombination von Pointer-Netzwerken~\citep{vinyals2015pointer} mit einem internen Stack liest und kodiert das vorgeschlagene Modell zunächst den gesamten Satz, um dann in tiefenorientierter Weise (von Wurzel zu Blatt) top-down den Abhängigkeitsbaum aufzubauen. Der Stack verfolgt den Status der tiefenorientierten Suche, während die Pointer-Netzwerke bei jedem Schritt ein Kind für das Wort am oberen Stackende auswählen. Der \textsc{StackPtr}-Parser profitiert von der Information des gesamten Satzes und aller bisher abgeleiteten Teilbaumstrukturen und hebt die links-rechts-Restriktion in klassischen transitorischen Parsern auf. Dennoch ist die Anzahl der Schritte zur Erstellung eines beliebigen (einschließlich nicht-projektiven) Parse-Baums linear in der Länge des Satzes, ähnlich wie bei anderen transitorischen Parsern, was einen effizienten Decodierungsalgorithmus mit einer Zeitkomplexität von $O(n^2)$ ergibt. Wir evaluieren unser Modell anhand von 29 Treebanks, die 20 Sprachen und verschiedene Abhängigkeitsannotierungsschemata abdecken, und erreichen den Stand der Technik in 21 von ihnen.