word该值小于列表中的前一条目_文本主题发现(一)-- 数据预处理

本文介绍了主题发现的数据预处理步骤,包括使用R语言的jiebaR包进行分词,自定义词典和停用词表的构建,以及高频词法和TF*IDF算法提取特征词。通过建立文档-词条矩阵和计算相似度矩阵,为后续的主题建模和文本分析做好准备。
摘要由CSDN通过智能技术生成

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

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

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

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

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

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

本文用到的包有:

1. 数据收集

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

```

library(RCurl) # 网络请求

library(XML) # 网页解析

library(magrittr) # 管道操作

Cookie='your cookie'

headers

'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

errorurl

start

i

while(TRUE){

start=20*i

tryCatch({

url

web% htmlParse()

comment

if(length(comment)==0) break

comments

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

},error = function(e){

errorurl

})

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

i = i +1

}

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

```

2 文本预处理

以聚类为例,目前大多聚类算法通常选择两种代表性的数据结构,一是数据矩阵(对象-属性结构),即用P个变量(属性)来表现n个对象,如用年龄、身高、性别等属性来表现对象“人”,可以看成一个n*p的矩阵;二是相异度矩阵(对象-对象结构或属性-属性结构),

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值