I am making string combinations using WordData and would like to filter all nouns that come from a specific professional specialization. For example, the nouns in the English dictionary are dominated by biology and medical terms that are not useful to me. There is a UsageField and UsageType property tag that can be used, which shows promise, but these are mostly blank, even when the usage seems self evident (?).

For example:

nouns = WordData[All, "Noun"];
WordData[#, "UsageField"] & /@ nouns[[3000 ;; 3010]] // TableForm

Returns a set of things I'd like to get rid of but have no filter for without knowing in advance what the term is:

 {{"Alnico", "Noun"} -> {}},
 {{"Alnus", "Noun"} -> {}},
 {{"Alnus crispa", "Noun"} -> {}},
 {{"Alnus glutinosa", "Noun"} -> {}},
 {{"Alnus incana", "Noun"} -> {}},
 {{"Alnus maritima", "Noun"} -> {}},
 {{"Alnus rhombifolia", "Noun"} -> {}},
 {{"Alnus rubra", "Noun"} -> {}},
 {{"Alnus rugosa", "Noun"} -> {}},
 {{"Alnus serrulata", "Noun"} -> {}},
 {{"Alnus veridis", "Noun"} -> {}}

Any thoughts on how to remove such terms? Perhaps interfacing more directly with the richer computational knowledge in WolframAlpha?

  • 2
    $\begingroup$ Maybe you are looking for WordList with the CommonWords type? $\endgroup$ – C. E. Jun 8 '16 at 20:21
  • $\begingroup$ That seems to do the job. I'm sort of embarrassed I didn't think if it myself; thanks very much for the quick response and easy solution. $\endgroup$ – tdgutierrez Jun 8 '16 at 20:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.