Developing A Chatter Bot For Personal Health Assistant: A C++ Programming Project

Basic Knowledge and Theories in Affective Computing and AI

As lifestyle diseases become chronic, there is need for people to have a means by which they can obtain information on how to live a healthy lifestyle to not only improve their wellbeing, but to help the overcome, manage, or reverse some lifestyle conditions such as obesity, diabetes, or heart disease (Pappachan, 2011), (Bhatnagar et al., 2016). Normally, such help would traditionally come from reading material (books or articles), or spending time with a health care/ lifestyle professional. However, the pace of modern life makes those approaches less than ideal. Technological development has created better approaches and avenues within which people can obtain information fast and on the go; one approach in this case is through Chabot’s, which is a short form of a chatter robot. Chabot’s are computer programs that can conduct conversation just like would be done with a human being through text or auditory methods.  The Chabot simulate human conversation in a convincing manner such that it can pass the Turing test. The Turing Test is a test that evaluates the ability of a machine to exhibit intelligent behavior that is indistinguishable, or equivalent to a human being (Khan and Das, 2017).

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

Chabot’s are utilized in dialog systems for practical applications, including for customer service. Some chatter bots that have been developed in the past include ELIZA and ALICE. Chatter bots operate on the principle of AI (artificial intelligence) and use the principles of machine learning to behave like human beings, and therefore pass the Turing test. AI refers to intelligence that machines display, and is different from natural intelligence that animals and humans display. Within chatting robots is AI that enables the chatter bots to perform various tasks, including telling the weather or responding intelligently to questions (Henderson, 2007). Inside the AI of a chatter bot is machine learning and NLP (natural language processing) that enable the chatter bot to be trained by creating chatter bot algorithms so the chatter bot can translate data input into it into desired outputs (Hirschberg and Manning, 2015). This paper describes and develops a chatter bot using the C++ language that acts as a personal health assistant for people. This paper discusses the background of chatter bots in the context of the healthy lifestyle issue, and describes the various technologies and concepts in chatter bot design. The paper then discusses some previous work in the same filed and then describes the problem in this project and the objectives of this research project. This is followed by a design of the chatter bot and testing, with all steps and concepts as used in its design clearly described. The paper then discusses the performance of the chatter bot after its testing. The code for the project will be attached in a separate document

Appraisal of Affective and Intelligent Processes

A chatter bot will be able to provide a user with answers and responses on lifestyle choices in order to help them improve or maintain their health. To do this, the chatter bot must be able to process language and decide the kind of response to give for every question or statement given to it. Processing language requires the use of NLP by the chatter bot

NLP is a field of study concerned with how computers can understand the language of humans. Without NLP, the human sentences just become a series of gibberish symbols without meaning to the computer (Kumar, 2017). Computers cannot recognize words or understand grammar, given that computers operate on the binary system of a series of 1’s and 0’s. NLP then becomes a translator, an intermediary that translates the human language into a format that computers can understand. This requires precise and accurate procedures to enable the computers understand the human language. Every little detail; s space, a character, can make a very big difference in the way the computer processes human language (Green, Heer and Manning, 2015). However, with NLP, the way humans interact with computers changes drastically; examples include the Siri application in Apple Phones, or Cortana in Microsoft (Scagliarini and Varone, 2017). These have made it possible for commands to be given in human language in different languages with the computers responding appropriately. NLP is a form of artificial intelligence that moderates and creates a bridge in communication between machines and humans. For this project, these concepts will be programmed into the proposed chatter boot using the C++ programming language

Machine learning is a computer science field that makes it possible for computers to learn without explicit programming of the computers. The formulas parameters are computed from data, rather than being defined by a programmer as happens in normal software development. The two most commonly used forms of machine learning are regression and classification. Classification refers to the categorizing of different data types while regression refers to finding a way of describing data (Bottou, 2014). Machine learning has two basic stages, fitting and predicting; during fitting, the program is provided with a large data set and the program attempts to adjust its parameter, using a statistical or mathematical model to best ‘fit’ the data input. During prediction, the program predicts new inputs based on the parameters it has just computed during fitting (Radford, Metz, and Chintala, 2015). Using the C++ program, code will be developed to enhance the Machine Learning (ML) capabilities of the program.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

