Title: First Order Predicate Logic to English Translation
1First Order Predicate Logic to English Translation
- Donald O. Davis
- Department of Computer Science
- Old Dominion University
- Norfolk VA 23529
- dod_at_cs.odu.edu
- Adviser Professor Shunichi Toida
- April 29, 2005
2Overview
- Natural Language Generation
- First Order Predicate Logic to English Translation
3Natural Language Generation
- Content Determination
- Document Structuring
- Sentence Aggregation
- Lexicalisation
- Referring Expression Generation
- Syntactic and Morphological Realization
- Orthographic Realization
4Content Determination
- The process of deciding what to say
- Different communicative goals may require
different information to be expressed - Content required may depend on characteristics of
the reader - Constraints upon the output
- Questions of what information should be included
are application dependent
5Document Structuring
- Problem of imposing ordering and structure over
the information - A text is not just a random collection of
sentences - Texts have an underlying structure in which the
parts are related together - Readers have an expectation of the structure of
text - Two related issues
- conceptual grouping
- rhetorical relationships
6Sentence Aggregation
- Mapping of linguistic structures and elements
such as sentences and paragraphs - A one-to-one mapping from messages to sentences
results in disfluent text - Messages need to be combined to produce larger
and more complex sentences - The result is a sentence specification or
SENTENCE PLAN - Natural languages afford many different ways of
expressing the same thing
7Lexicalisation
- Lexicalisation determines the particular words to
be used to express domain concepts and relations - We can express information about ownership or
possession - The car owned by Mary
- Marys car
- We need to provide some mechanism for choosing
among alternatives - There was rain on every day for eight days from
the the 11th - There was rain on every day from the 11th to the
18th
8Referring Expression Generation
- Referring expression generation is concerned with
how we describe domain entities in such a way
that the hearer will know what we are talking
about - The same entity may be referred to in different
ways - Initial Reference
- Subsequent Reference
- Major issue is avoiding ambiguity
- March 1995
- March
- Last Month
- Takes into account previous communications with
the user
9Syntactic and Morphological Realization
- Every natural language has grammatical rules that
govern how words and sentences are constructed - Morphology rules of word formation
- Syntax rules of sentence formation
- English rules for forming negative sentence are
not straightforward - I do not
- I am not bored
10Orthographic Realization
- Orthographic realization is concerned with
matters like casing and punctuation - This also extends into typographic issues font
size, column width - May also include capitalization of section
headings or final sentence punctuation in the
case of exclamations or questions
11First Order Predicate Logic to English Translation
- System Description
- Outline of Method
- Universal Quantifiers
- Existential Quantifiers
- Example
- Translation of Single Quantifiers
- Translation of Single Quantifiers using IMPLY
- Translation of Double Quantifiers
- Translation of Double Quantifiers using IMPLY
- CatchAll Function
12System Description
- Used in conjunction with a undergraduate
web-based discrete logic course - Used to translate well-form predicate logic
formulas to English sentences - Assisting students in identifying their mistakes
- The system can handle AND, OR and NOT connectives
and is mainly intended for the class of formulas
with one and two variables
13Outline of Method
- A stack structure contains the well-formed
formula - A determination is made of the occurrence of an
IMPLY operator - If no IMPLY operator is not used, the stack is
evaluated in reverse order - If IMPLY operator is used, pattern-matching
determines output - \E y J(x) -gt Q(x,y) would be \E y (x) -gt
(x,y) - Remaining cases covered by CatchAll Function
- The universe of discourse is the set of people
14Universal Quantifiers
- For every person x,
- All persons
- Everyone
- For every person x, if
- Every person
- Every person who
15Existential Quantifiers
- There exists a person x such that
- There exists a person who
- Someone
- There exists a person x such that if
- There exists a person who
- Some
16Example
- \A x J(x) V K(x)
- J(x) x studies hard
- K(x) x loves sports
- Stack result )x(K V )x(J x A\
- If we pop the stack from left to right, when we
get to K we could write - x loves sports
17Example
- When we arrive at V we could append OR with the
previous result - or x loves sports
- At the letter J we could append x studies hard
with the previous result - x studies hard OR x loves sports
- Once we finally arrive at \A we could append For
every person x with the previous result for the
answer - For every person x, x studies hard or x loves
sports
18Translation of Single Quantifiers
- J(x) x studies hard
- K(x) x loves sports
- \A x J(x) V K(x)
- For every person x, x studies hard or loves
sports - All persons study hard or love sports
- Everyone studies hard or loves sports
19Translation of Single Quantifiers
- J(x) x studies hard
- K(x) x loves sports
- \E x J(x) K(x)
- There exists a person x such that x studies hard
and loves sports - There exists a person who studies hard and love
sports - Someone studies hard and loves sports
20Translation of Single Quantifiers
- J(x) x studies hard
- K(x) x loves sports
- \E x J(x) V K(x)
- There exists a person x such that x studies hard
or does not love sports - There exists a person who studies hard or does
not love sports - Someone studies hard or does not love sports
21Translation of Single Quantifiers using IMPLY
- J(x) x studies hard
- K(x) x loves sports
- \A x J(x) -gt K(x)
- For every person x, if x studies hard, x loves
sports - Every person loves sports if he/she studies hard
22Translation of Single Quantifiers using IMPLY
- J(x) x studies hard
- K(x) x loves sports
- \E x J(x) -gt K(x)
- There exists a person x such that if x studies
hard, x loves sports - There exists a person who loves sports if he/she
studies hard
23Translation of Single Quantifiers using IMPLY
- J(x) x studies hard
- K(x) x loves sports
- \E x J(x) -gt K(x)
- There exists a person x such that if x studies
hard, x does not love sports - There exists a person who does not love sports if
he/she studies hard
24Translation of Double Quantifiers
- P(x,y) x runs faster than y
- Q(x,y) x is older than y
- \A x P(x,y) V Q(x,y)
- For every person x the following holds x runs
faster than y or x is older than y
25Translation of Double Quantifiers
- P(x,y) x runs faster than y
- Q(x,y) x is older than y
- \E x P(x,y) Q(x,y)
- There exist a person x which satisfies the
following x runs faster than y and x is older
than y
26Translation of Double Quantifiers
- P(x,y) x runs faster than y
- Q(x,y) x is older than y
- \E x P(x,y) V Q(x,y)
- There exist a person x which satisfies the
following x run faster than y or x is not older
than y
27Translation of Double Quantifiers using IMPLY
- R(x,y) x swims faster than y
- J(y) y studies hard
- K(x) x loves sports
- \A x \E y K(x) J(y) -gt R(x,y)
- For every person x and for some person y the
following holds If x loves sports and y studies
hard then x swims faster than y
28Translation of Double Quantifiers using IMPLY
- R(x,y) x swims faster than y
- L(x) x is a student
- \E x \A y R(x,y) -gt L(x)
- There exist a person x for every person y which
satisfies the following If x swims faster than y
then x is a student
29Translation of Double Quantifiers using IMPLY
- S(x,y) x is taller than y
- \E y \E x S(y,x)
- There exist a person y which satisfies the
following some person y is not taller than x
30CatchAll Function
- P(x,y) x runs faster than y
- S(x,y) x is taller than y
- \A x P(x,y) -gt S(x,y)
- For every person x the following holds x runs
faster than y implies x is taller than y
31CatchAll Function
- P(x,y) x runs faster than y
- Q(x,y) x is older than y
- T(x,y) x talks louder than y
- \E x P(x,y) Q(x,y) -gt T(x,y)
- There exist a person x which satisfies the
following x runs faster than y and x is older
than y implies x talks louder than y
32CatchAll Function
- J(x) x studies hard
- N(x) x likes baseball
- R(x,y) x swims faster than y
- \A x J(x) N(x) -gt R(x,y)
- For every person x the following holds x study
hard and x like baseball implies x does not swim
faster than y
33Conclusion
- The system attempts to take the last in first out
nature of the stack data type to combine
multi-sentences separated by AND or OR in a
meaningful way - Other cases make use of pre-determined patterns
to produce relevant text output in a general way - Predetermined patterns can not cover the infinite
number of WWFs available to the user - The system contains one catchall method design to
produce one legible sentence from a WWF not
already covered
34Conclusion
- While this sentence is grammatically correct, it
is far from the style of the average English
speaking person - Improvement of this catchall function is the
single most necessary component to cover a larger
number of cases while communicating in a style
common to most people
35References
- Cole et al. Survey of the State of the Art in
Human Language Technology. Cambridge University
Press, Cambridge, UK, 1998. - Geoffrey Hunter. Metalogic An Introduction to
the Metatheory of Standard First Order Logic.
University of California Press, California, USA,
1971. - Ehud Reiter and Robert Dale. Building applied
natural language generation systems. Journal of
Natural Language Engineering, 3(1)5787, 1997. - Rolf Schwitter and Norbert E. Fuchs. Attempto
controlled english (ACE) a seemingly informal
bridgehead in formal territory (poster abstract).
In Joint International Conference and Symposium
on Logic Programming, page 536, 1996. - L. Wanner and E. Hovy. The healthdoc sentence
planner. In INLG96, pages 110, Herstmonceux
Castle, Sussex, 1996.