最近常听同事提及相关性分析,正巧看到这个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 inzip(novels, names)}

//可以在这里打印下看是不是都读取过

//开始分词并加载for _, names in novel_names.items():#.iteritems():(Python2的旧写法)

for name innames:

jieba.add_word(name)

with open("kongfu.txt",encoding='UTF-8') as f:

kungfu_names=[line.strip()for line inf.readlines()]

with open("bangs.txt") as f:

bang_names=[line.strip()for line inf.readlines()]for name inkungfu_names:

jieba.add_word(name)for name inbang_names:

jieba.add_word(name)

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

//你知道的:飞雪连天射白鹿,笑书神侠倚碧鸳

sentences =[]for novel innovels:

with open('{}.txt'.format(novel),encoding='UTF-8') as f:

data=[line.strip()for line inf.readlines()ifline.strip()]for line indata:

words=list(jieba.cut(line))

sentences.append(words)

model=gensim.models.Word2Vec(sentences,

size=200, #100

window=5,

min_count=5,

workers=4)

//便于使用的方法

defget_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次数的单词会被丢弃掉, 默认值为5

max_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 words

cbow_mean: 如果为0,则采用上下文词向量的和,如果为1(defau·t)则采用均值。只有使用CBOW的时候才起作用。

hashfxn: hash函数来初始化权重。默认使用python的hash函数

iter: 迭代次数,默认为5

trim_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)作者:金庸 下载下来,然后读取内容,另:以上模型每次都训练了,

python 小说人物分析_Python文章相关性分析---金庸武侠小说分析相关推荐

  1. 如何用python进行相关性分析_Python文章相关性分析---金庸武侠小说分析

    最近常听同事提及相关性分析,正巧看到这个google的开源库,并把相关操作与调试结果记录下来. 小说集可以百度<金庸小说全集 14部>全(TXT)作者:金庸 下载下来. 需要整理好格式,门 ...

  2. python 小说人物分析_Python语言之用Python分析一下当年看金庸小说最爱的主角是谁...

    本文主要向大家介绍了Python语言之用Python分析一下当年看金庸小说最爱的主角是谁,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. jieba用起来非常简单,短短几行代码就完 ...

  3. python 小说人物分析_用Python来看金庸先生的小说,这一生向大侠致敬

    从小就是武侠迷,可以说是看着金庸先生的作品长大的,无论是书还是电视剧都非常着迷,飞雪连天射白鹿,笑书神侠倚碧鸳.金老一生共著15部武侠作品,在那个电子产品和互联网尚未普及的年代带给我们太多的欢乐和回忆 ...

  4. python 小说下载工具_python 制作网站小说下载器

    基本开发环境 ・ Python 3.6 ・ Pycharm 相关模块使用 目标网页分析 输入想看的小说内容,点击搜索 这里会返回很多结果,我只选择第一个 网页数据是静态数据,但是要搜索,是post请求 ...

  5. python小说下载器_python 制作网站小说下载器

    基本开发环境 · Python 3.6 · Pycharm 相关模块使用 目标网页分析 输入想看的小说内容,点击搜索 这里会返回很多结果,我只选择第一个 网页数据是静态数据,但是要搜索,是post请求 ...

  6. 如何用python进行相关性分析_Python 数据相关性分析

    概述 在我们的工作中,会有一个这样的场景,有若干数据罗列在我们的面前,这组数据相互之间可能会存在一些联系,可能是此增彼涨,或者是负相关,也可能是没有关联,那么我们就需要一种能把这种关联性定量的工具来对 ...

  7. python 小说人物分析_用python分析小说人物关系(二)——实战篇

    用到的工具jieba jieba分词,最好用的开源中文分词工具.他最主要的两个功能是分词和关键词的抽取.在这里我们需要用他的分词功能来提取文本中的人名. gephi gephi是一个开源的复杂网络数据 ...

  8. python相关性分析_Python:相关性分析

    一.相关关系:相关分析与回归分析在实际应用中有密切关系.然而在回归分析中,所关心的是一个随机变量Y对另一个(或一组)随机变量X的依赖关系的函数形式.而在相关分析中 ,所讨论的变量的地位一样,分析侧重于 ...

  9. python爬虫加密空间_Python爬虫进阶必备 | XX同城加密分析

    目标网站: aHR0cHM6Ly9wYXNzcG9ydC41OC5jb20vbG9naW4vP3BhdGg9aHR0cHMlM0EvL2Z6LjU4LmNvbS8mUEdUSUQ9MGQxMDAwMD ...

最新文章

  1. 机器学习从Python 2迁移到Python 3,你需要注意的一些事……
  2. oracle的clob赋值_Java处理(插入或修改)clob类型数据
  3. ospf专题二:虚链路
  4. HTML ol 标签的 type 属性
  5. java中打印输出数组内容的三种方式
  6. QT的QParameter类的使用
  7. HDU 3530 Subsequence
  8. 利用Theme自定义Activity进入退出动画
  9. exit()与_exit()函数的区别(Linux系统中)
  10. Cglib 如何实现多重代理?
  11. SQL Server添加Check约束
  12. Trump International Hotel Washington, D.C.宣布跻身猫途鹰“旅行者之选”美国获奖酒店四强之列
  13. ureport2报表详细使用(一)-集成及配置
  14. 【稀饭】react native 实战系列教程之热更新原理分析与实现
  15. DB2错误SQL1585N
  16. DNS域名解析错误解决
  17. 解决阿里云盾控制台wordpress IP验证不当漏洞
  18. Centos下使用C++操作Redis——hiredis
  19. 常见的海外广告投放平台,海外社交广告平台的开户流程与要求
  20. 视频传输解决方案,让视频会议更高效

热门文章

  1. windows 重新启动 postgresq
  2. ca机构将会被区块链取代
  3. java—JSON(课堂笔记篇)
  4. Web基础05 盒子模型01边框属性
  5. java西语_使用Java 8 DateTimeFormatter和西班牙语月份名称进行解析
  6. CentOS使用yum命令安装软件失败,报错“Couldn‘t open file /data/ceph/ceph/repodata/repomd.xml“
  7. 利用pgzero做一个接球的小游戏
  8. 墨客IPFS子链技术交流
  9. 如何从Photoshop中提取笔刷到优动漫
  10. 永磁同步电机弱磁控制建模仿真