If there is a card X1 then if there is a slot X2 then the card X1 is inserted into the slot X2.
 [A] object(A,card,countable,na,eq,1)-1/2 =>  [B] object(B,slot,countable,na,eq,1)-1/7 => [C,D] property(C,inserted,pos)-1/4 predicate(D,be,A,C)-1/3 modifier_pp(D,into,B)-1/5
[A,B,C] object(C,card,countable,na,eq,1)-1/4 object(B,scissors,countable,na,eq,1)-1/9 predicate(A,cut,named(Mary),C)-1/2 modifier_pp(A,with,B)-1/5
There is a man X1. The man X1 inserts a card with a code.
warning anaphor 1 The definite noun phrase 'the man' does not have an antecedent and thus is not interpreted as anaphoric reference, but as a new indefinite noun phrase.
[A,B,C,D] object(D,man,countable,na,eq,1)-1/2 object(C,card,countable,na,eq,1)-1/5 object(B,code,countable,na,eq,1)-1/8 predicate(A,insert,D,C)-1/3 modifier_pp(A,with,B)-1/6
John sees Jack. He is busy today.
reference "he" is ambiguous
in natural languages, resolve from context
even regular phrases: "the car", "a car"... which do they refer to?
possible rule: most recent grammatically feasible match
NB: incorrect anaphora hard to detect automatically
predefined function words ("the", "for", "with", etc.)
predefined phrases "it is false that..." "it is possible that..."
predefined content words with ambiguities resolved
well defined syntax (parseable)
subset of regular English
fairly powerful subset
sentences frequently are ambiguous
"A customer inserts a card with a code."
Is that instrumental or a property?
resolution, could define "always instrumental", some exceptions
NB: errors in resolution by making a canonical choice is hard to detect automatically
language encodes knowledge
knowledge is logical statements about the world
"Every human being has a father and a mother. John is a human being". Does John have a father?"
translate statements in the source language into logical statements
translate logical statements back into target language
i.e., transfer-based MT with logic as intermediate
which language should we use?
first order logic?
use something "like" natural language to express knowledge
instead of second-guessing meaning of natural language, control the language so that it remains intelligible but is more readable to machines
detect and signal errors
ontologies for the semantic web
automatic translation of instruction manuals etc.
automatically analyzable engineering and software specifications
a lot of language *is* about things that can be expressed as logic
a lot of language can be interpreted as logical statements simply syntactically
the logical content of language requires context and background knowledge to extract; it's not just parsing
a lot of language probably isn't about things that can be expressed in terms of logical statements
formal controlled languages: they have an exact syntax and semantics (but look natural), Clone, Attempto
informal controlled language: recommendations for making language more suitable for a particular purpose, but not formally specified, Basic English, used for broadcasts, international language, E-prime, no use of "to be", "The film was good." -> "I liked the film.", limit of "they", "the ____", etc., *"Most people say...", "X is Y" -> "X remains Y", "X equals Y", "X becomes Y"
simplify! you can use controlled language yourself.
The car driven around the lot stopped., Das Auto auf der viel gefahren gestoppt.
The car was driven around the parking lot. The car stopped., Das Auto wurde auf dem Parkplatz gefahren. Der Wagen hielt
simplify, stick to unambiguous words, use simple grammatical structures, limit anaphora, make them unambiguous
simple English / basic English
COBOL, SQL, etc.
how would law, contracts, science, politics change if language was clear, logical, and unambiguous
what could we do if we could capture knowledge as found in Wikipedia?
can we translate regular English into controlled English?
controlled language has become more popular recently
not that much used for machine translation yet, few tools
examples, Gellish, Attempto
simple parsers for controlled languages
controlled languages as an interlingua
English -> controlled, having well-defined, unambiguous meanings for texts would be useful in many contexts, not just MT, as a semantics checker (how would people interpret this?), as a binding definition of the meaning of the text (e.g., for laws)