第一范文网 - 专业文章范例文档资料分享平台

大数据 论文

来源:用户分享 时间:2025/10/9 6:54:52 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

大数据课程论文

题 目:基于R信息挖掘的《斗罗大陆》分

——基于R对《斗罗大陆》的文本分析

摘要:

R语言是一门统计语言,主要用于数学建模、统计计算、数据处理、可视化 等几个方向,天生就不同于其他的编程语言。R语言封装了各种基础学科的计算函数,我们在R语言编程的过程中只需要调用这些计算函数,就可以构建出面向不同领域、不同业务的、复杂的数学模型。

R的思想是:它可以提供一些集成的统计工具,但更大量的是它提供各种数学计算、统计计算的函数,从而使使用者能灵活机动的进行数据分析,甚至创造出符合需要的新的统计计算方法。

下面通过R语言来分析《斗罗大陆》小说。

大数据课程论文

问题分析:

一、导入数据(readLines)

把小说全文储存在一个txt文档里。使用ReadLines读入所有文本。

text<-readLines(\桌面\\\\斗罗大陆.txt\text<-text[nchar(text)!=0] #预览一下: text[10:20]

[1] \ 从鬼见愁悬崖上扔出一块石头,要足足数上十九下才会听到石落山底的

回声,可见其高,也正是因为这十九秒,尚超过十八层地狱一筹,故而得名。\ [2] \ 一名身穿灰衣的青年正站在鬼见愁顶峰,凛冽的山风不能令他的身体有丝毫移动,从他胸口处那斗大的唐字就可以认出,他来自唐门,灰衣代表的,是唐门外门弟子。\ [3] \ 他今年二十九岁,因出生不久就进入唐门,在外门弟子的辈分中排名第三,因此外门弟子称他一声三少。当然,到了内门弟子口中,就变成了唐三。\ [4] \ 唐门从建立时开始就分为内外两门,外门都是外姓或被授予唐姓的弟

子,而内门,则是唐门直系所属,家族传承。\ [5] \ 此时,唐三脸上的表情很丰富,时而笑,时而哭,但无论如何,都无

法掩盖他的那发自内心的兴奋。\ [6] \ 二十九年了,自从二十九年前他被外门长老唐蓝太爷在襁褓时就捡回

唐门时开始,唐门就是他的家,而唐门的暗器就是他的一切。\ [7] \ 突然,唐三脸色骤然一变,但很快又释然了,有些苦涩的自言自语道:

“该来的终究还是来了。”\

[8] \ 十七道身影,十七道白色的身影,宛如星丸跳跃一般从山腰处朝山顶方向而来,这十七道身影的主人,年纪最小的也超过了五旬,一个个神色凝重,他们身穿的白袍代表的是内门,而胸前那金色的唐字则是唐门长老的象征。\ [9] \ 唐门内门长老堂包括掌门唐大先生在内,一共有十七位长老,此时登山的,也正是十七位。就算是武林大会也不可能惊动唐门全部长老同时出动,要知道,这唐门长老之中,年纪最大的已经超过了两个甲子。\ [10] \ 这些唐门长老的修为,无一不是已臻化境,只是转眼的工夫,他们就

已经来到了山顶。\ [11] \ 外门弟子见到内门长老,只有跪倒迎接的份,但此时,唐三却没有动,他只是静静的看着这些脸色凝重的长老来到自己面前,挡住了所有的去路,而在

他背后,是鬼见愁。\

二、单条件筛选数据(grep)

> #用grepl出TRUE/FALSE,再与直接储存的text对照提取 > #方法2:用grep直接看对话效果 > conversation<-text[grepl(\

> conversation<-temp<-grep(\> #示例

> conversation[sample(1:length(conversation),5)]

[1] \ 炽火学院的火无双和火舞看到了。神风学院的风笑天自然也看到了。\ [2] \ 柳二龙也应该感谢我,没有了家族的阻隔,你们不是能没有任何阻力的

在一起了么?”\ [3] \ 唐三似乎意识到了什么,作为一名控制系魂师,他最关心的自然也是对方控制系魂师的情况,向大师问道:“老师,那对方的碧磷蛇魂师究竟是凭借什么来控制的呢?以蛇为武魂,似乎并不应该擅长控制才对。”\

[4] \ 与此同时,贵宾席上也是一阵议论,雪夜大帝惊讶的看向宁风致,宁风

致却向他摇了摇头,表示自己也不知道那金红色的光芒是什么。\ [5] \ “好??,好??”比比东笑听着千仞雪的呼唤,她此时眼中尽是满足和慈祥,缓缓抬起手,似乎是想要去摸千仞雪的头是,她的手却只是抬到了一半。\三、多条件选出人物对话(grepl嵌套使用,与|的应用)

> tangsan_tangsan<-text[grepl(\唐三\三哥|瘦小\> xiaowu_xiaowu[sample(1:length(tangsan_xiaowu),2)]

[1] \ 在蓝银领域地作用下。蓝银霸王枪实际地攻击力极其恐怖。甚至还要在唐三紫极魔瞳目前精神力全力轰击地效果之上。\ [2] \ 紧搂着小舞,唐三血红色的双目冷冷的看着海幻斗罗,“你不该用那一

幕来刺激我。没有人可以伤害我的小舞,哪怕是在精神上的伤害也不行。”\

四、进一步处理文本

1、拆分段落章节(list列表与for循环)

> 章节名<-(grep(\第.章\

> 章节分段<-c(grep(\第.\

> dir.create(\斗罗大陆/章节分段\> 分段章节<-list()

> for (i in 1:(length(章节分段)-1)){

+ data<-text[章节分段[i]:章节分段[i+1]-1] + 分段章节[[i]]<-data

+ names(分段章节)[i]<-章节名[i]

+ write(data,paste0(\斗罗大陆/章节分段/\章节名[i],\> head(list.files(\斗罗大陆/章节分段/\

[1] \ \ \ \[6] \>

2、统计人物在哪些章节出场,并定位双方互动,制作数据表(strsplit提取数据、sapply统计数据)

> sapply(分段章节,function(e) sum(grepl(\唐三\

章节名<-(grep(\第.章\> 章节分段<-c(grep(\第.\

> dir.create(\斗罗大陆/章节分段\> 分段章节<-list()

> for (i in 1:(length(章节分段)-1)){

+ data<-text[章节分段[i]:章节分段[i+1]-1] + 分段章节[[i]]<-data

+ names(分段章节)[i]<-章节名[i]

+ write(data,paste0(\斗罗大陆/章节分段/\章节名[i],\> head(list.files(\斗罗大陆/章节分段/\

角色<-c(\唐三\唐昊\杰克\小舞\ \戴沐白\奥斯卡\

dir.create(\斗罗大陆/角色/\Warning message:

In dir.create(\斗罗大陆/角色/\ 'C:\\斗罗大陆\\角色' already exists

角色统计<-data.frame(卷名=names(分段章节)) for (a in 1:length(角色)){

角色统计[,a+1]<-sapply(分段章节,function(e) sum(grepl(角色[a],e))) filename<-(strsplit(角色[a],\ names(角色统计)[a+1]<-filename output<-text[grepl(角色[a],text)]

output<-paste(output,collapse=\

write(output,paste0(\斗罗大陆/角色/\ write.csv(角色统计,\斗罗大陆.csv\

角色统计[10:20,1:7]

卷名 唐三 唐昊 杰克 小舞

10 第一集 斗罗世界 第三章 双生武魂(二)1 0 0

11 第一集 斗罗世界 第三章 双生武魂(三)10 9 0

12 第一集 斗罗世界 第三章 双生武魂(四)0 1 0

13 第一集 斗罗世界 第三章 双生武魂(五)0 0 0

4 20 2 0 14 第一集 斗罗世界 第四章 异界唐三的第一件暗器(一) 15 13 6 0

15 第一集 斗罗世界 第四章 异界唐三的第一件暗器(二) 5 1 3 0

16 第一集 斗罗世界 第四章 异界唐三的第一件暗器(三) 1 0 5 0

17 第一集 斗罗世界 第四章 异界唐三的第一件暗器(4) 2 0 0 0

18 第一集 斗罗世界 第四章 异界唐三的第一件暗器(五) 2 0 0 0

19 第一集 斗罗世界 第五章 大师?师傅?(一)0 0 0

20 第一集 斗罗世界 第五章 大师?师傅?(二)0 0 0 戴沐白 奥斯卡 10 0 0 11 0 0 12 0 0

0 5 13 0 0 14 0 0 15 0 0 16 0 0 17 0 0 18 0 0 19 0 0 20 0 0

>五、聚类:

基于章节分词的文本聚类算法,对平凡的世界前十章进行聚类。

library(Rwordseg) library(NLP) library(tm)

segmentCN(\segmentCN(\segmentCN(\segmentCN(\segmentCN(\segmentCN(\segmentCN(\segmentCN(\segmentCN(\segmentCN(\

ovid<-VCorpus(DirSource(\=\

reuters<-tm_map(ovid,stripWhitespace) reuters<-tm_map(ovid,stripWhitespace)

reuters<-tm_map(reuters,removePunctuation) cnword<-read.csv(\中文停用词表_1208.txt\cnword<-as.vector(cnword[1:dim(cnword)[1],]) cnword

reuters<-tm_map(reuters,removeWords,cnword) dtm<-DocumentTermMatrix(reuters) data<-as.data.frame(inspect(dtm)) dtm<-removeSparseTerms(dtm,0.8) data<-as.data.frame(inspect(dtm)) data.scale<-scale(data)

d<-dist(data.scale,method=\fit<-hclust(d,method=\plot(fit)

总结:小说从第十一章到第二十章总体分为两类,其中20、19、18、17、16、14,13,11,12是一类,再划分为13,12,14,15一类,18,19,11,17,16,20为一类,16、20为一类,17,11又为一类,18,19为一类,14,15为一类、12,13又为一类, 用到的R的知识点主要包括: 1、选取数据的方法:grepl/grep 2、统计数据的方法:sapply

3、多条件筛选: | 与&的选择,还有!grepl 4、导出:write输出txt/html的方法 5、循环:for循环

这种分析小说的方法,不仅仅可以用于《斗罗大陆》这部小说,也可以同理推广到其他各种小说文献,甚至用来做课本里的专业术语搜索,适合理清思路,梳理纹路,为以后做一些关于此类数据分词聚类作了铺垫。以此更好的体现剧情的需要,让我们更好地理解小说的内容。

搜索更多关于: 大数据 论文 的文档
大数据 论文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c38ixx61ukx7z7sg756f4_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top