Dave, the tense wasn’t a problem… well, after I spent enough time coding the morphology module. You enter ‘ran’, or ‘run’, or ‘running’ and it gives the “lemme” of the verb, which is common to all verb forms.
example output….
]ran
—-Simple Store Properties (sprops) of ‘ran’—-
tense = past
principal-part = past-tense
pos = verb
verb-lemme = run
]running
—-Simple Store Properties (sprops) of ‘running’—-
tense = present
principal-part = present-participle
pos = verb
verb-lemme = run
]run
—-Simple Store Properties (sprops) of ‘run’—-
human-body-movement = true
tense = past
tense = present
principal-part = past-participle
principal-part = present-tense
principal-part = past-tense
pos = verb
verb-lemme = run
So CLUES handles that quite easily for along time now. I won’t get into what “Simple Store Properties’ are… i’ll have to put together an entire document on that (there is 3 other types, Complex-Mill, and Simple-Mill—basically any that doesn’t come right from the text files, but instead is “computed” is a “Mill”—in honour of Charles Babbage).. and data that comes right from text files, instead of CPU processing, is “Store”—again a term from Charls Babbages dream of the ‘Analytical Engine’
@Chuck - Yes, it knows to interpret ‘missed’ as relating to ‘not being on time’ because of the sentence before it involves being ‘late’... the rule that combines the two types of statements together makes that possible.
So, this morning I am working on my next challenge.. if you guys like that one, you will love this one.
The goal is to determine essential information from a predicate. We’ll use the following example predicates….
1. picked up a wallet
2. picked up no wallet
3. picked up a wallet with money in it
4. picked up an empty wallet
5. did not pick up a wallet
6. didn’t pick up a wallet
7. did not pick up no wallet (bad english i know, but have to deal with)
8. did not pick up any wallet
9. picked up 2 wallets
10. did not pick up no 2 wallets (bad enlighs, i know, but have to deal with)
11. picked up a wallet full of 20’s
12. picked up a wallet with no money in it
13. did not pick up a wallet with no money in it
14. picked up a wallet which had 50 dollars in it
15. picked up a wallet that had only 2 cents in it.
# 7 above shows how illogical the human brain is—to many people, they consider that to mean we did NOT pick up a wallet.. very bad English with a double negative, but I hear enough people use that construct.
My goal right now is to have code look at each of those and determine…
is the basic idea here about ‘obtaining’ an object X, where that object X is something money is often kept in (example “wallet”).. AND extract the following information…
Did the user actually specify that there was money in the wallet? If so, how much?
and actually did the user say a wallet was found or not. How many, if any, wallets were found?
I need this information in order to know how to respond.
Example, I do not want to respond with “Interesting… was there any money in it?”
examples 3 and 11 already state there was money in it.
how much money? in the last example, I don’t want to say “Wow!! Lucky you!! ” LOL. .. only 2 cents
Now stage 2 (grammar parse tree generation) is doing its job very well .. and I have nicely structured data to work with….
** parse tree for “picked up a wallet”...
pos = predicate
dcomp.noun1.adjective1.val = a
dcomp.noun1.num-adjective = 1
dcomp.noun1.val = wallet
dcomp.num-noun = 1
num-verb = 1
parse-tree-id = 2
verb1.val = picked up
So that is easy for stage 3 code (concept finder) to work with . .it is just the number of different parse trees that can ‘boil down’ to the same meaning!! A **LOT** of work ahead of me !!
@ Jan - frame that links the two? Yes, already done…but just look at the number of possibilities their are within just the predicate !!! yikes!!!!!!!! Yes.. .giving up has crossed my mind (naturally), but NO. .. on I go!!
Why am I first generating grammar parse trees? Because, keep in mind, you may also have something like ...
“found a good book, some candy, no wallets, but a tv” (1)
“found a good book, some candy, a few wallets, and a tv” (2)
I want to know that in (1) I didn’t find a wallet, and (2) I did. And let me tell you, it is easier to ‘query’ a more structured thing like the parse tree than the raw input line.