Design and Implementation of Simple Affective Autonomous Agents or Systems

A Chabot is a computer program that can undertake conversation using textual or audio with human beings, being able to mimic human language behavior; they are widely used at present. Chabot’s utilize NLP techniques in analyzing input sentences and then generate suitable outputs. Presently, two AI trends are predominant; as human like as possible bots that can pass the Turing test and another trend is Chatbots that can give users help, without the users realizing that they are dealing with a bot, for instance, the Siri application by Apple. These types of bots can attain very high levels of accuracy because they have a narrow scope of use (Scagliarini and Varone, 2017).

Presently, achieving a healthy lifestyle requires either reading content from the web or books, or consulting a healthy lifestyle consultant. These processes either consume a lot of time or finances, or both. These factors make it a less attractive prospect for a majority of the population, with research showing that in the USA, for example, less than 3% of the population follow a healthy lifestyle, according to Beck (2016) based on statistics from the Mayo Clinic Proceedings. These are very disturbing statistics; The CDC (2017) shows that the leading causes of death for American are chronic diseases such as stroke, cancer, heart disease, Type 2 Diabetes, and arthritis. Not only are they leading killers, but are among the most common as well as costly causes of health problems, yet are they easily preventable if only people could adopt healthier lifestyles. By 2012, half of all adults in the US suffered some form of chronic lifestyle health condition. In the UK, the Health Secretary in 2013 reported that the five big killers that include lung, liver, heart disease, stroke, and cancer accounted for 150000 annual deaths among people below age 75 in England; 30000 of those deaths were entirely avoidable (Roberts 2013). Further, according to Bodkin (2017), one third of Britons are at risk of early death due to an unhealthy lifestyle devoid of any exercise based on studies by the British Heart Foundation. Further, even for those that exercise, there is a big risk of illnesses because of spending a lot of time sitting at work (Hruby and Hu, 2014). The figures and statistics point to a dire situation in healthy lifestyles and require a new approach that makes the best use of available technology. A chatter bot would offer an inexpensive and interesting solution that can help enhance healthy lifestyles among people because it’s readily available, cost effective, and is based on technology that a lot more people are comfortable with

Construction of Appropriate Methodologies for the Evaluations of Implemented Affective Systems

To develop a program that will respond to user input in an accurate manner and provide relevant feedback using the C++ language. The project aims at having a ‘self-contained’ program, with all aspects of AI integrated into it to make it easy to use and deploy in various environments without having to use specific platforms to use it. This design project aims at having a program that can learn adaptively, give correct responses, and be trained to be an effective healthy lifestyle ‘consultant’.

A basic program that can take input and give a suitable result can easily be designed in C++, for instance the one shown below;

This is a simple program built in C++; however, it cannot interpret input outside of the design parameters; it only has a fixed output with a small vocabulary. The aim is to use AI principles, machine learning, NLP, and training to make the program more intelligent and be able to think and respond logically. The above example shows the program is not making effort to understand the user input and repeats itself often as there is no mechanism for controlling the repetition. Using keywords, the program can be made to understand user input better. A keyword is recognized by the program that enables it to react and respond accordingly. This requires a knowledge database being added to the program so it can ‘understand’ some words and sentences, such as knowing “HOW ARE YOU TODAY” when a user types these into it. To prevent repetition by the Chabot, the sPrevResponse was used to store the previous response it made so that it does not repeat it. Further, the Chabot was only able to respond to upper case input; this was improved so that it is not case sensitive. The idea is to have the Chabot should use key words to match a response from its database, rather than using exact sentence matching. Key words and the concept of Fuzzy String Search were used to enable the Chatbot match responses without exact sentence matching. This entailed breaking inputs into separate words and then creates two vectors that are different. The first vector stores words for input and the second vector store words for current key word. Using the Levenshtein Distance concept, the ‘distance’ between two word vectors can be measured; the Chatbot was then programmed to stop repeating sentences and classes used for encapsulating the Chatbot implementation as the code became bigger. The database was enhanced using more words and terms and the null aspect also programmed, so that, for instance, if a user presses enter without typing any words, the Chatbot gives an appropriate response. The Chatbot was designed to be able to detect slight changes in words and respond intelligently; for instance is asked

