How to integrate Speech to Text with QnA Maker Based Bot? - botframework

I have developed a FAQ Bot using C# and Bot Builder SDK 3.15.3. We have a large set of question/answer pairs which are uploaded to a QNA Maker Service. I have enabled the Direct Line Channel and the bot is displayed on a web page. I have used the Web Chat control provided by Microsoft with some customization and skinning.
Now I want to enable voice interaction with the bot, for that I decided to use the Microsoft Speech to Text Cognitive Service.
What I want to do is that when ever user speaks some utterance, I want to send the utterance to my bot service similar to like text is sent. Then inside C# code I want to run the Speech to Text and further do a Spell Check on the text retrieved and finally send to QNA Maker Service. The response for now will only be showed as text, but can also opt to read the response for the user.
Kindly guide my how this is achievable, as after looking at CognitiveService.js and other articles on enabling speech, I notice that Web Chat control directly sends the voice input to speech to text service.

You can make a hybrid between a calling bot which utilizes speech to text and a QnA bot to achieve your goal. For the calling bot, look over the SimpleIVRbot sample to get you going. For QnAMaker, you can reference the SimpleQnABot. It shouldn't take too much work bridging the two into a single unified bot. Just be sure to remove duplicate code and combine files where necessary.
Hope of help!

Related

Adding Speech to Text feature in RASA

I need to add Speech to text feature in RASA, where user can ask questionsusing his voice and bot will answer him by chat. Does anyone know how can I do it in RASA?
As my front-end will be an Android Application. Kindly do tell me how to do it.
Thanks in Advance.
You can build a voice bot with Rasa Open Source as long as you use a Speech to Text (STT) API, since Rasa will only process text. This would involve building a custom channel that takes the voice as input, sends it to a STT API and returns the text to Rasa.
You can find some detailed examples on the Rasa blog:
https://blog.rasa.com/how-to-build-a-voice-assistant-with-open-source-rasa-and-mozilla-tools/
https://blog.rasa.com/how-to-build-a-mobile-voice-assistant-with-open-source-rasa-and-aimybox/
If you don't mind using something closed source, integrating the Google Speech API is also an option.

3D Avatar Implementation on Botframework V4

I'm searching for knowledge sharing on how to connect a 3D avatar with a bot.
Something like done on Bot Libre https://www.botlibre.com/forum-post?id=682689 .
The implementation can be on WPF, UWP or web.
I'm currently working with Botframework V4.7 and C#.
Thanks in advance,
Amintas
This will likely require you to build a custom connector to pass your bot's incoming and outgoing activities thru to the Bot Libre system. There are examples out there of connectors/adapters that have been built by 3rd parties, such as this Twilio WhatsApp adapter, this Twitter adapter, or this Alexa adapter if you are planning on building in C#.
Any adapter you build won't need to be as full fledged as these are as you are only designing for what you know you need, and not for the masses.
You will also need to research Bot Libre to see which API endpoints might be relevant to you. You can see a listing of APIs here. Really, this holds true for any service like Bot Libre that you decide to land on.
Hope of help!
It depends on the Channel your bot is deployed on and what does the channel supports. For example if your bot is deployed in Facebook Messenger, you can achieve this by creating a web page that renders a 3D Avatar and using Bot Framework you can send a web_url button from which the user will press and the web page will open up inside of messenger with the rendered avatar.

How to get Microsoft Graph access token using email id in the skype for business bot to add an event to Calendar

In Skype for Business Bot , User is pre-authenticated, need to get Microsoft graph access token , in order to perform Microsoft Graph operations (such as adding events to calendar) in programmatic way..
Please suggest how Microsoft Graph Apis can be integrated with Azure Bot for Skype for business channel.
We want Skype for Business bot to book the meeting just like described here
But instead of Teams need to use Skype for Business. but basically this code line will ask user to explicitly in this code sample
"await context.Forward(new AzureAuthDialog("
There is another sample that need Adminconsent to update the calendar of specific user
Swati
You cannot reuse anything from the pre-authentication. Like any other channel, you have to go through a specific authentication phase.
You have a great sample on the official repository to do this, here: https://github.com/Microsoft/BotBuilder-Samples/tree/master/samples/csharp_dotnetcore/24.bot-authentication-msgraph

How to detect and read facebook Emojis in Microsoft BOT framework

I want to create an interaction based on the Emojis passed from facebook user on chatbot. Not able to get anything related to parsing the value at BOT end. Chatbot solution with normal text is working fine.

Which bot framework to use (if any) for a Kik, Facebook, & Slack messaging bot using javascript?

I'm building a chatbot that will need to be launched on Kik, Facebook, and Slack. I'm unsure of where to start in terms of using a bot framework or whether I should create something custom myself.
I don't believe I will need any NLP. The user is going to be pushed down a very structured path, that will use buttons to guide the users to the next prompts and will also share with the user links and media.
Microsoft Bot Framework seems like the main framework I should look at, but its unclear to me how useful it will be if I end up wanting to deliver responses that are custom to each messaging platform. Meaning, on Facebook I may want to take advantage of a custom feature that they have like buttons or templates and on Kik I will want to take advantage of suggested keyboards.
Any suggestions or guidance is appreciated.
BotFramework will do the translation for you. Write to the BotFramework schema and it will using buttons for Facebook and keyboards for Kik.

Resources