wiki百科词向量训练模型

  • 一、结果预览
  • 二、作用
  • 训练过程
    • (一)下载问题解决
      • 下载方式一:
      • 下载方式二:
      • 下载方式三:
    • (二)训练过程的问题

一、结果预览

目标为求取python相关的内容为:


从结果上看,与python相关的内容为java、perl等编程语言

二、作用

个人简单理解:就是寻找相关的词,如上面的oython是一种编程语言,而perl、java等也是如此,但是又不是近义词,比如bash,bash是linux的命令处理器。

扩展用途:通过相关联的词进行分类、推荐(如广告推荐)、比较相似度等等;(个人觉得就是一个fuzzywuzzy更精确的版本)

理解可能不是很准确,可以参见以下:

关于其技术原理,可以参见链接: 全面理解word2vec.

训练过程

参见:: 《使用中文维基百科语料库训练一个word2vec模型》.
模型基本上也是参照这篇文章训练出来的,

(一)下载问题解决

只是相关工具下载过于困难,wiki资源最新的20200801的有2G左右,直接网页下载特别缓慢,换成迅雷只能享受几十秒的快速,接着也是几十kb的速度。

下载方式一:

首先下载idm,
就是这个

然后将网址导入idm

这个下载速度快点,大致在1mb左右

下载方式二:

使用闪电下载


下载速度大致也在1mb左右

下载方式三:

我将资源以及训练的模型放在了天翼云盘中,下载速度平均在8M左右,最快能有十几M,


但是麻烦的是需要注册
下载链接: 模型以及资源.

(二)训练过程的问题

训练时长在40多分钟左右,我的计算机比较老了,更好的计算机能更快点
1、训练时设置的一个参数,min_count=1,默认为5,这应该实在计算词语的频数,默认为5,即小于5的可能是被省略了,因而设为1可能更好,当然这取决于个人训练的模型的用途

def main():
print("开始....................")
start_time = time.time()
#logging.basicConfig(format="%(asctime)s:%(levelname)s:%(message)s", level=logging.INFO)
sentences = word2vec.LineSentence(r"---.txt".strip('\u202a'))
model = word2vec.Word2Vec(sentences, size=250,min_count=1)
# 保存模型
model.save(r"law1.model".strip('\u202a'))
end = time.time()
across = (end-start_time)/60
print(across)

2、训练时可能遇到报错

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xba in position 0: invalid start byte

这个报错的原因不明,因为预训练的内容就是utf-8写入的(不是wiki数据,而是另一个训练的模型中遇到这个报错)

解决方式就是另存一份utf-8的文件

3、模型预测时的问题
可能遇到KeyError:

KeyError: "word 'python' not in vocabulary"

在我训练的另一个模型中,对python进行模型预测,发现了这个问题。当然在wiki模型中,如果预测内容为:

["腾讯","阿里巴巴"]

也会出现这种报错:

 KeyError: "word '腾' not in vocabulary" 或者   KeyError: "word '阿' not in vocabulary"

这是训练时某些字被去掉了,”腾“字不明白为什么,但是”阿“字可能在停用词处理就去掉了,因而训练时会出现一定的失误

解决方法,就是将该词训练进去

def solution_keyerror():
"""对模型更新"""
sentences = [["腾讯","腾讯","腾讯","腾讯","腾讯","腾讯","腾讯","腾讯","腾讯","腾讯","腾讯" ]]model = word2vec.Word2Vec.load('J:\PyCharm项目\项目\中国裁判文书网\word2ver裁判文书词向量\law.model')
print(model)
model.build_vocab(sentences, update=True)  # prepare the model vocabulary
model.train(sentences, total_examples=model.corpus_count, epochs=model.iter)
print(model.most_similar("腾讯", topn=20))solution_keyerror()

结果为:

这个方法并不是我想到的,而是来源于链接: KeyError: “word ‘在行’ not in vocabulary”.

