用jiebaR分析比特币的文章

在这个notebook中,我们将使用jiebaR来分析一篇描述比特币暴跌的文章

  • 文章来源:财富网
  • 文章链接:http://www.fortunechina.com/investing/c/2018-02/06/content_301955.htm
# 查看文章内容:
file.show('./data//Bitcoin.txt',encoding = 'UTF-8')

安装jiebaR

install.packages(c('jiebaR','wordcloud2'),repos = 'https://mirrors.ustc.edu.cn/CRAN/')

先来尝试分析一下短句子

library(jiebaR)     # 载入包
分词器 = worker()   # 创建分词器
# 利用分词器进行分词
segment("在这个notebook中,我们将使用jiebaR来分析一片描述比特币暴跌的文章", 分词器)
  1. '在'
  2. '这个'
  3. 'notebook'
  4. '中'
  5. '我们'
  6. '将'
  7. '使用'
  8. 'jiebaR'
  9. '来'
  10. '分析'
  11. '一片'
  12. '描述'
  13. '比特'
  14. '币'
  15. '暴跌'
  16. '的'
  17. '文章'
# 添加新词到已存在的分词器中,比特币不能分开,它时一个词。第三个参数 "n" 代表新词的词性标记
new_user_word(分词器, "比特币", "n") 

TRUE

# 用添加新词“比特币”的分词器再次进行分词
segment("在这个notebook中,我们将使用jiebaR来分析一片描述比特币暴跌的文章", 分词器)
  1. '在'
  2. '这个'
  3. 'notebook'
  4. '中'
  5. '我们'
  6. '将'
  7. '使用'
  8. 'jiebaR'
  9. '来'
  10. '分析'
  11. '一片'
  12. '描述'
  13. '比特币'
  14. '暴跌'
  15. '的'
  16. '文章'

对文章进行分词

# 读取文本,按照行读取
texts = readLines("./data/Bitcoin.txt", encoding="UTF-8",warn = FALSE)
# 查看文章内容
texts
  1. '对于比特币投资者来说,总有一些时候是特别考验你的灵魂的。'
  2. ''
  3. '在美国推出比特币期货后,比特币的币值在去年12月一度涨至近2万美元,此后便一路暴跌,币值被拦腰砍掉一半以上,截止至上周五已跌至7614美元。不过据比特币网站coinmarketcap.com称,截止到上周六纽约当地时间下午2时58分,比特币的币值又回升了7.5个百分点,回升至9290.15美元。'
  4. ''
  5. '在此轮暴跌中,损失最惨重的,当然是那些在比特币币值最高位处接盘的人。此前不久,杰米·迪蒙和鲁里埃尔·鲁比尼等比特币怀疑论者就曾指出,比特币是史上最大的资产泡沫之一,且已显现出贬值的迹象。“接盘侠”们的恐慌性出售,也与早期比
# 整篇文章一起分词,将按行分词的条件设置为FALSE
分词器$bylines = FALSE
# 开始分词
分词结果 = segment(texts, 分词器)
# 查看分词结果,查看前100个
head(分词结果,100)
  1. '对于'
  2. '比特币'
  3. '投资者'
  4. '来说'
  5. '总有'
  6. '一些'
  7. '时候'
  8. '是'
  9. '特别'
  10. '考验'
  11. '你'
  12. '的'
  13. '灵魂'
  14. '的'
  15. '在'
  16. '美国'
  17. '推出'
  18. '比特币'
  19. '期货'
  20. '后'
  21. '比特币'
  22. '的'
  23. '币值'
  24. '在'
  25. '去年'
  26. '12'
  27. '月'
  28. '一度'
  29. '涨至'
  30. '近'
  31. '2'
  32. '万美元'
  33. '此后'
  34. '便'
  35. '一路'
  36. '暴跌'
  37. '币值'
  38. '被'
  39. '拦腰'
  40. '砍掉'
  41. '一半'
  42. '以上'
  43. '截止'
  44. '至'
  45. '上周五'
  46. '已跌'
  47. '至'
# 分词结构数据类型
class(分词结果)

‘character’

# 进行词频统计,并查看排序结果
require(dplyr)
freq(分词结果) %>% arrange(desc(freq)) %>% head()
charfreq
49
比特币36
10
9
美元 9
8

发现有很多“的”,“是”,“了”之类的词,这些词是停止词。可以在统计词频是去除它们。

添加停止词

# 添加目录data下的停止词文件,注意指定编码方式
分词器  = worker(stop_word = "./data/stop.txt",encoding = 'UTF-8')
# 注意此处新建了一个worker,所以需要重新添加用户自定义单词
new_user_word(分词器, "比特币", "n") 

TRUE

# 开始分词
去除停止词分词结果 = segment(texts, 分词器)
freq(去除停止词分词结果) %>% arrange(desc(freq)) %>% head()
charfreq
比特币36
美元 9
投资者 7
币值 6
投资 4
表示 4

保存词频统计结果

# 将分词结果保存
fred_df <- freq(去除停止词分词结果)
# 查看词频统计结果数据类型
class(fred_df)

‘data.frame’

# 将结果写到数据文件中
write.csv(fred_df,'./data/fred_df.csv',row.names = FALSE,fileEncoding = 'GBK')

注意不要再jupyter里面执行如下语句

# 由于jupyter不支持输出这种内容丰富的图像,在Rstudio里面执行如下语句
require(wordcloud2)
wordcloud2(fred_df,size = 1, fontFamily = "微软雅黑",color = "random-light",backgroundColor = "grey")

在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部