|
return(paste)函数将每一行粘贴在一起,最后返回完整的文本内容;
lapply表示逐文本读取。
加入文档名字
读取了每个文档到list之中,怎么跟每个文档名字匹配在一起?
docname?<-?list.files(reviewpath,?pattern?=?"*.txt$")??
reviewdf?<-?as.data.frame(cbind(docname,?unlist(review)),???
??????????????????????????stringsAsFactors?=?F)???
colnames(reviewdf)?<-?c("id",?"msg")???#列名??
代码解读:list.files中,full.names=F代表返回文档名字(默认),full.names=T则定位文档;
利用as.data.frame成为一个数据框,并且不变成因子型,stringsAsFactors是因为文档名字列,很容易变成字符因子型,需要关闭这功能;
colnames修改列名,还有names也可以达到同样的效果。

图 1
`read.csv`函数读取文件时,可能报警:“EOF within quoted string”,一般为数据中不正常的符号所致,常见的方法是将`quote = ""`设置为空,这样做虽然避免了警告,但是仍然解决不了问题,有时数据会对不上号,所以最好从符号上着手将一些特殊符号去除。
本文中导入的数据集是清华大学李军标注的近24000个酒店评论文本和谭松波整理的12000个来自京东、携程、当当网的跨行业评论文本。并给出了每个文本数据的评分。李军老师的数据是众多的txt文件的评论文本+用rlabelclass文件来存放文本标签,可以用read.table来调用。中科院自动化所的中英文新闻语料库?http://www.datatang.com/data/13484 中文新闻分类语料库从凤凰、新浪、网易、腾讯等版面搜集。英语新闻分类语料库为Reuters-21578的ModApte版本。
train<-?read.csv("./train.csv",quote?=?"",sep?=?""",?header?=?T,?stringsAsFactors?=?F)??
#没有quote,会出现Warning?message:EOF?within?quoted?string??
#读入csv格式的时候,出现所有字符变成双引号,需要sep?=?""",来划分开,字符串分隔符的问题???
会出现的问题:
(1)EOF?within?quoted?string
解决方法:quote="";
(2)CSV格式被读入R内存中时,所有字符、变量内容都被加了双引号?
解决方案:需要调整,需要sep = """,来划分开。除了英文逗号可能引起`read.csv`函数读取csv文件报错以外, #还有英文单引号(')、英文双引号(")、波浪号(~),都会引起读取时发生警告,带来csv文件或txt文件读取不完整的后果
二、正向、逆向情感词典
1、词典导入与处理
市面上关于情感词典,有多家研究机构进行了分析,并且公布了结果,比如大连理工、汉语情感词极值表、台湾大学情感NTUSD、知网Hownet情感词、中文褒贬义词典v1.0(清华大学李军)等,有些词典分为正向、逆向单词两个部分;有些放在一起,然后有单独的标签,可以cbind合并在一起。本文引用的是谭松波老师的正向、逆向情感词典。
#1、情感正向词,词组+打“+1”-label??
pos?<-?read.csv("./pos.csv",?sep?=?",",?stringsAsFactors?=?F)??
weight?<-?rep(1,?length(pos[,1]))??
pos?<-?cbind(pos,?weight)??
??
#2、情感负向词,词组+打“-1”-label??
neg?<-?read.csv("./neg.csv",?stringsAsFactors?=?F)??
weight?<-?rep(-1,?length(neg[,1]))??
neg?<-?cbind(neg,?weight)??
代码解读:weight是标签,主动贴在正向、逆向词典上。然后进行正向、逆向词典的合并。
#3、正、负向词组合并??
posneg?<-?rbind(pos,?neg)??#正负词典合并??
names(posneg)?<-?c("term",?"weight")??
posneg?<-?posneg[!duplicated(posneg$term),?]#`duplicated`函数的作用和`unique`函数比较相似,它返回重复项的位置编号??
(编辑:武汉站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|