Summary
- To provide the analytics module for the skills recognition and profiling of users based on their activity and preferences
- To provide a model (i.e., ontology for modeling personal skills and competencies) and implementation for the User Profiling Module of SlideWiki
- To implement a supervised classification method for enrichment of user profiles from data collected by the Student Information System
- To reuse and extend open-source tools (Weak, Apache Mahout, Apache Spark MLib)
Background and goals
User Profiling is applied on two levels, static and dynamic. Thus, SlideWiki will follow a hybrid model for User Profiling.
Static data for user profiling include the user-related data that the user has provided through the creation and updating of his/her profile. These include:
- Demographic data
- Name
- Age
- Education
- Educational and Research Interests
- Affiliation
- Participation in Groups
Dynamic data for user profiling include extracted and inferred data from user activity. These include:
- Deck consumption statistics
- Average time spent on reading/consuming decks
- Number of presentations given
- Usage of external sources, multimedia etc.
- Themes and Domains of created decks (e.g. through semantic annotation and/or tagging)
- Content creation
- Average time spent on creating/editing content
- Number of decks the user is participating as an owner/editor
- Statistics on usage of the user's created decks from other users (i.e., reachability/popularity of created content)
- Themes and Domains of created decks (e.g. through semantic annotation and/or tagging)
Assumptions
The user profiling module should interact with the activity tracking components in order to ensure that the needed data is produced (e.g. tracking of time spent on decks)
Action Items
- Extend User Data Model for User Profiling and Skills Recognition
- Implement/Extend API routes in User Service for CRUD methods
- Implement data ingestion controllers using user engagement data (i.e. from activity service) and static data (from user service and deck service)
- Design and implement algorithms for skills extraction/recognition