computational semantics with haskell
play

Computational Semantics with Haskell Yulia Zinova Winter 2016/2017 - PowerPoint PPT Presentation

Computational Semantics with Haskell Yulia Zinova Winter 2016/2017 We follow Van Eijck and Unger 2010, electronic access from the library Winter 2016/2017 We follow Van E Yulia Zinova Computational Semantics with Haskell / 12 Model checking


  1. Computational Semantics with Haskell Yulia Zinova Winter 2016/2017 We follow Van Eijck and Unger 2010, electronic access from the library Winter 2016/2017 We follow Van E Yulia Zinova Computational Semantics with Haskell / 12

  2. Model checking with predicate logic Architecture ◮ Predicate logic → semantic representation language ◮ Models of predicate logic → Haskell data types ◮ Interpreting predicate logic languages in appropriate models: 1. construct a logical form from a natural language expression 2. evaluate the logical form with respect to a model Winter 2016/2017 We follow Van E Yulia Zinova Computational Semantics with Haskell / 12

  3. Translating linguistic form into logic Linguistic form to logic ◮ Funny properties: ◮ Alice walked on the road implies that someone walked on the road ◮ No one walked on the road does not imply that someone walked on the road ◮ So the structure of the two sentences must differ → first-order predicate logic ◮ Logical translation for Every dwarf loved Goldilocks. Winter 2016/2017 We follow Van Eijck Yulia Zinova Computational Semantics with Haskell / 12

  4. Translating linguistic form into logic Linguistic form to logic ◮ Funny properties: ◮ Alice walked on the road implies that someone walked on the road ◮ No one walked on the road does not imply that someone walked on the road ◮ So the structure of the two sentences must differ → first-order predicate logic ◮ Logical translation for Every dwarf loved Goldilocks. ◮ ∀ x (Dwarf x → Love x g) ◮ What is strange? What does the logical form say? Winter 2016/2017 We follow Van Eijck Yulia Zinova Computational Semantics with Haskell / 12

  5. Translating linguistic form into logic Linguistic form to logic ◮ Funny properties: ◮ Alice walked on the road implies that someone walked on the road ◮ No one walked on the road does not imply that someone walked on the road ◮ So the structure of the two sentences must differ → first-order predicate logic ◮ Logical translation for Every dwarf loved Goldilocks. ◮ ∀ x (Dwarf x → Love x g) ◮ What is strange? What does the logical form say? ◮ All objects in the domain of discourse have the property of either not being dwarfs or being objects who loved Goldilocks. Winter 2016/2017 We follow Van Eijck Yulia Zinova Computational Semantics with Haskell / 12

  6. Translating linguistic form into logic Linguistic form to logic ◮ Funny properties: ◮ Alice walked on the road implies that someone walked on the road ◮ No one walked on the road does not imply that someone walked on the road ◮ So the structure of the two sentences must differ → first-order predicate logic ◮ Logical translation for Every dwarf loved Goldilocks. ◮ ∀ x (Dwarf x → Love x g) ◮ What is strange? What does the logical form say? ◮ All objects in the domain of discourse have the property of either not being dwarfs or being objects who loved Goldilocks. ◮ The constituent every dwarf disappeared! Winter 2016/2017 We follow Van Eijck Yulia Zinova Computational Semantics with Haskell / 12

  7. Translating linguistic form into logic Believes ◮ Proper names and quantified noun phrases combine with a predicate in different ways ◮ Therefore, linguistic form of natural language is misleading ◮ But: if we use lambda calculus where natural language constituents correspond to typed expressions that combine with one another as functions and arguments ◮ As a result, fully unreduced expressions directly correspond to language elements and account for the observed differences Winter 2016/2017 We follow Van E Yulia Zinova Computational Semantics with Haskell / 12

  8. Predicate Logic as Representation Language Representations with predicate logic ◮ Type of entities is represented by terms ◮ Type of truth values is represented by formulas ◮ type LF = Formula Term ◮ Our fragment: declarative sentences with meaning that can be represented with predicate logic Winter 2016/2017 We follow Van E Yulia Zinova Computational Semantics with Haskell / 12

  9. Predicate Logic as Representation Language Representing rules ◮ Recall our English grammar fragment in BNF ◮ First rule S → NP VP ◮ Should we represent NP as a function that takes a VP representation as argument, or vice versa? ◮ VP representations must have a functional type, as VPs denote properties ◮ VP type: Term → LF ◮ Types for Goldilocks and every boy ? Winter 2016/2017 We follow Van Eijck Yulia Zinova Computational Semantics with Haskell / 12

  10. Predicate Logic as Representation Language Representing rules ◮ Recall our English grammar fragment in BNF ◮ First rule S → NP VP ◮ Should we represent NP as a function that takes a VP representation as argument, or vice versa? ◮ VP representations must have a functional type, as VPs denote properties ◮ VP type: Term → LF ◮ Types for Goldilocks and every boy ? ◮ Let us explore the representations... Winter 2016/2017 We follow Van Eijck Yulia Zinova Computational Semantics with Haskell / 12

  11. Predicate Logic as Representation Language Representing a model for predicate logic ◮ We need a domain of entities and suitable interpretations of names and predicates ◮ Domain: individuals A . . . Z and Unspec ◮ Simple names are interpreted as entities ◮ Common nouns and intransitive verbs are interpreted as properties of entities Winter 2016/2017 We follow Van E Yulia Zinova Computational Semantics with Haskell / 12

  12. Predicate Logic as Representation Language Predicates ◮ Transitive verbs are interpreted s relations between entities ◮ Define one-, two-, and three-place predicates ◮ Currying is the conversion of a function of type ((a,b) → c) to one of type a → b → c ◮ Uncurrying is the converse operation. ◮ curry and uncurry are predefined in Prelude ◮ Passivization: the agent of the action is dropped Winter 2016/2017 We follow Van E Yulia Zinova Computational Semantics with Haskell / 12

  13. Predicate Logic as Representation Language Exercises ◮ Consider the verbs help and defeat and the noun phrases Alice, Snow White, every wizard, a dwarf . For every sentence of the form NP (V NP) with these items check whether it is true of false in the given model. ◮ Check how passivize works by applying it to the predicates admire and help . ◮ Define another passivization function that works for three-place predicates. Winter 2016/2017 We follow Van E Yulia Zinova Computational Semantics with Haskell / 12

  14. Predicate Logic as Representation Language Evaluating formulas in models ◮ Up to now we specified how to represent models for predicate logic. ◮ The next thing is to evaluate formulas with respect to these models. ◮ We need interpretation functions and variable assignments ◮ One interpretation function for relation of different arities ◮ An interpretation function is a function from relation names to appropriate relations in the model Winter 2016/2017 We follow Van E Yulia Zinova Computational Semantics with Haskell / 12

  15. Predicate Logic as Representation Language Variable assignments ◮ Now we need to implement variable assignments (variable lookup) ◮ Example of variable assignment: ass0 - map every variable to object A ◮ ass1 - take ass0 but map y to B ◮ Can be modified further Winter 2016/2017 We follow Van E Yulia Zinova Computational Semantics with Haskell / 12

  16. Predicate Logic as Representation Language Domain and the evaluation function ◮ Two assumptions: allows tests for equality, can be enumerated ◮ To check an infinite domain: as Haskell only evaluates something when it is needed, an open list can be an argument, but “forall" is not possible Winter 2016/2017 We follow Van E Yulia Zinova Computational Semantics with Haskell / 12

  17. Predicate Logic as Representation Language References: Van Eijck, J. and Unger, C. (2010). Computational semantics with functional programming . Cambridge University Press. Winter 2016/2017 We follow Van E Yulia Zinova Computational Semantics with Haskell / 12

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend