ibm-watsonwatson-conversation

Using Watson as a testing tool


I'm wondering about using Watson assistant as a simple tool for informal testing of medical students. I'm a bit confused as to whether this is an appropriate use. I have played around but am quite stuck.

I have a symptom X in mind, that, if the user asks about, Watson would spit out 3 questions sequentially, and test the users responses against some specific terms.

These questions look like 1. how much water does a 'symptom X' patient drink ? Watson would take their input and compare it against definition somehow

  1. what are the 3 diseases that can manifest with 'symptom X' ? Watson would then take their input and compare it against the known list

  2. what tests should be run immediately on a patient presenting with 'symptom X' ? Watson would then compare their input to known list

Am I way off base with how I am using trying to use it?

-So far I have set up

intent = test_me (eg Can you test me)

@entity = symptom X

My first dialog node is if #test_me and @symptom X -> 'Sure, I can test you on symptom X'. I'm going to ask you 3 questions on this.

Pause.

Response -> how much water does a 'symptom X' patient drink ? Their response would be along the lines of 'more than 100ml/kg/day'

How can I evaluate this response? Is what I'm trying to do beyond the scope of a chatbot / WA?


Solution

  • The simple way would be by adding NLU (Natural Language Understanding) to the solution. If the language is English, NLU by default would get the 100ml as a Quantity and you can also use the syntax enchantment, if you need to apply a different rule when the user writes things like "more".

    If there are more complexity to the sentences and NLU by default is not enough, you can train a custom model using WKS (Watson Knowledge Studio) and use it with NLU. The same applies for languages where the default model doesn't give you enough info.

    NLU also have some understand of a good number of medical terms, that seems to be of use for your solution.

    If you need to do it using only Watson Assistant, the only solution I can imagine is to use regex to get the number and the type (ml/day/km/etc). Something like "(\d+)(\w{2})"