Correspondences between the primitives of the Natural Semantic Metalanguage
and concepts in the ontology or languages of WebKB-2


From the viewpoint of the knowledge representation task and languages, the primitives of the Natural Semantic Metalanguage (NSM) may be categorized as follow.


Table of contents

  1. Language operators
  2. Syntactic shortcuts
  3. General-purpose content-related categories



1.  Language operators

In the following, the single quoted words refer to general categorizations from NSM, and the words in uppercases (apart from "FE" and "FCG") refer to NSM primitives.

The 'quantifiers' ONE and SOME represent the existential quantifier (some, a or an in FCG and FE), and ALL the universal quantifier (any, every, or all in FCG and FE). The terms of 'existence and possession' THERE IS and HAVE may also be seen as existential quantifiers for an individual or a relation (as in the FE statement "THERE IS is a car that HAS for part 6 wheels" which is equivalent to the FCG statement [some car, part: 6 wheel]). However, in Section 3 another interpretation of HAVE is represented by nsm#have and stated to be the inverse relation of pm#owner.

The 'quantifiers' ONE and TWO are identical to the extended quantifiers 1 and 2 of FCG and FE. The 'quantifiers' MANY and MUCH seem identical to the extended quantifiers many (or several) and most of FCG and FE (in the graph matching procedures of WebKB-2, many is assumed to be a shortcut for at least 3 and most a shortcut for at least 60%).

The 'evaluators' GOOD and BAD and the 'descriptors' SMALL and BIG seem identical to the qualifiers good, bad, small and big (or important and great) of FCG and FE. The 'descriptor' LONG can be represented in FCG or FE via the expression an important #length. The 'intensifier' VERY will be added to FCG and FE as a modifier that must accompany another modifier.

The 'logical concepts' NOT, BECAUSE and IF seem identical to the logic operators not (or ~) and <= of KIF, FCG and FE, and the if of KIF. In Section 3, a more general interpretation of BECAUSE is represented by nsm#because and equated to pm#cause.

The 'logical concepts' MAYBE and CAN seem identical to the operators may and can (or able to) of FCG and FE.

The 'determiners' THE SAME and OTHER seem identical to = (or pm#equal) and != (or pm#different) in FCG and FE.

The 'speech' term TRUE seem identical to kif#true. One interpretation of the 'speech' term WORD can be represented in FE and FCG by using quotes around a string of characters without space in it. Another interpretation is given in Section 3.

To permit the representations of natural language sentences, FE and FCG have other language operators which do not seem to have been explicited in NSM: fuzzy numerical quantifiers (e.g. dozens and billions), percentages (e.g. at least 68%), intervals (e.g. between 2 and 5), element order (e.g. 3rd), set operators (e.g. sequence of, alternatives, and {(...)} for closed collections), lambda-abstractions and definitions (by necessary and/or sufficient conditions). Because these language operators are not in NSM, and given the theory behind NSM, I assume that 1) they "can be defined using simpler terms in NSM", and 2) they are not "primitives that have been found to exist (or presumed to exist, subject to verification) in all natural languages".



2.  Syntactic shortcuts

Indexicals (e.g. HERE and NOW, the 'substantives' I and YOU, and the 'determiner' THIS) can be seen as variables. They can only be used in knowledge representation if they have been previously initialised. FE and FCG permit variables with or without prefixing them by '$' to extract their values (without the prefix '$', the parsing is slower).

The terms WHEN and WHERE are shortcuts for querying or refering to a particular temporal individual and spatial individual. FCG and FE do not support such shortcuts but offer more general ways to query or refer to individual situations, entities or statements.



3.  General-purpose content-related categories

Following are representations (in the FT notation) of the remaining NSM primitives. The string "nsm#" is used for prefixing categories from the NSM. The representations are displayed in the courier font. They are enclosed within the XHTML marks <KR> and </KR> to permit WebKB-2 to distinguish them from regular text. They have already been parsed/loaded by WebKB-2: click here to list all the NSM types and begin browsing from them.

The following headers are classifications from NSM.

Substantives

nsm#thing__something = pm#thing (pm); //"(pm)" means that I created this link; the 
                            //link creator must be explicited when it is different
                            //from the creator of the origin category (here, nsm).
nsm#body    = #body   (pm); //direct supertype: #natural_object 
nsm#someone = #person (pm); //direct supertype: #human
nsm#people  = #people (pm); //direct supertype: #group

Mental predicates

nsm#think = #thinking (pm); //direct supertype: #higher_cognitive_process
nsm#know  = #knowing  (pm); //direct supertype: #higher_cognitive_process
nsm#want  = #desire   (pm); //direct supertype: #feeling
nsm#feel  = #feeling  (pm); //direct supertype: pm#state

nsm#see  = #visual_perception__beholding__seeing (pm); //direct supertype: #perception
nsm#hear < #sensing (pm),
         > #listening (pm);

Speech

nsm#say  = #verbal_account (pm); //direct supertype: #making_known
nsm#word = #word (pm);           //direct supertype: #language_unit

Actions, events and movement

nsm#do = pm#process  (pm); //direct supertype: pm#situation
nsm#happen = #event  (pm); //direct supertype: pm#situation
nsm#move = #movement (pm); //direct supertype: #happening (a subtype of #event)

Life and death

nsm#live = #life  (pm); //direct supertype: #beingness (a subtype of #state)
nsm#die  = #death (pm); //direct supertype: #beingness

Time

nsm#time = pm#time_measure (pm); //or, if it is a relation:  nsm#time = pm#time;
//if, as above, it is not a relation, A LONG TIME, A SHORT TIME and FOR SOME TIME
//can be expressed via nsm#time, an existential quantifier and a modifier;
//FOR SOME TIME also requires the use of a relation with type pm#duration

nsm#moment = #time_period (pm);  //direct supertype: pm#time_measure

nsm#before (?,?) < pm#binary_relation (pm),
                 > pm#before (pm)  pm#before_time (pm)  pm#later_situation (pm);

nsm#after (?,?) < pm#binary_relation (pm),
                > pm#after (pm)  pm#until_time (pm)  pm#before_situation (pm);

Space

nsm#place = pm#spatial_object (pm); //or, if it is a relation:  nsm#place = pm#location;

nsm#side  = #side (pm);

nsm#above  = pm#above (pm);
nsm#below  = pm#below (pm);
nsm#near   = pm#near (pm);
nsm#far    = pm#far_from (pm);
nsm#inside = pm#interior (pm);
nsm#touching = pm#touching (pm);

Taxonomy, Partonomy, Augmentor, Similarity and Possession

nsm#kind_of = pm#generalizing_type (pm); //direct subtype: pm#supertype pm#kind
nsm#part_of = pm#part_of (pm);
nsm#more    = pm#superior_to (pm);
nsm#like    = pm#similar (pm);
nsm#have    = pm#owner_of (pm); //inverse of pm#owner



Philippe A. MARTIN    Back to the list of executable example knowledge files.