- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
gensim中word2vecpython源码理解(⼀)初始化构建单词表
本⽂主要谈⼀谈对gensim包中装的word2vecpython源码中,使⽤ierarchicalSoftmax构建单词表部分代码的理解。
由于之前阅读的论⽂是对使⽤ierarchicalSoftmax的Skip-gram模型进⾏拓展,因此阅读代码的时候重点阅读了ierarchical
Softmax构建单词表的⽅法,以及Skip-gram模型的训练⽅法。对于negativesampling⽅法和CBOW模型的实现⽅法,则会继续对代码
进⾏研究。
init
初始化⼀个model(实际上是Word2Vec类的实例化对象):
model=Word2Vec(sentences,size=100,window=5,min_count=5,worers=4)
进⼊类的初始化⽅法__init__,对⾥⾯的属性值进⾏初始化。
传⼊的训练句⼦不为空的情况下,主要调⽤两个⽅法:
self.build_vocab(sentences,trim_rule=trim_rule)
self.train(
sentences,total_examples=self.corpus_count,epochs=self.iter,
start_alpha=self.alpha,end_alpha=self.min_alpha
)
build_vocab
该⽅法是从句⼦序列中构建单词表,其中每个句⼦都是字符串组成的列表。依次调⽤了三个⽅
法:scan_vocab,scale_vocab,finalize_vocab
下⾯依次介绍三个⽅法的功能:
scan_vocab:对句⼦中的单词进⾏初始化
代码内容阅读(有省略):
sentence_no=-1#保存扫描完成的句⼦数量
total_words=0#保存出现的单词总数(不去重)
min_reduce=1
vocab=defaultdict(int)#将单词表初始化为⼀个字典
checed_string_types=0
#扫描每个句⼦
取出语料中每个句⼦和其语料库中的编号
forsentence_no,sentenceinenumerate(sentences):#no
forwordinsentence:
vocab[word]+=1#记录每个词出现的次数
total_words+=len(sentence)#记录扫描过的句⼦⾥的单词总数
ifself.max_vocab_sizeandlen(vocab)self.max_vocab_size:#如果对于最⼤单词数有限制且当前超出限制
#将语料库中⼩于min_reduce(初始值为1)的单词都删除
utils.prune_vocab(vocab,min_reduce,trim_rule=trim_rule)
min_reduce+=1#不断增⼤min_reduce,直到单词表长度不⼤于max_vocab_size
self.corpus_count=sentence_no+1#保存语料数(句⼦数)
self.raw_vocab=vocab#保存单词表
returntotal_words#返回单词总数
scale_vocab:应⽤min_count的词汇表设置(丢弃不太频繁的单词)和sample(控制更频繁单词的采样)。
代码内容阅读(有省略):
加载新的词汇表:
ifnotupdate:#加载⼀个新的词汇表
retain_total,retain_words=0,[]#保留总数,保留的单词
#获得单词及其出现的数量,raw_vocab是scan_vocab中保存的单词表dict
forword,viniteritems(self.raw_vocab):
判断当前单词是否被丢弃,为修剪规则,默认为
#trim_rule
您可能关注的文档
- 新型天然气超声流量计量技术.pdf
- 公路隧道二衬厚度不足的成因及防控措施.pdf
- 【小说精读】2023年高考语文新课标全国Ⅱ卷小说阅读沈从文《社戏》精读解析及试题详解.pdf
- 1979年高考真题英语试卷-学生用卷.pdf
- 2023届上海市部分区高三下学期二模英语试卷分类汇编:语法填空.pdf
- 2023-2024学年湖北省初中多校联考九年级上学期月考数学试题.pdf
- ICT客诉风险考试题及答案.pdf
- 2023届辽宁省鞍山市普通高中高三第二次质量监测 语文答案.pdf
- 2021-2022学年山西省太原市八年级(上)期末数学试题及答案解析.pdf
- 2021年9月份全国青少年机器人技术等级考试理论综合试卷(二级).pdf
- 2024+IHS全球实践建议:偏头痛的预防性药物治疗.pdf
- 2024+SFNV/FSC科学声明:改进缺血性卒中和短暂性缺血性发作后房颤的检测.pdf
- (2024.V5)NCCN临床实践指南:中枢神经系统肿瘤.pdf
- 2024+AHA/ASA指南:卒中的一级预防.pdf
- 2024+SFNP指南:长期皮质类固醇治疗杜氏肌营养不良的化合物、剂量选择和副作用管理.pdf
- 肌萎缩侧索硬化患者营养管理专家共识.pdf
- 经颅直流电刺激联合认知训练治疗早期阿尔茨海默病专家共识.pdf
- 2025 ESO指南:失语症康复.pdf
- 2024+ISTAART共识建议:后皮质萎缩综合征诊断的临床评估工具.pdf
- 2024 HSFC加拿大卒中最佳实践建议(第7版):脑静脉血栓形成(更新版).pdf
原创力文档


文档评论(0)