Survey On Chatbot Design Techniques In Speech Conversation .

3y ago
47 Views
2 Downloads
540.90 KB
9 Pages
Last View : 5d ago
Last Download : 3m ago
Upload by : Camden Erdman
Transcription

(IJACSA) International Journal of Advanced Computer Science and Applications,Vol. 6, No. 7, 2015Survey on Chatbot Design Techniques in SpeechConversation SystemsSameera A. Abdul-KaderDr. John WoodsSchool of Computer Science and ElectronicEngineering/University of Essex Colchester/ UKDiyala University/ Diyala/ IraqSchool of Computer Science and ElectronicEngineering/University of Essex Colchester/ UKAbstract—Human-Computer Speech is gaining momentum asa technique of computer interaction. There has been a recentupsurge in speech based search engines and assistants such asSiri, Google Chrome and Cortana. Natural Language Processing(NLP) techniques such as NLTK for Python can be applied toanalyse speech, and intelligent responses can be found bydesigning an engine to provide appropriate human likeresponses. This type of programme is called a Chatbot, which isthe focus of this study. This paper presents a survey on thetechniques used to design Chatbots and a comparison is madebetween different design techniques from nine carefully selectedpapers according to the main methods adopted. These papers arerepresentative of the significant improvements in Chatbots in thelast decade. The paper discusses the similarities and differencesin the techniques and examines in particular the Loebner prizewinning Chatbots.selected works are compared with those used in Loebner-PrizeChatbots. The findings are discussed and conclusions aredrawn at the end.Keywords—AIML; Chatbot; Loebner Prize; NLP; NLTK; SQL;Turing TestI.INTRODUCTIONSpeech is one of the most powerful forms ofcommunication between humans; hence, it is the researchers‟ambition in the human computer interaction research field toimprove speech interaction between the human and thecomputer in order to simulate human-human speechinteraction. Speech interaction with modern networkedcomputing devices has received increasing interest in the pastfew years with contributions from Google, Android and IOS.Because they are more natural than graphic-based interfaces,spoken dialogue systems are beginning to form the primaryinteraction method with a machine [1]. Therefore, speechinteraction will play a significant role in humanising machinesin the near future [2].Much research work has focussed on improvingrecognition rates of the human voice and the technology isnow approaching viability for speech based human computerinteraction. Speech Interaction splits into more than one areaincluding: speech recognition, speech parsing, NLP (NaturalLanguage Processing), keyword identification, Chabotdesign/personality, artificial intelligence etc. Chatbot is acomputer program that have the ability to hold a conversationwith human using Natural Language Speech.In this paper, a survey of Chatbot design techniques inspeech conversation between the human and the computer ispresented. Nine studies that made identifiable contributions inChatbot design in the last ten years are selected and then,reviewed. The different techniques used for Chatbots in theII.BACKGROUNDA. Human-Computer Speech interactionSpeech recognition is one of the most natural and soughtafter techniques in computer and networked device interactionhas only recently become possible (last two decades) with theadvent of fast computing.Speech is a sophisticated signal and happens at differentlevels: “semantic, linguistic, articulatory, and acoustic” [3].Speech is considered as the most natural among the aspects ofhuman communication, owing to copious informationimplicitly existing beyond the meaning of the spoken words.One of the speech information extraction stages is convertingspeech to text via Automatic Speech Recognition (ASR) andmining speech information [4]; then, the resulting text can betreated to extract the meaning of the words.Speech recognition is widely accepted as the future ofinteraction with computers and mobile applications; there isno need to use traditional input devices such as the mouse,keyboard or touch sensitive screen and is especially useful forusers who do not have the ability to use these traditionaldevices [5]. It can help disabled people with paralysis, forexample, to interact with modern devices easily by voice onlywithout moving their hands.B. Natural Language Toolkit (NLTK)In order to deal with and manipulate the text resulting fromspeech recognition and speech to text conversion, specifictoolkits are needed to organise the text into sentences thensplit them into words, to facilitate semantic and meaningextraction. One of these toolkits is the widely used NLTKwhich is a free plugin for Python.The Natural Language ToolKit (NLTK) is a set ofmodules, tutorials and exercises which are open source andcover Natural Language Processing symbolically andstatistically. NLTK was developed at the University ofPennsylvania in 2001allowing computational linguistics withthree educational applications in mind: projects, assignmentsand demonstrations [6] [7]. It can be found within the PythonLibraries for Graph manipulation GPL open license. NLTK isused to split words in a string of text and separate the text intoparts of speech by tagging word labels according to theirpositions and functions in the sentence. The resulting tagged72 P a g ewww.ijacsa.thesai.org

(IJACSA) International Journal of Advanced Computer Science and Applications,Vol. 6, No. 7, 2015words are then processed to extract the meaning and produce aresponse as speech or action as required. Different grammarrules are used to categorise the tagged words in the text intogroups or phrases relating to their neighbours and positions.This type of grouping is called chunking into phrases, such asnoun phrases and verb phrases.C. Chatbot strategiesTo give suitable answers to keywords or phrases extractedfrom speech and to keep conversation continuous, there is aneed to build a dialogue system (programme) called a Chatbot(Chatter-Bot). Chatbots can assist in human computerinteraction and they have the ability to examine and influencethe behaviour of the user [8] by asking questions andresponding to the user's questions. The Chatbot is a computerprogramme that mimics intelligent conversation. The input tothis programme is natural language text, and the applicationshould give an answer that is the best intelligent response tothe input sentence.This process is repeated as theconversation continues [9] and the response is either text orspeech.Building a Chatbot needs highly professionalprogramming skills and experienced developers to achieveeven a basic level of realism. There is a complicateddevelopment platform behind any Chatbot which will only beas good as its knowledge base which maps a user‟s words intothe most appropriate response. The bot developer usuallybuilds the knowledge base as well. However, there are someplatforms which provide a learning environment. Writing aperfect Chatbot is very difficult because it needs a very largedatabase and must give reasonable answers to all interactions.There are a number of approaches to create a knowledge basefor a Chatbot and include writing by hand and learning from acorpus. Learning here means saving new phrases and thenusing them later to give appropriate answers for similarphrases [10].Designing a Chatbot software package requires theidentification of the constituent parts. A Chatbot can bedivided into three parts: Responder, Classifier andGraphmaster (as shown in Figure. 1) [11], which are describedas follows:1) Responder: it is the part that plays the interfacing rolebetween the bot’s main routines and the user. The tasks of theresponder are: transferring the data from the user to theClassifier and controlling the input and output.2) Classifier: it is the part between the Responder and theGraphmaster. This layer’s functions are: filtering andnormalising the input, segmenting the input entered by theuser into logical components, transferring the normalisedsentence into the Graphmaster, processing the output from theGraphmaster, and handling the instructions of the databasesyntax (e.g. AIML).3) Graphmaster: is the part for pattern matching thatdoes the following tasks: organising the brain’s contents,storage and holding the pattern matching algorithms.Fig. 1. Components of Chatbot [11]D. Chatbot Fundamental Design Techniques and approachesTo design any Chatbot, the designer must be familiar witha number of techniques:1) Parsing: this technique includes analysing the inputtext and manipulating it by using a number of NLP functions;for example, trees in Python NLTK.2) Pattern matching: it is the technique that is used inmost Chatbots and it is quite common in question-answersystems depending on matching types, such as naturallanguage enquiries, simple statements, or semantic meaningof enquiries [12].3) AIML: it is one of the core techniques that are used incommon Chatbot design. More details about this techniqueand the language used are explained in section 2.5 below.4) Chat Script: is the technique that helps when nomatches occur in AIML. It concentrates on the best syntax tobuild a sensible default answer. It gives a set of functionalitiessuch as variable concepts, facts, and logical and/or.5) SQL and relational database: is a technique usedrecently in Chatbot design in order to make the Chatbotremember previous conversations. More details andexplanation are provided in section 2.6 below.6) Markov Chain: is used in Chatbots to build responsesthat are more applicable probabilistically and, consequently,are more correct. The idea of Markov Chains is that there is afixed probability of occurrences for each letter or word in thesame textual data set [13].7) Language tricks: these are sentences, phrases, or evenparagraphs available in Chatbots in order to add variety tothe knowledge base and make it more convincing. The types oflanguage tricks are: Canned responses. Typing errors and simulating key strokes. Model of personal history. Non Sequitur (not a logical conclusion)Each of these language tricks is used to satisfy a specificpurpose and to provide alternative answers to questions [13].73 P a g ewww.ijacsa.thesai.org

(IJACSA) International Journal of Advanced Computer Science and Applications,Vol. 6, No. 7, 20158) Ontologies: they are also named semantic networksand are a set of concepts that are interconnected relationallyand hierarchically. The aim of using ontologies in a Chatbotis to compute the relation between these concepts, such assynonyms, hyponyms and other relations which are naturallanguage concept names. The interconnection between theseconcepts can be represented in a graph enabling the computerto search by using particular rules for reasoning [13].the Chatbot in this range [16]. According to this judgement,the more human Chatbot is the winner.E. Loebner Prize and Turing Testa) Turing TestIn the field of Artificial Intelligence, Turing was the first topose the question, “Can a machine think?” [14], wherethinking is defined as the ability held by humans. According tothis question and this definition, Turing suggests the“imitation game” as a method to directly avoid the questionand to specify a measurement of achievement for researchersin Artificial Intelligence [15] if the machine appears to behuman. The imitation game can be played between threepeople: (A) which is a man, (B) which is a woman, and (C)which is the interrogator and can be either a man or a woman.The aim of the interrogator here is to determine who thewoman is and who the man is (A and B). The interrogatorknows the two as labels X and Y and has to decide at the endof the game either “X is B and Y is A” or “X is A and Y is B”.The interrogator also has the right to direct questions to A andB. Turing then questions what will happen if A is replacedwith a machine; can the interrogator differentiate between thetwo? The original question “Can machines think?” can then bereplaced by this question [14]. In this imitation game, theChatbot represents the machine and it tries to mislead theinterrogator to think that it is the human or the designers try toprogramme it to do so [16].c) Prized Chatbots and Their Design TechniquesAlthough no Chatbot has won the Loebner Prize yet, thereis a winning Chatbot each year and the standard of entrycontinues to improve with time. Table 1 shows the prizedChatbots as the name of the programmer, the programmename, the year they won, and the techniques used to designand programme them.b) Loebner PrizeIn 1990 an agreement was held between Hugh Loebnerand The Cambridge Centre for Behavioural Studies toestablish a competition based on implementing the TuringTest. A Gold Medal and 100,000 have been offered by HughLoebner as a Grand Prize for the first computer that makesresponses which cannot be distinguished from humans‟. Abronze medal and an annual prize of 2000 are still pledged inevery annual contest for the computer which seems to be morehuman in relation to the other competitors, regardless of howgood it is absolutely [15]. It is the first known competition thatrepresents a Turing test formal instantiation [13]. Thecompetition has been run from 1991 annually with slightchanges made to the original conditions over the years. Theimportant thing in this competition is to design a Chatbot thathas the ability to drive a conversation. During the chat session,the interrogator tries to guess whether they are talking to aprogramme or a human. After a ten-minute conversationbetween the judge and a Chatbot on one side and the judgeand a confederate independently on the other side, the judgehas to nominate which one was the human. The scale of nonhuman to human is from 1 to 4 and the judge must evaluateNo Chatbot has ever achieved the golden medal andpassed the test to win the Loebner Prize. However, someChatbots have scored as highly as 3 out of the 12 judgesbelieving they were human. There is a winning bot every yearand there is a list of Chatbots called Loebner Prized Chatbots.This list commences from 1991 to the current date.F. AIMLTo build a Chatbot, a flexible, easy to understand anduniversal language is needed. AIML, a derivative of XML isone of the widely used approaches that satisfies therequirements. AIML represents the knowledge put intoChatbots and is based on the software technology developedfor A.L.I.C.E. (the Artificial Linguistic Internet ComputerEntity). It has the ability to characterise the type of data object(AIML objects) and describe partial conductance of theprogrammes that it processes. These objects consist of twounits: topics and categories; the data contained in thesecategories is either parsed or unparsed [19].The purpose of the AIML language is to simplify the job ofconversational modelling, in relation to a “stimulus-response”process. It is also a mark-up language based on XML anddepends on tags which are the identifiers that make snippets ofcodes to send commands into the Chatbot. The data objectclass is defined in AIML as an AIML object, and theresponsibility of these objects is modelling conversationalpatterns. This means that each AIML object is the languagetag that associates with a language command. The generalstructure of AIML objects is put forward by [20]: command List of parameters /command The most important object among the AIML objects iscategory, pattern, and template. The task of the category tag isdefining the knowledge unit of the conversation. The patterntag identifies the input from the user and the task of templatetag is to respond to the specific user input [20]; these are themost frequent tags and the bases to design AIML Chatbotswith an intelligent response to natural language speechconversations. The structure of category, pattern, and templateobject is shown below: category pattern User Input /pattern template Corresponding Response to input /template /category 74 P a g ewww.ijacsa.thesai.org

(IJACSA) International Journal of Advanced Computer Science and Applications,Vol. 6, No. 7, 2015TABLE I.LOEBNER PRIZED CHATBOTS‟ DESIGN TECHNIQUES AND APPROACHES [13]YearProgrammeNameWinner DesignerName1991PC TherapistJoseph Weintraub1992PC TherapistJoseph Weintraub1993PC TherapistJoseph Weintraub1994TIPSThomas WhalenA personal history model database like the system with pattern matching.1995PC TherapistJoseph WeintraubThe same as in 1991.1996HeXJason Hutchens1997ConverseDavid LevyHas got a trick sentences database, Markov Chain models, patternmatching, and a model of personal history.A database for facts, pattern matching, proactivity, WordNet synonyms, astatistical parser, ontology, a list of proper names, and a modular ofweighted modules.1998Albert OneRobby Garner1999Albert OneRobby Garner2000A.L.I.C.ERichard Wallace2001A.L.I.C.ERichard Wallace2002EllaKevin Copple2003JabberwockJuergen Pirner2004A.L.I.C.ERichard )Rollo CarpenterRollo CarpenterDesign TechniqueCanned and non-sequitur responses in addition to pattern matching afterparsing, and word vocabulary that make it remember sentences.Hierarchical structure of previous Chatbots, such as Fred, Eliza, patternmatching and proactivity.Advance pattern matching, AIML.Language tricks, phrase normalisation, pattern matching, WordNet, andexpanding abbreviation.Markov Chains, simple pattern matching, context free grammar (CFG), andparser.The same as in 2000.No scripts or pattern matching, a huge database of responses of people, andthey are based on the Chatbot Jabberwacky.2007UltraHALRobert MedekszaScripts of pattern matching and VB code combination.2008ElbotFred RobertsCommercial Natural Language Interaction system.2009Do-Much-MoreDavid LevyIntelligent Toys Commercial Property.2010SuzetteBruce Wilcox2011RosetteBruce Wilcox2012Chip VivantMohan EmbarResponses using unformatted chat script and AI, and ontology.2013MitsukuSteve WorswickBased on rules written in AIML [17].2014RoseBruce WilcoxIt contains a comprehensive natural language engine to recognise themeaning of the input sentence accurately. A chat script is also included inthe design [18].AIML based chat script with database of variables, triples and concepts.Matching of words or phrase patterns for Chatbots withkeywords needs to be as accurate as possible. The patternmatching for language „query‟ for AIML is simpler than forexample SQL. However, this does not mean that AIML is asimple question and answer database. It depends on more thanone matching category because it uses a recursive tag like srai [19]. It is important to give a variety of responses fromthe knowledge base to achieve the highest number of possiblematches.G. SQLA Relational Data Base (RDB) is one of the techniquesrecently used to build Chatbot knowledge bases. Thetechnique has been used to build a database for a Chatbot, i.e.to enable the Chatbot to remember previous conversations andto make the conversation more continuous and meaningful.The most familiar RDB language is SQL (Structured QueryLanguage), which can be used for this purpose.SQL or MYSQL has gained a high recognition in RDBbecause it is the high-level language for nonprocedural data.Query blocks nesting to arbitrary depths is one of the mostinteresting features of it, and the SQL query can be dividedinto five basic kinds of nesting. Algorithms are developed tochange queries that include these basic nesting types into"semantically equivalent queries". Semantically equivalentseries are adjustable to achieve effective processing viaexisting query processing subsystems. SQL as a data languageis implemented in ZETA; also as a calculus-based and blockstructured language, it is implemented in System R,ORACLE, as well as SEQUEL[21]. Some researchers, as seenin the next sections, have recently used SQL to generate a75 P a g ewww.ijacsa.thesai.org

(IJACSA) International Journal of Advanced Computer Science and Applications,Vol. 6, No. 7, 2015database that saves the conversation history in order to make asearch for any word or phrase match easier. This techniquegives continuity and

design/personality, artificial intelligence etc. Chatbot is a computer program that have the ability to hold a conversation with human using Natural Language Speech. In this paper, a survey of Chatbot design techniques in speech conversation between the human and the computer is presented. Nine studies that made identifiable contributions in

Related Documents:

business chatbot based on a domain-specific language. The meta-model of this language is shown in Fig.2. This meta-model specifies meta-classes, relations, and all required features essential to define a business chatbot. According to Fig.2, each business chatbot model consists of a Configuration, more than one States, and several Users and .

Persona Dalam merancang chatbot, kamu harus memposisikan chatbot tersebut seperti asisten toko. Asisten toko yang baik sangat memahami 3 hal; persona customers, pola pikir customers dalam proses pembelian, dan pola percakapan efektif untuk menaikkan penjualan. Hal pertama yang kamu harus lakukan adalah mengidentifikasi buyer persona kamu.

the topic through our project work. 1 . 2 D e s c r ip t ion In our project we explore how a chatbot can give information to students about school-related information. In the first iteration of the project we created a chatbot for giving

3 Abstract My Master Thesis aims to prove that a chatbot can be integrated with a GIS in a meaningful way and that a chatbot can provide multi-criteria analysis information on site selection.

Unfortunately, Arabic chatbots are rare. To our knowledge, there is no previous work on developing a chatbot for the Saudi Arabic dialect. In this study, we have developed "Nabiha," a chatbot that can support conversation with Information Technology (IT) students at King Saud University using the Saudi Arabic dialect.

Lawyer Outlook Template Billing Team Invoice Excel AAR. Lawyer Bill Request (Output) Invoice Josef Chatbot Excel (Output) SWINBURNE LAW SCHOOL Health Check Chatbot Allows students to perform a health check on their current course progress Encourages students to comp

1. Configure a Chatbot Widget in Interaction Connect 2. Configure Reverse Proxy Rewrite Rules 3. Set up Chatbot Call Flow Following is an example of a basic chat flow: 1. Website visitor starts a chat. 2. Chat request passes through the cloud to Genesys Intelligent Automation. 3. Genesys Intelligent Automation receives the request and proceeds .

start again from scratch the next Weak processing speed Poor short-term memory Emotional impacts Difficulties processing visual material. 01/04/2016 14 How can dyslexia affect music? Commonly reported difficulties with music Reading musical notation (especially sight reading and singing) Learning new music quickly Rhythmical difficulties especially from notation .