Python文章相关性分析---金庸武侠小说分析


最近常听同事提及相关性分析,正巧看到这个google的开源库,并把相关操作与调试结果记录下来。
小说集可以百度《金庸小说全集 14部》全(TXT)作者:金庸 下载下来。需要整理好格式,门派和武功名称之间需要有换行符,留意删除掉最后一行的空白区域。下载完成后可以用自己习惯的工具或程序做相应调整,因语料内容太长,博客里面不允许"堆砌",所以没复制上来,有需要的可以再联系。
with open(‘names.txt‘) as f:
    data = [line.strip()  for line in f.readlines()]
novels = data[::2]
names = data[1::2]

novel_names = {k: v.split() for k, v in zip(novels, names)}
//可以在这里打印下看是不是都读取过
//开始分词并加载
for _, names in novel_names.items():#.iteritems():(Python2的旧写法)
    for name in names:
        jieba.add_word(name)
with open("kongfu.txt",encoding=‘UTF-8‘) as f:
    kungfu_names = [line.strip()
                    for line in f.readlines()]
with open("bangs.txt") as f:
    bang_names = [line.strip()
                  for line in f.readlines()]

for name in kungfu_names:
    jieba.add_word(name)

for name in bang_names:
    jieba.add_word(name)

novels = ["书剑恩仇录", "天龙八部","碧血剑","越女剑","飞狐外传","侠客行","射雕英雄传","神雕侠侣","连城诀","鸳鸯刀","倚天屠龙记","白马啸西风","笑傲江湖","雪山飞狐","鹿鼎记"]
//你知道的:飞雪连天射白鹿,笑书神侠倚碧鸳
sentences = []

for novel in novels:
    with open(‘{}.txt‘.format(novel),encoding=‘UTF-8‘) as f:
        data = [line.strip()
                for line in f.readlines()
                if line.strip()]
    for line in data:
        words = list(jieba.cut(line))
        sentences.append(words)

model = gensim.models.Word2Vec(sentences,
                               size=200, #100
                               window=5,
                               min_count=5,
                               workers=4)
//便于使用的方法def get_gongfu(a, b, c):
    d, _ = model1.most_similar(positive=[c, b], negative=[a])[0]
    print (c,d)
//使用举例一print (‘-------------若黄蓉使出打狗棒法,郭靖会怎样?-------------------------‘)
get_gongfu("黄蓉","打狗棒法","郭靖")
print (‘-------------若黄蓉拿着打狗棒,郭靖又会拿啥?-------------------------‘)
get_gongfu("黄蓉","打狗棒","郭靖")
输出结果:-------------相关性:乔峰-------------------------
%% 虚竹 0.8226621747016907
%% 慕容复 0.809000551700592
%% 段正淳 0.808856725692749
%% 木婉清 0.7898266315460205
%% 童姥 0.7881260514259338
%% 袁承志 0.7863771915435791
%% 全冠清 0.7761101722717285
%% 谢烟客 0.7738543748855591
%% 俞莲舟 0.7663788199424744
%% 陆菲青 0.7651679515838623
-------------相关性:阿朱-------------------------
阿紫 0.8502078056335449
王语嫣 0.8323276042938232
木婉清 0.8188427090644836
方怡 0.81195068359375
钟灵 0.8042664527893066
仪琳 0.7905520796775818
青青 0.7837553024291992
香香公主 0.7774882316589355
盈盈 0.7765697836875916
马夫人 0.7628135681152344
-------------相关性:降龙十八掌-------------------------
打狗棒法 0.9099119901657104
太极拳 0.8792168498039246
空明拳 0.8742830157279968
绝招 0.864672064781189
一阳指 0.8576483726501465
蛤蟆功 0.8443030714988708
心法 0.8419612646102905
棒法 0.840523362159729
罗汉拳 0.838168740272522
小擒拿手 0.8356980085372925
-------------若黄蓉使出打狗棒法,郭靖会怎样?-------------------------
郭靖 降龙十八掌
-------------若黄蓉拿着打狗棒,郭靖又会拿啥?-------------------------
郭靖 令旗

模型参数:
Python文章相关性分析---金庸武侠小说分析-----

