CS 4705: Semantic Analysis: Syntax-Driven Semantics

Slides:



Advertisements
Similar presentations
Problems of syntax-semantics interface ESSLLI 02 Trento.
Advertisements

March 1, 2009 Dr. Muhammed Al-Mulhem 1 ICS 482 Natural Language Processing Semantics (Chapter 17) Muhammed Al-Mulhem March 1, 2009.
Computational language: week 10 Lexical Knowledge Representation concluded Syntax-based computational language Sentence structure: syntax Context free.
Semantics (Representing Meaning)
Semantic Analysis Read J & M Chapter 15.. The Principle of Compositionality There’s an infinite number of possible sentences and an infinite number of.
1 Meaning Representations Chapter 17 November 2012 Lecture #11.
Statistical NLP: Lecture 3
CAS LX 502 8a. Formal semantics Truth and meaning The basis of formal semantics: knowing the meaning of a sentence is knowing under what conditions.
1 Computational Semantics Chapter 18 November 2012 We will not do all of this… Lecture #12.
CS 4705 Slides adapted from Julia Hirschberg. Homework: Note POS tag corrections. Use POS tags as guide. You may change them if they hold you back.
Meaning Representation and Semantic Analysis Ling 571 Deep Processing Techniques for NLP February 9, 2011.
Semantics: Representations and Analyses Slides adapted from Kathy McKeown, Dan Jurafsky, Chris Manning and video thanks to Lyn Walker, Michael Johnston,
Introduction to Semantics To be able to reason about the meanings of utterances, we need to have ways of representing the meanings of utterances. A formal.
CS 4705 Semantic Analysis: Syntax-Driven Semantics.
CS 4705 Semantics: Representations and Analyses. What kinds of meaning do we want to capture? Categories/entities –IBM, Jane, a black cat, Pres. Bush.
Semantics: Representations and Analyses Slides adapted from Julia Hirschberg, Dan Jurafsky, Chris Manning.
CS 4705 Lecture 17 Semantic Analysis: Syntax-Driven Semantics.
Final Review CS4705 Natural Language Processing. Semantics Meaning Representations –Predicate/argument structure and FOPC Thematic roles and selectional.
1 Introduction to Computational Linguistics Eleni Miltsakaki AUTH Fall 2005-Lecture 2.
PSY 369: Psycholinguistics Some basic linguistic theory part3.
CS 4705 Semantic Analysis: Syntax-Driven Semantics.
CS 4705 Lecture 11 Feature Structures and Unification Parsing.
The syntax of language How do we form sentences? Processing syntax. Language and the brain.
February 2009Introduction to Semantics1 Logic, Representation and Inference Introduction to Semantics What is semantics for? Role of FOL Montague Approach.
Natural Language Processing
Chapter 15. Semantic Analysis
BİL711 Natural Language Processing
Semantics: Representations and Analyses Slides adapted from Julia Hirschberg, Dan Jurafsky, Chris Manning.
November 2003CSA4050: Semantics I1 CSA4050: Advanced Topics in NLP Semantics I What is semantics for? Role of FOL Montague Approach.
Chapter 15 Natural Language Processing (cont)
1 Natural Language Processing Lecture Notes 11 Chapter 15 (part 1)
Semantic Analysis CMSC Natural Language Processing May 8, 2003.
Computing Science, University of Aberdeen1 CS4025: Logic-Based Semantics l Compositionality in practice l Producing logic-based meaning representations.
1 Natural Language Processing Chapter 15 (part 2).
1 Predicate (Relational) Logic 1. Introduction The propositional logic is not powerful enough to express certain types of relationship between propositions.
Linguistic Essentials
Semantic Construction lecture 2. Semantic Construction Is there a systematic way of constructing semantic representation from a sentence of English? This.
Parsing with Context-Free Grammars for ASR Julia Hirschberg CS 4706 Slides with contributions from Owen Rambow, Kathy McKeown, Dan Jurafsky and James Martin.
Interpreting Language (with Logic)
Albert Gatt LIN3021 Formal Semantics Lecture 4. In this lecture Compositionality in Natural Langauge revisited: The role of types The typed lambda calculus.
Rules, Movement, Ambiguity
Artificial Intelligence: Natural Language
Building a Semantic Parser Overnight
November 2006Semantics I1 Natural Language Processing Semantics I What is semantics for? Role of FOL Montague Approach.
CS 285- Discrete Mathematics Lecture 4. Section 1.3 Predicate logic Predicate logic is an extension of propositional logic that permits concisely reasoning.
CPSC 422, Lecture 27Slide 1 Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 27 Nov, 16, 2015.
1 Introduction to Computational Linguistics Eleni Miltsakaki AUTH Spring 2006-Lecture 2.
SYNTAX.
NATURAL LANGUAGE PROCESSING
MENTAL GRAMMAR Language and mind. First half of 20 th cent. – What the main goal of linguistics should be? Behaviorism – Bloomfield: goal of linguistics.
 My office hours will be Wednesday 2-3 this week instead of Wednesday 4-5 (Oct. 7 th )
