I'm building a PoS tagger and I was wondering if there is a way to determine if a word is a verb other than looking in a list of verbs.

What i'm doing is marking all words as nouns, then if it ends with ed marking it as a past-participle verb, if ending ly then as an adverb, if ending in al then as adjective.

EDIT: I'm looking to do this in English.

  • I don't know many other ways to do that. But I can add "-ate" and "-are" to your list of suffixes. Your project would be a lot easier in say, Spanish especially, or German. :\
    – khaverim
    Apr 26 '14 at 19:57
  • @khanahk yes, it would be easier in spanish. thank you Apr 26 '14 at 20:14
  • 1
    The question is too broad, as it stands. Which language are you focusing on?
    – prash
    Apr 26 '14 at 21:25
  • @prash ah, okay. Sorry. I'm looking for English. Apr 26 '14 at 23:15

Since your goal is POS-tagging, looking up the word in a list may not always be helpful, because the same word may act like one of many classes, depending on its context. (See "set", for example.)

However, unsupervised (i.e. without using annotated data to train a model) POS tagging is a well-researched topic. The paper, "Two Decades of Unsupervised POS induction: How far have we come?" compares several approaches you could use, either for implementation, or for inspiration. As a starting point, I recommend looking into the Brown clustering algorithm (video), which, despite being one of the most effective methods mentioned there, is simple enough to be taught in introductory NLP classes.

  • can you provide me a link to the brown-clustering algorithm-- preferably one in not-so complicated language. I've having trouble finding one. Apr 27 '14 at 0:14
  • @gramme.ninja: done
    – prash
    Apr 27 '14 at 0:22

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.