词向量源码解析:(4.5)hyperwords源码解析之representations

representations包的主要任务是进一步处理和包装之前模型生成的词向量。这个包中包括了四个文件,下面依次介绍这四个文件。首先介绍matrix_serializer文件。这个文件的主要功能是负责内存磁盘之间的数据交换。比如我想把内存的字典写入磁盘,或是把字典读入内存,就调用这个文件里面的函数。

def save_matrix(f, m)://把共现矩阵写到磁盘中
    np.savez_compressed(f, data=m.data, indices=m.indices, indptr=m.indptr, shape=m.shape)

def load_matrix(f)://把共现矩阵从磁盘中读取出来
    if not f.endswith('.npz'):
        f += '.npz'
    loader = np.load(f)
    return csr_matrix((loader['data'], loader['indices'], loader['indptr']), shape=loader['shape'])

def save_vocabulary(path, vocab)://把词典写到磁盘中
    with open(path, 'w') as f:
        for w in vocab:
            print >>f, w

def load_vocabulary(path)://把词典从磁盘中读到内存
    with open(path) as f:
        vocab = [line.strip() for line in f if len(line) > 0]
    return dict([(a, i) for i, a in enumerate(vocab)]), vocab

def save_count_vocabulary(path, vocab)://词典分成仅有单词的词典和包括单词以及其词频的词典。
    with open(path, 'w') as f:
        for w, c in vocab:
            print >>f, w, c

def load_count_vocabulary(path):
    with open(path) as f:
        # noinspection PyTypeChecker
        vocab = dict([line.strip().split() for line in f if len(line) > 0])
    return vocab

下面看一下representation_factory文件的内容,这个文件和embedding文件以及explicit文件一起,对生成的词向量进行处理和包装。在我们需要用到词向量的时候,我们会调用这个文件的内容,而不是直接去从文件中把词向量读取出来。

def create_representation(args)://这个函数接受args作为输入,a

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值