Which python file in rasa accepts the input from the user?

Which python file in rasa accepts the input from the user ? I want to implement a spellchecker. Is there any other alternative to do that ?

Hi @mrinalthakkar4

User inputs are going through NLU pipeline which has several different components to understand the intents and entities. You can add a custom component for spell checking. It will be useful to follow this article by @Juste to get instructions to add a custom component.

I want to check the spelling of words which will be sent to rasa server from user talking to the bot.

You can add a custom component for spell checking. If you have gone through juste’s article, she has also mentioned about adding spell checker as a custom component.

I am looking for something like this

bot: hi
user: hi
user: I am looking for new teckniques of abcxyz.<<<<<<<<<<<the problem is here

When user gives response, before classifying the intent of the given sentence, it is going through a predefined pipeline which has tokenizer, featurizers, entity extractor, intent classifier and so on as per your need. In your given example, first that sentence is going through a tokenizer. If your pipeline has whitespace_tokenizer, it will tokenize your sentence by white spaces like this.

['i', 'am', 'looking', 'for', 'new', 'teckniques', 'of', 'abcxyz']

After tokenizing you have tokens for each word. Now you can implement a spell checker as the next component of your pipeline, which takes the tokens and correct the spelling mistakes before it goes to a featurizer for generate feature vectors. You can use a library for spellchecking if you need. There is few more steps you have to follow. Every detail is clearly describe in that article.