Upload
tess-usilton
View
215
Download
1
Embed Size (px)
Citation preview
AskMeA 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
• 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
Alternative Solution
• Create and manage FAQ knowledge bases
• Instantly publish FAQs on the web
• Hosted application with a customizable “skin”, matching the client’s website
AskMe
Architecture Overview
JavaApplication
DatabaseEngine
Search Engine(C++)
(Quasi) Distributed Architecture
• Multiple search servers
• Multiple database servers
• Multiple web servers (load balancer)
• Caching
• Pooling
Architecture Details
Servlet Engine
BusinessObjects
SearchMUX
DBMUX
DB
DB
Ser
vlet
s
Web Server
SearchEngineJN
IR
MI
SearchEngineJN
IR
MI
Presentation Layer
• MVC pattern
• Clear separation of data from presentation
• Customized JSP pages for each company
Presentation Layer
Servlet(Controller)
BusinessObjects
in web server
Page Model(Model)
JSP Page(View)
sends r
equest
dispatches request
returns data
builds
is consumed bydisplays page
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 Parser Stopword filter Porter stemmer
Synonym library
Index builderCollection
Document indexing
Statistical Analyzer(TF-IDF)
Search Engine Architecture
Document matching
Query Parser Stopword filter Porter stemmer
Synonym library
Vector space model
Collection
Statistical Analyzer(TF-IDF)
Rankeddocuments
Database Design
KB_CATEG
ID
PARENT_ID
KB_TREE
KB_CATEG_ID
ANCESTOR_ID
KB_ITEM
ID
KB_CATEG_ID
KB
ROOT_ID
COMPANY_ID
DEPTH
1
1 1 *
*
1
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
XML
XML
Excel2SAX
XSLTprocessor
Import moduleDB HTML Tidy
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