watson-intu / self

Intu is a Cognitive Embodiment Middleware for AI on the edge.
Other
28 stars 27 forks source link

RequestIntent interrupts conversation #14

Closed MartinConlon closed 6 years ago

MartinConlon commented 7 years ago

Hi,

Using the latest develop branch the "Conversation" functionality is different than RC4 and I need some guidance.

Self will dialog with me until I give it something that is recognized as a #request intent, so, for example, using the Intu-Dialog-Starter Kit conversation, I can do the usual "hello", "how are you", "what's your name" but when I ask it "can you stand" it replies with the boilerplate from etc/bootstrap.json, which is ultimately stored in the graph in knowledge.db:

  {
     "Type_" : "RequestAgent",
     "m_EntityFilter" : [ "verb", "noun", "directionPerpendicular", "directionParallel", "adjective" ],
     "m_RequestFailedText" : [ "I do not know how to %s." ],
     "m_RequestFiles" : [ "shared/self_requests.json" ]
  }

I see in the Dashboard (by clicking the "Advanced" link on the top right of its reply) that this is recognized as a "RequestIntent" rather than (for example) "QuestionIntent". The sentence is parsed properly and I see entities tagged in the JSON:

"entities": [
    {
      "entity": "Possesive",
      "value": "you"
    },
    {
      "entity": "Possessive",
      "value": "you"
    },
    {
      "entity": "verb",
      "value": "stand"
    }
  ]

This is how the Watson Conversation "Try it out" panel parses the text as well, however, if I add a Dialog node for the "#request" intent to respond with (say) "I see you've made a request" Watson's Conversation test panel uses that response, but Self does not.

In other words, I expect Self to use the same Dialog nodes as the Watson Conversation "Try it out" panel, but the RequestAgent seems to be eating the request (and also doesn't know how to act on it).

Is this expected behaviour?

Thank you,

Martin

rlyle commented 7 years ago

Hi Martin,

If you use the dashboard to edit the “TextClassifier”, you will find the table that converts intents from conversation into the actual “IIntent” based class. Check the last entry, it should translate any intent “*” into a QuestionIntent, if that’s a RequestIntent then that may be your problem and you can just change it to a QuestionIntent class instead.

-Richard

From: MartinConlon [mailto:notifications@github.com] Sent: Sunday, July 16, 2017 11:47 AM To: watson-intu/self self@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: [watson-intu/self] RequestIntent interrupts conversation (#14)

Hi,

Using the latest develop branch the "Conversation" functionality is different than RC4 and I need some guidance.

Self will dialog with me until I give it something that is recognized as a #request intent, so, for example, using the Intu-Dialog-Starter Kit conversation, I can do the usual "hello", "how are you", "what's your name" but when I ask it "can you stand" it replies with the boilerplate from etc/bootstrap.json, which is ultimately stored in the graph in knowledge.db:

{ "Type_" : "RequestAgent", "m_EntityFilter" : [ "verb", "noun", "directionPerpendicular", "directionParallel", "adjective" ], "m_RequestFailedText" : [ "I do not know how to %s." ], "m_RequestFiles" : [ "shared/self_requests.json" ] }

I see in the Dashboard (by clicking the "Advanced" link on the top right of its reply) that this is recognized as a "RequestIntent" rather than (for example) "QuestionIntent". The sentence is parsed properly and I see entities tagged in the JSON:

"entities": [ { "entity": "Possesive", "value": "you" }, { "entity": "Possessive", "value": "you" }, { "entity": "verb", "value": "stand" } ]

This is how the Watson Conversation "Try it out" panel parses the text as well, however, if I add a Dialog node for the "#request" intent to respond with (say) "I see you've made a request" Watson's Conversation test panel uses that response, but Self does not.

In other words, I expect Self to use the same Dialog nodes as the Watson Conversation "Try it out" panel, but the RequestAgent seems to be eating the request (and also doesn't know how to act on it).

Is this expected behaviour?

Thank you,

Martin

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/watson-intu/self/issues/14 , or mute the thread https://github.com/notifications/unsubscribe-auth/APfat5gTeHpPp_4xEPqAVnnQxH8lKeVOks5sOj6BgaJpZM4OZWSX . https://github.com/notifications/beacon/APfat1-VJkBiZnHoPc-Oc6_ua6-QmYBVks5sOj6BgaJpZM4OZWSX.gif

!DSPAM:596b988a10651375212999!

MartinConlon commented 7 years ago

Hi Richard,

Good call -- it was RequestIntent. Is that the new default? I should have a vanilla install of the develop branch...

Thank you,

Martin

MartinConlon commented 7 years ago

Comparing body.json with bootstrap.json, I see that the "catchall" intent changed between the two (RC4 to RC5) from "QuestionIntent" to "RequestIntent."

Martin