How to disconnect LUIS of Microsoft Bot Connector selectively? - bots

Keeping a human executive at stand by to answer user queries is a critical use case for the chat bot I am developing.
But I am not able to figure out how to handover control to the human agent without the NLP mode (LUIS) not getting disconnected.

An alternative (might not be suitable for your scenario though) is overriding the MessageReceived of your LuisDialog and add there the logic to decide if the query will go to LUIS or not. That's probably the easiest part of the story :)
Another thing to resolve will be how to handover the control. This was discussed in threads here in SO and in GitHub:
How to implement a chatbot to human executive switch using Microsoft Bot Framework?
Transfer the chat control to a human chat executive.
Escalate to human
For an idea of how to create new conversations, you can check the C# and Node.js samples.

Related

Is there a way for 'bot to human handoff' in dialogflow?

I created chat and want to add feature of chatting with human.
I guess that I need some backend for managers to chat with clients. Now we have jivochat.com but if it needed for simple integration can use something else.
What platforms alow to connect a human as a interface for human agent?
You can use third party platforms such as Kommunicate, which provides you with a dashboard including live chat where in any point a live agent can take control of the chat.
Or you can create your own, try this video: https://www.youtube.com/watch?v=EOAypIKmzyY&ab_channel=TECHWITHSACH

Dialogflow make the bot more human

I am new to the dialogflow, I want to know if there is any method that I can make my bot feels more human when the user interact with it?
Many thanks.
Here is a good resource from Google. It talks about the Cooperation principle which helps you design helpful and straightforward prompts and responses for your users. It focuses heavily on principles that are used within day to day human interactions so you will get a bot that will respond according to the rules of human conversations. It is also closely related to dialogflow as it used actions on google as a platform.
If you want to know more about creating more human conversations I recommend you to look into human linguistic, but that is a whole new thing to learn and out of scope for StackOverflow.

In dialogflow chatbot can I do with pre-populated question

I want chatbot like I open the chat window it's automatically multiple questions that have come to the window.possible with Dialogflow if yes then how it's possible.
A chatbot is meant to be interactive unless user started the chat conversation, you should not do that. Better make a conversational tree and make a user start a conversation and have questions.
I see a lot of question-related to dialog flow and google assistant when are building assistant, we need to think a conversational design paradigm instead of app paradigm, that we are used for a long time.
The Assistant is meant to be conversational for a user to deliver the right experience. Due to that, you will find a lot of things we can not do with google assistant explicitly like sending a notification. This is not a conversational design pattern.
So, make your assistant more conversational. In those, you will not come an across with such Delima.

NooB Alert NodeJs and Slack Bot build. Need Advice

Prewarning: I am a noob with development, I started doing web design when I retired from the Marines about 3 years ago. I specialized in Intelligence and Tactics, so not a computer user during that career. Fast forward to Today:
I work as an Exchange admin and migration specialist with GoDaddy, I have been through several Webdesign courses and learned a decent foundation of html/css/php however JavaScript, Nodejs, Java, Python, C++, and C# are all still things I am working on.
My issue: My lead wants to have a bot built that essentially posts messages in the #general group (I learned how to do this and actually setup a nodejs server within my test hosting server # GD and have a Joke bot running in my slack WS). The tricky part that I have been scratching my brain on is how to use an web API that GD has to monitor our call que, hold times, and agents online. I need to figure out how to get the bot to post a message regarding certain triggers automatically(exp. Hold time exceeds 10mins). I can not figure out whether to use a webhook, eventListener, or a direct bot auth'd into the GD api like my joke bot that links to chuckNorris jokes.
I appreciate all the comments truly, I have thick skin and know that I am late to the game on development. I want to build this for the experience and to integrate with slack, my end goal would be more projects to eventually become a Dev within GD.
I have a few thoughts that might help you.
Regarding these holdtimes, agents online, and call queues, think of these as events. Whenever these events occur, they should fire a payload (HTTP request) to your service that then posts messages to slack. I think you might need a slack bot token for this.
Many APIs have this functionality under webhooks. You provide them the URL to the endpoint your developing and theres usually a toggle to tell them that you want to start accepting events.
To get going on your service/bot, I'd recommend starting with learning about what these webhook event payloads will look like in terms of structure so that you can parse it.
If you have more detailed questions feel free to comment or message. Happy to help. I've written a slack bot or two.

What is the difference between rasa core and botkit framework in terms of flow of conversation?

I am learning bot development using rasa. I took simple banking system use-case in that. Below is short flow:
I want to apply for loan
Home loan Car Loan Personal Loan
**User comes again after some days**
Hey, you inquired about the loan previously, what is the status?
Bought from another bank
Which bank?
Axis Bank
What interest rate did you buy the loan at?
5%
Suppose user asked "I want to apply for a loan" so I can classify intent and extract entity and accordingly reply to the user.
But if the user said "Axis Bank", how should I keep track for which question he replied as "Axis Bank" and what will my next question or answer be?
I searched for "How to keep track of conversation state?"
I came across [https://github.com/RasaHQ/rasa_nlu/issues/303][1] this link
In that they mention
I don't think that should be part of RASA's goal IMO: NLU is by itself
a very large and complex topic to handle. But you can use a specific
framework for that like botkit.
But in rasa-core there is a slot option (Information to keep track of during a conversation (e.g. a users age))
In below link mention
Difference between Rasa core and Rasa nlu
Rasa core is used to guide the flow of conversation while Rasa nlu is
the understand and process the text to extract information (entities)
Could somebody help me understand the difference between rasa-core and botkit in terms of the flow of conversation?
RASA and botkit aren't the only options, you of course also have (to name but a few developer friendly options) IBM Watson, MS Bot Framework (or botbuilder as they call it now), of which v4 is being developed in Open Source.
What makes RASA Core stand out is it learns what to do next based on the intent and current state of the conversation. With the others, you are expected to script the flow (or you have to build a data structure that can hold the flow which others can populate).
Which way you would go depends on how much conversational data you already have and how complex your bot will be. For a simple bot, it would be quicker to use a scripted flow. It's when it gets big that your script bot will be difficult to scale.
This are a couple of good articles that I read when I was learning about RASA.
https://medium.com/rasa-blog/a-new-approach-to-conversational-software-2e64a5d05f2a
https://medium.com/#harjun1601/building-a-chatbot-with-botkit-and-rasa-a18aa4d69ebb

Resources