garypretty / botframework

Microsoft Bot Framework helpers and additional dialogs
MIT License
60 stars 51 forks source link

threshold does not work #3

Closed fserally closed 7 years ago

fserally commented 8 years ago

Hi, I tested this part: The dialog will take the incoming message and find the Best Match in the list of strings, according the a threshold that you set (0.5 by default). For example, if the incoming message was "hello", it would match be a match (matched with "hello there"), but "greetings" would not match at all.

and it does not seem to work at all.

For example if you try to put Hello in the list below:

[BestMatch(new string[] { "Hi", "Hi There", "Hello there", "Hey", "Hey there", "Greetings", "Good morning", "Good afternoon", "Good evening", "Good day" },

Its not working. How to adjust? or which threshold should I put?

garypretty commented 8 years ago

Hi. Without seeing your code I am not sure what the issue is. Can you maybe share your code with me, maybe zip it up and share it via OneDrive and I can take a look?

ryzam commented 7 years ago

I'm having same problem

ryzam commented 7 years ago

I think the problem is in when your score is in double and you have utteranceToCheck and choiceValue is integer. You will always get 0 unless the word is exactly match

garypretty commented 7 years ago

Hi, thanks for this. I have updated the code to use decimal division, as you are right the int division would be giving a result of zero. Thanks for spotting the issue!