需要澄清sentimentr(trinker)情感函数返回的平均极性分数的计算

时间:2016-06-17 13:56:08

标签: r sentiment-analysis sentimentr

我正在使用来自R package sentimentr(通过trinker)的情绪分析函数sentiment_by()。我有一个包含以下列的数据框: 评论评论 月 年 我在数据帧上运行sentiment_by函数,根据年份和月份找到平均极性分数,得到以下值。

review_year review_month    word_count  sd  ave_sentiment
2015       March        8722    0.381686065 0.163440921
2015       April        7758    0.387046768 0.158812775
2015       May          7333    0.389256472 0.149220636
2015       November    14020    0.394711478 0.14691745
2016       February     7974    0.400406931 0.142345278
2015       September    8238    0.379989344 0.141740366
2015       February     7642    0.361415304 0.141624745
2015       December    24863    0.387409099 0.141606892
2016       March        8229    0.389033232 0.138552943
2016       January      10472   0.388300946 0.134302612
2015       August       7520    0.3640285   0.127980712
2016       May          3432    0.422246851 0.125041218
2015       June         8678    0.356612924 0.119333949
2015       January      9930    0.351126449 0.119225549
2016       April        9344    0.397066458 0.111879315
2015       July         8450    0.349963536 0.108881821
2015       October      7630    0.38017201  0.1044298

现在我根据评论单独在数据框上运行sentiment_by函数,然后在结果数据框上运行以下函数,找到基于年份和月份的平均极性分数。

sentiment_df[,list(avg=mean(ave_sentiment)),by="month,year"]

我得到以下结果。

month       year        avg
January     2015    0.110950199
February    2015    0.126943461
March       2015    0.146546669
April       2015    0.148264268
May         2015    0.143924126
June        2015    0.110691204
July        2015    0.106472437
August      2015    0.118976304
September   2015    0.135362187
October     2015    0.111441484
November    2015    0.137699548
December    2015    0.136786867
January     2016    0.128645808
February    2016    0.129139898
March       2016    0.134595706
April       2016    0.12106743
May         2016    0.142801514

根据我的理解,两者都应该返回相同的结果,如果我错了,请纠正我。我选择第二种方法的原因是因为我需要根据月份和年份以及基于月份来平均极性,并且我不想两次使用该方法,因为它会导致额外的时间延迟。有人可以让我知道我在这里做错了吗?

1 个答案:

答案 0 :(得分:2)

这是一个想法:也许第一个函数是从单个句子中取平均值,第二个函数是从“平均情绪”中取平均值,这已经是平均值。因此,平均值的平均值并不总是等于各个元素的平均值。