Lec. 10.  In this section we explain which constituents of a sentence are minimally required, and why. We first provide an informal discussion and then.
Week 3. Clauses and Trees English Syntax. Trees and constituency A sentence has a hierarchical structure Constituents can have constituents of their own.
Statistical NLP: Lecture 3
Natural Language Processing
Semantics (Representing Meaning)
Representations of Meaning
Natural Language Processing
CPE 480 Natural Language Processing
CSCI 5832 Natural Language Processing
CS 4705: Semantic Analysis: Syntax-Driven Semantics
بسم الله الرحمن الرحيم ICS 482 Natural Language Processing
Semantics September 23, /22/2018.
Semantics: Representations and Analyses
CSCI 5832 Natural Language Processing
Semantics: Representations and Analyses
Linguistic Essentials
Semantics: Representations and Analyses
CS4705 Natural Language Processing
Natural Language Processing
Presentation transcript:

CS 4705: Semantic Analysis: Syntax-Driven Semantics Slides adapted from Julia Hirschberg CS 4705

Today Reading: Ch 17.2-17.4, 18.1-18.7 (cover material through today); Ch 17.1-17.5 (next time) First Order Predicate Calculus as a representation Semantic Analysis: translation from syntax to FOPC

First Order Predicate Calculus Not ideal as a meaning representation and doesn't do everything we want -- but better than many… Supports the determination of truth Supports compositionality of meaning Supports question-answering (via variables) Supports inference

NL Mapping to FOPC Terms: constants, functions, variables Constants: objects in the world, e.g. Huey Functions: concepts, e.g. sisterof(Huey) Variables: x, e.g. sisterof(x) Predicates: symbols that refer to relations that hold among objects in some domain or properties that hold of some object in a domain likes(Kathy, pasta) female(Kathy) person(Kathy)

Logical connectives permit compositionality of meaning pasta(x)  likes(Kathy,x) “Kathy likes pasta” cat(Vera) ^ odd(Vera) “Vera is an odd cat” sleeping(Huey) v eating(Huey) “Huey either is sleeping or eating” Sentences in FOPC can be assigned truth values Atomic formulae are T or F based on their presence or absence in a DB (Closed World Assumption?) Composed meanings are inferred from DB and meaning of logical connectives

Limitations: cat(Huey) sibling(Huey,Vera) cat(Huey) ^ sibling(Huey,Vera)  cat(Vera) Limitations: Do ‘and’ and ‘or’ in natural language really mean ‘^’ and ‘v’? Mary got married and had a baby. And then… Your money or your life! Does ‘’ mean ‘if’? If you go, I’ll meet you there. How do we represent other connectives? She was happy but ignorant.

Compositional Semantics Assumption: The meaning of the whole is comprised of the meaning of its parts George cooks. Dan eats. Dan is sick. cook(George) eat(Dan) sick(Dan) George cooks and Dan eats cook(George) ^ eat(Dan) George cooks or Dan is sick. cook(George) v sick(Dan) If George cooks, Dan is sick cook(George)  sick(Dan) or ~cook(George) v sick(Dan)

If George cooks and Dan eats, Dan will get sick. (cook(George) ^ eat(Dan))  sick(Dan) sick(Dan)  cook(George) ^ eat(Dan) ?? Dan only gets sick when George cooks. You can have apple juice or orange juice. Stuart sits in front and Boris sits in the middle. George cooks but Dan eats. George cooks and eats Dan.

Quantifiers: Existential quantification: There is a unicorn in my garden. Some unicorn is in my garden. Universal quantification: The unicorn is a mythical beast. Unicorns are mythical beasts. Many? A few? Several? A couple? Some examples Someone at Columbia is smart. Everyone is loved by someone. Mary showed every boy an apple. Then she told them they could eat them. Then she placed it on the stand in front of the room and told them they could start painting their still life.

Temporal Representations How do we represent time and temporal relationships between events? It seems only yesterday that Martha Stewart was in prison but now she has a popular TV show. There is no justice. Where do we get temporal information? Verb tense Temporal expressions Sequence of presentation Linear representations: Reichenbach ‘47

