The project involved creating a classification system for TV programs on Kodi using a BERT-based model. The pipeline processes XMLTV data, filters it for educational and nature channels, and uses a custom model to identify content of interest. The system runs on a Kubernetes cluster, utilizing ONNX Runtime for inference.
The model was trained on a dataset of 600 entries, expanded synthetically to 150 entries per class. Training was performed on a CPU over five epochs with a batch size of 16. The final ONNX model file size is approximately 111.4 MiB. The system integrates with the IPTV Simple client to mark recommended programs with a star.
Initial results showed a macro-F1 score of 1.000, which was later identified as a data leakage issue. Analysis revealed that 119 out of 120 test entries had nearly identical descriptions in the training set. Furthermore, the test set was used for checkpoint selection, effectively serving as a validation set rather than an independent test.
The system currently processes 108,937 programs across 1,297 channels, with a processing time of approximately 117 seconds. The model classifies content into four categories: interesting, culinary, filler, and other. Future improvements include better data splitting and grouping programs by cycles to prevent leakage.






