Share
Embed
Beam me up Botti
Hendrik Ebbers
September 17, 2021
Transcript
73 slides
-
This is a very very very long gag @hendrikEbbers Hendrik
Ebbers • Karakun Co-Founder • Founder of JUG Dortmund • JSR EG member • JavaOne Rockstar, Java Champion • AdoptOpenJDK / Adoptium TSC member -
This is a very very very long gag @hendrikEbbers Hendrik
Ebbers • I (and collect) boardgames • I STARWARS • I Hardrock • I Dogs -
This is a very very very long gag @hendrikEbbers Content
• About (chat)bots • How to code a chatbot • About user data • Rise of the machines • How to survive the robot uprising Fundamentals of 'Natural Language Processing' -
This is a very very very long gag • Today
many companies run chatbots as messaging apps or simply via SMS • Maybe you do not want to buy your new shoes by using a chatbot... • ... but maybe you want to contact your insurance with the help of a bot @hendrikEbbers About Chatbots Botti -
This is a very very very long gag @hendrikEbbers About
Chatbots • Chatbots can bet very helpful when • you want to break down a complexe work fl ow to an enduser • the given functionality is not joyful for the user (like shopping would be for example) -
This is a very very very long gag @hendrikEbbers About
Chatbots • The quality and functionality between chatbots differs a lot • Most simple chatbots are just based on work fl ow with multiple choice • In general we can differ between rule based and AI based bots -
This is a very very very long gag @hendrikEbbers Rule
Based Chatbots "Hello, how can I help you?" "I want to rent a car" "I want to report an accident" "I want to search for a shop" start end -
This is a very very very long gag • Already
several chatbot products on the market • "Simple to con fi gure" • "Ready for your enterprise" @hendrikEbbers Chatbots in Enterprise -
This is a very very very long gag • Simple
visual editors to de fi ne fl ows @hendrikEbbers Chatbots in Enterprise -
This is a very very very long gag @hendrikEbbers Chatbots
in Enterprise Let's start a conversation... -
This is a very very very long gag @hendrikEbbers Chatbots
in Enterprise Let's start a conversation... Looks like the bot is busy doing important stuff It took around 20 sec for the first answer -
This is a very very very long gag @hendrikEbbers Chatbots
in Enterprise Let's start a conversation... Looks like the bot is busy doing important stuff It took around 20 sec for the first answer Let's start with an easy answer -
This is a very very very long gag @hendrikEbbers Chatbots
in Enterprise ... I'm with stupid I'm here to talk. Let's start a conversation -
This is a very very very long gag @hendrikEbbers Chatbots
in Enterprise ... I'm with stupid I'm here to talk. Let's start a conversation ... with the meaningful message '5' -
This is a very very very long gag @hendrikEbbers Chatbots
in Enterprise REALLY??? -
This is a very very very long gag @hendrikEbbers Chatbots
in Enterprise REALLY??? Let's try it again ...And Again ...And Again -
This is a very very very long gag @hendrikEbbers Chatbots
in Enterprise REALLY??? Let's try it again ...And Again ...And Again ... I really waited several seconds after each message but nothing happened -
This is a very very very long gag @hendrikEbbers Chatbots
in Enterprise HA! Looks like I found a bug . -
This is a very very very long gag @hendrikEbbers Chatbots
in Enterprise ... ok, now I really need some strong coffee -
This is a very very very long gag @hendrikEbbers Best
Practices for Chat-Bots • Make sure your chatbot has (a voice and) a character • Use buttons that eases navigation and improve UX (when possible) • Provide users an easy exit -
This is a very very very long gag @hendrikEbbers Best
Practices for Chat-Bots • Make sure your chatbot has (a voice and) a character • Use buttons that eases navigation and improve UX (when possible) Great example for a dynamic selection list Much better than typing numbers https://research.aimultiple.com/chatbot-best-practices/ -
This is a very very very long gag @hendrikEbbers Best
Practices for Chat-Bots • Use creative fallback responses • Always have a button that directs user to a human • Work with experts and test, test, test Is your friend java.util.Random -
This is a very very very long gag @hendrikEbbers Let's
build a Chatbot • Several services / apps / tools provide interfaces for custom chatbots • Next to this chatbots can be created as stand alone software / custom integration in software -
This is a very very very long gag @hendrikEbbers Chatbots
in Discord Hendrik Hallo ist hier jemand? Bot Hallo neuer User 'Hendrik'. Ich bin der Bot dieses Forums und begrüße alle neuen Benutzer :) -
This is a very very very long gag @hendrikEbbers Let's
build a Chatbot • In general each chatbot is a simple observer • If you understand the observer / listener pattern you can create a chatbot • Let's have a look at a sample I can hear you -
This is a very very very long gag @hendrikEbbers Let's
build a Chatbot final API api = API.create(CONNECTION_TOKEN); final Channel channel = api.getChannel("general"); channel.observe(EventType.NEW_MESSAGE, event -> { channel.sendMessage("Hi " + event.getAuthor()); }); Connection to service (like Discord) Listen & react to new messages -
This is a very very very long gag @hendrikEbbers Let's
build a Chatbot final API api = API.create(CONNECTION_TOKEN); final Channel channel = api.getChannel("random"); Executors.newSingleThreadExecutor().execute(() -> { while(true) { sleepTillMorning(); var m = "Today I try to take over the world!"; channel.sendMessage(message); } }); Interact directly with Service -
This is a very very very long gag @hendrikEbbers Let's
build a Chatbot channel.observe(EventType.NEW_MESSAGE, event -> { if(event.getMessage().startsWith("!help")) { channel.sendMessage(HELP_TEXT); } else if(event.getMessage().startsWith("!hi")) { channel.sendMessage("Hi " + event.getAuthor()); } else if(event.getMessage().startsWith("!dice6")) { channel.sendMessage(randomInt(6)); } }); This is how most Discord Bots work -
This is a very very very long gag @hendrikEbbers Let's
build a Chatbot -
This is a very very very long gag @hendrikEbbers Register
your Chatbot in Discord • Discord (and others) provides an easy way to register bots to servers (BUILD-A-BOT) https://discordpy.readthedocs.io/en/stable/discord.html -
This is a very very very long gag @hendrikEbbers Collecting
Data • A (chat)bot needs data to react on events and interact with users • The more data a bot has the better it can react -
This is a very very very long gag @hendrikEbbers Collecting
Data • Even with the given trivial examples a lot of data can be collected ... • ... and stored ... • ... and used to fi nd out more information about the users -
This is a very very very long gag @hendrikEbbers Let's
build a Chatbot channel.observe(EventType.USER_ENTERS_CHANNEL, event -> { DbService.storeLogin(LocalDateTime.now(), event.getUser()); }); channel.observe(EventType.USER_LEAVE_CHANNEL, event -> { DbService.storeLogout(LocalDateTime.now(), event.getUser()); }); -
This is a very very very long gag @hendrikEbbers Let's
build a Chatbot channel.observe(EventType.NEW_MESSAGE, event -> { DbService.storeMessage(LocalDateTime.now(), event.getUser(), event.getMessage()); }); -
This is a very very very long gag @hendrikEbbers Collecting
Data • Now we can easily estimate / calculate when a user is normally online / at home • Now we can calculate relations between users • Now we can extract interests of users -
This is a very very very long gag @hendrikEbbers Spread
the word • People that are much smarter than me can no extract individual & private information • ... and create an individual user pro fi le • ... and let the bot interact in a speci fi c way based on pro fi le More diabolic -
This is a very very very long gag @hendrikEbbers Spread
the word • To create really good fake news a rule based bot is not enough! • For world domination we need an AI based bot -
This is a very very very long gag @hendrikEbbers Intelligent
ChatBots • More and more ChatBots after based on AI • AI allows more complexe work fl ows • Until now we looked at simple rule based chatbots • Let's imagine what a AI based bot can do... -
This is a very very very long gag @hendrikEbbers Neural
Network Models • Several companies and communities worked on AI models values that a neural network tries to optimize during training -
This is a very very very long gag @hendrikEbbers Neural
Network Models • OpenAI is a non pro fi t research organisation for AI -
This is a very very very long gag @hendrikEbbers Neural
Network Models "Generative Pre-trained Transformer (GPT) are a series of deep learning based language models built by the OpenAI team. These models are known for producing human-like text in numerous situations." https://research.aimultiple.com/gpt/ -
This is a very very very long gag @hendrikEbbers Neural
Network Models • OpenAI is mostly fi nanced by Elon Musk and Microsoft -
This is a very very very long gag @hendrikEbbers Neural
Network Models • Generative Pre-trained Transformer 3 (GPT-3) from OpenAI is the most complexe model that is known today Section shown on previous slides GPT-3 trained on 40GB of text -
This is a very very very long gag @hendrikEbbers GPT-3
Model • 75 billions of parameters (T-NLG-Modell from Microsoft has 17 billions) • The model worked so well that the creators themselves became afraid of it. -
This is a very very very long gag @hendrikEbbers Headline
"The latest GPT model, GPT-3, is closed source as Microsoft has licensed its exclusive use. This was widely criticized in the tech community as OpenAI with its mission to bene fi t all humanity, has chosen to work exclusively for the bene fi t of one of the largest tech companies." https://research.aimultiple.com/gpt/ -
This is a very very very long gag @hendrikEbbers GPT
Samples https://app.inferkit.com/demo https://gpt3demo.com -
This is a very very very long gag @hendrikEbbers GPT-3
Sample two GPT-3 AIs having a conversation https://youtu.be/jz78fSnBG0s -
This is a very very very long gag @hendrikEbbers AI
based Chatsbots Natural Language Processing Bot Logic Machine Learning Information Sources Actions Message -
This is a very very very long gag @hendrikEbbers Machine
Learning • Machine learning (ML) is the generic term for computer algorithms that can improve automatically through experience and by the use of data. Art Deep Learning Machine Learning Arti fi cial Intelligence -
This is a very very very long gag • Deep
learning de fi nes machine learning methods that are based on arti fi cial neural networks • Uses multiple layers to progressively extract higher-level features from the raw input @hendrikEbbers Deep Learning -
This is a very very very long gag @hendrikEbbers TensorFlow
• TensorFlow is a free and open-source library for machine learning and arti fi cial intelligence. • TensorFlow provides APIs for Python, C, C++, Go, Java, JavaScript and Swift • Third-party packages are available for C#, Haskell, Julia, MATLAB, R, Scala, Rust, OCaml, and Crystal Developed by Google https://github.com/tensorflow/tensorflow -
This is a very very very long gag @hendrikEbbers Natural
Language Processing • Natural language processing (NLP) is a sub fi eld of linguistics, computer science, and arti fi cial intelligence • Research on how natural language can be processed • Can be used for text & speech Now I can even shout at you ! -
This is a very very very long gag @hendrikEbbers Natural
Language Processing • Example use cases for NLP: • Google Translate • Siri / Alexa • Autocorrection in word processing tools • The Star Trek computer (voice) -
This is a very very very long gag @hendrikEbbers Hibu
Platform • Platform based on enterprise search, language analytics and arti fi cial intelligence • Rule-based, statistical and neural AI tools are available for the implementation of customer requirements -
This is a very very very long gag @hendrikEbbers Hibu
Platform Namenserkennung Themenerkennung Textklassifikation Informationsextraktion Sentimentanalyse Annotation Recommender-Systeme Ähnlichkeitsbestimmung Intelligente Suche Kombination von Komponenten Tabellenextraktion OCR -
This is a very very very long gag @hendrikEbbers Turing
Test • Originally called the imitation game by Alan Turing in 1950 • Test a machine to exhibit intelligent behaviour equivalent to a human. • If a human does not notice that a chat partner is a machine the test is passed -
This is a very very very long gag @hendrikEbbers Turing
Test • In 2014, chat-bot named Eugene Goostman passed the Turing test when it received votes from 33% of the judges who believed that the chat-bot was human. • The chat-bot mimicked the personality of a 13-year-old boy. • Thoughts regarding GPT-3: https://bit.ly/2XjRvY6 -
This is a very very very long gag @hendrikEbbers The
Robot Uprising • Arti fi cial intelligence becomes more mainstream every day • Already today we need to think about AI and ethics Racist robots - How do we eliminate AI bias? -
This is a very very very long gag @hendrikEbbers The
Robot Uprising • We need rules and list about ethic assessment for AIs • The European Union already published guides and list https://bit.ly/3hDIUqt -
This is a very very very long gag @hendrikEbbers The
Robot Uprising • We as developers should check what kind of data is stored by applications and services • Everyone of us needs to be aware of problems and issues that we will be confronted with in near future