Utterance time (U): when the utterance occurs Reference time (R): the temporal point-of-view of the utterance Event time (E): when events described in the utterance occur George is eating a sandwich. -- E,R,U  George had eaten a sandwich (when he realized…) E – R – U  George will eat a sandwich. --U,R – E  While George was eating a sandwich, his mother arrived.

Verbs and Event Types: Aspect Statives: states or properties of objects at a particular point in time I am hungry. Activities: events with no clear endpoint I am eating. Accomplishments: events with durations and endpoints that result in some change of state I ate dinner. Achievements: events that change state but have no particular duration – they occur in an instant I got the bill.

Beliefs, Desires and Intentions Very hard to represent internal speaker states like believing, knowing, wanting, assuming, imagining Not well modeled by a simple DB lookup approach so.. Truth in the world vs. truth in some possible world George imagined that he could dance. George believed that he could dance. Augment FOPC with special modal operators that take logical formulae as arguments, e.g. believe, know

Mutual belief: I believe you believe I believe…. Believes(George, dance(George)) Knows(Bill,Believes(George,dance(George))) Mutual belief: I believe you believe I believe…. Practical importance: modeling belief in dialogue Clark’s grounding

Semantic Analysis

Meaning derives from The entities and actions/states represented (predicates and arguments, or, nouns and verbs) The way they are ordered and related: The syntax of the representation may correspond to the syntax of the sentence Can we develop a mapping between syntactic representations and formal representations of meaning?

Syntax-Driven Semantics NP VP eat(Dan) Nom V N Dan eats Goal: Link syntactic structures to corresponding semantic representation to produce representation of the ‘meaning’ of a sentence while parsing it

Specific vs. General-Purpose Rules Don’t want to have to specify for every possible parse tree what semantic representation it maps to Do want to identify general mappings from parse trees to semantic representations One way: Augment lexicon and grammar Devise mapping between rules of grammar and rules of semantic representation Rule-to-Rule Hypothesis: such a mapping exists

Semantic Attachment Extend every grammar rule with `instructions’ on how to map components of rule to a semantic representation, e.g. S  NP VP {VP.sem(NP.sem)} Each semantic function defined in terms of semantic representation of choice Problem: how to define semantic functions and how to specify their composition so we always get the `right’ meaning representation from the grammar

Example: McDonalds serves burgers. Associating constants with constituents ProperNoun  McDonalds {McDonalds} PluralNoun  burgers {burgers} Defining functions to produce these from input NP  ProperNoun {ProperNoun.sem} NP  PluralNoun {PluralNoun.sem} Assumption: meaning representations of children are passed up to parents when non-branching (e.g. ProperNoun.sem(X) = X) But…verbs are where the action is

Will every verb needs its own distinct representation? V  serves {Э(e,x,y) (Isa(e,Serving) ^ Agent(e,x) ^ Patient (e,y))} where e = event, x = agent, y = patient Will every verb needs its own distinct representation? McDonalds hires students. Predicate(Agent, Patient) McDonalds gave customers a bonus. Predicate(Agent, Patient, Beneficiary)

Composing Semantic Constituents Once we have the semantics for each constituent, how do we combine them? E.g. VP  V NP {V.sem(NP.sem)} If goal for VP semantics of ‘serve’ is the representation (Э e,x) (Isa(e,Serving) ^ Agent(e,x) ^ Patient(e,Meat)) then VP.sem must tell us Which variables to be replaced by which arguments? How is replacement accomplished?

First… Lambda Notation Extension to First Order Predicate Calculus λ x P(x): λ + variable(s) + FOPC expression in those variables Lambda reduction Apply lambda-expression to logical terms to bind lambda-expression’s parameters to terms xP(x) xP(x)(car) P(car)

For NLP Semantics Parameter list (e.g. x in x) in lambda expression makes variables (x) in logical expression (P(x)) available for binding to external arguments (car) provided by semantics of other constituents P(x): loves(Mary,x) xP(x)car: loves(Mary,car)

Defining VP Semantics Recall we have VP  V NP {V.sem(NP.sem)} Target semantic representation is: {Э(e,x,y) (Isa(e,Serving) ^ Agent(e,y) ^ Patient(e,x))} Define V.sem as: {x Э(e,y) (Isa(e,Serving) ^ Agent(e,y) ^ Patient(e,x))} Now ‘x’ will be available for binding when V.sem applied to NP.sem of direct object

