How can I bridge a Rasa chatbot with TTS & STT modules? - chatbot

I recently started using the RASA framework for developing chatbots. My goal is to create something that once deployed on a cloud VM, it can interface with voice modules so that it can be more easily accessible (no typing required from the user).
Do you have any suggestions as to how I could bridge the RASA bot with the text-to-speech module as well as the speech-to-text (transcription) one? Any help on this would be greatly appreciated. Thanks

You can use the STT module as a preprocessing step, and the TTS module as a postprocessing step.
Let the STT module process the speech.
Take the output of the STT module (text) and send it to the REST channel of your Rasa server.
Take the REST response (text) and send it to the TTS module.
The more complicated way to integrate these modules into Rasa is to write a Custom component at the top of the pipeline for preprocessing speech, and you have to modify the REST channel to ingest the speech. The TTS can be easily integrated using Custom action to call your TTS module, then the speech is your choice of handling.

Related

Which is better for building chatbot

I need to build a chatbot . so should I build one in Python or should I use dialogueFlow
I tried building with DialogFLow , but at times I get stuck in identifying the langauge of the user
There are number of chatbot platforms and NLP engines from which you can try from.
Few of them are : Dialogflow, Amazon Lex, LUIS, Chatfuel, Botsify, Beep-boop, Motion.ai, QnA maker, Recast.ai, Octane.ai etc.
It all comes to your requirement and trying out what suits you better.

How to use json in intent functions in dialogflow

I'm making an application for google home as graduation work from my university of systems analysis and development. My difficulty is integrating with an external server.
I'm doing the code in javaScript, node.js and my intents call data from an external service, the server of the company, there is authentication, but even with Json without validation I can not access the data.
I used some examples of the google channel itself in youtube and the documentation of DialogFlow but I can not.
Has someone already done something similar and can you help me?

Mechanical Turks and Watson

Is there any way we can ask the Mturk Worker to open a Watson Knowledge Studio account and do some task of annotating there?
In such a case, how to monitor the work progress of the turks either through Watson or through Mturks API?
Is there a way we can monitor this task and ensure that the worker does not redo the same task again?
Trying to get some annotation of text done with Watson intelligence and workforce of mturks. Watson has a human annotator module but it seems very contained within its infrastructure.
Any inputs are appreciated.
Yes
Using WEP,WLI, etc.
Yes, Connecting options of Watson are available with orchestration tools.

Is there a way to create intents and entities without the IBM Watson Conversation toolkit?

I want to train the Watson Conversation service without using the toolkit? I want the chatbot to be trained by code.
I want to develop a system from which the administrator of a web page can edit or create intents and entities, so that in this way I do not have to be the one to edit if something is wanted to change. IBM Watson Virtual Agent is something similar to what I want to create
You can create your own tooling or integration into conversation using the Workspace API.
https://www.ibm.com/watson/developercloud/conversation/api/v1/#workspaces

Do I have to use API.AI to create an action for Google Home?

I have some experience building chat and voice agents for other platforms, but I’m not using API.AI to understand natural language and parse intents. Do I have to replace my existing solution with API.AI?
Not at all. The advantages of using API.AI in creating a Conversation Action include Natural Language Understanding and grammar expansion, form filling, intent matching, and more.
That said, the Actions on Google platform includes a CLI, client library, and Web Simulator, all of which can be used to develop an Action entirely independent of API.AI. To do this you’ll need to build your own Action Package, which describes your Action and expected user grammars, and an endpoint to serve Assistant’s requests and provide responses to your users queries. The CLI can be used to deploy your Action Package directly to Google, and you can host your endpoint on any hosting service you wish. Google recommends App Engine on Google Cloud Platform.
I found this explanation from the official page most helpful.
API.AI
Use this option for most use cases. Understanding and parsing natural, human language is a very hard task, and API.AI does all that for you. API.AI also wraps the functionality of the Actions SDK into an easy-to-use web IDE that has conveniences such as generating and deploys action packages for you.
It also lets you build conversational experiences once and deploy to many other platforms other than Actions on Google.
ACTIONS SDK
Use this option if you have simple actions that have very short conversations with limited user input variability. These type of actions typically don't require robust language understanding and typically accomplish one quick use case.
In addition, if you already have an NLU that you want to use and just want to receive raw text and pass it to your own NLU, you will also need to use the Actions SDK.
Finally, the Actions SDK doesn't provide modern conveniences of an IDE, so you have to manually create action packages with a text editor and deploy them to your Google Developer project with a command-line utility.
Google is pushing aggressively everybody to API.AI. The only SDK they have (Node.js) no longer supports expected events for instance. Of course, you don't need to rely on their SDK (you can talk to the API directly) but they may change the API too. So proceed with caution.