Slide 1

Slide 1 text

Beam me up, Botti!

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

This is a very very very long gag @hendrikEbbers Hendrik Ebbers • I (and collect) boardgames • I STARWARS • I Hardrock • I Dogs

Slide 4

Slide 4 text

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'

Slide 5

Slide 5 text

About (Chat)Bots

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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)

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

This is a very very very long gag • Simple visual editors to de fi ne fl ows @hendrikEbbers Chatbots in Enterprise

Slide 12

Slide 12 text

This is a very very very long gag @hendrikEbbers Chatbots in Enterprise Let's start a conversation...

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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'

Slide 17

Slide 17 text

This is a very very very long gag @hendrikEbbers Chatbots in Enterprise REALLY???

Slide 18

Slide 18 text

This is a very very very long gag @hendrikEbbers Chatbots in Enterprise REALLY??? Let's try it again ...And Again ...And Again

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

This is a very very very long gag @hendrikEbbers Chatbots in Enterprise

Slide 21

Slide 21 text

This is a very very very long gag @hendrikEbbers Chatbots in Enterprise HA! Looks like I found a bug .

Slide 22

Slide 22 text

This is a very very very long gag @hendrikEbbers Chatbots in Enterprise ... ok, now I really need some strong coffee

Slide 23

Slide 23 text

This is a very very very long gag @hendrikEbbers Chatbots in Enterprise

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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/

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

Let's build a ChatBot

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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 :)

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

This is a very very very long gag @hendrikEbbers Let's build a Chatbot

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

Rise of the machines

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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()); });

Slide 40

Slide 40 text

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()); });

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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...

Slide 45

Slide 45 text

This is a very very very long gag @hendrikEbbers Intelligent ChatBotISM

Slide 46

Slide 46 text

This is a very very very long gag @hendrikEbbers Intelligent ChatBotISM

Slide 47

Slide 47 text

This is a very very very long gag @hendrikEbbers Intelligent ChatBotISM

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

This is a very very very long gag @hendrikEbbers Neural Network Models • OpenAI is a non pro fi t research organisation for AI

Slide 50

Slide 50 text

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/

Slide 51

Slide 51 text

This is a very very very long gag @hendrikEbbers Neural Network Models • OpenAI is mostly fi nanced by Elon Musk and Microsoft

Slide 52

Slide 52 text

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

Slide 53

Slide 53 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.

Slide 54

Slide 54 text

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/

Slide 55

Slide 55 text

This is a very very very long gag @hendrikEbbers GPT Samples https://app.inferkit.com/demo https://gpt3demo.com

Slide 56

Slide 56 text

This is a very very very long gag @hendrikEbbers GPT-3 Sample two GPT-3 AIs having a conversation https://youtu.be/jz78fSnBG0s

Slide 57

Slide 57 text

This is a very very very long gag @hendrikEbbers AI based Chatsbots Natural Language Processing Bot Logic Machine Learning Information Sources Actions Message

Slide 58

Slide 58 text

AI 101

Slide 59

Slide 59 text

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

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

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

Slide 62

Slide 62 text

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 !

Slide 63

Slide 63 text

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)

Slide 64

Slide 64 text

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

Slide 65

Slide 65 text

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

Slide 66

Slide 66 text

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

Slide 67

Slide 67 text

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

Slide 68

Slide 68 text

How to survive the ROBOT UPRISING

Slide 69

Slide 69 text

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?

Slide 70

Slide 70 text

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

Slide 71

Slide 71 text

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

Slide 72

Slide 72 text

Stay safe & healthy

Slide 73

Slide 73 text

@hendrikEbbers dev.karakun.com