小组成员:
1.1191170412 陈颖
2.1191170413 黄洁
概要
一、文艺创作作业的相关介绍
二、文本分析方法介绍
三、snowNLP库介绍
四、gensim库介绍
五、处理代码展示
六、统计数据及其相关数据的分析说明
详细步骤
一、文艺创作作业的相关介绍


该研究的主体是同学们对对十二个“一”的文艺创作作业。该文创创作作业的内容如下:
将十二个”一“设想为人物角色/或事物,从下列任务中选择一个完成:
1.假想一个故事背景,从十二个”一“中挑选至少4人,为其设计角色形象,并配合文字描述该角色;
2.写一篇小说,类型主题字数不限,要求出现至少5个人物;
3.假设您是一个公司/机构的老总,要从十二个人中选拔人才,请描述如何选拔,选拔的理由,要求描述每个人的特质及其与您的公司的关系;
4.想象它们是十二个异性追求者,请描述一下您对它们的感受,字数不限;
5.想象它们是某个团体的成员,请描述每一位成员的特色,及其与其他成员和整个团队的关系;
6.假想一个游戏,它们是游戏中的十二个角色,请为它们进行角色设定(图文结合);
7.想象它们是十二个同类事物(例如乐器、兵器、交通工具、宠物、猛兽、妖怪、植物等),描述每一个的特色;
8.用编程或其他手段斟酌一组动画,表达十二个“一”体现的意像(运动感、质感、物理属性、情绪等),至少表现其中4个。

二、文本分析介绍

而每个同学都是从不同的角度对这些十二个一进行相关的描述,有的同学采用写小说的形式,有的把它们想象成了十二个角色,有的使用编程的形式进行展示……那么如何将这些数据总综合起来进行统一分析?
我们首先得明确我们得任务:运用NLP技术(自然语言处理)对其进行分析,完成一篇图文结合的分析报告,特别是要分别对十二个“一”有关的文本分别进行统计。所以我们得提取出有关十二个“一”的相关描述内容。而有些同学的文章是可以直接用该库进行处理的,有些的则不能。评价的标准是:各人所写的文章是都可以基于库提取出关键信息,而关键信息是否符合我们的需求。
所以,首先我们得有一个具体的步骤:对每篇文章进行关键字提取,将提取内容汇总,内容无关的文章应分类到人工分析这一块,即不能利用库进行分析的话,我们就会利用人工分析。而文章的质量也是有要求的,如果文章写得太“水”,太敷衍,那我们也得剔除这部分的数据。而对于每篇文章的提取,我们也需要进行分类,因为我们最终研究的是人们对于十二个一的感受,所以我们要将数据分为12个文件,每个文件中存放对应的一的内容,最后通过使用代码对每个文档进行读取和分析。

拓展:对12个一进行文本的摘取和分析之后,我们又接触到了另外一个有趣的库:gensim。它可以对两个文本之间的相似度进行分析。当发现这个的时候,我们思考是否能够对比两个文本之间的相似度来分析每个人的思维之间的差异呢?于是我们选择了四名同学的(比较好处理的数据)进行分析。首先把他们的数据导入到txt文件中,换成统一的格式。

然后两两进行组合分析,对比他们的思维差异。

三、snowNLP库介绍

这个库是国人自己开发的python类库,专门针对中文文本进行挖掘,里面已经有了算法,需要自己调用函数,根据不同的文本构建语料库就可以。
它拥有的功能如下:

而我们在本实验中运用到了其中的三个功能:情感分析、提取文本关键字、提取摘要。

四、gensim库介绍:

Gensim是一个用于从文档中自动提取语义主题的Python库,十分智能。它可以处理原生,非结构化的数值化文本(纯文本)。其中的算法,比如Latent Semantic Analysis(潜在语义分析LSA),Latent Dirichlet Allocation,Random Projections,通过在语料库的训练下检验词的统计共生模式(statistical co-occurrence patterns)来发现文档的语义结构是非监督的,去哦们仅仅只需要一个语料库的文档集。当得到这些统计模式后,任何文本都能够用语义表示来简洁的表达,并得到一个局部的相似度与其他文本区分开来。

