Been a while since an update... so, i'll blow the dust off this thread....
Grace's language handling has become fairly flexible.....
This thread can also serve as a good record of testing. Please excuse the same words in the examples.... too much work done on the guts of the engine... i will try and make 'fresh' examples involving completely different concepts
The following are a few snippets of a test "conversation" I had with Grace today...
<user says>
Henry was going to his closet
<GRACE says>
Yes, I understand. I have stored that information in 'temp-sqa-test'
<user says>
Did Henry go to his big closet
<GRACE says>
Yes, with conditions. The conditions are that IF:
you ignore [*BIG* closet]
Fact is a simple sentence, Grace sees that your question had 'big' modifying closet, but the closest fact to answer it, did not.
<user says>
Did Henry go to his closet
<GRACE says>
YES, that exactly matches my knowledge.
This time all modifiers in the question (modifiers of direct object 'closet', matched exactly with the fact -- there were no more, and no less modifiers between quesiton and fact, so she says it matches her knowledge exactly.
<user says>
Joe went to his closet
<GRACE says>
Yes, I understand. I have stored that information in 'temp-sqa-test'
<user says>
Did Joe go to my closet
<GRACE says>
Yes, with conditions. The conditions are that IF:
you mean [*HIS* closet]
you ignore [*MY* closet]
Note that Grace says in directory "temp-sqa-test" - this is because this is considered temporary (non-sense) statements, that just 'live' long enough to test her, statement by statement, and are typically cleared between test-case sessions.
Here Grace points out two differences in the way 'closet' is modified between your question, and the closest fact she found that could answer your question.
Again, we're still on facts that are simple sentences, and only being modified by *single-term* modifiers ('his', 'her', 'my' etc)
<user says>
Sam went to a dance
<GRACE says>
Yes, I understand. I have stored that information in 'temp-sqa-test'
<user says>
Did Sam go to a great dance
<GRACE says>
Yes, with conditions. The conditions are that IF:
you ignore [*GREAT* dance]
So here Sam *went* to a dance.... and she points out the small fact that there is an 'modifier imbalance'
<user says>
John was going to a fun party
<GRACE says>
Yes, I understand. I have stored that information in 'temp-sqa-test'
<user says>
did John go to a huge fun party
<GRACE says>
Yes, with conditions. The conditions are that IF:
you ignore [*HUGE* party]
So notice here, it is *WAS GOING* (and not *WENT* as above). Right now Grace assumes that if someone "was going to X", that they got there. Later, she will be able to be told that the person perhaps did not actually make it to their destination.
<user says>
Victor was going to a dance given by his company
<GRACE says>
Yes, I understand. I have stored that information in 'temp-sqa-test'
<user says>
Did Victor go to a dance
<GRACE says>
Yes, with conditions. The conditions are that IF:
you mean [*GIVEN BY HIS COMPANY* dance]
Ok, now, we are getting a bit "cute" -- Grace is able to know that, rather than 'dance' simply being modified by a *TERM MODIFIER*, it is being modified by the entire phrase
"given by his company" -- she points out that difference between question and closest fact that could answer the question.
<user says>
Did Victor go to a dance given by his big company
<GRACE says>
Yes, with conditions. The conditions are that IF:
you ignore [*BIG* company]
Ok, so this is interesting, Grace knows that 'dance', being modfied by "given by his company" in the fact, *almost* matches exactly with the way 'dance' is being modified in the question ('by his big company'), she pionts out the only difference is that
'company' (direct object of the modifier phrase "given by his company") has modifier in question of "big" , but the closest fact doesn't have 'company' modified by 'big'.
<user says>
Tim went to a party given by his employer
<GRACE says>
Yes, I understand. I have stored that information in 'temp-sqa-test'
<user says>
Did Tim go to that fun party given by his rich company
<GRACE says>
Yes, with conditions. The conditions are that IF:
you ignore [*RICH* company]
you ignore [*FUN* party]
you ignore [*THAT* party]
you mean [*A* party]
So the same basic thing happening here, except Tim *went* (as opposed to Victor, who was "was going")... Grace considers pretty much to be the same semantically.
At this point, I deleted all fact files in temporary directory...then continued...
* ROUND 2 Testing : Facts in the main clause of a complex sentence *******
(complex sentence is one in which there is a main-clause and a subordinate clause)
<user says>
Victor was going to his closet because they were going to a party
<GRACE says>
Yes, I understand. I have stored that information in 'temp-sqa-test'
<user says>
Did Victor go to his big closet
<GRACE says>
Yes, with conditions. The conditions are that IF:
you ignore [*BIG* closet]
Ok, so now, the facts are composed of complex sentences, where Grace will have to find the answer in either the main clause or perhaps the subordinate clause.
In this case, she answered the question from the complex sentence --- the answer was in the MAIN CLAUSE of the fact.
<user says>
Joe went to his closet because they were going to a big party
<GRACE says>
Yes, I understand. I have stored that information in 'temp-sqa-test'
<user says>
Did Joe go to your closet
<GRACE says>
Yes, with conditions. The conditions are that IF:
you mean [*HIS* closet]
you ignore [*YOUR* closet]
Same, but the main clause has the verb "went" rather than "was going".
<user says>
Sam was going to a dance given by his company because Christine was going to a dance
<GRACE says>
Yes, I understand. I have stored that information in 'temp-sqa-test'
<user says>
Did Sam go to the dance given by your company
<GRACE says>
Yes, with conditions. The conditions are that IF:
you ignore [*YOUR* company]
you mean [*HIS* company]
you ignore [*THE* dance]
you mean [*A* dance]
Ok , so here we see a good example of Grace finding the answer to the question, where the source fact is a complex sentence, and the answer is in the main clause
of the sentence, and the direct object 'dance' is being modified by a phrase 'given by his company', and the question also has 'dance' being modified, but by
a phrase that doesn't match exactly ('your' modifies 'company' in the question for example...and other differences which she points out).
<user says>
John went to a dance given by his great company because Christine was going to a party
<GRACE says>
Yes, I understand. I have stored that information in 'temp-sqa-test'
<user says>
Did John go to a dance given by my great company
<GRACE says>
Yes, with conditions. The conditions are that IF:
you ignore [*MY* company]
you mean [*HIS* company]
Same type of situation, just illustrating that 'went' versus 'was going'.
At this point I cleared the temporary directory...
now . .with facts in the subordinate clause...
<user says>
John was going to his closet because Christine was going to a dance given by her company
<GRACE says>
Yes, I understand. I have stored that information in 'temp-sqa-test'
<user says>
did Christine go to that big dance
<GRACE says>
Yes, with conditions. The conditions are that IF:
you ignore [*THAT* dance]
you ignore [*BIG* dance]
you mean [*GIVEN BY HER COMPANY* dance]
you mean [*A* dance]
so here Grace uses the information in a fact which is a complex sentence , but this time the data is in the subordinate clause. Pointing out the differences
, including entire phrase "given by her company" which is in the fact, but not in the question.
<user says>
Did Christine go to a dance given by her great company
<GRACE says>
Yes, with conditions. The conditions are that IF:
you ignore [*GREAT* company]
So, in this case, we made the question more specific, and included the modfying phrase "given by her great company", which ALMOST matches exactly Grace's knowledge, but she points out
the fact that 'great' is modifying 'company' in our question, but NOT in the closest fact she used to pull an answer from.
These are very low level examples. But I feel Grace's slow mastery of these things will allow her to build up more complicated interactions.
As I said, sorry for the same dull (and kind of weird examples lol)... my next posts will talk about other concepts... (does anybody have a specific subject perhaps ?
)