Scalar Negation/Modifers
Lojban has different types of Negation such as simple Boolean negation and the more complex Scalar Negation (Scalar Modifiers in general).
Explanation of Scalar Modifier
Scalar Modifiers as there name suggests imply a scale. A negation of this type not only states that one scalar value is false, but implies that another value on the scale must be true. (Contrary to Boolean negation which does not imply a scale or for another value on it to be true) Example:
mi na'e nelci do I scalar negation like you
Says there is a relationship between me and you, which has a scale that can fit the value "like" so it could be some relationship of feelings.
The possible modifiers in Lojban are:
je'a scalar affirmer; denies scalar negation: Indeed!. na'e contrary scalar negator: other than ...; not ...; a scale or set is implied. no'e midpoint scalar negator: neutral point between je'a and to'e; "not really". to'e polar opposite scalar negator.
for example:
mi to'e nelci do I polar opposite like you
would mean i dislike you.
Possible Representation in OpenCog
Explained for the following example
mi to'e nelci do
We would use a Variable Node that has to fulfil certain constraints as the predicate.
EvaluationLink
VariableNode "$pred"
ListLink
ConceptNode "mi"
ConceptNode "do"
First of all the type of relationship it describes has to be similar to the specified predicate.
AndLink
ImplicationLink
VariableNode "$1"
VariableNode "$pred"
ImplicationLink
VariableNode "$1"
PredicateNode
And secondly "to'e" gives us the information that the wanted predicate is the antonym to the given one.
EquivalenceLink
EvaluationLink
VariableNode "$pred"
VariableNode "$args"
NotLink
EvaluationLink
PredicateNode "nelci"
VariableNode "$args"
The problem with this is that without any background knowledge about how different predicates relate to each other the system will not find an appropriate "$pred". Similarly the System will not easily find antonyms which already exist in the dictionary. This kind of information would have to be preloaded into the System or trained over time.