semantics and computational semantics
Post on 07-Jan-2017
3.300 views
Embed Size (px)
TRANSCRIPT
Seman&c Analysis in Language Technology http://stp.lingfil.uu.se/~santinim/sais/2016/sais_2016.htm
Semantics and
Computational Semantics
Marina San(ni san$nim@stp.lingfil.uu.se
Department of Linguis(cs and Philology Uppsala University, Uppsala, Sweden
Spring 2016
Lecture 2: Computational Semantics 1
Acknowledgements The content of these slides is mostly based on the following chapter: Stone M. (In Press) Seman$cs and computa$onal seman$cs To appear in
Paul Dekker and Maria Aloni, eds., Cambridge Handbook of Formal Seman(cs. hJps://www.cs.rutgers.edu/~mdstone/pubs/compsem13.pdf
Blackburn P. and Bos J. (2003) Computa$onal Seman$cs hJp://www.let.rug.nl/bos/pubs/BlackburnBos2003Theoria.pdf
Some slides are borrowed from / inspired by: Manning C.: Computa(onal Seman(cs, CS224N Stanford University
hJp://web.stanford.edu/class/cs224n/handouts/Computa(onal%20Seman(cs.pdf
Dragomir Radev: Introduc(on to NLP, Coursera
Lecture 2: Computational Semantics 2
Outline
Representa(on and Seman(cs Computa(on and Composi(onal Seman(cs Logic Unifica(on
Conclusions
Lecture 2: Computational Semantics 3
What is Seman(cs?
Lecture 2: Computational Semantics 4
Generally speaking seman(cs is the study of meaning that is used for understanding human expressions through
language
Seman&cs is the study of meaning: accounts for links between words and the world.
Seman(cs is the study of how meaning is conveyed through signs and language. Denota(ons are the literal or primary meanings of words. Connota(ons are ideas or feelings that a word invokes for a person in
addi(on to its literal or primary meaning. Seman(cs focuses on the rela(on between signifiers (like words,
phrases, signs, and symbols) and what they stand for, ie their denota(ons (concepts) and connota(ons (seman(c analysis).
Lecture 2: Computational Semantics 5
Comput(er)-a(onal Seman(cs
Seman$cs is the study of meaning in language. Computer science is the study of precise descrip(ons of finite processes;
Thus, computa(onal seman(cs embraces any project that approaches the phenomenon of meaning by way of tasks that can be performed by following definite sets of mechanical instruc(ons.
Lecture 2: Computational Semantics 6
We can start by saying that
The aim of computa(onal seman(cs is to find techniques for automa(cally construc&ng seman&c representa&ons for expressions of human language, representa(ons that be used to perform inference. Blackburn and Bos (2003).
Inference = reasoning
Lecture 2: Computational Semantics 7
Why do we need meaning in Language Technology?
The short answer is: because intelligent applica(ons must understand in order to act.
Lecture 2: Computational Semantics 8
Ex 1: Google - What is the capital of Sweden?
Answer:
Lecture 2: Computational Semantics 9
Ex 2: Siri - Which countries does the Danube river flows through?
Lecture 2: Computational Semantics 10
Ex 3: Facebook Graph Search Facebook Graph Search was a seman$c search engine that was introduced by Facebook in March 2013. It was designed to give answers to user natural language queries rather than a list of links. Examples: "Friends who Like Star Wars and Harry Po@er "photos of my friends taken at Na&onal Parks" hJps://en.wikipedia.org/wiki/Facebook_Graph_Search
Lecture 2: Computational Semantics 11
Understanding Meaning
If an agent (eg. a robot) hears a sentence and act accordingly, the agent is said to understand the sentence: Example: Leave the book on the table Understanding may involve inference: Which book? Which table? So, understanding may involve some kind of reasoning
Lecture 2: Computational Semantics 12
NLP/LT and Seman(cs Not all LT-based applica(ons require seman(cs. Ex: taggers, parsers, etc.
Much can be done with shallow seman(cs. Ex: word sense disambigua(on, etc.
For more complex tasks (more intelligent tasks) seman(c reasoning is needed. Ex: QAnswering, Info Extrac(on, Ontology Crea(on, etc.
Lecture 2: Computational Semantics 13
Tradi(onally reasoning is done by using some kind of logic A tradi(onal approach is to use FOL (first order logic) to formalize meaning (see Formal Seman(cs Theories). before start studying how seman(cs is used in Language Technology-based applica(ons, lets summarise how seman(cs has been brought into computer science and ar(ficial intelligence.
Lecture 2: Computational Semantics 14
REPRESENTATION AND SEMANTICS
Lecture 2: Computational Semantics 15
Proper(es of Meaning in Logic Verifiability
Can a statement be verified against a knowledge base (KB) Example: does my cat Mar(n have whiskers?
Unambiguousness Give me the book Which book?
Canonical form (standard/abstract form of an expression) Expressiveness
Can the formalism express temporal rela(ons, beliefs, ? Is it domain-independent?
Inference
Lecture 2: Computational Semantics 16
Represen(ng Meaning
A tradi(onal approach to meaning is to use proposi(onal logic predicate/first order logic (FOL) use theorem proving (inference) to determine whether a statement entails another
Lecture 2: Computational Semantics 17
Proposi(onal Logic : proposi(ons are represented by leJers
In proposi(onal logic, we use leJers to symbolize en(re proposi(ons.
Proposi(ons are statements of the form "x is y" where x is a subject and y is a predicate.
For example, "Socrates is a Man" is a proposi(on and might be represented in proposi(onal logic as "S".
Lecture 2: Computational Semantics 18
True and False Proposi(onal Logic studies proposi(ons, whether they are true or false. A sentence might contain several proposi(ons that are linked together by
logical connec(ves.
Logical connec(ves are found in natural languages. In English for example, some examples are "and" (conjunc(on), "or" (disjunc(on), "not (nega(on) and "if" (but only when used to denote material condi(onal).
Ex (wikipedia): simple inference within the scope of proposi(onal logic: Premise 1: If it's raining then it's cloudy. Premise 2: It's raining. Conclusion: It's cloudy.
Both premises and the conclusion are proposi(ons. The premises are taken for granted and then with the applica(on of modus ponens (an inference rule) the conclusion follows.
Lecture 2: Computational Semantics 19
Syntax of Proposi(onal Logic The simplest type of logic If S is a sentence, S is a sentence (nega(on) If S1 and S2 are sentences, S1 S2 is a sentence (conjunc(on) If S1 and S2 are sentences, S1 S2 is a sentence (disjunc(on) If S1 and S2 are sentences, S1 S2 is a sentence (implica(on) If S1 and S2 are sentences, S1 S2 is a sentence(bicondi(onal)
Lecture 2: Computational Semantics 20
Proposi(onal Logic and Natural Language
Operator Precedence (highest) = nega(on = conjunc(on = disjunc(on = implica(on (lowest) = bicondi(onal* *A bicondi(onal statement is defined to be true whenever both parts have the same truth value.
Logic and Language A = Today is a holiday. B = We are going to the park. A B A B A B B A B A
Lecture 2: Computational Semantics 21
Truth table
Lecture 2: Computational Semantics 22
Proposi(onal Logic and Seman(cs
Transla$ng propos$ons to Eng Seman$cs of Proposi$onal Logic
Lecture 2: Computational Semantics 23
Proposi(onal logic vs FOL/Predicate Logic
Proposi(onal logic (also called senten(al logic) is logic that includes sentence leJers (A,B,C ) and logical connec(ves, but not quan(fiers. The seman(cs of proposi(onal logic uses truth assignments to the leJers to determine whether a compound proposi(onal sentence is true.
Predicate logic is usually used as a synonym for first-order logic. Syntac(cally, first-order logic has the same connec(ves as proposi(onal logic, but it also has variables for individual objects, quan(fiers, symbols for func(ons, and symbols for rela(ons.
Its seman(cs includes a domain of discourse for the variables and quan(fiers to range over, along with interpreta(ons of the rela(on and func(on symbols.
Lecture 2: Computational Semantics 24
Predicate Logic: more expressive than Proposi(onal Logic
In predicate logic, we symbolize subject and predicate separately.
The important difference is that you can use predicate logic to say something about a set of objects.
By introducing the universal quan(fier (""), the existen(al quan(fier ("") and variables ("x", "y" or "z"), we can use predicate logic to represent thing like: "Everything is green" as "Gx Something is blue" as "Bx
Lecture 2: Computational Semantics 25
Used to represent
Objects Mar(n the cat Rela(ons Mar(n and Moses are brothers Func(ons Mar(ns age
Lecture 2: Computational Semantics 26
FOL elements (short version)
Constant Variables Predicates Boolean connec(ves Quan(fiers Brackets and comma to group the symbols together
Ex: A woman crosses Sunset Boulevard
Lecture 2: Computational Semantics 27
FOL elements (long version)
Formula AtomicFormula or Formula Connec(ve Formula or Quan(fier Variable Formula or Formula (Formula):
Lecture 2: Computational Semantics 28