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..

word variations detection
 
 

Hi,
What am I doing wrong.

u: (fail)
would catch fail, but not failure
u:(connect)
would not catch connection

What is the correct way to improve these results?

Thanks

 

 
  [ # 1 ]

fail is a verb.  failure is a noun, they are not the same lemma (canonical form)

u: ([fail failure])

same for connect and connection

 

 
  [ # 2 ]

Hey Bruce,
Thanks for the answer.

Can you think about some other way to discover such “families” of related words? Maybe something in the WordNet?
I assume I can’t take into account every possibility, so I would prefer for some mechanism to take care of these…

Thanks!

 

 
  [ # 3 ]

There may or may not be data in wordnet for it (not checked) but it is not accessible to chatscript in its present incarnation. So yes, you can take account of them yourself when you write keywords.

 

 
  [ # 4 ]

Are you interested in grasping the commonality between “fail” and “failure”, ignoring that they are different parts of speech? Or do you want a machine to discover they are equivalent?

For the first:
If the script your using does not support synonym (or functional equivalency) lists, then you can fix that by pre-processing the input: Take all incoming text and pass it through a lookup table that replaces such words with a single representative. Then pass the modified text into the chatbot.

For the second:
I think that is a $64,000 question. From what I have read about WordNet, it would contain such an equivalency in some “frame” but I am not sure how you would automatically screen all frames for all equivalencies. Nor would it tell you about mis-spellings.
Another option might be to play with online dictionaries like PyDictionary for Python. I tried both “fail” and “failure”, the latter’s meaning contains the former, so you could write a program to bootstrap from one word (like “failure”) and examine the dictionary meaning result, looking for similar spellings.

 

 
  [ # 5 ]
Peter Waksman - Sep 21, 2017:

Are you interested in grasping the commonality between “fail” and “failure”, ignoring that they are different parts of speech? Or do you want a machine to discover they are equivalent?

For the first:
If the script your using does not support synonym (or functional equivalency) lists, then you can fix that by pre-processing the input: Take all incoming text and pass it through a lookup table that replaces such words with a single representative. Then pass the modified text into the chatbot.

For the second:
I think that is a $64,000 question. From what I have read about WordNet, it would contain such an equivalency in some “frame” but I am not sure how you would automatically screen all frames for all equivalencies. Nor would it tell you about mis-spellings.
Another option might be to play with online dictionaries like PyDictionary for Python. I tried both “fail” and “failure”, the latter’s meaning contains the former, so you could write a program to bootstrap from one word (like “failure”) and examine the dictionary meaning result, looking for similar spellings.

i believe the first option will be the right one for me as I’m doing the reprocessing anyhow.
Thanks!

 

 
  login or register to react