Distinguish name of a person vs of an organization
<p>Given the display name from the From: header of an email, I'd like to determine whether that represents the name of a person or something else.  Something else might often be the name of an organization, or perhaps a title/role.</p>

<p>Some examples:</p>

<ul>
<li>Alice Smith => name of a person</li>
<li>Google Inc. => not the name of a person (it's an organization)</li>
<li>Amazon Customer Support => not the name of a person (it's a title/role)</li>
<li>Director of Engineering => not the name of a person (it's a title/role)</li>
</ul>

<p>How can I recognize whether the sender's name represents the name of an individual?</p>

<hr>

<p>One possible approach is to use machine learning and train a classifier.  But if I do that, what features should I use?  I've been reading the literature and haven't found anyone who has tackled exactly this issue, though I've seen some features that were used for related problems:</p>

<ul>
<li><p>A phrase of the form "Word Word" or "Word, Word" or "Word, Word Letter" or "Word Letter Word" or "Word, Word Letter." or "Word Letter. Word" are more likely to be a name (think "First Last" and "Last, First" and "Last, First MI" and "First MI Last").</p></li>
<li><p>A phrase that starts with a title (Mr., Mrs., Miss, Ms., Dr., Prof., Lt., Sgt., etc.) is more likely to be a name.  A phrase that ends with a common name-suffix (Jr., Sr., Phd, Esq) is more likely to be a name.  A phrase that ends with a company indicator (Inc., Corp., Corporation) is likely not a name (it's probably an organization).</p></li>
<li><p>It's possible to download a <a href="https://stackoverflow.com/q/1803628/781723">list</a> of the most common first names and last names from the US Census.  If the phrase contains one of those strings, it's more likely to be a name.  Or, one can use an existing lexicon, e.g., the BaLIE or Oak lexicons.</p></li>
<li><p>If the phrase contains a word found in the dictionary, it's more likely to be not a name (e.g., an organization/title/role).</p></li>
<li><p>If a word in the name matches a word in the domain name of the corresponding email address, it's more likely to be not a name of a person (e.g., Paypal Customer Service ).</p></li>
<li><p>If a word contains an internal apostrophe or hyphen, it's more likely to be a name of a person (e.g., O'Connor, Jean-Claude).</p></li>
</ul>

<p>But I don't know what will actually work.  What features should I use?  Alternatively, are there any pre-trained classifiers or any experience reports that describes what works?</p>

<p>I've read a bit about named entity recognition, but that seems like a harder problem.</p>