understood as being a part_of it. This inference is the trigger of the IMPLICATURE
that the TABLE is a metonymy for the SITting event. Consequently, when the system
tries to corefer, cospecify or assert new semantic individuals, it will find an Indefinite
expression “a table” which will not just constitute literally that the text presents a new
entity TABLE, but that the IE is involved with a related event. The Entity implied is
again understood as the Main Topic of current Topic Hierarchy, i.e. JOHN.
The procedure invoked by the system to produce such an implicature makes a call
to WordNet that checks all possible inclusion relations: hyponymy, hyperonymy,
meronymy, etc. Then we look for current main location specified for spatial “place”
locations and recover the Predicate the “restaurant”. Then the semantic index – Idy -
of the Main Topic is searched and passed down to the predicate that will compute the
implicature. The following procedures produce the other semantic index associated to
TABLE and assert its semantic properties; it asserts an inclusion for the location
Table into the Main location.
Then there is the final call which has the task to search for unexpressed relations
intervening in the current spatiotemporal location. To solve this problem in a
principled matter we needed commonsense knowledge organized in a
computationally tractable way. This is what CONCEPTNET 2.1 [11] actually
constitutes. ConceptNet - available at www.conceptnet.org - is the largest freely
available, machine-useable commonsense resource. Organized as a network of semi-
structured natural language fragments, ConceptNet consists of over 250,000 elements
of commonsense knowledge. At present there are 19 semantic relations used in
ConceptNet, representing categories of, inter alia, temporal, spatial, causal, and
functional knowledge. The representation chosen is semi-structured natural language
using lemmata rather than inflected words. The way in which concepts are related
reminds “scripts”, where events may be decomposed in Preconditions, Subevents and
so on, and has been inspired by Cyc [10].
ConceptNet can be accessed in different ways, we wanted a strongly constrained
one. We chose a list of functions that encode pieces of knowledge and use those
functions together with the information available at a certain point of the computation
to derive Implicit Information. In other words, we assume that what is being actually
said hides additional information which however is only implicitely hinted at. What
we need is a predicate constrained by a conceptual function and other predicates. So
first of all the list of functions,
allsceneryevents([‘SubEventOf’,‘FirstSubeventOf’,
‘DesiresEvent’,’Do’,CapableOf’,’FunctionOf’,’UsedFor’,’EventRequiresObject’,Location
Of’]
Then the call that searches ConceptNet for implicit information,
create_infer_rel(NoFr, MainLoc, AgentId, CurrLocatId, Temp, Loc):-
allsceneryevents(CondEvents),
member(Type, CondEvents),
MatchScenery=..[Type, [go, Prep, MainLoc], [Event, Preps, CurrLocat ])
…
Infon=..[fact, EvId, Event, [actor:AgentId, locat: CurrLocatId], 1, tes(Tr3), Loc],
assert(Infon),
32