Tim*_*ütz 7 python regex text-processing nlp nltk
我正在开展一个项目,我希望从文本中提取情感.因为我正在使用conceptnet5(语义网络),所以我不能简单地在包含否定词的句子中添加单词,因为这些单词根本不会出现在conceptnet5的API中.
这是一个例子:
这部电影并不那么好.
因此,我认为我可以使用wordnet的引理功能来替换含有否定词的句子中的形容词,例如(不,......).
在前面的示例中,算法将检测wasn't并将替换它was not.此外,它会检测到否定词not,并good用它的反义词替换bad.这句话如下:
电影很糟糕.
虽然我发现这不是最优雅的方式,并且它可能在很多情况下产生了错误的结果,但我仍然希望以这种方式处理否定,因为我坦率地不知道任何更好的方法.
考虑到我的问题:
不幸的是,我没有找到任何允许我替换所有出现的附加否定词(wasn't=> was not)的库.我的意思是我可以通过用正则表达式替换事件来手动完成,但后来我会被英语语言困住.
因此,我想问一下你们中是否有人知道可以帮助我的图书馆,功能或更好的方法.目前我正在使用python nltk,但它似乎并不包含这样的功能,但我可能错了.
提前致谢 :)
Nik*_*sev 13
类似的情况wasn't可以通过tokenization(tokens = nltk.word_tokenize(sentence))简单解析:wasn't将转换为was和n't.
但是负面意义也可以通过"准消极的词语,如几乎不可能,很少,很少"和"暗示的否定,如失败,预防,不情愿,否认,缺席",形成本文.更为详细的分析可以在克里斯托弗波茨的" 论否定的否定性 "中找到.
考虑到你最初的问题,情绪分析,大多数现代方法,据我所知,不会明确地处理否定; 相反,他们使用带有高阶n-gram的监督方法.实际处理否定的那些通常会在否定和标点符号之间的所有单词上附加特殊前缀NOT_.