1. Knowledge Base Refinement
In the previous week, most of the knowledge base was settled, with only the more complex rules and action plans left to be defined. Despite having planned two interviews this week, only one took place with Diogo, because of a busy schedule from both parties, which will need to be compensated in the following week.
In this interview, the team discussed a few values (i.e. range of values and certainty factors) that Diogo wasn't able to provide in the previous week, as well as the definition of complex/aggregate rules that Diogo found interesting.
Due to the existing relation between the following metrics, Diogo found their joint analysis to be beneficial for the customer satisfaction diagnosis:
No. Sessions with Product Detail Page (PDP) visits and Add to Basket Rate;
Search Accuracy and Add to Basket Rate;
Lead Time and Estimated Delivery Time (EDD) Accuracy;
Return (Store's Fault) and Refund Lead Time;
Return (Client's Fault) and Refund Lead Time;
Refund Lead Time and Delivery Failure.
Since the second interview didn't take place with either Diogo or Tiago, the action plans could not be discussed. As such, this topic will carry on to next week's interviews and, hopefully, be addressed and finally settled, in order for the knowledge base to come closer to its conclusion.
2. Expert System Implementation
Having delivered the knowledge acquisition report in the previous week, it was now time to start implementing the expert system and the web application that will allow the team to demonstrate a real scenario of his usage.
The team set following goals/tasks for this week's expert system development, having assigned team members to each one:
Develop the expert system in Prolog, while implementing the necessary improvements for the inference engine to support the obtained knowledge base (assigned to Eduardo, Michel and Rui);
Develop the expert system in Drools (assigned to João and Miguel).
On the one hand, the development of the expert system in Prolog went better than initially expected, with many improvements being implemented in the Prolog inference engine, allowing it to handle the obtained knowledge base, comprising of:
Command Line Interface (CLI) support, allowing an easier interaction with the expert system when compared to the Prolog shell;
Explanation Module support, allowing How? and Why not? explanations, with a more natural language to the domain at hand;
Rule Priority support, for conflict resolution;
Certainty Factor support;
Statistical Summary support (i.e. customer satisfaction distribution, dissatisfaction causes distribution, etc.);
(Among others).
Further improvements will be implemented next week, such as a REST API and dynamic client data loading, through the Data Management Module's REST API, allowing the web application modules to communicate with each other.
In the following screenshots, a small peek can be taken at the Prolog expert system implementation.
On the other hand, not as much progress was made with the implementation of the expert system in Drools, as one of the members of the team that was assigned to work in it, João Silva, left the master's degree for personal reasons, which set the team back a bit. Thankfully, with the progress in the Prolog side going smoother than expected, it made up for the lack of progress in the Drools side of things.
As such, next week, two members of the team, Miguel and Rui, will be solely focused on the Drools expert system development, with the Prolog's implementation for reference, while the other two members, Eduardo and Michel, will focus on the rest of the web application and the further necessary improvements for the Prolog expert system. This way, the team expects to have finished the implementation of all modules by the end of the week, with only some tweaks left to be made in the seventh, and final, week.
3. Week Retrospective
In retrospective, the past week went well, although it didn't turn out as expected. First of all, the departure of João was very unexpected and the team had to be quick to adapt and rethink the plan for this and next couple of weeks.
Had the Prolog development not gone so well, the team would have been in a tricky situation, but it is not the case, quite the contrary. The excellent progress in the Prolog side, will allow the team to distribute tasks and, hopefully, finish the implementation of all the modules by the end of next week.
Furthermore, when it comes to the interviews, the team expects to have two more interviews next week, with both experts, in order to address the few remaining issues and any problem/refinement that may come up, allowing the knowledge base to be as refined and complete as possible by the end of the week.
Commentaires