11
$\begingroup$

I would like to train a bot that uses text input, memorizes a few categories and answers questions accordingly. In addition as version 2.0, I want to make the bot to answer voice inputs as well. Which are the latest machine learning/AI algorithms available for the same? Please let me know.

$\endgroup$
1
$\begingroup$

Your question is incredibly broad -- so in response, two broad frameworks I'd encourage you to look at are:

  1. For cutting edge chatbot conversation development http://rasa.ai is an open source framework that is more adaptable than more traditional rule-based systems
  2. For speech recognition check out https://discourse.mozilla.org/c/deep-speech that is also open source.
$\endgroup$
0
$\begingroup$

If your bot is "remembering" few categories and then answers the questions , then it is quite useless in the current scenario. because in that case it performs very poorly on a different dataset (test-set). in statistics terminology it is called "overfitting". and coming to question answering , there is no rule of thumb to define "state-of-art" algorithms. although you can check a few models which performed nicely on babi or similar datasets liked dynamic memory networks or seQ2seQ models. for getting a basic idea of this field , i would suggest you to learn basic machine learning lingo and then move on to some advanced-natural language processing course (stanford offers cs224n).

$\endgroup$
0
$\begingroup$

AbuShawar & Atwell state:

A chatbot is a conversational agent that interacts with the users turn by turn using natural language. Different chatbots or human-computer dialogue systems have been developed using spoken or text communication and have been applied in different domains such as: Linguistic research, language education, customer service, web site help, and for fun.

Theirs and other papers convey some of the many contemporary approaches to chatbot training as of this writing.

Automatic Extraction of Chatbot Training Data from Natural Dialogue Corpora, Bayan AbuShawar, Eric Atwell, 2016

However, most chatbots are restricted to knowledge that is manually in their files, and to a specific natural language which is written or spoken. This paper presents the program we developed to convert a machine readable text (corpus) to a specific chatbot format, which is then used to retrain a chatbot and generate a chat which is closer to human language. Different corpora were used: dialogue corpora such as the British National Corpus of English (BNC); the holy book of Islam Quran which is a monologue corpus where verse and following verse are turns; and the FAQ where questions and answers are pair of turns. The main goal of this automation process is the ability to generate different chatbot prototypes that spoke different languages based on corpus.

Context-Uncertainty-Aware Chatbot Action Selection via Parameterized Auxiliary Reinforcement Learning, Chuandong Yin, Rui Zhang, Jianzhong Qi, Yu Sun, and Tenglun Tan, 2018

We propose a context-uncertainty-aware chatbot and a reinforcement learning (RL) model to train the chatbot. The proposed model is named Parameterized Auxiliary Asynchronous Advantage Actor Critic (PA4C). We utilize a user simulator to simulate the uncertainty of users utterance confidence in a conversation context. Compared with naive rule-based approaches, our chatbot trained via the PA4C model avoids hand-crafted action selection and is more robust to user utterance variance. The PA4C model optimizes conventional RL models with action parameterization and auxiliary tasks for chatbot training, which address the problems of a large action space and zero-reward states. We evaluate the PA4C model over training a chatbot for calendar event creation tasks. Experimental results show that our model outperforms the state-of-the-art RL models in terms of success rate, dialogue length, and episode reward.

Supervised Learning System Training Using Chatbot Interaction, United States Patent Application Publication 0034828 A1, International Business Machines Corporation, Armonk, NY, US, 2019

A computer - implemented method comprising receiving and analyzing a data point to determine parameters of the data point, generating an alert ticket based on the analysis of the data point, communicating, via a chatbot, at least some information contained in the alert ticket to one or more users, and categorizing, via the chatbot, the data point that resulted in the alert ticket based on behavior of a device that generated the data point. Jonathan A . Cagadas, Alexander D. Lewitt, Simon D. Mikulcik, Karan Shukla, Leigh A. Williamson

Two-Step Training and Mixed Encoding-Decoding for Implementing a Generative Chatbot with a Small Dialogue Corpus, Jintae Kim, Hyeon-Gu Lee, Harksoo Kim, Yeonsoo Lee, Young-Gil Kim, 2016

Generative chatbot models based on sequence-to-sequence networks can generate natural conversation interactions if a huge dialogue corpus is used as training data. However, except for a few languages such as English and Chinese, it remains difficult to collect a large dialogue corpus. To address this problem, we propose a chatbot model using a mixture of words and syllables as encoding-decoding units. In addition, we propose a two-step training method, involving pre-training using a large non-dialogue corpus and re-training using a small dialogue corpus. In our experiments, the mixture units were shown to help reduce out-of-vocabulary (OOV) problems. Moreover, the two-step training method was effective in reducing grammatical and semantical errors in responses when the chatbot was trained using a small dialogue corpus (533,997 sentence pairs).

Submodularity-Inspired Data Selection for Goal-Oriented Chatbot Training Based on Sentence Embeddings, Mladen Dimovski, Claudiu Musat, Vladimir Ilievski, Andreea Hossmann, Michael Baeriswyl, 2018

Spoken language understanding (SLU) systems, such as goal-oriented chatbots or personal assistants, rely on an initial natural language understanding (NLU) module to determine the intent and to extract the relevant information from the user queries they take as input. SLU systems usually help users to solve problems in relatively narrow domains and require a large amount of in-domain training data. This leads to significant data availability issues that inhibit the development of successful systems. To alleviate this problem, we propose a technique of data selection in the low-data regime that enables us to train with fewer labeled sentences, thus smaller labelling costs. We propose a submodularity-inspired data ranking function, the ratio-penalty marginal gain, for selecting data points to label based only on the information extracted from the textual embedding space. We show that the distances in the embedding space are a viable source of information that can be used for data selection. Our method outperforms two known active learning techniques and enables cost-efficient training of the NLU unit. Moreover, our proposed selection technique does not need the model to be retrained in between the selection steps, making it time efficient as well.

$\endgroup$
-1
$\begingroup$

You can work with Recurrent Neural Nets with LSTM or GRU as memory cells and word embeddings like Word2vec. Beam search and Attention models can also be utilized with the RNNs for more robustness and less bias. But the outputs of these are appreciable up to some extent only as the research in this field is still hot and lot to be unraveled.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.