我的目标是分析一些语料库(现在的推特)的情感内容。就在今天,我意识到搜索词干会有一点意义,而不是有一个详尽的情感词干列表。所以我一直在探索nltk.stem,只是意识到有4种不同的词干分析器。我想问一下stackoverflow语言学家,LancasterStemmer,PorterStemmer,RegexpStemmer,RSLPStemmer或WordNetStemmer最好是否有正当理由。
答案 0 :(得分:9)
它可能与您要求的有点不同,但Nodebox Lingustics库包含一个is_emotive()函数,它似乎检查单词以查看它们是否是某些情感单词的递归上下文。来自commonsense.py
ekman = ["anger", "disgust", "fear", "joy", "sadness", "surprise"]
other = ["emotion", "feeling", "expression"]
不是一个干扰者,而是一个有趣的方法来检查。
答案 1 :(得分:7)
RSLP适用于葡萄牙语。我猜你想要英语。 Regexp会要求你开发自己的词干表达式,所以我认为也可以忽略它。 WordnetStemmer要求您知道该单词的词性,因此您必须先进行pos标记才能使用它。我已经使用过移植器干扰算法并且非常好,但兰卡斯特算法更新,所以它可能会更好。您可能想尝试使用组合词干,您可以从每个词干分析器中选择最短的词干。无论如何,底线是PorterStemmer是一个很好的默认选择。