AI Zone Admin Forum Add your forum

NEWS: Chatbots.org survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

GRACE/CLUES
 
 
  [ # 46 ]

Notice:

All progress reports on CLUES engine will be made to the face book group known as “Turing Test Conversational Program”

 

 
  [ # 47 ]

How would Grace have scored on the Chatterbox Challenge Questions?

 

 
  [ # 48 ]

She would be speechless right now.

She’s an infant right now, still learning the information she needs in order to properly parse and choose correct parse trees.  Probably a year or so away from entering any contests.  This thing is very, very far away from stimulus—>response text in/text out system smile

 

 
  [ # 49 ]

btw, one reason (and main one) for posting updates to FB, is they have this wonderful new technology….. very very VERY advanced thing. . .called an edit feature smile

 

 
  [ # 50 ]

This thread is getting dusty… How’s Grace these days?

 

 
  [ # 51 ]

Hi CR

So first off, I have renamed Grace’s language engine from CLUES to GLI (for General Language Intelligence).

To ask how she’s doing, I’d say overall progress is incredible.   

~~~~~~~~~~~~~~  recent tests and functionalities ~~~~~~~~~~~~~~~~~~~

<user says> jack went to a fun dance

<Grace says> Yes, I understand.  I have stored that information in ‘temp-sqa-test’

<user says> did jack go to a dance

<Grace says> If you mean *fun*, then yes.

<user says> did jack go to a big fun dance

<Grace says> Yes, but I’m not sure if it was *big*

user says> victor was going to a big party

<Grace says> Yes, I understand.  I have stored that information in ‘temp-sqa-test’

<user says> did victor go to a party

<Grace says> If you mean *big*, then yes, I’m assuming so.

<user says> did victor go to a big fun party

<Grace says> Yes, I’m assuming so, but I’m not sure if it was *fun*

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

As you can see she has fairly good NLU.  Currently I am completing some very powerful and general algorithms that relate the semantic trees of QPTs (question parse trees) with FPTs (fact parse trees).

You had mentioned problems with parsing with conjunctions - well, let me tell you, it only gets worse when you are dealing with QPTs that can have conjunctions between subject nouns and FPTs that can do the same.  Where either the QPT or the FPT (or one or another or both) can have conjunctions.

This weekend’s work will deal with, for example, something like:

User—Bob was going to a party given by his club

Grace—OK

User—Did Bob go to a big party?

Grace—If you mean “big” and “given by his company”, then yes, I’m assuming so.

Right now she can do a “delta” and realize that “big” is modifying “club” in the QUESTION parse tree, but wasn’t in the FACT parse tree (hence she knows to say “If you mean “big”.....)

So this weekend I will work (*maybe* complete, or maybe not, may take a couple of weekends!!!), on that ability for her to basically realize *any* type of modifier (not simply single adjective modifiers like “big” in above , but the entire phrase “given by his club”). 

I have many very general algorithms that know how to drill down into specific structures like this.  Example:  “Henry went to the store”,  “Did Henry go to the store”, she relates the “went” in QPT and “go” in FPT.  The same algorithm that knows how to relate those Q/F PTs can also handle “Sam took out his new shirt”,  “Did Sam take out his new shirt?”  (relating forms of verb “took” in FPT and “take” in QPT). 

All of this while handling possibly many subject nouns, direct compliment nouns, with contractions between them.

So being able to answer “Did jack go to a dance” and pulling it from predicate # 1 of the subordinate clause in FPT “Sam went to his closet and took out his new suit because he was going to a dance given by his company”

The cool thing is that Grace knows that both:

“Sam went to his closet and took out his new suit because he was going to a dance given by his company”

and

“Sam went to his closet and took out his new suit because he was going to a dance”

and

“Sam took out his new suit because he was going to a dance”

can all answer the question “Did Sam go to a Dance”

but in first FPT above she will know to say “If you mean the one given by his company, yes, I assume so”.

(she says “assume so” because, after all, you only said “was going”—not necessarily made it to the event).

 

 

 
  [ # 52 ]

Wow, looks like Grace is really coming along! Thanks for the update. smile

How robust is your question parsing system? Are your algorithms designed to specifically handle “Did [sentence]” form, or can one also enquire about the when’s and where’s, etc. of an event? If not, will these all be programmed in by hand, or will there be some sort of generalized scheme? Also, you said that the “assume so” response is triggered by the tense of the verb (“was going”, in this case). Does Grace store any sort of temporal information about events in a formal structure or take it all from each parse tree?

So being able to answer “Did jack go to a dance” and pulling it from predicate # 1 of the subordinate clause in FPT “Sam went to his closet and took out his new suit because he was going to a dance given by his company”

The cool thing is that Grace knows that both:

[...]

can all answer the question “Did Sam go to a Dance”

Yeah, this just goes to show that proper phrase attribution is very important. ALEX turns each phrase into its own simple sentence. (ie, ” {{ Sam went to his closet. &AND; Sam took out his new suit. }} Sam goes to a dance. A dance is given by his company. “) Of course, from that example you can see that the verb handling is a little wonky at this point. Everything eventually gets converted to present tense for storage anyway. No temporal information preserved at this point.

You had mentioned problems with parsing with conjunctions - well, let me tell you, it only gets worse when you are dealing with QPTs that can have conjunctions between subject nouns and FPTs that can do the same.  Where either the QPT or the FPT (or one or another or both) can have conjunctions.

Depressing just thinking about all the work ahead there. :( I’m thinking my complex sentence handler will be of use here as well, breaking down questions into subsets of simple sentence questions, each of which can be checked for validity. We’ll see how it goes… At any rate, good luck to you. Keep me informed about how you tackle these issues.

 

 
  [ # 53 ]

How robust is your question parsing system? Are your algorithms designed to specifically handle “Did [sentence]” form, or can one also enquire about the when’s and where’s, etc. of an event?

Yes, Grace can also answer other question types.  I didn’t realize in the above I only gave “Did” examples.  She can also answer “Where did Jack go?”  or “What did Jack do?” and use the same facts as above to source data for a response.  The code is very general so there is a lot of reuse.  However, obvioiusly there has to be a small difference between ‘did’, and ‘where’ and ‘what’ questions - after all, Grace needs to know the difference.  Meaning she has to know that with a ‘Did’ she is verifying a proposition and should answer in a yes/no type response, whereas with ‘Where’ questions it is not a yes/no confirmation, but an actual place.

Questions are parsing exactly like facts.

Also, you said that the “assume so” response is triggered by the tense of the verb (“was going”, in this case). Does Grace store any sort of temporal information about events in a formal structure or take it all from each parse tree?

No, she only knows that it is a “good idea” to be impartial and say “assume so”  because “was going” literally does mean that you were on your way, it doesn’t mean “jack got to a party”, or “Jack arrived at a party”.

This is not the focus now though.  I really don’t care how she constructs the exact wording of the reponse.  The main focus is correlation of QPT and FPTs.    After that, the next stage would be NL inference.  Where she may have to use FPT-A and FPT-B, and NL rule C, to deduce FPT-C, which can be then used to answer user input QPT.

Yes, I will keep you posted.  I *do* have a tweeter feed also.

 

 
  [ # 54 ]

How does Grace determine that a particular word indicates a place (or a time, etc.)? Clues from preposition use or a database or…?

I’m not so active with twitter or blogging, etc. Who’s the audience you’re trying to reach with your twitter account anyway?

 

 
  [ # 55 ]
C R Hunt - May 11, 2011:

How does Grace determine that a particular word indicates a place (or a time, etc.)? Clues from preposition use or a database or…?

Both.  The base lexicon contains that data and also being the object of specific prepositions provides further confirmation.

C R Hunt - May 11, 2011:

I’m not so active with twitter or blogging, etc. Who’s the audience you’re trying to reach with your twitter account anyway?

Actually, to be honest, it is more of experimentation smile

 

 
  [ # 56 ]

root@r2d2:/gli# ./gli

GLI - General Language Intelligence

(running in mode: sqa-test)

<user says> did jack go to the dance

<Grace says> Sorry, I don’t have an answer for you.

<user says> jack was going to a party and a dance given by his company

<Grace says> Yes, I understand.  I have stored that information in ‘temp-sqa-test’

<user says> did jack go to the dance

<Grace says> If you mean *GIVEN BY HIS COMPANY* dance, *A* dance then yes, (but I’m not sure if it was *THE* dance).


==============================

Here we see Grace handly conjunctions easily.    We stated that Jack was going to both a “party” and “a dance” (so two direct objects of preposition “to”).

She is then able to do what I call ‘flexxy matching” (not ‘fuzzy’ since that only deals with simple pattern matching technology, FLEXXY is fuzzy but with true NLU smile ).

She compares the subtrees of question parse tree and fact parse tree, and finds the difference, and uses that information to build a response.

 

 
  [ # 57 ]

In the above, Grace’s GLI knows that ‘dance’ is being modified *in the FACT parse tree* by the phrase “given by his company”, but *NOT* in the question parse tree, thus she knows to say “IF you mean…..”

 

 
  [ # 58 ]

How does Grace choose between the conjunction splitting “a party” and “a dance given by the company” vs. “a party given by the company” and “a dance given by the company”? For instance, if you asked “Did Jack go to a party given by the company?” would Grace have understood that in the previous sentence, “given by the company” could modify “party”?

 

 
  [ # 59 ]

She knows that like “dance”, a “party” also has the property of being “a social event”.  And since any social event can be ‘sponsored’ , ‘arranged’ , ‘paid for’ , etc, by any “group of people” (another piece of knowledge that Grace associated with “company” in the phrase “given by his company”, she will know she can associate the phrase to either.

Right now she doesn’t answer the question you pointed out “Did Jack go to a party given by the company?

not yet, because I still have to show her how to compare subtrees in QPT to subtrees in FPT (the sub tree of course being the phrase “given by his company” modifying ‘dance’).

Right now, she sees that that phrase doesn’t appear at all in “Did Jack go to a dance?” (no phrase modifying ‘dance’), just adjective ‘a’.

The framework is all setup, just need to create a couple more generic routines and she will know how to do these “subtree comparisons”. 

Things like:

      Fact:  Jack went to his closet and took out his new suit because he was going to a dance given by his employer

      Question : Did Jack go to the dance put on by his company?

Here, the subtree “given by his employer” must be semantically compared to “put on by his company”. 

Grace can handle synonyms not just at the TERM level, but at the entire subtree level (or ‘phrase level’ in this case).

Yes, she handles “multiple word words” (“put on”) easily also.

I have her convert to UPPERCASE when she wants to place emphasis on “deficits”.  That is, a deficit is , for example, when an extra adjective is in the question, that didn’t exist in the supporting fact, or vice versa.

So next weekend I’ll probably post the I/O of her handing that.

 

 
  [ # 60 ]

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 smile

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 ? smile )

 

 

 

 

‹ First  < 2 3 4 5 6 >  Last ›
4 of 7
 
  login or register to react