ppt

Werbung
Abstrakte Operatoren für komplexe reguläre Ausdrücke
Karin Haenelt
5.7.2010
1
Themen
 Einführung
 Notationskonventionen
 Abstrakte Operatoren
 Enthaltensein
 Restriktion
 Ersetzungen
 Theoretische Basis des Ersetzungsoperators: Einschränkung
der Mächtigkeit kontextsensitiver Regeln
 Anwendungsbeispiele
 Restriktionsoperator: Parsing
 Ersetzungsregel: Regelhafte Pluralbildung
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
2
Abstrakte Operatoren für komplexe reguläre
Ausdrücke
 erweitern die Notation für reguläre Ausdrücke zur einfacheren
Formulierung linguistischer Regeln
 Konstrukte
 Enthaltensein $
 Restriktionen
 Ersetzungen → und @→
 erweitern nicht die deskriptive Mächtigkeit regulärer Ausdrücke
 stellen eine höhere Abstraktionsebene zur Verfügung
 Quellen: Koskenniemi (1983), Karttunen (1995) und
Beesley/Karttunen (2003))
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
3
Themen
 Einführung
 Notationskonventionen
 Abstrakte Operatoren
 Enthaltensein
 Restriktion
 Ersetzungen
 Theoretische Basis des Ersetzungsoperators: Einschränkung
der Mächtigkeit kontextsensitiver Regeln
 Anwendungsbeispiele
 Restriktionsoperator: Parsing
 Ersetzungsregel: Regelhafte Pluralbildung
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
4
Notationskonventionen
Karttunen, Chanod, Grefenstette, Schiller 1997
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
5
Themen
 Einführung: Komplexe Reguläre Ausdrücke
 Notationskonventionen: Basisoperatoren
 Definitionen komplexer regulärer Ausdrücke
 Enthaltensein
 Restriktion
 Ersetzungen
 Theoretische Basis des Ersetzungsoperators: Einschränkung
der Mächtigkeit kontextsensitiver Regeln
 Anwendungsbeispiele
 Restriktionsoperator: Parsing
 Ersetzungsregel: Phonologisches Beispiel
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
6
Enthaltensein-Operator $
Definition
 $A =def [?* A ?*]
 Beispiel: $[a|b] bezeichnet alle Zeichenketten, die mindestens
ein „a“ oder „b“ enthalten
 Beispiel: $a bezeichnet alle Zeichenketten, die ein „a“ enthalten
?
[?* a ?*]
a,?
a
Karttunen, Chanod, Grefenstette, Schiller 1997
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
7
Restriktionsoperator =>
Definition
 A  B _ C =def [~[[~[?* B] A ?*] | [?* A ~[C ?*]]]] 1) oder auch
 A  B _ C =def ~ [ ~ [?* B] A ?*] & ~ [?* A ~[C ?*]] 2)
 Jedes A muss einen Vorgänger B und einen Nachfolger C
haben
b
Σ = {a,b,c,?}
a
b
?,c
?, c
c
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
1) Beesley, Karttunen 2003
Karttunen, Chanod, Grefenstette, Schiller 1997
2) Karttunen, 2005, Folie 44
3) Graphik: Karttunen 2005, Folie 44
8
Restriktionsoperator
 kodiert auf kompakte Art eine nützliche Bedingung, die mit
primitiveren Operatoren nur sehr umständlich auszudrücken ist
 kompakte Darstellung a  b _ c
 äquivalente reguläre Ausdrücke (Definition):
b
 Version 1)
Σ = {a,b,c,?}
~ [ ~ [?* b] a ?*] & ~ [?* a ~[c ?*]]
 Version 2)
