I managed to create a chatbot using Azure with the QnA Maker service. Everything works fine and the bot responds to my questions if there is an answer set up already in my Knowledge base.
What I need to do now is to not let the client anything until a real assistant joins the chat to provide some answers. Bascially, I want the client to only communicate with the bot using premade questions. So if the user clicks on a question, it should follow a tree like structure to another question and so on. Something like this image:
I tried researching this and the only thing that I could find is a different Microsoft service that refers to some dialog flows, which is not really what I try to do since the bot is made in Javascript.
Related
Added Who Bot in MS Teams but am unable to find a reliable and definitive answer on how I can "teach" the bot to answer the questions "Who knows about ..."
Some sources point to updating Delve account with skills, some say it will get that information from chat discussions in Teams... nothing works (after almost a month of the bot being added).
So, how can I feed the Who Bot information so that it can answer that specific question - "Who knows about a topic"
Thank you.
I was talking to Microsoft about this. After weeks of back and forth, this is their conclusion:
Thank you for your time over the phone today.
As regards your concern, the Who Bot feature needs a different
expertise to feed data for the “Who Bot” to fetch results for the
queries on “who knows about”.
This information needs to be fed into a text file with a scripting
expert and then integrated into the Who Bot connector. This is where
"who knows about" fetch its data from.
Since we are only a break fix issues support team and do not work on
scripting, this is out of our support boundaries.
Ref articles and work items:
• https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/csharp_dotnetcore/12.customQABot
Please, let me know if you have further concerns about this.
Thank you for choosing Microsoft support
Their solutions was "please code a bot to fix our bot"
You can create a question answering project from your own content, such as FAQs or product manuals.
This bot has been created using the Bot Framework SDK, it shows how to create a bot that uses Cognitive Services' question answering feature.
Question answering lets you to build, train and publish a simple question and answer bot based on FAQ URLs, structured and unstructured documents, or editorial content in minutes. In this sample, we demonstrate how to use question answering to answer questions based on an FAQ text file used as input.
Ref Sample-https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/csharp_dotnetcore/12.customQABot
I am a researcher and I do conduct research on conversational agents, chatbots, anthropomorphism and human-computer interaction.
For a series of online experiments I need to implement a functioning chat. I already conduct a few online experiments with a dummy chatbot to measure the mere presence of conversational user interfaces.
Now I am looking for a functioning chatbot so that my participants can interact with the chatbot. I was already looking into Dialogflow, BotFramework and various other services. However, I do have some requirements
The chatbot should be integrated into a website. The website already exists and is developed using plain HTML,PHP,JS.
The chatbot should be able to take data from the website (i.e. user_ID, treatment condition etc.) and should be able to adapt accordingly (language, design, features).
The website should be able to access the chatbot conversation and save it into a DB (I'm using a simple MySQL)
Any recommendations?
Currently I want to use DialogFlow and the Dialogflow Messanger, which however only has limited styling options (change of color etc.). Is there any saas for integrating the chatbot on the website?
Also keep in mind, in research, we unfortunately don't have much funding :D
Thanks
Dominik
Just going to answer my own question for now, still very much interested in your opinions.
So I have chose to use Google DialogFlow and the DialogFlow Messenger, which fulfill nearly all my requirements. Using JS on the website, I can access every interaction data (conversation) between the chatbot and the user. After collecting all data with JS i can continue with the experiment, take other data and then save everything in my MySQL database.
If you want to know more, feel free to contact me.
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.
So I'm trying to create a chatbot in MS Teams with the Microsoft Bot Framework in order for a handful of end-users to be able to do basic troubleshooting. Does anyone know of a good way to be able for the Bot to be able forward certain questions that do not have responses within the knowledge base? Does anyone have any suggestions on what would be the best way of doing this? I've looked briefly into MS Flow. Thanks!!!
EDIT: So In order to further clarify what I am trying to do I'm adding some more. When someone asks a question to the Q&A Bot in Microsoft Teams. If the bot doesn't have an answer, the question will then be forwarded to a live agent that could answer the question asked in real-time. I'm looking for some type of software or API that could do the forwarding part
#G-Snider you're in danger of having your question shut down if you don't provide more detail--like some code that you've tried, for example.
And I'm afraid I don't very clearly understand your question...however I'll take a stab at helping.
You could always use Dispatch connected to a QnA Maker knowledge base to determine if a user hits an intent that would be answer able to your QnA KB or if it's "None" intent--or if you don't want the LUIS layer.
BF Dispatch Sample: C# / JS
Alternatively, you could forego the Dispatch layer and stick with only QnA and work with confidence scores and thresholds that get returned that's built into the QnA module itself.
QnA Maker Sample: C# / JS
Second step, if your bot determines that the user hit None intent or has no result from your QnA KB directly, then you could implement human hand-off.
Human Hand-Off Sample
I am utilising the small talk options within the chatbot that I currently use, however, I have noticed a couple of common questions which seem to be asked which fit into small talk, such as "What is your name?" and "What does you name mean?".
Is there any way in which I can add to the list of small talk questions? If not, how can I add these questions in with their responses? My issue is that I believe that you shall need a new intent for every question that gets asked? Any help would be appreciated.
Using a new intent for every question asked (or at least different versions of the same question with one answer) is the standard Dialogflow design and isn't really a problem.
The small talk functionality is just a big list of questions and answers in separate intents - you can see by looking at the pre built small talk agent through Prebuilt Agents -> Small Talk -> Import.
Therefore I would suggest to simply do it this way.
Initially, small-talk option had this issue which you specified here where users were not able to add more phrases to existing questions or add more questions.
To solve this issue, DialogFlow has introduced Small Talk Pre-built Agent.
There are approx 86 pre-built intents in the small-talk agent.
You can add/modify the phrases in those intents,
You can add/delete intents
You can modify the responses of these intents
To use small-talk agent, go to pre-built agents option in left menu, go to Small Talk agent, then import it.
Hope it helps.
I will suggest to use QnA maker service to achieve the functionality. Basically you have to create a QnA maker service and have to integrate to Bot. It will resolve your query. Please let us know if you need more information .
Regards,
Tharak