2016-03-03 84 views
1

我有很多英文文本,並且正在尋找一種方式來提取具有情感內容的詞語,如「憤怒」,「討厭」,「偏執狂」,「退出」等等。有沒有辦法用NLTK或WordNet來做到這一點?提取「情感詞」/影響英語語料庫中的詞嗎?

+0

嘗試在NLTK中搜索英語sentiwordnet。這是你應該尋找的,在這種情況下,wordnet不會有任何幫助。 – Riyaz

+0

試試這個http://www.nltk.org/howto/sentiwordnet.html – Riyaz

+1

這很有效。如果你能回答,我可以接受。 – vy32

回答

2

您可以使用NLTK中的SentiWordNet Interface檢查英語單詞的情感內容。用法從NLTK

>>> from nltk.corpus import sentiwordnet as swn 

>>> list(swn.senti_synsets('breakdown')) 
[SentiSynset('dislocation.n.02'), 
SentiSynset('breakdown.n.02'), 
SentiSynset('breakdown.n.03'), 
SentiSynset('breakdown.n.04')] 

>>> breakdown = swn.senti_synset('breakdown.n.03') 
>>> print(breakdown) 
<breakdown.n.03: PosScore=0.0 NegScore=0.25> 
>>> breakdown.pos_score() 
0.0 
>>> breakdown.neg_score() 
0.25 
>>> breakdown.obj_score() 
0.75