This week I focused on improving the accuracy of the classification model. The goal was to make it better at understanding the context of each email rather than just matching keywords. Instead of relying on single-word labels like “Applied,” “Interview,” “Offer,” “Accepted,” or “Rejected,” I switched the model to use hypothesis-style labels that give it more context. This helps the model make smarter decisions.
I also added a set of heuristic checks to flag certain emails for review when specific conditions are met. For example, if the model’s confidence score falls below our threshold, or if the email includes particular phrases such as “interview confirmation” or “application denied,” it will get marked as “needs review.” The model only changes its classification if both the heuristic check and the model’s second-choice label agree. Otherwise, it keeps the original label but still flags it for user review. This way, users can see which emails the model was not completely sure about and double-check them for accuracy.
The week went pretty smoothly overall. Most of my time was spent on testing and tuning the model. Running all those test cases took a while, but it was worth it to see the improvements in its accuracy. Our next step is to test the model with real email data instead of just training data. We are aiming for 70-80% accuracy.
Next week, we will start working on NER (Named Entity Recognition) so JAICE can begin displaying company names, job titles, and other details directly on the user’s dashboard.