文本主题发现(一)-- 数据预处理

本文介绍了文本主题发现的数据预处理流程,包括分词、特征提取、文档-词条矩阵建立和相似度矩阵建立。使用R语言,以《复仇者联盟3》豆瓣短评为示例,演示了jiebaR包的分词、自定义词典和停用词处理,以及如何通过tf-idf算法提取关键词。接着构建文档-词条矩阵和相似度矩阵,为后续的主题发现分析做好准备。
摘要由CSDN通过智能技术生成

点击蓝字关注这个神奇的公众号~


640?wx_fmt=png

作者:赵镇宁 R语言中文社区特约作者

640?wx_fmt=png


往期回顾:

R语言相关关系可视化函数梳理


主题发现能够帮助我们处理和分析大规模信息并从中发现文本主要内容和主题,相关探测方法有文本聚类法、主题建模、多维尺度分析等等。这些分析方法的前期数据处理都不同程度的涉及分词、建立文档-词条矩阵、生成词条相似(相异)矩阵等关键步骤,本期主要是对前期数据预处理流程的大致总结,主要内容包括:

(1)分词:分词引擎+自定义词典+停用词词典

(2)特征(核心词)提取:高频词法+TF*IDF算法

(3)文档-词条矩阵(数据矩阵)建立:语料库+特征词+生成矩阵+稀疏矩阵处理

(4)词条相似性(相异度)矩阵建立:主要相关系数计算

本文用到的包有:


640?wx_fmt=png


1. 数据收集

本文以《复仇者联盟3》500条热门豆瓣短评作为示例数据,数据抓取代码如下:

```

library(RCurl)  # 网络请求

library(XML)  # 网页解析

library(magrittr)  # 管道操作

Cookie='your cookie'

headers <- c('Accept'='text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',

'Content-Type'='text/html; charset=utf-8',

'User'='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36',

'Cookie'=Cookie

)

comments<-c()  # 短评

errorurl<-c()  # 错误url

start<-0

i<-0

while(TRUE){

start=20*i

tryCatch({

url<-sprintf("https://movie.douban.com/subject/24773958/comments?start=%s&limit=20&sort=new_score&status=P&percent_type=",start)

web<-getURL(url,httpheader=headers)%>% htmlParse()

comment<-xpathSApply(web,"//div[@class='comment']//p[@class='']",xmlValue)

if(length(comment)==0) break

comments<-c(comments,comment)

cat(sprintf("第%s页抓取成功",i),sep = "\n")

},error = function(e){

errorurl<-c(errorurl,start)

})

Sys.sleep(runif(1,0.5,1.5))

i = i +1

}

save(comments,file="comment.Rdata")

```

  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值