Posts Tagged ‘machine learning’

Improving Chatbot Accuracy -Draft

Sunday, April 12th, 2009
This entry is part 5 of 13 in the series The State of Chatbots

Researchers have employed a variety of methods to improve their chatbot’s accuracy. Most current chatbots use a dialog management module and knowledge base and rules, which they use with templates to match user input. Improving chatbot accuracy may be accomplished through expanding the chatbot knowledge base, improving upon the standard rule-based conversation method for chatbots, or using alternative methods to the standard chatbot rule-based conversation method.

Expanding a knowledge base from which a chatbot may learn can improve accuracy. A drawback to creation of chatbot knowledge bases is that it is usually accomplished through hand coding, or hard-coding, which is time and labor intensive (?). The time taken to program, test and refine a chatbot’s knowledge base can be extensive. Furthermore, hard-coding the rules into a knowledge base may be restricted by the style and ability of the programmer. However, if chatbots could be programmed to learn from an established knowledge base themselves, it would reduce the time needed to create large knowledge bases for the chatbot and potentially improve accuracy of responses given to the user.

One researcher has automated chatbot learning by using language modeling to train chatbots in three different languages (Abu Shawar & Atwell, 2005). The authors created a model of a language to build a corresponding chatbot, and through a java application they translated text-based corpora into AIML. They approached the problem using two different machine learning techniques: first word and the most significant word approaches. Armed with this solution, they retrained their Alicebot with transcripts from human dialog, they compared human and chatbot to human and human dialog. A frequency list was built (words listed most utterances), patterns (the number of times this word appears with another word) and templates were established, and patterns and templates were rearranged to build AIML files. The authors concluded that this machine learning approach based on transcripts of human dialog, enabled their chatbot to converse in different styles and languages.

Another researcher used autonomic knowledge base creation and machine learning approaches to increase the efficiency of building their chatbot knowledge database. They presented an approach for extracting a chatbot knowledge base using <thread-title, reply> pairs for a new knowledge base from a corpora (an online discussion forum) (Huang, Zhou, & Yang, 2007). They normalized and cleaned the corpora by removing irrelevant replies, used humans to rate the training set, and employed author identity to grade the quality of a reply. The researchers applied a machine learning approach to a specific domain of large repositories of archived threads and reply records from online discussion forums. Their results showed that they were able to extract 2,000 pairs in two minutes. Given the speed of their results, the authors considered their approach to constructing a knowledge base for a chatbot to be superior to the by-hand” approach.

Yet another researcher has also focused on automatic chatbot knowledge base creation (Wu, Wang, Weisheng, & Li, 2008). They used a classification model based on rough-set assembly theory to process incomplete data, as applied to a system model data analysis on a controlled set. This  data analysis was coupled to ensemble machine learning algorithms, and was based on related replies and IR-related replies. The authors also concluded that their approach of automatic acquisition of the knowledge for a chatbot was effective.

Others have tried to improve the current rule-based approach to learning for chatbots (Pilato, Vassallo, Augello, Vasile, & Gaglio, 2005). The researchers used latent semantic analysis (LSA) to attempt to predict replies in conversations with humans. They built their chatbots on Alicebot’s software, generating one generic and three domain specific chatbots. Their corpora was 850 documents from the Internet to create the knowledge base. They used LSA to generate algorithms that analyzed the corpora and placed it into a matrix which in turn constituted the knowledge base. Upon interaction with a user, the first interactions would be directed towards the general knowledge (generic) chatbot which had the index” for what the other domain-specific chatbots contained within their knowledge base. This generic chatbot would direct the user to each domain-specific chatbot as deemed appropriate (rules as programmed by the developers). The user then interacted with the domain-specific chatbot until its limit of knowledge was reached, and by default, the user  was then directed back to the generic chatbot. The authors concluded that the LSA allowed them to overcome restrictions of the traditional chatbot rule-based approach.

Recently, some chatbot researchers have deviated from using the standard rule-based conversation approach used by most standard chatbots. For example, one approach involves the automatic generation of a trivial dialog phrase database through the use of genetic algorithms (Montero & Araki, 2007). They evaluated the phrase database for correctness using N-gram analysis to generate statistical data, which was then analyzed to observe the system’s performance. The authors approach is different from traditional AIML rule-based natural language interfaces in that they used phrases and associations. They acknowledge that creating a hand-crafted knowledge base (a dialog corpus) is highly time-consuming and difficult. They generated pairs of phrases, applying fitness function of a genetic algorithm which indicated a well-generated phrase, then evaluated to see if it was acceptable phrase. They used a ratio of acceptable phrases divided by well-generated phrases.

Another deviation from the standard rule-based conversation approach is the use of “semantic-driven interaction in an intelligent system that uses natural language dialog to explain concepts” (Pirrone, Pilato, Rizzo, & Russo, 2007). By means of a 3-tier system, their study attempted to utilize Latent Semantic Analysis (LSA) to cluster documents in a vector space (creating relationships between different words within that vector) (Pirrone). The architecture contained business, presentation and data tiers that consisted of two main parts: an assessment component and supply component. The researchers used the CYC knowledge base in this application to integrate the ontology with other parts of their application. The authors believe that their ontology helped to create relationships (context) and the vectors as a self-organizing map. They considered their approach to  improve the efficiency of their chatbot.

