learning plurals in bko

Now, between general rules, stored rules, the self ket, and merge-labels() we can now give an example of learning plurals.
-- before we have defined anything:
sa: plural |word: cat>
|>
-- recall in English |> means "I don't know anything about that".

-- define a general rule:
sa: plural |word: *> #=> merge-labels(|_self> + |s>)

-- test it:
sa: plural |word: cat>
|word: cats>

sa: plural |word: dog>
|word: dogs>

-- ok. But what about the irregular forms?
sa: plural |word: mouse>
|word: mouses>

sa: plural |word: foot>
|word: foots>

-- ok. we have a general rule, now define specific rules:
-- learn mouse specific rule:
sa: plural |word: mouse> => |word: mice>

-- learn foot specific rule:
sa: plural |word: foot> => |word: feet>

-- now, try again:
sa: plural |word: mouse>
|word: mice>

sa: plural |word: foot>
|word: feet>
And of course, we can define plurals for other words too.
eg, I suppose:
sa: plural |word: radius> => |word: radii>
Now again. Knowledge representation comes with the idea that there are multiple representations for the same knowledge.
Here we give the matrix representation of the above:
sa: matrix[plural]
[ word: *s    ] = [  1.00  0     0     0     ] [ word: *      ]
[ word: feet  ]   [  0     1.00  0     0     ] [ word: foot   ]
[ word: mice  ]   [  0     0     1.00  0     ] [ word: mouse  ]
[ word: radii ]   [  0     0     0     1.00  ] [ word: radius ]
I guess that is it for now.


Home
previous: the merge labels function
next: introducing pick elt

updated: 19/12/2016
by Garry Morrison
email: garry -at- semantic-db.org