Practise of Research Skills in Project Reports and Presentations

‘How can I lose weight?’

And ‘What can I do to lose weight?’

The Chatbot was programmed so that it knows these two sentences mean the same thing; this is part of machine learning and incorporation of AI into the Chatbot. These were tested and evaluated after building the Chatbot and confirmed to be true. The Chatbot was then programmed to be able to select the most suitable response, save previous inputs, save previous response to stop repetition, and to find matches based on Fuzzy Logic.  States were introduced so that a null input sets it into a null state and keyword boundaries set for more accurate responses but putting a character before and after key words in the database. The program then has ‘sign on’ messages so that the Chatbot can initiate conversation, rather than waiting for input. Keywords must be ranked to make conversations more realistic with equivalent keywords added, with template response and keyword transposition. Keywords can be located at any place within a sentence; the Chatbot was made to distinguish these keywords based on location. The Chatbot was then programmed to handle the context of conversation. The program was optimized since the database kept growing; a flat file was implemented to store the database so that the database can be improved/ modified, without Re-compiling the program every time changes are made to the database. This was done following notations used in the ELIZA bot with lines representing specific aspects;

Lines starting with [LETTER] in the database

Represents

K

Keywords

R

Responses

S

Sign on messages

T

Transpositions

E

Possible corrections

N

Responses for no input by user

X

Response when there is no matching keyword found

W

Responses when user repeats self

C

Context of present Chatbot response

#

Comments

An algorithm to better handle repetition was developed and then implemented where a list of all responses the Chatbot selected is made and a search made when a new response is made for past stored responses. The algorithm was designed to make a comparison of total available responses so that if the position plus one is less (inferior) to the total responses available, it was treated as repetition. The present repetitive response is then discarded and the Chatbot selects another suitable response, matching input with the responses in its database.

The database was updated with new keywords through implementing a command to store user input in a file (‘unknown’ text file) to make keywords updating easy; the words in the file are simply looked up. The Chatbot was then programmed to save conversation logs to help establish Chatbot weaknesses in certain conversations for purposes of improving its performance. To train the Chatbot to learn, any word that the Chatbot did not find a match for elicited a response by prompting the user on the unmatched word during the testing phase. The tester then added a new keyword and its corresponding response in the Chatbot database. This was done using the following algorithm

No

State

Action

1

No keyword found for input

Please enter keyword

2

Keyword is

‘Key’

3

(If response is no)

Please enter the keyword (go to step 2 above)

4

N response found for keyword

(key) Please enter response

5

So the response is

(resp)

6

(If response is no)

Please enter response (go to step 4 above)

7

Keyword and response successfully learned

8

Is there any other key word I need to learn

9

(If response is yes, otherwise continue with chat)

Please enter keyword (go to step 2)

The Need for a New Approach in Healthy Lifestyles

This way, a functional Chatbot written with C++ was created and tested; the Chatbot is able to use a few keywords and match responses in its database, giving out suitable responses. If words are not found, it was able to prompt the user during testing to input a response and a corresponding response in the database.

