情感分析是一种广泛的方法类别,旨在从文本中测量积极和消极情绪,因此这是一个相当困难的问题。但这里有一个简单的答案:您可以将字典应用于您的文档-术语矩阵,然后结合字典的积极与消极关键类别创建情感度量。
我建议在文本分析包quanteda中尝试此操作,该软件可以处理各种现有字典格式,并允许您创建非常灵活的自定义字典。
例如:
require(quanteda)
mycorpus <- subset(inaugCorpus, Year>1980)
mydict <- dictionary(list(negative = c("detriment*", "bad*", "awful*", "terrib*", "horribl*"),
postive = c("good", "great", "super*", "excellent")))
myDfm <- dfm(mycorpus, dictionary = mydict)
myDfm
liwcdict <- dictionary(file = "LIWC2001_English.dic", format = "LIWC")
myDfmLIWC <- dfm(mycorpus, dictionary = liwcdict)
myDfmLIWC[, grep("^Pos|^Neg", features(myDfmLIWC))]
假设您已经将语料库存储为名为data
的数据框,您可以使用以下代码创建一个quanteda语料库:
mycorpus <- corpus(data$Content, docvars = data[, 1:2])
另请参阅?textfile
,以一种简单的命令从文件中加载内容。这适用于.csv文件,尽管您可能会遇到该文件的问题,因为Content字段包含包含逗号的文本。
当然还有许多其他衡量情感的方法,但如果您是情感挖掘和R的新手,那么这应该可以帮助您入门。您可以从以下链接中阅读更多情感挖掘方法(如果您已经遇到它们,我们表示歉意):