sentences:可以是一个·ist,对于大语料集,建议使用BrownCorpus,Text8Corpus或·ineSentence构建。sg: 用于设置训练算法,默认为0,对应CBOW算法;sg=1则采用skip-gram算法。size:是指特征向量的维度,默认为100。大的size需要更多的训练数据,但是效果会更好. 推荐值为几十到几百。window:表示当前词与预测词在一个句子中的最大距离是多少alpha: 是学习速率seed:用于随机数发生器。与初始化词向量有关。min_count: 可以对字典做截断. 词频少于min_count次数的单词会被丢弃掉, 默认值为5max_vocab_size: 设置词向量构建期间的RAM限制。如果所有独立单词个数超过这个,则就消除掉其中最不频繁的一个。每一千万个单词需要大约1GB的RAM。设置成None则没有限制。sample: 高频词汇的随机降采样的配置阈值,默认为1e-3,范围是(0,1e-5)workers参数控制训练的并行数。hs: 如果为1则会采用hierarchica·softmax技巧。如果设置为0(defau·t),则negative sampling会被使用。negative: 如果>0,则会采用negativesamp·ing,用于设置多少个noise wordscbow_mean: 如果为0,则采用上下文词向量的和,如果为1(defau·t)则采用均值。只有使用CBOW的时候才起作用。hashfxn: hash函数来初始化权重。默认使用python的hash函数iter: 迭代次数,默认为5trim_rule: 用于设置词汇表的整理规则,指定那些单词要留下,哪些要被删除。可以设置为None(min_count会被使用)或者一个接受()并返回RU·E_DISCARD,uti·s.RU·E_KEEP或者uti·s.RU·E_DEFAU·T的函数。sorted_vocab: 如果为1(defau·t),则在分配word index 的时候会先对单词基于频率降序排序。batch_words:每一批的传递给线程的单词的数量,默认为10000
最近常听同事提及相关性分析,正巧看到这个google的开源库,并把相关操作与调试结果记录下来。
小说集可以百度《金庸小说全集 14部》全(TXT)作者:金庸 下载下来。需要整理好格式,门派和武功名称之间需要有换行符,留意删除掉最后一行的空白区域。下载完成后可以用自己习惯的工具或程序做相应调整,因语料内容太长,博客里面不允许"堆砌",所以没复制上来,有需要的可以再联系。

备注:首先百度到《金庸小说全集 14部》全(TXT)作者:金庸 下载下来,然后读取内容,另:以上模型每次都训练了,

原文地址:https://www.cnblogs.com/yangshaoqing/p/8297992.html

时间: 2024-07-29 07:46:32

Python文章相关性分析---金庸武侠小说分析的相关文章

Python文章相关性分析---金庸武侠小说分析-2018.1.16

