训练自己的GloVe词向量

参考链接:

https://github.com/stanfordnlp/GloVe/tree/master/src

https://radimrehurek.com/gensim/scripts/glove2word2vec.html?highlight=glove

训练GloVe词向量

  1. 在 github 上下载源码,https://github.com/stanfordnlp/GloVe

  2. 准备训练的词库,文件的格式为 txt。其中所有单词由一个或多个空格或制表符分隔开,每一行由一篇文档中的词组成。

  3. 将准备的词库文件添加到源代码文件中,如下图所示。
    训练自己的GloVe词向量_第1张图片

  4. 修改 demo.sh 中内容

    训练自己的GloVe词向量_第2张图片

    其他参数根据需要修改。

  5. 切换到 Glove 源代码的目录下 cd GloVe,输入 make 命令;

  6. 运行 bash demo.sh 命令训练词向量;
    训练自己的GloVe词向量_第3张图片

使用GloVe词向量

使用 gensim 库将 GloVe 词向量转化为 WordsVec 的形式。

from gensim.test.utils import datapath, get_tmpfile
from gensim.models import KeyedVectors
from gensim.scripts.glove2word2vec import glove2word2vec

glove_file = datapath('vectors.txt')
tmp_file = get_tmpfile("word2vec.txt")
_ = glove2word2vec(glove_file, tmp_file)
model = KeyedVectors.load_word2vec_format(tmp_file)
# 将词向量保存,方便下次直接导入
model.save("glove_embedding")

# 加载词向量模型
word_embeddings = KeyedVectors.load("glove_embedding")
vector = word_embeddings["水管"]

你可能感兴趣的:(深度学习,nlp,python)