Developing the Chatbot was not without challenges; the C++ language had its challenges with bugs and run time errors. Further, at the initial stages, the Chatbot would give responses, but most were repetitive, requiring adding new commands and instructions to stop repetition. Even after coding it so it could not repeat sentences, there was a problem with giving responses to inputs that did not match exact sentences; this was solved using fuzzy logic rule based system to provide a wider range of responses. Training the Chatbot to learn inputs, be able to choose the right or suitable response without repetition and approach or pass the Turing test was an interesting challenge that has given me in depth understanding on the theoretical and practical aspects of AI and the rules that govern how an AI application such as a Chatbot operates. I now clearly understand the concepts of NLP, the Levenshtein Distance concept as applied in Fuzzy Logic, and programming a Chatbot to store past input so that it does not repeat previous responses. This project has given me invaluable lessons on how algorithms work and how to develop them using a language like C++

References 

Beck, J. (2016). Less Than 3 Percent of Americans Live a ’Healthy Lifestyle’. [online] The Atlantic. Available at: https://www.theatlantic.com/health/archive/2016/03/less-than-3-percent-of-americans-live-a-healthy-lifestyle/475065/ [Accessed 30 Dec. 2017].

Bhatnagar, P., Wickramasinghe, K., Wilkins, E. and Townsend, N. (2016). Trends in the epidemiology of cardiovascular disease in the UK. BMJ, [online] 102(24), pp.1945–1952. Available at: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5256396/.

Bottou, L. (2014). From machine learning to machine reasoning. Machine Learning, 94(2), pp.133-149.

‘CDC’ (2017). Chronic Disease Overview | Publications | Chronic Disease Prevention and Health Promotion | CDC. [online] Cdc.gov. Available at: https://www.cdc.gov/chronicdisease/overview/index.htm [Accessed 30 Dec. 2017].

Green, S., Heer, J. and Manning, C. (2015). Natural Language Translation at the Intersection of AI and HCI. Queue – HCI, 12(6).

Henderson, H. (2007). Artificial Intelligence: Mirrors for the Mind. 1st ed. New York: Chelsea House, pp.126-130.

Hirschberg, J. and Manning, C. (2015). Advances in natural language processing. Science, 349(6245), pp.261-266.

Hruby, A. and Hu, F. (2014). The Epidemiology of Obesity: A Big Picture. PharmacoEconomics, [online] 33(7), pp.673-689. Available at: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4859313/.

Khan, R. and Das, A. (2017). Build Better Chatbots: A Complete Guide to Getting Started with Chatbots. 1st ed. New York: APress, Springer Science, pp.1-3.

Kumar, R. (2017). Natural Language Processing. Machine Learning and Cognition in Enterprises, 4, pp.65-73.

Pappachan, M. (2011). Increasing prevalence of lifestyle diseases: high time for action. Indian Journal of Medical Research, [online] 134(2). Available at: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3181012/ [Accessed 30 Dec. 2017].

Radford, A., Metz, L. and Chintala, S. (2017). Unsupervised representation learning with deep convolutional generative adversarial networks. Cornell University.

Roberts, M. (2013). Unhealthy Britain: Five big killers. [online] BBC News. Available at: https://www.bbc.com/news/health-21667065 [Accessed 30 Dec. 2017].

Scagliarini, L. and Varone, M. (2017). Natural language processing systems in artificial intelligence. [online] Expertsystem.com. Available at: https://www.expertsystem.com/examples-natural-language-processing-systems-artificial-intelligence/ [Accessed 30 Dec. 2017].

What Will You Get?

We provide professional writing services to help you score straight A’s by submitting custom written assignments that mirror your guidelines.

Premium Quality

Get result-oriented writing and never worry about grades anymore. We follow the highest quality standards to make sure that you get perfect assignments.

Experienced Writers

Our writers have experience in dealing with papers of every educational level. You can surely rely on the expertise of our qualified professionals.

On-Time Delivery

Your deadline is our threshold for success and we take it very seriously. We make sure you receive your papers before your predefined time.

24/7 Customer Support

