<p>This is a categorization problem, not unlike a spam filter. Instead of flagging an email as spam/not-spam, you are flagging whether it has one of the action categories that you have described.</p>

<p>You'll need to start by assembling a training corpus of example email messages and labeling each example to identify which (maybe multiple) of your categories, if any, are actually present in that email. </p>

<p>Next, pre-process that data to extract features for each message. Examples of typical features include word (or n-gram) counts/frequencies (bag of words). As a shortcut, you might to include as a feature a boolean indicating the presence or absence of a particular word or phrase that you suspect will be predictive of one or more categories. Techniques such as stemming can help reduce the number of words/n-grams being used (often increasing accuracy). </p>

<p>Once you have a dataset that consists of features and labels for each training email (possibly breaking this set up into subsets for training, cross-validation, and testing), you'll want to apply a supervised classification algorithm. You might start with linear classifiers such as logistic regression or SVMs, and if you're unsatisfied with the resulting accuracy then you could advance to neural techniques. </p>

CC BY-SA 3.0
2018-03-18T11:17:14.693Z
"straightforward" ? too optimistic
pasaba por aqui
CC BY-SA 3.0
2018-03-19T02:57:06.757Z
Optimistic perhaps, but all is relative. :-) I'll try to expand a bit more on high level steps. As a note to beginners who want to dig deeper into implementation, Andrew Ng's Coursera course might be a good starting point.
G__
CC BY-SA 3.0
2018-03-18T06:10:15.717Z
2018-03-19T03:10:09.933Z
2018-03-19T03:10:09.933Z
G__
<p>I am trying to build a model which would take an email message (in English, extracted subject, and body of the email) and identify if it has a question, request or a proposal. Basically, I would like to see the mails that I've not replied but needs a reply. The model can be used as a "filter" in an email client.</p>

<p>What is the best way to go about it?</p>

<p>Related Work:</p>

<p><a href="https://github.com/ParakweetLabs/EmailIntentDataSet/wiki" rel="nofollow noreferrer">Parakweet Lab's Email Intent Data Set</a></p>

<p><a href="https://www.cs.cmu.edu/~tom/EMNLP2004_final.pdf" rel="nofollow noreferrer">Learning to Classify Email into "Speech Acts"</a></p>

CC BY-SA 3.0
2017-07-18T16:42:54.933Z
When you're trying to implement some project or working on a project model,you need to give a snippet of what you're working. In order to get effective feedback from the community.For your information check through the [guide lines](https://ai.stackexchange.com/help)
quintumnia
CC BY-SA 3.0
2017-07-19T07:36:07.313Z
@quintumnia edited and gave a bit more detail.
convergence
CC BY-SA 4.0
2020-09-07T15:41:34.790Z
Am working on a similar use case.
Could you implement? If yes, please share the solution.
Nitin
CC BY-SA 4.0
2022-04-13T12:23:18.230Z
What are you findings so far? What have you tried? What is your knowledge of AI/ML? Have you heard of classification? Do you have dataset? Do you have a labelled dataset? These are all questions that should have been answered in your post to make it a good post.
nbro
<deep-learning><natural-language-processing>
Identify "actionable" intents in email messages
convergence
# Identify "actionable" intents in email messages

(Asked by: username_0 on 2017-07-18)

I am trying to build a model which would take an email message (in English, extracted subject, and body of the email) and identify if it has a question, request or a proposal. Basically, I would like to see the mails that I've not replied but needs a reply. The model can be used as a "filter" in an email client.

What is the best way to go about it?

Related Work:

[Parakweet Lab's Email Intent Data Set](https://github.com/ParakweetLabs/EmailIntentDataSet/wiki)

[Learning to Classify Email into "Speech Acts"](https://www.cs.cmu.edu/~tom/EMNLP2004_final.pdf)

**Tags:** deep-learning, natural-language-processing

> **Comments:**
> **username_1**: When you're trying to implement some project or working on a project model,you need to give a snippet of what you're working. In order to get effective feedback from the community.For your information check through the [guide lines](https://ai.stackexchange.com/help)  
> **username_0**: @username_1 edited and gave a bit more detail.  
> **username_2**: Am working on a similar use case. Could you implement? If yes, please share the solution.  
> **username_3**: What are you findings so far? What have you tried? What is your knowledge of AI/ML? Have you heard of classification? Do you have dataset? Do you have a labelled dataset? These are all questions that should have been answered in your post to make it a good post.  

---

## 1 answers

### Answer by username_4 on 2018-03-18. Score: 1

This is a categorization problem, not unlike a spam filter. Instead of flagging an email as spam/not-spam, you are flagging whether it has one of the action categories that you have described.

You'll need to start by assembling a training corpus of example email messages and labeling each example to identify which (maybe multiple) of your categories, if any, are actually present in that email.

Next, pre-process that data to extract features for each message. Examples of typical features include word (or n-gram) counts/frequencies (bag of words). As a shortcut, you might to include as a feature a boolean indicating the presence or absence of a particular word or phrase that you suspect will be predictive of one or more categories. Techniques such as stemming can help reduce the number of words/n-grams being used (often increasing accuracy).

Once you have a dataset that consists of features and labels for each training email (possibly breaking this set up into subsets for training, cross-validation, and testing), you'll want to apply a supervised classification algorithm. You might start with linear classifiers such as logistic regression or SVMs, and if you're unsatisfied with the resulting accuracy then you could advance to neural techniques.

> **Comments:**
> **username_5**: "straightforward" ? too optimistic  
> **username_4**: Optimistic perhaps, but all is relative. :-) I'll try to expand a bit more on high level steps. As a note to beginners who want to dig deeper into implementation, Andrew Ng's Coursera course might be a good starting point.  

---

