280 likes | 552 Views
Natural Language Processing. Lecture Notes 1. Today. Administration and Syllabus course web page Introduction. Natural Language Processing. What is it? What goes into getting computers to perform useful and interesting tasks involving human languages.
E N D
Natural Language Processing Lecture Notes 1
Today • Administration and Syllabus • course web page • Introduction
Natural Language Processing • What is it? • What goes into getting computers to perform useful and interesting tasks involving human languages. • Secondarily: insights that such computational work give us into human languages and human processing of language.
Natural Language Processing • Foundations are in computer science (AI, theory, algorithms,…); linguistics; mathematics; logic and statistics; and psychology
Why Should You Care? • Two trends • An enormous amount of knowledge is now available in machine readable form as natural language text • Conversational agents are becoming an important form of human-computer communication
Knowledge of Language • Words (words and their composition) • Syntax (structure of sentences) • Semantics (explicit meaning of sentence) • Discourse and pragmatics (implicit and contextual meaning)
Small Applications • Line breakers • Hyphenators • Spelling correctors • Optical Character Recognition software • Grammar and style checkers
Big Applications • Question answering • Conversational agents • Text summarization • Machine translation
Note NLP, as in many areas of AI: • We’re often dealing with ill-defined problems • We don’t often come up with perfect solutions/algorithms • We can’t let either of those facts get in our way
Course Material • We’ll be intermingling discussions of: • Linguistic topics • Syntax and meaning representations • Computational techniques • Context-free grammars • Applications • Translation and QA systems
Chapter 1 • Knowledge of language • Ambiguity • Models and algorithms • History
Knowledge of Language • Phonetics and phonology: speech sounds, their production, and the rule systems that govern their use • Morphology: words and their composition from more basic units • Cat, cats (inflectional morphology) • Child, children • Friend, friendly (derivational morphology)
Knowledge of Language • Syntax: the structuring of words into legal larger phrases and sentences
Semantics • The meaning of words and phrases • Lexical semantics: the study of the meanings of words • Compositional semantics: how to combine word meanings • Word-sense disambiguation • River bank vs. financial bank
Pragmatics • Indirect speech acts: • Do you have a stapler? • Presupposition: • Have you stopped beating your wife? • Deixis and point of view: • Zoe was angry at Joe. Where was he? • Implicature: -Yes, there are 3 flights to Boston. In fact, there are 4. * The general was assassinated. In fact, he isn’t dead.
Discourse • Utterance interpretation in the context of the text or dialog • Sue took the trip to New York. She had a great time there. • Sue/she; • New York/there; • took/had (time)
Ambiguity • Almost all of the non-trivial tasks performed by NLP systems are ambiguity resolution tasks • There is ambiguity at all levels of language
Ambiguity • I saw the woman with the telescope • Syntactically ambiguous: • I saw (NP the woman with the telescope) • I saw (NP the woman) (PP with the telescope)
“I made her duck” • I cooked waterfowl for her • I cooked waterfowl belonging to her • I create the duck she owns • I caused her to lower her head quickly… • Part of speech tagging: is “duck” a noun or verb? • Parsing syntactic structure: is “her” part of the “duck” NP? • Word-sense disambiguation (lexical semantics): does “make” mean create, lower head, or cook?
Dealing with Ambiguity • Two approaches: • Tightly coupled interaction among processing levels; knowledge from other levels can help decide among choices at ambiguous levels. • Pipeline processing • Most NLP systems are probabilistic: they make the most likely choices
Models and Algorithms • Models (as we are using the term here): • Formalisms to represent linguistic knowledge • Algorithms: • Used to manipulate the representations and produce the desired behavior • choosing among possibilities and combining pieces
Models • State Machines: finite state automata, finite state transducers • Formal rule systems: context free grammars • Logical formalisms: first-order predicate calculus; higher-order logics • Models of uncertainty: Bayesian probability theory • Vector Space Models
Algorithms • Many of the algorithms that we’ll study will turn out to be transducers; algorithms that take one kind of structure as input and output another.
Algorithms • In particular.. • State-space search • To manage the problem of making choices during processing when we lack the information needed to make the right choice • Dynamic programming • To avoid having to redo work during the course of a state-space search • Machine Learning (classifiers, EM, etc)
State Space Search • States represent pairings of partially processed inputs with partially constructed answers • E.g. sentence + partial parse tree • Goal is to arrive at the right/best structure after having processed all the input. • E.g. the best parse tree spanning the sentence • As with most interesting AI problems the spaces are too large and the criteria for “bestness” are difficult to encode (so heuristics, probabilities)
Dynamic Programming • Don’t do the same work over and over. • Avoid this by building and making use of solutions to sub-problems that must be invariant across all parts of the space.