wiki百科词向量训练资料及其模型相关推荐

  1. Onehot_encode与Word2vec词向量训练

    Onehot_encode与Word2vec词向量训练 1.编写onehot_encode函数 使用: class sklearn.preprocessing.OneHotEncoder(*, cat ...

  2. 【Pytorch基础教程37】Glove词向量训练及TSNE可视化

    note Glove模型目标:词的向量化表示,使得向量之间尽可能多蕴含语义和语法信息.首先基于语料库构建词的共现矩阵,然后基于共现矩阵和GloVe模型学习词向量. 对词向量计算相似度可以用cos相似度 ...

  3. Gensim训练维基百科词向量模型(含代码)

    由于平时会用到很多的文本预处理,这里就系统的讲解一下Gensim是如何训练维基百科词向量模型的!! 其中训练好的模型,也就是最终生成的 **.model 文件,可以作为预训练词向量使用. 训练维基百科 ...

  4. Windows下维基百科中文语料库词向量训练

    Windows下维基百科中文语料库词向量训练 Garbage in,garbage out. ​ 自然语言处理中,词向量的处理尤为重要.而生成词向量的好坏往往取决于语料库的训练,所以,语料库的选择十分 ...

  5. 十四、中文词向量训练一

    1.Word2vec介绍 1.1 Word Embedding介绍 WordEmbedding将「不可计算」「非结构化」的词转化为「可计算」「结构化」的向量. 1.2 Word2vec 基本内容 Wo ...

  6. 十五、中文词向量训练二

    中文词向量训练二 1. Gensim工具训练中文词向量 1.1 中文词向量过程 源程序:train_word2vec_model.py 执行方法:在命令行终端执行下列代码. python train_ ...

  7. word2vec词向量训练及中文文本类似度计算

    本文是讲述怎样使用word2vec的基础教程.文章比較基础,希望对你有所帮助! 官网C语言下载地址:http://word2vec.googlecode.com/svn/trunk/ 官网Python ...

  8. python 词向量_利用python实现词向量训练----

    python的一堆工具包 https://www.lfd.uci.edu/~gohlke/pythonlibs/ ------------------------------------------- ...

  9. ELMO中文词向量训练及使用的完整流程

    笔者最近在学习elmo中文的词向量训练及使用,由于网上相关资料比较缺乏,也比较零碎,没有完整的从中文词向量的训练到使用的介绍,学起来困难较多.经过漫长的尝试,笔者终于将整套流程走通,相信应该是目前最完 ...

最新文章

  1. php作为文本进行处理,PHP处理文本和爬虫技巧
  2. AutoFac Ioc依赖注入容器
  3. 关于yum安装后提示There are no enabled repos Run yum repolist all..的问题解决
  4. 主键id 请求参数用什么类型_中小型项目用SpringBoot太大了,不如尝试下Martian
  5. java 1.6u29 下载_jdk1.6 64位下载|JDK 6(Java SE Development Kit)下载6u43 64位官方版_java运行环境 IT猫扑网...
  6. 【转】wifi的几种工作模式
  7. 配置nginx-rtmp流媒体服务器(宝塔面板配置教程)
  8. umask:默认权限分配的命令
  9. 永久linux修改内核打印级别,终端下更改printk打印级别
  10. 关于SVN更新时文件加锁的小结
  11. java出现中文乱码_JAVA中文显示乱码问题
  12. 亲测有效,推荐4款好用的录屏软件
  13. torch.erf()/gelu()/误差函数科普
  14. Windows10磁盘分区和扩展
  15. 蓝桥杯:国二选手经验贴 附蓝桥杯历年真题
  16. 同态加密中无符号数之间比较大小
  17. 【转租】【房东直租】【次渠东里一区、高层正规两居室、次卧】
  18. 文件共享服务器onedrive,共享 OneDrive 文件和文件夹
  19. sap客户信贷_SAP信贷控制功能与配置详解
  20. shell脚本 sh shebang “#!/bin/sh“

热门文章

  1. 【CCNP | 网络模拟器GNS系列】安装、配置和使用 GNS3
  2. SVN:无校验和记录解决办法
  3. 五彩斑斓的 Black —— Python代码格式化工具
  4. Python安装失败0x80070642错误解决方法
  5. linux中的du命令和df命令和fdisk命令
  6. 计算机收藏夹位于哪个磁盘,电脑浏览器收藏夹保存在哪里
  7. python金融数据分析单元测试答案_参考答案2020智慧树知到Python金融数据分析
  8. 支付宝个人收款解决方案之支付宝签约方案
  9. Linux内核中断系统结构——软中断
  10. 下载、安装Ctex及编译自动化学报模板时错误的解决