Skip to content

ajaybhat/email-categorization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Email Categorization Webapp

A webapp written in Flask and Python that sorts emails into different categories using machine learning. Emails are parsed from Outlook email client and saved as a training set, to be tagged manually. This training set is then used to classify new incoming emails into one of 5 categories: 1: Development, 2: Personal/Professional communication, 3: Technical communication, 4: HR communication, 5: Autogenerated emails/Others. A summary of the email is also generated and displayed.

Required

Python 2.7, Flask, NLTK, NetworkX, Scikit Learn, Win32Com

NLTK download requirements

stopwords, words, maxent_treebank_pos_tagger

Setting up the training data

cd outlook

python outlook_parser.py

Provide the email id used in the Outlook client of the machine. 45 emails are saved in email_dataset/ Provide the category of each email manually as a number corresponding to the above 5 categories, as the first line of the text.

python setup_training_set.py

Running the app

python email_app.py

The app is deployed at localhost:5000/

About

A Flask webapp that categorizes Outlook emails using machine learning

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published