One group has deviated from the standard rule-based approach by combining an expanded knowledge base with machine learning and a neural network (Sing, Fung, Wong, & Depickere, 2007). They crafted an artificial intelligent neural network identity (AINI) based on understanding and reasoning of natural language, rather than being based on pattern-matching like other chatbots. AINI is especially unique since it uses a top-down natural language query in a multi-layered natural language query engine. It uses an AIML engine, natural language understanding and reasoning, FAQ metadata and a spellchecker in a three-tier layered architecture with a mySQL back-end. AINI can parse input, which goes into a natural language reasoning module where sentences are separated into words. Keywords are then chosen and a document retrieval from the Web (Internet) is executed. Information is extracted from the Web, answers are ranked using advanced reasoning, and a requisite response is given. The authors concluded that their agent performed comparably to ELIZA and  ALICE using this new methodology. Given that their chatbot uses a different approach to the rule-based pattern matching used by ELIZA and ALICE, it is understandable that they would compare the performance of their chatbot to these common chatbots. However, the authors plan to improve their chatbot performance further by adding more machine learning algorithms and expanding the chatbot’s knowledge base. Their expectation is that their chatbot’s performance would surpass that of ELIZA and ALICE.

Building Better Chatbots -Draft

Saturday, April 11th, 2009
This entry is part 3 of 13 in the series The State of Chatbots

The major goal of building a better chatbot is to improve its interactions with humans. A wide variety of techniques including developing different architectures, incorporating quirks or tricks, or using different machine learning approaches have been used to improve either chatbot accuracy or human-like qualities. First, some ways that researchers are trying to improve human-like qualities of chatbots will be discussed, followed by some methods that researchers are trying to improve the accuracy of chatbots.

Natural Language Processing -Draft

Saturday, April 11th, 2009
This entry is part 8 of 13 in the series The State of Chatbots

Chatbots need to effectively process natural language. Since starting around the 1960′s, natural language processing (NLP) research has had slow progress until the 1990′s (Lester, Branting, & Mott, 2004). NLP research has been greatly enhanced by development of large corpora of tagged text, as well as by development of better statistical machine learning and other empirical techniques of extracting information from these corpora (Lester et al., 2004). Accordingly, chatbots are now able to more effectively process natural language.

The following are three general steps of chatbot Natural Language Processing according to (Lester et al., 2004):

  1. The First step entails breaking down the utterances (statement). This syntactic analysis separates the statement into parts of speech (noun, verb,etc) using tagging and parsing to define the different parts of the text. There are different approaches to syntactic analysis, and vary greatly according to the type of language and corpora used.
  2. The second step entails reference resolution which involves a discourse analysis of the utterance to create meaningful relationships. For example, this step would resolve the equivalent relationship of the word I” with the word ME”. After relationships are created, a new string would be crafted from the resolution process.
  3. The third step happens when the result of the string is passed to a dialog manager for further processing. An example would be comparing the string (pattern matching) and determine if it is equal or not to another string.

Robert Whetsel’s Research Interests:

Sunday, June 10th, 2007

Chat Robot (Chatbot) Research: Studying the use of chatbots as natural language interface to improve the capability of computers to communicate with humans.

Intelligent work flow: Using Artificial Intelligence techniques to develop an intelligent knowledge management system that continuously acquire, filter, organize and reuse a knowledge base to solve interoperability.

Intelligent Personal Assistant (iAvatar): Creating an intelligent avatar, i Avatar™, an autonomous bot, that  has the ability to personalize end-user experiences through the use of emergence, and social networking. This would help users manage the information overload that users experience. The creation of an artifact that is able to learn and educate system behaviors utilized in areas such as: customizing workflow; autonomic searches, data retrieval and report generation; identifying relationships in information; and self analytics of a knowledge base.

Intelligent Architecture: Identifying relationships in information, intelligence and analytics corpora (based on a specific universe) by applying novel combinations of Artificial Intelligence techniques. Relationships identified through statistical analysis, occurrences, validation of linguistic rules, and encryption (cypher/code) or decryption (decipher/decode). In particular, technologies used are natural language processing, machine learning, knowledge representation, text mining, data mining and information extraction.

Evolution of a GNU Linux distribution: based on autonomic intelligent computing, simplifying the installation and configuration of user systems with self-healing capabilities through Artificial Intelligence.

Share This

  • RobertWhetsel.com is a BLOG by a computer scientist who works for a Think Tank specializing in Information Assurance planning and policy for the DoD. He is the founder of the Open Business Foundation, and the former CEO for RavenSong Open Technologies in Frederick, Maryland. E-mail him at rwhetsel@ravensong.com.
  • Series

  • Cloud Tag