五、处理代码展示

1.利用snowNLP分析十二个一的特征

#_*_coding:utf-8_*_import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')from snownlp import SnowNLP#read txt method one
f = open("C:/Users/16653/Desktop/E.txt",'r', encoding='UTF-8')
line = f.readline()
s=""
while line:line = f.readline()s+=line
f.close()# print(s)
s = SnowNLP(s)s.wordsprint (s.sentiments)#情感系数
print (s.keywords(30))#关键词提取
print("==========================================================================================================")
print (s.summary(10))#自动文摘

2.利用gensim库分析文本相似性

#读取训练数据
def get_datasest(path_qisu):with open(path_qisu, 'r',encoding='UTF-8') as cf:docs = cf.readlines()x_train = []for i, text in enumerate(docs):word_list = ' '.join(jieba.cut(text)).split(' ') ##保证读入的文件是进行分过词的,我选用的是jieba进行分的词l = len(word_list)word_list[l - 1] = word_list[l - 1].strip()document = TaggededDocument(word_list, tags=[i])x_train.append(document)return x_train
#进行模型训练
def train(x_train, size=200, epoch_num=1):model_dm = Doc2Vec(x_train, min_count=1, window=3, size=size, sample=1e-3, negative=5, workers=4)model_dm.train(x_train, total_examples=model_dm.corpus_count, epochs=70)model_dm.save('model_sim')return model_dm
#给定文档进行测试,并计算相似度
def ceshi(test_text):model_dm = Doc2Vec.load('model_sim')# test_text = ' '.join(jieba.cut(str1)).split(' ')inferred_vector_dm = model_dm.infer_vector(test_text.split(' '))# print inferred_vector_dm# Gensim 中有内置的 most_similar,得到向量后,可以计算相似性sims = model_dm.docvecs.most_similar([inferred_vector_dm], topn=10)return sims
#对待计算相似度的文档进行关键信息的抽取
def extract(line):##引用TF-IDF关键词抽取接口tfidf = analyse.extract_tags##结巴分词str1_fenci = ' '.join(jieba.cut(line))##停用词的去除stop_word = []with open('stop_word.txt') as fp:for line in fp.readlines():line = line.strip()if line == '':continuestop_word.append(line.decode('utf-8'))str1_rv_stop_word = ''str1_rv_stop_word_fenci = ''for each in str1_fenci.split(' '):if each not in stop_word:if str1_rv_stop_word == '':str1_rv_stop_word = eachstr1_rv_stop_word_fenci = eachelse:str1_rv_stop_word = str1_rv_stop_word + eachstr1_rv_stop_word_fenci = str1_rv_stop_word_fenci + ' ' + each
##关键信息的抽取guanjian = tfidf(str1_rv_stop_word)guanjian_result = ''linshi = []for each in str1_rv_stop_word.split(' '):if each in guanjian:if guanjian_result == '':guanjian_result = eachelse:guanjian_result = guanjian_result + ' ' + eachlinshi.append(each)return guanjian_result#主函数
if __name__ == '__main__':for i in range(0,12):path_qisu = name[i][0]path_xunwen = name[i][1]path_write = name[i][2]x_train = get_datasest(path_qisu)model_dm = train(x_train)ceshi_list = []with open(path_xunwen,mode='r',encoding='UTF-8') as fp:for line in fp.readlines():line = line.strip()if line == '':continueceshi_list.append(line)f1 = open(path_write,'wb')for line in ceshi_list:strOri=line+'\n'strOri=strOri.encode('utf-8')f1.write(strOri)line = extract(line) ##关键信息的抽取sims = ceshi(line)for count, sim in sims:sentence = x_train[count]words = ''for word in sentence[0]:words = words + word + u' 'strOri=str(sim)+'\n'strOri=strOri.encode('utf-8')f1.write(strOri)f1.write(words.encode('utf-8'))f1.write('\n'.encode('utf-8'))f1.write('\n'.encode('utf-8'))f1.close()
六、统计数据及其相关数据的分析说明
  • 数据结果:
    实验数据来源:四个班的作业“十二个“一”的文艺创作”,对每一个“一”的相关创作放入同一个txt文档,共计12个文档。
    实验工具:python3+NLP库。
    实验流程:分别对描述十二个“一”的文档进行文本分析,保存分析结果。
    实验参数:提取关键词30个,自动摘取文献10句
    实验初始结果如下:
  • 分析说明
    上面的关键词提取结果中出现比较有意义的“人”、“性格”、“感觉”、“团队”、“力量”、“武器”、“公司”等,体现出来这“十二个一的文艺创作”里面大部分都是围绕着人的性格、或者武器的一些威力来展开创作的。而上面的文摘才是最有价值的信息,进一步整理如下:
  • 上图中的A、H、I、J、K,通过读取文摘我们不难发现,绝大部分的人对这些“一”有着不同程度和不同方面上的好感,而且对同一个“一”的评价比较统一,比如对于“I”,“活泼”,“亲和”的感受是大家相通的。对于“K”,大家则觉得我温柔。
  • B、C、E、F、G则是大家褒贬参半的书法字体,就拿B来说,既有人觉B不善表达,也有人认为B自在潇洒。即使褒贬参半,即使各有爱,但是除去感情色彩的词语描述后,数据中人们对每个字体的感受却没有什么大冲突,甚至有些数据里出现惊人的相似感,比如G,“尖锐”、“强”和“直接”是人们所共同认可的感受,只不过喜不喜欢这种特性决定了人们对它的态度。
  • D和L是大家共同排斥的书法作品,D的线条没有其他作品的流畅,笔划也是平平无奇,人们普遍认为只是一个平庸低调的“人”,而L作品的线条细,有一种断断续续的感觉,人们就大多觉得这个“一”十分脆弱。
    (2)关于文本相似度的研究
    在这里选取了我们四名同学的数据进行分析研究,探究她们四人之间描述文本之间的相似度,从而分析人的思维相似度。(以下实验数据中的人名没有给出全名)

  • 同样的两个人,主被动关系不一致,计算出来的文本相似性不一致。
  • 或许这种表示方式能够反应一个人说话的独特性与否,若文本相似性越高,说明她描述的语言更加能够为大家所接收,所理解。
  • 原本是想通过最后得出的数据进行男女生思维的研究分析的(或许性别会对思维的相似度产生影响?关系比较好的人思维方式也会比较相似?)但是最后的实验数据却没有展现给我们一个很好的情况,一个人和其他人的文本相似度之间并没有太大的差别。但是这个差异在单个人的所有数据的对比中区别却很大。

