1

I would like to write a program that can automatically group e.g. 'happiness', 'happily', 'happy' into 'happy':

  1. What do I need to read to get a handle on this subject? What is it called? What is the state-of-the-art?
  2. Are there any out of the box tools I can use for this?
  3. WordNet claims to include some cross-POS links, and its home page states that "Relational adjectives ("pertainyms") point to the nouns they are derived from (criminal-crime).". How do I access these using, for example, Python's NLTK?

I've read some posts referring to 'nounification' (I guess I want to 'adjectify') but can't find any solid answers.

Appreciate the help!

  • 4
    I guess you're looking for a lemmatizer. There are many free or Free implementations. – prash Sep 24 '14 at 23:48
  • Hmm - nltks wordnet lemmatizer does not merge 'happily' and 'happiness' - can two different parts of speech be considered lemmas of one another? – user3279453 Sep 25 '14 at 7:04
  • 3
    Are you trying to do stemming? There's an nltk package for that. Basically, it removes all modifiers from a word so you just have the stem (or root) word left. – Will Beason Sep 26 '14 at 13:48
  • 1
    @hippietrail: sure, but I almost never recommend a stemmer: it seems so useless unless the user has very special circumstances :) – prash Sep 28 '14 at 14:29
  • 1
    OP here. I have thousands of single word responses some of which are emotions. Unfortunately, respondents have generated e.g. happiness, happy, happily when they mean to say 'happy' and joy, joyfully, joyously when they mean 'joy', etc. I want to normalize so that in the first case the three words get rolled into the e.g. adjective form, 'happy' and in the second case 'joyful'. If I use wordnet's lemmatizer from python's nltk, this does not seem to combine happiness, happy, and happily - they remain distinct. If I stem instead, do I run the risk of combining e.g. happy and hapless into hap? – user3279453 Sep 29 '14 at 9:18
2

Based on your comment, you seem to be looking for positive words with the intent of performing sentiment analysis (generally lists are divided into positive, negative, and neutral). Here are some lists to get started with (a Google search will turn up plenty more):

As a side note, word lists are only marginally helpful in detecting/classifying sentiment. It will capture the low-hanging fruit, but not more complicated or ambiguous phrases such as "watch the movie" (which is a positive movie review, but a negative book review).

As far as extracting pertainyms goes, any good POS-tagger will allow you to identify the predicted direct object of a verb and whatnot, but as you are likely aware, this is fraught with its own complications.

| improve this answer | |

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.