text mining 笔记

本文介绍了文本挖掘的基础概念及tm包在构建、输出、探索、修改、筛选、Term-Document Matrices、字典和数据输出等方面的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tm包主要用来处理文本挖掘,对于文本挖掘,往往涉及语料库(corpus)
1.构建语料库的函数有VCorpus()和PCorpus()
VCorpus()创建不稳定语料库
PCorpus()创建永久性语料库,不易毁坏,可以指向外部的语料库
用法:
VCorpus(x,
readerControl=list(reader=x$Defaultreader,language = “en”))
x是一个source对象,用来构建语料库的,R中有几个预先定义的函数可以将文本处理成source对象:DirSource,VectorSource,DataframeSource
readerControl是一个列表,用以指导输入文件格式和语言

txt <- system.file("texts","txt",package = "tm")
ovid <- VCorpus(DirSource(txt,encoding = "UTF-8"),
                readerControl = list(language = "lat"))

2.数据输出
writeCorpus()将语料库输出,永久保存

3.探索语料库
一般使用print()函数,tm包中用inspect()函数

print(ovid[1:2])

inspect(ovid[1:2]) # 返回内容更充实

获得指定语料库可以通过[]或者标识符

meta(ovid[[2]],"id")
identical(ovid[[2]],ovid[["ovid_2.txt"]])

将文件转换为字符串 as.character()

writeLines(as.character(ovid[[2]]))
lapply(ovid[1:2],as.character)

4.修改
tm包中想要修改语料库中的文件,通过tm_map()对语料库中的每个元素进行修正
tm_map(corpus,removeWords,stopwords(“fuck”))

# 消除额外的空格
reuters <- tm_map(ovid,stripWhitespace)

5.筛选
相当于查询,删选出指定条件的文件。用tm_filter函数

# 从语料库中找出含有company的文件
data("crude")
attr(searchFullText,"doclevel")
tm_filter(crude,FUN=searchpaths,"company")

6.Term-Document Matrices

 dtm <- DocumentTermMatrix(ovid)
 inspect(dtm[1:5,1:5]) # 生成一个TDM

找出出现次数超过5的词
findFreqTerms(dtm,5)

找出和”qui”词相关系数在0.8以上的单词
findAssocs(dtm,”qui”,0.8)

TDM矩阵往往是比较稀疏的,可以去掉某些出现频次太低的词
inspect(removeSparseTerms(dtm,0.4))

7.字典(dictionary)
字典其实是字符串的集合,可以用Dictionary函数来建立一个字典
inspect(DocumentTermMatrix(ovid,
list(dictionary = c(“price”,”crude”,”oil”))))
Dictionary(c(“some”,”tokens”))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值