首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

在大数据环境中执行情感分析 (3)

在大数据环境中执行情感分析 (3)

在组合数据上执行情感分析在组合数据之后,我们就可以在单个数据源上完成情感分析,这使我们可以获得分析的统一性、一致性和准确性。您可以使用 R、Jaql、Pig 或 Hive 来执行这些分析。Pig                和 Hive 是具有类似 SQL 的语法的语言,运行在 Hadoop 平台上。本例中,我决定用 R 来分析检索数据,因为 R                具有用于图形表示的丰富的内置模型函数和库,比如 ggplot2。
要完成情感分析,需要有一个词典或单词列表。字典包括一组描述某一范围内的积极词和消极词的标准单词。词典确定了社交媒体中常常使用的嘲讽词、影射词、俚语、新词汇、字符和表情。这些词汇列表可从互联网上获得,定期更新,并整合到我们的情感分析逻辑中。
以下代码利用了检索到的数据,并将它们与我们的单词列表相匹配,以获得积极词和消极词的数量。积极词和消极词的总数差距为我们提供了一个得分,该得分指示了我们的数据对于我们要分析的政府主题是积极的还是消极的。
1
2
3
4
sentiment.pos=scan('/Users/charles/Downloads/r/positive-words.txt',what='character',comment.char=';')
sentiment.neg=scan('/Users/charles/Downloads/r/negative-words.txt',what='character',comment.char=';')
pos.words=c(sentiment.pos,'good','reelect','accountable','stable')
neg.words=c(sentiment.neg,'bad','corrupt','greedy','unstable')




此外,以下代码表示了情感评分算法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
require(plyr)
require(stringr)
score.sentiment = function(sentences, pos.words, neg.words, .progress='none')
{
sentence = tolower(sentence)
word.list = str_split(sentence, '\\s+')
words = unlist(word.list)
pos.matches = match(words, pos.words)
neg.matches = match(words, neg.words)
pos.matches = !is.na(pos.matches)
neg.matches = !is.na(neg.matches)
score = sum(pos.matches) - sum(neg.matches)
return(score)
}, pos.words, neg.words, .progress=.progress )
scores.df = data.frame(score=scores, text=sentences)
return(scores.df)
}




然后,我们可以通过使用下面的代码片段,调用情感得分算法函数来计算数据的得分:
1
2
require(plyr)
opinion.score <- score.sentiment(opinion.txt,pos.words,neg.words,progress='text')




最后,我们可以通过使用 R 的内置图表和图形功能,对得分数据执行进一步分析,并通过使用下面的代码片段,绘制一幅图表来显示分数条:
1
2
3
library("ggplot2")
hist(opinion.scores$score)
qplot(opinion.scores$score)




您可以通过使用 BigSheets 进一步地分析数据,BigSheets 由 IBM InfoSphere BigInsights                提供。该工具使得非技术用户可以进行各种分析,并用图表查看数据。有关如何使用 BigSheets 工具的更多信息,请阅读 developerWorks 文章 ""。
结束语大数据工具可以根据来自任何来源或空间的数据,提供不带偏见的洞察,从而制定正确的、准确的决策,并实施这些决策。通过采用大数据工具,比如本文中所描述的那些工具,您可以轻松地实现自己的投资回报。
返回列表