Recently, computers have developed artificial intelligence (AI) systems to provide human-friendly services based on human understanding . The core technology of these AI systems is a language-intelligence technology that allows users to communicate easily and obtain information without language limitations while being served by users. Additionally, owing to the convenience of instant messaging-based social networking services, mobile messengers are now expanding their scope to combine intelligent systems, and do not just provide messaging functions.
Among the language-intelligence technologies, chatbots are currently receiving considerable attention in academic and practical areas. A chatbot can be defined as a non-human virtual conversation robot, which can answer the user’s questions . Users can easily obtain required information by sending messages to the chatbot services without running applications or visiting websites. Therefore, currently, many companies are providing various services to their customers by customizing chatbots for business marketing and advertising strategies [3,4]. Owing to the presence of several types of chatbots applying various techniques, it is necessary to study the characteristics of chatbots to improve their conversational maturity and to conduct more relevant communication with them.
One of the basic challenges of chatbot is to enable machines to communicate with humans using natural language. The basic concept of chatbot was proposed by Alan Tune in 1950, and in 1966, the ELIZA mimicked human dialogue. However, this has revealed seemingly intelligent limitations. Later in 1995, ELIZA tried to construct a dialogue pattern using the AI markup language (AIML) through expansion of the ELIZA system; however, its limitations are still evident. In 1988, Jabberwacky pioneered the era of voice-based systems in text-based systems; this was one of the earliest attempts to create AI through human interaction. Recently, chatbot has incorporated the AI technology, such that if the user asks questions or commands in a human language, the chatbot can understand the context and respond accordingly. Here, the deep learning technology is applied as the conversations accumulate; therefore, a basis has been prepared to improve accuracy through self-education.
Currently, chatbot is studying natural language processing (NLP), which is an important technology of chatbot, in terms of NLP, natural language understanding (NLU), and natural language generation (NLG). Chatbots are also studying a number of technologies such as pattern recognition, semantic web, data mining, and context-sensitive computers. The chatbot business is growing because of the popularity of messaging apps among the emerging millennial generation and the development of AI-related technologies. Currently, WhatsApp and Facebook messenger own the highest shares in the global market, whereas WeChat and LINE own the same in China and in Japan, respectively. Mobile messaging applications are expected to evolve into a messaging platform rather than remaining only a communi-cation app through the chatbot service based on a vast number of subscribers. It may also evolve into a medium- and long-term growth engine in the future. If AI-based chatbots spread rapidly, the mobile markets centered on apps will be absorbed into chatbot platforms. There is also a possibility that the automated interactive platform of chatbot, which is available anytime and anywhere, could replace the customer counseling center currently provided by companies. Additionally, chatbot is expected to become a consulting business based on the expertise in fields such as finance, medical, and legal. Additionally, with the development of deep learning technology, existing public services, companies, the online to offline (O2O) model, and personal assistant systems (intelligent personal assistant [IPA]) will be combined with new technologies to further enhance their dependence on chatbot. These chatbot studies have two main aims: to see how well chatbots can understand users’ messages and how well chatbots can provide answers that are appropriate in context. Many researchers are still studying how to achieve these ultimate goals; as a results various chatbots have been developed based on elaborate methods. In the future, the chatbots will be applied actively to improve service satisfaction in all areas of daily life.
This paper is organized as follows. Section 2 investigates the techniques used for developing chatbots, and reviews the published studies. Section 3 introduces the areas where the actual research on chatbots is being applied. Section 4 concludes the paper with future directions.
2. Applied Techniques for Chatbot
2.1 Techniques Overview
This section approaches chatbot from various perspectives and describes its features and techniques (Fig. 1). Although in the past, chatbot has been introduced in matching of words technique, it is being studied on some other aspects in the modern times [5-8]. Therefore, it is necessary to redefine and introduce key points with the trends of today
NLP is an important point of view in the past and the core of the chatbot system. NLP is one of the major research fields of AI that enables the study and implementation of human speech phenomena using machines such as computers. Such NLP is technically classified into NLP, NLU, and NLG. NLP is applied to various fields such as chatbot, information search, QA system, automatic classification of documents, newspaper article clustering, interactive agent, automatic translation of system, and interpretation. NLP refers to general natural language processing techniques. It is a set of techniques that analyze, extract, and understand meaningful information in given text [8-17]. NLU is a technology that understands natural language and deals with more details than NLP does [18-3]. NLG is a technology that creates natural language and deals with more details than NLP does [24-29]. The future chatbot system is not confined to a simple natural language process but requires a new chatbot system in combination with various existing studies. Therefore, futuristic technologies such as pattern recognition, semantic web, data mining, and text aware computing, play a major role in the future chatbot market.
Pattern recognition is one of the technical approaches in cognitive science and AI. Cognitive science refers to the field of science that explores issues of intelligence and perception in psychology, computer science, AI, neuroscience, linguistics, and philosophy; AI refers to technologies that model human learning and reasoning skills to understand syntactic patterns. Pattern recognition uses an engineering approach to an actual AI implementation problem, “the problem of recognizing the sensed target.” Pattern recognition is commonly recognized as “a branch of AI that processing the problem of a computable mechanical device (computer) recognizing a target.” while it can be defined in many ways. This pattern recognition identifies shapes, letters, and sounds using machines. User utterances input into the chatbot can be classified and identified in various patterns [30-34].
Overview of techniques used for chatbots.
Semantic web is a framework and technology that allows computers to understand the meaning of information resources (e.g., web documents, files, services) and express the relationship between resources in an ontological form that the machine (computer) can handle. It is a technology that contributes to raising the level of the chatbot. Ontology is a model that expresses the results of a conceptual and computer-friendly discussion of what people see, hear, feel, and think about the world; it explicitly defines the type of concept or the constraints of use. Comparing the semantic web with the general web (HTML), the latter simply lists metadata about visual information and sentences described in natural language. For example, if the word banana is listed in yellow, the relationship between banana and yellow is indistinguishable for the general web, but the semantic web would know the concept that bananas are yellow. The technology of understanding these relationships concepts will have a great impact on future chatbot technologies as they would be able to understand and ask users questions and engage in conversation naturally in a long flow of stories [1-40].
Data mining has the ability to analyze the datasets in unstructured or large-scale text data that are required to use the chatbot as a process or technology for finding new and useful information. Such data mining can be applied to the chatbot in two ways: association analysis and regression analysis. Association analysis is the discovery of associative rules that link the values of properties that occur frequently in a given dataset. For example, it is used to identify associations for sentences that are frequently asked. Regression analysis is used to determine what a dependent variable is via independent variable analysis. In other words, data mining is a technology that analyzes data from the past and provides answers [41-44].
Text-aware computing is a technology that informs the situation in reality to a virtual space and provides intelligent service based on the user’s utilization. It is a technology that uses the user’s intentional information input and general chatbot responses seen in the chatbot system with the aim of allowing the computer embedded in the object to recognize the user, the surrounding objects, make appropriate judgments, and perform actions based on the judgements. This type of text-aware computing would be better suited to limited locations, such as factories and hospitals because general chatbots require additional data from their environment [45-49].
From the next sections, this paper specifically introduces the technologies that are currently being studied in a variety of ways.
2.2 Natural Language Processing
The NLP study proposes a system architecture that focuses on a single question type in general [9,10], and an NLP-based system that can generate various questions . Additionally, the NLP technology is applied to various other research fields than chatbot . The most important goal of this NLP study is applying NPL for ontology learning [13,14]. It is necessary to identify the current stage of chatbot research, and present the conceptual level of development we need to make in the future regarding: “What is the level of detail that the NLP systems using language knowledge and minimum possible domain-dependent knowledge can be found in a particular area?” .
NLU is a field of deep study in NLP. It has been studied for the use of interactive agents in applications such as the education system [18,19]. Some electronic devices such as smart phones and tablet computers require an NLU engine that interprets the user input and provide meaningful output or facilitates work with one or more applications that can be accessed through electronic devices . Additionally, a list of keywords provides a direct and practical way to explore the properties of the text corpus and text types . Finally, a study tested NLU based on voice communication [22,23].
In the past, NLG was only able to generate simple natural language; therefore, we will introduce the basic NLG work in the future regarding: “When to use NLG technology, planning, sentence aggregation, lexicalization, reference expression generation and language realization?” . There have been many studies about NLG that are a part of the software studies that have incorporated recent developments in XML Web technology . It has been realized from these studies that NLG is important in chatbots with voice recognition systems . In the past, NLG has been implemented by comparing template-based to NLG  or proposing a simple algorithm . Template-based means that a framework for a specific rule or purpose is created in advance to apply the NLG . However, owing to the increasing importance of voice recognition platforms, recent research has been proposed in the field of NLG to generate an appropriate response to the user’s speech as the . Fig. 2 and Table 1 introduces the chatbot with the NLP, NLU, and NLG technologies [9,19,50-57].
Application of NLP techniques to chatbot
2.3 Pattern Recognition (Matching, Mapping)
Pattern recognition is generally used in chatbots to identify and analyze the patterns for various conditions after applying the NLP technology. This evolves common responses into realistic responses or complex responses, enabling information search, collaboration, and research-oriented conversation . This creates a more detailed or similar level of response without the application of the NLP technology and complementing the absence of machine learning technologies, forms, syntax, and semantic NLP modules with the AIML-based architecture system [32,33]. This AIML-based system has been used to provide various program languages and useful services in the pattern analysis system [32,33]. Pattern recognition in chatbots is divided into two approaches. In the first, a depth-priority search algorithm is used to analyze and it need large amounts of data. The second is to interpret the grammar according to the keyword pattern . Table 2 introduces the chatbot with the pattern recognition technology [30,31,33,34,60-67].
2.4 Semantic Web
The Semantic Web is a natural technological advancement as the web market grows. The World Wide Web has a large amount of information; therefore, it needs to distinguish between the current and past terms and extract relevant information from various documents. Therefore, the Semantic Web starts to transform the World Wide Web into a meaningful web [35,40]. The most important word in the Semantic Web is “ontology,” which is the philosophical study of being. More broadly, it studies the concepts that
Application of the pattern recognition technique to chatbot
directly relate to being; in particular, becoming, existence, reality, and the basic categories of being and their relations . Traditionally, listed as a part of the major branch of philosophy known as metaphysics, ontology often deals with questions concerning what entities exist or are said to exist; and how such entities may be grouped, related within a hierarchy, and subdivided according to their similarities and differences. Ontology is the study of extracting knowledge from the Semantic Web ontology because of the necessity of a new information retrieval tool that can manage the web resources effectively [36-39]. Table 3 introduces the chatbot with the Semantic Web technology [36,68-75].
Application of the semantic web technique to chatbot
2.5 Data Mining
Text mining is commonly used as a high-level technology and has very high commercial value because it analyzes in-depth rather than displaying light results [41,44]. Additionally, several high-speed network-bound cluster systems are utilized for large-scale topical searches, which are highly available, scalable, and capable [42,43]. However, the current chatbot paper has an unopened data mining technique. Data mining is also an important area of text mining. Data mining is the process of discovering patterns in large datasets involving methods at the intersection of machine learning, statistics, and database systems. Recent tremendous technical advances in processing power, storage capacity, and inter-connectivity of computer technology are creating unprecedented quantities of digital data. Data mining, which is the science of extracting useful knowledge from huge data repositories, has emerged as a young and interdisciplinary field in computer science. Data mining techniques have been widely applied to problems in industry, science, engineering, and government, and it is widely believed that data mining will have profound impact on our society. The growing consensus that data mining can create real value has led to an explosion in demand for novel data mining technologies and for students who are trained in data mining—students who have an understanding of data mining techniques can apply them to real-life problems, and are trained for research and development of new data mining methods. Courses in data mining have started to emerge all over the world . Table 4 introduces the data mining technology applied to a chatbot [77-82].
Application of the data mining sub-level technique to chatbot
2.6 Text-Aware Computing
When we talk in a noisy place, we talk louder so that others can hear well. On the contrary, during meetings, we talk in low tones to avoid disturbing others. In this situation, text-aware computing can provide a variety of functions, e.g., computers can provide a schedule of the current time, and can provide an answer on the identification of a specific person . Additionally, text-aware computing is a recent issue that goes beyond system comprehension, i.e., “understanding the context” and “concepts that the computer understands” [46,47,49]. Furthermore, it has been studied to “re-model contextual data,” “process technology,” and “improve security” for effective context recognition . Table 5 introduces the text-aware computing technology applied to chatbot [83-88].
Application of text-aware computing technique to chatbot
2.7 Various Techniques
Chatbot is doing a lot of study besides the five techniques mentioned above. Chatbots are also studied from various aspects. For example, it is very interesting to test chatbots with intelligence quotient (IQs) and emotional quotient (EQs) . And since chatbots should because they are highly likely to be specialized in the research field, they need to test the specific task in question . This requires an overall knowledge of the chatbot architecture . Chatbots are evolving from playing a rudimentary model to an advanced intelligent system. Chatbots are especially popular in the business sector as they currently have the potential to automate customer services and reduce human efforts. The chatbot must analyze users’ inputs accurately and make appropriate responses to fully imitate human conversation . There are many cases in which the development of chatbots have implemented using python with the Natural Language Toolkit (NLTK) or TensorFlow. NLTK is a leading platform for writing Python programs that can work with human language data and supports a variety of functions, including classification, token painting, formulae analysis, tagging, syntax analysis, and collection of text-processing libraries for semantic inference. TensorFlow is an open source software library for machine learning, which is used in Google products. Table 6 introduces the application of technologies other than those introduced previously to chatbot [93-112].
Application of other techniques to chatbot
This section describes the areas where the actual research on chatbots is being applied. Chatbot technologies are described in five major categories: interactive commerce and O2O, IPA, public services, entertainment services, and enterprise messaging.
The rapid spread of smart phones has enabled the interactive commerce and O2O to easily access contents of various mobile services from the App Store and Google Play Store. Consequently, smartphone users have begun to become accustomed to consuming services and content based on mobile devices, thereby opening the world of interactive commerce and O2O. Since then, customer actions and decisions have become most important to the consumer on-demand services. Owing to the convergence of online and offline areas due to the advancements of the Internet, the industry’s distinct boundaries have collapsed. These reasons have elevated the status of converged marketers who understand both online and offline markets. In fact, many IT-related companies (Amazon, Microsoft, Google, etc.) also apply interactive commerce and O2O for providing services.
IPA is the biggest concern of global companies around the world, the competition to take initiative in the AI personal assistant market is becoming fiercer. IPA literally means a service where AI serves as a personal secretary. It is an automation service that serves as a secretary, such as providing office assistance to expedite tasks and convenience services to improve the quality of life, e.g., Amazon Alexa, Google Assistant, Microsoft’s Cortana, and Apple’s Siri. It was commercialized starting with Apple’s Siri in 2011, Google Now in 2012, Microsoft’s Cortana in 2014, and Facebook Messenger in 2015. Additionally, Facebook has opened up Messenger, which now is not merely an app but a platform upon which developers can build an entire chatbot system. Facebook Messenger provides more than 30,000 chatbots, and it also stays as their main habitat . Since then, competition in the personal information market has intensified as Amazon Echo, Google Home, and Apple HomePod have been introduced. In Korea, Samsung Electronics acquired the US AI startup Viv. Bixby, which is an AI secretary service based on this technology, and it will be applied to smartphones to commercialize the voice-recognition AI assistant service. Mobile network providers will also provide AI services such as SK Telecom (Nugu)  and KT (Genie) . In today’s world, it has become imperative to stand out from the crowd and make one’s mark. The best way to do so is by using the latest technology. However, chatbots have a big potential for implementation in personalized and corporate accounts on social media platforms. Chatbots are designed to be the ultimate virtual assistant, helping one to accomplish various tasks ranging from answering questions, getting driving directions, turning up the thermostat in one’s smart home, play one’s favorite tunes, draft a question, and answer surveys. The purpose of chatbots is to support and help business teams in their relationship with customers and consumers at the same time .
Generally, entertainment services provide services such as beverage order and payment to suit the tastes of consumers. Entertainment services have a wide presence in the general service industry, either by applying chatbots or by providing users with an interface to implement chatbots. Recently, Starbucks announced the My Starbucks Barista app  and Facebook released Bottr (https://bottr.me), which enable users to easily implement and apply chatbot.
The enterprise messenger that is used in the corporate market is different from Apple’s Siri, Google Assistant, and Microsoft’s Cortana. Rather than providing personalized services, it foresaw a paradigm shift that will change the way companies respond to customers while supporting simple repetitive tasks. An enterprise chatbot is meaningful to companies because it is the easiest and most efficient way to communicate between executives, employees, and customers. Global companies are already working on linking chatbot to their work-applications by utilizing the Bot framework, which is a chatbot production tool that is provided from outside through their application development teams. Typically, IBM Watson (https://www.ibm.com/watson) offers interactive services at a low price. Google’s “API.ai” (https://dialogflow.cloud.google.com), is similar to IBM Watson, but focuses primarily on consumer applications. “Wit.ai,” which is a natural language understanding tool, is also being used in e-commerce. Microsoft Bot Framework allows users to create bots and share them on Github (https://github.com/) by utilizing an open source development platform.
This study examines the chatbot research papers that have applied the aforementioned five technologies, and classifies them into five categories. In the case of NLP or pattern recognition technology, a variety of studies have been proposed because these technologies have been applied to chatbot since a considerable period. However, there were not many cases where data mining, situational computing, or semantic webs, which are relatively new technologies, were used in chatbots; therefore, these technologies were able to present a future direction of research.
The chatbot market is expected to grow exponentially in the future as many chatbot products have been introduced in recent years. Chatbot has unlimited potential for development, and it is becoming more human than before. In particular, AI technologies have a great influence on improving intelligence for chatbots. In the future, it is necessary to consider how to develop chatbots using voice command techniques that are easily integrated with them. In addition, these voice command techniques can be developed using APIs supported by chatbot platform websites, such as “Chatfuel.com,” “Conversable.com,” “Dialogflow.com,” “Gupshup.io,” “RASA.com,” “Manuchat.com,” “Danbee.ai,” and “Playchat.ai.”
There are two key points in this field of study: how well can chatbots understand the users’ messages and how well can chatbots provide appropriate answers in terms of context. Let us think about a time where the chatbot is highly advanced; users will not be able to recognize that they are conversing with a chatbot. People will get used to talking to chatbots, and it will become as natural as talking to others, surfing the Internet, and watching videos.
This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT) (No. NRF-2017R1C1B5018295).