Category: Chat

  • Kotlin chatbot

    Hello ! I am developing a chatbot using kotlin, but the problem is the words those have multiple synonyms, how I can deal with them ?

    submitted by /u/Tebai
    [link] [comments]

  • AI in Robotic Process Automation

    Artificial intelligence (AI) is not new in our world. It has been around since the 1960s. AI is a broad term that refers to computers that perform tasks that require human intelligence. Never before in the history of AI have, we see a surge in its usage as we see in recent times.

    The unprecedented surge is currently changing human’s personal and professional lives. With the help of AI, people perform tasks with little effort while corporate businesses leverage AI to complete several complex tasks faster and do more in a short time.

    Recent developments in AI include the invention of Robotic Process Automation (RPA), which is the technology that enables people to configure a robot or computer software to imitate and integrate the activities of a human interacting within digital systems to carry out a business process.

    RPA is as popular, and it is gradually taking the center stage, especially with the surge in its adaption among corporate businesses.

    With AI and RPA, business organizations can quickly transform their operational procedures, achieve better results, scale their business and attain full automation. However, both technologies require rare technical skills — a growing concern for corporate businesses around the world. There is an increasing need for tech professionals who can successfully leverage them.

    The Problem of Intelligence

    Unlike AI robots which have several physical shapes and structures depending on the task, it is built to perform, RPA is a bot or software that helps you automate regular repetitive tasks and processes that improve itself over a period of usage. As a result, you’ll eliminate potential human errors, reduces turnaround time, and ultimately improve productivity and efficiency.

    Today, RPA is taking the spotlight in the tech world because it gives back a reasonably high return on investment. With RPA, you’ll have bots that will carry out several tasks that would require expensive human labor. They also help prevent a drop-in efficiency that tends to occur due to exhaustion or weariness, which is a common disadvantage of human labor. The bots are virtual assistants that carry out repetitive assignments without human intervention.

    These bots can complete tasks according to a set of rules defined by an RPA.

    They can improve efficiency in various fields like:

    • Customer service
    • Human resources
    • Healthcare
    • Finance
    • Data entry
    • Supply chain management and many more.

    However, RPA has a couple of setbacks, scaling up the technology and high hand-holding during the initial rollout.

    Trending Bot Articles:

    1. Case Study: Building Appointment Booking Chatbot

    2. IBM Watson Assistant provides better intent classification than other commercial products according to published study

    3. Testing Conversational AI

    4. How intelligent and automated conversational systems are driving B2C revenue and growth.

    The biggest concern for users — is on scaling up the technology. Companies using this product are forced to purchase multiple bots to perform various tasks. This problem stems from the fact that RPA on its own is not intelligent. An RPA software can only handle limited tasks as its programming allows it to work on structured data only. That means, for every task, the new software will be developed and programmed to help the RPA process the task. Also, there has to be human interaction along the line.

    Imagine a fraud detection unit that needed to automate its systems. Without automation, the process would start with an agent doing his analysis and speaking with the clients. At the wrap-up phase, the agent will fill special forms and send emails to the right department regarding his decisions. AI RPA can bridge the gap in a manual intervention during the wrap-up phase, which is tiring, repetitive, and time-consuming.

    AI comes in as a technology to bridge the gaps and optimize the RPA’s function. This is because, unlike RPA, AI can execute both rule-based and non-rule-based tasks. By comparison, AI can also work with structured and non-structured data.

    Combining both technologies helps your business to achieve what is referred to as Intelligent Automation. In this system, RPA works to automate repetitive tasks, while AI does the thinking job.

    What are the advantages?

    With these AI and RPA technologies working together for intelligent automation, there are no limits to what you can achieve. You can automate almost all office processes entirely from end to end. Here are some benefits organizations stand to gain from intelligent automation:

    1. Speed:

    With intelligent automation, you can optimize output by spending less time on menial tasks that are taking valuable time. Handling times will reduce by half, especially when you automate from end to end. Ultimately leading to better customer satisfaction and improved results.

    2. Accuracy:

    With intelligent automation, there would be fewer errors and more accuracy. That is because the process reduces human interference to the barest minimum. Also, the AI complements the RPA system and removes the possibilities of mistakes in rules application. Hence, data is more accurate, and consequently, data-driven decisions are correct as well.

    3. Continuity of Service

    Humans always need a break to function optimally. Robots, on the other hand, can work all through the day, non-stop. With Intelligent automation, you can replace humans with AI and have RPA handle the less intelligent parts of the process.

    4. Greater Efficiency in processing

    In terms of actual savings, intelligent automation has been proven to cut business process costs by anywhere from 25% to 40% on average

    5. Control:

    With intelligent automation, companies can ramp-up or ramp-down their capacity instantly. Interestingly, this is not as expensive as getting traditional models. With this, the company can adapt to demand fluctuations, so it doesn’t affect staff or customers in a short period of time.

    Success Factors for Intelligent Automation

    For a system with intelligent automation to succeed, the following must be in place:

    · First, you need a goal and a strategy for the process. To come up with these, be sure to carry along all stakeholders in the firm.

    · Consider the process that gives the best results. Remember, you are seeking speed and aiming to reduce cost in the long run. So, choose your options along that line.

    · You need a team of highly skilled resources to bring your plans to reality.

    You need to measure the success of the automation by checking the ROI of this intelligent automation.

    The motive behind any business improvement purchase is to maximize profit which can be done either by increasing revenue or reducing running cost.

    Revenue and costs, however, are not the only ways to check results. Each organization, depending on its goals, would have different metrics for measuring success. But then, for most companies, doing a pre-and post-automation evaluation usually does the trick.

    Are There Risks and Challenges?

    Intelligent automation offers endless possibilities and, at the same time, poses some challenges.

    One of the most significant risks is the displacement of workers. With automation of any kind comes the loss of jobs for many people whose jobs can be handled by machines.

    There is also a risk of exposing sensitive human data over the internet, data stored up could be stolen and used for unprofessional reasons.

    Furthermore, among the challenge is the issue of capital. At present, it takes a lot of financial investments in automation. Starting from the design to implementation of automation can cost millions of dollars. Also, the system would require a higher level of maintenance than the regular RPA process.

    The low number of skilled professionals in this area limits its reachability. The system, as of today, is still at the development and acceptance stage. Therefore, currently available solutions might not be fit for the needs of a specific area.

    Conclusion

    In the end, the benefits that come with Intelligent Automation outweigh its challenges by far. Also, some of these problems could even be solved in the long run as the AI system learns from data.

    As a business owner, intelligent automation is the best way to scale up and take your business to the next level. You need not hold back on embracing this innovation. As far as you are sure your company can benefit from it, speak with experts, and start adopting it.

    Don’t forget to give us your 👏 !


    AI in Robotic Process Automation was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.

  • IBM Watson Assistant model monitoring and improvements.

    For the last 4 years I’ve been building a chatbot in IBM Watson and for four years I’ve been plagued with the same three issues.

    • How do I know if new ground truths I’m adding aren’t just creating more confusion in the model?
    • How do I know what the best way to split my intents so they’re well defined?
    • How do I understand what customers are asking at scale?

    None of these challenges are unique to IBM Watson like all off the shelf SaaS products in the Chatbot space the convenience of having a simple interface and not needing to be an expert in NLP or Chatbots to get started does leave a lot of the behind the scenes workings with an air of mystery about them, that you’re not going to be able to fully optimise for if you’d built an NLP pipeline yourself. One thing Watson does provide which not all platforms do is a Confidence score which is a number between 0 an 1 representing the similarity between data inside of your intents ground truths (Example question and data) vs what the customer asked. One important thing to note is people mistakenly believe that if your top scoring intent is 85% then that means all the other intents confidences will add up to 15% combined. This isn’t right each intent is appraised and scored independent of one another so it’s possible for Intent 1 to have a score of 95% and Intent 2 a score of 93% this is important and we’l come back to this later. Watson will actually allow us to return the top 10 Intents and their scores if we wanted to expand the scope of our investigation but we’re just sticking to the winner and runner up.

    The first step in finding an answer to these problems was to collect prime customer given unambigous examples of questions that customers have used and should always return the expected answer and do so with at least a moderate degree of confidence. I look through my logs and find what I think are good examples of customer questions and put them in a CSV file. I want to repeatedly run these questions as I’m tweaking my ground truth data. It’s important to use customer questions as they’re the best source of data even if they’re not always the most succinct way of asking a question. There’s often a vast difference between how an Subject Matter Expert summarises an example of a good question and how a customer asks it your model should be trained for your users not your in house SMEs.

    When collecting data it’s important to decide for yourself what intent should be triggered and not just the intent that was triggered by the system. Taking your labels from the system is almost certainly going to return the same labels defeating the purpose of this exercise!

    I always focus on a few main metrics to understand the model I’ve created and how close to disaster I potentially am.

    • How clearly my model matches my customers questions which is denoted by getting the right intent and when it doesn’t get the right intent what intent is it getting.
    • How Confident it is in getting the right intent by it’s Confidence score.
    • How well defined my datat is based on what the second highest scoring intent was and it’s how close it is to the best scoring.

    Trending Bot Articles:

    1. Case Study: Building Appointment Booking Chatbot

    2. IBM Watson Assistant provides better intent classification than other commercial products according to published study

    3. Testing Conversational AI

    4. How intelligent and automated conversational systems are driving B2C revenue and growth.

    I run these questions in bulk and repeatedly using the messaging API this allows me to generate a comprehensive report time and time again, using the same questions provides me with a good milestone to get a much deeper understanding of my model. I can know that when I’ve added new content and intents that my old intents are still working and if there are changes in the scores then I’m able to appreciate how everything has changed and reflect at the full picture rather than getting frustrated as question after question starts to fail.

    This post is to accompany a Github notebook and to provide context on why these metrics are useful https://github.com/CallumK24/Watson-Degradation-Tester

    Metric 1 Correct Response.

    The simplest metric of the three. Did the prediction for what Intent should be triggered actually get triggered?

    If I’m encountering conflicts where I frequently think a question should be triggering Credit Card statement but it’s frequently triggering an intent called Order New Card then that’s a sign that my ground truths need some work.

    You can turn this into a percentage and calcualate how often your prime examples generate the correct answer. (This should be high this data is hand picked to be accurate)

    Using a simple confusion matrix the Examples that matched vs the unmatched examples can be clearly shown like the below to remove the manual sorting and filtering, giving a quick visual reference when you have a large number of intents. You can quickly identify poorly performing intents on as the predicted are on the Y axis and the Actual are shown on the X axis.

    The below example shows all intents match up as expected with no outliers in this sample data. Poorly performing intents will be a less solid red following the pattern through. It’s important to make sure you have at least one example per intent to compare against otherwise you’ll have data that doesn’t perfectly line up.

    A question mapping to its correct intent is the most important metric, and the one that you want to keep rerunning as even though you’re not looking at the final answer provided by your bot, the likelihood is that it’s not a problem with your model that you can’t foresee it’s a problem with your logic and node triggers which you can.

    Metric 2 Average Confidence per Intent.

    A more complex metric but nearly as important is if my prediction matches the outcome then what is the confidence score for that one question and what is the average across all matching intents and questions this frames an intent in a new way. It allows you to see an intent and it’s examples in terms of their average rather than just on a question by question basis.

    You can take the average of Matched and Unmatched confidences, when you’re right you want to be right in a big way getting a high average confidence and when you’re wrong you want to have a lower average confidence. If you see a lot of high confidence unmatched results for a specific intent then this is an area that you need to focus on by either merging the intents or deleting poorly performing ground truths.

    With my results I created a simple box and whisker to visualise the differences in performance for each intent. Previously I was just creating a table of averages but it completely lacks the context of the average vs the distribution which when trying to get an overview is something that you’ll need.

    Metric 3 How well defined the top intent is from it’s nearest competitor.

    Confidence scores in Watson Assistant are generated between 0 and 1. Let’s pretend that pretend for an example there’s only 2% between the top scoring intent and it’s nearest competitor and both are at the top of the range at 92% and 90% It shows that while you may have gotten a match between Expected and Actual your model isn’t comfortably confident that it truly understands the difference between Intent A and Intent B

    We’re not matching Intent A vs a specific Intent only it’s next closest match, we can use the data to do this manually there’s just not a succinct and simple way of showing this data across the entire dataset consistently if you have over 150 intents it can be incredibly messy to visually represent.

    Each intents average score difference between that intent and the next top scoring intents. The higher the better.

    Pulling it all together

    These metrics while quite basic by themselves are powerful when combined together have enabled me to actually fix problems and see where there are gaps in my understanding of my own model. Working with a tool that’s as easy to use as Watson is great but if I want to make sure I’m extracting all the value I can then I need to make sure that the data I’m using and how I’m choosing to structure my data is optimised for the algorithm that is itself a trade secret.

    Being able to look at how well defined a customer question is and how well defined it is from it’s nearest neighbour allows me to confidently say that the model isn’t confused with where I’ve allocated questions to my intents and that the customer data I’m testing is accurate enough to be confidently answered by my ground truths.

    Being able to look at the averages per intent allows me to understand at scale what my average performance is for an intent and what my problem areas are I can use my confusion matrix to see where my intents are getting mixed up and I can use my bar horizontal bar chart to look how well defined each intent is.

    This is by no means the definitive guide and won’t be appropriate for everyone but it’s a good place to start and adapt to suit to your own needs.

    Don’t forget to give us your 👏 !


    IBM Watson Assistant model monitoring and improvements. was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.

  • Building Conversational Bot with Custom workflows using Google DialogFlow Contexts Part 2

    This is in continuation to my previous for showing contexts capabilities in DialogFlow, I will cover implementation for setting up contexts in Dialogflow project and backend fulfillment changes using DialogFlow SDK and NodeJS.

    Complete implementation is available here.

    Setup Dialogflow project

    1. Download sample DialogFlow exported zip from this link.
    2. Create new dialogFlow project using steps from previous post.
    3. Once done go to DialogFlow console

    3. Click on setting section

    4. Select “Export and Import” link from right section.

    Trending Bot Articles:

    1. Case Study: Building Appointment Booking Chatbot

    2. IBM Watson Assistant provides better intent classification than other commercial products according to published study

    3. Testing Conversational AI

    4. How intelligent and automated conversational systems are driving B2C revenue and growth.

    5. Next click “Restore from zip” link from right section and browse zip downloaded earlier and upload . This will overwrite existing project and restore sample context example project.

    6. Next step is to setup fulfillment api and configure it in DailogFlow project Select “Export and Import” link from right section.

    7. Follow github link for NodeJS project and clone it

    7. Open terminal and go inside cloned folder and run npm i command (assuming npm already installed )

    8. Start app using node app.js and server will be listening on port 4000

    9. Test running browser and hitting link http://localhost:4000/google

    {“error”:”No intent was provided and fallback handler is not defined.”}

    This means setup is working fine.

    Next steps is to expose local running api over internet so it can be configured on Dialogflow fulfillment section.

    ngrok – secure introspectable tunnels to localhost

    Download ngrok install and run it with same port of application

    e.g. ./ngrok http 4000

    10. Go to Dialogflow console and update fulfillment link .

    Now go to action-on-google console and test application . Below is sample running example:-

    Conclusion

    This shows contexts are very essence for DialogFlow NLP engine and provide needed navigation controls on user journey in flow.

    Connect with me on LinkedIn

    Don’t forget to give us your 👏 !


    Building Conversational Bot with Custom workflows using Google DialogFlow Contexts Part 2 was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.

  • A Comprehensive Guide To Understanding Chatbots

    Organizations are significantly utilizing Chatbots to automate their internal business processes, productivity, boost revenue and enhance the customer experience.

    Juniper Research forecasts that chatbot conversations will be responsible for cost savings of over $8 billion per annum by 2022.

    The conversational interface of chatbots simplify everyday workflows for employees and eliminates the hassle of switching multiple apps. Chatbots act as a single point of contact to get tasks done and access information. The use cases of chatbots are diverse and emerging across functions and industries. Enterprise leaders should have a powerful bot strategy to make the most of this technology.

    Learn more here – A Comprehensive Guide To Understanding Chatbots

    submitted by /u/Sri_Chaitanya
    [link] [comments]

  • 5 Tips To Maximize Office 365 Adoption

    According to Gartner, 33% of businesses will adopt cloud-based office suites by 2017 and 60% by 2022.

    Yet, many organizations are struggling with O365 adoption which is taking a toll on the investment made. Success factors impacting Office 365 adoption has to do with multiple reasons including the resistance of adopting the new technology among staff.

    While your IT team is pouring in its best efforts to ensure an error-free deployment, there seems to be an unnoticed gap building between the end-users and their adoption of new technology. Often IT teams fail to make the users realise the promising benefits that a technology platform like Office 365 can bring in.

    So how can you drive faster, sustainable and effective o365 adoption? Go through the tips here to ensure a successful Office 365 adoption.

    submitted by /u/Sri_Chaitanya
    [link] [comments]

  • Serious videochat app

    Do someone know about an ap where gou could make videochat with random people in the world and talking about something, an app wich is serious and people not use that to have sex?

    submitted by /u/EternalAstral
    [link] [comments]