1 / 31

Regular Expressions and Automata

Regular Expressions and Automata. Chapter 2. Regular Expressions. Standard notation for characterizing text sequences Used in all kinds of text processing and information extraction tasks

jabari
Download Presentation

Regular Expressions and Automata

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Regular Expressions and Automata Chapter 2

  2. Regular Expressions Standard notation for characterizing text sequences Used in all kinds of text processing and information extraction tasks As things have progressed, the RE languages used in various tools and languages (grep, Emacs, Python, Ruby, Java, …) are very similar Speech and Language Processing - Jurafsky and Martin

  3. Regular Expressions We’ll look at a few examples [in lecture], make a note about types of errors, and then move toward automata Speech and Language Processing - Jurafsky and Martin

  4. Example • Find all the instances of the word “the” in a text. • /the/ • /[tT]he/ • /\b[tT]he\b/ Speech and Language Processing - Jurafsky and Martin

  5. Errors • We fixed two kinds of errors • Matching strings that we should not have matched • False positives (Type I) • Not matching things that we should have matched • False negatives (Type II) Speech and Language Processing - Jurafsky and Martin

  6. Errors • We’ll see the same story for many tasks, all semester. Reducing the error rate for an application often involves two antagonistic efforts: • Increasing precision, (minimizing false positives) • Increasing coverage, or recall, (minimizing false negatives) Speech and Language Processing - Jurafsky and Martin

  7. Formal Languages and Models • Language: a (possibly infinite) set of strings made up of symbols from a finite alphabet • Model of a language: can recognize and generateall and only the strings from the language • Serves as a definition of the formal language Speech and Language Processing - Jurafsky and Martin

  8. Chomsky Hierarchy • Regular language • Model: regular expressions, finite state automata • Context free language • Context sensitive language • Unrestricted language • Model: Turning Machine Speech and Language Processing - Jurafsky and Martin

  9. Regular Expressions and Languages A regular expression pattern can be mapped to a set of strings A regular expression pattern defines a language (in the formal sense) – the class of this type of languages is called a regular language Speech and Language Processing - Jurafsky and Martin

  10. Finite State Automata • FSAs and their probabilistic relatives are at the core of much of what we’ll be doing all semester. • They also capture significant aspects of what linguists say we need for morphology and parts of syntax. • They are formally equivalent to regular expressions Speech and Language Processing - Jurafsky and Martin

  11. Formal Definition of a Finite Automaton • Finite set of states, typically Q. • Alphabet of input symbols, typically  • One state is the start/initial state, typically q0 // q0 Q • Zero or more final/accepting states; the set is typically F. // F  Q • A transition function, typically δ. This function • Takes a state and input symbol as arguments. • Returns a state. • One “rule” would be written δ(q, a) = p, where q and p are states, and a is an input symbol. • Intuitively: if the FA is in state q, and input a is received, then the FA goes to state p (note: q = p OK). • A FA is represented as the five-tuple: A = (Q, , δ,q0, F). Here, F is a set of accepting states.

  12. A Simple Example Language: “Sheepish” Any string that starts with the letter b, followed by two or more a’s, and ending in ! {“baa!”,”baaa!”,”baaaa!”,”baaaaa!”,…} Regular expression for this? Speech and Language Processing - Jurafsky and Martin

  13. One Possible Sheepish FSA • Formal definition of this FSA? Speech and Language Processing - Jurafsky and Martin

  14. FSA as a Recognizer • Does a string belong to its language? • Place the input string on a tape, point at start • Initialize current state to q0 • Iteratively check the next letter on tape. • From the current state, if an outgoing arc label matches new letter, move to new state • If stuck, REJECT • If reach the end of the tape and in a final state, then ACCEPT; else, REJECT Speech and Language Processing - Jurafsky and Martin

  15. Recognition • Traditionally, (Turing’s notion) this process is depicted with a tape. Speech and Language Processing - Jurafsky and Martin

  16. FSA as Generator FSA can also produce strings in the language it represents Start from q0 Pick an out-going arc to a new state (for now, assume picking randomly) and print the symbol on the arc Follow the arc to the new state Repeat from step 2 until reaching a final state Speech and Language Processing - Jurafsky and Martin

  17. FSAs and Regular Expressions • These are formally equivalent. • Both of these classes of models recognize/generate exactly the class of regular languages • Interesting proofs: constructive! Given any regular expression, create an equivalent FSA; given any FSA, create an equivalent regular expression Speech and Language Processing - Jurafsky and Martin

  18. Note on Practical Regular Expression Utilities NOTE: additional features added to regular expression processing can make them more powerful; think of memory Speech and Language Processing - Jurafsky and Martin

  19. About Alphabets • Don’t take term alphabet word too narrowly; it just 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. Speech and Language Processing - Jurafsky and Martin

  20. Often there is more than one FSA for a given language • E.g., here is another FSA for “Sheepish” Speech and Language Processing - Jurafsky and Martin

  21. Yet Another View If you’re in state 1 and you’re looking at an a, go to state 2 • The guts of FSAs can ultimately be represented as tables Speech and Language Processing - Jurafsky and Martin

  22. Deterministic versus Non-Deterministic FSAs • Deterministic means that at each point in processing there is always one unique thing to do (no choices). • Non-deterministic means there are choices • Go back and look at previous DFA • How do deterministic and non-deterministic FSAs compare? Speech and Language Processing - Jurafsky and Martin

  23. Non-Deterministic FSAs • May include • Epsilon transitions • Key point: these transitions do not examine or advance the tape during recognition Speech and Language Processing - Jurafsky and Martin

  24. ND Recognition • Two basic approaches • Either take a ND machine and convert it to a D machine and then do recognition with that. • Or explicitly manage the process of recognition as a state-space search (leaving the machine as is). Speech and Language Processing - Jurafsky and Martin

  25. Non-Deterministic Recognition: Search • 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 through the machine for an accept string lead to an accept state. • If a string is not in the language, there are no paths through the machine that lead to an accept state Speech and Language Processing - Jurafsky and Martin

  26. Non-Deterministic Recognition • So success in non-deterministic recognition occurs when a path is found through the machine that ends in an accept. • Failure occurs when all of the possible paths for a given string lead to failure. Speech and Language Processing - Jurafsky and Martin

  27. Example Speech and Language Processing - Jurafsky and Martin

  28. Why Non-Determinism? • Non-determinism doesn’t get us more formal power and it causes headaches so why bother? • More natural (understandable) solutions Speech and Language Processing - Jurafsky and Martin

  29. Compositional Machines • Formal languages are just sets of strings • Therefore, we can talk about various set operations (intersection, union, concatenation) • We’ll just do a couple Speech and Language Processing - Jurafsky and Martin

  30. Union Speech and Language Processing - Jurafsky and Martin

  31. Concatenation Speech and Language Processing - Jurafsky and Martin

More Related