没人扶你的时候,自己站直。路还长,背影要美。
全文字数:1236字
阅读时间:8分钟
前言
在以词项为基本单元输入的自然语言处理任务中,都避免不了将词项转换成算法能够输入的特征表示,词项的特征表示有很多种,这里主要介绍的就是词向量。word2vec是比较流行的训练词向量的算法,使用Gensim模块可以非常简单的训练出词向量。
word2vec包含Skip-Gram和CBOW两种不同的模型,不论是Skip-Gram模型还是CBOW模型,它们的输入以及输出都是以词项为基本单位,只是它们对应输入和输出不一样:
从上面可以看出,无论是Skip-Gram模型还是CBOW模型基本的处理单元都是词项,那么获取到的语料必须要经过分词处理才能用于词向量的训练语料。
a
数 据 的 处 理
这里选择维基百科作为词向量的训练语料,其它语料的处理方式大致相同。如果还不知道如何去处理维基百科数据,可以参考下面这篇文章。为了演示方便,这里选择一个比较小的语料,当然对于词向量来说,语料越大训练出来的词向量质量越好。
得到中文语料之后,最重要的就是要进行分词操作,这里选择jieba分词工具对语料进行精确模式的分词。
分完词后的结果:
▲分词之前的维基百科
▲分词之后的维基百科
b
训 练 模 型
有了分词好的文本语料,接下来就可以通过Gensim模块中的word2vec函数来训练语料。
下面是一些训练词向量的调参技巧:
使用下面命令来训练模型:
对于本例来说:
▲训练后生成的目录结构
▲word2vec.vector文件中的内容
c
测 试 模 型
有了词向量我们就可以使用词向量来做一些自然语言处理的任务了。那在这之前,我们需要测试模型训练出来的词向量是否可用。
首发: 触摸壹缕阳光~https://zhuanlan.zhihu.com/p/40016964