1. User Path
•Information like GMAT user/ question asked from Practice section/ etc
Entity(s)
•Like Exam or Topics
Value(s)
•Exam has {ibps po, ssc, etc}; Topics has {Maths, Verbal, Quant, etc}
Understanding
•What does the user want? What does his question mean?
•Grab entities and values
Message
•Text
•Hyperlink
•Interactive box type button-clickable results
Through our notification driven system, that Satinder/Puskar are working on,
and/or User asks a question
Initiation
Server receives and sends directly to Wit
User message-> Wit
Segregated by Wit, we now need to determine what to do
Entity-Value pairs received
Check table/logic and answer (Further details later)
Determine Answer
Pass answer through Tutor (Tutor UI to be designed)
Tutor check
Send answer to User
Reply
Occasionally, ask for feed-back through Satinder/Puskar’s logic flow
Feedback
2. E1, V1 -> if(entities.size()==1)Single Entity query
• If among this list, entity==E1, send message:
• ‘What do you want from {V1}? Study Material or Practice Tests?’- Use value from stack’s top.
• List= {topics, quant, reasoning, mathematics, banking_awareness, general_awareness, computers, english, verbal, indian_history}
• Else: check in Hash Table:
• If present, answer.
• Else send message: ‘Sorry, we didn’t get you, could you rephrase your question?’
• Handling Yes/No
• If(value==yes) {Asked entity/value put to stack and fetch answer}
• Else {‘No’ is in Hashtable, fetch answer-> ‘What exactly are you looking for then?’}
E1, V1, E2, V2 -> if(entities.size()==2)Double combination
• For( __ in {topics, quant, reasoning, mathematics, banking_awareness, general_awareness, computers, english, verbal,
indian_history} )
• If (E1==__||E2==__)
• Replace(E1,V1,E2,V2) //function to exchange E1 and E2 such that E1 is the entity one, and correspondingly change V1/V2
• msg= dubtable[col1=E2][col2=V2][+1/2/3(for which exam)]
• Add/edit message according to:
• Break
• Handling Yes/No
• If(value==yes) {Asked entity/value put to stack and fetch answer}
• Else {‘No’ is in Hashtable, fetch answer-> ‘What exactly are you looking for then?’}
• Else if(present in table) {Direct Reply from Hash Table}
• Else {*1}
To be sent only once per session!
Exam
IBPS-PO IBPS-SO IBPS-CLERK IBPS-RRB GMAT SSC
•
•
•
•
•
Random message from
{
Hello {name};
Hey there {name}!;
Greetings {name}!;
}
//If name not in database, just hello
This solves
800 entries
if-else cases
problem
3. Single Entity- Multiple Values recognized
• For ex: Syllabus for Verbal and Quant
• Detected Entity= E1;
• Detected Values= {V1;V2}
• Action:
• 2 Options:
• Call both E1 and Vi pairs independently and return answers for both pairs
• Merge Both answers and say something like: ‘Here are the links for the
requested topics: abc.xyz qwe.rty’
Multiple Entities- Multiple Values recognized
• One-by-one each entity to be handled-> rare case this happens, though
Wrong Answer in Practice Test
• Notify Tutor:
• Query entity; Wrong Answer Value:
• 2 Options:
• Ask a question-> redirect her to this
• Ask user, ‘Could you please specify the question no. and topic that you are
stuck in?’, and store the information for the Tutor to later check.