美文网首页
tensorflow中从embedding文件抽取小词向量的方法

tensorflow中从embedding文件抽取小词向量的方法

作者: 62ba53cbc93c | 来源:发表于2018-07-16 09:52 被阅读0次

记录工具代码,功能是这样的
根据小的文档集 从大的 embedding文件中构建小词向量集

def init_embedding_weights_with_word2vec(vocab_processor, w2v_file):
    from gensim.models.keyedvectors import KeyedVectors
    w2v = KeyedVectors.load_word2vec_format(w2v_file, binary=True)
    embedding_dim = w2v.vector_size
    vb_size = len(vocab_processor.vocabulary_)
    init_w = np.random.uniform(-0.25, 0.25, (vb_size, embedding_dim))
    for idx in range(vb_size):
        word = vocab_processor.vocabulary_.reverse(idx)
        if word in w2v:
            weight = w2v[word]
            init_w[idx] = weight
    return init_w, embedding_dim


# def token(docs):
#     for doc in docs:
#         yield list(doc.split())


doc = ["this is not a good way",
       "we are some good man",
       "last night you are so handsome"]

vp = learn.preprocessing.VocabularyProcessor(10, 0)
vp.fit_transform(doc)

w, dim = init_embedding_weights_with_word2vec(vp, "small_embedding.txt")
print(w)
print(dim)

思路大概是 首先用VocabularyProcessor 构建词表 然后用
init_embedding_weights_with_word2vec 函数 在词向量文件中抽向量, OOV的词 随机初始化。

返回 init_w 文档词表的词向量(小词向量) embedding_dim 词向量维度

相关文章

  • tensorflow中从embedding文件抽取小词向量的方法

    记录工具代码,功能是这样的根据小的文档集 从大的 embedding文件中构建小词向量集 思路大概是 首先用Vo...

  • tensorflow学习-embedding_lookup()用

    embedding_lookup( )的用法关于tensorflow中embedding_lookup( )的用法...

  • 一文详解图表示学习

    Graph Embedding与Word Embedding一样,目的是用低维、稠密、实值的向量表示网络中的节点。...

  • attention机制

    当前的embedding向量cur_f1 和 历史的embedding向量his_f1 计算相似性; 对相似性权重...

  • 深度学习框架Keras中的embedding简单理解

    深度学习keras框架中的Embedding是一种用在在深度学习模型中把原始文本中的单词与向量相关联常用方法,在介...

  • encoding与embedding

    encoding和embedding都是自然语言处理中将词语向量化的方法。 encoding 不考虑词之间的联系,...

  • 2019-04-24

    Embedding和One_hot将词变成向量的例子: 词嵌入(Word Embedding) Word embe...

  • embedding的升级版:encoding

    为了将离散数据连续化,上篇文章提到embedding方法,就是说将每个离散值表示为一个向量v,这样向量之间就有距离...

  • 词向量 - 实际动手使用word2vec

    在自然语言处理的任务中,无论哪种算法都需要将文本形态的词转换成为向量形式的词向量(word embedding)。...

  • 2018-06-06

    keras: 1.Embedding层解析 Embedding 层 嵌入层将正整数(下标)转换成具有固定大小的向量...

网友评论

      本文标题:tensorflow中从embedding文件抽取小词向量的方法

      本文链接:https://www.haomeiwen.com/subject/fnuvpftx.html