AskMe A Web-Based FAQ Management Tool Alex Albu Background • Fast responses to customer inquiries – key factor in customer satisfaction • Costs for customer service are high • $5 - $8 per phone call • $.25 - $2.75 per email Alternative Solution • Allow customers to ask their questions online or browse the company’s knowledge base • Result: • Instant, real-time customer service • Reduced workload for the company's customer service representatives AskMe • Create and manage FAQ knowledge bases • Instantly publish FAQs on the web • Hosted application with a customizable “skin”, matching the client’s website Architecture Overview Search Engine (C++) Java Application Database Engine (Quasi) Distributed Architecture • • • • • Multiple search servers Multiple database servers Multiple web servers (load balancer) Caching Pooling Architecture Details Search Engine Web Server Servlet Engine Servlets Search MUX Business Objects DB MUX Search Engine DB DB Presentation Layer • MVC pattern • Clear separation of data from presentation • Customized JSP pages for each company Presentation Layer Servlet (Controller) Business Objects in web server Page Model (Model) JSP Page (View) Search Engine • Written in C++ • Accessed via JNI • Implements a modified vector-space search algorithm • Builds document collections in file system Vector-Space Search • Documents represented as vectors of weighted terms Di = (wi1, wi2, …, wit) • Each dimension represents a term in the vocabulary • Goal: compute a similarity coefficient between two documents sim(Di, Dj) Document Similarity • Weighting method: TF-IDF • The weight of a term in a document is the product of its term-frequency (TF) and the inverse of its document frequency (IDF) • Similarity function: Vector Construction • Eliminate meaningless words (stop words) • Bring words that occur in different morphological forms to a common root (stemming) • Use a thesaurus to replace synonyms • Perform phrase recognition Search Engine Architecture Document indexing Document Parser Stopword filter Porter stemmer Synonym library Collection Index builder Statistical Analyzer (TF-IDF) Search Engine Architecture Document matching Query Ranked documents Parser Stopword filter Porter stemmer Collection Synonym library Vector space model Statistical Analyzer (TF-IDF) Database Design KB 1 ROOT_ID COMPANY_ID KB_TREE KB_CATEG_ID ANCESTOR_ID DEPTH 1 KB_CATEG 1 ID PARENT_ID * KB_ITEM ID * 1 KB_CATEG_ID KB Creation • Easy knowledge base creation • 2 options • Using the KB editor • Doing bulk imports KB Editor • HTML-based graphic editor • FAQ and category creation and editing • KB tree editing KB Import • Clients have to provide • FAQs • Knowledge base structure • XML is the perfect format • Clients can upload their files directly Import file transformation • Clients want various formats for the import file • XSLT used to convert input files to a standard XML format (DTD) • Import module maps XML DB schema • FAQ content needs to be parsed to ensure it’s valid HTML File Import Architecture Excel Excel2SAX XSLT processor XML DB HTML Tidy XML Import module Advantages over static FAQ lists • Easy FAQ creation and publishing by CSRs (no web developer intervention) • Reports, statistics on FAQ usage • Helps understand the most frequent types of questions • Track usefulness of FAQs Conclusions • AskMe is a great way for websites to improve their customer service • Tool that reduces costs and contributes to customer retention • Easy to deploy, fast results