70 likes | 192 Vues
This document explores advanced pattern matching methods essential for natural language processing (NLP), focusing on full analysis procedures, grammar parsing, and ambiguity resolution. It covers various pattern types, including literal, open, and variable patterns, employing constraints for matching. The study further discusses input transformation through pattern utilization and simple morphological changes, evidenced by systems like ELIZA. We examine strategies for question resolution, precondition checks, and knowledge representation in complex systems such as UNIX. Key references underscore the significance of these methods in NLP development.
E N D
Wiederholung: Patternmatcher • Vollanalyseverfahren • Grammatik • Parser (Semantik) • Strukturanalyse • Auflösung von Mehrdeutigkeiten • Wirkung: • . Vermeidung von Mißverständnissen • .allgemeines Verfahren
Patternmatchverfahren • vergleicht Ausdrücke (gemäß eines Ähnlichkeitsmaßes) • matching (abgleichen) in Bezug auf Constraints • Pattern • 1. einfache oder literal patterns • 2. open patterns (Nutzung von Wildcards) • 3. variable patterns (Nutzung von Variablen u. Lexika) • 4. Satzstruktur Patterns - semantisch - syntaktisch (LFG)
ELIZA My is Myfather is mad How long has your 1 been 2 Idee: Transformation von Eingaben in Ausgaben durch Verwendung von Eingabemustern (Patterns) und einfachen morphologischen Transformationen vgl. http://chayden.net/chayden/eliza/Eliza.shtml 1 2
unix-frame (FRAME_NAME, SLOTTYPE, SLOTNAME, ASPECT, FACET, VALUE) unix_frame (ls-pgm, gen, gen, values, new, [screen_ls_pgm]) Parser-output Elementare Fragen : [qward (-), [action]] Komplexere Fragen: [qward (), [action ...], [action ...]] Behandlung von Objekten und Attributen [qward (), [action(edit), [source_object (), attribut () ], [main_object (), attribut () ]]. Wissensbasis für das UNIX NL-Hilfesystem GOETHE
Beispiele für Fragepatterns 1) How can I edit a text named "test" ? [qward (how), [action(edit), [main_object (file), attribut (name,test) ]]] 2) Why didn't you list dir "testdir" sorted by date ? Kommentar: "list dir" = "show all files" [qward (why_not), [action (show), [so (directory), attr (name, testdir), [mo (file), quant (all) ], [attr (name, -), appearance (descendicy, attr/date, -)) ]]]]
1) Abgleich mit der WB Finden der aktuellen Baumposition Question Resolution • "testdir" • 2) Generalisieren • 3) Vorbedingungen abprüfen (Präsupposition) • Existenz eines Files • Rechte (read, write, execute) • Strategien zur Fragebeantwortung • How: Suche einen frame, der als goal den genannten Befehl enthält • Why: Suche einen frame, der ein Programm repräsentiert, in der History und Vergleiche die benutzten Kommandos mit dem intendierten Ziel frame hinsichtlich Identität • why-not: wie "why" aber Vergleich hinsichtlich Differenz
Weiterführende Literatur Joseph Weizenbaum, ELIZA - a computer program for the study of natural language communications between man and machine, In: Communications of the ACM 9, January 1966, S. 36-45 J.Weizenbaum, Die Macht der Computer und die Ohnmacht der Vernunft, Suhrkamp: Frankfurt 1978 G.Heyer et.al., Knowledge Representation and Semantics in a Complex Domain: The UNIX Natural Language Help System GOETHE", in: H.Karlgren (ed.), COLING-90, Vol.3: Helsinki