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