Transcript AskMe
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