
Overview of the Proposed Systems
- Introduction and Related Concepts
Chatbot is an automated system which responds to pre-set conditions or based on the response or question which is provided to the chat-bot. A counsellor helps understand that if any mental health issue is present or troubling the person, help him understand more about it and improve the mental health of the person in a way if it can. Retrieval-based models: These models are easy to understand and develop. To train them, a predefined set of queries and responses are fed into the system. This works well for a closed domain and the chat bot eventually becomes effective at context and content understanding. These models are incapable of generating any new text or content. In essence, they select a definite text from a predefined set of texts and use the set that best serves the intent of the question. These models serve well for chat bots that perform a specific task. Generative models: These models have no defined classes and self-generate entire answers of their own based on their understanding of a giving sentence. They generate entirely new responses from scratch. Domains: In an open domain setting the user can take the conversation anywhere. There isn’t necessarily have a well-defined goal or intention. Conversations on social media sites like Messenger and Telegram are typically open domain. The infinite number of topics and the fact that a certain amount of world knowledge is required to create reasonable responses. In a closed domain setting the space of possible inputs and outputs is somewhat limited because the system is trying to achieve a very specific goal. Types of Generative Chat bots: Generative Adversarial Networks (GANs), the training process as a game between two separate networks: a generator network and a second discriminative network that tries to classify samples as either coming from the true distribution or the model distribution. The discriminator notices a difference between the two distributions, the generator adjusts its parameters slightly to make it go away, until at the end the generator exactly reproduces the true data distribution and the discriminator is unable to find a difference. Variational Autoencoders (VAEs) allow us to formalize training data in the framework of probabilistic graphical models where we are maximizing a lower bound on the log likelihood of the data. Autoregressive models train a network that models the conditional distribution of every individual condition. Sentiment Analysis: Language is an easy, natural way for humans to express themselves. Sentiment Analysis or opinion mining is the process of understanding which sentiment is being conveyed through text and take the context with respect to that. The five broad categories of sentiment are:
- Happy
- Surprise
- Sadness
- Contempt
- Disgust
- Anger
Context Classification Context model is that classification judgments are based on the retrieval of stored exemplar information. Specifically, we assume that a probe stimulus functions as a retrieval cue to access information stored with stimuli similar to the probe. This mechanism is, in a sense, a device for reasoning by analogy inasmuch as classification of new stimuli is based on stored information concerning old exemplars, but one should also note its similarity to contemporary memory models.
- Framework, Architecture or Module for the Proposed System (with explanation)
Corpus: Text corpus is a large and structured set of texts. Anc.org – Open American Corpus – Chat corpus theinkblot.com – Rorschach Test corpus thecrisistext.com – Counsellor corpus AIML – ALICE – Psychiatrist and Therapist corpus NLTK – Eliza – Chat corpus NLTK- Python Natural Language Toolkit. It provides suite of text processing libraries for classification, tokenization, stemming, tagging, parsing, and semantic reasoning, wrappers for industrial-strength NLP libraries. Scikit-learn : It features various classification, regression and clustering algorithms including support vector machines, random forests, gradient boosting, k-means and DBSCAN, and is designed to interoperate with the Python numerical and scientific libraries NumPy and SciPy. Tensorflow is an open source software library for machine learning. It is used for systems capable of building and training neural networks to detect and decipher patterns and correlations, analogous to the learning and reasoning which humans use. Pandas is a software library written for the Python programming language for data manipulation and analysis. In particular, it offers data structures and operations for manipulating numerical tables and time series. Matplotlib – Matplotlib is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. Numpy – NumPy is the fundamental package for scientific computing with Python. RE – Regular Expressions Sqllite3 – SQLite is a self-contained, high-reliability, embedded, full-featured, public-domain, SQL database engine. Models – PyModels is a lightweight framework for mapping Python classes to schema-less databases. Psycopg2: PostgreSQL , is an object-relational database with an emphasis on extensibility and standards compliance. Pickle is the standard mechanism for object serialization. Pickle uses a simple stack-based virtual machine that records the instructions used to reconstruct the object. Virtualenv – Virtualenv is a tool to create isolated Python environments and with this the programs can be hosted with all their dependencies. Postman – The Postman Rest Client is a HTTP Request composer that makes it easy to call web services. It provides as an alternative for autogenerating request calls that makes it easier to call existing services but does require users to install the Postman Rest Client. CUDA – is a parallel computing platform and application programming interface which uses NVIDEA GPU’s for computation. Telegram API – This API allows us to build customized Telegram clients. It is open source. Messenger API – This API allows us to build customized Messenger clients. NGROK- ngrok secure introspectable tunnels to localhost webhook development tool and debugging tool. LUIS – Language Understanding Intelligent Service. LUIS is designed to enable developers to build smart applications that can understand human language and accordingly react to user requests. LUIS can interpret conversations in terms of their intents and entities. Watson – Watson is a question answering (QA) computing system that IBM built to apply advanced natural language processing, information retrieval, knowledge representation, automated reasoning, and machine learning technologies to the field of open domain question answering. Architecture The chatbot flow can be divided into 3 flows. The message triggers which are the Intro which happens when there is a starting of the chat or after a gap. The next one is System where the chatbot wants to send a message and the last one is User where a response is given when the user completes a task. The next is Message flows which defines how a conversation flows after the starting of the conversation. The last is Message Copy Matrix which is basically interconnected flows of the messages which may lead from one to another or showing the ends of the flows.
Discover more from MEZIESBLOG
Subscribe to get the latest posts sent to your email.