最后我们提取的结果,如果有需要,可以私信

互动媒体技术——对十二个“一”的文艺创作作业进行文本分析、统计和可视化相关推荐

  1. 互动媒体技术有关十二个“一”的文艺创作-拓展版

    属鼠人直觉敏锐,能预示风险,并因而适可而止.但也有不置信本人直觉的时分,这时就碰得头破血流.不过终身中这样的例子只要一次.机敏灵敏的属鼠人也喜欢冒一点小的风险,或许受老鼠神灵的何佑,胜利的时机很多.外 ...

  2. 互动媒体技术(十二个一)

    选题: 假想一个故事背景,从十二个"一"中挑选至少4人,为其设计角色形象,并配合文字描述该角色. 故事背景: 四维平行时空悄然来到我们的身边.在每一个时空都有一个一模一样的自己.过 ...

  3. 十二个“一”与耍猴(互动媒体技术作业)

    十二个"一"与耍猴(互动媒体技术作业) 角色简介 第一章 耍猴之兴 第二章 耍猴之变 第三章 第四章 -- 总结 角色简介 本文故事时间为古代某时期,文中时间点与现实无关,故事背景 ...

  4. 十二个“一”,十二台手机(互动媒体技术作业)

    十二个"一",十二台手机(互动媒体技术作业) 选题: A:VIVO NEX3 B:OPPO Reno系列 C:iPhone 11系列 D:三星 Note10 系列 E:8848钛金 ...

  5. 互动媒体技术课程作业 十二个“一”的人格感受

    互动媒体技术课程作业 十二个"一"的人格感受 (本文与编程无关) 十二个"一"的人格评价--想象为十二个异性追求者 结合以下五个方面评价 开放性(opennes ...

  6. 互动媒体技术十二个“一”的文艺创作——小说创作

    互动媒体技术十二个"一"的文艺创作--小说创作 <玻璃>节选 俞城(男一号):学生,21岁.性格极具特色,表面倔强,但是经历过不为人知的故事.祖籍北京,地球上只剩下了爷 ...

  7. 【互动媒体】”十二个一“的文艺创作的文本分析与可视化

    互动媒体的大作业之一.似乎一整个学期都在和这十二个一打交道,尝试了看待一个简单书法作品的多种维度,也发掘了诸如拟人化.拟物化等在内的多种其他视角.然而,不到期末我们就永远不知道这些数据最后将会去向哪里 ...

  8. 互动媒体技术——五个书法“一”角色设计

    互动媒体技术作业 小组成员:1191170412陈颖 1191170413黄洁 --关于书法"一"的角色设计 角色预览 以下角色形象均来自网图. 主角:李佳莉 性别:女 人介绍:不 ...

  9. 互动媒体技术作业——processing码绘

    互动媒体技术作业--processing码绘 一.作品临摹 二.码绘拓展 三.心得体会 一.作品临摹 1.要求: 从参考资料中的"动态图形艺术"中选取不少于1幅作品,用编程方式临摹 ...

最新文章

  1. 基于TensorFlow 2.0的中文深度学习开源书来了!GitHub趋势日榜第一,斩获2K+星
  2. 【循序渐进学Python】7.面向对象的核心——类型(上)
  3. 开环控制的两轮差速驱动小车_汽车的差速器、差速锁有什么不同?很多车主容易把它俩搞混...
  4. 微软推出 Xbox 漏洞奖励计划,最高奖励2万美元
  5. FireFox如何使用扩展
  6. 【IPTV】华为IPTV解决方案总体介绍
  7. 用python做查询系统_用python制作全国身份证号验证及查询系统
  8. 得物技术网络优化-CDN资源请求优化实践
  9. 别踩白块游戏java项目总结_学习小游戏别踩白块总结
  10. mui 图片预览(3)
  11. CADENAS为BELFUSE创建新的电子元件3DCAD产品目录
  12. CSharp(C#)语言_命名空间和程序集
  13. 网络分析仪测试线损_求e5071c网络分析仪校50欧姆阻抗与线损方法,标准...
  14. 对“动态多重网络”建模与目标选择方法的介绍
  15. 事件相机模拟器rpg-esim环境搭建
  16. c程序设计语言k rpdf,《C程序设计语言》(KR)中文高清非扫描件
  17. 【XML和Java】手写Java程序引用xsd验证xml
  18. 跨境电商“洋码头”,真正的对手是谁?
  19. 图像去模糊——暗通道
  20. 设计模式袖珍版 连续转载之 - Proxy(代理)

热门文章

  1. 哈利波特魔法游戏(原创)
  2. 谈谈我的学习工作经历,自学linux去中兴上班
  3. iNode客户端“未收到服务器回应,即将强行下线,请检查终端能否正常访问网络或者与管理员联系”问题与解决方式
  4. stm32-mini-LCD液晶显示实验
  5. 没有打不了的补丁切不了的面
  6. 小程序下单账号与支付账号不一致不让支付_微信小程序支付流程
  7. C语言函数操作大全----(超详细)
  8. 蒙氏三段卡素材---蚂蚱三段卡
  9. 服务器硬盘识别不到d盘,windows10系统本地磁盘找不到d盘如何解决
  10. 你们知道官网购买服务器可以返佣吗