如何用python进行相关性分析_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 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文章相关性分析---金庸武侠小说分析相关推荐
- python 小说人物分析_Python文章相关性分析---金庸武侠小说分析
最近常听同事提及相关性分析,正巧看到这个google的开源库,并把相关操作与调试结果记录下来. 小说集可以百度<金庸小说全集 14部>全(TXT)作者:金庸 下载下来. 需要整理好格式,门 ...
- python相关性分析函数_python实现相关性分析
从网上记录的一篇如何用python实现相关性分析的文章 ,先摘录,我再一一实现. 概述 在我们的工作中,会有一个这样的场景,有若干数据罗列在我们的面前,这组数据相互之间可能会存在一些联系,可能是此增彼 ...
- 如何用python爬股票数据_python爬虫股票数据,如何用python 爬虫抓取金融数据
Q1:如何用python 爬虫抓取金融数据 获取数据是数据分析中必不可少的一部分,而网络爬虫是是获取数据的一个重要渠道之一.鉴于此,我拾起了Python这把利器,开启了网络爬虫之路. 本篇使用的版本为 ...
- 如何用python进行相关性分析_Python 数据相关性分析
概述 在我们的工作中,会有一个这样的场景,有若干数据罗列在我们的面前,这组数据相互之间可能会存在一些联系,可能是此增彼涨,或者是负相关,也可能是没有关联,那么我们就需要一种能把这种关联性定量的工具来对 ...
- 如何用python爬取公众号文章_Python+fiddler:爬取微信公众号的文章
这几天师父有个小项目,挺有意思,如何使用python爬微信公众号中的新闻信息.大体流程如下.图1:流程 其实我们看到,这里并没有想象中的"智能"--依然需要手动刷公众号文章,然后才 ...
- 如何用python爬取公众号文章搜狗微信搜索_python抓取搜狗微信公众号文章
初学python,抓取搜狗微信公众号文章存入mysql mysql表: 代码: import requests import json import re import pymysql # 创建连接 ...
- 如何用python爬取公众号文章搜狗微信搜索_python如何爬取搜狗微信公众号文章永久链接的思路解析...
这篇文章主要介绍了python如何爬取搜狗微信公众号文章永久链接的思路解析 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧. 本文主要讲解思路,代码部分请自行解决搜狗微信 ...
- python相关性分析_Python:相关性分析
一.相关关系:相关分析与回归分析在实际应用中有密切关系.然而在回归分析中,所关心的是一个随机变量Y对另一个(或一组)随机变量X的依赖关系的函数形式.而在相关分析中 ,所讨论的变量的地位一样,分析侧重于 ...
- python爬虫加密空间_Python爬虫进阶必备 | XX同城加密分析
目标网站: aHR0cHM6Ly9wYXNzcG9ydC41OC5jb20vbG9naW4vP3BhdGg9aHR0cHMlM0EvL2Z6LjU4LmNvbS8mUEdUSUQ9MGQxMDAwMD ...
最新文章
- AMD正式公布第七代桌面级APU AM4新接口
- vscode里面如何配置库_VSCode中C/C++库文件的配置
- Python数模笔记-NetworkX(1)图的操作
- 数组(Array)的常用方法
- 钉钉机器人自动推送股票信息
- 300万知乎用户数据如何大规模爬取?如何做数据分析?
- NLP情感分析笔记(五):多类型情感分析
- 从零实现深度学习框架——实现自己的Tensor对象
- 计算机 管理 被停用,如果电脑上出现“你的账户已被停用请向系统管理员咨询”怎么办?...
- IP转发的最长前缀匹配
- 远程控制多台服务器,perl远程执行多台服务器shell命令
- 【UE】UE4下载安装及测试demo
- 软考架构师 | 论文
- 好用的qq群管机器人插件 附教程
- kaggle泰坦尼克
- 《算法导论3rd第十二章》二叉查找树
- Springboot统一异常处理并保存到数据库
- P2P加速系统解决方案
- zoj 3351 Bloodsucker
- 【软件工程】2022秋软工实践个人作业一
热门文章
- Windows睡眠,CPU风扇仍然运转的问题
- [Git 1]基本操作与协同开发
- 学习Java未来就业前景和方向如何?
- ipp协议 打印机 c语言,使用IPP(Internet打印协议)或LPR(行式打印机远程)在android中打印文件...
- 知识图谱发展历程简介
- [bzoj] 1597 土地购买 || 斜率优化dp
- 自制拖把机器人_懒出新境界:可以自己洗拖布的机器人
- python(11)- 文件处理
- esclip直接快捷键构造函数_IntelliJ Idea 常用快捷键
- 美团饿了么外卖返利cps项目可以给你带来什么?