V.sem Applied to McDonalds serves burgers  application binds x to value of NP.sem (burgers) x Э(e,y) (Isa(e,Serving) ^ Agent(e,y) ^ Patient(e,x)) (burgers) -reduction replaces x within -expression with burgers Value of V.sem(NP.sem) is now Э(e,y) (Isa(e,Serving) ^ Agent(e,y) ^ Patient(e,burgers))

But we’re not done yet…. Need to define semantics for S NP VP {VP.sem(NP.sem)} Where is the subject? Э(e,y) (Isa(e,Serving) ^ Agent(e,y) ^ Patient(e,burgers)) Need another -expression in V.sem so the subject NP can be bound later in VP.sem V.sem, version 2 x y Э(e) (Isa(e,Serving) ^ Agent(e,y) ^ Patient(e,x))

S  NP VP {VP.sem(NP.sem)} VP  V NP {V.sem(NP.sem)} x y Э(e) (Isa(e,Serving) ^ Agent(e,y) ^ Patient(e,x))(burgers) y Э(e) (Isa(e,Serving) ^ Agent(e,y) ^ Patient(e,burgers)) S  NP VP {VP.sem(NP.sem)} y Э(e) Isa(e,Serving) ^ Agent(e,y) ^ Patient(e,burgers)}(McDonald’s) Э(e) Isa(e,Serving) ^ Agent(e,McDonald’s) ^ Patient(e,burgers)

What is our grammar now? S  NP VP {VP.sem(NP.sem)} VP  V NP {V.sem(NP.sem)} V  serves {x y E(e) (Isa(e,Serving) ^ Agent(e,y) ^ Patient(e,x))} NP  Propernoun {Propernoun.sem} NP  Pluralnow {Pluralnoun.sem} Propernoun  McDonalds Pluralnoun  burgers

But this is just the tip of the iceberg…. Terms can be complex A restaurant serves burgers. ‘a restaurant’: Э x Isa(x,restaurant) Э e Isa(e,Serving) ^ Agent(e,< Э x Isa(x,restaurant)>) ^ Patient(e,burgers) Allows quantified expressions to appear where terms can by providing rules to turn them into well-formed FOPC expressions Issues of quantifier scope Every restaurant serves a burger.

How represent other constituents? Adjective phrases: Happy people, cheap food, purple socks Intersective semantics works for some… Nom  Adj Nom {x (Nom.sem(x) ^ Isa(x,Adj.sem))} Adj  cheap {Cheap} x Isa(x, Food) ^ Isa(x,Cheap) But….fake gun? Local restaurant? Former friend? Would-be singer? Ex Isa(x, Gun) ^ Isa(x,Fake)

Doing Compositional Semantics To incorporate semantics into grammar we must Determine `right’ representation for each basic constituent Determine `right’ representation constituents that take these basic constituents as arguments Incorporate semantic attachments into each rule of our CFG

Parsing with Semantic Attachments Modify parser to include operations on semantic attachments as well as syntactic constituents E.g., change an Early-style parser so when constituents are completed, their attached semantic function is applied and a meaning representation created and stored with state Or… let parser run to completion and then walk through resulting tree, applying semantic attachments from bottom-up

Option 1 (Integrated Semantic Analysis) S  NP VP {VP.sem(NP.sem)} VP.sem has been stored in state representing VP NP.sem stored with the state for NP When rule completed, retrieve value of VP.sem and of NP.sem, and apply VP.sem to NP.sem Store result in S.sem. As fragments of input parsed, semantic fragments created Can be used to block ambiguous representations

Drawback You also perform semantic analysis on orphaned constituents that play no role in final parse Case for pipelined approach: Do semantics after syntactic parse

Non-Compositional Language Some meaning isn’t compositional Non-compositional modifiers: fake, former, local, so-called, putative, apparent,… Metaphor: You’re the cream in my coffee. She’s the cream in George’s coffee. The break-in was just the tip of the iceberg. This was only the tip of Shirley’s iceberg. Idiom: The old man finally kicked the bucket. The old man finally kicked the proverbial bucket. Deferred reference: The ham sandwich wants his check. Solution: special rules? Treat idiom as a unit?

Summing Up Hypothesis: Principle of Compositionality Semantics of NL sentences and phrases can be composed from the semantics of their subparts Rules can be derived which map syntactic analysis to semantic representation (Rule-to-Rule Hypothesis) Lambda notation provides a way to extend FOPC to this end But coming up with rule to rule mappings is hard Idioms, metaphors and other non-compositional aspects of language makes things tricky (e.g. fake gun)

Next Read Ch 19: 1-5