Someone from our customer support team is always here to respond to your questions. So, hit us up if you have got any ambiguity or concern.

Complete Confidentiality

Sit back and relax while we help you out with writing your papers. We have an ultimate policy for keeping your personal and order-related details a secret.

Authentic Sources

We assure you that your document will be thoroughly checked for plagiarism and grammatical errors as we use highly authentic and licit sources.

Moneyback Guarantee

Still reluctant about placing an order? Our 100% Moneyback Guarantee backs you up on rare occasions where you aren’t satisfied with the writing.

Order Tracking

You don’t have to wait for an update for hours; you can track the progress of your order any time you want. We share the status after each step.

image

Areas of Expertise

Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.

Areas of Expertise

Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.

image

Trusted Partner of 9650+ Students for Writing

From brainstorming your paper's outline to perfecting its grammar, we perform every step carefully to make your paper worthy of A grade.

Preferred Writer

Hire your preferred writer anytime. Simply specify if you want your preferred expert to write your paper and we’ll make that happen.

Grammar Check Report

Get an elaborate and authentic grammar check report with your work to have the grammar goodness sealed in your document.

One Page Summary

You can purchase this feature if you want our writers to sum up your paper in the form of a concise and well-articulated summary.

Plagiarism Report

You don’t have to worry about plagiarism anymore. Get a plagiarism report to certify the uniqueness of your work.

Free Features $66FREE

  • Most Qualified Writer $10FREE
  • Plagiarism Scan Report $10FREE
  • Unlimited Revisions $08FREE
  • Paper Formatting $05FREE
  • Cover Page $05FREE
  • Referencing & Bibliography $10FREE
  • Dedicated User Area $08FREE
  • 24/7 Order Tracking $05FREE
  • Periodic Email Alerts $05FREE
image

Services offered

Join us for the best experience while seeking writing assistance in your college life. A good grade is all you need to boost up your academic excellence and we are all about it.

  • On-time Delivery
  • 24/7 Order Tracking
  • Access to Authentic Sources
Academic Writing

We create perfect papers according to the guidelines.

Professional Editing

We seamlessly edit out errors from your papers.

Thorough Proofreading

We thoroughly read your final draft to identify errors.

image

Delegate Your Challenging Writing Tasks to Experienced Professionals

Work with ultimate peace of mind because we ensure that your academic work is our responsibility and your grades are a top concern for us!

Check Out Our Sample Work

Dedication. Quality. Commitment. Punctuality

Categories
All samples
Essay (any type)
Essay (any type)
The Value of a Nursing Degree
Undergrad. (yrs 3-4)
Nursing
2
View this sample

It May Not Be Much, but It’s Honest Work!

Here is what we have achieved so far. These numbers are evidence that we go the extra mile to make your college journey successful.

0+

Happy Clients

0+

Words Written This Week

0+

Ongoing Orders

0%

Customer Satisfaction Rate
image

Process as Fine as Brewed Coffee

We have the most intuitive and minimalistic process so that you can easily place an order. Just follow a few steps to unlock success.

See How We Helped 9000+ Students Achieve Success

image

We Analyze Your Problem and Offer Customized Writing

We understand your guidelines first before delivering any writing service. You can discuss your writing needs and we will have them evaluated by our dedicated team.

  • Clear elicitation of your requirements.
  • Customized writing as per your needs.

We Mirror Your Guidelines to Deliver Quality Services

We write your papers in a standardized way. We complete your work in such a way that it turns out to be a perfect description of your guidelines.

  • Proactive analysis of your writing.
  • Active communication to understand requirements.
image
image

We Handle Your Writing Tasks to Ensure Excellent Grades

We promise you excellent grades and academic excellence that you always longed for. Our writers stay in touch with you via email.

  • Thorough research and analysis for every order.
  • Deliverance of reliable writing service to improve your grades.
Place an Order Start Chat Now
image

Order your essay today and save 30% with the discount code ESSAYHELP