I'm trying to build an intelligent reminder application for the mobile platform. I'm new to this and I'm kind of lost. So here's the problem...
The application must behave like a personal assistant by keeping track of reminders "important" for the user (the user need not always interact with the application which makes the application act similar to a real life assistant). The application must learn from the user. For example, It keeps track of his schedule/calendar and automatically sets reminders for meetings, deadlines(usually not mentioned in calendar). Here the calendar is integrated into the application and user need not manually set his reminders. Basically it studies and learns from the user to provide only what is needed.
Here is the design/architecture of the entire application I thought of implementing.
1> At first, we gather data and create a data set and put it into the database. 2> The learning module analyzes one piece of data at a time and accordingly changes the rules specified in analyze and dispatch section(this section contains code to attach a timestamp to the reminder and dispatch it at that time).
I need help in determining the algorithm that needs to be implemented in the learning module and also in the analyze and dispatch section.