Semi-Supervised Chrono-Semantic Behavior Modeling Using a Log-Based Learning Framework for Proactive Task Assistance
This repository contains the source code and datasets for a semi-supervised chrono-semantic behavior modeling using a log-based learning framework designed to model routine behavior from computer users' personal interaction logs. The theoretical background of this work is presented in the paper "Semi-Supervised Chrono-Semantic Behavior Modeling Using a Log-Based Learning Framework for Proactive Task Assistance" by Ali, Seyyad Zishan and Mirza, Hamid Turab and Bilal, Ahmad and Hussain, Ibrar, currently under submission.
With the increasing need for proactive desktop assistance systems, understanding user behavior from interaction logs has become essential. This project focuses on:
- Collection of raw unstructured computer interaction logs datasets
- Extraction of chrono-semantic activities from raw log entries
- Implementation of a semi-supervised log-based learning frmaework for activity recognition
- Modeling routine user behavior by using combined feature vector of temporal and contextual features
- Development of predictive algorithms to assist users by forecasting their next possible desktop activity
- Desktop personal data logs are sensitive, making data collection difficult
- Extracting meaningful behavior from low-level interaction logs lacking semantic context
- Identifying periodic routine behaviors despite day-to-day variations
- Handling inconsistencies in repeated activities with chrono-semantic variations
- Achieving accurate prediction of future activities from non-uniform behavioral data
Description: Collection of raw desktop interaction logs was challenging due to privacy concerns, as users were hesitant to share personal activity data for certain periods. Participants were assured their data would be used strictly for research purposes, that enabled us to the voluntary engage of over 10 users. Similar with prior studies, key loggers were installed on participants’ systems to record their daily activities. Activity logging involves recording user desktop interactions into the log files. This dataset is built using:
- User Activity Logger: A desktop tool that records user-triggered events and actions
- User-Classified Data: Collected through daily activity record forms filled by users
Data Availability:: The dataset collected as a result of the proposed study is available in the current repository with file name "Users Personal Computer Interaction Logs.zip"
Key Notes:
- Logs capture detailed, low-level desktop activities
- User-provided labels support semi-supervised learning
- Due to privacy concerns, dataset sharing may be restricted or anonymized
- Behavioral patterns are preserved without exposing personal information
| File Name | Description |
|---|---|
Users Personal Computer Interaction Logs |
Contains the participated users' raw personal computer interaction logs and the survey forms filled by individual users for testing and training of the proposed research. |
Required Libraries and Settings |
Contains all necessary imports, environment configurations, and global constants. |
DATA CLEANSING AND PRE-PROCESSING |
Cleans raw log data, removes noise, and prepares structured activity records. |
DAY CLASSIFICATION |
Classifies logs based on daily activity segmentation. |
ACTIVITY TIME CALCULATION |
Computes time spent on each activity from raw logs. |
ACTIVITY TIME SLOTTING |
Divides activities into predefined time slots for temporal analysis. |
EACH SLOT ACTIVITY TIME CALCULATION |
Calculates activity durations within each time slot. |
USER ACTIVITY CLASSIFICATION |
Applies semi-supervised learning to classify user activities. |
ONE DAY ACTIVITY MODELING |
Models user behavior for a single day. |
ROUTINE ACTIVITY MODELING |
Aggregates daily models to learn long-term routine behavior patterns. |
PREDICTION OF USER'S ROUTINE ACTIVITIES |
Predicts future user activities based on learned patterns. |
Complete Application with GUI and integrated all steps |
End-to-end implementation with graphical interface for easy and as a whole execution of all steps through real-time interaction. |
-
Install dependencies:
pip install -r Required Libraries and Settings.py
-
Run data preprocessing:
python DATA_CLEANSING_AND_PRE_PROCESSING.py
-
Classify data by day:
python DAY_CLASSIFICATION.py
-
Calculate activity durations:
python ACTIVITY_TIME_CALCULATION.py
-
Apply time slotting:
python ACTIVITY_TIME_SLOTTING.py
-
Compute slot-wise activity time:
python EACH_SLOT_ACTIVITY_TIME_CALCULATION.py
-
Perform activity classification:
python ACTIVITY_CLASSIFICATION.py
-
Model daily behavior:
python ONE_DAY_ACTIVITY_MODELING.py
-
Build routine behavior model:
python ROUTINE_ACTIVITY_MODELING.py
-
Predict future activities:
python PREDICTION_OF_USERS_ROUTINE_ACTIVITIES.py- Run complete GUI application:
python COMPLETE_APPLICATION_GUI.py- Cleaned and structured desktop activity logs
- Time-based activity segmentation and slotting
- Semi-supervised classified user activities
- Daily and long-term routine behavior models
- Predicted next user activities for intelligent assistance
- End-to-end GUI-based system for one-time as a whole execution and interaction
If you use this work in your research, please cite the dataset:
Ali, S.Z. et al. (2026). Users Personal Computer Interaction Logs.zip. Github. URL: https://github.com/SZA-CUI/ITaskAIf you use this work in your research, please cite:
@article{zishanali2026ITaskA,
title = {Semi-Supervised Chrono-Semantic Behavior Modeling Using a Log-Based Learning Framework for Proactive Task Assistance},
author = {Ali, Seyyad Zishan and Mirza, Hamid Turab and Bilal, Ahmad and Hussain, Ibrar},
journal = {Under Submission},
year = {2026},
note = {\url{https://github.com/SZA-CUI/ITaskA}}
}