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