Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing
description
Transcript of Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing
![Page 1: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/1.jpg)
04/24/23 1
Regular Expressions & Finite State Automata – Part 2
ICS 482: Natural Language Processing
Husni Al-Muhtaseb
![Page 2: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/2.jpg)
NLP Credits and Acknowledgment
These slides were adapted from presentations of the Authors of the
bookSPEECH and LANGUAGE PROCESSING:
An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition
and some modifications from presentations found in the WEB by
several scholars including the following
![Page 3: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/3.jpg)
NLP Credits and AcknowledgmentIf your name is missing please contact me
muhtasebAt
Kfupm.Edu.sa
![Page 4: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/4.jpg)
NLP Credits and AcknowledgmentHusni Al-Muhtaseb
James MartinJim MartinDan JurafskySandiway FongSong young inPaula MatuszekMary-Angela PapalaskariDick Crouch Tracy KinL. Venkata SubramaniamMartin Volk Bruce R. MaximJan HajičSrinath SrinivasaSimeon NtafosPaolo PirjanianRicardo VilaltaTom Lenaerts
Heshaam Feili Björn GambäckChristian Korthals Thomas G.
DietterichDevika
SubramanianDuminda
Wijesekera Lee McCluskey David J. KriegmanKathleen McKeownMichael J. CiaraldiDavid FinkelMin-Yen KanAndreas Geyer-
Schulz Franz J. KurfessTim FininNadjet BouayadKathy McCoyHans Uszkoreit Azadeh Maghsoodi
Khurshid AhmadStaffan LarssonRobert WilenskyFeiyu XuJakub PiskorskiRohini SrihariMark SandersonAndrew ElksMarc DavisRay LarsonJimmy LinMarti HearstAndrew McCallumNick KushmerickMark CravenChia-Hui ChangDiana MaynardJames Allan
Martha Palmerjulia hirschbergElaine RichChristof Monz Bonnie J. DorrNizar HabashMassimo PoesioDavid Goss-GrubbsThomas K HarrisJohn HutchinsAlexandros PotamianosMike RosnerLatifa Al-Sulaiti Giorgio Satta Jerry R. HobbsChristopher ManningHinrich SchützeAlexander GelbukhGina-Anne Levow Guitao GaoQing MaZeynep Altan
![Page 5: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/5.jpg)
04/24/23 5
Previous Lectures• 1 Assignment #1• 1 Pre-start online questionnaire• 2 Introduction to NLP• 2 Phases of an NLP system• 2 NLP Applications• 3 Chatting with Alice• 3 Regular Expressions• 3 Finite State Automata• 3 Regular languages• 3 Assignment #2
![Page 6: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/6.jpg)
04/24/23 6
Objective of Today’s Lecture
• Regular Expressions• Regular languages• Deterministic Finite State Automata• Non-deterministic Finite State Automata• Accept, Reject, Generate terms
![Page 7: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/7.jpg)
04/24/23 7
Review
• Regular expressions are a textual representation of FSAs
• Recognition is the process of determining if a string/ input is in the language defined by some machine– Recognition is straightforward with
deterministic machines
![Page 8: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/8.jpg)
04/24/23 8
Regular Expressions
• Matching strings with regular expressions is a matter of – translating the expression into a machine
(table) and – passing the table to an interpreter
![Page 9: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/9.jpg)
04/24/23 9
Substitutions in RE
• Substitutions
• Memory (\1, \2, etc. refer back to matches)
• Put angle brackets around all integers• Practice with Microsoft Word
s/colour/color/
s/([0-9]+)/<\1>/
![Page 10: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/10.jpg)
04/24/23 10
Eliza-style regular expressions
s/I am/You are/s/I’m/You are/s/my/your/
Eliza is an ‘old version’ of ALICE.Step 1: replace first person references with second person referencesStep 2: use additional regular expressions to generate repliesStep 3: use scores to rank possible transformations
![Page 11: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/11.jpg)
04/24/23 11
Eliza-style regular expressions
s/.* YOU ARE (depressed|sad) .*/I AM SORRY TO HEAR YOU ARE \1/
s/.* YOU ARE (depressed|sad) .*/WHY DO YOU THINK YOU ARE \1/
s/.* all .*/IN WHAT WAY/s/.* always .*/CAN YOU THINK OF A SPECIFIC EXAMPLE/
Eliza is an ‘old version’ of ALICE.Step 1: replace first person references with second person referencesStep 2: use additional regular expressions to generate repliesStep 3: use scores to rank possible transformations
![Page 12: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/12.jpg)
04/24/23 12
Three Views: REs, FSA, RL
• Three equivalent formal ways to look at what we’re up to
Regular Expressions
Regular LanguagesFinite State Automata
![Page 13: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/13.jpg)
04/24/23 13
Finite-state automata (machines)
baa!baaa!baaaa!baaaaa!...
q0 q1 q2 q3 q4
b a a !
a
baa+!
state transition finalstate
baa! baaa! baaaa! baaaaa! ...
![Page 14: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/14.jpg)
04/24/23 14
Input tape
a b a ! b
q0
![Page 15: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/15.jpg)
04/24/23 15
State-transition tables
InputState b a !
0 1 Ø Ø1 Ø 2 Ø2 Ø 3 Ø3 Ø 3 44 Ø Ø Ø
![Page 16: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/16.jpg)
04/24/23 16
More Formally
• You can specify an FSA by enumerating the following things.– The set of states: Q– A finite alphabet: Σ– A start state– A set of accept/final states– A transition function that maps Q x Σ to Q
![Page 17: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/17.jpg)
04/24/23 17
Finite-state automata
• Q: a finite set of N states q0, q1, … qN
: a finite input alphabet of symbols• q0: the start state• F: the set of final states(q,i): transition function
![Page 18: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/18.jpg)
04/24/23 18
Alphabets
• Alphabets means we need a finite set of symbols in the input.
• These symbols can and will stand for bigger objects that can have internal structure.
![Page 19: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/19.jpg)
04/24/23 19
Dollars and Cents
![Page 20: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/20.jpg)
04/24/23 20
Recognition
• The process of determining if a string should be accepted by a machine
• The process of determining if a string is in the language we’re defining with the machine
• The process of determining if a regular expression matches a string
![Page 21: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/21.jpg)
04/24/23 21
Recognition
• in the start state• Examine the current input (tape)• Consult the transition table• Go to the next state and update the tape
pointer• Repeat until you run out of tape
![Page 22: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/22.jpg)
04/24/23 22
D-RECOGNIZE
function D-RECOGNIZE (tape, machine) returns accept or reject index Beginning of tape current-state Initial state of machine loop if End of input has been reached then if current-state is an accept state then return accept else return reject else if transition-table [current-state, tape[index]] is empty then return reject else current-state transition-table [current-state, tape[index]] index index + 1end
![Page 23: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/23.jpg)
04/24/23 23
D-Recognize
• Deterministic means that at each point in processing there is always one unique thing to do (no choices)
• D-recognize algorithm is a simple table-driven interpreter
• The algorithm is universal for all unambiguous languages– To change the machine, you change the table
![Page 24: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/24.jpg)
04/24/23 24
Recognition as Search
• You can view this algorithm as a kind of state-space search
• States are pairings of tape positions and state numbers
• Operators are compiled into the table• Goal state is a pairing with the end of tape
position and a final accept state
![Page 25: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/25.jpg)
04/24/23 25
Generative Formalisms
• Formal Languages are sets of strings composed of symbols from a finite set of symbols
• Finite-state automate define formal languages (without having to enumerate all the strings in the language)
• The term Generative is based on the view that you can run the machine as a generator to get strings from the language
![Page 26: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/26.jpg)
04/24/23 26
Generative Formalisms
• FSAs can be viewed from two perspectives:– Acceptors that can tell you if a string is in the
language– Generators to produce all and only the strings
in the language
![Page 27: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/27.jpg)
04/24/23 27
D-RECOGNIZE
function D-RECOGNIZE (tape, machine) returns accept or reject index Beginning of tape current-state Initial state of machine loop if End of input has been reached then if current-state is an accept state then return accept else return reject else if transition-table [current-state, tape[index]] is empty then return reject else current-state transition-table [current-state, tape[index]] index index + 1end
![Page 28: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/28.jpg)
04/24/23 28
1. Index the tape to the beginning and the machine to the initial state.2. First check to see if you have any more input
•If no and you’re in a final state, ACCEPT•If no and you’re in a non-final state reject
3. If you have more input check what state you’re in by consulting the transition table. The index of the Current State tells you what row in the table to consult. The index on the tape symbol tells you what column to consult in the table. Loop through until no more input then go back to 2.
Deterministic Algorithm
![Page 29: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/29.jpg)
04/24/23 29
Adding a failing state
q0 q1 q2 q3 q4
b a a !
a
qFa
!
b
! b ! bb
a
!
![Page 30: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/30.jpg)
04/24/23 30
Languages and automata• Formal languages: regular languages, non-regular
languages• deterministic vs. non-deterministic FSAs• Epsilon () transitions
is the empty string & Ø is the empty set (empty regular language)
![Page 31: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/31.jpg)
04/24/23 31
Deterministic
Non- Deterministic
Non- Deterministic
![Page 32: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/32.jpg)
04/24/23 32
Using NFSAs to accept strings
• Backup: add markers at choice points, then possibly revisit unexplored markers
• Look-ahead: look ahead in input• Parallelism: look at alternatives in parallel
![Page 33: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/33.jpg)
04/24/23 33
Using NFSAs
InputState b a !
0 1 Ø Ø Ø1 Ø 2 Ø Ø2 Ø 2,3 Ø Ø3 Ø Ø 4 Ø4 Ø Ø Ø Ø
![Page 34: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/34.jpg)
04/24/23 34
Non-Determinism
Det
Non-Det
![Page 35: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/35.jpg)
04/24/23 35
Non-Determinism cont.
• Another technique– Epsilon transitions
• these transitions do not examine or advance the tape during recognition
ε
![Page 36: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/36.jpg)
04/24/23 36
Equivalence• Non-deterministic machines can be
converted to deterministic • They have the same power; non-
deterministic machines are not more powerful than deterministic ones
• It also means that one way to do recognition with a non-deterministic machine is to turn it into a deterministic one
![Page 37: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/37.jpg)
04/24/23 37
Non-Deterministic Recognition• In a ND FSA there exists at least one
path through the machine for a string that is in the language defined by the machine
• But not all paths directed through the machine for an accept string lead to an accept state
• No paths through the machine lead to an accept state for a string not in the language
![Page 38: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/38.jpg)
04/24/23 38
Non-Deterministic Recognition
• Success in a non-deterministic recognition occurs when a path is found through the machine that ends in an accept
• Failure occurs when none of the possible paths lead to an accept state
![Page 39: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/39.jpg)
04/24/23 39
Example
b a a a ! \
q0 q1 q2 q2 q3 q4
![Page 40: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/40.jpg)
04/24/23 40
Example
![Page 41: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/41.jpg)
04/24/23 41
Example
![Page 42: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/42.jpg)
04/24/23 42
Example
![Page 43: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/43.jpg)
04/24/23 43
Example
![Page 44: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/44.jpg)
04/24/23 44
Example
![Page 45: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/45.jpg)
04/24/23 45
Example
![Page 46: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/46.jpg)
04/24/23 46
Example
![Page 47: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/47.jpg)
04/24/23 47
Example
![Page 48: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/48.jpg)
04/24/23 48
States in Search Space
• States in the search space are pairings of tape positions and states in the machine
• By keeping track of as yet unexplored states, a recognizer can systematically explore all the paths through the machine given an input
![Page 49: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/49.jpg)
04/24/23 49
Components of ND Automaton
Search State: records the choice points by storing state, input pairs so you know what state you were at and what input you had read when the derivation branched. Agenda: At each point of nondeterminism the algorithm postpone pursuing some choices (paths) in favor of others. The agenda records what these choices are as they are encountered.Since this is non-deterministic, we have to allow the state to transition to multiple points ( a list of destination nodes).
![Page 50: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/50.jpg)
04/24/23 50
1: Can you accept the string given input and state 2: If not , check the agenda and given the current state and the input then generate a new set of possible search states based on the state you are in and new input. Explore these states.3: If not, see if there are alternative search states waiting to be explored on the agenda. If either (2) or (3) end up, the states they lead you to become the current search state.Even if one path doesn’t succeed always need to check the agenda because you may come to ( Final state, 0-input pair) on another path.
Non Deterministic Algorithm
![Page 51: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/51.jpg)
04/24/23 51
Search in NFSA
• Depth first Search• Last in First Out (LIFO) • States arranged in a STACK
• Breadth first Search– First in first out (FIFO)– States organized in a queue
![Page 52: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/52.jpg)
04/24/23 52
•Depth first search is optimal when one alternative is highly favored because in most cases, you will never get to the less favored alternatives.•Breadth first search is optimal when can’t predict which alternative likely to work out. You will do extra work by computing paths that won’t lead to final output, but when error is detected at one path, don’t have to back up to get to other paths. Can just proceed with next step.•Unfortunately, often can’t tell which will save the most work.
When to choose what?
![Page 53: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/53.jpg)
04/24/23 53
Infinite Search
• If we’re not careful such searches can go into an infinite loop.
![Page 54: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/54.jpg)
04/24/23 54
Why to use Non-determinism
• Non-determinism doesn’t get us more formal power and it causes headaches so why to use it?– More natural solutions– Deterministic Machines are too big
![Page 55: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/55.jpg)
04/24/23 55
Compositional Machines
• Formal languages are sets of strings• We can talk about various set operations
(intersection, union, concatenation)
![Page 56: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/56.jpg)
04/24/23 56
Union
• Accept a string in either of two languages
![Page 57: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/57.jpg)
04/24/23 57
Concatenation
• Accept a string consisting of a string from language L1 followed by a string from language L2.
![Page 58: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/58.jpg)
04/24/23 58
Negation
• Construct a machine M2 to accept all strings not accepted by machine M1 and reject all the strings accepted by M1– Invert all the accept and not accept states in
M1• Does that work for non-deterministic
machines?
![Page 59: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/59.jpg)
04/24/23 59
Intersection
• Accept a string that is in both of two specified languages
• An indirect construction…• A^B = ~(~A or ~B)
![Page 60: Regular Expressions & Finite State Automata – Part 2 ICS 482: Natural Language Processing](https://reader036.fdocuments.us/reader036/viewer/2022070502/568148fe550346895db623cf/html5/thumbnails/60.jpg)
04/24/23 60
Thank you
الله ورحمة عليكم السالم