Title: Semantic Network Programming
1Semantic Network Programming
- version 2.2, 12th of may 2008
- Pierre Lévy, CRC, FRSC
- Dir. Collective Intelligence Lab.University of
Ottawa
2SEMANTIC SPACE
- References- www.ieml.org/starparser for the
IEML syntax and parser - www.ieml.org/spip.php?ru
brique3langen for Biezunski and Newcombs IEML
binary
3IEML REMARKABLE PRIMITIVE CATEGORIES
I Complete set. Information.
Null set.No semantics. Unfit for tagging.
Computation tool only
000000
111111
FFullness
EEmptiness.
100000
011111
OBipolarity. Process. Verb.
MTernarity. Representation. Noun.
011000
000111
SSign. Signifier.
BBeing.Interpreter.
TThing. Referent.
UVirtualization
AActualization
010000
001000
000100
000010
000001
4IEML Layers
source
translator
destination
Phr. IEML
Phr. IEML
Phr. IEML
Semes 6162Semes categories 21458
6
I_
Idea
Idea
Idea
Phrases 654Phrases categories 2486
5
I,
Relation
Relation
Relation
Ideas 618Ideas categories 2162
4
I
Event
Event
Event
Relations 69Relations categories 254
3
I-
Primitive
Primitive
Primitive
Events 63Events categories 218
2
I.
1
Primitives 6 E U A S B
T Primitive categories 26 64
I
5IEML Binary Representation
Definition of a semantic character Six digits
unsigned binary integer. Representation A
semantic Character is the binary representation
of a primitive category (a set of IEML
primitives). Each digit represents the
non-occurrence (0) or the occurence (1) of one of
the six IEML primitives. There are 64 (26)
different characters. Null character If all six
bits of a character 0, the character is
null. The null character does not represent the
occurence of any primitive, does not give any
information and has no representation in Star. It
is a computational tool only. An emptiness
category is made of emptiness (100000)
characters, a null category is made of null
(000000) characters.
Semantic Character
6Logical operations on categories
- Thank to its generative structure, any IEML
category is composed (recursively) of IEML
primitive categories. - Therefore, any IEML category can be represented
by an array of semantic characters - 1 (3layer n-1) for layer 1 (primitive
categories), - 3 (3layer n-1) for layer 2 (event categories),
- 9 (3layer n-1) for layer 3 (relation categories)
- 27 (3layer n-1) for layer 4 (idea categories)
- 81 (3layer n-1) for layer 5 (phrase categories)
- 243 (3layer n-1) for layer 6 (seme category)
- AND (intersection)
- 00 0
- 01 0
- 11 1
- OR (union)
- 00 0
- 01 1
- 11 1
- XOR (symmetric difference)
- 00 0
- 01 1
- 11 0
- Logical operations on IEML categories can be
performed as operations on their characters. - Example 010101
- 100100
- ----------
- 110101
7Semantic Space
Definition of a semantic node Sextuple set of 1
to 6 IEML categories One category by
dimension. A semantic node represents the IEML
coordinate of a position in semantic
space Functional role of a semantic
node Variable (operand or result) of semantic
transformations. Semantic space Definition set
of semantic nodes. The semantic space has 6
dimensions (one by IEML layer) The semantic
space has 22184 nodes.
Semantic Node (364 semantic characters)
semantic space dimensions categories Binary
representation dimension 1 primitive category 1
semantic character array dimension 2 event
category 3 semantic characters array dimension
3 relation category 9 semantic characters
array dimension 4 idea category 27 semantic
characters array dimension 5 phrase category 81
semantic characters array dimension 6 seme
category 243 semantic characters array
8PRIMITIVE AND COMPOSED LOGICAL TRANSFORMATIONS
- ON SEMANTIC NODES (COORDINATES OF POSITIONS IN
SEMANTIC SPACE)
9Primitive Logical Transformation (PLT)
- Definition of a PLT
- Consists of a logical operation on a semantic
character located in a semantic node. - Properties of a primitive logical transformation
- Has a semantic node as operand and a semantic
node as result - Preserves 363 invariant characters (on 364 in a
node) between the operand and the result. - A primitive logical function (PL) is a triple
- Logical Operator (OR, AND, XOR, NOT) one among
4 - Focus (character address in the node operand)
one among 364 - category dimension
- category role location in the array of
characters (or generative tree) of the category - Parameter (second operand for OR, AND, XOR
logical operations) one among 64 characters - There is no parameter needed for NON (bit
inversion)
operand node
result node
Example of primitive logical transformation FUNCTI
ONOperator ORFocus dimension 1, unique
characterParameter 000111
- 011000 -... -... -... -... -...
- 011111 -... -... -... -... -...
000111on dimension 1
10Composed Logical Transformations (CLT)
- A composed logical transformation is a succession
of primitive logical transformations taking in
input the result of the previous one. - For example...
- compositions of Tfipj and Tfipk are necessary
to perform a substraction on an focused
character of a semantic node - compositions of PLTs having same logical
operation can perform logical operations on
categories or on nodes, since categories and
nodes are arrays of characters. - a substitution (replace character on focus i by
character j) is the composition of Tfi000000 and
Tfipj - compositions of character substitutions can
perform role players substitutions, or dimensions
substitutions. - composition of several role player substitutions
can perform a role inversion (like inverse
role and destination of a flow category) - composition of dimensions substitutions are
necessary to perform a dimension extraction
(replace all dimensions by null categories,
except one chosen dimension) as on the example
next slide. - Compositions of PLT (CLT) are still logical
transformations composable transformations on
semantic nodes. - Any composed logical transformation can be broken
down to primitive logical transformations.
11Example of dimension extraction by composition
of replace dimension transformations
000000 FUS. 000000... 000000... 000000... 000
000...
I FUS. M!!- S!!! O!!!!, F!!!!!
_
000000 FUS. M!!.- S!!! O!!!!, F!!!
!!_
000000 FUS. 000000... S!!! O!!!!, F!!
!!!_
000000 FUS. 000000... 000000... O!!!!, F!
!!!!_
000000 FUS. 000000... 000000... 000000... F!
!!!!_
replace dim.1 by null category
replace dim.3 by null category
replace dim.4 by null category
replace dim.5 by null category
replace dim.6 by null category
dimension extraction semantic transformation
performing composed replace dimension
transformations
000000 FUS. 000000... 000000... 000000... 000
000...
I FUS. M!!- S!!! O!!!!, F!!!!!
_
Extract dimension 2 means replace all
dimensions by corresponding null categories,
except dimension 2
12SEMANTIC OPERATIONS AND SEMANTIC FUNCTIONS
- Complex composed logical operations on semantic
nodes
13Semantic Operation
- A semantic operation is a set of composed logical
transformations involving - the same operand
node - the same operator,- but a variety of
focuses or (exclusive or) a variety of
parameters.- one or several results. - A semantic operation produces a semantic
differentiation a set of transformations
having... - same operand - similar CL
invariance of operator and focus (or parameter)-
one or several results - The rule of a semantic operation is called a
semantic function (S)
SO Example 1
000000 FUS. 000000... 000000... 000000... 000
000...
I 000000... 000000... 000000... 000000... 0000
00...
000000 000000... M!!- 000000... 000000... 00000
0...
1
2
3
I FUS. M!!- S!!! O!!!!, F!!!!!
_
4
SOD
000000 000000... 000000... S!!! 000000... 0000
00...
The example has focus variation on the composed
transformation dimension extraction. The
operation of the example is an actual performance
of the semantic function sort categories by
their upper layer, or in short sort by
dimension
operand
5
6
000000 000000... 000000... 000000... O!!!!, 000
000...
000000 000000... 000000... 000000... 000000... F!
!!!!_
Semantic function example 1 Operator SOD (sort
by dimension) Focus dimensions 1, 2, 3, 4, 5,
6 Parameter none
14Example of logical analysis SO
- The previous example had focus variation, this
example has parameter variation. - In a logical analysis (LAN) SO, the focused
character is partitioned in such a way that -
the intersection of resulting characters 000000
- the union of resulting characters the
focused character. - The parameter of a LAN is made of the set of the
resulting characters. - If the focused character is different from the
union of the parameter set, the operation is
impossible
Semantic Function example 2 Operator LAN
(logical analysis) Focus dimension 2, role
So Parameter 011000, 000111
SO Example 2
000000 OUS. 000000... 000000... 000000... 00
0000...
parameter i000111
000000 FUS. 000000... 000000... 000000... 000
000...
LAN
result b
000000 MUS. 000000... 000000... 000000... 00
0000...
parameter j011000
operand
result a
15Semantic Operators
- Dimension operator
- DSO sort by dimension (multiple dimension
extraction) - Generative operators
- COM composition from role players
- DEC decomposition into role players
- Role operator
- ROI role inversion
- Substitution operator
- SUB replace character, role player or dimension
- Logical operators
- LAN logical analysis
- LSY logical synthesis
- LSO logical sorting
- Gestalt operator
- GEX Extract gestalt class categories
16Sort by Dimension Functions
- Operator DSO (sort by dimension)
- Focus list of dimensions (variation)
- Parameter none
- See example in slide Semantic Tree Operation
(STO)
17Composition Functions
- Operator COM (composition from role players)
- Focus (invariant) one dimension except
dimension 6 - Parameter (variation) list of role players pairs
result
000000 000000... FUS.BU.- 000000... 000000
... 000000...
- Parameter pairs should be of same layer than
focused category - The composed categories replace focus dimension
1 in results - Focus dimension is null in results
result
operand
000000 000000... FUS. BA.- 000000... 00000
0... 000000...
000000 FUS. 000000... 000000... 000000... 000
000...
Example of composition function Operator COM
(composition) Focus dimension 2 Parameter De
(BU.) Tr (E.) De (BA.) Tr (E.) De
(BS.) Tr (E.)
result
000000 000000... FUS. BS.- 000000... 00000
0... 000000...
18Decomposition Functions
- Operator DEC (decomposition into role players)
- Focus (invariant) one dimension except
dimension 1 - Parameter (variation) list of 1, 2 or 3 roles
F 000000... 000000... 000000... 000000... 00000
0...
- The decomposed role players replace focus
dimension - 1 in results - Focus dimension is null in results
result
operand
U 000000... 000000... 000000... 000000... 0000
00...
000000 FUS. 000000... 000000... 000000... 000
000...
Example of composition function Operator DEC
(decomposition) Focus dimension 2 Parameter
So, De, Tr
result
S 000000... 000000... 000000... 000000... 00000
0...
result
19Role Inversion Functions
- Operation ROI (role inversion)
- Focus (invariant) dimension (except 1), role
player layer, role of the transformed category - Parameter (variation) 1, 2 or 3 of the possible
inversions (So, De), (De, Tr), (So De)
000000 000000... BA.FUS.- 000000... 00000
0... 000000...
The role of the transformed category is precised
in the focus only if all the role players of the
focused layer are not concerned by the
transformation.
operand
000000 000000... FUS. BA.- 000000... 00000
0... 000000...
result
Example of Role inversion function Operator ROI
(decomposition) Focus dimension 3, layer
2 Parameter (So, De), (De, Tr)
000000 000000... FUS.E.BA.- 000000... 000
000... 000000...
result
20Substitution Functions
- Operator SUB
- Focus (invariant) dimension, role of the
transformed category - Parameter (variation) set of categories of same
layer than the focus
result
... ... b.e.- ... ... ...
result
... ... b.u.- ... ... ...
If the focused category is not an element of the
parameter set, the operation is impossible
result
... ... b.o.- ... ... ...
... ... b.a.- ... ... ...
result
Example of Substitution function Operator SUB
(substitution) Focus dimension 3, De Parameter
y. o. e. u. a. i.
... ... b.i.- ... ... ...
result
... ... b.y.- ... ... ...
operand
21Analysis Functions
- Operator LAN (logical analysis)
- Focus (invariant) dimension, role of the
transformed character. The focus can only be one
character. - Parameter (variation) set of characters such
as... - the intersection of resulting characters
000000 - the union of resulting characters
the focused character
If the focused character is different from the
union of the parameter set, the operation is
impossible
See example in Example of logical analysis
slide
22Synthesis Functions
- Operator LSY (logical synthesis)
- Focus (invariant) dimension, role of the
transformed character. The focus can only be one
character. - Parameter (variation) set of characters. Each
character of the set includes the (focused)
transformed character
result
000000 MUS. 000000... 000000... 000000... 00
0000...
If the focused character is not included in every
element of the parameter set, the operation is
impossible.
000111
result
000000 FUS. 000000... 000000... 000000... 00
0000...
operand
000000 BUS. 000000... 000000... 000000... 000
000...
Example of synthesis function Operator LSY
(logical synthesis) Focus dimension 2, role
So Parameter 000111, 011111, 111111
011111
LSY
result
000000 IUS. 000000... 000000... 000000... 00
0000...
111111
23Logical Sorting Functions
- Operator LSO (logical sorting)
- Focus (invariant) dimension, role of the
transformed character. The focus can only be one
character. - Parameter (variation) set of characters such as
their intersection 000000.
result
000000 SUS. 000000... 000000... 000000... 00
0000...
The transformed characters of the result nodes
display only the members of the parameter set
that are included in the focused character
000100
result
000000 BUS. 000000... 000000... 000000... 00
0000...
operand
000000 MUS. 000000... 000000... 000000... 000
000...
Example of logical sorting function Operator
LSO (logical sorting) Focus dimension 2, role
So Parameter 010000, 001000, 000100,000010,
000001
000010
LSO
result
000000 TUS. 000000... 000000... 000000... 00
0000...
000001
24Gestalt Classes
- General definition A gestalt class of flow
categories is defined in terms of logical
relations between properties of categories role
players. - Population and Rationality classes are examples
of gestalt classes. - Semantic functions can manipulate gestalt classes
using the operator Extract Gestalt Class (GEX).
- The following slides give two interconnected
examples of partition of complete categories into
gestalt classes.
25Population Gestalt Classes
- V Set of void categories
- All their characters are single empty 100000.
- J Set of mixed categories
- All their characters have Ebit 1
- P Set of populated categories
- All categories that are neither void nor mixed.
At least one of their characters have Ebit 0 - All flow categories of layer n belong to V, or to
J, or to P (exclususive or).
26Rationality Gestalt Classes
- Z Set of rational categories (subset of
populated) - the source player is populated
- AND
- IF the destination player is void, THEN the
translator player is void - AND
- IF the translator player is populated, THEN the
destination player is populated - Y Set of irrational categories (subset of
populated) - the destination player is populated, AND the
source player is void - OR
- the translation player is populated, AND the
destination player is void - OR
- the translation player is populated AND the
source player is void - X Set of ambiguous categories (populated or
mixed) - neither irrational, nor rational, nor void
- All categories of layer n belong to Z, or to Y,
or to X, or to V (exclusive or)
27Gestalt Class Extraction Function
- Operator GSO (gestalt sorting)
- Focus (invariant) dimension, role of the
transformed category. The focus can only be one
flow category. - Parameter (variation) one gestalt class of flow
categories, corresponding to one or several
categories
A gestalt class of flow category is defined in
terms of logical relations between role players
of categories. A gestalt class extraction needs a
prior formal definition of a gestalt class. The
GEX operator extracts, from the focused category,
the distinct categories corresponding to the
parameter definition. Note that the union of the
three results of the example does not give a
rational (Z) category but an ambiguous one (X).
result
000000 FEE. 000000... 000000... 000000... 00
0000...
result
000000 FFE. 000000... 000000... 000000... 00
0000...
operand
Example of logical sorting function Operator
GEX (gestalt class extraction) Focus dimension
2 Parameter rational gestalt class (Z)
000000 III. 000000... 000000... 000000... 000
000...
result
000000 FFF. 000000... 000000... 000000... 00
0000...
28SEMANTIC PROGRAMINGSEMANTIC NETWORKING
29Semantic Trees
Semantic tree algorithm Pipeline or flow chart
(sequences, loops, forks, conditional rules) of
semantic functions growing trees of semantic
nodes (semantic trees). Functions of generation
n take as operands the results of functions of
generation n-1. A semantic tree can have as many
generations as needed. Different functions can
operate on the same generation of nodes (as
represented on the diagram for k l)
root inputgen.0
i
gen.1
j
j
j
gen.2
k
l
k
l
k
l
k
l
k
l
k
l
Semantic treeTree of semantic nodes generated by
a semantic node input (the root of the tree) and
a semantic tree algorithm. Generational
OrderOnly the generational order is determined
by the algorithm. A generation is logically
instantaneous.The order of operations of same
generation is optional (renditional), and can be
determined by sorting functions.
leavesoutputgen.3
Algorithm example i j k l i operates
on the rootj operates on the first generation
(resulting of i) k operates on the second
generation (resulting of j) l operates also on
the second generation (resulting of j)
30Semantic programs
- Flow chart of logical functions and semantic
functions (on semantic nodes). - Semantic programs can contain complex loops
involving tests, conditional instructions, and
incremental conditional transformations (on
parameters and focuses) of logical and semantic
functions. - Semantic programs produce semantic networks
31Semantic Networks
- Semantic Link Construction
- Triple
- operand (semantic node)
- result (semantic node)
- transformation (operated by a function)
Semantic Link (functional construction)
operand
result
- Semantic Network
- Set of semantic links.
- The links of a semantic network can have been
generated by different types of functions. - In a semantic network, a node can be an operand
and a result of several transformations.
Semantic Link (use)
Semantic Link Traversal Triple (origin node,
goal node, transformation traversal). The
traversal can be in the functional reverse
direction. The traversal of different
transformations between the same two nodes makes
different traversals.
origin
traversal
goal
- Semantic Path
- definition one or more contiguous links
traversals in a semantic network.