在公司晨会对称过程中,好几次问到了了相关性分析,正巧看到这个google的开源库,并把相关操作与调试结果记录下来. 小说集可以百度<金庸小说全集 14部>全(TXT)作者:金庸 下载下来.需要整理好格式,门派和武功名称之间需要有换行符,留意删除掉最后一行的空白区域.下载完成后可以用自己习惯的工具或程序做相应调整,因语料内容太长,博客里面不允许"堆砌",所以没复制上来,有需要的可以再联系. with open('names.txt') as f: data = [line.s

金庸武侠小说之我的见解

金庸武侠小说之我的见解 还记得,还在初中的时候,老师就一直对我们说:"你们这次的暑假作业就是看四大名著中的<三国演义>,写读书笔记".对于我们这种穷苦孩子出身,没读过太多书的人来说,当时觉得<三国演义>就像是古代那种官门府邸才有的藏书.后来外公(我外公是位特别爱看古典武侠的人)送我一本,顿时对外公佩服得五体投地. 当然,<三国演义>还不能算武侠,最多也只能算是古典小说.我觉得衡量一样东西的价值就是看它的拥趸数量以及其是否对社会是否存在伤害. 我喜欢&

基于Python分析金庸小说里的主角,原来他才是真正的主角!

粉丝独白 说起武侠小说,不得不提中国武侠小说三大宗师--金庸.梁羽生.古龙,从上世纪七八十年代开始,大量的武侠经典出现在荧幕之中.三位大师的文字作品几乎都读过,在学习Python和数据分析后又发现了很多好玩的东西,今天就用数据分析来探索一下武侠小说. 要点: 谁是主角(金庸) 用词习惯(梁羽生) 一:谁是金庸小说的主角 天龙八部是一部多主角小说,萧峰.虚竹.段誉三兄弟各有际遇,曾经还因谁才是第一主角的问题引发过一阵争论. 现在我们已经懂得用数据思维来考虑问题,看看怎样对中文小说进行数据分析吧.出

python&amp;php数据抓取、爬虫分析与中介,有网址案例

最近在做一个网络爬虫程序,后台使用python不定时去抓取数据,前台使用php进行展示 网站是:http://se.dianfenxiang.com python&php数据抓取.爬虫分析与中介,有网址案例,布布扣,bubuko.com

PYTHON上海分享活动小记---SQUID日志分析项目开发

上周末有幸跑到上海为小伙伴们分享了<SQUID日志分析项目>,主要是带大家用PYTHON迅速实现一个SQUID日志分析平台的前后端开发,一天的课程太紧张,导致有些细节不能完全实现,但整体思路啥的基本都OK啦,可惜的是由于电脑没配置好,导致没法录像....,要不然就可以放到网上与大家一起分享了,现在只能上几张图了... 最后感谢 波波同学,无偿负责组织策划了这次分享活动,感谢柏林,提供场地支持. 感谢大家花周末时间参加这个活动,希望此次分享对各位有所帮助.. PYTHON上海分享活动小记---S

【蓝月集金】行情分析

[蓝月集金]行情分析 美国COMEX 8月黄金期货价格周三(7月20日)收盘下跌17.00美元,跌幅1.28%,报1315.30美元/盎司,金价跌至三周来最低水平,因多数企业财报向好支撑美股道指创历史新高:同时,美元触及四个月来最高水平,此前美国发布强劲经济数据,增加了美联储今年底前加息的预期. 周三(7月20日),欧洲交易时段,因英国至5月三个月ILO失业率降至2005年以来最低水平,英镑获得一定支撑,短线上涨,并升至日内高位.近期美国经济数据表现向好,市场风险稳固,美联储年内加息预期再次升温

Python爬虫实例(六)多进程下载金庸网小说

目标任务:使用多进程下载金庸网各个版本(旧版.修订版.新修版)的小说 代码如下: # -*- coding: utf-8 -*- import requests from lxml import etree from multiprocessing import Pool import os import sys reload(sys) sys.setdefaultencoding('utf-8') headers = {'User-Agent':'Mozilla/5.0 (Windows NT

一个程序猿从金庸开始的读书历程

大学4年是--除上初中之前--最快乐的时光了,大一的我拒绝了所有社团的诱惑--这似乎和正常的大学生活有些南辕北辙--除了按时上下课赶食堂抢热的饭菜之外,唯一的生活追求就是跑到图书馆看上半篇<神雕侠侣>或者<天龙八部>神马的,<神雕侠侣>是我最早接触的金庸电视剧,还记得那时白白瘦瘦的古天乐以及不食人间烟火的李若彤.初中之后到整个高中就很少看电视剧和被老师奉为非正统的课外书了,那些如今都成为穿凿引线的遗留童年记忆,却影响着6年后上大学之后的我. 我现在喜欢读很多种类型的书,

易经&#183;阴阳与术数 --金庸

我国学术界多数意见,认为<易经>成于殷末周初,成立的时候极早,本来的作用是卜占吉凶,作为行为的指导.古人迷信,对于自然界.命运.战争的结果.婚姻.建屋等等大事都不了解,惴惴不安,便占卦来作决定.<易经>的基本道理,是古代哲人根据观察事理和人生经验而得出来的教训,教导人们:万事变动不居,不会固定不易,物极必反,做事不可趋于极端.即使以现代的哲学来看,那也是极有道理的.一般认为,<周易>应当在西周初年即已成型.向来说是周文王所作,这未必为事实,但周文王根据传统资料,加以整理