Determining part of speech of most words
Mathematica

Mathematica has a native database of words (called up by the simple command WordData ) that includes, among other properties, the parts of speech.  Without this database, it would be impossible for me to answer the question.

The word list from here was downloaded.
Once stored, it is called up as follows:

words = Import["wordlist.txt", "Table"];
Length[words]



  69905   


Forty words are randomly chosen from the list:

list = Flatten@RandomSample[words, 40]



  {"mealtime", "deride", "cricketground", "torpedinidae", "rosefish", 
  "akron", "sloppy", "deaden", "assaultive", "mick", 
  "unperceptiveness", "skeg", "pad", "mane", "carvel-built", 
  "night-stop", "monarchy", "corking", "backlog", "scaphopoda", 
  "bagman", "phrthe", "wholesome", "proprietress", "hortus", 
  "unreliable", "farthermost", "fearfulness", "malposed", "stoke", 
  "affiche", "lunatic", "holcus", "devoutness", "macaque", "zenithal", 
  "poetry", "precipitate", "agoraphobic", "snapper"}




The following asks Mathematica to return the parts of speech for the list of 40 words.
The parts of 31 words are identified. 9 words are not recognized.

(s = Select[Flatten@{{#}, WordData[#, "PartsOfSpeech"]} &amp; /@ 
     list, ! MatchQ[#, {_, WordData[_, _]}] &amp;]) // TableForm
Length[s]