如何修改AFINN词典指定词汇的情感分值?R环境无法识别afinn库的问题求助
如何修改AFINN词典指定词汇的情感分值?R环境无法识别afinn库的问题求助
我太懂你这种场景的纠结了!在r/travel子reddit做情感分析时,“negative”默认绑定负分,但这里指的阴性检测结果明明是件好事,确实得手动调整词典分值才行。先帮你解决R不认afinn库的问题,再一步步教你修改指定词汇的分值:
第一步:搞定afinn库无法识别的问题
你大概率是还没安装这个包!R不会默认自带所有第三方库,得先手动安装:
- 打开R控制台,执行安装命令:
注意要确保你的网络能正常连接CRAN镜像,如果遇到镜像报错,可以换个国内的CRAN镜像试试。install.packages("afinn") - 安装完成后,再加载包:
这时候应该就能正常识别了。如果还是不行,检查下你的R版本是否过旧,或者试试从GitHub安装最新版:library(afinn)# 先安装devtools包(如果没装过) install.packages("devtools") # 安装afinn的GitHub最新版 devtools::install_github("juliasilge/afinn")
第二步:修改AFINN词典里指定词汇的情感分值
加载包之后,先确认下词典的结构——不同版本的afinn包可能数据格式略有差异,你可以用str(afinn)或者head(afinn)查看详情。通常它是一个包含word(词汇)和score(情感分值)的两列数据框,修改方法很简单:
# 先查看"negative"的原始分值 print(afinn[afinn$word == "negative", ]) # 根据你的需求修改分值,比如改成+2(你可以按需调整数值) afinn[afinn$word == "negative", "score"] <- 2 # 确认修改后的结果 print(afinn[afinn$word == "negative", ])
如果你的afinn包版本里,词典是命名向量形式(比如afinn$word_scores),那直接用下面的代码修改就行:
afinn$word_scores["negative"] <- 2
修改完成后,后续做情感分析时,记得调用你修改后的这个词典对象,而不是默认的原始词典,这样就能让“negative”在你的旅行场景里被识别为正向情感啦。
备注:内容来源于stack exchange,提问作者Ankita
相关产品推荐
相关产品推荐