a
b
[~[[~[?* b] a ?*] | [?* a ~[c ?*]]]]
?,c
1) Beesley, Karttunen 2003
Karttunen, Chanod, Grefenstette, Schiller 1997
2) Karttunen, 2005, Folie 44
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
?, c
c
9
Restriktionsoperator
 äquivalente reguläre Ausdrücke (Definition):
 ~ [~[?* b] a ?*] & ~ [?* a ~[c ?*]]
 [~[ [~[?* b] a ?*] |
[?* a ~[c ?*]] ]]
 De Morgansches Gesetz: ~(x|y) = ~x & ~y
 Paraphrase
 [~[?* B] A ?*] (entspricht x) – direkt vor A steht kein B
 [?* A ~[C ?*]] (entspricht y) – direct hinter A steht kein C
 beide Definitionen schließen diese beiden Fälle aus.
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
10
XEROX Finite State Compiler
1)
nicht mehr online, download:
http://www.fsmbook.com auch auf CD in
Beesley/Karttunen 2003
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
11
Restriktionsoperator
Vergleich der beiden Definitionsvarianten
XEROX Finite State Compiler
(nicht mehr online, download: http://www.fsmbook.com & auf CD in Beesley/Karttunen 2003)
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
12
Ersetzungsoperator →
Definition
 A → B =def [ [~$[A - []] [A .x. B]]* ~$[A – []]]
 ersetze A durch B
 A und B bezeichnen reguläre Sprachen, aber der Ausdruck als
Ganzes bezeichnet eine Relation
 Die [A → B] Relation
 bildet jede Zeichenkette, die kein A enthält, auf sich selbst
ab
 Zeichenketten, die ein A enthalten, werden Kopien
zugeordnet, in denen jedes A gegen ein B ausgetauscht ist,
die sonst aber mit der Kette identisch sind
Karttunen, Chanod, Grefenstette, Schiller 1997
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
13
Ersetzungsoperator
Graphische Darstellung
Transduktor zur Regel ε → ab / _b (optional)
(Karttunen, 1993)
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
14
Themen
 Einführung
 Notationskonventionen
 Abstrakte Operatoren
 Enthaltensein
 Restriktion
 Ersetzungen
 Theoretische Basis des Ersetzungsoperators: Einschränkung
der Mächtigkeit kontextsensitiver Regeln
 Anwendungsbeispiele
 Restriktionsoperator: Parsing
 Ersetzungsregel: Regelhafte Pluralbildung
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
15
Theoretische Basis des Ersetzungsoperators
 Entwicklung stammt ursprünglich aus dem Bereich der
Modellierung phonologischer Regeln
 Regeln der Form α→β/ γ_δ
Chomsky /Halle (1968)
 ersetze α, das zwischen γ und δ steht, durch β
 kontextsensitiv
 kontextsensitive Regeln sind nicht so mächtig wie es scheint,
wenn man bestimmte Einschränkungen annimmt
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
16
Theoretische Basis komplexer regulärer Ausdrücke
 Schützenberger (1961):
 für jedes Paar sequentiell anwendbarer Transduktoren
existiert ein äquivalenter einzelner Transduktor
 Johnson (1972) (seinerzeit nicht beachtet und vergessen)
Kaplan und Kay (um 1980) (neu entdeckt):
 Eingabe-Ausgabepaare einer kontextsensitiven Regel
stellen reguläre Relationen dar, wenn eine kontextsensitive
Regel im nächsten Zyklus nicht wieder auf ihre eigene
Ausgabe angewendet werden darf
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
17
Theoretische Basis
Folgerung aus der Beobachtung Schützenbergers
(Karttunen, 2005 (1), Folie 21)
Folgerung:
jede sequentielle
Regelanwendung
kann äquivalent durch
eine Regel beschrieben
werden
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
18
Theoretische Basis
Beobachtungen von Johnson und Kaplan und Kay
 Effekt der Einschränkung der Anwendungsposition
kontextsensitiver Regeln
 Regel ε → ab / _b (optional)
füge optional die Zeichenkette ab vor einem b ein
 zwei Arten der Anwendung:
ab
aabb
aaabbb
...
a an bn b
ab
aabb
aababb
...
a [a b]n b
kontextfreie Sprache
reguläre Sprache
(Karttunen, 1993)
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
19
Themen
 Einführung
 Notationskonventionen
 Abstrakte Operatoren
 Enthaltensein
 Restriktion
 Ersetzungen
 Theoretische Basis des Ersetzungsoperators: Einschränkung
der Mächtigkeit kontextsensitiver Regeln
 Anwendungsbeispiele
 Restriktionsoperator: Parsing
 Ersetzungsregel: Regelhafte Pluralbildung
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
20
Restriktionsoperator: Anwendungsbeispiel
Grefenstette (1999), Regeln für Nominalphrasen
 vereinfachte Regel für französische Nominalphrasen
NounGroup = [
[ Art
=>
_
[ Noun ] ] &
[ Noun
=>
_
[ PAdj | Prep | .#. ] ] &
[ PAdj
=>
_
[ PAdj | Prep | .#. ] ] &
[ Prep
=>
_
[ Art | Noun ] ] ] &
[
[ Art | Noun ] [ Art | Noun | PAdj | Prep ] * ] ;
 Kompilationsschritte
 Überführung der Einzelregeln in endliche Automaten
 Intersektion der Einzelautomaten (Ausführung der &Verknüpfung)
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
21
Restriktionsoperator: Anwendungsbeispiel
Grefenstette (1999), Erläuterung -1 [Noun => _ [ PAdj | Prep | .#. ] ]
 hinter einem Nomen steht
 ein PAdj (nachgestelltes prädikatives Adjektiv) oder
 eine Präposition
 das Ende der Eingabe ist erreicht .#.
A 2: [ Noun  _ [PAdj | Prep | .#. ]]
?, PAdj,Prep
0
Noun
PAdj,Prep 1
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
Σ
?
Noun
PAdj
Prep
0
1
0
0
-
-
0
0
22
Restriktionsoperator: Anwendungsbeispiel
Grefenstette (1999), Erläuterung -2 [ Art | Noun ] [ Art | Noun | PAdj | Prep ] *
 Art oder Noun, dann dürfen folgen
 Art | Noun | PAdj | Prep
A 5: [ [Art | Noun ] [Art | Noun | PAdj | Prep
Art,Noun
Art,Noun,
PAdj,Prep
Q
Art
Noun
PAdj
Prep
1
1
-
-
1 fs 1
1
1
1
0
0
1
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
Σ
23
Restriktionsoperator: Anwendungsbeispiel
Grefenstette (1999), Erläuterung -3 A9: Schnittbildung der Automaten
 [ Art _ [Noun] &
 [ Noun _ [PAdj | Prep | .#. ] &
 [ PAdj _ [PAdj | Prep | .#. ] &
 [ Prep _ [Art | Noun]
?
0
Noun, PAdj
Art
PAdj
Noun
2
1
Art
Prep
Prep
Noun
3
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
24
Restriktionsoperator: Anwendungsbeispiel
Grefenstette (1999), Erläuterung -4A10: A5 ⋂ A9
Q
Σ
A5
A10 A5
A9
0
[0
0 f] [1
1
[1 f 1 ]
A9
A5
A9
A5
A9
A5
A9
A5 A 9
Art Art Noun Noun PAdj PAdj Prep Prep ?
?
1]
[1
2]
[-
2]
[-
3]
[-
0]
[1
-]
[1
2]
[1
-]
[1
-]
[-
-]
2f
[1 f 2 f] [1
-]
[1
-]
[1
2]
[1
3]
[-
-]
3
[1 f 3 ]
1]
[1
2]
[1
-]
[1
-]
[-
-]
[1
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
25
Restriktionsoperator: Anwendungsbeispiel
Grefenstette (1999), Erläuterung -5NounGroup = [
[
0
Art
[ Art
=>
_
[ Noun ] ] &
[ Noun
=>
_
[ PAdj | Prep | .#. ] ] &
[ PAdj
=>
_
[ PAdj | Prep | .#. ] ] &
[ Prep
=>
_
[ Art | Noun ] ] ] &
[ Art | Noun ] [ Art | Noun | PAdj | Prep ] * ] ;
Art
1
0
Noun
Noun
2
PAdj
Prep
Noun
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
Art
1
Noun
minimieren
Noun
3
2
Prep
PAdj
26
Themen
 Einführung
 Notationskonventionen
 Abstrakte Operatoren
 Enthaltensein
 Restriktion
 Ersetzungen
 Theoretische Basis des Ersetzungsoperators: Einschränkung
der Mächtigkeit kontextsensitiver Regeln
 Anwendungsbeispiele
 Restriktionsoperator: Parsing
 Ersetzungsregel: Regelhafte Pluralbildung
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
27
Ersetzungsoperator: Anwendungsbeispiel
Regel für die Einfügung von –e
im Plural der englischen Nomina,
die auf x,s,z enden („foxes“)
^: 
#
other
#,other
z,s,x
z,s,x
z,s,x
r0
r5
^: 
r1
#,other
s
r2
z,x

 x

  e / s ^ __ s #

z 

^: 
 :e
r3
s
r4
#
#,other
Jurafsky/Martin, 2000, S. 78
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
28
28
Literatur







Beesley Kenneth R. und Lauri Karttunen (2003). Finite-State Morphology. Distributed for the
Center for the Study of Language and Information. 696 p. (est.). 2003 Series: (CSLI-SCL)
Studies in Computational Linguistics
Chomsky, Noam and Morris Halle. 1968. The Sound Pattern of English. NewYork: Harper
and Row.
Grefenstette, Gregory (1999). Light Parsing as Finite State Filtering. In: Kornai 1999, S. 8694. frühere Version: In: Workshop on Extended finite state models of language, Budapest,
Hungary, Aug 11--12, 1996. ECAI'96." http://citeseer.ist.psu.edu/grefenstette96light.html
Johnson, C. Douglas (1972). Formal Aspects of Phonological Description. Mouton.
Jurafsky, Daniel und James H. Martin (2000): Speech and Language Processing. An
Introduction to Natural Language Processing, Computational Linguistics and Speech
Recognition. New Jersey: Prentice Hall. S. 21-56.
Kaplan, R. M. and Kay, M. (1981). Phonological rules and finite-state transducers. In
Linguistic Society of America Meeting Handbook, Fifty-Sixth Annual Meeting, New York.
Abstract.
Kaplan, R. M. and Kay, M. (1994). Regular models of phonological rule systems. In:
Computational Linguistics, 20(3):331–378.
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
29
Literatur




Karttunen, Lauri (2005). Finite-State Methods in Natural Language Processing. LSA
Summer Institute. Lecture Notes, 1 : 18.07.2005, 2 : 20.07.2005, 3 : 25.07.2005, 4 :
27.07.2005, 5 : 01.08.2005, 6 : 03.08.2005
- http://www.stanford.edu/~laurik/fsmbook/LSA-207/Slides/LSA2005-Lecture1.ppt
- http://www.stanford.edu/~laurik/fsmbook/LSA-207/Slides/LSA2005-Lecture2.ppt
- http://www.stanford.edu/~laurik/fsmbook/LSA-207/Slides/LSA2005-Lecture3.ppt
Karttunen, Lauri (1995) . The Replace Operator. In: Proceedings of the 33rd Annual Meeting
of the Association for Computational Linguistics. ACL-95, S. 16-23, Boston, Massachusetts.
http://www.xrce.xerox.com/Publications/Attachments/1995-017/mltt-95-03.pdf
Karttunen, Lauri (1993). Finite-state Constraints.
http://www2.parc.com/istl/members/karttune/publications/fsc-91/fsc91.pdf
Karttunen, Lauri und Kenneth R. Beesley (2005). Twenty-Five Years of Finite-State
Morphology. In: Antti Arppe, Lauri Carlson, Krister Lindén, Jussi Piitulainen, Mickael
Suominen, Martti Vainio, Hanna Westerlund and Anssi Yli-Jyrä (Eds.). Inquiries into Words,
Constraints and Contexts. Festschrift for Kimmo Koskenniemi on his 60th Birthday. S. 7183. http://csli-publications.stanford.edu/koskenniemi-festschrift/8-karttunen-beesley.pdf
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
30
Literatur





Karttunen, Lauri; Jean-Pierre Chanod, Gregrory Grefenstette und Anne Schiller (1997).
Regular Expressions for Natural Language Engineering. In: Natural Language Engineering,
S. 1-24. http://www2.parc.com/istl/members/karttune/publications/jnle-97/rele.pdf
Koskenniemi, K. (1983). Two-level morphology: A general computational model for wordform recognition and production. Publication 11, University of Helsinki, Department of
General Linguistics, Helsinki.
Schützenberger, Marcel-Paul. (1961). A remark on finite transducers. Information and
Control 4:185–196.
Anssi Yli-Jyrä and Kimmo Koskenniemi (2004). Compiling Contextual Restrictions on
Strings into Finite-State Automata. Post-proceedings of Eindhoven Fastar Days, September
3-4, 2004
XEROX Finite State Compiler http://www.xrce.xerox.com/competencies/contentanalysis/fsCompiler/fsnetwork.html (nicht mehr unter dieser Adresse online) Download unter
http://www.fsmbook.com; auch enthalten auf CD in Beesley/Karttunen 2003, Finite State
Morphology (CLSI Publications 2003)
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
31
Versionen
 5.7.2010, 20.6.2010
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
32
Copyright






© Karin Haenelt, 2009, 2010
All rights reserved. The German Urheberrecht (esp. § 2, § 13, § 63 , etc.). shall
be applied to these slides. In accordance with these laws these slides are a
publication which may be quoted and used for non-commercial purposes, if the
bibliographic data is included as described below.
Please quote correctly. If you use the presentation or parts of it for educational
and scientific purposes, please observe the laws (copyright, Urheberrecht, etc.)
Please include the bibliographic data (author, title, date, page, URL) in your
publication (book, paper, course slides, etc.).
Deletion or omission of the footer (with name, data and copyright sign) is not
permitted
Bibliographic data. Karin Haenelt. Komplexe reuläre Ausdrücke. 20.6.2010 (1
15.01.2003)
http://kontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_KomplexRegEx.pdf
For commercial use: No commercial use is allowed without written permission
from the author. In case you are interested in commercial use please contact the
author.
Court of Jurisdiction is Darmstadt, Germany
© Karin Haenelt, Abstrakte Operatoren für
komplexe reguläre Ausdrücke 5.7.2010
33
Herunterladen