I have read similar questions but they talk of AI models. What I want to do is build a simple bot which accepts predefined commands and performs required action. No learning needed. I have the whole flowchart prepared. What I need is to get the commands that a user types in his/her chat.
Conference bot could be able to do for that purpose, which is written in python.
Related
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.
Sorry for my English, I'd really like to know if there's a way to create a telegram bot that automatically makes local research in my conversations, groups and channels looking for a particular text, for example once a day, and if it finds at least one result I receive a notification. I hope it's clear what's the problem for me. Thanks in advance for your help!
You can use the client robot to check your specific words or sentences, which means the robot that is mounted on your account and can check.
If you want a robot to check your messages, you have a problem because the robot has to see wherever you are a member, which is not the case.
That"s why you have to use the client robot
There are different languages for writing such robots
My suggestion is the Telethon module in Python that you can see its documents from Here. Also, Here is the Telegram group of this module that you can use.
But if you want to do it in another language, you can look for it as a client robot or cli bot
I want to build one bot with two skills which can make appointment for me and make notification for me. It is similar with following two videos:
https://www.youtube.com/watch?v=oU88sHd6ilE&t=2s
https://www.youtube.com/watch?v=4_MvIf_ULgc
do I need two agents? Because I need two gcp projects for this agents (https://cloud.google.com/dialogflow/docs/multi-project) , how to manage them? I don't believe we need two project to finish one chatbot
Short Answer:
You don't need two agents in Dialogflow for the functionalities you require.
Detailed Answer:
The whole point of Dialogflow is to try to identify what is the user's intention and then act on it.
So if you create 1 agent and then create multiple Intents
First one for Making an Appointment
Second one for Making a notification
Then you train the agent with examples for each intents (Using entities etc.)
When the user says something to the bot, Dialogflow will understand what the user means (Detects the corresponding Intent) and then you can do the business logic for each intent
What's important is the way you train the bot, making sure your training phrases do not overlap from one intent to another
I have a google home speaker, and I can issue commands like what's the time or play some music, but I'd like to be able to define my own responses to certain commands, like
how many appointments do I have today
or
are there any cancellations
I would like the above commands to a run a script where I can either run a web-service, or pull information from my SmartThings hub (that bit is optional) and respond with an appropriate response.
I've done a bit of research, and it seems that IFTTT, can do something similar, but I don't really want to be dependent on a 3rd party app, and if this can be done directly with Google.
I guess I'm looking for something similar to Groovy for SmartThings, where I can write Smart Apps.
The API to develop your own commands is known as Actions on Google. Broadly speaking, Actions will send JSON to a webhook that you control, and you can have it do whatever you wish at that point.
I'm building an watson conversation service and I want to know different watson Conversation and Natural Language Understanding service.
I think Watson conversation service support Natural Language Understanding, such as intent, entity but Natural Language Understanding service also provide intent and entity.
If I just use intent and entity for conversation, do I need to bind Natural Language Understanding to conversation service or not?
Thank you.
Conversation service is separate from NLU. Conversation is about building a chatbot on your own domain. The intents/entities are only what you train it on, and the dialog is a feature only available in conversation, not NLU.
NLU is a pretrained service that returns various information back about text, but does not do anything with a response, and will give you back what it has been pretrained on. Out of the box, you can't change this. You can use a product like Watson Knowledge Studio to train a custom annotator, but NLU itself knows what it knows and thats it.
There is no need to combine these, but it is possible. Depending what problem youre trying to solve will help guide you in which you want to use. If you want to understand data about unstructured text, with no real training time required, NLU is right for you. If you want to develop a chatbot to help your users with some problem, Conversation is right for you.
If you want to build a chatbot about generic things, or if you require things like people's name, extracting locations around the world, etc, and respond accordingly, you could use NLU to extract the metadata, and then pass that to Conversation and in conjunction with your custom intents/entities/dialog have a more powerful conversation.
From the way I'm understanding the question, I pre-assume that you know that Watson conversation and Natural Language classifiers (NLC) are two different services provided by IBM Watson.
Watson conversation will basically help you build a chatbot or a bot (which has speech to text or vice-versa). This chatbot helps users in different ways. Let's say if a user asks a question to the chatbot, chatbot will answer accordingly (It depends on how you designed the dialogs/ or the responses) to the question asked.
Question 1: What's your name?
Answer 1: I'm Watson.
Instead, if the question was asked incorrectly.
Incorrect question : Wat is ur name?
Answer would still be: I'm Watson.
In order to build a chatbot using Watson conversation, you need to make sure that you have proper understanding of Intents, Entities, and most importantly Dialogs (Dialogs help you design the flow of the conversation). If you know these 3 parts then you are good to go with Watson conversation. There's no link between NLC and Watson conversation if you keep them isolated. *That being said, Watson conversation itself has an Natural language understanding where it could figure out User questions even if the questions are **incomplete, grammatically incorrect, mis-spelled words etc.*
In short, you need not bind anything (Natural language) to make the conversation start working. Just focus on those 3 (Intent, entities, & dialog) portions provided and you are good to go.