Cognitive Approach to NLP

    

Semantic Link

    

    

teaching.dessalles.fr/CANLP

In Prolog, shared variable establish an explicit link between predicates.

boy(X), girl(Y), dream(X,Y)

If we execute the above line as a program, Prolog is able to instantiate the variables and to execute the resulting predicates:

Continue to dream, john!
X = john,
Y = ann
Natural language functions differently, as it has no explicit variables.
When two words get merged in a phrase,

nice girl
. . .
Natural language functions differently, as it has no explicit variables.
When two words get merged in a phrase,

nice girl

Prolog introduces predicates
    

nice(X), girl(Y)
Natural language functions differently, as it has no explicit variables.
When two words get merged in a phrase,

nice girl

Prolog introduces predicates
and then says that the variables are the same.

nice(X), girl(X)
Natural language functions differently, as it has no explicit variables.
When two words get merged in a phrase,

nice girl

    

Natural Language seems to do the same, but implicitely.
This implicit form of semantic link may lead to ambiguities.
Consider for example the phrase:

The love of children

When translated into Prolog, it may give:


children(X), love(X, Y)

or:

children(Y), love(X, Y)

We don’t know whether the children are the ones who are loving or who are loved.
Semantic link is not always ambiguous.

For instance, in active languages such as English or French
(and contrary to ergative language such as Hindi or Basque),
verbs tend to share their first argument with their subject.


The girl talks to the boy

This sentence is not ambiguous:

girl(X), talks(X,Y), boy(Y).

Here, argument sharing is constrained by syntax.