The document discusses different types of chatbots including purposeless mimicry agents that respond based on example data, intention-based agents that identify user intents and take corresponding actions, and conversational agents that understand natural language through techniques like sequence-to-sequence models, context free grammars, and compositional semantics to determine intent. It also covers challenges like understanding ambiguous language through context and prosody rather than just words. The document provides examples and code resources for building various types of chatbots.
Data Day Seattle, Chatbots from First PrinciplesJonathan Mugan
The document discusses different types of chatbots, including purposeless mimicry agents, intention-based agents, and conversational agents. It provides examples of modern mimicry agents that use machine learning on example dialogs. Intention-based agents identify user intents in order to take actions, using techniques like keyword matching or text classification. Natural language understanding involves parsing sentences with context-free grammars and compositional semantics to extract meaning representations.
The document discusses the use of neural networks and deep learning techniques like word2vec and seq2seq models to develop representations of language that computers can understand without explicit symbolic representations or rules. It notes that while these techniques have achieved success, computers still lack a grounded understanding of language and the ability to reason about language based on real-world experiences and commonsense knowledge.
From Natural Language Processing to Artificial IntelligenceJonathan Mugan
Overview of natural language processing (NLP) from both symbolic and deep learning perspectives. Covers tf-idf, sentiment analysis, LDA, WordNet, FrameNet, word2vec, and recurrent neural networks (RNNs).
Introduction to Natural Language ProcessingPranav Gupta
the presentation gives a gist about the major tasks and challenges involved in natural language processing. In the second part, it talks about one technique each for Part Of Speech Tagging and Automatic Text Summarization
This lectures provides students with an introduction to natural language processing, with a specific focus on the basics of two applications: vector semantics and text classification.
(Lecture at the QUARTZ PhD Winter School (http://www.quartz-itn.eu/training/winter-school/ in Padua, Italy on February 12, 2018)
Big Data and Natural Language ProcessingMichel Bruley
Natural Language Processing (NLP) is the branch of computer science focused on developing systems that allow computers to communicate with people using everyday language.
Data Day Seattle, Chatbots from First PrinciplesJonathan Mugan
The document discusses different types of chatbots, including purposeless mimicry agents, intention-based agents, and conversational agents. It provides examples of modern mimicry agents that use machine learning on example dialogs. Intention-based agents identify user intents in order to take actions, using techniques like keyword matching or text classification. Natural language understanding involves parsing sentences with context-free grammars and compositional semantics to extract meaning representations.
The document discusses the use of neural networks and deep learning techniques like word2vec and seq2seq models to develop representations of language that computers can understand without explicit symbolic representations or rules. It notes that while these techniques have achieved success, computers still lack a grounded understanding of language and the ability to reason about language based on real-world experiences and commonsense knowledge.
From Natural Language Processing to Artificial IntelligenceJonathan Mugan
Overview of natural language processing (NLP) from both symbolic and deep learning perspectives. Covers tf-idf, sentiment analysis, LDA, WordNet, FrameNet, word2vec, and recurrent neural networks (RNNs).
Introduction to Natural Language ProcessingPranav Gupta
the presentation gives a gist about the major tasks and challenges involved in natural language processing. In the second part, it talks about one technique each for Part Of Speech Tagging and Automatic Text Summarization
This lectures provides students with an introduction to natural language processing, with a specific focus on the basics of two applications: vector semantics and text classification.
(Lecture at the QUARTZ PhD Winter School (http://www.quartz-itn.eu/training/winter-school/ in Padua, Italy on February 12, 2018)
Big Data and Natural Language ProcessingMichel Bruley
Natural Language Processing (NLP) is the branch of computer science focused on developing systems that allow computers to communicate with people using everyday language.
Adnan: Introduction to Natural Language Processing Mustafa Jarrar
This document provides an introduction to natural language processing (NLP). It discusses key topics in NLP including languages and intelligence, the goals of NLP, applications of NLP, and general themes in NLP like ambiguity in language and statistical vs rule-based methods. The document also previews specific NLP techniques that will be covered like part-of-speech tagging, parsing, grammar induction, and finite state analysis. Empirical approaches to NLP are discussed including analyzing word frequencies in corpora and addressing data sparseness issues.
The document discusses implementing chatbots using deep learning. It begins by defining what a chatbot is and listing some popular existing chatbots. It then describes two types of chatbot models - retrieval-based models which use predefined responses and generative models which continuously learn from conversations. The document focuses on implementing a retrieval-based model using the Ubuntu Dialog Corpus dataset and a dual encoder LSTM network model in TensorFlow. It outlines the preprocessing, model architecture, creating input functions, training, evaluating, and making predictions with the trained model.
This document provides an overview of natural language processing (NLP) and the use of deep learning for NLP tasks. It discusses how deep learning models can learn representations and patterns from large amounts of unlabeled text data. Deep learning approaches are now achieving superior results to traditional NLP methods on many tasks, such as named entity recognition, machine translation, and question answering. However, deep learning models do not explicitly model linguistic knowledge. The document outlines common NLP tasks and how deep learning algorithms like LSTMs, CNNs, and encoder-decoder models are applied to problems involving text classification, sequence labeling, and language generation.
The document discusses a lecture on developing an AI chatbot using Python and TensorFlow, covering setting up a Docker environment, explaining example code in Jupyter notebooks, and introducing the two speakers and their backgrounds working on machine learning and chatbots.
Naive Bayes classifiers are a simple yet effective method for sentiment analysis and text classification problems. They work by calculating the probability of a document belonging to a certain class based on the presence of individual words or features, assuming conditional independence between features given the class. This allows probabilities to be estimated efficiently from training data. While the independence assumption is often unrealistic, naive Bayes classifiers generally perform well compared to more sophisticated approaches. The document discusses various techniques for preprocessing text like tokenization, stemming, part-of-speech tagging, and negation handling to improve the accuracy of naive Bayes classifiers for sentiment analysis tasks.
Devoxx traitement automatique du langage sur du texte en 2019 Alexis Agahi
This document contains a summary of a presentation on natural language processing of text given at Devoxx in April 2019. It discusses using natural language processing for contract management, data extraction, and review. The document also mentions using a machine learning pipeline to analyze documents and extract titles.
The document provides tips for developing Korean chatbots, including discussing chatbot goals, architectures, data collection, natural language processing tools, and machine learning algorithms. It recommends focusing chatbots for business on a small number of important intents, using a modular architecture for easier debugging, and training natural language tools on domain-specific data collected from sources like web scraping.
The document discusses different types of chatbots and how artificial intelligence can be used to power them. It covers topics like scripted chatbots versus more advanced bots using techniques like natural language understanding and machine learning. The document also examines word embeddings, an important technique for representing words as numeric vectors that has helped advance natural language processing and chatbots. It provides examples of how embeddings can be used for tasks like intent classification, entity recognition, determining word similarity and analogy.
Grammarly AI-NLP Club #2 - Recent advances in applied chatbot technology - Jo...Grammarly
Speaker: Jordi Carrera Ventura, Artificial Intelligence technologist at Telefónica R&D
Summary: Chatbots (aka conversational agents, spoken dialogue systems) allow users to interface with computers using natural language by simply asking questions or issuing commands.
Given a query, the chatbot builds a semantic representation of the input, transforms it into a logical statement, and performs all the necessary actions to fulfill the user's intent. Sometimes this simply means calculating an exact answer or retrieving a fact from a database, whereas other times it means building a contextual model and running a full-fledged conversation flow while keeping track of anaphoras and cross-references.
Besides the direct applications of chatbots in IoT (Amazon’s Alexa, Apple's Siri) and IT (the historical field of Information Retrieval as a whole can be seen as a sub-problem of spoken dialogue systems), chatbots' main appeal for technologists is their location at the intersection of all major Natural Language Processing technologies and many of the deepest questions in Cognitive Science today: semantic parsing, entity recognition, knowledge representation, and coreference resolution.
In this talk, I will explore those questions in the context of an applied industry setting, and I will introduce a framework suitable for addressing them, together with an overview of the state-of-the-art in chatbot technology and some original techniques.
The document provides an introduction to natural language processing (NLP), discussing key related areas and various NLP tasks involving syntactic, semantic, and pragmatic analysis of language. It notes that NLP systems aim to allow computers to communicate with humans using everyday language and that ambiguity is ubiquitous in natural language, requiring disambiguation. Both manual and automatic learning approaches to developing NLP systems are examined.
Natural Language Processing for Games ResearchJose Zagal
This document discusses how natural language processing (NLP) techniques can help analyze large amounts of text data from games to aid research in game studies. It provides examples of using NLP for part-of-speech tagging, syntactic parsing, and analyzing game reviews and player language to study gameplay descriptions. The document argues that NLP allows researchers to verify hypotheses and explore new questions at a scale not previously possible by automatically processing vast amounts of game text data.
It's a brief overview of Natural Language Processing using Python module NLTK.The codes for demonstration can be found from the github link given in the references slide.
Natural Language Processing (NLP) is a field of computer science concerned with interactions between computers and human languages. NLP involves understanding written or spoken language at various levels such as morphology, syntax, semantics, and pragmatics. The goal of NLP is to allow computers to understand, generate, and translate between different human languages.
HackYale - Natural Language Processing (Week 0)Nick Hathaway
Slides for a course I taught on Natural Language Processing covering corpus manipulation, word tokenization and text classification tasks using Python's popular Natural Language Toolkit.
Natural language processing involves parsing text using a lexicon, categorization of parts of speech, and grammar rules. The parsing process involves determining the syntactic tree and label bracketing that represents the grammatical structure of sentences. Evaluation measures for parsing include precision, recall, and F1-score. Ambiguities from multiple word senses, anaphora, indexicality, metonymy, and metaphor make parsing challenging.
Este documento presenta un juego de preguntas y respuestas sobre vehículos, armas y entretenimiento, donde el jugador puede ganar un millón de dólares al responder correctamente. El jugador es presentado con 10 preguntas múltiples con 4 opciones cada una sobre temas como autos, motos, aviones, helicópteros, videojuegos y series de televisión. Al final se indica que el jugador ganó el millón de dólares al responder todas las preguntas correctamente.
Fernando mentor-sucesso-universidade-polishop-ciclo-do-sucesso-110519084826-p...Vera Rodrigues Prates
Este documento fornece orientações sobre como construir um negócio de sucesso por meio de 8 etapas: 1) convidar contatos, 2) mostrar o plano de negócios, 3) acompanhar os novos membros, 4) buscar conselhos dos líderes, 5) ensinar as outras pessoas as 8 etapas, e 6) duplicar o processo para crescer a rede de forma exponencial. O documento também discute armadilhas comuns de iniciantes e como definir metas claras.
Adnan: Introduction to Natural Language Processing Mustafa Jarrar
This document provides an introduction to natural language processing (NLP). It discusses key topics in NLP including languages and intelligence, the goals of NLP, applications of NLP, and general themes in NLP like ambiguity in language and statistical vs rule-based methods. The document also previews specific NLP techniques that will be covered like part-of-speech tagging, parsing, grammar induction, and finite state analysis. Empirical approaches to NLP are discussed including analyzing word frequencies in corpora and addressing data sparseness issues.
The document discusses implementing chatbots using deep learning. It begins by defining what a chatbot is and listing some popular existing chatbots. It then describes two types of chatbot models - retrieval-based models which use predefined responses and generative models which continuously learn from conversations. The document focuses on implementing a retrieval-based model using the Ubuntu Dialog Corpus dataset and a dual encoder LSTM network model in TensorFlow. It outlines the preprocessing, model architecture, creating input functions, training, evaluating, and making predictions with the trained model.
This document provides an overview of natural language processing (NLP) and the use of deep learning for NLP tasks. It discusses how deep learning models can learn representations and patterns from large amounts of unlabeled text data. Deep learning approaches are now achieving superior results to traditional NLP methods on many tasks, such as named entity recognition, machine translation, and question answering. However, deep learning models do not explicitly model linguistic knowledge. The document outlines common NLP tasks and how deep learning algorithms like LSTMs, CNNs, and encoder-decoder models are applied to problems involving text classification, sequence labeling, and language generation.
The document discusses a lecture on developing an AI chatbot using Python and TensorFlow, covering setting up a Docker environment, explaining example code in Jupyter notebooks, and introducing the two speakers and their backgrounds working on machine learning and chatbots.
Naive Bayes classifiers are a simple yet effective method for sentiment analysis and text classification problems. They work by calculating the probability of a document belonging to a certain class based on the presence of individual words or features, assuming conditional independence between features given the class. This allows probabilities to be estimated efficiently from training data. While the independence assumption is often unrealistic, naive Bayes classifiers generally perform well compared to more sophisticated approaches. The document discusses various techniques for preprocessing text like tokenization, stemming, part-of-speech tagging, and negation handling to improve the accuracy of naive Bayes classifiers for sentiment analysis tasks.
Devoxx traitement automatique du langage sur du texte en 2019 Alexis Agahi
This document contains a summary of a presentation on natural language processing of text given at Devoxx in April 2019. It discusses using natural language processing for contract management, data extraction, and review. The document also mentions using a machine learning pipeline to analyze documents and extract titles.
The document provides tips for developing Korean chatbots, including discussing chatbot goals, architectures, data collection, natural language processing tools, and machine learning algorithms. It recommends focusing chatbots for business on a small number of important intents, using a modular architecture for easier debugging, and training natural language tools on domain-specific data collected from sources like web scraping.
The document discusses different types of chatbots and how artificial intelligence can be used to power them. It covers topics like scripted chatbots versus more advanced bots using techniques like natural language understanding and machine learning. The document also examines word embeddings, an important technique for representing words as numeric vectors that has helped advance natural language processing and chatbots. It provides examples of how embeddings can be used for tasks like intent classification, entity recognition, determining word similarity and analogy.
Grammarly AI-NLP Club #2 - Recent advances in applied chatbot technology - Jo...Grammarly
Speaker: Jordi Carrera Ventura, Artificial Intelligence technologist at Telefónica R&D
Summary: Chatbots (aka conversational agents, spoken dialogue systems) allow users to interface with computers using natural language by simply asking questions or issuing commands.
Given a query, the chatbot builds a semantic representation of the input, transforms it into a logical statement, and performs all the necessary actions to fulfill the user's intent. Sometimes this simply means calculating an exact answer or retrieving a fact from a database, whereas other times it means building a contextual model and running a full-fledged conversation flow while keeping track of anaphoras and cross-references.
Besides the direct applications of chatbots in IoT (Amazon’s Alexa, Apple's Siri) and IT (the historical field of Information Retrieval as a whole can be seen as a sub-problem of spoken dialogue systems), chatbots' main appeal for technologists is their location at the intersection of all major Natural Language Processing technologies and many of the deepest questions in Cognitive Science today: semantic parsing, entity recognition, knowledge representation, and coreference resolution.
In this talk, I will explore those questions in the context of an applied industry setting, and I will introduce a framework suitable for addressing them, together with an overview of the state-of-the-art in chatbot technology and some original techniques.
The document provides an introduction to natural language processing (NLP), discussing key related areas and various NLP tasks involving syntactic, semantic, and pragmatic analysis of language. It notes that NLP systems aim to allow computers to communicate with humans using everyday language and that ambiguity is ubiquitous in natural language, requiring disambiguation. Both manual and automatic learning approaches to developing NLP systems are examined.
Natural Language Processing for Games ResearchJose Zagal
This document discusses how natural language processing (NLP) techniques can help analyze large amounts of text data from games to aid research in game studies. It provides examples of using NLP for part-of-speech tagging, syntactic parsing, and analyzing game reviews and player language to study gameplay descriptions. The document argues that NLP allows researchers to verify hypotheses and explore new questions at a scale not previously possible by automatically processing vast amounts of game text data.
It's a brief overview of Natural Language Processing using Python module NLTK.The codes for demonstration can be found from the github link given in the references slide.
Natural Language Processing (NLP) is a field of computer science concerned with interactions between computers and human languages. NLP involves understanding written or spoken language at various levels such as morphology, syntax, semantics, and pragmatics. The goal of NLP is to allow computers to understand, generate, and translate between different human languages.
HackYale - Natural Language Processing (Week 0)Nick Hathaway
Slides for a course I taught on Natural Language Processing covering corpus manipulation, word tokenization and text classification tasks using Python's popular Natural Language Toolkit.
Natural language processing involves parsing text using a lexicon, categorization of parts of speech, and grammar rules. The parsing process involves determining the syntactic tree and label bracketing that represents the grammatical structure of sentences. Evaluation measures for parsing include precision, recall, and F1-score. Ambiguities from multiple word senses, anaphora, indexicality, metonymy, and metaphor make parsing challenging.
Este documento presenta un juego de preguntas y respuestas sobre vehículos, armas y entretenimiento, donde el jugador puede ganar un millón de dólares al responder correctamente. El jugador es presentado con 10 preguntas múltiples con 4 opciones cada una sobre temas como autos, motos, aviones, helicópteros, videojuegos y series de televisión. Al final se indica que el jugador ganó el millón de dólares al responder todas las preguntas correctamente.
Fernando mentor-sucesso-universidade-polishop-ciclo-do-sucesso-110519084826-p...Vera Rodrigues Prates
Este documento fornece orientações sobre como construir um negócio de sucesso por meio de 8 etapas: 1) convidar contatos, 2) mostrar o plano de negócios, 3) acompanhar os novos membros, 4) buscar conselhos dos líderes, 5) ensinar as outras pessoas as 8 etapas, e 6) duplicar o processo para crescer a rede de forma exponencial. O documento também discute armadilhas comuns de iniciantes e como definir metas claras.
O documento descreve a trajetória profissional de Filipe Fonseca, que atualmente trabalha com chatbots, criando soluções de automação de comunicação para empresas. Ele tem 9 anos de experiência em desenvolvimento mobile e web e é pós-graduado em Design de Interação.
Tendências para 2018 aprendidas em 271 palestras da #SMWSPEdney Souza
Este documento resume as principais tendências e tecnologias discutidas no evento RD Summit Tendências 2018, como chatbots, inteligência artificial, realidade virtual e influenciadores digitais. É fornecido conselhos sobre como as empresas podem começar a explorar essas áreas, além de links para cursos e empresas especializadas. O documento também mostra que a maioria dos participantes pretende continuar investindo nessas tecnologias em 2018.
This presentation illustrates the new trend of Bots (chatbots) from an enterprise perspective. The content covers some of the key bot platforms in the market such as Microsoft Bot Framework, Facebook Messenger, Telegram, Kik and others.
Daden Emerging Technology Seminars - Daden Limited is a Virtual Worlds and artificial intelligence solution provider.
Our focus is on using virtual worlds, and virtual personalities to deliver more efficient and effective enterprise systems, saving our clients money, time and carbon, and delivering better understanding and collaboration.
The Chatbots Are Coming: A Guide to Chatbots, AI and Conversational InterfacesTWG
2016 is the year of all things conversational. Chatbots, suddenly, are everywhere. Driven by the explosion in popularity of messaging apps like Kik, Slack and Facebook Messenger, chatbots are quickly becoming a core part of the software product mix.
So does your business need a chatbot? This deck will help you understand the massive opportunity for companies who are bold enough to start building chatbots of their own.
(Already au fait with chatbots and looking for a software team to help you with yours? Skip to slide 47 to see some of the chatbots we've built at TWG for our clients and ourselves.)
*adding English description
This slide is about the overview of a chatbot and a trend of the shift of "messenger as a platform" or "messenger as the new UI".
As Facebook unveiled that they opened their chatbot capability to the public at previous f8, a movement of chatbot (w/ AI) would be gaining traction. aligned with this, what would happen and/or what would impact on existing market.
f8を前にして、facebookの動きが色々と噂されているようだが、メッセンジャー周りの今の動きをまとめてみた。
特にbot x AIや"messenger as a platform"としての動きなど大きな流れに特化。詳細は追々やっていこうと思う。
A chatbot is a program that interacts with users through chat interfaces like messaging apps. Chatbots are simple and inexpensive to develop and deploy, and allow asynchronous notifications and integration with teams. To build a chatbot, you define a grammar for commands, program actions for the bot to take, and define how it will return results to the user. Advanced features include integrating webhooks and slash commands for more capabilities. Security measures like restricting commands and using tokens are also important to implement.
AI Agent and Chatbot Trends For EnterprisesTeewee Ang
This document discusses the growing trend of chatbots and artificial intelligence assistants. It notes that major tech entrepreneurs like Mark Zuckerberg and Elon Musk have expressed interest in AI. While Musk sees AI as a potential threat, Zuckerberg wants to create an AI assistant for home use. The document outlines how chatbots use technologies like natural language processing and machine learning. It provides examples of chatbots being used in applications like customer service, human resources, and scheduling. In conclusion, the document predicts that AI assistant and chatbot applications will continue growing in both enterprise and consumer spaces.
The document discusses artificial text chatting machines (chatbots). It provides an overview of chatbots, including their history starting with ELIZA from 1966. Common approaches to developing chatbots include pattern matching and using the Artificial Intelligence Markup Language (AIML). The document outlines some challenges in developing human-like intelligence for chatbots and possibilities for future work, before concluding with a demonstration.
Deep Learning for Natural Language ProcessingJonathan Mugan
Deep Learning represents a significant advance in artificial intelligence because it enables computers to represent concepts using vectors instead of symbols. Representing concepts using vectors is particularly useful in natural language processing, and this talk will elucidate those benefits and provide an understandable introduction to the technologies that make up deep learning. The talk will outline ways to get started in deep learning, and it will conclude with a discussion of the gaps that remain between our current technologies and true computer understanding.
aOS Moscow - E1 - Bots and language understanding - Rick van RousseltaOS Community
This document discusses the basics of language understanding and chatbots. It covers how language begins with shared concepts and references between people. It also discusses how conversations have implicit rules and coordination of meaning. The document then discusses the current state of chatbots, including purposeless mimicry agents, intention-based agents, and conversational agents. It provides some facts about how users interact with bots, including preferences for user interface controls over text or voice, and how search capabilities can benefit bots. The document stresses starting simple with bots and considering business needs over passing conversational tests.
The document discusses word vectors for natural language processing. It explains that word vectors represent words as dense numeric vectors which encode the words' semantic meanings based on their contexts in a large text corpus. These vectors are learned using neural networks which predict words from their contexts. This allows determining relationships between words like synonyms which have similar contexts, and performing operations like finding analogies. Examples of using word vectors include determining word similarity, analogies, and translation.
The document provides guidance on preparing a conference talk proposal and bio. It discusses how to choose a compelling talk title, write an engaging abstract that sells the value of the talk, and draft a bio that establishes relevant expertise. Examples are given of good and bad talk titles. The document also reviews how to identify and communicate one's unique expertise to write a strong proposal and bio.
How to tell a better story (in code)(final)Bonnie Pan
To tell a better story in code, start with knowing your audience, use ubiquitous languages in your code so that no translation is needed for your audience.
Apply visual design principles to identify code smells and organize the layout in a way to strengthen the communication.
Start from there then practice often by refactoring.
The truth is there are never shortcuts to tell a better story in life or in code, practice practice practice by refactoring we will make our code tell a better story.
Let’s opt in better software for our future selves and others. Let’s make our code accessible for those who are interested in our code. Let’s invite our audience to our story in code.
Pair writing: how to collaborate effectively with subject matter experts – Co...Richard Ingram
This document outlines activities from a workshop on collaborating with subject matter experts through pair writing. The workshop introduced pair writing as a technique where two people write content together from the same source material. Participants took part in activities like identifying challenges of writing alone, pair drawing, and quick-fire pair writing exercises. They also practiced pair writing by developing content for a new product from the perspective of different user personas. The goal of the workshop was to illustrate how pair writing can improve content quality by encouraging collaboration, knowledge sharing, and effective input from subject matter experts.
This document provides an overview of a week of lesson plans focused on how inventors inspire imagination. It includes links to videos about inventions, excerpts from stories, vocabulary words and activities. Some of the main topics covered are Benjamin Franklin's inventions, a story about twin inventors named Carlos and Lily Perez, and vocabulary like "experiment", "device" and "improvement". Students are asked to discuss how inventors get their ideas and complete activities like defining words, analyzing parts of stories, and reviewing their understanding of literary concepts from the week.
This document provides an overview of a week of lesson plans focused on how inventors inspire imagination. It includes links to videos about inventions, excerpts from stories, vocabulary words and activities. Some of the main topics covered are Benjamin Franklin's inventions, a story about twin inventors named Carlos and Lily Perez, and vocabulary like "experiment", "device" and "improvement". Students are asked to discuss how inventors get their ideas and complete activities like defining words, analyzing parts of stories, and reviewing their understanding of literary concepts from the week.
This document provides an overview of conversational agents and chatbots. It discusses the history and development of chatbots from conversational informatics in the 1960s. Chatbots combine linguistics, natural language processing, machine learning and other techniques. There are different types of dialog generation for chatbots, including generative, narrative and intent-driven approaches. The document also outlines some challenges of generative dialog models that aim to pass the Turing Test.
1 Kings chronicles the history of Israel from the united kingdom under Saul, David, and Solomon to the divided kingdoms of Israel and Judah. It was written between 971 BC and 848 BC by an unknown prophet, possibly Jeremiah. The book can be divided into two sections - the united kingdom under the first three kings, and the divided kingdoms after Solomon's death, when the nation split into northern Israel and southern Judah.
The document provides instructions for students to get essay writing help from HelpWriting.net, including creating an account, submitting a request with details and deadline, reviewing writer bids and choosing one, revising the paper as needed, and being ensured of original and high-quality content. The process involves registration, submitting an order form, choosing a writer through competitive bidding, revising the paper, and being satisfied with the final product or receiving a refund.
Ux scot voice usability testing with woz - ar and sf - june 2019User Vision
1) The document discusses designing voice applications and testing them using the Wizard of Oz technique. It covers intents, sample dialogs, prototyping dialogue flows, and running WOZ tests to iterate on the application.
2) An example is provided of designing a hotel concierge assistant named Amy, including sample conversations for checking out times and extending checkout for a fee. Groups role-played conversations and improved the dialogue flows.
3) Tips are given for WOZ testing voice applications, such as understanding user intents, constructing sample dialogs, creating a moderator script, connecting audio responses, and collecting feedback to iteratively improve the application.
This document outlines the agenda for a class discussion on exploring diversity in language forms. The learning goals are to understand different types of language students may encounter and that texts use various semiotic systems like images, sounds and layouts that readers need to understand. The class will discuss assigned readings, the importance of considering literacy in new ways, and different semiotic systems. Students will then participate in a jigsaw activity where they analyze samples of texts that use different systems. They will also discuss blogging expectations and assignments for the course.
This is a presentation of the tutorial that Steven Fullerton and I ran which took participants through the end-to-end process for setting up and running user testing sessions for voice interfaces such as Alexa using the Wizard of Oz testing method.
Policy Issue Paper Example - Example 1 - Research PapKim Isleb
The painting "Brownstones" by Jacob Lawrence depicts African Americans going about their daily lives on a busy street in Harlem during the 1920s-1930s. This was a period of cultural flourishing in Harlem known as the Harlem Renaissance, which transformed the community into a center of African American art and culture. Lawrence drew inspiration from the vibrant Harlem community as he captured scenes of ordinary life, showing the communal spirit that emerged during the civil rights movement as people from all backgrounds participated.
God Mode for designing scenario-driven skills for DeepPavlov DreamDaniel Kornev
The document summarizes the capabilities and development of DeepPavlov, an open-source conversational AI platform. It discusses DeepPavlov's God Mode for building open-domain bots using a discourse-driven integrated dialog development environment. DeepPavlov utilizes speech functions and dialog acts to enable more predictable dialog design and improves over regular expressions and intents. The platform provides tools like a VSCode extension to help with rapid dialog design and skills development.
Training 4th March Widgets & Wizardry for MFL update jonmeier
This document provides a list of over 30 websites and digital tools that can be used for language teaching and in the classroom. Some of the tools included are for making flashcards, word puzzles, character creators, timers and more. Several language learning websites are also mentioned for finding authentic materials in other languages.
E-commerce Application Development Company.pdfHornet Dynamics
Your business can reach new heights with our assistance as we design solutions that are specifically appropriate for your goals and vision. Our eCommerce application solutions can digitally coordinate all retail operations processes to meet the demands of the marketplace while maintaining business continuity.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
What is Augmented Reality Image Trackingpavan998932
Augmented Reality (AR) Image Tracking is a technology that enables AR applications to recognize and track images in the real world, overlaying digital content onto them. This enhances the user's interaction with their environment by providing additional information and interactive elements directly tied to physical images.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
SOCRadar's Aviation Industry Q1 Incident Report is out now!
The aviation industry has always been a prime target for cybercriminals due to its critical infrastructure and high stakes. In the first quarter of 2024, the sector faced an alarming surge in cybersecurity threats, revealing its vulnerabilities and the relentless sophistication of cyber attackers.
SOCRadar’s Aviation Industry, Quarterly Incident Report, provides an in-depth analysis of these threats, detected and examined through our extensive monitoring of hacker forums, Telegram channels, and dark web platforms.
Do you want Software for your Business? Visit Deuglo
Deuglo has top Software Developers in India. They are experts in software development and help design and create custom Software solutions.
Deuglo follows seven steps methods for delivering their services to their customers. They called it the Software development life cycle process (SDLC).
Requirement — Collecting the Requirements is the first Phase in the SSLC process.
Feasibility Study — after completing the requirement process they move to the design phase.
Design — in this phase, they start designing the software.
Coding — when designing is completed, the developers start coding for the software.
Testing — in this phase when the coding of the software is done the testing team will start testing.
Installation — after completion of testing, the application opens to the live server and launches!
Maintenance — after completing the software development, customers start using the software.
Odoo ERP software
Odoo ERP software, a leading open-source software for Enterprise Resource Planning (ERP) and business management, has recently launched its latest version, Odoo 17 Community Edition. This update introduces a range of new features and enhancements designed to streamline business operations and support growth.
The Odoo Community serves as a cost-free edition within the Odoo suite of ERP systems. Tailored to accommodate the standard needs of business operations, it provides a robust platform suitable for organisations of different sizes and business sectors. Within the Odoo Community Edition, users can access a variety of essential features and services essential for managing day-to-day tasks efficiently.
This blog presents a detailed overview of the features available within the Odoo 17 Community edition, and the differences between Odoo 17 community and enterprise editions, aiming to equip you with the necessary information to make an informed decision about its suitability for your business.
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
WhatsApp offers simple, reliable, and private messaging and calling services for free worldwide. With end-to-end encryption, your personal messages and calls are secure, ensuring only you and the recipient can access them. Enjoy voice and video calls to stay connected with loved ones or colleagues. Express yourself using stickers, GIFs, or by sharing moments on Status. WhatsApp Business enables global customer outreach, facilitating sales growth and relationship building through showcasing products and services. Stay connected effortlessly with group chats for planning outings with friends or staying updated on family conversations.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
2. Talk outline
What conversation is
The current state of chatbots
• Purposeless mimicry agents
• Intention-based agents
• Conversational agents
Other plumbing
Additional resources
Conclusion
I’ll post the slides this
weekend on my LinkedIn
and my Twitter account
@jmugan
3. Talk outline
What conversation is
The current state of chatbots
• Purposeless mimicry agents
• Intention-based agents
• Conversational agents
Other plumbing
Additional resources
Conclusion
4. Conversation requires shared reference
Language begins with shared attention by pointing to things
in the world. Words then point to shared ideas in our minds
[Gärdenfors, 2014].
5. Language as shared convention
A
B
Wittgenstein and his language games,
Philosophical Investigations, 1958
block
pillar
slab
beam
Two people building something.
“Bring me a beam.”
Eventually turns into a shared convention for a
community
6. Our brains map community conventions to
personal sensations and actions
sensation representation action
• When someone says “beam,” we map that to our experience with beams.
• We understand each other because we have had similar experiences.
See: Benjamin Bergen, Steven Pinker,
Mark Johnson, Jerome Feldman, and
Murray Shanahan
“beam”
This is what is means for language to be grounded.
7. We negotiate language and meaning as we go
Modified from Gärdenfors (2014), which was based on Winter (1998)
Coordination
of meaning
Coordination
of inner worlds
Instruction
Acknowledgement
Acknowledgement
Break
Break
• Levels of discourse
• Complicated to go
up and down the pyramid
8. We negotiate language and meaning as we go
Modified from Gärdenfors (2014), which was based on Winter (1998)
A fishing pole
is a stick, string
and hook
You can catch fish
with a fishing pole
Get me some fish
Acknowledgement
Acknowledgement
Break
Break
• Levels of discourse
• Complicated to go
up and down the pyramid
9. Conversation has its own rules (pragmatics)
• Conversational maxims: Grice (1975, 1978)
• Breaking these rules is a way to communicate more than the meaning of the words.
Maxim of Quantity: Say only what is not implied.
Yes: Bring me the block.
No: Bring me the block by transporting it to my location.
What did she mean by that?
Maxim of Quality: Say only things that are true.
Yes: “I hate carrying blocks.”
No: “I love carrying blocks, especially when they are covered in fire ants.”
She must be being sarcastic.
Maxim of Relevance: Say only things that matter.
Yes: “Bring me the block.”
No: “Bring me the block and birds sing.”
What did she mean by that?
Maxim of Manner: Speak in a way that can be understood.
Yes: “Bring me the block.”
No: “Use personal physical force to levitate the block and transport it to me.”
What did she mean by that?
10. Sometimes meaning isn’t even in the words but
how they are spoken (prosody)
Example from Voice User Interface Design
by Giangola and Balogh [2004]
``
1. You know. I don’t. [So don’t ask me.]
2. You know. I don’t. [As a matter of fact, I really don’t.]
3. You know I don’t. [You know that I don’t.]
‘’
11. Talk outline
What conversation is
The current state of chatbots
• Purposeless mimicry agents
• Intention-based agents
• Conversational agents
Other plumbing
Additional resources
Conclusion
12. Talk outline
What conversation is
The current state of chatbots
• Purposeless mimicry agents
• Intention-based agents
• Conversational agents
Other plumbing
Additional resources
Conclusion
13. We’ve all heard of Eliza
Python implementation at https://www.smallsurething.com/implementing-the-
famous-eliza-chatbot-in-python/
I want to buy a car. How much does a car cost?
Simple substitutions to mimic a psychologist from the 1960s
“My mother wants me to buy a bazooka.” …
“Tell me why your mother wants you to buy a bazooka?”
You can extend it as much as you want
14. Modern mimicry agents are example based
Take a bunch of dialogs and use machine learning to predict
what the next statement will be given the last statement.
• Movie and TV subtitles
• OpenSubtitles
http://opus.lingfil.uu.se/OpenSubtitles.php
• Can mine Twitter
• Look for replies to tweets using the API
• Ubuntu Dialog Corpus
• Dialogs on people wanting technical support
https://arxiv.org/abs/1506.08909
15. Sequence-to-sequence model
The sequence-to-sequence (seq2seq) model can encode
sequences of tokens, such as sentences, into single
vectors.
It can then decode these vectors into other sequences
of tokens.
Both the encoding and decoding are done using
recurrent neural networks (RNNs).
The initial big application for this was machine
translation. For example, where the source sentences
are English and the target sentences are Spanish.
23. Decoding sentence meaning
I
h3
am
h4
great
h5
!
h5
[Cho et al., 2014]
It keeps generating until it generates a stop symbol. Note that the lengths don’t
need to be the same.
• Treats this task like it is devoid of meaning.
• Great that this can work on just about any kind of seq2seq
problem, but this generality highlights its limitation for use
as language understanding.
25. Generative adversarial networks (GANs)
Adversarial Learning for Neural Dialogue Generation, Li et al., 2017.
https://arxiv.org/pdf/1701.06547.pdf
Code in Torch (not Python!) for neural dialog generation
https://github.com/jiweil/Neural-Dialogue-Generation
• GANs have a discriminator that tries to tell if the generated
response was from a real conversation or generated by the model
• All the rage in image processing
• Still a work in progress for language
26. Talk outline
What conversation is
The current state of chatbots
• Purposeless mimicry agents
• Intention-based agents
• Conversational agents
Other plumbing
Additional resources
Conclusion
27. Talk outline
What conversation is
The current state of chatbots
• Purposeless mimicry agents
• Intention-based agents
• Conversational agents
Other plumbing
Additional resources
Conclusion
28. Intention-based agents
Amazon Echo
Image by https://www.flickr.com/photos/turoczy/
License https://creativecommons.org/licenses/by/2.0/legalcode
Examples: Amazon Echo, Google
Assistant, Siri, Cortana
Like a command language
1. Identify what the user wants the
machine to do (the “intent”)
2. Figure out the details of the
intent so the machine can take
action
29. How to determine the intent?
With a bag-of-words in scikit-learn (library for Python)
http://scikit-
learn.org/stable/auto_examples/applications/plot_out_of_core_classification
.html
Using deep learning with a convolutional neural network (CNN) in
TensorFlow (use this if you have a lot of data)
https://github.com/dennybritz/cnn-text-classification-tf
“Get me
fourteen
chickens.”
keywords or
text-based
classification
adjust lights
order groceries
make appointment
raise army
Use keywords or text-based classification
30. What to do with the intent
Convert the squishiness of language into a Python dictionary
“Get me
fourteen
chickens.”
Natural language
understanding
{‘domain’: ‘purchase’,
‘item’:‘chicken_id344’,
‘quantity’: 14}
Called a frame and slot semantics
31. Natural language understanding with context
free grammars (compositional semantics)
$Order $Purchase $ItemAmount, dunion(s[0],s[1])
$Purchase is_purchase(tokens), {‘domain’: ’purchase’}
$ItemAmount $Amount $Item, dunion(s[0],s[1])
$Amount is_number(tokens), {‘amount’: get_number(tokens)}
$Item is_item(tokens), {‘item’: get_item(tokens)}
def is_purchase(tokens):
return tokens in [‘get me’, ‘buy’, ‘grab me some’]
get_item(‘chickens’) ‘chicken_id344’
get_item(‘soap’) ‘soap_id143’
get_number(fourteen) 14
dunion: dictionary union
s[0] is the semantic value of the first item on rule right hand side
s[1] is the semantic value of the second item on rule right hand side
32. Natural language understanding with context
free grammars (compositional semantics)
$Order $Purchase $ItemAmount, dunion(s[0],s[1])
$Purchase is_purchase(tokens), {‘domain’: ’purchase’}
$ItemAmount $Amount $Item, dunion(s[0],s[1])
$Amount is_number(tokens), {‘amount’: get_number(tokens)}
$Item is_item(tokens), {‘item’: get_item(tokens)}
def is_purchase(tokens):
return tokens in [‘get me’, ‘buy’, ‘grab me some’]
get_item(‘chickens’) ‘chicken_id344’
get_item(‘soap’) ‘soap_id143’
get_number(fourteen) 14
dunion: dictionary union
s[0] is the semantic value of the first item on rule right hand side
s[1] is the semantic value of the second item on rule right hand side
33. Natural language understanding with context
free grammars (compositional semantics)
$Order $Purchase $ItemAmount, dunion(s[0],s[1])
$Purchase is_purchase(tokens), {‘domain’: ’purchase’}
$ItemAmount $Amount $Item, dunion(s[0],s[1])
$Amount is_number(tokens), {‘amount’: get_number(tokens)}
$Item is_item(tokens), {‘item’: get_item(tokens)}
def is_purchase(tokens):
return tokens in [‘get me’, ‘buy’, ‘grab me some’]
get_item(‘chickens’) ‘chicken_id344’
get_item(‘soap’) ‘soap_id143’
get_number(fourteen) 14
dunion: dictionary union
s[0] is the semantic value of the first item on rule right hand side
s[1] is the semantic value of the second item on rule right hand side
34. Natural language understanding with context
free grammars (compositional semantics)
$Order $Purchase $ItemAmount, dunion(s[0],s[1])
$Purchase is_purchase(tokens), {‘domain’: ’purchase’}
$ItemAmount $Amount $Item, dunion(s[0],s[1])
$Amount is_number(tokens), {‘amount’: get_number(tokens)}
$Item is_item(tokens), {‘item’: get_item(tokens)}
def is_purchase(tokens):
return tokens in [‘get me’, ‘buy’, ‘grab me some’]
get_item(‘chickens’) ‘chicken_id344’
get_item(‘soap’) ‘soap_id143’
get_number(fourteen) 14
dunion: dictionary union
s[0] is the semantic value of the first item on rule right hand side
s[1] is the semantic value of the second item on rule right hand side
35. Natural language understanding with context
free grammars (compositional semantics)
$Order $Purchase $ItemAmount, dunion(s[0],s[1])
$Purchase is_purchase(tokens), {‘domain’: ’purchase’}
$ItemAmount $Amount $Item, dunion(s[0],s[1])
$Amount is_number(tokens), {‘amount’: get_number(tokens)}
$Item is_item(tokens), {‘item’: get_item(tokens)}
def is_purchase(tokens):
return tokens in [‘get me’, ‘buy’, ‘grab me some’]
get_item(‘chickens’) ‘chicken_id344’
get_item(‘soap’) ‘soap_id143’
get_number(fourteen) 14
dunion: dictionary union
s[0] is the semantic value of the first item on rule right hand side
s[1] is the semantic value of the second item on rule right hand side
36. Natural language understanding with context
free grammars (compositional semantics)
$Order $Purchase $ItemAmount, dunion(s[0],s[1])
$Purchase is_purchase(tokens), {‘domain’: ’purchase’}
$ItemAmount $Amount $Item, dunion(s[0],s[1])
$Amount is_number(tokens), {‘amount’: get_number(tokens)}
$Item is_item(tokens), {‘item’: get_item(tokens)}
def is_purchase(tokens):
return tokens in [‘get me’, ‘buy’, ‘grab me some’]
get_item(‘chickens’) ‘chicken_id344’
get_item(‘soap’) ‘soap_id143’
get_number(fourteen) 14
dunion: dictionary union
s[0] is the semantic value of the first item on rule right hand side
s[1] is the semantic value of the second item on rule right hand side
37. Parsing
Get me fourteen chickens
[Get:chickens]
[me:chickens]
[fourteen:chickens]
[chickens:chickens]
[Get:fourteen]
[me:fourteen]
[fourteen:fourteen]
[Get:me]
[me:me]
[Get:Get]
• Parsing is done using bottom-up dynamic programming.
• For each box, it loops over all n possible midpoints. E.g., (1,4) -> (1,2),(2,4) and (1,3),(3,4)
• This is why the rules have to have two non-terminals on RHS. Not a problem. You can
always put a context free grammar in this form (called Chomsky Normal Form).
38. Parsing
7. $Item
4. $Amount 8. $ItemAmount
2. ‘me’ 5. $Amount 9. $Order
1. ‘get’ 3. $Purchase 6. $Amount 10. $Order
Get me fourteen chickens
• Parsing is done using bottom-up dynamic programming.
• For each box, it loops over all n possible midpoints. E.g., (1,4) -> (1,2),(2,4) and (1,3),(3,4)
• This is why the rules have to have two non-terminals on RHS. Not a problem. You can
always put a context free grammar in this form (called Chomsky Normal Form).
39. Parsing
7. {‘item’:
‘chicken_id344’}
4. {‘amount’:14} 8. {‘item’:
‘chicken_id344’,
‘amount’:14}
2. ‘me’ 5. {‘amount’:14} 9. {‘domain’: ’purchase’,
‘item’: ‘chicken_id344’,
‘amount’:14,}
1. ‘get’ 3. {‘domain’:
’purchase’}
6. {‘amount’:14} 10. {‘domain’: ’purchase’,
‘item’: ‘chicken_id344’,
‘amount’:14,}
Get me fourteen chickens
• Parsing is done using bottom-up dynamic programming.
• For each box, it loops over all n possible midpoints. E.g., (1,4) -> (1,2),(2,4) and (1,3),(3,4)
• This is why the rules have to have two non-terminals on RHS. Not a problem. You can
always put a context free grammar in this form (called Chomsky Normal Form).
40. Python code for natural language understanding
Code is available in Python in the SippyCup library
https://github.com/wcmac/sippycup
There can be many valid parses, and a scoring algorithm can be
used to choose which one to use
41. Talk outline
What conversation is
The current state of chatbots
• Purposeless mimicry agents
• Intention-based agents
• Conversational agents
Other plumbing
Additional resources
Conclusion
42. Talk outline
What conversation is
The current state of chatbots
• Purposeless mimicry agents
• Intention-based agents
• Conversational agents
Other plumbing
Additional resources
Conclusion
43. Conversational agents
Extended, meaningful conversations. Have to be able to keep track of the state
of the conversation and know when the person wants to talk about something else.
A teacher for the young
• Starts out as a cell phone app for a child
• Child can talk to its cartoon face and show it her toys
• Teaches her things
• “If you have 7 giraffes and bought 3 more, how many would you have?”
• “If you eat your chocolate bear today, how are you going to feel tomorrow when
you no longer have it?”
A guide for the adult
• As the child grows, so does the app, so it becomes her operating system
• Knows what you know. Can give turn-by-turn directions on fixing the washing machine
An advocate for the old
• Could advocate for us and guide us through government and healthcare bureaucracies
• Could help us live independently longer.
• Imagine it sees you confused. Could talk you through making coffee.
Blog post I wrote, You and Your Bot: A New Kind of Lifelong
Relationshiphttps://chatbotsmagazine.com/you-and-your-bot-a-new-kind-of-lifelong-relationship-
6a9649feeb71
44. How could a machine manage such conversations?
A dialog manager needs to
Take the person through all the things it wants to talk about
• Teach her math
• Then talk about planets
Recognize when she wants to talk about something else
and queue the current topics for later
RavenClaw from CMU is probably the best known dialog manager
45. Principles of RavenClaw
RavenClaw dialog manager.
Part of CMU Olympus system http://wiki.speech.cs.cmu.edu/olympus/index.php/Olympus
Listening phase
Take what the person said and see which dialog agent can respond
Dialog agents
Little programs organized hierarchically that correspond to different bits of conversation
E.g., general dialog agent about cooking, wants to discuss multiple things
Dialog stack
Stack of dialog agents to keep track of all the things the machine wants to talk about
Expectation agenda
Data structure of dialog agents to keep track of what the machine expects to hear
Execution phase
Take top dialog agent off dialog stack and let it talk. Also, set up what the
machine expects to hear in the expectation agenda
47. Hierarchy of dialog agents
Ask 4+5
Teach Arithmetic
Teach Planets
Tell Stories
Dialog Stack Expectation Agenda
9
Teach Arithmetic
Teach Planets
Tell Stories
Talk about toys
Robot just finished asking, “What is 4 + 5?”
Child says: “Do you like Mr. Fluffles?”
48. Hierarchy of dialog agents
Robot just finished asking, “What is 4 + 5?”
Child says: “Do you like Mr. Fluffles?”
Robot responds: “Very nice. Is he your favorite?”
Ask 4+5
Teach Arithmetic
Teach Planets
Tell Stories
Dialog Stack Expectation Agenda
9
Teach Arithmetic
Teach Planets
Tell Stories
Talk about toys
49. Hierarchy of dialog agents
Robot just finished asking, “What is 4 + 5?”
Child says: “Do you like Mr. Fluffles?”
Robot responds: “Very nice. Is he your favorite?”
Now we are
talking about
toys.
Talk about toys
Teach Arithmetic
Teach Planets
Tell Stories
Dialog Stack
Yes or No
Teach Arithmetic
Teach Planets
Tell Stories
Talk about toys
Expectation Agenda
50. Hierarchy of dialog agents
Robot just finished asking, “What is 4 + 5?”
Child says: “Do you like Mr. Fluffles?”
Robot responds: “Very nice. Is he your favorite?”
Now we are
talking about
toys.
Child says, “Of course!”
Update database
with new favorite toy.
Talk about toys
Teach Arithmetic
Teach Planets
Tell Stories
Dialog Stack
Yes or No
Teach Arithmetic
Teach Planets
Tell Stories
Talk about toys
Expectation Agenda
51. State-based dialog agents
Markov decision process
Set of states
Set of actions
Get a reward for being in a state s and taking an action a
States are things such as what the bot knows (questions it has answered),
the last thing the bot said, and the last thing the user said.
Actions are making particular statements.
Reward comes from meeting a goal state, such as child giving correct answer to a
math problem or successfully completing a travel reservation.
Use reinforcement learning to learn a policy that gives the best action a for being
in state s.
52. Beginning with random exploration
In reinforcement learning, the agent begins by
randomly exploring until it reaches its goal.
53. Reaching the goal
• When it reaches the goal, credit is propagated back to its previous states.
• The agent learns the function Q(s,a), which gives the cumulative expected
discounted reward of being in state s and taking action a and acting according
to the policy thereafter.
54. Eventually, the agent learns the value of being in each state and
taking each action and can therefore always do the best thing in
each state.
Learning the behavior
55. But there is limited observability
• Since speech-to-text and natural language
understanding are error prone, you actually don’t
know for sure which state you are in.
• Does she want to talk about her toys, or is she
telling me that I should be fluffier?
• Partially Observable Markov Decision Process (POMDP)
• As you can guess, these need a lot of training data. Generally
have to create a simulation of a person for the bot to talk to.
56. Talk outline
What conversation is
The current state of chatbots
• Purposeless mimicry agents
• Intention-based agents
• Conversational agents
Other plumbing
Additional resources
Conclusion
57. Talk outline
What conversation is
The current state of chatbots
• Purposeless mimicry agents
• Intention-based agents
• Conversational agents
Other plumbing
Additional resources
Conclusion
58. Basic working with text
spaCy is good for general text
processing.
O’Reilly video course I made on doing
NLP in Python (not free)
http://shop.oreilly.com/product/063692
0061007.do
Free video I made on tokenizing
text in spaCy
https://www.oreilly.com/learning/how-
can-i-tokenize-a-sentence-with-python
https://demos.explosion.ai/displacy
Tokenization result:
['Get', 'me', 'fourteen', 'chickens', '.']
59. Speech-to-Text in Python
Use SpeechRecognition 3.6.5 Python library
https://pypi.python.org/pypi/SpeechRecognition/
Good blog post by Gurwinder Gulati here
https://ggulati.wordpress.com/2016/02/24/coding-jarvis-in-python-3-in-2016/
Can also use WaveNet. TensorFlow implementation: https://github.com/buriburisuri/speech-to-text-wavenet
WaveNet paper: https://arxiv.org/abs/1609.03499
Sphinx doesn’t work well for me. I use Google Cloud Speech API
https://cloud.google.com/speech/
Look at:
https://github.com/Uberi/speech_recognition/blob/master/speech_recognition/__init__.py
My modified version of Gurwinder’s blog post
61. Talk outline
What conversation is
The current state of chatbots
• Purposeless mimicry agents
• Intention-based agents
• Conversational agents
Other plumbing
Additional resources
Conclusion
62. Talk outline
What conversation is
The current state of chatbots
• Purposeless mimicry agents
• Intention-based agents
• Conversational agents
Other plumbing
Additional resources
Conclusion
63. Additional resources not previously mentioned
• Jurafsky https://web.stanford.edu/class/cs124/lec/chatbot.pdf
• Jurafsky and Martin, Speech and Language Processing, Ch. 24, 2009
• New edition in progress https://web.stanford.edu/~jurafsky/slp3/
• Cathy Pearl, Designing Voice User Interfaces, 2016
Detailed resources are surprisingly hard to find
64. Talk outline
What conversation is
The current state of chatbots
• Purposeless mimicry agents
• Intention-based agents
• Conversational agents
Other plumbing
Additional resources
Conclusion
65. Talk outline
What conversation is
The current state of chatbots
• Purposeless mimicry agents
• Intention-based agents
• Conversational agents
Other plumbing
Additional resources
Conclusion
66. Conclusion (1 of 3)
A
B
block
pillar
slab
beam
We can program this in
Computers need to know our conventions
67. Conclusion (2 of 3)
sensation representation action
“beam”
• Conventions need to be grounded in a system of sensation and action
• Hard when machines don’t have our bodies and experience
• Blog post of wrote in using physics simulations for natural language understanding
https://chatbotslife.com/computers-could-understand-natural-language-using-
simulated-physics-26e9706013da
68. Conclusion (3 of 3)
A fishing pole
is a stick, string
and hook
You can catch fish
with a fishing pole
Get me some fish
Acknowledgement
Acknowledgement
Break
Break
Machines also need to know the rules of conversation, so they can understand meanings
beyond words. And they need to understand meanings from how words are said.
I want me and my bot to have our
own culture. This ability to negotiate
meaning is what we would need.