Question Answering Based on Interactive Decision Tree
The client wanted to build an interactive tool for their business clients in order to help a user to select a perfect vision care plan based on their requirements. The requirement was that all of the eye care needs must be included so that the tool can recommend a vision care plan based on these needs.
The client have a number of organisations and the vision care plan must be based on it so that different organisation have different eye vision care plans. The tool should have a super admin for overall management and a number of admins managing different organisations.
The client proposed that the recommendation is based on the options or choices selected by the user from a set of questions and each question belongs to a particular category such as visual need, Frames ,Lense, Contact Lense etc. Each organisation must have a number of question trees and it contains a set of questions. Each question within the question tree was selected based on the options or choices selected from the previous question. So it forms a decision tree. Each option or choices have some associated information which must be displayed when the user selecting that answer. After completing the questionnaire, the tools will recommend three plans for the users and provides a comparison among them.
In addition to these, there should be a provision for selecting more than one option or choice for a question. Another requirement was that the user can select a maximum of four dependents who wish for an eye care plan so that user can select an answer based on each dependent requirements.
The final requirement was that the tool’s design should be independent of the organisation,so that the organisation can put their logo, contact info, question category, question tree, questions and answers, startup page, other site contents and finally their vision care plans.The organisation admin must be capable of managing these changes.
- Making the tool more interactive that satisfies all of the above requirements.
- Managing different users interacting with the system.
- Handling different site content data for each organisations.
- Displaying and Managing questions within the admin panel.
- Implementing Recommendation plans from a set of questions.
- Security consideration – Selection of security service to be implemented.
- Implementing a better end user interaction with the tool.
- We categorised the users as super admin,admin and the normal users. The super admin was capable of managing all of the organisations. The system had more admins depending on the number of organisations and managed the organisation’s specific data such as site contents, questions and plans. The end users were the one who used the application to find a perfect eye care plan based on their requirements. All of the users were well defined along with their roles and permissions.
- The site contents were handled by storing site contents along with the organisation details in the database. The organisation details were mapped with a client ID. The end user was directly dealing with the client ID. So the site contents were fetched and updated on the web page dynamically.
- The question flows,questions,options and choices were displayed on the admin panel by using Jstree which helped to form all these which were in tree structure format and became easy to handle.
- In plan recommendation, we implemented some logic to get a plan recommendation. Every selected option and choices were assigned with a corresponding value that is managed internally in order to a get plan recommendations.
- In the security concern, We implemented spring security which can provide comprehensive security services for J2EE-based enterprise software applications.
- We implemented all the requirements of the client.
- The questionnaire functionality was well implemented and the end user could easily findout a perfect plans and their comparisons.
- Java 7
- Spring MVC framework
- Spring security
- Hibernate ORM
- Oracle DB