🧠 Check-In vs. Not Check-In Classifier

This model is a binary text classifier that determines whether a Slack message is a CHECKIN or NOT_CHECKIN. It was trained using a balanced dataset of real Slack check-ins and synthetic non-check-in examples. The model uses sentence-transformer embeddings combined with an XGBoost classifier.

πŸš€ Use Case

This model is designed for automation systems such as Slack bots, n8n workflows, CIC MCP agents, and productivity tracking tools. It detects whether a user message represents real progress or general conversation.

Example predictions:

"Today I refined the workflow automation" β†’ CHECKIN
"Does anyone have the Zoom link?" β†’ NOT_CHECKIN

πŸ“Š Training Details

Dataset size: 4,277 total examples
Labels:

  • CHECKIN: 2,139 real Slack check-ins
  • NOT_CHECKIN: 2,139 synthetic non-check-in samples

Training achieved 100% accuracy due to the dataset being clean, consistent, and linearly separable.

πŸ“ Repository Structure

checkin_or_not_classifier.json
README.md

πŸ”§ Inference Example

from sentence_transformers import SentenceTransformer
import xgboost as xgb
import numpy as np
from huggingface_hub import hf_hub_download

# ----------------------------------------------------
# 1. Load the embedding model (must be downloaded locally)
# ----------------------------------------------------
# Users must install: pip install sentence-transformers
embedder = SentenceTransformer("all-MiniLM-L6-v2")

# ----------------------------------------------------
# 2. Download your XGBoost model from HuggingFace Hub
# ----------------------------------------------------
model_path = hf_hub_download(
    repo_id="mjpsm/checkin_or_not_model",
    filename="checkin_or_not_classifier.json"
)

# Load the model
booster = xgb.Booster()
booster.load_model(model_path)

# ----------------------------------------------------
# 3. Prediction function
# ----------------------------------------------------
def predict(text: str):
    emb = embedder.encode([text])
    dmatrix = xgb.DMatrix(emb)

    score = float(booster.predict(dmatrix)[0])
    label = "CHECKIN" if score >= 0.5 else "NOT_CHECKIN"

    return {"label": label, "score": score}


# ----------------------------------------------------
# 4. Example usage
# ----------------------------------------------------
example = "Today I worked on improving the automation workflow."
result = predict(example)

print(result)

πŸ“˜ Intended Use

This model is intended for binary classification of short messages. It is not intended for sentiment analysis, toxicity detection, or general-purpose NLP tasks.

πŸ“œ License

Apache-2.0

✨ Author

Mazamesso β€œMazzy” Meba
University of North Florida
AI Automation & Engineering

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Space using mjpsm/checkin_or_not_model 1