将表情符号添加到AFINN库以进行情感分析

时间:2016-03-07 09:22:55

标签: python python-2.7 sentiment-analysis

如何将表情符号添加到AFINN库

我想将表情符号添加到AFINN库进行情感分析,图书馆已经有各自极性的单词,如何附加一些表情符号以便相应的代码可以读取其极性???

afinn = dict(map(lambda (w, s): (w, int(s)), [ 
        ws.strip().split('\t') for ws in open(filenameAFINN) ]))
pattern_split = re.compile(r"\W+")
def sentiment(text):
    words = pattern_split.split(text.lower())
    sentiments = map(lambda word: afinn.get(word, 0), words)
    if sentiments:
        sentiment = float(sum(sentiments))/math.sqrt(len(sentiments))
    else:
        sentiment = 0
    return sentiment
if __name__ == '__main__':
    print("%s") % (text)
    print ("%6.2f") % (sentiment(text))
    if sentiment(text) < 0:
        print "================||| NEGATIVE |||================"
    elif sentiment(text) > 0:
        print "================||| POSITIVE |||================"
    else:
        print "================||| Seems NEUTRAL |||================"  

图书馆按顺序有单词,比如。

yucky   -2
yummy   3
zealot  -2
zealots -2
zealous 2

我应该如何在库中添加这些表情符号,并阅读其极性

(^ ^)   1
(^-^)   1
(^.^)   1

1 个答案:

答案 0 :(得分:1)

我是AFINN单词列表背后的人。我的名为afinn的Python包已经有一些表情符号。

>>> afinn = Afinn(emoticons=True)
>>> afinn.score('I saw that yesterday :)')
2.0

您可以在此处获取afinn Python包:

https://github.com/fnielsen/afinn

或来自Python包索引

https://pypi.python.org/pypi/afinn/

我的表情符号有一个文件。在GitHub上,你可以在这里找到它:

https://github.com/fnielsen/afinn/blob/master/afinn/data/AFINN-emoticon-8.txt

如果你想添加自己的表情符号,我认为目前不那么麻烦的方法是在复制/分叉afinn版本后扩展表情符号文件。