Python文章相关性分析---金庸武侠小说分析-2018.1.16
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python文章相关性分析---金庸武侠小说分析-2018.1.16,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3854字,纯文字阅读大概需要6分钟。
内容图文
在公司晨会对称过程中,好几次问到了了相关性分析,正巧看到这个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次数的单词会被丢弃掉, 默认值为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)作者:金庸 下载下来,然后读取内容,另:以上模型每次都训练了,
原文:https://www.cnblogs.com/yangshaoqing/p/8298225.html
内容总结
以上是互联网集市为您收集整理的Python文章相关性分析---金庸武侠小说分析-2018.1.16全部内容,希望文章能够帮你解决Python文章相关性分析---金庸武侠小说分析-2018.1.16所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。