I was working on a forum and thought of making a tag generator, something like Quora.com but simpler. So, first I "purified" the string – meaning removed some irrelevant words like "for", "in"...
But I couldn't figure out how to only get the nouns in the string. For example: In this thread's title "Is there a PHP or JS algorithm that can filter out the nouns on a string?" would give us:
PHP
JS
algorithm
nouns
string
This is more or less good and accurate. But I also don't want to use a noun-list because I don't want to waste half of my years writing it. I'll also be glad if you know any good noun-lists. Thank you.
You need a "lexical dictionary" (dictionary that maintains metadata about words and connections between them) like Princeton Wordnet. This is an english word semantic database you can use to query and compare things like nouns / verbs or even synonyms / hypernyms.
This obviously would run on your server. You would have to parse the strings on the server side (you could use Ajax if you want it to look like its on the client). There is no feasible way to maintain an entire english dictionary in browser memory, and to search through it, with anything resembling good performance.