




























































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A chatbot is a software tool that utilises natural language processing (NLP) for human machine interaction (HMI) and Machine Learning (ML). “The complexity of ...
Typology: Lecture notes
1 / 104
This page cannot be seen from the preview
Don't miss anything!





























































































I declare that this is all my own work and does not contain unreferenced material copied from any other source. I have read the University’s policy on plagiarism and understand the definition of plagiarism. If it is shown that material has been plagiarised, or I have otherwise attempted to obtain an unfair advantage for myself or others, I understand that I may face sanctions in accordance with the policies and procedures of the University. A mark of zero may be awarded and the reason for that mark will be recorded on my file. I confirm that the Originality Score provided by TurnItIn for this report is ________. [your signature] Acknowledgements I would like to take this opportunity to thank my project supervisor Dr Kevin Curran for his continuous guidance and encouragement throughout the entirety of the project. I would also like to thank Dr Daniel Kelly for his feedback and guidance during the development stage. Finally I would to thanks Dr Michael McTear for his guidance and valuable and critical input on the Testing and Evaluation Chapters.
chatbots and conversational interfaces. Proving chatbots can be applied to a specific domain to enhance accessibility, reaffirming that they are more than just a passing fad and have a viable use.
“Digitalisation, the surge of mobile and internet connected devices has revolutionised the way people interact with one another and communicate with businesses” (Eeuwen, M.V. ( 2017 )). Millennials are accepting and supporting new technology into the routine of their everyday life, this is becoming more is becoming more prevalent as technology companies are streamlining Artificial IntelliIntelligence (AI) into the products they offer, such as; Google Assistant, Google Home and Amazon Alexa. The new and upcoming generation are expected to be critical and game changing customers for businesses. “They demand effortless experiences, answers within seconds, not minutes and more intelligent self-service options” (Teller Vision,,. ( 2017 )). The banking and the financial service industry was one of the first industries to adopt technology. This integration has grown massively, helping banks reach a wider customer base enabling them to perform their banking conveniently (Baptista and , G. and Oliveira, , T. ( 2015 )). Banks are becoming ever more competitive with each other to adopt the newest advancements in technology to provide an improved delivery service to satisfy customers. Ulster Bank, Deloitte, AIB and PTSB are wanting to focus on integrating new technology to improve the speed at which transactions are acknowledged (Global Banking News,. (, 2017 )). With this in mind the relationship with the customer is always evolving due to the growth of technology. Banks are now enabling the use of technology so customers can perform more tasks online, such as; cheque image clearing to allow the payment of cheques remotely and intelligent chatbots to increase customer service and assist employees. A chatbot is a “simple software program that can respond to customer prompts i.e. what’s my bank balance?” (Entrepreneur,. (, 2016 )). Mastercard has launched Kai an artificial intelligent chatbot and other bots for financial services. They can handle customer queries such as: ‘what is APR?’, requests, look at spending habits and solve problems. This in turn enables financial institutions to provide a new, engaging experience and strengthen their relationship with the customer, with the aid of natural language used by bots to establish a more personal and contextual conversation (Wire,. (, 2016 )). The focus of this project is to implement these new technologies to create an intelligent chatbot to enable banks to appeal to millennials and potentially gain a lifelong customer.
This work aims to provide a fast and convenient way to manage your banking. The online banking chatbot will help facilitate the user with queries and assist with personal banking.
financial services as well as banking industries (Ajimon and , G. G.S. Gireesh K,.(George and Kumar, 2013 )). Advancements in technology has transformed many of our services into the digital era and the banking industry is one of the primary industries to avail of these advancements to improve their services. Currently within the UK two paradigms are available for online banking. One of which is an integrated internet bank which still operates through the branch but has an online presence. The other, a stand-alone internet bank, that operates completely independently and its only existence is solely through the internet (MarketLine, 2017). Banks implement technology to strengthen their processing capacity, acquire a larger customer base and expand the services they could offer (Consoli,. (, 2005 )). The use of internet banking has grown in demand enormously in the last decade. “15% of branch customers use online banking once a day, 59% once a week, 77% at least once a month and 53% were confident in carrying out the best part of their banking online” (Barty, J. and Recketts, T. BBA, ( 2014 )). Online banking has become more popular as it negates the need for customers to visit their local branch as they can manage their finances on the go to meet the demand of modern life. This is evident as branchless banks are now emerging from the industry such as Atom Bank and many banks now closing some of their branches. This is evident with the recent closure of 11 Ulster Bank Branches in NI due to the increased number of customers performing their banking online (The Belfast Telegraph). HoweverHowever, a recent study by Ling et al., ( 2016 ), notes that most internet banking service providers struggle to get many of their customers to use their service. They identify lack of customer satisfaction when using online banking services to be a major cause. “Service quality, web design and content, security, privacy, speed and convenience” (Ling et al., 2016) are stated identified as the top factors influencing customer satisfaction This suggests that there is a lack of technology in place to enhance the customer online banking experience which could be improved by integrating a chatbot to provide an efficient, convenient and personal service.
Most businesses and organisations are understanding the potential benefits of machine learning and artificial intelligence to have a positive change on how they perform business. Artificial intelligence has progressed to allow the development of more sophisticated chatbots. Organisations are focusing on specific areas of user engagement that take up a lot of time but can be replaced through the use of a chatbot. Chatbots can understand what the customer needs from a single text instead of the customer having to follow a process of multiple steps. Chatbots are used to automate customer service and reduce manual tedious tasks performed by employees so they can spend their time more productively on higher priority tasks. Establishments that regularly deal with its customers have discovered the potential of chatbots as a channel to distribute
more efficient and immediate information to customers in comparison to a customer service representative regarding queries and issues (Onufreiv, YY. , 2017). HDFC Bank has merged with Niki.ai an artificial intelligence company to develop a state of the art conversational banking chatbot ((HDFC Bank,. , 20177 )). The chatbot is accessible through the banks Facebook Messenger allowing users to utilise e-commerce and banking transactions all within the chatbot. There is also a chatbot integrated within the HDFC login page to assist in online banking. The chatbot was developed as a concierge service, this is definitely one approach that can increase customer satisfaction within online banking enabling banks to develop a better relationship with its customers. Chatbots will renew and modernise the customer service industry and the main sectors outlined including the banking and healthcare sector (Newswire, ., 2017). Industries such as; retail, healthcare, e-commerce and banking, are expected to achieve considerable savings from integrating a chatbot. Between 2017 and 2020 chatbots are estimated to make savings of $8 billion per annum for businesses. The majority of savings will be made through customer service as customers can now ask queries about banking through the chatbot rather than having to call the bank, allowing banks to save on call centre staff. The study predicted that the integration of chatbots within the banking industry would rise from 12% to 90% by 202 2. Most online banking services would benefit from having a chatbot integrated into their services. The use of bots help internet banking service providers establish a better relationship with its customers. Customers can get answers to query’s immediately, conduct e-commerce and banking operations all from within the one bot conversation. This is another benefit of using an online banking system with and integrated chatbot as “87% customers that bank online prefer to execute their personal finance operations within a single site” (Dauda, et al., 2015). W.B. King, W.B. ( 2017 ), records a survey conducted by Personetics which identified “40% of its clients are planning to integrate a bot into its services within the next 2 to 3 years and 70% said AI was an exciting opportunity”. This clearly identifies the demand and need for a chatbot within the financial services Industry.
Figure 1. 3. 2 : Industries piloting chatbots (Source: Etlinger,. , 2017) Figure 1. 3 .2 2. displays the tasks that can be replaced with the integration of chatbots into an organisation, with the goal of advancing access and use over time. 1 .3.3 Chatbots A chatbot is a software tool that utilises natural language processing (NLP) for human machine interaction (HMI) and Machine Learning (ML). “The complexity of a chatbot is directionally proportional to the scope of the domain”. An open domain requires a larger knowledge base, whereas, a closed domain has a more specific knowledge base that was developed to achieve a specific goal (Gregori, E. , 2017).
Chatbot technology initially began in the 1960s to determine whether a chatbot could be portrayed as a human. Throughout the 1980s there was an elevated amount research carried out on natural language interfaces which lead to the development of sophisticated chatbot architectures such as A.L.I.C.E. This chatbot architecture is one of the earlier chatbots developed in 1995 by Dr Wallace which is now open- source, the acronym stands for Artificial Linguistic Internet Computer Entity. This is a chatbot you can create through interaction as it will learn from previous interactions to create its knowledge base. Its knowledge is saved in AIML (Artificial Intelligent Mark-up Language) files which evolved from the Extensible Mark-up Language (XML) (Shawar, B.A and and Atwell, E, 2007 ). Chatbots are developed using two approaches; a rule based approach where chatbots operate by moving through branches of a tree diagram of an expert system. The second approach involves advanced artificial intelligence and machine learning, thus the chatbot can learn from the conversations, generating appropriate responses to continuously improve over time (Watson, A. 2017 ). There are two modes in which chatbots can simulate a conversation with users which include : Ssystem-initiated chatbots where– they commence the conversation with the user and User-initiated chatbots where- the user directs the conversation instead. Systems that incorporate the two methods of initiation are known as mixed initiative systems (Duijst, D. 2017).
The chatbot engine is thought of as one of the most critical elements of a chatbot, alias “Natural Language Understanding (NLU) engine” ( Kar, R and Haldar, R. 2016 ). The NLU holds liability for the translation of conversational dialogs to actions which are understood by the machine. NLU engines use a variety of artificial intelligence methods to understand the natural language used in conversational interfaces such as chatbots. These methods consist of: Natural Language Processing (NLP) and Machine Learning (ML) (Kar, R and Haldar, R. 2016 ). Googles Dialogflow, previously known API.ai, is a natural language understanding engine that identifies the intent and context from the natural language in user supplied utterances. These concepts are used to develop the behaviour of the chatbot and how coherently it interacts with the user. Intents are used to establish a connection between the user input and the appropriate action to be executed by the chatbot in order for the user to achieve their goal. Contexts are utilised to differentiate and understand user input which may have an alternative meaning depending upon the current conversational context (Gregori, E. 2017).
“Entities are domain specific information extracted from the utterance that maps the natural language phrases to their canonical phrases in order to understand the intent. They help in identifying the parameters which are required to take specific action” (Kar, R and Haldar, R. Kar and Haldar, 2016 ). Establishing the context of the of the users message is a vital feature that allows the chatbot to deal with situations that it may not be able to carry out a specific action for. This is due to the user input being very vague or may have an alternative meaning. The context is the capacity of a chatbot to sustain its state, also referred to as the number of user supplied input (utterances) when the context is extracted and the appropriate intent is paired to conduct the desired action for the user. Intents are the core backbone of conversational interfaces. The intents represent what the customer is wanting to achieve such as ‘show me my balance’. The text sent by the user in natural language is analysed to identify the corresponding intent of the text. This requires matching a specific user supplied phrase with an appropriate action to be executed by the system. The chat bot would then return appropriate dialog in order for the user to achieve their goals. Actions are the processes or steps executed by the system when the intent of a message is identified, they contain parameters which categorise and define its properties (Kar, R and Haldar, R. Kar and Haldar, 2016 ). Sentiment analysis incorporates multiple natural language processing techniques in order to extract meaning and polarity from text. Polarity detection classifies text to be either positive or negative and measures the intensity of the overall polarity detected. Sentiment analysis achieves a more in depth understanding of the contextual role of each concept within a given piece of text (Cambria, E. and White, B, 2017 ). Part of Speech (POS) Tagging: this involves assigning a label to each word in the user input with its part of speech (e.g. noun, verb, adjective, etc.). The labels or tags can be rule-based (a manually developed set of rules is defined to establish part of speech for ambiguous words provided in the conversational context). The labels can also be developed utilising advanced models that are trained using input labelled with the appropriate POS. This is additionally used in response generation in order to outline the POS object type of the expected response made by the chat bot (Cahn, 2017).
Previously chatbots solely supported a single adjacency pair, also known as a one-shot conversation. However, modern chatbots can sustain multiple adjacency pairs, remembering states and contexts between conversations and have the capability to associate data in different adjacency pairs which is related. This is the bots ability to preserve the conversation. A chatbot consists of four main parts: front- end, knowledge-base, back-end and corpus which is the training data. The front end is accountable for enabling communication between the bot and the user. The NLU utilises Artificial intelligence methods to identify the intent and context of the user input. An appropriate response is generated from the users’ intent. The knowledge base defines the chatbots knowledge, which is created within the NLU and supported by the back-end, the back-end applies the domains corpus to produce the knowledge base (Gregori, E. 2017). Figure 31. 6 .1: illustrates a standard chatbot architecture (source: Michael McTear, ( 2018 ) ). Input can be supplied to the chatbot in the form of text or speech. The Input is sent to the dialog management system which is the NLU in this case, which determines an appropriate response and amends the chatbots state accordingly to carry out the required action. The chatbot will produce text and speech responses in the form of both text and speech.
The remainder of this report will focus on:
services are constantly seeking to expand their technologies, both to improve customer service and increase delivery of services through the advancements in technology. This is to gain a competitive edge over other banks for financial benefits and to expand its customer base. A domain specific chatbot will be implemented to assist users with their banking. In order to overcome the user satisfaction issues associated with online banking services. The chatbot will provide personal and efficient communication between the user and their bank in order to manage their finances and get assistance when needed, such as; answering any queries and booking appointments. The chatbot will allow users to feel confident and comfortable when using this service regardless of the user’s computer literacy due to the natural language used in messages. It also provides a very accessible and efficient service as all interactions will take place within the one chat conversation negating the need for the user to navigate through a site.
The proposed solution is to create a chatbot to simulate a human conversation to assist users with their banking needs and to provide a more personal experience. Advancements in artificial Intelligence, machine learning techniques, improved aptitude for decision making, larger availability of domains and corpus, have increased the practicality of integrating a chat bot into applications (Dole et al., 2015). Users will be able to ask any banking related queries in natural language that they are comfortable using such as; view account information, transactions and check balance. The chatbot will identify and understand what the user is asking and generate an appropriate response based on the conversational context. Immediate responses will be provided by the chatbot to redeem the need for the user to have to call or visit their local banks branch and wait in queue in order to get through to an advisor for assistance. In order to make the application more secure Googles 2 Factor Authentication will be integrated to increase security ensuring only registered users can gain access to their account preventing the risk of fraud.
Deciding upon an appropriate methodology is vital for the overall development of any software application to ensure a realistic timeframe is established for each stage of the project and requirements are clearly outlined. Various development methodologies will be discussed and considered for the development and design of this software. This section will highlight the development methodology that is best suited to this project.
This is a very traditionally methodology, which is usually introduced when you initially learn about software development. The waterfall model is a very predictive approach to software development that consists of 5 stages to include; requirements gathering, analysis, design, implementation and testing. Each stage is completed subsequently of one another. A major drawback of the waterfall model is that it is very inflexible, as the project is broken up into phases. Each phase is given a deadline in order for a deliverable to be produced at the end of each phase to adhere to the overall project schedule. The success and progression of the project is measured from the project deliverables, design documents and test plans. As each phase of the project is outlined at the beginning of the project lifecycle and targets have been set it’s difficult to integrate new requirements or a change in requirements that may be identified at a later stage as it would adversely affect the overall project schedule. The waterfall model moves a lot of the more high risk and difficult components towards the end of the project life cycle (Nat Laundry, N. 2011).
This software methodology evolved from the waterfall model. The application is designed, developed and tested using iterative incremental build stages. At the end of each build a subsystem or feature will be created. The project will progress in complexity as new requirements are likely to be discovered and implemented in each incremental build, developing on top of the functionality from the last build leading to the overall development of the application. It is very common for software to be released in stages, it is critical that component versions utilised within the software are managed throughout the entire lifecycle using version control tools such as GitHub. Each build will only last a few weeks to produce a baseline version of the application. Feedback can be given on any requirement errors or faults found in the application. Distributing the development of the project over various build cycles can lower the risks associated with development to a more manageable level as requirements are broken down into smaller functionality to be implemented at the end of each build.