zoukankan      html  css  js  c++  java
  • 使用BERT词向量

    1. 启动远程服务
    pip install --ignore-installed --upgrade tensorflow==1.10
    pip install bert-serving-server
    pip install bert-serving-client
    

    下载模型

    mkdir model
    cd model
    wget https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip
    #启动服务
    bert-serving-start -model_dir chinese_L-12_H-768_A-12/ -num_worker=8 -max_seq_len=40
    
    1. 使用BertClient
    pip install bert-serving-server
    
    from functools import reduce
    import numpy as np
    from bert_serving.client import BertClient
    
    
    def normaliz_vec(vec_list):
        for i in range(len(vec_list)):
            vec = vec_list[i]
            square_sum = reduce(lambda x, y: x + y, map(lambda x: x * x, vec))
            sqrt_square_sum = np.sqrt(square_sum)
            coef = 1 / sqrt_square_sum
            vec = list(map(lambda x: x * coef, vec))
            vec_list[i] = vec
        return vec_list
    
    
    bc = BertClient(ip='XXX')
    
    data = '你 好 啊'.split(' ')
    vectors = bc.encode(data)
    question_vectors = normaliz_vec(vectors.tolist())
    print(question_vectors)
    
    
  • 相关阅读:
    11.22
    python之字典(dict)
    Version Control
    java_实现一个类只能声明一个对象
    javase-位运算符
    javase-整数变量的交换
    URI和URL的关系与区别
    http解析
    函数式语言
    MyIASM和Innodb引擎详解
  • 原文地址:https://www.cnblogs.com/xuehuiping/p/13219844.html
Copyright © 2011-2022 走看看