美文网首页数据科学与R语言数据-R语言-图表-决策-Linux-Python
【文本分析案例】用jiebaR分析有关比特币的文章

【文本分析案例】用jiebaR分析有关比特币的文章

作者: 谢俊飞 | 来源:发表于2018-09-02 12:18 被阅读5次

    前言:
    观看松鼠学堂视频课程后,对于jiebaR和wordcloud2作图比较感兴趣,故将课件中文本案例代码摘录出来,方便手机查看学习。
    松鼠学堂提供许多免费视频课程及付费课程,大家根据需求选择
    https://study.163.com/provider/3188405/course.htm

    Rplot03.png

    注意:需要修改成本地对应的文件路径

    # 查看文章内容:
    file.show('./Bitcoin.txt',encoding = 'UTF-8')
    
    install.packages(c('jiebaR','wordcloud2'),repos = 'https://mirrors.ustc.edu.cn/CRAN/')
    
    library(jiebaR)     # 载入包
    分词器 = worker()   # 创建分词器
    
    # 利用分词器进行分词
    segment("在这个notebook中,我们将使用jiebaR来分析一片描述比特币暴跌的文章", 分词器)
    
    # 添加新词到已存在的分词器中,比特币不能分开,它时一个词。第三个参数 "n" 代表新词的词性标记
    new_user_word(分词器, "比特币", "n") 
    
    # 用添加新词“比特币”的分词器再次进行分词
    segment("在这个notebook中,我们将使用jiebaR来分析一片描述比特币暴跌的文章", 分词器)
    
    # 读取文本,按照行读取
    texts = readLines("./Bitcoin.txt", encoding="UTF-8",warn = FALSE)
    
    # 查看文章内容
    texts
    
    # 整篇文章一起分词,将按行分词的条件设置为FALSE
    分词器$bylines = FALSE
    
    # 开始分词
    分词结果 = segment(texts, 分词器)
    
    # 查看分词结果,查看前100个
    head(分词结果,100)
    
    # 分词结构数据类型
    class(分词结果)
    
    # 进行词频统计,并查看排序结果
    require(dplyr)
    freq(分词结果) %>% arrange(desc(freq)) %>% head()
    
    # 添加目录data下的停止词文件,注意指定编码方式
    分词器  = worker(stop_word = "./stop.txt",encoding = 'UTF-8')
    
    # 注意此处新建了一个worker,所以需要重新添加用户自定义单词
    new_user_word(分词器, "比特币", "n") 
    
    # 开始分词
    去除停止词分词结果 = segment(texts, 分词器)
    
    freq(去除停止词分词结果) %>% arrange(desc(freq)) %>% head()
    
    # 将分词结果保存
    fred_df <- freq(去除停止词分词结果)
    
    # 查看词频统计结果数据类型
    class(fred_df)
    
    # 将结果写到数据文件中
    write.csv(fred_df,'./fred_df.csv',row.names = FALSE,fileEncoding = 'GBK')
    
    # 由于jupyter不支持输出这种内容丰富的图像,在Rstudio里面执行如下语句
    require(wordcloud2)
    wordcloud2(fred_df,
               size = 2, 
               fontFamily = "微软雅黑",
               color = "random-light",
               backgroundColor = "grey")
    

    相关文章

      网友评论

        本文标题:【文本分析案例】用jiebaR分析有关比特币的文章

        本文链接:https://www.haomeiwen.com/subject/axqmwftx.html