文本挖掘与预测模型:分析作者写作风格

想象一下,只有5分钟的时间离开办公室,以便赶上两天前预订的电影。惊讶地发现,尽管没有设置任何提醒或闹钟,但仍然记得这个安排。微笑着整理好工作,准备去看电影。谷歌是如何获取这些信息的?显然,这是通过Gmail账户中的电子票确认邮件实现的。谷歌拥有阅读所有邮件的专长(当然是在用户自己给予所有权限的情况下),并从中提取有用信息。阅读所有以HTML格式呈现的内容的过程被称为网页抓取。谷歌的机器人会抓取数据并进行分析,以提取有用信息。

框架如下:

开源工具Import.Io被用来从博客中抓取所有所需的数据。该工具仔细爬取整个网站,并提取与文章、标题、姓名、标签、发布日期、评论、评论数量、博客类别等相关的相关信息。

步骤2:文本挖掘

一旦完成了对生成的数据集的所有必要准备,现在需要挖掘适合用于预测分析的信息。以下是用于生成包含所有文本信息的完整数据框的代码。创建TM包所需的语料库:

## 语料库需要一个向量源 pos.corpus.title <- Corpus(VectorSource(pos.title)) pos.corpus.text <- Corpus(VectorSource(pos.text)) pos.corpus.tags <- Corpus(VectorSource(pos.tags)) pos.corpus.comments <- Corpus(VectorSource(pos.comments)) pos.corpus.categories <- Corpus(VectorSource(pos.categories)) inspect(pos.corpus.title) ## 类似地,其他语料库也可以进行检查

根据需要对语料库进行预处理以进行进一步分析:

## 从评论中移除与输出分类高度相关的词汇 ExtraStopWords <- c(stopwords("english"), "Kunal", "Jain", "Tavish", "Srivastava", "Tags") Pos.corpus.Preprocess <- function(corpus) { corpus <- tm_map(corpus, stripWhitespace) ## 移除额外的空白 corpus <- tm_map(corpus, removePunctuation) ## 移除标点符号 corpus <- tm_map(corpus, removeNumbers) ## 移除数字 corpus <- tm_map(corpus, removeWords, ExtraStopWords) ## 移除停用词 corpus <- tm_map(corpus, tolower) ## 转换为小写 corpus <- tm_map(corpus, stemDocument, language = "english") return(corpus) }

然后,生成文档-术语矩阵:

Pos.DTM <- function(sparseTitle, sparseText, sparseTags, sparseComments, sparseCategories) { pos.DTM.title <- removeSparseTerms(DocumentTermMatrix(pos.corpus.title), sparseTitle) (pos.DTM.title) pos.DTM.text <- removeSparseTerms(DocumentTermMatrix(pos.corpus.text), sparseText) (pos.DTM.text) pos.DTM.tags <- removeSparseTerms(DocumentTermMatrix(pos.corpus.tags), sparseTags) (pos.DTM.tags) pos.DTM.comments <- removeSparseTerms(DocumentTermMatrix(pos.corpus.comments), sparseComments) (pos.DTM.comments) pos.DTM.categories <- removeSparseTerms(DocumentTermMatrix(pos.corpus.categories), sparseCategories) (pos.DTM.categories) } Final_DTM <- cbind(inspect(pos.DTM.title), inspect(pos.DTM.text), inspect(pos.DTM.tags), inspect(pos.DTM.categories), inspect(pos.DTM.comments))

步骤3:预测建模

获得的DTM被划分为训练和测试数据集,并使用各种预测分类模型进行分析,如C5.0(决策树)、CART模型、条件推断树、加权K最近邻、KNN和随机森林集成。准确度是根据挑战赛中提到的接受标准来衡量的。整个模型代码可以在以下中找到。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485